diff --git a/.gitignore b/.gitignore
index 32e0843e73..e95b89805f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -47,7 +47,6 @@ font-src/meta/**/*.js
font-src/otl/**/*.js
font-src/glyphs/**/*.js
-package-lock.json
private.toml
private-build-plans.toml
private.mk
diff --git a/.npmrc b/.npmrc
deleted file mode 100644
index 43c97e719a..0000000000
--- a/.npmrc
+++ /dev/null
@@ -1 +0,0 @@
-package-lock=false
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 6f7c7e9a53..fb88aecda8 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,393 +1,13 @@
## Modifications since version 2.x
-### 9.0.1
-
- * Fix serifs in dingbat circled numbers (#1182).
- * Fix broken shape of Latin Letter Tone Five (Regression, #1074).
- * Fix broken serif of iotified capital Cyrillic letters (#1184).
-
-
-### 9.0.0
-
- * \[**Breaking**\]: Add support for expression-style metric override. The old `[metric-override.multiplies]` and `[metric-override.adds]` are no longer supported (#1181).
- * Fix motion-serifed N's broken shape (#1170).
- * Fix bar-serif overlapping in Latin Small H-bar (`U+0127`) and Cyrillic Small Dje (`U+0452`) in Sans subfamily's with-serif variants (#1171).
- * Add flat-boundary brace shape (#1172).
- * Apply variants of `I`/`i` and `J`/`j` to Dutch letters `U+0132` and `U+0133` (#1174).
- * Make dot size, period size and accent size / placement configurable (#1169, #1176).
- * Make variants of `0` apply to APL Functional Symbol Zilde (`U+236C`) and Circled Zero with Slash (`U+1F10D`) (#1178).
- * Add enclosed sans-serif digits.
- * Fix italic derived letters regression in 8.0.
-
-
-### 8.0.2
-
- * Fix TTC grouping (#1167).
-
-
-### 8.0.1
-
- * Fix filenames in 9-file TTC (#1167).
- * Fix gap in Bulgarian De (#1168).
-
-
-### 8.0.0
-
- * \[**Breaking**\] Add support for slope customization (#599, #1165).
- - Slope customization format has a major change, giving ability to customize slope grade used for variant selection, as well as slope angle.
- - The format will look like this:
- ``` toml
- [buildPlans.iosevka-custom.slopes.upright]
- angle = 0 # Angle in degrees. Valid range [0, 15]
- shape = "upright" # Slope grade used for shape selection. `upright` | `oblique` | `italic`
- menu = "upright" # Slope grade used for naming. `upright` | `oblique` | `italic`
- css = "normal" # Slope grade used for webfont CSS. `normal` | `oblique` | `italic`
-
- [buildPlans.iosevka-custom.slopes.oblique]
- angle = 9.4
- shape = "oblique"
- menu = "oblique"
- css = "oblique"
-
- [buildPlans.iosevka-custom.slopes.italic]
- angle = 9.4
- shape = "italic"
- menu = "italic"
- css = "italic"
- ```
-
-
-### 7.3.3
-
- * Fix serif placement of Latin Small Letter Reversed R with Fishhook (`U+027F`) (#1163).
-
-
-### 7.3.2
-
- * Fix anchor placement of:
- - Latin Letter Small Capital R (`U+0280`) (#1159)
- - Latin Letter Small Capital L (`U+029F`) (#1159)
- - Cyrillic Small Letter Psi (`U+0471`) (#1159)
- - Latin Letter Small Capital E (`U+1D07`) (#1159)
- - Latin Letter Small Capital L with Stroke (`U+1D0C`) (#1159)
- - Latin Letter Small Capital U (`U+1D1C`) (#1159)
- - Modifier Letter Small Capital U (`U+1DB8`) (#1159)
- - Turned Small F (`U+214E`) (#1159)
- - Latin Letter Small Capital Turned E (`U+2C7B`) (#1159)
- - Latin Small Letter Egyptological Alef (`U+A723`) (#1159)
- - Latin Small Letter Egyptological Ain (`U+A725`) (#1159)
- - Latin Letter Small Capital F (`U+A730`) (#1159)
- - Latin Small Letter R Rotunda (`U+A75B`) (#1159)
- - Combining Homothetic Above (`U+034B`) (#1162)
- - Combining Almost Equal To Above (`U+034C`) (#1162)
- - Combining Latin Small Letter Long S (`U+1DE5`) (with `cv51 = 5`) (#1162)
- - Combining Cyrillic Letter De (`U+2DE3`) (#1162)
-
-
-### 7.3.1
-
- * Fix placement of above marks over Cyrillic Small Ge, Te, and Ya (#1157).
-
-
-### 7.3.0
-
- * Add Greek Upsilon with Hook Symbol (`U+03D2`).
- * Add flat-topped lowercase Delta (#856).
- * Add rounded lowercase Xi (#856).
- * Fix Bulgarian Small Ka's variant assignment (#1147).
- * Fix shape of Ruble Sign (#1155).
-
-
-### 7.2.8
-
- * Fix broken shape of Cyrillic Small Letter Sha when `cv45 = 9` (#1154).
-
-
-### 7.2.7
-
- * Fix incorrect shape of Proportional To (`U+221D`), Infinity (`U+221E`) and Inverted Lazy S (`U+223E`) under Italic/Oblique.
- * Fix shape of `d` `serifed-tailed` (#1150).
- * Make Latin Small Letter Dotless J with Stroke and Hook (`U+0284`) follow shape of `f` (#1151).
- * Fix `cv44` application on phonetic letters (#1152).
- * Fix shape of Combining Low Line (#1153).
-
-
-### 7.2.6
-
- * Fixed shape of Bulgarian I with Breve, Yer, Yeri, De, Che and En (#1147).
-
-
-### 7.2.5
-
- * Fix placement of overlay bar in Latin Small Letter D with Stroke (`U+0111`) (#1146).
-
-
-### 7.2.4
-
- * Turn on square-dot punctuations in these stylistic sets:
- - `ss02` Anonymous Pro;
- - `ss04` Menlo;
- - `ss06` Liberation Mono;
- - `ss13` Lucida Grande Mono;
- - `ss17` Recursive Mono.
-
-
-### 7.2.3
-
- * Fix geometry of `y` (#1144).
- * Make the Zero in SS13 more distinctive (#1141).
-
-
-### 7.2.2
-
- * Fix broken geometry of Apl Functional Symbol Quad Question (`U+2370`) (#1138).
- * Add Tugrik Sign (`U+20AE`) (#1139).
-
-
-### 7.2.1
-
- * Fix missing variants of square dots of the following characters (#1136):
- * Inverted Question Mark (`U+00BF`);
- * Latin Capital Letter L with Middle Dot (`U+013F`);
- * Latin Small Letter L with Middle Dot (`U+0140`);
- * Reference Mark (`U+203B`);
- * Questioned Equal To (`U+225F`);
- * Multiset Multiplication (`U+228D`);
- * Apl Functional Symbol Quad Divide (`U+2339`);
- * Apl Functional Symbol Quad Colon (`U+2360`);
- * Apl Functional Symbol Quad Question (`U+2370`);
- * Line Integration with Rectangular Path Around Pole (`U+2A12`);
- * Line Integration with Semicircular Path Around Pole (`U+2A13`);
- * Line Integration Not Including the Pole (`U+2A14`);
- * Integral Around a Point Operator (`U+2A15`);
- * Intersection with Dot (`U+2A40`);
- * Inverted Interrobang (`U+2E18`);
- * Modifier Letter Colon (`U+A789`);
- * Colon, Semicolon, Exclamation Mark and Question Mark in ligations.
-
-
-### 7.2.0
-
- * Add square-dot variants for period, comma, colon, semicolon and all punctuations and symbols involving dot shape (diacritics are not included; #927).
- * Refine geometry of Partial Differential Symbol (`U+2202`) (#862).
- * Refine geometry of Cyrillic Small Be (`U+0431`), De (`U+0414`, `U+0434`), El (`U+041B`, `U+043B`), Ef (`U+0424`, `U+0444`), Che (`U+0247`, `U+0447`), E (`U+042D`, `U+044D`) and Ye (`U+0404`, `U+0454`) (#1128).
-
-
-### 7.1.1
-
- * Add Greek Number Sign (`U+0374`).
- * Fix Misplaced diacritics in `U+A7BA`, `U+A7BC`, and `U+A7BE` (#1125).
- * Make Modifier Letter Colon (`U+A789`) smaller than Colon (#1126).
-
-
-### 7.1.0
-
- * Add single-spacing TTC and Super TTC (#1112).
- * Add Greek Beta Symbol (`U+03D0`), Greek Kai Symbol (`U+03D7`), Greek Letter Digamma (`U+03DC`), Greek Small Letter Digamma (`U+03DD`), Greek Kappa Symbol (`U+03F0`), Greek Rho Symbol (`U+03F1`), Greek Lunate Epsilon Symbol (`U+03F5`) and Greek Reversed Lunate Epsilon Symbol (`U+03F6`).
- * Add Hryvnia sign (`U+20B4`) (#1117).
- * Fix placement of diacritics over uppercase Greek (#1115).
- * Adjust metrics of punctuations in Aile and Etoile (#1115).
- * Fix placement of mathematical colon-like operators; Add Modifier Letter Colon (`U+A789`) (#1118).
- * Improve handling of diacritics in [Kitty](https://sw.kovidgoyal.net/kitty/) (#1007, kovidgoyal/kitty#3716)).
- * Fix variant application of `cv30` on derived letters of `e` (#1120).
- * Make brailles always upright (#1124).
- * Fix geometry of:
- - Latin Capital Letter I with Ogonek (`U+012E`), Latin Small Letter with Ogonek (`U+012F`) (#1115).
- - Latin Capital Letter L with Middle Dot (`U+013F`) (#1123).
- - Latin Small Letter B with Stroke (`U+0180`) (#1115).
- - Latin Capital Letter K with Hook (`U+0198`) (#1123).
- - Latin Capital Letter Gha (`U+01A2`), Latin Small Letter Gha (`U+01A3`) (#1115).
- - Latin Capital Letter V with Hook (`U+01B2`), Latim Small Letter V with Hook (`U+028B`).
- - Latin Letter Inverted Glottal Stop with Stroke (`U+01BE`) (#1115).
- - Latin Capital Letter Hwair (`U+01F6`), Latin Small Letter Hwair (`U+0195`) (#1115).
- - Latin Capital Letter Y with Stroke (`U+024E`) (#1115).
- - Greek Capital Letter Theta (`U+0398`) (#1115).
- - Greek Capital Letter Xi (`U+039E`) (#1115).
- - Greek Capital Letter Delta (`U+0394`), Increment Symbol (`U+2206`) under Slab (#1115).
- - Greek Capital Letter Psi (`U+03A8`), Greek Small Letter Psi (`U+03C8`), Cyrillic Small Letter Psi (`U+0471`) (#1115).
- - Greek Small Letter Upsilon (`U+03C5`) (#1115).
- - Greek Small Letter Chi (`U+03C7`) (#1115).
- - Latin Small Letter A With Right Half Ring (`U+1E9A`) (#1115).
- - Latin Small Letter Y With Dot Below (`U+1EF5`) (#1115).
- - Mathematical Double-struck Capital E (`U+1D53C`) (#1119).
-
-
-### 7.0.4
-
- * Exported glyphs' names in production fonts, which enables ligatures in [Kitty](https://sw.kovidgoyal.net/kitty/) (#1007).
- * Fix broken connecting underscore ligatures (#1110).
-
-
-### 7.0.3
-
- * Fix assignment of italic `d`, `ss03`, `ss06` and `ss08` (#1104).
-
-
-### 7.0.2
-
- * Fix Aile's long-S at Italic (#1098).
- * Fix assignment of capital Gamma in `ss14` (#1099).
- * Fix rounding errors found in certain Extended glyphs (#1100).
- * Fix assignment of `k` in `ss20` (#1102).
-
-
-### 7.0.1
-
- * Add cursive for Latin Small Letter W with Hook (`U+2C73`) (#1081).
- * Fix missing variants of Latin Small Letter Turned M with Long Leg (`U+0270`) (#1082).
- * Fix broken geometry of Single-arch Latin Capital Letter Turned M (`U+019C`) (#1083).
- * Fix broken geometry of Single-arch Mathematical Bold Small M (`U+1D426`) (#1084).
- * Fix missing serif and `cv39` variants of Latin Small Letter Feng Digraph (`U+02A9`) (#1085).
- * Fix missing variant of Latin Small Letter Ue (`U+1D6B`) (#1086).
- * Fix missing serif of Italic Latin Phi (#1087).
- * Remove `U+1FB93` ("Left Half Block and Right Half Inverse Medium Shade") since it is a reserved code point for now (#1088).
- * Add Black Rightwards Arrowhead (`U+27A4`) (#1090).
- * Fix inconsistent hook shape on Latin Small Letter T with Retroflex Hook (`U+0288`) (#1091).
- * Fix regression of diacritic placement of over-the-tie marks (#1092).
- * Fix missing variants of white curly brackets (`U+2983`, `U+2984`) (#1093).
- * Fix the placement of the diacritic in Latin Small Letter L with Cedilla (`U+1E29`) (#1095).
- * Improve legibility of Ampersand (closed and upper-open) (#1096).
-
-
-### 7.0.0
-
- * \[**Breaking**\] Variant tags are reordered.
- * \[**Breaking**\] Variant names of certain letters are renamed and reorganized, including:
- - `E`.
- - `F`.
- - `H`.
- - `K`.
- - `L`.
- - `U`.
- - `a`.
- - `g`.
- - `k`.
- - `h`.
- - `l`.
- - `m`.
- - `n`.
- - `q`.
- - `u`.
- - Long-S (`ſ`).
- - Eszet (`ß`).
- - Greek Small Iota (`ι`).
- - Upper Gamma (`Γ`).
- - Cyrillic Ze (`З` and `з`).
- - Cyrillic Ka (`К` and `к`).
- - Cyrillic Small En (`н`).
- * \[**Breaking**\] Variant selector of Cyrillic Ya (`Я` / `я`) are detached from `R`.
- * Add characters:
- - All remaining letters in Cyrillic block, including:
- - Cyrillic Iotified E (`U+0464`, `U+0465`).
- - Cyrillic Omega (`U+0460`, `U+0461`), Ot (`U+047E`, `U+047F`).
- - Cyrillic Psi (`U+0470`, `U+0471`).
- - Cyrillic Broad On (`U+047A`, `U+047B`).
- - Cyrillic combining Dasia (`U+0485`), Psili (`U+0486`), Pokrytie (`U+0478`).
- - Cyrillic Ornate Omega (`U+047C`, `U+047D`).
- - Cyrillic Koppa (`U+0480`, `U+0481`).
- - Cyrillic Semi-soft Sign (`U+048C`, `U+048D`).
- - Cyrillic Er with Tick (`U+048E`, `U+048F`).
- - Cyrillic tailed Short I (`U+048A`, `U+048B`), tailed El (`U+04C5`, `U+04C6`), railed En (`U+04C9`, `U+04CA`), tailed Em (`U+04CD`, `U+04CE`).
- - Cyrillic Ka with Vertical Stroke (`U+049C`, `U+049D`).
- - Cyrillic Ka with Stroke (`U+049E`, `U+049F`).
- - Cyrillic Pe with Middle Hook (`U+04A6`, `U+04A7`).
- - Cyrillic Abkhasian Ha (`U+04A8`, `U+04A9`).
- - Cyrillic Te-Tse (`U+04B4`, `U+04B5`).
- - Cyrillic Abkhazian Che (`U+04BC` ... `U+04BF`).
- - Cyrillic Ka with Hook (`U+04C3`, `U+04C4`).
- - Cyrillic Ghe with Stroke and Hook (`U+04FA`, `U+04FB`).
- - Cyrillic Ha with Hook (`U+04FC`, `U+04FD`).
- - Cyrillic Ha with Stroke (`U+04FE`, `U+04FF`).
- - Extended Cyrillic letters, including:
- - Cyrillic Reversed Ze (`U+0510`, `U+0511`).
- - Cyrillic El with Hook (`U+0512`, `U+0513`).
- - Cyrillic Pe with Descender (`U+0524`, `U+0525`).
- - Cyrillic Shha with Descender (`U+0526`, `U+0527`).
- - Cyrillic El with Descender (`U+052E`, `U+052F`).
- - Broad Omega (`U+A64C`, `U+A64D`).
- - Low asterisk (`U+204E`) and double asterisk (`U+2051`).
- - Turned Sans-serif Capital L (`U+2142`).
- - Turned Sans-serif Capital Y (`U+2144`).
- - Measured Angle (`U+2221`).
- - Spherical Angle (`U+2222`).
- - Homothetic (`U+223B`).
- - Sine Wave (`U+223F`).
- - Wreath Product (`U+2240`).
- - Between Symbol (`U+226C`).
- - Intercalate Symbol (`U+22BA`).
- - Right Angle with Arc (`U+22BE`).
- - Element Of with Overbar (`U+22F6`).
- - Small Element Of with Overbar (`U+22F7`).
- - Contains with Overbar (`U+22FD`).
- - Small Contains with Overbar (`U+22FE`).
- - Helm symbol (`U+2388`).
- - Heavy Black Heart (`U+2764`) (#920).
- - Squared Three D ... Squared VOD (`U+1F19B` ... `U+1F1AC`).
- * Add variants and stylistic sets:
- - Add tailed variants for Cyrillic El, En, Che, Yery and Ya (#972).
- - Add more serifed variants for `K`, `k`, `n`, Cyrillic Ka (`К` and `к`) and Cyrillic Ef (`ф`) to better reproduce PT Mono (#986).
- - Add top-left serifed variant for `m` (#1052).
- - Add descending variants for Long-S and Eszet (#1070).
- - Add SS18 to represent Input Mono (#990).
- * Fixes of variant selector application on derived letters or letter forms, including:
- - Cyrillic En (#1006).
- - Small U with Retroflex Hook (`U+1D99`) and Capital T with Retroflex Hook (`U+01AE`) (#1008).
- - Derivatives of Latin Small Letter L (#1015).
- - Latin Small Ligature Fi (`U+FB01`), Latin Small Ligature Fl (`U+FB02`) (#1015).
- - Latin Small Letter Ue (`U+1D6B`) (#1022).
- - Latin Capital Letter AE (`U+00C6`), Latin Capital Letter OE (`U+0152`) and derivatives (#1031).
- - Polytonic Greek letters with dual-diacritics (#1031).
- - Latin Capital B with Stroke (`U+0243`) and derivatives (#1033).
- - Latin Capital Letter F with Hook (`U+0191`) (#1038).
- - Latin Capital Letter K with Hook (`U+0198`), Latin Small Letter K with Hook (`U+0199`) (#1042).
- - Naira Sign (`U+20A6`) (#1045).
- - Greek Lunate Sigma (`U+03F9`) and derivatives (#1046).
- - P with Hook (`U+01A4`), Ruble sign (`U+20BD`) (#1047).
- - Yr (`U+01A6`), R-rotunda (`U+A75A`, `U+A75B`) (#1049).
- - Hwair (`U+01F6`), Cyrillic Capital Nje (`U+040A`) (#1059).
- - Cyrillic Izhitsa (`U+0474`) (#1061).
- - Latin Capital Letter W with Hook (`U+2C72`), Latin Small Letter W with Hook (`U+2C73`) (#1062).
- - Latin Small Letter with Palatial Hook (`U+01AB`), Latin Small Letter T with Hook (`U+01AD`), Latin Small Letter T with Retroflex Hook (`U+0288`),
- - Latin Small Letter FEng Digraph (`U+02A9`) (#1063)
- - Latin Small Letter Reversed Open E with Hook (`U+025D`) (#1063).
- - Latin Capital Letter Z with Swash Tail (`U+2C7F`), Latin Small Letter Z with Swash Tail (`U+0240`) (#1064).
- - Latin Small Letter D with Curl (`U+0221`), Latin Small Letter D with Tail (`U+0256`), Latin Small Letter D with Hook and Tail (`U+1D91`) (#1067).
- - Interrobang (`U+203D`), APL Functional Symbol Quad Question (`U+2370`), Inverted Interrobang (`U+2E18`) (#1075).
- - Latin Small Letter N with Long Leg (`U+019E`), Latin Capital Letter N with Lon gLeg (`U+0220`).
- - Latin Small Letter N with Curl (`U+0235`).
- - Latin Small Letter T with Curl (`U+0236`).
- - Latin Small Letter J with Curl (`U+029D`).
- - Latin Capital Letter Turned M (`U+019C`), Latin Small Letter Turned M (`U+026F`), Latin Small Letter Turned M with Long Leg (`U+0270`), Latin Small Letter M with Hook (`U+0271`).
- - Latin Small Letter G with Hook (`U+0260`), Latin Small Letter Script G (`U+0261`).
- - Latin Small Letter Turned H (`U+0265`), Latin Small Letter H with Hook (`U+0266`), Latin Small Letter Heng with Hook (`U+0267`).
- * Fix incorrect or inconsistent serifs for Slab, including:
- - Cyrillic Small Capital El (`U+1D2B`) (#1014).
- - Latin Capital Reversed E (`U+018E`) and Modifier Capital Reversed E (`U+1D32`) (#1016).
- - Modifier Cyrillic En (`U+1D78`) under Italic (#1017).
- - Turned Sans-Serif Capital G (`U+2141`) (#1019).
- - Micro Sign (`U+00B5`) (#1025).
- - All mathematical sans-serif letters under any CV/SS application (#1030).
- * Geometry fixes:
- - Fix misplaced descender on Cyrillic Small Letter Te with Descender (`U+04AD`) (#1005).
- - Fix gap in the curly variant of R-rotunda (`U+A75A`, `U+A75B`) (#1012).
- - Fix incorrect shape of Modifier Letter Capital H with Stroke (`U+A7F8`) (#1024).
- - Fix shape of Copyleft Symbol (`U+1F12F`) (#1034).
- - Fix incorrect mapping of Greek Small Reversed Lunate Sigma Symbol (`U+037B`) and Greek Capital Reversed Lunate Sigma Symbol (`U+03FD`) (#1036).
- - Fix incorrect shape of Symbol For Device Control One (`U+2411`) (#1037).
- - Fix incorrect glyph shape mapping of Up Right Diagonal Ellipsis (`U+22F0`) and Down Right Diagonal Ellipsis (`U+22F1`) (#1039).
- - Fix missing dot on Latin Small Letter I with Stroke (`U+0268`) and Modifier Letter Small I with Stroke (`U+1DA4`) (#1043, #1066).
- - Fix incorrect slope of Circled Italic Latin Capital C (`U+1F12B`) and Circled Italic Latin Capital R (`U+1F12C`) (#1051).
- - Fix wrong glyphs for Letter Tone Five (`U+01BC`, `U+01BD`) (#1074).
- - Fix top hooks on some phonetic letters (`U+0253`, `U+0266`, `U+0267`, `U+01A5`) (#1072).
- - Fix geometry of mathematical tileable brackets and integral signs in Italic/Oblique (#1076).
- - Fix geometry of Latin Small Letter Tone Six (`U+0185`) to follow L2/19-201 (#1078).
- * Geometry refinements:
- - Balance stroke width of curly W/w in bold weights (#1011).
- - Increase visibility of Cyrillic Descender (#1018).
- - Increase oval size of Cyrillic Be (`U+0431`) (#1023).
- - Make lowercase Cyrillic Em wider (Aile/Etoile) (#1028).
- - Make combining parentheses more significant (#1032).
- - Latin Small Letter Schwa with Hook (`U+025A`), Latin Small Letter Reversed Open E with Hook (`U+025D`) (#1063).
- * Refine mark placement:
- - `E`, `t` and `r` (#1063).
+### 10.0.0
+
+ * \[**Breaking**\] Fix typo of variant name `standing-motion-serifed` of `capital-r` (#1187).
+ * \[**Breaking**\] Change of variant names:
+ - `one`.`nobase` → `one`.`no-base`
+ - `one`.`nobase-long-top-serif` → `one`.`no-base-long-top-serif`
+ - `one`.`nobase-flat-top-serif` → `one`.`no-base-flat-top-serif`
+ - `three`.`flattop` → `three`.`flat-top`
+ - `three`.`twoarcs` → `three`.`two-arcs`
+ * Fix variant application of bar glyph in Oblique (#1191).
diff --git a/PACKAGE-LIST.md b/PACKAGE-LIST.md
index e19e92ce9b..f0823cefba 100644
--- a/PACKAGE-LIST.md
+++ b/PACKAGE-LIST.md
@@ -1,4 +1,4 @@
-# Package list of Release 9.0.1
+# Package list of Release 10.0.0
## Prebuilt Packages
Iosevka provides a large variety of variants. Prebuilt variants are listed below. For all Monospace variants' packages, it will contain three _spacing variants_. You can either download the package containing all the spacing variants (recommended), or cherry-pick the variant with specific spacing.
@@ -19,145 +19,145 @@ Iosevka provides various packaging formats, here is the list of them:
-📦 Iosevka — Monospace, Default | Super TTC | TTC | |
- └ Sub-packages | Spacing | Ligatures | Downloads |
- ├ Iosevka | Default | Yes | Super TTC | TTC | TTF | Unhinted | WebFont |
- ├ Iosevka Term | Terminal | Yes | Super TTC | TTC | TTF | Unhinted | WebFont |
- └ Iosevka Fixed | Fixed | No | Super TTC | TTC | TTF | Unhinted | WebFont |
-![](https://raw.githubusercontent.com/be5invis/Iosevka/v9.0.1/images/iosevka.png) |
-📦 Iosevka Slab — Monospace, Slab-serif | Super TTC | TTC | |
- └ Sub-packages | Spacing | Ligatures | Downloads |
- ├ Iosevka Slab | Default | Yes | Super TTC | TTC | TTF | Unhinted | WebFont |
- ├ Iosevka Term Slab | Terminal | Yes | Super TTC | TTC | TTF | Unhinted | WebFont |
- └ Iosevka Fixed Slab | Fixed | No | Super TTC | TTC | TTF | Unhinted | WebFont |
-![](https://raw.githubusercontent.com/be5invis/Iosevka/v9.0.1/images/iosevka-slab.png) |
-📦 Iosevka Curly — Monospace, Curly Style | Super TTC | TTC | |
- └ Sub-packages | Spacing | Ligatures | Downloads |
- ├ Iosevka Curly | Default | Yes | Super TTC | TTC | TTF | Unhinted | WebFont |
- ├ Iosevka Term Curly | Terminal | Yes | Super TTC | TTC | TTF | Unhinted | WebFont |
- └ Iosevka Fixed Curly | Fixed | No | Super TTC | TTC | TTF | Unhinted | WebFont |
-![](https://raw.githubusercontent.com/be5invis/Iosevka/v9.0.1/images/iosevka-curly.png) |
-📦 Iosevka Curly Slab — Monospace, Curly Style, Slab-serif | Super TTC | TTC | |
- └ Sub-packages | Spacing | Ligatures | Downloads |
- ├ Iosevka Curly Slab | Default | Yes | Super TTC | TTC | TTF | Unhinted | WebFont |
- ├ Iosevka Term Curly Slab | Terminal | Yes | Super TTC | TTC | TTF | Unhinted | WebFont |
- └ Iosevka Fixed Curly Slab | Fixed | No | Super TTC | TTC | TTF | Unhinted | WebFont |
-![](https://raw.githubusercontent.com/be5invis/Iosevka/v9.0.1/images/iosevka-curly-slab.png) |
-📦 Iosevka SS01 — Monospace, Andale Mono Style | Super TTC | TTC | |
- └ Sub-packages | Spacing | Ligatures | Downloads |
- ├ Iosevka SS01 | Default | Yes | Super TTC | TTC | TTF | Unhinted | WebFont |
- ├ Iosevka Term SS01 | Terminal | Yes | Super TTC | TTC | TTF | Unhinted | WebFont |
- └ Iosevka Fixed SS01 | Fixed | No | Super TTC | TTC | TTF | Unhinted | WebFont |
-![](https://raw.githubusercontent.com/be5invis/Iosevka/v9.0.1/images/iosevka-ss01.png) |
-📦 Iosevka SS02 — Monospace, Anonymous Pro Style | Super TTC | TTC | |
- └ Sub-packages | Spacing | Ligatures | Downloads |
- ├ Iosevka SS02 | Default | Yes | Super TTC | TTC | TTF | Unhinted | WebFont |
- ├ Iosevka Term SS02 | Terminal | Yes | Super TTC | TTC | TTF | Unhinted | WebFont |
- └ Iosevka Fixed SS02 | Fixed | No | Super TTC | TTC | TTF | Unhinted | WebFont |
-![](https://raw.githubusercontent.com/be5invis/Iosevka/v9.0.1/images/iosevka-ss02.png) |
-📦 Iosevka SS03 — Monospace, Consolas Style | Super TTC | TTC | |
- └ Sub-packages | Spacing | Ligatures | Downloads |
- ├ Iosevka SS03 | Default | Yes | Super TTC | TTC | TTF | Unhinted | WebFont |
- ├ Iosevka Term SS03 | Terminal | Yes | Super TTC | TTC | TTF | Unhinted | WebFont |
- └ Iosevka Fixed SS03 | Fixed | No | Super TTC | TTC | TTF | Unhinted | WebFont |
-![](https://raw.githubusercontent.com/be5invis/Iosevka/v9.0.1/images/iosevka-ss03.png) |
-📦 Iosevka SS04 — Monospace, Menlo Style | Super TTC | TTC | |
- └ Sub-packages | Spacing | Ligatures | Downloads |
- ├ Iosevka SS04 | Default | Yes | Super TTC | TTC | TTF | Unhinted | WebFont |
- ├ Iosevka Term SS04 | Terminal | Yes | Super TTC | TTC | TTF | Unhinted | WebFont |
- └ Iosevka Fixed SS04 | Fixed | No | Super TTC | TTC | TTF | Unhinted | WebFont |
-![](https://raw.githubusercontent.com/be5invis/Iosevka/v9.0.1/images/iosevka-ss04.png) |
-📦 Iosevka SS05 — Monospace, Fira Mono Style | Super TTC | TTC | |
- └ Sub-packages | Spacing | Ligatures | Downloads |
- ├ Iosevka SS05 | Default | Yes | Super TTC | TTC | TTF | Unhinted | WebFont |
- ├ Iosevka Term SS05 | Terminal | Yes | Super TTC | TTC | TTF | Unhinted | WebFont |
- └ Iosevka Fixed SS05 | Fixed | No | Super TTC | TTC | TTF | Unhinted | WebFont |
-![](https://raw.githubusercontent.com/be5invis/Iosevka/v9.0.1/images/iosevka-ss05.png) |
-📦 Iosevka SS06 — Monospace, Liberation Mono Style | Super TTC | TTC | |
- └ Sub-packages | Spacing | Ligatures | Downloads |
- ├ Iosevka SS06 | Default | Yes | Super TTC | TTC | TTF | Unhinted | WebFont |
- ├ Iosevka Term SS06 | Terminal | Yes | Super TTC | TTC | TTF | Unhinted | WebFont |
- └ Iosevka Fixed SS06 | Fixed | No | Super TTC | TTC | TTF | Unhinted | WebFont |
-![](https://raw.githubusercontent.com/be5invis/Iosevka/v9.0.1/images/iosevka-ss06.png) |
-📦 Iosevka SS07 — Monospace, Monaco Style | Super TTC | TTC | |
- └ Sub-packages | Spacing | Ligatures | Downloads |
- ├ Iosevka SS07 | Default | Yes | Super TTC | TTC | TTF | Unhinted | WebFont |
- ├ Iosevka Term SS07 | Terminal | Yes | Super TTC | TTC | TTF | Unhinted | WebFont |
- └ Iosevka Fixed SS07 | Fixed | No | Super TTC | TTC | TTF | Unhinted | WebFont |
-![](https://raw.githubusercontent.com/be5invis/Iosevka/v9.0.1/images/iosevka-ss07.png) |
-📦 Iosevka SS08 — Monospace, Pragmata Pro Style | Super TTC | TTC | |
- └ Sub-packages | Spacing | Ligatures | Downloads |
- ├ Iosevka SS08 | Default | Yes | Super TTC | TTC | TTF | Unhinted | WebFont |
- ├ Iosevka Term SS08 | Terminal | Yes | Super TTC | TTC | TTF | Unhinted | WebFont |
- └ Iosevka Fixed SS08 | Fixed | No | Super TTC | TTC | TTF | Unhinted | WebFont |
-![](https://raw.githubusercontent.com/be5invis/Iosevka/v9.0.1/images/iosevka-ss08.png) |
-📦 Iosevka SS09 — Monospace, Source Code Pro Style | Super TTC | TTC | |
- └ Sub-packages | Spacing | Ligatures | Downloads |
- ├ Iosevka SS09 | Default | Yes | Super TTC | TTC | TTF | Unhinted | WebFont |
- ├ Iosevka Term SS09 | Terminal | Yes | Super TTC | TTC | TTF | Unhinted | WebFont |
- └ Iosevka Fixed SS09 | Fixed | No | Super TTC | TTC | TTF | Unhinted | WebFont |
-![](https://raw.githubusercontent.com/be5invis/Iosevka/v9.0.1/images/iosevka-ss09.png) |
-📦 Iosevka SS10 — Monospace, Envy Code R Style | Super TTC | TTC | |
- └ Sub-packages | Spacing | Ligatures | Downloads |
- ├ Iosevka SS10 | Default | Yes | Super TTC | TTC | TTF | Unhinted | WebFont |
- ├ Iosevka Term SS10 | Terminal | Yes | Super TTC | TTC | TTF | Unhinted | WebFont |
- └ Iosevka Fixed SS10 | Fixed | No | Super TTC | TTC | TTF | Unhinted | WebFont |
-![](https://raw.githubusercontent.com/be5invis/Iosevka/v9.0.1/images/iosevka-ss10.png) |
-📦 Iosevka SS11 — Monospace, X Windows Fixed Style | Super TTC | TTC | |
- └ Sub-packages | Spacing | Ligatures | Downloads |
- ├ Iosevka SS11 | Default | Yes | Super TTC | TTC | TTF | Unhinted | WebFont |
- ├ Iosevka Term SS11 | Terminal | Yes | Super TTC | TTC | TTF | Unhinted | WebFont |
- └ Iosevka Fixed SS11 | Fixed | No | Super TTC | TTC | TTF | Unhinted | WebFont |
-![](https://raw.githubusercontent.com/be5invis/Iosevka/v9.0.1/images/iosevka-ss11.png) |
-📦 Iosevka SS12 — Monospace, Ubuntu Mono Style | Super TTC | TTC | |
- └ Sub-packages | Spacing | Ligatures | Downloads |
- ├ Iosevka SS12 | Default | Yes | Super TTC | TTC | TTF | Unhinted | WebFont |
- ├ Iosevka Term SS12 | Terminal | Yes | Super TTC | TTC | TTF | Unhinted | WebFont |
- └ Iosevka Fixed SS12 | Fixed | No | Super TTC | TTC | TTF | Unhinted | WebFont |
-![](https://raw.githubusercontent.com/be5invis/Iosevka/v9.0.1/images/iosevka-ss12.png) |
-📦 Iosevka SS13 — Monospace, Lucida Style | Super TTC | TTC | |
- └ Sub-packages | Spacing | Ligatures | Downloads |
- ├ Iosevka SS13 | Default | Yes | Super TTC | TTC | TTF | Unhinted | WebFont |
- ├ Iosevka Term SS13 | Terminal | Yes | Super TTC | TTC | TTF | Unhinted | WebFont |
- └ Iosevka Fixed SS13 | Fixed | No | Super TTC | TTC | TTF | Unhinted | WebFont |
-![](https://raw.githubusercontent.com/be5invis/Iosevka/v9.0.1/images/iosevka-ss13.png) |
-📦 Iosevka SS14 — Monospace, JetBrains Mono Style | Super TTC | TTC | |
- └ Sub-packages | Spacing | Ligatures | Downloads |
- ├ Iosevka SS14 | Default | Yes | Super TTC | TTC | TTF | Unhinted | WebFont |
- ├ Iosevka Term SS14 | Terminal | Yes | Super TTC | TTC | TTF | Unhinted | WebFont |
- └ Iosevka Fixed SS14 | Fixed | No | Super TTC | TTC | TTF | Unhinted | WebFont |
-![](https://raw.githubusercontent.com/be5invis/Iosevka/v9.0.1/images/iosevka-ss14.png) |
-📦 Iosevka SS15 — Monospace, IBM Plex Mono Style | Super TTC | TTC | |
- └ Sub-packages | Spacing | Ligatures | Downloads |
- ├ Iosevka SS15 | Default | Yes | Super TTC | TTC | TTF | Unhinted | WebFont |
- ├ Iosevka Term SS15 | Terminal | Yes | Super TTC | TTC | TTF | Unhinted | WebFont |
- └ Iosevka Fixed SS15 | Fixed | No | Super TTC | TTC | TTF | Unhinted | WebFont |
-![](https://raw.githubusercontent.com/be5invis/Iosevka/v9.0.1/images/iosevka-ss15.png) |
-📦 Iosevka SS16 — Monospace, PT Mono Style | Super TTC | TTC | |
- └ Sub-packages | Spacing | Ligatures | Downloads |
- ├ Iosevka SS16 | Default | Yes | Super TTC | TTC | TTF | Unhinted | WebFont |
- ├ Iosevka Term SS16 | Terminal | Yes | Super TTC | TTC | TTF | Unhinted | WebFont |
- └ Iosevka Fixed SS16 | Fixed | No | Super TTC | TTC | TTF | Unhinted | WebFont |
-![](https://raw.githubusercontent.com/be5invis/Iosevka/v9.0.1/images/iosevka-ss16.png) |
-📦 Iosevka SS17 — Monospace, Recursive Mono Style | Super TTC | TTC | |
- └ Sub-packages | Spacing | Ligatures | Downloads |
- ├ Iosevka SS17 | Default | Yes | Super TTC | TTC | TTF | Unhinted | WebFont |
- ├ Iosevka Term SS17 | Terminal | Yes | Super TTC | TTC | TTF | Unhinted | WebFont |
- └ Iosevka Fixed SS17 | Fixed | No | Super TTC | TTC | TTF | Unhinted | WebFont |
-![](https://raw.githubusercontent.com/be5invis/Iosevka/v9.0.1/images/iosevka-ss17.png) |
-📦 Iosevka SS18 — Monospace, Input Mono Style | Super TTC | TTC | |
- └ Sub-packages | Spacing | Ligatures | Downloads |
- ├ Iosevka SS18 | Default | Yes | Super TTC | TTC | TTF | Unhinted | WebFont |
- ├ Iosevka Term SS18 | Terminal | Yes | Super TTC | TTC | TTF | Unhinted | WebFont |
- └ Iosevka Fixed SS18 | Fixed | No | Super TTC | TTC | TTF | Unhinted | WebFont |
-![](https://raw.githubusercontent.com/be5invis/Iosevka/v9.0.1/images/iosevka-ss18.png) |
-📦 Iosevka Aile — Quasi-proportional, Sans-serif | Super TTC | TTC | |
- └ Sub-packages | Spacing | Ligatures | Downloads |
- └ Iosevka Aile | Default | No | Super TTC | TTC | TTF | Unhinted | WebFont |
-![](https://raw.githubusercontent.com/be5invis/Iosevka/v9.0.1/images/iosevka-aile.png) |
-📦 Iosevka Etoile — Quasi-proportional, Slab-serif | Super TTC | TTC | |
- └ Sub-packages | Spacing | Ligatures | Downloads |
- └ Iosevka Etoile | Default | No | Super TTC | TTC | TTF | Unhinted | WebFont |
-![](https://raw.githubusercontent.com/be5invis/Iosevka/v9.0.1/images/iosevka-etoile.png) |
+📦 Iosevka — Monospace, Default | Super TTC | TTC | |
+ └ Sub-packages | Spacing | Ligatures | Downloads |
+ ├ Iosevka | Default | Yes | Super TTC | TTC | TTF | Unhinted | WebFont |
+ ├ Iosevka Term | Terminal | Yes | Super TTC | TTC | TTF | Unhinted | WebFont |
+ └ Iosevka Fixed | Fixed | No | Super TTC | TTC | TTF | Unhinted | WebFont |
+![](https://raw.githubusercontent.com/be5invis/Iosevka/v10.0.0/images/iosevka.png) |
+📦 Iosevka Slab — Monospace, Slab-serif | Super TTC | TTC | |
+ └ Sub-packages | Spacing | Ligatures | Downloads |
+ ├ Iosevka Slab | Default | Yes | Super TTC | TTC | TTF | Unhinted | WebFont |
+ ├ Iosevka Term Slab | Terminal | Yes | Super TTC | TTC | TTF | Unhinted | WebFont |
+ └ Iosevka Fixed Slab | Fixed | No | Super TTC | TTC | TTF | Unhinted | WebFont |
+![](https://raw.githubusercontent.com/be5invis/Iosevka/v10.0.0/images/iosevka-slab.png) |
+📦 Iosevka Curly — Monospace, Curly Style | Super TTC | TTC | |
+ └ Sub-packages | Spacing | Ligatures | Downloads |
+ ├ Iosevka Curly | Default | Yes | Super TTC | TTC | TTF | Unhinted | WebFont |
+ ├ Iosevka Term Curly | Terminal | Yes | Super TTC | TTC | TTF | Unhinted | WebFont |
+ └ Iosevka Fixed Curly | Fixed | No | Super TTC | TTC | TTF | Unhinted | WebFont |
+![](https://raw.githubusercontent.com/be5invis/Iosevka/v10.0.0/images/iosevka-curly.png) |
+📦 Iosevka Curly Slab — Monospace, Curly Style, Slab-serif | Super TTC | TTC | |
+ └ Sub-packages | Spacing | Ligatures | Downloads |
+ ├ Iosevka Curly Slab | Default | Yes | Super TTC | TTC | TTF | Unhinted | WebFont |
+ ├ Iosevka Term Curly Slab | Terminal | Yes | Super TTC | TTC | TTF | Unhinted | WebFont |
+ └ Iosevka Fixed Curly Slab | Fixed | No | Super TTC | TTC | TTF | Unhinted | WebFont |
+![](https://raw.githubusercontent.com/be5invis/Iosevka/v10.0.0/images/iosevka-curly-slab.png) |
+📦 Iosevka SS01 — Monospace, Andale Mono Style | Super TTC | TTC | |
+ └ Sub-packages | Spacing | Ligatures | Downloads |
+ ├ Iosevka SS01 | Default | Yes | Super TTC | TTC | TTF | Unhinted | WebFont |
+ ├ Iosevka Term SS01 | Terminal | Yes | Super TTC | TTC | TTF | Unhinted | WebFont |
+ └ Iosevka Fixed SS01 | Fixed | No | Super TTC | TTC | TTF | Unhinted | WebFont |
+![](https://raw.githubusercontent.com/be5invis/Iosevka/v10.0.0/images/iosevka-ss01.png) |
+📦 Iosevka SS02 — Monospace, Anonymous Pro Style | Super TTC | TTC | |
+ └ Sub-packages | Spacing | Ligatures | Downloads |
+ ├ Iosevka SS02 | Default | Yes | Super TTC | TTC | TTF | Unhinted | WebFont |
+ ├ Iosevka Term SS02 | Terminal | Yes | Super TTC | TTC | TTF | Unhinted | WebFont |
+ └ Iosevka Fixed SS02 | Fixed | No | Super TTC | TTC | TTF | Unhinted | WebFont |
+![](https://raw.githubusercontent.com/be5invis/Iosevka/v10.0.0/images/iosevka-ss02.png) |
+📦 Iosevka SS03 — Monospace, Consolas Style | Super TTC | TTC | |
+ └ Sub-packages | Spacing | Ligatures | Downloads |
+ ├ Iosevka SS03 | Default | Yes | Super TTC | TTC | TTF | Unhinted | WebFont |
+ ├ Iosevka Term SS03 | Terminal | Yes | Super TTC | TTC | TTF | Unhinted | WebFont |
+ └ Iosevka Fixed SS03 | Fixed | No | Super TTC | TTC | TTF | Unhinted | WebFont |
+![](https://raw.githubusercontent.com/be5invis/Iosevka/v10.0.0/images/iosevka-ss03.png) |
+📦 Iosevka SS04 — Monospace, Menlo Style | Super TTC | TTC | |
+ └ Sub-packages | Spacing | Ligatures | Downloads |
+ ├ Iosevka SS04 | Default | Yes | Super TTC | TTC | TTF | Unhinted | WebFont |
+ ├ Iosevka Term SS04 | Terminal | Yes | Super TTC | TTC | TTF | Unhinted | WebFont |
+ └ Iosevka Fixed SS04 | Fixed | No | Super TTC | TTC | TTF | Unhinted | WebFont |
+![](https://raw.githubusercontent.com/be5invis/Iosevka/v10.0.0/images/iosevka-ss04.png) |
+📦 Iosevka SS05 — Monospace, Fira Mono Style | Super TTC | TTC | |
+ └ Sub-packages | Spacing | Ligatures | Downloads |
+ ├ Iosevka SS05 | Default | Yes | Super TTC | TTC | TTF | Unhinted | WebFont |
+ ├ Iosevka Term SS05 | Terminal | Yes | Super TTC | TTC | TTF | Unhinted | WebFont |
+ └ Iosevka Fixed SS05 | Fixed | No | Super TTC | TTC | TTF | Unhinted | WebFont |
+![](https://raw.githubusercontent.com/be5invis/Iosevka/v10.0.0/images/iosevka-ss05.png) |
+📦 Iosevka SS06 — Monospace, Liberation Mono Style | Super TTC | TTC | |
+ └ Sub-packages | Spacing | Ligatures | Downloads |
+ ├ Iosevka SS06 | Default | Yes | Super TTC | TTC | TTF | Unhinted | WebFont |
+ ├ Iosevka Term SS06 | Terminal | Yes | Super TTC | TTC | TTF | Unhinted | WebFont |
+ └ Iosevka Fixed SS06 | Fixed | No | Super TTC | TTC | TTF | Unhinted | WebFont |
+![](https://raw.githubusercontent.com/be5invis/Iosevka/v10.0.0/images/iosevka-ss06.png) |
+📦 Iosevka SS07 — Monospace, Monaco Style | Super TTC | TTC | |
+ └ Sub-packages | Spacing | Ligatures | Downloads |
+ ├ Iosevka SS07 | Default | Yes | Super TTC | TTC | TTF | Unhinted | WebFont |
+ ├ Iosevka Term SS07 | Terminal | Yes | Super TTC | TTC | TTF | Unhinted | WebFont |
+ └ Iosevka Fixed SS07 | Fixed | No | Super TTC | TTC | TTF | Unhinted | WebFont |
+![](https://raw.githubusercontent.com/be5invis/Iosevka/v10.0.0/images/iosevka-ss07.png) |
+📦 Iosevka SS08 — Monospace, Pragmata Pro Style | Super TTC | TTC | |
+ └ Sub-packages | Spacing | Ligatures | Downloads |
+ ├ Iosevka SS08 | Default | Yes | Super TTC | TTC | TTF | Unhinted | WebFont |
+ ├ Iosevka Term SS08 | Terminal | Yes | Super TTC | TTC | TTF | Unhinted | WebFont |
+ └ Iosevka Fixed SS08 | Fixed | No | Super TTC | TTC | TTF | Unhinted | WebFont |
+![](https://raw.githubusercontent.com/be5invis/Iosevka/v10.0.0/images/iosevka-ss08.png) |
+📦 Iosevka SS09 — Monospace, Source Code Pro Style | Super TTC | TTC | |
+ └ Sub-packages | Spacing | Ligatures | Downloads |
+ ├ Iosevka SS09 | Default | Yes | Super TTC | TTC | TTF | Unhinted | WebFont |
+ ├ Iosevka Term SS09 | Terminal | Yes | Super TTC | TTC | TTF | Unhinted | WebFont |
+ └ Iosevka Fixed SS09 | Fixed | No | Super TTC | TTC | TTF | Unhinted | WebFont |
+![](https://raw.githubusercontent.com/be5invis/Iosevka/v10.0.0/images/iosevka-ss09.png) |
+📦 Iosevka SS10 — Monospace, Envy Code R Style | Super TTC | TTC | |
+ └ Sub-packages | Spacing | Ligatures | Downloads |
+ ├ Iosevka SS10 | Default | Yes | Super TTC | TTC | TTF | Unhinted | WebFont |
+ ├ Iosevka Term SS10 | Terminal | Yes | Super TTC | TTC | TTF | Unhinted | WebFont |
+ └ Iosevka Fixed SS10 | Fixed | No | Super TTC | TTC | TTF | Unhinted | WebFont |
+![](https://raw.githubusercontent.com/be5invis/Iosevka/v10.0.0/images/iosevka-ss10.png) |
+📦 Iosevka SS11 — Monospace, X Windows Fixed Style | Super TTC | TTC | |
+ └ Sub-packages | Spacing | Ligatures | Downloads |
+ ├ Iosevka SS11 | Default | Yes | Super TTC | TTC | TTF | Unhinted | WebFont |
+ ├ Iosevka Term SS11 | Terminal | Yes | Super TTC | TTC | TTF | Unhinted | WebFont |
+ └ Iosevka Fixed SS11 | Fixed | No | Super TTC | TTC | TTF | Unhinted | WebFont |
+![](https://raw.githubusercontent.com/be5invis/Iosevka/v10.0.0/images/iosevka-ss11.png) |
+📦 Iosevka SS12 — Monospace, Ubuntu Mono Style | Super TTC | TTC | |
+ └ Sub-packages | Spacing | Ligatures | Downloads |
+ ├ Iosevka SS12 | Default | Yes | Super TTC | TTC | TTF | Unhinted | WebFont |
+ ├ Iosevka Term SS12 | Terminal | Yes | Super TTC | TTC | TTF | Unhinted | WebFont |
+ └ Iosevka Fixed SS12 | Fixed | No | Super TTC | TTC | TTF | Unhinted | WebFont |
+![](https://raw.githubusercontent.com/be5invis/Iosevka/v10.0.0/images/iosevka-ss12.png) |
+📦 Iosevka SS13 — Monospace, Lucida Style | Super TTC | TTC | |
+ └ Sub-packages | Spacing | Ligatures | Downloads |
+ ├ Iosevka SS13 | Default | Yes | Super TTC | TTC | TTF | Unhinted | WebFont |
+ ├ Iosevka Term SS13 | Terminal | Yes | Super TTC | TTC | TTF | Unhinted | WebFont |
+ └ Iosevka Fixed SS13 | Fixed | No | Super TTC | TTC | TTF | Unhinted | WebFont |
+![](https://raw.githubusercontent.com/be5invis/Iosevka/v10.0.0/images/iosevka-ss13.png) |
+📦 Iosevka SS14 — Monospace, JetBrains Mono Style | Super TTC | TTC | |
+ └ Sub-packages | Spacing | Ligatures | Downloads |
+ ├ Iosevka SS14 | Default | Yes | Super TTC | TTC | TTF | Unhinted | WebFont |
+ ├ Iosevka Term SS14 | Terminal | Yes | Super TTC | TTC | TTF | Unhinted | WebFont |
+ └ Iosevka Fixed SS14 | Fixed | No | Super TTC | TTC | TTF | Unhinted | WebFont |
+![](https://raw.githubusercontent.com/be5invis/Iosevka/v10.0.0/images/iosevka-ss14.png) |
+📦 Iosevka SS15 — Monospace, IBM Plex Mono Style | Super TTC | TTC | |
+ └ Sub-packages | Spacing | Ligatures | Downloads |
+ ├ Iosevka SS15 | Default | Yes | Super TTC | TTC | TTF | Unhinted | WebFont |
+ ├ Iosevka Term SS15 | Terminal | Yes | Super TTC | TTC | TTF | Unhinted | WebFont |
+ └ Iosevka Fixed SS15 | Fixed | No | Super TTC | TTC | TTF | Unhinted | WebFont |
+![](https://raw.githubusercontent.com/be5invis/Iosevka/v10.0.0/images/iosevka-ss15.png) |
+📦 Iosevka SS16 — Monospace, PT Mono Style | Super TTC | TTC | |
+ └ Sub-packages | Spacing | Ligatures | Downloads |
+ ├ Iosevka SS16 | Default | Yes | Super TTC | TTC | TTF | Unhinted | WebFont |
+ ├ Iosevka Term SS16 | Terminal | Yes | Super TTC | TTC | TTF | Unhinted | WebFont |
+ └ Iosevka Fixed SS16 | Fixed | No | Super TTC | TTC | TTF | Unhinted | WebFont |
+![](https://raw.githubusercontent.com/be5invis/Iosevka/v10.0.0/images/iosevka-ss16.png) |
+📦 Iosevka SS17 — Monospace, Recursive Mono Style | Super TTC | TTC | |
+ └ Sub-packages | Spacing | Ligatures | Downloads |
+ ├ Iosevka SS17 | Default | Yes | Super TTC | TTC | TTF | Unhinted | WebFont |
+ ├ Iosevka Term SS17 | Terminal | Yes | Super TTC | TTC | TTF | Unhinted | WebFont |
+ └ Iosevka Fixed SS17 | Fixed | No | Super TTC | TTC | TTF | Unhinted | WebFont |
+![](https://raw.githubusercontent.com/be5invis/Iosevka/v10.0.0/images/iosevka-ss17.png) |
+📦 Iosevka SS18 — Monospace, Input Mono Style | Super TTC | TTC | |
+ └ Sub-packages | Spacing | Ligatures | Downloads |
+ ├ Iosevka SS18 | Default | Yes | Super TTC | TTC | TTF | Unhinted | WebFont |
+ ├ Iosevka Term SS18 | Terminal | Yes | Super TTC | TTC | TTF | Unhinted | WebFont |
+ └ Iosevka Fixed SS18 | Fixed | No | Super TTC | TTC | TTF | Unhinted | WebFont |
+![](https://raw.githubusercontent.com/be5invis/Iosevka/v10.0.0/images/iosevka-ss18.png) |
+📦 Iosevka Aile — Quasi-proportional, Sans-serif | Super TTC | TTC | |
+ └ Sub-packages | Spacing | Ligatures | Downloads |
+ └ Iosevka Aile | Default | No | Super TTC | TTC | TTF | Unhinted | WebFont |
+![](https://raw.githubusercontent.com/be5invis/Iosevka/v10.0.0/images/iosevka-aile.png) |
+📦 Iosevka Etoile — Quasi-proportional, Slab-serif | Super TTC | TTC | |
+ └ Sub-packages | Spacing | Ligatures | Downloads |
+ └ Iosevka Etoile | Default | No | Super TTC | TTC | TTF | Unhinted | WebFont |
+![](https://raw.githubusercontent.com/be5invis/Iosevka/v10.0.0/images/iosevka-etoile.png) |
diff --git a/README.md b/README.md
index 00a7d43aa5..d9e0549900 100644
--- a/README.md
+++ b/README.md
@@ -2748,7 +2748,7 @@ Subsection `variants` is used to configure character variants in the font. Prope
- Styles for `A`:
![](images/character-variant-cv01-1.png) | capital-a = 'straight-serifless' , cv01 = 1 |
Standard, straight A , without serifs |
![](images/character-variant-cv01-2.png) | capital-a = 'curly-serifless' , cv01 = 2 |
Slightly curly A , like Iosevka 2.x, without serifs |
![](images/character-variant-cv01-3.png) | capital-a = 'straight-top-serifed' , cv01 = 3 |
Straight A with serif at top |
![](images/character-variant-cv01-4.png) | capital-a = 'curly-top-serifed' , cv01 = 4 |
Slightly curly A , like Iosevka 2.x, with serif at top |
![](images/character-variant-cv01-5.png) | capital-a = 'straight-base-serifed' , cv01 = 5 |
Straight A with serif at both top and bottom |
![](images/character-variant-cv01-6.png) | capital-a = 'curly-base-serifed' , cv01 = 6 |
Slightly curly A , like Iosevka 2.x, with serif at both top and bottom |
![](images/character-variant-cv01-7.png) | capital-a = 'straight-tri-serifed' , cv01 = 7 |
Straight A with serif at both top and bottom |
![](images/character-variant-cv01-8.png) | capital-a = 'curly-tri-serifed' , cv01 = 8 |
Slightly curly A , like Iosevka 2.x, with serif at both top and bottom |
- Styles for `B`:
- ![](images/character-variant-cv02-1.png) | capital-b = 'standard-serifless' , cv02 = 1 |
B in near-symmetric proportion, without serifs |
![](images/character-variant-cv02-2.png) | capital-b = 'more-asymmetric-serifless' , cv02 = 2 |
B in more asymmetric proportion to differentiate with 8 , without serifs |
![](images/character-variant-cv02-3.png) | capital-b = 'standard-unilateral-serifed' , cv02 = 3 |
B in near-symmetric proportion with motion serifs at top |
![](images/character-variant-cv02-4.png) | capital-b = 'more-asymmetric-unilateral-serifed' , cv02 = 4 |
B in more asymmetric proportion with motion serifs at top |
![](images/character-variant-cv02-5.png) | capital-b = 'standard-bilateral-serifed' , cv02 = 5 |
B in near-symmetric proportion with motion serifs at both top and bottom |
![](images/character-variant-cv02-6.png) | capital-b = 'more-asymmetric-bilateral-serifed' , cv02 = 6 |
B in more asymmetric proportion with motion serifs at both top and bottom |
![](images/character-variant-cv02-7.png) | capital-b = 'standard-interrupted-serifless' , cv02 = 7 |
B in near-symmetric proportion with interupted middle bar, without serifs |
![](images/character-variant-cv02-8.png) | capital-b = 'more-asymmetric-interrupted-serifless' , cv02 = 8 |
B in more asymmetric proportion to differentiate with 8 , with interupted middle bar, without serifs |
![](images/character-variant-cv02-9.png) | capital-b = 'standard-interrupted-unilateral-serifed' , cv02 = 9 |
B in near-symmetric proportion with interupted middle bar and motion serifs at top |
![](images/character-variant-cv02-10.png) | capital-b = 'more-asymmetric-interrupted-unilateral-serifed' , cv02 = 10 |
B in more asymmetric proportion with interupted middle bar and 8 with motion serifs at top |
![](images/character-variant-cv02-11.png) | capital-b = 'standard-interrupted-bilateral-serifed' , cv02 = 11 |
B in near-symmetric proportion with interupted middle bar and motion serifs at both top and bottom |
![](images/character-variant-cv02-12.png) | capital-b = 'more-asymmetric-interrupted-bilateral-serifed' , cv02 = 12 |
B in more asymmetric proportion with interupted middle bar and 8 with motion serifs at both top and bottom |
+ ![](images/character-variant-cv02-1.png) | capital-b = 'standard-serifless' , cv02 = 1 |
B in near-symmetric proportion, without serifs |
![](images/character-variant-cv02-2.png) | capital-b = 'more-asymmetric-serifless' , cv02 = 2 |
B in more asymmetric proportion to differentiate with 8 , without serifs |
![](images/character-variant-cv02-3.png) | capital-b = 'standard-unilateral-serifed' , cv02 = 3 |
B in near-symmetric proportion with motion serifs at top |
![](images/character-variant-cv02-4.png) | capital-b = 'more-asymmetric-unilateral-serifed' , cv02 = 4 |
B in more asymmetric proportion with motion serifs at top |
![](images/character-variant-cv02-5.png) | capital-b = 'standard-bilateral-serifed' , cv02 = 5 |
B in near-symmetric proportion with motion serifs at both top and bottom |
![](images/character-variant-cv02-6.png) | capital-b = 'more-asymmetric-bilateral-serifed' , cv02 = 6 |
B in more asymmetric proportion with motion serifs at both top and bottom |
![](images/character-variant-cv02-7.png) | capital-b = 'standard-interrupted-serifless' , cv02 = 7 |
B in near-symmetric proportion with interrupted middle bar, without serifs |
![](images/character-variant-cv02-8.png) | capital-b = 'more-asymmetric-interrupted-serifless' , cv02 = 8 |
B in more asymmetric proportion to differentiate with 8 , with interrupted middle bar, without serifs |
![](images/character-variant-cv02-9.png) | capital-b = 'standard-interrupted-unilateral-serifed' , cv02 = 9 |
B in near-symmetric proportion with interrupted middle bar and motion serifs at top |
![](images/character-variant-cv02-10.png) | capital-b = 'more-asymmetric-interrupted-unilateral-serifed' , cv02 = 10 |
B in more asymmetric proportion with interrupted middle bar and 8 with motion serifs at top |
![](images/character-variant-cv02-11.png) | capital-b = 'standard-interrupted-bilateral-serifed' , cv02 = 11 |
B in near-symmetric proportion with interrupted middle bar and motion serifs at both top and bottom |
![](images/character-variant-cv02-12.png) | capital-b = 'more-asymmetric-interrupted-bilateral-serifed' , cv02 = 12 |
B in more asymmetric proportion with interrupted middle bar and 8 with motion serifs at both top and bottom |
- Styles for `C`:
![](images/character-variant-cv03-1.png) | capital-c = 'serifless' , cv03 = 1 |
Serifless C |
![](images/character-variant-cv03-2.png) | capital-c = 'unilateral-serifed' , cv03 = 2 |
C with serif at top |
![](images/character-variant-cv03-3.png) | capital-c = 'bilateral-serifed' , cv03 = 3 |
C with serifs at both top and bottom |
![](images/character-variant-cv03-4.png) | capital-c = 'unilateral-inward-serifed' , cv03 = 4 |
C with inward serif at top |
![](images/character-variant-cv03-5.png) | capital-c = 'bilateral-inward-serifed' , cv03 = 5 |
C with inward serif at both top and bottom |
- Styles for `D`:
@@ -2778,7 +2778,7 @@ Subsection `variants` is used to configure character variants in the font. Prope
- Styles for `Q`:
![](images/character-variant-cv16-1.png) | capital-q = 'curly-tailed' , cv16 = 1 |
Q with a curly tail |
![](images/character-variant-cv16-2.png) | capital-q = 'crossing-curly-tailed' , cv16 = 2 |
Q with a curly tail |
![](images/character-variant-cv16-3.png) | capital-q = 'straight' , cv16 = 3 |
Q with a straight tail like in the old versions |
![](images/character-variant-cv16-4.png) | capital-q = 'crossing' , cv16 = 4 |
Q with a tail crossing the ring |
![](images/character-variant-cv16-5.png) | capital-q = 'vertical-crossing' , cv16 = 5 |
Q with a vertical tail crossing the ring |
![](images/character-variant-cv16-6.png) | capital-q = 'horizontal-tailed' , cv16 = 6 |
Q with a horizontal tail, like Univers |
![](images/character-variant-cv16-7.png) | capital-q = 'detached-tailed' , cv16 = 7 |
Q with a oblique tail detached |
![](images/character-variant-cv16-8.png) | capital-q = 'detached-bend-tailed' , cv16 = 8 |
Q with a bend tail detached |
- Styles for `R`:
- ![](images/character-variant-cv17-1.png) | capital-r = 'straight' , cv17 = 1 |
Standard, straight-leg R |
![](images/character-variant-cv17-2.png) | capital-r = 'curly' , cv17 = 2 |
Slightly curly-legged R , like Iosevka 2.x |
![](images/character-variant-cv17-3.png) | capital-r = 'standing' , cv17 = 3 |
R with near-vertical standing leg |
![](images/character-variant-cv17-4.png) | capital-r = 'straight-open' , cv17 = 4 |
Standard, straight-leg R , with open contour at bottom |
![](images/character-variant-cv17-5.png) | capital-r = 'curly-open' , cv17 = 5 |
Slightly curly-legged R , like Iosevka 2.x, with open contour at bottom |
![](images/character-variant-cv17-6.png) | capital-r = 'standing-open' , cv17 = 6 |
R with near-vertical standing leg, with open contour at bottom |
![](images/character-variant-cv17-7.png) | capital-r = 'straight-motion-serifed' , cv17 = 7 |
Standard, straight-leg R , with motion serifs |
![](images/character-variant-cv17-8.png) | capital-r = 'curly-motion-serifed' , cv17 = 8 |
Slightly curly-legged R , like Iosevka 2.x, with motion serifs |
![](images/character-variant-cv17-9.png) | capital-r = 'standing-motino-serifed' , cv17 = 9 |
R with near-vertical standing leg |
![](images/character-variant-cv17-10.png) | capital-r = 'straight-open-motion-serifed' , cv17 = 10 |
Standard, straight-leg R , with open contour at bottom and motion serifs |
![](images/character-variant-cv17-11.png) | capital-r = 'curly-open-motion-serifed' , cv17 = 11 |
Slightly curly-legged R , like Iosevka 2.x, with open contour at bottom and motion serifs |
![](images/character-variant-cv17-12.png) | capital-r = 'standing-open-motion-serifed' , cv17 = 12 |
R with near-vertical standing leg, with open contour at bottom and motion serifs |
+ ![](images/character-variant-cv17-1.png) | capital-r = 'straight' , cv17 = 1 |
Standard, straight-leg R |
![](images/character-variant-cv17-2.png) | capital-r = 'curly' , cv17 = 2 |
Slightly curly-legged R , like Iosevka 2.x |
![](images/character-variant-cv17-3.png) | capital-r = 'standing' , cv17 = 3 |
R with near-vertical standing leg |
![](images/character-variant-cv17-4.png) | capital-r = 'straight-open' , cv17 = 4 |
Standard, straight-leg R , with open contour at bottom |
![](images/character-variant-cv17-5.png) | capital-r = 'curly-open' , cv17 = 5 |
Slightly curly-legged R , like Iosevka 2.x, with open contour at bottom |
![](images/character-variant-cv17-6.png) | capital-r = 'standing-open' , cv17 = 6 |
R with near-vertical standing leg, with open contour at bottom |
![](images/character-variant-cv17-7.png) | capital-r = 'straight-motion-serifed' , cv17 = 7 |
Standard, straight-leg R , with motion serifs |
![](images/character-variant-cv17-8.png) | capital-r = 'curly-motion-serifed' , cv17 = 8 |
Slightly curly-legged R , like Iosevka 2.x, with motion serifs |
![](images/character-variant-cv17-9.png) | capital-r = 'standing-motion-serifed' , cv17 = 9 |
R with near-vertical standing leg |
![](images/character-variant-cv17-10.png) | capital-r = 'straight-open-motion-serifed' , cv17 = 10 |
Standard, straight-leg R , with open contour at bottom and motion serifs |
![](images/character-variant-cv17-11.png) | capital-r = 'curly-open-motion-serifed' , cv17 = 11 |
Slightly curly-legged R , like Iosevka 2.x, with open contour at bottom and motion serifs |
![](images/character-variant-cv17-12.png) | capital-r = 'standing-open-motion-serifed' , cv17 = 12 |
R with near-vertical standing leg, with open contour at bottom and motion serifs |
- Styles for `S`:
![](images/character-variant-cv18-1.png) | capital-s = 'serifless' , cv18 = 1 |
Serifless S |
![](images/character-variant-cv18-2.png) | capital-s = 'unilateral-serifed' , cv18 = 2 |
S with single serif at top |
![](images/character-variant-cv18-3.png) | capital-s = 'bilateral-serifed' , cv18 = 3 |
S with serifs at both end |
![](images/character-variant-cv18-4.png) | capital-s = 'unilateral-inward-serifed' , cv18 = 4 |
S with single inward serif at top |
![](images/character-variant-cv18-5.png) | capital-s = 'bilateral-inward-serifed' , cv18 = 5 |
S with inward serifs at both end |
- Styles for `T`:
@@ -2794,7 +2794,7 @@ Subsection `variants` is used to configure character variants in the font. Prope
- Styles for `Y`:
![](images/character-variant-cv24-1.png) | capital-y = 'straight-serifless' , cv24 = 1 |
Straight Y without serifs |
![](images/character-variant-cv24-2.png) | capital-y = 'curly-serifless' , cv24 = 2 |
Slightly curly Y , like Iosevka 2.x, without serifs |
![](images/character-variant-cv24-3.png) | capital-y = 'straight-base-serifed' , cv24 = 3 |
Standard, straight Y , with serif at bottom |
![](images/character-variant-cv24-4.png) | capital-y = 'curly-base-serifed' , cv24 = 4 |
Slightly curly Y , like Iosevka 2.x, with serif at bottom |
![](images/character-variant-cv24-5.png) | capital-y = 'straight-motion-serifed' , cv24 = 5 |
Standard, straight Y , with motion serifs |
![](images/character-variant-cv24-6.png) | capital-y = 'curly-motion-serifed' , cv24 = 6 |
Slightly curly Y , like Iosevka 2.x, with motion serifs |
![](images/character-variant-cv24-7.png) | capital-y = 'straight-serifed' , cv24 = 7 |
Standard, straight Y , with serifs |
![](images/character-variant-cv24-8.png) | capital-y = 'curly-serifed' , cv24 = 8 |
Slightly curly Y , like Iosevka 2.x, with serifs |
- Styles for `Z`:
- ![](images/character-variant-cv25-1.png) | capital-z = 'straight-serifless' , cv25 = 1 |
Straight Z without serifs |
![](images/character-variant-cv25-2.png) | capital-z = 'straight-serifless-with-crossbar' , cv25 = 2 |
Straight Z with a diagonal crossbar, and without serifs |
![](images/character-variant-cv25-3.png) | capital-z = 'straight-serifless-with-horizontal-crossbar' , cv25 = 3 |
Straight Z with a horizontal crossbar, and without serifs |
![](images/character-variant-cv25-4.png) | capital-z = 'curly-serifless' , cv25 = 4 |
Curly Z without serifs |
![](images/character-variant-cv25-5.png) | capital-z = 'curly-serifless-with-crossbar' , cv25 = 5 |
Curly Z with a diagonal crossbar, and without serifs |
![](images/character-variant-cv25-6.png) | capital-z = 'curly-serifless-with-horizontal-crossbar' , cv25 = 6 |
Curly Z with a horizontal crossbar, and without serifs |
![](images/character-variant-cv25-7.png) | capital-z = 'straight-serifed' , cv25 = 7 |
Straight Z with top and bottom serifs |
![](images/character-variant-cv25-8.png) | capital-z = 'straight-serifed-with-crossbar' , cv25 = 8 |
Straight Z with a diagonal crossbar and serifs |
![](images/character-variant-cv25-9.png) | capital-z = 'straight-serifed-with-horizontal-crossbar' , cv25 = 9 |
Straight Z with a horizontal crossbar and serifs |
![](images/character-variant-cv25-10.png) | capital-z = 'curly-serifed' , cv25 = 10 |
Curly Z woth top and bottom serifs |
![](images/character-variant-cv25-11.png) | capital-z = 'curly-serifed-with-crossbar' , cv25 = 11 |
Curly Z with a diagonal crossbar and serifs |
![](images/character-variant-cv25-12.png) | capital-z = 'curly-serifed-with-horizontal-crossbar' , cv25 = 12 |
Curly Z with a horizontal crossbar and serifs |
![](images/character-variant-cv25-13.png) | capital-z = 'straight-bottom-serifed' , cv25 = 13 |
Standard Z with serif at bottom |
![](images/character-variant-cv25-14.png) | capital-z = 'straight-bottom-serifed-with-crossbar' , cv25 = 14 |
Standard Z with a diagonal crossbar and serif at bottom |
![](images/character-variant-cv25-15.png) | capital-z = 'straight-bottom-serifed-with-horizontal-crossbar' , cv25 = 15 |
Standard Z with a horizontal crossbar and serif at bottom |
![](images/character-variant-cv25-16.png) | capital-z = 'curly-bottom-serifed-with-crossbar' , cv25 = 16 |
Curly Z with serif at bottom |
![](images/character-variant-cv25-17.png) | capital-z = 'curly-bottom-serifed-with-horizontal-crossbar' , cv25 = 17 |
Curly Z with a diagonal crossbar and serif at bottom |
![](images/character-variant-cv25-18.png) | capital-z = 'curly-bottom-serifed' , cv25 = 18 |
Curly Z with a horizontal crossbar and serif at bottom |
![](images/character-variant-cv25-19.png) | capital-z = 'straight-top-serifed' , cv25 = 19 |
Standard Z with serif at top |
![](images/character-variant-cv25-20.png) | capital-z = 'straight-top-serifed-with-crossbar' , cv25 = 20 |
Standard Z with a diagonal crossbar and serif at top |
![](images/character-variant-cv25-21.png) | capital-z = 'straight-top-serifed-with-horizontal-crossbar' , cv25 = 21 |
Standard Z with a horizontal crossbar and serif at top |
![](images/character-variant-cv25-22.png) | capital-z = 'curly-top-serifed' , cv25 = 22 |
Curly Z with serif at top |
![](images/character-variant-cv25-23.png) | capital-z = 'curly-top-serifed-with-crossbar' , cv25 = 23 |
Curly Z with a diagonal crossbar and serif at top |
![](images/character-variant-cv25-24.png) | capital-z = 'curly-top-serifed-with-horizontal-crossbar' , cv25 = 24 |
Curly Z with a horizontal crossbar and serif at top |
![](images/character-variant-cv25-25.png) | capital-z = 'cursive' , cv25 = 25 |
Cursive Z |
![](images/character-variant-cv25-26.png) | capital-z = 'cursive-with-crossbar' , cv25 = 26 |
Cursive Z with a diagonal cross bar |
![](images/character-variant-cv25-27.png) | capital-z = 'cursive-with-horizontal-crossbar' , cv25 = 27 |
Cursive Z with a horizontal cross bar |
+ ![](images/character-variant-cv25-1.png) | capital-z = 'straight-serifless' , cv25 = 1 |
Straight Z without serifs |
![](images/character-variant-cv25-2.png) | capital-z = 'straight-serifless-with-crossbar' , cv25 = 2 |
Straight Z with a diagonal crossbar, and without serifs |
![](images/character-variant-cv25-3.png) | capital-z = 'straight-serifless-with-horizontal-crossbar' , cv25 = 3 |
Straight Z with a horizontal crossbar, and without serifs |
![](images/character-variant-cv25-4.png) | capital-z = 'curly-serifless' , cv25 = 4 |
Curly Z without serifs |
![](images/character-variant-cv25-5.png) | capital-z = 'curly-serifless-with-crossbar' , cv25 = 5 |
Curly Z with a diagonal crossbar, and without serifs |
![](images/character-variant-cv25-6.png) | capital-z = 'curly-serifless-with-horizontal-crossbar' , cv25 = 6 |
Curly Z with a horizontal crossbar, and without serifs |
![](images/character-variant-cv25-7.png) | capital-z = 'straight-serifed' , cv25 = 7 |
Straight Z with top and bottom serifs |
![](images/character-variant-cv25-8.png) | capital-z = 'straight-serifed-with-crossbar' , cv25 = 8 |
Straight Z with a diagonal crossbar and serifs |
![](images/character-variant-cv25-9.png) | capital-z = 'straight-serifed-with-horizontal-crossbar' , cv25 = 9 |
Straight Z with a horizontal crossbar and serifs |
![](images/character-variant-cv25-10.png) | capital-z = 'curly-serifed' , cv25 = 10 |
Curly Z with top and bottom serifs |
![](images/character-variant-cv25-11.png) | capital-z = 'curly-serifed-with-crossbar' , cv25 = 11 |
Curly Z with a diagonal crossbar and serifs |
![](images/character-variant-cv25-12.png) | capital-z = 'curly-serifed-with-horizontal-crossbar' , cv25 = 12 |
Curly Z with a horizontal crossbar and serifs |
![](images/character-variant-cv25-13.png) | capital-z = 'straight-bottom-serifed' , cv25 = 13 |
Standard Z with serif at bottom |
![](images/character-variant-cv25-14.png) | capital-z = 'straight-bottom-serifed-with-crossbar' , cv25 = 14 |
Standard Z with a diagonal crossbar and serif at bottom |
![](images/character-variant-cv25-15.png) | capital-z = 'straight-bottom-serifed-with-horizontal-crossbar' , cv25 = 15 |
Standard Z with a horizontal crossbar and serif at bottom |
![](images/character-variant-cv25-16.png) | capital-z = 'curly-bottom-serifed-with-crossbar' , cv25 = 16 |
Curly Z with serif at bottom |
![](images/character-variant-cv25-17.png) | capital-z = 'curly-bottom-serifed-with-horizontal-crossbar' , cv25 = 17 |
Curly Z with a diagonal crossbar and serif at bottom |
![](images/character-variant-cv25-18.png) | capital-z = 'curly-bottom-serifed' , cv25 = 18 |
Curly Z with a horizontal crossbar and serif at bottom |
![](images/character-variant-cv25-19.png) | capital-z = 'straight-top-serifed' , cv25 = 19 |
Standard Z with serif at top |
![](images/character-variant-cv25-20.png) | capital-z = 'straight-top-serifed-with-crossbar' , cv25 = 20 |
Standard Z with a diagonal crossbar and serif at top |
![](images/character-variant-cv25-21.png) | capital-z = 'straight-top-serifed-with-horizontal-crossbar' , cv25 = 21 |
Standard Z with a horizontal crossbar and serif at top |
![](images/character-variant-cv25-22.png) | capital-z = 'curly-top-serifed' , cv25 = 22 |
Curly Z with serif at top |
![](images/character-variant-cv25-23.png) | capital-z = 'curly-top-serifed-with-crossbar' , cv25 = 23 |
Curly Z with a diagonal crossbar and serif at top |
![](images/character-variant-cv25-24.png) | capital-z = 'curly-top-serifed-with-horizontal-crossbar' , cv25 = 24 |
Curly Z with a horizontal crossbar and serif at top |
![](images/character-variant-cv25-25.png) | capital-z = 'cursive' , cv25 = 25 |
Cursive Z |
![](images/character-variant-cv25-26.png) | capital-z = 'cursive-with-crossbar' , cv25 = 26 |
Cursive Z with a diagonal cross bar |
![](images/character-variant-cv25-27.png) | capital-z = 'cursive-with-horizontal-crossbar' , cv25 = 27 |
Cursive Z with a horizontal cross bar |
- Styles for `a`:
![](images/character-variant-cv26-1.png) | a = 'double-storey-serifless' , cv26 = 1 |
Double-storey a without serifs |
![](images/character-variant-cv26-2.png) | a = 'double-storey-tailed' , cv26 = 2 |
Double-storey a with curly tail |
![](images/character-variant-cv26-3.png) | a = 'double-storey-toothless-corner' , cv26 = 3 |
Toothless (cornered bottom-right) double-storey a |
![](images/character-variant-cv26-4.png) | a = 'double-storey-toothless-rounded' , cv26 = 4 |
Toothless (rounded bottom-right) double-storey a |
![](images/character-variant-cv26-5.png) | a = 'double-storey-serifed' , cv26 = 5 |
Double-storey a with serif at bottom right |
![](images/character-variant-cv26-6.png) | a = 'single-storey-serifless' , cv26 = 6 |
Single-storey a without serifs |
![](images/character-variant-cv26-7.png) | a = 'single-storey-earless-corner-serifless' , cv26 = 7 |
Earless (cornered top-right) single-storey a without serifs |
![](images/character-variant-cv26-8.png) | a = 'single-storey-earless-rounded-serifless' , cv26 = 8 |
Earless (rounded top-right) single-storey a without serifs |
![](images/character-variant-cv26-9.png) | a = 'single-storey-tailed' , cv26 = 9 |
Single-storey a with curly tail |
![](images/character-variant-cv26-10.png) | a = 'single-storey-earless-corner-tailed' , cv26 = 10 |
Earless (cornered top-right) single-storey a with curly tail |
![](images/character-variant-cv26-11.png) | a = 'single-storey-earless-rounded-tailed' , cv26 = 11 |
Earless (rounded top-right) single-storey a with curly tail |
![](images/character-variant-cv26-12.png) | a = 'single-storey-serifed' , cv26 = 12 |
Single-storey a with serif at bottom right |
![](images/character-variant-cv26-13.png) | a = 'single-storey-earless-corner-serifed' , cv26 = 13 |
Earless (cornered top-right) single-storey a with serif at bottom right |
![](images/character-variant-cv26-14.png) | a = 'single-storey-earless-rounded-serifed' , cv26 = 14 |
Earless (rounded top-right) single-storey a with serif at bottom right |
- Styles for `b`:
@@ -2806,7 +2806,7 @@ Subsection `variants` is used to configure character variants in the font. Prope
- Styles for `e`:
![](images/character-variant-cv30-1.png) | e = 'flat-crossbar' , cv30 = 1 |
e with flat crossbar |
![](images/character-variant-cv30-2.png) | e = 'rounded' , cv30 = 2 |
e with more rounded shape |
- Styles for `f`:
- ![](images/character-variant-cv31-1.png) | f = 'serifless' , cv31 = 1 |
f without bottom serif, hook or exension |
![](images/character-variant-cv31-2.png) | f = 'serifed' , cv31 = 2 |
f with bottom serif |
![](images/character-variant-cv31-3.png) | f = 'tailed' , cv31 = 3 |
f with bottom hook |
![](images/character-variant-cv31-4.png) | f = 'extended' , cv31 = 4 |
f with bar extended to descender |
![](images/character-variant-cv31-5.png) | f = 'diagonal-tailed' , cv31 = 5 |
f with bottom diagonal tail |
![](images/character-variant-cv31-6.png) | f = 'serifless-crossbar-at-x-height' , cv31 = 6 |
f without bottom serif, hook or exension; crossbar is placed right at X-height |
![](images/character-variant-cv31-7.png) | f = 'serifed-crossbar-at-x-height' , cv31 = 7 |
f with bottom serif; crossbar is placed right at X-height |
![](images/character-variant-cv31-8.png) | f = 'tailed-crossbar-at-x-height' , cv31 = 8 |
f with bottom hook; crossbar is placed right at X-height |
![](images/character-variant-cv31-9.png) | f = 'extended-crossbar-at-x-height' , cv31 = 9 |
f with bar extended to descender; crossbar is placed right at X-height |
![](images/character-variant-cv31-10.png) | f = 'diagonal-tailed-crossbar-at-x-height' , cv31 = 10 |
f with bottom diagonal tail; crossbar is placed right at X-height |
![](images/character-variant-cv31-11.png) | f = 'flat-hook' , cv31 = 11 |
f with flat top hook, without bottom serif, hook or exension |
![](images/character-variant-cv31-12.png) | f = 'flat-hook-serifed' , cv31 = 12 |
f with flat top hook and bottom serif |
![](images/character-variant-cv31-13.png) | f = 'flat-hook-tailed' , cv31 = 13 |
f with flat top hook and bottom hook |
![](images/character-variant-cv31-14.png) | f = 'flat-hook-extended' , cv31 = 14 |
f with flat top hook and bar extended to descender |
![](images/character-variant-cv31-15.png) | f = 'flat-hook-diagonal-tailed' , cv31 = 15 |
f with falt hook and bottom diagonal tail |
![](images/character-variant-cv31-16.png) | f = 'flat-hook-crossbar-at-x-height' , cv31 = 16 |
f with flat top hook, without bottom serif, hook or exension; crossbar is placed right at X-height |
![](images/character-variant-cv31-17.png) | f = 'flat-hook-serifed-crossbar-at-x-height' , cv31 = 17 |
f with flat top hook, bottom serif; crossbar is placed right at X-height |
![](images/character-variant-cv31-18.png) | f = 'flat-hook-tailed-crossbar-at-x-height' , cv31 = 18 |
f with flat top hook, bottom hook; crossbar is placed right at X-height |
![](images/character-variant-cv31-19.png) | f = 'flat-hook-extended-crossbar-at-x-height' , cv31 = 19 |
f with flat top hook, bar extended to descender; crossbar is placed right at X-height |
![](images/character-variant-cv31-20.png) | f = 'flat-hook-diagonal-tailed-crossbar-at-x-height' , cv31 = 20 |
f with falt hook and bottom diagonal tail; crossbar is placed right at X-height |
+ ![](images/character-variant-cv31-1.png) | f = 'serifless' , cv31 = 1 |
f without bottom serif, hook or extension |
![](images/character-variant-cv31-2.png) | f = 'serifed' , cv31 = 2 |
f with bottom serif |
![](images/character-variant-cv31-3.png) | f = 'tailed' , cv31 = 3 |
f with bottom hook |
![](images/character-variant-cv31-4.png) | f = 'extended' , cv31 = 4 |
f with bar extended to descender |
![](images/character-variant-cv31-5.png) | f = 'diagonal-tailed' , cv31 = 5 |
f with bottom diagonal tail |
![](images/character-variant-cv31-6.png) | f = 'serifless-crossbar-at-x-height' , cv31 = 6 |
f without bottom serif, hook or extension; crossbar is placed right at X-height |
![](images/character-variant-cv31-7.png) | f = 'serifed-crossbar-at-x-height' , cv31 = 7 |
f with bottom serif; crossbar is placed right at X-height |
![](images/character-variant-cv31-8.png) | f = 'tailed-crossbar-at-x-height' , cv31 = 8 |
f with bottom hook; crossbar is placed right at X-height |
![](images/character-variant-cv31-9.png) | f = 'extended-crossbar-at-x-height' , cv31 = 9 |
f with bar extended to descender; crossbar is placed right at X-height |
![](images/character-variant-cv31-10.png) | f = 'diagonal-tailed-crossbar-at-x-height' , cv31 = 10 |
f with bottom diagonal tail; crossbar is placed right at X-height |
![](images/character-variant-cv31-11.png) | f = 'flat-hook' , cv31 = 11 |
f with flat top hook, without bottom serif, hook or extension |
![](images/character-variant-cv31-12.png) | f = 'flat-hook-serifed' , cv31 = 12 |
f with flat top hook and bottom serif |
![](images/character-variant-cv31-13.png) | f = 'flat-hook-tailed' , cv31 = 13 |
f with flat top hook and bottom hook |
![](images/character-variant-cv31-14.png) | f = 'flat-hook-extended' , cv31 = 14 |
f with flat top hook and bar extended to descender |
![](images/character-variant-cv31-15.png) | f = 'flat-hook-diagonal-tailed' , cv31 = 15 |
f with flat hook and bottom diagonal tail |
![](images/character-variant-cv31-16.png) | f = 'flat-hook-crossbar-at-x-height' , cv31 = 16 |
f with flat top hook, without bottom serif, hook or extension; crossbar is placed right at X-height |
![](images/character-variant-cv31-17.png) | f = 'flat-hook-serifed-crossbar-at-x-height' , cv31 = 17 |
f with flat top hook, bottom serif; crossbar is placed right at X-height |
![](images/character-variant-cv31-18.png) | f = 'flat-hook-tailed-crossbar-at-x-height' , cv31 = 18 |
f with flat top hook, bottom hook; crossbar is placed right at X-height |
![](images/character-variant-cv31-19.png) | f = 'flat-hook-extended-crossbar-at-x-height' , cv31 = 19 |
f with flat top hook, bar extended to descender; crossbar is placed right at X-height |
![](images/character-variant-cv31-20.png) | f = 'flat-hook-diagonal-tailed-crossbar-at-x-height' , cv31 = 20 |
f with flat hook and bottom diagonal tail; crossbar is placed right at X-height |
- Styles for `g`:
![](images/character-variant-cv32-1.png) | g = 'double-storey' , cv32 = 1 |
Double-storey g |
![](images/character-variant-cv32-2.png) | g = 'double-storey-open' , cv32 = 2 |
Open Double-storey g , like Trebuchet MS or Fira Code |
![](images/character-variant-cv32-3.png) | g = 'single-storey-serifless' , cv32 = 3 |
Single-storey g without serifs |
![](images/character-variant-cv32-4.png) | g = 'single-storey-serifed' , cv32 = 4 |
Single-storey g with serif at top right |
![](images/character-variant-cv32-5.png) | g = 'earless-corner' , cv32 = 5 |
Earless (cornered top-right) single-storey g |
![](images/character-variant-cv32-6.png) | g = 'earless-rounded' , cv32 = 6 |
Earless (rounded top-right) single-storey g |
![](images/character-variant-cv32-7.png) | g = 'single-storey-flat-hook-serifless' , cv32 = 7 |
Single-storey g with flat terminal hook and without serifs |
![](images/character-variant-cv32-8.png) | g = 'single-storey-flat-hook-serifed' , cv32 = 8 |
Single-storey g with top-right serif and flat terminal hook |
![](images/character-variant-cv32-9.png) | g = 'single-storey-earless-corner-flat-hook' , cv32 = 9 |
Earless (cornered top-right) single-storey g with flat terminal hook |
![](images/character-variant-cv32-10.png) | g = 'single-storey-earless-rounded-flat-hook' , cv32 = 10 |
Earless (rounded top-right) single-storey g with flat terminal hook |
- Styles for `h`:
@@ -2844,7 +2844,7 @@ Subsection `variants` is used to configure character variants in the font. Prope
- Styles for `y`:
![](images/character-variant-cv49-1.png) | y = 'straight' , cv49 = 1 |
Letter y that is fully straight |
![](images/character-variant-cv49-2.png) | y = 'straight-turn' , cv49 = 2 |
Letter y with straight upper and a tail turns leftward |
![](images/character-variant-cv49-3.png) | y = 'curly' , cv49 = 3 |
More curly letter y , like Iosevka 2.x |
![](images/character-variant-cv49-4.png) | y = 'curly-turn' , cv49 = 4 |
More curly letter y , like Iosevka 2.x, with a tail turns leftward |
![](images/character-variant-cv49-5.png) | y = 'cursive' , cv49 = 5 |
Cursive-like y |
![](images/character-variant-cv49-6.png) | y = 'cursive-flat-hook' , cv49 = 6 |
Cursive-like y with flat terminal hook |
![](images/character-variant-cv49-7.png) | y = 'straight-motion-serifed' , cv49 = 7 |
Letter y that is fully straight, with motion serifs |
![](images/character-variant-cv49-8.png) | y = 'straight-turn-motion-serifed' , cv49 = 8 |
Letter y with straight upper and a tail turns leftward, and motion serifs |
![](images/character-variant-cv49-9.png) | y = 'curly-motion-serifed' , cv49 = 9 |
More curly letter y , like Iosevka 2.x, with motion serifs |
![](images/character-variant-cv49-10.png) | y = 'curly-turn-motion-serifed' , cv49 = 10 |
More curly letter y , like Iosevka 2.x, with a tail turns leftward and motion serifs |
![](images/character-variant-cv49-11.png) | y = 'cursive-motion-serifed' , cv49 = 11 |
Cursive-like y , with motion serifs |
![](images/character-variant-cv49-12.png) | y = 'cursive-flat-hook-motion-serifed' , cv49 = 12 |
Cursive-like y with flat terminal hook, and motion serifs |
- Styles for `z`:
- ![](images/character-variant-cv50-1.png) | z = 'straight-serifless' , cv50 = 1 |
Straight z without serifs |
![](images/character-variant-cv50-2.png) | z = 'straight-serifless-with-crossbar' , cv50 = 2 |
Straight z with a diagonal crossbar, and without serifs |
![](images/character-variant-cv50-3.png) | z = 'straight-serifless-with-horizontal-crossbar' , cv50 = 3 |
Straight z with a horizontal crossbar, and without serifs |
![](images/character-variant-cv50-4.png) | z = 'curly-serifless' , cv50 = 4 |
Curly z without serifs |
![](images/character-variant-cv50-5.png) | z = 'curly-serifless-with-crossbar' , cv50 = 5 |
Curly z with a diagonal crossbar, and without serifs |
![](images/character-variant-cv50-6.png) | z = 'curly-serifless-with-horizontal-crossbar' , cv50 = 6 |
Curly z with a horizontal crossbar, and without serifs |
![](images/character-variant-cv50-7.png) | z = 'straight-serifed' , cv50 = 7 |
Straight z with top and bottom serifs |
![](images/character-variant-cv50-8.png) | z = 'straight-serifed-with-crossbar' , cv50 = 8 |
Straight z with a diagonal crossbar and serifs |
![](images/character-variant-cv50-9.png) | z = 'straight-serifed-with-horizontal-crossbar' , cv50 = 9 |
Straight z with a horizontal crossbar and serifs |
![](images/character-variant-cv50-10.png) | z = 'curly-serifed' , cv50 = 10 |
Curly z woth top and bottom serifs |
![](images/character-variant-cv50-11.png) | z = 'curly-serifed-with-crossbar' , cv50 = 11 |
Curly z with a diagonal crossbar and serifs |
![](images/character-variant-cv50-12.png) | z = 'curly-serifed-with-horizontal-crossbar' , cv50 = 12 |
Curly z with a horizontal crossbar and serifs |
![](images/character-variant-cv50-13.png) | z = 'straight-bottom-serifed' , cv50 = 13 |
Standard z with serif at bottom |
![](images/character-variant-cv50-14.png) | z = 'straight-bottom-serifed-with-crossbar' , cv50 = 14 |
Standard z with a diagonal crossbar and serif at bottom |
![](images/character-variant-cv50-15.png) | z = 'straight-bottom-serifed-with-horizontal-crossbar' , cv50 = 15 |
Standard z with a horizontal crossbar and serif at bottom |
![](images/character-variant-cv50-16.png) | z = 'curly-bottom-serifed-with-crossbar' , cv50 = 16 |
Curly z with serif at bottom |
![](images/character-variant-cv50-17.png) | z = 'curly-bottom-serifed-with-horizontal-crossbar' , cv50 = 17 |
Curly z with a diagonal crossbar and serif at bottom |
![](images/character-variant-cv50-18.png) | z = 'curly-bottom-serifed' , cv50 = 18 |
Curly z with a horizontal crossbar and serif at bottom |
![](images/character-variant-cv50-19.png) | z = 'straight-top-serifed' , cv50 = 19 |
Standard z with serif at top |
![](images/character-variant-cv50-20.png) | z = 'straight-top-serifed-with-crossbar' , cv50 = 20 |
Standard z with a diagonal crossbar and serif at top |
![](images/character-variant-cv50-21.png) | z = 'straight-top-serifed-with-horizontal-crossbar' , cv50 = 21 |
Standard z with a horizontal crossbar and serif at top |
![](images/character-variant-cv50-22.png) | z = 'curly-top-serifed' , cv50 = 22 |
Curly z with serif at top |
![](images/character-variant-cv50-23.png) | z = 'curly-top-serifed-with-crossbar' , cv50 = 23 |
Curly z with a diagonal crossbar and serif at top |
![](images/character-variant-cv50-24.png) | z = 'curly-top-serifed-with-horizontal-crossbar' , cv50 = 24 |
Curly z with a horizontal crossbar and serif at top |
![](images/character-variant-cv50-25.png) | z = 'cursive' , cv50 = 25 |
Cursive z |
![](images/character-variant-cv50-26.png) | z = 'cursive-with-crossbar' , cv50 = 26 |
Cursive z with a diagonal cross bar |
![](images/character-variant-cv50-27.png) | z = 'cursive-with-horizontal-crossbar' , cv50 = 27 |
Cursive z with a horizontal cross bar |
+ ![](images/character-variant-cv50-1.png) | z = 'straight-serifless' , cv50 = 1 |
Straight z without serifs |
![](images/character-variant-cv50-2.png) | z = 'straight-serifless-with-crossbar' , cv50 = 2 |
Straight z with a diagonal crossbar, and without serifs |
![](images/character-variant-cv50-3.png) | z = 'straight-serifless-with-horizontal-crossbar' , cv50 = 3 |
Straight z with a horizontal crossbar, and without serifs |
![](images/character-variant-cv50-4.png) | z = 'curly-serifless' , cv50 = 4 |
Curly z without serifs |
![](images/character-variant-cv50-5.png) | z = 'curly-serifless-with-crossbar' , cv50 = 5 |
Curly z with a diagonal crossbar, and without serifs |
![](images/character-variant-cv50-6.png) | z = 'curly-serifless-with-horizontal-crossbar' , cv50 = 6 |
Curly z with a horizontal crossbar, and without serifs |
![](images/character-variant-cv50-7.png) | z = 'straight-serifed' , cv50 = 7 |
Straight z with top and bottom serifs |
![](images/character-variant-cv50-8.png) | z = 'straight-serifed-with-crossbar' , cv50 = 8 |
Straight z with a diagonal crossbar and serifs |
![](images/character-variant-cv50-9.png) | z = 'straight-serifed-with-horizontal-crossbar' , cv50 = 9 |
Straight z with a horizontal crossbar and serifs |
![](images/character-variant-cv50-10.png) | z = 'curly-serifed' , cv50 = 10 |
Curly z with top and bottom serifs |
![](images/character-variant-cv50-11.png) | z = 'curly-serifed-with-crossbar' , cv50 = 11 |
Curly z with a diagonal crossbar and serifs |
![](images/character-variant-cv50-12.png) | z = 'curly-serifed-with-horizontal-crossbar' , cv50 = 12 |
Curly z with a horizontal crossbar and serifs |
![](images/character-variant-cv50-13.png) | z = 'straight-bottom-serifed' , cv50 = 13 |
Standard z with serif at bottom |
![](images/character-variant-cv50-14.png) | z = 'straight-bottom-serifed-with-crossbar' , cv50 = 14 |
Standard z with a diagonal crossbar and serif at bottom |
![](images/character-variant-cv50-15.png) | z = 'straight-bottom-serifed-with-horizontal-crossbar' , cv50 = 15 |
Standard z with a horizontal crossbar and serif at bottom |
![](images/character-variant-cv50-16.png) | z = 'curly-bottom-serifed-with-crossbar' , cv50 = 16 |
Curly z with serif at bottom |
![](images/character-variant-cv50-17.png) | z = 'curly-bottom-serifed-with-horizontal-crossbar' , cv50 = 17 |
Curly z with a diagonal crossbar and serif at bottom |
![](images/character-variant-cv50-18.png) | z = 'curly-bottom-serifed' , cv50 = 18 |
Curly z with a horizontal crossbar and serif at bottom |
![](images/character-variant-cv50-19.png) | z = 'straight-top-serifed' , cv50 = 19 |
Standard z with serif at top |
![](images/character-variant-cv50-20.png) | z = 'straight-top-serifed-with-crossbar' , cv50 = 20 |
Standard z with a diagonal crossbar and serif at top |
![](images/character-variant-cv50-21.png) | z = 'straight-top-serifed-with-horizontal-crossbar' , cv50 = 21 |
Standard z with a horizontal crossbar and serif at top |
![](images/character-variant-cv50-22.png) | z = 'curly-top-serifed' , cv50 = 22 |
Curly z with serif at top |
![](images/character-variant-cv50-23.png) | z = 'curly-top-serifed-with-crossbar' , cv50 = 23 |
Curly z with a diagonal crossbar and serif at top |
![](images/character-variant-cv50-24.png) | z = 'curly-top-serifed-with-horizontal-crossbar' , cv50 = 24 |
Curly z with a horizontal crossbar and serif at top |
![](images/character-variant-cv50-25.png) | z = 'cursive' , cv50 = 25 |
Cursive z |
![](images/character-variant-cv50-26.png) | z = 'cursive-with-crossbar' , cv50 = 26 |
Cursive z with a diagonal cross bar |
![](images/character-variant-cv50-27.png) | z = 'cursive-with-horizontal-crossbar' , cv50 = 27 |
Cursive z with a horizontal cross bar |
- Styles for `ſ` (Long-S):
![](images/character-variant-cv51-1.png) | long-s = 'bent-hook' , cv51 = 1 |
Long-S with standard bending hook |
![](images/character-variant-cv51-2.png) | long-s = 'flat-hook' , cv51 = 2 |
Long-S with flat hook |
![](images/character-variant-cv51-3.png) | long-s = 'bent-hook-descending' , cv51 = 3 |
Long-S with standard bending hook and descends baseline |
![](images/character-variant-cv51-4.png) | long-s = 'flat-hook-descending' , cv51 = 4 |
Long-S with flat hook and descends baseline |
![](images/character-variant-cv51-5.png) | long-s = 'bent-hook-tailed' , cv51 = 5 |
Long-S with standard bending hook and tail |
![](images/character-variant-cv51-6.png) | long-s = 'flat-hook-tailed' , cv51 = 6 |
Long-S with flat hook and tail |
- Styles for `ß` (Eszet):
@@ -2892,11 +2892,11 @@ Subsection `variants` is used to configure character variants in the font. Prope
- Styles for `0`:
![](images/character-variant-cv71-1.png) | zero = 'unslashed' , cv71 = 1 |
O-like Zero (0 ) |
![](images/character-variant-cv71-2.png) | zero = 'slashed' , cv71 = 2 |
Slashed Zero (0 ) |
![](images/character-variant-cv71-3.png) | zero = 'reverse-slashed' , cv71 = 3 |
Reverse-slashed Zero (0 ) |
![](images/character-variant-cv71-4.png) | zero = 'dotted' , cv71 = 4 |
Dotted Zero (0 ) |
![](images/character-variant-cv71-5.png) | zero = 'long-dotted' , cv71 = 5 |
Long-dotted Zero (0 ) like Hack |
![](images/character-variant-cv71-6.png) | zero = 'unslashed-oval' , cv71 = 6 |
O-like Zero (0 ) but more round |
![](images/character-variant-cv71-7.png) | zero = 'slashed-oval' , cv71 = 7 |
Slashed Zero (0 ) but more round |
![](images/character-variant-cv71-8.png) | zero = 'reverse-slashed-oval' , cv71 = 8 |
Reverse-slashed Zero (0 ) but more round |
![](images/character-variant-cv71-9.png) | zero = 'dotted-oval' , cv71 = 9 |
Dotted Zero (0 ) |
![](images/character-variant-cv71-10.png) | zero = 'long-dotted-oval' , cv71 = 10 |
Long-dotted Zero (0 ) like Hack |
- Styles for `1`:
- ![](images/character-variant-cv72-1.png) | one = 'nobase' , cv72 = 1 |
1 without bottom serif |
![](images/character-variant-cv72-2.png) | one = 'base' , cv72 = 2 |
1 with bottom serif |
![](images/character-variant-cv72-3.png) | one = 'line' , cv72 = 3 |
1 drawn just like a straight line |
![](images/character-variant-cv72-4.png) | one = 'nobase-long-top-serif' , cv72 = 4 |
1 without bottom serif and with a long top serif |
![](images/character-variant-cv72-5.png) | one = 'base-long-top-serif' , cv72 = 5 |
1 with bottom serif and a long top serif |
![](images/character-variant-cv72-6.png) | one = 'nobase-flat-top-serif' , cv72 = 6 |
1 without bottom serif and with a flat top serif |
![](images/character-variant-cv72-7.png) | one = 'base-flat-top-serif' , cv72 = 7 |
1 with bottom serif and a flat top serif |
+ ![](images/character-variant-cv72-1.png) | one = 'no-base' , cv72 = 1 |
1 without bottom serif |
![](images/character-variant-cv72-2.png) | one = 'base' , cv72 = 2 |
1 with bottom serif |
![](images/character-variant-cv72-3.png) | one = 'line' , cv72 = 3 |
1 drawn just like a straight line |
![](images/character-variant-cv72-4.png) | one = 'no-base-long-top-serif' , cv72 = 4 |
1 without bottom serif and with a long top serif |
![](images/character-variant-cv72-5.png) | one = 'base-long-top-serif' , cv72 = 5 |
1 with bottom serif and a long top serif |
![](images/character-variant-cv72-6.png) | one = 'no-base-flat-top-serif' , cv72 = 6 |
1 without bottom serif and with a flat top serif |
![](images/character-variant-cv72-7.png) | one = 'base-flat-top-serif' , cv72 = 7 |
1 with bottom serif and a flat top serif |
- Styles for `2`:
![](images/character-variant-cv73-1.png) | two = 'straight-neck' , cv73 = 1 |
2 with straight neck |
![](images/character-variant-cv73-2.png) | two = 'curly-neck' , cv73 = 2 |
2 with curly neck |
- Styles for `3`:
- ![](images/character-variant-cv74-1.png) | three = 'flattop' , cv74 = 1 |
Flat top 3 (Like Museo Sans / Montserrat) |
![](images/character-variant-cv74-2.png) | three = 'twoarcs' , cv74 = 2 |
Arched top 3 |
+ ![](images/character-variant-cv74-1.png) | three = 'flat-top' , cv74 = 1 |
Flat top 3 (Like Museo Sans / Montserrat) |
![](images/character-variant-cv74-2.png) | three = 'two-arcs' , cv74 = 2 |
Arched top 3 |
- Styles for `4`:
![](images/character-variant-cv75-1.png) | four = 'closed' , cv75 = 1 |
4 with closed contour |
![](images/character-variant-cv75-2.png) | four = 'closed-non-crossing' , cv75 = 2 |
4 with closed contour but the horizontal bar does not overflow the vertical bar |
![](images/character-variant-cv75-3.png) | four = 'semi-open' , cv75 = 3 |
4 with semi-open contour |
![](images/character-variant-cv75-4.png) | four = 'semi-open-non-crossing' , cv75 = 4 |
4 with semi-open contour but the horizontal bar does not overflow the vertical bar |
![](images/character-variant-cv75-5.png) | four = 'open' , cv75 = 5 |
4 with open contour |
![](images/character-variant-cv75-6.png) | four = 'open-non-crossing' , cv75 = 6 |
4 with open contour but the horizontal bar does not overflow the vertical bar |
- Styles for `5`:
diff --git a/changes/10.0.0.md b/changes/10.0.0.md
new file mode 100644
index 0000000000..6e61bbc4a1
--- /dev/null
+++ b/changes/10.0.0.md
@@ -0,0 +1,8 @@
+ * \[**Breaking**\] Fix typo of variant name `standing-motion-serifed` of `capital-r` (#1187).
+ * \[**Breaking**\] Change of variant names:
+ - `one`.`nobase` → `one`.`no-base`
+ - `one`.`nobase-long-top-serif` → `one`.`no-base-long-top-serif`
+ - `one`.`nobase-flat-top-serif` → `one`.`no-base-flat-top-serif`
+ - `three`.`flattop` → `three`.`flat-top`
+ - `three`.`twoarcs` → `three`.`two-arcs`
+ * Fix variant application of bar glyph in Oblique (#1191).
\ No newline at end of file
diff --git a/changes/3.x/3.0.0.md b/changes/3.x/3.0.0.md
index 3cf3647cd5..4a7b1d2126 100644
--- a/changes/3.x/3.0.0.md
+++ b/changes/3.x/3.0.0.md
@@ -86,7 +86,7 @@
* Fix horn connection on O-horn with tone marks: `Ờ ờ Ớ ớ Ở ở Ỡ ỡ Ợ ợ`.
* Optimize the anchor position of `R` and `ɏ` (U+024F).
* **3.0.0-beta.1**
- * Fix the shape of `Rrotunda` (U+A75A) and `rrotunda` (U+A75B).
+ * Fix the shape of `RRotunda` (U+A75A) and `rRotunda` (U+A75B).
* Make curly `k` under Slab variants look more different than the straight ones.
* Fixed minor stroke overflow on `A`.
* Fix O-hook connection.
@@ -118,7 +118,7 @@
* Refine the height of brackets and symbols.
* Renamed various variant selectors:
* `v-m-longleg` → `v-m-normal`
- * `v-one-hooky` → `v-one-nobase`
+ * `v-one-hooky` → `v-one-noBase`
* `v-one-serifed` → `v-one-base`
* `v-seven-normal` → `v-seven-noserif`
* `v-seven-force-serifed` → `v-seven-serifed`
diff --git a/changes/7.0.0.md b/changes/7.x/7.0.0.md
similarity index 100%
rename from changes/7.0.0.md
rename to changes/7.x/7.0.0.md
diff --git a/changes/7.0.1.md b/changes/7.x/7.0.1.md
similarity index 100%
rename from changes/7.0.1.md
rename to changes/7.x/7.0.1.md
diff --git a/changes/7.0.2.md b/changes/7.x/7.0.2.md
similarity index 100%
rename from changes/7.0.2.md
rename to changes/7.x/7.0.2.md
diff --git a/changes/7.0.3.md b/changes/7.x/7.0.3.md
similarity index 100%
rename from changes/7.0.3.md
rename to changes/7.x/7.0.3.md
diff --git a/changes/7.0.4.md b/changes/7.x/7.0.4.md
similarity index 100%
rename from changes/7.0.4.md
rename to changes/7.x/7.0.4.md
diff --git a/changes/7.1.0.md b/changes/7.x/7.1.0.md
similarity index 100%
rename from changes/7.1.0.md
rename to changes/7.x/7.1.0.md
diff --git a/changes/7.1.1.md b/changes/7.x/7.1.1.md
similarity index 100%
rename from changes/7.1.1.md
rename to changes/7.x/7.1.1.md
diff --git a/changes/7.2.0.md b/changes/7.x/7.2.0.md
similarity index 100%
rename from changes/7.2.0.md
rename to changes/7.x/7.2.0.md
diff --git a/changes/7.2.1.md b/changes/7.x/7.2.1.md
similarity index 100%
rename from changes/7.2.1.md
rename to changes/7.x/7.2.1.md
diff --git a/changes/7.2.2.md b/changes/7.x/7.2.2.md
similarity index 100%
rename from changes/7.2.2.md
rename to changes/7.x/7.2.2.md
diff --git a/changes/7.2.3.md b/changes/7.x/7.2.3.md
similarity index 100%
rename from changes/7.2.3.md
rename to changes/7.x/7.2.3.md
diff --git a/changes/7.2.4.md b/changes/7.x/7.2.4.md
similarity index 100%
rename from changes/7.2.4.md
rename to changes/7.x/7.2.4.md
diff --git a/changes/7.2.5.md b/changes/7.x/7.2.5.md
similarity index 100%
rename from changes/7.2.5.md
rename to changes/7.x/7.2.5.md
diff --git a/changes/7.2.6.md b/changes/7.x/7.2.6.md
similarity index 100%
rename from changes/7.2.6.md
rename to changes/7.x/7.2.6.md
diff --git a/changes/7.2.7.md b/changes/7.x/7.2.7.md
similarity index 100%
rename from changes/7.2.7.md
rename to changes/7.x/7.2.7.md
diff --git a/changes/7.2.8.md b/changes/7.x/7.2.8.md
similarity index 100%
rename from changes/7.2.8.md
rename to changes/7.x/7.2.8.md
diff --git a/changes/7.3.0.md b/changes/7.x/7.3.0.md
similarity index 100%
rename from changes/7.3.0.md
rename to changes/7.x/7.3.0.md
diff --git a/changes/7.3.1.md b/changes/7.x/7.3.1.md
similarity index 100%
rename from changes/7.3.1.md
rename to changes/7.x/7.3.1.md
diff --git a/changes/7.3.2.md b/changes/7.x/7.3.2.md
similarity index 100%
rename from changes/7.3.2.md
rename to changes/7.x/7.3.2.md
diff --git a/changes/7.3.3.md b/changes/7.x/7.3.3.md
similarity index 100%
rename from changes/7.3.3.md
rename to changes/7.x/7.3.3.md
diff --git a/changes/8.0.0.md b/changes/8.x/8.0.0.md
similarity index 100%
rename from changes/8.0.0.md
rename to changes/8.x/8.0.0.md
diff --git a/changes/8.0.1.md b/changes/8.x/8.0.1.md
similarity index 100%
rename from changes/8.0.1.md
rename to changes/8.x/8.0.1.md
diff --git a/changes/8.0.2.md b/changes/8.x/8.0.2.md
similarity index 100%
rename from changes/8.0.2.md
rename to changes/8.x/8.0.2.md
diff --git a/changes/9.0.0.md b/changes/9.x/9.0.0.md
similarity index 100%
rename from changes/9.0.0.md
rename to changes/9.x/9.0.0.md
diff --git a/changes/9.0.1.md b/changes/9.x/9.0.1.md
similarity index 100%
rename from changes/9.0.1.md
rename to changes/9.x/9.0.1.md
diff --git a/font-src/glyphs/auto-build/transformed.ptl b/font-src/glyphs/auto-build/transformed.ptl
index 0fc4ceb5b8..99a3894784 100644
--- a/font-src/glyphs/auto-build/transformed.ptl
+++ b/font-src/glyphs/auto-build/transformed.ptl
@@ -209,7 +209,7 @@ glyph-block Autobuild-Transformed : begin
list 0x02B2 'j'
list 0x02B3 'r'
list 0x02B4 'turnr'
- list 0x02B5 'turnrrtail'
+ list 0x02B5 'rTurnRTail'
list 0x02B6 'invSmcpR'
list 0x02B7 'w'
list 0x02B8 'y'
@@ -260,7 +260,7 @@ glyph-block Autobuild-Transformed : begin
list 0x1D9F 'latn/revSmallEpsilon'
list 0x1DA0 'f'
list 0x1DA1 'turnf'
- list 0x1DA2 'scriptg'
+ list 0x1DA2 'gScript'
list 0x1DA3 'turnh'
list 0x1DA4 'iBarOver'
list 0x1DA5 'latn/iota'
@@ -390,7 +390,7 @@ glyph-block Autobuild-Transformed : begin
list 0x1DE0 'n'
list 0x1DE1 'smcpN'
list 0x1DE2 'smcpR'
- list 0x1DE3 'rrotunda'
+ list 0x1DE3 'rRotunda'
list 0x1DE4 's'
list 0x1DE6 'z'
list 0x1DE7 'scripta'
diff --git a/font-src/glyphs/common/derivatives.ptl b/font-src/glyphs/common/derivatives.ptl
index 96165a3e19..49b38861e1 100644
--- a/font-src/glyphs/common/derivatives.ptl
+++ b/font-src/glyphs/common/derivatives.ptl
@@ -38,6 +38,10 @@ glyph-block Common-Derivatives : begin
alias name unicode (name + '.italic')
alias name unicode (name + '.upright')
+ define [orthographic-slanted name unicode] : if para.slopeAngle
+ alias name unicode (name + '.slanted')
+ alias name unicode (name + '.upright')
+
define [glyph-is-needed name] : [not pickHash] || pickHash.(name)
define [query-glyph id] : return : glyphStore.queryByName id
@@ -148,8 +152,9 @@ glyph-block Common-Derivatives : begin
CvDecompose.set currentGlyph { id1 id2 }
- glyph-block-export select-variant orthographic-italic refer-glyph query-glyph
- glyph-block-export derive-glyphs derive-composites link-reduced-variant alias-reduced-variant
+ glyph-block-export select-variant orthographic-italic orthographic-slanted
+ glyph-block-export refer-glyph query-glyph derive-glyphs derive-composites
+ glyph-block-export link-reduced-variant alias-reduced-variant
glyph-block-export alias turned HDual HCombine VDual VCombine glyph-is-needed
glyph-block-export HalfAdvance TurnMarks create-two-part-glyph
diff --git a/font-src/glyphs/letter/latin/lower-a.ptl b/font-src/glyphs/letter/latin/lower-a.ptl
index 1a273d438a..2f0814ae5b 100644
--- a/font-src/glyphs/letter/latin/lower-a.ptl
+++ b/font-src/glyphs/letter/latin/lower-a.ptl
@@ -185,10 +185,10 @@ glyph-block Letter-Latin-Lower-A : begin
select-variant 'a' 'a'
link-reduced-variant 'a/sansSerif' 'a' MathSansSerif
link-reduced-variant 'a/rtailBase' 'a'
- link-reduced-variant 'a/turnaBase' 'a'
+ link-reduced-variant 'a/turnABase' 'a'
alias 'cyrl/a' 0x430 'a'
- turned 'turna' 0x250 'a/turnaBase' Middle (XH / 2)
+ turned 'turna' 0x250 'a/turnABase' Middle (XH / 2)
derive-composites 'artail' 0x1D8F 'a/rtailBase' 'rRetroflexTailBR'
diff --git a/font-src/glyphs/letter/latin/lower-b.ptl b/font-src/glyphs/letter/latin/lower-b.ptl
index eebc1cb908..994213e2ba 100644
--- a/font-src/glyphs/letter/latin/lower-b.ptl
+++ b/font-src/glyphs/letter/latin/lower-b.ptl
@@ -53,24 +53,24 @@ glyph-block Letter-Latin-Lower-B : begin
link-reduced-variant 'b/sansSerif' 'b' MathSansSerif
- create-glyph 'bhooktop.toothed' : glyph-proc
+ create-glyph 'bHookTop.toothed' : glyph-proc
include : MarkSet.b
include : OBarLeftShape
include : HooktopLeftBar
if SLAB : begin
include : tagged 'serifLB' : LeftwardBottomSerif SB 0 SideJut
- create-glyph 'bhooktop.toothlessCorner' : glyph-proc
+ create-glyph 'bHookTop.toothlessCorner' : glyph-proc
include : MarkSet.b
include : OBarLeftToothlessShape XH SB DToothlessRise DMBlend
include : HooktopLeftBar (bottom -- DToothlessRise)
- create-glyph 'bhooktop.toothlessRounded' : glyph-proc
+ create-glyph 'bHookTop.toothlessRounded' : glyph-proc
include : MarkSet.b
include : OBarLeftRoundedShape XH SB XH
include : HooktopLeftBar (bottom -- SmallSmoothB)
- select-variant 'bhooktop' 0x253
+ select-variant 'bHookTop' 0x253
derive-glyphs 'bdot' 0x1E03 'b' : lambda [src sel] : glyph-proc
include : refer-glyph "dotAbove"
diff --git a/font-src/glyphs/letter/latin/lower-f.ptl b/font-src/glyphs/letter/latin/lower-f.ptl
index 20187e45f7..3085243a95 100644
--- a/font-src/glyphs/letter/latin/lower-f.ptl
+++ b/font-src/glyphs/letter/latin/lower-f.ptl
@@ -156,8 +156,8 @@ glyph-block Letter-Latin-Lower-F : begin
select-variant 'f' 'f'
link-reduced-variant 'f/sansSerif' 'f' MathSansSerif
select-variant 'turnf' 0x25F (follow -- 'f')
- select-variant 'lenisf' 0xAB35 (shapeFrom -- 'f')
- select-variant 'fltail' 0x192 (shapeFrom -- 'f')
+ select-variant 'fLenis' 0xAB35 (shapeFrom -- 'f')
+ select-variant 'fLTail' 0x192 (shapeFrom -- 'f')
select-variant 'dotlessjWithStrokeAndHook' 0x284 (shapeFrom -- 'turnf')
select-variant 'f/compLigLeft1' (shapeFrom -- 'f')
select-variant 'f/compLigLeft2' (shapeFrom -- 'f')
diff --git a/font-src/glyphs/letter/latin/lower-g.ptl b/font-src/glyphs/letter/latin/lower-g.ptl
index e5031b80bb..111b0a755d 100644
--- a/font-src/glyphs/letter/latin/lower-g.ptl
+++ b/font-src/glyphs/letter/latin/lower-g.ptl
@@ -173,14 +173,14 @@ glyph-block Letter-Latin-Lower-G : begin
link-reduced-variant 'g/sansSerif' 'g' MathSansSerif
turned 'turng' 0x1D77 'g' Middle [mix Descender XH 0.5]
- select-variant 'scriptg/hookTopBase' null (shapeFrom -- 'g')
- select-variant 'scriptg' 0x261 (shapeFrom -- 'g')
- follow -- [if SLAB 'scriptg/slabSerif' 'scriptg/sansSerif']
+ select-variant 'gScript/hookTopBase' null (shapeFrom -- 'g')
+ select-variant 'gScript' 0x261 (shapeFrom -- 'g')
+ follow -- [if SLAB 'gScript/slabSerif' 'gScript/sansSerif']
- alias 'cyrl/de.SRB' null 'scriptg'
- alias 'cyrl/de.BGR' null 'scriptg'
+ alias 'cyrl/de.SRB' null 'gScript'
+ alias 'cyrl/de.BGR' null 'gScript'
- derive-composites 'scriptgHookTop' 0x260 'scriptg/hookTopBase'
+ derive-composites 'gScriptHookTop' 0x260 'gScript/hookTopBase'
VerticalHook (RightSB - HalfStroke * HVContrast) XH HookX (-Hook) nothing (yExtension -- O)
glyph-block-import Letter-Blackboard : BBS BBD BBBarRight
diff --git a/font-src/glyphs/letter/latin/lower-m.ptl b/font-src/glyphs/letter/latin/lower-m.ptl
index d26d86a784..93f78d039b 100644
--- a/font-src/glyphs/letter/latin/lower-m.ptl
+++ b/font-src/glyphs/letter/latin/lower-m.ptl
@@ -198,16 +198,16 @@ glyph-block Letter-Latin-Lower-M : begin
shortLegTailed { SmallMArches AutoSerifs 1 1 0 }
earlessCornerDoubleArch { EarlessCornerDoubleArchSmallMShape AutoSerifs 0 0 1 }
earlessCornerDoubleArchTailed { EarlessCornerDoubleArchSmallMShape AutoSerifs 1 0 1 }
- earlessCornerDoubleArchShortleg { EarlessCornerDoubleArchSmallMShape AutoSerifs 0 1 1 }
- earlessCornerDoubleArchShortlegTailed { EarlessCornerDoubleArchSmallMShape AutoSerifs 1 1 1 }
+ earlessCornerDoubleArchShortLeg { EarlessCornerDoubleArchSmallMShape AutoSerifs 0 1 1 }
+ earlessCornerDoubleArchShortLegTailed { EarlessCornerDoubleArchSmallMShape AutoSerifs 1 1 1 }
earlessRoundedDoubleArch { EarlessRoundedDoubleArchSmallMShape AutoSerifs 0 0 1 }
earlessRoundedDoubleArchTailed { EarlessRoundedDoubleArchSmallMShape AutoSerifs 1 0 1 }
- earlessRoundedDoubleArchShortleg { EarlessRoundedDoubleArchSmallMShape AutoSerifs 0 1 1 }
- earlessRoundedDoubleArchShortlegTailed { EarlessRoundedDoubleArchSmallMShape AutoSerifs 1 1 1 }
+ earlessRoundedDoubleArchShortLeg { EarlessRoundedDoubleArchSmallMShape AutoSerifs 0 1 1 }
+ earlessRoundedDoubleArchShortLegTailed { EarlessRoundedDoubleArchSmallMShape AutoSerifs 1 1 1 }
earlessSingleArch { EarlessSingleArchSmallMShape AutoSerifs 0 0 1 }
earlessSingleArchTailed { EarlessSingleArchSmallMShape AutoSerifs 1 0 1 }
- earlessSingleArchShortleg { EarlessSingleArchSmallMShape AutoSerifs 0 1 1 }
- earlessSingleArchShortlegTailed { EarlessSingleArchSmallMShape AutoSerifs 1 1 1 }
+ earlessSingleArchShortLeg { EarlessSingleArchSmallMShape AutoSerifs 0 1 1 }
+ earlessSingleArchShortLegTailed { EarlessSingleArchSmallMShape AutoSerifs 1 1 1 }
foreach { suffix { Body Serifs tailed shortLeg earless } } [Object.entries SmallMConfig] : do
create-glyph "m.\(suffix)" : glyph-proc
diff --git a/font-src/glyphs/letter/latin/lower-r.ptl b/font-src/glyphs/letter/latin/lower-r.ptl
index d4c5b7a39d..8b4d0ad6a9 100644
--- a/font-src/glyphs/letter/latin/lower-r.ptl
+++ b/font-src/glyphs/letter/latin/lower-r.ptl
@@ -166,7 +166,7 @@ glyph-block Letter-Latin-Lower-R : begin
include : VBarRight xBar Descender 0
if doBS : include : rBottomSerif Descender
- create-glyph "rrtail.\(suffix)" : glyph-proc
+ create-glyph "rRTail.\(suffix)" : glyph-proc
set-width df.width
include : df.markSet.p
define [object xBar] : RDim df mode
@@ -176,7 +176,7 @@ glyph-block Letter-Latin-Lower-R : begin
include : refer-glyph "rtailBR"
include : ApparentTranslate xBar 0
- create-glyph "turnrrtail.\(suffix)" : glyph-proc
+ create-glyph "rTurnRTail.\(suffix)" : glyph-proc
set-width df.width
include : df.markSet.p
define [object xBar] : RDim df mode
@@ -198,12 +198,12 @@ glyph-block Letter-Latin-Lower-R : begin
select-variant 'rlongleg' 0x27C (follow -- 'r')
turned 'turnrlongleg' 0x27A 'rlongleg' HalfAdvance (XH / 2) [TurnRMarks 'b']
- select-variant 'rrtail' 0x27D
- turned 'smallLetterTurnedRWithTail' 0x2C79 'rrtail' HalfAdvance (XH / 2) : glyph-proc
+ select-variant 'rRTail' 0x27D
+ turned 'smallLetterTurnedRWithTail' 0x2C79 'rRTail' HalfAdvance (XH / 2) : glyph-proc
local df : DivFrame (currentGlyph.advanceWidth / Width)
include : df.markSet.b
- select-variant 'turnrrtail' 0x27B
+ select-variant 'rTurnRTail' 0x27B
define [BBRShape df md doTopSerif doBottomSerif] : glyph-proc
@@ -223,14 +223,14 @@ glyph-block Letter-Latin-Lower-R : begin
include : BBRShape dfN rStraight 0 0
- create-glyph 'rflap.serifless' : glyph-proc
+ create-glyph 'rFlap.serifless' : glyph-proc
set-width dfN.width
include : dfN.markSet.e
define [object rBottomSerif] : RDim dfN rEarless
include : EarlessRoundedShape dfN rEarless 0 0
- create-forked-glyph 'rflap.serifed' : rBottomSerif 0
+ create-forked-glyph 'rFlap.serifed' : rBottomSerif 0
- create-glyph 'rflap.compact' : glyph-proc
+ create-glyph 'rFlap.compact' : glyph-proc
set-width dfR.width
include : dfR.markSet.e
define [object xBar rBottomSerif xArchMiddle] : RDim dfR rNarrow
@@ -243,4 +243,4 @@ glyph-block Letter-Latin-Lower-R : begin
curl (xBar - Stroke * HVContrast) 0 [heading Downward]
if SLAB : include : rBottomSerif 0
- select-variant 'rflap' 0x27E
+ select-variant 'rFlap' 0x27E
diff --git a/font-src/glyphs/letter/latin/lower-y.ptl b/font-src/glyphs/letter/latin/lower-y.ptl
index c491f35883..725ce28cb0 100644
--- a/font-src/glyphs/letter/latin/lower-y.ptl
+++ b/font-src/glyphs/letter/latin/lower-y.ptl
@@ -296,16 +296,16 @@ glyph-block Letter-Latin-Lower-Y : begin
create-glyph : glyph-proc
include : MarkSet.p
set-base-anchor 'overlay' Middle (XH / 2)
- create-forked-glyph 'yhooktop.straight' : glyph-proc
+ create-forked-glyph 'yHookTop.straight' : glyph-proc
include : [GenSmallYShape true false SLAB-AUTO].SmallYHookTopShape XH Descender
- create-forked-glyph 'yhooktop.straightTurn' : glyph-proc
+ create-forked-glyph 'yHookTop.straightTurn' : glyph-proc
include : [GenSmallYShape true true SLAB-AUTO].SmallYHookTopShape XH Descender
- create-forked-glyph 'yhooktop.curly' : glyph-proc
+ create-forked-glyph 'yHookTop.curly' : glyph-proc
include : [GenSmallYShape false false SLAB-AUTO].SmallYHookTopShape XH Descender
- create-forked-glyph 'yhooktop.curlyTurn' : glyph-proc
+ create-forked-glyph 'yHookTop.curlyTurn' : glyph-proc
include : [GenSmallYShape false true SLAB-AUTO].SmallYHookTopShape XH Descender
- create-glyph 'yhooktop.cursive' : glyph-proc
+ create-glyph 'yHookTop.cursive' : glyph-proc
include : MarkSet.p
include : SmallYCursiveArc XH 0
include : SmallYCusriveHook (XH - Hook - HalfStroke) Descender
@@ -313,7 +313,7 @@ glyph-block Letter-Latin-Lower-Y : begin
if SLAB : include : LeftwardTopSerif SB XH SideJut
set-base-anchor 'overlay' Middle (XH / 2)
- create-glyph 'yhooktop.cursiveFlatHook' : glyph-proc
+ create-glyph 'yHookTop.cursiveFlatHook' : glyph-proc
include : MarkSet.p
include : SmallYCursiveArc XH 0
include : SmallYFlatHookCusriveHook (XH - Hook - HalfStroke) Descender
@@ -343,7 +343,7 @@ glyph-block Letter-Latin-Lower-Y : begin
if SLAB : include : CenterTopSerif (SB + HalfStroke * HVContrast) CAP Jut
if SLAB : include : CenterTopSerif (RightSB - HalfStroke * HVContrast) CAP Jut
- select-variant 'yhooktop' 0x1B4
+ select-variant 'yHookTop' 0x1B4
select-variant 'cyrl/U' 0x423
turned 'turny' 0x28E 'y' Middle (XH / 2) [MarkSet.b]
diff --git a/font-src/glyphs/letter/latin/u.ptl b/font-src/glyphs/letter/latin/u.ptl
index 622e17afd0..597c90103b 100644
--- a/font-src/glyphs/letter/latin/u.ptl
+++ b/font-src/glyphs/letter/latin/u.ptl
@@ -184,7 +184,7 @@ glyph-block Letter-Latin-U : begin
select-variant 'smcpU' 0x1D1C (follow -- 'U')
select-variant 'u' 'u'
link-reduced-variant 'u/sansSerif' 'u' MathSansSerif
- select-variant 'u/urtailBase' (shapeFrom -- 'u')
+ select-variant 'u/uRTailBase' (shapeFrom -- 'u')
select-variant 'cyrl/i.italic' (shapeFrom -- 'u')
select-variant 'cyrl/i.italic.reduced' (shapeFrom -- 'u')
alias 'cyrl/i.BGR' null 'cyrl/i.italic'
@@ -199,7 +199,7 @@ glyph-block Letter-Latin-U : begin
derive-composites 'cyrl/iShortTail.italic' null 'cyrl/i.italic.reduced' [refer-glyph 'breveAbove'] [CyrTailDescender RightSB]
- derive-composites 'urtailBR' 0x1D99 'u/urtailBase' 'rRetroflexTailBR'
+ derive-composites 'uRTailBR' 0x1D99 'u/uRTailBase' 'rRetroflexTailBR'
define [LatinUpsilon2Shape top sma smb] : glyph-proc
include : dispiro
diff --git a/font-src/glyphs/letter/latin/upper-r.ptl b/font-src/glyphs/letter/latin/upper-r.ptl
index 9fcba91a58..4495c04984 100644
--- a/font-src/glyphs/letter/latin/upper-r.ptl
+++ b/font-src/glyphs/letter/latin/upper-r.ptl
@@ -190,11 +190,11 @@ glyph-block Letter-Latin-Upper-R : begin
RShape legShape XH (slab -- slabs) (bp -- bpXH)
if fOpen [PShape.OpenGap XH (mul -- 1) (bp -- bpXH)] [glyph-proc]
- if (!fMotion && !fOpen) : create-glyph "Rrotunda.\(suffix)" : glyph-proc
+ if (!fMotion && !fOpen) : create-glyph "RRotunda.\(suffix)" : glyph-proc
include : MarkSet.capital
include : RRotundaShape legShape CAP (hook -- Hook) (pBar -- 0.9) (slab -- slabs)
- if (!fMotion && !fOpen) : create-glyph "rrotunda.\(suffix)" : glyph-proc
+ if (!fMotion && !fOpen) : create-glyph "rRotunda.\(suffix)" : glyph-proc
include : MarkSet.e
include : RRotundaShape legShape XH (hook -- AHook) (pBar -- 0.9) (slab -- slabs)
@@ -244,8 +244,8 @@ glyph-block Letter-Latin-Upper-R : begin
select-variant 'smcpR' 0x280 (follow -- 'R')
turned 'turnSmapR' 0x1D1A 'smcpR' Middle (XH / 2)
- select-variant 'Rrotunda' 0xA75A
- select-variant 'rrotunda' 0xA75B (follow -- 'Rrotunda')
+ select-variant 'RRotunda' 0xA75A
+ select-variant 'rRotunda' 0xA75B (follow -- 'RRotunda')
select-variant 'cyrl/Ya' 0x42F
select-variant 'cyrl/ya' 0x44F
@@ -254,7 +254,7 @@ glyph-block Letter-Latin-Upper-R : begin
select-variant 'Yr' 0x1A6 (follow -- 'R')
- select-variant 'currency/indianRupeeSign' 0x20B9 (follow -- 'Rrotunda')
+ select-variant 'currency/indianRupeeSign' 0x20B9 (follow -- 'RRotunda')
derive-glyphs 'Rbar' 0x24C 'R' : lambda [src sel] : glyph-proc
include [refer-glyph src] AS_BASE ALSO_METRICS
diff --git a/font-src/glyphs/letter/latin/upper-y.ptl b/font-src/glyphs/letter/latin/upper-y.ptl
index d21c07154f..9f5c46b6be 100644
--- a/font-src/glyphs/letter/latin/upper-y.ptl
+++ b/font-src/glyphs/letter/latin/upper-y.ptl
@@ -100,7 +100,7 @@ glyph-block Letter-Latin-Upper-Y : begin
include : YShape bodyType XH 0
include : YSlabs slabType XH 0
- create-glyph "Yhooktop.\(suffix)" : glyph-proc
+ create-glyph "YHookTop.\(suffix)" : glyph-proc
include : MarkSet.capital
include : YHookTopShape bodyType CAP 0
include : YSlabs slabType CAP 0
@@ -121,7 +121,7 @@ glyph-block Letter-Latin-Upper-Y : begin
select-variant 'Y' 'Y'
link-reduced-variant 'Y/sansSerif' 'Y' MathSansSerif
- select-variant 'Yhooktop' 0x1B3 (follow -- 'Y')
+ select-variant 'YHookTop' 0x1B3 (follow -- 'Y')
select-variant 'smcpY' 0x28F (follow -- 'Y')
select-variant 'cyrl/ue' 0x4AF (follow -- 'Y')
select-variant 'grek/upsilonHookedSymbolShape' 0x3D2
diff --git a/font-src/glyphs/letter/latin/v.ptl b/font-src/glyphs/letter/latin/v.ptl
index ff45acd23f..ab125b2bfa 100644
--- a/font-src/glyphs/letter/latin/v.ptl
+++ b/font-src/glyphs/letter/latin/v.ptl
@@ -152,13 +152,13 @@ glyph-block Letter-Latin-V : begin
include : VShape [DivFrame 1] XH Stroke fStraightBar
include : Serifs XH
- create-glyph "Vhooktop.\(suffix)" : glyph-proc
+ create-glyph "VHookTop.\(suffix)" : glyph-proc
include : MarkSet.capital
include : VHooktopShape [DivFrame 1] fStraightBar CAP
include : Serifs CAP
eject-contour 'serifRT'
- create-glyph "vhooktop.\(suffix)" : glyph-proc
+ create-glyph "vHookTop.\(suffix)" : glyph-proc
include : MarkSet.e
include : VHooktopShape [DivFrame 1] fStraightBar XH
include : Serifs XH
@@ -179,9 +179,9 @@ glyph-block Letter-Latin-V : begin
select-variant 'v' 'v'
link-reduced-variant 'v/sansSerif' 'v' MathSansSerif
select-variant 'smcpV' 0x1D20 (shapeFrom -- 'v') (follow -- 'V')
- select-variant 'vhooktop' 0x2C71 (follow -- 'vhooktop')
- select-variant 'cyrl/Izhitsa' 0x474 (follow -- 'Vhooktop') (shapeFrom -- 'Vhooktop')
- alias 'cyrl/izhitsa' 0x475 'vhooktop'
+ select-variant 'vHookTop' 0x2C71 (follow -- 'vHookTop')
+ select-variant 'cyrl/Izhitsa' 0x474 (follow -- 'VHookTop') (shapeFrom -- 'VHookTop')
+ alias 'cyrl/izhitsa' 0x475 'vHookTop'
turned 'turnv.straight' nothing 'v.straight' Middle (XH / 2)
diff --git a/font-src/glyphs/letter/latin/w.ptl b/font-src/glyphs/letter/latin/w.ptl
index 8d80ca13f8..7561ccbd24 100644
--- a/font-src/glyphs/letter/latin/w.ptl
+++ b/font-src/glyphs/letter/latin/w.ptl
@@ -325,13 +325,13 @@ glyph-block Letter-Latin-W : begin
include : ApparentTranslate 0 (CAP / 2 + gap)
include : implT df (CAP / 2 - gap / 2) bodyType slabType
- if hookTopImplT : create-glyph "Whooktop.\(suffix)" : glyph-proc
+ if hookTopImplT : create-glyph "WHookTop.\(suffix)" : glyph-proc
local df : DivFrame para.diversityM 3
set-width df.width
include : df.markSet.capital
include : hookTopImplT df CAP bodyType slabType
- if hookTopImplT : create-glyph "whooktop.\(suffix)" : glyph-proc
+ if hookTopImplT : create-glyph "wHookTop.\(suffix)" : glyph-proc
local df : DivFrame para.diversityM 3
set-width df.width
include : df.markSet.e
@@ -339,12 +339,12 @@ glyph-block Letter-Latin-W : begin
select-variant 'W' 'W'
link-reduced-variant 'W/sansSerif' 'W' MathSansSerif
- select-variant 'Whooktop' 0x2C72
+ select-variant 'WHookTop' 0x2C72
select-variant 'w' 'w'
link-reduced-variant 'w/sansSerif' 'w' MathSansSerif
select-variant 'smcpW' 0x1D21 (shapeFrom -- 'w') (follow -- 'W')
select-variant 'ww' 0x2AC (follow -- 'w')
- select-variant 'whooktop' 0x2C73
+ select-variant 'wHookTop' 0x2C73
alias 'cyrl/We' 0x51C 'W'
alias 'cyrl/we' 0x51D 'w'
turned 'turnw' 0x28D 'w' (Middle * para.diversityM) (XH / 2)
diff --git a/font-src/glyphs/number/1.ptl b/font-src/glyphs/number/1.ptl
index 5ed73077be..af615e981c 100644
--- a/font-src/glyphs/number/1.ptl
+++ b/font-src/glyphs/number/1.ptl
@@ -22,7 +22,7 @@ glyph-block Digits-One : begin
include : VBar (Middle + balance) 0 top
include : LeftwardTopSerif (Middle + balance - HalfStroke * HVContrast) (top - Stroke / 8 - Hook * pTopSerif * (top / CAP)) (LongJut - HalfStroke * HVContrast)
- create-glyph 'one.lnum.nobase' : glyph-proc
+ create-glyph 'one.lnum.noBase' : glyph-proc
include : MarkSet.capital
include : OneShape CAP OneBalance 0.75
@@ -31,7 +31,7 @@ glyph-block Digits-One : begin
include : OneShape CAP (OneBalance / 4) 0.75
include : CenterBottomSerif Middle 0 LongJut
- create-glyph 'one.lnum.nobaseLongTopSerif' : glyph-proc
+ create-glyph 'one.lnum.noBaseLongTopSerif' : glyph-proc
include : MarkSet.capital
include : OneShape CAP OneBalance 1.875
@@ -40,7 +40,7 @@ glyph-block Digits-One : begin
include : OneShape CAP (OneBalance / 4) 1.875
include : CenterBottomSerif Middle 0 LongJut
- create-glyph 'one.lnum.nobaseFlatTopSerif' : glyph-proc
+ create-glyph 'one.lnum.noBaseFlatTopSerif' : glyph-proc
include : MarkSet.capital
include : OneShapeFlat CAP OneBalance 0.625
@@ -53,7 +53,7 @@ glyph-block Digits-One : begin
include : MarkSet.capital
include : VBar Middle 0 CAP
- create-glyph 'one.onum.nobase' : glyph-proc
+ create-glyph 'one.onum.noBase' : glyph-proc
include : OnumMarks.e
include : OneShape OnumHeight OneBalance 0.75
@@ -62,7 +62,7 @@ glyph-block Digits-One : begin
include : OneShape OnumHeight (OneBalance / 4) 0.75
include : CenterBottomSerif Middle 0 LongJut
- create-glyph 'one.onum.nobaseLongTopSerif' : glyph-proc
+ create-glyph 'one.onum.noBaseLongTopSerif' : glyph-proc
include : OnumMarks.e
include : OneShape OnumHeight OneBalance 1.875
@@ -71,7 +71,7 @@ glyph-block Digits-One : begin
include : OneShape OnumHeight (OneBalance / 4) 1.875
include : CenterBottomSerif Middle 0 LongJut
- create-glyph 'one.onum.nobaseFlatTopSerif' : glyph-proc
+ create-glyph 'one.onum.noBaseFlatTopSerif' : glyph-proc
include : OnumMarks.e
include : OneShapeFlat OnumHeight OneBalance 0.625
diff --git a/font-src/glyphs/number/3.ptl b/font-src/glyphs/number/3.ptl
index 640ef2ec3b..29b283a022 100644
--- a/font-src/glyphs/number/3.ptl
+++ b/font-src/glyphs/number/3.ptl
@@ -33,17 +33,17 @@ glyph-block Digits-Three : begin
define [ThreeShape top] : ThreeShapeT dispiro 0 Stroke top
- create-glyph 'three.lnum.twoarcs' : glyph-proc
+ create-glyph 'three.lnum.twoArcs' : glyph-proc
include : MarkSet.capital
include : ThreeShape CAP
- create-glyph 'three.lnum.flattop' : glyph-proc
+ create-glyph 'three.lnum.flatTop' : glyph-proc
include : MarkSet.capital
include : EzhShape CAP 0 0.25 0.975
- create-glyph 'three.onum.twoarcs' : glyph-proc
+ create-glyph 'three.onum.twoArcs' : glyph-proc
include : OnumMarks.p
include : ThreeShape CAP
include : ShiftDown
- create-glyph 'three.onum.flattop' : glyph-proc
+ create-glyph 'three.onum.flatTop' : glyph-proc
include : OnumMarks.p
include : EzhShape CAP 0 0.25 0.975
include : ShiftDown
diff --git a/font-src/glyphs/symbol/punctuation/bar.ptl b/font-src/glyphs/symbol/punctuation/bar.ptl
index a8bbf62cde..6008c7df49 100644
--- a/font-src/glyphs/symbol/punctuation/bar.ptl
+++ b/font-src/glyphs/symbol/punctuation/bar.ptl
@@ -17,8 +17,8 @@ glyph-block Symbol-Punctuation-Bar : begin
include : VBar x (ParenBot + gap) (ParenTop - gap)
create-glyph 'bar.upright' : BarShape Middle 0
- create-glyph 'bar.italic.naturalSlope' : BarShape Middle 0
- create-glyph 'bar.italic.forceUpright' : glyph-proc
+ create-glyph 'bar.slanted.naturalSlope' : BarShape Middle 0
+ create-glyph 'bar.slanted.forceUpright' : glyph-proc
include : ForceUpright
include : BarShape Middle 0
@@ -42,8 +42,8 @@ glyph-block Symbol-Punctuation-Bar : begin
include : VBar (Middle + Width * 0.175) ParenBot ParenTop sw
create-glyph 'parallel.upright' : DoubleBarShape
- create-glyph 'parallel.italic.naturalSlope' : DoubleBarShape
- create-glyph 'parallel.italic.forceUpright' : glyph-proc
+ create-glyph 'parallel.slanted.naturalSlope' : DoubleBarShape
+ create-glyph 'parallel.slanted.forceUpright' : glyph-proc
include : ForceUpright
include : DoubleBarShape
@@ -53,8 +53,8 @@ glyph-block Symbol-Punctuation-Bar : begin
include : VBar Middle ParenBot (SymbolMid - breakDist / 2)
create-glyph 'brokenBar.upright' : BrokenBarShape
- create-glyph 'brokenBar.italic.naturalSlope' : BrokenBarShape
- create-glyph 'brokenBar.italic.forceUpright' : glyph-proc
+ create-glyph 'brokenBar.slanted.naturalSlope' : BrokenBarShape
+ create-glyph 'brokenBar.slanted.forceUpright' : glyph-proc
include : ForceUpright
include : BrokenBarShape
@@ -63,12 +63,12 @@ glyph-block Symbol-Punctuation-Bar : begin
include : HBarBottom SB RightSB (SymbolMid + XH * 0.1) OperatorStroke
include : HBarTop SB RightSB (SymbolMid - XH * 0.1) OperatorStroke
- select-variant 'bar.italic'
- orthographic-italic 'bar' '|'
- select-variant 'parallel.italic' (follow -- 'bar.italic')
- orthographic-italic 'parallel' 0x2225
- select-variant 'brokenBar.italic' (follow -- 'bar.italic')
- orthographic-italic 'brokenBar' 0xA6
+ select-variant 'bar.slanted'
+ orthographic-slanted 'bar' '|'
+ select-variant 'parallel.slanted' (follow -- 'bar.slanted')
+ orthographic-slanted 'parallel' 0x2225
+ select-variant 'brokenBar.slanted' (follow -- 'bar.slanted')
+ orthographic-slanted 'brokenBar' 0xA6
alias 'dentalclick' 0x1C0 'bar.upright'
alias 'doubleBar' 0x2016 'parallel'
alias 'alveolarlateralclick' 0x1C1 'parallel.upright'
diff --git a/font-src/meta/macros.ptl b/font-src/meta/macros.ptl
index 2bd2d40595..62afd1f4c5 100644
--- a/font-src/meta/macros.ptl
+++ b/font-src/meta/macros.ptl
@@ -128,10 +128,10 @@ define-macro glyph-block-import : syntax-rules
`[glyph-block-import @_blockName] : begin
define allExports : object
- Common-Derivatives `[select-variant orthographic-italic refer-glyph query-glyph
- alias turned HDual HCombine VDual VCombine derive-glyphs derive-composites
- link-reduced-variant alias-reduced-variant glyph-is-needed HalfAdvance TurnMarks
- create-two-part-glyph]
+ Common-Derivatives `[select-variant orthographic-italic orthographic-slanted
+ refer-glyph query-glyph alias turned HDual HCombine VDual VCombine derive-glyphs
+ derive-composites link-reduced-variant alias-reduced-variant glyph-is-needed
+ HalfAdvance TurnMarks create-two-part-glyph]
CommonShapes `[Rect SquareAt Ring RingAt DotAt RingStroke RingStrokeAt DotStrokeAt
CircleRing CircleRingAt CircleDotAt OShape OShapeOutline OShapeFlatTB OBarLeftShape
diff --git a/package-lock.json b/package-lock.json
new file mode 100644
index 0000000000..85d1d958d8
--- /dev/null
+++ b/package-lock.json
@@ -0,0 +1,2270 @@
+{
+ "name": "iosevka",
+ "version": "10.0.0",
+ "lockfileVersion": 1,
+ "requires": true,
+ "dependencies": {
+ "@babel/code-frame": {
+ "version": "7.12.11",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz",
+ "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==",
+ "dev": true,
+ "requires": {
+ "@babel/highlight": "^7.10.4"
+ }
+ },
+ "@babel/helper-validator-identifier": {
+ "version": "7.14.8",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.8.tgz",
+ "integrity": "sha512-ZGy6/XQjllhYQrNw/3zfWRwZCTVSiBLZ9DHVZxn9n2gip/7ab8mv2TWlKPIBk26RwedCBoWdjLmn+t9na2Gcow==",
+ "dev": true
+ },
+ "@babel/highlight": {
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz",
+ "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-validator-identifier": "^7.14.5",
+ "chalk": "^2.0.0",
+ "js-tokens": "^4.0.0"
+ }
+ },
+ "@eslint/eslintrc": {
+ "version": "0.4.3",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz",
+ "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==",
+ "dev": true,
+ "requires": {
+ "ajv": "^6.12.4",
+ "debug": "^4.1.1",
+ "espree": "^7.3.0",
+ "globals": "^13.9.0",
+ "ignore": "^4.0.6",
+ "import-fresh": "^3.2.1",
+ "js-yaml": "^3.13.1",
+ "minimatch": "^3.0.4",
+ "strip-json-comments": "^3.1.1"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz",
+ "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==",
+ "dev": true,
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true
+ }
+ }
+ },
+ "@humanwhocodes/config-array": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz",
+ "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==",
+ "dev": true,
+ "requires": {
+ "@humanwhocodes/object-schema": "^1.2.0",
+ "debug": "^4.1.1",
+ "minimatch": "^3.0.4"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz",
+ "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==",
+ "dev": true,
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true
+ }
+ }
+ },
+ "@humanwhocodes/object-schema": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.0.tgz",
+ "integrity": "sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w==",
+ "dev": true
+ },
+ "@iarna/toml": {
+ "version": "2.2.5",
+ "resolved": "https://registry.npmjs.org/@iarna/toml/-/toml-2.2.5.tgz",
+ "integrity": "sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg=="
+ },
+ "@msgpack/msgpack": {
+ "version": "2.7.0",
+ "resolved": "https://registry.npmjs.org/@msgpack/msgpack/-/msgpack-2.7.0.tgz",
+ "integrity": "sha512-mlRYq9FSsOd4m+3wZWatemn3hGFZPWNJ4JQOdrir4rrMK2PyIk26idKBoUWrqF3HJJHl+5GpRU+M0wEruJwecg=="
+ },
+ "@ot-builder/bin-composite-types": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@ot-builder/bin-composite-types/-/bin-composite-types-1.1.0.tgz",
+ "integrity": "sha512-/JaR3T99LHJWzOp08qLE9yTpe+v9DlgyE/ZwSyueG/fbzfCquHve9qgOaIP/yEiVNhQdMEBMsJdpQyicL6db3w==",
+ "requires": {
+ "@ot-builder/bin-util": "1.1.0",
+ "@ot-builder/errors": "1.1.0",
+ "@ot-builder/prelude": "1.1.0",
+ "tslib": "^2.0.0"
+ }
+ },
+ "@ot-builder/bin-util": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@ot-builder/bin-util/-/bin-util-1.1.0.tgz",
+ "integrity": "sha512-Cwk6FsYU9aJmmbFcrE1DI3t+FzdyTb6IotsCY1YAxnS4nEkj70bNRfDbxu4rzpPqBgndIjAz1FSXtlSayW0LMw==",
+ "requires": {
+ "@ot-builder/errors": "1.1.0",
+ "@ot-builder/prelude": "1.1.0",
+ "tslib": "^2.0.0"
+ }
+ },
+ "@ot-builder/cli-help-shower": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@ot-builder/cli-help-shower/-/cli-help-shower-1.1.0.tgz",
+ "integrity": "sha512-0KaiPVXkjyuBhHZK5/1fxGX7Ch0/YAmc/+Os3QSwH8xgN2O682TZhW+TaKJzGLe6wuTomQ0H3YzO5Z4PfIyx3g==",
+ "requires": {
+ "chalk": "^4.1.1",
+ "tslib": "^2.0.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "chalk": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
+ "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
+ },
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="
+ },
+ "supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ }
+ }
+ },
+ "@ot-builder/cli-proc": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@ot-builder/cli-proc/-/cli-proc-1.1.0.tgz",
+ "integrity": "sha512-NiFyLMF6YCSum5gvqTWYZai2by0ULkOAX41bRdyoq9i+bq2vLQAisCdo3jZ6rjAWHO+zo4YTvcTyj2ukfABycw==",
+ "requires": {
+ "@ot-builder/common-impl": "1.1.0",
+ "@ot-builder/io-bin-font": "1.1.0",
+ "@ot-builder/ot": "1.1.0",
+ "@ot-builder/prelude": "1.1.0",
+ "@ot-builder/primitive": "1.1.0",
+ "@ot-builder/rectify": "1.1.0",
+ "@ot-builder/trace": "1.1.0",
+ "tslib": "^2.0.0"
+ }
+ },
+ "@ot-builder/cli-shared": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@ot-builder/cli-shared/-/cli-shared-1.1.0.tgz",
+ "integrity": "sha512-rMsvIZHPc6RPSX1V2XJWM0fO/stSLctRMQZPnoPWQFcChS8Xvjf7iCBD8NA7V07LUI/8hYrcb4DMzp6aoJ4/pg==",
+ "requires": {
+ "@ot-builder/io-bin-font": "1.1.0",
+ "@ot-builder/ot": "1.1.0",
+ "tslib": "^2.0.0"
+ }
+ },
+ "@ot-builder/common-impl": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@ot-builder/common-impl/-/common-impl-1.1.0.tgz",
+ "integrity": "sha512-Gnm1eCD2UMSXJhqoqK4vEGGIqVHKch+UF6VBO6uezT7vzdHfTW/IltIaB5ukbT4wumQfRMuZs9Eb6cabNae+hg==",
+ "requires": {
+ "@ot-builder/prelude": "1.1.0",
+ "tslib": "^2.0.0"
+ }
+ },
+ "@ot-builder/errors": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@ot-builder/errors/-/errors-1.1.0.tgz",
+ "integrity": "sha512-88O6kaLJSWv+n1rboJ/lFEWEs3gRlABlLbqEgUX/tXqVs3cineH7ZZlBDpoNvVYnYV53KzReh8P0P4MIQklejQ==",
+ "requires": {
+ "tslib": "^2.0.0"
+ }
+ },
+ "@ot-builder/io-bin-cff": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@ot-builder/io-bin-cff/-/io-bin-cff-1.1.0.tgz",
+ "integrity": "sha512-bLVT7VnEViiKjL2emb1GbWwybBN0qkfqWgZgkdZJEU930nlnY//FsQhKrpZDW6A9vce7GiwuZaxeSETexF0/ug==",
+ "requires": {
+ "@ot-builder/bin-composite-types": "1.1.0",
+ "@ot-builder/bin-util": "1.1.0",
+ "@ot-builder/common-impl": "1.1.0",
+ "@ot-builder/errors": "1.1.0",
+ "@ot-builder/ot-glyphs": "1.1.0",
+ "@ot-builder/ot-metadata": "1.1.0",
+ "@ot-builder/prelude": "1.1.0",
+ "@ot-builder/primitive": "1.1.0",
+ "@ot-builder/stat-glyphs": "1.1.0",
+ "@ot-builder/var-store": "1.1.0",
+ "@ot-builder/variance": "1.1.0",
+ "tslib": "^2.0.0"
+ }
+ },
+ "@ot-builder/io-bin-encoding": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@ot-builder/io-bin-encoding/-/io-bin-encoding-1.1.0.tgz",
+ "integrity": "sha512-77cYkXoJxfrDfjXkVIGuCHy/E+ff+t5E2zABHIFLoNmpXJvJdjYPupM/roMKkHqWjhnIP6caEwdCuxt3e8UNHA==",
+ "requires": {
+ "@ot-builder/bin-util": "1.1.0",
+ "@ot-builder/errors": "1.1.0",
+ "@ot-builder/io-bin-sfnt": "1.1.0",
+ "@ot-builder/ot-encoding": "1.1.0",
+ "@ot-builder/ot-glyphs": "1.1.0",
+ "@ot-builder/ot-metadata": "1.1.0",
+ "@ot-builder/ot-sfnt": "1.1.0",
+ "@ot-builder/prelude": "1.1.0",
+ "@ot-builder/primitive": "1.1.0",
+ "tslib": "^2.0.0"
+ }
+ },
+ "@ot-builder/io-bin-ext-private": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@ot-builder/io-bin-ext-private/-/io-bin-ext-private-1.1.0.tgz",
+ "integrity": "sha512-EwaHkGdP53bEXm7drrwrD6u63kSHw0A4NX+5xzhsIqDV24LShsZ9t34O2Pby9pN9jCJJFIWN3ryXEq3sHny4cA==",
+ "requires": {
+ "@ot-builder/bin-util": "1.1.0",
+ "@ot-builder/errors": "1.1.0",
+ "@ot-builder/io-bin-sfnt": "1.1.0",
+ "@ot-builder/ot-ext-private": "1.1.0",
+ "@ot-builder/ot-glyphs": "1.1.0",
+ "@ot-builder/ot-metadata": "1.1.0",
+ "@ot-builder/ot-sfnt": "1.1.0",
+ "@ot-builder/prelude": "1.1.0",
+ "@ot-builder/primitive": "1.1.0",
+ "tslib": "^2.0.0"
+ }
+ },
+ "@ot-builder/io-bin-font": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@ot-builder/io-bin-font/-/io-bin-font-1.1.0.tgz",
+ "integrity": "sha512-PslL6SFENEGtQ6zOXMewl69cOibOLLzrr8CS2Pe78zNcxJ4BWsP6dwZNeu8gVqWKLsUQJQIWbwaPiP/RDhQKUQ==",
+ "requires": {
+ "@ot-builder/bin-util": "1.1.0",
+ "@ot-builder/io-bin-encoding": "1.1.0",
+ "@ot-builder/io-bin-ext-private": "1.1.0",
+ "@ot-builder/io-bin-glyph-store": "1.1.0",
+ "@ot-builder/io-bin-layout": "1.1.0",
+ "@ot-builder/io-bin-metadata": "1.1.0",
+ "@ot-builder/io-bin-name": "1.1.0",
+ "@ot-builder/io-bin-sfnt": "1.1.0",
+ "@ot-builder/ot": "1.1.0",
+ "@ot-builder/ot-encoding": "1.1.0",
+ "@ot-builder/ot-ext-private": "1.1.0",
+ "@ot-builder/ot-glyphs": "1.1.0",
+ "@ot-builder/ot-layout": "1.1.0",
+ "@ot-builder/ot-metadata": "1.1.0",
+ "@ot-builder/ot-name": "1.1.0",
+ "@ot-builder/ot-sfnt": "1.1.0",
+ "@ot-builder/prelude": "1.1.0",
+ "tslib": "^2.0.0"
+ }
+ },
+ "@ot-builder/io-bin-glyph-store": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@ot-builder/io-bin-glyph-store/-/io-bin-glyph-store-1.1.0.tgz",
+ "integrity": "sha512-ontsdJHI6dY1N0HKzdwLIb0o9G5Q+S1ETADuShP/nQD0lV3cxxj1KS/PnFE/LSoyY0AKrs630kLV1lrMS3R4rg==",
+ "requires": {
+ "@ot-builder/bin-util": "1.1.0",
+ "@ot-builder/common-impl": "1.1.0",
+ "@ot-builder/errors": "1.1.0",
+ "@ot-builder/io-bin-cff": "1.1.0",
+ "@ot-builder/io-bin-metric": "1.1.0",
+ "@ot-builder/io-bin-sfnt": "1.1.0",
+ "@ot-builder/io-bin-ttf": "1.1.0",
+ "@ot-builder/ot-glyphs": "1.1.0",
+ "@ot-builder/ot-metadata": "1.1.0",
+ "@ot-builder/ot-sfnt": "1.1.0",
+ "@ot-builder/prelude": "1.1.0",
+ "@ot-builder/primitive": "1.1.0",
+ "@ot-builder/stat-glyphs": "1.1.0",
+ "@ot-builder/var-store": "1.1.0",
+ "@ot-builder/variance": "1.1.0",
+ "tslib": "^2.0.0"
+ }
+ },
+ "@ot-builder/io-bin-layout": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@ot-builder/io-bin-layout/-/io-bin-layout-1.1.0.tgz",
+ "integrity": "sha512-QEW3kR/Tu1Qtp3f6zrmQKGGeRD6daTpuBwjS4AnR47WhGHLZ9IJxVsNMHJeyYwnjXAWg6Tht5HjHGnI9dKnSDA==",
+ "requires": {
+ "@ot-builder/bin-composite-types": "1.1.0",
+ "@ot-builder/bin-util": "1.1.0",
+ "@ot-builder/common-impl": "1.1.0",
+ "@ot-builder/errors": "1.1.0",
+ "@ot-builder/io-bin-sfnt": "1.1.0",
+ "@ot-builder/ot-glyphs": "1.1.0",
+ "@ot-builder/ot-layout": "1.1.0",
+ "@ot-builder/ot-metadata": "1.1.0",
+ "@ot-builder/ot-sfnt": "1.1.0",
+ "@ot-builder/prelude": "1.1.0",
+ "@ot-builder/primitive": "1.1.0",
+ "@ot-builder/var-store": "1.1.0",
+ "@ot-builder/variance": "1.1.0",
+ "tslib": "^2.0.0"
+ }
+ },
+ "@ot-builder/io-bin-metadata": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@ot-builder/io-bin-metadata/-/io-bin-metadata-1.1.0.tgz",
+ "integrity": "sha512-PjeEoquOsI2mwg3MZL4VDRlzmWVA5LBeYKAY3LH140WOPYFlPN27YfWGVUO/swc98Z+5xgDZau3emj3ElSRvrw==",
+ "requires": {
+ "@ot-builder/bin-composite-types": "1.1.0",
+ "@ot-builder/bin-util": "1.1.0",
+ "@ot-builder/common-impl": "1.1.0",
+ "@ot-builder/errors": "1.1.0",
+ "@ot-builder/io-bin-sfnt": "1.1.0",
+ "@ot-builder/ot-metadata": "1.1.0",
+ "@ot-builder/ot-sfnt": "1.1.0",
+ "@ot-builder/prelude": "1.1.0",
+ "@ot-builder/primitive": "1.1.0",
+ "@ot-builder/var-store": "1.1.0",
+ "@ot-builder/variance": "1.1.0",
+ "tslib": "^2.0.0"
+ }
+ },
+ "@ot-builder/io-bin-metric": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@ot-builder/io-bin-metric/-/io-bin-metric-1.1.0.tgz",
+ "integrity": "sha512-mVjDTkxn6ARu7UUMi7rQCNC+fYK7IgSuO2bmYdzuozP7EmEWI5VQq3rhhMHDlvTodEuNARKJxr/tmzcB5Tx7PQ==",
+ "requires": {
+ "@ot-builder/bin-util": "1.1.0",
+ "@ot-builder/common-impl": "1.1.0",
+ "@ot-builder/errors": "1.1.0",
+ "@ot-builder/ot-glyphs": "1.1.0",
+ "@ot-builder/ot-metadata": "1.1.0",
+ "@ot-builder/prelude": "1.1.0",
+ "@ot-builder/primitive": "1.1.0",
+ "@ot-builder/var-store": "1.1.0",
+ "@ot-builder/variance": "1.1.0",
+ "tslib": "^2.0.0"
+ }
+ },
+ "@ot-builder/io-bin-name": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@ot-builder/io-bin-name/-/io-bin-name-1.1.0.tgz",
+ "integrity": "sha512-EBQLOP5LFdU18crQuNRQ4lWBzLv3Dw2R8vTvlyUY8nX8OfVUE2KhBreyTjMYTZATfNA2Ey1ZzJPhbT5LpwHg8Q==",
+ "requires": {
+ "@ot-builder/bin-util": "1.1.0",
+ "@ot-builder/common-impl": "1.1.0",
+ "@ot-builder/errors": "1.1.0",
+ "@ot-builder/io-bin-sfnt": "1.1.0",
+ "@ot-builder/ot-glyphs": "1.1.0",
+ "@ot-builder/ot-metadata": "1.1.0",
+ "@ot-builder/ot-name": "1.1.0",
+ "@ot-builder/ot-sfnt": "1.1.0",
+ "@ot-builder/prelude": "1.1.0",
+ "@ot-builder/primitive": "1.1.0",
+ "iconv-lite": "^0.6.3",
+ "tslib": "^2.0.0"
+ }
+ },
+ "@ot-builder/io-bin-sfnt": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@ot-builder/io-bin-sfnt/-/io-bin-sfnt-1.1.0.tgz",
+ "integrity": "sha512-SO0kgwif/7idUMT/Oo8J2N1iwIY98FKtl3yKSFYegiGrMqmL4qYGq26NxCt1NgpQyyZrMQV3D5eC81EpmvEy/Q==",
+ "requires": {
+ "@ot-builder/bin-util": "1.1.0",
+ "@ot-builder/common-impl": "1.1.0",
+ "@ot-builder/errors": "1.1.0",
+ "@ot-builder/ot-sfnt": "1.1.0",
+ "@ot-builder/prelude": "1.1.0",
+ "@ot-builder/primitive": "1.1.0",
+ "tslib": "^2.0.0"
+ }
+ },
+ "@ot-builder/io-bin-ttf": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@ot-builder/io-bin-ttf/-/io-bin-ttf-1.1.0.tgz",
+ "integrity": "sha512-jlyLDuCocNq43uX2wGLspoJ/t901ywgO5OTIfx/x8hg4ka6TKlC13bi0bSvaiVNB6HpDO62GJ69gufRaSCEzvQ==",
+ "requires": {
+ "@ot-builder/bin-util": "1.1.0",
+ "@ot-builder/common-impl": "1.1.0",
+ "@ot-builder/errors": "1.1.0",
+ "@ot-builder/ot-glyphs": "1.1.0",
+ "@ot-builder/ot-metadata": "1.1.0",
+ "@ot-builder/prelude": "1.1.0",
+ "@ot-builder/primitive": "1.1.0",
+ "@ot-builder/stat-glyphs": "1.1.0",
+ "@ot-builder/var-store": "1.1.0",
+ "@ot-builder/variance": "1.1.0",
+ "tslib": "^2.0.0"
+ }
+ },
+ "@ot-builder/ot": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@ot-builder/ot/-/ot-1.1.0.tgz",
+ "integrity": "sha512-9ikUYwiE5ur7l89Ki7uDscMYWm1bxvuRzeWJoMr7thxibtnlMl6rVW5H6NspjEbOZmxgAf3YmiL3oPCq/jiewA==",
+ "requires": {
+ "@ot-builder/common-impl": "1.1.0",
+ "@ot-builder/ot-encoding": "1.1.0",
+ "@ot-builder/ot-ext-private": "1.1.0",
+ "@ot-builder/ot-glyphs": "1.1.0",
+ "@ot-builder/ot-layout": "1.1.0",
+ "@ot-builder/ot-metadata": "1.1.0",
+ "@ot-builder/ot-name": "1.1.0",
+ "@ot-builder/ot-sfnt": "1.1.0",
+ "@ot-builder/ot-standard-glyph-namer": "1.1.0",
+ "@ot-builder/prelude": "1.1.0",
+ "@ot-builder/variance": "1.1.0",
+ "tslib": "^2.0.0"
+ }
+ },
+ "@ot-builder/ot-encoding": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@ot-builder/ot-encoding/-/ot-encoding-1.1.0.tgz",
+ "integrity": "sha512-2x/lVIxC42XJdNB9BhvKq3P/bO1yomTwkLVcBS9R92x6/V1t4KOVCYHOtNL79lCGfZkdCWxHxtHhChF55BetsQ==",
+ "requires": {
+ "@ot-builder/ot-glyphs": "1.1.0",
+ "@ot-builder/prelude": "1.1.0",
+ "tslib": "^2.0.0"
+ }
+ },
+ "@ot-builder/ot-ext-private": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@ot-builder/ot-ext-private/-/ot-ext-private-1.1.0.tgz",
+ "integrity": "sha512-MBMiz8RC8crmx7PB89G75y2nIue6+QkIiXGsx402ozlLQVgJe9YznV7dzUHlpLrPGFsbMYPRfZVTV4Ro+YAK0A==",
+ "requires": {
+ "@ot-builder/ot-glyphs": "1.1.0",
+ "@ot-builder/prelude": "1.1.0",
+ "tslib": "^2.0.0"
+ }
+ },
+ "@ot-builder/ot-glyphs": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@ot-builder/ot-glyphs/-/ot-glyphs-1.1.0.tgz",
+ "integrity": "sha512-EURkR2aUUR4Zlhdx+SdvEAkA7Vx+2mRorozb4gySs5PNqbKq43uzgXIgz1Djq6wasN00KcJGlOjogIv1zKFBwg==",
+ "requires": {
+ "@ot-builder/common-impl": "1.1.0",
+ "@ot-builder/prelude": "1.1.0",
+ "@ot-builder/primitive": "1.1.0",
+ "@ot-builder/variance": "1.1.0",
+ "tslib": "^2.0.0"
+ }
+ },
+ "@ot-builder/ot-layout": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@ot-builder/ot-layout/-/ot-layout-1.1.0.tgz",
+ "integrity": "sha512-x07BUvdLmcU2w8V8JxiMzv1dI5ybkuDrvpVDuwSAL/eBsuDYf7/3i+ewvHv1WlqG9nQ0v2RJK48CicrCGhlpQw==",
+ "requires": {
+ "@ot-builder/ot-glyphs": "1.1.0",
+ "@ot-builder/prelude": "1.1.0",
+ "@ot-builder/primitive": "1.1.0",
+ "@ot-builder/variance": "1.1.0",
+ "tslib": "^2.0.0"
+ }
+ },
+ "@ot-builder/ot-metadata": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@ot-builder/ot-metadata/-/ot-metadata-1.1.0.tgz",
+ "integrity": "sha512-zgUlAqDj8eCuizVbMN4CVA76m+PAUdl91tUO1JTAn5qt0Lo8kfnOWaFc/aU+Q8HD3RXENRpAjA3N3kBm05UNiQ==",
+ "requires": {
+ "@ot-builder/common-impl": "1.1.0",
+ "@ot-builder/prelude": "1.1.0",
+ "@ot-builder/primitive": "1.1.0",
+ "@ot-builder/variance": "1.1.0",
+ "tslib": "^2.0.0"
+ }
+ },
+ "@ot-builder/ot-name": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@ot-builder/ot-name/-/ot-name-1.1.0.tgz",
+ "integrity": "sha512-mudNPddCD/UD+v1fuFdPv3CzHjVS9Jt4GJhQ7or5HsG3/dIQ9N8jfqtBXtSK5ePEgoUsfhPWN5do/cwd//GQQQ==",
+ "requires": {
+ "@ot-builder/prelude": "1.1.0",
+ "@ot-builder/primitive": "1.1.0",
+ "tslib": "^2.0.0"
+ }
+ },
+ "@ot-builder/ot-sfnt": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@ot-builder/ot-sfnt/-/ot-sfnt-1.1.0.tgz",
+ "integrity": "sha512-iyz7npSWu5z9mgSnEjFkBFoOA4mKYIfbG27SGUWWWx0HWHI9cRoE+FHIcQOCJH0PmATvNCXMVfiCSPHesb57GA==",
+ "requires": {
+ "@ot-builder/prelude": "1.1.0",
+ "@ot-builder/primitive": "1.1.0",
+ "tslib": "^2.0.0"
+ }
+ },
+ "@ot-builder/ot-standard-glyph-namer": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@ot-builder/ot-standard-glyph-namer/-/ot-standard-glyph-namer-1.1.0.tgz",
+ "integrity": "sha512-2jyZCBOWmkKyLfU/EOS2AZjJ0Y0toqZqOb2vrIhQRUkli9cb1RyALxkOnP60IfGsD2SNa9yxZcEbS9RlRK8rvw==",
+ "requires": {
+ "@ot-builder/ot-glyphs": "1.1.0",
+ "@ot-builder/prelude": "1.1.0",
+ "aglfn": "^1.0.2",
+ "tslib": "^2.0.0"
+ }
+ },
+ "@ot-builder/prelude": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@ot-builder/prelude/-/prelude-1.1.0.tgz",
+ "integrity": "sha512-ghZ04jh2z8WD4UdHJVXKTyjzAo7zUD4lyilrO17fKT3WqD/LW/2vKC7inwepELwVC03uT8xaVhnflF1rYGMzKg==",
+ "requires": {
+ "tslib": "^2.0.0"
+ }
+ },
+ "@ot-builder/primitive": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@ot-builder/primitive/-/primitive-1.1.0.tgz",
+ "integrity": "sha512-ob7od9Lr3nlGSM6v4xoM8krXuO2W0bOFfpog4Trsg6BArRz8zFfdFVjsZ8umxAhJX2z0Jroiq1nM8okdkw0TDQ==",
+ "requires": {
+ "@ot-builder/bin-util": "1.1.0",
+ "@ot-builder/errors": "1.1.0",
+ "@ot-builder/prelude": "1.1.0",
+ "tslib": "^2.0.0"
+ }
+ },
+ "@ot-builder/rectify": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@ot-builder/rectify/-/rectify-1.1.0.tgz",
+ "integrity": "sha512-nT6VP78JwQtLcyn+DEVp5Xv5bAi+6z9Y8QaaLYWCtv5AnY4aNN7VKwiK4v9Kag77BYDqYT7PI4et2tR5Pf4jSA==",
+ "requires": {
+ "@ot-builder/common-impl": "1.1.0",
+ "@ot-builder/ot": "1.1.0",
+ "@ot-builder/ot-glyphs": "1.1.0",
+ "@ot-builder/ot-metadata": "1.1.0",
+ "@ot-builder/prelude": "1.1.0",
+ "@ot-builder/variance": "1.1.0",
+ "tslib": "^2.0.0"
+ }
+ },
+ "@ot-builder/stat-glyphs": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@ot-builder/stat-glyphs/-/stat-glyphs-1.1.0.tgz",
+ "integrity": "sha512-FquKCcC2/Z/cCV16vi+8DHoQzMdwaYSgvA8Hv4Djx3aYLyAmYe14ODfZF63RcW5uh7pZsG1c6u82bf1trwZr9g==",
+ "requires": {
+ "@ot-builder/bin-composite-types": "1.1.0",
+ "@ot-builder/common-impl": "1.1.0",
+ "@ot-builder/ot-glyphs": "1.1.0",
+ "@ot-builder/ot-metadata": "1.1.0",
+ "@ot-builder/prelude": "1.1.0",
+ "@ot-builder/primitive": "1.1.0",
+ "@ot-builder/variance": "1.1.0",
+ "tslib": "^2.0.0"
+ }
+ },
+ "@ot-builder/trace": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@ot-builder/trace/-/trace-1.1.0.tgz",
+ "integrity": "sha512-1C2vziYWUYe2YzPEPfNIdqjXtVjl5we69EjX5q4ZZPbCFFoeWGRR54Zxgyp8V5GAvKz0Pn94nXGaFlfEdwk3jQ==",
+ "requires": {
+ "@ot-builder/common-impl": "1.1.0",
+ "@ot-builder/ot": "1.1.0",
+ "@ot-builder/ot-glyphs": "1.1.0",
+ "@ot-builder/ot-metadata": "1.1.0",
+ "@ot-builder/prelude": "1.1.0",
+ "@ot-builder/variance": "1.1.0",
+ "tslib": "^2.0.0"
+ }
+ },
+ "@ot-builder/var-store": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@ot-builder/var-store/-/var-store-1.1.0.tgz",
+ "integrity": "sha512-Q60yNeIDJiqlHIPDkqJJXZWN5zodkKQQv/5PpLIocKMdHrQVqltrTQ5QL+V42Nup1+BiGt1zmR+sO+uUa3A/Iw==",
+ "requires": {
+ "@ot-builder/bin-composite-types": "1.1.0",
+ "@ot-builder/bin-util": "1.1.0",
+ "@ot-builder/common-impl": "1.1.0",
+ "@ot-builder/errors": "1.1.0",
+ "@ot-builder/prelude": "1.1.0",
+ "@ot-builder/primitive": "1.1.0",
+ "@ot-builder/variance": "1.1.0",
+ "tslib": "^2.0.0"
+ }
+ },
+ "@ot-builder/variance": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@ot-builder/variance/-/variance-1.1.0.tgz",
+ "integrity": "sha512-azUnRrvj2LKkPTYWuiEFStbUEQWbaiI6F63SZOL8yIOEr5Jya/iZ33HeeGltx/jbCrLdboad5pBechG/QD44+w==",
+ "requires": {
+ "@ot-builder/bin-composite-types": "1.1.0",
+ "@ot-builder/common-impl": "1.1.0",
+ "@ot-builder/prelude": "1.1.0",
+ "@ot-builder/primitive": "1.1.0",
+ "tslib": "^2.0.0"
+ }
+ },
+ "@unicode/unicode-13.0.0": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@unicode/unicode-13.0.0/-/unicode-13.0.0-1.1.0.tgz",
+ "integrity": "sha512-iOVqHDBzYSb4EOLBirZM9qNur+J7hAb6YyzGlUoAFx2ubb3Qidc+VhAuRQAxnOOWEqMcIZpnVnJ/OkTxbNmgEA=="
+ },
+ "acorn": {
+ "version": "7.4.1",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
+ "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
+ "dev": true
+ },
+ "acorn-jsx": {
+ "version": "5.3.2",
+ "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
+ "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
+ "dev": true
+ },
+ "aglfn": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/aglfn/-/aglfn-1.0.2.tgz",
+ "integrity": "sha512-HUvXd7sNFa1aHtYgJnln2jPwzq7UAAOXhYH/+AY6BMdfXxprMxG8IrczlZn6MjjIWpYhpKR5mHwDWTgehZKO4g=="
+ },
+ "ajv": {
+ "version": "6.12.6",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
+ "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
+ "dev": true,
+ "requires": {
+ "fast-deep-equal": "^3.1.1",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.4.1",
+ "uri-js": "^4.2.2"
+ }
+ },
+ "amdefine": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
+ "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU="
+ },
+ "ansi-colors": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
+ "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==",
+ "dev": true
+ },
+ "ansi-regex": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
+ "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg=="
+ },
+ "ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "requires": {
+ "color-convert": "^1.9.0"
+ }
+ },
+ "argparse": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="
+ },
+ "astral-regex": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz",
+ "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==",
+ "dev": true
+ },
+ "async": {
+ "version": "0.9.2",
+ "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz",
+ "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0="
+ },
+ "atob": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
+ "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg=="
+ },
+ "balanced-match": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
+ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
+ },
+ "brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "requires": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "callsites": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
+ "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
+ "dev": true
+ },
+ "chainsaw": {
+ "version": "0.0.9",
+ "resolved": "https://registry.npmjs.org/chainsaw/-/chainsaw-0.0.9.tgz",
+ "integrity": "sha1-EaBRAtHEx4W20EFdM21aOhYSkT4=",
+ "requires": {
+ "traverse": ">=0.3.0 <0.4"
+ }
+ },
+ "chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ }
+ },
+ "cldr": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/cldr/-/cldr-7.1.0.tgz",
+ "integrity": "sha512-GYS0GiLZ2bTOUv4Hye/z5z0feflEuQYdY3LM/vn0RFbIQKCA/q3f/l8P22N37W+tjNiQOWbnGpXz3tcaH4+NAg==",
+ "requires": {
+ "escodegen": "^2.0.0",
+ "esprima": "^4.0.1",
+ "memoizeasync": "^1.1.0",
+ "passerror": "^1.1.1",
+ "pegjs": "^0.10.0",
+ "seq": "^0.3.5",
+ "unicoderegexp": "^0.4.1",
+ "xmldom": "^0.6.0",
+ "xpath": "^0.0.32"
+ }
+ },
+ "cli-cursor": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz",
+ "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==",
+ "requires": {
+ "restore-cursor": "^3.1.0"
+ }
+ },
+ "clipper-lib": {
+ "version": "6.4.2",
+ "resolved": "https://registry.npmjs.org/clipper-lib/-/clipper-lib-6.4.2.tgz",
+ "integrity": "sha512-knglhjQX5ihNj/XCIs6zCHrTemdvHY3LPZP9XB2nq2/3igyYMFueFXtfp84baJvEE+f8pO1ZS4UVeEgmLnAprQ=="
+ },
+ "cliui": {
+ "version": "7.0.4",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
+ "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==",
+ "requires": {
+ "string-width": "^4.2.0",
+ "strip-ansi": "^6.0.0",
+ "wrap-ansi": "^7.0.0"
+ }
+ },
+ "color-convert": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+ "requires": {
+ "color-name": "1.1.3"
+ }
+ },
+ "color-name": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU="
+ },
+ "concat-map": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
+ },
+ "cross-spawn": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
+ "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
+ "dev": true,
+ "requires": {
+ "path-key": "^3.1.0",
+ "shebang-command": "^2.0.0",
+ "which": "^2.0.1"
+ }
+ },
+ "css": {
+ "version": "2.2.4",
+ "resolved": "https://registry.npmjs.org/css/-/css-2.2.4.tgz",
+ "integrity": "sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==",
+ "requires": {
+ "inherits": "^2.0.3",
+ "source-map": "^0.6.1",
+ "source-map-resolve": "^0.5.2",
+ "urix": "^0.1.0"
+ }
+ },
+ "css-parse": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/css-parse/-/css-parse-2.0.0.tgz",
+ "integrity": "sha1-pGjuZnwW2BzPBcWMONKpfHgNv9Q=",
+ "requires": {
+ "css": "^2.0.0"
+ }
+ },
+ "debug": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
+ "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "decode-uri-component": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
+ "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU="
+ },
+ "deep-is": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
+ "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ="
+ },
+ "doctrine": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
+ "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
+ "dev": true,
+ "requires": {
+ "esutils": "^2.0.2"
+ }
+ },
+ "ejs": {
+ "version": "3.1.6",
+ "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.6.tgz",
+ "integrity": "sha512-9lt9Zse4hPucPkoP7FHDF0LQAlGyF9JVpnClFLFH3aSSbxmyoqINRpp/9wePWJTUl4KOQwRL72Iw3InHPDkoGw==",
+ "requires": {
+ "jake": "^10.6.1"
+ }
+ },
+ "emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
+ },
+ "enquirer": {
+ "version": "2.3.6",
+ "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz",
+ "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==",
+ "dev": true,
+ "requires": {
+ "ansi-colors": "^4.1.1"
+ }
+ },
+ "escalade": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
+ "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw=="
+ },
+ "escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
+ },
+ "escodegen": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz",
+ "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==",
+ "requires": {
+ "esprima": "^4.0.1",
+ "estraverse": "^5.2.0",
+ "esutils": "^2.0.2",
+ "optionator": "^0.8.1",
+ "source-map": "~0.6.1"
+ }
+ },
+ "escope": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/escope/-/escope-1.0.3.tgz",
+ "integrity": "sha1-dZ3OhJbEJI/sLQyq9BCLzz8af10=",
+ "requires": {
+ "estraverse": "^2.0.0"
+ },
+ "dependencies": {
+ "estraverse": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-2.0.0.tgz",
+ "integrity": "sha1-WuRpYyQ2ACBmdMyySgnhZnT83KE="
+ }
+ }
+ },
+ "eslint": {
+ "version": "7.31.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.31.0.tgz",
+ "integrity": "sha512-vafgJpSh2ia8tnTkNUkwxGmnumgckLh5aAbLa1xRmIn9+owi8qBNGKL+B881kNKNTy7FFqTEkpNkUvmw0n6PkA==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "7.12.11",
+ "@eslint/eslintrc": "^0.4.3",
+ "@humanwhocodes/config-array": "^0.5.0",
+ "ajv": "^6.10.0",
+ "chalk": "^4.0.0",
+ "cross-spawn": "^7.0.2",
+ "debug": "^4.0.1",
+ "doctrine": "^3.0.0",
+ "enquirer": "^2.3.5",
+ "escape-string-regexp": "^4.0.0",
+ "eslint-scope": "^5.1.1",
+ "eslint-utils": "^2.1.0",
+ "eslint-visitor-keys": "^2.0.0",
+ "espree": "^7.3.1",
+ "esquery": "^1.4.0",
+ "esutils": "^2.0.2",
+ "fast-deep-equal": "^3.1.3",
+ "file-entry-cache": "^6.0.1",
+ "functional-red-black-tree": "^1.0.1",
+ "glob-parent": "^5.1.2",
+ "globals": "^13.6.0",
+ "ignore": "^4.0.6",
+ "import-fresh": "^3.0.0",
+ "imurmurhash": "^0.1.4",
+ "is-glob": "^4.0.0",
+ "js-yaml": "^3.13.1",
+ "json-stable-stringify-without-jsonify": "^1.0.1",
+ "levn": "^0.4.1",
+ "lodash.merge": "^4.6.2",
+ "minimatch": "^3.0.4",
+ "natural-compare": "^1.4.0",
+ "optionator": "^0.9.1",
+ "progress": "^2.0.0",
+ "regexpp": "^3.1.0",
+ "semver": "^7.2.1",
+ "strip-ansi": "^6.0.0",
+ "strip-json-comments": "^3.1.0",
+ "table": "^6.0.9",
+ "text-table": "^0.2.0",
+ "v8-compile-cache": "^2.0.3"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "chalk": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
+ "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "debug": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz",
+ "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==",
+ "dev": true,
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
+ "escape-string-regexp": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
+ "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
+ "dev": true
+ },
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true
+ },
+ "levn": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
+ "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
+ "dev": true,
+ "requires": {
+ "prelude-ls": "^1.2.1",
+ "type-check": "~0.4.0"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true
+ },
+ "optionator": {
+ "version": "0.9.1",
+ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz",
+ "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==",
+ "dev": true,
+ "requires": {
+ "deep-is": "^0.1.3",
+ "fast-levenshtein": "^2.0.6",
+ "levn": "^0.4.1",
+ "prelude-ls": "^1.2.1",
+ "type-check": "^0.4.0",
+ "word-wrap": "^1.2.3"
+ }
+ },
+ "prelude-ls": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
+ "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ },
+ "type-check": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
+ "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
+ "dev": true,
+ "requires": {
+ "prelude-ls": "^1.2.1"
+ }
+ }
+ }
+ },
+ "eslint-config-prettier": {
+ "version": "8.3.0",
+ "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.3.0.tgz",
+ "integrity": "sha512-BgZuLUSeKzvlL/VUjx/Yb787VQ26RU3gGjA3iiFvdsp/2bMfVIWUVP7tjxtjS0e+HP409cPlPvNkQloz8C91ew==",
+ "dev": true
+ },
+ "eslint-scope": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
+ "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
+ "dev": true,
+ "requires": {
+ "esrecurse": "^4.3.0",
+ "estraverse": "^4.1.1"
+ },
+ "dependencies": {
+ "estraverse": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
+ "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
+ "dev": true
+ }
+ }
+ },
+ "eslint-utils": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz",
+ "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==",
+ "dev": true,
+ "requires": {
+ "eslint-visitor-keys": "^1.1.0"
+ },
+ "dependencies": {
+ "eslint-visitor-keys": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz",
+ "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==",
+ "dev": true
+ }
+ }
+ },
+ "eslint-visitor-keys": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz",
+ "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==",
+ "dev": true
+ },
+ "esmangle": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/esmangle/-/esmangle-1.0.1.tgz",
+ "integrity": "sha1-2bs3uPjq+/Tm1O1reqKVarvTxMI=",
+ "requires": {
+ "escodegen": "~1.3.2",
+ "escope": "~1.0.1",
+ "esprima": "~1.1.1",
+ "esshorten": "~1.1.0",
+ "estraverse": "~1.5.0",
+ "esutils": "~ 1.0.0",
+ "optionator": "~0.3.0",
+ "source-map": "~0.1.33"
+ },
+ "dependencies": {
+ "escodegen": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.3.3.tgz",
+ "integrity": "sha1-8CQBb1qI4Eb9EgBQVek5gC5sXyM=",
+ "requires": {
+ "esprima": "~1.1.1",
+ "estraverse": "~1.5.0",
+ "esutils": "~1.0.0",
+ "source-map": "~0.1.33"
+ }
+ },
+ "esprima": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.1.1.tgz",
+ "integrity": "sha1-W28VR/TRAuZw4UDFCb5ncdautUk="
+ },
+ "estraverse": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.5.1.tgz",
+ "integrity": "sha1-hno+jlip+EYYr7bC3bzZFrfLr3E="
+ },
+ "esutils": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/esutils/-/esutils-1.0.0.tgz",
+ "integrity": "sha1-gVHTWOIMisx/t0XnRywAJf5JZXA="
+ },
+ "fast-levenshtein": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-1.0.7.tgz",
+ "integrity": "sha1-AXjc3uAjuSkFGTrwlZ6KdjnP3Lk="
+ },
+ "levn": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/levn/-/levn-0.2.5.tgz",
+ "integrity": "sha1-uo0znQykphDjo/FFucr0iAcVUFQ=",
+ "requires": {
+ "prelude-ls": "~1.1.0",
+ "type-check": "~0.3.1"
+ }
+ },
+ "optionator": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.3.0.tgz",
+ "integrity": "sha1-lxWotfXnWGz/BsgkngOc1zZNP1Q=",
+ "requires": {
+ "deep-is": "~0.1.2",
+ "fast-levenshtein": "~1.0.0",
+ "levn": "~0.2.4",
+ "prelude-ls": "~1.1.0",
+ "type-check": "~0.3.1",
+ "wordwrap": "~0.0.2"
+ }
+ },
+ "source-map": {
+ "version": "0.1.43",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz",
+ "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=",
+ "requires": {
+ "amdefine": ">=0.0.4"
+ }
+ }
+ }
+ },
+ "espree": {
+ "version": "7.3.1",
+ "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz",
+ "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==",
+ "dev": true,
+ "requires": {
+ "acorn": "^7.4.0",
+ "acorn-jsx": "^5.3.1",
+ "eslint-visitor-keys": "^1.3.0"
+ },
+ "dependencies": {
+ "eslint-visitor-keys": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz",
+ "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==",
+ "dev": true
+ }
+ }
+ },
+ "esprima": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
+ "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A=="
+ },
+ "esquery": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz",
+ "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==",
+ "dev": true,
+ "requires": {
+ "estraverse": "^5.1.0"
+ }
+ },
+ "esrecurse": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
+ "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
+ "dev": true,
+ "requires": {
+ "estraverse": "^5.2.0"
+ }
+ },
+ "esshorten": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/esshorten/-/esshorten-1.1.1.tgz",
+ "integrity": "sha1-F0+Wt8wmfkaHLYFOfbfCkL3/Yak=",
+ "requires": {
+ "escope": "~1.0.1",
+ "estraverse": "~4.1.1",
+ "esutils": "~2.0.2"
+ },
+ "dependencies": {
+ "estraverse": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.1.1.tgz",
+ "integrity": "sha1-9srKcokzqFDvkGYdDheYK6RxEaI="
+ }
+ }
+ },
+ "estraverse": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz",
+ "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ=="
+ },
+ "esutils": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
+ "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g=="
+ },
+ "fast-deep-equal": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
+ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
+ },
+ "fast-json-stable-stringify": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
+ "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
+ "dev": true
+ },
+ "fast-levenshtein": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
+ "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc="
+ },
+ "file-entry-cache": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
+ "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==",
+ "dev": true,
+ "requires": {
+ "flat-cache": "^3.0.4"
+ }
+ },
+ "filelist": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.2.tgz",
+ "integrity": "sha512-z7O0IS8Plc39rTCq6i6iHxk43duYOn8uFJiWSewIq0Bww1RNybVHSCjahmcC87ZqAm4OTvFzlzeGu3XAzG1ctQ==",
+ "requires": {
+ "minimatch": "^3.0.4"
+ }
+ },
+ "flat-cache": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz",
+ "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==",
+ "dev": true,
+ "requires": {
+ "flatted": "^3.1.0",
+ "rimraf": "^3.0.2"
+ }
+ },
+ "flatted": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.1.tgz",
+ "integrity": "sha512-OMQjaErSFHmHqZe+PSidH5n8j3O0F2DdnVh8JB4j4eUQ2k6KvB0qGfrKIhapvez5JerBbmWkaLYUYWISaESoXg==",
+ "dev": true
+ },
+ "fs-extra": {
+ "version": "10.0.0",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz",
+ "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==",
+ "requires": {
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^6.0.1",
+ "universalify": "^2.0.0"
+ }
+ },
+ "fs.realpath": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
+ },
+ "functional-red-black-tree": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
+ "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
+ "dev": true
+ },
+ "get-caller-file": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
+ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg=="
+ },
+ "glob": {
+ "version": "7.1.7",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz",
+ "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==",
+ "requires": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.0.4",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ }
+ },
+ "glob-parent": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "dev": true,
+ "requires": {
+ "is-glob": "^4.0.1"
+ }
+ },
+ "globals": {
+ "version": "13.10.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-13.10.0.tgz",
+ "integrity": "sha512-piHC3blgLGFjvOuMmWZX60f+na1lXFDhQXBf1UYp2fXPXqvEUbOhNwi6BsQ0bQishwedgnjkwv1d9zKf+MWw3g==",
+ "dev": true,
+ "requires": {
+ "type-fest": "^0.20.2"
+ }
+ },
+ "graceful-fs": {
+ "version": "4.2.6",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz",
+ "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ=="
+ },
+ "has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0="
+ },
+ "hashish": {
+ "version": "0.0.4",
+ "resolved": "https://registry.npmjs.org/hashish/-/hashish-0.0.4.tgz",
+ "integrity": "sha1-bWC8b/r3Ebav1g5CbQd5iAFOZVQ=",
+ "requires": {
+ "traverse": ">=0.2.4"
+ }
+ },
+ "iconv-lite": {
+ "version": "0.6.3",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
+ "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
+ "requires": {
+ "safer-buffer": ">= 2.1.2 < 3.0.0"
+ }
+ },
+ "ignore": {
+ "version": "4.0.6",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
+ "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==",
+ "dev": true
+ },
+ "import-fresh": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
+ "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
+ "dev": true,
+ "requires": {
+ "parent-module": "^1.0.0",
+ "resolve-from": "^4.0.0"
+ }
+ },
+ "imurmurhash": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
+ "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
+ "dev": true
+ },
+ "inflight": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
+ "requires": {
+ "once": "^1.3.0",
+ "wrappy": "1"
+ }
+ },
+ "inherits": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
+ },
+ "is-extglob": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+ "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
+ "dev": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="
+ },
+ "is-glob": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
+ "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
+ "dev": true,
+ "requires": {
+ "is-extglob": "^2.1.1"
+ }
+ },
+ "isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA="
+ },
+ "jake": {
+ "version": "10.8.2",
+ "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.2.tgz",
+ "integrity": "sha512-eLpKyrfG3mzvGE2Du8VoPbeSkRry093+tyNjdYaBbJS9v17knImYGNXQCUV0gLxQtF82m3E8iRb/wdSQZLoq7A==",
+ "requires": {
+ "async": "0.9.x",
+ "chalk": "^2.4.2",
+ "filelist": "^1.0.1",
+ "minimatch": "^3.0.4"
+ }
+ },
+ "js-tokens": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
+ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
+ "dev": true
+ },
+ "js-yaml": {
+ "version": "3.14.1",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
+ "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
+ "dev": true,
+ "requires": {
+ "argparse": "^1.0.7",
+ "esprima": "^4.0.0"
+ },
+ "dependencies": {
+ "argparse": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
+ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
+ "dev": true,
+ "requires": {
+ "sprintf-js": "~1.0.2"
+ }
+ }
+ }
+ },
+ "json-schema-traverse": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
+ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
+ "dev": true
+ },
+ "json-stable-stringify-without-jsonify": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
+ "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=",
+ "dev": true
+ },
+ "jsonfile": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
+ "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
+ "requires": {
+ "graceful-fs": "^4.1.6",
+ "universalify": "^2.0.0"
+ }
+ },
+ "levn": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
+ "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
+ "requires": {
+ "prelude-ls": "~1.1.2",
+ "type-check": "~0.3.2"
+ }
+ },
+ "lodash.clonedeep": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz",
+ "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=",
+ "dev": true
+ },
+ "lodash.merge": {
+ "version": "4.6.2",
+ "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
+ "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
+ "dev": true
+ },
+ "lodash.truncate": {
+ "version": "4.4.2",
+ "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz",
+ "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=",
+ "dev": true
+ },
+ "lru-cache": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz",
+ "integrity": "sha1-2COIrpyWC+y+oMc7uet5tsbOmus="
+ },
+ "memoizeasync": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/memoizeasync/-/memoizeasync-1.1.0.tgz",
+ "integrity": "sha1-nXAopvJm3rczUQu327pfUYeMVh4=",
+ "requires": {
+ "lru-cache": "2.5.0",
+ "passerror": "1.1.1"
+ }
+ },
+ "mimic-fn": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
+ "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg=="
+ },
+ "minimatch": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+ "requires": {
+ "brace-expansion": "^1.1.7"
+ }
+ },
+ "mkdirp": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
+ "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw=="
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
+ },
+ "natural-compare": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
+ "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
+ "dev": true
+ },
+ "once": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+ "requires": {
+ "wrappy": "1"
+ }
+ },
+ "onetime": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
+ "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
+ "requires": {
+ "mimic-fn": "^2.1.0"
+ }
+ },
+ "optionator": {
+ "version": "0.8.3",
+ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz",
+ "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==",
+ "requires": {
+ "deep-is": "~0.1.3",
+ "fast-levenshtein": "~2.0.6",
+ "levn": "~0.3.0",
+ "prelude-ls": "~1.1.2",
+ "type-check": "~0.3.2",
+ "word-wrap": "~1.2.3"
+ }
+ },
+ "ot-builder": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/ot-builder/-/ot-builder-1.1.0.tgz",
+ "integrity": "sha512-IvQqHq33yHRKQuBzlzE6N3tXR2IktvBXeTvdASzib5Lqz84MJ1raGQrDNMimYxpRjcXZFJVfDgATYy5+gLhJIQ==",
+ "requires": {
+ "@ot-builder/cli-proc": "1.1.0",
+ "@ot-builder/io-bin-font": "1.1.0",
+ "@ot-builder/ot": "1.1.0",
+ "@ot-builder/prelude": "1.1.0",
+ "@ot-builder/primitive": "1.1.0",
+ "@ot-builder/rectify": "1.1.0",
+ "@ot-builder/trace": "1.1.0",
+ "tslib": "^2.0.0"
+ }
+ },
+ "otb-ttc-bundle": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/otb-ttc-bundle/-/otb-ttc-bundle-1.1.0.tgz",
+ "integrity": "sha512-tn3jkqHfaVIQsecQyAUTNf/VAAfE5EQiDH3AyIb1OFXjcdp0P9pBZUd0E4iP+rQjVoN8eMy1uCgvde5M5ZqVrg==",
+ "requires": {
+ "@ot-builder/cli-help-shower": "1.1.0",
+ "@ot-builder/cli-shared": "1.1.0",
+ "ot-builder": "1.1.0",
+ "tslib": "^2.0.0"
+ }
+ },
+ "parent-module": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
+ "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
+ "dev": true,
+ "requires": {
+ "callsites": "^3.0.0"
+ }
+ },
+ "passerror": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/passerror/-/passerror-1.1.1.tgz",
+ "integrity": "sha1-oluI292RCilgOux9y5bpp6l2h7Q="
+ },
+ "patel": {
+ "version": "0.35.1",
+ "resolved": "https://registry.npmjs.org/patel/-/patel-0.35.1.tgz",
+ "integrity": "sha512-Em5Zh8t+oVnTNELwze1J9iQEeOBC+84B+UstU4hrmv16uvdunBzmMad6kY28nVxBxycqH6EYsDV2s1rO9IeZaw==",
+ "requires": {
+ "escodegen": "^2.0.0",
+ "esmangle": "^1.0.1",
+ "patrisika": "^0.23.0",
+ "resumer": "*",
+ "yargs": "^16.1.0"
+ }
+ },
+ "path-is-absolute": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
+ },
+ "path-key": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
+ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
+ "dev": true
+ },
+ "patrisika": {
+ "version": "0.23.0",
+ "resolved": "https://registry.npmjs.org/patrisika/-/patrisika-0.23.0.tgz",
+ "integrity": "sha512-bGxKK+XqO7Qfgv7WJSeytwZlbQsKXeuya+FD+6CB0iHat4tSbmN6eT0FEWGf0ulNguD0th/H3fa+VuXDDYQmLw==",
+ "requires": {
+ "patrisika-scopes": "^0.12.0"
+ }
+ },
+ "patrisika-scopes": {
+ "version": "0.12.0",
+ "resolved": "https://registry.npmjs.org/patrisika-scopes/-/patrisika-scopes-0.12.0.tgz",
+ "integrity": "sha512-rj428KYq5leS75PCDl6iyl91n6/d63yw1ikHYwd1z9UXwWk11Vj2gpTu0CxjLZJJOiFNA01LiX+WMpC5icCKng=="
+ },
+ "pegjs": {
+ "version": "0.10.0",
+ "resolved": "https://registry.npmjs.org/pegjs/-/pegjs-0.10.0.tgz",
+ "integrity": "sha1-z4uvrm7d/0tafvsYUmnqr0YQ3b0="
+ },
+ "prelude-ls": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
+ "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ="
+ },
+ "prettier": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.3.2.tgz",
+ "integrity": "sha512-lnJzDfJ66zkMy58OL5/NY5zp70S7Nz6KqcKkXYzn2tMVrNxvbqaBpg7H3qHaLxCJ5lNMsGuM8+ohS7cZrthdLQ==",
+ "dev": true
+ },
+ "progress": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
+ "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
+ "dev": true
+ },
+ "punycode": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
+ "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
+ "dev": true
+ },
+ "regexpp": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz",
+ "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==",
+ "dev": true
+ },
+ "require-directory": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
+ "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I="
+ },
+ "require-from-string": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
+ "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
+ "dev": true
+ },
+ "resolve-from": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
+ "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
+ "dev": true
+ },
+ "resolve-url": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
+ "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo="
+ },
+ "restore-cursor": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz",
+ "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==",
+ "requires": {
+ "onetime": "^5.1.0",
+ "signal-exit": "^3.0.2"
+ }
+ },
+ "resumer": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/resumer/-/resumer-0.0.0.tgz",
+ "integrity": "sha1-8ej0YeQGS6Oegq883CqMiT0HZ1k=",
+ "requires": {
+ "through": "~2.3.4"
+ }
+ },
+ "rimraf": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+ "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+ "dev": true,
+ "requires": {
+ "glob": "^7.1.3"
+ }
+ },
+ "safer-buffer": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
+ },
+ "sax": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
+ "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw=="
+ },
+ "semaphore-async-await": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/semaphore-async-await/-/semaphore-async-await-1.5.1.tgz",
+ "integrity": "sha1-hXvvXjZEYBykuVcLh+nfXKEpdPo="
+ },
+ "semver": {
+ "version": "7.3.5",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
+ "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
+ "requires": {
+ "lru-cache": "^6.0.0"
+ },
+ "dependencies": {
+ "lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ "requires": {
+ "yallist": "^4.0.0"
+ }
+ }
+ }
+ },
+ "seq": {
+ "version": "0.3.5",
+ "resolved": "https://registry.npmjs.org/seq/-/seq-0.3.5.tgz",
+ "integrity": "sha1-rgKvOkJHk9jMvyEtaRdODFTf/jg=",
+ "requires": {
+ "chainsaw": ">=0.0.7 <0.1",
+ "hashish": ">=0.0.2 <0.1"
+ }
+ },
+ "shebang-command": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
+ "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
+ "dev": true,
+ "requires": {
+ "shebang-regex": "^3.0.0"
+ }
+ },
+ "shebang-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
+ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
+ "dev": true
+ },
+ "signal-exit": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz",
+ "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA=="
+ },
+ "slice-ansi": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz",
+ "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.0.0",
+ "astral-regex": "^2.0.0",
+ "is-fullwidth-code-point": "^3.0.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ }
+ }
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
+ },
+ "source-map-resolve": {
+ "version": "0.5.3",
+ "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz",
+ "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==",
+ "requires": {
+ "atob": "^2.1.2",
+ "decode-uri-component": "^0.2.0",
+ "resolve-url": "^0.2.1",
+ "source-map-url": "^0.4.0",
+ "urix": "^0.1.0"
+ }
+ },
+ "source-map-url": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz",
+ "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw=="
+ },
+ "spiro": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/spiro/-/spiro-3.0.0.tgz",
+ "integrity": "sha512-UEhtLWA8fDQuExOKpT3FLa7Rk238G5Bm3wGAxbvnah3H2X6yEL4blIkAsc38wNwMXBwQFRYE6l0Q9X0t1izOxA==",
+ "requires": {
+ "tslib": "^2.1.0"
+ }
+ },
+ "sprintf-js": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
+ "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
+ "dev": true
+ },
+ "string-width": {
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz",
+ "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==",
+ "requires": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
+ "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
+ "requires": {
+ "ansi-regex": "^5.0.0"
+ }
+ },
+ "strip-json-comments": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
+ "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
+ "dev": true
+ },
+ "stylus": {
+ "version": "0.54.8",
+ "resolved": "https://registry.npmjs.org/stylus/-/stylus-0.54.8.tgz",
+ "integrity": "sha512-vr54Or4BZ7pJafo2mpf0ZcwA74rpuYCZbxrHBsH8kbcXOwSfvBFwsRfpGO5OD5fhG5HDCFW737PKaawI7OqEAg==",
+ "requires": {
+ "css-parse": "~2.0.0",
+ "debug": "~3.1.0",
+ "glob": "^7.1.6",
+ "mkdirp": "~1.0.4",
+ "safer-buffer": "^2.1.2",
+ "sax": "~1.2.4",
+ "semver": "^6.3.0",
+ "source-map": "^0.7.3"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
+ },
+ "source-map": {
+ "version": "0.7.3",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
+ "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ=="
+ }
+ }
+ },
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ },
+ "table": {
+ "version": "6.7.1",
+ "resolved": "https://registry.npmjs.org/table/-/table-6.7.1.tgz",
+ "integrity": "sha512-ZGum47Yi6KOOFDE8m223td53ath2enHcYLgOCjGr5ngu8bdIARQk6mN/wRMv4yMRcHnCSnHbCEha4sobQx5yWg==",
+ "dev": true,
+ "requires": {
+ "ajv": "^8.0.1",
+ "lodash.clonedeep": "^4.5.0",
+ "lodash.truncate": "^4.4.2",
+ "slice-ansi": "^4.0.0",
+ "string-width": "^4.2.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "dependencies": {
+ "ajv": {
+ "version": "8.6.2",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.2.tgz",
+ "integrity": "sha512-9807RlWAgT564wT+DjeyU5OFMPjmzxVobvDFmNAhY+5zD6A2ly3jDp6sgnfyDtlIQ+7H97oc/DGCzzfu9rjw9w==",
+ "dev": true,
+ "requires": {
+ "fast-deep-equal": "^3.1.1",
+ "json-schema-traverse": "^1.0.0",
+ "require-from-string": "^2.0.2",
+ "uri-js": "^4.2.2"
+ }
+ },
+ "json-schema-traverse": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
+ "dev": true
+ }
+ }
+ },
+ "text-table": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
+ "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
+ "dev": true
+ },
+ "through": {
+ "version": "2.3.8",
+ "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
+ "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU="
+ },
+ "toposort": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/toposort/-/toposort-2.0.2.tgz",
+ "integrity": "sha1-riF2gXXRVZ1IvvNUILL0li8JwzA="
+ },
+ "traverse": {
+ "version": "0.3.9",
+ "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz",
+ "integrity": "sha1-cXuPIgzAu3tE5AUUwisui7xw2Lk="
+ },
+ "tslib": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz",
+ "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg=="
+ },
+ "type-check": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
+ "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
+ "requires": {
+ "prelude-ls": "~1.1.2"
+ }
+ },
+ "type-fest": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
+ "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
+ "dev": true
+ },
+ "typo-geom": {
+ "version": "0.12.1",
+ "resolved": "https://registry.npmjs.org/typo-geom/-/typo-geom-0.12.1.tgz",
+ "integrity": "sha512-W20RYp2OCEGMhEYayR0cAP67AUWiGRUufMs6Clul7MAmu5SpLuOG/RWk7+LkL65wsugcfhPQlFEJ231C2xHNQg==",
+ "requires": {
+ "clipper-lib": "^6.4.2",
+ "tslib": "^2.0.1"
+ }
+ },
+ "unicoderegexp": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/unicoderegexp/-/unicoderegexp-0.4.1.tgz",
+ "integrity": "sha1-r7EOTvHu3ccRQXu7ZSvIhdqdQXE="
+ },
+ "universalify": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
+ "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ=="
+ },
+ "uri-js": {
+ "version": "4.4.1",
+ "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
+ "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
+ "dev": true,
+ "requires": {
+ "punycode": "^2.1.0"
+ }
+ },
+ "urix": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
+ "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI="
+ },
+ "v8-compile-cache": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz",
+ "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==",
+ "dev": true
+ },
+ "verda": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/verda/-/verda-1.3.2.tgz",
+ "integrity": "sha512-uheYzfPZDvcyXX5nR/eAIB2jKtvbCPhmcEpbJESU7I3QykvIvZWozdb5MEdBAx9e6LyS6TqtBp6BwGBMTO7Xow==",
+ "requires": {
+ "chalk": "^4.1.1",
+ "cli-cursor": "^3.1.0",
+ "fast-deep-equal": "^3.1.3",
+ "fs-extra": "^10.0.0",
+ "semaphore-async-await": "^1.5.1",
+ "strip-ansi": "^6.0.0",
+ "tslib": "^2.3.0",
+ "which": "^2.0.2",
+ "yargs": "^17.0.1"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "chalk": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
+ "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
+ },
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="
+ },
+ "supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ },
+ "yargs": {
+ "version": "17.0.1",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.0.1.tgz",
+ "integrity": "sha512-xBBulfCc8Y6gLFcrPvtqKz9hz8SO0l1Ni8GgDekvBX2ro0HRQImDGnikfc33cgzcYUSncapnNcZDjVFIH3f6KQ==",
+ "requires": {
+ "cliui": "^7.0.2",
+ "escalade": "^3.1.1",
+ "get-caller-file": "^2.0.5",
+ "require-directory": "^2.1.1",
+ "string-width": "^4.2.0",
+ "y18n": "^5.0.5",
+ "yargs-parser": "^20.2.2"
+ }
+ }
+ }
+ },
+ "wawoff2": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/wawoff2/-/wawoff2-2.0.0.tgz",
+ "integrity": "sha512-5gjFj+fyQO9cMrg5vYaVM7+T37xSHpqUWM/S6UCEiBx8wRmfpvuhYjPM3toB2UujpmWQt1hSPKRo/jIRE/j9Eg==",
+ "requires": {
+ "argparse": "^2.0.1"
+ }
+ },
+ "which": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "requires": {
+ "isexe": "^2.0.0"
+ }
+ },
+ "word-wrap": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
+ "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ=="
+ },
+ "wordwrap": {
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz",
+ "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc="
+ },
+ "wrap-ansi": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+ "requires": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
+ }
+ }
+ },
+ "wrappy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
+ },
+ "xmldom": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.6.0.tgz",
+ "integrity": "sha512-iAcin401y58LckRZ0TkI4k0VSM1Qg0KGSc3i8rU+xrxe19A/BN1zHyVSJY7uoutVlaTSzYyk/v5AmkewAP7jtg=="
+ },
+ "xpath": {
+ "version": "0.0.32",
+ "resolved": "https://registry.npmjs.org/xpath/-/xpath-0.0.32.tgz",
+ "integrity": "sha512-rxMJhSIoiO8vXcWvSifKqhvV96GjiD5wYb8/QHdoRyQvraTpp4IEv944nhGausZZ3u7dhQXteZuZbaqfpB7uYw=="
+ },
+ "y18n": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
+ "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA=="
+ },
+ "yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
+ },
+ "yargs": {
+ "version": "16.2.0",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
+ "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
+ "requires": {
+ "cliui": "^7.0.2",
+ "escalade": "^3.1.1",
+ "get-caller-file": "^2.0.5",
+ "require-directory": "^2.1.1",
+ "string-width": "^4.2.0",
+ "y18n": "^5.0.5",
+ "yargs-parser": "^20.2.2"
+ }
+ },
+ "yargs-parser": {
+ "version": "20.2.9",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz",
+ "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w=="
+ }
+ }
+}
diff --git a/package.json b/package.json
index 227c62bb99..98303c6bf5 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "iosevka",
- "version": "9.0.1",
+ "version": "10.0.0",
"main": "./font-src/index.js",
"scripts": {
"build": "node utility/ensure-verda-exists && verda -f verdafile.js",
diff --git a/params/variants.toml b/params/variants.toml
index d17d2f0aa4..4d101e1de7 100644
--- a/params/variants.toml
+++ b/params/variants.toml
@@ -109,42 +109,42 @@ selector.smcpB = "standardBilateralSerifed"
[prime.capital-b.variants.standard-interrupted-serifless]
rank = 7
-description = "`B` in near-symmetric proportion with interupted middle bar, without serifs"
+description = "`B` in near-symmetric proportion with interrupted middle bar, without serifs"
selector.B = "standardInterruptedSerifless"
selector."B/sansSerif" = "standardInterruptedSerifless"
selector.smcpB = "standardInterruptedSerifless"
[prime.capital-b.variants.more-asymmetric-interrupted-serifless]
rank = 8
-description = "`B` in more asymmetric proportion to differentiate with `8`, with interupted middle bar, without serifs"
+description = "`B` in more asymmetric proportion to differentiate with `8`, with interrupted middle bar, without serifs"
selector.B = "moreAsymmetricInterruptedSerifless"
selector."B/sansSerif" = "moreAsymmetricInterruptedSerifless"
selector.smcpB = "standardInterruptedSerifless"
[prime.capital-b.variants.standard-interrupted-unilateral-serifed]
rank = 9
-description = "`B` in near-symmetric proportion with interupted middle bar and motion serifs at top"
+description = "`B` in near-symmetric proportion with interrupted middle bar and motion serifs at top"
selector.B = "standardInterruptedUnilateralSerifed"
selector."B/sansSerif" = "standardInterruptedSerifless"
selector.smcpB = "standardInterruptedUnilateralSerifed"
[prime.capital-b.variants.more-asymmetric-interrupted-unilateral-serifed]
rank = 10
-description = "`B` in more asymmetric proportion with interupted middle bar and `8` with motion serifs at top"
+description = "`B` in more asymmetric proportion with interrupted middle bar and `8` with motion serifs at top"
selector.B = "moreAsymmetricInterruptedUnilateralSerifed"
selector."B/sansSerif" = "moreAsymmetricInterruptedSerifless"
selector.smcpB = "standardInterruptedUnilateralSerifed"
[prime.capital-b.variants.standard-interrupted-bilateral-serifed]
rank = 11
-description = "`B` in near-symmetric proportion with interupted middle bar and motion serifs at both top and bottom"
+description = "`B` in near-symmetric proportion with interrupted middle bar and motion serifs at both top and bottom"
selector.B = "standardInterruptedBilateralSerifed"
selector."B/sansSerif" = "standardInterruptedSerifless"
selector.smcpB = "standardInterruptedBilateralSerifed"
[prime.capital-b.variants.more-asymmetric-interrupted-bilateral-serifed]
rank = 12
-description = "`B` in more asymmetric proportion with interupted middle bar and `8` with motion serifs at both top and bottom"
+description = "`B` in more asymmetric proportion with interrupted middle bar and `8` with motion serifs at both top and bottom"
selector.B = "moreAsymmetricInterruptedBilateralSerifed"
selector."B/sansSerif" = "moreAsymmetricInterruptedSerifless"
selector.smcpB = "standardInterruptedBilateralSerifed"
@@ -971,84 +971,84 @@ rank = 1
description = "Standard, straight-leg `R`"
selector.R = "straight"
selector."R/sansSerif" = "straight"
-selector.Rrotunda = "straight"
+selector.RRotunda = "straight"
[prime.capital-r.variants.curly]
rank = 2
description = " Slightly curly-legged `R`, like Iosevka 2.x"
selector.R = "curly"
selector."R/sansSerif" = "curly"
-selector.Rrotunda = "curly"
+selector.RRotunda = "curly"
[prime.capital-r.variants.standing]
rank = 3
description = "`R` with near-vertical standing leg"
selector.R = "standing"
selector."R/sansSerif" = "standing"
-selector.Rrotunda = "standing"
+selector.RRotunda = "standing"
[prime.capital-r.variants.straight-open]
rank = 4
description = "Standard, straight-leg `R`, with open contour at bottom"
selector.R = "straightOpen"
selector."R/sansSerif" = "straightOpen"
-selector.Rrotunda = "straight"
+selector.RRotunda = "straight"
[prime.capital-r.variants.curly-open]
rank = 5
description = " Slightly curly-legged `R`, like Iosevka 2.x, with open contour at bottom"
selector.R = "curlyOpen"
selector."R/sansSerif" = "curlyOpen"
-selector.Rrotunda = "curly"
+selector.RRotunda = "curly"
[prime.capital-r.variants.standing-open]
rank = 6
description = "`R` with near-vertical standing leg, with open contour at bottom"
selector.R = "standingOpen"
selector."R/sansSerif" = "standingOpen"
-selector.Rrotunda = "standing"
+selector.RRotunda = "standing"
[prime.capital-r.variants.straight-motion-serifed]
rank = 7
description = "Standard, straight-leg `R`, with motion serifs"
selector.R = "straightMotionSerifed"
selector."R/sansSerif" = "straight"
-selector.Rrotunda = "straightSerifless"
+selector.RRotunda = "straightSerifless"
[prime.capital-r.variants.curly-motion-serifed]
rank = 8
description = " Slightly curly-legged `R`, like Iosevka 2.x, with motion serifs"
selector.R = "curlyMotionSerifed"
selector."R/sansSerif" = "curly"
-selector.Rrotunda = "curlySerifless"
+selector.RRotunda = "curlySerifless"
-[prime.capital-r.variants.standing-motino-serifed]
+[prime.capital-r.variants.standing-motion-serifed]
rank = 9
description = "`R` with near-vertical standing leg"
selector.R = "standingMotionSerifed"
selector."R/sansSerif" = "standing"
-selector.Rrotunda = "standingSerifless"
+selector.RRotunda = "standingSerifless"
[prime.capital-r.variants.straight-open-motion-serifed]
rank = 10
description = "Standard, straight-leg `R`, with open contour at bottom and motion serifs"
selector.R = "straightOpenMotionSerifed"
selector."R/sansSerif" = "straightOpen"
-selector.Rrotunda = "straightSerifless"
+selector.RRotunda = "straightSerifless"
[prime.capital-r.variants.curly-open-motion-serifed]
rank = 11
description = " Slightly curly-legged `R`, like Iosevka 2.x, with open contour at bottom and motion serifs"
selector.R = "curlyOpenMotionSerifed"
selector."R/sansSerif" = "curlyOpen"
-selector.Rrotunda = "curlySerifless"
+selector.RRotunda = "curlySerifless"
[prime.capital-r.variants.standing-open-motion-serifed]
rank = 12
description = "`R` with near-vertical standing leg, with open contour at bottom and motion serifs"
selector.R = "standingOpenMotionSerifed"
selector."R/sansSerif" = "standingOpen"
-selector.Rrotunda = "standingSerifless"
+selector.RRotunda = "standingSerifless"
@@ -1195,28 +1195,28 @@ rank = 1
description = "Standard, straight `V`"
selector.V = "straight"
selector."V/sansSerif" = "straight"
-selector.Vhooktop = "straight"
+selector.VHookTop = "straight"
[prime.capital-v.variants.curly]
rank = 2
description = " Slightly curly `V`, like Iosevka 2.x"
selector.V = "curly"
selector."V/sansSerif" = "curly"
-selector.Vhooktop = "curly"
+selector.VHookTop = "curly"
[prime.capital-v.variants.straight-motion-serifed]
rank = 3
description = "Standard, straight `V`, and motion serifs"
selector.V = "straightMotionSerifed"
selector."V/sansSerif" = "straight"
-selector.Vhooktop = "straightMotionSerifed"
+selector.VHookTop = "straightMotionSerifed"
[prime.capital-v.variants.curly-motion-serifed]
rank = 4
description = " Slightly curly `V`, like Iosevka 2.x, and motion serifs"
selector.V = "curlyMotionSerifed"
selector."V/sansSerif" = "curly"
-selector.Vhooktop = "curlyMotionSerifed"
+selector.VHookTop = "curlyMotionSerifed"
@@ -1229,84 +1229,84 @@ rank = 1
description = "Standard, straight `W`"
selector.W = "straight"
selector."W/sansSerif" = "straight"
-selector.Whooktop = "straight"
+selector.WHookTop = "straight"
[prime.capital-w.variants.curly]
rank = 2
description = "Slightly curly `W`, like Iosevka 2.x"
selector.W = "curly"
selector."W/sansSerif" = "curly"
-selector.Whooktop = "curly"
+selector.WHookTop = "curly"
[prime.capital-w.variants.straight-flat-top]
rank = 3
description = "Standard, straight `W`, and the middle is forced to be aligned the top"
selector.W = "straightFlatTop"
selector."W/sansSerif" = "straightFlatTop"
-selector.Whooktop = "straightFlatTop"
+selector.WHookTop = "straightFlatTop"
[prime.capital-w.variants.straight-double-v]
rank = 4
description = "Straight `W` looks like double V"
selector.W = "straightDoubleV"
selector."W/sansSerif" = "straightDoubleV"
-selector.Whooktop = "straightDoubleV"
+selector.WHookTop = "straightDoubleV"
[prime.capital-w.variants.straight-asymmetric]
rank = 5
description = "Straight `W` looks asymmetric"
selector.W = "straightAsymmetric"
selector."W/sansSerif" = "straightAsymmetric"
-selector.Whooktop = "straightAsymmetric"
+selector.WHookTop = "straightAsymmetric"
[prime.capital-w.variants.straight-vertical-sides]
rank = 6
description = "Straight `W` with vertical sides"
selector.W = "straightVerticalSides"
selector."W/sansSerif" = "straightVerticalSides"
-selector.Whooktop = "straightVerticalSides"
+selector.WHookTop = "straightVerticalSides"
[prime.capital-w.variants.straight-motion-serifed]
rank = 7
description = "Standard, straight `W`, with motion serifs"
selector.W = "straightMotionSerifed"
selector."W/sansSerif" = "straight"
-selector.Whooktop = "straightMotionSerifed"
+selector.WHookTop = "straightMotionSerifed"
[prime.capital-w.variants.curly-motion-serifed]
rank = 8
description = "Slightly curly `W`, like Iosevka 2.x, with motion serifs"
selector.W = "curlyMotionSerifed"
selector."W/sansSerif" = "curly"
-selector.Whooktop = "curlyMotionSerifed"
+selector.WHookTop = "curlyMotionSerifed"
[prime.capital-w.variants.straight-flat-top-motion-serifed]
rank = 9
description = "Standard, straight `W`, and the middle is forced to be aligned the top, with motion serifs"
selector.W = "straightFlatTopMotionSerifed"
selector."W/sansSerif" = "straightFlatTop"
-selector.Whooktop = "straightFlatTopMotionSerifed"
+selector.WHookTop = "straightFlatTopMotionSerifed"
[prime.capital-w.variants.straight-double-v-motion-serifed]
rank = 10
description = "Straight `W` looks like double V, with motion serifs"
selector.W = "straightDoubleVMotionSerifed"
selector."W/sansSerif" = "straightDoubleV"
-selector.Whooktop = "straightDoubleVMotionSerifed"
+selector.WHookTop = "straightDoubleVMotionSerifed"
[prime.capital-w.variants.straight-asymmetric-motion-serifed]
rank = 11
description = "Straight `W` looks asymmetric, with motion serifs"
selector.W = "straightAsymmetricMotionSerifed"
selector."W/sansSerif" = "straightAsymmetric"
-selector.Whooktop = "straightAsymmetricMotionSerifed"
+selector.WHookTop = "straightAsymmetricMotionSerifed"
[prime.capital-w.variants.straight-vertical-sides-motion-serifed]
rank = 12
description = "Straight `W` with vertical sides and motion serifs"
selector.W = "straightVerticalSidesMotionSerifed"
selector."W/sansSerif" = "straightVerticalSides"
-selector.Whooktop = "straightVerticalSidesMotionSerifed"
+selector.WHookTop = "straightVerticalSidesMotionSerifed"
@@ -1501,7 +1501,7 @@ selector.ZDesc = "straightTopSerifedWithHorizontalCrossBar"
[prime.capital-z.variants.curly-serifed]
rank = 10
-description = "Curly `Z` woth top and bottom serifs"
+description = "Curly `Z` with top and bottom serifs"
selector.Z = "curlySerifed"
selector."Z/sansSerif" = "curlySerifless"
selector."Z/reduced" = "curlySerifed"
@@ -1674,7 +1674,7 @@ description = "Double-storey `a` without serifs"
selector.a = "doubleStoreySerifless"
selector."a/sansSerif" = "doubleStoreySerifless"
selector."a/rtailBase" = "doubleStoreySerifless"
-selector."a/turnaBase" = "doubleStoreySerifless"
+selector."a/turnABase" = "doubleStoreySerifless"
[prime.a.variants.double-storey-tailed]
rank = 2
@@ -1682,7 +1682,7 @@ description = "Double-storey `a` with curly tail"
selector.a = "doubleStoreyTailed"
selector."a/sansSerif" = "doubleStoreyTailed"
selector."a/rtailBase" = "doubleStoreySerifless"
-selector."a/turnaBase" = "doubleStoreyTailed"
+selector."a/turnABase" = "doubleStoreyTailed"
[prime.a.variants.double-storey-toothless-corner]
rank = 3
@@ -1690,7 +1690,7 @@ description = "Toothless (cornered bottom-right) double-storey `a`"
selector.a = "doubleStoreyToothlessCorner"
selector."a/sansSerif" = "doubleStoreyToothlessCorner"
selector."a/rtailBase" = "doubleStoreySerifless"
-selector."a/turnaBase" = "doubleStoreyToothlessCorner"
+selector."a/turnABase" = "doubleStoreyToothlessCorner"
[prime.a.variants.double-storey-toothless-rounded]
rank = 4
@@ -1698,7 +1698,7 @@ description = "Toothless (rounded bottom-right) double-storey `a`"
selector.a = "doubleStoreyToothlessRounded"
selector."a/sansSerif" = "doubleStoreyToothlessRounded"
selector."a/rtailBase" = "doubleStoreySerifless"
-selector."a/turnaBase" = "doubleStoreyToothlessRounded"
+selector."a/turnABase" = "doubleStoreyToothlessRounded"
[prime.a.variants.double-storey-serifed]
rank = 5
@@ -1706,7 +1706,7 @@ description = "Double-storey `a` with serif at bottom right"
selector.a = "doubleStoreySerifed"
selector."a/sansSerif" = "doubleStoreySerifless"
selector."a/rtailBase" = "doubleStoreySerifless"
-selector."a/turnaBase" = "doubleStoreySerifed"
+selector."a/turnABase" = "doubleStoreySerifed"
[prime.a.variants.single-storey-serifless]
rank = 6
@@ -1714,7 +1714,7 @@ description = "Single-storey `a` without serifs"
selector.a = "singleStoreySerifless"
selector."a/sansSerif" = "singleStoreySerifless"
selector."a/rtailBase" = "singleStoreySerifless"
-selector."a/turnaBase" = "doubleStoreySerifless"
+selector."a/turnABase" = "doubleStoreySerifless"
[prime.a.variants.single-storey-earless-corner-serifless]
rank = 7
@@ -1722,7 +1722,7 @@ description = "Earless (cornered top-right) single-storey `a` without serifs"
selector.a = "singleStoreyEarlessCornerSerifless"
selector."a/sansSerif" = "singleStoreyEarlessCornerSerifless"
selector."a/rtailBase" = "singleStoreyEarlessCornerSerifless"
-selector."a/turnaBase" = "doubleStoreySerifless"
+selector."a/turnABase" = "doubleStoreySerifless"
[prime.a.variants.single-storey-earless-rounded-serifless]
rank = 8
@@ -1730,7 +1730,7 @@ description = "Earless (rounded top-right) single-storey `a` without serifs"
selector.a = "singleStoreyEarlessRoundedSerifless"
selector."a/sansSerif" = "singleStoreyEarlessRoundedSerifless"
selector."a/rtailBase" = "singleStoreyEarlessRoundedSerifless"
-selector."a/turnaBase" = "doubleStoreySerifless"
+selector."a/turnABase" = "doubleStoreySerifless"
[prime.a.variants.single-storey-tailed]
rank = 9
@@ -1738,7 +1738,7 @@ description = "Single-storey `a` with curly tail"
selector.a = "singleStoreyTailed"
selector."a/sansSerif" = "singleStoreyTailed"
selector."a/rtailBase" = "singleStoreySerifless"
-selector."a/turnaBase" = "doubleStoreyTailed"
+selector."a/turnABase" = "doubleStoreyTailed"
[prime.a.variants.single-storey-earless-corner-tailed]
rank = 10
@@ -1746,7 +1746,7 @@ description = "Earless (cornered top-right) single-storey `a` with curly tail"
selector.a = "singleStoreyEarlessCornerTailed"
selector."a/sansSerif" = "singleStoreyEarlessCornerTailed"
selector."a/rtailBase" = "singleStoreyEarlessCornerSerifless"
-selector."a/turnaBase" = "doubleStoreyTailed"
+selector."a/turnABase" = "doubleStoreyTailed"
[prime.a.variants.single-storey-earless-rounded-tailed]
rank = 11
@@ -1754,7 +1754,7 @@ description = "Earless (rounded top-right) single-storey `a` with curly tail"
selector.a = "singleStoreyEarlessRoundedTailed"
selector."a/sansSerif" = "singleStoreyEarlessRoundedTailed"
selector."a/rtailBase" = "singleStoreyEarlessRoundedSerifless"
-selector."a/turnaBase" = "doubleStoreyTailed"
+selector."a/turnABase" = "doubleStoreyTailed"
[prime.a.variants.single-storey-serifed]
rank = 12
@@ -1762,7 +1762,7 @@ description = "Single-storey `a` with serif at bottom right"
selector.a = "singleStoreySerifed"
selector."a/sansSerif" = "singleStoreySerifless"
selector."a/rtailBase" = "singleStoreySerifless"
-selector."a/turnaBase" = "doubleStoreySerifed"
+selector."a/turnABase" = "doubleStoreySerifed"
[prime.a.variants.single-storey-earless-corner-serifed]
rank = 13
@@ -1770,7 +1770,7 @@ description = "Earless (cornered top-right) single-storey `a` with serif at bott
selector.a = "singleStoreyEarlessCornerSerifed"
selector."a/sansSerif" = "singleStoreyEarlessCornerSerifless"
selector."a/rtailBase" = "singleStoreyEarlessCornerSerifless"
-selector."a/turnaBase" = "doubleStoreySerifed"
+selector."a/turnABase" = "doubleStoreySerifed"
[prime.a.variants.single-storey-earless-rounded-serifed]
rank = 14
@@ -1778,7 +1778,7 @@ description = "Earless (rounded top-right) single-storey `a` with serif at botto
selector.a = "singleStoreyEarlessRoundedSerifed"
selector."a/sansSerif" = "singleStoreyEarlessRoundedSerifless"
selector."a/rtailBase" = "singleStoreyEarlessRoundedSerifless"
-selector."a/turnaBase" = "doubleStoreySerifed"
+selector."a/turnABase" = "doubleStoreySerifed"
[prime.b]
@@ -1791,7 +1791,7 @@ description = "`b` with bottom-left tooth"
selector.b = "toothed"
selector."b/sansSerif" = "toothed"
selector."b/zhuangToneSixBase" = "toothed"
-selector.bhooktop = "toothed"
+selector.bHookTop = "toothed"
[prime.b.variants.toothless-corner]
rank = 2
@@ -1799,7 +1799,7 @@ description = "`b` without bottom-left tooth, with a corner transition"
selector.b = "toothlessCorner"
selector."b/sansSerif" = "toothlessCorner"
selector."b/zhuangToneSixBase" = "toothlessCorner"
-selector.bhooktop = "toothlessCorner"
+selector.bHookTop = "toothlessCorner"
[prime.b.variants.toothless-rounded]
rank = 3
@@ -1807,7 +1807,7 @@ description = "`b` without bottom-left tooth, with a rounded transition"
selector.b = "toothlessRounded"
selector."b/sansSerif" = "toothlessRounded"
selector."b/zhuangToneSixBase" = "toothlessRounded"
-selector.bhooktop = "toothlessRounded"
+selector.bHookTop = "toothlessRounded"
[prime.b.variants.toothed-motion-serifed]
rank = 4
@@ -1815,7 +1815,7 @@ description = "`b` with motion serif, and with bottom-left tooth"
selector.b = "toothedMotionSerifed"
selector."b/sansSerif" = "toothed"
selector."b/zhuangToneSixBase" = "toothed"
-selector.bhooktop = "toothed"
+selector.bHookTop = "toothed"
[prime.b.variants.toothless-corner-motion-serifed]
rank = 5
@@ -1823,7 +1823,7 @@ description = "`b` with motion serif, and without bottom-left tooth, with a corn
selector.b = "toothlessCornerMotionSerifed"
selector."b/sansSerif" = "toothlessCorner"
selector."b/zhuangToneSixBase" = "toothlessCorner"
-selector.bhooktop = "toothlessCorner"
+selector.bHookTop = "toothlessCorner"
[prime.b.variants.toothless-rounded-motion-serifed]
rank = 6
@@ -1831,7 +1831,7 @@ description = "`b` with motion serif, and without bottom-left tooth, with a roun
selector.b = "toothlessRoundedMotionSerifed"
selector."b/sansSerif" = "toothlessRounded"
selector."b/zhuangToneSixBase" = "toothlessRounded"
-selector.bhooktop = "toothlessRounded"
+selector.bHookTop = "toothlessRounded"
@@ -2023,14 +2023,14 @@ tag = "cv31"
[prime.f.variants.serifless]
rank = 1
-description = "`f` without bottom serif, hook or exension"
+description = "`f` without bottom serif, hook or extension"
selector.f = "serifless"
selector."f/sansSerif" = "serifless"
selector."f/compLigLeft1" = "flatHookCLC1"
selector."f/compLigLeft2" = "flatHookCLC2"
selector."f/phoneticLeft" = "seriflessCrossbarAtXHeight"
-selector.lenisf = "serifless"
-selector.fltail = "tailed"
+selector.fLenis = "serifless"
+selector.fLTail = "tailed"
selector.dotlessjWithStrokeAndHook = "tailed"
[prime.f.variants.serifed]
@@ -2041,8 +2041,8 @@ selector."f/sansSerif" = "serifless"
selector."f/compLigLeft1" = "flatHookSerifedCLC1"
selector."f/compLigLeft2" = "flatHookSerifedCLC2"
selector."f/phoneticLeft" = "serifedCrossbarAtXHeight"
-selector.lenisf = "serifless"
-selector.fltail = "tailed"
+selector.fLenis = "serifless"
+selector.fLTail = "tailed"
selector.dotlessjWithStrokeAndHook = "tailed"
[prime.f.variants.tailed]
@@ -2053,8 +2053,8 @@ selector."f/sansSerif" = "tailed"
selector."f/compLigLeft1" = "flatHookTailedCLC1"
selector."f/compLigLeft2" = "flatHookTailedCLC2"
selector."f/phoneticLeft" = "tailedCrossbarAtXHeight"
-selector.lenisf = "serifless"
-selector.fltail = "tailed"
+selector.fLenis = "serifless"
+selector.fLTail = "tailed"
selector.dotlessjWithStrokeAndHook = "tailed"
[prime.f.variants.extended]
@@ -2065,8 +2065,8 @@ selector."f/sansSerif" = "extended"
selector."f/compLigLeft1" = "flatHookExtendedCLC1"
selector."f/compLigLeft2" = "flatHookExtendedCLC2"
selector."f/phoneticLeft" = "extendedCrossbarAtXHeight"
-selector.lenisf = "serifless"
-selector.fltail = "tailed"
+selector.fLenis = "serifless"
+selector.fLTail = "tailed"
selector.dotlessjWithStrokeAndHook = "tailed"
[prime.f.variants.diagonal-tailed]
@@ -2077,20 +2077,20 @@ selector."f/sansSerif" = "diagonalTailed"
selector."f/compLigLeft1" = "flatHookDiagonalTailedCLC1"
selector."f/compLigLeft2" = "flatHookDiagonalTailedCLC2"
selector."f/phoneticLeft" = "diagonalTailedCrossbarAtXHeight"
-selector.lenisf = "serifless"
-selector.fltail = "tailed"
+selector.fLenis = "serifless"
+selector.fLTail = "tailed"
selector.dotlessjWithStrokeAndHook = "tailed"
[prime.f.variants.serifless-crossbar-at-x-height]
rank = 6
-description = "`f` without bottom serif, hook or exension; crossbar is placed right at X-height"
+description = "`f` without bottom serif, hook or extension; crossbar is placed right at X-height"
selector.f = "seriflessCrossbarAtXHeight"
selector."f/sansSerif" = "seriflessCrossbarAtXHeight"
selector."f/compLigLeft1" = "flatHookCLC1"
selector."f/compLigLeft2" = "flatHookCLC2"
selector."f/phoneticLeft" = "seriflessCrossbarAtXHeight"
-selector.lenisf = "seriflessCrossbarAtXHeight"
-selector.fltail = "tailedCrossbarAtXHeight"
+selector.fLenis = "seriflessCrossbarAtXHeight"
+selector.fLTail = "tailedCrossbarAtXHeight"
selector.dotlessjWithStrokeAndHook = "tailedCrossbarAtXHeight"
[prime.f.variants.serifed-crossbar-at-x-height]
@@ -2101,8 +2101,8 @@ selector."f/sansSerif" = "seriflessCrossbarAtXHeight"
selector."f/compLigLeft1" = "flatHookSerifedCLC1"
selector."f/compLigLeft2" = "flatHookSerifedCLC2"
selector."f/phoneticLeft" = "serifedCrossbarAtXHeight"
-selector.lenisf = "seriflessCrossbarAtXHeight"
-selector.fltail = "tailedCrossbarAtXHeight"
+selector.fLenis = "seriflessCrossbarAtXHeight"
+selector.fLTail = "tailedCrossbarAtXHeight"
selector.dotlessjWithStrokeAndHook = "tailedCrossbarAtXHeight"
[prime.f.variants.tailed-crossbar-at-x-height]
@@ -2113,8 +2113,8 @@ selector."f/sansSerif" = "tailedCrossbarAtXHeight"
selector."f/compLigLeft1" = "flatHookTailedCLC1"
selector."f/compLigLeft2" = "flatHookTailedCLC2"
selector."f/phoneticLeft" = "tailedCrossbarAtXHeight"
-selector.lenisf = "seriflessCrossbarAtXHeight"
-selector.fltail = "tailedCrossbarAtXHeight"
+selector.fLenis = "seriflessCrossbarAtXHeight"
+selector.fLTail = "tailedCrossbarAtXHeight"
selector.dotlessjWithStrokeAndHook = "tailedCrossbarAtXHeight"
[prime.f.variants.extended-crossbar-at-x-height]
@@ -2125,8 +2125,8 @@ selector."f/sansSerif" = "extendedCrossbarAtXHeight"
selector."f/compLigLeft1" = "flatHookExtendedCLC1"
selector."f/compLigLeft2" = "flatHookExtendedCLC2"
selector."f/phoneticLeft" = "extendedCrossbarAtXHeight"
-selector.lenisf = "seriflessCrossbarAtXHeight"
-selector.fltail = "tailedCrossbarAtXHeight"
+selector.fLenis = "seriflessCrossbarAtXHeight"
+selector.fLTail = "tailedCrossbarAtXHeight"
selector.dotlessjWithStrokeAndHook = "tailedCrossbarAtXHeight"
[prime.f.variants.diagonal-tailed-crossbar-at-x-height]
@@ -2137,20 +2137,20 @@ selector."f/sansSerif" = "diagonalTailedCrossbarAtXHeight"
selector."f/compLigLeft1" = "flatHookDiagonalTailedCLC1"
selector."f/compLigLeft2" = "flatHookDiagonalTailedCLC2"
selector."f/phoneticLeft" = "diagonalTailedCrossbarAtXHeight"
-selector.lenisf = "seriflessCrossbarAtXHeight"
-selector.fltail = "tailedCrossbarAtXHeight"
+selector.fLenis = "seriflessCrossbarAtXHeight"
+selector.fLTail = "tailedCrossbarAtXHeight"
selector.dotlessjWithStrokeAndHook = "tailedCrossbarAtXHeight"
[prime.f.variants.flat-hook]
rank = 11
-description = "`f` with flat top hook, without bottom serif, hook or exension"
+description = "`f` with flat top hook, without bottom serif, hook or extension"
selector.f = "flatHook"
selector."f/sansSerif" = "flatHook"
selector."f/compLigLeft1" = "flatHookCLC1"
selector."f/compLigLeft2" = "flatHookCLC2"
selector."f/phoneticLeft" = "flatHookCrossbarAtXHeight"
-selector.lenisf = "flatHook"
-selector.fltail = "flatHookTailed"
+selector.fLenis = "flatHook"
+selector.fLTail = "flatHookTailed"
selector.dotlessjWithStrokeAndHook = "flatHookTailed"
[prime.f.variants.flat-hook-serifed]
@@ -2161,8 +2161,8 @@ selector."f/sansSerif" = "flatHook"
selector."f/compLigLeft1" = "flatHookSerifedCLC1"
selector."f/compLigLeft2" = "flatHookSerifedCLC2"
selector."f/phoneticLeft" = "flatHookSerifedCrossbarAtXHeight"
-selector.lenisf = "flatHook"
-selector.fltail = "flatHookTailed"
+selector.fLenis = "flatHook"
+selector.fLTail = "flatHookTailed"
selector.dotlessjWithStrokeAndHook = "flatHookTailed"
[prime.f.variants.flat-hook-tailed]
@@ -2173,8 +2173,8 @@ selector."f/sansSerif" = "flatHookTailed"
selector."f/compLigLeft1" = "flatHookTailedCLC1"
selector."f/compLigLeft2" = "flatHookTailedCLC2"
selector."f/phoneticLeft" = "flatHookTailedCrossbarAtXHeight"
-selector.lenisf = "flatHook"
-selector.fltail = "flatHookTailed"
+selector.fLenis = "flatHook"
+selector.fLTail = "flatHookTailed"
selector.dotlessjWithStrokeAndHook = "flatHookTailed"
[prime.f.variants.flat-hook-extended]
@@ -2185,32 +2185,32 @@ selector."f/sansSerif" = "flatHookExtended"
selector."f/compLigLeft1" = "flatHookExtendedCLC1"
selector."f/compLigLeft2" = "flatHookExtendedCLC2"
selector."f/phoneticLeft" = "flatHookExtendedCrossbarAtXHeight"
-selector.lenisf = "flatHook"
-selector.fltail = "flatHookTailed"
+selector.fLenis = "flatHook"
+selector.fLTail = "flatHookTailed"
selector.dotlessjWithStrokeAndHook = "flatHookTailed"
[prime.f.variants.flat-hook-diagonal-tailed]
rank = 15
-description = "`f` with falt hook and bottom diagonal tail"
+description = "`f` with flat hook and bottom diagonal tail"
selector.f = "flatHookDiagonalTailed"
selector."f/sansSerif" = "flatHookDiagonalTailed"
selector."f/compLigLeft1" = "flatHookDiagonalTailedCLC1"
selector."f/compLigLeft2" = "flatHookDiagonalTailedCLC2"
selector."f/phoneticLeft" = "flatHookDiagonalTailedCrossbarAtXHeight"
-selector.lenisf = "flatHook"
-selector.fltail = "flatHookTailed"
+selector.fLenis = "flatHook"
+selector.fLTail = "flatHookTailed"
selector.dotlessjWithStrokeAndHook = "flatHookTailed"
[prime.f.variants.flat-hook-crossbar-at-x-height]
rank = 16
-description = "`f` with flat top hook, without bottom serif, hook or exension; crossbar is placed right at X-height"
+description = "`f` with flat top hook, without bottom serif, hook or extension; crossbar is placed right at X-height"
selector.f = "flatHookCrossbarAtXHeight"
selector."f/sansSerif" = "flatHookCrossbarAtXHeight"
selector."f/compLigLeft1" = "flatHookCLC1"
selector."f/compLigLeft2" = "flatHookCLC2"
selector."f/phoneticLeft" = "flatHookCrossbarAtXHeight"
-selector.lenisf = "flatHookCrossbarAtXHeight"
-selector.fltail = "flatHookTailedCrossbarAtXHeight"
+selector.fLenis = "flatHookCrossbarAtXHeight"
+selector.fLTail = "flatHookTailedCrossbarAtXHeight"
selector.dotlessjWithStrokeAndHook = "flatHookTailedCrossbarAtXHeight"
[prime.f.variants.flat-hook-serifed-crossbar-at-x-height]
@@ -2221,8 +2221,8 @@ selector."f/sansSerif" = "flatHookCrossbarAtXHeight"
selector."f/compLigLeft1" = "flatHookSerifedCLC1"
selector."f/compLigLeft2" = "flatHookSerifedCLC2"
selector."f/phoneticLeft" = "flatHookSerifedCrossbarAtXHeight"
-selector.lenisf = "flatHookCrossbarAtXHeight"
-selector.fltail = "flatHookTailedCrossbarAtXHeight"
+selector.fLenis = "flatHookCrossbarAtXHeight"
+selector.fLTail = "flatHookTailedCrossbarAtXHeight"
selector.dotlessjWithStrokeAndHook = "flatHookTailedCrossbarAtXHeight"
[prime.f.variants.flat-hook-tailed-crossbar-at-x-height]
@@ -2233,8 +2233,8 @@ selector."f/sansSerif" = "flatHookTailedCrossbarAtXHeight"
selector."f/compLigLeft1" = "flatHookTailedCLC1"
selector."f/compLigLeft2" = "flatHookTailedCLC2"
selector."f/phoneticLeft" = "flatHookTailedCrossbarAtXHeight"
-selector.lenisf = "flatHookCrossbarAtXHeight"
-selector.fltail = "flatHookTailedCrossbarAtXHeight"
+selector.fLenis = "flatHookCrossbarAtXHeight"
+selector.fLTail = "flatHookTailedCrossbarAtXHeight"
selector.dotlessjWithStrokeAndHook = "flatHookTailedCrossbarAtXHeight"
[prime.f.variants.flat-hook-extended-crossbar-at-x-height]
@@ -2245,20 +2245,20 @@ selector."f/sansSerif" = "flatHookExtendedCrossbarAtXHeight"
selector."f/compLigLeft1" = "flatHookExtendedCLC1"
selector."f/compLigLeft2" = "flatHookExtendedCLC2"
selector."f/phoneticLeft" = "flatHookExtendedCrossbarAtXHeight"
-selector.lenisf = "flatHookCrossbarAtXHeight"
-selector.fltail = "flatHookTailedCrossbarAtXHeight"
+selector.fLenis = "flatHookCrossbarAtXHeight"
+selector.fLTail = "flatHookTailedCrossbarAtXHeight"
selector.dotlessjWithStrokeAndHook = "flatHookTailedCrossbarAtXHeight"
[prime.f.variants.flat-hook-diagonal-tailed-crossbar-at-x-height]
rank = 20
-description = "`f` with falt hook and bottom diagonal tail; crossbar is placed right at X-height"
+description = "`f` with flat hook and bottom diagonal tail; crossbar is placed right at X-height"
selector.f = "flatHookDiagonalTailedCrossbarAtXHeight"
selector."f/sansSerif" = "flatHookDiagonalTailedCrossbarAtXHeight"
selector."f/compLigLeft1" = "flatHookDiagonalTailedCLC1"
selector."f/compLigLeft2" = "flatHookDiagonalTailedCLC2"
selector."f/phoneticLeft" = "flatHookDiagonalTailedCrossbarAtXHeight"
-selector.lenisf = "flatHookCrossbarAtXHeight"
-selector.fltail = "flatHookTailedCrossbarAtXHeight"
+selector.fLenis = "flatHookCrossbarAtXHeight"
+selector.fLTail = "flatHookTailedCrossbarAtXHeight"
selector.dotlessjWithStrokeAndHook = "flatHookTailedCrossbarAtXHeight"
@@ -2272,90 +2272,90 @@ rank = 1
description = "Double-storey `g`"
selector.g = "doubleStorey"
selector."g/sansSerif" = "doubleStorey"
-selector."scriptg/sansSerif" = "singleStoreySerifless"
-selector."scriptg/slabSerif" = "singleStoreySerifed"
-selector."scriptg/hookTopBase" = "singleStoreySerifless"
+selector."gScript/sansSerif" = "singleStoreySerifless"
+selector."gScript/slabSerif" = "singleStoreySerifed"
+selector."gScript/hookTopBase" = "singleStoreySerifless"
[prime.g.variants.double-storey-open]
rank = 2
description = "Open Double-storey `g`, like Trebuchet MS or Fira Code"
selector.g = "openDoubleStorey"
selector."g/sansSerif" = "openDoubleStorey"
-selector."scriptg/sansSerif" = "singleStoreySerifless"
-selector."scriptg/slabSerif" = "singleStoreySerifed"
-selector."scriptg/hookTopBase" = "singleStoreySerifless"
+selector."gScript/sansSerif" = "singleStoreySerifless"
+selector."gScript/slabSerif" = "singleStoreySerifed"
+selector."gScript/hookTopBase" = "singleStoreySerifless"
[prime.g.variants.single-storey-serifless]
rank = 3
description = "Single-storey `g` without serifs"
selector.g = "singleStoreySerifless"
selector."g/sansSerif" = "singleStoreySerifless"
-selector."scriptg/sansSerif" = "singleStoreySerifless"
-selector."scriptg/slabSerif" = "singleStoreySerifless"
-selector."scriptg/hookTopBase" = "singleStoreySerifless"
+selector."gScript/sansSerif" = "singleStoreySerifless"
+selector."gScript/slabSerif" = "singleStoreySerifless"
+selector."gScript/hookTopBase" = "singleStoreySerifless"
[prime.g.variants.single-storey-serifed]
rank = 4
description = "Single-storey `g` with serif at top right"
selector.g = "singleStoreySerifed"
selector."g/sansSerif" = "singleStoreySerifless"
-selector."scriptg/sansSerif" = "singleStoreySerifed"
-selector."scriptg/slabSerif" = "singleStoreySerifed"
-selector."scriptg/hookTopBase" = "singleStoreySerifless"
+selector."gScript/sansSerif" = "singleStoreySerifed"
+selector."gScript/slabSerif" = "singleStoreySerifed"
+selector."gScript/hookTopBase" = "singleStoreySerifless"
[prime.g.variants.earless-corner]
rank = 5
description = "Earless (cornered top-right) single-storey `g`"
selector.g = "singleStoreyEarlessCorner"
selector."g/sansSerif" = "singleStoreyEarlessCorner"
-selector."scriptg/sansSerif" = "singleStoreyEarlessCorner"
-selector."scriptg/slabSerif" = "singleStoreyEarlessCorner"
-selector."scriptg/hookTopBase" = "singleStoreyEarlessCornerHTB"
+selector."gScript/sansSerif" = "singleStoreyEarlessCorner"
+selector."gScript/slabSerif" = "singleStoreyEarlessCorner"
+selector."gScript/hookTopBase" = "singleStoreyEarlessCornerHTB"
[prime.g.variants.earless-rounded]
rank = 6
description = "Earless (rounded top-right) single-storey `g`"
selector.g = "singleStoreyEarlessRounded"
selector."g/sansSerif" = "singleStoreyEarlessRounded"
-selector."scriptg/sansSerif" = "singleStoreyEarlessRounded"
-selector."scriptg/slabSerif" = "singleStoreyEarlessRounded"
-selector."scriptg/hookTopBase" = "singleStoreyEarlessRoundedHTB"
+selector."gScript/sansSerif" = "singleStoreyEarlessRounded"
+selector."gScript/slabSerif" = "singleStoreyEarlessRounded"
+selector."gScript/hookTopBase" = "singleStoreyEarlessRoundedHTB"
[prime.g.variants.single-storey-flat-hook-serifless]
rank = 7
description = "Single-storey `g` with flat terminal hook and without serifs"
selector.g = "singleStoreyFlatHookSerifless"
selector."g/sansSerif" = "singleStoreyFlatHookSerifless"
-selector."scriptg/sansSerif" = "singleStoreyFlatHookSerifless"
-selector."scriptg/slabSerif" = "singleStoreyFlatHookSerifless"
-selector."scriptg/hookTopBase" = "singleStoreyFlatHookSerifless"
+selector."gScript/sansSerif" = "singleStoreyFlatHookSerifless"
+selector."gScript/slabSerif" = "singleStoreyFlatHookSerifless"
+selector."gScript/hookTopBase" = "singleStoreyFlatHookSerifless"
[prime.g.variants.single-storey-flat-hook-serifed]
rank = 8
description = "Single-storey `g` with top-right serif and flat terminal hook"
selector.g = "singleStoreyFlatHookSerifed"
selector."g/sansSerif" = "singleStoreyFlatHookSerifless"
-selector."scriptg/sansSerif" = "singleStoreyFlatHookSerifed"
-selector."scriptg/slabSerif" = "singleStoreyFlatHookSerifed"
-selector."scriptg/hookTopBase" = "singleStoreyFlatHookSerifless"
+selector."gScript/sansSerif" = "singleStoreyFlatHookSerifed"
+selector."gScript/slabSerif" = "singleStoreyFlatHookSerifed"
+selector."gScript/hookTopBase" = "singleStoreyFlatHookSerifless"
[prime.g.variants.single-storey-earless-corner-flat-hook]
rank = 9
description = "Earless (cornered top-right) single-storey `g` with flat terminal hook"
selector.g = "singleStoreyEarlessCornerFlatHook"
selector."g/sansSerif" = "singleStoreyEarlessCornerFlatHook"
-selector."scriptg/sansSerif" = "singleStoreyEarlessCornerFlatHook"
-selector."scriptg/slabSerif" = "singleStoreyEarlessCornerFlatHook"
-selector."scriptg/hookTopBase" = "singleStoreyEarlessCornerFlatHookHTB"
+selector."gScript/sansSerif" = "singleStoreyEarlessCornerFlatHook"
+selector."gScript/slabSerif" = "singleStoreyEarlessCornerFlatHook"
+selector."gScript/hookTopBase" = "singleStoreyEarlessCornerFlatHookHTB"
[prime.g.variants.single-storey-earless-rounded-flat-hook]
rank = 10
description = "Earless (rounded top-right) single-storey `g` with flat terminal hook"
selector.g = "singleStoreyEarlessRoundedFlatHook"
selector."g/sansSerif" = "singleStoreyEarlessRoundedFlatHook"
-selector."scriptg/sansSerif" = "singleStoreyEarlessRoundedFlatHook"
-selector."scriptg/slabSerif" = "singleStoreyEarlessRoundedFlatHook"
-selector."scriptg/hookTopBase" = "singleStoreyEarlessRoundedFlatHookHTB"
+selector."gScript/sansSerif" = "singleStoreyEarlessRoundedFlatHook"
+selector."gScript/slabSerif" = "singleStoreyEarlessRoundedFlatHook"
+selector."gScript/hookTopBase" = "singleStoreyEarlessRoundedFlatHookHTB"
@@ -3024,10 +3024,10 @@ selector.mLTail = "earlessCornerDoubleArch"
[prime.m.variants.earless-corner-double-arch-short-leg]
rank = 6
description = "Earless (corner top-left) `m` with a shorter middle leg like Ubuntu Mono"
-selector.m = "earlessCornerDoubleArchShortleg"
-selector."m/sansSerif" = "earlessCornerDoubleArchShortleg"
+selector.m = "earlessCornerDoubleArchShortLeg"
+selector."m/sansSerif" = "earlessCornerDoubleArchShortLeg"
selector."cyrl/te.italic" = "shortLeg"
-selector.mLTail = "earlessCornerDoubleArchShortleg"
+selector.mLTail = "earlessCornerDoubleArchShortLeg"
[prime.m.variants.earless-corner-double-arch-tailed]
rank = 7
@@ -3040,10 +3040,10 @@ selector.mLTail = "earlessCornerDoubleArch"
[prime.m.variants.earless-corner-double-arch-short-leg-tailed]
rank = 8
description = "Earless (corner top-left) `m` with a shorter middle leg like Ubuntu Mono, and a curly tail"
-selector.m = "earlessCornerDoubleArchShortlegTailed"
-selector."m/sansSerif" = "earlessCornerDoubleArchShortlegTailed"
+selector.m = "earlessCornerDoubleArchShortLegTailed"
+selector."m/sansSerif" = "earlessCornerDoubleArchShortLegTailed"
selector."cyrl/te.italic" = "shortLeg"
-selector.mLTail = "earlessCornerDoubleArchShortleg"
+selector.mLTail = "earlessCornerDoubleArchShortLeg"
[prime.m.variants.earless-rounded-double-arch]
rank = 9
@@ -3056,10 +3056,10 @@ selector.mLTail = "earlessRoundedDoubleArch"
[prime.m.variants.earless-rounded-double-arch-short-leg]
rank = 10
description = "Earless (rounded top-left) `m` with a shorter middle leg like Ubuntu Mono"
-selector.m = "earlessRoundedDoubleArchShortleg"
-selector."m/sansSerif" = "earlessRoundedDoubleArchShortleg"
+selector.m = "earlessRoundedDoubleArchShortLeg"
+selector."m/sansSerif" = "earlessRoundedDoubleArchShortLeg"
selector."cyrl/te.italic" = "shortLeg"
-selector.mLTail = "earlessRoundedDoubleArchShortleg"
+selector.mLTail = "earlessRoundedDoubleArchShortLeg"
[prime.m.variants.earless-rounded-double-arch-tailed]
rank = 11
@@ -3072,10 +3072,10 @@ selector.mLTail = "earlessRoundedDoubleArch"
[prime.m.variants.earless-rounded-double-arch-short-leg-tailed]
rank = 12
description = "Earless (rounded top-left) `m` with a shorter middle leg like Ubuntu Mono, and a curly tail"
-selector.m = "earlessRoundedDoubleArchShortlegTailed"
-selector."m/sansSerif" = "earlessRoundedDoubleArchShortlegTailed"
+selector.m = "earlessRoundedDoubleArchShortLegTailed"
+selector."m/sansSerif" = "earlessRoundedDoubleArchShortLegTailed"
selector."cyrl/te.italic" = "shortLeg"
-selector.mLTail = "earlessRoundedDoubleArchShortleg"
+selector.mLTail = "earlessRoundedDoubleArchShortLeg"
[prime.m.variants.earless-single-arch]
rank = 13
@@ -3088,10 +3088,10 @@ selector.mLTail = "earlessSingleArch"
[prime.m.variants.earless-single-arch-short-leg]
rank = 14
description = "Earless (single-arch) `m` with a shorter middle leg like Ubuntu Mono"
-selector.m = "earlessSingleArchShortleg"
-selector."m/sansSerif" = "earlessSingleArchShortleg"
+selector.m = "earlessSingleArchShortLeg"
+selector."m/sansSerif" = "earlessSingleArchShortLeg"
selector."cyrl/te.italic" = "shortLeg"
-selector.mLTail = "earlessSingleArchShortleg"
+selector.mLTail = "earlessSingleArchShortLeg"
[prime.m.variants.earless-single-arch-tailed]
rank = 15
@@ -3104,10 +3104,10 @@ selector.mLTail = "earlessSingleArch"
[prime.m.variants.earless-single-arch-short-leg-tailed]
rank = 16
description = "Earless (single-arch) `m` with a shorter middle leg like Ubuntu Mono, and a curly tail"
-selector.m = "earlessSingleArchShortlegTailed"
-selector."m/sansSerif" = "earlessSingleArchShortlegTailed"
+selector.m = "earlessSingleArchShortLegTailed"
+selector."m/sansSerif" = "earlessSingleArchShortLegTailed"
selector."cyrl/te.italic" = "shortLeg"
-selector.mLTail = "earlessSingleArchShortleg"
+selector.mLTail = "earlessSingleArchShortLeg"
[prime.m.variants.top-left-serifed]
rank = 17
@@ -3402,144 +3402,144 @@ rank = 1
description = "Straight, serif-less `r`"
selector.r = "serifless"
selector."r/sansSerif" = "serifless"
-selector.rrtail = "serifless"
-selector."turnrrtail" = "serifless"
-selector."rflap" = "serifless"
+selector.rRTail = "serifless"
+selector."rTurnRTail" = "serifless"
+selector."rFlap" = "serifless"
[prime.r.variants.serifed]
rank = 2
description = "`r` with serif at both top and bottom"
selector.r = "serifed"
selector."r/sansSerif" = "serifless"
-selector.rrtail = "topSerifed"
-selector."turnrrtail" = "serifed"
-selector."rflap" = "serifed"
+selector.rRTail = "topSerifed"
+selector."rTurnRTail" = "serifed"
+selector."rFlap" = "serifed"
[prime.r.variants.top-serifed]
rank = 3
description = "`r` with serifs at top-left only"
selector.r = "topSerifed"
selector."r/sansSerif" = "serifless"
-selector.rrtail = "topSerifed"
-selector."turnrrtail" = "topSerifed"
-selector."rflap" = "serifless"
+selector.rRTail = "topSerifed"
+selector."rTurnRTail" = "topSerifed"
+selector."rFlap" = "serifless"
[prime.r.variants.base-serifed]
rank = 4
description = "`r` with serifs at top-left only"
selector.r = "baseSerifed"
selector."r/sansSerif" = "serifless"
-selector.rrtail = "serifless"
-selector."turnrrtail" = "serifed"
-selector."rflap" = "serifed"
+selector.rRTail = "serifless"
+selector."rTurnRTail" = "serifed"
+selector."rFlap" = "serifed"
[prime.r.variants.earless-corner]
rank = 5
description = "Earless (corner top-left), serif-less `r`"
selector.r = "earlessCorner"
selector."r/sansSerif" = "earlessCorner"
-selector.rrtail = "earlessCorner"
-selector."turnrrtail" = "serifless"
-selector."rflap" = "serifless"
+selector.rRTail = "earlessCorner"
+selector."rTurnRTail" = "serifless"
+selector."rFlap" = "serifless"
[prime.r.variants.earless-corner-serifed]
rank = 6
description = "Earless (corner top-left), serifed `r`"
selector.r = "earlessCornerSerifed"
selector."r/sansSerif" = "earlessCorner"
-selector.rrtail = "earlessCorner"
-selector."turnrrtail" = "serifed"
-selector."rflap" = "serifed"
+selector.rRTail = "earlessCorner"
+selector."rTurnRTail" = "serifed"
+selector."rFlap" = "serifed"
[prime.r.variants.earless-rounded]
rank = 7
description = "Earless (rounded top-left), serif-less `r`"
selector.r = "earlessRounded"
selector."r/sansSerif" = "earlessRounded"
-selector.rrtail = "earlessRounded"
-selector."turnrrtail" = "serifless"
-selector."rflap" = "serifless"
+selector.rRTail = "earlessRounded"
+selector."rTurnRTail" = "serifless"
+selector."rFlap" = "serifless"
[prime.r.variants.earless-rounded-serifed]
rank = 8
description = "Earless (rounded top-left), serifed `r`"
selector.r = "earlessRoundedSerifed"
selector."r/sansSerif" = "earlessRounded"
-selector.rrtail = "earlessRounded"
-selector."turnrrtail" = "serifed"
-selector."rflap" = "serifed"
+selector.rRTail = "earlessRounded"
+selector."rTurnRTail" = "serifed"
+selector."rFlap" = "serifed"
[prime.r.variants.compact]
rank = 9
description = "Compact, serifless `r`"
selector.r = "compact"
selector."r/sansSerif" = "compact"
-selector.rrtail = "compact"
-selector."turnrrtail" = "compact"
-selector."rflap" = "compact"
+selector.rRTail = "compact"
+selector."rTurnRTail" = "compact"
+selector."rFlap" = "compact"
[prime.r.variants.compact-serifed]
rank = 10
description = "Compact `r` with top and bottom serifs"
selector.r = "compactSerifed"
selector."r/sansSerif" = "compact"
-selector.rrtail = "compactSerifed"
-selector."turnrrtail" = "compactSerifed"
-selector."rflap" = "compact"
+selector.rRTail = "compactSerifed"
+selector."rTurnRTail" = "compactSerifed"
+selector."rFlap" = "compact"
[prime.r.variants.compact-top-serifed]
rank = 11
description = "Compact `r` with top serif"
selector.r = "compactTopSerifed"
selector."r/sansSerif" = "compact"
-selector.rrtail = "compactSerifed"
-selector."turnrrtail" = "compactSerifed"
-selector."rflap" = "compact"
+selector.rRTail = "compactSerifed"
+selector."rTurnRTail" = "compactSerifed"
+selector."rFlap" = "compact"
[prime.r.variants.compact-base-serifed]
rank = 12
description = "Compact `r` with bottom serif"
selector.r = "compactBaseSerifed"
selector."r/sansSerif" = "compact"
-selector.rrtail = "compact"
-selector."turnrrtail" = "compactSerifed"
-selector."rflap" = "compact"
+selector.rRTail = "compact"
+selector."rTurnRTail" = "compactSerifed"
+selector."rFlap" = "compact"
[prime.r.variants.corner-hooked]
rank = 13
description = "`r` with vertical corner hook downwards"
selector.r = "cornerHooked"
selector."r/sansSerif" = "compact"
-selector.rrtail = "cornerHooked"
-selector."turnrrtail" = "cornerHooked"
-selector."rflap" = "serifless"
+selector.rRTail = "cornerHooked"
+selector."rTurnRTail" = "cornerHooked"
+selector."rFlap" = "serifless"
[prime.r.variants.corner-hooked-serifed]
rank = 14
description = "`r` with vertical corner hook downwards, top and bottom serifs"
selector.r = "cornerHookedSerifed"
selector."r/sansSerif" = "compact"
-selector.rrtail = "cornerHookedSerifed"
-selector."turnrrtail" = "cornerHookedSerifed"
-selector."rflap" = "serifed"
+selector.rRTail = "cornerHookedSerifed"
+selector."rTurnRTail" = "cornerHookedSerifed"
+selector."rFlap" = "serifed"
[prime.r.variants.corner-hooked-top-serifed]
rank = 15
description = "`r` with vertical corner hook downwards and top serif"
selector.r = "cornerHookedTopSerifed"
selector."r/sansSerif" = "compact"
-selector.rrtail = "cornerHookedSerifed"
-selector."turnrrtail" = "cornerHookedSerifed"
-selector."rflap" = "serifless"
+selector.rRTail = "cornerHookedSerifed"
+selector."rTurnRTail" = "cornerHookedSerifed"
+selector."rFlap" = "serifless"
[prime.r.variants.corner-hooked-base-serifed]
rank = 16
description = "`r` with vertical corner hook downwards and bottom serif"
selector.r = "cornerHookedBaseSerifed"
selector."r/sansSerif" = "compact"
-selector.rrtail = "cornerHooked"
-selector."turnrrtail" = "cornerHookedSerifed"
-selector."rflap" = "serifed"
+selector.rRTail = "cornerHooked"
+selector."rTurnRTail" = "cornerHookedSerifed"
+selector."rFlap" = "serifed"
@@ -3779,7 +3779,7 @@ rank = 1
description = "Normal `u` with bottom-right tooth"
selector.u = "toothed"
selector."u/sansSerif" = "toothed"
-selector."u/urtailBase" = "urtBase"
+selector."u/uRTailBase" = "urtBase"
selector."cyrl/i.italic" = "toothed"
selector."cyrl/sha.italic" = "toothed"
selector."cyrl/shcha.italic" = "toothed"
@@ -3793,7 +3793,7 @@ rank = 2
description = "Toothless (corner bottom-right) `u`"
selector.u = "toothlessCorner"
selector."u/sansSerif" = "toothlessCorner"
-selector."u/urtailBase" = "urtBase"
+selector."u/uRTailBase" = "urtBase"
selector."cyrl/i.italic" = "toothed"
selector."cyrl/sha.italic" = "toothed"
selector."cyrl/shcha.italic" = "toothed"
@@ -3807,7 +3807,7 @@ rank = 3
description = "Toothless (rounded) `u`, like a smaller uppercase `U`"
selector.u = "toothlessRounded"
selector."u/sansSerif" = "toothlessRounded"
-selector."u/urtailBase" = "urtBase"
+selector."u/uRTailBase" = "urtBase"
selector."cyrl/i.italic" = "toothed"
selector."cyrl/sha.italic" = "toothed"
selector."cyrl/shcha.italic" = "toothed"
@@ -3821,7 +3821,7 @@ rank = 4
description = "`u` with right bar and a slightly curly tail"
selector.u = "tailed"
selector."u/sansSerif" = "tailed"
-selector."u/urtailBase" = "urtBase"
+selector."u/uRTailBase" = "urtBase"
selector."cyrl/i.italic" = "tailed"
selector."cyrl/sha.italic" = "tailed"
selector."cyrl/shcha.italic" = "toothed"
@@ -3835,7 +3835,7 @@ rank = 5
description = "Normal `u` with right bar and motion serifs"
selector.u = "motionSerifed"
selector."u/sansSerif" = "toothed"
-selector."u/urtailBase" = "urtBaseMotionSerifed"
+selector."u/uRTailBase" = "urtBaseMotionSerifed"
selector."cyrl/i.italic" = "motionSerifed"
selector."cyrl/sha.italic" = "motionSerifed"
selector."cyrl/shcha.italic" = "motionSerifed"
@@ -3849,7 +3849,7 @@ rank = 6
description = "`u` with right bar, motion serifs and a slightly curly tail"
selector.u = "tailedMotionSerifed"
selector."u/sansSerif" = "tailed"
-selector."u/urtailBase" = "urtBaseMotionSerifed"
+selector."u/uRTailBase" = "urtBaseMotionSerifed"
selector."cyrl/i.italic" = "tailedMotionSerifed"
selector."cyrl/sha.italic" = "tailedMotionSerifed"
selector."cyrl/shcha.italic" = "motionSerifed"
@@ -3863,7 +3863,7 @@ rank = 7
description = "Toothless (corner bottom-right) `u` with motion serifs"
selector.u = "toothlessCornerMotionSerifed"
selector."u/sansSerif" = "toothlessCorner"
-selector."u/urtailBase" = "urtBaseMotionSerifed"
+selector."u/uRTailBase" = "urtBaseMotionSerifed"
selector."cyrl/i.italic" = "motionSerifed"
selector."cyrl/sha.italic" = "motionSerifed"
selector."cyrl/shcha.italic" = "motionSerifed"
@@ -3877,7 +3877,7 @@ rank = 8
description = "Toothless (rounded) `u` with motion serifs"
selector.u = "toothlessRoundedMotionSerifed"
selector."u/sansSerif" = "toothlessRounded"
-selector."u/urtailBase" = "urtBaseMotionSerifed"
+selector."u/uRTailBase" = "urtBaseMotionSerifed"
selector."cyrl/i.italic" = "motionSerifed"
selector."cyrl/sha.italic" = "motionSerifed"
selector."cyrl/shcha.italic" = "motionSerifed"
@@ -3891,7 +3891,7 @@ rank = 9
description = "`u` with right bar and a slightly curly tail"
selector.u = "bottomRightSerifed"
selector."u/sansSerif" = "toothed"
-selector."u/urtailBase" = "urtBaseSerifless"
+selector."u/uRTailBase" = "urtBaseSerifless"
selector."cyrl/i.italic" = "bottomRightSerifed"
selector."cyrl/sha.italic" = "bottomRightSerifed"
selector."cyrl/shcha.italic" = "toothed"
@@ -3911,42 +3911,42 @@ rank = 1
description = "Standard, straight `v`"
selector.v = "straight"
selector."v/sansSerif" = "straight"
-selector.vhooktop = "straight"
+selector.vHookTop = "straight"
[prime.v.variants.curly]
rank = 2
description = "Slightly curly `v`, like Iosevka 2.x"
selector.v = "curly"
selector."v/sansSerif" = "curly"
-selector.vhooktop = "curly"
+selector.vHookTop = "curly"
[prime.v.variants.cursive]
rank = 3
description = "Cursive `v`"
selector.v = "cursive"
selector."v/sansSerif" = "cursive"
-selector.vhooktop = "straight"
+selector.vHookTop = "straight"
[prime.v.variants.straight-motion-serifed]
rank = 4
description = "Standard, straight `v`, with motion serifs"
selector.v = "straightMotionSerifed"
selector."v/sansSerif" = "straight"
-selector.vhooktop = "straightMotionSerifed"
+selector.vHookTop = "straightMotionSerifed"
[prime.v.variants.curly-motion-serifed]
rank = 5
description = "Slightly curly `v`, like Iosevka 2.x, with motion serifs"
selector.v = "curlyMotionSerifed"
selector."v/sansSerif" = "curly"
-selector.vhooktop = "curlyMotionSerifed"
+selector.vHookTop = "curlyMotionSerifed"
[prime.v.variants.cursive-serifed]
rank = 6
description = "Cursive `v` with motion serifs"
selector.v = "cursiveMotionSerifed"
selector."v/sansSerif" = "cursive"
-selector.vhooktop = "straightMotionSerifed"
+selector.vHookTop = "straightMotionSerifed"
@@ -3959,98 +3959,98 @@ rank = 1
description = "Standard, straight `w`"
selector.w = "straight"
selector."w/sansSerif" = "straight"
-selector.whooktop = "straight"
+selector.wHookTop = "straight"
[prime.w.variants.curly]
rank = 2
description = "Slightly curly `w`, like Iosevka 2.x"
selector.w = "curly"
selector."w/sansSerif" = "curly"
-selector.whooktop = "curly"
+selector.wHookTop = "curly"
[prime.w.variants.straight-flat-top]
rank = 3
description = "Standard, straight `w`, and the middle is forced to be aligned the top"
selector.w = "straightFlatTop"
selector."w/sansSerif" = "straightFlatTop"
-selector.whooktop = "straightFlatTop"
+selector.wHookTop = "straightFlatTop"
[prime.w.variants.straight-double-v]
rank = 4
description = "Straight `w` looks like double V"
selector.w = "straightDoubleV"
selector."w/sansSerif" = "straightDoubleV"
-selector.whooktop = "straightDoubleV"
+selector.wHookTop = "straightDoubleV"
[prime.w.variants.straight-asymmetric]
rank = 5
description = "Straight `w` looks asymmetric"
selector.w = "straightAsymmetric"
selector."w/sansSerif" = "straightAsymmetric"
-selector.whooktop = "straightAsymmetric"
+selector.wHookTop = "straightAsymmetric"
[prime.w.variants.straight-vertical-sides]
rank = 6
description = "Straight `w` with vertical sides"
selector.w = "straightVerticalSides"
selector."w/sansSerif" = "straightVerticalSides"
-selector.whooktop = "straightVerticalSides"
+selector.wHookTop = "straightVerticalSides"
[prime.w.variants.cursive]
rank = 7
description = "Cursive `w`"
selector.w = "cursive"
selector."w/sansSerif" = "cursive"
-selector.whooktop = "cursive"
+selector.wHookTop = "cursive"
[prime.w.variants.straight-motion-serifed]
rank = 8
description = "Standard, straight `w`, with motion serifs"
selector.w = "straightMotionSerifed"
selector."w/sansSerif" = "straight"
-selector.whooktop = "straightMotionSerifed"
+selector.wHookTop = "straightMotionSerifed"
[prime.w.variants.curly-motion-serifed]
rank = 9
description = "Slightly curly `w`, like Iosevka 2.x, with motion serifs"
selector.w = "curlyMotionSerifed"
selector."w/sansSerif" = "curly"
-selector.whooktop = "curlyMotionSerifed"
+selector.wHookTop = "curlyMotionSerifed"
[prime.w.variants.straight-flat-top-motion-serifed]
rank = 10
description = "Standard, straight `w`, and the middle is forced to be aligned the top, with motion serifs"
selector.w = "straightFlatTopMotionSerifed"
selector."w/sansSerif" = "straightFlatTop"
-selector.whooktop = "straightFlatTopMotionSerifed"
+selector.wHookTop = "straightFlatTopMotionSerifed"
[prime.w.variants.straight-double-v-motion-serifed]
rank = 11
description = "Straight `w` looks like double V, with motion serifs"
selector.w = "straightDoubleVMotionSerifed"
selector."w/sansSerif" = "straightDoubleV"
-selector.whooktop = "straightDoubleVMotionSerifed"
+selector.wHookTop = "straightDoubleVMotionSerifed"
[prime.w.variants.straight-asymmetric-motion-serifed]
rank = 12
description = "Straight `w` looks asymmetric, with motion serifs"
selector.w = "straightAsymmetricMotionSerifed"
selector."w/sansSerif" = "straightAsymmetric"
-selector.whooktop = "straightAsymmetricMotionSerifed"
+selector.wHookTop = "straightAsymmetricMotionSerifed"
[prime.w.variants.straight-vertical-sides-motion-serifed]
rank = 13
description = "Straight `w` with vertical sides and motion serifs"
selector.w = "straightVerticalSidesMotionSerifed"
selector."w/sansSerif" = "straightVerticalSides"
-selector.whooktop = "straightVerticalSidesMotionSerifed"
+selector.wHookTop = "straightVerticalSidesMotionSerifed"
[prime.w.variants.cursive-motion-serifed]
rank = 14
description = "Cursive `w` with motion serifs"
selector.w = "cursiveMotionSerifed"
selector."w/sansSerif" = "cursive"
-selector.whooktop = "cursiveMotionSerifed"
+selector.wHookTop = "cursiveMotionSerifed"
@@ -4132,84 +4132,84 @@ rank = 1
description = "Letter `y` that is fully straight"
selector.y = "straight"
selector."y/sansSerif" = "straight"
-selector.yhooktop = "straight"
+selector.yHookTop = "straight"
[prime.y.variants.straight-turn]
rank = 2
description = "Letter `y` with straight upper and a tail turns leftward"
selector.y = "straightTurn"
selector."y/sansSerif" = "straightTurn"
-selector.yhooktop = "straightTurn"
+selector.yHookTop = "straightTurn"
[prime.y.variants.curly]
rank = 3
description = "More curly letter `y`, like Iosevka 2.x"
selector.y = "curly"
selector."y/sansSerif" = "curly"
-selector.yhooktop = "curly"
+selector.yHookTop = "curly"
[prime.y.variants.curly-turn]
rank = 4
description = "More curly letter `y`, like Iosevka 2.x, with a tail turns leftward"
selector.y = "curlyTurn"
selector."y/sansSerif" = "curlyTurn"
-selector.yhooktop = "curlyTurn"
+selector.yHookTop = "curlyTurn"
[prime.y.variants.cursive]
rank = 5
description = "Cursive-like `y`"
selector.y = "cursive"
selector."y/sansSerif" = "cursive"
-selector.yhooktop = "cursive"
+selector.yHookTop = "cursive"
[prime.y.variants.cursive-flat-hook]
rank = 6
description = "Cursive-like `y` with flat terminal hook"
selector.y = "cursiveFlatHook"
selector."y/sansSerif" = "cursiveFlatHook"
-selector.yhooktop = "cursiveFlatHook"
+selector.yHookTop = "cursiveFlatHook"
[prime.y.variants.straight-motion-serifed]
rank = 7
description = "Letter `y` that is fully straight, with motion serifs"
selector.y = "straightMotionSerifed"
selector."y/sansSerif" = "straight"
-selector.yhooktop = "straight"
+selector.yHookTop = "straight"
[prime.y.variants.straight-turn-motion-serifed]
rank = 8
description = "Letter `y` with straight upper and a tail turns leftward, and motion serifs"
selector.y = "straightTurnMotionSerifed"
selector."y/sansSerif" = "straightTurn"
-selector.yhooktop = "straightTurn"
+selector.yHookTop = "straightTurn"
[prime.y.variants.curly-motion-serifed]
rank = 9
description = "More curly letter `y`, like Iosevka 2.x, with motion serifs"
selector.y = "curlyMotionSerifed"
selector."y/sansSerif" = "curly"
-selector.yhooktop = "curly"
+selector.yHookTop = "curly"
[prime.y.variants.curly-turn-motion-serifed]
rank = 10
description = "More curly letter `y`, like Iosevka 2.x, with a tail turns leftward and motion serifs"
selector.y = "curlyTurnMotionSerifed"
selector."y/sansSerif" = "curlyTurn"
-selector.yhooktop = "curlyTurn"
+selector.yHookTop = "curlyTurn"
[prime.y.variants.cursive-motion-serifed]
rank = 11
description = "Cursive-like `y`, with motion serifs"
selector.y = "cursiveMotionSerifed"
selector."y/sansSerif" = "cursive"
-selector.yhooktop = "cursive"
+selector.yHookTop = "cursive"
[prime.y.variants.cursive-flat-hook-motion-serifed]
rank = 12
description = "Cursive-like `y` with flat terminal hook, and motion serifs"
selector.y = "cursiveFlatHookMotionSerifed"
selector."y/sansSerif" = "cursiveFlatHook"
-selector.yhooktop = "cursiveFlatHook"
+selector.yHookTop = "cursiveFlatHook"
@@ -4291,7 +4291,7 @@ selector.zDesc = "straightTopSerifedWithHorizontalCrossBar"
[prime.z.variants.curly-serifed]
rank = 10
-description = "Curly `z` woth top and bottom serifs"
+description = "Curly `z` with top and bottom serifs"
selector.z = "curlySerifed"
selector."z/sansSerif" = "curlySerifless"
selector."z/reduced" = "curlySerifed"
@@ -5508,10 +5508,10 @@ selector."zero/forceUnslashed" = "unslashedOval"
sampler = "1"
tag = "cv72"
-[prime.one.variants.nobase]
+[prime.one.variants.no-base]
rank = 1
description = "`1` without bottom serif"
-selector.one = "nobase"
+selector.one = "noBase"
[prime.one.variants.base]
rank = 2
@@ -5523,20 +5523,20 @@ rank = 3
description = "`1` drawn just like a straight line"
selector.one = "line"
-[prime.one.variants.nobase-long-top-serif]
+[prime.one.variants.no-base-long-top-serif]
rank = 4
description = "`1` without bottom serif and with a long top serif"
-selector.one = "nobaseLongTopSerif"
+selector.one = "noBaseLongTopSerif"
[prime.one.variants.base-long-top-serif]
rank = 5
description = "`1` with bottom serif and a long top serif"
selector.one = "baseLongTopSerif"
-[prime.one.variants.nobase-flat-top-serif]
+[prime.one.variants.no-base-flat-top-serif]
rank = 6
description = "`1` without bottom serif and with a flat top serif"
-selector.one = "nobaseFlatTopSerif"
+selector.one = "noBaseFlatTopSerif"
[prime.one.variants.base-flat-top-serif]
rank = 7
@@ -5565,15 +5565,15 @@ selector.two = "curlyNeck"
sampler = "3"
tag = "cv74"
-[prime.three.variants.flattop]
+[prime.three.variants.flat-top]
rank = 1
description = "Flat top `3` (Like Museo Sans / Montserrat)"
-selector.three = "flattop"
+selector.three = "flatTop"
-[prime.three.variants.twoarcs]
+[prime.three.variants.two-arcs]
rank = 2
description = "Arched top `3`"
-selector.three = "twoarcs"
+selector.three = "twoArcs"
@@ -6131,12 +6131,12 @@ slopeDependent = true
[prime.bar.variants.natural-slope]
rank = 1
description = "Bar punctuations (`|`) has a natural slope under italics and oblique"
-selector."bar.italic" = "naturalSlope"
+selector."bar.slanted" = "naturalSlope"
[prime.bar.variants.force-upright]
rank = 2
description = "Bar punctuations (`|`) is forced upright under italics and oblique"
-selector."bar.italic" = "forceUpright"
+selector."bar.slanted" = "forceUpright"
@@ -6312,8 +6312,8 @@ cyrl-yery = "corner"
# Digits
zero = "slashed"
two = "curly-neck"
-one = "nobase"
-three = "twoarcs"
+one = "no-base"
+three = "two-arcs"
four = "semi-open"
five = "vertical-upper-left-bar"
six = "straight-bar"
@@ -7010,7 +7010,7 @@ zero = "unslashed"
tilde = "high"
brace = "straight"
dollar = "through"
-three = "flattop"
+three = "flat-top"
at = "threefold"
one = "base"
two = "straight-neck"
@@ -7161,7 +7161,7 @@ cyrl-capital-u = "straight"
zero = "dotted"
one = "base"
two = "straight-neck"
-three = "flattop"
+three = "flat-top"
four = "semi-open-non-crossing"
seven = "straight-serifed"
paren = "flat-arc"
@@ -7303,7 +7303,7 @@ cyrl-capital-u = "straight-turn"
zero = "slashed"
one = "base"
two = "straight-neck"
-three = "flattop"
+three = "flat-top"
four = "closed"
six = "open-contour"
eight = "crossing-asymmetric"