This section contains the declaration of PFR-specific functions.
FT_Get_PFR_Metrics
Defined in FT_PFR_H (freetype/ftpfr.h).
FT_EXPORT( FT_Error )
FT_Get_PFR_Metrics( FT_Face face,
FT_UInt *aoutline_resolution,
FT_UInt *ametrics_resolution,
FT_Fixed *ametrics_x_scale,
FT_Fixed *ametrics_y_scale );
Return the outline and metrics resolutions of a given PFR face.
input
| face |
Handle to the input face. It can be a non-PFR face.
|
output
| aoutline_resolution |
Outline resolution. This is equivalent to ‘face->units_per_EM’ for non-PFR fonts. Optional (parameter can be NULL).
|
| ametrics_resolution |
Metrics resolution. This is equivalent to ‘outline_resolution’ for non-PFR fonts. Optional (parameter can be NULL).
|
| ametrics_x_scale |
A 16.16 fixed-point number used to scale distance expressed in metrics units to device subpixels. This is equivalent to ‘face->size->x_scale’, but for metrics only. Optional (parameter can be NULL).
|
| ametrics_y_scale |
Same as ‘ametrics_x_scale’ but for the vertical direction. optional (parameter can be NULL).
|
return
FreeType error code. 0 means success.
note
If the input face is not a PFR, this function will return an error. However, in all cases, it will return valid values.
FT_Get_PFR_Kerning
Defined in FT_PFR_H (freetype/ftpfr.h).
FT_EXPORT( FT_Error )
FT_Get_PFR_Kerning( FT_Face face,
FT_UInt left,
FT_UInt right,
FT_Vector *avector );
Return the kerning pair corresponding to two glyphs in a PFR face. The distance is expressed in metrics units, unlike the result of FT_Get_Kerning.
input
| face |
A handle to the input face.
|
| left |
Index of the left glyph.
|
| right |
Index of the right glyph.
|
output
| avector |
A kerning vector.
|
return
FreeType error code. 0 means success.
note
This function always return distances in original PFR metrics units. This is unlike FT_Get_Kerning with the FT_KERNING_UNSCALED mode, which always returns distances converted to outline units.
You can use the value of the ‘x_scale’ and ‘y_scale’ parameters returned by FT_Get_PFR_Metrics to scale these to device subpixels.
FT_Get_PFR_Advance
Defined in FT_PFR_H (freetype/ftpfr.h).
FT_EXPORT( FT_Error )
FT_Get_PFR_Advance( FT_Face face,
FT_UInt gindex,
FT_Pos *aadvance );
Return a given glyph advance, expressed in original metrics units, from a PFR font.
input
| face |
A handle to the input face.
|
| gindex |
The glyph index.
|
output
| aadvance |
The glyph advance in metrics units.
|
return
FreeType error code. 0 means success.
note
You can use the ‘x_scale’ or ‘y_scale’ results of FT_Get_PFR_Metrics to convert the advance to device subpixels (i.e., 1/64th of pixels).