您好,欢迎来到包装印刷网!

当前位置: 首页 > 新闻资讯  > 技术文章 > 胶印

POSTSCRIPT字体格式——CID-KEYED

2007/8/10 15:04:24 人评论

POSTSCRIPT语言是桌面印前系统页面描述事实上的标准,是开放式系统的通用语言。POSTSCRIPT字库实际上是由POSTSCRIPT语言描述的一段程序。一般来说,支持POSTSCRIPT的栅格图像处理器(RIP)同时能够提供对POSTSCRIPT字体程序的支持,这样POSTXCRIPT字体的印前系统中获得了广泛的应用。但是由于POSTSCRIPT起源和发展于美国,在字库的描述方面,很长一段时间只能支持西方编码的小字符集(即小于256个字符编码),像中文、日文、韩文这榜样 的大字符集则不能提供直接的支持,人们只能将大字符集字库拆分马数个小字符集字库,而后组合成TYPE 0格式使用。  这样虽然能够寻码双字节的字符,但非常浪费系统资源,降低了RIP的支行效率。这一状况在ADOBE公司宣布了一种新的POSTSCRIPT字体格式——CID-KEYED之后得到了解决。一个CID——KEYED字库实际上至少由两个文件构成,其中一个称为CMAP资源的文件负责对大字符集进行编码,字符对庆的被子际轮廓数据则存放在另一个称为CIDFONT资源的文件中。CID——KEYED是一种真正支持大字符集编码的POSTSCRIPT字体格式。  一、POSTSCRIPT字体格式  POSTSCRIPT语言描述字库根据用途及轮廓数据格式的不同分为许多种,比如:TYPE 0、TYPE 1、TYPE 2、TYPE 3、TYPE 4、TYPE 5、TYPE 42等。这里先介绍一下与CID——KEYED字体有关的TYPE 1、TYPE 3、TYPE 42及TYPE 0字体格式。  TYPE 1是目前应用最为广泛的POSTSCRIPT字体格式,它还是某些其它字体格式的基础,一个TYPE 1字库程序包含两大部分,一部分为用POSTSCRIPT语言书写的ASCII码的明文部分(CLEAR TEXT),另一部分为经过编码并加密(ENCODED AND ENCRYPTED)的部分。  构造一个TYPE 1字库程序的过程就是构造一个特殊类型的字典——字库字典的过程。在明文部分,给出字体名称、版权、版本信息编码表等内容,而密文部分则包含有每个TYPE 1字库不可缺少的CHARSTRING字典、PRIVATE字典。对这一部分进行编码(ENCODING)的目的是为了提高TYPE 1解释器的运行效率,而加密(ENCRYPTING)的目的则是为了保护字体程序开发者的利益,以免字符轮廓数据被人滥用。  POSTSCRIPT解释器能过调一个名为TYPE 1 BUILD GLYPH的过程来读取TYPE 1 字库。这个过程首先根据字符代码来检索字库字典中的ENCODING条目,从而获得与这个字符代码对应的字符名,然后根据字符名检索字库字典的CHARSTRING字典,找到与这个字符名对应的轮廓数据,把这串数据描绘出来(或填充、或画轮廓)就完成了字符的建立过程。这个过程如图1所示。  TYPE 3字库与TYPE 1结构相似,它只在密文部分比TYPE 1字库多上一个过程,起到与上述TYPE 1中BUILDGLYPH类似的作用。TYPE 1的BUILDGLYPH过程是由解释器提供,这就要求TYPE 1轮廓数据的格式遵守统一规范。而在TYPE 3字库中,字库创建者自己给出字符建立过程,轮廓数据的格式也就可以自定。  TYPE 42是被POSTSCRIPT“包裹”了的TRUE TYPE字体格式。TRUE TYPE字体是WINDOWS和MACINTOSH同时在操作系统中支持的一种曲线字型 技术,是办公系统和普通用户使用非常普遍的一种曲线字体格式。它除了字库构造与POSTSCRIPT字库完全不同外,在对字符轮廓的描述上也采用了与之不同的方法。TYPE 1是采用三次BEZIER曲线与直线结合的方式描述字符轮廓,而TRUE TYPE则是采用二次B样条曲线与直线相结合的方式。虽然有一些应用软件可以实现将TRUE  TYPE字体转换成TYPE 1字体的功能,但这种转换是不精确的。  鉴于使用TRUE TYPE字体的用户非常多,ADOBE公司定义了一种称为TYPE 42的字体格式,它的本质就是TRUE TYPE,只是在TRUE TYPE字库文件的基础上加入了一些POSTSCRIPT描述,以帮助POSTSCRIPT RIP使用TRUE TYPE字体。能够解释TYPE 42格式字体的RIP实际上含有一个TRUE TYPE解释器,它可以解释用二次B样条描述的字符轮廓数据。上面介绍的TYPE 1、TYPE 3、TYPE 42的字全格式中都有一个ENCODING条目,它起的作用就是根据字符编码找到它所对应的字符名,从而找到其字符轮廓数据,所以说ENCODING条目起一个中间桥梁的作用。遗憾的是,上述三种字体格式的ENCODING条目最多只允许256项,也就是说它只能编码单字节,无法直接支持中文等大字符集。为了解决这个问题,ADOBE公司又推出了TYPE 0格式。  TYPE 0格式的字库实际上是一种“复合”字库,它是由一些其他字库共同构成的。基字库可以使用TYPE 1、TYPE 3、TYPE 42等字体格式描述。它在建立字符时,用两个字节作为一个字符编码,高位字节是基字库号,低位字切用于在某一基字库的ENCODING条目中寻码。光我们给出一个中文字符编码时,解释器首先根据内码的第一个字节找到其对应的基字库,然后根据内码的第二个字节找到到应的字符的轮廓数据。比如“啊”字,其内码为OXBOA1,那么这个字应在BO所对应的基字库中,并且是这个基字库中编码为A1的那个字符,这样就完成了双字节编码字符的建立。TYPE 0格式字库的一个最大缺点是它要占用很多的系统资源,这是由于加载一个TYPE 0字库时FINDFONT操作根据基字库的多少要执行多次,速度很慢,并且返回的字库字典要占据很多内存,因而不是一种理想的大字符集字库格式。  二、CID-KEYED字体格式  1、CID-KEYED字库结构  在以往的POSTSCRIPT字体格式中之也以不能支持大字符集字库,主要在于ENCODING条目中最多只能有256项。要解决这个问题,唯一的办法是摒弃采用ENDODING条目进行寻码,CID-KEYED字库正是如此。  与以前定义的其它格式的POSTSCRIPT字体不同的是,一个CID-KEYED字库由两部分构成,即一个CMAP文件和至少一个CIDFONT文件。在建立字符时,这两类资源文件所起的作用由图2说明。  CMAP起的作用是交字符代码映射到某一CID值(CID实际上是CHARACTER  IDENTIFIER的缩写),类似于TYPE 1中ENCONDING条目完成的功能。  CIDFONT中记录某一CID值所对应的轮廓数据。图3说明了从CMAP获取的CID值在CIDFONT中如何找到它对应的数据的过程。  从图3中我们可以看到一个CIDFONT资源文件由两大部分构杨。第一部分是POSTSCRIPT语言程序部分,包括在一个总体信息的描述和一个字库字典数组;第二数据区,由CIDMAP,SUBRMAP、SUBROUTINES,CHARSTRING构成。CIDMAP表提供某一CID值所对应的字库字典是哪一个及其对应的数据偏移位置,由此可以找到这个CID值的轮廓数据,并从其字库字典中得到创建此字符的方法。同时,从字库字典中可以得到所需的HINTING(提示)信息的偏移位置。  CIDFONT有三种类型,见表1。  不同的类型具有不同的数据格式,采用不同的字符建立过程。这三种类型的字体资源分别与本文前面介绍过的TYPE 1、TYPE 3和TYPE 42相似。在使用时,CIDFONT第一部分始终加载于虚存(VM)中,而数据量大的第二部分可以存放在磁盘上,只有需要时才调入虚存,在资源使用上非常合理。  2、CMAP与CIDFONT的使用  CMAP与CIDFONT是独立的两种类型的文件。一个CMAP文件可以与不同的CIDFONT文件拱配。同样的,一个CIDFONT文件也可以与不同的CMAP文件搭配构成CID-KEYED字体使用。  由一个CMAP文件与一个或多个CIDFONT文件构成的CID-KEYED字体实际上与TYPE 0一样,也是一种复合字体,只是机制与TYPE 0已完全不同。如果某一字体开发商开发出许多套CIDFONT,只要这些字库中有相同的CID组织顺序,这些CIDFONT字库就可以共用一个CMAP。而相同的CID组织顺序对于同一字体开发商来说是容易并且应该得到保证的。这样一来,可以大为节省系统资源。  ADOBE公司创建了一些CMAP资源文件,包括中文、日文、韩文。其中中文的有GB-2312的横排、竖排CMAP文件,并将马上推出GBK编码的CMAP文件。他们建议字体开商都采用这些CMAP资源文件,即根据这些CMAP的字符代码与CID值对应关系生产CIDFONT字库,这样不同的字体开发商开发的字库都用同一CMAP资源文件,可最大限度地节约系统资源。  另外,我们在同的场合使用同一个CIDFONT资源文件时,可以用与不同的CMAP文件搭配使用的方法使得同一个字符编码建立不同字符。比如,在中文、日文等东方文字中,映射到一CID值,据此CID值从CIDFONT建立的字符将是横的“[”。如表2所示。  由以上介绍可以看出,CID-KEYED格式是专为大字符集设计的、构造合理。在CID-KEYED格式出现之前的大字符集字库也很容易转换成这咱格式,是POSTSCRIPT字库生产厂商的首选字库格式。

相关资讯

  • 如何调整粘合剂来避免瓦楞纸板粘合不良?

    良好的粘合应是涂在波形瓦楞纸和面纸之间的粘合剂经过高温烘烤迅速糊化后,纸和粘合剂牢固结合,经专用设备和附件将其剥离时,撕裂的应是纸的纤维,而不应是粘合剂脱开。  瓦线使用的粘合剂,在配制过程中,主要控制粘合剂的固体含量、糊化温度和粘度。  瓦线粘合剂三…

    2025/6/29 13:40:17
  • 如何对印刷纸的湿度进行调节?

    在进行印刷工作过程中,如果没有控制好印刷纸的温度和湿度,很可能会因为产生闷车现象而阻碍整个印刷过程的进行。  印刷机对纸是非常敏感的,假如温湿度控制不好,便容易使纸产生荷叶边,对印刷输纸及印品套印产生影响。  机器在正常印刷时,输纸头、前规、拉规、输纸…

    2025/6/21 9:02:02
  • 一张图说清楚精装书

    精装书工艺怎么说更专业?用一张图告诉您!快来看看吧!封壳:由封壳面料包在封壳纸板和中径纸板上环衬:粘在书芯上下两面,起装饰作用并使书芯与封壳连接。通常是对折页,粘口粘在书脊一侧书背纸:一张薄纸粘在纱布上,起加固作用纱布:粘在书芯背面,起加固作用 堵头布…

    2025/6/20 8:09:21
  • 紫外荧光油墨 谁说纸币就不能闪亮

    紫外荧光油墨(ultra-violetfluorescentInk)是由在油墨中加入相应的可见荧光化合物而制成的。其防伪特征是:印刷品在普通光线下看不见,在紫外线下,可发出闪闪荧光。  紫外荧光油墨有隐形和有形之分。应用紫外光(200—400nm)照射激发而发出可见光(400—800nm)的特…

    2025/6/18 7:55:51

共有 网友评论