Further cleanup of #2331 , add additional composites missing from L2/24-021 but implicit, add separate example for diacritical dot from tittle in customizer preview. (#2333)

* Cleanup of #2331 (cont.)

* Add additional composites missing from `L2/24-021`

* Add separate example for diacritic dot from tittle
This commit is contained in:
John McWilliams 2024-05-16 18:58:07 -04:00 committed by GitHub
parent 2c7dacf7e4
commit 67977b1513
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 77 additions and 60 deletions

View file

@ -117,7 +117,7 @@ glyph-block Letter-Latin-Upper-AA-AO : begin
include : with-transform [ApparentTranslate shift 0]
union [Base subDf CAP df.mvs] [Slabs subDf CAP]
select-variant "AU/Right" (follow -- [if [MEnoughSpaceForFullSerifs : dfM] 'AU/Right/full' 'AU/Right/reduced'])
select-variant "AU/Right" (follow -- [if [MEnoughSpaceForFullSerifs : dfM] 'AU/U/full' 'AU/U/reduced'])
do "AU"
select-variant 'AA/AU/Left' (follow -- 'A')

View file

@ -415,14 +415,14 @@ glyph-block Letter-Latin-Lower-M : begin
select-variant 'turnmSideways' 0x1D1F (follow -- [if [MEnoughSpaceForFullSerifs : dfM] 'turnm/full' 'turnm/reduced'])
select-variant 'cyrl/sha.italic' (shapeFrom -- 'turnm') (follow -- [if [MEnoughSpaceForFullSerifs : dfM] 'cyrl/sha/full.italic' 'cyrl/sha/reduced.italic'])
select-variant 'cyrl/sha.italic' (shapeFrom -- 'turnm') (follow -- [if [MEnoughSpaceForFullSerifs : dfM] 'cyrl/sha.italic/full' 'cyrl/sha.italic/reduced'])
alias 'cyrl/sha.BGR' null 'cyrl/sha.italic'
select-variant 'cyrl/sha/reduced.italic' (shapeFrom -- 'turnm')
select-variant 'cyrl/sha/reduced.italic' (shapeFrom -- 'turnm') (follow -- 'cyrl/sha.italic/reduced')
alias 'cyrl/sha/reduced.BGR' null 'cyrl/sha/reduced.italic'
select-variant 'cyrl/shcha.italic' (follow -- [if [MEnoughSpaceForFullSerifs : dfM] 'cyrl/shcha/full.italic' 'cyrl/shcha/reduced.italic'])
select-variant 'cyrl/shcha.italic' (follow -- [if [MEnoughSpaceForFullSerifs : dfM] 'cyrl/shcha.italic/full' 'cyrl/shcha.italic/reduced'])
alias 'cyrl/shcha.BGR' null 'cyrl/shcha.italic'
select-variant 'cyrl/shcha/reduced.italic' (shapeFrom -- 'cyrl/shcha.italic')
select-variant 'cyrl/shcha/reduced.italic' (shapeFrom -- 'cyrl/shcha.italic') (follow -- 'cyrl/shcha.italic/reduced')
alias 'cyrl/shcha/reduced.BGR' null 'cyrl/shcha/reduced.italic'
derive-composites 'cyrl/te.SRB' null 'cyrl/sha.italic' 'macronAbove'

View file

@ -314,7 +314,10 @@ export : define ccmpCombinations : list
list {0x1079E 0x0322} 0x1079F # 𐞞
list {0x107A6 0x0322} 0x107A7 # 𐞦
list {0x107AC 0x0322} 0x107AD # 𐞬
# Additional composites which cannot be inferred from L2/24-021
########## Additional composites which cannot be inferred from L2/24-021
# Retroflex hooks
list {0x0053 0x0322} 0xA7C5 # S
list {0x0073 0x0322} 0x0282 # s
list {0x0279 0x0322} 0x027B # ɹ
@ -322,3 +325,17 @@ export : define ccmpCombinations : list
list {0x02AE 0x0322} 0x02AF # ʮ
list {0x02B4 0x0322} 0x02B5 # ʴ
list {0x02E2 0x0322} 0x1DB3 # ˢ
list {0xA71D 0x0322} 0x107B9 # ꜝ
# Long stroke overlays
list {0x004F 0x0336} 0xA74A # O
list {0x006F 0x0336} 0xA74B # o
# Short stroke overlays
list {0x0044 0x0335} 0xA7C7 # D
list {0x0053 0x0335} 0xA7C9 # S
list {0x0064 0x0335} 0xA7C8 # d
list {0x0073 0x0335} 0xA7CA # s
# Ring overlays
list {0x006C 0x20D8} 0xAB39 # l

