Windows 2000/XP 文字化け解決
Windows 2000 SRP2(v18)では 日本語フォントをメイリオに置き換えてるんですが、それが原因で、文字化けが発生するので戻したという報告もいくつかありました。
XPe:MUI:日本語フォントが正しく表示されない場合がある
こちらは、XP Embedded 用の日本語設定ですが、基本的にWin2000も これを入れると、 MS UI Gothic に戻すことができます
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontMapper] [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\GRE_Initialize] [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FontAssoc\Associated DefaultFonts] [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage\EUDCCodeRange] [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Hardware Profiles\Current\Software\Fonts] |
Windows2000で800×600以上の改造にしないとLogPixelsの設定を無視する
使用があることがわかりました。
以下とある掲示板に書いた内容です
どうも解析した結果、win32k.sysが縦解像度は600ライン未満の場合は
LogPixelsの設定を無視して強制的に96(60h)DPIに指定している事が判明しました。
813858020000 cmp dword ptr [eax],00000258h
7309 jnc LA00C324D
66C786A60000006000 mov word ptr [esi+000000A6h],0060h
パッチの仕方はいろいろありますが、オーソドックスに7309をEB09に変えてみましょう。
そうすると600ライン未満の解像度でもLogPixelsの設定が有効になりました。
ちなみにXPや2003にも600ライン未満の場合はLogPixelsの設定を無視して強制的に96(60h)DPIに
指定するよコードがありました。