このプラグインは、「TextMeshPro」Unity プラグインに右から左への言語サポートを追加します。プロジェクトにTextMeshPro
プラグインが必要です。 TMPro はPackage Manager
からインストールできます。
現在、アラビア語、ペルシャ語、ヘブライ語がサポートされています。これらの言語のいずれかで問題が見つかった場合、または別の RTL 言語のサポートが必要な場合は、問題をオープンしてください。
テキストを変換、コピー、ペーストする必要はありません。書き始めればテキストはすぐに変換されます。
すべてのText Mesh Pro
のタグはRTL Text Mesh Pro
で使用できます
リアルタイム入力フィールドがサポートされています。
はい、このプラグインは複数行の RTL テキストを問題なく処理できます。
自動フォント サイズは完全にサポートされています。
アラビア語のタシキールがサポートされています。
Ctrl+Shift+2 ホットキーを使用して、ゼロ幅の結合なし文字を挿入できます。
プロジェクトに
TextMeshPro
プラグインが必要です。 TMPro はPackage Manager
からインストールできます。 Text Mesh Pro をアセット ストアからインストールしないでください。
最新の Unitypackage ファイルをリリース セクションからダウンロードし、Unity の [Assets -> Import Package -> Custom Package...] メニューからプロジェクトにインポートします。
hk1ll3r は、このリポジトリのパッケージ マネージャー バージョンを OpenUPM 上で管理しています。
[プロジェクト設定] ウィンドウで、OpenUPM をスコープ付きレジストリとして追加するか、すでに追加している場合は、それに新しいスコープを追加します。
次に、[パッケージ マネージャー] ウィンドウで、スコープを[My Registries]に変更します。 「RTL Text Mesh Pro」パッケージを選択し、 「インストール」を押します。
サンプル シーンとデモ リソース (フォント、シェーダーなど) は、.unitypackage ファイルとしてパッケージに含まれています。これらを使用するには、Assets フォルダーにインポートする必要があります。プロジェクト ウィンドウからパッケージ フォルダーに移動し、「RTLTMPro-demo-resources」ファイルをダブルクリックして、これらのアセットをプロジェクトにインポートします。
TextMeshPro で使用するには、フォント ファイルからフォント アセットを作成する必要があります。ここでは便宜のための基本的な手順を示します。詳細については、TextMeshPro の公式ドキュメントを参照してください。
Window/TextMeshPro/Font Asset Creator
ウィンドウを開きます。
Font Source
フィールドでフォントを割り当てます (フォントには文字が含まれている必要があります)Character Set
Unicode Range
に設定します。Assets/RTLTMPro/Ranges
フォルダー内のファイルから文字範囲をCharacter Sequence (Hex)
にコピーします。ArabicLetters.txt
ファイルにありますArabicDigits.txt
ファイルにありますArabicTashkeel.txt
ファイルにあります。ArabicAll.txt
にあります。通常、これを使用してフォント アセットを作成します。HebrewLetters.txt
にあります。Generate Font Atlas
ボタンを押して、アトラスが生成されるまで待ちます。Save TextMeshPro Font Asset
を押して、フォント アセットを保存します。 GameObject/UI/* - RTLTMP
メニューを使用して RTL UI 要素を作成します。 (代わりに、 Text Mesh Pro UGUI
コンポーネントをRTL Text Mesh Pro
に置き換えることもできます)RTL Text Mesh Pro
コンポーネントでフォント アセットFont Asset
プロパティを割り当てるRTL TEXT INPUT BOX
セクションにテキストを入力します。チェックすると、英語の数字がペルシャ語の数字に変換されます。チェックを外すと、英語の数字がアラビア数字に変換されます。
チェックを入れると数値は変換されません。
RTL Text Mesh Pro は、英語の文字で始まるテキストを修正しません。このチェックボックスをオンにすると、英語の文字で始まる場合でも、RTL TextMeshPro によってテキストが強制的に修正されます。 ForceFix
チェックされているコンポーネントでは、複数行の英語テキストに問題が発生します。
チェックすると、RTL Text Mesh Pro はリッチ テキスト タグを修正しようとします。
TextMeshProUGUI
のtext
プロパティをオーバーライドする必要があります。ただし、 text
プロパティはvirtual
定義されていません。プロパティを手動で仮想化する必要があります。TMP_Text.cs
を開きますRTLTextMeshPro.cs
を開き、 //#define RTL_OVERRIDE
と書かれた先頭行のコメントを解除します。すべての貢献を歓迎します。プロジェクトのコード スタイルに従っていることを確認してください。私たちはプルリクエストを積極的に監視しています。
接触: