3 OpenType 字体技术概述
OpenType 是Microsoft 公司和Adobe 公司联合开发的一种基于Unicode 且与平台无关的字
体格式。它是TrueType 字体格式的一种扩展,并融合了PostScript 字体技术。OpenType 的优势
是其跨平台性、支持Unicode 字符集和高级布局特征,能更好的支持国际化的处理。
OpenType 对复杂文本的支持是通过OpenType 布局(layout) 表来实现的[6 ,7 ] ,这些表包括字
形定义表(GDEF) 、字形替换表(GSUB) 、字形定位表(GPOS) 、基线调整表(BASE) 、对齐表(JSTF)
等,由于蒙文主要用到了GSUB 表,所以下面主要介绍一下GSUB 表,其他表的介绍可以参见文
献[8 ] 、[9 ] 。
1) GSub 表的类型
GSub 表实现了字形ID 到字形ID 的替换,用它可以解决前面提到的根据上下文选择恰当
显现字形的问题。GSub 表定义了六种类型替换:
Ó 单一替换:以一个字型替换另一个字型。
Ó 多替换:以多个字型替换一个字型。如,连字的分解。
Ó 变体替换:字符的多个变体之一来替换字符对应的字型。
Ó 连字替换:以连字字型替换一串字型,是第二种替换的逆过程。
Ó 上下文替换:是功能最强大的一种,可以将一个或多个字形替换成另外的一个或多个
字形。
Ó 链上下文:在链上下文中替换一个或多个字型。
2) GSub 表的访问流程
OpenType 对布局表的访问是通过标签(tags) 来实现的,OpenType 定义的标签有:
文字(script) 标签:hani 表示中日韩文字,mong 表示蒙古文。
语言(language) 标签:一种文字可能含多种语言,如中文有简体(标签为ZHS) 和繁体(标签
为ZHT) 。传统蒙古语的语言标签是MNG。
特征(feature) 标签:特征标签提供了如何用字库中的字形来显示一种语言文字的信息。
例如init 标签将字形替换成其首写形,fina 标签将字形替换成其尾写形。OpenType 的高级排版
特性都是通过特征标签来实现的,目前已经定义了几十个特征特征标签,另外字库设计者还可
以自定义特征标签。 |