【Unity】UI.Textの禁則処理・V2
前回
禁則処理リポジトリをforkして性能を上げた。
今回 V2ブランチを作る
設計を自分になりに使いやすくしていきます。
コア部分の処理にText
コンポーネントは必要ないのでMonoBehaviour
から独立。自動改行処理がAPIとして柔軟に使えるように。
あとはちょいちょいバグっぽいところを潰したり。
さしあたり今から導入するならこっちのほうがいいんじゃないかなあと。
issue
RichTextタグの処理がうまくいかない場合がある
たとえば<color>
タグ。これはUI.Text
においては閉じタグがない場合はタグ扱いせず普通に文章として表示されるんですが、HyphenationJpnではこの場合もタグとして処理してしまい(つまり文字幅ゼロとしてしまう)齟齬により変なところで改行が発生してしまう。具体的には行が適切に改行されず、はみ出してしまうという現象が発生します。
しかしこれをどうにかするのは骨。きっちりUnityの内部処理と同様にタグを処理しなきゃいけない。
latin文字だけの行が横幅をオーバーする
禁則処理として数字・アルファベットが連続する場合は改行で分断しないようになっています。そのためたとえばAAAAAAAAA....
みたいなアルファベットのみの長ーい1行がある場合、改行せず横幅がオーバーします。めんどいですね。