文档结构  
翻译进度:已翻译     翻译赏金:0 元 (?)    ¥ 我要打赏
参与翻译: toypipi (43), tony (1), pauli (1)

OpenType字体格式规范的1.8版本引入了广泛的新技术,几乎影响了设计版式的每一个领域。 OpenType可变字体是一种等同于多个单独字体的一种字体,它可以紧凑地封装在单个字体文件中。这种字体是通过定义字体内的变化来实现的,通过构成单轴或多轴的设计空间,从而可以内置许多字体实例。可变字体是一个单一字体文件,其行为类似于多种字体。

这种技术有很多好处。可变字体是一种可以大大减少可比较文件大小的单个二进制文件,因此,只需要很小的空间占用和 Webfonts带宽。这意味着可以更高效地封装嵌入字体,可以更快速地交付和加载Webfonts。 在变化设计空间(或设计动态空间 --用其技术来命名)中的自定义实例的动态选择的潜能,开创了微调调色板领域让人激动人心的前景,而且可以适应新型的响应式排版。这样的排版可以适应目前最佳的动态内容到读者的设备,屏幕方向,甚至阅读距离 。

 

第 1 段(可获 2.25 积分)

各种字体应用的技术被称为OpenType字体。它由微软,谷歌,苹果和Adobe共同开发,以一种前所未有的合作,还包括从字体设计公司和字体工具开发商的技术专家。除了指定字体格式添加和修改外,工作组还致力于实现可互操作的目标,定义用于显示可变字体的软件的预期行为和测试套件。这得到了字体开发者和用户的欢迎。因为他们曾经常困惑于早期OpenType的不兼容性,各种软件公司有自己不兼容的实现。

第 2 段(可获 1.29 积分)

OpenType字体变体建立在20世纪90年代中期在Apple的TrueType GX变体中建立的模型之上,但是已将该模型完全集成到OpenType格式的所有方面,包括OpenType布局,并且可用于TrueType和压缩字体格式(CFF) 风格的OpenType。 这意味着不仅增加了许多表格的格式,而且修改了许多现有的表格; 这些更改总结在本文的附录中,旨在作为介绍和技术摘要,主要面向字体制造商和字体工具开发人员。 OpenType字体变体的完整技术规范被并入OpenType规范1.8版本

第 3 段(可获 1.39 积分)

基础

OpenType可变字体包含一个或多个轴,每个轴提供字体设计的不同极端之间的特定变化。 该格式还允许对于整个字形集或针对单个字形的中间设计的可能性,以便在变化设计空间上变化时对设计提供更精细的控制。 此外,存在允许根本的字形形状变化替代所得到的设计空间的离散区域的机制。 大多数字体制作者已经熟悉设计大师之间的插值,作为其工作流程的一部分,用于创建具有权重,宽度或光学尺寸范围的复杂字体系列。 创建字体变体技术的工作组的目标之一是确保这样的工作流和现有设计源可以容易地适应于生成新的可变字体。

第 4 段(可获 1.79 积分)

然而,与诸如Adobe早期多主格式之类的基于主的插值技术不同,OpenType可变字体仅包含单个字形轮廓集合,并且其他极值或中间形状被定义为来自这些轮廓的增量。 因此,例如,字体可以包含对应于字体的常规权重和宽度的一组字形轮廓,并且较轻,较重,较窄和扩展设计将在字体数据中表示为轮廓节点相对于该轮廓的移动。 这允许设计空间的紧凑表示,并且还意味着一些边角极值也可以被插值,而不是在每个极端处需要母版(字体制造者当然可以决定使用角原件而不是依赖于插值)。

第 5 段(可获 1.65 积分)

