トップページ > Celestiaの日本語化 > 日本語フォントの作成

日本語フォントの作成


Celestiaでは拡張子が.txfのフォントを使用しています。デフォルトではfontsディレクトリに入っています。
これらのフォントは英字にしか対応しておらず、例えばスクリプトによって日本語のメッセージを表示しようとしても、表示されません。

バージョン1.5.0以降で日本語に対応しています。
ここでは日本語対応の.txfファイルの作成方法を説明します。

フォントの作成


(2006.11.18 wgl4-jis1-jis2-hankana.txtから重複した文字コードを削除)
(2006. 4. 1 wgl4-jis1-jis2.txtをwgl4-jis1-jis2-hankana.txtに更新)
http://www.shatters.net/~claurel/stuff/txfutil.tar.gzをダウンロードし、コンパイルしてください。
Windows版のコンパイル済みアーカイブはこちら
(すみません、Mac OSX版はまだ用意できてません!)
Windows版のコンパイル済みアーカイブの内容:
ttf2txf.exe
showtxf.exe
freetype6.dll
glut32.dll
wgl4-jis1-jis2-hankana.txt
zlib1.dll

ttf2txf.exeの使用方法

ttfフォントファイルをCelestiaで使用できるtxfファイルに変換します。
コマンドラインで使用します。Unicodeフォントを使用してください。

コマンド:ttf2tex [オプション] <.ttfファイル>
オプション:
-w テクスチャ幅 (デフォルト 256)
-h テクスチャ高さ (デフォルト 256)
-f 変換する文字のコードのリスト
-c 変換する文字を直接指定
-g 字間を指定(デフォルト 1)
-s フォントサイズをポイントで指定 (デフォルト 20)
-o 出力ファイル名
-q これを指定すると何も出力されません。

使用例:
ttf2txf -w 2048 -h 2048 -f wgl4-jis1-jis2.txt -g 1 -s 20 -o mona20.txf mona.ttf

txfファイルには各文字がビットマップ状に配置されています。
-w項、-h項ではこれらの文字がすべて収まるような数値を指定してください。なお、この数字の大きさはファイルサイズにも反映されます。
収まらなかった時は"Too small texture"と表示されてしまいます。
基本的に2のべき乗の数で指定しますが、そうでなくても特に問題は無いようです。
必ず2のべき乗の数で指定します。そうでない場合、生成されたフォントを使用した時にCelestiaのフレームレートが極端に落ちます。
ただし、-w、-hともに2048以下にしてください。これより大きい数値にするとうまく働かないようです。
Unicodeフォントならだいたい大丈夫だとは思いますがフォントによっては改行幅が小さかったりする現象が起こります。
フォントエディタで元のフォントのアセント・ディセントを調節すると解決する場合があります。
-f項で指定されているのは文字コード番号を羅列したテキストファイルです。
同梱のwgl4-jis1-jis2-hankana.txtは一般的な欧文で使用される文字の他、ひらがな、カタカナ、JIS第1水準漢字、JIS第2水準漢字、半角カタカナの文字コードを含んでいます。

showtxf.exeの使用方法

コマンドラインで使用します。txfファイルの文字配置を表示します。
実行時に何度かビープ音が鳴る場合がありますが特に問題はありません。
もしも動かない場合があれば同梱のglut32.dllをC:\WINDOWS\system32\に入れてください。

使用方法:
コマンド:showtxf

使用例:showtxf mona20.txf

備考

ttf2txf.exe、showtxf.exe、freetype6.dll、zlib1.dllはこちらのファイルより。
http://www.cnblogs.com/Files/Rex/CelestiaCNPatch.rar
ソースファイルのオリジナルはこちら。
http://www.shatters.net/~claurel/stuff/txfutil.tar.gz
glut32.dllのオリジナルはこちら。
http://www.xmission.com/~nate/glut/glut-3.7.6-bin.zip

フォントを使用する


上記の方法で作成されたフォントはこちら
以下ではこれを用いて説明します。

  • 上のアーカイブを展開してできたmona20.txf、mona14.txf、mona12.txfをfontsディレクトリに移動。
  • celestia.cfgを以下の通りに書き換え。
    変更前
      Font       "sans12.txf"
      LabelFont  "sans12.txf"
      TitleFont  "sansbold20.txf"
    
    変更後
      Font       "mona14.txf"
      LabelFont  "mona12.txf"
      TitleFont  "mona20.txf"
    
    これでmona12.txf、mona14.txf、mona20.txfが使用できます。
  • ここで-->start.celの内容を書き換えてみます。変更点は以下の通り。
    変更前
      print  {text "Welcome to Celestia!"  row -3  column 1  duration 3}
    
    変更後
      print  {text "Celestiaへようこそ!"  row -3  column 1  duration 3}
    
    編集後、start.celはUTF-8形式で保存してください。
    この状態でCelestiaを起動すると起動後、通常の"Welcome to Celestia!"に代わって"Celestiaへようこそ!"が表示されます。

トップページ > Celestiaの日本語化 > 日本語フォントの作成