Add toothless G. Fix #442, #443

This commit is contained in:
Belleve Invis 2020-03-12 22:51:53 -07:00
parent 5e88b187e5
commit a6e27b66cc
20 changed files with 194 additions and 133 deletions

View file

@ -226,18 +226,6 @@ The current available styles for `design`/`upright`/`italic`/`oblique` options a
* Styles for individual characters. They are easy-to-understand names of the `cv##` styles, including: * Styles for individual characters. They are easy-to-understand names of the `cv##` styles, including:
* Styles for `A`, `Λ`, `Δ`:
* `v-turn-v-straight`, `cv73`: Standard, straight `A`, `Λ`, `Δ` (default).
* `v-turn-v-curly`, `cv74`: Slightly curly `A`, `Λ`, `Δ`, like Iosevka 2.x.
* Styles for `Q`:
* `v-capital-q-taily`, `cv42`: `Q` with a curly tail (default).
* `v-capital-q-straight`, `cv43`: `Q` with a straight tail like in the old versions.
* Styles for `Y`:
* `v-capital-y-straight`, `cv80`: Standard, straight `Y` (default).
* `v-capital-y-curly`, `cv81`: Slightly curly `Y`, like Iosevka 2.x.
* Styles for `R`:
* `v-capital-r-straight`, `cv82`: Standard, straight-leg `R` (default).
* `v-capital-r-curly`, `cv83`:  Slightly curly-legged `R`, like Iosevka 2.x.
* Styles for `a`: * Styles for `a`:
* `v-a-doublestorey`, `cv01`: Double-storey `a` (default for Upright). * `v-a-doublestorey`, `cv01`: Double-storey `a` (default for Upright).
* `v-a-singlestorey`, `cv02`: Single-storey `a` (default for Italic). * `v-a-singlestorey`, `cv02`: Single-storey `a` (default for Italic).
@ -284,7 +272,7 @@ The current available styles for `design`/`upright`/`italic`/`oblique` options a
* Styles for `u`: * Styles for `u`:
* `v-u-with-bar`, `cv89`: Normal `u` with right bar (default). * `v-u-with-bar`, `cv89`: Normal `u` with right bar (default).
* `v-u-without-bar`, `cv90`: Normal `u` without right bar, like a smaller uppercase `U`. * `v-u-without-bar`, `cv90`: Normal `u` without right bar, like a smaller uppercase `U`.
* Styles for `v`: * Styles for `v`, `V`:
* `v-v-straight`, `cv71`: Standard, straight `V` and `v` (default). * `v-v-straight`, `cv71`: Standard, straight `V` and `v` (default).
* `v-v-curly`, `cv72`:  Slightly curly `V` and `v`, like Iosevka 2.x. * `v-v-curly`, `cv72`:  Slightly curly `V` and `v`, like Iosevka 2.x.
* Styles for `w`, `W`: * Styles for `w`, `W`:
@ -297,6 +285,21 @@ The current available styles for `design`/`upright`/`italic`/`oblique` options a
* `v-y-straight`, `cv48`: More-straight letter `y` (default for Upright). * `v-y-straight`, `cv48`: More-straight letter `y` (default for Upright).
* `v-y-cursive`, `cv49`: Cursive-like `y` (default for Italic). * `v-y-cursive`, `cv49`: Cursive-like `y` (default for Italic).
* `v-y-curly`, `cv79`: More curly letter `y`, like Iosevka 2.x. * `v-y-curly`, `cv79`: More curly letter `y`, like Iosevka 2.x.
* Styles for `G`:
* `v-capital-g-tooth`, `cv91`: Toothed G (default).
* `v-capital-g-toothless`, `cv92`: Toothless G.
* Styles for `A`, `Λ`, `Δ`:
* `v-turn-v-straight`, `cv73`: Standard, straight `A`, `Λ`, `Δ` (default).
* `v-turn-v-curly`, `cv74`: Slightly curly `A`, `Λ`, `Δ`, like Iosevka 2.x.
* Styles for `Q`:
* `v-capital-q-taily`, `cv42`: `Q` with a curly tail (default).
* `v-capital-q-straight`, `cv43`: `Q` with a straight tail like in the old versions.
* Styles for `Y`:
* `v-capital-y-straight`, `cv80`: Standard, straight `Y` (default).
* `v-capital-y-curly`, `cv81`: Slightly curly `Y`, like Iosevka 2.x.
* Styles for `R`:
* `v-capital-r-straight`, `cv82`: Standard, straight-leg `R` (default).
* `v-capital-r-curly`, `cv83`:  Slightly curly-legged `R`, like Iosevka 2.x.
* Styles for `0`: * Styles for `0`:
* `v-zero-slashed`, `cv13`: Slashed Zero `0` (default). * `v-zero-slashed`, `cv13`: Slashed Zero `0` (default).
* `v-zero-dotted`, `cv14`: Dotted Zero `0`. * `v-zero-dotted`, `cv14`: Dotted Zero `0`.
@ -327,13 +330,13 @@ The current available styles for `design`/`upright`/`italic`/`oblique` options a
* Styles for `^`: * Styles for `^`:
* `v-caret-high`, `cv29`: Higher circumflex `^` (default). * `v-caret-high`, `cv29`: Higher circumflex `^` (default).
* `v-caret-low`, `cv30`: Lower circumflex `^`. * `v-caret-low`, `cv30`: Lower circumflex `^`.
* Styles for `{`, `}`:
* `v-brace-straight`, `cv36`: More straight braces.
* `v-brace-curly`, `cv37`: More curly braces (default).
* Styles for `@`: * Styles for `@`:
* `v-at-threefold`, `cv31`: The long, three-fold At symbol (`@`) (default). * `v-at-threefold`, `cv31`: The long, three-fold At symbol (`@`) (default).
* `v-at-fourfold`, `cv32`: The traditional, four-fold At symbol (`@`). * `v-at-fourfold`, `cv32`: The traditional, four-fold At symbol (`@`).
* `v-at-short`, `cv33`: The shorter, Fira-like At symbol (`@`). * `v-at-short`, `cv33`: The shorter, Fira-like At symbol (`@`).
* Styles for `{`, `}`:
* `v-brace-straight`, `cv36`: More straight braces.
* `v-brace-curly`, `cv37`: More curly braces (default).
* Styles for `$`: * Styles for `$`:
* `v-dollar-open`, `cv38`: Dollar symbol with open contour. * `v-dollar-open`, `cv38`: Dollar symbol with open contour.
* `v-dollar-through`, `cv39`: Dollar symbol with strike-through vertical bar (default). * `v-dollar-through`, `cv39`: Dollar symbol with strike-through vertical bar (default).

