依存 : https://github.com/jp-netsis/RubyTextAbstractions
UI Toolkit の RubyLabel はこちら : https://github.com/jp-netsis/RubyLabel
TextMeshProに振り仮名(ふりがな、フリガナ、ルビ)タグを追加します。
TextMeshProは Unity6から UGUI(com.unity.ugui) パッケージに内包されました。
私がチェックしたUnityバージョンとUGUI(com.unity.ugui)は以下の通りです。
UnityVer:6000.0.23f1(LTS)
UGUI:2.0.0
Unity6以前のバージョンでは、v1.3.0
タグを使用してください。
Unity6でもv1.3.0
をインストールすることは可能ですが、package.json に旧TextMeshPro v3.0.6
への依存情報が含まれているためおすすめしません。
追加 : スタンダードルビタグスタイル
Unity バージョンアップ 6000.0.23f1(LTS)
更新 : package.json
更新 : Readme.md
追加 : Readme.ja.md
追加 : スタンダードルビタグスタイル
追加 : RubyTextMeshProDefinitions
に BASE_NO_OVERRAP_RUBY_ALIGNMENT
を追加しました。
追加 : BASE_NO_OVERRAP_RUBY_ALIGNMENT
用に rubyMargin
を追加しました。 ルビの隙間を指定します。
変更 : SerializeField パラメータを _<xyz>
に変更しました。 以前のバージョンと互換性を保つため FormerlySerializedAs(<xyz>)
を定義していますが、ご注意ください。
変更 : BASE_NO_OVERRAP_RUBY_ALIGNMENT
用にルビとベースの文字の描画位置を計算する処理を追加しました。負荷が上がっている可能性があります。
削除 : RubyTextMeshPro.UnditedText
/ RubyTextMeshProUGUI.UnditedText
: 削除されました。 uneditedText
をご使用ください。
削除 : allVCompensationRuby
/ allVCompensationRubyLineHeight
: rubyLineHeight
が空文字の場合、 いままでの allVCompensationRuby:false
と同等の効果になります。また、 rubyLineHeight
に値が入っている場合、 allVCompensationRubyLineHeight
の値と同様の効果になります。
削除予定 : RubyTextMeshPro.UnditedText
/ RubyTextMeshProUGUI.UnditedText
: 次のバージョンで削除されます。uneditedText
をご使用ください。
振り仮名を追加するには、以下のようなタグ形式を使用します。
-
レガシールビタグ形式:
<ruby=にほんご>日本語</ruby>
: 「日本語」に「にほんご」を注釈。<r=にほんご>日本語</r>
: 上記と同じ。- また、以下のようにダブルクォートも使用可能です:
<ruby="にほんご">日本語</ruby>
<r="にほんご">日本語</r>
-
標準ルビタグ形式 (v1.3.0以降):
- v1.3.0 以降では、標準的なルビタグ形式がサポートされています。
<ruby>日本語<rt>にほんご</rt></ruby>
: 「日本語」に「にほんご」を注釈。<r>日本語<rt>にほんご</rt></r>
: 同じ形式。<r>日本語<rt><color="blue">にほんご</color></rt></r>
: 注釈内にリッチテキスト (例: 青色文字) を使用可能。
入力形式 | 表示結果 |
---|---|
<ruby=にほんご>日本語</ruby> |
日本語 |
<r=にほんご>日本語</r> |
日本語 |
<ruby="にほんご">日本語</ruby> |
日本語 |
<ruby>日本語<rt>にほんご</rt></ruby> |
日本語 |
<r>日本語<rt><color="blue">にほんご</color></rt></r> |
日本語 |
Tip
- リッチテキストサポート: 標準ルビタグ形式 (
<ruby><rt>
) を使用すると、色や太字などのリッチテキストを注釈内に適用可能です。 - 互換性: レガシー形式 (
<ruby="value">
) と標準形式が同時にサポートされています。 - 推奨: 新しいプロジェクトでは、標準タグ形式 (
<ruby><rt>
) を使用することを推奨します。
GitHubからインストールをすることが可能です。
[Install]
Unity > Window > PackageManager > + > Add package from git url... > Add the following
-
https://github.com/jp-netsis/RubyTextAbstractions.git?path=/RubyTextAbstractions/PackageData#v0.2.0
-
https://github.com/jp-netsis/RubyTextMeshPro.git?path=/Assets/RubyTextMeshPro#v2.1.0
ソースのみコピーする方法があります。
-
(1). あなたには
UGUI(com.unity.ugui)
が必要です。もし無い場合、Package Manager
からインストールしてください。Asset StoreからのText Mesh Proのインストールはしないでください。 -
(2). RubyTextMeshProディレクトリとRubyTextAbstractionsのソースをコピーすれば使用可能です。
<ruby=かんじ>漢字</ruby>
もしくは
<r=かんじ>漢字</r>
もしくは
<r>漢字<rt>かんじ</rt></r>
RUBY_ALIGNMENT : ルビに合わせて文字を表示します
BASE_ALIGNMENT : 元の文字に合わせて文字を表示します
この機能により、rubyを使用しない場合でも、同じ隙間を持つことができます。 この文字列を空にすることで、この機能はスキップされます。
-
(1).TextMeshPro のソースは改変していません。アラインでいくつか問題が起こります。
-
(2).ルビの最大文字数よりもテキストボックスを小さくしないでください。表示崩れが起きます。
-
(1)_1.'BASE_ALIGN'で左寄せの場合かつルビが行頭にありつつ元の文字より多い場合、枠の外まで表示されます
- (1)_2.'BASE_ALIGN'で中央寄せの場合かつルビが元の文字より多い場合、中央に表示されません。 'RUBY_ALIGN' を使用すると解消される場合があります。
- (1)_3.'BASE_ALIGN'で右寄せの場合かつルビが行頭にありつつ元の文字より多い場合、(1)_1と違い、枠の内まで表示されます
Rounded M+
http://jikasei.me/font/rounded-mplus
ありがとうございます!
http://baba-s.hatenablog.com/entry/2019/01/10/122500
ありがとうございます!
Thank You!
-
(1).TextMeshProは素晴らしいプラグインですので、rubyタグの追加はいつか行われるでしょう。そのときこのプロジェクトは削除します。
-
(2).日本語以外のチェックはしていません。
すべての貢献を歓迎します。必ずプロジェクトのコードスタイルに従ってください。
Contact: [email protected]