74 lines
2.6 KiB
Text
74 lines
2.6 KiB
Text
$$include '../../../meta/macros.ptl'
|
|
|
|
import [mix barmixL linreg clamp fallback] from '../../../support/utils'
|
|
import [DesignParameters] from '../../../meta/aesthetics'
|
|
|
|
glyph-module
|
|
|
|
glyph-block Letter-Greek-Lower-Delta : begin
|
|
glyph-block-import CommonShapes
|
|
glyph-block-import Common-Derivatives
|
|
|
|
create-glyph 'grek/delta.rounded' : glyph-proc
|
|
include : MarkSet.b
|
|
|
|
local yRingTop : Stroke * 0.25 + [mix 0 XH (7 / 8)]
|
|
local xNeck : mix SB RightSB 0.06
|
|
local xOTLeft : mix SB RightSB 0.5
|
|
local fine : Stroke * 0.5
|
|
|
|
include : dispiro
|
|
g4 [mix Middle RightSB 0.85] [mix XH CAP 0.8] [widths.lhs]
|
|
alsoThru 0.5 0.7
|
|
g4 Middle (CAP - O)
|
|
archv 2
|
|
g4 (xNeck + Stroke) [mix (CAP - O - Stroke) yRingTop 0.5] [widths.rhs]
|
|
arcvh 2
|
|
g4 xOTLeft yRingTop [heading Rightward]
|
|
alsoThruThem : list {0.25 0.05} {0.5 0.13}
|
|
flat (RightSB - OX) (yRingTop - SmallSmoothB)
|
|
curl (RightSB - OX) SmallSmoothA
|
|
arcvh
|
|
g4.left.mid (Middle + CorrectionOMidS) O
|
|
archv
|
|
flat (SB + OX) SmallSmoothB
|
|
curl (SB + OX) (yRingTop - SmallSmoothA)
|
|
arcvh
|
|
g4 xOTLeft (yRingTop - (Stroke - fine) / 2) [widths 0 fine]
|
|
|
|
create-glyph 'grek/delta.flatTop' : glyph-proc
|
|
include : MarkSet.b
|
|
|
|
local fine : Stroke * CThin
|
|
local coFine : mix fine Stroke 0.5
|
|
local yTop : CAP - Stroke
|
|
local yMid : Stroke * 0.25 + [mix 0 XH (7 / 8)]
|
|
local yMid2 : mix yMid [YSmoothMidR yMid 0 SmallSmoothA SmallSmoothB] 0.95
|
|
local yMid3 : mix yMid [YSmoothMidR yMid 0 SmallSmoothA SmallSmoothB] 0.5
|
|
local yMockBarStart : yMid3 + 2.25 * Stroke
|
|
local pStraightBarStart : 0.75 - (Stroke / CAP)
|
|
|
|
include : HBarTop SB RightSB CAP
|
|
include : intersection [MaskBelow yTop] : dispiro
|
|
g4.right.start (Middle + CorrectionOMidS - TanSlope * (Stroke - fine)) (O + Stroke - fine + 1/16) [widths.lhs fine]
|
|
flat (RightSB - OX - (1 - CThin) * Stroke * HVContrast) SmallSmoothA
|
|
curl (RightSB - OX - (1 - CThin) * Stroke * HVContrast) (yMid - SmallSmoothB)
|
|
arcvh
|
|
g4 (Middle - CorrectionOMidS) (yMid - O) [widths.lhs]
|
|
archv
|
|
flat (SB + OX) (yMid - SmallSmoothA)
|
|
curl (SB + OX) SmallSmoothB
|
|
arcvh
|
|
g4 (Middle + CorrectionOMidS) O
|
|
archv
|
|
flat (RightSB - OX) SmallSmoothA [widths.lhs coFine]
|
|
curl (RightSB - OX) yMid2
|
|
flat [mix Width SB pStraightBarStart] [mix yMockBarStart yTop pStraightBarStart] [widths.lhs]
|
|
curl [mix Width SB 1] [mix yMockBarStart yTop 1] [widths.rhs]
|
|
|
|
select-variant 'grek/delta' 0x3B4
|
|
|
|
alias 'cyrl/be.SRB' null 'grek/delta.rounded'
|
|
alias 'latindelta' 0x1E9F 'grek/delta'
|
|
|
|
turned 'turndelta' 0x18D 'grek/delta' Middle (XH / 2) [MarkSet.p]
|