トップ回答者
Windows7と10でのフォントの見た目の差異について

質問
-
お世話になります。
Visual Stuioのリソースエディタで、
ダイアログのフォントにMS P ゴシックを指定していて、
そのダイアログに張り付けたボタンの文字の見た目が、Windows7とWindow10で
異なっております。
文字の見た目が異なる理由について、もしご存知の方がいましたら、ご教示いただけないでしょうか。
差異が発生する文字は例えば、「則」の中国語表記で、0x5219です。
※全ての文字で差異が発生する訳ではないようです。
【環境】
Windows7, Windows10
Visual Studio 2010
MFC
CDialogベース
回答
-
指定されたフォントにグリフが存在しない文字は、フォントフォールバックという仕組みによってほかのフォントで代替しようとします。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLink
多分Windows 7でもWindows 10でも、既定だとSimSunにフォールバックすることになるかと思います(手元のWindows 10 1919だとそうなっていました)。
フォントはバージョンを持っていて、OS標準のフォントでもOSのバージョンによってフォントが更新されることがあります(例えばメイリオはWindows 7, 8, 8.1, 10以降も1607, 1709, 1809, 2004でそれぞれバージョンアップしてるらしいです。それとは別に令和の合字対応でもバージョンが上がってるとか)。
ということで、まずWindows 7とWindows 10で、
- フォールバック先のフォントが変わっていないかレジストリエディタで確認する
- 同じフォールバック先であれば、そのフォールバック先フォントのU+5219のグリフに変更がないか表示させて見比べてみる
ということをやってみてはいかがでしょうか。
- 回答としてマーク yy.kk 2021年1月29日 6:40
すべての返信
-
指定されたフォントにグリフが存在しない文字は、フォントフォールバックという仕組みによってほかのフォントで代替しようとします。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLink
多分Windows 7でもWindows 10でも、既定だとSimSunにフォールバックすることになるかと思います(手元のWindows 10 1919だとそうなっていました)。
フォントはバージョンを持っていて、OS標準のフォントでもOSのバージョンによってフォントが更新されることがあります(例えばメイリオはWindows 7, 8, 8.1, 10以降も1607, 1709, 1809, 2004でそれぞれバージョンアップしてるらしいです。それとは別に令和の合字対応でもバージョンが上がってるとか)。
ということで、まずWindows 7とWindows 10で、
- フォールバック先のフォントが変わっていないかレジストリエディタで確認する
- 同じフォールバック先であれば、そのフォールバック先フォントのU+5219のグリフに変更がないか表示させて見比べてみる
ということをやってみてはいかがでしょうか。
- 回答としてマーク yy.kk 2021年1月29日 6:40
-
Hongliang様、ご回答ありがとうございます。
とても助かりました。
MS P ゴシックを指定して、U+5219に対するグリフがない場合は、フォールバック先のフォントを
採用すると理解致しました。
レジストリエディタで、SystemLink配下のMS PGothicの値の名前を確認したところ
以下のように差異がございました。
フォールバック先が複数ある場合、U+5219だと、どのフォントが使用されるか判断する方法を
ご教示頂くことは可能でしょうか?
・Win7
MINGLIU.TTC,PMingLiU
SIMSUN.TTC,SimSun
GULIM.TTC,Gulim
・Win10
MINGLIU.TTC,PMingLiU
SIMSUN.TTC,SimSun
GULIM.TTC,Gulim
YUGOTHM.TTC,Yu Gothic UI
SJIH.TTC, Microsoft JhengHei UI
MSYH.TTC, Microsoft YaHei UI
MALGUN.TTF, Malgun Gothic
SEGUISYM.TTF,Segoe UI Symbol
-
連投すみません。
Font Viewer Plus.exeというソフトで、
Win7環境のC:\Windows\Fonts\msgothic.ttcを
Win10環境のデスクトップにコピーし、
元々のWin10環境のC:\Windows\Fonts\msgothic.ttcと比べたところ、
MS P ゴシックで、U+5219の見栄えは同じになっておりました。
フォントの版数がWin7と10で異なっていた為、同じ見栄えになる原因が不明だったのですが、
Font Viewer Plus.exeはどちらのフォントもWin10環境で、動作させた為、
フォールバックが発生し、結果同じ見栄えになったと判断しました。