一個字體庫引起的坑

  前面在做開發的過程中需要將某個字體的轉換成圖片保存, 但是在將某gis的某一字體繪製成圖片的時候,發現如何搞就是不成功,字體是這個字體: * Meteorological 01.自己用win32小程序嘗試用freetype讀取此字體,竟然讀取不到charmap(編碼和字體內的矢量圖形映射表,通過編碼可以找到特定的字符圖元),找不到就找不到吧, 我用的默認unicode 映射表, 發現這個確實就是找不到,嘗試用其他編碼也是讀取不到任何字符的,最後無奈請教公司大神,大神給了一工具 FontForgeBuilds,這個工具真乃字體編輯查看的神器,通過此工具打開了這個字體發現了字體格式編碼還真是有問題,如圖:



這真是尷尬, Windows 原始API,是可以讀取此字體,word ,,execl插入符號也可以讀取到此字體,但是我這要開發跨平臺組件, 顯然不可能用特定平臺api,這裏不得不佩服windows,沒得編碼還能讀出來,並且讀取的編碼還是名稱裏面顯示的F021 --> 21 ,他能讀取成21. 這個可能他自己解析字體遍歷讀取的吧,  這個猜想我通過 直接給Freetype api給F021 是可以讀取出來字體保存圖片就可以知道了.  由於此字體沒有Unicode 編碼,所以臨時想的解決方案就是把此字體的unicode編碼按他給的名稱添加上,具體做法:

1:FontForgeBuilds 新鍵一個字體庫

2:將原有沒有編碼的字體整體複製到新的字體庫上;

3:菜單 File->generate fonts  就會生成一個經過編碼過的字體.

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