Add curly /k
This commit is contained in:
parent
a26b7f6c18
commit
d9843d949b
5 changed files with 87 additions and 21 deletions
|
@ -142,7 +142,7 @@ export : define [apply] : begin
|
||||||
begin [lambda : set this.gizmo currentGlyph.gizmo]
|
begin [lambda : set this.gizmo currentGlyph.gizmo]
|
||||||
corner l d
|
corner l d
|
||||||
corner l u
|
corner l u
|
||||||
corner u u
|
corner r u
|
||||||
corner r d
|
corner r d
|
||||||
close [lambda : begin [set this.angles 4] [set this.fairGizmo currentGlyph.gizmo]]
|
close [lambda : begin [set this.angles 4] [set this.fairGizmo currentGlyph.gizmo]]
|
||||||
if transformShiftOnly : begin
|
if transformShiftOnly : begin
|
||||||
|
@ -444,16 +444,16 @@ export : define [apply] : begin
|
||||||
include : spiro-outline
|
include : spiro-outline
|
||||||
corner (right - width * HVCONTRAST) bottom
|
corner (right - width * HVCONTRAST) bottom
|
||||||
curl (right - width * HVCONTRAST) (top - sm + fix)
|
curl (right - width * HVCONTRAST) (top - sm + fix)
|
||||||
arcvh 8 'no-tiny'
|
arcvh 8
|
||||||
g2 [mix left (right - width * HVCONTRAST) 0.5] (top - O - width)
|
g2 [mix left (right - width * HVCONTRAST) 0.5] (top - O - width)
|
||||||
archv 8 'no-tiny'
|
archv 8
|
||||||
flat left (top - sm - fix)
|
flat left (top - sm - fix)
|
||||||
corner left (top - sm - fix - 1)
|
corner left (top - sm - fix - 1)
|
||||||
corner (left - fine) (top - sm - 1)
|
corner (left - fine) (top - sm - 1)
|
||||||
curl (left - fine) (top - sm)
|
curl (left - fine) (top - sm)
|
||||||
arcvh 8 'no-tiny'
|
arcvh 8
|
||||||
g2 [mix (left - fine * HVCONTRAST) right 0.5] (top - O)
|
g2 [mix (left - fine * HVCONTRAST) right 0.5] (top - O)
|
||||||
archv 8 'no-tiny'
|
archv 8
|
||||||
flat right (top - sm)
|
flat right (top - sm)
|
||||||
corner right bottom
|
corner right bottom
|
||||||
close
|
close
|
||||||
|
|
|
@ -1358,6 +1358,52 @@ export : define [apply] : begin
|
||||||
include : RightwardTopSerif topSerifX top (SIDEJUT + HALFSTROKE * 0.5 * HVCONTRAST)
|
include : RightwardTopSerif topSerifX top (SIDEJUT + HALFSTROKE * 0.5 * HVCONTRAST)
|
||||||
include : RightwardBottomSerif bottomSerifX 0 SIDEJUT
|
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
|
sketch # K
|
||||||
set-width WIDTH
|
set-width WIDTH
|
||||||
include markset.capital
|
include markset.capital
|
||||||
|
@ -1384,7 +1430,18 @@ export : define [apply] : begin
|
||||||
include : CenterBottomSerif (SB + [KBalance para.straightBar] + HALFSTROKE * HVCONTRAST) 0 JUT
|
include : CenterBottomSerif (SB + [KBalance para.straightBar] + HALFSTROKE * HVCONTRAST) 0 JUT
|
||||||
tag-contour 'serifLB'
|
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
|
sketch # kappa
|
||||||
set-width WIDTH
|
set-width WIDTH
|
||||||
|
@ -1425,6 +1482,7 @@ export : define [apply] : begin
|
||||||
include : VerticalHook (SB + [KBalance para.straightBar] + HALFSTROKE * HVCONTRAST) (CAP - HOOK - HALFSTROKE) HOOKX (-HOOK)
|
include : VerticalHook (SB + [KBalance para.straightBar] + HALFSTROKE * HVCONTRAST) (CAP - HOOK - HALFSTROKE) HOOKX (-HOOK)
|
||||||
|
|
||||||
save 'khooktop' 0x199
|
save 'khooktop' 0x199
|
||||||
|
|
||||||
turned nothing 0xA7B0 'K' MIDDLE (CAP / 2)
|
turned nothing 0xA7B0 'K' MIDDLE (CAP / 2)
|
||||||
turned nothing 0x29E 'k' MIDDLE (XH / 2) markset.p
|
turned nothing 0x29E 'k' MIDDLE (XH / 2) markset.p
|
||||||
|
|
||||||
|
|
|
@ -43,8 +43,8 @@ function regulateGlyph(g, skew) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// De-overlap
|
// De-overlap
|
||||||
g.contours = [...cSimple, ...caryllShapeOps.removeOverlap(cFill, 1, 2048, true)];
|
// g.contours = [...cSimple, ...caryllShapeOps.removeOverlap(cFill, 1, 2048, true)];
|
||||||
// g.contours = [...cSimple, ...cFill];
|
g.contours = [...cSimple, ...cFill];
|
||||||
|
|
||||||
// Finalize
|
// Finalize
|
||||||
g.contours = c2q.contours(g.contours);
|
g.contours = c2q.contours(g.contours);
|
||||||
|
|
|
@ -112,8 +112,8 @@ export : define [SetupBuilders args] : begin
|
||||||
if [not cache.(samples)] : build samples
|
if [not cache.(samples)] : build samples
|
||||||
return cache.(samples).vh
|
return cache.(samples).vh
|
||||||
list hv vh
|
list hv vh
|
||||||
define [archv samples notiny k raf] : alsothruthem [jhv [fallback samples DEFAULT_STEPS]] raf
|
define [archv samples raf] : alsothruthem [jhv [fallback samples DEFAULT_STEPS]] raf
|
||||||
define [arcvh samples notiny k raf] : alsothruthem [jvh [fallback samples DEFAULT_STEPS]] raf
|
define [arcvh samples raf] : alsothruthem [jvh [fallback samples DEFAULT_STEPS]] raf
|
||||||
|
|
||||||
define [complexThru] : begin
|
define [complexThru] : begin
|
||||||
local a : {}.slice.call arguments
|
local a : {}.slice.call arguments
|
||||||
|
|
|
@ -259,7 +259,15 @@ permille = "rings"
|
||||||
basepoint = "rings"
|
basepoint = "rings"
|
||||||
tag = "cv63"
|
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]
|
[simple.v-i-tailed]
|
||||||
dotlessi = 'tailed'
|
dotlessi = 'tailed'
|
||||||
|
@ -285,20 +293,18 @@ f = 'narrow'
|
||||||
[simple.v-t-narrow]
|
[simple.v-t-narrow]
|
||||||
t = 'narrow'
|
t = 'narrow'
|
||||||
|
|
||||||
|
[simple.v-k-upright]
|
||||||
|
k = 'upright'
|
||||||
|
|
||||||
|
[simple.v-k-italic]
|
||||||
|
k = 'italic'
|
||||||
|
|
||||||
[simple.v-j-narrow]
|
[simple.v-j-narrow]
|
||||||
dotlessj = "narrow"
|
dotlessj = "narrow"
|
||||||
|
|
||||||
[simple.v-j-narrow-serifed]
|
[simple.v-j-narrow-serifed]
|
||||||
dotlessj = "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]
|
[simple.v-r-standard]
|
||||||
r = "standard"
|
r = "standard"
|
||||||
|
|
||||||
|
@ -343,7 +349,8 @@ upright = [
|
||||||
'v-l-serifed',
|
'v-l-serifed',
|
||||||
'v-g-doublestorey',
|
'v-g-doublestorey',
|
||||||
'v-y-straight',
|
'v-y-straight',
|
||||||
'v-f-straight'
|
'v-f-straight',
|
||||||
|
'v-k-upright'
|
||||||
]
|
]
|
||||||
italic = [
|
italic = [
|
||||||
'v-a-singlestorey',
|
'v-a-singlestorey',
|
||||||
|
@ -352,7 +359,8 @@ italic = [
|
||||||
'v-l-italic',
|
'v-l-italic',
|
||||||
'v-g-singlestorey',
|
'v-g-singlestorey',
|
||||||
'v-y-curly',
|
'v-y-curly',
|
||||||
'v-f-tailed'
|
'v-f-tailed',
|
||||||
|
'v-k-italic'
|
||||||
]
|
]
|
||||||
|
|
||||||
[composite.slab]
|
[composite.slab]
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue