web-dev-qa-db-ja.com

Windowsで英語ロケールを使用して適切な日本語フォントレンダリングを取得する方法

一部のアプリケーションは、日本語フォントをレンダリングするときに奇妙な動作を示しています。漢字に使用されているフォントは中国のフォントであり、特にアンチエイリアスが適用されていない小さいサイズでは、非常に奇妙に見えます。

表示言語を日本語に設定してログアウトしてから再度ログインすると、問題は解決しました。

リクエストされたフォント(アプリUIで選択)はSegoe UIです。レンダリングに使用される実際のフォントは、ひらがなの「MS明朝」と漢字の「SimSun」です。

Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLinkでレジストリを調べました

そしてSegoe UIには正しいエントリがあります:

TAHOMA.TTF,Tahoma
MEIRYO.TTC,Meiryo UI,128,96
MEIRYO.TTC,Meiryo UI
MSGOTHIC.TTC,MS UI Gothic
MSJH.TTC,Microsoft JhengHei UI,128,96
MSJH.TTC,Microsoft JhengHei UI
MSYH.TTC,Microsoft YaHei UI,128,96
MSYH.TTC,Microsoft YaHei UI
MALGUN.TTF,Malgun Gothic,128,96
MALGUN.TTF,Malgun Gothic
MINGLIU.TTC,PMingLiU
SIMSUN.TTC,SimSun
GULIM.TTC,Gulim
YUGOTHM.TTC,Yu Gothic UI,128,96
YUGOTHM.TTC,Yu Gothic UI
SEGUISYM.TTF,Segoe UI Symbol

SimSunがリストされていますが、MS UI GothicとYaHeiにはそれらの文字があります。

私がチェックしたいくつかの参考文献:

悪いレンダリング:

result in note pad and emclient

4
Nicolas Goy

問題は、使用しているアプリケーションにある可能性があり、ロケールが英語であるために間違ったフォントを選択している可能性があります。または、Windowsが間違ったフォントをキャッシュしている可能性があります。

非常に古い解決策はまだ機能する可能性がありますが、火.txt(またはこれが日本語でない場合は、どちらも知らないので同様です)という名前のファイルを作成し、デスクトップに保存して再起動します。ここでのロジックは、Windowsの起動時に正しいフォントをキャッシュすることです。


もう1つの古い方法は、システムロケールを日本語に変更してから、再起動せずに英語に戻すことです。これは、おそらくフォントキャッシュを無効にすることで機能します。


より現代的な解決策は、アプリケーションをだまして、日本語のロケールで起動されたと思わせることです。これを単純化するユーティリティは無料です Locale Emulator

Locale Emulator

3
harrymc