Enlarge (?) brackets

This commit is contained in:
be5invis 2017-01-23 02:23:58 +08:00
parent 08856a9543
commit 60e5f257d7
3 changed files with 48 additions and 43 deletions

View File

@ -1338,7 +1338,8 @@ export : define [apply] : begin
do
local ymiddle : [mix 0 CAP 0.5] - HALFSTROKE
local xmiddle : RIGHTSB - ymiddle / 2 - STROKE * 0.75
local xfinal : Math.min (RIGHTSB - ymiddle / 2 - HALFSTROKE - 1 - STROKE * TANSLANT) (SB + STROKE * 1.75)
local xfinal : Math.min (RIGHTSB - ymiddle / 2 - HALFSTROKE - 1 - STROKE * TANSLANT)
Math.max (SB + STROKE * 2) [mix SB RIGHTSB (1 / 4)]
sketch # eszet
set-width WIDTH
include markset.if

View File

@ -33,22 +33,14 @@ export : define [apply] : begin
save 'emsp' 0x2003
### 'Brackets'
local parenOutside 0.15
local parenInside 0.65
local bracketOutside 0.15
local bracketInside 0.9
local braceOutside 0.1
local braceInside 0.9
sketch # parenLeft
local p 0.6
include : dispiro
widths.lhs
g4 [mix SB RIGHTSB parenInside] parenTop
quadcontrols 1 (1 - p)
g4 [mix SB RIGHTSB parenOutside] parenMid
quadcontrols 0 p
g4 [mix SB RIGHTSB parenInside] parenBot
g4 [mix SB RIGHTSB designParameters.parenInside] parenTop
quadcontrols 1 (1 - designParameters.parenCurliness)
g4 [mix SB RIGHTSB designParameters.parenOutside] parenMid
quadcontrols 0 designParameters.parenCurliness
g4 [mix SB RIGHTSB designParameters.parenInside] parenBot
save 'parenLeft' '('
sketch # parenRight
@ -57,9 +49,9 @@ export : define [apply] : begin
save 'parenRight' ')'
sketch # bracketLeft
include : HBarBottom [mix SB RIGHTSB bracketOutside] [mix SB RIGHTSB bracketInside] parenBot
include : HBarTop [mix SB RIGHTSB bracketOutside] [mix SB RIGHTSB bracketInside] parenTop
include : VBarLeft [mix SB RIGHTSB bracketOutside] parenBot parenTop
include : HBarBottom [mix SB RIGHTSB designParameters.bracketOutside] [mix SB RIGHTSB designParameters.bracketInside] parenBot
include : HBarTop [mix SB RIGHTSB designParameters.bracketOutside] [mix SB RIGHTSB designParameters.bracketInside] parenTop
include : VBarLeft [mix SB RIGHTSB designParameters.bracketOutside] parenBot parenTop
save 'bracketLeft' '['
sketch # bracketRight
@ -68,31 +60,31 @@ export : define [apply] : begin
save 'bracketRight' ']'
sketch # braceLeft.straight
local parenCenter [mix SB RIGHTSB [mix braceInside braceOutside 0.5]]
local radius : [mix SB RIGHTSB braceInside] - parenCenter
local parenCenter [mix SB RIGHTSB [mix designParameters.braceInside designParameters.braceOutside 0.5]]
local radius : [mix SB RIGHTSB designParameters.braceInside] - parenCenter
include : dispiro
straight.left.start [mix SB RIGHTSB braceInside] (parenTop - HALFSTROKE) [widths.heading HALFSTROKE HALFSTROKE LEFTWARD]
straight.left.start [mix SB RIGHTSB designParameters.braceInside] (parenTop - HALFSTROKE) [widths.heading HALFSTROKE HALFSTROKE LEFTWARD]
archv
flat parenCenter (parenTop - radius) [heading DOWNWARD]
curl parenCenter (parenMid + radius) [heading DOWNWARD]
arcvh
straight.left.end [mix SB RIGHTSB braceOutside] parenMid [heading LEFTWARD]
straight.left.end [mix SB RIGHTSB designParameters.braceOutside] parenMid [heading LEFTWARD]
include : dispiro
straight.left.start [mix SB RIGHTSB braceInside] (parenBot + HALFSTROKE) [widths.heading HALFSTROKE HALFSTROKE LEFTWARD]
straight.left.start [mix SB RIGHTSB designParameters.braceInside] (parenBot + HALFSTROKE) [widths.heading HALFSTROKE HALFSTROKE LEFTWARD]
archv
flat parenCenter (parenBot + radius) [heading UPWARD]
curl parenCenter (parenMid - radius) [heading UPWARD]
arcvh
straight.left.end [mix SB RIGHTSB braceOutside] parenMid [heading LEFTWARD]
straight.left.end [mix SB RIGHTSB designParameters.braceOutside] parenMid [heading LEFTWARD]
save 'braceLeft.straight'
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.45]
local xIns : mix SB RIGHTSB [mix designParameters.braceOutside designParameters.braceInside 1]
local xOus : mix SB RIGHTSB [mix designParameters.braceInside designParameters.braceOutside 1]
local m1 : mix SB RIGHTSB [mix designParameters.braceInside designParameters.braceOutside designParameters.braceCurlyM1]
local m2 : mix SB RIGHTSB [mix designParameters.braceInside designParameters.braceOutside designParameters.braceCurlyM2]
local braceRadiusLowLimit : (parenTop - parenMid - STROKE) * (1 / 3) + HALFSTROKE
local radius1 : Math.min (xIns - m1) braceRadiusLowLimit
local radius2 : [Math.min (m2 - xOus) braceRadiusLowLimit] - HALFSTROKE
@ -129,15 +121,15 @@ export : define [apply] : begin
}
sketch # angleLeft
local fatten : Math.hypot 1 (([mix SB RIGHTSB : parenInside - parenOutside] - O) / (parenTop - parenMid))
local fatten : Math.hypot 1 (([mix SB RIGHTSB : designParameters.parenInside - designParameters.parenOutside] - O) / (parenTop - parenMid))
include : dispiro
widths.lhs OPERATORSTROKE
flat [mix SB RIGHTSB parenInside] parenTop
curl ([mix SB RIGHTSB parenOutside] + O) parenMid [widths.heading (OPERATORSTROKE * fatten) 0 DOWNWARD]
flat [mix SB RIGHTSB designParameters.parenInside] parenTop
curl ([mix SB RIGHTSB designParameters.parenOutside] + O) parenMid [widths.heading (OPERATORSTROKE * fatten) 0 DOWNWARD]
include : dispiro
widths.rhs OPERATORSTROKE
flat [mix SB RIGHTSB parenInside] parenBot
curl ([mix SB RIGHTSB parenOutside] + O) parenMid [widths.heading 0 (OPERATORSTROKE * fatten) UPWARD]
flat [mix SB RIGHTSB designParameters.parenInside] parenBot
curl ([mix SB RIGHTSB designParameters.parenOutside] + O) parenMid [widths.heading 0 (OPERATORSTROKE * fatten) UPWARD]
save 'angleLeft' 0x2329
alias 'mangleLeft' 0x27E8 'angleLeft'
@ -148,13 +140,13 @@ export : define [apply] : begin
dual 'dblangleRight' 0x27EB 'angleRight' (WIDTH * 0.35)
sketch # ceilingLeft
include : HBarTop [mix SB RIGHTSB bracketOutside] [mix SB RIGHTSB bracketInside] parenTop
include : VBarLeft [mix SB RIGHTSB bracketOutside] parenBot parenTop
include : HBarTop [mix SB RIGHTSB designParameters.bracketOutside] [mix SB RIGHTSB designParameters.bracketInside] parenTop
include : VBarLeft [mix SB RIGHTSB designParameters.bracketOutside] parenBot parenTop
save 'ceilingLeft' 0x2308
sketch # floorLeft
include : HBarBottom [mix SB RIGHTSB bracketOutside] [mix SB RIGHTSB bracketInside] parenBot
include : VBarLeft [mix SB RIGHTSB bracketOutside] parenBot parenTop
include : HBarBottom [mix SB RIGHTSB designParameters.bracketOutside] [mix SB RIGHTSB designParameters.bracketInside] parenBot
include : VBarLeft [mix SB RIGHTSB designParameters.bracketOutside] parenBot parenTop
save 'floorLeft' 0x230A
turned 'floorRight' 0x230B 'ceilingLeft' MIDDLE parenMid
turned 'ceilingRight' 0x2309 'floorLeft' MIDDLE parenMid
@ -985,15 +977,15 @@ export : define [apply] : begin
branch
save 'cjkcomma' 0xFF64
local bracketOutside 0.05
local bracketInside 0.95
local designParameters.bracketOutside 0.05
local designParameters.bracketInside 0.95
local cjkqd 0.75
local cjkqd2 0.97
local ideotop : para.ideoMid + (parenTop - parenMid)
local ideobot : para.ideoMid - (parenTop - parenMid)
sketch # cjkSingleQuoteLeft
include : HBarTop [mix SB RIGHTSB bracketOutside] [mix SB RIGHTSB bracketInside] [mix ideobot ideotop cjkqd2]
include : VBarLeft [mix SB RIGHTSB bracketOutside] [mix ideotop ideobot cjkqd] [mix ideobot ideotop cjkqd2]
include : HBarTop [mix SB RIGHTSB designParameters.bracketOutside] [mix SB RIGHTSB designParameters.bracketInside] [mix ideobot ideotop cjkqd2]
include : VBarLeft [mix SB RIGHTSB designParameters.bracketOutside] [mix ideotop ideobot cjkqd] [mix ideobot ideotop cjkqd2]
save 'cjkSingleQuoteLeft' 0xFF62
sketch # cjkSingleQuoteRight
include glyphs.cjkSingleQuoteLeft
@ -1003,8 +995,8 @@ export : define [apply] : begin
sketch # cjkDoubleQuoteLeft
local sw : adviceBlackness 6
local dw : [Math.max (WIDTH * 0.175) [adviceBlackness 3.25]] + sw * 2
local outside : mix SB RIGHTSB bracketOutside
local inside : mix SB RIGHTSB bracketInside
local outside : mix SB RIGHTSB designParameters.bracketOutside
local inside : mix SB RIGHTSB designParameters.bracketInside
local top : mix ideobot ideotop cjkqd2
local bottom : mix ideotop ideobot cjkqd

View File

@ -183,3 +183,15 @@ export : define designParameters : object
geometric_large_x (1 + 2 / 3)
geometric_small_x (3 / 5)
arrow_size (3 / 8)
# ()
parenOutside 0.1
parenInside 0.9
parenCurliness 0.72
# []
bracketOutside 0.05
bracketInside (1)
# {}
braceOutside 0
braceInside 1
braceCurlyM1 0.6
braceCurlyM2 0.45