%! % x1 y1 x2 y2 -> X1 Y1 X2Y2 X3 Y3 curveto /quadto { 1 dict begin currentpoint % x1 y1 x2 y2 x0 y0 4 index dup add add 3 div % x1 y1 x2 y2 x0 (y0+2 y1)/3 6 1 roll % Y1 x1 y1 x2 y2 x0 4 index dup add add 3 div % Y1 x1 y1 x2 y2 (x0+2 x1)/3 6 1 roll % X1 Y1 x1 y1 x2 y2 2 copy % X1 Y1 x1 y1 x2 y2 x2 y2 5 -1 roll dup add add 3 div % X1 Y1 x1 x2 y2 x2 (y2 + 2 y1)/3 5 1 roll % X1 Y1 Y2 x1 x2 y2 x2 4 -1 roll dup add add 3 div % X1 Y1 Y2 x2 y2 X2 4 1 roll % X1 Y1 X2 Y2 x2 y2 curveto end } def