3

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 の問題かどうか教えてください。

ありがとう。

4

1 に答える 1