How tonsky/firacode works
Fira Code is a monospaced programming font whose OpenType features render multi-character code sequences as ligatures while leaving source text unchanged. The repository includes a Glyphs-source font and a Clojure generator: it loads the font, derives ligature sequences, updates feature and glyph data, checks widths, and saves the result. The README also documents stylistic sets, character variants, console and box-drawing coverage, progress-bar glyphs, and broad Unicode support. Generator call paths are visible in main.clj; other capability links are documented in the README.
Main entry points: main.clj Generator entry · FiraCode.glyphs Glyphs source · features.clj Feature assembly · glyphs.clj Glyph parser and writer
Components 18
Font design
- Glyphs source
FiraCode.glyphs - Generated font
Font generation
- Generator entry
clojure/fira_code/main.clj - Glyph parser and writer
clojure/fira_code/glyphs.clj - Ligature generation
clojure/fira_code/calt.clj - Glyph classes
clojure/fira_code/classes.clj - Feature assembly
clojure/fira_code/features.clj - Spacer glyphs
clojure/fira_code/spacers.clj - Non-space data
clojure/fira_code/not_space.clj - Width checks
clojure/fira_code/checks.clj
OpenType features
- Feature definitions
features - Ligature patterns
features/calt - Style variants
features
Glyph capabilities
- Punctuation tuning
FiraCode.glyphs - Unicode coverage
FiraCode.glyphs - Console glyphs
FiraCode.glyphs - Progress glyphs
clojure/fira_code
Other components
- Font maintainer
Connections 17
- Font maintainer → Generator entry: runs
- Glyphs source → Generator entry: provides input
clojure/fira_code/main.clj - Generator entry → Glyph parser and writer: loads and saves
clojure/fira_code/main.clj - Generator entry → Ligature generation: generates ligatures
clojure/fira_code/main.clj - Generator entry → Glyph classes: fills classes
clojure/fira_code/main.clj - Generator entry → Feature assembly: fills features
clojure/fira_code/main.clj - Generator entry → Spacer glyphs: adds spacers
clojure/fira_code/main.clj - Generator entry → Non-space data: regenerates data
clojure/fira_code/main.clj - Generator entry → Width checks: checks widths
clojure/fira_code/main.clj - Feature assembly → Ligature patterns: appends definitions
clojure/fira_code/features.clj - Feature assembly → Feature definitions: loads definitions
clojure/fira_code/features.clj - Feature definitions → Style variants: includes variants
README.md - Glyph parser and writer → Generated font: writes font data
- Glyphs source → Punctuation tuning: contains tuning
README.md - Glyphs source → Unicode coverage: provides coverage
README.md - Glyphs source → Console glyphs: provides glyphs
README.md - Glyphs source → Progress glyphs: provides glyphs
README.md