font_identifier "CIRCLEOV"; font_size 8pt#; font_coding_scheme:="LATEX CIRCLE"; aspect_ratio#:=1; mode_setup; let cmchar=\; % cmchar should precede each character, for testing purposes thicknessone:=ceiling(0.4pt#*hppp); % the way rules thicknesses are done % thickness#:=thickness/hppp; % and let thickness# round to right value % NO, I deleted this BAD line! --- DEK, 9 Jul 87 pickup pencircle scaled thicknessone; nibone:=savepen; pickup pencircle scaled 2thicknessone; nibtwo:=savepen; pickup pencircle scaled 3thicknessone; nibthree:=savepen; pickup pencircle scaled 4thicknessone; nibfour:=savepen; def qbeginchar (expr c, diam_sharp) = beginchar(c,.5*diam_sharp,.5*diam_sharp,0); enddef; def upleftchar(expr diam_sharp) = draw quartercircle rotated 90 scaled 4diam_sharp shifted (2diam_sharp,0); enddef; def downleftchar(expr diam_sharp) = draw quartercircle rotated 180 scaled 4diam_sharp shifted (2diam_sharp,2diam_sharp); enddef; def uprightchar(expr diam_sharp) = draw quartercircle scaled 4diam_sharp; enddef; def downrightchar(expr diam_sharp) = draw quartercircle rotated 270 scaled 4diam_sharp shifted (0,2diam_sharp); enddef; cmchar "2pt, top left"; qbeginchar(0,4pt#); pickup nibone; upleftchar(4pt#); endchar; cmchar "2pt, bottom left"; qbeginchar(1,4pt#); pickup nibone; downleftchar(4pt#); endchar; cmchar "2pt, top right"; qbeginchar(2,4pt#); pickup nibone; uprightchar(4pt#); endchar; cmchar "2pt, bottom right"; qbeginchar(3,4pt#); pickup nibone; downrightchar(4pt#); endchar; cmchar "4pt, top left"; qbeginchar(4,8pt#); pickup nibone; upleftchar(8pt#); endchar; cmchar "4pt, bottom left"; qbeginchar(5,8pt#); pickup nibone; downleftchar(8pt#); endchar; cmchar "4pt, top right"; qbeginchar(6,8pt#); pickup nibone; uprightchar(8pt#); endchar; cmchar "4pt, bottom right"; qbeginchar(7,8pt#); pickup nibone; downrightchar(8pt#); endchar; cmchar "6pt, top left"; qbeginchar(8,12pt#); pickup nibone; upleftchar(12pt#); endchar; cmchar "6pt, bottom left"; qbeginchar(9,12pt#); pickup nibone; downleftchar(12pt#); endchar; cmchar "6pt, top right"; qbeginchar(10,12pt#); pickup nibone; uprightchar(12pt#); endchar; cmchar "6pt, bottom right"; qbeginchar(11,12pt#); pickup nibone; downrightchar(12pt#); endchar; cmchar "8pt, top left"; qbeginchar(12,16pt#); pickup nibone; upleftchar(16pt#); endchar; cmchar "8pt, bottom left"; qbeginchar(13,16pt#); pickup nibone; downleftchar(16pt#); endchar; cmchar "8pt, top right"; qbeginchar(14,16pt#); pickup nibone; uprightchar(16pt#); endchar; cmchar "8pt, bottom right"; qbeginchar(15,16pt#); pickup nibone; downrightchar(16pt#); endchar; cmchar "10pt, top left"; qbeginchar(16,20pt#); pickup nibone; upleftchar(20pt#); endchar; cmchar "10pt, bottom left"; qbeginchar(17,20pt#); pickup nibone; downleftchar(20pt#); endchar; cmchar "10pt, top right"; qbeginchar(18,20pt#); pickup nibone; uprightchar(20pt#); endchar; cmchar "10pt, bottom right"; qbeginchar(19,20pt#); pickup nibone; downrightchar(20pt#); endchar; cmchar "12pt, top left"; qbeginchar(20,24pt#); pickup nibone; upleftchar(24pt#); endchar; cmchar "12pt, bottom left"; qbeginchar(21,24pt#); pickup nibone; downleftchar(24pt#); endchar; cmchar "12pt, top right"; qbeginchar(22,24pt#); pickup nibone; uprightchar(24pt#); endchar; cmchar "12pt, bottom right"; qbeginchar(23,24pt#); pickup nibone; downrightchar(24pt#); endchar; cmchar "14pt, top left"; qbeginchar(24,28pt#); pickup nibone; upleftchar(28pt#); endchar; cmchar "14pt, bottom left"; qbeginchar(25,28pt#); pickup nibone; downleftchar(28pt#); endchar; cmchar "14pt, top right"; qbeginchar(26,28pt#); pickup nibone; uprightchar(28pt#); endchar; cmchar "14pt, bottom right"; qbeginchar(27,28pt#); pickup nibone; downrightchar(28pt#); endchar; cmchar "16pt, top left"; qbeginchar(28,32pt#); pickup nibone; upleftchar(32pt#); endchar; cmchar "16pt, bottom left"; qbeginchar(29,32pt#); pickup nibone; downleftchar(32pt#); endchar; cmchar "16pt, top right"; qbeginchar(30,32pt#); pickup nibone; uprightchar(32pt#); endchar; cmchar "16pt, bottom right"; qbeginchar(31,32pt#); pickup nibone; downrightchar(32pt#); endchar; cmchar "2pt, top left"; qbeginchar(32+0,4pt#); pickup nibtwo; upleftchar(4pt#); endchar; cmchar "2pt, bottom left"; qbeginchar(32+1,4pt#); pickup nibtwo; downleftchar(4pt#); endchar; cmchar "2pt, top right"; qbeginchar(32+2,4pt#); pickup nibtwo; uprightchar(4pt#); endchar; cmchar "2pt, bottom right"; qbeginchar(32+3,4pt#); pickup nibtwo; downrightchar(4pt#); endchar; cmchar "4pt, top left"; qbeginchar(32+4,8pt#); pickup nibtwo; upleftchar(8pt#); endchar; cmchar "4pt, bottom left"; qbeginchar(32+5,8pt#); pickup nibtwo; downleftchar(8pt#); endchar; cmchar "4pt, top right"; qbeginchar(32+6,8pt#); pickup nibtwo; uprightchar(8pt#); endchar; cmchar "4pt, bottom right"; qbeginchar(32+7,8pt#); pickup nibtwo; downrightchar(8pt#); endchar; cmchar "6pt, top left"; qbeginchar(32+8,12pt#); pickup nibtwo; upleftchar(12pt#); endchar; cmchar "6pt, bottom left"; qbeginchar(32+9,12pt#); pickup nibtwo; downleftchar(12pt#); endchar; cmchar "6pt, top right"; qbeginchar(32+10,12pt#); pickup nibtwo; uprightchar(12pt#); endchar; cmchar "6pt, bottom right"; qbeginchar(32+11,12pt#); pickup nibtwo; downrightchar(12pt#); endchar; cmchar "8pt, top left"; qbeginchar(32+12,16pt#); pickup nibtwo; upleftchar(16pt#); endchar; cmchar "8pt, bottom left"; qbeginchar(32+13,16pt#); pickup nibtwo; downleftchar(16pt#); endchar; cmchar "8pt, top right"; qbeginchar(32+14,16pt#); pickup nibtwo; uprightchar(16pt#); endchar; cmchar "8pt, bottom right"; qbeginchar(32+15,16pt#); pickup nibtwo; downrightchar(16pt#); endchar; cmchar "10pt, top left"; qbeginchar(32+16,20pt#); pickup nibtwo; upleftchar(20pt#); endchar; cmchar "10pt, bottom left"; qbeginchar(32+17,20pt#); pickup nibtwo; downleftchar(20pt#); endchar; cmchar "10pt, top right"; qbeginchar(32+18,20pt#); pickup nibtwo; uprightchar(20pt#); endchar; cmchar "10pt, bottom right"; qbeginchar(32+19,20pt#); pickup nibtwo; downrightchar(20pt#); endchar; cmchar "12pt, top left"; qbeginchar(32+20,24pt#); pickup nibtwo; upleftchar(24pt#); endchar; cmchar "12pt, bottom left"; qbeginchar(32+21,24pt#); pickup nibtwo; downleftchar(24pt#); endchar; cmchar "12pt, top right"; qbeginchar(32+22,24pt#); pickup nibtwo; uprightchar(24pt#); endchar; cmchar "12pt, bottom right"; qbeginchar(32+23,24pt#); pickup nibtwo; downrightchar(24pt#); endchar; cmchar "14pt, top left"; qbeginchar(32+24,28pt#); pickup nibtwo; upleftchar(28pt#); endchar; cmchar "14pt, bottom left"; qbeginchar(32+25,28pt#); pickup nibtwo; downleftchar(28pt#); endchar; cmchar "14pt, top right"; qbeginchar(32+26,28pt#); pickup nibtwo; uprightchar(28pt#); endchar; cmchar "14pt, bottom right"; qbeginchar(32+27,28pt#); pickup nibtwo; downrightchar(28pt#); endchar; cmchar "16pt, top left"; qbeginchar(32+28,32pt#); pickup nibtwo; upleftchar(32pt#); endchar; cmchar "16pt, bottom left"; qbeginchar(32+29,32pt#); pickup nibtwo; downleftchar(32pt#); endchar; cmchar "16pt, top right"; qbeginchar(32+30,32pt#); pickup nibtwo; uprightchar(32pt#); endchar; cmchar "16pt, bottom right"; qbeginchar(32+31,32pt#); pickup nibtwo; downrightchar(32pt#); endchar; cmchar "2pt, top left"; qbeginchar(64+0,4pt#); pickup nibthree; upleftchar(4pt#); endchar; cmchar "2pt, bottom left"; qbeginchar(64+1,4pt#); pickup nibthree; downleftchar(4pt#); endchar; cmchar "2pt, top right"; qbeginchar(64+2,4pt#); pickup nibthree; uprightchar(4pt#); endchar; cmchar "2pt, bottom right"; qbeginchar(64+3,4pt#); pickup nibthree; downrightchar(4pt#); endchar; cmchar "4pt, top left"; qbeginchar(64+4,8pt#); pickup nibthree; upleftchar(8pt#); endchar; cmchar "4pt, bottom left"; qbeginchar(64+5,8pt#); pickup nibthree; downleftchar(8pt#); endchar; cmchar "4pt, top right"; qbeginchar(64+6,8pt#); pickup nibthree; uprightchar(8pt#); endchar; cmchar "4pt, bottom right"; qbeginchar(64+7,8pt#); pickup nibthree; downrightchar(8pt#); endchar; cmchar "6pt, top left"; qbeginchar(64+8,12pt#); pickup nibthree; upleftchar(12pt#); endchar; cmchar "6pt, bottom left"; qbeginchar(64+9,12pt#); pickup nibthree; downleftchar(12pt#); endchar; cmchar "6pt, top right"; qbeginchar(64+10,12pt#); pickup nibthree; uprightchar(12pt#); endchar; cmchar "6pt, bottom right"; qbeginchar(64+11,12pt#); pickup nibthree; downrightchar(12pt#); endchar; cmchar "8pt, top left"; qbeginchar(64+12,16pt#); pickup nibthree; upleftchar(16pt#); endchar; cmchar "8pt, bottom left"; qbeginchar(64+13,16pt#); pickup nibthree; downleftchar(16pt#); endchar; cmchar "8pt, top right"; qbeginchar(64+14,16pt#); pickup nibthree; uprightchar(16pt#); endchar; cmchar "8pt, bottom right"; qbeginchar(64+15,16pt#); pickup nibthree; downrightchar(16pt#); endchar; cmchar "10pt, top left"; qbeginchar(64+16,20pt#); pickup nibthree; upleftchar(20pt#); endchar; cmchar "10pt, bottom left"; qbeginchar(64+17,20pt#); pickup nibthree; downleftchar(20pt#); endchar; cmchar "10pt, top right"; qbeginchar(64+18,20pt#); pickup nibthree; uprightchar(20pt#); endchar; cmchar "10pt, bottom right"; qbeginchar(64+19,20pt#); pickup nibthree; downrightchar(20pt#); endchar; cmchar "12pt, top left"; qbeginchar(64+20,24pt#); pickup nibthree; upleftchar(24pt#); endchar; cmchar "12pt, bottom left"; qbeginchar(64+21,24pt#); pickup nibthree; downleftchar(24pt#); endchar; cmchar "12pt, top right"; qbeginchar(64+22,24pt#); pickup nibthree; uprightchar(24pt#); endchar; cmchar "12pt, bottom right"; qbeginchar(64+23,24pt#); pickup nibthree; downrightchar(24pt#); endchar; cmchar "14pt, top left"; qbeginchar(64+24,28pt#); pickup nibthree; upleftchar(28pt#); endchar; cmchar "14pt, bottom left"; qbeginchar(64+25,28pt#); pickup nibthree; downleftchar(28pt#); endchar; cmchar "14pt, top right"; qbeginchar(64+26,28pt#); pickup nibthree; uprightchar(28pt#); endchar; cmchar "14pt, bottom right"; qbeginchar(64+27,28pt#); pickup nibthree; downrightchar(28pt#); endchar; cmchar "16pt, top left"; qbeginchar(64+28,32pt#); pickup nibthree; upleftchar(32pt#); endchar; cmchar "16pt, bottom left"; qbeginchar(64+29,32pt#); pickup nibthree; downleftchar(32pt#); endchar; cmchar "16pt, top right"; qbeginchar(64+30,32pt#); pickup nibthree; uprightchar(32pt#); endchar; cmchar "16pt, bottom right"; qbeginchar(64+31,32pt#); pickup nibthree; downrightchar(32pt#); endchar; cmchar "2pt, top left"; qbeginchar(96+0,4pt#); pickup nibfour; upleftchar(4pt#); endchar; cmchar "2pt, bottom left"; qbeginchar(96+1,4pt#); pickup nibfour; downleftchar(4pt#); endchar; cmchar "2pt, top right"; qbeginchar(96+2,4pt#); pickup nibfour; uprightchar(4pt#); endchar; cmchar "2pt, bottom right"; qbeginchar(96+3,4pt#); pickup nibfour; downrightchar(4pt#); endchar; cmchar "4pt, top left"; qbeginchar(96+4,8pt#); pickup nibfour; upleftchar(8pt#); endchar; cmchar "4pt, bottom left"; qbeginchar(96+5,8pt#); pickup nibfour; downleftchar(8pt#); endchar; cmchar "4pt, top right"; qbeginchar(96+6,8pt#); pickup nibfour; uprightchar(8pt#); endchar; cmchar "4pt, bottom right"; qbeginchar(96+7,8pt#); pickup nibfour; downrightchar(8pt#); endchar; cmchar "6pt, top left"; qbeginchar(96+8,12pt#); pickup nibfour; upleftchar(12pt#); endchar; cmchar "6pt, bottom left"; qbeginchar(96+9,12pt#); pickup nibfour; downleftchar(12pt#); endchar; cmchar "6pt, top right"; qbeginchar(96+10,12pt#); pickup nibfour; uprightchar(12pt#); endchar; cmchar "6pt, bottom right"; qbeginchar(96+11,12pt#); pickup nibfour; downrightchar(12pt#); endchar; cmchar "8pt, top left"; qbeginchar(96+12,16pt#); pickup nibfour; upleftchar(16pt#); endchar; cmchar "8pt, bottom left"; qbeginchar(96+13,16pt#); pickup nibfour; downleftchar(16pt#); endchar; cmchar "8pt, top right"; qbeginchar(96+14,16pt#); pickup nibfour; uprightchar(16pt#); endchar; cmchar "8pt, bottom right"; qbeginchar(96+15,16pt#); pickup nibfour; downrightchar(16pt#); endchar; cmchar "10pt, top left"; qbeginchar(96+16,20pt#); pickup nibfour; upleftchar(20pt#); endchar; cmchar "10pt, bottom left"; qbeginchar(96+17,20pt#); pickup nibfour; downleftchar(20pt#); endchar; cmchar "10pt, top right"; qbeginchar(96+18,20pt#); pickup nibfour; uprightchar(20pt#); endchar; cmchar "10pt, bottom right"; qbeginchar(96+19,20pt#); pickup nibfour; downrightchar(20pt#); endchar; cmchar "12pt, top left"; qbeginchar(96+20,24pt#); pickup nibfour; upleftchar(24pt#); endchar; cmchar "12pt, bottom left"; qbeginchar(96+21,24pt#); pickup nibfour; downleftchar(24pt#); endchar; cmchar "12pt, top right"; qbeginchar(96+22,24pt#); pickup nibfour; uprightchar(24pt#); endchar; cmchar "12pt, bottom right"; qbeginchar(96+23,24pt#); pickup nibfour; downrightchar(24pt#); endchar; cmchar "14pt, top left"; qbeginchar(96+24,28pt#); pickup nibfour; upleftchar(28pt#); endchar; cmchar "14pt, bottom left"; qbeginchar(96+25,28pt#); pickup nibfour; downleftchar(28pt#); endchar; cmchar "14pt, top right"; qbeginchar(96+26,28pt#); pickup nibfour; uprightchar(28pt#); endchar; cmchar "14pt, bottom right"; qbeginchar(96+27,28pt#); pickup nibfour; downrightchar(28pt#); endchar; cmchar "16pt, top left"; qbeginchar(96+28,32pt#); pickup nibfour; upleftchar(32pt#); endchar; cmchar "16pt, bottom left"; qbeginchar(96+29,32pt#); pickup nibfour; downleftchar(32pt#); endchar; cmchar "16pt, top right"; qbeginchar(96+30,32pt#); pickup nibfour; uprightchar(32pt#); endchar; cmchar "16pt, bottom right"; qbeginchar(96+31,32pt#); pickup nibfour; downrightchar(32pt#); endchar; bye;