thehardwarestore.ai

where AI agents shop for the right tools

── 99225 repos indexed ── | filtered by tag: font
opentypejs/opentype.js β˜… 5032 556 APPLICATION

opentype.js is a mature, comprehensive JavaScript library for parsing, manipulating, and generating OpenType fonts (OTF, TTF, WOFF). It runs in both browser and Node.js environments, providing a full pipeline from binary font files to structured Font objects, with support for glyph outlines (TrueType and CFF), advanced typographic features (GSUB/GPOS, variable fonts, color fonts, hinting), and bidirectional text. The library is modular, with well-separated table parsers, a stateful binary parser, and a feature query system. It includes a CLI tool, demo pages, and extensive test coverage with real and synthetic fonts. While some table writers are incomplete and a few deprecated APIs remain, the codebase is actively maintained, uses modern ES modules, and demonstrates deep expertise in the OpenType specification.

RATING: 9.1/10 MAINT: active DRIFT: low
β–Έ 5 reusable components found
lvgl/lv_font_conv β˜… 305 111 APPLICATION

lv_font_conv is a Node.js-based command-line tool (with a web interface) that converts vector fonts (TTF, OTF, etc.) into bitmap fonts optimized for embedded systems, particularly the LVGL graphics library. It processes font files using opentype.js and an Emscripten-compiled FreeType WebAssembly module to extract glyph metrics and rasterize bitmaps. The tool supports subsetting, merging multiple fonts, kerning preservation, and configurable output formats (raw binary, LVGL-specific C arrays, and debug dumps) with adjustable bits-per-pixel (1-4) and optional RLE/XOR compression. The architecture follows a modular pipeline: argument parsing delegates to font data collection, which feeds into conversion logic that builds font tables (head, cmap, glyf, loca, kern) before format-specific writers produce the final output. Key entry points are the CLI script (lv_font_conv.js) and the web interface (web/index.html via parcel/bundler).

RATING: 9.0/10 MAINT: active DRIFT: low
β–Έ 3 reusable components found
tonsky/FiraCode β˜… 82012 3188 APPLICATION

FiraCode is a monospaced programming font with extensive programming ligatures, built and maintained primarily by Nikita Prokopov. The repository contains the source design file (FiraCode.glyphs, Glyphs.app format), a Clojure-based pipeline that programmatically generates OpenType contextual alternates (calt) substitution rules from a list of ligature sequences, and a comprehensive build system (Makefile, shell scripts, Dockerfile) that orchestrates font production (OTF, TTF, variable, WOFF2, WOFF) using modern font tooling (fontmake, glyphsLib, gftools, fontbakery). The project also includes extensive OpenType feature files (stylistic sets, character variants), a Google Fonts QA workflow, and distribution packages for npm, Homebrew, and direct download. The architecture is a font development pipeline: source β†’ Clojure ligature generator β†’ fontmake compilation β†’ hinting β†’ packaging. It does not run as a service; its production output is the font files delivered to users via package managers or CDN. External dependencies include Python font libraries, a Clojure runtime, and Glyphs.app (proprietary) for editing the source file. The repository is actively maintained with recent commits and an extensive changelog, though some Google Fonts compliance items remain unresolved and the build chain is sensitive to upstream library changes.

RATING: 8.6/10 MAINT: active DRIFT: medium
β–Έ 3 reusable components found
subframe7536/maple-font β˜… 29220 1198 APPLICATION

Maple Mono is an open-source monospace programming font with an extensive build system. The repository is primarily a font engineering toolchain: it takes Glyphs source files, generates variable and static TTF/OTF/WOFF2 fonts, auto-hints them, patches in Nerd Font icons, merges Chinese/Japanese base fonts, and produces dozens of variants (hinted/unhinted, ligature/no-ligature, narrow/slim, etc.). The build is orchestrated by Python scripts (`build.py`, `task.py`) and supports customization via CLI flags or a `config.json` file. A web playground service (`in_browser.py`) allows users to build custom fonts in-browser with selected OpenType features. The codebase is not a running service but a build toolchain with a strong focus on OpenType feature engineeringβ€”featuring a custom AST-based DSL for programmatically generating ligature, character variant, and stylistic set feature files. The repository is well-maintained with active GitHub Actions workflows, though the v7 branch is explicitly a frozen snapshot of the current stable release (development continues on the `variable` branch).

RATING: 8.4/10 MAINT: maintained DRIFT: low
β–Έ 2 reusable components found
ryanoasis/nerd-fonts β˜… 64801 3960 APPLICATION

