diff --git a/glyphs/letters-unified-extended.ptl b/glyphs/letters-unified-extended.ptl index 1a89ccb..7d13cb1 100644 --- a/glyphs/letters-unified-extended.ptl +++ b/glyphs/letters-unified-extended.ptl @@ -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 diff --git a/glyphs/symbol-punctuation.ptl b/glyphs/symbol-punctuation.ptl index e6eb69c..92ea242 100644 --- a/glyphs/symbol-punctuation.ptl +++ b/glyphs/symbol-punctuation.ptl @@ -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 diff --git a/meta/aesthetics.ptl b/meta/aesthetics.ptl index 47cd8e0..37cbcda 100644 --- a/meta/aesthetics.ptl +++ b/meta/aesthetics.ptl @@ -182,4 +182,16 @@ export : define designParameters : object logic_narrow_shrink 0.75 geometric_large_x (1 + 2 / 3) geometric_small_x (3 / 5) - arrow_size (3 / 8) \ No newline at end of file + 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 \ No newline at end of file