在由字体的变化轴创建的设计空间内,字体制作器可以将特定位置定义为命名实例。 命名实例对用户显示,就像它是一个单独的字体,例如。 字体的轻或粗体,并且可以在文档中使用,就像它是单个非可变字体一样。 因为这些命名实例被定义为设计空间内的坐标位置,而不是作为母版,所以字体制作者在决定如何排列和命名实例以及微调命名实例的插值时有很大的自由度 。 设计空间内的任何位置可以是命名的实例(虽然存在涉及到中间主控或形状替换范围的转换的一些建议),并且存储在字体中的单个轮廓集是否对应于一个命名实例, 取决于是否有向后兼容性约束。

第 6 段(可获 2 积分)

理解基于母版设计的字体开发源和仅包含单个轮廓的可变字体之间的架构区别,对于字体制作者和字体工具开发者有重要的意义。 这意味着可变字体可以覆盖由源母版定义的设计空间的全部或任何部分。 这可能是非常有用的,特别是对于为特定客户和用户定制“切片”的设计空间时,例如。,还包含仅包含客户端需要的轴(仅包含权重轴,例如省略宽度或光学大小等其他轴)的更紧凑字体,或具有自定义命名实例的字体版本。 因此,字体工具开发人员应当注意对源母版和可变字体变体的包装之间的关系做出假设,并且应该为字体制作者提供最大的灵活性。

第 7 段(可获 1.8 积分)

兼容性

因为OpenType字体变体是一种新技术,它需要对操作系统和/或应用程序中的字体处理基础架构进行大量的更新,并且向后兼容性非常有限;这也与TrueType和CFF风格有所不同。

在TrueType可变字体中,提供了最小级别的向后兼容性,在变量字体的“glyf”表中的默认轮廓集(默认实例)将显示为一个简单的单个字体。为了确保在较旧软件上显示的默认实例与变体设计空间中的对应实例之间的兼容性,轮廓集应为适当的命名实例。 [这种回退行为需要仔细地传达给用户,否则他们可能会奇怪为什么他们在新的环境中看到多个命名实例,但是在旧的环境中只有一个字体。预计一些字体客户将在一段时间内同时需要可变字体和非可变版本的字体,以便在较新和较旧的环境中部署。]

第 8 段(可获 2.09 积分)

Adobe仍然负责CFF规范,决定维持这种兼容性会过度地限制CFF字体架构,而不是为客户提供显著的好处。相反,Adobe定义了一个全新的版本CFF 2和一个相应的“CFF2”字体表。因此,CFF 2字体与旧软件没有向后兼容性。与原始CFF不同,新版本不能用作独立的字体程序,但仅适用于OpenType字体。因此,它不再包含可以存储在OpenType表中其他位置的数据(例如,根据字体制造商选择的表格格式,现在存储在“post”表中或从“post”表中省略的字形名称),并且排除任何在OpenType字体的上下文中不需要的数据。这与新的CFF 2 Charstrings中的优化一起有助于进一步减小文件大小。 【注意,尽管CFF 2被设计为启用可变字体,但是也可以使用“CFF2”表制作非可变字体,但同样没有向后兼容性。理论上也可以制作一个包含“CFF2”和旧的“CFF”表的单个字体。】

第 9 段(可获 2.56 积分)

核心技术

OpenType字体变体的核心是定义设计空间的表以及它如何向用户呈现。这些表中有些直接改编自苹果的TrueType GX架构,但已修订和增强。这种方法的一个结果是,由Matthew Carter设计的Apple的GX展示字体Skia,其一些方面仅在支持OpenType可变字体的平台上只有轻微修改。

字体变体'fvar'表描述了在字体中使用的变化轴:有多少轴,哪些参数应用于变体,以及如何呈现给应用软件。 'fvar'表还存储命名实例信息。因此,例如,“fvar”表可以定义设计的最轻与最重(其中存储在字体中的默认轮廓集在二者之间的某处)的字重轴,并且还可以定义多个沿着该轴的命名实例,例如特细,细,稍细,常规,半粗体等。注意,这些命名实例可以沿着该轴任何位置定义,并且不需要对应于轴极值或默认轮廓集。在多轴字体中,轴在默认轮廓集合处相交,并且命名实例可以在所产生的多维设计空间内的任何位置处定义。可变字体可以包括的变化轴的数量没有实际限制(架构限制为64k,因为在OpenType格式中最多定义这么多);当然,对于类型设计者来说需要有一个理智的限制,因为每个额外的轴可以增加设计空间的复杂性。过度复杂的可变字体也可能使最终用户感到困惑,他们可能很难理解如何有效地利用这些可能性。

