ReactOS 0.3.8

半年に一度くらいReactOSの公式サイトを覗くのだが、先ほどファイル一覧を見てみたところ、(公式アナウンスはまだのようだが)0.3.8が上がっていたので試してみた。0.3.7だとJapaneseでインストールしてもハングしていたのだが、0.3.8では文字が豆腐になるものの、起動した。
豆腐の状態だと何もできないのでEnglishでインストールし、ReactOSを日本語化するを見て三箇所フォントを変更してみたが、デスクトップの文字が豆腐になるのは変わらず。

物は試しということで、適当に変更してビルドしてみることにした。

  1. ReactOS-0.3.8-REL-src.zipをダウンロードして展開
  2. IPAモナーフォントのipagui-mona.ttfをmedia/fonts/にコピー
  3. パッチを当てる
  4. RosBE 1.4をダウンロードしてインストール
  5. RosBEのプロンプトで make bootcd

これでできたReactOS.isoでインストールしてみたところ、インストール中のダイアログは化けていたものの、起動後のボタンとメニュー、デスクトップのアイコンが日本語化された。
しかし(multibyte環境時)dirコマンドで大量に豆腐が出力されるなど、まだまだ壮大にバグっているようではある。

以下パッチ

diff -Naur org/ReactOS-0.3.8/base/setup/usetup/muifonts.h new/ReactOS-0.3.8/base/setup/usetup/muifonts.h
--- org/ReactOS-0.3.8/base/setup/usetup/muifonts.h	Wed Sep 24 10:17:16 2008
+++ new/ReactOS-0.3.8/base/setup/usetup/muifonts.h	Thu Feb 05 00:33:20 2009
@@ -73,4 +73,18 @@
     { NULL, NULL }
 };
 
+MUI_SUBFONT JapaneseFonts[] =
+{
+    { L"Arial",           L"IPAMonaUIGothic" },
+    { L"Courier",         L"IPAMonaUIGothic" },
+    { L"Courier New",     L"IPAMonaUIGothic" },
+    { L"Times New Roman", L"IPAMonaUIGothic" },
+    { L"Tahoma",          L"IPAMonaUIGothic" },
+    { L"MS Sans Serif",   L"IPAMonaUIGothic" },
+    { L"MS Shell Dlg",    L"IPAMonaUIGothic" },
+    { L"MS Shell Dlg 2",  L"IPAMonaUIGothic" },
+    { L"Helv",            L"IPAMonaUIGothic" },
+    { NULL, NULL }
+};
+
 #endif
diff -Naur org/ReactOS-0.3.8/base/setup/usetup/muilanguages.h new/ReactOS-0.3.8/base/setup/usetup/muilanguages.h
--- org/ReactOS-0.3.8/base/setup/usetup/muilanguages.h	Thu Dec 18 13:26:48 2008
+++ new/ReactOS-0.3.8/base/setup/usetup/muilanguages.h	Wed Feb 04 23:46:23 2009
@@ -212,7 +212,7 @@
   {L"00000421", L"1252", L"850", L"10079", L"Indonesian",                   enUSPages, enUSErrorEntries, enUSStrings, LatinFonts,    idIDLayouts },
   {L"00000410", L"1252", L"850", L"10000", L"Italian (Italy)",              itITPages, itITErrorEntries, itITStrings, LatinFonts,    itITLayouts },
   {L"00000810", L"1252", L"850", L"10000", L"Italian (Switzerland)",        itITPages, itITErrorEntries, itITStrings, LatinFonts,    itCHLayouts },
-  {L"00000411", L"932",  L"932", L"10001", L"Japanese",                     enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts,  jaJPLayouts },
+  {L"00000411", L"932",  L"932", L"10001", L"Japanese",                     enUSPages, enUSErrorEntries, enUSStrings, JapaneseFonts,  jaJPLayouts },
   {L"0000044B", L"1252", L"437", L"10079", L"Kannada (India)",              enUSPages, enUSErrorEntries, enUSStrings, LatinFonts,    knINLayouts },
   {L"0000043F", L"1251", L"866", L"10007", L"Kazakh",                       enUSPages, enUSErrorEntries, enUSStrings, CyrillicFonts, kkKZLayouts },
   {L"00000457", L"0",    L"437", L"2",     L"Konkani",                      enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts,  kokINLayouts},
diff -Naur org/ReactOS-0.3.8/boot/bootdata/packages/reactos.dff new/ReactOS-0.3.8/boot/bootdata/packages/reactos.dff
--- org/ReactOS-0.3.8/boot/bootdata/packages/reactos.dff	Tue Feb 03 14:33:24 2009
+++ new/ReactOS-0.3.8/boot/bootdata/packages/reactos.dff	Thu Feb 05 00:51:59 2009
@@ -478,6 +478,7 @@
 media\fonts\Marlett.ttf                             3
 media\fonts\tahoma.ttf                              3
 media\fonts\tahomabd.ttf                            3
+media\fonts\ipagui-mona.ttf                         3
 
 media\nls\c_037.nls                                 1
 media\nls\c_500.nls                                 1
diff -Naur org/ReactOS-0.3.8/media/fonts/fonts.rbuild new/ReactOS-0.3.8/media/fonts/fonts.rbuild
--- org/ReactOS-0.3.8/media/fonts/fonts.rbuild	Fri Sep 12 15:32:18 2008
+++ new/ReactOS-0.3.8/media/fonts/fonts.rbuild	Wed Feb 04 23:28:10 2009
@@ -32,4 +32,5 @@
 	<installfile installbase="fonts">Marlett.ttf</installfile>
 	<installfile installbase="fonts">tahoma.ttf</installfile>
 	<installfile installbase="fonts">tahomabd.ttf</installfile>
+	<installfile installbase="fonts">ipagui-mona.ttf</installfile>
 </group>