Optimize glyphs for four characters. (#2458)

This commit is contained in:
John McWilliams 2024-08-05 20:41:51 -04:00 committed by GitHub
parent 07c93a3160
commit 2d3d0f083d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 26 additions and 37 deletions

View file

@ -1 +1,4 @@
* Add variant selectors for Greek lower Phi/Psi (`VXAG`, `VXAH`). * Add variant selectors for Greek lower Phi/Psi (`VXAG`, `VXAH`).
* Optimize cross position for Cyrillic Lower Straight U (`U+04AF`, `U+04B1`).
* Optimize glyph shape for `lower-gamma`.`straight` and `lower-gamma`.`curly`.
* Optimize glyph shape for `U+1DF15`.

View file

@ -9,15 +9,8 @@ glyph-block Letter-Greek-Lower-Gamma : begin
glyph-block-import Common-Derivatives glyph-block-import Common-Derivatives
glyph-block-import Letter-Blackboard : BBS BBD BBBarLeft glyph-block-import Letter-Blackboard : BBS BBD BBBarLeft
create-glyph 'grek/gamma.straight' : glyph-proc alias 'grek/gamma.straight' null 'cyrl/ue.straightSerifless'
include : MarkSet.p alias 'grek/gamma.curly' null 'cyrl/ue.curlySerifless'
include : refer-glyph "v.straightSerifless"
include : VBar.m Middle Descender HalfStroke
create-glyph 'grek/gamma.curly' : glyph-proc
include : MarkSet.p
include : refer-glyph "v.curlySerifless"
include : VBar.m Middle Descender HalfStroke
create-glyph 'grek/gamma.casual' : glyph-proc create-glyph 'grek/gamma.casual' : glyph-proc
include : MarkSet.p include : MarkSet.p

View file

@ -274,7 +274,7 @@ glyph-block Letter-Latin-Lower-R : begin
include : setTurnedMarks doTS XH 0 include : setTurnedMarks doTS XH 0
include : PalatalHook.r include : PalatalHook.r
xLink -- (df.rightSB - xBar + df.leftSB) xLink -- (df.rightSB - xBar + df.leftSB)
x -- (df.rightSB + SideJut) x -- (df.rightSB - xBar + df.leftSB + [HSwToV Stroke] + SideJut)
y -- 0 y -- 0
create-glyph "turnrLongLeg.\(suffix)" : glyph-proc create-glyph "turnrLongLeg.\(suffix)" : glyph-proc

View file

@ -32,8 +32,7 @@ glyph-block Letter-Latin-Upper-Y : begin
[Just SLAB-MOTION] : include sf.lt.outer [Just SLAB-MOTION] : include sf.lt.outer
[Just SLAB-BASE] : include : HSerif.mb Middle bot MidJutSide [Just SLAB-BASE] : include : HSerif.mb Middle bot MidJutSide
define [YShape bodyType slabType top bot] : glyph-proc define [YShape] : with-params [bodyType slabType top bot [cross : YCrossPos top bot]] : glyph-proc
local cross : YCrossPos top bot
local maskLT : slabType == SLAB-ALL || slabType == SLAB-MOTION local maskLT : slabType == SLAB-ALL || slabType == SLAB-MOTION
local maskRT : slabType == SLAB-ALL local maskRT : slabType == SLAB-ALL
@ -51,35 +50,29 @@ glyph-block Letter-Latin-Upper-Y : begin
include : HOverlayBar SB RightSB ([mix bot [YCrossPos CAP 0] 0.5] - OverlayStroke * ks) include : HOverlayBar SB RightSB ([mix bot [YCrossPos CAP 0] 0.5] - OverlayStroke * ks)
include : HOverlayBar SB RightSB [mix bot [YCrossPos CAP 0] 1.0] include : HOverlayBar SB RightSB [mix bot [YCrossPos CAP 0] 1.0]
define [YHookLeftHookedStroke top bot] : begin define [YHookLeftHookedStroke top bot cross] : dispiro
local cross : YCrossPos top bot
return : dispiro
widths.lhs widths.lhs
straight.right.start (SB - TailX / 3) (top - Stroke - O) straight.right.start (SB - TailX / 3) (top - Stroke - O)
g4 (SB + TailX / 3) (top - TailY) [widths.lhs : AdviceStroke 2.75] g4 (SB + TailX / 3) (top - TailY) [widths.lhs : AdviceStroke 2.75]
quadControls 0.55 0.7 32 unimportant quadControls 0.55 0.7 32 unimportant
g4 (Middle - [HSwToV : 0.5 * Stroke]) cross [widths.lhs : AdviceStroke 3.5] g4 (Middle - [HSwToV : 0.5 * Stroke]) cross [widths.lhs : AdviceStroke 3.5]
define [YHookRightHookedStroke top bot] : begin define [YHookRightHookedStroke top bot cross] : dispiro
local cross : YCrossPos top bot
return : dispiro
widths.rhs widths.rhs
straight.left.start (RightSB + TailX / 3) (top - Stroke - O) straight.left.start (RightSB + TailX / 3) (top - Stroke - O)
g4 (RightSB - TailX / 3) (top - TailY) [widths.rhs : AdviceStroke 2.75] g4 (RightSB - TailX / 3) (top - TailY) [widths.rhs : AdviceStroke 2.75]
quadControls 0.55 0.7 32 unimportant quadControls 0.55 0.7 32 unimportant
g4 (Middle + [HSwToV : 0.5 * Stroke]) cross [widths.rhs : AdviceStroke 3.5] g4 (Middle + [HSwToV : 0.5 * Stroke]) cross [widths.rhs : AdviceStroke 3.5]
define [YHookTopShape bodyType slabType top bot] : glyph-proc define [YHookTopShape] : with-params [bodyType slabType top bot [cross : YCrossPos top bot]] : glyph-proc
include : YShape bodyType slabType top bot include : YShape bodyType slabType top bot cross
eject-contour 'strokeRT' eject-contour 'strokeRT'
include : YHookRightHookedStroke top bot include : YHookRightHookedStroke top bot cross
define [UpsilonHookedSymbolShape top bot] : glyph-proc
local cross : YCrossPos top bot
define [UpsilonHookedSymbolShape] : with-params [top bot [cross : YCrossPos top bot]] : glyph-proc
include : VBar.m Middle bot (cross + HalfStroke) include : VBar.m Middle bot (cross + HalfStroke)
include : YHookLeftHookedStroke top bot include : YHookLeftHookedStroke top bot cross
include : YHookRightHookedStroke top bot include : YHookRightHookedStroke top bot cross
define YConfig : object define YConfig : object
straightSerifless { BODY-STRAIGHT SLAB-NONE } straightSerifless { BODY-STRAIGHT SLAB-NONE }
@ -116,7 +109,7 @@ glyph-block Letter-Latin-Upper-Y : begin
if (slabType !== SLAB-BASE) : begin if (slabType !== SLAB-BASE) : begin
create-glyph "cyrl/ue.\(suffix)" : glyph-proc create-glyph "cyrl/ue.\(suffix)" : glyph-proc
include : MarkSet.p include : MarkSet.p
include : YShape bodyType slabType XH Descender include : YShape bodyType slabType XH Descender (cross -- 0)
include : YSlabs slabType XH Descender include : YSlabs slabType XH Descender
if ((slabType === SLAB-NONE || slabType === SLAB-BASE) && bodyType === BODY-STRAIGHT) : begin if ((slabType === SLAB-NONE || slabType === SLAB-BASE) && bodyType === BODY-STRAIGHT) : begin