Add other form of Sampi

This commit is contained in:
be5invis 2021-09-17 00:00:32 -07:00
parent 5c5c9f5048
commit e63c88cfe4
2 changed files with 63 additions and 2 deletions

View file

@ -1,6 +1,6 @@
* Add Greek letters and symbols:
- Heta (`U+0370`, `U+0371`);
- Archaic Sampi (`U+0372`, `U+0373`);
- Sampi (`U+0372`, `U+0373`, `U+03E0`, `U+03E1`);
- Greek Lower Number Sign (`U+0375`);
- Pamphylian Digamma (`U+0376`, `U+0377`);
- Capital Kai Symbol (`U+03CF`);

View file

@ -5,7 +5,7 @@ import [DesignParameters] from '../../../meta/aesthetics'
glyph-module
glyph-block Letter-Greek-Sampi : begin
glyph-block Letter-Greek-Arachaic-Sampi : begin
glyph-block-import CommonShapes
define KSampiDepth 0.45
@ -27,3 +27,64 @@ glyph-block Letter-Greek-Sampi : begin
set-width df.width
include : df.markSet.p
include : SampiShape df XH Descender false
glyph-block Letter-Greek-Sampi : begin
glyph-block-import CommonShapes
create-glyph 'grek/Sampi' 0x3E0 : glyph-proc
include : MarkSet.capital
define sw : AdviceStroke 3
define fine : AdviceStroke 4.25
define rightStrokeShift : 0.45 * sw * HVContrast
define leftStrokeShift : 0.45 * fine * HVContrast
define [LeftSideMask] : spiro-outline
corner (RightSB - HalfStroke * HVContrast + O) 0
corner Middle CAP
corner (-2 * Width) CAP
corner (-2 * Width) 0
include : intersection
MaskBelow CAP
MaskAbove 0
ExtLineCenter 2 sw (RightSB - rightStrokeShift) 0 Middle CAP
include : intersection [LeftSideMask] : union
ExtLineCenter 2 fine (SB + leftStrokeShift) 0 Middle CAP
ExtLineCenter 2 fine [mix SB RightSB 0.45] 0 ([mix SB RightSB 0.95] - leftStrokeShift) CAP
if SLAB : include : difference
CenterBottomSerif (RightSB - 0.5 * sw * HVContrast) 0 Jut
LeftSideMask
create-glyph 'grek/sampi' 0x3E1 : glyph-proc
include : MarkSet.p
define x1 : mix SB RightSB 0.95
define [SampiKnots offset] : list
g4 SB (XH - O + offset)
g4 [mix SB RightSB 0.5] [mix (XH + offset) (Descender - offset) 0.125]
g4.down.mid (RightSB - OX + offset) [mix Descender XH 0.25]
g4 x1 (Descender + O - offset)
include : dispiro [widths.rhs] [SampiKnots 0]
include : intersection
spiro-outline [SampiKnots O] [close]
union
dispiro
widths.center (Stroke * 1.5 + XH / 6)
flat SB (XH - O)
curl x1 (Descender + O)
spiro-outline
corner SB CAP
corner SB (XH - O)
corner x1 (Descender - O)
corner (2 * Width) (Descender - O)
corner (2 * Width) CAP
close
union
ExtLineCenter 2 Stroke
[mix SB x1 0.35] + 0
[mix XH Descender 0.35] + 0
[mix SB x1 0.35] + (XH - Descender)
[mix XH Descender 0.35] + (x1 - SB)
ExtLineCenter 2 Stroke
[mix SB x1 0.65] + 0
[mix XH Descender 0.65] + 0
[mix SB x1 0.65] + (XH - Descender)
[mix XH Descender 0.65] + (x1 - SB)