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 do
local ymiddle : [mix 0 CAP 0.5] - HALFSTROKE local ymiddle : [mix 0 CAP 0.5] - HALFSTROKE
local xmiddle : RIGHTSB - ymiddle / 2 - STROKE * 0.75 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 sketch # eszet
set-width WIDTH set-width WIDTH
include markset.if include markset.if

View File

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

View File

@ -182,4 +182,16 @@ export : define designParameters : object
logic_narrow_shrink 0.75 logic_narrow_shrink 0.75
geometric_large_x (1 + 2 / 3) geometric_large_x (1 + 2 / 3)
geometric_small_x (3 / 5) geometric_small_x (3 / 5)
arrow_size (3 / 8) 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