在最新發布的Tuanjie 1.6.3中,TextMeshPro 首次實現了阿拉伯語的渲染支持,同時對泰語和希伯語的支持也均有提升。
為滿足車機應用對阿拉伯語的需求,我們在Tuanjie 1.6.3 + TextMeshPro 3.0.9中引入Advanced Text Processing,通過接入 ICU 與 HarfBuzz 庫,帶來了更精準的字形連接與更自然的排版效果。
![]()
使用教程
首先,需要確保已經更新至 Tuanjie 1.6.3,且 TextMeshPro 已更新至 3.0.9 版本。
導入字形文件且自動生成 Asset,Windows >> TextMeshPro >> Font Asset Creator:
![]()
為了支持 Advance Text Processing,需要將字形文件 Asset的Atlas Population Mode 改為Dynamic,并勾選Multi Atlas Textures
![]()
開啟Advance Text Processing開關,從而使用 ICU 和 harfbuzz。開啟之后,如果勾選了下方的 Enable RTL Editor,則默認段落方向是 RLT,否則,認為段落方向是 LTR
![]()
最終渲染結果如下:
![]()
技術背景
邏輯順序與視覺順序
“
邏輯順序是閱讀者理解的順序,而視覺順序是字符展示在屏幕上的順序。
阿拉伯語作為一種較為特殊的語言,“邏輯順序”和“視覺順序”是兩個容易混淆的概念,尤其是在處理文本渲染、編程或者排版時:
阿拉伯語的書寫/閱讀方向:從右到左(Right-to-Left,簡稱 RTL)
數字和部分符號:通常還是從左到右(Left-to-Right,簡稱 LTR)
邏輯順序(Logical Order)
邏輯順序指文本在計算機存儲或處理時的實際順序,即字符的 Unicode 編碼順序。阿拉伯語是從右向左(RTL)書寫的語言,但邏輯順序可能與視覺呈現順序不同。
特點:
數字和拉丁字母(如英文)在阿拉伯語文本中仍按從左向右(LTR)書寫。
混合文本時,邏輯順序需兼容雙向文本(Bidirectional Text, BiDi)規則。
示例:
?????? ???? ??????(學生正在讀書)
邏輯存儲順序(Unicode碼位順序): 從第一個字符"?"(右端)到最后一個字符"?"(左端)。
但顯示時會自動渲染為從右向左的視覺順序。
視覺順序(Visual Order)
視覺順序是用戶實際看到的字符排列順序。阿拉伯語在屏幕上顯示時,字符從右向左排列,但數字或嵌入的 LTR 文本會從左向右顯示。
特點:
光標移動方向:在純阿拉伯語文本中,光標從右向左移動;遇到數字或拉丁文字時,方向可能切換。
字符形狀:阿拉伯字母的形態會因位置(詞首、詞中、詞尾)而變化,進一步影響視覺呈現
示例:
????? 25 ?????(價格是25美元)
閱讀順序:從右向左讀"?????",然后數字"25"從左向右,最后"?????"從右向左。
邏輯存儲順序:
? ? ? ? ?→2 5→? ? ? ? ?。
雙向混合文本
當一段文本中既有阿拉伯語,又有英語的時候,且混合排列時,閱讀規則就更為復雜。
例如下面的例子:
下面代表字符的顯示順序,大寫代表阿拉伯文,小寫代表英文。
首先假設段落方向是 RTL
abcdABCDefghEFGH我們根據語言方向可以拆解為四段:abcd(LTR)、ABCD (RTL) 、 efgh(LTR)、EFGH(RTL)
由于我們的段落方向是 RTL,所以我們應該先閱讀最右邊的段,而它的語言方向是RTL,于是我們的閱讀順序為:
HGFE接下來,我們將讀其左邊的段 efgh(LTR),由于語言方向是LTR,我們應該從段的最左邊開始閱讀,
HGFEefgh以此類推,我們整個段落的邏輯順序為:
HGFEefghDCBAabcd而如果是同樣的文字,段落方向改為 LTR,對段的劃分是一致的,唯一的區別是我們需要從最左邊的段開始閱讀:
abcdABCDefghEFGH即,邏輯順序如下:
abcdDCBAefghHGFE團結引擎車機版在充分考慮阿拉伯語的邏輯順序與閱讀順序的基礎上,對 TextMeshPro 進行了專項增強,確保從輸入到渲染的阿拉伯語文本,都能實現正確的顯示效果與準確的語義表達。
Unity 官方微信
第一時間了解Unity引擎動向,學習進階開發技能
每一個“點贊”、“在看”,都是我們前進的動力

特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.