Finally, I see the beautiful /eight. I am just using the wrong side.

This commit is contained in:
be5invis 2015-12-09 04:05:37 +08:00
parent 73eba14fbc
commit 1d9e5eb289
4 changed files with 63 additions and 65 deletions

View File

@ -177,6 +177,9 @@ export as build : define [buildFont para recursive recursiveCodes] : begin
define ACCENT para.accent
define ACCENTX para.accentx
define CTHIN : fallback para.cthin 0.75
define CTHINB : fallback para.cthinb 0.5
define SLAB para.slab
define TAILADJX : WIDTH * 0.2

View File

@ -920,7 +920,7 @@ symbol-block 'B'
local bowl : top * 0.52 + HALFSTROKE
local barleft SB
local curvleft : RIGHTSB - SB * 0.5 - (top - (bowl - STROKE)) * 0.45
local fine : STROKE * 0.8
local fine : STROKE * CTHIN
include : dispiro
widths.rhs
@ -2414,8 +2414,8 @@ define {SmallEShape} : symbol-block 'e'
arcvh
g4 (MIDDLE - CORRECTION_OMIDS) (top - O)
archv
flat.ai (SB + OX) (top - SMALLSMOOTHA)
curl.ai (SB + OX) (0 + SMALLSMOOTHB)
[if (top <= XH) flat.ai flat] (SB + OX) (top - SMALLSMOOTHA)
[if (top <= XH) curl.ai curl] (SB + OX) (0 + SMALLSMOOTHB)
hookend O nothing stroke
g4 (RIGHTSB - OX * 0.5) AHOOK
include : HBarBottom (SB + (stroke / 2)) (RIGHTSB - (stroke / 2)) barbottom stroke

View File

