summaryrefslogtreecommitdiff
path: root/fonts/igo
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /fonts/igo
Initial commit
Diffstat (limited to 'fonts/igo')
-rw-r--r--fonts/igo/README11
-rw-r--r--fonts/igo/fonts/igo.mf341
-rw-r--r--fonts/igo/fonts/igo10.mf90
-rw-r--r--fonts/igo/fonts/igo11.mf90
-rw-r--r--fonts/igo/fonts/igo12.mf90
-rw-r--r--fonts/igo/fonts/igo15.mf90
-rw-r--r--fonts/igo/fonts/igo20.mf90
-rw-r--r--fonts/igo/fonts/igo5.mf90
-rw-r--r--fonts/igo/fonts/igo6.mf90
-rw-r--r--fonts/igo/fonts/igo7.mf90
-rw-r--r--fonts/igo/fonts/igo8.mf90
-rw-r--r--fonts/igo/fonts/igo9.mf90
-rw-r--r--fonts/igo/fonts/igoblacki.mf1342
-rw-r--r--fonts/igo/fonts/igoblacki10.mf13
-rw-r--r--fonts/igo/fonts/igoblacki11.mf13
-rw-r--r--fonts/igo/fonts/igoblacki12.mf13
-rw-r--r--fonts/igo/fonts/igoblacki15.mf13
-rw-r--r--fonts/igo/fonts/igoblacki20.mf13
-rw-r--r--fonts/igo/fonts/igoblacki5.mf13
-rw-r--r--fonts/igo/fonts/igoblacki6.mf13
-rw-r--r--fonts/igo/fonts/igoblacki7.mf13
-rw-r--r--fonts/igo/fonts/igoblacki8.mf13
-rw-r--r--fonts/igo/fonts/igoblacki9.mf13
-rw-r--r--fonts/igo/fonts/igoblackii.mf1437
-rw-r--r--fonts/igo/fonts/igoblackii10.mf13
-rw-r--r--fonts/igo/fonts/igoblackii11.mf13
-rw-r--r--fonts/igo/fonts/igoblackii12.mf13
-rw-r--r--fonts/igo/fonts/igoblackii15.mf13
-rw-r--r--fonts/igo/fonts/igoblackii20.mf13
-rw-r--r--fonts/igo/fonts/igoblackii5.mf13
-rw-r--r--fonts/igo/fonts/igoblackii6.mf13
-rw-r--r--fonts/igo/fonts/igoblackii7.mf13
-rw-r--r--fonts/igo/fonts/igoblackii8.mf13
-rw-r--r--fonts/igo/fonts/igoblackii9.mf13
-rw-r--r--fonts/igo/fonts/igoblackiii.mf1453
-rw-r--r--fonts/igo/fonts/igoblackiii10.mf13
-rw-r--r--fonts/igo/fonts/igoblackiii11.mf13
-rw-r--r--fonts/igo/fonts/igoblackiii12.mf13
-rw-r--r--fonts/igo/fonts/igoblackiii15.mf13
-rw-r--r--fonts/igo/fonts/igoblackiii20.mf13
-rw-r--r--fonts/igo/fonts/igoblackiii5.mf13
-rw-r--r--fonts/igo/fonts/igoblackiii6.mf13
-rw-r--r--fonts/igo/fonts/igoblackiii7.mf13
-rw-r--r--fonts/igo/fonts/igoblackiii8.mf13
-rw-r--r--fonts/igo/fonts/igoblackiii9.mf13
-rw-r--r--fonts/igo/fonts/igoroman.mf2200
-rw-r--r--fonts/igo/fonts/igowhitei.mf1342
-rw-r--r--fonts/igo/fonts/igowhitei10.mf14
-rw-r--r--fonts/igo/fonts/igowhitei11.mf13
-rw-r--r--fonts/igo/fonts/igowhitei12.mf13
-rw-r--r--fonts/igo/fonts/igowhitei15.mf14
-rw-r--r--fonts/igo/fonts/igowhitei20.mf13
-rw-r--r--fonts/igo/fonts/igowhitei5.mf13
-rw-r--r--fonts/igo/fonts/igowhitei6.mf13
-rw-r--r--fonts/igo/fonts/igowhitei7.mf13
-rw-r--r--fonts/igo/fonts/igowhitei8.mf13
-rw-r--r--fonts/igo/fonts/igowhitei9.mf13
-rw-r--r--fonts/igo/fonts/igowhiteii.mf1440
-rw-r--r--fonts/igo/fonts/igowhiteii10.mf14
-rw-r--r--fonts/igo/fonts/igowhiteii11.mf13
-rw-r--r--fonts/igo/fonts/igowhiteii12.mf13
-rw-r--r--fonts/igo/fonts/igowhiteii15.mf14
-rw-r--r--fonts/igo/fonts/igowhiteii20.mf13
-rw-r--r--fonts/igo/fonts/igowhiteii5.mf13
-rw-r--r--fonts/igo/fonts/igowhiteii6.mf13
-rw-r--r--fonts/igo/fonts/igowhiteii7.mf13
-rw-r--r--fonts/igo/fonts/igowhiteii8.mf13
-rw-r--r--fonts/igo/fonts/igowhiteii9.mf13
-rw-r--r--fonts/igo/fonts/igowhiteiii.mf1457
-rw-r--r--fonts/igo/fonts/igowhiteiii10.mf14
-rw-r--r--fonts/igo/fonts/igowhiteiii11.mf13
-rw-r--r--fonts/igo/fonts/igowhiteiii12.mf13
-rw-r--r--fonts/igo/fonts/igowhiteiii15.mf14
-rw-r--r--fonts/igo/fonts/igowhiteiii20.mf13
-rw-r--r--fonts/igo/fonts/igowhiteiii5.mf13
-rw-r--r--fonts/igo/fonts/igowhiteiii6.mf13
-rw-r--r--fonts/igo/fonts/igowhiteiii7.mf13
-rw-r--r--fonts/igo/fonts/igowhiteiii8.mf13
-rw-r--r--fonts/igo/fonts/igowhiteiii9.mf13
-rw-r--r--fonts/igo/fonts/makefonts.bat162
-rw-r--r--fonts/igo/igo.pdfbin0 -> 231168 bytes
-rw-r--r--fonts/igo/igo.sty731
-rw-r--r--fonts/igo/igo.tex403
-rw-r--r--fonts/igo/repeat.tex208
-rw-r--r--fonts/igo/russian/igo-ru.pdfbin0 -> 512736 bytes
-rw-r--r--fonts/igo/russian/igo-ru.tex445
86 files changed, 14658 insertions, 0 deletions
diff --git a/fonts/igo/README b/fonts/igo/README
new file mode 100644
index 0000000000..473558e60c
--- /dev/null
+++ b/fonts/igo/README
@@ -0,0 +1,11 @@
+This package is based on the package go written in 1991 by Hanna
+Ko\u0142odziejska which provides typesetting facilities for Go games
+and positions. Although igo contains roughly the same commands
+as the original package and uses the fonts created by
+Ko\u0142odziejska, it has been improved in a number of ways. It uses
+command names less likely to conflict with standard AMS
+packages. It allows different board sizes to be used. It
+understands a standardized notation for board coordinates. And
+it provides a facility to work on more than one board.
+Moreover, a few commands were reworked to define positions or
+game sequences more conveniently. \ No newline at end of file
diff --git a/fonts/igo/fonts/igo.mf b/fonts/igo/fonts/igo.mf
new file mode 100644
index 0000000000..2c26e42007
--- /dev/null
+++ b/fonts/igo/fonts/igo.mf
@@ -0,0 +1,341 @@
+mode_setup;
+
+define_pixels(size);
+define_pixels(line_thickness,border_line_thickness);
+
+picture black_circle;
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+def set_black_circle =
+ currentpicture := nullpicture;
+ pickup pencircle scaled line_thickness;
+ lft x1=1/22size; y1=1/2size;
+ rt x2=23/22size; y2=1/2size;
+ filldraw z1..z2..cycle;
+ black_circle := currentpicture;
+ clearxy; clearit; clearpen;
+enddef;
+
+set_black_circle;
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+beginchar(0,24/22size#,23/22size#,1/22size#); "punkt hoshi";
+ pickup pencircle scaled line_thickness;
+ z1=(0,11/24w);
+ z2=(.5w,h);
+ z3=(w,11/24w);
+ z4=(.5w,-d);
+ draw z1..z3;
+ draw z2..z4;
+ z5=(.5w-.1size,11/24w);
+ z6=(.5w+.1size,11/24w);
+ filldraw z5..z6..cycle;
+showit;
+endchar;
+
+% stop"";
+
+beginchar(1,24/22size#,23/22size#,1/22size#); "pelny krzyz";
+ pickup pencircle scaled line_thickness;
+ z1=(0,11/24w);
+ z2=(.5w,h);
+ z3=(w,11/24w);
+ z4=(.5w,-d);
+ draw z1..z3;
+ draw z2..z4;
+showit;
+endchar;
+
+% stop"";
+
+beginchar(2,24/22size#,23/22size#,1/22size#); "lewy brzeg";
+ pickup pencircle scaled line_thickness;
+ lft x1=.5w; y1=11/24w;
+ z2=(.5w,h);
+ z3=(w,11/24w);
+ z4=(.5w,-d);
+ draw z1..z3;
+ pickup pencircle scaled border_line_thickness;
+ draw z2..z4;
+showit;
+endchar;
+
+% stop"";
+
+beginchar(3,24/22size#,23/22size#,1/22size#); "prawy brzeg";
+ pickup pencircle scaled line_thickness;
+ z1=(0,11/24w);
+ z2=(.5w,h);
+ rt x3=.5w; y3=11/24w;
+ z4=(.5w,-d);
+ draw z1..z3;
+ pickup pencircle scaled border_line_thickness;
+ draw z2..z4;
+showit;
+endchar;
+
+% stop"";
+
+beginchar(4,24/22size#,23/22size#,1/22size#); "gorny brzeg";
+ pickup pencircle scaled border_line_thickness;
+ z1=(0,11/24w);
+ x2=.5w; top y2=11/24w;
+ z3=(w,11/24w);
+ z4=(.5w,-d);
+ draw z1..z3;
+ pickup pencircle scaled line_thickness;
+ draw z2..z4;
+showit;
+endchar;
+
+% stop"";
+
+beginchar(5,24/22size#,23/22size#,1/22size#); "dolny brzeg";
+ pickup pencircle scaled border_line_thickness;
+ z1=(0,11/24w);
+ z2=(.5w,h);
+ z3=(w,11/24w);
+ x4=.5w; bot y4=11/24w;
+ draw z1..z3;
+ pickup pencircle scaled line_thickness;
+ draw z2..z4;
+showit;
+endchar;
+
+% stop"";
+
+beginchar(6,24/22size#,23/22size#,1/22size#); "lewy gorny rog";
+ pickup pencircle scaled border_line_thickness;
+ lft x1=.5w; y1=11/24w;
+ x2=.5w; top y2=11/24w;
+ z3=(w,11/24w);
+ z4=(.5w,-d);
+ draw z1..z3;
+ draw z2..z4;
+ pickup penrazor scaled border_line_thickness;
+ z5=(.5w,11/24w+.5border_line_thickness);
+ z6=(.5w,11/24w-.5border_line_thickness);
+ draw z5..z6;
+showit;
+endchar;
+
+% stop"";
+
+beginchar(7,24/22size#,23/22size#,1/22size#); "prawy gorny rog";
+ pickup pencircle scaled border_line_thickness;
+ z1=(0,11/24w);
+ x2=.5w; top y2=11/24w;
+ rt x3=.5w; y3=11/24w;
+ z4=(.5w,-d);
+ draw z1..z3;
+ draw z2..z4;
+ pickup penrazor scaled border_line_thickness;
+ z5=(.5w,11/24w+.5border_line_thickness);
+ z6=(.5w,11/24w-.5border_line_thickness);
+ draw z5..z6;
+showit;
+endchar;
+
+% stop"";
+
+beginchar(8,24/22size#,23/22size#,1/22size#); "lewy dolny rog";
+ pickup pencircle scaled border_line_thickness;
+ lft x1=.5w; y1=11/24w;
+ z2=(.5w,h);
+ z3=(w,11/24w);
+ x4=.5w; bot y4=11/24w;
+ draw z1..z3;
+ draw z2..z4;
+ pickup penrazor scaled border_line_thickness;
+ z5=(.5w,11/24w+.5border_line_thickness);
+ z6=(.5w,11/24w-.5border_line_thickness);
+ draw z5..z6;
+showit;
+endchar;
+
+% stop"";
+
+beginchar(9,24/22size#,23/22size#,1/22size#); "prawy dolny rog";
+ pickup pencircle scaled border_line_thickness;
+ z1=(0,11/24w);
+ z2=(.5w,h);
+ rt x3=.5w; y3=11/24w;
+ x4=.5w; bot y4=11/24w;
+ draw z1..z3;
+ draw z2..z4;
+ pickup penrazor scaled border_line_thickness;
+ z5=(.5w,11/24w+.5border_line_thickness);
+ z6=(.5w,11/24w-.5border_line_thickness);
+ draw z5..z6;
+showit;
+endchar;
+
+% stop"";
+
+beginchar(10,24/22size#,23/22size#,1/22size#); "pelny krzyz - pion";
+ pickup pencircle scaled line_thickness;
+ z1=(0,11/24w);
+ z2=(.5w,h);
+ z3=(w,11/24w);
+ z4=(.5w,-d);
+ draw z1..z3;
+ draw z2..z4;
+ cullit;
+ addto currentpicture also -black_circle;
+showit;
+endchar;
+
+% stop"";
+
+beginchar(11,24/22size#,23/22size#,1/22size#); "lewy brzeg - pion";
+ pickup pencircle scaled line_thickness;
+ lft x1=.5w; y1=11/24w;
+ z2=(.5w,h);
+ z3=(w,11/24w);
+ z4=(.5w,-d);
+ draw z1..z3;
+ pickup pencircle scaled border_line_thickness;
+ draw z2..z4;
+ cullit;
+ addto currentpicture also -black_circle;
+showit;
+endchar;
+
+% stop"";
+
+beginchar(12,24/22size#,23/22size#,1/22size#); "prawy brzeg - pion";
+ pickup pencircle scaled line_thickness;
+ z1=(0,11/24w);
+ z2=(.5w,h);
+ rt x3=.5w; y3=11/24w;
+ z4=(.5w,-d);
+ draw z1..z3;
+ pickup pencircle scaled border_line_thickness;
+ draw z2..z4;
+ cullit;
+ addto currentpicture also -black_circle;
+showit;
+endchar;
+
+% stop"";
+
+beginchar(13,24/22size#,23/22size#,1/22size#); "gorny brzeg - pion";
+ pickup pencircle scaled border_line_thickness;
+ z1=(0,11/24w);
+ x2=.5w; top y2=11/24w;
+ z3=(w,11/24w);
+ z4=(.5w,-d);
+ draw z1..z3;
+ pickup pencircle scaled line_thickness;
+ draw z2..z4;
+ cullit;
+ addto currentpicture also -black_circle;
+showit;
+endchar;
+
+% stop"";
+
+beginchar(14,24/22size#,23/22size#,1/22size#); "dolny brzeg - pion";
+ pickup pencircle scaled border_line_thickness;
+ z1=(0,11/24w);
+ z2=(.5w,h);
+ z3=(w,11/24w);
+ x4=.5w; bot y4=11/24w;
+ draw z1..z3;
+ pickup pencircle scaled line_thickness;
+ draw z2..z4;
+ cullit;
+ addto currentpicture also -black_circle;
+showit;
+endchar;
+
+% stop"";
+
+beginchar(15,24/22size#,23/22size#,1/22size#); "lewy gorny rog - pion";
+ pickup pencircle scaled border_line_thickness;
+ lft x1=.5w; y1=11/24w;
+ x2=.5w; top y2=11/24w;
+ z3=(w,11/24w);
+ z4=(.5w,-d);
+ draw z1..z3;
+ draw z2..z4;
+ pickup penrazor scaled border_line_thickness;
+ z5=(.5w,11/24w+.5border_line_thickness);
+ z6=(.5w,11/24w-.5border_line_thickness);
+ draw z5..z6;
+ cullit;
+ addto currentpicture also -black_circle;
+showit;
+endchar;
+
+% stop"";
+
+beginchar(16,24/22size#,23/22size#,1/22size#); "prawy gorny rog - pion";
+ pickup pencircle scaled border_line_thickness;
+ z1=(0,11/24w);
+ x2=.5w; top y2=11/24w;
+ rt x3=.5w; y3=11/24w;
+ z4=(.5w,-d);
+ draw z1..z3;
+ draw z2..z4;
+ pickup penrazor scaled border_line_thickness;
+ z5=(.5w,11/24w+.5border_line_thickness);
+ z6=(.5w,11/24w-.5border_line_thickness);
+ draw z5..z6;
+ cullit;
+ addto currentpicture also -black_circle;
+showit;
+endchar;
+
+% stop"";
+
+beginchar(17,24/22size#,23/22size#,1/22size#); "lewy dolny rog - pion";
+ pickup pencircle scaled border_line_thickness;
+ lft x1=.5w; y1=11/24w;
+ z2=(.5w,h);
+ z3=(w,11/24w);
+ x4=.5w; bot y4=11/24w;
+ draw z1..z3;
+ draw z2..z4;
+ pickup penrazor scaled border_line_thickness;
+ z5=(.5w,11/24w+.5border_line_thickness);
+ z6=(.5w,11/24w-.5border_line_thickness);
+ draw z5..z6;
+ cullit;
+ addto currentpicture also -black_circle;
+showit;
+endchar;
+
+% stop"";
+
+beginchar(18,24/22size#,23/22size#,1/22size#); "prawy dolny rog - pion";
+ pickup pencircle scaled border_line_thickness;
+ z1=(0,11/24w);
+ z2=(.5w,h);
+ rt x3=.5w; y3=11/24w;
+ x4=.5w; bot y4=11/24w;
+ draw z1..z3;
+ draw z2..z4;
+ pickup penrazor scaled border_line_thickness;
+ z5=(.5w,11/24w+.5border_line_thickness);
+ z6=(.5w,11/24w-.5border_line_thickness);
+ draw z5..z6;
+ cullit;
+ addto currentpicture also -black_circle;
+showit;
+endchar;
+
+% stop"";
+
+beginchar(32,24/22size#,23/22size#,1/22size#); "space";
+ pickup pencircle scaled line_thickness;
+showit;
+endchar;
+
+% stop"";
+
+input igoroman
+end;
+
diff --git a/fonts/igo/fonts/igo10.mf b/fonts/igo/fonts/igo10.mf
new file mode 100644
index 0000000000..6024b38942
--- /dev/null
+++ b/fonts/igo/fonts/igo10.mf
@@ -0,0 +1,90 @@
+font_identifier:="IGO"; font_size 10pt#;
+
+%%%%%%%%%%%%%%%%
+
+size#:=10pt#;
+line_thickness#:=.04size#;
+border_line_thickness#:=.1size#;
+
+dig_h#:=7/10size#;
+dig_w#:=4/10size#;
+dig_pen#:=1/10size#;
+
+%%%%%%%%%%%%%%%
+%%% cmr10.mf %%%
+%%%%%%%%%%%%%%%
+
+if unknown cmbase: input cmbase fi
+
+u#:=20/36pt#; % unit width
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=5/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=270/36pt#; % height of tallest characters
+asc_height#:=250/36pt#; % height of lowercase ascenders
+cap_height#:=246/36pt#; % height of caps
+fig_height#:=232/36pt#; % height of numerals
+x_height#:=155/36pt#; % height of lowercase without ascenders
+math_axis#:=90/36pt#; % axis of symmetry for math symbols
+bar_height#:=87/36pt#; % height of crossbar in lowercase e
+comma_depth#:=70/36pt#; % depth of comma below baseline
+desc_depth#:=70/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=8/36pt#; % diameter of rounded corners
+fine#:=7/36pt#; % diameter of sharply rounded corners
+thin_join#:=7/36pt#; % width of extrafine details
+hair#:=9/36pt#; % lowercase hairline breadth
+stem#:=25/36pt#; % lowercase stem breadth
+curve#:=30/36pt#; % lowercase curve breadth
+ess#:=27/36pt#; % breadth in middle of lowercase s
+flare#:=33/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=38/36pt#; % diameter of dots
+cap_hair#:=11/36pt#; % uppercase hairline breadth
+cap_stem#:=32/36pt#; % uppercase stem breadth
+cap_curve#:=37/36pt#; % uppercase curve breadth
+cap_ess#:=35/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.4pt#; % thickness of lines in math symbols
+
+dish#:=1/36pt#; % amount erased at top or bottom of serifs
+bracket#:=20/36pt#; % vertical distance from serif base to tangent
+jut#:=28/36pt#; % protrusion of lowercase serifs
+cap_jut#:=37/36pt#; % protrusion of uppercase serifs
+beak_jut#:=10/36pt#; % horizontal protrusion of beak serifs
+beak#:=70/36pt#; % vertical protrusion of beak serifs
+vair#:=8/36pt#; % vertical diameter of hairlines
+notch_cut#:=10pt#; % maximum breadth above or below notches
+bar#:=11/36pt#; % lowercase bar thickness
+slab#:=11/36pt#; % serif and arm thickness
+cap_bar#:=11/36pt#; % uppercase bar thickness
+cap_band#:=11/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=10pt#; % max breadth above/below uppercase notches
+serif_drop#:=4/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36pt#; % for small refinements of stem breadth
+vair_corr#:=1/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=8/36pt#; % amount of overshoot for curves
+apex_o#:=8/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=0; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=1/6; % extra openness inside bowls
+beak_darkness:=11/30; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+%%%%%%%%%%%%%%%%
+
+input igo
diff --git a/fonts/igo/fonts/igo11.mf b/fonts/igo/fonts/igo11.mf
new file mode 100644
index 0000000000..f4395b9e28
--- /dev/null
+++ b/fonts/igo/fonts/igo11.mf
@@ -0,0 +1,90 @@
+font_identifier:="IGO"; font_size 11pt#;
+
+%%%%%%%%%%%%%%%%
+
+size#:=11pt#;
+line_thickness#:=.04size#;
+border_line_thickness#:=.1size#;
+
+dig_h#:=7/10size#;
+dig_w#:=4/10size#;
+dig_pen#:=1/10size#;
+
+%%%%%%%%%%%%%%%
+%%% cmr10.mf %%%
+%%%%%%%%%%%%%%%
+
+if unknown cmbase: input cmbase fi
+
+u#:=20/36pt#; % unit width
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=5/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=270/36pt#; % height of tallest characters
+asc_height#:=250/36pt#; % height of lowercase ascenders
+cap_height#:=246/36pt#; % height of caps
+fig_height#:=232/36pt#; % height of numerals
+x_height#:=155/36pt#; % height of lowercase without ascenders
+math_axis#:=90/36pt#; % axis of symmetry for math symbols
+bar_height#:=87/36pt#; % height of crossbar in lowercase e
+comma_depth#:=70/36pt#; % depth of comma below baseline
+desc_depth#:=70/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=8/36pt#; % diameter of rounded corners
+fine#:=7/36pt#; % diameter of sharply rounded corners
+thin_join#:=7/36pt#; % width of extrafine details
+hair#:=9/36pt#; % lowercase hairline breadth
+stem#:=25/36pt#; % lowercase stem breadth
+curve#:=30/36pt#; % lowercase curve breadth
+ess#:=27/36pt#; % breadth in middle of lowercase s
+flare#:=33/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=38/36pt#; % diameter of dots
+cap_hair#:=11/36pt#; % uppercase hairline breadth
+cap_stem#:=32/36pt#; % uppercase stem breadth
+cap_curve#:=37/36pt#; % uppercase curve breadth
+cap_ess#:=35/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.4pt#; % thickness of lines in math symbols
+
+dish#:=1/36pt#; % amount erased at top or bottom of serifs
+bracket#:=20/36pt#; % vertical distance from serif base to tangent
+jut#:=28/36pt#; % protrusion of lowercase serifs
+cap_jut#:=37/36pt#; % protrusion of uppercase serifs
+beak_jut#:=10/36pt#; % horizontal protrusion of beak serifs
+beak#:=70/36pt#; % vertical protrusion of beak serifs
+vair#:=8/36pt#; % vertical diameter of hairlines
+notch_cut#:=10pt#; % maximum breadth above or below notches
+bar#:=11/36pt#; % lowercase bar thickness
+slab#:=11/36pt#; % serif and arm thickness
+cap_bar#:=11/36pt#; % uppercase bar thickness
+cap_band#:=11/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=10pt#; % max breadth above/below uppercase notches
+serif_drop#:=4/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36pt#; % for small refinements of stem breadth
+vair_corr#:=1/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=8/36pt#; % amount of overshoot for curves
+apex_o#:=8/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=0; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=1/6; % extra openness inside bowls
+beak_darkness:=11/30; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+%%%%%%%%%%%%%%%%
+
+input igo
diff --git a/fonts/igo/fonts/igo12.mf b/fonts/igo/fonts/igo12.mf
new file mode 100644
index 0000000000..af69b733b6
--- /dev/null
+++ b/fonts/igo/fonts/igo12.mf
@@ -0,0 +1,90 @@
+font_identifier:="IGO"; font_size 12pt#;
+
+%%%%%%%%%%%%%%%%
+
+size#:=12pt#;
+line_thickness#:=.04size#;
+border_line_thickness#:=.1size#;
+
+dig_h#:=7/10size#;
+dig_w#:=4/10size#;
+dig_pen#:=1/10size#;
+
+%%%%%%%%%%%%%%%
+%%% cmr10.mf %%%
+%%%%%%%%%%%%%%%
+
+if unknown cmbase: input cmbase fi
+
+u#:=20/36pt#; % unit width
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=5/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=270/36pt#; % height of tallest characters
+asc_height#:=250/36pt#; % height of lowercase ascenders
+cap_height#:=246/36pt#; % height of caps
+fig_height#:=232/36pt#; % height of numerals
+x_height#:=155/36pt#; % height of lowercase without ascenders
+math_axis#:=90/36pt#; % axis of symmetry for math symbols
+bar_height#:=87/36pt#; % height of crossbar in lowercase e
+comma_depth#:=70/36pt#; % depth of comma below baseline
+desc_depth#:=70/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=8/36pt#; % diameter of rounded corners
+fine#:=7/36pt#; % diameter of sharply rounded corners
+thin_join#:=7/36pt#; % width of extrafine details
+hair#:=9/36pt#; % lowercase hairline breadth
+stem#:=25/36pt#; % lowercase stem breadth
+curve#:=30/36pt#; % lowercase curve breadth
+ess#:=27/36pt#; % breadth in middle of lowercase s
+flare#:=33/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=38/36pt#; % diameter of dots
+cap_hair#:=11/36pt#; % uppercase hairline breadth
+cap_stem#:=32/36pt#; % uppercase stem breadth
+cap_curve#:=37/36pt#; % uppercase curve breadth
+cap_ess#:=35/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.4pt#; % thickness of lines in math symbols
+
+dish#:=1/36pt#; % amount erased at top or bottom of serifs
+bracket#:=20/36pt#; % vertical distance from serif base to tangent
+jut#:=28/36pt#; % protrusion of lowercase serifs
+cap_jut#:=37/36pt#; % protrusion of uppercase serifs
+beak_jut#:=10/36pt#; % horizontal protrusion of beak serifs
+beak#:=70/36pt#; % vertical protrusion of beak serifs
+vair#:=8/36pt#; % vertical diameter of hairlines
+notch_cut#:=10pt#; % maximum breadth above or below notches
+bar#:=11/36pt#; % lowercase bar thickness
+slab#:=11/36pt#; % serif and arm thickness
+cap_bar#:=11/36pt#; % uppercase bar thickness
+cap_band#:=11/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=10pt#; % max breadth above/below uppercase notches
+serif_drop#:=4/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36pt#; % for small refinements of stem breadth
+vair_corr#:=1/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=8/36pt#; % amount of overshoot for curves
+apex_o#:=8/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=0; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=1/6; % extra openness inside bowls
+beak_darkness:=11/30; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+%%%%%%%%%%%%%%%%
+
+input igo
diff --git a/fonts/igo/fonts/igo15.mf b/fonts/igo/fonts/igo15.mf
new file mode 100644
index 0000000000..60bd6c86ae
--- /dev/null
+++ b/fonts/igo/fonts/igo15.mf
@@ -0,0 +1,90 @@
+font_identifier:="IGO"; font_size 15pt#;
+
+%%%%%%%%%%%%%%%%
+
+size#:=15pt#;
+line_thickness#:=.04size#;
+border_line_thickness#:=.1size#;
+
+dig_h#:=7/10size#;
+dig_w#:=4/10size#;
+dig_pen#:=1/10size#;
+
+%%%%%%%%%%%%%%%%
+%%% cmr12.mf %%%
+%%%%%%%%%%%%%%%%
+
+if unknown cmbase: input cmbase fi
+
+u#:=23.5/36pt#; % unit width
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=5.8/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=324/36pt#; % height of tallest characters
+asc_height#:=300/36pt#; % height of lowercase ascenders
+cap_height#:=295.2/36pt#; % height of caps
+fig_height#:=278.4/36pt#; % height of numerals
+x_height#:=186/36pt#; % height of lowercase without ascenders
+math_axis#:=108/36pt#; % axis of symmetry for math symbols
+bar_height#:=104.4/36pt#; % height of crossbar in lowercase e
+comma_depth#:=84/36pt#; % depth of comma below baseline
+desc_depth#:=84/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=8/36pt#; % diameter of rounded corners
+fine#:=7/36pt#; % diameter of sharply rounded corners
+thin_join#:=7.5/36pt#; % width of extrafine details
+hair#:=9.5/36pt#; % lowercase hairline breadth
+stem#:=28/36pt#; % lowercase stem breadth
+curve#:=33/36pt#; % lowercase curve breadth
+ess#:=30/36pt#; % breadth in middle of lowercase s
+flare#:=36/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=42/36pt#; % diameter of dots
+cap_hair#:=11.5/36pt#; % uppercase hairline breadth
+cap_stem#:=35/36pt#; % uppercase stem breadth
+cap_curve#:=40/36pt#; % uppercase curve breadth
+cap_ess#:=38/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.44pt#; % thickness of lines in math symbols
+
+dish#:=1/36pt#; % amount erased at top or bottom of serifs
+bracket#:=24/36pt#; % vertical distance from serif base to tangent
+jut#:=33/36pt#; % protrusion of lowercase serifs
+cap_jut#:=41/36pt#; % protrusion of uppercase serifs
+beak_jut#:=11.4/36pt#; % horizontal protrusion of beak serifs
+beak#:=84/36pt#; % vertical protrusion of beak serifs
+vair#:=8.5/36pt#; % vertical diameter of hairlines
+notch_cut#:=12pt#; % maximum breadth above or below notches
+bar#:=12.5/36pt#; % lowercase bar thickness
+slab#:=12.5/36pt#; % serif and arm thickness
+cap_bar#:=12.5/36pt#; % uppercase bar thickness
+cap_band#:=12.5/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=12pt#; % max breadth above/below uppercase notches
+serif_drop#:=4.8/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36pt#; % for small refinements of stem breadth
+vair_corr#:=1/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=9/36pt#; % amount of overshoot for curves
+apex_o#:=9/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=-0.2; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=1/6; % extra openness inside bowls
+beak_darkness:=11/30; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+%%%%%%%%%%%%%%%%
+
+input igo
diff --git a/fonts/igo/fonts/igo20.mf b/fonts/igo/fonts/igo20.mf
new file mode 100644
index 0000000000..d5a989b480
--- /dev/null
+++ b/fonts/igo/fonts/igo20.mf
@@ -0,0 +1,90 @@
+font_identifier:="IGO"; font_size 20pt#;
+
+%%%%%%%%%%%%%%%%
+
+size#:=20pt#;
+line_thickness#:=.04size#;
+border_line_thickness#:=.1size#;
+
+dig_h#:=7/10size#;
+dig_w#:=4/10size#;
+dig_pen#:=1/10size#;
+
+%%%%%%%%%%%%%%%%
+%%% cmr17.mf %%%
+%%%%%%%%%%%%%%%%
+
+if unknown cmbase: input cmbase fi
+
+u#:=32.5/36pt#; % unit width
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=8/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=-0.1pt#; % extra space added to all sidebars
+
+body_height#:=466/36pt#; % height of tallest characters
+asc_height#:=432/36pt#; % height of lowercase ascenders
+cap_height#:=425/36pt#; % height of caps
+fig_height#:=401/36pt#; % height of numerals
+x_height#:=267.8/36pt#; % height of lowercase without ascenders
+math_axis#:=155.5/36pt#; % axis of symmetry for math symbols
+bar_height#:=150/36pt#; % height of crossbar in lowercase e
+comma_depth#:=121/36pt#; % depth of comma below baseline
+desc_depth#:=121/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=8/36pt#; % diameter of rounded corners
+fine#:=7/36pt#; % diameter of sharply rounded corners
+thin_join#:=9/36pt#; % width of extrafine details
+hair#:=11/36pt#; % lowercase hairline breadth
+stem#:=33/36pt#; % lowercase stem breadth
+curve#:=40/36pt#; % lowercase curve breadth
+ess#:=35/36pt#; % breadth in middle of lowercase s
+flare#:=45/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=51/36pt#; % diameter of dots
+cap_hair#:=13/36pt#; % uppercase hairline breadth
+cap_stem#:=41/36pt#; % uppercase stem breadth
+cap_curve#:=47/36pt#; % uppercase curve breadth
+cap_ess#:=43/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.6pt#; % thickness of lines in math symbols
+
+dish#:=1/36pt#; % amount erased at top or bottom of serifs
+bracket#:=34/36pt#; % vertical distance from serif base to tangent
+jut#:=42/36pt#; % protrusion of lowercase serifs
+cap_jut#:=50/36pt#; % protrusion of uppercase serifs
+beak_jut#:=15/36pt#; % horizontal protrusion of beak serifs
+beak#:=121/36pt#; % vertical protrusion of beak serifs
+vair#:=10/36pt#; % vertical diameter of hairlines
+notch_cut#:=17pt#; % maximum breadth above or below notches
+bar#:=16/36pt#; % lowercase bar thickness
+slab#:=16/36pt#; % serif and arm thickness
+cap_bar#:=16/36pt#; % uppercase bar thickness
+cap_band#:=16/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=17pt#; % max breadth above/below uppercase notches
+serif_drop#:=7/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36pt#; % for small refinements of stem breadth
+vair_corr#:=1/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=10/36pt#; % amount of overshoot for curves
+apex_o#:=10/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=-0.4; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=1/6; % extra openness inside bowls
+beak_darkness:=11/30; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+%%%%%%%%%%%%%%%%
+
+input igo
diff --git a/fonts/igo/fonts/igo5.mf b/fonts/igo/fonts/igo5.mf
new file mode 100644
index 0000000000..73467c943c
--- /dev/null
+++ b/fonts/igo/fonts/igo5.mf
@@ -0,0 +1,90 @@
+font_identifier:="IGO"; font_size 5pt#;
+
+%%%%%%%%%%%%%%%%
+
+size#:=5pt#;
+line_thickness#:=.04size#;
+border_line_thickness#:=.1size#;
+
+dig_h#:=7/10size#;
+dig_w#:=4/10size#;
+dig_pen#:=1/10size#;
+
+%%%%%%%%%%%%%%%
+%%% cmr5.mf %%%
+%%%%%%%%%%%%%%%
+
+if unknown cmbase: input cmbase fi
+
+u#:=12.5/36pt#; % unit width
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=2/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=5/36pt#; % extra space added to all sidebars
+
+body_height#:=135/36pt#; % height of tallest characters
+asc_height#:=125/36pt#; % height of lowercase ascenders
+cap_height#:=123/36pt#; % height of caps
+fig_height#:=116/36pt#; % height of numerals
+x_height#:=77.5/36pt#; % height of lowercase without ascenders
+math_axis#:=45/36pt#; % axis of symmetry for math symbols
+bar_height#:=43.5/36pt#; % height of crossbar in lowercase e
+comma_depth#:=35/36pt#; % depth of comma below baseline
+desc_depth#:=35/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=6/36pt#; % diameter of rounded corners
+fine#:=5/36pt#; % diameter of sharply rounded corners
+thin_join#:=5/36pt#; % width of extrafine details
+hair#:=7.5/36pt#; % lowercase hairline breadth
+stem#:=16/36pt#; % lowercase stem breadth
+curve#:=18/36pt#; % lowercase curve breadth
+ess#:=12/36pt#; % breadth in middle of lowercase s
+flare#:=19/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=22/36pt#; % diameter of dots
+cap_hair#:=8/36pt#; % uppercase hairline breadth
+cap_stem#:=19/36pt#; % uppercase stem breadth
+cap_curve#:=21/36pt#; % uppercase curve breadth
+cap_ess#:=14/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.28pt#; % thickness of lines in math symbols
+
+dish#:=.7/36pt#; % amount erased at top or bottom of serifs
+bracket#:=10/36pt#; % vertical distance from serif base to tangent
+jut#:=15/36pt#; % protrusion of lowercase serifs
+cap_jut#:=20/36pt#; % protrusion of uppercase serifs
+beak_jut#:=6/36pt#; % horizontal protrusion of beak serifs
+beak#:=35/36pt#; % vertical protrusion of beak serifs
+vair#:=6/36pt#; % vertical diameter of hairlines
+notch_cut#:=5pt#; % maximum breadth above or below notches
+bar#:=8/36pt#; % lowercase bar thickness
+slab#:=8/36pt#; % serif and arm thickness
+cap_bar#:=8/36pt#; % uppercase bar thickness
+cap_band#:=8/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=5pt#; % max breadth above/below uppercase notches
+serif_drop#:=2/36pt#; % vertical drop of sloped serifs
+stem_corr#:=.7/36pt#; % for small refinements of stem breadth
+vair_corr#:=.5/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=4/36pt#; % amount of overshoot for curves
+apex_o#:=4/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=1; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=1/6; % extra openness inside bowls
+beak_darkness:=11/30; % fraction of triangle inside beak serifs
+ligs:=1; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+%%%%%%%%%%%%%%%%
+
+input igo
diff --git a/fonts/igo/fonts/igo6.mf b/fonts/igo/fonts/igo6.mf
new file mode 100644
index 0000000000..b0534100b5
--- /dev/null
+++ b/fonts/igo/fonts/igo6.mf
@@ -0,0 +1,90 @@
+font_identifier:="IGO"; font_size 6pt#;
+
+%%%%%%%%%%%%%%%%
+
+size#:=6pt#;
+line_thickness#:=.04size#;
+border_line_thickness#:=.1size#;
+
+dig_h#:=7/10size#;
+dig_w#:=4/10size#;
+dig_pen#:=1/10size#;
+
+%%%%%%%%%%%%%%%
+%%% cmr6.mf %%%
+%%%%%%%%%%%%%%%
+
+if unknown cmbase: input cmbase fi
+
+u#:=14/36pt#; % unit width
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=2.8/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=3/36pt#; % extra space added to all sidebars
+
+body_height#:=162/36pt#; % height of tallest characters
+asc_height#:=150/36pt#; % height of lowercase ascenders
+cap_height#:=147.6/36pt#; % height of caps
+fig_height#:=139.2/36pt#; % height of numerals
+x_height#:=93/36pt#; % height of lowercase without ascenders
+math_axis#:=54/36pt#; % axis of symmetry for math symbols
+bar_height#:=52.2/36pt#; % height of crossbar in lowercase e
+comma_depth#:=42/36pt#; % depth of comma below baseline
+desc_depth#:=42/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=7/36pt#; % diameter of rounded corners
+fine#:=6/36pt#; % diameter of sharply rounded corners
+thin_join#:=6/36pt#; % width of extrafine details
+hair#:=8/36pt#; % lowercase hairline breadth
+stem#:=18/36pt#; % lowercase stem breadth
+curve#:=20.5/36pt#; % lowercase curve breadth
+ess#:=17/36pt#; % breadth in middle of lowercase s
+flare#:=21/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=26/36pt#; % diameter of dots
+cap_hair#:=8.5/36pt#; % uppercase hairline breadth
+cap_stem#:=21.5/36pt#; % uppercase stem breadth
+cap_curve#:=24/36pt#; % uppercase curve breadth
+cap_ess#:=19/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.31pt#; % thickness of lines in math symbols
+
+dish#:=.8/36pt#; % amount erased at top or bottom of serifs
+bracket#:=12/36pt#; % vertical distance from serif base to tangent
+jut#:=17/36pt#; % protrusion of lowercase serifs
+cap_jut#:=23/36pt#; % protrusion of uppercase serifs
+beak_jut#:=6.8/36pt#; % horizontal protrusion of beak serifs
+beak#:=42/36pt#; % vertical protrusion of beak serifs
+vair#:=7/36pt#; % vertical diameter of hairlines
+notch_cut#:=6pt#; % maximum breadth above or below notches
+bar#:=8.5/36pt#; % lowercase bar thickness
+slab#:=8.5/36pt#; % serif and arm thickness
+cap_bar#:=8.5/36pt#; % uppercase bar thickness
+cap_band#:=8.5/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=6pt#; % max breadth above/below uppercase notches
+serif_drop#:=2.4/36pt#; % vertical drop of sloped serifs
+stem_corr#:=.8/36pt#; % for small refinements of stem breadth
+vair_corr#:=.7/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=4.5/36pt#; % amount of overshoot for curves
+apex_o#:=4.5/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=.8; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=1/6; % extra openness inside bowls
+beak_darkness:=11/30; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+%%%%%%%%%%%%%%%%
+
+input igo
diff --git a/fonts/igo/fonts/igo7.mf b/fonts/igo/fonts/igo7.mf
new file mode 100644
index 0000000000..e0583c37b5
--- /dev/null
+++ b/fonts/igo/fonts/igo7.mf
@@ -0,0 +1,90 @@
+font_identifier:="IGO"; font_size 7pt#;
+
+%%%%%%%%%%%%%%%%
+
+size#:=7pt#;
+line_thickness#:=.04size#;
+border_line_thickness#:=.1size#;
+
+dig_h#:=7/10size#;
+dig_w#:=4/10size#;
+dig_pen#:=1/10size#;
+
+%%%%%%%%%%%%%%%
+%%% cmr7.mf %%%
+%%%%%%%%%%%%%%%
+
+if unknown cmbase: input cmbase fi
+
+u#:=15.5/36pt#; % unit width
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=3.5/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=2/36pt#; % extra space added to all sidebars
+
+body_height#:=189/36pt#; % height of tallest characters
+asc_height#:=175/36pt#; % height of lowercase ascenders
+cap_height#:=172.2/36pt#; % height of caps
+fig_height#:=162.4/36pt#; % height of numerals
+x_height#:=108.5/36pt#; % height of lowercase without ascenders
+math_axis#:=63/36pt#; % axis of symmetry for math symbols
+bar_height#:=60.9/36pt#; % height of crossbar in lowercase e
+comma_depth#:=49/36pt#; % depth of comma below baseline
+desc_depth#:=49/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=7/36pt#; % diameter of rounded corners
+fine#:=6/36pt#; % diameter of sharply rounded corners
+thin_join#:=6/36pt#; % width of extrafine details
+hair#:=8.5/36pt#; % lowercase hairline breadth
+stem#:=20/36pt#; % lowercase stem breadth
+curve#:=23/36pt#; % lowercase curve breadth
+ess#:=21/36pt#; % breadth in middle of lowercase s
+flare#:=24/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=29/36pt#; % diameter of dots
+cap_hair#:=9/36pt#; % uppercase hairline breadth
+cap_stem#:=24/36pt#; % uppercase stem breadth
+cap_curve#:=27/36pt#; % uppercase curve breadth
+cap_ess#:=23/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.34pt#; % thickness of lines in math symbols
+
+dish#:=.9/36pt#; % amount erased at top or bottom of serifs
+bracket#:=14/36pt#; % vertical distance from serif base to tangent
+jut#:=19/36pt#; % protrusion of lowercase serifs
+cap_jut#:=26/36pt#; % protrusion of uppercase serifs
+beak_jut#:=7.6/36pt#; % horizontal protrusion of beak serifs
+beak#:=49/36pt#; % vertical protrusion of beak serifs
+vair#:=7/36pt#; % vertical diameter of hairlines
+notch_cut#:=7pt#; % maximum breadth above or below notches
+bar#:=9/36pt#; % lowercase bar thickness
+slab#:=9/36pt#; % serif and arm thickness
+cap_bar#:=9/36pt#; % uppercase bar thickness
+cap_band#:=9/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=7pt#; % max breadth above/below uppercase notches
+serif_drop#:=2.8/36pt#; % vertical drop of sloped serifs
+stem_corr#:=.9/36pt#; % for small refinements of stem breadth
+vair_corr#:=.9/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=5/36pt#; % amount of overshoot for curves
+apex_o#:=5/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=.6; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=1/6; % extra openness inside bowls
+beak_darkness:=11/30; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+%%%%%%%%%%%%%%%%
+
+input igo
diff --git a/fonts/igo/fonts/igo8.mf b/fonts/igo/fonts/igo8.mf
new file mode 100644
index 0000000000..926756c053
--- /dev/null
+++ b/fonts/igo/fonts/igo8.mf
@@ -0,0 +1,90 @@
+font_identifier:="IGO"; font_size 8pt#;
+
+%%%%%%%%%%%%%%%%
+
+size#:=8pt#;
+line_thickness#:=.04size#;
+border_line_thickness#:=.1size#;
+
+dig_h#:=7/10size#;
+dig_w#:=4/10size#;
+dig_pen#:=1/10size#;
+
+%%%%%%%%%%%%%%%
+%%% cmr8.mf %%%
+%%%%%%%%%%%%%%%
+
+if unknown cmbase: input cmbase fi
+
+u#:=17/36pt#; % unit width
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=4.1/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=216/36pt#; % height of tallest characters
+asc_height#:=200/36pt#; % height of lowercase ascenders
+cap_height#:=196.8/36pt#; % height of caps
+fig_height#:=185.6/36pt#; % height of numerals
+x_height#:=124/36pt#; % height of lowercase without ascenders
+math_axis#:=72/36pt#; % axis of symmetry for math symbols
+bar_height#:=69.6/36pt#; % height of crossbar in lowercase e
+comma_depth#:=56/36pt#; % depth of comma below baseline
+desc_depth#:=56/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=8/36pt#; % diameter of rounded corners
+fine#:=7/36pt#; % diameter of sharply rounded corners
+thin_join#:=7/36pt#; % width of extrafine details
+hair#:=9/36pt#; % lowercase hairline breadth
+stem#:=22/36pt#; % lowercase stem breadth
+curve#:=25.5/36pt#; % lowercase curve breadth
+ess#:=23/36pt#; % breadth in middle of lowercase s
+flare#:=27/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=32/36pt#; % diameter of dots
+cap_hair#:=9.5/36pt#; % uppercase hairline breadth
+cap_stem#:=26.5/36pt#; % uppercase stem breadth
+cap_curve#:=30/36pt#; % uppercase curve breadth
+cap_ess#:=27/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.36pt#; % thickness of lines in math symbols
+
+dish#:=1/36pt#; % amount erased at top or bottom of serifs
+bracket#:=16/36pt#; % vertical distance from serif base to tangent
+jut#:=22/36pt#; % protrusion of lowercase serifs
+cap_jut#:=29/36pt#; % protrusion of uppercase serifs
+beak_jut#:=8.4/36pt#; % horizontal protrusion of beak serifs
+beak#:=56/36pt#; % vertical protrusion of beak serifs
+vair#:=8/36pt#; % vertical diameter of hairlines
+notch_cut#:=8pt#; % maximum breadth above or below notches
+bar#:=9.5/36pt#; % lowercase bar thickness
+slab#:=9.5/36pt#; % serif and arm thickness
+cap_bar#:=9.5/36pt#; % uppercase bar thickness
+cap_band#:=9.5/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=8pt#; % max breadth above/below uppercase notches
+serif_drop#:=3.2/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36pt#; % for small refinements of stem breadth
+vair_corr#:=1/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=6/36pt#; % amount of overshoot for curves
+apex_o#:=6/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=.4; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=1/6; % extra openness inside bowls
+beak_darkness:=11/30; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+%%%%%%%%%%%%%%%%
+
+input igo
diff --git a/fonts/igo/fonts/igo9.mf b/fonts/igo/fonts/igo9.mf
new file mode 100644
index 0000000000..daca8bc58d
--- /dev/null
+++ b/fonts/igo/fonts/igo9.mf
@@ -0,0 +1,90 @@
+font_identifier:="IGO"; font_size 9pt#;
+
+%%%%%%%%%%%%%%%%
+
+size#:=9pt#;
+line_thickness#:=.04size#;
+border_line_thickness#:=.1size#;
+
+dig_h#:=7/10size#;
+dig_w#:=4/10size#;
+dig_pen#:=1/10size#;
+
+%%%%%%%%%%%%%%%
+%%% cmr9.mf %%%
+%%%%%%%%%%%%%%%
+
+if unknown cmbase: input cmbase fi
+
+u#:=18.5/36pt#; % unit width
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=4.6/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=243/36pt#; % height of tallest characters
+asc_height#:=225/36pt#; % height of lowercase ascenders
+cap_height#:=221.4/36pt#; % height of caps
+fig_height#:=208.8/36pt#; % height of numerals
+x_height#:=139.5/36pt#; % height of lowercase without ascenders
+math_axis#:=81/36pt#; % axis of symmetry for math symbols
+bar_height#:=78.3/36pt#; % height of crossbar in lowercase e
+comma_depth#:=63/36pt#; % depth of comma below baseline
+desc_depth#:=63/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=8/36pt#; % diameter of rounded corners
+fine#:=7/36pt#; % diameter of sharply rounded corners
+thin_join#:=7/36pt#; % width of extrafine details
+hair#:=9/36pt#; % lowercase hairline breadth
+stem#:=24/36pt#; % lowercase stem breadth
+curve#:=28/36pt#; % lowercase curve breadth
+ess#:=25/36pt#; % breadth in middle of lowercase s
+flare#:=30/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=35/36pt#; % diameter of dots
+cap_hair#:=10/36pt#; % uppercase hairline breadth
+cap_stem#:=29/36pt#; % uppercase stem breadth
+cap_curve#:=33/36pt#; % uppercase curve breadth
+cap_ess#:=31/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.38pt#; % thickness of lines in math symbols
+
+dish#:=1/36pt#; % amount erased at top or bottom of serifs
+bracket#:=18/36pt#; % vertical distance from serif base to tangent
+jut#:=25/36pt#; % protrusion of lowercase serifs
+cap_jut#:=33/36pt#; % protrusion of uppercase serifs
+beak_jut#:=9.2/36pt#; % horizontal protrusion of beak serifs
+beak#:=63/36pt#; % vertical protrusion of beak serifs
+vair#:=8/36pt#; % vertical diameter of hairlines
+notch_cut#:=9pt#; % maximum breadth above or below notches
+bar#:=10/36pt#; % lowercase bar thickness
+slab#:=10/36pt#; % serif and arm thickness
+cap_bar#:=10/36pt#; % uppercase bar thickness
+cap_band#:=10/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=9pt#; % max breadth above/below uppercase notches
+serif_drop#:=3.6/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36pt#; % for small refinements of stem breadth
+vair_corr#:=1/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=7/36pt#; % amount of overshoot for curves
+apex_o#:=7/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=.2; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=1/6; % extra openness inside bowls
+beak_darkness:=11/30; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+%%%%%%%%%%%%%%%%
+
+input igo
diff --git a/fonts/igo/fonts/igoblacki.mf b/fonts/igo/fonts/igoblacki.mf
new file mode 100644
index 0000000000..fdd0a745a8
--- /dev/null
+++ b/fonts/igo/fonts/igoblacki.mf
@@ -0,0 +1,1342 @@
+mode_setup;
+
+define_pixels(size);
+define_pixels(line_thickness,border_line_thickness);
+define_pixels(dig_h,dig_w,dig_pen);
+
+picture digit[];
+picture black_circle;
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+def digit_zero =
+ currentpicture := nullpicture;
+ pickup pencircle scaled dig_pen;
+ lft x1=0; y1=.5dig_h;
+ x2=.5dig_w; top y2=dig_h;
+ rt x3=dig_w; y3=.5dig_h;
+ x4=.5dig_w; bot y4=0;
+ draw z1...z2...z3...z4...cycle;
+ digit[0] := currentpicture;
+ clearxy; clearit; clearpen;
+enddef;
+
+def digit_one =
+ currentpicture := nullpicture;
+ pickup pencircle scaled dig_pen;
+ x1=.5dig_w; bot y1=0;
+ x2=.5dig_w; top y2=dig_h;
+ draw z1--z2;
+ digit[1] := currentpicture;
+ clearxy; clearit; clearpen;
+enddef;
+
+def digit_two =
+ currentpicture := nullpicture;
+ pickup pencircle scaled dig_pen;
+ lft x1=0; y1=.75dig_h;
+ x2=.5dig_w; top y2=dig_h;
+ rt x3=.8dig_w; y3=.9dig_h;
+ lft x4=0; bot y4=0;
+ draw z1{up}...z2...z3..{(-.8dig_w,-dig_h)}z4;
+ z5=z4;
+ rt x6=dig_w; bot y6=0;
+ draw z5--z6;
+ digit[2] := currentpicture;
+ clearxy; clearit; clearpen;
+enddef;
+
+def digit_three =
+ currentpicture := nullpicture;
+ pickup pencircle scaled dig_pen;
+ lft x1=.08dig_w; y1=.8dig_h;
+ x2=.5dig_w; top y2=dig_h;
+ rt x3=.92dig_w; y3=y1;
+ z4=(.5dig_w,.52dig_h);
+ rt x5=dig_w; y5=.2dig_h;
+ x6=.65dig_w; bot y6=0;
+ lft x7=0; y7=y5;
+ draw z1{up}..z2..z3..{left}z4{right}..z5..z6...{up}z7;
+ digit[3] := currentpicture;
+ clearxy; clearit; clearpen;
+enddef;
+
+def digit_four =
+ currentpicture := nullpicture;
+ pickup pencircle scaled dig_pen;
+ x1=.75dig_w; bot y1=0;
+ x2=x1; top y2=dig_h;
+ lft x3=0; y3=.3dig_h;
+ rt x4=dig_w; y4=y3;
+ draw z1--z2--z3--z4;
+ digit[4] := currentpicture;
+ clearxy; clearit; clearpen;
+enddef;
+
+def digit_five =
+ currentpicture := nullpicture;
+ pickup pencircle scaled dig_pen;
+ rt x1=.95dig_w; top y1=dig_h;
+ lft x2=.05dig_w; y2=y1;
+ lft x3=0; y3=.45dig_h;
+ z4=(.5dig_w,.6dig_h);
+ rt x5=dig_w; y5=.3dig_h;
+ x6=.65dig_w; bot y6=0;
+ lft x7=0; y7=.15dig_h;
+ draw z1--z2--z3{up}..z4..z5..z6...{up}z7;
+ digit[5] := currentpicture;
+ clearxy; clearit; clearpen;
+enddef;
+
+def digit_six =
+ currentpicture := nullpicture;
+ pickup pencircle scaled dig_pen;
+ rt x1=dig_w; y1=.8dig_h;
+ x2=.45dig_w; top y2=dig_h;
+ lft x3=0; y3=.5dig_h;
+ x4=.5dig_w; bot y4=0;
+ rt x5=dig_w; y5=.3dig_h;
+ z6=(.53dig_w,.55dig_h);
+ z7=(.03dig_w+.6dig_pen,.25dig_h);
+ draw z1{up}...z2...z3...z4...z5...{left}z6{left}...{(1,-10)}z7;
+ digit[6] := currentpicture;
+ clearxy; clearit; clearpen;
+enddef;
+
+def digit_seven =
+ currentpicture := nullpicture;
+ pickup pencircle scaled dig_pen;
+ lft x1=0; top y1=dig_h;
+ rt x2=dig_w; y2=y1;
+ lft x3=.2dig_w; bot y3=0;
+ draw z1--z2--z3;
+ digit[7] := currentpicture;
+ clearxy; clearit; clearpen;
+enddef;
+
+def digit_eight =
+ currentpicture := nullpicture;
+ pickup pencircle scaled dig_pen;
+ lft x1=.08dig_w; y1=.75dig_h;
+ x2=.5dig_w; top y2=dig_h;
+ rt x3=.92dig_w; y3=y1;
+ z4=(.5dig_w,.55dig_h);
+ rt x5=dig_w; y5=.25dig_h;
+ x6=.5dig_w; bot y6=0;
+ lft x7=0; y7=y5;
+ draw z1...z2...z3...z4...cycle;
+ draw z4...z5...z6...z7...cycle;
+ digit[8] := currentpicture;
+ clearxy; clearit; clearpen;
+enddef;
+
+def digit_nine =
+ currentpicture := nullpicture;
+ currentpicture := digit[6] rotated 180;
+ digit[9] := currentpicture shifted (dig_w,dig_h);
+ clearxy; clearit; clearpen;
+enddef;
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+digit_zero; digit_one; digit_two; digit_three; digit_four;
+digit_five; digit_six; digit_seven; digit_eight; digit_nine;
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+beginchar(0,24/22size#,23/22size#,1/22size#); "pion czarny";
+ pickup pencircle scaled line_thickness;
+ lft x1=1/24w; y1=11/24w;
+ rt x2=23/24w; y2=11/24w;
+ filldraw z1..z2..cycle;
+ black_circle := currentpicture;
+showit;
+endchar;
+
+% stop"";
+
+beginchar(1,24/22size#,23/22size#,1/22size#); "pion czarny z 1";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(2,24/22size#,23/22size#,1/22size#); "pion czarny z 2";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(3,24/22size#,23/22size#,1/22size#); "pion czarny z 3";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(4,24/22size#,23/22size#,1/22size#); "pion czarny z 4";
+ currentpicture := black_circle
+ - digit[4] shifted (.5w-.6dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(5,24/22size#,23/22size#,1/22size#); "pion czarny z 5";
+ currentpicture := black_circle
+ - digit[5] shifted (.5w-.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(6,24/22size#,23/22size#,1/22size#); "pion czarny z 6";
+ currentpicture := black_circle
+ - digit[6] shifted (.5w-.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(7,24/22size#,23/22size#,1/22size#); "pion czarny z 7";
+ currentpicture := black_circle
+ - digit[7] shifted (.5w-.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(8,24/22size#,23/22size#,1/22size#); "pion czarny z 8";
+ currentpicture := black_circle
+ - digit[8] shifted (.5w-.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(9,24/22size#,23/22size#,1/22size#); "pion czarny z 9";
+ currentpicture := black_circle
+ - digit[9] shifted (.5w-.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+dig_w := 0.8dig_w;
+dig_pen := 1.0dig_pen;
+
+digit_zero; digit_one; digit_two; digit_three; digit_four;
+digit_five; digit_six; digit_seven; digit_eight; digit_nine;
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+beginchar(10,24/22size#,23/22size#,1/22size#); "pion czarny z 10";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.2dig_w,11/24w-.5dig_h)
+ - digit[0] shifted (.5w-0.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(11,24/22size#,23/22size#,1/22size#); "pion czarny z 11";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.05dig_w,11/24w-.5dig_h)
+ - digit[1] shifted (.5w+.05dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(12,24/22size#,23/22size#,1/22size#); "pion czarny z 12";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.2dig_w,11/24w-.5dig_h)
+ - digit[2] shifted (.5w-0.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(13,24/22size#,23/22size#,1/22size#); "pion czarny z 13";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.2dig_w,11/24w-.5dig_h)
+ - digit[3] shifted (.5w-0.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(14,24/22size#,23/22size#,1/22size#); "pion czarny z 14";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.2dig_w,11/24w-.5dig_h)
+ - digit[4] shifted (.5w-0.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(15,24/22size#,23/22size#,1/22size#); "pion czarny z 15";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.2dig_w,11/24w-.5dig_h)
+ - digit[5] shifted (.5w-0.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(16,24/22size#,23/22size#,1/22size#); "pion czarny z 16";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.2dig_w,11/24w-.5dig_h)
+ - digit[6] shifted (.5w-0.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(17,24/22size#,23/22size#,1/22size#); "pion czarny z 17";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.2dig_w,11/24w-.5dig_h)
+ - digit[7] shifted (.5w-0.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(18,24/22size#,23/22size#,1/22size#); "pion czarny z 18";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.2dig_w,11/24w-.5dig_h)
+ - digit[8] shifted (.5w-0.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(19,24/22size#,23/22size#,1/22size#); "pion czarny z 19";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.2dig_w,11/24w-.5dig_h)
+ - digit[9] shifted (.5w-0.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(20,24/22size#,23/22size#,1/22size#); "pion czarny z 20";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ - digit[0] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(21,24/22size#,23/22size#,1/22size#); "pion czarny z 21";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-.9dig_w,11/24w-.5dig_h)
+ - digit[1] shifted (.5w+.2dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(22,24/22size#,23/22size#,1/22size#); "pion czarny z 22";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ - digit[2] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(23,24/22size#,23/22size#,1/22size#); "pion czarny z 23";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ - digit[3] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(24,24/22size#,23/22size#,1/22size#); "pion czarny z 24";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ - digit[4] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(25,24/22size#,23/22size#,1/22size#); "pion czarny z 25";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ - digit[5] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(26,24/22size#,23/22size#,1/22size#); "pion czarny z 26";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ - digit[6] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(27,24/22size#,23/22size#,1/22size#); "pion czarny z 27";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ - digit[7] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(28,24/22size#,23/22size#,1/22size#); "pion czarny z 28";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ - digit[8] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(29,24/22size#,23/22size#,1/22size#); "pion czarny z 29";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ - digit[9] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(30,24/22size#,23/22size#,1/22size#); "pion czarny z 30";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ - digit[0] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(31,24/22size#,23/22size#,1/22size#); "pion czarny z 31";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-.9dig_w,11/24w-.5dig_h)
+ - digit[1] shifted (.5w+.2dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(32,24/22size#,23/22size#,1/22size#); "pion czarny z 32";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ - digit[2] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(33,24/22size#,23/22size#,1/22size#); "pion czarny z 33";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ - digit[3] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(34,24/22size#,23/22size#,1/22size#); "pion czarny z 34";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ - digit[4] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(35,24/22size#,23/22size#,1/22size#); "pion czarny z 35";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ - digit[5] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(36,24/22size#,23/22size#,1/22size#); "pion czarny z 36";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ - digit[6] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(37,24/22size#,23/22size#,1/22size#); "pion czarny z 37";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ - digit[7] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(38,24/22size#,23/22size#,1/22size#); "pion czarny z 38";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ - digit[8] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(39,24/22size#,23/22size#,1/22size#); "pion czarny z 39";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ - digit[9] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(40,24/22size#,23/22size#,1/22size#); "pion czarny z 40";
+ currentpicture := black_circle
+ - digit[4] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ - digit[0] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(41,24/22size#,23/22size#,1/22size#); "pion czarny z 41";
+ currentpicture := black_circle
+ - digit[4] shifted (.5w-1.0dig_w,11/24w-.5dig_h)
+ - digit[1] shifted (.5w+.2dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(42,24/22size#,23/22size#,1/22size#); "pion czarny z 42";
+ currentpicture := black_circle
+ - digit[4] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ - digit[2] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(43,24/22size#,23/22size#,1/22size#); "pion czarny z 43";
+ currentpicture := black_circle
+ - digit[4] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ - digit[3] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(44,24/22size#,23/22size#,1/22size#); "pion czarny z 44";
+ currentpicture := black_circle
+ - digit[4] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ - digit[4] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(45,24/22size#,23/22size#,1/22size#); "pion czarny z 45";
+ currentpicture := black_circle
+ - digit[4] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ - digit[5] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(46,24/22size#,23/22size#,1/22size#); "pion czarny z 46";
+ currentpicture := black_circle
+ - digit[4] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ - digit[6] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(47,24/22size#,23/22size#,1/22size#); "pion czarny z 47";
+ currentpicture := black_circle
+ - digit[4] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ - digit[7] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(48,24/22size#,23/22size#,1/22size#); "pion czarny z 48";
+ currentpicture := black_circle
+ - digit[4] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ - digit[8] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(49,24/22size#,23/22size#,1/22size#); "pion czarny z 49";
+ currentpicture := black_circle
+ - digit[4] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ - digit[9] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(50,24/22size#,23/22size#,1/22size#); "pion czarny z 50";
+ currentpicture := black_circle
+ - digit[5] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ - digit[0] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(51,24/22size#,23/22size#,1/22size#); "pion czarny z 51";
+ currentpicture := black_circle
+ - digit[5] shifted (.5w-.9dig_w,11/24w-.5dig_h)
+ - digit[1] shifted (.5w+.2dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(52,24/22size#,23/22size#,1/22size#); "pion czarny z 52";
+ currentpicture := black_circle
+ - digit[5] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ - digit[2] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(53,24/22size#,23/22size#,1/22size#); "pion czarny z 53";
+ currentpicture := black_circle
+ - digit[5] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ - digit[3] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(54,24/22size#,23/22size#,1/22size#); "pion czarny z 54";
+ currentpicture := black_circle
+ - digit[5] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ - digit[4] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(55,24/22size#,23/22size#,1/22size#); "pion czarny z 55";
+ currentpicture := black_circle
+ - digit[5] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ - digit[5] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(56,24/22size#,23/22size#,1/22size#); "pion czarny z 56";
+ currentpicture := black_circle
+ - digit[5] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ - digit[6] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(57,24/22size#,23/22size#,1/22size#); "pion czarny z 57";
+ currentpicture := black_circle
+ - digit[5] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ - digit[7] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(58,24/22size#,23/22size#,1/22size#); "pion czarny z 58";
+ currentpicture := black_circle
+ - digit[5] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ - digit[8] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(59,24/22size#,23/22size#,1/22size#); "pion czarny z 59";
+ currentpicture := black_circle
+ - digit[5] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ - digit[9] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(60,24/22size#,23/22size#,1/22size#); "pion czarny z 60";
+ currentpicture := black_circle
+ - digit[6] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ - digit[0] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(61,24/22size#,23/22size#,1/22size#); "pion czarny z 61";
+ currentpicture := black_circle
+ - digit[6] shifted (.5w-.9dig_w,11/24w-.5dig_h)
+ - digit[1] shifted (.5w+.2dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(62,24/22size#,23/22size#,1/22size#); "pion czarny z 62";
+ currentpicture := black_circle
+ - digit[6] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ - digit[2] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(63,24/22size#,23/22size#,1/22size#); "pion czarny z 63";
+ currentpicture := black_circle
+ - digit[6] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ - digit[3] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(64,24/22size#,23/22size#,1/22size#); "pion czarny z 64";
+ currentpicture := black_circle
+ - digit[6] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ - digit[4] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(65,24/22size#,23/22size#,1/22size#); "pion czarny z 65";
+ currentpicture := black_circle
+ - digit[6] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ - digit[5] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(66,24/22size#,23/22size#,1/22size#); "pion czarny z 66";
+ currentpicture := black_circle
+ - digit[6] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ - digit[6] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(67,24/22size#,23/22size#,1/22size#); "pion czarny z 67";
+ currentpicture := black_circle
+ - digit[6] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ - digit[7] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(68,24/22size#,23/22size#,1/22size#); "pion czarny z 68";
+ currentpicture := black_circle
+ - digit[6] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ - digit[8] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(69,24/22size#,23/22size#,1/22size#); "pion czarny z 69";
+ currentpicture := black_circle
+ - digit[6] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ - digit[9] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(70,24/22size#,23/22size#,1/22size#); "pion czarny z 70";
+ currentpicture := black_circle
+ - digit[7] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ - digit[0] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(71,24/22size#,23/22size#,1/22size#); "pion czarny z 71";
+ currentpicture := black_circle
+ - digit[7] shifted (.5w-.9dig_w,11/24w-.5dig_h)
+ - digit[1] shifted (.5w+.2dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(72,24/22size#,23/22size#,1/22size#); "pion czarny z 72";
+ currentpicture := black_circle
+ - digit[7] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ - digit[2] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(73,24/22size#,23/22size#,1/22size#); "pion czarny z 73";
+ currentpicture := black_circle
+ - digit[7] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ - digit[3] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(74,24/22size#,23/22size#,1/22size#); "pion czarny z 74";
+ currentpicture := black_circle
+ - digit[7] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ - digit[4] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(75,24/22size#,23/22size#,1/22size#); "pion czarny z 75";
+ currentpicture := black_circle
+ - digit[7] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ - digit[5] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(76,24/22size#,23/22size#,1/22size#); "pion czarny z 76";
+ currentpicture := black_circle
+ - digit[7] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ - digit[6] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(77,24/22size#,23/22size#,1/22size#); "pion czarny z 77";
+ currentpicture := black_circle
+ - digit[7] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ - digit[7] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(78,24/22size#,23/22size#,1/22size#); "pion czarny z 78";
+ currentpicture := black_circle
+ - digit[7] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ - digit[8] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(79,24/22size#,23/22size#,1/22size#); "pion czarny z 79";
+ currentpicture := black_circle
+ - digit[7] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ - digit[9] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(80,24/22size#,23/22size#,1/22size#); "pion czarny z 80";
+ currentpicture := black_circle
+ - digit[8] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ - digit[0] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(81,24/22size#,23/22size#,1/22size#); "pion czarny z 81";
+ currentpicture := black_circle
+ - digit[8] shifted (.5w-.9dig_w,11/24w-.5dig_h)
+ - digit[1] shifted (.5w+.2dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(82,24/22size#,23/22size#,1/22size#); "pion czarny z 82";
+ currentpicture := black_circle
+ - digit[8] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ - digit[2] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(83,24/22size#,23/22size#,1/22size#); "pion czarny z 83";
+ currentpicture := black_circle
+ - digit[8] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ - digit[3] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(84,24/22size#,23/22size#,1/22size#); "pion czarny z 84";
+ currentpicture := black_circle
+ - digit[8] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ - digit[4] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(85,24/22size#,23/22size#,1/22size#); "pion czarny z 85";
+ currentpicture := black_circle
+ - digit[8] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ - digit[5] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(86,24/22size#,23/22size#,1/22size#); "pion czarny z 86";
+ currentpicture := black_circle
+ - digit[8] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ - digit[6] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(87,24/22size#,23/22size#,1/22size#); "pion czarny z 87";
+ currentpicture := black_circle
+ - digit[8] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ - digit[7] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(88,24/22size#,23/22size#,1/22size#); "pion czarny z 88";
+ currentpicture := black_circle
+ - digit[8] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ - digit[8] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(89,24/22size#,23/22size#,1/22size#); "pion czarny z 89";
+ currentpicture := black_circle
+ - digit[8] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ - digit[9] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(90,24/22size#,23/22size#,1/22size#); "pion czarny z 90";
+ currentpicture := black_circle
+ - digit[9] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ - digit[0] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(91,24/22size#,23/22size#,1/22size#); "pion czarny z 91";
+ currentpicture := black_circle
+ - digit[9] shifted (.5w-.9dig_w,11/24w-.5dig_h)
+ - digit[1] shifted (.5w+.2dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(92,24/22size#,23/22size#,1/22size#); "pion czarny z 92";
+ currentpicture := black_circle
+ - digit[9] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ - digit[2] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(93,24/22size#,23/22size#,1/22size#); "pion czarny z 93";
+ currentpicture := black_circle
+ - digit[9] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ - digit[3] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(94,24/22size#,23/22size#,1/22size#); "pion czarny z 94";
+ currentpicture := black_circle
+ - digit[9] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ - digit[4] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(95,24/22size#,23/22size#,1/22size#); "pion czarny z 95";
+ currentpicture := black_circle
+ - digit[9] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ - digit[5] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(96,24/22size#,23/22size#,1/22size#); "pion czarny z 96";
+ currentpicture := black_circle
+ - digit[9] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ - digit[6] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(97,24/22size#,23/22size#,1/22size#); "pion czarny z 97";
+ currentpicture := black_circle
+ - digit[9] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ - digit[7] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(98,24/22size#,23/22size#,1/22size#); "pion czarny z 98";
+ currentpicture := black_circle
+ - digit[9] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ - digit[8] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(99,24/22size#,23/22size#,1/22size#); "pion czarny z 99";
+ currentpicture := black_circle
+ - digit[9] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ - digit[9] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+dig_w := .7dig_w;
+dig_h := .9dig_h;
+dig_pen := .8dig_pen;
+
+digit_zero; digit_one; digit_two; digit_three; digit_four;
+digit_five; digit_six; digit_seven; digit_eight; digit_nine;
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+beginchar(100,24/22size#,23/22size#,1/22size#); "pion czarny z 100";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ - digit[0] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ - digit[0] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(101,24/22size#,23/22size#,1/22size#); "pion czarny z 101";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[0] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[1] shifted (.5w+.6dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(102,24/22size#,23/22size#,1/22size#); "pion czarny z 102";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ - digit[0] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ - digit[2] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(103,24/22size#,23/22size#,1/22size#); "pion czarny z 103";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.7dig_w,11/24w-.5dig_h)
+ - digit[0] shifted (.5w-.7dig_w,11/24w-.5dig_h)
+ - digit[3] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(104,24/22size#,23/22size#,1/22size#); "pion czarny z 104";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ - digit[0] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ - digit[4] shifted (.5w+.45dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(105,24/22size#,23/22size#,1/22size#); "pion czarny z 105";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ - digit[0] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ - digit[5] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(106,24/22size#,23/22size#,1/22size#); "pion czarny z 106";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ - digit[0] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ - digit[6] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(107,24/22size#,23/22size#,1/22size#); "pion czarny z 107";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.7dig_w,11/24w-.5dig_h)
+ - digit[0] shifted (.5w-.7dig_w,11/24w-.5dig_h)
+ - digit[7] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(108,24/22size#,23/22size#,1/22size#); "pion czarny z 108";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ - digit[0] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ - digit[8] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(109,24/22size#,23/22size#,1/22size#); "pion czarny z 109";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ - digit[0] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ - digit[9] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(110,24/22size#,23/22size#,1/22size#); "pion czarny z 110";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[1] shifted (.5w-.7dig_w,11/24w-.5dig_h)
+ - digit[0] shifted (.5w+.4dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(111,24/22size#,23/22size#,1/22size#); "pion czarny z 111";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.5dig_w,11/24w-.5dig_h)
+ - digit[1] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[1] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(112,24/22size#,23/22size#,1/22size#); "pion czarny z 112";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[1] shifted (.5w-.7dig_w,11/24w-.5dig_h)
+ - digit[2] shifted (.5w+.4dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(113,24/22size#,23/22size#,1/22size#); "pion czarny z 113";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[1] shifted (.5w-.7dig_w,11/24w-.5dig_h)
+ - digit[3] shifted (.5w+.4dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(114,24/22size#,23/22size#,1/22size#); "pion czarny z 114";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[1] shifted (.5w-.7dig_w,11/24w-.5dig_h)
+ - digit[4] shifted (.5w+.35dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(115,24/22size#,23/22size#,1/22size#); "pion czarny z 115";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[1] shifted (.5w-.7dig_w,11/24w-.5dig_h)
+ - digit[5] shifted (.5w+.4dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(116,24/22size#,23/22size#,1/22size#); "pion czarny z 116";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[1] shifted (.5w-.7dig_w,11/24w-.5dig_h)
+ - digit[6] shifted (.5w+.4dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(117,24/22size#,23/22size#,1/22size#); "pion czarny z 117";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[1] shifted (.5w-.65dig_w,11/24w-.5dig_h)
+ - digit[7] shifted (.5w+.4dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(118,24/22size#,23/22size#,1/22size#); "pion czarny z 118";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[1] shifted (.5w-.7dig_w,11/24w-.5dig_h)
+ - digit[8] shifted (.5w+.4dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(119,24/22size#,23/22size#,1/22size#); "pion czarny z 119";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[1] shifted (.5w-.7dig_w,11/24w-.5dig_h)
+ - digit[9] shifted (.5w+.4dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(120,24/22size#,23/22size#,1/22size#); "pion czarny z 120";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ - digit[2] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ - digit[0] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(121,24/22size#,23/22size#,1/22size#); "pion czarny z 121";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.65dig_w,11/24w-.5dig_h)
+ - digit[2] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[1] shifted (.5w+.7dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(122,24/22size#,23/22size#,1/22size#); "pion czarny z 122";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ - digit[2] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ - digit[2] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(123,24/22size#,23/22size#,1/22size#); "pion czarny z 123";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.7dig_w,11/24w-.5dig_h)
+ - digit[2] shifted (.5w-.7dig_w,11/24w-.5dig_h)
+ - digit[3] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(124,24/22size#,23/22size#,1/22size#); "pion czarny z 124";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.75dig_w,11/24w-.5dig_h)
+ - digit[2] shifted (.5w-.75dig_w,11/24w-.5dig_h)
+ - digit[4] shifted (.5w+.45dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(125,24/22size#,23/22size#,1/22size#); "pion czarny z 125";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ - digit[2] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ - digit[5] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(126,24/22size#,23/22size#,1/22size#); "pion czarny z 126";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ - digit[2] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ - digit[6] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(127,24/22size#,23/22size#,1/22size#); "pion czarny z 127";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.7dig_w,11/24w-.5dig_h)
+ - digit[2] shifted (.5w-.7dig_w,11/24w-.5dig_h)
+ - digit[7] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+end;
+
diff --git a/fonts/igo/fonts/igoblacki10.mf b/fonts/igo/fonts/igoblacki10.mf
new file mode 100644
index 0000000000..5b374c8e13
--- /dev/null
+++ b/fonts/igo/fonts/igoblacki10.mf
@@ -0,0 +1,13 @@
+font_identifier:="IGOBLACKI"; font_size 10pt#;
+
+size#:=10pt#;
+line_thickness#:=.04size#;
+border_line_thickness#:=.1size#;
+
+%%%
+
+dig_h#:=63/100size#;
+dig_w#:=4/10size#;
+dig_pen#:=1/10size#;
+
+input igoblacki
diff --git a/fonts/igo/fonts/igoblacki11.mf b/fonts/igo/fonts/igoblacki11.mf
new file mode 100644
index 0000000000..5fda5aa291
--- /dev/null
+++ b/fonts/igo/fonts/igoblacki11.mf
@@ -0,0 +1,13 @@
+font_identifier:="IGOBLACKI"; font_size 11pt#;
+
+size#:=11pt#;
+line_thickness#:=.04size#;
+border_line_thickness#:=.1size#;
+
+%%%
+
+dig_h#:=63/100size#;
+dig_w#:=4/10size#;
+dig_pen#:=1/10size#;
+
+input igoblacki
diff --git a/fonts/igo/fonts/igoblacki12.mf b/fonts/igo/fonts/igoblacki12.mf
new file mode 100644
index 0000000000..c64ec540c3
--- /dev/null
+++ b/fonts/igo/fonts/igoblacki12.mf
@@ -0,0 +1,13 @@
+font_identifier:="IGOBLACKI"; font_size 12pt#;
+
+size#:=12pt#;
+line_thickness#:=.04size#;
+border_line_thickness#:=.1size#;
+
+%%%
+
+dig_h#:=63/100size#;
+dig_w#:=4/10size#;
+dig_pen#:=1/10size#;
+
+input igoblacki
diff --git a/fonts/igo/fonts/igoblacki15.mf b/fonts/igo/fonts/igoblacki15.mf
new file mode 100644
index 0000000000..2fffdb3a14
--- /dev/null
+++ b/fonts/igo/fonts/igoblacki15.mf
@@ -0,0 +1,13 @@
+font_identifier:="IGOBLACKI"; font_size 15pt#;
+
+size#:=15pt#;
+line_thickness#:=.04size#;
+border_line_thickness#:=.1size#;
+
+%%%
+
+dig_h#:=63/100size#;
+dig_w#:=4/10size#;
+dig_pen#:=1/10size#;
+
+input igoblacki
diff --git a/fonts/igo/fonts/igoblacki20.mf b/fonts/igo/fonts/igoblacki20.mf
new file mode 100644
index 0000000000..b17c889202
--- /dev/null
+++ b/fonts/igo/fonts/igoblacki20.mf
@@ -0,0 +1,13 @@
+font_identifier:="IGOBLACKI"; font_size 20pt#;
+
+size#:=20pt#;
+line_thickness#:=.04size#;
+border_line_thickness#:=.1size#;
+
+%%%
+
+dig_h#:=63/100size#;
+dig_w#:=4/10size#;
+dig_pen#:=1/10size#;
+
+input igoblacki
diff --git a/fonts/igo/fonts/igoblacki5.mf b/fonts/igo/fonts/igoblacki5.mf
new file mode 100644
index 0000000000..91d67375fb
--- /dev/null
+++ b/fonts/igo/fonts/igoblacki5.mf
@@ -0,0 +1,13 @@
+font_identifier:="IGOBLACKI"; font_size 5pt#;
+
+size#:=5pt#;
+line_thickness#:=.04size#;
+border_line_thickness#:=.1size#;
+
+%%%
+
+dig_h#:=63/100size#;
+dig_w#:=4/10size#;
+dig_pen#:=1/10size#;
+
+input igoblacki
diff --git a/fonts/igo/fonts/igoblacki6.mf b/fonts/igo/fonts/igoblacki6.mf
new file mode 100644
index 0000000000..694007f738
--- /dev/null
+++ b/fonts/igo/fonts/igoblacki6.mf
@@ -0,0 +1,13 @@
+font_identifier:="IGOBLACKI"; font_size 6pt#;
+
+size#:=6pt#;
+line_thickness#:=.04size#;
+border_line_thickness#:=.1size#;
+
+%%%
+
+dig_h#:=63/100size#;
+dig_w#:=4/10size#;
+dig_pen#:=1/10size#;
+
+input igoblacki
diff --git a/fonts/igo/fonts/igoblacki7.mf b/fonts/igo/fonts/igoblacki7.mf
new file mode 100644
index 0000000000..b4f5778d37
--- /dev/null
+++ b/fonts/igo/fonts/igoblacki7.mf
@@ -0,0 +1,13 @@
+font_identifier:="IGOBLACKI"; font_size 7pt#;
+
+size#:=7pt#;
+line_thickness#:=.04size#;
+border_line_thickness#:=.1size#;
+
+%%%
+
+dig_h#:=63/100size#;
+dig_w#:=4/10size#;
+dig_pen#:=1/10size#;
+
+input igoblacki
diff --git a/fonts/igo/fonts/igoblacki8.mf b/fonts/igo/fonts/igoblacki8.mf
new file mode 100644
index 0000000000..a543af4159
--- /dev/null
+++ b/fonts/igo/fonts/igoblacki8.mf
@@ -0,0 +1,13 @@
+font_identifier:="IGOBLACKI"; font_size 8pt#;
+
+size#:=8pt#;
+line_thickness#:=.04size#;
+border_line_thickness#:=.1size#;
+
+%%%
+
+dig_h#:=63/100size#;
+dig_w#:=4/10size#;
+dig_pen#:=1/10size#;
+
+input igoblacki
diff --git a/fonts/igo/fonts/igoblacki9.mf b/fonts/igo/fonts/igoblacki9.mf
new file mode 100644
index 0000000000..e96a8d8175
--- /dev/null
+++ b/fonts/igo/fonts/igoblacki9.mf
@@ -0,0 +1,13 @@
+font_identifier:="IGOBLACKI"; font_size 9pt#;
+
+size#:=9pt#;
+line_thickness#:=.04size#;
+border_line_thickness#:=.1size#;
+
+%%%
+
+dig_h#:=63/100size#;
+dig_w#:=4/10size#;
+dig_pen#:=1/10size#;
+
+input igoblacki
diff --git a/fonts/igo/fonts/igoblackii.mf b/fonts/igo/fonts/igoblackii.mf
new file mode 100644
index 0000000000..468af496a4
--- /dev/null
+++ b/fonts/igo/fonts/igoblackii.mf
@@ -0,0 +1,1437 @@
+mode_setup;
+
+define_pixels(size);
+define_pixels(line_thickness,border_line_thickness);
+define_pixels(dig_h,dig_w,dig_pen);
+
+picture digit[];
+picture black_circle;
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+def digit_zero =
+ currentpicture := nullpicture;
+ pickup pencircle scaled dig_pen;
+ lft x1=0; y1=.5dig_h;
+ x2=.5dig_w; top y2=dig_h;
+ rt x3=dig_w; y3=.5dig_h;
+ x4=.5dig_w; bot y4=0;
+ draw z1...z2...z3...z4...cycle;
+ digit[0] := currentpicture;
+ clearxy; clearit; clearpen;
+enddef;
+
+def digit_one =
+ currentpicture := nullpicture;
+ pickup pencircle scaled dig_pen;
+ x1=.5dig_w; bot y1=0;
+ x2=.5dig_w; top y2=dig_h;
+ draw z1--z2;
+ digit[1] := currentpicture;
+ clearxy; clearit; clearpen;
+enddef;
+
+def digit_two =
+ currentpicture := nullpicture;
+ pickup pencircle scaled dig_pen;
+ lft x1=0; y1=.75dig_h;
+ x2=.5dig_w; top y2=dig_h;
+ rt x3=.8dig_w; y3=.9dig_h;
+ lft x4=0; bot y4=0;
+ draw z1{up}...z2...z3..{(-.8dig_w,-dig_h)}z4;
+ z5=z4;
+ rt x6=dig_w; bot y6=0;
+ draw z5--z6;
+ digit[2] := currentpicture;
+ clearxy; clearit; clearpen;
+enddef;
+
+def digit_three =
+ currentpicture := nullpicture;
+ pickup pencircle scaled dig_pen;
+ lft x1=.08dig_w; y1=.8dig_h;
+ x2=.5dig_w; top y2=dig_h;
+ rt x3=.92dig_w; y3=y1;
+ z4=(.5dig_w,.52dig_h);
+ rt x5=dig_w; y5=.2dig_h;
+ x6=.65dig_w; bot y6=0;
+ lft x7=0; y7=y5;
+ draw z1{up}..z2..z3..{left}z4{right}..z5..z6...{up}z7;
+ digit[3] := currentpicture;
+ clearxy; clearit; clearpen;
+enddef;
+
+def digit_four =
+ currentpicture := nullpicture;
+ pickup pencircle scaled dig_pen;
+ x1=.75dig_w; bot y1=0;
+ x2=x1; top y2=dig_h;
+ lft x3=0; y3=.3dig_h;
+ rt x4=dig_w; y4=y3;
+ draw z1--z2--z3--z4;
+ digit[4] := currentpicture;
+ clearxy; clearit; clearpen;
+enddef;
+
+def digit_five =
+ currentpicture := nullpicture;
+ pickup pencircle scaled dig_pen;
+ rt x1=.95dig_w; top y1=dig_h;
+ lft x2=.05dig_w; y2=y1;
+ lft x3=0; y3=.45dig_h;
+ z4=(.5dig_w,.6dig_h);
+ rt x5=dig_w; y5=.3dig_h;
+ x6=.65dig_w; bot y6=0;
+ lft x7=0; y7=.15dig_h;
+ draw z1--z2--z3{up}..z4..z5..z6...{up}z7;
+ digit[5] := currentpicture;
+ clearxy; clearit; clearpen;
+enddef;
+
+def digit_six =
+ currentpicture := nullpicture;
+ pickup pencircle scaled dig_pen;
+ rt x1=dig_w; y1=.8dig_h;
+ x2=.45dig_w; top y2=dig_h;
+ lft x3=0; y3=.5dig_h;
+ x4=.5dig_w; bot y4=0;
+ rt x5=dig_w; y5=.3dig_h;
+ z6=(.53dig_w,.55dig_h);
+ z7=(.03dig_w+.6dig_pen,.25dig_h);
+ draw z1{up}...z2...z3...z4...z5...{left}z6{left}...{(1,-10)}z7;
+ digit[6] := currentpicture;
+ clearxy; clearit; clearpen;
+enddef;
+
+def digit_seven =
+ currentpicture := nullpicture;
+ pickup pencircle scaled dig_pen;
+ lft x1=0; top y1=dig_h;
+ rt x2=dig_w; y2=y1;
+ lft x3=.2dig_w; bot y3=0;
+ draw z1--z2--z3;
+ digit[7] := currentpicture;
+ clearxy; clearit; clearpen;
+enddef;
+
+def digit_eight =
+ currentpicture := nullpicture;
+ pickup pencircle scaled dig_pen;
+ lft x1=.08dig_w; y1=.75dig_h;
+ x2=.5dig_w; top y2=dig_h;
+ rt x3=.92dig_w; y3=y1;
+ z4=(.5dig_w,.55dig_h);
+ rt x5=dig_w; y5=.25dig_h;
+ x6=.5dig_w; bot y6=0;
+ lft x7=0; y7=y5;
+ draw z1...z2...z3...z4...cycle;
+ draw z4...z5...z6...z7...cycle;
+ digit[8] := currentpicture;
+ clearxy; clearit; clearpen;
+enddef;
+
+def digit_nine =
+ currentpicture := nullpicture;
+ currentpicture := digit[6] rotated 180;
+ digit[9] := currentpicture shifted (dig_w,dig_h);
+ clearxy; clearit; clearpen;
+enddef;
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+dig_w := .7dig_w;
+dig_h := .9dig_h;
+dig_pen := .8dig_pen;
+
+digit_zero; digit_one; digit_two; digit_three; digit_four;
+digit_five; digit_six; digit_seven; digit_eight; digit_nine;
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+beginchar(0,24/22size#,23/22size#,1/22size#); "pion czarny z 128";
+ pickup pencircle scaled line_thickness;
+ lft x1=1/24w; y1=11/24w;
+ rt x2=23/24w; y2=11/24w;
+ filldraw z1..z2..cycle;
+ black_circle := currentpicture;
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ - digit[2] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ - digit[8] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(1,24/22size#,23/22size#,1/22size#); "pion czarny z 129";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ - digit[2] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ - digit[9] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(2,24/22size#,23/22size#,1/22size#); "pion czarny z 130";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ - digit[3] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ - digit[0] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(3,24/22size#,23/22size#,1/22size#); "pion czarny z 131";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[3] shifted (.5w-.55dig_w,11/24w-.5dig_h)
+ - digit[1] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(4,24/22size#,23/22size#,1/22size#); "pion czarny z 132";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ - digit[3] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ - digit[2] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(5,24/22size#,23/22size#,1/22size#); "pion czarny z 133";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.7dig_w,11/24w-.5dig_h)
+ - digit[3] shifted (.5w-.7dig_w,11/24w-.5dig_h)
+ - digit[3] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(6,24/22size#,23/22size#,1/22size#); "pion czarny z 134";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.75dig_w,11/24w-.5dig_h)
+ - digit[3] shifted (.5w-.75dig_w,11/24w-.5dig_h)
+ - digit[4] shifted (.5w+.45dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(7,24/22size#,23/22size#,1/22size#); "pion czarny z 135";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ - digit[3] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ - digit[5] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(8,24/22size#,23/22size#,1/22size#); "pion czarny z 136";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ - digit[3] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ - digit[6] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(9,24/22size#,23/22size#,1/22size#); "pion czarny z 137";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.7dig_w,11/24w-.5dig_h)
+ - digit[3] shifted (.5w-.7dig_w,11/24w-.5dig_h)
+ - digit[7] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(10,24/22size#,23/22size#,1/22size#); "pion czarny z 138";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ - digit[3] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ - digit[8] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(11,24/22size#,23/22size#,1/22size#); "pion czarny z 139";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ - digit[3] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ - digit[9] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(12,24/22size#,23/22size#,1/22size#); "pion czarny z 140";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.7dig_w,11/24w-.5dig_h)
+ - digit[4] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ - digit[0] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(13,24/22size#,23/22size#,1/22size#); "pion czarny z 141";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[4] shifted (.5w-.6dig_w,11/24w-.5dig_h)
+ - digit[1] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(14,24/22size#,23/22size#,1/22size#); "pion czarny z 142";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.7dig_w,11/24w-.5dig_h)
+ - digit[4] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ - digit[2] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(15,24/22size#,23/22size#,1/22size#); "pion czarny z 143";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.7dig_w,11/24w-.5dig_h)
+ - digit[4] shifted (.5w-.75dig_w,11/24w-.5dig_h)
+ - digit[3] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(16,24/22size#,23/22size#,1/22size#); "pion czarny z 144";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.65dig_w,11/24w-.5dig_h)
+ - digit[4] shifted (.5w-.75dig_w,11/24w-.5dig_h)
+ - digit[4] shifted (.5w+.45dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(17,24/22size#,23/22size#,1/22size#); "pion czarny z 145";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.7dig_w,11/24w-.5dig_h)
+ - digit[4] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ - digit[5] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(18,24/22size#,23/22size#,1/22size#); "pion czarny z 146";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.7dig_w,11/24w-.5dig_h)
+ - digit[4] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ - digit[6] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(19,24/22size#,23/22size#,1/22size#); "pion czarny z 147";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.7dig_w,11/24w-.5dig_h)
+ - digit[4] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ - digit[7] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(20,24/22size#,23/22size#,1/22size#); "pion czarny z 148";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.7dig_w,11/24w-.5dig_h)
+ - digit[4] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ - digit[8] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(21,24/22size#,23/22size#,1/22size#); "pion czarny z 149";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.7dig_w,11/24w-.5dig_h)
+ - digit[4] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ - digit[9] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(22,24/22size#,23/22size#,1/22size#); "pion czarny z 150";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ - digit[5] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ - digit[0] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(23,24/22size#,23/22size#,1/22size#); "pion czarny z 151";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[5] shifted (.5w-.55dig_w,11/24w-.5dig_h)
+ - digit[1] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(24,24/22size#,23/22size#,1/22size#); "pion czarny z 152";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ - digit[5] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ - digit[2] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(25,24/22size#,23/22size#,1/22size#); "pion czarny z 153";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.7dig_w,11/24w-.5dig_h)
+ - digit[5] shifted (.5w-.7dig_w,11/24w-.5dig_h)
+ - digit[3] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(26,24/22size#,23/22size#,1/22size#); "pion czarny z 154";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.75dig_w,11/24w-.5dig_h)
+ - digit[5] shifted (.5w-.75dig_w,11/24w-.5dig_h)
+ - digit[4] shifted (.5w+.45dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(27,24/22size#,23/22size#,1/22size#); "pion czarny z 155";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ - digit[5] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ - digit[5] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(28,24/22size#,23/22size#,1/22size#); "pion czarny z 156";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ - digit[5] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ - digit[6] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(29,24/22size#,23/22size#,1/22size#); "pion czarny z 157";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.7dig_w,11/24w-.5dig_h)
+ - digit[5] shifted (.5w-.7dig_w,11/24w-.5dig_h)
+ - digit[7] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(30,24/22size#,23/22size#,1/22size#); "pion czarny z 158";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ - digit[5] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ - digit[8] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(31,24/22size#,23/22size#,1/22size#); "pion czarny z 159";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ - digit[5] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ - digit[9] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(32,24/22size#,23/22size#,1/22size#); "pion czarny z 160";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ - digit[6] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ - digit[0] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(33,24/22size#,23/22size#,1/22size#); "pion czarny z 161";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[6] shifted (.5w-.55dig_w,11/24w-.5dig_h)
+ - digit[1] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(34,24/22size#,23/22size#,1/22size#); "pion czarny z 162";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ - digit[6] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ - digit[2] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(35,24/22size#,23/22size#,1/22size#); "pion czarny z 163";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.7dig_w,11/24w-.5dig_h)
+ - digit[6] shifted (.5w-.7dig_w,11/24w-.5dig_h)
+ - digit[3] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(36,24/22size#,23/22size#,1/22size#); "pion czarny z 164";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.75dig_w,11/24w-.5dig_h)
+ - digit[6] shifted (.5w-.75dig_w,11/24w-.5dig_h)
+ - digit[4] shifted (.5w+.45dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(37,24/22size#,23/22size#,1/22size#); "pion czarny z 165";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ - digit[6] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ - digit[5] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(38,24/22size#,23/22size#,1/22size#); "pion czarny z 166";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ - digit[6] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ - digit[6] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(39,24/22size#,23/22size#,1/22size#); "pion czarny z 167";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.7dig_w,11/24w-.5dig_h)
+ - digit[6] shifted (.5w-.7dig_w,11/24w-.5dig_h)
+ - digit[7] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(40,24/22size#,23/22size#,1/22size#); "pion czarny z 168";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ - digit[6] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ - digit[8] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(41,24/22size#,23/22size#,1/22size#); "pion czarny z 169";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ - digit[6] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ - digit[9] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(42,24/22size#,23/22size#,1/22size#); "pion czarny z 170";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ - digit[7] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ - digit[0] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(43,24/22size#,23/22size#,1/22size#); "pion czarny z 171";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[7] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[1] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(44,24/22size#,23/22size#,1/22size#); "pion czarny z 172";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ - digit[7] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ - digit[2] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(45,24/22size#,23/22size#,1/22size#); "pion czarny z 173";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ - digit[7] shifted (.5w-.7dig_w,11/24w-.5dig_h)
+ - digit[3] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(46,24/22size#,23/22size#,1/22size#); "pion czarny z 174";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.75dig_w,11/24w-.5dig_h)
+ - digit[7] shifted (.5w-.75dig_w,11/24w-.5dig_h)
+ - digit[4] shifted (.5w+.45dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(47,24/22size#,23/22size#,1/22size#); "pion czarny z 175";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ - digit[7] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ - digit[5] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(48,24/22size#,23/22size#,1/22size#); "pion czarny z 176";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ - digit[7] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ - digit[6] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(49,24/22size#,23/22size#,1/22size#); "pion czarny z 177";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ - digit[7] shifted (.5w-.75dig_w,11/24w-.5dig_h)
+ - digit[7] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(50,24/22size#,23/22size#,1/22size#); "pion czarny z 178";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ - digit[7] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ - digit[8] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(51,24/22size#,23/22size#,1/22size#); "pion czarny z 179";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ - digit[7] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ - digit[9] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(52,24/22size#,23/22size#,1/22size#); "pion czarny z 180";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ - digit[8] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ - digit[0] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(53,24/22size#,23/22size#,1/22size#); "pion czarny z 181";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[8] shifted (.5w-.55dig_w,11/24w-.5dig_h)
+ - digit[1] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(54,24/22size#,23/22size#,1/22size#); "pion czarny z 182";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ - digit[8] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ - digit[2] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(55,24/22size#,23/22size#,1/22size#); "pion czarny z 183";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.7dig_w,11/24w-.5dig_h)
+ - digit[8] shifted (.5w-.7dig_w,11/24w-.5dig_h)
+ - digit[3] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(56,24/22size#,23/22size#,1/22size#); "pion czarny z 184";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.75dig_w,11/24w-.5dig_h)
+ - digit[8] shifted (.5w-.75dig_w,11/24w-.5dig_h)
+ - digit[4] shifted (.5w+.45dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(57,24/22size#,23/22size#,1/22size#); "pion czarny z 185";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ - digit[8] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ - digit[5] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(58,24/22size#,23/22size#,1/22size#); "pion czarny z 186";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ - digit[8] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ - digit[6] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(59,24/22size#,23/22size#,1/22size#); "pion czarny z 187";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.7dig_w,11/24w-.5dig_h)
+ - digit[8] shifted (.5w-.7dig_w,11/24w-.5dig_h)
+ - digit[7] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(60,24/22size#,23/22size#,1/22size#); "pion czarny z 188";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ - digit[8] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ - digit[8] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(61,24/22size#,23/22size#,1/22size#); "pion czarny z 189";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ - digit[8] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ - digit[9] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(62,24/22size#,23/22size#,1/22size#); "pion czarny z 190";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ - digit[9] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ - digit[0] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(63,24/22size#,23/22size#,1/22size#); "pion czarny z 191";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[9] shifted (.5w-.55dig_w,11/24w-.5dig_h)
+ - digit[1] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(64,24/22size#,23/22size#,1/22size#); "pion czarny z 192";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ - digit[9] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ - digit[2] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(65,24/22size#,23/22size#,1/22size#); "pion czarny z 193";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.7dig_w,11/24w-.5dig_h)
+ - digit[9] shifted (.5w-.7dig_w,11/24w-.5dig_h)
+ - digit[3] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(66,24/22size#,23/22size#,1/22size#); "pion czarny z 194";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.75dig_w,11/24w-.5dig_h)
+ - digit[9] shifted (.5w-.75dig_w,11/24w-.5dig_h)
+ - digit[4] shifted (.5w+.45dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(67,24/22size#,23/22size#,1/22size#); "pion czarny z 195";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ - digit[9] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ - digit[5] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(68,24/22size#,23/22size#,1/22size#); "pion czarny z 196";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ - digit[9] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ - digit[6] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(69,24/22size#,23/22size#,1/22size#); "pion czarny z 197";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.7dig_w,11/24w-.5dig_h)
+ - digit[9] shifted (.5w-.7dig_w,11/24w-.5dig_h)
+ - digit[7] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(70,24/22size#,23/22size#,1/22size#); "pion czarny z 198";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ - digit[9] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ - digit[8] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(71,24/22size#,23/22size#,1/22size#); "pion czarny z 199";
+ currentpicture := black_circle
+ - digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ - digit[9] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ - digit[9] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(72,24/22size#,23/22size#,1/22size#); "pion czarny z 200";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[0] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[0] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(73,24/22size#,23/22size#,1/22size#); "pion czarny z 201";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[0] shifted (.5w-.4dig_w,11/24w-.5dig_h)
+ - digit[1] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(74,24/22size#,23/22size#,1/22size#); "pion czarny z 202";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[0] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[2] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(75,24/22size#,23/22size#,1/22size#); "pion czarny z 203";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[0] shifted (.5w-.45dig_w,11/24w-.5dig_h)
+ - digit[3] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(76,24/22size#,23/22size#,1/22size#); "pion czarny z 204";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[0] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[4] shifted (.5w+.6dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(77,24/22size#,23/22size#,1/22size#); "pion czarny z 205";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[0] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[5] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(78,24/22size#,23/22size#,1/22size#); "pion czarny z 206";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[0] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[6] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(79,24/22size#,23/22size#,1/22size#); "pion czarny z 207";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[0] shifted (.5w-.45dig_w,11/24w-.5dig_h)
+ - digit[7] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(80,24/22size#,23/22size#,1/22size#); "pion czarny z 208";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[0] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[8] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(81,24/22size#,23/22size#,1/22size#); "pion czarny z 209";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[0] shifted (.5w-.45dig_w,11/24w-.5dig_h)
+ - digit[9] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(82,24/22size#,23/22size#,1/22size#); "pion czarny z 210";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.4dig_w,11/24w-.5dig_h)
+ - digit[1] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[0] shifted (.5w+.45dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(83,24/22size#,23/22size#,1/22size#); "pion czarny z 211";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.4dig_w,11/24w-.5dig_h)
+ - digit[1] shifted (.5w-.35dig_w,11/24w-.5dig_h)
+ - digit[1] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(84,24/22size#,23/22size#,1/22size#); "pion czarny z 212";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.4dig_w,11/24w-.5dig_h)
+ - digit[1] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[2] shifted (.5w+.45dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(85,24/22size#,23/22size#,1/22size#); "pion czarny z 213";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.4dig_w,11/24w-.5dig_h)
+ - digit[1] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[3] shifted (.5w+.45dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(86,24/22size#,23/22size#,1/22size#); "pion czarny z 214";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.4dig_w,11/24w-.5dig_h)
+ - digit[1] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[4] shifted (.5w+.4dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(87,24/22size#,23/22size#,1/22size#); "pion czarny z 215";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.4dig_w,11/24w-.5dig_h)
+ - digit[1] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[5] shifted (.5w+.45dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(88,24/22size#,23/22size#,1/22size#); "pion czarny z 216";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.4dig_w,11/24w-.5dig_h)
+ - digit[1] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[6] shifted (.5w+.45dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(89,24/22size#,23/22size#,1/22size#); "pion czarny z 217";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.4dig_w,11/24w-.5dig_h)
+ - digit[1] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[7] shifted (.5w+.45dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(90,24/22size#,23/22size#,1/22size#); "pion czarny z 218";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.4dig_w,11/24w-.5dig_h)
+ - digit[1] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[8] shifted (.5w+.45dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(91,24/22size#,23/22size#,1/22size#); "pion czarny z 219";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.4dig_w,11/24w-.5dig_h)
+ - digit[1] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[9] shifted (.5w+.45dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(92,24/22size#,23/22size#,1/22size#); "pion czarny z 220";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[2] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[0] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(93,24/22size#,23/22size#,1/22size#); "pion czarny z 221";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[2] shifted (.5w-.4dig_w,11/24w-.5dig_h)
+ - digit[1] shifted (.5w+.6dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(94,24/22size#,23/22size#,1/22size#); "pion czarny z 222";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[2] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[2] shifted (.5w+.6dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(95,24/22size#,23/22size#,1/22size#); "pion czarny z 223";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[2] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[3] shifted (.5w+.6dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(96,24/22size#,23/22size#,1/22size#); "pion czarny z 224";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[2] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[4] shifted (.5w+.55dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(97,24/22size#,23/22size#,1/22size#); "pion czarny z 225";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[2] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[5] shifted (.5w+.6dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(98,24/22size#,23/22size#,1/22size#); "pion czarny z 226";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[2] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[6] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(99,24/22size#,23/22size#,1/22size#); "pion czarny z 227";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[2] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[7] shifted (.5w+.6dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(100,24/22size#,23/22size#,1/22size#); "pion czarny z 228";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[2] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[8] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(101,24/22size#,23/22size#,1/22size#); "pion czarny z 229";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[2] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[9] shifted (.5w+.6dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(102,24/22size#,23/22size#,1/22size#); "pion czarny z 230";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[3] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[0] shifted (.5w+.7dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(103,24/22size#,23/22size#,1/22size#); "pion czarny z 231";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[3] shifted (.5w-.4dig_w,11/24w-.5dig_h)
+ - digit[1] shifted (.5w+.6dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(104,24/22size#,23/22size#,1/22size#); "pion czarny z 232";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[3] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[2] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(105,24/22size#,23/22size#,1/22size#); "pion czarny z 233";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[3] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[3] shifted (.5w+.6dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(106,24/22size#,23/22size#,1/22size#); "pion czarny z 234";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[3] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[4] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(107,24/22size#,23/22size#,1/22size#); "pion czarny z 235";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[3] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[5] shifted (.5w+.6dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(108,24/22size#,23/22size#,1/22size#); "pion czarny z 236";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[3] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[6] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(109,24/22size#,23/22size#,1/22size#); "pion czarny z 237";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[3] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[7] shifted (.5w+.6dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(110,24/22size#,23/22size#,1/22size#); "pion czarny z 238";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[3] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[8] shifted (.5w+.7dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(111,24/22size#,23/22size#,1/22size#); "pion czarny z 239";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[3] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[9] shifted (.5w+.6dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(112,24/22size#,23/22size#,1/22size#); "pion czarny z 240";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[4] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[0] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(113,24/22size#,23/22size#,1/22size#); "pion czarny z 241";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[4] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[1] shifted (.5w+.6dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(114,24/22size#,23/22size#,1/22size#); "pion czarny z 242";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[4] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[2] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(115,24/22size#,23/22size#,1/22size#); "pion czarny z 243";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[4] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[3] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(116,24/22size#,23/22size#,1/22size#); "pion czarny z 244";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[4] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[4] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(117,24/22size#,23/22size#,1/22size#); "pion czarny z 245";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[4] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[5] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(118,24/22size#,23/22size#,1/22size#); "pion czarny z 246";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[4] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[6] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(119,24/22size#,23/22size#,1/22size#); "pion czarny z 247";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[4] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[7] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(120,24/22size#,23/22size#,1/22size#); "pion czarny z 248";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[4] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[8] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(121,24/22size#,23/22size#,1/22size#); "pion czarny z 249";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[4] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[9] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(122,24/22size#,23/22size#,1/22size#); "pion czarny z 250";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[5] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[0] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(123,24/22size#,23/22size#,1/22size#); "pion czarny z 251";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[5] shifted (.5w-.4dig_w,11/24w-.5dig_h)
+ - digit[1] shifted (.5w+.7dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(124,24/22size#,23/22size#,1/22size#); "pion czarny z 252";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[5] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[2] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(125,24/22size#,23/22size#,1/22size#); "pion czarny z 253";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[5] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[3] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(126,24/22size#,23/22size#,1/22size#); "pion czarny z 254";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[5] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[4] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(127,24/22size#,23/22size#,1/22size#); "pion czarny z 255";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[5] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[5] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+end;
+
diff --git a/fonts/igo/fonts/igoblackii10.mf b/fonts/igo/fonts/igoblackii10.mf
new file mode 100644
index 0000000000..0791dfcf11
--- /dev/null
+++ b/fonts/igo/fonts/igoblackii10.mf
@@ -0,0 +1,13 @@
+font_identifier:="IGOBLACKII"; font_size 10pt#;
+
+size#:=10pt#;
+line_thickness#:=.04size#;
+border_line_thickness#:=.1size#;
+
+%%%
+
+dig_h#:=63/100size#;
+dig_w#:=4/10size#;
+dig_pen#:=1/10size#;
+
+input igoblackii
diff --git a/fonts/igo/fonts/igoblackii11.mf b/fonts/igo/fonts/igoblackii11.mf
new file mode 100644
index 0000000000..fc541bcc01
--- /dev/null
+++ b/fonts/igo/fonts/igoblackii11.mf
@@ -0,0 +1,13 @@
+font_identifier:="IGOBLACKII"; font_size 11pt#;
+
+size#:=11pt#;
+line_thickness#:=.04size#;
+border_line_thickness#:=.1size#;
+
+%%%
+
+dig_h#:=63/100size#;
+dig_w#:=4/10size#;
+dig_pen#:=1/10size#;
+
+input igoblackii
diff --git a/fonts/igo/fonts/igoblackii12.mf b/fonts/igo/fonts/igoblackii12.mf
new file mode 100644
index 0000000000..755cb03b58
--- /dev/null
+++ b/fonts/igo/fonts/igoblackii12.mf
@@ -0,0 +1,13 @@
+font_identifier:="IGOBLACKII"; font_size 12pt#;
+
+size#:=12pt#;
+line_thickness#:=.04size#;
+border_line_thickness#:=.1size#;
+
+%%%
+
+dig_h#:=63/100size#;
+dig_w#:=4/10size#;
+dig_pen#:=1/10size#;
+
+input igoblackii
diff --git a/fonts/igo/fonts/igoblackii15.mf b/fonts/igo/fonts/igoblackii15.mf
new file mode 100644
index 0000000000..a547dec60c
--- /dev/null
+++ b/fonts/igo/fonts/igoblackii15.mf
@@ -0,0 +1,13 @@
+font_identifier:="IGOBLACKII"; font_size 15pt#;
+
+size#:=15pt#;
+line_thickness#:=.04size#;
+border_line_thickness#:=.1size#;
+
+%%%
+
+dig_h#:=63/100size#;
+dig_w#:=4/10size#;
+dig_pen#:=1/10size#;
+
+input igoblackii
diff --git a/fonts/igo/fonts/igoblackii20.mf b/fonts/igo/fonts/igoblackii20.mf
new file mode 100644
index 0000000000..77a244a3aa
--- /dev/null
+++ b/fonts/igo/fonts/igoblackii20.mf
@@ -0,0 +1,13 @@
+font_identifier:="IGOBLACKII"; font_size 20pt#;
+
+size#:=20pt#;
+line_thickness#:=.04size#;
+border_line_thickness#:=.1size#;
+
+%%%
+
+dig_h#:=63/100size#;
+dig_w#:=4/10size#;
+dig_pen#:=1/10size#;
+
+input igoblackii
diff --git a/fonts/igo/fonts/igoblackii5.mf b/fonts/igo/fonts/igoblackii5.mf
new file mode 100644
index 0000000000..d3c59dec95
--- /dev/null
+++ b/fonts/igo/fonts/igoblackii5.mf
@@ -0,0 +1,13 @@
+font_identifier:="IGOBLACKII"; font_size 5pt#;
+
+size#:=5pt#;
+line_thickness#:=.04size#;
+border_line_thickness#:=.1size#;
+
+%%%
+
+dig_h#:=63/100size#;
+dig_w#:=4/10size#;
+dig_pen#:=1/10size#;
+
+input igoblackii
diff --git a/fonts/igo/fonts/igoblackii6.mf b/fonts/igo/fonts/igoblackii6.mf
new file mode 100644
index 0000000000..b877756c96
--- /dev/null
+++ b/fonts/igo/fonts/igoblackii6.mf
@@ -0,0 +1,13 @@
+font_identifier:="IGOBLACKII"; font_size 6pt#;
+
+size#:=6pt#;
+line_thickness#:=.04size#;
+border_line_thickness#:=.1size#;
+
+%%%
+
+dig_h#:=63/100size#;
+dig_w#:=4/10size#;
+dig_pen#:=1/10size#;
+
+input igoblackii
diff --git a/fonts/igo/fonts/igoblackii7.mf b/fonts/igo/fonts/igoblackii7.mf
new file mode 100644
index 0000000000..58caf1f50e
--- /dev/null
+++ b/fonts/igo/fonts/igoblackii7.mf
@@ -0,0 +1,13 @@
+font_identifier:="IGOBLACKII"; font_size 7pt#;
+
+size#:=7pt#;
+line_thickness#:=.04size#;
+border_line_thickness#:=.1size#;
+
+%%%
+
+dig_h#:=63/100size#;
+dig_w#:=4/10size#;
+dig_pen#:=1/10size#;
+
+input igoblackii
diff --git a/fonts/igo/fonts/igoblackii8.mf b/fonts/igo/fonts/igoblackii8.mf
new file mode 100644
index 0000000000..a16a837f24
--- /dev/null
+++ b/fonts/igo/fonts/igoblackii8.mf
@@ -0,0 +1,13 @@
+font_identifier:="IGOBLACKII"; font_size 8pt#;
+
+size#:=8pt#;
+line_thickness#:=.04size#;
+border_line_thickness#:=.1size#;
+
+%%%
+
+dig_h#:=63/100size#;
+dig_w#:=4/10size#;
+dig_pen#:=1/10size#;
+
+input igoblackii
diff --git a/fonts/igo/fonts/igoblackii9.mf b/fonts/igo/fonts/igoblackii9.mf
new file mode 100644
index 0000000000..c7b09f4bbd
--- /dev/null
+++ b/fonts/igo/fonts/igoblackii9.mf
@@ -0,0 +1,13 @@
+font_identifier:="IGOBLACKII"; font_size 9pt#;
+
+size#:=9pt#;
+line_thickness#:=.04size#;
+border_line_thickness#:=.1size#;
+
+%%%
+
+dig_h#:=63/100size#;
+dig_w#:=4/10size#;
+dig_pen#:=1/10size#;
+
+input igoblackii
diff --git a/fonts/igo/fonts/igoblackiii.mf b/fonts/igo/fonts/igoblackiii.mf
new file mode 100644
index 0000000000..18ef81f5f7
--- /dev/null
+++ b/fonts/igo/fonts/igoblackiii.mf
@@ -0,0 +1,1453 @@
+mode_setup;
+
+define_pixels(size);
+define_pixels(line_thickness,border_line_thickness);
+define_pixels(dig_h,dig_w,dig_pen);
+
+picture digit[];
+picture black_circle;
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+def digit_zero =
+ currentpicture := nullpicture;
+ pickup pencircle scaled dig_pen;
+ lft x1=0; y1=.5dig_h;
+ x2=.5dig_w; top y2=dig_h;
+ rt x3=dig_w; y3=.5dig_h;
+ x4=.5dig_w; bot y4=0;
+ draw z1...z2...z3...z4...cycle;
+ digit[0] := currentpicture;
+ clearxy; clearit; clearpen;
+enddef;
+
+def digit_one =
+ currentpicture := nullpicture;
+ pickup pencircle scaled dig_pen;
+ x1=.5dig_w; bot y1=0;
+ x2=.5dig_w; top y2=dig_h;
+ draw z1--z2;
+ digit[1] := currentpicture;
+ clearxy; clearit; clearpen;
+enddef;
+
+def digit_two =
+ currentpicture := nullpicture;
+ pickup pencircle scaled dig_pen;
+ lft x1=0; y1=.75dig_h;
+ x2=.5dig_w; top y2=dig_h;
+ rt x3=.8dig_w; y3=.9dig_h;
+ lft x4=0; bot y4=0;
+ draw z1{up}...z2...z3..{(-.8dig_w,-dig_h)}z4;
+ z5=z4;
+ rt x6=dig_w; bot y6=0;
+ draw z5--z6;
+ digit[2] := currentpicture;
+ clearxy; clearit; clearpen;
+enddef;
+
+def digit_three =
+ currentpicture := nullpicture;
+ pickup pencircle scaled dig_pen;
+ lft x1=.08dig_w; y1=.8dig_h;
+ x2=.5dig_w; top y2=dig_h;
+ rt x3=.92dig_w; y3=y1;
+ z4=(.5dig_w,.52dig_h);
+ rt x5=dig_w; y5=.2dig_h;
+ x6=.65dig_w; bot y6=0;
+ lft x7=0; y7=y5;
+ draw z1{up}..z2..z3..{left}z4{right}..z5..z6...{up}z7;
+ digit[3] := currentpicture;
+ clearxy; clearit; clearpen;
+enddef;
+
+def digit_four =
+ currentpicture := nullpicture;
+ pickup pencircle scaled dig_pen;
+ x1=.75dig_w; bot y1=0;
+ x2=x1; top y2=dig_h;
+ lft x3=0; y3=.3dig_h;
+ rt x4=dig_w; y4=y3;
+ draw z1--z2--z3--z4;
+ digit[4] := currentpicture;
+ clearxy; clearit; clearpen;
+enddef;
+
+def digit_five =
+ currentpicture := nullpicture;
+ pickup pencircle scaled dig_pen;
+ rt x1=.95dig_w; top y1=dig_h;
+ lft x2=.05dig_w; y2=y1;
+ lft x3=0; y3=.45dig_h;
+ z4=(.5dig_w,.6dig_h);
+ rt x5=dig_w; y5=.3dig_h;
+ x6=.65dig_w; bot y6=0;
+ lft x7=0; y7=.15dig_h;
+ draw z1--z2--z3{up}..z4..z5..z6...{up}z7;
+ digit[5] := currentpicture;
+ clearxy; clearit; clearpen;
+enddef;
+
+def digit_six =
+ currentpicture := nullpicture;
+ pickup pencircle scaled dig_pen;
+ rt x1=dig_w; y1=.8dig_h;
+ x2=.45dig_w; top y2=dig_h;
+ lft x3=0; y3=.5dig_h;
+ x4=.5dig_w; bot y4=0;
+ rt x5=dig_w; y5=.3dig_h;
+ z6=(.53dig_w,.55dig_h);
+ z7=(.03dig_w+.6dig_pen,.25dig_h);
+ draw z1{up}...z2...z3...z4...z5...{left}z6{left}...{(1,-10)}z7;
+ digit[6] := currentpicture;
+ clearxy; clearit; clearpen;
+enddef;
+
+def digit_seven =
+ currentpicture := nullpicture;
+ pickup pencircle scaled dig_pen;
+ lft x1=0; top y1=dig_h;
+ rt x2=dig_w; y2=y1;
+ lft x3=.2dig_w; bot y3=0;
+ draw z1--z2--z3;
+ digit[7] := currentpicture;
+ clearxy; clearit; clearpen;
+enddef;
+
+def digit_eight =
+ currentpicture := nullpicture;
+ pickup pencircle scaled dig_pen;
+ lft x1=.08dig_w; y1=.75dig_h;
+ x2=.5dig_w; top y2=dig_h;
+ rt x3=.92dig_w; y3=y1;
+ z4=(.5dig_w,.55dig_h);
+ rt x5=dig_w; y5=.25dig_h;
+ x6=.5dig_w; bot y6=0;
+ lft x7=0; y7=y5;
+ draw z1...z2...z3...z4...cycle;
+ draw z4...z5...z6...z7...cycle;
+ digit[8] := currentpicture;
+ clearxy; clearit; clearpen;
+enddef;
+
+def digit_nine =
+ currentpicture := nullpicture;
+ currentpicture := digit[6] rotated 180;
+ digit[9] := currentpicture shifted (dig_w,dig_h);
+ clearxy; clearit; clearpen;
+enddef;
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+dig_w := .7dig_w;
+dig_h := .9dig_h;
+dig_pen := .8dig_pen;
+
+digit_zero; digit_one; digit_two; digit_three; digit_four;
+digit_five; digit_six; digit_seven; digit_eight; digit_nine;
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+beginchar(0,24/22size#,23/22size#,1/22size#); "pion czarny z 256";
+ pickup pencircle scaled line_thickness;
+ lft x1=1/24w; y1=11/24w;
+ rt x2=23/24w; y2=11/24w;
+ filldraw z1..z2..cycle;
+ black_circle := currentpicture;
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[5] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[6] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(1,24/22size#,23/22size#,1/22size#); "pion czarny z 257";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[5] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[7] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(2,24/22size#,23/22size#,1/22size#); "pion czarny z 258";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[5] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[8] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(3,24/22size#,23/22size#,1/22size#); "pion czarny z 259";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[5] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[9] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(4,24/22size#,23/22size#,1/22size#); "pion czarny z 260";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[6] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[0] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(5,24/22size#,23/22size#,1/22size#); "pion czarny z 261";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[6] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[1] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(6,24/22size#,23/22size#,1/22size#); "pion czarny z 262";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[6] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[2] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(7,24/22size#,23/22size#,1/22size#); "pion czarny z 263";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[6] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[3] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(8,24/22size#,23/22size#,1/22size#); "pion czarny z 264";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[6] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[4] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(9,24/22size#,23/22size#,1/22size#); "pion czarny z 265";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[6] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[5] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(10,24/22size#,23/22size#,1/22size#); "pion czarny z 266";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[6] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[6] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(11,24/22size#,23/22size#,1/22size#); "pion czarny z 267";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[6] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[7] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(12,24/22size#,23/22size#,1/22size#); "pion czarny z 268";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[6] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[8] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(13,24/22size#,23/22size#,1/22size#); "pion czarny z 269";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[6] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[9] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(14,24/22size#,23/22size#,1/22size#); "pion czarny z 270";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[7] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[0] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(15,24/22size#,23/22size#,1/22size#); "pion czarny z 271";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[7] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[1] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(16,24/22size#,23/22size#,1/22size#); "pion czarny z 272";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[7] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[2] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(17,24/22size#,23/22size#,1/22size#); "pion czarny z 273";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[7] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[3] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(18,24/22size#,23/22size#,1/22size#); "pion czarny z 274";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[7] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[4] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(19,24/22size#,23/22size#,1/22size#); "pion czarny z 275";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[7] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[5] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(20,24/22size#,23/22size#,1/22size#); "pion czarny z 276";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[7] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[6] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(21,24/22size#,23/22size#,1/22size#); "pion czarny z 277";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[7] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[7] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(22,24/22size#,23/22size#,1/22size#); "pion czarny z 278";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[7] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[8] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(23,24/22size#,23/22size#,1/22size#); "pion czarny z 279";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[7] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[9] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(24,24/22size#,23/22size#,1/22size#); "pion czarny z 280";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[8] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[0] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(25,24/22size#,23/22size#,1/22size#); "pion czarny z 281";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[8] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[1] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(26,24/22size#,23/22size#,1/22size#); "pion czarny z 282";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[8] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[2] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(27,24/22size#,23/22size#,1/22size#); "pion czarny z 283";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[8] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[3] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(28,24/22size#,23/22size#,1/22size#); "pion czarny z 284";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[8] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[4] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(29,24/22size#,23/22size#,1/22size#); "pion czarny z 285";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[8] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[5] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(30,24/22size#,23/22size#,1/22size#); "pion czarny z 286";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[8] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[6] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(31,24/22size#,23/22size#,1/22size#); "pion czarny z 287";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[8] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[7] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(32,24/22size#,23/22size#,1/22size#); "pion czarny z 288";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[8] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[8] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(33,24/22size#,23/22size#,1/22size#); "pion czarny z 289";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[8] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[9] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(34,24/22size#,23/22size#,1/22size#); "pion czarny z 290";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[9] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[0] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(35,24/22size#,23/22size#,1/22size#); "pion czarny z 291";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[9] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[1] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(36,24/22size#,23/22size#,1/22size#); "pion czarny z 292";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[9] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[2] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(37,24/22size#,23/22size#,1/22size#); "pion czarny z 293";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[9] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[3] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(38,24/22size#,23/22size#,1/22size#); "pion czarny z 294";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[9] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[4] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(39,24/22size#,23/22size#,1/22size#); "pion czarny z 295";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[9] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[5] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(40,24/22size#,23/22size#,1/22size#); "pion czarny z 296";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[9] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[6] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(41,24/22size#,23/22size#,1/22size#); "pion czarny z 297";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[9] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[7] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(42,24/22size#,23/22size#,1/22size#); "pion czarny z 298";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[9] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[8] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(43,24/22size#,23/22size#,1/22size#); "pion czarny z 299";
+ currentpicture := black_circle
+ - digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[9] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[9] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(44,24/22size#,23/22size#,1/22size#); "pion czarny z 300";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[0] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[0] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(45,24/22size#,23/22size#,1/22size#); "pion czarny z 301";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[0] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[1] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(46,24/22size#,23/22size#,1/22size#); "pion czarny z 302";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[0] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[2] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(47,24/22size#,23/22size#,1/22size#); "pion czarny z 303";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[0] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[3] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(48,24/22size#,23/22size#,1/22size#); "pion czarny z 304";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[0] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[4] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(49,24/22size#,23/22size#,1/22size#); "pion czarny z 305";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[0] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[5] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(50,24/22size#,23/22size#,1/22size#); "pion czarny z 306";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[0] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[6] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(51,24/22size#,23/22size#,1/22size#); "pion czarny z 307";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[0] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[7] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(52,24/22size#,23/22size#,1/22size#); "pion czarny z 308";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[0] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[8] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(53,24/22size#,23/22size#,1/22size#); "pion czarny z 309";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[0] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[9] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(54,24/22size#,23/22size#,1/22size#); "pion czarny z 310";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.4dig_w,11/24w-.5dig_h)
+ - digit[1] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[0] shifted (.5w+.45dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(55,24/22size#,23/22size#,1/22size#); "pion czarny z 311";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.4dig_w,11/24w-.5dig_h)
+ - digit[1] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[1] shifted (.5w+.45dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(56,24/22size#,23/22size#,1/22size#); "pion czarny z 312";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.4dig_w,11/24w-.5dig_h)
+ - digit[1] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[2] shifted (.5w+.45dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(57,24/22size#,23/22size#,1/22size#); "pion czarny z 313";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.4dig_w,11/24w-.5dig_h)
+ - digit[1] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[3] shifted (.5w+.45dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(58,24/22size#,23/22size#,1/22size#); "pion czarny z 314";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.4dig_w,11/24w-.5dig_h)
+ - digit[1] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[4] shifted (.5w+.45dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(59,24/22size#,23/22size#,1/22size#); "pion czarny z 315";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.4dig_w,11/24w-.5dig_h)
+ - digit[1] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[5] shifted (.5w+.45dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(60,24/22size#,23/22size#,1/22size#); "pion czarny z 316";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.4dig_w,11/24w-.5dig_h)
+ - digit[1] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[6] shifted (.5w+.45dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(61,24/22size#,23/22size#,1/22size#); "pion czarny z 317";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.4dig_w,11/24w-.5dig_h)
+ - digit[1] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[7] shifted (.5w+.45dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(62,24/22size#,23/22size#,1/22size#); "pion czarny z 318";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.4dig_w,11/24w-.5dig_h)
+ - digit[1] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[8] shifted (.5w+.45dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(63,24/22size#,23/22size#,1/22size#); "pion czarny z 319";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.4dig_w,11/24w-.5dig_h)
+ - digit[1] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[9] shifted (.5w+.45dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(64,24/22size#,23/22size#,1/22size#); "pion czarny z 320";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[2] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[0] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(65,24/22size#,23/22size#,1/22size#); "pion czarny z 321";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[2] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[1] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(66,24/22size#,23/22size#,1/22size#); "pion czarny z 322";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[2] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[2] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(67,24/22size#,23/22size#,1/22size#); "pion czarny z 323";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[2] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[3] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(68,24/22size#,23/22size#,1/22size#); "pion czarny z 324";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[2] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[4] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(69,24/22size#,23/22size#,1/22size#); "pion czarny z 325";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[2] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[5] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(70,24/22size#,23/22size#,1/22size#); "pion czarny z 326";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[2] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[6] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(71,24/22size#,23/22size#,1/22size#); "pion czarny z 327";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[2] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[7] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(72,24/22size#,23/22size#,1/22size#); "pion czarny z 328";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[2] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[8] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(73,24/22size#,23/22size#,1/22size#); "pion czarny z 329";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[2] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[9] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(74,24/22size#,23/22size#,1/22size#); "pion czarny z 330";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[3] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[0] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(75,24/22size#,23/22size#,1/22size#); "pion czarny z 331";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[3] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[1] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(76,24/22size#,23/22size#,1/22size#); "pion czarny z 332";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[3] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[2] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(77,24/22size#,23/22size#,1/22size#); "pion czarny z 333";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[3] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[3] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(78,24/22size#,23/22size#,1/22size#); "pion czarny z 334";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[3] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[4] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(79,24/22size#,23/22size#,1/22size#); "pion czarny z 335";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[3] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[5] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(80,24/22size#,23/22size#,1/22size#); "pion czarny z 336";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[3] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[6] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(81,24/22size#,23/22size#,1/22size#); "pion czarny z 337";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[3] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[7] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(82,24/22size#,23/22size#,1/22size#); "pion czarny z 338";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[3] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[8] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(83,24/22size#,23/22size#,1/22size#); "pion czarny z 339";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[3] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[9] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(84,24/22size#,23/22size#,1/22size#); "pion czarny z 340";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.55dig_w,11/24w-.5dig_h)
+ - digit[4] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[0] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(85,24/22size#,23/22size#,1/22size#); "pion czarny z 341";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.55dig_w,11/24w-.5dig_h)
+ - digit[4] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[1] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(86,24/22size#,23/22size#,1/22size#); "pion czarny z 342";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.55dig_w,11/24w-.5dig_h)
+ - digit[4] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[2] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(87,24/22size#,23/22size#,1/22size#); "pion czarny z 343";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.55dig_w,11/24w-.5dig_h)
+ - digit[4] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[3] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(88,24/22size#,23/22size#,1/22size#); "pion czarny z 344";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.55dig_w,11/24w-.5dig_h)
+ - digit[4] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[4] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(89,24/22size#,23/22size#,1/22size#); "pion czarny z 345";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.55dig_w,11/24w-.5dig_h)
+ - digit[4] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[5] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(90,24/22size#,23/22size#,1/22size#); "pion czarny z 346";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.55dig_w,11/24w-.5dig_h)
+ - digit[4] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[6] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(91,24/22size#,23/22size#,1/22size#); "pion czarny z 347";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.55dig_w,11/24w-.5dig_h)
+ - digit[4] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[7] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(92,24/22size#,23/22size#,1/22size#); "pion czarny z 348";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.55dig_w,11/24w-.5dig_h)
+ - digit[4] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[8] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(93,24/22size#,23/22size#,1/22size#); "pion czarny z 349";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.55dig_w,11/24w-.5dig_h)
+ - digit[4] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[9] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(94,24/22size#,23/22size#,1/22size#); "pion czarny z 350";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[5] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[0] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(95,24/22size#,23/22size#,1/22size#); "pion czarny z 351";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[5] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[1] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(96,24/22size#,23/22size#,1/22size#); "pion czarny z 352";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[5] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[2] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(97,24/22size#,23/22size#,1/22size#); "pion czarny z 353";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[5] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[3] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(98,24/22size#,23/22size#,1/22size#); "pion czarny z 354";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[5] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[4] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(99,24/22size#,23/22size#,1/22size#); "pion czarny z 355";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[5] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[5] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(100,24/22size#,23/22size#,1/22size#); "pion czarny z 356";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[5] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[6] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(101,24/22size#,23/22size#,1/22size#); "pion czarny z 357";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[5] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[7] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(102,24/22size#,23/22size#,1/22size#); "pion czarny z 358";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[5] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[8] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(103,24/22size#,23/22size#,1/22size#); "pion czarny z 359";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[5] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[9] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(104,24/22size#,23/22size#,1/22size#); "pion czarny z 360";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[6] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[0] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(105,24/22size#,23/22size#,1/22size#); "pion czarny z 361";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[6] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[1] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(106,24/22size#,23/22size#,1/22size#); "pion czarny z 362";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[6] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[2] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(107,24/22size#,23/22size#,1/22size#); "pion czarny z 363";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[6] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[3] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(108,24/22size#,23/22size#,1/22size#); "pion czarny z 364";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[6] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[4] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(109,24/22size#,23/22size#,1/22size#); "pion czarny z 365";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[6] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[5] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(110,24/22size#,23/22size#,1/22size#); "pion czarny z 366";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[6] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[6] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(111,24/22size#,23/22size#,1/22size#); "pion czarny z 367";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[6] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[7] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(112,24/22size#,23/22size#,1/22size#); "pion czarny z 368";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[6] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[8] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(113,24/22size#,23/22size#,1/22size#); "pion czarny z 369";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[6] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[9] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(114,24/22size#,23/22size#,1/22size#); "pion czarny z 370";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[7] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[0] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(115,24/22size#,23/22size#,1/22size#); "pion czarny z 371";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[7] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[1] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(116,24/22size#,23/22size#,1/22size#); "pion czarny z 372";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[7] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[2] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(117,24/22size#,23/22size#,1/22size#); "pion czarny z 373";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[7] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[3] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(118,24/22size#,23/22size#,1/22size#); "pion czarny z 374";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[7] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[4] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(119,24/22size#,23/22size#,1/22size#); "pion czarny z 375";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[7] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[5] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(120,24/22size#,23/22size#,1/22size#); "pion czarny z 376";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[7] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[6] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(121,24/22size#,23/22size#,1/22size#); "pion czarny z 377";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[7] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[7] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(122,24/22size#,23/22size#,1/22size#); "pion czarny z 378";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[7] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[8] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(123,24/22size#,23/22size#,1/22size#); "pion czarny z 379";
+ currentpicture := black_circle
+ - digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ - digit[7] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ - digit[9] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+%%%%%%%%%%%%%%%%%%%%%% other symbols %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+beginchar(124,24/22size#,23/22size#,1/22size#); "Stone with cross";
+ pickup pencircle scaled 2.0line_thickness;
+ z1=(.5w+.30size,11/24w+.30size);
+ z2=(.5w+.30size,11/24w-.30size);
+ z3=(.5w-.30size,11/24w-.30size);
+ z4=(.5w-.30size,11/24w+.30size);
+ currentpicture := black_circle;
+ erase draw z1--z3;
+ erase draw z2--z4;
+showit;
+endchar;
+
+% stop"";
+
+beginchar(125,24/22size#,23/22size#,1/22size#); "Stone with circle";
+ pickup pencircle scaled 2.0line_thickness;
+ z1=(.5w,11/24w+.28size);
+ z2=(.5w+.28size,11/24w);
+ z3=(.5w,11/24w-.28size);
+ z4=(.5w-.28size,11/24w);
+ currentpicture := black_circle;
+ erase draw z1...z2...z3...z4...cycle;
+showit;
+endchar;
+
+% stop"";
+
+beginchar(126,24/22size#,23/22size#,1/22size#); "Stone with square";
+ pickup pencircle scaled 2.0line_thickness;
+ z1=(.5w+.28size,11/24w+.28size);
+ z2=(.5w+.28size,11/24w-.28size);
+ z3=(.5w-.28size,11/24w-.28size);
+ z4=(.5w-.28size,11/24w+.28size);
+ currentpicture := black_circle;
+ erase draw z1--z2--z3--z4--cycle;
+showit;
+endchar;
+
+% stop"";
+
+beginchar(127,24/22size#,23/22size#,1/22size#); "Stone with triangle";
+ pickup pencircle scaled 2.0line_thickness;
+ lft x1=.08size+1/24w+.02size;
+ bot y1=.24size+.02size;
+ x2=.5w;
+ top y2=.98size-.02size;
+ rt x3=.92size+1/24w-.02size;
+ bot y3=.24size+.02size;
+ currentpicture := black_circle;
+ erase draw z1--z2--z3--cycle;
+showit;
+endchar;
+
+% stop"";
+
+end;
+
diff --git a/fonts/igo/fonts/igoblackiii10.mf b/fonts/igo/fonts/igoblackiii10.mf
new file mode 100644
index 0000000000..b2cc1bd6ff
--- /dev/null
+++ b/fonts/igo/fonts/igoblackiii10.mf
@@ -0,0 +1,13 @@
+font_identifier:="IGOBLACKIII"; font_size 10pt#;
+
+size#:=10pt#;
+line_thickness#:=.04size#;
+border_line_thickness#:=.1size#;
+
+%%%
+
+dig_h#:=63/100size#;
+dig_w#:=4/10size#;
+dig_pen#:=1/10size#;
+
+input igoblackiii
diff --git a/fonts/igo/fonts/igoblackiii11.mf b/fonts/igo/fonts/igoblackiii11.mf
new file mode 100644
index 0000000000..5115c89d6e
--- /dev/null
+++ b/fonts/igo/fonts/igoblackiii11.mf
@@ -0,0 +1,13 @@
+font_identifier:="IGOBLACKIII"; font_size 11pt#;
+
+size#:=11pt#;
+line_thickness#:=.04size#;
+border_line_thickness#:=.1size#;
+
+%%%
+
+dig_h#:=63/100size#;
+dig_w#:=4/10size#;
+dig_pen#:=1/10size#;
+
+input igoblackiii
diff --git a/fonts/igo/fonts/igoblackiii12.mf b/fonts/igo/fonts/igoblackiii12.mf
new file mode 100644
index 0000000000..1317904c37
--- /dev/null
+++ b/fonts/igo/fonts/igoblackiii12.mf
@@ -0,0 +1,13 @@
+font_identifier:="IGOBLACKIII"; font_size 12pt#;
+
+size#:=12pt#;
+line_thickness#:=.04size#;
+border_line_thickness#:=.1size#;
+
+%%%
+
+dig_h#:=63/100size#;
+dig_w#:=4/10size#;
+dig_pen#:=1/10size#;
+
+input igoblackiii
diff --git a/fonts/igo/fonts/igoblackiii15.mf b/fonts/igo/fonts/igoblackiii15.mf
new file mode 100644
index 0000000000..92fe767228
--- /dev/null
+++ b/fonts/igo/fonts/igoblackiii15.mf
@@ -0,0 +1,13 @@
+font_identifier:="IGOBLACKIII"; font_size 15pt#;
+
+size#:=15pt#;
+line_thickness#:=.04size#;
+border_line_thickness#:=.1size#;
+
+%%%
+
+dig_h#:=63/100size#;
+dig_w#:=4/10size#;
+dig_pen#:=1/10size#;
+
+input igoblackiii
diff --git a/fonts/igo/fonts/igoblackiii20.mf b/fonts/igo/fonts/igoblackiii20.mf
new file mode 100644
index 0000000000..5063eb6e6f
--- /dev/null
+++ b/fonts/igo/fonts/igoblackiii20.mf
@@ -0,0 +1,13 @@
+font_identifier:="IGOBLACKIII"; font_size 20pt#;
+
+size#:=20pt#;
+line_thickness#:=.04size#;
+border_line_thickness#:=.1size#;
+
+%%%
+
+dig_h#:=63/100size#;
+dig_w#:=4/10size#;
+dig_pen#:=1/10size#;
+
+input igoblackiii
diff --git a/fonts/igo/fonts/igoblackiii5.mf b/fonts/igo/fonts/igoblackiii5.mf
new file mode 100644
index 0000000000..61126314ad
--- /dev/null
+++ b/fonts/igo/fonts/igoblackiii5.mf
@@ -0,0 +1,13 @@
+font_identifier:="IGOBLACKIII"; font_size 5pt#;
+
+size#:=5pt#;
+line_thickness#:=.04size#;
+border_line_thickness#:=.1size#;
+
+%%%
+
+dig_h#:=63/100size#;
+dig_w#:=4/10size#;
+dig_pen#:=1/10size#;
+
+input igoblackiii
diff --git a/fonts/igo/fonts/igoblackiii6.mf b/fonts/igo/fonts/igoblackiii6.mf
new file mode 100644
index 0000000000..ac97040ef5
--- /dev/null
+++ b/fonts/igo/fonts/igoblackiii6.mf
@@ -0,0 +1,13 @@
+font_identifier:="IGOBLACKIII"; font_size 6pt#;
+
+size#:=6pt#;
+line_thickness#:=.04size#;
+border_line_thickness#:=.1size#;
+
+%%%
+
+dig_h#:=63/100size#;
+dig_w#:=4/10size#;
+dig_pen#:=1/10size#;
+
+input igoblackiii
diff --git a/fonts/igo/fonts/igoblackiii7.mf b/fonts/igo/fonts/igoblackiii7.mf
new file mode 100644
index 0000000000..09bdf5c0b4
--- /dev/null
+++ b/fonts/igo/fonts/igoblackiii7.mf
@@ -0,0 +1,13 @@
+font_identifier:="IGOBLACKIII"; font_size 7pt#;
+
+size#:=7pt#;
+line_thickness#:=.04size#;
+border_line_thickness#:=.1size#;
+
+%%%
+
+dig_h#:=63/100size#;
+dig_w#:=4/10size#;
+dig_pen#:=1/10size#;
+
+input igoblackiii
diff --git a/fonts/igo/fonts/igoblackiii8.mf b/fonts/igo/fonts/igoblackiii8.mf
new file mode 100644
index 0000000000..cb202d6ccc
--- /dev/null
+++ b/fonts/igo/fonts/igoblackiii8.mf
@@ -0,0 +1,13 @@
+font_identifier:="IGOBLACKIII"; font_size 8pt#;
+
+size#:=8pt#;
+line_thickness#:=.04size#;
+border_line_thickness#:=.1size#;
+
+%%%
+
+dig_h#:=63/100size#;
+dig_w#:=4/10size#;
+dig_pen#:=1/10size#;
+
+input igoblackiii
diff --git a/fonts/igo/fonts/igoblackiii9.mf b/fonts/igo/fonts/igoblackiii9.mf
new file mode 100644
index 0000000000..72c7d4477d
--- /dev/null
+++ b/fonts/igo/fonts/igoblackiii9.mf
@@ -0,0 +1,13 @@
+font_identifier:="IGOBLACKIII"; font_size 9pt#;
+
+size#:=9pt#;
+line_thickness#:=.04size#;
+border_line_thickness#:=.1size#;
+
+%%%
+
+dig_h#:=63/100size#;
+dig_w#:=4/10size#;
+dig_pen#:=1/10size#;
+
+input igoblackiii
diff --git a/fonts/igo/fonts/igoroman.mf b/fonts/igo/fonts/igoroman.mf
new file mode 100644
index 0000000000..71635690a3
--- /dev/null
+++ b/fonts/igo/fonts/igoroman.mf
@@ -0,0 +1,2200 @@
+
+mode_setup;
+font_setup;
+
+%%%%%%%%%%%%%%%%%
+%%% romand.mf %%%
+%%%%%%%%%%%%%%%%%
+
+cmchar "The numeral 0";
+beginchar("0",24/22size#,23/22size#,1/22size#);
+italcorr fig_height#*slant-.5u#;
+%adjust_fit(0,0);
+w:=9u;
+h:=fig_height;
+d:=0;
+penpos1(vair,90); penpos3(vair,-90); penpos2(curve,180); penpos4(curve,0);
+if not monospace: interim superness:=sqrt(more_super*hein_super); fi
+x2r=hround max(.7u,1.45u-.5curve); x4r=w-x2r; x1=x3=.5w;
+y1r=h+o; y3r=-o; y2=y4=.5h-vair_corr; y2l:=y4l:=.52h;
+penstroke pulled_arc.e(1,2) & pulled_arc.e(2,3)
+ & pulled_arc.e(3,4) & pulled_arc.e(4,1) & cycle; % bowl
+penlabels(1,2,3,4);
+currentpicture := currentpicture shifted ((24/22*size-w)/2, (23/22*size-h)/2);
+endchar;
+
+cmchar "The numeral 1";
+beginchar("1",24/22size#,23/22size#,1/22size#);
+italcorr fig_height#*slant-.5u#;
+%adjust_fit(0,0);
+w:=9u;
+h:=fig_height;
+d:=0;
+numeric light_stem; light_stem=hround .4[stem',cap_stem'];
+pickup tiny.nib;
+pos1(light_stem,0); pos2(light_stem,0);
+lft x1l=lft x2l=hround(.5(w+.5u)-.5cap_stem'); top y1=h+o; bot y2=0;
+filldraw stroke z1e--z2e; % stem
+if not serifs: save slab; slab=bar; fi
+dish_serif(2,1,a,1/3,min(2.25u,lft x2l-1.5u),
+ b,1/3,min(2.25u,w-1.25u-rt x2r)); % serif
+pickup crisp.nib; pos3(slab,-90); pos4(bar,-90);
+top y3l=h+o; top y4l=if monospace: .8 else: .9 fi\\ h+o;
+lft x4=max(1.25u,tiny.lft x1l-2.35u);
+tiny.rt x1r=lft x3+.25[tiny,hair];
+erase fill z3l{x4l-x3l,3(y4l-y3l)}...z4l{left}
+ --(x4l,h+o+1)--(x3l,h+o+1)--cycle; % erase excess at top
+filldraw stroke z3e{x4e-x3e,3(y4e-y3e)}..z4e{left}; % point
+penlabels(1,2,3,4);
+currentpicture := currentpicture shifted ((24/22*size-w)/2, (23/22*size-h)/2);
+endchar;
+
+cmchar "The numeral 2";
+beginchar("2",24/22size#,23/22size#,1/22size#);
+italcorr fig_height#*slant-.5u#;
+%adjust_fit(0,0);
+w:=9u;
+h:=fig_height;
+d:=0;
+numeric arm_thickness, hair_vair; hair_vair=.25[vair,hair];
+arm_thickness=Vround(if hefty:slab+2stem_corr else:.4[stem,cap_stem] fi);
+pickup crisp.nib; pos7(arm_thickness,-90); pos8(hair,0);
+bot y7r=0; lft x7=hround .9u; rt x8r=hround(w-.9u); y8=good.y(y7l+beak/2)+eps;
+arm(7,8,a,.3beak_darkness,beak_jut); % arm and beak
+pickup fine.nib; pos2(slab,90); pos3(.4[curve,cap_curve],0);
+top y2r=h+o; x2=.5(w-.5u); rt x3r=hround(w-.9u); y3+.5vair=.75h;
+if serifs: numeric bulb_diam; bulb_diam=hround(flare+2/3(cap_stem-stem));
+ pos0(bulb_diam,180); pos1(cap_hair,180);
+ lft x1r=hround .9u; y1-.5bulb_diam=2/3h;
+ (x,y2l)=whatever[z1l,z2r]; x2l:=x; bulb(2,1,0); % bulb and arc
+else: x2l:=x2l-.25u; pos1(flare,angle(-9u,h));
+ lft x1r=hround .75u; bot y1l=vround .7h; y1r:=good.y y1r+eps; x1l:=good.x x1l;
+ filldraw stroke term.e(2,1,left,.9,4); fi % terminal and arc
+pos4(.25[hair_vair,cap_stem],0);
+pos5(hair_vair,0); pos6(hair_vair,0);
+y5=arm_thickness; y4=.3[y5,y3]; top y6=min(y5,slab,top y7l);
+lft x6l=crisp.lft x7; z4l=whatever[z6l,(x3l,bot .58h)]; z5l=whatever[z6l,z4l];
+erase fill z4l--z6l--lft z6l--(lft x6l,y4l)--cycle; % erase excess at left
+filldraw stroke z2e{right}..tension atleast .9 and atleast 1
+ ..z3e{down}..{z5e-z4e}z4e--z5e--z6e; % stroke
+penlabels(0,1,2,3,4,5,6,7,8);
+currentpicture := currentpicture shifted ((24/22*size-w)/2, (23/22*size-h)/2);
+endchar;
+
+cmchar "The numeral 3";
+beginchar("3",24/22size#,23/22size#,1/22size#);
+italcorr fig_height#*slant-.5u#;
+%adjust_fit(0,0);
+w:=9u;
+h:=fig_height;
+d:=0;
+numeric top_thickness,mid_thickness,bot_thickness;
+top_thickness=max(fine.breadth,vround(slab-2vair_corr));
+mid_thickness=max(fine.breadth,vround 2/3vair);
+bot_thickness=max(fine.breadth,vround(slab-vair_corr));
+pickup fine.nib; pos2(top_thickness,90); top y2r=h+o;
+pos3(max(fine.breadth,.6[curve,cap_curve]-stem_corr),0);
+rt x3r=hround(w-1.25u);
+pos4(vair,-90); pos5(vair,-90);
+pos6(mid_thickness,90); x2=x6=x8=.5[1.5u,x7];
+pos7(cap_curve,0); rt x7r=hround(w-.75u); lft x5=min(hround 3u,lft x6)-eps;
+pos8(bot_thickness,-90); bot y8r=-o;
+y3=.6[top y4l,bot y2l]; y7=.5[bot y6l,top y8l];
+top y5l=vround(.54h+.5vair); y5r=y6l;
+x4=1/3[x5,x3l]; z4=z5+whatever*(15u,.1h);
+filldraw stroke pulled_super_arc.e(2,3)(.5superpull)
+ & z3e{down}...z4e---z5e; % upper bowl
+filldraw z5r--z6l--z6r--z5l---cycle; % middle tip
+filldraw stroke pulled_super_arc.e(6,7)(.5superpull)
+ & pulled_super_arc.e(7,8)(.5superpull); % lower bowl
+if serifs: numeric bulb_diam[];
+ bulb_diam1=flare+.5(cap_stem-stem); bulb_diam2=flare+cap_stem-stem;
+ pos0(bulb_diam1,180); pos1(hair,180);
+ lft x0r=hround 1.25u; y0=min(.9h-.5bulb_diam1,.75h+.5bulb_diam1);
+ bulb(2,1,0); % upper bulb
+ pos10(bulb_diam2,-180); pos9(cap_hair,-180);
+ lft x10r=hround .75u; y10=max(.1h+.5bulb_diam2,.3h-.5bulb_diam2);
+ bulb(8,9,10); % lower bulb
+else: pos1(.5[vair,flare],angle(-8u,h));
+ lft x1r=hround u; bot y1l=vround .75h+o;
+ y1r:=good.y y1r+eps; x1l:=good.x x1l;
+ pos9(bot_thickness,angle(-2u,-h));
+ lft x9r=hround .75u; top y9l=vround .25h-o;
+ y9r:=good.y y9r-eps; x9l:=good.x x9l;
+ filldraw stroke term.e(2,1,left,1,4); % upper terminal
+ filldraw stroke term.e(8,9,left,1,4); fi % lower terminal
+penlabels(0,1,2,3,4,5,6,7,8,9,10);
+currentpicture := currentpicture shifted ((24/22*size-w)/2, (23/22*size-h)/2);
+endchar;
+
+cmchar "The numeral 4";
+beginchar("4",24/22size#,23/22size#,1/22size#);
+italcorr fig_height#*slant-.5u#;
+%adjust_fit(0,0);
+w:=9u;
+h:=fig_height;
+d:=0;
+numeric light_stem, light_stem', diag_stem, alpha, cut; cut=.75notch_cut;
+light_stem=hround .4[fudged.stem,fudged.cap_stem];
+light_stem'=hround max(tiny.breadth,light_stem-2stem_corr);
+diag_stem=max(tiny.breadth,.4[vair,fudged.hair]);
+pickup crisp.nib; pos5(cap_bar,90); pos6(cap_bar,90);
+lft x5=hround .5u; rt x6=hround(w-.5u);
+top y5r=vround(if serifs: 5/18[slab,h-light_stem]+1
+ else:.35(h-light_stem) fi+.5cap_bar);
+z4l=top lft z5r; y2=y2'=y5=y6; x1r=x2r=hround(w-3u+.5light_stem);
+penpos1(light_stem',0); penpos2(light_stem',0); y1=y3=h+apex_o+apex_oo;
+x3r+apex_corr=x1r; alpha=diag_ratio(1,diag_stem,y3-y4l,x3r-x4l);
+penpos3(alpha*diag_stem,0); penpos4(alpha*diag_stem,0);
+x0=x1l; z0=whatever[z3r,z4r];
+x5'=x5; z5''=z5'+penoffset z4-z3 of currentpen=whatever[z4l,z3l];
+fill diag_end(2r,1r,1,.5,3l,4l)---z5''...lft z5'
+ ---lft z5l -- (x4r,y5l) -- z4r
+ if y0<h-cut:{z3r-z4r}...{up}(x1l-1,h-cut)
+ --(x1l,h-cut) else: -- z0 fi
+ --z2l--z2r--cycle; % diagonal and upper stem
+filldraw stroke z5e--z6e; % bar
+pickup tiny.nib; pos7(light_stem,0); rt x7r=x1r; bot y7=0;
+pos2'(light_stem,0); x2'=x7;
+filldraw stroke z2'e--z7e; % lower stem
+if serifs: dish_serif(7,2',a,1/3,1.75u,
+ b,1/3,min(1.75u,w-.5u-rt x7r)); fi % serif
+penlabels(0,1,2,3,4,5,6,7);
+currentpicture := currentpicture shifted ((24/22*size-w)/2, (23/22*size-h)/2);
+endchar;
+
+cmchar "The numeral 5";
+beginchar("5",24/22size#,23/22size#,1/22size#);
+italcorr fig_height#*slant-.5u#;
+%adjust_fit(0,0);
+w:=9u;
+h:=fig_height;
+d:=0;
+numeric bot_thickness,light_hair;
+bot_thickness=max(fine.breadth,vround(slab-vair_corr));
+light_hair=hround(cap_hair if hefty: -\\2stem_corr fi);
+pickup tiny.nib; pos5(vair,180); pos6(vair,90);
+bot y5=vround(.53h-vair); top y6r=max(vround .61803h+o,top y6r+y5+eps-y6l);
+pos3(light_hair,0); pos4(light_hair,0);
+lft x3l=max(1.35u,2.1u-.5light_hair); x3=x4=x5; y4=y5;
+top y3=h if not hefty: +\\o fi;
+filldraw stroke z3e--z4e; % thin stem
+penpos7(cap_stem-fine,0); penpos8(bot_thickness-fine,-90);
+fine.rt x7r=hround(w-.9u); x8=.5[u,x7]; x6=.5[x5,x7];
+erase fill z5--bot z5--(x6,bot y5)--z6{left}
+ ..tension .9 and 1..{x5-x6,3(y5-y6)}cycle; % erase excess in middle
+filldraw stroke z6e{left}..tension .9 and 1..{x5-x6,3(y5-y6)}z5e; % link
+pickup fine.nib; pos6'(vair,90); z6'=z6;
+y7=.5[y6,y8]; bot y8r=-o;
+filldraw stroke pulled_arc.e(6',7) & pulled_arc.e(7,8); % bowl
+if serifs: pos9(hair,-180); y9=.5y5; lft x9r=hround .9u;
+ pos10(flare+1/3(cap_stem-stem),-180); bulb(8,9,10); % bulb
+else: pos9(3/7[bot_thickness,flare],angle(-7u,-h));
+ lft x9r=hround(tiny.lft x3l-.75u); bot y9r=vround .15h-o;
+ x9l:=good.x x9l; y9l:=good.y y9l;
+ filldraw stroke term.e(8,9,left,1,4); fi % terminal
+if hefty: pickup crisp.nib; pos1(slab,90); pos2(hair,0);
+ top y1r=h; x1=x4; rt x2r=hround(w-1.5u); y2=y1l-eps;
+ arm(1,2,a,0,0); % arm
+else: numeric flag_breadth; flag_breadth=7/8[vair,cap_curve];
+ pos1(flag_breadth,90); pos2(flag_breadth,60);
+ pos0(vair,90); top y1r=tiny.top y3; top y2r=vround .95h+o; y0r=y1r;
+ lft x1=tiny.lft x3l; x2r=.5[x1,x0]; rt x0=hround(w-1.6u);
+ erase fill top z1r--z1r...{right}z2r
+ --(x2r,top y1r)--cycle; % erase excess at top
+ filldraw stroke z1e...{right}z2e...z0e; fi % flag
+penlabels(0,1,2,3,4,5,6,7,8,9,10);
+currentpicture := currentpicture shifted ((24/22*size-w)/2, (23/22*size-h)/2);
+endchar;
+
+cmchar "The numeral 6";
+beginchar("6",24/22size#,23/22size#,1/22size#);
+italcorr fig_height#*slant-.5u#;
+%adjust_fit(0,0);
+w:=9u;
+h:=fig_height;
+d:=0;
+numeric top_thickness,bot_thickness,side_thickness,pull;
+top_thickness=max(fine.breadth,vround(slab-2vair_corr));
+bot_thickness=max(fine.breadth,vround(slab-vair_corr));
+side_thickness=max(fine.breadth,hround 1/3[curve,cap_curve]);
+pull=min(.25,1.5superpull);
+pickup fine.nib; pos2(top_thickness,-270);
+pos3(side_thickness,-180); pos4(bot_thickness,-90);
+pos5(side_thickness,0); pos6(vair,90);
+lft x3r=w-rt x5r=hround max(.75u,1.5u-.5side_thickness);
+x4=x6-.1u=x2-u=.5w;
+top y2r=h+o; y3=.5[y2,y4]; bot y4r=-o;
+y5=.5[y4,y6]; top y6=vround 5/8h+o;
+path p; {{interim superness:=more_super; p=pulled_super_arc.l(3,4)(pull)}};
+numeric t; t=xpart(p intersectiontimes((x3r,y5)--(x4,y5)));
+pos7(thin_join,180); z7l=point t of p;
+(x,y6r)=whatever[z7l,z6l]; x6r:=min(x,.5[x5r,x6]);
+filldraw stroke pulled_super_arc.e(2,3)(pull)
+ & {{interim superness:=more_super; pulled_super_arc.e(3,4)(pull)}}
+ & {{less_tense; pulled_super_arc.e(4,5)(pull) & pulled_super_arc.e(5,6)(pull)}}
+ & z6e{left}...{direction t of p}z7e; % arc and bowl
+if serifs: pos1(hair,-360); pos0(flare,-360);
+ rt x0r=max(rt x2+eps,hround(w-1.2u));
+ y0=vround min(.9h-.5flare,.85h+.5flare)+o;
+ {{less_tense; bulb(2,1,0)}}; % arc and bulb
+else: pos1(vround .1[top_thickness,flare],90);
+ top y1r=vround .97h+o; rt x1=hround(x5-.5);
+ filldraw stroke term.e(2,1,right,.9,4); fi % terminal
+penlabels(0,1,2,3,4,5,6,7);
+currentpicture := currentpicture shifted ((24/22*size-w)/2, (23/22*size-h)/2);
+endchar;
+
+cmchar "The numeral 7";
+beginchar("7",24/22size#,23/22size#,1/22size#);
+italcorr fig_height#*slant-.5u#;
+%adjust_fit(0,0);
+w:=9u;
+h:=fig_height;
+d:=0;
+numeric arm_thickness, bot_width, top_shift, top_hair;
+if hefty: arm_thickness=Vround(slab+2stem_corr); top_shift=0;
+ bot_width=hround .51[curve,cap_curve]; top_hair=.4[thin_join,bot_width];
+else: arm_thickness=Vround .4[stem,cap_stem]; top_shift=.5u;
+ bot_width=flare; top_hair=cap_hair; fi
+if top_hair<tiny.breadth: top_hair:=tiny.breadth; fi
+pickup crisp.nib; pos2(arm_thickness,90); pos1(hair,180);
+top y2r=h; rt x2=hround(w-.75u+top_shift);
+lft x1r=hround(.75u+.5top_shift); y1=good.y(y2l-beak/2)-eps;
+arm(2,1,a,.3beak_darkness,-beak_jut); % arm and beak
+pos3(hair,180); y3=good.y(y2r+beak/6)+eps; z3r=whatever[z1r,z.a0];
+penpos2'(eps,-90); z2'=z2r;
+arm(2',3,b,beak_darkness,x3r-x.a0); % upward extension of beak
+pickup tiny.nib; pos4(top_hair,0); pos6(bot_width,0);
+bot y4=max(h-arm_thickness,h-slab,bot y2l); rt x4r=crisp.rt x2;
+lft x6l=hround(3.5u+top_shift-.5bot_width);
+if serifs: y6-.5bot_width=-o; filldraw z6l{down}..{up}z6r--cycle; % bulb
+else: bot y6=-oo; fi
+if hefty: erase fill rt z4r--z4r...{down}z6r
+ --(rt x4r,y6)--cycle; % erase excess at top
+ filldraw stroke z4e...{down}z6e; % stroke
+else: pos5(top_hair,0); y5=2/3h; z5=whatever[z4,(.75u,y6)];
+ erase fill rt z4r--z4r--z5r--(rt x4r,y5)--cycle; % erase excess at top
+ filldraw stroke z4e---z5e...{down}z6e; fi % stroke
+penlabels(1,2,3,4,5,6);
+currentpicture := currentpicture shifted ((24/22*size-w)/2, (23/22*size-h)/2);
+endchar;
+
+cmchar "The numeral 8";
+beginchar("8",24/22size#,23/22size#,1/22size#);
+italcorr fig_height#*slant-.5u#;
+%adjust_fit(0,0);
+w:=9u;
+h:=fig_height;
+d:=0;
+numeric top_thickness,mid_thickness,bot_thickness,upper_side,lower_side,theta;
+top_thickness=max(fine.breadth,vround(slab-2vair_corr));
+bot_thickness=max(fine.breadth,vround(slab-vair_corr));
+x0=.5w; y0=.54h;
+if hefty: mid_thickness=vround 2/3vair; upper_side=hround(stem-3stem_corr);
+ lower_side=hround min(.5[curve,cap_curve]-stem_corr,upper_side+.25u);
+ penpos1(top_thickness,90); penpos2(upper_side,180);
+ penpos3(mid_thickness,270); penpos8(upper_side,360);
+ penpos4(mid_thickness,90); penpos7(lower_side,180);
+ penpos6(bot_thickness,270); penpos5(lower_side,360);
+ penpos0(vair,90); z3l=z0r; z4l=z0l;
+ x1=x6=.5w; x2r=w-x8r=hround u; x7r=w-x5r=hround .75u;
+ top y1r=h+o; bot y6r=-o; y2=y8=.5[y1l,y3l]; y7=y5=.5[y4l,y6l];
+ filldraw stroke pulled_arc.e(1,2)
+ & pulled_arc.e(2,3); % left half of upper bowl
+ filldraw stroke pulled_arc.e(4,5)
+ & pulled_arc.e(5,6); % right half of lower bowl
+ filldraw stroke pulled_arc.e(6,7)
+ & pulled_arc.e(7,4); % left half of lower bowl
+ filldraw stroke pulled_arc.e(3,8)
+ & pulled_arc.e(8,1); % right half of upper bowl
+else: pickup fine.nib; theta=90-angle(18u,h); slope:=-h/18u;
+ upper_side=max(fine.breadth,hround(.5[hair,stem]-stem_corr));
+ lower_side=hround(.5[hair,stem]+stem_corr);
+ if lower_side>1.2upper_side: upper_side:=lower_side; fi
+ pos1(top_thickness,-90); pos6(bot_thickness,-90);
+ x1=x6=.5w; top y1l=h+o; bot y6r=-o; pos0(cap_stem,theta);
+ lft x2l=w-rt x8l=hround 1.25u; lft x7r=w-rt x5r=hround .75u;
+ x2r-x2l=upper_side-fine; x5r-x5l=lower_side-fine;
+ ellipse_set(1l,2l,3l,0l); ellipse_set(1r,2r,3r,0r);
+ ellipse_set(6l,5l,4l,0l); ellipse_set(6r,5r,4r,0r);
+ numeric tau; tau=max(.8,.20710678/(superness-.5));
+ filldraw stroke z1e{left}..tension atleast tau..z2e{down}
+ ..z3e---z4e..z5e{down}..tension atleast tau..z6e{left}; % S stroke
+ pos7(lower_side,180); pos8(upper_side,180);
+ y7=.5[y5l,y5r]; y8=.5[y2l,y2r]; pos9(vair,90); z9=z0;
+ filldraw stroke z1e{right}..tension atleast tau..z8e{down}
+ ..tension atleast tau and atleast 1..{-18u,-.618h}z9e; % upper right stroke
+ filldraw stroke z6e{left}..tension atleast tau..z7e{up}
+ ..tension atleast tau and atleast 1..{18u,.5h}z9e; fi % lower left stroke
+penlabels(0,1,2,3,4,5,6,7,8,9);
+currentpicture := currentpicture shifted ((24/22*size-w)/2, (23/22*size-h)/2);
+endchar;
+
+cmchar "The numeral 9";
+beginchar("9",24/22size#,23/22size#,1/22size#);
+italcorr fig_height#*slant-.5u#;
+%adjust_fit(0,0);
+w:=9u;
+h:=fig_height;
+d:=0;
+numeric top_thickness,bot_thickness,side_thickness,pull;
+top_thickness=max(fine.breadth,vround(slab-2vair_corr));
+bot_thickness=max(fine.breadth,vround(slab-vair_corr));
+side_thickness=max(fine.breadth,hround 1/3[curve,cap_curve]);
+pull=min(.25,1.5superpull);
+pickup fine.nib; pos2(bot_thickness,-90);
+pos3(side_thickness,0); pos4(top_thickness,90);
+pos5(side_thickness,180); pos6(vair,270);
+w-rt x3r=lft x5r=hround max(.75u,1.5u-.5side_thickness);
+x4-.1u=x6+.1u=x2+.75u=.5w;
+bot y2r=-o; y3=.5[y2,y4]; top y4r=h+o;
+y5=.5[y4,y6]; bot y6=vround 3/8h-o;
+path p; {{interim superness:=more_super; p=pulled_super_arc.l(3,4)(pull)}};
+numeric t; t=xpart(p intersectiontimes((x3r,y5)--(x4,y5)));
+pos7(thin_join,360); z7l=point t of p;
+(x,y6r)=whatever[z7l,z6l]; x6r:=max(x,.5[x5r,x6]);
+filldraw stroke pulled_super_arc.e(2,3)(pull)
+ & {{interim superness:=more_super; pulled_super_arc.e(3,4)(pull)}}
+ & {{less_tense; pulled_super_arc.e(4,5)(pull) & pulled_super_arc.e(5,6)(pull)}}
+ & z6e{right}...{direction t of p}z7e; % arc and bowl
+if serifs: pos1(hair,-180); pos0(flare,-180);
+ lft x0r=min(lft x2-eps,hround 1.2u);
+ y0=vround max(.1h+.5flare,.15h-.5flare)-o;
+ {{less_tense; bulb(2,1,0)}}; % arc and bulb
+else: pos1(.1[bot_thickness,flare],-120);
+ bot y1r=vround .07h-o; lft x1r=hround 1.3u;
+ filldraw stroke term.e(2,1,left,.9,4); fi % terminal
+penlabels(0,1,2,3,4,5,6,7);
+currentpicture := currentpicture shifted ((24/22*size-w)/2, (23/22*size-h)/2);
+endchar;
+
+%%%%%%%%%%%%%%%%%
+%%% romanu.mf %%%
+%%%%%%%%%%%%%%%%%
+
+cmchar "The letter A";
+beginchar("A",24/22size#,23/22size#,1/22size#);
+%adjust_fit(cap_serif_fit#,cap_serif_fit#);
+w:=13u;
+h:=cap_height;
+d:=0;
+numeric left_stem,right_stem,outer_jut,alpha;
+right_stem=cap_stem-stem_corr;
+left_stem=min(cap_hair if hefty: -3stem_corr fi,right_stem);
+outer_jut=.8cap_jut; x1l=w-x4r=l+letter_fit+outer_jut+.5u; y1=y4=0;
+x2-x1=x4-x3; x3r=x2r+apex_corr; y2=y3=h+apex_o+apex_oo;
+alpha=diag_ratio(2,left_stem,y2-y1,x4r-x1l-apex_corr);
+penpos1(alpha*left_stem,0); penpos2(alpha*left_stem,0);
+penpos3(alpha*right_stem,0); penpos4(alpha*right_stem,0);
+z0=whatever[z1r,z2r]=whatever[z3l,z4l];
+if y0<h-cap_notch_cut: y0:=h-cap_notch_cut;
+ fill z0+.5right{down}...{z4-z3}diag_end(3l,4l,1,1,4r,3r)
+ --diag_end(4r,3r,1,1,2l,1l)--diag_end(2l,1l,1,1,1r,2r){z2-z1}
+ ...{up}z0+.5left--cycle; % left and right diagonals
+else: fill z0--diag_end(0,4l,1,1,4r,3r)--diag_end(4r,3r,1,1,2l,1l)
+ --diag_end(2l,1l,1,1,1r,0)--cycle; fi % left and right diagonals
+penpos5(whatever,angle(z2-z1)); z5=whatever[z1,z2];
+penpos6(whatever,angle(z3-z4)); z6=whatever[z3,z4]; y6=y5;
+if hefty: y5r else: y5 fi =5/12y0;
+y5r-y5l=y6r-y6l=cap_band; penstroke z5e--z6e; % bar line
+if serifs: numeric inner_jut; pickup tiny.nib;
+ prime_points_inside(1,2); prime_points_inside(4,3);
+ if rt x1'r+cap_jut+.5u+1<=lft x4'l-cap_jut: inner_jut=cap_jut;
+ else: rt x1'r+inner_jut+.5u+1=lft x4'l-inner_jut; fi
+ dish_serif(1',2,a,1/2,outer_jut,b,.6,inner_jut)(dark); % left serif
+ dish_serif(4',3,c,1/2,inner_jut,d,1/3,outer_jut); fi % right serif
+penlabels(0,1,2,3,4,5,6);
+currentpicture := currentpicture shifted ((24/22*size-w)/2, (23/22*size-h)/2);
+endchar;
+
+cmchar "The letter B";
+beginchar("B",24/22size#,23/22size#,1/22size#);
+italcorr .75cap_height#*slant-.5u#;
+%adjust_fit(cap_serif_fit#,0);
+w:=12.5u;
+h:=cap_height;
+d:=0;
+numeric left_stem,right_curve,middle_weight;
+left_stem=cap_stem-hround 2stem_corr; middle_weight=.6vair+.5;
+pickup tiny.nib; pos1(left_stem,0); pos2(left_stem,0);
+lft x1l=lft x2l=hround max(2u,3u-.5left_stem); top y1=h; bot y2=0;
+filldraw stroke z1e--z2e; % stem
+penpos3(cap_band,90); penpos4(cap_band,90);
+penpos6(middle_weight,-90); penpos7(middle_weight,-90);
+penpos8(middle_weight,90); penpos9(middle_weight,90);
+penpos5(right_curve-stem_corr,0); penpos10(right_curve,0);
+penpos11(cap_band,-90); penpos12(cap_band,-90);
+z3r=top z1; y4=y3; y5=.5[y4,y6]; y6=y7; y7l-y8l=vair;
+z12r=bot z2; y11=y12; y10=.5[y11,y9]; y8=y9; .5[y7l,y8l]=.52h;
+x4=x6; x9=x11=x4+.5u; x7=x8=x1; x9l:=x4+.25u;
+x5r=hround(w-1.5u); x10r=hround(w-u);
+if serifs: right_curve=cap_curve-stem_corr; x4=.5[x1,w-1.5u];
+else: right_curve=cap_curve-3stem_corr; x4=.5[x1,w-2.5u];
+ x4l:=x4l-.5u; x9l:=x9l-.5u; fi
+x6l:=x6l-.5u; x11l:=x11l-.5u;
+fill stroke z3e..super_arc.e(4,5) & super_arc.e(5,6)..z7e; % upper lobe
+fill stroke z8e..super_arc.e(9,10) & super_arc.e(10,11)..z12e; % lower lobe
+if serifs: nodish_serif(1,2,a,1/3,cap_jut,b,1/3,.5cap_jut); % upper serif
+ nodish_serif(2,1,c,1/3,cap_jut,d,1/3,.5cap_jut); fi % lower serif
+math_fit(0,.5ic#); penlabels(1,2,3,4,5,6,7,8,9,10,11,12);
+currentpicture := currentpicture shifted ((24/22*size-w)/2, (23/22*size-h)/2);
+endchar;
+
+cmchar "The letter C";
+if serifs:
+beginchar("C",24/22size#,23/22size#,1/22size#);
+ italcorr cap_height#*slant-.5u#;
+ %adjust_fit(0,0);
+w:=13u;
+h:=cap_height;
+d:=0;
+ pickup fine.nib; pos1(cap_hair,0); pos2(cap_band,90);
+ pos3(cap_curve,180); pos4(cap_band,270); pos5(hair,360);
+ rt x1r=rt x5r=hround(w-u); lft x3r=hround u; x2=x4=.55[x3,x1];
+ top y2r=h+o; bot y4r=-o; y3=.5[y2,y4];
+ bot y1=min(vround max(.6h,x_height-.5vair),bot y2l-eps);
+ y5=max(good.y .95(h-y1),y4l+eps);
+ (x2l',y2l)=whatever[z2r,z1l]; x2l:=min(x2l',x2l+.5u);
+ (x4l',y4l)=whatever[z4r,z5l]; x4l:=min(x4l',x4l+.5u);
+ filldraw stroke z1e{x2-x1,10(y2-y1)}
+ ...pulled_arc.e(2,3) & pulled_arc.e(3,4)...{up}z5e; % arc
+ pos6(.3[fine.breadth,cap_hair],0); x6r=x1r; top y6=h+o;
+ x1r-x1'=2cap_curve-fine; y1'=y1;
+ path upper_arc; upper_arc=z1{x2-x1,10(y2-y1)}..z2{left};
+ numeric t; t=xpart(upper_arc intersectiontimes (z6l--z1'));
+ filldraw z1r--z6r--z6l--subpath(t,0) of upper_arc--cycle; % barb
+else:
+beginchar("C",24/22size#,23/22size#,1/22size#);
+ italcorr cap_height#*slant-.5u#;
+ %adjust_fit(0,0);
+w:=11.5u;
+h:=cap_height;
+d:=0;
+ pickup fine.nib; pos1(1.2flare,80); pos2(slab,90);
+ pos3(cap_curve,180); pos4(slab,270); pos5(flare,275);
+ rt x1r=hround(w-1.1u); x2=x4=.5w+1.25u;
+ lft x3r=hround max(u,2u-.5cap_curve); rt x5r=hround(w-.9u);
+ top y1r=vround .95h+oo; top y2r=h+oo; y3=.5h;
+ bot y4r=-oo; bot y5r=vround .08h-oo; y5l:=good.y y5l; x5l:=good.x x5l;
+ filldraw stroke rterm.e(2,1,right,.9,4) & super_arc.e(2,3)
+ & super_arc.e(3,4) & term.e(4,5,right,.8,4); fi % arc and terminals
+math_fit(-.3cap_height#*slant-.5u#,.5ic#);
+penlabels(1,1',2,3,4,5,6);
+currentpicture := currentpicture shifted ((24/22*size-w)/2, (23/22*size-h)/2);
+endchar;
+
+cmchar "The letter D";
+beginchar("D",24/22size#,23/22size#,1/22size#);
+italcorr .7cap_height#*slant-.5u#;
+%adjust_fit(cap_serif_fit#,0);
+w:=13.5u;
+h:=cap_height;
+d:=0;
+pickup tiny.nib; pos1(cap_stem',0); pos2(cap_stem',0);
+lft x1l=lft x2l=hround max(2u,3u-.5cap_stem'); top y1=h; bot y2=0;
+filldraw stroke z1e--z2e; % stem
+penpos3(cap_band,90); penpos4(cap_band,90);
+penpos5(cap_curve-stem_corr,0);
+penpos6(cap_band,-90); penpos7(cap_band,-90);
+z3r=top z1; y4=y3; y5=.51[y4,y6]; y6=y7;
+z7r=bot z2; x4=x6=.5w+.25u; x5r=hround(w-u);
+x4l:=x6l:=x4-.25cap_curve;
+fill stroke z3e..pulled_arc.e(4,5) & pulled_arc.e(5,6)..z7e; % lobe
+if serifs: nodish_serif(1,2,a,1/3,cap_jut,b,1/3,.5cap_jut); % upper serif
+ nodish_serif(2,1,c,1/3,cap_jut,d,1/3,.5cap_jut); fi % lower serif
+math_fit(0,ic#-.5u#); penlabels(1,2,3,4,5,6,7);
+currentpicture := currentpicture shifted ((24/22*size-w)/2, (23/22*size-h)/2);
+endchar;
+
+cmchar "The letter E";
+beginchar("E",24/22size#,23/22size#,1/22size#);
+italcorr cap_height#*slant-beak_jut#-.5u#;
+%adjust_fit(cap_serif_fit#,0);
+w:=12u-width_adj;
+h:=cap_height;
+d:=0;
+h:=vround(h-stem_corr);
+pickup tiny.nib; pos1(cap_stem,0); pos2(cap_stem,0);
+lft x1l=lft x2l=hround max(2u,3u-.5cap_stem); top y1=h; bot y2=0;
+filldraw stroke z1e--z2e; % stem
+pickup crisp.nib; pos3(slab,90); pos4(hair,0);
+top y3r=h; x3=x1; rt x4r=hround(w-u); y4=good.y(y3l-beak)-eps;
+arm(3,4,e,beak_darkness,beak_jut); % upper arm and beak
+pos5(cap_bar,-90); pos6(hair,0);
+top y5l=vround(.52[y2,y1]+.5cap_bar); x5=x1;
+pos0(cap_bar,90); pos7(hair,0);
+z0=z5; x6=x7; y6-y5l=y0l-y7;
+if serifs: rt x6r=hround(w-4.4u+.5hair); y6=good.y(y5l+.6beak)+eps;
+ rt x9r=hround(w-.5u);
+else: rt x6r=hround(w-1.5u); y6=y5l+eps; rt x9r=hround(w-.75u); fi
+arm(5,6,f,beak_darkness,0); arm(0,7,g,beak_darkness,0); % middle arm and serif
+pos8(slab if not serifs:+2stem_corr fi,-90); pos9(hair,0);
+bot y8r=0; x8=x2; y9=good.y(y8l+7/6beak)+eps;
+arm(8,9,h,beak_darkness,1.5beak_jut); % lower arm and beak
+if serifs: nodish_serif(1,2,a,1/3,cap_jut,b,1/3,.5cap_jut); % upper serif
+ nodish_serif(2,1,c,1/3,cap_jut,d,1/3,.5cap_jut); fi % lower serif
+math_fit(0,.5ic#); penlabels(0,1,2,3,4,5,6,7,8,9);
+currentpicture := currentpicture shifted ((24/22*size-w)/2, (23/22*size-h)/2);
+endchar;
+
+cmchar "The letter F";
+beginchar("F",24/22size#,23/22size#,1/22size#);
+italcorr cap_height#*slant-beak_jut#-.25u#;
+%adjust_fit(cap_serif_fit#,0);
+w:=11.5u-width_adj;
+h:=cap_height;
+d:=0;
+h:=vround(h-stem_corr);
+pickup tiny.nib; pos1(cap_stem,0); pos2(cap_stem,0);
+lft x1l=lft x2l=hround max(2u,3u-.5cap_stem); top y1=h; bot y2=0;
+filldraw stroke z1e--z2e; % stem
+pickup crisp.nib; pos3(slab,90); pos4(hair,0);
+top y3r=h; x3=x1; rt x4r=hround(w-.75u); y4=good.y(y3l-beak)-eps;
+arm(3,4,e,beak_darkness,beak_jut); % upper arm and beak
+pos5(cap_bar,-90); pos6(hair,0);
+top y5l=vround(.5[y2,y1]+.5cap_bar); x5=x1;
+pos0(cap_bar,90); pos7(hair,0);
+z0=z5; x6=x7; y6-y5l=y0l-y7;
+if serifs: rt x6r=hround(w-4u+.5hair); y6=good.y(y5l+.6beak)+eps;
+ rt x9r=hround(w-.5u);
+else: rt x6r=hround(w-1.5u); y6=y5l+eps; rt x9r=hround(w-.75u); fi
+arm(5,6,f,beak_darkness,0); arm(0,7,g,beak_darkness,0); % middle arm and serif
+if serifs: nodish_serif(1,2,a,1/3,cap_jut,b,1/3,.5cap_jut); % upper serif
+ dish_serif(2,1,c,1/3,cap_jut,d,1/3,1.25cap_jut); fi % lower serif
+math_fit(0,ic#-2.5u#); penlabels(0,1,2,3,4,5,6,7,8,9);
+currentpicture := currentpicture shifted ((24/22*size-w)/2, (23/22*size-h)/2);
+endchar;
+
+cmchar "The letter G";
+if serifs:
+beginchar("G",24/22size#,23/22size#,1/22size#);
+ italcorr cap_height#*slant-1.5u#-.5cap_serif_fit#;
+ %adjust_fit(0,.5cap_serif_fit#);
+w:=14u;
+h:=cap_height;
+d:=0;
+ pickup tiny.nib; pos0(cap_stem,0); pos7(cap_stem,0);
+ rt x0r=hround(w-2u); y0=good.y(.1[bar_height,x_height]+1); x7=x0;
+ pickup fine.nib;
+ if hefty: bot y7=0; pos5(cap_stem,0); x5=x0; top y5=tiny.top y0;
+ else: pos5(cap_hair,0); pos8(cap_stem,0);
+ y7=.5bar_height; z5l=z8l; z8=z7; x9=x8r; bot y9=0;
+ filldraw z8l{down}..{4(x9-x8),y9-y8}z9--z8r--cycle; fi % spur
+ pos1(cap_hair,0); pos2(cap_band,90);
+ pos3(cap_curve,180); pos4(cap_band,270);
+ rt x1r=hround(w-2u); lft x3r=hround u; x2=x4=.55[x3,x1];
+ top y2r=h+o; bot y4r=-o; y3=.5[y2,y4];
+ bot y1=min(vround max(.6h,x_height-.5vair),bot y2l-eps);
+ (x2l',y2l)=whatever[z2r,z1l]; x2l:=min(x2l',x2l+.5u);
+ (x4l',y4l)=whatever[z4r,z5l]; x4l:=min(x4l',x4l+.5u);
+ filldraw stroke z1e{x2-x1,10(y2-y1)}
+ ...pulled_arc.e(2,3) & pulled_arc.e(3,4)...z5e{up}; % arc
+ pos6(.3[fine.breadth,cap_hair],0); x6r=x1r; top y6=h+o;
+ x1r-x1'=2cap_curve-fine; y1'=y1;
+ path upper_arc; upper_arc=z1{x2-x1,10(y2-y1)}..z2{left};
+ numeric t; t=xpart(upper_arc intersectiontimes (z6l--z1'));
+ filldraw z1r--z6r--z6l--subpath(t,0) of upper_arc--cycle; % barb
+ pickup tiny.nib; filldraw stroke z0e--z7e; % stem
+ dish_serif(0,7,a,1/3,max(cap_jut,2.25u),b,1/3,1.25u); % serif
+ math_fit(-.3cap_height#*slant-.5u#,ic#);
+else:
+beginchar("G",24/22size#,23/22size#,1/22size#);
+ italcorr cap_height#*slant-.5u#;
+ %adjust_fit(0,0);
+w:=12u;
+h:=cap_height;
+d:=0;
+ pickup fine.nib; pos1(1.2flare,80); pos2(slab,90);
+ pos3(cap_curve,180); pos4(slab,270); pos5(flare,270);
+ rt x1r=hround(w-1.35u); x2=x4=.5w+u;
+ lft x3r=hround max(u,2u-.5cap_curve); rt x5l=hround(w-1.2u);
+ top y1r=vround .93h+oo; top y2r=h+oo; y3=.5h;
+ bot y4r=-oo; bot y5r=vround .07h-oo;
+ filldraw stroke rterm.e(2,1,right,.9,4)&super_arc.e(2,3)
+ & super_arc.e(3,4) & term.e(4,5,right,1,4); % arc and terminals
+ pos0(stem,0); pos7(stem,0);
+ z7r=z5r; x0=x7; top y0=1+vround .35[bar_height,x_height];
+ filldraw stroke z0e--z7e; % stem
+ pos8(cap_bar,90); pos9(cap_bar,90);
+ z0r=z9r; y8=y9; lft x8=hround x4;
+ filldraw stroke z8e--z9e; % bar
+ math_fit(-.3cap_height#*slant-.5u#,.5ic#); fi
+penlabels(0,1,1',2,3,4,5,6,7,8,9);
+currentpicture := currentpicture shifted ((24/22*size-w)/2, (23/22*size-h)/2);
+endchar;
+
+cmchar "The letter H";
+beginchar("H",24/22size#,23/22size#,1/22size#);
+italcorr cap_height#*slant-cap_serif_fit#+cap_jut#-2.5u#+min(.5cap_stem#,u#);
+%adjust_fit(cap_serif_fit#,cap_serif_fit#);
+w:=13u+width_adj;
+h:=cap_height;
+d:=0;
+pickup tiny.nib; pos1(cap_stem,0); pos2(cap_stem,0);
+pos3(cap_stem,0); pos4(cap_stem,0);
+lft x1l=lft x2l=hround max(2u,3u-.5cap_stem); x3=x4=w-x1;
+top y1=top y3=h; bot y2=bot y4=0;
+filldraw stroke z1e--z2e; % left stem
+filldraw stroke z3e--z4e; % right stem
+penpos5(cap_bar,90); penpos6(cap_bar,90);
+x5=x1; x6=x3; y5=y6=.52h;
+fill stroke z5e--z6e; % bar
+if serifs: numeric inner_jut;
+ if rt x1r+cap_jut+.5u+1<=lft x3l-cap_jut: inner_jut=cap_jut;
+ else: rt x1r+inner_jut+.5u+1=lft x3l-inner_jut; fi
+ dish_serif(1,2,a,1/3,cap_jut,b,1/3,inner_jut); % upper left serif
+ dish_serif(2,1,c,1/3,cap_jut,d,1/3,inner_jut); % lower left serif
+ dish_serif(3,4,e,1/3,inner_jut,f,1/3,cap_jut); % upper left serif
+ dish_serif(4,3,g,1/3,inner_jut,h,1/3,cap_jut); fi % lower left serif
+math_fit(0,.5ic#); penlabels(1,2,3,4,5,6);
+currentpicture := currentpicture shifted ((24/22*size-w)/2, (23/22*size-h)/2);
+endchar;
+
+cmchar "The letter I";
+beginchar("I",24/22size#,23/22size#,1/22size#);
+italcorr cap_height#*slant-.25u#;
+%adjust_fit(cap_serif_fit#,cap_serif_fit#);
+w:=max(6u,4u+cap_stem);
+h:=cap_height;
+d:=0;
+pickup tiny.nib; pos1(cap_stem,0); pos2(cap_stem,0);
+lft x1l=lft x2l=hround(.5w-.5cap_stem); top y1=h; bot y2=0;
+filldraw stroke z1e--z2e; % stem
+if serifs: dish_serif(1,2,a,1/3,1.05cap_jut,b,1/3,1.05cap_jut); % upper serif
+ dish_serif(2,1,c,1/3,1.05cap_jut,d,1/3,1.05cap_jut); fi % lower serif
+math_fit(0,.5ic#); penlabels(1,2);
+currentpicture := currentpicture shifted ((24/22*size-w)/2, (23/22*size-h)/2);
+endchar;
+
+cmchar "The letter J";
+beginchar("J",24/22size#,23/22size#,1/22size#);
+italcorr cap_height#*slant-cap_serif_fit#
+ +.75cap_jut#-2.5u#+min(.5cap_stem#,u#);
+%adjust_fit(0,cap_serif_fit#);
+w:=9u;
+h:=cap_height;
+d:=0;
+pickup tiny.nib; pos1(cap_stem',0); pos2(cap_stem',0);
+top y1=h; rt x1r=hround(w-2u); x2=x1; y2=.21h;
+if serifs: pos3(vair,-90); pos4(cap_hair,-180);
+ pos5(flare+(cap_stem-stem),-180);
+ bot y3r=-o; x3=.5[x4,x2]; y5=1/6h; rt x5l=hround 2.75u; z5r=z4r;
+ filldraw stroke z1e--z2e&super_arc.e(2,3); % stem and arc
+ dish_serif(1,2,a,1/3,1.3cap_jut,b,1/3,.75cap_jut); % serif
+ pickup tiny.nib; bulb(3,4,5); % bulb
+else: filldraw stroke z1e--z2e; % stem
+ pickup fine.nib; pos3(cap_stem',0); z3=z2;
+ pos4(flare,angle(6.5u,-h)); pos5(1.1flare,-100);
+ bot y4r=-o; x4r=.5[x5r,x3r]; lft x5r=hround.75u; bot y5r=vround.06h-o;
+ filldraw stroke z3e{down}....term.e(4,5,left,1,4); fi % arc and terminal
+math_fit(0,.5ic#-.5u#); penlabels(1,2,3,4,5);
+currentpicture := currentpicture shifted ((24/22*size-w)/2, (23/22*size-h)/2);
+endchar;
+
+cmchar "The letter K";
+beginchar("K",24/22size#,23/22size#,1/22size#);
+italcorr cap_height#*slant-.5u#;
+%adjust_fit(cap_serif_fit#,cap_serif_fit#);
+w:=13.5u;
+h:=cap_height;
+d:=0;
+r:=w;
+numeric right_jut,stem[],alpha[];
+if serifs: right_jut=.6cap_jut;
+else: right_jut=.4tiny; fi
+pickup tiny.nib; pos1(fudged.cap_stem,0); pos2(fudged.cap_stem,0);
+lft x1l=lft x2l=hround max(2u,3u-.5fudged.cap_stem); top y1=h; bot y2=0;
+filldraw stroke z1e--z2e; % stem
+stem2=max(tiny.breadth,fudged.cap_stem-3stem_corr);
+stem1=max(tiny.breadth,fudged.hair if hefty:-3stem_corr fi);
+top y3=h; rt x3r=hround(r-letter_fit-u-right_jut);
+bot y6=0; rt x6r=hround(r-letter_fit-.75u-right_jut);
+x4=x1; y4=1/3h;
+alpha1=diag_ratio(1,.5(stem1-tiny),y3-y4,x3r-x4);
+penpos3(alpha1*(stem1-tiny),0); penpos4(whatever,-90);
+alpha2=diag_ratio(1,.5(stem2-tiny),y1-y6,x6r-x1);
+penpos6(alpha2*(stem2-tiny),0);
+forsuffixes $=l,r: y3'$=h; y6'$=0; z4$=z3'$+whatever*(z3-z4);
+ z5$=z6'$+whatever*(z1-z6)=whatever[z3,z4]; endfor
+z5=.5[z5l,z5r];
+z3'r=z3r+penoffset z3-z4 of currentpen+whatever*(z3-z4);
+% we have also |z3'l=z3l+penoffset z4-z3 of currentpen+whatever*(z3-z4)|;\]
+z6'r=z6r+penoffset z1-z6 of currentpen+whatever*(z1-z6);
+z6'l=z6l+penoffset z6-z1 of currentpen+whatever*(z1-z6);
+fill z4r--diag_end(4r,3'r,1,.5,3'l,4l)--z4l--cycle; % upper diagonal
+fill z5l--diag_end(5l,6'l,.5,1,6'r,5r)--z5r--cycle; % lower diagonal
+if serifs: numeric inner_jut;
+ if rt x2r+cap_jut+.5u+1<=lft x6l-cap_jut: inner_jut=cap_jut;
+ else: rt x2r+cap_jut+.5u+1=lft x6l-inner_jut; fi
+ dish_serif(1,2,a,1/3,cap_jut,b,1/3,cap_jut); % upper stem serif
+ dish_serif(2,1,c,1/3,cap_jut,d,1/3,cap_jut); % lower stem serif
+ dish_serif(3,4,e,2/3,1.2cap_jut,f,1/2,right_jut)(dark); % upper diagonal serif
+ dish_serif(6,5,g,1/2,inner_jut,h,1/3,right_jut)(dark);fi % lower diagonal serif
+math_fit(0,.5ic#); penlabels(1,2,3,4,5,6);
+currentpicture := currentpicture shifted ((24/22*size-w)/2, (23/22*size-h)/2);
+endchar;
+
+cmchar "The letter L";
+beginchar("L",24/22size#,23/22size#,1/22size#);
+%adjust_fit(cap_serif_fit#,0);
+w:=11u-width_adj;
+h:=cap_height;
+d:=0;
+pickup tiny.nib; pos1(cap_stem,0); pos2(cap_stem,0);
+lft x1l=lft x2l=hround max(2u,3u-.5cap_stem); top y1=h; bot y2=0;
+filldraw stroke z1e--z2e; % stem
+pickup crisp.nib; pos3(slab,-90); pos4(hair,0);
+bot y3r=0; x3=x2; y4=y3l+7/6beak+eps; rt x4r=hround(w-.75u);
+arm(3,4,e,1.2beak_darkness,beak_jut); % lower arm and beak
+if serifs: dish_serif(1,2,a,1/3,cap_jut,b,1/3,1.25cap_jut); % upper serif
+ nodish_serif(2,1,c,1/3,cap_jut,d,1/3,.5cap_jut); fi % lower serif
+math_fit(0,u#); penlabels(1,2,3,4);
+currentpicture := currentpicture shifted ((24/22*size-w)/2, (23/22*size-h)/2);
+endchar;
+
+cmchar "The letter M";
+beginchar("M",24/22size#,23/22size#,1/22size#);
+italcorr cap_height#*slant-cap_serif_fit#+cap_jut#-2.5u#+min(.5cap_stem#,u#);
+%adjust_fit(cap_serif_fit#,cap_serif_fit#);
+w:=16u+width_adj;
+h:=cap_height;
+d:=0;
+numeric stem[]; % thicknesses of the four strokes
+stem1=hround(fudged.hair+stem_corr);
+stem2=hround(fudged.cap_stem-4stem_corr);
+stem3=hround(fudged.hair-stem_corr);
+stem4=hround(fudged.cap_stem-3stem_corr);
+if stem4<stem1: stem4:=stem1; fi
+pickup tiny.nib; pos1(stem1,0); pos2(stem1,0);
+pos3(stem4,0); pos4(stem4,0);
+x1=x2; x3=x4; x1l=w-x3r; rt x3r=hround min(w-2u,w-3u+.5stem4);
+top y1=top y3=h; bot y2=bot y4=0;
+filldraw stroke z1e--z2e; % left stem
+filldraw stroke z3e--z4e; % right stem
+penpos5(stem2,0); penpos6(stem2,0); penpos7(stem3,0); penpos8(stem3,0);
+x5l=x1; x6l=x7l; x8=lft x3l; x6-x5=x8-x7; y5=y8=h; y6=y7;
+if hefty: y6=if monospace: vround 1/3h else: o fi;
+ numeric upper_notch,lower_notch;
+ upper_notch=h-cap_notch_cut; lower_notch=y6+cap_notch_cut;
+ x1'=rt x1r; z1'=whatever[z5l,z6l]; x3'=lft x3l; z3'=whatever[z7r,z8r];
+ z0=whatever[z5r,z6r]=whatever[z7l,z8l];
+ fill z5l..
+ if y1'<upper_notch: {right}(x1'+1,upper_notch){down}... fi
+ {z6-z5}diag_in(5l,6l,1,6r)..diag_out(7l,1,7r,8r){z8-z7}
+ if y3'<upper_notch: ...{up}(x3'-1,upper_notch){right} fi
+ ..z8r--diag_out(8r,1,8l,7l){z7-z8}
+ if y0<=lower_notch: ..{z7-z8}z0{z5-z6}..
+ else: ...{down}(x0+.5,lower_notch)--(x0-.5,lower_notch){up}... fi
+ {z5-z6}diag_in(6r,5r,1,5l)--cycle; % diagonals
+else: y6=0; z0=whatever[z5r,z6r]=whatever[z7l,z8l];
+ fill z5l..{z6-z5}diag_in(5l,6l,1,6r)..diag_out(7l,1,7r,8r){z8-z7}
+ ..z8r--diag_out(8r,1,8l,7l){z7-z8}..{z7-z8}z0{z5-z6}
+ ..{z5-z6}diag_in(6r,5r,1,5l)--cycle; fi % diagonals
+if serifs: serif(1,2,a,1/3,-cap_jut); % upper left serif
+ dish_serif(2,1,b,1/2,cap_jut,c,1/2,cap_jut)(dark); % lower left serif
+ serif(3,4,d,1/3,cap_jut); % upper right serif
+ dish_serif(4,3,e,1/3,cap_jut,f,1/3,cap_jut); fi % lower right serif
+math_fit(0,max(.5ic#-.5u#,0));
+penlabels(0,1,1',2,3,3',4,5,6,7,8);
+currentpicture := currentpicture shifted ((24/22*size-w)/2, (23/22*size-h)/2);
+endchar;
+
+cmchar "The letter N";
+beginchar("N",24/22size#,23/22size#,1/22size#);
+italcorr cap_height#*slant-cap_serif_fit#+cap_jut#-2.5u#+min(.5cap_stem#,u#);
+%adjust_fit(cap_serif_fit#,cap_serif_fit#);
+w:=13u+width_adj;
+h:=cap_height;
+d:=0;
+numeric thin_stem; thin_stem=hround(fudged.hair+stem_corr);
+pickup tiny.nib; pos1(thin_stem,0); pos2(thin_stem,0);
+pos3(thin_stem,0); pos4(thin_stem,0);
+pickup tiny.nib; top y1=top y3=h; bot y2=bot y4=0;
+x1=x2; x3=x4; x1l=w-x3r;
+rt x3r=hround min(w-2u,w-3u+.5fudged.cap_stem);
+filldraw stroke z1e--z2e; % left stem
+filldraw stroke z3e--z4e; % right stem
+if hefty: penpos5(fudged.cap_stem,0); penpos6(fudged.cap_stem,0);
+ x5l=x1; x6r=x4; y5=h; y6=0;
+ numeric upper_notch,lower_notch;
+ upper_notch=h-cap_notch_cut; lower_notch=cap_notch_cut;
+ x1'=rt x1r; z1'=whatever[z5l,z6l]; x4'=lft x4l; z4'=whatever[z5r,z6r];
+ fill z5l..
+ if y1'<upper_notch: {right}(x1'+1,upper_notch){down}... fi
+ {z6-z5}diag_in(5l,6l,1,6r)--z6r..
+ if y4'>lower_notch: {left}(x4'-1,lower_notch){up}... fi
+ {z5-z6}diag_in(6r,5r,1,5l)--cycle; % diagonal
+else: penpos5(whatever,0); penpos6(whatever,90);
+ z5l=z1l; z6l=z4l;
+ z7=z6l+(max(eps,cap_stem-3stem_corr-tiny),0) rotated (angle(z5l-z6l)-90);
+ z5r=z7+whatever*(z5l-z6l); z6r=z7+whatever*(z5l-z6l);
+ filldraw stroke z5e..z6e; fi % diagonal
+if serifs: if hefty: serif(1,2,a,1/3,-cap_jut); % upper left serif
+ else: serif(5,6,a,1/3,-cap_jut); fi % upper left serif
+ dish_serif(2,1,b,1/2,cap_jut,c,1/2,cap_jut)(dark); % lower left serif
+ dish_serif(3,4,e,1/2,cap_jut,f,1/2,cap_jut)(dark); fi % upper right serif
+math_fit(0,max(.5ic#-.5u#,0)); penlabels(1,1',2,3,4,4',5,6,7);
+currentpicture := currentpicture shifted ((24/22*size-w)/2, (23/22*size-h)/2);
+endchar;
+
+cmchar "The letter O";
+beginchar("O",24/22size#,23/22size#,1/22size#);
+italcorr .7cap_height#*slant-.5u#;
+%adjust_fit(0,0);
+w:=14u-width_adj;
+h:=cap_height;
+d:=0;
+penpos1(vair',90); penpos3(vround(vair+1.5vair_corr),-90);
+penpos2(cap_curve,180); penpos4(cap_curve,0);
+if monospace: x2r=hround 1.5u;
+ interim superness:=sqrt superness; % make |"O"|, not |"0"|
+else: x2r=hround u; fi
+x4r=w-x2r; x1=x3=.5w; y1r=h+o; y3r=-o;
+y2=y4=.5h-vair_corr; y2l:=y4l:=.52h;
+penstroke pulled_super_arc.e(1,2)(.5superpull)
+ & pulled_super_arc.e(2,3)(.5superpull)
+ & pulled_super_arc.e(3,4)(.5superpull)
+ & pulled_super_arc.e(4,1)(.5superpull) & cycle; % bowl
+math_fit(-.3cap_height#*slant-.5u#,ic#-.5u#); penlabels(1,2,3,4);
+currentpicture := currentpicture shifted ((24/22*size-w)/2, (23/22*size-h)/2);
+endchar;
+
+cmchar "The letter P";
+beginchar("P",24/22size#,23/22size#,1/22size#);
+italcorr .75cap_height#*slant-.5u#;
+%adjust_fit(cap_serif_fit#,0);
+w:=12u;
+h:=cap_height;
+d:=0;
+pickup tiny.nib; penpos1(cap_stem'-tiny,0); penpos2(cap_stem-tiny,0);
+pos0(cap_stem',0); pos0'(cap_stem,0);
+lft x1l=hround max(2u,3u-.5cap_stem'); top y1=h; bot y2=0;
+x1l=x2l=x0l=x0'l; y0=y0'=y7;
+penpos3(cap_band,90); penpos4(cap_band,90);
+penpos5(cap_curve if hefty:-3stem_corr fi,0);
+penpos6(.5[vair,cap_band],-90); penpos7(.5[vair,cap_band],-90);
+z3r=top z1; y4=y3; y5=.5[y4l,y6l]; y6=y7;
+x7=x2; y7l=vround .5h; x4=x6=.5w+.75u; x5r=hround(w-u);
+x4l:=x6l:=x4-.25cap_curve;
+filldraw stroke z1e--z0e--z0'e--z2e; % stem
+fill stroke z3e..pulled_arc.e(4,5) & pulled_arc.e(5,6)..z7e; % lobe
+if serifs: nodish_serif(1,0,a,1/3,cap_jut,b,1/3,.5cap_jut); % upper serif
+ dish_serif(2,0',c,1/3,cap_jut,d,1/3,cap_jut); fi % lower serif
+math_fit(0,ic#-2.5u#); penlabels(0,1,2,3,4,5,6,7);
+currentpicture := currentpicture shifted ((24/22*size-w)/2, (23/22*size-h)/2);
+endchar;
+
+cmchar "The letter Q";
+beginchar("Q",24/22size#,23/22size#,1/22size#);
+italcorr .7cap_height#*slant-.5u#;
+%adjust_fit(0,0);
+w:=14u-width_adj;
+h:=cap_height;
+d:=comma_depth;
+numeric light_curve; light_curve=cap_curve-hround stem_corr;
+penpos1(vair',90); penpos3(vair',-90);
+penpos2(light_curve,180); penpos4(light_curve,0);
+if monospace: x2r=hround 1.5u;
+ interim superness:=sqrt superness; % make |"Q"| like |"O"|
+else: x2r=hround u; fi
+x4r=w-x2r; x1=x3=.5w; y1r=h+o; y2=y4=.5h-vair_corr; y3r=-o;
+penstroke pulled_super_arc.e(1,2)(.5superpull)
+ & pulled_super_arc.e(2,3)(.5superpull)
+ & pulled_super_arc.e(3,4)(.5superpull)
+ & pulled_super_arc.e(4,1)(.5superpull) & cycle; % bowl
+pickup tiny.nib;
+if hefty: penpos5(1.2(.5[cap_bar,light_curve]),0); penpos6(1.2light_curve,0);
+ x5=.5w; x6r=hround(w-1.5u);
+ y5=vround .28h; y6=-d;
+ fill diag_end(6r,5r,.25,1,5l,6l)--diag_end(5l,6l,.5,1,6r,5r)--cycle; % tail
+else: pos3'(vair,270); pos5(vair,180); pos6(vair,90);
+ pos7(cap_curve,85); penpos8(eps,180);
+ z3'=z3; x6=x3; top y6r=vround(.2h+.5vair);
+ lft x5r=hround(.5w-1.25u-.5vair); y5=.5[y3,y6];
+ bot y7l=-d; x7l=2/3[x6,x8]; y8=0; rt x8=hround(x4r+.1u);
+ filldraw stroke z3'e{left}...z5e{up}...z6e{right}
+ ..z7e{right}...z8e{up}; fi % tail
+math_fit(-.3cap_height#*slant-.5u#,ic#);
+penlabels(1,2,3,4,5,6,7,8);
+currentpicture := currentpicture shifted ((24/22*size-w)/2, (23/22*size-h)/2);
+endchar;
+
+cmchar "The letter R";
+beginchar("R",24/22size#,23/22size#,1/22size#);
+italcorr .75cap_height#*slant- if serifs: 1.75 else: .5 fi\\ u#;
+%adjust_fit(cap_serif_fit#,0);
+w:=if serifs: 12u+.5max(2u,cap_curve) else:12.5u-.5width_adj fi;
+h:=cap_height;
+d:=0;
+pickup tiny.nib; pos1(cap_stem',0); pos2(cap_stem',0);
+lft x1l=lft x2l=hround max(2u,3u-.5cap_stem'); top y1=h; bot y2=0;
+filldraw stroke z1e--z2e; % stem
+penpos3(cap_band,90); penpos4(cap_band,90);
+penpos5(cap_curve if hefty:-3stem_corr fi,0);
+penpos6(vair,-90); penpos7(vair,-90);
+z3r=top z1; y4=y3; y5=.5[y4l,y6l]; y6=y7;
+x7=x2; y7l=vround(.5h+.5vair); x4=x6;
+if serifs: x4=.5w-.5u; x5r=hround(w-2.25u);
+else: x4=.5w+.5u; x5r=hround(w-u); fi
+x4l:=x6l:=x4-.125cap_curve;
+fill stroke z3e..pulled_arc.e(4,5) & pulled_arc.e(5,6)..z7e; % lobe
+if serifs: pos6'(vair,-90); pos0(cap_stem,180);
+ pos8(cap_curve,180); pos9(vair,-90); pos10(hair,0);
+ z6'=z6; lft x0r=lft x8r=hround(x5-2/3u-.5cap_curve);
+ y8=1/3[y2,y7]; y0=3/5[y2,y7]; x9=.5[x8l,x10r];
+ bot y9r=-o; rt x10r=hround(w-.05u); y10=1/4[y2,y7];
+ filldraw stroke z6'e{right}..z0e---z8e....z9e{right}..z10e{up}; % tail
+ nodish_serif(1,2,a,1/3,cap_jut,b,1/3,.5cap_jut); % upper serif
+ dish_serif(2,1,c,1/3,cap_jut,d,1/3,cap_jut); % lower serif
+else: penpos8(cap_stem-2stem_corr,0); penpos9(cap_stem,0);
+ x8=x6+.5u; y8=y6; x9r=hround(w-.5u); y9=0;
+ fill z8l--diag_end(8l,9l,.5,1,9r,8r)--z8r--cycle; fi % tail
+math_fit(0,.75ic#); penlabels(0,1,2,3,4,5,6,7,8,9,10);
+currentpicture := currentpicture shifted ((24/22*size-w)/2, (23/22*size-h)/2);
+endchar;
+
+cmchar "The letter S";
+beginchar("S",24/22size#,23/22size#,1/22size#);
+italcorr cap_height#*slant-u#;
+%adjust_fit(0,0);
+w:=10u;
+h:=cap_height;
+d:=0;
+numeric theta; theta=90-angle(50u,h); slope:=-h/50u; % angle at middle
+numeric s_slab; s_slab=if serifs:slab else:vround .2[slab,cap_stem] fi;
+numeric ess'; ess'=max(fine.breadth,cap_ess);
+pickup fine.nib; pos2(max(fine.breadth,s_slab-vround vair_corr),-90);
+pos0(ess',theta); pos7(s_slab,-90);
+x2+x7=2x0=w; x7-x2=if serifs: u else: 0 fi; top y2l=h+o; bot y7r=-o;
+y0=.52h; lft x3l=hround u; rt x6r=hround(w-u);
+x3r-x3l=x6r-x6l=hround .5[s_slab,ess']-fine;
+ellipse_set(2l,3l,4l,0l); ellipse_set(2r,3r,4r,0r); y3=y3r;
+ellipse_set(7l,6l,5l,0l); ellipse_set(7r,6r,5r,0r); y6=y6r;
+filldraw stroke super_arc.e(2,3) & z3e{down}
+ ..z4e---z5e..z6e{down} & super_arc.e(6,7); % main stroke
+if serifs: pos1(hair,180); pos8(hair,180);
+ rt x1l=hround(w-1.5u); lft x8r=hround u;
+ bot y1=vround 2/3h+1; top y8=vround 1/3h-1;
+ filldraw stroke z1e{x2-x1,10(y2-y1)}....{left}z2e; % upper arc
+ filldraw stroke z7e{left}....{up}z8e; % lower arc
+ path upper_arc, lower_arc;
+ upper_arc=z1{x2-x1,10(y2-y1)}....{left}z2;
+ lower_arc=z7{left}....{up}z8;
+ pos10(.3[fine.breadth,cap_hair],0); pos9(.3[fine.breadth,cap_hair],0);
+ x10r=x1l; top y10=top y2l; x9l=x8r; bot y9=bot y7r;
+ x1l-x1'=x8'-x8r=1.6cap_curve-fine; y1'=y1; y8'=y8;
+ numeric t; t=xpart(upper_arc intersectiontimes(z10l--z1'));
+ filldraw z1l--z10r--z10l--subpath(t,0) of upper_arc--cycle; % upper barb
+ t:=xpart(lower_arc intersectiontimes(z9r--z8'));
+ filldraw z8r--z9l--z9r--subpath(t,1) of lower_arc--cycle; % lower barb
+else: pos1(1.2flare,-100); pos8(1.2flare,-100);
+ x1l=good.x(x1l+w-1.75u-rt x1); lft x8r=hround .8u;
+ top y1l=vround .93h+o; bot y8r=vround .1h-o;
+ filldraw stroke term.e(2,1,right,.9,4); % upper arc and terminal
+ filldraw stroke term.e(7,8,left,1,4); fi % lower arc and terminal
+math_fit(0,.5ic#); penlabels(0,1,1',2,3,4,5,6,7,8,8',9,10);
+currentpicture := currentpicture shifted ((24/22*size-w)/2, (23/22*size-h)/2);
+endchar;
+
+cmchar "The letter T";
+beginchar("T",24/22size#,23/22size#,1/22size#);
+italcorr cap_height#*slant-beak_jut#-.25u#;
+%adjust_fit(0,0);
+w:=13u-width_adj;
+h:=cap_height;
+d:=0;
+h:=vround(h-2stem_corr);
+pickup tiny.nib; pos1(cap_stem,0); pos2(cap_stem,0);
+lft x1l=lft x2l=hround(.5w-.5cap_stem); top y1=h; bot y2=0;
+filldraw stroke z1e--z2e; % stem
+pickup crisp.nib; pos3(slab,90); pos4(hair,0);
+top y3r=h; x3=x1; rt x4r=hround(w-.65u); y4=good.y(y3l-beak)-eps;
+arm(3,4,e,beak_darkness,.7beak_jut); % right arm and beak
+pos5(hair,180); x5=w-x4; y5=y4;
+arm(3,5,f,beak_darkness,-.7beak_jut); % left arm and beak
+if serifs: dish_serif(2,1,c,1/3,1.414cap_jut,d,1/3,1.414cap_jut); % lower serif
+ nodish_serif(1,2,a,1/3,.5cap_jut,b,1/3,.5cap_jut); fi % upper bracketing
+math_fit(-.75cap_height#*slant,ic#-2.5u#); penlabels(1,2,3,4,5,6);
+currentpicture := currentpicture shifted ((24/22*size-w)/2, (23/22*size-h)/2);
+endchar;
+
+cmchar "The letter U";
+beginchar("U",24/22size#,23/22size#,1/22size#);
+italcorr cap_height#*slant-cap_serif_fit#+cap_jut#-2.5u#+min(.5cap_stem#,u#);
+%if monospace: adjust_fit(cap_serif_fit#-.5u#,cap_serif_fit#-.5u#)
+%else: adjust_fit(cap_serif_fit#,cap_serif_fit#) fi;
+w:=13u+.5width_adj;
+h:=cap_height;
+d:=0;
+pickup tiny.nib; pos1(cap_stem,0); pos2(cap_stem,0);
+pos2'(cap_stem,180); z2'=z2;
+pos3(cap_band,-90);
+pos4(cap_hair,0); pos5(cap_hair,0);
+x1=x2; x3=.5[x1,x5]; x4=x5; x1l=w-x5r;
+top y1=top y5=h; y2=y4=1/3h; bot y3r=-o;
+lft x1l=hround max(2u,3u-.5cap_stem);
+filldraw stroke z1e--z2e; % left stem
+filldraw stroke pulled_arc.e(2',3)
+ & pulled_arc.e(3,4)&z4e--z5e; % arc and right stem
+if serifs: dish_serif(1,2,a,1/3,cap_jut,b,1/3,cap_jut); % left serif
+ dish_serif(5,4,c,1/2,cap_jut,d,1/2,cap_jut)(dark); fi % right serif
+math_fit(-cap_serif_fit#-.3cap_height#*slant-min(cap_height#*slant,u#),
+ max(.5ic#-.5u#,0)); penlabels(1,2,3,4,5);
+currentpicture := currentpicture shifted ((24/22*size-w)/2, (23/22*size-h)/2);
+ endchar;
+
+cmchar "The letter V";
+beginchar("V",24/22size#,23/22size#,1/22size#);
+italcorr cap_height#*slant+.25u#;
+%adjust_fit(cap_serif_fit#,cap_serif_fit#);
+w:=13u;
+h:=cap_height;
+d:=0;
+numeric left_stem,right_stem,outer_jut,alpha;
+left_stem=cap_stem-stem_corr;
+right_stem=min(cap_hair if hefty:-2stem_corr fi,left_stem);
+outer_jut=.75cap_jut; x1l=w-x4r=l+letter_fit+outer_jut+.25u; y1=y4=h;
+x2-x1=x4-x3; x2l+apex_corr=x3l; y2=y3=-apex_o;
+alpha=diag_ratio(2,right_stem,y1-y2,x4r-x1l-apex_corr);
+penpos1(alpha*left_stem,0); penpos2(alpha*left_stem,0);
+penpos3(alpha*right_stem,0); penpos4(alpha*right_stem,0);
+z0=whatever[z1r,z2r]=whatever[z3l,z4l];
+if y0>cap_notch_cut: y0:=cap_notch_cut;
+ fill z0+.5right{up}...{z4-z3}diag_end(3l,4l,1,1,4r,3r)
+ --diag_end(4r,3r,1,1,2l,1l)--diag_end(2l,1l,1,1,1r,2r){z2-z1}
+ ...{down}z0+.5left--cycle; % left and right diagonals
+else: fill z0--diag_end(0,4l,1,1,4r,3r)--diag_end(4r,3r,1,1,2l,1l)
+ --diag_end(2l,1l,1,1,1r,0)--cycle; fi % left and right diagonals
+if serifs: numeric inner_jut; pickup tiny.nib;
+ prime_points_inside(1,2); prime_points_inside(4,3);
+ if rt x1'r+cap_jut+.5u+1<=lft x4'l-cap_jut: inner_jut=cap_jut;
+ else: rt x1'r+inner_jut+.5u+1=lft x4'l-inner_jut; fi
+ dish_serif(1',2,a,1/3,outer_jut,b,1/2,inner_jut); % left serif
+ dish_serif(4',3,c,.6,inner_jut,d,1/2,outer_jut)(dark); fi % right serif
+math_fit(.75u#-cap_height#*slant,ic#-4u#); penlabels(0,1,2,3,4);
+currentpicture := currentpicture shifted ((24/22*size-w)/2, (23/22*size-h)/2);
+endchar;
+
+cmchar "The letter W";
+beginchar("W",24/22size#,23/22size#,1/22size#);
+italcorr cap_height#*slant+.25u#;
+%adjust_fit(cap_serif_fit#,cap_serif_fit#);
+w:=18u;
+h:=cap_height;
+d:=0;
+numeric stem[],outer_jut,upper_notch,alpha,mid_corr;
+outer_jut=.7cap_jut; x1l=w-x8r=l+letter_fit+outer_jut+.25u;
+stem1=fudged.cap_stem-stem_corr;
+stem4=min(fudged.hair if hefty:-2stem_corr fi,stem1);
+stem2=stem4 if hefty:-2stem_corr fi;
+stem3=stem1 if hefty:-2stem_corr fi;
+x2-x1=x4-x3=x6-x5=x8-x7; x2l+apex_corr=x3l; x6l+apex_corr=x7l;
+y1=y8=h; y2=y3=y6=y7=-apex_o; y4=y5=if monospace: vround .6 fi\\ h;
+mid_corr=if monospace or hefty:-apex_corr else: 1/3jut fi;
+alpha=diag_ratio(4,stem2-stem3+stem4,y1-y2,x8r-x1l+mid_corr-2apex_corr);
+penpos1(alpha*stem1,0); penpos2(alpha*stem1,0);
+penpos3(alpha*stem2,0); penpos4(alpha*stem2,0);
+penpos5(alpha*stem3,0); penpos6(alpha*stem3,0);
+penpos7(alpha*stem4,0); penpos8(alpha*stem4,0);
+x4l-x1l=floor(x4l-x1l+.5(x5r+mid_corr-x4r)); % |x5r+mid_corr| $\approx$ |x4r|
+z23=whatever[z1r,z2r]=whatever[z3l,z4l];
+z45=whatever[z3r,z4r]=whatever[z5l,z6l];
+z67=whatever[z5r,z6r]=whatever[z7l,z8l]; upper_notch=y4-cap_notch_cut;
+fill diag_end(1l,2l,1,1,3r,4r){z4-z3}
+ ...if y45<upper_notch:(x45,upper_notch)+.5left{up}
+ --(x45,upper_notch)+.5right{down} else: z45&z45 fi
+ ...{z6-z5}diag_end(5l,6l,1,1,7r,8r)--diag_end(7r,8r,1,1,8l,7l){z7-z8}
+ ...if y67>cap_notch_cut:(x67,cap_notch_cut)+.5right{down}
+ --(x67,cap_notch_cut)+.5left{up} else: z67&z67 fi
+ ...{z5-z6}special_diag_end(6,5,4,3){z3-z4}
+ ...if y23>cap_notch_cut:(x23,cap_notch_cut)+.5right{down}
+ --(x23,cap_notch_cut)+.5left{up} else: z23&z23 fi
+ ...{z1-z2}diag_end(2r,1r,1,1,1l,2l)--cycle; % diagonals
+if serifs: numeric inner_jut[]; pickup tiny.nib;
+ prime_points_inside(1,2); prime_points_inside(5,6); prime_points_inside(8,7);
+ if monospace: inner_jut1=inner_jut4=1.5cap_jut;
+ elseif hefty: inner_jut1=inner_jut4=cap_jut;
+ else: fill diag_end(6r,5r,1,1,5l,6l)--.9[z5l,z6l]
+ ..{z5-z6}.1[z5r,z6r]--cycle; % middle stem
+ inner_jut2=.7inner_jut1; inner_jut4=1.1inner_jut3;
+ if rt x1'r+cap_jut+.5u+1<=lft x5'l-.7cap_jut: inner_jut1=cap_jut;
+ else: rt x1'r+inner_jut1+.5u+1=lft x5'l-inner_jut2; fi
+ if rt x5'r+cap_jut+.5u+1<=lft x8'l-1.1cap_jut: inner_jut3=cap_jut;
+ else: rt x5'r+inner_jut3+.5u+1=lft x8'l-inner_jut4; fi
+ dish_serif(5',6,e,1/3,inner_jut2,f,1/2,inner_jut3); fi % middle serif
+ dish_serif(1',2,a,1/3,outer_jut,b,1/2,inner_jut1); % left serif
+ dish_serif(8',7,c,.6,inner_jut4,d,1/2,outer_jut)(dark); fi % right serif
+math_fit(.75u#-cap_height#*slant,ic#-2.5u#);
+penlabels(0,1,2,3,4,5,6,7,8,23,45,67);
+currentpicture := currentpicture shifted ((24/22*size-w)/2, (23/22*size-h)/2);
+endchar;
+
+cmchar "The letter X";
+beginchar("X",24/22size#,23/22size#,1/22size#);
+italcorr cap_height#*slant-.25u#;
+%adjust_fit(cap_serif_fit#,cap_serif_fit#);
+w:=13u;
+h:=cap_height;
+d:=0;
+r:=w;
+numeric stem[],outer_jut,xjut,alpha[];
+stem1=cap_stem-2stem_corr; stem2=min(cap_hair,stem1);
+outer_jut=.75cap_jut; xjut= if serifs: (stem1-stem2)/4 else: 0 fi;
+x1l=l+letter_fit+.5u+outer_jut; x2r=r-letter_fit-u-outer_jut-xjut;
+x3l=l+letter_fit+.25u+outer_jut+xjut; x4r=r-letter_fit-.25u-outer_jut;
+y1=y2=h; y3=y4=0;
+alpha1=diag_ratio(1,stem1,h,x4r-x1l);
+alpha2=diag_ratio(1,stem2,h,x2r-x3l);
+penpos1(alpha1*stem1,0); penpos2(alpha2*stem2,0);
+penpos3(alpha2*stem2,0); penpos4(alpha1*stem1,0);
+if hefty: z0=whatever[z1,z4]=whatever[z2,z3];
+ x12=x34=x0; y13=y24=y0;
+ z12=whatever[z2l,z3l]; z13=whatever[z2l,z3l];
+ z24=whatever[z2r,z3r]; z34=whatever[z2r,z3r];
+ forsuffixes $=13,24,34: z$'=.1[z$,z0]; endfor
+ fill diag_end(12,1r,.5,1,1l,13')--z13'--diag_end(13',3l,1,.5,3r,34')--z34'
+ --diag_end(34',4l,.5,1,4r,24')--z24'
+ --diag_end(24',2r,1,.5,2l,12)--z12--cycle; % diagonals
+else: fill diag_end(4r,1r,.5,1,1l,4l)
+ --diag_end(1l,4l,.5,1,4r,1r)--cycle; % left diagonal
+ fill diag_end(2l,3l,.5,1,3r,2r)
+ --diag_end(3r,2r,.5,1,2l,3l)--cycle; fi % right diagonal
+if serifs: numeric inner_jut[]; pickup tiny.nib;
+ prime_points_inside(1,4); prime_points_inside(2,3);
+ prime_points_inside(3,2); prime_points_inside(4,1);
+ if rt x1'r+cap_jut+.5u+1<=lft x2'l-cap_jut-xjut: inner_jut1=cap_jut;
+ else: rt x1'r+inner_jut1+.5u+1=lft x2'l-inner_jut1-xjut; fi
+ if rt x3'r+cap_jut+.5u+1<=lft x4'l-cap_jut-xjut: inner_jut2=cap_jut;
+ else: rt x3'r+inner_jut2+.5u+1=lft x4'l-inner_jut2-xjut; fi
+ dish_serif(1',4,a,1/3,outer_jut,b,2/3,inner_jut1); % upper left serif
+ dish_serif(4',1,c,2/3,inner_jut2,d,1/3,outer_jut); % lower right serif
+ dish_serif(2',3,e,2/3,inner_jut1+xjut,
+ f,1/2,outer_jut+xjut)(dark); % upper right serif
+ dish_serif(3',2,g,1/2,outer_jut+xjut,
+ h,2/3,inner_jut2+xjut)(dark); fi % lower left serif
+math_fit(0,.5ic#); penlabels(0,1,2,3,4,12,13,24,34);
+currentpicture := currentpicture shifted ((24/22*size-w)/2, (23/22*size-h)/2);
+endchar;
+
+cmchar "The letter Y";
+beginchar("Y",24/22size#,23/22size#,1/22size#);
+italcorr cap_height#*slant+.45u#;
+%adjust_fit(cap_serif_fit#,cap_serif_fit#);
+w:=13u;
+h:=cap_height;
+d:=0;
+numeric left_stem,right_stem,outer_jut,dy,alpha;
+left_stem=cap_stem-stem_corr;
+right_stem=min(cap_hair if hefty:-2stem_corr fi,left_stem);
+outer_jut=.75cap_jut; x1l=w-x4r=l+letter_fit+outer_jut+.05u;
+x2l=x5l=hround(.5w-.5left_stem); x3r=x5r; y1=y4=h; y2=y3=y5=.4h;
+dy=y1-y2; alpha=((x2l-x1l)++dy)/dy;
+penpos1(alpha*left_stem,0); penpos2(alpha*left_stem,0);
+penpos3(alpha*right_stem,0); penpos4(alpha*right_stem,0);
+penpos5(left_stem,0); penpos6(left_stem,0); x5=x6; y6=0;
+z0=whatever[z1r,z2r]=whatever[z3l,z4l];
+if y0>y2+cap_notch_cut: y0:=y2+cap_notch_cut;
+ fill z0+.5right{up}...{z4-z3}diag_end(3l,4l,1,1,4r,3r)--z5r
+ --diag_end(5r,6r,1,1,6l,5l)--z5l--diag_end(2l,1l,1,1,1r,2r){z2-z1}
+ ...{down}z0+.5left--cycle; % diagonals and stem
+else: fill z0--diag_end(0,4l,1,1,4r,3r)--z5r
+ --diag_end(5r,6r,1,1,6l,5l)--z5l
+ --diag_end(2l,1l,1,1,1r,0)--cycle; fi % diagonals and stem
+if serifs: numeric inner_jut; pickup tiny.nib;
+ prime_points_inside(1,2); prime_points_inside(4,3); prime_points_inside(6,5);
+ if rt x1'r+cap_jut+.5u+1<=lft x4'l-cap_jut: inner_jut=cap_jut;
+ else: rt x1'r+inner_jut+.5u+1=lft x4'l-inner_jut; fi
+ dish_serif(1',2,a,1/3,outer_jut,b,1/2,inner_jut); % upper left serif
+ dish_serif(4',3,c,.6,inner_jut,d,1/2,outer_jut)(dark); % upper right serif
+ dish_serif(6',5,e,1/3,cap_jut,f,1/3,cap_jut); fi % lower serif
+math_fit(.5u#-cap_height#*slant,ic#-4u#);
+penlabels(0,1,2,3,4,5,6);
+currentpicture := currentpicture shifted ((24/22*size-w)/2, (23/22*size-h)/2);
+endchar;
+
+cmchar "The letter Z";
+beginchar("Z",24/22size#,23/22size#,1/22size#);
+italcorr cap_height#*slant-.5u#;
+%adjust_fit(0,0);
+w:=11u;
+h:=cap_height;
+d:=0;
+numeric arm_thickness[],z_stem;
+if hefty: arm_thickness1=Vround(slab-vair_corr); arm_thickness2=slab;
+ z_stem=.8[vair,cap_stem];
+else: arm_thickness1=slab; arm_thickness2=vround(slab+vair_corr);
+ z_stem=.9[vair,cap_stem]; fi
+pickup tiny.nib; x3l=x4l=w-x1r=w-x2r; lft x3l=hround u;
+top y1=h; y2=min(y1,h-2/3arm_thickness1);
+bot y4=0; y3=max(y4,2/3arm_thickness2);
+numeric alpha; alpha=diag_ratio(1,z_stem-tiny,y2-y3,x2r-x3l);
+penpos1(alpha*(z_stem-tiny),0); penpos2(alpha*(z_stem-tiny),0);
+penpos3(alpha*(z_stem-tiny),0); penpos4(alpha*(z_stem-tiny),0);
+pair delta; delta=penoffset z3-z2 of currentpen;
+fill top lft z1l--z2l+delta---z3l+delta..lft z3l---lft z4l..bot z4l
+ ---bot rt z4r--z3r-delta---z2r-delta..rt z2r---rt z1r..top z1r
+ ---cycle; % diagonal
+pickup crisp.nib; pos5(arm_thickness1,90); pos6(hair,180);
+top y5r=h; x5=x1; lft x6r=hround 1.25u; y6=good.y(y5l-beak)-eps;
+arm(5,6,a,beak_darkness**.8,-.4beak_jut); % upper arm and beak
+pos7(arm_thickness2,-90); pos8(hair,0);
+bot y7r=0; x7=x4; rt x8r=hround(w-.9u); y8=good.y(y7l+1.2beak)+eps;
+arm(7,8,b,beak_darkness**.9,.6beak_jut); % lower arm and beak
+math_fit(0,.5ic#); penlabels(1,2,3,4,5,6,7,8);
+currentpicture := currentpicture shifted ((24/22*size-w)/2, (23/22*size-h)/2);
+endchar;
+
+%%%%%%%%%%%%%%%%%
+%%% romanl.mf %%%
+%%%%%%%%%%%%%%%%%
+
+cmchar "The letter a";
+beginchar("a",24/22size#,23/22size#,1/22size#);
+bh#:=min(bar_height#,1.14x_height#-bar_height#); define_pixels(bh);
+italcorr 1/3[bh#,x_height#]*slant+.5stem#-serif_fit#-2u#;
+%adjust_fit(0,serif_fit# if serifs: if hair#+.5stem#>1.5u#:-.25u# fi\\fi);
+w:=9u;
+h:=x_height;
+d:=0;
+pickup fine.nib; top y3r=h+vround 1.5oo;
+if serifs: pos1(flare,180); pos2(hair,180);
+ pos3(vair,90); lft x1r=hround max(u,2.1u-.5flare); x3=.5w-.5u;
+ y1=min(bh+.5flare+2vair+2,.9[bh,h]-.5flare);
+ bulb(3,2,1); % bulb
+else: pos1(5/7[vair,flare],95); x1l=good.x 1.5u; x1r:=good.x x1r;
+ pos3(1/8[vair,thin_join],90);
+ x3=.5w-.2u; top y1r=vround .82[bh,top y3r];
+ filldraw stroke term.e(3,1,left,.9,4); fi % terminal
+pos4(stem,0); rt x4r=hround(w-2.5u+.5stem); y4=1/3[bh,h];
+pos5(stem,0); x5=x4; y5=max(.55bh,2vair);
+filldraw stroke super_arc.e(3,4)&z4e..z5e; % arc and stem
+pos6(.3[thin_join,vair],90); x6=x4; bot y6=bh;
+pos7(hround(curve-2stem_corr),180);
+lft x7r=hround max(.5u,1.5u-.5curve); y7=1/3[top y8l,top y6r];
+pos8(vair,270); x8l=.5w-.75u; bot y8r=-oo;
+pos9(thin_join,360); z9l=z5l;
+(x,y8r)=whatever[z8l,z9l]; x8r:=max(x,x8-u);
+{{interim superness:=more_super;
+ filldraw stroke z9e{down}...z8e{left}...{up}z7e&super_arc.e(7,6)}}; % bowl
+if serifs: numeric shaved_stem; shaved_stem=hround(stem-3stem_corr);
+ if hair#+.5stem#>1.5u#: pickup tiny.nib;
+ pos5'(shaved_stem,0); rt x5'r=fine.rt x5r; y5'=y5;
+ pos10(shaved_stem,0); x10=x5'; y10=.2[.5tiny,bh];
+ pos11(shaved_stem,0); rt x11r=hround(w-.25u); bot y11=0;
+ pos12(shaved_stem,0); x11=x12; top y12=slab+eps;
+ filldraw z5'l---z10l...z11l{right}--z11r
+ --z12r{left}...z10r+.75(z12-z11)---z5'r--cycle; % foot
+ else: pickup crisp.nib; pos5'(shaved_stem,0); rt x5'r=fine.rt x5r; y5'=y5;
+ pos10(shaved_stem,0); x10=x5'; y10=1/3bh;
+ pos11(.2[vair,stem],90); x11r=.5[x10r,x12r]; bot y11l=-vround .5oo;
+ pos12(hair,180); rt x12l=hround(w-.1u); y12=max(y10,y11+vair);
+ pos13(hair,180); x13=x12; top y13=max(vround .6bh,top y12);
+ (x',y11l)=whatever[z11r,z12r]; x11l:=max(x',x10);
+ filldraw stroke z5'e---z10e...z11e{right}...z12e---z13e; fi % hook
+else: numeric shaved_stem; shaved_stem=hround(stem-stem_corr);
+ pickup tiny.nib; pos5'(shaved_stem,0); rt x5'r=fine.rt x5r; y5'=y5;
+ pos10(shaved_stem,0); x10=x5'; bot y10=0;
+ filldraw stroke z5'e--z10e; fi % base of stem
+penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13);
+currentpicture := currentpicture shifted ((24/22*size-w)/2, (23/22*size-asc_height)/2);
+endchar;
+
+cmchar "The letter b";
+beginchar("b",24/22size#,23/22size#,1/22size#);
+italcorr .5x_height#*slant+min(.5curve#-u#,-.25u#);
+%adjust_fit(serif_fit#,0);
+w:=10u+serif_fit;
+h:=asc_height;
+d:=0;
+pickup tiny.nib; pos1(stem',0); pos2(stem,0);
+pos0'(stem',0); pos0(stem,0); z0l=z0'l; x0'=x1; x0=x2;
+lft x1l=hround(2.5u-.5stem'); top y1=h;
+numeric edge; edge=rt x2r;
+pickup fine.nib; pos3(if hefty:thin_join else: hair fi,180);
+pos4(vair,90); pos5(curve,0); pos6(vair,-90); penpos7(x3l-x3r,-180);
+rt x3l=max(rt x3l-(lft x3r-tiny.lft x2l),1/3[rt x2,edge]);
+y3=1/8[bar_height,x_height];
+x4l=w-.5(w-serif_fit)+.5u; top y4r=x_height+oo;
+rt x5r=hround min(w-1.35u+.5curve,w-.6u); y5=.5x_height;
+x6l=x4l-.2u; bot y6r=-oo;
+x7=x3; y7=min(y3,y6+y4-y3+.6vair);
+(x,y4r)=whatever[z3l,z4l]; x4r:=min(x,.5[x4,x5r]);
+(x',y6r)=whatever[z7l,z6l]; x6r:=min(x',.5[x6,x5r]);
+filldraw stroke z3e{up}...pulled_arc.e(4,5)&pulled_arc.e(5,6)...{up}z7e; % bowl
+y0=ypart(((edge,h)--(edge,0))intersectionpoint(z3l{up}...{right}z4l));
+y2=ypart(((edge,h)--(edge,0))intersectionpoint(z6l{left}...{up}z7l));
+pickup tiny.nib; filldraw stroke z1e--z0'e--z0e--z2e; % stem
+pickup crisp.nib; pos8(hair,0); pos7'(stem,0);
+z7'=z2; x8l=x7'l; bot y8=0;
+filldraw stroke z7'e--z8e; % point
+if serifs: sloped_serif.l(1,0',a,1/3,jut,serif_drop); fi % upper serif
+penlabels(0,1,2,3,4,5,6,7,8);
+currentpicture := currentpicture shifted ((24/22*size-w)/2, (23/22*size-asc_height)/2);
+endchar;
+
+cmchar "The letter c";
+beginchar("c",24/22size#,23/22size#,1/22size#);
+italcorr x_height#*slant-.2u#;
+%adjust_fit(if monospace: .5u#,.5u# else: 0,0 fi);
+w:=8u;
+h:=x_height;
+d:=0;
+pickup fine.nib; pos2(vair',90); pos4(vair',270);
+x2=x4=.5(w+u); top y2r=vround(h+1.5oo); bot y4r=-oo;
+pos3(curve,180); lft x3r=hround max(.6u,1.35u-.5curve); y3=.5h;
+if serifs: pos1(hair,0); pos0(flare,0);
+ y1=min(bar_height+.5flare+2vair'+2,.9[bar_height,h]-.5flare);
+ rt x1r=hround(w-.7u); bulb(2,1,0); % bulb
+ pos5(hair,0); rt x5r=hround(w-.5u);
+ y5=max(good.y(.5bar_height-.9),y4l+vair');
+ (x,y4l)=whatever[z4r,z5l]; x4l:=min(x,x4l+.5u);
+ filldraw stroke pulled_super_arc.e(2,3)(.7superpull)
+ & pulled_super_arc.e(3,4)(.5superpull)
+ ..tension .9 and 1..{x5-x4,5(y5-y4)}z5e; % arc and lower terminal
+else: pos1(4/7[vair',flare],80);
+ rt x1r=hround(w-.6u); top y1r=vround .82[bar_height,top y2r];
+ filldraw stroke term.e(2,1,right,.8,4); % upper terminal
+ pos5(.6[vair',flare],275); rt x5r=hround(w-.5u);
+ y5r=good.y(y5r+1/3bar_height-y5); y5l:=good.y y5l; x5l:=good.x x5l;
+ forsuffixes e=l,r: path p.e; p.e=z4e{right}..tension .9 and 1..z5e;
+ if angle direction 1 of p.e>75:
+ p.e:=z4e{right}..tension atleast.9 and 1..{dir 75}z5e; fi endfor
+ filldraw stroke pulled_super_arc.e(2,3)(.7superpull)
+ & pulled_super_arc.e(3,4)(.5superpull) & p.e; fi % arc and lower terminal
+penlabels(0,1,2,3,4,5);
+currentpicture := currentpicture shifted ((24/22*size-w)/2, (23/22*size-asc_height)/2);
+endchar;
+
+cmchar "The letter d";
+beginchar("d",24/22size#,23/22size#,1/22size#);
+italcorr asc_height#*slant-serif_fit#+.5stem#-2u#;
+%adjust_fit(0,serif_fit#);
+w:=10u+serif_fit;
+h:=asc_height;
+d:=0;
+pickup tiny.nib; pos1(stem',0); pos2(stem,0);
+pos0'(stem',0); pos0(stem,0); z0r=z0'r; x0'=x1; x0=x2;
+rt x1r=hround(w-2.5u+.5stem'); top y1=h;
+numeric edge; edge=lft x2l;
+pickup fine.nib; pos3(if hefty:thin_join else: hair fi,0);
+pos4(vair,90); pos5(curve,180); pos6(vair,270); penpos7(x3r-x3l,360);
+lft x3l=min(lft x3l-(rt x3r-tiny.rt x2r),1/3[lft x2,edge]);
+y3=1/8[bar_height,x_height];
+x4l=.5(w-serif_fit)-.3u; top y4r=x_height+oo;
+lft x5r=hround max(1.35u-.5curve,.6u); y5=.5x_height;
+x6l=x4l-.2u; bot y6r=-oo;
+x7=x3; y7=min(y3,y6+y4-y3+.6vair);
+(x,y4r)=whatever[z3l,z4l]; x4r:=max(x,.5[x5r,x4]);
+(x',y6r)=whatever[z7l,z6l]; x6r:=max(x',.5[x5r,x6]);
+filldraw stroke z3e{up}...pulled_arc.e(4,5)
+ & pulled_arc.e(5,6)...{up}z7e; % bowl
+y0=ypart(((edge,h)--(edge,0))intersectionpoint(z3l{up}...{left}z4l));
+pickup tiny.nib; bot y2=if serifs:-min(oo,serif_drop) else: 0 fi;
+filldraw stroke z1e--z0'e--z0e--z2e; % stem
+if serifs: sloped_serif.l(1,0',a,1/3,jut,serif_drop); % upper serif
+ sloped_serif.r(2,0,b,1/3,jut,min(oo,serif_drop)); fi % lower serif
+penlabels(0,1,2,3,4,5,6,7);
+currentpicture := currentpicture shifted ((24/22*size-w)/2, (23/22*size-asc_height)/2);
+endchar;
+
+cmchar "The letter e";
+beginchar("e",24/22size#,23/22size#,1/22size#);
+italcorr .5[bar_height#,x_height#]*slant+.5min(curve#-1.5u#,0);
+%adjust_fit(if monospace: .25u#,.5u# else: 0,0 fi);
+w:=7.25u+max(.75u,.5curve);
+h:=x_height;
+d:=0;
+numeric left_curve,right_curve;
+left_curve=right_curve+6stem_corr=curve if not serifs: -3stem_corr fi;
+if right_curve<tiny.breadth: right_curve:=tiny.breadth; fi
+if left_curve<tiny.breadth: left_curve:=tiny.breadth; fi
+pickup tiny.nib; pos1(right_curve,0);
+pos2(vair,90); pos3(left_curve,180);
+y1=good.y bar_height; top y2r=h+vround 1.5oo; y0l=bot y1;
+rt x1r=hround min(w-.5u,w-u+.5right_curve);
+lft x3r=hround max(.5u,1.25u-.5left_curve); x2=.5w+.25u;
+{{interim superness:=more_super;
+ filldraw stroke super_arc.e(1,2)}}; % right bowl
+y3=.5[y2,y4]; bot y4r=-oo; x4=x2+.25u;
+if serifs: pos4(vair',270); pos5(hair,360);
+ y5=max(good.y(.5bar_height-.9),y4l+vair); x5r=x1r;
+ (x,y4l)=whatever[z4r,z5]; x4l:=min(x,x4l+.5u);
+ filldraw stroke pulled_arc.e(2,3) & pulled_arc.e(3,4)
+ ...{x5-x4,5(y5-y4)}z5e; % left bowl, arc, and terminal
+else: pos4(vair,270);
+ filldraw stroke super_arc.e(2,3) & super_arc.e(3,4); % left bowl and arc
+ pickup fine.nib; pos4'(vair,270); z4=z4';
+ pos5(.5[vair,flare],275); rt x5r=hround(w-.6u);
+ y5r=good.y(y5r+1/3bar_height-y5); y5l:=good.y y5l; x5l:=good.x x5l;
+ filldraw stroke term.e(4',5,right,1,4); fi % terminal
+path testpath; testpath=super_arc.r(2,3) & super_arc.r(3,4);
+y1'r=y0r=y0l+.6[thin_join,vair]; y1'l=y0l; x1'l=x1'r=x1;
+forsuffixes $=l,r:
+ x0$=xpart(((0,y0$)--(x1,y0$)) intersectionpoint testpath); endfor
+fill stroke z0e--z1'e; % crossbar
+penlabels(0,1,2,3,4,5);
+currentpicture := currentpicture shifted ((24/22*size-w)/2, (23/22*size-asc_height)/2);
+endchar;
+
+cmchar "The letter f";
+beginchar("f",24/22size#,23/22size#,1/22size#);
+italcorr asc_height#*slant+if serifs:flare#-.25u# else: 1.25u# fi;
+%adjust_fit(stem_shift#,if monospace: .5u# else:-stem_shift# fi);
+w:=5.5u;
+h:=asc_height;
+d:=0;
+pickup tiny.nib; pos1(stem',0); lft x1l=hround(2.5u-.5stem');
+pickup fine.nib; numeric bulb_diam;
+if serifs: bulb_diam=hround .8[stem,flare];
+ pos2(bulb_diam,0); y2+.5bulb_diam=.9[x_height,h+oo];
+ if monospace: rt x2r=hround(w-.5u)+1 else: lft x2l=hround(w-.75u+.5) fi;
+else: pos2(5/7[vair,flare],90); top y2r=h;
+ rt x2=hround(if monospace:w-.5u else:w+.75u fi); fi
+f_stroke(1,2,a,b,c,jut,if not monospace:1.25fi\\ jut); % stem, terminal, serif
+pickup crisp.nib; top y3r=top y4r=x_height; lft x3=hround .5u-1;
+pos3(bar,90); pos4(bar,90);
+rt x4=hround(w-if monospace:.75u+1 else:1/3u fi);
+filldraw stroke z3e--z4e; % bar
+penlabels(1,2,3,4);
+currentpicture := currentpicture shifted ((24/22*size-w)/2, (23/22*size-asc_height)/2);
+endchar;
+
+iff not variant_g: cmchar "The letter g";
+beginchar("g",24/22size#,23/22size#,1/22size#);
+italcorr x_height#*slant+.25u#;
+%adjust_fit(0,0);
+w:=9u;
+h:=x_height;
+d:=desc_depth;
+numeric light_vair,light_curve,loop_top,loop_side;
+light_vair=Vround(.5[thin_join,vair]+vair_corr);
+light_curve=max(fine.breadth,hround(curve-3stem_corr));
+loop_top=if serifs: Vround .77[vair,fudged.stem] else: vair fi;
+loop_side=hround .64[vair,fudged.stem];
+pickup fine.nib; pos1(light_vair,90);
+pos2(light_curve,180); pos3(light_vair,270);
+pos4(light_curve,360); pos11(loop_top,90);
+y11r=good.y(y11r+.15bar_height-y11); x1=x3=.5[x2,x4]; y2=y4=.5[y1,y3];
+lft x2r=hround(1.75u-.5light_curve); rt x4r=hround(w-2.75u+.5light_curve);
+top y1r=h+oo; y3r=good.y(y3r+.27[top y11r,bot y1l]-y3);
+filldraw stroke pulled_arc.e(1,2) & pulled_arc.e(2,3); % left half of bowl
+filldraw stroke pulled_arc.e(3,4) & pulled_arc.e(4,1); % right half of bowl
+x0=superness[x1r,x4r]; y0=superness[y4r,y1r]; % NE point on the super bowl
+x8'=superness[x3r,x2r]; y8'=superness[y2r,y3r]; % SW point on the super bowl
+x8''=superness[x3,x2]; y8''=superness[y2,y3];
+pos0(thin_join,angle(z0-z8')+90);
+pos8(thin_join,angle(z0-z8')-90); z8=.618[z8',z8''];
+if serifs: pos5(vair,90);
+ pos6(hair,0); pos7(.5[hair,flare],0); x5=.75[x0,x6]; top y5r=h+o;
+ rt x6r=hround(w-.25u); y6+(.5[hair,flare])/2=.95[bar_height,h]+oo;
+ filldraw stroke z0e..{right}z5e; bulb(5,6,7); % ear
+else: pos5(vair',100); top y5r=h+oo;
+ rt x5l=hround(w-.25u); y5l:=good.y y5l;
+ filldraw z0l{z5-z0}..z5l--z5r{left}..{curl 1}z0r--cycle; fi % ear
+pos10(loop_top,90); x10=x8+.75u; y10=y11;
+pos12(loop_side,0); pos13(light_vair,-90);
+pos14(loop_side,-180); pos10'(.5[thin_join,vair],-270);
+rt x12r=hround max(w-1.25u+.5loop_side,w-.5u); y12=y14=.5[y11,y13];
+x11=x13=max(.5w,x10+eps); bot y13r=-d-oo-1; x14=w-x12; z10'l=z10l;
+filldraw stroke z8e{z8-z0}..z10e---z11e; % link
+filldraw stroke {{interim superness:=hein_super; super_arc.e(11,12)}}
+ & super_arc.e(12,13) & super_arc.e(13,14) & super_arc.e(14,10'); % loop
+penlabels(0,1,2,3,4,5,6,7,8,10,11,12,13,14); labels(8',8'');
+currentpicture := currentpicture shifted ((24/22*size-w)/2, (23/22*size-asc_height)/2);
+endchar;
+
+iff variant_g: cmchar "Variant letter g";
+beginchar("g",24/22size#,23/22size#,1/22size#);
+italcorr x_height#*slant-serif_fit#+.5stem#-2u# if serifs:+.5u# fi;
+%adjust_fit(0,serif_fit# if serifs: -.5u# fi);
+w:=10u+serif_fit;
+h:=x_height;
+d:=desc_depth;
+pickup tiny.nib; pos1(stem',0); pos2(stem,0);
+pos0'(stem',0); pos0(stem,0); z0r=z0'r; x0'=x1; x0=x2;
+rt x1r=hround(w-2.5u+.5stem');
+numeric edge; edge=lft x2l;
+path edge_path; edge_path=(edge,h)--(edge,0);
+pickup fine.nib; pos3(if hefty:thin_join else: hair fi,0);
+pos4(vair,90); pos5(curve,180); pos6(vair,270); penpos7(x3r-x3l,360);
+lft x3l=min(lft x3l-(rt x3r-tiny.rt x2r),2/3[lft x2,edge]); y3=bar_height;
+x4l=.5(w-serif_fit)-.3u; top y4r=x_height+oo;
+lft x5r=hround max(1.35u-.5curve,.6u); y5=.5x_height;
+x6l=x4l-.2u; bot y6r=vround 1/3vair;
+lft x7l=edge; y7=min(y3,y6+y4-y3+.6vair);
+(x,y4r)=whatever[z3l,z4l]; x4r:=max(x,.5[x5r,x4]);
+(x',y6r)=whatever[z7l,z6l]; x6r:=max(x',.5[x5r,x6]);
+filldraw stroke z3e{up}...{left}z4e&super_arc.e(4,5)
+ &super_arc.e(5,6)&z6e{right}...{up}z7e; % bowl
+y1=ypart(edge_path intersectionpoint(z3l{up}...{left}z4l));
+y0=ypart(edge_path intersectionpoint(z7l{down}...{left}z6l));
+pickup tiny.nib; bot y2=if serifs: -.25d else: 0 fi;
+filldraw stroke z1e--z0'e--z0e--z2e; % stem
+pickup crisp.nib;
+pos8(hround(hair-stem_corr),0); pos7'(stem',0);
+z7'=z1; x8r=x7'r; top y8=h+oo;
+filldraw stroke z7'e--z8e; % point
+if serifs: pickup tiny.nib;
+ pos9(vair,-90); x9=.5[x2,x10]; bot y9r=-d-o-1;
+ pos10(hair,-180); lft x10r=hround u; y10=-.75d+.5flare;
+ pos11(flare,-180); z11r=z10r;
+ bulb(9,10,11); filldraw stroke super_arc.e(2,9); % tail
+else: pickup fine.nib; pos2'(stem,0); z2'=z2;
+ z2''r=z2'r; z2''=z2'; z2''l=(x2'l,0);
+ pos9(vair,-90); x9=4.5u; bot y9r=-d-o-1;
+ pos10(.5[vair,flare],-90); lft x10=hround 1.25u;
+ y10r=good.y -5/6d; y10l:=good.y y10l;
+ filldraw stroke z2'e..z2''e&super_arc.e(2'',9)
+ & term.e(9,10,left,.9,4); fi % tail
+penlabels(0,1,2,3,4,5,6,7,8,9,10,11);
+currentpicture := currentpicture shifted ((24/22*size-w)/2, (23/22*size-asc_height)/2);
+endchar;
+
+cmchar "The letter h";
+beginchar("h",24/22size#,23/22size#,1/22size#);
+italcorr .5[bar_height#,x_height#]*slant-serif_fit#+.5stem#-2u#;
+%adjust_fit(serif_fit#+stem_shift#,serif_fit#-stem_shift#);
+w:=10u;
+h:=asc_height;
+d:=0;
+pickup tiny.nib; pos1(stem,0); pos2(stem,0);
+pos1'(stem',0); pos2'(stem',0); pos3(stem,0);
+lft x1l=hround(2.5u-.5stem); x1l=x1'l=x2l=x2'l; x3=w-x1;
+top y1=h; bot y2=0; y1=y1'; y2=y2';
+filldraw stroke z1'e--z2'e; % left stem
+h_stroke(2,a,3,4); % arch and right stem
+if serifs: sloped_serif.l(1',2',b,1/3,jut,serif_drop); % upper left serif
+ numeric inner_jut; pickup tiny.nib;
+ if rt x2r+jut+.5u+1<=lft x4l-jut: inner_jut=jut;
+ else: rt x2r+jut+.5u+1=lft x4l-inner_jut; fi
+ dish_serif(2,1,c,1/3,jut,d,1/3,jut); % lower left serif
+ dish_serif(4,3,e,1/3,inner_jut,f,1/3,jut); fi % lower right serif
+penlabels(1,2,3,4);
+currentpicture := currentpicture shifted ((24/22*size-w)/2, (23/22*size-asc_height)/2);
+endchar;
+
+cmchar "The letter i";
+numeric dot_diam#; dot_diam#=max(dot_size#,cap_curve#);
+beginchar("i",24/22size#,23/22size#,1/22size#);
+define_whole_blacker_pixels(dot_diam);
+italcorr h#*slant-serif_fit# + .5dot_diam# -2u#;
+%adjust_fit(serif_fit#+stem_shift# if monospace:+.25u#fi,serif_fit#-stem_shift#);
+w:=5u;
+h:=min(asc_height,10/7x_height+.5dot_diam);
+d:=0;
+pickup tiny.nib; pos1(stem',0); pos2(stem',0);
+if odd(w-stem'): change_width; fi
+lft x1l=hround(.5w-.5stem'); x1=x2;
+top y1=x_height if serifs: +min(oo,serif_drop) fi; bot y2=0;
+filldraw stroke z1e--z2e; % stem
+pos3(dot_diam,0); pos4(dot_diam,90);
+if serifs: x3r=max(x1r,hround(x1+.5dot_diam-.2jut)-.5tiny)
+else: x3=x1-.5 fi;
+top y4r=h+1;
+if bot y4l-top y1<slab: y4l:=min(y4r-eps,y1+tiny+slab); fi
+x3=x4; y3=.5[y4l,y4r]; dot(3,4); % dot
+if serifs: sloped_serif.l(1,2,a,1/3,.95jut,serif_drop); % upper serif
+ dish_serif(2,1,b,1/3,jut,c,1/3,.9jut); fi % lower serif
+penlabels(1,2,3,4);
+currentpicture := currentpicture shifted ((24/22*size-w)/2, (23/22*size-asc_height)/2);
+endchar;
+
+cmchar "The letter j";
+numeric dot_diam#; dot_diam#=max(dot_size#,cap_curve#);
+beginchar("j",24/22size#,23/22size#,1/22size#);
+define_whole_blacker_pixels(dot_diam);
+italcorr h#*slant-serif_fit#+.5stem#-2u#;
+%adjust_fit(serif_fit#+2stem_shift# if monospace:+\\.5u# fi,serif_fit#-2stem_shift# if monospace:-.5u# fi);
+w:=5.5u;
+h:=min(asc_height,10/7x_height+.5dot_diam);
+d:=desc_depth;
+pickup tiny.nib; pos1(stem',0); pos2(stem',0);
+rt x1r=hround(.5w+.25u+.5stem'); x1=x2;
+top y1=x_height if serifs: +min(oo,serif_drop) fi; bot y2=-1/3d;
+filldraw stroke z1e--z2e; % stem
+pos3(dot_diam,0); pos4(dot_diam,90);
+x3r=x1r; top y4r=h+1;
+if bot y4l-top y1<slab: y4l:=min(y4r-eps,y1+tiny+slab); fi
+x3=x4; y3=.5[y4l,y4r]; dot(3,4); % dot
+if serifs: sloped_serif.l(1,2,a,1/3,1.1jut,serif_drop); % upper serif
+ pickup tiny.nib; pos5(vair,-90); pos6(hair,-180); pos7(flare,-180);
+ x5=.5[x2,x6r]; bot y5r=-d-oo; y6-.5flare=-.88d;
+ if monospace: lft x6r=0 else: z6r=z7r; rt x7l=floor .75u fi;
+ (x,y5r)=whatever[z5l,z2l]; x5r:=max(x,.5[x6r,x5]);
+ filldraw stroke z2e{down}...z5e{left}; bulb(5,6,7); % arc and bulb
+else: pickup fine.nib; pos2'(stem',0); z2'=z2;
+ pos6(.2[vair,stem'],-90); pos7(vair,-90);
+ lft x7r=hround -.75u; bot y7r=vround 5/6(-d-oo);
+ (x,y7l)=whatever[z7r,z3]; x7l:=x;
+ z5r=z2'r; (x2'l,y5l)=whatever[z7l,z5r]; x5l=x2'l; y5=y5r;
+ x6r=.5[x7r,x5r]; x6l:=.5[x7l,x5l]; bot y6r=-d-oo;
+ filldraw stroke z2'e..{down}z5e & super_arc.e(5,6)
+ & z6e{left}..z7e; fi % arc and terminal
+penlabels(1,2,3,4,5,6,7);
+currentpicture := currentpicture shifted ((24/22*size-w)/2, (23/22*size-asc_height)/2);
+endchar;
+
+cmchar "The letter k";
+beginchar("k",24/22size#,23/22size#,1/22size#);
+italcorr x_height#*slant-.2u#;
+%adjust_fit(serif_fit#,serif_fit#);
+w:=9.5u;
+h:=asc_height;
+d:=0;
+r:=w;
+pickup tiny.nib;
+numeric right_jut,stem[],alpha[];
+stem1=max(tiny.breadth,hround(fudged.stem-stem_corr));
+stem2=max(tiny.breadth,hround(fudged.stem-2stem_corr));
+stem3=max(tiny.breadth,hround(fudged.hair if hefty:-\\4stem_corr fi));
+stem4=max(tiny.breadth,hround(fudged.stem-3stem_corr));
+if serifs: right_jut=.6jut; else: right_jut=.4tiny; fi
+pos1(stem1,0); pos2(stem2,0); top y1=h; bot y2=0;
+lft x1l=lft x2l=hround(2.5u-.5stem1);
+top y3=x_height; rt x3r=hround(r-letter_fit-.7u-right_jut)+eps;
+bot y6=0; rt x6r=hround(r-letter_fit-.3u-right_jut)+eps;
+x4=x11=x1; y4=.7bar_height; y11=y3;
+alpha1=diag_ratio(1,.5(stem3-tiny),y3-y4,x3r-x4);
+alpha2=diag_ratio(1,.5(stem4-tiny),y11-y6,x6r-x1);
+penpos3(alpha1*(stem3-tiny),0); penpos4(whatever,-90);
+z5=.5[z5l,z5r]; penpos6(alpha2*(stem4-tiny),0);
+forsuffixes $=l,r: y3'$=x_height; y6'$=0; z4$=z3'$+whatever*(z3-z4);
+ z5$=z6'$+whatever*(z11-z6)=whatever[z3,z4]; endfor
+z3'r=z3r+penoffset z3-z4 of currentpen+whatever*(z3-z4);
+% we have also |z3'l=z3l+penoffset z4-z3 of currentpen+whatever*(z3-z4)|;\]
+z6'r=z6r+penoffset z11-z6 of currentpen+whatever*(z11-z6);
+z6'l=z6l+penoffset z6-z11 of currentpen+whatever*(z11-z6);
+fill z4r--diag_end(4r,3'r,1,.5,3'l,4l)--z4l--cycle; % upper diagonal
+fill z5l--diag_end(5l,6'l,.5,1,6'r,5r)--z5r--cycle; % lower diagonal
+pos0(stem1,0); pos0'(stem2,0); y0=y0'; x0=x1; x0'=x2;
+rt z0r=whatever[z3,z4]; filldraw stroke z1e..z0e--z0'e..z2e; % stem
+if serifs: numeric inner_jut;
+ if rt x2r+jut+.5u+1<=lft x6l-jut: inner_jut=jut;
+ else: rt x2r+inner_jut+.5u+1=lft x6l-inner_jut; fi
+ sloped_serif.l(1,0,a,1/3,jut,serif_drop); % upper stem serif
+ dish_serif(2,0',b,1/3,jut,c,1/3,inner_jut); % lower stem serif
+ dish_serif(3,4,d,2/3,1.4jut,e,1/2,right_jut)(dark); % upper diagonal serif
+ dish_serif(6,5,f,1/2,inner_jut,g,1/3,right_jut)(dark);fi % lower diagonal serif
+penlabels(0,1,2,3,4,5,6,11);
+currentpicture := currentpicture shifted ((24/22*size-w)/2, (23/22*size-asc_height)/2);
+endchar;
+
+cmchar "The letter l";
+beginchar("l",24/22size#,23/22size#,1/22size#);
+l_width#:=5u#+2serif_fit#;
+italcorr asc_height#*slant-serif_fit#+.5stem#-2u#;
+%adjust_fit(serif_fit#+stem_shift#,serif_fit#-stem_shift#);
+w:=5u;
+h:=asc_height;
+d:=0;
+pickup tiny.nib; pos1(stem',0); pos2(stem',0);
+if odd(w-stem'): change_width; fi
+lft x1l=hround(.5w-.5stem'); x1=x2; top y1=h; bot y2=0;
+filldraw stroke z1e--z2e; % stem
+if serifs: sloped_serif.l(1,2,a,1/3,jut,serif_drop); % upper serif
+ dish_serif(2,1,b,1/3,jut,c,1/3,jut); fi % lower serif
+penlabels(1,2);
+currentpicture := currentpicture shifted ((24/22*size-w)/2, (23/22*size-asc_height)/2);
+endchar;
+
+cmchar "The letter m";
+beginchar("m",24/22size#,23/22size#,1/22size#);
+italcorr .5[bar_height#,x_height#]*slant-serif_fit#+.5stem#-2u#;
+%adjust_fit(serif_fit#+stem_shift#,serif_fit#-stem_shift#);
+w:=15u;
+h:=x_height;
+d:=0;
+numeric shaved_stem; shaved_stem=hround(mfudged.stem-2stem_corr);
+pickup tiny.nib; pos1(mfudged.stem,0); pos2(mfudged.stem,0);
+pos1'(shaved_stem,0); pos2'(shaved_stem,0);
+pos3(mfudged.stem,0); pos5(mfudged.stem,0);
+lft x1l=hround(2.5u-.5stem); x1l=x1'l=x2l=x2'l; % stem, sic
+lft x3l=hround(.5w-.5mfudged.stem); x5-x3=x3-x1;
+if not monospace: r:=hround(x5+x1)+r-w; fi % change width for better fit
+top y1=h+min(oo,serif_drop); bot y2=0; y1=y1'; y2=y2';
+filldraw stroke z1'e--z2'e; % left stem
+h_stroke(2,a,3,4); % left arch and middle stem
+h_stroke(4,b,5,6); % right arch and right stem
+if serifs: sloped_serif.l(1',2',c,1/3,jut,serif_drop); % upper left serif
+ numeric inner_jut; pickup tiny.nib;
+ if rt x2r+jut+.5u+1<=lft x4l-jut: inner_jut=jut;
+ else: rt x2r+jut+.5u+1=lft x4l-inner_jut; fi
+ dish_serif(2,1,d,1/3,jut,e,1/3,jut); % lower left serif
+ dish_serif(4,3,f,1/3,inner_jut,g,1/3,jut); % lower middle serif
+ dish_serif(6,5,h,1/3,inner_jut,i,1/3,jut); fi % lower right serif
+penlabels(1,2,3,4,5,6);
+currentpicture := currentpicture shifted ((24/22*size-w)/2, (23/22*size-asc_height)/2);
+endchar;
+
+cmchar "The letter n";
+beginchar("n",24/22size#,23/22size#,1/22size#);
+italcorr .5[bar_height#,x_height#]*slant-serif_fit#+.5stem#-2u#;
+%adjust_fit(serif_fit#+stem_shift#,serif_fit#-stem_shift#);
+w:=10u;
+h:=x_height;
+d:=0;
+pickup tiny.nib; pos1(stem,0); pos2(stem,0);
+numeric shaved_stem; shaved_stem=hround(stem-2stem_corr);
+pos1'(shaved_stem,0); pos2'(shaved_stem,0); pos3(stem,0);
+lft x1l=hround(2.5u-.5stem); x1l=x1'l=x2l=x2'l; x3=w-x1;
+top y1=h+min(oo,serif_drop); bot y2=0; y1=y1'; y2=y2';
+filldraw stroke z1'e--z2'e; % left stem
+h_stroke(2,a,3,4); % arch and right stem
+if serifs: sloped_serif.l(1',2',b,1/3,jut,serif_drop); % upper left serif
+ numeric inner_jut; pickup tiny.nib;
+ if rt x2r+jut+.5u+1<=lft x4l-jut: inner_jut=jut;
+ else: rt x2r+jut+.5u+1=lft x4l-inner_jut; fi
+ dish_serif(2,1,c,1/3,jut,d,1/3,jut); % lower left serif
+ dish_serif(4,3,e,1/3,inner_jut,f,1/3,jut); fi % lower right serif
+penlabels(1,2,3,4);
+currentpicture := currentpicture shifted ((24/22*size-w)/2, (23/22*size-asc_height)/2);
+endchar;
+
+cmchar "The letter o";
+beginchar("o",24/22size#,23/22size#,1/22size#);
+italcorr .7x_height#*slant;
+%adjust_fit(if monospace: .5u#,.5u# else: 0,0 fi);
+w:=9u;
+h:=x_height;
+d:=0;
+penpos1(vair,90); penpos3(vair',-90);
+penpos2(curve,180); penpos4(curve,0);
+x2r=hround max(.5u,1.25u-.5curve);
+x4r=w-x2r; x1=x3=.5w; y1r=h+vround 1.5oo; y3r=-oo;
+y2=y4=.5h-vair_corr; y2l:=y4l:=.52h;
+penstroke pulled_arc.e(1,2) & pulled_arc.e(2,3)
+ & pulled_arc.e(3,4) & pulled_arc.e(4,1) & cycle; % bowl
+penlabels(1,2,3,4);
+currentpicture := currentpicture shifted ((24/22*size-w)/2, (23/22*size-asc_height)/2);
+endchar;
+
+cmchar "The letter p";
+beginchar("p",24/22size#,23/22size#,1/22size#);
+italcorr .5x_height#*slant+min(.5curve#-.85u#,-.1u#);
+%adjust_fit(serif_fit#,0);
+w:=10u+serif_fit;
+h:=x_height;
+d:=desc_depth;
+pickup tiny.nib; pos1(stem',0); pos2(stem,0);
+pos0'(stem',0); pos0(stem,0); z0l=z0'l; x0'=x1; x0=x2;
+lft x1l=hround(2.5u-.5stem'); top y1=h if serifs: +min(oo,serif_drop) fi;
+numeric edge; edge=rt x2r;
+pickup fine.nib; pos3(if hefty:thin_join else: hair fi,180);
+pos4(vair',90); pos5(curve,0); pos6(vair,-90); penpos7(x3l-x3r,-180);
+rt x3l=max(rt x3l-(lft x3r-tiny.lft x2l), 1/3[rt x2,edge]);
+y3=1/8[bar_height,x_height];
+x4l=w-.5(w-serif_fit)+.5u; top y4r=x_height+oo;
+rt x5r=hround min(w-1.35u+.5curve,w-.6u); y5=.5x_height;
+x6l=x4l-.2u; bot y6r=-oo;
+x7=x3; y7=min(y3,y6+y4-y3+.6vair);
+(x,y4r)=whatever[z3l,z4l]; x4r:=min(x,.5[x5r,x4]);
+(x',y6r)=whatever[z7l,z6l]; x6r:=min(x',.5[x5r,x6]);
+filldraw stroke z3e{up}...{right}z4e&super_arc.e(4,5)
+ &super_arc.e(5,6)&z6e{left}...{up}z7e; % bowl
+y0=ypart(((edge,h)--(edge,0))intersectionpoint(z3l{up}...{right}z4l));
+pickup tiny.nib; bot y2=-d;
+filldraw stroke z1e--z0'e--z0e--z2e; % stem
+pickup crisp.nib; pos8(hair,0); pos7'(stem,0);
+z7'=z2; x8l=x7'l; bot y8=0;
+filldraw stroke z7'e--z8e; % point
+if serifs: sloped_serif.l(1,0',a,1/3,jut,serif_drop); % upper serif
+ dish_serif(2,0,b,1/3,jut,c,1/3,jut); fi % lower serif
+penlabels(0,1,2,3,4,5,6,7,8);
+currentpicture := currentpicture shifted ((24/22*size-w)/2, (23/22*size-asc_height)/2);
+endchar;
+
+cmchar "The letter q";
+beginchar("q",24/22size#,23/22size#,1/22size#);
+italcorr x_height#*slant-serif_fit#+.5stem#-2u# if serifs:+.5u# fi;
+%adjust_fit(0,serif_fit# if serifs: -.5u# fi);
+w:=10u+serif_fit;
+h:=x_height;
+d:=desc_depth;
+pickup tiny.nib; pos1(stem',0); pos2(stem,0);
+pos0'(stem',0); pos0(stem,0); z0r=z0'r; x0'=x1; x0=x2;
+rt x1r=hround(w-2.5u+.5stem');
+numeric edge; edge=lft x2l;
+pickup fine.nib; pos3(if hefty:thin_join else: hair fi,0);
+pos4(vair',90); pos5(curve,180); pos6(vair,270); penpos7(x3r-x3l,360);
+lft x3l=min(lft x3l-(rt x3r-tiny.rt x2r),2/3[lft x2,edge]); y3=bar_height;
+x4l=.5(w-serif_fit)-.3u; top y4r=x_height+oo;
+lft x5r=hround max(1.35u-.5curve,.6u); y5=.5x_height;
+x6l=x4l-.2u; bot y6r=-oo; y7=min(y3,y6+y4-y3+.6vair);
+lft x7l=min(lft x7l-(rt x7r-tiny.rt x2r),1/3[lft x2,edge]);
+(x,y4r)=whatever[z3l,z4l]; x4r:=max(x,.5[x5r,x4]);
+(x',y6r)=whatever[z7l,z6l]; x6r:=max(x',.5[x5r,x6]);
+filldraw stroke z3e{up}...{left}z4e&super_arc.e(4,5)
+ &super_arc.e(5,6)&z6e{right}...{up}z7e; % bowl
+y1=ypart(((edge,h)--(edge,0))intersectionpoint(z3l{up}...{left}z4l));
+y0=ypart(((edge,h)--(edge,0))intersectionpoint(z6l{right}...{up}z7l));
+pickup tiny.nib; bot y2=-d;
+filldraw stroke z1e--z0'e--z0e--z2e; % stem
+pickup crisp.nib;
+pos8(hround(hair-stem_corr),0); pos7'(stem',0);
+z7'=z1; x8r=x7'r; top y8=h+oo;
+filldraw stroke z7'e--z8e; % point
+if serifs: dish_serif(2,0,b,1/3,jut,c,1/3,jut); fi % lower serif
+penlabels(0,1,2,3,4,5,6,7,8);
+currentpicture := currentpicture shifted ((24/22*size-w)/2, (23/22*size-asc_height)/2);
+endchar;
+
+cmchar "The letter r";
+numeric r_flare#; r_flare#=.75[if serifs: stem# else: vair# fi,flare#];
+define_whole_blacker_pixels(r_flare);
+beginchar("r",24/22size#,23/22size#,1/22size#);
+italcorr x_height#*slant if not serifs: +.25u# fi;
+%adjust_fit(serif_fit#,0);
+w:=if serifs:max(7u,5.5u+r_flare) else:6.5u fi;
+h:=x_height;
+d:=0;
+pickup fine.nib; top y4r=h+oo;
+if serifs: pos4(vair,90); pos5(hair,0);
+ x4=w-max(1.75u,.25u+r_flare);
+ rt x5r=hround(w-.5u+.5); y5+.5r_flare=.9[bar_height,h]+oo;
+ pos6(r_flare,0); bulb(4,5,6); % bulb
+else: pos4(r_flare,90); rt x4=hround(w-.25u); fi
+pos3(thin_join,180); rt x3l=hround(2.5u-.5stem')+stem'; top y3=bar_height;
+filldraw stroke z3e{up}...{right}z4e; % arc
+pickup tiny.nib; pos0(stem',0); pos2(stem',0);
+pos1(hround(stem-3stem_corr),0); top y1=h+min(oo,serif_drop);
+pos0'(hround(stem-3stem_corr),0); y0=y0'=y3; x1l=x0l=x0'l=x2l;
+lft x1l=hround(2.5u-.5stem'); bot y2=0;
+filldraw stroke z1e--z0'e--z0e--z2e; % stem
+if serifs: sloped_serif.l(1,0',a,1/3,jut,serif_drop); % upper serif
+ dish_serif(2,0,b,1/3,jut,c,1/3,1.25jut); fi % lower serif
+penlabels(1,2,3,4,5,6);
+currentpicture := currentpicture shifted ((24/22*size-w)/2, (23/22*size-asc_height)/2);
+endchar;
+
+cmchar "The letter s";
+beginchar("s",24/22size#,23/22size#,1/22size#);
+italcorr x_height#*slant-if serifs:.55u# else:.3u# fi;
+%adjust_fit(if monospace: .5u#,.4u# else: 0,if serifs:0 else:-.2u# fi fi);
+w:=7.1u;
+h:=x_height;
+d:=0;
+numeric theta; theta=90-angle(40u,h); slope:=-h/40u; % angle at middle
+numeric s_slab; s_slab=if serifs:vair else:Vround .1[vair,stem] fi;
+numeric ess'; ess'=max(fine.breadth,ess);
+pickup fine.nib; pos2(max(fine.breadth,s_slab-vround vair_corr),-100);
+pos0(ess',theta); pos7(s_slab,-90); x2l=x0=x7=.5w;
+top y2l=h+vround 1.5oo; bot y7r=-oo;
+y0-.5ess'=y7l+if serifs:.54 else: .52 fi\\(y2r-y7l-ess');
+lft x3l=hround .6u; rt x6r=hround(w-.6u);
+x3r-x3l=x6r-x6l=hround .5[s_slab,ess']-fine;
+ellipse_set(2l,3l,4l,0l); ellipse_set(2r,3r,4r,0r); y3=y3r;
+ellipse_set(7l,6l,5l,0l); ellipse_set(7r,6r,5r,0r); y6=y6r;
+interim superness:=more_super;
+filldraw stroke super_arc.e(2,3) & z3e{down}
+ ..z4e---z5e..z6e{down} & super_arc.e(6,7); % main stroke
+if serifs: pos1(hair,180); pos8(hair,180);
+ rt x1l=hround(w-1.05u); lft x8r=hround .6u;
+ bot y1=min(bot y2r,vround 1/5[top y5r,h]);
+ top y8=max(top y7l,vround 5/6 bot y4l);
+ filldraw stroke z1e{up}....{left}z2e; % upper arc
+ filldraw stroke z7e{left}....{x8-x7,5(y8-y7)}z8e; % lower arc
+ path upper_arc, lower_arc;
+ upper_arc=z1{up}....{left}z2; lower_arc=z7{left}....{x8-x7,5(y8-y7)}z8;
+ pos10(.3[fine.breadth,cap_hair],0); pos9(.3[fine.breadth,cap_hair],0);
+ x10r=x1l; top y10=top y2l; x9l=x8r; bot y9=bot y7r;
+ x1l-x1'=x8'-x8r=1.6cap_curve-fine; y1'=y1; y8'=y8;
+ numeric t; t=xpart(upper_arc intersectiontimes(z10l--z1'));
+ filldraw z1l--z10r--z10l--subpath(t,0) of upper_arc--cycle; % upper barb
+ t:=xpart(lower_arc intersectiontimes(z9r--z8'));
+ filldraw z8r--z9l--z9r--subpath(t,1) of lower_arc--cycle; % lower barb
+else: pos1(4/7[s_slab,flare],-100); pos8(flare,-100);
+ x1l=good.x(x1l+w-u-rt x1); lft x8r=hround .5u;
+ top y1l=vround(.93h+1.5oo); bot y8r=vround .1h-oo;
+ filldraw stroke term.e(2,1,right,.9,4); % upper arc and terminal
+ filldraw stroke term.e(7,8,left,1,4); fi % lower arc and terminal
+penlabels(0,1,1',2,3,4,5,6,7,8,8',9,10);
+currentpicture := currentpicture shifted ((24/22*size-w)/2, (23/22*size-asc_height)/2);
+endchar;
+
+cmchar "The letter t";
+beginchar("t",24/22size#,23/22size#,1/22size#);
+italcorr x_height#*slant if serifs: -.9u# else: -.4u# fi;
+%adjust_fit(0,if serifs: 0 else: -.5u# fi);
+w:=6u+max(u,.5stem);
+h:=min(asc_height,if hefty:9/7 else:10/7 fi\\ x_height);
+d:=0;
+numeric shaved_stem; shaved_stem=hround(stem if hefty:-\\2stem_corr fi);
+pickup fine.nib; pos2(shaved_stem,180);pos3(shaved_stem,180);
+lft x2r=lft x3r=hround(2.5u-.5shaved_stem);
+y2=y8; y3=max(.5bar_height,2vair);
+pickup crisp.nib; pos8(bar,90);
+rt x8=hround(w-1.3u); top y8r=x_height; lft x7=hround 1/3u; y7l=y8l;
+if hefty: pos7(bar,90);
+ filldraw stroke z7e--z8e; % crossbar
+ pickup tiny.nib; pos1(hround(shaved_stem-stem_corr),0);
+ rt x1r=fine.rt x2l; top y1=h;
+ penpos2'(x1r-x1l,0); x2'=x1; y2'=y2;
+ filldraw stroke z1e--z2'e; % upper terminal
+else: pos7(vair,90); pos1(hair,0);
+ rt x1r=fine.rt x2l; top y1=h;
+ filldraw z1l{down}...{left}z7r--z7l--z8l
+ --z8r--(x1r,y8r)--z1r--cycle; fi % upper terminal and crossbar
+pickup fine.nib; interim superness:=more_super;
+pos4(vair',-90); bot y4r=-oo; rt x5r=hround(w-u);
+if serifs: pos5(hair,0); y5=y3; x4l=.5[x3l,x5l];
+ (x,y4r)=whatever[z4l,z5l]; x4r:=max(x,.5[x3r,x4]);
+ filldraw stroke z2e..super_arc.e(3,4)...{up}z5e; % stem and hook
+ pickup crisp.nib; pos6(hair,0); pos5'(hair,0);
+ x6=x5=x5'; top y6=max(vround .75bar_height,top y5); y5=y5';
+ filldraw stroke z5'e--z6e; % terminal
+else: pos5(vair,-75); top y5l=vround .2[top y4l,bar_height];
+ x5l:=good.x x5l; x4l=1/3[x3l,x5l]; x4r:=1/3[x3r,x5r]; y3l:=y3l+.2vair;
+ filldraw stroke z2e..super_arc.e(3,4); % stem and hook
+ path p; p=stroke z4e{right}..tension .9 and atleast 1..z5e; % terminal
+ if (xpart(z5l-precontrol 1 of p)<0) or (xpart(z5r-postcontrol 2 of p)<0):
+ filldraw stroke z4e{right}...{up}z5e;
+ else: filldraw p; fi fi;
+penlabels(1,2,3,4,5,6,7,8);
+currentpicture := currentpicture shifted ((24/22*size-w)/2, (23/22*size-asc_height)/2);
+endchar;
+
+cmchar "The letter u";
+beginchar("u",24/22size#,23/22size#,1/22size#);
+italcorr x_height#*slant-serif_fit#+.5stem#-2u#;
+%adjust_fit(serif_fit#+stem_shift#,serif_fit#-stem_shift#);
+w:=10u;
+h:=x_height;
+d:=0;
+numeric light_vair; light_vair=vair if hefty: -vround 2vair_corr fi;
+if light_vair<fine.breadth: light_vair:=fine.breadth; fi
+pickup tiny.nib; pos1(stem,0); pos2(stem,0);
+pos3(stem,0); pos4(stem',0);
+lft x1l=hround(2.5u-.5stem); x1=x2; x3=w-x1; x3r=x4r;
+if serifs: top y1=h+min(oo,serif_drop); bot y4=-min(oo,serif_drop);
+else: top y1=h; bot y4=0; fi
+pos0(stem,0); pos0'(stem',0); x0=x3; x0'=x4; y0=y0';
+penpos2'(stem-fine,-180); z2'=z2; y3=y1; y2=.5bar_height;
+penpos5(max(eps,light_vair-fine),-90); penpos6(thin_join-fine,0);
+y6=y0=2/3bar_height;
+filldraw stroke z1e--z2e; % left stem
+filldraw stroke z3e..z0e--z0'e..z4e; % right stem
+pickup fine.nib; bot y5r=-oo; x5l=.5w-.25u; lft x6l=tiny.lft x0l;
+(x,y5r)=whatever[z5l,z6l]; x5r:=max(x,.5[x5,x2'r]);
+filldraw stroke {{interim superness:=hein_super;
+ pulled_arc.e(2',5)}} & z5e{right}...{up}z6e; % arc
+if serifs: sloped_serif.l(1,2,a,1/3,jut,serif_drop); % upper left serif
+ sloped_serif.l(3,0,b,1/3,jut,serif_drop); % upper right serif
+ sloped_serif.r(4,0',c,1/3,jut,min(oo,serif_drop)); fi % lower right serif
+penlabels(1,2,3,4,5); labels(6);
+currentpicture := currentpicture shifted ((24/22*size-w)/2, (23/22*size-asc_height)/2);
+endchar;
+
+cmchar "The letter v";
+beginchar("v",24/22size#,23/22size#,1/22size#);
+italcorr x_height#*slant+.25u#;
+%adjust_fit(serif_fit# if monospace:+\\.5u#,.5u#+ else:,fi\\ serif_fit#);
+w:=if serifs: 9.5u else:9u fi;
+h:=x_height;
+d:=0;
+numeric left_stem,right_stem,outer_jut,alpha;
+left_stem=fudged.stem-stem_corr;
+right_stem=min(fudged.hair if hefty:-2stem_corr fi,left_stem);
+outer_jut=.75jut; x1l=w-x4r=l+letter_fit+outer_jut+.25u; y1=y4=h;
+x2-x1=x4-x3; x2l+apex_corr=x3l; y2=y3=-apex_oo;
+alpha=diag_ratio(2,right_stem,y1-y2,x4r-x1l-apex_corr);
+penpos1(alpha*left_stem,0); penpos2(alpha*left_stem,0);
+penpos3(alpha*right_stem,0); penpos4(alpha*right_stem,0);
+z0=whatever[z1r,z2r]=whatever[z3l,z4l];
+if y0>notch_cut: y0:=notch_cut;
+ fill z0+.5right{up}...{z4-z3}diag_end(3l,4l,1,1,4r,3r)
+ --diag_end(4r,3r,1,1,2l,1l)--diag_end(2l,1l,1,1,1r,2r){z2-z1}
+ ...{down}z0+.5left--cycle; % left and right diagonals
+else: fill z0--diag_end(0,4l,1,1,4r,3r)--diag_end(4r,3r,1,1,2l,1l)
+ --diag_end(2l,1l,1,1,1r,0)--cycle; fi % left and right diagonals
+if serifs: numeric inner_jut; pickup tiny.nib;
+ prime_points_inside(1,2); prime_points_inside(4,3);
+ if rt x1'r+jut+.5u+1<=lft x4'l-jut: inner_jut=jut;
+ else: rt x1'r+inner_jut+.5u+1=lft x4'l-inner_jut; fi
+ dish_serif(1',2,a,1/3,outer_jut,b,1/2,inner_jut); % left serif
+ dish_serif(4',3,c,.6,inner_jut,d,1/2,outer_jut)(dark); fi % right serif
+penlabels(0,1,2,3,4);
+currentpicture := currentpicture shifted ((24/22*size-w)/2, (23/22*size-asc_height)/2);
+endchar;
+
+cmchar "The letter w";
+beginchar("w",24/22size#,23/22size#,1/22size#);
+italcorr x_height#*slant+.25u#;
+%adjust_fit(serif_fit#,serif_fit#);
+w:=13u;
+h:=x_height;
+d:=0;
+numeric stem[],outer_jut,upper_notch,alpha,mid_corr;
+outer_jut=.7jut; x1l=w-x8r=l+letter_fit+outer_jut+.25u;
+stem1=fudged.stem-stem_corr;
+stem4=min(fudged.hair if hefty:-2stem_corr fi,stem1);
+stem2=if hefty:.1[vair,stem4] else: stem4 fi;
+stem3=max(stem2,stem1-3stem_corr);
+x2-x1=x4-x3=x6-x5=x8-x7; x2l+apex_corr=x3l; x6l+apex_corr=x7l;
+y1=y8=h; y2=y3=y6=y7=-apex_oo;
+y4=y5=if monospace: vround .6 fi\\ h; upper_notch=y4-notch_cut;
+mid_corr=if monospace or hefty:-.3apex_corr else: .5jut fi;
+alpha=diag_ratio(4,stem2-stem3+stem4,y1-y2,x8r-x1l+mid_corr-2apex_corr);
+penpos1(alpha*stem1,0); penpos2(alpha*stem1,0);
+penpos3(alpha*stem2,0); penpos4(alpha*stem2,0);
+penpos5(alpha*stem3,0); penpos6(alpha*stem3,0);
+penpos7(alpha*stem4,0); penpos8(alpha*stem4,0);
+x4l-x1l=floor(x4l-x1l+.5(x5r+mid_corr-x4r)); % |x5r| $\approx$ |x4r+mid_corr|
+z23=whatever[z1r,z2r]=whatever[z3l,z4l];
+z45=whatever[z3r,z4r]=whatever[z5l,z6l];
+z67=whatever[z5r,z6r]=whatever[z7l,z8l];
+fill diag_end(1l,2l,1,1,3r,4r){z4-z3}
+ ...if y45<upper_notch:(x45,upper_notch)+.5left{up}
+ --(x45,upper_notch)+.5right{down} else: z45&z45 fi
+ ...{z6-z5}diag_end(5l,6l,1,1,7r,8r)--diag_end(7r,8r,1,1,8l,7l){z7-z8}
+ ...if y67>notch_cut:(x67,notch_cut)+.5right{down}
+ --(x67,notch_cut)+.5left{up} else: z67&z67 fi
+ ...{z5-z6}special_diag_end(6,5,4,3){z3-z4}
+ ...if y23>notch_cut:(x23,notch_cut)+.5right{down}
+ --(x23,notch_cut)+.5left{up} else: z23&z23 fi
+ ...{z1-z2}diag_end(2r,1r,1,1,1l,2l)--cycle; % diagonals
+if serifs: numeric inner_jut[]; pickup tiny.nib;
+ prime_points_inside(1,2); prime_points_inside(5,6); prime_points_inside(8,7);
+ if monospace: inner_jut1=inner_jut4=1.5jut;
+ elseif hefty: inner_jut1=inner_jut4=jut;
+ else: fill diag_end(6r,5r,1,1,5l,6l)--.9[z5l,z6l]
+ ..{z5-z6}.1[z5r,z6r]--cycle; % middle stem
+ inner_jut2=.7inner_jut1; inner_jut4=1.1inner_jut3;
+ if rt x1'r+jut+.5u+1<=lft x5'l-.7jut: inner_jut1=jut;
+ else: rt x1'r+inner_jut1+.5u+1=lft x5'l-inner_jut2; fi
+ if rt x5'r+jut+.5u+1<=lft x8'l-1.1jut: inner_jut3=jut;
+ else: rt x5'r+inner_jut3+.5u+1=lft x8'l-inner_jut4; fi
+ dish_serif(5',6,e,1/3,inner_jut2,f,1/2,inner_jut3); fi % middle serif
+ dish_serif(1',2,a,1/3,outer_jut,b,1/2,inner_jut1); % left serif
+ dish_serif(8',7,c,.6,inner_jut4,d,1/2,outer_jut)(dark); fi % right serif
+penlabels(0,1,2,3,4,5,6,7,8,23,45,67);
+currentpicture := currentpicture shifted ((24/22*size-w)/2, (23/22*size-asc_height)/2);
+endchar;
+
+cmchar "The letter x";
+beginchar("x",24/22size#,23/22size#,1/22size#);
+italcorr x_height#*slant-.05u#;
+%adjust_fit(serif_fit# if monospace:+\\.5u#,.5u#+ else:,fi\\ serif_fit#);
+w:=if serifs:9.5u else:9u fi;
+h:=x_height;
+d:=0;
+r:=w;
+numeric stem[],outer_jut,xjut,alpha[];
+stem1=fudged.stem-4stem_corr; stem2=min(fudged.hair,stem1);
+outer_jut=.75jut; xjut= if serifs: (stem1-stem2)/4 else: 0 fi;
+x1l=l+letter_fit+.1u+outer_jut; x2r=r-letter_fit-.3u-outer_jut-xjut;
+x3l=l+letter_fit+outer_jut+xjut; x4r=r-letter_fit-outer_jut;
+y1=y2=h; y3=y4=0;
+alpha1=diag_ratio(1,stem1,h,x4r-x1l);
+alpha2=diag_ratio(1,stem2,h,x2r-x3l);
+penpos1(alpha1*stem1,0); penpos2(alpha2*stem2,0);
+penpos3(alpha2*stem2,0); penpos4(alpha1*stem1,0);
+if hefty: z0=whatever[z1,z4]=whatever[z2,z3];
+ x12=x34=x0; y13=y24=y0;
+ z12=whatever[z2l,z3l]; z13=whatever[z2l,z3l];
+ z24=whatever[z2r,z3r]; z34=whatever[z2r,z3r];
+ forsuffixes $=13,24,34: z$'=.2[z$,z0]; endfor
+ fill diag_end(12,1r,.5,1,1l,13')--z13'--diag_end(13',3l,1,.5,3r,34')--z34'
+ --diag_end(34',4l,.5,1,4r,24')--z24'
+ --diag_end(24',2r,1,.5,2l,12)--z12--cycle; % diagonals
+else: fill diag_end(4r,1r,.5,1,1l,4l)
+ --diag_end(1l,4l,.5,1,4r,1r)--cycle; % left diagonal
+ fill diag_end(2l,3l,.5,1,3r,2r)
+ --diag_end(3r,2r,.5,1,2l,3l)--cycle; fi % right diagonal
+if serifs: numeric inner_jut[]; pickup tiny.nib;
+ prime_points_inside(1,4); prime_points_inside(2,3);
+ prime_points_inside(3,2); prime_points_inside(4,1);
+ if rt x1'r+jut+.5u+1<=lft x2'l-jut-xjut: inner_jut1=jut;
+ else: rt x1'r+inner_jut1+.5u+1=lft x2'l-inner_jut1-xjut; fi
+ if rt x3'r+jut+.5u+1<=lft x4'l-jut-xjut: inner_jut2=jut;
+ else: rt x3'r+inner_jut2+.5u+1=lft x4'l-inner_jut2-xjut; fi
+ dish_serif(1',4,a,1/3,outer_jut,b,2/3,inner_jut1); % upper left serif
+ dish_serif(4',1,c,2/3,inner_jut2,d,1/3,outer_jut); % lower right serif
+ dish_serif(2',3,e,2/3,inner_jut1+xjut,
+ f,1/2,outer_jut+xjut)(dark); % upper right serif
+ dish_serif(3',2,g,1/2,outer_jut+xjut,
+ h,2/3,inner_jut2+xjut)(dark); fi % lower left serif
+penlabels(0,1,2,3,4,12,13,24,34);
+currentpicture := currentpicture shifted ((24/22*size-w)/2, (23/22*size-asc_height)/2);
+endchar;
+
+cmchar "The letter y";
+beginchar("y",24/22size#,23/22size#,1/22size#);
+italcorr x_height#*slant+.25u#;
+%adjust_fit(serif_fit# if monospace:+\\.5u#,.5u#+ else:,fi\\ serif_fit#);
+w:=if serifs:9.5u else:9u fi;
+h:=x_height;
+d:=desc_depth;
+numeric left_stem,right_stem,bot_stem,bot_vair,outer_jut;
+left_stem=fudged.stem-stem_corr;
+right_stem=fudged.hair if hefty:-2stem_corr fi;
+bot_stem=fudged.hair if hefty:-8stem_corr fi;
+bot_vair=Vround(if serifs: vair else:.5[vair,bot_stem] fi);
+outer_jut=.75jut;
+x1l=w-x4r=l+letter_fit+outer_jut+.25u; y1=y4r=h; y2=y3=0; x2l=x3l;
+numeric alpha,alpha[]; x9=3u; y9=bot_vair-d-oo;
+alpha1=diag_ratio(2,bot_stem,y1-y3,x4r-x1l-apex_corr);
+alpha2=diag_ratio(1,bot_stem,y1-y9,x4r-x9);
+if alpha1<alpha2: x2l-x1l=x4r-x3r+apex_corr; alpha=alpha1;
+else: alpha=alpha2; z3l=whatever[z9,z4r-(alpha*bot_stem,0)]; fi
+penpos3(alpha*bot_stem,0); penpos4(alpha*right_stem,0);
+alpha3=(y1++(x2l-x1l))/y1;
+penpos1(alpha3*left_stem,0); penpos2(alpha3*left_stem,0);
+z0=whatever[z1r,z2r]=z4l+whatever*(z3r-z4r);
+if y0>notch_cut: y0:=notch_cut;
+ fill z0+.5right{up}...{z4r-z3r}diag_end(0,4l,1,1,4r,3r)
+ --z3r--z2l--diag_end(2l,1l,1,1,1r,2r){z2-z1}
+ ...{down}z0+.5left--cycle; % left and right diagonals
+else: fill z0--diag_end(0,4l,1,1,4r,3r)--z3r--z2l
+ --diag_end(2l,1l,1,1,1r,0)--cycle; fi % left and right diagonals
+penpos5(alpha*bot_stem,0); z5r=whatever[z3r,z4r]; y5-.5vair=-.5d;
+if serifs: numeric light_bulb; light_bulb=hround 7/8[hair,flare]; clearpen;
+ penpos6(vair,-90); penpos7(hair,-180); penpos8(light_bulb,-180);
+ x6=2u; y6r=-d-oo; y8-.5light_bulb=-.85d; x8r=hround .35u;
+ fill stroke z3e---z5e...{left}z6e; bulb(6,7,8); % arc and bulb
+ numeric inner_jut; pickup tiny.nib;
+ prime_points_inside(1,2); prime_points_inside(4,3);
+ if rt x1'r+jut+.5u+1<=lft x4'l-jut: inner_jut=jut;
+ else: rt x1'r+inner_jut+.5u+1=lft x4'l-inner_jut; fi
+ dish_serif(1',2,a,1/3,outer_jut,b,1/2,inner_jut); % left serif
+ dish_serif(4',3,c,.6,inner_jut,d,1/2,outer_jut)(dark); % right serif
+else: penpos6(bot_vair,-90); x6=2.5u; y6r=-d-oo;
+ fill stroke z3e---z5e...{left}z6e; % arc
+ pickup fine.nib; pos6'(bot_vair,-90); z6'=z6;
+ pos7(2/3[bot_vair,flare],-85);
+ lft x7l=hround u; bot y7r=vround-.96d-oo; y7l:=good.y y7l;
+ filldraw stroke term.e(6',7,left,1,4); fi % arc and terminal
+penlabels(0,1,2,3,4,5,6,7,8,9);
+currentpicture := currentpicture shifted ((24/22*size-w)/2, (23/22*size-asc_height)/2);
+endchar;
+
+cmchar "The letter z";
+beginchar("z",24/22size#,23/22size#,1/22size#);
+italcorr x_height#*slant-.5serif_fit#-.3u#;
+%adjust_fit(0,.5serif_fit#);
+w:=8u;
+h:=x_height;
+d:=0;
+numeric arm_thickness[],z_stem;
+if hefty: arm_thickness1=Vround(vair-vair_corr); arm_thickness2=vair;
+ z_stem=.6[vair,stem];
+else: arm_thickness1=vair; arm_thickness2=vair'; z_stem=.9[vair,stem]; fi
+pickup tiny.nib; rt x1r=rt x2r=hround(w-.8u); lft x3l=lft x4l=hround .5u;
+top y1=h; y2=min(y1,h-2/3arm_thickness1);
+bot y4=0; y3=max(y4,2/3arm_thickness2);
+numeric alpha; alpha=diag_ratio(1,z_stem-tiny,y2-y3,x2r-x3l-slant*(y2-y3));
+penpos1(alpha*(z_stem-tiny),0); penpos2(alpha*(z_stem-tiny),0);
+penpos3(alpha*(z_stem-tiny),0); penpos4(alpha*(z_stem-tiny),0);
+pair delta; delta=penoffset z3-z2 of currentpen;
+fill top lft z1l--z2l+delta---z3l+delta..lft z3l---lft z4l..bot z4l
+ ---bot rt z4r--z3r-delta---z2r-delta..rt z2r---rt z1r..top z1r
+ ---cycle; % diagonal
+pickup crisp.nib; pos5(arm_thickness1,90); pos6(hair,180);
+top y5r=h; x5=x1; lft x6r=hround .75u; y6=good.y(y5l-beak/1.4)-eps;
+arm(5,6,a,beak_darkness,-.4beak_jut); % upper arm and beak
+pos7(arm_thickness2,-90); pos8(hair,0);
+bot y7r=0; x7=x4; rt x8r=hround(w-.75u); y8=good.y(y7l+beak/1.2)+eps;
+arm(7,8,b,beak_darkness,.6beak_jut); % lower arm and beak
+penlabels(1,2,3,4,5,6,7,8);
+currentpicture := currentpicture shifted ((24/22*size-w)/2, (23/22*size-asc_height)/2);
+endchar;
diff --git a/fonts/igo/fonts/igowhitei.mf b/fonts/igo/fonts/igowhitei.mf
new file mode 100644
index 0000000000..f3ff4f074c
--- /dev/null
+++ b/fonts/igo/fonts/igowhitei.mf
@@ -0,0 +1,1342 @@
+mode_setup;
+
+define_pixels(size);
+define_pixels(line_thickness,border_line_thickness);
+define_pixels(dig_h,dig_w,dig_pen);
+
+picture digit[];
+picture white_circle;
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+def digit_zero =
+ currentpicture := nullpicture;
+ pickup pencircle scaled dig_pen;
+ lft x1=0; y1=.5dig_h;
+ x2=.5dig_w; top y2=dig_h;
+ rt x3=dig_w; y3=.5dig_h;
+ x4=.5dig_w; bot y4=0;
+ draw z1...z2...z3...z4...cycle;
+ digit[0] := currentpicture;
+ clearxy; clearit; clearpen;
+enddef;
+
+def digit_one =
+ currentpicture := nullpicture;
+ pickup pencircle scaled dig_pen;
+ x1=.5dig_w; bot y1=0;
+ x2=.5dig_w; top y2=dig_h;
+ draw z1--z2;
+ digit[1] := currentpicture;
+ clearxy; clearit; clearpen;
+enddef;
+
+def digit_two =
+ currentpicture := nullpicture;
+ pickup pencircle scaled dig_pen;
+ lft x1=0; y1=.75dig_h;
+ x2=.5dig_w; top y2=dig_h;
+ rt x3=.8dig_w; y3=.9dig_h;
+ lft x4=0; bot y4=0;
+ draw z1{up}...z2...z3..{(-.8dig_w,-dig_h)}z4;
+ z5=z4;
+ rt x6=dig_w; bot y6=0;
+ draw z5--z6;
+ digit[2] := currentpicture;
+ clearxy; clearit; clearpen;
+enddef;
+
+def digit_three =
+ currentpicture := nullpicture;
+ pickup pencircle scaled dig_pen;
+ lft x1=.08dig_w; y1=.8dig_h;
+ x2=.5dig_w; top y2=dig_h;
+ rt x3=.92dig_w; y3=y1;
+ z4=(.5dig_w,.52dig_h);
+ rt x5=dig_w; y5=.2dig_h;
+ x6=.65dig_w; bot y6=0;
+ lft x7=0; y7=y5;
+ draw z1{up}..z2..z3..{left}z4{right}..z5..z6...{up}z7;
+ digit[3] := currentpicture;
+ clearxy; clearit; clearpen;
+enddef;
+
+def digit_four =
+ currentpicture := nullpicture;
+ pickup pencircle scaled dig_pen;
+ x1=.75dig_w; bot y1=0;
+ x2=x1; top y2=dig_h;
+ lft x3=0; y3=.3dig_h;
+ rt x4=dig_w; y4=y3;
+ draw z1--z2--z3--z4;
+ digit[4] := currentpicture;
+ clearxy; clearit; clearpen;
+enddef;
+
+def digit_five =
+ currentpicture := nullpicture;
+ pickup pencircle scaled dig_pen;
+ rt x1=.95dig_w; top y1=dig_h;
+ lft x2=.05dig_w; y2=y1;
+ lft x3=0; y3=.45dig_h;
+ z4=(.5dig_w,.6dig_h);
+ rt x5=dig_w; y5=.3dig_h;
+ x6=.65dig_w; bot y6=0;
+ lft x7=0; y7=.15dig_h;
+ draw z1--z2--z3{up}..z4..z5..z6...{up}z7;
+ digit[5] := currentpicture;
+ clearxy; clearit; clearpen;
+enddef;
+
+def digit_six =
+ currentpicture := nullpicture;
+ pickup pencircle scaled dig_pen;
+ rt x1=dig_w; y1=.8dig_h;
+ x2=.45dig_w; top y2=dig_h;
+ lft x3=0; y3=.5dig_h;
+ x4=.5dig_w; bot y4=0;
+ rt x5=dig_w; y5=.3dig_h;
+ z6=(.53dig_w,.55dig_h);
+ z7=(.03dig_w+.6dig_pen,.25dig_h);
+ draw z1{up}...z2...z3...z4...z5...{left}z6{left}...{(1,-10)}z7;
+ digit[6] := currentpicture;
+ clearxy; clearit; clearpen;
+enddef;
+
+def digit_seven =
+ currentpicture := nullpicture;
+ pickup pencircle scaled dig_pen;
+ lft x1=0; top y1=dig_h;
+ rt x2=dig_w; y2=y1;
+ lft x3=.2dig_w; bot y3=0;
+ draw z1--z2--z3;
+ digit[7] := currentpicture;
+ clearxy; clearit; clearpen;
+enddef;
+
+def digit_eight =
+ currentpicture := nullpicture;
+ pickup pencircle scaled dig_pen;
+ lft x1=.08dig_w; y1=.75dig_h;
+ x2=.5dig_w; top y2=dig_h;
+ rt x3=.92dig_w; y3=y1;
+ z4=(.5dig_w,.55dig_h);
+ rt x5=dig_w; y5=.25dig_h;
+ x6=.5dig_w; bot y6=0;
+ lft x7=0; y7=y5;
+ draw z1...z2...z3...z4...cycle;
+ draw z4...z5...z6...z7...cycle;
+ digit[8] := currentpicture;
+ clearxy; clearit; clearpen;
+enddef;
+
+def digit_nine =
+ currentpicture := nullpicture;
+ currentpicture := digit[6] rotated 180;
+ digit[9] := currentpicture shifted (dig_w,dig_h);
+ clearxy; clearit; clearpen;
+enddef;
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+digit_zero; digit_one; digit_two; digit_three; digit_four;
+digit_five; digit_six; digit_seven; digit_eight; digit_nine;
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+beginchar(0,24/22size#,23/22size#,1/22size#); "pion bialy";
+ pickup pencircle scaled line_thickness;
+ lft x1=1/24w; y1=11/24w;
+ rt x2=23/24w; y2=11/24w;
+ draw z1..z2..cycle;
+ white_circle := currentpicture;
+showit;
+endchar;
+
+% stop"";
+
+beginchar(1,24/22size#,23/22size#,1/22size#); "pion bialy z 1";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(2,24/22size#,23/22size#,1/22size#); "pion bialy z 2";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(3,24/22size#,23/22size#,1/22size#); "pion bialy z 3";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(4,24/22size#,23/22size#,1/22size#); "pion bialy z 4";
+ currentpicture := white_circle
+ + digit[4] shifted (.5w-.6dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(5,24/22size#,23/22size#,1/22size#); "pion bialy z 5";
+ currentpicture := white_circle
+ + digit[5] shifted (.5w-.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(6,24/22size#,23/22size#,1/22size#); "pion bialy z 6";
+ currentpicture := white_circle
+ + digit[6] shifted (.5w-.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(7,24/22size#,23/22size#,1/22size#); "pion bialy z 7";
+ currentpicture := white_circle
+ + digit[7] shifted (.5w-.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(8,24/22size#,23/22size#,1/22size#); "pion bialy z 8";
+ currentpicture := white_circle
+ + digit[8] shifted (.5w-.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(9,24/22size#,23/22size#,1/22size#); "pion bialy z 9";
+ currentpicture := white_circle
+ + digit[9] shifted (.5w-.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+dig_w := 0.8dig_w;
+dig_pen := 0.9dig_pen;
+
+digit_zero; digit_one; digit_two; digit_three; digit_four;
+digit_five; digit_six; digit_seven; digit_eight; digit_nine;
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+beginchar(10,24/22size#,23/22size#,1/22size#); "pion bialy z 10";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.2dig_w,11/24w-.5dig_h)
+ + digit[0] shifted (.5w-0.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(11,24/22size#,23/22size#,1/22size#); "pion bialy z 11";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.05dig_w,11/24w-.5dig_h)
+ + digit[1] shifted (.5w+.05dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(12,24/22size#,23/22size#,1/22size#); "pion bialy z 12";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.2dig_w,11/24w-.5dig_h)
+ + digit[2] shifted (.5w-0.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(13,24/22size#,23/22size#,1/22size#); "pion czarny z 13";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.2dig_w,11/24w-.5dig_h)
+ + digit[3] shifted (.5w-0.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(14,24/22size#,23/22size#,1/22size#); "pion bialy z 14";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.2dig_w,11/24w-.5dig_h)
+ + digit[4] shifted (.5w-0.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(15,24/22size#,23/22size#,1/22size#); "pion czarny z 15";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.2dig_w,11/24w-.5dig_h)
+ + digit[5] shifted (.5w-0.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(16,24/22size#,23/22size#,1/22size#); "pion bialy z 16";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.2dig_w,11/24w-.5dig_h)
+ + digit[6] shifted (.5w-0.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(17,24/22size#,23/22size#,1/22size#); "pion czarny z 17";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ + digit[7] shifted (.5w-0.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(18,24/22size#,23/22size#,1/22size#); "pion bialy z 18";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.2dig_w,11/24w-.5dig_h)
+ + digit[8] shifted (.5w-0.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(19,24/22size#,23/22size#,1/22size#); "pion czarny z 19";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.2dig_w,11/24w-.5dig_h)
+ + digit[9] shifted (.5w-0.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(20,24/22size#,23/22size#,1/22size#); "pion bialy z 20";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ + digit[0] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(21,24/22size#,23/22size#,1/22size#); "pion czarny z 21";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-.9dig_w,11/24w-.5dig_h)
+ + digit[1] shifted (.5w+.2dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(22,24/22size#,23/22size#,1/22size#); "pion bialy z 22";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ + digit[2] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(23,24/22size#,23/22size#,1/22size#); "pion czarny z 23";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ + digit[3] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(24,24/22size#,23/22size#,1/22size#); "pion bialy z 24";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ + digit[4] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(25,24/22size#,23/22size#,1/22size#); "pion czarny z 25";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ + digit[5] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(26,24/22size#,23/22size#,1/22size#); "pion bialy z 26";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ + digit[6] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(27,24/22size#,23/22size#,1/22size#); "pion czarny z 27";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ + digit[7] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(28,24/22size#,23/22size#,1/22size#); "pion bialy z 28";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ + digit[8] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(29,24/22size#,23/22size#,1/22size#); "pion czarny z 29";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ + digit[9] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(30,24/22size#,23/22size#,1/22size#); "pion bialy z 30";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ + digit[0] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(31,24/22size#,23/22size#,1/22size#); "pion czarny z 31";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-.9dig_w,11/24w-.5dig_h)
+ + digit[1] shifted (.5w+.2dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(32,24/22size#,23/22size#,1/22size#); "pion bialy z 32";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ + digit[2] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(33,24/22size#,23/22size#,1/22size#); "pion czarny z 33";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ + digit[3] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(34,24/22size#,23/22size#,1/22size#); "pion bialy z 34";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ + digit[4] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(35,24/22size#,23/22size#,1/22size#); "pion czarny z 35";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ + digit[5] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(36,24/22size#,23/22size#,1/22size#); "pion bialy z 36";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ + digit[6] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(37,24/22size#,23/22size#,1/22size#); "pion czarny z 37";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ + digit[7] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(38,24/22size#,23/22size#,1/22size#); "pion bialy z 38";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ + digit[8] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(39,24/22size#,23/22size#,1/22size#); "pion czarny z 39";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ + digit[9] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(40,24/22size#,23/22size#,1/22size#); "pion bialy z 40";
+ currentpicture := white_circle
+ + digit[4] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ + digit[0] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(41,24/22size#,23/22size#,1/22size#); "pion czarny z 41";
+ currentpicture := white_circle
+ + digit[4] shifted (.5w-1.0dig_w,11/24w-.5dig_h)
+ + digit[1] shifted (.5w+.2dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(42,24/22size#,23/22size#,1/22size#); "pion bialy z 42";
+ currentpicture := white_circle
+ + digit[4] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ + digit[2] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(43,24/22size#,23/22size#,1/22size#); "pion czarny z 43";
+ currentpicture := white_circle
+ + digit[4] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ + digit[3] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(44,24/22size#,23/22size#,1/22size#); "pion bialy z 44";
+ currentpicture := white_circle
+ + digit[4] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ + digit[4] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(45,24/22size#,23/22size#,1/22size#); "pion czarny z 45";
+ currentpicture := white_circle
+ + digit[4] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ + digit[5] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(46,24/22size#,23/22size#,1/22size#); "pion bialy z 46";
+ currentpicture := white_circle
+ + digit[4] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ + digit[6] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(47,24/22size#,23/22size#,1/22size#); "pion czarny z 47";
+ currentpicture := white_circle
+ + digit[4] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ + digit[7] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(48,24/22size#,23/22size#,1/22size#); "pion bialy z 48";
+ currentpicture := white_circle
+ + digit[4] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ + digit[8] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(49,24/22size#,23/22size#,1/22size#); "pion czarny z 49";
+ currentpicture := white_circle
+ + digit[4] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ + digit[9] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(50,24/22size#,23/22size#,1/22size#); "pion bialy z 50";
+ currentpicture := white_circle
+ + digit[5] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ + digit[0] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(51,24/22size#,23/22size#,1/22size#); "pion czarny z 51";
+ currentpicture := white_circle
+ + digit[5] shifted (.5w-.9dig_w,11/24w-.5dig_h)
+ + digit[1] shifted (.5w+.2dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(52,24/22size#,23/22size#,1/22size#); "pion bialy z 52";
+ currentpicture := white_circle
+ + digit[5] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ + digit[2] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(53,24/22size#,23/22size#,1/22size#); "pion czarny z 53";
+ currentpicture := white_circle
+ + digit[5] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ + digit[3] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(54,24/22size#,23/22size#,1/22size#); "pion bialy z 54";
+ currentpicture := white_circle
+ + digit[5] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ + digit[4] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(55,24/22size#,23/22size#,1/22size#); "pion czarny z 55";
+ currentpicture := white_circle
+ + digit[5] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ + digit[5] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(56,24/22size#,23/22size#,1/22size#); "pion bialy z 56";
+ currentpicture := white_circle
+ + digit[5] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ + digit[6] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(57,24/22size#,23/22size#,1/22size#); "pion czarny z 57";
+ currentpicture := white_circle
+ + digit[5] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ + digit[7] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(58,24/22size#,23/22size#,1/22size#); "pion bialy z 58";
+ currentpicture := white_circle
+ + digit[5] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ + digit[8] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(59,24/22size#,23/22size#,1/22size#); "pion czarny z 59";
+ currentpicture := white_circle
+ + digit[5] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ + digit[9] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(60,24/22size#,23/22size#,1/22size#); "pion bialy z 60";
+ currentpicture := white_circle
+ + digit[6] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ + digit[0] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(61,24/22size#,23/22size#,1/22size#); "pion czarny z 61";
+ currentpicture := white_circle
+ + digit[6] shifted (.5w-.9dig_w,11/24w-.5dig_h)
+ + digit[1] shifted (.5w+.2dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(62,24/22size#,23/22size#,1/22size#); "pion bialy z 62";
+ currentpicture := white_circle
+ + digit[6] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ + digit[2] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(63,24/22size#,23/22size#,1/22size#); "pion czarny z 63";
+ currentpicture := white_circle
+ + digit[6] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ + digit[3] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(64,24/22size#,23/22size#,1/22size#); "pion bialy z 64";
+ currentpicture := white_circle
+ + digit[6] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ + digit[4] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(65,24/22size#,23/22size#,1/22size#); "pion czarny z 65";
+ currentpicture := white_circle
+ + digit[6] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ + digit[5] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(66,24/22size#,23/22size#,1/22size#); "pion bialy z 66";
+ currentpicture := white_circle
+ + digit[6] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ + digit[6] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(67,24/22size#,23/22size#,1/22size#); "pion czarny z 67";
+ currentpicture := white_circle
+ + digit[6] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ + digit[7] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(68,24/22size#,23/22size#,1/22size#); "pion bialy z 68";
+ currentpicture := white_circle
+ + digit[6] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ + digit[8] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(69,24/22size#,23/22size#,1/22size#); "pion czarny z 69";
+ currentpicture := white_circle
+ + digit[6] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ + digit[9] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(70,24/22size#,23/22size#,1/22size#); "pion bialy z 70";
+ currentpicture := white_circle
+ + digit[7] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ + digit[0] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(71,24/22size#,23/22size#,1/22size#); "pion czarny z 71";
+ currentpicture := white_circle
+ + digit[7] shifted (.5w-.9dig_w,11/24w-.5dig_h)
+ + digit[1] shifted (.5w+.2dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(72,24/22size#,23/22size#,1/22size#); "pion bialy z 72";
+ currentpicture := white_circle
+ + digit[7] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ + digit[2] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(73,24/22size#,23/22size#,1/22size#); "pion czarny z 73";
+ currentpicture := white_circle
+ + digit[7] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ + digit[3] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(74,24/22size#,23/22size#,1/22size#); "pion bialy z 74";
+ currentpicture := white_circle
+ + digit[7] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ + digit[4] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(75,24/22size#,23/22size#,1/22size#); "pion czarny z 75";
+ currentpicture := white_circle
+ + digit[7] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ + digit[5] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(76,24/22size#,23/22size#,1/22size#); "pion bialy z 76";
+ currentpicture := white_circle
+ + digit[7] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ + digit[6] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(77,24/22size#,23/22size#,1/22size#); "pion czarny z 77";
+ currentpicture := white_circle
+ + digit[7] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ + digit[7] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(78,24/22size#,23/22size#,1/22size#); "pion bialy z 78";
+ currentpicture := white_circle
+ + digit[7] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ + digit[8] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(79,24/22size#,23/22size#,1/22size#); "pion czarny z 79";
+ currentpicture := white_circle
+ + digit[7] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ + digit[9] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(80,24/22size#,23/22size#,1/22size#); "pion bialy z 80";
+ currentpicture := white_circle
+ + digit[8] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ + digit[0] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(81,24/22size#,23/22size#,1/22size#); "pion czarny z 81";
+ currentpicture := white_circle
+ + digit[8] shifted (.5w-.9dig_w,11/24w-.5dig_h)
+ + digit[1] shifted (.5w+.2dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(82,24/22size#,23/22size#,1/22size#); "pion bialy z 82";
+ currentpicture := white_circle
+ + digit[8] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ + digit[2] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(83,24/22size#,23/22size#,1/22size#); "pion czarny z 83";
+ currentpicture := white_circle
+ + digit[8] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ + digit[3] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(84,24/22size#,23/22size#,1/22size#); "pion bialy z 84";
+ currentpicture := white_circle
+ + digit[8] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ + digit[4] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(85,24/22size#,23/22size#,1/22size#); "pion czarny z 85";
+ currentpicture := white_circle
+ + digit[8] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ + digit[5] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(86,24/22size#,23/22size#,1/22size#); "pion bialy z 86";
+ currentpicture := white_circle
+ + digit[8] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ + digit[6] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(87,24/22size#,23/22size#,1/22size#); "pion czarny z 87";
+ currentpicture := white_circle
+ + digit[8] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ + digit[7] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(88,24/22size#,23/22size#,1/22size#); "pion bialy z 88";
+ currentpicture := white_circle
+ + digit[8] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ + digit[8] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(89,24/22size#,23/22size#,1/22size#); "pion czarny z 89";
+ currentpicture := white_circle
+ + digit[8] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ + digit[9] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(90,24/22size#,23/22size#,1/22size#); "pion bialy z 90";
+ currentpicture := white_circle
+ + digit[9] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ + digit[0] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(91,24/22size#,23/22size#,1/22size#); "pion czarny z 91";
+ currentpicture := white_circle
+ + digit[9] shifted (.5w-.9dig_w,11/24w-.5dig_h)
+ + digit[1] shifted (.5w+.2dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(92,24/22size#,23/22size#,1/22size#); "pion bialy z 92";
+ currentpicture := white_circle
+ + digit[9] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ + digit[2] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(93,24/22size#,23/22size#,1/22size#); "pion czarny z 93";
+ currentpicture := white_circle
+ + digit[9] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ + digit[3] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(94,24/22size#,23/22size#,1/22size#); "pion bialy z 94";
+ currentpicture := white_circle
+ + digit[9] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ + digit[4] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(95,24/22size#,23/22size#,1/22size#); "pion czarny z 95";
+ currentpicture := white_circle
+ + digit[9] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ + digit[5] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(96,24/22size#,23/22size#,1/22size#); "pion bialy z 96";
+ currentpicture := white_circle
+ + digit[9] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ + digit[6] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(97,24/22size#,23/22size#,1/22size#); "pion czarny z 97";
+ currentpicture := white_circle
+ + digit[9] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ + digit[7] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(98,24/22size#,23/22size#,1/22size#); "pion bialy z 98";
+ currentpicture := white_circle
+ + digit[9] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ + digit[8] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(99,24/22size#,23/22size#,1/22size#); "pion czarny z 99";
+ currentpicture := white_circle
+ + digit[9] shifted (.5w-1.1dig_w,11/24w-.5dig_h)
+ + digit[9] shifted (.5w+.1dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+dig_w := .7dig_w;
+dig_h := .9dig_h;
+dig_pen := .8dig_pen;
+
+digit_zero; digit_one; digit_two; digit_three; digit_four;
+digit_five; digit_six; digit_seven; digit_eight; digit_nine;
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+beginchar(100,24/22size#,23/22size#,1/22size#); "pion bialy z 100";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ + digit[0] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ + digit[0] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(101,24/22size#,23/22size#,1/22size#); "pion czarny z 101";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[0] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[1] shifted (.5w+.6dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(102,24/22size#,23/22size#,1/22size#); "pion bialy z 102";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ + digit[0] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ + digit[2] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(103,24/22size#,23/22size#,1/22size#); "pion czarny z 103";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.7dig_w,11/24w-.5dig_h)
+ + digit[0] shifted (.5w-.7dig_w,11/24w-.5dig_h)
+ + digit[3] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(104,24/22size#,23/22size#,1/22size#); "pion bialy z 104";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ + digit[0] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ + digit[4] shifted (.5w+.45dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(105,24/22size#,23/22size#,1/22size#); "pion czarny z 105";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ + digit[0] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ + digit[5] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(106,24/22size#,23/22size#,1/22size#); "pion bialy z 106";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ + digit[0] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ + digit[6] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(107,24/22size#,23/22size#,1/22size#); "pion czarny z 107";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.7dig_w,11/24w-.5dig_h)
+ + digit[0] shifted (.5w-.7dig_w,11/24w-.5dig_h)
+ + digit[7] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(108,24/22size#,23/22size#,1/22size#); "pion bialy z 108";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ + digit[0] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ + digit[8] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(109,24/22size#,23/22size#,1/22size#); "pion czarny z 109";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ + digit[0] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ + digit[9] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(110,24/22size#,23/22size#,1/22size#); "pion bialy z 110";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[1] shifted (.5w-.7dig_w,11/24w-.5dig_h)
+ + digit[0] shifted (.5w+.4dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(111,24/22size#,23/22size#,1/22size#); "pion czarny z 111";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.5dig_w,11/24w-.5dig_h)
+ + digit[1] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[1] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(112,24/22size#,23/22size#,1/22size#); "pion bialy z 112";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[1] shifted (.5w-.7dig_w,11/24w-.5dig_h)
+ + digit[2] shifted (.5w+.4dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(113,24/22size#,23/22size#,1/22size#); "pion czarny z 113";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[1] shifted (.5w-.7dig_w,11/24w-.5dig_h)
+ + digit[3] shifted (.5w+.4dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(114,24/22size#,23/22size#,1/22size#); "pion bialy z 114";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[1] shifted (.5w-.7dig_w,11/24w-.5dig_h)
+ + digit[4] shifted (.5w+.35dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(115,24/22size#,23/22size#,1/22size#); "pion czarny z 115";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[1] shifted (.5w-.7dig_w,11/24w-.5dig_h)
+ + digit[5] shifted (.5w+.4dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(116,24/22size#,23/22size#,1/22size#); "pion bialy z 116";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[1] shifted (.5w-.7dig_w,11/24w-.5dig_h)
+ + digit[6] shifted (.5w+.4dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(117,24/22size#,23/22size#,1/22size#); "pion czarny z 117";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[1] shifted (.5w-.65dig_w,11/24w-.5dig_h)
+ + digit[7] shifted (.5w+.4dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(118,24/22size#,23/22size#,1/22size#); "pion bialy z 118";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[1] shifted (.5w-.7dig_w,11/24w-.5dig_h)
+ + digit[8] shifted (.5w+.4dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(119,24/22size#,23/22size#,1/22size#); "pion czarny z 119";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[1] shifted (.5w-.7dig_w,11/24w-.5dig_h)
+ + digit[9] shifted (.5w+.4dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(120,24/22size#,23/22size#,1/22size#); "pion bialy z 120";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ + digit[2] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ + digit[0] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(121,24/22size#,23/22size#,1/22size#); "pion czarny z 121";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.65dig_w,11/24w-.5dig_h)
+ + digit[2] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[1] shifted (.5w+.7dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(122,24/22size#,23/22size#,1/22size#); "pion bialy z 122";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ + digit[2] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ + digit[2] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(123,24/22size#,23/22size#,1/22size#); "pion czarny z 123";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.7dig_w,11/24w-.5dig_h)
+ + digit[2] shifted (.5w-.7dig_w,11/24w-.5dig_h)
+ + digit[3] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(124,24/22size#,23/22size#,1/22size#); "pion bialy z 124";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.75dig_w,11/24w-.5dig_h)
+ + digit[2] shifted (.5w-.75dig_w,11/24w-.5dig_h)
+ + digit[4] shifted (.5w+.45dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(125,24/22size#,23/22size#,1/22size#); "pion czarny z 125";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ + digit[2] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ + digit[5] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(126,24/22size#,23/22size#,1/22size#); "pion bialy z 126";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ + digit[2] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ + digit[6] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(127,24/22size#,23/22size#,1/22size#); "pion czarny z 127";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.7dig_w,11/24w-.5dig_h)
+ + digit[2] shifted (.5w-.7dig_w,11/24w-.5dig_h)
+ + digit[7] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+end;
+
diff --git a/fonts/igo/fonts/igowhitei10.mf b/fonts/igo/fonts/igowhitei10.mf
new file mode 100644
index 0000000000..f12ebbb8a0
--- /dev/null
+++ b/fonts/igo/fonts/igowhitei10.mf
@@ -0,0 +1,14 @@
+font_identifier:="IGOWHITEI"; font_size 10pt#;
+
+size#:=10pt#;
+line_thickness#:=.04size#;
+border_line_thickness#:=.1size#;
+
+%%%
+
+dig_h#:=63/100size#;
+dig_w#:=4/10size#;
+dig_pen#:=1/10size#;
+
+input igowhitei
+
diff --git a/fonts/igo/fonts/igowhitei11.mf b/fonts/igo/fonts/igowhitei11.mf
new file mode 100644
index 0000000000..9940aea6e4
--- /dev/null
+++ b/fonts/igo/fonts/igowhitei11.mf
@@ -0,0 +1,13 @@
+font_identifier:="IGOWHITEI"; font_size 11pt#;
+
+size#:=11pt#;
+line_thickness#:=.04size#;
+border_line_thickness#:=.1size#;
+
+%%%
+
+dig_h#:=63/100size#;
+dig_w#:=4/10size#;
+dig_pen#:=1/10size#;
+
+input igowhitei
diff --git a/fonts/igo/fonts/igowhitei12.mf b/fonts/igo/fonts/igowhitei12.mf
new file mode 100644
index 0000000000..7c6ae38f3f
--- /dev/null
+++ b/fonts/igo/fonts/igowhitei12.mf
@@ -0,0 +1,13 @@
+font_identifier:="IGOWHITEI"; font_size 12pt#;
+
+size#:=12pt#;
+line_thickness#:=.04size#;
+border_line_thickness#:=.1size#;
+
+%%%
+
+dig_h#:=63/100size#;
+dig_w#:=4/10size#;
+dig_pen#:=1/10size#;
+
+input igowhitei
diff --git a/fonts/igo/fonts/igowhitei15.mf b/fonts/igo/fonts/igowhitei15.mf
new file mode 100644
index 0000000000..43a293cbf8
--- /dev/null
+++ b/fonts/igo/fonts/igowhitei15.mf
@@ -0,0 +1,14 @@
+font_identifier:="IGOWHITEI"; font_size 15pt#;
+
+size#:=15pt#;
+line_thickness#:=.04size#;
+border_line_thickness#:=.1size#;
+
+%%%
+
+dig_h#:=63/100size#;
+dig_w#:=4/10size#;
+dig_pen#:=1/10size#;
+
+input igowhitei
+
diff --git a/fonts/igo/fonts/igowhitei20.mf b/fonts/igo/fonts/igowhitei20.mf
new file mode 100644
index 0000000000..7f8e21e84f
--- /dev/null
+++ b/fonts/igo/fonts/igowhitei20.mf
@@ -0,0 +1,13 @@
+font_identifier:="IGOWHITEI"; font_size 20pt#;
+
+size#:=20pt#;
+line_thickness#:=.04size#;
+border_line_thickness#:=.1size#;
+
+%%%
+
+dig_h#:=63/100size#;
+dig_w#:=4/10size#;
+dig_pen#:=1/10size#;
+
+input igowhitei
diff --git a/fonts/igo/fonts/igowhitei5.mf b/fonts/igo/fonts/igowhitei5.mf
new file mode 100644
index 0000000000..48a0ec6a97
--- /dev/null
+++ b/fonts/igo/fonts/igowhitei5.mf
@@ -0,0 +1,13 @@
+font_identifier:="IGOWHITEI"; font_size 5pt#;
+
+size#:=5pt#;
+line_thickness#:=.04size#;
+border_line_thickness#:=.1size#;
+
+%%%
+
+dig_h#:=63/100size#;
+dig_w#:=4/10size#;
+dig_pen#:=1/10size#;
+
+input igowhitei
diff --git a/fonts/igo/fonts/igowhitei6.mf b/fonts/igo/fonts/igowhitei6.mf
new file mode 100644
index 0000000000..3457f286f9
--- /dev/null
+++ b/fonts/igo/fonts/igowhitei6.mf
@@ -0,0 +1,13 @@
+font_identifier:="IGOWHITEI"; font_size 6pt#;
+
+size#:=6pt#;
+line_thickness#:=.04size#;
+border_line_thickness#:=.1size#;
+
+%%%
+
+dig_h#:=63/100size#;
+dig_w#:=4/10size#;
+dig_pen#:=1/10size#;
+
+input igowhitei
diff --git a/fonts/igo/fonts/igowhitei7.mf b/fonts/igo/fonts/igowhitei7.mf
new file mode 100644
index 0000000000..1ba9ac8313
--- /dev/null
+++ b/fonts/igo/fonts/igowhitei7.mf
@@ -0,0 +1,13 @@
+font_identifier:="IGOWHITEI"; font_size 7pt#;
+
+size#:=7pt#;
+line_thickness#:=.04size#;
+border_line_thickness#:=.1size#;
+
+%%%
+
+dig_h#:=63/100size#;
+dig_w#:=4/10size#;
+dig_pen#:=1/10size#;
+
+input igowhitei
diff --git a/fonts/igo/fonts/igowhitei8.mf b/fonts/igo/fonts/igowhitei8.mf
new file mode 100644
index 0000000000..263860caa5
--- /dev/null
+++ b/fonts/igo/fonts/igowhitei8.mf
@@ -0,0 +1,13 @@
+font_identifier:="IGOWHITEI"; font_size 8pt#;
+
+size#:=8pt#;
+line_thickness#:=.04size#;
+border_line_thickness#:=.1size#;
+
+%%%
+
+dig_h#:=63/100size#;
+dig_w#:=4/10size#;
+dig_pen#:=1/10size#;
+
+input igowhitei
diff --git a/fonts/igo/fonts/igowhitei9.mf b/fonts/igo/fonts/igowhitei9.mf
new file mode 100644
index 0000000000..8bef308a09
--- /dev/null
+++ b/fonts/igo/fonts/igowhitei9.mf
@@ -0,0 +1,13 @@
+font_identifier:="IGOWHITEI"; font_size 9pt#;
+
+size#:=9pt#;
+line_thickness#:=.04size#;
+border_line_thickness#:=.1size#;
+
+%%%
+
+dig_h#:=63/100size#;
+dig_w#:=4/10size#;
+dig_pen#:=1/10size#;
+
+input igowhitei
diff --git a/fonts/igo/fonts/igowhiteii.mf b/fonts/igo/fonts/igowhiteii.mf
new file mode 100644
index 0000000000..28f6ff6eea
--- /dev/null
+++ b/fonts/igo/fonts/igowhiteii.mf
@@ -0,0 +1,1440 @@
+mode_setup;
+
+define_pixels(size);
+define_pixels(line_thickness,border_line_thickness);
+define_pixels(dig_h,dig_w,dig_pen);
+
+picture digit[];
+picture white_circle;
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+def digit_zero =
+ currentpicture := nullpicture;
+ pickup pencircle scaled dig_pen;
+ lft x1=0; y1=.5dig_h;
+ x2=.5dig_w; top y2=dig_h;
+ rt x3=dig_w; y3=.5dig_h;
+ x4=.5dig_w; bot y4=0;
+ draw z1...z2...z3...z4...cycle;
+ digit[0] := currentpicture;
+ clearxy; clearit; clearpen;
+enddef;
+
+def digit_one =
+ currentpicture := nullpicture;
+ pickup pencircle scaled dig_pen;
+ x1=.5dig_w; bot y1=0;
+ x2=.5dig_w; top y2=dig_h;
+ draw z1--z2;
+ digit[1] := currentpicture;
+ clearxy; clearit; clearpen;
+enddef;
+
+def digit_two =
+ currentpicture := nullpicture;
+ pickup pencircle scaled dig_pen;
+ lft x1=0; y1=.75dig_h;
+ x2=.5dig_w; top y2=dig_h;
+ rt x3=.8dig_w; y3=.9dig_h;
+ lft x4=0; bot y4=0;
+ draw z1{up}...z2...z3..{(-.8dig_w,-dig_h)}z4;
+ z5=z4;
+ rt x6=dig_w; bot y6=0;
+ draw z5--z6;
+ digit[2] := currentpicture;
+ clearxy; clearit; clearpen;
+enddef;
+
+def digit_three =
+ currentpicture := nullpicture;
+ pickup pencircle scaled dig_pen;
+ lft x1=.08dig_w; y1=.8dig_h;
+ x2=.5dig_w; top y2=dig_h;
+ rt x3=.92dig_w; y3=y1;
+ z4=(.5dig_w,.52dig_h);
+ rt x5=dig_w; y5=.2dig_h;
+ x6=.65dig_w; bot y6=0;
+ lft x7=0; y7=y5;
+ draw z1{up}..z2..z3..{left}z4{right}..z5..z6...{up}z7;
+ digit[3] := currentpicture;
+ clearxy; clearit; clearpen;
+enddef;
+
+def digit_four =
+ currentpicture := nullpicture;
+ pickup pencircle scaled dig_pen;
+ x1=.75dig_w; bot y1=0;
+ x2=x1; top y2=dig_h;
+ lft x3=0; y3=.3dig_h;
+ rt x4=dig_w; y4=y3;
+ draw z1--z2--z3--z4;
+ digit[4] := currentpicture;
+ clearxy; clearit; clearpen;
+enddef;
+
+def digit_five =
+ currentpicture := nullpicture;
+ pickup pencircle scaled dig_pen;
+ rt x1=.95dig_w; top y1=dig_h;
+ lft x2=.05dig_w; y2=y1;
+ lft x3=0; y3=.45dig_h;
+ z4=(.5dig_w,.6dig_h);
+ rt x5=dig_w; y5=.3dig_h;
+ x6=.65dig_w; bot y6=0;
+ lft x7=0; y7=.15dig_h;
+ draw z1--z2--z3{up}..z4..z5..z6...{up}z7;
+ digit[5] := currentpicture;
+ clearxy; clearit; clearpen;
+enddef;
+
+def digit_six =
+ currentpicture := nullpicture;
+ pickup pencircle scaled dig_pen;
+ rt x1=dig_w; y1=.8dig_h;
+ x2=.45dig_w; top y2=dig_h;
+ lft x3=0; y3=.5dig_h;
+ x4=.5dig_w; bot y4=0;
+ rt x5=dig_w; y5=.3dig_h;
+ z6=(.53dig_w,.55dig_h);
+ z7=(.03dig_w+.6dig_pen,.25dig_h);
+ draw z1{up}...z2...z3...z4...z5...{left}z6{left}...{(1,-10)}z7;
+ digit[6] := currentpicture;
+ clearxy; clearit; clearpen;
+enddef;
+
+def digit_seven =
+ currentpicture := nullpicture;
+ pickup pencircle scaled dig_pen;
+ lft x1=0; top y1=dig_h;
+ rt x2=dig_w; y2=y1;
+ lft x3=.2dig_w; bot y3=0;
+ draw z1--z2--z3;
+ digit[7] := currentpicture;
+ clearxy; clearit; clearpen;
+enddef;
+
+def digit_eight =
+ currentpicture := nullpicture;
+ pickup pencircle scaled dig_pen;
+ lft x1=.08dig_w; y1=.75dig_h;
+ x2=.5dig_w; top y2=dig_h;
+ rt x3=.92dig_w; y3=y1;
+ z4=(.5dig_w,.55dig_h);
+ rt x5=dig_w; y5=.25dig_h;
+ x6=.5dig_w; bot y6=0;
+ lft x7=0; y7=y5;
+ draw z1...z2...z3...z4...cycle;
+ draw z4...z5...z6...z7...cycle;
+ digit[8] := currentpicture;
+ clearxy; clearit; clearpen;
+enddef;
+
+def digit_nine =
+ currentpicture := nullpicture;
+ currentpicture := digit[6] rotated 180;
+ digit[9] := currentpicture shifted (dig_w,dig_h);
+ clearxy; clearit; clearpen;
+enddef;
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+dig_w := 0.8dig_w;
+dig_pen := 0.9dig_pen;
+
+dig_w := .7dig_w;
+dig_h := .9dig_h;
+dig_pen := .8dig_pen;
+
+digit_zero; digit_one; digit_two; digit_three; digit_four;
+digit_five; digit_six; digit_seven; digit_eight; digit_nine;
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+beginchar(0,24/22size#,23/22size#,1/22size#); "pion bialy z 128";
+ pickup pencircle scaled line_thickness;
+ lft x1=1/24w; y1=11/24w;
+ rt x2=23/24w; y2=11/24w;
+ draw z1..z2..cycle;
+ white_circle := currentpicture;
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ + digit[2] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ + digit[8] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(1,24/22size#,23/22size#,1/22size#); "pion bialy z 129";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ + digit[2] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ + digit[9] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(2,24/22size#,23/22size#,1/22size#); "pion bialy z 130";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ + digit[3] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ + digit[0] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(3,24/22size#,23/22size#,1/22size#); "pion bialy z 131";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[3] shifted (.5w-.55dig_w,11/24w-.5dig_h)
+ + digit[1] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(4,24/22size#,23/22size#,1/22size#); "pion bialy z 132";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ + digit[3] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ + digit[2] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(5,24/22size#,23/22size#,1/22size#); "pion bialy z 133";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.7dig_w,11/24w-.5dig_h)
+ + digit[3] shifted (.5w-.7dig_w,11/24w-.5dig_h)
+ + digit[3] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(6,24/22size#,23/22size#,1/22size#); "pion bialy z 134";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.75dig_w,11/24w-.5dig_h)
+ + digit[3] shifted (.5w-.75dig_w,11/24w-.5dig_h)
+ + digit[4] shifted (.5w+.45dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(7,24/22size#,23/22size#,1/22size#); "pion bialy z 135";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ + digit[3] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ + digit[5] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(8,24/22size#,23/22size#,1/22size#); "pion bialy z 136";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ + digit[3] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ + digit[6] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(9,24/22size#,23/22size#,1/22size#); "pion bialy z 137";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.7dig_w,11/24w-.5dig_h)
+ + digit[3] shifted (.5w-.7dig_w,11/24w-.5dig_h)
+ + digit[7] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(10,24/22size#,23/22size#,1/22size#); "pion bialy z 138";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ + digit[3] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ + digit[8] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(11,24/22size#,23/22size#,1/22size#); "pion bialy z 139";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ + digit[3] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ + digit[9] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(12,24/22size#,23/22size#,1/22size#); "pion bialy z 140";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.7dig_w,11/24w-.5dig_h)
+ + digit[4] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ + digit[0] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(13,24/22size#,23/22size#,1/22size#); "pion bialy z 141";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[4] shifted (.5w-.6dig_w,11/24w-.5dig_h)
+ + digit[1] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(14,24/22size#,23/22size#,1/22size#); "pion bialy z 142";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.7dig_w,11/24w-.5dig_h)
+ + digit[4] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ + digit[2] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(15,24/22size#,23/22size#,1/22size#); "pion bialy z 143";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.7dig_w,11/24w-.5dig_h)
+ + digit[4] shifted (.5w-.75dig_w,11/24w-.5dig_h)
+ + digit[3] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(16,24/22size#,23/22size#,1/22size#); "pion bialy z 144";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.65dig_w,11/24w-.5dig_h)
+ + digit[4] shifted (.5w-.75dig_w,11/24w-.5dig_h)
+ + digit[4] shifted (.5w+.45dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(17,24/22size#,23/22size#,1/22size#); "pion bialy z 145";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.7dig_w,11/24w-.5dig_h)
+ + digit[4] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ + digit[5] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(18,24/22size#,23/22size#,1/22size#); "pion bialy z 146";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.7dig_w,11/24w-.5dig_h)
+ + digit[4] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ + digit[6] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(19,24/22size#,23/22size#,1/22size#); "pion bialy z 147";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.7dig_w,11/24w-.5dig_h)
+ + digit[4] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ + digit[7] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(20,24/22size#,23/22size#,1/22size#); "pion bialy z 148";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.7dig_w,11/24w-.5dig_h)
+ + digit[4] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ + digit[8] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(21,24/22size#,23/22size#,1/22size#); "pion bialy z 149";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.7dig_w,11/24w-.5dig_h)
+ + digit[4] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ + digit[9] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(22,24/22size#,23/22size#,1/22size#); "pion bialy z 150";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ + digit[5] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ + digit[0] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(23,24/22size#,23/22size#,1/22size#); "pion bialy z 151";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[5] shifted (.5w-.55dig_w,11/24w-.5dig_h)
+ + digit[1] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(24,24/22size#,23/22size#,1/22size#); "pion bialy z 152";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ + digit[5] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ + digit[2] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(25,24/22size#,23/22size#,1/22size#); "pion bialy z 153";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.7dig_w,11/24w-.5dig_h)
+ + digit[5] shifted (.5w-.7dig_w,11/24w-.5dig_h)
+ + digit[3] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(26,24/22size#,23/22size#,1/22size#); "pion bialy z 154";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.75dig_w,11/24w-.5dig_h)
+ + digit[5] shifted (.5w-.75dig_w,11/24w-.5dig_h)
+ + digit[4] shifted (.5w+.45dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(27,24/22size#,23/22size#,1/22size#); "pion bialy z 155";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ + digit[5] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ + digit[5] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(28,24/22size#,23/22size#,1/22size#); "pion bialy z 156";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ + digit[5] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ + digit[6] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(29,24/22size#,23/22size#,1/22size#); "pion bialy z 157";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.7dig_w,11/24w-.5dig_h)
+ + digit[5] shifted (.5w-.7dig_w,11/24w-.5dig_h)
+ + digit[7] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(30,24/22size#,23/22size#,1/22size#); "pion bialy z 158";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ + digit[5] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ + digit[8] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(31,24/22size#,23/22size#,1/22size#); "pion bialy z 159";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ + digit[5] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ + digit[9] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(32,24/22size#,23/22size#,1/22size#); "pion bialy z 160";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ + digit[6] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ + digit[0] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(33,24/22size#,23/22size#,1/22size#); "pion bialy z 161";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[6] shifted (.5w-.55dig_w,11/24w-.5dig_h)
+ + digit[1] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(34,24/22size#,23/22size#,1/22size#); "pion bialy z 162";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ + digit[6] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ + digit[2] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(35,24/22size#,23/22size#,1/22size#); "pion bialy z 163";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.7dig_w,11/24w-.5dig_h)
+ + digit[6] shifted (.5w-.7dig_w,11/24w-.5dig_h)
+ + digit[3] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(36,24/22size#,23/22size#,1/22size#); "pion bialy z 164";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.75dig_w,11/24w-.5dig_h)
+ + digit[6] shifted (.5w-.75dig_w,11/24w-.5dig_h)
+ + digit[4] shifted (.5w+.45dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(37,24/22size#,23/22size#,1/22size#); "pion bialy z 165";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ + digit[6] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ + digit[5] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(38,24/22size#,23/22size#,1/22size#); "pion bialy z 166";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ + digit[6] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ + digit[6] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(39,24/22size#,23/22size#,1/22size#); "pion bialy z 167";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.7dig_w,11/24w-.5dig_h)
+ + digit[6] shifted (.5w-.7dig_w,11/24w-.5dig_h)
+ + digit[7] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(40,24/22size#,23/22size#,1/22size#); "pion bialy z 168";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ + digit[6] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ + digit[8] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(41,24/22size#,23/22size#,1/22size#); "pion bialy z 169";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ + digit[6] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ + digit[9] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(42,24/22size#,23/22size#,1/22size#); "pion bialy z 170";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ + digit[7] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ + digit[0] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(43,24/22size#,23/22size#,1/22size#); "pion bialy z 171";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[7] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[1] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(44,24/22size#,23/22size#,1/22size#); "pion bialy z 172";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ + digit[7] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ + digit[2] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(45,24/22size#,23/22size#,1/22size#); "pion bialy z 173";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ + digit[7] shifted (.5w-.7dig_w,11/24w-.5dig_h)
+ + digit[3] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(46,24/22size#,23/22size#,1/22size#); "pion bialy z 174";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.75dig_w,11/24w-.5dig_h)
+ + digit[7] shifted (.5w-.75dig_w,11/24w-.5dig_h)
+ + digit[4] shifted (.5w+.45dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(47,24/22size#,23/22size#,1/22size#); "pion bialy z 175";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ + digit[7] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ + digit[5] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(48,24/22size#,23/22size#,1/22size#); "pion bialy z 176";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ + digit[7] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ + digit[6] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(49,24/22size#,23/22size#,1/22size#); "pion bialy z 177";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ + digit[7] shifted (.5w-.75dig_w,11/24w-.5dig_h)
+ + digit[7] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(50,24/22size#,23/22size#,1/22size#); "pion bialy z 178";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ + digit[7] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ + digit[8] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(51,24/22size#,23/22size#,1/22size#); "pion bialy z 179";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ + digit[7] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ + digit[9] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(52,24/22size#,23/22size#,1/22size#); "pion bialy z 180";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ + digit[8] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ + digit[0] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(53,24/22size#,23/22size#,1/22size#); "pion bialy z 181";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[8] shifted (.5w-.55dig_w,11/24w-.5dig_h)
+ + digit[1] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(54,24/22size#,23/22size#,1/22size#); "pion bialy z 182";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ + digit[8] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ + digit[2] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(55,24/22size#,23/22size#,1/22size#); "pion bialy z 183";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.7dig_w,11/24w-.5dig_h)
+ + digit[8] shifted (.5w-.7dig_w,11/24w-.5dig_h)
+ + digit[3] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(56,24/22size#,23/22size#,1/22size#); "pion bialy z 184";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.75dig_w,11/24w-.5dig_h)
+ + digit[8] shifted (.5w-.75dig_w,11/24w-.5dig_h)
+ + digit[4] shifted (.5w+.45dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(57,24/22size#,23/22size#,1/22size#); "pion bialy z 185";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ + digit[8] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ + digit[5] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(58,24/22size#,23/22size#,1/22size#); "pion bialy z 186";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ + digit[8] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ + digit[6] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(59,24/22size#,23/22size#,1/22size#); "pion bialy z 187";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.7dig_w,11/24w-.5dig_h)
+ + digit[8] shifted (.5w-.7dig_w,11/24w-.5dig_h)
+ + digit[7] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(60,24/22size#,23/22size#,1/22size#); "pion bialy z 188";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ + digit[8] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ + digit[8] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(61,24/22size#,23/22size#,1/22size#); "pion bialy z 189";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ + digit[8] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ + digit[9] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(62,24/22size#,23/22size#,1/22size#); "pion bialy z 190";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ + digit[9] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ + digit[0] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(63,24/22size#,23/22size#,1/22size#); "pion bialy z 191";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[9] shifted (.5w-.55dig_w,11/24w-.5dig_h)
+ + digit[1] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(64,24/22size#,23/22size#,1/22size#); "pion bialy z 192";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ + digit[9] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ + digit[2] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(65,24/22size#,23/22size#,1/22size#); "pion bialy z 193";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.7dig_w,11/24w-.5dig_h)
+ + digit[9] shifted (.5w-.7dig_w,11/24w-.5dig_h)
+ + digit[3] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(66,24/22size#,23/22size#,1/22size#); "pion bialy z 194";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.75dig_w,11/24w-.5dig_h)
+ + digit[9] shifted (.5w-.75dig_w,11/24w-.5dig_h)
+ + digit[4] shifted (.5w+.45dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(67,24/22size#,23/22size#,1/22size#); "pion bialy z 195";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ + digit[9] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ + digit[5] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(68,24/22size#,23/22size#,1/22size#); "pion bialy z 196";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ + digit[9] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ + digit[6] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(69,24/22size#,23/22size#,1/22size#); "pion bialy z 197";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.7dig_w,11/24w-.5dig_h)
+ + digit[9] shifted (.5w-.7dig_w,11/24w-.5dig_h)
+ + digit[7] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(70,24/22size#,23/22size#,1/22size#); "pion bialy z 198";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ + digit[9] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ + digit[8] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(71,24/22size#,23/22size#,1/22size#); "pion bialy z 199";
+ currentpicture := white_circle
+ + digit[1] shifted (.5w-1.8dig_w,11/24w-.5dig_h)
+ + digit[9] shifted (.5w-.8dig_w,11/24w-.5dig_h)
+ + digit[9] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(72,24/22size#,23/22size#,1/22size#); "pion bialy z 200";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[0] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[0] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(73,24/22size#,23/22size#,1/22size#); "pion bialy z 201";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[0] shifted (.5w-.4dig_w,11/24w-.5dig_h)
+ + digit[1] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(74,24/22size#,23/22size#,1/22size#); "pion bialy z 202";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[0] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[2] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(75,24/22size#,23/22size#,1/22size#); "pion bialy z 203";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[0] shifted (.5w-.45dig_w,11/24w-.5dig_h)
+ + digit[3] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(76,24/22size#,23/22size#,1/22size#); "pion bialy z 204";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[0] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[4] shifted (.5w+.6dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(77,24/22size#,23/22size#,1/22size#); "pion bialy z 205";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[0] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[5] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(78,24/22size#,23/22size#,1/22size#); "pion bialy z 206";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[0] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[6] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(79,24/22size#,23/22size#,1/22size#); "pion bialy z 207";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[0] shifted (.5w-.45dig_w,11/24w-.5dig_h)
+ + digit[7] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(80,24/22size#,23/22size#,1/22size#); "pion bialy z 208";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[0] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[8] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(81,24/22size#,23/22size#,1/22size#); "pion bialy z 209";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[0] shifted (.5w-.45dig_w,11/24w-.5dig_h)
+ + digit[9] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(82,24/22size#,23/22size#,1/22size#); "pion bialy z 210";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.4dig_w,11/24w-.5dig_h)
+ + digit[1] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[0] shifted (.5w+.45dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(83,24/22size#,23/22size#,1/22size#); "pion bialy z 211";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.4dig_w,11/24w-.5dig_h)
+ + digit[1] shifted (.5w-.35dig_w,11/24w-.5dig_h)
+ + digit[1] shifted (.5w+.5dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(84,24/22size#,23/22size#,1/22size#); "pion bialy z 212";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.4dig_w,11/24w-.5dig_h)
+ + digit[1] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[2] shifted (.5w+.45dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(85,24/22size#,23/22size#,1/22size#); "pion bialy z 213";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.4dig_w,11/24w-.5dig_h)
+ + digit[1] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[3] shifted (.5w+.45dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(86,24/22size#,23/22size#,1/22size#); "pion bialy z 214";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.4dig_w,11/24w-.5dig_h)
+ + digit[1] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[4] shifted (.5w+.4dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(87,24/22size#,23/22size#,1/22size#); "pion bialy z 215";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.4dig_w,11/24w-.5dig_h)
+ + digit[1] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[5] shifted (.5w+.45dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(88,24/22size#,23/22size#,1/22size#); "pion bialy z 216";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.4dig_w,11/24w-.5dig_h)
+ + digit[1] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[6] shifted (.5w+.45dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(89,24/22size#,23/22size#,1/22size#); "pion bialy z 217";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.4dig_w,11/24w-.5dig_h)
+ + digit[1] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[7] shifted (.5w+.45dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(90,24/22size#,23/22size#,1/22size#); "pion bialy z 218";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.4dig_w,11/24w-.5dig_h)
+ + digit[1] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[8] shifted (.5w+.45dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(91,24/22size#,23/22size#,1/22size#); "pion bialy z 219";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.4dig_w,11/24w-.5dig_h)
+ + digit[1] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[9] shifted (.5w+.45dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(92,24/22size#,23/22size#,1/22size#); "pion bialy z 220";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[2] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[0] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(93,24/22size#,23/22size#,1/22size#); "pion bialy z 221";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[2] shifted (.5w-.4dig_w,11/24w-.5dig_h)
+ + digit[1] shifted (.5w+.6dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(94,24/22size#,23/22size#,1/22size#); "pion bialy z 222";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[2] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[2] shifted (.5w+.6dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(95,24/22size#,23/22size#,1/22size#); "pion bialy z 223";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[2] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[3] shifted (.5w+.6dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(96,24/22size#,23/22size#,1/22size#); "pion bialy z 224";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[2] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[4] shifted (.5w+.55dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(97,24/22size#,23/22size#,1/22size#); "pion bialy z 225";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[2] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[5] shifted (.5w+.6dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(98,24/22size#,23/22size#,1/22size#); "pion bialy z 226";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[2] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[6] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(99,24/22size#,23/22size#,1/22size#); "pion bialy z 227";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[2] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[7] shifted (.5w+.6dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(100,24/22size#,23/22size#,1/22size#); "pion bialy z 228";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[2] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[8] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(101,24/22size#,23/22size#,1/22size#); "pion bialy z 229";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[2] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[9] shifted (.5w+.6dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(102,24/22size#,23/22size#,1/22size#); "pion bialy z 230";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[3] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[0] shifted (.5w+.7dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(103,24/22size#,23/22size#,1/22size#); "pion bialy z 231";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[3] shifted (.5w-.4dig_w,11/24w-.5dig_h)
+ + digit[1] shifted (.5w+.6dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(104,24/22size#,23/22size#,1/22size#); "pion bialy z 232";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[3] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[2] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(105,24/22size#,23/22size#,1/22size#); "pion bialy z 233";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[3] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[3] shifted (.5w+.6dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(106,24/22size#,23/22size#,1/22size#); "pion bialy z 234";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[3] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[4] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(107,24/22size#,23/22size#,1/22size#); "pion bialy z 235";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[3] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[5] shifted (.5w+.6dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(108,24/22size#,23/22size#,1/22size#); "pion bialy z 236";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[3] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[6] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(109,24/22size#,23/22size#,1/22size#); "pion bialy z 237";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[3] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[7] shifted (.5w+.6dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(110,24/22size#,23/22size#,1/22size#); "pion bialy z 238";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[3] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[8] shifted (.5w+.7dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(111,24/22size#,23/22size#,1/22size#); "pion bialy z 239";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[3] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[9] shifted (.5w+.6dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(112,24/22size#,23/22size#,1/22size#); "pion bialy z 240";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[4] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[0] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(113,24/22size#,23/22size#,1/22size#); "pion bialy z 241";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[4] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[1] shifted (.5w+.6dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(114,24/22size#,23/22size#,1/22size#); "pion bialy z 242";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[4] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[2] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(115,24/22size#,23/22size#,1/22size#); "pion bialy z 243";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[4] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[3] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(116,24/22size#,23/22size#,1/22size#); "pion bialy z 244";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[4] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[4] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(117,24/22size#,23/22size#,1/22size#); "pion bialy z 245";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[4] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[5] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(118,24/22size#,23/22size#,1/22size#); "pion bialy z 246";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[4] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[6] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(119,24/22size#,23/22size#,1/22size#); "pion bialy z 247";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[4] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[7] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(120,24/22size#,23/22size#,1/22size#); "pion bialy z 248";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[4] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[8] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(121,24/22size#,23/22size#,1/22size#); "pion bialy z 249";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[4] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[9] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(122,24/22size#,23/22size#,1/22size#); "pion bialy z 250";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[5] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[0] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(123,24/22size#,23/22size#,1/22size#); "pion bialy z 251";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[5] shifted (.5w-.4dig_w,11/24w-.5dig_h)
+ + digit[1] shifted (.5w+.7dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(124,24/22size#,23/22size#,1/22size#); "pion bialy z 252";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[5] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[2] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(125,24/22size#,23/22size#,1/22size#); "pion bialy z 253";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[5] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[3] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(126,24/22size#,23/22size#,1/22size#); "pion bialy z 254";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[5] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[4] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(127,24/22size#,23/22size#,1/22size#); "pion bialy z 255";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[5] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[5] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+end;
+
diff --git a/fonts/igo/fonts/igowhiteii10.mf b/fonts/igo/fonts/igowhiteii10.mf
new file mode 100644
index 0000000000..18fd138664
--- /dev/null
+++ b/fonts/igo/fonts/igowhiteii10.mf
@@ -0,0 +1,14 @@
+font_identifier:="IGOWHITEII"; font_size 10pt#;
+
+size#:=10pt#;
+line_thickness#:=.04size#;
+border_line_thickness#:=.1size#;
+
+%%%
+
+dig_h#:=63/100size#;
+dig_w#:=4/10size#;
+dig_pen#:=1/10size#;
+
+input igowhiteii
+
diff --git a/fonts/igo/fonts/igowhiteii11.mf b/fonts/igo/fonts/igowhiteii11.mf
new file mode 100644
index 0000000000..c2aef2e7a0
--- /dev/null
+++ b/fonts/igo/fonts/igowhiteii11.mf
@@ -0,0 +1,13 @@
+font_identifier:="IGOWHITEII"; font_size 11pt#;
+
+size#:=11pt#;
+line_thickness#:=.04size#;
+border_line_thickness#:=.1size#;
+
+%%%
+
+dig_h#:=63/100size#;
+dig_w#:=4/10size#;
+dig_pen#:=1/10size#;
+
+input igowhiteii
diff --git a/fonts/igo/fonts/igowhiteii12.mf b/fonts/igo/fonts/igowhiteii12.mf
new file mode 100644
index 0000000000..9459478b0e
--- /dev/null
+++ b/fonts/igo/fonts/igowhiteii12.mf
@@ -0,0 +1,13 @@
+font_identifier:="IGOWHITEII"; font_size 12pt#;
+
+size#:=12pt#;
+line_thickness#:=.04size#;
+border_line_thickness#:=.1size#;
+
+%%%
+
+dig_h#:=63/100size#;
+dig_w#:=4/10size#;
+dig_pen#:=1/10size#;
+
+input igowhiteii
diff --git a/fonts/igo/fonts/igowhiteii15.mf b/fonts/igo/fonts/igowhiteii15.mf
new file mode 100644
index 0000000000..4f42e0a0ac
--- /dev/null
+++ b/fonts/igo/fonts/igowhiteii15.mf
@@ -0,0 +1,14 @@
+font_identifier:="IGOWHITEII"; font_size 15pt#;
+
+size#:=15pt#;
+line_thickness#:=.04size#;
+border_line_thickness#:=.1size#;
+
+%%%
+
+dig_h#:=63/100size#;
+dig_w#:=4/10size#;
+dig_pen#:=1/10size#;
+
+input igowhiteii
+
diff --git a/fonts/igo/fonts/igowhiteii20.mf b/fonts/igo/fonts/igowhiteii20.mf
new file mode 100644
index 0000000000..0beb7f209f
--- /dev/null
+++ b/fonts/igo/fonts/igowhiteii20.mf
@@ -0,0 +1,13 @@
+font_identifier:="IGOWHITEII"; font_size 20pt#;
+
+size#:=20pt#;
+line_thickness#:=.04size#;
+border_line_thickness#:=.1size#;
+
+%%%
+
+dig_h#:=63/100size#;
+dig_w#:=4/10size#;
+dig_pen#:=1/10size#;
+
+input igowhiteii
diff --git a/fonts/igo/fonts/igowhiteii5.mf b/fonts/igo/fonts/igowhiteii5.mf
new file mode 100644
index 0000000000..5cf5c72ae7
--- /dev/null
+++ b/fonts/igo/fonts/igowhiteii5.mf
@@ -0,0 +1,13 @@
+font_identifier:="IGOWHITEII"; font_size 5pt#;
+
+size#:=5pt#;
+line_thickness#:=.04size#;
+border_line_thickness#:=.1size#;
+
+%%%
+
+dig_h#:=63/100size#;
+dig_w#:=4/10size#;
+dig_pen#:=1/10size#;
+
+input igowhiteii
diff --git a/fonts/igo/fonts/igowhiteii6.mf b/fonts/igo/fonts/igowhiteii6.mf
new file mode 100644
index 0000000000..c4218d6f8f
--- /dev/null
+++ b/fonts/igo/fonts/igowhiteii6.mf
@@ -0,0 +1,13 @@
+font_identifier:="IGOWHITEII"; font_size 6pt#;
+
+size#:=6pt#;
+line_thickness#:=.04size#;
+border_line_thickness#:=.1size#;
+
+%%%
+
+dig_h#:=63/100size#;
+dig_w#:=4/10size#;
+dig_pen#:=1/10size#;
+
+input igowhiteii
diff --git a/fonts/igo/fonts/igowhiteii7.mf b/fonts/igo/fonts/igowhiteii7.mf
new file mode 100644
index 0000000000..af8eec1846
--- /dev/null
+++ b/fonts/igo/fonts/igowhiteii7.mf
@@ -0,0 +1,13 @@
+font_identifier:="IGOWHITEII"; font_size 7pt#;
+
+size#:=7pt#;
+line_thickness#:=.04size#;
+border_line_thickness#:=.1size#;
+
+%%%
+
+dig_h#:=63/100size#;
+dig_w#:=4/10size#;
+dig_pen#:=1/10size#;
+
+input igowhiteii
diff --git a/fonts/igo/fonts/igowhiteii8.mf b/fonts/igo/fonts/igowhiteii8.mf
new file mode 100644
index 0000000000..9b83cc87ea
--- /dev/null
+++ b/fonts/igo/fonts/igowhiteii8.mf
@@ -0,0 +1,13 @@
+font_identifier:="IGOWHITEII"; font_size 8pt#;
+
+size#:=8pt#;
+line_thickness#:=.04size#;
+border_line_thickness#:=.1size#;
+
+%%%
+
+dig_h#:=63/100size#;
+dig_w#:=4/10size#;
+dig_pen#:=1/10size#;
+
+input igowhiteii
diff --git a/fonts/igo/fonts/igowhiteii9.mf b/fonts/igo/fonts/igowhiteii9.mf
new file mode 100644
index 0000000000..a2e8e0699d
--- /dev/null
+++ b/fonts/igo/fonts/igowhiteii9.mf
@@ -0,0 +1,13 @@
+font_identifier:="IGOWHITEII"; font_size 9pt#;
+
+size#:=9pt#;
+line_thickness#:=.04size#;
+border_line_thickness#:=.1size#;
+
+%%%
+
+dig_h#:=63/100size#;
+dig_w#:=4/10size#;
+dig_pen#:=1/10size#;
+
+input igowhiteii
diff --git a/fonts/igo/fonts/igowhiteiii.mf b/fonts/igo/fonts/igowhiteiii.mf
new file mode 100644
index 0000000000..04f8ee490e
--- /dev/null
+++ b/fonts/igo/fonts/igowhiteiii.mf
@@ -0,0 +1,1457 @@
+mode_setup;
+
+define_pixels(size);
+define_pixels(line_thickness,border_line_thickness);
+define_pixels(dig_h,dig_w,dig_pen);
+
+picture digit[];
+picture white_circle;
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+def digit_zero =
+ currentpicture := nullpicture;
+ pickup pencircle scaled dig_pen;
+ lft x1=0; y1=.5dig_h;
+ x2=.5dig_w; top y2=dig_h;
+ rt x3=dig_w; y3=.5dig_h;
+ x4=.5dig_w; bot y4=0;
+ draw z1...z2...z3...z4...cycle;
+ digit[0] := currentpicture;
+ clearxy; clearit; clearpen;
+enddef;
+
+def digit_one =
+ currentpicture := nullpicture;
+ pickup pencircle scaled dig_pen;
+ x1=.5dig_w; bot y1=0;
+ x2=.5dig_w; top y2=dig_h;
+ draw z1--z2;
+ digit[1] := currentpicture;
+ clearxy; clearit; clearpen;
+enddef;
+
+def digit_two =
+ currentpicture := nullpicture;
+ pickup pencircle scaled dig_pen;
+ lft x1=0; y1=.75dig_h;
+ x2=.5dig_w; top y2=dig_h;
+ rt x3=.8dig_w; y3=.9dig_h;
+ lft x4=0; bot y4=0;
+ draw z1{up}...z2...z3..{(-.8dig_w,-dig_h)}z4;
+ z5=z4;
+ rt x6=dig_w; bot y6=0;
+ draw z5--z6;
+ digit[2] := currentpicture;
+ clearxy; clearit; clearpen;
+enddef;
+
+def digit_three =
+ currentpicture := nullpicture;
+ pickup pencircle scaled dig_pen;
+ lft x1=.08dig_w; y1=.8dig_h;
+ x2=.5dig_w; top y2=dig_h;
+ rt x3=.92dig_w; y3=y1;
+ z4=(.5dig_w,.52dig_h);
+ rt x5=dig_w; y5=.2dig_h;
+ x6=.65dig_w; bot y6=0;
+ lft x7=0; y7=y5;
+ draw z1{up}..z2..z3..{left}z4{right}..z5..z6...{up}z7;
+ digit[3] := currentpicture;
+ clearxy; clearit; clearpen;
+enddef;
+
+def digit_four =
+ currentpicture := nullpicture;
+ pickup pencircle scaled dig_pen;
+ x1=.75dig_w; bot y1=0;
+ x2=x1; top y2=dig_h;
+ lft x3=0; y3=.3dig_h;
+ rt x4=dig_w; y4=y3;
+ draw z1--z2--z3--z4;
+ digit[4] := currentpicture;
+ clearxy; clearit; clearpen;
+enddef;
+
+def digit_five =
+ currentpicture := nullpicture;
+ pickup pencircle scaled dig_pen;
+ rt x1=.95dig_w; top y1=dig_h;
+ lft x2=.05dig_w; y2=y1;
+ lft x3=0; y3=.45dig_h;
+ z4=(.5dig_w,.6dig_h);
+ rt x5=dig_w; y5=.3dig_h;
+ x6=.65dig_w; bot y6=0;
+ lft x7=0; y7=.15dig_h;
+ draw z1--z2--z3{up}..z4..z5..z6...{up}z7;
+ digit[5] := currentpicture;
+ clearxy; clearit; clearpen;
+enddef;
+
+def digit_six =
+ currentpicture := nullpicture;
+ pickup pencircle scaled dig_pen;
+ rt x1=dig_w; y1=.8dig_h;
+ x2=.45dig_w; top y2=dig_h;
+ lft x3=0; y3=.5dig_h;
+ x4=.5dig_w; bot y4=0;
+ rt x5=dig_w; y5=.3dig_h;
+ z6=(.53dig_w,.55dig_h);
+ z7=(.03dig_w+.6dig_pen,.25dig_h);
+ draw z1{up}...z2...z3...z4...z5...{left}z6{left}...{(1,-10)}z7;
+ digit[6] := currentpicture;
+ clearxy; clearit; clearpen;
+enddef;
+
+def digit_seven =
+ currentpicture := nullpicture;
+ pickup pencircle scaled dig_pen;
+ lft x1=0; top y1=dig_h;
+ rt x2=dig_w; y2=y1;
+ lft x3=.2dig_w; bot y3=0;
+ draw z1--z2--z3;
+ digit[7] := currentpicture;
+ clearxy; clearit; clearpen;
+enddef;
+
+def digit_eight =
+ currentpicture := nullpicture;
+ pickup pencircle scaled dig_pen;
+ lft x1=.08dig_w; y1=.75dig_h;
+ x2=.5dig_w; top y2=dig_h;
+ rt x3=.92dig_w; y3=y1;
+ z4=(.5dig_w,.55dig_h);
+ rt x5=dig_w; y5=.25dig_h;
+ x6=.5dig_w; bot y6=0;
+ lft x7=0; y7=y5;
+ draw z1...z2...z3...z4...cycle;
+ draw z4...z5...z6...z7...cycle;
+ digit[8] := currentpicture;
+ clearxy; clearit; clearpen;
+enddef;
+
+def digit_nine =
+ currentpicture := nullpicture;
+ currentpicture := digit[6] rotated 180;
+ digit[9] := currentpicture shifted (dig_w,dig_h);
+ clearxy; clearit; clearpen;
+enddef;
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+dig_w := 0.8dig_w;
+dig_pen := 0.9dig_pen;
+
+dig_w := .7dig_w;
+dig_h := .9dig_h;
+dig_pen := .8dig_pen;
+
+digit_zero; digit_one; digit_two; digit_three; digit_four;
+digit_five; digit_six; digit_seven; digit_eight; digit_nine;
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+beginchar(0,24/22size#,23/22size#,1/22size#); "pion bialy z 256";
+ pickup pencircle scaled line_thickness;
+ lft x1=1/24w; y1=11/24w;
+ rt x2=23/24w; y2=11/24w;
+ draw z1..z2..cycle;
+ white_circle := currentpicture;
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[5] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[6] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(1,24/22size#,23/22size#,1/22size#); "pion bialy z 257";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[5] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[7] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(2,24/22size#,23/22size#,1/22size#); "pion bialy z 258";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[5] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[8] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(3,24/22size#,23/22size#,1/22size#); "pion bialy z 259";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[5] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[9] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(4,24/22size#,23/22size#,1/22size#); "pion bialy z 260";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[6] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[0] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(5,24/22size#,23/22size#,1/22size#); "pion bialy z 261";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[6] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[1] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(6,24/22size#,23/22size#,1/22size#); "pion bialy z 262";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[6] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[2] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(7,24/22size#,23/22size#,1/22size#); "pion bialy z 263";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[6] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[3] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(8,24/22size#,23/22size#,1/22size#); "pion bialy z 264";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[6] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[4] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(9,24/22size#,23/22size#,1/22size#); "pion bialy z 265";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[6] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[5] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(10,24/22size#,23/22size#,1/22size#); "pion bialy z 266";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[6] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[6] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(11,24/22size#,23/22size#,1/22size#); "pion bialy z 267";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[6] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[7] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(12,24/22size#,23/22size#,1/22size#); "pion bialy z 268";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[6] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[8] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(13,24/22size#,23/22size#,1/22size#); "pion bialy z 269";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[6] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[9] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(14,24/22size#,23/22size#,1/22size#); "pion bialy z 270";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[7] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[0] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(15,24/22size#,23/22size#,1/22size#); "pion bialy z 271";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[7] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[1] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(16,24/22size#,23/22size#,1/22size#); "pion bialy z 272";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[7] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[2] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(17,24/22size#,23/22size#,1/22size#); "pion bialy z 273";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[7] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[3] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(18,24/22size#,23/22size#,1/22size#); "pion bialy z 274";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[7] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[4] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(19,24/22size#,23/22size#,1/22size#); "pion bialy z 275";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[7] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[5] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(20,24/22size#,23/22size#,1/22size#); "pion bialy z 276";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[7] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[6] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(21,24/22size#,23/22size#,1/22size#); "pion bialy z 277";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[7] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[7] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(22,24/22size#,23/22size#,1/22size#); "pion bialy z 278";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[7] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[8] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(23,24/22size#,23/22size#,1/22size#); "pion bialy z 279";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[7] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[9] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(24,24/22size#,23/22size#,1/22size#); "pion bialy z 280";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[8] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[0] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(25,24/22size#,23/22size#,1/22size#); "pion bialy z 281";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[8] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[1] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(26,24/22size#,23/22size#,1/22size#); "pion bialy z 282";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[8] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[2] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(27,24/22size#,23/22size#,1/22size#); "pion bialy z 283";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[8] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[3] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(28,24/22size#,23/22size#,1/22size#); "pion bialy z 284";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[8] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[4] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(29,24/22size#,23/22size#,1/22size#); "pion bialy z 285";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[8] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[5] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(30,24/22size#,23/22size#,1/22size#); "pion bialy z 286";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[8] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[6] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(31,24/22size#,23/22size#,1/22size#); "pion bialy z 287";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[8] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[7] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(32,24/22size#,23/22size#,1/22size#); "pion bialy z 288";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[8] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[8] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(33,24/22size#,23/22size#,1/22size#); "pion bialy z 289";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[8] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[9] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(34,24/22size#,23/22size#,1/22size#); "pion bialy z 290";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[9] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[0] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(35,24/22size#,23/22size#,1/22size#); "pion bialy z 291";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[9] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[1] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(36,24/22size#,23/22size#,1/22size#); "pion bialy z 292";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[9] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[2] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(37,24/22size#,23/22size#,1/22size#); "pion bialy z 293";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[9] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[3] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(38,24/22size#,23/22size#,1/22size#); "pion bialy z 294";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[9] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[4] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(39,24/22size#,23/22size#,1/22size#); "pion bialy z 295";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[9] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[5] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(40,24/22size#,23/22size#,1/22size#); "pion bialy z 296";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[9] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[6] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(41,24/22size#,23/22size#,1/22size#); "pion bialy z 297";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[9] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[7] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(42,24/22size#,23/22size#,1/22size#); "pion bialy z 298";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[9] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[8] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(43,24/22size#,23/22size#,1/22size#); "pion bialy z 299";
+ currentpicture := white_circle
+ + digit[2] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[9] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[9] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(44,24/22size#,23/22size#,1/22size#); "pion bialy z 300";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[0] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[0] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(45,24/22size#,23/22size#,1/22size#); "pion bialy z 301";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[0] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[1] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(46,24/22size#,23/22size#,1/22size#); "pion bialy z 302";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[0] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[2] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(47,24/22size#,23/22size#,1/22size#); "pion bialy z 303";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[0] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[3] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(48,24/22size#,23/22size#,1/22size#); "pion bialy z 304";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[0] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[4] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(49,24/22size#,23/22size#,1/22size#); "pion bialy z 305";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[0] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[5] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(50,24/22size#,23/22size#,1/22size#); "pion bialy z 306";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[0] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[6] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(51,24/22size#,23/22size#,1/22size#); "pion bialy z 307";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[0] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[7] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(52,24/22size#,23/22size#,1/22size#); "pion bialy z 308";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[0] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[8] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(53,24/22size#,23/22size#,1/22size#); "pion bialy z 309";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[0] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[9] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(54,24/22size#,23/22size#,1/22size#); "pion bialy z 310";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.4dig_w,11/24w-.5dig_h)
+ + digit[1] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[0] shifted (.5w+.45dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(55,24/22size#,23/22size#,1/22size#); "pion bialy z 311";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.4dig_w,11/24w-.5dig_h)
+ + digit[1] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[1] shifted (.5w+.45dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(56,24/22size#,23/22size#,1/22size#); "pion bialy z 312";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.4dig_w,11/24w-.5dig_h)
+ + digit[1] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[2] shifted (.5w+.45dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(57,24/22size#,23/22size#,1/22size#); "pion bialy z 313";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.4dig_w,11/24w-.5dig_h)
+ + digit[1] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[3] shifted (.5w+.45dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(58,24/22size#,23/22size#,1/22size#); "pion bialy z 314";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.4dig_w,11/24w-.5dig_h)
+ + digit[1] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[4] shifted (.5w+.45dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(59,24/22size#,23/22size#,1/22size#); "pion bialy z 315";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.4dig_w,11/24w-.5dig_h)
+ + digit[1] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[5] shifted (.5w+.45dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(60,24/22size#,23/22size#,1/22size#); "pion bialy z 316";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.4dig_w,11/24w-.5dig_h)
+ + digit[1] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[6] shifted (.5w+.45dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(61,24/22size#,23/22size#,1/22size#); "pion bialy z 317";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.4dig_w,11/24w-.5dig_h)
+ + digit[1] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[7] shifted (.5w+.45dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(62,24/22size#,23/22size#,1/22size#); "pion bialy z 318";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.4dig_w,11/24w-.5dig_h)
+ + digit[1] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[8] shifted (.5w+.45dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(63,24/22size#,23/22size#,1/22size#); "pion bialy z 319";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.4dig_w,11/24w-.5dig_h)
+ + digit[1] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[9] shifted (.5w+.45dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(64,24/22size#,23/22size#,1/22size#); "pion bialy z 320";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[2] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[0] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(65,24/22size#,23/22size#,1/22size#); "pion bialy z 321";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[2] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[1] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(66,24/22size#,23/22size#,1/22size#); "pion bialy z 322";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[2] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[2] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(67,24/22size#,23/22size#,1/22size#); "pion bialy z 323";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[2] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[3] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(68,24/22size#,23/22size#,1/22size#); "pion bialy z 324";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[2] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[4] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(69,24/22size#,23/22size#,1/22size#); "pion bialy z 325";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[2] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[5] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(70,24/22size#,23/22size#,1/22size#); "pion bialy z 326";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[2] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[6] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(71,24/22size#,23/22size#,1/22size#); "pion bialy z 327";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[2] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[7] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(72,24/22size#,23/22size#,1/22size#); "pion bialy z 328";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[2] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[8] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(73,24/22size#,23/22size#,1/22size#); "pion bialy z 329";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[2] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[9] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(74,24/22size#,23/22size#,1/22size#); "pion bialy z 330";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[3] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[0] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(75,24/22size#,23/22size#,1/22size#); "pion bialy z 331";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[3] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[1] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(76,24/22size#,23/22size#,1/22size#); "pion bialy z 332";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[3] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[2] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(77,24/22size#,23/22size#,1/22size#); "pion bialy z 333";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[3] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[3] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(78,24/22size#,23/22size#,1/22size#); "pion bialy z 334";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[3] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[4] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(79,24/22size#,23/22size#,1/22size#); "pion bialy z 335";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[3] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[5] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(80,24/22size#,23/22size#,1/22size#); "pion bialy z 336";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[3] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[6] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(81,24/22size#,23/22size#,1/22size#); "pion bialy z 337";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[3] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[7] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(82,24/22size#,23/22size#,1/22size#); "pion bialy z 338";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[3] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[8] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(83,24/22size#,23/22size#,1/22size#); "pion bialy z 339";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[3] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[9] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(84,24/22size#,23/22size#,1/22size#); "pion bialy z 340";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.55dig_w,11/24w-.5dig_h)
+ + digit[4] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[0] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(85,24/22size#,23/22size#,1/22size#); "pion bialy z 341";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.55dig_w,11/24w-.5dig_h)
+ + digit[4] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[1] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(86,24/22size#,23/22size#,1/22size#); "pion bialy z 342";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.55dig_w,11/24w-.5dig_h)
+ + digit[4] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[2] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(87,24/22size#,23/22size#,1/22size#); "pion bialy z 343";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.55dig_w,11/24w-.5dig_h)
+ + digit[4] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[3] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(88,24/22size#,23/22size#,1/22size#); "pion bialy z 344";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.55dig_w,11/24w-.5dig_h)
+ + digit[4] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[4] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(89,24/22size#,23/22size#,1/22size#); "pion bialy z 345";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.55dig_w,11/24w-.5dig_h)
+ + digit[4] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[5] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(90,24/22size#,23/22size#,1/22size#); "pion bialy z 346";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.55dig_w,11/24w-.5dig_h)
+ + digit[4] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[6] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(91,24/22size#,23/22size#,1/22size#); "pion bialy z 347";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.55dig_w,11/24w-.5dig_h)
+ + digit[4] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[7] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(92,24/22size#,23/22size#,1/22size#); "pion bialy z 348";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.55dig_w,11/24w-.5dig_h)
+ + digit[4] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[8] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(93,24/22size#,23/22size#,1/22size#); "pion bialy z 349";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.55dig_w,11/24w-.5dig_h)
+ + digit[4] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[9] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(94,24/22size#,23/22size#,1/22size#); "pion bialy z 350";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[5] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[0] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(95,24/22size#,23/22size#,1/22size#); "pion bialy z 351";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[5] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[1] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(96,24/22size#,23/22size#,1/22size#); "pion bialy z 352";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[5] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[2] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(97,24/22size#,23/22size#,1/22size#); "pion bialy z 353";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[5] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[3] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(98,24/22size#,23/22size#,1/22size#); "pion bialy z 354";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[5] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[4] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(99,24/22size#,23/22size#,1/22size#); "pion bialy z 355";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[5] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[5] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(100,24/22size#,23/22size#,1/22size#); "pion bialy z 356";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[5] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[6] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(101,24/22size#,23/22size#,1/22size#); "pion bialy z 357";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[5] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[7] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(102,24/22size#,23/22size#,1/22size#); "pion bialy z 358";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[5] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[8] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(103,24/22size#,23/22size#,1/22size#); "pion bialy z 359";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[5] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[9] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(104,24/22size#,23/22size#,1/22size#); "pion bialy z 360";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[6] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[0] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(105,24/22size#,23/22size#,1/22size#); "pion bialy z 361";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[6] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[1] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(106,24/22size#,23/22size#,1/22size#); "pion bialy z 362";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[6] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[2] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(107,24/22size#,23/22size#,1/22size#); "pion bialy z 363";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[6] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[3] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(108,24/22size#,23/22size#,1/22size#); "pion bialy z 364";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[6] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[4] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(109,24/22size#,23/22size#,1/22size#); "pion bialy z 365";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[6] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[5] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(110,24/22size#,23/22size#,1/22size#); "pion bialy z 366";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[6] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[6] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(111,24/22size#,23/22size#,1/22size#); "pion bialy z 367";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[6] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[7] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(112,24/22size#,23/22size#,1/22size#); "pion bialy z 368";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[6] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[8] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(113,24/22size#,23/22size#,1/22size#); "pion bialy z 369";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[6] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[9] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(114,24/22size#,23/22size#,1/22size#); "pion bialy z 370";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[7] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[0] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(115,24/22size#,23/22size#,1/22size#); "pion bialy z 371";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[7] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[1] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(116,24/22size#,23/22size#,1/22size#); "pion bialy z 372";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[7] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[2] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(117,24/22size#,23/22size#,1/22size#); "pion bialy z 373";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[7] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[3] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(118,24/22size#,23/22size#,1/22size#); "pion bialy z 374";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[7] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[4] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(119,24/22size#,23/22size#,1/22size#); "pion bialy z 375";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[7] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[5] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(120,24/22size#,23/22size#,1/22size#); "pion bialy z 376";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[7] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[6] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(121,24/22size#,23/22size#,1/22size#); "pion bialy z 377";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[7] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[7] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(122,24/22size#,23/22size#,1/22size#); "pion bialy z 378";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[7] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[8] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+beginchar(123,24/22size#,23/22size#,1/22size#); "pion bialy z 379";
+ currentpicture := white_circle
+ + digit[3] shifted (.5w-1.6dig_w,11/24w-.5dig_h)
+ + digit[7] shifted (.5w-.5dig_w,11/24w-.5dig_h)
+ + digit[9] shifted (.5w+.65dig_w,11/24w-.5dig_h);
+showit;
+endchar;
+
+% stop"";
+
+%%%%%%%%%%%%%%%%%%%%%% other symbols %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+beginchar(124,24/22size#,23/22size#,1/22size#); "White stone with cross";
+ pickup pencircle scaled 1.5line_thickness;
+ z1=(.5w+.30size,11/24w+.30size);
+ z2=(.5w+.30size,11/24w-.30size);
+ z3=(.5w-.30size,11/24w-.30size);
+ z4=(.5w-.30size,11/24w+.30size);
+ draw z1--z3;
+ draw z2--z4;
+ addto currentpicture also white_circle;
+showit;
+endchar;
+
+% stop"";
+
+beginchar(125,24/22size#,23/22size#,1/22size#); "White stone with circle";
+ pickup pencircle scaled 1.5line_thickness;
+ z1=(.5w,11/24w+.28size);
+ z2=(.5w+.28size,11/24w);
+ z3=(.5w,11/24w-.28size);
+ z4=(.5w-.28size,11/24w);
+ draw z1...z2...z3...z4...cycle;
+ addto currentpicture also white_circle;
+showit;
+endchar;
+
+% stop"";
+
+beginchar(126,24/22size#,23/22size#,1/22size#); "White stone with square";
+ pickup pencircle scaled 1.5line_thickness;
+ z1=(.5w+.28size,11/24w+.28size);
+ z2=(.5w+.28size,11/24w-.28size);
+ z3=(.5w-.28size,11/24w-.28size);
+ z4=(.5w-.28size,11/24w+.28size);
+ draw z1--z2--z3--z4--cycle;
+ addto currentpicture also white_circle;
+showit;
+endchar;
+
+% stop"";
+
+beginchar(127,24/22size#,23/22size#,1/22size#); "White stone with triangle";
+ pickup pencircle scaled 1.5line_thickness;
+ lft x1=.08size+1/24w+.02size;
+ bot y1=.24size+.02size;
+ x2=.5w;
+ top y2=.98size-.02size;
+ rt x3=.92size+1/24w-.02size;
+ bot y3=.24size+.02size;
+ draw z1--z2--z3--cycle;
+ addto currentpicture also white_circle;
+showit;
+endchar;
+
+% stop"";
+
+end;
+
diff --git a/fonts/igo/fonts/igowhiteiii10.mf b/fonts/igo/fonts/igowhiteiii10.mf
new file mode 100644
index 0000000000..3db1b0dc0e
--- /dev/null
+++ b/fonts/igo/fonts/igowhiteiii10.mf
@@ -0,0 +1,14 @@
+font_identifier:="IGOWHITEIII"; font_size 10pt#;
+
+size#:=10pt#;
+line_thickness#:=.04size#;
+border_line_thickness#:=.1size#;
+
+%%%
+
+dig_h#:=63/100size#;
+dig_w#:=4/10size#;
+dig_pen#:=1/10size#;
+
+input igowhiteiii
+
diff --git a/fonts/igo/fonts/igowhiteiii11.mf b/fonts/igo/fonts/igowhiteiii11.mf
new file mode 100644
index 0000000000..3ee6d22b51
--- /dev/null
+++ b/fonts/igo/fonts/igowhiteiii11.mf
@@ -0,0 +1,13 @@
+font_identifier:="IGOWHITEIII"; font_size 11pt#;
+
+size#:=11pt#;
+line_thickness#:=.04size#;
+border_line_thickness#:=.1size#;
+
+%%%
+
+dig_h#:=63/100size#;
+dig_w#:=4/10size#;
+dig_pen#:=1/10size#;
+
+input igowhiteiii
diff --git a/fonts/igo/fonts/igowhiteiii12.mf b/fonts/igo/fonts/igowhiteiii12.mf
new file mode 100644
index 0000000000..dd8c9bec9e
--- /dev/null
+++ b/fonts/igo/fonts/igowhiteiii12.mf
@@ -0,0 +1,13 @@
+font_identifier:="IGOWHITEIII"; font_size 12pt#;
+
+size#:=12pt#;
+line_thickness#:=.04size#;
+border_line_thickness#:=.1size#;
+
+%%%
+
+dig_h#:=63/100size#;
+dig_w#:=4/10size#;
+dig_pen#:=1/10size#;
+
+input igowhiteiii
diff --git a/fonts/igo/fonts/igowhiteiii15.mf b/fonts/igo/fonts/igowhiteiii15.mf
new file mode 100644
index 0000000000..3e7ce5447c
--- /dev/null
+++ b/fonts/igo/fonts/igowhiteiii15.mf
@@ -0,0 +1,14 @@
+font_identifier:="IGOWHITEIII"; font_size 15pt#;
+
+size#:=15pt#;
+line_thickness#:=.04size#;
+border_line_thickness#:=.1size#;
+
+%%%
+
+dig_h#:=63/100size#;
+dig_w#:=4/10size#;
+dig_pen#:=1/10size#;
+
+input igowhiteiii
+
diff --git a/fonts/igo/fonts/igowhiteiii20.mf b/fonts/igo/fonts/igowhiteiii20.mf
new file mode 100644
index 0000000000..4a8b598b91
--- /dev/null
+++ b/fonts/igo/fonts/igowhiteiii20.mf
@@ -0,0 +1,13 @@
+font_identifier:="IGOWHITEIII"; font_size 20pt#;
+
+size#:=20pt#;
+line_thickness#:=.04size#;
+border_line_thickness#:=.1size#;
+
+%%%
+
+dig_h#:=63/100size#;
+dig_w#:=4/10size#;
+dig_pen#:=1/10size#;
+
+input igowhiteiii
diff --git a/fonts/igo/fonts/igowhiteiii5.mf b/fonts/igo/fonts/igowhiteiii5.mf
new file mode 100644
index 0000000000..1d2048663f
--- /dev/null
+++ b/fonts/igo/fonts/igowhiteiii5.mf
@@ -0,0 +1,13 @@
+font_identifier:="IGOWHITEIII"; font_size 5pt#;
+
+size#:=5pt#;
+line_thickness#:=.04size#;
+border_line_thickness#:=.1size#;
+
+%%%
+
+dig_h#:=63/100size#;
+dig_w#:=4/10size#;
+dig_pen#:=1/10size#;
+
+input igowhiteiii
diff --git a/fonts/igo/fonts/igowhiteiii6.mf b/fonts/igo/fonts/igowhiteiii6.mf
new file mode 100644
index 0000000000..547faecd6d
--- /dev/null
+++ b/fonts/igo/fonts/igowhiteiii6.mf
@@ -0,0 +1,13 @@
+font_identifier:="IGOWHITEIII"; font_size 6pt#;
+
+size#:=6pt#;
+line_thickness#:=.04size#;
+border_line_thickness#:=.1size#;
+
+%%%
+
+dig_h#:=63/100size#;
+dig_w#:=4/10size#;
+dig_pen#:=1/10size#;
+
+input igowhiteiii
diff --git a/fonts/igo/fonts/igowhiteiii7.mf b/fonts/igo/fonts/igowhiteiii7.mf
new file mode 100644
index 0000000000..d14a742700
--- /dev/null
+++ b/fonts/igo/fonts/igowhiteiii7.mf
@@ -0,0 +1,13 @@
+font_identifier:="IGOWHITEIII"; font_size 7pt#;
+
+size#:=7pt#;
+line_thickness#:=.04size#;
+border_line_thickness#:=.1size#;
+
+%%%
+
+dig_h#:=63/100size#;
+dig_w#:=4/10size#;
+dig_pen#:=1/10size#;
+
+input igowhiteiii
diff --git a/fonts/igo/fonts/igowhiteiii8.mf b/fonts/igo/fonts/igowhiteiii8.mf
new file mode 100644
index 0000000000..d84f40bfe9
--- /dev/null
+++ b/fonts/igo/fonts/igowhiteiii8.mf
@@ -0,0 +1,13 @@
+font_identifier:="IGOWHITEIII"; font_size 8pt#;
+
+size#:=8pt#;
+line_thickness#:=.04size#;
+border_line_thickness#:=.1size#;
+
+%%%
+
+dig_h#:=63/100size#;
+dig_w#:=4/10size#;
+dig_pen#:=1/10size#;
+
+input igowhiteiii
diff --git a/fonts/igo/fonts/igowhiteiii9.mf b/fonts/igo/fonts/igowhiteiii9.mf
new file mode 100644
index 0000000000..ce55c100b4
--- /dev/null
+++ b/fonts/igo/fonts/igowhiteiii9.mf
@@ -0,0 +1,13 @@
+font_identifier:="IGOWHITEIII"; font_size 9pt#;
+
+size#:=9pt#;
+line_thickness#:=.04size#;
+border_line_thickness#:=.1size#;
+
+%%%
+
+dig_h#:=63/100size#;
+dig_w#:=4/10size#;
+dig_pen#:=1/10size#;
+
+input igowhiteiii
diff --git a/fonts/igo/fonts/makefonts.bat b/fonts/igo/fonts/makefonts.bat
new file mode 100644
index 0000000000..5562f87740
--- /dev/null
+++ b/fonts/igo/fonts/makefonts.bat
@@ -0,0 +1,162 @@
+@ECHO OFF
+
+REM
+REM Assuming MiKtEX is installed...
+REM
+
+DEL "C:\Program Files\MiKTeX\Local TeXMF Tree\fonts\tfm\itc\gyoldsty\*.tfm"
+DEL "C:\Program Files\MiKTeX\Local TeXMF Tree\fonts\pk\ljfour\itc\gyoldsty\dpi600\*.pk"
+
+maketfm igoblacki5
+maketfm igoblacki6
+maketfm igoblacki7
+maketfm igoblacki8
+maketfm igoblacki9
+maketfm igoblacki10
+maketfm igoblacki11
+maketfm igoblacki12
+maketfm igoblacki15
+maketfm igoblacki20
+
+makepk igoblacki5 600 600 1
+makepk igoblacki6 600 600 1
+makepk igoblacki7 600 600 1
+makepk igoblacki8 600 600 1
+makepk igoblacki9 600 600 1
+makepk igoblacki10 600 600 1
+makepk igoblacki11 600 600 1
+makepk igoblacki12 600 600 1
+makepk igoblacki15 600 600 1
+makepk igoblacki20 600 600 1
+
+maketfm igowhitei5
+maketfm igowhitei6
+maketfm igowhitei7
+maketfm igowhitei8
+maketfm igowhitei9
+maketfm igowhitei10
+maketfm igowhitei11
+maketfm igowhitei12
+maketfm igowhitei15
+maketfm igowhitei20
+
+makepk igowhitei5 600 600 1
+makepk igowhitei6 600 600 1
+makepk igowhitei7 600 600 1
+makepk igowhitei8 600 600 1
+makepk igowhitei9 600 600 1
+makepk igowhitei10 600 600 1
+makepk igowhitei11 600 600 1
+makepk igowhitei12 600 600 1
+makepk igowhitei15 600 600 1
+makepk igowhitei20 600 600 1
+
+maketfm igoblackii5
+maketfm igoblackii6
+maketfm igoblackii7
+maketfm igoblackii8
+maketfm igoblackii9
+maketfm igoblackii10
+maketfm igoblackii11
+maketfm igoblackii12
+maketfm igoblackii15
+maketfm igoblackii20
+
+makepk igoblackii5 600 600 1
+makepk igoblackii6 600 600 1
+makepk igoblackii7 600 600 1
+makepk igoblackii8 600 600 1
+makepk igoblackii9 600 600 1
+makepk igoblackii10 600 600 1
+makepk igoblackii11 600 600 1
+makepk igoblackii12 600 600 1
+makepk igoblackii15 600 600 1
+makepk igoblackii20 600 600 1
+
+maketfm igowhiteii5
+maketfm igowhiteii6
+maketfm igowhiteii7
+maketfm igowhiteii8
+maketfm igowhiteii9
+maketfm igowhiteii10
+maketfm igowhiteii11
+maketfm igowhiteii12
+maketfm igowhiteii15
+maketfm igowhiteii20
+
+makepk igowhiteii5 600 600 1
+makepk igowhiteii6 600 600 1
+makepk igowhiteii7 600 600 1
+makepk igowhiteii8 600 600 1
+makepk igowhiteii9 600 600 1
+makepk igowhiteii10 600 600 1
+makepk igowhiteii11 600 600 1
+makepk igowhiteii12 600 600 1
+makepk igowhiteii15 600 600 1
+makepk igowhiteii20 600 600 1
+
+maketfm igoblackiii5
+maketfm igoblackiii6
+maketfm igoblackiii7
+maketfm igoblackiii8
+maketfm igoblackiii9
+maketfm igoblackiii10
+maketfm igoblackiii11
+maketfm igoblackiii12
+maketfm igoblackiii15
+maketfm igoblackiii20
+
+makepk igoblackiii5 600 600 1
+makepk igoblackiii6 600 600 1
+makepk igoblackiii7 600 600 1
+makepk igoblackiii8 600 600 1
+makepk igoblackiii9 600 600 1
+makepk igoblackiii10 600 600 1
+makepk igoblackiii11 600 600 1
+makepk igoblackiii12 600 600 1
+makepk igoblackiii15 600 600 1
+makepk igoblackiii20 600 600 1
+
+maketfm igowhiteiii5
+maketfm igowhiteiii6
+maketfm igowhiteiii7
+maketfm igowhiteiii8
+maketfm igowhiteiii9
+maketfm igowhiteiii10
+maketfm igowhiteiii11
+maketfm igowhiteiii12
+maketfm igowhiteiii15
+maketfm igowhiteiii20
+
+makepk igowhiteiii5 600 600 1
+makepk igowhiteiii6 600 600 1
+makepk igowhiteiii7 600 600 1
+makepk igowhiteiii8 600 600 1
+makepk igowhiteiii9 600 600 1
+makepk igowhiteiii10 600 600 1
+makepk igowhiteiii11 600 600 1
+makepk igowhiteiii12 600 600 1
+makepk igowhiteiii15 600 600 1
+makepk igowhiteiii20 600 600 1
+
+maketfm igo5
+maketfm igo6
+maketfm igo7
+maketfm igo8
+maketfm igo9
+maketfm igo10
+maketfm igo11
+maketfm igo12
+maketfm igo15
+maketfm igo20
+
+makepk igo5 600 600 1
+makepk igo6 600 600 1
+makepk igo7 600 600 1
+makepk igo8 600 600 1
+makepk igo9 600 600 1
+makepk igo10 600 600 1
+makepk igo11 600 600 1
+makepk igo12 600 600 1
+makepk igo15 600 600 1
+makepk igo20 600 600 1
diff --git a/fonts/igo/igo.pdf b/fonts/igo/igo.pdf
new file mode 100644
index 0000000000..c0d20904e7
--- /dev/null
+++ b/fonts/igo/igo.pdf
Binary files differ
diff --git a/fonts/igo/igo.sty b/fonts/igo/igo.sty
new file mode 100644
index 0000000000..cbdf116592
--- /dev/null
+++ b/fonts/igo/igo.sty
@@ -0,0 +1,731 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% File : igo.sty
+%% Version : 0.62
+%% Date : Latest release January 2007. Major releases in April 2003 and February 2006
+%% Authors : Йtienne Dupuis (igo@lestourtereaux.fr)
+%% : Improvements by Nikolay Nemov (nine@che.nsk.su)
+%% Purpose : A TeX package to manipulate Go games and positions.
+%% Documentation : igo.tex
+%% Credits : Based on Hanna Kolodziejska's go.sty version 0.05, 11/1991
+%% : Uses Victor Eijkhout's ultimate loop macro (repeat.tex).
+%% Requires : <repeat.tex>, version 0.93, 05/2003.
+%% History : April 2003 - Version 0.50 - Initial release by Й. Dupuis
+%% : January 2004 - Version 0.51 - Added a '%', thanks to P. Chalmoviansky
+%% : February 2006 - Version 0.60 - Improvements by N. Nemov and Й. Dupuis, thanks to F. Mittelbach
+%% : April 2006 - Version 0.61 - Fixed \igo@char so that \clearstonesymbols works correctly
+%% : January 2007 - Version 0.62 - Improvements by N. Nemov (command \gobansymbols)
+%% License : This work may be distributed and/or modified under the
+%% : conditions of the LaTeX Project Public License, either version 1.3
+%% : of this license or (at your option) any later version.
+%% : The latest version of this license is available at
+%% : http://www.latex-project.org and version 1.3 or later is part
+%% : of all distributions of LaTeX since December 2005.
+%% : This package has the LPPL maintenance status ‘maintained’, the
+%% : current maintainer being the original author, Й. Dupuis.
+%% : This package consists of the stylesheet igo.sty, the documentation
+%% : igo.tex and the related font files.
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\typeout{%
+^^J++++++++++++++++++++++++++++++++++++++++++++++++++++++
+^^J++++++++++++ igo.sty - January 2007 - 0.62 +++++++++++
+^^J+ A TeX package to manipulate Go games and positions +
+^^J++++++++++++++++++++++++++++++++++++++++++++++++++++++^^J}%
+
+\input{repeat.tex}
+
+\catcode`@=11
+\catcode`|=11
+\catcode`;=11
+
+\newcount\igo@count
+\newcount\igo@endwhile
+
+\newcount\igo@fontsize
+
+\newcount\igo@minrow
+\newcount\igo@maxrow
+\newcount\igo@mincol
+\newcount\igo@maxcol
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Copied from latex.ltx
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\long\def\igo@first#1#2{#1}
+\long\def\igo@second#1#2{#2}
+\def\igo@ifundefined#1{%
+ \expandafter\ifx\csname#1\endcsname\relax%
+ \expandafter\igo@first%
+ \else%
+ \expandafter\igo@second%
+ \fi%
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Drawing fonts (Copied from go.sty)
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\newbox\igo@box
+\newdimen\igo@dimen
+
+\def\igo@fonts#1{%
+ \global\font\igo@font=igo#1 at #1truept%
+ \global\font\igo@blackfonti=igoblacki#1 at #1truept%
+ \global\font\igo@whitefonti=igowhitei#1 at #1truept%
+ \global\font\igo@blackfontii=igoblackii#1 at #1truept%
+ \global\font\igo@whitefontii=igowhiteii#1 at #1truept%
+ \global\font\igo@blackfontiii=igoblackiii#1 at #1truept%
+ \global\font\igo@whitefontiii=igowhiteiii#1 at #1truept%
+ \global\setbox\igo@box=\hbox{\igo@font\char0}%
+ \global\igo@dimen=\wd\igo@box%
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Characters
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\igonone{999}
+
+\def\igotriangle{-1}
+\def\igosquare{-2}
+\def\igocircle{-3}
+\def\igocross{-4}
+
+\def\igo@char#1#2{%
+ \ifnum #2=\igotriangle\relax%
+ \csname igo@#1fontiii\endcsname\char127\relax%
+ \else%
+ \ifnum #2=\igosquare\relax%
+ \csname igo@#1fontiii\endcsname\char126\relax%
+ \else%
+ \ifnum #2=\igocircle\relax%
+ \csname igo@#1fontiii\endcsname\char125\relax%
+ \else%
+ \ifnum #2=\igocross\relax%
+ \csname igo@#1fontiii\endcsname\char124\relax%
+ \else%
+ \ifnum #2<0\relax%
+ \errmessage{Stone number must be positive.}%
+ \else%
+ \ifnum #2<128\relax%
+ \csname igo@#1fonti\endcsname\char#2\relax%
+ \else%
+ \ifnum #2<256\relax%
+ \csname igo@#1fontii\endcsname%
+ \igo@count=#2\advance\igo@count by -128%
+ \char\igo@count\relax%
+ \else%
+ \ifnum #2<380\relax%
+ \csname igo@#1fontiii\endcsname%
+ \igo@count=#2\advance\igo@count by -256%
+ \char\igo@count\relax%
+ \else%
+ \ifnum #2<\igonone\relax%
+ \errmessage{Stone number is too large.}%
+ \else\relax%
+ \csname igo@#1fonti\endcsname\char0\relax%
+ \fi\fi\fi\fi\fi\fi\fi\fi\fi%
+}
+
+\def\igo@wchar#1{\igo@char{white}{#1}}
+\def\igo@bchar#1{\igo@char{black}{#1}}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Display sizes
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\igofontsize#1{%
+ \ifnum #1>17\relax%
+ \global\igo@fontsize=20\relax%
+ \igo@fonts{20}\relax%
+ \else%
+ \ifnum #1>13\relax%
+ \global\igo@fontsize=15\relax%
+ \igo@fonts{15}\relax%
+ \else%
+ \ifnum #1>12\relax%
+ \global\igo@fontsize=12\relax%
+ \igo@fonts{12}\relax%
+ \else%
+ \ifnum #1<5\relax%
+ \global\igo@fontsize=5\relax%
+ \igo@fonts{5}\relax%
+ \else%
+ \global\igo@fontsize=#1\relax%
+ \igo@fonts{#1}\relax%
+ \fi\fi\fi\fi%
+}
+
+\def\smallgoban{%
+ \global\igo@fontsize=10%
+ \igo@fonts{10}%
+}
+
+\def\normalgoban{%
+ \global\igo@fontsize=15%
+ \igo@fonts{15}%
+}
+
+\def\largegoban{%
+ \global\igo@fontsize=20%
+ \igo@fonts{20}%
+}
+
+\smallgoban
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Support for multiple boards
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\newcount\igo@board
+
+\def\usegoban#1{%
+ \ifnum #1<0 \errmessage{Positive number expected.} \fi%
+ \global\igo@board=#1%
+}
+
+\usegoban{1}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Support for various board sizes
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\igo@size{\csname igo@size|\number0\endcsname}
+
+\def\gobansize#1{%
+ \ifnum #1<2 \errmessage{Goban size must be between 2 and 50.} \fi%
+ \ifnum #1>50 \errmessage{Goban size must be between 2 and 50.} \fi%
+ \expandafter\gdef\csname igo@size|\number0\endcsname{#1}%
+}
+
+\gobansize{19}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Coordinate system
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\igo@rowlabel#1{\number#1}
+\def\igo@columnlabel#1{\ifcase #1i\or a\or b\or c\or d\or e\or f\or g\or h\or j\or k\or l\or m\or n\or o\or p\or q\or r\or s\or t\or u\or v\or w\or x\or y\or z\or A\or B\or C\or D\or E\or F\or G\or H\or J\or K\or L\or M\or N\or O\or P\or Q\or R\or S\or T\or U\or V\or W\or X\or Y\or Z\else I\fi}
+
+\def\igo@intersectionlabel#1#2{\igo@columnlabel{#1}\igo@rowlabel{#2}}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Hoshi points
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\expandafter\def\csname igo@hoshi;e5;9\endcsname{1}
+\expandafter\def\csname igo@hoshi;c3;9\endcsname{1}
+\expandafter\def\csname igo@hoshi;c7;9\endcsname{1}
+\expandafter\def\csname igo@hoshi;g3;9\endcsname{1}
+\expandafter\def\csname igo@hoshi;g7;9\endcsname{1}
+
+\expandafter\def\csname igo@hoshi;d4;13\endcsname{1}
+\expandafter\def\csname igo@hoshi;g7;13\endcsname{1}
+\expandafter\def\csname igo@hoshi;d10;13\endcsname{1}
+\expandafter\def\csname igo@hoshi;k4;13\endcsname{1}
+\expandafter\def\csname igo@hoshi;k10;13\endcsname{1}
+
+\expandafter\def\csname igo@hoshi;k10;19\endcsname{1}
+\expandafter\def\csname igo@hoshi;d4;19\endcsname{1}
+\expandafter\def\csname igo@hoshi;d16;19\endcsname{1}
+\expandafter\def\csname igo@hoshi;q4;19\endcsname{1}
+\expandafter\def\csname igo@hoshi;q16;19\endcsname{1}
+\expandafter\def\csname igo@hoshi;d10;19\endcsname{1}
+\expandafter\def\csname igo@hoshi;k4;19\endcsname{1}
+\expandafter\def\csname igo@hoshi;k16;19\endcsname{1}
+\expandafter\def\csname igo@hoshi;q10;19\endcsname{1}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Stones on board.
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\igo@supergoban#1#2#3{\expandafter\xdef\csname igo@stone;#1|\number#3\endcsname{#2}}
+\def\igo@goban#1#2{\igo@supergoban{#1}{#2}{\igo@board}}
+
+\def\igo@superstone#1#2#3{\csname igo@stone;\igo@intersectionlabel{#1}{#2}|\number#3\endcsname\relax}
+\def\igo@stone#1#2{\igo@superstone{#1}{#2}{\igo@board}}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Adding white or stones
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\igo@eatbrackets[#1]{}
+
+\def\white{\futurelet\igo@nextchar\igo@optionalwhite}
+\def\igo@optionalwhite{\ifx[\igo@nextchar\let\igo@newmacro\igo@manywhiten\else\let\igo@newmacro\igo@manywhite\fi\igo@newmacro}
+
+\def\igo@whiten[#1]#2{\igo@goban{#2}{\igo@wchar{#1}}}
+\def\igo@white#1{\igo@whiten[0]{#1}}
+
+\def\igo@manywhite#1{\igo@recursivewhite#1,,}
+\def\igo@recursivewhite#1,{\def\igo@end{}\def\igo@arg{#1}\ifx\igo@arg\igo@end\else\igo@white{#1}\expandafter\igo@recursivewhite\fi}
+
+\def\igo@manywhiten[#1]#2{\igo@recursivewhiten[#1]#2,,}
+\def\igo@recursivewhiten[#1]#2,{%
+ \edef\igo@one{#1}%
+ \igo@count=\igo@one%
+ \advance\igo@count by 1%
+ \edef\igo@option{\number\igo@count}%
+ \def\igo@end{}%
+ \def\igo@two{#2}%
+ \ifx\igo@two\igo@end{}\relax%
+ \let\igo@next\igo@eatbrackets%
+ \else%
+ \igo@whiten[\igo@one]{\igo@two}%
+ \ifnum \igo@one<1\relax%
+ \let\igo@option=\igo@one%
+ \let\igo@next\igo@recursivewhiten%
+ \else%
+ \let\igo@next\igo@recursiveblackn%
+ \fi%
+ \fi%
+ \igo@next[\igo@option]%
+}
+
+%%
+
+\def\black{\futurelet\igo@nextchar\igo@optionalblack}
+\def\igo@optionalblack{\ifx[\igo@nextchar\let\igo@newmacro\igo@manyblackn\else\let\igo@newmacro\igo@manyblack\fi\igo@newmacro}
+
+\def\igo@blackn[#1]#2{\igo@goban{#2}{\igo@bchar{#1}}}
+\def\igo@black#1{\igo@blackn[0]{#1}}
+
+\def\igo@manyblack#1{\igo@recursiveblack#1,,}
+\def\igo@recursiveblack#1,{\def\igo@end{}\def\igo@arg{#1}\ifx\igo@arg\igo@end\else\igo@black{#1}\expandafter\igo@recursiveblack\fi}
+
+\def\igo@manyblackn[#1]#2{\igo@recursiveblackn[#1]#2,,}
+\def\igo@recursiveblackn[#1]#2,{%
+ \edef\igo@one{#1}%
+ \igo@count=\igo@one%
+ \advance\igo@count by 1%
+ \edef\igo@option{\number\igo@count}%
+ \def\igo@end{}%
+ \def\igo@two{#2}%
+ \ifx\igo@two\igo@end{}\relax%
+ \let\igo@next\igo@eatbrackets%
+ \else%
+ \igo@blackn[\igo@one]{\igo@two}%
+ \ifnum \igo@one<1\relax%
+ \let\igo@option=\igo@one%
+ \let\igo@next\igo@recursiveblackn%
+ \else%
+ \let\igo@next\igo@recursivewhiten%
+ \fi%
+ \fi%
+ \igo@next[\igo@option]%
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Removing stones from board
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\igo@superclear#1#2{\global\expandafter\let\csname igo@stone;#1|\number#2\endcsname=\relax}
+\def\igo@clear#1{\igo@superclear{#1}{\igo@board}}
+
+\def\clear#1{\igo@recursiveclear#1,,}
+\def\igo@recursiveclear#1,{\def\igo@end{}\def\igo@arg{#1}\ifx\igo@arg\igo@end\else\igo@clear{#1}\expandafter\igo@recursiveclear\fi}
+
+\def\igo@cleargoban#1#2#3#4{%
+ \igo@endwhile=#2%
+ \advance\igo@endwhile by -1%
+ \repeat\for{row} \from{#4} \while{\ifnum \row>\igo@endwhile} \do{%
+ \repeat\for{col} \from{#1} \to{#3} \do{%
+ \igo@clear{\igo@intersectionlabel{\col}{\row}}%
+ }%
+ \advance\row by -2%
+ }%
+}
+
+\def\cleargoban{\futurelet\igo@nextchar\igo@optionalcleargoban}
+\def\igo@optionalcleargoban{\ifx[\igo@nextchar\let\igo@newmacro\igo@clearpartgoban\else\let\igo@newmacro\igo@clearallgoban\fi\igo@newmacro}
+
+\def\igo@clearallgoban{\igo@cleargoban{1}{1}{\igo@size}{\igo@size}}
+\def\igo@clearpartgoban[#1#2,#3#4]{%
+ \igo@minrow=#2%
+ \igo@maxrow=#4%
+ \igo@mincol=1%
+ \igo@maxcol=\igo@size%
+ \repeat\for{col} \to{\igo@size} \do {%
+ \if #1\igo@columnlabel{\col}\relax\igo@mincol=\col\fi%
+ \if #3\igo@columnlabel{\col}\relax\igo@maxcol=\col\fi%
+ }%
+ \igo@cleargoban{\igo@mincol}{\igo@minrow}{\igo@maxcol}{\igo@maxrow}%
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Symbols on the board
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\gobansymbol#1#2{%
+ \ifcat a#2\relax \else\ifcat 0#2\relax \else%
+ \errmessage{Invalid goban symbol.}%
+ \fi\fi%
+ \def\igo@symbol{\igo@font#2}\igo@recursivesymbol#1,,%
+}
+
+\def\igo@recursivesymbol#1,{\def\igo@end{}\def\igo@arg{#1}\ifx\igo@arg\igo@end\else\igo@goban{#1}{\igo@symbol}\expandafter\igo@recursivesymbol\fi}
+
+\def\igo@boardlabel#1{\ifcase #1\or a\or b\or c\or d\or e\or f\or g\or h\or i\or j\or k\or l\or m\or n\or o\or p\or q\or r\or s\or t\or u\or v\or w\or x\or y\or z\or A\or B\or C\or D\or E\or F\or G\or H\or I\or J\or K\or L\or M\or N\or O\or P\or Q\or R\or S\or T\or U\or V\or W\or X\or Y\or Z\or 0\or 1\or 2\or 3\or 4\or 5\or 6\or 7\or 8\or 9\fi}
+\newcount\igo@boardlabelnum
+
+\def\gobansymbols#1#2{%
+ \ifcat a#2\relax \else\ifcat 0#2\relax \else%
+ \errmessage{Invalid goban symbol.}%
+ \fi\fi%
+ \igo@boardlabelnum=0%
+ \repeat \for{symbol} \from{1} \to{62} \do{%
+ \if #2\igo@boardlabel{\symbol} \expandafter\breakrepeat \fi%
+ \igo@boardlabelnum=\symbol%
+ }%
+ \igo@recursivesymbols#1,,%
+}
+
+\def\igo@recursivesymbols#1,{\advance\igo@boardlabelnum by 1\def\igo@end{}\def\igo@arg{#1}\ifx\igo@arg\igo@end\else \igo@goban{#1}{\igo@font\igo@boardlabel{\igo@boardlabelnum}}\expandafter\igo@recursivesymbols\fi}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Characters needed to draw the board
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\igo@ishoshi#1#2{\csname igo@hoshi;\igo@intersectionlabel{#1}{#2};\number\igo@size\endcsname}
+
+\def\igo@gobanchar#1#2{%
+ \ifnum 1=#1%
+ \ifnum 1=#2%
+ \igo@font\char8% % Bottom left corner
+ \else\ifnum \igo@size=#2%
+ \igo@font\char6% % Top left corner
+ \else%
+ \igo@font\char2% % Left border
+ \fi\fi%
+ \else\ifnum \igo@size=#1%
+ \ifnum 1=#2%
+ \igo@font\char9% % Bottom right corner
+ \else\ifnum \igo@size=#2%
+ \igo@font\char7% % Top right corner
+ \else%
+ \igo@font\char3% % Right border
+ \fi\fi%
+ \else\ifnum 1=#2%
+ \igo@font\char5% % Bottom border
+ \else\ifnum \igo@size=#2%
+ \igo@font\char4% % Top border
+ \else\if 1\igo@ishoshi{#1}{#2}\relax%
+ \igo@font\char0% % Hoshi point
+ \else%
+ \igo@font\char1% % Empty interior square
+ \fi\fi\fi\fi\fi%
+}
+
+\def\igo@gobanbgrdchar#1#2{%
+ \ifnum 1=#1%
+ \ifnum 1=#2%
+ \igo@font\char17% % Bottom left corner
+ \else\ifnum \igo@size=#2%
+ \igo@font\char15% % Top left corner
+ \else%
+ \igo@font\char11% % Left border
+ \fi\fi%
+ \else\ifnum \igo@size=#1%
+ \ifnum 1=#2%
+ \igo@font\char18% % Bottom right corner
+ \else\ifnum \igo@size=#2%
+ \igo@font\char16% % Top right corner
+ \else%
+ \igo@font\char12% % Right border
+ \fi\fi%
+ \else\ifnum 1=#2%
+ \igo@font\char14% % Bottom border
+ \else\ifnum \igo@size=#2%
+ \igo@font\char13% % Top border
+ \else%
+ \igo@font\char10% % Empty interior square
+ \fi\fi\fi\fi%
+}
+
+\def\igo@backspace{%
+ \hskip -\wd\igo@box%
+}
+
+\def\igo@getchar#1#2{%
+ \igo@ifundefined%
+ {igo@stone;\igo@intersectionlabel{#1}{#2}|\number\igo@board}%
+ {\rlap{\igo@gobanchar{#1}{#2}}\hskip\wd\igo@box}%
+ {\rlap{\igo@gobanbgrdchar{#1}{#2}\igo@backspace\igo@stone{#1}{#2}}\hskip\wd\igo@box}%
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Define size of stones in text (Nikolai Nemov, from size10.clo)
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\renewcommand\normalsize{%
+ \@setfontsize\normalsize\@xpt\@xiipt
+ \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@
+ \abovedisplayshortskip \z@ \@plus3\p@
+ \belowdisplayshortskip 6\p@ \@plus3\p@ \@minus3\p@
+ \belowdisplayskip \abovedisplayskip
+ \let\@listi\@listI
+ \def\stonesize{\igo@fonts{9}}%
+}
+
+\renewcommand\small{%
+ \@setfontsize\small\@ixpt{11}%
+ \abovedisplayskip 8.5\p@ \@plus3\p@ \@minus4\p@
+ \abovedisplayshortskip \z@ \@plus2\p@
+ \belowdisplayshortskip 4\p@ \@plus2\p@ \@minus2\p@
+ \def\@listi{\leftmargin\leftmargini
+ \topsep 4\p@ \@plus2\p@ \@minus2\p@
+ \parsep 2\p@ \@plus\p@ \@minus\p@
+ \itemsep \parsep}%
+ \belowdisplayskip \abovedisplayskip
+ \def\stonesize{\igo@fonts{8}}%
+}
+
+\renewcommand\footnotesize{%
+ \@setfontsize\footnotesize\@viiipt{9.5}%
+ \abovedisplayskip 6\p@ \@plus2\p@ \@minus4\p@
+ \abovedisplayshortskip \z@ \@plus\p@
+ \belowdisplayshortskip 3\p@ \@plus\p@ \@minus2\p@
+ \def\@listi{\leftmargin\leftmargini
+ \topsep 3\p@ \@plus\p@ \@minus\p@
+ \parsep 2\p@ \@plus\p@ \@minus\p@
+ \itemsep \parsep}%
+ \belowdisplayskip \abovedisplayskip
+ \def\stonesize{\igo@fonts{7}}%
+}
+
+\renewcommand\scriptsize{\@setfontsize\scriptsize\@viipt\@viiipt
+ \def\stonesize{\igo@fonts{6}}}%
+\renewcommand\tiny{\@setfontsize\tiny\@vpt\@vipt
+ \def\stonesize{\igo@fonts{5}}}%
+\renewcommand\large{\@setfontsize\large\@xiipt{14}
+ \def\stonesize{\igo@fonts{10}}}%
+\renewcommand\Large{\@setfontsize\Large\@xivpt{18}
+ \def\stonesize{\igo@fonts{11}}}%
+\renewcommand\LARGE{\@setfontsize\LARGE\@xviipt{22}
+ \def\stonesize{\igo@fonts{12}}}%
+\renewcommand\huge{\@setfontsize\huge\@xxpt{25}
+ \def\stonesize{\igo@fonts{15}}}%
+\renewcommand\Huge{\@setfontsize\Huge\@xxvpt{30}
+ \def\stonesize{\igo@fonts{20}}}%
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Displaying stones within normal text
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\blackstone{\leavevmode\futurelet\igo@nextchar\igo@optionalblackstone}
+\def\igo@optionalblackstone{\ifx[\igo@nextchar\let\igo@newmacro\igo@blackstonen\else\let\igo@newmacro\igo@blackstone\fi\igo@newmacro}
+
+\def\igo@blackstone{\igo@blackstonen[0]}
+\def\igo@blackstonen[#1]{\stonesize\lower0.2\wd\igo@box\hbox{\igo@bchar{#1}}\igo@fonts{\number\igo@fontsize}}
+
+%%
+
+\def\whitestone{\leavevmode\futurelet\igo@nextchar\igo@optionalwhitestone}
+\def\igo@optionalwhitestone{\ifx[\igo@nextchar\let\igo@newmacro\igo@whitestonen\else\let\igo@newmacro\igo@whitestone\fi\igo@newmacro}
+
+\def\igo@whitestone{\igo@whitestonen[0]}
+\def\igo@whitestonen[#1]{\stonesize\lower0.2\ht\igo@box\hbox{\igo@wchar{#1}}\igo@fonts{\number\igo@fontsize}}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Display a board
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%\let\igobreakafterdiagram=\break
+\let\igobreakafterdiagram\empty
+
+\def\igo@showgoban#1#2#3#4{%
+ \igo@endwhile=#2%
+ \advance\igo@endwhile by -1%
+ \igo@count=1%
+ \advance\igo@count by #3%
+ \advance\igo@count by -#1%
+ \leavevmode\hbox{%
+ \vbox{\offinterlineskip\noindent%
+ \hsize=\igo@dimen%
+ \multiply\hsize\igo@count%
+ \break%
+ \repeat\for{row} \from{#4} \while{\ifnum \row>\igo@endwhile} \do{%
+ \repeat\for{col} \from{#1} \to{#3} \do{%
+ \igo@getchar{\col}{\row}%
+ }%
+ \advance\row by -2%
+ \break%
+ }%
+ \break%
+ }%
+ }%
+ \igobreakafterdiagram%
+}
+
+\def\showgoban{\futurelet\igo@nextchar\igo@optionalshowgoban}
+\def\igo@optionalshowgoban{\ifx[\igo@nextchar\let\igo@newmacro\igo@showmygoban\else\let\igo@newmacro\igo@autoshowgoban\fi\igo@newmacro}
+
+\def\igo@autoshowgoban{%
+ \igo@mincol=\igo@size%
+ \igo@minrow=\igo@size%
+ \igo@maxcol=1%
+ \igo@maxrow=1%
+ \repeat\for{row} \from{1} \to{\igo@size} \do{%
+ \repeat\for{col} \from{1} \to{\igo@size} \do{%
+ \igo@ifundefined%
+ {igo@stone;\igo@intersectionlabel{\col}{\row}|\number\igo@board}%
+ {\relax}%
+ {%
+ \ifnum\col<\igo@mincol\relax\igo@mincol=\col\fi%
+ \ifnum\col>\igo@maxcol\relax\igo@maxcol=\col\fi%
+ \ifnum\row<\igo@minrow\relax\igo@minrow=\row\fi%
+ \ifnum\row>\igo@maxrow\relax\igo@maxrow=\row\fi%
+ }%
+ }%
+ }%
+ \ifnum\igo@mincol>1\relax\advance\igo@mincol by -1\fi%
+ \ifnum\igo@minrow>1\relax\advance\igo@minrow by -1\fi%
+ \ifnum\igo@maxcol<\igo@size\relax\advance\igo@maxcol by 1\fi%
+ \ifnum\igo@maxrow<\igo@size\relax\advance\igo@maxrow by 1\fi%
+ \ifnum\igo@mincol=2\relax\igo@mincol=1\fi%
+ \ifnum\igo@minrow=2\relax\igo@minrow=1\fi%
+ \advance\igo@maxcol by 1%
+ \advance\igo@maxrow by 1%
+ \ifnum\igo@maxcol=\igo@size\relax\else\advance\igo@maxcol by -1\fi%
+ \ifnum\igo@maxrow=\igo@size\relax\else\advance\igo@maxrow by -1\fi%
+ \ifnum\igo@minrow>\igo@maxrow\relax\igo@minrow=1\igo@maxrow=\igo@size\fi%
+ \ifnum\igo@mincol>\igo@maxcol\relax\igo@mincol=1\igo@maxcol=\igo@size\fi%
+ \igo@showgoban{\igo@mincol}{\igo@minrow}{\igo@maxcol}{\igo@maxrow}%
+}
+
+\def\igo@showmygoban[#1#2,#3#4]{%
+ \igo@minrow=#2%
+ \igo@maxrow=#4%
+ \igo@mincol=1%
+ \igo@maxcol=\igo@size%
+ \repeat\for{col} \to{\igo@size} \do{%
+ \if #1\igo@columnlabel{\col}\relax\igo@mincol=\col\fi%
+ \if #3\igo@columnlabel{\col}\relax\igo@maxcol=\col\fi%
+ }%
+ \igo@showgoban{\igo@mincol}{\igo@minrow}{\igo@maxcol}{\igo@maxrow}%
+}
+
+\def\showfullgoban{\igo@showgoban{1}{1}{\igo@size}{\igo@size}}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Copying boards
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\igo@copygoban#1#2{%
+ \repeat\for{row} \from{1} \to{\igo@size} \do {%
+ \repeat\for{col} \from{1} \to{\igo@size} \do {%
+ \igo@ifundefined%
+ {igo@stone;\igo@intersectionlabel{\col}{\row}|\number#1}%
+ {\igo@superclear{\igo@intersectionlabel{\col}{\row}}{#2}}%
+ {\igo@supergoban{\igo@intersectionlabel{\col}{\row}}{\igo@superstone{\col}{\row}{#1}}{#2}}%
+ }%
+ }%
+}
+
+\def\copyfromgoban#1{\igo@copygoban{#1}{\igo@board}}
+\def\copytogoban#1{\igo@copygoban{\igo@board}{#1}}
+
+\def\copygoban#1{\copyfromgoban{#1}}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Removing goban symbols (Frank Mittelbach)
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\igo@getplainstone#1#2#3#4#5#6#7\igo@getplainstone#8{%
+ \xdef#8{%
+ \relax%
+ \if #6b%
+ \igo@blackfonti%
+ \else%
+ \igo@whitefonti%
+ \fi%
+ \char 0\relax%
+ }%
+}
+
+\def\igo@getplainstoneornothing#1#2#3\igo@getplainstoneornothing#4{%
+ \ifx#1\igo@font%
+ \global\let#4\relax%
+ \else%
+ \expandafter\igo@getplainstone\string#2\igo@getplainstone#4%
+ \fi%
+}
+
+\def\igo@clearsymbolx#1{%
+ \expandafter\igo@getplainstoneornothing #1\igo@getplainstoneornothing#1%
+}
+
+\def\igo@clearsymbol#1#2#3{%
+ \expandafter\igo@clearsymbolx%
+ \csname igo@stone;\igo@intersectionlabel{#1}{#2}|\number#3\endcsname%
+}
+
+\def\igo@cleargobansymbols#1{%
+ \repeat\for{row} \from{1} \to{\igo@size} \do {%
+ \repeat\for{col} \from{1} \to{\igo@size} \do {%
+ \igo@ifundefined%
+ {igo@stone;\igo@intersectionlabel{\col}{\row}|\number#1}%
+ {\igo@superclear{\igo@intersectionlabel{\col}{\row}}{#1}}%
+ {\igo@clearsymbol{\col}{\row}{#1}}%
+ }%
+ }%
+}
+
+\def\cleargobansymbols{\igo@cleargobansymbols{\igo@board}}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Geometric transformations
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\mirrorgoban{%
+ \copytogoban{0}%
+ \repeat\for{row} \from{1} \to{\igo@size} \do{%
+ \repeat\for{col} \from{1} \to{\igo@size} \do{%
+ \igo@ifundefined%
+ {igo@stone;\igo@intersectionlabel{\row}{\col}|0}%
+ {\igo@clear{\igo@intersectionlabel{\col}{\row}}}%
+ {\igo@goban{\igo@intersectionlabel{\col}{\row}}{\igo@superstone{\row}{\col}{0}}}%
+ }%
+ }%
+}
+
+\def\vflipgoban{%
+ \copytogoban{0}%
+ \repeat\for{row} \from{1} \to{\igo@size} \do{%
+ \repeat\for{col} \from{1} \to{\igo@size} \do{%
+ \igo@count=1%
+ \advance\igo@count by \igo@size%
+ \advance\igo@count by -\row%
+ \igo@ifundefined%
+ {igo@stone;\igo@intersectionlabel{\col}{\igo@count}|0}%
+ {\igo@clear{\igo@intersectionlabel{\col}{\row}}}%
+ {\igo@goban{\igo@intersectionlabel{\col}{\row}}{\igo@superstone{\col}{\igo@count}{0}}}%
+ }%
+ }%
+}
+
+\def\hflipgoban{%
+ \copytogoban{0}%
+ \repeat\for{row} \from{1} \to{\igo@size} \do{%
+ \repeat\for{col} \from{1} \to{\igo@size} \do{%
+ \igo@count=1%
+ \advance\igo@count by \igo@size%
+ \advance\igo@count by -\col%
+ \igo@ifundefined%
+ {igo@stone;\igo@intersectionlabel{\igo@count}{\row}|0}%
+ {\igo@clear{\igo@intersectionlabel{\col}{\row}}}%
+ {\igo@goban{\igo@intersectionlabel{\col}{\row}}{\igo@superstone{\igo@count}{\row}{0}}}%
+ }%
+ }%
+}
+
+\def\rotategobanright{\mirrorgoban\vflipgoban}
+\def\rotategobanleft{\mirrorgoban\hflipgoban}
+\def\rotategoban{\hflipgoban\vflipgoban}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\catcode`;=12
+\catcode`|=12
+\catcode`@=12
diff --git a/fonts/igo/igo.tex b/fonts/igo/igo.tex
new file mode 100644
index 0000000000..a475e40687
--- /dev/null
+++ b/fonts/igo/igo.tex
@@ -0,0 +1,403 @@
+\documentclass[fleqn]{article}
+
+\usepackage{url}
+\usepackage{igo}
+\usepackage{amstext}
+\setlength{\parindent}{0pt}
+\setlength{\parskip}{2pt}
+\sloppy
+
+\begin{document}
+
+\title{Typesetting Go diagrams in \TeX\ or \LaTeX\ with \textit{igo}}
+\author{{\'E}tienne Dupuis\thanks{igo@lestourtereaux.fr}}
+\date{April 2003; February 2006}
+\maketitle
+
+\section{Introduction}
+
+The package \textit{igo} is based on \textit{go}, a package written in $1991$ by Hanna Ko{\l}odziejska\footnote{See Ko{\l}odziejska, Hanna, \textit{Go diagrams with \TeX}, November 1991.}. Although \textit{igo} contains roughly the same commands as the original package and uses the fonts created by Ko{\l}odziejska, it has (hopefully) been improved by
+\begin{enumerate}
+ \item
+ Using command names less likely to conflict with standard AMS packages;
+ \item
+ Allowing different board sizes to be used;
+ \item
+ Understanding a standardized notation for board coordinates;
+ \item
+ Providing the facility to work on more than one board.
+ \item
+ Allowing stones included in text to be resized\footnote{This feature was introduced by N. Nemov in version 0.60 from 2006}.
+\end{enumerate}
+Moreover, a few commands were reworked to define positions or game sequences more conveniently.
+
+The current package also contains enhancements by Nikolay Nemov and Frank Mittelbach, to which the author expresses warm thanks.
+
+\subsection{What's new?}
+
+The following commands and features are new since the original package release of March 2003:
+\begin{itemize}
+ \item
+ Stones included in text are resized according to the selected text size.
+ \item
+ Command \verb|\cleargobansymbols| clears all stone numbers and goban symbols.
+ \item
+ New font sizes have been added. They are selected using command \verb|\igofontsize{n}|.
+ \item
+ New symbols are available for displaying on stones.
+\end{itemize}
+
+Some small enhancements which may not be readily visible have also been included.
+
+A \textbf{breaking change}\marginpar{\framebox{\Large{!\ }}} was made while upgrading to version 0.60. In prior versions, a line break (\verb|\break|) was inserted after diagrams. This line break was removed. The original behavior is available by inserting the following definition after including the \textit{igo} package: \[\verb|\let\igobreakafterdiagram=\break|.\]
+
+\section{User Manual}
+
+Let's start with an exercise taken from a book by James Davies, \textit{Life and Death}\footnote{Elementary Go Series vol. 4, Kiseido Publishing Company, \copyright 1975, 1996}~:
+
+\medskip
+\begin{minipage}[c][1.0\height][c]{0.65\textwidth}
+\begin{verbatim}
+ \white{b4,c4,d4,e4,f4,g3,g2,c3}
+ \black{b3,b2,c2,d3,e3,f3,f2}
+ \begin{center}
+ \shortstack{\showgoban\\White to kill}
+ \end{center}
+\end{verbatim}
+\end{minipage}
+%
+\begin{minipage}[c][1.0\height][r]{0.25\textwidth}
+\white{b4,c4,d4,e4,f4,g3,g2,c3}
+\black{b3,b2,c2,d3,e3,f3,f2}
+\begin{center}
+ \shortstack{\showgoban\\White to kill}
+\end{center}
+\end{minipage}
+\medskip
+
+The package uses a \textit{standard} notation for the goban coordinates, that is columns are labelled from $a$ (left) to $t$ (right) and rows from $1$ (bottom) to $19$ (top). Note that the letter $i$ is not used in this notation. Although this notation is suitable for board sizes up to $25 \times 25$, this package extends it to boards of size up to $50 \times 50$ by using capital letters for columns $26$ to $50$. The command \verb|\showgoban|, as opposed to \verb|\showfullgoban|, displays only a part of the board. More precisely, let $m$ and $M$ be the indices of the minimum and maximum rows of the board on which a stone can be found. Rows $m-1$ to $M+1$ will be displayed, unless $m-2$ or $M+2$ brings us to the side of the board, in which case an additional row will be included. Same rules apply for columns. For example, let us see what happens when we resize the board:
+
+\medskip
+\begin{minipage}[c][1.0\height][c]{0.45\textwidth}
+\begin{verbatim}
+ \gobansize{9}
+ \showgoban
+\end{verbatim}
+\end{minipage}
+%
+\begin{minipage}[c][1.0\height][c]{0.45\textwidth}
+\begin{center}
+ \gobansize{9}
+ \showgoban
+\end{center}
+\end{minipage}
+
+Of course, such a behavior may not always give the desired diagram, hence one can specify the region of the board to display:
+
+\medskip
+\begin{minipage}[c][1.0\height][c]{0.45\textwidth}
+\begin{verbatim}
+ \showgoban[a1,h6]
+\end{verbatim}
+\end{minipage}
+%
+\begin{minipage}[c][1.0\height][c]{0.45\textwidth}
+\begin{center}
+ \showgoban[a1,h6]
+\end{center}
+\end{minipage}
+
+Let us reset the board size (with \verb|\gobansize{19}|) \gobansize{19} and go back to our \textit{White to kill} problem. The solution is marked in the following (oversized) diagram by the stone \verb|\whitestone[\igotriangle]| \whitestone[\igotriangle]:
+
+\medskip
+\begin{minipage}[c][1.0\height][c]{0.45\textwidth}
+\begin{verbatim}
+ \white[\igotriangle]{c1}
+ \gobansymbol{f1}{x}
+ \largegoban\showgoban
+\end{verbatim}
+\end{minipage}
+%
+\begin{minipage}[c][1.0\height][c]{0.45\textwidth}
+\begin{center}
+ \largegoban
+ \white[\igotriangle]{e1}
+ \gobansymbol{f1}{x}
+ \showgoban
+\end{center}
+\end{minipage}
+
+White's \whitestone[\igotriangle] threatens to invade black's group by playing at intersection $x$. The invasion would be fatal to black as after
+
+\medskip
+\begin{minipage}[c][1.0\height][c]{0.45\textwidth}
+\begin{verbatim}
+ \black[1]{d1,f1,-,d2}
+ \showgoban
+\end{verbatim}
+\end{minipage}
+%
+\begin{minipage}[c][1.0\height][c]{0.45\textwidth}
+\begin{center}
+ \black[1]{d1,f1,-,d2}
+ \showgoban
+\end{center}
+\end{minipage}
+
+black can't prevent white from capturing the right half of his group. However, even if black plays at $x$, he may not escape his fate :
+
+\medskip
+\begin{minipage}[c][1.0\height][c]{0.45\textwidth}
+\begin{verbatim}
+ \clear{d1}
+ \black[1]{f1,d2,c1,g1,a3,a1}
+ \showgoban
+\end{verbatim}
+\end{minipage}
+%
+\begin{minipage}[c][1.0\height][c]{0.45\textwidth}
+\begin{center}
+ \clear{d1}
+ \black[1]{f1,d2,c1,g1,a3,a1}
+ \showgoban
+\end{center}
+\end{minipage}
+
+Finally, we conclude this manual with a joseki, thereby illustrating a few more commands:
+
+\medskip
+\begin{minipage}[c][1.0\height][c]{0.45\textwidth}
+\begin{verbatim}
+ \smallgoban
+ \cleargoban
+ \white[1]{c16,e16,e17,f17,d17,f16}
+ \copytogoban{2}
+ \white[7]{c14,k17}
+ \showgoban
+\end{verbatim}
+\end{minipage}
+%
+\begin{minipage}[c][1.0\height][c]{0.45\textwidth}
+\begin{center}
+ \smallgoban
+ \cleargoban
+ \white[1]{c16,e16,e17,f17,d17,f16}
+ \copytogoban{2}
+ \white[7]{c14,k17}
+ \showgoban
+\end{center}
+\end{minipage}
+
+The position after the sixth move is preserved by copying it to another goban. This goban may be set as the working one, as shown by the following commands:
+
+\medskip
+\begin{minipage}[c][1.0\height][c]{0.45\textwidth}
+\begin{verbatim}
+ \usegoban{2}
+ \cleargobansymbols
+ \white[1]{c14,k17}
+ \showgoban
+\end{verbatim}
+\end{minipage}
+%
+\begin{minipage}[c][1.0\height][c]{0.45\textwidth}
+\begin{center}
+ \usegoban{2}
+ \cleargobansymbols
+ \white[1]{c14,k17}
+ \showgoban
+\end{center}
+\end{minipage}
+
+\section{Reference}
+
+\subsection{Parameter Syntax}
+\label{sec:parameters}
+
+The following parameter types are used in the macro syntax that follows :
+\begin{description}
+ \item [n] --- A positive integer, zero not included.
+ \item [symbol] --- A digit (0--9) or a letter (A--Z or a--z). More symbols may be added in the future. Any volunteer to edit the metafont ?
+ \item [glyph] --- A positive integer, \verb|\igonone| or one of \[\verb|\igotriangle|, \quad \verb|\igosquare|, \quad \verb|\igocircle|, \quad \verb|\igocross|.\] These numbers or glyphs decorate stones, except \verb|\igonone|, which stands for no decoration. A \emph{glyph} can also be a \TeX\ command which returns a number, for example \verb|\thepage|.
+ \item [intersection] --- A goban intersection. Columns are labelled with a letter, left to right, $a$ begin the first, $b$ the second, etc. Letter $i$ is not used. Capital letters are used for column $26$ and above. Rows are labelled with a number, bottom to top. A goban intersection is thus a letter followed by a number, e.g. \textit{c12}.
+ \item [intersection-pair] --- A pair of intersections, e.g. \textit{a4,k12}. There are no spaces after the comma. The first intersection must be smaller or equal than the second, in the sense that the first column must not be at right of the second and the first row must not be above the second, e.g. \textit{d3,d9} is valid but \textit{s8,q15} is not.
+ \item [intersection-list] --- A comma separated list of intersections, e.g. \textit{c14,g3,t17,f1}. The list may contain a single intersection. No spaces should be used. Skipping a list entry can be achieved with symbol $-$, as in \textit{c14,g3,-,t17,f1}, which is a five element list.
+\end{description}
+Optional parameters are enclosed in square brackets while compulsory ones are delimited by braces.
+
+\subsection{The Goban}
+
+The goban can be resized with
+\begin{displaymath}
+ \verb|\gobansize{n}|, \quad\text{where $2 \leq n \leq 50$}.
+\end{displaymath}
+Note that it is possible to put stones outside the goban; they will eventually be displayed if the goban is made large enough to contain them. Likewise, no stones are removed if the goban is reduced. Default size is $19 \times 19$.
+
+\subsection{Adding Stones}
+\label{sec:stones}
+
+Stones can be added with \[\verb|\white[glyph]{intersection-list}| \quad\text{or its counterpart}\] \[\verb|\black[glyph]{intersection-list}|.\] These commands add stones at each of the given intersections. However, the exact behavior of the commands vary depending on the (optional) glyph given. If this glyph is a positive number or \verb|\igonone|, stone colors will alternate, the stone number (if applicable) increasing with each intersection of the list. Finally, if the symbol is \verb|\igotriangle|, \verb|\igosquare|, etc. all stones displayed will be of the same color and will wear the same glyph. For example, \[\verb|\white[14]{c1,b1,d1}| \quad\text{is equivalent to}\] \[\verb|\white[14]{c1}| \quad \verb|\black[15]{b1,d1}|.\] If an intersection is not free, the new stone replaces the one already on the intersection.
+
+Here is another example which illustrates the difference the optional arguments make:
+
+\medskip
+\begin{minipage}[c][1.0\height][c]{0.32\textwidth}
+\begin{center}
+ \cleargoban
+ \black[1]{c4,e4,h4,d7,e5,f5}
+ \showgoban[a1,j8]\break
+ \verb|\black[1]{...}|
+\end{center}
+\end{minipage}
+\begin{minipage}[c][1.0\height][c]{0.33\textwidth}
+\begin{center}
+ \cleargoban
+ \black[\igonone]{c4,e4,h4,d7,e5,f5}
+ \showgoban[a1,j8]\break
+ \verb|\black[\igonone]{...}|
+\end{center}
+\end{minipage}
+\begin{minipage}[c][1.0\height][c]{0.32\textwidth}
+\begin{center}
+ \cleargoban
+ \black{c4,e4,h4,d7,e5,f5}
+ \showgoban[a1,j8]\break
+ \verb|\black{...}|
+\end{center}
+\end{minipage}
+\medskip
+
+To help game editing, the following command clears all stone numbers and all symbols on the current board: \[\verb|\cleargobansymbols|.\] For example, if this command is used on the left diagram above, the result would be the second diagram.
+
+\subsection{Removing Stones}
+
+Stones may be removed with \[\verb|\clear{intersection-list}| \quad\text{or with}\] \[\verb|\cleargoban[intersection-pair]|.\] For the latter, if the optional parameter is omitted the whole goban is cleared. Note that stones outside the goban (if any) are not removed hence one should clear a goban after changing its size.
+
+\subsection{Displaying the Goban}
+
+Command \[\verb|\showfullgoban|\] is used to display the goban. The diagram is put in a box which can be centered for example with \LaTeX's \verb|center| environment. One may also put the goban inside figures, tables or use any other package to display more than one diagram on a single line, etc. Command \[\verb|\showgoban[intersection-pair]|\] is used to partially display the goban. If the optional parameter is omitted, \textit{igo} computes which region of the goban should be displayed. The region is computed as follow :
+\begin{enumerate}
+ \item
+ The region to display is the smallest one that includes all stones that can be found on the goban. If this region has width or height less than two, then the region is defined as the full goban.
+ \item
+ If possible a border of one row (or column) is added to enclose the region defined above. The border is extended to two rows (or columns) on the sides that are near the border of the goban.
+\end{enumerate}
+Note that hoshi points have been defined for $9 \times 9$, $13 \times 13$ and $19 \times 19$ gobans only.
+
+When using one of the above command to display a goban, the diagram box is immediately followed by a \verb|\igobreakafterdiagram| command, which is currently set to do nothing. Note that in previous version of this package, the command was set to \[\verb|\let\igobreakafterdiagram=\break|.\]
+
+The diagram displayed can be resized with \[\verb|\igofontsize{n}|, \quad\text{where $n \in \{5, 6, 7, 8, 9, 10, 11, 12, 15, 20\}$}.\] For convenience (and backward compatibility), the following commands may also be used:
+\[\begin{array}{lll}
+ \verb|\smallgoban| & \longmapsto & \verb|\igofontsize{10}| \quad\text{(default value)} \\
+ \verb|\normalgoban| & \longmapsto & \verb|\igofontsize{15}| \\
+ \verb|\largegoban| & \longmapsto & \verb|\igofontsize{20}|.
+\end{array}\]
+The modification applies to all further diagrams.
+
+\subsection{Adding Symbols}
+
+Special symbols can be added on empty intersections of a goban with \[\verb|\gobansymbol{intersection-list}{symbol}|.\] The list of available symbols is given in section~\ref{sec:parameters}. Since version 0.62 of this package, consecutive symbols may be added using
+\[\verb|\gobansymbols{intersection-list}{symbol}|.\] The given symbol is \emph{incremented} for each intersection, as shown in the example below.
+
+\medskip
+\begin{minipage}[c][1.0\height][c]{0.49\textwidth}
+\begin{center}
+ \cleargoban
+ \gobansymbol{b2,d3,-,c4}{a}
+ \showgoban\break
+ \verb|\gobansymbol{b2,d3,-,c4}{a}|
+\end{center}
+\end{minipage}
+\begin{minipage}[c][1.0\height][c]{0.49\textwidth}
+\begin{center}
+ \cleargoban
+ \gobansymbols{b2,d3,-,c4}{a}
+ \showgoban\break
+ \verb|\gobansymbols{b2,d3,-,c4}{a}|
+\end{center}
+\end{minipage}
+\medskip
+
+All symbols may be cleared at once using \[\verb|\cleargobansymbols|.\] Note though that this commands also removes the stone numbers, as detailed in section~\ref{sec:stones}.
+
+\subsection{Displaying Individual Stones}
+
+Stones may be displayed within text with \[\verb|\whitestone[glyph]| \quad\text{and}\] \[\verb|\blackstone[glyph]|.\] These stones are scaled according to text font size by usual \TeX\ commands (see Table \ref{tab:fonts}): \\
+\begin{tabular}{ll}
+\verb|{\tiny \blackstone[5] and...}| & {\tiny \blackstone[5] and tiny text \whitestone[\igotriangle]} \\
+\verb|{\scriptsize \blackstone[6] and...}| & {\scriptsize \blackstone[6] and scriptsize text \whitestone[\igosquare]} \\
+\verb|{\footnotesize \blackstone[7] and...}| & {\footnotesize \blackstone[7] and footnotesize text \whitestone[\igocircle]} \\
+\verb|{\small \blackstone[8] and...}| & {\small \blackstone[8] and small text \whitestone[\igocross]} \\
+\verb|{\normalsize \blackstone[10] and...}| & {\normalsize \blackstone[10] and normalsize \whitestone[\igotriangle]} \\
+\ldots & \ldots
+\end{tabular}
+Larger stones inserted in normal 10pt text are displayed as follow: \par
+\verb|{\large \blackstone[10]}| --- some text {\large \blackstone[10]} and {\large \whitestone[\igotriangle]}. \par
+\verb|{\Large \blackstone[11]}| --- some text {\Large \blackstone[11]} and {\Large \whitestone[\igosquare]}. \par
+\verb|{\LARGE \blackstone[12]}| --- some text {\LARGE \blackstone[12]} and {\LARGE \whitestone[\igocircle]}. \par
+\verb|{\huge \blackstone[15]}| --- some text {\huge \blackstone[15]} and {\huge \whitestone[\igocross]}. \par
+\verb|{\Huge \blackstone[20]}| --- some text {\Huge \blackstone[20]} and {\Huge \whitestone[\igotriangle]}. \par
+
+Relation of sizes between stones and text may be changed a little if you use another initial size for normal text, for example 11pt or 12pt.
+
+\subsection{Multiple Gobans}
+
+It may be useful to work on more than one goban simultaneously, e.g. to save intermediate positions in a game in order to display them later of explore further variations. \[\verb|\usegoban{n}|\] serves that purpose by selecting another goban. Goban \#$1$ is the one used by default. Copy commands are available to make full use of this feature : \[\verb|\copyfromgoban{n}|\] copies the content of goban \#$n$ to the current working goban while \[\verb|\copytogoban{n}|\] copies the current goban to goban \#$n$. Note that all gobans have the same size.
+
+For backward compatibility, the alternative spelling \verb|\copygoban| may be used in place of \verb|\copyfromgoban|.
+
+\subsection{Geometric Transformations}
+
+Lastly, the following commands may be used to perform basic transformations on a position :
+\begin{enumerate}
+ \item
+ \verb|\rotategoban| rotates the board by $180^\circ$;
+ \item
+ \verb|\rotategobanleft| rotates the board counterclockwise by $90^\circ$;
+ \item
+ \verb|\rotategobanright| rotates the board clockwise by $90^\circ$;
+ \item
+ \verb|\hflipgoban| mirrors the board through a vertical axis;
+ \item
+ \verb|\vflipgoban| mirrors the board through an horizontal axis;
+ \item
+ \verb|\mirrorgoban| mirrors the board through a diagonal axis.
+\end{enumerate}
+
+\subsection{Fonts}
+
+Package \textit{igo} uses the following font files :
+\begin{description}
+ \item [igo$<$size$>$] contains symbols used to draw the goban, where $<$\textit{size}$>$ is one of \textit{5, 6, 7, 8, 9, 10, 11, 12, 15, 20}. These fonts include the computer modern roman font symbols for letters and digits so they can be drawn on the board. Table~\ref{tab:fonts} summarizes the fonts used by \textit{igo} and the available sizes
+ \item [igo$<$color$>$$<$n$>$$<$size$>$] contains stone glyphs, where $<$\textit{size}$>$ is as above, $<$\textit{color}$>$ is \textit{black} or \textit{white} and $<$\textit{n}$>$ is a roman numeral number, as three font files are needed to hold stone glyphs up to $361$, the number of intersections on a $19 \times 19$ goban. This should be enough to render almost all Go games.
+\end{description}
+These fonts have been created by Hanna Ko{\l}odziejska and (only slightly) altered by myself and N. Nemov.
+
+\begin{table}[htb]
+ \caption{Summary of font sizes used by \textit{igo}}
+ \label{tab:fonts}
+ \begin{center}
+ \begin{tabular}{llrl}
+ \hline
+ \multicolumn{1}{c}{\TeX\ Command} & \multicolumn{2}{c}{Fonts} & \multicolumn{1}{c}{Go board size} \\
+ \hline \hline
+ \verb|\tiny| & igo5 & (cmr5) & \verb|\igofontsize{5}| \\
+ \verb|\scriptsize| & igo6 & (cmr6) & \verb|\igofontsize{6}| \\
+ \verb|\footnotesize| & igo7 & (cmr7) & \verb|\igofontsize{7}| \\
+ \verb|\small| & igo8 & (cmr8) & \verb|\igofontsize{8}| \\
+ \verb|\normalsize| & igo9 & (cmr9) & \verb|\igofontsize{9}| \\
+ \verb|\large| & igo10 & (cmr10) & \verb|\smallgoban| \\
+ \verb|\Large| & igo11 & (cmr10) & \verb|\igofontsize{11}| \\
+ \verb|\LARGE| & igo12 & (cmr10) & \verb|\igofontsize{12}| \\
+ \verb|\huge| & igo15 & (cmr12) & \verb|\normalgoban| \\
+ \verb|\Huge| & igo20 & (cmr17) & \verb|\largegoban| \\
+ \hline \hline
+ \end{tabular}
+ \end{center}
+\end{table}
+
+\section{About this Document}
+
+This is the official user manual and reference for package \textit{igo} version 0.60, written by {\'E}tienne Dupuis in April 2003, enhanced by Nikolay Nemov in December 2005 and further improved two months later, after receiving valuable feedback (and help) by Frank Mittelbach. The author wishes to express his gratitude to Victor Eijkhout, author of \textit{\TeX by Topic}\footnote{Eijkhout, Victor, \textit{\TeX by Topic, A \TeX nicians's Reference}, Electronic Version 1.0, December 2001, \copyright 1991, 2001. Available at \url{http://www.eijkhout.net/}.} and \textit{The ultimate loop macro}\footnote{Eijkhout, Victor, \textit{The ultimate loop macro}, in MAPS 24, Nederlandstalige \TeX\ Gebruikersgroep, pages 49-51. Available at \url{http://www.ntg.nl/}. File \texttt{repeat.tex} may be downloaded from \url{http://www.ctan.org/}. Note that \textit{igo} requires version 0.93 or above.} and the users of \verb|fr.comp.text.tex|, for their help in better understanding the \TeX\ language.
+
+\end{document}
diff --git a/fonts/igo/repeat.tex b/fonts/igo/repeat.tex
new file mode 100644
index 0000000000..7c99f36d35
--- /dev/null
+++ b/fonts/igo/repeat.tex
@@ -0,0 +1,208 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Repeat loop macro, version 0.93, May 2003
+% Copyright Victor Eijkhout 2000
+% file name: repeat.tex
+%
+% Author:
+% Victor Eijkhout
+% Department of Computer Science
+% University of Tennessee, Knoxville TN 37996
+%
+% victor@eijkhout.net
+%
+% This program is free software; you can redistribute it and/or
+% modify it under the terms of the GNU General Public License
+% as published by the Free Software Foundation; either version 2
+% of the License, or (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% For a copy of the GNU General Public License, write to the
+% Free Software Foundation, Inc.,
+% 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA,
+% or find it on the net, for instance at
+% http://www.gnu.org/copyleft/gpl.html
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% General loop macro:
+% \repeat
+% \for{<var>} \from{<start>} \by{<step>} \to{<end>} \downto{<end>}
+% \until{<cond>} \while{<cond>}
+% \do { <loop body> }
+% where all control sequences in between \repeat and \do are optional.
+% The space after each argument is mandatory!
+% (This implies that you will have to write "\from\i" as "\from{\i}".)
+%
+% var: characters to form a control sequence;
+% after \for{index} you can access the loop counter as \index.
+% This is a count register; to print it use \number\index.
+% start,step,end: integers with obvious relations to the loop counter;
+% start and step have a default value of 1
+% cond: (sequence of commands ending in) any TeX \if... test.
+%
+% Count down instead of up with \downto; the increment given in \by
+% is always positive, and is added or subtracted accordingly.
+%
+% Tests: \until is evaluated at the end of the loop body; \while
+% at the beginning of the loop body.
+%
+% Exit from middle of loop: \breakrepeat
+% use this at any place in the loop; in case of a conditional, use
+% \ifsomething ... \expandafter \breakrepeat \fi
+%
+% There are some examples at the end of this file, after the \endinput line.
+%
+% Technical details:
+% The loop body is not executed in a group: the braces are those
+% of a token list.
+% The `for' variable is \let to a \count register.
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% revision history:
+% 0.9 first release, January 1999
+% 0.91 documentation update,
+% csarg-like control sequences made REP...
+% counter update made global in case the body issues grouping,
+% copyright notice, February 1999
+% 0.92 installed trace switches, eliminated unwanted space caused by
+% "\for{ijk} \do{...}", December 2000
+% 0.93 added missing percent signs at end of lines to prevent unwanted
+% spaces, May 2003 ({\'E}. Dupuis).
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+
+%%
+%% Prevent multiple loading of this file
+%%
+\expandafter\ifx\csname REPdepth\endcsname\relax
+ \message{Loading loop macro, version 0.93}%
+\else \endinput \fi
+
+%%
+%% Auxiliary stuff
+%%
+\def\REPcsarg#1#2{\expandafter#1\csname#2\endcsname}
+\def\REPcsrom#1{\csname #1\romannumeral\REPdepth\endcsname}
+\def\REPcsargrom#1#2{\expandafter#1\csname#2\romannumeral\REPdepth\endcsname}
+%\def\cscsarg#1#2#3{\expandafter#1\expandafter#2\csname#3\endcsname}
+%\def\REPcsREPcsargrom#1#2#3{\expandafter#1\expandafter#2%
+% \csname#3\romannumeral\REPdepth\endcsname}
+
+\newcount\REPdepth
+\let\endrepeat\relax \def\csprotect{}
+% Trace switches may later be defined by PAC_utils
+\let\REPtraceinit\relax \let\REPtraceexit\relax
+
+%%
+%% Main repeat macro
+%% - go to next level and allocate unique counter/toks if this is the
+%% first time we visit this level
+%% - setup: gather bounds and termination conditions
+%% - scoop up body in token list; after the assignment define and
+%% execute body
+%%
+\def\repeat#1\do{%
+ \REPtraceinit% exit in \breakrepeat
+ \advance\REPdepth by 1\relax%
+ \REPcsargrom\ifx{REPcount}\relax%
+ \REPcsargrom{\csname newcount\expandafter\endcsname}{REPcount}%
+ \REPcsargrom{\csname newtoks\expandafter\endcsname}{REPtoks}%
+ \REPcsargrom{\csname newtoks\expandafter\endcsname}{REPwtest}%
+ \REPcsargrom{\csname newtoks\expandafter\endcsname}{REPutest}%
+ \fi \REPzero \def\REPsign{}\def\REPcomp{>}\REPsetup{#1}%
+ \edef\REPtmp%
+ {\def\REPcsargrom\noexpand{REPrepeat}{\REPcsargrom\noexpand{REPbody}}}\REPtmp%
+ \afterassignment\REPdxbody\REPcsrom{REPtoks}}%
+%%
+%% Define and execute loop body
+%% This is done with an \edef to construct the actual sequence
+%%
+\def\REPdxbody{\REPcsargrom\edef{REPbody}{%
+ \REPcsargrom\the{REPwtest}%
+ \noexpand\the\REPcsargrom\noexpand{REPtoks}%
+ \REPcsargrom\the{REPutest}%
+ \global\REPcsargrom\advance{REPcount} by \REPsign\REPcsrom{REPinc}\relax%
+ \noexpand\endrepeat%
+ \REPcsargrom\noexpand{REPrepeat}}%
+ \REPcsrom{REPbody}}%
+%%
+%% Stop test
+%% In order to stop, issue a
+%% \breakrepeat which scoops up the rest of the body and exits
+%%
+\def\breakrepeat#1\endrepeat{\REPzero\REPcsargrom\let{REPrepeat}\relax%
+ \advance\REPdepth by -1 \REPtraceexit%
+ }%
+%%
+%% Setup
+%% gather bounds and termination conditions
+%%
+\def\REPsetup#1{%
+ \begingroup%
+ \def\for##1 {\edef\REPtmp{%
+ \global\let\REPcsarg\noexpand{##1}\REPcsrom{REPcount}}\REPtmp}%
+ \def\from##1 {\REPcsargrom\global{REPcount}##1\relax}%
+ \def\to##1 {\edef\REPtmp{\global\REPcsargrom\noexpand{REPwtest}=%
+ {\REPcsargrom\the{REPwtest}%
+ \noexpand\ifnum\REPcsargrom\noexpand{REPcount}\REPcomp##1\relax%
+ \noexpand\expandafter \noexpand\breakrepeat \noexpand\fi}}\REPtmp}%
+ \def\downto##1 {\gdef\REPsign{-}\gdef\REPcomp{<}\to{##1}}%
+ \def\by##1 {\ifnum##1<0 \message{REPEAT: increment has to be >0}%
+ \REPcsargrom\gdef{REPinc}{-##1}\else%
+ \REPcsargrom\gdef{REPinc}{##1}\fi}%
+ \def\until##1 {\edef\REPtmp{\global\REPcsargrom\noexpand{REPutest}=%
+ {\noexpand##1\relax%
+ \noexpand\expandafter \noexpand\breakrepeat \noexpand\fi}}\REPtmp}%
+ \def\while##1 {\edef\REPtmp{\global\REPcsargrom\noexpand{REPwtest}=%
+ {\noexpand##1\relax \noexpand\else%
+ \noexpand\expandafter \noexpand\breakrepeat \noexpand\fi}}\REPtmp}%
+ \from{1} \by{1} #1%
+ \endgroup}%
+\def\REPzero%
+ {\REPcsrom{REPtoks}{}\REPcsrom{REPutest}{}\REPcsrom{REPwtest}{}%
+ \REPcsargrom\def{REPbody}{}}%
+
+\endinput
+
+%\tracingmacros2
+\repeat \for{i} \by{2} \do {
+ \ifnum\i=13 \expandafter\breakrepeat \fi
+ \message{doing \number\i}
+}
+
+\repeat \for{iii} \to{8} \do {}
+\message{After loop: \number\iii}
+
+\repeat \for{i} \from{10} \by{2} \downto{0} \do {
+ \message{countdown \number\i}
+}
+
+\repeat \for{x} \while{\ifnum\x<7} \do {
+ \message{going \number\x}
+}
+
+\repeat \to{3} \do {
+ \message{hello there!}
+}
+
+\newcount\tmpcount
+\repeat \for{j}
+ \until{\tmpcount\j \divide\tmpcount by 37 \noexpand\ifnum\tmpcount=1}
+ \do {
+ \message{testing \number\j}
+}
+
+\repeat \for{i} \by{2} \to{10} \do
+ {\repeat \for{j} \from{\i} \by{3} \to{18} \do
+ {\message{(\number\i.\number\j)}
+ }}
+
+% infinite loop
+%\repeat \do {}
+
+\bye
diff --git a/fonts/igo/russian/igo-ru.pdf b/fonts/igo/russian/igo-ru.pdf
new file mode 100644
index 0000000000..6be1371991
--- /dev/null
+++ b/fonts/igo/russian/igo-ru.pdf
Binary files differ
diff --git a/fonts/igo/russian/igo-ru.tex b/fonts/igo/russian/igo-ru.tex
new file mode 100644
index 0000000000..82062ae4c3
--- /dev/null
+++ b/fonts/igo/russian/igo-ru.tex
@@ -0,0 +1,445 @@
+\documentclass[fleqn]{article}
+
+\usepackage[T2A]{fontenc}
+\usepackage[cp1251]{inputenc}
+\usepackage[english,russian]{babel}
+
+\usepackage{url}
+\usepackage{igo}
+\usepackage{amstext}
+
+\begin{document}
+
+\title{Набор Го диаграмм в \TeX\ или \LaTeX\ с помощью \textit{igo}\footnote{Перевод на русский язык: \emph{Николай А. Немов} (email: nine@che.nsk.su) 15 марта 2005~г.,
+версия 0.60 пакета \textit{igo} --- 20 апреля 2006~г.%\today
+}
+}
+\author{Этьен Дюпуи\thanks{{\'E}tienne Dupuis (email: lestourtereaux@free.fr)}}
+\date{Апрель 2003; февраль 2006}
+\maketitle
+
+\section{Введение}
+
+Пакет \textit{igo} основан на пакете \textit{go}, написанном в $1991$ г. Ханной Колодзейской\footnote{Ko{\l}odziejska, Hanna, \textit{Go diagrams with \TeX}, November 1991.} (Hanna Ko{\l}odziejska). Хотя \textit{igo} содержит в основном такие же команды что и первоначальный пакет и использует шрифты, созданные Колодзейской, пакет улучшен (надеюсь) за счет
+\begin{enumerate}
+ \item менее вероятного конфликта имен используемых команд со стандартным AMS пакетом,
+ \item возможности использования досок различного размера,
+ \item включения стандартной системы обозначений для координат доски,
+ \item возможности работы с большим числом досок,
+ \item возможности изменения размера камней, включенных в текст\footnote{Эту возможность ввел Н. Немов в версии 0.60 в 2006 г.}.
+\end{enumerate}
+Кроме этого были переопределены некоторые команды, которые позволяют более удобно задавать позиции или последовательность ходов в игре.
+
+Автор выражает искреннюю благодарность Николаю Немову и Франку Миттельбач (Frank Mittelbach) за улучшения внесенные в данный пакет.
+
+\subsection{Новые возможности}
+
+После начального выпуска пакета в марте 2003 г. появились следующие новые команды и возможности:
+\begin{itemize}
+ \item Можно изменять размер камней в тексте.
+ \item Команда \verb|\cleargobansymbols| убирает надписи с доски и камней.
+ \item Добавлены новые размеры шрифтов для изображения досок. \\
+Размер шрифта задается командой \verb|\igofontsize{n}|.
+ \item Добавлены новые символы для размещения на камнях.
+\end{itemize}
+
+Не сразу могут быть замечены и другие мелкие улучшения.
+
+\medskip
+В версии 0.60 сделаны \textbf{изменения в разрыве строки}. \marginpar{\fbox{\Large!$\,$}} В первоначальных версиях после диаграмм осуществлялся разрыв строки (\verb|\break|). Теперь это действие отменено. К предыдущему варианту можно вернуться если после включения пакета \textit{igo} ввести следующее определение:
+\[\verb|\let\igobreakafterdiagram=\break|.\]
+
+\section{Руководство пользователя}
+
+Начнем с примера, взятого из книги Джеймса Дэвиса \textit{Жизнь и смерть}\footnote{James Davies, \textit{Life and Death}, Elementary Go Series vol. 4 (Kiseido Publishing Company, \copyright 1975, 1996)}~:
+
+\medskip
+\noindent
+\begin{minipage}[c][1.0\height][c]{0.65\textwidth}
+\begin{verbatim}
+ \white{b4,c4,d4,e4,f4,g3,g2,c3}
+ \black{b3,b2,c2,d3,e3,f3,f2}
+ \begin{center}
+ \shortstack{\showgoban\\Черные гибнут}
+ \end{center}
+\end{verbatim}
+\end{minipage}
+%
+\begin{minipage}[c][1.0\height][c]{0.30\textwidth}
+ \white{b4,c4,d4,e4,f4,g3,g2,c3}
+ \black{b3,b2,c2,d3,e3,f3,f2}
+ \begin{center}
+ \shortstack{\showgoban\\Черные гибнут}
+ \end{center}
+\end{minipage}
+\medskip
+
+Пакет использует \textit{стандартную} систему обозначений для координат доски, в которой столбцы маркируются от $a$ (левый) до $t$ (правый) и строки от $1$ (нижняя) до $19$ (верхняя). Буква $i$ в этой системе не используется. Такой метод задания координат годится для досок до размера $25 \times 25$, однако, в данном пакете он расширен до досок размером $50 \times 50$ за счет включения заглавных букв для обозначения столбцов с $26$ по $50$. Команда
+ \[\verb|\showgoban|, \qquad \text{в отличие от} \qquad \verb|\showfullgoban|,\]
+показывает только часть доски. Или более подробно, пусть $m$ и $M$ --- минимальные и максимальные строки доски на которых расположены камни. Тогда будут изображены строки с $m-1$ до $M+1$, если $m-2$ или $M+2$ приближаются к границе доски, будут добавлены дополнительные строки. Такие же правила действуют и для столбцов. Посмотрите, к примеру, что произойдет, при изменении размера доски:
+
+\medskip
+\noindent
+\begin{minipage}[c][1.0\height][c]{0.45\textwidth}
+\begin{verbatim}
+ \gobansize{9}
+ \showgoban
+\end{verbatim}
+\end{minipage}
+%
+\begin{minipage}[c][1.0\height][c]{0.50\textwidth}
+\begin{center}
+ \gobansize{9}
+ \showgoban
+\end{center}
+\end{minipage}
+
+Конечно, такой способ не всегда приводит к желаемой диаграмме, но можно задать область доски, которая будет показана:
+
+\medskip
+\noindent
+\begin{minipage}[c][1.0\height][c]{0.45\textwidth}
+\begin{verbatim}
+ \showgoban[a1,h6]
+\end{verbatim}
+\end{minipage}
+%
+\begin{minipage}[c][1.0\height][c]{0.50\textwidth}
+\begin{center}
+ \showgoban[a1,h6]
+\end{center}
+\end{minipage}
+\medskip
+
+Изменим размер доски (командой \verb|\gobansize{19}|) \gobansize{19} и вернемся к задаче \textit{Черные гибнут}. Решение показано камнем \verb|\whitestone[\igotriangle]| \whitestone[\igotriangle] на следующей (увеличенной) диаграмме:
+
+\medskip
+\noindent
+\begin{minipage}[c][1.0\height][c]{0.45\textwidth}
+\begin{verbatim}
+ \white[\igotriangle]{c1}
+ \gobansymbol{f1}{x}
+ \largegoban\showgoban
+\end{verbatim}
+\end{minipage}
+\hfill
+\begin{minipage}[c][1.0\height][c]{0.51\textwidth}
+\begin{center}
+ \largegoban
+ \white[\igotriangle]{e1}
+ \gobansymbol{f1}{x}
+ \showgoban
+\end{center}
+\end{minipage}
+\medskip
+
+После хода белых \whitestone[\igotriangle] угрожает вторжение в пункт <<x>>. Вторжение убийственно для черных, поскольку после
+
+\medskip
+\noindent
+\begin{minipage}[c][1.0\height][c]{0.45\textwidth}
+\begin{verbatim}
+ \black[1]{d1,f1,-,d2}
+ \showgoban
+\end{verbatim}
+\end{minipage}
+\hfill
+\begin{minipage}[c][1.0\height][c]{0.51\textwidth}
+\begin{center}
+ \black[1]{d1,f1,-,d2}
+ \showgoban
+\end{center}
+\end{minipage}
+\medskip
+
+\noindent
+черные не могут предотвратить захват правой половины своей группы. Даже если черные сыграют в пункт <<x>>, они все равно гибнут:
+
+\medskip
+\noindent
+\begin{minipage}[c][1.0\height][c]{0.45\textwidth}
+\begin{verbatim}
+ \clear{d1}
+ \black[1]{f1,d2,c1,g1,a3,a1}
+ \showgoban
+\end{verbatim}
+\end{minipage}
+\hfill
+\begin{minipage}[c][1.0\height][c]{0.51\textwidth}
+\begin{center}
+ \clear{d1}
+ \black[1]{f1,d2,c1,g1,a3,a1}
+ \showgoban
+\end{center}
+\end{minipage}
+
+Наконец, завершим это руководство, проиллюстрировав еще несколько команд на примере джосеки:
+
+%\medskip
+\noindent
+\begin{minipage}[c][1.0\height][c]{0.55\textwidth}
+\begin{verbatim}
+ \smallgoban
+ \cleargoban
+ \white[1]{c16,e16,e17,f17,d17,f16}
+ \copytogoban{2}
+ \white[7]{c14,k17}
+ \showgoban
+\end{verbatim}
+\end{minipage}
+\hfill
+\begin{minipage}[c][1.0\height][c]{0.40\textwidth}
+\begin{center}
+ \smallgoban
+ \cleargoban
+ \white[1]{c16,e16,e17,f17,d17,f16}
+ \copytogoban{2}
+ \white[7]{c14,k17}
+ \showgoban
+\end{center}
+\end{minipage}
+\medskip
+
+Позиция после шестого хода сохранена на другой доске. Далее с этой доской можно работать, и это демонстрируют следующие команды:
+
+\medskip \noindent
+\begin{minipage}[c][1.0\height][c]{0.55\textwidth}
+\begin{verbatim}
+ \usegoban{2}
+ \cleargobansymbols
+ \white[1]{c14,k17}
+ \showgoban
+\end{verbatim}
+\end{minipage}
+\hfill
+\begin{minipage}[c][1.0\height][c]{0.40\textwidth}
+\begin{center}
+ \usegoban{2}
+ \cleargobansymbols
+ \white[1]{c14,k17}
+ \showgoban
+\end{center}
+\end{minipage}
+
+\section{Справочник}
+
+\subsection{Синтаксис параметров}
+\label{sec:parameters}
+
+Следующие типы параметров в макро синтаксисе используются как:
+\begin{description}
+ \item [n] --- Положительное целое число, ноль не включен.
+ \item [symbol] --- Цифра (0--9) или буква (A--Z или a--z). Символы могут быть добавлены в будущем. Доброволец отредактирует метафонт?
+ \item [glyph] --- Положительное целое число, \verb|\igonone| или один из символов
+\[\verb|\igotriangle|, \quad \verb|\igosquare|, \quad \verb|\igocircle|, \quad \verb|\igocross|.\]
+Эти номера или символы устанавливаются на камни, \verb|\igonone| на камни ничего не устанавливает. В качестве \emph{glyph} можно использовать команду \TeX\, которая выдает число, например \verb|\thepage|.
+ \item [intersection] --- Пункт доски. Столбцы маркируются буквами, слева направо, $a$ --- первый, $b$ --- второй, и т.д. Буква $i$ не используется. Заглавным буквам соответствуют столбцы $26$ и далее. Строки маркируются цифрами, снизу вверх. Пункт доски задается буквой и цифрой, например \textit{c12}.
+ \item [intersection-pair] --- Пара пунктов доски, например \textit{a4,k12}. После запятой не должно быть пробела. Первый пункт должен быть меньшим или равным второму, в том смысле что первый столбец не должен быть справа от второго и первая строка не должна располагаться выше второй, например, \textit{d3,d9} --- правильно, а \textit{s8,q15} --- ошибочно.
+ \item [intersection-list] --- Список пунктов доски, разделенных запятой, например, \textit{c14,g3,t17,f1}. Список может состоять из одного пункта. Нельзя использовать пробелы. Пропуск элемента списка можно осуществить с помощью символа `` - '', как, например, в пятиэлементном списке \mbox{\textit{c14,g3,-,t17,f1}}.
+\end{description}
+Необязательные дополнительные параметры заключаются в квадратные скобки, а обязательные --- в фигурные.
+
+\subsection{Доска}
+
+Размер доски можно изменить командой
+ \[\verb|\gobansize{n}| , \qquad \text{где} \qquad 2 \leq n \leq 50.\]
+Камни можно устанавливать вне доски; они будут изображены, если выбрать достаточно большую, содержащую их, доску. Камни, оказавшиеся вне доски, не удаляются. Размер доски по умолчанию $19 \times 19$.
+
+\subsection{Установка камней}
+\label{sec:stones}
+
+Командами
+ \[\verb|\white[glyph]{intersection-list}|,\]
+ \[\verb|\black[glyph]{intersection-list}| \]
+камни устанавливаются в перечисленные в списке пункты доски. Результаты команд зависят от дополнительного параметра \emph{glyph}. Если \emph{glyph} положительное число или \verb|\igonone|, то цвета камней будут чередоваться, а номер камней возрастать с увеличением числа пунктов доски в списке. Если \emph{glyph} это символ \verb|\igotriangle|,\ \verb|\igosquare| и т.д.,
+то все камни будут одного цвета с выбранным \emph{glyph}. Например, команда
+ \[\verb|\white[14]{c1,b1,d1}| \qquad \text{эквивалентна последовательности команд}\]
+ \[\verb|\white[14]{c1}| \quad \verb|\black[15]{b1,d1}|.\]
+Вновь установленный камень заменяет предыдущие установки в данном пункте доски.
+
+Еще один пример зависимости от необязательного аргумента \emph{glyph}:
+
+\bigskip
+\noindent
+\begin{minipage}[c][1.0\height][c]{0.30\textwidth}
+\begin{center}
+ \cleargoban
+ \black[1]{c4,e4,h4,d7,e5,f5}
+ \showgoban[a1,j8]
+ \verb|\black[1]{...}|
+\end{center}
+\end{minipage}
+\hfill
+\begin{minipage}[c][1.0\height][c]{0.35\textwidth}
+\begin{center}
+ \cleargoban
+ \black[\igonone]{c4,e4,h4,d7,e5,f5}
+ \showgoban[a1,j8]
+ \hspace*{1em}\verb|\black[\igonone]{...}|
+\end{center}
+\end{minipage}
+\hfill
+\begin{minipage}[c][1.0\height][c]{0.30\textwidth}
+\begin{center}
+ \cleargoban
+ \black{c4,e4,h4,d7,e5,f5}
+ \showgoban[a1,j8]
+ \verb|\black{...}|
+\end{center}
+\end{minipage}
+\medskip
+
+Для удобства подготовки диаграмм можно воспользоваться командой
+\[\verb|\cleargobansymbols|,\]
+которая убирает все номера с камней и все символы с рабочей доски. Например, если эту команду применить к первой диаграмме предыдущего примера, то получится вторая диаграмма.
+
+\subsection{Удаление камней}
+
+Камни с доски можно убирать командами
+ \[\verb|\clear{intersection-list}|, \qquad \text{или}\]
+ \[\verb|\cleargoban[intersection-pair]|.\]
+При отсутствии необязательного параметра во второй команде очищена будет вся доска. Отметим, что камни, расположенные вне доски (если такие имеются) не удаляются, поэтому после изменения размера доску следует очищать.
+
+\subsection{Изображение доски}
+
+Для изображения доски предназначена команда
+ \[\verb|\showfullgoban|.\]
+Диаграмма помещена в box, и его можно обрабатывать средствами \LaTeX, например, центрировать с помощью окружения \verb|center|. Можно также поместить доску внутри рисунка, таблицы или использовать другие пакеты для размещения нескольких досок на одной линии и т.п. Команда
+ \[\verb|\showgoban[intersection-pair]|\]
+предназначена для изображения части доски. Если необязательный дополнительный параметр опущен, пакет \textit{igo} сам найдет часть доски, которую следует изобразить. Область для показа вычисляется так:
+\begin{enumerate}
+ \item Изображается минимальная область, включающая все имеющиеся на доске камни. Если ширина или высота этой области меньше двух, то областью считается вся доска.
+ \item Если возможно, то граница из одной строки (или столбца) добавляется к области, определенной выше. Границы области расширяются на две строки (или столбца) с тех сторон, которые приближаются к границам доски.
+\end{enumerate}
+
+Форовые пункты отмечаются только для досок $9\times9$, $13\times13$ и $19\times19$.
+
+После бокса, в который помещена изображаемая диаграмма, сразу следует команда \verb|\igobreakafterdiagram|. В текущей версии пакета она ничего не выполняет. В предыдущих версиях команда была установлена как
+\[\verb|\let\igobreakafterdiagram=\break|\]
+и производила разрыв строки.
+
+Изображенные диаграммы можно масштабировать командами
+\[\verb|\igofontsize{n}|, \qquad \text{где} \qquad n \in \{5, 6, 7, 8, 9, 10, 11, 12, 15, 20\}.\]
+Для удобства и сохранения совместимости с предыдущими версиями можно также применять следующие команды:
+\[\begin{array}{lll}
+ \verb|\smallgoban| & \longmapsto & \verb|\igofontsize{10}| \quad\text{(размер по умолчанию)} \\
+ \verb|\normalgoban| & \longmapsto & \verb|\igofontsize{15}| \\
+ \verb|\largegoban| & \longmapsto & \verb|\igofontsize{20}|.
+\end{array}\]
+Размеры всех последующих диаграмм также будут изменены.
+
+\subsection{Установка символов}
+
+На свободные пункты доски можно установить символы командой
+ \[\verb|\gobansymbol{intersection}{symbol}|.\]
+Список возможных символов \emph{symbol} приведен в Разделе~\ref{sec:parameters}.
+
+Все символы, расположенные на доске, можно удалить одной командой
+\[\verb|\cleargobansymbols|.\]
+Данная команда убирает также и номера с камней, как подробно описано в Разделе~\ref{sec:stones}.
+
+\subsection{Камни в тексте}
+
+Камни можно поместить в текст с помощью команд
+ \[\verb|\whitestone[glyph]|, \qquad \text{и} \qquad \verb|\blackstone[glyph]|.\]
+Размер камней в тексте масштабируется в соответствии с обычными \TeX\ командами изменения размеров шрифтов (см. Таблицу~\ref{tab:fonts}): \par
+\medskip
+\noindent
+\begin{tabular}{l@{ $\longmapsto \quad$}l}
+\verb|\tiny \blackstone[5] and...|
+ & {\tiny \blackstone[5] and tiny text \whitestone[\igotriangle]} \\
+\verb|\scriptsize \blackstone[6] and...|
+ & {\scriptsize \blackstone[6] and scriptsize text \whitestone[\igosquare]} \\
+\verb|\footnotesize \blackstone[7] and...|
+ & {\footnotesize \blackstone[7] and footnotesize text \whitestone[\igocircle]} \\
+\verb|\small \blackstone[8] and...|
+ & {\small \blackstone[8] and small text \whitestone[\igocross]} \\
+\verb|\normalsize \blackstone[10] and...|
+ & {\normalsize \blackstone[10] and normalsize text \whitestone[\igotriangle]} \\
+\ldots & \ldots
+\end{tabular}\par
+\noindent
+Камни большего размера, помещенные в нормальный текст размера 10pt выглядят как\par
+\medskip
+\noindent
+\begin{tabular}{@{some text }l@{ $\longmapsto$ \ some text}l}
+\verb|{\large \blackstone[10]}...|& {\large \blackstone[10]} and {\large \whitestone[-1]}\\
+\verb|{\Large \blackstone[11]}...|& {\Large \blackstone[11]} and {\Large \whitestone[-2]}\\
+\verb|{\LARGE \blackstone[12]}...|& {\LARGE \blackstone[12]} and {\LARGE \whitestone[-3]}\\
+\verb|{\huge \blackstone[15]}...| & {\huge \blackstone[15]} and {\huge \whitestone[-4]}\\
+\verb|{\Huge \blackstone[20]}...| & {\Huge \blackstone[20]} and {\Huge \whitestone[-1]}
+\end{tabular}
+
+\medskip
+Соотношения размеров между текстом и камнями могут слегка измениться, если изначально для нормального текста установлены другие размеры, например, 11pt или 12pt.
+
+\subsection{Набор досок}
+
+Удобно работать не с одной, а с целым набором досок, например, для сохранения промежуточных позиций игры и использования их позже при рассмотрении вариантов. Команда для выбора доски под номером \#$n$
+ \[\verb|\usegoban{n}|, \qquad \text{\#$1$ доска по умолчанию}.\]
+Команда
+\[\verb|\copyfromgoban{n}|\]
+копирует содержание доски \#$n$ в текущую рабочую доску. \\
+Действие в обратном направлении выполняет команда
+ \[\verb|\copytogoban{n}|,\]
+копирующая содержание текущей рабочей доски в доску \#$n$. \\
+Обратите внимание, все эти доски одного размера.
+
+Для совместимости с более ранними версиями пакета можно использовать альтернативное имя \verb|\copygoban| вместо \verb|\copyfromgoban|.
+
+\subsection{Геометрические преобразования}
+
+Следующие команды используются для преобразования позиций доски:\\[1em]
+\hspace*{2.0em}
+\begin{tabular}{@{}l@{ \ }l@{}}
+\verb|\rotategoban| & вращение на $180^\circ$ \\
+\verb|\rotategobanleft| & вращение против часовой стрелки на $90^\circ$ \\
+\verb|\rotategobanright| & вращение по часовой стрелке на $90^\circ$ \\
+\verb|\hflipgoban| & отражение относительно вертикальной линии \\
+\verb|\vflipgoban| & отражение относительно горизонтальной линии \\
+\verb|\mirrorgoban| & отражение относительно диагональной линии
+\end{tabular}
+
+
+\subsection{Шрифты}
+
+Пакет \textit{igo} использует следующие файлы шрифтов:
+\begin{description}
+ \item [igo$<$size$>$] содержат символы для изображения элементов доски и камней. Эти шрифты включают Computer Modern Roman шрифт, который используется для отображения букв и цифр на доске. Шрифты и их размеры, используемые в пакете \textit{igo}, приведены в Таблице~\ref{tab:fonts}. Здесь\\
+$<$\textit{size}$>$ --- один из размеров \textit{5, 6, 7, 8, 9, 10, 11, 12, 15, 20}.
+ \item [igo$<$color$>$$<$n$>$$<$size$>$] содержат надписи для камней, цифры и символы,\\
+$<$\textit{color}$>$ --- \textit{black} или \textit{white}, \\
+$<$\textit{n}$>$ --- римский номер (\textit{i, ii, iii}), поскольку нужно три шрифтовых файла для цифр вплоть до 361, по числу пунктов доски $19 \times 19$. Этого должно быть достаточно для изображения почти всех игр го.
+\end{description}
+Эти шрифты были созданы Ханной Колодзейской и (только слегка) модифицированы мною и Н. Немовым.
+
+\vspace{-6pt}
+\begin{table}[htb]
+ \caption{Шрифты и их размеры, используемые в пакете \textit{igo}}
+ \label{tab:fonts}
+ \begin{center}
+ \begin{tabular}{llrl}
+ \hline
+ \multicolumn{1}{c}{Команда \TeX} & \multicolumn{2}{c}{Шрифты} & \multicolumn{1}{c}{Размер доски Го} \\
+ \hline \hline
+ \verb|\tiny| & igo5 & (cmr5) & \verb|\igofontsize{5}| \\
+ \verb|\scriptsize| & igo6 & (cmr6) & \verb|\igofontsize{6}| \\
+ \verb|\footnotesize| & igo7 & (cmr7) & \verb|\igofontsize{7}| \\
+ \verb|\small| & igo8 & (cmr8) & \verb|\igofontsize{8}| \\
+ \verb|\normalsize| & igo9 & (cmr9) & \verb|\igofontsize{9}| \\
+ \verb|\large| & igo10 & (cmr10) & \verb|\smallgoban| \\
+ \verb|\Large| & igo11 & (cmr10) & \verb|\igofontsize{11}| \\
+ \verb|\LARGE| & igo12 & (cmr10) & \verb|\igofontsize{12}| \\
+ \verb|\huge| & igo15 & (cmr12) & \verb|\normalgoban| \\
+ \verb|\Huge| & igo20 & (cmr17) & \verb|\largegoban| \\
+ \hline \hline
+ \end{tabular}
+ \end{center}
+\end{table}
+
+\vspace{-12pt}
+\section{О документе}
+
+Настоящий документ является официальным руководством и справочником для пакета \textit{igo} версии 0.60, написанным Этьеном Дюпуи в апреле 2003, расширенным Николаем Немовым в декабре 2005 и улучшенным двумя месяцами позже после ценного взаимодействия (и помощи) с Франком Миттельбач. Автор хотел бы выразить свою благодарность Виктору Эйхоут, автору \textit{\TeX\ by Topic}\footnote{Eijkhout, Victor, \textit{\TeX\ by Topic, A \TeX nicians's Reference}, Electronic Version 1.0, December 2001, \copyright 1991, 2001. Расположен на \url{http://www.eijkhout.net/}.} и \textit{The ultimate loop macro}\footnote{Eijkhout, Victor, \textit{The ultimate loop macro}, in MAPS 24, Neder\-landstalige \TeX\ Gebruik\-ersgroep, pages 49--51. Расположен на \url{http://www.ntg.nl/}. Файл \texttt{repeat.tex} можно загрузить с \url{http://www.ctan.org/}. Для пакета \textit{igo} нужна версия 0.93 или выше.} и участникам \verb|fr.comp.text.tex| за помощь в улучшении понимания языка \TeX.
+
+\end{document}