1、中华人民共和国国家标准信息技术字型信息交换第部分字形形状表示发布实施国家技术监督局发布前言本标准等同采用国际标准信息技术字形信息交换第部分字形形状表示国际标准的这一部分规定了字形信息交换的字形形状表示它适合我国各民族文字的信息交换等同采用相应的国际标准有利于采用国际先进技术也便于国内外的交往在信息技术字形信息交换的总标题下由如下几个部分组成第部分体系结构第部分交换格式第部分字形形状表示第部分应用的特定要求本标准的附录是标准的附录附录附录附录是提示的附录本标准由中华人民共和国电子工业部提出本标准由电子工业部标准化研究所归口本标准起草单位第二炮兵第二研究所电子工业部标准化研究所本标准主要起草人鲁元
2、魁王有志向维良前言国际标准化组织和国际电工委员会形成了一个世界范围内的标准化专用系统或成员国通过由处理特殊技术活动领域的各个组织所建立的技术委员会来参与国际标准的开发或技术委员会在共同感兴趣的领域中进行合作其他与和有联络的国际组织政府和非政府部门在同和协作中也做了一部分工作在信息技术的这个领域中和已建立一个联合技术委员会被联合技术委员会接收的国际标准草案分送给各成员国表决一个国际标准的发布需要至少的成员国投赞成票国际标准是由联合技术委员会信息技术文件处理和相关通信分技术委员会制定的在总标题信息技术字形信息交换下由如下几个部分组成第部分体系结构第部分交换格式第部分字形形状表示第部分应用的特定要求
3、第部分规定了字型资源的体系结构即字型参考和字型资源交换所要求的字型描述字型度量字形描述和字形度量特征的第部分规定了字形信息交换格式和交换要求的最小信息子集的第部分规定了字形形状表示的结构体系和交换格式的第部分规定了对特定要求的应用如数学排字的结构体系和交换格式附录是本标准整体中的一部分附录附录附录只作为信息引言在办公和出版环境中用开放式的网络进行文件交换需要一种能交换字型信息的机制可以预见出版和办公技术将融合为一对标准的字型资源的体系结构进行定义并限制标准字型资源交换格式的数目对这种融合是一大促进中华人民共和国国家标准信息技术字型信息交换第部分字形形状表示国家技术监督局批准实施概述范围规定了字
4、型资源的体系结构以及信息处理系统中字型交换的格式同时也规定了可用一般电子文件交换中构成字型参考的体系结构及格式本标准规定了字形形状表示的体系结构和交换格式在第及第部分定义的体系结构及交换格式表示的字型资源用于或语法分析算法所承认的各种文件处理环境本标准定义的字型资源信息的编码被以和表示规定以便生成一致性的字型资源供这种处理环境之用一致性与本标准一致的字型资源与字型资源一致字型资源必须符合第章所述的一致性条件为字形过程解释器实现一致性至少应具备如下条件以至少位信息表示出数的范围不小于至操作数表中至少保持个客体引用标准下列标准所包含的条文通过在本标准中引用而构成为本标准的条文本标准出版时所示版本均
5、为有效所有标准都会被修订使用本标准的各方应探讨使用下列标准最新版本的可能性信息处理文本与办公系统标准通用置标语言信息技术支援设备公用文本拥有者标识符登记规程信息技术开放系统互连抽象语法记法一的规范信息技术开放系统互连抽象语法记法一基本编码规则的规范信息技术字型信息交换第部分体系结构信息技术字型信息交换第部分交换格式信息技术字型信息交换字形与字形集标识符的登记规程记法字形形状特性的形式结构按第章描述的记法加以规定字形形状表示的综述每种字形形状表示技术规定各不同特性的字形形状因而各有其自身的体系结构及交换格式在本标准中各个字形形状表示技术分别在各章定义当前定义的字形形状表示是标准型字形形状表示在第
6、章规定注本标准可在今后进行扩展加进规定其他字形形状表示技术字形形状表示技术分为两大类字形形状的轮廓表示和位图表示轮廓表示用数学方法描述字形形状的边界要求来描述字形其优点是允许变换如比例缩放旋转倾斜弯曲及各种式样变化而不要求附加存储要求轮廓格式也适于加进比例缩放信息称为提示它有助于保存各种大小的光栅网格的比例然而其应用不依赖于光栅设备提示也有助于对不同绝对大小显现字形作光学校正从而获得非线性的比例缩放对于光栅设备轮廓字型经调整比例缩放后可转换成最终图像与显现的位图表示然而轮廓字形形状描述的显现并不局限于光栅设备上显示它也包括矢量设备如绘图机标志刀具雕刻机或各种点的大小光栅及影印板设备不同的形状表
7、示技术其适应性可随不同的显现设备而变化位图表示对需要在光栅设备上打印的像素模式进行描述位图字形表示用在保持高标准印刷质量时以任意方式比例缩放与变换的能力较弱字形形状的位图可以表示成点的列或行或通过各种设计以提供更紧致的表示尤其是对大尺寸度量而言字形形状规范符合并包含字形形状信息的任一字型资源应包括一个特性是一个定义与这个字型资源形状特性表的特性列表信息集形状特性表形状名称形状值特性表形状名称形状值特性表型形状特性表此结构可定义任意字形形状表示标准形状表示型的体系结构在第章定义字型交换格式的扩展字型信息应使用定义的或形式进行交换这些交换格式包括含有字形形状信息交换格式定义的标记这种格式在本章中定
8、义每个字形形状表示的详细格式进一步在后面每一相应的章中定义形状特性表字形形状形状特性表形状特性见本标准第章非特性特性表国际标准化组织允许定义的符合的系统与应用以任何形式进行拷贝但所有拷贝均应包括此通知公共文件类型定义典型引用字形形状规范字形形状字形形状规范形状非标准特性形状信息典型援引形状字形形状型字形形状表示范围本章规定了一种标准字形形状表示的体系结构及交换格式标准型这种表示技术适合于但不限于低中高分辨率光栅设备上的显现定义下面的定义是本章特定的密文经过加密的信息当前点在字形描述语言中路径构造操作符最后引用的点此点可以是最新画直线或曲线的终点也可以是由移动或置当前点操作指定的最新定位点加密密
9、钥对字形过程加密或解密所需的整数字型程序编入字形过程与描述数据的结构集的计算机程序幻影主干假想的水平干线只适用于字形的及范围内如果要求正确的竖对齐则须规定幻影主干提示操作符字形过程计算机程序用本章定义的标准字形形状描述操作符或以其中定义的交换格式表示的计算机程序字形过程解释器能解释字形过程的计算机处理其目的是构造出字形的轮廓表示及扫描变换所需的相关数据结构提示附加在字形上的几何形状信息的过程或陈述规定在光栅设备上进行光栅显现时它有助于保存字形的比例及特征过调字形端点的修圆或冒尖部分它稍微超出平形状的端极限位置它对横写方式用以获得正确的字形竖对齐路径一组可能脱开的子路径和区域的集合由一个或多个路
10、径构造操作符构成一个字形的所有子路径的集合是一个单一路径明文未经加密的信息光栅化两步处理过程先确定须填充的字形区域然后建立位图以表示这些区域区域几何范围段由单一的绘图命令生成的曲线或直线定义字形形状的路径上相继点之间的曲线或直线主干模各种标称宽度的字形主干集独立的轮廓表示转变为位图表示时转换成用一个宽度的机制子路径由一个或多个路径构造操作符构成的相连的直线或曲线段的序列印刷格调显现字型的相对粗度基于字型主导主干的相对宽度也是一种显现字形形状的表面面积对显现面面积的相对度量型字形形状表示体系结构概述型字形形状表示是一种字型轮廓表示它用绘图操作符来描述字型的形状此种方法的优点是字形可按比例缩放旋转
11、并进行各种变换也可光栅化建立显现的位图来定义字形形状的特性可以是过程构造或是在字型级或字形级定义的附加说明数据字形过程可包含可选的说明提示提示由字型程序信息组成帮助字形过程解释器当字形在光栅格上比例缩放与优化时保存比例及特征但提示的用途不限于此字型级提示可对整个字型定义并帮助控制对齐及主干宽度字形级提示仅适用于定义提示的字形主要是帮助控制竖横主干的光栅化字形形状由过程构造及称之为特性的附加说明数据的定义这些附加数据帮助实现以下各种目的一般特性帮助标识字型程序及所采用的字形形状表示的类型见印刷格调特性帮助控制比例缩放与显现字形的表现权重以及获得均匀的笔划宽度见字形过程特性主要提供参数及子程序供字
12、形过程使用见注遵从本标准的字形形状表示组成计算机程序及过程因此受知识产权法律保护本章在以下各条中定义字形形状特性解释型字形形状的概念解释字形过程解释器模型定义型字形形状的特性定义字形级过程语义定义子程序过程的使用定义交换格式型字形形状概念以下各条解释有关型字形形状的概念字形坐标系统型字形形状技术使用连续的字形坐标系统该系统在的中加以阐述注本章举例中凡规定为常数的单位值都假定相对单位为字形过程语言字形过程语言用于规定字形形状和提示参数这种语言允许规定由多个不连接的子路径组成的路径整个路径构造成之后字形过程解释程序依据特性之值而使字形填满或用笔划写成实体字形过程解释器字形过程解释是一虚拟机见它解释
13、用字形过程语言写成的字形过程对齐位置对齐位置指坐标的单个位置偏移字形端点可在方向对齐字型资源具有或的值时对齐位置只能成对使用以定义对齐区见带有的值的字型资源在轴上有其基线对齐位置由及字型级特性规定且成对加以规定见及当字型资源具有的值或的值例如东亚汉字字形单一对齐位置上不必在字型中规定一般有中心字形而且字形形状的端点没有各自的对齐位置平齐位置平齐位置是主要的平行字形端点对齐的对齐位置判别什么是平行平齐字形则取决字面设计者的艺术决断判定为几乎平的端点也可认为适合于平位置对齐平齐位置概念不适用于带的值或的值的字型过调位置过调位置是一种与平齐位置有关联并刚刚超出平齐位置见图的对齐位置非平齐字形端点可依
14、此对齐其目的是在竖直方向上考虑到光学上的错觉使各种形状的字形看起来精确对齐过调位置不适用于带的值的或带的值的字型注哪些字形需要过调在理想的轮廓表示中字形端点应超过平齐位置多少都由字面设计者或研制者决定轮廓修饰及智能填充光栅化处理不属于本标准见图可控制此类延伸由此为字形所需要的大小及对显现设备上的特性所得的最终位图表示呈现出正确的竖对齐过调抑制过调抑制是指即便比例缩放处理可使过调特性舍入到超过平齐位置一个像素也不允许超过以小尺寸光栅化对齐区对齐区是介于两个对齐位置间的区域始于平齐位置而延伸至字形顶部或称顶区的最大过调位置或从最大过调位置到字形底部底区的平齐位置可以有多重对齐区一个底区及两个顶区如
15、图所示对齐区的概念不适用于带有的带值或带有的值的字型图三个对齐区表示出顶区及底区的平齐位置及过调位置提示提示信息有两大类字型级的与字形级的字型级提示称为特性所含参数适用于字型中所有字形字型级提示允许规定对齐区以控制竖对齐以及控制字型资源中所有字形的主干宽度见至字形级提示在字形过程中做了说明采用字形过程操作符仅适用于在其中定义的字形过程在字形过程中加上字形级说明提示以控制横竖主干的光栅化主干可以是直线的或曲线的对字形过程解释器提示操作符指明提示区见提示区从第一操作数规定的坐标伸展至第二操作数规定的相对位置横主干提示用以控制竖向测定的像素数此像素数由横主干转换而来竖主干提示用以控制横向测定像素数此
16、像素数由竖主干转换而来为使提示操作符有效操作数必须指明主干端点上的段终点的准确坐标这样字形过程解释器可以调整字形轮廓当比例缩放成不同大小及分辨率不同时保持设计特征及比例图所示是汉字字形的及提示举例图中显示出字形细节即关联的提示区的路径段端点及相应边界图竖干及横干举例图所示为大写字形的相应提示区以及和的操作数值的关系图字形级提示区主干提示区提示操作符操作数间的关系当字形内具有同一取向例如由两个提示操作符定义的两个提示区的提示区坐标重叠时如图所示在字形绘制过程中保持比例及特征的最好办法是在适当位置利用一组新的提示区代替原有的说明性提示区这一提示替换过程在描述图重叠区对需要对齐多个对齐位置的字型例如
17、拉丁字型不同于像汉字那样的中心对齐字型应在字型级对齐区之上或之内规定主干提示在一些字形中这是很自然的例如图所示的大写其三个横干有三个提示说明对于拉丁字型顶干的提示应延展至大写高度的位置而底干提示应向下延伸到基线图提示区及对齐位置然而在无衬线的大写中对这些提示没有横干为使大写高度及基线对齐适用于这种字形在这些位置上对不存在的横干应有定义的提示称作幻影主干见定义条如果字形中不包括这些提示其结果不被规定注为与已装入的字形过程解释器相兼容对幻影干线的宽度值有限制见附录如果字形是对字型级对齐位置进行对齐其提示也许未使顶端在顶区或之内以及底端在底区处或之内例如在大写中不会只有一个从基线伸展到大写高线的提示
18、而是有一个在大写高度上另一个在基线上注在讨论提示特性的一些条中对特性的值做出一些推荐这些值虽不是必备的但不遵循所讲的一般原则对已有的字形过程解释器可能导致预想不到的与可能不希望有的结果提示区提示区是介于字形级提示操作符的一对操作数所定义的两个位置之间的并包括这两个位置在内的区域按外边界规定字形特征如主干端点上路径段末端的精确定位路径方向子路径的逆时针定义对字形过程解释器指明区域被填充子路径的顺时针定义指明区域被包含在一填充区域内并保持未填充参考点参考点由或操作符的操作数在字形过程开始处加以规定型字型的每个字形过程必须规定参考点在随后的路径构造或提示操作符中规定的所有坐标都作为相对于该参考点加以
19、解释浅平曲线机制浅平曲线机制由三个实用子程序汇集而成供浅曲线例如杯形衬线之用当这些特征以小尺寸光栅化时浅平曲线机制可用于代替直线见提示替代提示替代机制是用一实用子程序来改变当前字形提示区的位置该机制在单个字形中当有同一取向的干线坐标重叠时使用见贝泽尔曲线贝泽尔曲线由一对三次参数方程导出是起始点是终点与此关联的控制点为贝泽尔曲线在点与由到的线相切在与由到的线段相切具有控制点控制点的曲线称为贝泽尔曲线如图所示图带控制点的贝泽尔曲线此曲线对应的贝泽尔控制点为字形过程解释器模型图是字形过程解释器模型看作是显现字形图像的部分准备过程字形过程解释器解释字形过程并构造理想字形轮廓及一组状态变量本章只确定处理
20、部分定义的语义轮廓修饰算法及智能填充算法使用几何轮廓状态变量及字型级提示作为输入以便构成适当的显现图像处理部分取决于实现本标准未予定义图型字形过程解释器模型型形状特性是形状特性的特性列表它定义型形状信息的所有特性它们包括通用字型特性印刷格调特性及具有如下形式结构的字形特性形状特性表形状名称形状值特性表形状名称形状值特性表通用特性表格调特性表字形特性表通用特性是一全局字型特性表其形式结构如下通用特性表通用名通用值特性表通用名通用值特性表口令特性涂色类型特性唯一性标识特性口令特性是可选值便于现有字形解释器使用字型注特性仅对已装入的兼容性有重要意义为兼容起见此特性所需值参见附录特性的形式结构是口令特
21、性口令名口令值口令名口令值描绘类型特性的值是必备的指明字型程序中的字形轮廓是如何光栅化的其值为下列之一填充或笔划线注此特性未指明字形如何的显现只是指明路径如何由扫描转换来处理或被填充或用笔划线这一特性与特性不同后者仅规定最后外观是实心的还是轮廓字形的特性的形式结构是涂色特性涂色类型名涂色类型值涂色类型名涂色类型值唯一标识符值可选在高速缓存中由字形轮廓生成位图时用以标识字型注此特性的主要目的是帮助唯一地标识由字型程序建立并高速缓存的位图此特性之所以必要是由于字型名的唯一性没有保证为了对当前文件以后的印刷作业允许将位图高速缓存在打印机存储器内或存放于硬磁盘中特性的形式结构是唯一标识特性唯一标识名唯
22、一标识值唯一标识名称唯一标识值印刷格调特性印刷格调特性可从概念上分为两类定义字型级对齐区及控制过调类型并与帮助控制光栅化字形的干线宽度的类型对齐及过调控制特性一般不适用于具有特性的值的字型或者的值的字型特性是仅有的必备印刷格调特性即便列表为空时也要包括无值的可选特性则不必包括干线控制类特性适用于任何字型资源特性表的形式结构是格调特性表格调名格调值特性表格调名格调值特性表蓝值特性其他蓝特性族蓝特性族其他蓝特性蓝标度特性蓝移位特性蓝模糊特性干宽特性注印刷格调特性由于历史的及兼容性的原因沿用的名称术语蓝最初在工业上使用作为字面数字化格调编码图的一部分业已证明无论在给这些性质分组或是与控制字型印刷格调
23、概念沟通都是非常有用的顶对齐区特性取值是必备的它是成对整数的值表其中整数定义一个底区的及可多达个顶区的对齐位置整数对中的每一整数表示字形坐标系中的一个竖向位置对带及的值的字型资源在正方向值的符号为正对其他值未定义取值规则如下各对中第一个整数应小于或等于该对中的第二个整数第一对应为基线过调与基线位置不同的对至少应离开三个字形坐标单位以便于区分并与表中的对相区分最小距离可由可选的特性修改一对值间的最大差有所限制在特性描述中有阐明注对拉丁字母的顶区对齐位置的例子可以包括及过调位置上伸高度及上伸高度过调位置及过调位置图形高度及图形高度过调位置高级平齐及高级过调位置普通平齐及普通过调位置空表指示字型无须
24、对齐区即便是空的列表特性也应予说明特性的形式结构是蓝值特性蓝值名蓝值有序值表蓝值名蓝值有序值表整数整数最多对底对齐区可选的特性的值是一整数对的数值表用以定义至多个底区的对齐位置每个整数对中的每个整数表示字形坐标系中的竖向位置这些底区不重复特性所需的基线区对及带值的字型资源值的符号在正方向为正对其他值未作定义值应遵从以下规则每个整数对中第一个整数应小于或等于该对中第二个整数不同的对应至少隔开三个字形坐标单位以便互相区分并与数中的对区分最小距离可由特性数来修改一对的数值的最大差受到约束在特性描述中有阐明注拉丁字形底区对齐位置的典型例子包括下伸深度过调位置与下伸深度高级基线外伸位置与高级基线以及普通
25、基线过调位置与普通基线特性的形式结构是其他蓝特性其他蓝名其他蓝有序值表其他蓝名其他蓝有序值表整数整数最多对族顶对齐可选的特性值是定义对齐位置的整数对列表其中对齐位置应与字体族中的标准字体协调一致每个整数对中的每个整数代表字形坐标系中的纵向位置此表规定了一个底区基线及多至个顶区的参考值且表中内容应与中规定的列表规则一致对及带值的字型资源值的符号在正方向为正对其他值未作定义为使族对齐坐标操作正确特性应服从以下规则选择字体族中的一个字体作为族的标准如果族中所有字体都有其对齐坐标标准字体特性的值应从标准字体拷贝为特性的值如果字型对齐结果与相应族标对齐位置由定义之差小于个像素将用族标准对齐位置代替字型中
26、的正规对齐位置注特性用以协调同字型族的不同字体的字形光栅化高度当文本中同一字型族的不同字体同时出现常常要求协调其对齐位置使各种字体的小尺寸保持一致如果不出现这种情况则只需考虑字型程序自身的对齐提示族对齐位置对各字型对齐位置相同这就是说他们是小写高度及小写高度过调之类的项目可选择特性的形式结构是族蓝特性族蓝名族蓝有序值表族蓝名族蓝有序值表整数整数最多对族底对齐区可选特性值是定义对齐位置的整数对值表其中对齐位置应与字体族中标准字体的对齐位置协调一致整数对中的整数代表字形坐标系的竖向位置此表规定多至个底区的引用值且表的内容应遵守中的规则对与的值的字型资源值的符号在正方向为正对其他值未予定义为使族对齐
27、坐标正确运算特性应遵守如下规则选择各字体族中的一种字体作为该族的标准如族中所有字体的底区对齐已协调一致标准字体的特性值应从标准字体拷贝成特性的值如字型中对齐位置与相应族标准对齐位置由定义之差小于个像素则以族标准对齐代替该字型的正规对齐注特性用来协调同一字型族不同字体字形的光栅化高度当同一字型族的不同字体在文本中同时出现常要求协调其对齐位置使其小尺寸一致如不出现此种情况则只考虑字型程序自身的对齐提示特性的形式结构是族其他蓝特性族其他蓝名族其他蓝有序值表族其他蓝名族其他蓝有序值表整数整数最多对过调抑制大小可选值规定字符过调特征在与相应的平齐位置相同的位置光栅化时大小的上限此特性与带特性带值或与带值
28、的字型资源无关对于使字形坐标系单位比由值指明的占用较少设备像素的字形大小进行过调抑制落入对齐区的特征以同一像素高度光栅化对于使字形坐标系单位比由值指明的占用相同或更多设备像素的字形大小关闭过调抑制即允许过调出现此特性由可选的值修正见值为一个数直接与竖向像素数目有关使字形坐标空间单位在过调抑制关闭之前已经占用有关值像素数的简便公式如下像素数注为在额定的像素字形坐标系单位关闭过调抑制应置为如此设置在高分辨率输出设备上过调拟制在小的比例尺寸关闭在低分辨设备如屏幕显示上过调抑制在较大点尺寸关闭最大对齐区高度与过调抑制像素大小的乘积应小于注由此限制确保过调抑制在过调对齐区达到满设备像素之前关闭例如若字型
29、包含的最大对齐区高度为且则过调拟制大小为像素而不是像素特性的形式结构是蓝标尺特性蓝标尺名蓝标尺值蓝标尺名蓝标尺值相对有理数过调强制范围可选的特性值是由字形坐标单位表示的一个整数对于大于大小的字形字形特征超过对齐区高于顶区低于底区的平齐位置并以大于或等于值字形从坐标系距离衡量时将会过调而当字形特性比值更靠近平齐位置只有扫描转换范围至少为半个像素时才有过调如范围小于半个像素其光栅化将用平齐位置对齐此特性与具有值的特性或具有值的的字型资源无关如特性没有明确设置则其缺省值为的单一设置适用于所有对齐区不论其过调位置位于何处如使用浅平曲线机制值应大于最大的浅平曲线特征高度详见可选特性的形式结构是蓝移位特性
30、蓝移位名蓝移位值蓝移位名蓝移位值区容差可选的特性的值是一个规定字形坐标系单位的整数以便在横向主干对齐区上扩大两个方向的效果若横干顶端在顶区之外的单位之内解释器将会象主干顶实在区内那样运作对底区横干的底端同此的缺省值代为此特性与具有值的特性或具有值的的字型资源无关注对精度不够的坐标数据是一种补偿然而非零值的效果通常可通过调正对齐区大小更好地达到若字型的字形是精确对齐的则不用此特性此特性应包括设置为的值由于的非零值扩大了对齐区的范围各对齐区应至少互相隔开单位特性的形式结构是蓝区容差特性蓝区容差名蓝区容差值蓝区容差名蓝区容差值主干宽信息的值是一个字型级干宽提示集它使字形过程解释器能将稍有不同宽度的干
31、线在一个像素之差也非常显著的小尺寸的情况下同样地予以光栅化注光栅化字形形状存在的共同问题是字形轮廓的额定干宽是不一致的这是由于设计者的意图或数字化出错造成的下面的干宽提示有助于光栅化器调整光栅化小尺寸的干宽同时当尺寸及分辨率合适时允许理想宽度光栅化特性的字形结构是干宽信息特性干宽信息名干宽信息特性表干宽信息名干宽信息特性表标准横宽特性标准竖宽特性特性特性特性语言组特性标准横宽可选的特性的值为一单个元素表它包含一个有理数项表示横干的宽度按字形坐标系单位进行纵向量度所有具有给定容差宽度与实现有关的横干光栅化时的像素数与由这一操作符值规定宽度的主干的像素数相同如该特性不出现则在现行字形过程中只有字形
32、级提示影响干线的光栅化特性的形式结构是标准横宽特性标准横宽名标准横宽值标准横宽名标准横宽值表长为标准竖宽可选的特性的值为一单个元素表它包含一个有理数项表示竖主干的宽度按字形坐标系横向单位进行量度所有具有给定容差宽度按像素规定并由字形过程解释器提供的字形竖干光栅化时的像素数与由操作符值规定宽度主干的像素数相同如该特性不出现则在现行字形过程中只是字形级提示影响主干的光栅化注最好的结果是此特性的值应是字型支配型主干的平均宽度例如对拉丁字型这就是小写字形的主干对斜体的字型程序它典型地是以垂直于主干方向一定角度测量的竖干的宽度特性的形式结构是标准竖宽特性标准竖宽名标准竖宽值标准竖宽名标准竖宽值表长为横主
33、干模可选的特性的值是一个横干竖向量度最常用宽度可多达个有理数的表包括表中给出的支配宽度这些宽度应按递增次序给出若此特性出现则应包括值若此特性不出现则只有字形级提示及特性值如出现影响主干的光栅化此特性允许改变主干宽度但在字形解释器提供的容差之内光栅化时对低分辨率设备像素宽度相同如此特性不出现则在现行字形过程中只有字形级提示影响干线的光栅化特性的形式结构是横主干模特性横主干模名横主干模表横主干模名横主干模值表表长度小于等于竖主干模可选的特性的值是一个竖干横向量度的最常用宽度可多达个有理数的表包括表中给出的主宽度应以递增次序给出对斜体字型此表为空或此特性可被取消如此性质出现则应包括值如此特性不出现则
34、只有字形级提示及特性的值如果出现则影响主干的光栅化此特性允许改变干线宽度但在字形解释器中提供的容差之内光栅化时对低分辨率设备像素宽度相同如此特性不出现则在当前字形过程中只有字形级提示影响干线的光栅化特性的形式结构是竖主干模特性竖主干模名竖主干模值表竖主干模特性名竖主干模值表表长度小于等于强制加粗可选的特性的值为布尔值或如粗体字型的字形干线比例缩放成与同族的非粗体字型干线有同等数目的像素且值为则扫描变换处理将粗体字型的字形干线加粗注可选的特性通知字形过程解释器将字型族的粗体必须光栅化成比常规字型更粗的字体甚至在粗体及常规字体比例缩放主干为一个像素宽大的小尺寸情况下也是如此如果在印刷格调特性中包含
35、名的特性则可明显地控制此特性特性的形式结构是强制加粗特性强制加粗名称强制加粗值强制加粗名称强制加粗值语言组某些书写语言组具有很多美学特性这类语言组的标识对字形的精确光栅化很有用可选的特性的值是一个整数它指明语言组首先想给定的字型如印刷格调性质表不含这一特性或若给定值不为字形过程解释器所识别则的值缺省为本标准目前只定义两种语言组称为第组和第组对的附加值可以留作本标准使用组语言由拉丁文希腊文及西里尔文书写体组成组语言由中国汉字日本汉字及朝鲜汉字等书写体组成注值为的字型资源的主要特性是其字形所含干线要大大多于其值为的字型资源的干线这会影响字形过程解释器对修圆主干宽度为光栅网格的决定特性的形式结构是语
36、言组特性语言组名称语言组值语言组名称语言组值整数字形特性字形特性由字形过程解释器在解释字形过程的处理中所引用的参数和过程组成它们包括形成重读字形成分字形表用于画出部分或整个字形的子程序与提示有关的其他操作以及与字形过程加密有关的信息字型特性表的形式结构是字形特性表字形名称值特性表字形名称标准字形值特性表字符加密特性字符前缀长特性重读编码特性表字形符过程特性表字形过程加密可选的特性的值是布尔值它指明字形过程是否加密见及附录值指明字形过程加密值指明过程不加密如为则应有且其值为如特性未作规定则其缺省值为特性形式结构是字形过程加密特性字形过程加密名称字形过程加密值字形过程加密名称字形过程加密值字形前缀
37、长度可选特性的值规定一位组字节数在字形过程交换格式中它位于字形过程操作符之前并且被字形过程解释器忽略其缺省值为注允许值为这将使字形过程达到最小见附录特性的形式结构是字形前缀长度特性字形前缀长名称字形前缀长值字形前缀长名称字形前缀长值重读成分表字型程序中可包含名为的可选特性它是字形标识符的有序表如该特性出现则由标准的索引重读字形操作符见所引用的成分字形的索引标识符将对引用进行解释如不出现则其缺省值由附录的列表规定若使用的标准索引重读字形操作符的重读字形则引用超过长度的字形代码其结果未作规定特性的形式结构是重读编码特性重读编码名称重读编码值重读编码名称重读编码值见附录注在附录中第列缺省重读成分表包
38、含以表示的整数及结构名数据对所需的值子程序可选的特性的值是一个字形过程子程序表子程序可以包含字形操作符包括绘制路径和子路径的操作符定义提示调用其他子程序的任意组合可由表中参考其位置进行访问且服从中所述的限制特性的形式结构是子程序特性子程序名称子程序值表子程序名称子程序值表字形过程字形过程位字节串见字形过程交换格式字形过程特性是由字形名与字形形状过程所组成的特性对的有序特性表特性的形式结构是字形过程值特性表字形过程特性名称字形过程特性值特性表字形过程值特性名称字形过程值特性表字形名特性字符过程特性字符名特性是一个结构名也是一个字形名并且其形状由下列特性描述此特性在中定义字形过程是一个位字节串是绘
39、制规定字形的过程字形过程只应包含由本标准定义的字形过程操作符特性的形式结构是字形过程特性字形过程名称字形过程值字形过程名称字形过程值字形过程语义不像中定义的印刷格调特性它们本质上多为说明性的字形过程按字形过程解释器所解释的过程语言的形式表示单个字形的形状本条定义一种虚拟机它将字形过程解释处理模型化并阐明字形过程语言操作符的语义及用于描述此种语义的记法虚拟机模型仅作为定义字形过程语义的模型之用它既不限制字形过程解释器的实际实现也不限制字形过程语义在特定的字形过程解释器中实现的方法虚拟机字形过程解释的处理被模型化为虚拟机虚拟机模型由下列成分组成解释器字形过程权标操作数表状态变量隐含结果堆栈虚拟机成
40、分的定义与四个概念有关客体状态操作和顺序客体是离散的数据单位可在虚拟机上操作每个客体都有类型和值本条定义了客体类型任何虚类型在使用中作为虚拟机操作的操作数和客体描述语义在中规定虚拟机的状态由操作数表中的客体与虚拟机专用的数据集的组合加以确定此状态可通过虚拟机执行的操作加以改变操作是虚拟机采取的动作它包括操纵客体和操纵虚拟机的状态影响操作的有字形过程中的操作符用作操作数的客体以及虚拟机在操作前的状态顺序对虚拟机是整体性的或多个权标按特定次序进行解释可以重复按顺序执行的操作对于虚拟机的状态有累积的效果图阐明虚拟机模型图虚拟机下列各条规定虚拟机的成分字形过程标记各字形过程八位字节串见都含有在中定义的
41、字形过程交换格式的权标序列每个权标或是文字或是操作符在字形过程交换格式中文字是客体的表示并非所有的客体类型在交换格式中都有文字表示字形过程解释器解释器按顺序解释字形过程中的权标解释文字权标使该文字表示的客体换成操作数表头解释操作符权标时虚拟机执行的动作与特定的操作符有关本条规定的操作符集及其语义在中进行定义解释操作符引起的动作可包括将客体如操作数从操作数表头或表尾除去对客体进行计算或其他操作生成新客体将客体作为结果置于表头清除操作数表改变状态变量的值在字形坐标系统中构造或增加路径操作数表操作数表是一个可容纳任何数目客体的双端表尽管个别实现可能限制表的最大容量操作数表是一个复杂的表可容纳客体类型
42、的任意组合注本标准中的表表头表尾放入移去等术语与普通的计算机科学用法相一致将客体作为显式操作数的操作符在操作数表头或操作数表尾把客体除去作为显式结果返回客体的操作符将客体置入操作数表的表头操作数表中的客体是虚拟机状态的组成部分状态变量虚拟机成分是状态变量集变量值的作用很多操作当作隐含操作数并形成虚拟机的部分状态在各字形过程解释起始所有状态变量的值都重置为其缺省值下列各条定义了每一个状态变量它的类型及其在给定字形过程的解释起始时的初始值当前点当前点状态变量是一数对它规定字形坐标系中的一个点当前点的初始值未定义当前点的值是由所需的或操作符建立这些操作符必须在各种路径构造操作符执行之前出现当前点规定
43、字形坐标系中的一点相对于该点下一路径段将被构造当前点状态变量的值可由和等操作符修正转移转移状态变量的值是一数对它规定字形坐标系中的一个点该点在字形过程执行之后将成为新的当前点其初始值未定义其值由或操作符修改当前路径当前路径状态变量的值是由字形过程正在构成的当前路径状态其初始值为空当前路径状态变量的值是按路径构造操作符修改横主干横干状态变量的值是定义横提示区的数对的表横干状态变量的初始值为空横干状态变量的值可由或操作符修改竖主干竖干状态变量的值是定义竖提示区的数对的表竖干状态变量的初始值为空竖干状态变量的值可由或操作符修改点节点节状态变量的值是标识当前路径的子路径该子路径不受字型级对齐区或字形级
44、提示区的影响其初始值为空其值可由点节提示操作符修改隐含结果堆栈调用实用子程序的结果被置入隐含结果堆栈操作符可用于从隐含结果堆栈中除去一项并将其置入操作数表头中数据类型由虚拟机所处理的客体有关联的客体类型和值本条定义了用于本标准的客体类型客体类型整数整数类型客体是一个整数整数类型客体的文字表示在中阐述数数字类型的客体可由分数表示字形过程操作符组成用于生成字形过程的语言的操作符按功能分为五种用来开始和结束字形轮廓的操作符路径构造操作符提示操作符算术操作符子程序操作符字形过程记法的一般形式是操作数表操作符结果表操作符的编码值在操作符名后的括号内给出操作符编码值可由一个或两个位字节值组成注操作符编码值
45、用的记法形如其中与都是从到的十进制数最大有效半字节由表示最小有效半字节由表示因此等价的十进制数等于字形过程操作符可不带操作数或可由双端操作数表的表头或表尾取得操作数表给出了出现在字形过程记法之前的指明动作的符号表字形过程记法前的符号操作数表记法动作无操作数从表头除去操作数从表尾除去操作数在动作执行之后字形过程操作符或可保留改变的操作数表明确地清除表格或可将结果置入表头表给出了出现在字形过程记法之后指明结果的符号表字形过程记法后的符号结果表记法动作表格不变表中现有操作数可能已被引用但未除去将结果加在表头如有的话除去操作数后清除表格因为很多操作符都将操作数表清除操作数一般来讲不会在字形过程解释器操
46、作数表中积累而要让命令序列稍后除去操作数通常只能由下一操作符提供但子程序调用或遇操作符时出现值得注意的例外用于起始与结束的操作符字形过程应以或操作符开始规定字形的参考点和转移字形过程应以操作符结束但用操作符建立合成字形见时除外图阐明字形过程解释器的状态图图字形过程解释器状态图参考点和转移规定了字形的参考点和转移操作数和的类型是数操作数为后续的相对路径构造操作符在处设置一当前点状态操作符把当前点状态变量设置为转移状态变量设定在如果与值两者都是则操作符可用来代替操作符操作符不在字形路径中放置参考点操作符应被用于路径上的第一点在路径构造或提示说明操作符用于字形过程之前或仅用一次在无标记字形如间隔字形
47、参考点应是和操作数复制中字形度量信息的和分量对一致字型这些值应至少对一种字型书写模式进行标识注操作符用作为降低存储诸需求的手段减少某些字形操作符操作数的绝对值因为从至的值可以用单个位字节表示注对带值的字型建议使值等于的最小值与之差的值为与已安装的字形解释器兼容最佳应取值横参考点和转移规定字形的参考点和转移与操作数的类型是数操作数为后续的相对路径构造操作符在处规定参考点操作符将当前点状态变量值设定在转移状态变量设定在操作符不在字形路径上设置参考点操作符用于路径中的第一点在路径构造或提示说明操作符用于过程之前或仅用一次在无标识的字形如间隔字形中参考点应是操作数复制中字形度量信息的分量对一致字型这些
48、值应至少对一种字型书写方式进行标识注对带值的字型的值等于的最小值与之差的值结束字形结束字形轮廓定义并且应是字符过程中的最后操作符使字形过程解释器按特性所指明的方式绘出字形的路径如操作符未使字符过程结束则字形不能光栅化不应使用操作符定义的复合字形因为每个分量字形过程应以操作符结束标准的索引加重音符的字形该操作符通过索引引用相同字型的两个字形成分构造重读字形和操作数的类型都是数和的类型是非负整数操作数是重读号参考点的部件其值应与在重读号自身的字形过程中或操作符的操作数相同复合字形通过将重读号参考点置于相对于基础字形的参考点偏移来构造操作数是对基字形的字形标识符的索引引用操作数是对重读号字形的字形标
49、识符的索引引用和是重读成分表中的索引使用操作符构造复合字形见中的解释如重读字形的两个分量部分的字形标识符都不在重读的分量表中出现则不能用操作符建立重读字形分量字形本身不应是由操作符产生的复合字形起始复合字形的或操作符与基础字形由操作数引用的字形相应的操作符应有相同的操作数和操作符因重读和基础字形过程都以各自的操作符结束所以操作符是重读字形的字形过程中的最后操作符注使用此操作符节省型字形程序的空间但其使用仅限于在重读成分表中定义成分的字形为构造多成分复合字形的一般方法建议使用子程序见附录路径构造操作符以下操作符可用来为当前字形构造路径子路径不能自身交叉或与其他子路径相交叉如有交叉其结果随实现而定要填充的子路径应以逆时针方向定义不被填充子路径应以顺时针方向定义关闭路径关闭一子路径注字形子路径都应以操作符结束否则在绘制路径通过设置为时可能产生意想不到的结果此操作符不重新定位当前点在操作符给出之前随后的须强制性地相对于当前点进行移动横线至给当前路径附加长度为的横线段操作数操作数的类型为数横移至在横向增加单元并重新定位当前点操作数类型是数与等价横竖曲线至给
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1