diff --git a/.editorconfig b/.editorconfig
index 87f0ef784d..7139c4c164 100644
--- a/.editorconfig
+++ b/.editorconfig
@@ -18,6 +18,7 @@ block_comment_end = */
indent_style = space
indent_size = 2
trim_trailing_whitespace = false
+insert_final_newline = true
# The indent size used in the `package.json` file cannot be changed
# https://github.com/npm/npm/pull/3180#issuecomment-16336516
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 7836c6628e..510ddba582 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,17 +1,37 @@
## Modifications since last major version
+### 28.1.0
+
+* Add characters:
+ - LEFT VERTICAL BOX LINE (`U+23B8`) ... HORIZONTAL SCAN LINE-9 (`U+23BD`).
+ - SQUARE FOUR CORNERS (`U+26F6`).
+ - TWO JOINED SQUARES (`U+29C9`).
+ - OVERLAPPING WHITE SQUARES (`U+2BBA`).
+ - OVERLAPPING WHITE AND BLACK SQUARES (`U+2BBB`).
+ - OVERLAPPING BLACK SQUARES (`U+2BBC`).
+ - OUTLINED LATIN CAPITAL LETTER A (`U+1CCD6`) ... OUTLINED LATIN CAPITAL LETTER Z (`U+1CCEF`) (Purposed for Unicode 16; L2/21-235).
+ - OUTLINED DIGIT ZERO (`U+1CCF0`) ... OUTLINED DIGIT NINE (`U+1CCF9`) (Purposed for Unicode 16; L2/21-235).
+ - BLOCK OCTANT-3 (`U+1CD00`) ... BLOCK OCTANT-2345678 (`U+1CDE5`) (Purposed for Unicode 16; L2/21-235).
+ - LEFT HALF TRIPLE DASH HORIZONTAL (`U+1CE0D`) ... LARGE TYPE PIECE STEM-12 (`U+1CE50`) (Purposed for Unicode 16; L2/21-235).
+* Fix metrics of Cyrillic Yery (#2182).
+* Fix Italic/Upright localization forms for Serbian/Macedonian Cyrillic.
+* Add Bosnian Cyrillic localization forms based on Serbian/Macedonian.
+* Add italic form for Combining Cyrillic Letter Es-Te (U+2DF5) (#2187).
+* `zero` feature will apply to composites (#2191).
+
+
### 28.0.7
-* Make superscript/subscript/overscript Cyrillic characters obey localization forms of base letters (#2177).
-* Add IPA localization forms for Greek Lower Beta (`β`) and Chi (`χ`).
-* Add APLF variants for `U+25F0`, `U+25F3`, and `U+25F4`.
-* Make Ezh follow variants of `Z`/`z` (#1957).
-* Fix serif form for Cyrillic Lower Tall / Iotified Yat (#2178).
-* Make top serifs of Cyrillic Lower Straight U (`ү`, `ұ`) and Latin Lower Gamma (`ɣ`) respond to italics.
-* Fix leaning marks of Capital Turned/Half H (`U+2C75`, `U+2C76`, `U+A78D`, `U+A7F5`, `U+A7F6`).
-* Fix leaning marks of Wynn (`U+01BF`, `U+01F7`).
-* Fix leaning marks of Insular R (`U+A782`, `U+A783`).
-* Fix leaning marks of Greek/Latin Beta (`U+03B2`, `U+A7B4`, `U+A7B5`).
+* Make superscript/subscript/overscript Cyrillic characters obey localization forms of base letters (#2177).
+* Add IPA localization forms for Greek Lower Beta (`β`) and Chi (`χ`).
+* Add APLF variants for `U+25F0`, `U+25F3`, and `U+25F4`.
+* Make Ezh follow variants of `Z`/`z` (#1957).
+* Fix serif form for Cyrillic Lower Tall / Iotified Yat (#2178).
+* Make top serifs of Cyrillic Lower Straight U (`ү`, `ұ`) and Latin Lower Gamma (`ɣ`) respond to italics.
+* Fix leaning marks of Capital Turned/Half H (`U+2C75`, `U+2C76`, `U+A78D`, `U+A7F5`, `U+A7F6`).
+* Fix leaning marks of Wynn (`U+01BF`, `U+01F7`).
+* Fix leaning marks of Insular R (`U+A782`, `U+A783`).
+* Fix leaning marks of Greek/Latin Beta (`U+03B2`, `U+A7B4`, `U+A7B5`).
* Fix leaning marks of Greek Lower San (`U+03FB`).
diff --git a/changes/28.0.7.md b/changes/28.0.7.md
index 8a3f03a928..8027cd7535 100644
--- a/changes/28.0.7.md
+++ b/changes/28.0.7.md
@@ -1,11 +1,11 @@
-* Make superscript/subscript/overscript Cyrillic characters obey localization forms of base letters (#2177).
-* Add IPA localization forms for Greek Lower Beta (`β`) and Chi (`χ`).
-* Add APLF variants for `U+25F0`, `U+25F3`, and `U+25F4`.
-* Make Ezh follow variants of `Z`/`z` (#1957).
-* Fix serif form for Cyrillic Lower Tall / Iotified Yat (#2178).
-* Make top serifs of Cyrillic Lower Straight U (`ү`, `ұ`) and Latin Lower Gamma (`ɣ`) respond to italics.
-* Fix leaning marks of Capital Turned/Half H (`U+2C75`, `U+2C76`, `U+A78D`, `U+A7F5`, `U+A7F6`).
-* Fix leaning marks of Wynn (`U+01BF`, `U+01F7`).
-* Fix leaning marks of Insular R (`U+A782`, `U+A783`).
-* Fix leaning marks of Greek/Latin Beta (`U+03B2`, `U+A7B4`, `U+A7B5`).
-* Fix leaning marks of Greek Lower San (`U+03FB`).
+* Make superscript/subscript/overscript Cyrillic characters obey localization forms of base letters (#2177).
+* Add IPA localization forms for Greek Lower Beta (`β`) and Chi (`χ`).
+* Add APLF variants for `U+25F0`, `U+25F3`, and `U+25F4`.
+* Make Ezh follow variants of `Z`/`z` (#1957).
+* Fix serif form for Cyrillic Lower Tall / Iotified Yat (#2178).
+* Make top serifs of Cyrillic Lower Straight U (`ү`, `ұ`) and Latin Lower Gamma (`ɣ`) respond to italics.
+* Fix leaning marks of Capital Turned/Half H (`U+2C75`, `U+2C76`, `U+A78D`, `U+A7F5`, `U+A7F6`).
+* Fix leaning marks of Wynn (`U+01BF`, `U+01F7`).
+* Fix leaning marks of Insular R (`U+A782`, `U+A783`).
+* Fix leaning marks of Greek/Latin Beta (`U+03B2`, `U+A7B4`, `U+A7B5`).
+* Fix leaning marks of Greek Lower San (`U+03FB`).
diff --git a/changes/28.1.0.md b/changes/28.1.0.md
new file mode 100644
index 0000000000..d0e15cfe15
--- /dev/null
+++ b/changes/28.1.0.md
@@ -0,0 +1,16 @@
+* Add characters:
+ - LEFT VERTICAL BOX LINE (`U+23B8`) ... HORIZONTAL SCAN LINE-9 (`U+23BD`).
+ - SQUARE FOUR CORNERS (`U+26F6`).
+ - TWO JOINED SQUARES (`U+29C9`).
+ - OVERLAPPING WHITE SQUARES (`U+2BBA`).
+ - OVERLAPPING WHITE AND BLACK SQUARES (`U+2BBB`).
+ - OVERLAPPING BLACK SQUARES (`U+2BBC`).
+ - OUTLINED LATIN CAPITAL LETTER A (`U+1CCD6`) ... OUTLINED LATIN CAPITAL LETTER Z (`U+1CCEF`) (Purposed for Unicode 16; L2/21-235).
+ - OUTLINED DIGIT ZERO (`U+1CCF0`) ... OUTLINED DIGIT NINE (`U+1CCF9`) (Purposed for Unicode 16; L2/21-235).
+ - BLOCK OCTANT-3 (`U+1CD00`) ... BLOCK OCTANT-2345678 (`U+1CDE5`) (Purposed for Unicode 16; L2/21-235).
+ - LEFT HALF TRIPLE DASH HORIZONTAL (`U+1CE0D`) ... LARGE TYPE PIECE STEM-12 (`U+1CE50`) (Purposed for Unicode 16; L2/21-235).
+* Fix metrics of Cyrillic Yery (#2182).
+* Fix Italic/Upright localization forms for Serbian/Macedonian Cyrillic.
+* Add Bosnian Cyrillic localization forms based on Serbian/Macedonian.
+* Add italic form for Combining Cyrillic Letter Es-Te (U+2DF5) (#2187).
+* `zero` feature will apply to composites (#2191).
diff --git a/doc/PACKAGE-LIST.md b/doc/PACKAGE-LIST.md
index d128f928dd..1e616860e1 100644
--- a/doc/PACKAGE-LIST.md
+++ b/doc/PACKAGE-LIST.md
@@ -1,7 +1,7 @@
-# Package list of Release 28.0.7
+# Package list of Release 28.1.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.
@@ -22,146 +22,146 @@ 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 (Unhinted )
- ├ Iosevka Term Terminal Yes Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
- └ Iosevka Fixed Fixed No Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
-
-📦 Iosevka Slab — Monospace, Slab-serif Super TTC TTC
- └ Sub-packages Spacing Ligatures Downloads
- ├ Iosevka Slab Default Yes Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
- ├ Iosevka Term Slab Terminal Yes Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
- └ Iosevka Fixed Slab Fixed No Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
-
-📦 Iosevka Curly — Monospace, Curly Style Super TTC TTC
- └ Sub-packages Spacing Ligatures Downloads
- ├ Iosevka Curly Default Yes Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
- ├ Iosevka Term Curly Terminal Yes Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
- └ Iosevka Fixed Curly Fixed No Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
-
-📦 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 (Unhinted )
- ├ Iosevka Term Curly Slab Terminal Yes Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
- └ Iosevka Fixed Curly Slab Fixed No Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
-
-📦 Iosevka SS01 — Monospace, Andale Mono Style Super TTC TTC
- └ Sub-packages Spacing Ligatures Downloads
- ├ Iosevka SS01 Default Yes Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
- ├ Iosevka Term SS01 Terminal Yes Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
- └ Iosevka Fixed SS01 Fixed No Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
-
-📦 Iosevka SS02 — Monospace, Anonymous Pro Style Super TTC TTC
- └ Sub-packages Spacing Ligatures Downloads
- ├ Iosevka SS02 Default Yes Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
- ├ Iosevka Term SS02 Terminal Yes Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
- └ Iosevka Fixed SS02 Fixed No Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
-
-📦 Iosevka SS03 — Monospace, Consolas Style Super TTC TTC
- └ Sub-packages Spacing Ligatures Downloads
- ├ Iosevka SS03 Default Yes Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
- ├ Iosevka Term SS03 Terminal Yes Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
- └ Iosevka Fixed SS03 Fixed No Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
-
-📦 Iosevka SS04 — Monospace, Menlo Style Super TTC TTC
- └ Sub-packages Spacing Ligatures Downloads
- ├ Iosevka SS04 Default Yes Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
- ├ Iosevka Term SS04 Terminal Yes Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
- └ Iosevka Fixed SS04 Fixed No Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
-
-📦 Iosevka SS05 — Monospace, Fira Mono Style Super TTC TTC
- └ Sub-packages Spacing Ligatures Downloads
- ├ Iosevka SS05 Default Yes Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
- ├ Iosevka Term SS05 Terminal Yes Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
- └ Iosevka Fixed SS05 Fixed No Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
-
-📦 Iosevka SS06 — Monospace, Liberation Mono Style Super TTC TTC
- └ Sub-packages Spacing Ligatures Downloads
- ├ Iosevka SS06 Default Yes Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
- ├ Iosevka Term SS06 Terminal Yes Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
- └ Iosevka Fixed SS06 Fixed No Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
-
-📦 Iosevka SS07 — Monospace, Monaco Style Super TTC TTC
- └ Sub-packages Spacing Ligatures Downloads
- ├ Iosevka SS07 Default Yes Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
- ├ Iosevka Term SS07 Terminal Yes Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
- └ Iosevka Fixed SS07 Fixed No Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
-
-📦 Iosevka SS08 — Monospace, Pragmata Pro Style Super TTC TTC
- └ Sub-packages Spacing Ligatures Downloads
- ├ Iosevka SS08 Default Yes Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
- ├ Iosevka Term SS08 Terminal Yes Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
- └ Iosevka Fixed SS08 Fixed No Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
-
-📦 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 (Unhinted )
- ├ Iosevka Term SS09 Terminal Yes Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
- └ Iosevka Fixed SS09 Fixed No Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
-
-📦 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 (Unhinted )
- ├ Iosevka Term SS10 Terminal Yes Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
- └ Iosevka Fixed SS10 Fixed No Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
-
-📦 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 (Unhinted )
- ├ Iosevka Term SS11 Terminal Yes Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
- └ Iosevka Fixed SS11 Fixed No Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
-
-📦 Iosevka SS12 — Monospace, Ubuntu Mono Style Super TTC TTC
- └ Sub-packages Spacing Ligatures Downloads
- ├ Iosevka SS12 Default Yes Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
- ├ Iosevka Term SS12 Terminal Yes Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
- └ Iosevka Fixed SS12 Fixed No Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
-
-📦 Iosevka SS13 — Monospace, Lucida Style Super TTC TTC
- └ Sub-packages Spacing Ligatures Downloads
- ├ Iosevka SS13 Default Yes Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
- ├ Iosevka Term SS13 Terminal Yes Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
- └ Iosevka Fixed SS13 Fixed No Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
-
-📦 Iosevka SS14 — Monospace, JetBrains Mono Style Super TTC TTC
- └ Sub-packages Spacing Ligatures Downloads
- ├ Iosevka SS14 Default Yes Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
- ├ Iosevka Term SS14 Terminal Yes Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
- └ Iosevka Fixed SS14 Fixed No Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
-
-📦 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 (Unhinted )
- ├ Iosevka Term SS15 Terminal Yes Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
- └ Iosevka Fixed SS15 Fixed No Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
-
-📦 Iosevka SS16 — Monospace, PT Mono Style Super TTC TTC
- └ Sub-packages Spacing Ligatures Downloads
- ├ Iosevka SS16 Default Yes Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
- ├ Iosevka Term SS16 Terminal Yes Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
- └ Iosevka Fixed SS16 Fixed No Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
-
-📦 Iosevka SS17 — Monospace, Recursive Mono Style Super TTC TTC
- └ Sub-packages Spacing Ligatures Downloads
- ├ Iosevka SS17 Default Yes Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
- ├ Iosevka Term SS17 Terminal Yes Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
- └ Iosevka Fixed SS17 Fixed No Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
-
-📦 Iosevka SS18 — Monospace, Input Mono Style Super TTC TTC
- └ Sub-packages Spacing Ligatures Downloads
- ├ Iosevka SS18 Default Yes Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
- ├ Iosevka Term SS18 Terminal Yes Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
- └ Iosevka Fixed SS18 Fixed No Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
-
+📦 Iosevka — Monospace, Default Super TTC TTC
+ └ Sub-packages Spacing Ligatures Downloads
+ ├ Iosevka Default Yes Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
+ ├ Iosevka Term Terminal Yes Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
+ └ Iosevka Fixed Fixed No Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
+
+📦 Iosevka Slab — Monospace, Slab-serif Super TTC TTC
+ └ Sub-packages Spacing Ligatures Downloads
+ ├ Iosevka Slab Default Yes Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
+ ├ Iosevka Term Slab Terminal Yes Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
+ └ Iosevka Fixed Slab Fixed No Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
+
+📦 Iosevka Curly — Monospace, Curly Style Super TTC TTC
+ └ Sub-packages Spacing Ligatures Downloads
+ ├ Iosevka Curly Default Yes Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
+ ├ Iosevka Term Curly Terminal Yes Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
+ └ Iosevka Fixed Curly Fixed No Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
+
+📦 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 (Unhinted )
+ ├ Iosevka Term Curly Slab Terminal Yes Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
+ └ Iosevka Fixed Curly Slab Fixed No Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
+
+📦 Iosevka SS01 — Monospace, Andale Mono Style Super TTC TTC
+ └ Sub-packages Spacing Ligatures Downloads
+ ├ Iosevka SS01 Default Yes Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
+ ├ Iosevka Term SS01 Terminal Yes Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
+ └ Iosevka Fixed SS01 Fixed No Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
+
+📦 Iosevka SS02 — Monospace, Anonymous Pro Style Super TTC TTC
+ └ Sub-packages Spacing Ligatures Downloads
+ ├ Iosevka SS02 Default Yes Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
+ ├ Iosevka Term SS02 Terminal Yes Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
+ └ Iosevka Fixed SS02 Fixed No Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
+
+📦 Iosevka SS03 — Monospace, Consolas Style Super TTC TTC
+ └ Sub-packages Spacing Ligatures Downloads
+ ├ Iosevka SS03 Default Yes Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
+ ├ Iosevka Term SS03 Terminal Yes Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
+ └ Iosevka Fixed SS03 Fixed No Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
+
+📦 Iosevka SS04 — Monospace, Menlo Style Super TTC TTC
+ └ Sub-packages Spacing Ligatures Downloads
+ ├ Iosevka SS04 Default Yes Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
+ ├ Iosevka Term SS04 Terminal Yes Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
+ └ Iosevka Fixed SS04 Fixed No Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
+
+📦 Iosevka SS05 — Monospace, Fira Mono Style Super TTC TTC
+ └ Sub-packages Spacing Ligatures Downloads
+ ├ Iosevka SS05 Default Yes Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
+ ├ Iosevka Term SS05 Terminal Yes Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
+ └ Iosevka Fixed SS05 Fixed No Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
+
+📦 Iosevka SS06 — Monospace, Liberation Mono Style Super TTC TTC
+ └ Sub-packages Spacing Ligatures Downloads
+ ├ Iosevka SS06 Default Yes Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
+ ├ Iosevka Term SS06 Terminal Yes Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
+ └ Iosevka Fixed SS06 Fixed No Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
+
+📦 Iosevka SS07 — Monospace, Monaco Style Super TTC TTC
+ └ Sub-packages Spacing Ligatures Downloads
+ ├ Iosevka SS07 Default Yes Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
+ ├ Iosevka Term SS07 Terminal Yes Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
+ └ Iosevka Fixed SS07 Fixed No Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
+
+📦 Iosevka SS08 — Monospace, Pragmata Pro Style Super TTC TTC
+ └ Sub-packages Spacing Ligatures Downloads
+ ├ Iosevka SS08 Default Yes Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
+ ├ Iosevka Term SS08 Terminal Yes Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
+ └ Iosevka Fixed SS08 Fixed No Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
+
+📦 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 (Unhinted )
+ ├ Iosevka Term SS09 Terminal Yes Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
+ └ Iosevka Fixed SS09 Fixed No Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
+
+📦 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 (Unhinted )
+ ├ Iosevka Term SS10 Terminal Yes Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
+ └ Iosevka Fixed SS10 Fixed No Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
+
+📦 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 (Unhinted )
+ ├ Iosevka Term SS11 Terminal Yes Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
+ └ Iosevka Fixed SS11 Fixed No Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
+
+📦 Iosevka SS12 — Monospace, Ubuntu Mono Style Super TTC TTC
+ └ Sub-packages Spacing Ligatures Downloads
+ ├ Iosevka SS12 Default Yes Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
+ ├ Iosevka Term SS12 Terminal Yes Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
+ └ Iosevka Fixed SS12 Fixed No Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
+
+📦 Iosevka SS13 — Monospace, Lucida Style Super TTC TTC
+ └ Sub-packages Spacing Ligatures Downloads
+ ├ Iosevka SS13 Default Yes Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
+ ├ Iosevka Term SS13 Terminal Yes Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
+ └ Iosevka Fixed SS13 Fixed No Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
+
+📦 Iosevka SS14 — Monospace, JetBrains Mono Style Super TTC TTC
+ └ Sub-packages Spacing Ligatures Downloads
+ ├ Iosevka SS14 Default Yes Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
+ ├ Iosevka Term SS14 Terminal Yes Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
+ └ Iosevka Fixed SS14 Fixed No Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
+
+📦 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 (Unhinted )
+ ├ Iosevka Term SS15 Terminal Yes Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
+ └ Iosevka Fixed SS15 Fixed No Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
+
+📦 Iosevka SS16 — Monospace, PT Mono Style Super TTC TTC
+ └ Sub-packages Spacing Ligatures Downloads
+ ├ Iosevka SS16 Default Yes Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
+ ├ Iosevka Term SS16 Terminal Yes Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
+ └ Iosevka Fixed SS16 Fixed No Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
+
+📦 Iosevka SS17 — Monospace, Recursive Mono Style Super TTC TTC
+ └ Sub-packages Spacing Ligatures Downloads
+ ├ Iosevka SS17 Default Yes Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
+ ├ Iosevka Term SS17 Terminal Yes Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
+ └ Iosevka Fixed SS17 Fixed No Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
+
+📦 Iosevka SS18 — Monospace, Input Mono Style Super TTC TTC
+ └ Sub-packages Spacing Ligatures Downloads
+ ├ Iosevka SS18 Default Yes Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
+ ├ Iosevka Term SS18 Terminal Yes Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
+ └ Iosevka Fixed SS18 Fixed No Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
+
📦 Iosevka Aile — Quasi-proportional, Sans-serif
└ Sub-packages Spacing Ligatures Downloads
- └ Iosevka Aile Default No Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
-
+ └ Iosevka Aile Default No Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
+
📦 Iosevka Etoile — Quasi-proportional, Slab-serif
└ Sub-packages Spacing Ligatures Downloads
- └ Iosevka Etoile Default No Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
-
+ └ Iosevka Etoile Default No Super TTC TTC TTF (Unhinted )WebFont (Unhinted )
+
diff --git a/doc/cv-influences.md b/doc/cv-influences.md
index 2ac6fa8b1f..fa65b3b1dd 100644
--- a/doc/cv-influences.md
+++ b/doc/cv-influences.md
@@ -5,103 +5,103 @@
- `cv01`:
- A (`U+0041`), À (`U+00C0`), Á (`U+00C1`), Â (`U+00C2`), Ã (`U+00C3`), Ä (`U+00C4`), Å (`U+00C5`), Æ (`U+00C6`), Ā (`U+0100`), Ă (`U+0102`), Ą (`U+0104`), Ǎ (`U+01CD`), Ǟ (`U+01DE`), Ǡ (`U+01E0`), Ǣ (`U+01E2`), Ǻ (`U+01FA`), Ǽ (`U+01FC`), Ȁ (`U+0200`), Ȃ (`U+0202`), Ȧ (`U+0226`), Ⱥ (`U+023A`), Ά (`U+0386`), Α (`U+0391`), А (`U+0410`), Ӑ (`U+04D0`), Ӓ (`U+04D2`), Ӕ (`U+04D4`), ᴀ (`U+1D00`), ᴁ (`U+1D01`), ᴬ (`U+1D2C`), ᴭ (`U+1D2D`), Ḁ (`U+1E00`), Ạ (`U+1EA0`), Ả (`U+1EA2`), Ấ (`U+1EA4`), Ầ (`U+1EA6`), Ẩ (`U+1EA8`), Ẫ (`U+1EAA`), Ậ (`U+1EAC`), Ắ (`U+1EAE`), Ằ (`U+1EB0`), Ẳ (`U+1EB2`), Ẵ (`U+1EB4`), Ặ (`U+1EB6`), Ἀ (`U+1F08`), Ἁ (`U+1F09`), Ἂ (`U+1F0A`), Ἃ (`U+1F0B`), Ἄ (`U+1F0C`), Ἅ (`U+1F0D`), Ἆ (`U+1F0E`), Ἇ (`U+1F0F`), ᾈ (`U+1F88`), ᾉ (`U+1F89`), ᾊ (`U+1F8A`), ᾋ (`U+1F8B`), ᾌ (`U+1F8C`), ᾍ (`U+1F8D`), ᾎ (`U+1F8E`), ᾏ (`U+1F8F`), Ᾰ (`U+1FB8`), Ᾱ (`U+1FB9`), Ὰ (`U+1FBA`), Ά (`U+1FBB`), ᾼ (`U+1FBC`), ₳ (`U+20B3`), Å (`U+212B`), ℻ (`U+213B`), ⅍ (`U+214D`), ␆ (`U+2406`), ␕ (`U+2415`), ␘ (`U+2418`), Ⓐ (`U+24B6`), Ɐ (`U+2C6F`), Ꙗ (`U+A656`), Ꜳ (`U+A732`), Ꜵ (`U+A734`), Ꜷ (`U+A736`), Ꞻ (`U+A7BA`), 𐞀 (`U+10780`), 𝐀 (`U+1D400`), 𝐴 (`U+1D434`), 𝑨 (`U+1D468`), 𝖠 (`U+1D5A0`), 𝗔 (`U+1D5D4`), 𝘈 (`U+1D608`), 𝘼 (`U+1D63C`), 𝙰 (`U+1D670`), 𝚨 (`U+1D6A8`), 𝛢 (`U+1D6E2`), 𝜜 (`U+1D71C`), 𝝖 (`U+1D756`), 𝞐 (`U+1D790`), 🄐 (`U+1F110`), 🄰 (`U+1F130`), 🅐 (`U+1F150`), 🅰 (`U+1F170`), 🆌 (`U+1F18C`), 🆍 (`U+1F18D`), 🆎 (`U+1F18E`)
+ A (`U+0041`), À (`U+00C0`), Á (`U+00C1`), Â (`U+00C2`), Ã (`U+00C3`), Ä (`U+00C4`), Å (`U+00C5`), Æ (`U+00C6`), Ā (`U+0100`), Ă (`U+0102`), Ą (`U+0104`), Ǎ (`U+01CD`), Ǟ (`U+01DE`), Ǡ (`U+01E0`), Ǣ (`U+01E2`), Ǻ (`U+01FA`), Ǽ (`U+01FC`), Ȁ (`U+0200`), Ȃ (`U+0202`), Ȧ (`U+0226`), Ⱥ (`U+023A`), Ά (`U+0386`), Α (`U+0391`), А (`U+0410`), Ӑ (`U+04D0`), Ӓ (`U+04D2`), Ӕ (`U+04D4`), ᴀ (`U+1D00`), ᴁ (`U+1D01`), ᴬ (`U+1D2C`), ᴭ (`U+1D2D`), Ḁ (`U+1E00`), Ạ (`U+1EA0`), Ả (`U+1EA2`), Ấ (`U+1EA4`), Ầ (`U+1EA6`), Ẩ (`U+1EA8`), Ẫ (`U+1EAA`), Ậ (`U+1EAC`), Ắ (`U+1EAE`), Ằ (`U+1EB0`), Ẳ (`U+1EB2`), Ẵ (`U+1EB4`), Ặ (`U+1EB6`), Ἀ (`U+1F08`), Ἁ (`U+1F09`), Ἂ (`U+1F0A`), Ἃ (`U+1F0B`), Ἄ (`U+1F0C`), Ἅ (`U+1F0D`), Ἆ (`U+1F0E`), Ἇ (`U+1F0F`), ᾈ (`U+1F88`), ᾉ (`U+1F89`), ᾊ (`U+1F8A`), ᾋ (`U+1F8B`), ᾌ (`U+1F8C`), ᾍ (`U+1F8D`), ᾎ (`U+1F8E`), ᾏ (`U+1F8F`), Ᾰ (`U+1FB8`), Ᾱ (`U+1FB9`), Ὰ (`U+1FBA`), Ά (`U+1FBB`), ᾼ (`U+1FBC`), ₳ (`U+20B3`), Å (`U+212B`), ℻ (`U+213B`), ⅍ (`U+214D`), ␆ (`U+2406`), ␕ (`U+2415`), ␘ (`U+2418`), Ⓐ (`U+24B6`), Ɐ (`U+2C6F`), Ꙗ (`U+A656`), Ꜳ (`U+A732`), Ꜵ (`U+A734`), Ꜷ (`U+A736`), Ꞻ (`U+A7BA`), 𐞀 (`U+10780`), (`U+1CCD6`), 𝐀 (`U+1D400`), 𝐴 (`U+1D434`), 𝑨 (`U+1D468`), 𝖠 (`U+1D5A0`), 𝗔 (`U+1D5D4`), 𝘈 (`U+1D608`), 𝘼 (`U+1D63C`), 𝙰 (`U+1D670`), 𝚨 (`U+1D6A8`), 𝛢 (`U+1D6E2`), 𝜜 (`U+1D71C`), 𝝖 (`U+1D756`), 𝞐 (`U+1D790`), 🄐 (`U+1F110`), 🄰 (`U+1F130`), 🅐 (`U+1F150`), 🅰 (`U+1F170`), 🆌 (`U+1F18C`), 🆍 (`U+1F18D`), 🆎 (`U+1F18E`)
- `cv02`:
- B (`U+0042`), Ɓ (`U+0181`), Ƀ (`U+0243`), ʙ (`U+0299`), Β (`U+0392`), В (`U+0412`), в (`U+0432`), ฿ (`U+0E3F`), ᴃ (`U+1D03`), ᴮ (`U+1D2E`), ᴯ (`U+1D2F`), Ḃ (`U+1E02`), Ḅ (`U+1E04`), Ḇ (`U+1E06`), ₿ (`U+20BF`), ␇ (`U+2407`), ␈ (`U+2408`), ␗ (`U+2417`), ␚ (`U+241A`), Ⓑ (`U+24B7`), ⷡ (`U+2DE1`), Ꞵ (`U+A7B4`),  (`U+FFFC`), 𐞄 (`U+10784`), 𝐁 (`U+1D401`), 𝐵 (`U+1D435`), 𝑩 (`U+1D469`), 𝖡 (`U+1D5A1`), 𝗕 (`U+1D5D5`), 𝘉 (`U+1D609`), 𝘽 (`U+1D63D`), 𝙱 (`U+1D671`), 𝚩 (`U+1D6A9`), 𝛣 (`U+1D6E3`), 𝜝 (`U+1D71D`), 𝝗 (`U+1D757`), 𝞑 (`U+1D791`), 𞀲 (`U+1E032`), 𞁓 (`U+1E053`), 🄑 (`U+1F111`), 🄱 (`U+1F131`), 🅑 (`U+1F151`), 🅱 (`U+1F171`), 🆎 (`U+1F18E`)
+ B (`U+0042`), Ɓ (`U+0181`), Ƀ (`U+0243`), ʙ (`U+0299`), Β (`U+0392`), В (`U+0412`), в (`U+0432`), ฿ (`U+0E3F`), ᴃ (`U+1D03`), ᴮ (`U+1D2E`), ᴯ (`U+1D2F`), Ḃ (`U+1E02`), Ḅ (`U+1E04`), Ḇ (`U+1E06`), ₿ (`U+20BF`), ␇ (`U+2407`), ␈ (`U+2408`), ␗ (`U+2417`), ␚ (`U+241A`), Ⓑ (`U+24B7`), ⷡ (`U+2DE1`), Ꞵ (`U+A7B4`),  (`U+FFFC`), 𐞄 (`U+10784`), (`U+1CCD7`), 𝐁 (`U+1D401`), 𝐵 (`U+1D435`), 𝑩 (`U+1D469`), 𝖡 (`U+1D5A1`), 𝗕 (`U+1D5D5`), 𝘉 (`U+1D609`), 𝘽 (`U+1D63D`), 𝙱 (`U+1D671`), 𝚩 (`U+1D6A9`), 𝛣 (`U+1D6E3`), 𝜝 (`U+1D71D`), 𝝗 (`U+1D757`), 𝞑 (`U+1D791`), 𞀲 (`U+1E032`), 𞁓 (`U+1E053`), 🄑 (`U+1F111`), 🄱 (`U+1F131`), 🅑 (`U+1F151`), 🅱 (`U+1F171`), 🆎 (`U+1F18E`)
- `cv03`:
- C (`U+0043`), © (`U+00A9`), Ç (`U+00C7`), Ć (`U+0106`), Ĉ (`U+0108`), Ċ (`U+010A`), Č (`U+010C`), Ɔ (`U+0186`), Ƈ (`U+0187`), Ə (`U+018F`), Ȼ (`U+023B`), Ϲ (`U+03F9`), Ͻ (`U+03FD`), Ͼ (`U+03FE`), Ͽ (`U+03FF`), Є (`U+0404`), С (`U+0421`), Э (`U+042D`), Ѥ (`U+0464`), Ҁ (`U+0480`), Ҫ (`U+04AA`), Ҽ (`U+04BC`), Ҿ (`U+04BE`), Ә (`U+04D8`), Ӛ (`U+04DA`), Ӭ (`U+04EC`), Ԍ (`U+050C`), ᴄ (`U+1D04`), ᴐ (`U+1D10`), Ḉ (`U+1E08`), ₡ (`U+20A1`), € (`U+20AC`), ₵ (`U+20B5`), ℃ (`U+2103`), ℈ (`U+2108`), Ⅽ (`U+216D`), Ↄ (`U+2183`), ↅ (`U+2185`), ␆ (`U+2406`), ␍ (`U+240D`), ␑ (`U+2411`), ␒ (`U+2412`), ␓ (`U+2413`), ␔ (`U+2414`), ␘ (`U+2418`), ␛ (`U+241B`), Ⓒ (`U+24B8`), Ꜿ (`U+A73E`), Ꞓ (`U+A792`), Ꞔ (`U+A7C4`), ꟲ (`U+A7F2`), (`U+E0A3`), 𝐂 (`U+1D402`), 𝐶 (`U+1D436`), 𝑪 (`U+1D46A`), 𝖢 (`U+1D5A2`), 𝗖 (`U+1D5D6`), 𝘊 (`U+1D60A`), 𝘾 (`U+1D63E`), 𝙲 (`U+1D672`), 🄒 (`U+1F112`), 🄫 (`U+1F12B`), 🄭 (`U+1F12D`), 🄯 (`U+1F12F`), 🄲 (`U+1F132`), 🅏 (`U+1F14F`), 🅒 (`U+1F152`), 🅪 (`U+1F16A`), 🅭 (`U+1F16D`), 🅮 (`U+1F16E`), 🅲 (`U+1F172`), 🆋 (`U+1F18B`), 🆏 (`U+1F18F`), 🆑 (`U+1F191`), 🆒 (`U+1F192`), 🆜 (`U+1F19C`), 🆦 (`U+1F1A6`)
+ C (`U+0043`), © (`U+00A9`), Ç (`U+00C7`), Ć (`U+0106`), Ĉ (`U+0108`), Ċ (`U+010A`), Č (`U+010C`), Ɔ (`U+0186`), Ƈ (`U+0187`), Ə (`U+018F`), Ȼ (`U+023B`), Ϲ (`U+03F9`), Ͻ (`U+03FD`), Ͼ (`U+03FE`), Ͽ (`U+03FF`), Є (`U+0404`), С (`U+0421`), Э (`U+042D`), Ѥ (`U+0464`), Ҁ (`U+0480`), Ҫ (`U+04AA`), Ҽ (`U+04BC`), Ҿ (`U+04BE`), Ә (`U+04D8`), Ӛ (`U+04DA`), Ӭ (`U+04EC`), Ԍ (`U+050C`), ᴄ (`U+1D04`), ᴐ (`U+1D10`), Ḉ (`U+1E08`), ₡ (`U+20A1`), € (`U+20AC`), ₵ (`U+20B5`), ℃ (`U+2103`), ℈ (`U+2108`), Ⅽ (`U+216D`), Ↄ (`U+2183`), ↅ (`U+2185`), ␆ (`U+2406`), ␍ (`U+240D`), ␑ (`U+2411`), ␒ (`U+2412`), ␓ (`U+2413`), ␔ (`U+2414`), ␘ (`U+2418`), ␛ (`U+241B`), Ⓒ (`U+24B8`), Ꜿ (`U+A73E`), Ꞓ (`U+A792`), Ꞔ (`U+A7C4`), ꟲ (`U+A7F2`), (`U+E0A3`), (`U+1CCD8`), 𝐂 (`U+1D402`), 𝐶 (`U+1D436`), 𝑪 (`U+1D46A`), 𝖢 (`U+1D5A2`), 𝗖 (`U+1D5D6`), 𝘊 (`U+1D60A`), 𝘾 (`U+1D63E`), 𝙲 (`U+1D672`), 🄒 (`U+1F112`), 🄫 (`U+1F12B`), 🄭 (`U+1F12D`), 🄯 (`U+1F12F`), 🄲 (`U+1F132`), 🅏 (`U+1F14F`), 🅒 (`U+1F152`), 🅪 (`U+1F16A`), 🅭 (`U+1F16D`), 🅮 (`U+1F16E`), 🅲 (`U+1F172`), 🆋 (`U+1F18B`), 🆏 (`U+1F18F`), 🆑 (`U+1F191`), 🆒 (`U+1F192`), 🆜 (`U+1F19C`), 🆦 (`U+1F1A6`)
- `cv04`:
- D (`U+0044`), Ð (`U+00D0`), Ď (`U+010E`), Đ (`U+0110`), Ɖ (`U+0189`), Ɗ (`U+018A`), DŽ (`U+01C4`), Dž (`U+01C5`), DZ (`U+01F1`), Dz (`U+01F2`), ᴅ (`U+1D05`), ᴆ (`U+1D06`), ᴰ (`U+1D30`), Ḋ (`U+1E0A`), Ḍ (`U+1E0C`), Ḏ (`U+1E0E`), Ḑ (`U+1E10`), Ḓ (`U+1E12`), ₯ (`U+20AF`), Ⅾ (`U+216E`), ↁ (`U+2181`), ↇ (`U+2187`), ␐ (`U+2410`), ␑ (`U+2411`), ␒ (`U+2412`), ␓ (`U+2413`), ␔ (`U+2414`), ␡ (`U+2421`), Ⓓ (`U+24B9`), Ꟈ (`U+A7C7`), 𝐃 (`U+1D403`), 𝐷 (`U+1D437`), 𝑫 (`U+1D46B`), 𝖣 (`U+1D5A3`), 𝗗 (`U+1D5D7`), 𝘋 (`U+1D60B`), 𝘿 (`U+1D63F`), 𝙳 (`U+1D673`), 🄓 (`U+1F113`), 🄭 (`U+1F12D`), 🄳 (`U+1F133`), 🅌 (`U+1F14C`), 🅓 (`U+1F153`), 🅫 (`U+1F16B`), 🅳 (`U+1F173`), 🆐 (`U+1F190`), 🆔 (`U+1F194`), 🆛 (`U+1F19B`), 🆜 (`U+1F19C`), 🆧 (`U+1F1A7`), 🆫 (`U+1F1AB`), 🆬 (`U+1F1AC`)
+ D (`U+0044`), Ð (`U+00D0`), Ď (`U+010E`), Đ (`U+0110`), Ɖ (`U+0189`), Ɗ (`U+018A`), DŽ (`U+01C4`), Dž (`U+01C5`), DZ (`U+01F1`), Dz (`U+01F2`), ᴅ (`U+1D05`), ᴆ (`U+1D06`), ᴰ (`U+1D30`), Ḋ (`U+1E0A`), Ḍ (`U+1E0C`), Ḏ (`U+1E0E`), Ḑ (`U+1E10`), Ḓ (`U+1E12`), ₯ (`U+20AF`), Ⅾ (`U+216E`), ↁ (`U+2181`), ↇ (`U+2187`), ␐ (`U+2410`), ␑ (`U+2411`), ␒ (`U+2412`), ␓ (`U+2413`), ␔ (`U+2414`), ␡ (`U+2421`), Ⓓ (`U+24B9`), Ꟈ (`U+A7C7`), (`U+1CCD9`), 𝐃 (`U+1D403`), 𝐷 (`U+1D437`), 𝑫 (`U+1D46B`), 𝖣 (`U+1D5A3`), 𝗗 (`U+1D5D7`), 𝘋 (`U+1D60B`), 𝘿 (`U+1D63F`), 𝙳 (`U+1D673`), 🄓 (`U+1F113`), 🄭 (`U+1F12D`), 🄳 (`U+1F133`), 🅌 (`U+1F14C`), 🅓 (`U+1F153`), 🅫 (`U+1F16B`), 🅳 (`U+1F173`), 🆐 (`U+1F190`), 🆔 (`U+1F194`), 🆛 (`U+1F19B`), 🆜 (`U+1F19C`), 🆧 (`U+1F1A7`), 🆫 (`U+1F1AB`), 🆬 (`U+1F1AC`)
- `cv05`:
- E (`U+0045`), Æ (`U+00C6`), È (`U+00C8`), É (`U+00C9`), Ê (`U+00CA`), Ë (`U+00CB`), Ē (`U+0112`), Ĕ (`U+0114`), Ė (`U+0116`), Ę (`U+0118`), Ě (`U+011A`), Œ (`U+0152`), Ǝ (`U+018E`), Ǣ (`U+01E2`), Ǽ (`U+01FC`), Ȅ (`U+0204`), Ȇ (`U+0206`), Ȩ (`U+0228`), Ɇ (`U+0246`), ɶ (`U+0276`), Έ (`U+0388`), Ε (`U+0395`), Ѐ (`U+0400`), Ё (`U+0401`), Е (`U+0415`), Ӕ (`U+04D4`), Ӗ (`U+04D6`), Ԙ (`U+0518`), ᴁ (`U+1D01`), ᴇ (`U+1D07`), ᴭ (`U+1D2D`), ᴱ (`U+1D31`), ᴲ (`U+1D32`), Ḕ (`U+1E14`), Ḗ (`U+1E16`), Ḙ (`U+1E18`), Ḛ (`U+1E1A`), Ḝ (`U+1E1C`), Ẹ (`U+1EB8`), Ẻ (`U+1EBA`), Ẽ (`U+1EBC`), Ế (`U+1EBE`), Ề (`U+1EC0`), Ể (`U+1EC2`), Ễ (`U+1EC4`), Ệ (`U+1EC6`), Ἐ (`U+1F18`), Ἑ (`U+1F19`), Ἒ (`U+1F1A`), Ἓ (`U+1F1B`), Ἔ (`U+1F1C`), Ἕ (`U+1F1D`), Ὲ (`U+1FC8`), Έ (`U+1FC9`), ℡ (`U+2121`), ␃ (`U+2403`), ␄ (`U+2404`), ␅ (`U+2405`), ␇ (`U+2407`), ␐ (`U+2410`), ␗ (`U+2417`), ␙ (`U+2419`), ␛ (`U+241B`), ␡ (`U+2421`), Ⓔ (`U+24BA`), ⱻ (`U+2C7B`), 𐞣 (`U+107A3`), 𝐄 (`U+1D404`), 𝐸 (`U+1D438`), 𝑬 (`U+1D46C`), 𝖤 (`U+1D5A4`), 𝗘 (`U+1D5D8`), 𝘌 (`U+1D60C`), 𝙀 (`U+1D640`), 𝙴 (`U+1D674`), 𝚬 (`U+1D6AC`), 𝛦 (`U+1D6E6`), 𝜠 (`U+1D720`), 𝝚 (`U+1D75A`), 𝞔 (`U+1D794`), 🄔 (`U+1F114`), 🄴 (`U+1F134`), 🅔 (`U+1F154`), 🅴 (`U+1F174`), 🆓 (`U+1F193`), 🆕 (`U+1F195`), 🆨 (`U+1F1A8`), 🆩 (`U+1F1A9`)
+ E (`U+0045`), Æ (`U+00C6`), È (`U+00C8`), É (`U+00C9`), Ê (`U+00CA`), Ë (`U+00CB`), Ē (`U+0112`), Ĕ (`U+0114`), Ė (`U+0116`), Ę (`U+0118`), Ě (`U+011A`), Œ (`U+0152`), Ǝ (`U+018E`), Ǣ (`U+01E2`), Ǽ (`U+01FC`), Ȅ (`U+0204`), Ȇ (`U+0206`), Ȩ (`U+0228`), Ɇ (`U+0246`), ɶ (`U+0276`), Έ (`U+0388`), Ε (`U+0395`), Ѐ (`U+0400`), Ё (`U+0401`), Е (`U+0415`), Ӕ (`U+04D4`), Ӗ (`U+04D6`), Ԙ (`U+0518`), ᴁ (`U+1D01`), ᴇ (`U+1D07`), ᴭ (`U+1D2D`), ᴱ (`U+1D31`), ᴲ (`U+1D32`), Ḕ (`U+1E14`), Ḗ (`U+1E16`), Ḙ (`U+1E18`), Ḛ (`U+1E1A`), Ḝ (`U+1E1C`), Ẹ (`U+1EB8`), Ẻ (`U+1EBA`), Ẽ (`U+1EBC`), Ế (`U+1EBE`), Ề (`U+1EC0`), Ể (`U+1EC2`), Ễ (`U+1EC4`), Ệ (`U+1EC6`), Ἐ (`U+1F18`), Ἑ (`U+1F19`), Ἒ (`U+1F1A`), Ἓ (`U+1F1B`), Ἔ (`U+1F1C`), Ἕ (`U+1F1D`), Ὲ (`U+1FC8`), Έ (`U+1FC9`), ℡ (`U+2121`), ␃ (`U+2403`), ␄ (`U+2404`), ␅ (`U+2405`), ␇ (`U+2407`), ␐ (`U+2410`), ␗ (`U+2417`), ␙ (`U+2419`), ␛ (`U+241B`), ␡ (`U+2421`), Ⓔ (`U+24BA`), ⱻ (`U+2C7B`), 𐞣 (`U+107A3`), (`U+1CCDA`), 𝐄 (`U+1D404`), 𝐸 (`U+1D438`), 𝑬 (`U+1D46C`), 𝖤 (`U+1D5A4`), 𝗘 (`U+1D5D8`), 𝘌 (`U+1D60C`), 𝙀 (`U+1D640`), 𝙴 (`U+1D674`), 𝚬 (`U+1D6AC`), 𝛦 (`U+1D6E6`), 𝜠 (`U+1D720`), 𝝚 (`U+1D75A`), 𝞔 (`U+1D794`), 🄔 (`U+1F114`), 🄴 (`U+1F134`), 🅔 (`U+1F154`), 🅴 (`U+1F174`), 🆓 (`U+1F193`), 🆕 (`U+1F195`), 🆨 (`U+1F1A8`), 🆩 (`U+1F1A9`)
- `cv06`:
- F (`U+0046`), Ƒ (`U+0191`), Ḟ (`U+1E1E`), ₣ (`U+20A3`), ℉ (`U+2109`), Ⅎ (`U+2132`), ℻ (`U+213B`), ⅎ (`U+214E`), ␊ (`U+240A`), ␌ (`U+240C`), ␜ (`U+241C`), Ⓕ (`U+24BB`), ꜰ (`U+A730`), Ꞙ (`U+A798`), ꟳ (`U+A7F3`), ꟻ (`U+A7FB`), 𝐅 (`U+1D405`), 𝐹 (`U+1D439`), 𝑭 (`U+1D46D`), 𝖥 (`U+1D5A5`), 𝗙 (`U+1D5D9`), 𝘍 (`U+1D60D`), 𝙁 (`U+1D641`), 𝙵 (`U+1D675`), 🄕 (`U+1F115`), 🄵 (`U+1F135`), 🅕 (`U+1F155`), 🅵 (`U+1F175`), 🆓 (`U+1F193`)
+ F (`U+0046`), Ƒ (`U+0191`), Ḟ (`U+1E1E`), ₣ (`U+20A3`), ℉ (`U+2109`), Ⅎ (`U+2132`), ℻ (`U+213B`), ⅎ (`U+214E`), ␊ (`U+240A`), ␌ (`U+240C`), ␜ (`U+241C`), Ⓕ (`U+24BB`), ꜰ (`U+A730`), Ꞙ (`U+A798`), ꟳ (`U+A7F3`), ꟻ (`U+A7FB`), (`U+1CCDB`), 𝐅 (`U+1D405`), 𝐹 (`U+1D439`), 𝑭 (`U+1D46D`), 𝖥 (`U+1D5A5`), 𝗙 (`U+1D5D9`), 𝘍 (`U+1D60D`), 𝙁 (`U+1D641`), 𝙵 (`U+1D675`), 🄕 (`U+1F115`), 🄵 (`U+1F135`), 🅕 (`U+1F155`), 🅵 (`U+1F175`), 🆓 (`U+1F193`)
- `cv07`:
- G (`U+0047`), Ĝ (`U+011C`), Ğ (`U+011E`), Ġ (`U+0120`), Ģ (`U+0122`), Ɠ (`U+0193`), Ǥ (`U+01E4`), Ǧ (`U+01E6`), Ǵ (`U+01F4`), ɢ (`U+0262`), ʛ (`U+029B`), ᴳ (`U+1D33`), ᷛ (`U+1DDB`), Ḡ (`U+1E20`), ₲ (`U+20B2`), ⅁ (`U+2141`), ␝ (`U+241D`), Ⓖ (`U+24BC`), Ꞡ (`U+A7A0`), 𐞒 (`U+10792`), 𐞔 (`U+10794`), 𝐆 (`U+1D406`), 𝐺 (`U+1D43A`), 𝑮 (`U+1D46E`), 𝖦 (`U+1D5A6`), 𝗚 (`U+1D5DA`), 𝘎 (`U+1D60E`), 𝙂 (`U+1D642`), 𝙶 (`U+1D676`), 𝼂 (`U+1DF02`), 🄖 (`U+1F116`), 🄶 (`U+1F136`), 🅖 (`U+1F156`), 🅶 (`U+1F176`), 🆖 (`U+1F196`)
+ G (`U+0047`), Ĝ (`U+011C`), Ğ (`U+011E`), Ġ (`U+0120`), Ģ (`U+0122`), Ɠ (`U+0193`), Ǥ (`U+01E4`), Ǧ (`U+01E6`), Ǵ (`U+01F4`), ɢ (`U+0262`), ʛ (`U+029B`), ᴳ (`U+1D33`), ᷛ (`U+1DDB`), Ḡ (`U+1E20`), ₲ (`U+20B2`), ⅁ (`U+2141`), ␝ (`U+241D`), Ⓖ (`U+24BC`), Ꞡ (`U+A7A0`), 𐞒 (`U+10792`), 𐞔 (`U+10794`), (`U+1CCDC`), 𝐆 (`U+1D406`), 𝐺 (`U+1D43A`), 𝑮 (`U+1D46E`), 𝖦 (`U+1D5A6`), 𝗚 (`U+1D5DA`), 𝘎 (`U+1D60E`), 𝙂 (`U+1D642`), 𝙶 (`U+1D676`), 𝼂 (`U+1DF02`), 🄖 (`U+1F116`), 🄶 (`U+1F136`), 🅖 (`U+1F156`), 🅶 (`U+1F176`), 🆖 (`U+1F196`)
- `cv08`:
- H (`U+0048`), Ĥ (`U+0124`), Ħ (`U+0126`), Ƕ (`U+01F6`), Ȟ (`U+021E`), ʜ (`U+029C`), Ͱ (`U+0370`), Ή (`U+0389`), Η (`U+0397`), Њ (`U+040A`), Н (`U+041D`), Ң (`U+04A2`), Ҥ (`U+04A4`), Ӈ (`U+04C7`), Ӊ (`U+04C9`), Ԋ (`U+050A`), Ԣ (`U+0522`), Ԩ (`U+0528`), ᴴ (`U+1D34`), Ḣ (`U+1E22`), Ḥ (`U+1E24`), Ḧ (`U+1E26`), Ḩ (`U+1E28`), Ḫ (`U+1E2A`), Ἠ (`U+1F28`), Ἡ (`U+1F29`), Ἢ (`U+1F2A`), Ἣ (`U+1F2B`), Ἤ (`U+1F2C`), Ἥ (`U+1F2D`), Ἦ (`U+1F2E`), Ἧ (`U+1F2F`), ᾘ (`U+1F98`), ᾙ (`U+1F99`), ᾚ (`U+1F9A`), ᾛ (`U+1F9B`), ᾜ (`U+1F9C`), ᾝ (`U+1F9D`), ᾞ (`U+1F9E`), ᾟ (`U+1F9F`), Ὴ (`U+1FCA`), Ή (`U+1FCB`), ῌ (`U+1FCC`), ␁ (`U+2401`), ␉ (`U+2409`), Ⓗ (`U+24BD`), Ⱨ (`U+2C67`), Ⱶ (`U+2C75`), ⱶ (`U+2C76`), Ꜧ (`U+A726`), Ɥ (`U+A78D`), Ɦ (`U+A7AA`), Ꟶ (`U+A7F5`), ꟶ (`U+A7F6`), ꟸ (`U+A7F8`), 𐞖 (`U+10796`), 𝐇 (`U+1D407`), 𝐻 (`U+1D43B`), 𝑯 (`U+1D46F`), 𝖧 (`U+1D5A7`), 𝗛 (`U+1D5DB`), 𝘏 (`U+1D60F`), 𝙃 (`U+1D643`), 𝙷 (`U+1D677`), 𝚮 (`U+1D6AE`), 𝛨 (`U+1D6E8`), 𝜢 (`U+1D722`), 𝝜 (`U+1D75C`), 𝞖 (`U+1D796`), 🄗 (`U+1F117`), 🄷 (`U+1F137`), 🅊 (`U+1F14A`), 🅗 (`U+1F157`), 🅷 (`U+1F177`), 🆦 (`U+1F1A6`), 🆧 (`U+1F1A7`), 🆨 (`U+1F1A8`), 🆪 (`U+1F1AA`), 🆫 (`U+1F1AB`)
+ H (`U+0048`), Ĥ (`U+0124`), Ħ (`U+0126`), Ƕ (`U+01F6`), Ȟ (`U+021E`), ʜ (`U+029C`), Ͱ (`U+0370`), Ή (`U+0389`), Η (`U+0397`), Њ (`U+040A`), Н (`U+041D`), Ң (`U+04A2`), Ҥ (`U+04A4`), Ӈ (`U+04C7`), Ӊ (`U+04C9`), Ԋ (`U+050A`), Ԣ (`U+0522`), Ԩ (`U+0528`), ᴴ (`U+1D34`), Ḣ (`U+1E22`), Ḥ (`U+1E24`), Ḧ (`U+1E26`), Ḩ (`U+1E28`), Ḫ (`U+1E2A`), Ἠ (`U+1F28`), Ἡ (`U+1F29`), Ἢ (`U+1F2A`), Ἣ (`U+1F2B`), Ἤ (`U+1F2C`), Ἥ (`U+1F2D`), Ἦ (`U+1F2E`), Ἧ (`U+1F2F`), ᾘ (`U+1F98`), ᾙ (`U+1F99`), ᾚ (`U+1F9A`), ᾛ (`U+1F9B`), ᾜ (`U+1F9C`), ᾝ (`U+1F9D`), ᾞ (`U+1F9E`), ᾟ (`U+1F9F`), Ὴ (`U+1FCA`), Ή (`U+1FCB`), ῌ (`U+1FCC`), ␁ (`U+2401`), ␉ (`U+2409`), Ⓗ (`U+24BD`), Ⱨ (`U+2C67`), Ⱶ (`U+2C75`), ⱶ (`U+2C76`), Ꜧ (`U+A726`), Ɥ (`U+A78D`), Ɦ (`U+A7AA`), Ꟶ (`U+A7F5`), ꟶ (`U+A7F6`), ꟸ (`U+A7F8`), 𐞖 (`U+10796`), (`U+1CCDD`), 𝐇 (`U+1D407`), 𝐻 (`U+1D43B`), 𝑯 (`U+1D46F`), 𝖧 (`U+1D5A7`), 𝗛 (`U+1D5DB`), 𝘏 (`U+1D60F`), 𝙃 (`U+1D643`), 𝙷 (`U+1D677`), 𝚮 (`U+1D6AE`), 𝛨 (`U+1D6E8`), 𝜢 (`U+1D722`), 𝝜 (`U+1D75C`), 𝞖 (`U+1D796`), 🄗 (`U+1F117`), 🄷 (`U+1F137`), 🅊 (`U+1F14A`), 🅗 (`U+1F157`), 🅷 (`U+1F177`), 🆦 (`U+1F1A6`), 🆧 (`U+1F1A7`), 🆨 (`U+1F1A8`), 🆪 (`U+1F1AA`), 🆫 (`U+1F1AB`)
- `cv09`:
- I (`U+0049`), Ì (`U+00CC`), Í (`U+00CD`), Î (`U+00CE`), Ï (`U+00CF`), Ĩ (`U+0128`), Ī (`U+012A`), Ĭ (`U+012C`), Į (`U+012E`), İ (`U+0130`), IJ (`U+0132`), Ɨ (`U+0197`), Ǐ (`U+01CF`), Ȉ (`U+0208`), Ȋ (`U+020A`), Ί (`U+038A`), Ι (`U+0399`), Ϊ (`U+03AA`), І (`U+0406`), Ї (`U+0407`), Ӏ (`U+04C0`), ᴵ (`U+1D35`), Ḭ (`U+1E2C`), Ḯ (`U+1E2E`), Ỉ (`U+1EC8`), Ị (`U+1ECA`), Ἰ (`U+1F38`), Ἱ (`U+1F39`), Ἲ (`U+1F3A`), Ἳ (`U+1F3B`), Ἴ (`U+1F3C`), Ἵ (`U+1F3D`), Ἶ (`U+1F3E`), Ἷ (`U+1F3F`), Ῐ (`U+1FD8`), Ῑ (`U+1FD9`), Ὶ (`U+1FDA`), Ί (`U+1FDB`), Ⅰ (`U+2160`), Ⅱ (`U+2161`), Ⅲ (`U+2162`), Ⅳ (`U+2163`), Ⅵ (`U+2165`), Ⅶ (`U+2166`), Ⅷ (`U+2167`), Ⅸ (`U+2168`), Ⅺ (`U+216A`), Ⅻ (`U+216B`), ␏ (`U+240F`), Ⓘ (`U+24BE`), Ꞽ (`U+A7BC`), ꟷ (`U+A7F7`), ꟾ (`U+A7FE`), 𝐈 (`U+1D408`), 𝐼 (`U+1D43C`), 𝑰 (`U+1D470`), 𝖨 (`U+1D5A8`), 𝗜 (`U+1D5DC`), 𝘐 (`U+1D610`), 𝙄 (`U+1D644`), 𝙸 (`U+1D678`), 𝚰 (`U+1D6B0`), 𝛪 (`U+1D6EA`), 𝜤 (`U+1D724`), 𝝞 (`U+1D75E`), 𝞘 (`U+1D798`), 🄘 (`U+1F118`), 🄸 (`U+1F138`), 🅘 (`U+1F158`), 🅸 (`U+1F178`), 🆋 (`U+1F18B`), 🆔 (`U+1F194`), 🆨 (`U+1F1A8`)
+ I (`U+0049`), Ì (`U+00CC`), Í (`U+00CD`), Î (`U+00CE`), Ï (`U+00CF`), Ĩ (`U+0128`), Ī (`U+012A`), Ĭ (`U+012C`), Į (`U+012E`), İ (`U+0130`), IJ (`U+0132`), Ɨ (`U+0197`), Ǐ (`U+01CF`), Ȉ (`U+0208`), Ȋ (`U+020A`), Ί (`U+038A`), Ι (`U+0399`), Ϊ (`U+03AA`), І (`U+0406`), Ї (`U+0407`), Ӏ (`U+04C0`), ᴵ (`U+1D35`), Ḭ (`U+1E2C`), Ḯ (`U+1E2E`), Ỉ (`U+1EC8`), Ị (`U+1ECA`), Ἰ (`U+1F38`), Ἱ (`U+1F39`), Ἲ (`U+1F3A`), Ἳ (`U+1F3B`), Ἴ (`U+1F3C`), Ἵ (`U+1F3D`), Ἶ (`U+1F3E`), Ἷ (`U+1F3F`), Ῐ (`U+1FD8`), Ῑ (`U+1FD9`), Ὶ (`U+1FDA`), Ί (`U+1FDB`), Ⅰ (`U+2160`), Ⅱ (`U+2161`), Ⅲ (`U+2162`), Ⅳ (`U+2163`), Ⅵ (`U+2165`), Ⅶ (`U+2166`), Ⅷ (`U+2167`), Ⅸ (`U+2168`), Ⅺ (`U+216A`), Ⅻ (`U+216B`), ␏ (`U+240F`), Ⓘ (`U+24BE`), Ꞽ (`U+A7BC`), ꟷ (`U+A7F7`), ꟾ (`U+A7FE`), (`U+1CCDE`), 𝐈 (`U+1D408`), 𝐼 (`U+1D43C`), 𝑰 (`U+1D470`), 𝖨 (`U+1D5A8`), 𝗜 (`U+1D5DC`), 𝘐 (`U+1D610`), 𝙄 (`U+1D644`), 𝙸 (`U+1D678`), 𝚰 (`U+1D6B0`), 𝛪 (`U+1D6EA`), 𝜤 (`U+1D724`), 𝝞 (`U+1D75E`), 𝞘 (`U+1D798`), 🄘 (`U+1F118`), 🄸 (`U+1F138`), 🅘 (`U+1F158`), 🅸 (`U+1F178`), 🆋 (`U+1F18B`), 🆔 (`U+1F194`), 🆨 (`U+1F1A8`)
- `cv10`:
- J (`U+004A`), IJ (`U+0132`), Ĵ (`U+0134`), LJ (`U+01C7`), NJ (`U+01CA`), Ɉ (`U+0248`), Ϳ (`U+037F`), Ј (`U+0408`), ᴊ (`U+1D0A`), ᴶ (`U+1D36`), Ⓙ (`U+24BF`), Ʝ (`U+A7B2`),  (`U+FFFC`), 𝐉 (`U+1D409`), 𝐽 (`U+1D43D`), 𝑱 (`U+1D471`), 𝖩 (`U+1D5A9`), 𝗝 (`U+1D5DD`), 𝘑 (`U+1D611`), 𝙅 (`U+1D645`), 𝙹 (`U+1D679`), 🄙 (`U+1F119`), 🄹 (`U+1F139`), 🅙 (`U+1F159`), 🅹 (`U+1F179`), 🆐 (`U+1F190`)
+ J (`U+004A`), IJ (`U+0132`), Ĵ (`U+0134`), LJ (`U+01C7`), NJ (`U+01CA`), Ɉ (`U+0248`), Ϳ (`U+037F`), Ј (`U+0408`), ᴊ (`U+1D0A`), ᴶ (`U+1D36`), Ⓙ (`U+24BF`), Ʝ (`U+A7B2`),  (`U+FFFC`), (`U+1CCDF`), 𝐉 (`U+1D409`), 𝐽 (`U+1D43D`), 𝑱 (`U+1D471`), 𝖩 (`U+1D5A9`), 𝗝 (`U+1D5DD`), 𝘑 (`U+1D611`), 𝙅 (`U+1D645`), 𝙹 (`U+1D679`), 🄙 (`U+1F119`), 🄹 (`U+1F139`), 🅙 (`U+1F159`), 🅹 (`U+1F179`), 🆐 (`U+1F190`)
- `cv11`:
- K (`U+004B`), Ķ (`U+0136`), Ƙ (`U+0198`), Ǩ (`U+01E8`), Κ (`U+039A`), Ϗ (`U+03CF`), ᴋ (`U+1D0B`), ᴷ (`U+1D37`), Ḱ (`U+1E30`), Ḳ (`U+1E32`), Ḵ (`U+1E34`), ₭ (`U+20AD`), K (`U+212A`), ␆ (`U+2406`), ␕ (`U+2415`), Ⓚ (`U+24C0`), Ⱪ (`U+2C69`), Ꝁ (`U+A740`), Ꝃ (`U+A742`), Ꝅ (`U+A744`), Ꞣ (`U+A7A2`), Ʞ (`U+A7B0`), 𝐊 (`U+1D40A`), 𝐾 (`U+1D43E`), 𝑲 (`U+1D472`), 𝖪 (`U+1D5AA`), 𝗞 (`U+1D5DE`), 𝘒 (`U+1D612`), 𝙆 (`U+1D646`), 𝙺 (`U+1D67A`), 𝚱 (`U+1D6B1`), 𝛫 (`U+1D6EB`), 𝜥 (`U+1D725`), 𝝟 (`U+1D75F`), 𝞙 (`U+1D799`), 𝼐 (`U+1DF10`), 🄚 (`U+1F11A`), 🄺 (`U+1F13A`), 🅚 (`U+1F15A`), 🅺 (`U+1F17A`), 🆗 (`U+1F197`), 🆝 (`U+1F19D`), 🆞 (`U+1F19E`), 🆟 (`U+1F19F`)
+ K (`U+004B`), Ķ (`U+0136`), Ƙ (`U+0198`), Ǩ (`U+01E8`), Κ (`U+039A`), Ϗ (`U+03CF`), ᴋ (`U+1D0B`), ᴷ (`U+1D37`), Ḱ (`U+1E30`), Ḳ (`U+1E32`), Ḵ (`U+1E34`), ₭ (`U+20AD`), K (`U+212A`), ␆ (`U+2406`), ␕ (`U+2415`), Ⓚ (`U+24C0`), Ⱪ (`U+2C69`), Ꝁ (`U+A740`), Ꝃ (`U+A742`), Ꝅ (`U+A744`), Ꞣ (`U+A7A2`), Ʞ (`U+A7B0`), (`U+1CCE0`), 𝐊 (`U+1D40A`), 𝐾 (`U+1D43E`), 𝑲 (`U+1D472`), 𝖪 (`U+1D5AA`), 𝗞 (`U+1D5DE`), 𝘒 (`U+1D612`), 𝙆 (`U+1D646`), 𝙺 (`U+1D67A`), 𝚱 (`U+1D6B1`), 𝛫 (`U+1D6EB`), 𝜥 (`U+1D725`), 𝝟 (`U+1D75F`), 𝞙 (`U+1D799`), 𝼐 (`U+1DF10`), 🄚 (`U+1F11A`), 🄺 (`U+1F13A`), 🅚 (`U+1F15A`), 🅺 (`U+1F17A`), 🆗 (`U+1F197`), 🆝 (`U+1F19D`), 🆞 (`U+1F19E`), 🆟 (`U+1F19F`)
- `cv12`:
- L (`U+004C`), Ĺ (`U+0139`), Ļ (`U+013B`), Ľ (`U+013D`), Ŀ (`U+013F`), Ł (`U+0141`), LJ (`U+01C7`), Lj (`U+01C8`), Ƚ (`U+023D`), ʟ (`U+029F`), ᴌ (`U+1D0C`), ᴸ (`U+1D38`), ᶫ (`U+1DAB`), ᷞ (`U+1DDE`), Ḷ (`U+1E36`), Ḹ (`U+1E38`), Ḻ (`U+1E3A`), Ḽ (`U+1E3C`), Ỻ (`U+1EFA`), ℡ (`U+2121`), ⅂ (`U+2142`), Ⅼ (`U+216C`), ␀ (`U+2400`), ␇ (`U+2407`), ␊ (`U+240A`), ␐ (`U+2410`), ␡ (`U+2421`),  (`U+2424`), Ⓛ (`U+24C1`), Ⱡ (`U+2C60`), Ɫ (`U+2C62`), Ꝉ (`U+A748`), Ꞁ (`U+A780`), Ɬ (`U+A7AD`), (`U+E0A1`), 𐞜 (`U+1079C`), 𝐋 (`U+1D40B`), 𝐿 (`U+1D43F`), 𝑳 (`U+1D473`), 𝖫 (`U+1D5AB`), 𝗟 (`U+1D5DF`), 𝘓 (`U+1D613`), 𝙇 (`U+1D647`), 𝙻 (`U+1D67B`), 𝼄 (`U+1DF04`), 🄛 (`U+1F11B`), 🄻 (`U+1F13B`), 🅛 (`U+1F15B`), 🅻 (`U+1F17B`), 🆑 (`U+1F191`), 🆒 (`U+1F192`), 🆩 (`U+1F1A9`)
+ L (`U+004C`), Ĺ (`U+0139`), Ļ (`U+013B`), Ľ (`U+013D`), Ŀ (`U+013F`), Ł (`U+0141`), LJ (`U+01C7`), Lj (`U+01C8`), Ƚ (`U+023D`), ʟ (`U+029F`), ᴌ (`U+1D0C`), ᴸ (`U+1D38`), ᶫ (`U+1DAB`), ᷞ (`U+1DDE`), Ḷ (`U+1E36`), Ḹ (`U+1E38`), Ḻ (`U+1E3A`), Ḽ (`U+1E3C`), Ỻ (`U+1EFA`), ℡ (`U+2121`), ⅂ (`U+2142`), Ⅼ (`U+216C`), ␀ (`U+2400`), ␇ (`U+2407`), ␊ (`U+240A`), ␐ (`U+2410`), ␡ (`U+2421`),  (`U+2424`), Ⓛ (`U+24C1`), Ⱡ (`U+2C60`), Ɫ (`U+2C62`), Ꝉ (`U+A748`), Ꞁ (`U+A780`), Ɬ (`U+A7AD`), (`U+E0A1`), 𐞜 (`U+1079C`), (`U+1CCE1`), 𝐋 (`U+1D40B`), 𝐿 (`U+1D43F`), 𝑳 (`U+1D473`), 𝖫 (`U+1D5AB`), 𝗟 (`U+1D5DF`), 𝘓 (`U+1D613`), 𝙇 (`U+1D647`), 𝙻 (`U+1D67B`), 𝼄 (`U+1DF04`), 🄛 (`U+1F11B`), 🄻 (`U+1F13B`), 🅛 (`U+1F15B`), 🅻 (`U+1F17B`), 🆑 (`U+1F191`), 🆒 (`U+1F192`), 🆩 (`U+1F1A9`)
- `cv13`:
- M (`U+004D`), Μ (`U+039C`), М (`U+041C`), Ӎ (`U+04CD`), ᴍ (`U+1D0D`), ᴹ (`U+1D39`), ᷟ (`U+1DDF`), Ḿ (`U+1E3E`), Ṁ (`U+1E40`), Ṃ (`U+1E42`), ℠ (`U+2120`), ™ (`U+2122`), Ⅿ (`U+216F`), ␙ (`U+2419`), Ⓜ (`U+24C2`), Ɱ (`U+2C6E`), Ꙧ (`U+A666`), ꟽ (`U+A7FD`), 𝐌 (`U+1D40C`), 𝑀 (`U+1D440`), 𝑴 (`U+1D474`), 𝖬 (`U+1D5AC`), 𝗠 (`U+1D5E0`), 𝘔 (`U+1D614`), 𝙈 (`U+1D648`), 𝙼 (`U+1D67C`), 𝚳 (`U+1D6B3`), 𝛭 (`U+1D6ED`), 𝜧 (`U+1D727`), 𝝡 (`U+1D761`), 𝞛 (`U+1D79B`), 🄜 (`U+1F11C`), 🄼 (`U+1F13C`), 🅋 (`U+1F14B`), 🅜 (`U+1F15C`), 🅪 (`U+1F16A`), 🅫 (`U+1F16B`), 🅬 (`U+1F16C`), 🅼 (`U+1F17C`), 🆭 (`U+1F1AD`)
+ M (`U+004D`), Μ (`U+039C`), М (`U+041C`), Ӎ (`U+04CD`), ᴍ (`U+1D0D`), ᴹ (`U+1D39`), ᷟ (`U+1DDF`), Ḿ (`U+1E3E`), Ṁ (`U+1E40`), Ṃ (`U+1E42`), ℠ (`U+2120`), ™ (`U+2122`), Ⅿ (`U+216F`), ␙ (`U+2419`), Ⓜ (`U+24C2`), Ɱ (`U+2C6E`), Ꙧ (`U+A666`), ꟽ (`U+A7FD`), (`U+1CCE2`), 𝐌 (`U+1D40C`), 𝑀 (`U+1D440`), 𝑴 (`U+1D474`), 𝖬 (`U+1D5AC`), 𝗠 (`U+1D5E0`), 𝘔 (`U+1D614`), 𝙈 (`U+1D648`), 𝙼 (`U+1D67C`), 𝚳 (`U+1D6B3`), 𝛭 (`U+1D6ED`), 𝜧 (`U+1D727`), 𝝡 (`U+1D761`), 𝞛 (`U+1D79B`), 🄜 (`U+1F11C`), 🄼 (`U+1F13C`), 🅋 (`U+1F14B`), 🅜 (`U+1F15C`), 🅪 (`U+1F16A`), 🅫 (`U+1F16B`), 🅬 (`U+1F16C`), 🅼 (`U+1F17C`), 🆭 (`U+1F1AD`)
- `cv14`:
- N (`U+004E`), Ñ (`U+00D1`), Ń (`U+0143`), Ņ (`U+0145`), Ň (`U+0147`), Ŋ (`U+014A`), Ɲ (`U+019D`), NJ (`U+01CA`), Nj (`U+01CB`), Ǹ (`U+01F8`), ɴ (`U+0274`), Ν (`U+039D`), ᴎ (`U+1D0E`), ᴺ (`U+1D3A`), ᴻ (`U+1D3B`), ᶰ (`U+1DB0`), ᷡ (`U+1DE1`), Ṅ (`U+1E44`), Ṇ (`U+1E46`), Ṉ (`U+1E48`), Ṋ (`U+1E4A`), ₦ (`U+20A6`), № (`U+2116`), ␀ (`U+2400`), ␅ (`U+2405`), ␕ (`U+2415`), ␖ (`U+2416`), ␘ (`U+2418`),  (`U+2424`), Ⓝ (`U+24C3`), Ꞑ (`U+A790`), Ꞥ (`U+A7A4`), (`U+E0A1`), (`U+E0A3`), 𝐍 (`U+1D40D`), 𝑁 (`U+1D441`), 𝑵 (`U+1D475`), 𝖭 (`U+1D5AD`), 𝗡 (`U+1D5E1`), 𝘕 (`U+1D615`), 𝙉 (`U+1D649`), 𝙽 (`U+1D67D`), 𝚴 (`U+1D6B4`), 𝛮 (`U+1D6EE`), 𝜨 (`U+1D728`), 𝝢 (`U+1D762`), 𝞜 (`U+1D79C`), 🄝 (`U+1F11D`), 🄽 (`U+1F13D`), 🅝 (`U+1F15D`), 🅽 (`U+1F17D`), 🆕 (`U+1F195`), 🆖 (`U+1F196`), 🆜 (`U+1F19C`)
+ N (`U+004E`), Ñ (`U+00D1`), Ń (`U+0143`), Ņ (`U+0145`), Ň (`U+0147`), Ŋ (`U+014A`), Ɲ (`U+019D`), NJ (`U+01CA`), Nj (`U+01CB`), Ǹ (`U+01F8`), ɴ (`U+0274`), Ν (`U+039D`), ᴎ (`U+1D0E`), ᴺ (`U+1D3A`), ᴻ (`U+1D3B`), ᶰ (`U+1DB0`), ᷡ (`U+1DE1`), Ṅ (`U+1E44`), Ṇ (`U+1E46`), Ṉ (`U+1E48`), Ṋ (`U+1E4A`), ₦ (`U+20A6`), № (`U+2116`), ␀ (`U+2400`), ␅ (`U+2405`), ␕ (`U+2415`), ␖ (`U+2416`), ␘ (`U+2418`),  (`U+2424`), Ⓝ (`U+24C3`), Ꞑ (`U+A790`), Ꞥ (`U+A7A4`), (`U+E0A1`), (`U+E0A3`), (`U+1CCE3`), 𝐍 (`U+1D40D`), 𝑁 (`U+1D441`), 𝑵 (`U+1D475`), 𝖭 (`U+1D5AD`), 𝗡 (`U+1D5E1`), 𝘕 (`U+1D615`), 𝙉 (`U+1D649`), 𝙽 (`U+1D67D`), 𝚴 (`U+1D6B4`), 𝛮 (`U+1D6EE`), 𝜨 (`U+1D728`), 𝝢 (`U+1D762`), 𝞜 (`U+1D79C`), 🄝 (`U+1F11D`), 🄽 (`U+1F13D`), 🅝 (`U+1F15D`), 🅽 (`U+1F17D`), 🆕 (`U+1F195`), 🆖 (`U+1F196`), 🆜 (`U+1F19C`)
- `cv15`:
- P (`U+0050`), Ƥ (`U+01A4`), Ρ (`U+03A1`), Р (`U+0420`), Ҏ (`U+048E`), Ԗ (`U+0516`), ᴘ (`U+1D18`), ᴩ (`U+1D29`), ᴾ (`U+1D3E`), Ṕ (`U+1E54`), Ṗ (`U+1E56`), Ῥ (`U+1FEC`), ₧ (`U+20A7`), ₱ (`U+20B1`), ₽ (`U+20BD`), ℗ (`U+2117`), ␠ (`U+2420`), Ⓟ (`U+24C5`), Ᵽ (`U+2C63`), Ꝑ (`U+A750`), ꟼ (`U+A7FC`), 𝐏 (`U+1D40F`), 𝑃 (`U+1D443`), 𝑷 (`U+1D477`), 𝖯 (`U+1D5AF`), 𝗣 (`U+1D5E3`), 𝘗 (`U+1D617`), 𝙋 (`U+1D64B`), 𝙿 (`U+1D67F`), 𝚸 (`U+1D6B8`), 𝛲 (`U+1D6F2`), 𝜬 (`U+1D72C`), 𝝦 (`U+1D766`), 𝞠 (`U+1D7A0`), 🄟 (`U+1F11F`), 🄿 (`U+1F13F`), 🅎 (`U+1F14E`), 🅟 (`U+1F15F`), 🅿 (`U+1F17F`), 🆌 (`U+1F18C`), 🆙 (`U+1F199`), 🆣 (`U+1F1A3`), 🆤 (`U+1F1A4`)
+ P (`U+0050`), Ƥ (`U+01A4`), Ρ (`U+03A1`), Р (`U+0420`), Ҏ (`U+048E`), Ԗ (`U+0516`), ᴘ (`U+1D18`), ᴩ (`U+1D29`), ᴾ (`U+1D3E`), Ṕ (`U+1E54`), Ṗ (`U+1E56`), Ῥ (`U+1FEC`), ₧ (`U+20A7`), ₱ (`U+20B1`), ₽ (`U+20BD`), ℗ (`U+2117`), ␠ (`U+2420`), Ⓟ (`U+24C5`), Ᵽ (`U+2C63`), Ꝑ (`U+A750`), ꟼ (`U+A7FC`), (`U+1CCE5`), 𝐏 (`U+1D40F`), 𝑃 (`U+1D443`), 𝑷 (`U+1D477`), 𝖯 (`U+1D5AF`), 𝗣 (`U+1D5E3`), 𝘗 (`U+1D617`), 𝙋 (`U+1D64B`), 𝙿 (`U+1D67F`), 𝚸 (`U+1D6B8`), 𝛲 (`U+1D6F2`), 𝜬 (`U+1D72C`), 𝝦 (`U+1D766`), 𝞠 (`U+1D7A0`), 🄟 (`U+1F11F`), 🄿 (`U+1F13F`), 🅎 (`U+1F14E`), 🅟 (`U+1F15F`), 🅿 (`U+1F17F`), 🆌 (`U+1F18C`), 🆙 (`U+1F199`), 🆣 (`U+1F1A3`), 🆤 (`U+1F1A4`)
- `cv16`:
- Q (`U+0051`), Ԛ (`U+051A`), ℺ (`U+213A`), ␅ (`U+2405`), Ⓠ (`U+24C6`), ꞯ (`U+A7AF`), ꟴ (`U+A7F4`), 𝐐 (`U+1D410`), 𝑄 (`U+1D444`), 𝑸 (`U+1D478`), 𝖰 (`U+1D5B0`), 𝗤 (`U+1D5E4`), 𝘘 (`U+1D618`), 𝙌 (`U+1D64C`), 𝚀 (`U+1D680`), 🄠 (`U+1F120`), 🅀 (`U+1F140`), 🅠 (`U+1F160`), 🆀 (`U+1F180`)
+ Q (`U+0051`), Ԛ (`U+051A`), ℺ (`U+213A`), ␅ (`U+2405`), Ⓠ (`U+24C6`), ꞯ (`U+A7AF`), ꟴ (`U+A7F4`), (`U+1CCE6`), 𝐐 (`U+1D410`), 𝑄 (`U+1D444`), 𝑸 (`U+1D478`), 𝖰 (`U+1D5B0`), 𝗤 (`U+1D5E4`), 𝘘 (`U+1D618`), 𝙌 (`U+1D64C`), 𝚀 (`U+1D680`), 🄠 (`U+1F120`), 🅀 (`U+1F140`), 🅠 (`U+1F160`), 🆀 (`U+1F180`)
- `cv17`:
- R (`U+0052`), ® (`U+00AE`), Ŕ (`U+0154`), Ŗ (`U+0156`), Ř (`U+0158`), Ʀ (`U+01A6`), Ȑ (`U+0210`), Ȓ (`U+0212`), Ɍ (`U+024C`), ʀ (`U+0280`), ʁ (`U+0281`), ʶ (`U+02B6`), ᴙ (`U+1D19`), ᴚ (`U+1D1A`), ᴿ (`U+1D3F`), ᷢ (`U+1DE2`), ᷣ (`U+1DE3`), Ṙ (`U+1E58`), Ṛ (`U+1E5A`), Ṝ (`U+1E5C`), Ṟ (`U+1E5E`), ₨ (`U+20A8`), ₹ (`U+20B9`), ␍ (`U+240D`), ␞ (`U+241E`), Ⓡ (`U+24C7`), Ɽ (`U+2C64`), Ꝛ (`U+A75A`), ꝛ (`U+A75B`), Ꞧ (`U+A7A6`), ꭆ (`U+AB46`), 𐞪 (`U+107AA`), 𝐑 (`U+1D411`), 𝑅 (`U+1D445`), 𝑹 (`U+1D479`), 𝖱 (`U+1D5B1`), 𝗥 (`U+1D5E5`), 𝘙 (`U+1D619`), 𝙍 (`U+1D64D`), 𝚁 (`U+1D681`), 🄡 (`U+1F121`), 🄬 (`U+1F12C`), 🅁 (`U+1F141`), 🅡 (`U+1F161`), 🅬 (`U+1F16C`), 🆁 (`U+1F181`), 🆓 (`U+1F193`), 🆜 (`U+1F19C`), 🆧 (`U+1F1A7`), 🆨 (`U+1F1A8`)
+ R (`U+0052`), ® (`U+00AE`), Ŕ (`U+0154`), Ŗ (`U+0156`), Ř (`U+0158`), Ʀ (`U+01A6`), Ȑ (`U+0210`), Ȓ (`U+0212`), Ɍ (`U+024C`), ʀ (`U+0280`), ʁ (`U+0281`), ʶ (`U+02B6`), ᴙ (`U+1D19`), ᴚ (`U+1D1A`), ᴿ (`U+1D3F`), ᷢ (`U+1DE2`), ᷣ (`U+1DE3`), Ṙ (`U+1E58`), Ṛ (`U+1E5A`), Ṝ (`U+1E5C`), Ṟ (`U+1E5E`), ₨ (`U+20A8`), ₹ (`U+20B9`), ␍ (`U+240D`), ␞ (`U+241E`), Ⓡ (`U+24C7`), Ɽ (`U+2C64`), Ꝛ (`U+A75A`), ꝛ (`U+A75B`), Ꞧ (`U+A7A6`), ꭆ (`U+AB46`), 𐞪 (`U+107AA`), (`U+1CCE7`), 𝐑 (`U+1D411`), 𝑅 (`U+1D445`), 𝑹 (`U+1D479`), 𝖱 (`U+1D5B1`), 𝗥 (`U+1D5E5`), 𝘙 (`U+1D619`), 𝙍 (`U+1D64D`), 𝚁 (`U+1D681`), 🄡 (`U+1F121`), 🄬 (`U+1F12C`), 🅁 (`U+1F141`), 🅡 (`U+1F161`), 🅬 (`U+1F16C`), 🆁 (`U+1F181`), 🆓 (`U+1F193`), 🆜 (`U+1F19C`), 🆧 (`U+1F1A7`), 🆨 (`U+1F1A8`)
- `cv18`:
- $ (`U+0024`), S (`U+0053`), Ś (`U+015A`), Ŝ (`U+015C`), Ş (`U+015E`), Š (`U+0160`), Ƨ (`U+01A7`), Ș (`U+0218`), Ѕ (`U+0405`), Ṡ (`U+1E60`), Ṣ (`U+1E62`), Ṥ (`U+1E64`), Ṧ (`U+1E66`), Ṩ (`U+1E68`), ₴ (`U+20B4`), ℠ (`U+2120`), ⅍ (`U+214D`), ␁ (`U+2401`), ␂ (`U+2402`), ␈ (`U+2408`), ␎ (`U+240E`), ␏ (`U+240F`), ␖ (`U+2416`), ␚ (`U+241A`), ␛ (`U+241B`), ␜ (`U+241C`), ␝ (`U+241D`), ␞ (`U+241E`), ␟ (`U+241F`), ␠ (`U+2420`), Ⓢ (`U+24C8`), Ȿ (`U+2C7E`), Ꙅ (`U+A644`), ꜱ (`U+A731`), Ꞩ (`U+A7A8`), Ʂ (`U+A7C5`), Ꟊ (`U+A7C9`), 𝐒 (`U+1D412`), 𝑆 (`U+1D446`), 𝑺 (`U+1D47A`), 𝖲 (`U+1D5B2`), 𝗦 (`U+1D5E6`), 𝘚 (`U+1D61A`), 𝙎 (`U+1D64E`), 𝚂 (`U+1D682`), 🄏 (`U+1F10F`), 🄢 (`U+1F122`), 🄪 (`U+1F12A`), 🅂 (`U+1F142`), 🅌 (`U+1F14C`), 🅍 (`U+1F14D`), 🅢 (`U+1F162`), 🆂 (`U+1F182`), 🆍 (`U+1F18D`), 🆘 (`U+1F198`), 🆚 (`U+1F19A`), 🆜 (`U+1F19C`), 🆨 (`U+1F1A8`), 🆩 (`U+1F1A9`), 🆪 (`U+1F1AA`)
+ $ (`U+0024`), S (`U+0053`), Ś (`U+015A`), Ŝ (`U+015C`), Ş (`U+015E`), Š (`U+0160`), Ƨ (`U+01A7`), Ș (`U+0218`), Ѕ (`U+0405`), Ṡ (`U+1E60`), Ṣ (`U+1E62`), Ṥ (`U+1E64`), Ṧ (`U+1E66`), Ṩ (`U+1E68`), ₴ (`U+20B4`), ℠ (`U+2120`), ⅍ (`U+214D`), ␁ (`U+2401`), ␂ (`U+2402`), ␈ (`U+2408`), ␎ (`U+240E`), ␏ (`U+240F`), ␖ (`U+2416`), ␚ (`U+241A`), ␛ (`U+241B`), ␜ (`U+241C`), ␝ (`U+241D`), ␞ (`U+241E`), ␟ (`U+241F`), ␠ (`U+2420`), Ⓢ (`U+24C8`), Ȿ (`U+2C7E`), Ꙅ (`U+A644`), ꜱ (`U+A731`), Ꞩ (`U+A7A8`), Ʂ (`U+A7C5`), Ꟊ (`U+A7C9`), (`U+1CCE8`), 𝐒 (`U+1D412`), 𝑆 (`U+1D446`), 𝑺 (`U+1D47A`), 𝖲 (`U+1D5B2`), 𝗦 (`U+1D5E6`), 𝘚 (`U+1D61A`), 𝙎 (`U+1D64E`), 𝚂 (`U+1D682`), 🄏 (`U+1F10F`), 🄢 (`U+1F122`), 🄪 (`U+1F12A`), 🅂 (`U+1F142`), 🅌 (`U+1F14C`), 🅍 (`U+1F14D`), 🅢 (`U+1F162`), 🆂 (`U+1F182`), 🆍 (`U+1F18D`), 🆘 (`U+1F198`), 🆚 (`U+1F19A`), 🆜 (`U+1F19C`), 🆨 (`U+1F1A8`), 🆩 (`U+1F1A9`), 🆪 (`U+1F1AA`)
- `cv19`:
- T (`U+0054`), Ţ (`U+0162`), Ť (`U+0164`), Ŧ (`U+0166`), Ƭ (`U+01AC`), Ʈ (`U+01AE`), Ț (`U+021A`), Ⱦ (`U+023E`), Τ (`U+03A4`), Т (`U+0422`), т (`U+0442`), Ҭ (`U+04AC`), ҭ (`U+04AD`), Ҵ (`U+04B4`), ҵ (`U+04B5`), Ԏ (`U+050E`), ԏ (`U+050F`), ᲄ (`U+1C84`), ᴛ (`U+1D1B`), ᵀ (`U+1D40`), Ṫ (`U+1E6A`), Ṭ (`U+1E6C`), Ṯ (`U+1E6E`), Ṱ (`U+1E70`), ₮ (`U+20AE`), ₸ (`U+20B8`), ℡ (`U+2121`), ™ (`U+2122`), ␂ (`U+2402`), ␃ (`U+2403`), ␄ (`U+2404`), ␉ (`U+2409`), ␋ (`U+240B`), ␗ (`U+2417`), Ⓣ (`U+24C9`), ⷮ (`U+2DEE`), ⷵ (`U+2DF5`), Ꚋ (`U+A68A`), ꚋ (`U+A68B`), Ꚍ (`U+A68C`), ꚍ (`U+A68D`), Ʇ (`U+A7B1`), 𝐓 (`U+1D413`), 𝑇 (`U+1D447`), 𝑻 (`U+1D47B`), 𝖳 (`U+1D5B3`), 𝗧 (`U+1D5E7`), 𝘛 (`U+1D61B`), 𝙏 (`U+1D64F`), 𝚃 (`U+1D683`), 𝚻 (`U+1D6BB`), 𝛵 (`U+1D6F5`), 𝜯 (`U+1D72F`), 𝝩 (`U+1D769`), 𝞣 (`U+1D7A3`), 𞁀 (`U+1E040`), 🄣 (`U+1F123`), 🅃 (`U+1F143`), 🅣 (`U+1F163`), 🆃 (`U+1F183`)
+ T (`U+0054`), Ţ (`U+0162`), Ť (`U+0164`), Ŧ (`U+0166`), Ƭ (`U+01AC`), Ʈ (`U+01AE`), Ț (`U+021A`), Ⱦ (`U+023E`), Τ (`U+03A4`), Т (`U+0422`), т (`U+0442`), Ҭ (`U+04AC`), ҭ (`U+04AD`), Ҵ (`U+04B4`), ҵ (`U+04B5`), Ԏ (`U+050E`), ԏ (`U+050F`), ᲄ (`U+1C84`), ᴛ (`U+1D1B`), ᵀ (`U+1D40`), Ṫ (`U+1E6A`), Ṭ (`U+1E6C`), Ṯ (`U+1E6E`), Ṱ (`U+1E70`), ₮ (`U+20AE`), ₸ (`U+20B8`), ℡ (`U+2121`), ™ (`U+2122`), ␂ (`U+2402`), ␃ (`U+2403`), ␄ (`U+2404`), ␉ (`U+2409`), ␋ (`U+240B`), ␗ (`U+2417`), Ⓣ (`U+24C9`), ⷮ (`U+2DEE`), ⷵ (`U+2DF5`), Ꚋ (`U+A68A`), ꚋ (`U+A68B`), Ꚍ (`U+A68C`), ꚍ (`U+A68D`), Ʇ (`U+A7B1`), (`U+1CCE9`), 𝐓 (`U+1D413`), 𝑇 (`U+1D447`), 𝑻 (`U+1D47B`), 𝖳 (`U+1D5B3`), 𝗧 (`U+1D5E7`), 𝘛 (`U+1D61B`), 𝙏 (`U+1D64F`), 𝚃 (`U+1D683`), 𝚻 (`U+1D6BB`), 𝛵 (`U+1D6F5`), 𝜯 (`U+1D72F`), 𝝩 (`U+1D769`), 𝞣 (`U+1D7A3`), 𞁀 (`U+1E040`), 🄣 (`U+1F123`), 🅃 (`U+1F143`), 🅣 (`U+1F163`), 🆃 (`U+1F183`)
- `cv20`:
- U (`U+0055`), Ù (`U+00D9`), Ú (`U+00DA`), Û (`U+00DB`), Ü (`U+00DC`), Ũ (`U+0168`), Ū (`U+016A`), Ŭ (`U+016C`), Ů (`U+016E`), Ű (`U+0170`), Ų (`U+0172`), Ư (`U+01AF`), Ǔ (`U+01D3`), Ǖ (`U+01D5`), Ǘ (`U+01D7`), Ǚ (`U+01D9`), Ǜ (`U+01DB`), Ȕ (`U+0214`), Ȗ (`U+0216`), Ʉ (`U+0244`), ᴜ (`U+1D1C`), ᵁ (`U+1D41`), ᵾ (`U+1D7E`), ᶸ (`U+1DB8`), Ṳ (`U+1E72`), Ṵ (`U+1E74`), Ṷ (`U+1E76`), Ṹ (`U+1E78`), Ṻ (`U+1E7A`), Ụ (`U+1EE4`), Ủ (`U+1EE6`), Ứ (`U+1EE8`), Ừ (`U+1EEA`), Ử (`U+1EEC`), Ữ (`U+1EEE`), Ự (`U+1EF0`), ␀ (`U+2400`), ␚ (`U+241A`), ␟ (`U+241F`), Ⓤ (`U+24CA`), Ꜷ (`U+A736`), Ꞹ (`U+A7B8`), Ꞿ (`U+A7BE`), 𝐔 (`U+1D414`), 𝑈 (`U+1D448`), 𝑼 (`U+1D47C`), 𝖴 (`U+1D5B4`), 𝗨 (`U+1D5E8`), 𝘜 (`U+1D61C`), 𝙐 (`U+1D650`), 𝚄 (`U+1D684`), 🄤 (`U+1F124`), 🅄 (`U+1F144`), 🅤 (`U+1F164`), 🆄 (`U+1F184`), 🆙 (`U+1F199`), 🆫 (`U+1F1AB`)
+ U (`U+0055`), Ù (`U+00D9`), Ú (`U+00DA`), Û (`U+00DB`), Ü (`U+00DC`), Ũ (`U+0168`), Ū (`U+016A`), Ŭ (`U+016C`), Ů (`U+016E`), Ű (`U+0170`), Ų (`U+0172`), Ư (`U+01AF`), Ǔ (`U+01D3`), Ǖ (`U+01D5`), Ǘ (`U+01D7`), Ǚ (`U+01D9`), Ǜ (`U+01DB`), Ȕ (`U+0214`), Ȗ (`U+0216`), Ʉ (`U+0244`), ᴜ (`U+1D1C`), ᵁ (`U+1D41`), ᵾ (`U+1D7E`), ᶸ (`U+1DB8`), Ṳ (`U+1E72`), Ṵ (`U+1E74`), Ṷ (`U+1E76`), Ṹ (`U+1E78`), Ṻ (`U+1E7A`), Ụ (`U+1EE4`), Ủ (`U+1EE6`), Ứ (`U+1EE8`), Ừ (`U+1EEA`), Ử (`U+1EEC`), Ữ (`U+1EEE`), Ự (`U+1EF0`), ␀ (`U+2400`), ␚ (`U+241A`), ␟ (`U+241F`), Ⓤ (`U+24CA`), Ꜷ (`U+A736`), Ꞹ (`U+A7B8`), Ꞿ (`U+A7BE`), (`U+1CCEA`), 𝐔 (`U+1D414`), 𝑈 (`U+1D448`), 𝑼 (`U+1D47C`), 𝖴 (`U+1D5B4`), 𝗨 (`U+1D5E8`), 𝘜 (`U+1D61C`), 𝙐 (`U+1D650`), 𝚄 (`U+1D684`), 🄤 (`U+1F124`), 🅄 (`U+1F144`), 🅤 (`U+1F164`), 🆄 (`U+1F184`), 🆙 (`U+1F199`), 🆫 (`U+1F1AB`)
- `cv21`:
- V (`U+0056`), Ʋ (`U+01B2`), Ʌ (`U+0245`), Ѵ (`U+0474`), Ѷ (`U+0476`), ᴠ (`U+1D20`), Ṽ (`U+1E7C`), Ṿ (`U+1E7E`), Ⅳ (`U+2163`), Ⅴ (`U+2164`), Ⅵ (`U+2165`), Ⅶ (`U+2166`), Ⅷ (`U+2167`), ␋ (`U+240B`), Ⓥ (`U+24CB`), ⱽ (`U+2C7D`), Ꙋ (`U+A64A`), Ꙟ (`U+A65E`), 𝐕 (`U+1D415`), 𝑉 (`U+1D449`), 𝑽 (`U+1D47D`), 𝖵 (`U+1D5B5`), 𝗩 (`U+1D5E9`), 𝘝 (`U+1D61D`), 𝙑 (`U+1D651`), 𝚅 (`U+1D685`), 🄥 (`U+1F125`), 🅅 (`U+1F145`), 🅊 (`U+1F14A`), 🅋 (`U+1F14B`), 🅎 (`U+1F14E`), 🅥 (`U+1F165`), 🆅 (`U+1F185`), 🆚 (`U+1F19A`), 🆪 (`U+1F1AA`), 🆬 (`U+1F1AC`)
+ V (`U+0056`), Ʋ (`U+01B2`), Ʌ (`U+0245`), Ѵ (`U+0474`), Ѷ (`U+0476`), ᴠ (`U+1D20`), Ṽ (`U+1E7C`), Ṿ (`U+1E7E`), Ⅳ (`U+2163`), Ⅴ (`U+2164`), Ⅵ (`U+2165`), Ⅶ (`U+2166`), Ⅷ (`U+2167`), ␋ (`U+240B`), Ⓥ (`U+24CB`), ⱽ (`U+2C7D`), Ꙋ (`U+A64A`), Ꙟ (`U+A65E`), (`U+1CCEB`), 𝐕 (`U+1D415`), 𝑉 (`U+1D449`), 𝑽 (`U+1D47D`), 𝖵 (`U+1D5B5`), 𝗩 (`U+1D5E9`), 𝘝 (`U+1D61D`), 𝙑 (`U+1D651`), 𝚅 (`U+1D685`), 🄥 (`U+1F125`), 🅅 (`U+1F145`), 🅊 (`U+1F14A`), 🅋 (`U+1F14B`), 🅎 (`U+1F14E`), 🅥 (`U+1F165`), 🆅 (`U+1F185`), 🆚 (`U+1F19A`), 🆪 (`U+1F1AA`), 🆬 (`U+1F1AC`)
- `cv22`:
- W (`U+0057`), Ŵ (`U+0174`), Ԝ (`U+051C`), ᴡ (`U+1D21`), ᵂ (`U+1D42`), Ẁ (`U+1E80`), Ẃ (`U+1E82`), Ẅ (`U+1E84`), Ẇ (`U+1E86`), Ẉ (`U+1E88`), ₩ (`U+20A9`), Ⓦ (`U+24CC`), Ⱳ (`U+2C72`), 𝐖 (`U+1D416`), 𝑊 (`U+1D44A`), 𝑾 (`U+1D47E`), 𝖶 (`U+1D5B6`), 𝗪 (`U+1D5EA`), 𝘞 (`U+1D61E`), 𝙒 (`U+1D652`), 𝚆 (`U+1D686`), 🄦 (`U+1F126`), 🄮 (`U+1F12E`), 🅆 (`U+1F146`), 🅏 (`U+1F14F`), 🅦 (`U+1F166`), 🆆 (`U+1F186`), 🆏 (`U+1F18F`), 🆕 (`U+1F195`)
+ W (`U+0057`), Ŵ (`U+0174`), Ԝ (`U+051C`), ᴡ (`U+1D21`), ᵂ (`U+1D42`), Ẁ (`U+1E80`), Ẃ (`U+1E82`), Ẅ (`U+1E84`), Ẇ (`U+1E86`), Ẉ (`U+1E88`), ₩ (`U+20A9`), Ⓦ (`U+24CC`), Ⱳ (`U+2C72`), (`U+1CCEC`), 𝐖 (`U+1D416`), 𝑊 (`U+1D44A`), 𝑾 (`U+1D47E`), 𝖶 (`U+1D5B6`), 𝗪 (`U+1D5EA`), 𝘞 (`U+1D61E`), 𝙒 (`U+1D652`), 𝚆 (`U+1D686`), 🄦 (`U+1F126`), 🄮 (`U+1F12E`), 🅆 (`U+1F146`), 🅏 (`U+1F14F`), 🅦 (`U+1F166`), 🆆 (`U+1F186`), 🆏 (`U+1F18F`), 🆕 (`U+1F195`)
- `cv23`:
- X (`U+0058`), Χ (`U+03A7`), Х (`U+0425`), Ҳ (`U+04B2`), Ӽ (`U+04FC`), Ӿ (`U+04FE`), Ԕ (`U+0514`), Ԗ (`U+0516`), Ẋ (`U+1E8A`), Ẍ (`U+1E8C`), ℻ (`U+213B`), Ⅸ (`U+2168`), Ⅹ (`U+2169`), Ⅺ (`U+216A`), Ⅻ (`U+216B`), ␂ (`U+2402`), ␃ (`U+2403`), Ⓧ (`U+24CD`), Ꭓ (`U+A7B3`), 𝐗 (`U+1D417`), 𝑋 (`U+1D44B`), 𝑿 (`U+1D47F`), 𝖷 (`U+1D5B7`), 𝗫 (`U+1D5EB`), 𝘟 (`U+1D61F`), 𝙓 (`U+1D653`), 𝚇 (`U+1D687`), 𝚾 (`U+1D6BE`), 𝛸 (`U+1D6F8`), 𝜲 (`U+1D732`), 𝝬 (`U+1D76C`), 𝞦 (`U+1D7A6`), 🄧 (`U+1F127`), 🅇 (`U+1F147`), 🅧 (`U+1F167`), 🆇 (`U+1F187`)
+ X (`U+0058`), Χ (`U+03A7`), Х (`U+0425`), Ҳ (`U+04B2`), Ӽ (`U+04FC`), Ӿ (`U+04FE`), Ԕ (`U+0514`), Ԗ (`U+0516`), Ẋ (`U+1E8A`), Ẍ (`U+1E8C`), ℻ (`U+213B`), Ⅸ (`U+2168`), Ⅹ (`U+2169`), Ⅺ (`U+216A`), Ⅻ (`U+216B`), ␂ (`U+2402`), ␃ (`U+2403`), Ⓧ (`U+24CD`), Ꭓ (`U+A7B3`), (`U+1CCED`), 𝐗 (`U+1D417`), 𝑋 (`U+1D44B`), 𝑿 (`U+1D47F`), 𝖷 (`U+1D5B7`), 𝗫 (`U+1D5EB`), 𝘟 (`U+1D61F`), 𝙓 (`U+1D653`), 𝚇 (`U+1D687`), 𝚾 (`U+1D6BE`), 𝛸 (`U+1D6F8`), 𝜲 (`U+1D732`), 𝝬 (`U+1D76C`), 𝞦 (`U+1D7A6`), 🄧 (`U+1F127`), 🅇 (`U+1F147`), 🅧 (`U+1F167`), 🆇 (`U+1F187`)
- `cv24`:
- Y (`U+0059`), ¥ (`U+00A5`), Ý (`U+00DD`), Ŷ (`U+0176`), Ÿ (`U+0178`), Ƴ (`U+01B3`), Ȳ (`U+0232`), Ɏ (`U+024E`), ʏ (`U+028F`), Ύ (`U+038E`), Υ (`U+03A5`), Ϋ (`U+03AB`), ϒ (`U+03D2`), ϓ (`U+03D3`), ϔ (`U+03D4`), Ү (`U+04AE`), ү (`U+04AF`), Ұ (`U+04B0`), ұ (`U+04B1`), Ẏ (`U+1E8E`), Ỳ (`U+1EF2`), Ỵ (`U+1EF4`), Ỷ (`U+1EF6`), Ỹ (`U+1EF8`), Ỿ (`U+1EFE`), Ὑ (`U+1F59`), Ὓ (`U+1F5B`), Ὕ (`U+1F5D`), Ὗ (`U+1F5F`), Ῠ (`U+1FE8`), Ῡ (`U+1FE9`), Ὺ (`U+1FEA`), Ύ (`U+1FEB`), ⅄ (`U+2144`), ␖ (`U+2416`), Ⓨ (`U+24CE`), 𐞲 (`U+107B2`), 𝐘 (`U+1D418`), 𝑌 (`U+1D44C`), 𝒀 (`U+1D480`), 𝖸 (`U+1D5B8`), 𝗬 (`U+1D5EC`), 𝘠 (`U+1D620`), 𝙔 (`U+1D654`), 𝚈 (`U+1D688`), 𝚼 (`U+1D6BC`), 𝛶 (`U+1D6F6`), 𝜰 (`U+1D730`), 𝝪 (`U+1D76A`), 𝞤 (`U+1D7A4`), 𞁏 (`U+1E04F`), 𞁭 (`U+1E06D`), 🄨 (`U+1F128`), 🅈 (`U+1F148`), 🅨 (`U+1F168`), 🆈 (`U+1F188`)
+ Y (`U+0059`), ¥ (`U+00A5`), Ý (`U+00DD`), Ŷ (`U+0176`), Ÿ (`U+0178`), Ƴ (`U+01B3`), Ȳ (`U+0232`), Ɏ (`U+024E`), ʏ (`U+028F`), Ύ (`U+038E`), Υ (`U+03A5`), Ϋ (`U+03AB`), ϒ (`U+03D2`), ϓ (`U+03D3`), ϔ (`U+03D4`), Ү (`U+04AE`), ү (`U+04AF`), Ұ (`U+04B0`), ұ (`U+04B1`), Ẏ (`U+1E8E`), Ỳ (`U+1EF2`), Ỵ (`U+1EF4`), Ỷ (`U+1EF6`), Ỹ (`U+1EF8`), Ỿ (`U+1EFE`), Ὑ (`U+1F59`), Ὓ (`U+1F5B`), Ὕ (`U+1F5D`), Ὗ (`U+1F5F`), Ῠ (`U+1FE8`), Ῡ (`U+1FE9`), Ὺ (`U+1FEA`), Ύ (`U+1FEB`), ⅄ (`U+2144`), ␖ (`U+2416`), Ⓨ (`U+24CE`), 𐞲 (`U+107B2`), (`U+1CCEE`), 𝐘 (`U+1D418`), 𝑌 (`U+1D44C`), 𝒀 (`U+1D480`), 𝖸 (`U+1D5B8`), 𝗬 (`U+1D5EC`), 𝘠 (`U+1D620`), 𝙔 (`U+1D654`), 𝚈 (`U+1D688`), 𝚼 (`U+1D6BC`), 𝛶 (`U+1D6F6`), 𝜰 (`U+1D730`), 𝝪 (`U+1D76A`), 𝞤 (`U+1D7A4`), 𞁏 (`U+1E04F`), 𞁭 (`U+1E06D`), 🄨 (`U+1F128`), 🅈 (`U+1F148`), 🅨 (`U+1F168`), 🆈 (`U+1F188`)
- `cv25`:
- Z (`U+005A`), Ź (`U+0179`), Ż (`U+017B`), Ž (`U+017D`), Ƶ (`U+01B5`), Ʒ (`U+01B7`), Ƹ (`U+01B8`), DŽ (`U+01C4`), Ǯ (`U+01EE`), DZ (`U+01F1`), Ȥ (`U+0224`), Ζ (`U+0396`), Ӡ (`U+04E0`), ᴢ (`U+1D22`), ᴣ (`U+1D23`), Ẑ (`U+1E90`), Ẓ (`U+1E92`), Ẕ (`U+1E94`), Ⓩ (`U+24CF`), Ⱬ (`U+2C6B`), Ɀ (`U+2C7F`), Ꙁ (`U+A640`), Ꙃ (`U+A642`), Ᶎ (`U+A7C6`), 𝐙 (`U+1D419`), 𝑍 (`U+1D44D`), 𝒁 (`U+1D481`), 𝖹 (`U+1D5B9`), 𝗭 (`U+1D5ED`), 𝘡 (`U+1D621`), 𝙕 (`U+1D655`), 𝚉 (`U+1D689`), 𝚭 (`U+1D6AD`), 𝛧 (`U+1D6E7`), 𝜡 (`U+1D721`), 𝝛 (`U+1D75B`), 𝞕 (`U+1D795`), 🄩 (`U+1F129`), 🅉 (`U+1F149`), 🅩 (`U+1F169`), 🆉 (`U+1F189`)
+ Z (`U+005A`), Ź (`U+0179`), Ż (`U+017B`), Ž (`U+017D`), Ƶ (`U+01B5`), Ʒ (`U+01B7`), Ƹ (`U+01B8`), DŽ (`U+01C4`), Ǯ (`U+01EE`), DZ (`U+01F1`), Ȥ (`U+0224`), Ζ (`U+0396`), Ӡ (`U+04E0`), ᴢ (`U+1D22`), ᴣ (`U+1D23`), Ẑ (`U+1E90`), Ẓ (`U+1E92`), Ẕ (`U+1E94`), Ⓩ (`U+24CF`), Ⱬ (`U+2C6B`), Ɀ (`U+2C7F`), Ꙁ (`U+A640`), Ꙃ (`U+A642`), Ᶎ (`U+A7C6`), (`U+1CCEF`), 𝐙 (`U+1D419`), 𝑍 (`U+1D44D`), 𝒁 (`U+1D481`), 𝖹 (`U+1D5B9`), 𝗭 (`U+1D5ED`), 𝘡 (`U+1D621`), 𝙕 (`U+1D655`), 𝚉 (`U+1D689`), 𝚭 (`U+1D6AD`), 𝛧 (`U+1D6E7`), 𝜡 (`U+1D721`), 𝝛 (`U+1D75B`), 𝞕 (`U+1D795`), 🄩 (`U+1F129`), 🅉 (`U+1F149`), 🅩 (`U+1F169`), 🆉 (`U+1F189`)
- `cv26`:
@@ -341,43 +341,43 @@
- `cv85`:
- 0 (`U+0030`), ⁰ (`U+2070`), ₀ (`U+2080`), ⅒ (`U+2152`), ↉ (`U+2189`), ⍬ (`U+236C`), ⏨ (`U+23E8`), ⑩ (`U+2469`), ⑳ (`U+2473`), ⑽ (`U+247D`), ⒇ (`U+2487`), ⒑ (`U+2491`), ⒛ (`U+249B`), ⓪ (`U+24EA`), ⓴ (`U+24F4`), ⓾ (`U+24FE`), ⓿ (`U+24FF`), ❿ (`U+277F`), ➉ (`U+2789`), ➓ (`U+2793`), ㉚ (`U+325A`), ㊵ (`U+32B5`), ㊿ (`U+32BF`), 𝟎 (`U+1D7CE`), 𝟢 (`U+1D7E2`), 𝟬 (`U+1D7EC`), 𝟶 (`U+1D7F6`), 🄀 (`U+1F100`), 🄁 (`U+1F101`), 🄋 (`U+1F10B`), 🄌 (`U+1F10C`), 🄍 (`U+1F10D`), 🆣 (`U+1F1A3`), 🆤 (`U+1F1A4`)
+ 0 (`U+0030`), ⁰ (`U+2070`), ₀ (`U+2080`), ⅒ (`U+2152`), ↉ (`U+2189`), ⍬ (`U+236C`), ⏨ (`U+23E8`), ⑩ (`U+2469`), ⑳ (`U+2473`), ⑽ (`U+247D`), ⒇ (`U+2487`), ⒑ (`U+2491`), ⒛ (`U+249B`), ⓪ (`U+24EA`), ⓴ (`U+24F4`), ⓾ (`U+24FE`), ⓿ (`U+24FF`), ❿ (`U+277F`), ➉ (`U+2789`), ➓ (`U+2793`), ㉚ (`U+325A`), ㊵ (`U+32B5`), ㊿ (`U+32BF`), (`U+1CCF0`), 𝟎 (`U+1D7CE`), 𝟢 (`U+1D7E2`), 𝟬 (`U+1D7EC`), 𝟶 (`U+1D7F6`), 🄀 (`U+1F100`), 🄁 (`U+1F101`), 🄋 (`U+1F10B`), 🄌 (`U+1F10C`), 🄍 (`U+1F10D`), 🆣 (`U+1F1A3`), 🆤 (`U+1F1A4`)
- `cv86`:
- 1 (`U+0031`), ¹ (`U+00B9`), ¼ (`U+00BC`), ½ (`U+00BD`), ₁ (`U+2081`), ⅐ (`U+2150`), ⅑ (`U+2151`), ⅒ (`U+2152`), ⅓ (`U+2153`), ⅕ (`U+2155`), ⅙ (`U+2159`), ⅛ (`U+215B`), ⏨ (`U+23E8`), ␑ (`U+2411`), ① (`U+2460`), ⑩ (`U+2469`), ⑪ (`U+246A`), ⑫ (`U+246B`), ⑬ (`U+246C`), ⑭ (`U+246D`), ⑮ (`U+246E`), ⑯ (`U+246F`), ⑰ (`U+2470`), ⑱ (`U+2471`), ⑲ (`U+2472`), ⑴ (`U+2474`), ⑽ (`U+247D`), ⑾ (`U+247E`), ⑿ (`U+247F`), ⒀ (`U+2480`), ⒁ (`U+2481`), ⒂ (`U+2482`), ⒃ (`U+2483`), ⒄ (`U+2484`), ⒅ (`U+2485`), ⒆ (`U+2486`), ⒈ (`U+2488`), ⒑ (`U+2491`), ⒒ (`U+2492`), ⒓ (`U+2493`), ⒔ (`U+2494`), ⒕ (`U+2495`), ⒖ (`U+2496`), ⒗ (`U+2497`), ⒘ (`U+2498`), ⒙ (`U+2499`), ⒚ (`U+249A`), ⓫ (`U+24EB`), ⓬ (`U+24EC`), ⓭ (`U+24ED`), ⓮ (`U+24EE`), ⓯ (`U+24EF`), ⓰ (`U+24F0`), ⓱ (`U+24F1`), ⓲ (`U+24F2`), ⓳ (`U+24F3`), ⓵ (`U+24F5`), ⓾ (`U+24FE`), ❶ (`U+2776`), ❿ (`U+277F`), ➀ (`U+2780`), ➉ (`U+2789`), ➊ (`U+278A`), ➓ (`U+2793`), ㉑ (`U+3251`), ㉛ (`U+325B`), ㊶ (`U+32B6`), 𝟏 (`U+1D7CF`), 𝟣 (`U+1D7E3`), 𝟭 (`U+1D7ED`), 𝟷 (`U+1D7F7`), 🄂 (`U+1F102`), 🆠 (`U+1F1A0`), 🆡 (`U+1F1A1`), 🆤 (`U+1F1A4`)
+ 1 (`U+0031`), ¹ (`U+00B9`), ¼ (`U+00BC`), ½ (`U+00BD`), ₁ (`U+2081`), ⅐ (`U+2150`), ⅑ (`U+2151`), ⅒ (`U+2152`), ⅓ (`U+2153`), ⅕ (`U+2155`), ⅙ (`U+2159`), ⅛ (`U+215B`), ⏨ (`U+23E8`), ␑ (`U+2411`), ① (`U+2460`), ⑩ (`U+2469`), ⑪ (`U+246A`), ⑫ (`U+246B`), ⑬ (`U+246C`), ⑭ (`U+246D`), ⑮ (`U+246E`), ⑯ (`U+246F`), ⑰ (`U+2470`), ⑱ (`U+2471`), ⑲ (`U+2472`), ⑴ (`U+2474`), ⑽ (`U+247D`), ⑾ (`U+247E`), ⑿ (`U+247F`), ⒀ (`U+2480`), ⒁ (`U+2481`), ⒂ (`U+2482`), ⒃ (`U+2483`), ⒄ (`U+2484`), ⒅ (`U+2485`), ⒆ (`U+2486`), ⒈ (`U+2488`), ⒑ (`U+2491`), ⒒ (`U+2492`), ⒓ (`U+2493`), ⒔ (`U+2494`), ⒕ (`U+2495`), ⒖ (`U+2496`), ⒗ (`U+2497`), ⒘ (`U+2498`), ⒙ (`U+2499`), ⒚ (`U+249A`), ⓫ (`U+24EB`), ⓬ (`U+24EC`), ⓭ (`U+24ED`), ⓮ (`U+24EE`), ⓯ (`U+24EF`), ⓰ (`U+24F0`), ⓱ (`U+24F1`), ⓲ (`U+24F2`), ⓳ (`U+24F3`), ⓵ (`U+24F5`), ⓾ (`U+24FE`), ❶ (`U+2776`), ❿ (`U+277F`), ➀ (`U+2780`), ➉ (`U+2789`), ➊ (`U+278A`), ➓ (`U+2793`), ㉑ (`U+3251`), ㉛ (`U+325B`), ㊶ (`U+32B6`), (`U+1CCF1`), 𝟏 (`U+1D7CF`), 𝟣 (`U+1D7E3`), 𝟭 (`U+1D7ED`), 𝟷 (`U+1D7F7`), 🄂 (`U+1F102`), 🆠 (`U+1F1A0`), 🆡 (`U+1F1A1`), 🆤 (`U+1F1A4`)
- `cv87`:
- 2 (`U+0032`), ² (`U+00B2`), ½ (`U+00BD`), ƻ (`U+01BB`), ₂ (`U+2082`), ⅔ (`U+2154`), ⅖ (`U+2156`), ↊ (`U+218A`), ␒ (`U+2412`), ② (`U+2461`), ⑫ (`U+246B`), ⑳ (`U+2473`), ⑵ (`U+2475`), ⑿ (`U+247F`), ⒇ (`U+2487`), ⒉ (`U+2489`), ⒓ (`U+2493`), ⒛ (`U+249B`), ⓬ (`U+24EC`), ⓴ (`U+24F4`), ⓶ (`U+24F6`), ❷ (`U+2777`), ➁ (`U+2781`), ➋ (`U+278B`), ㉑ (`U+3251`), ㉒ (`U+3252`), ㉓ (`U+3253`), ㉔ (`U+3254`), ㉕ (`U+3255`), ㉖ (`U+3256`), ㉗ (`U+3257`), ㉘ (`U+3258`), ㉙ (`U+3259`), ㉜ (`U+325C`), ㊷ (`U+32B7`), 𝟐 (`U+1D7D0`), 𝟤 (`U+1D7E4`), 𝟮 (`U+1D7EE`), 𝟸 (`U+1D7F8`), 🄃 (`U+1F103`), 🆜 (`U+1F19C`), 🆝 (`U+1F19D`), 🆢 (`U+1F1A2`), 🆤 (`U+1F1A4`)
+ 2 (`U+0032`), ² (`U+00B2`), ½ (`U+00BD`), ƻ (`U+01BB`), ₂ (`U+2082`), ⅔ (`U+2154`), ⅖ (`U+2156`), ↊ (`U+218A`), ␒ (`U+2412`), ② (`U+2461`), ⑫ (`U+246B`), ⑳ (`U+2473`), ⑵ (`U+2475`), ⑿ (`U+247F`), ⒇ (`U+2487`), ⒉ (`U+2489`), ⒓ (`U+2493`), ⒛ (`U+249B`), ⓬ (`U+24EC`), ⓴ (`U+24F4`), ⓶ (`U+24F6`), ❷ (`U+2777`), ➁ (`U+2781`), ➋ (`U+278B`), ㉑ (`U+3251`), ㉒ (`U+3252`), ㉓ (`U+3253`), ㉔ (`U+3254`), ㉕ (`U+3255`), ㉖ (`U+3256`), ㉗ (`U+3257`), ㉘ (`U+3258`), ㉙ (`U+3259`), ㉜ (`U+325C`), ㊷ (`U+32B7`), (`U+1CCF2`), 𝟐 (`U+1D7D0`), 𝟤 (`U+1D7E4`), 𝟮 (`U+1D7EE`), 𝟸 (`U+1D7F8`), 🄃 (`U+1F103`), 🆜 (`U+1F19C`), 🆝 (`U+1F19D`), 🆢 (`U+1F1A2`), 🆤 (`U+1F1A4`)
- `cv88`:
- 3 (`U+0033`), ³ (`U+00B3`), ¾ (`U+00BE`), ₃ (`U+2083`), ⅓ (`U+2153`), ⅔ (`U+2154`), ⅗ (`U+2157`), ⅜ (`U+215C`), ↉ (`U+2189`), ↋ (`U+218B`), ∛ (`U+221B`), ␓ (`U+2413`), ③ (`U+2462`), ⑬ (`U+246C`), ⑶ (`U+2476`), ⒀ (`U+2480`), ⒊ (`U+248A`), ⒔ (`U+2494`), ⓭ (`U+24ED`), ⓷ (`U+24F7`), ❸ (`U+2778`), ➂ (`U+2782`), ➌ (`U+278C`), ㉓ (`U+3253`), ㉚ (`U+325A`), ㉛ (`U+325B`), ㉜ (`U+325C`), ㉝ (`U+325D`), ㉞ (`U+325E`), ㉟ (`U+325F`), ㊱ (`U+32B1`), ㊲ (`U+32B2`), ㊳ (`U+32B3`), ㊴ (`U+32B4`), ㊸ (`U+32B8`), 𝟑 (`U+1D7D1`), 𝟥 (`U+1D7E5`), 𝟯 (`U+1D7EF`), 𝟹 (`U+1D7F9`), 🄄 (`U+1F104`), 🆛 (`U+1F19B`)
+ 3 (`U+0033`), ³ (`U+00B3`), ¾ (`U+00BE`), ₃ (`U+2083`), ⅓ (`U+2153`), ⅔ (`U+2154`), ⅗ (`U+2157`), ⅜ (`U+215C`), ↉ (`U+2189`), ↋ (`U+218B`), ∛ (`U+221B`), ␓ (`U+2413`), ③ (`U+2462`), ⑬ (`U+246C`), ⑶ (`U+2476`), ⒀ (`U+2480`), ⒊ (`U+248A`), ⒔ (`U+2494`), ⓭ (`U+24ED`), ⓷ (`U+24F7`), ❸ (`U+2778`), ➂ (`U+2782`), ➌ (`U+278C`), ㉓ (`U+3253`), ㉚ (`U+325A`), ㉛ (`U+325B`), ㉜ (`U+325C`), ㉝ (`U+325D`), ㉞ (`U+325E`), ㉟ (`U+325F`), ㊱ (`U+32B1`), ㊲ (`U+32B2`), ㊳ (`U+32B3`), ㊴ (`U+32B4`), ㊸ (`U+32B8`), (`U+1CCF3`), 𝟑 (`U+1D7D1`), 𝟥 (`U+1D7E5`), 𝟯 (`U+1D7EF`), 𝟹 (`U+1D7F9`), 🄄 (`U+1F104`), 🆛 (`U+1F19B`)
- `cv89`:
- 4 (`U+0034`), ¼ (`U+00BC`), ¾ (`U+00BE`), ⁴ (`U+2074`), ₄ (`U+2084`), ⅘ (`U+2158`), ∜ (`U+221C`), ␔ (`U+2414`), ④ (`U+2463`), ⑭ (`U+246D`), ⑷ (`U+2477`), ⒁ (`U+2481`), ⒋ (`U+248B`), ⒕ (`U+2495`), ⓮ (`U+24EE`), ⓸ (`U+24F8`), ❹ (`U+2779`), ➃ (`U+2783`), ➍ (`U+278D`), ㉔ (`U+3254`), ㉞ (`U+325E`), ㊵ (`U+32B5`), ㊶ (`U+32B6`), ㊷ (`U+32B7`), ㊸ (`U+32B8`), ㊹ (`U+32B9`), ㊺ (`U+32BA`), ㊻ (`U+32BB`), ㊼ (`U+32BC`), ㊽ (`U+32BD`), ㊾ (`U+32BE`), 𝟒 (`U+1D7D2`), 𝟦 (`U+1D7E6`), 𝟰 (`U+1D7F0`), 𝟺 (`U+1D7FA`), 🄅 (`U+1F105`), 🆞 (`U+1F19E`)
+ 4 (`U+0034`), ¼ (`U+00BC`), ¾ (`U+00BE`), ⁴ (`U+2074`), ₄ (`U+2084`), ⅘ (`U+2158`), ∜ (`U+221C`), ␔ (`U+2414`), ④ (`U+2463`), ⑭ (`U+246D`), ⑷ (`U+2477`), ⒁ (`U+2481`), ⒋ (`U+248B`), ⒕ (`U+2495`), ⓮ (`U+24EE`), ⓸ (`U+24F8`), ❹ (`U+2779`), ➃ (`U+2783`), ➍ (`U+278D`), ㉔ (`U+3254`), ㉞ (`U+325E`), ㊵ (`U+32B5`), ㊶ (`U+32B6`), ㊷ (`U+32B7`), ㊸ (`U+32B8`), ㊹ (`U+32B9`), ㊺ (`U+32BA`), ㊻ (`U+32BB`), ㊼ (`U+32BC`), ㊽ (`U+32BD`), ㊾ (`U+32BE`), (`U+1CCF4`), 𝟒 (`U+1D7D2`), 𝟦 (`U+1D7E6`), 𝟰 (`U+1D7F0`), 𝟺 (`U+1D7FA`), 🄅 (`U+1F105`), 🆞 (`U+1F19E`)
- `cv90`:
- 5 (`U+0035`), Ƽ (`U+01BC`), ƽ (`U+01BD`), ⁵ (`U+2075`), ₅ (`U+2085`), ⅕ (`U+2155`), ⅖ (`U+2156`), ⅗ (`U+2157`), ⅘ (`U+2158`), ⅚ (`U+215A`), ⅝ (`U+215D`), ⑤ (`U+2464`), ⑮ (`U+246E`), ⑸ (`U+2478`), ⒂ (`U+2482`), ⒌ (`U+248C`), ⒖ (`U+2496`), ⓯ (`U+24EF`), ⓹ (`U+24F9`), ❺ (`U+277A`), ➄ (`U+2784`), ➎ (`U+278E`), ㉕ (`U+3255`), ㉟ (`U+325F`), ㊺ (`U+32BA`), ㊿ (`U+32BF`), 𝟓 (`U+1D7D3`), 𝟧 (`U+1D7E7`), 𝟱 (`U+1D7F1`), 𝟻 (`U+1D7FB`), 🄆 (`U+1F106`), 🆠 (`U+1F1A0`)
+ 5 (`U+0035`), Ƽ (`U+01BC`), ƽ (`U+01BD`), ⁵ (`U+2075`), ₅ (`U+2085`), ⅕ (`U+2155`), ⅖ (`U+2156`), ⅗ (`U+2157`), ⅘ (`U+2158`), ⅚ (`U+215A`), ⅝ (`U+215D`), ⑤ (`U+2464`), ⑮ (`U+246E`), ⑸ (`U+2478`), ⒂ (`U+2482`), ⒌ (`U+248C`), ⒖ (`U+2496`), ⓯ (`U+24EF`), ⓹ (`U+24F9`), ❺ (`U+277A`), ➄ (`U+2784`), ➎ (`U+278E`), ㉕ (`U+3255`), ㉟ (`U+325F`), ㊺ (`U+32BA`), ㊿ (`U+32BF`), (`U+1CCF5`), 𝟓 (`U+1D7D3`), 𝟧 (`U+1D7E7`), 𝟱 (`U+1D7F1`), 𝟻 (`U+1D7FB`), 🄆 (`U+1F106`), 🆠 (`U+1F1A0`)
- `cv91`:
- 6 (`U+0036`), ⁶ (`U+2076`), ₆ (`U+2086`), ⅙ (`U+2159`), ⅚ (`U+215A`), ⑥ (`U+2465`), ⑯ (`U+246F`), ⑹ (`U+2479`), ⒃ (`U+2483`), ⒍ (`U+248D`), ⒗ (`U+2497`), ⓰ (`U+24F0`), ⓺ (`U+24FA`), ❻ (`U+277B`), ➅ (`U+2785`), ➏ (`U+278F`), ㉖ (`U+3256`), ㊱ (`U+32B1`), ㊻ (`U+32BB`), 𝟔 (`U+1D7D4`), 𝟨 (`U+1D7E8`), 𝟲 (`U+1D7F2`), 𝟼 (`U+1D7FC`), 🄇 (`U+1F107`), 🆣 (`U+1F1A3`)
+ 6 (`U+0036`), ⁶ (`U+2076`), ₆ (`U+2086`), ⅙ (`U+2159`), ⅚ (`U+215A`), ⑥ (`U+2465`), ⑯ (`U+246F`), ⑹ (`U+2479`), ⒃ (`U+2483`), ⒍ (`U+248D`), ⒗ (`U+2497`), ⓰ (`U+24F0`), ⓺ (`U+24FA`), ❻ (`U+277B`), ➅ (`U+2785`), ➏ (`U+278F`), ㉖ (`U+3256`), ㊱ (`U+32B1`), ㊻ (`U+32BB`), (`U+1CCF6`), 𝟔 (`U+1D7D4`), 𝟨 (`U+1D7E8`), 𝟲 (`U+1D7F2`), 𝟼 (`U+1D7FC`), 🄇 (`U+1F107`), 🆣 (`U+1F1A3`)
- `cv92`:
- 7 (`U+0037`), ⁷ (`U+2077`), ₇ (`U+2087`), ⅐ (`U+2150`), ⅞ (`U+215E`), ⑦ (`U+2466`), ⑰ (`U+2470`), ⑺ (`U+247A`), ⒄ (`U+2484`), ⒎ (`U+248E`), ⒘ (`U+2498`), ⓱ (`U+24F1`), ⓻ (`U+24FB`), ❼ (`U+277C`), ➆ (`U+2786`), ➐ (`U+2790`), ㉗ (`U+3257`), ㊲ (`U+32B2`), ㊼ (`U+32BC`), 𝟕 (`U+1D7D5`), 𝟩 (`U+1D7E9`), 𝟳 (`U+1D7F3`), 𝟽 (`U+1D7FD`), 🄈 (`U+1F108`), 🆡 (`U+1F1A1`)
+ 7 (`U+0037`), ⁷ (`U+2077`), ₇ (`U+2087`), ⅐ (`U+2150`), ⅞ (`U+215E`), ⑦ (`U+2466`), ⑰ (`U+2470`), ⑺ (`U+247A`), ⒄ (`U+2484`), ⒎ (`U+248E`), ⒘ (`U+2498`), ⓱ (`U+24F1`), ⓻ (`U+24FB`), ❼ (`U+277C`), ➆ (`U+2786`), ➐ (`U+2790`), ㉗ (`U+3257`), ㊲ (`U+32B2`), ㊼ (`U+32BC`), (`U+1CCF7`), 𝟕 (`U+1D7D5`), 𝟩 (`U+1D7E9`), 𝟳 (`U+1D7F3`), 𝟽 (`U+1D7FD`), 🄈 (`U+1F108`), 🆡 (`U+1F1A1`)
- `cv93`:
- 8 (`U+0038`), ⁸ (`U+2078`), ₈ (`U+2088`), ⅛ (`U+215B`), ⅜ (`U+215C`), ⅝ (`U+215D`), ⅞ (`U+215E`), ⑧ (`U+2467`), ⑱ (`U+2471`), ⑻ (`U+247B`), ⒅ (`U+2485`), ⒏ (`U+248F`), ⒙ (`U+2499`), ⓲ (`U+24F2`), ⓼ (`U+24FC`), ❽ (`U+277D`), ➇ (`U+2787`), ➑ (`U+2791`), ㉘ (`U+3258`), ㊳ (`U+32B3`), ㊽ (`U+32BD`), 𝟖 (`U+1D7D6`), 𝟪 (`U+1D7EA`), 𝟴 (`U+1D7F4`), 𝟾 (`U+1D7FE`), 🄉 (`U+1F109`), 🆟 (`U+1F19F`)
+ 8 (`U+0038`), ⁸ (`U+2078`), ₈ (`U+2088`), ⅛ (`U+215B`), ⅜ (`U+215C`), ⅝ (`U+215D`), ⅞ (`U+215E`), ⑧ (`U+2467`), ⑱ (`U+2471`), ⑻ (`U+247B`), ⒅ (`U+2485`), ⒏ (`U+248F`), ⒙ (`U+2499`), ⓲ (`U+24F2`), ⓼ (`U+24FC`), ❽ (`U+277D`), ➇ (`U+2787`), ➑ (`U+2791`), ㉘ (`U+3258`), ㊳ (`U+32B3`), ㊽ (`U+32BD`), (`U+1CCF8`), 𝟖 (`U+1D7D6`), 𝟪 (`U+1D7EA`), 𝟴 (`U+1D7F4`), 𝟾 (`U+1D7FE`), 🄉 (`U+1F109`), 🆟 (`U+1F19F`)
- `cv94`:
- 9 (`U+0039`), ⁹ (`U+2079`), ₉ (`U+2089`), ⅑ (`U+2151`), ⑨ (`U+2468`), ⑲ (`U+2472`), ⑼ (`U+247C`), ⒆ (`U+2486`), ⒐ (`U+2490`), ⒚ (`U+249A`), ⓳ (`U+24F3`), ⓽ (`U+24FD`), ❾ (`U+277E`), ➈ (`U+2788`), ➒ (`U+2792`), ㉙ (`U+3259`), ㊴ (`U+32B4`), ㊾ (`U+32BE`), 𝟗 (`U+1D7D7`), 𝟫 (`U+1D7EB`), 𝟵 (`U+1D7F5`), 𝟿 (`U+1D7FF`), 🄊 (`U+1F10A`)
+ 9 (`U+0039`), ⁹ (`U+2079`), ₉ (`U+2089`), ⅑ (`U+2151`), ⑨ (`U+2468`), ⑲ (`U+2472`), ⑼ (`U+247C`), ⒆ (`U+2486`), ⒐ (`U+2490`), ⒚ (`U+249A`), ⓳ (`U+24F3`), ⓽ (`U+24FD`), ❾ (`U+277E`), ➈ (`U+2788`), ➒ (`U+2792`), ㉙ (`U+3259`), ㊴ (`U+32B4`), ㊾ (`U+32BE`), (`U+1CCF9`), 𝟗 (`U+1D7D7`), 𝟫 (`U+1D7EB`), 𝟵 (`U+1D7F5`), 𝟿 (`U+1D7FF`), 🄊 (`U+1F10A`)
- `cv95`:
@@ -468,103 +468,103 @@
- `cv01`:
- A (`U+0041`), À (`U+00C0`), Á (`U+00C1`), Â (`U+00C2`), Ã (`U+00C3`), Ä (`U+00C4`), Å (`U+00C5`), Æ (`U+00C6`), Ā (`U+0100`), Ă (`U+0102`), Ą (`U+0104`), Ǎ (`U+01CD`), Ǟ (`U+01DE`), Ǡ (`U+01E0`), Ǣ (`U+01E2`), Ǻ (`U+01FA`), Ǽ (`U+01FC`), Ȁ (`U+0200`), Ȃ (`U+0202`), Ȧ (`U+0226`), Ⱥ (`U+023A`), Ά (`U+0386`), Α (`U+0391`), А (`U+0410`), Ӑ (`U+04D0`), Ӓ (`U+04D2`), Ӕ (`U+04D4`), ᴀ (`U+1D00`), ᴁ (`U+1D01`), ᴬ (`U+1D2C`), ᴭ (`U+1D2D`), Ḁ (`U+1E00`), Ạ (`U+1EA0`), Ả (`U+1EA2`), Ấ (`U+1EA4`), Ầ (`U+1EA6`), Ẩ (`U+1EA8`), Ẫ (`U+1EAA`), Ậ (`U+1EAC`), Ắ (`U+1EAE`), Ằ (`U+1EB0`), Ẳ (`U+1EB2`), Ẵ (`U+1EB4`), Ặ (`U+1EB6`), Ἀ (`U+1F08`), Ἁ (`U+1F09`), Ἂ (`U+1F0A`), Ἃ (`U+1F0B`), Ἄ (`U+1F0C`), Ἅ (`U+1F0D`), Ἆ (`U+1F0E`), Ἇ (`U+1F0F`), ᾈ (`U+1F88`), ᾉ (`U+1F89`), ᾊ (`U+1F8A`), ᾋ (`U+1F8B`), ᾌ (`U+1F8C`), ᾍ (`U+1F8D`), ᾎ (`U+1F8E`), ᾏ (`U+1F8F`), Ᾰ (`U+1FB8`), Ᾱ (`U+1FB9`), Ὰ (`U+1FBA`), Ά (`U+1FBB`), ᾼ (`U+1FBC`), ₳ (`U+20B3`), Å (`U+212B`), ℻ (`U+213B`), ⅍ (`U+214D`), ␆ (`U+2406`), ␕ (`U+2415`), ␘ (`U+2418`), Ⓐ (`U+24B6`), Ɐ (`U+2C6F`), Ꙗ (`U+A656`), Ꜳ (`U+A732`), Ꜵ (`U+A734`), Ꜷ (`U+A736`), Ꞻ (`U+A7BA`), 𐞀 (`U+10780`), 𝐀 (`U+1D400`), 𝐴 (`U+1D434`), 𝑨 (`U+1D468`), 𝖠 (`U+1D5A0`), 𝗔 (`U+1D5D4`), 𝘈 (`U+1D608`), 𝘼 (`U+1D63C`), 𝙰 (`U+1D670`), 𝚨 (`U+1D6A8`), 𝛢 (`U+1D6E2`), 𝜜 (`U+1D71C`), 𝝖 (`U+1D756`), 𝞐 (`U+1D790`), 🄐 (`U+1F110`), 🄰 (`U+1F130`), 🅐 (`U+1F150`), 🅰 (`U+1F170`), 🆌 (`U+1F18C`), 🆍 (`U+1F18D`), 🆎 (`U+1F18E`)
+ A (`U+0041`), À (`U+00C0`), Á (`U+00C1`), Â (`U+00C2`), Ã (`U+00C3`), Ä (`U+00C4`), Å (`U+00C5`), Æ (`U+00C6`), Ā (`U+0100`), Ă (`U+0102`), Ą (`U+0104`), Ǎ (`U+01CD`), Ǟ (`U+01DE`), Ǡ (`U+01E0`), Ǣ (`U+01E2`), Ǻ (`U+01FA`), Ǽ (`U+01FC`), Ȁ (`U+0200`), Ȃ (`U+0202`), Ȧ (`U+0226`), Ⱥ (`U+023A`), Ά (`U+0386`), Α (`U+0391`), А (`U+0410`), Ӑ (`U+04D0`), Ӓ (`U+04D2`), Ӕ (`U+04D4`), ᴀ (`U+1D00`), ᴁ (`U+1D01`), ᴬ (`U+1D2C`), ᴭ (`U+1D2D`), Ḁ (`U+1E00`), Ạ (`U+1EA0`), Ả (`U+1EA2`), Ấ (`U+1EA4`), Ầ (`U+1EA6`), Ẩ (`U+1EA8`), Ẫ (`U+1EAA`), Ậ (`U+1EAC`), Ắ (`U+1EAE`), Ằ (`U+1EB0`), Ẳ (`U+1EB2`), Ẵ (`U+1EB4`), Ặ (`U+1EB6`), Ἀ (`U+1F08`), Ἁ (`U+1F09`), Ἂ (`U+1F0A`), Ἃ (`U+1F0B`), Ἄ (`U+1F0C`), Ἅ (`U+1F0D`), Ἆ (`U+1F0E`), Ἇ (`U+1F0F`), ᾈ (`U+1F88`), ᾉ (`U+1F89`), ᾊ (`U+1F8A`), ᾋ (`U+1F8B`), ᾌ (`U+1F8C`), ᾍ (`U+1F8D`), ᾎ (`U+1F8E`), ᾏ (`U+1F8F`), Ᾰ (`U+1FB8`), Ᾱ (`U+1FB9`), Ὰ (`U+1FBA`), Ά (`U+1FBB`), ᾼ (`U+1FBC`), ₳ (`U+20B3`), Å (`U+212B`), ℻ (`U+213B`), ⅍ (`U+214D`), ␆ (`U+2406`), ␕ (`U+2415`), ␘ (`U+2418`), Ⓐ (`U+24B6`), Ɐ (`U+2C6F`), Ꙗ (`U+A656`), Ꜳ (`U+A732`), Ꜵ (`U+A734`), Ꜷ (`U+A736`), Ꞻ (`U+A7BA`), 𐞀 (`U+10780`), (`U+1CCD6`), 𝐀 (`U+1D400`), 𝐴 (`U+1D434`), 𝑨 (`U+1D468`), 𝖠 (`U+1D5A0`), 𝗔 (`U+1D5D4`), 𝘈 (`U+1D608`), 𝘼 (`U+1D63C`), 𝙰 (`U+1D670`), 𝚨 (`U+1D6A8`), 𝛢 (`U+1D6E2`), 𝜜 (`U+1D71C`), 𝝖 (`U+1D756`), 𝞐 (`U+1D790`), 🄐 (`U+1F110`), 🄰 (`U+1F130`), 🅐 (`U+1F150`), 🅰 (`U+1F170`), 🆌 (`U+1F18C`), 🆍 (`U+1F18D`), 🆎 (`U+1F18E`)
- `cv02`:
- B (`U+0042`), Ɓ (`U+0181`), Ƀ (`U+0243`), ʙ (`U+0299`), Β (`U+0392`), В (`U+0412`), ฿ (`U+0E3F`), ᴃ (`U+1D03`), ᴮ (`U+1D2E`), ᴯ (`U+1D2F`), Ḃ (`U+1E02`), Ḅ (`U+1E04`), Ḇ (`U+1E06`), ₿ (`U+20BF`), ␇ (`U+2407`), ␈ (`U+2408`), ␗ (`U+2417`), ␚ (`U+241A`), Ⓑ (`U+24B7`), Ꞵ (`U+A7B4`),  (`U+FFFC`), 𐞄 (`U+10784`), 𝐁 (`U+1D401`), 𝐵 (`U+1D435`), 𝑩 (`U+1D469`), 𝖡 (`U+1D5A1`), 𝗕 (`U+1D5D5`), 𝘉 (`U+1D609`), 𝘽 (`U+1D63D`), 𝙱 (`U+1D671`), 𝚩 (`U+1D6A9`), 𝛣 (`U+1D6E3`), 𝜝 (`U+1D71D`), 𝝗 (`U+1D757`), 𝞑 (`U+1D791`), 🄑 (`U+1F111`), 🄱 (`U+1F131`), 🅑 (`U+1F151`), 🅱 (`U+1F171`), 🆎 (`U+1F18E`)
+ B (`U+0042`), Ɓ (`U+0181`), Ƀ (`U+0243`), ʙ (`U+0299`), Β (`U+0392`), В (`U+0412`), ฿ (`U+0E3F`), ᴃ (`U+1D03`), ᴮ (`U+1D2E`), ᴯ (`U+1D2F`), Ḃ (`U+1E02`), Ḅ (`U+1E04`), Ḇ (`U+1E06`), ₿ (`U+20BF`), ␇ (`U+2407`), ␈ (`U+2408`), ␗ (`U+2417`), ␚ (`U+241A`), Ⓑ (`U+24B7`), Ꞵ (`U+A7B4`),  (`U+FFFC`), 𐞄 (`U+10784`), (`U+1CCD7`), 𝐁 (`U+1D401`), 𝐵 (`U+1D435`), 𝑩 (`U+1D469`), 𝖡 (`U+1D5A1`), 𝗕 (`U+1D5D5`), 𝘉 (`U+1D609`), 𝘽 (`U+1D63D`), 𝙱 (`U+1D671`), 𝚩 (`U+1D6A9`), 𝛣 (`U+1D6E3`), 𝜝 (`U+1D71D`), 𝝗 (`U+1D757`), 𝞑 (`U+1D791`), 🄑 (`U+1F111`), 🄱 (`U+1F131`), 🅑 (`U+1F151`), 🅱 (`U+1F171`), 🆎 (`U+1F18E`)
- `cv03`:
- C (`U+0043`), © (`U+00A9`), Ç (`U+00C7`), Ć (`U+0106`), Ĉ (`U+0108`), Ċ (`U+010A`), Č (`U+010C`), Ɔ (`U+0186`), Ƈ (`U+0187`), Ə (`U+018F`), Ȼ (`U+023B`), Ϲ (`U+03F9`), Ͻ (`U+03FD`), Ͼ (`U+03FE`), Ͽ (`U+03FF`), Є (`U+0404`), С (`U+0421`), Э (`U+042D`), Ѥ (`U+0464`), Ҁ (`U+0480`), Ҫ (`U+04AA`), Ҽ (`U+04BC`), Ҿ (`U+04BE`), Ә (`U+04D8`), Ӛ (`U+04DA`), Ӭ (`U+04EC`), Ԍ (`U+050C`), ᴄ (`U+1D04`), ᴐ (`U+1D10`), Ḉ (`U+1E08`), ₡ (`U+20A1`), € (`U+20AC`), ₵ (`U+20B5`), ℃ (`U+2103`), ℈ (`U+2108`), Ⅽ (`U+216D`), Ↄ (`U+2183`), ↅ (`U+2185`), ␆ (`U+2406`), ␍ (`U+240D`), ␑ (`U+2411`), ␒ (`U+2412`), ␓ (`U+2413`), ␔ (`U+2414`), ␘ (`U+2418`), ␛ (`U+241B`), Ⓒ (`U+24B8`), Ꜿ (`U+A73E`), Ꞓ (`U+A792`), Ꞔ (`U+A7C4`), ꟲ (`U+A7F2`), (`U+E0A3`), 𝐂 (`U+1D402`), 𝐶 (`U+1D436`), 𝑪 (`U+1D46A`), 𝖢 (`U+1D5A2`), 𝗖 (`U+1D5D6`), 𝘊 (`U+1D60A`), 𝘾 (`U+1D63E`), 𝙲 (`U+1D672`), 🄒 (`U+1F112`), 🄫 (`U+1F12B`), 🄭 (`U+1F12D`), 🄯 (`U+1F12F`), 🄲 (`U+1F132`), 🅏 (`U+1F14F`), 🅒 (`U+1F152`), 🅪 (`U+1F16A`), 🅭 (`U+1F16D`), 🅮 (`U+1F16E`), 🅲 (`U+1F172`), 🆋 (`U+1F18B`), 🆏 (`U+1F18F`), 🆑 (`U+1F191`), 🆒 (`U+1F192`), 🆜 (`U+1F19C`), 🆦 (`U+1F1A6`)
+ C (`U+0043`), © (`U+00A9`), Ç (`U+00C7`), Ć (`U+0106`), Ĉ (`U+0108`), Ċ (`U+010A`), Č (`U+010C`), Ɔ (`U+0186`), Ƈ (`U+0187`), Ə (`U+018F`), Ȼ (`U+023B`), Ϲ (`U+03F9`), Ͻ (`U+03FD`), Ͼ (`U+03FE`), Ͽ (`U+03FF`), Є (`U+0404`), С (`U+0421`), Э (`U+042D`), Ѥ (`U+0464`), Ҁ (`U+0480`), Ҫ (`U+04AA`), Ҽ (`U+04BC`), Ҿ (`U+04BE`), Ә (`U+04D8`), Ӛ (`U+04DA`), Ӭ (`U+04EC`), Ԍ (`U+050C`), ᴄ (`U+1D04`), ᴐ (`U+1D10`), Ḉ (`U+1E08`), ₡ (`U+20A1`), € (`U+20AC`), ₵ (`U+20B5`), ℃ (`U+2103`), ℈ (`U+2108`), Ⅽ (`U+216D`), Ↄ (`U+2183`), ↅ (`U+2185`), ␆ (`U+2406`), ␍ (`U+240D`), ␑ (`U+2411`), ␒ (`U+2412`), ␓ (`U+2413`), ␔ (`U+2414`), ␘ (`U+2418`), ␛ (`U+241B`), Ⓒ (`U+24B8`), Ꜿ (`U+A73E`), Ꞓ (`U+A792`), Ꞔ (`U+A7C4`), ꟲ (`U+A7F2`), (`U+E0A3`), (`U+1CCD8`), 𝐂 (`U+1D402`), 𝐶 (`U+1D436`), 𝑪 (`U+1D46A`), 𝖢 (`U+1D5A2`), 𝗖 (`U+1D5D6`), 𝘊 (`U+1D60A`), 𝘾 (`U+1D63E`), 𝙲 (`U+1D672`), 🄒 (`U+1F112`), 🄫 (`U+1F12B`), 🄭 (`U+1F12D`), 🄯 (`U+1F12F`), 🄲 (`U+1F132`), 🅏 (`U+1F14F`), 🅒 (`U+1F152`), 🅪 (`U+1F16A`), 🅭 (`U+1F16D`), 🅮 (`U+1F16E`), 🅲 (`U+1F172`), 🆋 (`U+1F18B`), 🆏 (`U+1F18F`), 🆑 (`U+1F191`), 🆒 (`U+1F192`), 🆜 (`U+1F19C`), 🆦 (`U+1F1A6`)
- `cv04`:
- D (`U+0044`), Ð (`U+00D0`), Ď (`U+010E`), Đ (`U+0110`), Ɖ (`U+0189`), Ɗ (`U+018A`), DŽ (`U+01C4`), Dž (`U+01C5`), DZ (`U+01F1`), Dz (`U+01F2`), ᴅ (`U+1D05`), ᴆ (`U+1D06`), ᴰ (`U+1D30`), Ḋ (`U+1E0A`), Ḍ (`U+1E0C`), Ḏ (`U+1E0E`), Ḑ (`U+1E10`), Ḓ (`U+1E12`), ₯ (`U+20AF`), Ⅾ (`U+216E`), ↁ (`U+2181`), ↇ (`U+2187`), ␐ (`U+2410`), ␑ (`U+2411`), ␒ (`U+2412`), ␓ (`U+2413`), ␔ (`U+2414`), ␡ (`U+2421`), Ⓓ (`U+24B9`), Ꟈ (`U+A7C7`), 𝐃 (`U+1D403`), 𝐷 (`U+1D437`), 𝑫 (`U+1D46B`), 𝖣 (`U+1D5A3`), 𝗗 (`U+1D5D7`), 𝘋 (`U+1D60B`), 𝘿 (`U+1D63F`), 𝙳 (`U+1D673`), 🄓 (`U+1F113`), 🄭 (`U+1F12D`), 🄳 (`U+1F133`), 🅌 (`U+1F14C`), 🅓 (`U+1F153`), 🅫 (`U+1F16B`), 🅳 (`U+1F173`), 🆐 (`U+1F190`), 🆔 (`U+1F194`), 🆛 (`U+1F19B`), 🆜 (`U+1F19C`), 🆧 (`U+1F1A7`), 🆫 (`U+1F1AB`), 🆬 (`U+1F1AC`)
+ D (`U+0044`), Ð (`U+00D0`), Ď (`U+010E`), Đ (`U+0110`), Ɖ (`U+0189`), Ɗ (`U+018A`), DŽ (`U+01C4`), Dž (`U+01C5`), DZ (`U+01F1`), Dz (`U+01F2`), ᴅ (`U+1D05`), ᴆ (`U+1D06`), ᴰ (`U+1D30`), Ḋ (`U+1E0A`), Ḍ (`U+1E0C`), Ḏ (`U+1E0E`), Ḑ (`U+1E10`), Ḓ (`U+1E12`), ₯ (`U+20AF`), Ⅾ (`U+216E`), ↁ (`U+2181`), ↇ (`U+2187`), ␐ (`U+2410`), ␑ (`U+2411`), ␒ (`U+2412`), ␓ (`U+2413`), ␔ (`U+2414`), ␡ (`U+2421`), Ⓓ (`U+24B9`), Ꟈ (`U+A7C7`), (`U+1CCD9`), 𝐃 (`U+1D403`), 𝐷 (`U+1D437`), 𝑫 (`U+1D46B`), 𝖣 (`U+1D5A3`), 𝗗 (`U+1D5D7`), 𝘋 (`U+1D60B`), 𝘿 (`U+1D63F`), 𝙳 (`U+1D673`), 🄓 (`U+1F113`), 🄭 (`U+1F12D`), 🄳 (`U+1F133`), 🅌 (`U+1F14C`), 🅓 (`U+1F153`), 🅫 (`U+1F16B`), 🅳 (`U+1F173`), 🆐 (`U+1F190`), 🆔 (`U+1F194`), 🆛 (`U+1F19B`), 🆜 (`U+1F19C`), 🆧 (`U+1F1A7`), 🆫 (`U+1F1AB`), 🆬 (`U+1F1AC`)
- `cv05`:
- E (`U+0045`), Æ (`U+00C6`), È (`U+00C8`), É (`U+00C9`), Ê (`U+00CA`), Ë (`U+00CB`), Ē (`U+0112`), Ĕ (`U+0114`), Ė (`U+0116`), Ę (`U+0118`), Ě (`U+011A`), Œ (`U+0152`), Ǝ (`U+018E`), Ǣ (`U+01E2`), Ǽ (`U+01FC`), Ȅ (`U+0204`), Ȇ (`U+0206`), Ȩ (`U+0228`), Ɇ (`U+0246`), ɶ (`U+0276`), Έ (`U+0388`), Ε (`U+0395`), Ѐ (`U+0400`), Ё (`U+0401`), Е (`U+0415`), Ӕ (`U+04D4`), Ӗ (`U+04D6`), Ԙ (`U+0518`), ᴁ (`U+1D01`), ᴇ (`U+1D07`), ᴭ (`U+1D2D`), ᴱ (`U+1D31`), ᴲ (`U+1D32`), Ḕ (`U+1E14`), Ḗ (`U+1E16`), Ḙ (`U+1E18`), Ḛ (`U+1E1A`), Ḝ (`U+1E1C`), Ẹ (`U+1EB8`), Ẻ (`U+1EBA`), Ẽ (`U+1EBC`), Ế (`U+1EBE`), Ề (`U+1EC0`), Ể (`U+1EC2`), Ễ (`U+1EC4`), Ệ (`U+1EC6`), Ἐ (`U+1F18`), Ἑ (`U+1F19`), Ἒ (`U+1F1A`), Ἓ (`U+1F1B`), Ἔ (`U+1F1C`), Ἕ (`U+1F1D`), Ὲ (`U+1FC8`), Έ (`U+1FC9`), ℡ (`U+2121`), ␃ (`U+2403`), ␄ (`U+2404`), ␅ (`U+2405`), ␇ (`U+2407`), ␐ (`U+2410`), ␗ (`U+2417`), ␙ (`U+2419`), ␛ (`U+241B`), ␡ (`U+2421`), Ⓔ (`U+24BA`), ⱻ (`U+2C7B`), 𐞣 (`U+107A3`), 𝐄 (`U+1D404`), 𝐸 (`U+1D438`), 𝑬 (`U+1D46C`), 𝖤 (`U+1D5A4`), 𝗘 (`U+1D5D8`), 𝘌 (`U+1D60C`), 𝙀 (`U+1D640`), 𝙴 (`U+1D674`), 𝚬 (`U+1D6AC`), 𝛦 (`U+1D6E6`), 𝜠 (`U+1D720`), 𝝚 (`U+1D75A`), 𝞔 (`U+1D794`), 🄔 (`U+1F114`), 🄴 (`U+1F134`), 🅔 (`U+1F154`), 🅴 (`U+1F174`), 🆓 (`U+1F193`), 🆕 (`U+1F195`), 🆨 (`U+1F1A8`), 🆩 (`U+1F1A9`)
+ E (`U+0045`), Æ (`U+00C6`), È (`U+00C8`), É (`U+00C9`), Ê (`U+00CA`), Ë (`U+00CB`), Ē (`U+0112`), Ĕ (`U+0114`), Ė (`U+0116`), Ę (`U+0118`), Ě (`U+011A`), Œ (`U+0152`), Ǝ (`U+018E`), Ǣ (`U+01E2`), Ǽ (`U+01FC`), Ȅ (`U+0204`), Ȇ (`U+0206`), Ȩ (`U+0228`), Ɇ (`U+0246`), ɶ (`U+0276`), Έ (`U+0388`), Ε (`U+0395`), Ѐ (`U+0400`), Ё (`U+0401`), Е (`U+0415`), Ӕ (`U+04D4`), Ӗ (`U+04D6`), Ԙ (`U+0518`), ᴁ (`U+1D01`), ᴇ (`U+1D07`), ᴭ (`U+1D2D`), ᴱ (`U+1D31`), ᴲ (`U+1D32`), Ḕ (`U+1E14`), Ḗ (`U+1E16`), Ḙ (`U+1E18`), Ḛ (`U+1E1A`), Ḝ (`U+1E1C`), Ẹ (`U+1EB8`), Ẻ (`U+1EBA`), Ẽ (`U+1EBC`), Ế (`U+1EBE`), Ề (`U+1EC0`), Ể (`U+1EC2`), Ễ (`U+1EC4`), Ệ (`U+1EC6`), Ἐ (`U+1F18`), Ἑ (`U+1F19`), Ἒ (`U+1F1A`), Ἓ (`U+1F1B`), Ἔ (`U+1F1C`), Ἕ (`U+1F1D`), Ὲ (`U+1FC8`), Έ (`U+1FC9`), ℡ (`U+2121`), ␃ (`U+2403`), ␄ (`U+2404`), ␅ (`U+2405`), ␇ (`U+2407`), ␐ (`U+2410`), ␗ (`U+2417`), ␙ (`U+2419`), ␛ (`U+241B`), ␡ (`U+2421`), Ⓔ (`U+24BA`), ⱻ (`U+2C7B`), 𐞣 (`U+107A3`), (`U+1CCDA`), 𝐄 (`U+1D404`), 𝐸 (`U+1D438`), 𝑬 (`U+1D46C`), 𝖤 (`U+1D5A4`), 𝗘 (`U+1D5D8`), 𝘌 (`U+1D60C`), 𝙀 (`U+1D640`), 𝙴 (`U+1D674`), 𝚬 (`U+1D6AC`), 𝛦 (`U+1D6E6`), 𝜠 (`U+1D720`), 𝝚 (`U+1D75A`), 𝞔 (`U+1D794`), 🄔 (`U+1F114`), 🄴 (`U+1F134`), 🅔 (`U+1F154`), 🅴 (`U+1F174`), 🆓 (`U+1F193`), 🆕 (`U+1F195`), 🆨 (`U+1F1A8`), 🆩 (`U+1F1A9`)
- `cv06`:
- F (`U+0046`), Ƒ (`U+0191`), Ḟ (`U+1E1E`), ₣ (`U+20A3`), ℉ (`U+2109`), Ⅎ (`U+2132`), ℻ (`U+213B`), ⅎ (`U+214E`), ␊ (`U+240A`), ␌ (`U+240C`), ␜ (`U+241C`), Ⓕ (`U+24BB`), ꜰ (`U+A730`), Ꞙ (`U+A798`), ꟳ (`U+A7F3`), ꟻ (`U+A7FB`), 𝐅 (`U+1D405`), 𝐹 (`U+1D439`), 𝑭 (`U+1D46D`), 𝖥 (`U+1D5A5`), 𝗙 (`U+1D5D9`), 𝘍 (`U+1D60D`), 𝙁 (`U+1D641`), 𝙵 (`U+1D675`), 🄕 (`U+1F115`), 🄵 (`U+1F135`), 🅕 (`U+1F155`), 🅵 (`U+1F175`), 🆓 (`U+1F193`)
+ F (`U+0046`), Ƒ (`U+0191`), Ḟ (`U+1E1E`), ₣ (`U+20A3`), ℉ (`U+2109`), Ⅎ (`U+2132`), ℻ (`U+213B`), ⅎ (`U+214E`), ␊ (`U+240A`), ␌ (`U+240C`), ␜ (`U+241C`), Ⓕ (`U+24BB`), ꜰ (`U+A730`), Ꞙ (`U+A798`), ꟳ (`U+A7F3`), ꟻ (`U+A7FB`), (`U+1CCDB`), 𝐅 (`U+1D405`), 𝐹 (`U+1D439`), 𝑭 (`U+1D46D`), 𝖥 (`U+1D5A5`), 𝗙 (`U+1D5D9`), 𝘍 (`U+1D60D`), 𝙁 (`U+1D641`), 𝙵 (`U+1D675`), 🄕 (`U+1F115`), 🄵 (`U+1F135`), 🅕 (`U+1F155`), 🅵 (`U+1F175`), 🆓 (`U+1F193`)
- `cv07`:
- G (`U+0047`), Ĝ (`U+011C`), Ğ (`U+011E`), Ġ (`U+0120`), Ģ (`U+0122`), Ɠ (`U+0193`), Ǥ (`U+01E4`), Ǧ (`U+01E6`), Ǵ (`U+01F4`), ɢ (`U+0262`), ʛ (`U+029B`), ᴳ (`U+1D33`), ᷛ (`U+1DDB`), Ḡ (`U+1E20`), ₲ (`U+20B2`), ⅁ (`U+2141`), ␝ (`U+241D`), Ⓖ (`U+24BC`), Ꞡ (`U+A7A0`), 𐞒 (`U+10792`), 𐞔 (`U+10794`), 𝐆 (`U+1D406`), 𝐺 (`U+1D43A`), 𝑮 (`U+1D46E`), 𝖦 (`U+1D5A6`), 𝗚 (`U+1D5DA`), 𝘎 (`U+1D60E`), 𝙂 (`U+1D642`), 𝙶 (`U+1D676`), 𝼂 (`U+1DF02`), 🄖 (`U+1F116`), 🄶 (`U+1F136`), 🅖 (`U+1F156`), 🅶 (`U+1F176`), 🆖 (`U+1F196`)
+ G (`U+0047`), Ĝ (`U+011C`), Ğ (`U+011E`), Ġ (`U+0120`), Ģ (`U+0122`), Ɠ (`U+0193`), Ǥ (`U+01E4`), Ǧ (`U+01E6`), Ǵ (`U+01F4`), ɢ (`U+0262`), ʛ (`U+029B`), ᴳ (`U+1D33`), ᷛ (`U+1DDB`), Ḡ (`U+1E20`), ₲ (`U+20B2`), ⅁ (`U+2141`), ␝ (`U+241D`), Ⓖ (`U+24BC`), Ꞡ (`U+A7A0`), 𐞒 (`U+10792`), 𐞔 (`U+10794`), (`U+1CCDC`), 𝐆 (`U+1D406`), 𝐺 (`U+1D43A`), 𝑮 (`U+1D46E`), 𝖦 (`U+1D5A6`), 𝗚 (`U+1D5DA`), 𝘎 (`U+1D60E`), 𝙂 (`U+1D642`), 𝙶 (`U+1D676`), 𝼂 (`U+1DF02`), 🄖 (`U+1F116`), 🄶 (`U+1F136`), 🅖 (`U+1F156`), 🅶 (`U+1F176`), 🆖 (`U+1F196`)
- `cv08`:
- H (`U+0048`), Ĥ (`U+0124`), Ħ (`U+0126`), Ƕ (`U+01F6`), Ȟ (`U+021E`), ʜ (`U+029C`), Ͱ (`U+0370`), Ή (`U+0389`), Η (`U+0397`), Њ (`U+040A`), Н (`U+041D`), Ң (`U+04A2`), Ҥ (`U+04A4`), Ӈ (`U+04C7`), Ӊ (`U+04C9`), Ԋ (`U+050A`), Ԣ (`U+0522`), Ԩ (`U+0528`), ᴴ (`U+1D34`), Ḣ (`U+1E22`), Ḥ (`U+1E24`), Ḧ (`U+1E26`), Ḩ (`U+1E28`), Ḫ (`U+1E2A`), Ἠ (`U+1F28`), Ἡ (`U+1F29`), Ἢ (`U+1F2A`), Ἣ (`U+1F2B`), Ἤ (`U+1F2C`), Ἥ (`U+1F2D`), Ἦ (`U+1F2E`), Ἧ (`U+1F2F`), ᾘ (`U+1F98`), ᾙ (`U+1F99`), ᾚ (`U+1F9A`), ᾛ (`U+1F9B`), ᾜ (`U+1F9C`), ᾝ (`U+1F9D`), ᾞ (`U+1F9E`), ᾟ (`U+1F9F`), Ὴ (`U+1FCA`), Ή (`U+1FCB`), ῌ (`U+1FCC`), ␁ (`U+2401`), ␉ (`U+2409`), Ⓗ (`U+24BD`), Ⱨ (`U+2C67`), Ⱶ (`U+2C75`), ⱶ (`U+2C76`), Ꜧ (`U+A726`), Ɥ (`U+A78D`), Ɦ (`U+A7AA`), Ꟶ (`U+A7F5`), ꟶ (`U+A7F6`), ꟸ (`U+A7F8`), 𐞖 (`U+10796`), 𝐇 (`U+1D407`), 𝐻 (`U+1D43B`), 𝑯 (`U+1D46F`), 𝖧 (`U+1D5A7`), 𝗛 (`U+1D5DB`), 𝘏 (`U+1D60F`), 𝙃 (`U+1D643`), 𝙷 (`U+1D677`), 𝚮 (`U+1D6AE`), 𝛨 (`U+1D6E8`), 𝜢 (`U+1D722`), 𝝜 (`U+1D75C`), 𝞖 (`U+1D796`), 🄗 (`U+1F117`), 🄷 (`U+1F137`), 🅊 (`U+1F14A`), 🅗 (`U+1F157`), 🅷 (`U+1F177`), 🆦 (`U+1F1A6`), 🆧 (`U+1F1A7`), 🆨 (`U+1F1A8`), 🆪 (`U+1F1AA`), 🆫 (`U+1F1AB`)
+ H (`U+0048`), Ĥ (`U+0124`), Ħ (`U+0126`), Ƕ (`U+01F6`), Ȟ (`U+021E`), ʜ (`U+029C`), Ͱ (`U+0370`), Ή (`U+0389`), Η (`U+0397`), Њ (`U+040A`), Н (`U+041D`), Ң (`U+04A2`), Ҥ (`U+04A4`), Ӈ (`U+04C7`), Ӊ (`U+04C9`), Ԋ (`U+050A`), Ԣ (`U+0522`), Ԩ (`U+0528`), ᴴ (`U+1D34`), Ḣ (`U+1E22`), Ḥ (`U+1E24`), Ḧ (`U+1E26`), Ḩ (`U+1E28`), Ḫ (`U+1E2A`), Ἠ (`U+1F28`), Ἡ (`U+1F29`), Ἢ (`U+1F2A`), Ἣ (`U+1F2B`), Ἤ (`U+1F2C`), Ἥ (`U+1F2D`), Ἦ (`U+1F2E`), Ἧ (`U+1F2F`), ᾘ (`U+1F98`), ᾙ (`U+1F99`), ᾚ (`U+1F9A`), ᾛ (`U+1F9B`), ᾜ (`U+1F9C`), ᾝ (`U+1F9D`), ᾞ (`U+1F9E`), ᾟ (`U+1F9F`), Ὴ (`U+1FCA`), Ή (`U+1FCB`), ῌ (`U+1FCC`), ␁ (`U+2401`), ␉ (`U+2409`), Ⓗ (`U+24BD`), Ⱨ (`U+2C67`), Ⱶ (`U+2C75`), ⱶ (`U+2C76`), Ꜧ (`U+A726`), Ɥ (`U+A78D`), Ɦ (`U+A7AA`), Ꟶ (`U+A7F5`), ꟶ (`U+A7F6`), ꟸ (`U+A7F8`), 𐞖 (`U+10796`), (`U+1CCDD`), 𝐇 (`U+1D407`), 𝐻 (`U+1D43B`), 𝑯 (`U+1D46F`), 𝖧 (`U+1D5A7`), 𝗛 (`U+1D5DB`), 𝘏 (`U+1D60F`), 𝙃 (`U+1D643`), 𝙷 (`U+1D677`), 𝚮 (`U+1D6AE`), 𝛨 (`U+1D6E8`), 𝜢 (`U+1D722`), 𝝜 (`U+1D75C`), 𝞖 (`U+1D796`), 🄗 (`U+1F117`), 🄷 (`U+1F137`), 🅊 (`U+1F14A`), 🅗 (`U+1F157`), 🅷 (`U+1F177`), 🆦 (`U+1F1A6`), 🆧 (`U+1F1A7`), 🆨 (`U+1F1A8`), 🆪 (`U+1F1AA`), 🆫 (`U+1F1AB`)
- `cv09`:
- I (`U+0049`), Ì (`U+00CC`), Í (`U+00CD`), Î (`U+00CE`), Ï (`U+00CF`), Ĩ (`U+0128`), Ī (`U+012A`), Ĭ (`U+012C`), Į (`U+012E`), İ (`U+0130`), IJ (`U+0132`), Ɨ (`U+0197`), Ǐ (`U+01CF`), Ȉ (`U+0208`), Ȋ (`U+020A`), Ί (`U+038A`), Ι (`U+0399`), Ϊ (`U+03AA`), І (`U+0406`), Ї (`U+0407`), Ӏ (`U+04C0`), ᴵ (`U+1D35`), Ḭ (`U+1E2C`), Ḯ (`U+1E2E`), Ỉ (`U+1EC8`), Ị (`U+1ECA`), Ἰ (`U+1F38`), Ἱ (`U+1F39`), Ἲ (`U+1F3A`), Ἳ (`U+1F3B`), Ἴ (`U+1F3C`), Ἵ (`U+1F3D`), Ἶ (`U+1F3E`), Ἷ (`U+1F3F`), Ῐ (`U+1FD8`), Ῑ (`U+1FD9`), Ὶ (`U+1FDA`), Ί (`U+1FDB`), Ⅰ (`U+2160`), Ⅱ (`U+2161`), Ⅲ (`U+2162`), Ⅳ (`U+2163`), Ⅵ (`U+2165`), Ⅶ (`U+2166`), Ⅷ (`U+2167`), Ⅸ (`U+2168`), Ⅺ (`U+216A`), Ⅻ (`U+216B`), ␏ (`U+240F`), Ⓘ (`U+24BE`), Ꞽ (`U+A7BC`), ꟷ (`U+A7F7`), ꟾ (`U+A7FE`), 𝐈 (`U+1D408`), 𝐼 (`U+1D43C`), 𝑰 (`U+1D470`), 𝖨 (`U+1D5A8`), 𝗜 (`U+1D5DC`), 𝘐 (`U+1D610`), 𝙄 (`U+1D644`), 𝙸 (`U+1D678`), 𝚰 (`U+1D6B0`), 𝛪 (`U+1D6EA`), 𝜤 (`U+1D724`), 𝝞 (`U+1D75E`), 𝞘 (`U+1D798`), 🄘 (`U+1F118`), 🄸 (`U+1F138`), 🅘 (`U+1F158`), 🅸 (`U+1F178`), 🆋 (`U+1F18B`), 🆔 (`U+1F194`), 🆨 (`U+1F1A8`)
+ I (`U+0049`), Ì (`U+00CC`), Í (`U+00CD`), Î (`U+00CE`), Ï (`U+00CF`), Ĩ (`U+0128`), Ī (`U+012A`), Ĭ (`U+012C`), Į (`U+012E`), İ (`U+0130`), IJ (`U+0132`), Ɨ (`U+0197`), Ǐ (`U+01CF`), Ȉ (`U+0208`), Ȋ (`U+020A`), Ί (`U+038A`), Ι (`U+0399`), Ϊ (`U+03AA`), І (`U+0406`), Ї (`U+0407`), Ӏ (`U+04C0`), ᴵ (`U+1D35`), Ḭ (`U+1E2C`), Ḯ (`U+1E2E`), Ỉ (`U+1EC8`), Ị (`U+1ECA`), Ἰ (`U+1F38`), Ἱ (`U+1F39`), Ἲ (`U+1F3A`), Ἳ (`U+1F3B`), Ἴ (`U+1F3C`), Ἵ (`U+1F3D`), Ἶ (`U+1F3E`), Ἷ (`U+1F3F`), Ῐ (`U+1FD8`), Ῑ (`U+1FD9`), Ὶ (`U+1FDA`), Ί (`U+1FDB`), Ⅰ (`U+2160`), Ⅱ (`U+2161`), Ⅲ (`U+2162`), Ⅳ (`U+2163`), Ⅵ (`U+2165`), Ⅶ (`U+2166`), Ⅷ (`U+2167`), Ⅸ (`U+2168`), Ⅺ (`U+216A`), Ⅻ (`U+216B`), ␏ (`U+240F`), Ⓘ (`U+24BE`), Ꞽ (`U+A7BC`), ꟷ (`U+A7F7`), ꟾ (`U+A7FE`), (`U+1CCDE`), 𝐈 (`U+1D408`), 𝐼 (`U+1D43C`), 𝑰 (`U+1D470`), 𝖨 (`U+1D5A8`), 𝗜 (`U+1D5DC`), 𝘐 (`U+1D610`), 𝙄 (`U+1D644`), 𝙸 (`U+1D678`), 𝚰 (`U+1D6B0`), 𝛪 (`U+1D6EA`), 𝜤 (`U+1D724`), 𝝞 (`U+1D75E`), 𝞘 (`U+1D798`), 🄘 (`U+1F118`), 🄸 (`U+1F138`), 🅘 (`U+1F158`), 🅸 (`U+1F178`), 🆋 (`U+1F18B`), 🆔 (`U+1F194`), 🆨 (`U+1F1A8`)
- `cv10`:
- J (`U+004A`), IJ (`U+0132`), Ĵ (`U+0134`), LJ (`U+01C7`), NJ (`U+01CA`), Ɉ (`U+0248`), Ϳ (`U+037F`), Ј (`U+0408`), ᴊ (`U+1D0A`), ᴶ (`U+1D36`), Ⓙ (`U+24BF`), Ʝ (`U+A7B2`),  (`U+FFFC`), 𝐉 (`U+1D409`), 𝐽 (`U+1D43D`), 𝑱 (`U+1D471`), 𝖩 (`U+1D5A9`), 𝗝 (`U+1D5DD`), 𝘑 (`U+1D611`), 𝙅 (`U+1D645`), 𝙹 (`U+1D679`), 🄙 (`U+1F119`), 🄹 (`U+1F139`), 🅙 (`U+1F159`), 🅹 (`U+1F179`), 🆐 (`U+1F190`)
+ J (`U+004A`), IJ (`U+0132`), Ĵ (`U+0134`), LJ (`U+01C7`), NJ (`U+01CA`), Ɉ (`U+0248`), Ϳ (`U+037F`), Ј (`U+0408`), ᴊ (`U+1D0A`), ᴶ (`U+1D36`), Ⓙ (`U+24BF`), Ʝ (`U+A7B2`),  (`U+FFFC`), (`U+1CCDF`), 𝐉 (`U+1D409`), 𝐽 (`U+1D43D`), 𝑱 (`U+1D471`), 𝖩 (`U+1D5A9`), 𝗝 (`U+1D5DD`), 𝘑 (`U+1D611`), 𝙅 (`U+1D645`), 𝙹 (`U+1D679`), 🄙 (`U+1F119`), 🄹 (`U+1F139`), 🅙 (`U+1F159`), 🅹 (`U+1F179`), 🆐 (`U+1F190`)
- `cv11`:
- K (`U+004B`), Ķ (`U+0136`), Ƙ (`U+0198`), Ǩ (`U+01E8`), Κ (`U+039A`), Ϗ (`U+03CF`), ᴋ (`U+1D0B`), ᴷ (`U+1D37`), Ḱ (`U+1E30`), Ḳ (`U+1E32`), Ḵ (`U+1E34`), ₭ (`U+20AD`), K (`U+212A`), ␆ (`U+2406`), ␕ (`U+2415`), Ⓚ (`U+24C0`), Ⱪ (`U+2C69`), Ꝁ (`U+A740`), Ꝃ (`U+A742`), Ꝅ (`U+A744`), Ꞣ (`U+A7A2`), Ʞ (`U+A7B0`), 𝐊 (`U+1D40A`), 𝐾 (`U+1D43E`), 𝑲 (`U+1D472`), 𝖪 (`U+1D5AA`), 𝗞 (`U+1D5DE`), 𝘒 (`U+1D612`), 𝙆 (`U+1D646`), 𝙺 (`U+1D67A`), 𝚱 (`U+1D6B1`), 𝛫 (`U+1D6EB`), 𝜥 (`U+1D725`), 𝝟 (`U+1D75F`), 𝞙 (`U+1D799`), 𝼐 (`U+1DF10`), 🄚 (`U+1F11A`), 🄺 (`U+1F13A`), 🅚 (`U+1F15A`), 🅺 (`U+1F17A`), 🆗 (`U+1F197`), 🆝 (`U+1F19D`), 🆞 (`U+1F19E`), 🆟 (`U+1F19F`)
+ K (`U+004B`), Ķ (`U+0136`), Ƙ (`U+0198`), Ǩ (`U+01E8`), Κ (`U+039A`), Ϗ (`U+03CF`), ᴋ (`U+1D0B`), ᴷ (`U+1D37`), Ḱ (`U+1E30`), Ḳ (`U+1E32`), Ḵ (`U+1E34`), ₭ (`U+20AD`), K (`U+212A`), ␆ (`U+2406`), ␕ (`U+2415`), Ⓚ (`U+24C0`), Ⱪ (`U+2C69`), Ꝁ (`U+A740`), Ꝃ (`U+A742`), Ꝅ (`U+A744`), Ꞣ (`U+A7A2`), Ʞ (`U+A7B0`), (`U+1CCE0`), 𝐊 (`U+1D40A`), 𝐾 (`U+1D43E`), 𝑲 (`U+1D472`), 𝖪 (`U+1D5AA`), 𝗞 (`U+1D5DE`), 𝘒 (`U+1D612`), 𝙆 (`U+1D646`), 𝙺 (`U+1D67A`), 𝚱 (`U+1D6B1`), 𝛫 (`U+1D6EB`), 𝜥 (`U+1D725`), 𝝟 (`U+1D75F`), 𝞙 (`U+1D799`), 𝼐 (`U+1DF10`), 🄚 (`U+1F11A`), 🄺 (`U+1F13A`), 🅚 (`U+1F15A`), 🅺 (`U+1F17A`), 🆗 (`U+1F197`), 🆝 (`U+1F19D`), 🆞 (`U+1F19E`), 🆟 (`U+1F19F`)
- `cv12`:
- L (`U+004C`), Ĺ (`U+0139`), Ļ (`U+013B`), Ľ (`U+013D`), Ŀ (`U+013F`), Ł (`U+0141`), LJ (`U+01C7`), Lj (`U+01C8`), Ƚ (`U+023D`), ʟ (`U+029F`), ᴌ (`U+1D0C`), ᴸ (`U+1D38`), ᶫ (`U+1DAB`), ᷞ (`U+1DDE`), Ḷ (`U+1E36`), Ḹ (`U+1E38`), Ḻ (`U+1E3A`), Ḽ (`U+1E3C`), Ỻ (`U+1EFA`), ℡ (`U+2121`), ⅂ (`U+2142`), Ⅼ (`U+216C`), ␀ (`U+2400`), ␇ (`U+2407`), ␊ (`U+240A`), ␐ (`U+2410`), ␡ (`U+2421`),  (`U+2424`), Ⓛ (`U+24C1`), Ⱡ (`U+2C60`), Ɫ (`U+2C62`), Ꝉ (`U+A748`), Ꞁ (`U+A780`), Ɬ (`U+A7AD`), (`U+E0A1`), 𐞜 (`U+1079C`), 𝐋 (`U+1D40B`), 𝐿 (`U+1D43F`), 𝑳 (`U+1D473`), 𝖫 (`U+1D5AB`), 𝗟 (`U+1D5DF`), 𝘓 (`U+1D613`), 𝙇 (`U+1D647`), 𝙻 (`U+1D67B`), 𝼄 (`U+1DF04`), 🄛 (`U+1F11B`), 🄻 (`U+1F13B`), 🅛 (`U+1F15B`), 🅻 (`U+1F17B`), 🆑 (`U+1F191`), 🆒 (`U+1F192`), 🆩 (`U+1F1A9`)
+ L (`U+004C`), Ĺ (`U+0139`), Ļ (`U+013B`), Ľ (`U+013D`), Ŀ (`U+013F`), Ł (`U+0141`), LJ (`U+01C7`), Lj (`U+01C8`), Ƚ (`U+023D`), ʟ (`U+029F`), ᴌ (`U+1D0C`), ᴸ (`U+1D38`), ᶫ (`U+1DAB`), ᷞ (`U+1DDE`), Ḷ (`U+1E36`), Ḹ (`U+1E38`), Ḻ (`U+1E3A`), Ḽ (`U+1E3C`), Ỻ (`U+1EFA`), ℡ (`U+2121`), ⅂ (`U+2142`), Ⅼ (`U+216C`), ␀ (`U+2400`), ␇ (`U+2407`), ␊ (`U+240A`), ␐ (`U+2410`), ␡ (`U+2421`),  (`U+2424`), Ⓛ (`U+24C1`), Ⱡ (`U+2C60`), Ɫ (`U+2C62`), Ꝉ (`U+A748`), Ꞁ (`U+A780`), Ɬ (`U+A7AD`), (`U+E0A1`), 𐞜 (`U+1079C`), (`U+1CCE1`), 𝐋 (`U+1D40B`), 𝐿 (`U+1D43F`), 𝑳 (`U+1D473`), 𝖫 (`U+1D5AB`), 𝗟 (`U+1D5DF`), 𝘓 (`U+1D613`), 𝙇 (`U+1D647`), 𝙻 (`U+1D67B`), 𝼄 (`U+1DF04`), 🄛 (`U+1F11B`), 🄻 (`U+1F13B`), 🅛 (`U+1F15B`), 🅻 (`U+1F17B`), 🆑 (`U+1F191`), 🆒 (`U+1F192`), 🆩 (`U+1F1A9`)
- `cv13`:
- M (`U+004D`), Μ (`U+039C`), М (`U+041C`), Ӎ (`U+04CD`), ᴍ (`U+1D0D`), ᴹ (`U+1D39`), ᷟ (`U+1DDF`), Ḿ (`U+1E3E`), Ṁ (`U+1E40`), Ṃ (`U+1E42`), ℠ (`U+2120`), ™ (`U+2122`), Ⅿ (`U+216F`), ␙ (`U+2419`), Ⓜ (`U+24C2`), Ɱ (`U+2C6E`), Ꙧ (`U+A666`), ꟽ (`U+A7FD`), 𝐌 (`U+1D40C`), 𝑀 (`U+1D440`), 𝑴 (`U+1D474`), 𝖬 (`U+1D5AC`), 𝗠 (`U+1D5E0`), 𝘔 (`U+1D614`), 𝙈 (`U+1D648`), 𝙼 (`U+1D67C`), 𝚳 (`U+1D6B3`), 𝛭 (`U+1D6ED`), 𝜧 (`U+1D727`), 𝝡 (`U+1D761`), 𝞛 (`U+1D79B`), 🄜 (`U+1F11C`), 🄼 (`U+1F13C`), 🅋 (`U+1F14B`), 🅜 (`U+1F15C`), 🅪 (`U+1F16A`), 🅫 (`U+1F16B`), 🅬 (`U+1F16C`), 🅼 (`U+1F17C`), 🆭 (`U+1F1AD`)
+ M (`U+004D`), Μ (`U+039C`), М (`U+041C`), Ӎ (`U+04CD`), ᴍ (`U+1D0D`), ᴹ (`U+1D39`), ᷟ (`U+1DDF`), Ḿ (`U+1E3E`), Ṁ (`U+1E40`), Ṃ (`U+1E42`), ℠ (`U+2120`), ™ (`U+2122`), Ⅿ (`U+216F`), ␙ (`U+2419`), Ⓜ (`U+24C2`), Ɱ (`U+2C6E`), Ꙧ (`U+A666`), ꟽ (`U+A7FD`), (`U+1CCE2`), 𝐌 (`U+1D40C`), 𝑀 (`U+1D440`), 𝑴 (`U+1D474`), 𝖬 (`U+1D5AC`), 𝗠 (`U+1D5E0`), 𝘔 (`U+1D614`), 𝙈 (`U+1D648`), 𝙼 (`U+1D67C`), 𝚳 (`U+1D6B3`), 𝛭 (`U+1D6ED`), 𝜧 (`U+1D727`), 𝝡 (`U+1D761`), 𝞛 (`U+1D79B`), 🄜 (`U+1F11C`), 🄼 (`U+1F13C`), 🅋 (`U+1F14B`), 🅜 (`U+1F15C`), 🅪 (`U+1F16A`), 🅫 (`U+1F16B`), 🅬 (`U+1F16C`), 🅼 (`U+1F17C`), 🆭 (`U+1F1AD`)
- `cv14`:
- N (`U+004E`), Ñ (`U+00D1`), Ń (`U+0143`), Ņ (`U+0145`), Ň (`U+0147`), Ŋ (`U+014A`), Ɲ (`U+019D`), NJ (`U+01CA`), Nj (`U+01CB`), Ǹ (`U+01F8`), ɴ (`U+0274`), Ν (`U+039D`), ᴎ (`U+1D0E`), ᴺ (`U+1D3A`), ᴻ (`U+1D3B`), ᶰ (`U+1DB0`), ᷡ (`U+1DE1`), Ṅ (`U+1E44`), Ṇ (`U+1E46`), Ṉ (`U+1E48`), Ṋ (`U+1E4A`), ₦ (`U+20A6`), № (`U+2116`), ␀ (`U+2400`), ␅ (`U+2405`), ␕ (`U+2415`), ␖ (`U+2416`), ␘ (`U+2418`),  (`U+2424`), Ⓝ (`U+24C3`), Ꞑ (`U+A790`), Ꞥ (`U+A7A4`), (`U+E0A1`), (`U+E0A3`), 𝐍 (`U+1D40D`), 𝑁 (`U+1D441`), 𝑵 (`U+1D475`), 𝖭 (`U+1D5AD`), 𝗡 (`U+1D5E1`), 𝘕 (`U+1D615`), 𝙉 (`U+1D649`), 𝙽 (`U+1D67D`), 𝚴 (`U+1D6B4`), 𝛮 (`U+1D6EE`), 𝜨 (`U+1D728`), 𝝢 (`U+1D762`), 𝞜 (`U+1D79C`), 🄝 (`U+1F11D`), 🄽 (`U+1F13D`), 🅝 (`U+1F15D`), 🅽 (`U+1F17D`), 🆕 (`U+1F195`), 🆖 (`U+1F196`), 🆜 (`U+1F19C`)
+ N (`U+004E`), Ñ (`U+00D1`), Ń (`U+0143`), Ņ (`U+0145`), Ň (`U+0147`), Ŋ (`U+014A`), Ɲ (`U+019D`), NJ (`U+01CA`), Nj (`U+01CB`), Ǹ (`U+01F8`), ɴ (`U+0274`), Ν (`U+039D`), ᴎ (`U+1D0E`), ᴺ (`U+1D3A`), ᴻ (`U+1D3B`), ᶰ (`U+1DB0`), ᷡ (`U+1DE1`), Ṅ (`U+1E44`), Ṇ (`U+1E46`), Ṉ (`U+1E48`), Ṋ (`U+1E4A`), ₦ (`U+20A6`), № (`U+2116`), ␀ (`U+2400`), ␅ (`U+2405`), ␕ (`U+2415`), ␖ (`U+2416`), ␘ (`U+2418`),  (`U+2424`), Ⓝ (`U+24C3`), Ꞑ (`U+A790`), Ꞥ (`U+A7A4`), (`U+E0A1`), (`U+E0A3`), (`U+1CCE3`), 𝐍 (`U+1D40D`), 𝑁 (`U+1D441`), 𝑵 (`U+1D475`), 𝖭 (`U+1D5AD`), 𝗡 (`U+1D5E1`), 𝘕 (`U+1D615`), 𝙉 (`U+1D649`), 𝙽 (`U+1D67D`), 𝚴 (`U+1D6B4`), 𝛮 (`U+1D6EE`), 𝜨 (`U+1D728`), 𝝢 (`U+1D762`), 𝞜 (`U+1D79C`), 🄝 (`U+1F11D`), 🄽 (`U+1F13D`), 🅝 (`U+1F15D`), 🅽 (`U+1F17D`), 🆕 (`U+1F195`), 🆖 (`U+1F196`), 🆜 (`U+1F19C`)
- `cv15`:
- P (`U+0050`), Ƥ (`U+01A4`), Ρ (`U+03A1`), Р (`U+0420`), Ҏ (`U+048E`), Ԗ (`U+0516`), ᴘ (`U+1D18`), ᴩ (`U+1D29`), ᴾ (`U+1D3E`), Ṕ (`U+1E54`), Ṗ (`U+1E56`), Ῥ (`U+1FEC`), ₧ (`U+20A7`), ₱ (`U+20B1`), ₽ (`U+20BD`), ℗ (`U+2117`), ␠ (`U+2420`), Ⓟ (`U+24C5`), Ᵽ (`U+2C63`), Ꝑ (`U+A750`), ꟼ (`U+A7FC`), 𝐏 (`U+1D40F`), 𝑃 (`U+1D443`), 𝑷 (`U+1D477`), 𝖯 (`U+1D5AF`), 𝗣 (`U+1D5E3`), 𝘗 (`U+1D617`), 𝙋 (`U+1D64B`), 𝙿 (`U+1D67F`), 𝚸 (`U+1D6B8`), 𝛲 (`U+1D6F2`), 𝜬 (`U+1D72C`), 𝝦 (`U+1D766`), 𝞠 (`U+1D7A0`), 🄟 (`U+1F11F`), 🄿 (`U+1F13F`), 🅎 (`U+1F14E`), 🅟 (`U+1F15F`), 🅿 (`U+1F17F`), 🆌 (`U+1F18C`), 🆙 (`U+1F199`), 🆣 (`U+1F1A3`), 🆤 (`U+1F1A4`)
+ P (`U+0050`), Ƥ (`U+01A4`), Ρ (`U+03A1`), Р (`U+0420`), Ҏ (`U+048E`), Ԗ (`U+0516`), ᴘ (`U+1D18`), ᴩ (`U+1D29`), ᴾ (`U+1D3E`), Ṕ (`U+1E54`), Ṗ (`U+1E56`), Ῥ (`U+1FEC`), ₧ (`U+20A7`), ₱ (`U+20B1`), ₽ (`U+20BD`), ℗ (`U+2117`), ␠ (`U+2420`), Ⓟ (`U+24C5`), Ᵽ (`U+2C63`), Ꝑ (`U+A750`), ꟼ (`U+A7FC`), (`U+1CCE5`), 𝐏 (`U+1D40F`), 𝑃 (`U+1D443`), 𝑷 (`U+1D477`), 𝖯 (`U+1D5AF`), 𝗣 (`U+1D5E3`), 𝘗 (`U+1D617`), 𝙋 (`U+1D64B`), 𝙿 (`U+1D67F`), 𝚸 (`U+1D6B8`), 𝛲 (`U+1D6F2`), 𝜬 (`U+1D72C`), 𝝦 (`U+1D766`), 𝞠 (`U+1D7A0`), 🄟 (`U+1F11F`), 🄿 (`U+1F13F`), 🅎 (`U+1F14E`), 🅟 (`U+1F15F`), 🅿 (`U+1F17F`), 🆌 (`U+1F18C`), 🆙 (`U+1F199`), 🆣 (`U+1F1A3`), 🆤 (`U+1F1A4`)
- `cv16`:
- Q (`U+0051`), Ԛ (`U+051A`), ℺ (`U+213A`), ␅ (`U+2405`), Ⓠ (`U+24C6`), ꞯ (`U+A7AF`), ꟴ (`U+A7F4`), 𝐐 (`U+1D410`), 𝑄 (`U+1D444`), 𝑸 (`U+1D478`), 𝖰 (`U+1D5B0`), 𝗤 (`U+1D5E4`), 𝘘 (`U+1D618`), 𝙌 (`U+1D64C`), 𝚀 (`U+1D680`), 🄠 (`U+1F120`), 🅀 (`U+1F140`), 🅠 (`U+1F160`), 🆀 (`U+1F180`)
+ Q (`U+0051`), Ԛ (`U+051A`), ℺ (`U+213A`), ␅ (`U+2405`), Ⓠ (`U+24C6`), ꞯ (`U+A7AF`), ꟴ (`U+A7F4`), (`U+1CCE6`), 𝐐 (`U+1D410`), 𝑄 (`U+1D444`), 𝑸 (`U+1D478`), 𝖰 (`U+1D5B0`), 𝗤 (`U+1D5E4`), 𝘘 (`U+1D618`), 𝙌 (`U+1D64C`), 𝚀 (`U+1D680`), 🄠 (`U+1F120`), 🅀 (`U+1F140`), 🅠 (`U+1F160`), 🆀 (`U+1F180`)
- `cv17`:
- R (`U+0052`), ® (`U+00AE`), Ŕ (`U+0154`), Ŗ (`U+0156`), Ř (`U+0158`), Ʀ (`U+01A6`), Ȑ (`U+0210`), Ȓ (`U+0212`), Ɍ (`U+024C`), ʀ (`U+0280`), ʁ (`U+0281`), ʶ (`U+02B6`), ᴙ (`U+1D19`), ᴚ (`U+1D1A`), ᴿ (`U+1D3F`), ᷢ (`U+1DE2`), ᷣ (`U+1DE3`), Ṙ (`U+1E58`), Ṛ (`U+1E5A`), Ṝ (`U+1E5C`), Ṟ (`U+1E5E`), ₨ (`U+20A8`), ₹ (`U+20B9`), ␍ (`U+240D`), ␞ (`U+241E`), Ⓡ (`U+24C7`), Ɽ (`U+2C64`), Ꝛ (`U+A75A`), ꝛ (`U+A75B`), Ꞧ (`U+A7A6`), ꭆ (`U+AB46`), 𐞪 (`U+107AA`), 𝐑 (`U+1D411`), 𝑅 (`U+1D445`), 𝑹 (`U+1D479`), 𝖱 (`U+1D5B1`), 𝗥 (`U+1D5E5`), 𝘙 (`U+1D619`), 𝙍 (`U+1D64D`), 𝚁 (`U+1D681`), 🄡 (`U+1F121`), 🄬 (`U+1F12C`), 🅁 (`U+1F141`), 🅡 (`U+1F161`), 🅬 (`U+1F16C`), 🆁 (`U+1F181`), 🆓 (`U+1F193`), 🆜 (`U+1F19C`), 🆧 (`U+1F1A7`), 🆨 (`U+1F1A8`)
+ R (`U+0052`), ® (`U+00AE`), Ŕ (`U+0154`), Ŗ (`U+0156`), Ř (`U+0158`), Ʀ (`U+01A6`), Ȑ (`U+0210`), Ȓ (`U+0212`), Ɍ (`U+024C`), ʀ (`U+0280`), ʁ (`U+0281`), ʶ (`U+02B6`), ᴙ (`U+1D19`), ᴚ (`U+1D1A`), ᴿ (`U+1D3F`), ᷢ (`U+1DE2`), ᷣ (`U+1DE3`), Ṙ (`U+1E58`), Ṛ (`U+1E5A`), Ṝ (`U+1E5C`), Ṟ (`U+1E5E`), ₨ (`U+20A8`), ₹ (`U+20B9`), ␍ (`U+240D`), ␞ (`U+241E`), Ⓡ (`U+24C7`), Ɽ (`U+2C64`), Ꝛ (`U+A75A`), ꝛ (`U+A75B`), Ꞧ (`U+A7A6`), ꭆ (`U+AB46`), 𐞪 (`U+107AA`), (`U+1CCE7`), 𝐑 (`U+1D411`), 𝑅 (`U+1D445`), 𝑹 (`U+1D479`), 𝖱 (`U+1D5B1`), 𝗥 (`U+1D5E5`), 𝘙 (`U+1D619`), 𝙍 (`U+1D64D`), 𝚁 (`U+1D681`), 🄡 (`U+1F121`), 🄬 (`U+1F12C`), 🅁 (`U+1F141`), 🅡 (`U+1F161`), 🅬 (`U+1F16C`), 🆁 (`U+1F181`), 🆓 (`U+1F193`), 🆜 (`U+1F19C`), 🆧 (`U+1F1A7`), 🆨 (`U+1F1A8`)
- `cv18`:
- $ (`U+0024`), S (`U+0053`), Ś (`U+015A`), Ŝ (`U+015C`), Ş (`U+015E`), Š (`U+0160`), Ƨ (`U+01A7`), Ș (`U+0218`), Ѕ (`U+0405`), Ṡ (`U+1E60`), Ṣ (`U+1E62`), Ṥ (`U+1E64`), Ṧ (`U+1E66`), Ṩ (`U+1E68`), ₴ (`U+20B4`), ℠ (`U+2120`), ⅍ (`U+214D`), ␁ (`U+2401`), ␂ (`U+2402`), ␈ (`U+2408`), ␎ (`U+240E`), ␏ (`U+240F`), ␖ (`U+2416`), ␚ (`U+241A`), ␛ (`U+241B`), ␜ (`U+241C`), ␝ (`U+241D`), ␞ (`U+241E`), ␟ (`U+241F`), ␠ (`U+2420`), Ⓢ (`U+24C8`), Ȿ (`U+2C7E`), Ꙅ (`U+A644`), ꜱ (`U+A731`), Ꞩ (`U+A7A8`), Ʂ (`U+A7C5`), Ꟊ (`U+A7C9`), 𝐒 (`U+1D412`), 𝑆 (`U+1D446`), 𝑺 (`U+1D47A`), 𝖲 (`U+1D5B2`), 𝗦 (`U+1D5E6`), 𝘚 (`U+1D61A`), 𝙎 (`U+1D64E`), 𝚂 (`U+1D682`), 🄏 (`U+1F10F`), 🄢 (`U+1F122`), 🄪 (`U+1F12A`), 🅂 (`U+1F142`), 🅌 (`U+1F14C`), 🅍 (`U+1F14D`), 🅢 (`U+1F162`), 🆂 (`U+1F182`), 🆍 (`U+1F18D`), 🆘 (`U+1F198`), 🆚 (`U+1F19A`), 🆜 (`U+1F19C`), 🆨 (`U+1F1A8`), 🆩 (`U+1F1A9`), 🆪 (`U+1F1AA`)
+ $ (`U+0024`), S (`U+0053`), Ś (`U+015A`), Ŝ (`U+015C`), Ş (`U+015E`), Š (`U+0160`), Ƨ (`U+01A7`), Ș (`U+0218`), Ѕ (`U+0405`), Ṡ (`U+1E60`), Ṣ (`U+1E62`), Ṥ (`U+1E64`), Ṧ (`U+1E66`), Ṩ (`U+1E68`), ₴ (`U+20B4`), ℠ (`U+2120`), ⅍ (`U+214D`), ␁ (`U+2401`), ␂ (`U+2402`), ␈ (`U+2408`), ␎ (`U+240E`), ␏ (`U+240F`), ␖ (`U+2416`), ␚ (`U+241A`), ␛ (`U+241B`), ␜ (`U+241C`), ␝ (`U+241D`), ␞ (`U+241E`), ␟ (`U+241F`), ␠ (`U+2420`), Ⓢ (`U+24C8`), Ȿ (`U+2C7E`), Ꙅ (`U+A644`), ꜱ (`U+A731`), Ꞩ (`U+A7A8`), Ʂ (`U+A7C5`), Ꟊ (`U+A7C9`), (`U+1CCE8`), 𝐒 (`U+1D412`), 𝑆 (`U+1D446`), 𝑺 (`U+1D47A`), 𝖲 (`U+1D5B2`), 𝗦 (`U+1D5E6`), 𝘚 (`U+1D61A`), 𝙎 (`U+1D64E`), 𝚂 (`U+1D682`), 🄏 (`U+1F10F`), 🄢 (`U+1F122`), 🄪 (`U+1F12A`), 🅂 (`U+1F142`), 🅌 (`U+1F14C`), 🅍 (`U+1F14D`), 🅢 (`U+1F162`), 🆂 (`U+1F182`), 🆍 (`U+1F18D`), 🆘 (`U+1F198`), 🆚 (`U+1F19A`), 🆜 (`U+1F19C`), 🆨 (`U+1F1A8`), 🆩 (`U+1F1A9`), 🆪 (`U+1F1AA`)
- `cv19`:
- T (`U+0054`), Ţ (`U+0162`), Ť (`U+0164`), Ŧ (`U+0166`), Ƭ (`U+01AC`), Ʈ (`U+01AE`), Ț (`U+021A`), Ⱦ (`U+023E`), Τ (`U+03A4`), Т (`U+0422`), Ҭ (`U+04AC`), Ҵ (`U+04B4`), Ԏ (`U+050E`), ᲄ (`U+1C84`), ᴛ (`U+1D1B`), ᵀ (`U+1D40`), Ṫ (`U+1E6A`), Ṭ (`U+1E6C`), Ṯ (`U+1E6E`), Ṱ (`U+1E70`), ₮ (`U+20AE`), ₸ (`U+20B8`), ℡ (`U+2121`), ™ (`U+2122`), ␂ (`U+2402`), ␃ (`U+2403`), ␄ (`U+2404`), ␉ (`U+2409`), ␋ (`U+240B`), ␗ (`U+2417`), Ⓣ (`U+24C9`), ⷵ (`U+2DF5`), Ꚋ (`U+A68A`), Ꚍ (`U+A68C`), ꚍ (`U+A68D`), Ʇ (`U+A7B1`), 𝐓 (`U+1D413`), 𝑇 (`U+1D447`), 𝑻 (`U+1D47B`), 𝖳 (`U+1D5B3`), 𝗧 (`U+1D5E7`), 𝘛 (`U+1D61B`), 𝙏 (`U+1D64F`), 𝚃 (`U+1D683`), 𝚻 (`U+1D6BB`), 𝛵 (`U+1D6F5`), 𝜯 (`U+1D72F`), 𝝩 (`U+1D769`), 𝞣 (`U+1D7A3`), 🄣 (`U+1F123`), 🅃 (`U+1F143`), 🅣 (`U+1F163`), 🆃 (`U+1F183`)
+ T (`U+0054`), Ţ (`U+0162`), Ť (`U+0164`), Ŧ (`U+0166`), Ƭ (`U+01AC`), Ʈ (`U+01AE`), Ț (`U+021A`), Ⱦ (`U+023E`), Τ (`U+03A4`), Т (`U+0422`), Ҭ (`U+04AC`), Ҵ (`U+04B4`), Ԏ (`U+050E`), ᲄ (`U+1C84`), ᴛ (`U+1D1B`), ᵀ (`U+1D40`), Ṫ (`U+1E6A`), Ṭ (`U+1E6C`), Ṯ (`U+1E6E`), Ṱ (`U+1E70`), ₮ (`U+20AE`), ₸ (`U+20B8`), ℡ (`U+2121`), ™ (`U+2122`), ␂ (`U+2402`), ␃ (`U+2403`), ␄ (`U+2404`), ␉ (`U+2409`), ␋ (`U+240B`), ␗ (`U+2417`), Ⓣ (`U+24C9`), Ꚋ (`U+A68A`), Ꚍ (`U+A68C`), ꚍ (`U+A68D`), Ʇ (`U+A7B1`), (`U+1CCE9`), 𝐓 (`U+1D413`), 𝑇 (`U+1D447`), 𝑻 (`U+1D47B`), 𝖳 (`U+1D5B3`), 𝗧 (`U+1D5E7`), 𝘛 (`U+1D61B`), 𝙏 (`U+1D64F`), 𝚃 (`U+1D683`), 𝚻 (`U+1D6BB`), 𝛵 (`U+1D6F5`), 𝜯 (`U+1D72F`), 𝝩 (`U+1D769`), 𝞣 (`U+1D7A3`), 🄣 (`U+1F123`), 🅃 (`U+1F143`), 🅣 (`U+1F163`), 🆃 (`U+1F183`)
- `cv20`:
- U (`U+0055`), Ù (`U+00D9`), Ú (`U+00DA`), Û (`U+00DB`), Ü (`U+00DC`), Ũ (`U+0168`), Ū (`U+016A`), Ŭ (`U+016C`), Ů (`U+016E`), Ű (`U+0170`), Ų (`U+0172`), Ư (`U+01AF`), Ǔ (`U+01D3`), Ǖ (`U+01D5`), Ǘ (`U+01D7`), Ǚ (`U+01D9`), Ǜ (`U+01DB`), Ȕ (`U+0214`), Ȗ (`U+0216`), Ʉ (`U+0244`), ᴜ (`U+1D1C`), ᵁ (`U+1D41`), ᵾ (`U+1D7E`), ᶸ (`U+1DB8`), Ṳ (`U+1E72`), Ṵ (`U+1E74`), Ṷ (`U+1E76`), Ṹ (`U+1E78`), Ṻ (`U+1E7A`), Ụ (`U+1EE4`), Ủ (`U+1EE6`), Ứ (`U+1EE8`), Ừ (`U+1EEA`), Ử (`U+1EEC`), Ữ (`U+1EEE`), Ự (`U+1EF0`), ␀ (`U+2400`), ␚ (`U+241A`), ␟ (`U+241F`), Ⓤ (`U+24CA`), Ꜷ (`U+A736`), Ꞹ (`U+A7B8`), Ꞿ (`U+A7BE`), 𝐔 (`U+1D414`), 𝑈 (`U+1D448`), 𝑼 (`U+1D47C`), 𝖴 (`U+1D5B4`), 𝗨 (`U+1D5E8`), 𝘜 (`U+1D61C`), 𝙐 (`U+1D650`), 𝚄 (`U+1D684`), 🄤 (`U+1F124`), 🅄 (`U+1F144`), 🅤 (`U+1F164`), 🆄 (`U+1F184`), 🆙 (`U+1F199`), 🆫 (`U+1F1AB`)
+ U (`U+0055`), Ù (`U+00D9`), Ú (`U+00DA`), Û (`U+00DB`), Ü (`U+00DC`), Ũ (`U+0168`), Ū (`U+016A`), Ŭ (`U+016C`), Ů (`U+016E`), Ű (`U+0170`), Ų (`U+0172`), Ư (`U+01AF`), Ǔ (`U+01D3`), Ǖ (`U+01D5`), Ǘ (`U+01D7`), Ǚ (`U+01D9`), Ǜ (`U+01DB`), Ȕ (`U+0214`), Ȗ (`U+0216`), Ʉ (`U+0244`), ᴜ (`U+1D1C`), ᵁ (`U+1D41`), ᵾ (`U+1D7E`), ᶸ (`U+1DB8`), Ṳ (`U+1E72`), Ṵ (`U+1E74`), Ṷ (`U+1E76`), Ṹ (`U+1E78`), Ṻ (`U+1E7A`), Ụ (`U+1EE4`), Ủ (`U+1EE6`), Ứ (`U+1EE8`), Ừ (`U+1EEA`), Ử (`U+1EEC`), Ữ (`U+1EEE`), Ự (`U+1EF0`), ␀ (`U+2400`), ␚ (`U+241A`), ␟ (`U+241F`), Ⓤ (`U+24CA`), Ꜷ (`U+A736`), Ꞹ (`U+A7B8`), Ꞿ (`U+A7BE`), (`U+1CCEA`), 𝐔 (`U+1D414`), 𝑈 (`U+1D448`), 𝑼 (`U+1D47C`), 𝖴 (`U+1D5B4`), 𝗨 (`U+1D5E8`), 𝘜 (`U+1D61C`), 𝙐 (`U+1D650`), 𝚄 (`U+1D684`), 🄤 (`U+1F124`), 🅄 (`U+1F144`), 🅤 (`U+1F164`), 🆄 (`U+1F184`), 🆙 (`U+1F199`), 🆫 (`U+1F1AB`)
- `cv21`:
- V (`U+0056`), Ʋ (`U+01B2`), Ʌ (`U+0245`), Ѵ (`U+0474`), Ѷ (`U+0476`), ᴠ (`U+1D20`), Ṽ (`U+1E7C`), Ṿ (`U+1E7E`), Ⅳ (`U+2163`), Ⅴ (`U+2164`), Ⅵ (`U+2165`), Ⅶ (`U+2166`), Ⅷ (`U+2167`), ␋ (`U+240B`), Ⓥ (`U+24CB`), ⱽ (`U+2C7D`), Ꙋ (`U+A64A`), Ꙟ (`U+A65E`), 𝐕 (`U+1D415`), 𝑉 (`U+1D449`), 𝑽 (`U+1D47D`), 𝖵 (`U+1D5B5`), 𝗩 (`U+1D5E9`), 𝘝 (`U+1D61D`), 𝙑 (`U+1D651`), 𝚅 (`U+1D685`), 🄥 (`U+1F125`), 🅅 (`U+1F145`), 🅊 (`U+1F14A`), 🅋 (`U+1F14B`), 🅎 (`U+1F14E`), 🅥 (`U+1F165`), 🆅 (`U+1F185`), 🆚 (`U+1F19A`), 🆪 (`U+1F1AA`), 🆬 (`U+1F1AC`)
+ V (`U+0056`), Ʋ (`U+01B2`), Ʌ (`U+0245`), Ѵ (`U+0474`), Ѷ (`U+0476`), ᴠ (`U+1D20`), Ṽ (`U+1E7C`), Ṿ (`U+1E7E`), Ⅳ (`U+2163`), Ⅴ (`U+2164`), Ⅵ (`U+2165`), Ⅶ (`U+2166`), Ⅷ (`U+2167`), ␋ (`U+240B`), Ⓥ (`U+24CB`), ⱽ (`U+2C7D`), Ꙋ (`U+A64A`), Ꙟ (`U+A65E`), (`U+1CCEB`), 𝐕 (`U+1D415`), 𝑉 (`U+1D449`), 𝑽 (`U+1D47D`), 𝖵 (`U+1D5B5`), 𝗩 (`U+1D5E9`), 𝘝 (`U+1D61D`), 𝙑 (`U+1D651`), 𝚅 (`U+1D685`), 🄥 (`U+1F125`), 🅅 (`U+1F145`), 🅊 (`U+1F14A`), 🅋 (`U+1F14B`), 🅎 (`U+1F14E`), 🅥 (`U+1F165`), 🆅 (`U+1F185`), 🆚 (`U+1F19A`), 🆪 (`U+1F1AA`), 🆬 (`U+1F1AC`)
- `cv22`:
- W (`U+0057`), Ŵ (`U+0174`), Ԝ (`U+051C`), ᴡ (`U+1D21`), ᵂ (`U+1D42`), Ẁ (`U+1E80`), Ẃ (`U+1E82`), Ẅ (`U+1E84`), Ẇ (`U+1E86`), Ẉ (`U+1E88`), ₩ (`U+20A9`), Ⓦ (`U+24CC`), Ⱳ (`U+2C72`), 𝐖 (`U+1D416`), 𝑊 (`U+1D44A`), 𝑾 (`U+1D47E`), 𝖶 (`U+1D5B6`), 𝗪 (`U+1D5EA`), 𝘞 (`U+1D61E`), 𝙒 (`U+1D652`), 𝚆 (`U+1D686`), 🄦 (`U+1F126`), 🄮 (`U+1F12E`), 🅆 (`U+1F146`), 🅏 (`U+1F14F`), 🅦 (`U+1F166`), 🆆 (`U+1F186`), 🆏 (`U+1F18F`), 🆕 (`U+1F195`)
+ W (`U+0057`), Ŵ (`U+0174`), Ԝ (`U+051C`), ᴡ (`U+1D21`), ᵂ (`U+1D42`), Ẁ (`U+1E80`), Ẃ (`U+1E82`), Ẅ (`U+1E84`), Ẇ (`U+1E86`), Ẉ (`U+1E88`), ₩ (`U+20A9`), Ⓦ (`U+24CC`), Ⱳ (`U+2C72`), (`U+1CCEC`), 𝐖 (`U+1D416`), 𝑊 (`U+1D44A`), 𝑾 (`U+1D47E`), 𝖶 (`U+1D5B6`), 𝗪 (`U+1D5EA`), 𝘞 (`U+1D61E`), 𝙒 (`U+1D652`), 𝚆 (`U+1D686`), 🄦 (`U+1F126`), 🄮 (`U+1F12E`), 🅆 (`U+1F146`), 🅏 (`U+1F14F`), 🅦 (`U+1F166`), 🆆 (`U+1F186`), 🆏 (`U+1F18F`), 🆕 (`U+1F195`)
- `cv23`:
- X (`U+0058`), Χ (`U+03A7`), Х (`U+0425`), Ҳ (`U+04B2`), Ӽ (`U+04FC`), Ӿ (`U+04FE`), Ԕ (`U+0514`), Ԗ (`U+0516`), Ẋ (`U+1E8A`), Ẍ (`U+1E8C`), ℻ (`U+213B`), Ⅸ (`U+2168`), Ⅹ (`U+2169`), Ⅺ (`U+216A`), Ⅻ (`U+216B`), ␂ (`U+2402`), ␃ (`U+2403`), Ⓧ (`U+24CD`), Ꭓ (`U+A7B3`), 𝐗 (`U+1D417`), 𝑋 (`U+1D44B`), 𝑿 (`U+1D47F`), 𝖷 (`U+1D5B7`), 𝗫 (`U+1D5EB`), 𝘟 (`U+1D61F`), 𝙓 (`U+1D653`), 𝚇 (`U+1D687`), 𝚾 (`U+1D6BE`), 𝛸 (`U+1D6F8`), 𝜲 (`U+1D732`), 𝝬 (`U+1D76C`), 𝞦 (`U+1D7A6`), 🄧 (`U+1F127`), 🅇 (`U+1F147`), 🅧 (`U+1F167`), 🆇 (`U+1F187`)
+ X (`U+0058`), Χ (`U+03A7`), Х (`U+0425`), Ҳ (`U+04B2`), Ӽ (`U+04FC`), Ӿ (`U+04FE`), Ԕ (`U+0514`), Ԗ (`U+0516`), Ẋ (`U+1E8A`), Ẍ (`U+1E8C`), ℻ (`U+213B`), Ⅸ (`U+2168`), Ⅹ (`U+2169`), Ⅺ (`U+216A`), Ⅻ (`U+216B`), ␂ (`U+2402`), ␃ (`U+2403`), Ⓧ (`U+24CD`), Ꭓ (`U+A7B3`), (`U+1CCED`), 𝐗 (`U+1D417`), 𝑋 (`U+1D44B`), 𝑿 (`U+1D47F`), 𝖷 (`U+1D5B7`), 𝗫 (`U+1D5EB`), 𝘟 (`U+1D61F`), 𝙓 (`U+1D653`), 𝚇 (`U+1D687`), 𝚾 (`U+1D6BE`), 𝛸 (`U+1D6F8`), 𝜲 (`U+1D732`), 𝝬 (`U+1D76C`), 𝞦 (`U+1D7A6`), 🄧 (`U+1F127`), 🅇 (`U+1F147`), 🅧 (`U+1F167`), 🆇 (`U+1F187`)
- `cv24`:
- Y (`U+0059`), ¥ (`U+00A5`), Ý (`U+00DD`), Ŷ (`U+0176`), Ÿ (`U+0178`), Ƴ (`U+01B3`), Ȳ (`U+0232`), Ɏ (`U+024E`), ʏ (`U+028F`), Ύ (`U+038E`), Υ (`U+03A5`), Ϋ (`U+03AB`), ϒ (`U+03D2`), ϓ (`U+03D3`), ϔ (`U+03D4`), Ү (`U+04AE`), ү (`U+04AF`), Ұ (`U+04B0`), ұ (`U+04B1`), Ẏ (`U+1E8E`), Ỳ (`U+1EF2`), Ỵ (`U+1EF4`), Ỷ (`U+1EF6`), Ỹ (`U+1EF8`), Ỿ (`U+1EFE`), Ὑ (`U+1F59`), Ὓ (`U+1F5B`), Ὕ (`U+1F5D`), Ὗ (`U+1F5F`), Ῠ (`U+1FE8`), Ῡ (`U+1FE9`), Ὺ (`U+1FEA`), Ύ (`U+1FEB`), ⅄ (`U+2144`), ␖ (`U+2416`), Ⓨ (`U+24CE`), 𐞲 (`U+107B2`), 𝐘 (`U+1D418`), 𝑌 (`U+1D44C`), 𝒀 (`U+1D480`), 𝖸 (`U+1D5B8`), 𝗬 (`U+1D5EC`), 𝘠 (`U+1D620`), 𝙔 (`U+1D654`), 𝚈 (`U+1D688`), 𝚼 (`U+1D6BC`), 𝛶 (`U+1D6F6`), 𝜰 (`U+1D730`), 𝝪 (`U+1D76A`), 𝞤 (`U+1D7A4`), 𞁏 (`U+1E04F`), 𞁭 (`U+1E06D`), 🄨 (`U+1F128`), 🅈 (`U+1F148`), 🅨 (`U+1F168`), 🆈 (`U+1F188`)
+ Y (`U+0059`), ¥ (`U+00A5`), Ý (`U+00DD`), Ŷ (`U+0176`), Ÿ (`U+0178`), Ƴ (`U+01B3`), Ȳ (`U+0232`), Ɏ (`U+024E`), ʏ (`U+028F`), Ύ (`U+038E`), Υ (`U+03A5`), Ϋ (`U+03AB`), ϒ (`U+03D2`), ϓ (`U+03D3`), ϔ (`U+03D4`), Ү (`U+04AE`), ү (`U+04AF`), Ұ (`U+04B0`), ұ (`U+04B1`), Ẏ (`U+1E8E`), Ỳ (`U+1EF2`), Ỵ (`U+1EF4`), Ỷ (`U+1EF6`), Ỹ (`U+1EF8`), Ỿ (`U+1EFE`), Ὑ (`U+1F59`), Ὓ (`U+1F5B`), Ὕ (`U+1F5D`), Ὗ (`U+1F5F`), Ῠ (`U+1FE8`), Ῡ (`U+1FE9`), Ὺ (`U+1FEA`), Ύ (`U+1FEB`), ⅄ (`U+2144`), ␖ (`U+2416`), Ⓨ (`U+24CE`), 𐞲 (`U+107B2`), (`U+1CCEE`), 𝐘 (`U+1D418`), 𝑌 (`U+1D44C`), 𝒀 (`U+1D480`), 𝖸 (`U+1D5B8`), 𝗬 (`U+1D5EC`), 𝘠 (`U+1D620`), 𝙔 (`U+1D654`), 𝚈 (`U+1D688`), 𝚼 (`U+1D6BC`), 𝛶 (`U+1D6F6`), 𝜰 (`U+1D730`), 𝝪 (`U+1D76A`), 𝞤 (`U+1D7A4`), 𞁏 (`U+1E04F`), 𞁭 (`U+1E06D`), 🄨 (`U+1F128`), 🅈 (`U+1F148`), 🅨 (`U+1F168`), 🆈 (`U+1F188`)
- `cv25`:
- Z (`U+005A`), Ź (`U+0179`), Ż (`U+017B`), Ž (`U+017D`), Ƶ (`U+01B5`), Ʒ (`U+01B7`), Ƹ (`U+01B8`), DŽ (`U+01C4`), Ǯ (`U+01EE`), DZ (`U+01F1`), Ȥ (`U+0224`), Ζ (`U+0396`), Ӡ (`U+04E0`), ᴢ (`U+1D22`), ᴣ (`U+1D23`), Ẑ (`U+1E90`), Ẓ (`U+1E92`), Ẕ (`U+1E94`), Ⓩ (`U+24CF`), Ⱬ (`U+2C6B`), Ɀ (`U+2C7F`), Ꙁ (`U+A640`), Ꙃ (`U+A642`), Ᶎ (`U+A7C6`), 𝐙 (`U+1D419`), 𝑍 (`U+1D44D`), 𝒁 (`U+1D481`), 𝖹 (`U+1D5B9`), 𝗭 (`U+1D5ED`), 𝘡 (`U+1D621`), 𝙕 (`U+1D655`), 𝚉 (`U+1D689`), 𝚭 (`U+1D6AD`), 𝛧 (`U+1D6E7`), 𝜡 (`U+1D721`), 𝝛 (`U+1D75B`), 𝞕 (`U+1D795`), 🄩 (`U+1F129`), 🅉 (`U+1F149`), 🅩 (`U+1F169`), 🆉 (`U+1F189`)
+ Z (`U+005A`), Ź (`U+0179`), Ż (`U+017B`), Ž (`U+017D`), Ƶ (`U+01B5`), Ʒ (`U+01B7`), Ƹ (`U+01B8`), DŽ (`U+01C4`), Ǯ (`U+01EE`), DZ (`U+01F1`), Ȥ (`U+0224`), Ζ (`U+0396`), Ӡ (`U+04E0`), ᴢ (`U+1D22`), ᴣ (`U+1D23`), Ẑ (`U+1E90`), Ẓ (`U+1E92`), Ẕ (`U+1E94`), Ⓩ (`U+24CF`), Ⱬ (`U+2C6B`), Ɀ (`U+2C7F`), Ꙁ (`U+A640`), Ꙃ (`U+A642`), Ᶎ (`U+A7C6`), (`U+1CCEF`), 𝐙 (`U+1D419`), 𝑍 (`U+1D44D`), 𝒁 (`U+1D481`), 𝖹 (`U+1D5B9`), 𝗭 (`U+1D5ED`), 𝘡 (`U+1D621`), 𝙕 (`U+1D655`), 𝚉 (`U+1D689`), 𝚭 (`U+1D6AD`), 𝛧 (`U+1D6E7`), 𝜡 (`U+1D721`), 𝝛 (`U+1D75B`), 𝞕 (`U+1D795`), 🄩 (`U+1F129`), 🅉 (`U+1F149`), 🅩 (`U+1F169`), 🆉 (`U+1F189`)
- `cv26`:
@@ -616,7 +616,7 @@
- `cv38`:
- m (`U+006D`), ɱ (`U+0271`), ͫ (`U+036B`), т (`U+0442`), ҭ (`U+04AD`), ԏ (`U+050F`), ᲅ (`U+1C85`), ᵐ (`U+1D50`), ᵯ (`U+1D6F`), ᶆ (`U+1D86`), ᶬ (`U+1DAC`), ḿ (`U+1E3F`), ṁ (`U+1E41`), ṃ (`U+1E43`), ₘ (`U+2098`), ₥ (`U+20A5`), ⅿ (`U+217F`), ≞ (`U+225E`), ⒨ (`U+24A8`), ⓜ (`U+24DC`), ⷮ (`U+2DEE`), ꚋ (`U+A68B`), ꬺ (`U+AB3A`), 𝐦 (`U+1D426`), 𝑚 (`U+1D45A`), 𝒎 (`U+1D48E`), 𝗆 (`U+1D5C6`), 𝗺 (`U+1D5FA`), 𝘮 (`U+1D62E`), 𝙢 (`U+1D662`), 𝚖 (`U+1D696`), 𞁀 (`U+1E040`)
+ m (`U+006D`), ɱ (`U+0271`), ͫ (`U+036B`), т (`U+0442`), ҭ (`U+04AD`), ԏ (`U+050F`), ᲅ (`U+1C85`), ᵐ (`U+1D50`), ᵯ (`U+1D6F`), ᶆ (`U+1D86`), ᶬ (`U+1DAC`), ḿ (`U+1E3F`), ṁ (`U+1E41`), ṃ (`U+1E43`), ₘ (`U+2098`), ₥ (`U+20A5`), ⅿ (`U+217F`), ≞ (`U+225E`), ⒨ (`U+24A8`), ⓜ (`U+24DC`), ⷮ (`U+2DEE`), ⷵ (`U+2DF5`), ꚋ (`U+A68B`), ꬺ (`U+AB3A`), 𝐦 (`U+1D426`), 𝑚 (`U+1D45A`), 𝒎 (`U+1D48E`), 𝗆 (`U+1D5C6`), 𝗺 (`U+1D5FA`), 𝘮 (`U+1D62E`), 𝙢 (`U+1D662`), 𝚖 (`U+1D696`), 𞁀 (`U+1E040`)
- `cv39`:
@@ -804,43 +804,43 @@
- `cv85`:
- 0 (`U+0030`), ⁰ (`U+2070`), ₀ (`U+2080`), ⅒ (`U+2152`), ↉ (`U+2189`), ⍬ (`U+236C`), ⏨ (`U+23E8`), ⑩ (`U+2469`), ⑳ (`U+2473`), ⑽ (`U+247D`), ⒇ (`U+2487`), ⒑ (`U+2491`), ⒛ (`U+249B`), ⓪ (`U+24EA`), ⓴ (`U+24F4`), ⓾ (`U+24FE`), ⓿ (`U+24FF`), ❿ (`U+277F`), ➉ (`U+2789`), ➓ (`U+2793`), ㉚ (`U+325A`), ㊵ (`U+32B5`), ㊿ (`U+32BF`), 𝟎 (`U+1D7CE`), 𝟢 (`U+1D7E2`), 𝟬 (`U+1D7EC`), 𝟶 (`U+1D7F6`), 🄀 (`U+1F100`), 🄁 (`U+1F101`), 🄋 (`U+1F10B`), 🄌 (`U+1F10C`), 🄍 (`U+1F10D`), 🆣 (`U+1F1A3`), 🆤 (`U+1F1A4`)
+ 0 (`U+0030`), ⁰ (`U+2070`), ₀ (`U+2080`), ⅒ (`U+2152`), ↉ (`U+2189`), ⍬ (`U+236C`), ⏨ (`U+23E8`), ⑩ (`U+2469`), ⑳ (`U+2473`), ⑽ (`U+247D`), ⒇ (`U+2487`), ⒑ (`U+2491`), ⒛ (`U+249B`), ⓪ (`U+24EA`), ⓴ (`U+24F4`), ⓾ (`U+24FE`), ⓿ (`U+24FF`), ❿ (`U+277F`), ➉ (`U+2789`), ➓ (`U+2793`), ㉚ (`U+325A`), ㊵ (`U+32B5`), ㊿ (`U+32BF`), (`U+1CCF0`), 𝟎 (`U+1D7CE`), 𝟢 (`U+1D7E2`), 𝟬 (`U+1D7EC`), 𝟶 (`U+1D7F6`), 🄀 (`U+1F100`), 🄁 (`U+1F101`), 🄋 (`U+1F10B`), 🄌 (`U+1F10C`), 🄍 (`U+1F10D`), 🆣 (`U+1F1A3`), 🆤 (`U+1F1A4`)
- `cv86`:
- 1 (`U+0031`), ¹ (`U+00B9`), ¼ (`U+00BC`), ½ (`U+00BD`), ₁ (`U+2081`), ⅐ (`U+2150`), ⅑ (`U+2151`), ⅒ (`U+2152`), ⅓ (`U+2153`), ⅕ (`U+2155`), ⅙ (`U+2159`), ⅛ (`U+215B`), ⏨ (`U+23E8`), ␑ (`U+2411`), ① (`U+2460`), ⑩ (`U+2469`), ⑪ (`U+246A`), ⑫ (`U+246B`), ⑬ (`U+246C`), ⑭ (`U+246D`), ⑮ (`U+246E`), ⑯ (`U+246F`), ⑰ (`U+2470`), ⑱ (`U+2471`), ⑲ (`U+2472`), ⑴ (`U+2474`), ⑽ (`U+247D`), ⑾ (`U+247E`), ⑿ (`U+247F`), ⒀ (`U+2480`), ⒁ (`U+2481`), ⒂ (`U+2482`), ⒃ (`U+2483`), ⒄ (`U+2484`), ⒅ (`U+2485`), ⒆ (`U+2486`), ⒈ (`U+2488`), ⒑ (`U+2491`), ⒒ (`U+2492`), ⒓ (`U+2493`), ⒔ (`U+2494`), ⒕ (`U+2495`), ⒖ (`U+2496`), ⒗ (`U+2497`), ⒘ (`U+2498`), ⒙ (`U+2499`), ⒚ (`U+249A`), ⓫ (`U+24EB`), ⓬ (`U+24EC`), ⓭ (`U+24ED`), ⓮ (`U+24EE`), ⓯ (`U+24EF`), ⓰ (`U+24F0`), ⓱ (`U+24F1`), ⓲ (`U+24F2`), ⓳ (`U+24F3`), ⓵ (`U+24F5`), ⓾ (`U+24FE`), ❶ (`U+2776`), ❿ (`U+277F`), ➀ (`U+2780`), ➉ (`U+2789`), ➊ (`U+278A`), ➓ (`U+2793`), ㉑ (`U+3251`), ㉛ (`U+325B`), ㊶ (`U+32B6`), 𝟏 (`U+1D7CF`), 𝟣 (`U+1D7E3`), 𝟭 (`U+1D7ED`), 𝟷 (`U+1D7F7`), 🄂 (`U+1F102`), 🆠 (`U+1F1A0`), 🆡 (`U+1F1A1`), 🆤 (`U+1F1A4`)
+ 1 (`U+0031`), ¹ (`U+00B9`), ¼ (`U+00BC`), ½ (`U+00BD`), ₁ (`U+2081`), ⅐ (`U+2150`), ⅑ (`U+2151`), ⅒ (`U+2152`), ⅓ (`U+2153`), ⅕ (`U+2155`), ⅙ (`U+2159`), ⅛ (`U+215B`), ⏨ (`U+23E8`), ␑ (`U+2411`), ① (`U+2460`), ⑩ (`U+2469`), ⑪ (`U+246A`), ⑫ (`U+246B`), ⑬ (`U+246C`), ⑭ (`U+246D`), ⑮ (`U+246E`), ⑯ (`U+246F`), ⑰ (`U+2470`), ⑱ (`U+2471`), ⑲ (`U+2472`), ⑴ (`U+2474`), ⑽ (`U+247D`), ⑾ (`U+247E`), ⑿ (`U+247F`), ⒀ (`U+2480`), ⒁ (`U+2481`), ⒂ (`U+2482`), ⒃ (`U+2483`), ⒄ (`U+2484`), ⒅ (`U+2485`), ⒆ (`U+2486`), ⒈ (`U+2488`), ⒑ (`U+2491`), ⒒ (`U+2492`), ⒓ (`U+2493`), ⒔ (`U+2494`), ⒕ (`U+2495`), ⒖ (`U+2496`), ⒗ (`U+2497`), ⒘ (`U+2498`), ⒙ (`U+2499`), ⒚ (`U+249A`), ⓫ (`U+24EB`), ⓬ (`U+24EC`), ⓭ (`U+24ED`), ⓮ (`U+24EE`), ⓯ (`U+24EF`), ⓰ (`U+24F0`), ⓱ (`U+24F1`), ⓲ (`U+24F2`), ⓳ (`U+24F3`), ⓵ (`U+24F5`), ⓾ (`U+24FE`), ❶ (`U+2776`), ❿ (`U+277F`), ➀ (`U+2780`), ➉ (`U+2789`), ➊ (`U+278A`), ➓ (`U+2793`), ㉑ (`U+3251`), ㉛ (`U+325B`), ㊶ (`U+32B6`), (`U+1CCF1`), 𝟏 (`U+1D7CF`), 𝟣 (`U+1D7E3`), 𝟭 (`U+1D7ED`), 𝟷 (`U+1D7F7`), 🄂 (`U+1F102`), 🆠 (`U+1F1A0`), 🆡 (`U+1F1A1`), 🆤 (`U+1F1A4`)
- `cv87`:
- 2 (`U+0032`), ² (`U+00B2`), ½ (`U+00BD`), ƻ (`U+01BB`), ₂ (`U+2082`), ⅔ (`U+2154`), ⅖ (`U+2156`), ↊ (`U+218A`), ␒ (`U+2412`), ② (`U+2461`), ⑫ (`U+246B`), ⑳ (`U+2473`), ⑵ (`U+2475`), ⑿ (`U+247F`), ⒇ (`U+2487`), ⒉ (`U+2489`), ⒓ (`U+2493`), ⒛ (`U+249B`), ⓬ (`U+24EC`), ⓴ (`U+24F4`), ⓶ (`U+24F6`), ❷ (`U+2777`), ➁ (`U+2781`), ➋ (`U+278B`), ㉑ (`U+3251`), ㉒ (`U+3252`), ㉓ (`U+3253`), ㉔ (`U+3254`), ㉕ (`U+3255`), ㉖ (`U+3256`), ㉗ (`U+3257`), ㉘ (`U+3258`), ㉙ (`U+3259`), ㉜ (`U+325C`), ㊷ (`U+32B7`), 𝟐 (`U+1D7D0`), 𝟤 (`U+1D7E4`), 𝟮 (`U+1D7EE`), 𝟸 (`U+1D7F8`), 🄃 (`U+1F103`), 🆜 (`U+1F19C`), 🆝 (`U+1F19D`), 🆢 (`U+1F1A2`), 🆤 (`U+1F1A4`)
+ 2 (`U+0032`), ² (`U+00B2`), ½ (`U+00BD`), ƻ (`U+01BB`), ₂ (`U+2082`), ⅔ (`U+2154`), ⅖ (`U+2156`), ↊ (`U+218A`), ␒ (`U+2412`), ② (`U+2461`), ⑫ (`U+246B`), ⑳ (`U+2473`), ⑵ (`U+2475`), ⑿ (`U+247F`), ⒇ (`U+2487`), ⒉ (`U+2489`), ⒓ (`U+2493`), ⒛ (`U+249B`), ⓬ (`U+24EC`), ⓴ (`U+24F4`), ⓶ (`U+24F6`), ❷ (`U+2777`), ➁ (`U+2781`), ➋ (`U+278B`), ㉑ (`U+3251`), ㉒ (`U+3252`), ㉓ (`U+3253`), ㉔ (`U+3254`), ㉕ (`U+3255`), ㉖ (`U+3256`), ㉗ (`U+3257`), ㉘ (`U+3258`), ㉙ (`U+3259`), ㉜ (`U+325C`), ㊷ (`U+32B7`), (`U+1CCF2`), 𝟐 (`U+1D7D0`), 𝟤 (`U+1D7E4`), 𝟮 (`U+1D7EE`), 𝟸 (`U+1D7F8`), 🄃 (`U+1F103`), 🆜 (`U+1F19C`), 🆝 (`U+1F19D`), 🆢 (`U+1F1A2`), 🆤 (`U+1F1A4`)
- `cv88`:
- 3 (`U+0033`), ³ (`U+00B3`), ¾ (`U+00BE`), ₃ (`U+2083`), ⅓ (`U+2153`), ⅔ (`U+2154`), ⅗ (`U+2157`), ⅜ (`U+215C`), ↉ (`U+2189`), ↋ (`U+218B`), ∛ (`U+221B`), ␓ (`U+2413`), ③ (`U+2462`), ⑬ (`U+246C`), ⑶ (`U+2476`), ⒀ (`U+2480`), ⒊ (`U+248A`), ⒔ (`U+2494`), ⓭ (`U+24ED`), ⓷ (`U+24F7`), ❸ (`U+2778`), ➂ (`U+2782`), ➌ (`U+278C`), ㉓ (`U+3253`), ㉚ (`U+325A`), ㉛ (`U+325B`), ㉜ (`U+325C`), ㉝ (`U+325D`), ㉞ (`U+325E`), ㉟ (`U+325F`), ㊱ (`U+32B1`), ㊲ (`U+32B2`), ㊳ (`U+32B3`), ㊴ (`U+32B4`), ㊸ (`U+32B8`), 𝟑 (`U+1D7D1`), 𝟥 (`U+1D7E5`), 𝟯 (`U+1D7EF`), 𝟹 (`U+1D7F9`), 🄄 (`U+1F104`), 🆛 (`U+1F19B`)
+ 3 (`U+0033`), ³ (`U+00B3`), ¾ (`U+00BE`), ₃ (`U+2083`), ⅓ (`U+2153`), ⅔ (`U+2154`), ⅗ (`U+2157`), ⅜ (`U+215C`), ↉ (`U+2189`), ↋ (`U+218B`), ∛ (`U+221B`), ␓ (`U+2413`), ③ (`U+2462`), ⑬ (`U+246C`), ⑶ (`U+2476`), ⒀ (`U+2480`), ⒊ (`U+248A`), ⒔ (`U+2494`), ⓭ (`U+24ED`), ⓷ (`U+24F7`), ❸ (`U+2778`), ➂ (`U+2782`), ➌ (`U+278C`), ㉓ (`U+3253`), ㉚ (`U+325A`), ㉛ (`U+325B`), ㉜ (`U+325C`), ㉝ (`U+325D`), ㉞ (`U+325E`), ㉟ (`U+325F`), ㊱ (`U+32B1`), ㊲ (`U+32B2`), ㊳ (`U+32B3`), ㊴ (`U+32B4`), ㊸ (`U+32B8`), (`U+1CCF3`), 𝟑 (`U+1D7D1`), 𝟥 (`U+1D7E5`), 𝟯 (`U+1D7EF`), 𝟹 (`U+1D7F9`), 🄄 (`U+1F104`), 🆛 (`U+1F19B`)
- `cv89`:
- 4 (`U+0034`), ¼ (`U+00BC`), ¾ (`U+00BE`), ⁴ (`U+2074`), ₄ (`U+2084`), ⅘ (`U+2158`), ∜ (`U+221C`), ␔ (`U+2414`), ④ (`U+2463`), ⑭ (`U+246D`), ⑷ (`U+2477`), ⒁ (`U+2481`), ⒋ (`U+248B`), ⒕ (`U+2495`), ⓮ (`U+24EE`), ⓸ (`U+24F8`), ❹ (`U+2779`), ➃ (`U+2783`), ➍ (`U+278D`), ㉔ (`U+3254`), ㉞ (`U+325E`), ㊵ (`U+32B5`), ㊶ (`U+32B6`), ㊷ (`U+32B7`), ㊸ (`U+32B8`), ㊹ (`U+32B9`), ㊺ (`U+32BA`), ㊻ (`U+32BB`), ㊼ (`U+32BC`), ㊽ (`U+32BD`), ㊾ (`U+32BE`), 𝟒 (`U+1D7D2`), 𝟦 (`U+1D7E6`), 𝟰 (`U+1D7F0`), 𝟺 (`U+1D7FA`), 🄅 (`U+1F105`), 🆞 (`U+1F19E`)
+ 4 (`U+0034`), ¼ (`U+00BC`), ¾ (`U+00BE`), ⁴ (`U+2074`), ₄ (`U+2084`), ⅘ (`U+2158`), ∜ (`U+221C`), ␔ (`U+2414`), ④ (`U+2463`), ⑭ (`U+246D`), ⑷ (`U+2477`), ⒁ (`U+2481`), ⒋ (`U+248B`), ⒕ (`U+2495`), ⓮ (`U+24EE`), ⓸ (`U+24F8`), ❹ (`U+2779`), ➃ (`U+2783`), ➍ (`U+278D`), ㉔ (`U+3254`), ㉞ (`U+325E`), ㊵ (`U+32B5`), ㊶ (`U+32B6`), ㊷ (`U+32B7`), ㊸ (`U+32B8`), ㊹ (`U+32B9`), ㊺ (`U+32BA`), ㊻ (`U+32BB`), ㊼ (`U+32BC`), ㊽ (`U+32BD`), ㊾ (`U+32BE`), (`U+1CCF4`), 𝟒 (`U+1D7D2`), 𝟦 (`U+1D7E6`), 𝟰 (`U+1D7F0`), 𝟺 (`U+1D7FA`), 🄅 (`U+1F105`), 🆞 (`U+1F19E`)
- `cv90`:
- 5 (`U+0035`), Ƽ (`U+01BC`), ƽ (`U+01BD`), ⁵ (`U+2075`), ₅ (`U+2085`), ⅕ (`U+2155`), ⅖ (`U+2156`), ⅗ (`U+2157`), ⅘ (`U+2158`), ⅚ (`U+215A`), ⅝ (`U+215D`), ⑤ (`U+2464`), ⑮ (`U+246E`), ⑸ (`U+2478`), ⒂ (`U+2482`), ⒌ (`U+248C`), ⒖ (`U+2496`), ⓯ (`U+24EF`), ⓹ (`U+24F9`), ❺ (`U+277A`), ➄ (`U+2784`), ➎ (`U+278E`), ㉕ (`U+3255`), ㉟ (`U+325F`), ㊺ (`U+32BA`), ㊿ (`U+32BF`), 𝟓 (`U+1D7D3`), 𝟧 (`U+1D7E7`), 𝟱 (`U+1D7F1`), 𝟻 (`U+1D7FB`), 🄆 (`U+1F106`), 🆠 (`U+1F1A0`)
+ 5 (`U+0035`), Ƽ (`U+01BC`), ƽ (`U+01BD`), ⁵ (`U+2075`), ₅ (`U+2085`), ⅕ (`U+2155`), ⅖ (`U+2156`), ⅗ (`U+2157`), ⅘ (`U+2158`), ⅚ (`U+215A`), ⅝ (`U+215D`), ⑤ (`U+2464`), ⑮ (`U+246E`), ⑸ (`U+2478`), ⒂ (`U+2482`), ⒌ (`U+248C`), ⒖ (`U+2496`), ⓯ (`U+24EF`), ⓹ (`U+24F9`), ❺ (`U+277A`), ➄ (`U+2784`), ➎ (`U+278E`), ㉕ (`U+3255`), ㉟ (`U+325F`), ㊺ (`U+32BA`), ㊿ (`U+32BF`), (`U+1CCF5`), 𝟓 (`U+1D7D3`), 𝟧 (`U+1D7E7`), 𝟱 (`U+1D7F1`), 𝟻 (`U+1D7FB`), 🄆 (`U+1F106`), 🆠 (`U+1F1A0`)
- `cv91`:
- 6 (`U+0036`), ⁶ (`U+2076`), ₆ (`U+2086`), ⅙ (`U+2159`), ⅚ (`U+215A`), ⑥ (`U+2465`), ⑯ (`U+246F`), ⑹ (`U+2479`), ⒃ (`U+2483`), ⒍ (`U+248D`), ⒗ (`U+2497`), ⓰ (`U+24F0`), ⓺ (`U+24FA`), ❻ (`U+277B`), ➅ (`U+2785`), ➏ (`U+278F`), ㉖ (`U+3256`), ㊱ (`U+32B1`), ㊻ (`U+32BB`), 𝟔 (`U+1D7D4`), 𝟨 (`U+1D7E8`), 𝟲 (`U+1D7F2`), 𝟼 (`U+1D7FC`), 🄇 (`U+1F107`), 🆣 (`U+1F1A3`)
+ 6 (`U+0036`), ⁶ (`U+2076`), ₆ (`U+2086`), ⅙ (`U+2159`), ⅚ (`U+215A`), ⑥ (`U+2465`), ⑯ (`U+246F`), ⑹ (`U+2479`), ⒃ (`U+2483`), ⒍ (`U+248D`), ⒗ (`U+2497`), ⓰ (`U+24F0`), ⓺ (`U+24FA`), ❻ (`U+277B`), ➅ (`U+2785`), ➏ (`U+278F`), ㉖ (`U+3256`), ㊱ (`U+32B1`), ㊻ (`U+32BB`), (`U+1CCF6`), 𝟔 (`U+1D7D4`), 𝟨 (`U+1D7E8`), 𝟲 (`U+1D7F2`), 𝟼 (`U+1D7FC`), 🄇 (`U+1F107`), 🆣 (`U+1F1A3`)
- `cv92`:
- 7 (`U+0037`), ⁷ (`U+2077`), ₇ (`U+2087`), ⅐ (`U+2150`), ⅞ (`U+215E`), ⑦ (`U+2466`), ⑰ (`U+2470`), ⑺ (`U+247A`), ⒄ (`U+2484`), ⒎ (`U+248E`), ⒘ (`U+2498`), ⓱ (`U+24F1`), ⓻ (`U+24FB`), ❼ (`U+277C`), ➆ (`U+2786`), ➐ (`U+2790`), ㉗ (`U+3257`), ㊲ (`U+32B2`), ㊼ (`U+32BC`), 𝟕 (`U+1D7D5`), 𝟩 (`U+1D7E9`), 𝟳 (`U+1D7F3`), 𝟽 (`U+1D7FD`), 🄈 (`U+1F108`), 🆡 (`U+1F1A1`)
+ 7 (`U+0037`), ⁷ (`U+2077`), ₇ (`U+2087`), ⅐ (`U+2150`), ⅞ (`U+215E`), ⑦ (`U+2466`), ⑰ (`U+2470`), ⑺ (`U+247A`), ⒄ (`U+2484`), ⒎ (`U+248E`), ⒘ (`U+2498`), ⓱ (`U+24F1`), ⓻ (`U+24FB`), ❼ (`U+277C`), ➆ (`U+2786`), ➐ (`U+2790`), ㉗ (`U+3257`), ㊲ (`U+32B2`), ㊼ (`U+32BC`), (`U+1CCF7`), 𝟕 (`U+1D7D5`), 𝟩 (`U+1D7E9`), 𝟳 (`U+1D7F3`), 𝟽 (`U+1D7FD`), 🄈 (`U+1F108`), 🆡 (`U+1F1A1`)
- `cv93`:
- 8 (`U+0038`), ⁸ (`U+2078`), ₈ (`U+2088`), ⅛ (`U+215B`), ⅜ (`U+215C`), ⅝ (`U+215D`), ⅞ (`U+215E`), ⑧ (`U+2467`), ⑱ (`U+2471`), ⑻ (`U+247B`), ⒅ (`U+2485`), ⒏ (`U+248F`), ⒙ (`U+2499`), ⓲ (`U+24F2`), ⓼ (`U+24FC`), ❽ (`U+277D`), ➇ (`U+2787`), ➑ (`U+2791`), ㉘ (`U+3258`), ㊳ (`U+32B3`), ㊽ (`U+32BD`), 𝟖 (`U+1D7D6`), 𝟪 (`U+1D7EA`), 𝟴 (`U+1D7F4`), 𝟾 (`U+1D7FE`), 🄉 (`U+1F109`), 🆟 (`U+1F19F`)
+ 8 (`U+0038`), ⁸ (`U+2078`), ₈ (`U+2088`), ⅛ (`U+215B`), ⅜ (`U+215C`), ⅝ (`U+215D`), ⅞ (`U+215E`), ⑧ (`U+2467`), ⑱ (`U+2471`), ⑻ (`U+247B`), ⒅ (`U+2485`), ⒏ (`U+248F`), ⒙ (`U+2499`), ⓲ (`U+24F2`), ⓼ (`U+24FC`), ❽ (`U+277D`), ➇ (`U+2787`), ➑ (`U+2791`), ㉘ (`U+3258`), ㊳ (`U+32B3`), ㊽ (`U+32BD`), (`U+1CCF8`), 𝟖 (`U+1D7D6`), 𝟪 (`U+1D7EA`), 𝟴 (`U+1D7F4`), 𝟾 (`U+1D7FE`), 🄉 (`U+1F109`), 🆟 (`U+1F19F`)
- `cv94`:
- 9 (`U+0039`), ⁹ (`U+2079`), ₉ (`U+2089`), ⅑ (`U+2151`), ⑨ (`U+2468`), ⑲ (`U+2472`), ⑼ (`U+247C`), ⒆ (`U+2486`), ⒐ (`U+2490`), ⒚ (`U+249A`), ⓳ (`U+24F3`), ⓽ (`U+24FD`), ❾ (`U+277E`), ➈ (`U+2788`), ➒ (`U+2792`), ㉙ (`U+3259`), ㊴ (`U+32B4`), ㊾ (`U+32BE`), 𝟗 (`U+1D7D7`), 𝟫 (`U+1D7EB`), 𝟵 (`U+1D7F5`), 𝟿 (`U+1D7FF`), 🄊 (`U+1F10A`)
+ 9 (`U+0039`), ⁹ (`U+2079`), ₉ (`U+2089`), ⅑ (`U+2151`), ⑨ (`U+2468`), ⑲ (`U+2472`), ⑼ (`U+247C`), ⒆ (`U+2486`), ⒐ (`U+2490`), ⒚ (`U+249A`), ⓳ (`U+24F3`), ⓽ (`U+24FD`), ❾ (`U+277E`), ➈ (`U+2788`), ➒ (`U+2792`), ㉙ (`U+3259`), ㊴ (`U+32B4`), ㊾ (`U+32BE`), (`U+1CCF9`), 𝟗 (`U+1D7D7`), 𝟫 (`U+1D7EB`), 𝟵 (`U+1D7F5`), 𝟿 (`U+1D7FF`), 🄊 (`U+1F10A`)
- `cv95`:
diff --git a/doc/packages-sha.txt b/doc/packages-sha.txt
index d23f4df015..04799cbbcd 100644
--- a/doc/packages-sha.txt
+++ b/doc/packages-sha.txt
@@ -1,452 +1,452 @@
-2fc90fedf4f6b9e92919d8643fc71f12f0c71f9f208e5643050a018b7070a65a undefined
-282fb1cd60ede070e6cc045b1971cf40ea474960eaa0153706733b5e0d5f2200 undefined
-6400686b1bd099ea60c7f15a990c143074cfc7f6d0a3b5f52955f1a1829bf198 undefined
-976ca83f5287d2dc42e6909256c6fe2451ea5c424ac51dcee258aded0a3d475d undefined
-3d5fd85dc3d74549724cde9ae6660c1ae3edbda66f4ce0f76370bb98d8683e39 undefined
-cbe19e034403cd973444982c06ad43378a30e623c125248d306a34a513eed295 undefined
-49313695b06fcc4b47a9bf1ac53fb90db7c33c6ebf2b6f869aa3ba71cf3a158a undefined
-d573d9cef4376590ce88af4536ea9a46a74b299299477eea153f81ca6b31c223 undefined
-c7d2c76f408cbad16dbfafd6da9ef969a5d1dccda181efe6c195b47b9f6fb595 undefined
-c38765e18f634b2789eb02a2286e2db40128560589137717863b992ff2b3fb2d undefined
-f3f722dc1494345ef4dc46c5a60c5affad486f3da572dd66a296d0c8a184fd32 undefined
-57d6b7a56d1abb2663a30019b3d52b2f629326169d9bb6dbe7689550e831bf6f undefined
-759d20336f09fdbbf21fb41df0382fa985baa1fadc3a8183a21caecfbc7d3e21 undefined
-60ed05ca41679e1ecbdf89774f5ec00e57f9fff1dd75f9a33a171dc9f3006a15 undefined
-cbb91d3af5b5ad4cfa96ee8c559fa52c8cf73871a258381dec795179dfafc4e2 undefined
-89fe05d3b0c539ee579fa5f8f23e3b56957c2f141c0dc2e8c97e8f89dda43f1d undefined
-771ca367358963442db45ceded03fbda38e2bae11037d1af07d200352bafd3dd undefined
-534ea8a1c3f4c2301a3c8e2a13dd05d26a62e58cbf4cffd28920fdce9537a55e undefined
-29eae0a8dc20473a673c90eee8988cd740feaf757aa166256aef4edffd3faf2c undefined
-0d54746da3d97daf812e192c041f7a53774f0be994409c70e2dd868d3da7c3a6 undefined
-97b63e01360524ca44b05c0a8754bd4d167b2547c4bd2beafc54a902fab752f6 undefined
-87bb0a149a82566f29f8bb2f6bd9095e2be20609b5daf1919d8f6dfa8df58fb6 undefined
-2dfd81e4c17ab34da337f2e55b79e6713a982367cc8ac24624941b84bfcb4c15 undefined
-99f937ad80ce411def1da5d76ac023a9fc6401e04c7f6e8a1a04507aa09df0c5 undefined
-b9dbac55fe561f545cd2230f042e288f1bbc3e4ff5acccfc35f1ae2a5314eed3 undefined
-e35df26521ab5ffed8318ee35dc238d0d1a78ca657f70edec21036178501e279 undefined
-2171e1e46715f751f866c0cf4c69704504c84d57b6a3ea5afcae212358c3c546 undefined
-6ef3278d3785dc8335235abcdbbaee88d47200d389f2550793efcff05ec8d2ba undefined
-a8fb90d508b88cf30264a7ac81814714f887a649305a089d30e479fb612b5349 undefined
-0d94b40666d80db89ca7c3fbd8100203d5f5ce81050e48f1d4e775169670063d undefined
-2c2e170138436bb20a01e90264dfbc6c7a9884e43ec81fb1983e1a4de3aca783 undefined
-8fa09b7f00c0826d519fca05e648ee40ba35479e92d59928d8cd53e8bc5541fb undefined
-23467d35e94d6c85412f1d68a805462d426f21c9270ad94f0aba3fd601d9d4e2 undefined
-907b5b8436a4089167f5c58258cf812685e958f2533d80c3d8236836ba107595 undefined
-47c3badbcb3a7317250947b351441c8a2da18d52731abdc68d8ac7f182b4920c undefined
-6eb7e2d8d10f35cf03b71c55a7ad044c3a35bd2a8ab402c47d180e5fc5cfa3c9 undefined
-bb13dafe18b452ee3b5dacd2e265efc5bf28350f48bce2b94ff6448bce3944ef undefined
-be76572954ed2961a3e2ec08b43d89597a93ca5f881cd17a82deba379a535169 undefined
-0cf1cc736348280afe3df48c58687bdfa6f4cf203ab43c9b8c5eb9890583c2d5 undefined
-999c8359809282f41fca1cc89d41de895117291abe3342161a47c33387ddf040 undefined
-afe4ba130ba40d9c86571a419724182f6a8fe5f140c3e8c0479a655ccfc4fa0f undefined
-85e8da83853caeea33e7614f8ef7af22062276c602df99e71d25ad42bb429720 undefined
-2b96fee04ec8e87eb3535f61cdfa46d5e189fff44452fa4126336952d393d155 undefined
-de8b29400022a680e7f3823cfd14aca57d70cd92addf505321ab55492db76dc3 undefined
-8a258158b6aafd756593852c9882a4cd47f2cd47c1c7909e95d31275067ffebf undefined
-16cfad4184f17df35b08528e2790a65e95d6dabfb4dc5d05dbef4cf8a4a2c0dd undefined
-8ab3dbe8635fdd562173c2881dd096a846fb148ff17e2451ea9c3e78f59b2875 undefined
-d2e01d8e9f8c794dfdb48200f13754f1bcc24149619db0bc98ea540693f81c5a undefined
-e0c312e9caf28c0753b54d7ead5537d1ca6f216965f8f0f67488fb0541c87132 undefined
-db633798f85317121599cac8252b5f3d36b96f45a8ddf13042bfe1195a820917 undefined
-c717c82fb8ff0720e18fda2f1372f9d0c86a41be4ffea4506a8f479d797e52bf undefined
-24321557b25de17909841cbcb1fd536e1080ca602a19f9acd43bca00a8421d97 undefined
-38bfa2d89dc69778e5fd61d83c0c62bab2e169b47b63cbd8ed600d4f9b9ad800 undefined
-f41d27503d085bd4d56f7d59aa73cff71d1b3c5337e42e99dd9474d7d3ece579 undefined
-3415d91fe6ad794189aba52d291842309dda5254d674f8fd59934965f0615dde undefined
-730a1861463651e0f034b622e7a866482d1c29af95f9390f0cbb1ee0dd9d6390 undefined
-9e72654c9c95c0067a8307be7b46e512a422f977308cd96d6cf2675c1fb8a01e undefined
-31d8233a07cea9289a49d54aba62b9e816174de22bf21f1c71f2785bc27a7667 undefined
-046b3e78056575c17ed21887f64eeede9f78111f6d33c533288c84534adc2418 undefined
-d2a7d2c65e7287a3e5dcbbec7ff0aa9b8f813a8dc44fe2de037adbe72d720f50 undefined
-8fd84694cc44308faacb15f79ded1ff3a49b9a12ed3e89dc76a830b9edbc91d5 undefined
-9fe1eeec65b2a317f89c868c04ba2ba24bb3a67d47bffd3952f6ecb3684d5c75 undefined
-6613f849f8d7126fd436abbb527dd1b87c5caf712980a562df612125fae354b2 undefined
-e113fc5f6a1edf8bfccc16708fcaddac8cfd2817e57493b59ac0859ee206ac4d undefined
-741ed301ec758e13494cc8719ba2dea5c7b7b297122509a7849f98e0eee0accb undefined
-2e8204b85cb2adc0f774dea72fd3fa56810ead6a38ba94cbbd54441bd6ece26e undefined
-c5568fc23c4c2d1bac0aca98f4e910eb5b68ff72f7505bd6a72069ddf2feef1e undefined
-cef92e30ee04f60099f1d11b9325f111eaccfc5506df348f8aee5b0e1c920bfa undefined
-d8126cf5d0c4a83bea0ef346b61ff456fced55c0120b9cd691832363209f028a undefined
-7dbc187ad141fdfbfe04d275d724505c4c7ca548b79a2df3c72d9e9c223b564a undefined
-eb87d7b59dc00124641357f68a75dfcbda8eb455af69cace0967210c0ff73df4 undefined
-73ad1fd1d54b539c0da7c7cb03af0a312a2ea9d4ead64f50b59a76ff7a08631f undefined
-9bbe5cced44147a7a8f4619dd33f4c068f3e5f768b3d9f5440988015c44a770e undefined
-035585d9ae29504344ab29da06456c3502192a794b848cd5d7ee4212c7c18f23 undefined
-194d134eb48e727c6a610c488ace2e37359159659aac2719ba1317b970b56faf undefined
-b73e74bf664b9e62215a3981a1f4968e57d72a974e14ef9d40d7a0355642cb95 undefined
-1adceb2f22bd983a0c36223b22527dc50593389cc8c870ca477a6f8ae58cbf9a undefined
-53edfb049ccc795aeda8108490c5a1403725d8e0caaf1e85ce4e322a9567c90d undefined
-ffd0d630058a42a5d08419121cd81fa5d0872227a7c9a70b81819ddeb7eefa96 undefined
-c5089ebf0be3bf8c8a57a2a277594867c7ef013ba3d62fb006ce6a4ba11d83aa undefined
-3f4ec8582c2988870aab391714a49cf4be743f304c021f4b5db7f696fcc8fa4c undefined
-87c5999460dca70dddc32456f2992caf7b27a2718f1e75b6b299ebb16a7d9492 undefined
-579c0f699e7df58615c15d0a4018beb58652b84256a5cf84808dc4cf8324f675 undefined
-59c4fd370f5eecad36cc033ef8b18c7cd9ad2be6d8d657dbd073631bd9468ae8 undefined
-ca6e5c1ab57da5ebd24f602ee675439dfb481875ff9697ccdc2a3cdbabe246da undefined
-ae3a7553ad119320fb469f5c5ee78419942dbf55c63b986234cec6e95217c485 undefined
-e937367b95ddf0ecbec8e1979151ef96782bf7191d43f114549eac6e34ca362c undefined
-bf131a1c5256ed5482162f43af78bd7b43fb83d74024dd073a8d33f480ecc6f4 undefined
-b1db04276e910064d3314b75d463177065f29fa8b506497c5ca71cc2ff125344 undefined
-b7070ddbed3683f45d3e17bc248efbf52d5331a5a96d7c27eec109fa1848db56 undefined
-2bd1753c9d019a4a47182dd36dae19b8e8c5b326c2adad4c7fb18959d14114e1 undefined
-8131a3bb9a622d0808427a9ad1f46eb1a91f868379c6f1c88e3db8c767d6ed27 undefined
-2d4d6914c9cc52d70dd4b65e369c0386298b78046b98c24b3ec70266cd074828 undefined
-47ca0901f5fa8dd927cf6b13861434f9d679e3e6f5a9333f1ceb21b0fff23ef2 undefined
-87ba25ffe2425149d2b46dbaf218b6d128fa4086d01fdbb2461da1a62040bcb0 undefined
-c9948e51e892d7bc9bedf2f14840a1faf0aa8cd9df4686c50cd5013f28e2b6c9 undefined
-fa92a3d9939ca4cde656a37eb56a149f28167175407865154a6bdf12124de0d6 undefined
-f0a2b30f2f25fdbcf4cd45d3b512abbd61f7696dfc690f887da39e86789fd309 undefined
-d0c6d613d54da0b26a0f744b49cc6c99be2f8894d228f329e403bd2b12923a81 undefined
-adcf02a8234a1be81bacc8da1a095f7ca981a401a6a321e5d64f7fb80c59abbd undefined
-68112ffa633d4eea28084526141fb4e64d0f3ae72ba14179109f094981e6476e undefined
-e07728899d3c0d0d3f3d8f26a78893ab0cf2920cf2f16554620c832fc0764318 undefined
-43ada4def6a56fc5cfb4f3e67c88bea177b94a80d70f04304c97377e8b1ebc7b undefined
-8f627d4cc762289c0ee0304812cee6f3e393528ba41ac229c7809e4326034e33 undefined
-d2ab0b7f12b7d40aaa4d008a96784371f3caa85ed72d31550cc8b80775e408f7 undefined
-6b3eb695c243f6d49f3b2d4e87dc1361ceb7415e538c9dc8c37ec5b0214d124d undefined
-dc47ccf377b306236a9dfb3b3d415a48f9cbb2eec35541996c8557895743de7d undefined
-1da411b45b87fe7376c6ef5046ae1c50215da2af8f12decfa3b49401e1a18240 undefined
-71daf9e33b9f33cc50fa91bb5fe681d1a88130fe86b78910cf4ff9f7736539c5 undefined
-73406bc7e3938b7ee0d3604e4a7ffa69129c601bf7339e7320fc59ff68ae2af0 undefined
-c321ce559aa0f4ce6eaf6f1b17d37460c671fbc3c3e9174402c863c014fac892 undefined
-9c86c9da95bda9278bf119c969cd225db5152868a1f4bb54fe16a8271d8ea601 undefined
-abe6e6577cabf7ba84dd2a561ea70322a63d7f99dabdc305b1ff7d831dde27db undefined
-f3c43bbe1e74dc8185a13bb3028abfbaca2f946522b164c5af042bc26eca4056 undefined
-fa1d87e80abda016895c5beaf39baeb0c1f6fa4280a794de62f3c92ec1b00593 undefined
-108bae5e8c2d374ab6bb02c6c4438b1c45114583a7faedc57f6d663833709c32 undefined
-92fe50f66780be6bda96f0acb1ac03385beacd330158ac662139f2de4229be97 undefined
-cd756c1f60870c41d789be8231f9afca627798f13150fb14557e1d12a53f3bdc undefined
-f5766eaa969dbd374bd655a1655daf2b5bea3d007ff394da05725e4178d1577a undefined
-4100ead8b86ff48d0068f799f92e2f2922f2ef3bc6cb96619c930262c8c4207b undefined
-25bc55e0e6434c2d28efca3d8b201e270ef94e84d87c874b3482f97b30e70212 undefined
-45b650ee85399c8fabecf0f11909da94dd23d3092c0c7b8fe9179b913dc565ed undefined
-603f15f8ae3db3015277df2cc74f3be4bae5e4f8e3204c4e36aeb953fb5463d8 undefined
-cb4dc0ef6d40e829609801fcb3d2f24281b8876d18f87f88167046657971c94a undefined
-cb7ee9b6af497c414572a5a83a9a12a4a9cb9ca6437f5a3dd43d23d57c1ccf67 undefined
-d1756c2d660c4513a2f661f622a5f4a283dc4afc8b9bc426787d78d619846b8b undefined
-d7e528a23af930a242a551dd47408a073bcd6180a017997cbd25b303f22bea37 undefined
-b8da6bce3d2f91a390cbfd97cb4217cb6f516a9e2fccfbe33f976f7949e1d37b undefined
-095c090f4a10f14e0918b533383715c261f6212b758f441a871a96bc1205b0f7 undefined
-16fc65f777c2321b36a15ea272ef256a3f1e01f61aa22426c69031eafafb82e1 undefined
-d28e1f0b52bee227dd321772a7025443f64fa7272a2acb1eb769f3ebea0f6bf0 undefined
-b9edcf0056b930e7a80e1b6dedf1d753aa7289a0950e659411df22c53e145db5 undefined
-97881b4807b9ede05f31f9670c7fc94750510a77358e44d5700aeba747f7b8fd undefined
-75f6529c7dd7a136656b903f26ec1e77af70580c8bee67f1a7f0a8d66cd7ed74 undefined
-ca5b60d4abe3a86da27b62d34297142bcbe79952eddfc724a69a553773de45ad undefined
-cb3fb885b3fe1d8049c9d98b4ee8093205ef8c19c640defe3506384089fc3325 undefined
-ddceab254e62390d7625e51dd84661b948a57da2aaf9352d9830ca76411a831f undefined
-a9e6f5262b4971da77790de6ee4dcaeab7e88fc79fa6eca206a57d9de86da1d3 undefined
-58656695f0562ce15081566724070205d31bb3f674a30aa60a9ab058649ee31e undefined
-4449389b5bcdd00d2498d5947d94dd361d0acede42826d420e560f5b7454e94f undefined
-6898432af96c9b07f9a3db410ad24dceb9ade3a0e837010a6810828f96ee1486 undefined
-584e49a4bd1f74ec8657d521934625d1a479f37d3c22cfd507d9148f7fb26cd9 undefined
-71cc046e95ccf2debd42e24ef9e6e149e2628071c2642574ad149cd0cbb94898 undefined
-80121e35e17685936625ceaf46616a9e93264fb85a500237a5f805a6aa4236cf undefined
-136dc89aae99748c6ef5facfe2b1cb86a8437e4cc6b684d0c2e4f291a2ee8072 undefined
-09dc6c1d38ff0bd73e3a6965559b280e5a3d92445bc3c88029f179bfa7efd06f undefined
-521e72a5cfe961cfc77a78f9030f73f8f1cdfb65fa3b745e9b1abbd282439fc6 undefined
-bf9ee7e36468f76b57c2c0481ae785914f7089b3e14d0440cdc00a1d8a4f8809 undefined
-8ad4e315adb9ad629b984c7917bcf0283202ea43c781bf5020dc54dfb5c99f78 undefined
-49b00eac723014b06152e80d7598fc893160dd74348fbb17fa9cfc883f572811 undefined
-478795581ded9fdc55600c6a1683b57260123809b0e3d7d49883461e9ae6faf0 undefined
-cbab45222e928b817b0bcd8ec493914b7c973e519a66d388b15770377692f13f undefined
-92f12e915cc1379ada82fd55b56e007a54d4d93862a1674aba4c335bf701d95b undefined
-90499c8288863af17b810ce2c88c6ab79b093fac28f9ff96024da8820a9cd4cc undefined
-e188bd01c489ccadf112b145100b0972fa8a1f291ec801b44c0949279a7479b0 undefined
-be0ee6096083effe1cadfc14ccfbf537285764354a10ca6ae603dd2c3023fc7f undefined
-9bde51cbc83dcb671f681c2dd2016e22405593bbbb93ec775e98fb3bb7d54dc2 undefined
-8ee42ba025f052af77dcd7a00d3141ab8b823039903a29bfc0697864b0676856 undefined
-273f42ae7b4762a7aa2ce9cfce82ed1a1081357bd2e7a0340cff7b4e2a8c6930 undefined
-8562d7424519a267f1a04bda3c8fe0b705023e244299221e057b6a77f586b3e7 undefined
-67c35c85c77855654423298212bde071ab69b08fe4ab935786694bf645eef76c undefined
-ff5d684134254ffe3d86d6041823d3471a21f74af4b5f9616195d7ac8b28cbbb undefined
-b64966772af725d2e7cc5078a86d3f38399e29cc1189ff1fcc16fdc68bc541ce undefined
-a3d9d0008ca0b6c58c511d29f6a737430c9bd28094a868aa15d2d2b8766d817e undefined
-3d6cf5a09600a6fbe8103e5de35a4cc8e3418d2e4e3b9e19faee6004875f4fae undefined
-0501b1ea9257ace9dd716826f06514363bc37fcfafa318363bbd36bf1f076691 undefined
-c409e7e5b86525bf379af3409cc74230ac63721f7d56a2e2a034bd871e2d9ed9 undefined
-478e2dbd6d3bd6c5974774731f50d416728d44e7ac590f353e9778ed6e154116 undefined
-65c4abaafce2ffe5261584a5ec9e04bb08c8e94de1d13dd98f6458f01077f8df undefined
-875a58cc5e1e945df37b22ac340a2aa4f9eff21dd3bfc10a2477b616577d586e undefined
-994053a077de692830adc5796c1cfb12fb4c4fc8fd117b53280767702b25df7e undefined
-82f0f39ba8040d2154d67f63d452009b5bfee812485ec6f6819929b40aaaa7c5 undefined
-9cf781a15801c629a6a4b9e7d21753e0e95921d3b6b79985a67b1282c705cc20 undefined
-952fb5b7ec864a3922194b6ac7212dcc0a904b6881954d83bf6bb6d18211a068 undefined
-293bf8cdd51a0ac71bf762d545dea862597e64bea5b20060c41e573f9e9e4c5c undefined
-617387000d3d20843bfa365bf8615a17113c8f760a216431643cd4fb3112283c undefined
-50d6c35882e2644be5adef4e2ca43ddb041ced355007cd7f556cac453789bc54 undefined
-c8e955d5c2d237df35602928c88de7f484259d65202d43ae86fc797a81eb64a0 undefined
-3da03794f973324055a89481794408c56bc9a2904c5e3ceb50aa0a36ce81684d undefined
-51bd7bd1a5a18bc09b36c1aed10c7eae549f300c28823edfece4b1c197f6bc52 undefined
-bca24073fb46b3a404dc146fd2566f162c6259cd3a52bfb80054705f631380df undefined
-2e5ab3113fa1e06e1a6fe346fd85b684012ba215c049250ec51a759c3b9b71e0 undefined
-3b33ce77dd192175d36b000cd68c8a8a4eb24a4053452bb5aded615858224987 undefined
-71a3f2c54068fa311a11277d8ef8798d10321b699ca2b3c7769fde6443fa82fa undefined
-1263e92a81baed9748d82adf7fc0a58008a81bdb04abbeb32a8acd39f4ae281e undefined
-93adaf3bf5151a2ed64f713fe82943107422435f2533108cc0fbbf2e5479b6b7 undefined
-2e3d19fcedf560bbe145b9baff0b4c828aba20dd291b4776ce05cf5b35491421 undefined
-5f24dd14de08a60d2c95bff9af672ce7662eeee2e50586d43a78413c4db5ef7a undefined
-95d31c76af582319f2fd8b147d855596db3cc99f175b6f2d7570753784116b4c undefined
-f3171ad94694ea45aca7e4c266128fa3ecf804ae9646fa0202579b7610783257 undefined
-1360037547f001d27ea08a9c931b0e733859ff03b36d8108b7678a93c14d93e8 undefined
-47a746df7975b3ae92f80abc009eee4ca91317ad5cde696b3e7254c87ceec453 undefined
-876ea320f5f4bc3e471a72c8529e55811a91c77309eed53e45841f3417f040b0 undefined
-80b591894b640ac3b07a3a4ef5b7ce9475f0c4e6f2c52c16cc2d11c98a81695c undefined
-564943f45d36e8ef0235de28eac313a115f0bdd7add09c6e5d21b7def9a4d313 undefined
-9416a06c788b1eb0524f799c4e41810028ede660c8c539b907db76738de38b8a undefined
-f912b85f7ad910684216cf7ccb0954c31688a147b3febfbe297bcc48643c5790 undefined
-9bdfca9883b64c796896ba47be1c584ff07fff590b542685a879a37783e52594 undefined
-53661b909e45ab4ed18f5982ee4568947b3ff16936789b1ef4464de731a3bb54 undefined
-a8c48390a504d3d332ba35573763f8e0557d190f0521d0291a7744740328d241 undefined
-8da5fb73e19cace143a6189887bca42687b7fd4520bdd91379110dfb2b13f127 undefined
-f46b1c2d97b7566e726243ab7b0f4b1a2e9052a93c9c1df8c4a011369fadab56 undefined
-39a66958a7bc7dc325fadca90f24b2b3e634479fb51304beaa537de19f21025c undefined
-82486a17bc7f0606634a4f401328bdf134070b2143352ed9ec1c690c8a9d684b undefined
-86ac6b1f4d837457bda1a2a59875e18a9a3d6419c8fd2e4077f53870cf091442 undefined
-abf33ccea74dfd8a1e3005ee26e7fa50705b8c9bce055cea5f3a5c364c620ac8 undefined
-ab9520b6cc51d6d12b717a8f86f0c0bd73b5d75250ec9b9f2216d36ff914355a undefined
-078803bbd197776106a69095d7429f33f1202b143a8807cdcebb92c18895dd80 undefined
-bbb2a736ce9bc4195eb3213dac6b11364206eba01cab859af43dc4bee0fff1fe undefined
-f6ee184867567602e4d2a1912c9628b4d365f9acf8817795ab7ae97eb34f0b12 undefined
-109eff15b63b8492a5434f724f210f71f8676682dcca3a9683bae5afe7980928 undefined
-51d9425a2e3a86ddfb805a327e999e98868675ef34aded217eda639f5b74d752 undefined
-4920736ab13c20654cf711610b96af25fa4bf20efe322e2f1b7418fb406e8320 undefined
-196d083b5c3dfd878a7a4f434b0d284a1d707d16d01a87791bd2486a64cf2003 undefined
-7c9c05bdad5c0689fd57c35d9530cb85076f50dbffebde08b20d03523917a10c undefined
-3d47fc217cd9df75f42b443fd6c19f09e1a803ce5ee975f13316c81cd97517c3 undefined
-c12c28d89d269e2c2afa012beda923ae6a2e2b406b73f6f0c29de5194459a85e undefined
-c681216344fff5639cf414cd759d164d5d815b0fa84aa56df06ce988420cdf51 undefined
-005db6e2c24278c8c4660ce9a9e543df4d518c94776703196ecd3b0299fb0e7c undefined
-3be0a916b9bdef78d5e3e32ed6137d4a494b8e7ec83248ec718784d14cc594f8 undefined
-7c5063d180a5c3d7dd72097a569c9717fc1234b25429372bdb27b64ba351042e undefined
-19f6e500e26189e4bfb1a197fcf1f5e67af4cb2002aa6fec7d2da6d0f69ca9a2 undefined
-6fa78f53daed571c530b96afd8d7f62dfc85aa7ee24c9ffed53ff38c44f349c1 undefined
-7132ef78f9b3a19abcdd453cf85d37bcc74053dd3d6215663e8ba05dd9c03dcd undefined
-1b399ef367be351e53995d1aad260352a4c5e6d6b71d281ae4d6ca851212f2d9 undefined
-180e1ea6250fb5065890ec8672374400f74d429b645cbc168c40c08ca833fce1 undefined
-06b14cf727ad8872141e1e9981f1d2ba5d6eac3778ac55f8e5dd476676b0653f undefined
-7b5cf92adf4f4a24091b72fbe41a35b22e1213e65d2075b58034b0f096755fbf undefined
-cabcf7e0575635c09a713f9c91181bfbca54e73fef176535de9bd8a3fe92f8a6 undefined
-c2110eba876eb057ebc693917b5d559607519522e439f7e5ac00b90be99b1e58 undefined
-34dad11c0ee9fefb974c4b7f445fd0ab151a701780a33b439f042845fe9916b7 undefined
-750cb1ba0e22e65708121df4ff2b5e30936dd841b1dcbc77ba007716ea0bc4a4 undefined
-02d8360fb161b48795b43829cf67ee336d8854faa1dbbb3e64d9d1d941440d93 undefined
-7844ddb1e3d0c298b0ae0969437fb0ff116829c19c81296fa95113e47e0255bc undefined
-531301906717919f4b282349dbd4b4f749827fd0cdb9f15bca4b1cdb83d20d54 undefined
-534ed8a20ccaf262f0ec59652b1981750104f11f6f714ed4782d6448e46a9912 undefined
-1e795911751a14a586b1e1b9f02b804d43bc54bc3a410700fa4a61b410cf152f undefined
-8ac3953288a1b5d9d4d4153aaff8227f97da657ab71616e963acd1f47b070df9 undefined
-61beec492395c67c4c1e3ee1093312b954a675279331fd2cab4b762edc50af2d undefined
-5d2835745a63ef79968bee20fae8f67ee64f72bc9eae866106ad6fc1d5aa0e3a undefined
-2d4ed7b8aeec455ffbf609b59768af3ca444378d82931059304553b90e896fb6 undefined
-79c7fb5e87efb89702b1abc66d639c11de073ed6c3b35baf8b33541e85d6fe6f undefined
-c7be589948cc34a772298034fec3b0750851bc5c9271f62db693358515042271 undefined
-62a724ce1f16259653d548039cc0bfd7bed173fb22d60cd22618505a00d5ab11 undefined
-e8a809ed1bb6ff1c2d08a1d10711903b21876d61b0f368ab39992d25ead4b2da undefined
-4b366339eda851a5a41b8ef2b197d9587a3986916d608d6d538f7da5b503205c undefined
-2f95e670921d901ebbe495a806d2921a8c985fbc75712c8b03273d8df1c2fcbe undefined
-da768087c4901538f79e98f1308d2819b6672f16c443c74e0e675c86d9c996dd undefined
-e4e0d3b657eab599ff5f1f55a6a686bc134db0f9aff91b5d226bd36445c5de0b undefined
-0a016caf23ab312ba8e0f15878420aa9747400120e83b208d76b09c68fb0e837 undefined
-85e51ff06a45d94b12d1d3adc6dc294c73536d4bdbdef07b755fb121217162d6 undefined
-1a5f47e79c15125a5f3f49b552452aaf23d4c530841ded62adea68d0886934aa undefined
-defbb8527fc5ea074ca97b7580d521c1fe68a7949cfab27aa07b65b4d64e2b1e undefined
-86e89cd89f145ca89ba7f4136c4da96d412f82501e7d89c55367ed53c921e640 undefined
-e74295047b3a270f2ae389cfeaa5e6df62e7f64bc077df1f0d490fd4e1c5b685 undefined
-c3e8e53f7443b7b44c5359c09b3018ac473cf2a8fef64f6550d23d275faea373 undefined
-1837d1cd0bfb8f64b4bbc6d069e2b3ab95e240427066a4ad145e8cf31d855d4a undefined
-4efd7e3ca7436e2eaf547cdf8d4d500ea418bcf911d7b5455d2e3d521a98efe0 undefined
-de03c94f9cba4c851a022ddb7f00223d199a5284aeeb21afb71dd58c9ca623e2 undefined
-40d71d88a9e2f36b640d79d642664ab7a73fade4c07dd1be75291d0de6cc7ae1 undefined
-b2515712b4c54e5608514f0b9da7ee1d39404910d0f0b7e5e5d6a6576f7d5e35 undefined
-686ccd57b470b97569a8ed76ead5e94d1ddf4855fbf550884ffbdd68eac65f66 undefined
-88ba0c8165c7b444d00b339588f4eaaae460ac657bec18c72e0b05f25405cd53 undefined
-e48dcfe38e6375c10062a2b4fc4eb23abf977bd8478ab1d99cd5cf9da2c7a866 undefined
-adb3e6a872eb6e11182c2e8b2166fb7b280c6e450b0eccc90f513ddbc4ab48f4 undefined
-1c547ef5a4789cc72d05baf4024a8c25871f8c4fa440fd67a5b984f837d6e8fe undefined
-d2915244ab1917b3fd56171628d950ca2fbb3d024bade490c3efea372f4b0225 undefined
-86ab86664d40a28cd9676f550d572fbf54dfc687d1029ab913997c991cdbcf1d undefined
-07b438659910e01250b6f1957bd3c8d869caa35efbbefd88be0807ff0d68263b undefined
-067244238b5b9de2284a992fbb99ecbfa9d91e1081d82d4f5e543978e23daa8b undefined
-d60cb4ede70f644d85037795421b875cbdb1141077d5534d06984fcaa1ac39a0 undefined
-ab2d4485bd59bb3ae3b5799c96decdf373d11f8611729ea5cbbb407172a65033 undefined
-330c330f7718326526dbf55ed031a6ace27f52dc656dd85eebe15fec883b8fe9 undefined
-29b26473cf6e5ff4db2347488a809c704841467aa181125ccf238d6b6b93f582 undefined
-eb0093d3fb5171b8433ed232491c85d3c22f2134a47b972107c4a4412ecfcee9 undefined
-1ee841cb5c1b0eb88c90f9e3a7bd12fa1470634ed1a05f521c974126db15b969 undefined
-05eb5835beacaa2fd0cd341b9b8ce7f9db3bce430d9506c259d342d5ab309ed6 undefined
-cdf0dc462110f72550e9f582e727a6c687c592367736e54b620d6cf57d79e6a0 undefined
-532487905a87dfb552f0747fbb27d24d4a5e54e32ad78f2dc669c31ef4687d4c undefined
-0e34a2d13ab35dd26c307e9bf6e12518dee965735fee1549fb0bc73009d1a1cd undefined
-e0abe7f6cce229a335a5d45402e9d4dd19279c7cd5651378c7098cd38af1a524 undefined
-4e5a4c71525805ff4977994817267bd87ab15d3c41ffe1547b3c509cbf17d57f undefined
-92366bacc61194d46796592fde7a9eac013437cff221d16aa4d8ec5d856e9836 undefined
-d79a6601755fe8c5d0c8dc6a0c378a5a44bc34434265cf4bdb777e56bec9dc82 undefined
-7f628799cadba30abc17806753443e4603b7e5098d3aab8c2b58c6d5a5338699 undefined
-f92bf07369f4731c4b94cb8a9f1352e4cde79a8ab3f6c1c9d028285f26d408ee undefined
-16ae9e37d925acc0a139906e1070006374932add656aa877131a343e4aecb4c1 undefined
-0ece4983173daeaaef38feb711491bc92283791b785053f5989256d9db5c852f undefined
-d89f7f688e18fd9c9ca73a88a12f29256e46d31d2d4c3a1f1aa4caad179bf228 undefined
-acf45df6421b5d26794c527788a0cdb38c99e83785f418fc4aa78648910bb772 undefined
-001fa418570498611ff79f646dd1de568a12d3e67cbf7317a006735ea60c9c9a undefined
-f55822170dd3dc7778d8748ecd98dea5fc8a9703d5c3a4be18c4b430fc157eca undefined
-47e05fa9512e32849834f4711b1e35060af5984b72ea75dbac427c3ea741bdbc undefined
-500ee683a24793cc20f150441d1e6d3a5f743dd9b4f26bad38633f3f407265a1 undefined
-1fe9f4fe0131d956ac4b40937666cb1bf5a257db3c48d8debce4e42a78a5b1c2 undefined
-48e6cb84014182a9ee6e434505dd0025df6fbe25c43747ae879800389a213a68 undefined
-f963f4d1b4a649e97f59d21137df330dc4b9b3a57de800d8bf3acf9f57d2536c undefined
-54d9b3dd873f43aeb1d90fef36d54d42d86bac421f43ef8e950233a324008b6c undefined
-b9a2b951e4b4b466eec45ae9747b58ff3644c22eb08d267a3aa98cef5315c431 undefined
-ce0a6aed3c768239653d8a95c53b4231c6c4fc492eabb2fc7925c9a8ff865801 undefined
-6121e69b999b581e83ea557ac63427b62a887c32422b7c8126f7791976b2900b undefined
-fe558ee2d376e2a4b979f87e91d06c2eed0946d76eaa9ad48e34e613043b1c3c undefined
-ed7ac0d1489d184da510faffac157b79b960134c66092bc3a15d2773af38f08d undefined
-49f933704273127d965cc3ebd42d401384c61fc92012913c67d8bd8543d39c28 undefined
-315212002c260ca00f65db4fae10040d1ab5673ecd6cf2de91642dcc9524d508 undefined
-718894afd5c04b7fa3fea79f3219e31fd8fcaf246a27c8eafedc2e9195bbdb5a undefined
-dc451d8813cb1020ed7729de2ac6a0b5dedb2bbfc728b6cdf7241734c06773e0 undefined
-efe733b94d58613e332c5bdf9cc15e7ea49b2d580bdd7e031de5fd338f56765e undefined
-459139b2341919f85c5940002442ef5c957ba44ec39967bdf80852e273057bc2 undefined
-26eaa5789df72cc2bde6b9b82b8a75cb658c942333ca9083eeb9be58c6f4b93b undefined
-d0f2f86ad47f2fb8c008f878a8e5e05dce55464e6f79e6496f8c086e355ab535 undefined
-2393c401facdeff9c1107f91c2ab0df42b9f3592267c733f23c9196fe2357aa3 undefined
-0b1d1a805424785ecc9fe9d228fa9f9f09ff69bf0783e14dff3aba208a29f363 undefined
-64a53c6a90e0c3d80aba1a5b8cf5db3240906aec88448ed9909be865b973fb26 undefined
-62e55fc2c8a7afa9888d0f9af260418c0fade81af58e5b63d6f9595e3eb032f9 undefined
-64cd62dc64aa0d88f7e7aab520511afe50272a774f4ce2aedd9c3cfac3aeb257 undefined
-2e400caad1c779f2bf155d6f09aca226fb4531833ab2646294628985eb6dec95 undefined
-32f1dffffbdbddb89413fd096538978646c292798830b9dd21bab2ea6266c863 undefined
-96263acd3592c6f5793d415379047e9bb703bdb53072c37dc5f54b309c91add8 undefined
-5d44c3f633fdfd8ca7412d6377cd1d3a9d7e7680504efbb7a5fc3c82cb9aadec undefined
-e72050e2d180a140f7ee512136346ab5ea86124cd9a62d9553746b1dfeba4421 undefined
-9e43fd96551f2d714fbdf2b903deccf60f20ba473c155164082f6fce09f7dc2e undefined
-84f91862615122b51816cdd5860b6e6b48e399f816992227ece2ef4eb0e229b5 undefined
-fabee7e7de2406491f800c91fcb146350d0b25eec4222ac674587912ed948629 undefined
-71a4bfd03793fd80b5460fb90c55cf25cee0b929be9d652a201375b58519fa22 undefined
-fe7cd646192dae204897fd2b55b08435c884872c9acf4aac065f6ae4a5771837 undefined
-917b535634ea7687ecf31b105695e7f413bb60f719b248f4943d6d5b3b1f69bc undefined
-b4fd5cb6e64e82da329b995e49044b401bbe58d715561b329c2aa7e765bf83d7 undefined
-0d7880a5d6af1149ecab2626a930a85e81e71df7a49431188171852004952bec undefined
-177f3ac7f643d258a56008b6b3bdfc31731b25b218adbc7cdd0bdeec96c0311d undefined
-45bfccc7cbc78f984f55aab238d631dc5be8d2d64e7be9c378f0b614cfd2988b undefined
-02c66465d8c02c00f6eab562d38e770de52099262f3cc29be0c2223bc0d6ad0b undefined
-9c2018d96123df2db3160ff38fdb04da9e8ba2c0db276371857e8debb3d0b117 undefined
-5df459baa70d131539cb09e328ff511431bbd2261c6073e67478a6c8cf07acdd undefined
-d6e4ad38c95bd2d54f8fc7f21d0e068acb21da1c01b40534a80572bdab6331ca undefined
-7933978465d4c39c490c5e0814284eea15bed291d90d0a107ea2535f480a6fc6 undefined
-194cd98e6f1ac62c71be60a135873181e3a3ed6d608e2141e13e6923f0813bf2 undefined
-e19d3d3c677c6858a1d3b3ef5e9f4827307c4ba10690a986e8e848925c04978e undefined
-2d3fde2b48787427af56301131447461237b9f12248a48516ffd58264c0eb1b9 undefined
-f2b46b8e4db9baaca186d3fc0fd64e81d79b7bfcd4bc16a530d3ddb77ebd23c2 undefined
-d6180f9227560759430291cddfe05396bafa80655be8c00a3cc1afbafb3997f1 undefined
-d1acd3a78fa4e5ede83b4bdb488faf317823fa8b141d22e922971fa6074a462d undefined
-d49c76ae6a5cbb7751508f1aadc6aedd5439ce788907e414f76a1408cda41763 undefined
-c89b9f9e3da9d3cf7eb94e11f12b351a3cbacbe9db1420b6f9b404c960257b46 undefined
-1ae81bb505f72bc372a9a4c691ec35cc7826d2a46ad3671384be0b89f369b98f undefined
-a55d8fea8b2da988cc0bdbfc189066a2b23b36f5bd2dcd6edf2e41f4124e1963 undefined
-3b4c7eeb253c567fa677365b0cdff26727395c8f993527c24afbdc008c5ce218 undefined
-2f3f4980751a6ee5b08594a41c064b0e6f3be3ccf700a600ab97d741dde538ce undefined
-ddddd5e1db2279acf4b1da8b3d145c162821a0d8f15791b2320470c6e048feab undefined
-056eedbd79e5b4d2294ccfe48252dabfe53b459871f484e1c69961604cc7b310 undefined
-24ca8993fd984a1af209916f6272c4ea7c14f1d720a556aed8c463c7bf1d8a76 undefined
-078d1dbb0421ff35a202c11597f06ce0f631d3dfbd47dfcb074dfb40c538a26b undefined
-7855f30f6ed25753339b35e936fd0ca13e4d5e12dd47c9d5159f3cbe24fcd263 undefined
-5cee0d08849792329ca49d37b37d8beddfc947b966167f8fc4b3f72fe2a9ae73 undefined
-5b4bad41e69bc643005ef5587e9347a8b9a85fd549b729da951970bb7f570aaa undefined
-9db1af9f8a825d652741bb96968d5c1f3f2ca73c799dbe585d7bedff2fe1dfa4 undefined
-d26c0271d5bd5c0111adab9fb371a0a2df94e6144158a224928534834fdcb0fd undefined
-1cd0ddc6f6c92575377c5275ba45cb91e0c81f789c75a64a3f5c80f524e7a298 undefined
-def64060457095530205660152aad858cd38e77deed84eb9bf919fc68dc7be3b undefined
-63ee96fddd73716d6e2cf9c31cbeb2a5791c3c8035c9074845294e7fb55d873f undefined
-24fde0084f5d798cc198a7241907531820bddd3493f56603241fc248257fc45d undefined
-9ff6ce9c49851ebc0ade43a7b54381f9cd0cb3b03f2c9729bce7eba3bd951d3b undefined
-26ac189499ec3141dad87560161faf713b5554c4fc939a2ac9347b2eaa7de112 undefined
-b0a33f60971309596111bab9b047a6b60a8f8055493f93cc469f88cfe25c98ea undefined
-dbb4a8b11e84db4954def17f1b3437455d32b5abda7b37682635338f781f370a undefined
-7be3b522269a26aa99f82bb4e20111f3f0c38a2b72d5860657b523bb83b37994 undefined
-00f569a502418cba4761c50b9e3eb9c7541963b17b6e28aef4e3a4eb97dcc147 undefined
-a11d3437606d6ebb56b69d0c9f26f453e8215ef602b3e1a68da0c1ae2cb42653 undefined
-8113b5802c82c37d08888d991cc13d330a5e224afe80d2df373796c6c2010259 undefined
-18d1228ed7a27ead9e94405d6e920a2539ae6d37f988f720290f6b19bf289bd4 undefined
-e1eac600afa1b1c43aa4159bfd1862a0096d97b0d30f820a3849211d14b17e97 undefined
-ceded73a34e8a35b43114047b3eb607f2529c80bd29949ac238fdae0884143ee undefined
-8924b835d004816b4fb6020e47cf3fa96589294c8c5815d08b3d79ba0c6cbb6c undefined
-b0f961bc62039ef68720fba54820db34ca2c234829e49afa7ad9eb3320ce42d9 undefined
-b043b95290b763338c060f258138fde06abb103e4df7b3d0d74809d4c5e03c54 undefined
-5a3648d128728ad6cb4bf2707fede26ad335c12fa466432e4278be7cb6808292 undefined
-adf021363be9b3a61fd45fccde43719393c12e142a90c937e20b55edb152a7d2 undefined
-bff2460be8e7b16b159f73b0fd4c7cddf43d54e7cb71ffd0f14f4adffeb94878 undefined
-dfadac8d7d4e0a4db315186a7b06ae9828e735b64ca73fcb7ed3562df33afbd9 undefined
-bb222cef07fed4742586e0f2b942e6abe367f4ad95cd2be09b8b38f3d5efd133 undefined
-7bf50afada5e72959827ba50ef27289ea356196a0c036636defbe418a3bb3fbe undefined
-39da02b29c5cb451a5a4686295b04223c3dcc1c5ecdaf37b269c8a8f3b03c8f2 undefined
-6f88d62c45aa54a06e629bb0c3ca3467ae418aadb824c8a8484b82c779da3799 undefined
-6bd4cce47cd1eb44d6ff1c8b30392e73d01ceb5b103c4a69c2c995ed301e465b undefined
-685c6b20a37c54ad3b7150bf82b60c10d7870d34dadcf037671ed0a103744bf8 undefined
-478e51721d8ee3ed6c7e113953c3a369270f42c789bb0d9b40e1d0254d3d1026 undefined
-e3125fc9e9b79b5cd001bf165348ff7874b5e83c948166c204cea301f7fa46de undefined
-2c7fd14e2547af0ac656e9c2023eb9ea6d889695914875856cc6783598d51f0f undefined
-b73697a98282202c7a21bc8be0e7fa5cedf3854fab70f409a5e59de76f7e4741 undefined
-d74990792b17fb3ab2ca426148a1b882965bfb20287acad935835c6b3c39e408 undefined
-ba104ff6b46fad7d89c1a2a39c0bfcbf454eacfc766a382492917e3db45ca742 undefined
-e1344fd9f3ea15ad9745748c30f47a35220f7ab6b7547cf033f9b8e5c1479108 undefined
-3c78fb93ac456199e21c7c5fc3f3b518176300d4f87f3b4302df31b5ef27aeee undefined
-24605c2261b21d0e131c181ea4e4049313e01a6c518227fa019bfd2947da8cfe undefined
-6bffbf2c818ba7ebbdf2a8f089e950660c28bdafdc3f728177fdf5fec137e3e8 undefined
-536bf63fb14a7ace81d47c181f2f1743adc7cd8487394959aebd51e4f89ffa74 undefined
-f096b25045c717495eb43a2cc9fcd5a7a6d2f8590fba114eba7e84794edb18c5 undefined
-209203f3ab7513d3452dacdb6a4581ce4b020a34cd8ebe1a28ab8c12e0931c5f undefined
-7ae470db5f9bdfb17e63670ef116c04d4ddd4c683c04fb1a58e72eccc8fe0615 undefined
-c76fde75404292cf512149e9833b183693f35836fa0e1a0fcd726a10dd7ec252 undefined
-ad598fef47973ec807bc07cc74ada5aa0421908b8b1d55d3d36191c13b206d55 undefined
-a327794c23388a993aa0184565967b63fcb2a0c182d20817e166fe841ad205e4 undefined
-cfe76dd41daa6e7cfdbda1f683d73a2ea637f2924e9494524554829be8807964 undefined
-d3f29f94cc42d12b908640ea7ed09990c0553cb5aa85aae37b76069a3e34eed6 undefined
-8183ecb33d3c2f217e5c6ffb3006bb505c267d2f7cb9a62110eee54f687867bb undefined
-953cebb5c9aea9ce4b21d3a3a26cceffb63e69a9a95fa19fc9d253b46ae78250 undefined
-05b44633398a2b2a8c74516f5b40b810bc0f905c909c3395fb53249f97e080c7 undefined
-55b97e0cb5064496d55c5967d1ab6763528961079dd68a03ffd544a43b0cd7a7 undefined
-0e49750041379da8505dba50807236f7bce0aba2137743e495c27c7b141db29d undefined
-57d03da7812b9d43a0c4a514f402d7eb4e4e73692e5418d2a7d539699403b4e2 undefined
-c5fb02120c27e89512e73f5dc94ca2658021939ae79245f74a9106f0e0b3a5c0 undefined
-72354d572c4bfa63327acfdbd282696908bfdc9037fc9c5050fa04e93b784b10 undefined
-1f658065024b8556823a902f3765b1659a94b59e011bb3230b3be40f3c4c4711 undefined
-90c776333ef7efd7e35b50979e50f8b72ed1ec0fff2f1fa3e7975cd6026e37be undefined
-8eccfe5a8660310b388363a05b8aed9195c26381957027959f3c94363e7b065e undefined
-7c1a0fd8098060095664c9c7c6a187780fd666d5cad2dd13d9090f115f7c4e29 undefined
-1e34c2267cb6232de0eb290024d9f175929837ba5a33f3b17d77d500afb67ff1 undefined
-8f6eed8247143088eb266968ed46131ea0afd4b52a6058102a6c0ddda85ac164 undefined
-c45bf05de9a7f6b98377f5240c56f451d7e344fd03e44851f6cd76b40302745c undefined
-4d56208073c2e29252dda2b1ce7ac2a75cc3d5cd368636f314e3f5ce9186a258 undefined
-3762f4d379597a9830d0aba2e5ac15962f625f34bbcae11696658cf3898f479f undefined
-0f3c64d899b205128f2ee0a9a5d7699503171754c46925feb9653e03bf90b166 undefined
-8029efa11a43cdcace540f409d373ce0235fa4c562f525ecb5798a3b9b2c159f undefined
-23c6c812761085da832ff95f49d90bcc36740759e638d09436dcebefc6167140 undefined
-3f1344d99e9fda672d529f7de6f67133f291ec65b288b0cfd33773b95e80384d undefined
-6784ab806e506dc7dee363d95e638a8f719817377ec2c0cf51abd30438c90b75 undefined
-c5cb52f0df0ae824dbba4174417efcedf0bb60a614bb819646f6637c7f74810a undefined
-d47639cf11e3b1c655a745b3902997062d96f366603c068cb2055c807df429da undefined
-06c64e10e00196c677fb44640cf40958d802ad3193177a24f44dbcb151c44746 undefined
-6a888486a2e573d9d8b162401aa262608639a9e6dc8552093f7ec8c367c6798a undefined
-bc833ac92abb6124a19dab497fd0459677b90b8074ba841fc59772fb5eb6597f undefined
-518525992a90cbf94e10425a8f5778f7f95d528118c0d45bf512b9765f6dc306 undefined
-44187cdf9a0bc8e59114e517691c9c8904bb8568f51c64958b9dada425e06939 undefined
-b73036db53cba7d8802097fe0b8ec3b528672f4350b1d19c8531dda2678526e3 undefined
-10bb8881979329cc26a1b40ee50cd26b0a74da306c14b47ac76d4fb8d67eed36 undefined
-d3338e3fd2b695a6b1e128bc01da43082b61bde5e7df866524dbe2ac2959c9bd undefined
-09e8212d56ccc2290e6577f0b838c31e042588d876482797875e887e47bc9943 undefined
-01f0d48239af2e9ee6f1d1f4f2cf49ec464d747a010563f67daa8ecea2568370 undefined
-fcca40c4fd56dbfb4ba88ff7521a480a77d288465c85359b0099bd4dea03285a undefined
-3bf0194f2f0f9811c4c91c07b45c3abf82cc5c420c7fd73ddfa3af5aac4a197d undefined
-49bafbcb115ed2b15a1c5501252888b1ce9de85c15a8bb16d9b5a53cc882b688 undefined
-08acf8f589c5c2511ecd3e81aff6b3272e7f7bb4915c816b8465e08c2367f58e undefined
-eb8f5902ff02792ecf961726a15c1b3a6447ca5f8a0ee0d4677b90b612ebde81 undefined
-de33f6edf42563cb97afa48e1335ec138018b40627ab2a5c083bd1082dea94b6 undefined
-1136da4c851bc7a74badac7f04d3447982aaad8de6ce001599dfbc4cbad4a9c7 undefined
-9d9bc47e6e902cf7d54ea22f03157a8d3a0106601d6000b7d4579751095f8f96 undefined
-5758b099590078defbe103b565aad9049f525cd0813ac395294fb6499a4ed434 undefined
-c3878023b979d6daea69c1ae7253a68463a3915d930c317b675aec38a76361ce undefined
-e264555676d4569e9ba2c0c461c6cfad1b5869800cd06d0a712e847bbc3b90f2 undefined
-8333286cf1a4c9894e69db4a1a1a8d9e97770171ca01745a83a646bc02caac28 undefined
-cdab9cd821eac99ef1011fa3583711db30f04ceb96457b1b9611634d1878edac undefined
-a90ee2d7fb7ec2df0b5009ade45f319e916ea72c1ea87f46bd3880844902f62b undefined
+8180eb43c5f6ffa09c2fb14304930c45bdd5013d6714d7dec21245873b2c2b31 undefined
+536a6f7387ac385037bcad6bf050832adb89299e45e40570c87e466d631b84f5 undefined
+954d9ae953cb969575593917bc5a544e08b62fb357814c163eef7bf5580f196c undefined
+c82c91e16441b01804e7698aae710d8ffdc7087a7c54fda91ebda38baaea48e6 undefined
+1be3d9df8049b6e616daba33f6710c720b5bb74da03fd1ffa35cbb16338ed2c2 undefined
+8b6a63665137d714128237c9af530d274da3d24c4172e29e45a57ea15eaad1a8 undefined
+2411bc1d08bd2632eb2625f78cf15ac3cfd12a269bd96d9254eb5b1dbc8729a1 undefined
+9eb94fb9f21a04dfa608d8a5eeaf092d14c8db16adc21e86a6be709841dbd351 undefined
+559ed7fc2860ba895eb0f83088c322ec7e2f1a49adf671ddf893695351023680 undefined
+4c33072f9309dc69cb6b9129bd1f557520383285128d654a7021813a74ce42a2 undefined
+06ad63203743a6873f018ae815705e707b5540a04a587a3eb0ca4886616781ca undefined
+7ae42041f15319c4ae1143bc31501d957ff87b041b3572350477297e7f7afa2f undefined
+c10753e8e79ef42ea09a2550e4a74f3e1b094c19746cf73e7a8659675b73753d undefined
+7f97e55377c118c2058b0cc194515810d4b9aa88ccd925e6c1b398329380d0f9 undefined
+0b8b54c29d3db0cbdbc0a4a0798dde6cbf1ddca7e0692c3eacead7dd3bf31d61 undefined
+c9fb3689d0da864ea28946628e90526d8f23563248cdff1055fb22d1425fae33 undefined
+cd9f581ad6c5e02dd2af966904fa009d9789fd0b679d2775dc64f1bf543f5d49 undefined
+838c34fee093ee23d73eda2e5575397dbbaed9b3d37ae51b5ee9944f23daae80 undefined
+480fa0b7973ef95e12be3e9e932e0a382d27430c4ba1b06d0b93a212e468efb4 undefined
+8ac89242ed5c6b81c95bda5fb47660ac781d09ce232f1366215386a64cf4025b undefined
+a52c121670738b5d55571860429c0d4af825a985981f679b9be0a98336c50e5f undefined
+e19e777992cc5b8f5a1ee6cd40e06f90a46e919ade92a317f9889d7f68c65f8c undefined
+145c3dd7519cf36ca047b100ef729c0d1a78167ac23806e2635d3d6dfdc21eb2 undefined
+4fb58ebd344ff0ce03fc4e74aede0c6baf4abccfdd926947309cfb82b44241c9 undefined
+ab6257d4a3617407f6a0fafe9247d166dd60853e2ec625f0303787e289bf7b88 undefined
+f308b9f577e0b2b9ed915424dae71f39c7a3a03e756f044cc2b9863f6dd7fd58 undefined
+7efdcdf11717c0e762b7be9b55cd2291de6c30d1afd19974f396eea592b20723 undefined
+3a7c9a8b2436a785044d3bd3bb3614cd09850a053ec5f4a84777fd63bb893e78 undefined
+f867d002f595a3173197a306d6dbf411ccf5a905dff7c8a259be8ea4e31e482f undefined
+04424bec675654aa802f603b3b2978c838b22dccd220521bb75974e72406a03e undefined
+135b48b1dc5b1f53b37462bcbb5dfe601c90e0c3c7b13a9b8977d05c99cdd736 undefined
+441f64eeeb1cf369bfc24f37171eac3deacbc88ca4d7321bf0480c0cfec8c97a undefined
+aafef47ec35c7cc98b197bff63108481d679082dce831dae61b6c773045605af undefined
+1c02aac0abd6ce7d94b0c5877b91619a5db8892206df9882a0214b0ad6a96b65 undefined
+b75c72626e8e5f4d2c8fa55816cd071b10bc26ca127263d5f28a4afad547fa85 undefined
+14d20c8c55bdfe074d9d6883f74b4309124ff4c12cd07a74c4e8a8f2afedeea2 undefined
+56fee28179f823b6a1169d05af45932cd9afca4dec2b6a3c9633f0c4c7980f72 undefined
+cb2e6d3dee04e5bbe8bf10a0a7991bc2552f686f6a25f044c22093494f0f31a1 undefined
+0aacd6975b491add4f1dcdc3b2c463bbc1360c56c0aed349d3385ea463001713 undefined
+f2a9dbb1a37446b80bfb8cfeb66b0c2cb56055f5bfb8c659509868f9c417dc77 undefined
+43768c868910d111b99f53c9868bed238f3a4f246db3f4806db93ffe8bcdd817 undefined
+ec3aba99e8f5415e7e011d21d1f481ed3130c52e73ec6f7a326dde1c63e7814e undefined
+f2aa3e19fac0b2069e0e2a26c62a8f7cf829d6a0a74e6b8422278569a2a063e5 undefined
+ea67a20d27165f552e27a80b1854959070b46f61413c887b7172d9d995240894 undefined
+2c91c3aeda3c37dafdaa9b020c9a865568b5e0379d5751294c528bcdbdf12ab7 undefined
+30608829b5236024bdd337c78fe97cc0ef888b1b97f54df9407cc9b07d6733b2 undefined
+efb974d784ffe8abe0f9fd03e8c737d91dcbea61129c21a86952e5d11db97557 undefined
+1fcabb93efd682d4fb821718745e0c63d23384e4b4c1e1c514581c2313876fda undefined
+489e1fa217d98fb1b9729c62ff8149128487c76759e7d04d338910844a7db50f undefined
+b99e882c61b7a4a43be3ebe1de45a331928e2dfe6a78740a1c9555e03369cd7a undefined
+cebe496e5d5b3958591978caf6f82fe3bc609e799a8288ce10b29bfdc931e98e undefined
+75f3f6e9a6b0c5dcba78cd08659382fff4326714165973f27bbdce2ef4b237f1 undefined
+0fc4d9b1640a2b73acd131e429e5a11efe5d827c9531ed81c110c633baac49b7 undefined
+914b6ba64a20564e3c78b6d54d078a21e2fa0a9e421bd4783febfb50fd6552d8 undefined
+fdbd9d3eeba9774db337a6e55c8d5ed5e2ceb0e426af9fb4edf62d679c310d22 undefined
+3d746f9889d6805e4b21fd605d5dede4f139dc6921f1b6a5aa56edfdd8dd32d3 undefined
+d2073abc967a177bc6680f045f2ed07c7ef9e7e1ea0d449a1abb2c0e414b25d5 undefined
+197a7235de5ead95695c43ddece88b0a500bea01c88c88e85e05b6bdd4ab25e0 undefined
+654c757df9802af08f4472ec7fec315b90157b18cf1310381a2b07334601875b undefined
+17b50a4cde32cc95bcab0731c246396edeee88be7763930192e952559abaa7c6 undefined
+586adf9077a3d83d2e9d17f224f654de220283ab374d73a5681c748bd728c3da undefined
+e1608497d823fff722f0403a5c4c105ecbcdecbf8abb538183c0351391cb8d34 undefined
+e52c04e8ba366f8e02623093a2e9189de84df5287970d20509e64d63216f8cd9 undefined
+d0ce4f9a50307d9b9668a05a7702216fa42fe91dbde93b42c42044e16b90f9cd undefined
+ad3022dfd211c98bf0e7c0d88ad3bdc27221d95aa8bb7e223d81b03ff91956ef undefined
+acb406726051e08c3e6c69a703f2f5ad24b3068350aae82c3f08462cabcca130 undefined
+18f8c6493ea7c762b2aaecfb0bacc9b9d79814c8d7d990e06d990ef59f20b933 undefined
+c45da79aed2de2387538a15ee92a347066428063b8fc1fa9582605a184673204 undefined
+e795a550aea72efe7a702c86cf3d337a444ed76f6facf800093d48fad5c5f7e0 undefined
+92356aaedb4b4211feb57d9be8959478a22f7ead0a76c9b28a85027da128f276 undefined
+571f01beb24266c6287afcfc2a2c599d7c4f2884f3564373f4b8eaea52b1b25f undefined
+2d0b1d0caf12fcbc14bf630a07e372018981a61e8af5aa9fef7c791f682e8ccf undefined
+cb25a6448c6d93c28b47845bfff0441c27cb93c6595a63a6619b9064e13933eb undefined
+9170560b051f9392856073cb8bfe0e8a27a02257b0438383cf49158b57ee804e undefined
+9e6e04cb7bf126b8e2468ee953ef410a091bf5666861391ea42769ecf202a066 undefined
+285149ba7792e423e7f2603c9cc3a38a3eb7b6cb44e5aba0a483f181ae1e25c6 undefined
+a58856122a74bd802d3ef577eb10de55441da39bcbfcdb79e900dec40e0f86dd undefined
+ef6626fcbfa451ad35cfefd5460a3cd5e90538cef5e72455872753b220a411da undefined
+260f4bb5acb7f5ee766c7a8501ebb3e517e61813247a081e789a76b052f7e09a undefined
+bedcb682b61d1cbb5092142af381245de8faab09a685b4bf1b1e568b4c337ef6 undefined
+9ee7bc60f819290ad6fa58f7140d1f6cb0780fa10dd5c6e8431c80a43c25b715 undefined
+a33e12353c870b0753c7f58fa07668f41b3d486a560261656be16f52398e3c15 undefined
+8eb8d9560e83cf6cf5bee3d9ca12e9301ce1dfcdfcb8613ce1fde42d72bb8aeb undefined
+a2bbc233f2dfc29be7816620330da03048bd8f9776089b3034af85ef45c66c01 undefined
+68244732de1bf90722adc3fbeb318332f5833869467dede28ef4361111f638f3 undefined
+82990b3a21a3bb87d7f7a9e75e4eb7eb496d6099c8876939ca5ed7351eb4331f undefined
+26171b52081c4936bc481173bfb0abf5c8138e8f70f7ca7f0c1cdb9520a6b5bf undefined
+cfae8945d8b01c0d5c6c4df44185b5af790dad49f7fa61049d3529eacd1c4c70 undefined
+f077855d778611ac5bf1e0b8c106608cddd475dbf80f21d40552f17e075f96bf undefined
+8fff7b0b3ce9e2a1e4700834b01b0f2e96b08290bc71e6a392e118ef03fd2420 undefined
+3ba0a89dfb29231a2669b78e2684351fffde30d1d96b3f2e93a39704d0b4b7bc undefined
+47614d665496ff8cd8b48e552548377fdcd91f63a361a2ca5b08f180166bc648 undefined
+7196bfffa2ecd904dc1c152b211e86732e3f6a3e580f9d50da527ce18beadae4 undefined
+62d1d0b05c341cee881f659d5882b1af8d15d50fbf72a0749fe242e3016431a5 undefined
+1b73c805e76c7354567e4f10840608537ffb758b63d7cecb78dbeec8d196ae2c undefined
+deba93f6e00c7997c4710da13e49985faa5a32f6414149cacf99f9f83fa6edd9 undefined
+a5d95ba4a9ba7455ce84fd6038605df4a0b034981dece6b47cd0322bfe00b763 undefined
+5c3ff0c3d6cd1a71891ef6e496d1e231b43e5b16d56454c0df577cf350171b22 undefined
+a4bc3fe83535802ac737fb4bee5893e1dd558490fe28e45a10c08031c96c6536 undefined
+5ae0cbba176c40069770743726f1f63c571ddb54b779a38f9213a4fedbed003e undefined
+20d45ee6a517f2a1e47d805cf0359ced2d8c52d4986b38ef07a56f7117effdc6 undefined
+eb59813ebb6493b46cb17b7a310522a06125d69e2f8e87547973a6b78a773f23 undefined
+ec34f6411c6874bf2c58549d4875d0cb3e002fee64915937961610b4ab98a1c6 undefined
+69dedaa72e63528b0cd40fb997467c22b3be2c0b30a4799a982611dd4d79d9e7 undefined
+f44b26d45899c00f892e77f85c52bf9320ee9614891ce02ac692f4c4f354997e undefined
+a7931623b6b14426bfac86001ddff78f49f0fbd519146a7e092e149d36f380d1 undefined
+a6c45d695ca09030b0316178df205f4d35cebab2764932c41925861363024610 undefined
+ceac6154e3a4823722418a205c9ad9c483d04cdf7661f1ccd27ef79c15886dc7 undefined
+dcc491016e4803ab2c9a6a2cbefe5249791eb620a49058afec56176f4c3b49be undefined
+06dc72a88aa7da761b7536cbd06d41e8a442ce951da58b01db0624214da67ceb undefined
+6274c1545f521aca3fbf77ef0d3f494ce3e6052592fc070e30fe919995364744 undefined
+375f6827611f28b5bee60b3624785e10a0b4de1ff2850f2f13e2e0e7f6c626ae undefined
+72aa4f0f842037e7acd27fe06d6fe88f994f010a81cda55df75921b7b7a7aca3 undefined
+141087329908aaf5bece625ef5c3a6196e03952e07977ee64a5f9578b000d92f undefined
+2afadb822a73489387f3ae76b1fd61f905f365fbca3d04983b7f5c97c970a974 undefined
+73fdf71d5edf506fa49ee77bc339e7272d311b69fdd4bf5af5fcd0de54feb038 undefined
+9b4b8d8b9478867c2cd1cef70a5f7112904a5ee9053246a32f246ae1242d6890 undefined
+cc0e5defc612e3ad7f146d92a42870448a4068dc1f38def205ffe1fd05decc6b undefined
+1b8282bd1c1f32f961906cc138f68dbbce581884f7bb69733d31605f3903d439 undefined
+5279c921f6ca00444a06972b938f7bb45e8dc40cc756b8b60f90a48c347d5970 undefined
+80ee3009882c43efb5790c305e8754d3bfdb34cef3b052d8b8c210ee8b92f34c undefined
+9efcdcb77363a7e33ca2dc28ddf1ec41b59778bc816e03748970a1245996f90c undefined
+49132853f8b2f87627aa2f600c92f1e0b99e678636695d215374f2550edd8893 undefined
+d2a5253ed14511d9462a54b394f25abdf79a642d99cedae2446efd7acf86805c undefined
+6738709d7c4dd889eb8d32a90d2142ac6082b29c712c1a9c6fa0c52ffaf5669b undefined
+577a112f8033a7702b9399b4408f6b85fedaa3bd09ce7f0bf8018a1a81d8c37b undefined
+a4478f834f7f968909fd75609915f87f93548b5bbcf3e80baf0ced381d846efa undefined
+c26ba5a3408adcb339bc96805a8c6ad89689cbbdfa15cc8ee09eda4da9191f6d undefined
+00532a6d8fab0f2e8e653f188cb952fd01b3ec6eba7cde4b72a3846f3e661500 undefined
+63d043acdeac5d52329d528f8790097546eea0b88531d4cdbfc8b5cd626c70a1 undefined
+ed8925d6937df2c07e679cc925d2bf73c655d3257101914ee58dd2e547b39fea undefined
+7d6eb04b4216fd8fad37f6ec9f64dad6654405ba6f4db7d8b6970ae8bb7cccbf undefined
+86ea1cdece92c05973e4c16881672cc8b6882afa025ec338f8282dd76f26f2ff undefined
+ccf3e0f2fbdd5b1d5c4382f8f82e1c6dc98711e4f4692d7b853b913e91067c45 undefined
+575b39e956a54268d6994b270179c07a8db27ce6486da46178eaaeccb1a74586 undefined
+b6ea6ffd7d5fbc1559ed8370d9b00a80c87e0d35329e97557b846229c7783ad9 undefined
+19467e5ee30a4a50950bc739d1e19b350af954fbb1633b6b495921295bd04706 undefined
+d91fde24066eba62a666254de5c0e6717ff926c058786dfad13a3b010b22f65a undefined
+2c9350d82210f0400647333405810a31adc9bedb5e54951c0b12537ce43aa42d undefined
+541cbd17757dabb61b05c4cddc3bc10bbacd0945c233fd4910ca5fd23f4ee2dc undefined
+9f9e3be1d4807a9a517ad35a6b91b47def552ea830761ce7b5c49de8ac10e64c undefined
+c5f02c6a123f3e356baa56b48a57bdd939a2db27e109c4c34a85182f740bd2b9 undefined
+9587ac730eb7dec01c9e676eabb1fffe5782e6634cb11c8cc5060b99b6774131 undefined
+5e0f3e96ad5538632429be12f708cada970c3ac72b97153e889fd1e19a2db4f4 undefined
+10b2bb83a6c052a45b9ed54bc84b423fcc71b734b350f2ea990d222925c9fd55 undefined
+92432f58b4079fd003ba4d60ab4b9067c0cbd22a940a7d2b2480f922f089b874 undefined
+8df310a1e62ed1b0e95f001e53303cb06737bbd0ee5a01ec93627bd8d26a35f6 undefined
+0e9e887f5c7f230b839ea6bd703ee64a652a0489f30dcef125e20d2fd6d955fd undefined
+ed53662a62375ed0b8a5f8207632fdbc451d7449b817e011116fbe55be382f8f undefined
+12b9eac9f336aac75cb57279ec5481baed9267c7c0fe55d5b7ccd73b11e6c10e undefined
+c65194ec750b412b44e4a0cad879bea8fdb9bd540d6b6186c9da8f58818db4b7 undefined
+f3a0fde5edbececa7164bd923ac07c6b339b34b8db7645dde40281cd536d2aed undefined
+30842fd49359b685e449c35e033c10df093344db88a255e27f6c934103a8db1c undefined
+9d9144db8d068b5c0d0e7675d07ba25ac8219d4d71796b5e804fa547a9d1752b undefined
+556689ceb98e3be22cfebc3b36dd63ef1e9af3b7107415401271c519b83b289d undefined
+00c76fe8f1fd29a51a7a2a37f118b74a7a6bcc77af4508b2d4f8afa0f30ab286 undefined
+faf1c0afda223ed3ea5f7489cc932d67b3b437fbc757f17a305e030cf522a553 undefined
+f95b6405289f17000b1d3ff3a5622bb5287298a6243eb595bf08fd52d92f8967 undefined
+8220c065fbbf189864b5c69a3030b4442127c5b14ba8d16cc2812603acdf458b undefined
+8c44e804e8d46f8b30abbd26c7f555edc04660796554f39d9cea83ba0f6c4a2d undefined
+350ac302de4edfd6e0da56d2809f815a3ddc293c1038d372206e327ee46cdd4e undefined
+8680d89cd33ae2a3e517ddf42608ccca5133d74a3024f876ed8b00cca09a849b undefined
+3c877410e5762a68e5c711f681d377109f51a1a1b7b6818330c678dd6648429e undefined
+7a34e7afacb31f07180a6a7fe761e17ad183846a0e2653099da6598b47ecb060 undefined
+a640c23cdf72775db905d3d548a2698da7b14114c6efd76f654c258451755196 undefined
+7bdbcba53ab09765ef30e09bcd4b80888226f67a9c02e1403cfad4531afa4938 undefined
+56e27738058b50089e281da81fb6c02f99b3a911fc43f0568664ce87460885ce undefined
+53238032980b97ca6bdf3d475de8d5a96938dd2e08147a91a4e138cb662ef357 undefined
+12061b27dcce1ec10528668b46beeaae3e696f17f33237ea0bd71ca5d57ac53d undefined
+7978432678cedc2e0e8569821cbeb9322fb25608894f5bff255a10550623dc17 undefined
+8deec0d122a8ef9be87ee8f9c69d89d83881add87db7cd209e9c459cd2235c8f undefined
+e7ab164517a4750c92137d6f5a1ca93f469c303e59e159f6011a1ef46f52da5f undefined
+d56d31384359c98bdb725f1219e3071dd030237688f101ef8654c813bdb3446c undefined
+375a6d58e075cbb083c9d431cebe012dbe292fe0b140cc3f2c64fe8e960e5457 undefined
+5ea400b4ff6bed10c53249ef87cdc234a37056542231be589f86b879ee1691eb undefined
+5b91e7f247fd8117d0ace526383a1ad4191669e1eb1f155b887af692c7cf8ce9 undefined
+36183aec1fe24f7aaee492152febd345455a5b152718cbd7e85ce81d10ec3841 undefined
+aae303adba1d66b1e0f24f2424d912e1d8f300e21e5228d5bc454ec8b5a44c37 undefined
+2822c4deb1fccf8d76479ab178fc0d8d6175f2be92f84346010d5fb5d594659c undefined
+40bc4c8b34142a6c9e9cbb8d00fcab0b4fc74864054582d776a9a1c70bda7a78 undefined
+fc5677faf43b70a81f7a3a56c2ccba63f2b371ef927f5b789adca6c9cba3598a undefined
+491dfb39a9e31de6ed6059d3c22179f84601b4e7f026d32a990ac46ae5ada712 undefined
+2a509bbcc6afe9eff34091187923f91e6298c45640a9c619731cc61c0c584047 undefined
+d8f58641f00fc6eddb339dcc23c9bcb0f3ac568070a3807125920a0d372d896e undefined
+47d0a70ab899c2952374ee54c060393bcd527b35bea8a7150e96b2211a12f969 undefined
+2a9a0cb11c09dfd6b7ed85d895a181d489a8424d7bb47c8d2f1fd6811ca8636f undefined
+0c36b5751de0c12f3dc8f62041949a6709c1a534859b8613ca1b0ca6d0c0bd58 undefined
+4da15ea2d72ad4a7be99295ae8981a8d65c4808bd0ee8ada67567fe10c00e9a9 undefined
+d39daed2546f1f9166b70e40c572d0283aac19c94459bbd104351eb64f8d782c undefined
+ea789b3aa66faf8307da7135922ef7ae626d51eeba259b398d0b40a57359b605 undefined
+a1f0da59f567674e95706c696afc51b50195d3f840d63f7edc7bcdda794ccba0 undefined
+5c341fd5407602ed4e6f90a54a292bc71a8d82818f8fb3e960ae535ec44b3a65 undefined
+a99f47c62aa6d3a8d323561292d2d0bb779223a60af488294cf710796c94bbd5 undefined
+1f1550ce63fcc2a799a87c4af471ef846786aa48d154efbc1187a372219a9c12 undefined
+99f7a62e30863f6cebf4641096647b19142fdbcffe097f9704ceb21f7c38d9df undefined
+a3a6e18de9f888347f45443d231622528de39ecae466f3b0e51abb8157157e16 undefined
+1bbb7d724669320fcb85efb233e8952dd9661e0a2086a8f990af6d71941770b4 undefined
+8df80ee852bda9d9852a2cb467583d7f8aafd74f311540bd4dfaffcaf73b1e7c undefined
+7ce71c34b6745a27705ea8b0ce6f2a23a997c8953fbdb8eda42ec0177da6bd35 undefined
+ad668df5591a59ad8867fb1f6606f147cdda5f4c3637d71f8a806d76ed98df90 undefined
+e9511d08de35658c4d25986cfccbcb977533ae5f42e2c5cfbc92ba7ccde528dd undefined
+eb699995868522801a2699fcc808969737f12a82e4b2ef20f755ed7949fd58cc undefined
+54aad64468d589941f921ac594eac0e0dcccc0ca0e3673a8649cfad233cd5554 undefined
+f70c95db6ff5d9e37cd104d9028047a62e544cce34452a58ed47f9c1985aa5c4 undefined
+0f9bdc0eced9d0711b1e39f5aff4d557eb8e483895e211bb3d7525601600bfbc undefined
+9ac005a53f27441029ed23be12a83ccc04ff7feecd2642edc30c7688ca06552c undefined
+0ad67feaf30bdeca1733150dd6803594f5e2c52e61d672f1d64d5b0670793adf undefined
+81965395de04f93afa40c9a8fc4056e5ba3d43f1d0c68de2a47d301b12dd40df undefined
+37317d22c326e41721df99c7df9dd3d39745cd0a03c9f8289e9de0a96cf0f75a undefined
+ec1f470e718be260a34338079d185a79802ede3cf500fa430422c63da30a64e1 undefined
+77b43ab1a4387c59aa0b3568ca0c0fc19183708518d0fc18b237a3ae73555cde undefined
+00bd5422721e2524702dba7231d71bb435149371f5a9c0efef71401a2b2ecdc1 undefined
+ab69c96d3532d2b2335c011cf74c2216cc7fc14a7cd41fe1f60dc4ed27df3bd1 undefined
+c289e4b296d266e4570f3ab691603e0ea3525283e2b5b4e68c069e9e738c02ee undefined
+d51562952455e5014d40ab48fa98f267e5e575f2b64ac21fedc09a8cd550872b undefined
+21d57c9e4f323b22d6c50d7f5557d0f54fba126fbb112ad6570de31240fa90bf undefined
+297b978ffb950783d250eb3658679ea49a8fb45b28fd99c2f92efc7553802341 undefined
+36f2a38804350bd910ee8abe312e38be268d297d290819f728ea7d04d99a4ee4 undefined
+b009f8510672963ccd9340da849341daaad5613223194a0db152b96c6c12fa8b undefined
+cf3f950c545eba6fc6d6e467850222795c2475066f5307ad52b28624d929bc05 undefined
+af8253d4e2ca4c07fb25fa0f3515465077cd40610e8ec5d140c81a0f77e6961d undefined
+be79856bda439aedd86374a93ebd0d2c1532de98503309836ecc9251a19a05ac undefined
+449a7e1d2a0bcadd0627059d60dbd378f4e3877ec5344f01dfa81bcdfd157bdf undefined
+e1cf490134357ee178c47e761413c3ee3d9d2585ad27800009ce77b8f7cb8400 undefined
+9a1511dda79958f5d5f6de8acae1efe4148141e00df445ce2146ea8b27543cde undefined
+0349260cf6c24a1af0461ad5bee99bbbd094b18ff27eb6e95cb5bf4e4f63ee70 undefined
+6686eb8d7af9728f610ac253ee80c8458f121f2485dcd6d3a59d75902d354e9e undefined
+c67f2c0a232c45ee5b5e9d68e7ed2f46da55ebeb7ac5eb49ea3f7de4ebba96ee undefined
+0aa2a481cfe7825c6badd34f8455e0e147a4bcace6028e9ea22437dd4b70db42 undefined
+bab4b385871bb42dc31236397305ac290622b19c67ca0629556f092860841762 undefined
+1c690fb60993743ef123845b5e9202e8967495898a01bca8d95b97541a66966e undefined
+0b461e090645accd42f0de163ef155d61c6e83d11ef334a000565b6b9d24f9fb undefined
+6fe9a06fb9e6f6afa5ad83bc74ce4d3c12aea70c31be8356c1ed2cb87402832a undefined
+c4696fd547e5ccaa9734025eb14622c23d10336f647a0977b6d9b7cafbfc4188 undefined
+43084eff59b231a5e6cefa802ffc631ec185e94ca692ed5406cb44ead88402e3 undefined
+7acc35d866ad60b164b71b316198025f901c31009e1278d28587528eac06903a undefined
+86eb8ff1a0cd76174e57bcf6fb84c763502da2e44b40e887f4b40deb6bbf8c03 undefined
+d4e4ba015f69931d33fa5d1b8d89912b3e01771af7b83ecd23bad418f6679e23 undefined
+b4a8750183a43deb5db4e6a47a1bfd25506c896476ce660b9e3fe6866e44a89a undefined
+c1bec94342de3044bb170693b2f51551d9f5ee4b07fad95a4f9b057c6fe5dd80 undefined
+083e76510f872a53824d3a109bd9e389683b9ed1df67a6651fabbaf526236d65 undefined
+d65fc0acf067b9468d830ca059316aa839878973ff322cbc61a4cf77b21ec495 undefined
+e9cc1371328b7fdf1ce121172423a0dcd01e46828ac71d69cf241dd273652ed6 undefined
+cbeae8ef360d55d8604e30e8e82adbd5062ff6c07588053e2f4c953662f09d1e undefined
+9361b16af13f7e335336a9dd0bc5516a606f195ba0f58444a54b125ab13cd6d4 undefined
+9aefb684edadfcc4d86a2726cd30acc3aae9aba0e06bb749621e994172809bf5 undefined
+443cf4b440d476d7c63e681cccc80505e237f8531b38369964752e57d5a8a474 undefined
+9efd9efc82769a99cb29ac195a0d9574d97d8035b659242e69f258c3a07e8333 undefined
+0ad5b273e05357bcfdb37521869a4c77e1738ea6b11c4faf93f09af487f3c29f undefined
+e22f06cf8ad814ca2be3d8201661e478b2f3535e28e4d1a64f74730a8ca47812 undefined
+9cb2edfd5788b0f4cdf3f24b30516eb5a3c9f6a21b3fb9badb93a4454f1e1aa2 undefined
+c880988fdfaf8e9d916bfa341cc259899f2a93688c7a5d53aee76827855960d1 undefined
+3f7b5e8d47ccbee5da9ef0a763489a59ae129cf5a37a4afc5dbe82a48d44ad69 undefined
+a89523576631b48b2c14d0860b862b49810a9c848e44609b41eef615f819b9f8 undefined
+e4831e6e1b86fb1b46f4edc9600ef76a1601e8230e8e895ef77f0d590db43cbe undefined
+6d2aa54435867dbbcb423e1a44b1a0bc1bd927afcb977c96b1ea4fb4cb98cef9 undefined
+3abc3060da008ab20d2be3849fe8f39a992986f082c55127ad915b686b26de89 undefined
+bbe6b827c066439db40a389cf49c8f9540e5bcb0f5b03ded09244fbd06d0ce51 undefined
+396398035127d682df2e515824454527643277abdba2fa7cffb61a76cb1df1be undefined
+ffc7842ded5add0ea1ca190a03805cee4896ed58e1097be33b8ccbdf497006fc undefined
+7dce606be7ac516e0ec2323c530b348b02e273482faf52595f3e23b842491713 undefined
+19d9378a9559bdc54490203f34633181ac5f508919d90accc68a6afff296608a undefined
+5cf33d59d70ea031ffa9bdf810abf20d448745072ddd0e9eda3dc144ca220739 undefined
+61209a2b8e029d364046b6a8180352cca418bf517c87d62310f095e7d2d3adaf undefined
+e7b3af0d80bcd055f976acbacbb84d2e5b8b023e2b82c6872c178429446c2446 undefined
+9c19a6d0768b102e720d69873eec867e50049b945eda1328ca79ec514c83de72 undefined
+7b82ca3c37954c6192542f8600955f9bfdfba826d3f6fa6c6bed66ae88acfae9 undefined
+acef27db2d21e9a96889b0243adc4732ceea9e6536912a45fb9142c321a97e71 undefined
+03d585b351558e03966c4749fafff57e729c9bdf8bc0625f667ef0cc4c024bad undefined
+e0be738976942a7c0e9186366c7b19ed2dace21c6e6fd82adfe4e7720bbf98fd undefined
+9304bf524f6793955741a754d2b93d5f1a1c0d81b11a3e1781f194f446bf7c8e undefined
+184be5236833d1ad9605dd27c0a3813ff9cf94ff537d94e3d7743f232e5eb782 undefined
+effcd9d5ca95a1e645f8eabc22b99132c444f49ac6e73ff98bd8c0c253d7c7f8 undefined
+d2534ff9efae1030289a5eee1d05a82b4250df94c33b70c93012575c3b2d7443 undefined
+a4b7c0f81a52bb69642ef206593aa7c781fb6ca4c823a50e50d0b8d3c33aca88 undefined
+cfa78c6d98b1e5652395a4d2d9947d7732b7b0bfb125d691d56dfa275fb85f54 undefined
+ee83853a19e03c611d6508a9b8b9c844880d097ebf20b3920c9a21770510f72b undefined
+505d331858c06aeebd783da4304cda685b1bbd040f349c78494e1284d1601277 undefined
+0f456d8ac7414ddcda2c8199ed28cc4edceb5c99c0494f706607bcc538d233a1 undefined
+48502230983c5b3b056f592aad46e8c9ff059f3b3ada1f5bf420fca5613d4266 undefined
+e8306f7d47ed39e9751c3b7e600ecae0474c1022f69dc8476e07297adf01d513 undefined
+8ab8dfd837d1c6a2031af36a53a8584d1c7a9bbed5e3205d1355862be0843ef7 undefined
+4acf6e0fbf3b5565309605d38afa582684db1b6c64cfbaff4e8ceba186dc5e71 undefined
+930cbd1ecdebda00c7a779cb8154c1a1a83c79842debb48005e260e41eac22ff undefined
+80e81b8e0d5af7e00cb9137e205421ddc9565c8455f377164a3d9c72dfc6cdb5 undefined
+e13dde851aaf201a8a69f20a149b37bcfe8f276bba171e749bd298d854c65326 undefined
+b187874c60cb10e3f0b9b7e590b34a0d3d4cbdee3fc62a1ec08fecfd8e069062 undefined
+0e93715a994b613d882ed28c1a58c03642cda0edf3def0b39792577553b8fb6e undefined
+b4c5c76d45344a734824ca946f7e74976f722ea8f923b3a5fff730bb256e8c09 undefined
+7f47fb5c6e1d36d23c2f4dcd11769697a369b9b9bd7033844a2b683918029db2 undefined
+e75bcbcea1edb3eea9e70f6eb462e1dc6c935b0a8401ea5ea450e456767e1223 undefined
+b12b1c823084505452641dd16e0dcaa92952c014257812c0c1fb159e633fe435 undefined
+b4c60a3b9ea7bb7b298b1668f790985c1aa509c84ef02019cbdef400eb3a11af undefined
+c2d9908f9f9483b26fc8f647068f71794c78816251b8eb18d52f09bea609bd0d undefined
+826834c36229a8cc74c9100bc0c138ce5d8d8ae31d283a71936d995b7515f4bb undefined
+b93d6cc4e3be7049eb5cd67e4418b570040b76ab1a493121eb98430a4b99f997 undefined
+c7053854fcb8bd90019d5904d4c516530da543ed15faad061981f23b8377f6a8 undefined
+3bc3224e03f81d4f3ae15f5f52dedfc0599c2b61e633a514e8ff39920a8034bf undefined
+0c42f62ba0f758aa2d56f1eee684623a9a36877ed4fd1dd6f81ad8f7cfe3d65d undefined
+63933a65c14a2ce196347fee9028b6b55c1d1787c5a300b4127ba3fa5e75bfc6 undefined
+6f67f2137c4f7e0ebbbea7b0932c29cf399cebf58173b0e1c65b05bfb59a7724 undefined
+d34a60a575f8544ec07ddb384430c6e9241d485a84cf342a57e377ae871259fd undefined
+07f8a58d666d885d21f54d16a7981e95f4a0a7be55ae24aa3d542d4a88083b31 undefined
+e08eb5d960003e406a06d374d0d2b6d4bbf0c74a1d85b521d422e1cd63f1fd11 undefined
+21863756722ec0caee67b38df0fd6a20c2eedd3a043cf87e683d18ef01d44f5f undefined
+60f03c564bce96ff71dba10827da75c9975ca59d8ea215bb5e8076c645864813 undefined
+85b8a414c8153f4c9da829f31578cfcd5327008aad9fb6f80dbff21c9d4205fd undefined
+0e9bd714046074147ab0f8304e98802cd27a2553209314c0d0fc330947bda5aa undefined
+3980e55d04c31c1b3bf9f4969ea249b66988c05e8be142132318e8bea2cf300c undefined
+1a4c260bb5713e1efb60cc714b320db770925d15368641a718fe7dbc45a6ede1 undefined
+be4755f473b4e188e6ba773439c85270ddc985f151ce591dfafcd06346f332a7 undefined
+c87e64ce1bb41db4518fcd61250792a0bd849e460c6141c4b154917d225c8cb0 undefined
+0a261ababf7b8b90ea121b6fb0b21b52fdabc7f2b75d47f4ed494bf0183b3413 undefined
+c9d513563542ad2271a5bdc732c2e7f9f1157c488f36334d0a9e314b484268f2 undefined
+9cdf740b2733523c570dc8d636fce31978d2f31a680b82417a1553ca9cbead2a undefined
+9dd5b5289046e084e8a41b28ebe2fc50193b5974ac4a5be3674fc9e6cfbbd666 undefined
+2e560b6e7c6d0d70a95bee77fe9eb94c710c82c10dbe8862c7258f1d8c5d2298 undefined
+218fc410a981ae825c0d25496bbb6e94376036aabe5c1d9e45773031d75716f2 undefined
+46ff1cc27e392f65e744356139b9c245e678c3d4ff9467072075bcfa6c967f3d undefined
+849337a7b7c646391be1ce7a477c632b8579d3aa98d95c24643862947b6d55d3 undefined
+b018750d7e57b53c3966eb7ad21ef6a09d435ef639513a5ed80c19e12eff9501 undefined
+be5b1af565df5527a6845f2fd502855e1b57faeec2785da565432a7a40c00359 undefined
+224b01b864d850436f60294aaf413a99b16555232108b9bc4cc503d0dfabc57c undefined
+41026f640c42dabe32cf554f716285b98362d7811c13c2ca77c00ac266ea9bc3 undefined
+2faf12778fb0ad5cc485321d66b1743e6403eec1837965339cc0f516aee4d4d1 undefined
+7427058b9f2443c4106bb913b8fbf67f8a582525b279a85cf6ca169ff70b5205 undefined
+8b0968f1e2059f14388d2e9b97f02ba91fc464756f338699416ed4aa99a78cf5 undefined
+5fede47789117f75e4ffdb84526609ed95211fadbfeb069ff1c236962e7392e9 undefined
+1cf63d625560f9dafb86c3c5f0449b087443793b940d573a9bc51b8b7d223b90 undefined
+daac28f485b52d87f61f8a307f6b957d5d0499d4908ba095893f7a8643a2be11 undefined
+3cb58d91cf901eac1c1660855215b0fdee6ad7995e6010a64c145b1e71e160c0 undefined
+03b51c0e161d8351a2e7704af2be5540bd50d0730e9608d1ea9eeebe3741ccb3 undefined
+e3eede48d0856b77b02a77cf0e804cc64a1c2bd3e6c315156f37f5bec80d2f93 undefined
+e0004835741ab5cc54210b1ada9d18a62106cfef80c52eae137975774dfb38ab undefined
+9d1640119173cc815dfe2585b60c304c7eb04edd28b8ab4493be645e1ecb2f20 undefined
+1bf20c49e3b59248c72b4ed82aa3f7965616c35d1c60c2262086acc8fefba30d undefined
+b964b4ef5996ec90172875fb5cb3b99db5be83cb0141b558e66bde043755d436 undefined
+2cc09c1b087f906824025314968090397b7bac6aa051596f6a97c0f628c7bbe6 undefined
+f368034f2bf3bd31820c8c68ef48b3a48d75311081b42ae73b7f81141e123521 undefined
+8412f7231a5df139cb3ff0bb3369c34100cefd7ee0e580ddfd3fa41f5979d499 undefined
+e2cb36510a2b17470819abcebe6fd850705cd2dd8be8d5b159f5443732467b4b undefined
+90697c7e37c602319bd8c0116c987c33172099c3dcb223b181f2d5ecf6874f44 undefined
+a36a5e879ac7d202cf8b250a6ce5cdb7023bda76908fc421961333866badfaaf undefined
+f7a2801f1ae98ffbda8faec436f64bbbf01f8b6860b62afc44ca5b4e167e9314 undefined
+416cb98593dae9eaeaf2ade0e705fc245b739a5c942c887bb09f929b62ed20fa undefined
+f2fd1db127713f643d1e5bf8d933dba44498a908f6d7ea5dc2c66a01f18ca319 undefined
+219ba97564a5f7b7a87267b78722df2e21d53487b40f5def7c07e0e9bb495e5b undefined
+944ac8431163dabaca48400eb7d536b00e0f5d186a4740016686a6b7947ea71b undefined
+1c4d2df36f4ca80aa242c9dd4d7c82d9420fdb7955b72f7a0abf472359549674 undefined
+9c88a67ca8da7681ee8a3556fa7c3b9e54b8c37479ae2872a233f5e1505801b6 undefined
+c2a297e1c66eec3cf10cb9820eef9a44a0908805bf9b1475dc19d1e29c3def12 undefined
+07e4b00dabbc498858060be306229bf2dac5579fe5803f642da43b6ee30b1c00 undefined
+ccc422589003feb274d01494bbbda394dd99d523525951b8d6df3dc17374c628 undefined
+d0c63cb6c7ad8fb2b405ebb66a38d7c5b0e950fa389b235fa4fdf5b47a2861b2 undefined
+192f53587f9fa0e7c26c03ec7117fa2063b201a543ec27c81c6aca7ffc2d44ae undefined
+21cef8bf8a4101f6e068f518b99a1b02bdb7e7430956c4897e2ff9c13064ca22 undefined
+9633db3338990db3cb994e899a9b48b1b1404ce5187edd8ba30fda5b12208d3e undefined
+e64aa6012be2555e851455fcf2aba6abe1a26dedd69c66d0251bf9cf9df42947 undefined
+8d951a926d097b61d392811e21d9399f78024272a095311863b1cfa206a74784 undefined
+8d9e9f379371b85b2b65bb03fb60bc628e28e3f7f7e3609545bfbf6fdbb49441 undefined
+b118bb6a94cb27b984e1cdaec1c99915c5aaa48f6f77f72cdbb5cd0fb1896a1c undefined
+223c198d4ddb3b98b56cc61ae955bfffc043d106da6b797531d0b6bd80b98d27 undefined
+81a2988f75e6b38d1849bf10921591c1ede959860788253ed936f35fa797ad2d undefined
+a5ca5991d64d82bc66021f9ee275a42610ffe8fdf757648242756e7c9884a2df undefined
+71e1c6bd94ecb15640969dcc59e1de6d684f3ab2a6bfcf540272dc5d072d524d undefined
+25ed878e6315c8e57ea95cf00ed4934c7e29074ff9e1fc8b33c3997039f10e58 undefined
+92ae2335774a06e4c63fefb8cfb82b7d1a5c7b39e38d28a04f2a2d17d39153fb undefined
+040510bf1bed16c88e8007da60c12dfe5d194b557706e6c1c9af3394192ff970 undefined
+a59f7100a2292f1071711b99eca40c4d460df356509dddf62f0ee2549dde2761 undefined
+5e595f19d59a487139c938014af181bf195df439b587255d9f5615fa60530c77 undefined
+3b07ee2f778b6cfb44ab6a0d246e844d0304a5b2ca17ff90504f6ac502713f17 undefined
+34a42b6d58ec3cb5f835e1b5a39dea370eabb77e5864e40c185a185af641a067 undefined
+3b01bc1ebc9e4fcee170a54550de85e392d0ff4cebebd942f6a31e055d29b0cb undefined
+64c579bc38331f0d32fd1dbc0ec1843c289223fedf38f41223f66a8d26f44345 undefined
+080a3a71f1605b1ef85cb0388f00d99cffd4f9f4afcf830b4f313e285d6bd9ee undefined
+cecfc38b3cdebb00d985f401072a179db63720232fcc3cfc98978b70fa407254 undefined
+f0ae832843292201300fa5755066e3eeb56b95da50a49a69576d2991d57d8d60 undefined
+172621129c8cc043f1c7ed14d67f59a03ea32b64b701c374e952e695d4f5d983 undefined
+a230e92354c058b517dd3939dcd86c06560b0ed59b20465a6e680ae5f14cb132 undefined
+18eff5040ad7e9b2e1455186bf2a416dca4c12ace46b9ea77a4e8f2f9876d0ef undefined
+5983fe64b2708c316eaa19d56f8cf25fa6e36628e94a01e0eafa6652fcf3a202 undefined
+e383a27f46a7fb200083f0e67715667f896dd5de2cf718b54821122770ac2b39 undefined
+829e985e3983433fc7e042122e420bf8573df44c89a8a9ca14f133be69fbff65 undefined
+83ae578838b4b6c782e5e789aa6d1b6202323558cbab26cad6b90813a99f43ac undefined
+97f8454394e32626eca962b6d5f0518a5d6d34c0510073e4492dd634cd86b856 undefined
+19bccf3d1d60a038e2d565ff056273173c8068f5fda143b21b5930b8153e9ec8 undefined
+ece4186e64145ed8aed4b73b2c0bf18a70d84f0a612440713de599fa008cd303 undefined
+3470792f12393571bee8ad1412237e6a9a8bd1bf4dcc27e19b2ae76c7ad4746a undefined
+f5d43934bd602f11cb5b8040d02eb38d4ad4c784f734bc8102cbfc5e90c2aa2f undefined
+498a88c3d920ede6d7fc13ce92368391638d49e3d81d9069cdbf0dd2460a71fb undefined
+051f8f0e9c141d3eb19a650ae26aed937c8f921f9abe3d90de60fcd20163a4fb undefined
+fe2e11938ecbee5a9e93a3233c2daed53a0302915c0c926525a11aab8a512b21 undefined
+f95cdc1fbe6663a5c2b1340447673583d77c158589ca757d0ce87aa99dee3a11 undefined
+2531da0328bae393bdec6d08ba6e7356a48d782460301fb32d1012759010c8a0 undefined
+667596e29a688ea5b55ea0c597551da8d9300637c63c4cbb8a93e2411a600d3c undefined
+480af52ead65c364c0b46a8dbefb63d61517e156e4a7ed0996ed11f6b5cb38f0 undefined
+da4e4631c39919f740cc74bddb2b8065eaaa5c213f3b1c19d33d218ec111664d undefined
+e04f67be955ab095688188f1b12755ff78c15bd863f5556ccd2a9c1803754d16 undefined
+6be574c2eeee7a26bc4956439a273b2a881661719f9b077ef41a8d5ecaabf8b0 undefined
+44627026daf89397b5785a35f9209303d3ba377819d03bf2252b618df36889b4 undefined
+e16bf7bb3d81e2003c301d60f137530be257374c684394351c332e719ace1228 undefined
+4bdf34cb3d163dc6dbe3aba99bbc85eb3e833f6aee8719570d471730f7121498 undefined
+ef2f657dcd855ccb11730c74272f68d7251c143e5d52898350f6af1dc35d0238 undefined
+a767deb31bd525145085aa0266d04534040089f5fa9b0b76dbcdf8a60d5ae142 undefined
+97df3dd32106517df97f66bda56780510ae9f6797bf79982ff66e1ab42c61833 undefined
+9b93d7daf7213a6fa110d4335759c3443a63baaf02caff85b050b93e2fa7e08a undefined
+3a73e26402f39e5f01d29b1da2bf52384bca37a75493e5d2cbdd9d9e16a00c6a undefined
+405294a4ef4bd3970ecaba6cf0e6e7df79e70e3c1b852a430632ba13554d722c undefined
+a8d05f277eb2ca8007a2d0eb514a056d6a065d5d66db5966a0b492683fcabb25 undefined
+d04aa4f9da0e35ff36c2973ce9fd92e25d4af7054ca3adb79cf8ebac5af7c0b8 undefined
+ae1907d41e0d3707cc51aba098a68408a61920a8e0dbb361c40edcca09360c6e undefined
+6fbcb61be8cd342d851cf3707079f763a7edb4fd3385ba113288da4d5c2d93a0 undefined
+2f3881870514e5ee13a59ff53a4c64abe6ab1a7c2f106768f2fdef3a829afe71 undefined
+decd0a2c9902837d81bfa566eeb831a328254735d2c7115e653c28b5d81b59a0 undefined
+df83bbabf3d3957a88783f0d76762cc42e0603cea4d0968aee90781e994e1067 undefined
+80afdc6d02405dd21d13e4d58bd5202367191c78409c77de7578ae756f0f7b9b undefined
+6bdbfc3052a7a7a0ef173638e57c98cc76a6d4db9e4c2181237bb7fdaf9d4169 undefined
+9356e01b5e1fe32a773f73d4a448400a510c841fb6508fa02f2c8923c0ce6fab undefined
+99977cc0e63a2a0a45833abaa953ec08a0db3c5452f62fd7938980462f638c8d undefined
+2ef70f006e32eeae6d72cfd5d92e966f0e49c86b94c3b947cf21757576c5d954 undefined
+81ffbceedc3307a7ac7026c7267b6d8af98f37bfc0baa9bc78ab9f7fdcbfaf7b undefined
+4f7f83601b11574198bfb4c953392a97a13435930f86736be944ba2253809d9b undefined
+8a0c91a128cd1b132936ea6fd9ce4644018f39eda46e758ca31b103f2926f993 undefined
+a5004568db6cba1cb5d62a7d746ccafd1862e509ba52cfec928bbc6da7dbaa18 undefined
+f60e9307874ba26716fef5094196efbedf064d4da4dceb1831479c4fd5b035af undefined
+411375b7360b34ae5966a82b0f3adc65f9897963e044b827a198e454f80ad330 undefined
+40c8f89f169c5f279998763b298a3f29386b5412c07d138ae2ecd597603b9643 undefined
+558a1e87dfac396b4eacf2bb75a39208a67b424415727b114081c251c2219e86 undefined
+7d5638fd9f240a6015ff701c3f9346c045e9a92b1f6c750cfbc7bd6b0ec5b092 undefined
+dcbe1adeea2ed0c25a2dc3e3dafe20391ff005439c9d1785876acf01291f004a undefined
+a935d0a04203323bc3c8a9d1df77dae656e01f605947be8ebf5ae68b77d4ed46 undefined
+0d9fde8ff36196a70e020bc8f5b1bfde13f380821f485928c1ed645fa2739724 undefined
+9fb86193e60699e4b4bc65f45dff6e600aef04411432d94dc83447eb1ad254d1 undefined
+5652df97e0c8707cb7b072fd20d5bf8968684ad89de6a5cd64028cfcd3b1a313 undefined
+5dd9e8b0499a611292131369157dc87727631c381a800fe6ccece7eafca54997 undefined
+e7d93f100a4f5f23608267b36558d910471426009708b8910447910970c010e3 undefined
+19c02e71a9b35fa26bcb7d87844f61d715da3d440e522a391f81b27008f156d9 undefined
+3438dffb4b10a738a92fcffcb53409730957a4103fa0feea87b662bbcf32b0aa undefined
+5c6ac7632d0b339d26af1a5a67f380b383001327e7d8317e167f7b11cbf1ac09 undefined
+db6f178cfdb06c29ff8dc72e721da34344fab70ac35d332d2e0cfca19345ac1d undefined
+021c7bdbddbef863b9cf8879ce83ddfd69dec7c56082eebc6a67eb4504b83858 undefined
+1ec1cb9305de93a135f16137ea3ff2e984a3ca4a0eb1469a9864a275b59c3526 undefined
+0cf15720c2fb614bcaa94a82b7354e7c63a3aa8a270233409b298cca19f436dc undefined
+3cc822516ceb5f626f0ba10d0105aa1a2020104711ca6479a4f3fb9afbd80524 undefined
+2a9295bfc1b82166e077e973e450679d02ee2947ea5d5481308a37f325f0daa5 undefined
+593667165e8197d89313997696c14b609b16bfcab5bee9de80a238eb5c0011e4 undefined
+86cd3c76d23fba5e59244c5af99d44af7bccaf2b891ce171aaeef609fe8ee8e2 undefined
+e38e93fc1d5d9791bbaa82aac0db93c69db9307f8b9ed8b117752b7423571483 undefined
+7c24bd9013371428e21677e6e6b05a02c0854ed7c53dcf15a338ed884ebc0bf8 undefined
+f1db829afefbe25e092395c5d42882d7a365403d5b260c54f7e82e78768c5f9d undefined
+ea05b200b9a872ffd4ccf757bc69de89d5d9eea3d80713c85be707322b43ff4e undefined
+376ba40d335cfa1015ad55e3c94a85404100bcf21d699476bf809b38eef91b29 undefined
diff --git a/images/button-release.dark.svg b/images/button-release.dark.svg
index 374d5b6c65..a5275bf06b 100644
--- a/images/button-release.dark.svg
+++ b/images/button-release.dark.svg
@@ -9,8 +9,8 @@
-
-
+
+
@@ -22,7 +22,7 @@
-
+
diff --git a/images/button-release.light.svg b/images/button-release.light.svg
index 39a962a622..699a267bf7 100644
--- a/images/button-release.light.svg
+++ b/images/button-release.light.svg
@@ -9,8 +9,8 @@
-
-
+
+
@@ -22,7 +22,7 @@
-
+
diff --git a/images/cs-block-cyrillic-extended-a.dark.svg b/images/cs-block-cyrillic-extended-a.dark.svg
index dd0c2e29d0..6cbbe59045 100644
--- a/images/cs-block-cyrillic-extended-a.dark.svg
+++ b/images/cs-block-cyrillic-extended-a.dark.svg
@@ -41,7 +41,7 @@
-
+
diff --git a/images/cs-block-cyrillic-extended-a.light.svg b/images/cs-block-cyrillic-extended-a.light.svg
index 9d09653905..56a48fb2c5 100644
--- a/images/cs-block-cyrillic-extended-a.light.svg
+++ b/images/cs-block-cyrillic-extended-a.light.svg
@@ -41,7 +41,7 @@
-
+
diff --git a/images/cs-block-enclosed-alphanumeric-supplement.dark.svg b/images/cs-block-enclosed-alphanumeric-supplement.dark.svg
index 547745597f..c6f7186683 100644
--- a/images/cs-block-enclosed-alphanumeric-supplement.dark.svg
+++ b/images/cs-block-enclosed-alphanumeric-supplement.dark.svg
@@ -62,7 +62,7 @@
-
+
diff --git a/images/cs-block-enclosed-alphanumeric-supplement.light.svg b/images/cs-block-enclosed-alphanumeric-supplement.light.svg
index e56c5b1861..6b91fff654 100644
--- a/images/cs-block-enclosed-alphanumeric-supplement.light.svg
+++ b/images/cs-block-enclosed-alphanumeric-supplement.light.svg
@@ -62,7 +62,7 @@
-
+
diff --git a/images/cs-block-letterlike-symbols.dark.svg b/images/cs-block-letterlike-symbols.dark.svg
index 87cfd1a0a1..d51829a2c0 100644
--- a/images/cs-block-letterlike-symbols.dark.svg
+++ b/images/cs-block-letterlike-symbols.dark.svg
@@ -69,7 +69,7 @@
-
+
diff --git a/images/cs-block-letterlike-symbols.light.svg b/images/cs-block-letterlike-symbols.light.svg
index 5be5f2d380..f075daf432 100644
--- a/images/cs-block-letterlike-symbols.light.svg
+++ b/images/cs-block-letterlike-symbols.light.svg
@@ -69,7 +69,7 @@
-
+
diff --git a/images/cs-block-mathematical-alphanumeric-symbols.dark.svg b/images/cs-block-mathematical-alphanumeric-symbols.dark.svg
index 22f931c7ed..463881ad0e 100644
--- a/images/cs-block-mathematical-alphanumeric-symbols.dark.svg
+++ b/images/cs-block-mathematical-alphanumeric-symbols.dark.svg
@@ -73,7 +73,7 @@
-
+
@@ -99,16 +99,16 @@
-
+
-
+
-
+
-
+
@@ -116,7 +116,7 @@
-
+
@@ -125,7 +125,7 @@
-
+
@@ -151,16 +151,16 @@
-
+
-
+
-
+
-
+
@@ -168,7 +168,7 @@
-
+
@@ -278,20 +278,20 @@
-
+
-
+
-
+
-
+
-
+
@@ -352,7 +352,7 @@
-
+
@@ -365,7 +365,7 @@
-
+
@@ -398,7 +398,7 @@
-
+
@@ -408,7 +408,7 @@
-
+
@@ -422,7 +422,7 @@
-
+
diff --git a/images/cs-block-mathematical-alphanumeric-symbols.light.svg b/images/cs-block-mathematical-alphanumeric-symbols.light.svg
index beb046b140..533c958396 100644
--- a/images/cs-block-mathematical-alphanumeric-symbols.light.svg
+++ b/images/cs-block-mathematical-alphanumeric-symbols.light.svg
@@ -73,7 +73,7 @@
-
+
@@ -99,16 +99,16 @@
-
+
-
+
-
+
-
+
@@ -116,7 +116,7 @@
-
+
@@ -125,7 +125,7 @@
-
+
@@ -151,16 +151,16 @@
-
+
-
+
-
+
-
+
@@ -168,7 +168,7 @@
-
+
@@ -278,20 +278,20 @@
-
+
-
+
-
+
-
+
-
+
@@ -352,7 +352,7 @@
-
+
@@ -365,7 +365,7 @@
-
+
@@ -398,7 +398,7 @@
-
+
@@ -408,7 +408,7 @@
-
+
@@ -422,7 +422,7 @@
-
+
diff --git a/images/cs-block-miscellaneous-mathematical-symbols-b.dark.svg b/images/cs-block-miscellaneous-mathematical-symbols-b.dark.svg
index 02bc702b8e..82a03417cc 100644
--- a/images/cs-block-miscellaneous-mathematical-symbols-b.dark.svg
+++ b/images/cs-block-miscellaneous-mathematical-symbols-b.dark.svg
@@ -50,27 +50,28 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -568,8 +569,8 @@
-
-
+
+
@@ -619,37 +620,37 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -689,7 +690,7 @@
-
+
@@ -719,17 +720,17 @@
-
+
-
+
-
+
@@ -739,17 +740,17 @@
-
+
-
+
-
+
@@ -759,7 +760,7 @@
-
+
@@ -814,22 +815,22 @@
-
+
-
+
-
+
-
+
@@ -844,12 +845,12 @@
-
+
-
+
diff --git a/images/cs-block-miscellaneous-mathematical-symbols-b.light.svg b/images/cs-block-miscellaneous-mathematical-symbols-b.light.svg
index bde7104d22..468a6b901a 100644
--- a/images/cs-block-miscellaneous-mathematical-symbols-b.light.svg
+++ b/images/cs-block-miscellaneous-mathematical-symbols-b.light.svg
@@ -50,27 +50,28 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -568,8 +569,8 @@
-
-
+
+
@@ -619,37 +620,37 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -689,7 +690,7 @@
-
+
@@ -719,17 +720,17 @@
-
+
-
+
-
+
@@ -739,17 +740,17 @@
-
+
-
+
-
+
@@ -759,7 +760,7 @@
-
+
@@ -814,22 +815,22 @@
-
+
-
+
-
+
-
+
@@ -844,12 +845,12 @@
-
+
-
+
diff --git a/images/cs-block-miscellaneous-symbols-and-arrows.dark.svg b/images/cs-block-miscellaneous-symbols-and-arrows.dark.svg
index 2ab69cff73..e3752f8341 100644
--- a/images/cs-block-miscellaneous-symbols-and-arrows.dark.svg
+++ b/images/cs-block-miscellaneous-symbols-and-arrows.dark.svg
@@ -116,31 +116,34 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1273,18 +1276,18 @@
-
-
+
+
-
-
+
+
-
-
+
+
@@ -1314,47 +1317,47 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -1364,32 +1367,32 @@
-
+
-
+
-
+
-
+
-
+
-
+
@@ -1414,7 +1417,7 @@
-
+
@@ -1534,42 +1537,42 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -1654,7 +1657,7 @@
-
+
diff --git a/images/cs-block-miscellaneous-symbols-and-arrows.light.svg b/images/cs-block-miscellaneous-symbols-and-arrows.light.svg
index c238ca8bf4..a033f42ac0 100644
--- a/images/cs-block-miscellaneous-symbols-and-arrows.light.svg
+++ b/images/cs-block-miscellaneous-symbols-and-arrows.light.svg
@@ -116,31 +116,34 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1273,18 +1276,18 @@
-
-
+
+
-
-
+
+
-
-
+
+
@@ -1314,47 +1317,47 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -1364,32 +1367,32 @@
-
+
-
+
-
+
-
+
-
+
-
+
@@ -1414,7 +1417,7 @@
-
+
@@ -1534,42 +1537,42 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -1654,7 +1657,7 @@
-
+
diff --git a/images/cs-block-miscellaneous-symbols.dark.svg b/images/cs-block-miscellaneous-symbols.dark.svg
index dd53c9d863..de3f3f2f17 100644
--- a/images/cs-block-miscellaneous-symbols.dark.svg
+++ b/images/cs-block-miscellaneous-symbols.dark.svg
@@ -88,6 +88,7 @@
+
@@ -1560,8 +1561,8 @@
-
-
+
+
diff --git a/images/cs-block-miscellaneous-symbols.light.svg b/images/cs-block-miscellaneous-symbols.light.svg
index 87334fdbaf..81438f585c 100644
--- a/images/cs-block-miscellaneous-symbols.light.svg
+++ b/images/cs-block-miscellaneous-symbols.light.svg
@@ -88,6 +88,7 @@
+
@@ -1560,8 +1561,8 @@
-
-
+
+
diff --git a/images/cs-block-miscellaneous-technical.dark.svg b/images/cs-block-miscellaneous-technical.dark.svg
index 525463eb71..c8c610e895 100644
--- a/images/cs-block-miscellaneous-technical.dark.svg
+++ b/images/cs-block-miscellaneous-technical.dark.svg
@@ -143,26 +143,32 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1285,33 +1291,33 @@
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
@@ -1411,7 +1417,7 @@
-
+
@@ -1556,42 +1562,42 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -1626,57 +1632,57 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
diff --git a/images/cs-block-miscellaneous-technical.light.svg b/images/cs-block-miscellaneous-technical.light.svg
index d4e8cfe95b..4f785661a1 100644
--- a/images/cs-block-miscellaneous-technical.light.svg
+++ b/images/cs-block-miscellaneous-technical.light.svg
@@ -143,26 +143,32 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1285,33 +1291,33 @@
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
@@ -1411,7 +1417,7 @@
-
+
@@ -1556,42 +1562,42 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -1626,57 +1632,57 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
diff --git a/images/cs-block-symbols-for-legacy-computing-supplement-purposed.dark.svg b/images/cs-block-symbols-for-legacy-computing-supplement-purposed.dark.svg
new file mode 100644
index 0000000000..bfc5430f04
--- /dev/null
+++ b/images/cs-block-symbols-for-legacy-computing-supplement-purposed.dark.svg
@@ -0,0 +1,2713 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/images/cs-block-symbols-for-legacy-computing-supplement-purposed.light.svg b/images/cs-block-symbols-for-legacy-computing-supplement-purposed.light.svg
new file mode 100644
index 0000000000..2855b5bcce
--- /dev/null
+++ b/images/cs-block-symbols-for-legacy-computing-supplement-purposed.light.svg
@@ -0,0 +1,2713 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/images/languages.dark.svg b/images/languages.dark.svg
index 0513e9f408..59ae9360d6 100644
--- a/images/languages.dark.svg
+++ b/images/languages.dark.svg
@@ -4,8 +4,8 @@
-
-
+
+
@@ -54,7 +54,7 @@
-
+
@@ -112,8 +112,8 @@
-
-
+
+
@@ -137,7 +137,7 @@
-
+
@@ -256,66 +256,64 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1828,13 +1826,13 @@
-
+
-
+
@@ -1843,7 +1841,7 @@
-
+
@@ -1856,29 +1854,29 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -1912,7 +1910,7 @@
-
+
@@ -1939,9 +1937,9 @@
-
+
-
+
@@ -1960,10 +1958,10 @@
-
+
-
+
@@ -1983,7 +1981,7 @@
-
+
@@ -2010,7 +2008,7 @@
-
+
@@ -2019,7 +2017,7 @@
-
+
@@ -2053,26 +2051,26 @@
-
+
-
+
-
+
-
+
-
+
@@ -2095,7 +2093,7 @@
-
+
@@ -2119,7 +2117,7 @@
-
+
@@ -2137,14 +2135,14 @@
-
+
-
+
-
+
@@ -2175,7 +2173,7 @@
-
+
@@ -2187,20 +2185,20 @@
-
+
-
+
-
+
-
+
@@ -2219,7 +2217,7 @@
-
+
@@ -2231,7 +2229,7 @@
-
+
@@ -2245,7 +2243,7 @@
-
+
@@ -2256,7 +2254,7 @@
-
+
@@ -2296,7 +2294,7 @@
-
+
@@ -2309,7 +2307,7 @@
-
+
@@ -2336,7 +2334,7 @@
-
+
@@ -2354,20 +2352,20 @@
-
+
-
+
-
+
-
+
@@ -2378,18 +2376,18 @@
-
+
-
+
-
+
-
+
-
+
-
+
@@ -2402,7 +2400,7 @@
-
+
@@ -2447,7 +2445,7 @@
-
+
@@ -2485,7 +2483,7 @@
-
+
@@ -2499,7 +2497,7 @@
-
+
@@ -2553,7 +2551,7 @@
-
+
@@ -2566,9 +2564,9 @@
-
+
-
+
@@ -2580,8 +2578,8 @@
-
-
+
+
@@ -2595,7 +2593,7 @@
-
+
@@ -2603,7 +2601,7 @@
-
+
@@ -2615,7 +2613,7 @@
-
+
@@ -2632,7 +2630,7 @@
-
+
@@ -2640,8 +2638,8 @@
-
-
+
+
@@ -2650,25 +2648,25 @@
-
+
-
+
-
-
+
+
-
-
+
+
-
+
-
-
+
+
@@ -2676,20 +2674,20 @@
-
+
-
+
-
+
-
+
@@ -2711,7 +2709,7 @@
-
+
@@ -2721,7 +2719,7 @@
-
+
@@ -2737,7 +2735,7 @@
-
+
@@ -2775,13 +2773,13 @@
-
+
-
+
diff --git a/images/languages.light.svg b/images/languages.light.svg
index 3d5efda997..94dc567aec 100644
--- a/images/languages.light.svg
+++ b/images/languages.light.svg
@@ -4,8 +4,8 @@
-
-
+
+
@@ -54,7 +54,7 @@
-
+
@@ -112,8 +112,8 @@
-
-
+
+
@@ -137,7 +137,7 @@
-
+
@@ -256,66 +256,64 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1828,13 +1826,13 @@
-
+
-
+
@@ -1843,7 +1841,7 @@
-
+
@@ -1856,29 +1854,29 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -1912,7 +1910,7 @@
-
+
@@ -1939,9 +1937,9 @@
-
+
-
+
@@ -1960,10 +1958,10 @@
-
+
-
+
@@ -1983,7 +1981,7 @@
-
+
@@ -2010,7 +2008,7 @@
-
+
@@ -2019,7 +2017,7 @@
-
+
@@ -2053,26 +2051,26 @@
-
+
-
+
-
+
-
+
-
+
@@ -2095,7 +2093,7 @@
-
+
@@ -2119,7 +2117,7 @@
-
+
@@ -2137,14 +2135,14 @@
-
+
-
+
-
+
@@ -2175,7 +2173,7 @@
-
+
@@ -2187,20 +2185,20 @@
-
+
-
+
-
+
-
+
@@ -2219,7 +2217,7 @@
-
+
@@ -2231,7 +2229,7 @@
-
+
@@ -2245,7 +2243,7 @@
-
+
@@ -2256,7 +2254,7 @@
-
+
@@ -2296,7 +2294,7 @@
-
+
@@ -2309,7 +2307,7 @@
-
+
@@ -2336,7 +2334,7 @@
-
+
@@ -2354,20 +2352,20 @@
-
+
-
+
-
+
-
+
@@ -2378,18 +2376,18 @@
-
+
-
+
-
+
-
+
-
+
-
+
@@ -2402,7 +2400,7 @@
-
+
@@ -2447,7 +2445,7 @@
-
+
@@ -2485,7 +2483,7 @@
-
+
@@ -2499,7 +2497,7 @@
-
+
@@ -2553,7 +2551,7 @@
-
+
@@ -2566,9 +2564,9 @@
-
+
-
+
@@ -2580,8 +2578,8 @@
-
-
+
+
@@ -2595,7 +2593,7 @@
-
+
@@ -2603,7 +2601,7 @@
-
+
@@ -2615,7 +2613,7 @@
-
+
@@ -2632,7 +2630,7 @@
-
+
@@ -2640,8 +2638,8 @@
-
-
+
+
@@ -2650,25 +2648,25 @@
-
+
-
+
-
-
+
+
-
-
+
+
-
+
-
-
+
+
@@ -2676,20 +2674,20 @@
-
+
-
+
-
+
-
+
@@ -2711,7 +2709,7 @@
-
+
@@ -2721,7 +2719,7 @@
-
+
@@ -2737,7 +2735,7 @@
-
+
@@ -2775,13 +2773,13 @@
-
+
-
+
diff --git a/images/package-sample-IosevkaAile.dark.svg b/images/package-sample-IosevkaAile.dark.svg
index 1fc781553c..611ea48301 100644
--- a/images/package-sample-IosevkaAile.dark.svg
+++ b/images/package-sample-IosevkaAile.dark.svg
@@ -138,7 +138,7 @@
-
+
@@ -151,7 +151,7 @@
-
+
@@ -219,9 +219,9 @@
-
-
-
+
+
+
@@ -285,9 +285,9 @@
-
-
-
+
+
+
@@ -350,9 +350,9 @@
-
-
-
+
+
+
@@ -370,7 +370,7 @@
-
+
@@ -385,7 +385,7 @@
-
+
@@ -403,18 +403,18 @@
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
-
+
\ No newline at end of file
diff --git a/images/package-sample-IosevkaAile.light.svg b/images/package-sample-IosevkaAile.light.svg
index 5d812a1610..0cbd11c817 100644
--- a/images/package-sample-IosevkaAile.light.svg
+++ b/images/package-sample-IosevkaAile.light.svg
@@ -138,7 +138,7 @@
-
+
@@ -151,7 +151,7 @@
-
+
@@ -219,9 +219,9 @@
-
-
-
+
+
+
@@ -285,9 +285,9 @@
-
-
-
+
+
+
@@ -350,9 +350,9 @@
-
-
-
+
+
+
@@ -370,7 +370,7 @@
-
+
@@ -385,7 +385,7 @@
-
+
@@ -403,18 +403,18 @@
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
-
+
\ No newline at end of file
diff --git a/images/package-sample-IosevkaEtoile.dark.svg b/images/package-sample-IosevkaEtoile.dark.svg
index 6e9bd626ac..8dfe68ea05 100644
--- a/images/package-sample-IosevkaEtoile.dark.svg
+++ b/images/package-sample-IosevkaEtoile.dark.svg
@@ -139,7 +139,7 @@
-
+
@@ -152,7 +152,7 @@
-
+
@@ -220,9 +220,9 @@
-
-
-
+
+
+
@@ -286,9 +286,9 @@
-
-
-
+
+
+
@@ -351,9 +351,9 @@
-
-
-
+
+
+
@@ -371,7 +371,7 @@
-
+
@@ -386,7 +386,7 @@
-
+
@@ -404,18 +404,18 @@
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
-
+
\ No newline at end of file
diff --git a/images/package-sample-IosevkaEtoile.light.svg b/images/package-sample-IosevkaEtoile.light.svg
index b7bf9f13d0..418e4f7118 100644
--- a/images/package-sample-IosevkaEtoile.light.svg
+++ b/images/package-sample-IosevkaEtoile.light.svg
@@ -139,7 +139,7 @@
-
+
@@ -152,7 +152,7 @@
-
+
@@ -220,9 +220,9 @@
-
-
-
+
+
+
@@ -286,9 +286,9 @@
-
-
-
+
+
+
@@ -351,9 +351,9 @@
-
-
-
+
+
+
@@ -371,7 +371,7 @@
-
+
@@ -386,7 +386,7 @@
-
+
@@ -404,18 +404,18 @@
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
-
+
\ No newline at end of file
diff --git a/images/ss-i-off-0.dark.svg b/images/ss-i-off-0.dark.svg
index a7d0117037..ac12753c27 100644
--- a/images/ss-i-off-0.dark.svg
+++ b/images/ss-i-off-0.dark.svg
@@ -3,7 +3,7 @@
-
+
@@ -30,16 +30,16 @@
-
+
-
+
-
+
-
+
@@ -47,7 +47,7 @@
-
+
@@ -59,7 +59,7 @@
-
+
@@ -117,11 +117,11 @@
-
+
-
+
diff --git a/images/ss-i-off-0.light.svg b/images/ss-i-off-0.light.svg
index 68c245f7ce..fe1a3a8f30 100644
--- a/images/ss-i-off-0.light.svg
+++ b/images/ss-i-off-0.light.svg
@@ -3,7 +3,7 @@
-
+
@@ -30,16 +30,16 @@
-
+
-
+
-
+
-
+
@@ -47,7 +47,7 @@
-
+
@@ -59,7 +59,7 @@
-
+
@@ -117,11 +117,11 @@
-
+
-
+
diff --git a/images/ss-i-ss01-1.dark.svg b/images/ss-i-ss01-1.dark.svg
index 96e90fcf91..353e76436d 100644
--- a/images/ss-i-ss01-1.dark.svg
+++ b/images/ss-i-ss01-1.dark.svg
@@ -3,7 +3,7 @@
-
+
@@ -30,9 +30,9 @@
-
+
-
+
@@ -47,7 +47,7 @@
-
+
@@ -59,7 +59,7 @@
-
+
@@ -117,7 +117,7 @@
-
+
diff --git a/images/ss-i-ss01-1.light.svg b/images/ss-i-ss01-1.light.svg
index ee2b2f181e..7810adf4e1 100644
--- a/images/ss-i-ss01-1.light.svg
+++ b/images/ss-i-ss01-1.light.svg
@@ -3,7 +3,7 @@
-
+
@@ -30,9 +30,9 @@
-
+
-
+
@@ -47,7 +47,7 @@
-
+
@@ -59,7 +59,7 @@
-
+
@@ -117,7 +117,7 @@
-
+
diff --git a/images/ss-i-ss02-1.dark.svg b/images/ss-i-ss02-1.dark.svg
index 8156bfb545..97a05e51b6 100644
--- a/images/ss-i-ss02-1.dark.svg
+++ b/images/ss-i-ss02-1.dark.svg
@@ -3,7 +3,7 @@
-
+
@@ -30,9 +30,9 @@
-
+
-
+
@@ -47,7 +47,7 @@
-
+
@@ -59,7 +59,7 @@
-
+
diff --git a/images/ss-i-ss02-1.light.svg b/images/ss-i-ss02-1.light.svg
index e0d033827c..73645ae992 100644
--- a/images/ss-i-ss02-1.light.svg
+++ b/images/ss-i-ss02-1.light.svg
@@ -3,7 +3,7 @@
-
+
@@ -30,9 +30,9 @@
-
+
-
+
@@ -47,7 +47,7 @@
-
+
@@ -59,7 +59,7 @@
-
+
diff --git a/images/ss-i-ss03-1.dark.svg b/images/ss-i-ss03-1.dark.svg
index 6376a040cd..5db7fd7d79 100644
--- a/images/ss-i-ss03-1.dark.svg
+++ b/images/ss-i-ss03-1.dark.svg
@@ -3,7 +3,7 @@
-
+
@@ -30,16 +30,16 @@
-
+
-
+
-
+
-
+
@@ -47,7 +47,7 @@
-
+
@@ -59,7 +59,7 @@
-
+
@@ -117,11 +117,11 @@
-
+
-
+
diff --git a/images/ss-i-ss03-1.light.svg b/images/ss-i-ss03-1.light.svg
index f9d76cea84..0a2e33fa60 100644
--- a/images/ss-i-ss03-1.light.svg
+++ b/images/ss-i-ss03-1.light.svg
@@ -3,7 +3,7 @@
-
+
@@ -30,16 +30,16 @@
-
+
-
+
-
+
-
+
@@ -47,7 +47,7 @@
-
+
@@ -59,7 +59,7 @@
-
+
@@ -117,11 +117,11 @@
-
+
-
+
diff --git a/images/ss-i-ss04-1.dark.svg b/images/ss-i-ss04-1.dark.svg
index 81eac8bc12..f2e33cd6b4 100644
--- a/images/ss-i-ss04-1.dark.svg
+++ b/images/ss-i-ss04-1.dark.svg
@@ -3,7 +3,7 @@
-
+
@@ -30,9 +30,9 @@
-
+
-
+
@@ -59,7 +59,7 @@
-
+
diff --git a/images/ss-i-ss04-1.light.svg b/images/ss-i-ss04-1.light.svg
index fc0f55cb3c..ddde9220ee 100644
--- a/images/ss-i-ss04-1.light.svg
+++ b/images/ss-i-ss04-1.light.svg
@@ -3,7 +3,7 @@
-
+
@@ -30,9 +30,9 @@
-
+
-
+
@@ -59,7 +59,7 @@
-
+
diff --git a/images/ss-i-ss05-1.dark.svg b/images/ss-i-ss05-1.dark.svg
index c9ea55a384..84507c3dc3 100644
--- a/images/ss-i-ss05-1.dark.svg
+++ b/images/ss-i-ss05-1.dark.svg
@@ -3,7 +3,7 @@
-
+
@@ -30,9 +30,9 @@
-
+
-
+
@@ -47,7 +47,7 @@
-
+
@@ -59,7 +59,7 @@
-
+
diff --git a/images/ss-i-ss05-1.light.svg b/images/ss-i-ss05-1.light.svg
index 9308d410ed..54ea870e62 100644
--- a/images/ss-i-ss05-1.light.svg
+++ b/images/ss-i-ss05-1.light.svg
@@ -3,7 +3,7 @@
-
+
@@ -30,9 +30,9 @@
-
+
-
+
@@ -47,7 +47,7 @@
-
+
@@ -59,7 +59,7 @@
-
+
diff --git a/images/ss-i-ss06-1.dark.svg b/images/ss-i-ss06-1.dark.svg
index 6557569107..73b3b29e84 100644
--- a/images/ss-i-ss06-1.dark.svg
+++ b/images/ss-i-ss06-1.dark.svg
@@ -3,7 +3,7 @@
-
+
@@ -30,9 +30,9 @@
-
+
-
+
@@ -47,7 +47,7 @@
-
+
@@ -59,7 +59,7 @@
-
+
@@ -117,7 +117,7 @@
-
+
diff --git a/images/ss-i-ss06-1.light.svg b/images/ss-i-ss06-1.light.svg
index 885e330ac8..4f100845f6 100644
--- a/images/ss-i-ss06-1.light.svg
+++ b/images/ss-i-ss06-1.light.svg
@@ -3,7 +3,7 @@
-
+
@@ -30,9 +30,9 @@
-
+
-
+
@@ -47,7 +47,7 @@
-
+
@@ -59,7 +59,7 @@
-
+
@@ -117,7 +117,7 @@
-
+
diff --git a/images/ss-i-ss07-1.dark.svg b/images/ss-i-ss07-1.dark.svg
index cbbd4308ac..4a3591476c 100644
--- a/images/ss-i-ss07-1.dark.svg
+++ b/images/ss-i-ss07-1.dark.svg
@@ -3,7 +3,7 @@
-
+
@@ -30,9 +30,9 @@
-
+
-
+
@@ -47,7 +47,7 @@
-
+
@@ -59,7 +59,7 @@
-
+
diff --git a/images/ss-i-ss07-1.light.svg b/images/ss-i-ss07-1.light.svg
index e62370c9dd..315179c9ea 100644
--- a/images/ss-i-ss07-1.light.svg
+++ b/images/ss-i-ss07-1.light.svg
@@ -3,7 +3,7 @@
-
+
@@ -30,9 +30,9 @@
-
+
-
+
@@ -47,7 +47,7 @@
-
+
@@ -59,7 +59,7 @@
-
+
diff --git a/images/ss-i-ss08-1.dark.svg b/images/ss-i-ss08-1.dark.svg
index 4368b55e99..0e30316293 100644
--- a/images/ss-i-ss08-1.dark.svg
+++ b/images/ss-i-ss08-1.dark.svg
@@ -3,7 +3,7 @@
-
+
@@ -30,9 +30,9 @@
-
+
-
+
@@ -47,7 +47,7 @@
-
+
@@ -59,7 +59,7 @@
-
+
@@ -117,11 +117,11 @@
-
+
-
+
diff --git a/images/ss-i-ss08-1.light.svg b/images/ss-i-ss08-1.light.svg
index ad244f6cce..daefafc9d6 100644
--- a/images/ss-i-ss08-1.light.svg
+++ b/images/ss-i-ss08-1.light.svg
@@ -3,7 +3,7 @@
-
+
@@ -30,9 +30,9 @@
-
+
-
+
@@ -47,7 +47,7 @@
-
+
@@ -59,7 +59,7 @@
-
+
@@ -117,11 +117,11 @@
-
+
-
+
diff --git a/images/ss-i-ss09-1.dark.svg b/images/ss-i-ss09-1.dark.svg
index 8642bc4107..d6e5520584 100644
--- a/images/ss-i-ss09-1.dark.svg
+++ b/images/ss-i-ss09-1.dark.svg
@@ -3,7 +3,7 @@
-
+
@@ -30,16 +30,16 @@
-
+
-
+
-
+
-
+
@@ -47,7 +47,7 @@
-
+
@@ -59,7 +59,7 @@
-
+
@@ -117,7 +117,7 @@
-
+
diff --git a/images/ss-i-ss09-1.light.svg b/images/ss-i-ss09-1.light.svg
index f07c5587d0..e1a3b73e46 100644
--- a/images/ss-i-ss09-1.light.svg
+++ b/images/ss-i-ss09-1.light.svg
@@ -3,7 +3,7 @@
-
+
@@ -30,16 +30,16 @@
-
+
-
+
-
+
-
+
@@ -47,7 +47,7 @@
-
+
@@ -59,7 +59,7 @@
-
+
@@ -117,7 +117,7 @@
-
+
diff --git a/images/ss-i-ss10-1.dark.svg b/images/ss-i-ss10-1.dark.svg
index c042b2959e..126f620cfa 100644
--- a/images/ss-i-ss10-1.dark.svg
+++ b/images/ss-i-ss10-1.dark.svg
@@ -3,7 +3,7 @@
-
+
@@ -30,9 +30,9 @@
-
+
-
+
@@ -59,7 +59,7 @@
-
+
diff --git a/images/ss-i-ss10-1.light.svg b/images/ss-i-ss10-1.light.svg
index ec44a0c3dc..41fed29cea 100644
--- a/images/ss-i-ss10-1.light.svg
+++ b/images/ss-i-ss10-1.light.svg
@@ -3,7 +3,7 @@
-
+
@@ -30,9 +30,9 @@
-
+
-
+
@@ -59,7 +59,7 @@
-
+
diff --git a/images/ss-i-ss11-1.dark.svg b/images/ss-i-ss11-1.dark.svg
index dba49ce045..3644ceee18 100644
--- a/images/ss-i-ss11-1.dark.svg
+++ b/images/ss-i-ss11-1.dark.svg
@@ -3,7 +3,7 @@
-
+
@@ -30,16 +30,16 @@
-
+
-
+
-
+
-
+
@@ -47,7 +47,7 @@
-
+
@@ -59,7 +59,7 @@
-
+
@@ -117,11 +117,11 @@
-
+
-
+
diff --git a/images/ss-i-ss11-1.light.svg b/images/ss-i-ss11-1.light.svg
index 9a41b8fed3..524906c4e4 100644
--- a/images/ss-i-ss11-1.light.svg
+++ b/images/ss-i-ss11-1.light.svg
@@ -3,7 +3,7 @@
-
+
@@ -30,16 +30,16 @@
-
+
-
+
-
+
-
+
@@ -47,7 +47,7 @@
-
+
@@ -59,7 +59,7 @@
-
+
@@ -117,11 +117,11 @@
-
+
-
+
diff --git a/images/ss-i-ss12-1.dark.svg b/images/ss-i-ss12-1.dark.svg
index f76a3ef3a6..1e3e7dc497 100644
--- a/images/ss-i-ss12-1.dark.svg
+++ b/images/ss-i-ss12-1.dark.svg
@@ -3,7 +3,7 @@
-
+
@@ -30,16 +30,16 @@
-
+
-
+
-
+
-
+
@@ -47,7 +47,7 @@
-
+
@@ -59,7 +59,7 @@
-
+
@@ -116,11 +116,11 @@
-
+
-
+
diff --git a/images/ss-i-ss12-1.light.svg b/images/ss-i-ss12-1.light.svg
index 9edb9df7e5..b96909af0c 100644
--- a/images/ss-i-ss12-1.light.svg
+++ b/images/ss-i-ss12-1.light.svg
@@ -3,7 +3,7 @@
-
+
@@ -30,16 +30,16 @@
-
+
-
+
-
+
-
+
@@ -47,7 +47,7 @@
-
+
@@ -59,7 +59,7 @@
-
+
@@ -116,11 +116,11 @@
-
+
-
+
diff --git a/images/ss-i-ss13-1.dark.svg b/images/ss-i-ss13-1.dark.svg
index b56ec71fa2..f0cddf6173 100644
--- a/images/ss-i-ss13-1.dark.svg
+++ b/images/ss-i-ss13-1.dark.svg
@@ -3,7 +3,7 @@
-
+
@@ -30,9 +30,9 @@
-
+
-
+
@@ -47,7 +47,7 @@
-
+
@@ -59,7 +59,7 @@
-
+
@@ -117,7 +117,7 @@
-
+
diff --git a/images/ss-i-ss13-1.light.svg b/images/ss-i-ss13-1.light.svg
index b983fcb8c6..8e48f6fc12 100644
--- a/images/ss-i-ss13-1.light.svg
+++ b/images/ss-i-ss13-1.light.svg
@@ -3,7 +3,7 @@
-
+
@@ -30,9 +30,9 @@
-
+
-
+
@@ -47,7 +47,7 @@
-
+
@@ -59,7 +59,7 @@
-
+
@@ -117,7 +117,7 @@
-
+
diff --git a/images/ss-i-ss14-1.dark.svg b/images/ss-i-ss14-1.dark.svg
index 178b8b8ebb..ea0f97b41a 100644
--- a/images/ss-i-ss14-1.dark.svg
+++ b/images/ss-i-ss14-1.dark.svg
@@ -3,7 +3,7 @@
-
+
@@ -30,9 +30,9 @@
-
+
-
+
@@ -59,7 +59,7 @@
-
+
diff --git a/images/ss-i-ss14-1.light.svg b/images/ss-i-ss14-1.light.svg
index 34802315fc..ed4834ab7d 100644
--- a/images/ss-i-ss14-1.light.svg
+++ b/images/ss-i-ss14-1.light.svg
@@ -3,7 +3,7 @@
-
+
@@ -30,9 +30,9 @@
-
+
-
+
@@ -59,7 +59,7 @@
-
+
diff --git a/images/ss-i-ss15-1.dark.svg b/images/ss-i-ss15-1.dark.svg
index d41ce4972e..1dcbbb5d86 100644
--- a/images/ss-i-ss15-1.dark.svg
+++ b/images/ss-i-ss15-1.dark.svg
@@ -3,7 +3,7 @@
-
+
@@ -30,9 +30,9 @@
-
+
-
+
@@ -59,7 +59,7 @@
-
+
diff --git a/images/ss-i-ss15-1.light.svg b/images/ss-i-ss15-1.light.svg
index 4136dec400..dbf4955e89 100644
--- a/images/ss-i-ss15-1.light.svg
+++ b/images/ss-i-ss15-1.light.svg
@@ -3,7 +3,7 @@
-
+
@@ -30,9 +30,9 @@
-
+
-
+
@@ -59,7 +59,7 @@
-
+
diff --git a/images/ss-i-ss16-1.dark.svg b/images/ss-i-ss16-1.dark.svg
index 531b7fc076..3e45fae45b 100644
--- a/images/ss-i-ss16-1.dark.svg
+++ b/images/ss-i-ss16-1.dark.svg
@@ -30,9 +30,9 @@
-
+
-
+
@@ -47,7 +47,7 @@
-
+
@@ -59,7 +59,7 @@
-
+
diff --git a/images/ss-i-ss16-1.light.svg b/images/ss-i-ss16-1.light.svg
index 8f21419cbe..ac08ba59af 100644
--- a/images/ss-i-ss16-1.light.svg
+++ b/images/ss-i-ss16-1.light.svg
@@ -30,9 +30,9 @@
-
+
-
+
@@ -47,7 +47,7 @@
-
+
@@ -59,7 +59,7 @@
-
+
diff --git a/images/ss-i-ss17-1.dark.svg b/images/ss-i-ss17-1.dark.svg
index cd99113357..753ffa4f75 100644
--- a/images/ss-i-ss17-1.dark.svg
+++ b/images/ss-i-ss17-1.dark.svg
@@ -3,7 +3,7 @@
-
+
@@ -30,9 +30,9 @@
-
+
-
+
@@ -59,7 +59,7 @@
-
+
diff --git a/images/ss-i-ss17-1.light.svg b/images/ss-i-ss17-1.light.svg
index 85087c627a..3a5ca870ae 100644
--- a/images/ss-i-ss17-1.light.svg
+++ b/images/ss-i-ss17-1.light.svg
@@ -3,7 +3,7 @@
-
+
@@ -30,9 +30,9 @@
-
+
-
+
@@ -59,7 +59,7 @@
-
+
diff --git a/images/ss-i-ss18-1.dark.svg b/images/ss-i-ss18-1.dark.svg
index 6785149da2..b8e13b8ed6 100644
--- a/images/ss-i-ss18-1.dark.svg
+++ b/images/ss-i-ss18-1.dark.svg
@@ -3,7 +3,7 @@
-
+
@@ -30,9 +30,9 @@
-
+
-
+
@@ -47,7 +47,7 @@
-
+
@@ -59,7 +59,7 @@
-
+
@@ -117,7 +117,7 @@
-
+
diff --git a/images/ss-i-ss18-1.light.svg b/images/ss-i-ss18-1.light.svg
index f6a07c6470..46a2a7bebe 100644
--- a/images/ss-i-ss18-1.light.svg
+++ b/images/ss-i-ss18-1.light.svg
@@ -3,7 +3,7 @@
-
+
@@ -30,9 +30,9 @@
-
+
-
+
@@ -47,7 +47,7 @@
-
+
@@ -59,7 +59,7 @@
-
+
@@ -117,7 +117,7 @@
-
+
diff --git a/images/ss-i-ss20-1.dark.svg b/images/ss-i-ss20-1.dark.svg
index 8b7ccfadc8..d577cd28db 100644
--- a/images/ss-i-ss20-1.dark.svg
+++ b/images/ss-i-ss20-1.dark.svg
@@ -3,7 +3,7 @@
-
+
@@ -30,16 +30,16 @@
-
+
-
+
-
+
-
+
@@ -47,7 +47,7 @@
-
+
@@ -59,7 +59,7 @@
-
+
@@ -117,11 +117,11 @@
-
+
-
+
diff --git a/images/ss-i-ss20-1.light.svg b/images/ss-i-ss20-1.light.svg
index ffc7bf164c..2079a71b5d 100644
--- a/images/ss-i-ss20-1.light.svg
+++ b/images/ss-i-ss20-1.light.svg
@@ -3,7 +3,7 @@
-
+
@@ -30,16 +30,16 @@
-
+
-
+
-
+
-
+
@@ -47,7 +47,7 @@
-
+
@@ -59,7 +59,7 @@
-
+
@@ -117,11 +117,11 @@
-
+
-
+
diff --git a/package-lock.json b/package-lock.json
index 5a4df56eb8..a23dbe5c34 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "@iosevka/monorepo",
- "version": "28.0.7",
+ "version": "28.1.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@iosevka/monorepo",
- "version": "28.0.7",
+ "version": "28.1.0",
"workspaces": [
"packages/*",
"tools/*"
@@ -102,13 +102,13 @@
}
},
"node_modules/@humanwhocodes/config-array": {
- "version": "0.11.13",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz",
- "integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==",
+ "version": "0.11.14",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz",
+ "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==",
"dev": true,
"dependencies": {
- "@humanwhocodes/object-schema": "^2.0.1",
- "debug": "^4.1.1",
+ "@humanwhocodes/object-schema": "^2.0.2",
+ "debug": "^4.3.1",
"minimatch": "^3.0.5"
},
"engines": {
@@ -129,9 +129,9 @@
}
},
"node_modules/@humanwhocodes/object-schema": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz",
- "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz",
+ "integrity": "sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==",
"dev": true
},
"node_modules/@iarna/toml": {
@@ -757,10 +757,10 @@
"integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==",
"dev": true
},
- "node_modules/@unicode/unicode-15.0.0": {
+ "node_modules/@unicode/unicode-15.1.0": {
"version": "1.5.2",
- "resolved": "https://registry.npmjs.org/@unicode/unicode-15.0.0/-/unicode-15.0.0-1.5.2.tgz",
- "integrity": "sha512-PepMvMxf9j4sp4bZn7W9JJoMxynHk66ZPCsx6n3v47T5vmM+qfIy0z1MMU+EDmRZr2cvs1aT9ZwUEMRPVXR23g=="
+ "resolved": "https://registry.npmjs.org/@unicode/unicode-15.1.0/-/unicode-15.1.0-1.5.2.tgz",
+ "integrity": "sha512-7PAgnShDr8ziK6XeHB/TUVFboDFEhaQKKyrw55/Kx9o6AQDy1s7dJ9KRpRerW9nrR5qMGUQvOqTXOAek6ZIXkg=="
},
"node_modules/@xmldom/xmldom": {
"version": "0.8.10",
@@ -771,9 +771,9 @@
}
},
"node_modules/acorn": {
- "version": "8.11.2",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz",
- "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==",
+ "version": "8.11.3",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz",
+ "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==",
"dev": true,
"bin": {
"acorn": "bin/acorn"
@@ -956,9 +956,9 @@
}
},
"node_modules/available-typed-arrays": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz",
- "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==",
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.6.tgz",
+ "integrity": "sha512-j1QzY8iPNPG4o4xmO3ptzpRxTciqD3MgEHtifP/YnJpIo58Xu+ne4BejlbkuaLfXn/nz6HFiw29bLpj2PNMdGg==",
"engines": {
"node": ">= 0.4"
},
@@ -1882,9 +1882,9 @@
"dev": true
},
"node_modules/fastq": {
- "version": "1.16.0",
- "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.16.0.tgz",
- "integrity": "sha512-ifCoaXsDrsdkWTtiNJX5uzHDsrck5TzfKKDcuFFTIrrc/BS076qgEIfoIy1VeZqViznfKiysPYTh/QeHtnIsYA==",
+ "version": "1.17.0",
+ "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.0.tgz",
+ "integrity": "sha512-zGygtijUMT7jnk3h26kUms3BkSDp4IfIKjmnqI2tvx6nuBfiF1UqOxbnLfzdv+apBy+53oaImsKtMw/xYbW+1w==",
"dev": true,
"dependencies": {
"reusify": "^1.0.4"
@@ -2176,11 +2176,11 @@
}
},
"node_modules/has-tostringtag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz",
- "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz",
+ "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==",
"dependencies": {
- "has-symbols": "^1.0.2"
+ "has-symbols": "^1.0.3"
},
"engines": {
"node": ">= 0.4"
@@ -2238,9 +2238,9 @@
}
},
"node_modules/ignore": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.0.tgz",
- "integrity": "sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==",
+ "version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz",
+ "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==",
"dev": true,
"engines": {
"node": ">= 4"
@@ -2526,11 +2526,11 @@
}
},
"node_modules/is-typed-array": {
- "version": "1.1.12",
- "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz",
- "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==",
+ "version": "1.1.13",
+ "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz",
+ "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==",
"dependencies": {
- "which-typed-array": "^1.1.11"
+ "which-typed-array": "^1.1.14"
},
"engines": {
"node": ">= 0.4"
@@ -2767,9 +2767,9 @@
"optional": true
},
"node_modules/node-gyp-build": {
- "version": "4.7.1",
- "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.7.1.tgz",
- "integrity": "sha512-wTSrZ+8lsRRa3I3H8Xr65dLWSgCvY2l4AOnaeKdPA9TB/WYMPaTcrzf3rXvFoVvjKNVnu0CcWSx54qq9GKRUYg==",
+ "version": "4.8.0",
+ "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.0.tgz",
+ "integrity": "sha512-u6fs2AEUljNho3EYTJNBfImO5QTo/J/1Etd+NVdCj7qWKUSN/bSLkZwhDv7I+w/MSC6qJ4cknepkAYykDdK8og==",
"optional": true,
"bin": {
"node-gyp-build": "bin.js",
@@ -3093,9 +3093,9 @@
}
},
"node_modules/prettier": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.1.1.tgz",
- "integrity": "sha512-22UbSzg8luF4UuZtzgiUOfcGM8s4tjBv6dJRT7j275NXsy2jb4aJa4NNveul5x4eqlF1wuhuR2RElK71RvmVaw==",
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.4.tgz",
+ "integrity": "sha512-FWu1oLHKCrtpO1ypU6J0SbK2d9Ckwysq6bHj/uaCP26DxrPpppCLQRGVuqAxSTvhF00AcvDRyYrLNW7ocBhFFQ==",
"dev": true,
"bin": {
"prettier": "bin/prettier.cjs"
@@ -3256,13 +3256,13 @@
}
},
"node_modules/safe-array-concat": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.1.tgz",
- "integrity": "sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.0.tgz",
+ "integrity": "sha512-ZdQ0Jeb9Ofti4hbt5lX3T2JcAamT9hfzYU1MNB+z/jaEbB6wfFfPIR/zEORmZqobkCCJhSjodobH6WHNmJ97dg==",
"dev": true,
"dependencies": {
- "call-bind": "^1.0.2",
- "get-intrinsic": "^1.2.1",
+ "call-bind": "^1.0.5",
+ "get-intrinsic": "^1.2.2",
"has-symbols": "^1.0.3",
"isarray": "^2.0.5"
},
@@ -3274,15 +3274,18 @@
}
},
"node_modules/safe-regex-test": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz",
- "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.2.tgz",
+ "integrity": "sha512-83S9w6eFq12BBIJYvjMux6/dkirb8+4zJRA9cxNBVb7Wq5fJBW+Xze48WqR8pxua7bDuAaaAxtVVd4Idjp1dBQ==",
"dev": true,
"dependencies": {
- "call-bind": "^1.0.2",
- "get-intrinsic": "^1.1.3",
+ "call-bind": "^1.0.5",
+ "get-intrinsic": "^1.2.2",
"is-regex": "^1.1.4"
},
+ "engines": {
+ "node": ">= 0.4"
+ },
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
@@ -3327,14 +3330,15 @@
}
},
"node_modules/set-function-length": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz",
- "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==",
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.0.tgz",
+ "integrity": "sha512-4DBHDoyHlM1IRPGYcoxexgh67y4ueR53FKV1yyxwFMY7aCqcN/38M1+SwZ/qJQ8iLv7+ck385ot4CcisOAPT9w==",
"dependencies": {
"define-data-property": "^1.1.1",
- "get-intrinsic": "^1.2.1",
+ "function-bind": "^1.1.2",
+ "get-intrinsic": "^1.2.2",
"gopd": "^1.0.1",
- "has-property-descriptors": "^1.0.0"
+ "has-property-descriptors": "^1.0.1"
},
"engines": {
"node": ">= 0.4"
@@ -3665,9 +3669,9 @@
}
},
"node_modules/typo-geom": {
- "version": "0.13.2",
- "resolved": "https://registry.npmjs.org/typo-geom/-/typo-geom-0.13.2.tgz",
- "integrity": "sha512-0xEeNX/bQl/qx1+jgMy7ObtyUK9SmdhZALCNTs2dHyTTCCpHRNHL1nPw+Us0ZmxbLRi9gy5GpINJ3tynE8K6Pw==",
+ "version": "0.14.0",
+ "resolved": "https://registry.npmjs.org/typo-geom/-/typo-geom-0.14.0.tgz",
+ "integrity": "sha512-h3KmTEdKHrD+VWrR/Oqfr/NAPyTNaEKqhcIMhpbotNiHyXTrv113NCY//o0sUswwDEpHcTxcagxdG3dm/J9hlA==",
"dependencies": {
"clipper-lib": "^6.4.2",
"tslib": "^2.6.2"
@@ -3860,15 +3864,15 @@
}
},
"node_modules/which-typed-array": {
- "version": "1.1.13",
- "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz",
- "integrity": "sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==",
+ "version": "1.1.14",
+ "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.14.tgz",
+ "integrity": "sha512-VnXFiIW8yNn9kIHN88xvZ4yOWchftKDsRJ8fEPacX/wl1lOvBrhsJ/OeJCXq7B0AaijRuqgzSKalJoPk+D8MPg==",
"dependencies": {
- "available-typed-arrays": "^1.0.5",
- "call-bind": "^1.0.4",
+ "available-typed-arrays": "^1.0.6",
+ "call-bind": "^1.0.5",
"for-each": "^0.3.3",
"gopd": "^1.0.1",
- "has-tostringtag": "^1.0.0"
+ "has-tostringtag": "^1.0.1"
},
"engines": {
"node": ">= 0.4"
@@ -3970,16 +3974,16 @@
},
"packages/font": {
"name": "@iosevka/font",
- "version": "28.0.7",
+ "version": "28.1.0",
"dependencies": {
"@iarna/toml": "^2.2.5",
- "@iosevka/font-glyphs": "28.0.7",
- "@iosevka/font-otl": "28.0.7",
- "@iosevka/geometry": "28.0.7",
- "@iosevka/geometry-cache": "28.0.7",
- "@iosevka/glyph": "28.0.7",
- "@iosevka/param": "28.0.7",
- "@iosevka/util": "28.0.7",
+ "@iosevka/font-glyphs": "28.1.0",
+ "@iosevka/font-otl": "28.1.0",
+ "@iosevka/geometry": "28.1.0",
+ "@iosevka/geometry-cache": "28.1.0",
+ "@iosevka/glyph": "28.1.0",
+ "@iosevka/param": "28.1.0",
+ "@iosevka/util": "28.1.0",
"harfbuzzjs": "^0.3.4",
"ot-builder": "^1.7.3",
"semver": "^7.5.4"
@@ -3987,100 +3991,100 @@
},
"packages/font-glyphs": {
"name": "@iosevka/font-glyphs",
- "version": "28.0.7",
+ "version": "28.1.0",
"dependencies": {
- "@iosevka/font-kits": "28.0.7",
- "@iosevka/geometry": "28.0.7",
- "@iosevka/geometry-cache": "28.0.7",
- "@iosevka/glyph": "28.0.7",
- "@iosevka/util": "28.0.7",
- "typo-geom": "^0.13.2"
+ "@iosevka/font-kits": "28.1.0",
+ "@iosevka/geometry": "28.1.0",
+ "@iosevka/geometry-cache": "28.1.0",
+ "@iosevka/glyph": "28.1.0",
+ "@iosevka/util": "28.1.0",
+ "typo-geom": "^0.14.0"
}
},
"packages/font-kits": {
"name": "@iosevka/font-kits",
- "version": "28.0.7",
+ "version": "28.1.0",
"dependencies": {
- "@iosevka/geometry": "28.0.7",
- "@iosevka/glyph": "28.0.7",
- "@iosevka/util": "28.0.7"
+ "@iosevka/geometry": "28.1.0",
+ "@iosevka/glyph": "28.1.0",
+ "@iosevka/util": "28.1.0"
}
},
"packages/font-otl": {
"name": "@iosevka/font-otl",
- "version": "28.0.7",
+ "version": "28.1.0",
"dependencies": {
- "@iosevka/font-glyphs": "28.0.7",
- "@iosevka/glyph": "28.0.7",
+ "@iosevka/font-glyphs": "28.1.0",
+ "@iosevka/glyph": "28.1.0",
"toposort": "^2.0.2"
}
},
"packages/geometry": {
"name": "@iosevka/geometry",
- "version": "28.0.7",
+ "version": "28.1.0",
"dependencies": {
- "@iosevka/util": "28.0.7",
+ "@iosevka/util": "28.1.0",
"spiro": "^3.0.0",
- "typo-geom": "^0.13.2"
+ "typo-geom": "^0.14.0"
}
},
"packages/geometry-cache": {
"name": "@iosevka/geometry-cache",
- "version": "28.0.7",
+ "version": "28.1.0",
"dependencies": {
- "@iosevka/geometry": "28.0.7",
+ "@iosevka/geometry": "28.1.0",
"@msgpack/msgpack": "^2.8.0"
}
},
"packages/glyph": {
"name": "@iosevka/glyph",
- "version": "28.0.7",
+ "version": "28.1.0",
"dependencies": {
- "@iosevka/geometry": "28.0.7"
+ "@iosevka/geometry": "28.1.0"
}
},
"packages/param": {
"name": "@iosevka/param",
- "version": "28.0.7",
+ "version": "28.1.0",
"dependencies": {
- "@iosevka/util": "28.0.7"
+ "@iosevka/util": "28.1.0"
}
},
"packages/util": {
"name": "@iosevka/util",
- "version": "28.0.7"
+ "version": "28.1.0"
},
"tools/amend-readme": {
"name": "@iosevka/amend-readme",
- "version": "28.0.7",
+ "version": "28.1.0",
"dependencies": {
"@iarna/toml": "^2.2.5",
- "@iosevka/param": "28.0.7",
- "@unicode/unicode-15.0.0": "^1.5.2"
+ "@iosevka/param": "28.1.0",
+ "@unicode/unicode-15.1.0": "^1.5.2"
}
},
"tools/data-export": {
"name": "@iosevka/data-export",
- "version": "28.0.7",
+ "version": "28.1.0",
"dependencies": {
"@iarna/toml": "^2.2.5",
- "@iosevka/param": "28.0.7",
- "@unicode/unicode-15.0.0": "^1.5.2",
+ "@iosevka/param": "28.1.0",
+ "@unicode/unicode-15.1.0": "^1.5.2",
"cldr": "^7.5.0"
}
},
"tools/generate-samples": {
"name": "@iosevka/generate-samples",
- "version": "28.0.7",
+ "version": "28.1.0",
"dependencies": {
- "@iosevka/data-export": "28.0.7"
+ "@iosevka/data-export": "28.1.0"
}
},
"tools/misc": {
"name": "@iosevka/misc",
- "version": "28.0.7",
+ "version": "28.1.0",
"dependencies": {
- "@iosevka/util": "28.0.7",
+ "@iosevka/util": "28.1.0",
"semver": "^7.5.4",
"wawoff2": "^2.0.1"
}
diff --git a/package.json b/package.json
index ff0f08d4b2..bed8890e8e 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "@iosevka/monorepo",
- "version": "28.0.7",
+ "version": "28.1.0",
"workspaces": [
"packages/*",
"tools/*"
diff --git a/packages/font-glyphs/package.json b/packages/font-glyphs/package.json
index a398a605fc..3097fb63f2 100644
--- a/packages/font-glyphs/package.json
+++ b/packages/font-glyphs/package.json
@@ -1,6 +1,6 @@
{
"name": "@iosevka/font-glyphs",
- "version": "28.0.7",
+ "version": "28.1.0",
"private": true,
"exports": {
".": "./src/index.mjs",
@@ -8,11 +8,11 @@
"./unicode-knowledge": "./src/meta/unicode-knowledge.mjs"
},
"dependencies": {
- "@iosevka/font-kits": "28.0.7",
- "@iosevka/geometry": "28.0.7",
- "@iosevka/geometry-cache": "28.0.7",
- "@iosevka/glyph": "28.0.7",
- "@iosevka/util": "28.0.7",
- "typo-geom": "^0.13.2"
+ "@iosevka/font-kits": "28.1.0",
+ "@iosevka/geometry": "28.1.0",
+ "@iosevka/geometry-cache": "28.1.0",
+ "@iosevka/glyph": "28.1.0",
+ "@iosevka/util": "28.1.0",
+ "typo-geom": "^0.14.0"
}
}
diff --git a/packages/font-glyphs/src/auto-build/composite.ptl b/packages/font-glyphs/src/auto-build/composite.ptl
index 99b49be26c..0b4a47c0c6 100644
--- a/packages/font-glyphs/src/auto-build/composite.ptl
+++ b/packages/font-glyphs/src/auto-build/composite.ptl
@@ -2,7 +2,7 @@
$$include '../meta/macros.ptl'
import [mix linreg clamp fallback] from "@iosevka/util"
-import [getGrMesh AnyCv CvDecompose Joining hashCv] from "@iosevka/glyph/relation"
+import [getGrMesh AnyCvOrCherryPicking CvDecompose Joining hashCv] from "@iosevka/glyph/relation"
import [hashGeometry] from "@iosevka/geometry"
import [Transform] from "@iosevka/geometry/transform"
extern Map
@@ -37,7 +37,7 @@ glyph-block Autobuild-Enclosure-Shared : begin
glyph-block-export EnsureComponentGlyphT
define [EnsureComponentGlyphT gnPart fnBuildup] : begin
local rs : new Set
- return : DeriveMeshT { gnPart } AnyCv
+ return : DeriveMeshT { gnPart } AnyCvOrCherryPicking
function [gns gr] : fnBuildup gns.0
function [gniFrom gniTo] : begin
[query-glyph gniFrom].tryBecomeMirrorOf [query-glyph gniTo] rs
@@ -64,7 +64,7 @@ glyph-block Autobuild-Enclosure-Shared : begin
local demandDecomposable : para.enableCvSs && globallyDecomposable
foreach part [items-of parts] : if [query-glyph part] : begin
local g : query-glyph part
- local relatedGlyphs : AnyCv.query g
+ local relatedGlyphs : AnyCvOrCherryPicking.query g
foreach gr [items-of relatedGlyphs] : if [query-glyph : gr.get g] : begin
# Multi-part enclosure, proportinal
if (allowProportional && [query-glyph : gr.get g].advanceWidth != g.advanceWidth)
@@ -76,19 +76,18 @@ glyph-block Autobuild-Enclosure-Shared : begin
local jobsOrig : if demandDecomposable decomposableJobs nonDecomposable
jobsOrig.push { origJobGlyphGn unicode parts :: restInfo }
- if para.enableCvSs : begin
- if demandDecomposable
- : then : foreach part [items-of parts] : begin
- local mesh : getGrMesh { part } AnyCv query-glyph
- foreach {gr fromParts toParts} [items-of mesh] : foreach gn [items-of toParts]
- decomposableRelGlyphs.add gn
- : else : begin
- local mesh : getGrMesh parts AnyCv query-glyph
- foreach {gr fromParts toParts} [items-of mesh] : do
- local fromGn : CircNameNoCheck unicode prefix fromParts suffix
- local toGn : CircName unicode prefix toParts suffix
- nonDecomposable.push { toGn null toParts :: restInfo }
- relApplications.push { gr fromGn toGn }
+ if demandDecomposable
+ : then : foreach part [items-of parts] : begin
+ local mesh : getGrMesh { part } AnyCvOrCherryPicking query-glyph
+ foreach {gr fromParts toParts} [items-of mesh] : foreach gn [items-of toParts]
+ decomposableRelGlyphs.add gn
+ : else : begin
+ local mesh : getGrMesh parts AnyCvOrCherryPicking query-glyph
+ foreach {gr fromParts toParts} [items-of mesh] : do
+ local fromGn : CircNameNoCheck unicode prefix fromParts suffix
+ local toGn : CircName unicode prefix toParts suffix
+ nonDecomposable.push { toGn null toParts :: restInfo }
+ relApplications.push { gr fromGn toGn }
return : object nonDecomposable decomposableJobs decomposableRelGlyphs relApplications
diff --git a/packages/font-glyphs/src/auto-build/transformed.ptl b/packages/font-glyphs/src/auto-build/transformed.ptl
index c0a6a66148..72b0a5994f 100644
--- a/packages/font-glyphs/src/auto-build/transformed.ptl
+++ b/packages/font-glyphs/src/auto-build/transformed.ptl
@@ -2,8 +2,9 @@
$$include '../meta/macros.ptl'
import [linreg clamp mix fallback] from "@iosevka/util"
-import [getGrTree IsSuperscript IsSubscript AnyCv DotlessOrNot] from "@iosevka/glyph/relation"
-import [AnyLocalizedForm CvDecompose MathSansSerif Texture] from "@iosevka/glyph/relation"
+import [getGrTree IsSuperscript IsSubscript AnyCvOrCherryPicking] from "@iosevka/glyph/relation"
+import [AnyLocalizedForm DotlessOrNot CvDecompose MathSansSerif Texture] from "@iosevka/glyph/relation"
+import [BooleanGeometry StrokeGeometry] from "@iosevka/geometry"
import [NumeratorForm DenominatorForm] from "@iosevka/glyph/relation"
import [Transform] from "@iosevka/geometry/transform"
extern Map
@@ -40,7 +41,7 @@ glyph-block Autobuild-Transformed-Shared : begin
local targetNameMap {.}
local TraverseGrList : list
- * AnyCv
+ * AnyCvOrCherryPicking
* AnyLocalizedForm
* DotlessOrNot
@@ -775,14 +776,13 @@ glyph-block Autobuild-Transformed-Texture : begin
createTextureDerivatives Texture.ShrR 0 SHRINK [jobs 0xF400]
createTextureDerivatives Texture.ShrLR SHRINK SHRINK [jobs 0xF500]
-
glyph-block Autobuild-Transformed-Mathematical : begin
glyph-block-import CommonShapes
glyph-block-import Common-Derivatives
glyph-block-import Recursive-Build : Fork
glyph-block-import Autobuild-Transformed-Shared : extendRelatedGlyphs link-relations wrapName
- define [createMathDerivedSeriesImpl groupName tfm _records] : begin
+ define [createMathDerivedSeriesImpl groupName tfm _records postProcessing] : begin
local { records relSets targetNameMap } : extendRelatedGlyphs groupName _records
local pendingGlyphs : records.map : [record] => record.1
local forkedPara : para.createFork tfm
@@ -793,6 +793,7 @@ glyph-block Autobuild-Transformed-Mathematical : begin
if [not glyphT] : console.log glyphid
include glyphT AS_BASE ALSO_METRICS
set currentGlyph.gizmo glyphT.gizmo
+ if postProcessing : include : postProcessing para forkedPara
link-relations relSets
@@ -822,7 +823,7 @@ glyph-block Autobuild-Transformed-Mathematical : begin
define Greek2 : Array.from 'Ϝϝ'
define ObliqueBlackboardBolds : Array.from '𝔻𝕕𝕖𝕚𝕛'
- define [CreateMathDerivatives groupName tfm gr base letters overrides] : begin
+ define [CreateMathDerivatives groupName tfm gr base letters overrides postProcessing] : begin
local jobs {}
local overrideMap : new Map (overrides || {})
foreach j [range 0 letters.length] : begin
@@ -832,7 +833,7 @@ glyph-block Autobuild-Transformed-Mathematical : begin
local dst : base + j
if [overrideMap.has letter] : set dst [overrideMap.get letter]
if source : jobs.push { dst source }
- createMathDerivedSeriesImpl groupName tfm jobs
+ createMathDerivedSeriesImpl groupName tfm jobs postProcessing
define [CreateMathAliasableImpl groupName altGroupName tfm gr base letters overrides] : begin
local overrideMap : new Map (overrides || {})
@@ -902,6 +903,16 @@ glyph-block Autobuild-Transformed-Mathematical : begin
# Italic blackboard bold
CreateMathDerivatives 'mathit' tfItalic null 0x2145 ObliqueBlackboardBolds
+ # Outlined letters and digits -- for Symbols for Legacy Computing Supplement
+ define [TfOutline para forkedPara] : glyph-proc
+ local g currentGlyph.geometry
+ local sw : forkedPara.stroke / 4
+ local gizmo : currentGlyph.gizmo || GlobalTransform
+ set currentGlyph.geometry : new StrokeGeometry g gizmo sw HVContrast true
+
+ CreateMathDerivatives 'legacyComputingOutlined' tfBold null 0x1CCD6 UpperLatin null TfOutline
+ CreateMathDerivatives 'legacyComputingOutlined' tfBold null 0x1CCF0 Digits null TfOutline
+
glyph-block Autobuild-Rhotic : begin
glyph-block-import Mark-Shared-Metrics : markFine markstroke
glyph-block-import CommonShapes
diff --git a/packages/font-glyphs/src/common/shapes.ptl b/packages/font-glyphs/src/common/shapes.ptl
index 36f2e97288..f3b2e42308 100644
--- a/packages/font-glyphs/src/common/shapes.ptl
+++ b/packages/font-glyphs/src/common/shapes.ptl
@@ -436,7 +436,7 @@ glyph-block CommonShapes : begin
# Adjust terminal's position if necessary
toFinish.x = toFinish.x + OXHook * [if ltr (-1) 1] * [if isStart (-1) 1]
if (doSwash) : begin
- toFinish.x = toFinish.x + TailAdjX * TanSlope
+ toFinish.x = toFinish.x + [Math.min TailAdjX (0.25 * (toFinish.x - toStraight.x))] * TanSlope
toFinish.y = toFinish.y - TailAdjY * [Math.abs TanSlope]
# Compute key middle knot
diff --git a/packages/font-glyphs/src/letter/cyrillic/orthography.ptl b/packages/font-glyphs/src/letter/cyrillic/orthography.ptl
index 0e9e470c19..104d7edcb4 100644
--- a/packages/font-glyphs/src/letter/cyrillic/orthography.ptl
+++ b/packages/font-glyphs/src/letter/cyrillic/orthography.ptl
@@ -42,14 +42,14 @@ glyph-block Letter-Cyrillic-Orthography : begin
CreateAccentedComposition 'cyrl/igrave' 0x45D 'cyrl/i' 'graveAbove'
# Link localization forms
- link-gr LocalizedForm.SRB.Upright 'cyrl/be' 'cyrl/be.SRB'
- link-gr LocalizedForm.SRB.Upright 'cyrl/ghe' 'cyrl/ghe.SRB'
- link-gr LocalizedForm.SRB.Upright 'cyrl/de' 'cyrl/de.SRB'
- link-gr LocalizedForm.SRB.Upright 'cyrl/gje' 'cyrl/gje.SRB'
- link-gr LocalizedForm.SRB.Upright 'cyrl/pe' 'cyrl/pe.SRB'
- link-gr LocalizedForm.SRB.Upright 'cyrl/te' 'cyrl/te.SRB'
-
- link-gr LocalizedForm.SRB.Italic 'cyrl/be' 'cyrl/be.SRB'
+ link-gr LocalizedForm.SRB.Upright 'cyrl/be' 'cyrl/be.SRB'
+
+ link-gr LocalizedForm.SRB.Italic 'cyrl/be' 'cyrl/be.SRB'
+ link-gr LocalizedForm.SRB.Italic 'cyrl/ghe' 'cyrl/ghe.SRB'
+ link-gr LocalizedForm.SRB.Italic 'cyrl/de' 'cyrl/de.SRB'
+ link-gr LocalizedForm.SRB.Italic 'cyrl/gje' 'cyrl/gje.SRB'
+ link-gr LocalizedForm.SRB.Italic 'cyrl/pe' 'cyrl/pe.SRB'
+ link-gr LocalizedForm.SRB.Italic 'cyrl/te' 'cyrl/te.SRB'
link-gr LocalizedForm.BGR 'cyrl/ve' 'cyrl/ve.BGR'
link-gr LocalizedForm.BGR 'cyrl/ghe' 'cyrl/ghe.italic'
diff --git a/packages/font-glyphs/src/letter/cyrillic/yeri.ptl b/packages/font-glyphs/src/letter/cyrillic/yeri.ptl
index ad701a5ed7..30326b771b 100644
--- a/packages/font-glyphs/src/letter/cyrillic/yeri.ptl
+++ b/packages/font-glyphs/src/letter/cyrillic/yeri.ptl
@@ -312,19 +312,19 @@ glyph-block Letter-Cyrillic-Yeri : begin
foreach { suffix { Uc Lc fTail } } [Object.entries YeryConfig] : do
create-glyph "cyrl/Yery.\(suffix)" : glyph-proc
- local df : include : DivFrame [mix 1 para.diversityM 1.5] 3
+ local df : include : DivFrame para.diversityM 3
include : df.markSet.capital
include : CyrYeryShape Uc df CAP false fTail
create-glyph "cyrl/yery.\(suffix)" : glyph-proc
- local df : include : DivFrame [mix 1 para.diversityM 1.5] 3
+ local df : include : DivFrame para.diversityM 3
include : df.markSet.e
include : CyrYeryShape Lc df XH false fTail
create-glyph "cyrl/YeryBack.\(suffix)" : glyph-proc
- local df : include : DivFrame [mix 1 para.diversityM 1.5] 3
+ local df : include : DivFrame para.diversityM 3
include : df.markSet.capital
include : CyrYeryShape Uc df CAP true fTail
create-glyph "cyrl/yeryBack.\(suffix)" : glyph-proc
- local df : include : DivFrame [mix 1 para.diversityM 1.5] 3
+ local df : include : DivFrame para.diversityM 3
include : df.markSet.e
include : CyrYeryShape Lc df XH true fTail
diff --git a/packages/font-glyphs/src/letter/latin-ext/lower-ae-oe.ptl b/packages/font-glyphs/src/letter/latin-ext/lower-ae-oe.ptl
index b6400a358e..f132ea5e70 100644
--- a/packages/font-glyphs/src/letter/latin-ext/lower-ae-oe.ptl
+++ b/packages/font-glyphs/src/letter/latin-ext/lower-ae-oe.ptl
@@ -179,16 +179,15 @@ glyph-block Letter-Latin-Lower-AE-OE : begin
include : lf.full
include : FlipAround (subDf.width / 2) (XH / 2)
- define SLAB-FLAT 3
- define [EsTeLeftShape df styBot] : new-glyph : glyph-proc
- local subDf : df.sliceFine 3 2 (1/3)
- local ada : subDf.archDepthA SmallArchDepth df.mvs
- local adb : subDf.archDepthB SmallArchDepth df.mvs
-
- local lf : CLetterForm subDf SLAB-FLAT styBot XH 0
- ada -- [subDf.archDepthA SmallArchDepth df.mvs]
- adb -- [subDf.archDepthB SmallArchDepth df.mvs]
- sw -- df.mvs
+ define FLAT-CONNECTION 3
+ define [EsTeLeftShape subDf styBot] : new-glyph : glyph-proc
+ local ada : subDf.archDepthA SmallArchDepth subDf.mvs
+ local adb : subDf.archDepthB SmallArchDepth subDf.mvs
+
+ local lf : CLetterForm subDf FLAT-CONNECTION styBot XH 0
+ ada -- [subDf.archDepthA SmallArchDepth subDf.mvs]
+ adb -- [subDf.archDepthB SmallArchDepth subDf.mvs]
+ sw -- subDf.mvs
include : lf.full
foreach { suffix { sty styBot } } [Object.entries CConfig] : do
@@ -198,11 +197,19 @@ glyph-block Letter-Latin-Lower-AE-OE : begin
set-base-anchor 'cvDecompose' 0 0
include : openOShape df sty styBot
- create-glyph "cyrl/este/left.\(suffix)" : glyph-proc
- local df : include : DivFrame para.diversityM 3
+ create-glyph "cyrl/este.upright/left.\(suffix)" : glyph-proc
+ local df : include : DivFrame para.diversityM 3.5
+ local subDfLeft : df.slice 3.25 1.875
+ include : df.markSet.e
+ set-base-anchor 'cvDecompose' 0 0
+ include : EsTeLeftShape subDfLeft styBot
+
+ create-glyph "cyrl/este.italic/left.\(suffix)" : glyph-proc
+ local df : include : DivFrame para.diversityM 4.75
+ local subDfLeft : df.slice 4.5 2
include : df.markSet.e
set-base-anchor 'cvDecompose' 0 0
- include : EsTeLeftShape df styBot
+ include : EsTeLeftShape subDfLeft styBot
do "P/R subglyphs"
glyph-block-import Letter-Latin-Upper-P : PShape PBarPosY
@@ -296,24 +303,17 @@ glyph-block Letter-Latin-Lower-AE-OE : begin
local { subDf shift } : SubDfAndShiftEx 6 4 1 df
include : with-transform [ApparentTranslate shift 0] : LhaRightLetterShape subDf CAP 0 0.1 0.28
- do "other subglyphs"
- # Te
- define [EsTeRightShape df doTopSerifs doBottomSerifs] : new-glyph : glyph-proc
- local subDf : df.sliceFine 3 2 (1/3)
- # local shift : df.rightSB - subDf.rightSB
- local l subDf.rightSB
- local m : mix df.rightSB subDf.rightSB 0.5
- local r : df.rightSB - 0.75 * OX
-
- include : VBar.m m 0 XH df.mvs
- include : HBar.t l r XH df.mvs
+ do "Te (upright) subglyphs"
+ define [EsTeRightShape subDf doTopSerifs doBottomSerifs] : new-glyph : glyph-proc
+ include : VBar.m subDf.middle 0 XH subDf.mvs
+ include : HBar.t subDf.leftSB subDf.rightSB XH subDf.mvs
if doTopSerifs : begin
- local swVJut : Math.min df.mvs (0.625 * (r - m - [HSwToV : 0.5 * df.mvs]))
- include : VSerif.dr r XH VJut swVJut
+ local swVJut : Math.min subDf.mvs (0.625 * (subDf.rightSB - subDf.middle - [HSwToV : 0.5 * subDf.mvs]))
+ include : VSerif.dr subDf.rightSB XH VJut swVJut
if doBottomSerifs : begin
- local midJutCenter : [Math.max Jut : mix [HSwToV : 0.5 * df.mvs] LongJut 0.6] * (subDf.width / df.width)
- include : tagged 'serifMB' : HSerif.rb m 0 midJutCenter df.mvs
+ local midJutCenter : MidJutCenter * (subDf.width / Width)
+ include : tagged 'serifMB' : HSerif.mb subDf.middle 0 midJutCenter subDf.mvs
define TConfig : object
serifless { false false }
@@ -321,13 +321,29 @@ glyph-block Letter-Latin-Lower-AE-OE : begin
serifed { true true }
foreach { suffix { doST doSB } } [Object.entries TConfig] : do
- create-glyph "cyrl/este/right.\(suffix)" : glyph-proc
- local df : DivFrame para.diversityM 3
+ create-glyph "cyrl/este.upright/right.\(suffix)" : glyph-proc
+ local df : include : DivFrame para.diversityM 3.5
+ local subDfLeft : df.slice 3.25 1.875
+ local subdfRight : df.restCompact 1 subDfLeft 2
+
+ set-width 0
+ set-mark-anchor 'cvDecompose' 0 0
+ include : EsTeRightShape subdfRight doST doSB
+ include : ApparentTranslate (df.width - subdfRight.width) 0
+
+ do "Te (italic) subglyphs"
+ glyph-block-import Letter-Latin-Lower-M : mShapeBodyImpl SmallMConfig
+ foreach { suffix { {Body earless} {shortLeg} {tailed} {Serifs} } } [pairs-of SmallMConfig] : do
+ create-glyph "cyrl/este.italic/right.\(suffix)" : glyph-proc
+ local df : DivFrame para.diversityM 4.75
+ local subDfLeft : df.slice 4.5 2
+ local subdfRight : df.restCompact 0.5 subDfLeft 3
set-width 0
set-mark-anchor 'cvDecompose' 0 0
- include : EsTeRightShape df doST doSB
+ include : mShapeBodyImpl subdfRight XH Body earless shortLeg tailed Serifs
+ include : ApparentTranslate (df.width - subdfRight.width) 0
- # El
+ do "El subglyphs"
glyph-block-import Letter-Cyrillic-El : CyrElShape
create-glyph 'cyrl/Lha/left' : glyph-proc
local df : include : DivFrame para.diversityM 3.2
@@ -423,9 +439,13 @@ glyph-block Letter-Latin-Lower-AE-OE : begin
derive-composites 'cyrl/OOBinocular' 0xA66C 'cyrl/OO' 'OODots'
derive-composites 'cyrl/ooBinocular' 0xA66D 'cyrl/oo' 'ooDots'
- select-variant 'cyrl/este/left' (follow -- 'cBottomSerifOnly')
- select-variant 'cyrl/este/right' (follow -- 'T')
- derive-composites 'cyrl/este' null 'cyrl/este/left' 'cyrl/este/right'
+ select-variant 'cyrl/este.upright/left' (follow -- 'cBottomSerifOnly')
+ select-variant 'cyrl/este.upright/right' (follow -- 'T')
+ derive-composites 'cyrl/este.upright' null 'cyrl/este.upright/left' 'cyrl/este.upright/right'
+
+ select-variant 'cyrl/este.italic/left' (follow -- 'cBottomSerifOnly')
+ select-variant 'cyrl/este.italic/right' (follow -- 'cyrl/este.italic/right')
+ derive-composites 'cyrl/este.italic' null 'cyrl/este.italic/left' 'cyrl/este.italic/right'
glyph-block-export BuildRha
define [BuildRha srcs] : glyph-proc
diff --git a/packages/font-glyphs/src/letter/latin-ext/orthography.ptl b/packages/font-glyphs/src/letter/latin-ext/orthography.ptl
index 13c3b21a31..5e650def18 100644
--- a/packages/font-glyphs/src/letter/latin-ext/orthography.ptl
+++ b/packages/font-glyphs/src/letter/latin-ext/orthography.ptl
@@ -5,5 +5,4 @@ glyph-module
glyph-block Letter-Latin-Orthography : begin
glyph-block-import Common-Derivatives
- # orthographic-italic 'f_i' 0xFB01
- # orthographic-italic 'f_l' 0xFB02
+ orthographic-italic "cyrl/este"
diff --git a/packages/font-glyphs/src/letter/latin/c.ptl b/packages/font-glyphs/src/letter/latin/c.ptl
index e67fdac9ff..68056337b5 100644
--- a/packages/font-glyphs/src/letter/latin/c.ptl
+++ b/packages/font-glyphs/src/letter/latin/c.ptl
@@ -33,7 +33,7 @@ glyph-block Letter-Latin-C : begin
g4 (df.middle - CorrectionOMidX * sw) (top - O - offset)
archv
[Just FLAT-CONNECTION] : list
- flat (df.rightSB - offset) (top - offset)
+ flat (df.width - offset) (top - offset)
curl (df.middle - CorrectionOMidX * sw) (top - offset)
archv
_ : list
@@ -52,7 +52,7 @@ glyph-block Letter-Latin-C : begin
[Just FLAT-CONNECTION] : list
arcvh
flat (df.middle + CorrectionOMidX * sw) (bot + O + offset)
- curl (df.rightSB - offset) (bot + O + offset)
+ curl (df.width - offset) (bot + O + offset)
_ : list
hookend (bot + O + offset)
g4 (df.rightSB - offset) (bot + [fallback hook Hook])
@@ -66,7 +66,7 @@ glyph-block Letter-Latin-C : begin
g4 (df.middle - CorrectionOMidX * sw) (top - O - offset)
archv
[Just FLAT-CONNECTION] : list
- flat (df.leftSB + offset) (top - offset)
+ flat (0 + offset) (top - offset)
curl (df.middle - CorrectionOMidX * sw) (top - offset)
archv
_ : list
@@ -85,7 +85,7 @@ glyph-block Letter-Latin-C : begin
[Just FLAT-CONNECTION] : list
arcvh
flat (df.middle + CorrectionOMidX * sw) (bot + O + offset)
- curl (df.leftSB + offset) (bot + O + offset)
+ curl (0 + offset) (bot + O + offset)
_ : list
hookend (bot + O + offset)
g4 (df.leftSB + offset) (bot + [fallback hook Hook])
diff --git a/packages/font-glyphs/src/letter/latin/lower-m.ptl b/packages/font-glyphs/src/letter/latin/lower-m.ptl
index ade2601c29..cc0e0b0de0 100644
--- a/packages/font-glyphs/src/letter/latin/lower-m.ptl
+++ b/packages/font-glyphs/src/letter/latin/lower-m.ptl
@@ -203,6 +203,13 @@ glyph-block Letter-Latin-Lower-M : begin
flat df.rightSB [Math.max (top - [SmallMSmooth df]) (rbot + 0.1)]
curl df.rightSB rbot [heading Downward]
+ glyph-block-export mShapeBodyImpl
+ define [mShapeBodyImpl df height body earless shortLeg tailed serifs] : glyph-proc
+ include : body df height 0 [if shortLeg [SmallMShortLegHeight height df] 0] [if tailed ([SmallMSmoothHeight height df] + O) 0]
+ if tailed : include : RightwardTailedBar df.rightSB 0 [SmallMSmoothHeight height df] (sw -- df.mvs)
+ include : serifs df height 0 [if shortLeg [SmallMShortLegHeight height df] 0] 0 tailed earless
+
+ glyph-block-export SmallMConfig
define SmallMConfig : SuffixCfg.weave
object
"" { SmallMArches 0 }
@@ -223,10 +230,8 @@ glyph-block Letter-Latin-Lower-M : begin
"topLeftAndBottomRightSerifed" { LtRbSerifs }
foreach { suffix { {Body earless} {shortLeg} {tailed} {Serifs} } } [pairs-of SmallMConfig] : do
- define [mShapeBody df height] : glyph-proc
- include : Body df height 0 [if shortLeg [SmallMShortLegHeight height df] 0] [if tailed ([SmallMSmoothHeight height df] + O) 0]
- if tailed : include : RightwardTailedBar df.rightSB 0 [SmallMSmoothHeight height df] (sw -- df.mvs)
- include : Serifs df height 0 [if shortLeg [SmallMShortLegHeight height df] 0] 0 tailed earless
+ define [mShapeBody df height] : begin
+ return : mShapeBodyImpl df height Body earless shortLeg tailed Serifs
create-glyph "m.\(suffix)" : glyph-proc
local df : include : dfM
@@ -280,7 +285,7 @@ glyph-block Letter-Latin-Lower-M : begin
create-glyph "cyrl/teMidHook.italic.\(suffix)" : glyph-proc
local df : include : DivFrame para.diversityM 4
include : df.markSet.e
- local subDf : df.slice 4 3 0
+ local subDf : df.slice 4 3 0
include : mShapeBody subDf XH
include : MidHook.general
left -- subDf.rightSB
diff --git a/packages/font-glyphs/src/letter/latin/lower-r.ptl b/packages/font-glyphs/src/letter/latin/lower-r.ptl
index 50834cb934..815981f978 100644
--- a/packages/font-glyphs/src/letter/latin/lower-r.ptl
+++ b/packages/font-glyphs/src/letter/latin/lower-r.ptl
@@ -38,20 +38,20 @@ glyph-block Letter-Latin-Lower-R : begin
export : local xBar : match mode
[Just rNarrowSerifed] : df.middle + [HSwToV : 0.5 * strokeBar] - RBalance * rBalanceMultiplier
- __ : SB + RBalance * rBalanceMultiplier + [HSwToV strokeBar]
+ __ : df.leftSB + RBalance * rBalanceMultiplier + [HSwToV strokeBar]
local rSerifX : xBar - [HSwToV : 0.5 * strokeBar]
local rSerifLeftJut : SideJut + RBalance * (0.3 + rSerifLeftExtender)
local rSerifRightJut : rSerifLeftJut * 1.20
export : local [rBottomSerif y] : glyph-proc
include : tagged 'serifLB' : union
- HSerif.lb rSerifX y (rSerifLeftJut + (strokeBar / 2) * HVContrast)
- HSerif.rb rSerifX y (rSerifRightJut + (strokeBar / 2) * HVContrast)
- local xAtt : rSerifX + rSerifRightJut + (strokeBar / 2) * HVContrast
+ HSerif.lb rSerifX y (rSerifLeftJut + [HSwToV: 0.5 * strokeBar])
+ HSerif.rb rSerifX y (rSerifRightJut + [HSwToV: 0.5 * strokeBar])
+ local xAtt : rSerifX + rSerifRightJut + [HSwToV: 0.5 * strokeBar]
set-base-anchor 'palatalHookAttach' xAtt y
set-base-anchor 'palatalHookPos' xAtt y
export : local [rTopSerif y] : tagged 'serifLT'
- HSerif.lt rSerifX y (rSerifLeftJut + (strokeBar / 2) * HVContrast)
+ HSerif.lt rSerifX y (rSerifLeftJut + [HSwToV : 0.5 * strokeBar])
export : local fine ShoulderFine
export : local rHookX : df.rightSB + RBalance2 * rBalanceMultiplier - (OX - O)
export : local xArchMiddle : match mode
diff --git a/packages/font-glyphs/src/meta/aesthetics.ptl b/packages/font-glyphs/src/meta/aesthetics.ptl
index 7a8acf5d9d..0de4059fd1 100644
--- a/packages/font-glyphs/src/meta/aesthetics.ptl
+++ b/packages/font-glyphs/src/meta/aesthetics.ptl
@@ -471,6 +471,12 @@ export : define [GenDivFrame metrics] : begin
return : new CDivFrame subDfDiv keeps (this.leftSB / metrics.SB) this.mvs o
+ public [rest sub _hPack] : begin
+ return : new CDivFrame ((this.width - sub.width) / metrics.Width) [fallback _hPack (this.hPack - sub.hPack + 1)] (this.leftSB / metrics.SB) this.mvs this.ox
+ public [restCompact kKern sub _hPack] : begin
+ local kern : kKern * ((this.width - this.rightSB) + sub.leftSB)
+ return : new CDivFrame ((this.width - sub.width + kern) / metrics.Width) [fallback _hPack (this.hPack - sub.hPack + 1)] (this.leftSB / metrics.SB) this.mvs this.ox
+
public [applyToGlyph g] : begin
g.setWidth this.width
set g.divFrameParams this.params
diff --git a/packages/font-glyphs/src/symbol/geometric/plain.ptl b/packages/font-glyphs/src/symbol/geometric/plain.ptl
index 41fc230bbb..02593460c3 100644
--- a/packages/font-glyphs/src/symbol/geometric/plain.ptl
+++ b/packages/font-glyphs/src/symbol/geometric/plain.ptl
@@ -201,6 +201,29 @@ glyph-block Symbol-Geometric-Plain : for-width-kinds WideWidth1
StdBlackShape TriangleRTFill 'blackTriangleRT' 0x25E5
ConvexWhitePolygon TriangleRTFill 'whiteTriangleRT' 0x25F9
+ create-glyph [MangleName 'squareCorners'] [MangleUnicode 0x26F6] : glyph-proc
+ set-width Geom.Width
+ include : difference
+ refer-glyph : MangleName 'whiteSquare'
+ union
+ intersection [MaskBelow (Geom.MidY + Geom.Size / 3)] [MaskAbove (Geom.MidY - Geom.Size / 3)]
+ intersection [MaskLeft (Geom.MidX + Geom.Size / 3)] [MaskRight (Geom.MidX - Geom.Size / 3)]
+
+ define [SquareOverlap name unicode rev square1 square2] : begin
+ create-glyph [MangleName name] [MangleUnicode unicode] : glyph-proc
+ set-width Geom.Width
+ local space : Geom.Width * (1 - Size.Medium.size)
+ local offsetX : space * 0.45 * [if rev (-1) 1]
+ local offsetY : space * 0.45
+ include : union
+ with-transform [Translate (-offsetX) (-offsetY)] : refer-glyph : MangleName [if square1 'blackMediumSquare' 'whiteMediumSquare']
+ with-transform [Translate offsetX offsetY] : refer-glyph : MangleName [if square2 'blackMediumSquare' 'whiteMediumSquare']
+
+ SquareOverlap 'overlapWWSquareRev' 0x29C9 1 0 0
+ SquareOverlap 'overlapWWSquare' 0x2BBA 0 0 0
+ SquareOverlap 'overlapWBSquare' 0x2BBB 0 0 1
+ SquareOverlap 'overlapBBSquare' 0x2BBC 0 1 1
+
do "Rectangle"
define [RectangleFill cx cy r] : spiro-outline
corner (cx - r) (cy + r / 1.5)
diff --git a/packages/font-glyphs/src/symbol/mosaic.ptl b/packages/font-glyphs/src/symbol/mosaic.ptl
index 3224844099..6dab9551dd 100644
--- a/packages/font-glyphs/src/symbol/mosaic.ptl
+++ b/packages/font-glyphs/src/symbol/mosaic.ptl
@@ -80,6 +80,12 @@ glyph-block Symbol-Mosaic : begin
include : ForceUpright
include : BlockMosaicPattern 2 3 : [pattern.split ''].map : x => x - 1
+ define [BlockMosaic24 unicode pattern] : begin
+ create-glyph [BMGlyphName unicode] [MangleUnicode unicode] : glyph-proc
+ set-width MosaicWidth
+ include : ForceUpright
+ include : BlockMosaicPattern 2 4 : [pattern.split ''].map : x => x - 1
+
define [BlockMosaic unicode w h pattern] : begin
create-glyph [BMGlyphName unicode] [MangleUnicode unicode] : glyph-proc
set-width MosaicWidth
@@ -147,6 +153,237 @@ glyph-block Symbol-Mosaic : begin
BlockMosaic23 0x1FB3A '13456'
BlockMosaic23 0x1FB3B '23456'
+ BlockMosaic24 0x1CD00 '3'
+ BlockMosaic24 0x1CD01 '23'
+ BlockMosaic24 0x1CD02 '123'
+ BlockMosaic24 0x1CD03 '4'
+ BlockMosaic24 0x1CD04 '14'
+ BlockMosaic24 0x1CD05 '124'
+ BlockMosaic24 0x1CD06 '34'
+ BlockMosaic24 0x1CD07 '134'
+ BlockMosaic24 0x1CD08 '234'
+ BlockMosaic24 0x1CD09 '5'
+ BlockMosaic24 0x1CD0A '15'
+ BlockMosaic24 0x1CD0B '25'
+ BlockMosaic24 0x1CD0C '125'
+ BlockMosaic24 0x1CD0D '135'
+ BlockMosaic24 0x1CD0E '235'
+ BlockMosaic24 0x1CD0F '1235'
+ BlockMosaic24 0x1CD10 '45'
+ BlockMosaic24 0x1CD11 '145'
+ BlockMosaic24 0x1CD12 '245'
+ BlockMosaic24 0x1CD13 '1245'
+ BlockMosaic24 0x1CD14 '345'
+ BlockMosaic24 0x1CD15 '1345'
+ BlockMosaic24 0x1CD16 '2345'
+ BlockMosaic24 0x1CD17 '12345'
+ BlockMosaic24 0x1CD18 '6'
+ BlockMosaic24 0x1CD19 '16'
+ BlockMosaic24 0x1CD1A '26'
+ BlockMosaic24 0x1CD1B '126'
+ BlockMosaic24 0x1CD1C '36'
+ BlockMosaic24 0x1CD1D '136'
+ BlockMosaic24 0x1CD1E '236'
+ BlockMosaic24 0x1CD1F '1236'
+ BlockMosaic24 0x1CD20 '146'
+ BlockMosaic24 0x1CD21 '246'
+ BlockMosaic24 0x1CD22 '1246'
+ BlockMosaic24 0x1CD23 '346'
+ BlockMosaic24 0x1CD24 '1346'
+ BlockMosaic24 0x1CD25 '2346'
+ BlockMosaic24 0x1CD26 '12346'
+ BlockMosaic24 0x1CD27 '56'
+ BlockMosaic24 0x1CD28 '156'
+ BlockMosaic24 0x1CD29 '256'
+ BlockMosaic24 0x1CD2A '1256'
+ BlockMosaic24 0x1CD2B '356'
+ BlockMosaic24 0x1CD2C '1356'
+ BlockMosaic24 0x1CD2D '2356'
+ BlockMosaic24 0x1CD2E '12356'
+ BlockMosaic24 0x1CD2F '456'
+ BlockMosaic24 0x1CD30 '1456'
+ BlockMosaic24 0x1CD31 '2456'
+ BlockMosaic24 0x1CD32 '12456'
+ BlockMosaic24 0x1CD33 '3456'
+ BlockMosaic24 0x1CD34 '13456'
+ BlockMosaic24 0x1CD35 '23456'
+ BlockMosaic24 0x1CD36 '17'
+ BlockMosaic24 0x1CD37 '27'
+ BlockMosaic24 0x1CD38 '127'
+ BlockMosaic24 0x1CD39 '37'
+ BlockMosaic24 0x1CD3A '137'
+ BlockMosaic24 0x1CD3B '237'
+ BlockMosaic24 0x1CD3C '1237'
+ BlockMosaic24 0x1CD3D '47'
+ BlockMosaic24 0x1CD3E '147'
+ BlockMosaic24 0x1CD3F '247'
+ BlockMosaic24 0x1CD40 '1247'
+ BlockMosaic24 0x1CD41 '347'
+ BlockMosaic24 0x1CD42 '1347'
+ BlockMosaic24 0x1CD43 '2347'
+ BlockMosaic24 0x1CD44 '12347'
+ BlockMosaic24 0x1CD45 '157'
+ BlockMosaic24 0x1CD46 '257'
+ BlockMosaic24 0x1CD47 '1257'
+ BlockMosaic24 0x1CD48 '357'
+ BlockMosaic24 0x1CD49 '2357'
+ BlockMosaic24 0x1CD4A '12357'
+ BlockMosaic24 0x1CD4B '457'
+ BlockMosaic24 0x1CD4C '1457'
+ BlockMosaic24 0x1CD4D '12457'
+ BlockMosaic24 0x1CD4E '3457'
+ BlockMosaic24 0x1CD4F '13457'
+ BlockMosaic24 0x1CD50 '23457'
+ BlockMosaic24 0x1CD51 '67'
+ BlockMosaic24 0x1CD52 '167'
+ BlockMosaic24 0x1CD53 '267'
+ BlockMosaic24 0x1CD54 '1267'
+ BlockMosaic24 0x1CD55 '367'
+ BlockMosaic24 0x1CD56 '1367'
+ BlockMosaic24 0x1CD57 '2367'
+ BlockMosaic24 0x1CD58 '12367'
+ BlockMosaic24 0x1CD59 '467'
+ BlockMosaic24 0x1CD5A '1467'
+ BlockMosaic24 0x1CD5B '2467'
+ BlockMosaic24 0x1CD5C '12467'
+ BlockMosaic24 0x1CD5D '3467'
+ BlockMosaic24 0x1CD5E '13467'
+ BlockMosaic24 0x1CD5F '23467'
+ BlockMosaic24 0x1CD60 '123467'
+ BlockMosaic24 0x1CD61 '567'
+ BlockMosaic24 0x1CD62 '1567'
+ BlockMosaic24 0x1CD63 '2567'
+ BlockMosaic24 0x1CD64 '12567'
+ BlockMosaic24 0x1CD65 '3567'
+ BlockMosaic24 0x1CD66 '13567'
+ BlockMosaic24 0x1CD67 '23567'
+ BlockMosaic24 0x1CD68 '123567'
+ BlockMosaic24 0x1CD69 '4567'
+ BlockMosaic24 0x1CD6A '14567'
+ BlockMosaic24 0x1CD6B '24567'
+ BlockMosaic24 0x1CD6C '124567'
+ BlockMosaic24 0x1CD6D '34567'
+ BlockMosaic24 0x1CD6E '134567'
+ BlockMosaic24 0x1CD6F '234567'
+ BlockMosaic24 0x1CD70 '1234567'
+ BlockMosaic24 0x1CD71 '18'
+ BlockMosaic24 0x1CD72 '28'
+ BlockMosaic24 0x1CD73 '128'
+ BlockMosaic24 0x1CD74 '38'
+ BlockMosaic24 0x1CD75 '138'
+ BlockMosaic24 0x1CD76 '238'
+ BlockMosaic24 0x1CD77 '1238'
+ BlockMosaic24 0x1CD78 '48'
+ BlockMosaic24 0x1CD79 '148'
+ BlockMosaic24 0x1CD7A '248'
+ BlockMosaic24 0x1CD7B '1248'
+ BlockMosaic24 0x1CD7C '348'
+ BlockMosaic24 0x1CD7D '1348'
+ BlockMosaic24 0x1CD7E '2348'
+ BlockMosaic24 0x1CD7F '12348'
+ BlockMosaic24 0x1CD80 '58'
+ BlockMosaic24 0x1CD81 '158'
+ BlockMosaic24 0x1CD82 '258'
+ BlockMosaic24 0x1CD83 '1258'
+ BlockMosaic24 0x1CD84 '358'
+ BlockMosaic24 0x1CD85 '1358'
+ BlockMosaic24 0x1CD86 '2358'
+ BlockMosaic24 0x1CD87 '12358'
+ BlockMosaic24 0x1CD88 '458'
+ BlockMosaic24 0x1CD89 '1458'
+ BlockMosaic24 0x1CD8A '2458'
+ BlockMosaic24 0x1CD8B '12458'
+ BlockMosaic24 0x1CD8C '3458'
+ BlockMosaic24 0x1CD8D '13458'
+ BlockMosaic24 0x1CD8E '23458'
+ BlockMosaic24 0x1CD8F '123458'
+ BlockMosaic24 0x1CD90 '168'
+ BlockMosaic24 0x1CD91 '268'
+ BlockMosaic24 0x1CD92 '1268'
+ BlockMosaic24 0x1CD93 '368'
+ BlockMosaic24 0x1CD94 '2368'
+ BlockMosaic24 0x1CD95 '12368'
+ BlockMosaic24 0x1CD96 '468'
+ BlockMosaic24 0x1CD97 '1468'
+ BlockMosaic24 0x1CD98 '12468'
+ BlockMosaic24 0x1CD99 '3468'
+ BlockMosaic24 0x1CD9A '13468'
+ BlockMosaic24 0x1CD9B '23468'
+ BlockMosaic24 0x1CD9C '568'
+ BlockMosaic24 0x1CD9D '1568'
+ BlockMosaic24 0x1CD9E '2568'
+ BlockMosaic24 0x1CD9F '12568'
+ BlockMosaic24 0x1CDA0 '3568'
+ BlockMosaic24 0x1CDA1 '13568'
+ BlockMosaic24 0x1CDA2 '23568'
+ BlockMosaic24 0x1CDA3 '123568'
+ BlockMosaic24 0x1CDA4 '4568'
+ BlockMosaic24 0x1CDA5 '14568'
+ BlockMosaic24 0x1CDA6 '24568'
+ BlockMosaic24 0x1CDA7 '124568'
+ BlockMosaic24 0x1CDA8 '34568'
+ BlockMosaic24 0x1CDA9 '134568'
+ BlockMosaic24 0x1CDAA '234568'
+ BlockMosaic24 0x1CDAB '1234568'
+ BlockMosaic24 0x1CDAC '178'
+ BlockMosaic24 0x1CDAD '278'
+ BlockMosaic24 0x1CDAE '1278'
+ BlockMosaic24 0x1CDAF '378'
+ BlockMosaic24 0x1CDB0 '1378'
+ BlockMosaic24 0x1CDB1 '2378'
+ BlockMosaic24 0x1CDB2 '12378'
+ BlockMosaic24 0x1CDB3 '478'
+ BlockMosaic24 0x1CDB4 '1478'
+ BlockMosaic24 0x1CDB5 '2478'
+ BlockMosaic24 0x1CDB6 '12478'
+ BlockMosaic24 0x1CDB7 '3478'
+ BlockMosaic24 0x1CDB8 '13478'
+ BlockMosaic24 0x1CDB9 '23478'
+ BlockMosaic24 0x1CDBA '123478'
+ BlockMosaic24 0x1CDBB '578'
+ BlockMosaic24 0x1CDBC '1578'
+ BlockMosaic24 0x1CDBD '2578'
+ BlockMosaic24 0x1CDBE '12578'
+ BlockMosaic24 0x1CDBF '3578'
+ BlockMosaic24 0x1CDC0 '13578'
+ BlockMosaic24 0x1CDC1 '23578'
+ BlockMosaic24 0x1CDC2 '123578'
+ BlockMosaic24 0x1CDC3 '4578'
+ BlockMosaic24 0x1CDC4 '14578'
+ BlockMosaic24 0x1CDC5 '24578'
+ BlockMosaic24 0x1CDC6 '124578'
+ BlockMosaic24 0x1CDC7 '34578'
+ BlockMosaic24 0x1CDC8 '134578'
+ BlockMosaic24 0x1CDC9 '234578'
+ BlockMosaic24 0x1CDCA '1234578'
+ BlockMosaic24 0x1CDCB '678'
+ BlockMosaic24 0x1CDCC '1678'
+ BlockMosaic24 0x1CDCD '2678'
+ BlockMosaic24 0x1CDCE '12678'
+ BlockMosaic24 0x1CDCF '3678'
+ BlockMosaic24 0x1CDD0 '13678'
+ BlockMosaic24 0x1CDD1 '23678'
+ BlockMosaic24 0x1CDD2 '123678'
+ BlockMosaic24 0x1CDD3 '4678'
+ BlockMosaic24 0x1CDD4 '14678'
+ BlockMosaic24 0x1CDD5 '24678'
+ BlockMosaic24 0x1CDD6 '124678'
+ BlockMosaic24 0x1CDD7 '34678'
+ BlockMosaic24 0x1CDD8 '134678'
+ BlockMosaic24 0x1CDD9 '234678'
+ BlockMosaic24 0x1CDDA '1234678'
+ BlockMosaic24 0x1CDDB '15678'
+ BlockMosaic24 0x1CDDC '25678'
+ BlockMosaic24 0x1CDDD '125678'
+ BlockMosaic24 0x1CDDE '35678'
+ BlockMosaic24 0x1CDDF '235678'
+ BlockMosaic24 0x1CDE0 '1235678'
+ BlockMosaic24 0x1CDE1 '45678'
+ BlockMosaic24 0x1CDE2 '145678'
+ BlockMosaic24 0x1CDE3 '1245678'
+ BlockMosaic24 0x1CDE4 '1345678'
+ BlockMosaic24 0x1CDE5 '2345678'
+
BlockMosaic 0x1FB95 4 4 {0 2 5 7 8 10 13 15}
BlockMosaic 0x1FB96 4 4 {1 3 4 6 9 11 12 14}
BlockMosaic 0x1FB97 4 4 {4 5 6 7 12 13 14 15}
@@ -222,6 +459,103 @@ glyph-block Symbol-Mosaic : begin
SmoothMosaic22 0x1FB9A '1379'
SmoothMosaic22 0x1FB9B '1739'
+ ### Large Type Pieces
+ do 'Large Type Pieces'
+ local stemleft : mix 0 MosaicWidth (1 / 3)
+ local stemright : mix 0 MosaicWidth (2 / 3)
+ local stemmid : mix 0 MosaicWidth 0.5
+ define [yPart n] : return : mix top bottom (n / 5)
+
+ define [Stem start end] : spiro-outline
+ corner stemleft [yPart start]
+ corner stemright [yPart start]
+ corner stemright [yPart (end + 1)]
+ corner stemleft [yPart (end + 1)]
+
+ define [TopBit] : spiro-outline
+ corner stemleft top
+ corner stemright top
+ corner stemmid [mix top bottom 0.1]
+
+ define [BottomBit] : spiro-outline
+ corner stemmid [mix top bottom 0.9]
+ corner stemleft bottom
+ corner stemright bottom
+
+ define [Arm yStart yEnd left right] : spiro-outline
+ corner left [yPart yStart]
+ corner right [yPart yEnd]
+ corner right [yPart (yEnd + 1)]
+ corner left [yPart (yStart + 1)]
+
+ define [Arc yHori yVert fRight] : spiro-outline
+ corner [if fRight MosaicWidth 0] [yPart [if fRight yHori (yHori + 1)]]
+ corner [if fRight MosaicWidth 0] [yPart [if fRight (yHori + 1) yHori]]
+ corner [if (yHori < yVert) stemright stemleft] [yPart [if (yHori < yVert) (yVert + 1) yVert]]
+ corner [if (yHori < yVert) stemleft stemright] [yPart [if (yHori < yVert) (yVert + 1) yVert]]
+
+ define [MakePiece unicode shape] : begin
+ create-glyph [MangleName unicode] [MangleUnicode unicode] : glyph-proc
+ set-width MosaicWidth
+ include : ForceUpright
+ include shape
+
+ MakePiece 0x1CE1A : union [Stem 4 4] [Arc 2 3 1]
+ MakePiece 0x1CE1B : union [Stem 2 4] [Arm 2 2 stemright MosaicWidth]
+ MakePiece 0x1CE1C : union [Stem 2 4]
+ MakePiece 0x1CE1D : union [Stem 2 4] [Arm 2 3 stemright MosaicWidth]
+ MakePiece 0x1CE1E : union [Arm 2 2 stemleft MosaicWidth]
+ MakePiece 0x1CE1F : union [Arm 2 2 0 MosaicWidth]
+ MakePiece 0x1CE20 : union [Stem 2 4] [Arm 2 2 0 MosaicWidth]
+ MakePiece 0x1CE21 : union [Arc 3 4 0] [Arc 3 4 1]
+ MakePiece 0x1CE22 : union [Arc 3 4 0]
+ MakePiece 0x1CE23 : union [Stem 4 4]
+ MakePiece 0x1CE24 : union [Stem 4 4] [Arc 2 3 0]
+ MakePiece 0x1CE25 : union [Arm 2 2 0 stemright]
+ MakePiece 0x1CE26 : union [Stem 2 4] [Arm 3 2 0 stemleft]
+ MakePiece 0x1CE27 : union [Stem 2 4] [Arm 2 2 0 stemleft]
+ MakePiece 0x1CE28 : union [Stem 0 4] [Arm 2 2 stemright MosaicWidth]
+ MakePiece 0x1CE29 : union [Stem 0 4]
+ MakePiece 0x1CE2A : union [Arc 1 0 1] [Arc 3 4 1]
+ MakePiece 0x1CE2B : union [Arc 1 0 1]
+ MakePiece 0x1CE2C : union [Arc 3 4 1]
+ MakePiece 0x1CE2D : union [Stem 0 0]
+ MakePiece 0x1CE2E : union [Stem 0 0] [Stem 4 4] [Arc 2 1 1] [Arc 2 3 1]
+ MakePiece 0x1CE2F : union [Arm 2 2 0 stemmid] [Arm 2 1 stemmid MosaicWidth] [Arm 2 3 stemmid MosaicWidth]
+ MakePiece 0x1CE30 : union [TopBit]
+ MakePiece 0x1CE31 : union [BottomBit]
+ MakePiece 0x1CE32 : union [Arm 1 3 0 MosaicWidth] [Arm 3 1 0 MosaicWidth]
+ MakePiece 0x1CE33 : union [Stem 3 4] [Arc 1 2 0] [Arc 1 2 1]
+ MakePiece 0x1CE34 : union [Arm 2 2 0 MosaicWidth] [Arm 3 1 0 MosaicWidth]
+ MakePiece 0x1CE35 : union [Stem 3 4] [Arc 1 2 1]
+ MakePiece 0x1CE36 : union [Stem 0 4] [Arm 2 2 0 stemleft]
+ MakePiece 0x1CE37 : union [Stem 0 0] [Stem 4 4] [Arc 2 1 0] [Arc 2 3 0]
+ MakePiece 0x1CE38 : union [Arc 1 0 0] [Arc 3 4 0]
+ MakePiece 0x1CE39 : union [Stem 0 4] [Arm 1 2 0 stemleft]
+ MakePiece 0x1CE3A : union [Stem 0 4] [Arm 2 2 0 MosaicWidth]
+ MakePiece 0x1CE3B : union [Arc 0 1 0]
+ MakePiece 0x1CE3C : union [Stem 0 2]
+ MakePiece 0x1CE3D : union [Stem 0 2] [Arm 2 2 stemright MosaicWidth]
+ MakePiece 0x1CE3E : union [Stem 0 0] [Arc 2 1 1]
+ MakePiece 0x1CE3F : union [Stem 0 2] [Arm 2 1 stemright MosaicWidth]
+ MakePiece 0x1CE40 : union [Stem 0 2] [Arm 2 2 0 MosaicWidth]
+ MakePiece 0x1CE41 : union [Arm 1 2.5 0 stemmid] [Arm 2.5 1 stemmid MosaicWidth]
+ MakePiece 0x1CE42 : union [Arc 1 0 0] [Arc 1 0 1]
+ MakePiece 0x1CE43 : union [Stem 0 0] [Arc 2 1 0]
+ MakePiece 0x1CE44 : union [Stem 0 2] [Arm 2 2 0 stemleft]
+ MakePiece 0x1CE45 : union [Stem 0 0] [Arc 2 1 0] [Arm 0 2 0 stemright]
+ MakePiece 0x1CE46 : union [Stem 0 2] [Arm 1 2 0 stemleft]
+ MakePiece 0x1CE47 : union [Stem 3 4]
+ MakePiece 0x1CE48 : union [Stem 1 4]
+ MakePiece 0x1CE49 : union [Stem 3 3]
+ MakePiece 0x1CE4A : union [Stem 2 3]
+ MakePiece 0x1CE4B : union [Stem 1 3]
+ MakePiece 0x1CE4C : union [Stem 0 3]
+ MakePiece 0x1CE4D : union [Stem 2 2]
+ MakePiece 0x1CE4E : union [Stem 1 2]
+ MakePiece 0x1CE4F : union [Stem 1 1]
+ MakePiece 0x1CE50 : union [Stem 0 1]
+
### Blocks
do 'Block Shapes'
define [FillBlock hStart hEnd vStart vEnd] : spiro-outline
@@ -436,6 +770,74 @@ glyph-block Symbol-Mosaic : begin
local boty : mix top bottom verticalOvershoot
local midy : mix boty topy 0.5
+ define [hline unicode pos] : begin
+ create-glyph [BdGlyphName unicode] [MangleUnicode unicode] : glyph-proc
+ set-width MosaicWidth
+ include : ForceUpright
+ local posy : mix (bottom + light / 2) (top - light / 2) pos
+ include : HBar.m 0 MosaicWidth posy light
+
+ define [vline unicode pos] : begin
+ create-glyph [BdGlyphName unicode] [MangleUnicode unicode] : glyph-proc
+ set-width MosaicWidth
+ include : ForceUpright
+ local posx : mix (light / 2) (MosaicWidth - light / 2) pos
+ include : VBar.m posx bottom top light
+
+ # Scan Lines
+ vline 0x23B8 0
+ vline 0x23B9 1
+ hline 0x23BA 1
+ hline 0x23BB (3 / 4)
+ hline 0x23BC (1 / 4)
+ hline 0x23BD 0
+
+ # Split Dashed Lines
+ create-glyph [BdGlyphName 0x1CE0D] [MangleUnicode 0x1CE0D] : glyph-proc
+ set-width MosaicWidth
+ include : ForceUpright
+ include : HBar.m 0 (MosaicWidth / 3) midy light
+ include : HBar.m (MosaicWidth * 2 / 3) MosaicWidth midy light
+
+ create-glyph [BdGlyphName 0x1CE0E] [MangleUnicode 0x1CE0E] : glyph-proc
+ set-width MosaicWidth
+ include : ForceUpright
+ include : HBar.m (MosaicWidth / 3) (MosaicWidth * 2 / 3) midy light
+
+ define [hlinetick unicode a b c] : begin
+ create-glyph [BdGlyphName unicode] [MangleUnicode unicode] : glyph-proc
+ set-width MosaicWidth
+ include : ForceUpright
+ include : HBar.m 0 MosaicWidth midy light
+ if a : include : VBar.r (MosaicWidth / 3) [mix bottom midy 0.5] midy light
+ if b : include : VBar.r (MosaicWidth * 2 / 3) [mix bottom midy 0.5] midy light
+ if c : include : VBar.r MosaicWidth [mix bottom midy 0.5] midy light
+
+ define [vlinetick unicode a b c d rev] : begin
+ create-glyph [BdGlyphName unicode] [MangleUnicode unicode] : glyph-proc
+ set-width MosaicWidth
+ include : ForceUpright
+ include : VBar.m midx [if d bottom boty] [if c top topy] light
+ local tickleft : if rev midx 0
+ local tickright : if rev MosaicWidth midx
+ if a : include : HBar.t tickleft tickright [mix bottom top (1 / 3)] light
+ if b : include : HBar.t tickleft tickright [mix bottom top (2 / 3)] light
+ if c : include : HBar.t tickleft tickright top light
+ if d : include : HBar.b tickleft tickright bottom light
+
+ # Box Drawing with Ticks
+ hlinetick 0x1CE0F 0 0 1
+ hlinetick 0x1CE10 0 1 0
+ hlinetick 0x1CE11 1 0 1
+ hlinetick 0x1CE12 1 1 1
+ vlinetick 0x1CE13 0 1 0 0 0
+ vlinetick 0x1CE14 1 0 1 0 0
+ vlinetick 0x1CE15 1 1 1 0 0
+ vlinetick 0x1CE16 0 0 1 0 1
+ vlinetick 0x1CE17 0 0 0 1 1
+ vlinetick 0x1CE18 0 0 1 0 0
+ vlinetick 0x1CE19 0 0 0 1 0
+
define [boxdraw unicode u d l r] : begin
create-glyph [BdGlyphName unicode] [MangleUnicode unicode] : glyph-proc
set-width MosaicWidth
@@ -474,7 +876,7 @@ glyph-block Symbol-Mosaic : begin
define [complexBoxDraw unicodeStart U D L R fn dl] : begin
local order {
- {light light light light}
+ {light light light light}
{light light heavy light}
{light light light heavy}
{light light heavy heavy}
diff --git a/packages/font-glyphs/src/symbol/punctuation/percentages.ptl b/packages/font-glyphs/src/symbol/punctuation/percentages.ptl
index b06bc8bcdb..bed4978f2d 100644
--- a/packages/font-glyphs/src/symbol/punctuation/percentages.ptl
+++ b/packages/font-glyphs/src/symbol/punctuation/percentages.ptl
@@ -12,7 +12,10 @@ glyph-block Symbol-Punctuation-Percentages : begin
define NarrowUnicode : NarrowUnicodeT WideWidth1
define WideUnicode : WideUnicodeT WideWidth1
- define [PercentBarCor df sw] : HVContrast / [Math.sqrt (1 - [Math.pow ((df.rightSB - df.leftSB - sw) / (CAP - 0)) 2])]
+ define [PercentBarCor df sw] : begin
+ local a : 1 - [Math.pow ((df.rightSB - df.leftSB - sw) / (CAP - 0)) 2]
+ return : HVContrast / [if (a > 0) [Math.sqrt a] 1]
+
define [PercentBarShape df sw] : begin
local cor : PercentBarCor df sw
return : spiro-outline
diff --git a/packages/font-kits/package.json b/packages/font-kits/package.json
index 6b4dd3eb9f..b7d2313873 100644
--- a/packages/font-kits/package.json
+++ b/packages/font-kits/package.json
@@ -1,14 +1,14 @@
{
"name": "@iosevka/font-kits",
- "version": "28.0.7",
+ "version": "28.1.0",
"private": true,
"exports": {
"./boole-kit": "./src/boole-kit.mjs",
"./spiro-kit": "./src/spiro-kit.mjs"
},
"dependencies": {
- "@iosevka/geometry": "28.0.7",
- "@iosevka/glyph": "28.0.7",
- "@iosevka/util": "28.0.7"
+ "@iosevka/geometry": "28.1.0",
+ "@iosevka/glyph": "28.1.0",
+ "@iosevka/util": "28.1.0"
}
}
diff --git a/packages/font-otl/package.json b/packages/font-otl/package.json
index ae3d1c7c9c..329d304fc3 100644
--- a/packages/font-otl/package.json
+++ b/packages/font-otl/package.json
@@ -1,13 +1,13 @@
{
"name": "@iosevka/font-otl",
- "version": "28.0.7",
+ "version": "28.1.0",
"private": true,
"exports": {
".": "./src/index.mjs"
},
"dependencies": {
- "@iosevka/font-glyphs": "28.0.7",
- "@iosevka/glyph": "28.0.7",
+ "@iosevka/font-glyphs": "28.1.0",
+ "@iosevka/glyph": "28.1.0",
"toposort": "^2.0.2"
}
}
diff --git a/packages/font-otl/src/gsub-cv-ss.ptl b/packages/font-otl/src/gsub-cv-ss.ptl
index d0936aa4b5..2ed6f5666a 100644
--- a/packages/font-otl/src/gsub-cv-ss.ptl
+++ b/packages/font-otl/src/gsub-cv-ss.ptl
@@ -1,6 +1,6 @@
$$include './meta/macros.ptl'
-import [AnyCv CvDecompose] from "@iosevka/glyph/relation"
+import [AnyCv CvCherryPickingGrs CvDecompose] from "@iosevka/glyph/relation"
extern Map
extern Set
@@ -9,13 +9,14 @@ define look-around null
class CvLookupManager
public [new table tag feature] : begin
- set this.table table
- set this.tag tag
+ set this.table table
+ set this.tag tag
set this.feature feature
- set this.decompositionLookup null
- set this.altrenatesLookup null
- set this.singleSubstLookups {}
+ set this.decompositionLookup null
+ set this.altrenatesLookup null
+ set this.singleSubstLookups {}
+ set this.cherryPickingLookups {}
public [addDecompositionLookup lookup] : begin
this.decompositionLookups.push lookup
@@ -50,16 +51,30 @@ class CvLookupManager
set this.singleSubstLookups.(rank) lookup
return lookup
+ public [createCherryPickingSubst cpTag] : begin
+ define lookupName : 'lookup_cv_single_' + this.tag + '_cp_' + cpTag
+ define lookup : this.table.pickLookup lookupName {.type 'gsub_single' .substitutions {.}}
+ this.cherryPickingLookups.push lookup
+ return lookup
+
public [linkDeps] : begin
- if this.decompositionLookup : begin
+ if (this.decompositionLookup && this.altrenatesLookup) : begin
this.table.setDependency this.decompositionLookup this.altrenatesLookup
- foreach lookup [items-of this.singleSubstLookups] : if lookup : begin
- this.table.setDependency this.altrenatesLookup lookup
+ if this.altrenatesLookup : begin
+ foreach lookupSS [items-of this.singleSubstLookups] : if lookupSS : begin
+ this.table.setDependency this.altrenatesLookup lookupSS
+ foreach lookupCP [items-of this.cherryPickingLookups] : if lookupCP : begin
+ this.table.setDependency lookupCP this.altrenatesLookup
+ foreach lookupSS [items-of this.singleSubstLookups] : if lookupSS : begin
+ this.table.setDependency lookupCP lookupSS
public [linkCrossDeps other] : begin
- this.table.setDependency this.altrenatesLookup other.altrenatesLookup
- foreach lookup [items-of this.singleSubstLookups] : if lookup : begin
- this.table.setDependency lookup other.altrenatesLookup
+ if (this.altrenatesLookup && other.altrenatesLookup) : begin
+ this.table.setDependency this.altrenatesLookup other.altrenatesLookup
+
+ if other.altrenatesLookup : begin
+ foreach lookupSS [items-of this.singleSubstLookups] : if lookupSS : begin
+ this.table.setDependency lookupSS other.altrenatesLookup
static [compare a b] : begin
if (a.tag < b.tag) : return (-1)
@@ -122,14 +137,31 @@ export : define [buildCVSS gsub para glyphStore] : begin
local cvSingle : [cvs.get gr.tag].createSingleSubstFor gr.rank
set cvSingle.substitutions.(gn) : glyphStore.ensureExists subst
+ do "CV cherry picking"
+ foreach {name prime} para.variants.primes : if prime.cherryPicking : begin
+ local cv : cvs.get prime.tag
+ foreach cp [items-of prime.cherryPicking] : begin
+ foreach gr [items-of CvCherryPickingGrs] : if (cp.tag === gr.tag) : begin
+ local feature : gsub.addCommonFeature : gsub.createFeature cp.tag
+ local lookup : cv.createCherryPickingSubst cp.tag
+ if cv.decompositionLookup : feature.addLookup cv.decompositionLookup
+ feature.addLookup lookup
+
+ foreach {gn glyph} [glyphStore.namedEntries] : if [not : CvDecompose.get glyph] : begin
+ local subst : gr.get glyph
+ if (subst && subst != gn) : begin
+ set lookup.substitutions.(gn) : glyphStore.ensureExists subst
+
+
do "Cleanup and link dependency"
local sortedCvs : Array.from [cvs.values]
sortedCvs.sort CvLookupManager.compare
foreach cv [items-of sortedCvs] : begin
- local st cv.altrenatesLookup.substitutions
- foreach { k v } [pairs-of st] : foreach idx [range 0 v.length] : if [not v.(idx)]
- set v.(idx) k
+ if cv.altrenatesLookup : begin
+ local st cv.altrenatesLookup.substitutions
+ foreach { k v } [pairs-of st] : foreach idx [range 0 v.length] : if [not v.(idx)]
+ set v.(idx) k
cv.linkDeps
for [local i 1] (i < sortedCvs.length) [inc i]
diff --git a/packages/font-otl/src/gsub-locl.ptl b/packages/font-otl/src/gsub-locl.ptl
index 5a44243c83..88210dec52 100644
--- a/packages/font-otl/src/gsub-locl.ptl
+++ b/packages/font-otl/src/gsub-locl.ptl
@@ -12,6 +12,7 @@ export : define [buildLOCL gsub para glyphStore] : begin
define cyrlSRB : gsub.copyLanguage 'cyrl_SRB ' 'cyrl_DFLT'
define cyrlMKD : gsub.copyLanguage 'cyrl_MKD ' 'cyrl_DFLT'
+ define cyrlBOS : gsub.copyLanguage 'cyrl_BOS ' 'cyrl_DFLT'
define cyrlBGR : gsub.copyLanguage 'cyrl_BGR ' 'cyrl_DFLT'
define latnVIT : gsub.copyLanguage 'latn_VIT ' 'latn_DFLT'
define grekIPPH : gsub.copyLanguage 'grek_IPPH ' 'grek_DFLT'
@@ -21,6 +22,7 @@ export : define [buildLOCL gsub para glyphStore] : begin
define loclSRB : gsub.createFeature 'locl'
cyrlSRB.addFeature loclSRB
cyrlMKD.addFeature loclSRB
+ cyrlBOS.addFeature loclSRB
loclSRB.addLookup : createGsubLookupFromGr gsub glyphStore
if [not para.isItalic] LocalizedForm.SRB.Upright LocalizedForm.SRB.Italic
diff --git a/packages/font-otl/src/gsub-thousands.ptl b/packages/font-otl/src/gsub-thousands.ptl
index 9e327f0c38..2f3a49467b 100644
--- a/packages/font-otl/src/gsub-thousands.ptl
+++ b/packages/font-otl/src/gsub-thousands.ptl
@@ -1,7 +1,5 @@
$$include './meta/macros.ptl'
-import [QueryRelatedGlyphs] from "./table-util.mjs"
-
export : define [buildGsubThousands gsub para] : begin
local rec : gsub.beginBlock
diff --git a/packages/font-otl/src/index.ptl b/packages/font-otl/src/index.ptl
index c0345367e0..1304406691 100644
--- a/packages/font-otl/src/index.ptl
+++ b/packages/font-otl/src/index.ptl
@@ -32,12 +32,11 @@ define [buildGSUB para glyphStore markGlyphs] : begin
buildGrFeature gsub glyphStore Gr.Lnum
buildGrFeature gsub glyphStore Gr.Onum
- # zero
- buildGrFeature gsub glyphStore Gr.Zero
+ # zero is handled inside the CV/SS feature builder
+ # As it is a cv/ss "cherry picking".
# APLF
- if para.enableCvSs : begin
- buildGrFeature gsub glyphStore Gr.AplForm
+ buildGrFeature gsub glyphStore Gr.AplForm
# numr / dnom
buildGrFeature gsub glyphStore Gr.NumeratorForm
@@ -61,8 +60,7 @@ define [buildGSUB para glyphStore markGlyphs] : begin
# cv##, ss##
local cvs nothing
- if para.enableCvSs : begin
- set cvs : buildCVSS gsub para glyphStore
+ set cvs : buildCVSS gsub para glyphStore
# ccmp post cv/ss (for Ogonek shape transform)
buildCCMPPostCvSs gsub ccmp glyphStore markGlyphs
diff --git a/packages/font-otl/src/table-util.ptl b/packages/font-otl/src/table-util.ptl
index 9974baf814..7a9a2c2d99 100644
--- a/packages/font-otl/src/table-util.ptl
+++ b/packages/font-otl/src/table-util.ptl
@@ -1,5 +1,4 @@
import toposort from 'toposort'
-import [AnyCv] from "@iosevka/glyph/relation"
extern Map
extern Set
@@ -209,14 +208,6 @@ class LayoutLanguage
define UtilityLookupPrefix '.utility-single/'
define [IsUtilityLookupId name] : [name.slice 0 UtilityLookupPrefix.length] === UtilityLookupPrefix
-export : define [QueryRelatedGlyphs glyphs para entries] : begin
- define sink {}
- foreach [gid : items-of entries] : if glyphs.(gid) : begin
- sink.push gid
- if para.enableCvSs : foreach [gr : items-of : AnyCv.query glyphs.(gid)] : begin
- sink.push : gr.get glyphs.(gid)
- return sink
-
export : define [FinalizeTable table] : begin
set table.lookupOrder : toposort table.lookupDep
foreach [{key lang} : pairs-of table.languages] : begin
diff --git a/packages/font/package.json b/packages/font/package.json
index b0e1484f29..cf0b46f620 100644
--- a/packages/font/package.json
+++ b/packages/font/package.json
@@ -1,6 +1,6 @@
{
"name": "@iosevka/font",
- "version": "28.0.7",
+ "version": "28.1.0",
"private": true,
"exports": {
".": "./src/index.mjs",
@@ -10,13 +10,13 @@
},
"dependencies": {
"@iarna/toml": "^2.2.5",
- "@iosevka/font-glyphs": "28.0.7",
- "@iosevka/font-otl": "28.0.7",
- "@iosevka/geometry": "28.0.7",
- "@iosevka/geometry-cache": "28.0.7",
- "@iosevka/glyph": "28.0.7",
- "@iosevka/param": "28.0.7",
- "@iosevka/util": "28.0.7",
+ "@iosevka/font-glyphs": "28.1.0",
+ "@iosevka/font-otl": "28.1.0",
+ "@iosevka/geometry": "28.1.0",
+ "@iosevka/geometry-cache": "28.1.0",
+ "@iosevka/glyph": "28.1.0",
+ "@iosevka/param": "28.1.0",
+ "@iosevka/util": "28.1.0",
"harfbuzzjs": "^0.3.4",
"ot-builder": "^1.7.3",
"semver": "^7.5.4"
diff --git a/packages/font/src/ttfa-controls/index.mjs b/packages/font/src/ttfa-controls/index.mjs
index 7840fd7591..0e1255baaf 100644
--- a/packages/font/src/ttfa-controls/index.mjs
+++ b/packages/font/src/ttfa-controls/index.mjs
@@ -62,7 +62,7 @@ class Alignment {
for (const [go, gd] of this.allGlyphs) {
const cvs = [
- ...Gr.AnyCv.query(go),
+ ...Gr.AnyCvOrCherryPicking.query(go),
Gr.Texture.ExtL,
Gr.Texture.ExtR,
Gr.Texture.ExtLR,
diff --git a/packages/geometry-cache/package.json b/packages/geometry-cache/package.json
index ca69a7c2ff..96a4df326b 100644
--- a/packages/geometry-cache/package.json
+++ b/packages/geometry-cache/package.json
@@ -1,12 +1,12 @@
{
"name": "@iosevka/geometry-cache",
- "version": "28.0.7",
+ "version": "28.1.0",
"private": true,
"exports": {
".": "./src/index.mjs"
},
"dependencies": {
- "@iosevka/geometry": "28.0.7",
+ "@iosevka/geometry": "28.1.0",
"@msgpack/msgpack": "^2.8.0"
}
}
diff --git a/packages/geometry-cache/src/index.mjs b/packages/geometry-cache/src/index.mjs
index 5df043f254..b0885a0d44 100644
--- a/packages/geometry-cache/src/index.mjs
+++ b/packages/geometry-cache/src/index.mjs
@@ -4,7 +4,7 @@ import zlib from "zlib";
import * as CurveUtil from "@iosevka/geometry/curve-util";
import { encode, decode } from "@msgpack/msgpack";
-const Edition = 32;
+const Edition = 33;
const MAX_AGE = 16;
class GfEntry {
constructor(age, value) {
diff --git a/packages/geometry/package.json b/packages/geometry/package.json
index 9ffddbf2ee..acae86ac59 100644
--- a/packages/geometry/package.json
+++ b/packages/geometry/package.json
@@ -1,6 +1,6 @@
{
"name": "@iosevka/geometry",
- "version": "28.0.7",
+ "version": "28.1.0",
"private": true,
"exports": {
".": "./src/index.mjs",
@@ -13,8 +13,8 @@
"./spiro-control": "./src/spiro-control.mjs"
},
"dependencies": {
- "@iosevka/util": "28.0.7",
+ "@iosevka/util": "28.1.0",
"spiro": "^3.0.0",
- "typo-geom": "^0.13.2"
+ "typo-geom": "^0.14.0"
}
}
diff --git a/packages/geometry/src/curve-util.mjs b/packages/geometry/src/curve-util.mjs
index 8035d1cd28..d2d77f8e2f 100644
--- a/packages/geometry/src/curve-util.mjs
+++ b/packages/geometry/src/curve-util.mjs
@@ -1,7 +1,8 @@
import * as TypoGeom from "typo-geom";
-import { Point } from "./point.mjs";
+import { Point, Vec2 } from "./point.mjs";
import { Transform } from "./transform.mjs";
+import { mix } from "@iosevka/util";
function contourToRep(contour) {
let c = [];
@@ -71,6 +72,26 @@ export const OCCURRENT_PRECISION = 1 / 16;
export const GEOMETRY_PRECISION = 1 / 4;
export const BOOLE_RESOLUTION = 0x4000;
+export function derivativeFromFiniteDifference(c, t) {
+ const DELTA = 1 / 0x10000;
+ const forward2 = c.eval(t + 2 * DELTA);
+ const forward1 = c.eval(t + DELTA);
+ const backward1 = c.eval(t - DELTA);
+ const backward2 = c.eval(t - 2 * DELTA);
+ return new Vec2(
+ ((1 / 12) * backward2.x -
+ (2 / 3) * backward1.x +
+ (2 / 3) * forward1.x -
+ (1 / 12) * forward2.x) /
+ DELTA,
+ ((1 / 12) * backward2.y -
+ (2 / 3) * backward1.y +
+ (2 / 3) * forward1.y -
+ (1 / 12) * forward2.y) /
+ DELTA
+ );
+}
+
export class OffsetCurve {
constructor(bone, offset, contrast) {
this.bone = bone;
@@ -87,25 +108,7 @@ export class OffsetCurve {
};
}
derivative(t) {
- const DELTA = 1 / 0x10000;
- const forward = this.eval(t + DELTA);
- const backward = this.eval(t - DELTA);
- return {
- x: (forward.x - backward.x) / (2 * DELTA),
- y: (forward.y - backward.y) / (2 * DELTA)
- };
- }
-}
-
-export class ReverseCurve {
- constructor(original) {
- this.m_original = original;
- }
- eval(t) {
- return this.m_original.eval(1 - t);
- }
- derivative(t) {
- return -this.m_original.derivative(1 - t);
+ return derivativeFromFiniteDifference(this, t);
}
}
@@ -149,3 +152,49 @@ export class BezToContoursSink {
this.lastContour.push(Point.transformedXY(this.gizmo, Point.Type.Corner, x, y));
}
}
+
+export function Bez3FromHermite(zStart, dStart, zEnd, dEnd) {
+ const a = zStart,
+ d = zEnd;
+ const b = new Vec2(a.x + dStart.x / 3, a.y + dStart.y / 3);
+ const c = new Vec2(d.x - dEnd.x / 3, d.y - dEnd.y / 3);
+ return new TypoGeom.Arcs.Bez3(a, b, c, d);
+}
+
+export class RoundCapCurve {
+ constructor(side, contrast, center0, point0, center1, point1) {
+ this.contrast = contrast;
+ this.center0 = center0;
+ this.center1 = center1;
+
+ const theta0 = Math.atan2(point0.y - center0.y, (point0.x - center0.x) / contrast);
+ let theta1 = Math.atan2(point1.y - center1.y, (point1.x - center1.x) / contrast);
+ if (side) {
+ while (theta1 < theta0) theta1 += 2 * Math.PI;
+ } else {
+ while (theta1 > theta0) theta1 -= 2 * Math.PI;
+ }
+ this.theta0 = theta0;
+ this.theta1 = theta1;
+
+ this.r0 = Math.hypot(center0.y - point0.y, (center0.x - point0.x) / contrast);
+ this.r1 = Math.hypot(center1.y - point1.y, (center1.x - point1.x) / contrast);
+ }
+
+ eval(t) {
+ const centerX = mix(this.center0.x, this.center1.x, t);
+ const centerY = mix(this.center0.y, this.center1.y, t);
+ const r = mix(this.r0, this.r1, t);
+ const theta = mix(this.theta0, this.theta1, t);
+
+ return {
+ x: centerX + r * Math.cos(theta) * this.contrast,
+ y: centerY + r * Math.sin(theta)
+ };
+ }
+
+ derivative(t) {
+ // TODO: calculate an exact form instead of using finite difference
+ return derivativeFromFiniteDifference(this, t);
+ }
+}
diff --git a/packages/geometry/src/index.mjs b/packages/geometry/src/index.mjs
index 13d11a56a2..405da88504 100644
--- a/packages/geometry/src/index.mjs
+++ b/packages/geometry/src/index.mjs
@@ -9,6 +9,7 @@ import { Point } from "./point.mjs";
import { QuadifySink } from "./quadify.mjs";
import { SpiroExpander } from "./spiro-expand.mjs";
import { Transform } from "./transform.mjs";
+import { strokeArcs } from "./stroke.mjs";
export const CPLX_NON_EMPTY = 0x01; // A geometry tree that is not empty
export const CPLX_NON_SIMPLE = 0x02; // A geometry tree that contains non-simple contours
@@ -533,6 +534,83 @@ export class BooleanGeometry extends GeometryBase {
}
}
+export class StrokeGeometry extends GeometryBase {
+ constructor(geom, gizmo, radius, contrast, fInside) {
+ super();
+ this.m_geom = geom;
+ this.m_gizmo = gizmo;
+ this.m_radius = radius;
+ this.m_contrast = contrast;
+ this.m_fInside = fInside;
+ }
+
+ asContours() {
+ // Produce simplified arcs
+ const nonTransformedGeometry = new TransformedGeometry(this.m_geom, this.m_gizmo.inverse());
+ let arcs = TypoGeom.Boolean.removeOverlap(
+ CurveUtil.convertShapeToArcs(nonTransformedGeometry.asContours()),
+ TypoGeom.Boolean.PolyFillType.pftNonZero,
+ CurveUtil.BOOLE_RESOLUTION
+ );
+
+ // Fairize to get get some arcs that are simple enough
+ const fairizedArcs = TypoGeom.Fairize.fairizeBezierShape(arcs);
+
+ // Stroke the arcs
+ const strokedArcs = strokeArcs(
+ fairizedArcs,
+ this.m_radius,
+ this.m_contrast,
+ this.m_fInside
+ );
+
+ // Convert to Iosevka format
+ let sink = new CurveUtil.BezToContoursSink(this.m_gizmo);
+ TypoGeom.ShapeConv.transferBezArcShape(strokedArcs, sink, CurveUtil.GEOMETRY_PRECISION);
+
+ return sink.contours;
+ }
+ asReferences() {
+ return null;
+ }
+ getDependencies() {
+ return this.m_geom.getDependencies();
+ }
+ unlinkReferences() {
+ return new StrokeGeometry(
+ this.m_geom.unlinkReferences(),
+ this.m_gizmo,
+ this.m_radius,
+ this.m_contrast,
+ this.m_fInside
+ );
+ }
+ filterTag(fn) {
+ return new StrokeGeometry(
+ this.m_geom.filterTag(fn),
+ this.m_gizmo,
+ this.m_radius,
+ this.m_contrast,
+ this.m_fInside
+ );
+ }
+ measureComplexity() {
+ return this.m_geom.measureComplexity() | CPLX_NON_SIMPLE;
+ }
+ toShapeStringOrNull() {
+ const sTarget = this.m_geom.unlinkReferences().toShapeStringOrNull();
+ if (!sTarget) return null;
+ return Format.struct(
+ `StrokeGeometry`,
+ sTarget,
+ Format.gizmo(this.m_gizmo),
+ Format.n(this.m_radius),
+ Format.n(this.m_contrast),
+ this.m_fInside
+ );
+ }
+}
+
// This special geometry type is used in the finalization phase to create TTF contours.
export class SimplifyGeometry extends GeometryBase {
constructor(g) {
diff --git a/packages/geometry/src/stroke.mjs b/packages/geometry/src/stroke.mjs
new file mode 100644
index 0000000000..ced2de37a3
--- /dev/null
+++ b/packages/geometry/src/stroke.mjs
@@ -0,0 +1,114 @@
+import * as TypoGeom from "typo-geom";
+import {
+ BOOLE_RESOLUTION,
+ Bez3FromHermite,
+ GEOMETRY_PRECISION,
+ OCCURRENT_PRECISION,
+ OffsetCurve,
+ RoundCapCurve
+} from "./curve-util.mjs";
+
+export function strokeArcs(arcs, radius, contrast, fInside) {
+ let currentArcs = null;
+ for (const contour of arcs) {
+ let leftSide = offsetContour(contour, -radius, contrast);
+ let rightSide = offsetContour(contour, radius, contrast);
+ let bezs = TypoGeom.ShapeConv.convertShapeToBez3([leftSide, rightSide], GEOMETRY_PRECISION);
+
+ if (!currentArcs) {
+ currentArcs = bezs;
+ } else {
+ currentArcs = TypoGeom.Boolean.combine(
+ TypoGeom.Boolean.ClipType.ctUnion,
+ currentArcs,
+ bezs,
+ TypoGeom.Boolean.PolyFillType.pftNonZero,
+ TypoGeom.Boolean.PolyFillType.pftNonZero,
+ BOOLE_RESOLUTION
+ );
+ }
+ }
+
+ if (currentArcs) {
+ if (fInside) {
+ return TypoGeom.Boolean.combine(
+ TypoGeom.Boolean.ClipType.ctIntersection,
+ TypoGeom.ShapeConv.convertShapeToBez3(arcs, GEOMETRY_PRECISION),
+ currentArcs,
+ TypoGeom.Boolean.PolyFillType.pftNonZero,
+ TypoGeom.Boolean.PolyFillType.pftNonZero,
+ BOOLE_RESOLUTION
+ );
+ } else {
+ return currentArcs;
+ }
+ } else {
+ return [];
+ }
+}
+
+function offsetContour(arcs, distance, contrast) {
+ // The arcs here are guaranteed to be simple, i.e. no self-intersections.
+ const fReverse = distance < 0;
+ let offsetArcs = [];
+ let prevOffsetedArc = new OffsetCurve(arcs[arcs.length - 1], distance, contrast);
+ for (let i = 0; i < arcs.length; i++) {
+ const current = arcs[i];
+ const currentOffsetedArc = new OffsetCurve(current, distance, contrast);
+
+ // Evaluate the previous' end and the current's start, determine whether they are close enough
+ const prevEnd = prevOffsetedArc.eval(1);
+ const currentStart = currentOffsetedArc.eval(0);
+ if (
+ Math.abs(prevEnd.x - currentStart.x) > OCCURRENT_PRECISION ||
+ Math.abs(prevEnd.y - currentStart.y) > OCCURRENT_PRECISION
+ ) {
+ offsetArcs.push(
+ createCap(
+ distance < 0,
+ contrast,
+ prevOffsetedArc.bone.eval(1),
+ prevEnd,
+ prevOffsetedArc.derivative(1),
+ currentOffsetedArc.bone.eval(0),
+ currentStart,
+ currentOffsetedArc.derivative(0)
+ )
+ );
+ // offsetArcs.push(Bez3FromHermite(prevEnd, dPrevEnd, currentStart, dCurrentStart));
+ }
+
+ // Push the current arc
+ offsetArcs.push(currentOffsetedArc);
+
+ prevOffsetedArc = currentOffsetedArc;
+ }
+
+ if (fReverse) {
+ offsetArcs.reverse();
+ for (let i = 0; i < offsetArcs.length; i++) {
+ offsetArcs[i] = new TypoGeom.Arcs.Reverted(offsetArcs[i]);
+ }
+ }
+ return offsetArcs;
+}
+
+function createCap(
+ side,
+ contrast,
+ prevEndNoOffset, // Previous non-offseted curve's end point
+ prevEnd, // Previous offseted curve's end point
+ dPrevEnd, // Previous offseted curve's end point's derivative
+ currentStartNoOffset, // Current non-offseted curve's start point
+ currentStart, // Current offseted curve's start point
+ dCurrentStart // Current offseted curve's start point's derivative
+) {
+ return new RoundCapCurve(
+ side,
+ contrast,
+ prevEndNoOffset,
+ prevEnd,
+ currentStartNoOffset,
+ currentStart
+ );
+}
diff --git a/packages/glyph/package.json b/packages/glyph/package.json
index 90b33932ca..2303cfa787 100644
--- a/packages/glyph/package.json
+++ b/packages/glyph/package.json
@@ -1,6 +1,6 @@
{
"name": "@iosevka/glyph",
- "version": "28.0.7",
+ "version": "28.1.0",
"private": true,
"exports": {
".": "./src/glyph.mjs",
@@ -9,6 +9,6 @@
"./relation": "./src/relation.mjs"
},
"dependencies": {
- "@iosevka/geometry": "28.0.7"
+ "@iosevka/geometry": "28.1.0"
}
}
diff --git a/packages/glyph/src/block.mjs b/packages/glyph/src/block.mjs
index 1ca0f92176..53212c6c44 100644
--- a/packages/glyph/src/block.mjs
+++ b/packages/glyph/src/block.mjs
@@ -61,6 +61,26 @@ export class DependencyManager {
}
s.add(dependency);
}
+ hasGlyphToGlyphDependency(dependent, dependency) {
+ return this.hasGlyphToGlyphDependencyImpl(new Set(), dependent, dependency);
+ }
+
+ hasGlyphToGlyphDependencyImpl(alreadyScanned, dependent, dependency) {
+ // Prevent infinite recursion
+ if (alreadyScanned.has(dependent)) return true;
+ alreadyScanned.add(dependent);
+
+ // Check for direct dependency
+ if (!this.glyphToGlyph.has(dependent)) return false;
+ const ds = this.glyphToGlyph.get(dependent);
+ if (ds.has(dependency)) return true;
+
+ // Check for indirect dependency
+ for (const d of ds) {
+ if (this.hasGlyphToGlyphDependencyImpl(alreadyScanned, d, dependency)) return true;
+ }
+ return false;
+ }
traverseGlyphDependenciesImpl(glyphs, fBlockwiseExpand) {
let state = new Map();
diff --git a/packages/glyph/src/glyph.mjs b/packages/glyph/src/glyph.mjs
index 72e4728551..c2d2b6e842 100644
--- a/packages/glyph/src/glyph.mjs
+++ b/packages/glyph/src/glyph.mjs
@@ -2,7 +2,7 @@ import * as util from "util";
import * as Geom from "@iosevka/geometry";
import { Anchor } from "@iosevka/geometry/anchor";
-import { Point, Vec2 } from "@iosevka/geometry/point";
+import { Vec2 } from "@iosevka/geometry/point";
import { Transform } from "@iosevka/geometry/transform";
export class Glyph {
@@ -66,6 +66,10 @@ export class Glyph {
if (!this._m_dependencyManager) return;
this._m_dependencyManager.addDependency(this, glyph);
}
+ hasDependency(other) {
+ if (!this._m_dependencyManager) return false;
+ return this._m_dependencyManager.hasGlyphToGlyphDependency(this, other);
+ }
// Copying
cloneFromGlyph(g) {
@@ -138,6 +142,7 @@ export class Glyph {
}
tryBecomeMirrorOf(dst, rankSet) {
if (rankSet.has(this) || rankSet.has(dst)) return;
+ if (dst.hasDependency(this)) return;
const csThis = this.geometry.unlinkReferences().toShapeStringOrNull();
const csDst = dst.geometry.unlinkReferences().toShapeStringOrNull();
if (csThis && csDst && csThis === csDst) {
diff --git a/packages/glyph/src/relation.mjs b/packages/glyph/src/relation.mjs
index d3257b18f0..64070ebee1 100644
--- a/packages/glyph/src/relation.mjs
+++ b/packages/glyph/src/relation.mjs
@@ -71,7 +71,7 @@ export const AplForm = OtlTaggedProp("AplForm", "APLF", "APL form");
export const NumeratorForm = OtlTaggedProp("Numerator", "numr");
export const DenominatorForm = OtlTaggedProp("Denominator", "dnom");
function OtlTaggedProp(key, otlTag, description) {
- return { ...LinkedGlyphProp(key), otlTag, description };
+ return { ...LinkedGlyphProp(key), tag: otlTag, otlTag, description };
}
export const CvDecompose = DecompositionProp("CvDecompose");
@@ -225,6 +225,14 @@ export const AnyDerivingCv = {
}
};
+export const AnyCvOrCherryPicking = {
+ query(glyph) {
+ let ret = AnyCv.query(glyph);
+ if (Zero.get(glyph)) ret.push(Zero);
+ return ret;
+ }
+};
+
///////////////////////////////////////////////////////////////////////////////////////////////////
export function getGrTree(gid, grSetList, fnGidToGlyph) {
@@ -311,15 +319,18 @@ function collectGidLists(gidListOrig, gidList, grl, excluded, fnGidToGlyph, sink
///////////////////////////////////////////////////////////////////////////////////////////////////
-export function createGrDisplaySheet(glyphStore, gid) {
- const glyph = glyphStore.queryByName(gid);
+export function createGrDisplaySheet(glyphStore, gn) {
+ const glyph = glyphStore.queryByName(gn);
if (!glyph) return [];
+ const glyphIsHidden = /^\./.test(gn);
+ if (glyphIsHidden) return [];
+
// Query selected typographic features -- mostly NWID and WWID
let typographicFeatures = [];
- displayQueryPairFeatures(glyphStore, gid, "Width", Nwid, Wwid, typographicFeatures);
- displayQueryPairFeatures(glyphStore, gid, "Number Form", Lnum, Onum, typographicFeatures);
- displayQuerySingleFeature(glyphStore, gid, "APL Form", AplForm, typographicFeatures);
- displayQuerySingleFeature(glyphStore, gid, "Slashed Zero", Zero, typographicFeatures);
+ displayQueryPairFeatures(glyph, "Width", Nwid, Wwid, typographicFeatures);
+ displayQueryPairFeatures(glyph, "Number Form", Lnum, Onum, typographicFeatures);
+ displayQuerySingleFeature(glyph, AplForm, typographicFeatures);
+ for (const gr of CvCherryPickingGrs) displayQuerySingleFeature(glyph, gr, typographicFeatures);
// Query selected character variants
let charVariantFeatures = [];
@@ -329,10 +340,13 @@ export function createGrDisplaySheet(glyphStore, gid) {
for (const componentGn of decomposition) {
const component = glyphStore.queryByName(componentGn);
if (!component) continue;
+
+ for (const gr of CvCherryPickingGrs)
+ displayQuerySingleFeature(component, gr, typographicFeatures);
queryCvFeatureTagsOf(charVariantFeatures, componentGn, component, tagSet);
}
} else {
- queryCvFeatureTagsOf(charVariantFeatures, gid, glyph, null);
+ queryCvFeatureTagsOf(charVariantFeatures, gn, glyph, null);
}
sortFeatureDisplaySheet(typographicFeatures);
@@ -348,11 +362,7 @@ function FeatureSeries(name, groups) {
return { name, groups };
}
-function displayQueryPairFeatures(gs, gid, name, grCis, grTrans, sink) {
- const g = gs.queryByName(gid);
- if (!g) return;
- const glyphIsHidden = /^\./.test(gid);
- if (glyphIsHidden) return;
+function displayQueryPairFeatures(g, name, grCis, grTrans, sink) {
if (grCis.get(g) || grTrans.get(g)) {
sink.push(
FeatureSeries(name, [
@@ -364,14 +374,10 @@ function displayQueryPairFeatures(gs, gid, name, grCis, grTrans, sink) {
);
}
}
-function displayQuerySingleFeature(gs, gid, name, grCis, sink) {
- const g = gs.queryByName(gid);
- if (!g) return;
- const glyphIsHidden = /^\./.test(gid);
- if (glyphIsHidden) return;
+function displayQuerySingleFeature(g, grCis, sink) {
if (grCis.get(g)) {
sink.push(
- FeatureSeries(name, [
+ FeatureSeries(grCis.description, [
[
{ css: `'${grCis.otlTag}' 0`, description: grCis.description + " disabled" },
{ css: `'${grCis.otlTag}' 1`, description: grCis.description + " enabled" }
@@ -460,3 +466,5 @@ export const SvInheritableRelations = [
OgonekTrY,
ScheduleLeaningMark
];
+
+export const CvCherryPickingGrs = [Zero];
diff --git a/packages/param/package.json b/packages/param/package.json
index 5d2a032824..39d1f1896a 100644
--- a/packages/param/package.json
+++ b/packages/param/package.json
@@ -1,6 +1,6 @@
{
"name": "@iosevka/param",
- "version": "28.0.7",
+ "version": "28.1.0",
"private": true,
"exports": {
".": "./src/index.mjs",
@@ -9,6 +9,6 @@
"./metric-override": "./src/metric-override.mjs"
},
"dependencies": {
- "@iosevka/util": "28.0.7"
+ "@iosevka/util": "28.1.0"
}
}
diff --git a/packages/param/src/variant.mjs b/packages/param/src/variant.mjs
index c2be464b39..edd94af421 100644
--- a/packages/param/src/variant.mjs
+++ b/packages/param/src/variant.mjs
@@ -134,6 +134,8 @@ class Prime {
this.slopeDependent = !!cfg.slopeDependent;
this.hotChars = cfg.hotChars ? [...cfg.hotChars] : this.descSampleText;
+ this.cherryPicking = cfg.cherryPicking;
+
this.variants = new Map();
let variantConfig = cfg.variants;
diff --git a/packages/util/package.json b/packages/util/package.json
index 69a7ffef99..92c2dbac62 100644
--- a/packages/util/package.json
+++ b/packages/util/package.json
@@ -1,6 +1,6 @@
{
"name": "@iosevka/util",
- "version": "28.0.7",
+ "version": "28.1.0",
"private": true,
"exports": {
".": "./src/index.mjs",
diff --git a/params/variants.toml b/params/variants.toml
index 4383e3ba21..f1ccf42a19 100644
--- a/params/variants.toml
+++ b/params/variants.toml
@@ -2875,6 +2875,7 @@ selectorAffix.m = ""
selectorAffix."m/descBase" = ""
selectorAffix."m/sansSerif" = ""
selectorAffix."cyrl/te.italic" = ""
+selectorAffix."cyrl/este.italic/right" = ""
selectorAffix."cyrl/tjeKomi.italic" = ""
selectorAffix.meng = ""
@@ -2886,6 +2887,7 @@ selectorAffix.m = "earlessCornerDoubleArch"
selectorAffix."m/descBase" = "earlessCornerDoubleArch"
selectorAffix."m/sansSerif" = "earlessCornerDoubleArch"
selectorAffix."cyrl/te.italic" = ""
+selectorAffix."cyrl/este.italic/right" = ""
selectorAffix."cyrl/tjeKomi.italic" = ""
selectorAffix.meng = "earlessCornerDoubleArch"
@@ -2897,6 +2899,7 @@ selectorAffix.m = "earlessRoundedDoubleArch"
selectorAffix."m/descBase" = "earlessRoundedDoubleArch"
selectorAffix."m/sansSerif" = "earlessRoundedDoubleArch"
selectorAffix."cyrl/te.italic" = ""
+selectorAffix."cyrl/este.italic/right" = ""
selectorAffix."cyrl/tjeKomi.italic" = ""
selectorAffix.meng = "earlessRoundedDoubleArch"
@@ -2908,6 +2911,7 @@ selectorAffix.m = "earlessSingleArch"
selectorAffix."m/descBase" = "earlessSingleArch"
selectorAffix."m/sansSerif" = "earlessSingleArch"
selectorAffix."cyrl/te.italic" = ""
+selectorAffix."cyrl/este.italic/right" = ""
selectorAffix."cyrl/tjeKomi.italic" = ""
selectorAffix.meng = "earlessSingleArch"
@@ -2923,6 +2927,7 @@ selectorAffix.m = ""
selectorAffix."m/descBase" = ""
selectorAffix."m/sansSerif" = ""
selectorAffix."cyrl/te.italic" = ""
+selectorAffix."cyrl/este.italic/right" = ""
selectorAffix."cyrl/te.italic/descBase" = ""
selectorAffix."cyrl/tjeKomi.italic" = ""
selectorAffix.meng = ""
@@ -2935,6 +2940,7 @@ selectorAffix.m = "shortLeg"
selectorAffix."m/descBase" = "shortLeg"
selectorAffix."m/sansSerif" = "shortLeg"
selectorAffix."cyrl/te.italic" = ""
+selectorAffix."cyrl/este.italic/right" = ""
selectorAffix."cyrl/te.italic/descBase" = ""
selectorAffix."cyrl/tjeKomi.italic" = ""
selectorAffix.meng = "shortLeg"
@@ -2949,6 +2955,7 @@ selectorAffix.m = ""
selectorAffix."m/descBase" = ""
selectorAffix."m/sansSerif" = ""
selectorAffix."cyrl/te.italic" = ""
+selectorAffix."cyrl/este.italic/right" = ""
selectorAffix."cyrl/te.italic/descBase" = ""
selectorAffix."cyrl/tjeKomi.italic" = ""
selectorAffix.meng = ""
@@ -2960,6 +2967,7 @@ selectorAffix.m = "tailed"
selectorAffix."m/descBase" = ""
selectorAffix."m/sansSerif" = "tailed"
selectorAffix."cyrl/te.italic" = "tailed"
+selectorAffix."cyrl/este.italic/right" = "tailed"
selectorAffix."cyrl/te.italic/descBase" = ""
selectorAffix."cyrl/tjeKomi.italic" = ""
selectorAffix.meng = ""
@@ -2972,6 +2980,7 @@ selectorAffix.m = "serifless"
selectorAffix."m/descBase" = "serifless"
selectorAffix."m/sansSerif" = "serifless"
selectorAffix."cyrl/te.italic" = "serifless"
+selectorAffix."cyrl/este.italic/right" = "serifless"
selectorAffix."cyrl/te.italic/descBase" = "serifless"
selectorAffix."cyrl/tjeKomi.italic" = "serifless"
selectorAffix.meng = "serifless"
@@ -2984,6 +2993,7 @@ selectorAffix.m = "topLeftSerifed"
selectorAffix."m/descBase" = "topLeftSerifed"
selectorAffix."m/sansSerif" = "serifless"
selectorAffix."cyrl/te.italic" = "topLeftSerifed"
+selectorAffix."cyrl/este.italic/right" = "serifless"
selectorAffix."cyrl/te.italic/descBase" = "topLeftSerifed"
selectorAffix."cyrl/tjeKomi.italic" = "topLeftSerifed"
selectorAffix.meng = "topLeftSerifed"
@@ -2996,6 +3006,7 @@ selectorAffix.m = "topLeftAndBottomRightSerifed"
selectorAffix."m/descBase" = "topLeftSerifed"
selectorAffix."m/sansSerif" = "serifless"
selectorAffix."cyrl/te.italic" = "topLeftAndBottomRightSerifed"
+selectorAffix."cyrl/este.italic/right" = "bottomRightSerifed"
selectorAffix."cyrl/te.italic/descBase" = "topLeftSerifed"
selectorAffix."cyrl/tjeKomi.italic" = "topLeftSerifed"
selectorAffix.meng = "topLeftSerifed"
@@ -3008,6 +3019,7 @@ selectorAffix.m = "bottomRightSerifed"
selectorAffix."m/descBase" = "serifless"
selectorAffix."m/sansSerif" = "serifless"
selectorAffix."cyrl/te.italic" = "topLeftAndBottomRightSerifed"
+selectorAffix."cyrl/este.italic/right" = "bottomRightSerifed"
selectorAffix."cyrl/te.italic/descBase" = "topLeftSerifed"
selectorAffix."cyrl/tjeKomi.italic" = "topLeftSerifed"
selectorAffix.meng = "serifless"
@@ -3019,6 +3031,7 @@ selectorAffix.m = "serifed"
selectorAffix."m/descBase" = "serifed"
selectorAffix."m/sansSerif" = "serifless"
selectorAffix."cyrl/te.italic" = "serifed"
+selectorAffix."cyrl/este.italic/right" = "serifed"
selectorAffix."cyrl/te.italic/descBase" = "serifed"
selectorAffix."cyrl/tjeKomi.italic" = "serifed"
selectorAffix.meng = "serifed"
@@ -6227,6 +6240,9 @@ selectorAffix."cyrl/yae/left" = "bottomRightSerifed"
sampler = "0"
tagKind = "digit"
+[[prime.zero.cherryPicking]]
+tag = "zero"
+
[prime.zero.variants-buildup]
entry = "body"
descriptionLeader = "Zero (`0`)"
diff --git a/tools/amend-readme/package.json b/tools/amend-readme/package.json
index 92206e09c5..8f7528f0be 100644
--- a/tools/amend-readme/package.json
+++ b/tools/amend-readme/package.json
@@ -1,13 +1,13 @@
{
"name": "@iosevka/amend-readme",
- "version": "28.0.7",
+ "version": "28.1.0",
"private": true,
"exports": {
".": "./src/index.mjs"
},
"dependencies": {
"@iarna/toml": "^2.2.5",
- "@iosevka/param": "28.0.7",
- "@unicode/unicode-15.0.0": "^1.5.2"
+ "@iosevka/param": "28.1.0",
+ "@unicode/unicode-15.1.0": "^1.5.2"
}
}
diff --git a/tools/data-export/package.json b/tools/data-export/package.json
index 5895d57fbc..97d2366602 100644
--- a/tools/data-export/package.json
+++ b/tools/data-export/package.json
@@ -1,6 +1,6 @@
{
"name": "@iosevka/data-export",
- "version": "28.0.7",
+ "version": "28.1.0",
"private": true,
"exports": {
".": "./src/index.mjs",
@@ -10,8 +10,8 @@
},
"dependencies": {
"@iarna/toml": "^2.2.5",
- "@iosevka/param": "28.0.7",
- "@unicode/unicode-15.0.0": "^1.5.2",
+ "@iosevka/param": "28.1.0",
+ "@unicode/unicode-15.1.0": "^1.5.2",
"cldr": "^7.5.0"
}
}
diff --git a/tools/data-export/src/coverage-export/additional-char-data.txt b/tools/data-export/src/coverage-export/additional-char-data.txt
new file mode 100644
index 0000000000..c54035a5d6
--- /dev/null
+++ b/tools/data-export/src/coverage-export/additional-char-data.txt
@@ -0,0 +1,737 @@
+# Additional characters for legacy computing
+# Copied from https://www.unicode.org/L2/L2021/21235r-terminals-supplement.pdf
+# DELETE THIS DATA AFTER UNICODE 16 IS RELEASED
+! NameSuffix; (Purposed by L2/21-235R)
+2427;SYMBOL FOR DELETE SQUARE CHECKER BOARD FORM;So;0;ON;;;;;N;;;;;
+2428;SYMBOL FOR DELETE RECTANGULAR CHECKER BOARD FORM;So;0;ON;;;;;N;;;;;
+2429;SYMBOL FOR DELETE MEDIUM SHADE FORM;So;0;ON;;;;;N;;;;;
+1CC00;UP-POINTING GO-KART;So;0;ON;;;;;N;;;;;
+1CC01;RIGHT-POINTING GO-KART;So;0;ON;;;;;N;;;;;
+1CC02;LEFT-POINTING STICK FIGURE;So;0;ON;;;;;N;;;;;
+1CC03;RIGHT-POINTING STICK FIGURE;So;0;ON;;;;;N;;;;;
+1CC04;DOWN-POINTING STICK FIGURE;So;0;ON;;;;;N;;;;;
+1CC05;LOWER HORIZONTAL RULER SEGMENT;So;0;ON;;;;;N;;;;;
+1CC06;RIGHT VERTICAL RULER SEGMENT;So;0;ON;;;;;N;;;;;
+1CC07;LOWER RIGHT RULER SEGMENT;So;0;ON;;;;;N;;;;;
+1CC08;ANTENNA;So;0;ON;;;;;N;;;;;
+1CC09;HORIZONTAL RESISTOR SEGMENT;So;0;ON;;;;;N;;;;;
+1CC0A;VERTICAL RESISTOR SEGMENT;So;0;ON;;;;;N;;;;;
+1CC0B;LEFT THIRD INDUCTOR;So;0;ON;;;;;N;;;;;
+1CC0C;MIDDLE THIRD INDUCTOR;So;0;ON;;;;;N;;;;;
+1CC0D;RIGHT THIRD INDUCTOR;So;0;ON;;;;;N;;;;;
+1CC0E;LEFT-POINTING DIODE;So;0;ON;;;;;N;;;;;
+1CC0F;RIGHT-POINTING DIODE;So;0;ON;;;;;N;;;;;
+1CC10;NPN TRANSISTOR;So;0;ON;;;;;N;;;;;
+1CC11;PNP TRANSISTOR;So;0;ON;;;;;N;;;;;
+1CC12;RECEPTACLE;So;0;ON;;;;;N;;;;;
+1CC13;HORIZONTAL CAPACITOR;So;0;ON;;;;;N;;;;;
+1CC14;VERTICAL CAPACITOR;So;0;ON;;;;;N;;;;;
+1CC15;LOGIC GATE OR;So;0;ON;;;;;N;;;;;
+1CC16;LOGIC GATE AND;So;0;ON;;;;;N;;;;;
+1CC17;LOGIC GATE INVERTED INPUTS;So;0;ON;;;;;N;;;;;
+1CC18;LOGIC GATE INVERTED OUTPUT;So;0;ON;;;;;N;;;;;
+1CC19;LOGIC GATE BUFFER;So;0;ON;;;;;N;;;;;
+1CC1A;LOGIC GATE BUFFER WITH INVERTED INPUT;So;0;ON;;;;;N;;;;;
+1CC1B;BOX DRAWINGS LIGHT HORIZONTAL AND UPPER RIGHT;So;0;ON;;;;;N;;;;;
+1CC1C;BOX DRAWINGS LIGHT HORIZONTAL AND LOWER RIGHT;So;0;ON;;;;;N;;;;;
+1CC1D;BOX DRAWINGS LIGHT TOP AND UPPER LEFT;So;0;ON;;;;;N;;;;;
+1CC1E;BOX DRAWINGS LIGHT BOTTOM AND LOWER LEFT;So;0;ON;;;;;N;;;;;
+1CC1F;BOX DRAWINGS DOUBLE DIAGONAL UPPER RIGHT TO LOWER LEFT;So;0;ON;;;;;N;;;;;
+1CC20;BOX DRAWINGS DOUBLE DIAGONAL UPPER LEFT TO LOWER RIGHT;So;0;ON;;;;;N;;;;;
+1CC21;SEPARATED BLOCK QUADRANT-1;So;0;ON;;;;;N;;;;;
+1CC22;SEPARATED BLOCK QUADRANT-2;So;0;ON;;;;;N;;;;;
+1CC23;SEPARATED BLOCK QUADRANT-12;So;0;ON;;;;;N;;;;;
+1CC24;SEPARATED BLOCK QUADRANT-3;So;0;ON;;;;;N;;;;;
+1CC25;SEPARATED BLOCK QUADRANT-13;So;0;ON;;;;;N;;;;;
+1CC26;SEPARATED BLOCK QUADRANT-23;So;0;ON;;;;;N;;;;;
+1CC27;SEPARATED BLOCK QUADRANT-123;So;0;ON;;;;;N;;;;;
+1CC28;SEPARATED BLOCK QUADRANT-4;So;0;ON;;;;;N;;;;;
+1CC29;SEPARATED BLOCK QUADRANT-14;So;0;ON;;;;;N;;;;;
+1CC2A;SEPARATED BLOCK QUADRANT-24;So;0;ON;;;;;N;;;;;
+1CC2B;SEPARATED BLOCK QUADRANT-124;So;0;ON;;;;;N;;;;;
+1CC2C;SEPARATED BLOCK QUADRANT-34;So;0;ON;;;;;N;;;;;
+1CC2D;SEPARATED BLOCK QUADRANT-134;So;0;ON;;;;;N;;;;;
+1CC2E;SEPARATED BLOCK QUADRANT-234;So;0;ON;;;;;N;;;;;
+1CC2F;SEPARATED BLOCK QUADRANT-1234;So;0;ON;;;;;N;;;;;
+1CC30;UPPER LEFT TWELFTH CIRCLE;So;0;ON;;;;;N;;;;;
+1CC31;UPPER CENTRE LEFT TWELFTH CIRCLE;So;0;ON;;;;;N;;;;;
+1CC32;UPPER CENTRE RIGHT TWELFTH CIRCLE;So;0;ON;;;;;N;;;;;
+1CC33;UPPER RIGHT TWELFTH CIRCLE;So;0;ON;;;;;N;;;;;
+1CC34;UPPER MIDDLE LEFT TWELFTH CIRCLE;So;0;ON;;;;;N;;;;;
+1CC35;UPPER LEFT QUARTER CIRCLE;So;0;ON;;;;;N;;;;;
+1CC36;UPPER RIGHT QUARTER CIRCLE;So;0;ON;;;;;N;;;;;
+1CC37;UPPER MIDDLE RIGHT TWELFTH CIRCLE;So;0;ON;;;;;N;;;;;
+1CC38;LOWER MIDDLE LEFT TWELFTH CIRCLE;So;0;ON;;;;;N;;;;;
+1CC39;LOWER LEFT QUARTER CIRCLE;So;0;ON;;;;;N;;;;;
+1CC3A;LOWER RIGHT QUARTER CIRCLE;So;0;ON;;;;;N;;;;;
+1CC3B;LOWER MIDDLE RIGHT TWELFTH CIRCLE;So;0;ON;;;;;N;;;;;
+1CC3C;LOWER LEFT TWELFTH CIRCLE;So;0;ON;;;;;N;;;;;
+1CC3D;LOWER CENTRE LEFT TWELFTH CIRCLE;So;0;ON;;;;;N;;;;;
+1CC3E;LOWER CENTRE RIGHT TWELFTH CIRCLE;So;0;ON;;;;;N;;;;;
+1CC3F;LOWER RIGHT TWELFTH CIRCLE;So;0;ON;;;;;N;;;;;
+1CC40;SPARSE HORIZONTAL FILL;So;0;ON;;;;;N;;;;;
+1CC41;SPARSE VERTICAL FILL;So;0;ON;;;;;N;;;;;
+1CC42;ORTHOGONAL CROSSHATCH FILL;So;0;ON;;;;;N;;;;;
+1CC43;DIAGONAL CROSSHATCH FILL;So;0;ON;;;;;N;;;;;
+1CC44;DENSE VERTICAL FILL;So;0;ON;;;;;N;;;;;
+1CC45;DENSE HORIZONTAL FILL;So;0;ON;;;;;N;;;;;
+1CC46;SPECKLE FILL FRAME-1;So;0;ON;;;;;N;;;;;
+1CC47;SPECKLE FILL FRAME-2;So;0;ON;;;;;N;;;;;
+1CC48;LEFT-FACING BASSINET;So;0;ON;;;;;N;;;;;
+1CC49;RIGHT-FACING BASSINET;So;0;ON;;;;;N;;;;;
+1CC4A;FLYING SAUCER WITH BEAMS;So;0;ON;;;;;N;;;;;
+1CC4B;FLYING SAUCER WITHOUT BEAMS;So;0;ON;;;;;N;;;;;
+1CC4C;ALIEN MONSTER OPEN JAWS;So;0;ON;;;;;N;;;;;
+1CC4D;ALIEN MONSTER CLOSED JAWS;So;0;ON;;;;;N;;;;;
+1CC4E;ALIEN SQUID OPEN TENTACLES;So;0;ON;;;;;N;;;;;
+1CC4F;ALIEN SQUID CLOSED TENTACLES;So;0;ON;;;;;N;;;;;
+1CC50;ALIEN CRAB STEPPING RIGHT;So;0;ON;;;;;N;;;;;
+1CC51;ALIEN CRAB STEPPING LEFT;So;0;ON;;;;;N;;;;;
+1CC52;ALIEN SPIDER CROUCHING;So;0;ON;;;;;N;;;;;
+1CC53;ALIEN SPIDER SPREAD;So;0;ON;;;;;N;;;;;
+1CC54;ALIEN MONSTER STEP-1;So;0;ON;;;;;N;;;;;
+1CC55;ALIEN MONSTER STEP-2;So;0;ON;;;;;N;;;;;
+1CC56;LEFT-POINTING ROCKET SHIP;So;0;ON;;;;;N;;;;;
+1CC57;UP-POINTING ROCKET SHIP;So;0;ON;;;;;N;;;;;
+1CC58;RIGHT-POINTING ROCKET SHIP;So;0;ON;;;;;N;;;;;
+1CC59;DOWN-POINTING ROCKET SHIP;So;0;ON;;;;;N;;;;;
+1CC5A;TOP HALF LEFT-FACING ROBOT;So;0;ON;;;;;N;;;;;
+1CC5B;TOP HALF FORWARD-FACING ROBOT;So;0;ON;;;;;N;;;;;
+1CC5C;TOP HALF RIGHT-FACING ROBOT;So;0;ON;;;;;N;;;;;
+1CC5D;BOTTOM HALF LEFT-FACING ROBOT;So;0;ON;;;;;N;;;;;
+1CC5E;BOTTOM HALF FORWARD-FACING ROBOT;So;0;ON;;;;;N;;;;;
+1CC5F;BOTTOM HALF RIGHT-FACING ROBOT;So;0;ON;;;;;N;;;;;
+1CC60;LEFT-POINTING ATOMIC BOMB;So;0;ON;;;;;N;;;;;
+1CC61;UP-POINTING ATOMIC BOMB;So;0;ON;;;;;N;;;;;
+1CC62;RIGHT-POINTING ATOMIC BOMB;So;0;ON;;;;;N;;;;;
+1CC63;DOWN-POINTING ATOMIC BOMB;So;0;ON;;;;;N;;;;;
+1CC64;MUSHROOM CLOUD;So;0;ON;;;;;N;;;;;
+1CC65;LEFT-POINTING RIFLE;So;0;ON;;;;;N;;;;;
+1CC66;UP-POINTING RIFLE;So;0;ON;;;;;N;;;;;
+1CC67;RIGHT-POINTING RIFLE;So;0;ON;;;;;N;;;;;
+1CC68;DOWN-POINTING RIFLE;So;0;ON;;;;;N;;;;;
+1CC69;EIGHT RAYS INWARD;So;0;ON;;;;;N;;;;;
+1CC6A;EIGHT RAYS OUTWARD;So;0;ON;;;;;N;;;;;
+1CC6B;BLACK LARGE CIRCLE MINUS LEFT QUARTER SECTION;So;0;ON;;;;;N;;;;;
+1CC6C;BLACK LARGE CIRCLE MINUS UPPER QUARTER SECTION;So;0;ON;;;;;N;;;;;
+1CC6D;BLACK LARGE CIRCLE MINUS RIGHT QUARTER SECTION;So;0;ON;;;;;N;;;;;
+1CC6E;BLACK LARGE CIRCLE MINUS LOWER QUARTER SECTION;So;0;ON;;;;;N;;;;;
+1CC6F;BLACK NEUTRAL FACE;So;0;ON;;;;;N;;;;;
+1CC70;LEFT-FACING SNAKE HEAD WITH OPEN MOUTH;So;0;ON;;;;;N;;;;;
+1CC71;UP-FACING SNAKE HEAD WITH OPEN MOUTH;So;0;ON;;;;;N;;;;;
+1CC72;RIGHT-FACING SNAKE HEAD WITH OPEN MOUTH;So;0;ON;;;;;N;;;;;
+1CC73;DOWN-FACING SNAKE HEAD WITH OPEN MOUTH;So;0;ON;;;;;N;;;;;
+1CC74;LEFT-FACING SNAKE HEAD WITH CLOSED MOUTH;So;0;ON;;;;;N;;;;;
+1CC75;UP-FACING SNAKE HEAD WITH CLOSED MOUTH;So;0;ON;;;;;N;;;;;
+1CC76;RIGHT-FACING SNAKE HEAD WITH CLOSED MOUTH;So;0;ON;;;;;N;;;;;
+1CC77;DOWN-FACING SNAKE HEAD WITH CLOSED MOUTH;So;0;ON;;;;;N;;;;;
+1CC78;LEFT-POINTING ENERGY WAVE;So;0;ON;;;;;N;;;;;
+1CC79;UP-POINTING ENERGY WAVE;So;0;ON;;;;;N;;;;;
+1CC7A;RIGHT-POINTING ENERGY WAVE;So;0;ON;;;;;N;;;;;
+1CC7B;DOWN-POINTING ENERGY WAVE;So;0;ON;;;;;N;;;;;
+1CC7C;SQUARE SPIRAL FROM TOP LEFT;So;0;ON;;;;;N;;;;;
+1CC7D;SQUARE SPIRAL FROM TOP RIGHT;So;0;ON;;;;;N;;;;;
+1CC7E;SQUARE SPIRAL FROM BOTTOM RIGHT;So;0;ON;;;;;N;;;;;
+1CC7F;SQUARE SPIRAL FROM BOTTOM LEFT;So;0;ON;;;;;N;;;;;
+1CC80;STRIPED LEFT-POINTING TRIANGLE;So;0;ON;;;;;N;;;;;
+1CC81;STRIPED UP-POINTING TRIANGLE;So;0;ON;;;;;N;;;;;
+1CC82;STRIPED RIGHT-POINTING TRIANGLE;So;0;ON;;;;;N;;;;;
+1CC83;STRIPED DOWN-POINTING TRIANGLE;So;0;ON;;;;;N;;;;;
+1CC84;VERTICAL LADDER;So;0;ON;;;;;N;;;;;
+1CC85;HORIZONTAL LADDER;So;0;ON;;;;;N;;;;;
+1CC86;WHITE LOWER LEFT POINTER;So;0;ON;;;;;N;;;;;
+1CC87;WHITE LOWER RIGHT POINTER;So;0;ON;;;;;N;;;;;
+1CC88;TWO RINGS ALIGNED HORIZONTALLY;So;0;ON;;;;;N;;;;;
+1CC89;SQUARE FOUR CORNER SALTIRES;So;0;ON;;;;;N;;;;;
+1CC8A;SQUARE FOUR CORNER DIAGONALS;So;0;ON;;;;;N;;;;;
+1CC8B;SQUARE FOUR CORNER BLACK TRIANGLES;So;0;ON;;;;;N;;;;;
+1CC8C;SQUARE APERTURE;So;0;ON;;;;;N;;;;;
+1CC8D;INVERSE BLACK DIAMOND;So;0;ON;;;;;N;;;;;
+1CC8E;LEFT AND UPPER ONE EIGHTH BLOCK CONTAINING BLACK SMALL SQUARE;So;0;ON;;;;;N;;;;;
+1CC8F;INVERSE BLACK SMALL SQUARE;So;0;ON;;;;;N;;;;;
+1CC90;VERTICAL LINE WITH FOUR TICK MARKS;So;0;ON;;;;;N;;;;;
+1CC91;HORIZONTAL LINE WITH FOUR TICK MARKS;So;0;ON;;;;;N;;;;;
+1CC92;LEFT-FACING FISH;So;0;ON;;;;;N;;;;;
+1CC93;RIGHT-FACING FISH;So;0;ON;;;;;N;;;;;
+1CC94;LEFT-FACING FISH WITH OPEN MOUTH;So;0;ON;;;;;N;;;;;
+1CC95;RIGHT-FACING FISH WITH OPEN MOUTH;So;0;ON;;;;;N;;;;;
+1CC96;FLAPPING BIRD;So;0;ON;;;;;N;;;;;
+1CC97;LEFT-POINTING RACING CAR;So;0;ON;;;;;N;;;;;
+1CC98;UP-POINTING RACING CAR;So;0;ON;;;;;N;;;;;
+1CC99;RIGHT-POINTING RACING CAR;So;0;ON;;;;;N;;;;;
+1CC9A;DOWN-POINTING RACING CAR;So;0;ON;;;;;N;;;;;
+1CC9B;HORIZONTAL RACING CAR;So;0;ON;;;;;N;;;;;
+1CC9C;VERTICAL RACING CAR;So;0;ON;;;;;N;;;;;
+1CC9D;VERTICAL GO-KART;So;0;ON;;;;;N;;;;;
+1CC9E;LEFT-POINTING TANK;So;0;ON;;;;;N;;;;;
+1CC9F;RIGHT-POINTING TANK;So;0;ON;;;;;N;;;;;
+1CCA0;LEFT-POINTING ROCKET BOOSTER;So;0;ON;;;;;N;;;;;
+1CCA1;RIGHT-POINTING ROCKET BOOSTER;So;0;ON;;;;;N;;;;;
+1CCA2;LEFT-POINTING ROLLER COASTER CAR;So;0;ON;;;;;N;;;;;
+1CCA3;RIGHT-POINTING ROLLER COASTER CAR;So;0;ON;;;;;N;;;;;
+1CCA4;LEFT HALF FLYING SAUCER;So;0;ON;;;;;N;;;;;
+1CCA5;RIGHT HALF FLYING SAUCER;So;0;ON;;;;;N;;;;;
+1CCA6;UPPER LEFT QUADRANT FACE WITH OPEN EYES;So;0;ON;;;;;N;;;;;
+1CCA7;UPPER RIGHT QUADRANT FACE WITH OPEN EYES;So;0;ON;;;;;N;;;;;
+1CCA8;UPPER LEFT QUADRANT FACE WITH CLOSED EYES;So;0;ON;;;;;N;;;;;
+1CCA9;UPPER RIGHT QUADRANT FACE WITH CLOSED EYES;So;0;ON;;;;;N;;;;;
+1CCAA;LOWER LEFT QUADRANT SMILING FACE;So;0;ON;;;;;N;;;;;
+1CCAB;LOWER RIGHT QUADRANT SMILING FACE;So;0;ON;;;;;N;;;;;
+1CCAC;LOWER LEFT QUADRANT NEUTRAL FACE;So;0;ON;;;;;N;;;;;
+1CCAD;LOWER RIGHT QUADRANT NEUTRAL FACE;So;0;ON;;;;;N;;;;;
+1CCAE;LOWER LEFT QUADRANT FACE WITH OPEN MOUTH;So;0;ON;;;;;N;;;;;
+1CCAF;LOWER RIGHT QUADRANT FACE WITH OPEN MOUTH;So;0;ON;;;;;N;;;;;
+1CCB0;LOWER LEFT QUADRANT FROWNING FACE;So;0;ON;;;;;N;;;;;
+1CCB1;LOWER RIGHT QUADRANT FROWNING FACE;So;0;ON;;;;;N;;;;;
+1CCB2;UPPER LEFT QUADRANT TELEVISION;So;0;ON;;;;;N;;;;;
+1CCB3;UPPER RIGHT QUADRANT TELEVISION;So;0;ON;;;;;N;;;;;
+1CCB4;LOWER LEFT QUADRANT TELEVISION;So;0;ON;;;;;N;;;;;
+1CCB5;LOWER RIGHT QUADRANT TELEVISION;So;0;ON;;;;;N;;;;;
+1CCB6;UPPER LEFT QUADRANT MICROCOMPUTER;So;0;ON;;;;;N;;;;;
+1CCB7;UPPER RIGHT QUADRANT MICROCOMPUTER;So;0;ON;;;;;N;;;;;
+1CCB8;LOWER LEFT QUADRANT MICROCOMPUTER;So;0;ON;;;;;N;;;;;
+1CCB9;LOWER RIGHT QUADRANT MICROCOMPUTER;So;0;ON;;;;;N;;;;;
+1CCBA;UPPER LEFT QUADRANT CHESS KING;So;0;ON;;;;;N;;;;;
+1CCBB;UPPER RIGHT QUADRANT CHESS KING;So;0;ON;;;;;N;;;;;
+1CCBC;LOWER LEFT QUADRANT CHESS KING;So;0;ON;;;;;N;;;;;
+1CCBD;LOWER RIGHT QUADRANT CHESS KING;So;0;ON;;;;;N;;;;;
+1CCBE;UPPER LEFT QUADRANT CHESS QUEEN;So;0;ON;;;;;N;;;;;
+1CCBF;UPPER RIGHT QUADRANT CHESS QUEEN;So;0;ON;;;;;N;;;;;
+1CCC0;LOWER LEFT QUADRANT CHESS QUEEN;So;0;ON;;;;;N;;;;;
+1CCC1;LOWER RIGHT QUADRANT CHESS QUEEN;So;0;ON;;;;;N;;;;;
+1CCC2;UPPER LEFT QUADRANT CHESS ROOK;So;0;ON;;;;;N;;;;;
+1CCC3;UPPER RIGHT QUADRANT CHESS ROOK;So;0;ON;;;;;N;;;;;
+1CCC4;LOWER LEFT QUADRANT CHESS ROOK;So;0;ON;;;;;N;;;;;
+1CCC5;LOWER RIGHT QUADRANT CHESS ROOK;So;0;ON;;;;;N;;;;;
+1CCC6;UPPER LEFT QUADRANT CHESS BISHOP;So;0;ON;;;;;N;;;;;
+1CCC7;UPPER RIGHT QUADRANT CHESS BISHOP;So;0;ON;;;;;N;;;;;
+1CCC8;LOWER LEFT QUADRANT CHESS BISHOP;So;0;ON;;;;;N;;;;;
+1CCC9;LOWER RIGHT QUADRANT CHESS BISHOP;So;0;ON;;;;;N;;;;;
+1CCCA;UPPER LEFT QUADRANT CHESS KNIGHT;So;0;ON;;;;;N;;;;;
+1CCCB;UPPER RIGHT QUADRANT CHESS KNIGHT;So;0;ON;;;;;N;;;;;
+1CCCC;LOWER LEFT QUADRANT CHESS KNIGHT;So;0;ON;;;;;N;;;;;
+1CCCD;LOWER RIGHT QUADRANT CHESS KNIGHT;So;0;ON;;;;;N;;;;;
+1CCCE;UPPER LEFT QUADRANT CHESS PAWN;So;0;ON;;;;;N;;;;;
+1CCCF;UPPER RIGHT QUADRANT CHESS PAWN;So;0;ON;;;;;N;;;;;
+1CCD0;LOWER LEFT QUADRANT CHESS PAWN;So;0;ON;;;;;N;;;;;
+1CCD1;LOWER RIGHT QUADRANT CHESS PAWN;So;0;ON;;;;;N;;;;;
+1CCD2;UPPER LEFT QUADRANT STANDING KNIGHT;So;0;ON;;;;;N;;;;;
+1CCD3;UPPER RIGHT QUADRANT STANDING KNIGHT;So;0;ON;;;;;N;;;;;
+1CCD4;LOWER LEFT QUADRANT STANDING KNIGHT;So;0;ON;;;;;N;;;;;
+1CCD5;LOWER RIGHT QUADRANT STANDING KNIGHT;So;0;ON;;;;;N;;;;;
+1CCD6;OUTLINED LATIN CAPITAL LETTER A;So;0;L; 0041;;;;N;;;;;
+1CCD7;OUTLINED LATIN CAPITAL LETTER B;So;0;L; 0042;;;;N;;;;;
+1CCD8;OUTLINED LATIN CAPITAL LETTER C;So;0;L; 0043;;;;N;;;;;
+1CCD9;OUTLINED LATIN CAPITAL LETTER D;So;0;L; 0044;;;;N;;;;;
+1CCDA;OUTLINED LATIN CAPITAL LETTER E;So;0;L; 0045;;;;N;;;;;
+1CCDB;OUTLINED LATIN CAPITAL LETTER F;So;0;L; 0046;;;;N;;;;;
+1CCDC;OUTLINED LATIN CAPITAL LETTER G;So;0;L; 0047;;;;N;;;;;
+1CCDD;OUTLINED LATIN CAPITAL LETTER H;So;0;L; 0048;;;;N;;;;;
+1CCDE;OUTLINED LATIN CAPITAL LETTER I;So;0;L; 0049;;;;N;;;;;
+1CCDF;OUTLINED LATIN CAPITAL LETTER J;So;0;L; 004A;;;;N;;;;;
+1CCE0;OUTLINED LATIN CAPITAL LETTER K;So;0;L; 004B;;;;N;;;;;
+1CCE1;OUTLINED LATIN CAPITAL LETTER L;So;0;L; 004C;;;;N;;;;;
+1CCE2;OUTLINED LATIN CAPITAL LETTER M;So;0;L; 004D;;;;N;;;;;
+1CCE3;OUTLINED LATIN CAPITAL LETTER N;So;0;L; 004E;;;;N;;;;;
+1CCE4;OUTLINED LATIN CAPITAL LETTER O;So;0;L; 004F;;;;N;;;;;
+1CCE5;OUTLINED LATIN CAPITAL LETTER P;So;0;L; 0050;;;;N;;;;;
+1CCE6;OUTLINED LATIN CAPITAL LETTER Q;So;0;L; 0051;;;;N;;;;;
+1CCE7;OUTLINED LATIN CAPITAL LETTER R;So;0;L; 0052;;;;N;;;;;
+1CCE8;OUTLINED LATIN CAPITAL LETTER S;So;0;L; 0053;;;;N;;;;;
+1CCE9;OUTLINED LATIN CAPITAL LETTER T;So;0;L; 0054;;;;N;;;;;
+1CCEA;OUTLINED LATIN CAPITAL LETTER U;So;0;L; 0055;;;;N;;;;;
+1CCEB;OUTLINED LATIN CAPITAL LETTER V;So;0;L; 0056;;;;N;;;;;
+1CCEC;OUTLINED LATIN CAPITAL LETTER W;So;0;L; 0057;;;;N;;;;;
+1CCED;OUTLINED LATIN CAPITAL LETTER X;So;0;L; 0058;;;;N;;;;;
+1CCEE;OUTLINED LATIN CAPITAL LETTER Y;So;0;L; 0059;;;;N;;;;;
+1CCEF;OUTLINED LATIN CAPITAL LETTER Z;So;0;L; 005A;;;;N;;;;;
+1CCF0;OUTLINED DIGIT ZERO;Nd;0;EN; 0030;0;0;0;N;;;;;
+1CCF1;OUTLINED DIGIT ONE;Nd;0;EN; 0031;1;1;1;N;;;;;
+1CCF2;OUTLINED DIGIT TWO;Nd;0;EN; 0032;2;2;2;N;;;;;
+1CCF3;OUTLINED DIGIT THREE;Nd;0;EN; 0033;3;3;3;N;;;;;
+1CCF4;OUTLINED DIGIT FOUR;Nd;0;EN; 0034;4;4;4;N;;;;;
+1CCF5;OUTLINED DIGIT FIVE;Nd;0;EN; 0035;5;5;5;N;;;;;
+1CCF6;OUTLINED DIGIT SIX;Nd;0;EN; 0036;6;6;6;N;;;;;
+1CCF7;OUTLINED DIGIT SEVEN;Nd;0;EN; 0037;7;7;7;N;;;;;
+1CCF8;OUTLINED DIGIT EIGHT;Nd;0;EN; 0038;8;8;8;N;;;;;
+1CCF9;OUTLINED DIGIT NINE;Nd;0;EN; 0039;9;9;9;N;;;;;
+1CD00;BLOCK OCTANT-3;So;0;ON;;;;;N;;;;;
+1CD01;BLOCK OCTANT-23;So;0;ON;;;;;N;;;;;
+1CD02;BLOCK OCTANT-123;So;0;ON;;;;;N;;;;;
+1CD03;BLOCK OCTANT-4;So;0;ON;;;;;N;;;;;
+1CD04;BLOCK OCTANT-14;So;0;ON;;;;;N;;;;;
+1CD05;BLOCK OCTANT-124;So;0;ON;;;;;N;;;;;
+1CD06;BLOCK OCTANT-34;So;0;ON;;;;;N;;;;;
+1CD07;BLOCK OCTANT-134;So;0;ON;;;;;N;;;;;
+1CD08;BLOCK OCTANT-234;So;0;ON;;;;;N;;;;;
+1CD09;BLOCK OCTANT-5;So;0;ON;;;;;N;;;;;
+1CD0A;BLOCK OCTANT-15;So;0;ON;;;;;N;;;;;
+1CD0B;BLOCK OCTANT-25;So;0;ON;;;;;N;;;;;
+1CD0C;BLOCK OCTANT-125;So;0;ON;;;;;N;;;;;
+1CD0D;BLOCK OCTANT-135;So;0;ON;;;;;N;;;;;
+1CD0E;BLOCK OCTANT-235;So;0;ON;;;;;N;;;;;
+1CD0F;BLOCK OCTANT-1235;So;0;ON;;;;;N;;;;;
+1CD10;BLOCK OCTANT-45;So;0;ON;;;;;N;;;;;
+1CD11;BLOCK OCTANT-145;So;0;ON;;;;;N;;;;;
+1CD12;BLOCK OCTANT-245;So;0;ON;;;;;N;;;;;
+1CD13;BLOCK OCTANT-1245;So;0;ON;;;;;N;;;;;
+1CD14;BLOCK OCTANT-345;So;0;ON;;;;;N;;;;;
+1CD15;BLOCK OCTANT-1345;So;0;ON;;;;;N;;;;;
+1CD16;BLOCK OCTANT-2345;So;0;ON;;;;;N;;;;;
+1CD17;BLOCK OCTANT-12345;So;0;ON;;;;;N;;;;;
+1CD18;BLOCK OCTANT-6;So;0;ON;;;;;N;;;;;
+1CD19;BLOCK OCTANT-16;So;0;ON;;;;;N;;;;;
+1CD1A;BLOCK OCTANT-26;So;0;ON;;;;;N;;;;;
+1CD1B;BLOCK OCTANT-126;So;0;ON;;;;;N;;;;;
+1CD1C;BLOCK OCTANT-36;So;0;ON;;;;;N;;;;;
+1CD1D;BLOCK OCTANT-136;So;0;ON;;;;;N;;;;;
+1CD1E;BLOCK OCTANT-236;So;0;ON;;;;;N;;;;;
+1CD1F;BLOCK OCTANT-1236;So;0;ON;;;;;N;;;;;
+1CD20;BLOCK OCTANT-146;So;0;ON;;;;;N;;;;;
+1CD21;BLOCK OCTANT-246;So;0;ON;;;;;N;;;;;
+1CD22;BLOCK OCTANT-1246;So;0;ON;;;;;N;;;;;
+1CD23;BLOCK OCTANT-346;So;0;ON;;;;;N;;;;;
+1CD24;BLOCK OCTANT-1346;So;0;ON;;;;;N;;;;;
+1CD25;BLOCK OCTANT-2346;So;0;ON;;;;;N;;;;;
+1CD26;BLOCK OCTANT-12346;So;0;ON;;;;;N;;;;;
+1CD27;BLOCK OCTANT-56;So;0;ON;;;;;N;;;;;
+1CD28;BLOCK OCTANT-156;So;0;ON;;;;;N;;;;;
+1CD29;BLOCK OCTANT-256;So;0;ON;;;;;N;;;;;
+1CD2A;BLOCK OCTANT-1256;So;0;ON;;;;;N;;;;;
+1CD2B;BLOCK OCTANT-356;So;0;ON;;;;;N;;;;;
+1CD2C;BLOCK OCTANT-1356;So;0;ON;;;;;N;;;;;
+1CD2D;BLOCK OCTANT-2356;So;0;ON;;;;;N;;;;;
+1CD2E;BLOCK OCTANT-12356;So;0;ON;;;;;N;;;;;
+1CD2F;BLOCK OCTANT-456;So;0;ON;;;;;N;;;;;
+1CD30;BLOCK OCTANT-1456;So;0;ON;;;;;N;;;;;
+1CD31;BLOCK OCTANT-2456;So;0;ON;;;;;N;;;;;
+1CD32;BLOCK OCTANT-12456;So;0;ON;;;;;N;;;;;
+1CD33;BLOCK OCTANT-3456;So;0;ON;;;;;N;;;;;
+1CD34;BLOCK OCTANT-13456;So;0;ON;;;;;N;;;;;
+1CD35;BLOCK OCTANT-23456;So;0;ON;;;;;N;;;;;
+1CD36;BLOCK OCTANT-17;So;0;ON;;;;;N;;;;;
+1CD37;BLOCK OCTANT-27;So;0;ON;;;;;N;;;;;
+1CD38;BLOCK OCTANT-127;So;0;ON;;;;;N;;;;;
+1CD39;BLOCK OCTANT-37;So;0;ON;;;;;N;;;;;
+1CD3A;BLOCK OCTANT-137;So;0;ON;;;;;N;;;;;
+1CD3B;BLOCK OCTANT-237;So;0;ON;;;;;N;;;;;
+1CD3C;BLOCK OCTANT-1237;So;0;ON;;;;;N;;;;;
+1CD3D;BLOCK OCTANT-47;So;0;ON;;;;;N;;;;;
+1CD3E;BLOCK OCTANT-147;So;0;ON;;;;;N;;;;;
+1CD3F;BLOCK OCTANT-247;So;0;ON;;;;;N;;;;;
+1CD40;BLOCK OCTANT-1247;So;0;ON;;;;;N;;;;;
+1CD41;BLOCK OCTANT-347;So;0;ON;;;;;N;;;;;
+1CD42;BLOCK OCTANT-1347;So;0;ON;;;;;N;;;;;
+1CD43;BLOCK OCTANT-2347;So;0;ON;;;;;N;;;;;
+1CD44;BLOCK OCTANT-12347;So;0;ON;;;;;N;;;;;
+1CD45;BLOCK OCTANT-157;So;0;ON;;;;;N;;;;;
+1CD46;BLOCK OCTANT-257;So;0;ON;;;;;N;;;;;
+1CD47;BLOCK OCTANT-1257;So;0;ON;;;;;N;;;;;
+1CD48;BLOCK OCTANT-357;So;0;ON;;;;;N;;;;;
+1CD49;BLOCK OCTANT-2357;So;0;ON;;;;;N;;;;;
+1CD4A;BLOCK OCTANT-12357;So;0;ON;;;;;N;;;;;
+1CD4B;BLOCK OCTANT-457;So;0;ON;;;;;N;;;;;
+1CD4C;BLOCK OCTANT-1457;So;0;ON;;;;;N;;;;;
+1CD4D;BLOCK OCTANT-12457;So;0;ON;;;;;N;;;;;
+1CD4E;BLOCK OCTANT-3457;So;0;ON;;;;;N;;;;;
+1CD4F;BLOCK OCTANT-13457;So;0;ON;;;;;N;;;;;
+1CD50;BLOCK OCTANT-23457;So;0;ON;;;;;N;;;;;
+1CD51;BLOCK OCTANT-67;So;0;ON;;;;;N;;;;;
+1CD52;BLOCK OCTANT-167;So;0;ON;;;;;N;;;;;
+1CD53;BLOCK OCTANT-267;So;0;ON;;;;;N;;;;;
+1CD54;BLOCK OCTANT-1267;So;0;ON;;;;;N;;;;;
+1CD55;BLOCK OCTANT-367;So;0;ON;;;;;N;;;;;
+1CD56;BLOCK OCTANT-1367;So;0;ON;;;;;N;;;;;
+1CD57;BLOCK OCTANT-2367;So;0;ON;;;;;N;;;;;
+1CD58;BLOCK OCTANT-12367;So;0;ON;;;;;N;;;;;
+1CD59;BLOCK OCTANT-467;So;0;ON;;;;;N;;;;;
+1CD5A;BLOCK OCTANT-1467;So;0;ON;;;;;N;;;;;
+1CD5B;BLOCK OCTANT-2467;So;0;ON;;;;;N;;;;;
+1CD5C;BLOCK OCTANT-12467;So;0;ON;;;;;N;;;;;
+1CD5D;BLOCK OCTANT-3467;So;0;ON;;;;;N;;;;;
+1CD5E;BLOCK OCTANT-13467;So;0;ON;;;;;N;;;;;
+1CD5F;BLOCK OCTANT-23467;So;0;ON;;;;;N;;;;;
+1CD60;BLOCK OCTANT-123467;So;0;ON;;;;;N;;;;;
+1CD61;BLOCK OCTANT-567;So;0;ON;;;;;N;;;;;
+1CD62;BLOCK OCTANT-1567;So;0;ON;;;;;N;;;;;
+1CD63;BLOCK OCTANT-2567;So;0;ON;;;;;N;;;;;
+1CD64;BLOCK OCTANT-12567;So;0;ON;;;;;N;;;;;
+1CD65;BLOCK OCTANT-3567;So;0;ON;;;;;N;;;;;
+1CD66;BLOCK OCTANT-13567;So;0;ON;;;;;N;;;;;
+1CD67;BLOCK OCTANT-23567;So;0;ON;;;;;N;;;;;
+1CD68;BLOCK OCTANT-123567;So;0;ON;;;;;N;;;;;
+1CD69;BLOCK OCTANT-4567;So;0;ON;;;;;N;;;;;
+1CD6A;BLOCK OCTANT-14567;So;0;ON;;;;;N;;;;;
+1CD6B;BLOCK OCTANT-24567;So;0;ON;;;;;N;;;;;
+1CD6C;BLOCK OCTANT-124567;So;0;ON;;;;;N;;;;;
+1CD6D;BLOCK OCTANT-34567;So;0;ON;;;;;N;;;;;
+1CD6E;BLOCK OCTANT-134567;So;0;ON;;;;;N;;;;;
+1CD6F;BLOCK OCTANT-234567;So;0;ON;;;;;N;;;;;
+1CD70;BLOCK OCTANT-1234567;So;0;ON;;;;;N;;;;;
+1CD71;BLOCK OCTANT-18;So;0;ON;;;;;N;;;;;
+1CD72;BLOCK OCTANT-28;So;0;ON;;;;;N;;;;;
+1CD73;BLOCK OCTANT-128;So;0;ON;;;;;N;;;;;
+1CD74;BLOCK OCTANT-38;So;0;ON;;;;;N;;;;;
+1CD75;BLOCK OCTANT-138;So;0;ON;;;;;N;;;;;
+1CD76;BLOCK OCTANT-238;So;0;ON;;;;;N;;;;;
+1CD77;BLOCK OCTANT-1238;So;0;ON;;;;;N;;;;;
+1CD78;BLOCK OCTANT-48;So;0;ON;;;;;N;;;;;
+1CD79;BLOCK OCTANT-148;So;0;ON;;;;;N;;;;;
+1CD7A;BLOCK OCTANT-248;So;0;ON;;;;;N;;;;;
+1CD7B;BLOCK OCTANT-1248;So;0;ON;;;;;N;;;;;
+1CD7C;BLOCK OCTANT-348;So;0;ON;;;;;N;;;;;
+1CD7D;BLOCK OCTANT-1348;So;0;ON;;;;;N;;;;;
+1CD7E;BLOCK OCTANT-2348;So;0;ON;;;;;N;;;;;
+1CD7F;BLOCK OCTANT-12348;So;0;ON;;;;;N;;;;;
+1CD80;BLOCK OCTANT-58;So;0;ON;;;;;N;;;;;
+1CD81;BLOCK OCTANT-158;So;0;ON;;;;;N;;;;;
+1CD82;BLOCK OCTANT-258;So;0;ON;;;;;N;;;;;
+1CD83;BLOCK OCTANT-1258;So;0;ON;;;;;N;;;;;
+1CD84;BLOCK OCTANT-358;So;0;ON;;;;;N;;;;;
+1CD85;BLOCK OCTANT-1358;So;0;ON;;;;;N;;;;;
+1CD86;BLOCK OCTANT-2358;So;0;ON;;;;;N;;;;;
+1CD87;BLOCK OCTANT-12358;So;0;ON;;;;;N;;;;;
+1CD88;BLOCK OCTANT-458;So;0;ON;;;;;N;;;;;
+1CD89;BLOCK OCTANT-1458;So;0;ON;;;;;N;;;;;
+1CD8A;BLOCK OCTANT-2458;So;0;ON;;;;;N;;;;;
+1CD8B;BLOCK OCTANT-12458;So;0;ON;;;;;N;;;;;
+1CD8C;BLOCK OCTANT-3458;So;0;ON;;;;;N;;;;;
+1CD8D;BLOCK OCTANT-13458;So;0;ON;;;;;N;;;;;
+1CD8E;BLOCK OCTANT-23458;So;0;ON;;;;;N;;;;;
+1CD8F;BLOCK OCTANT-123458;So;0;ON;;;;;N;;;;;
+1CD90;BLOCK OCTANT-168;So;0;ON;;;;;N;;;;;
+1CD91;BLOCK OCTANT-268;So;0;ON;;;;;N;;;;;
+1CD92;BLOCK OCTANT-1268;So;0;ON;;;;;N;;;;;
+1CD93;BLOCK OCTANT-368;So;0;ON;;;;;N;;;;;
+1CD94;BLOCK OCTANT-2368;So;0;ON;;;;;N;;;;;
+1CD95;BLOCK OCTANT-12368;So;0;ON;;;;;N;;;;;
+1CD96;BLOCK OCTANT-468;So;0;ON;;;;;N;;;;;
+1CD97;BLOCK OCTANT-1468;So;0;ON;;;;;N;;;;;
+1CD98;BLOCK OCTANT-12468;So;0;ON;;;;;N;;;;;
+1CD99;BLOCK OCTANT-3468;So;0;ON;;;;;N;;;;;
+1CD9A;BLOCK OCTANT-13468;So;0;ON;;;;;N;;;;;
+1CD9B;BLOCK OCTANT-23468;So;0;ON;;;;;N;;;;;
+1CD9C;BLOCK OCTANT-568;So;0;ON;;;;;N;;;;;
+1CD9D;BLOCK OCTANT-1568;So;0;ON;;;;;N;;;;;
+1CD9E;BLOCK OCTANT-2568;So;0;ON;;;;;N;;;;;
+1CD9F;BLOCK OCTANT-12568;So;0;ON;;;;;N;;;;;
+1CDA0;BLOCK OCTANT-3568;So;0;ON;;;;;N;;;;;
+1CDA1;BLOCK OCTANT-13568;So;0;ON;;;;;N;;;;;
+1CDA2;BLOCK OCTANT-23568;So;0;ON;;;;;N;;;;;
+1CDA3;BLOCK OCTANT-123568;So;0;ON;;;;;N;;;;;
+1CDA4;BLOCK OCTANT-4568;So;0;ON;;;;;N;;;;;
+1CDA5;BLOCK OCTANT-14568;So;0;ON;;;;;N;;;;;
+1CDA6;BLOCK OCTANT-24568;So;0;ON;;;;;N;;;;;
+1CDA7;BLOCK OCTANT-124568;So;0;ON;;;;;N;;;;;
+1CDA8;BLOCK OCTANT-34568;So;0;ON;;;;;N;;;;;
+1CDA9;BLOCK OCTANT-134568;So;0;ON;;;;;N;;;;;
+1CDAA;BLOCK OCTANT-234568;So;0;ON;;;;;N;;;;;
+1CDAB;BLOCK OCTANT-1234568;So;0;ON;;;;;N;;;;;
+1CDAC;BLOCK OCTANT-178;So;0;ON;;;;;N;;;;;
+1CDAD;BLOCK OCTANT-278;So;0;ON;;;;;N;;;;;
+1CDAE;BLOCK OCTANT-1278;So;0;ON;;;;;N;;;;;
+1CDAF;BLOCK OCTANT-378;So;0;ON;;;;;N;;;;;
+1CDB0;BLOCK OCTANT-1378;So;0;ON;;;;;N;;;;;
+1CDB1;BLOCK OCTANT-2378;So;0;ON;;;;;N;;;;;
+1CDB2;BLOCK OCTANT-12378;So;0;ON;;;;;N;;;;;
+1CDB3;BLOCK OCTANT-478;So;0;ON;;;;;N;;;;;
+1CDB4;BLOCK OCTANT-1478;So;0;ON;;;;;N;;;;;
+1CDB5;BLOCK OCTANT-2478;So;0;ON;;;;;N;;;;;
+1CDB6;BLOCK OCTANT-12478;So;0;ON;;;;;N;;;;;
+1CDB7;BLOCK OCTANT-3478;So;0;ON;;;;;N;;;;;
+1CDB8;BLOCK OCTANT-13478;So;0;ON;;;;;N;;;;;
+1CDB9;BLOCK OCTANT-23478;So;0;ON;;;;;N;;;;;
+1CDBA;BLOCK OCTANT-123478;So;0;ON;;;;;N;;;;;
+1CDBB;BLOCK OCTANT-578;So;0;ON;;;;;N;;;;;
+1CDBC;BLOCK OCTANT-1578;So;0;ON;;;;;N;;;;;
+1CDBD;BLOCK OCTANT-2578;So;0;ON;;;;;N;;;;;
+1CDBE;BLOCK OCTANT-12578;So;0;ON;;;;;N;;;;;
+1CDBF;BLOCK OCTANT-3578;So;0;ON;;;;;N;;;;;
+1CDC0;BLOCK OCTANT-13578;So;0;ON;;;;;N;;;;;
+1CDC1;BLOCK OCTANT-23578;So;0;ON;;;;;N;;;;;
+1CDC2;BLOCK OCTANT-123578;So;0;ON;;;;;N;;;;;
+1CDC3;BLOCK OCTANT-4578;So;0;ON;;;;;N;;;;;
+1CDC4;BLOCK OCTANT-14578;So;0;ON;;;;;N;;;;;
+1CDC5;BLOCK OCTANT-24578;So;0;ON;;;;;N;;;;;
+1CDC6;BLOCK OCTANT-124578;So;0;ON;;;;;N;;;;;
+1CDC7;BLOCK OCTANT-34578;So;0;ON;;;;;N;;;;;
+1CDC8;BLOCK OCTANT-134578;So;0;ON;;;;;N;;;;;
+1CDC9;BLOCK OCTANT-234578;So;0;ON;;;;;N;;;;;
+1CDCA;BLOCK OCTANT-1234578;So;0;ON;;;;;N;;;;;
+1CDCB;BLOCK OCTANT-678;So;0;ON;;;;;N;;;;;
+1CDCC;BLOCK OCTANT-1678;So;0;ON;;;;;N;;;;;
+1CDCD;BLOCK OCTANT-2678;So;0;ON;;;;;N;;;;;
+1CDCE;BLOCK OCTANT-12678;So;0;ON;;;;;N;;;;;
+1CDCF;BLOCK OCTANT-3678;So;0;ON;;;;;N;;;;;
+1CDD0;BLOCK OCTANT-13678;So;0;ON;;;;;N;;;;;
+1CDD1;BLOCK OCTANT-23678;So;0;ON;;;;;N;;;;;
+1CDD2;BLOCK OCTANT-123678;So;0;ON;;;;;N;;;;;
+1CDD3;BLOCK OCTANT-4678;So;0;ON;;;;;N;;;;;
+1CDD4;BLOCK OCTANT-14678;So;0;ON;;;;;N;;;;;
+1CDD5;BLOCK OCTANT-24678;So;0;ON;;;;;N;;;;;
+1CDD6;BLOCK OCTANT-124678;So;0;ON;;;;;N;;;;;
+1CDD7;BLOCK OCTANT-34678;So;0;ON;;;;;N;;;;;
+1CDD8;BLOCK OCTANT-134678;So;0;ON;;;;;N;;;;;
+1CDD9;BLOCK OCTANT-234678;So;0;ON;;;;;N;;;;;
+1CDDA;BLOCK OCTANT-1234678;So;0;ON;;;;;N;;;;;
+1CDDB;BLOCK OCTANT-15678;So;0;ON;;;;;N;;;;;
+1CDDC;BLOCK OCTANT-25678;So;0;ON;;;;;N;;;;;
+1CDDD;BLOCK OCTANT-125678;So;0;ON;;;;;N;;;;;
+1CDDE;BLOCK OCTANT-35678;So;0;ON;;;;;N;;;;;
+1CDDF;BLOCK OCTANT-235678;So;0;ON;;;;;N;;;;;
+1CDE0;BLOCK OCTANT-1235678;So;0;ON;;;;;N;;;;;
+1CDE1;BLOCK OCTANT-45678;So;0;ON;;;;;N;;;;;
+1CDE2;BLOCK OCTANT-145678;So;0;ON;;;;;N;;;;;
+1CDE3;BLOCK OCTANT-1245678;So;0;ON;;;;;N;;;;;
+1CDE4;BLOCK OCTANT-1345678;So;0;ON;;;;;N;;;;;
+1CDE5;BLOCK OCTANT-2345678;So;0;ON;;;;;N;;;;;
+1CDE6;TOP HALF STANDING PERSON;So;0;ON;;;;;N;;;;;
+1CDE7;BOTTOM HALF STANDING PERSON;So;0;ON;;;;;N;;;;;
+1CDE8;TOP HALF RIGHT-FACING RUNNER FRAME-1;So;0;ON;;;;;N;;;;;
+1CDE9;BOTTOM HALF RIGHT-FACING RUNNER FRAME-1;So;0;ON;;;;;N;;;;;
+1CDEA;TOP HALF RIGHT-FACING RUNNER FRAME-2;So;0;ON;;;;;N;;;;;
+1CDEB;BOTTOM HALF RIGHT-FACING RUNNER FRAME-2;So;0;ON;;;;;N;;;;;
+1CDEC;TOP HALF LEFT-FACING RUNNER FRAME-1;So;0;ON;;;;;N;;;;;
+1CDED;BOTTOM HALF LEFT-FACING RUNNER FRAME-1;So;0;ON;;;;;N;;;;;
+1CDEE;TOP HALF LEFT-FACING RUNNER FRAME-2;So;0;ON;;;;;N;;;;;
+1CDEF;BOTTOM HALF LEFT-FACING RUNNER FRAME-2;So;0;ON;;;;;N;;;;;
+1CDF0;TOP HALF FORWARD-FACING RUNNER;So;0;ON;;;;;N;;;;;
+1CDF1;BOTTOM HALF FORWARD-FACING RUNNER FRAME-1;So;0;ON;;;;;N;;;;;
+1CDF2;BOTTOM HALF FORWARD-FACING RUNNER FRAME-2;So;0;ON;;;;;N;;;;;
+1CDF3;BOTTOM HALF FORWARD-FACING RUNNER FRAME-3;So;0;ON;;;;;N;;;;;
+1CDF4;BOTTOM HALF FORWARD-FACING RUNNER FRAME-4;So;0;ON;;;;;N;;;;;
+1CDF5;MOON LANDER;So;0;ON;;;;;N;;;;;
+1CDF6;TOP HALF FLAILING ROBOT FRAME-1;So;0;ON;;;;;N;;;;;
+1CDF7;TOP HALF FLAILING ROBOT FRAME-2;So;0;ON;;;;;N;;;;;
+1CDF8;DOWN-POINTING AIRPLANE;So;0;ON;;;;;N;;;;;
+1CDF9;LEFT-POINTING AIRPLANE;So;0;ON;;;;;N;;;;;
+1CDFA;SMALL UP-POINTING AIRPLANE;So;0;ON;;;;;N;;;;;
+1CDFB;UP-POINTING FROG;So;0;ON;;;;;N;;;;;
+1CDFC;DOWN-POINTING FROG;So;0;ON;;;;;N;;;;;
+1CDFD;EXPLOSION FRAME-1;So;0;ON;;;;;N;;;;;
+1CDFE;EXPLOSION FRAME-2;So;0;ON;;;;;N;;;;;
+1CDFF;EXPLOSION FRAME-3;So;0;ON;;;;;N;;;;;
+1CE00;RIGHT HALF AND LEFT HALF WHITE CIRCLE;So;0;ON;;;;;N;;;;;
+1CE01;LOWER HALF AND UPPER HALF WHITE CIRCLE;So;0;ON;;;;;N;;;;;
+1CE02;EXPLOSION AT HORIZON;So;0;ON;;;;;N;;;;;
+1CE03;UPPER HALF HEAVY WHITE SQUARE;So;0;ON;;;;;N;;;;;
+1CE04;LOWER HALF HEAVY WHITE SQUARE;So;0;ON;;;;;N;;;;;
+1CE05;HEAVY WHITE SQUARE CONTAINING BLACK VERY SMALL SQUARE;So;0;ON;;;;;N;;;;;
+1CE06;WHITE VERTICAL RECTANGLE WITH HORIZONTAL BAR;So;0;ON;;;;;N;;;;;
+1CE07;TOP RIGHT BLACK LEFT-POINTING SMALL TRIANGLE;So;0;ON;;;;;N;;;;;
+1CE08;FUNNEL;So;0;ON;;;;;N;;;;;
+1CE09;BOX DRAWINGS DOUBLE DIAGONAL LOWER LEFT TO MIDDLE CENTRE TO LOWER
+RIGHT;So;0;ON;;;;;N;;;;;
+1CE0A;BOX DRAWINGS DOUBLE DIAGONAL UPPER LEFT TO MIDDLE CENTRE TO UPPER
+RIGHT;So;0;ON;;;;;N;;;;;
+1CE0B;LEFT HALF WHITE ELLIPSE;So;0;ON;;;;;N;;;;;
+1CE0C;RIGHT HALF WHITE ELLIPSE;So;0;ON;;;;;N;;;;;
+1CE0D;LEFT HALF TRIPLE DASH HORIZONTAL;So;0;ON;;;;;N;;;;;
+1CE0E;RIGHT HALF TRIPLE DASH HORIZONTAL;So;0;ON;;;;;N;;;;;
+1CE0F;HORIZONTAL LINE WITH TICK MARK;So;0;ON;;;;;N;;;;;
+1CE10;LEFT HALF HORIZONTAL LINE WITH THREE TICK MARKS;So;0;ON;;;;;N;;;;;
+1CE11;RIGHT HALF HORIZONTAL LINE WITH THREE TICK MARKS;So;0;ON;;;;;N;;;;;
+1CE12;HORIZONTAL LINE WITH THREE TICK MARKS;So;0;ON;;;;;N;;;;;
+1CE13;LOWER HALF VERTICAL LINE WITH THREE TICK MARKS;So;0;ON;;;;;N;;;;;
+1CE14;UPPER HALF VERTICAL LINE WITH THREE TICK MARKS;So;0;ON;;;;;N;;;;;
+1CE15;VERTICAL LINE WITH THREE TICK MARKS;So;0;ON;;;;;N;;;;;
+1CE16;BOX DRAWINGS LIGHT VERTICAL AND TOP RIGHT;So;0;ON;;;;;N;;;;;
+1CE17;BOX DRAWINGS LIGHT VERTICAL AND BOTTOM RIGHT;So;0;ON;;;;;N;;;;;
+1CE18;BOX DRAWINGS LIGHT VERTICAL AND TOP LEFT;So;0;ON;;;;;N;;;;;
+1CE19;BOX DRAWINGS LIGHT VERTICAL AND BOTTOM LEFT;So;0;ON;;;;;N;;;;;
+1CE1A;LARGE TYPE PIECE UPPER LEFT ARC;So;0;ON;;;;;N;;;;;
+1CE1B;LARGE TYPE PIECE UPPER LEFT CORNER;So;0;ON;;;;;N;;;;;
+1CE1C;LARGE TYPE PIECE UPPER TERMINAL;So;0;ON;;;;;N;;;;;
+1CE1D;LARGE TYPE PIECE UPPER LEFT CROTCH;So;0;ON;;;;;N;;;;;
+1CE1E;LARGE TYPE PIECE LEFT ARM;So;0;ON;;;;;N;;;;;
+1CE1F;LARGE TYPE PIECE CROSSBAR;So;0;ON;;;;;N;;;;;
+1CE20;LARGE TYPE PIECE CROSSBAR WITH LOWER STEM;So;0;ON;;;;;N;;;;;
+1CE21;LARGE TYPE PIECE UPPER HALF VERTEX OF M;So;0;ON;;;;;N;;;;;
+1CE22;LARGE TYPE PIECE DIAGONAL LOWER LEFT;So;0;ON;;;;;N;;;;;
+1CE23;LARGE TYPE PIECE SHORT UPPER TERMINAL;So;0;ON;;;;;N;;;;;
+1CE24;LARGE TYPE PIECE UPPER RIGHT ARC;So;0;ON;;;;;N;;;;;
+1CE25;LARGE TYPE PIECE RIGHT ARM;So;0;ON;;;;;N;;;;;
+1CE26;LARGE TYPE PIECE UPPER RIGHT CROTCH;So;0;ON;;;;;N;;;;;
+1CE27;LARGE TYPE PIECE UPPER RIGHT CORNER;So;0;ON;;;;;N;;;;;
+1CE28;LARGE TYPE PIECE STEM WITH RIGHT CROSSBAR;So;0;ON;;;;;N;;;;;
+1CE29;LARGE TYPE PIECE STEM;So;0;ON;;;;;N;;;;;
+1CE2A;LARGE TYPE PIECE DIAGONAL UPPER RIGHT AND LOWER RIGHT;So;0;ON;;;;;N;;;;;
+1CE2B;LARGE TYPE PIECE DIAGONAL UPPER RIGHT;So;0;ON;;;;;N;;;;;
+1CE2C;LARGE TYPE PIECE DIAGONAL LOWER RIGHT;So;0;ON;;;;;N;;;;;
+1CE2D;LARGE TYPE PIECE SHORT LOWER TERMINAL;So;0;ON;;;;;N;;;;;
+1CE2E;LARGE TYPE PIECE LOWER LEFT AND UPPER LEFT ARC;So;0;ON;;;;;N;;;;;
+1CE2F;LARGE TYPE PIECE CENTRE OF K;So;0;ON;;;;;N;;;;;
+1CE30;LARGE TYPE PIECE LOWER HALF VERTEX OF M;So;0;ON;;;;;N;;;;;
+1CE31;LARGE TYPE PIECE UPPER HALF VERTEX OF W;So;0;ON;;;;;N;;;;;
+1CE32;LARGE TYPE PIECE CENTRE OF X;So;0;ON;;;;;N;;;;;
+1CE33;LARGE TYPE PIECE CENTRE OF Y;So;0;ON;;;;;N;;;;;
+1CE34;LARGE TYPE PIECE CENTRE OF Z WITH CROSSBAR;So;0;ON;;;;;N;;;;;
+1CE35;LARGE TYPE PIECE RAISED UPPER RIGHT ARC;So;0;ON;;;;;N;;;;;
+1CE36;LARGE TYPE PIECE STEM WITH LEFT CROSSBAR;So;0;ON;;;;;N;;;;;
+1CE37;LARGE TYPE PIECE LOWER RIGHT AND UPPER RIGHT ARC;So;0;ON;;;;;N;;;;;
+1CE38;LARGE TYPE PIECE DIAGONAL UPPER LEFT AND LOWER LEFT;So;0;ON;;;;;N;;;;;
+1CE39;LARGE TYPE PIECE STEM WITH LEFT JOINT;So;0;ON;;;;;N;;;;;
+1CE3A;LARGE TYPE PIECE STEM WITH CROSSBAR;So;0;ON;;;;;N;;;;;
+1CE3B;LARGE TYPE PIECE DIAGONAL UPPER LEFT;So;0;ON;;;;;N;;;;;
+1CE3C;LARGE TYPE PIECE LOWER TERMINAL;So;0;ON;;;;;N;;;;;
+1CE3D;LARGE TYPE PIECE LOWER LEFT CORNER;So;0;ON;;;;;N;;;;;
+1CE3E;LARGE TYPE PIECE LOWER LEFT ARC;So;0;ON;;;;;N;;;;;
+1CE3F;LARGE TYPE PIECE LOWER LEFT CROTCH;So;0;ON;;;;;N;;;;;
+1CE40;LARGE TYPE PIECE CROSSBAR WITH UPPER STEM;So;0;ON;;;;;N;;;;;
+1CE41;LARGE TYPE PIECE VERTEX OF V;So;0;ON;;;;;N;;;;;
+1CE42;LARGE TYPE PIECE LOWER HALF VERTEX OF W;So;0;ON;;;;;N;;;;;
+1CE43;LARGE TYPE PIECE LOWER RIGHT ARC;So;0;ON;;;;;N;;;;;
+1CE44;LARGE TYPE PIECE LOWER RIGHT CORNER;So;0;ON;;;;;N;;;;;
+1CE45;LARGE TYPE PIECE LOWER RIGHT ARC WITH TAIL;So;0;ON;;;;;N;;;;;
+1CE46;LARGE TYPE PIECE LOWER RIGHT CROTCH;So;0;ON;;;;;N;;;;;
+1CE47;LARGE TYPE PIECE STEM-45;So;0;ON;;;;;N;;;;;
+1CE48;LARGE TYPE PIECE STEM-2345;So;0;ON;;;;;N;;;;;
+1CE49;LARGE TYPE PIECE STEM-4;So;0;ON;;;;;N;;;;;
+1CE4A;LARGE TYPE PIECE STEM-34;So;0;ON;;;;;N;;;;;
+1CE4B;LARGE TYPE PIECE STEM-234;So;0;ON;;;;;N;;;;;
+1CE4C;LARGE TYPE PIECE STEM-1234;So;0;ON;;;;;N;;;;;
+1CE4D;LARGE TYPE PIECE STEM-3;So;0;ON;;;;;N;;;;;
+1CE4E;LARGE TYPE PIECE STEM-23;So;0;ON;;;;;N;;;;;
+1CE4F;LARGE TYPE PIECE STEM-2;So;0;ON;;;;;N;;;;;
+1CE50;LARGE TYPE PIECE STEM-12;So;0;ON;;;;;N;;;;;
+1CE51;SEPARATED BLOCK SEXTANT-1;So;0;ON;;;;;N;;;;;
+1CE52;SEPARATED BLOCK SEXTANT-2;So;0;ON;;;;;N;;;;;
+1CE53;SEPARATED BLOCK SEXTANT-12;So;0;ON;;;;;N;;;;;
+1CE54;SEPARATED BLOCK SEXTANT-3;So;0;ON;;;;;N;;;;;
+1CE55;SEPARATED BLOCK SEXTANT-13;So;0;ON;;;;;N;;;;;
+1CE56;SEPARATED BLOCK SEXTANT-23;So;0;ON;;;;;N;;;;;
+1CE57;SEPARATED BLOCK SEXTANT-123;So;0;ON;;;;;N;;;;;
+1CE58;SEPARATED BLOCK SEXTANT-4;So;0;ON;;;;;N;;;;;
+1CE59;SEPARATED BLOCK SEXTANT-14;So;0;ON;;;;;N;;;;;
+1CE5A;SEPARATED BLOCK SEXTANT-24;So;0;ON;;;;;N;;;;;
+1CE5B;SEPARATED BLOCK SEXTANT-124;So;0;ON;;;;;N;;;;;
+1CE5C;SEPARATED BLOCK SEXTANT-34;So;0;ON;;;;;N;;;;;
+1CE5D;SEPARATED BLOCK SEXTANT-134;So;0;ON;;;;;N;;;;;
+1CE5E;SEPARATED BLOCK SEXTANT-234;So;0;ON;;;;;N;;;;;
+1CE5F;SEPARATED BLOCK SEXTANT-1234;So;0;ON;;;;;N;;;;;
+1CE60;SEPARATED BLOCK SEXTANT-5;So;0;ON;;;;;N;;;;;
+1CE61;SEPARATED BLOCK SEXTANT-15;So;0;ON;;;;;N;;;;;
+1CE62;SEPARATED BLOCK SEXTANT-25;So;0;ON;;;;;N;;;;;
+1CE63;SEPARATED BLOCK SEXTANT-125;So;0;ON;;;;;N;;;;;
+1CE64;SEPARATED BLOCK SEXTANT-35;So;0;ON;;;;;N;;;;;
+1CE65;SEPARATED BLOCK SEXTANT-135;So;0;ON;;;;;N;;;;;
+1CE66;SEPARATED BLOCK SEXTANT-235;So;0;ON;;;;;N;;;;;
+1CE67;SEPARATED BLOCK SEXTANT-1235;So;0;ON;;;;;N;;;;;
+1CE68;SEPARATED BLOCK SEXTANT-45;So;0;ON;;;;;N;;;;;
+1CE69;SEPARATED BLOCK SEXTANT-145;So;0;ON;;;;;N;;;;;
+1CE6A;SEPARATED BLOCK SEXTANT-245;So;0;ON;;;;;N;;;;;
+1CE6B;SEPARATED BLOCK SEXTANT-1245;So;0;ON;;;;;N;;;;;
+1CE6C;SEPARATED BLOCK SEXTANT-345;So;0;ON;;;;;N;;;;;
+1CE6D;SEPARATED BLOCK SEXTANT-1345;So;0;ON;;;;;N;;;;;
+1CE6E;SEPARATED BLOCK SEXTANT-2345;So;0;ON;;;;;N;;;;;
+1CE6F;SEPARATED BLOCK SEXTANT-12345;So;0;ON;;;;;N;;;;;
+1CE70;SEPARATED BLOCK SEXTANT-6;So;0;ON;;;;;N;;;;;
+1CE71;SEPARATED BLOCK SEXTANT-16;So;0;ON;;;;;N;;;;;
+1CE72;SEPARATED BLOCK SEXTANT-26;So;0;ON;;;;;N;;;;;
+1CE73;SEPARATED BLOCK SEXTANT-126;So;0;ON;;;;;N;;;;;
+1CE74;SEPARATED BLOCK SEXTANT-36;So;0;ON;;;;;N;;;;;
+1CE75;SEPARATED BLOCK SEXTANT-136;So;0;ON;;;;;N;;;;;
+1CE76;SEPARATED BLOCK SEXTANT-236;So;0;ON;;;;;N;;;;;
+1CE77;SEPARATED BLOCK SEXTANT-1236;So;0;ON;;;;;N;;;;;
+1CE78;SEPARATED BLOCK SEXTANT-46;So;0;ON;;;;;N;;;;;
+1CE79;SEPARATED BLOCK SEXTANT-146;So;0;ON;;;;;N;;;;;
+1CE7A;SEPARATED BLOCK SEXTANT-246;So;0;ON;;;;;N;;;;;
+1CE7B;SEPARATED BLOCK SEXTANT-1246;So;0;ON;;;;;N;;;;;
+1CE7C;SEPARATED BLOCK SEXTANT-346;So;0;ON;;;;;N;;;;;
+1CE7D;SEPARATED BLOCK SEXTANT-1346;So;0;ON;;;;;N;;;;;
+1CE7E;SEPARATED BLOCK SEXTANT-2346;So;0;ON;;;;;N;;;;;
+1CE7F;SEPARATED BLOCK SEXTANT-12346;So;0;ON;;;;;N;;;;;
+1CE80;SEPARATED BLOCK SEXTANT-56;So;0;ON;;;;;N;;;;;
+1CE81;SEPARATED BLOCK SEXTANT-156;So;0;ON;;;;;N;;;;;
+1CE82;SEPARATED BLOCK SEXTANT-256;So;0;ON;;;;;N;;;;;
+1CE83;SEPARATED BLOCK SEXTANT-1256;So;0;ON;;;;;N;;;;;
+1CE84;SEPARATED BLOCK SEXTANT-356;So;0;ON;;;;;N;;;;;
+1CE85;SEPARATED BLOCK SEXTANT-1356;So;0;ON;;;;;N;;;;;
+1CE86;SEPARATED BLOCK SEXTANT-2356;So;0;ON;;;;;N;;;;;
+1CE87;SEPARATED BLOCK SEXTANT-12356;So;0;ON;;;;;N;;;;;
+1CE88;SEPARATED BLOCK SEXTANT-456;So;0;ON;;;;;N;;;;;
+1CE89;SEPARATED BLOCK SEXTANT-1456;So;0;ON;;;;;N;;;;;
+1CE8A;SEPARATED BLOCK SEXTANT-2456;So;0;ON;;;;;N;;;;;
+1CE8B;SEPARATED BLOCK SEXTANT-12456;So;0;ON;;;;;N;;;;;
+1CE8C;SEPARATED BLOCK SEXTANT-3456;So;0;ON;;;;;N;;;;;
+1CE8D;SEPARATED BLOCK SEXTANT-13456;So;0;ON;;;;;N;;;;;
+1CE8E;SEPARATED BLOCK SEXTANT-23456;So;0;ON;;;;;N;;;;;
+1CE8F;SEPARATED BLOCK SEXTANT-123456;So;0;ON;;;;;N;;;;;
+1CE90;UPPER LEFT ONE SIXTEENTH BLOCK;So;0;ON;;;;;N;;;;;
+1CE91;UPPER CENTRE LEFT ONE SIXTEENTH BLOCK;So;0;ON;;;;;N;;;;;
+1CE92;UPPER CENTRE RIGHT ONE SIXTEENTH BLOCK;So;0;ON;;;;;N;;;;;
+1CE93;UPPER RIGHT ONE SIXTEENTH BLOCK;So;0;ON;;;;;N;;;;;
+1CE94;UPPER MIDDLE LEFT ONE SIXTEENTH BLOCK;So;0;ON;;;;;N;;;;;
+1CE95;UPPER MIDDLE CENTRE LEFT ONE SIXTEENTH BLOCK;So;0;ON;;;;;N;;;;;
+1CE96;UPPER MIDDLE CENTRE RIGHT ONE SIXTEENTH BLOCK;So;0;ON;;;;;N;;;;;
+1CE97;UPPER MIDDLE RIGHT ONE SIXTEENTH BLOCK;So;0;ON;;;;;N;;;;;
+1CE98;LOWER MIDDLE LEFT ONE SIXTEENTH BLOCK;So;0;ON;;;;;N;;;;;
+1CE99;LOWER MIDDLE CENTRE LEFT ONE SIXTEENTH BLOCK;So;0;ON;;;;;N;;;;;
+1CE9A;LOWER MIDDLE CENTRE RIGHT ONE SIXTEENTH BLOCK;So;0;ON;;;;;N;;;;;
+1CE9B;LOWER MIDDLE RIGHT ONE SIXTEENTH BLOCK;So;0;ON;;;;;N;;;;;
+1CE9C;LOWER LEFT ONE SIXTEENTH BLOCK;So;0;ON;;;;;N;;;;;
+1CE9D;LOWER CENTRE LEFT ONE SIXTEENTH BLOCK;So;0;ON;;;;;N;;;;;
+1CE9E;LOWER CENTRE RIGHT ONE SIXTEENTH BLOCK;So;0;ON;;;;;N;;;;;
+1CE9F;LOWER RIGHT ONE SIXTEENTH BLOCK;So;0;ON;;;;;N;;;;;
+1CEA0;RIGHT HALF LOWER ONE QUARTER BLOCK;So;0;ON;;;;;N;;;;;
+1CEA1;RIGHT THREE QUARTERS LOWER ONE QUARTER BLOCK;So;0;ON;;;;;N;;;;;
+1CEA2;LEFT THREE QUARTERS LOWER ONE QUARTER BLOCK;So;0;ON;;;;;N;;;;;
+1CEA3;LEFT HALF LOWER ONE QUARTER BLOCK;So;0;ON;;;;;N;;;;;
+1CEA4;LOWER HALF LEFT ONE QUARTER BLOCK;So;0;ON;;;;;N;;;;;
+1CEA5;LOWER THREE QUARTERS LEFT ONE QUARTER BLOCK;So;0;ON;;;;;N;;;;;
+1CEA6;UPPER THREE QUARTERS LEFT ONE QUARTER BLOCK;So;0;ON;;;;;N;;;;;
+1CEA7;UPPER HALF LEFT ONE QUARTER BLOCK;So;0;ON;;;;;N;;;;;
+1CEA8;LEFT HALF UPPER ONE QUARTER BLOCK;So;0;ON;;;;;N;;;;;
+1CEA9;LEFT THREE QUARTERS UPPER ONE QUARTER BLOCK;So;0;ON;;;;;N;;;;;
+1CEAA;RIGHT THREE QUARTERS UPPER ONE QUARTER BLOCK;So;0;ON;;;;;N;;;;;
+1CEAB;RIGHT HALF UPPER ONE QUARTER BLOCK;So;0;ON;;;;;N;;;;;
+1CEAC;UPPER HALF RIGHT ONE QUARTER BLOCK;So;0;ON;;;;;N;;;;;
+1CEAD;UPPER THREE QUARTERS RIGHT ONE QUARTER BLOCK;So;0;ON;;;;;N;;;;;
+1CEAE;LOWER THREE QUARTERS RIGHT ONE QUARTER BLOCK;So;0;ON;;;;;N;;;;;
+1CEAF;LOWER HALF RIGHT ONE QUARTER BLOCK;So;0;ON;;;;;N;;;;;
+1F8B3;DOWNWARDS BLACK ARROW TO BAR;So;0;ON;;;;;N;;;;;
+1F8B4;NEGATIVE SQUARED LEFTWARDS ARROW;So;0;ON;;;;;N;;;;;
+1F8B5;NEGATIVE SQUARED UPWARDS ARROW;So;0;ON;;;;;N;;;;;
+1F8B6;NEGATIVE SQUARED RIGHTWARDS ARROW;So;0;ON;;;;;N;;;;;
+1F8B7;NEGATIVE SQUARED DOWNWARDS ARROW;So;0;ON;;;;;N;;;;;
+1F8B8;NORTH WEST ARROW FROM BAR;So;0;ON;;;;;N;;;;;
+1F8B9;NORTH EAST ARROW FROM BAR;So;0;ON;;;;;N;;;;;
+1F8BA;SOUTH EAST ARROW FROM BAR;So;0;ON;;;;;N;;;;;
+1F8BB;SOUTH WEST ARROW FROM BAR;So;0;ON;;;;;N;;;;;
+1FBCB;WHITE CROSS MARK;So;0;ON;;;;;N;;;;;
+1FBCC;RAISED SMALL LEFT SQUARE BRACKET;So;0;ON;;;;;N;;;;;
+1FBCD;BLACK SMALL UP-POINTING CHEVRON;So;0;ON;;;;;N;;;;;
+1FBCE;LEFT TWO THIRDS BLOCK;So;0;ON;;;;;N;;;;;
+1FBCF;LEFT ONE THIRD BLOCK;So;0;ON;;;;;N;;;;;
+1FBD0;BOX DRAWINGS LIGHT DIAGONAL MIDDLE RIGHT TO LOWER LEFT;So;0;ON;;;;;N;;;;;
+1FBD1;BOX DRAWINGS LIGHT DIAGONAL UPPER RIGHT TO MIDDLE LEFT;So;0;ON;;;;;N;;;;;
+1FBD2;BOX DRAWINGS LIGHT DIAGONAL UPPER LEFT TO MIDDLE RIGHT;So;0;ON;;;;;N;;;;;
+1FBD3;BOX DRAWINGS LIGHT DIAGONAL MIDDLE LEFT TO LOWER RIGHT;So;0;ON;;;;;N;;;;;
+1FBD4;BOX DRAWINGS LIGHT DIAGONAL UPPER LEFT TO LOWER CENTRE;So;0;ON;;;;;N;;;;;
+1FBD5;BOX DRAWINGS LIGHT DIAGONAL UPPER CENTRE TO LOWER RIGHT;So;0;ON;;;;;N;;;;;
+1FBD6;BOX DRAWINGS LIGHT DIAGONAL UPPER RIGHT TO LOWER CENTRE;So;0;ON;;;;;N;;;;;
+1FBD7;BOX DRAWINGS LIGHT DIAGONAL UPPER CENTRE TO LOWER LEFT;So;0;ON;;;;;N;;;;;
+1FBD8;BOX DRAWINGS LIGHT DIAGONAL UPPER LEFT TO MIDDLE CENTRE TO UPPER RIGHT;So;0;ON;;;;;N;;;;;
+1FBD9;BOX DRAWINGS LIGHT DIAGONAL UPPER RIGHT TO MIDDLE CENTRE TO LOWER RIGHT;So;0;ON;;;;;N;;;;;
+1FBDA;BOX DRAWINGS LIGHT DIAGONAL LOWER LEFT TO MIDDLE CENTRE TO LOWER RIGHT;So;0;ON;;;;;N;;;;;
+1FBDB;BOX DRAWINGS LIGHT DIAGONAL UPPER LEFT TO MIDDLE CENTRE TO LOWER LEFT;So;0;ON;;;;;N;;;;;
+1FBDC;BOX DRAWINGS LIGHT DIAGONAL UPPER LEFT TO LOWER CENTRE TO UPPER RIGHT;So;0;ON;;;;;N;;;;;
+1FBDD;BOX DRAWINGS LIGHT DIAGONAL UPPER RIGHT TO MIDDLE LEFT TO LOWER RIGHT;So;0;ON;;;;;N;;;;;
+1FBDE;BOX DRAWINGS LIGHT DIAGONAL LOWER LEFT TO UPPER CENTRE TO LOWER RIGHT;So;0;ON;;;;;N;;;;;
+1FBDF;BOX DRAWINGS LIGHT DIAGONAL UPPER LEFT TO MIDDLE RIGHT TO LOWER LEFT;So;0;ON;;;;;N;;;;;
+1FBE0;TOP JUSTIFIED LOWER HALF WHITE CIRCLE;So;0;ON;;;;;N;;;;;
+1FBE1;RIGHT JUSTIFIED LEFT HALF WHITE CIRCLE;So;0;ON;;;;;N;;;;;
+1FBE2;BOTTOM JUSTIFIED UPPER HALF WHITE CIRCLE;So;0;ON;;;;;N;;;;;
+1FBE3;LEFT JUSTIFIED RIGHT HALF WHITE CIRCLE;So;0;ON;;;;;N;;;;;
+1FBE4;UPPER CENTRE ONE QUARTER BLOCK;So;0;ON;;;;;N;;;;;
+1FBE5;LOWER CENTRE ONE QUARTER BLOCK;So;0;ON;;;;;N;;;;;
+1FBE6;MIDDLE LEFT ONE QUARTER BLOCK;So;0;ON;;;;;N;;;;;
+1FBE7;MIDDLE RIGHT ONE QUARTER BLOCK;So;0;ON;;;;;N;;;;;
+1FBE8;TOP JUSTIFIED LOWER HALF BLACK CIRCLE;So;0;ON;;;;;N;;;;;
+1FBE9;RIGHT JUSTIFIED LEFT HALF BLACK CIRCLE;So;0;ON;;;;;N;;;;;
+1FBEA;BOTTOM JUSTIFIED UPPER HALF BLACK CIRCLE;So;0;ON;;;;;N;;;;;
+1FBEB;LEFT JUSTIFIED RIGHT HALF BLACK CIRCLE;So;0;ON;;;;;N;;;;;
+1FBEC;TOP RIGHT JUSTIFIED LOWER LEFT QUARTER BLACK CIRCLE;So;0;ON;;;;;N;;;;;
+1FBED;BOTTOM LEFT JUSTIFIED UPPER RIGHT QUARTER BLACK CIRCLE;So;0;ON;;;;;N;;;;;
+1FBEE;BOTTOM RIGHT JUSTIFIED UPPER LEFT QUARTER BLACK CIRCLE;So;0;ON;;;;;N;;;;;
+1FBEF;TOP LEFT JUSTIFIED LOWER RIGHT QUARTER BLACK CIRCLE;So;0;ON;;;;;N;;;;;
diff --git a/tools/data-export/src/coverage-export/block-data.mjs b/tools/data-export/src/coverage-export/block-data.mjs
index 9eac34df5d..c59688c12d 100644
--- a/tools/data-export/src/coverage-export/block-data.mjs
+++ b/tools/data-export/src/coverage-export/block-data.mjs
@@ -1,15 +1,16 @@
-import UnicodeDataIndex from "@unicode/unicode-15.0.0";
+import UnicodeDataIndex from "@unicode/unicode-15.1.0";
export async function collectBlockData() {
const BlockData = [
[[0xe0a0, 0xe0df], "Private Use Area — Powerline"],
[[0xee00, 0xee0f], "Private Use Area — Progress Bar"],
- [[0xef10, 0xef1f], "Private Use Area — Iosevka Private Dingbats"]
+ [[0xef10, 0xef1f], "Private Use Area — Iosevka Private Dingbats"],
+ [[0x1cc00, 0x1ceaf], "Symbols for Legacy Computing Supplement (Purposed)"]
];
for (const id of UnicodeDataIndex.Block) {
if (!id || /Private_Use_Area/.test(id) || /undefined/.test(id)) continue;
- const rangesModule = await import(`@unicode/unicode-15.0.0/Block/${id}/ranges.js`);
+ const rangesModule = await import(`@unicode/unicode-15.1.0/Block/${id}/ranges.js`);
const rg = rangesModule.default;
BlockData.push([[rg[0].begin, rg[0].end - 1], id.replace(/_/g, " ")]);
}
diff --git a/tools/data-export/src/coverage-export/char-data.mjs b/tools/data-export/src/coverage-export/char-data.mjs
new file mode 100644
index 0000000000..12f7dfa7ae
--- /dev/null
+++ b/tools/data-export/src/coverage-export/char-data.mjs
@@ -0,0 +1,59 @@
+import fs from "fs";
+import path from "path";
+import url from "url";
+
+import ugc from "@unicode/unicode-15.1.0/General_Category/index.js";
+import ucdNames from "@unicode/unicode-15.1.0/Names/index.js";
+
+const __dirname = url.fileURLToPath(new URL(".", import.meta.url));
+
+class CharDataLookup {
+ constructor() {
+ this.overrides = new Map();
+ }
+
+ lookup(lch) {
+ if (this.overrides.has(lch)) {
+ return this.overrides.get(lch);
+ } else {
+ return {
+ gc: ugc.get(lch),
+ charName: ucdNames.get(lch)
+ };
+ }
+ }
+}
+
+export async function createCharDataLookup() {
+ const lookup = new CharDataLookup();
+
+ const additionalDataTxt = await fs.promises.readFile(
+ path.join(__dirname, "additional-char-data.txt"),
+ "utf-8"
+ );
+
+ let nameSuffix = "";
+
+ for (let line of additionalDataTxt.split("\n")) {
+ line = line.trim();
+ if (!line || line[0] === "#") continue;
+ if (line[0] === "!") {
+ const [command, ...args] = line.slice(1).trim().split(";");
+ switch (command) {
+ case "NameSuffix": {
+ nameSuffix = args[0];
+ break;
+ }
+ }
+ } else {
+ const parts = line.split(";");
+ const lch = parseInt(parts[0], 16);
+ const name = parts[1] + nameSuffix;
+ const gc = parts[2];
+
+ lookup.overrides.set(lch, { gc, charName: name });
+ }
+ }
+
+ return lookup;
+}
diff --git a/tools/data-export/src/coverage-export/gather-coverage-data.mjs b/tools/data-export/src/coverage-export/gather-coverage-data.mjs
index 9d57b02b44..1479158cca 100644
--- a/tools/data-export/src/coverage-export/gather-coverage-data.mjs
+++ b/tools/data-export/src/coverage-export/gather-coverage-data.mjs
@@ -1,7 +1,5 @@
-import ugc from "@unicode/unicode-15.0.0/General_Category/index.js";
-import ucdNames from "@unicode/unicode-15.0.0/Names/index.js";
-
import { collectBlockData } from "./block-data.mjs";
+import { createCharDataLookup } from "./char-data.mjs";
function findFirstLastChar(lchBlockStart, lchBlockEnd, cov) {
let lchFirst = 0,
@@ -25,13 +23,14 @@ export async function gatherCoverageData(covUpright, covItalic, covOblique) {
const featureSeriesStore = new Map();
const unicodeCoverage = [];
+ const lookup = await createCharDataLookup();
+
for (const [[lchBlockStart, lchBlockEnd], block] of await collectBlockData()) {
let blockResults = [];
const [lchStart, lchEnd] = findFirstLastChar(lchBlockStart, lchBlockEnd, covUpright);
if (!lchStart || !lchEnd) continue;
for (let lch = lchStart; lch < lchEnd; lch++) {
- const chName = ucdNames.get(lch);
- const gc = ugc.get(lch);
+ const { gc, charName } = lookup.lookup(lch);
const cdUpright = covUpright.get(lch);
const cdItalic = covItalic.get(lch);
const cdOblique = covOblique.get(lch);
@@ -39,10 +38,11 @@ export async function gatherCoverageData(covUpright, covItalic, covOblique) {
const [glyphName, typoFs, uprightFs] = cdUpright;
const [, , italicFs] = cdItalic;
const [, , obliqueFs] = cdOblique;
+
blockResults.push({
lch,
gc,
- charName: chName,
+ charName,
inFont: true,
glyphName: glyphName,
...putFeatSeries(featureSeriesStore, "typographicFeatureSets", typoFs),
@@ -51,13 +51,7 @@ export async function gatherCoverageData(covUpright, covItalic, covOblique) {
...putFeatSeries(featureSeriesStore, "cvFeatureSetsOblique", obliqueFs)
});
} else {
- blockResults.push({
- lch,
- gc,
- charName: chName,
- inFont: false,
- glyphName: undefined
- });
+ blockResults.push({ lch, gc, charName, inFont: false, glyphName: undefined });
}
}
if (blockResults.length) {
diff --git a/tools/generate-samples/package.json b/tools/generate-samples/package.json
index 8fa40085fa..b5d6f5c73d 100644
--- a/tools/generate-samples/package.json
+++ b/tools/generate-samples/package.json
@@ -1,11 +1,11 @@
{
"name": "@iosevka/generate-samples",
- "version": "28.0.7",
+ "version": "28.1.0",
"private": true,
"exports": {
".": "./src/index.mjs"
},
"dependencies": {
- "@iosevka/data-export": "28.0.7"
+ "@iosevka/data-export": "28.1.0"
}
}
diff --git a/tools/misc/package.json b/tools/misc/package.json
index 99a214ade9..ec97719d69 100644
--- a/tools/misc/package.json
+++ b/tools/misc/package.json
@@ -1,10 +1,10 @@
{
"name": "@iosevka/misc",
- "version": "28.0.7",
+ "version": "28.1.0",
"private": true,
"dependencies": {
"semver": "^7.5.4",
"wawoff2": "^2.0.1",
- "@iosevka/util": "28.0.7"
+ "@iosevka/util": "28.1.0"
}
}
diff --git a/tools/misc/src/copy-char-name-to-markdown.mjs b/tools/misc/src/copy-char-name-to-markdown.mjs
index 6283a2bcb8..a719186e6b 100644
--- a/tools/misc/src/copy-char-name-to-markdown.mjs
+++ b/tools/misc/src/copy-char-name-to-markdown.mjs
@@ -1,4 +1,4 @@
-import ucdNames from "@unicode/unicode-15.0.0/Names/index.js";
+import ucdNames from "@unicode/unicode-15.1.0/Names/index.js";
const codes = process.argv
.slice(2)
diff --git a/tools/misc/src/generate-ttfa-ranges.mjs b/tools/misc/src/generate-ttfa-ranges.mjs
index 7cb3e6c9b2..69319902a6 100644
--- a/tools/misc/src/generate-ttfa-ranges.mjs
+++ b/tools/misc/src/generate-ttfa-ranges.mjs
@@ -68,7 +68,7 @@ class InUnicodeDataSet {
async load() {
if (this.dataset) return;
- const d = (await import(`@unicode/unicode-15.0.0/${this.subpath}/code-points.js`)).default;
+ const d = (await import(`@unicode/unicode-15.1.0/${this.subpath}/code-points.js`)).default;
this.dataset = new Set(d);
}