@ -178,11 +178,11 @@ symbol-block 'Delta and cyrbe'
assign-unicode 0x431
include bMarks
include : dispiro
widths.rhs
flat (SB + OX) SMALLSMOOTHB
curl (SB + OX) (XH - SMALLSMOOTHA)
widths.rhs (STROKE * CTHINB)
flat (SB + OX + STROKE * (1 - CTHINB) * CORRECTION_HX) SMALLSMOOTHB
curl (SB + OX + STROKE * (1 - CTHINB) * CORRECTION_HX) (XH - SMALLSMOOTHA)
arcvh
g4 (MIDDLE - CORRECTION_OMIDS) (CAP * 0.7 - O)
g4 (MIDDLE - CORRECTION_OMIDS) (CAP * 0.7 - O) [widths.rhs STROKE]
archv
flat.ai (RIGHTSB - OX) (XH - SMALLSMOOTHB)
curl.ai (RIGHTSB - OX) SMALLSMOOTHA
@ -200,22 +200,23 @@ symbol-block 'epsilon and cyrze'
local midy : top * BARPOS
local sma : top - [mix (midy + HALFSTROKE) (top - O - STROKE) (SMOOTHB / (SMOOTHA + SMOOTHB))]
local smb : mix (STROKE + O) (midy - HALFSTROKE) (SMOOTHB / (SMOOTHA + SMOOTHB))
local fine : STROKE * CTHIN
include : dispiro
widths.lhs
g4 RIGHTSB (top - [fallback hook SHOOK])
hookstart top
g4 (SB + OXE) (top - sma)
arcvh
flat MIDDLE (midy - HALFSTROKE)
curl midx (midy - HALFSTROKE) [heading RIGHTWARD]
flat MIDDLE (midy - (fine - HALFSTROKE)) [widths.heading fine 0 RIGHTWARD]
curl midx (midy - (fine - HALFSTROKE)) [heading RIGHTWARD]
include : dispiro
widths.rhs
g4 RIGHTSB [fallback hook SHOOK]
hookstart 0
g4 (SB + OXE) smb
arcvh
flat MIDDLE (midy + HALFSTROKE)
curl midx (midy + HALFSTROKE) [heading RIGHTWARD]
flat MIDDLE (midy + (fine - HALFSTROKE)) [widths.heading 0 fine RIGHTWARD]
curl midx (midy + (fine - HALFSTROKE)) [heading RIGHTWARD]
create-glyph 'epsilon' : glyph-construction
assign-unicode 0x3B5
@ -232,22 +233,23 @@ symbol-block 'epsilon and cyrze'
local midy : top * BARPOS
local smb : top - [mix (midy + HALFSTROKE) (top - O - STROKE) (SMOOTHA / (SMOOTHA + SMOOTHB))]
local sma : mix (STROKE + O) (midy - HALFSTROKE) (SMOOTHA / (SMOOTHA + SMOOTHB))
local fine : STROKE * CTHIN
include : dispiro
widths.rhs
g4 SB (top - [fallback hook SHOOK])
hookstart top
g4 (RIGHTSB - OXE) (top - smb)
arcvh
flat MIDDLE (midy - HALFSTROKE)
curl midx (midy - HALFSTROKE) [heading LEFTWARD]
flat MIDDLE (midy - (fine - HALFSTROKE)) [widths.heading 0 fine LEFTWARD]
curl midx (midy - (fine - HALFSTROKE)) [heading LEFTWARD]
include : dispiro
widths.lhs
g4 SB [fallback hook SHOOK]
hookstart 0
g4 (RIGHTSB - OXE) sma
arcvh
flat MIDDLE (midy + HALFSTROKE)
curl midx (midy + HALFSTROKE) [heading LEFTWARD]
flat MIDDLE (midy + (fine - HALFSTROKE)) [widths.heading fine 0 LEFTWARD]
curl midx (midy + (fine - HALFSTROKE)) [heading LEFTWARD]
create-glyph 'cyrZe' : glyph-construction
assign-unicode 0x417
@ -459,10 +461,10 @@ symbol-block 'Phi, phi and varphi'
archv
g4 (WIDTH - x1) (XH * 0.55)
arcvh 8
g4 [mix (WIDTH - x1) (MIDDLE - MVERTSTROKE / 2 * CORRECTION_HX) 0.6] XH [heading {.x 0.1 .y (-1)}]
g4.left.mid [mix (WIDTH - x1) (MIDDLE - MVERTSTROKE / 2 * CORRECTION_HX) 0.525] XH [heading LEFTWARD]
archv
flat (MIDDLE - MVERTSTROKE / 2 * CORRECTION_HX) y3
curl (MIDDLE - MVERTSTROKE / 2 * CORRECTION_HX) 0 [heading DOWNWARD]
curl (MIDDLE - MVERTSTROKE / 2 * CORRECTION_HX) (MVERTSTROKE * 0.2) [heading DOWNWARD]
create-glyph 'phi' : glyph-construction
assign-unicode 0x3C6
@ -567,7 +569,7 @@ symbol-block 'omega'
assign-unicode 0x3C9
include eMarks
local fine : adviceBlackness 3.25
local mfine : fine * 0.85
local mfine : fine * CTHIN
local x0 : mix SB RIGHTSB 0.1
local y0 : XH - STROKE * 0.2
local y1 : mix 0 XH 0.8
@ -603,6 +605,7 @@ symbol-block 'omega'
assign-unicode 0x277
include eMarks
local fine : adviceBlackness 3.25
local mfine : fine * CTHIN
local x0 : MIDDLE - CORRECTION_OMIDS
local y0 : XH - O
local y1 : mix 0 XH 0.45
@ -610,11 +613,11 @@ symbol-block 'omega'
local y3 : XH / 2
local y4 : XH * 0.65
include : dispiro
widths.rhs fine
flat (MIDDLE + fine / 2 * CORRECTION_HX) y4 [heading DOWNWARD]
curl (MIDDLE + fine / 2 * CORRECTION_HX) y3 [heading DOWNWARD]
widths.rhs mfine
flat (MIDDLE + (mfine - fine / 2) * CORRECTION_HX) y4 [heading DOWNWARD]
curl (MIDDLE + (mfine - fine / 2) * CORRECTION_HX) y3 [heading DOWNWARD]
arcvh 8
g4 [mix x1 (MIDDLE + fine / 2 * CORRECTION_HX) 0.5] O [heading LEFTWARD]
g4 [mix x1 (MIDDLE + fine / 2 * CORRECTION_HX) 0.5] O [widths.heading 0 fine LEFTWARD]
archv 8
g4 x1 y1
arcvh
@ -624,8 +627,8 @@ symbol-block 'omega'
arcvh 8
g4 [mix (WIDTH - x1) (MIDDLE - fine / 2 * CORRECTION_HX) 0.5] O [heading LEFTWARD]
archv 8
flat (MIDDLE - fine / 2 * CORRECTION_HX) y3 [heading UPWARD]
curl (MIDDLE - fine / 2 * CORRECTION_HX) y4 [heading UPWARD]
flat (MIDDLE - (mfine - fine / 2) * CORRECTION_HX) y3 [widths.heading 0 mfine UPWARD]
curl (MIDDLE - (mfine - fine / 2) * CORRECTION_HX) y4 [heading UPWARD]
###########################################################################################
@ -868,11 +871,11 @@ symbol-block 'CyrDe'
create-glyph 'cyrde.italic' : glyph-construction
include bMarks
include : dispiro
widths.lhs
flat (RIGHTSB - OX) SMALLSMOOTHA
curl (RIGHTSB - OX) (XH - SMALLSMOOTHB)
widths.lhs (STROKE * CTHINB)
flat (RIGHTSB - OX - STROKE * CORRECTION_HX * (1 - CTHINB)) SMALLSMOOTHA
curl (RIGHTSB - OX - STROKE * CORRECTION_HX * (1 - CTHINB)) (XH - SMALLSMOOTHB)
arcvh
g4 (MIDDLE - CORRECTION_OMIDS) (CAP * 0.7 - O)
g4 (MIDDLE - CORRECTION_OMIDS) (CAP * 0.7 - O) [widths.lhs]
archv
flat.ai (SB + OX) (XH - SMALLSMOOTHA)
curl.ai (SB + OX) SMALLSMOOTHB

View File

