Added Sulzbacher Form eszet (-> cv35).

This commit is contained in:
be5invis 2017-01-15 17:25:15 +08:00
parent 14901ec610
commit f4f443b706
3 changed files with 112 additions and 69 deletions

View File

@ -1335,57 +1335,90 @@ export : define [apply] : begin
###########################################################################################
# UNIFIED LETTERFORMS : OTHER LATIN
###########################################################################################
sketch # eszet
set-width WIDTH
include markset.if
local l : SB * 1
include : dispiro
widths.lhs
g4 ([mix SB RIGHTSB 0.75] + HALFSTROKE * HVCONTRAST) (CAP - HOOK)
hookstart (CAP - O)
flat l XH
curl l 0 [heading DOWNWARD]
local t : mix 0 CAP 0.7
local tm : [mix DESCENDER t 0.625] + HALFSTROKE
local tl : [mix l RIGHTSB 0.35] + HALFSTROKE * HVCONTRAST
include : HBarTop (l + 1) (RIGHTSB - HALFSTROKE * 1.2 - OX) t
include : dispiro
widths.rhs
flat tl tm [heading RIGHTWARD]
curl (tl + 1) tm [heading RIGHTWARD]
g2 (RIGHTSB - OX * 1.5) [mix DESCENDER tm 0.70]
g2 (RIGHTSB - OX * 1.5) [mix DESCENDER tm 0.67]
alsothru 0.5 0.75
g4 [mix SB RIGHTSB 0.35] DESCENDER
include : dispiro
widths.center (STROKE * 1.1)
corner tl (tm - STROKE) [heading UPWARD]
corner (RIGHTSB - HALFSTROKE * 1.2 - OX) t [heading UPWARD]
save 'eszet' 0xDF
sketch # Eszet
include markset.capital
include : dispiro
widths.lhs
g4 (RIGHTSB + O * 2) (CAP - SMOOTHB)
hookstart (CAP - O)
flat SB XH
curl SB 0 [heading DOWNWARD]
do
local ymiddle : [mix 0 CAP 0.5] - HALFSTROKE
include : dispiro
widths.rhs
g4 (RIGHTSB - ymiddle / 2 - STROKE * 0.75) (ymiddle + STROKE)
archv
g4 (RIGHTSB - O) [mix 0 (ymiddle + STROKE) 0.5]
arcvh
flat (RIGHTSB - ymiddle / 2 - HALFSTROKE) 0
curl (SB + STROKE - O * 3) 0 [heading LEFTWARD]
include : dispiro
widths.rhs
g4 (RIGHTSB + O * 2) (CAP - SMOOTHB)
g4 (RIGHTSB - ymiddle / 2 - STROKE * 0.75) (ymiddle + STROKE) [widths STROKE 0]
save 'Eszet' 0x1E9E
local xmiddle : RIGHTSB - ymiddle / 2 - STROKE * 0.75
local xfinal : Math.min (RIGHTSB - ymiddle / 2 - HALFSTROKE - 1 - STROKE * TANSLANT) (SB + STROKE * 1.75)
sketch # eszet
set-width WIDTH
include markset.if
local l : SB * 1
include : dispiro
widths.lhs
g4 ([mix SB RIGHTSB 0.75] + HALFSTROKE * HVCONTRAST) (CAP - HOOK)
hookstart (CAP - O)
flat l XH
curl l 0 [heading DOWNWARD]
local t : mix 0 CAP 0.7
local tm : [mix DESCENDER t 0.625] + HALFSTROKE
local tl : [mix l RIGHTSB 0.35] + HALFSTROKE * HVCONTRAST
include : HBarTop (l + 1) (RIGHTSB - HALFSTROKE * 1.2 - OX) t
include : dispiro
widths.rhs
flat tl tm [heading RIGHTWARD]
curl (tl + 1) tm [heading RIGHTWARD]
g2 (RIGHTSB - OX * 1.5) [mix DESCENDER tm 0.70]
g2 (RIGHTSB - OX * 1.5) [mix DESCENDER tm 0.67]
alsothru 0.5 0.75
g4 [mix SB RIGHTSB 0.35] DESCENDER
include : dispiro
widths.center (STROKE * 1.1)
corner tl (tm - STROKE) [heading UPWARD]
corner (RIGHTSB - HALFSTROKE * 1.2 - OX) t [heading UPWARD]
piecewise
para.isItalic : include : VerticalHook (l + HALFSTROKE * HVCONTRAST) 0 (-HOOK * 1.2) HOOK
SLAB : include : LeftwardBottomSerif SB 0 SIDEJUT
save 'eszet.traditional'
sketch # eszet.sulzbacher
include markset.capital
include : dispiro
widths.rhs
flat SB 0 [heading UPWARD]
curl SB XH
arcvh
g4 (MIDDLE + O) (CAP - O)
archv
g4 (RIGHTSB + O * 2) [mix CAP ymiddle 0.47]
g4.left.end xmiddle ymiddle [heading LEFTWARD]
include : dispiro
widths.rhs
g4.right.start xmiddle (ymiddle + STROKE) [heading RIGHTWARD]
archv
g4 (RIGHTSB - O) [mix 0 (ymiddle + STROKE) 0.5]
arcvh
flat (RIGHTSB - ymiddle / 2 - HALFSTROKE) 0
curl xfinal 0 [heading LEFTWARD]
if SLAB : include : LeftwardBottomSerif SB 0 SIDEJUT
save 'eszet.sulzbacher'
select-variant 'eszet' 0xDF 'sulzbacher' {
.cv34 'eszet.traditional'
.cv35 'eszet.sulzbacher'
}
sketch # Eszet
include markset.capital
include : dispiro
widths.lhs
g4 (RIGHTSB + O * 2) (CAP - SMOOTHB)
hookstart (CAP - O)
flat SB XH
curl SB 0 [heading DOWNWARD]
include : dispiro
widths.rhs
g4 (RIGHTSB - ymiddle / 2 - STROKE * 0.75) (ymiddle + STROKE)
archv
g4 (RIGHTSB - O) [mix 0 (ymiddle + STROKE) 0.5]
arcvh
flat (RIGHTSB - ymiddle / 2 - HALFSTROKE) 0
curl xfinal 0 [heading LEFTWARD]
include : dispiro
widths.rhs
g4 (RIGHTSB + O * 2) (CAP - SMOOTHB)
g4 (RIGHTSB - ymiddle / 2 - STROKE * 0.75) (ymiddle + STROKE) [widths STROKE 0]
if SLAB : include : LeftwardBottomSerif SB 0 SIDEJUT
save 'Eszet' 0x1E9E
sketch # AE

