Subtly optimize jut length of middle serif of E/F. (#2480)

* Optimize jut length of middle serif of `E`/`F`.

* cleanup
This commit is contained in:
John McWilliams 2024-08-22 14:12:24 -04:00 committed by GitHub
parent 5ee209c97f
commit cf56ded760
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 10 additions and 9 deletions

View file

@ -110,7 +110,7 @@ glyph-block Letter-Latin-Upper-AE-OE : begin
local xMidRight : df.rightSB - sw / 4
local yBar : top * eBarPos
local { jutTop jutBot } : EFVJutLength top eBarPos sw
local { jutTop jutBot jutMid } : EFVJutLength top eBarPos sw
# E half
include : VBar.l eleft 0 top sw
@ -125,7 +125,7 @@ glyph-block Letter-Latin-Upper-AE-OE : begin
match slabKind
[Just SLAB-E-CAPPED] : begin
local fine : swVJut * [AdviceStroke 3.5] / Stroke
include : VBar.r xMidRight (yBar - 0.5 * jutBot) (yBar + 0.5 * jutBot) fine
include : VBar.r xMidRight (yBar - jutMid) (yBar + jutMid) fine
do "P/Ya Half"
glyph-block-import Letter-Latin-Upper-P : PShape PBarPosY
@ -208,7 +208,7 @@ glyph-block Letter-Latin-Upper-AE-OE : begin
local xMidRight : df.rightSB - sw / 4
local yBar : top * eBarPos
local { jutTop jutBot } : EFVJutLength top eBarPos sw
local { jutTop jutBot jutMid } : EFVJutLength top eBarPos sw
# O half
include : dispiro
@ -233,7 +233,7 @@ glyph-block Letter-Latin-Upper-AE-OE : begin
match slabKind
[Just SLAB-E-CAPPED] : begin
local fine : swVJut * [AdviceStroke 3.5] / Stroke
include : VBar.r xMidRight (yBar - 0.5 * jutBot) (yBar + 0.5 * jutBot) fine
include : VBar.r xMidRight (yBar - jutMid) (yBar + jutMid) fine
foreach { suffix { slabKind } } [Object.entries EConfig] : do
create-glyph "OE.\(suffix)" : glyph-proc

View file

@ -19,7 +19,7 @@ glyph-block Letter-Latin-Upper-E : begin
define [EShape] : with-params [top pyBar serifLT serifLB serifV serifM [stroke : AdviceStroke2 2 3 top]] : glyph-proc
local xMidRight : RightSB - [xMidBarShrink serifV]
local yBar : yMidBar top pyBar
local { jutTop jutBot } : EFVJutLength top pyBar stroke
local { jutTop jutBot jutMid } : EFVJutLength top pyBar stroke
include : VBar.l (xEBarLeft) 0 top stroke
include : HBar.t (xEBarLeft - O) RightSB top stroke
@ -33,7 +33,7 @@ glyph-block Letter-Latin-Upper-E : begin
include : VSerif.ur RightSB 0 jutBot
if serifM : begin
local fine : stroke * [AdviceStroke 3.5] / Stroke
include : VBar.r xMidRight (yBar - 0.5 * jutBot) (yBar + 0.5 * jutBot) fine
include : VBar.r xMidRight (yBar - jutMid) (yBar + jutMid) fine
glyph-block-export RevEShape
define [RevEShape] : with-params [top pyBar serifRT serifRB serifV serifM [stroke : AdviceStroke2 2 3 top]] : glyph-proc

View file

@ -23,7 +23,8 @@ glyph-block Letter-Latin-Upper-F : begin
top - [mix (top - stroke) ([yMidBar top pyBar] + stroke / 2) 0.5]
local jutBot : Math.min VJut
mix stroke ([yMidBar top pyBar] - stroke / 2) 0.5
return { jutTop jutBot }
local jutMid : 0.5 * [Math.min jutTop jutBot]
return { jutTop jutBot jutMid }
define xFBarLeft : SB * 1.5
define xFBarRight : Width - SB * 1.5
@ -31,7 +32,7 @@ glyph-block Letter-Latin-Upper-F : begin
define [FShape] : with-params [top pyBar serifLT serifLB serifV serifM [stroke : AdviceStroke2 2 3 top]] : glyph-proc
local xMidRight : RightSB - [xMidBarShrink serifV]
local yBar : yMidBar top pyBar
local { jutTop jutBot } : EFVJutLength top pyBar stroke
local { jutTop jutBot jutMid } : EFVJutLength top pyBar stroke
include : VBar.l (xFBarLeft) 0 top stroke
include : HBar.t (xFBarLeft - O) RightSB top stroke
@ -44,7 +45,7 @@ glyph-block Letter-Latin-Upper-F : begin
if serifV : include : VSerif.dr RightSB top jutTop
if serifM : begin
local fine : stroke * [AdviceStroke 3.5] / Stroke
include : VBar.r xMidRight (yBar - 0.5 * jutBot) (yBar + 0.5 * jutBot) fine
include : VBar.r xMidRight (yBar - jutMid) (yBar + jutMid) fine
define FConfig : object
serifless { false false false false }