Add SS14, CV89 and CV90. Fixes #434.

This commit is contained in:
Belleve Invis 2020-03-06 17:30:21 -08:00
parent 1dc2ce0bf1
commit dd49b74532
15 changed files with 94 additions and 30 deletions

View file

@ -217,6 +217,7 @@ The current available styles for `design`/`upright`/`italic`/`oblique` options a
* `ss11`: Set character variant to “X Window Style”. * `ss11`: Set character variant to “X Window Style”.
* `ss12`: Set character variant to “Ubuntu Mono Style”. * `ss12`: Set character variant to “Ubuntu Mono Style”.
* `ss13`: Set character variant to “Lucida Style”. * `ss13`: Set character variant to “Lucida Style”.
* `ss14`: Set character variant to “Jetbrains Mono Style”.
* `ss20`: Set character variant to “Curly Style”. * `ss20`: Set character variant to “Curly Style”.
<!-- END Section-Stylistic-Sets --> <!-- END Section-Stylistic-Sets -->
@ -280,6 +281,9 @@ The current available styles for `design`/`upright`/`italic`/`oblique` options a
* Styles for `t`: * Styles for `t`:
* `v-t-standard`, `cv40`: Standard `t` shape (default). * `v-t-standard`, `cv40`: Standard `t` shape (default).
* `v-t-cross`, `cv41`: Futura-like `t` shape. * `v-t-cross`, `cv41`: Futura-like `t` shape.
* Styles for `u`:
* `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`.
* Styles for `v`: * Styles for `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.
@ -293,9 +297,6 @@ 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 `ß`:
* `v-eszet-traditional`, `cv34`: Traditional, Fraktur-like Eszet.
* `v-eszet-sulzbacher`, `cv35`: A more modern, beta-like Eszet (default).
* 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`.
@ -347,6 +348,9 @@ The current available styles for `design`/`upright`/`italic`/`oblique` options a
* Styles for `<=`, `>=`: * Styles for `<=`, `>=`:
* `v-lig-ltgteq-flat`, `cv66`: The lower bar of `<=` and `>=` ligation is flat (default). * `v-lig-ltgteq-flat`, `cv66`: The lower bar of `<=` and `>=` ligation is flat (default).
* `v-lig-ltgteq-slanted`, `cv67`: The lower bar of `<=` and `>=` ligation is slanted. * `v-lig-ltgteq-slanted`, `cv67`: The lower bar of `<=` and `>=` ligation is slanted.
* Styles for `ß`:
* `v-eszet-traditional`, `cv34`: Traditional, Fraktur-like Eszet.
* `v-eszet-sulzbacher`, `cv35`: A more modern, beta-like Eszet (default).
<!-- END Section-Cherry-Picking-Styles --> <!-- END Section-Cherry-Picking-Styles -->

View file

@ -221,6 +221,19 @@ design = ["sp-fixed", "ss13"]
family = "Iosevka Term SS13" family = "Iosevka Term SS13"
design = ["sp-term", "ss13"] design = ["sp-term", "ss13"]
[buildPlans.iosevka-ss14]
family = "Iosevka SS14"
design = ["ss14"]
[buildPlans.iosevka-fixed-ss14]
family = "Iosevka Fixed SS14"
design = ["sp-fixed", "ss14"]
[buildPlans.iosevka-term-ss14]
family = "Iosevka Term SS14"
design = ["sp-term", "ss14"]
################################################################################################### ###################################################################################################
# Proportional families # Proportional families
[buildPlans.iosevka-aile] [buildPlans.iosevka-aile]
@ -347,6 +360,10 @@ iosevka-ss13 = "iosevka-ss13"
iosevka-fixed-ss13 = "iosevka-fixed-ss13" iosevka-fixed-ss13 = "iosevka-fixed-ss13"
iosevka-term-ss13 = "iosevka-term-ss13" iosevka-term-ss13 = "iosevka-term-ss13"
iosevka-ss14 = "iosevka-ss14"
iosevka-fixed-ss14 = "iosevka-fixed-ss14"
iosevka-term-ss14 = "iosevka-term-ss14"
# Experimental variants # Experimental variants
iosevka-aile = "iosevka-aile" iosevka-aile = "iosevka-aile"
iosevka-etoile = "iosevka-etoile" iosevka-etoile = "iosevka-etoile"

