Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add bilateral-motion-serifed variants for Capital/Lower X and Greek Lower Chi. #2433

Merged
merged 2 commits into from
Jul 26, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions changes/31.0.0.md
Original file line number Diff line number Diff line change
Expand Up @@ -148,5 +148,17 @@

</details>
* \[**Breaking**] Reordered variants for Cyrillic Capital/Lower Ze.
* \[**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`.`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).
50 changes: 28 additions & 22 deletions packages/font-glyphs/src/letter/latin/x.ptl
Original file line number Diff line number Diff line change
Expand Up @@ -181,27 +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 [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 }
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
Expand Down Expand Up @@ -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')
Expand All @@ -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)
Expand Down
Loading
Loading