Add Pi and Tau variant selectors (#1940)
* Add Pi and Tau variant selectors closes #1924 * fix numeric order
This commit is contained in:
parent
3309d24ab9
commit
2f5a31cf46
5 changed files with 94 additions and 10 deletions
|
@ -1,3 +1,4 @@
|
||||||
|
* \[**Breaking**\] Add variant selectors for lowercase Greek Pi (`π`) and Tau (`τ`) (#1924).
|
||||||
* Add characters:
|
* Add characters:
|
||||||
- CYRILLIC SMALL LETTER ROUNDED VE (`U+1C80`).
|
- CYRILLIC SMALL LETTER ROUNDED VE (`U+1C80`).
|
||||||
- CYRILLIC SMALL LETTER TALL TE (`U+1C84`) (#1911).
|
- CYRILLIC SMALL LETTER TALL TE (`U+1C84`) (#1911).
|
||||||
|
|
|
@ -57,9 +57,21 @@ glyph-block Letter-Greek-Pi : begin
|
||||||
derive-composites 'cyrl/PeDescender' 0x524 'cyrl/Pe' [CyrDescender.rSideJut RightSB 0]
|
derive-composites 'cyrl/PeDescender' 0x524 'cyrl/Pe' [CyrDescender.rSideJut RightSB 0]
|
||||||
derive-composites 'cyrl/peDescender.upright' null 'cyrl/pe.upright' [CyrDescender.rSideJut RightSB 0]
|
derive-composites 'cyrl/peDescender.upright' null 'cyrl/pe.upright' [CyrDescender.rSideJut RightSB 0]
|
||||||
|
|
||||||
create-glyph 'grek/pi' 0x3C0 : glyph-proc
|
define SmallPiShrink : 1/6 - [HSwToV : 0.25 * Stroke] / (RightSB - SB)
|
||||||
include : MarkSet.e
|
|
||||||
include : PiShape [DivFrame 1] XH 0 (doSerif -- false) (shrinkRate -- (1/6 - [HSwToV : 0.25 * Stroke] / (RightSB - SB))) (tailed -- true)
|
define SmallPiConfig : object
|
||||||
|
smallCap { {0 SLAB } false }
|
||||||
|
tailless { {SmallPiShrink false } false }
|
||||||
|
tailed { {SmallPiShrink false } true }
|
||||||
|
|
||||||
|
foreach { suffix { { shrink slab } tail } } [pairs-of SmallPiConfig] : do
|
||||||
|
create-glyph "grek/pi.\(suffix)" : glyph-proc
|
||||||
|
define df : DivFrame 1
|
||||||
|
set-width df.width
|
||||||
|
include : df.markSet.e
|
||||||
|
include : PiShape df XH 0 (shrinkRate -- shrink) (doSerif -- slab) (tailed -- tail)
|
||||||
|
|
||||||
|
select-variant 'grek/pi' 0x3C0
|
||||||
|
|
||||||
create-glyph 'mathbb/grek/pi' 0x213C : glyph-proc
|
create-glyph 'mathbb/grek/pi' 0x213C : glyph-proc
|
||||||
include : MarkSet.e
|
include : MarkSet.e
|
||||||
|
|
|
@ -301,7 +301,21 @@ glyph-block Letter-Latin-Lower-T : begin
|
||||||
|
|
||||||
select-variant "tHookTopRTail" 0x1DF09
|
select-variant "tHookTopRTail" 0x1DF09
|
||||||
|
|
||||||
# U+01BE is catually "t" and "s" combined together
|
define SmallTauConfig : object
|
||||||
|
tailed { [DivFrame 1] BentHook }
|
||||||
|
flatTailed { dfNarrowT Flat }
|
||||||
|
diagonalTailed { dfNarrowT DiagTail }
|
||||||
|
tailless { dfNarrowT Hookless }
|
||||||
|
|
||||||
|
foreach { suffix { df Style } } [pairs-of SmallTauConfig] : do
|
||||||
|
create-glyph "grek/tau.\(suffix)" : glyph-proc
|
||||||
|
set-width df.width
|
||||||
|
include : df.markSet.e
|
||||||
|
include : Style.Body df SYM-BALANCED XH 0
|
||||||
|
|
||||||
|
select-variant 'grek/tau' 0x3C4
|
||||||
|
|
||||||
|
# U+01BE is actually "t" and "s" combined together
|
||||||
define SLAB-NONE 0
|
define SLAB-NONE 0
|
||||||
define SLAB-CLASSICAL 1
|
define SLAB-CLASSICAL 1
|
||||||
define SLAB-INWARD 2
|
define SLAB-INWARD 2
|
||||||
|
|
|
@ -53,7 +53,7 @@ glyph-block Letter-Latin-Upper-T : begin
|
||||||
local sf2 : [SerifFrame.fromDf df (top / 2) 0].slice 1 2
|
local sf2 : [SerifFrame.fromDf df (top / 2) 0].slice 1 2
|
||||||
if SLAB : include sf2.rt.full
|
if SLAB : include sf2.rt.full
|
||||||
|
|
||||||
define [TauShape df top doTopSerifs] : glyph-proc
|
define [TweShape df top doTopSerifs] : glyph-proc
|
||||||
local hd : FlatHookDepth df
|
local hd : FlatHookDepth df
|
||||||
include : difference
|
include : difference
|
||||||
TShape df top doTopSerifs false
|
TShape df top doTopSerifs false
|
||||||
|
@ -122,12 +122,12 @@ glyph-block Letter-Latin-Upper-T : begin
|
||||||
create-glyph "cyrl/Twe.\(suffix)" : glyph-proc
|
create-glyph "cyrl/Twe.\(suffix)" : glyph-proc
|
||||||
set-width df.width
|
set-width df.width
|
||||||
include : df.markSet.capital
|
include : df.markSet.capital
|
||||||
include : TauShape df CAP doST doSB
|
include : TweShape df CAP doST doSB
|
||||||
|
|
||||||
create-glyph "cyrl/twe.\(suffix)" : glyph-proc
|
create-glyph "cyrl/twe.\(suffix)" : glyph-proc
|
||||||
set-width df.width
|
set-width df.width
|
||||||
include : df.markSet.e
|
include : df.markSet.e
|
||||||
include : TauShape df XH doST doSB
|
include : TweShape df XH doST doSB
|
||||||
|
|
||||||
create-glyph "currency/tengeSign.\(suffix)" : glyph-proc
|
create-glyph "currency/tengeSign.\(suffix)" : glyph-proc
|
||||||
set-width df.width
|
set-width df.width
|
||||||
|
@ -179,7 +179,6 @@ glyph-block Letter-Latin-Upper-T : begin
|
||||||
select-variant 'turnT' 0xA7B1 (follow -- 'T')
|
select-variant 'turnT' 0xA7B1 (follow -- 'T')
|
||||||
|
|
||||||
alias 'grek/Tau' 0x3A4 'T'
|
alias 'grek/Tau' 0x3A4 'T'
|
||||||
alias 'grek/tau' 0x3C4 'cyrl/twe.serifless'
|
|
||||||
alias-reduced-variant 'grek/Tau/sansSerif' 'grek/Tau' 'T/sansSerif' MathSansSerif
|
alias-reduced-variant 'grek/Tau/sansSerif' 'grek/Tau' 'T/sansSerif' MathSansSerif
|
||||||
alias 'cyrl/Te' 0x422 'T'
|
alias 'cyrl/Te' 0x422 'T'
|
||||||
|
|
||||||
|
|
|
@ -4579,6 +4579,55 @@ selector."grek/xi" = "flatTop"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[prime.lower-pi]
|
||||||
|
sampler = "π"
|
||||||
|
samplerExplain = "Greek lower Pi"
|
||||||
|
tagKind = "letter"
|
||||||
|
|
||||||
|
[prime.lower-pi.variants.tailless]
|
||||||
|
rank = 1
|
||||||
|
description = "Greek lower Pi (`π`) with a tailless shape"
|
||||||
|
selector."grek/pi" = "tailless"
|
||||||
|
|
||||||
|
[prime.lower-pi.variants.tailed]
|
||||||
|
rank = 2
|
||||||
|
description = "Greek lower Pi (`π`) with a tailed shape"
|
||||||
|
selector."grek/pi" = "tailed"
|
||||||
|
|
||||||
|
[prime.lower-pi.variants.small-capital]
|
||||||
|
rank = 3
|
||||||
|
description = "Greek lower Pi (`π`) with a small-capital shape"
|
||||||
|
selector."grek/pi" = "smallCap"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[prime.lower-tau]
|
||||||
|
sampler = "τ"
|
||||||
|
samplerExplain = "Greek lower Tau"
|
||||||
|
tagKind = "letter"
|
||||||
|
|
||||||
|
[prime.lower-tau.variants.tailless]
|
||||||
|
rank = 1
|
||||||
|
description = "Greek lower Tau (`τ`) with a tailless shape"
|
||||||
|
selector."grek/tau" = "tailless"
|
||||||
|
|
||||||
|
[prime.lower-tau.variants.tailed]
|
||||||
|
rank = 2
|
||||||
|
description = "Greek lower Tau (`τ`) with curly tail"
|
||||||
|
selector."grek/tau" = "tailed"
|
||||||
|
|
||||||
|
[prime.lower-tau.variants.flat-tailed]
|
||||||
|
rank = 3
|
||||||
|
description = "Greek lower Tau (`τ`) with a flat tail"
|
||||||
|
selector."grek/tau" = "flatTailed"
|
||||||
|
|
||||||
|
[prime.lower-tau.variants.diagonal-tailed]
|
||||||
|
rank = 4
|
||||||
|
description = "Greek lower Tau (`τ`) with a diagonal tail"
|
||||||
|
selector."grek/tau" = "diagonalTailed"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
[prime.lower-chi]
|
[prime.lower-chi]
|
||||||
sampler = "χ"
|
sampler = "χ"
|
||||||
samplerExplain = "Greek lower Chi"
|
samplerExplain = "Greek lower Chi"
|
||||||
|
@ -6739,6 +6788,8 @@ lower-iota = "serifed-flat-tailed"
|
||||||
capital-lambda = "straight-serifless"
|
capital-lambda = "straight-serifless"
|
||||||
lower-lambda = "straight"
|
lower-lambda = "straight"
|
||||||
lower-xi = "flat-top"
|
lower-xi = "flat-top"
|
||||||
|
lower-pi = "tailed"
|
||||||
|
lower-tau = "flat-tailed"
|
||||||
lower-chi = "straight-serifless"
|
lower-chi = "straight-serifless"
|
||||||
cyrl-capital-zhe = "symmetric-connected"
|
cyrl-capital-zhe = "symmetric-connected"
|
||||||
cyrl-zhe = "symmetric-connected"
|
cyrl-zhe = "symmetric-connected"
|
||||||
|
@ -6958,6 +7009,8 @@ long-s = "flat-hook-middle-serifed"
|
||||||
eszet = "longs-s-lig-serifless"
|
eszet = "longs-s-lig-serifless"
|
||||||
lower-lambda = "straight-turn"
|
lower-lambda = "straight-turn"
|
||||||
lower-iota = "flat-tailed"
|
lower-iota = "flat-tailed"
|
||||||
|
lower-pi = "tailless"
|
||||||
|
lower-tau = "tailless"
|
||||||
cyrl-capital-zhe = "straight"
|
cyrl-capital-zhe = "straight"
|
||||||
cyrl-zhe = "straight"
|
cyrl-zhe = "straight"
|
||||||
cyrl-capital-ka = "straight-serifless"
|
cyrl-capital-ka = "straight-serifless"
|
||||||
|
@ -7101,6 +7154,7 @@ eszet = "longs-s-lig-serifless"
|
||||||
long-s = "flat-hook-serifless"
|
long-s = "flat-hook-serifless"
|
||||||
lower-alpha = "tailed-barred"
|
lower-alpha = "tailed-barred"
|
||||||
lower-lambda = "straight-turn"
|
lower-lambda = "straight-turn"
|
||||||
|
lower-tau = "tailed"
|
||||||
cyrl-capital-zhe = "symmetric-touching"
|
cyrl-capital-zhe = "symmetric-touching"
|
||||||
cyrl-zhe = "symmetric-touching"
|
cyrl-zhe = "symmetric-touching"
|
||||||
cyrl-capital-ka = "symmetric-touching-serifless"
|
cyrl-capital-ka = "symmetric-touching-serifless"
|
||||||
|
@ -7724,6 +7778,8 @@ capital-gamma = "bottom-serifed"
|
||||||
lower-iota = "tailed-serifed"
|
lower-iota = "tailed-serifed"
|
||||||
lower-lambda = "straight-turn"
|
lower-lambda = "straight-turn"
|
||||||
lower-mu = "toothless-corner-serifless"
|
lower-mu = "toothless-corner-serifless"
|
||||||
|
lower-pi = "small-capital"
|
||||||
|
lower-tau = "tailed"
|
||||||
cyrl-capital-zhe = "symmetric-touching"
|
cyrl-capital-zhe = "symmetric-touching"
|
||||||
cyrl-zhe = "symmetric-touching"
|
cyrl-zhe = "symmetric-touching"
|
||||||
cyrl-capital-ka = "symmetric-touching-serifless"
|
cyrl-capital-ka = "symmetric-touching-serifless"
|
||||||
|
@ -7989,6 +8045,8 @@ y = "cursive-serifless"
|
||||||
z = "cursive"
|
z = "cursive"
|
||||||
long-s = "flat-hook-diagonal-tailed-middle-serifed"
|
long-s = "flat-hook-diagonal-tailed-middle-serifed"
|
||||||
eszet = "traditional-flat-hook-middle-serifed"
|
eszet = "traditional-flat-hook-middle-serifed"
|
||||||
|
lower-iota = "serifed-diagonal-tailed"
|
||||||
|
lower-tau = "diagonal-tailed"
|
||||||
ampersand = "closed"
|
ampersand = "closed"
|
||||||
|
|
||||||
[composite.ss15.slab-override.design]
|
[composite.ss15.slab-override.design]
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue