EU4パッチの技術情報です。
前回
エスケープ対象の追加
a4パッチまでに加えた修正をほとんど変更しています。というのもエスケープする対象がnull(0)と[(5B)だけだと全然足りないことがわかったからです。
具体的にエスケープが必要な文字列を下記にまとめてあります。
具体的にはエスケープ文字が10,11,12に13が加わりました。13を加えることで、下位バイトと上位バイトの両方をエスケープする必要がある場合でも大丈夫になりました。またシフト数が1から上位バイトは-9,下位バイトは+15になりました。これはシフト後の文字に問題なさそうなものを探した結果です。
さらにテキストに対して上記のエスケープを実行するために下記でまとめたMultiByteToWideChar周りの処理を大幅に変えました。
ヒープクリアの処理
フォントに無い文字を参照してもある程度大丈夫にするために、ヒープ確保時に0クリアするようにしました。