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]
|
||||
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
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue