diff --git a/changes/30.0.2.md b/changes/30.0.2.md index 6a14a8bde..49dc4824c 100644 --- a/changes/30.0.2.md +++ b/changes/30.0.2.md @@ -1,3 +1,4 @@ +* Reduce fully-serifed variants of turned m (`U+019C`, `U+026F`, `U+0270`) and Cyrillic Italic Lower {Sha|Scha} (`U+0448`, `U+0449`) under monospace. * Add characters: - LATIN SMALL LETTER DEZH DIGRAPH WITH PALATAL HOOK (`U+1DF12`). - LATIN SMALL LETTER TESH DIGRAPH WITH PALATAL HOOK (`U+1DF17`). diff --git a/packages/font-glyphs/src/auto-build/transformed.ptl b/packages/font-glyphs/src/auto-build/transformed.ptl index 9887eda9b..e78390a74 100644 --- a/packages/font-glyphs/src/auto-build/transformed.ptl +++ b/packages/font-glyphs/src/auto-build/transformed.ptl @@ -173,7 +173,7 @@ glyph-block Autobuild-Transformed : begin list 0x1D57 't' list 0x1D58 'u' list 0x1D59 'uSideways' - list 0x1D5A 'turnm' + list 0x1D5A 'turnm/reduced' list 0x1D5B 'v' list 0x1D5C 'latinAyin' list 0x1D5D 'grek/beta' @@ -200,7 +200,7 @@ glyph-block Autobuild-Transformed : begin list 0x1DAA 'lPalatalHook' list 0x1DAB 'smcpL' list 0x1DAC 'meng' - list 0x1DAD 'turnmLeg' + list 0x1DAD 'turnmLeg/reduced' list 0x1DAE 'nLTail' list 0x1DAF 'nHookBottom' list 0x1DB0 'smcpN' @@ -312,13 +312,13 @@ glyph-block Autobuild-Transformed : begin list 0x1E03D 'cyrl/pe' list 0x1E03E 'cyrl/er' list 0x1E03F 'cyrl/es' - list 0x1E040 'cyrl/te' + list 0x1E040 'cyrl/te/reduced' list 0x1E041 'cyrl/u' list 0x1E042 'cyrl/ef' list 0x1E043 'cyrl/kha' list 0x1E044 'cyrl/tse' list 0x1E045 'cyrl/che' - list 0x1E046 'cyrl/sha' + list 0x1E046 'cyrl/sha/reduced' list 0x1E047 'cyrl/yery' list 0x1E048 'cyrl/e' list 0x1E049 'cyrl/yu' @@ -435,7 +435,7 @@ glyph-block Autobuild-Transformed : begin list 0x1E061 'cyrl/kha' list 0x1E062 'cyrl/tse' list 0x1E063 'cyrl/che' - list 0x1E064 'cyrl/sha' + list 0x1E064 'cyrl/sha/reduced' list 0x1E065 'cyrl/yer' list 0x1E066 'cyrl/yery' list 0x1E067 'cyrl/ge' @@ -528,12 +528,12 @@ glyph-block Autobuild-Transformed : begin list 0x2DEA 'cyrl/o' list 0x2DEB 'cyrl/pe' list 0x2DED 'cyrl/es' - list 0x2DEE 'cyrl/te' + list 0x2DEE 'cyrl/te/reduced' list 0x2DEF 'cyrl/kha' list 0x2DF0 'cyrl/tse' list 0x2DF1 'cyrl/che' - list 0x2DF2 'cyrl/sha' - list 0x2DF3 'cyrl/shcha' + list 0x2DF2 'cyrl/sha/reduced' + list 0x2DF3 'cyrl/shcha/reduced' list 0x2DF4 'cyrl/fita' list 0x2DF5 'cyrl/este' list 0x2DF6 'cyrl/a' diff --git a/packages/font-glyphs/src/letter/cyrillic/orthography.ptl b/packages/font-glyphs/src/letter/cyrillic/orthography.ptl index d564cffe8..ede121eb0 100644 --- a/packages/font-glyphs/src/letter/cyrillic/orthography.ptl +++ b/packages/font-glyphs/src/letter/cyrillic/orthography.ptl @@ -14,9 +14,12 @@ glyph-block Letter-Cyrillic-Orthography : begin orthographic-italic 'cyrl/i' 0x438 orthographic-italic 'cyrl/pe' 0x43F orthographic-italic 'cyrl/te' 0x442 + orthographic-italic 'cyrl/te/reduced' null orthographic-italic 'cyrl/tse' 0x446 orthographic-italic 'cyrl/sha' 0x448 + orthographic-italic 'cyrl/sha/reduced' null orthographic-italic 'cyrl/shcha' 0x449 + orthographic-italic 'cyrl/shcha/reduced' null orthographic-italic 'cyrl/dzhe' 0x45F orthographic-italic 'cyrl/yat' 0x463 orthographic-italic 'cyrl/iShortTail' 0x48B @@ -43,36 +46,40 @@ glyph-block Letter-Cyrillic-Orthography : begin CreateAccentedComposition 'cyrl/igrave' 0x45D 'cyrl/i' 'graveAbove' # Link localization forms - link-gr LocalizedForm.SRB.Upright 'cyrl/be' 'cyrl/be.SRB' + link-gr LocalizedForm.SRB.Upright 'cyrl/be' 'cyrl/be.SRB' - link-gr LocalizedForm.SRB.Italic 'cyrl/be' 'cyrl/be.SRB' - link-gr LocalizedForm.SRB.Italic 'cyrl/ghe' 'cyrl/ghe.SRB' - link-gr LocalizedForm.SRB.Italic 'cyrl/de' 'cyrl/de.SRB' - link-gr LocalizedForm.SRB.Italic 'cyrl/gje' 'cyrl/gje.SRB' - link-gr LocalizedForm.SRB.Italic 'cyrl/pe' 'cyrl/pe.SRB' - link-gr LocalizedForm.SRB.Italic 'cyrl/te' 'cyrl/te.SRB' + link-gr LocalizedForm.SRB.Italic 'cyrl/be' 'cyrl/be.SRB' + link-gr LocalizedForm.SRB.Italic 'cyrl/ghe' 'cyrl/ghe.SRB' + link-gr LocalizedForm.SRB.Italic 'cyrl/de' 'cyrl/de.SRB' + link-gr LocalizedForm.SRB.Italic 'cyrl/gje' 'cyrl/gje.SRB' + link-gr LocalizedForm.SRB.Italic 'cyrl/pe' 'cyrl/pe.SRB' + link-gr LocalizedForm.SRB.Italic 'cyrl/te' 'cyrl/te.SRB' + link-gr LocalizedForm.SRB.Italic 'cyrl/te/reduced' 'cyrl/te/reduced.SRB' - link-gr LocalizedForm.BGR 'cyrl/ve' 'cyrl/ve.BGR' - link-gr LocalizedForm.BGR 'cyrl/ghe' 'cyrl/ghe.italic' - link-gr LocalizedForm.BGR 'cyrl/De' 'cyrl/De.BGR' - link-gr LocalizedForm.BGR 'cyrl/de' 'cyrl/de.BGR' - link-gr LocalizedForm.BGR 'cyrl/zhe' 'cyrl/zhe.BGR' - link-gr LocalizedForm.BGR 'cyrl/ze' 'cyrl/ze.BGR' - link-gr LocalizedForm.BGR 'cyrl/i' 'cyrl/i.BGR' - link-gr LocalizedForm.BGR 'cyrl/ibreve' 'cyrl/ibreve.BGR' - link-gr LocalizedForm.BGR 'cyrl/igrave' 'cyrl/igrave.BGR' - link-gr LocalizedForm.BGR 'cyrl/ka' 'cyrl/ka.BGR' - link-gr LocalizedForm.BGR 'cyrl/El' 'cyrl/El.BGR' - link-gr LocalizedForm.BGR 'cyrl/el' 'cyrl/el.BGR' - link-gr LocalizedForm.BGR 'cyrl/en' 'cyrl/en.BGR' - link-gr LocalizedForm.BGR 'cyrl/pe' 'cyrl/pe.BGR' - link-gr LocalizedForm.BGR 'cyrl/te' 'cyrl/te.BGR' - link-gr LocalizedForm.BGR 'cyrl/Ef' 'cyrl/Ef.BGR' - link-gr LocalizedForm.BGR 'cyrl/ef' 'cyrl/ef.BGR' - link-gr LocalizedForm.BGR 'cyrl/che' 'cyrl/che.BGR' - link-gr LocalizedForm.BGR 'cyrl/sha' 'cyrl/sha.BGR' - link-gr LocalizedForm.BGR 'cyrl/shcha' 'cyrl/shcha.BGR' - link-gr LocalizedForm.BGR 'cyrl/yu' 'cyrl/yu.BGR' - link-gr LocalizedForm.BGR 'cyrl/tse' 'cyrl/tse.BGR' - link-gr LocalizedForm.BGR 'cyrl/yer' 'cyrl/yer.BGR' - link-gr LocalizedForm.BGR 'cyrl/yeri' 'cyrl/yeri.BGR' + link-gr LocalizedForm.BGR 'cyrl/ve' 'cyrl/ve.BGR' + link-gr LocalizedForm.BGR 'cyrl/ghe' 'cyrl/ghe.italic' + link-gr LocalizedForm.BGR 'cyrl/De' 'cyrl/De.BGR' + link-gr LocalizedForm.BGR 'cyrl/de' 'cyrl/de.BGR' + link-gr LocalizedForm.BGR 'cyrl/zhe' 'cyrl/zhe.BGR' + link-gr LocalizedForm.BGR 'cyrl/ze' 'cyrl/ze.BGR' + link-gr LocalizedForm.BGR 'cyrl/i' 'cyrl/i.BGR' + link-gr LocalizedForm.BGR 'cyrl/ibreve' 'cyrl/ibreve.BGR' + link-gr LocalizedForm.BGR 'cyrl/igrave' 'cyrl/igrave.BGR' + link-gr LocalizedForm.BGR 'cyrl/ka' 'cyrl/ka.BGR' + link-gr LocalizedForm.BGR 'cyrl/El' 'cyrl/El.BGR' + link-gr LocalizedForm.BGR 'cyrl/el' 'cyrl/el.BGR' + link-gr LocalizedForm.BGR 'cyrl/en' 'cyrl/en.BGR' + link-gr LocalizedForm.BGR 'cyrl/pe' 'cyrl/pe.BGR' + link-gr LocalizedForm.BGR 'cyrl/te' 'cyrl/te.BGR' + link-gr LocalizedForm.BGR 'cyrl/te/reduced' 'cyrl/te/reduced.BGR' + link-gr LocalizedForm.BGR 'cyrl/Ef' 'cyrl/Ef.BGR' + link-gr LocalizedForm.BGR 'cyrl/ef' 'cyrl/ef.BGR' + link-gr LocalizedForm.BGR 'cyrl/che' 'cyrl/che.BGR' + link-gr LocalizedForm.BGR 'cyrl/sha' 'cyrl/sha.BGR' + link-gr LocalizedForm.BGR 'cyrl/sha/reduced' 'cyrl/sha/reduced.BGR' + link-gr LocalizedForm.BGR 'cyrl/shcha' 'cyrl/shcha.BGR' + link-gr LocalizedForm.BGR 'cyrl/shcha/reduced' 'cyrl/shcha/reduced.BGR' + link-gr LocalizedForm.BGR 'cyrl/yu' 'cyrl/yu.BGR' + link-gr LocalizedForm.BGR 'cyrl/tse' 'cyrl/tse.BGR' + link-gr LocalizedForm.BGR 'cyrl/yer' 'cyrl/yer.BGR' + link-gr LocalizedForm.BGR 'cyrl/yeri' 'cyrl/yeri.BGR' diff --git a/packages/font-glyphs/src/letter/cyrillic/sha.ptl b/packages/font-glyphs/src/letter/cyrillic/sha.ptl index 7caac5934..d3da9ae61 100644 --- a/packages/font-glyphs/src/letter/cyrillic/sha.ptl +++ b/packages/font-glyphs/src/letter/cyrillic/sha.ptl @@ -42,6 +42,8 @@ glyph-block Letter-Cyrillic-Sha : begin include : df.markSet.e include : CyrShaShape df XH 0 (doSerif -- SLAB) + alias 'cyrl/sha/reduced.upright' null 'cyrl/sha.upright' + create-glyph 'cyrl/teThreeLeg.upright' : glyph-proc local df : include : DivFrame para.diversityM 3 include : df.markSet.e @@ -64,3 +66,5 @@ glyph-block Letter-Cyrillic-Sha : begin local df : include : DivFrame para.diversityM 3 include : df.markSet.e include : CyrShchaShape df XH 0 (doSerif -- SLAB) + + alias 'cyrl/shcha/reduced.upright' null 'cyrl/shcha.upright' diff --git a/packages/font-glyphs/src/letter/latin-ext/lower-ae-oe.ptl b/packages/font-glyphs/src/letter/latin-ext/lower-ae-oe.ptl index abfe65120..e1dbb349d 100644 --- a/packages/font-glyphs/src/letter/latin-ext/lower-ae-oe.ptl +++ b/packages/font-glyphs/src/letter/latin-ext/lower-ae-oe.ptl @@ -11,6 +11,7 @@ glyph-block Letter-Latin-Lower-AE-OE : begin glyph-block-import Mark-Adjustment : LeaningAnchor glyph-block-import Letter-Shared : CreateTurnedLetter glyph-block-import Letter-Shared-Shapes : nShoulder OBarLeft + glyph-block-import Letter-Latin-Lower-M : MEnoughSpaceForFullSerifs dfM glyph-block-export SubDfAndShift define [SubDfAndShift pShift df _o] : begin @@ -401,7 +402,7 @@ glyph-block Letter-Latin-Lower-AE-OE : begin select-variant "ae/e" (follow -- 'e') select-variant "aeInvE/right" (follow -- 'e') select-variant "ue/u" - select-variant "au/u" + select-variant "au/u" (follow -- [if [MEnoughSpaceForFullSerifs : dfM] 'au/u' 'au/u/reduced']) select-variant "oeOpenO/left" (follow -- 'c') select-variant "cyrl/yae/left" select-variant "cyrl/rha/left" (follow -- 'cyrl/er') diff --git a/packages/font-glyphs/src/letter/latin-ext/upper-aa-ao.ptl b/packages/font-glyphs/src/letter/latin-ext/upper-aa-ao.ptl index 30d6e811d..dba6f65c6 100644 --- a/packages/font-glyphs/src/letter/latin-ext/upper-aa-ao.ptl +++ b/packages/font-glyphs/src/letter/latin-ext/upper-aa-ao.ptl @@ -9,6 +9,7 @@ glyph-block Letter-Latin-Upper-AA-AO : begin glyph-block-import CommonShapes glyph-block-import Common-Derivatives glyph-block-import Letter-Latin-Lower-AE-OE : SubDfAndShift + glyph-block-import Letter-Latin-Lower-M : MEnoughSpaceForFullSerifs dfM do "A glyphs" glyph-block-import Letter-Latin-Upper-A : AConfig AMaskShape ALetterShape @@ -116,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 -- 'U/noTopLeftSerif') + select-variant "AU/Right" (follow -- [if [MEnoughSpaceForFullSerifs : dfM] 'AU/Right' 'AU/Right/reduced']) do "AU" select-variant 'AA/AU/Left' (follow -- 'A') diff --git a/packages/font-glyphs/src/letter/latin/lower-m.ptl b/packages/font-glyphs/src/letter/latin/lower-m.ptl index c9e8b03fe..922ea8ebf 100644 --- a/packages/font-glyphs/src/letter/latin/lower-m.ptl +++ b/packages/font-glyphs/src/letter/latin/lower-m.ptl @@ -61,7 +61,6 @@ glyph-block Letter-Latin-Lower-M : begin corner left [Math.min (top - sm - 0.1) bottom] close - define [SmallMTopLeftSerif df top lbot fFull] : begin local sf : SerifFrame.fromDf df top 0 return sf.lt.outer @@ -90,8 +89,9 @@ glyph-block Letter-Latin-Lower-M : begin local sf : SerifFrame.fromDf df top rbot return sf.rb.outer - - define [MEnoughSpaceForFullSerifs df mid] : begin + glyph-block-export MEnoughSpaceForFullSerifs + define [MEnoughSpaceForFullSerifs df _mid] : begin + local mid : fallback _mid df.middle local ink : HSwToV df.mvs local gap : [Math.min (mid - df.leftSB) (df.rightSB - mid)] - 1.5 * ink return : 0.5 * ink + 0.375 * gap > para.refJut @@ -127,7 +127,7 @@ glyph-block Letter-Latin-Lower-M : begin local fFull : MEnoughSpaceForFullSerifs df : fallback _mid df.middle include : SmallMBottomMotionRightSerif df top rbot fFull - + glyph-block-export dfM define [dfM] : DivFrame para.diversityM 3 define [SmallMArches df top lbot mbot rbot _mid] : glyph-proc local mid : fallback _mid df.middle @@ -316,10 +316,12 @@ glyph-block Letter-Latin-Lower-M : begin link-reduced-variant 'm/sansSerif' 'm' MathSansSerif select-variant 'cyrl/te.italic' (shapeFrom -- 'm') + alias 'cyrl/te/reduced.italic' null 'cyrl/te.italic' select-variant 'cyrl/te.italic/descBase' (shapeFrom -- 'm') select-variant 'cyrl/tjeKomi.italic' select-variant 'cyrl/teMidHook.italic' (follow -- 'cyrl/te.italic') alias 'cyrl/te.BGR' null 'cyrl/te.italic' + alias 'cyrl/te/reduced.BGR' null 'cyrl/te.italic' alias 'cyrl/teThreeLeg.italic' null 'cyrl/te.italic' derive-composites 'cyrl/teDescender.italic' null 'cyrl/te.italic/descBase' : do local df : DivFrame para.diversityM 3 @@ -402,18 +404,28 @@ glyph-block Letter-Latin-Lower-M : begin eject-contour 'serifLT' include : CyrDescender.rSideJut df.rightSB 0 (refSw -- df.mvs) - select-variant 'turnm' 0x26F - select-variant 'capitalTurnm' 0x19C (follow -- 'turnm') - select-variant 'turnmLeg' 0x270 - select-variant 'turnmSideways' 0x1D1F (follow -- 'turnm') + select-variant 'turnm' 0x26F (follow -- [if [MEnoughSpaceForFullSerifs : dfM] 'turnm' 'turnm/reduced']) + select-variant 'turnm/reduced' (shapeFrom -- 'turnm') - select-variant 'cyrl/sha.italic' (shapeFrom -- 'turnm') + select-variant 'capitalTurnm' 0x19C (follow -- [if [MEnoughSpaceForFullSerifs : dfM] 'turnm' 'turnm/reduced']) + + select-variant 'turnmLeg' 0x270 (follow -- [if [MEnoughSpaceForFullSerifs : dfM] 'turnmLeg' 'turnmLeg/reduced']) + select-variant 'turnmLeg/reduced' (shapeFrom -- 'turnmLeg') + + select-variant 'turnmSideways' 0x1D1F (follow -- [if [MEnoughSpaceForFullSerifs : dfM] 'turnm' 'turnm/reduced']) + + select-variant 'cyrl/sha.italic' (shapeFrom -- 'turnm') (follow -- [if [MEnoughSpaceForFullSerifs : dfM] 'cyrl/sha.italic' 'cyrl/sha/reduced.italic']) alias 'cyrl/sha.BGR' null 'cyrl/sha.italic' + select-variant 'cyrl/sha/reduced.italic' (shapeFrom -- 'turnm') + alias 'cyrl/sha/reduced.BGR' null 'cyrl/sha/reduced.italic' - select-variant 'cyrl/shcha.italic' + select-variant 'cyrl/shcha.italic' (follow -- [if [MEnoughSpaceForFullSerifs : dfM] 'cyrl/shcha.italic' 'cyrl/shcha/reduced.italic']) alias 'cyrl/shcha.BGR' null 'cyrl/shcha.italic' + select-variant 'cyrl/shcha/reduced.italic' (shapeFrom -- 'cyrl/shcha.italic') + alias 'cyrl/shcha/reduced.BGR' null 'cyrl/shcha/reduced.italic' derive-composites 'cyrl/te.SRB' null 'cyrl/sha.italic' 'macronAbove' + derive-composites 'cyrl/te/reduced.SRB' null 'cyrl/sha/reduced.italic' 'macronAbove' glyph-block-import Letter-Blackboard : BBS BBD BBBarLeft create-glyph 'mathbb/m' 0x1D55E : glyph-proc diff --git a/packages/font-glyphs/src/letter/latin/upper-t.ptl b/packages/font-glyphs/src/letter/latin/upper-t.ptl index 1c5b63ee7..afe469625 100644 --- a/packages/font-glyphs/src/letter/latin/upper-t.ptl +++ b/packages/font-glyphs/src/letter/latin/upper-t.ptl @@ -175,6 +175,7 @@ glyph-block Letter-Latin-Upper-T : begin alias 'cyrl/Te' 0x422 'T' alias 'cyrl/te.upright' null 'smcpT' + alias 'cyrl/te/reduced.upright' null 'smcpT' select-variant 'cyrl/teDescender.upright' (follow -- 'T') select-variant 'TRTailBR' 0x1AE (follow -- 'T/rtailBase') diff --git a/params/variants.toml b/params/variants.toml index 4b9d90671..c5d476564 100644 --- a/params/variants.toml +++ b/params/variants.toml @@ -1082,76 +1082,86 @@ next = "serifs" rank = 1 descriptionAffix = "toothed shape" selectorAffix.U = "toothed" -selectorAffix."U/noTopLeftSerif" = "toothed" selectorAffix."U/sansSerif" = "toothed" +selectorAffix."AU/Right" = "toothed" +selectorAffix."AU/Right/reduced" = "toothed" [prime.capital-u.variants-buildup.stages.body.tailed] rank = 2 descriptionAffix = "tailed shape" selectorAffix.U = "tailed" -selectorAffix."U/noTopLeftSerif" = "tailed" selectorAffix."U/sansSerif" = "tailed" +selectorAffix."AU/Right" = "tailed" +selectorAffix."AU/Right/reduced" = "tailed" [prime.capital-u.variants-buildup.stages.body.toothless-corner] rank = 3 descriptionAffix = "toothless (corner bottom-right) shape" selectorAffix.U = "toothlessCorner" -selectorAffix."U/noTopLeftSerif" = "toothlessCorner" selectorAffix."U/sansSerif" = "toothlessCorner" +selectorAffix."AU/Right" = "toothlessCorner" +selectorAffix."AU/Right/reduced" = "toothlessCorner" [prime.capital-u.variants-buildup.stages.body.toothless-rounded] rank = 4 descriptionAffix = "toothless (rounded) shape" selectorAffix.U = "toothlessRounded" -selectorAffix."U/noTopLeftSerif" = "toothlessRounded" selectorAffix."U/sansSerif" = "toothlessRounded" +selectorAffix."AU/Right" = "toothlessRounded" +selectorAffix."AU/Right/reduced" = "toothlessRounded" [prime.capital-u.variants-buildup.stages.serifs.serifless] rank = 1 descriptionAffix = "serifs" descriptionJoiner = "without" selectorAffix.U = "serifless" -selectorAffix."U/noTopLeftSerif" = "serifless" selectorAffix."U/sansSerif" = "serifless" +selectorAffix."AU/Right" = "serifless" +selectorAffix."AU/Right/reduced" = "serifless" [prime.capital-u.variants-buildup.stages.serifs.bottom-right-serifed] rank = 2 disableIf = [{ body = "NOT toothed" }] descriptionAffix = "serif at bottom-right" selectorAffix.U = "bottomRightSerifed" -selectorAffix."U/noTopLeftSerif" = "bottomRightSerifed" selectorAffix."U/sansSerif" = "serifless" +selectorAffix."AU/Right" = "bottomRightSerifed" +selectorAffix."AU/Right/reduced" = "bottomRightSerifed" [prime.capital-u.variants-buildup.stages.serifs.motion-serifed] rank = 3 disableIf = [{ body = "toothless-corner" }, { body = "toothless-rounded" }] descriptionAffix = "motion serifs at top-left and bottom-right" selectorAffix.U = "unilateralMotionSerifed" -selectorAffix."U/noTopLeftSerif" = "serifless" selectorAffix."U/sansSerif" = "serifless" +selectorAffix."AU/Right" = { if = [{ body = "toothed" }], then = "bottomRightSerifed", else = "serifless" } +selectorAffix."AU/Right/reduced" = { if = [{ body = "toothed" }], then = "bottomRightSerifed", else = "serifless" } [prime.capital-u.variants-buildup.stages.serifs.unilateral-motion-serifed] rank = 4 disableIf = [{ body = "toothed" }, { body = "tailed" }] descriptionAffix = "motion serifs at left side" selectorAffix.U = "unilateralMotionSerifed" -selectorAffix."U/noTopLeftSerif" = "serifless" selectorAffix."U/sansSerif" = "serifless" +selectorAffix."AU/Right" = "serifless" +selectorAffix."AU/Right/reduced" = "serifless" [prime.capital-u.variants-buildup.stages.serifs.bilateral-motion-serifed] rank = 5 disableIf = [{ body = "toothed" }, { body = "tailed" }] descriptionAffix = "motion serifs at both sides" selectorAffix.U = "bilateralMotionSerifed" -selectorAffix."U/noTopLeftSerif" = "bilateralMotionSerifed" selectorAffix."U/sansSerif" = "serifless" +selectorAffix."AU/Right" = "bilateralMotionSerifed" +selectorAffix."AU/Right/reduced" = "bilateralMotionSerifed" [prime.capital-u.variants-buildup.stages.serifs.serifed] rank = 6 descriptionAffix = "serifs" selectorAffix.U = "serifed" -selectorAffix."U/noTopLeftSerif" = "serifed" selectorAffix."U/sansSerif" = "serifless" +selectorAffix."AU/Right" = "serifed" +selectorAffix."AU/Right/reduced" = { if = [{ body = "toothed" }], then = "bottomRightSerifed", else = { if = [{ body = "tailed" }], then = "serifless", else = "bilateralMotionSerifed" } } @@ -3735,16 +3745,21 @@ selectorAffix.turnh = "toothed" selectorAffix.turnhHookLeft = "toothed" selectorAffix.turnhHookLeftRTail = "toothed" selectorAffix.turnm = "toothed" +selectorAffix."turnm/reduced" = "toothed" selectorAffix.turnmLeg = "toothed" +selectorAffix."turnmLeg/reduced" = "toothed" selectorAffix."cyrl/i.italic" = "toothed" selectorAffix."cyrl/i.italic/descBase" = "toothed" selectorAffix."cyrl/sha.italic" = "toothed" +selectorAffix."cyrl/sha/reduced.italic" = "toothed" selectorAffix."cyrl/shcha.italic" = "toothed" +selectorAffix."cyrl/shcha/reduced.italic" = "toothed" selectorAffix."cyrl/dzhe.italic" = "toothed" selectorAffix."cyrl/tse.italic" = "toothed" selectorAffix."cyrl/tseRev.italic" = "toothed" selectorAffix."ue/u" = "toothed" selectorAffix."au/u" = "toothed" +selectorAffix."au/u/reduced" = "toothed" [prime.u.variants-buildup.stages.body.tailed] rank = 2 @@ -3757,16 +3772,21 @@ selectorAffix.turnh = "toothed" selectorAffix.turnhHookLeft = "toothed" selectorAffix.turnhHookLeftRTail = "toothed" selectorAffix.turnm = "tailed" +selectorAffix."turnm/reduced" = "tailed" selectorAffix.turnmLeg = "toothed" +selectorAffix."turnmLeg/reduced" = "toothed" selectorAffix."cyrl/i.italic" = "tailed" selectorAffix."cyrl/i.italic/descBase" = "toothed" selectorAffix."cyrl/sha.italic" = "tailed" +selectorAffix."cyrl/sha/reduced.italic" = "tailed" selectorAffix."cyrl/shcha.italic" = "toothed" +selectorAffix."cyrl/shcha/reduced.italic" = "toothed" selectorAffix."cyrl/dzhe.italic" = "tailed" selectorAffix."cyrl/tse.italic" = "toothed" selectorAffix."cyrl/tseRev.italic" = "tailed" selectorAffix."ue/u" = "toothed" selectorAffix."au/u" = "tailed" +selectorAffix."au/u/reduced" = "tailed" [prime.u.variants-buildup.stages.body.toothless-corner] rank = 3 @@ -3779,16 +3799,21 @@ selectorAffix.turnh = "toothlessCorner" selectorAffix.turnhHookLeft = "toothlessCorner" selectorAffix.turnhHookLeftRTail = "toothlessCorner" selectorAffix.turnm = "toothlessCorner" +selectorAffix."turnm/reduced" = "toothlessCorner" selectorAffix.turnmLeg = "toothlessCorner" +selectorAffix."turnmLeg/reduced" = "toothlessCorner" selectorAffix."cyrl/i.italic" = "toothed" selectorAffix."cyrl/i.italic/descBase" = "toothed" selectorAffix."cyrl/sha.italic" = "toothed" +selectorAffix."cyrl/sha/reduced.italic" = "toothed" selectorAffix."cyrl/shcha.italic" = "toothed" +selectorAffix."cyrl/shcha/reduced.italic" = "toothed" selectorAffix."cyrl/dzhe.italic" = "toothed" selectorAffix."cyrl/tse.italic" = "toothed" selectorAffix."cyrl/tseRev.italic" = "toothed" selectorAffix."ue/u" = "toothed" selectorAffix."au/u" = "toothlessCorner" +selectorAffix."au/u/reduced" = "toothlessCorner" [prime.u.variants-buildup.stages.body.toothless-rounded] rank = 4 @@ -3801,16 +3826,21 @@ selectorAffix.turnh = "toothed" selectorAffix.turnhHookLeft = "toothed" selectorAffix.turnhHookLeftRTail = "toothed" selectorAffix.turnm = "toothlessRounded" +selectorAffix."turnm/reduced" = "toothlessRounded" selectorAffix.turnmLeg = "toothed" +selectorAffix."turnmLeg/reduced" = "toothed" selectorAffix."cyrl/i.italic" = "toothed" selectorAffix."cyrl/i.italic/descBase" = "toothed" selectorAffix."cyrl/sha.italic" = "toothed" +selectorAffix."cyrl/sha/reduced.italic" = "toothed" selectorAffix."cyrl/shcha.italic" = "toothed" +selectorAffix."cyrl/shcha/reduced.italic" = "toothed" selectorAffix."cyrl/dzhe.italic" = "toothed" selectorAffix."cyrl/tse.italic" = "toothed" selectorAffix."cyrl/tseRev.italic" = "toothed" selectorAffix."ue/u" = "toothed" selectorAffix."au/u" = "toothlessRounded" +selectorAffix."au/u/reduced" = "toothlessRounded" [prime.u.variants-buildup.stages.serifs.serifless] rank = 1 @@ -3824,16 +3854,21 @@ selectorAffix.turnh = "serifless" selectorAffix.turnhHookLeft = "serifless" selectorAffix.turnhHookLeftRTail = "serifless" selectorAffix.turnm = "serifless" +selectorAffix."turnm/reduced" = "serifless" selectorAffix.turnmLeg = "serifless" +selectorAffix."turnmLeg/reduced" = "serifless" selectorAffix."cyrl/i.italic" = "serifless" selectorAffix."cyrl/i.italic/descBase" = "serifless" selectorAffix."cyrl/sha.italic" = "serifless" +selectorAffix."cyrl/sha/reduced.italic" = "serifless" selectorAffix."cyrl/shcha.italic" = "serifless" +selectorAffix."cyrl/shcha/reduced.italic" = "serifless" selectorAffix."cyrl/dzhe.italic" = "serifless" selectorAffix."cyrl/tse.italic" = "serifless" selectorAffix."cyrl/tseRev.italic" = "serifless" selectorAffix."ue/u" = "serifless" selectorAffix."au/u" = "serifless" +selectorAffix."au/u/reduced" = "serifless" [prime.u.variants-buildup.stages.serifs.bottom-right-serifed] rank = 2 @@ -3847,16 +3882,21 @@ selectorAffix.turnh = "serifless" selectorAffix.turnhHookLeft = "serifless" selectorAffix.turnhHookLeftRTail = "serifless" selectorAffix.turnm = "bottomRightSerifed" +selectorAffix."turnm/reduced" = "bottomRightSerifed" selectorAffix.turnmLeg = "serifless" +selectorAffix."turnmLeg/reduced" = "serifless" selectorAffix."cyrl/i.italic" = "bottomRightSerifed" selectorAffix."cyrl/i.italic/descBase" = "serifless" selectorAffix."cyrl/sha.italic" = "bottomRightSerifed" +selectorAffix."cyrl/sha/reduced.italic" = "bottomRightSerifed" selectorAffix."cyrl/shcha.italic" = "serifless" +selectorAffix."cyrl/shcha/reduced.italic" = "serifless" selectorAffix."cyrl/dzhe.italic" = "bottomRightSerifed" selectorAffix."cyrl/tse.italic" = "serifless" selectorAffix."cyrl/tseRev.italic" = "bottomRightSerifed" selectorAffix."ue/u" = "serifless" selectorAffix."au/u" = "bottomRightSerifed" +selectorAffix."au/u/reduced" = "bottomRightSerifed" [prime.u.variants-buildup.stages.serifs.motion-serifed] rank = 3 @@ -3869,16 +3909,21 @@ selectorAffix.turnh = "motionSerifed" selectorAffix.turnhHookLeft = "bottomRightSerifed" selectorAffix.turnhHookLeftRTail = "serifless" selectorAffix.turnm = "motionSerifed" +selectorAffix."turnm/reduced" = "motionSerifed" selectorAffix.turnmLeg = "motionSerifed" +selectorAffix."turnmLeg/reduced" = "motionSerifed" selectorAffix."cyrl/i.italic" = "motionSerifed" selectorAffix."cyrl/i.italic/descBase" = "motionSerifed" selectorAffix."cyrl/sha.italic" = "motionSerifed" +selectorAffix."cyrl/sha/reduced.italic" = "motionSerifed" selectorAffix."cyrl/shcha.italic" = "motionSerifed" +selectorAffix."cyrl/shcha/reduced.italic" = "motionSerifed" selectorAffix."cyrl/dzhe.italic" = "motionSerifed" selectorAffix."cyrl/tse.italic" = "motionSerifed" selectorAffix."cyrl/tseRev.italic" = "motionSerifed" selectorAffix."ue/u" = "serifed" selectorAffix."au/u" = {if = [{body = "toothed"}], then = "bottomRightSerifed", else = "serifless"} +selectorAffix."au/u/reduced" = {if = [{body = "toothed"}], then = "bottomRightSerifed", else = "serifless"} [prime.u.variants-buildup.stages.serifs.serifed] rank = 4 @@ -3891,16 +3936,21 @@ selectorAffix.turnh = "serifed" selectorAffix.turnhHookLeft = "serifed" selectorAffix.turnhHookLeftRTail = "serifed" selectorAffix.turnm = "serifed" +selectorAffix."turnm/reduced" = "motionSerifed" selectorAffix.turnmLeg = "serifed" +selectorAffix."turnmLeg/reduced" = "motionSerifed" selectorAffix."cyrl/i.italic" = "serifed" selectorAffix."cyrl/i.italic/descBase" = "serifed" selectorAffix."cyrl/sha.italic" = "serifed" +selectorAffix."cyrl/sha/reduced.italic" = "motionSerifed" selectorAffix."cyrl/shcha.italic" = "serifed" +selectorAffix."cyrl/shcha/reduced.italic" = "motionSerifed" selectorAffix."cyrl/dzhe.italic" = "serifed" selectorAffix."cyrl/tse.italic" = "serifed" selectorAffix."cyrl/tseRev.italic" = "serifed" selectorAffix."ue/u" = "serifed" selectorAffix."au/u" = "serifed" +selectorAffix."au/u/reduced" = {if = [{body = "toothed"}], then = "bottomRightSerifed", else = "serifless"}