Optimize glyph of Cyrillic Tje under Aile.

This commit is contained in:
John McWilliams 2025-03-23 09:03:12 -04:00
parent 532639a68b
commit dedb2f0097
2 changed files with 24 additions and 28 deletions

View file

@ -14,28 +14,30 @@ glyph-block Letter-Cyrillic-Tje : begin
glyph-block-import Letter-Latin-Upper-T : TConfig glyph-block-import Letter-Latin-Upper-T : TConfig
glyph-block-import Letter-Cyrillic-Yeri : YeriConfig YeriBarPos glyph-block-import Letter-Cyrillic-Yeri : YeriConfig YeriBarPos
define [LeftHalf df top slabTop slabBot] : glyph-proc define [xBarMid df] : [mix df.leftSB df.rightSB 0.3] + OX
local left : [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 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 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 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.dl xTopBarLeft top jutTop
include : VSerif.dr xTopBarRight top jutTop include : VSerif.dr xTopBarRight top jutTop
if slabBot : begin if slabBot : begin
include : HSerif.lb left 0 SideJut include : HSerif.lb left 0 SideJut
define [RightHalf Yeri df top] : glyph-proc define [RightHalf Yeri df top sw] : glyph-proc
include : Yeri top include : Yeri top
left -- ([mix df.leftSB df.rightSB 0.3] + OX) left -- [xBarMid df]
right -- df.rightSB right -- df.rightSB
stroke -- df.mvs stroke -- sw
eject-contour 'serifYeriLT' eject-contour 'serifYeriLT'
eject-contour 'serifYeriLB' eject-contour 'serifYeriLB'
@ -43,37 +45,43 @@ glyph-block Letter-Cyrillic-Tje : begin
create-glyph "cyrl/Tje/leftHalf.\(suffix)" : glyph-proc create-glyph "cyrl/Tje/leftHalf.\(suffix)" : glyph-proc
local df : include : DivFrame para.advanceScaleT 3 local df : include : DivFrame para.advanceScaleT 3
include : df.markSet.capital 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 create-glyph "cyrl/tje.upright/leftHalf.\(suffix)" : glyph-proc
local df : include : DivFrame para.advanceScaleT 3 local df : include : DivFrame para.advanceScaleT 3
include : df.markSet.e 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 foreach { suffix { Uc Lc } } [Object.entries YeriConfig] : do
create-glyph "cyrl/Tje/rightHalf.\(suffix)" : glyph-proc create-glyph "cyrl/Tje/rightHalf.\(suffix)" : glyph-proc
local df : include : DivFrame para.advanceScaleT 3 local df : include : DivFrame para.advanceScaleT 3
include : df.markSet.capital include : df.markSet.capital
include : RightHalf Uc df CAP include : RightHalf Uc df CAP df.mvs
DependentSelector.set currentGlyph : if (suffix === "corner") 'full' 'reduced' DependentSelector.set currentGlyph : if (suffix === "corner") 'full' 'reduced'
create-glyph "cyrl/tje.upright/rightHalf.\(suffix)" : glyph-proc create-glyph "cyrl/tje.upright/rightHalf.\(suffix)" : glyph-proc
local df : include : DivFrame para.advanceScaleT 3 local df : include : DivFrame para.advanceScaleT 3
include : df.markSet.e include : df.markSet.e
include : RightHalf Lc df XH include : RightHalf Lc df XH df.mvs
DependentSelector.set currentGlyph : if (suffix === "corner") 'full' 'reduced' DependentSelector.set currentGlyph : if (suffix === "corner") 'full' 'reduced'
select-variant 'cyrl/Tje/leftHalf/full' select-variant 'cyrl/Tje/leftHalf/full'
follow -- 'cyrl/Tje/leftHalf' follow -- 'T'
shapeFrom -- 'cyrl/Tje/leftHalf' shapeFrom -- 'cyrl/Tje/leftHalf'
select-variant 'cyrl/tje.upright/leftHalf/full' select-variant 'cyrl/tje.upright/leftHalf/full'
follow -- 'cyrl/tje.upright/leftHalf' follow -- 'T'
shapeFrom -- 'cyrl/tje.upright/leftHalf' shapeFrom -- 'cyrl/tje.upright/leftHalf'
select-variant 'cyrl/Tje/leftHalf/reduced' select-variant 'cyrl/Tje/leftHalf/reduced'
follow -- 'cyrl/Tje/leftHalf/reduced' follow -- 'T/rtailBase'
shapeFrom -- 'cyrl/Tje/leftHalf' shapeFrom -- 'cyrl/Tje/leftHalf'
select-variant 'cyrl/tje.upright/leftHalf/reduced' select-variant 'cyrl/tje.upright/leftHalf/reduced'
follow -- 'cyrl/tje.upright/leftHalf/reduced' follow -- 'T/rtailBase'
shapeFrom -- 'cyrl/tje.upright/leftHalf' shapeFrom -- 'cyrl/tje.upright/leftHalf'
select-variant 'cyrl/Tje/rightHalf' select-variant 'cyrl/Tje/rightHalf'

View file

@ -1652,10 +1652,6 @@ description = "Serifless T"
selector.T = "serifless" selector.T = "serifless"
selector."T/sansSerif" = "serifless" selector."T/sansSerif" = "serifless"
selector."T/rtailBase" = "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] [prime.capital-t.variants.motion-serifed]
rank = 2 rank = 2
@ -1663,10 +1659,6 @@ description = "Motion-Serifed T"
selector.T = "motionSerifed" selector.T = "motionSerifed"
selector."T/sansSerif" = "serifless" selector."T/sansSerif" = "serifless"
selector."T/rtailBase" = "motionSerifed" 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] [prime.capital-t.variants.serifed]
rank = 3 rank = 3
@ -1674,10 +1666,6 @@ description = "Serifed T"
selector.T = "serifed" selector.T = "serifed"
selector."T/sansSerif" = "serifless" selector."T/sansSerif" = "serifless"
selector."T/rtailBase" = "motionSerifed" 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"