第 10 段(可获 3.83 积分)

五个或多或少的公共变化轴在OpenType字体变体规范中注册了轴标签 - 字重<wght>,宽度<wdth>,光学尺寸<opsz>,斜体<slal>和倾斜<slnt>,他们有一些假定的行为。字体制作者还可以使用自己的四字符标签和在“name”表中存储为字符串的localisable名称定义自定义轴。如果随着字体制造商参与该技术,则可以在将来注册另外的公共轴标签。

字体中的每个附加轴将增加设计空间的复杂性。该图说明了具有字重,宽度和光学尺寸轴的三轴可变字体的设计空间。红色在设计空间中间的字形表示存储在字体中的轮廓集合,并且每个绿色字形表示在三个轴的极值处的增量,其由红色实线指示。注意,设计空间被归一化,使得轮廓集和轴的极值之间的距离都是相同的,即使轮廓不表示设计极值之间的中间点。橙色字形表示从轴导出的角位置。这些位置处的实例可以与极值的增量插值,或者可以被存储为额外的增量集,即从设计源中的单独主母版导出。

第 11 段(可获 2.9 积分)

图1. 3轴可变字体的标准化设计空间。
[字体:Kepler,由Robert Slimbach设计的Adobe原创字体]

以相同的方式,设计空间的角可以由一组存储的增量内插或控制,可以以这种方式控制设计空间内的任意位置。 沿着轴的任何点可以从中间设计主母版导出,以更好地控制极值之间的插值,并且围绕轴的多维空间内的任意位置也可以从这样的主母版导出并且存储为中间增量集合 。 这为字体制作者在决定用固定设计控制哪些空间区域以及允许内插时提供了大量的灵活性。

第 12 段(可获 1.64 积分)

轴不必影响字体中的所有字形,也不需要轴表示宽范围的变化。 因此,多轴字体并不总是意味着大量复杂的设计空间。 字体制作器可以将沿着轴的过渡的行为设置为渐进或突变,从而有效地使得轴能够作为变化之间的切换或者没有中间变化的一系列离散变化。 还可以创建仅影响单个字形的轴,例如, 调整大写字母Q的尾部的长度或者仅影响具有特定特征的字形的子集的轴,例如。 一个缩短或延长上升的轴。

第 13 段(可获 1.56 积分)

在TrueType风格字体中,默认实例轮廓集存储在标准Glyph 'glyf' 表中,就像在非变量TTF中一样(这是为该风格提供了最小的向后兼容性)。 描述TrueType轮廓在设计空间上如何变化的变化数据存储在Glyph Variations的“gvar”表中。

在CFF风格字体中,默认实例大纲集和字形变体数据都存储在新的“CFF2”表中。 变体模型在两种风格中都是相同的,但是数据以不同的方式存储。

第 14 段(可获 1.18 积分)

其他变体特定表,这些表中的一些是可变字体中需要的,另外一些是可选的,提供了对字体和字形度量的变化的控制,并且还使得字体制作者能够以沿特定轴变化的方式修改设计,例如,以更小的类型尺寸更快地应用光学尺寸内插并且在更大尺寸下更缓慢地应用光学尺寸内插。 有关与字体变体相关的所有新表和修订表的摘要,请参阅本文附录。

OpenType可变字体的布局

