有两种可缩放的彩色字体扩展可以为您的 OpenType 字体增添色彩。本教程同时介绍 COLR 与 SVG 彩色支持的相关信息。
最初,OpenType 字体格式不支持多色字体。这在 2013 年发生了变化,当时几家供应商推出了自己的解决方案,以满足操作系统、应用程序和网络浏览器对彩色表情符号的需求。我仍然记得参加 2013 年在阿姆斯特丹举行的 AtypI 会议,当时正式宣布将颜色添加到 OpenType 规范中。当时,对于采用哪种格式没有达成共识。决定是让所有主要参与者——Microsoft、Apple、Google、Mozilla 和 Adobe——各自提出自己的解决方案。
那时,我已经很清楚这会分散格局。事实上,在 2014 年,我在 High-Logic 论坛 上写道,这将导致竞争格式之间的一种"字体颜色战争"。十多年后,我们仍然在承受后果:OpenType 支持四种不同的颜色扩展。
在这些格式中,只有 COLR/CPAL 和 SVG 是可缩放的基于矢量的格式。FontCreator 支持这两种格式,使它们成为字体设计师最实用的选择。
COLR 将彩色字形定义为单色轮廓的堆栈,每个轮廓都用调色板颜色绘制。因为它重用标准轮廓,所以它与可变字体无缝集成,并保持文件大小紧凑。
优势:轻量级、可缩放、可变字体友好。
限制:COLRv0 没有渐变;COLRv1(后来引入)添加了渐变、变换和合成。
要制作分层多色字形,您需要添加其他字形,然后为每个颜色成员定义颜色。与复合字形成员不同,您无法更改这些颜色成员的大小或位置。您需要确保单个字形都设计为适合彩色字形。
SVG 扩展为每个字形嵌入一个 SVG 文档。它支持更丰富的图形,包括:
只有受限的 SVG 1.1 子集在字体中有效:不允许 <a>、<text> 和 <font>,应避免动画或交互性。
最佳实践:
FontCreator 不包括内置的 SVG 编辑器。您可以:
CPAL 表定义可重用的颜色调色板:
| 网络浏览器 | 市场份额 | COLR 支持 | SVG 支持 |
|---|---|---|---|
| Chrome | 68% | 是 | – |
| Safari | 17% | 是 | 是 |
| Edge(基于 Chromium) | 5% | 是 | – |
| Firefox | 3% | 是 | 是 |
| Samsung Internet | 2% | 是 | – |
| Opera | 2% | 是 | – |
| Internet Explorer | <1% | 是 | – |
| 注意: 市场份额指示截至 2025 年 7 月。Edge 从 2017 年开始支持 SVG,但自 2020 年转移到 Chromium 后不再支持。Chromium 项目没有计划添加 OT-SVG 支持。 | |||
| 软件 | COLR/CPAL 支持 | SVG 支持 |
|---|---|---|
| Adobe Illustrator | 是(v29.3 / 2025+) | 是(CC 2018+) |
| Adobe InDesign | – | 是(CC 2019+) |
| Adobe Photoshop | 是(2025+) | 是(CC 2017+) |
| QuarkXPress | 是(2018+,包括 COLRv1) | 是(2018+) |
| Affinity Designer | 是 | – |
| Affinity Publisher | 是 | – |
| Sketch(macOS) | COLRv0 | 是(macOS 10.14+) |
| Microsoft Word(Windows 10/11) | 是 | 是 |
| Microsoft PowerPoint(Windows 10/11) | 是 | 是 |
| Microsoft Excel(Windows 10/11) | 是 | 是 |
| LibreOffice | 是(6.3+) | 部分 |
| paint.net(Windows) | 是 | – |
| CorelDRAW Graphics Suite | – | 是 |
| Figma | – | – |
| Procreate(iPad) | COLRv0 | 是 |
| Adobe After Effects / Premiere Pro | – | 是(2025+) |
| Inkscape | – | 部分 |
| Scribus | 部分 | – |
| GIMP | 部分 | – |
| 注意: COLR/CPAL 是基于轮廓的颜色格式(v0 = 分层字形;v1 添加渐变、变换和合成)。没有嵌入位图。大多数使用 CoreText 的原生 macOS 应用程序支持 COLRv0。CoreText 尚不支持 COLRv1。OpenType-SVG 存储 SVG 文档,可以包括矢量形状和嵌入的光栅图像(例如,通过 SVG <image> 元素的 PNG/JPEG),加上渐变/不透明度/滤镜。OpenType 使用受限的 SVG 1.1;功能支持因应用程序/操作系统而异。macOS 通常需要 10.14+ 才能渲染 SVG 字体。大型光栅内容可能会增加字体大小。 | ||