|
6
|
| Ritsaert Hornstra · 技术社区 · 16 年前 |
|
|
1
3
用
AddMemoryFont
在GDI+中,您可以检查
Status
对于内存字体中的任何错误,例如
gdi的一个选择可能是尝试将嵌入的字体加载到文档/表单中 TTLoadEmbeddedFont 然后检查从 error messages . 唯一能提供更多信息的功能是 CreateFontPackage / MergeFontPackage 和他们的 error codes 但我不知道如何在你的情况下使用它们。 除此之外,你有没有机会回顾一下PDF创建者的 source code (假设您使用的是开源版本,而不是商业版本)? |
|
|
2
3
差不多晚了一年,但我找到了答案: “cmap”表和“name”表的字体类型(符号与否)应相同。因此,如果cmap有一个3,0,4 cmap(ms,symbol,segment delta coding),并且名称表包含3,1,$0409(ms,unicode,enus)条目,则不会加载字体。 “symbol cmap”的存在似乎决定了Windows是否将该字体视为符号字体;“os/2”中的标志似乎无关紧要。 因此,如果使用“Microsoft字体验证程序”时字体似乎正确,请检查“cmap”和“name”表中的symbol/unicode字段是否对齐。 |