假设您有一个包含两个或多个脚本中的文本的字符串。当您使用 GDI 函数TextOut
时,(现代版本的)Windows 将执行“字体链接”。也就是说,GDI 将使用您选择的字体绘制它可以绘制的内容,并以它自动选择的适当字体绘制其余部分。例如,如果您的文本一部分是英文(使用罗马字母),一部分是中文(使用 CJK 字符),并且您选择了 Arial,则英文部分将使用 Arial 绘制,而中文部分将用另一种具有 CJK 字形的字体绘制。
我的问题是,有没有办法确定TextOut
为字体链接选择(或确实选择了)哪些字体?
我必须使用不执行自动字体链接的低级 Uniscribe API 绘制一些文本。TextOut
我已经实现了自己的字体链接,但有时我的算法会选择与相同文本不同的字体。我试图更好地理解 Windows 算法,但我并不擅长识别字体(尤其是在不熟悉的脚本中)。