注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

天马行空

宠辱不惊,闲看庭前花开花落;去留无意,漫观天外云展云舒……

 
 
 

日志

 
 
 
 

字体编码学习  

2011-12-19 22:53:08|  分类: LINUX |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

字体编码学习

关键字: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

 以上文档转载自  http://blog.csdn.net/ronger924/article/details/532540

  评论这张
 
阅读(559)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018