对于许多字体制作者和用户,OpenType布局的字形替换和定位能力是OpenType格式的最显著和重要的方面。 在OpenType布局表中集成可变字体技术允许字体制造商提供变体设计空间与字形替换和定位特征之间的交互。

第 15 段(可获 1.65 积分)

对字体制造者来说,显而易见的是,如果字形形状在变化设计空间中改变,则它们的间距也改变,并且Glyph Positioning 'GPOS' 表中的所有数据将需要进行相应的调整。这意味着,字偶距调整(kerning pair-adjustments),标记锚附件(mark anchor attachments),草书连接附件(cursive connection attachments)和其他GPOS查找类型都需要与变体进行交互。这通过引用字形定义“GDEF”表中的新的项变体存储( item variation store)来完成,该表存储用于坐标的设计网格X和Y增量,其方式类似于字形轮廓增量存储在字体中其他位置的方式。变量字体存储默认实例轮廓集的默认GPOS查找坐标,以及项变体存储( Item Variation Store)增量,用于轴极值和设计空间中任何其他增量集的已调整坐标。在GPOS表本身中,GDEF项变体存储库的索引在现有(但很少使用)的GPOS设备表格格式的变体中指定,这使得能够对非可变字体中的定位查找进行ppem大小特定的调整。从字体工具的角度来看,大部分字体对于字体制作者来说是不可见的,他们将负责为设计母版定义适当的GPOS查找。

第 16 段(可获 2.53 积分)

虽然对字形定位的调整可能在任何可变字体中都需要 - 或许某些等宽字体不需要,具有变体的字形替换交互更有可能由字体制造商判断并反映了特定字体设计的本质。 字形替换“GSUB”表中的新的FeatureVariations表可用于将备用GSUB查找与变体设计空间中的区域关联。 例如,可变字体可以沿着宽度轴在不同范围采用不同的连字替换,或者在字重轴上禁用针对较重实例的图形复杂的旋转变形形式替换。 另一个有趣的情况是减少东亚(CJK)字体中的笔画,其中替换光学尺寸轴上的大小特定变化提供了一个OpenType风格独立的方法,以提高可读性,而不依赖于在一些以前的字体中使用的TrueType提示方法 。

第 17 段(可获 1.83 积分)

除了FeatureVariations表,它可以为任何GSUB功能提供依赖于变化的行为,还定义了一个新的用于可变字体的OpenType布局功能:必需的变体替代<rvrn>。此功能在OpenType布局中提供了一个相对简单的机制,以实现类似的功能,即将特定字形或字形集合的增量集插入变体设计空间。此功能旨在根据所选的变体实例或区域设置初始字形,以供后续处理使用,因此预计将在OpenType布局开始时由图形渲染引擎处理,甚至在本地化表单<locl>功能之前。 <rvrn>功能有一些限制,其他功能没有:a)需要与FeatureVariations表一起使用(见前面的段落),b)应该只包含一对一(GSUB查找类型1)替换(将忽略该要素中的任何其他查找类型)。

第 18 段(可获 1.99 积分)

字体制作者应该意识到,当制作一个可变字体时有时可能有不止一种方法来实现特定的结果。 最佳选项——例如,将中间增量集插入设计空间的区域中,或者使用<rvrn>特征以使用GSUB FeatureVariations表访问该区域的变体字形-——可能取决于设计的本质和源如何制作,字体制作工具和字体制作者的能力,或只是在字体制造商的偏好或舒适与OpenType字体变体的不同方面。

第 19 段(可获 1.23 积分)

可变字体提示(hinting)

尽管屏幕分辨率的增加和各种反锯齿渲染的进步,大纲栅格化的字体级优化 - “提示(hinting)” - 对于一些环境和许多用户仍然是重要的。

因为PostScript Type 1字体,相对简单的CFF提示模型保持原样,大体不变。字体制作者负责定义垂直对齐“蓝色(blue)”区域,以及水平和垂直词干提示和标准值。通常,这些将在每个设计主体的源中定义,但是由生产工具以变量字体写成增量。在可变字体中,字形和字体级提示数据与默认轮廓一起存储在“CFF2”表中,增量和插值与字形一样。 CFF 2中包括的提示数据的进一步增强使得不同的对齐区域和标准词干值能够应用于字形子集。因此,例如,对于所覆盖的各种书写系统,多国语系字体可以具有不同的值。

第 20 段(可获 2.01 积分)

TrueType有一个更明确的提示模型,基于TrueType指令集,它为字体制作者提供更好的控制,影响各种环境中字体的显示。 近年来,屏幕分辨率的增加和抗锯齿渲染样式的改变已经实现了TrueType提示的“轻(light)”形式,使其集中于垂直对齐区域和水平杆距离,密度和定位的控制。 对于许多字体制作者而言,这表示向更像PostScript提示模型的转变,但仍然能够访问更明确的指令,例如, 以离散像素每像素(ppem)大小调整垂直位置,以及调整TrueType提示模型的更高级编程函数。

第 21 段(可获 1.38 积分)

TrueType变量字体提供了显著的开发优势:许多字体的功能等同,但只有一组要提示的轮廓。 对齐区域和标准字干值或与默认实例大纲相关的其他距离与非可变字体一起存储在控制值“cvt”表中,而对这些值的增量存储在新的CVT变量'cvar'表中 。 与变体的其他方面一样,'cvar'数据与'fvar'表中的字体变体数据交互。 该模型使得将与轮廓集中的字形上的CVT值相关联的一组字干提示调整到增量和插值实例。

第 22 段(可获 1.36 积分)

在一些情况下,字体制作者可能希望对设计空间中的实例或区域应用超出可能的CVT值的增量和插值的特定提示行为。 例如,在图形复杂的字形中,可读性可以通过沿着一个或多个变化轴在特定区域中以特定ppem尺寸向上或向下移动某些元素来改善; 或者,字体制造商可以决定较重的权重将受益于特定的CVT词干值,在一些ppem大小下略微更重,以更好地与中等权重实例区分开。 为了支持这一点,已经向TrueType提示指令集添加了新的GETVARIATION指令。 该指令报告当前实例的变体设计空间中的坐标,允许应用条件提示。

第 23 段(可获 1.68 积分)

新的指标变化'MVAR'表中的数据可用于调整在设计变量空间上应用网格拟合和扫描转换过程'gasp'表中的设置的ppem大小,例如改变沿着字重轴的变化的y方向抗锯齿打开的大小。

重新考虑字体家族

OpenType'name'表是一个由字体,字体家族,体重和其他样式标识符组成的混乱集合。 在OpenType首次发明后的二十年中,它只是变得更加混乱,仅仅为特定平台和风格映射模型添加了新的名称ID。 字体中样式名称的连接在字体制作者中没有固定的模式,并且达到了可笑的长度。 一个字体制造商称之为“Acme UltraBlack Condensed Display Roman”而另一个可以把它叫做'Acme Roman Super Black Display Condensed'。

第 24 段(可获 1.73 积分)

OpenType字体变体的开发 - 其中在定制设计轴上的命名实例可以容易地引入新的名称结构 - 提供了从根本上改变对字体样式识别的方法的机会。 样式属性“STAT”表不是通过名称ID,而是通过一组属性值来识别字体样式。 'STAT'表对于可变字体是必需的,但对于所有新的非可变字体也推荐使用。 字体工具应该能够从新表中的样式属性自动生成许多“name”表数据,从而使字体制作者免受关于“name”表ID的决定,并提高这些ID的一致性。

第 25 段(可获 1.3 积分)

'STAT'表以相同的方式处理可变字体的轴和一系列字体的样式变化的种类,并且需要每个字体的轴记录。 因此,例如,可变字体中的字重轴和非可变字体族中的字重变体字体将被记录为具有字重轴。 相关轴记录也将在字体族之间共享,例如, 罗马和斜体,无论是否构建为可变字体。 字体制作者可以在'STAT'表中的轴记录的排序中对应用程序字体菜单中的风格排序或动态名称连接(取决于软件实现)进行一些控制。

