アットウィキロゴ

システムフォントの変更

諸所で語られているので適当に
参考サイトを一つあげると まいう~の鮹語録

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontSubstitutes]
"MS UI Gothic,128"="置換したいフォント名,128"


なんか色々書いてたけど、以前検証した環境が腐っていたようだ
やっぱり、IE上でのプロパティダイアログが変わらない
中途半端は嫌

発見


IE6のダイアログ等が入ってるファイルは
C:\WINDOWS\system32\shdoclc.dll
IE7、IE8のダイアログ等が入ってるファイルは
C:\WINDOWS\system32\ja-jp\ieframe.dll.mui
DOCPPG.PPG(何も無いところでのプロパティダイアログ)を
ResHackerで弄ってみて確認

問題点


記述は大体同じだけど
IE6->IE7、IE8でcharsetが
shift_jis->utf-8 となってる*1

そこで

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontSubstitutes]
"MS Pゴシック,128"="置換したいフォント名,128"
"MS Pゴシック,utf-8"="置換したいフォント名,utf-8"
"MS UI Gothic,128"="置換したいフォント名,128"
"MS UI Gothic,utf-8"="置換したいフォント名,utf-8"
128がshift_jisの番号らしいからutf-8って何番よ?と思って探しまくったけど、
無い!何処にも無い!じゃあそのまま記述したろか!
ってやったら出来ちゃった。
ちなみにMS Pゴシック,utf-8も置き換えないと
何故かダイアログ内の2バイト文字が変わらない(上のファイル内ではMS UI Gothicって記述しかないのに!)
MS Pゴシック,128はおまけ、なんとなく

更に実験

utf-8がそのままでいけるなら
128もshift_jisでいいんじゃね?って事でやってみたら
ダメポだった
shiftjisでもダメポだった

追記の問題

XP3 IE8の環境でsans-serifだと化ける
調べると既知の問題らしい
互換モードとやらで表示すると問題無い
気になったら、「互換表示ですべての~」にチェックするかユーザースタイルシート使えばいいし
ぶっちゃけIE8使わないからシラネ(゚⊿゚)
と思ったら愛用のThunderBirdちゃんでもhtmlメール+MS Pゴシック(or MSUIGothic)
つまり置き換えたフォントだと化ける
こっちは対処法が思いつかない
でもぶっちゃけhtmlメールなんて使わないからシラネ(゚⊿゚)
MicroSoftは腹を切るか、さっさと直すべきだと思う
っていうかなんだよsans-serifって

名前:
コメント:
最終更新:2011年12月05日 00:30

*1 別の問題点:ResHackerがshift_jisでコンパイルしちゃうのか、たとえばタブ名の"全般"を"一般"とかに変えると、IE6は問題無く変わるけどIE7,8は2バイト文字が全部文字化けしちゃう。