### Install Maple Mono with Nixpkgs Source: https://github.com/subframe7536/maple-font/blob/variable/README.md Add Maple Mono font packages to your NixOS or Nixpkgs configuration. This example includes the TTF unhinted and NF unhinted variants. ```nix 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 ]; ``` -------------------------------- ### Merge Font Configuration Example Source: https://github.com/subframe7536/maple-font/blob/variable/source/py/task/merge_font/README.md Example JSON configuration for merging fonts, specifying family name, output directory, line height, and font instances with overrides. ```json { "family_name": "Maple Mono", "output_dir": "./fonts", "line_height": [850, -200], "instances": { "regular": [ "base_font.ttf", { "enable": true, "path": "override_font.ttf", "unicode_range": ["U+0030-0039", "U+2190-2199"], "width_scale": 1.06, "axes": {"wght": 400, "wdth": 100} } ], "bold": [ "/path/to/static/font.ttf", { "path": "/path/to/variable/font.ttf", "axes": {"wght": 700, "wdth": 110}, "width_scale": 0.98, "unicode_range": ["U+4E00-9FFF"] }, { "enable": false, "path": "disabled_font.ttf" } ] } } ``` -------------------------------- ### Install Maple Mono via Scoop Source: https://github.com/subframe7536/maple-font/blob/variable/README.md Install the standard TTF format of Maple Mono using Scoop on Windows. Ensure the nerd-fonts bucket is added. ```sh # Add bucket scoop bucket add nerd-fonts # Maple Mono (ttf format) scoop install Maple-Mono ``` -------------------------------- ### Install Maple Mono via Homebrew Source: https://github.com/subframe7536/maple-font/blob/variable/README.md Install the standard Maple Mono font using Homebrew on MacOS or Linux. ```sh # Maple Mono brew install --cask font-maple-mono ``` -------------------------------- ### Install Maple Mono NF via Scoop Source: https://github.com/subframe7536/maple-font/blob/variable/README.md Install the Nerd Font patched version of Maple Mono using Scoop on Windows. Ensure the nerd-fonts bucket is added. ```sh # Add bucket scoop bucket add nerd-fonts # Maple Mono NF scoop install Maple-Mono-NF ``` -------------------------------- ### Install Maple Mono NF via Homebrew Source: https://github.com/subframe7536/maple-font/blob/variable/README.md Install the Nerd Font patched version of Maple Mono using Homebrew on MacOS or Linux. ```sh # Maple Mono NF brew install --cask font-maple-mono-nf ``` -------------------------------- ### Install All Maple Mono Packages via Scoop Source: https://github.com/subframe7536/maple-font/blob/variable/README.md Install various formats and versions of Maple Mono, including hinted TTF, OTF, NF, and NF CN, using Scoop on Windows. Ensure the nerd-fonts bucket is added. ```sh # Add bucket scoop bucket add nerd-fonts # Maple Mono (ttf format) scoop install Maple-Mono # Maple Mono (hinted ttf format) scoop install Maple-Mono-autohint # Maple Mono (otf format) scoop install Maple-Mono-otf # Maple Mono NF scoop install Maple-Mono-NF # Maple Mono NF CN scoop install Maple-Mono-NF-CN ``` -------------------------------- ### Install All Maple Mono Variants on Arch Linux (ArchLinuxCN) Source: https://github.com/subframe7536/maple-font/blob/variable/README.md Installs all available Maple Mono font variants on Arch Linux using paru. This comprehensive list covers variable, TTF (hinted/unhinted), OTF, and WOFF2 formats, with and without ligatures, and CN variants. Expand to view all installation commands. ```sh # 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 ``` -------------------------------- ### Install Maple Mono NF CN (Ligature unhinted) Source: https://github.com/subframe7536/maple-font/blob/variable/README.md Use this command to install the Maple Mono NF CN font with ligatures, unhinted. This is the primary installation command for the specific font variant mentioned in the title. ```sh paru -S maplemono-nf-cn-unhinted ``` -------------------------------- ### Install All Maple Mono Font Packages Source: https://github.com/subframe7536/maple-font/blob/variable/README.md This section lists all available Maple Mono font packages for installation via paru. It covers various styles including ligature/no-ligature, hinted/unhinted, and different variants like NF, CN, and Normal. ```sh # 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 ``` -------------------------------- ### Local Build for Maple Font Source: https://github.com/subframe7536/maple-font/blob/variable/README.md Clone the repository and install dependencies locally to build the font using Python. ```shell git clone https://github.com/subframe7536/maple-font --depth 1 -b variable pip install -r requirements.txt python build.py ``` -------------------------------- ### Install Maple Mono NF CN on Arch Linux (ArchLinuxCN) Source: https://github.com/subframe7536/maple-font/blob/variable/README.md Install the Maple Mono NF CN font on Arch Linux using the ArchLinuxCN repository with paru. This is the recommended method for Arch Linux. ```sh paru -S ttf-maplemono-nf-cn-unhinted ``` -------------------------------- ### Install Maple Mono Variants on Arch Linux (AUR) Source: https://github.com/subframe7536/maple-font/blob/variable/README.md Install specific Maple Mono font variants from the AUR using paru. This method is not recommended due to potential AUR issues. Expand to see available options. ```sh # Maple Mono (Ligature TTF unhinted) paru -S maplemono-ttf # Maple Mono NF (Ligature unhinted) paru -S maplemono-nf-unhinted ``` -------------------------------- ### Install Maple Mono Variants on Arch Linux (ArchLinuxCN) Source: https://github.com/subframe7536/maple-font/blob/variable/README.md Installs various Maple Mono font variants on Arch Linux using paru. This includes different ligature, hinting, and format options. Expand to see all commands. ```sh # 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 ``` -------------------------------- ### Install All Maple Mono Variants on macOS Source: https://github.com/subframe7536/maple-font/blob/variable/README.md Installs all available Maple Mono font variants, including NF, CN, and Normal versions, using Homebrew Cask. Expand the details to see all options. ```sh # Maple Mono brew install --cask font-maple-mono # Maple Mono NF brew install --cask font-maple-mono-nf # Maple Mono CN brew install --cask font-maple-mono-cn # Maple Mono NF CN brew install --cask font-maple-mono-nf-cn # Maple Mono Normal brew install --cask font-maple-mono-normal # Maple Mono Normal NF brew install --cask font-maple-mono-normal-nf # Maple Mono Normal CN brew install --cask font-maple-mono-normal-cn # Maple Mono Normal NF CN brew install --cask font-maple-mono-normal-nf-cn ``` -------------------------------- ### Install Maple Mono NF CN via Scoop Source: https://github.com/subframe7536/maple-font/blob/variable/README.md Install the Nerd Font patched CN version of Maple Mono using Scoop on Windows. This version supports Simplified Chinese, Traditional Chinese, and Japanese. Ensure the nerd-fonts bucket is added. ```sh # Add bucket scoop bucket add nerd-fonts # Maple Mono NF CN scoop install Maple-Mono-NF-CN ``` -------------------------------- ### Generated .fea String for Feature Block Source: https://github.com/subframe7536/maple-font/blob/variable/source/py/feature/README.md This is the resulting .fea string generated from the Feature example. It defines a feature block containing a lookup. ```fea feature calt { # Example substitution lookup example_lookup { sub a b' by c; } example_lookup; } ``` -------------------------------- ### Install Maple Mono NF CN on macOS Source: https://github.com/subframe7536/maple-font/blob/variable/README.md Use Homebrew to install the Maple Mono NF CN font on macOS. This is the primary method for macOS users. ```sh brew install --cask font-maple-mono-nf-cn ``` -------------------------------- ### Generated .fea String for Lookup Substitution Source: https://github.com/subframe7536/maple-font/blob/variable/source/py/feature/README.md This is the resulting .fea string generated from the Lookup example. It defines a lookup block with a substitution rule. ```fea # Example substitution lookup example_lookup { sub a b' by c; } example_lookup; ``` -------------------------------- ### Generated .fea String for Clazz Substitution Source: https://github.com/subframe7536/maple-font/blob/variable/source/py/feature/README.md This is the resulting .fea string generated from the Clazz and subst example. It defines a glyph class and a substitution rule. ```fea @Digit = [zero, one, two, three]; sub @Digit a' b by c; ``` -------------------------------- ### Custom Font Weight Mapping Configuration Source: https://github.com/subframe7536/maple-font/blob/variable/README.md Modify the static font weight by adjusting the 'weight_mapping' in config.json. This example shows how to make the regular font weight lighter. ```json { "weight_mapping": { "thin": 100, "extralight": 200, "light": 300, "regular": 350, "semibold": 500, "medium": 600, "bold": 700, "extrabold": 800 } } ``` -------------------------------- ### Build with Normal Preset Source: https://github.com/subframe7536/maple-font/blob/variable/README.md Run the build script with the --normal flag to apply a preset that makes the font less opinionated, similar to JetBrains Mono. ```shell python build.py --normal ``` -------------------------------- ### Build Maple Font with Docker Source: https://github.com/subframe7536/maple-font/blob/variable/README.md Clone the repository, build a Docker image, and run a container to build the font, mounting a local directory for output. ```shell 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 ``` -------------------------------- ### Development Build Commands Source: https://github.com/subframe7536/maple-font/blob/variable/README.md This section provides essential commands for developing Maple Mono. It covers project initialization, building with specific configurations, and updating different font aspects. ```sh # Init project uv sync # Dev uv run build.py --ttf-only --cn --debug # Update nerd font uv run task.py nerd-font # Update fea file uv run task.py fea # Update landing page info uv run task.py page --sync # Merge two fonts uv run task.py merge # Release uv run task.py release minor ``` -------------------------------- ### Maple Mono Build Script Usage Source: https://github.com/subframe7536/maple-font/blob/variable/README.md This command-line interface is used to build and optimize Maple Mono. It offers numerous options for customizing features, width, character sets, and output formats. ```bash 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: or , (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 ``` -------------------------------- ### Merge Font Command Source: https://github.com/subframe7536/maple-font/blob/variable/source/py/task/merge_font/README.md Run the merge font utility from Python build tasks using uv run. ```sh uv run task.py merge ``` -------------------------------- ### Generate Static Fonts and Archives Source: https://github.com/subframe7536/maple-font/blob/variable/source/cn/README.md Command to rebuild static fonts and archives for the CN font variant. Ensure FontLab source files are correctly placed. ```bash uv run task.py cn-rebuild ``` -------------------------------- ### All Available Maple Mono Packages with Nixpkgs Source: https://github.com/subframe7536/maple-font/blob/variable/README.md This comprehensive list shows all available Maple Mono font packages for Nixpkgs, including variations for ligatures, glyph sets, and formats. ```nix 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 ]; ``` -------------------------------- ### Define a Substitution Lookup Block Source: https://github.com/subframe7536/maple-font/blob/variable/source/py/feature/README.md Defines a lookup block for substitutions using `Lookup`. It includes a name, description, and a list of substitution rules. ```python from source.py.feature.ast import Lookup, subst lookup_example = Lookup( name="example_lookup", desc="Example substitution", content=[ subst("a", "b", None, "c"), ], ) ``` -------------------------------- ### Generate OpenType Feature File Content Source: https://github.com/subframe7536/maple-font/blob/variable/source/py/feature/README.md Generates the final OpenType feature file content using `create` with a list of `Feature` objects. The output is a string. ```python from source.py.feature.ast import create fea_content = create([feature_example]) print(fea_content) ``` -------------------------------- ### CN Font Directory Structure Source: https://github.com/subframe7536/maple-font/blob/variable/source/cn/README.md Illustrates the file organization for the CN font variant, including variable font subsets, source files, and generated static fonts. ```sh cn ├── MapleMono-CN-Italic-VF.ttf # CN variable font subset ├── MapleMono-CN-Italic-VF.vfc # FontLab source file ├── MapleMono-CN-VF.ttf # CN variable font subset ├── MapleMono-CN-VF.vfc # FontLab source file ├── README.md ├── static # Generated static CN base fonts │ ├── MapleMonoCN-Bold.ttf │ └── ... └── static.sha256 # Hash of static fonts ``` -------------------------------- ### Define Custom Tags Source: https://github.com/subframe7536/maple-font/blob/variable/source/py/feature/README.md Use `tag_custom` to define custom tags from specific text patterns to styled tags. Requires a dictionary of background classes. ```python from source.py.feature.calt.tag import tag_custom tag_CUSTOM_DICT = { ":attention:": "[attention]", "_noqa_": "(noqa)", # ("_alter_", ""), } tag_CUSTOM_DICT, bg_cls_dict) ``` -------------------------------- ### Define an OpenType Feature Source: https://github.com/subframe7536/maple-font/blob/variable/source/py/feature/README.md Represents an OpenType feature using `Feature`. It takes a tag (e.g., 'calt') and a list of lookup blocks. ```python from source.py.feature.ast import Feature feature_example = Feature( tag="calt", content=[ lookup_example, ], ) ``` -------------------------------- ### VSCode Font Configuration with OpenType Features Source: https://github.com/subframe7536/maple-font/blob/variable/source/features/README.md Configure VSCode to use Maple Mono and enable specific OpenType features like 'calt', 'cv01', 'ss01', and 'zero'. This allows for more granular control over font appearance. ```json { // Setup font family "editor.fontFamily": "Maple Mono NF, Jetbrains Mono, Menlo, Consolas, monospace", // Or enable OpenType features "editor.fontLigatures": "'calt', 'cv01', 'ss01', 'zero'" } ``` -------------------------------- ### VSCode Font Configuration with Ligatures Source: https://github.com/subframe7536/maple-font/blob/variable/source/features/README.md Configure VSCode to use Maple Mono and enable ligatures using the 'calt' feature. Ensure the font family is set correctly. ```json { // Setup font family "editor.fontFamily": "Maple Mono NF, Jetbrains Mono, Menlo, Consolas, monospace", // Enable ligatures "editor.fontLigatures": "'calt'" } ``` -------------------------------- ### Customize Ligature Trigger Text Source: https://github.com/subframe7536/maple-font/blob/variable/source/py/feature/README.md Use `subst_liga` to customize the source text and target ligature file for specific ligatures. Requires importing the function. ```python from source.py.feature.calt.tag import subst_liga subst_liga( source="TODO:", target="tag_todo.liga", lookup_name="todo_colon" ) ``` -------------------------------- ### Generate Feature String Source: https://github.com/subframe7536/maple-font/blob/variable/source/py/feature/README.md Generates a feature string using `generate_fea_string`. This function can take parameters like `italic` and `cn` to customize the output. ```python from source.py.feature import generate_fea_string fea_string = generate_fea_string(italic=False, cn=True) print(fea_string) ``` -------------------------------- ### Define a Glyph Class Source: https://github.com/subframe7536/maple-font/blob/variable/source/py/feature/README.md Represents a class of glyphs using `Clazz`. The `state()` method can be called to inspect the class, and its use can be substituted. ```python from source.py.feature.ast import Clazz, subst cls_digit = Clazz("Digit", ["zero", "one", "two", "three"]) cls_digit.state() subst(cls_digit.use(), "a", "b", "c") ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.