プログラムを改造する(A)
EU4パッチの技術情報です。
前回
フォントについて
今回は趣向を変えてフォントの話をします。フォントについては下記の記事で少し取り上げました。
テクスチャの確認方法について
文字テクスチャ(dds、tga)を確認するには下記のソフトとプラグインを使うのがお勧めです。
このソフト+プラグインが良いのは、背景色を自由に設定できる点です。これは透過テクスチャだと特に良い働きをします。
latin1?
下記の記事で特定の文字を0x8X~0x9Xに置き換えていると言いました。
どうしてそうしているかわからなかったのですが、既存のフォントを見てて、それがCP1252であることに気づきました。CP1292はlatin1と違い0x80~0x9Fには図形文字が入っています。
ここで問題なのはフォントを作成するソフト(BMFontはlatin1を継承したUnicodeを基準としているので、そのまま作成するとそれらの文字がこぼれ落ちてしまいます。
そこでBFFontをちょっと改造するなどして、フォントファイルにその範囲の文字がうまく入るようにする必要があります。
「~」
「~」という表現は厄介です。チルダ(~)の全角なので全角チルダ(uniFF5E)にも見えますし、AからBといった範囲を示す波ダッシュ(uni301C)にも見えます。特に後者は日本(JIS)に特有です。これが何故問題かというと、フォントを作るときに使った日本語文字リストがJIS(ShiftJIS)基準であったため、そこから作ったフォントにも波ダッシュしか含まれませんでした。一方でwindows+unicodeの環境で「~」を入力しようとするとほぼ100%、全角チルダとして入力されますから、今上がっているフォントでは「~」(全角チルダ)を表示できません。