Refinements
This commit is contained in:
parent
e806120dcb
commit
fadc3603b3
9 changed files with 49 additions and 45 deletions
|
@ -258,8 +258,9 @@ glyph-block Letter-Latin-Lower-AE-OE : begin
|
||||||
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
|
sw -- df.mvs
|
||||||
swCursiveEnd -- [AdviceStroke 3 df.div]
|
swCursiveEnd -- [AdviceStroke 3 df.div]
|
||||||
swCursiveMid -- df.mvs
|
swCursiveCoEnd -- df.mvs
|
||||||
|
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
|
||||||
|
|
|
@ -322,7 +322,7 @@ glyph-block Letter-Latin-K : begin
|
||||||
dispiro
|
dispiro
|
||||||
flat xDTStart dim.arcTerminalY [widths.center swDiagTailAdj]
|
flat xDTStart dim.arcTerminalY [widths.center swDiagTailAdj]
|
||||||
curl (xDTEnd + 0.125 * dtInnerRadius) (0.9 * swDiagTail + 0.5 * dtInnerRadius)
|
curl (xDTEnd + 0.125 * dtInnerRadius) (0.9 * swDiagTail + 0.5 * dtInnerRadius)
|
||||||
DiagonalTailF 1 [DivFrame 1] xDTEnd 0 dtInnerRadius tailAngle (Hook + swDiagTail / 4) swDiagTail
|
DiagonalTailF 1 xDTEnd 0 dtInnerRadius tailAngle (Hook + swDiagTail / 4) swDiagTail
|
||||||
CursiveLoopT spiro-outline (-O) left right stroke top slabLT slabLegs
|
CursiveLoopT spiro-outline (-O) left right stroke top slabLT slabLegs
|
||||||
|
|
||||||
define [KHookTopBar slabLegs straightBar] : TopHook.lBarInner
|
define [KHookTopBar slabLegs straightBar] : TopHook.lBarInner
|
||||||
|
|
|
@ -52,7 +52,7 @@ glyph-block Letter-Latin-Lower-F : begin
|
||||||
local xBarMiddle : barLeft + [HSwToV HalfStroke]
|
local xBarMiddle : barLeft + [HSwToV HalfStroke]
|
||||||
return : dispiro
|
return : dispiro
|
||||||
flat xBarMiddle 0.1 [widths.center.heading Stroke Downward]
|
flat xBarMiddle 0.1 [widths.center.heading Stroke Downward]
|
||||||
DiagonalTailL df xBarMiddle Descender [DiagonalTailStdDepth df Stroke] Stroke
|
DiagonalTailL xBarMiddle Descender [DiagonalTailStdDepth df Stroke] Stroke
|
||||||
|
|
||||||
glyph-block-export StdSmallFBarLeftPos
|
glyph-block-export StdSmallFBarLeftPos
|
||||||
define [StdSmallFBarLeftPos barAtCenter] : [mix SB RightSB : if barAtCenter 0.45 0.35] - Stroke * [if barAtCenter 0.45 0.25] * HVContrast
|
define [StdSmallFBarLeftPos barAtCenter] : [mix SB RightSB : if barAtCenter 0.45 0.35] - Stroke * [if barAtCenter 0.45 0.25] * HVContrast
|
||||||
|
|
|
@ -133,7 +133,7 @@ glyph-block Letter-Latin-Lower-I : begin
|
||||||
include : dispiro
|
include : dispiro
|
||||||
widths.center df.mvs
|
widths.center df.mvs
|
||||||
flat xMiddle top [heading Downward]
|
flat xMiddle top [heading Downward]
|
||||||
DiagonalTailR df xMiddle 0 [DiagonalTailStdDepth df df.mvs] df.mvs
|
DiagonalTailR xMiddle 0 [DiagonalTailStdDepth df df.mvs] df.mvs
|
||||||
|
|
||||||
export : define [PhoneticLeft df top xMiddle] : glyph-proc
|
export : define [PhoneticLeft df top xMiddle] : glyph-proc
|
||||||
include : dispiro
|
include : dispiro
|
||||||
|
|
|
@ -71,7 +71,7 @@ glyph-block Letter-Latin-Lower-J : begin
|
||||||
include : dispiro
|
include : dispiro
|
||||||
widths.center
|
widths.center
|
||||||
flat xMiddle top [heading Downward]
|
flat xMiddle top [heading Downward]
|
||||||
DiagonalTailL df xMiddle Descender [DiagonalTailStdDepth dfHook Stroke] Stroke
|
DiagonalTailL xMiddle Descender [DiagonalTailStdDepth dfHook Stroke] Stroke
|
||||||
set-base-anchor "trailing" (xMiddle - [HSwToV HalfStroke]) Descender
|
set-base-anchor "trailing" (xMiddle - [HSwToV HalfStroke]) Descender
|
||||||
|
|
||||||
define Serifs : namespace
|
define Serifs : namespace
|
||||||
|
|
|
@ -22,7 +22,7 @@ glyph-block Letter-Latin-Lower-Q : begin
|
||||||
local xMid : x0 - [HSwToV HalfStroke]
|
local xMid : x0 - [HSwToV HalfStroke]
|
||||||
return : dispiro
|
return : dispiro
|
||||||
flat xMid yt [widths.center.heading Stroke Downward]
|
flat xMid yt [widths.center.heading Stroke Downward]
|
||||||
DiagonalTailR df xMid yb (0.875 * Hook - Stroke * 0.375) Stroke
|
DiagonalTailR xMid yb (0.875 * Hook - Stroke * 0.375) Stroke
|
||||||
|
|
||||||
define [EaredBody terminal top bottom] : glyph-proc
|
define [EaredBody terminal top bottom] : glyph-proc
|
||||||
set-base-anchor 'trailing' (RightSB - markHalfStroke) Descender
|
set-base-anchor 'trailing' (RightSB - markHalfStroke) Descender
|
||||||
|
|
|
@ -85,7 +85,7 @@ glyph-block Letter-Latin-Lower-T : begin
|
||||||
local hookDepth : [if (sym === SYM-LEFT) 1.375 1] * [DiagonalTailStdDepth [DivFrame : Math.sqrt df.div] sw] - [HSwToV HalfStroke]
|
local hookDepth : [if (sym === SYM-LEFT) 1.375 1] * [DiagonalTailStdDepth [DivFrame : Math.sqrt df.div] sw] - [HSwToV HalfStroke]
|
||||||
return : dispiro
|
return : dispiro
|
||||||
flat xMid top [widths.center.heading sw Downward]
|
flat xMid top [widths.center.heading sw Downward]
|
||||||
DiagonalTailR df xMid bot hookDepth sw
|
DiagonalTailR xMid bot hookDepth sw
|
||||||
|
|
||||||
###########################################################################################
|
###########################################################################################
|
||||||
|
|
||||||
|
|
|
@ -76,45 +76,46 @@ 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]
|
[swMid : AdviceStroke 2.75]
|
||||||
[kThin 0.55] [setMark false] [flatTail false]
|
[swEnd : AdviceStroke 3]
|
||||||
|
[swCoEnd : AdviceStroke 2]
|
||||||
|
[setMark false] [flatTail false]
|
||||||
] : glyph-proc
|
] : glyph-proc
|
||||||
local ada : ArchDepthAOf (ArchDepth * 0.8) (Width / 2)
|
local ada : ArchDepthAOf (ArchDepth * 0.8) (Width / 2)
|
||||||
local adb : ArchDepthBOf (ArchDepth * 0.8) (Width / 2)
|
local adb : ArchDepthBOf (ArchDepth * 0.8) (Width / 2)
|
||||||
local div : (right - left) / (RightSB - Middle)
|
local div : (right - left) / (RightSB - Middle)
|
||||||
|
local divHook : Math.min div 1
|
||||||
|
|
||||||
define xCenterRight : left + [HSwToV swMid] / 2
|
local fineMid : 0.55 * swMid
|
||||||
define xTurn : mix (right - [HSwToV swEnd]) xCenterRight 0.5
|
local xMidBarRightEdge : left + [HSwToV swMid] / 2
|
||||||
define hook1Depth : Math.max (sw * 2) (div * (Hook + sw * 0.125))
|
local xUpperTurn : mix (right - [HSwToV swEnd]) xMidBarRightEdge 0.5
|
||||||
define hook1StraightDepth : Math.min
|
local upperHookDepth : Math.max (swEnd * 2) ([Math.sqrt divHook] * (Hook + swEnd * 0.125))
|
||||||
hook1Depth - swEnd * 1.125
|
local upperHookStraightDepth : Math.min
|
||||||
Math.max 1 : hook1Depth / 5 - swEnd / 4
|
upperHookDepth - swEnd * 1.125
|
||||||
|
Math.max 1 : upperHookDepth / 5 - swEnd / 4
|
||||||
define fineMid : swMid * kThin
|
local upperHalf : include : dispiro
|
||||||
define rIn : Math.max (0.4 * (right - left) - [HSwToV : 0.7 * sw]) [AdviceStroke 16]
|
flat (xMidBarRightEdge - [HSwToV fineMid]) ([mix bottom top 0.5] + O) [widths.rhs.heading fineMid Upward]
|
||||||
define flatHookDepth : 1.4 * (right - left) - swEnd - 1.5 * rIn
|
curl (xMidBarRightEdge - [HSwToV fineMid]) (top - ada)
|
||||||
|
|
||||||
define upperHalf : include : dispiro
|
|
||||||
flat (xCenterRight - [HSwToV fineMid]) ([mix bottom top 0.5] + O) [widths.rhs.heading fineMid Upward]
|
|
||||||
curl (xCenterRight - [HSwToV fineMid]) (top - ada)
|
|
||||||
arcvh
|
arcvh
|
||||||
ShoulderMidKnotRhs xTurn (top - O) fineMid swEnd (+1) (-1)
|
ShoulderMidKnotRhs xUpperTurn (top - O) fineMid swEnd (+1) (-1)
|
||||||
archv
|
archv
|
||||||
flat (right - OX) (top - hook1Depth + hook1StraightDepth) [heading Downward]
|
flat (right - OX) (top - upperHookDepth + upperHookStraightDepth) [heading Downward]
|
||||||
curl (right - OX) (top - hook1Depth) [heading Downward]
|
curl (right - OX) (top - upperHookDepth) [heading Downward]
|
||||||
|
|
||||||
define lowerHalf : include : if flatTail
|
local rIn : Math.max [AdviceStroke 16] (0.4 * (right - left) - [HSwToV : 0.5 * swMid])
|
||||||
|
local flatHookDepth : 1.3 * (right - left) - (0.5 - TanSlope) * swEnd - 1.5 * (rIn + 0.5 * swMid)
|
||||||
|
local lowerHalf : include : if flatTail
|
||||||
dispiro
|
dispiro
|
||||||
flat (xCenterRight - [HSwToV fineMid]) ([mix bottom top 0.5] - O) [widths.lhs fineMid]
|
flat (xMidBarRightEdge - [HSwToV fineMid]) ([mix bottom top 0.5] - O) [widths.lhs fineMid]
|
||||||
curl (xCenterRight - [HSwToV fineMid]) (bottom + [Math.min adb (swMid + rIn)])
|
curl (xMidBarRightEdge - [HSwToV fineMid]) (bottom + [Math.min adb (swMid + rIn)])
|
||||||
arcvh
|
arcvh
|
||||||
flat (xCenterRight + div * (0.5 * swMid + rIn) + 0.25 * TanSlope * (0.5 * swMid + rIn)) bottom [widths.lhs.heading sw Rightward]
|
flat (xMidBarRightEdge + div * (0.5 * swMid + rIn) + 0.25 * TanSlope * (0.5 * swMid + rIn)) bottom [widths.lhs.heading swCoEnd 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 (xMidBarRightEdge - [HSwToV : 0.5 * fineMid]) ([mix bottom top 0.5] - O) [widths.center fineMid]
|
||||||
curl (xCenterRight - [HSwToV : 0.5 * fineMid]) (bottom + [Math.min adb (swMid + rIn)])
|
curl (xMidBarRightEdge - [HSwToV : 0.5 * fineMid]) (bottom + [Math.min adb (swMid + rIn)])
|
||||||
arcvh 16
|
arcvh 16
|
||||||
DiagonalTailF 1 [DivFrame div] (xCenterRight - [HSwToV : 0.5 * sw] + TanSlope * rIn) bottom rIn 50 flatHookDepth sw
|
DiagonalTailF 1 (xMidBarRightEdge - [HSwToV : 0.5 * swCoEnd] + TanSlope * rIn) bottom rIn 50 flatHookDepth swCoEnd
|
||||||
|
|
||||||
if setMark : begin
|
if setMark : begin
|
||||||
define lowerHalfLastKnot lowerHalf.rhsKnots.(lowerHalf.rhsKnots.length - 1)
|
define lowerHalfLastKnot lowerHalf.rhsKnots.(lowerHalf.rhsKnots.length - 1)
|
||||||
|
@ -132,8 +133,9 @@ 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 2.75]]
|
||||||
[swCursiveMid : (sw / Stroke) * [AdviceStroke 3]]
|
[swCursiveEnd : (sw / Stroke) * [AdviceStroke 3]]
|
||||||
|
[swCursiveCoEnd : (sw / Stroke) * [AdviceStroke 2]]
|
||||||
] : namespace
|
] : namespace
|
||||||
local sw df.mvs
|
local sw df.mvs
|
||||||
export : define [base fSlab] : union
|
export : define [base fSlab] : union
|
||||||
|
@ -143,7 +145,7 @@ glyph-block Letter-Latin-X : begin
|
||||||
[Just STROKE-CHANCERY] : XChanceryStrand (-1) df.leftSB bot df.rightSB top false sw
|
[Just STROKE-CHANCERY] : XChanceryStrand (-1) df.leftSB bot df.rightSB top false sw
|
||||||
([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
|
swCoEnd -- swCursiveCoEnd
|
||||||
swEnd -- swCursiveEnd
|
swEnd -- swCursiveEnd
|
||||||
swMid -- swCursiveMid
|
swMid -- swCursiveMid
|
||||||
flatTail -- (stroke1 === STROKE-CURSIVE-FLAT)
|
flatTail -- (stroke1 === STROKE-CURSIVE-FLAT)
|
||||||
|
@ -154,7 +156,7 @@ glyph-block Letter-Latin-X : begin
|
||||||
[Just STROKE-CURLY] : XStrand false fSlab df.leftSB top df.rightSB bot turn 0.4 tension sw
|
[Just STROKE-CURLY] : XStrand false fSlab df.leftSB top df.rightSB bot turn 0.4 tension sw
|
||||||
[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
|
swCoEnd -- swCursiveCoEnd
|
||||||
swEnd -- swCursiveEnd
|
swEnd -- swCursiveEnd
|
||||||
swMid -- swCursiveMid
|
swMid -- swCursiveMid
|
||||||
setMark -- true
|
setMark -- true
|
||||||
|
@ -174,7 +176,7 @@ glyph-block Letter-Latin-X : begin
|
||||||
[Just STROKE-CURLY] : HalfXStrand false fSlab df.rightSB bot df.middle midy turn 0.4 tension sw
|
[Just STROKE-CURLY] : HalfXStrand false fSlab df.rightSB bot df.middle midy turn 0.4 tension sw
|
||||||
[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
|
swCoEnd -- swCursiveCoEnd
|
||||||
swEnd -- swCursiveEnd
|
swEnd -- swCursiveEnd
|
||||||
swMid -- swCursiveMid
|
swMid -- swCursiveMid
|
||||||
setMark -- true
|
setMark -- true
|
||||||
|
|
|
@ -613,7 +613,7 @@ glyph-block Letter-Shared-Shapes : begin
|
||||||
define [DiagonalTailInnerRadius] : Math.max (XH / 32) (0.5 * [AdviceStroke2 24 32 XH])
|
define [DiagonalTailInnerRadius] : Math.max (XH / 32) (0.5 * [AdviceStroke2 24 32 XH])
|
||||||
|
|
||||||
glyph-block-export DiagonalTailF
|
glyph-block-export DiagonalTailF
|
||||||
define [DiagonalTailF sign df cx cy rIn angle depth sw] : begin
|
define [DiagonalTailF sign cx cy rIn angle depth sw] : begin
|
||||||
define tailAngle : angle / 180 * Math.PI
|
define tailAngle : angle / 180 * Math.PI
|
||||||
define sinAngle : Math.sin tailAngle
|
define sinAngle : Math.sin tailAngle
|
||||||
define cosAngle : Math.cos tailAngle
|
define cosAngle : Math.cos tailAngle
|
||||||
|
@ -623,7 +623,7 @@ glyph-block Letter-Shared-Shapes : begin
|
||||||
define fine : mocFine / [mix 1 HVContrast 0.375]
|
define fine : mocFine / [mix 1 HVContrast 0.375]
|
||||||
define swMid : mix sw fine 0.7
|
define swMid : mix sw fine 0.7
|
||||||
|
|
||||||
define dxTurn : [HSwToV : 0.5 * sw] + rIn * df.div
|
define dxTurn : [HSwToV : 0.5 * sw] + rIn
|
||||||
define dxTurnObl : 0.75 * TanSlope * rIn
|
define dxTurnObl : 0.75 * TanSlope * rIn
|
||||||
define dyTurn : 0.5 * mocSwMid
|
define dyTurn : 0.5 * mocSwMid
|
||||||
define dxTailStart : dxTurn + sinAngle * (rIn + 0.5 * mocFine * [mix 1 HVContrast sinAngle])
|
define dxTailStart : dxTurn + sinAngle * (rIn + 0.5 * mocFine * [mix 1 HVContrast sinAngle])
|
||||||
|
@ -648,26 +648,27 @@ glyph-block Letter-Shared-Shapes : begin
|
||||||
# widths.center : mix swMid fine (1 / 2)
|
# widths.center : mix swMid fine (1 / 2)
|
||||||
flat (cx + sign * dxTailStart) (cy + O + dyTailStart) [widths.center fine]
|
flat (cx + sign * dxTailStart) (cy + O + dyTailStart) [widths.center fine]
|
||||||
curl (cx + sign * dxTailStart + sign * dxDepth) (cy + O + dyTailStart + dyDepth)
|
curl (cx + sign * dxTailStart + sign * dxDepth) (cy + O + dyTailStart + dyDepth)
|
||||||
|
|
||||||
define [DiagonalTailFArc2K tailAngle t] : list
|
define [DiagonalTailFArc2K tailAngle t] : list
|
||||||
[Math.sin (t * tailAngle)] / [Math.sin tailAngle]
|
[Math.sin (t * tailAngle)] / [Math.sin tailAngle]
|
||||||
(1 - [Math.cos (t * tailAngle)]) / (1 - [Math.cos tailAngle])
|
(1 - [Math.cos (t * tailAngle)]) / (1 - [Math.cos tailAngle])
|
||||||
begin t
|
begin t
|
||||||
|
|
||||||
glyph-block-export DiagonalTailR
|
glyph-block-export DiagonalTailR
|
||||||
define [DiagonalTailR df cx cy depth sw] : begin
|
define [DiagonalTailR cx cy depth sw] : begin
|
||||||
define rInY : DiagonalTailInnerRadius
|
define rInY : DiagonalTailInnerRadius
|
||||||
return : list
|
return : list
|
||||||
curl cx (cy + sw + rInY)
|
curl cx (cy + sw + rInY)
|
||||||
arcvh 8
|
arcvh 8
|
||||||
DiagonalTailF (+1) df cx cy rInY DiagTailDefaultAngle depth sw
|
DiagonalTailF (+1) cx cy rInY DiagTailDefaultAngle depth sw
|
||||||
|
|
||||||
glyph-block-export DiagonalTailL
|
glyph-block-export DiagonalTailL
|
||||||
define [DiagonalTailL df cx cy depth sw] : begin
|
define [DiagonalTailL cx cy depth sw] : begin
|
||||||
define rInY : DiagonalTailInnerRadius
|
define rInY : DiagonalTailInnerRadius
|
||||||
return : list
|
return : list
|
||||||
curl cx (cy + sw + rInY)
|
curl cx (cy + sw + rInY)
|
||||||
arcvh 8
|
arcvh 8
|
||||||
DiagonalTailF (-1) df cx cy rInY DiagTailDefaultAngle depth sw
|
DiagonalTailF (-1) cx cy rInY DiagTailDefaultAngle depth sw
|
||||||
|
|
||||||
define [JutIn left right jut swRef hSplit] : begin
|
define [JutIn left right jut swRef hSplit] : begin
|
||||||
local ink : HSwToV swRef
|
local ink : HSwToV swRef
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue