Fix variants for nine phonetic characters (#1982)

* Fix variants for seven phonetic characters

* turned v

* d palatal hook

* math ss y
This commit is contained in:
John McWilliams 2023-09-05 19:37:35 -04:00 committed by GitHub
parent 2546f759d9
commit 411b15ae65
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 38 additions and 13 deletions

View file

@ -1,2 +1,8 @@
* Remove serifs in `U+0320` (#1979).
* Harmonize dot sizes in ellipsis shapes (#1980).
* Remove duplicate serif variants for `U+0266` and `U+2C74`.
* Allow cursive variants of turned `v` (`U+028C`) to match turned `w` (`U+028D`).
* Allow turned tail variants for Mathematical Sans-Serif `y` (`U+1D5D2`).
* Only allow toothed variants of `d` with palatal hook (`U+1D81`) to match `a` and `u` with hook attachments (`U+1D8F`, `U+1D99`).
* Fix variant selection for `U+1D4A`, `U+1DEA`, and `U+2094`.
* Remove bottom serifs in LATIN {CAPITAL|SMALL} LETTER INSULAR R (`U+A782`, `U+A783`).

View file

@ -140,7 +140,7 @@ glyph-block Autobuild-Transformed : begin
list 0x1D47 'b'
list 0x1D48 'd'
list 0x1D49 'e'
list 0x1D4A 'turne'
list 0x1D4A 'schwa'
list 0x1D4B 'latn/epsilon'
list 0x1D4C 'turnepsilon'
list 0x1D4D 'g'
@ -400,7 +400,7 @@ glyph-block Autobuild-Transformed : begin
list 0x2091 'e'
list 0x2092 'o'
list 0x2093 'x'
list 0x2094 'turne'
list 0x2094 'schwa'
list 0x2095 'h'
list 0x2096 'k'
list 0x2097 'l'
@ -521,7 +521,7 @@ glyph-block Autobuild-Transformed : begin
list 0x1DE4 's'
list 0x1DE6 'z'
list 0x1DE7 'scripta'
list 0x1DEA 'turne'
list 0x1DEA 'schwa'
list 0x1DED 'oWithLightCentralizationStroke'
list 0x1DF0 'uWithLightCentralizationStroke'
list 0x1DF1 'w'

View file

@ -158,7 +158,8 @@ glyph-block Letter-Latin-Lower-D : begin
select-variant 'cyrl/djeKomi' 0x503
derive-composites 'dPalatalHook' 0x1D81 'd/hookBottomBase' : PalatalHook.r
link-reduced-variant 'd/descBase' 'd'
derive-composites 'dPalatalHook' 0x1D81 'd/descBase' : PalatalHook.r
xLink -- RightSB
x -- (RightSB + SideJut)
y -- 0

View file

@ -189,7 +189,6 @@ glyph-block Letter-Latin-Lower-N : begin
include : RetroflexHook.rExt RightSB (-Descender)
include : VBar.l SB Descender 0
if sLT : include : sLT CAP
if sLB : include : sLB Descender
create-glyph "rInsular.\(suffix)" : glyph-proc
include : MarkSet.p
@ -197,7 +196,6 @@ glyph-block Letter-Latin-Lower-N : begin
include : RetroflexHook.rExt RightSB (-Descender)
include : VBar.l SB Descender 0
if sLT : include : sLT XH
if sLB : include : sLB Descender
select-variant 'n' 'n'
link-reduced-variant 'n/sansSerif' 'n' MathSansSerif
@ -213,8 +211,11 @@ glyph-block Letter-Latin-Lower-N : begin
select-variant 'nCurlyTail' 0x235 (follow -- 'eng')
select-variant 'nCrossedTail' 0xAB3B (follow -- 'eng')
select-variant 'engCrossedTail' 0xAB3C (follow -- 'eng')
select-variant 'RInsular' 0xA782 (follow -- 'eng')
select-variant 'rInsular' 0xA783 (follow -- 'eng')
select-variant 'eng/lTailBase' (shapeFrom -- 'eng')
select-variant 'RInsular' 0xA782 (follow -- 'eng/lTailBase')
select-variant 'rInsular' 0xA783 (follow -- 'eng/lTailBase')
select-variant 'grek/eta' 0x3B7
link-reduced-variant 'grek/eta/sansSerif' 'grek/eta' MathSansSerif
select-variant 'NExt' 0x220 (follow -- 'n')

View file

@ -313,7 +313,7 @@ glyph-block Letter-Latin-V : begin
select-variant 'cyrl/ukUnblended' 0x1C88 (follow -- 'v/nonCursive')
select-variant 'cyrl/yn' 0xA65F (follow -- 'v/nonCursive')
select-variant 'vLoop' 0x2C74 (follow -- 'v/nonCursive')
select-variant 'vLoop' 0x2C74
select-variant 'cyrl/Izhitsa' 0x474 (follow -- 'VHookRight') (shapeFrom -- 'VHookRight')
select-variant 'cyrl/Uk' 0xA64A (follow -- 'VHookRight')
@ -321,7 +321,7 @@ glyph-block Letter-Latin-V : begin
alias 'cyrl/izhitsa' 0x475 'vHookRight'
turned 'turnV' 0x245 'V' Middle (CAP / 2)
turned 'turnv' 0x28C 'v/nonCursive' Middle (XH / 2)
turned 'turnv' 0x28C 'v' Middle (XH / 2)
glyph-block-export BBVShape BBVInnerMaskShape BBVOuterMaskShape
define [BBVShape l r kd ks top] : glyph-proc

View file

@ -1701,6 +1701,7 @@ descriptionAffix = "toothed shape"
selectorAffix.d = "toothed"
selectorAffix."d/sansSerif" = "toothed"
selectorAffix."d/phoneticLeft" = "toothed"
selectorAffix."d/descBase" = "toothed"
selectorAffix."d/hookBottomBase" = "toothed"
selectorAffix.dCurlyTail = "toothed"
selectorAffix.dHookTop = "toothed"
@ -1713,6 +1714,7 @@ descriptionAffix = "toothless (cornered) shape"
selectorAffix.d = "toothlessCorner"
selectorAffix."d/sansSerif" = "toothlessCorner"
selectorAffix."d/phoneticLeft" = "toothed"
selectorAffix."d/descBase" = "toothed"
selectorAffix."d/hookBottomBase" = "toothlessCornerHBB"
selectorAffix.dCurlyTail = "toothed"
selectorAffix.dHookTop = "toothlessCorner"
@ -1725,6 +1727,7 @@ descriptionAffix = "toothless (rounded) shape"
selectorAffix.d = "toothlessRounded"
selectorAffix."d/sansSerif" = "toothlessRounded"
selectorAffix."d/phoneticLeft" = "toothed"
selectorAffix."d/descBase" = "toothed"
selectorAffix."d/hookBottomBase" = "toothlessRoundedHBB"
selectorAffix.dCurlyTail = "toothed"
selectorAffix.dHookTop = "toothlessRounded"
@ -1737,6 +1740,7 @@ descriptionAffix = "tailed shape"
selectorAffix.d = "tailed"
selectorAffix."d/sansSerif" = "tailed"
selectorAffix."d/phoneticLeft" = "toothed"
selectorAffix."d/descBase" = "toothed"
selectorAffix."d/hookBottomBase" = "toothed"
selectorAffix.dCurlyTail = "toothed"
selectorAffix.dHookTop = "tailed"
@ -1750,6 +1754,7 @@ descriptionJoiner = "without"
selectorAffix.d = "serifless"
selectorAffix."d/sansSerif" = "serifless"
selectorAffix."d/phoneticLeft" = "serifless"
selectorAffix."d/descBase" = "serifless"
selectorAffix."d/hookBottomBase" = "serifless"
selectorAffix.dCurlyTail = "serifless"
selectorAffix.dHookTop = "serifless"
@ -1763,6 +1768,7 @@ descriptionAffix = "serif at top"
selectorAffix.d = "topSerifed"
selectorAffix."d/sansSerif" = "serifless"
selectorAffix."d/phoneticLeft" = "topSerifed"
selectorAffix."d/descBase" = "topSerifed"
selectorAffix."d/hookBottomBase" = "topSerifed"
selectorAffix.dCurlyTail = "topSerifed"
selectorAffix.dHookTop = "serifless"
@ -1777,6 +1783,7 @@ descriptionAffix = "serif at top"
selectorAffix.d = "serifed"
selectorAffix."d/sansSerif" = "serifless"
selectorAffix."d/phoneticLeft" = "topSerifed"
selectorAffix."d/descBase" = "topSerifed"
selectorAffix."d/hookBottomBase" = "topSerifed"
selectorAffix.dCurlyTail = "topSerifed"
selectorAffix.dHookTop = "bottomSerifed"
@ -1791,6 +1798,7 @@ descriptionAffix = "serif at top"
selectorAffix.d = "topSerifed"
selectorAffix."d/sansSerif" = "serifless"
selectorAffix."d/phoneticLeft" = "topSerifed"
selectorAffix."d/descBase" = "topSerifed"
selectorAffix."d/hookBottomBase" = "topSerifed"
selectorAffix.dCurlyTail = "topSerifed"
selectorAffix.dHookTop = "serifless"
@ -2152,7 +2160,7 @@ selectorAffix.h = "motionSerifed"
selectorAffix."h/tailless" = "motionSerifed"
selectorAffix."h/descBase" = "topLeftSerifed"
selectorAffix."h/sansSerif" = "serifless"
selectorAffix.hHookTop = "motionSerifed"
selectorAffix.hHookTop = { if = [{ tail = "straight" }], then = "motionSerifed", else = "serifless" }
selectorAffix.hengHookTop = "serifless"
selectorAffix.heng = "topLeftSerifed"
selectorAffix."cyrl/shha" = "motionSerifed"
@ -2849,6 +2857,7 @@ selectorAffix."n/descBase" = ""
selectorAffix."n/lTailBase" = ""
selectorAffix.eng = ""
selectorAffix."eng/phoneticRight" = ""
selectorAffix."eng/lTailBase" = ""
selectorAffix."grek/eta" = ""
selectorAffix."grek/eta/sansSerif" = ""
selectorAffix."cyrl/pe.italic" = ""
@ -2863,6 +2872,7 @@ selectorAffix."n/descBase" = "earlessCorner"
selectorAffix."n/lTailBase" = "earlessCorner"
selectorAffix.eng = "earlessCorner"
selectorAffix."eng/phoneticRight" = "earlessCornerHTB"
selectorAffix."eng/lTailBase" = "earlessCorner"
selectorAffix."grek/eta" = "earlessCorner"
selectorAffix."grek/eta/sansSerif" = "earlessCorner"
selectorAffix."cyrl/pe.italic" = ""
@ -2877,6 +2887,7 @@ selectorAffix."n/descBase" = "earlessRounded"
selectorAffix."n/lTailBase" = "earlessRounded"
selectorAffix.eng = "earlessRounded"
selectorAffix."eng/phoneticRight" = "earlessRoundedHTB"
selectorAffix."eng/lTailBase" = "earlessRounded"
selectorAffix."grek/eta" = "earlessRounded"
selectorAffix."grek/eta/sansSerif" = "earlessRounded"
selectorAffix."cyrl/pe.italic" = ""
@ -2894,6 +2905,7 @@ selectorAffix."n/descBase" = "straight"
selectorAffix."n/lTailBase" = "straight"
selectorAffix.eng = "straight"
selectorAffix."eng/phoneticRight" = "straight"
selectorAffix."eng/lTailBase" = "straight"
selectorAffix."grek/eta" = "straight"
selectorAffix."grek/eta/sansSerif" = "straight"
selectorAffix."cyrl/pe.italic" = "straight"
@ -2908,6 +2920,7 @@ selectorAffix."n/descBase" = "straight"
selectorAffix."n/lTailBase" = "tailed"
selectorAffix.eng = "straight"
selectorAffix."eng/phoneticRight" = "straight"
selectorAffix."eng/lTailBase" = "straight"
selectorAffix."grek/eta" = "straight"
selectorAffix."grek/eta/sansSerif" = "straight"
selectorAffix."cyrl/pe.italic" = "tailed"
@ -2923,6 +2936,7 @@ selectorAffix."n/descBase" = "serifless"
selectorAffix."n/lTailBase" = "serifless"
selectorAffix.eng = "serifless"
selectorAffix."eng/phoneticRight" = "serifless"
selectorAffix."eng/lTailBase" = "serifless"
selectorAffix."grek/eta" = "serifless"
selectorAffix."grek/eta/sansSerif" = "serifless"
selectorAffix."cyrl/pe.italic" = "serifless"
@ -2938,6 +2952,7 @@ selectorAffix."n/descBase" = "topLeftSerifed"
selectorAffix."n/lTailBase" = "topLeftSerifed"
selectorAffix.eng = "topLeftSerifed"
selectorAffix."eng/phoneticRight" = "topLeftSerifed"
selectorAffix."eng/lTailBase" = "topLeftSerifed"
selectorAffix."grek/eta" = "topLeftSerifed"
selectorAffix."grek/eta/sansSerif" = "serifless"
selectorAffix."cyrl/pe.italic" = "topLeftSerifed"
@ -2953,6 +2968,7 @@ selectorAffix."n/descBase" = { if = [{ body = "normal" }], then = "topLeftSerife
selectorAffix."n/lTailBase" = { if = [{ terminal = "straight" }], then = "motionSerifed", else = { if = [{ body = "normal" }], then = "topLeftSerifed", else = "serifless" } }
selectorAffix.eng = { if = [{ body = "normal" }], then = "topLeftSerifed", else = "serifless" }
selectorAffix."eng/phoneticRight" = { if = [{ body = "normal" }], then = "topLeftSerifed", else = "serifless" }
selectorAffix."eng/lTailBase" = { if = [{ body = "normal" }], then = "topLeftSerifed", else = "serifless" }
selectorAffix."grek/eta" = { if = [{ body = "normal" }], then = "topLeftSerifed", else = "serifless" }
selectorAffix."grek/eta/sansSerif" = "serifless"
selectorAffix."cyrl/pe.italic" = "motionSerifed"
@ -2967,6 +2983,7 @@ selectorAffix."n/descBase" = "serifed"
selectorAffix."n/lTailBase" = { if = [{ terminal = "straight" }], then = "serifed", else = { if = [{ body = "normal" }], then = "topLeftSerifed", else = "serifless" } }
selectorAffix.eng = "serifed"
selectorAffix."eng/phoneticRight" = "serifed"
selectorAffix."eng/lTailBase" = { if = [{ body = "normal" }], then = "topLeftSerifed", else = "serifless" }
selectorAffix."grek/eta" = { if = [{ body = "normal" }], then = "topLeftSerifed", else = "serifless" }
selectorAffix."grek/eta/sansSerif" = "serifless"
selectorAffix."cyrl/pe.italic" = "serifed"
@ -3644,7 +3661,7 @@ selectorAffix.v = "cursive"
selectorAffix."v/sansSerif" = "cursive"
selectorAffix."v/nonCursive" = "straight"
selectorAffix.vHookTop = ""
selectorAffix.vLoop = ""
selectorAffix.vLoop = "straight"
[prime.v.variants-buildup.stages.serifs.serifless]
rank = 1
@ -3884,7 +3901,7 @@ disableIf = [{ body = "cursive" }]
descriptionAffix = "a tail turns leftward"
selectorAffix.y = "turn"
selectorAffix.yLoop = ""
selectorAffix."y/sansSerif" = ""
selectorAffix."y/sansSerif" = "turn"
selectorAffix."y/nonCursive" = "turn"
selectorAffix.yHookTop = "turn"