.github/workflows | ||
source | ||
woff2/var | ||
.gitattributes | ||
.gitignore | ||
build.py | ||
build_base_nf.py | ||
config.json | ||
OFL.txt | ||
README.md | ||
release.py |
Note
When will V7 become stable?
It is almost stable now.
As a side project during my weekends, I will release a new beta version to fix the bugs reported or encountered in my daily coding within 1-2 weeks, and do some work on the new website and build tools.
If everything goes well, the stable version will be released later this year.
Maple Mono
Maple Mono is an open source monospace font focused on smoothing your coding experience.
I create it to enhance my working experience, and hope that it can be useful to others.
Features
- ✨ Variable - Infinity font weights with fine-grained italic glyphs.
- ☁️ Smooth - Round corner, brand-new glyph of
@ $ % & Q ->
and cursivef 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.
ScreenShots
Build
Clone the repo and run on your local machine. Make sure you have python3
and pip
installed
git clone https://github.com/subframe7536/maple-font --depth 1 -b variable
pip install foundrytools-cli
python build.py
- For
Ubuntu
orDebian
, maybepython-is-python3
is needed as well
If you have trouble installing the dependencies, just create a new Github codespace on variable
branch and run the commands there
Customize
You can change build config in config.json
- There is
--normal
option inbuild.py
for common config, just likeJetBrains Mono
(with slashed zero) - For custom
font-patcher
args,font-forge
(and maybepython3-fontforge
as well) is needed
Font Feature Freeze Options
enable
: Move ligature rules tocalt
, which will enable the features without setting upcvXX
/ssXX
/zero
in font features config, just as default ligaturesdisable
: Remove the features incvXX
/ssXX
/zero
, which will no longer effect, even if you enable it manuallyignore
: Do nothing
Chinese version
Run python build.py --cn
, the CN base fonts (about 135 MB) will download from remote.
If you want to build CN base fonts from variable (about 35 MB), setup "cn.use_static_base_font": false
in config.json and BE PATIENT, instantiation will take about 40-50 minutes.
Notice
The build script will auto download neccessory assets from GitHub. If you have trouble downloading, setup github_mirror
in config.json
or $GITHUB
to your environment variable.
Build Script Options
usage: build.py [-h] [-v] [-d] [--debug] [-n] [--feat FEAT] [--hinted]
[--no-hinted] [--liga] [--no-liga] [--cn-narrow]
[--nerd-font | --no-nerd-font] [--cn | --no-cn] [--cn-both]
[--cache] [--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, skip optimization
Feature Options:
-n, --normal Use normal preset, just like `JetBrains Mono` with slashed
zero
--feat FEAT Freeze font features, splited by `,` (e.g. `--feat
zero,cv01,ss07,ss08`). No effect on variable format
--hinted Use hinted font as base font
--no-hinted Use unhinted font as base font
--liga Preserve all the ligatures
--no-liga Remove all the ligatures
--cn-narrow Make CN characters narrow (experimental)
Build Options:
--nerd-font Build Nerd-Font version
--no-nerd-font Do not build Nerd-Font version
--cn Build Chinese version
--no-cn Do not build Chinese version
--cn-both Build both `Maple Mono CN` and `Maple Mono NF CN`. Nerd-Font
version must be enabled
--cache Reuse font cache of TTF, OTF and Woff2 formats
--archive Build font archives with config and license. If --cache is
enabled, only archive Nerd-Font and CN format
Credit
- JetBrains Mono
- Roboto Mono
- Fira Code
- Victor Mono
- Commit Mono
- Code Sample
- Nerd Font
- Font Freeze
- Font Viewer
- Monolisa
- Recursive
License
SIL Open Font License 1.1