diff --git a/glyphs/symbol-punctuation.ptl b/glyphs/symbol-punctuation.ptl index e0a6c32..f463ea5 100644 --- a/glyphs/symbol-punctuation.ptl +++ b/glyphs/symbol-punctuation.ptl @@ -191,28 +191,39 @@ export : define [apply] : begin ### 'Emotion Punctuations' local questionBottom : Math.max (CAP * 0.3) (DOTSIZE * 1.5) - sketch # question - set-width WIDTH - include : Ring (DOTSIZE - O) O (MIDDLE - DOTRADIUS + O) (MIDDLE + DOTRADIUS - O) true + define [QuestionShape top questionBottom left right] : glyph-construction include : dispiro widths.rhs - g4 SB (CAP - HOOK) - hookstart CAPO - g4 RIGHTSB (CAP - SMOOTHB * 0.9) + g4 left (top - HOOK) + hookstart (top - O) + g4 right (top - SMOOTHB * 0.9) alsothru 0.5 0.45 [widths.center ESSQUESTION] - straight.down.end (MIDDLE - HALFSTROKE * HVCONTRAST) questionBottom [widths STROKE 0] + straight.down.end ([mix left right 0.5] - HALFSTROKE * HVCONTRAST) questionBottom [widths STROKE 0] + + sketch # question + set-width WIDTH + include : QuestionShape CAP questionBottom SB RIGHTSB + include : Ring (DOTSIZE - O) O (MIDDLE - DOTRADIUS + O) (MIDDLE + DOTRADIUS - O) true save 'question' '?' + sketch # interrobang + set-width WIDTH + local angle : 12 / 180 * Math.PI + include : QuestionShape CAP questionBottom [mix MIDDLE SB 0.75] RIGHTSB + include : Translate (-MIDDLE) (-DOTRADIUS) + include : Rotate (-2 * angle) + include : Translate MIDDLE DOTRADIUS + include : VBar MIDDLE questionBottom CAP + include : Translate (-MIDDLE) (-DOTRADIUS) + include : Rotate (1.2 * angle) + include : Translate MIDDLE DOTRADIUS + include : Ring (DOTSIZE - O) O (MIDDLE - DOTRADIUS + O) (MIDDLE + DOTRADIUS - O) true + save 'interrobang' 0x203D + sketch # dwquestion set-width UPM + include : QuestionShape CAP questionBottom (UPM * 0.25) (UPM * 0.75) include : Ring (DOTSIZE - O) O (UPM / 2 - DOTRADIUS + O) (UPM / 2 + DOTRADIUS - O) true - include : dispiro - widths.rhs - g4 (UPM * 0.25) (CAP - HOOK) - hookstart CAPO - g4 (UPM * 0.75) (CAP - SMOOTHB * 0.9) - alsothru 0.5 0.45 [widths.center ESSQUESTION] - straight.down.end (UPM / 2 - HALFSTROKE * HVCONTRAST) questionBottom [widths STROKE 0] save 'dwquestion' 0xFF1F sketch # questionDown