Added v-brace-straight (cv36) and v-brace-curly(cv37)

This commit is contained in:
be5invis 2017-01-15 18:53:03 +08:00
parent f4f443b706
commit fbe1c20abc
2 changed files with 78 additions and 33 deletions

View File

@ -67,35 +67,66 @@ export : define [apply] : begin
include : FlipAround MIDDLE parenMid
save 'bracketRight' ']'
sketch # braceLeft
sketch # braceLeft.straight
local parenCenter [mix SB RIGHTSB [mix braceInside braceOutside 0.5]]
local radius : [mix SB RIGHTSB braceInside] - parenCenter
include : dispiro
flat [mix SB RIGHTSB braceInside] (parenTop - HALFSTROKE) [widths.heading HALFSTROKE HALFSTROKE LEFTWARD]
curl ([mix SB RIGHTSB braceInside] - 0.01) (parenTop - HALFSTROKE) [widths.heading HALFSTROKE HALFSTROKE LEFTWARD]
straight.left.start [mix SB RIGHTSB braceInside] (parenTop - HALFSTROKE) [widths.heading HALFSTROKE HALFSTROKE LEFTWARD]
archv
flat parenCenter (parenTop - radius) [heading DOWNWARD]
curl parenCenter (parenMid + radius) [heading DOWNWARD]
arcvh
flat ([mix SB RIGHTSB braceOutside] + 0.01) parenMid [heading LEFTWARD]
curl [mix SB RIGHTSB braceOutside] parenMid [heading LEFTWARD]
straight.left.end [mix SB RIGHTSB braceOutside] parenMid [heading LEFTWARD]
include : dispiro
flat [mix SB RIGHTSB braceInside] (parenBot + HALFSTROKE) [widths.heading HALFSTROKE HALFSTROKE LEFTWARD]
curl ([mix SB RIGHTSB braceInside] - 0.01) (parenBot + HALFSTROKE) [widths.heading HALFSTROKE HALFSTROKE LEFTWARD]
straight.left.start [mix SB RIGHTSB braceInside] (parenBot + HALFSTROKE) [widths.heading HALFSTROKE HALFSTROKE LEFTWARD]
archv
flat parenCenter (parenBot + radius) [heading UPWARD]
curl parenCenter (parenMid - radius) [heading UPWARD]
arcvh
flat ([mix SB RIGHTSB braceOutside] + 0.01) parenMid [heading LEFTWARD]
curl [mix SB RIGHTSB braceOutside] parenMid [heading LEFTWARD]
save 'braceLeft' '{'
straight.left.end [mix SB RIGHTSB braceOutside] parenMid [heading LEFTWARD]
save 'braceLeft.straight'
sketch # braceRight
include glyphs.braceLeft
include : FlipAround MIDDLE parenMid
save 'braceRight' '}'
sketch # braceLeft.curly
local xIns : mix SB RIGHTSB [mix braceOutside braceInside 1]
local xOus : mix SB RIGHTSB [mix braceInside braceOutside 1]
local m1 : mix SB RIGHTSB [mix braceInside braceOutside 0.6]
local m2 : mix SB RIGHTSB [mix braceInside braceOutside 0.4]
local braceRadiusLowLimit : (parenTop - parenMid - STROKE) * (1 / 3) + HALFSTROKE
local radius1 : Math.min (xIns - m1) braceRadiusLowLimit
local radius2 : [Math.min (m2 - xOus) braceRadiusLowLimit] - HALFSTROKE
local ess : mix STROKE ESS 0.25
include : dispiro
straight.left.start xIns (parenTop - HALFSTROKE) [widths.heading HALFSTROKE HALFSTROKE LEFTWARD]
archv
g4.down.mid m1 (parenTop - radius1) [heading DOWNWARD]
alsothru 0.5 0.5 [widths (ess / 2) (ess / 2)]
g4.down.mid m2 (parenMid + radius2) [widths.heading HALFSTROKE HALFSTROKE DOWNWARD]
arcvh
straight.left.end xOus parenMid [heading LEFTWARD]
include : dispiro
straight.left.start xIns (parenBot + HALFSTROKE) [widths.heading HALFSTROKE HALFSTROKE LEFTWARD]
archv
g4.up.mid m1 (parenBot + radius1) [heading UPWARD]
alsothru 0.5 0.5 [widths (ess / 2) (ess / 2)]
g4.up.mid m2 (parenMid - radius2) [widths.heading HALFSTROKE HALFSTROKE UPWARD]
arcvh
straight.left.end xOus parenMid [heading LEFTWARD]
save 'braceLeft.curly'
composite 'braceRight.straight' glyphs.'braceLeft.straight' [FlipAround MIDDLE parenMid]
composite 'braceRight.curly' glyphs.'braceLeft.curly' [FlipAround MIDDLE parenMid]
select-variant 'braceLeft' '{' 'curly' {
.cv36 'braceLeft.straight'
.cv37 'braceLeft.curly'
}
select-variant 'braceRight' '}' 'curly' {
.cv36 'braceRight.straight'
.cv37 'braceRight.curly'
}
sketch # angleLeft
local fatten : Math.hypot 1 (([mix SB RIGHTSB : parenInside - parenOutside] - O) / (parenTop - parenMid))

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', '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
ss01 = ['cv01', 'cv11', 'cv05', 'cv10', 'cv14', 'cv18', 'cv21', 'cv22', 'cv25', 'cv29', 'cv32', 'cv34', 'cv36'] # Andale Mono Style
ss02 = ['cv01', 'cv12', 'cv03', 'cv07', 'cv13', 'cv19', 'cv20', 'cv22', 'cv25', 'cv29', 'cv32', 'cv34', 'cv36'] # Anonymous Pro Style
ss03 = ['cv01', 'cv11', 'cv03', 'cv07', 'cv13', 'cv18', 'cv21', 'cv22', 'cv25', 'cv29', 'cv32', 'cv34', 'cv36'] # Consolas Style
ss04 = ['cv01', 'cv12', 'cv03', 'cv08', 'cv13', 'cv19', 'cv21', 'cv22', 'cv25', 'cv29', 'cv31', 'cv34', 'cv36'] # Menlo Style
ss05 = ['cv01', 'cv24', 'cv03', 'cv08', 'cv14', 'cv18', 'cv21', 'cv22', 'cv25', 'cv29', 'cv33', 'cv34', 'cv37'] # Fira Mono Style
ss06 = ['cv01', 'cv12', 'cv03', 'cv07', 'cv14', 'cv18', 'cv20', 'cv22', 'cv25', 'cv29', 'cv32', 'cv34', 'cv36'] # Liberation Mono Style
ss07 = ['cv02', 'cv12', 'cv06', 'cv10', 'cv13', 'cv18', 'cv20', 'cv22', 'cv25', 'cv29', 'cv32', 'cv34', 'cv36'] # Monaco Style
ss08 = ['cv01', 'cv11', 'cv03', 'cv07', 'cv14', 'cv19', 'cv21', 'cv22', 'cv25', 'cv29', 'cv31', 'cv34', 'cv36'] # Pragmata Pro Style
ss09 = ['cv01', 'cv11', 'cv05', 'cv08', 'cv14', 'cv19', 'cv20', 'cv22', 'cv25', 'cv29', 'cv31', 'cv34', 'cv37'] # Source Code Pro Style
[iosevka.sscompose.italic]
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
ss01 = ['cv01', 'cv11', 'cv05', 'cv10', 'cv14', 'cv18', 'cv21', 'cv22', 'cv25', 'cv29', 'cv32', 'cv34', 'cv36'] # Andale Mono Style
ss02 = ['cv01', 'cv12', 'cv03', 'cv07', 'cv13', 'cv19', 'cv20', 'cv22', 'cv25', 'cv29', 'cv32', 'cv34', 'cv36'] # Anonymous Pro Style
ss03 = ['cv02', 'cv12', 'cv04', 'cv08', 'cv13', 'cv18', 'cv21', 'cv22', 'cv25', 'cv29', 'cv32', 'cv34', 'cv36'] # Consolas Style
ss04 = ['cv01', 'cv12', 'cv03', 'cv08', 'cv13', 'cv19', 'cv21', 'cv22', 'cv25', 'cv29', 'cv31', 'cv34', 'cv36'] # Menlo Style
ss05 = ['cv01', 'cv24', 'cv03', 'cv08', 'cv14', 'cv18', 'cv21', 'cv22', 'cv25', 'cv29', 'cv33', 'cv34', 'cv37'] # Fira Mono Style
ss06 = ['cv01', 'cv12', 'cv03', 'cv07', 'cv14', 'cv18', 'cv20', 'cv22', 'cv25', 'cv29', 'cv32', 'cv34', 'cv36'] # Liberation Mono Style
ss07 = ['cv02', 'cv12', 'cv06', 'cv10', 'cv13', 'cv18', 'cv20', 'cv22', 'cv25', 'cv29', 'cv32', 'cv34', 'cv36'] # Monaco Style
ss08 = ['cv01', 'cv12', 'cv03', 'cv07', 'cv14', 'cv19', 'cv21', 'cv22', 'cv25', 'cv29', 'cv31', 'cv34', 'cv36'] # Pragmata Pro Style
ss09 = ['cv02', 'cv12', 'cv04', 'cv08', 'cv14', 'cv19', 'cv20', 'cv22', 'cv25', 'cv29', 'cv31', 'cv34', 'cv37'] # Source Code Pro Style
[verbose]
verbose = true
@ -720,4 +720,18 @@ eszet = 'traditional'
[v-eszet-sulzbacher.variantSelector]
eszet = 'sulzbacher'
[cv35.variantSelector]
eszet = 'sulzbacher'
eszet = 'sulzbacher'
[v-brace-straight.variantSelector]
braceLeft = 'straight'
braceRight = 'straight'
[cv36.variantSelector]
braceLeft = 'straight'
braceRight = 'straight'
[v-brace-curly.variantSelector]
braceLeft = 'curly'
braceRight = 'curly'
[cv37.variantSelector]
braceLeft = 'curly'
braceRight = 'curly'