Skip to content

Latest commit

 

History

History
603 lines (529 loc) · 445 KB

custom-build.md

File metadata and controls

603 lines (529 loc) · 445 KB

Building Iosevka from Source

Cloning

Note that this repo has a 30+ GB commit history. If you only want the current files and future changes, you can avoid downloading so much by cloning the repo with a --depth limit. Example:

git clone --depth 1 https://github.com/be5invis/Iosevka.git 

Building

To build Iosevka you should:

  1. Ensure that nodejs (≥ 14.0.0) and ttfautohint are present, and accessible from PATH.
  2. Run npm install. This command will install all the NPM dependencies, and will also validate whether external dependencies are present.
  3. npm run build -- contents::iosevka.

You will find TTFs, as well as WOFF(2) web fonts and one Webfont CSS in the dist/ directory.

Using a Docker container

A Docker container handling the build environment for you can be found here.

To pull it from Docker Hub and start a standard build of the latest released version, run

docker run -it -v $(pwd):/build avivace/iosevka-build

If you are using Powershell, run

docker run -it -v ${pwd}:/build avivace/iosevka-build

Fonts files will be placed in the dist folder.

You can provide private-build.plans.toml for a customized build and/or specify the desired release appending -e FONT_VERSION=X.X.X. to the Docker command.

Customized Build

To create a custom build, you need:

  1. Create private-build-plans.toml file if absent.

  2. Add a build plan into private-build-plans.toml. The configurable properties are described in the following sections.

  3. Run npm run build -- contents::<your plan name> and the built fonts would be available in dist/. Aside from contents::<plan>, other options are:

    1. contents::<plan> : Everything (TTF + webfont, hinted + unhinted);
    2. ttf::<plan> : TTF only;
    3. ttf-unhinted::<plan> : Unhinted TTF only;
    4. webfont::<plan> : Web fonts only (CSS + WOFF2);
    5. webfont-unhinted::<plan> : Unhinted web fonts only (CSS + WOFF2);
    6. woff2::<plan> : WOFF2 only.
    7. woff2-unhinted::<plan> : Unhinted WOFF2 only.

⚠️ Important: By default, the build system will schedule a number of concurrently running jobs equal to the number of threads available on the CPU, which will push CPU usage and also likely RAM usage, if you do not have very much to work with, to the ceiling (each job consumes more than 1 GB of RAM at its peak). If this is an issue for you, pass an additional argument --jCmd=<number of concurrent jobs>.

Configuring Custom Build

Configuration of build plans are organized under [buildPlans.<plan name>] sections in the private-build-plans.toml. You can use the Customizer to create the build plan, and/or manually edit them, following the instructions below.

Inside the plan, top-level properties include:

  • family: String, defines the family name of your custom variant.
  • spacing: Optional, String, denotes the spacing of the custom variant. Valid values include:
    • normal: The normal monospace font.
    • quasi-proportional: The font will become quasi-proportional.
    • quasi-proportional-extension-only: The font will become quasi-proportional, but will not shrink narrow letters (like i). Only wide letters (like M) will get expanded.
    • term: Make the symbols' width suitable for terminal emulators. Arrows and geometric symbols will become narrower.
    • fontconfig-mono: Apply term spacing changes and further apply changes to be compatible with FontConfig's Mono spacing, which recognizes a font as monospace if and only if its every non-combining characters having the same width. The changes include:
      • Completely remove wide glyphs. All non-combining glyphs will be exactly the same width.
        • As a consequence, the following characters will be removed:
          • U+27F5 LONG LEFTWARDS ARROW
          • U+27F6 LONG RIGHTWARDS ARROW
          • U+27FB LONG LEFTWARDS ARROW FROM BAR
          • U+27FC LONG RIGHTWARDS ARROW FROM BAR
      • Remove NWID and WWID features typographic features
    • fixed: Apply fontconfig-mono changes and further remove ligations.
  • serifs: Optional, String, configures style of serifs.
    • When set to slab, the font will be converted into slab-serif.
    • Otherwise the font will be sans-serif.
  • no-cv-ss: Optional, Boolean, disables cv## and ss## OpenType features.
  • no-ligation: Optional, Boolean, disables ligations.
  • export-glyph-names: Optional, Boolean, whether to export glyph names into the fonts. Setting this to true will increase file footprint, however this is necessary for ligature support in Kitty.
  • webfont-formats: Optional, Array of String. Controls the formats needed to be exported into the webfont CSS. Valid options are 'ttf' and 'woff2', or including both.

Build plan could have 5 optional subsections: ligations, variants, weights, widths and slopes.

Configuring Ligations

