Added /oupperhalf, /olowerhalf, /turnoe, /smcpOU; optimized /eight, /j, /J, /smcpPsi, /epsilon and /cyrzhe
This commit is contained in:
parent
1d9e5eb289
commit
db63d8d3ad
|
@ -351,10 +351,13 @@ createSMCPs : list
|
|||
list 0x1D0D 'M'
|
||||
list 0x1D0E 'cyrI'
|
||||
list 0x1D0F 'O'
|
||||
list 0x1D10 'turnC'
|
||||
list 0x1D15 'OU'
|
||||
list 0x1D18 'P'
|
||||
list 0x1D19 'cyrYa'
|
||||
list 0x1D1A 'R' [FlipAround MIDDLE (XH / 2)]
|
||||
list 0x1D1B 'T'
|
||||
list 0x1D1C 'U'
|
||||
list 0x1D20 'V'
|
||||
list 0x1D21 'W'
|
||||
list 0x1D22 'Z'
|
||||
|
@ -363,7 +366,6 @@ createSMCPs : list
|
|||
list 0x1D27 'Lambda'
|
||||
list 0x1D28 'Pi'
|
||||
list 0x1D29 'Rho'
|
||||
list 0x1D2A 'Psi'
|
||||
list 0x1D2B 'cyrEl'
|
||||
progress 'Small Caps'
|
||||
|
||||
|
@ -413,6 +415,8 @@ createSuperscripts : list
|
|||
list 0x1D51 'eng'
|
||||
list 0x1D52 'o'
|
||||
list 0x1D53 'turnc'
|
||||
list 0x1D54 'oupperhalf'
|
||||
list 0x1D55 'olowerhalf'
|
||||
list 0x1D56 'p'
|
||||
list 0x1D57 't'
|
||||
list 0x1D58 'u'
|
||||
|
@ -449,6 +453,7 @@ createSuperscripts : list
|
|||
list 0x1DB2 'varphi'
|
||||
list 0x1DB3 'srtail'
|
||||
list 0x1DB4 'esh'
|
||||
list 0x1DB5 'tltail'
|
||||
list 0x1DB6 'ulongBarOver'
|
||||
list 0x1DB7 'latinupsilon1'
|
||||
list 0x1DB8 'smcpU'
|
||||
|
@ -462,6 +467,7 @@ createSuperscripts : list
|
|||
list 0x1D2C 'A'
|
||||
list 0x1D2D 'AE'
|
||||
list 0x1D2E 'B'
|
||||
list 0x1D2F 'Bbar'
|
||||
list 0x1D30 'D'
|
||||
list 0x1D31 'E'
|
||||
list 0x1D32 'turnE'
|
||||
|
|
|
@ -383,7 +383,7 @@ define [HBar xleft xright y _fine] : glyph-construction
|
|||
|
||||
define [HBarTop xl xr y _fine] : HBar xl xr (y - [fallback _fine STROKE] * 0.5) _fine
|
||||
define [HBarBottom xl xr y _fine] : HBar xl xr (y + [fallback _fine STROKE] * 0.5) _fine
|
||||
define [HOverlayBar xleft xright y] : HBar xleft xright y OVERLAYSTROKE
|
||||
define [HOverlayBar xleft xright y s] : HBar xleft xright y [fallback s OVERLAYSTROKE]
|
||||
define [VBar x ydown yup _fine] : glyph-construction
|
||||
local fine : fallback _fine STROKE
|
||||
include : dispiro
|
||||
|
|
|
@ -131,14 +131,13 @@ symbol-block 'J'
|
|||
local slope (STROKE * 0.00092)
|
||||
local expand 0.35
|
||||
local coexpand ((1 - expand) / 2)
|
||||
local smooth : HOOK + 0.75 * STROKE
|
||||
|
||||
local hookx (0.5 * SB + OXHOOK)
|
||||
|
||||
include : dispiro
|
||||
widths.rhs
|
||||
flat (RIGHTSB - JBALANCE2) CAP [heading DOWNWARD]
|
||||
curl (RIGHTSB - JBALANCE2) smooth
|
||||
curl (RIGHTSB - JBALANCE2) SMOOTH
|
||||
hookend O
|
||||
g4 hookx HOOK
|
||||
|
||||
|
@ -176,11 +175,10 @@ symbol-block 'j'
|
|||
local center : MIDDLE + JBALANCE + HALFSTROKE * CORRECTION_HX
|
||||
local hookx : center - (WIDTH * 0.5) - STROKE * CORRECTION_HX + OXHOOK
|
||||
local turn : [mix center hookx 0.5] + CORRECTION_OMIDS
|
||||
local smb : (center - turn) * 1.2
|
||||
include : dispiro
|
||||
widths.rhs
|
||||
flat center XH [heading DOWNWARD]
|
||||
curl center (DESCENDER + smb)
|
||||
curl center (DESCENDER + SMOOTH)
|
||||
hookend (DESCENDER + O)
|
||||
g4 hookx (DESCENDER + JHOOK)
|
||||
|
||||
|
@ -992,7 +990,7 @@ symbol-block 'B'
|
|||
assign-unicode 0x243
|
||||
|
||||
include glyphs.B AS_BASE
|
||||
include : HOverlayBar [mix SB 0 0.7] [mix SB RIGHTSB 0.5] [mix 0 CAP 0.3]
|
||||
include : HOverlayBar [mix SB 0 0.7] [mix SB RIGHTSB 0.5] [mix 0 CAP 0.3] [Math.min (CAP / 8) OVERLAYSTROKE]
|
||||
|
||||
create-glyph 'beta' : glyph-construction
|
||||
assign-unicode 0x3B2
|
||||
|
@ -1066,9 +1064,11 @@ symbol-block 'b'
|
|||
assign-unicode 0x185
|
||||
include glyphs.b AS_BASE
|
||||
eject-contour 'serifLT'
|
||||
start-from SB CAP
|
||||
start-from (SB - O) CAP
|
||||
line-to SB CAP
|
||||
line-to (SB - STROKE) (CAP - STROKE)
|
||||
line-to SB (CAP - STROKE * 2)
|
||||
line-to (SB - O) (CAP - STROKE * 2)
|
||||
reverse-last
|
||||
### D
|
||||
symbol-block 'D'
|
||||
|
@ -1683,8 +1683,8 @@ symbol-block 'O'
|
|||
set-width WIDTH
|
||||
assign-unicode 'o'
|
||||
include eMarks
|
||||
|
||||
include : OShape XH 0 SB RIGHTSB nothing nothing nothing true
|
||||
|
||||
alias 'omicron' 0x3BF 'o'
|
||||
alias 'cyro' 0x43e 'o'
|
||||
|
||||
|
@ -1725,6 +1725,31 @@ symbol-block 'O'
|
|||
include glyphs.O AS_BASE
|
||||
local radius : Math.min DOTRADIUS ((RIGHTSB - SB - STROKE * 2) / 4)
|
||||
include : Ring (CAPMIDDLE + radius) (CAPMIDDLE - radius) (MIDDLE + radius) (MIDDLE - radius)
|
||||
|
||||
create-glyph 'oupperhalf' : glyph-construction
|
||||
assign-unicode 0x1D16
|
||||
include eMarks
|
||||
include : dispiro
|
||||
widths.rhs
|
||||
flat (SB + OX) (XH / 2) [heading UPWARD]
|
||||
curl (SB + OX) (XH - SMALLSMOOTHA)
|
||||
arcvh
|
||||
g4 (MIDDLE - CORRECTION_OMIDS) (XH - O)
|
||||
archv
|
||||
flat (RIGHTSB - OX) (XH - SMALLSMOOTHB)
|
||||
curl (RIGHTSB - OX) (XH / 2) [heading DOWNWARD]
|
||||
create-glyph 'olowerhalf' : glyph-construction
|
||||
assign-unicode 0x1D17
|
||||
include eMarks
|
||||
include : dispiro
|
||||
widths.lhs
|
||||
flat (SB + OX) (XH / 2) [heading DOWNWARD]
|
||||
curl (SB + OX) SMALLSMOOTHB
|
||||
arcvh
|
||||
g4 (MIDDLE + CORRECTION_OMIDS) O
|
||||
archv
|
||||
flat (RIGHTSB - OX) SMALLSMOOTHA
|
||||
curl (RIGHTSB - OX) (XH / 2) [heading UPWARD]
|
||||
|
||||
### Q
|
||||
symbol-block 'Q'
|
||||
|
@ -2523,13 +2548,14 @@ symbol-block 't'
|
|||
local turn : [mix center hookx 0.5] + CORRECTION_OMIDS
|
||||
local smb : (turn - center) * 1.2
|
||||
|
||||
include : dispiro
|
||||
local g : dispiro
|
||||
widths.lhs
|
||||
flat center top [heading DOWNWARD]
|
||||
curl center (bot + smb)
|
||||
hookend (bot + O)
|
||||
g4 hookx (bot + HOOK)
|
||||
set-anchor 'bottomright' BASE hookx (bot + HOOK)
|
||||
include g
|
||||
set-anchor 'bottomright' BASE g.knots.(g.knots.length - 1).x g.knots.(g.knots.length - 1).y
|
||||
|
||||
include : HBarTop (center + HALFSTROKE - LONGJUT + TBALANCE2) (center + HALFSTROKE + LONGJUT + TBALANCE2) XH
|
||||
|
||||
|
|
|
@ -75,6 +75,7 @@ symbol-block 'Gamma'
|
|||
create-glyph 'cyrghayn.italic' : glyph-construction
|
||||
include glyphs.'cyrghe.italic' AS_BASE
|
||||
include : FlatSlashShape MIDDLE (XH / 2) (OVERLAYSTROKE / 2) (-0.2) 0.75
|
||||
alias 'voicedlaryngenalspirant' 0x1D24 'cyrghayn.italic'
|
||||
|
||||
italic-variant 'cyrghayn' 0x493
|
||||
|
||||
|
@ -512,6 +513,28 @@ symbol-block 'Psi'
|
|||
include : tagged 'serifRT' : RightwardTopSerif RIGHTSB y2 SIDEJUT
|
||||
include : tagged 'serifMT' : CenterTopSerif MIDDLE CAP JUT
|
||||
include : tagged 'serifMB' : CenterBottomSerif MIDDLE 0 JUT
|
||||
|
||||
create-glyph 'smcpPsi' : glyph-construction
|
||||
assign-unicode 0x1D2A
|
||||
include eMarks
|
||||
local y : XH * 0.3
|
||||
local y2 XH
|
||||
include : dispiro
|
||||
widths.lhs MVERTSTROKE
|
||||
flat SB y2 [heading DOWNWARD]
|
||||
curl SB (y + SMOOTHB)
|
||||
arcvh
|
||||
g4 MIDDLE y [heading RIGHTWARD]
|
||||
archv
|
||||
flat RIGHTSB (y + SMOOTHA)
|
||||
curl RIGHTSB y2 [heading UPWARD]
|
||||
include : VBar MIDDLE y XH MVERTSTROKE
|
||||
include : VBar MIDDLE 0 (y + HALFSTROKE)
|
||||
if SLAB : begin
|
||||
include : tagged 'serifLT' : LeftwardTopSerif SB y2 SIDEJUT
|
||||
include : tagged 'serifRT' : RightwardTopSerif RIGHTSB y2 SIDEJUT
|
||||
include : tagged 'serifMB' : CenterBottomSerif MIDDLE 0 JUT
|
||||
|
||||
create-glyph 'psi' : glyph-construction
|
||||
assign-unicode 0x3C8
|
||||
include ifMarks
|
||||
|
@ -708,9 +731,11 @@ define {CyrYeriShape RevCyrYeriShape} : symbol-block 'CyrYeri-related'
|
|||
assign-unicode 0x184
|
||||
include glyphs.cyrYeri AS_BASE
|
||||
eject-contour 'serifYeriLT'
|
||||
start-from SB CAP
|
||||
start-from (SB - O) CAP
|
||||
line-to SB CAP
|
||||
line-to (SB - STROKE) (CAP - STROKE)
|
||||
line-to SB (CAP - STROKE * 2)
|
||||
line-to (SB - O) (CAP - STROKE * 2)
|
||||
reverse-last
|
||||
|
||||
create-glyph 'latinDe' : glyph-construction
|
||||
|
@ -1303,6 +1328,7 @@ symbol-block 'Digraphs'
|
|||
include eMarks
|
||||
include aeepart
|
||||
include oeopart
|
||||
turned nothing 0x1D14 'oe' MIDDLE (XH / 2)
|
||||
|
||||
create-glyph 'db' : glyph-construction
|
||||
set-width WIDTH
|
||||
|
|
|
@ -161,7 +161,9 @@ export : define [SetupBuilders args] : begin
|
|||
local g : new Glyph
|
||||
lhs.0.type = rhs.0.type = lhs.(lhs.length - 1).type = rhs.(rhs.length - 1).type = 'corner'
|
||||
libspiro.spiroToBezierOnContext [lhs.concat : rhs.reverse] true g
|
||||
|
||||
set g.knots knots
|
||||
set g.lhsknots lhs
|
||||
set g.rhsknots rhs
|
||||
return g
|
||||
define [spiro-outline] : let [k : {}.slice.call arguments 0] : lambda [] : begin
|
||||
local {.knots knots .closed closed .lastafs lastafs} : prepareSpiroKnots k this
|
||||
|
|
Loading…
Reference in New Issue
Block a user