Add force-upright bar symbols (#652).

This commit is contained in:
be5invis 2020-07-29 18:41:20 -07:00
parent 75e81a68ff
commit 86038037c0
69 changed files with 269 additions and 22 deletions

View file

@ -31,9 +31,9 @@ All versions include the same ranges of characters: Latin letters, Greek letters
<!-- BEGIN Section-Language-List --> <!-- BEGIN Section-Language-List -->
<!-- THIS SECTION IS AUTOMATICALLY GENERATED. DO NOT EDIT. --> <!-- THIS SECTION IS AUTOMATICALLY GENERATED. DO NOT EDIT. -->
160 Supported Languages: 162 Supported Languages:
Afrikaans, Aghem, Akan, Albanian, Asturian, Asu, Azerbaijani, Bafia, Bambara, Basaa, Basque, Belarusian, Bemba, Bena, Bosnian, Breton, Bulgarian, Catalan, Cebuano, Central Atlas Tamazight, Chechen, Chiga, Colognian, Cornish, Croatian, Czech, Danish, Duala, Dutch, Embu, English, Esperanto, Estonian, Ewe, Ewondo, Faroese, Filipino, Finnish, French, Friulian, Fulah, Galician, Ganda, German, Greek, Gusii, Hausa, Hawaiian, Hungarian, Icelandic, Igbo, Inari Sami, Indonesian, Interlingua, Irish, Italian, Javanese, Jola-Fonyi, Kabuverdianu, Kabyle, Kako, Kalaallisut, Kalenjin, Kamba, Kazakh, Kikuyu, Kinyarwanda, Koyra Chiini, Koyraboro Senni, Kurdish, Kwasio, Kyrgyz, Lakota, Langi, Latvian, Lingala, Lithuanian, Low German, Lower Sorbian, Luba-Katanga, Luo, Luxembourgish, Luyia, Macedonian, Machame, Makhuwa-Meetto, Makonde, Malagasy, Malay, Maltese, Manx, Maori, Masai, Meru, Metaʼ, Mongolian, Morisyen, Mundang, Nama, Ngiemboon, North Ndebele, Northern Sami, Norwegian Bokmål, Norwegian Nynorsk, Nuer, Nyankole, Oromo, Ossetic, Polish, Portuguese, Prussian, Quechua, Romanian, Romansh, Rombo, Rundi, Russian, Rwa, Sakha, Samburu, Sango, Sangu, Scottish Gaelic, Sena, Serbian, Shambala, Shona, Slovak, Slovenian, Soga, Somali, Spanish, Swahili, Swedish, Swiss German, Tachelhit (shi_latn), Taita, Tajik, Tasawaq, Tatar, Teso, Tongan, Turkish, Turkmen, Ukrainian, Upper Sorbian, Uzbek, Vai (vai_latn), Vietnamese, Volapük, Vunjo, Walser, Welsh, Western Frisian, Wolof, Xhosa, Yangben, Yoruba, Zarma, Zulu Afrikaans, Aghem, Akan, Albanian, Asturian, Asu, Azerbaijani, Bafia, Bambara, Basaa, Basque, Belarusian, Bemba, Bena, Bosnian, Breton, Bulgarian, Catalan, Cebuano, Central Atlas Tamazight, Chechen, Chiga, Colognian, Cornish, Croatian, Czech, Danish, Duala, Dutch, Embu, English, Esperanto, Estonian, Ewe, Ewondo, Faroese, Filipino, Finnish, French, Friulian, Fulah, Galician, Ganda, German, Greek, Gusii, Hausa, Hawaiian, Hungarian, Icelandic, Igbo, Inari Sami, Indonesian, Interlingua, Irish, Italian, Javanese, Jola-Fonyi, Kabuverdianu, Kabyle, Kako, Kalaallisut, Kalenjin, Kamba, Kazakh, Kikuyu, Kinyarwanda, Koyra Chiini, Koyraboro Senni, Kurdish, Kwasio, Kyrgyz, Lakota, Langi, Latvian, Lingala, Lithuanian, Low German, Lower Sorbian, Luba-Katanga, Luo, Luxembourgish, Luyia, Macedonian, Machame, Makhuwa-Meetto, Makonde, Malagasy, Malay, Maltese, Manx, Maori, Masai, Meru, Metaʼ, Mongolian, Morisyen, Mundang, Nama, Ngiemboon, Nigerian Pidgin, North Ndebele, Northern Sami, Norwegian Bokmål, Norwegian Nynorsk, Nuer, Nyankole, Oromo, Ossetic, Polish, Portuguese, Prussian, Quechua, Romanian, Romansh, Rombo, Rundi, Russian, Rwa, Sakha, Samburu, Sango, Sangu, Scottish Gaelic, Sena, Serbian, Shambala, Shona, Slovak, Slovenian, Soga, Somali, Spanish, Sundanese, Swahili, Swedish, Swiss German, Tachelhit (shi_latn), Taita, Tajik, Tasawaq, Tatar, Teso, Tongan, Turkish, Turkmen, Ukrainian, Upper Sorbian, Uzbek, Vai (vai_latn), Vietnamese, Volapük, Vunjo, Walser, Welsh, Western Frisian, Wolof, Xhosa, Yangben, Yoruba, Zarma, Zulu
<!-- END Section-Language-List --> <!-- END Section-Language-List -->
@ -195,7 +195,7 @@ Since version 2.0, Iosevka would no longer support building via `makefile`. To i
<!-- END Section-Private-Build-Plan-Sample --> <!-- END Section-Private-Build-Plan-Sample -->
3. Run `npm run build -- contents::<your plan name>` and the built fonts would be avaliable in `dist/`. Aside from `contents::<plan>`, other options are: 3. Run `npm run build -- contents::<your plan name>` and the built fonts would be avaliable in `dist/`. Aside from `contents::<plan>`, other options are:
@ -313,17 +313,22 @@ The current available styles for `design`/`upright`/`italic`/`oblique` options a
* 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`.
* `v-a-singlestorey-tailed`, `VXBS`: Single-storey `a` with curly tail. * `v-a-singlestorey-tailed`, `VXBS`: Single-storey `a` with curly tail (default for Italic).
* `v-a-doublestorey-tailed`, `VXBU`: Double-storey `a` with curly tail.
* `v-a-singlestorey-earless-corner`, `VXCL`: Earless (cornered top-right) single-storey `a`.
* `v-a-singlestorey-earless-corner-tailed`, `VXCM`: Earless (cornered top-right) single-storey `a` with curly tail.
* `v-a-singlestorey-earless-rounded`, `VXCN`: Earless (rounded top-right) single-storey `a`.
* `v-a-singlestorey-earless-rounded-tailed`, `VXCO`: Earless (rounded top-right) single-storey `a` with curly tail.
* Styles for `b`: * Styles for `b`:
* `v-b-toothed`, `VXBK`: `b` with bottom-left tooth (default). * `v-b-toothed`, `VXBK`: `b` with bottom-left tooth (default).
* `v-b-toothless-corner`, `VXBL`: `b` without botton-left tooth, with a corner transition. * `v-b-toothless-corner`, `VXBL`: `b` without botton-left tooth, with a corner transition.
* `v-b-toothless-rounded`, `VXBM`: `b` without botton-left tooth, with a rounded transition. * `v-b-toothless-rounded`, `VXBM`: `b` without botton-left tooth, with a rounded transition.
* Styles for `d`: * Styles for `d`:
* `v-d-toothed`, `VXBN`: `d` with bottom-right tooth (default). * `v-d-toothed`, `VXBN`: `d` with bottom-right tooth (default for Upright).
* `v-d-toothless-corner`, `VXBO`: `d` without botton-right tooth, with a corner transition. * `v-d-toothless-corner`, `VXBO`: `d` without botton-right tooth, with a corner transition.
* `v-d-toothless-rounded`, `VXBP`: `d` without botton-right tooth, with a rounded transition. * `v-d-toothless-rounded`, `VXBP`: `d` without botton-right tooth, with a rounded transition.
* `v-d-tailed`, `VXBQ`: `d` with a slightly tail botton-right tail. * `v-d-tailed`, `VXBQ`: `d` with a slightly tail botton-right tail (default for Italic).
* Styles for `f`: * Styles for `f`:
* `v-f-straight`, `cv52`: `f` without bottom hook (default for Sans Upright). * `v-f-straight`, `cv52`: `f` without bottom hook (default for Sans Upright).
* `v-f-tailed`, `cv53`: `f` with a leftward bottom hook (default for Italic). * `v-f-tailed`, `cv53`: `f` with a leftward bottom hook (default for Italic).
@ -333,6 +338,11 @@ The current available styles for `design`/`upright`/`italic`/`oblique` options a
* `v-g-doublestorey`, `cv11`: Double-storey `g`. * `v-g-doublestorey`, `cv11`: Double-storey `g`.
* `v-g-singlestorey`, `cv12`: Single-storey `g` (default). * `v-g-singlestorey`, `cv12`: Single-storey `g` (default).
* `v-g-opendoublestorey`, `cv24`: Open Double-storey `g`, like Trebuchet MS or Fira Code. * `v-g-opendoublestorey`, `cv24`: Open Double-storey `g`, like Trebuchet MS or Fira Code.
* `v-g-earless-corner`, `VXCW`: Earless (cornered top-right) single-storey `g`.
* `v-g-earless-rounded`, `VXCX`: Earless (rounded top-right) single-storey `g`.
* Styles for `h`:
* `v-h-straight`, `VXCB`: `h` with straight ending (default).
* `v-h-tailed`, `VXCC`: `h` with curly tailed ending.
* Styles for `i`: * Styles for `i`:
* `v-i-serifed`, `cv03`: Serifed `i` (default for Upright). * `v-i-serifed`, `cv03`: Serifed `i` (default for Upright).
* `v-i-italic`, `cv04`: Italic `i` (default for Italic). * `v-i-italic`, `cv04`: Italic `i` (default for Italic).
@ -361,9 +371,22 @@ The current available styles for `design`/`upright`/`italic`/`oblique` options a
* Styles for `m`: * Styles for `m`:
* `v-m-normal`, `cv25`: `m` with normal middle leg, touching the baseline (default). * `v-m-normal`, `cv25`: `m` with normal middle leg, touching the baseline (default).
* `v-m-shortleg`, `cv26`: `m` with shorter middle leg, like Ubuntu Mono. * `v-m-shortleg`, `cv26`: `m` with shorter middle leg, like Ubuntu Mono.
* `v-m-tailed`, `VXCD`: `m` with normal middle leg, touching the baseline, and a curly tail.
* `v-m-shortleg-tailed`, `VXCE`: `m` with shorter middle leg, like Ubuntu Mono, and a curly tail.
* Styles for `n`:
* `v-n-straight`, `VXCF`: `n` straight ending (default).
* `v-n-tailed`, `VXCG`: `n` a curly tail.
* Styles for `p`:
* `v-p-eared`, `VXCP`: `p` with top-left ear (default).
* `v-p-earless-corner`, `VXCQ`: `p` without top-left ear (corner).
* `v-p-earless-rounded`, `VXCR`: `p` without top-left ear (rounded).
* Styles for `q`: * Styles for `q`:
* `v-q-straight`, `VXAZ`: `q` with straight bar (default). * `v-q-straight`, `VXAZ`: `q` with straight bar (default).
* `v-q-tailed`, `VXBA`: `q` with tail. * `v-q-tailed`, `VXBA`: `q` with tail.
* `v-q-earless-corner`, `VXCS`: Earless (cornered top-left) single-storey `q`.
* `v-q-earless-corner-tailed`, `VXCT`: Earless (cornered top-left) single-storey `q` with curly tail.
* `v-q-earless-rounded`, `VXCU`: Earless (rounded top-left) single-storey `q`.
* `v-q-earless-rounded-tailed`, `VXCV`: Earless (rounded top-left) single-storey `q` with curly tail.
* Styles for `r`: * Styles for `r`:
* `v-r-straight`, `cv85`: Straight, serif-less `r` (default for Sans). * `v-r-straight`, `cv85`: Straight, serif-less `r` (default for Sans).
* `v-r-serifed`, `cv86`: `r` with serif at both top and bottom (default for Slab Upright). * `v-r-serifed`, `cv86`: `r` with serif at both top and bottom (default for Slab Upright).
@ -372,15 +395,16 @@ The current available styles for `design`/`upright`/`italic`/`oblique` options a
* `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`: * 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 for Upright).
* `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`.
* `v-u-tailed`, `VXBT`: `u` with right bar and a slightly curly tail. * `v-u-tailed`, `VXBT`: `u` with right bar and a slightly curly tail (default for Italic).
* Styles for `v`, `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`:
* `v-w-straight`, `cv75`: Standard, straight `W` and `w` (default). * `v-w-straight`, `cv75`: Standard, straight `W` and `w` (default).
* `v-w-curly`, `cv76`: Slightly curly `W` and `w`, like Iosevka 2.x. * `v-w-curly`, `cv76`: Slightly curly `W` and `w`, like Iosevka 2.x.
* `v-w-straight-flat-top`, `VXCH`: Standard, straight `W` and `w`, and the middle is forced to be aligned the top.
* Styles for `x`, `X`: * Styles for `x`, `X`:
* `v-x-straight`, `cv77`: Standard, straight `X` and `x` (default). * `v-x-straight`, `cv77`: Standard, straight `X` and `x` (default).
* `v-x-curly`, `cv78`: Slightly curly `X` and `x`, like Iosevka 2.x. * `v-x-curly`, `cv78`: Slightly curly `X` and `x`, like Iosevka 2.x.
@ -391,7 +415,8 @@ The current available styles for `design`/`upright`/`italic`/`oblique` options a
* `v-y-straight-turn`, `VXBF`: Letter `y` with straight upper and a tail turns leftward (default for Slab Upright). * `v-y-straight-turn`, `VXBF`: Letter `y` with straight upper and a tail turns leftward (default for Slab Upright).
* Styles for `z`: * Styles for `z`:
* `v-z-standard`, `VXBD`: Standard `Z` and `z` (default). * `v-z-standard`, `VXBD`: Standard `Z` and `z` (default).
* `v-z-with-crossbar`, `VXBE`: `Z` and `z` with a cross bar for better dsitinction with `2`. * `v-z-with-crossbar`, `VXBE`: `Z` and `z` with a diagonal cross bar for better dsitinction with `2`.
* `v-z-with-horizontal-crossbar`, `VXBX`: `Z` and `z` with a horizontal cross bar for better dsitinction with `2`.
* Styles for `A`, `Λ`, `Δ`: * Styles for `A`, `Λ`, `Δ`:
* `v-turn-v-straight`, `cv73`: Standard, straight `A`, `Λ`, `Δ` (default). * `v-turn-v-straight`, `cv73`: Standard, straight `A`, `Λ`, `Δ` (default).
* `v-turn-v-curly`, `cv74`: Slightly curly `A`, `Λ`, `Δ`, like Iosevka 2.x. * `v-turn-v-curly`, `cv74`: Slightly curly `A`, `Λ`, `Δ`, like Iosevka 2.x.
@ -404,9 +429,16 @@ The current available styles for `design`/`upright`/`italic`/`oblique` options a
* Styles for `G`: * Styles for `G`:
* `v-capital-g-tooth`, `cv91`: Toothed G (default). * `v-capital-g-tooth`, `cv91`: Toothed G (default).
* `v-capital-g-toothless`, `cv92`: Toothless G. * `v-capital-g-toothless`, `cv92`: Toothless G.
* Styles for `J`:
* `v-capital-j-serifless`, `VXBY`: J without top serif.
* `v-capital-j-serifed`, `VXBZ`: J with top serif (default).
* Styles for `M`:
* `v-capital-m-hanging`, `VXCI`: `M` with middle being hanging off baseline (default).
* `v-capital-m-flat-bottom`, `VXCJ`: `M` with middle aligned to baseline.
* Styles for `Q`: * Styles for `Q`:
* `v-capital-q-taily`, `cv42`: `Q` with a curly tail (default). * `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. * `v-capital-q-straight`, `cv43`: `Q` with a straight tail like in the old versions.
* `v-capital-q-crossing`, `VXCA`: `Q` with a tail crossing the ring.
* Styles for `R`: * Styles for `R`:
* `v-capital-r-straight`, `cv82`: Standard, straight-leg `R` (default). * `v-capital-r-straight`, `cv82`: Standard, straight-leg `R` (default).
* `v-capital-r-curly`, `cv83`:  Slightly curly-legged `R`, like Iosevka 2.x. * `v-capital-r-curly`, `cv83`:  Slightly curly-legged `R`, like Iosevka 2.x.
@ -461,6 +493,8 @@ The current available styles for `design`/`upright`/`italic`/`oblique` options a
* `v-asterisk-low`, `cv19`: Lower five-pointed asterisk `*`. * `v-asterisk-low`, `cv19`: Lower five-pointed asterisk `*`.
* `v-asterisk-hexhigh`, `cv60`: Higher six-pointed asterisk `*`. * `v-asterisk-hexhigh`, `cv60`: Higher six-pointed asterisk `*`.
* `v-asterisk-hexlow`, `cv61`: Lower six-pointed asterisk `*`. * `v-asterisk-hexlow`, `cv61`: Lower six-pointed asterisk `*`.
* `v-asterisk-flip-penta-high`, `VXBV`: Higher five-pointed and turned asterisk `*`.
* `v-asterisk-flip-penta-low`, `VXBW`: Lower five-pointed and turned asterisk `*`.
* Styles for `_`: * Styles for `_`:
* `v-underscore-high`, `cv20`: Higher underscore `_`, placed right below baseline (default). * `v-underscore-high`, `cv20`: Higher underscore `_`, placed right below baseline (default).
* `v-underscore-low`, `cv21`: Lower underscore `_`, placed right above descender line. * `v-underscore-low`, `cv21`: Lower underscore `_`, placed right above descender line.
@ -500,7 +534,11 @@ The current available styles for `design`/`upright`/`italic`/`oblique` options a
* `v-dollar-throughcap`, `cv55`: Dollar symbol with strike-through vertical bar, not exceeding baseline and ascender. * `v-dollar-throughcap`, `cv55`: Dollar symbol with strike-through vertical bar, not exceeding baseline and ascender.
* Styles for `%`: * Styles for `%`:
* `v-percent-dots`, `cv62`: Percent `%`, Per-mille `‰` and basis point `‱` using rectangular dots. * `v-percent-dots`, `cv62`: Percent `%`, Per-mille `‰` and basis point `‱` using rectangular dots.
* `v-percent-rings`, `cv63`: Percent `%`, Per-mille `‰` and basis point `‱` using rings (default). * `v-percent-rings`, `cv63`: Percent `%` with rings and broken bar; Per-mille `‰` and basis point `‱` with rings (default).
* `v-percent-rings-connected`, `VXCK`: Percent `%`, Per-mille `‰` and basis point `‱` using rings and continuous bar.
* Styles for `|`:
* `v-bar-natural-slope`, `VXCY`: Bar pubctuations (`|`) has a natural slope under italics and oblique (default).
* `v-bar-force-upright`, `VXCZ`: Bar pubctuations (`|`) is forced upright under italics and oblique.
* 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.

View file

@ -7,4 +7,5 @@
* Add flat-top `W`, `w` and flat-bottom `M` (#640). * Add flat-top `W`, `w` and flat-bottom `M` (#640).
* Add continuous-bar-rings percent sign `%` (#643). * Add continuous-bar-rings percent sign `%` (#643).
* Fix combining letters' overlapping (#646). * Fix combining letters' overlapping (#646).
* Add earless variants for `a`, `g`, `p` and `q` (#648). * Add earless variants for `a`, `g`, `p` and `q` (#648).
* Add force-upright bar symbols (#652).

View file

@ -433,33 +433,54 @@ glyph-block Symbol-Punctuation-Emotion : begin
include : refer-glyph "exclam" include : refer-glyph "exclam"
include : FlipAround Middle (XH / 2) include : FlipAround Middle (XH / 2)
create-glyph 'bar' '|' : glyph-proc
set-width Width glyph-block Symbol-Punctuation-Bar : begin
glyph-block-import CommonShapes
define [BarShape] : glyph-proc
set-base-anchor 'above' Middle parenTop set-base-anchor 'above' Middle parenTop
set-base-anchor 'below' Middle parenBot set-base-anchor 'below' Middle parenBot
include : VBar Middle parenBot parenTop include : VBar Middle parenBot parenTop
create-aliased 'dentalclick' 0x1C0
create-glyph 'parallel' 0x2225 : glyph-proc create-glyph 'bar.naturalSlope' : BarShape
set-width Width create-glyph 'bar.forceUpright' : glyph-proc
include : ForceUpright
include : BarShape
define [DoubleBarShape] : glyph-proc
set-base-anchor 'above' Middle parenTop set-base-anchor 'above' Middle parenTop
set-base-anchor 'below' Middle parenBot set-base-anchor 'below' Middle parenBot
local sw : adviceBlackness 3.5 local sw : adviceBlackness 3.5
include : VBar (Middle - Width * 0.175) parenBot parenTop sw include : VBar (Middle - Width * 0.175) parenBot parenTop sw
include : VBar (Middle + Width * 0.175) parenBot parenTop sw include : VBar (Middle + Width * 0.175) parenBot parenTop sw
create-aliased 'doubleBar' 0x2016
create-aliased 'alveolarlateralclick' 0x1C1
create-glyph 'brokenbar' 0xA6 : glyph-proc create-glyph 'parallel.naturalSlope' : DoubleBarShape
create-glyph 'parallel.forceUpright' : glyph-proc
include : ForceUpright
include : DoubleBarShape
define [BrokenBarShape] : glyph-proc
local breakDist : Math.max Stroke (CAP / 8) local breakDist : Math.max Stroke (CAP / 8)
include : VBar Middle (symbolMid + breakDist / 2) parenTop include : VBar Middle (symbolMid + breakDist / 2) parenTop
include : VBar Middle parenBot (symbolMid - breakDist / 2) include : VBar Middle parenBot (symbolMid - breakDist / 2)
create-glyph 'brokenBar.naturalSlope' : BrokenBarShape
create-glyph 'brokenBar.forceUpright' : glyph-proc
include : ForceUpright
include : BrokenBarShape
create-glyph 'palatoalveolarclick' 0x1C2 : glyph-proc create-glyph 'palatoalveolarclick' 0x1C2 : glyph-proc
include [refer-glyph 'bar'] AS_BASE include [refer-glyph 'bar.naturalSlope'] AS_BASE
include : HBarBottom SB RightSB (symbolMid + XH * 0.1) OperatorStroke include : HBarBottom SB RightSB (symbolMid + XH * 0.1) OperatorStroke
include : HBarTop SB RightSB (symbolMid - XH * 0.1) OperatorStroke include : HBarTop SB RightSB (symbolMid - XH * 0.1) OperatorStroke
select-variant 'bar' '|'
select-variant 'parallel' 0x2225 (follow -- 'bar')
select-variant 'brokenBar' 0xA6 (follow -- 'bar')
alias 'dentalclick' 0x1C0 'bar.naturalSlope'
alias 'doubleBar' 0x2016 'parallel'
alias 'alveolarlateralclick' 0x1C1 'parallel.naturalSlope'
glyph-block Symbol-Punctuation-Ampersand : begin glyph-block Symbol-Punctuation-Ampersand : begin
glyph-block-import CommonShapes glyph-block-import CommonShapes

Binary file not shown.

Before

Width:  |  Height:  |  Size: 186 KiB

After

Width:  |  Height:  |  Size: 218 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 23 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 25 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 24 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 400 KiB

After

Width:  |  Height:  |  Size: 400 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 346 KiB

After

Width:  |  Height:  |  Size: 346 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 174 KiB

After

Width:  |  Height:  |  Size: 175 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 335 KiB

After

Width:  |  Height:  |  Size: 336 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 977 KiB

After

Width:  |  Height:  |  Size: 975 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 321 KiB

After

Width:  |  Height:  |  Size: 321 KiB

Before After
Before After

View file

@ -1093,6 +1093,20 @@ sampler = '%'
description = 'Percent `%` with rings and broken bar; Per-mille `‰` and basis point `‱` with rings' description = 'Percent `%` with rings and broken bar; Per-mille `‰` and basis point `‱` with rings'
variant.percent = "rings" variant.percent = "rings"
[simple.v-bar-natural-slope]
tag = "VXCY"
sampler = '|'
description = 'Bar pubctuations (`|`) has a natural slope under italics and oblique'
variantUpright.bar = "naturalSlope"
variantItalic.bar = "naturalSlope"
[simple.v-bar-force-upright]
tag = "VXCZ"
sampler = '|'
description = 'Bar pubctuations (`|`) is forced upright under italics and oblique'
variantUpright.bar = "forceUpright"
variantItalic.bar = "forceUpright"
[simple.v-percent-rings-connected] [simple.v-percent-rings-connected]
tag = "VXCK" tag = "VXCK"
sampler = '%' sampler = '%'
@ -1187,6 +1201,7 @@ design = [
'v-percent-rings', 'v-percent-rings',
'v-lig-ltgteq-flat', 'v-lig-ltgteq-flat',
'v-ampersand-closed', 'v-ampersand-closed',
'v-bar-natural-slope',
# m, n, h has tailed variant, but not very ideal # m, n, h has tailed variant, but not very ideal
# Do not make them default # Do not make them default
'v-h-straight', 'v-h-straight',

View file

@ -87,6 +87,26 @@
<div class="label tag">VXBS</div> <div class="label tag">VXBS</div>
<div class="sample" style="font-feature-settings:'VXBS'">a</div> <div class="sample" style="font-feature-settings:'VXBS'">a</div>
</li> </li>
<li class="desc-group char">
<div class="label tag">VXBU</div>
<div class="sample" style="font-feature-settings:'VXBU'">a</div>
</li>
<li class="desc-group char">
<div class="label tag">VXCL</div>
<div class="sample" style="font-feature-settings:'VXCL'">a</div>
</li>
<li class="desc-group char">
<div class="label tag">VXCM</div>
<div class="sample" style="font-feature-settings:'VXCM'">a</div>
</li>
<li class="desc-group char">
<div class="label tag">VXCN</div>
<div class="sample" style="font-feature-settings:'VXCN'">a</div>
</li>
<li class="desc-group char">
<div class="label tag">VXCO</div>
<div class="sample" style="font-feature-settings:'VXCO'">a</div>
</li>
</ol></li> </ol></li>
<li> <li>
<div class="desc-group char"> <div class="desc-group char">
@ -171,6 +191,29 @@
<div class="label tag">cv24</div> <div class="label tag">cv24</div>
<div class="sample" style="font-feature-settings:'cv24'">g</div> <div class="sample" style="font-feature-settings:'cv24'">g</div>
</li> </li>
<li class="desc-group char">
<div class="label tag">VXCW</div>
<div class="sample" style="font-feature-settings:'VXCW'">g</div>
</li>
<li class="desc-group char">
<div class="label tag">VXCX</div>
<div class="sample" style="font-feature-settings:'VXCX'">g</div>
</li>
</ol></li>
<li>
<div class="desc-group char">
<div class="sample">h</div>
<div class="triangle"></div>
</div>
<ol class="group">
<li class="desc-group char">
<div class="label tag">VXCB</div>
<div class="sample" style="font-feature-settings:'VXCB'">h</div>
</li>
<li class="desc-group char">
<div class="label tag">VXCC</div>
<div class="sample" style="font-feature-settings:'VXCC'">h</div>
</li>
</ol></li> </ol></li>
<li> <li>
<div class="desc-group char"> <div class="desc-group char">
@ -300,6 +343,48 @@
<div class="label tag">cv26</div> <div class="label tag">cv26</div>
<div class="sample" style="font-feature-settings:'cv26'">m</div> <div class="sample" style="font-feature-settings:'cv26'">m</div>
</li> </li>
<li class="desc-group char">
<div class="label tag">VXCD</div>
<div class="sample" style="font-feature-settings:'VXCD'">m</div>
</li>
<li class="desc-group char">
<div class="label tag">VXCE</div>
<div class="sample" style="font-feature-settings:'VXCE'">m</div>
</li>
</ol></li>
<li>
<div class="desc-group char">
<div class="sample">n</div>
<div class="triangle"></div>
</div>
<ol class="group">
<li class="desc-group char">
<div class="label tag">VXCF</div>
<div class="sample" style="font-feature-settings:'VXCF'">n</div>
</li>
<li class="desc-group char">
<div class="label tag">VXCG</div>
<div class="sample" style="font-feature-settings:'VXCG'">n</div>
</li>
</ol></li>
<li>
<div class="desc-group char">
<div class="sample">p</div>
<div class="triangle"></div>
</div>
<ol class="group">
<li class="desc-group char">
<div class="label tag">VXCP</div>
<div class="sample" style="font-feature-settings:'VXCP'">p</div>
</li>
<li class="desc-group char">
<div class="label tag">VXCQ</div>
<div class="sample" style="font-feature-settings:'VXCQ'">p</div>
</li>
<li class="desc-group char">
<div class="label tag">VXCR</div>
<div class="sample" style="font-feature-settings:'VXCR'">p</div>
</li>
</ol></li> </ol></li>
<li> <li>
<div class="desc-group char"> <div class="desc-group char">
@ -315,6 +400,22 @@
<div class="label tag">VXBA</div> <div class="label tag">VXBA</div>
<div class="sample" style="font-feature-settings:'VXBA'">q</div> <div class="sample" style="font-feature-settings:'VXBA'">q</div>
</li> </li>
<li class="desc-group char">
<div class="label tag">VXCS</div>
<div class="sample" style="font-feature-settings:'VXCS'">q</div>
</li>
<li class="desc-group char">
<div class="label tag">VXCT</div>
<div class="sample" style="font-feature-settings:'VXCT'">q</div>
</li>
<li class="desc-group char">
<div class="label tag">VXCU</div>
<div class="sample" style="font-feature-settings:'VXCU'">q</div>
</li>
<li class="desc-group char">
<div class="label tag">VXCV</div>
<div class="sample" style="font-feature-settings:'VXCV'">q</div>
</li>
</ol></li> </ol></li>
<li> <li>
<div class="desc-group char"> <div class="desc-group char">
@ -398,6 +499,10 @@
<div class="label tag">cv76</div> <div class="label tag">cv76</div>
<div class="sample" style="font-feature-settings:'cv76'">w</div> <div class="sample" style="font-feature-settings:'cv76'">w</div>
</li> </li>
<li class="desc-group char">
<div class="label tag">VXCH</div>
<div class="sample" style="font-feature-settings:'VXCH'">w</div>
</li>
</ol></li> </ol></li>
<li> <li>
<div class="desc-group char"> <div class="desc-group char">
@ -451,6 +556,10 @@
<div class="label tag">VXBE</div> <div class="label tag">VXBE</div>
<div class="sample" style="font-feature-settings:'VXBE'">z</div> <div class="sample" style="font-feature-settings:'VXBE'">z</div>
</li> </li>
<li class="desc-group char">
<div class="label tag">VXBX</div>
<div class="sample" style="font-feature-settings:'VXBX'">z</div>
</li>
</ol></li> </ol></li>
<li> <li>
<div class="desc-group char"> <div class="desc-group char">
@ -512,6 +621,36 @@
<div class="sample" style="font-feature-settings:'cv92'">G</div> <div class="sample" style="font-feature-settings:'cv92'">G</div>
</li> </li>
</ol></li> </ol></li>
<li>
<div class="desc-group char">
<div class="sample">J</div>
<div class="triangle"></div>
</div>
<ol class="group">
<li class="desc-group char">
<div class="label tag">VXBY</div>
<div class="sample" style="font-feature-settings:'VXBY'">J</div>
</li>
<li class="desc-group char">
<div class="label tag">VXBZ</div>
<div class="sample" style="font-feature-settings:'VXBZ'">J</div>
</li>
</ol></li>
<li>
<div class="desc-group char">
<div class="sample">M</div>
<div class="triangle"></div>
</div>
<ol class="group">
<li class="desc-group char">
<div class="label tag">VXCI</div>
<div class="sample" style="font-feature-settings:'VXCI'">M</div>
</li>
<li class="desc-group char">
<div class="label tag">VXCJ</div>
<div class="sample" style="font-feature-settings:'VXCJ'">M</div>
</li>
</ol></li>
<li> <li>
<div class="desc-group char"> <div class="desc-group char">
<div class="sample">Q</div> <div class="sample">Q</div>
@ -526,6 +665,10 @@
<div class="label tag">cv43</div> <div class="label tag">cv43</div>
<div class="sample" style="font-feature-settings:'cv43'">Q</div> <div class="sample" style="font-feature-settings:'cv43'">Q</div>
</li> </li>
<li class="desc-group char">
<div class="label tag">VXCA</div>
<div class="sample" style="font-feature-settings:'VXCA'">Q</div>
</li>
</ol></li> </ol></li>
<li> <li>
<div class="desc-group char"> <div class="desc-group char">
@ -781,6 +924,14 @@
<div class="label tag">cv61</div> <div class="label tag">cv61</div>
<div class="sample" style="font-feature-settings:'cv61'">*</div> <div class="sample" style="font-feature-settings:'cv61'">*</div>
</li> </li>
<li class="desc-group char">
<div class="label tag">VXBV</div>
<div class="sample" style="font-feature-settings:'VXBV'">*</div>
</li>
<li class="desc-group char">
<div class="label tag">VXBW</div>
<div class="sample" style="font-feature-settings:'VXBW'">*</div>
</li>
</ol></li> </ol></li>
<li> <li>
<div class="desc-group char"> <div class="desc-group char">
@ -977,6 +1128,27 @@
<div class="label tag">cv63</div> <div class="label tag">cv63</div>
<div class="sample" style="font-feature-settings:'cv63'">%</div> <div class="sample" style="font-feature-settings:'cv63'">%</div>
</li> </li>
<li class="desc-group char">
<div class="label tag">VXCK</div>
<div class="sample" style="font-feature-settings:'VXCK'">%</div>
</li>
</ol></li>
<li>
<div class="desc-group char">
<div class="sample">|</div>
<div class="triangle"></div>
</div>
<ol class="group">
<li class="desc-group ligature">
<div class="label tag">VXCY</div>
<div class="sample" style="font-feature-settings:'VXCY'">|</div>
<div class="sample italic" style="font-feature-settings:'VXCY'">|</div>
</li>
<li class="desc-group ligature">
<div class="label tag">VXCZ</div>
<div class="sample" style="font-feature-settings:'VXCZ'">|</div>
<div class="sample italic" style="font-feature-settings:'VXCZ'">|</div>
</li>
</ol></li> </ol></li>
<li> <li>
<div class="desc-group ligature"> <div class="desc-group ligature">
@ -1039,7 +1211,7 @@
<li> <li>
<span class="tag">ss07</span><span class="description">Monaco Style</span> <span class="tag">ss07</span><span class="description">Monaco Style</span>
<span class="sample" style="font-feature-settings:'ss07'"><b>@</b>re<b>a</b><b>l</b> fox.qu<b>i</b>ck(h){ <b>*</b><b>i</b>s_brown && <b>i</b>t_jumps_over(dogs.<b>l</b><b>a</b>z<b>y</b>) } 0<b>1</b>2345<b>6</b>78<b>9</b> ABCKRWXYZ</span> <span class="sample" style="font-feature-settings:'ss07'"><b>@</b>re<b>a</b><b>l</b> fox.qu<b>i</b>ck(h){ <b>*</b><b>i</b>s_brown && <b>i</b>t_jumps_over(dogs.<b>l</b><b>a</b>z<b>y</b>) } 0<b>1</b>2345<b>6</b>78<b>9</b> ABCKRWXYZ</span>
<span class="sample italic" style="font-feature-settings:'ss07'"><b>@</b>rea<b>l</b> fox.qu<b>i</b>c<b>k</b>(h){ <b>*</b><b>i</b>s_brown && <b>i</b>t_jumps_over(dogs.<b>l</b>az<b>y</b>) } 0<b>1</b>2345<b>6</b>78<b>9</b> ABC<b>K</b>RWXYZ</span> <span class="sample italic" style="font-feature-settings:'ss07'"><b>@</b>re<b>a</b><b>l</b> fox.qu<b>i</b>c<b>k</b>(h){ <b>*</b><b>i</b>s_brown && <b>i</b>t_jumps_over(dogs.<b>l</b><b>a</b>z<b>y</b>) } 0<b>1</b>2345<b>6</b>78<b>9</b> ABC<b>K</b>RWXYZ</span>
</li> </li>
<li> <li>
<span class="tag">ss08</span><span class="description">Pragmata Pro Style</span> <span class="tag">ss08</span><span class="description">Pragmata Pro Style</span>