@@ -55,30 +55,42 @@ glyph-block CommonShapes : begin
5555 define [MaskLeft x] : Rect VERY-FAR (-VERY-FAR) (-VERY-FAR) x
5656 glyph-block-export MaskRight
5757 define [MaskRight x] : Rect VERY-FAR (-VERY-FAR) x VERY-FAR
58+
5859 glyph-block-export MaskAboveLine
59- define [MaskAboveLine x1 y1 x2 y2] : spiro-outline
60- corner x1 (+VERY-FAR)
61- corner x1 y1
62- corner x2 y2
63- corner x2 (+VERY-FAR)
60+ define [MaskAboveLine x1 y1 x2 y2 _ext] : begin
61+ local ext : fallback _ext 0
62+ return : spiro-outline
63+ corner [mix x1 x2 (-ext)] (+VERY-FAR)
64+ corner [mix x1 x2 (-ext)] [mix y1 y2 (-ext)]
65+ corner [mix x1 x2 (1 + ext)] [mix y1 y2 (1 + ext)]
66+ corner [mix x1 x2 (1 + ext)] (+VERY-FAR)
67+
6468 glyph-block-export MaskBelowLine
65- define [MaskBelowLine x1 y1 x2 y2] : spiro-outline
66- corner x1 (-VERY-FAR)
67- corner x1 y1
68- corner x2 y2
69- corner x2 (-VERY-FAR)
69+ define [MaskBelowLine x1 y1 x2 y2 _ext] : begin
70+ local ext : fallback _ext 0
71+ return : spiro-outline
72+ corner [mix x1 x2 (-ext)] (-VERY-FAR)
73+ corner [mix x1 x2 (-ext)] [mix y1 y2 (-ext)]
74+ corner [mix x1 x2 (1 + ext)] [mix y1 y2 (1 + ext)]
75+ corner [mix x1 x2 (1 + ext)] (-VERY-FAR)
76+
7077 glyph-block-export MaskLeftLine
71- define [MaskLeftLine x1 y1 x2 y2] : spiro-outline
72- corner (-VERY-FAR) y1
73- corner x1 y1
74- corner x2 y2
75- corner (-VERY-FAR) y2
78+ define [MaskLeftLine x1 y1 x2 y2 _ext] : begin
79+ local ext : fallback _ext 0
80+ spiro-outline
81+ corner (-VERY-FAR) [mix y1 y2 (-ext)]
82+ corner [mix x1 x2 (-ext)] [mix y1 y2 (-ext)]
83+ corner [mix x2 x2 (1 + ext)] [mix y1 y2 (1 + ext)]
84+ corner (-VERY-FAR) [mix y1 y2 (1 + ext)]
85+
7686 glyph-block-export MaskRightLine
77- define [MaskRightLine x1 y1 x2 y2] : spiro-outline
78- corner (+VERY-FAR) y1
79- corner x1 y1
80- corner x2 y2
81- corner (+VERY-FAR) y2
87+ define [MaskRightLine x1 y1 x2 y2 _ext] : begin
88+ local ext : fallback _ext 0
89+ spiro-outline
90+ corner (+VERY-FAR) [mix y1 y2 (-ext)]
91+ corner [mix x1 x2 (-ext)] [mix y1 y2 (-ext)]
92+ corner [mix x2 x2 (1 + ext)] [mix y1 y2 (1 + ext)]
93+ corner (+VERY-FAR) [mix y1 y2 (1 + ext)]
8294
8395 glyph-block-export HalfRectTriangle
8496 define [HalfRectTriangle x1 y1 x2 y2] : spiro-outline
0 commit comments