1

IDWriteTextAnalysisSink/を使用AnalyzeScriptして、LTR (英語) と RTL (ヘブライ語) の混合テキストを DirectWrite (C++) で表示し、テキスト幅を次のように計算します。

textwidth = 0;
for (UINT glyph=0; glyph<actualGlyphCount; glyph++) 
  textwidth += glyphAdvances[glyph];

からglyphAdvances返されGetGlyphPlacementsます。

ただし、右から左へのテキストの場合、これは不正確であることが多く、テキストが重なるなどの原因になります。これは正しい方法ですか?

ありがとう。

4

1 に答える 1