为什么TextOutW()的自定义字体大于131px失败?

时间:2019-01-04 19:48:39

标签: c# .net winapi graphics gdi

我有一个旧版.Net应用程序,该应用程序使用gdi32 API来为客户端呈现自定义图像。客户端有时会提供自定义字体作为安装在计算机上的otf文件。当大小小于132时,“设计器”字体似乎可以很好地呈现。我使用库存Windows字体已经超过了这个大小,没有问题。到目前为止,我所能发现的是,当尝试使用大于131种的自定义字体时,TextOutW()返回的是false(根据MS Docs的说法,该函数已失败)。这并不能告诉我很多。任何人都可以提供关于为什么会发生这种情况的见解,或者为我指出更好地调试此问题的方向吗?

1 个答案:

答案 0 :(得分:0)

我已经确认.otf字体的大小上限比.ttf字体小得多。切换到ttf字体可以解决问题。我无法找到GDI不允许使用.otf字体较大字体的实际原因,但是对于有相同问题的任何人,这都是可行的解决方法。