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:
parent
a03ee9ff6e
commit
b5acd21122
4 changed files with 85 additions and 64 deletions
|
@ -1 +1,5 @@
|
|||
* Optimize glyphs for `rounded-serifless` and `rounded-serifed` variants for Capital Eszett (`ẞ`).
|
||||
* Optimize glyphs for closed epsilon shapes (`U+025E`, `U+029A`).
|
||||
* Optimize glyphs for cursive variants for Greek Lower Beta (`β`) and Cyrillic Lower Ve (`в`).
|
||||
* Optimize glyphs for Volapük Ae/Oe/Ue (`U+A79A`..`U+A79F`).
|
||||
* Optimize glyph for Cyrillic Lower Dzze (`U+A689`) under italics.
|
||||
|
|
|
@ -185,7 +185,9 @@ glyph-block Letter-Cyrillic-De : begin
|
|||
local ze : CyrZe 1 sb XH Descender
|
||||
left -- xZeLeft
|
||||
right -- xZeRight
|
||||
blend -- 0.7
|
||||
hook -- Hook
|
||||
overflow -- 0
|
||||
stroke -- df.mvs
|
||||
include : union [ze.Shape] [ze.AutoEndSerifL]
|
||||
|
||||
|
|
|
@ -28,16 +28,16 @@ glyph-block Letter-Greek-Lower-Epsilon : begin
|
|||
define CLOSED-STEM 8
|
||||
|
||||
define StdBlend 0.65
|
||||
define VolBlend 0.52
|
||||
define VolBlend 0.56
|
||||
|
||||
define [SmallEpsilon] : with-params [
|
||||
slabTop slabBot top bot
|
||||
[blend StdBlend] [hook Hook]
|
||||
[stroke : AdviceStroke2 2 3 (top - bot)] [overflow : HSwToV stroke]
|
||||
[ada2 SmallArchDepthA] [adb2 SmallArchDepthB]
|
||||
] : namespace
|
||||
export : define [Dim] : begin
|
||||
local stroke : AdviceStroke2 2 3 (top - bot)
|
||||
local midx : mix SB RightSB blend
|
||||
local midx : mix (SB + [HSwToV stroke] - overflow) (RightSB - [HSwToV stroke] + overflow) blend
|
||||
local midy : mix bot top OverlayPos
|
||||
local topHeight : top - bot
|
||||
local midyHeight : midy - bot
|
||||
|
@ -101,12 +101,13 @@ glyph-block Letter-Greek-Lower-Epsilon : begin
|
|||
|
||||
glyph-block-export CyrZe
|
||||
define [CyrZe] : with-params [
|
||||
slabTop slabBot top bot [left SB] [right RightSB]
|
||||
[blend StdBlend] [hook Hook] [stroke : AdviceStroke2 2 3 (top - bot)]
|
||||
slabTop slabBot top bot
|
||||
[left SB] [right RightSB] [blend StdBlend] [hook Hook]
|
||||
[stroke : AdviceStroke2 2 3 (top - bot)] [overflow : HSwToV stroke]
|
||||
[xo OX] [yo O] [op OverlayPos] [ada2 SmallArchDepthA] [adb2 SmallArchDepthB]
|
||||
] : namespace
|
||||
export : define [Dim] : begin
|
||||
local midx : mix right left blend
|
||||
local midx : mix (right - [HSwToV stroke] + overflow) (left + [HSwToV stroke] - overflow) blend
|
||||
local midy : mix bot top op
|
||||
local topHeight : top - bot
|
||||
local midyHeight : midy - bot
|
||||
|
@ -268,7 +269,7 @@ glyph-block Letter-Greek-Lower-Epsilon : begin
|
|||
|
||||
create-glyph "cyrl/dzjeKomi.\(suffix)" : glyph-proc
|
||||
include : MarkSet.e
|
||||
local ze : CyrZe slabTop OPEN-VERTICAL XH 0 (hok -- SHook)
|
||||
local ze : CyrZe slabTop OPEN-VERTICAL XH 0 (hoоk -- SHook)
|
||||
include : ze.Shape
|
||||
include : ze.AutoStartSerifL
|
||||
include : CyrDescender.rSideJut (RightSB - OX * 2) 0
|
||||
|
@ -335,7 +336,9 @@ glyph-block Letter-Greek-Lower-Epsilon : begin
|
|||
create-glyph 'epsilonClosed' 0x29A : glyph-proc
|
||||
include : MarkSet.e
|
||||
local eps : SmallEpsilon CLOSED-CIRCLE CLOSED-CIRCLE XH 0
|
||||
blend -- 0.7
|
||||
hook -- SHook
|
||||
overflow -- 0
|
||||
ada2 -- SmallArchDepthA
|
||||
adb2 -- SmallArchDepthB
|
||||
include : eps.Shape
|
||||
|
@ -343,7 +346,9 @@ glyph-block Letter-Greek-Lower-Epsilon : begin
|
|||
create-glyph 'epsilonRevClosed' 0x25E : glyph-proc
|
||||
include : MarkSet.e
|
||||
local ze : CyrZe CLOSED-CIRCLE CLOSED-CIRCLE XH 0
|
||||
blend -- 0.7
|
||||
hook -- SHook
|
||||
overflow -- 0
|
||||
ada2 -- SmallArchDepthA
|
||||
adb2 -- SmallArchDepthB
|
||||
include : ze.Shape
|
||||
|
@ -353,6 +358,7 @@ glyph-block Letter-Greek-Lower-Epsilon : begin
|
|||
local eps : SmallEpsilon CLOSED-CIRCLE CLOSED-CIRCLE CAP 0
|
||||
blend -- VolBlend
|
||||
hook -- Hook
|
||||
overflow -- 0
|
||||
ada2 -- ArchDepthA
|
||||
adb2 -- ArchDepthB
|
||||
include : eps.Shape
|
||||
|
@ -362,6 +368,7 @@ glyph-block Letter-Greek-Lower-Epsilon : begin
|
|||
local eps : SmallEpsilon CLOSED-CIRCLE CLOSED-CIRCLE XH 0
|
||||
blend -- VolBlend
|
||||
hook -- SHook
|
||||
overflow -- 0
|
||||
ada2 -- SmallArchDepthA
|
||||
adb2 -- SmallArchDepthB
|
||||
include : eps.Shape
|
||||
|
@ -373,6 +380,7 @@ glyph-block Letter-Greek-Lower-Epsilon : begin
|
|||
local eps : SmallEpsilon CLOSED-STEM CLOSED-STEM height 0
|
||||
blend -- VolBlend
|
||||
hook -- hook
|
||||
overflow -- 0
|
||||
ada2 -- ada2
|
||||
adb2 -- adb2
|
||||
define [object stroke] : eps.Dim
|
||||
|
@ -383,6 +391,7 @@ glyph-block Letter-Greek-Lower-Epsilon : begin
|
|||
local eps : SmallEpsilon SLAB-INWARD CLOSED-STEM height 0
|
||||
blend -- VolBlend
|
||||
hook -- hook
|
||||
overflow -- 0
|
||||
ada2 -- ada2
|
||||
adb2 -- adb2
|
||||
define [object stroke] : eps.Dim
|
||||
|
@ -393,6 +402,7 @@ glyph-block Letter-Greek-Lower-Epsilon : begin
|
|||
local eps : SmallEpsilon CLOSED-ROUND CLOSED-STEM height 0
|
||||
blend -- VolBlend
|
||||
hook -- hook
|
||||
overflow -- 0
|
||||
ada2 -- ada2
|
||||
adb2 -- adb2
|
||||
define [object stroke] : eps.Dim
|
||||
|
@ -433,6 +443,7 @@ glyph-block Letter-Greek-Lower-Epsilon : begin
|
|||
local eps : SmallEpsilon OPEN-VERTICAL CLOSED-STEM height 0
|
||||
blend -- VolBlend
|
||||
hook -- hook
|
||||
overflow -- 0
|
||||
ada2 -- ada2
|
||||
adb2 -- adb2
|
||||
define [object stroke] : eps.Dim
|
||||
|
@ -445,6 +456,7 @@ glyph-block Letter-Greek-Lower-Epsilon : begin
|
|||
local eps : SmallEpsilon OPEN-VERTICAL CLOSED-STEM height 0
|
||||
blend -- VolBlend
|
||||
hook -- hook
|
||||
overflow -- 0
|
||||
ada2 -- ada2
|
||||
adb2 -- adb2
|
||||
define [object stroke] : eps.Dim
|
||||
|
@ -456,6 +468,7 @@ glyph-block Letter-Greek-Lower-Epsilon : begin
|
|||
local eps : SmallEpsilon OPEN-VERTICAL CLOSED-ROUND height 0
|
||||
blend -- VolBlend
|
||||
hook -- hook
|
||||
overflow -- 0
|
||||
ada2 -- ada2
|
||||
adb2 -- adb2
|
||||
define [object stroke] : eps.Dim
|
||||
|
@ -467,6 +480,7 @@ glyph-block Letter-Greek-Lower-Epsilon : begin
|
|||
local eps : SmallEpsilon OPEN-VERTICAL SLAB-INWARD height 0
|
||||
blend -- VolBlend
|
||||
hook -- hook
|
||||
overflow -- 0
|
||||
ada2 -- ada2
|
||||
adb2 -- adb2
|
||||
define [object stroke] : eps.Dim
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue