Parley
github.com/linebender/parley · Apache-2.0 OR MIT
For hotty-blitz
1 patch on 332c1c7. Blitz lays out text with Parley, at the revision Blitz pins, which is our base. hotty-blitz draws HOTTY surfaces, often with a terminal's monospace font stack, and Parley chose a font for emoji in a way that drew them in monochrome there. We mod Parley rather than fork it so that the fix stays one change on the revision Blitz builds with, until Parley has its own.
Emoji draw in colour whatever the font stack
Upstream fit: yes · patch 0001
What it changes: for a cluster with emoji presentation (an
Emoji_Presentation character, VS16, a keycap, a flag, a ZWJ sequence),
Parley queried the style's font stack, then the emoji generic family, and
took the first font that covered it. A text font with outlines for the
character, as DejaVu Sans has for the faces, or the monospace generic,
then drew it in monochrome. The cluster now takes the first font with
colour glyphs (COLR, CBDT, sbix or SVG ) that covers it, from the
stack or the emoji family, and falls back to the old choice only when none
does. Fontique gets QueryFont::has_color_glyphs. Text presentation (VS15,
or a text-default character alone) is unchanged.
Why we carry it: HOTTY surfaces in a terminal often use its monospace stack, and plx's dialogs showed emoji in monochrome.
For upstream: yes. Browsers and Ghostty choose colour fonts first for
emoji presentation, and upstream's main still appends the emoji family
last.