cheshirekow  v0.1.0
freetype::faceflag Namespace Reference

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. More...

Variables

const ULong_t CID_KEYED = ( 1L << 12 )
 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. More...
 
const ULong_t EXTERNAL_STREAM = ( 1L << 10 )
 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. More...
 
const ULong_t FAST_GLYPHS = ( 1L << 7 )
 THIS FLAG IS DEPRECATED. DO NOT USE OR TEST IT. More...
 
const ULong_t FIXED_SIZES = ( 1L << 1 )
 Indicates that the face contains bitmap strikes. See also the ‘num_fixed_sizes’ and ‘available_sizes’ fields of FT_FaceRec. More...
 
const ULong_t FIXED_WIDTH = ( 1L << 2 )
 Indicates that the face contains fixed-width characters (like Courier, Lucido, MonoType, etc.). More...
 
const ULong_t GLYPH_NAMES = ( 1L << 9 )
 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. More...
 
const ULong_t HINTER = ( 1L << 11 )
 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. More...
 
const ULong_t HORIZONTAL = ( 1L << 4 )
 Indicates that the face contains horizontal glyph metrics. This should be set for all common formats. More...
 
const ULong_t KERNING = ( 1L << 6 )
 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). More...
 
const ULong_t MULTIPLE_MASTERS = ( 1L << 8 )
 Indicates that the font contains multiple masters and is capable of interpolating between them. See the multiple-masters specific API for details. More...
 
const ULong_t SCALABLE = ( 1L << 0 )
 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. More...
 
const ULong_t SFNT = ( 1L << 3 )
 Indicates that the face uses the ‘sfnt’ storage scheme. For now, this means TrueType and OpenType. More...
 
const ULong_t TRICKY = ( 1L << 13 )
 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. More...
 
const ULong_t VERTICAL = ( 1L << 5 )
 Indicates that the face contains vertical glyph metrics. This is only available in some formats, not all of them. More...
 

Detailed Description

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.

Variable Documentation

const ULong_t freetype::faceflag::CID_KEYED = ( 1L << 12 )

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.

Definition at line 363 of file types.h.

const ULong_t freetype::faceflag::EXTERNAL_STREAM = ( 1L << 10 )

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.

Definition at line 345 of file types.h.

const ULong_t freetype::faceflag::FAST_GLYPHS = ( 1L << 7 )

THIS FLAG IS DEPRECATED. DO NOT USE OR TEST IT.

Definition at line 329 of file types.h.

const ULong_t freetype::faceflag::FIXED_SIZES = ( 1L << 1 )

Indicates that the face contains bitmap strikes. See also the ‘num_fixed_sizes’ and ‘available_sizes’ fields of FT_FaceRec.

Definition at line 303 of file types.h.

const ULong_t freetype::faceflag::FIXED_WIDTH = ( 1L << 2 )

Indicates that the face contains fixed-width characters (like Courier, Lucido, MonoType, etc.).

Definition at line 307 of file types.h.

const ULong_t freetype::faceflag::GLYPH_NAMES = ( 1L << 9 )

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.

Definition at line 340 of file types.h.

const ULong_t freetype::faceflag::HINTER = ( 1L << 11 )

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.

Definition at line 351 of file types.h.

const ULong_t freetype::faceflag::HORIZONTAL = ( 1L << 4 )

Indicates that the face contains horizontal glyph metrics. This should be set for all common formats.

Definition at line 315 of file types.h.

const ULong_t freetype::faceflag::KERNING = ( 1L << 6 )

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).

Definition at line 326 of file types.h.

const ULong_t freetype::faceflag::MULTIPLE_MASTERS = ( 1L << 8 )

Indicates that the font contains multiple masters and is capable of interpolating between them. See the multiple-masters specific API for details.

Definition at line 334 of file types.h.

const ULong_t freetype::faceflag::SCALABLE = ( 1L << 0 )

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.

Definition at line 299 of file types.h.

const ULong_t freetype::faceflag::SFNT = ( 1L << 3 )

Indicates that the face uses the ‘sfnt’ storage scheme. For now, this means TrueType and OpenType.

Definition at line 311 of file types.h.

const ULong_t freetype::faceflag::TRICKY = ( 1L << 13 )

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 about a dozen TrueType fonts in the list of tricky fonts; they are hard-coded in file ‘ttobjs.c’.

Definition at line 378 of file types.h.

const ULong_t freetype::faceflag::VERTICAL = ( 1L << 5 )

Indicates that the face contains vertical glyph metrics. This is only available in some formats, not all of them.

Definition at line 319 of file types.h.