跳转至

字形规格FT Glyph Metrics

FT_Glyph_Metrics可以通过face->glyph->metrics获得。

//字形的度量信息,如字形宽度、高度、左右边界等等。
typedef struct  FT_Glyph_Metrics_
{
    FT_Pos  width;  
        //字符图像包围盒的宽度,独立于布局方向
    FT_Pos  height; 
        //字符图像包围盒的高度,独立于布局方向
        //注意不要将其与FT_Size_Metrics结构体的height成员搞混

    //用于水平布局
    FT_Pos  horiBearingX; //字形左边缘相对于基线的水平偏移量
    FT_Pos  horiBearingY; //字形左边缘相对于基线的水平偏移量
    FT_Pos  horiAdvance; //字形的水平进度,即下一个字形应该距离这个字形多远

    //用于垂直布局
    FT_Pos  vertBearingX; //字形的水平进度,即下一个字形应该距离这个字形多远
    FT_Pos  vertBearingY; //字形顶部边缘相对于基线的垂直偏移量
    FT_Pos  vertAdvance;  //字形顶部边缘相对于基线的垂直偏移量
} FT_Glyph_Metrics;

FT_Glyph_Metrics的单位

  1. 通常是26.6像素格式
  2. 如果使用FT_LOAD_NO_SCALE标记调用FT_Load_GlyphFT_Load_Char函数,则使用字体原始的度量单位(即字体单位,点单位)

参考文章

  1. 使用FreeType精确度量字体 - 知乎 (zhihu.com)