View File

@ -78,26 +78,26 @@ powerlineShiftX = 0 # Horizontal shift
[iosevka.variantSelector]
[iosevka.sscompose.upright]
ss01 = ['cv01', 'cv11', 'cv05', 'cv10', 'cv14', 'cv18', 'cv21', 'cv22', 'cv25', 'cv29', 'cv32'] # Andale Mono Style
ss02 = ['cv01', 'cv12', 'cv03', 'cv07', 'cv13', 'cv19', 'cv20', 'cv22', 'cv25', 'cv29', 'cv32'] # Anonymous Pro Style
ss03 = ['cv01', 'cv11', 'cv03', 'cv07', 'cv13', 'cv18', 'cv21', 'cv22', 'cv25', 'cv29', 'cv32'] # Consolas Style
ss04 = ['cv01', 'cv12', 'cv03', 'cv08', 'cv13', 'cv19', 'cv21', 'cv22', 'cv25', 'cv29', 'cv31'] # Menlo Style
ss05 = ['cv01', 'cv24', 'cv03', 'cv08', 'cv14', 'cv18', 'cv21', 'cv22', 'cv25', 'cv29', 'cv33'] # Fira Mono Style
ss06 = ['cv01', 'cv12', 'cv03', 'cv07', 'cv14', 'cv18', 'cv20', 'cv22', 'cv25', 'cv29', 'cv32'] # Liberation Mono Style
ss07 = ['cv02', 'cv12', 'cv06', 'cv10', 'cv13', 'cv18', 'cv20', 'cv22', 'cv25', 'cv29', 'cv32'] # Monaco Style
ss08 = ['cv01', 'cv11', 'cv03', 'cv07', 'cv14', 'cv19', 'cv21', 'cv22', 'cv25', 'cv29', 'cv31'] # Pragmata Pro Style
ss09 = ['cv01', 'cv11', 'cv05', 'cv08', 'cv14', 'cv19', 'cv20', 'cv22', 'cv25', 'cv29', 'cv31'] # Source Code Pro Style
ss01 = ['cv01', 'cv11', 'cv05', 'cv10', 'cv14', 'cv18', 'cv21', 'cv22', 'cv25', 'cv29', 'cv32', 'cv34'] # Andale Mono Style
ss02 = ['cv01', 'cv12', 'cv03', 'cv07', 'cv13', 'cv19', 'cv20', 'cv22', 'cv25', 'cv29', 'cv32', 'cv34'] # Anonymous Pro Style
ss03 = ['cv01', 'cv11', 'cv03', 'cv07', 'cv13', 'cv18', 'cv21', 'cv22', 'cv25', 'cv29', 'cv32', 'cv34'] # Consolas Style
ss04 = ['cv01', 'cv12', 'cv03', 'cv08', 'cv13', 'cv19', 'cv21', 'cv22', 'cv25', 'cv29', 'cv31', 'cv34'] # Menlo Style
ss05 = ['cv01', 'cv24', 'cv03', 'cv08', 'cv14', 'cv18', 'cv21', 'cv22', 'cv25', 'cv29', 'cv33', 'cv34'] # Fira Mono Style
ss06 = ['cv01', 'cv12', 'cv03', 'cv07', 'cv14', 'cv18', 'cv20', 'cv22', 'cv25', 'cv29', 'cv32', 'cv34'] # Liberation Mono Style
ss07 = ['cv02', 'cv12', 'cv06', 'cv10', 'cv13', 'cv18', 'cv20', 'cv22', 'cv25', 'cv29', 'cv32', 'cv34'] # Monaco Style
ss08 = ['cv01', 'cv11', 'cv03', 'cv07', 'cv14', 'cv19', 'cv21', 'cv22', 'cv25', 'cv29', 'cv31', 'cv34'] # Pragmata Pro Style
ss09 = ['cv01', 'cv11', 'cv05', 'cv08', 'cv14', 'cv19', 'cv20', 'cv22', 'cv25', 'cv29', 'cv31', 'cv34'] # Source Code Pro Style
[iosevka.sscompose.italic]
ss01 = ['cv01', 'cv11', 'cv05', 'cv10', 'cv14', 'cv18', 'cv21', 'cv22', 'cv25', 'cv29', 'cv32'] # Andale Mono Style
ss02 = ['cv01', 'cv12', 'cv03', 'cv07', 'cv13', 'cv19', 'cv20', 'cv22', 'cv25', 'cv29', 'cv32'] # Anonymous Pro Style
ss03 = ['cv02', 'cv12', 'cv04', 'cv08', 'cv13', 'cv18', 'cv21', 'cv22', 'cv25', 'cv29', 'cv32'] # Consolas Style
ss04 = ['cv01', 'cv12', 'cv03', 'cv08', 'cv13', 'cv19', 'cv21', 'cv22', 'cv25', 'cv29', 'cv31'] # Menlo Style
ss05 = ['cv01', 'cv24', 'cv03', 'cv08', 'cv14', 'cv18', 'cv21', 'cv22', 'cv25', 'cv29', 'cv33'] # Fira Mono Style
ss06 = ['cv01', 'cv12', 'cv03', 'cv07', 'cv14', 'cv18', 'cv20', 'cv22', 'cv25', 'cv29', 'cv32'] # Liberation Mono Style
ss07 = ['cv02', 'cv12', 'cv06', 'cv10', 'cv13', 'cv18', 'cv20', 'cv22', 'cv25', 'cv29', 'cv32'] # Monaco Style
ss08 = ['cv01', 'cv12', 'cv03', 'cv07', 'cv14', 'cv19', 'cv21', 'cv22', 'cv25', 'cv29', 'cv31'] # Pragmata Pro Style
ss09 = ['cv02', 'cv12', 'cv04', 'cv08', 'cv14', 'cv19', 'cv20', 'cv22', 'cv25', 'cv29', 'cv31'] # Source Code Pro Style
ss01 = ['cv01', 'cv11', 'cv05', 'cv10', 'cv14', 'cv18', 'cv21', 'cv22', 'cv25', 'cv29', 'cv32', 'cv34'] # Andale Mono Style
ss02 = ['cv01', 'cv12', 'cv03', 'cv07', 'cv13', 'cv19', 'cv20', 'cv22', 'cv25', 'cv29', 'cv32', 'cv34'] # Anonymous Pro Style
ss03 = ['cv02', 'cv12', 'cv04', 'cv08', 'cv13', 'cv18', 'cv21', 'cv22', 'cv25', 'cv29', 'cv32', 'cv34'] # Consolas Style
ss04 = ['cv01', 'cv12', 'cv03', 'cv08', 'cv13', 'cv19', 'cv21', 'cv22', 'cv25', 'cv29', 'cv31', 'cv34'] # Menlo Style
ss05 = ['cv01', 'cv24', 'cv03', 'cv08', 'cv14', 'cv18', 'cv21', 'cv22', 'cv25', 'cv29', 'cv33', 'cv34'] # Fira Mono Style
ss06 = ['cv01', 'cv12', 'cv03', 'cv07', 'cv14', 'cv18', 'cv20', 'cv22', 'cv25', 'cv29', 'cv32', 'cv34'] # Liberation Mono Style
ss07 = ['cv02', 'cv12', 'cv06', 'cv10', 'cv13', 'cv18', 'cv20', 'cv22', 'cv25', 'cv29', 'cv32', 'cv34'] # Monaco Style
ss08 = ['cv01', 'cv12', 'cv03', 'cv07', 'cv14', 'cv19', 'cv21', 'cv22', 'cv25', 'cv29', 'cv31', 'cv34'] # Pragmata Pro Style
ss09 = ['cv02', 'cv12', 'cv04', 'cv08', 'cv14', 'cv19', 'cv20', 'cv22', 'cv25', 'cv29', 'cv31', 'cv34'] # Source Code Pro Style
[verbose]
verbose = true
@ -711,3 +711,13 @@ at = 'fourfold'
at = 'short'
[cv33.variantSelector]
at = 'short'
[v-eszet-traditional.variantSelector]
eszet = 'traditional'
[cv34.variantSelector]
eszet = 'traditional'
[v-eszet-sulzbacher.variantSelector]
eszet = 'sulzbacher'
[cv35.variantSelector]
eszet = 'sulzbacher'

View File

@ -7,7 +7,7 @@
<style>
</style>
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.1.8/vue.min.js"></script>
<script src="https://cdn.bootcss.com/vue/2.1.8/vue.min.js"></script>
<link rel="stylesheet" href="specimen.css">
<link rel="stylesheet" href="http://maxcdn.icons8.com/fonts/icons8_win10/1.0./styles.min.css">