我正在使用 IDWriteFont::GetInformationalStrings(...) 在 Windows 7(日语语言环境 ja-JP)上获取字体的全名,这是问题所在:
当我将 DWRITE_INFORMATIONAL_STRING_FULL_NAME 或 DWRITE_INFORMATIONAL_STRING_POSTSCRIPT_NAME 作为 DWRITE_INFORMATIONAL_STRING_ID 传递时,我得到 exists=false 并且没有返回 IDWriteLocalizedStrings(对于系统上的任何字体)。
但是,相应的条目存在于字体中的名称表中,并且 IDWriteFont::GetInformationalStrings(...) 调用对于 Win 7 上的相同字体(en-us 语言环境)工作正常。
//works when system locale is en-us; exists=true
//does not work when system locale is ja-JP; exists=false; pFontNames=NULL
hr = pFont->GetInformationalStrings(DWRITE_INFORMATIONAL_STRING_FULL_NAME, &pFontNames, &exists);
谁能告诉我这是否是 DirectWrite 的问题。
谢谢。