来源:sc115.com | 259 次浏览 | 2015-09-27
第二章:字 库
第一节:字库概念:
一、GB字库:
GB2312标准共收录6763个汉字, GB2312中对所收汉字进行了“分区”处理,每区含有94个汉字/符号。这种表示方式也称为区位码。
二、GBK字库:
由于GB2312-80只收录了6763个汉字,有不少汉字,如部分于GB2312-80推出后才简化的汉字(如“啰”),部分人名用字(如中国前总理朱镕基的“镕”字),台湾及香港使用的繁体字,日语及朝鲜语汉字等,并未有收录在内。中国大陆于是利用了GB2312-80未有使用的编码空间,收录了所有出现于Unicode 1.1及GB13000.1-93之中的汉字,制定了GBK编码。微软在它出品的Windows 98中,即采用了GBK编码。在微软的系统内称为CP936字码表。
根据西方资料,GBK最初是由微软对GB2312的扩展,也就是CP936,最初出现于Windows 95简体中文版中,由于Windows产品的流行在大陆广泛使用,国家有关部门将其作为技术规范。注意GBK并非国家正式标准,只是国家技术监督局标准化司、电子工业部科技与质量监督司发布的“技术规范指导性文件”。虽然GBK收录了所有Unicode 1.1及GB13000.1-93之中的汉字,但是编码方式与Unicode 1.1及GB13000.1-93不同。仅仅是GB2312到GB13000.1-93之间的过渡方案。
三、748字库:
四、True Type字库:
TT是一种彩色数字函数描述字体轮廓外形的一套内容丰富的指令集合,这些指令中包括字型构造、颜色填充、数字描述函数、流程条件控制、栅格处理器(TT处理器)控制,附加提示信息控制等指令。
TT采用几何学中的二次B样条曲线及直线来描述字体的外形轮廓,二次B样条曲线具有一阶连续性和正切连续性。抛物线可由二次B样条曲线来精确表示,更为复杂的字体外形可用B样长曲线的数学特性以数条相接的二次B样条曲线及直线来表示。描述TT字体的文件(内含TT字体描述信息、指令集、各种标记表格等)可能通用于MAC和PC平台。在Mac平台上,它以“Sfnt”资源的形式存放,在Windows平台上以TTF文件出现。为保证TT的跨平台兼容性,字体文件的数据格式采用Motorola式数据结构(高位在前,低位在后)存放。所有Intel 平台的TT解释器在执行之前,只要进行适当的预处理即可。Windows的TT解释器已包含在其GDI(图形设备接口)中,所以任何Windows支持的输出设备,都的TT解释器已包含在其GDI(图形设备接口)中,所以任何Windows支持的输出设备,都能用TT字体输出。
TT技术具有以下优势:
1)真正的所见即所得效果。
由于TT支持几乎所有的输出设备,因而对于目标输出设备而言,无论系统的屏幕、激光打印机或激光照排机,所有在操作系统中安装了TT字体均能在输出设备上以指定的分辨率输出,所以多数排版类应用程序可以根据当前目标输出设备的分辨率等参数,来对页面进行精确的布局。
2)支持字体嵌入技术,保证文件的跨系统传递性。TT技术嵌入技术解决了跨系统间的文件和字体的一致性问题。在应用程序中,存盘的文件可将文件中使用的所有TT字体采用嵌入方式一并存入文件。使整个文件及其所使用的字体可方便地传递到其他计算机的同一系统中使用。字体嵌入技术保证了接收该文件的计算机即使未安装所传送文件使用的字体,也可通过装载随文件一同嵌入的TT字体来对文件进行保持原格式,使用原字体的打印和修改。
3)操作系统平台的兼容性。
目前MAC和Windows平台均提供系统级的TT支持。所以在不同操作系统平台间的同名应用程序文件有跨平台兼容性。如在Mac机上的PageMaker可以使用在如果已安装了文件中所用的所有TT字体,则该文件在mac上产生的最终输出效果将与在Windows下的输出保持高度一致。
4)ABC字宽值。
在TT字体中的每个字符都有其各自的字宽值,TT所用的字宽描述方法比传统的PS的T的TT解释器已包含在其GDI(图形设备接口)中,所以任何Windows支持的输出设备,都能用TT字体输出。
在Windows 98中,系统使用得最多的就是*.TTF(True Type)轮廓字库文件,它既能显示也能打印,并且支持无极变倍,在任何情况下都不会出现锯齿问题。而*.FOT则是与*.TTF文件对应的字体资源文件,它是TTF字体文件的资源指针,指明了系统所使用的TTF文件的具体位置,而不用必须指定到FONTS文件夹中。*.FNT(矢量字库)和*.FON(显示字库)的应用范围都比较广泛。另外,那些使用过老版本的WPS的用户可能对*.PS文件还有一定的印象,*.PS实际上是DOS下轮廓字库的一种形式,其性能与*.TTF基本类似,采用某些特殊方法之后,我们甚至还可以实现在Windows中直接使用这些*.PS字库(*.PS1、*.PS2都是PS字库)。