The project's README from github.com/subframe7536/maple-font. As one markdown file: README.md.
[!IMPORTANT] This branch has been frozen as a snapshot of V7. V8 will include the latest features and bug fixes. see it in
variablebranch.

Download | Website | English | 中文 | 日本語
Maple Mono is an open source monospace font focused on smoothing your coding flow.
I created it to enhance my working experience, and hope that it can be useful to others.
V7 is a completely remade version, providing variable font format and source files of the font project, redesigning more than half of the glyphs, and offering smarter ligatures. You can checkout V6 here
@ $ % & Q -> and cursive f i j k l x y in italic style.features/CN version based on Resource Han Rounded provides complete character set support for Chinese development environments, including Simplified Chinese, Traditional Chinese, and Japanese. Meanwhile, the characteristic of perfect 2:1 alignment between Chinese and English allows this font to achieve a neat, uniform, beautiful, and comfortable appearance in scenarios such as multilingual display and Markdown tables. However, the spacing of Chinese characters is larger compared to other popular Chinese fonts. See details in release notes and this issue.


You can download all the font archives from Releases.
# Add bucket
scoop bucket add nerd-fonts
# Maple Mono (ttf format)
scoop install Maple-Mono
# Maple Mono NF
scoop install Maple-Mono-NF
# Maple Mono NF CN
scoop install Maple-Mono-NF-CN
# Add bucket
scoop bucket add nerd-fonts
# Maple Mono (ttf format)
scoop install Maple-Mono
# Maple Mono (hinted ttf format)
scoop install Maple-Mono-autohint
# Maple Mono (otf format)
scoop install Maple-Mono-otf
# Maple Mono NF
scoop install Maple-Mono-NF
# Maple Mono NF CN
scoop install Maple-Mono-NF-CN
# Maple Mono
brew install --cask font-maple-mono
# Maple Mono NF
brew install --cask font-maple-mono-nf
# Maple Mono NF CN
brew install --cask font-maple-mono-nf-cn
# Maple Mono
brew install --cask font-maple-mono
# Maple Mono NF
brew install --cask font-maple-mono-nf
# Maple Mono CN
brew install --cask font-maple-mono-cn
# Maple Mono NF CN
brew install --cask font-maple-mono-nf-cn
# Maple Mono Normal
brew install --cask font-maple-mono-normal
# Maple Mono Normal NF
brew install --cask font-maple-mono-normal-nf
# Maple Mono Normal CN
brew install --cask font-maple-mono-normal-cn
# Maple Mono Normal NF CN
brew install --cask font-maple-mono-normal-nf-cn
ArchLinuxCN repository allows downloading a single package zip file without downloading all the package zip files in pkgbase, but AUR does not. (If you have a good solution, please contact Cyberczy([email protected]))
# Maple Mono (Ligature TTF unhinted)
paru -S ttf-maplemono
# Maple Mono NF (Ligature unhinted)
paru -S ttf-maplemono-nf-unhinted
# Maple Mono NF CN (Ligature unhinted)
paru -S ttf-maplemono-nf-cn-unhinted
# Maple Mono (Ligature Variable)
paru -S ttf-maplemono-variable
# Maple Mono (Ligature TTF hinted)
paru -S ttf-maplemono-autohint
# Maple Mono (Ligature TTF unhinted)
paru -S ttf-maplemono
# Maple Mono (Ligature OTF)
paru -S otf-maplemono
# Maple Mono (Ligature WOFF2)
paru -S woff2-maplemono
# Maple Mono NF (Ligature hinted)
paru -S ttf-maplemono-nf
# Maple Mono NF (Ligature unhinted)
paru -S ttf-maplemono-nf-unhinted
# Maple Mono CN (Ligature hinted)
paru -S ttf-maplemono-cn
# Maple Mono CN (Ligature unhinted)
paru -S ttf-maplemono-cn-unhinted
# Maple Mono NF CN (Ligature hinted)
paru -S ttf-maplemono-nf-cn
# Maple Mono NF CN (Ligature unhinted)
paru -S ttf-maplemono-nf-cn-unhinted
# Maple Mono (No-Ligature Variable)
paru -S ttf-maplemononl-variable
# Maple Mono (No-Ligature TTF hinted)
paru -S ttf-maplemononl-autohint
# Maple Mono (No-Ligature TTF unhinted)
paru -S ttf-maplemononl
# Maple Mono (No-Ligature OTF)
paru -S otf-maplemononl
# Maple Mono (No-Ligature WOFF2)
paru -S woff2-maplemononl
# Maple Mono NF (No-Ligature hinted)
paru -S ttf-maplemononl-nf
# Maple Mono NF (No-Ligature unhinted)
paru -S ttf-maplemononl-nf-unhinted
# Maple Mono CN (No-Ligature hinted)
paru -S ttf-maplemononl-cn
# Maple Mono CN (No-Ligature unhinted)
paru -S ttf-maplemononl-cn-unhinted
# Maple Mono NF CN (No-Ligature hinted)
paru -S ttf-maplemononl-nf-cn
# Maple Mono NF CN (No-Ligature unhinted)
paru -S ttf-maplemononl-nf-cn-unhinted
# Maple Mono Normal (Ligature Variable)
paru -S ttf-maplemononormal-variable
# Maple Mono Normal (Ligature TTF hinted)
paru -S ttf-maplemononormal-autohint
# Maple Mono Normal (Ligature TTF unhinted)
paru -S ttf-maplemononormal
# Maple Mono Normal (Ligature OTF)
paru -S otf-maplemononormal
# Maple Mono Normal (Ligature WOFF2)
paru -S woff2-maplemononormal
# Maple Mono Normal NF (Ligature hinted)
paru -S ttf-maplemononormal-nf
# Maple Mono Normal NF (Ligature unhinted)
paru -S ttf-maplemononormal-nf-unhinted
# Maple Mono Normal CN (Ligature hinted)
paru -S ttf-maplemononormal-cn
# Maple Mono Normal CN (Ligature unhinted)
paru -S ttf-maplemononormal-cn-unhinted
# Maple Mono Normal NF CN (Ligature hinted)
paru -S ttf-maplemononormal-nf-cn
# Maple Mono Normal NF CN (Ligature unhinted)
paru -S ttf-maplemononormal-nf-cn-unhinted
# Maple Mono Normal (No-Ligature Variable)
paru -S ttf-maplemononormalnl-variable
# Maple Mono Normal (No-Ligature TTF hinted)
paru -S ttf-maplemononormalnl-autohint
# Maple Mono Normal (No-Ligature TTF unhinted)
paru -S ttf-maplemononormalnl
# Maple Mono Normal (No-Ligature OTF)
paru -S otf-maplemononormalnl
# Maple Mono Normal (No-Ligature WOFF2)
paru -S woff2-maplemononormalnl
# Maple Mono Normal NF (No-Ligature hinted)
paru -S ttf-maplemononormalnl-nf
# Maple Mono Normal NF (No-Ligature unhinted)
paru -S ttf-maplemononormalnl-nf-unhinted
# Maple Mono Normal CN (No-Ligature hinted)
paru -S ttf-maplemononormalnl-cn
# Maple Mono Normal CN (No-Ligature unhinted)
paru -S ttf-maplemononormalnl-cn-unhinted
# Maple Mono Normal NF CN (No-Ligature hinted)
paru -S ttf-maplemononormalnl-nf-cn
# Maple Mono Normal NF CN (No-Ligature unhinted)
paru -S ttf-maplemononormalnl-nf-cn-unhinted
# Maple Mono (Ligature TTF unhinted)
paru -S maplemono-ttf
# Maple Mono NF (Ligature unhinted)
paru -S maplemono-nf-unhinted
# Maple Mono NF CN (Ligature unhinted)
paru -S maplemono-nf-cn-unhinted
# Maple Mono (Ligature Variable)
paru -S maplemono-variable
# Maple Mono (Ligature TTF hinted)
paru -S maplemono-ttf-autohint
# Maple Mono (Ligature TTF unhinted)
paru -S maplemono-ttf
# Maple Mono (Ligature OTF)
paru -S maplemono-otf
# Maple Mono (Ligature WOFF2)
paru -S maplemono-woff2
# Maple Mono NF (Ligature hinted)
paru -S maplemono-nf
# Maple Mono NF (Ligature unhinted)
paru -S maplemono-nf-unhinted
# Maple Mono CN (Ligature hinted)
paru -S maplemono-cn
# Maple Mono CN (Ligature unhinted)
paru -S maplemono-cn-unhinted
# Maple Mono NF CN (Ligature hinted)
paru -S maplemono-nf-cn
# Maple Mono NF CN (Ligature unhinted)
paru -S maplemono-nf-cn-unhinted
# Maple Mono (No-Ligature Variable)
paru -S maplemononl-variable
# Maple Mono (No-Ligature TTF hinted)
paru -S maplemononl-ttf-autohint
# Maple Mono (No-Ligature TTF unhinted)
paru -S maplemononl-ttf
# Maple Mono (No-Ligature OTF)
paru -S maplemononl-otf
# Maple Mono (No-Ligature WOFF2)
paru -S maplemononl-woff2
# Maple Mono NF (No-Ligature hinted)
paru -S maplemononl-nf
# Maple Mono NF (No-Ligature unhinted)
paru -S maplemononl-nf-unhinted
# Maple Mono CN (No-Ligature hinted)
paru -S maplemononl-cn
# Maple Mono CN (No-Ligature unhinted)
paru -S maplemononl-cn-unhinted
# Maple Mono NF CN (No-Ligature hinted)
paru -S maplemononl-nf-cn
# Maple Mono NF CN (No-Ligature unhinted)
paru -S maplemononl-nf-cn-unhinted
# Maple Mono Normal (Ligature Variable)
paru -S maplemononormal-variable
# Maple Mono Normal (Ligature TTF hinted)
paru -S maplemononormal-ttf-autohint
# Maple Mono Normal (Ligature TTF unhinted)
paru -S maplemononormal-ttf
# Maple Mono Normal (Ligature OTF)
paru -S maplemononormal-otf
# Maple Mono Normal (Ligature WOFF2)
paru -S maplemononormal-woff2
# Maple Mono Normal NF (Ligature hinted)
paru -S maplemononormal-nf
# Maple Mono Normal NF (Ligature unhinted)
paru -S maplemononormal-nf-unhinted
# Maple Mono Normal CN (Ligature hinted)
paru -S maplemononormal-cn
# Maple Mono Normal CN (Ligature unhinted)
paru -S maplemononormal-cn-unhinted
# Maple Mono Normal NF CN (Ligature hinted)
paru -S maplemononormal-nf-cn
# Maple Mono Normal NF CN (Ligature unhinted)
paru -S maplemononormal-nf-cn-unhinted
# Maple Mono Normal (No-Ligature Variable)
paru -S maplemononormalnl-variable
# Maple Mono Normal (No-Ligature TTF hinted)
paru -S maplemononormalnl-ttf-autohint
# Maple Mono Normal (No-Ligature TTF unhinted)
paru -S maplemononormalnl-ttf
# Maple Mono Normal (No-Ligature OTF)
paru -S maplemononormalnl-otf
# Maple Mono Normal (No-Ligature WOFF2)
paru -S maplemononormalnl-woff2
# Maple Mono Normal NF (No-Ligature hinted)
paru -S maplemononormalnl-nf
# Maple Mono Normal NF (No-Ligature unhinted)
paru -S maplemononormalnl-nf-unhinted
# Maple Mono Normal CN (No-Ligature hinted)
paru -S maplemononormalnl-cn
# Maple Mono Normal CN (No-Ligature unhinted)
paru -S maplemononormalnl-cn-unhinted
# Maple Mono Normal NF CN (No-Ligature hinted)
paru -S maplemononormalnl-nf-cn
# Maple Mono Normal NF CN (No-Ligature unhinted)
paru -S maplemononormalnl-nf-cn-unhinted
fonts.packages = with pkgs; [
# Maple Mono (Ligature TTF unhinted)
maple-mono.truetype
# Maple Mono NF (Ligature unhinted)
maple-mono.NF-unhinted
# Maple Mono NF CN (Ligature unhinted)
maple-mono.NF-CN-unhinted
];
fonts.packages = with pkgs; [
# Maple Mono (Ligature Variable)
maple-mono.variable
# Maple Mono (Ligature TTF hinted)
maple-mono.truetype-autohint
# Maple Mono (Ligature TTF unhinted)
maple-mono.truetype
# Maple Mono (Ligature OTF)
maple-mono.opentype
# Maple Mono (Ligature WOFF2)
maple-mono.woff2
# Maple Mono NF (Ligature hinted)
maple-mono.NF
# Maple Mono NF (Ligature unhinted)
maple-mono.NF-unhinted
# Maple Mono CN (Ligature hinted)
maple-mono.CN
# Maple Mono CN (Ligature unhinted)
maple-mono.CN-unhinted
# Maple Mono NF CN (Ligature hinted)
maple-mono.NF-CN
# Maple Mono NF CN (Ligature unhinted)
maple-mono.NF-CN-unhinted
# Maple Mono (No-Ligature Variable)
maple-mono.NL-Variable
# Maple Mono (No-Ligature TTF hinted)
maple-mono.NL-TTF-AutoHint
# Maple Mono (No-Ligature TTF unhinted)
maple-mono.NL-TTF
# Maple Mono (No-Ligature OTF)
maple-mono.NL-OTF
# Maple Mono (No-Ligature WOFF2)
maple-mono.NL-Woff2
# Maple Mono NF (No-Ligature hinted)
maple-mono.NL-NF
# Maple Mono NF (No-Ligature unhinted)
maple-mono.NL-NF-unhinted
# Maple Mono CN (No-Ligature hinted)
maple-mono.NL-CN
# Maple Mono CN (No-Ligature unhinted)
maple-mono.NL-CN-unhinted
# Maple Mono NF CN (No-Ligature hinted)
maple-mono.NL-NF-CN
# Maple Mono NF CN (No-Ligature unhinted)
maple-mono.NL-NF-CN-unhinted
# Maple Mono Normal (Ligature Variable)
maple-mono.Normal-Variable
# Maple Mono Normal (Ligature TTF hinted)
maple-mono.Normal-TTF-AutoHint
# Maple Mono Normal (Ligature TTF unhinted)
maple-mono.Normal-TTF
# Maple Mono Normal (Ligature OTF)
maple-mono.Normal-OTF
# Maple Mono Normal (Ligature WOFF2)
maple-mono.Normal-Woff2
# Maple Mono Normal NF (Ligature hinted)
maple-mono.Normal-NF
# Maple Mono Normal NF (Ligature unhinted)
maple-mono.Normal-NF-unhinted
# Maple Mono Normal CN (Ligature hinted)
maple-mono.Normal-CN
# Maple Mono Normal CN (Ligature unhinted)
maple-mono.Normal-CN-unhinted
# Maple Mono Normal NF CN (Ligature hinted)
maple-mono.Normal-NF-CN
# Maple Mono Normal NF CN (Ligature unhinted)
maple-mono.Normal-NF-CN-unhinted
# Maple Mono Normal (No-Ligature Variable)
maple-mono.NormalNL-Variable
# Maple Mono Normal (No-Ligature TTF hinted)
maple-mono.NormalNL-TTF-AutoHint
# Maple Mono Normal (No-Ligature TTF unhinted)
maple-mono.NormalNL-TTF
# Maple Mono Normal (No-Ligature OTF)
maple-mono.NormalNL-OTF
# Maple Mono Normal (No-Ligature WOFF2)
maple-mono.NormalNL-Woff2
# Maple Mono Normal NF (No-Ligature hinted)
maple-mono.NormalNL-NF
# Maple Mono Normal NF (No-Ligature unhinted)
maple-mono.NormalNL-NF-unhinted
# Maple Mono Normal CN (No-Ligature hinted)
maple-mono.NormalNL-CN
# Maple Mono Normal CN (No-Ligature unhinted)
maple-mono.NormalNL-CN-unhinted
# Maple Mono Normal NF CN (No-Ligature hinted)
maple-mono.NormalNL-NF-CN
# Maple Mono Normal NF CN (No-Ligature unhinted)
maple-mono.NormalNL-NF-CN-unhinted
];
See in document or try it in Playground
Maple Mono)Maple Mono NL)--normal preset with ligatures (Maple Mono Normal)--normal preset without ligatures (Maple Mono Normal NL)-NF suffix)-CN suffix)-NF-CN suffix)MapleMono-TTF-AutoHint / MapleMono-NF / MapleMono-NF-CN, etc.MapleMono-OTF / MapleMono-TTF / MapleMono-NF-unhinted / MapleMono-NF-CN-unhinted, etc.-AutoHint and -unhinted suffixes?-AutoHint is only used for TTF format.The config.json file is used to configure the build process. Checkout the schema or document for more details.
There are also some command line options for customizing the build process. CLI options have a higher priority than options in config.json.
Go to Playground, and click the "Custom Build" button in the bottom left corner
You can use Github Actions to build the font.
config.json.Custom Build menu item on the left.Run workflow button with options set.git clone https://github.com/subframe7536/maple-font --depth 1 -b variable
docker build -t maple-font .
docker run -v "$(pwd)/fonts:/app/fonts" -e BUILD_ARGS="--normal" maple-font
Clone the repo and run it on your local machine. Make