Optimize closed epsilon shapes under heavier weights. (#2534)

* Optimize closed epsilon shapes for heavier weights

* Unify parameters between beta symbol and beta.
This commit is contained in:
John McWilliams 2024-10-06 16:24:11 -04:00 committed by GitHub
parent a03ee9ff6e
commit b5acd21122
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 85 additions and 64 deletions

View file

@ -190,25 +190,26 @@ glyph-block Letter-Latin-Upper-B : begin
define [CursiveCyrveShape top] : glyph-proc
local stroke : AdviceStroke2 2 3 top
local mid : mix RightSB SB 0.65
local midy : top * HBarPos
local adb : top - [mix (midy + stroke / 2) (top - O - stroke) (ArchDepthA / (ArchDepthA + ArchDepthB))] + [HSwToV TanSlope] * stroke
local ada : [mix (stroke + O) (midy - stroke / 2) (ArchDepthA / (ArchDepthA + ArchDepthB))] - [HSwToV TanSlope] * stroke
local fine : stroke * CThin
local yMiddle : top * HBarPos
local adb : top - [mix (yMiddle + stroke / 2) (top - O - stroke) (ArchDepthA / (ArchDepthA + ArchDepthB))] + [HSwToV TanSlope] * stroke
local ada : [mix (stroke + O) (yMiddle - stroke / 2) (ArchDepthA / (ArchDepthA + ArchDepthB))] - [HSwToV TanSlope] * stroke
local xMidLeft : mix (RightSB - [HSwToV stroke]) (SB + [HSwToV stroke]) 0.7
local xMidArc : Math.max [mix xMidLeft RightSB 0.1] [mix SB RightSB 0.5]
include : dispiro
widths.lhs fine
flat mid (midy - (fine - stroke / 2)) [heading Rightward]
curl Middle (midy - (fine - stroke / 2)) [heading Rightward]
flat xMidLeft (yMiddle - (fine - stroke / 2)) [heading Rightward]
curl xMidArc (yMiddle - (fine - stroke / 2)) [heading Rightward]
archv
g4 (RightSB - (OX - O)) (top - adb) [widths.lhs stroke]
arch.lhs top
flat (SB + O) (top - SmallArchDepthA)
curl (SB + O) SmallArchDepthB
curl (SB + O) (0 + SmallArchDepthB)
arch.lhs 0
g4 (RightSB - (OX - O) - O * 2) (ada)
g4 (RightSB - (OX + O)) (0 + ada)
arcvh
flat Middle (midy + (fine - stroke / 2)) [widths.heading fine 0 Leftward]
curl mid (midy + (fine - stroke / 2)) [widths.heading fine 0 Leftward]
flat xMidArc (yMiddle + (fine - stroke / 2)) [widths.heading fine 0 Leftward]
curl xMidLeft (yMiddle + (fine - stroke / 2)) [widths.heading fine 0 Leftward]
create-glyph 'cyrl/ve.cursive' : glyph-proc
include : MarkSet.e
@ -241,7 +242,7 @@ glyph-block Letter-Latin-Upper-B : begin
define yMiddle : [mix 0 Ascender pBar] - Stroke * 0.7 # Bottom edge
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 xMidLeft : mix (RightSB - [HSwToV Stroke]) (SB + [HSwToV Stroke]) 0.7
define xMidArc : Math.max [mix xMidLeft RightSB 0.1] [mix SB RightSB 0.5]
include : dispiro
widths.rhs