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 include : FlipAround MIDDLE parenMid
save 'bracketRight' ']' save 'bracketRight' ']'
sketch # braceLeft sketch # braceLeft.straight
local parenCenter [mix SB RIGHTSB [mix braceInside braceOutside 0.5]] local parenCenter [mix SB RIGHTSB [mix braceInside braceOutside 0.5]]
local radius : [mix SB RIGHTSB braceInside] - parenCenter local radius : [mix SB RIGHTSB braceInside] - parenCenter
include : dispiro include : dispiro
flat [mix SB RIGHTSB braceInside] (parenTop - HALFSTROKE) [widths.heading HALFSTROKE HALFSTROKE LEFTWARD] straight.left.start [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]
archv archv
flat parenCenter (parenTop - radius) [heading DOWNWARD] flat parenCenter (parenTop - radius) [heading DOWNWARD]
curl parenCenter (parenMid + radius) [heading DOWNWARD] curl parenCenter (parenMid + radius) [heading DOWNWARD]
arcvh arcvh
flat ([mix SB RIGHTSB braceOutside] + 0.01) parenMid [heading LEFTWARD] straight.left.end [mix SB RIGHTSB braceOutside] parenMid [heading LEFTWARD]
curl [mix SB RIGHTSB braceOutside] parenMid [heading LEFTWARD]
include : dispiro include : dispiro
flat [mix SB RIGHTSB braceInside] (parenBot + HALFSTROKE) [widths.heading HALFSTROKE HALFSTROKE LEFTWARD] straight.left.start [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]
archv archv
flat parenCenter (parenBot + radius) [heading UPWARD] flat parenCenter (parenBot + radius) [heading UPWARD]
curl parenCenter (parenMid - radius) [heading UPWARD] curl parenCenter (parenMid - radius) [heading UPWARD]
arcvh arcvh
flat ([mix SB RIGHTSB braceOutside] + 0.01) parenMid [heading LEFTWARD] straight.left.end [mix SB RIGHTSB braceOutside] parenMid [heading LEFTWARD]
curl [mix SB RIGHTSB braceOutside] parenMid [heading LEFTWARD] save 'braceLeft.straight'
save 'braceLeft' '{'
sketch # braceRight sketch # braceLeft.curly
include glyphs.braceLeft local xIns : mix SB RIGHTSB [mix braceOutside braceInside 1]
include : FlipAround MIDDLE parenMid local xOus : mix SB RIGHTSB [mix braceInside braceOutside 1]
save 'braceRight' '}' 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 sketch # angleLeft
local fatten : Math.hypot 1 (([mix SB RIGHTSB : parenInside - parenOutside] - O) / (parenTop - parenMid)) 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.variantSelector]
[iosevka.sscompose.upright] [iosevka.sscompose.upright]
ss01 = ['cv01', 'cv11', 'cv05', 'cv10', 'cv14', 'cv18', 'cv21', 'cv22', 'cv25', 'cv29', 'cv32', 'cv34'] # Andale Mono 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'] # Anonymous Pro 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'] # Consolas 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'] # Menlo 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'] # Fira Mono 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'] # Liberation 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'] # Monaco 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'] # Pragmata Pro 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'] # Source Code Pro Style ss09 = ['cv01', 'cv11', 'cv05', 'cv08', 'cv14', 'cv19', 'cv20', 'cv22', 'cv25', 'cv29', 'cv31', 'cv34', 'cv37'] # Source Code Pro Style
[iosevka.sscompose.italic] [iosevka.sscompose.italic]
ss01 = ['cv01', 'cv11', 'cv05', 'cv10', 'cv14', 'cv18', 'cv21', 'cv22', 'cv25', 'cv29', 'cv32', 'cv34'] # Andale Mono 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'] # Anonymous Pro 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'] # Consolas 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'] # Menlo 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'] # Fira Mono 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'] # Liberation 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'] # Monaco 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'] # Pragmata Pro 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'] # Source Code Pro Style ss09 = ['cv02', 'cv12', 'cv04', 'cv08', 'cv14', 'cv19', 'cv20', 'cv22', 'cv25', 'cv29', 'cv31', 'cv34', 'cv37'] # Source Code Pro Style
[verbose] [verbose]
verbose = true verbose = true
@ -721,3 +721,17 @@ eszet = 'traditional'
eszet = 'sulzbacher' eszet = 'sulzbacher'
[cv35.variantSelector] [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'