ReactOS 0.3.3-RC1のインストールCD作成時に日本語フォントを入れてみる
0.3.3-RC1の時点では、日本語のフォントを入れても、自動的にこれを使うようにはできず、多少の作業が必要。また、Shift_JISに対応していない?ためか、完全に日本語化することもできない(化ける)。
今回、IPAモナーフォントを実験に使用。UI用フォントはIPAモナーUIゴシックにしている。作業はReactOSソースツリーのトップで行っている。
まずは、使用するフォントをコピーしておく。場所はIPAモナーフォントのあるところに合わせる。
$ cp /usr/share/fonts/ipamonafont/*.ttf media/fonts/
以下、修正するファイル。fonts.rbuildは、インストールCDの作成には関係ないため、インストールCDを作る場合は編集する必要はない。
--- media/fonts/fonts.rbuild.orig +++ media/fonts/fonts.rbuild @@ -50,4 +50,9 @@ <installfile base="media/fonts">VeraMono.ttf</installfile> <installfile base="media/fonts">VeraSe.ttf</installfile> <installfile base="media/fonts">VeraSeBd.ttf</installfile> +<installfile base="media/fonts">ipag-mona.ttf</installfile> +<installfile base="media/fonts">ipagp-mona.ttf</installfile> +<installfile base="media/fonts">ipagui-mona.ttf</installfile> +<installfile base="media/fonts">ipam-mona.ttf</installfile> +<installfile base="media/fonts">ipamp-mona.ttf</installfile> </group> --- boot/bootdata/packages/reactos.dff.orig +++ boot/bootdata/packages/reactos.dff @@ -337,6 +337,11 @@ media\fonts\VeraSeBd.ttf 3 media\fonts\VeraSe.ttf 3 media\fonts\Vera.ttf 3 +media\fonts\ipag-mona.ttf 3 +media\fonts\ipagp-mona.ttf 3 +media\fonts\ipagui-mona.ttf 3 +media\fonts\ipam-mona.ttf 3 +media\fonts\ipamp-mona.ttf 3 media\nls\c_037.nls 1 media\nls\c_500.nls 1 media\nls\c_737.nls 1 --- boot/bootdata/hivesft.inf.orig +++ boot/bootdata/hivesft.inf @@ -38,14 +38,25 @@ ; Font substitutes ; SysFontSubstitutes are also returned by EnumFontFamilies, FontSubstitutes aren't -HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\SysFontSubstitutes","Arial",0x00000000,"DejaVu Sans" -HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\SysFontSubstitutes","Courier New",0x00000000,"DejaVu Sans Mono" -HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\SysFontSubstitutes","Times New Roman",0x00000000,"DejaVu Serif" -HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\SysFontSubstitutes","Tahoma",0x00000000,"DejaVu Sans" -HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\SysFontSubstitutes","MS Sans Serif",0x00000000,"DejaVu Sans" -HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\SysFontSubstitutes","MS Shell Dlg",0x00000000,"DejaVu Sans" -HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\SysFontSubstitutes","MS Shell Dlg 2",0x00000000,"DejaVu Sans" -HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\SysFontSubstitutes","Helv",0x00000000,"DejaVu Sans" +HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\SysFontSubstitutes","Arial",0x00000000,"IPAMonaUIGothic" +HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\SysFontSubstitutes","Bitstream Charter",0x00000000,"IPAMonaUIGothic" +HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\SysFontSubstitutes","Bitstream Vera Sans",0x00000000,"IPAMonaUIGothic" +HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\SysFontSubstitutes","Bitstream Vera Sans Mono",0x00000000,"IPAMonaUIGothic" +HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\SysFontSubstitutes","Bitstream Vera Serif",0x00000000,"IPAMonaUIGothic" +HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\SysFontSubstitutes","Courier 10 Pitch",0x00000000,"IPAMonaUIGothic" +HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\SysFontSubstitutes","Courier New",0x00000000,"IPAMonaUIGothic" +HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\SysFontSubstitutes","DejaVu Sans",0x00000000,"IPAMonaUIGothic" +HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\SysFontSubstitutes","DejaVu Sans Mono",0x00000000,"IPAMonaUIGothic" +HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\SysFontSubstitutes","DejaVu Serif",0x00000000,"IPAMonaUIGothic" +HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\SysFontSubstitutes","Helmet",0x00000000,"IPAMonaUIGothic" +HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\SysFontSubstitutes","Helv",0x00000000,"IPAMonaUIGothic" +HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\SysFontSubstitutes","MS Sans Serif",0x00000000,"IPAMonaUIGothic" +HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\SysFontSubstitutes","MS Shell Dlg",0x00000000,"IPAMonaUIGothic" +HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\SysFontSubstitutes","MS Shell Dlg 2",0x00000000,"IPAMonaUIGothic" +HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\SysFontSubstitutes","MS UI Gothic",0x00000000,"IPAMonaUIGothic" +HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\SysFontSubstitutes","Tahoma",0x00000000,"IPAMonaUIGothic" +HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\SysFontSubstitutes","Times New Roman",0x00000000,"IPAMonaUIGothic" +HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\SysFontSubstitutes","Timmons",0x00000000,"IPAMonaUIGothic" ; Time zone settings HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones",,0x00000012
上のフォント置換では、コマンドプロンプトの文字幅が怪しくなってしまった。
ここまで修正を適用したら、ビルドを通す。上記修正は、全ての実行ファイルのコンパイルが終わった後でも、
$ make bootcd
を再実行させれば、CDイメージを作り直して、変更を反映できる。
これで、インストール時には、
左のようになっていたのが右のようになり、日本語が出ているのだが、
化けてしまうところもある。
そのほか、下のように、プログラム中に英語フォント名をハードコーディングしている例もあり、結構厳しいものがある。
[引用]ファイル名: subsystems/win32/csrss/win32csr/guiconsole.cより
static VOID FASTCALL GuiConsoleUseDefaults(PCSRSS_CONSOLE Console, PGUI_CONSOLE_DATA GuiData, PCSRSS_SCREEN_BUFFER Buffer) { /* * init guidata with default properties */ wcscpy(GuiData->FontName, L"DejaVu Sans Mono");
また、日本語の入力は全くできず、これからどうなっていくのか、という段階。
こんな無理矢理な方法で入れても、実用的とは程遠い...
参考URL:
http://reactos.2chv.net/wiki/?%C6%FC%CB%DC%B8%EC%C2%D0%B1%FE
使用したバージョン: