maple-font/README.md
2024-12-03 22:51:50 +08:00

4.6 KiB

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 V7

Open source monospace & nerd font with round corner and ligatures.

Features

  • Variable version, infinity font weights.
  • Round corner, new shape of @ $ % & Q and cursive italic f i j k l x y
  • Large amount of smart ligatures, see in features/
  • Nerd-Font patch support

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 or Debian, maybe python-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 in build.py for common config, just like JetBrains Mono (with slashed zero)
  • For custom font-patcher args, font-forge (and maybe python3-fontforge as well) is needed

Font Feature Freeze Options

  • enable: Move ligature rules to calt, which will enable the features without setting up cvXX / ssXX / zero in font features config, just as default ligatures
  • disable: Remove the features in cvXX / ssXX / zero, which will no longer effect, even if you enable it manually
  • ignore: Do nothing

Chinese version

  1. Download CN base font at Gitee release
  2. Put them into ./source/cn
  3. Run build.py 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] [--archieve]

✨ 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

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
  --archieve      Build font archieves with config and license. If --cache is
                  enabled, only archieve Nerd-Font and CN format

Credit

License

SIL Open Font License 1.1