关于TTC、TTF和OTF字体格式的简介
2020-01-21 20:34:57 阿炯

三者都是字体文件格式,跟我们的工作生活都息息相关,以至于我们感觉不到它们的存在,本文对它们做一个简单的说明和对比。TTF和OTF是扩展名,用来表示文件是一种字体,可用于打印文件的格式。TTF代表TrueType Font,这是一种相对较老的字体,而OTF代表OpenType Font,它部分是基于TrueType标准的。

TTF(TrueType Font)是Apple公司和Microsoft公司共同推出的字体文件格式,随着windows的流行,它已经变成最常用的一种字体文件表示方式,TrueType 会逐渐被OpenType 取代;OTF(OpenType Font)是 TTF 的升级版,它采用的是 PostScript 曲线,支持 OpenType 高级特性的更高级字体。两者之间的一个重要区别在于它们的能力。TTF完全依赖于定义每个字符外观的字形表,而OTF能够使用字形和CCF(Compact Font Format)表。与TTF字体使用的二次贝塞尔样条相比,CCF使用的三次贝塞尔样条允许在定义一个字符的外观时使用更少的点。OTF还在TTF使用的sfnt结构的基础上增加了一些智能字体的功能,以增加对字体的额外语言支持。尽管它可能不会对计算机产生非常大的影响,但同样值得注意的是,鉴于字体中没有使用任何特殊功能,在OTF中使用CCF可能会导致文件大小明显变小。

尽管OTF字体的优越性已被证明,特别是在使用CCF时,TTF字体的使用仍然非常多。这可能比预期的时间要长得多,但OTF字体的数量已经在上升。这种流行背后的原因是与使用CCF的OTF字体相比,制作TTF字体很简单。由于确实没有理由在创建新字体时停止使用TTF,大多数字体制作者仍然坚持使用他们知道的有效方法,即使它比替代方法要差。对于终端用户来说,这确实没有什么问题,因为几乎所有使用字体的现代应用程序都能够处理TTF和OTF文件。用户不需要选择其中一种,因为它们可以一起用于创建文档或打印布局。

TTF和OTF的区别

TTF是TrueType字体的文件扩展名,而OTF则是OpenType字体的扩展名。TTF字体完全依赖于字形表,而OTF字体可以有字形表或CCF。与OTF字体文件相比,TTF字体文件通常要大得多。TTF字体仍然比OTF字体流行得多。与OTF字体相比,TTF字体的制作要容易得多。

TTC全称是TrueType Collection,它是TrueType字体集成文件(.ttc文件),是在一单独文件结构中包含多种字体,以便更有效地共享轮廓数据,当多种字体共享同一笔画时,TTC技术可有效地减小字体文件的大小。TTC的字体只有一些常用的汉字,而许多不常用的汉字就没有(选择字体以后依然以宋体显示)。TTC就是几个TTF合成的字库,安装后字体列表中会看到两个以上的字体。两个字体中大部分字都一样时,可以将两种字体做成一个TTC文件,常见的TTC字体,因为共享笔划数据,所以大多这个集合中的字体区别只是字符宽度不一样,以便适应不同的版面排版要求;而TTF字体则只包含一种字型。

虽然都是字体文件,但.ttc是microsoft开发的新一代字体格式标准,可以使多种truetype字体共享同一笔划信息,有效地节省了字体文件所占空间,增加了共享性。但是有些软件缺乏对这种格式字体的识别,使得ttc字体的编辑产生困难。

TTF 扩展名的 O 图标的表示 OpenType - TrueType 字体,采用的是 TrueType 曲线,不过支持 OpenType 的高级特性。

TTF 扩展名的 T 图标的表示 TrueType 字体,采用的是 TrueType 曲线,不支持 OpenType 特性。

OTF 扩展名的 O 图标的表示 OpenType - PostScript 字体,采用的是 PostScript 曲线,支持 OpenType 高级特性。

OTF主要优点:
1)增强的跨平台功能
2)更好的支持Unicode标准定义的国际字符集
3)支持高级印刷控制能力
4)生成的文件尺寸更小
5)支持在字符集中加入数字签名,保证文件的集成功能

OTF 格式是目前相对先进,TTF 格式也是目前相对主流,TTC 则是一系列 OTF 或者 TTF 字体的集合体。

