PHP imagettftext高度重音错误

时间:2018-02-02 10:57:58

标签: php gd diacritics

我正在使用PHP和 imagettftext 创建一个字体转换器(ttf到C数组)。它运作良好,但当我转换带重音的字母(例如Á)时,重音不在该区域内。在示例中,我将一些字母转换为Arial字体,高度为20像素。 (字母,y顶部坐标,y底部坐标)。

  • A:0 15
  • Á:-4 15
  • y:4 20
  • Y:0 15
  • h:0 15
  • _:17 20

由此代码生成:

   $co = imagettftext($im, $h_pt, 0, 0, $h_pt, $white, $font, $letter);
   echo($letter . ": " .$co[7] . "  " . $co[1]. "<br>");

'Á'的顶部坐标为-4,因此它不适合0 .. 20范围。这怎么可能?我以为字体应该适合它的高度。

所以我的问题是如何“强制” imagettftext 将重音放入给定的高度?

1 个答案:

答案 0 :(得分:0)

与此同时,我发现this article关于字体指标如何工作。

事实证明,20px的高度并不意味着字体将适合20px的高度。有几个指标(有时会令人困惑)来确定上升和下降部分的高度。这篇维基百科文章提供了quick overview