天天看點

.Net Micro Framework研究—Tinyfnt字型研究

目前.Net Micro Framework系統僅支援Tinyfnt字型檔案官方僅提供兩種字庫NinaB.tinyfntsmall.tinyfnt。用我後來做的程式打開這兩種字型發現它們僅支援如下100字元

!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€°■▪ 

如果要顯示漢字并且設定大小、粗細等等參數必須要用專門的轉換工具把windows中的ttf字型轉換為Tinyfnt字型。

我對我以前的字型轉換工具又進行了改進一是重新調整了界面二是支援多語言目前支援英文和簡體中文兩種。

下面是軟體截圖

由于官方不公開Tinyfnt字型的結構檔案自己隻好從現成的二進制檔案進行分析了下面是我對Tinyfnt檔案定義的一個結構體其主要的參數如下

private class MFFont  

    {  

        public UInt16 uSize;            //資料長度 +27=檔案總長度     

        public byte bytHeight;          //字型高度  

        public UInt16 uGroupNum;        //字型組個數  

        public UInt16 uFontNum;         //字型個數  

        public UInt16[] uFontStart;     //起始字元1  

        public UInt16[] uFontEnd;       //結束字元1  

}   

通過這個結構體你就可以還原出這個字庫中包含的文字内容和字型高度了不過很可惜通過我目前的解析還是無法從字型檔案中獲知原始字型檔案的名稱如是宋體還是黑體等等是否粗體斜體等等參數。

除此之外剩下的字庫内容想必就是字型的點陣結構了具體的内容我沒有多加驗證有機會我再和大家一一探讨。

本文轉自yefanqiu51CTO部落格原文連結http://blog.51cto.com/yfsoft/322943如需轉載請自行聯系原作者

繼續閱讀