さけのさかなのブログ

同人ゲーム開発やってます。Unity使ったりする。

【Unity】UI.Textの禁則処理・V2

前回

toriden.hatenablog.com

 禁則処理リポジトリをforkして性能を上げた。

今回 V2ブランチを作る

 設計を自分になりに使いやすくしていきます。

 コア部分の処理にTextコンポーネントは必要ないのでMonoBehaviourから独立。自動改行処理がAPIとして柔軟に使えるように。

 あとはちょいちょいバグっぽいところを潰したり。

 さしあたり今から導入するならこっちのほうがいいんじゃないかなあと。

github.com

issue

RichTextタグの処理がうまくいかない場合がある

 たとえば<color>タグ。これはUI.Textにおいては閉じタグがない場合はタグ扱いせず普通に文章として表示されるんですが、HyphenationJpnではこの場合もタグとして処理してしまい(つまり文字幅ゼロとしてしまう)齟齬により変なところで改行が発生してしまう。具体的には行が適切に改行されず、はみ出してしまうという現象が発生します。

 しかしこれをどうにかするのは骨。きっちりUnityの内部処理と同様にタグを処理しなきゃいけない。

latin文字だけの行が横幅をオーバーする

 禁則処理として数字・アルファベットが連続する場合は改行で分断しないようになっています。そのためたとえばAAAAAAAAA....みたいなアルファベットのみの長ーい1行がある場合、改行せず横幅がオーバーします。めんどいですね。