Subsection ligations is used to customize the ligation set assigned to calt OpenType feature. Properties include:

  • inherits: Optional, String, defines the inherited ligation set. When absent, the ligation set will not inherit any other sets. Valid values are:

    • --default-center-ops--: Default ligation set would be assigned to undefined.
    • --c-center-ops--: Default ligation set would be assigned to undefined.
    • --default-equality-inequality--: Default ligation set would be assigned to undefined.
    • --c-equality-inequality--: Default ligation set would be assigned to undefined.
    • --raku-equality-inequality--: Default ligation set would be assigned to undefined.
    • --ml-equality-inequality--: Default ligation set would be assigned to undefined.
    • --fstar-equality-inequality--: Default ligation set would be assigned to undefined.
    • --haskell-equality-inequality--: Default ligation set would be assigned to undefined.
    • --matlab-equality-inequality--: Default ligation set would be assigned to undefined.
    • --verilog-equality-inequality--: Default ligation set would be assigned to undefined.
    • --wolfram-equality-inequality--: Default ligation set would be assigned to undefined.
    • --erlang-equality-inequality--: Default ligation set would be assigned to undefined.
    • --default-kern--: Default ligation set would be assigned to undefined.
    • default-calt: Inherit default ligation set.
    • dlig: Default ligation set would be assigned to Discretionary ligatures.
    • clike: Default ligation set would be assigned to C-Like.
    • javascript: Default ligation set would be assigned to JavaScript.
    • php: Default ligation set would be assigned to PHP.
    • julia: Default ligation set would be assigned to Julia.
    • raku: Default ligation set would be assigned to Raku.
    • ml: Default ligation set would be assigned to ML.
    • fsharp: Default ligation set would be assigned to F#.
    • fstar: Default ligation set would be assigned to F*.
    • haskell: Default ligation set would be assigned to Haskell.
    • idris: Default ligation set would be assigned to Idris.
    • elm: Default ligation set would be assigned to Elm.
    • purescript: Default ligation set would be assigned to PureScript.
    • swift: Default ligation set would be assigned to Swift.
    • dafny: Default ligation set would be assigned to Dafny.
    • coq: Default ligation set would be assigned to Coq.
    • matlab: Default ligation set would be assigned to Matlab.
    • verilog: Default ligation set would be assigned to Verilog.
    • wolfram: Default ligation set would be assigned to Wolfram Language (Mathematica).
    • erlang: Default ligation set would be assigned to Erlang Language.
  • disables and enables: Optional, String Array, Cherry-picking ligation groups to be disabled or enabled. Valid values include:

    • center-ops: Vertically align some of the operators (like *) to the center position it is before or after a "center" operator (like +).
    • center-op-trigger-plus-minus-l: Plus (+) and Minus (-) will trigger other operator characters at left to be centered.
    • center-op-trigger-plus-minus-r: Plus (+) and Minus (-) will trigger other operator characters at right to be centered.
    • center-op-trigger-equal-l: Equal (=) will trigger other operator characters at left to be centered.
    • center-op-trigger-equal-r: Equal (=) will trigger other operator characters at right to be centered.
    • center-op-trigger-bar-l: Bars (|) will trigger other operator characters at left to be centered.
    • center-op-trigger-bar-r: Bars (|) will trigger other operator characters at right to be centered.
    • center-op-trigger-angle-inside: Less (<) and Greater (>) will trigger other operator characters at inside to be centered.
    • center-op-trigger-angle-outside: Less (<) and Greater (>) will trigger other operator characters at outside to be centered.
    • center-op-influence-dot: Treat dot (.) as operator and perform chained centering.
    • center-op-influence-colon: Treat colon (:) as operator and perform chained centering.
    • arrow-l: Enable ligation set that forms left-pointing arrows.
    • arrow-r: Enable ligation set that forms right-pointing arrows.
    • counter-arrow-l: Enable ligation that produces left-pointing counter-arrows.
    • counter-arrow-r: Enable ligation that produces right-pointing counter-arrows.
    • trig: Enable ligation for <|, |> , <||, and other bar-and-angle-bracket symbols.
    • eqeqeq: Enable special ligation for === with triple lines.
    • eqeq: Enable ligation for == and ===.
    • lteq: Enable ligation for <= as less-than-or-equal sign.
    • eqlt: Enable ligation for =< as less-than-or-equal sign.
    • gteq: Enable ligation for >= as greater-than-or-equal sign.
    • lteq-separate: Display <= as separate shape.
    • eqlt-separate: Display =< as separate shape.
    • gteq-separate: Display >= as separate shape.
    • exeqeqeq: Enable special ligation for !=== with triple lines.
    • exeqeq: Enable special ligation for !== with triple lines.
    • eqexeq: Enable special ligation for =!= with triple lines.
    • eqexeq-dl: Enable special ligation for =!= with double lines.
    • exeq: Enable ligation for != and !==.
    • tildeeq: Enable ligation for ~= as inequality.
    • eqslasheq: Enable special triple-line ligation for =/= as inequality.
    • slasheq: Enable ligation for /= and =/= as inequality.
    • ltgt-ne: Enable ligation for <> as inequality.
    • ltgt-diamond: Enable ligation for <> as diamond.
    • ltgt-diamond-tag: Enable ligation for <> as diamond-shaped empty HTML/XML tag.
    • ltgt-slash-tag: Enable ligation for </, /> and </>.
    • brst: Center asterisk in (* and *).
    • slash-asterisk: Shift asterisk in /* and */.
    • plusplus: Enable ligation for ++ and further plus-chaining.
    • kern-dotty: Move connecting dotty punctuations closer, like for ::, ::: and ....
    • kern-bars: Move consecutive bars closer, like for ||, ||| and //.
    • logic: Enable ligation for /\ and \/.
    • llgg: Enable ligation for <<, >> and other angle-bracket chaining.
    • llggeq: Enable ligation for <<=, >>= as shift operator.
    • html-comment: Enable ligation for <!-- and <!---.
    • colon-greater-as-colon-arrow: Transform :> into : and a narrow arrow.
    • brace-bar: Enable ligation for {| and |}.
    • brack-bar: Enable ligation for [| and |].
    • connected-underscore: Make contiguous underscores (like __) connected.
    • connected-number-sign: Make contiguous number signs (like ##) connected.
    • connected-tilde-as-wave: Make contiguous ASCII tildes (like ~~) connected as a wave line.
    • connected-hyphen: Make contiguous hyphen-minuses (like --) connected as a straight solid line.

Configuring Character Variants

Subsection variants is used to configure character variants in the font. Properties include:

  • inherits: Optional, String, defines the inherited stylistic set. Valid options include:

    • ss01: Set character variant to “Andale Mono Style”.
    • ss02: Set character variant to “Anonymous Pro Style”.
    • ss03: Set character variant to “Consolas Style”.
    • ss04: Set character variant to “Menlo Style”.
    • ss05: Set character variant to “Fira Mono Style”.
    • ss06: Set character variant to “Liberation Mono Style”.
    • ss07: Set character variant to “Monaco Style”.
    • ss08: Set character variant to “Pragmata Pro Style”.
    • ss09: Set character variant to “Source Code Pro Style”.
    • ss10: Set character variant to “Envy Code R Style”.
    • ss11: Set character variant to “X Window Style”.
    • ss12: Set character variant to “Ubuntu Mono Style”.
    • ss13: Set character variant to “Lucida Style”.
    • ss14: Set character variant to “JetBrains Mono Style”.
    • ss15: Set character variant to “IBM Plex Mono Style”.
    • ss16: Set character variant to “PT Mono Style”.
    • ss17: Set character variant to “Recursive Mono Style”.
    • ss18: Set character variant to “Input Mono Style”.
    • ss20: Set character variant to “Curly Style”.
  • design, upright, italic, and oblique: Optional, Dictionary, defines styles for individual characters. The choices are organized in key-value pairs, assigning a variant to a character group. Alternatively, you could assign numbers to cv## tags, like what you did when using OpenType in CSS. Assignments under design will be applied to all the slopes, and upright, italic, and oblique will apply to corresponded slopes.

    In addition, style selector for default digit form also uses these dictionaries.

    The valid combinations include:

    • Default digit form:
      digit-form = 'lining'
      Lining (default)
      digit-form = 'old-style'
      Old-style
    • APL form:
      apl-form = 'none'
      Disable APL-specific forms (default)
      apl-form = 'enable'
      Enable harmonized alternate forms APL operators
    • Styles for A:
      capital-a = 'straight-serifless', cv01 = 1
      A with straight shape; without serifs (default for Sans)
      capital-a = 'straight-top-serifed', cv01 = 2
      A with straight shape, and serifs at top
      capital-a = 'straight-base-serifed', cv01 = 3
      A with straight shape, and serifs at base (default for Slab)
      capital-a = 'straight-tri-serifed', cv01 = 4
      A with straight shape, and serifs at both top and base
      capital-a = 'curly-serifless', cv01 = 5
      A with curly shape; without serifs
      capital-a = 'curly-top-serifed', cv01 = 6
      A with curly shape, and serifs at top
      capital-a = 'curly-base-serifed', cv01 = 7
      A with curly shape, and serifs at base
      capital-a = 'curly-tri-serifed', cv01 = 8
      A with curly shape, and serifs at both top and base
    • Styles for B:
      capital-b = 'standard-serifless', cv02 = 1
      B with mostly symmetric shape; without serifs (default for Sans)
      capital-b = 'standard-unilateral-serifed', cv02 = 2
      B with mostly symmetric shape, and serifs at top
      capital-b = 'standard-bilateral-serifed', cv02 = 3
      B with mostly symmetric shape, and serifs at both top and bottom (default for Slab)
      capital-b = 'standard-interrupted-serifless', cv02 = 4
      B with mostly symmetric shape, and interrupted middle bar; without serifs
      capital-b = 'standard-interrupted-unilateral-serifed', cv02 = 5
      B with mostly symmetric shape, interrupted middle bar, and serifs at top
      capital-b = 'standard-interrupted-bilateral-serifed', cv02 = 6
      B with mostly symmetric shape, interrupted middle bar, and serifs at both top and bottom
      capital-b = 'more-asymmetric-serifless', cv02 = 7
      B with more asymmetric shape; without serifs
      capital-b = 'more-asymmetric-unilateral-serifed', cv02 = 8
      B with more asymmetric shape, and serifs at top
      capital-b = 'more-asymmetric-bilateral-serifed', cv02 = 9
      B with more asymmetric shape, and serifs at both top and bottom
      capital-b = 'more-asymmetric-interrupted-serifless', cv02 = 10
      B with more asymmetric shape, and interrupted middle bar; without serifs
      capital-b = 'more-asymmetric-interrupted-unilateral-serifed', cv02 = 11
      B with more asymmetric shape, interrupted middle bar, and serifs at top
      capital-b = 'more-asymmetric-interrupted-bilateral-serifed', cv02 = 12
      B with more asymmetric shape, interrupted middle bar, and serifs at both top and bottom
    • Styles for C:
      capital-c = 'serifless', cv03 = 1
      Serifless C (default for Sans)
      capital-c = 'unilateral-serifed', cv03 = 2
      C with serif at top (default for Slab)
      capital-c = 'bilateral-serifed', cv03 = 3
      C with serifs at both top and bottom
      capital-c = 'unilateral-inward-serifed', cv03 = 4
      C with inward serif at top
      capital-c = 'bilateral-inward-serifed', cv03 = 5
      C with inward serif at both top and bottom
    • Styles for D:
      capital-d = 'standard-serifless', cv04 = 1
      D with standard shape; without serifs (default for Sans)
      capital-d = 'standard-unilateral-serifed', cv04 = 2
      D with standard shape, and serifs at top
      capital-d = 'standard-bilateral-serifed', cv04 = 3
      D with standard shape, and serifs at both top and bottom (default for Slab)
      capital-d = 'more-rounded-serifless', cv04 = 4
      D with more rounded shape; without serifs
      capital-d = 'more-rounded-unilateral-serifed', cv04 = 5
      D with more rounded shape, and serifs at top
      capital-d = 'more-rounded-bilateral-serifed', cv04 = 6
      D with more rounded shape, and serifs at both top and bottom
    • Styles for E:
      capital-e = 'serifless', cv05 = 1
      E without serifs (default for Sans)
      capital-e = 'top-left-serifed', cv05 = 2
      E with serif only at top left
      capital-e = 'serifed', cv05 = 3
      E with serifs (default for Slab)
    • Styles for F:
      capital-f = 'serifless', cv06 = 1
      F without serifs (default for Sans)
      capital-f = 'top-left-serifed', cv06 = 2
      F with serif only at top left
      capital-f = 'serifed', cv06 = 3
      F with serifs (default for Slab)
    • Styles for G:
      capital-g = 'toothed-serifless-hookless', cv07 = 1
      G with toothed body; without top serif, and hooks
      capital-g = 'toothed-serifless-hooked', cv07 = 2
      G with toothed body, and inward hook terminal; without top serif (default for Sans)
      capital-g = 'toothed-serifless-capped', cv07 = 3
      G with toothed body, and capped terminal; without top serif
      capital-g = 'toothed-serifed-hookless', cv07 = 4
      G with toothed body, and top serif; without hooks
      capital-g = 'toothed-serifed-hooked', cv07 = 5
      G with toothed body, top serif, and inward hook terminal (default for Slab)
      capital-g = 'toothed-serifed-capped', cv07 = 6
      G with toothed body, top serif, and capped terminal
      capital-g = 'toothed-inward-serifed-hookless', cv07 = 7
      G with toothed body, and inward top serif; without hooks
      capital-g = 'toothed-inward-serifed-hooked', cv07 = 8
      G with toothed body, inward top serif, and inward hook terminal
      capital-g = 'toothed-inward-serifed-capped', cv07 = 9
      G with toothed body, inward top serif, and capped terminal
      capital-g = 'toothless-corner-serifless-hookless', cv07 = 10
      G with tootheless (corner) body; without top serif, and hooks
      capital-g = 'toothless-corner-serifless-hooked', cv07 = 11
      G with tootheless (corner) body, and inward hook terminal; without top serif
      capital-g = 'toothless-corner-serifless-capped', cv07 = 12
      G with tootheless (corner) body, and capped terminal; without top serif
      capital-g = 'toothless-corner-serifed-hookless', cv07 = 13
      G with tootheless (corner) body, and top serif; without hooks
      capital-g = 'toothless-corner-serifed-hooked', cv07 = 14
      G with tootheless (corner) body, top serif, and inward hook terminal
      capital-g = 'toothless-corner-serifed-capped', cv07 = 15
      G with tootheless (corner) body, top serif, and capped terminal
      capital-g = 'toothless-corner-inward-serifed-hookless', cv07 = 16
      G with tootheless (corner) body, and inward top serif; without hooks
      capital-g = 'toothless-corner-inward-serifed-hooked', cv07 = 17
      G with tootheless (corner) body, inward top serif, and inward hook terminal
      capital-g = 'toothless-corner-inward-serifed-capped', cv07 = 18
      G with tootheless (corner) body, inward top serif, and capped terminal
      capital-g = 'toothless-rounded-serifless-hookless', cv07 = 19
      G with tootheless (rounded) body; without top serif, and hooks
      capital-g = 'toothless-rounded-serifless-hooked', cv07 = 20
      G with tootheless (rounded) body, and inward hook terminal; without top serif
      capital-g = 'toothless-rounded-serifless-capped', cv07 = 21
      G with tootheless (rounded) body, and capped terminal; without top serif
      capital-g = 'toothless-rounded-serifed-hookless', cv07 = 22
      G with tootheless (rounded) body, and top serif; without hooks
      capital-g = 'toothless-rounded-serifed-hooked', cv07 = 23
      G with tootheless (rounded) body, top serif, and inward hook terminal
      capital-g = 'toothless-rounded-serifed-capped', cv07 = 24
      G with tootheless (rounded) body, top serif, and capped terminal
      capital-g = 'toothless-rounded-inward-serifed-hookless', cv07 = 25
      G with tootheless (rounded) body, and inward top serif; without hooks
      capital-g = 'toothless-rounded-inward-serifed-hooked', cv07 = 26
      G with tootheless (rounded) body, inward top serif, and inward hook terminal
      capital-g = 'toothless-rounded-inward-serifed-capped', cv07 = 27
      G with tootheless (rounded) body, inward top serif, and capped terminal
    • Styles for H:
      capital-h = 'serifless', cv08 = 1
      H without serifs (default for Sans)
      capital-h = 'top-left-serifed', cv08 = 2
      H with serif only at top left
      capital-h = 'top-left-bottom-right-serifed', cv08 = 3
      H with serif only at top left and bottom right
      capital-h = 'serifed', cv08 = 4
      H with serifs (default for Slab)
    • Styles for I:
      capital-i = 'serifed', cv09 = 1
      I with standard (long) serifs (default)
      capital-i = 'serifless', cv09 = 2
      I without serifs, like a straight bar
      capital-i = 'short-serifed', cv09 = 3
      I with short serifs
    • Styles for J:
      capital-j = 'serifless', cv10 = 1
      J without serifs
      capital-j = 'serifed', cv10 = 2
      J with serifs (default)
      capital-j = 'serifed-both-sides', cv10 = 3
      J with serifs at both sides (asymmetric)
      capital-j = 'serifed-symmetric', cv10 = 4
      J with serifs at both sides (symmetric)
      capital-j = 'flat-hook-serifless', cv10 = 5
      J with flat hook; without serifs
      capital-j = 'flat-hook-serifed', cv10 = 6
      J with flat hook, and serifs
      capital-j = 'flat-hook-serifed-both-sides', cv10 = 7
      J with flat hook, and serifs at both sides (asymmetric)
      capital-j = 'flat-hook-serifed-symmetric', cv10 = 8
      J with flat hook, and serifs at both sides (symmetric)
      capital-j = 'descending-serifless', cv10 = 9
      J with descending height; without serifs
      capital-j = 'descending-serifed', cv10 = 10
      J with descending height, and serifs
      capital-j = 'descending-serifed-both-sides', cv10 = 11
      J with descending height, and serifs at both sides (asymmetric)
      capital-j = 'descending-serifed-symmetric', cv10 = 12
      J with descending height, and serifs at both sides (symmetric)
      capital-j = 'descending-flat-hook-serifless', cv10 = 13
      J with descending height, and flat hook; without serifs
      capital-j = 'descending-flat-hook-serifed', cv10 = 14
      J with descending height, flat hook, and serifs
    • Styles for K:
      capital-k = 'straight-serifless', cv11 = 1
      K with straight shape; without serifs (default for Sans)
      capital-k = 'straight-top-left-serifed', cv11 = 2
      K with straight shape, and serifs at top left
      capital-k = 'straight-bottom-right-serifed', cv11 = 3
      K with straight shape, and serifs at bottom right
      capital-k = 'straight-top-left-and-bottom-right-serifed', cv11 = 4
      K with straight shape, and serifs at top left and bottom right
      capital-k = 'straight-serifed', cv11 = 5
      K with straight shape, and serifs (default for Slab)
      capital-k = 'curly-serifless', cv11 = 6
      K with curly shape; without serifs
      capital-k = 'curly-top-left-serifed', cv11 = 7
      K with curly shape, and serifs at top left
      capital-k = 'curly-bottom-right-serifed', cv11 = 8
      K with curly shape, and serifs at bottom right
      capital-k = 'curly-top-left-and-bottom-right-serifed', cv11 = 9
      K with curly shape, and serifs at top left and bottom right
      capital-k = 'curly-serifed', cv11 = 10
      K with curly shape, and serifs
      capital-k = 'symmetric-touching-serifless', cv11 = 11
      K with symmetric legs touching the vertical bar; without serifs
      capital-k = 'symmetric-touching-top-left-serifed', cv11 = 12
      K with symmetric legs touching the vertical bar, and serifs at top left
      capital-k = 'symmetric-touching-bottom-right-serifed', cv11 = 13
      K with symmetric legs touching the vertical bar, and serifs at bottom right
      capital-k = 'symmetric-touching-top-left-and-bottom-right-serifed', cv11 = 14
      K with symmetric legs touching the vertical bar, and serifs at top left and bottom right
      capital-k = 'symmetric-touching-serifed', cv11 = 15
      K with symmetric legs touching the vertical bar, and serifs
      capital-k = 'symmetric-connected-serifless', cv11 = 16
      K with symmetric legs connected to the vertical bar; without serifs
      capital-k = 'symmetric-connected-top-left-serifed', cv11 = 17
      K with symmetric legs connected to the vertical bar, and serifs at top left
      capital-k = 'symmetric-connected-bottom-right-serifed', cv11 = 18
      K with symmetric legs connected to the vertical bar, and serifs at bottom right
      capital-k = 'symmetric-connected-top-left-and-bottom-right-serifed', cv11 = 19
      K with symmetric legs connected to the vertical bar, and serifs at top left and bottom right
      capital-k = 'symmetric-connected-serifed', cv11 = 20
      K with symmetric legs connected to the vertical bar, and serifs
    • Styles for L:
      capital-l = 'serifless', cv12 = 1
      Serifless L (default for Sans)
      capital-l = 'motion-serifed', cv12 = 2
      Standard L with motion serif at bottom right
      capital-l = 'serifed', cv12 = 3
      L with serifs (default for Slab)
    • Styles for M:
      capital-m = 'hanging-serifless', cv13 = 1
      M with middle being hanging off baseline; without serifs (default for Sans)
      capital-m = 'hanging-motion-serifed', cv13 = 2
      M with middle being hanging off baseline, and motion serifs
      capital-m = 'hanging-serifed', cv13 = 3
      M with middle being hanging off baseline, and serifs (default for Slab)
      capital-m = 'slanted-sides-hanging-serifless', cv13 = 4
      M with slanted sides, and middle being hanging off baseline; without serifs
      capital-m = 'slanted-sides-hanging-motion-serifed', cv13 = 5
      M with slanted sides, middle being hanging off baseline, and motion serifs
      capital-m = 'slanted-sides-hanging-serifed', cv13 = 6
      M with slanted sides, middle being hanging off baseline, and serifs
      capital-m = 'flat-bottom-serifless', cv13 = 7
      M with middle aligned to baseline; without serifs
      capital-m = 'flat-bottom-motion-serifed', cv13 = 8
      M with middle aligned to baseline, and motion serifs
      capital-m = 'flat-bottom-serifed', cv13 = 9
      M with middle aligned to baseline, and serifs
      capital-m = 'slanted-sides-flat-bottom-serifless', cv13 = 10
      M with slanted sides, and middle aligned to baseline; without serifs
      capital-m = 'slanted-sides-flat-bottom-motion-serifed', cv13 = 11
      M with slanted sides, middle aligned to baseline, and motion serifs
      capital-m = 'slanted-sides-flat-bottom-serifed', cv13 = 12
      M with slanted sides, middle aligned to baseline, and serifs
    • Styles for N:
      capital-n = 'standard-serifless', cv14 = 1
      N with standard shape; without serifs (default for Sans)
      capital-n = 'standard-motion-serifed', cv14 = 2
      N with standard shape, and motion serifs
      capital-n = 'standard-serifed', cv14 = 3
      N with standard shape, and serifs (default for Slab)
      capital-n = 'asymmetric-serifless', cv14 = 4
      N with asymmetric shape; without serifs
      capital-n = 'asymmetric-motion-serifed', cv14 = 5
      N with asymmetric shape, and motion serifs
      capital-n = 'asymmetric-serifed', cv14 = 6
      N with asymmetric shape, and serifs
    • Styles for P:
      capital-p = 'closed-serifless', cv15 = 1
      P with closed shape; without serifs (default for Sans)
      capital-p = 'closed-motion-serifed', cv15 = 2
      P with closed shape, and motion serifs
      capital-p = 'closed-serifed', cv15 = 3
      P with closed shape, and serifs (default for Slab)
      capital-p = 'open-serifless', cv15 = 4
      P with open shape; without serifs
      capital-p = 'open-motion-serifed', cv15 = 5
      P with open shape, and motion serifs
      capital-p = 'open-serifed', cv15 = 6
      P with open shape, and serifs
    • Styles for Q:
      capital-q = 'curly-tailed', cv16 = 1
      Q with a curly tail (default)
      capital-q = 'crossing-curly-tailed', cv16 = 2
      Q with a curly tail crossing the ring
      capital-q = 'straight', cv16 = 3
      Q with a straight tail like in the old versions
      capital-q = 'crossing', cv16 = 4
      Q with a tail crossing the ring
      capital-q = 'crossing-baseline', cv16 = 5
      Q with a tail above baseline crossing the ring
      capital-q = 'vertical-crossing', cv16 = 6
      Q with a vertical tail crossing the ring
      capital-q = 'horizontal-tailed', cv16 = 7
      Q with a horizontal tail, like Univers
      capital-q = 'detached-tailed', cv16 = 8
      Q with a oblique tail detached
      capital-q = 'detached-bend-tailed', cv16 = 9
      Q with a bend tail detached
      capital-q = 'open-swash', cv16 = 10
      Q with open contour and swash-y shape
    • Styles for R:
      capital-r = 'straight-serifless', cv17 = 1
      R with straight leg; without serifs (default for Sans)
      capital-r = 'straight-motion-serifed', cv17 = 2
      R with straight leg, and motion serifs
      capital-r = 'straight-serifed', cv17 = 3
      R with straight leg, and serifs (default for Slab)
      capital-r = 'curly-serifless', cv17 = 4
      R with curly leg; without serifs
      capital-r = 'curly-motion-serifed', cv17 = 5
      R with curly leg, and motion serifs
      capital-r = 'curly-serifed', cv17 = 6
      R with curly leg, and serifs
      capital-r = 'standing-serifless', cv17 = 7
      R with standing leg (like Helvetica); without serifs
      capital-r = 'standing-motion-serifed', cv17 = 8
      R with standing leg (like Helvetica), and motion serifs
      capital-r = 'standing-serifed', cv17 = 9
      R with standing leg (like Helvetica), and serifs
      capital-r = 'straight-open-serifless', cv17 = 10
      R with straight leg, and open contour; without serifs
      capital-r = 'straight-open-motion-serifed', cv17 = 11
      R with straight leg, open contour, and motion serifs
      capital-r = 'straight-open-serifed', cv17 = 12
      R with straight leg, open contour, and serifs
      capital-r = 'curly-open-serifless', cv17 = 13
      R with curly leg, and open contour; without serifs
      capital-r = 'curly-open-motion-serifed', cv17 = 14
      R with curly leg, open contour, and motion serifs
      capital-r = 'curly-open-serifed', cv17 = 15
      R with curly leg, open contour, and serifs
      capital-r = 'standing-open-serifless', cv17 = 16
      R with standing leg (like Helvetica), and open contour; without serifs
      capital-r = 'standing-open-motion-serifed', cv17 = 17
      R with standing leg (like Helvetica), open contour, and motion serifs
      capital-r = 'standing-open-serifed', cv17 = 18
      R with standing leg (like Helvetica), open contour, and serifs
    • Styles for S:
      capital-s = 'serifless', cv18 = 1
      Serifless S (default for Sans)
      capital-s = 'unilateral-serifed', cv18 = 2
      S with single serif at top
      capital-s = 'bilateral-serifed', cv18 = 3
      S with serifs at both end (default for Slab)
      capital-s = 'unilateral-inward-serifed', cv18 = 4
      S with single inward serif at top
      capital-s = 'bilateral-inward-serifed', cv18 = 5
      S with inward serifs at both end
    • Styles for T:
      capital-t = 'serifless', cv19 = 1
      Serifless T (default for Sans)
      capital-t = 'motion-serifed', cv19 = 2
      Motion-Serifed T
      capital-t = 'serifed', cv19 = 3
      Serifed T (default for Slab)
    • Styles for U:
      capital-u = 'toothed-serifless', cv20 = 1
      U with toothed shape; without serifs
      capital-u = 'toothed-motion-serifed', cv20 = 2
      U with toothed shape, and motion serifs at top-left and bottom-right
      capital-u = 'toothed-serifed', cv20 = 3
      U with toothed shape, and serifs
      capital-u = 'tailed-serifless', cv20 = 4
      U with tailed shape; without serifs
      capital-u = 'tailed-motion-serifed', cv20 = 5
      U with tailed shape, and motion serifs at top-left and bottom-right
      capital-u = 'tailed-serifed', cv20 = 6
      U with tailed shape, and serifs
      capital-u = 'toothless-corner-serifless', cv20 = 7
      U with toothless (corner bottom-right) shape; without serifs
      capital-u = 'toothless-corner-unilateral-motion-serifed', cv20 = 8
      U with toothless (corner bottom-right) shape, and motion serifs at left side
      capital-u = 'toothless-corner-bilateral-motion-serifed', cv20 = 9
      U with toothless (corner bottom-right) shape, and motion serifs at both sides
      capital-u = 'toothless-corner-serifed', cv20 = 10
      U with toothless (corner bottom-right) shape, and serifs
      capital-u = 'toothless-rounded-serifless', cv20 = 11
      U with toothless (rounded) shape; without serifs (default for Sans)
      capital-u = 'toothless-rounded-unilateral-motion-serifed', cv20 = 12
      U with toothless (rounded) shape, and motion serifs at left side
      capital-u = 'toothless-rounded-bilateral-motion-serifed', cv20 = 13
      U with toothless (rounded) shape, and motion serifs at both sides
      capital-u = 'toothless-rounded-serifed', cv20 = 14
      U with toothless (rounded) shape, and serifs (default for Slab)
    • Styles for V:
      capital-v = 'straight-serifless', cv21 = 1
      V with straight shape; without serifs (default for Sans)
      capital-v = 'straight-motion-serifed', cv21 = 2
      V with straight shape, and motion serifs
      capital-v = 'straight-serifed', cv21 = 3
      V with straight shape, and serifs (default for Slab)
      capital-v = 'curly-serifless', cv21 = 4
      V with curly shape; without serifs
      capital-v = 'curly-motion-serifed', cv21 = 5
      V with curly shape, and motion serifs
      capital-v = 'curly-serifed', cv21 = 6
      V with curly shape, and serifs
    • Styles for W:
      capital-w = 'straight-serifless', cv22 = 1
      W with standard, straight body; without serifs (default for Sans)
      capital-w = 'straight-motion-serifed', cv22 = 2
      W with standard, straight body, and motion serifs
      capital-w = 'straight-serifed', cv22 = 3
      W with standard, straight body, and serifs (default for Slab)
      capital-w = 'curly-serifless', cv22 = 4
      W with curly body; without serifs
      capital-w = 'curly-motion-serifed', cv22 = 5
      W with curly body, and motion serifs
      capital-w = 'curly-serifed', cv22 = 6
      W with curly body, and serifs
      capital-w = 'straight-flat-top-serifless', cv22 = 7
      W with straight body shape that the middle is forced to be aligned the top; without serifs
      capital-w = 'straight-flat-top-motion-serifed', cv22 = 8
      W with straight body shape that the middle is forced to be aligned the top, and motion serifs
      capital-w = 'straight-flat-top-serifed', cv22 = 9
      W with straight body shape that the middle is forced to be aligned the top, and serifs
      capital-w = 'straight-double-v-serifless', cv22 = 10
      W with body shape like double V; without serifs
      capital-w = 'straight-double-v-motion-serifed', cv22 = 11
      W with body shape like double V, and motion serifs
      capital-w = 'straight-double-v-serifed', cv22 = 12
      W with body shape like double V, and serifs
      capital-w = 'straight-asymmetric-serifless', cv22 = 13
      W with asymmetric shape; without serifs
      capital-w = 'straight-asymmetric-motion-serifed', cv22 = 14
      W with asymmetric shape, and motion serifs
      capital-w = 'straight-asymmetric-serifed', cv22 = 15
      W with asymmetric shape, and serifs
      capital-w = 'straight-vertical-sides-serifless', cv22 = 16
      W with body shape with vertical sides; without serifs
      capital-w = 'straight-vertical-sides-motion-serifed', cv22 = 17
      W with body shape with vertical sides, and motion serifs
      capital-w = 'straight-vertical-sides-serifed', cv22 = 18
      W with body shape with vertical sides, and serifs
    • Styles for X:
      capital-x = 'straight-serifless', cv23 = 1
      X with straight shape; without serifs (default for Sans)
      capital-x = 'straight-motion-serifed', cv23 = 2
      X with straight shape, and motion serifs
      capital-x = 'straight-serifed', cv23 = 3
      X with straight shape, and serifs (default for Slab)
      capital-x = 'curly-serifless', cv23 = 4
      X with curly shape; without serifs
      capital-x = 'curly-motion-serifed', cv23 = 5
      X with curly shape, and motion serifs
      capital-x = 'curly-serifed', cv23 = 6
      X with curly shape, and serifs
    • Styles for Y:
      capital-y = 'straight-serifless', cv24 = 1
      Y with straight shape; without serifs (default for Sans)
      capital-y = 'straight-base-serifed', cv24 = 2
      Y with straight shape, and serifs at bottom
      capital-y = 'straight-motion-serifed', cv24 = 3
      Y with straight shape, and motion serifs
      capital-y = 'straight-serifed', cv24 = 4
      Y with straight shape, and serifs (default for Slab)
      capital-y = 'curly-serifless', cv24 = 5
      Y with curly shape; without serifs
      capital-y = 'curly-base-serifed', cv24 = 6
      Y with curly shape, and serifs at bottom
      capital-y = 'curly-motion-serifed', cv24 = 7
      Y with curly shape, and motion serifs
      capital-y = 'curly-serifed', cv24 = 8
      Y with curly shape, and serifs
    • Styles for Z:
      capital-z = 'straight-serifless', cv25 = 1
      Z with straight body shape; without serifs (default for Sans)
      capital-z = 'straight-serifless-with-crossbar', cv25 = 2
      Z with straight body shape, and a diagonal crossbar; without serifs
      capital-z = 'straight-serifless-with-horizontal-crossbar', cv25 = 3
      Z with straight body shape, and a horizontal crossbar; without serifs
      capital-z = 'straight-serifed', cv25 = 4
      Z with straight body shape, and serifs (default for Slab)
      capital-z = 'straight-serifed-with-crossbar', cv25 = 5
      Z with straight body shape, serifs, and a diagonal crossbar
      capital-z = 'straight-serifed-with-horizontal-crossbar', cv25 = 6
      Z with straight body shape, serifs, and a horizontal crossbar
      capital-z = 'straight-bottom-serifed', cv25 = 7
      Z with straight body shape, and serifs at bottom
      capital-z = 'straight-bottom-serifed-with-crossbar', cv25 = 8
      Z with straight body shape, serifs at bottom, and a diagonal crossbar
      capital-z = 'straight-bottom-serifed-with-horizontal-crossbar', cv25 = 9
      Z with straight body shape, serifs at bottom, and a horizontal crossbar
      capital-z = 'straight-top-serifed', cv25 = 10
      Z with straight body shape, and serifs at top
      capital-z = 'straight-top-serifed-with-crossbar', cv25 = 11
      Z with straight body shape, serifs at top, and a diagonal crossbar
      capital-z = 'straight-top-serifed-with-horizontal-crossbar', cv25 = 12
      Z with straight body shape, serifs at top, and a horizontal crossbar
      capital-z = 'curly-serifless', cv25 = 13
      Z with curly body shape; without serifs
      capital-z = 'curly-serifless-with-crossbar', cv25 = 14
      Z with curly body shape, and a diagonal crossbar; without serifs
      capital-z = 'curly-serifless-with-horizontal-crossbar', cv25 = 15
      Z with curly body shape, and a horizontal crossbar; without serifs
      capital-z = 'curly-serifed', cv25 = 16
      Z with curly body shape, and serifs
      capital-z = 'curly-serifed-with-crossbar', cv25 = 17
      Z with curly body shape, serifs, and a diagonal crossbar
      capital-z = 'curly-serifed-with-horizontal-crossbar', cv25 = 18
      Z with curly body shape, serifs, and a horizontal crossbar
      capital-z = 'curly-bottom-serifed', cv25 = 19
      Z with curly body shape, and serifs at bottom
      capital-z = 'curly-bottom-serifed-with-crossbar', cv25 = 20
      Z with curly body shape, serifs at bottom, and a diagonal crossbar
      capital-z = 'curly-bottom-serifed-with-horizontal-crossbar', cv25 = 21
      Z with curly body shape, serifs at bottom, and a horizontal crossbar
      capital-z = 'curly-top-serifed', cv25 = 22
      Z with curly body shape, and serifs at top
      capital-z = 'curly-top-serifed-with-crossbar', cv25 = 23
      Z with curly body shape, serifs at top, and a diagonal crossbar
      capital-z = 'curly-top-serifed-with-horizontal-crossbar', cv25 = 24
      Z with curly body shape, serifs at top, and a horizontal crossbar
      capital-z = 'cursive', cv25 = 25
      Z with cursive body shape
      capital-z = 'cursive-with-crossbar', cv25 = 26
      Z with cursive body shape, and a diagonal crossbar
      capital-z = 'cursive-with-horizontal-crossbar', cv25 = 27
      Z with cursive body shape, and a horizontal crossbar
    • Styles for a:
      a = 'double-storey-serifless', cv26 = 1
      a with double-storey body; without serif at terminal (default for Sans Upright)
      a = 'double-storey-tailed', cv26 = 2
      a with double-storey body, and curly tail
      a = 'double-storey-toothless-corner', cv26 = 3
      a with double-storey body, and toothless (cornered bottom-right)
      a = 'double-storey-toothless-rounded', cv26 = 4
      a with double-storey body, and toothless (rounded bottom-right)
      a = 'double-storey-serifed', cv26 = 5
      a with double-storey body, and serif at terminal (default for Slab Upright)
      a = 'single-storey-serifless', cv26 = 6
      a with single-storey body; without serif at terminal
      a = 'single-storey-tailed', cv26 = 7
      a with single-storey body, and curly tail (default for Italic)
      a = 'single-storey-serifed', cv26 = 8
      a with single-storey body, and serif at terminal
      a = 'single-storey-earless-corner-serifless', cv26 = 9
      a with single-storey body, and earless (cornered top-right); without serif at terminal
      a = 'single-storey-earless-corner-tailed', cv26 = 10
      a with single-storey body, earless (cornered top-right), and curly tail
      a = 'single-storey-earless-corner-serifed', cv26 = 11
      a with single-storey body, earless (cornered top-right), and serif at terminal
      a = 'single-storey-earless-rounded-serifless', cv26 = 12
      a with single-storey body, and earless (rounded top-right); without serif at terminal
      a = 'single-storey-earless-rounded-tailed', cv26 = 13
      a with single-storey body, earless (rounded top-right), and curly tail
      a = 'single-storey-earless-rounded-serifed', cv26 = 14
      a with single-storey body, earless (rounded top-right), and serif at terminal
    • Styles for b:
      b = 'toothed-serifless', cv27 = 1
      b with toothed shape; without serifs (default for Sans)
      b = 'toothed-motion-serifed', cv27 = 2
      b with toothed shape, and motion serifs
      b = 'toothed-serifed', cv27 = 3
      b with toothed shape, and serifs (default for Slab)
      b = 'toothless-corner-serifless', cv27 = 4
      b with toothless (cornered) shape; without serifs
      b = 'toothless-corner-serifed', cv27 = 5
      b with toothless (cornered) shape, and serifs
      b = 'toothless-rounded-serifless', cv27 = 6
      b with toothless (rounded) shape; without serifs
      b = 'toothless-rounded-serifed', cv27 = 7
      b with toothless (rounded) shape, and serifs
    • Styles for c:
      c = 'serifless', cv28 = 1
      Serifless c (default for Sans)
      c = 'unilateral-serifed', cv28 = 2
      c with serif at top (default for Slab Upright)
      c = 'bilateral-serifed', cv28 = 3
      c with serifs at both top and bottom
      c = 'unilateral-inward-serifed', cv28 = 4
      c with inward serif at top (default for Slab Italic)
      c = 'bilateral-inward-serifed', cv28 = 5
      c with inward serif at both top and bottom
    • Styles for d:
      d = 'toothed-serifless', cv29 = 1
      d with toothed shape; without serifs (default for Sans Upright)
      d = 'toothed-top-serifed', cv29 = 2
      d with toothed shape, and serif at top
      d = 'toothed-serifed', cv29 = 3
      d with toothed shape, and serif at top (default for Slab Upright)
      d = 'toothless-corner-serifless', cv29 = 4
      d with toothless (cornered) shape; without serifs
      d = 'toothless-corner-serifed', cv29 = 5
      d with toothless (cornered) shape, and serif at top
      d = 'toothless-rounded-serifless', cv29 = 6
      d with toothless (rounded) shape; without serifs
      d = 'toothless-rounded-serifed', cv29 = 7
      d with toothless (rounded) shape, and serif at top
      d = 'tailed-serifless', cv29 = 8
      d with tailed shape; without serifs (default for Sans Italic)
      d = 'tailed-serifed', cv29 = 9
      d with tailed shape, and serif at top (default for Slab Italic)
    • Styles for e:
      e = 'flat-crossbar', cv30 = 1
      e with flat crossbar (default for Upright)
      e = 'rounded', cv30 = 2
      e with more rounded shape (default for Italic)
    • Styles for f:
      f = 'serifless', cv31 = 1
      f without bottom serif, hook or extension (default for Sans Upright)
      f = 'serifless-crossbar-at-x-height', cv31 = 2
      f without bottom serif, hook or extension; with crossbar at X-height
      f = 'flat-hook-serifless', cv31 = 3
      f without bottom serif, hook or extension; with flat top hook
      f = 'flat-hook-serifless-crossbar-at-x-height', cv31 = 4
      f without bottom serif, hook or extension; with flat top hook, and crossbar at X-height
      f = 'serifed', cv31 = 5
      f with bottom serif (default for Slab Upright)
      f = 'serifed-crossbar-at-x-height', cv31 = 6
      f with bottom serif, and crossbar at X-height
      f = 'flat-hook-serifed', cv31 = 7
      f with flat top hook, and bottom serif
      f = 'flat-hook-serifed-crossbar-at-x-height', cv31 = 8
      f with flat top hook, bottom serif, and crossbar at X-height
      f = 'extended', cv31 = 9
      f with descending extension
      f = 'extended-crossbar-at-x-height', cv31 = 10
      f with descending extension, and crossbar at X-height
      f = 'flat-hook-extended', cv31 = 11
      f with flat top hook, and descending extension
      f = 'flat-hook-extended-crossbar-at-x-height', cv31 = 12
      f with flat top hook, descending extension, and crossbar at X-height
      f = 'tailed', cv31 = 13
      f with descending bottom hook
      f = 'tailed-crossbar-at-x-height', cv31 = 14
      f with descending bottom hook, and crossbar at X-height
      f = 'flat-hook-tailed', cv31 = 15
      f with flat top hook, and descending bottom hook (default for Italic)
      f = 'flat-hook-tailed-crossbar-at-x-height', cv31 = 16
      f with flat top hook, descending bottom hook, and crossbar at X-height
      f = 'diagonal-tailed', cv31 = 17
      f with diagonal tail
      f = 'diagonal-tailed-crossbar-at-x-height', cv31 = 18
      f with diagonal tail, and crossbar at X-height
      f = 'flat-hook-diagonal-tailed', cv31 = 19
      f with flat top hook, and diagonal tail
      f = 'flat-hook-diagonal-tailed-crossbar-at-x-height', cv31 = 20
      f with flat top hook, diagonal tail, and crossbar at X-height
    • Styles for g:
      g = 'double-storey', cv32 = 1
      g with double-storey shape
      g = 'double-storey-open', cv32 = 2
      g with double-storey shape, and open contour
      g = 'single-storey-serifless', cv32 = 3
      g with single-storey shape (default for Sans)
      g = 'single-storey-serifed', cv32 = 4
      g with single-storey shape, and top-right serif (default for Slab)
      g = 'single-storey-earless-corner', cv32 = 5
      g with single-storey shape, and earless (cornered top-right)
      g = 'single-storey-earless-rounded', cv32 = 6
      g with single-storey shape, and earless (rounded top-right)
      g = 'single-storey-flat-hook-serifless', cv32 = 7
      g with single-storey shape, and flat bottom hook
      g = 'single-storey-flat-hook-serifed', cv32 = 8
      g with single-storey shape, flat bottom hook, and top-right serif
      g = 'single-storey-flat-hook-earless-corner', cv32 = 9
      g with single-storey shape, flat bottom hook, and earless (cornered top-right)
      g = 'single-storey-flat-hook-earless-rounded', cv32 = 10
      g with single-storey shape, flat bottom hook, and earless (rounded top-right)
    • Styles for h:
      h = 'straight-serifless', cv33 = 1
      h with straight terminal; without serifs (default for Sans)
      h = 'straight-top-left-serifed', cv33 = 2
      h with straight terminal, and serif at top left
      h = 'straight-motion-serifed', cv33 = 3
      h with straight terminal, and serifs at top left and bottom right (default for Slab Italic)
      h = 'straight-serifed', cv33 = 4
      h with straight terminal, and serifs (default for Slab Upright)
      h = 'tailed-serifless', cv33 = 5
      h with curly tailed terminal; without serifs
      h = 'tailed-motion-serifed', cv33 = 6
      h with curly tailed terminal, and serifs at top left and bottom right
      h = 'tailed-serifed', cv33 = 7
      h with curly tailed terminal, and serifs
    • Styles for i:
      i = 'serifed', cv34 = 1
      Serifed i (default for Upright)
      i = 'zshaped', cv34 = 2
      Z-shaped i
      i = 'serifless', cv34 = 3
      i like a straight line
      i = 'hooky', cv34 = 4
      Hooky i
      i = 'hooky-bottom', cv34 = 5
      i with a sharp-turning horizontal tail
      i = 'serifed-asymmetric', cv34 = 6
      i with shorter top serif and full bottom serif
      i = 'tailed', cv34 = 7
      i with curly tail
      i = 'tailed-serifed', cv34 = 8
      i with top serif and curly tail (default for Italic)
      i = 'flat-tailed', cv34 = 9
      i with curly-then-flat tail
      i = 'serifed-flat-tailed', cv34 = 10
      i with top serif and curly-then-flat tail
      i = 'diagonal-tailed', cv34 = 11
      i with diagonal tail
      i = 'serifed-diagonal-tailed', cv34 = 12
      i with top serif and diagonal tail
    • Styles for j:
      j = 'serifless', cv35 = 1
      j without serif
      j = 'serifed', cv35 = 2
      j with top serif (default)
      j = 'straight-line', cv35 = 3
      j like a straight line
      j = 'hooky', cv35 = 4
      j like a straight line with top serif
      j = 'flat-hook-serifless', cv35 = 5
      j with flat terminal hook
      j = 'flat-hook-serifed', cv35 = 6
      j with flat terminal hook and top serif
      j = 'diagonal-tailed-serifless', cv35 = 7
      j with diagonal tail
      j = 'diagonal-tailed-serifed', cv35 = 8
      j with top serif and diagonal tail
    • Styles for k:
      k = 'straight-serifless', cv36 = 1
      k with standard shape; without serifs (default for Sans Upright)
      k = 'straight-top-left-serifed', cv36 = 2
      k with standard shape, and serifs at top left
      k = 'straight-bottom-right-serifed', cv36 = 3
      k with standard shape, and serifs at bottom right
      k = 'straight-top-left-and-bottom-right-serifed', cv36 = 4
      k with standard shape, and serifs at top left and bottom right
      k = 'straight-serifed', cv36 = 5
      k with standard shape, and serifs (default for Slab Upright)
      k = 'curly-serifless', cv36 = 6
      k with curly shape; without serifs
      k = 'curly-top-left-serifed', cv36 = 7
      k with curly shape, and serifs at top left
      k = 'curly-bottom-right-serifed', cv36 = 8
      k with curly shape, and serifs at bottom right
      k = 'curly-top-left-and-bottom-right-serifed', cv36 = 9
      k with curly shape, and serifs at top left and bottom right
      k = 'curly-serifed', cv36 = 10
      k with curly shape, and serifs
      k = 'symmetric-touching-serifless', cv36 = 11
      k with symmetric legs touching the vertical bar; without serifs
      k = 'symmetric-touching-top-left-serifed', cv36 = 12
      k with symmetric legs touching the vertical bar, and serifs at top left
      k = 'symmetric-touching-bottom-right-serifed', cv36 = 13
      k with symmetric legs touching the vertical bar, and serifs at bottom right
      k = 'symmetric-touching-top-left-and-bottom-right-serifed', cv36 = 14
      k with symmetric legs touching the vertical bar, and serifs at top left and bottom right
      k = 'symmetric-touching-serifed', cv36 = 15
      k with symmetric legs touching the vertical bar, and serifs
      k = 'symmetric-connected-serifless', cv36 = 16
      k with symmetric legs connected to the vertical bar; without serifs
      k = 'symmetric-connected-top-left-serifed', cv36 = 17
      k with symmetric legs connected to the vertical bar, and serifs at top left
      k = 'symmetric-connected-bottom-right-serifed', cv36 = 18
      k with symmetric legs connected to the vertical bar, and serifs at bottom right
      k = 'symmetric-connected-top-left-and-bottom-right-serifed', cv36 = 19
      k with symmetric legs connected to the vertical bar, and serifs at top left and bottom right
      k = 'symmetric-connected-serifed', cv36 = 20
      k with symmetric legs connected to the vertical bar, and serifs
      k = 'cursive-serifless', cv36 = 21
      k with cursive loop; without serifs (default for Sans Italic)
      k = 'cursive-top-left-serifed', cv36 = 22
      k with cursive loop, and serifs at top left
      k = 'cursive-bottom-right-serifed', cv36 = 23
      k with cursive loop, and serifs at bottom right
      k = 'cursive-top-left-and-bottom-right-serifed', cv36 = 24
      k with cursive loop, and serifs at top left and bottom right
      k = 'cursive-serifed', cv36 = 25
      k with cursive loop, and serifs
      k = 'diagonal-tailed-cursive-serifless', cv36 = 26
      k with cursive loop plus diagonal tail; without serifs
      k = 'diagonal-tailed-cursive-top-left-serifed', cv36 = 27
      k with cursive loop plus diagonal tail, and serifs at top left (default for Slab Italic)
    • Styles for l:
      l = 'serifed', cv37 = 1
      Serifed l (default for Upright)
      l = 'serifless', cv37 = 2
      l like a straight line
      l = 'hooky', cv37 = 3
      Hooky l
      l = 'zshaped', cv37 = 4
      Z-shaped l
      l = 'hooky-bottom', cv37 = 5
      l with a straight sharp-turning horizontal tail
      l = 'serifed-asymmetric', cv37 = 6
      l with shorter top serif and full bottom serif
      l = 'tailed', cv37 = 7
      l with curly tail
      l = 'tailed-serifed', cv37 = 8
      l with top serif and curly tail (default for Italic)
      l = 'flat-tailed', cv37 = 9
      l with curly-then-flat tail
      l = 'serifed-flat-tailed', cv37 = 10
      l with top serif and curly-then-flat tail
      l = 'diagonal-tailed', cv37 = 11
      l with diagonal tail
      l = 'serifed-diagonal-tailed', cv37 = 12
      l with top serif and diagonal tail
    • Styles for m:
      m = 'serifless', cv38 = 1
      m with eared body shape, and normal middle leg; without serifs (default for Sans)
      m = 'top-left-serifed', cv38 = 2
      m with eared body shape, normal middle leg, and serif at top left
      m = 'top-left-and-bottom-right-serifed', cv38 = 3
      m with eared body shape, normal middle leg, and serifs at top left and bottom right (default for Slab Italic)
      m = 'serifed', cv38 = 4
      m with eared body shape, normal middle leg, and serifs (default for Slab Upright)
      m = 'tailed-serifless', cv38 = 5
      m with eared body shape, normal middle leg, and tail; without serifs
      m = 'tailed-top-left-serifed', cv38 = 6
      m with eared body shape, normal middle leg, tail, and serif at top left
      m = 'tailed-serifed', cv38 = 7
      m with eared body shape, normal middle leg, tail, and serifs
      m = 'short-leg-serifless', cv38 = 8
      m with eared body shape, and shorter middle leg (like Ubuntu Mono); without serifs
      m = 'short-leg-top-left-serifed', cv38 = 9
      m with eared body shape, shorter middle leg (like Ubuntu Mono), and serif at top left
      m = 'short-leg-top-left-and-bottom-right-serifed', cv38 = 10
      m with eared body shape, shorter middle leg (like Ubuntu Mono), and serifs at top left and bottom right
      m = 'short-leg-serifed', cv38 = 11
      m with eared body shape, shorter middle leg (like Ubuntu Mono), and serifs
      m = 'short-leg-tailed-serifless', cv38 = 12
      m with eared body shape, shorter middle leg (like Ubuntu Mono), and tail; without serifs
      m = 'short-leg-tailed-top-left-serifed', cv38 = 13
      m with eared body shape, shorter middle leg (like Ubuntu Mono), tail, and serif at top left
      m = 'short-leg-tailed-serifed', cv38 = 14
      m with eared body shape, shorter middle leg (like Ubuntu Mono), tail, and serifs
      m = 'earless-corner-double-arch-serifless', cv38 = 15
      m with earless (corner top-left) double-arch body shape, and normal middle leg; without serifs
      m = 'earless-corner-double-arch-serifed', cv38 = 16
      m with earless (corner top-left) double-arch body shape, normal middle leg, and serifs
      m = 'earless-corner-double-arch-tailed-serifless', cv38 = 17
      m with earless (corner top-left) double-arch body shape, normal middle leg, and tail; without serifs
      m = 'earless-corner-double-arch-tailed-serifed', cv38 = 18
      m with earless (corner top-left) double-arch body shape, normal middle leg, tail, and serifs
      m = 'earless-corner-double-arch-short-leg-serifless', cv38 = 19
      m with earless (corner top-left) double-arch body shape, and shorter middle leg (like Ubuntu Mono); without serifs
      m = 'earless-corner-double-arch-short-leg-serifed', cv38 = 20
      m with earless (corner top-left) double-arch body shape, shorter middle leg (like Ubuntu Mono), and serifs
      m = 'earless-corner-double-arch-short-leg-tailed-serifless', cv38 = 21
      m with earless (corner top-left) double-arch body shape, shorter middle leg (like Ubuntu Mono), and tail; without serifs
      m = 'earless-corner-double-arch-short-leg-tailed-serifed', cv38 = 22
      m with earless (corner top-left) double-arch body shape, shorter middle leg (like Ubuntu Mono), tail, and serifs
      m = 'earless-rounded-double-arch-serifless', cv38 = 23
      m with earless (rounded top-left) double-arch body shape, and normal middle leg; without serifs
      m = 'earless-rounded-double-arch-serifed', cv38 = 24
      m with earless (rounded top-left) double-arch body shape, normal middle leg, and serifs
      m = 'earless-rounded-double-arch-tailed-serifless', cv38 = 25
      m with earless (rounded top-left) double-arch body shape, normal middle leg, and tail; without serifs
      m = 'earless-rounded-double-arch-tailed-serifed', cv38 = 26
      m with earless (rounded top-left) double-arch body shape, normal middle leg, tail, and serifs
      m = 'earless-rounded-double-arch-short-leg-serifless', cv38 = 27
      m with earless (rounded top-left) double-arch body shape, and shorter middle leg (like Ubuntu Mono); without serifs
      m = 'earless-rounded-double-arch-short-leg-serifed', cv38 = 28
      m with earless (rounded top-left) double-arch body shape, shorter middle leg (like Ubuntu Mono), and serifs
      m = 'earless-rounded-double-arch-short-leg-tailed-serifless', cv38 = 29
      m with earless (rounded top-left) double-arch body shape, shorter middle leg (like Ubuntu Mono), and tail; without serifs
      m = 'earless-rounded-double-arch-short-leg-tailed-serifed', cv38 = 30
      m with earless (rounded top-left) double-arch body shape, shorter middle leg (like Ubuntu Mono), tail, and serifs
      m = 'earless-single-arch-serifless', cv38 = 31
      m with earless (corner top-left) body shape, and normal middle leg; without serifs
      m = 'earless-single-arch-serifed', cv38 = 32
      m with earless (corner top-left) body shape, normal middle leg, and serifs
      m = 'earless-single-arch-tailed-serifless', cv38 = 33
      m with earless (corner top-left) body shape, normal middle leg, and tail; without serifs
      m = 'earless-single-arch-tailed-serifed', cv38 = 34
      m with earless (corner top-left) body shape, normal middle leg, tail, and serifs
      m = 'earless-single-arch-short-leg-serifless', cv38 = 35
      m with earless (corner top-left) body shape, and shorter middle leg (like Ubuntu Mono); without serifs
      m = 'earless-single-arch-short-leg-serifed', cv38 = 36
      m with earless (corner top-left) body shape, shorter middle leg (like Ubuntu Mono), and serifs
      m = 'earless-single-arch-short-leg-tailed-serifless', cv38 = 37
      m with earless (corner top-left) body shape, shorter middle leg (like Ubuntu Mono), and tail; without serifs
      m = 'earless-single-arch-short-leg-tailed-serifed', cv38 = 38
      m with earless (corner top-left) body shape, shorter middle leg (like Ubuntu Mono), tail, and serifs
    • Styles for n:
      n = 'straight-serifless', cv39 = 1
      n with straight terminal; without serifs (default for Sans)
      n = 'straight-top-left-serifed', cv39 = 2
      n with straight terminal, and serif at top left
      n = 'straight-motion-serifed', cv39 = 3
      n with straight terminal, and serif at top left and bottom right (default for Slab Italic)
      n = 'straight-serifed', cv39 = 4
      n with straight terminal, and serifs (default for Slab Upright)
      n = 'tailed-serifless', cv39 = 5
      n with tailed terminal; without serifs
      n = 'tailed-motion-serifed', cv39 = 6
      n with tailed terminal, and serif at top left and bottom right
      n = 'tailed-serifed', cv39 = 7
      n with tailed terminal, and serifs
      n = 'earless-corner-straight-serifless', cv39 = 8
      n with earless (corner top-left) body shape, and straight terminal; without serifs
      n = 'earless-corner-straight-serifed', cv39 = 9
      n with earless (corner top-left) body shape, straight terminal, and serifs
      n = 'earless-corner-tailed-serifless', cv39 = 10
      n with earless (corner top-left) body shape, and tailed terminal; without serifs
      n = 'earless-corner-tailed-serifed', cv39 = 11
      n with earless (corner top-left) body shape, tailed terminal, and serifs
      n = 'earless-rounded-straight-serifless', cv39 = 12
      n with earless (rounded top-left) body shape, and straight terminal; without serifs
      n = 'earless-rounded-straight-serifed', cv39 = 13
      n with earless (rounded top-left) body shape, straight terminal, and serifs
      n = 'earless-rounded-tailed-serifless', cv39 = 14
      n with earless (rounded top-left) body shape, and tailed terminal; without serifs
      n = 'earless-rounded-tailed-serifed', cv39 = 15
      n with earless (rounded top-left) body shape, tailed terminal, and serifs
    • Styles for p:
      p = 'eared-serifless', cv40 = 1
      p with eared shape; without serifs (default for Sans)
      p = 'eared-motion-serifed', cv40 = 2
      p with eared shape, and motion serifs
      p = 'eared-serifed', cv40 = 3
      p with eared shape, and serifs (default for Slab)
      p = 'earless-corner-serifless', cv40 = 4
      p with earless (cornered) shape; without serifs
      p = 'earless-corner-serifed', cv40 = 5
      p with earless (cornered) shape, and serifs
      p = 'earless-rounded-serifless', cv40 = 6
      p with earless (rounded) shape; without serifs
      p = 'earless-rounded-serifed', cv40 = 7
      p with earless (rounded) shape, and serifs
    • Styles for q:
      q = 'straight-serifless', cv41 = 1
      q with straight terminal; without serifs (default for Sans)
      q = 'straight-motion-serifed', cv41 = 2
      q with straight terminal, and motion serifs
      q = 'straight-serifed', cv41 = 3
      q with straight terminal, and serifs (default for Slab)
      q = 'tailed-serifless', cv41 = 4
      q with tailed terminal; without serifs
      q = 'tailed-motion-serifed', cv41 = 5
      q with tailed terminal, and motion serifs
      q = 'diagonal-tailed-serifless', cv41 = 6
      q with diagonally tailed terminal; without serifs
      q = 'diagonal-tailed-motion-serifed', cv41 = 7
      q with diagonally tailed terminal, and motion serifs
      q = 'earless-corner-straight-serifless', cv41 = 8
      q with earless (cornered) shape, and straight terminal; without serifs
      q = 'earless-corner-straight-serifed', cv41 = 9
      q with earless (cornered) shape, straight terminal, and serifs
      q = 'earless-corner-tailed-serifless', cv41 = 10
      q with earless (cornered) shape, and tailed terminal; without serifs
      q = 'earless-corner-diagonal-tailed-serifless', cv41 = 11
      q with earless (cornered) shape, and diagonally tailed terminal; without serifs
      q = 'earless-rounded-straight-serifless', cv41 = 12
      q with earless (rounded) shape, and straight terminal; without serifs
      q = 'earless-rounded-straight-serifed', cv41 = 13
      q with earless (rounded) shape, straight terminal, and serifs
      q = 'earless-rounded-tailed-serifless', cv41 = 14
      q with earless (rounded) shape, and tailed terminal; without serifs
      q = 'earless-rounded-diagonal-tailed-serifless', cv41 = 15
      q with earless (rounded) shape, and diagonally tailed terminal; without serifs
    • Styles for r:
      r = 'serifless', cv42 = 1
      r with normal body shape; without serifs (default for Sans)
      r = 'top-serifed', cv42 = 2
      r with normal body shape, and serif at top (default for Slab Italic)
      r = 'base-serifed', cv42 = 3
      r with normal body shape, and serif at bottom
      r = 'serifed', cv42 = 4
      r with normal body shape, and serifs (default for Slab Upright)
      r = 'earless-corner-serifless', cv42 = 5
      r with earless (corner top-left) body shape; without serifs
      r = 'earless-corner-serifed', cv42 = 6
      r with earless (corner top-left) body shape, and serifs
      r = 'earless-rounded-serifless', cv42 = 7
      r with earless (rounded top-left) body shape; without serifs
      r = 'earless-rounded-serifed', cv42 = 8
      r with earless (rounded top-left) body shape, and serifs
      r = 'hookless-serifless', cv42 = 9
      r with hookless body shape; without serifs
      r = 'hookless-top-serifed', cv42 = 10
      r with hookless body shape, and serif at top
      r = 'hookless-base-serifed', cv42 = 11
      r with hookless body shape, and serif at bottom
      r = 'hookless-serifed', cv42 = 12
      r with hookless body shape, and serifs
      r = 'corner-hooked-serifless', cv42 = 13
      r with corner-hooked body shape; without serifs
      r = 'corner-hooked-top-serifed', cv42 = 14
      r with corner-hooked body shape, and serif at top
      r = 'corner-hooked-base-serifed', cv42 = 15
      r with corner-hooked body shape, and serif at bottom
      r = 'corner-hooked-serifed', cv42 = 16
      r with corner-hooked body shape, and serifs
      r = 'compact-serifless', cv42 = 17
      r with compact body shape (identical to 'hookless' for monospace fonts); without serifs
      r = 'compact-top-serifed', cv42 = 18
      r with compact body shape (identical to 'hookless' for monospace fonts), and serif at top
      r = 'compact-base-serifed', cv42 = 19
      r with compact body shape (identical to 'hookless' for monospace fonts), and serif at bottom
      r = 'compact-serifed', cv42 = 20
      r with compact body shape (identical to 'hookless' for monospace fonts), and serifs
    • Styles for s:
      s = 'serifless', cv43 = 1
      Serifless s (default for Sans)
      s = 'unilateral-serifed', cv43 = 2
      s with single serif at top
      s = 'bilateral-serifed', cv43 = 3
      s with serifs at both end (default for Slab Upright)
      s = 'unilateral-inward-serifed', cv43 = 4
      s with single inward serif at top
      s = 'bilateral-inward-serifed', cv43 = 5
      s with inward serifs at both end (default for Slab Italic)
    • Styles for t:
      t = 'bent-hook', cv44 = 1
      t with bent hook, and crossbar at both sides of the vertical stem (default)
      t = 'flat-hook', cv44 = 2
      t with flat hook, and crossbar at both sides of the vertical stem
      t = 'diagonal-tailed', cv44 = 3
      t with diagonal tail, and crossbar at both sides of the vertical stem
      t = 'hookless', cv44 = 4
      t with crossbar at both sides of the vertical stem; without hook or tail
      t = 'bent-hook-asymmetric', cv44 = 5
      t with bent hook, and crossbar at only right side of the vertical stem
      t = 'flat-hook-asymmetric', cv44 = 6
      t with flat hook, and crossbar at only right side of the vertical stem
      t = 'diagonal-tailed-asymmetric', cv44 = 7
      t with diagonal tail, and crossbar at only right side of the vertical stem
      t = 'hookless-asymmetric', cv44 = 8
      t with crossbar at only right side of the vertical stem; without hook or tail
      t = 'bent-hook-short-neck', cv44 = 9
      t with bent hook, crossbar at both sides of the vertical stem, and a shorter neck
      t = 'flat-hook-short-neck', cv44 = 10
      t with flat hook, crossbar at both sides of the vertical stem, and a shorter neck
      t = 'diagonal-tailed-short-neck', cv44 = 11
      t with diagonal tail, crossbar at both sides of the vertical stem, and a shorter neck
      t = 'hookless-short-neck', cv44 = 12
      t with crossbar at both sides of the vertical stem, and a shorter neck; without hook or tail
      t = 'bent-hook-asymmetric-short-neck', cv44 = 13
      t with bent hook, crossbar at only right side of the vertical stem, and a shorter neck
      t = 'flat-hook-asymmetric-short-neck', cv44 = 14
      t with flat hook, crossbar at only right side of the vertical stem, and a shorter neck
      t = 'diagonal-tailed-asymmetric-short-neck', cv44 = 15
      t with diagonal tail, crossbar at only right side of the vertical stem, and a shorter neck
      t = 'hookless-asymmetric-short-neck', cv44 = 16
      t with crossbar at only right side of the vertical stem, and a shorter neck; without hook or tail
      t = 'bent-hook-short-neck2', cv44 = 17
      t with bent hook, crossbar at both sides of the vertical stem, and a more shorter neck
      t = 'flat-hook-short-neck2', cv44 = 18
      t with flat hook, crossbar at both sides of the vertical stem, and a more shorter neck
      t = 'diagonal-tailed-short-neck2', cv44 = 19
      t with diagonal tail, crossbar at both sides of the vertical stem, and a more shorter neck
      t = 'hookless-short-neck2', cv44 = 20
      t with crossbar at both sides of the vertical stem, and a more shorter neck; without hook or tail
      t = 'bent-hook-asymmetric-short-neck2', cv44 = 21
      t with bent hook, crossbar at only right side of the vertical stem, and a more shorter neck
      t = 'flat-hook-asymmetric-short-neck2', cv44 = 22
      t with flat hook, crossbar at only right side of the vertical stem, and a more shorter neck
      t = 'diagonal-tailed-asymmetric-short-neck2', cv44 = 23
      t with diagonal tail, crossbar at only right side of the vertical stem, and a more shorter neck
      t = 'hookless-asymmetric-short-neck2', cv44 = 24
      t with crossbar at only right side of the vertical stem, and a more shorter neck; without hook or tail
    • Styles for u:
      u = 'toothed-serifless', cv45 = 1
      u with toothed shape; without serifs (default for Sans Upright)
      u = 'toothed-motion-serifed', cv45 = 2
      u with toothed shape, and motion serifs at top-left and bottom-right
      u = 'toothed-bottom-right-serifed', cv45 = 3
      u with toothed shape, and motion serifs at left side
      u = 'toothed-serifed', cv45 = 4
      u with toothed shape, and serifs (default for Slab Upright)
      u = 'tailed-serifless', cv45 = 5
      u with tailed shape; without serifs (default for Sans Italic)
      u = 'tailed-motion-serifed', cv45 = 6
      u with tailed shape, and motion serifs at top-left and bottom-right
      u = 'tailed-serifed', cv45 = 7
      u with tailed shape, and serifs (default for Slab Italic)
      u = 'toothless-corner-serifless', cv45 = 8
      u with toothless (corner bottom-right) shape; without serifs
      u = 'toothless-corner-motion-serifed', cv45 = 9
      u with toothless (corner bottom-right) shape, and motion serifs at top-left and bottom-right
      u = 'toothless-corner-serifed', cv45 = 10
      u with toothless (corner bottom-right) shape, and serifs
      u = 'toothless-rounded-serifless', cv45 = 11
      u with toothless (rounded) shape; without serifs
      u = 'toothless-rounded-motion-serifed', cv45 = 12
      u with toothless (rounded) shape, and motion serifs at top-left and bottom-right
      u = 'toothless-rounded-serifed', cv45 = 13
      u with toothless (rounded) shape, and serifs
    • Styles for v:
      v = 'straight-serifless', cv46 = 1
      v with straight body; without serifs (default for Sans)
      v = 'straight-motion-serifed', cv46 = 2
      v with straight body, and motion serifs (default for Slab Italic)
      v = 'straight-serifed', cv46 = 3
      v with straight body, and serifs (default for Slab Upright)
      v = 'curly-serifless', cv46 = 4
      v with curly body; without serifs
      v = 'curly-motion-serifed', cv46 = 5
      v with curly body, and motion serifs
      v = 'curly-serifed', cv46 = 6
      v with curly body, and serifs
      v = 'cursive-serifless', cv46 = 7
      v with cursive body; without serifs
      v = 'cursive-serifed', cv46 = 8
      v with cursive body, and serifs
    • Styles for w:
      w = 'straight-serifless', cv47 = 1
      w with standard, straight body; without serifs (default for Sans)
      w = 'straight-motion-serifed', cv47 = 2
      w with standard, straight body, and motion serifs (default for Slab Italic)
      w = 'straight-serifed', cv47 = 3
      w with standard, straight body, and serifs (default for Slab Upright)
      w = 'curly-serifless', cv47 = 4
      w with curly body; without serifs
      w = 'curly-motion-serifed', cv47 = 5
      w with curly body, and motion serifs
      w = 'curly-serifed', cv47 = 6
      w with curly body, and serifs
      w = 'straight-vertical-sides-serifless', cv47 = 7
      w with body shape with vertical sides; without serifs
      w = 'straight-vertical-sides-motion-serifed', cv47 = 8
      w with body shape with vertical sides, and motion serifs
      w = 'straight-vertical-sides-serifed', cv47 = 9
      w with body shape with vertical sides, and serifs
      w = 'straight-flat-top-serifless', cv47 = 10
      w with straight body shape that the middle is forced to be aligned the top; without serifs
      w = 'straight-flat-top-motion-serifed', cv47 = 11
      w with straight body shape that the middle is forced to be aligned the top, and motion serifs
      w = 'straight-flat-top-serifed', cv47 = 12
      w with straight body shape that the middle is forced to be aligned the top, and serifs
      w = 'straight-double-v-serifless', cv47 = 13
      w with body shape like double V; without serifs
      w = 'straight-double-v-motion-serifed', cv47 = 14
      w with body shape like double V, and motion serifs
      w = 'straight-double-v-serifed', cv47 = 15
      w with body shape like double V, and serifs
      w = 'straight-asymmetric-serifless', cv47 = 16
      w with asymmetric shape; without serifs
      w = 'straight-asymmetric-motion-serifed', cv47 = 17
      w with asymmetric shape, and motion serifs
      w = 'straight-asymmetric-serifed', cv47 = 18
      w with asymmetric shape, and serifs
      w = 'cursive-serifless', cv47 = 19
      w with cursive shape; without serifs
      w = 'cursive-serifed', cv47 = 20
      w with cursive shape, and serifs
    • Styles for x:
      x = 'straight-serifless', cv48 = 1
      x with straight shape; without serifs (default for Sans)
      x = 'straight-motion-serifed', cv48 = 2
      x with straight shape, and motion serifs
      x = 'straight-serifed', cv48 = 3
      x with straight shape, and serifs (default for Slab Upright)
      x = 'curly-serifless', cv48 = 4
      x with curly shape; without serifs
      x = 'curly-motion-serifed', cv48 = 5
      x with curly shape, and motion serifs
      x = 'curly-serifed', cv48 = 6
      x with curly shape, and serifs
      x = 'cursive', cv48 = 7
      x with cursive shape (default for Slab Italic)
    • Styles for y:
      y = 'straight-serifless', cv49 = 1
      y with straight shape; without serifs (default for Sans Upright)
      y = 'straight-motion-serifed', cv49 = 2
      y with straight shape, and motion serifs
      y = 'straight-serifed', cv49 = 3
      y with straight shape, and serifs
      y = 'straight-turn-serifless', cv49 = 4
      y with straight shape, and a tail turns leftward; without serifs
      y = 'straight-turn-motion-serifed', cv49 = 5
      y with straight shape, a tail turns leftward, and motion serifs
      y = 'straight-turn-serifed', cv49 = 6
      y with straight shape, a tail turns leftward, and serifs (default for Slab Upright)
      y = 'curly-serifless', cv49 = 7
      y with curly shape; without serifs
      y = 'curly-motion-serifed', cv49 = 8
      y with curly shape, and motion serifs
      y = 'curly-serifed', cv49 = 9
      y with curly shape, and serifs
      y = 'curly-turn-serifless', cv49 = 10
      y with curly shape, and a tail turns leftward; without serifs
      y = 'curly-turn-motion-serifed', cv49 = 11
      y with curly shape, a tail turns leftward, and motion serifs
      y = 'curly-turn-serifed', cv49 = 12
      y with curly shape, a tail turns leftward, and serifs
      y = 'cursive-serifless', cv49 = 13
      y with cursive shape; without serifs (default for Sans Italic)
      y = 'cursive-motion-serifed', cv49 = 14
      y with cursive shape, and motion serifs (default for Slab Italic)
      y = 'cursive-serifed', cv49 = 15
      y with cursive shape, and serifs
      y = 'cursive-flat-hook-serifless', cv49 = 16
      y with cursive shape, and a flat terminal hook; without serifs
      y = 'cursive-flat-hook-motion-serifed', cv49 = 17
      y with cursive shape, a flat terminal hook, and motion serifs
      y = 'cursive-flat-hook-serifed', cv49 = 18
      y with cursive shape, a flat terminal hook, and serifs
    • Styles for z:
      z = 'straight-serifless', cv50 = 1
      z with straight body shape; without serifs (default for Sans)
      z = 'straight-serifless-with-crossbar', cv50 = 2
      z with straight body shape, and a diagonal crossbar; without serifs
      z = 'straight-serifless-with-horizontal-crossbar', cv50 = 3
      z with straight body shape, and a horizontal crossbar; without serifs
      z = 'straight-serifed', cv50 = 4
      z with straight body shape, and serifs (default for Slab Upright)
      z = 'straight-serifed-with-crossbar', cv50 = 5
      z with straight body shape, serifs, and a diagonal crossbar
      z = 'straight-serifed-with-horizontal-crossbar', cv50 = 6
      z with straight body shape, serifs, and a horizontal crossbar
      z = 'straight-bottom-serifed', cv50 = 7
      z with straight body shape, and serifs at bottom
      z = 'straight-bottom-serifed-with-crossbar', cv50 = 8
      z with straight body shape, serifs at bottom, and a diagonal crossbar
      z = 'straight-bottom-serifed-with-horizontal-crossbar', cv50 = 9
      z with straight body shape, serifs at bottom, and a horizontal crossbar
      z = 'straight-top-serifed', cv50 = 10
      z with straight body shape, and serifs at top
      z = 'straight-top-serifed-with-crossbar', cv50 = 11
      z with straight body shape, serifs at top, and a diagonal crossbar
      z = 'straight-top-serifed-with-horizontal-crossbar', cv50 = 12
      z with straight body shape, serifs at top, and a horizontal crossbar
      z = 'curly-serifless', cv50 = 13
      z with curly body shape; without serifs
      z = 'curly-serifless-with-crossbar', cv50 = 14
      z with curly body shape, and a diagonal crossbar; without serifs
      z = 'curly-serifless-with-horizontal-crossbar', cv50 = 15
      z with curly body shape, and a horizontal crossbar; without serifs
      z = 'curly-serifed', cv50 = 16
      z with curly body shape, and serifs
      z = 'curly-serifed-with-crossbar', cv50 = 17
      z with curly body shape, serifs, and a diagonal crossbar
      z = 'curly-serifed-with-horizontal-crossbar', cv50 = 18
      z with curly body shape, serifs, and a horizontal crossbar
      z = 'curly-bottom-serifed', cv50 = 19
      z with curly body shape, and serifs at bottom
      z = 'curly-bottom-serifed-with-crossbar', cv50 = 20
      z with curly body shape, serifs at bottom, and a diagonal crossbar
      z = 'curly-bottom-serifed-with-horizontal-crossbar', cv50 = 21
      z with curly body shape, serifs at bottom, and a horizontal crossbar
      z = 'curly-top-serifed', cv50 = 22
      z with curly body shape, and serifs at top
      z = 'curly-top-serifed-with-crossbar', cv50 = 23
      z with curly body shape, serifs at top, and a diagonal crossbar
      z = 'curly-top-serifed-with-horizontal-crossbar', cv50 = 24
      z with curly body shape, serifs at top, and a horizontal crossbar
      z = 'cursive', cv50 = 25
      z with cursive body shape (default for Slab Italic)
      z = 'cursive-with-crossbar', cv50 = 26
      z with cursive body shape, and a diagonal crossbar
      z = 'cursive-with-horizontal-crossbar', cv50 = 27
      z with cursive body shape, and a horizontal crossbar
    • Styles for ſ (Long-S):
      long-s = 'bent-hook-serifless', cv51 = 1
      Long S (ſ) with bending top hook; without serifs (default for Sans Upright)
      long-s = 'bent-hook-middle-serifed', cv51 = 2
      Long S (ſ) with bending top hook, and middle serif
      long-s = 'bent-hook-middle-serifed-xh', cv51 = 3
      Long S (ſ) with bending top hook, and middle serif at x-height
      long-s = 'bent-hook-bottom-serifed', cv51 = 4
      Long S (ſ) with bending top hook, and bottom serif (default for Slab Upright)
      long-s = 'bent-hook-double-serifed', cv51 = 5
      Long S (ſ) with bending top hook, and bottom and middle serifs
      long-s = 'bent-hook-double-serifed-xh', cv51 = 6
      Long S (ſ) with bending top hook, and bottom and middle serifs at x-height
      long-s = 'flat-hook-serifless', cv51 = 7
      Long S (ſ) with flat top hook; without serifs
      long-s = 'flat-hook-middle-serifed', cv51 = 8
      Long S (ſ) with flat top hook, and middle serif
      long-s = 'flat-hook-middle-serifed-xh', cv51 = 9
      Long S (ſ) with flat top hook, and middle serif at x-height
      long-s = 'flat-hook-bottom-serifed', cv51 = 10
      Long S (ſ) with flat top hook, and bottom serif
      long-s = 'flat-hook-double-serifed', cv51 = 11
      Long S (ſ) with flat top hook, and bottom and middle serifs
      long-s = 'flat-hook-double-serifed-xh', cv51 = 12
      Long S (ſ) with flat top hook, and bottom and middle serifs at x-height
      long-s = 'bent-hook-descending', cv51 = 13
      Long S (ſ) with bending top hook, and terminal descends baseline; without serifs
      long-s = 'bent-hook-descending-middle-serifed', cv51 = 14
      Long S (ſ) with bending top hook, terminal descends baseline, and middle serif
      long-s = 'bent-hook-descending-middle-serifed-xh', cv51 = 15
      Long S (ſ) with bending top hook, terminal descends baseline, and middle serif at x-height
      long-s = 'flat-hook-descending', cv51 = 16
      Long S (ſ) with flat top hook, and terminal descends baseline; without serifs
      long-s = 'flat-hook-descending-middle-serifed', cv51 = 17
      Long S (ſ) with flat top hook, terminal descends baseline, and middle serif
      long-s = 'flat-hook-descending-middle-serifed-xh', cv51 = 18
      Long S (ſ) with flat top hook, terminal descends baseline, and middle serif at x-height
      long-s = 'bent-hook-tailed', cv51 = 19
      Long S (ſ) with bending top hook, and terminal has a tail; without serifs
      long-s = 'bent-hook-tailed-middle-serifed', cv51 = 20
      Long S (ſ) with bending top hook, terminal has a tail, and middle serif
      long-s = 'bent-hook-tailed-middle-serifed-xh', cv51 = 21
      Long S (ſ) with bending top hook, terminal has a tail, and middle serif at x-height
      long-s = 'flat-hook-tailed', cv51 = 22
      Long S (ſ) with flat top hook, and terminal has a tail; without serifs (default for Italic)
      long-s = 'flat-hook-tailed-middle-serifed', cv51 = 23
      Long S (ſ) with flat top hook, terminal has a tail, and middle serif
      long-s = 'flat-hook-tailed-middle-serifed-xh', cv51 = 24
      Long S (ſ) with flat top hook, terminal has a tail, and middle serif at x-height
      long-s = 'bent-hook-diagonal-tailed', cv51 = 25
      Long S (ſ) with bending top hook, and terminal has a diagonal tail; without serifs
      long-s = 'bent-hook-diagonal-tailed-middle-serifed', cv51 = 26
      Long S (ſ) with bending top hook, terminal has a diagonal tail, and middle serif
      long-s = 'bent-hook-diagonal-tailed-middle-serifed-xh', cv51 = 27
      Long S (ſ) with bending top hook, terminal has a diagonal tail, and middle serif at x-height
      long-s = 'flat-hook-diagonal-tailed', cv51 = 28
      Long S (ſ) with flat top hook, and terminal has a diagonal tail; without serifs
      long-s = 'flat-hook-diagonal-tailed-middle-serifed', cv51 = 29
      Long S (ſ) with flat top hook, terminal has a diagonal tail, and middle serif
      long-s = 'flat-hook-diagonal-tailed-middle-serifed-xh', cv51 = 30
      Long S (ſ) with flat top hook, terminal has a diagonal tail, and middle serif at x-height
    • Styles for ß (Eszet):
      eszet = 'traditional-serifless', cv52 = 1
      Eszet (ß) with traditional, Fraktur-like shape
      eszet = 'traditional-middle-serifed', cv52 = 2
      Eszet (ß) with traditional, Fraktur-like shape, and serif at middle
      eszet = 'traditional-bottom-serifed', cv52 = 3
      Eszet (ß) with traditional, Fraktur-like shape, and serif at bottom
      eszet = 'traditional-dual-serifed', cv52 = 4
      Eszet (ß) with traditional, Fraktur-like shape, and serif at middle and bottom
      eszet = 'traditional-descending-serifless', cv52 = 5
      Eszet (ß) with traditional, Fraktur-like shape, and terminal descends baseline
      eszet = 'traditional-descending-middle-serifed', cv52 = 6
      Eszet (ß) with traditional, Fraktur-like shape, terminal descends baseline, and serif at middle
      eszet = 'traditional-tailed-serifless', cv52 = 7
      Eszet (ß) with traditional, Fraktur-like shape, and terminal containing tail
      eszet = 'traditional-tailed-middle-serifed', cv52 = 8
      Eszet (ß) with traditional, Fraktur-like shape, terminal containing tail, and serif at middle
      eszet = 'traditional-flat-hook-serifless', cv52 = 9
      Eszet (ß) with traditional Fraktur-like shape (containing a flat top hook)
      eszet = 'traditional-flat-hook-middle-serifed', cv52 = 10
      Eszet (ß) with traditional Fraktur-like shape (containing a flat top hook), and serif at middle
      eszet = 'traditional-flat-hook-bottom-serifed', cv52 = 11
      Eszet (ß) with traditional Fraktur-like shape (containing a flat top hook), and serif at bottom
      eszet = 'traditional-flat-hook-dual-serifed', cv52 = 12
      Eszet (ß) with traditional Fraktur-like shape (containing a flat top hook), and serif at middle and bottom
      eszet = 'traditional-flat-hook-descending-serifless', cv52 = 13
      Eszet (ß) with traditional Fraktur-like shape (containing a flat top hook), and terminal descends baseline
      eszet = 'traditional-flat-hook-descending-middle-serifed', cv52 = 14
      Eszet (ß) with traditional Fraktur-like shape (containing a flat top hook), terminal descends baseline, and serif at middle
      eszet = 'traditional-flat-hook-tailed-serifless', cv52 = 15
      Eszet (ß) with traditional Fraktur-like shape (containing a flat top hook), and terminal containing tail
      eszet = 'traditional-flat-hook-tailed-middle-serifed', cv52 = 16
      Eszet (ß) with traditional Fraktur-like shape (containing a flat top hook), terminal containing tail, and serif at middle
      eszet = 'sulzbacher-serifless', cv52 = 17
      Eszet (ß) with more modern, beta-like shape (default for Sans Upright)
      eszet = 'sulzbacher-middle-serifed', cv52 = 18
      Eszet (ß) with more modern, beta-like shape, and serif at middle
      eszet = 'sulzbacher-bottom-serifed', cv52 = 19
      Eszet (ß) with more modern, beta-like shape, and serif at bottom (default for Slab Upright)
      eszet = 'sulzbacher-dual-serifed', cv52 = 20
      Eszet (ß) with more modern, beta-like shape, and serif at middle and bottom
      eszet = 'sulzbacher-descending-serifless', cv52 = 21
      Eszet (ß) with more modern, beta-like shape, and terminal descends baseline
      eszet = 'sulzbacher-descending-middle-serifed', cv52 = 22
      Eszet (ß) with more modern, beta-like shape, terminal descends baseline, and serif at middle
      eszet = 'sulzbacher-tailed-serifless', cv52 = 23
      Eszet (ß) with more modern, beta-like shape, and terminal containing tail (default for Italic)
      eszet = 'sulzbacher-tailed-middle-serifed', cv52 = 24
      Eszet (ß) with more modern, beta-like shape, terminal containing tail, and serif at middle
      eszet = 'longs-s-lig-serifless', cv52 = 25
      Eszet (ß) with ligature of long-S (ſ) and s
      eszet = 'longs-s-lig-middle-serifed', cv52 = 26
      Eszet (ß) with ligature of long-S (ſ) and s, and serif at middle
      eszet = 'longs-s-lig-bottom-serifed', cv52 = 27
      Eszet (ß) with ligature of long-S (ſ) and s, and serif at bottom
      eszet = 'longs-s-lig-dual-serifed', cv52 = 28
      Eszet (ß) with ligature of long-S (ſ) and s, and serif at middle and bottom
      eszet = 'longs-s-lig-descending-serifless', cv52 = 29
      Eszet (ß) with ligature of long-S (ſ) and s, and terminal descends baseline
      eszet = 'longs-s-lig-descending-middle-serifed', cv52 = 30
      Eszet (ß) with ligature of long-S (ſ) and s, terminal descends baseline, and serif at middle
      eszet = 'longs-s-lig-tailed-serifless', cv52 = 31
      Eszet (ß) with ligature of long-S (ſ) and s, and terminal containing tail
      eszet = 'longs-s-lig-tailed-middle-serifed', cv52 = 32
      Eszet (ß) with ligature of long-S (ſ) and s, terminal containing tail, and serif at middle
      eszet = 'sulzbacher-middle-serifed-xh', cv52 = 33
      Eszet (ß) with more modern, beta-like shape, and serif at middle at x-height
      eszet = 'sulzbacher-descending-middle-serifed-xh', cv52 = 34
      Eszet (ß) with more modern, beta-like shape, terminal descends baseline, and serif at middle at x-height
      eszet = 'sulzbacher-tailed-middle-serifed-xh', cv52 = 35
      Eszet (ß) with more modern, beta-like shape, terminal containing tail, and serif at middle at x-height
      eszet = 'longs-s-lig-middle-serifed-xh', cv52 = 36
      Eszet (ß) with ligature of long-S (ſ) and s, and serif at middle at x-height
      eszet = 'longs-s-lig-descending-middle-serifed-xh', cv52 = 37
      Eszet (ß) with ligature of long-S (ſ) and s, terminal descends baseline, and serif at middle at x-height
      eszet = 'longs-s-lig-tailed-middle-serifed-xh', cv52 = 38
      Eszet (ß) with ligature of long-S (ſ) and s, terminal containing tail, and serif at middle at x-height
      eszet = 'sulzbacher-dual-serifed-xh', cv52 = 39
      Eszet (ß) with more modern, beta-like shape, and serif at middle (x-height) and bottom
      eszet = 'longs-s-lig-dual-serifed-xh', cv52 = 40
      Eszet (ß) with ligature of long-S (ſ) and s, and serif at middle (x-height) and bottom
    • Styles for ð (Lowercase Eth (ð)):
      lower-eth = 'straight-bar', cv53 = 1
      Lowercase Eth (ð) with a straight bar
      lower-eth = 'curly-bar', cv53 = 2
      Lowercase Eth (ð) with a curly bar (default)
    • Styles for þ (Lowercase Thorn (þ)):
      lower-thorn = 'serifless', cv54 = 1
      Lowercase Thorn (þ) without serifs (default for Sans)
      lower-thorn = 'motion-serifed', cv54 = 2
      Lowercase Thorn (þ) with motion serifs
      lower-thorn = 'serifed', cv54 = 3
      Lowercase Thorn (þ) with serifs (default for Slab)
    • Styles for α (Greek lower Alpha):
      lower-alpha = 'crossing', cv55 = 1
      Greek lower Alpha (α) with a cross-like shape at right (default)
      lower-alpha = 'barred', cv55 = 2
      Greek lower Alpha (α) with a straight right bar
      lower-alpha = 'tailed-barred', cv55 = 3
      Greek lower Alpha (α) with a straight right bar and tail
      lower-alpha = 'barred-earless-corner', cv55 = 4
      Greek lower Alpha (α) with a straight right bar and earless (corner top-right)
      lower-alpha = 'tailed-barred-earless-corner', cv55 = 5
      Greek lower Alpha (α) with a straight right bar, earless (corner top-right), and curly tail
    • Styles for Γ (Greek capital Gamma):
      capital-gamma = 'serifless', cv56 = 1
      Standard capital Gamma (Γ) without serifs (default for Sans)
      capital-gamma = 'top-right-serifed', cv56 = 2
      Standard capital Gamma (Γ) with serifs at top right
      capital-gamma = 'bottom-serifed', cv56 = 3
      Standard capital Gamma (Γ) with bottom serif
      capital-gamma = 'serifed', cv56 = 4
      Standard capital Gamma (Γ) with motion serifs at top and bottom (default for Slab)
    • Styles for Δ (Greek capital Delta (Δ)):
      capital-delta = 'straight', cv57 = 1
      Standard, straight Greek capital Delta (Δ) (default)
      capital-delta = 'curly', cv57 = 2
      Slightly curly Greek capital Delta (Δ), like Iosevka 2.x
    • Styles for δ (Greek lower Delta):
      lower-delta = 'rounded', cv58 = 1
      Greek lower Delta (δ) with rounded top (default)
      lower-delta = 'flat-top', cv58 = 2
      Greek lower Delta (δ) with flat top
    • Styles for ι (Greek lower Iota):
      lower-iota = 'zshaped', cv59 = 1
      Z-shaped Greek lower Iota (ι)
      lower-iota = 'hooky-bottom', cv59 = 2
      Greek lower Iota (ι) with a sharp-turning horizontal tail
      lower-iota = 'tailed', cv59 = 3
      Greek lower Iota (ι) with curly tail
      lower-iota = 'tailed-serifed', cv59 = 4
      Greek lower Iota (ι) with top serif and curly tail
      lower-iota = 'flat-tailed', cv59 = 5
      Greek lower Iota (ι) with a curly-then-flat tail
      lower-iota = 'serifed-flat-tailed', cv59 = 6
      Greek lower Iota (ι) with top serif and a curly-then-flat tail (default)
      lower-iota = 'diagonal-tailed', cv59 = 7
      Greek lower Iota (ι) with a diagonal tail
      lower-iota = 'serifed-diagonal-tailed', cv59 = 8
      Greek lower Iota (ι) with top serif and a diagonal tail
    • Styles for Λ (Greek capital Lambda (Λ)):
      capital-lambda = 'straight-serifless', cv60 = 1
      Greek capital Lambda (Λ) with straight shape; without serifs (default for Sans)
      capital-lambda = 'straight-top-serifed', cv60 = 2
      Greek capital Lambda (Λ) with straight shape, and serifs at top
      capital-lambda = 'straight-base-serifed', cv60 = 3
      Greek capital Lambda (Λ) with straight shape, and serifs at base (default for Slab)
      capital-lambda = 'straight-tri-serifed', cv60 = 4
      Greek capital Lambda (Λ) with straight shape, and serifs at both top and base
      capital-lambda = 'curly-serifless', cv60 = 5
      Greek capital Lambda (Λ) with curly shape; without serifs
      capital-lambda = 'curly-top-serifed', cv60 = 6
      Greek capital Lambda (Λ) with curly shape, and serifs at top
      capital-lambda = 'curly-base-serifed', cv60 = 7
      Greek capital Lambda (Λ) with curly shape, and serifs at base
      capital-lambda = 'curly-tri-serifed', cv60 = 8
      Greek capital Lambda (Λ) with curly shape, and serifs at both top and base
    • Styles for λ (Greek small Lambda):
      lower-lambda = 'straight', cv61 = 1
      More-straight Greek small Lambda (λ) (default for Sans Upright, Sans Italic, Slab Italic)
      lower-lambda = 'straight-turn', cv61 = 2
      Greek small Lambda (λ) with straight upper and a tail turns leftward (default for Slab Upright)
      lower-lambda = 'curly', cv61 = 3
      More curly Greek small Lambda (λ), like Iosevka 2.x
      lower-lambda = 'curly-turn', cv61 = 4
      More curly Greek small Lambda (λ), like Iosevka 2.x, with a tail turns leftward
    • Styles for μ (Greek small Mu):
      lower-mu = 'toothed-serifless', cv62 = 1
      Greek small Mu (μ) with toothed shape; without serifs
      lower-mu = 'toothed-motion-serifed', cv62 = 2
      Greek small Mu (μ) with toothed shape, and motion serifs at top-left and bottom-right
      lower-mu = 'toothed-bottom-right-serifed', cv62 = 3
      Greek small Mu (μ) with toothed shape, and serif at bottom-right
      lower-mu = 'toothed-serifed', cv62 = 4
      Greek small Mu (μ) with toothed shape, and serifs
      lower-mu = 'tailed-serifless', cv62 = 5
      Greek small Mu (μ) with tailed shape; without serifs (default for Sans)
      lower-mu = 'tailed-motion-serifed', cv62 = 6
      Greek small Mu (μ) with tailed shape, and motion serifs at top-left and bottom-right
      lower-mu = 'tailed-serifed', cv62 = 7
      Greek small Mu (μ) with tailed shape, and serifs (default for Slab)
      lower-mu = 'toothless-corner-serifless', cv62 = 8
      Greek small Mu (μ) with toothless (corner bottom-right) shape; without serifs
      lower-mu = 'toothless-corner-motion-serifed', cv62 = 9
      Greek small Mu (μ) with toothless (corner bottom-right) shape, and motion serifs at top-left and bottom-right
      lower-mu = 'toothless-corner-serifed', cv62 = 10
      Greek small Mu (μ) with toothless (corner bottom-right) shape, and serifs
      lower-mu = 'toothless-rounded-serifless', cv62 = 11
      Greek small Mu (μ) with toothless (rounded) shape; without serifs
      lower-mu = 'toothless-rounded-motion-serifed', cv62 = 12
      Greek small Mu (μ) with toothless (rounded) shape, and motion serifs at top-left and bottom-right
      lower-mu = 'toothless-rounded-serifed', cv62 = 13
      Greek small Mu (μ) with toothless (rounded) shape, and serifs
    • Styles for ξ (Greek lower Xi):
      lower-xi = 'rounded', cv63 = 1
      Greek lower Xi (ξ) with rounded top
      lower-xi = 'flat-top', cv63 = 2
      Greek lower Xi (ξ) with flat top (default)
    • Styles for χ (Greek lower Chi):
      lower-chi = 'straight-serifless', cv64 = 1
      Greek lower Chi (χ) with straight shape; without serifs (default for Sans)
      lower-chi = 'straight-motion-serifed', cv64 = 2
      Greek lower Chi (χ) with straight shape, and motion serifs
      lower-chi = 'straight-serifed', cv64 = 3
      Greek lower Chi (χ) with straight shape, and serifs (default for Slab)
      lower-chi = 'curly-serifless', cv64 = 4
      Greek lower Chi (χ) with curly shape; without serifs
      lower-chi = 'curly-motion-serifed', cv64 = 5
      Greek lower Chi (χ) with curly shape, and motion serifs
      lower-chi = 'curly-serifed', cv64 = 6
      Greek lower Chi (χ) with curly shape, and serifs
    • Styles for Ж (Cyrillic Capital Zhe):
      cyrl-capital-zhe = 'straight', cv65 = 1
      Cyrillic Capital Lower Zhe (Ж) with straight legs
      cyrl-capital-zhe = 'curly', cv65 = 2
      Cyrillic Capital Lower Zhe (Ж) with curly legs
      cyrl-capital-zhe = 'symmetric-touching', cv65 = 3
      Cyrillic Capital Lower Zhe (Ж) with symmetric legs touching the vertical bar
      cyrl-capital-zhe = 'symmetric-connected', cv65 = 4
      Cyrillic Capital Lower Zhe (Ж) with symmetric legs connected to the vertical bar (default)
    • Styles for ж (Cyrillic Zhe):
      cyrl-zhe = 'straight', cv66 = 1
      Cyrillic Lower Zhe (ж) with straight legs
      cyrl-zhe = 'curly', cv66 = 2
      Cyrillic Lower Zhe (ж) with curly legs
      cyrl-zhe = 'symmetric-touching', cv66 = 3
      Cyrillic Lower Zhe (ж) with symmetric legs touching the vertical bar
      cyrl-zhe = 'symmetric-connected', cv66 = 4
      Cyrillic Lower Zhe (ж) with symmetric legs connected to the vertical bar (default)
    • Styles for З (Cyrillic Capital Ze):
      cyrl-capital-ze = 'serifless', cv67 = 1
      Serifless Cyrillic Capital Ze (З) (default for Sans)
      cyrl-capital-ze = 'unilateral-serifed', cv67 = 2
      Cyrillic Capital Ze (З) with serif at top (default for Slab)
      cyrl-capital-ze = 'bilateral-serifed', cv67 = 3
      Cyrillic Capital Ze (З) with serif at both top and bottom
      cyrl-capital-ze = 'unilateral-inward-serifed', cv67 = 4
      Cyrillic Capital Ze (З) with inward serif at top
      cyrl-capital-ze = 'bilateral-inward-serifed', cv67 = 5
      Cyrillic Capital Ze (З) with inward serif at both top and bottom
    • Styles for з (Cyrillic Lower Ze):
      cyrl-ze = 'serifless', cv68 = 1
      Serifless Cyrillic Lower Ze (з) (default for Sans)
      cyrl-ze = 'unilateral-serifed', cv68 = 2
      Cyrillic Lower Ze (з) with serif at top (default for Slab Upright)
      cyrl-ze = 'bilateral-serifed', cv68 = 3
      Cyrillic Lower Ze (з) with serif at both top and bottom
      cyrl-ze = 'unilateral-inward-serifed', cv68 = 4
      Cyrillic Lower Ze (з) with inward serif at top (default for Slab Italic)
      cyrl-ze = 'bilateral-inward-serifed', cv68 = 5
      Cyrillic Lower Ze (з) with inward serif at both top and bottom
    • Styles for К (Cyrillic Capital Ka):
      cyrl-capital-ka = 'straight-serifless', cv69 = 1
      Cyrillic Capital Ka (К) with straight shape; without serifs
      cyrl-capital-ka = 'straight-top-left-serifed', cv69 = 2
      Cyrillic Capital Ka (К) with straight shape, and serifs at top left
      cyrl-capital-ka = 'straight-bottom-right-serifed', cv69 = 3
      Cyrillic Capital Ka (К) with straight shape, and serifs at bottom right
      cyrl-capital-ka = 'straight-top-left-and-bottom-right-serifed', cv69 = 4
      Cyrillic Capital Ka (К) with straight shape, and serifs at top left and bottom right
      cyrl-capital-ka = 'straight-serifed', cv69 = 5
      Cyrillic Capital Ka (К) with straight shape, and serifs
      cyrl-capital-ka = 'curly-serifless', cv69 = 6
      Cyrillic Capital Ka (К) with curly shape; without serifs
      cyrl-capital-ka = 'curly-top-left-serifed', cv69 = 7
      Cyrillic Capital Ka (К) with curly shape, and serifs at top left
      cyrl-capital-ka = 'curly-bottom-right-serifed', cv69 = 8
      Cyrillic Capital Ka (К) with curly shape, and serifs at bottom right
      cyrl-capital-ka = 'curly-top-left-and-bottom-right-serifed', cv69 = 9
      Cyrillic Capital Ka (К) with curly shape, and serifs at top left and bottom right
      cyrl-capital-ka = 'curly-serifed', cv69 = 10
      Cyrillic Capital Ka (К) with curly shape, and serifs
      cyrl-capital-ka = 'symmetric-touching-serifless', cv69 = 11
      Cyrillic Capital Ka (К) with symmetric legs touching the vertical bar; without serifs
      cyrl-capital-ka = 'symmetric-touching-top-left-serifed', cv69 = 12
      Cyrillic Capital Ka (К) with symmetric legs touching the vertical bar, and serifs at top left
      cyrl-capital-ka = 'symmetric-touching-bottom-right-serifed', cv69 = 13
      Cyrillic Capital Ka (К) with symmetric legs touching the vertical bar, and serifs at bottom right
      cyrl-capital-ka = 'symmetric-touching-top-left-and-bottom-right-serifed', cv69 = 14
      Cyrillic Capital Ka (К) with symmetric legs touching the vertical bar, and serifs at top left and bottom right
      cyrl-capital-ka = 'symmetric-touching-serifed', cv69 = 15
      Cyrillic Capital Ka (К) with symmetric legs touching the vertical bar, and serifs
      cyrl-capital-ka = 'symmetric-connected-serifless', cv69 = 16
      Cyrillic Capital Ka (К) with symmetric legs connected to the vertical bar; without serifs (default for Sans)
      cyrl-capital-ka = 'symmetric-connected-top-left-serifed', cv69 = 17
      Cyrillic Capital Ka (К) with symmetric legs connected to the vertical bar, and serifs at top left
      cyrl-capital-ka = 'symmetric-connected-bottom-right-serifed', cv69 = 18
      Cyrillic Capital Ka (К) with symmetric legs connected to the vertical bar, and serifs at bottom right
      cyrl-capital-ka = 'symmetric-connected-top-left-and-bottom-right-serifed', cv69 = 19
      Cyrillic Capital Ka (К) with symmetric legs connected to the vertical bar, and serifs at top left and bottom right
      cyrl-capital-ka = 'symmetric-connected-serifed', cv69 = 20
      Cyrillic Capital Ka (К) with symmetric legs connected to the vertical bar, and serifs (default for Slab)
    • Styles for к (Cyrillic Ka):
      cyrl-ka = 'straight-serifless', cv70 = 1
      Cyrillic Lower Ka (к) with straight shape; without serifs
      cyrl-ka = 'straight-top-left-serifed', cv70 = 2
      Cyrillic Lower Ka (к) with straight shape, and serifs at top left
      cyrl-ka = 'straight-bottom-right-serifed', cv70 = 3
      Cyrillic Lower Ka (к) with straight shape, and serifs at bottom right
      cyrl-ka = 'straight-top-left-and-bottom-right-serifed', cv70 = 4
      Cyrillic Lower Ka (к) with straight shape, and serifs at top left and bottom right
      cyrl-ka = 'straight-serifed', cv70 = 5
      Cyrillic Lower Ka (к) with straight shape, and serifs
      cyrl-ka = 'curly-serifless', cv70 = 6
      Cyrillic Lower Ka (к) with curly shape; without serifs
      cyrl-ka = 'curly-top-left-serifed', cv70 = 7
      Cyrillic Lower Ka (к) with curly shape, and serifs at top left
      cyrl-ka = 'curly-bottom-right-serifed', cv70 = 8
      Cyrillic Lower Ka (к) with curly shape, and serifs at bottom right
      cyrl-ka = 'curly-top-left-and-bottom-right-serifed', cv70 = 9
      Cyrillic Lower Ka (к) with curly shape, and serifs at top left and bottom right
      cyrl-ka = 'curly-serifed', cv70 = 10
      Cyrillic Lower Ka (к) with curly shape, and serifs
      cyrl-ka = 'symmetric-touching-serifless', cv70 = 11
      Cyrillic Lower Ka (к) with symmetric legs touching the vertical bar; without serifs
      cyrl-ka = 'symmetric-touching-top-left-serifed', cv70 = 12
      Cyrillic Lower Ka (к) with symmetric legs touching the vertical bar, and serifs at top left
      cyrl-ka = 'symmetric-touching-bottom-right-serifed', cv70 = 13
      Cyrillic Lower Ka (к) with symmetric legs touching the vertical bar, and serifs at bottom right
      cyrl-ka = 'symmetric-touching-top-left-and-bottom-right-serifed', cv70 = 14
      Cyrillic Lower Ka (к) with symmetric legs touching the vertical bar, and serifs at top left and bottom right
      cyrl-ka = 'symmetric-touching-serifed', cv70 = 15
      Cyrillic Lower Ka (к) with symmetric legs touching the vertical bar, and serifs
      cyrl-ka = 'symmetric-connected-serifless', cv70 = 16
      Cyrillic Lower Ka (к) with symmetric legs connected to the vertical bar; without serifs (default for Sans)
      cyrl-ka = 'symmetric-connected-top-left-serifed', cv70 = 17
      Cyrillic Lower Ka (к) with symmetric legs connected to the vertical bar, and serifs at top left (default for Slab Italic)
      cyrl-ka = 'symmetric-connected-bottom-right-serifed', cv70 = 18
      Cyrillic Lower Ka (к) with symmetric legs connected to the vertical bar, and serifs at bottom right
      cyrl-ka = 'symmetric-connected-top-left-and-bottom-right-serifed', cv70 = 19
      Cyrillic Lower Ka (к) with symmetric legs connected to the vertical bar, and serifs at top left and bottom right
      cyrl-ka = 'symmetric-connected-serifed', cv70 = 20
      Cyrillic Lower Ka (к) with symmetric legs connected to the vertical bar, and serifs (default for Slab Upright)
    • Styles for л (Cyrillic Lower El):
      cyrl-el = 'straight', cv71 = 1
      Cyrillic Lower El (л) with standard shape (default)
      cyrl-el = 'tailed', cv71 = 2
      Cyrillic Lower El (л) with tail shape
    • Styles for м (Cyrillic Lower Em):
      cyrl-em = 'hanging-serifless', cv72 = 1
      Cyrillic Lower Em (м) with middle being hanging off baseline; without serifs (default for Sans)
      cyrl-em = 'hanging-motion-serifed', cv72 = 2
      Cyrillic Lower Em (м) with middle being hanging off baseline, and motion serifs
      cyrl-em = 'hanging-serifed', cv72 = 3
      Cyrillic Lower Em (м) with middle being hanging off baseline, and serifs (default for Slab)
      cyrl-em = 'slanted-sides-hanging-serifless', cv72 = 4
      Cyrillic Lower Em (м) with slanted sides, and middle being hanging off baseline; without serifs
      cyrl-em = 'slanted-sides-hanging-motion-serifed', cv72 = 5
      Cyrillic Lower Em (м) with slanted sides, middle being hanging off baseline, and motion serifs
      cyrl-em = 'slanted-sides-hanging-serifed', cv72 = 6
      Cyrillic Lower Em (м) with slanted sides, middle being hanging off baseline, and serifs
      cyrl-em = 'flat-bottom-serifless', cv72 = 7
      Cyrillic Lower Em (м) with middle aligned to baseline; without serifs
      cyrl-em = 'flat-bottom-motion-serifed', cv72 = 8
      Cyrillic Lower Em (м) with middle aligned to baseline, and motion serifs
      cyrl-em = 'flat-bottom-serifed', cv72 = 9
      Cyrillic Lower Em (м) with middle aligned to baseline, and serifs
      cyrl-em = 'slanted-sides-flat-bottom-serifless', cv72 = 10
      Cyrillic Lower Em (м) with slanted sides, and middle aligned to baseline; without serifs
      cyrl-em = 'slanted-sides-flat-bottom-motion-serifed', cv72 = 11
      Cyrillic Lower Em (м) with slanted sides, middle aligned to baseline, and motion serifs
      cyrl-em = 'slanted-sides-flat-bottom-serifed', cv72 = 12
      Cyrillic Lower Em (м) with slanted sides, middle aligned to baseline, and serifs
    • Styles for н (Cyrillic Lower En):
      cyrl-en = 'serifless', cv73 = 1
      Cyrillic Lower En (н) without serifs (default for Sans)
      cyrl-en = 'top-left-serifed', cv73 = 2
      Cyrillic Lower En (н) with serifs at top left
      cyrl-en = 'top-left-bottom-right-serifed', cv73 = 3
      Cyrillic Lower En (н) with serifs at top left and bottom right (default for Slab Italic)
      cyrl-en = 'serifed', cv73 = 4
      Cyrillic Lower En (н) with serifs (default for Slab Upright)
      cyrl-en = 'tailed-serifless', cv73 = 5
      Cyrillic Lower En (н) with tail; without serifs
      cyrl-en = 'tailed-top-left-serifed', cv73 = 6
      Cyrillic Lower En (н) with tail, and serifs at top left
      cyrl-en = 'tailed-serifed', cv73 = 7
      Cyrillic Lower En (н) with tail, and serifs
    • Styles for У (Cyrillic Capital U):
      cyrl-capital-u = 'straight-serifless', cv74 = 1
      Cyrillic Capital U (У) with straight shape; without serifs (default for Sans)
      cyrl-capital-u = 'straight-motion-serifed', cv74 = 2
      Cyrillic Capital U (У) with straight shape, and motion serifs
      cyrl-capital-u = 'straight-serifed', cv74 = 3
      Cyrillic Capital U (У) with straight shape, and serifs
      cyrl-capital-u = 'straight-turn-serifless', cv74 = 4
      Cyrillic Capital U (У) with straight shape, and a tail turns leftward; without serifs
      cyrl-capital-u = 'straight-turn-motion-serifed', cv74 = 5
      Cyrillic Capital U (У) with straight shape, a tail turns leftward, and motion serifs
      cyrl-capital-u = 'straight-turn-serifed', cv74 = 6
      Cyrillic Capital U (У) with straight shape, a tail turns leftward, and serifs (default for Slab)
      cyrl-capital-u = 'curly-serifless', cv74 = 7
      Cyrillic Capital U (У) with curly shape; without serifs
      cyrl-capital-u = 'curly-motion-serifed', cv74 = 8
      Cyrillic Capital U (У) with curly shape, and motion serifs
      cyrl-capital-u = 'curly-serifed', cv74 = 9
      Cyrillic Capital U (У) with curly shape, and serifs
      cyrl-capital-u = 'curly-turn-serifless', cv74 = 10
      Cyrillic Capital U (У) with curly shape, and a tail turns leftward; without serifs
      cyrl-capital-u = 'curly-turn-motion-serifed', cv74 = 11
      Cyrillic Capital U (У) with curly shape, a tail turns leftward, and motion serifs
      cyrl-capital-u = 'curly-turn-serifed', cv74 = 12
      Cyrillic Capital U (У) with curly shape, a tail turns leftward, and serifs
      cyrl-capital-u = 'cursive-serifless', cv74 = 13
      Cyrillic Capital U (У) with cursive shape; without serifs
      cyrl-capital-u = 'cursive-motion-serifed', cv74 = 14
      Cyrillic Capital U (У) with cursive shape, and motion serifs
      cyrl-capital-u = 'cursive-serifed', cv74 = 15
      Cyrillic Capital U (У) with cursive shape, and serifs
      cyrl-capital-u = 'cursive-flat-hook-serifless', cv74 = 16
      Cyrillic Capital U (У) with cursive shape, and a flat terminal hook; without serifs
      cyrl-capital-u = 'cursive-flat-hook-motion-serifed', cv74 = 17
      Cyrillic Capital U (У) with cursive shape, a flat terminal hook, and motion serifs
      cyrl-capital-u = 'cursive-flat-hook-serifed', cv74 = 18
      Cyrillic Capital U (У) with cursive shape, a flat terminal hook, and serifs
    • Styles for ф (Cyrillic Lower Ef):
      cyrl-ef = 'serifless', cv75 = 1
      Cyrillic Lower Ef (ф) with standard shape and without serifs (default for Sans Upright)
      cyrl-ef = 'cursive', cv75 = 2
      Cyrillic Lower Ef (ф) with cursive shape (default for Italic)
      cyrl-ef = 'top-serifed', cv75 = 3
      Cyrillic Lower Ef (ф) with standard shape and serif at top
      cyrl-ef = 'serifed', cv75 = 4
      Cyrillic Lower Ef (ф) with standard shape and serifs at top and bottom (default for Slab Upright)
    • Styles for ч (Cyrillic Lower Che):
      cyrl-che = 'standard', cv76 = 1
      Cyrillic Lower Che (ч) with standard shape (default)
      cyrl-che = 'tailed', cv76 = 2
      Cyrillic Lower Che (ч) with tail
    • Styles for ь (Cyrillic Lower Yeri and related letters):
      cyrl-yeri = 'corner', cv77 = 1
      Cyrillic Lower Yeri (ь) with corner at bottom left (default for Upright)
      cyrl-yeri = 'round', cv77 = 2
      Cyrillic Lower Yeri (ь) with rounded shape (default for Sans Italic)
      cyrl-yeri = 'cursive', cv77 = 3
      Cyrillic Lower Yeri (ь) with cursive shape (default for Slab Italic)
    • Styles for ы (Cyrillic Lower Yery):
      cyrl-yery = 'corner', cv78 = 1
      Cyrillic Lower Yery (ы) with corner at bottom left (default for Upright)
      cyrl-yery = 'corner-tailed', cv78 = 2
      Cyrillic Lower Yery (ы) with corner at bottom left and tail
      cyrl-yery = 'round', cv78 = 3
      Cyrillic Lower Yery (ы) with rounded shape (default for Sans Italic)
      cyrl-yery = 'round-tailed', cv78 = 4
      Cyrillic Lower Yery (ы) with rounded shape and tail
      cyrl-yery = 'cursive', cv78 = 5
      Cyrillic Lower Yery (ы) with cursive shape (default for Slab Italic)
      cyrl-yery = 'cursive-tailed', cv78 = 6
      Cyrillic Lower Yery (ы) with cursive shape and tail
    • Styles for Я (Cyrillic Capital Ya):
      cyrl-capital-ya = 'straight-serifless', cv79 = 1
      Cyrillic Capital Ya (Я) with straight leg; without serifs (default for Sans)
      cyrl-capital-ya = 'straight-serifed', cv79 = 2
      Cyrillic Capital Ya (Я) with straight leg, and serifs (default for Slab)
      cyrl-capital-ya = 'curly-serifless', cv79 = 3
      Cyrillic Capital Ya (Я) with curly leg; without serifs
      cyrl-capital-ya = 'curly-serifed', cv79 = 4
      Cyrillic Capital Ya (Я) with curly leg, and serifs
      cyrl-capital-ya = 'standing-serifless', cv79 = 5
      Cyrillic Capital Ya (Я) with standing leg (like Helvetica); without serifs
      cyrl-capital-ya = 'standing-serifed', cv79 = 6
      Cyrillic Capital Ya (Я) with standing leg (like Helvetica), and serifs
      cyrl-capital-ya = 'straight-open-serifless', cv79 = 7
      Cyrillic Capital Ya (Я) with straight leg, and open contour; without serifs
      cyrl-capital-ya = 'straight-open-serifed', cv79 = 8
      Cyrillic Capital Ya (Я) with straight leg, open contour, and serifs
      cyrl-capital-ya = 'curly-open-serifless', cv79 = 9
      Cyrillic Capital Ya (Я) with curly leg, and open contour; without serifs
      cyrl-capital-ya = 'curly-open-serifed', cv79 = 10
      Cyrillic Capital Ya (Я) with curly leg, open contour, and serifs
      cyrl-capital-ya = 'standing-open-serifless', cv79 = 11
      Cyrillic Capital Ya (Я) with standing leg (like Helvetica), and open contour; without serifs
      cyrl-capital-ya = 'standing-open-serifed', cv79 = 12
      Cyrillic Capital Ya (Я) with standing leg (like Helvetica), open contour, and serifs
    • Styles for я (Cyrillic Lower Ya):
      cyrl-ya = 'straight-serifless', cv80 = 1
      Cyrillic Lower Ya (я) with straight leg; without serifs (default for Sans)
      cyrl-ya = 'straight-serifed', cv80 = 2
      Cyrillic Lower Ya (я) with straight leg, and serifs (default for Slab)
      cyrl-ya = 'straight-tailed-serifless', cv80 = 3
      Cyrillic Lower Ya (я) with straight leg, and tail; without serifs
      cyrl-ya = 'straight-tailed-serifed', cv80 = 4
      Cyrillic Lower Ya (я) with straight leg, tail, and serifs
      cyrl-ya = 'curly-serifless', cv80 = 5
      Cyrillic Lower Ya (я) with curly leg; without serifs
      cyrl-ya = 'curly-serifed', cv80 = 6
      Cyrillic Lower Ya (я) with curly leg, and serifs
      cyrl-ya = 'curly-tailed-serifless', cv80 = 7
      Cyrillic Lower Ya (я) with curly leg, and tail; without serifs
      cyrl-ya = 'curly-tailed-serifed', cv80 = 8
      Cyrillic Lower Ya (я) with curly leg, tail, and serifs
      cyrl-ya = 'standing-serifless', cv80 = 9
      Cyrillic Lower Ya (я) with standing leg (like Helvetica); without serifs
      cyrl-ya = 'standing-serifed', cv80 = 10
      Cyrillic Lower Ya (я) with standing leg (like Helvetica), and serifs
      cyrl-ya = 'standing-tailed-serifless', cv80 = 11
      Cyrillic Lower Ya (я) with standing leg (like Helvetica), and tail; without serifs
      cyrl-ya = 'standing-tailed-serifed', cv80 = 12
      Cyrillic Lower Ya (я) with standing leg (like Helvetica), tail, and serifs
      cyrl-ya = 'straight-open-serifless', cv80 = 13
      Cyrillic Lower Ya (я) with straight leg, and open contour; without serifs
      cyrl-ya = 'straight-open-serifed', cv80 = 14
      Cyrillic Lower Ya (я) with straight leg, open contour, and serifs
      cyrl-ya = 'straight-open-tailed-serifless', cv80 = 15
      Cyrillic Lower Ya (я) with straight leg, open contour, and tail; without serifs
      cyrl-ya = 'straight-open-tailed-serifed', cv80 = 16
      Cyrillic Lower Ya (я) with straight leg, open contour, tail, and serifs
      cyrl-ya = 'curly-open-serifless', cv80 = 17
      Cyrillic Lower Ya (я) with curly leg, and open contour; without serifs
      cyrl-ya = 'curly-open-serifed', cv80 = 18
      Cyrillic Lower Ya (я) with curly leg, open contour, and serifs
      cyrl-ya = 'curly-open-tailed-serifless', cv80 = 19
      Cyrillic Lower Ya (я) with curly leg, open contour, and tail; without serifs
      cyrl-ya = 'curly-open-tailed-serifed', cv80 = 20
      Cyrillic Lower Ya (я) with curly leg, open contour, tail, and serifs
      cyrl-ya = 'standing-open-serifless', cv80 = 21
      Cyrillic Lower Ya (я) with standing leg (like Helvetica), and open contour; without serifs
      cyrl-ya = 'standing-open-serifed', cv80 = 22
      Cyrillic Lower Ya (я) with standing leg (like Helvetica), open contour, and serifs
      cyrl-ya = 'standing-open-tailed-serifless', cv80 = 23
      Cyrillic Lower Ya (я) with standing leg (like Helvetica), open contour, and tail; without serifs
      cyrl-ya = 'standing-open-tailed-serifed', cv80 = 24
      Cyrillic Lower Ya (я) with standing leg (like Helvetica), open contour, tail, and serifs
    • Styles for 0:
      zero = 'unslashed', cv81 = 1
      Zero (0) with standard body shape; without slash
      zero = 'slashed', cv81 = 2
      Zero (0) with standard body shape, and slash (default)
      zero = 'reverse-slashed', cv81 = 3
      Zero (0) with standard body shape, and revese slash
      zero = 'tall-slashed', cv81 = 4
      Zero (0) with standard body shape, and tall slash
      zero = 'tall-reverse-slashed', cv81 = 5
      Zero (0) with standard body shape, and tall reverse slash
      zero = 'dotted', cv81 = 6
      Zero (0) with standard body shape, and center dot
      zero = 'long-dotted', cv81 = 7
      Zero (0) with standard body shape, and long center dot
      zero = 'slashed-split', cv81 = 8
      Zero (0) with standard body shape, and slash separated from the outline
      zero = 'reverse-slashed-split', cv81 = 9
      Zero (0) with standard body shape, and reverse slash separated from the outline
      zero = 'broken-slash', cv81 = 10
      Zero (0) with standard body shape, and slash broken in the middle (like in Fixedsys)
      zero = 'broken-reverse-slash', cv81 = 11
      Zero (0) with standard body shape, and reverse slash broken in the middle
      zero = 'broken-vertical-bar', cv81 = 12
      Zero (0) with standard body shape, and vertical bar broken in the middle
      zero = 'slashed-cutout', cv81 = 13
      Zero (0) with standard body shape, and a slash cutout
      zero = 'reverse-slashed-cutout', cv81 = 14
      Zero (0) with standard body shape, and a reverse-slash cutout
      zero = 'tall-slashed-cutout', cv81 = 15
      Zero (0) with standard body shape, and a taller slash cutout
      zero = 'tall-reverse-slashed-cutout', cv81 = 16
      Zero (0) with standard body shape, and a taller reverse-slash cutout
      zero = 'vertical-bar-cutout', cv81 = 17
      Zero (0) with standard body shape, and a vertical bar cutout
      zero = 'top-right-cutout', cv81 = 18
      Zero (0) with standard body shape, and the top-right bit cutout
      zero = 'oval-unslashed', cv81 = 19
      Zero (0) with oval body shape; without slash
      zero = 'oval-slashed', cv81 = 20
      Zero (0) with oval body shape, and slash
      zero = 'oval-reverse-slashed', cv81 = 21
      Zero (0) with oval body shape, and revese slash
      zero = 'oval-tall-slashed', cv81 = 22
      Zero (0) with oval body shape, and tall slash
      zero = 'oval-tall-reverse-slashed', cv81 = 23
      Zero (0) with oval body shape, and tall reverse slash
      zero = 'oval-dotted', cv81 = 24
      Zero (0) with oval body shape, and center dot
      zero = 'oval-long-dotted', cv81 = 25
      Zero (0) with oval body shape, and long center dot
      zero = 'oval-slashed-split', cv81 = 26
      Zero (0) with oval body shape, and slash separated from the outline
      zero = 'oval-reverse-slashed-split', cv81 = 27
      Zero (0) with oval body shape, and reverse slash separated from the outline
      zero = 'oval-broken-slash', cv81 = 28
      Zero (0) with oval body shape, and slash broken in the middle (like in Fixedsys)
      zero = 'oval-broken-reverse-slash', cv81 = 29
      Zero (0) with oval body shape, and reverse slash broken in the middle
      zero = 'oval-broken-vertical-bar', cv81 = 30
      Zero (0) with oval body shape, and vertical bar broken in the middle
      zero = 'oval-slashed-cutout', cv81 = 31
      Zero (0) with oval body shape, and a slash cutout
      zero = 'oval-reverse-slashed-cutout', cv81 = 32
      Zero (0) with oval body shape, and a reverse-slash cutout
      zero = 'oval-tall-slashed-cutout', cv81 = 33
      Zero (0) with oval body shape, and a taller slash cutout
      zero = 'oval-tall-reverse-slashed-cutout', cv81 = 34
      Zero (0) with oval body shape, and a taller reverse-slash cutout
      zero = 'oval-vertical-bar-cutout', cv81 = 35
      Zero (0) with oval body shape, and a vertical bar cutout
      zero = 'oval-top-right-cutout', cv81 = 36
      Zero (0) with oval body shape, and the top-right bit cutout
      zero = 'diamond-unslashed', cv81 = 37
      Zero (0) with diamond body shape; without slash
      zero = 'diamond-slashed', cv81 = 38
      Zero (0) with diamond body shape, and slash
      zero = 'diamond-reverse-slashed', cv81 = 39
      Zero (0) with diamond body shape, and revese slash
      zero = 'diamond-tall-slashed', cv81 = 40
      Zero (0) with diamond body shape, and tall slash
      zero = 'diamond-tall-reverse-slashed', cv81 = 41
      Zero (0) with diamond body shape, and tall reverse slash
      zero = 'diamond-dotted', cv81 = 42
      Zero (0) with diamond body shape, and center dot
      zero = 'diamond-long-dotted', cv81 = 43
      Zero (0) with diamond body shape, and long center dot
      zero = 'diamond-slashed-split', cv81 = 44
      Zero (0) with diamond body shape, and slash separated from the outline
      zero = 'diamond-reverse-slashed-split', cv81 = 45
      Zero (0) with diamond body shape, and reverse slash separated from the outline
      zero = 'diamond-broken-slash', cv81 = 46
      Zero (0) with diamond body shape, and slash broken in the middle (like in Fixedsys)
      zero = 'diamond-broken-reverse-slash', cv81 = 47
      Zero (0) with diamond body shape, and reverse slash broken in the middle
      zero = 'diamond-broken-vertical-bar', cv81 = 48
      Zero (0) with diamond body shape, and vertical bar broken in the middle
      zero = 'diamond-slashed-cutout', cv81 = 49
      Zero (0) with diamond body shape, and a slash cutout
      zero = 'diamond-reverse-slashed-cutout', cv81 = 50
      Zero (0) with diamond body shape, and a reverse-slash cutout
      zero = 'diamond-tall-slashed-cutout', cv81 = 51
      Zero (0) with diamond body shape, and a taller slash cutout
      zero = 'diamond-tall-reverse-slashed-cutout', cv81 = 52
      Zero (0) with diamond body shape, and a taller reverse-slash cutout
      zero = 'diamond-vertical-bar-cutout', cv81 = 53
      Zero (0) with diamond body shape, and a vertical bar cutout
      zero = 'diamond-top-right-cutout', cv81 = 54
      Zero (0) with diamond body shape, and the top-right bit cutout
    • Styles for 1:
      one = 'line', cv82 = 1
      1 drawn just like a straight line
      one = 'no-base', cv82 = 2
      1 without bottom serif (default for Sans)
      one = 'base', cv82 = 3
      1 with bottom serif (default for Slab)
      one = 'no-base-long-top-serif', cv82 = 4
      1 without bottom serif and with a long top serif
      one = 'base-long-top-serif', cv82 = 5
      1 with bottom serif and a long top serif
      one = 'no-base-flat-top-serif', cv82 = 6
      1 without bottom serif and with a flat top serif
      one = 'base-flat-top-serif', cv82 = 7
      1 with bottom serif and a flat top serif
      one = 'no-base-top-cut', cv82 = 8
      1 without bottom serif and with a diagonal cut at top
      one = 'base-top-cut', cv82 = 9
      1 with bottom serif and a diagonal cut at top
    • Styles for 2:
      two = 'straight-neck', cv83 = 1
      2 with straight neck
      two = 'curly-neck', cv83 = 2
      2 with curly neck (default)
    • Styles for 3:
      three = 'flat-top', cv84 = 1
      Flat top 3 (Like Museo Sans / Montserrat)
      three = 'two-arcs', cv84 = 2
      Arched top 3 (default)
    • Styles for 4:
      four = 'closed', cv85 = 1
      4 with closed contour
      four = 'closed-non-crossing', cv85 = 2
      4 with closed contour but the horizontal bar does not overflow the vertical bar
      four = 'semi-open', cv85 = 3
      4 with semi-open contour (default)
      four = 'semi-open-non-crossing', cv85 = 4
      4 with semi-open contour but the horizontal bar does not overflow the vertical bar
      four = 'open', cv85 = 5
      4 with open contour
      four = 'open-non-crossing', cv85 = 6
      4 with open contour but the horizontal bar does not overflow the vertical bar
    • Styles for 5:
      five = 'vertical-upper-left-bar', cv86 = 1
      5 with a vertical upper-left bar (default)
      five = 'oblique-upper-left-bar', cv86 = 2
      5 with an oblique upper-left bar
    • Styles for 6:
      six = 'closed-contour', cv87 = 1
      6 with a more closed contour
      six = 'open-contour', cv87 = 2
      6 with a more open contour
      six = 'straight-bar', cv87 = 3
      6 with a straight bar (default)
    • Styles for 7:
      seven = 'straight-serifless', cv88 = 1
      7 with straight stem; without serifs (default for Sans)
      seven = 'straight-serifless-crossbar', cv88 = 2
      7 with straight stem, and crossbar; without serifs
      seven = 'straight-serifed', cv88 = 3
      7 with straight stem, and serifs (default for Slab)
      seven = 'straight-serifed-crossbar', cv88 = 4
      7 with straight stem, serifs, and crossbar
      seven = 'bend-serifless', cv88 = 5
      7 with bend stem; without serifs
      seven = 'bend-serifless-crossbar', cv88 = 6
      7 with bend stem, and crossbar; without serifs
      seven = 'bend-serifed', cv88 = 7
      7 with bend stem, and serifs
      seven = 'bend-serifed-crossbar', cv88 = 8
      7 with bend stem, serifs, and crossbar
      seven = 'curly-serifless', cv88 = 9
      7 with curly stem; without serifs
      seven = 'curly-serifless-crossbar', cv88 = 10
      7 with curly stem, and crossbar; without serifs
      seven = 'curly-serifed', cv88 = 11
      7 with curly stem, and serifs
      seven = 'curly-serifed-crossbar', cv88 = 12
      7 with curly stem, serifs, and crossbar
    • Styles for 8:
      eight = 'crossing', cv89 = 1
      8 with crossing middle part (default)
      eight = 'two-circles', cv89 = 2
      8 looks like two circles joined together
      eight = 'crossing-asymmetric', cv89 = 3
      8 looks asymmetric crossing middle part
    • Styles for 9:
      nine = 'closed-contour', cv90 = 1
      9 with a more closed contour
      nine = 'open-contour', cv90 = 2
      9 with a more open contour
      nine = 'straight-bar', cv90 = 3
      9 with a straight bar (default)
    • Styles for öẋ, ij (Dot and Comma shape in diacritics):
      diacritic-dot = 'round', cv91 = 1
      Dots and Commas in diacritics are round (default)
      diacritic-dot = 'square', cv91 = 2
      Dots and Commas in diacritics are square
    • Styles for .,, :; (Dot and Comma shape in punctuations and symbols):
      punctuation-dot = 'round', cv92 = 1
      Small punctuations (like ., ,) use round dots (default)
      punctuation-dot = 'square', cv92 = 2
      Small punctuations (like ., ,) use square dots
    • Styles for ~:
      tilde = 'high', cv93 = 1
      Higher tilde ~
      tilde = 'low', cv93 = 2
      Lower tilde ~ (default)
    • Styles for *:
      asterisk = 'penta-high', cv94 = 1
      Asterisk (*) with five-pointed shape, and high position (default)
      asterisk = 'penta-mid', cv94 = 2
      Asterisk (*) with five-pointed shape, and medium position
      asterisk = 'penta-low', cv94 = 3
      Asterisk (*) with five-pointed shape, and low position
      asterisk = 'turn-penta-high', cv94 = 4
      Asterisk (*) with turned five-pointed shape, and high position
      asterisk = 'turn-penta-mid', cv94 = 5
      Asterisk (*) with turned five-pointed shape, and medium position
      asterisk = 'turn-penta-low', cv94 = 6
      Asterisk (*) with turned five-pointed shape, and low position
      asterisk = 'hex-high', cv94 = 7
      Asterisk (*) with six-pointed shape, and high position
      asterisk = 'hex-mid', cv94 = 8
      Asterisk (*) with six-pointed shape, and medium position
      asterisk = 'hex-low', cv94 = 9
      Asterisk (*) with six-pointed shape, and low position
      asterisk = 'turn-hex-high', cv94 = 10
      Asterisk (*) with turned six-pointed shape, and high position
      asterisk = 'turn-hex-mid', cv94 = 11
      Asterisk (*) with turned six-pointed shape, and medium position
      asterisk = 'turn-hex-low', cv94 = 12
      Asterisk (*) with turned six-pointed shape, and low position
    • Styles for _:
      underscore = 'above-baseline', cv95 = 1
      Extra-high _, placed right below baseline
      underscore = 'high', cv95 = 2
      Higher underscore _, placed right below baseline (default)
      underscore = 'low', cv95 = 3
      Lower underscore _, placed right above descender line
    • Styles for ^:
      caret = 'high', cv96 = 1
      Higher circumflex ^
      caret = 'medium', cv96 = 2
      Lower circumflex ^ (default)
      caret = 'low', cv96 = 3
      Lower circumflex ^
    • Styles for (, ):
      paren = 'normal', cv97 = 1
      Parenthesis with normal contour (default)
      paren = 'large-contour', cv97 = 2
      Parenthesis with larger contour, like that in Monaco
      paren = 'flat-arc', cv97 = 3
      Parenthesis with flat arc, like that in JetBrains Mono
    • Styles for {, }:
      brace = 'straight', cv98 = 1
      More straight braces
      brace = 'curly', cv98 = 2
      More curly braces (default)
      brace = 'curly-flat-boundary', cv98 = 3
      Curly braces with flat boundary shape
    • Styles for #:
      number-sign = 'upright', cv99 = 1
      Number sign with vertical bars (default)
      number-sign = 'slanted', cv99 = 2
      Number sign with slanted bars
      number-sign = 'upright-open', cv99 = 3
      Number sign with vertical bars and open inner
      number-sign = 'slanted-open', cv99 = 4
      Number sign with slanted bars and open inner
      number-sign = 'upright-tall', cv99 = 5
      Number sign with vertical bars and taller than digits
      number-sign = 'slanted-tall', cv99 = 6
      Number sign with slanted bars and taller than digits
      number-sign = 'upright-open-tall', cv99 = 7
      Number sign with vertical bars, open inner, and taller than digits
      number-sign = 'slanted-open-tall', cv99 = 8
      Number sign with slanted bars, open inner, and taller than digits
    • Styles for &:
      ampersand = 'closed', VSAA = 1
      Ampersand (&) with a closed contour (default)
      ampersand = 'upper-open', VSAA = 2
      Ampersand (&) with an open contour at upper half
      ampersand = 'lower-open', VSAA = 3
      Ampersand (&) with an open contour at lower half
      ampersand = 'flat-top', VSAA = 4
      Ampersand (&) drawn with a flat top
      ampersand = 'et-toothed', VSAA = 5
      Ampersand (&) drawn like a ligature of Ɛ and t with tooth
      ampersand = 'et-toothless-corner', VSAA = 6
      Ampersand (&) drawn like a ligature of Ɛ and t without tooth (corner)
      ampersand = 'et-toothless-rounded', VSAA = 7
      Ampersand (&) drawn like a ligature of Ɛ and t without tooth (rounded)
      ampersand = 'et-tailed', VSAA = 8
      Ampersand (&) drawn like a ligature of Ɛ and t with tail
    • Styles for @:
      at = 'threefold', VSAB = 1
      At symbol (@) with three-fold body (default)
      at = 'threefold-tall', VSAB = 2
      At symbol (@) with three-fold body, and tall height
      at = 'threefold-solid-inner', VSAB = 3
      At symbol (@) with three-fold body, and solid inner
      at = 'threefold-solid-inner-tall', VSAB = 4
      At symbol (@) with three-fold body, solid inner, and tall height
      at = 'fourfold', VSAB = 5
      At symbol (@) with four-fold body
      at = 'fourfold-tall', VSAB = 6
      At symbol (@) with four-fold body, and tall height
      at = 'fourfold-solid-inner', VSAB = 7
      At symbol (@) with four-fold body, and solid inner
      at = 'fourfold-solid-inner-tall', VSAB = 8
      At symbol (@) with four-fold body, solid inner, and tall height
      at = 'compact', VSAB = 9
      At symbol (@) with compact body
    • Styles for $:
      dollar = 'open', VSAC = 1
      Dollar symbol with open contour
      dollar = 'through', VSAC = 2
      Dollar symbol with strike-through vertical bar (default)
      dollar = 'interrupted', VSAC = 3
      Dollar symbol with interrupted strike-through vertical bar
      dollar = 'open-cap', VSAC = 4
      Dollar symbol with open contour, not exceeding baseline and ascender
      dollar = 'through-cap', VSAC = 5
      Dollar symbol with strike-through vertical bar, not exceeding baseline and ascender
      dollar = 'interrupted-cap', VSAC = 6
      Dollar symbol with interrupted strike-through vertical bar, not exceeding baseline and ascender
    • Styles for %:
      percent = 'dots', VSAD = 1
      Percent % with rectangular dots
      percent = 'rings-segmented-slash', VSAD = 2
      Percent % with rings and segmented slash (default)
      percent = 'rings-continuous-slash', VSAD = 3
      Percent % with rings and continuous bar
      percent = 'rings-continuous-slash-also-connected', VSAD = 4
      Percent % with rings and continuous bar and the slash in % is also connected to the top-left ring
    • Styles for |, ¦:
      bar = 'natural-slope', VSAE = 1
      Bar punctuations (|) has a natural slope under italics and oblique (default)
      bar = 'force-upright', VSAE = 2
      Bar punctuations (|) is forced upright under italics and oblique
    • Styles for ':
      ascii-single-quote = 'straight', VSAF = 1
      Show ASCII quote (") as short vertical straight bar. (default)
      ascii-single-quote = 'raised-comma', VSAF = 2
      Show ASCII quote (") as raised comma.
    • Styles for `:
      ascii-grave = 'straight', VSAG = 1
      Show ASCII grave (`) as short diagonal straight bar. (default)
      ascii-grave = 'raised-inverse-comma', VSAG = 2
      Show ASCII grave (`) as raised comma.
      ascii-grave = 'raised-turn-comma', VSAG = 3
      Show ASCII grave (`) as raised turned comma, identical to curly open single quote symbols (U+2018).
    • Styles for ?:
      question = 'smooth', VSAH = 1
      Smooth question mark (?) (default)
      question = 'corner', VSAH = 2
      Question mark (?) with a corner at middle
      question = 'corner-flat-hooked', VSAH = 3
      Question mark (?) with a corner at middle and flat hook
    • Styles for :
      pilcrow = 'high', VSAI = 1
      Higher pilcrow sign (default)
      pilcrow = 'low', VSAI = 2
      Lower pilcrow sign
    • Styles for ¢:
      cent = 'open', VSAJ = 1
      Cent sign (¢) with open contour
      cent = 'through', VSAJ = 2
      Cent sign (¢) with vertical bar all through the c part (default)
      cent = 'bar-interrupted', VSAJ = 3
      Cent sign (¢) with vertical bar breaks at center
    • Styles for (Partial derivative symbol):
      partial-derivative = 'straight-bar', VSAK = 1
      The upper bar of the partial derivative symbol is straight
      partial-derivative = 'curly-bar', VSAK = 2
      The upper bar of the partial derivative symbol is curly (default)
    • Styles for µ (Micro sign):
      micro-sign = 'toothed-serifless', VSAL = 1
      Micro Sign (µ) with toothed shape; without serifs (default for Sans)
      micro-sign = 'toothed-motion-serifed', VSAL = 2
      Micro Sign (µ) with toothed shape, and motion serifs at top-left and bottom-right
      micro-sign = 'toothed-bottom-right-serifed', VSAL = 3
      Micro Sign (µ) with toothed shape, and serif at bottom-right
      micro-sign = 'toothed-serifed', VSAL = 4
      Micro Sign (µ) with toothed shape, and serifs (default for Slab)
      micro-sign = 'tailed-serifless', VSAL = 5
      Micro Sign (µ) with tailed shape; without serifs
      micro-sign = 'tailed-motion-serifed', VSAL = 6
      Micro Sign (µ) with tailed shape, and motion serifs at top-left and bottom-right
      micro-sign = 'tailed-serifed', VSAL = 7
      Micro Sign (µ) with tailed shape, and serifs
      micro-sign = 'toothless-corner-serifless', VSAL = 8
      Micro Sign (µ) with toothless (corner bottom-right) shape; without serifs
      micro-sign = 'toothless-corner-motion-serifed', VSAL = 9
      Micro Sign (µ) with toothless (corner bottom-right) shape, and motion serifs at top-left and bottom-right
      micro-sign = 'toothless-corner-serifed', VSAL = 10
      Micro Sign (µ) with toothless (corner bottom-right) shape, and serifs
      micro-sign = 'toothless-rounded-serifless', VSAL = 11
      Micro Sign (µ) with toothless (rounded) shape; without serifs
      micro-sign = 'toothless-rounded-motion-serifed', VSAL = 12
      Micro Sign (µ) with toothless (rounded) shape, and motion serifs at top-left and bottom-right
      micro-sign = 'toothless-rounded-serifed', VSAL = 13
      Micro Sign (µ) with toothless (rounded) shape, and serifs
    • Styles for <=, >= (Less-equal and Greater-equal ligations):
      lig-ltgteq = 'flat', VLAA = 1
      The lower bar of <= and >= ligation is flat (default)
      lig-ltgteq = 'slanted', VLAA = 2
      The lower bar of <= and >= ligation is slanted
    • Styles for != (Not-equal ligations):
      lig-neq = 'vertical', VLAB = 1
      The bar in inequality (!=, etc.) ligation is vertical
      lig-neq = 'slightly-slanted', VLAB = 2
      The bar in inequality (!=, etc.) ligation is slightly slanted (default)
      lig-neq = 'more-slanted', VLAB = 3
      The bar in inequality (!=, etc.) ligation is more slanted
      lig-neq = 'vertical-dotted', VLAB = 4
      The bar in inequality (!=, etc.) ligation is vertical, and with a dot at bottom for ligations built from exclamation sign (!)
      lig-neq = 'slightly-slanted-dotted', VLAB = 5
      The bar in inequality (!=, etc.) ligation is slightly slanted, and with a dot at bottom for ligations built from exclamation sign (!)
      lig-neq = 'more-slanted-dotted', VLAB = 6
      The bar in inequality (!=, etc.) ligation is more slanted, and with a dot at bottom for ligations built from exclamation sign (!)
    • Styles for == (Equality ligations):
      lig-equal-chain = 'with-notch', VLAC = 1
      The bars in equality (==, etc.) ligation have notches in the middle (default)
      lig-equal-chain = 'without-notch', VLAC = 2
      The bars in equality (==, etc.) ligation do not have notches in the middle
    • Styles for -- (Hyphen-minus ligations):
      lig-hyphen-chain = 'with-notch', VLAD = 1
      The bars in connected hyphen-minus (--, etc.) ligation have notches in the middle (default)
      lig-hyphen-chain = 'without-notch', VLAD = 2
      The bars in connected hyphen-minus (--, etc.) ligation do not have notches in the middle
    • Styles for => (Double arrow ligation):
      lig-double-arrow-bar = 'with-notch', VLAE = 1
      The bars in double arrow (=>, etc.) ligation have notches in the middle
      lig-double-arrow-bar = 'without-notch', VLAE = 2
      The bars in double arrow (=>, etc.) ligation do not have notches in the middle (default)
    • Styles for -> (Single arrow ligation):
      lig-single-arrow-bar = 'with-notch', VLAF = 1
      The bars in single arrow (=>, etc.) ligation have notches in the middle
      lig-single-arrow-bar = 'without-notch', VLAF = 2
      The bars in single arrow (=>, etc.) ligation do not have notches in the middle (default)

Configuring Weights, Widths and Slopes

Subsection weights is used to change the weight grades that the custom family needs. It is a dictionary of either strings formatted in default.<weight> format, meaning reusing a default weight grade, or sub-objects with properties:

  • shape: Number, configures the weight grade of the glyphs' shapes.
  • menu: Integer, configures the weight grade used when naming fonts.
  • css: Integer, configures the weight grade used in web font CSS.

Subsection widths is used to change the width grades that the custom family needs. It is a dictionary of either strings formatted in default.<width> format, meaning reusing a default width grade, or sub-objects with properties:

  • shape: Number, configures the width of the glyphs' shapes, measured in 1/1000 em.
  • menu: Integer, configures the width grade used when naming fonts. The valid values are 1 to 9, inclusive.
  • css: String, configures the font-stretch value used in web font CSS.

Subsection slopes is used to change the slope angles and grades that the custom family needs. It is a dictionary of either strings formatted in default.<slope> format, meaning reusing a default slope grade, or sub-objects with properties:

  • angle: Number, configures the slope angle in degrees. The valid vales are 0 to 15, inclusive.
  • shape: String from upright, italic or oblique. Configures the slope used for variant selection.
  • menu: String from upright, italic or oblique. Configures the slope grade used when naming fonts.
  • css: String from normal, italic or oblique. Configures the CSS font-style value.

Subsection slopes is a simple string-to-string dictionary maps slopes (upright, italic or oblique) to CSS font-style values, represented in string.

Compatibility Ligatures

Certain software, notably Emacs, relies on pre-encoded ligatures instead of OpenType to provide ligations. Iosevka could be configured with additional subsection compatibility-ligatures, being an array of records with following fields:

  • unicode: The PUA code point being assigned to.
  • featureTag: The feature tag to compute ligations.
  • sequence: The source character sequence.

A sample of compatibility ligature config is:

[[buildPlans.iosevka-custom.compatibility-ligatures]]
unicode = 57600 # 0xE100
featureTag = 'calt'
sequence = '<*>'

Metric Override

Subsection metric-override provides ability to override certain metric values, if you reallly want to. Adding this section is strongly discouraged as it may introduce broken geometry or broken shapes.

Property Unit Default Value Meaning
cap emu 735 Height of H.
ascender emu 735 Height of b.
xHeight emu 520 Height of x.
sb emu (varies, 60 for Regular) Width of common side-bearings.
accentWidth emu 200 Width of accent marks.
accentClearance emu 72 Vertical clearance of accent marks to the base.
accentHeight emu 176 Height of accent marks.
accentStackOffset emu 220 Offset height of accent mark stack.
dotSize emu (varies, 125 for regular) Size of dots in diacritic marks.
periodSize emu (varies, 140 for regular) Size of dots in period.
leading emu 1250 Built-in line height.
symbolMid emu 340 Height of the center of hyphen (-).
parenSize emu 966 Height of Parentheses.
winMetricAscenderPad emu 0 Additional pad for Win metrics’ ascender to avoid clipping in legacy Windows applications.
winMetricDescenderPad emu 0 Additional pad for Win metrics’ descender to avoid clipping in legacy Windows applications.
powerlineScaleX, powerlineScaleY (ratio) 1 X and Y scale of Powerline glyphs.
powerlineShiftX, powerlineShiftY emu 0 X and Y shift of Powerline glyphs.
onumZeroHeightRatio (ratio) 1.145 Ratio of height of 0 under onum feature, to the height of x.
essRatio (ratio) (varies, 1.12 for Regular) Ratio of the thickness of the neck of S/s/?, to the normal stroke width. essRatioUpper, essRatioLower and rssRatioQuestion will override this value for corresponded glyph categories when set.
essRatioUpper (ratio) (varies, 1.12 for Regular) Ratio of the thickness of the neck of S, to the normal stroke width.
essRatioLower (ratio) (varies, 1.12 for Regular) Ratio of the thickness of the neck of s, to the normal stroke width.
essRatioQuestion (ratio) (varies, 1.12 for Regular) Ratio of the thickness of the neck of ?, to the normal stroke width.
archDepth emu (varies, 195 for Regular) Depth of the curve segment of arches / O rings in capital letters.
smallArchDepth emu (varies, 200 for Regular) Depth of the curve segment of arches / O rings in small letters.

The values of each item could be either a number, or a string representing an expression so that it could be different for different instance fonts, or depending on default values. The syntax of valid expressions are:

Expression -> Term (('+' | '-') Term)*
Term       -> Factor (('*' | '/') Factor)*
Factor     -> ('+' | '-')* Primitive
Primitive  -> Literal
            | Call
            | Binding
            | Group
            | List
Literal    -> ['0'..'9']+ ('.' ['0'..'9']+)?
Identifier -> ['A'..'Z', 'a'..'z', '_']+
Call       -> Identifier '(' Expression (',' Expression)* ')'
List       -> Identifier '[' Expression (',' Expression)* ']'
Binding    -> Identifier

Valid identifiers include:

  • weight: being the weight grade;
  • width: being the characters' unit width, measured in em-units;
  • slopeAngle: being the slope angle in degrees;
  • Default value of all overridable metrics, prefixed with default_, i.e., default cap value will be accessable thorugh default_cap.

Valid functions include:

  • blend(x, [x1, y1], [x2, y2], ...): Perform a smooth interpolation through data pairs [x1, y1], [x2, y2], ..., against parameter x.

For example, the following configuration:

[buildPlans.iosevka-custom.metric-override]
leading = 1500
sb = 'default_sb * 1.0625 + 15'
dotSize = 'blend(weight, [100, 50], [400, 125], [900, 180])'

will:

  • Override line height to 1500 em-unit;
  • Override the sidebearing value by its value multiplied by 1.0625 then added with 15.
  • Override the dot size by a interpolation against weight: at thin (100) being 50, at regular (400) being 125, and at heavy (900) being 180.

Sample Configuration

A sample configuration could be found at private-build-plans.sample.toml.

TTC Building

It is possible to create a customized TTC build by using the following method:

  1. Add a collect plan into private-build-plans.toml, with a from field containing all the TTF groups it needs:
[collectPlans.iosevka-custom]
from = ["iosevka-custom1", "iosevka-custom-2"]
  1. Run build with the following command:
  • npm run build -- ttc::iosevka-custom: Create TTCs from collection iosevka-custom; The file will be saved into dist/.ttc.
  • npm run build -- super-ttc::iosevka-custom: Create a single-file TTC from collection iosevka-custom; The file will be saved into dist/.super-ttc.