Intent to Prototype: COLRv1 Color Gradient Vector Fonts

574 views
Skip to first unread message

Dominik Röttsches

unread,
Jan 26, 2021, 8:59:15 AM1/26/21
to blink-dev, Roderick Sheeter, Cosimo Lupo, Behdad Esfahbod

Contact emails

dr...@chromium.org

rshe...@google.com

cl...@google.com

Explainer & Specification


https://github.com/googlefonts/colr-gradients-spec/
https://github.com/googlefonts/colr-gradients-spec/blob/master/OFF_AMD2_WD.md#changes-to-off-5711---color-table


Design docs


https://github.com/googlefonts/colr-gradients-spec/

Summary

To solve problems with existing color font formats we designed a next generation font format suitable for web and system fonts called COLRv1 which enables powerful 2D graphics glyph definitions (gradients, transforms), supports variations, and reuses existing glyph contour definitions. Previous color font formats embed bitmap files into the OpenType font containers. They do not scale with high quality and have a large binary size. OpenType SVG embeds vectors and scales better but requires complex parsers and rasterisers and does not interact with OpenType variations.


Blink component

Blink>Fonts

Motivation

COLRv1 will allow smaller emoji files, reaching a size where it becomes feasible to use this type of color vector font as an emoji font format on the web. Together with the Google Fonts team we consider COLRv1 the prospective successor format for the Google Noto emoji font and a prototype of Noto emoji exists in COLRv1. COLRv1 addresses scaling fidelity issues with bitmap fonts (particularly when up-scaled to large font sizes or high resolution displays). In experiments we've seen that we can bring down the emoji font size to about a fifth while at the same time increasing rendering fidelity. The reduced emoji font file size is as long as every Unicode iteration brings a large increase in new emoji and emoji sequence combinations. The development of a new format was necessary to incorporate support for OpenType variations, overcome parsing complexity and file size issues over OpenType SVG.


The intent to prototype means the intent to include code in Skia and FreeType and in Blink to enable support for displaying fonts of this format when a respective flag is active.


TAG review

Currently only at the stage of publishing of Intent to Prototype.
Specification is developed outside of W3C, aiming for inclusion into the OpenType spec and ISO/MPEG Open Font Format.


TAG review status

Not applicable as different standards bodies? Feedback is welcome.

Risks



Interoperability and Compatibility

Feature adoption by other browsers has an influence on whether this format picks up traction. The current spec and prototyping work includes publishing tools for font vendors to produce COLRv1 fonts based off of a set of SVG images, see https://github.com/googlefonts/nanoemoji We are prototyping a version of Noto Color Emoji, Google's own emoji font to migrate to this format to save space and improve rendering quality.



Gecko: Under consideration

Edge: Positive

WebKit: No signal

Web developers: No signals


Is this feature fully tested by web-platform-tests?

Partially, likely the majority of testing will be performed at a lower level such as in FreeType and Skia rasterisation tests. WPT pixel tests will be added to provide a basic sanity check.

Tracking bug

https://bugs.chromium.org/p/chromium/issues/detail?id=1170733

Link to entry on the Chrome Platform Status

https://chromestatus.com/feature/5638148514119680

一丝

unread,
Feb 1, 2021, 8:56:28 AM2/1/21
to blink-dev, Dominik Röttsches, Roderick Sheeter, Cosimo Lupo, Behdad Esfahbod
This is so exciting. As a site with more than 10 million icons(iconfont.cn), our users look forward to font icons with gradients.

Dominik Röttsches

unread,
Feb 3, 2021, 11:36:43 AM2/3/21
to Lea Verou, blink-dev, Roderick Sheeter, Cosimo Lupo, Behdad Esfahbod
Hi Lea,

On Wed, Feb 3, 2021 at 1:03 PM Lea Verou <leav...@gmail.com> wrote:
On Tuesday, January 26, 2021 at 3:59:15 PM UTC+2 Dominik Röttsches wrote:


TAG review

Currently only at the stage of publishing of Intent to Prototype.
Specification is developed outside of W3C, aiming for inclusion into the OpenType spec and ISO/MPEG Open Font Format.


TAG review status

Not applicable as different standards bodies? Feedback is welcome.


Please note that the TAG regularly reviews specs from outside W3C, e.g. WHATWG, TC39, IETF etc, even some early proposals that have not yet found the right venue. So, while TAG review is certainly not required, none of these are reasons that preclude it.

Thanks for the clarification, good to know.

Dominik
 

 

Lea Verou

unread,
Feb 3, 2021, 12:34:09 PM2/3/21
to blink-dev, Dominik Röttsches, Roderick Sheeter, Cosimo Lupo, Behdad Esfahbod
On Tuesday, January 26, 2021 at 3:59:15 PM UTC+2 Dominik Röttsches wrote:


TAG review

Currently only at the stage of publishing of Intent to Prototype.
Specification is developed outside of W3C, aiming for inclusion into the OpenType spec and ISO/MPEG Open Font Format.


TAG review status

Not applicable as different standards bodies? Feedback is welcome.


Dominik Röttsches

unread,
Feb 18, 2021, 1:40:14 PM2/18/21
to blink-dev, Roderick Sheeter, Cosimo Lupo, Behdad Esfahbod
An update on this Intent to Prototype for those interested in experimenting with COLRv1 fonts:

COLR v1 font support is now available in Chrome Canary behind the "COLR v1 Fonts flag", minimum version 90.0.4421.5.
Go to chrome://flags/#colr-v1-fonts in Chrome Canary to enable.

See this link for more details.
Reply all
Reply to author
Forward
0 new messages