Add curly /k

This commit is contained in:
Belleve Invis 2019-12-25 11:24:14 -08:00
parent a26b7f6c18
commit d9843d949b
5 changed files with 87 additions and 21 deletions

View file

@ -142,7 +142,7 @@ export : define [apply] : begin
begin [lambda : set this.gizmo currentGlyph.gizmo]
corner l d
corner l u
corner u u
corner r u
corner r d
close [lambda : begin [set this.angles 4] [set this.fairGizmo currentGlyph.gizmo]]
if transformShiftOnly : begin
@ -444,16 +444,16 @@ export : define [apply] : begin
include : spiro-outline
corner (right - width * HVCONTRAST) bottom
curl (right - width * HVCONTRAST) (top - sm + fix)
arcvh 8 'no-tiny'
arcvh 8
g2 [mix left (right - width * HVCONTRAST) 0.5] (top - O - width)
archv 8 'no-tiny'
archv 8
flat left (top - sm - fix)
corner left (top - sm - fix - 1)
corner (left - fine) (top - sm - 1)
curl (left - fine) (top - sm)
arcvh 8 'no-tiny'
arcvh 8
g2 [mix (left - fine * HVCONTRAST) right 0.5] (top - O)
archv 8 'no-tiny'
archv 8
flat right (top - sm)
corner right bottom
close

View file

@ -1357,6 +1357,52 @@ export : define [apply] : begin
include : RightwardTopSerif topSerifX top (SIDEJUT + HALFSTROKE * 0.5 * HVCONTRAST)
include : RightwardBottomSerif bottomSerifX 0 SIDEJUT
define [KCurlyShape top straightBar] : glyph-construction
define kshLeft : SB + [KBalance straightBar]
define kshRight : RIGHTSB + [KBalanceRight straightBar] + 0.2 * STROKE
define Ok 0
define arcFine SHOULDERFINE
define arcStroke : adviceBlackness2 2 3 top
define arcTerminalFine : adviceBlackness2 3 4 top
define st : shoulderMidSlope arcFine arcStroke 1
define arcMaxPropX : 0.8 + 2 * (arcStroke / WIDTH)
define startPropY : 0.46 + 0.1 * (arcStroke / WIDTH)
define arcTopPropX : 0.56 + 0.2 * (arcStroke / WIDTH)
define arcMaxXPropY : 0.6 - 1 * (arcStroke / WIDTH)
define arcEndPropX : 0.15 - 0.5 * (arcStroke / WIDTH)
define arcEndPropY : 0.45 + 0.2 * (arcStroke / WIDTH)
define arcStartX : kshLeft + HVCONTRAST * (STROKE - arcFine)
define arcMaxX : kshRight * 0.9 - Ok
define arcTopY : top - O
define arcTerminalX : mix arcStartX kshRight arcEndPropX
define arcTerminalY : mix 0 top arcEndPropY
define barEndX : kshRight - Ok
include : difference
dispiro
g2.up.start arcStartX (top * startPropY) [widths.heading 0 arcFine UPWARD]
arcvh
g2.right.mid [mix arcStartX arcMaxX arcTopPropX] arcTopY [widths.heading 0 arcStroke {.y (+1) .x (+st)}]
archv
g2.down.mid arcMaxX [mix arcTerminalY top arcMaxXPropY] [heading DOWNWARD]
quadcontrols 0 0.7
g2 arcTerminalX arcTerminalY [widths arcTerminalFine 0]
spiro-outline
corner 0 0
corner 0 arcTerminalY
corner arcTerminalX arcTerminalY
corner barEndX 0
include : intersection
Rect [mix 0 top arcEndPropY] 0 0 UPM
dispiro
flat arcTerminalX arcTerminalY [widths.lhs]
curl barEndX 0 [widths.rhs]
sketch # K
set-width WIDTH
@ -1384,7 +1430,18 @@ export : define [apply] : begin
include : CenterBottomSerif (SB + [KBalance para.straightBar] + HALFSTROKE * HVCONTRAST) 0 JUT
tag-contour 'serifLB'
save 'k' 'k'
save 'k.upright'
sketch # k
set-width WIDTH
include markset.b
include : VBarLeft (SB + [KBalance para.straightBar]) 0 CAP
include : KCurlyShape XH para.straightBar
if SLAB : begin
include : LeftwardTopSerif (SB + [KBalance para.straightBar]) CAP SIDEJUT
save 'k.italic'
select-variant 'k' 'k'
sketch # kappa
set-width WIDTH
@ -1425,6 +1482,7 @@ export : define [apply] : begin
include : VerticalHook (SB + [KBalance para.straightBar] + HALFSTROKE * HVCONTRAST) (CAP - HOOK - HALFSTROKE) HOOKX (-HOOK)
save 'khooktop' 0x199
turned nothing 0xA7B0 'K' MIDDLE (CAP / 2)
turned nothing 0x29E 'k' MIDDLE (XH / 2) markset.p

View file

@ -43,8 +43,8 @@ function regulateGlyph(g, skew) {
}
// De-overlap
g.contours = [...cSimple, ...caryllShapeOps.removeOverlap(cFill, 1, 2048, true)];
// g.contours = [...cSimple, ...cFill];
// g.contours = [...cSimple, ...caryllShapeOps.removeOverlap(cFill, 1, 2048, true)];
g.contours = [...cSimple, ...cFill];
// Finalize
g.contours = c2q.contours(g.contours);

View file

@ -112,8 +112,8 @@ export : define [SetupBuilders args] : begin
if [not cache.(samples)] : build samples
return cache.(samples).vh
list hv vh
define [archv samples notiny k raf] : alsothruthem [jhv [fallback samples DEFAULT_STEPS]] raf
define [arcvh samples notiny k raf] : alsothruthem [jvh [fallback samples DEFAULT_STEPS]] raf
define [archv samples raf] : alsothruthem [jhv [fallback samples DEFAULT_STEPS]] raf
define [arcvh samples raf] : alsothruthem [jvh [fallback samples DEFAULT_STEPS]] raf
define [complexThru] : begin
local a : {}.slice.call arguments

View file

@ -259,7 +259,15 @@ permille = "rings"
basepoint = "rings"
tag = "cv63"
# "Untagged" variants, used for Aile, etc.
[simple.v-seven-normal]
tag = "cv64"
seven = "normal"
[simple.v-seven-force-serifed]
tag = "cv65"
seven = "force-serifed"
########## "Untagged" variants, used for Aile, etc.
[simple.v-i-tailed]
dotlessi = 'tailed'
@ -285,20 +293,18 @@ f = 'narrow'
[simple.v-t-narrow]
t = 'narrow'
[simple.v-k-upright]
k = 'upright'
[simple.v-k-italic]
k = 'italic'
[simple.v-j-narrow]
dotlessj = "narrow"
[simple.v-j-narrow-serifed]
dotlessj = "narrow-serifed"
[simple.v-seven-normal]
tag = "cv64"
seven = "normal"
[simple.v-seven-force-serifed]
tag = "cv65"
seven = "force-serifed"
[simple.v-r-standard]
r = "standard"
@ -343,7 +349,8 @@ upright = [
'v-l-serifed',
'v-g-doublestorey',
'v-y-straight',
'v-f-straight'
'v-f-straight',
'v-k-upright'
]
italic = [
'v-a-singlestorey',
@ -352,7 +359,8 @@ italic = [
'v-l-italic',
'v-g-singlestorey',
'v-y-curly',
'v-f-tailed'
'v-f-tailed',
'v-k-italic'
]
[composite.slab]