View file

@ -9,3 +9,6 @@
* Fix broken shape of heavy curly V, etc. * Fix broken shape of heavy curly V, etc.
* Improve double-line arrow ligations. * Improve double-line arrow ligations.
* Add diamond-shaped `<>` ligation, and enabled that for Haskell. * Add diamond-shaped `<>` ligation, and enabled that for Haskell.
* Added bar-less `u` variants, and JetBrains Mono:
* Assigned `cv90` to this variant.
* Assigned `ss14` to the stylistic set.

View file

@ -3332,7 +3332,7 @@ glyph-block LetterUnified-Basic : begin
include : LeftwardTopSerif (RIGHTSB - STROKE * HVCONTRAST) XH SIDEJUT include : LeftwardTopSerif (RIGHTSB - STROKE * HVCONTRAST) XH SIDEJUT
include : LeftwardTopSerif SB XH SIDEJUT include : LeftwardTopSerif SB XH SIDEJUT
save 'u' 'u' save 'u.withBar'
# upsilon # upsilon
sketch # upsilon sketch # upsilon
include MarkSet.e include MarkSet.e
@ -3347,6 +3347,10 @@ glyph-block LetterUnified-Basic : begin
curl (RIGHTSB - OX + O) XH [heading UPWARD] curl (RIGHTSB - OX + O) XH [heading UPWARD]
save 'upsilon' 0x3C5 save 'upsilon' 0x3C5
save 'u.withoutBar'
select-variant 'u' 'u'
define [LatinUpsilon2Shape top sma smb] : glyph-construction define [LatinUpsilon2Shape top sma smb] : glyph-construction
include : dispiro include : dispiro
widths.lhs widths.lhs

Binary file not shown.

Before

Width:  |  Height:  |  Size: 163 KiB

After

Width:  |  Height:  |  Size: 167 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: 900 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

