Add flat hooked but tailed variants for f (VXEX ... VXFA) (#697).

This commit is contained in:
be5invis 2020-10-04 21:38:26 -07:00
parent 0ad41c2092
commit fe856988f6
3 changed files with 60 additions and 3 deletions

1
changes/3.6.4.md Normal file
View file

@ -0,0 +1 @@
* Add flat hooked but tailed variants for `f` (`VXEX` ... `VXFA`) (#697).

View file

@ -5016,7 +5016,7 @@ glyph-block Letter-Latin-Lower-F : begin
curl (RightSB - HalfStroke * TanSlope) fbar curl (RightSB - HalfStroke * TanSlope) fbar
define dfNarrowF : DivFrame para.diversityF define dfNarrowF : DivFrame para.diversityF
define [NarrowFShape df m bh] : glyph-proc define [NarrowFShape df m bh counterHook] : glyph-proc
local crossLeft : mix 0 SB m local crossLeft : mix 0 SB m
local crossRight : mix df.width df.rightSB m local crossRight : mix df.width df.rightSB m
local barLeft : [mix crossLeft crossRight 0.42] - Stroke * 0.375 * HVContrast + df.width / 32 local barLeft : [mix crossLeft crossRight 0.42] - Stroke * 0.375 * HVContrast + df.width / 32
@ -5024,7 +5024,7 @@ glyph-block Letter-Latin-Lower-F : begin
include : dispiro include : dispiro
widths.lhs widths.lhs
flat crossRight CAP flat crossRight CAP
curl [Math.min (barLeft + tTurn) (crossRight - 1)] CAP curl [Math.min (barLeft + tTurn) (crossRight - 0.1)] CAP
archv archv
flat barLeft [Math.max XH (CAP - tTurn)] flat barLeft [Math.max XH (CAP - tTurn)]
curl barLeft 0 [heading Downward] curl barLeft 0 [heading Downward]
@ -5032,6 +5032,18 @@ glyph-block Letter-Latin-Lower-F : begin
widths.rhs widths.rhs
flat (crossLeft - HalfStroke * TanSlope) bh flat (crossLeft - HalfStroke * TanSlope) bh
curl (crossRight - HalfStroke * TanSlope) bh curl (crossRight - HalfStroke * TanSlope) bh
if (counterHook === 1) : begin
include : VerticalHook (barLeft + HalfStroke * HVContrast) 0 (-HookX) Hook
if (counterHook === 2) : begin
local barRight : barLeft + Stroke * HVContrast
local counterHookLeft : barRight - (crossRight - barLeft)
include : dispiro
widths.lhs
flat counterHookLeft Descender
curl [Math.max (barRight - tTurn) (counterHookLeft + 0.1)] Descender
archv
flat barRight [Math.min 0 (Descender + tTurn)]
curl barRight 0.1 [heading Upward]
create-glyph 'f.narrow' : glyph-proc create-glyph 'f.narrow' : glyph-proc
set-width dfNarrowF.width set-width dfNarrowF.width
@ -5056,6 +5068,22 @@ glyph-block Letter-Latin-Lower-F : begin
include : NarrowFShape [DivFrame 1] 1 XH include : NarrowFShape [DivFrame 1] 1 XH
include : WithTransform [Translate ((RightSB - SB) * 0.035) 0] : SmallFBottomSerif include : WithTransform [Translate ((RightSB - SB) * 0.035) 0] : SmallFBottomSerif
create-glyph 'f.flatHookRoundTailed' : glyph-proc
include : MarkSet.if
include : NarrowFShape [DivFrame 1] 1 fbar 1
create-glyph 'f.flatHookRoundTailedCrossbarAtXHeight' : glyph-proc
include : MarkSet.if
include : NarrowFShape [DivFrame 1] 1 XH 1
create-glyph 'f.flatHookFlatTailed' : glyph-proc
include : MarkSet.if
include : NarrowFShape [DivFrame 1] 1 fbar 2
create-glyph 'f.flatHookFlatTailedCrossbarAtXHeight' : glyph-proc
include : MarkSet.if
include : NarrowFShape [DivFrame 1] 1 XH 2
create-glyph 'f.tailed' : glyph-proc create-glyph 'f.tailed' : glyph-proc
include [refer-glyph 'longs.italic'] AS_BASE include [refer-glyph 'longs.italic'] AS_BASE
include : dispiro include : dispiro
@ -5068,11 +5096,15 @@ glyph-block Letter-Latin-Lower-F : begin
turned 'turnf.straight' nothing 'f.straight' Middle (XH / 2) [MarkSet.p] turned 'turnf.straight' nothing 'f.straight' Middle (XH / 2) [MarkSet.p]
turned 'turnf.serifed' nothing 'f.serifed' Middle (XH / 2) [MarkSet.p] turned 'turnf.serifed' nothing 'f.serifed' Middle (XH / 2) [MarkSet.p]
turned 'turnf.straightTailed' nothing 'f.straightTailed' Middle (XH / 2) [MarkSet.if] turned 'turnf.straightTailed' nothing 'f.straightTailed' Middle (XH / 2) [MarkSet.if]
turned 'turnf.tailed' nothing 'f.tailed' Middle (XH / 2) [MarkSet.if] turned 'turnf.tailed' nothing 'f.tailed' Middle [mix Descender CAP 0.5] [MarkSet.if]
turned 'turnf.flatHook' nothing 'f.flatHook' Middle (XH / 2) [MarkSet.p] turned 'turnf.flatHook' nothing 'f.flatHook' Middle (XH / 2) [MarkSet.p]
turned 'turnf.flatHookCrossbarAtXHeight' nothing 'f.flatHookCrossbarAtXHeight' Middle (XH / 2) [MarkSet.p] turned 'turnf.flatHookCrossbarAtXHeight' nothing 'f.flatHookCrossbarAtXHeight' Middle (XH / 2) [MarkSet.p]
turned 'turnf.flatHookSerifed' nothing 'f.flatHookSerifed' Middle (XH / 2) [MarkSet.p] turned 'turnf.flatHookSerifed' nothing 'f.flatHookSerifed' Middle (XH / 2) [MarkSet.p]
turned 'turnf.flatHookSerifedCrossbarAtXHeight' nothing 'f.flatHookSerifedCrossbarAtXHeight' Middle (XH / 2) [MarkSet.p] turned 'turnf.flatHookSerifedCrossbarAtXHeight' nothing 'f.flatHookSerifedCrossbarAtXHeight' Middle (XH / 2) [MarkSet.p]
turned 'turnf.flatHookRoundTailed' nothing 'f.flatHookRoundTailed' Middle [mix Descender CAP 0.5] [MarkSet.if]
turned 'turnf.flatHookRoundTailedCrossbarAtXHeight' nothing 'f.flatHookRoundTailedCrossbarAtXHeight' Middle [mix Descender CAP 0.5] [MarkSet.if]
turned 'turnf.flatHookFlatTailed' nothing 'f.flatHookFlatTailed' Middle [mix Descender CAP 0.5] [MarkSet.if]
turned 'turnf.flatHookFlatTailedCrossbarAtXHeight' nothing 'f.flatHookFlatTailedCrossbarAtXHeight' Middle [mix Descender CAP 0.5] [MarkSet.if]
turned 'turnf.narrow' nothing 'f.narrow' dfNarrowF.middle (XH / 2) [dfNarrowF.markSet.p] turned 'turnf.narrow' nothing 'f.narrow' dfNarrowF.middle (XH / 2) [dfNarrowF.markSet.p]
select-variant 'turnf' 0x25F (follow -- 'f') select-variant 'turnf' 0x25F (follow -- 'f')

View file

@ -279,6 +279,30 @@ sampler = "f"
description = '`f` with flat hook, bottom serif, and crossbar placed right at X-height' description = '`f` with flat hook, bottom serif, and crossbar placed right at X-height'
variant.f = 'flatHookSerifedCrossbarAtXHeight' variant.f = 'flatHookSerifedCrossbarAtXHeight'
[simple.v-f-flat-hook-round-tailed]
tag = "VXEX"
sampler = "f"
description = '`f` with flat hook'
variant.f = 'flatHookRoundTailed'
[simple.v-f-flat-hook-round-tailed-crossbar-at-x-height]
tag = "VXEY"
sampler = "f"
description = '`f` with flat hook and crossbar placed right at X-height'
variant.f = 'flatHookRoundTailedCrossbarAtXHeight'
[simple.v-f-flat-hook-flat-tailed]
tag = "VXEZ"
sampler = "f"
description = '`f` with flat hook and bottom serif'
variant.f = 'flatHookFlatTailed'
[simple.v-f-flat-hook-flat-tailed-crossbar-at-x-height]
tag = "VXFA"
sampler = "f"
description = '`f` with flat hook, bottom serif, and crossbar placed right at X-height'
variant.f = 'flatHookFlatTailedCrossbarAtXHeight'
[simple.v-g-singlestorey] [simple.v-g-singlestorey]
tag = 'cv12' tag = 'cv12'
sampler = 'g' sampler = 'g'