第 26 段(可获 1.4 积分)

特定样式变量(无论是可变字体实例还是单独的非可变字体)的详细信息存储在轴值表中,其格式针对不同的数据类型。 将风格定义作为离散属性的集合的处理使软件能够识别沿着特定设计轴的实例或系列成员的关系; 例如,独立于重量,宽度或其它轴的光学尺寸关系。 这意味着软件可以参考属于特定功能的属性,例如找到不同重量或斜体伴随字体中的匹配光学尺寸设计。

第 27 段(可获 1.23 积分)

'STAT'表包括用于在以后向字体族中添加新样式的规定,而不需要更新较早字体中的轴记录。 这是一个名为OlderSiblingFontAttribute的标志,它提供了关于新轴的“normal”状态的信息,该轴被假定为该轴相对于较早字体的状态。 例如,如果新的压缩和/或扩展字体向先前仅具有字重轴的字体族引入宽度轴,则该标志可以用于指示较旧的字体是设计的正常宽度状态。

第 28 段(可获 1.28 积分)

结论。 为什么是现在?

包含可插值设计空间和命名的或动态实例的字体的想法并不新鲜。 OpenType可变字体直接构建于Apple在QuickDraw GX图形环境中介绍的TrueType技术之上。 类似的技术有,Adobe的多主母版以不同的方式接近类似的概念。 因为种种原因,这些早期的技术未能在上世纪90年代兴起,而对这些事情有着长期记忆的字体制造商们 - 可能会在这个时候怀疑地问这一次会有什么不同呢?

第 29 段(可获 1.1 积分)

像很多其他驱动字体业务的改变因素中,很大一部分原因是网页字体,以及需要更紧凑和更快的方式为网页提供动态字体。 可变字体还具有响应于诸如设备方向或甚至观看距离之类的东西而对电子文档启用新种类的排版的潜力。 紧凑和更快的字体还为在设备中嵌入字体提供了显著的优势,特别是对于东亚(CJK)和其他具有非常大的字形集和字符覆盖的字体。 可变字体的更小的设备和磁盘是鼓励软件公司支持该技术的主要因素。

第 30 段(可获 1.39 积分)

新技术的发展方式也与1990年代的情况非常不同。 与输入的数字文本和版式的四个主要平台制造商合作,共同设计了 OpenType 字体变体。虽然早期的字体插值技术出现在20世纪90年代初的字体格式化战争中,并且由个别的,竞争的软件公司开发和支持,OpenType可变字体是新的合作的产物,其目的不仅在于定义通用标准,而且能够互操作实现 。

第 31 段(可获 1.11 积分)

对这项技术做出贡献的四家主要软件公司都对未公开产品的公开声明施加了限制,限制了本文中关于其承诺和可变字体基础设施工作状态的内容。也就是说,在写的同时实时预览设计成为可能:

Microsoft的Windows工程团队正在努力实施对2017年发布的OpenType字体变体的支持,并且最近的Windows 10周年版中的TrueType rasteriser已经更新,以支持可变字体。诸如使用DirectWrite的Edge和Chrome浏览器等应用程序已经能够选择具有字重和宽度轴的字体中的一些命名实例。未来几个月内,更多完整的支持将在Windows Insider预览版本中提供。向VTT工具添加可变字体提示和预览的工作已经做完了。 Edge团队的成员正与行业合作伙伴一起正式提出支持网页的级联样式表(CSS)中的可变字体的建议。

第 32 段(可获 2.21 积分)

两年来,Google一直致力于可变字体技术,包括Apple的TrueType GX独立实现。 他们的开源字体制作管道[Link]已经支持构建OpenType可变字体,并且他们积极地将该技术带到Noto字体项目,Google Chrome,Google Fonts webfont平台和其他产品。

