中文字體出現(xiàn)偏上
在一次Unity開發(fā)中嫉柴,我們嘗試使用一款新的字體僵闯。但是直接把字體替換掉后,新字體的中文部分是向上偏移一點點的:
可以看到英文部分雖然更大,但是字體的基線是一致的拣播;這里大概估計晾咪,基線一致的情況下,出問題的就是因為這只中文字體的中文部分確實是偏上了贮配!
怎么辦谍倦?總不可能把所有的UILabel全部調(diào)整一次坐標吧?
因此——
對字體進行修改泪勒!
使用FontCreator編輯字體
我們需要用到FontCreator軟件對字體進行編輯昼蛀,一個功能超豐富的字體編輯器,請自行百度FontCreator圆存。
打開FontCreator叼旋,把字體拖入軟件,就可以開始進行編輯了沦辙。我們只需簡單的兩步夫植,來調(diào)整中文字體。
第一步:重新計算度量范圍
進入菜單油讯,格式->字體設(shè)置->度量->計算详民,讓FontCreator重新計算一系列適當?shù)闹怠?br> 因為我不懂字體,這一步也是懵的陌兑。但是光做這一步沈跨,就可以略微調(diào)整Unity中的顯示,偏移會減輕兔综。
第二步:對中文字符偏移
在FontCreator中選中所有的中文饿凛。Unicode編碼中隅俘,中文范圍是4E00-9FA5。
點擊一下uni4E00的字符笤喳,然后拉動滾動條为居,找到到9FA5字符(先別點擊),按住Shift鍵杀狡,點擊uni9FA5的字符蒙畴。這樣就可以選中所有的中文了。
實際情況中呜象,發(fā)現(xiàn)部分字體不帶uniXXYY的名稱膳凝,可以右鍵,屬性恭陡,映射標簽頁的“值”里找到unicode值蹬音。
點選菜單休玩,工具->字形轉(zhuǎn)換著淆,從左邊Outlines里選擇Move,并且填入?yún)?shù)水平0拴疤,垂直-100永部,也就是讓字體向下移動100個單位(具體數(shù)值根據(jù)實際情況改寫),點擊確定呐矾。然后保存字體苔埋!
最終效果
重新回到Unity導(dǎo)入編輯過的字體,中文部分已經(jīng)和原字體對齊了蜒犯。
實際的情況组橄,可以根據(jù)需要甚至對英文字體進行大小縮放。
因為我對字體的編輯并不熟罚随,在此僅靠取巧來解決這個問題了玉工。