View file

@ -1083,32 +1083,32 @@ rank = 1
descriptionAffix = "toothed shape"
selectorAffix.U = "toothed"
selectorAffix."U/sansSerif" = "toothed"
selectorAffix."AU/Right/full" = "toothed"
selectorAffix."AU/Right/reduced" = "toothed"
selectorAffix."AU/U/full" = "toothed"
selectorAffix."AU/U/reduced" = "toothed"
[prime.capital-u.variants-buildup.stages.body.tailed]
rank = 2
descriptionAffix = "tailed shape"
selectorAffix.U = "tailed"
selectorAffix."U/sansSerif" = "tailed"
selectorAffix."AU/Right/full" = "tailed"
selectorAffix."AU/Right/reduced" = "tailed"
selectorAffix."AU/U/full" = "tailed"
selectorAffix."AU/U/reduced" = "tailed"
[prime.capital-u.variants-buildup.stages.body.toothless-corner]
rank = 3
descriptionAffix = "toothless (corner bottom-right) shape"
selectorAffix.U = "toothlessCorner"
selectorAffix."U/sansSerif" = "toothlessCorner"
selectorAffix."AU/Right/full" = "toothlessCorner"
selectorAffix."AU/Right/reduced" = "toothlessCorner"
selectorAffix."AU/U/full" = "toothlessCorner"
selectorAffix."AU/U/reduced" = "toothlessCorner"
[prime.capital-u.variants-buildup.stages.body.toothless-rounded]
rank = 4
descriptionAffix = "toothless (rounded) shape"
selectorAffix.U = "toothlessRounded"
selectorAffix."U/sansSerif" = "toothlessRounded"
selectorAffix."AU/Right/full" = "toothlessRounded"
selectorAffix."AU/Right/reduced" = "toothlessRounded"
selectorAffix."AU/U/full" = "toothlessRounded"
selectorAffix."AU/U/reduced" = "toothlessRounded"
[prime.capital-u.variants-buildup.stages.serifs.serifless]
rank = 1
@ -1116,8 +1116,8 @@ descriptionAffix = "serifs"
descriptionJoiner = "without"
selectorAffix.U = "serifless"
selectorAffix."U/sansSerif" = "serifless"
selectorAffix."AU/Right/full" = "serifless"
selectorAffix."AU/Right/reduced" = "serifless"
selectorAffix."AU/U/full" = "serifless"
selectorAffix."AU/U/reduced" = "serifless"
[prime.capital-u.variants-buildup.stages.serifs.bottom-right-serifed]
rank = 2
@ -1125,8 +1125,8 @@ disableIf = [{ body = "NOT toothed" }]
descriptionAffix = "serif at bottom-right"
selectorAffix.U = "bottomRightSerifed"
selectorAffix."U/sansSerif" = "serifless"
selectorAffix."AU/Right/full" = "bottomRightSerifed"
selectorAffix."AU/Right/reduced" = "bottomRightSerifed"
selectorAffix."AU/U/full" = "bottomRightSerifed"
selectorAffix."AU/U/reduced" = "bottomRightSerifed"
[prime.capital-u.variants-buildup.stages.serifs.motion-serifed]
rank = 3
@ -1134,8 +1134,8 @@ disableIf = [{ body = "toothless-corner" }, { body = "toothless-rounded" }]
descriptionAffix = "motion serifs at top-left and bottom-right"
selectorAffix.U = "unilateralMotionSerifed"
selectorAffix."U/sansSerif" = "serifless"
selectorAffix."AU/Right/full" = { if = [{ body = "toothed" }], then = "bottomRightSerifed", else = "serifless" }
selectorAffix."AU/Right/reduced" = { if = [{ body = "toothed" }], then = "bottomRightSerifed", else = "serifless" }
selectorAffix."AU/U/full" = { if = [{ body = "toothed" }], then = "bottomRightSerifed", else = "serifless" }
selectorAffix."AU/U/reduced" = { if = [{ body = "toothed" }], then = "bottomRightSerifed", else = "serifless" }
[prime.capital-u.variants-buildup.stages.serifs.unilateral-motion-serifed]
rank = 4
@ -1143,8 +1143,8 @@ disableIf = [{ body = "toothed" }, { body = "tailed" }]
descriptionAffix = "motion serifs at left side"
selectorAffix.U = "unilateralMotionSerifed"
selectorAffix."U/sansSerif" = "serifless"
selectorAffix."AU/Right/full" = "serifless"
selectorAffix."AU/Right/reduced" = "serifless"
selectorAffix."AU/U/full" = "serifless"
selectorAffix."AU/U/reduced" = "serifless"
[prime.capital-u.variants-buildup.stages.serifs.bilateral-motion-serifed]
rank = 5
@ -1152,16 +1152,16 @@ disableIf = [{ body = "toothed" }, { body = "tailed" }]
descriptionAffix = "motion serifs at both sides"
selectorAffix.U = "bilateralMotionSerifed"
selectorAffix."U/sansSerif" = "serifless"
selectorAffix."AU/Right/full" = "bilateralMotionSerifed"
selectorAffix."AU/Right/reduced" = "bilateralMotionSerifed"
selectorAffix."AU/U/full" = "bilateralMotionSerifed"
selectorAffix."AU/U/reduced" = "bilateralMotionSerifed"
[prime.capital-u.variants-buildup.stages.serifs.serifed]
rank = 6
descriptionAffix = "serifs"
selectorAffix.U = "serifed"
selectorAffix."U/sansSerif" = "serifless"
selectorAffix."AU/Right/full" = "serifed"
selectorAffix."AU/Right/reduced" = { if = [{ body = "toothed" }], then = "bottomRightSerifed", else = { if = [{ body = "tailed" }], then = "serifless", else = "bilateralMotionSerifed" } }
selectorAffix."AU/U/full" = "serifed"
selectorAffix."AU/U/reduced" = { if = [{ body = "toothed" }], then = "bottomRightSerifed", else = { if = [{ body = "tailed" }], then = "serifless", else = "bilateralMotionSerifed" } }
@ -3750,10 +3750,10 @@ selectorAffix."turnmLeg/full" = "toothed"
selectorAffix."turnmLeg/reduced" = "toothed"
selectorAffix."cyrl/i.italic" = "toothed"
selectorAffix."cyrl/i.italic/descBase" = "toothed"
selectorAffix."cyrl/sha/full.italic" = "toothed"
selectorAffix."cyrl/sha/reduced.italic" = "toothed"
selectorAffix."cyrl/shcha/full.italic" = "toothed"
selectorAffix."cyrl/shcha/reduced.italic" = "toothed"
selectorAffix."cyrl/sha.italic/full" = "toothed"
selectorAffix."cyrl/sha.italic/reduced" = "toothed"
selectorAffix."cyrl/shcha.italic/full" = "toothed"
selectorAffix."cyrl/shcha.italic/reduced" = "toothed"
selectorAffix."cyrl/dzhe.italic" = "toothed"
selectorAffix."cyrl/tse.italic" = "toothed"
selectorAffix."cyrl/tseRev.italic" = "toothed"
@ -3777,10 +3777,10 @@ selectorAffix."turnmLeg/full" = "toothed"
selectorAffix."turnmLeg/reduced" = "toothed"
selectorAffix."cyrl/i.italic" = "tailed"
selectorAffix."cyrl/i.italic/descBase" = "toothed"
selectorAffix."cyrl/sha/full.italic" = "tailed"
selectorAffix."cyrl/sha/reduced.italic" = "tailed"
selectorAffix."cyrl/shcha/full.italic" = "toothed"
selectorAffix."cyrl/shcha/reduced.italic" = "toothed"
selectorAffix."cyrl/sha.italic/full" = "tailed"
selectorAffix."cyrl/sha.italic/reduced" = "tailed"
selectorAffix."cyrl/shcha.italic/full" = "toothed"
selectorAffix."cyrl/shcha.italic/reduced" = "toothed"
selectorAffix."cyrl/dzhe.italic" = "tailed"
selectorAffix."cyrl/tse.italic" = "toothed"
selectorAffix."cyrl/tseRev.italic" = "tailed"
@ -3804,10 +3804,10 @@ selectorAffix."turnmLeg/full" = "toothlessCorner"
selectorAffix."turnmLeg/reduced" = "toothlessCorner"
selectorAffix."cyrl/i.italic" = "toothed"
selectorAffix."cyrl/i.italic/descBase" = "toothed"
selectorAffix."cyrl/sha/full.italic" = "toothed"
selectorAffix."cyrl/sha/reduced.italic" = "toothed"
selectorAffix."cyrl/shcha/full.italic" = "toothed"
selectorAffix."cyrl/shcha/reduced.italic" = "toothed"
selectorAffix."cyrl/sha.italic/full" = "toothed"
selectorAffix."cyrl/sha.italic/reduced" = "toothed"
selectorAffix."cyrl/shcha.italic/full" = "toothed"
selectorAffix."cyrl/shcha.italic/reduced" = "toothed"
selectorAffix."cyrl/dzhe.italic" = "toothed"
selectorAffix."cyrl/tse.italic" = "toothed"
selectorAffix."cyrl/tseRev.italic" = "toothed"
@ -3831,10 +3831,10 @@ selectorAffix."turnmLeg/full" = "toothed"
selectorAffix."turnmLeg/reduced" = "toothed"
selectorAffix."cyrl/i.italic" = "toothed"
selectorAffix."cyrl/i.italic/descBase" = "toothed"
selectorAffix."cyrl/sha/full.italic" = "toothed"
selectorAffix."cyrl/sha/reduced.italic" = "toothed"
selectorAffix."cyrl/shcha/full.italic" = "toothed"
selectorAffix."cyrl/shcha/reduced.italic" = "toothed"
selectorAffix."cyrl/sha.italic/full" = "toothed"
selectorAffix."cyrl/sha.italic/reduced" = "toothed"
selectorAffix."cyrl/shcha.italic/full" = "toothed"
selectorAffix."cyrl/shcha.italic/reduced" = "toothed"
selectorAffix."cyrl/dzhe.italic" = "toothed"
selectorAffix."cyrl/tse.italic" = "toothed"
selectorAffix."cyrl/tseRev.italic" = "toothed"
@ -3859,10 +3859,10 @@ selectorAffix."turnmLeg/full" = "serifless"
selectorAffix."turnmLeg/reduced" = "serifless"
selectorAffix."cyrl/i.italic" = "serifless"
selectorAffix."cyrl/i.italic/descBase" = "serifless"
selectorAffix."cyrl/sha/full.italic" = "serifless"
selectorAffix."cyrl/sha/reduced.italic" = "serifless"
selectorAffix."cyrl/shcha/full.italic" = "serifless"
selectorAffix."cyrl/shcha/reduced.italic" = "serifless"
selectorAffix."cyrl/sha.italic/full" = "serifless"
selectorAffix."cyrl/sha.italic/reduced" = "serifless"
selectorAffix."cyrl/shcha.italic/full" = "serifless"
selectorAffix."cyrl/shcha.italic/reduced" = "serifless"
selectorAffix."cyrl/dzhe.italic" = "serifless"
selectorAffix."cyrl/tse.italic" = "serifless"
selectorAffix."cyrl/tseRev.italic" = "serifless"
@ -3887,10 +3887,10 @@ selectorAffix."turnmLeg/full" = "serifless"
selectorAffix."turnmLeg/reduced" = "serifless"
selectorAffix."cyrl/i.italic" = "bottomRightSerifed"
selectorAffix."cyrl/i.italic/descBase" = "serifless"
selectorAffix."cyrl/sha/full.italic" = "bottomRightSerifed"
selectorAffix."cyrl/sha/reduced.italic" = "bottomRightSerifed"
selectorAffix."cyrl/shcha/full.italic" = "serifless"
selectorAffix."cyrl/shcha/reduced.italic" = "serifless"
selectorAffix."cyrl/sha.italic/full" = "bottomRightSerifed"
selectorAffix."cyrl/sha.italic/reduced" = "bottomRightSerifed"
selectorAffix."cyrl/shcha.italic/full" = "serifless"
selectorAffix."cyrl/shcha.italic/reduced" = "serifless"
selectorAffix."cyrl/dzhe.italic" = "bottomRightSerifed"
selectorAffix."cyrl/tse.italic" = "serifless"
selectorAffix."cyrl/tseRev.italic" = "bottomRightSerifed"
@ -3914,10 +3914,10 @@ selectorAffix."turnmLeg/full" = "motionSerifed"
selectorAffix."turnmLeg/reduced" = "motionSerifed"
selectorAffix."cyrl/i.italic" = "motionSerifed"
selectorAffix."cyrl/i.italic/descBase" = "motionSerifed"
selectorAffix."cyrl/sha/full.italic" = "motionSerifed"
selectorAffix."cyrl/sha/reduced.italic" = "motionSerifed"
selectorAffix."cyrl/shcha/full.italic" = "motionSerifed"
selectorAffix."cyrl/shcha/reduced.italic" = "motionSerifed"
selectorAffix."cyrl/sha.italic/full" = "motionSerifed"
selectorAffix."cyrl/sha.italic/reduced" = "motionSerifed"
selectorAffix."cyrl/shcha.italic/full" = "motionSerifed"
selectorAffix."cyrl/shcha.italic/reduced" = "motionSerifed"
selectorAffix."cyrl/dzhe.italic" = "motionSerifed"
selectorAffix."cyrl/tse.italic" = "motionSerifed"
selectorAffix."cyrl/tseRev.italic" = "motionSerifed"
@ -3941,10 +3941,10 @@ selectorAffix."turnmLeg/full" = "serifed"
selectorAffix."turnmLeg/reduced" = "motionSerifed"
selectorAffix."cyrl/i.italic" = "serifed"
selectorAffix."cyrl/i.italic/descBase" = "serifed"
selectorAffix."cyrl/sha/full.italic" = "serifed"
selectorAffix."cyrl/sha/reduced.italic" = "motionSerifed"
selectorAffix."cyrl/shcha/full.italic" = "serifed"
selectorAffix."cyrl/shcha/reduced.italic" = "motionSerifed"
selectorAffix."cyrl/sha.italic/full" = "serifed"
selectorAffix."cyrl/sha.italic/reduced" = "motionSerifed"
selectorAffix."cyrl/shcha.italic/full" = "serifed"
selectorAffix."cyrl/shcha.italic/reduced" = "motionSerifed"
selectorAffix."cyrl/dzhe.italic" = "serifed"
selectorAffix."cyrl/tse.italic" = "serifed"
selectorAffix."cyrl/tseRev.italic" = "serifed"

