%!PS-Adobe-2.0 %%BoundingBox: 0 0 300 100 /page-to-user { matrix defaultmatrix transform itransform } def /user-to-page { transform matrix defaultmatrix itransform } def /pix-square { 1 dict begin user-to-page /y exch def /x exch def x pixwd -0.5 mul add y pixwd -0.5 mul add page-to-user moveto x pixwd 0.5 mul add y pixwd -0.5 mul add page-to-user lineto x pixwd 0.5 mul add y pixwd 0.5 mul add page-to-user lineto x pixwd -0.5 mul add y pixwd 0.5 mul add page-to-user lineto closepath end } def /pix-diamond { 1 dict begin user-to-page /y exch def /x exch def x y pixwd 2 sqrt 2 div mul add page-to-user moveto x pixwd 2 sqrt 2 div mul sub y page-to-user lineto x y pixwd 2 sqrt 2 div mul sub page-to-user lineto x pixwd 2 sqrt 2 div mul add y page-to-user lineto closepath end } def /Display-path { { 1 dict begin gsave newpath pix-square gsave 0 setgray fill grestore 0 setgray stroke grestore end } { 1 dict begin gsave newpath pix-diamond gsave 1 setgray fill grestore 0 setgray stroke grestore end } { 1 dict begin gsave newpath pix-diamond gsave 0 setgray fill grestore 0 setgray stroke newpath pix-diamond gsave 0 setgray fill grestore 0 setgray stroke newpath pix-diamond gsave 0 setgray fill grestore 0 setgray stroke grestore end } { } pathforall } def % ---------------------------------------------------------------- /pixwd 4 def % ---------------------------------------------------------------- 150 50 translate /S 64 def S dup scale 1 S div setlinewidth -2 -0.5 translate newpath 0 0 moveto 1 0 lineto 2 1 3 1 4 0 curveto Display-path stroke showpage