我正在使用 harfbuzz 在我的程序中转换变音字符。我在字体“Bahnschrift.ttf”中有两个字符“C”unicode 0043 和一个变音符号̆ unicode 0306。我尝试获取 X 和 Y 偏移量。X 看起来不错,但 y_offset 没有意义。我将解释原因:两个角色都有的锚点称为“t.uni0308_02”。在“C”处,它的位置为 x:658;是的:1454。在变音符号处是 x:-367;是:1038。这是证明: FontLab 中的两个字符 hb_shape 的结果是: .\hb-shape.exe .\bahnschrift.ttf --output-format=json --unicodes="0043 0306"
[{"g":"C","cl":0,"dx":0,"dy":0,"ax":1267,"ay":0},{"g":"uni0306.case ","cl":0,"dx":-182,"dy":0,"ax":0,"ay":0}]
就像垂直方向没有偏移一样。但是当我用 hb_view 将这个组合绘制成字符时,它看起来是正确的。这里有什么意义?我错过了什么吗?