Unity:旧式のText(UI→Legacy→Text )におけるparagraph内のサイズ自動調整(Best Fit)オン時の挙動について

Unity公式のマニュアルには、「サイズ自動調整(BestFit)を有効にすると、Unity がサイズプロパティを無視して矩形にテキストが収まるように合わせます。」とありますが、設定の仕方により、フォントサイズが自動で調整されなかったり、サイズプロパティを無視せず元々のフォントサイズが優先されるときがあるので、挙動の違いをまとめてみました。
サイズ自動調整(BestFit)オン時の
水平オーバーフロー(Horizontal Overflow)プロパティ
水平オーバーフローを「OverFlow」に設定

BOXの横幅に関係なく、元々のフォントサイズが優先される(Min Size,Max Sizeともに無効)
BOXの横幅より文字列一行の幅が大きい場合は、BOXサイズより溢れて文字列が表示される。
水平オーバーフローを「折り返し」に設定

BOXの横幅と文字列一行の幅が比較される。
BOXの横幅より、文字列一行の幅が大きい場合
BOXの横幅と同じになるようフォントサイズが縮小される。
ただし、フォントサイズがMin Size未満になる際は、それ以上に縮小されず、文字列が改行され「折り返し」処理される。
※注意:文字列の間に半角スペースがあると、なぜかフォントサイズが縮小されず改行されてしまう。
全角スペースの場合は改行されずフォントサイズが縮小される。
BOXの横幅より、文字列一行の幅が小さい場合
BOXの横幅と同じになるようフォントサイズが拡大される。
ただし、拡大の上限はMax Sizeまでになる。
サイズ自動調整(BestFit)オン時の
垂直オーバーフロー(Vertical Overflow)プロパティ
垂直オーバーフローを「OverFlow」に設定

BOXの高さに関係なく、元々のフォントサイズが優先される(Min Size,Max Sizeともに無効)
BOXの高さより文字列一行の高さが大きい場合は、BOXサイズより溢れて文字列が表示される。
垂直オーバーフローを「切り詰める」に設定

BOXの高さと文字列一行の高さが比較される。
BOXの高さより、文字列一行の高さが大きい場合
BOXの高さと同じになるようフォントサイズが縮小される。
ただし、フォントサイズがMin Size未満になる際は、それ以上に縮小されず、「切り詰める(BOXの高さからはみ出る分の文字が非表示になる)」処理がされる。
BOXの高さより、文字列一行の高さが小さい場合
BOXの高さと同じになるようフォントサイズが拡大される。
ただし、拡大の上限はMax Sizeまでになる。
サイズ自動調整(BestFit)オン時の水平・垂直プロパティ、設定パターンの違い
水平【Overflow】/垂直【Overflow】

挙動:元々のフォントサイズが優先される。
水平【折り返し】/垂直【Overflow】

挙動:BOXの横幅の大小によりMin Size,Max Sizeが適用され、フォントサイズが自動調整される。
水平【Overflow】/垂直【切り詰める】

挙動:BOXの高さの大小によりMin Size,Max Sizeが適用され、フォントサイズが自動調整される。
水平【折り返し】/垂直【切り詰める】

挙動:BOXの横幅と高さの大小によりMin Size,Max Sizeが適用され、フォントサイズが自動調整される。
※BOXの縦横サイズに合わせて自動で拡大縮小したい場合はこの設定がオススメです。
注意点
文字列の間に半角スペースがあると、サイズ自動調整が意図した動きにならないときがあるので、設定を調整するときは半角スペースをいったん入れずに調整するのがオススメです。

ディスカッション
コメント一覧
まだ、コメントがありません