2012年10月29日 星期一

Corona使用自訂字型

APP在開發的時候,
通常會使用Device 的預設字型
native.systemFont
來顯示中英文

display.newText( "一二三四五六七八九ㄅㄆㄇㄈㄉㄊㄎㄋㄏ,嗨你好", 0, 100,320,480,native.systemFont,40)

在識別度上是完全沒有問題的,
只是....好像太normal了?
這樣不就跟大家的字型都一樣了嗎?
也許大部份的開發者都是使用預設字型。。。
但....ㄟ....好像沒什麼美感!!!
我好好的一個遊戲APP,用了一個這樣 沒有美感的字體...好像很扣分
又不想要每個字都作成PNG圖檔
再用
display.newImage()...來嵌入,怎麼辦?(光做0~9就快自殺了)

如果你剛好有找到喜歡的字型,有字型檔
其實把字型檔放到corona的project root底下
接著做下面這個步驟的設定
將這段文字加在build.setting
找出plist後,修改如下
plist = {
    UIAppFonts = 
    {
        "AdobeFanHeitiStd-Bold.otf"  --字體檔名
    },
}
接下來要找出匯入的字型的名字
怎麼找呢?
在main.lua中
加上這段程式碼

local sysFonts = native.getFontNames()
for k,v in pairs(sysFonts) do print(v) end

執行後就會在console中print出一堆系統支援的字型
找到我們要的字體後(有出現代表匯入成功)
我們就可以使用了
再來同樣的字我們再跑一次

display.newText( "一二三四五六七八九ㄅㄆㄇㄈㄉㄊㄎㄋㄏ,嗨你好", 0, 100,320,480,"AdobeFanHeitiStd-Bold",40)
原始字型
新增字型


此時跑出來的結果,就變成我們要的字體
其實這樣就省了很多工了,也可以讓APP能夠用更適合的字型囉:D

是不是看起來更舒服呢

來自小島

1 則留言:

  1. 我試了好多字體都是 could not load font XXXXX Using default font . 怎麼辦= =

    回覆刪除