parent
013ca72a71
commit
2abffb0e69
3 changed files with 37 additions and 24 deletions
|
@ -18,6 +18,13 @@ glyph-block Letter-Latin-Lower-AE-OE : begin
|
||||||
local shift : pShift * subDfFullShift
|
local shift : pShift * subDfFullShift
|
||||||
return { subDf shift }
|
return { subDf shift }
|
||||||
|
|
||||||
|
glyph-block-export SubDfAndShiftEx
|
||||||
|
define [SubDfAndShiftEx p q pShift df _o] : begin
|
||||||
|
local subDf : df.slice p q _o
|
||||||
|
local subDfFullShift : df.rightSB - subDf.rightSB
|
||||||
|
local shift : pShift * subDfFullShift
|
||||||
|
return { subDf shift }
|
||||||
|
|
||||||
do "a subglyphs"
|
do "a subglyphs"
|
||||||
define [AAShape body hookStyle pShift df o] : begin
|
define [AAShape body hookStyle pShift df o] : begin
|
||||||
local { subDf shift } : SubDfAndShift pShift df o
|
local { subDf shift } : SubDfAndShift pShift df o
|
||||||
|
@ -247,9 +254,12 @@ glyph-block Letter-Latin-Lower-AE-OE : begin
|
||||||
[Just XSerifs.BilateralMotion] : composite-proc sf.rb.outer
|
[Just XSerifs.BilateralMotion] : composite-proc sf.rb.outer
|
||||||
__ : glyph-proc
|
__ : glyph-proc
|
||||||
|
|
||||||
define [letterShape df top bot turn tension] : glyph-proc
|
define [LhaRightLetterShape df top bot turn tension] : glyph-proc
|
||||||
local stroke1f : if (stroke1 == 3) 4 stroke1
|
local stroke1f : if (stroke1 == 3) 4 stroke1
|
||||||
local lf : XLetterForm df top bot stroke1f stroke2 turn tension
|
local lf : XLetterForm df top bot stroke1f stroke2 turn tension
|
||||||
|
sw -- df.mvs
|
||||||
|
swCursiveEnd -- [AdviceStroke 3 df.div]
|
||||||
|
swCursiveMid -- df.mvs
|
||||||
include : WithSerifOverflowMask fMaskBase top bot df.leftSB df.rightSB : lf.base fMaskBase
|
include : WithSerifOverflowMask fMaskBase top bot df.leftSB df.rightSB : lf.base fMaskBase
|
||||||
if serifShape : begin
|
if serifShape : begin
|
||||||
local sf : SerifFrame.fromDf df top bot
|
local sf : SerifFrame.fromDf df top bot
|
||||||
|
@ -265,20 +275,20 @@ glyph-block Letter-Latin-Lower-AE-OE : begin
|
||||||
include : halfLetterShape df XH 0 0.1 0.20
|
include : halfLetterShape df XH 0 0.1 0.20
|
||||||
|
|
||||||
create-glyph "cyrl/lha/right.\(suffix)" : glyph-proc
|
create-glyph "cyrl/lha/right.\(suffix)" : glyph-proc
|
||||||
local df : DivFrame para.diversityM 3
|
local df : DivFrame para.diversityM 3.5
|
||||||
set-width 0
|
set-width 0
|
||||||
set-mark-anchor 'cvDecompose' 0 0
|
set-mark-anchor 'cvDecompose' 0 0
|
||||||
|
|
||||||
local { subDf shift } : SubDfAndShift 1 df
|
local { subDf shift } : SubDfAndShiftEx 6 4 1 df
|
||||||
include : with-transform [ApparentTranslate shift 0] : letterShape subDf XH 0 0.1 0.20
|
include : with-transform [ApparentTranslate shift 0] : LhaRightLetterShape subDf XH 0 0.1 0.20
|
||||||
|
|
||||||
create-glyph "cyrl/Lha/right.\(suffix)" : glyph-proc
|
create-glyph "cyrl/Lha/right.\(suffix)" : glyph-proc
|
||||||
local df : DivFrame para.diversityM 3
|
local df : DivFrame para.diversityM 3.5
|
||||||
set-width 0
|
set-width 0
|
||||||
set-mark-anchor 'cvDecompose' 0 0
|
set-mark-anchor 'cvDecompose' 0 0
|
||||||
|
|
||||||
local { subDf shift } : SubDfAndShift 1 df
|
local { subDf shift } : SubDfAndShiftEx 6 4 1 df
|
||||||
include : with-transform [ApparentTranslate shift 0] : letterShape subDf CAP 0 0.1 0.28
|
include : with-transform [ApparentTranslate shift 0] : LhaRightLetterShape subDf CAP 0 0.1 0.28
|
||||||
|
|
||||||
do "other subglyphs"
|
do "other subglyphs"
|
||||||
# Te
|
# Te
|
||||||
|
@ -314,16 +324,16 @@ glyph-block Letter-Latin-Lower-AE-OE : begin
|
||||||
# El
|
# El
|
||||||
glyph-block-import Letter-Cyrillic-El : CyrElShape
|
glyph-block-import Letter-Cyrillic-El : CyrElShape
|
||||||
create-glyph 'cyrl/Lha/left' : glyph-proc
|
create-glyph 'cyrl/Lha/left' : glyph-proc
|
||||||
local df : include : DivFrame para.diversityM 3
|
local df : include : DivFrame para.diversityM 3.5
|
||||||
include : df.markSet.capital
|
include : df.markSet.capital
|
||||||
local { subDf } : SubDfAndShift 0 df
|
local { subDf } : SubDfAndShiftEx 6 3 0 df
|
||||||
set-base-anchor 'cvDecompose' 0 0
|
set-base-anchor 'cvDecompose' 0 0
|
||||||
include : CyrElShape subDf.leftSB (subDf.rightSB - [HSwToV : 0.5 * df.mvs]) CAP 0 [if SLAB 4 0] df.mvs
|
include : CyrElShape subDf.leftSB (subDf.rightSB - [HSwToV : 0.5 * df.mvs]) CAP 0 [if SLAB 4 0] df.mvs
|
||||||
|
|
||||||
create-glyph 'cyrl/lha/left' : glyph-proc
|
create-glyph 'cyrl/lha/left' : glyph-proc
|
||||||
local df : include : DivFrame para.diversityM 3
|
local df : include : DivFrame para.diversityM 3.5
|
||||||
include : df.markSet.e
|
include : df.markSet.e
|
||||||
local { subDf } : SubDfAndShift 0 df
|
local { subDf } : SubDfAndShiftEx 6 3 0 df
|
||||||
set-base-anchor 'cvDecompose' 0 0
|
set-base-anchor 'cvDecompose' 0 0
|
||||||
include : CyrElShape subDf.leftSB (subDf.rightSB - [HSwToV : 0.5 * df.mvs]) XH 0 [if SLAB 4 0] df.mvs
|
include : CyrElShape subDf.leftSB (subDf.rightSB - [HSwToV : 0.5 * df.mvs]) XH 0 [if SLAB 4 0] df.mvs
|
||||||
|
|
||||||
|
|
|
@ -34,7 +34,7 @@ glyph-block Letter-Latin-X : begin
|
||||||
local straightxleft : mix leftx rightx pStraight
|
local straightxleft : mix leftx rightx pStraight
|
||||||
local straightyleft : mix cyleft righty pStraight
|
local straightyleft : mix cyleft righty pStraight
|
||||||
include : dispiro
|
include : dispiro
|
||||||
widths.center
|
widths.center sw
|
||||||
flat leftx lefty [heading [if (lefty < righty) Upward Downward]]
|
flat leftx lefty [heading [if (lefty < righty) Upward Downward]]
|
||||||
curl leftx turnyleft [heading [if (lefty < righty) Upward Downward]]
|
curl leftx turnyleft [heading [if (lefty < righty) Upward Downward]]
|
||||||
quadControls 0 ((cyleft - turnyleft) / (straightyleft - turnyleft)) 24
|
quadControls 0 ((cyleft - turnyleft) / (straightyleft - turnyleft)) 24
|
||||||
|
@ -75,8 +75,8 @@ glyph-block Letter-Latin-X : begin
|
||||||
|
|
||||||
glyph-block-export XCursiveHalfShape
|
glyph-block-export XCursiveHalfShape
|
||||||
define [XCursiveHalfShape] : with-params [
|
define [XCursiveHalfShape] : with-params [
|
||||||
top bottom left right
|
top bottom left right
|
||||||
[sw Stroke] [swEnd : AdviceStroke 2.75] [swMid : AdviceStroke 3]
|
[sw Stroke] [swEnd : AdviceStroke 2.75] [swMid : AdviceStroke 3]
|
||||||
[kThin 0.55] [setMark false] [flatTail false]
|
[kThin 0.55] [setMark false] [flatTail false]
|
||||||
] : glyph-proc
|
] : glyph-proc
|
||||||
local ada : ArchDepthAOf (ArchDepth * 0.8) (Width / 2)
|
local ada : ArchDepthAOf (ArchDepth * 0.8) (Width / 2)
|
||||||
|
@ -85,7 +85,7 @@ glyph-block Letter-Latin-X : begin
|
||||||
|
|
||||||
define xCenterRight : left + [HSwToV swMid] / 2
|
define xCenterRight : left + [HSwToV swMid] / 2
|
||||||
define xTurn : mix (right - [HSwToV swEnd]) xCenterRight 0.5
|
define xTurn : mix (right - [HSwToV swEnd]) xCenterRight 0.5
|
||||||
define hook1Depth : Hook + sw * 0.125
|
define hook1Depth : Math.max (sw * 2) (div * (Hook + sw * 0.125))
|
||||||
define hook1StraightDepth : Math.min
|
define hook1StraightDepth : Math.min
|
||||||
hook1Depth - swEnd * 1.125
|
hook1Depth - swEnd * 1.125
|
||||||
Math.max 1 : hook1Depth / 5 - swEnd / 4
|
Math.max 1 : hook1Depth / 5 - swEnd / 4
|
||||||
|
@ -108,7 +108,7 @@ glyph-block Letter-Latin-X : begin
|
||||||
flat (xCenterRight - [HSwToV fineMid]) ([mix bottom top 0.5] - O) [widths.lhs fineMid]
|
flat (xCenterRight - [HSwToV fineMid]) ([mix bottom top 0.5] - O) [widths.lhs fineMid]
|
||||||
curl (xCenterRight - [HSwToV fineMid]) (bottom + [Math.min adb (swMid + rIn)])
|
curl (xCenterRight - [HSwToV fineMid]) (bottom + [Math.min adb (swMid + rIn)])
|
||||||
arcvh
|
arcvh
|
||||||
flat (xCenterRight + div * rIn + 0.25 * TanSlope * rIn) bottom [widths.lhs.heading sw Rightward]
|
flat (xCenterRight + div * (0.5 * swMid + rIn) + 0.25 * TanSlope * (0.5 * swMid + rIn)) bottom [widths.lhs.heading sw Rightward]
|
||||||
curl right bottom
|
curl right bottom
|
||||||
dispiro
|
dispiro
|
||||||
flat (xCenterRight - [HSwToV : 0.5 * fineMid]) ([mix bottom top 0.5] - O) [widths.center fineMid]
|
flat (xCenterRight - [HSwToV : 0.5 * fineMid]) ([mix bottom top 0.5] - O) [widths.center fineMid]
|
||||||
|
@ -132,7 +132,10 @@ glyph-block Letter-Latin-X : begin
|
||||||
stroke1 stroke2
|
stroke1 stroke2
|
||||||
turn tension
|
turn tension
|
||||||
[sw df.mvs]
|
[sw df.mvs]
|
||||||
|
[swCursiveEnd : (sw / Stroke) * [AdviceStroke 2.75]]
|
||||||
|
[swCursiveMid : (sw / Stroke) * [AdviceStroke 3]]
|
||||||
] : namespace
|
] : namespace
|
||||||
|
local sw df.mvs
|
||||||
export : define [base fSlab] : union
|
export : define [base fSlab] : union
|
||||||
match stroke1
|
match stroke1
|
||||||
[Just STROKE-STRAIGHT] : XStrand true fSlab df.leftSB bot df.rightSB top turn 0.4 tension sw
|
[Just STROKE-STRAIGHT] : XStrand true fSlab df.leftSB bot df.rightSB top turn 0.4 tension sw
|
||||||
|
@ -141,8 +144,8 @@ glyph-block Letter-Latin-X : begin
|
||||||
([Just STROKE-CURSIVE] || [Just STROKE-CURSIVE-FLAT]) : composite-proc
|
([Just STROKE-CURSIVE] || [Just STROKE-CURSIVE-FLAT]) : composite-proc
|
||||||
XCursiveHalfShape top bot df.middle df.rightSB
|
XCursiveHalfShape top bot df.middle df.rightSB
|
||||||
sw -- sw
|
sw -- sw
|
||||||
swEnd -- (sw / Stroke) * [AdviceStroke 2.75]
|
swEnd -- swCursiveEnd
|
||||||
swMid -- (sw / Stroke) * [AdviceStroke 3]
|
swMid -- swCursiveMid
|
||||||
flatTail -- (stroke1 === STROKE-CURSIVE-FLAT)
|
flatTail -- (stroke1 === STROKE-CURSIVE-FLAT)
|
||||||
FlipAround df.middle [mix bot top 0.5]
|
FlipAround df.middle [mix bot top 0.5]
|
||||||
__ : glyph-proc
|
__ : glyph-proc
|
||||||
|
@ -152,8 +155,8 @@ glyph-block Letter-Latin-X : begin
|
||||||
[Just STROKE-CHANCERY] : XChanceryStrand (+1) df.leftSB top df.rightSB bot false sw
|
[Just STROKE-CHANCERY] : XChanceryStrand (+1) df.leftSB top df.rightSB bot false sw
|
||||||
[Just STROKE-CURSIVE] : XCursiveHalfShape top bot df.middle df.rightSB
|
[Just STROKE-CURSIVE] : XCursiveHalfShape top bot df.middle df.rightSB
|
||||||
sw -- sw
|
sw -- sw
|
||||||
swEnd -- (sw / Stroke) * [AdviceStroke 2.75]
|
swEnd -- swCursiveEnd
|
||||||
swMid -- (sw / Stroke) * [AdviceStroke 3]
|
swMid -- swCursiveMid
|
||||||
setMark -- true
|
setMark -- true
|
||||||
__ : glyph-proc
|
__ : glyph-proc
|
||||||
|
|
||||||
|
@ -172,8 +175,8 @@ glyph-block Letter-Latin-X : begin
|
||||||
[Just STROKE-CHANCERY] : XChanceryStrand (+1) df.leftSB top df.rightSB bot true sw
|
[Just STROKE-CHANCERY] : XChanceryStrand (+1) df.leftSB top df.rightSB bot true sw
|
||||||
[Just STROKE-CURSIVE] : XCursiveHalfShape top bot df.middle df.rightSB
|
[Just STROKE-CURSIVE] : XCursiveHalfShape top bot df.middle df.rightSB
|
||||||
sw -- sw
|
sw -- sw
|
||||||
swEnd -- (sw / Stroke) * [AdviceStroke 2.75]
|
swEnd -- swCursiveEnd
|
||||||
swMid -- (sw / Stroke) * [AdviceStroke 3]
|
swMid -- swCursiveMid
|
||||||
setMark -- true
|
setMark -- true
|
||||||
__ : glyph-proc
|
__ : glyph-proc
|
||||||
|
|
||||||
|
@ -200,7 +203,7 @@ glyph-block Letter-Latin-X : begin
|
||||||
|
|
||||||
foreach { suffix {stroke1 stroke2 serifShape fMaskBase} } [Object.entries XConfig] : do
|
foreach { suffix {stroke1 stroke2 serifShape fMaskBase} } [Object.entries XConfig] : do
|
||||||
define [letterShape top bot turn tension] : glyph-proc
|
define [letterShape top bot turn tension] : glyph-proc
|
||||||
local df : DivFrame 1
|
local df : DivFrame 1 2
|
||||||
local lf : XLetterForm df top bot stroke1 stroke2 turn tension
|
local lf : XLetterForm df top bot stroke1 stroke2 turn tension
|
||||||
include : WithSerifOverflowMask fMaskBase top bot df.leftSB df.rightSB : lf.base fMaskBase
|
include : WithSerifOverflowMask fMaskBase top bot df.leftSB df.rightSB : lf.base fMaskBase
|
||||||
if serifShape : begin
|
if serifShape : begin
|
||||||
|
|
|
@ -788,7 +788,7 @@ glyph-block Letter-Shared-Shapes : begin
|
||||||
widths.lhs fine
|
widths.lhs fine
|
||||||
flat ztop.x ztop.y [heading Downward]
|
flat ztop.x ztop.y [heading Downward]
|
||||||
curl xb [mix (zbot.y + LongJut) ztop.y 0.25]
|
curl xb [mix (zbot.y + LongJut) ztop.y 0.25]
|
||||||
alsoThruThem {{0.5 0.94}}
|
alsoThruThem {{0.2 0.76} {0.3 0.85} {0.5 0.94}}
|
||||||
straight.left.end zbot.x (zbot.y + fine) [heading Leftward]
|
straight.left.end zbot.x (zbot.y + fine) [heading Leftward]
|
||||||
|
|
||||||
glyph-block-export UpwardHookShape
|
glyph-block-export UpwardHookShape
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue