Fira Code ligatures, with Chinese, Japanese, and Korean on the same grid.
Download fonts · Choose a variant · Install
Integrated Code 火 combines Fira Code's programming glyphs with regional CJK glyphs from Source Han Mono. Full-width CJK glyphs occupy two Latin character cells, so code and CJK text can share a monospaced layout.
- Five regional variants: Japanese, Korean, simplified Chinese, Taiwan, and Hong Kong.
- Six upright weights: Light, Regular, Retina, Medium, SemiBold, and Bold.
- Programming ligatures: Fira Code's combinations for operators and other code punctuation.
- TrueType fonts: individual
.ttffiles, packaged by locale.
Choose the variant for the glyph forms used in your language or region. Every variant uses the same western font; the CJK glyph forms differ by locale. You can install more than one variant.
| Language or region | Family to select in your editor | Download ZIP |
|---|---|---|
| 日本語 · Japanese | Integrated Code 火 日本 | Japan |
| 한국어 · Korean | Integrated Code 火 한국인 | Korea |
| 简体中文 · Simplified Chinese | Integrated Code 火 简化字 | Simplified_Chinese |
| 台灣 · Traditional Chinese | Integrated Code 火 台灣 | Taiwan |
| 香港 · Hong Kong / Cantonese | Integrated Code 火 香港 | Hong_Kong |
Download the font ZIP from Releases. Each locale archive contains the six weights. GitHub's Source code downloads contain the build sources.
- Download and extract the ZIP for your locale.
- Install the
.ttffiles using your operating system's font installer. - Select the family name from the table above in your editor or terminal.
- Enable font ligatures in editors that support them if you want the programming ligatures.
The font ZIP is ready to install. Python and the font build tools are needed only to build your own font files.
Fira Code supplies the western characters and programming features. Source Han Mono supplies the selected CJK characters, including regional ideograph forms, kana, and hangul. The font combines these sources with spacing adjusted for a two-cell CJK width.
Ligatures change how supported character combinations appear; the underlying text stays the same. Editors and terminals differ in their support for ligatures and OpenType features.
The characters ⋯ (U+22EF) and … (U+2026) use the same one-cell ellipsis glyph.
The downloads contain upright fonts. Italic, variable-font, and webfont builds are not included in these locale archives.
Integrated Code 火 brings together two branches of font development.
- Fira Mono → Fira Code → Fira Code HH, the source used for the western fonts.
- Source Han Sans and Source Code Pro → Source Han Mono, a pan-CJK relative of Source Han Code JP.
Fira Code is my favorite code-centric font. I also publish compiled Fira Code fonts in my fork for people who want Fira Code on its own.
Other programming fonts
With Chinese, Japanese, and/or Korean glyphs.
With western glyphs.
Build the font or contribute
The build tools require Python 3.14 or later. Clone this repository and install its dependencies
with uv sync, then activate the project virtual environment before running the Python scripts.
For PowerShell.
uv sync
. .\.venv\Scripts\Activate.ps1Compiling the source fonts also requires local checkouts of Fira Code HH and Source Han Mono.
By default, the build expects FiraCode/FiraCode.glyphs and the source-han-mono checkout under
this project's parent directory. Font settings and source locations are in
Integrated_Code_Fire/_theSSOT.py.
The assembly line separates character selection, font preparation, merging, and packaging. Run the stages needed for the inputs you are changing.
- Character selections. Run
python Integrated_Code_Fire/archivist.pyto regenerate the locale and style selections inIntegrated_Code_Fire/dataCenter. The selections exclude western characters and vertical glyph forms. Regeneration replaces these persistent inputs. - Source compilation and preparation. Review the build switches in
chopShop.py, then run
python Integrated_Code_Fire/chopShop.py. Western fonts are prepared underwarehouse/westernorwarehouse/scaled; CJK subsets are prepared underwarehouse/CID. - Merging and packaging. Run
python Integrated_Code_Fire/go.pywith the prepared warehouse inputs. The active configuration selects five locales and six upright weights. Merged fonts are written toworkbench/fonts, locale ZIP archives are written toassets, and temporary workbench files are removed after packaging.
Keep temporary font edits in workbench. Changes to the warehouse fonts or character selections
become persistent inputs to later builds. Build outputs with matching filenames are replaced.
| Integrated Code 火 | Fira Code | Source Han Mono |
|---|---|---|
| Light | Light | Light |
| Regular | Regular | Regular |
| Retina | Retina | Normal |
| Medium | Medium | Medium |
| SemiBold | SemiBold | Bold |
| Bold | Bold | Heavy |
Source Han Mono's ExtraLight weight has no matching Fira Code weight and is not selected for the
release fonts. Some preparation functions use the broader defaults of a fresh PackageSettings,
including italic styles and ExtraLight. Use explicit selections when you want those functions to
match the active release configuration.
Corrections to the non-English text, improvements to CJK coverage and spacing, smaller font files, and additional font formats are welcome. Open an issue to discuss a change.
- The font, Integrated Code 火, is available under the SIL Open Font License, Version 1.1, with Reserved Font Name "Integrated".
- Files other than the fonts for which I am the copyright holder are available under the Creative Commons Attribution-NonCommercial 4.0 International Public License.
- Source is a trademark of Adobe in the United States and/or other countries.
- Fira Mono is a trademark of The Mozilla Corporation.