View file

@ -5,7 +5,7 @@ export const ssStrings = [
["ABC.DEF.GHI.JKL.MNO.PQRS.TUV.WXYZ", "abc.def.ghi.jkl.mno.pqrs.tuv.wxyz"],
["!iIlL17|¦ ¢coO08BbDQ $5SZ2zs 96µm", "float il1[]={1-2/3.4,5+6=7/8%90};"],
["1234567890 ,._-+= >< «¯-¬_» ~–÷+×", "{*}[]()<>`+-=$/#_%^@\\&|~?'\" !,.;:"],
["E3CGQ g9q¶ uvw ſßðþ ΓΔΛαδιλμξπτχ∂", [..."ЖЗКУЯжзклмнруфчьыя ", "<=", " ", "!=", " ", "==", " ", "=>", " ", "->"]]
["E3CGQ g9q¶ äöü ſßðþ ΓΔΛαδιλμξπτχ∂", [..."ЖЗКУЯжзклмнруфчьыя ", "<=", " ", "!=", " ", "==", " ", "=>", " ", "->"]]
];
function* makeSample(lbm, hotChars) {

View file

@ -5,7 +5,7 @@ const ssStrings = [
["ABC.DEF.GHI.JKL.MNO.PQRS.TUV.WXYZ", "abc.def.ghi.jkl.mno.pqrs.tuv.wxyz"],
["!iIlL17|¦ ¢coO08BbDQ $5SZ2zs 96µm", "float il1[]={1-2/3.4,5+6=7/8%90};"],
["1234567890 ,._-+= >< «¯-¬_» ~–÷+×", "{*}[]()<>`+-=$/#_%^@\\&|~?'\" !,.;:"],
["E3CGQ g9q¶ uvw ſßðþ ΓΔΛαδιλμξπτχ∂", [..."ЖЗКУЯжзклмнруфчьыя ", "<=", " ", "!=", " ", "==", " ", "=>", " ", "->"]]
["E3CGQ g9q¶ äöü ſßðþ ΓΔΛαδιλμξπτχ∂", [..."ЖЗКУЯжзклмнруфчьыя ", "<=", " ", "!=", " ", "==", " ", "=>", " ", "->"]]
];
function* makeSample(theme, lbm, features, hotChars) {