找回密码
 注册
搜索
热搜: 超星 读书 找书
查看: 905|回复: 3

[【原创】] 中文CID字库概述{不是首发,是第二次}

[复制链接]
发表于 2005-7-5 13:08:15 | 显示全部楼层 |阅读模式
CID概述(附含图的word原文件,版权拥有)

1介绍

  CID字库格式是专门为大字符集设计的利用PostScript打印语言,Adobe字体管理器(ATM),结构化PostScript解释器(CPSI),和PostScript显示语言解释器(DPS)。它是亚洲字体(CJK)的理想格式,也兼容罗马字符集。

2 背景

  本来,已经出版的PostScript语言参考手册(第二版)中包含有Adobe复合字库格式的规范。虽然这个规范描述了复合字库的基础结构,但是没有提供其完整的字库执行细节。Adobe的关于这个字库的说明即原型复合字库(OCF),OCF利用了复杂字库结构和磁盘文件组织。图1即说明OCF和CID存放在PostScript解释器内存中的基本结构。
   
图1 :OCF和CID字库的结构

OCF的复杂结构是为支持印刷各种操作系统中各种字符集而设计的。OCF采用单字节编码,以一个字节的编码来为亚洲
文字编码显然是远远不够的,于是采用多个单字节字库文件组合起来构成一个具有数千字符的大字库。这就是COMPOSITE这个次来定义这类字库结构的原因。CID字库采用的是双字节编码法,在它的第二个文件CMAP中还包含有文字的轮廓信息和字距的设置信息。无论是日文的Mac还是Windows用的版本都是采用Cmap文件来替换各字符的设定,然后调用各字库文件(CID Font File)中相应的字符后进行组版。

3 字库体系结构

   一系列过程如下:
  •字符集:ADOBE为某特定语言制定特定字符集文档。这种文档规定这种语言所有的字符(及其CID值)。字符集必须经过相关国家的专家审鉴才能正式发布。
  •CMap files:ADOBE为每个字符集制定至少一个CMap files。那些文件规定字符编码与CID值的一一对应。其他的字库开发者可以容易确定他们自己的字符集和CMap files,但是要满足大多数字体销售商的需求。
  •CID Font files:如果字库开发者用ADOBE的字符集和CMap files,他们只需要开发出包含字形的CIDFont files就行了,这样可以节省许多开发资源。
这些基本体系简化了字库开发者的工作,而且可以灵活利用其他非标准的字符集或编码。(简易而不失灵活性)

4  CID-keyed 字库组件

CID指Character Identifier(字符标识符),CID值用来索引和访问字库中的字符信息。对与大字符字库,这种方法比直接利用字符名称来访问的方法更有效(如Type 1 Roman字库)。
一个CID字库包含至少一个CMap files 和一个CIDFont file。CID值是基于一预先定义、命名好的字符集和调整后的字符集。这些组件将在以后部分讨论。

一、字符集
一个字符集由所有排序好的字符组合而成。各个字符的序号决定了各个字符的CID值。每个字库必须依据CID值来明确引用相应的字符集。
   Adobe制定亚洲字符集,其他开发商可以参照这些字符集,或者开发和命名其自己的字符集。
比如说,Adobe-GB1-0,这个由Adobe注册名字的简体中文字符集,GB1代表基于中文GB 2312-80字符集的第一版,而0表示它是相对于其它补充的基本字符集。这种命名方法让开发者既能严格控制版本和兼容性然而又不失灵活性。

二、CMap Files
CMap(Character Map) files指定了字库文件(CIDFont file)中一个字符与CID值的对应关系。它相当于Type 1字库文件中的Encoding。Type 1字库中最多允许一次编码和访问256个字符,然而用户可以访问CID字库中数以千计的字符。
  下图举了个CMap文件和CIDFont文件的例子,及用字符编码和CID值如何访问字库中的字符。

图2 :CMap文件和CIDFont文件

一个CMap文件可以不用复制而是引用整个字符集或一个子集,来提供额外的字库配置。
一个普遍的问题是一个字库格式是否支持IOS 10646和Unicode字符编码标准。CID格式提供Unicode所必需的双字节字符寻址,另外只需要添加一个Adobe提供的CMap文件就行了。这种固有的灵活性使开发商很容易让其字库产品支持Unicode。

三、CIDFont Files
CIDFont文件包含字库中用来显示和打印的所有字符的的字形描述。大多数字库开发商只需要开发CIDFont文件就行了。字符程序和Type 1中的一样,所以CID字库通过添加安装到用户打印机的兼容模块能与大多数PostScript解释器兼容。
CIDFont文件也包含帮助解释器定位必需的字符和相关信息,即被称做hints的附加信息,hints帮助PostScript解释器产生低幅面或低分辨率下的高质量字符图像。

四、控制信息
某些控制信息对于亚洲字符空白来说非常重要。它帮助在特定幅面和分辨率下精确输出空白和整体比例,。Type 1 Roman字库并不需要这种特殊的控制信息。
下图分别为PS字符、72dpi的屏幕下的24点字(带有控制信息)、72dpi的屏幕下的24点字(无控制信息)。

图3:分别为PS字符、72dpi的屏幕下的24点字(带有控制信息)

5重组字库(Rearranged Fonts)

CID字库格式的一个最大特征之一就是能生成重新排序的字库。这将允许字库开发商能开发出一种字库,它包含引用其它安装在用户系统上字库的CMap文件。这个特征使终端用户可以运用Adobe Type Composer software(Adobe字体设计器)来生成  重组字库。重组字库有CMap文件创建。它可引用至少一种CID、OCF、Type 1或Type 3字库。这个特征给广大字库开发商带来了最大限度节约开发资源的灵活性。在重组字库中并没有实际的字符轮廓数据;CMap文件如同一模版描述它所引用的字库。它也包含输入字符编码同字库字符的关联。
   重组字库同其它CID字库一样运转;它的名字出现在字库单上;可以被打印机下载,可以被ATM用。好处是复合后的CMap文件一般不会超过30KB。尽管引用的字库文件必须已安装在用户的系统中,这种机制还是避免了重复复制某些字库组件。
  下图举了一个借用2CID字库、2Type 1字库、1Type 3字库的重组字库的例子(Type 3字库常用于艺术设计)。
  
图4:2CID字库、2Type 1字库、1Type 3字库重组字库

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复

使用道具 举报

发表于 2005-7-5 18:25:28 | 显示全部楼层
呵呵,支持weiwei兄的原创
回复

使用道具 举报

 楼主| 发表于 2005-7-5 20:49:54 | 显示全部楼层
可能对一般人没什么用 对作电子出版、设计、程序开发有点帮助
回复

使用道具 举报

发表于 2005-7-5 21:52:56 | 显示全部楼层
呵呵,只要是好东西,总会有人有用的,谢谢weiwei兄
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|网上读书园地

GMT+8, 2024-5-25 23:31 , Processed in 0.354285 second(s), 6 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表