View file

@ -2764,54 +2764,86 @@ glyph-block LetterUnified-Basic : begin
### G ### G
do "G and related =============================================================================" do "G and related ============================================================================="
define [GShape top sma smb] : glyph-construction define [GShape fTooth top sma smb] : glyph-construction
local yBar : top * 0.52 + STROKE * 0.25 local yBar : top * 0.52 + STROKE * 0.25
local fine SHOULDERFINE local fine SHOULDERFINE
local sb : shoulderMidSlope fine nothing (-1) local sb : shoulderMidSlope fine nothing (-1)
include : dispiro
local knots : list
widths.lhs widths.lhs
g4 RIGHTSB (top - HOOK) g4 RIGHTSB (top - HOOK)
hookstart (top - O) hookstart (top - O)
flat (SB + OX) (top - sma) flat (SB + OX) (top - sma)
curl (SB + OX) smb curl (SB + OX) smb
arcvh arcvh
if fTooth
: then : knots.push
g4.right.mid (MIDDLE + (CORRECTION_OMIDX - sb) * STROKE) O [widths.heading STROKE 0 {.y (1) .x (sb)}] g4.right.mid (MIDDLE + (CORRECTION_OMIDX - sb) * STROKE) O [widths.heading STROKE 0 {.y (1) .x (sb)}]
archv archv
straight.up.end (RIGHTSB - (STROKE - fine) * HVCONTRAST) sma [widths.heading fine 0 UPWARD] straight.up.end (RIGHTSB - (STROKE - fine) * HVCONTRAST) sma [widths.heading fine 0 UPWARD]
: else : knots.push
g4 (MIDDLE + CORRECTION_OMIDS) O
flat RIGHTSB sma
curl RIGHTSB yBar [heading UPWARD]
include : dispiro.apply null knots
include : HBarTop MIDDLE RIGHTSB yBar include : HBarTop MIDDLE RIGHTSB yBar
if fTooth : include
include : VBarRight RIGHTSB sma yBar include : VBarRight RIGHTSB sma yBar
include : VBarRight RIGHTSB sma 0 (STROKE - fine / 2) include : VBarRight RIGHTSB sma 0 (STROKE - fine / 2)
define [HookTopShapeOfG top] : union
VBarRight (RIGHTSB - OXHOOK) (top - HOOK) top
VerticalHook (RIGHTSB - HALFSTROKE * HVCONTRAST - OXHOOK) top HOOKX (-HOOK) nothing O
define [OverlayBarOfG top] : HOverlayBar [mix SB RIGHTSB 0.5] [mix RIGHTSB WIDTH 0.7] [mix 0 (top / 2) 0.55]
sketch # G sketch # G
set-width WIDTH
include MarkSet.capital include MarkSet.capital
include : GShape CAP SMOOTHA SMOOTHB branch
save 'G' 'G' include : GShape true CAP SMOOTHA SMOOTHB
save 'G.toothed'
branch
include : HookTopShapeOfG CAP
save 'Ghooktop.toothed'
branch
include : OverlayBarOfG CAP
save 'Gbar.toothed'
branch
include : GShape false CAP SMOOTHA SMOOTHB
save 'G.toothless'
branch
include : HookTopShapeOfG CAP
save 'Ghooktop.toothless'
branch
include : OverlayBarOfG CAP
save 'Gbar.toothless'
sketch # smcpG sketch # smcpG
include MarkSet.e include MarkSet.e
include : GShape XH SMOOTHA SMOOTHB branch
include : GShape true XH SMOOTHA SMOOTHB
save 'smcpG.toothed'
branch
include : HookTopShapeOfG CAP
save 'smcpGhooktop.toothed'
save 'smcpG' 0x262 branch
include : GShape false XH SMOOTHA SMOOTHB
save 'smcpG.toothless'
branch
include : HookTopShapeOfG CAP
save 'smcpGhooktop.toothless'
sketch # Ghooktop select-variant 'G' 'G'
include glyphs.G AS_BASE select-variant 'smcpG' 0x262 (follow -- 'G')
include : VBarRight (RIGHTSB - OXHOOK) (CAP - HOOK) CAP select-variant 'Ghooktop' 0x193 (follow -- 'G')
include : VerticalHook (RIGHTSB - HALFSTROKE * HVCONTRAST - OXHOOK) CAP HOOKX (-HOOK) nothing O select-variant 'smcpGhooktop' 0x29B (follow -- 'G')
select-variant 'Gbar' 0x1E4 (follow -- 'G')
save 'Ghooktop' 0x193
sketch # smcpGhooktop
include glyphs.smcpG AS_BASE
include : VBarRight (RIGHTSB - OXHOOK) (XH - HOOK) XH
include : VerticalHook (RIGHTSB - HALFSTROKE * HVCONTRAST - OXHOOK) XH HOOKX (-HOOK) nothing O
save 'smcpGhooktop' 0x29B
sketch # Gbar
include glyphs.G AS_BASE
include : HOverlayBar [mix SB RIGHTSB 0.5] [mix RIGHTSB WIDTH 0.7] [mix 0 CAPMIDDLE 0.55]
save 'Gbar' 0x1E4
### g ### g
do "g and related =============================================================================" do "g and related ============================================================================="

Binary file not shown.

Before

Width:  |  Height:  |  Size: 167 KiB

After

Width:  |  Height:  |  Size: 171 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 396 KiB

After

Width:  |  Height:  |  Size: 396 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 339 KiB

After

Width:  |  Height:  |  Size: 339 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 174 KiB

After

Width:  |  Height:  |  Size: 174 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 336 KiB

After

Width:  |  Height:  |  Size: 336 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 960 KiB

After

Width:  |  Height:  |  Size: 960 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 319 KiB

After

Width:  |  Height:  |  Size: 319 KiB

Before After
Before After

View file

@ -69,54 +69,6 @@
</pre></section></section><section id="charvars" class="opentype char-vars"> </pre></section></section><section id="charvars" class="opentype char-vars">
<div class="hr">Character Variants</div> <div class="hr">Character Variants</div>
<ol class="narrow"> <ol class="narrow">
<li><ol class="group">
<li>
<span class="tag">cv73</span>
<span class="sample" style="font-feature-settings:'cv73'">A</span>
<span class="sample italic" style="font-feature-settings:'cv73'">A</span>
</li>
<li>
<span class="tag">cv74</span>
<span class="sample" style="font-feature-settings:'cv74'">A</span>
<span class="sample italic" style="font-feature-settings:'cv74'">A</span>
</li>
</ol></li>
<li><ol class="group">
<li>
<span class="tag">cv42</span>
<span class="sample" style="font-feature-settings:'cv42'">Q</span>
<span class="sample italic" style="font-feature-settings:'cv42'">Q</span>
</li>
<li>
<span class="tag">cv43</span>
<span class="sample" style="font-feature-settings:'cv43'">Q</span>
<span class="sample italic" style="font-feature-settings:'cv43'">Q</span>
</li>
</ol></li>
<li><ol class="group">
<li>
<span class="tag">cv80</span>
<span class="sample" style="font-feature-settings:'cv80'">Y</span>
<span class="sample italic" style="font-feature-settings:'cv80'">Y</span>
</li>
<li>
<span class="tag">cv81</span>
<span class="sample" style="font-feature-settings:'cv81'">Y</span>
<span class="sample italic" style="font-feature-settings:'cv81'">Y</span>
</li>
</ol></li>
<li><ol class="group">
<li>
<span class="tag">cv82</span>
<span class="sample" style="font-feature-settings:'cv82'">R</span>
<span class="sample italic" style="font-feature-settings:'cv82'">R</span>
</li>
<li>
<span class="tag">cv83</span>
<span class="sample" style="font-feature-settings:'cv83'">R</span>
<span class="sample italic" style="font-feature-settings:'cv83'">R</span>
</li>
</ol></li>
<li><ol class="group"> <li><ol class="group">
<li> <li>
<span class="tag">cv01</span> <span class="tag">cv01</span>
@ -366,6 +318,66 @@
<span class="sample italic" style="font-feature-settings:'cv79'">y</span> <span class="sample italic" style="font-feature-settings:'cv79'">y</span>
</li> </li>
</ol></li> </ol></li>
<li><ol class="group">
<li>
<span class="tag">cv91</span>
<span class="sample" style="font-feature-settings:'cv91'">G</span>
<span class="sample italic" style="font-feature-settings:'cv91'">G</span>
</li>
<li>
<span class="tag">cv92</span>
<span class="sample" style="font-feature-settings:'cv92'">G</span>
<span class="sample italic" style="font-feature-settings:'cv92'">G</span>
</li>
</ol></li>
<li><ol class="group">
<li>
<span class="tag">cv73</span>
<span class="sample" style="font-feature-settings:'cv73'">A</span>
<span class="sample italic" style="font-feature-settings:'cv73'">A</span>
</li>
<li>
<span class="tag">cv74</span>
<span class="sample" style="font-feature-settings:'cv74'">A</span>
<span class="sample italic" style="font-feature-settings:'cv74'">A</span>
</li>
</ol></li>
<li><ol class="group">
<li>
<span class="tag">cv42</span>
<span class="sample" style="font-feature-settings:'cv42'">Q</span>
<span class="sample italic" style="font-feature-settings:'cv42'">Q</span>
</li>
<li>
<span class="tag">cv43</span>
<span class="sample" style="font-feature-settings:'cv43'">Q</span>
<span class="sample italic" style="font-feature-settings:'cv43'">Q</span>
</li>
</ol></li>
<li><ol class="group">
<li>
<span class="tag">cv80</span>
<span class="sample" style="font-feature-settings:'cv80'">Y</span>
<span class="sample italic" style="font-feature-settings:'cv80'">Y</span>
</li>
<li>
<span class="tag">cv81</span>
<span class="sample" style="font-feature-settings:'cv81'">Y</span>
<span class="sample italic" style="font-feature-settings:'cv81'">Y</span>
</li>
</ol></li>
<li><ol class="group">
<li>
<span class="tag">cv82</span>
<span class="sample" style="font-feature-settings:'cv82'">R</span>
<span class="sample italic" style="font-feature-settings:'cv82'">R</span>
</li>
<li>
<span class="tag">cv83</span>
<span class="sample" style="font-feature-settings:'cv83'">R</span>
<span class="sample italic" style="font-feature-settings:'cv83'">R</span>
</li>
</ol></li>
<li><ol class="group"> <li><ol class="group">
<li> <li>
<span class="tag">cv13</span> <span class="tag">cv13</span>
@ -489,6 +501,18 @@
<span class="sample italic" style="font-feature-settings:'cv30'">^</span> <span class="sample italic" style="font-feature-settings:'cv30'">^</span>
</li> </li>
</ol></li> </ol></li>
<li><ol class="group">
<li>
<span class="tag">cv36</span>
<span class="sample" style="font-feature-settings:'cv36'">{</span>
<span class="sample" style="font-feature-settings:'cv36'">}</span>
</li>
<li>
<span class="tag">cv37</span>
<span class="sample" style="font-feature-settings:'cv37'">{</span>
<span class="sample" style="font-feature-settings:'cv37'">}</span>
</li>
</ol></li>
<li><ol class="group"> <li><ol class="group">
<li> <li>
<span class="tag">cv31</span> <span class="tag">cv31</span>
@ -506,18 +530,6 @@
<span class="sample italic" style="font-feature-settings:'cv33'">@</span> <span class="sample italic" style="font-feature-settings:'cv33'">@</span>
</li> </li>
</ol></li> </ol></li>
<li><ol class="group">
<li>
<span class="tag">cv36</span>
<span class="sample" style="font-feature-settings:'cv36'">{</span>
<span class="sample" style="font-feature-settings:'cv36'">}</span>
</li>
<li>
<span class="tag">cv37</span>
<span class="sample" style="font-feature-settings:'cv37'">{</span>
<span class="sample" style="font-feature-settings:'cv37'">}</span>
</li>
</ol></li>
<li><ol class="group"> <li><ol class="group">
<li> <li>
<span class="tag">cv38</span> <span class="tag">cv38</span>

