FreeType-2.1.10 API Reference

PFR Fonts

Synopsis

FT_Get_PFR_MetricsFT_Get_PFR_KerningFT_Get_PFR_Advance


This section contains the declaration of PFR-specific functions.


FT_Get_PFR_Metrics


  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'. 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 sub-pixels. 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


  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 sub-pixels.


FT_Get_PFR_Advance


  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 sub-pixels (i.e. 1/64th of pixels).