{"id":13467856,"url":"https://github.com/subframe7536/maple-font","last_synced_at":"2025-05-15T00:00:36.069Z","repository":{"id":40323008,"uuid":"479451389","full_name":"subframe7536/maple-font","owner":"subframe7536","description":"Maple Mono: Open source monospace font with round corner, ligatures and Nerd-Font for IDE and terminal, fine-grained customization options. 带连字和控制台图标的圆角等宽字体，中英文宽度完美2:1，细粒度的自定义选项","archived":false,"fork":false,"pushed_at":"2025-05-07T10:56:53.000Z","size":161656,"stargazers_count":15517,"open_issues_count":8,"forks_count":444,"subscribers_count":49,"default_branch":"variable","last_synced_at":"2025-05-07T23:29:43.271Z","etag":null,"topics":["coding-font","font","ligatures","monospace","monospace-font","opentype","programming-font","programming-ligatures","typeface","typography","variable-font","variable-fonts"],"latest_commit_sha":null,"homepage":"https://font.subf.dev","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"ofl-1.1","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/subframe7536.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS.txt","dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-04-08T15:51:22.000Z","updated_at":"2025-05-07T20:46:49.000Z","dependencies_parsed_at":"2023-02-09T22:16:02.643Z","dependency_job_id":"3778ce6f-ee25-4fe5-9e38-36e0a5b4ae26","html_url":"https://github.com/subframe7536/maple-font","commit_stats":null,"previous_names":[],"tags_count":58,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/subframe7536%2Fmaple-font","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/subframe7536%2Fmaple-font/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/subframe7536%2Fmaple-font/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/subframe7536%2Fmaple-font/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/subframe7536","download_url":"https://codeload.github.com/subframe7536/maple-font/tar.gz/refs/heads/variable","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254249199,"owners_count":22039029,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["coding-font","font","ligatures","monospace","monospace-font","opentype","programming-font","programming-ligatures","typeface","typography","variable-font","variable-fonts"],"created_at":"2024-07-31T15:01:01.487Z","updated_at":"2025-05-15T00:00:35.937Z","avatar_url":"https://github.com/subframe7536.png","language":"Python","funding_links":["https://www.buymeacoffee.com/subframe753","https://img.buymeacoffee.com/button-api/?text=Buy"],"categories":["Python","Fonts","Rust程序设计","font","剪贴板工具"],"sub_categories":["ZSH on Windows","资源传输下载"],"readme":"![Cover](./resources/header.png)\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://trendshift.io/repositories/13165\" target=\"_blank\"\u003e\u003cimg src=\"https://trendshift.io/api/badge/repositories/13165\" alt=\"subframe7536%2Fmaple-font | Trendshift\" style=\"width: 250px; height: 55px;\" width=\"250\" height=\"55\"/\u003e\u003c/a\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n  \u003cimg alt=\"GitHub Repo Stars\" src=\"https://img.shields.io/github/stars/subframe7536/maple-font\"\u003e\n  \u003cimg alt=\"GitHub Repo Forks\" src=\"https://img.shields.io/github/forks/subframe7536/maple-font\"\u003e\n  \u003cimg alt=\"X (formerly Twitter) Follow\" src=\"https://img.shields.io/twitter/follow/subframe7536\"\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n  \u003cimg alt=\"GitHub Release\" src=\"https://img.shields.io/github/v/release/subframe7536/maple-font\"\u003e\n  \u003cimg alt=\"GitHub Downloads (all assets, all releases)\" src=\"https://img.shields.io/github/downloads/subframe7536/maple-font/total\"\u003e\n  \u003cimg alt=\"GitHub Repo License\" src=\"https://img.shields.io/github/license/subframe7536/maple-font\"\u003e\n  \u003cimg alt=\"GitHub Repo Issues\" src=\"https://img.shields.io/github/issues/subframe7536/maple-font\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"#download\"\u003eDownload\u003c/a\u003e |\n  \u003ca href=\"https://font.subf.dev\"\u003eWebsite\u003c/a\u003e |\n  English |\n  \u003ca href=\"./README_CN.md\"\u003e中文\u003c/a\u003e |\n  \u003ca href=\"./README_JA.md\"\u003e日本語\u003c/a\u003e\n\u003c/p\u003e\n\n# Maple Mono\n\nMaple Mono is an open source monospace font focused on smoothing your coding flow.\n\nI create it to enhance my working experience, and hope that it can be useful to others.\n\nV7 is a completely remade version, providing variable font format and source files of font project, redesigning more than half of the glyphs and offering smarter ligatures. You can checkout V6 [here](https://github.com/subframe7536/maple-font/tree/main)\n\n## Features\n\n- ✨ Variable - Infinity font weights with fine-grained italic glyphs.\n- ☁️ Smooth - Round corner, brand-new glyph of `@ $ % \u0026 Q -\u003e` and cursive `f i j k l x y` in italic style.\n- 💪 Useful - Large amount of smart ligatures, see in [`features/`](./source/features/README.md)\n- 🎨 Icon - First-Class [Nerd-Font](https://github.com/ryanoasis/nerd-fonts) support, make your terminal more vivid.\n- 🔨 Customize - Enable or disable font features as you want, just make your own font.\n\n### Simpified Chinese, Traditional Chinese and Japanese\n\nCN version based on [Resource Han Rounded](https://github.com/CyanoHao/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](https://github.com/subframe7536/maple-font/releases/tag/cn-base) and [this issue](https://github.com/subframe7536/maple-font/issues/211).\n\n![2-1.png](./resources/2-1.png)\n\n## ScreenShots\n\n![showcase.png](./resources/showcase.png)\n\n- Pictured by [CodeImg](https://github.com/subframe7536/vscode-codeimg)\n- Theme: [Maple](https://github.com/subframe7536/vscode-theme-maple)\n- Config: font size 16px, line height 1.8, default letter spacing\n\n## Download\n\nYou can download all the font archives from [Releases](https://github.com/subframe7536/maple-font/releases).\n\n### Scoop (Windows)\n\n```sh\n# Add bucket\nscoop bucket add nerd-fonts\n# Maple Mono (ttf format)\nscoop install Maple-Mono\n# Maple Mono NF\nscoop install Maple-Mono-NF\n# Maple Mono NF CN\nscoop install Maple-Mono-NF-CN\n```\n\n\u003cdetails\u003e\n  \u003csummary\u003eAll packages (Click to expand)\u003c/summary\u003e\n\n  ```sh\n  # Add bucket\n  scoop bucket add nerd-fonts\n  # Maple Mono (ttf format)\n  scoop install Maple-Mono\n  # Maple Mono (hinted ttf format)\n  scoop install Maple-Mono-autohint\n  # Maple Mono (otf format)\n  scoop install Maple-Mono-otf\n  # Maple Mono NF\n  scoop install Maple-Mono-NF\n  # Maple Mono NF CN\n  scoop install Maple-Mono-NF-CN\n  ```\n\n\u003c/details\u003e\n\n### Homebrew (MacOS, Linux)\n\n```sh\n# Maple Mono\nbrew install --cask font-maple-mono\n# Maple Mono NF\nbrew install --cask font-maple-mono-nf\n# Maple Mono NF CN\nbrew install --cask font-maple-mono-nf-cn\n```\n\n\u003cdetails\u003e\n  \u003csummary\u003eAll packages (Click to expand)\u003c/summary\u003e\n\n  ```sh\n  # Maple Mono\n  brew install --cask font-maple-mono\n  # Maple Mono NF\n  brew install --cask font-maple-mono-nf\n  # Maple Mono CN\n  brew install --cask font-maple-mono-cn\n  # Maple Mono NF CN\n  brew install --cask font-maple-mono-nf-cn\n\n  # Maple Mono Normal\n  brew install --cask font-maple-mono-normal\n  # Maple Mono Normal NF\n  brew install --cask font-maple-mono-normal-nf\n  # Maple Mono Normal CN\n  brew install --cask font-maple-mono-normal-cn\n  # Maple Mono Normal NF CN\n  brew install --cask font-maple-mono-normal-nf-cn\n  ```\n\n\u003c/details\u003e\n\n### Arch Linux\n\nArchLinuxCN 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(czysheep@gmail.com))\n\n#### ArchLinuxCN (Recommended)\n\n```sh\n# Maple Mono (Ligature TTF unhinted)\nparu -S ttf-maplemono\n# Maple Mono NF (Ligature unhinted)\nparu -S ttf-maplemono-nf-unhinted\n# Maple Mono NF CN (Ligature unhinted)\nparu -S ttf-maplemono-nf-cn-unhinted\n```\n\n\u003cdetails\u003e\n  \u003csummary\u003eAll packages (Click to expand)\u003c/summary\u003e\n\n  ```sh\n  # Maple Mono (Ligature Variable)\n  paru -S ttf-maplemono-variable\n  # Maple Mono (Ligature TTF hinted)\n  paru -S ttf-maplemono-autohint\n  # Maple Mono (Ligature TTF unhinted)\n  paru -S ttf-maplemono\n  # Maple Mono (Ligature OTF)\n  paru -S otf-maplemono\n  # Maple Mono (Ligature WOFF2)\n  paru -S woff2-maplemono\n  # Maple Mono NF (Ligature hinted)\n  paru -S ttf-maplemono-nf\n  # Maple Mono NF (Ligature unhinted)\n  paru -S ttf-maplemono-nf-unhinted\n  # Maple Mono CN (Ligature hinted)\n  paru -S ttf-maplemono-cn\n  # Maple Mono CN (Ligature unhinted)\n  paru -S ttf-maplemono-cn-unhinted\n  # Maple Mono NF CN (Ligature hinted)\n  paru -S ttf-maplemono-nf-cn\n  # Maple Mono NF CN (Ligature unhinted)\n  paru -S ttf-maplemono-nf-cn-unhinted\n\n  # Maple Mono (No-Ligature Variable)\n  paru -S ttf-maplemononl-variable\n  # Maple Mono (No-Ligature TTF hinted)\n  paru -S ttf-maplemononl-autohint\n  # Maple Mono (No-Ligature TTF unhinted)\n  paru -S ttf-maplemononl\n  # Maple Mono (No-Ligature OTF)\n  paru -S otf-maplemononl\n  # Maple Mono (No-Ligature WOFF2)\n  paru -S woff2-maplemononl\n  # Maple Mono NF (No-Ligature hinted)\n  paru -S ttf-maplemononl-nf\n  # Maple Mono NF (No-Ligature unhinted)\n  paru -S ttf-maplemononl-nf-unhinted\n  # Maple Mono CN (No-Ligature hinted)\n  paru -S ttf-maplemononl-cn\n  # Maple Mono CN (No-Ligature unhinted)\n  paru -S ttf-maplemononl-cn-unhinted\n  # Maple Mono NF CN (No-Ligature hinted)\n  paru -S ttf-maplemononl-nf-cn\n  # Maple Mono NF CN (No-Ligature unhinted)\n  paru -S ttf-maplemononl-nf-cn-unhinted\n\n  # Maple Mono Normal (Ligature Variable)\n  paru -S ttf-maplemononormal-variable\n  # Maple Mono Normal (Ligature TTF hinted)\n  paru -S ttf-maplemononormal-autohint\n  # Maple Mono Normal (Ligature TTF unhinted)\n  paru -S ttf-maplemononormal\n  # Maple Mono Normal (Ligature OTF)\n  paru -S otf-maplemononormal\n  # Maple Mono Normal (Ligature WOFF2)\n  paru -S woff2-maplemononormal\n  # Maple Mono Normal NF (Ligature hinted)\n  paru -S ttf-maplemononormal-nf\n  # Maple Mono Normal NF (Ligature unhinted)\n  paru -S ttf-maplemononormal-nf-unhinted\n  # Maple Mono Normal CN (Ligature hinted)\n  paru -S ttf-maplemononormal-cn\n  # Maple Mono Normal CN (Ligature unhinted)\n  paru -S ttf-maplemononormal-cn-unhinted\n  # Maple Mono Normal NF CN (Ligature hinted)\n  paru -S ttf-maplemononormal-nf-cn\n  # Maple Mono Normal NF CN (Ligature unhinted)\n  paru -S ttf-maplemononormal-nf-cn-unhinted\n\n  # Maple Mono Normal (No-Ligature Variable)\n  paru -S ttf-maplemononormalnl-variable\n  # Maple Mono Normal (No-Ligature TTF hinted)\n  paru -S ttf-maplemononormalnl-autohint\n  # Maple Mono Normal (No-Ligature TTF unhinted)\n  paru -S ttf-maplemononormalnl\n  # Maple Mono Normal (No-Ligature OTF)\n  paru -S otf-maplemononormalnl\n  # Maple Mono Normal (No-Ligature WOFF2)\n  paru -S woff2-maplemononormalnl\n  # Maple Mono Normal NF (No-Ligature hinted)\n  paru -S ttf-maplemononormalnl-nf\n  # Maple Mono Normal NF (No-Ligature unhinted)\n  paru -S ttf-maplemononormalnl-nf-unhinted\n  # Maple Mono Normal CN (No-Ligature hinted)\n  paru -S ttf-maplemononormalnl-cn\n  # Maple Mono Normal CN (No-Ligature unhinted)\n  paru -S ttf-maplemononormalnl-cn-unhinted\n  # Maple Mono Normal NF CN (No-Ligature hinted)\n  paru -S ttf-maplemononormalnl-nf-cn\n  # Maple Mono Normal NF CN (No-Ligature unhinted)\n  paru -S ttf-maplemononormalnl-nf-cn-unhinted\n  ```\n\n\u003c/details\u003e\n\n#### AUR (Not Recommended)\n\n```sh\n# Maple Mono (Ligature TTF unhinted)\nparu -S maplemono-ttf\n# Maple Mono NF (Ligature unhinted)\nparu -S maplemono-nf-unhinted\n# Maple Mono NF CN (Ligature unhinted)\nparu -S maplemono-nf-cn-unhinted\n```\n\n\u003cdetails\u003e\n  \u003csummary\u003eAll packages (Click to expand)\u003c/summary\u003e\n\n  ```sh\n  # Maple Mono (Ligature Variable)\n  paru -S maplemono-variable\n  # Maple Mono (Ligature TTF hinted)\n  paru -S maplemono-ttf-autohint\n  # Maple Mono (Ligature TTF unhinted)\n  paru -S maplemono-ttf\n  # Maple Mono (Ligature OTF)\n  paru -S maplemono-otf\n  # Maple Mono (Ligature WOFF2)\n  paru -S maplemono-woff2\n  # Maple Mono NF (Ligature hinted)\n  paru -S maplemono-nf\n  # Maple Mono NF (Ligature unhinted)\n  paru -S maplemono-nf-unhinted\n  # Maple Mono CN (Ligature hinted)\n  paru -S maplemono-cn\n  # Maple Mono CN (Ligature unhinted)\n  paru -S maplemono-cn-unhinted\n  # Maple Mono NF CN (Ligature hinted)\n  paru -S maplemono-nf-cn\n  # Maple Mono NF CN (Ligature unhinted)\n  paru -S maplemono-nf-cn-unhinted\n\n  # Maple Mono (No-Ligature Variable)\n  paru -S maplemononl-variable\n  # Maple Mono (No-Ligature TTF hinted)\n  paru -S maplemononl-ttf-autohint\n  # Maple Mono (No-Ligature TTF unhinted)\n  paru -S maplemononl-ttf\n  # Maple Mono (No-Ligature OTF)\n  paru -S maplemononl-otf\n  # Maple Mono (No-Ligature WOFF2)\n  paru -S maplemononl-woff2\n  # Maple Mono NF (No-Ligature hinted)\n  paru -S maplemononl-nf\n  # Maple Mono NF (No-Ligature unhinted)\n  paru -S maplemononl-nf-unhinted\n  # Maple Mono CN (No-Ligature hinted)\n  paru -S maplemononl-cn\n  # Maple Mono CN (No-Ligature unhinted)\n  paru -S maplemononl-cn-unhinted\n  # Maple Mono NF CN (No-Ligature hinted)\n  paru -S maplemononl-nf-cn\n  # Maple Mono NF CN (No-Ligature unhinted)\n  paru -S maplemononl-nf-cn-unhinted\n\n  # Maple Mono Normal (Ligature Variable)\n  paru -S maplemononormal-variable\n  # Maple Mono Normal (Ligature TTF hinted)\n  paru -S maplemononormal-ttf-autohint\n  # Maple Mono Normal (Ligature TTF unhinted)\n  paru -S maplemononormal-ttf\n  # Maple Mono Normal (Ligature OTF)\n  paru -S maplemononormal-otf\n  # Maple Mono Normal (Ligature WOFF2)\n  paru -S maplemononormal-woff2\n  # Maple Mono Normal NF (Ligature hinted)\n  paru -S maplemononormal-nf\n  # Maple Mono Normal NF (Ligature unhinted)\n  paru -S maplemononormal-nf-unhinted\n  # Maple Mono Normal CN (Ligature hinted)\n  paru -S maplemononormal-cn\n  # Maple Mono Normal CN (Ligature unhinted)\n  paru -S maplemononormal-cn-unhinted\n  # Maple Mono Normal NF CN (Ligature hinted)\n  paru -S maplemononormal-nf-cn\n  # Maple Mono Normal NF CN (Ligature unhinted)\n  paru -S maplemononormal-nf-cn-unhinted\n\n  # Maple Mono Normal (No-Ligature Variable)\n  paru -S maplemononormalnl-variable\n  # Maple Mono Normal (No-Ligature TTF hinted)\n  paru -S maplemononormalnl-ttf-autohint\n  # Maple Mono Normal (No-Ligature TTF unhinted)\n  paru -S maplemononormalnl-ttf\n  # Maple Mono Normal (No-Ligature OTF)\n  paru -S maplemononormalnl-otf\n  # Maple Mono Normal (No-Ligature WOFF2)\n  paru -S maplemononormalnl-woff2\n  # Maple Mono Normal NF (No-Ligature hinted)\n  paru -S maplemononormalnl-nf\n  # Maple Mono Normal NF (No-Ligature unhinted)\n  paru -S maplemononormalnl-nf-unhinted\n  # Maple Mono Normal CN (No-Ligature hinted)\n  paru -S maplemononormalnl-cn\n  # Maple Mono Normal CN (No-Ligature unhinted)\n  paru -S maplemononormalnl-cn-unhinted\n  # Maple Mono Normal NF CN (No-Ligature hinted)\n  paru -S maplemononormalnl-nf-cn\n  # Maple Mono Normal NF CN (No-Ligature unhinted)\n  paru -S maplemononormalnl-nf-cn-unhinted\n  ```\n\n\u003c/details\u003e\n\n### Nixpkgs (NixOS, Linux, MacOS)\n\n```nix\nfonts.packages = with pkgs; [\n  # Maple Mono (Ligature TTF unhinted)\n  maple-mono.truetype\n  # Maple Mono NF (Ligature unhinted)\n  maple-mono.NF-unhinted\n  # Maple Mono NF CN (Ligature unhinted)\n  maple-mono.NF-CN-unhinted\n];\n```\n\n\u003cdetails\u003e\n  \u003csummary\u003eAll packages (Click to expand)\u003c/summary\u003e\n\n  ```nix\n  fonts.packages = with pkgs; [\n    # Maple Mono (Ligature Variable)\n    maple-mono.variable\n    # Maple Mono (Ligature TTF hinted)\n    maple-mono.truetype-autohint\n    # Maple Mono (Ligature TTF unhinted)\n    maple-mono.truetype\n    # Maple Mono (Ligature OTF)\n    maple-mono.opentype\n    # Maple Mono (Ligature WOFF2)\n    maple-mono.woff2\n    # Maple Mono NF (Ligature hinted)\n    maple-mono.NF\n    # Maple Mono NF (Ligature unhinted)\n    maple-mono.NF-unhinted\n    # Maple Mono CN (Ligature hinted)\n    maple-mono.CN\n    # Maple Mono CN (Ligature unhinted)\n    maple-mono.CN-unhinted\n    # Maple Mono NF CN (Ligature hinted)\n    maple-mono.NF-CN\n    # Maple Mono NF CN (Ligature unhinted)\n    maple-mono.NF-CN-unhinted\n\n    # Maple Mono (No-Ligature Variable)\n    maple-mono.NL-Variable\n    # Maple Mono (No-Ligature TTF hinted)\n    maple-mono.NL-TTF-AutoHint\n    # Maple Mono (No-Ligature TTF unhinted)\n    maple-mono.NL-TTF\n    # Maple Mono (No-Ligature OTF)\n    maple-mono.NL-OTF\n    # Maple Mono (No-Ligature WOFF2)\n    maple-mono.NL-Woff2\n    # Maple Mono NF (No-Ligature hinted)\n    maple-mono.NL-NF\n    # Maple Mono NF (No-Ligature unhinted)\n    maple-mono.NL-NF-unhinted\n    # Maple Mono CN (No-Ligature hinted)\n    maple-mono.NL-CN\n    # Maple Mono CN (No-Ligature unhinted)\n    maple-mono.NL-CN-unhinted\n    # Maple Mono NF CN (No-Ligature hinted)\n    maple-mono.NL-NF-CN\n    # Maple Mono NF CN (No-Ligature unhinted)\n    maple-mono.NL-NF-CN-unhinted\n\n    # Maple Mono Normal (Ligature Variable)\n    maple-mono.Normal-Variable\n    # Maple Mono Normal (Ligature TTF hinted)\n    maple-mono.Normal-TTF-AutoHint\n    # Maple Mono Normal (Ligature TTF unhinted)\n    maple-mono.Normal-TTF\n    # Maple Mono Normal (Ligature OTF)\n    maple-mono.Normal-OTF\n    # Maple Mono Normal (Ligature WOFF2)\n    maple-mono.Normal-Woff2\n    # Maple Mono Normal NF (Ligature hinted)\n    maple-mono.Normal-NF\n    # Maple Mono Normal NF (Ligature unhinted)\n    maple-mono.Normal-NF-unhinted\n    # Maple Mono Normal CN (Ligature hinted)\n    maple-mono.Normal-CN\n    # Maple Mono Normal CN (Ligature unhinted)\n    maple-mono.Normal-CN-unhinted\n    # Maple Mono Normal NF CN (Ligature hinted)\n    maple-mono.Normal-NF-CN\n    # Maple Mono Normal NF CN (Ligature unhinted)\n    maple-mono.Normal-NF-CN-unhinted\n\n    # Maple Mono Normal (No-Ligature Variable)\n    maple-mono.NormalNL-Variable\n    # Maple Mono Normal (No-Ligature TTF hinted)\n    maple-mono.NormalNL-TTF-AutoHint\n    # Maple Mono Normal (No-Ligature TTF unhinted)\n    maple-mono.NormalNL-TTF\n    # Maple Mono Normal (No-Ligature OTF)\n    maple-mono.NormalNL-OTF\n    # Maple Mono Normal (No-Ligature WOFF2)\n    maple-mono.NormalNL-Woff2\n    # Maple Mono Normal NF (No-Ligature hinted)\n    maple-mono.NormalNL-NF\n    # Maple Mono Normal NF (No-Ligature unhinted)\n    maple-mono.NormalNL-NF-unhinted\n    # Maple Mono Normal CN (No-Ligature hinted)\n    maple-mono.NormalNL-CN\n    # Maple Mono Normal CN (No-Ligature unhinted)\n    maple-mono.NormalNL-CN-unhinted\n    # Maple Mono Normal NF CN (No-Ligature hinted)\n    maple-mono.NormalNL-NF-CN\n    # Maple Mono Normal NF CN (No-Ligature unhinted)\n    maple-mono.NormalNL-NF-CN-unhinted\n  ];\n  ```\n\n\u003c/details\u003e\n\n## CDN\n\n### Maple Mono\n\n- [fontsource](https://fontsource.org/fonts/maple-mono)\n- [ZeoSeven Fonts](https://fonts.zeoseven.com/items/443/)\n\n### Maple Mono CN\n\n- [The Chinese Web Fonts Plan (中文网字计划)](https://chinese-font.netlify.app/zh-cn/fonts/maple-mono-cn/MapleMono-CN-Regular)\n- [ZeoSeven Fonts](https://fonts.zeoseven.com/items/442/)\n\n## Usage \u0026 Feature Configurations\n\nSee in [document](./source/features/README.md) or try it in [Playground](https://font.subf.dev/en/playground)\n\n\u003e [!note]\n\u003e The web tool for custom build is under development.\n\n## Naming FAQ\n\n### Features\n\n- **Ligature**: Default version with ligatures (`Maple Mono`)\n- **No-Ligature**: Default version without ligatures (`Maple Mono NL`)\n- **Normal-Ligature**: [`--normal` preset](#preset) with ligatures (`Maple Mono Normal`)\n- **Normal-No-Ligature**: [`--normal` preset](#preset) without ligatures (`Maple Mono Normal NL`)\n\n### Format and Glyph Set\n\n- **Variable**: Minimal version, smoothly change font weight by variable\n- **TTF**: Minimal version, ttf format [Recommend!]\n- **OTF**: Minimal version, otf format\n- **WOFF2**: Minimal version, woff2 format, for small size on web pages\n- **NF**: Nerd-Font patched version, add icons for terminal (With `-NF` suffix)\n- **CN**: Chinese version, embed with Chinese and Japanese glyphs (With `-CN` suffix)\n- **NF-CN**: Full version, embed with icons, Chinese and Japanese glyphs (With `-NF-CN` suffix)\n\n### Font Hint\n\n- **Hinted font** is used for low resolution screen to have better render effect. From my experience, if your screen resolution is lower or equal than 1080P, it is recommended to use \"hinted font\". Using \"unhinted font\" will lead to misalignment or uneven thickness on your text.\n  - In this case, you can choose `MapleMono-TTF-AutoHint` / `MapleMono-NF` / `MapleMono-NF-CN`, etc.\n- **Unhinted font** is used for high resolution screen (e.g. for MacBook). Using \"hinted font\" will blur your text or make it looks weird.\n  - In this case, you can choose `MapleMono-OTF` / `MapleMono-TTF` / `MapleMono-NF-unhinted` / `MapleMono-NF-CN-unhinted`, etc.\n- Why there exists `-AutoHint` and `-unhinted` suffix?\n  - for backward compatibility, I keep the original naming scheme. `-AutoHint` is only used for `TTF` format.\n\n\n## Custom Build\n\nThe [`config.json`](./config.json) file is used to configure the build process. Checkout the [schema](./source/schema.json) or [document](./source/features/README.md) for more details.\n\nThere also have some [command line options](#build-script-usage) for customizing the build process. Cli options have higher priority than options in `config.json`.\n\n### Use Github Actions\n\nYou can use [Github Actions](https://github.com/subframe7536/maple-font/actions/workflows/custom.yml) to build the font.\n\n1. Fork the repo\n2. (Optional) Change the content in `config.json`\n3. Go to Actions tab\n4. Click on `Custom Build` menu item on the left\n5. Click on `Run workflow` button with options setup\n6. Wait for the build to finish\n7. Download the font archives from Releases\n\n### Use Docker\n\n```shell\ngit clone https://github.com/subframe7536/maple-font --depth 1 -b variable\ndocker build -t maple-font .\ndocker run -v \"$(pwd)/fonts:/app/fonts\" -e BUILD_ARGS=\"--normal\" maple-font\n```\n\n### Local Build\n\nClone the repo and run on your local machine. Make sure you have `python3` and `pip` installed\n\n```shell\ngit clone https://github.com/subframe7536/maple-font --depth 1 -b variable\npip install -r requirements.txt\npython build.py\n```\n\n- For `Ubuntu` or `Debian`, maybe `python-is-python3` is needed as well\n\nIf you have trouble installing the dependencies, just create a new GitHub Codespace and run the commands there\n\n#### Custom Nerd-Font\n\nFor custom `font-patcher` args, `font-forge` (and maybe `python3-fontforge` as well) is required.\n\nMaybe you should also change `\"nerd_font.extra_args\"` in [config.json](./config.json)\n\nDefault args: `-l --careful --outputdir dir`\n- if `\"nerd_font.mono\"` is `true`, then add `--mono`\n\n#### Preset\n\nRun `build.py` with `--normal` flag, make the font looks not such \"Opinioned\" , just like `JetBrains Mono` (with slashed zero).\n\nIf you are using variable font (NOT recommended), please enable `calt` to make all features work.\n\nEnabled features:\n\u003c!-- NORMAL --\u003e\n```\ncv01, cv02, cv33, cv34, cv35, cv36, cv61, cv62, ss05, ss06, ss07, ss08\n```\n\u003c!-- NORMAL --\u003e\n\n#### Font Feature Freeze\n\nThere are three kinds of options for feature freeze ([Why](https://github.com/subframe7536/maple-font/issues/233#issuecomment-2410170270)):\n\n1. `enable`: Forcely enable the features without setting up `cvXX` / `ssXX` / `zero` in font features config, just as default glyphs / ligatures\n2. `disable`: Remove the features in `cvXX` / `ssXX` / `zero`, which will no longer effect, even if you enable it manually\n3. `ignore`: Do nothing\n\n#### Custom OpenType Feature\n\nOpenType 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 feature's trigger rule or add some new rules by modifying OpenType Feature.\n\nBy default, the Python module in [`source/py/feature/`](./source/py/feature) will generate feature rule string and load it at build time. You can modify the features or customize tags there.\n\nIf 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}.fea`](./source/features) will be loaded.\n\n### Chinese version\n\nCN version is disabled by default. Run `python build.py` with `--cn` flag, the CN base fonts (about 130 MB) will download from GitHub.\n\nIf you want to build CN base fonts from variable (about 35 MB), setup `\"cn.use_static_base_font\": false` in [config.json](./config.json) and **BE PATIENT**, instantiation will take about 20-30 minutes.\n\n#### Narrow spacing in CN glyphs\n\nIf 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 recogized as monospaced font.\n\nYou can see effect in [#249](https://github.com/subframe7536/maple-font/issues/249#issuecomment-2871260476).\n\n#### GitHub Mirror\n\nThe build script will auto download required assets from GitHub. If you have trouble downloading, please setup `github_mirror` in [config.json](./config.json) or `$GITHUB` to your environment variable. (Target URL will be `https://\u003cgithub_mirror\u003e/\u003cuser\u003e/\u003crepo\u003e/releases/download/\u003ctag\u003e/\u003cfile\u003e`), or just download the target `.zip` file and put it in the same directory as `build.py`.\n\n#### Traditional Chinese Punctuation Support\n\nBy enabling `cv99`, all Chinese punctuation marks will be centred. See more details in [#150](https://github.com/subframe7536/maple-font/issues/150)\n\n### Build Script Usage\n\n```\nusage: build.py [-h] [-v] [-d] [--debug] [-n] [--feat FEAT] [--apply-fea-file]\n                [--hinted | --no-hinted] [--liga | --no-liga] [--cn-narrow]\n                [--cn-scale-factor CN_SCALE_FACTOR] [--nerd-font | --no-nerd-font]\n                [--cn | --no-cn] [--cn-both] [--ttf-only] [--least-styles] [--cache]\n                [--cn-rebuild] [--archive]\n\n✨ Builder and optimizer for Maple Mono\n\noptions:\n  -h, --help            show this help message and exit\n  -v, --version         show program's version number and exit\n  -d, --dry             Output config and exit\n  --debug               Add `Debug` suffix to family name and faster build\n\nFeature Options:\n  -n, --normal          Use normal preset, just like `JetBrains Mono` with slashed zero\n  --feat FEAT           Freeze font features, splited by `,` (e.g. `--feat\n                        zero,cv01,ss07,ss08`). No effect on variable format\n  --apply-fea-file      Load feature file from `source/features/{regular,italic}.fea` to\n                        variable font\n  --hinted              Use hinted font as base font in NF / CN / NF-CN (default)\n  --no-hinted           Use unhinted font as base font in NF / CN / NF-CN\n  --liga                Preserve all the ligatures (default)\n  --no-liga             Remove all the ligatures\n  --cn-narrow           Make CN / JP characters narrow (And the font cannot be recogized\n                        as monospaced font)\n  --cn-scale-factor CN_SCALE_FACTOR\n                        Scale factor for CN / JP glyphs (e.g. 1.1)\n\nBuild Options:\n  --nerd-font           Build Nerd-Font version (default)\n  --no-nerd-font        Do not build Nerd-Font version\n  --cn                  Build Chinese version\n  --no-cn               Do not build Chinese version (default)\n  --cn-both             Build both `Maple Mono CN` and `Maple Mono NF CN`. Nerd-Font\n                        version must be enabled\n  --ttf-only            Only build TTF format\n  --least-styles        Only build Regular / Bold / Italic / BoldItalic style\n  --cache               Reuse font cache of TTF, OTF and Woff2 formats\n  --cn-rebuild          Reinstantiate variable CN base font\n  --archive             Build font archives with config and license. If has `--cache`\n                        flag, only archive Nerd-Font and CN formats\n```\n\n## Development\n\n### Design\n\nUsing [FontLab](https://www.fontlab.com/) or [Glyphs](https://glyphs.app), generate variable TTF into `source/` folder.\n\n### Build\n\n```sh\n# Init project\nuv sync\n# Dev\nuv run build.py --ttf-only --cn --debug\n# Update nerd font\nuv run task.py nerd-font\n# Update fea file\nuv run task.py fea\n# Update landing page info\nuv run task.py page\n# Release\nuv run task.py release 7.0\n```\n\n## Credit\n\n- [JetBrains Mono](https://github.com/JetBrains/JetBrainsMono)\n- [Roboto Mono](https://github.com/googlefonts/RobotoMono)\n- [Fira Code](https://github.com/tonsky/FiraCode)\n- [Victor Mono](https://github.com/rubjo/victor-mono)\n- [Commit Mono](https://github.com/eigilnikolajsen/commit-mono)\n- [Code Sample](https://github.com/TheRenegadeCoder/sample-programs-website)\n- [Nerd Font](https://github.com/ryanoasis/nerd-fonts)\n- [Font Freeze](https://github.com/MuTsunTsai/fontfreeze/)\n- [Font Viewer](https://tophix.com/font-tools/font-viewer)\n- [Monolisa](https://www.monolisa.dev/)\n- [Recursive](https://www.recursive.design/)\n\n## Sponser\n\nIf this font is helpful to you, please feel free to buy me a coffee\n\n\u003ca href=\"https://www.buymeacoffee.com/subframe753\"\u003e\u003cimg src=\"https://img.buymeacoffee.com/button-api/?text=Buy me a coffee\u0026emoji=\u0026slug=subframe753\u0026button_colour=5F7FFF\u0026font_colour=ffffff\u0026font_family=Lato\u0026outline_colour=000000\u0026coffee_colour=FFDD00\" /\u003e\u003c/a\u003e\n\nor sponser me through [Afdian](https://afdian.com/a/subframe7536)\n\n## Star History\n\n[![Star History Chart](https://api.star-history.com/svg?repos=subframe7536/maple-font\u0026type=Date)](https://www.star-history.com/#subframe7536/maple-font\u0026Date)\n\n## License\n\nSIL Open Font License 1.1\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsubframe7536%2Fmaple-font","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsubframe7536%2Fmaple-font","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsubframe7536%2Fmaple-font/lists"}