@ -301,6 +301,18 @@
<span class="sample italic" style="font-feature-settings:'cv41'">t</span> <span class="sample italic" style="font-feature-settings:'cv41'">t</span>
</li> </li>
</ol></li> </ol></li>
<li><ol class="group">
<li>
<span class="tag">cv89</span>
<span class="sample" style="font-feature-settings:'cv89'">u</span>
<span class="sample italic" style="font-feature-settings:'cv89'">u</span>
</li>
<li>
<span class="tag">cv90</span>
<span class="sample" style="font-feature-settings:'cv90'">u</span>
<span class="sample italic" style="font-feature-settings:'cv90'">u</span>
</li>
</ol></li>
<li><ol class="group"> <li><ol class="group">
<li> <li>
<span class="tag">cv71</span> <span class="tag">cv71</span>
@ -354,18 +366,6 @@
<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">cv34</span>
<span class="sample" style="font-feature-settings:'cv34'">ß</span>
<span class="sample italic" style="font-feature-settings:'cv34'">ß</span>
</li>
<li>
<span class="tag">cv35</span>
<span class="sample" style="font-feature-settings:'cv35'">ß</span>
<span class="sample italic" style="font-feature-settings:'cv35'">ß</span>
</li>
</ol></li>
<li><ol class="group"> <li><ol class="group">
<li> <li>
<span class="tag">cv13</span> <span class="tag">cv13</span>
@ -576,6 +576,18 @@
<span class="sample" style="font-feature-settings:'cv67'">&gt;=</span> <span class="sample" style="font-feature-settings:'cv67'">&gt;=</span>
</li> </li>
</ol></li> </ol></li>
<li><ol class="group">
<li>
<span class="tag">cv34</span>
<span class="sample" style="font-feature-settings:'cv34'">ß</span>
<span class="sample italic" style="font-feature-settings:'cv34'">ß</span>
</li>
<li>
<span class="tag">cv35</span>
<span class="sample" style="font-feature-settings:'cv35'">ß</span>
<span class="sample italic" style="font-feature-settings:'cv35'">ß</span>
</li>
</ol></li>
</ol> </ol>
</section> </section>
<section id="stylesets" class="opentype"> <section id="stylesets" class="opentype">
@ -651,6 +663,11 @@
<span class="sample" style="font-feature-settings:'ss13'">@rea<b>l</b> fox.qu<b>i</b>ck(h){ *<b>i</b>s<b>_</b>brown && <b>i</b>t<b>_</b>jumps<b>_</b>over(dogs.<b>l</b>azy) } <b>0</b><b>1</b>23456789 ABCKRWXYZ</span> <span class="sample" style="font-feature-settings:'ss13'">@rea<b>l</b> fox.qu<b>i</b>ck(h){ *<b>i</b>s<b>_</b>brown && <b>i</b>t<b>_</b>jumps<b>_</b>over(dogs.<b>l</b>azy) } <b>0</b><b>1</b>23456789 ABCKRWXYZ</span>
<span class="sample italic" style="font-feature-settings:'ss13'">@rea<b>l</b> fox.qu<b>i</b>ck(h){ *<b>i</b>s<b>_</b>brown && <b>i</b>t<b>_</b>jumps<b>_</b>over(dogs.<b>l</b>azy) } <b>0</b><b>1</b>23456789 ABCKRWXYZ</span> <span class="sample italic" style="font-feature-settings:'ss13'">@rea<b>l</b> fox.qu<b>i</b>ck(h){ *<b>i</b>s<b>_</b>brown && <b>i</b>t<b>_</b>jumps<b>_</b>over(dogs.<b>l</b>azy) } <b>0</b><b>1</b>23456789 ABCKRWXYZ</span>
</li> </li>
<li>
<span class="tag">ss14</span><span class="description">Jetbrains Mono Style</span>
<span class="sample" style="font-feature-settings:'ss14'">@rea<b>l</b> fox.q<b>u</b><b>i</b>ck(h){ <b>*</b><b>i</b>s_brown && <b>i</b>t_j<b>u</b>mps_over(dogs.<b>l</b>azy) } <b>0</b>12<b>3</b>456789 ABCKRWXYZ</span>
<span class="sample italic" style="font-feature-settings:'ss14'">@rea<b>l</b> fox.q<b>u</b><b>i</b>ck(h){ <b>*</b><b>i</b>s_brown && <b>i</b>t_j<b>u</b>mps_over(dogs.<b>l</b>azy) } <b>0</b>12<b>3</b>456789 ABCKRWXYZ</span>
</li>
<li> <li>
<span class="tag">ss20</span><span class="description">Curly Style</span> <span class="tag">ss20</span><span class="description">Curly Style</span>
<span class="sample" style="font-feature-settings:'ss20'">@real fo<b>x</b>.quic<b>k</b>(h){ *is_bro<b>w</b>n && it_jumps_o<b>v</b>er(dogs.laz<b>y</b>) } 0123456789 <b>A</b>BC<b>K</b><b>R</b><b>W</b><b>X</b><b>Y</b>Z</span> <span class="sample" style="font-feature-settings:'ss20'">@real fo<b>x</b>.quic<b>k</b>(h){ *is_bro<b>w</b>n && it_jumps_o<b>v</b>er(dogs.laz<b>y</b>) } 0123456789 <b>A</b>BC<b>K</b><b>R</b><b>W</b><b>X</b><b>Y</b>Z</span>

View file

