$ show 13rac1/twemoji-color-font
This repository is a build system that produces a color emoji SVGinOT (SVG in OpenType) font from Twitter Emoji (Twemoji) artwork. The core pipeline ingests SVG files, generates black-and-white fallback glyphs via Inkscape/ImageMagick/potrace, optimizes color SVGs with SVGO, and assembles them into a TrueType font using the SCFBuild tool. The Makefile orchestrates the entire process, including packaging for Linux (tar.gz, .deb), macOS, and Windows. The project includes platform-specific install/uninstall scripts, fontconfig configuration for Linux, and a CI workflow for automated builds. It is a focused, well-documented tool for generating emoji fonts with full ZWJ sequences, skin tones, and country flags. The primary reusable asset is the Linux fontconfig file, which demonstrates a clean pattern for overriding system emoji fonts without breaking other font rendering.
The LLM identified 3 files worth highlighting for reuse:
A standalone fontconfig XML file that makes Bitstream Vera the default font for serif, sans-serif, and monospace, then prepends the Twitter Color Emoji font as the first fallback. This avoids conflicts with DejaVu's emoji coverage and can be adapted for any custom emoji font on Linux. It demonstrates a robust, non-intrusive approach to font substitution.
A well-structured Makefile that defines the complete build pipeline for the font: staging SVGs, generating B&W traces via Inkscape/potrace, optimizing color SVGs with svgo, and running SCFBuild to produce the TTF. It handles packaging for multiple OS and includes a 'fast' target for parallel builds. The pattern is reusable for any SVGinOT font project.
SCFBuild configuration defining font metadata (family name, copyright, license), glyph translation and color transform parameters for proper vertical alignment, and space width. This is a concise example of how to configure an SVGinOT font build, reusable as a template for other emoji fonts.