UNITY* TextMeshPro 特集 * 第 4 部
* タイポグラフィによる美しいテキストレイアウト *
GlyphAdjustmentTable
設定テーブルへ直接カーニング値をセット
《 FontAsset ▷ Inspector ▷ GlyphAdjustmentTable 》
FontAssetCreator でカーニング情報は読み取れないことがわかった。
ダメだなぁ...
なので今回は直接カーニング値(ツメ値)を入力していく。
基本漢字はカーニング調整しないのでそれ以外適当にチョイス。
作成した FontAsset を選択して、インスペクターを表示。
一番下の GlyphAdjustmentTable。
日本語では図形(グリフ)調整(アジャストメント)テーブル。かな。
GlyphAdjustmentTable
GlyphAdjustmentTable をクリックするとコンソールが出る。
2文字入力できる。
対象の文字を入力して、下の AX にカーニング値入力。
その下の AddNewKerningPair をクリックして登録。
コード順にどんどん積み重なっていく。
とりあえず適当に全部 -8 で。
インスペクタのカーニングにチェックを入れる。
結果。
上がカーニングチェックを入れたもの。
やっとここで TextMeshPro のカーニングの恩恵を味わう。
ん?
んん...?
黄色箇所の文字、カーニングが反映されていない。
あと、青色箇所「1」のカーニングが反映されているものとそうでないのもがある...
うーん...
時間をかけて調べてみた。
まず黄色箇所。
・「ぁ」「っ」など小文字は全滅
・ていうかそれ以外も結構ある
・カーニング値が反映される、されない理由は結局不明
青色箇所。
・その文字があるとその文字列のテキストのカーニングが反映されない
・文字の組み合わせでカーニングの反映方法が変わる
・欧文、日本語、フォーマットなど関係なく同じ現象が起きる。
文字というよりコードの相性...?
結論:
TextMeshPro のカーニング設定は、
宙ぶらりん
使い物にならない。
いかんせん、UNITY のアセットはこういう不安定要素が多い。
アプリバージョン替えると使えなくなるとか。
でも、
がんばる
もうちょっと。
UNITY* TextMeshPro 特集 *
* 第 1 部 TextMeshPro:テキスト表示にもの申す
* 第 2 部 FontAssetCreater:フォントベジェパス画像変換
* 第 3 部 FontAssetCreator:カーニング読み取りチェック
* 第 4 部 GlyphAdjustmentTable:設定テーブルへ直接カーニング値をセット
* 第 5 部 FontAsset Atlas:管理ソース変更によるカーニング実装
* 第 6 部 Materia FaceOutline:未来的な文字表現へ
* 第 7 部 KUMA* STUDIO 厳選!常用漢字を含む文字一覧