diff options
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.py | 134 |
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) + |