EU4dll
EU4dll copied to clipboard
Extra space in text box
問題: イベントダイアログやスタートアップ画面で、文章のあとに余分な空白ができる。
再現性: 常に
再現手順:
- 1444年の適当な大国(ポルトガル、ポーランド、ハンガリーなど)で開始し、歴史イベントを発生させる。
- 英語環境と日本語環境のイベントダイアログを比較する。
原因: 不明 おそらくエスケープシーケンス絡みで文字幅の計算に失敗しているものと推測される。 症状は Issue #46 と類似している。
解決策: 不明
参考画像:
英語環境(正常)
日本語環境(異常)
この部分とも関係があるかもしれません
この余白はおそらく処理そのものよりもline-heightと関係があります。
string_start_provence:0 "a\na\na\na\na\na\na\na\na\na\na\na\na\na\na\na\na\na\na\na\na\na\na\na\na\na\na\na\na\na\na\na\na\n"
のようにすると、想定通りになる。
マルチバイト、も特に問題ない
こういう時は
下の方に自動改行送りになったものが加算される。
つまり、これはline-heightの問題ではなく、ワードラップの問題なのですね。
超える部分が、だと問題ない?下記のような場合は空白は生じなかった。
フォントはvic_22(SourceHanSelif22) 年
char id=24180 x=680 y=1264 width=17 height=16 xoffset=-1 yoffset=2 xadvance=15 page=0
、
char id=12289 x=317 y=1397 width=6 height=7 xoffset=-1 yoffset=12 xadvance=15 page=0
両方とも同じように見える...
最初に少し加工すると空白は正常になる
これは、空白が1つ余計にできる
t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0
はOK。一文字足すと余白ができる。 byte数: 468 文字数:468/3 = 156
リミットがあるのはbyte数なのか文字数なのか、幅の総計なのか…
これは大丈夫。1文字増えると余白ができる
"t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0t^0aaaaaaaaaaaaaaaaaaaa\na\na\na\na\na\na\na\na\na\na\na\na\na\na\na\na\na\na\na\na\na\na\na\na\na\na\na\na\na\na\na\na\na"
byte数:446 文字数:142+20 = 162
幅の総計でもない気がする
わからん
年のフォントの幅をいじったりもしたが問題ないので、character数の問題か
char id=24180 x=680 y=1264 width=32 height=16 xoffset=-1 yoffset=2 xadvance=30 page=0
む、文字数を増やしても送り幅が30のときは問題が発生しないがそこから15に戻すと問題が発生するな...
わからん彡(゚)(゚)
もともとこの改行システムは、長すぎる英文を強制的に改行するための処理をマルチバイト文字列の場合は毎回その処理を実行することで実現している。もともとの処理では2行になるためこの部分の改行がでているのかもしれない。
できた!

表題の方はウィンドウが画像なので調整は難しいと思います。