From dedb2f00971a4b1d5fe603530ecf5f9ed904ab0f Mon Sep 17 00:00:00 2001 From: John McWilliams Date: Sun, 23 Mar 2025 09:03:12 -0400 Subject: [PATCH] Optimize glyph of Cyrillic Tje under Aile. --- .../font-glyphs/src/letter/cyrillic/tje.ptl | 40 +++++++++++-------- params/variants.toml | 12 ------ 2 files changed, 24 insertions(+), 28 deletions(-) diff --git a/packages/font-glyphs/src/letter/cyrillic/tje.ptl b/packages/font-glyphs/src/letter/cyrillic/tje.ptl index ab4242798..b99bfd965 100644 --- a/packages/font-glyphs/src/letter/cyrillic/tje.ptl +++ b/packages/font-glyphs/src/letter/cyrillic/tje.ptl @@ -14,28 +14,30 @@ glyph-block Letter-Cyrillic-Tje : begin glyph-block-import Letter-Latin-Upper-T : TConfig glyph-block-import Letter-Cyrillic-Yeri : YeriConfig YeriBarPos - define [LeftHalf df top slabTop slabBot] : glyph-proc - local left : [mix df.leftSB df.rightSB 0.3] + OX + define [xBarMid df] : [mix df.leftSB df.rightSB 0.3] + OX + + define [LeftHalf df top slabTop slabBot sw] : glyph-proc + local left : xBarMid df local xTopBarLeft : df.leftSB - SideJut - local xTopBarRightSym : 2 * left + [HSwToV df.mvs] - xTopBarLeft + local xTopBarRightSym : 2 * left + [HSwToV sw] - xTopBarLeft local xTopBarRight : Math.max xTopBarRightSym : mix left df.rightSB 0.475 - include : HBar.t xTopBarLeft xTopBarRight top df.mvs + include : HBar.t xTopBarLeft xTopBarRight top sw if slabTop : begin - local { jutTop jutBot jutMid } : EFVJutLength top YeriBarPos df.mvs + local { jutTop jutBot jutMid } : EFVJutLength top YeriBarPos sw include : VSerif.dl xTopBarLeft top jutTop include : VSerif.dr xTopBarRight top jutTop if slabBot : begin include : HSerif.lb left 0 SideJut - define [RightHalf Yeri df top] : glyph-proc + define [RightHalf Yeri df top sw] : glyph-proc include : Yeri top - left -- ([mix df.leftSB df.rightSB 0.3] + OX) + left -- [xBarMid df] right -- df.rightSB - stroke -- df.mvs + stroke -- sw eject-contour 'serifYeriLT' eject-contour 'serifYeriLB' @@ -43,37 +45,43 @@ glyph-block Letter-Cyrillic-Tje : begin create-glyph "cyrl/Tje/leftHalf.\(suffix)" : glyph-proc local df : include : DivFrame para.advanceScaleT 3 include : df.markSet.capital - include : LeftHalf df CAP doST doSB + local subDf : DivFrame adws 3 + local shift : [xBarMid df] - [xBarMid subDf] + include : with-transform [ApparentTranslate shift 0] + LeftHalf subDf CAP doST doSB df.mvs create-glyph "cyrl/tje.upright/leftHalf.\(suffix)" : glyph-proc local df : include : DivFrame para.advanceScaleT 3 include : df.markSet.e - include : LeftHalf df XH doST doSB + local subDf : DivFrame adws 3 + local shift : [xBarMid df] - [xBarMid subDf] + include : with-transform [ApparentTranslate shift 0] + LeftHalf subDf XH doST doSB df.mvs foreach { suffix { Uc Lc } } [Object.entries YeriConfig] : do create-glyph "cyrl/Tje/rightHalf.\(suffix)" : glyph-proc local df : include : DivFrame para.advanceScaleT 3 include : df.markSet.capital - include : RightHalf Uc df CAP + include : RightHalf Uc df CAP df.mvs DependentSelector.set currentGlyph : if (suffix === "corner") 'full' 'reduced' create-glyph "cyrl/tje.upright/rightHalf.\(suffix)" : glyph-proc local df : include : DivFrame para.advanceScaleT 3 include : df.markSet.e - include : RightHalf Lc df XH + include : RightHalf Lc df XH df.mvs DependentSelector.set currentGlyph : if (suffix === "corner") 'full' 'reduced' select-variant 'cyrl/Tje/leftHalf/full' - follow -- 'cyrl/Tje/leftHalf' + follow -- 'T' shapeFrom -- 'cyrl/Tje/leftHalf' select-variant 'cyrl/tje.upright/leftHalf/full' - follow -- 'cyrl/tje.upright/leftHalf' + follow -- 'T' shapeFrom -- 'cyrl/tje.upright/leftHalf' select-variant 'cyrl/Tje/leftHalf/reduced' - follow -- 'cyrl/Tje/leftHalf/reduced' + follow -- 'T/rtailBase' shapeFrom -- 'cyrl/Tje/leftHalf' select-variant 'cyrl/tje.upright/leftHalf/reduced' - follow -- 'cyrl/tje.upright/leftHalf/reduced' + follow -- 'T/rtailBase' shapeFrom -- 'cyrl/tje.upright/leftHalf' select-variant 'cyrl/Tje/rightHalf' diff --git a/params/variants.toml b/params/variants.toml index e5348f21b..9b2437fdf 100644 --- a/params/variants.toml +++ b/params/variants.toml @@ -1652,10 +1652,6 @@ description = "Serifless T" selector.T = "serifless" selector."T/sansSerif" = "serifless" selector."T/rtailBase" = "serifless" -selector."cyrl/Tje/leftHalf" = "serifless" -selector."cyrl/Tje/leftHalf/reduced" = "serifless" -selector."cyrl/tje.upright/leftHalf" = "serifless" -selector."cyrl/tje.upright/leftHalf/reduced" = "serifless" [prime.capital-t.variants.motion-serifed] rank = 2 @@ -1663,10 +1659,6 @@ description = "Motion-Serifed T" selector.T = "motionSerifed" selector."T/sansSerif" = "serifless" selector."T/rtailBase" = "motionSerifed" -selector."cyrl/Tje/leftHalf" = "motionSerifed" -selector."cyrl/Tje/leftHalf/reduced" = "motionSerifed" -selector."cyrl/tje.upright/leftHalf" = "motionSerifed" -selector."cyrl/tje.upright/leftHalf/reduced" = "motionSerifed" [prime.capital-t.variants.serifed] rank = 3 @@ -1674,10 +1666,6 @@ description = "Serifed T" selector.T = "serifed" selector."T/sansSerif" = "serifless" selector."T/rtailBase" = "motionSerifed" -selector."cyrl/Tje/leftHalf" = "serifed" -selector."cyrl/Tje/leftHalf/reduced" = "motionSerifed" -selector."cyrl/tje.upright/leftHalf" = "serifed" -selector."cyrl/tje.upright/leftHalf/reduced" = "motionSerifed"