- currentlinewidth 2 div
- 0 0 2 index 180 270 arc
- 2 index 0 2 index 270 360 arc
- 3 copy 0 90 arc
- 0 2 index 3 -1 roll 90 180 arc
- closepath
- 2 copy 2 mul gt
- { % horizontal
- 2 copy add currentlinewidth add 10 add % large enough
- 0 1 index neg moveto
- 2 index 1 index neg lineto
- 2 index 1 index lineto
- 0 exch lineto closepath
- gsave clip newpath
- 0 1 index 2 div moveto
- currentlinewidth add setlinewidth
- 0 rlineto
- 2 setlinecap
- stroke
- grestore
- }
- {
- 2 copy exch 2 mul gt
- { % vertical
+ currentstrokeadjust {
+ currentlinewidth 2 div
+ 0 0 2 index 180 270 arc
+ 2 index 0 2 index 270 360 arc
+ 3 copy 0 90 arc
+ 0 2 index 3 -1 roll 90 180 arc
+ closepath
+ 2 copy 2 mul gt
+ { % horizontal