@ -66,23 +66,22 @@ create-glyph 'three' : glyph-construction
local barcenter : CAP * 0.51
local threeRadius : (CAPMIDDLE + HALFSTROKE - SMOOTH) * 1.25
local fine : STROKE * CTHIN
include : dispiro
widths.rhs
g4 SB (CAP - HOOK)
hookstart CAPO
g4 RIGHTSB (CAP - (SMOOTHB * (CAP - barcenter) / CAPMIDDLE))
# arcvh
flat (RIGHTSB - threeRadius + 0.01) (barcenter - HALFSTROKE) [heading LEFTWARD]
curl (RIGHTSB - threeRadius) (barcenter - HALFSTROKE) [heading LEFTWARD]
flat (RIGHTSB - threeRadius + 0.01) (barcenter - (fine - HALFSTROKE)) [widths.heading 0 fine LEFTWARD]
curl (RIGHTSB - threeRadius) (barcenter - (fine - HALFSTROKE)) [heading LEFTWARD]
include : dispiro
widths.lhs
g4 SB HOOK
hookstart O
g4 RIGHTSB (SMOOTHA * barcenter / CAPMIDDLE)
# arcvh
flat (RIGHTSB - threeRadius + 0.01) (barcenter + HALFSTROKE) [heading LEFTWARD]
curl (RIGHTSB - threeRadius) (barcenter + HALFSTROKE) [heading LEFTWARD]
flat (RIGHTSB - threeRadius + 0.01) (barcenter + (fine - HALFSTROKE)) [widths.heading fine 0 LEFTWARD]
curl (RIGHTSB - threeRadius) (barcenter + (fine - HALFSTROKE)) [heading LEFTWARD]
create-glyph 'four' : glyph-construction
@ -179,50 +178,43 @@ create-glyph 'eight' : glyph-construction
set-width WIDTH
assign-unicode '8'
local sma : SMOOTHA * 0.975
local smb : SMOOTHB * 0.975
local p 0.96
local l (SB + OX)
local r (RIGHTSB - OX)
include : dispiro
widths.lhs
g4.right.mid (MIDDLE - CORRECTION_OMIDS) (CAP - O - STROKE)
archv 1
g4 ([mix l r p] - STROKE) (CAP - sma * p) [heading DOWNWARD]
alsothru 0.5 0.5 [widths HALFSTROKE HALFSTROKE]
g4 (l + STROKE) sma [widths.heading 0 STROKE DOWNWARD]
arcvh 1
g4.right.mid (MIDDLE + CORRECTION_OMIDS) (O + STROKE)
archv 1
g4 (r - STROKE) smb [widths.heading 0 STROKE UPWARD]
alsothru 0.5 0.5 [widths HALFSTROKE HALFSTROKE]
g4 ([mix r l p] + STROKE) (CAP - smb * p) [widths.heading STROKE 0 UPWARD]
arcvh 1
widths.rhs
g4.right.mid (MIDDLE - CORRECTION_OMIDS) (CAP - O)
archv
g4 [mix l r p] (CAP - SMOOTHB * p)
alsothru 0.5 0.5 [widths.center]
g4 (l) SMOOTHB [widths.lhs]
arcvh
g4.right.mid (MIDDLE + CORRECTION_OMIDS) (O)
archv
g4 (r) SMOOTHA [widths.lhs]
alsothru 0.5 0.5 [widths.center]
g4 [mix r l p] (CAP - SMOOTHA * p) [widths.rhs]
arcvh
close
# There is an "eight without lower contour" shape used for /propto
create-glyph 'rotetedpropto' : glyph-construction
local sma : SMOOTHA * 0.975 + CORRECTION_VS * CORRECTION_HX
local smb : SMOOTHB * 0.975 - CORRECTION_VS * CORRECTION_HX
create-glyph 'rotetedpropto' : glyph-construction
local p 0.96
local py 0.6
local py 0.4
local l (SB + OX)
local r (RIGHTSB - OX)
include : dispiro
flat (r - STROKE) 0 [widths 0 STROKE]
curl (r - STROKE) 1 [widths 0 STROKE]
alsothru 0.5 py [widths (STROKE * py) (STROKE * (1 - py))]
g4 ([mix r l p] + STROKE) (CAP - sma * p) [widths STROKE 0]
arcvh 1
g4 (MIDDLE - CORRECTION_OMIDS + CORRECTION_VS) (CAP - O - STROKE)
archv 1
g4 ([mix l r p] - STROKE) (CAP - smb * p)
widths.lhs
straight.up.start r 0 [heading UPWARD]
alsothru 0.5 (1 - py) [widths (STROKE * py) (STROKE * (1 - py))]
flat (l + STROKE) 1 [widths 0 STROKE]
curl (l + STROKE) 0 [widths 0 STROKE]
g4 [mix r l p] (CAP - SMOOTHA * p) [widths.rhs]
arcvh
g4 (MIDDLE - CORRECTION_OMIDS) (CAP - O)
archv
g4 [mix l r p] (CAP - SMOOTHB * p)
alsothru 0.5 py [widths (STROKE * py) (STROKE * (1 - py))]
straight.down.end l 0 [widths.heading STROKE 0 DOWNWARD]
create-glyph 'nine' : glyph-construction
include capitalMarks