苹果的特点是对未来的计划不太了解,但是他们在TrueType GX基础架构中开始了可变字体支持,并且在将该技术带到OpenType方面发挥了积极的作用。

第 33 段(可获 1.14 积分)

Adobe除了开发CFF 2规范之外,还在更新他们在2013年对开源FreeType项目提供的CFF栅格化引擎。他们还希望发布其AFDKO工具的更新版本,用于在2016年9月底使用OpenType布局表构建变量字体,以及一个示例字体。此时不会公布有关Adobe应用程序套件中对可变字体的支持的详细信息。

字体工具制造商已积极参与工作组,并有机会在出版前审查规范草案。对于工具来说,重要的是工具为字体制作者提供直观的方法来用多轴,中间增量集和轴变化来导航复杂的可变字体设计空间。如前所述,保持设计母版和字体变化的排列之间关系的灵活性将使得字体制作者能够根据客户的需要定制字体。

第 34 段(可获 2.03 积分)

OpenType可变字体为字体制作者提供了巨大的机会和挑战。 类型设计者必须找到创新的方法来使用该技术,因为他们有OpenType的其他方面和早期的变化技术,如TrueType GX和多母版。 这一次,我们可能会谨慎乐观地认为,该技术将实现其承诺,作为一个广泛支持和可互操作的标准,为用户提供好处,并打开了新形式的印刷表达的大门。

约翰·哈德森,2016年9月14日

链接

这篇介绍性的文章不能提供对OpenType可变字体技术的所有方面的洞察。 有关更多详细信息,请参阅规范和其他可用的文章。 这些链接将定期更新。

第 35 段(可获 1.51 积分)

OpenType字体格式规范版本1.8

OpenType字体变体概述

OpenType规范版本1.8的更改日志

突出显示更改的OpenType规范的增量版本

在TypeDrawers上的OpenType变量字体讨论

OpenType字体变体工作组的成员与TypeDrawers在线排版论坛合作,为讨论该技术提供了一个集中的平台。 带有主题行标签[OTVar]的TypeDrawers字体技术论坛中的线程将由准备回答有关该技术问题的工作组成员监控。 如果你是TypeDrawers的新手,请熟悉他们的真实姓名和其他政策。

第 36 段(可获 1.34 积分)

来自工作组行业合作伙伴的公告
Adobe • Google • Microsoft

致谢

我感谢Bianca Berning(Dalton Maag),Tim Brown(Adobe),Peter Constable和Rob McKaughan(Microsoft)和Thomas Phinney(FontLab)审阅本文的草案并提供了极好的反馈,并感谢在OpenType字体变体工作组中的同事,他们回答了我的很多问题。 我认为他们都会同意,在为项目贡献的许多人中,Peter Constable值得单独表扬,因为他对这个过程的指导和他对如此多的规范做出的持续不断的工作。

第 37 段(可获 1.24 积分)

感谢Marchel Verschuren帮助准备多轴设计空间的插图。

商标

OpenType是微软公司的注册商标。
PostScript是Adobe Systems Incorporated的注册商标。
TrueType是Apple Inc.的注册商标。

附录:表格总结

本附录仅涉及与OpenType字体格式规范的1.8版本中新的或修订的表格,它们直接与字体变体技术相关。 它不包括规范的非变体添加或修订,例如‘SVG ’表或其他颜色字体技术,也不包括新的‘meta’和 ‘MERG’表。 有关此版本中所有更新的概述,请参阅更改日志

第 38 段(可获 1.41 积分)

OpenType1.8中的新可变字体表

avar
轴变化表(可选)
用于修改设计沿特定设计变化轴的不同实例的不同方面。

CFF2
压缩字体格式版本2表(CFF可变字体需要)
包含所有CFF 2轮廓数据,增量集和其他字形变化数据的扩展表。