OpenType 是 Microsoft 与 Adobe 共同制定的标准字体格式,在此之前有两大字体格式: TrueType 和 Type 1,两家合作制定出的 OpenType 将之前的两大格式都包含了进去,TrueType 进化成 OpenType - TrueType,在原有基础上增加了 OpenType 高级特性支持,扩展名不变 (TTF),图标由 T 变为 O; Type 1 进化成 OpenType - PostScript,在原有基础上增加了 OpenType 高级特性支持,扩展名定位 OTF,图标为 O。

OpenType也叫Type 2字体,它也是一种轮廓字体,比TrueType更为强大,最明显的一个好处就是可以在把PostScript字体嵌入到TrueType的软件中。并且还支持多个平台,支持很大的字符集,还有版权保护,可以说它是Type 1和ueType的超集。这类字体的文件扩展名有.otf、.ttf、.ttc,类型代码是OTTO,现行标准为OpenType 1.8.2。OpenType最初发表于1996年,并在2000年之后出现大量字体。它源于微软公司的TrueType Open字体,TrueType Open字体又源于TrueType字体。OpenType font包括了Adobe CID-Keyed font技术;Adobe公司已经在2002年末将其字体库全部改用OpenType格式。到2005年大概有一万多种OpenType字体,Adobe产品占了三分之一。OpenType于2016年发布了1.8版规范,引入了“可变字体”的功能,支持通过调节一定的参数来自由改变文字的形状。

现在微软和 Adobe 都在努力干掉以往的 TrueType 和 Type 1 字体,比如 Windows 的系统字体在 Vista 以后全都由 TT 转换为 OT-TT (或许是向 OT-PS 的过渡),而 Adobe 则大力推广 OT-PS 字体。

True Type是由美国Apple公司和Microsoft公司联合提出的一种新型数字化字形描述技术。这是一种彩色数字函数描述字体轮廓外形的一套内容丰富的指令集合,这些指令中包括字型构造、颜色填充、数字描述函数、流程条件控制、栅格处理器控制,附加提示信息控制等指令。采用了几何学中的二次B样条曲线及直线来描述字体的外形轮廓,二次B样条曲线具有一阶连续性和正切连续性。抛物线可由二次B样条曲线来精确表示,更为复杂的字体外形可用B样长曲线的数学特性以数条相接的二次B样条曲线及直线来表示。描述该类型字体的文件(内含字体描述信息、指令集、各种标记表格等),可通用于MAC和PC平台。

2006、07年开始OT全面普及,到现在很多字体设计师与字体厂商已经不提供TTF版本的作品了,市面上的TT都是历史遗留产。adobe在2002年就把旗下产品全部换成OTF。

参考来源:

OpenType-维基百科


为什么字体在 macOS 上看起来比在 Windows 上更好

很多人都有这种感觉:同一段文字,在 Mac 上“更顺”,在 Windows 上“更锐”。我从 Windows 切到 Mac 的第一天就注意到了——手指敲字时,屏幕上的字更圆润、更柔和,阅读也更轻松。这不是偶然,而是两套有意为之的字体渲染哲学在起作用。

两种取向:印刷还原 vs 屏幕可读
Apple:尽可能忠于字体设计本身,像纸上印刷一样呈现。字形的曲线、笔画粗细、整体“灰度”(视觉黑度)要保持一致。
Microsoft:优先屏幕上的清晰度与可读性,哪怕对字形做“像素级”调整,让笔画对齐像素网格,边缘更利落。

因此会看到:在 Mac 上文字常显得更厚一点、更圆滑;在 Windows 上则更细、更锋利。简而言之,一个“像印刷品”,一个“像为屏幕打磨”。有位业内人士总结得很到位:Apple 更愿意“保留字体的原始设计,即使有一点点糊”;Microsoft 则更注重“避免糊、增强易读,即使不完全忠于字形”。

各自的路线

Apple 的路线从最早的 Macintosh 到 macOS 的 Quartz/Core Text,Apple 一直把“屏幕=印刷预览”当目标:字号缩放要线性、笔画粗细要稳定、版式在屏幕与纸张之间尽量一致。为此,Apple 对像素对齐和强制提示(hinting)不那么激进,宁可牺牲一点像素级锐度。

Microsoft 的路线Windows 在 2000 年代用 ClearType 带来屏显可读性的大跃进:
1.更积极的 hinting,让笔画贴合像素栅格;
2.子像素与抗锯齿的“调优”,让细线更清楚;
3.还专门设计了 Verdana、Georgia 这类“低 DPI 友好”的字体。 在那时的常见显示器上(分辨率不高),这种“为屏显而生”的选择,能明显提升阅读体验。



并排看差异:眼感到的“气质”并不同

在同一台显示器上对比(如当年 Windows 版 Safari 与 IE/Firefox 并列测试),往往会看到:
1.小字号:Windows 更锐、更“像刀刻”;Mac 显得更厚、更柔。
2.字号放大后:两者逐渐接近;Mac 的“形体还原”会更耐看。
3.加粗/斜体:Mac 常因常规字本就更“实”,所以加粗的跃迁不突兀;Windows 因常规字更细,加粗后的对比会显得“跳”。
4.字距与总宽度:Windows 的像素对齐可能让字距略收紧、总宽略小;Mac 则更“按设计稿来”。



同一字体跨多字号缩放:Windows 的像素对齐会造成笔画粗细与宽度的“台阶感”,而 macOS 更线性。设计要求高的场景里,这种细微差别会被注意到。

Retina / 高 DPI 到来后:差距被硬件抹平

当 PPI 飙到 220+(Retina 等高分屏),很多细节差异肉眼难辨:
1.macOS 可以彻底放弃子像素抗锯齿,采用灰度平滑,依靠高密度像素保证圆滑;
2.Windows 在许多应用里也减少了过度 hinting,整体显得更自然。

但在低 DPI 屏上,差异仍然明显:
1.1080p 普通显示器:Windows 往往更锐;macOS(特别是 Mojave 之后去掉子像素)可能显得偏“糯”。
2.外接非 Retina 屏:macOS 因“Retina 优先”的策略,偶尔会被吐槽“糊些”。Windows 的 ClearType 在此类屏幕上依旧占优势。

口味之争:主观、习惯与设备

“哪边更好看?”——主观题。
1.设计师、字体控会偏爱 macOS 的形体还原与整体灰度;
2.长时间阅读、尤其在低 DPI 屏上,很多人会觉得 Windows 的锐利与对齐更省眼。 更重要的是习惯:长期用哪边,看另一边都会不顺眼一阵子;适应一周后,感受又会变。

开发与设计的启示
1.跨平台预览:同一页面/应用在两端的“视觉黑度”和字宽可能不同,要在设计阶段就看双端效果。
2.字体选择:挑在两端都表现稳定的字体;避免过于依赖某一平台的渲染特性。
3.字号阶梯:注意小字号的可读性与大字号的形体美感,必要时做分档策略。



“拿来即用”的调教法

Windows 想要更接近 Mac 的观感
1.试试 MacType(基于 FreeType 的渲染栈,趋近 macOS/Linux 的风格):更厚、更圆润、更像印刷。注意它是系统级钩子,个别软件(如带反作弊的游戏)可能冲突,Windows 大版本更新后或需重设。安装前建议创建还原点。
2.不想折腾?至少把 ClearType 调校跑一遍(控制面板搜索“调整 ClearType 文本”),按显示器优化锐度与对比度。

macOS 想要“更锐利”的风格
系统层面几乎没提供类似 hinting 的开关。旧版本里可调 AppleFontSmoothing,但在新系统/高分屏时代已基本淡化;辅助功能里能调对比度、粗体文本,但无法重现 Windows 的像素贴合风格。

Linux 用户有充分的自由
基于 FreeType 的渲染可以细调:hinting 强度、抗锯齿方式、子像素策略……想模拟 macOS 或 Windows 都能“调味到位”(Windows 上的 MacType 就受此启发)。


Mac 像感觉,Win 像阅读
1.从设计纯度看:macOS 更接近字体原貌,屏纸一致性更好;
2.从实用可读看:在低 DPI 时代,Windows 的像素对齐与锐利度更吃香;
3.在高 DPI 普及后:差距显著收敛,更多取决于个人偏好与具体设备。

所以,若刚从一个阵营切换到另一个,给眼睛几天时间适应,再来评判。 无论你爱“丝滑”的 Mac 字体,还是偏好“刀锋”般的 Windows 文本,现在都知道它们为什么长这样——以及几十年字体工程与审美取向如何在像素间“落墨”。


Web开发者关注的网页字体可见此处