@ -90,6 +90,8 @@ const PackageShapes = {
ss10: ["Envy Code R Style", "SS10"], ss10: ["Envy Code R Style", "SS10"],
ss11: ["X Windows Fixed Style", "SS11"], ss11: ["X Windows Fixed Style", "SS11"],
ss12: ["Ubuntu Mono Style", "SS12"], ss12: ["Ubuntu Mono Style", "SS12"],
ss13: ["Lucida Style", "SS13"],
ss14: ["JetBrains Mono Style", "SS14"],
aile: ["Quasi-proportional", "Aile", false, false, true], aile: ["Quasi-proportional", "Aile", false, false, true],
etoile: ["Quasi-proportional slab-serif", "Etoile", false, false, true], etoile: ["Quasi-proportional slab-serif", "Etoile", false, false, true],
sparkle: ["Quasi-proportional family — like iA Writers Duo.", "Sparkle", false, false, true] sparkle: ["Quasi-proportional family — like iA Writers Duo.", "Sparkle", false, false, true]

View file

@ -49,7 +49,7 @@ 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") || initialChar === "ß") 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

@ -253,6 +253,18 @@ sampler = 't'
description = 'Futura-like `t` shape' description = 'Futura-like `t` shape'
t = 'cross' t = 'cross'
[simple.v-u-with-bar]
tag = "cv89"
sampler = "u"
description = "Normal `u` with right bar"
u = "withBar"
[simple.v-u-without-bar]
tag = "cv90"
sampler = "u"
description = "Normal `u` without right bar, like a smaller uppercase `U`"
u = "withoutBar"
[simple.v-v-straight] [simple.v-v-straight]
tag = "cv71" tag = "cv71"
sampler = 'v' sampler = 'v'
@ -316,18 +328,6 @@ description = 'Cursive-like `y`'
y = "cursive" y = "cursive"
yhooktop = "straight" yhooktop = "straight"
[simple.v-eszet-traditional]
tag = 'cv34'
sampler = 'ß'
description = 'Traditional, Fraktur-like Eszet'
eszet = 'traditional'
[simple.v-eszet-sulzbacher]
tag = 'cv35'
sampler = 'ß'
description = 'A more modern, beta-like Eszet'
eszet = 'sulzbacher'
[simple.v-zero-slashed] [simple.v-zero-slashed]
tag = 'cv13' tag = 'cv13'
sampler = '0' sampler = '0'
@ -554,6 +554,18 @@ description = 'The lower bar of `<=` and `>=` ligation is slanted'
"eq.at-lteq.lig2" = "slanted" "eq.at-lteq.lig2" = "slanted"
"eq.at-gteq.lig2" = "slanted" "eq.at-gteq.lig2" = "slanted"
[simple.v-eszet-traditional]
tag = 'cv34'
sampler = 'ß'
description = 'Traditional, Fraktur-like Eszet'
eszet = 'traditional'
[simple.v-eszet-sulzbacher]
tag = 'cv35'
sampler = 'ß'
description = 'A more modern, beta-like Eszet'
eszet = 'sulzbacher'
########## "Untagged" variants, used for Aile, etc. ########## "Untagged" variants, used for Aile, etc.
[simple.v-capital-i-straight] [simple.v-capital-i-straight]
@ -614,7 +626,8 @@ design = [
'v-w-straight', 'v-w-straight',
'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'
] ]
upright = [ upright = [
'v-a-doublestorey', 'v-a-doublestorey',
@ -699,6 +712,10 @@ design = ['v-at-threefold', 'v-a-doublestorey', 'v-f-straight', 'v-underscore-lo
description = 'Lucida Style' description = 'Lucida Style'
design = ['v-i-hooky', 'v-l-hooky', 'v-zero-dotted', 'v-underscore-low', 'v-caret-low', 'v-numbersign-slanted', 'v-one-base'] design = ['v-i-hooky', 'v-l-hooky', 'v-zero-dotted', 'v-underscore-low', 'v-caret-low', 'v-numbersign-slanted', 'v-one-base']
[composite.ss14]
description = 'JetBrains Mono Style'
design = ['v-i-serifed', 'v-l-italic', 'v-u-without-bar', 'v-zero-dotted', 'v-three-flattop', 'v-capital-q-straight', 'v-asterisk-low']
[composite.ss20] [composite.ss20]
description = 'Curly Style' description = 'Curly Style'
design = ['v-v-curly', 'v-turn-v-curly', 'v-w-curly', 'v-x-curly', 'v-capital-y-curly', 'v-capital-r-curly'] design = ['v-v-curly', 'v-turn-v-curly', 'v-w-curly', 'v-x-curly', 'v-capital-y-curly', 'v-capital-r-curly']