Cleanup/Optimize glyph shape of Latin Small Letter Script R (U+AB4B). (#2680)

* Optimize stroke width of Lower Script r with Bowl.

* Treat top-left serif as tooth instead of serif.

* Cleanup.
This commit is contained in:
John McWilliams 2025-02-15 19:16:50 -05:00 committed by GitHub
parent 397245ec33
commit 24dbed6a77
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -16,14 +16,14 @@ glyph-block Letter-Latin-Script-R : begin
include : tagged 'strokeR' : if fTailed include : tagged 'strokeR' : if fTailed
RightwardTailedBar right 0 (top - 0.5 * sw) (sw -- sw) RightwardTailedBar right 0 (top - 0.5 * sw) (sw -- sw)
VBar.r right 0 (top - 0.5 * sw) sw VBar.r right 0 (top - 0.5 * sw) sw
include : dispiro include : union
VBar.l left (top - VJut) (top - 0.5 * sw) (VJutStroke * (sw / Stroke))
dispiro
widths.rhs sw widths.rhs sw
g4 left (top - O) [heading Rightward] g4 left (top - O) [heading Rightward]
g4 [mix left right 0.5] (top + O) g4 [mix left right 0.5] (top + O)
g4 right (top - O) [heading Rightward] g4 right (top - O) [heading Rightward]
if SLAB : begin if (SLAB && !fTailed) : include : if para.isItalic [HSerif.rb right 0 SideJut] : composite-proc
include : VSerif.dl left (top - 0.5 * sw) (VJut - 0.5 * sw) (VJutStroke * (sw / Stroke))
if [not fTailed] : include : if para.isItalic [HSerif.rb right 0 SideJut] : composite-proc
HSerif.rb (right - [HSwToV : 0.5 * sw]) 0 Jut HSerif.rb (right - [HSwToV : 0.5 * sw]) 0 Jut
HSerif.lb (right - [HSwToV : 0.5 * sw]) 0 MidJutSide HSerif.lb (right - [HSwToV : 0.5 * sw]) 0 MidJutSide
@ -48,19 +48,19 @@ glyph-block Letter-Latin-Script-R : begin
include : ScriptRShape XH SB [xBarRight subDf] true subDf.mvs include : ScriptRShape XH SB [xBarRight subDf] true subDf.mvs
eject-contour 'strokeR' eject-contour 'strokeR'
local swBowl : [AdviceStroke 2.75] * (subDf.mvs / Stroke) local swBowl : [AdviceStroke 3] * (subDf.mvs / Stroke)
local fineBowl : ShoulderFine * (swBowl / Stroke) local fineBowl : ShoulderFine * (swBowl / Stroke)
local yBar : 0.5 * XH + 0.5 * swBowl local yBar : 0.5 * XH + 0.5 * swBowl
local ada : ArchDepthAOf ArchDepth : df.rightSB - ([xBarRight subDf] - [HSwToV subDf.mvs]) + SB * 2 local ada : ArchDepthAOf SmallArchDepth : df.width - ([xBarRight subDf] - subDf.leftSB) + [HSwToV subDf.mvs]
local adb : ArchDepthBOf ArchDepth : df.rightSB - ([xBarRight subDf] - [HSwToV subDf.mvs]) + SB * 2 local adb : ArchDepthBOf SmallArchDepth : df.width - ([xBarRight subDf] - subDf.leftSB) + [HSwToV subDf.mvs]
include : dispiro include : dispiro
flat ([xBarRight subDf] - [HSwToV subDf.mvs]) (XH - 0.5 * subDf.mvs) [widths.lhs.heading subDf.mvs Downward] flat ([xBarRight subDf] - [HSwToV subDf.mvs]) (XH - 0.5 * subDf.mvs) [widths.lhs.heading subDf.mvs Downward]
curl ([xBarRight subDf] - [HSwToV subDf.mvs]) [YSmoothMidL yBar 0 ada adb] curl ([xBarRight subDf] - [HSwToV subDf.mvs]) [YSmoothMidL yBar 0 ada adb]
arch.lhs 0 (sw -- subDf.mvs) (swAfter -- swBowl) arch.lhs 0 (sw -- subDf.mvs) (swAfter -- swBowl)
g4 (df.rightSB - OX) [YSmoothMidR yBar 0 ada adb] g4 (df.rightSB - OX) [YSmoothMidR yBar 0 ada adb] [widths.lhs swBowl]
arch.lhs yBar (sw -- swBowl) (swAfter -- fineBowl) arch.lhs yBar (sw -- swBowl) (swAfter -- fineBowl)
g4.down.end ([xBarRight subDf] - [HSwToV fineBowl]) [YSmoothMidL yBar 0 ada adb] [widths.lhs.heading fineBowl Downward] g4.down.end ([xBarRight subDf] - [HSwToV fineBowl]) [YSmoothMidL yBar 0 ada adb] [widths.lhs.heading fineBowl Downward]