英語版PocketPC2002の日本語化 (備忘録として)  (Last update: Feb 18, 2003)

英語版PocketPC2002を日本語化したので手順をまとめておきます。作業を行ったのはiPAQ H3950です。他のPocketPC2002でも同様の手順で日本語化可能だと思いますが、保証はしません。

日本語フォントの導入

 CEFONTをWindowsフォルダにコピー
フォントリンクの設定: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft¥Fontlink\SystemLinkにTahoma,ArialCourier New, Times New Roman,Symbolを追加、\Windows\CEFONT.ttfを設定。
 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft¥Fontlink\SystemLink¥SkipTableの設定。
(このあたりは http://www12.big.or.jp/~t-hiruma/iPAQ/today/japanize.html を参考にさせていただきました)

HKEY_LOCAL_MACHINE\SYSTEM\GDI\V1\SYSFONTでNm=CEFONT,Ht=-12,Wt=400,CS=128

日本語入力IMEの導入
compoPOBoxのインストール:
KCTRLのコピー
compoPOBOXの変換時の表示ができなかった(白四角になる)のでHKEY_CURRENT_USER¥Software\Gawaro\KCTRLにTTFont0=cefontを設定

ここまでの作業で大半のソフトでの日本語の読み書きができるはずです。標準添付のNotes, Task, Contacts, Inbox (e-mail),  PocketWord, PocketExcelなどで日本語の読み書きができることを確認しました。

しかしInternet Explorerはこれだけでは日本語が読めません。 これは日本語のコードがデコードできないためのようです。デコードするためのコード表がwince.nlsに含まれているのですが、英語版のwin.cenlsには日本語のコード表が含まれてないためのようです。なので日本語版のwince.nlsが必要になります。

このwince.nlsを合法的に入手する方法が問題になります。

CE2.11用のwince.nlsはMSからDLできるSDK(勿論日本語版)などに含まれているのでこれを流用することが出来ます。(合法かどうかは別にして、技術的には) このwince.nlsでも日本語のデコードが可能でIEでの日本語表示が可能になります。

ただし、Regional Settings関係の設定が正常に読めないようで設定がかなり乱れます。このうちレジストリの設定でカバーできるのは以下のとおり。

HKEY_LOCAL_MACHINE\nls\overrides

ICaln=dword 01 (日本語の際のカレンダーの選択:1西暦(日本語) 2西暦(英語)3和暦
ICent=dword 00
IDate=dword 02
ITime=dword 01
ITLZr=dword 00
S2359="PM" (午後のプリフィックス) 
S1159="AM" (午前のプリフィックス)
SDate="/" (日付表示の区切り)

SLDte="yyyy/mm/dd" (ロングフォーマットの日付フォーマット)
SSDte="yy/mm/dd" (ショートフォーマットの日付フォーマット)
STFmt="H:mm:ss" (時間フォーマット)
STime=":" (時刻表示の区切り)

 

HKEY_LOCAL_MACHINE\nls
DefaultOCP 1B5 ->3a4
DefaultACP 352->3A4
DefaultLCID 406 -> 411
PocketPCの言語選択。Regional Settingsで地域を変更すると変わる。

 

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internetexplorer\International
Def_CodePage 4E4 -> 3A4 :IEのデフォルトコードページの設定(3A4は日本語(自動選択))

 

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\International

ACP 4e4-> 3a4
LCID 409->411

PocketPCの言語選択。Regional Settingsで地域を変更すると変わる。

(他にもありそうです)

 

これらの設定で大半の部分は何とかなりますが、どうしてもだめだったのがCalenderの月、曜日表示でした。これらもwince.nlsのRegional Settingsの中に書かれているのですが、正常に読めないために表示が化けます。

恐らくファイルの先頭部分に各設定の先頭アドレスのようなものがかかれているのだと想像しますが、これらを修正して読めるようにできれば解決できると思いますが、このリバースエンジニアリングには相当な労力が必要です。

手っ取り早いのは日本語版PocketPC2002からのコピー。これによってRegional Settingsを含め正常に使うことが出来ます。(著作権の問題はおいといて)