字體編碼學習

字體編碼學習

關鍵字:USC,Unicode,utf-8,gb2312,字庫

 

什麼是編碼

       爲了交流信息,所以對字符進行了統一的編碼。

UCSISO10646

       ISO10646定義了通用字符集(Universal Character Set,UCS).UCS是國際標準編碼,包含了全球所有字符。UCS使用31bit進行編碼。現在只分配了前65534個碼位,這個16位的子集稱爲基本多語言面(BMP)

什麼Unicode

       Unicode編碼是UCS級別3的實現。Unicode編碼全碼爲4個字節,所有字符都使用等的編碼方式,現在只使用兩個字節編碼。兼容UCS定義的BMP

GB2313Unicode

       GB2312是中國定製的國際準標編碼,由兩個字節組成,最高位爲1表示漢字,最高爲0表示是英文。

       GB2312與區位碼存在數值關係,區位碼+20HGB2312

       GB2312Unicode的轉換不成數學關係,只能通過映射表來實現。

       GB2312爲80年定義的基本編碼擴展編碼有

       GBK

       GB18030

       GB13000GBK不兼容,只是使用了相同的詞彙.

       最新爲GB16500-95unicode3.0兼容

UnicodeUTF-8

       Utf-8是爲了兼容軟件處理的編碼,是unicode的另一種表示方式。使用變化的方式編碼,第一字節表示字符的長度,後面的字符以10開頭表示編碼。0開頭表示ascii編碼。

       例如:

Unicode 字符 U+00A9 = 1010 1001 (版權符號) UTF-8 裏的編碼爲

              11000010 10101001 = 0xC2 0xA9

字庫與編碼關係

       字庫是編碼表字符顯示的描述文件。字符編碼是在字庫中查詢需要顯示的字符的索引值。

       不同的編碼就應該有不同的字庫,比如unicode編碼就有unicode的字庫。Gb2312編碼就有gb2312的字庫。

 

字庫格式

       字庫的格式主要有TrueType(ttf),PostScript(rip),OpenType

       TrueType是微軟定義的字庫格式,主要用於軟件顯示這種要求精度不高的環境,

       PostScriptAdobe定義的字庫格式,主要用於排版印刷等大字打印精度要求很高的環境。

       OpenTypeTrueTypePostScript的綜合格式,並且是使用了unicode的編碼。

 

 

字體引擎

       字體引擎用於讀取字庫,顯示文字,文字轉換等操作。現在免費的字體引擎有FreeType.

 

參考文獻

    UTF-8 and Unicode FAQ by Markus Kuhn

    http://leuksman.com/linux/TrueType-HOWTO.html

http://www.5ivb.net/Info/55/Info16006/

http://developer.apple.com/fonts/TTRefMan/index.html

 

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