Add flat hooked but tailed variants for f
(VXEX
... VXFA
) (#697).
This commit is contained in:
parent
0ad41c2092
commit
fe856988f6
3 changed files with 60 additions and 3 deletions
1
changes/3.6.4.md
Normal file
1
changes/3.6.4.md
Normal file
|
@ -0,0 +1 @@
|
||||||
|
* Add flat hooked but tailed variants for `f` (`VXEX` ... `VXFA`) (#697).
|
|
@ -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')
|
||||||
|
|
||||||
|
|
|
@ -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'
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue