Refactor code used to build arches and bowls (#2336)

* Refactor code used to build arches and bowls

* Bump to a minor version update
This commit is contained in:
Belleve 2024-05-18 22:14:51 -10:00 committed by GitHub
parent 82aee0a5b6
commit 503a1c8448
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
71 changed files with 512 additions and 719 deletions

View file

@ -10,7 +10,7 @@ glyph-block Letter-Latin-Upper-B : begin
glyph-block-import Common-Derivatives
glyph-block-import Mark-Adjustment : LeaningAnchor
glyph-block-import Letter-Shared-Metrics : BowlXDepth
glyph-block-import Letter-Shared-Shapes : ShoulderMidKnotRhs LetterBarOverlay SerifFrame LeftHook
glyph-block-import Letter-Shared-Shapes : LetterBarOverlay SerifFrame LeftHook
glyph-block-import Letter-Blackboard : BBS BBD
define BArcMix 0.93
@ -33,21 +33,21 @@ glyph-block Letter-Latin-Upper-B : begin
include : sink
widths.rhs stroke
flat (barleft - O) (top - offset) [heading Rightward]
curl (curvleftTop - CorrectionOMidX * stroke) (top - offset)
curl [arch.adjust-x.top curvleftTop (sw -- stroke)] (top - offset)
archv
g4 (xTopArcRight - offset) [YSmoothMidR top (bowl - stroke) adaTop adbTop]
arcvh
flat (curvleftTop + CorrectionOMidX * stroke) (bowl - fine + offset) [widths.rhs fine]
flat [arch.adjust-x.bot curvleftTop (sw -- stroke)] (bowl - fine + offset) [widths.rhs fine]
curl (barleft - O) (bowl - fine + offset) [heading Leftward]
include : sink
widths.rhs fine
flat (barleft - O) (bowl - stroke + fine - offset) [heading Rightward]
curl (curvleft - CorrectionOMidX * stroke) (bowl - stroke + fine - offset)
curl [arch.adjust-x.top curvleft (sw -- stroke)] (bowl - stroke + fine - offset)
archv
g4 (RightSB - OX * 2 - offset) [YSmoothMidR bowl 0 ada adb] [widths.rhs stroke]
arcvh
flat (curvleft + CorrectionOMidX * stroke) offset
flat [arch.adjust-x.bot curvleft (sw -- stroke)] offset
curl (barleft - O) offset [heading Leftward]
return : object bowl
@ -217,14 +217,10 @@ glyph-block Letter-Latin-Upper-B : begin
curl Middle (midy - (fine - stroke / 2)) [heading Rightward]
archv
g4 (RightSB - (OX - O)) (top - adb) [widths.lhs stroke]
arcvh
g4 (Middle + stroke * 0.06 - CorrectionOMidS) (top - O)
archv
arch.lhs top
flat (SB + O) (top - SmallArchDepthA)
curl (SB + O) SmallArchDepthB
arcvh
g4 (Middle + stroke * 0.06 + CorrectionOMidS) O
archv
arch.lhs 0
g4 (RightSB - (OX - O) - O * 2) (ada)
arcvh
flat Middle (midy + (fine - stroke / 2)) [widths.heading fine 0 Leftward]
@ -246,17 +242,15 @@ glyph-block Letter-Latin-Upper-B : begin
define pBar 0.55
define fine : Stroke * CThin
define yMiddle : [mix 0 Ascender pBar] - Stroke * 0.7 # Bottom edge
define ada : ArchDepthAOf (ArchDepth * 0.75) Width
define adb : ArchDepthBOf (ArchDepth * 0.75) Width
define ada : ArchDepthAOf (ArchDepth * 0.75) (0.5 * Width)
define adb : ArchDepthBOf (ArchDepth * 0.75) (0.5 * Width)
define xMidLeft : mix (SB + [HSwToV Stroke]) (RightSB - [HSwToV Stroke]) 0.3
define xMidArc : Math.max [mix xMidLeft RightSB 0.1] [mix SB RightSB 0.5]
include : dispiro
widths.rhs
flat SB Descender [heading Upward]
curl SB (Ascender - SmallArchDepthA)
arcvh
g4 ([mix SB (RightSB - OX + O * 3) 0.5] - CorrectionOMidS) (Ascender - O)
archv
arch.rhs Ascender
g4 (RightSB - OX + O * 3) [YSmoothMidR yMiddle Ascender ada adb]
arcvh
flat xMidArc (yMiddle + Stroke - fine) [widths.rhs.heading fine Leftward]
@ -267,12 +261,8 @@ glyph-block Letter-Latin-Upper-B : begin
curl xMidArc (yMiddle + fine) [heading Rightward]
archv
g4 (RightSB - OX) [YSmoothMidR 0 (yMiddle + Stroke) ada adb] [widths.rhs]
arcvh
ShoulderMidKnotRhs Middle O ShoulderFine Stroke (-1) 1
archv
arch.rhs 0 (swAfter -- ShoulderFine)
g4.up.end (SB + HVContrast * (Stroke - ShoulderFine)) adb [widths.rhs ShoulderFine]
# flat (RightSB - ymiddle / 2 - HalfStroke) 0
# curl (SB + HalfStroke) 0 [heading Leftward]
derive-composites 'latn/beta' 0xA7B5 'grek/beta'
if SLAB [SerifFrame.fromDf [DivFrame 1] XH Descender].lb.fullSide [no-shape]
@ -291,28 +281,16 @@ glyph-block Letter-Latin-Upper-B : begin
include : dispiro
g4 (cx + rx - OX) [YSmoothMidR.cr cyt ry] [widths.lhs fine]
arcvh
g4 (cx - CorrectionOMidX * fine) (cyt + ry - O)
archv
arch.lhs (cyt + ry) (sw -- fine)
g4 (cx - rx + OX) [YSmoothMidL.cr cyt ry]
arcvh
g4 (cx + CorrectionOMidX * fine) (cyt - ry + O)
archv
arch.lhs (cyt - ry) (sw -- fine)
g4 (cx + rx - OX) [YSmoothMidR.cr cyt ry]
arcvh
g4 (Middle - CorrectionOMidS) (XH - O) [widths.lhs]
archv
arch.lhs XH (swBefore -- fine)
flat SB (XH - SmallArchDepthA)
curl SB (0 + SmallArchDepthB)
arcvh
g4 (Middle + CorrectionOMidS) O
archv
arch.lhs 0 (swAfter -- fine)
g4 (cx + rx - OX) [YSmoothMidR.cr cyb ry] [widths.lhs fine]
arcvh
g4 (cx - CorrectionOMidX * fine) (cyb + ry - O)
archv
arch.lhs (cyb + ry) (sw -- fine)
g4 (cx - rx + OX) [YSmoothMidL.cr cyb ry]
arcvh
g4 (cx + CorrectionOMidX * fine) (cyb - ry + O)
archv
arch.lhs (cyb - ry) (sw -- fine)
g4 (cx + rx - OX) [YSmoothMidR.cr cyb ry]