winapi – 是否可以确定Windows为字体链接选择的字体?

假设您有两个或多个脚本中包含文本的字符串.当您使用像textout这样的GDI函数时,(现代版本) Windows将执行“字体链接”.也就是说,GDI将使用您选择的字体绘制它所能用的内容,并以自动选择的适当字体绘制其余字体.例如,如果您的部分文字是英文(使用罗马字母),部分文字中文(使用CJK字符),并且您选择了Arial,则英文部分将以Arial绘制,中文部分将使用用另一种具有CJK字形的字体绘制.

我的问题是,有没有办法确定textout将为字体链接选择(或选择)哪些字体?

我必须使用低级Uniscribe API绘制一些文本,该API不执行自动字体链接.我已经实现了自己的字体链接,但有时我的算法会选择与textout不同的字体用于相同的文本.我试图更好地理解Windows算法,但我并不擅长在视觉上识别字体(特别是在不熟悉的脚本中).

该字体由注册表项选择.在 this article.引用相关部分时有详细描述:

If font linking is enabled on your device,you can examine the registry by enumerating the subkeys of the registry key at HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLink to determine the mappings of linked fonts to base fonts. You can add links by using Regedit to create additional subkeys.

相关文章

Windows2012R2备用域控搭建 前置操作 域控主域控的主dns:自...
主域控角色迁移和夺取(转载) 转载自:http://yupeizhi.blo...
Windows2012R2 NTP时间同步 Windows2012R2里没有了internet时...
Windows注册表操作基础代码 Windows下对注册表进行操作使用的...
黑客常用WinAPI函数整理之前的博客写了很多关于Windows编程的...
一个简单的Windows Socket可复用框架说起网络编程,无非是建...