Is anyone actually using color fonts?

I'm curious if anyone has any actual data on color font usage they would be willing to share? Or even anecdotal information on how much this new(ish) font format is being used by designers and non-designers alike. Just wondering if it's worth the effort as opposed to a layered font.
Tagged:

Comments

  • Axel CORJON
    Axel CORJON Posts: 21
    Hi,
    As a graphic designer, I never used them :/

  • Albert Creus
    Albert Creus Posts: 10
    Yes, not for letters but brand related graphics, so the regular Joe can access them in Powerpoint for their fancy presentations directly from their keyboard.
    Not massively used, while it's handy, people hardly remember it exists. It wasn't a big effort to put together, so no big deal.
    Also, the company logo in the corporate font is now coloured, also no one uses it, haha.
  • Thomas Phinney
    Thomas Phinney Posts: 2,883
    Why not do all the above? I would think you would design in full color and then do everything else from there: export whatever flavors of color font you want, as well as layered separate faces, as needed. I would not expect that to be significant extra work, unless your tools are daft in how they support color fonts. Ditto, if you already have the separate-layers-as-fonts, compositing into a single color font should be trivial.

    The main problem at the moment is that there are competing flavors of color font. I expect the main victor as a general-purpose format is going to be the Microsoft OpenType COLR/CPAL flavor (v1 now supports gradients) as it is supported in pretty much all browsers. The biggest strike against it is that Adobe is only supporting the OpenType SVG flavor of color font, last I heard. And of course COLR/CPAL has no OS-level support on Mac or iOS. Sigh. But it isn’t like Apple’s sbix is a viable general-purpose color font contender, IMO.

    Cheers,

    T
  • Thanks all for the input. To clarify, by "worth the effort" I meant, if nobody is using color fonts, then why bother saving them out and offering them as an option. I agree though that it's not difficult to do, especially if you've already designed all the layers. Speaking as someone who is primarily a designer, I don't find color fonts with predetermined color palettes appealing since I would prefer to use the layered fonts instead and select my own colors. But not everyone is a professional designer so maybe having those decisions already made and available is a great option to have?
  • Thomas Phinney
    Thomas Phinney Posts: 2,883
    Perfectly valid question, and I don’t feel like I have a good sense of the answer. But if I were offering them, I would probably bundle them all together. 

    The COLR/CPAL version can offer multiple palettes, which is kind of cool. Of course, the palette switching may not be easily accessed in many environments.   :#
  • This is obviously anecdotal but I did a few custom color fonts back in 2017 and 2018. Nothing since then.
  • Igor Petrovic
    Igor Petrovic Posts: 297
    Thanks for the link @Alanna Munro, this is an awesome tool!
  • @Thomas Phinney last I heard, Webkit/Safari folks had a statement about two years ago saying they won't support COLRv1 . And the situation that Google won't switch on OT-SVG support (they added it during lockdown but kept it disabled) in Chrome is a decade old.

    @Grzegorz Luk (gluk) Good point about the possibility of custom palette in COLRv1. I just filed  https://github.com/kyamagu/skia-python/issues/259 - it is mostly a "reminder for myself".

    @Alanna Munro I just re-read my COLRv1 code (as far as I know, the only non-brower based GUI that's capable of dynamically explore COLRv1 palette is my private copy of freetype2-demos, which is based on some ugly hack on top of https://github.com/HinTak/freetype2-demos-skia ) . I'd say one thing: adding COLRv1 support to a non-browser-based application, and adding palette switching (and custom palette injection) is not easy. I have taken the "easy way" forward: take skia (which is the drawing part of Chrome and contains Google's own COLRv1 implementation) out and stuff it underneath freetype, overwriting the OT-SVG bitmaps (I said it is ugly, right...) to provide COLRv1 support to any freetype-based application (that means every display-related application on Linux, really).

    Looking at the skia/chrome COLRv1 code, I think you have a fair point: the browser code assumes the web designer knows the available palettes and also the precise format/requirement for custom palettes in a specific font (which presumably is also supplied by said designer) to set them via CSS. That's a chicken and egg problem: without tools which can explore such functionalities, how can a typical designer gains such knowledge (other than copy-paste existing examples etc)?
  • Simon Cozens
    Simon Cozens Posts: 740
    I wrote a Javascript polyfill for COLRv1 support in Safari.
  • As. graphic designer I would never ever ever ever use a colour font. Because, why? Design tools are super easy to use and they let me be as fussy as I like when choosing colours. Also as designer, I do like the idea of nailing colour choices down with big, hard-to-edit spikes. But, as mentioned in the original post, "while it's handy, people hardly remember it exists."... It's hard get people to bother. The most widely accepted standard for desktop typography has alway been: You press the keys, the letters come out. 

    As a type designer, how do I decide on colours that will sell? The one I like or is there a trending colours bible I should consult? I've got several layered fonts out, and I've released multiple colour versions of a couple... Recognizing that customers might (MIGHT) like like the font but not in "those" colours, I offer them as bundles. One with ten options (ten fonts). And another with twenty five variations (from 5 layers). Where does it end?  :#  One colour font is easy. Twenty five variations, not so much. If colours are a deciding factor then you're probably making 25 wrong decisions. (Well maybe I'm making the wrong decisions... and it's 125, actually). 

    I do like the idea of variable colour fonts... Maybe with 3 axis for screens and 4 for CMYK. But again... Why? When options for applying colours are easier and better in what ever app you're using to set type. 
     
  • Dave Crossland
    Dave Crossland Posts: 1,429
    edited August 24
    Russell, kindly, I think you've misunderstood the technology entirely. There is a default set of colors, yes, by the font can supply many sets, and users can define their own. Really the technology is about defining how a set of paints fit together, not what the hues of the set are.
  • Jesse R Ewing
    Jesse R Ewing Posts: 11
    edited August 28
    Hopping back in here to defend Russell, as I have a similar take personally. And also to be fully transparent, I'm in the process of releasing a color font into the world. Deciding what the default color palettes would be, along with how many to include, ended up feeling a bit arbitrary. As a full-time designer, I would almost always choose a layered font over a color font. I'm aware of tools like DJR's Color Font Customizer, but I wonder how many other designers would be. I'm not diminishing the technology, there's just little support for it at the moment, so again, it's hard not to wonder if all the effort is worthwhile.
  • CSS has support for custom palettes (see CSS Fonts Module Level 4), and this is supported in most browsers (see here).
  • @Igor Petrovic Over the past five years or so, I've seen quite a number of OT-SVG fonts, and I think FontSelf had a key role in so many OT-SVG fonts being available.

    But the vast majority of OT-SVG fonts I've seen either have bitmaps and could have been implemented using the 'sbix' table, or have flat colour layers and could have been implemented using COLRv0/CPAL.

    Technically, I don't think SVG was a good pairing with OpenType. One of the original Mozilla developers involved in introducing OT-SVG, Jonathan Kew, shares that opinion:

    However, OT-SVG has always been something of an oddity -- an independent graphics format and imaging model "plugged in" to individual glyphs, with no relation to the rest of the OpenType standard. The only reason it seemed reasonable to implement such a thing, I think, is that we already had an SVG renderer in the browser, and so could "simply" hook this into the glyph-painting code. But as a general approach to adding color to the OpenType font format, it would be much harder to justify, pulling in an entire XML parser and SVG document model rather than "just" adding color capabilities to the existing glyphs.
    Source: COLRv1 Color Gradient Vector Fonts · Issue #497 · mozilla/standards-positions (github.com)

    As Tom Phinney stated, the initial business justification for colour fonts was to support emoji, and most vendors implemented those in fonts using bitmaps (sbix, CBDT) or COLRv0, or supported them in their products using images (e.g., PNG).

    It's unfortunate that application support is still pretty divided between different formats. COLRv0 has long been supported in most browsers and in a number of applications, but it was resisted within Adobe by people who wanted to promote SVG. The sbix table is supported in major browsers except Firefox, and according to this page put up several years ago by Fontself, apparently sbix also is supported in several apps used by designers, including Adobe apps. I predict that eventually sbix and COLR will win out over OT-SVG simply because the latter doesn't integrate well with OpenType. It just might take some time.

    @Hin-Tak Leung said,

    ... adding COLRv1 support to a non-browser-based application... is not easy. I have taken the "easy way" forward: take skia (which is the drawing part of Chrome and contains Google's own COLRv1 implementation) out and stuff it underneath freetype...

    For apps on Windows DWriteCore provides very good support for all colour font formats including COLRv1. In fact, the APIs were designed to make it fairly easy for an app to support the different formats using the same method calls. (That's what made it easy to add support for COLRv0, CBDT, sbix and OT-SVG into (pre-Chromium) Edge back in 2016.) See Color font support (preview) - Win32 apps | Microsoft Learn and ID2D1DeviceContext7 - Win32 apps | Microsoft Learn.

  • davidm
    davidm Posts: 4
    We have three COLRv1 families in our library, all marketed under Shader Color, which we commissioned so that we could develop skills and show clients what's possible. I can categorically say that almost no-one is interested in them.
  • Hin-Tak Leung
    Hin-Tak Leung Posts: 361
    edited November 14
    I think Peter is mostly correctly in saying the chrome family of browsers / derivatives (including current Microsoft Edge after 2021, I think) have good support for COLRv1. Notably, Safari/Webkit folks had a statement of position a few years ago saying they won't support COLRv1; has this been changed/updated?...

    Last I wrote, switching palettes in COLRv1 was difficult on non-browser-based apps, and only via CSS on web-browser based app. This seems to have changed / improved slightly - or Google folks have been listening :) - I had some work-in-progress-code to do that in skia-python, and the latest update to current skia (m132 came out in the last two days; so we are talking about chrome m132 soon) seems to have added some convenient hooks at font load time to switch palettes and configure variable font axes. (It collided with my WIP stuff which is why I noticed it)... it looks like that we might see skia-based software having more convenient access to COLRv1 palettes and instantiating variable instances in a few months' time. (My notes on this is at https://github.com/kyamagu/skia-python/issues/282 )