Notiz
Es ist jetzt fast stabil.
Als Nebenprojekt an meinen Wochenenden werde ich eine neue Beta-Version veröffentlichen, um die in meiner täglichen Codierung gemeldeten oder angetroffenen Fehler innerhalb von 1-2 Wochen zu beheben und einige Arbeiten auf der neuen Website und auf Build-Tools zu erstellen.
Wenn alles gut läuft, wird die stabile Version später in diesem Jahr veröffentlicht.

Maple Mono ist eine Open Source Monospace -Schriftart, die sich auf die Glättung Ihres codierenden Flusses konzentriert.
Ich erstelle es, um meine Berufserfahrung zu verbessern, und hoffe, dass es für andere nützlich sein kann.
V7 ist eine vollständig neu gestaltete Version, die eine variable Schriftart bietet, mehr als die Hälfte der Glyphen neu gestaltet und intelligenteren Ligaturen anbietet. Sie können hier V6 überprüfen
@ $ % & Q -> und kursives fijklxy im kursiven Stil.features/Die CN -Version kündigt die Glyphen von vereinfachtem und traditionellem Chinesisch und Japanisch, die nicht so normal sind wie die meisten CN -Schriftarten. Der Abstand der CJK -Glyphen ist viel lockerer für eine bessere Metrikausrichtung. Siehe Details in Versionshinweise und dieses Problem.

Sie können alle Schriftarten von Veröffentlichungen herunterladen.
paru -S ttf-maple-betaMaple Mono )Maple Mono NL )--normal Preset mit Ligaturen ( Maple Mono Normal )--normal Preset ohne Ligaturen ( Maple Mono Normal NL )-NF -Suffix)-CN -Suffix)-NF-CN Suffix) einbettetMapleMono-TTF-AutoHint / MapleMono-NF / MapleMono-NF-CN usw. auswählen.MapleMono-OTF / MapleMono-TTF / MapleMono-NF-unhinted -nicht-und MapleMono-NF-CN-unhinted usw. auswählen.-AutoHint und -unhinted Suffix?-AutoHint wird nur für TTF -Format verwendet. Die Datei config.json wird verwendet, um den Build -Prozess zu konfigurieren. Schauen Sie sich das Schema oder das Dokument an, um weitere Informationen zu erhalten.
Es gibt auch einige Befehlszeilenoptionen zum Anpassen des Erstellungsprozesses. CLI -Optionen haben eine höhere Priorität als Optionen in config.json .
Sie können GitHub -Aktionen verwenden, um die Schriftart zu erstellen.
config.jsonCustom BuildRun workflow mit den Optionen Setup aus.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 Klonen Sie das Repo und rennen Sie auf Ihrer lokalen Maschine. Stellen Sie sicher, dass Sie python3 und pip installiert haben
git clone https://github.com/subframe7536/maple-font --depth 1 -b variable
pip install -r requirements.txt
python build.pyUbuntu oder Debian wird vielleicht auch python-is-python3 benötigtWenn Sie Probleme haben, die Abhängigkeiten zu installieren, erstellen Sie einfach einen neuen GitHub -Codespace und führen Sie die Befehle dort aus
Für benutzerdefinierte font-patcher -Argumente ist font-forge (und vielleicht auch python3-fontforge ) erforderlich.
Vielleicht sollten Sie auch "nerd_font.extra_args" in config.json ändern
Hinzufügen --normal Flag in build.py Für gemeinsame Konfiguration, machen Sie die Schriftart genau wie JetBrains Mono (mit Slashed Null).
Es gibt drei Arten von Optionen für Feature Freeze:
enable : Verschieben Sie die Ligaturregeln in calt , wodurch die Funktionen aktiviert werden können, ohne cvXX / ssXX / zero in Schriftfunktionenkonfigurationen einzurichten, genau wie die Standardligaturendisable : Entfernen Sie die Merkmale in cvXX / ssXX / zero , was sich nicht mehr auswirkt, selbst wenn Sie es manuell aktivierenignore : Nichts tun Ausführen build.py mit --apply-fea-file Flag, die Feature-Datei von source/features/{regular,italic}.fea wird in variable Schriftart angewendet. Sie können es ändern, um alle Funktionen zu ändern, z. B. einige Ligaturen in calt entfernen.
Run python build.py --cn , die CN -Basisschriften (ca. 135 MB) werden von Github heruntergeladen.
Wenn Sie CN-Basis-Schriftarten aus der Variablen (ca. 35 MB) erstellen möchten, setzen Sie "cn.use_static_base_font": false in config.json und geduldig , die Instanziierung dauert etwa 40-50 Minuten.
Das Build -Skript laden automatisch Neccessory Assets von GitHub herunter. Wenn Sie Probleme beim Herunterladen haben, setzen Sie github_mirror in config.json oder $GITHUB auf Ihre Umgebungsvariable ein. (Ziel -URL ist https://{github_mirror}/<user>/<repo>/releases/download/{tag}/{file} ) oder laden Sie einfach die Target .zip -Datei herunter und setzen Sie sie in das gleiche Verzeichnis wie build.py .
usage: build.py [-h] [-v] [-d] [--debug] [-n] [--feat FEAT] [--apply-fea-file] [--hinted]
[--no-hinted] [--liga] [--no-liga] [--cn-narrow]
[--nerd-font | --no-nerd-font] [--cn | --no-cn] [--cn-both] [--ttf-only]
[--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
--apply-fea-file Load feature file from `source/features/{regular,italic}.fea` to
variable font
--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
--ttf-only Only build unhinted TTF format
--cache Reuse font cache of TTF, OTF and Woff2 formats
--archive Build font archives with config and license. If has `--cache` flag,
only archive Nerd-Font and CN formats
SIL Open Schriftlizenz 1.1