开罗,获得表面等宽拉丁字符的宽度

时间:2016-11-22 10:55:52

标签: c cairo

我有宽度&未来PNG的字符高度,需要绘制精确的图片。

 $scope.getData = function (val) {   
      alert(val)  
      $scope.value= val;
  }

对于“Сonsolas”我手动选择比例: font_width = font_height * 3/5;但是如何从API中获取它?

谢谢,我想要的是extents.x_advance。

1 个答案:

答案 0 :(得分:1)

你不能这样做,因为单个字形的宽度取决于它是哪个字符。您可以计算整个宽度,添加每个宽度或使用整个字符串来执行此操作。

对于等宽字体,任何字符的宽度都等于任何其他字符的宽度。因此,如果你计算一个,你可以将它乘以字符串中的字符数。

所以简短的回答是

  • 除了等宽字体外,字符没有单位宽度。

使用cairo_text_extents()可以帮助您快速计算字符串的宽度。如果它是等宽字体,只需使用任意字符并将其用作单位宽度。