View file

@ -1,8 +1,8 @@
const fs = require("fs-extra"); const fs = require("fs-extra");
const path = require("path"); const path = require("path");
const parseVariantsData = require("../generate-snapshot-page/parse-variants-data"); const parseVariantsData = require("../export-data/parse-variants-data");
const parseLigationData = require("../generate-snapshot-page/ligation-data"); const parseLigationData = require("../export-data/ligation-data");
const getCharMapAndSupportedLanguageList = require("../generate-supported-languages/proc"); const getCharMapAndSupportedLanguageList = require("../export-data/supported-languages");
const charMapPath = process.argv[2]; const charMapPath = process.argv[2];
main().catch(e => { main().catch(e => {

View file

@ -1,7 +1,7 @@
const fs = require("fs-extra"); const fs = require("fs-extra");
const parseVariantsData = require("../generate-snapshot-page/parse-variants-data"); const parseVariantsData = require("./parse-variants-data");
const parseLigationData = require("../generate-snapshot-page/ligation-data"); const parseLigationData = require("./ligation-data");
const getCharMapAndSupportedLanguageList = require("../generate-supported-languages/proc"); const getCharMapAndSupportedLanguageList = require("./supported-languages");
const version = require("../../package.json").version; const version = require("../../package.json").version;

View file

@ -48,8 +48,8 @@ function getCvData(variants) {
} }
function rankOf(initialChar) { function rankOf(initialChar) {
if ("A" <= initialChar && initialChar <= "Z") return 3; if ("a" <= initialChar && initialChar <= "z") return 3;
if ("a" <= initialChar && initialChar <= "z") return 2; if ("A" <= initialChar && initialChar <= "Z") return 2;
if ("0" <= initialChar && initialChar <= "9") return 1; if ("0" <= initialChar && initialChar <= "9") return 1;
return 0; return 0;
} }

View file

@ -19,11 +19,13 @@ class Output {
async function main() { async function main() {
const out = new Output(); const out = new Output();
await GenerateChangeList(out);
await CopyMarkdown(out, "packages-desc.md"); await CopyMarkdown(out, "packages-desc.md");
await GeneratePackageList(out); await GeneratePackageList(out);
await CopyMarkdown(out, "style-set-sample-image.md"); await CopyMarkdown(out, "style-set-sample-image.md");
await CopyMarkdown(out, "deprecated-packages.md"); await CopyMarkdown(out, "package-reorg.md");
await GenerateChangeList(out);
await fs.ensureDir(path.join(__dirname, `../../release-archives/`)); await fs.ensureDir(path.join(__dirname, `../../release-archives/`));
await fs.writeFile( await fs.writeFile(
path.join(__dirname, `../../release-archives/release-notes-${Version}.md`), path.join(__dirname, `../../release-archives/release-notes-${Version}.md`),

View file

@ -4,7 +4,7 @@ Iosevka provides a large variety of variants. Prebuilt variants are described be
- **Spacing** : How wide some specific characters are. - **Spacing** : How wide some specific characters are.
- _Default_: The default variant with ligatures. Various symbols, like arrows and geometric, are wide (2-column). - _Default_: The default variant with ligatures. Various symbols, like arrows and geometric, are wide (2-column).
- _Terminal_ (“Term”)A narrower variant focusing terminal uses. Arrows and geometric symbols will be narrow ti follow typical terminal usages. - _Terminal_ (“Term”)A narrower variant focusing terminal uses. Arrows and geometric symbols will be narrow to follow typical terminal usages.
- _Fixed_: Exact monospace font without ligatures and wide glyphs. Since some environments cannot interpret Iosevka or Iosevka Term as monospace, and have difficulties with ligatures included, you can use Iosevka Fixed as an alternative. - _Fixed_: Exact monospace font without ligatures and wide glyphs. Since some environments cannot interpret Iosevka or Iosevka Term as monospace, and have difficulties with ligatures included, you can use Iosevka Fixed as an alternative.
- **Shape** : Key shape parameters: - **Shape** : Key shape parameters:
- *Slab*: Letters will contain slab serif. - *Slab*: Letters will contain slab serif.

View file

@ -1,8 +1,8 @@
const ejs = require("ejs"); const ejs = require("ejs");
const fs = require("fs-extra"); const fs = require("fs-extra");
const path = require("path"); const path = require("path");
const parseVariantsData = require("./parse-variants-data"); const parseVariantsData = require("../export-data/parse-variants-data");
const getLigationData = require("./ligation-data"); const getLigationData = require("../export-data/ligation-data");
main().catch(e => { main().catch(e => {
console.error(e); console.error(e);

View file

@ -1,4 +1,15 @@
# Variants # Variants
[simple.v-capital-g-tooth]
tag = "cv91"
sampler = "G"
description = "Toothed G"
G = "toothed"
[simple.v-capital-g-toothless]
tag = "cv92"
sampler = "G"
description = "Toothless G"
G = "toothless"
[simple.v-turn-v-straight] [simple.v-turn-v-straight]
tag = "cv73" tag = "cv73"
@ -267,14 +278,14 @@ u = "withoutBar"
[simple.v-v-straight] [simple.v-v-straight]
tag = "cv71" tag = "cv71"
sampler = 'v' sampler = 'vV'
description = 'Standard, straight `V` and `v`' description = 'Standard, straight `V` and `v`'
v = "straight" v = "straight"
V = "straight" V = "straight"
[simple.v-v-curly] [simple.v-v-curly]
tag = "cv72" tag = "cv72"
sampler = 'v' sampler = 'vV'
description = ' Slightly curly `V` and `v`, like Iosevka 2.x' description = ' Slightly curly `V` and `v`, like Iosevka 2.x'
v = "curly" v = "curly"
V = "curly" V = "curly"
@ -456,6 +467,20 @@ sampler = '^'
description = 'Lower circumflex `^`' description = 'Lower circumflex `^`'
asciicaret = 'low' asciicaret = 'low'
[simple.v-brace-straight]
tag = 'cv36'
sampler = '{ }'
description = 'More straight braces'
braceLeft = 'straight'
braceRight = 'straight'
[simple.v-brace-curly]
tag = 'cv37'
sampler = '{ }'
description = 'More curly braces'
braceLeft = 'curly'
braceRight = 'curly'
[simple.v-at-threefold] [simple.v-at-threefold]
tag = 'cv31' tag = 'cv31'
sampler = '@' sampler = '@'
@ -474,20 +499,6 @@ sampler = '@'
description = 'The shorter, Fira-like At symbol (`@`)' description = 'The shorter, Fira-like At symbol (`@`)'
at = 'short' at = 'short'
[simple.v-brace-straight]
tag = 'cv36'
sampler = '{ }'
description = 'More straight braces'
braceLeft = 'straight'
braceRight = 'straight'
[simple.v-brace-curly]
tag = 'cv37'
sampler = '{ }'
description = 'More curly braces'
braceLeft = 'curly'
braceRight = 'curly'
[simple.v-dollar-open] [simple.v-dollar-open]
tag = 'cv38' tag = 'cv38'
sampler = '$' sampler = '$'
@ -627,7 +638,8 @@ design = [
'v-x-straight', 'v-x-straight',
'v-capital-y-straight', 'v-capital-y-straight',
'v-capital-r-straight', 'v-capital-r-straight',
'v-u-with-bar' 'v-u-with-bar',
'v-capital-g-tooth'
] ]
upright = [ upright = [
'v-a-doublestorey', 'v-a-doublestorey',