GitHub - subframe7536/maple-font: Maple Mono: Open source monospace font with round corner, ligatures and Nerd-Font icons for IDE and termin
Important This branch has been frozen as a snapshot of V7. V8 will include the latest features and bug fixes. see it in variable branch . Download | Website | English | 中文 | 日本語 Maple Mono Maple Mono is an open source monospace font focused on smoothing your
社区作者 · zZz
它解决什么问题
Important This branch has been frozen as a snapshot of V7. V8 will include the latest features and bug fixes. see it in variable branch .
Download | Website | English | 中文 | 日本語
Maple Mono
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
Features
- ✨ Variable - Infinity font weights with fine-grained italic glyphs.
- ☁️ Smooth - Round corner, brand-new glyph of @ $ % & Q -> and cursive f i j k l x y in italic style.
- 💪 Useful - Large amount of smart ligatures, see in features/
- 🎨 Icon - First-Class Nerd-Font support, make your terminal more vivid.
- 🔨 Customize - Enable or disable font features as you want, just make your own font.
Simplified Chinese, Traditional Chinese, and Japanese
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 .
- No variable format support in CN version
ScreenShots
- Pictured by CodeImg
- Theme: Maple
- Config: font size 16px, line height 1.8, default letter spacing
Download
You can download all the font archives from Releases .
Scoop (Windows)Add bucket
scoop bucket add nerd-fontsMaple Mono (ttf format)
scoop install Maple-MonoMaple Mono NF
scoop install Maple-Mono-NFMaple Mono NF CN
scoop install Maple-Mono-NF-CNAll packages (Click to expand)
Add bucket
scoop bucket add nerd-fontsMaple Mono (ttf format)
scoop install Maple-MonoMaple Mono (hinted ttf format)
scoop install Maple-Mono-autohintMaple Mono (otf format)
scoop install Maple-Mono-otfMaple Mono NF
scoop install Maple-Mono-NFMaple Mono NF CN
scoop install Maple-Mono-NF-CNHomebrew (MacOS, Linux)
Maple Mono
brew install --cask font-maple-monoMaple Mono NF
brew install --cask font-maple-mono-nfMaple Mono NF CN
brew install --cask font-maple-mono-nf-cnAll packages (Click to expand)
Maple Mono
brew install --cask font-maple-monoMaple Mono NF
brew install --cask font-maple-mono-nfMaple Mono CN
brew install --cask font-maple-mono-cnMaple Mono NF CN
brew install --cask font-maple-mono-nf-cnMaple Mono Normal
brew install --cask font-maple-mono-normalMaple Mono Normal NF
brew install --cask font-maple-mono-normal-nfMaple Mono Normal CN
brew install --cask font-maple-mono-normal-cnMaple Mono Normal NF CN
brew install --cask font-maple-mono-normal-nf-cnArch Linux
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] ))
ArchLinuxCN (Recommended)
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
All packages (Click to expand)
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
AUR (Not Recommended)
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
All packages (Click to expand)
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
Nixpkgs (NixOS, Linux, MacOS)
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 ] ;
All packages (Click to expand) 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 ] ;
CDN
Maple Mono
- fontsource
- ZeoSeven Fonts
Maple Mono CN
- The Chinese Web Fonts Plan (中文网字计划)
- ZeoSeven Fonts
Usage & Feature Configurations
See in document or try it in Playground
Naming FAQ
Features
- Ligature : Default version with ligatures ( Maple Mono )
- No-Ligature : Default version without ligatures ( Maple Mono NL )
- Normal-Ligature : --normal preset with ligatures ( Maple Mono Normal )
- Normal-No-Ligature : --normal preset without ligatures ( Maple Mono Normal NL )
Format and Glyph Set
- Variable : Minimal version, smoothly change font weight by variable
- TTF : Minimal version, ttf format [Recommend!]
- OTF : Minimal version, otf format
- WOFF2 : Minimal version, woff2 format, for small size on web pages
- NF : Nerd-Font patched version, add icons for terminal (With -NF suffix)
- CN : Chinese version, embed with Chinese and Japanese glyphs (With -CN suffix)
- NF-CN : Full version, embed with icons, Chinese and Japanese glyphs (With -NF-CN suffix)
Font Hint
- Hinted font is used for low resolution screen to have a better rendering effect. From my experience, if your screen resolution is equal to or lower than 1080P, it is recommended to use "hinted font". Using an "unhinted font" will lead to misalignment or uneven thickness on your text.
- In this case, you can choose MapleMono-TTF-AutoHint / MapleMono-NF / MapleMono-NF-CN , etc.
- Unhinted font is used for high resolution screen (e.g., for MacBook). Using "hinted font" will blur your text or make it look weird.
- In this case, you can choose MapleMono-OTF / MapleMono-TTF / MapleMono-NF-unhinted / MapleMono-NF-CN-unhinted , etc.
- Why are there both -AutoHint and -unhinted suffixes?
- for backward compatibility, I keep the original naming scheme. -AutoHint is only used for TTF format.
Custom Build
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 .
Build Methods
- Build In Browser
Go to Playground , and click the "Custom Build" button in the bottom left corner- Only supports freezing OpenType features currently.
- Use GitHub Actions
You can use Github Actions to build the font.
- Fork the repo.
- (Optional) Change the content in config.json .
Go to the Actions tab.- Click on the Custom Build menu item on the left.
- Click on the Run workflow button with options set.
- Wait for the build to finish.
- Download the font archives from Releases.
- Use Docker
git clone https://github.com/subframe7536/maple-font --depth 1 -b variabledocker build -t maple-font .docker run -v " $( pwd ) /fonts:/app/fonts " -e BUILD_ARGS= " --normal " maple-font- Local Build
Clone the repo and run it on your local machine. Make sure you have python3 and pip installed.
git clone https://github.com/subframe7536/maple-font --depth 1 -b variablepip install -r requirements.txtpython build.pyTip For Ubuntu or Debian , maybe python-is-python3 is needed as well.
If you have trouble installing the dependencies, just create a new GitHub Codespace and run the commands there.
Narrow Glyph Width
You can set "width": "narrow" in config.json or add --width slim as a cli flag to change glyph width at build time.
There are 3 options:
- default: 600
- narrow: 550
- slim: 500
Preview: #131
Custom Nerd-Font
If you want to get fixed-width icons, set "nerd_font.mono": true in config.json or add --nf-mono flag to build script args.
If you want to get variable-width icons, set "nerd_font.propo": true in config.json or add --nf-propo flag to build script args.
For custom font-patcher args, font-forge (and maybe python3-fontforge as well) is required.
Maybe you should also change "nerd_font.extra_args" in config.json
Default args: -l --careful --outputdir dir .
- if "nerd_font.propo" is true , then add --variable-width-glyphs .
- else if "nerd_font.mono" is true , then add --mono .
Preset
Run build.py with --normal flag, make the font look not so "Opinioned", just like JetBrains Mono (with slashed zero).
If you are using variable font (NOT recommended), please enable calt to make all features work.
Enabled features:
cv01, cv02, cv33, cv34, cv35, cv36, cv61, cv62, ss05, ss06, ss07, ss08
Online Preview
Freeze OpenType Feature
There are three kinds of options for feature freeze ( Why ):
- enable : Forcely enable the features without setting up cvXX / ssXX / zero in font features config, just as default glyphs/ligatures
- disable : Remove the features in cvXX / ssXX / zero , which will no longer have an effect, even if you enable them manually
- ignore : Do nothing
Custom OpenType Feature
OpenType Feature is used to control the font's built-in variants and ligatures. You can remove some ligatures or features you don't want to, change a feature's trigger rule, or add some new rules by modifying the OpenType Feature.
By default, the Python module in source/py/feature/ will generate a feature rule string and load it at build time. You can modify the features or customize tags there.
If you would like to modify the feature file instead, run build.py with --apply-fea-file flag, the feature file from source/features/{regular,italic}{_cn,}.fea will be loaded.
Infinite Arrow Ligatures
Inspired by Fira Code, the font enables infinite arrow ligatures by default from v7.3. For some reason, the ligatures are misaligned when using a hinted font, so they are removed in the hinted version by default from v7.4.
You can set "infinite_arrow": true in config.json or add --infinite-arrow as a cli flag to force enabling the feature. See more details in #508
Custom Font Weight Mapping
You can modify the static font weight through the "weight_mapping" item in config.json .
For example, if you want to make regular font weight a little bit lighter, just decrease the number of "weight_mapping.regular" (from 400 to 350 in this example) :
{ "weight_mapping" : { "thin" : 100 , "extralight" : 200 , "light" : 300 , "regular" : 350 , "semibold" : 500 , "medium" : 600 , "bold" : 700 , "extrabold" : 800 } }
Chinese version
The CN version is disabled by default. Run python build.py with the --cn flag, the CN base fonts (about 111 MB) will download from GitHub.
If you want to build CN base fonts from variable (about 27 MB), set "cn.use_static_base_font": false in config.json and BE PATIENT , instantiation will take about 10-30 minutes.
Narrow spacing in CN glyphs
If you think that CN glyphs spacing is TOOOOOO large , there is a build option cn.narrow or cli flag --cn-narrow to narrow spacing in CN glyphs, but this will make the font cannot be recognized as a monospaced font. You can see the effect in #249 .
And if you want to change the Latin letters' width as well, use --width option
GitHub Mirror
The build script will auto-download required assets from GitHub. If you have trouble downloading, please set github_mirror in config.json or $GITHUB to your environment variable.
(Target URL will be https://<github_mirror>/<user>/<repo>/releases/download/<tag>/<file> ), or just download the target .zip file and put it in the same directory as build.py .
Traditional Chinese Punctuation Support
By enabling cv99 , all Chinese punctuation marks will be centred. See more details in #150
Build Script Usage
usage: build.
py [-h] [-v] [-d] [--debug] [-n] [--feat FEAT] [--apply-fea-file] [--hinted | --no-hinted] [--liga | --no-liga] [--keep-infinite-arrow] [--infinite-arrow] [--remove-tag-liga] [--line-height LINE_HEIGHT] [--width {default,narrow,slim}] [--nf-mono] [--nf-propo] [--cn-narrow] [--cn-scale-factor CN_SCALE_FACTOR] [--nf | --no-nf] [--cn | --no-cn] [--cn-both] [--ttf-only] [--least-styles] [--font-patcher] [--cache] [--cn-rebuild] [--archive]
✨ Builder and optimizer for Maple Mono
options: -h, --help show this help message and exit -v, --version show program's version number and exit -d, --dry Output config and exit --debug Add Debug suffix to family name and faster build
Feature Options: -n, --normal Use normal preset, just like JetBrains Mono with slashed zero --feat FEAT Freeze font features, split by , (e.g. --feat zero,cv01,ss07,ss08).
No effect on variable format --apply-fea-file Load feature file from `source/features/{regular,italic}.
fea to variable font --hinted Use hinted font as base font in NF / CN / NF-CN (default) --no-hinted Use unhinted font as base font in NF / CN / NF-CN --liga Preserve all the ligatures (default) --no-liga Remove all the ligatures --infinite-arrow Enable infinite arrow ligatures (Disabled in hinted font by default) --remove-tag-liga Remove plain text tag ligatures like [TODO]` --line-height LINE_HEIGHT Scale factor for line height (e.
g., 1.1) --width {default, narrow, slim}
Set glyph width: default (600), narrow (550), slim (500)--nf-mono Make Nerd Font icons' width fixed --nf-propo Make Nerd Font icons' width variable, override --nf-mono --cn-narrow Make CN / JP characters narrow (And the font cannot be recognized as a monospaced font) --cn-scale-factor CN_SCALE_FACTOR Scale factor for CN / JP glyphs.
Format: <factor> or <width_factor>,<height_factor> (e.g. 1.1 or 1.2,1.1)
Build Options: --nf, --nerd-font Build Nerd-Font version (default) --no-nf, --no-nerd-font Do not build the Nerd-Font version --cn Build Chinese version --no-cn Do not build Chinese version (default) --cn-both Build both Maple Mono CN and Maple Mono NF CN.
Nerd-Font version must be enabled --ttf-only Only build TTF format --least-styles Only build Regular / Bold / Italic / BoldItalic style --font-patcher Force the use of Nerd Font Patcher to build NF format --cache Reuse font cache of TTF, OTF, and Woff2 formats --cn-rebuild Reinstantiate variable CN base font --archive Build font archives with config and license.
If it has the --cache flag, only archive NF and CN formats
Development
Design
Using FontLab or Glyphs , generate variable TTF into source/ folder.
Build
Init project
uv syncDev
uv run build.py --ttf-only --cn --debugUpdate nerd font
uv run task.py nerd-fontUpdate fea file
uv run task.py feaUpdate landing page info
uv run task.py page --syncMerge two fonts
uv run task.py mergeRelease
uv run task.py release minorCredit
- JetBrains Mono
- Roboto Mono
- Fira Code
- Victor Mono
- Commit Mono
- Code Sample
- Nerd Font
- Font Freeze
- Font Viewer
- Monolisa
- Recursive
Sponser
If this font is helpful to you, please feel free to buy me a coffee.
or sponsor me through Afdian
Star History
License
SIL Open Font License 1.1
— 本文由 AI 根据公开来源辅助整理,命令、版本与许可证请在使用前到原始页面复核。
安装 / 开始使用
scoop install Maple-MonoMaple Mono NF
scoop install Maple-Mono-NFMaple Mono NF CN
scoop install Maple-Mono-NF-CNAll packages (Click to expand)
Add bucket
scoop bucket add nerd-fontsMaple Mono (ttf format)
scoop install Maple-MonoMaple Mono (hinted ttf format)
scoop install Maple-Mono-autohintMaple Mono (otf format)
scoop install Maple-Mono-otfMaple Mono NF
scoop install Maple-Mono-NFMaple Mono NF CN
scoop install Maple-Mono-NF-CNHomebrew (MacOS, Linux)
Maple Mono
brew install --cask font-maple-monoMaple Mono NF
brew install --cask font-maple-mono-nfMaple Mono NF CN
brew install --cask font-maple-mono-nf-cnAll packages (Click to expand)
Maple Mono
brew install --cask font-maple-monoMaple Mono NF
brew install --cask font-maple-mono-nfMaple Mono CN
brew install --cask font-maple-mono-cnMaple Mono NF CN
brew install --cask font-maple-mono-nf-cnMaple Mono Normal
brew install --cask font-maple-mono-normalMaple Mono Normal NF
brew install --cask font-maple-mono-normal-nfMaple Mono Normal CN
brew install --cask font-maple-mono-normal-cnMaple Mono Normal NF CN
brew install --cask font-maple-mono-normal-nf-cnArch Linux 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] )) ArchLinuxCN (Recommended)
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 All packages (Click to expand)
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
