Unity中的Text文本排版問題

1.Unicode的三種空格編碼

有三種空格格式
1.不間斷空格  \u00A0  不換行空格(顯示效果和\u0020一致,主要用途用於禁止自動換行)
2.半角空格    \u0020  換行空格(平時按空格鍵敲出來的空格)
3.全角空格    \u3000  不換行空格

2.一個“全角空格”與“兩個半角空格”是不相同的,一個"全角空格"是佔用兩個字符,兩個"半角空格"是分別佔用兩個字符,而在排版的時候,字符於字符之間是有字符間距的,所以"一個全角字符"與"兩個半角空格"是不同的。
3.空格與普通字符顯示寬度不一致的問題。字體問題,字體中的文字(也就是放有字的那個圖片所切割的單個文字)一般不是等寬的(也就是沒有等寬切割)。你可以使用等寬字體,但是不能保證用戶電腦裝有那種字體。
4.字體序號對齊,如果字體爲等寬字體,如word的默認字體一般是等寬字體,如果字體不等寬,無法自動對齊。解決方法一:可以將帶序號部分的行文本單獨拆出來進行對齊進行排版。(這種方法不適用於會存在文本擴容的需求,因爲Vertical/Horizontal LayOut Group會自動將某種方法的統一對齊,所以慎用);解決方法二:獲取序號部分無法對齊的字的頂點(一個文字其實就是一個圖片,兩個三角面,六個頂點座標,將這六個頂點的位置進行偏移可以實現改變文字間隔的效果,但是有個很致命的缺點,無法識別空格已經換行符號等,在讀取文本中某個文字時讀取不到想要的這個文字。)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章