Status: Draft • Scope: naming convention for layered colour fonts + example scripts and demo fonts
A compact naming convention for encoding layer order right in a font’s Name ID 6 (PostScript Name) so that apps and scripts can discover, sort, and group layered colour fonts – without affecting what users see in UI style pickers.
- Append a suffix
-lcfiNNto PostScript Name whereNNis a two-digit layer index (00–99). - Due to suffixes, scripts can discover, sort, and group layers.
- Lower index → deeper (back) layer.
- UI (menus) can keep the human-friendly Full Names; scripts operate on the PostScript Name.
- Example:
RR-Skriver-Colour-Falling-lcfi00,RR-Skriver-Colour-Sidewall-lcfi01,RR-Skriver-Colour-Base-lcfi02,RR-Skriver-Colour-Stroke-lcfi04,RR-Skriver-Colour-Top-lcfi04
- Motivation
- Design goals
- Specification
- Usage with scripts (Adobe Illustrator)
- RR Skriver Colour (typeface)
- FAQ
- Licensing
Modern colour font formats (SVG, COLR/CPAL) face practical limitations in today’s tools. They still lack native ways to adjust colours in print workflows. For that reason, layered colour fonts remain the most reliable approach. But managing them isn’t smooth: users type once, then must manually duplicate, change style, stack, and recolour layers.
LCFI aims to make layered workflows feel closer to “single-font” colour fonts: type once, let scripts assemble and order layers automatically, then adjust colours globally.
- To simplify the use of layered colour fonts.
- To keep font family and style names free from technical noise.
- To cover essential routine tasks.
- To showcase the approach with real scripts and a working font.
- Z-order: The lower the index, the lower (back) the layer sits.
- Index range: 00–99 (two digits with a leading zero).
Even with cutout designs (non-overlapping layers), LCFI helps by auto-stacking and assigning global swatches per layer.
<PostScript-Name>-lcfiNN
Where:
lcfi — Layered Colour Font Index
NN — two-digit layer index (00, 01, …, 98, 99)
RR-Skriver-Colour-Falling-lcfi00
RR-Skriver-Colour-Sidewall-lcfi01
RR-Skriver-Colour-Base-lcfi02
RR-Skriver-Colour-Stroke-lcfi03
RR-Skriver-Colour-Top-lcfi04
Note: Keep within PostScript name constraints (ASCII letters, digits, hyphens; no spaces). Adding
-lcfiNNconsumes part of the name length budget.
Set the suffix on Name ID 6 (PostScript Name). Keep Name ID 4 (Full Name) human-readable.
Glyphs App examples:
-
Open Font Info.
-
In Font Name (PostScript name), append
-lcfi00(or-lcfi01, etc.).
Important: Do not skip indexes. For example, missing
lcfi02whilelcfi03available will cause provided scripts to stop assembly atlcfi01.
After exporting fonts with the lcfi suffix:
-
End-users will still see the familiar style names in typical menus (derived from Full Name).
-
Scripts can operate on layers by parsing the PostScript Name.
This repository includes example Adobe Illustrator scripts that demonstrate the LCFI workflow.
The scripts are illustrative and were initially generated with AI assistance.
Installation:
- Place
.jsxfiles into Illustrator’sScriptsfolder. - Restart Illustrator.
- Run via File → Scripts.
A layered type family with implemented LCFI indexes is included for testing and demos.
Fonts are distributed under the OFL; see Licensing.
Why Name ID 6 (PostScript Name)?
It’s stable, machine-readable, and not typically exposed to end-users the way Full Name is. That makes it ideal for automation without cluttering UI elements.
Why two digits?
Keeps parsing trivial and ordering explicit, while covering most practical layered designs (up to 100 layers).
Can I start at lcfi01?
You can, but best practice is to start at lcfi00 and go up contiguously.
What about COLR/CPAL?
Where full colour redefinition UIs are unavailable or incomplete, LCFI lets layered fonts behave predictably today. If/when UI support matures, LCFI can still coexist for legacy and print workflows.
-
Scripts: MIT — see LICENSE
PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY.
-
Fonts: RR Skriver Colour typeface has been distributed under the SIL Open Font License, Version 1.1. This license is available with a FAQ at http://scripts.sil.org/OFL



