summaryrefslogtreecommitdiff
path: root/third_party/freetype-py/freetype/ft_enums/ft_face_flags.py
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/freetype-py/freetype/ft_enums/ft_face_flags.py')
-rw-r--r--third_party/freetype-py/freetype/ft_enums/ft_face_flags.py134
1 files changed, 134 insertions, 0 deletions
diff --git a/third_party/freetype-py/freetype/ft_enums/ft_face_flags.py b/third_party/freetype-py/freetype/ft_enums/ft_face_flags.py
new file mode 100644
index 0000000..4030437
--- /dev/null
+++ b/third_party/freetype-py/freetype/ft_enums/ft_face_flags.py
@@ -0,0 +1,134 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+# -----------------------------------------------------------------------------
+#
+# FreeType high-level python API - Copyright 2011-2012 Nicolas P. Rougier
+# Distributed under the terms of the new BSD license.
+#
+# -----------------------------------------------------------------------------
+"""
+A list of bit flags used in the 'face_flags' field of the FT_FaceRec
+structure. They inform client applications of properties of the corresponding
+face.
+
+
+FT_FACE_FLAG_SCALABLE
+
+ Indicates that the face contains outline glyphs. This doesn't prevent bitmap
+ strikes, i.e., a face can have both this and and FT_FACE_FLAG_FIXED_SIZES
+ set.
+
+
+FT_FACE_FLAG_FIXED_SIZES
+
+ Indicates that the face contains bitmap strikes. See also the
+ 'num_fixed_sizes' and 'available_sizes' fields of FT_FaceRec.
+
+
+FT_FACE_FLAG_FIXED_WIDTH
+
+ Indicates that the face contains fixed-width characters (like Courier,
+ Lucido, MonoType, etc.).
+
+
+FT_FACE_FLAG_SFNT
+
+ Indicates that the face uses the 'sfnt' storage scheme. For now, this means
+ TrueType and OpenType.
+
+
+FT_FACE_FLAG_HORIZONTAL
+
+ Indicates that the face contains horizontal glyph metrics. This should be set
+ for all common formats.
+
+
+FT_FACE_FLAG_VERTICAL
+
+ Indicates that the face contains vertical glyph metrics. This is only
+ available in some formats, not all of them.
+
+
+FT_FACE_FLAG_KERNING
+
+ Indicates that the face contains kerning information. If set, the kerning
+ distance can be retrieved through the function FT_Get_Kerning. Otherwise the
+ function always return the vector (0,0). Note that FreeType doesn't handle
+ kerning data from the 'GPOS' table (as present in some OpenType fonts).
+
+
+FT_FACE_FLAG_MULTIPLE_MASTERS
+
+ Indicates that the font contains multiple masters and is capable of
+ interpolating between them. See the multiple-masters specific API for
+ details.
+
+
+FT_FACE_FLAG_GLYPH_NAMES
+
+ Indicates that the font contains glyph names that can be retrieved through
+ FT_Get_Glyph_Name. Note that some TrueType fonts contain broken glyph name
+ tables. Use the function FT_Has_PS_Glyph_Names when needed.
+
+
+FT_FACE_FLAG_EXTERNAL_STREAM
+
+ Used internally by FreeType to indicate that a face's stream was provided by
+ the client application and should not be destroyed when FT_Done_Face is
+ called. Don't read or test this flag.
+
+
+FT_FACE_FLAG_HINTER
+
+ Set if the font driver has a hinting machine of its own. For example, with
+ TrueType fonts, it makes sense to use data from the SFNT 'gasp' table only if
+ the native TrueType hinting engine (with the bytecode interpreter) is
+ available and active.
+
+
+FT_FACE_FLAG_CID_KEYED
+
+ Set if the font is CID-keyed. In that case, the font is not accessed by glyph
+ indices but by CID values. For subsetted CID-keyed fonts this has the
+ consequence that not all index values are a valid argument to
+ FT_Load_Glyph. Only the CID values for which corresponding glyphs in the
+ subsetted font exist make FT_Load_Glyph return successfully; in all other
+ cases you get an 'FT_Err_Invalid_Argument' error.
+
+ Note that CID-keyed fonts which are in an SFNT wrapper don't have this flag
+ set since the glyphs are accessed in the normal way (using contiguous
+ indices); the 'CID-ness' isn't visible to the application.
+
+
+FT_FACE_FLAG_TRICKY
+
+ Set if the font is 'tricky', this is, it always needs the font format's
+ native hinting engine to get a reasonable result. A typical example is the
+ Chinese font 'mingli.ttf' which uses TrueType bytecode instructions to move
+ and scale all of its subglyphs.
+
+ It is not possible to autohint such fonts using FT_LOAD_FORCE_AUTOHINT; it
+ will also ignore FT_LOAD_NO_HINTING. You have to set both FT_LOAD_NO_HINTING
+ and FT_LOAD_NO_AUTOHINT to really disable hinting; however, you probably
+ never want this except for demonstration purposes.
+
+ Currently, there are six TrueType fonts in the list of tricky fonts; they are
+ hard-coded in file 'ttobjs.c'.
+"""
+FT_FACE_FLAGS = { 'FT_FACE_FLAG_SCALABLE' : 1 << 0,
+ 'FT_FACE_FLAG_FIXED_SIZES' : 1 << 1,
+ 'FT_FACE_FLAG_FIXED_WIDTH' : 1 << 2,
+ 'FT_FACE_FLAG_SFNT' : 1 << 3,
+ 'FT_FACE_FLAG_HORIZONTAL' : 1 << 4,
+ 'FT_FACE_FLAG_VERTICAL' : 1 << 5,
+ 'FT_FACE_FLAG_KERNING' : 1 << 6,
+ 'FT_FACE_FLAG_FAST_GLYPHS' : 1 << 7,
+ 'FT_FACE_FLAG_MULTIPLE_MASTERS' : 1 << 8,
+ 'FT_FACE_FLAG_GLYPH_NAMES' : 1 << 9,
+ 'FT_FACE_FLAG_EXTERNAL_STREAM' : 1 << 10,
+ 'FT_FACE_FLAG_HINTER' : 1 << 11,
+ 'FT_FACE_FLAG_CID_KEYED' : 1 << 12,
+ 'FT_FACE_FLAG_TRICKY' : 1 << 13
+}
+globals().update(FT_FACE_FLAGS)
+