FreeType Glyph Convention(一)

1. 与文字印刷相关的基本概念

1.1 字体文件(译注1),格式及信息

字体是一组用于显示和打印的字符图像的集合。字体中的各个字符图像(character image)有着一些相同的属性,如外观,风格,衬线(译注2)等。在印刷领域,你必须要搞清楚“字体系列(font family)”和“同一系列的不同外观(font face)”之间的区别。不同的外观(face)一般来源于相同的字体模板,但在样式上有所差异。如"Palatino Regular"和"Palatino Italic"是"Palatino"系列中的不同外观。

就字体这个术语本身而言,不同的上下文中有不同的意思,即可能指某个字体系列,也可能是指特定的字体外观。如绝大多数文字处理软件使用“字体”来表达“字体系列”(如"Courier", "Palatino"等);但实际上这些字体系列对于着多个独立的字体文件,以TrueType来说,通常是一种字体外观对应一个字体文件(如 arial.ttf对应"Arial Regular"外观,ariali.ttf对应“Arial Italic”外观),有时我们把字体文件也称为字体,但这时它指的是字体外观。

包含有一种或多种字体外观的字体文件称为字库(digital font)。在字库中,每种字体外观都由字符图像,度量数据,字符集编码转换表以及与文字布局有关的重要信息构成。但对于像Adobe Type 1这种奇怪的格式来说,一个字体外观对应着多个文件(字符图像放在一个文件中,度量数据放在另一个文件)。虽然freetype 2.0可以支持这种“多文件字体”,但在本文中绝大部分时间都会忽略这种格式的细节,只考虑是单一文件的情况。

出于描述简便的原因,我们把含有多种字体外观的字体文件称之为集合字体文件(font collection)。除了亚洲字体这外,这种情况并不多见。在亚洲字体中,往往会包括多个外观,分别供横向排版和纵向排版使用。

1.2 字符图像及字符集映射表

字符图像也叫glyph。一个字符可能对应多个glyph,多个字符也可能对应一个glyph,如在Roman书写体中"fi"和"fl"就可能被制作成一个glyph。字符与glyph之间的关系是很复杂的,但我们不想在本文中进行讨论。此外,就存取字体文件中的glyph来说,一些文件格式的设计导致或多或少有些不方便。出于清晰的考虑,在说明FT时,仅保留以下概念:

a.一个字体文件包括一组glyph,每个glyph可以位图形式存储,也可以矢量形式或其它方案存储(大多数矢量描述格式都结合了数学描述和控制数据/程序)。glyph可按任何顺序存储于文件中,且一般通过索引号来访问。

b.一个字体文件包括一张或多张转换表,叫做“字符集映射表”(简称charmap),用于将指定的字符集编码(如ASCII, Unicode, DBCS, Big5等)转换成内部glyph索引号。一个字体可能有多张转换表,比如绝大多数TrueType字体都包括一张Apple特定的charmap和一张Unicode charmap,以保证在Mac和Windows系统上都可以使用。

3. 字符与度量数据

每个glyph都有与之相关的大量的度量数据,用于描述在渲染时文字该如何摆放和管理。这些内容将在第三章进行详细说明,涉及到的内容包括图像摆放,光标步进,以及文字排版。这些在进行字符串渲染时非常重要。

每个矢量字符也有一些公共度量数据,用于表示在一个字体外观中所有glyph共用的属性,这些数据使用假定的单位"units"来表示,比如glyph的的最大bounding box, ascender, descender以及文字高度等。

虽然这些数据也存在于位图字体中,但都是针对某一特定分辨率的,且通常以像素为单位来表示。

--------------------------------------------------------
译注1:关于字体和字库两个概念,通常我们会说“使用xxx字体”,或者“使用中文二级字库”。本质上两个概念是有一定差别的,一个是指风格,一个是指数量,有些文章中会把“字库”当做“字体”来解释,比如“黑体字库”,但"font"被译为“字体”还是更为合适一些。

译注2:serif一词起源于西方,罗马字体,衬线是serif在印刷学中的中文官方翻译。它是印刷领域的专业术语,指字符的边角是否有修饰性的线条,在汉字来说就是有笔锋。如黑体就是无衬线的字体,四平八稳,笔画均匀,而宋体、仿宋体就属于有衬线字体,笔画粗细不一(印刷中往往横细竖粗),而且笔画边角处有笔锋。无衬线字体称之为sans-serif,sans在法语中是“无”的意思。

(转载请注明出处)

猜你喜欢

转载自blog.csdn.net/ison81/article/details/4064534
今日推荐