2 つ以上のスクリプトにテキストを含む文字列があるとします。のような GDI 関数を使用するとTextOut
、(最新バージョンの) Windows は「フォント リンク」を実行します。つまり、GDI は、選択したフォントで可能なものを描画し、残りは自動的に選択した適切なフォントで描画します。たとえば、テキストの一部が英語 (ローマ字を使用) で一部が中国語 (CJK 文字を使用) である場合、Arial を選択すると、英語部分は Arial で描画され、中国語部分はCJK グリフを持つ別のフォントで描画されます。
私の質問は、TextOut
フォントのリンクにどのフォントを選択するか (または選択したか) を判断する方法はありますか?
自動フォントリンクを行わない低レベルの Uniscribe API でテキストを描画する必要があります。TextOut
独自のフォント リンクを実装しましたが、アルゴリズムが同じテキストとは異なるフォントを選択することがあります。私は Windows アルゴリズムをよりよく理解しようとしていますが、視覚的にフォントを識別するのは得意ではありません (特になじみのないスクリプトでは)。