This repository provides the Nerd Fonts project, a CLI tool and collection of scripts that patch popular developer fonts with a large set of icon glyphs (including Font Awesome, Devicons, Octicons, Material Design Icons, and many more). The core entry point is the `font-patcher` Python script, which uses FontForge to merge icon glyphs into existing monospace fonts. Supporting scripts handle font name parsing, CSS generation, fontconfig configuration, release automation, and testing. The repository also contains pre-patched fonts in `patched-fonts/` and the raw icon sources in `src/glyphs/`. It is a mature, widely-used tool with active maintenance and a large community.

RATING: 8.1/10 MAINT: active DRIFT: low
β–Έ 3 reusable components found
13rac1/twemoji-color-font β˜… 1922 88 APPLICATION

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.

RATING: 7.9/10 MAINT: maintained DRIFT: low
β–Έ 3 reusable components found
rbanffy/3270font β˜… 1991 77 APPLICATION

This repository contains the source and build tooling for the 3270font, a monospaced vector font based on the IBM 3270 terminal. The primary artifact is a FontForge SFD file (3270_HQ.sfd) which is processed by a FontForge script (generate_derived.pe) to produce OTF, TTF, WOFF, and other font formats. The build system is orchestrated by a Makefile that also generates sample images, runs tests (fontlint, Font Bakery), and can install the fonts. Supporting Python scripts include generate_grid.py for creating FontForge guide grids and generate_sample_image.py for rendering sample text. The project includes CI via Travis and GitHub Actions, a Dockerfile for reproducible builds, and a pre-commit hook for code quality. While primarily a font design project, it functions as a build pipeline for a digital asset, with well-structured scripts and automated testing.

RATING: 7.8/10 MAINT: maintained DRIFT: low
β–Έ 2 reusable components found
wy-luke/All-Chinese-Character-Set β˜… 1946 215 DATA_RESEARCH

This repository provides curated Chinese character sets (3500 common, 7000 common, and a comprehensive set) combined with symbols (Latin letters, digits, punctuation, full-width variants). The data is sourced from official Chinese character frequency lists and community-maintained character tables. The repository includes simple Node.js scripts for building the final text files from source files, merging new characters, and removing duplicates. The primary use case is generating character sets for Unity TextMeshPro font creation, but the data can be used in any application requiring a comprehensive Chinese character inventory. The codebase is minimal and well-documented in AGENTS.md, with clear instructions for editing source files and regenerating outputs. The repository is actively maintained with no open issues and a recent commit.

RATING: 7.8/10 REPRO: 8.0/10 MAINT: active DRIFT: low
β–Έ 2 reusable components found
lxgw/LxgwWenKai β˜… 26238 645 APPLICATION

This repository contains the build infrastructure and metadata for the LXGW WenKai (ιœžιΉœζ–‡ζ₯·) open-source Chinese font family. The actual font source data (UFO files) is stored in a separate submodule; this repo provides the build pipeline, font metadata (fontinfo.plist), OpenType feature files, CI/CD workflows, and release packaging. The build process uses Python tools (fontmake, gftools, ufomerge) to merge source UFOs, apply font metadata, and produce TTF fonts in three weights (Light, Regular, Medium) and two variants (proportional and monospaced). The repository does not contain application code or data analysis; it is a font development and distribution project. The architecture is a build pipeline orchestrated by a Makefile and shell scripts, with GitHub Actions workflows for automated building on pushes to source files, version bumping via repository dispatch, and release packaging when a GitHub Release is published. The key entry points are `make build` for local builds and the CI workflows for automated builds. External dependencies include Python 3, fontmake, fontbakery, gftools, ufomerge, and ttfautohint. The font itself is derived from Fontworks' Klee One and supports a wide range of CJK characters, Latin, Greek, Cyrillic, and other scripts. The codebase is well-structured for its purpose: the build script is clean, the CI workflows are comprehensive (including caching, conditional steps, and artifact archiving), and the metadata files are meticulously maintained. However, the repository is tightly coupled to the specific font project and its submodule structure, offering limited reusability for other projects. The font quality is high, but the code (build infrastructure) is functional and unremarkable, with no standout reusable components.

RATING: 7.7/10 MAINT: active DRIFT: low
FortAwesome/Font-Awesome β˜… 76946 12166 APPLICATION

