TTF(TrueType Font)最典型的特点是用二次贝塞尔曲线描述轮廓;OTF(OpenType Font)既可以装 TrueType 轮廓,也可以装基于 Post 的三次贝塞尔曲线轮廓。对设计师来说,这意味着:你看到的扩展名只是外壳,真正影响表现与兼容性的,是字体内部轮廓类型与 OpenType 特性是否齐全。
TTF(二次):渲染器实现成熟、历史链路长,兼容面非常广;在一些老旧环境里往往更稳。
OTF(三次):曲线控制点更灵活,复杂曲线更容易做到“少点但更顺”,在曲线细节与大字号展示上更有优势;但在极老旧渲染环境里,hinting 表现可能不如预期,需要实机验证。
很多人把 OTF 直接等同于“高级排版”,其实关键在于字体是否包含 OpenType 特性表。常见特性包括:
1)连字(liga)与替换字形(salt)
2)小型大写(smcp)与旧式数字(onum)
3)分数字形、上标下标(frac / sups / subs)
4)不同数字样式与等宽数字(tnum)
同一个字体家族可能同时提供 TTF 与 OTF,但 OTF 版本不一定就“特性更多”。最可靠的方法是看字体信息或在排版软件里检查可用特性。
在小字号、低分辨率或特定系统渲染器下,hinting(字形提示)对清晰度影响很大。经验上:
做 UI/网页:优先选在目标平台上显示稳定的版本。别只看扩展名,实际在 Windows/macOS/Android/iOS 上对比更重要。
做印刷:更关注字形质量、字重体系、标点与数字一致性,格式本身不是第一要素。
用于网页时,真正影响加载速度的是是否做了子集化(仅保留所需字符)、是否使用 WOFF/WOFF2 等分发格式。TTF/OTF 更像源字体;上线通常会转换成 Web 字体格式,并按语言与字重拆分。
1)确认使用场景:屏幕/UI 还是印刷/出版?
2)在目标平台做小字号对比:清晰度、字重一致性、标点是否舒服。
3)检查 OpenType 特性:是否满足连字、数字、大小写等排版需求。
4)交付与协作:对方软件版本老不老?协作链条复杂时,优先选择兼容性更稳的版本。
别把 OTF 当成“更高级”的代名词,也别把 TTF 当成“过时”。真正好用的字体,是在你的项目环境里显示稳定、特性够用、字形一致且授权清晰的那一个。