FreeType » Docs » Format-Specific API » Gasp Table
Gasp Table
Synopsis
The function FT_Get_Gasp
can be used to query a TrueType or OpenType font for specific entries in its ‘gasp’ table, if any. This is mainly useful when implementing native TrueType hinting with the bytecode interpreter to duplicate the Windows text rendering results.
FT_GASP_XXX
Defined in FT_GASP_H (freetype/ftgasp.h).
A list of values and/or bit-flags returned by the FT_Get_Gasp
function.
values
FT_GASP_NO_TABLE |
This special value means that there is no GASP table in this face. It is up to the client to decide what to do.
|
FT_GASP_DO_GRIDFIT |
Grid-fitting and hinting should be performed at the specified ppem. This really means TrueType bytecode interpretation. If this bit is not set, no hinting gets applied.
|
FT_GASP_DO_GRAY |
Anti-aliased rendering should be performed at the specified ppem. If not set, do monochrome rendering.
|
FT_GASP_SYMMETRIC_SMOOTHING |
If set, smoothing along multiple axes must be used with ClearType.
|
FT_GASP_SYMMETRIC_GRIDFIT |
Grid-fitting must be used with ClearType's symmetric smoothing.
|
note
The bit-flags FT_GASP_DO_GRIDFIT
and FT_GASP_DO_GRAY
are to be used for standard font rasterization only. Independently of that, FT_GASP_SYMMETRIC_SMOOTHING
and FT_GASP_SYMMETRIC_GRIDFIT
are to be used if ClearType is enabled (and FT_GASP_DO_GRIDFIT
and FT_GASP_DO_GRAY
are consequently ignored).
‘ClearType’ is Microsoft's implementation of LCD rendering, partly protected by patents.
since
2.3.0
FT_Get_Gasp
Defined in FT_GASP_H (freetype/ftgasp.h).
For a TrueType or OpenType font file, return the rasterizer behaviour flags from the font's ‘gasp’ table corresponding to a given character pixel size.
input
face |
The source face handle.
|
ppem |
The vertical character pixel size.
|
return
Bit flags (see FT_GASP_XXX
), or FT_GASP_NO_TABLE
if there is no ‘gasp’ table in the face.
note
If you want to use the MM functionality of OpenType variation fonts (i.e., using FT_Set_Var_Design_Coordinates
and friends), call this function after setting an instance since the return values can change.
since
2.3.0