cvar
CVT变化表(仅限TrueType)
提示表提供了控制值对齐区域和变化增量集的距离的变化。

fvar
字体变体表(可变字体需要)
提供字体变体的全局定义,包括变体轴和每个变体的范围,以及命名实例坐标。

第 39 段(可获 1.34 积分)

gvar
字形变化表(TrueType可变字体需要)
存储描述 ‘glyf’ 表中的轮廓如何在变体设计空间中更改的所有变体数据。 [请注意,对于CFF可变字体,等效数据存储在 ‘CFF2’ 表中。]

HVAR
水平度量变化表(可选,但推荐用于TrueType可变字体; CFF可变字体需要具有水平字形度量的任何变体)
存储 ‘hmtx’ 表中的水平前进宽度的变体数据。 [请注意,数据在TrueType和CFF风格字体中以不同的方式使用。

第 40 段(可获 1.18 积分)

MVAR
指标变化表(可选,但很可能需要)
提供 ‘OS/2’, ‘hhea’, ‘vhea’, 和‘post’表中字体级度量的变体数据,以及TrueType渲染的 ‘gasp’ 表设置。

STAT
样式属性表(可变字体需要;推荐用于所有新的非可变字体)
定义字体样式变体的区别属性,允许软件了解可变字体中的实例之间或非可变字体族中的字体之间的关系。

VVAR
垂直指标变化表(可选,但推荐用于TrueType可变字体; CFF可变字体需要具有垂直字形指标的任何变化)
存储 ‘vmtx’表中垂直字形度量值的变量数据。 [请注意,数据在TrueType和CFF风格字体中以不同的方式使用。

第 41 段(可获 1.55 积分)

OpenType 1.8中使用可变字体功能更新的表

BASE
基线表(可选)
添加了关于变量字体的基准表变体调整的部分,以及新的项变体存储表。 [字体变体技术的这个方面不在本入门文章中; 简而言之,这种调整使用新的项目变体存储直接存储在BASE表中。

gasp
网格拟合和扫描转换过程表(推荐用于TrueType字体)
添加了关于一些“gasp”设置的对应的‘MVAR’表变化数据的注释。

第 42 段(可获 1.04 积分)

GDEF
字形定义表(可选;如果字体包含 ‘GPOS’ 或 ‘JSTF’ 变体数据,则为必需)
添加了关于字体变体集成的部分,以及一个新的项变体存储表,以包含数据引用,例如,GPOS查找与变化调整。

GPOS
字形定位表(可选)
添加了关于字体变体集成的部分,包括设备表调整字段的可变和非可变字体使用之间的区别。

GSUB
字形替换表(可选)
添加了关于字体变体集成的部分和新的FeatureVariations表。

第 43 段(可获 0.98 积分)

head
字体标题表必需
次要更新以指出变量字体的依赖性和限制。

hhea
水平表头(必需)
补充说明关于一些“hhea”度量相应的 ‘MVAR’表变化数据。

JSTF
对齐表(可选)
添加了关于字体变体集成的部分。 [本文没有介绍字体变体技术的这个方面。 二十年过去了,我们仍在等待JSTF支持迭代文本调整的任何实现。]

name
命名表(必需)
添加的名称ID 25'Variations PostScript Name Prefix'。 如果存在,则可以在设计空间中为生成的实例自动生成PostScript字体名称时将此名称用作系列前缀。 [这篇介绍性文章不涉及Adobe的新的PostScript名称生成变体字体算法。 有关详细信息,请参阅Adobe技术说明#5902。]

第 44 段(可获 1.65 积分)

OS/2
OS / 2和Windows度量表(必需)
更新以指出可变字体依赖性,并注意添加了关于一些 ‘OS/2’ 度量的相应的 ‘MVAR’ 表变化数据。

post
PostScript表(必需)
更新以指出可变字体的依赖关系和限制。

第 45 段(可获 0.53 积分)

文章评论