OpenMoji is an open-source emoji set maintained by HfG Schwäbisch Gmünd. The repository contains the full pipeline for producing emoji assets: source SVGs, a metadata generation system that merges emojibase-data with custom CSV enhancements and Unicode draft overrides, export scripts for color/black SVGs, PNGs, PDFs, and font generation via Docker. The central data file `data/openmoji.json` provides structured emoji metadata including hexcodes, tags, authors, and dates. The build system is modular with incremental caching, color palette enforcement using kd-tree, and comprehensive tests for data integrity, SVG layer rules, and font table presence. While primarily a data/research repository producing emoji assets, it includes a thin npm package for programmatic access and a sophisticated build pipeline that could be adapted for other icon sets. The repository is actively maintained with recent commits and CI workflows, though it relies on external dependencies like emojibase-data and a Docker font builder that may introduce drift.
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.
Handwrite is a CLI application that converts a scanned handwriting sample into a TrueType font. The pipeline consists of three stages: SHEETtoPNG uses OpenCV to detect and extract individual character images from a grid-based form; PNGtoSVG uses Potrace to convert the PNG images to SVG vector outlines; and SVGtoTTF uses FontForge to compile the SVGs into a font file with configurable metrics, kerning, and bearings. The architecture is a simple sequential pipeline orchestrated by the CLI entry point. External dependencies include OpenCV, Pillow, Potrace, and FontForge. The codebase is well-structured with unit tests, CI, and modern Python packaging (uv, Python 3.14). The character detection module in `sheettopng.py` demonstrates reusable grid-based contour extraction logic.