EU4パッチの技術情報です。
前回
フォントを作る
フォントの生成に使うBMFontがコマンドラインから実行できることを知ったので、それを使ってテキストファイルからフォントを連続生成するpythonスクリプトを作りました。一式が下記にあります。
同梱のbmfont64.exeは特別なものです。テクスチャファイルが1枚に収まる場合はテクスチャファイルの名前にナンバリングが入らないようになっています。さらに、UnicodeをCP1252にマッピングする処理が入っています。
含める文字が入ったテキストはsourceフォルダにあります。CP1252.txtがlatin1にはなくてCP1252にある図形文字です。SHIFTJIS_custom_win_bom_utf8.txtはこちらから一部の文字を削除したものです。そしてchars.txtはすべての翻訳シートのエラーになっていない文字が入ったテキストです。これはここにあり、都度更新されます。
例外的にマップフォント(YuMincho60bold)だけは同梱のbmfcのみから作成されます。これはサイズが60pxと大きく、テクスチャファイルにすべての文字が入らないためです。拡張子が_bmfcになっていることでスイッチされます。
実行はpython3以上が必要です。また、実行ディレクトリには必ず日本語が入らないことを確認してください。generate.pyを実行することで、outフォルダにフォントが生成されます。
次回はプログラムを改造する(C)です。