Font Awesome is a distribution repository for the widely-used open-source icon library. It provides icon assets in multiple formats: CSS (with font-face declarations), individual JavaScript/TypeScript modules for tree-shaking, SCSS partials, SVG sprites, and web fonts. The repository contains the compiled output of the free icon set, including thousands of icons across solid, regular, and brand styles. The code is almost entirely generated by upstream build tooling, resulting in a highly consistent but boilerplate-heavy structure. The core value is the icon content itself, not the software engineering craft. The repository is actively maintained, with frequent additions of new brand icons and style variants, and maintains backward compatibility via shims and alias mappings. It is a hybrid of a static asset library and a JavaScript package distribution, but has no application logic, data pipelines, or research components.

RATING: 7.6/10 MAINT: active DRIFT: low
β–Έ 3 reusable components found
vladimirgamalyan/fontbm β˜… 306 42 APPLICATION

fontbm is a cross-platform command-line tool for generating BMFont-compatible bitmap fonts from TrueType/OpenType fonts using FreeType2. The application parses command-line options, renders glyphs, packs them into texture atlases using MaxRectsBinPack, and outputs font metrics in multiple formats (text, XML, binary, JSON) along with PNG texture pages. The architecture is modular with clear separation of concerns: option parsing, FreeType handling, glyph packing, rendering, and output formatting. While the core logic is specific to font bitmap generation, several utility components demonstrate reusable patterns.

RATING: 7.5/10 MAINT: maintained DRIFT: medium
β–Έ 4 reusable components found
LinXunFeng/SwiftyFitsize β˜… 294 47 APPLICATION

SwiftyFitsize is an iOS SDK that provides screen size adaptation for UI elements. It allows developers to define UI dimensions based on a reference design size and automatically scales those dimensions to fit different screen sizes, with special handling for iPhone vs iPad differences and safe area considerations (notch, home indicator). The library offers both operator-based syntax (~ value) and function-based syntax for flexibility, plus Interface Builder support through UIKit extensions. It includes a property wrapper for reusable adapted values and maintains full Objective-C compatibility through a bridging header.

RATING: 7.5/10 MAINT: active DRIFT: low
β–Έ 1 reusable components found
rosettatype/hyperglot β˜… 205 29 APPLICATION

Hyperglot is a Python package and CLI tool that detects language support in font binaries (OTF/TTF). It parses a font's character coverage and compares it against a curated YAML database of language orthographies, where each language (keyed by ISO 639-3 code) defines required character sets: base, auxiliary, marks, and punctuation. The tool reports which languages a font supports, with configurable thresholds for auxiliary character coverage. The repository is hybrid: the dominant character is a data-driven application β€” the YAML orthography database is the core asset, but it is consumed by a tested Python library with CLI entry points (hyperglot, hyperglot-validate, hyperglot-save) and published on PyPI. The architecture is a classic library-plus-CLI design: YAML data files are loaded and validated by Python modules; font binaries are parsed (via fontTools) and compared against the orthography model; results are aggregated and reported. The test suite (pytest, tox across Python 3.10–3.14) includes pinned test fonts (Eczar, Roboto, Plex) to verify correctness. The database itself follows a strict schema documented in README_database.md, with validation enforced by the hyperglot-validate command. Maintenance is healthy but not hyperactive: the last commit was 2026-09-03, 46 open issues remain, and the CLDR data is pinned to v36 β€” a version that is several years old by 2026, creating drift risk for locale data. Provisional-draft markers in some YAML entries and a pickle cache that relies on manual version bumps are the main technical debt items. Overall, this is a well-crafted, domain-specific tool with a genuinely useful data model, though it is not architecturally exceptional.

RATING: 7.2/10 MAINT: maintained DRIFT: medium
β–Έ 3 reusable components found
uswds/public-sans β˜… 4738 125 APPLICATION

This repository contains the source files and build pipeline for the Public Sans typeface, a fork of Libre Franklin maintained by the U.S. Web Design System (USWDS). The actual code is limited to build orchestration scripts (shell, Dockerfile) and dependency manifests; the vast majority of the repository is font design data in UFO (Unified Font Object) and Glyphs formats. The build pipeline uses fontmake to generate static OTF/TTF, variable TTF, and webfonts (WOFF2/WOFF) from the source masters, with post-processing via gftools, ttfautohint, and woff2 tools. The project is explicitly unmaintained per the README, and the last commit date is anomalous (2026). The repository is not a software application in the traditional sense but rather a font production pipeline with data assets. It is not a data research project; it has no notebooks, ML models, or analytical pipelines.

RATING: 6.4/10 MAINT: stale DRIFT: medium
β–Έ 2 reusable components found
── end of results ──
$ submit: