FreeType/FT_Size_Metrics/x_ppem /y_ppem 是如何计算的

Posted 柳鲲鹏

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了FreeType/FT_Size_Metrics/x_ppem /y_ppem 是如何计算的相关的知识,希望对你有一定的参考价值。

x_scale和y_scale是26.6的浮点数。

  • 赋值

ftobjs.c/FT_Select_Metrics

大约3356行:

      metrics->x_ppem = (FT_UShort)scaled_w;
      metrics->y_ppem = (FT_UShort)scaled_h;
  • scaled_h的计算
FT_REQUEST_HEIGHT( req );
  • FT_REQUEST_HEIGHT
#define FT_REQUEST_HEIGHT( req )                                            \\
          ( (req)->vertResolution                                           \\
              ? ( (req)->height * (FT_Pos)(req)->vertResolution + 36 ) / 72 \\
              : (req)->height )

也就是说,实际上是个高度计算的结果。

这个高度,实际上就是字体尺寸。

以上是关于FreeType/FT_Size_Metrics/x_ppem /y_ppem 是如何计算的的主要内容,如果未能解决你的问题,请参考以下文章

FreeType/FT_Size_Metrics/x_ppem /y_ppem 是如何计算的

FreeType/FT_Size_Metrics/x_ppem /y_ppem 是如何计算的