From 36e37731369dd5b2c22c6feea8f16e3c690b5888 Mon Sep 17 00:00:00 2001 From: jmcwilliams403 Date: Thu, 25 Jul 2024 13:24:01 -0400 Subject: [PATCH 1/2] Add `bilateral-motion-serifed` variants for X. --- changes/31.0.0.md | 5 ++ packages/font-glyphs/src/letter/latin/x.ptl | 20 +++-- params/variants.toml | 91 ++++++++++++++++----- 3 files changed, 87 insertions(+), 29 deletions(-) diff --git a/changes/31.0.0.md b/changes/31.0.0.md index 1f08986f6e..37b1888ca0 100644 --- a/changes/31.0.0.md +++ b/changes/31.0.0.md @@ -148,5 +148,10 @@ * \[**Breaking**] Reordered variants for Cyrillic Capital/Lower Ze. +* \[**Breaking**] Add `bilateral-motion-serifed` variants for Capital/Lower X. +* \[**Breaking**] Add `semi-chancery-straight-serifed` and `semi-chancery-curly-serifed` variants for Greek Lower Chi. Change of variant names: + - `lower-chi`.`semi-chancery-straight` → `lower-chi`.`semi-chancery-straight-serifless` + - `lower-chi`.`semi-chancery-curly` → `lower-chi`.`semi-chancery-curly-serifless` + - `lower-chi`.`serifed` → `lower-chi`.`bilateral-motion-serifed` * Add separate variant selectors For Cyrillic Lower A/Ve (`cv79`, `cv99`). * Optimize the shape of rounded `e` (#2424). diff --git a/packages/font-glyphs/src/letter/latin/x.ptl b/packages/font-glyphs/src/letter/latin/x.ptl index aea585593f..5678ce5416 100644 --- a/packages/font-glyphs/src/letter/latin/x.ptl +++ b/packages/font-glyphs/src/letter/latin/x.ptl @@ -181,10 +181,11 @@ glyph-block Letter-Latin-X : begin glyph-block-export XSerifs define XSerifs : namespace - export : define [Full sf] : composite-proc sf.lt.full sf.rt.full sf.lb.full sf.rb.full - export : define [SemiChancery sf] : composite-proc sf.rt.full sf.lb.full - export : define [Motion sf] : composite-proc sf.lt.outer + export : define [Full sf] : composite-proc sf.lt.full sf.rt.full sf.lb.full sf.rb.full + export : define [SemiChancery sf] : composite-proc sf.rt.full sf.lb.full + export : define [Motion sf] : composite-proc sf.lt.outer export : define [BilateralMotion sf] : composite-proc sf.lt.outer sf.rb.outer + export : define [GrekLowerChi sf] : composite-proc sf.lt.outer sf.rt.full sf.lb.full sf.rb.outer glyph-block-export XConfig define XConfig : object @@ -202,6 +203,8 @@ glyph-block Letter-Latin-X : begin curlyMotionSerifed { STROKE-CURLY STROKE-CURLY XSerifs.Motion false } straightBilateralMotionSerifed { STROKE-STRAIGHT STROKE-STRAIGHT XSerifs.BilateralMotion false } curlyBilateralMotionSerifed { STROKE-CURLY STROKE-CURLY XSerifs.BilateralMotion false } + straightGrekLowerChiSerifed { STROKE-STRAIGHT STROKE-STRAIGHT XSerifs.GrekLowerChi true } + curlyGrekLowerChiSerifed { STROKE-CURLY STROKE-CURLY XSerifs.GrekLowerChi true } foreach { suffix {stroke1 stroke2 serifShape fMaskBase} } [Object.entries XConfig] : do define [letterShape top bot turn tension] : glyph-proc @@ -238,6 +241,9 @@ glyph-block Letter-Latin-X : begin link-reduced-variant 'x/sansSerif' 'x' MathSansSerif alias 'cyrl/kha' 0x445 'x' + select-variant 'cyrl/Kha/descBase' (shapeFrom -- 'X') (follow -- 'X/descBase') + select-variant 'cyrl/kha/descBase' (shapeFrom -- 'x') (follow -- 'x/descBase') + select-variant 'grek/chi' 0x3C7 (shapeFrom -- 'latn/chi') link-reduced-variant 'grek/chi/sansSerif' 'grek/chi' MathSansSerif (shapeFrom -- 'latn/chi') select-variant 'latn/chi' 0xAB53 (follow -- 'x') @@ -259,10 +265,10 @@ glyph-block Letter-Latin-X : begin y -- 0 xLink -- RightSB - [HSwToV HalfStroke] - derive-glyphs 'cyrl/KhaDescender' 0x4B2 'cyrl/Kha' [AddDescender CyrDescender] - derive-glyphs 'cyrl/khaDescender' 0x4B3 'cyrl/kha' [AddDescender CyrDescender] - derive-glyphs 'cyrl/KhaHook' 0x4FC 'cyrl/Kha' [AddDescender PalatalHook] - derive-glyphs 'cyrl/khaHook' 0x4FD 'cyrl/kha' [AddDescender PalatalHook] + derive-glyphs 'cyrl/KhaDescender' 0x4B2 'cyrl/Kha/descBase' [AddDescender CyrDescender] + derive-glyphs 'cyrl/khaDescender' 0x4B3 'cyrl/kha/descBase' [AddDescender CyrDescender] + derive-glyphs 'cyrl/KhaHook' 0x4FC 'cyrl/Kha/descBase' [AddDescender PalatalHook] + derive-glyphs 'cyrl/khaHook' 0x4FD 'cyrl/kha/descBase' [AddDescender PalatalHook] alias 'xPalatalHook' 0x1D8D 'cyrl/khaHook' define [CyrlKhaBarShape top] : HOverlayBar [mix SB RightSB 0.08] [mix SB RightSB 0.92] (top / 2) diff --git a/params/variants.toml b/params/variants.toml index 5971aa1fe6..e2bbdd7c05 100644 --- a/params/variants.toml +++ b/params/variants.toml @@ -1876,6 +1876,7 @@ rank = 1 descriptionAffix = "straight shape" selectorAffix.X = "straight" selectorAffix."X/sansSerif" = "straight" +selectorAffix."X/descBase" = "straight" selectorAffix."cyrl/Rha/right" = "straight" [prime.capital-x.variants-buildup.stages.body.curly] @@ -1883,6 +1884,7 @@ rank = 2 descriptionAffix = "curly shape" selectorAffix.X = "curly" selectorAffix."X/sansSerif" = "curly" +selectorAffix."X/descBase" = "curly" selectorAffix."cyrl/Rha/right" = "curly" [prime.capital-x.variants-buildup.stages.serifs.serifless] @@ -1891,20 +1893,31 @@ descriptionAffix = "serifs" descriptionJoiner = "without" selectorAffix.X = "serifless" selectorAffix."X/sansSerif" = "serifless" +selectorAffix."X/descBase" = "serifless" selectorAffix."cyrl/Rha/right" = "serifless" [prime.capital-x.variants-buildup.stages.serifs.motion-serifed] rank = 2 -descriptionAffix = "motion serifs" +descriptionAffix = "motion serifs at top-left" selectorAffix.X = "motionSerifed" selectorAffix."X/sansSerif" = "serifless" +selectorAffix."X/descBase" = "motionSerifed" selectorAffix."cyrl/Rha/right" = "serifless" -[prime.capital-x.variants-buildup.stages.serifs.serifed] +[prime.capital-x.variants-buildup.stages.serifs.bilateral-motion-serifed] rank = 3 +descriptionAffix = "motion serifs at top-left and bottom-right" +selectorAffix.X = "bilateralMotionSerifed" +selectorAffix."X/sansSerif" = "serifless" +selectorAffix."X/descBase" = "motionSerifed" +selectorAffix."cyrl/Rha/right" = "bilateralMotionSerifed" + +[prime.capital-x.variants-buildup.stages.serifs.serifed] +rank = 4 descriptionAffix = "serifs" selectorAffix.X = "serifed" selectorAffix."X/sansSerif" = "serifless" +selectorAffix."X/descBase" = "serifed" selectorAffix."cyrl/Rha/right" = "serifed" @@ -4698,6 +4711,7 @@ rank = 1 descriptionAffix = "straight shape" selectorAffix.x = "straight" selectorAffix."x/sansSerif" = "straight" +selectorAffix."x/descBase" = "straight" selectorAffix."cyrl/rha/right" = "straight" [prime.x.variants-buildup.stages.body.curly] @@ -4705,6 +4719,7 @@ rank = 2 descriptionAffix = "curly shape" selectorAffix.x = "curly" selectorAffix."x/sansSerif" = "curly" +selectorAffix."x/descBase" = "curly" selectorAffix."cyrl/rha/right" = "curly" [prime.x.variants-buildup.stages.body.semi-chancery-straight] @@ -4712,6 +4727,7 @@ rank = 3 descriptionAffix = "Semi-chancery shape with straight counter-leg" selectorAffix.x = "semiChanceryStraight" selectorAffix."x/sansSerif" = "semiChanceryStraight" +selectorAffix."x/descBase" = "semiChanceryStraight" selectorAffix."cyrl/rha/right" = "semiChanceryStraight" [prime.x.variants-buildup.stages.body.semi-chancery-curly] @@ -4719,6 +4735,7 @@ rank = 4 descriptionAffix = "Semi-chancery shape with curly counter-leg" selectorAffix.x = "semiChanceryCurly" selectorAffix."x/sansSerif" = "semiChanceryCurly" +selectorAffix."x/descBase" = "semiChanceryCurly" selectorAffix."cyrl/rha/right" = "semiChanceryCurly" [prime.x.variants-buildup.stages.body.chancery] @@ -4727,6 +4744,7 @@ next = "END" descriptionAffix = "Chancery shape" selectorAffix.x = "chancery" selectorAffix."x/sansSerif" = "chancery" +selectorAffix."x/descBase" = "chancery" selectorAffix."cyrl/rha/right" = "chancery" [prime.x.variants-buildup.stages.body.cursive] @@ -4735,6 +4753,7 @@ next = "END" descriptionAffix = "cursive shape" selectorAffix.x = "cursive" selectorAffix."x/sansSerif" = "cursive" +selectorAffix."x/descBase" = "cursive" selectorAffix."cyrl/rha/right" = "cursive" [prime.x.variants-buildup.stages.serifs.serifless] @@ -4743,21 +4762,33 @@ descriptionAffix = "serifs" descriptionJoiner = "without" selectorAffix.x = "serifless" selectorAffix."x/sansSerif" = "serifless" +selectorAffix."x/descBase" = "serifless" selectorAffix."cyrl/rha/right" = "serifless" [prime.x.variants-buildup.stages.serifs.motion-serifed] rank = 2 disableIf = [{body = "semi-chancery-straight"}, {body = "semi-chancery-curly"}] -descriptionAffix = "motion serifs" +descriptionAffix = "motion serifs at top-left" selectorAffix.x = "motionSerifed" selectorAffix."x/sansSerif" = "serifless" +selectorAffix."x/descBase" = "motionSerifed" selectorAffix."cyrl/rha/right" = "serifless" -[prime.x.variants-buildup.stages.serifs.serifed] +[prime.x.variants-buildup.stages.serifs.bilateral-motion-serifed] rank = 3 +disableIf = [{body = "semi-chancery-straight"}, {body = "semi-chancery-curly"}] +descriptionAffix = "motion serifs at top-left and bottom-right" +selectorAffix.x = "bilateralMotionSerifed" +selectorAffix."x/sansSerif" = "serifless" +selectorAffix."x/descBase" = "motionSerifed" +selectorAffix."cyrl/rha/right" = "bilateralMotionSerifed" + +[prime.x.variants-buildup.stages.serifs.serifed] +rank = 4 descriptionAffix = "serifs" selectorAffix.x = "serifed" selectorAffix."x/sansSerif" = "serifless" +selectorAffix."x/descBase" = "serifed" selectorAffix."cyrl/rha/right" = "serifed" @@ -5874,17 +5905,15 @@ selectorAffix."grek/chi/sansSerif" = "curly" [prime.lower-chi.variants-buildup.stages.body.semi-chancery-straight] rank = 3 -next = "END" descriptionAffix = "Semi-chancery shape with straight counter-leg" -selectorAffix."grek/chi" = "semiChanceryStraightSerifless" -selectorAffix."grek/chi/sansSerif" = "semiChanceryStraightSerifless" +selectorAffix."grek/chi" = "semiChanceryStraight" +selectorAffix."grek/chi/sansSerif" = "semiChanceryStraight" [prime.lower-chi.variants-buildup.stages.body.semi-chancery-curly] rank = 4 -next = "END" descriptionAffix = "Semi-chancery shape with curly counter-leg" -selectorAffix."grek/chi" = "semiChanceryCurlySerifless" -selectorAffix."grek/chi/sansSerif" = "semiChanceryCurlySerifless" +selectorAffix."grek/chi" = "semiChanceryCurly" +selectorAffix."grek/chi/sansSerif" = "semiChanceryCurly" [prime.lower-chi.variants-buildup.stages.body.chancery] rank = 5 @@ -5902,16 +5931,34 @@ selectorAffix."grek/chi/sansSerif" = "serifless" [prime.lower-chi.variants-buildup.stages.serifs.motion-serifed] rank = 2 -descriptionAffix = "motion serifs" +disableIf = [{body = "semi-chancery-straight"}, {body = "semi-chancery-curly"}] +descriptionAffix = "motion serifs at top-left" selectorAffix."grek/chi" = "motionSerifed" selectorAffix."grek/chi/sansSerif" = "serifless" -[prime.lower-chi.variants-buildup.stages.serifs.serifed] +[prime.lower-chi.variants-buildup.stages.serifs.bilateral-motion-serifed] rank = 3 -descriptionAffix = "serifs" +disableIf = [{body = "semi-chancery-straight"}, {body = "semi-chancery-curly"}] +descriptionAffix = "motion serifs at top-left and bottom-right" selectorAffix."grek/chi" = "bilateralMotionSerifed" selectorAffix."grek/chi/sansSerif" = "serifless" +[prime.lower-chi.variants-buildup.stages.serifs.serifed__normal] +rank = 4 +disableIf = [{body = "semi-chancery-straight"}, {body = "semi-chancery-curly"}] +keyAffix = "serifed" +descriptionAffix = "serifs" +selectorAffix."grek/chi" = "grekLowerChiSerifed" +selectorAffix."grek/chi/sansSerif" = "serifless" + +[prime.lower-chi.variants-buildup.stages.serifs.serifed__semi-chancery] +rank = 4 +disableIf = [{body = "straight"}, {body = "curly"}] +keyAffix = "serifed" +descriptionAffix = "serifs" +selectorAffix."grek/chi" = "serifed" +selectorAffix."grek/chi/sansSerif" = "serifless" + [prime.cyrl-a] @@ -8426,7 +8473,7 @@ capital-gamma = "serifed" capital-lambda = "straight-base-serifed" lower-lambda = "straight-turn" lower-mu = "tailed-serifed" -lower-chi = "straight-serifed" +lower-chi = "straight-bilateral-motion-serifed" cyrl-a = "double-storey-serifed" cyrl-ve = "standard-bilateral-serifed" cyrl-capital-ze = "unilateral-serifed" @@ -8516,7 +8563,7 @@ lower-lambda = "tailed-turn" lower-mu = "toothed-serifless" lower-pi = "tailless" lower-tau = "tailless" -lower-chi = "semi-chancery-straight" +lower-chi = "semi-chancery-straight-serifless" cyrl-a = "double-storey-serifless" cyrl-ve = "standard-serifless" cyrl-capital-zhe = "straight" @@ -8716,7 +8763,7 @@ y = "straight-turn-serifless" capital-eszet = "rounded-serifless" long-s = "flat-hook-serifless" eszet = "longs-s-lig-serifless" -lower-chi = "semi-chancery-straight" +lower-chi = "semi-chancery-straight-serifless" lower-eth = "straight-bar" lower-lambda = "tailed-turn" cyrl-a = "double-storey-serifless" @@ -8839,7 +8886,7 @@ lower-eth = "straight-bar" lower-iota = "serifed-flat-tailed" lower-lambda = "straight-turn" lower-tau = "flat-tailed" -lower-chi = "semi-chancery-straight" +lower-chi = "semi-chancery-straight-serifless" cyrl-a = "double-storey-serifless" cyrl-ve = "standard-serifless" cyrl-capital-zhe = "straight" @@ -9101,7 +9148,7 @@ capital-eszet = "rounded-serifed" long-s = "flat-hook-bottom-serifed" eszet = "longs-s-lig-bottom-serifed" lower-mu = "tailed-serifed" -lower-chi = "straight-serifed" +lower-chi = "straight-bilateral-motion-serifed" cyrl-ve = "standard-bilateral-serifed" cyrl-ze = "unilateral-serifed" cyrl-ka = "symmetric-connected-serifed" @@ -9253,7 +9300,7 @@ lower-delta = "flat-top" capital-lambda = "curly-serifless" lower-lambda = "curly-tailed-turn" lower-mu = "toothed-serifless" -lower-chi = "semi-chancery-curly" +lower-chi = "semi-chancery-curly-serifless" cyrl-a = "double-storey-serifless" cyrl-capital-zhe = "curly" cyrl-zhe = "curly" @@ -9943,7 +9990,7 @@ lower-delta = "flat-top" lower-iota = "serifed-flat-tailed" lower-lambda = "tailed-turn" lower-tau = "flat-tailed" -lower-chi = "semi-chancery-straight" +lower-chi = "semi-chancery-straight-serifless" cyrl-a = "double-storey-tailed" cyrl-capital-ka = "symmetric-connected-bottom-right-serifed" cyrl-ka = "symmetric-connected-bottom-right-serifed" @@ -10197,7 +10244,7 @@ capital-thorn = "motion-serifed" lower-iota = "serifed-flat-tailed" lower-lambda = "tailed-turn" lower-tau = "flat-tailed" -lower-chi = "semi-chancery-straight" +lower-chi = "semi-chancery-straight-serifless" cyrl-a = "double-storey-tailed" cyrl-capital-ze = "unilateral-inward-serifed" cyrl-ze = "serifless" @@ -10478,7 +10525,7 @@ y = "curly-turn-serifed" z = "curly-serifed" capital-lambda = "curly-base-serifed" lower-lambda = "curly-turn" -lower-chi = "curly-serifed" +lower-chi = "curly-bilateral-motion-serifed" cyrl-capital-u = "curly-turn-serifed" cyrl-u = "curly-turn-serifed" cyrl-capital-ya = "curly-serifed" From d148369b1b15ecd9f7b279afee9e03cdca5c25c7 Mon Sep 17 00:00:00 2001 From: jmcwilliams403 Date: Thu, 25 Jul 2024 15:30:31 -0400 Subject: [PATCH 2/2] =?UTF-8?q?rename=20`x`.`motion-serifed`=20=E2=86=92?= =?UTF-8?q?=20`x`.`unilateral-motion-serifed`?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- changes/31.0.0.md | 11 +++++- packages/font-glyphs/src/letter/latin/x.ptl | 42 ++++++++++----------- params/variants.toml | 36 +++++++++--------- 3 files changed, 48 insertions(+), 41 deletions(-) diff --git a/changes/31.0.0.md b/changes/31.0.0.md index 37b1888ca0..2e735e1ee7 100644 --- a/changes/31.0.0.md +++ b/changes/31.0.0.md @@ -148,10 +148,17 @@ * \[**Breaking**] Reordered variants for Cyrillic Capital/Lower Ze. -* \[**Breaking**] Add `bilateral-motion-serifed` variants for Capital/Lower X. +* \[**Breaking**] Add `bilateral-motion-serifed` variants for Capital/Lower X. Change of variant names: + - `capital-x`.`straight-motion-serifed` → `capital-x`.`straight-unilateral-motion-serifed` + - `capital-x`.`curly-motion-serifed` → `capital-x`.`curly-unilateral-motion-serifed` + - `x`.`straight-motion-serifed` → `x`.`straight-unilateral-motion-serifed` + - `x`.`curly-motion-serifed` → `x`.`curly-unilateral-motion-serifed` + - `lower-chi`.`straight-motion-serifed` → `lower-chi`.`straight-unilateral-motion-serifed` + - `lower-chi`.`curly-motion-serifed` → `lower-chi`.`curly-unilateral-motion-serifed` * \[**Breaking**] Add `semi-chancery-straight-serifed` and `semi-chancery-curly-serifed` variants for Greek Lower Chi. Change of variant names: - `lower-chi`.`semi-chancery-straight` → `lower-chi`.`semi-chancery-straight-serifless` - `lower-chi`.`semi-chancery-curly` → `lower-chi`.`semi-chancery-curly-serifless` - - `lower-chi`.`serifed` → `lower-chi`.`bilateral-motion-serifed` + - `lower-chi`.`straight-serifed` → `lower-chi`.`straight-bilateral-motion-serifed` + - `lower-chi`.`curly-serifed` → `lower-chi`.`curly-bilateral-motion-serifed` * Add separate variant selectors For Cyrillic Lower A/Ve (`cv79`, `cv99`). * Optimize the shape of rounded `e` (#2424). diff --git a/packages/font-glyphs/src/letter/latin/x.ptl b/packages/font-glyphs/src/letter/latin/x.ptl index 5678ce5416..dba0d5da93 100644 --- a/packages/font-glyphs/src/letter/latin/x.ptl +++ b/packages/font-glyphs/src/letter/latin/x.ptl @@ -181,30 +181,30 @@ glyph-block Letter-Latin-X : begin glyph-block-export XSerifs define XSerifs : namespace - export : define [Full sf] : composite-proc sf.lt.full sf.rt.full sf.lb.full sf.rb.full - export : define [SemiChancery sf] : composite-proc sf.rt.full sf.lb.full - export : define [Motion sf] : composite-proc sf.lt.outer - export : define [BilateralMotion sf] : composite-proc sf.lt.outer sf.rb.outer - export : define [GrekLowerChi sf] : composite-proc sf.lt.outer sf.rt.full sf.lb.full sf.rb.outer + export : define [Full sf] : composite-proc sf.lt.full sf.rt.full sf.lb.full sf.rb.full + export : define [SemiChancery sf] : composite-proc sf.rt.full sf.lb.full + export : define [UnilateralMotion sf] : composite-proc sf.lt.outer + export : define [BilateralMotion sf] : composite-proc sf.lt.outer sf.rb.outer + export : define [GrekLowerChi sf] : composite-proc sf.lt.outer sf.rt.full sf.lb.full sf.rb.outer glyph-block-export XConfig define XConfig : object - straightSerifless { STROKE-STRAIGHT STROKE-STRAIGHT null false } - curlySerifless { STROKE-CURLY STROKE-CURLY null false } - cursive { STROKE-CURSIVE STROKE-CURSIVE null false } - semiChanceryStraightSerifless { STROKE-STRAIGHT STROKE-CHANCERY null false } - semiChanceryCurlySerifless { STROKE-CURLY STROKE-CHANCERY null false } - chancery { STROKE-CHANCERY STROKE-CHANCERY null false } - straightSerifed { STROKE-STRAIGHT STROKE-STRAIGHT XSerifs.Full true } - curlySerifed { STROKE-CURLY STROKE-CURLY XSerifs.Full true } - semiChanceryStraightSerifed { STROKE-STRAIGHT STROKE-CHANCERY XSerifs.SemiChancery true } - semiChanceryCurlySerifed { STROKE-CURLY STROKE-CHANCERY XSerifs.SemiChancery true } - straightMotionSerifed { STROKE-STRAIGHT STROKE-STRAIGHT XSerifs.Motion false } - curlyMotionSerifed { STROKE-CURLY STROKE-CURLY XSerifs.Motion false } - straightBilateralMotionSerifed { STROKE-STRAIGHT STROKE-STRAIGHT XSerifs.BilateralMotion false } - curlyBilateralMotionSerifed { STROKE-CURLY STROKE-CURLY XSerifs.BilateralMotion false } - straightGrekLowerChiSerifed { STROKE-STRAIGHT STROKE-STRAIGHT XSerifs.GrekLowerChi true } - curlyGrekLowerChiSerifed { STROKE-CURLY STROKE-CURLY XSerifs.GrekLowerChi true } + straightSerifless { STROKE-STRAIGHT STROKE-STRAIGHT null false } + curlySerifless { STROKE-CURLY STROKE-CURLY null false } + cursive { STROKE-CURSIVE STROKE-CURSIVE null false } + semiChanceryStraightSerifless { STROKE-STRAIGHT STROKE-CHANCERY null false } + semiChanceryCurlySerifless { STROKE-CURLY STROKE-CHANCERY null false } + chancery { STROKE-CHANCERY STROKE-CHANCERY null false } + straightSerifed { STROKE-STRAIGHT STROKE-STRAIGHT XSerifs.Full true } + curlySerifed { STROKE-CURLY STROKE-CURLY XSerifs.Full true } + semiChanceryStraightSerifed { STROKE-STRAIGHT STROKE-CHANCERY XSerifs.SemiChancery true } + semiChanceryCurlySerifed { STROKE-CURLY STROKE-CHANCERY XSerifs.SemiChancery true } + straightUnilateralMotionSerifed { STROKE-STRAIGHT STROKE-STRAIGHT XSerifs.UnilateralMotion false } + curlyUnilateralMotionSerifed { STROKE-CURLY STROKE-CURLY XSerifs.UnilateralMotion false } + straightBilateralMotionSerifed { STROKE-STRAIGHT STROKE-STRAIGHT XSerifs.BilateralMotion false } + curlyBilateralMotionSerifed { STROKE-CURLY STROKE-CURLY XSerifs.BilateralMotion false } + straightGrekLowerChiSerifed { STROKE-STRAIGHT STROKE-STRAIGHT XSerifs.GrekLowerChi true } + curlyGrekLowerChiSerifed { STROKE-CURLY STROKE-CURLY XSerifs.GrekLowerChi true } foreach { suffix {stroke1 stroke2 serifShape fMaskBase} } [Object.entries XConfig] : do define [letterShape top bot turn tension] : glyph-proc diff --git a/params/variants.toml b/params/variants.toml index e2bbdd7c05..3ac95ab6e0 100644 --- a/params/variants.toml +++ b/params/variants.toml @@ -1896,12 +1896,12 @@ selectorAffix."X/sansSerif" = "serifless" selectorAffix."X/descBase" = "serifless" selectorAffix."cyrl/Rha/right" = "serifless" -[prime.capital-x.variants-buildup.stages.serifs.motion-serifed] +[prime.capital-x.variants-buildup.stages.serifs.unilateral-motion-serifed] rank = 2 descriptionAffix = "motion serifs at top-left" -selectorAffix.X = "motionSerifed" +selectorAffix.X = "unilateralMotionSerifed" selectorAffix."X/sansSerif" = "serifless" -selectorAffix."X/descBase" = "motionSerifed" +selectorAffix."X/descBase" = "unilateralMotionSerifed" selectorAffix."cyrl/Rha/right" = "serifless" [prime.capital-x.variants-buildup.stages.serifs.bilateral-motion-serifed] @@ -1909,7 +1909,7 @@ rank = 3 descriptionAffix = "motion serifs at top-left and bottom-right" selectorAffix.X = "bilateralMotionSerifed" selectorAffix."X/sansSerif" = "serifless" -selectorAffix."X/descBase" = "motionSerifed" +selectorAffix."X/descBase" = "unilateralMotionSerifed" selectorAffix."cyrl/Rha/right" = "bilateralMotionSerifed" [prime.capital-x.variants-buildup.stages.serifs.serifed] @@ -4765,13 +4765,13 @@ selectorAffix."x/sansSerif" = "serifless" selectorAffix."x/descBase" = "serifless" selectorAffix."cyrl/rha/right" = "serifless" -[prime.x.variants-buildup.stages.serifs.motion-serifed] +[prime.x.variants-buildup.stages.serifs.unilateral-motion-serifed] rank = 2 disableIf = [{body = "semi-chancery-straight"}, {body = "semi-chancery-curly"}] descriptionAffix = "motion serifs at top-left" -selectorAffix.x = "motionSerifed" +selectorAffix.x = "unilateralMotionSerifed" selectorAffix."x/sansSerif" = "serifless" -selectorAffix."x/descBase" = "motionSerifed" +selectorAffix."x/descBase" = "unilateralMotionSerifed" selectorAffix."cyrl/rha/right" = "serifless" [prime.x.variants-buildup.stages.serifs.bilateral-motion-serifed] @@ -4780,7 +4780,7 @@ disableIf = [{body = "semi-chancery-straight"}, {body = "semi-chancery-curly"}] descriptionAffix = "motion serifs at top-left and bottom-right" selectorAffix.x = "bilateralMotionSerifed" selectorAffix."x/sansSerif" = "serifless" -selectorAffix."x/descBase" = "motionSerifed" +selectorAffix."x/descBase" = "unilateralMotionSerifed" selectorAffix."cyrl/rha/right" = "bilateralMotionSerifed" [prime.x.variants-buildup.stages.serifs.serifed] @@ -5929,11 +5929,11 @@ descriptionJoiner = "without" selectorAffix."grek/chi" = "serifless" selectorAffix."grek/chi/sansSerif" = "serifless" -[prime.lower-chi.variants-buildup.stages.serifs.motion-serifed] +[prime.lower-chi.variants-buildup.stages.serifs.unilateral-motion-serifed] rank = 2 disableIf = [{body = "semi-chancery-straight"}, {body = "semi-chancery-curly"}] descriptionAffix = "motion serifs at top-left" -selectorAffix."grek/chi" = "motionSerifed" +selectorAffix."grek/chi" = "unilateralMotionSerifed" selectorAffix."grek/chi/sansSerif" = "serifless" [prime.lower-chi.variants-buildup.stages.serifs.bilateral-motion-serifed] @@ -8844,7 +8844,7 @@ f = "flat-hook-tailed" k = "cursive-top-left-serifed" l = "tailed-serifed" u = "toothed-motion-serifed" -x = "straight-motion-serifed" +x = "straight-unilateral-motion-serifed" y = "straight-turn-motion-serifed" long-s = "flat-hook-descending" eszet = "longs-s-lig-descending-serifless" @@ -9094,7 +9094,7 @@ lower-delta = "flat-top" lower-iota = "tailed-serifed" lower-lambda = "straight-turn" lower-tau = "short-tailed" -lower-chi = "straight-motion-serifed" +lower-chi = "straight-unilateral-motion-serifed" cyrl-a = "double-storey-tailed" cyrl-ve = "standard-serifless" cyrl-capital-u = "straight-turn-serifless" @@ -9385,7 +9385,7 @@ k = "curly-top-left-serifed" u = "toothed-motion-serifed" v = "curly-motion-serifed" w = "curly-motion-serifed" -x = "curly-motion-serifed" +x = "curly-unilateral-motion-serifed" y = "curly-motion-serifed" lower-mu = "toothed-motion-serifed" cyrl-ka = "curly-top-left-serifed" @@ -9487,7 +9487,7 @@ k = "straight-top-left-serifed" r = "hookless-top-serifed" u = "toothed-motion-serifed" w = "straight-flat-top-motion-serifed" -x = "straight-motion-serifed" +x = "straight-unilateral-motion-serifed" y = "straight-turn-motion-serifed" cyrl-ve = "standard-unilateral-serifed" cyrl-u = "straight-turn-motion-serifed" @@ -9570,7 +9570,7 @@ g = "single-storey-flat-hook-serifless" i = "serifed-flat-tailed" k = "symmetric-connected-top-left-serifed" l = "serifed-flat-tailed" -x = "straight-motion-serifed" +x = "straight-unilateral-motion-serifed" y = "cursive-flat-hook-motion-serifed" cyrl-u = "cursive-flat-hook-motion-serifed" micro-sign = "toothless-rounded-motion-serifed" @@ -9731,7 +9731,7 @@ m = "earless-corner-double-arch-short-leg-bottom-right-serifed" n = "earless-corner-straight-motion-serifed" r = "earless-corner-serifless" u = "tailed-motion-serifed" -x = "straight-motion-serifed" +x = "straight-unilateral-motion-serifed" y = "straight-turn-motion-serifed" long-s = "bent-hook-tailed" eszet = "longs-s-lig-tailed-serifless" @@ -9949,7 +9949,7 @@ g = "single-storey-flat-hook-serifless" k = "symmetric-connected-top-left-serifed" u = "toothless-rounded-motion-serifed" w = "straight-flat-top-motion-serifed" -x = "straight-motion-serifed" +x = "straight-unilateral-motion-serifed" y = "cursive-flat-hook-motion-serifed" long-s = "flat-hook-tailed" eszet = "sulzbacher-tailed-serifless" @@ -10458,7 +10458,7 @@ micro-sign = "tailed-serifed" f = "extended-crossbar-at-x-height" k = "symmetric-connected-top-left-serifed" u = "toothed-motion-serifed" -x = "straight-motion-serifed" +x = "straight-unilateral-motion-serifed" y = "straight-turn-motion-serifed" long-s = "flat-hook-descending-middle-serifed-xh" eszet = "longs-s-lig-descending-serifless"