summaryrefslogtreecommitdiff
path: root/language/mongolian/soyombo/soyombo.mf
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 /language/mongolian/soyombo/soyombo.mf
Initial commit
Diffstat (limited to 'language/mongolian/soyombo/soyombo.mf')
-rw-r--r--language/mongolian/soyombo/soyombo.mf1996
1 files changed, 1996 insertions, 0 deletions
diff --git a/language/mongolian/soyombo/soyombo.mf b/language/mongolian/soyombo/soyombo.mf
new file mode 100644
index 0000000000..2608fa1e07
--- /dev/null
+++ b/language/mongolian/soyombo/soyombo.mf
@@ -0,0 +1,1996 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% File: soyombo.mf
+% Date: August 20, 1996
+% Author: Oliver Corff
+% (c) 1996 Ulaanbaatar, Macau, Berlin
+%
+% A metafont for providing the Soyombo script to LaTeX-users.
+%
+% Usage: see package soyombo
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%% This font contains the Soyombo alphabet. %%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+mode_setup;
+ if unknown mag: mag := 1; fi;
+ mg:=3/4;
+ n#:=mg*pt#;
+ margin#:=mg*2pt#;
+ o_width#:=mg*12pt#;
+ bwidth#:=mg*4pt#;
+ full_w#:=2margin#+o_width#+bwidth#;
+ thin#:=mg*1pt#;
+ height#:=mg*24pt#;
+ vheight#:=height#+mg*4pt#;
+ om_height#:=vheight#+mg*4pt#;
+ depth#:=mg*4pt#;
+ center#:=.5o_width#+margin#;
+ width#:=o_width#+margin#;
+ define_pixels(thin,width,bwidth,o_width,height,
+ vheight,om_height,n,margin,depth,center);
+
+ font_size = 17pt#;
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %%%%%%%%%% Segment definitions. %%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+def full_balken = % Rechter Balken
+ x1=x4=width;
+ x2=x3=width+bwidth;
+ y1-2n=y2=0;
+ y3=y4=height;
+ fill z1--z2--z3--z4--cycle;
+enddef;
+
+def full_k_balken = % Rechter Balken fuer 'k's
+ x1=x4=width;
+ x2=x3=width+bwidth;
+ y1-2n=y2=0;
+ y3=y4+2n=height;
+ fill z1--z2--z3--z4--cycle;
+enddef;
+
+def middle_k_beam = % Mittlerer Balken fuer 'k's
+ x5=x8=center-1thin;
+ x6=x7=center+3thin;
+ y5-2n=y6=1/3height+thin;
+ y7=y8=height-2n;
+ fill z5--z6--z7--z8--cycle;
+enddef;
+
+
+def hor_k_beam = % Horizontaler Balken fuer 'k's
+ x20=center+3thin;
+ x21=width;
+ y20=y21=2/3height;
+ pickup pencircle scaled 1.5thin;
+ draw z20--z21;
+enddef;
+
+def shorter_g_horn(expr xofs) = % Linkes, nach oben weisendes Horn
+ x71=x72=margin;
+ x77=x78=x71+2thin;
+ x73=x76=x77+thin;
+ x74=x75=center-xofs*thin;
+
+ y71=y78=height-5n;
+ y75=y76=2/3height;
+ y73=y74=2/3height-1.5thin;
+ y72=y77=y75+thin;
+
+ fill z71---z72{down}..{right}z73---z74--z75---z76{left}..{up}z77---z78--cycle;
+enddef;
+
+def g_horn(expr xofs) = % Linkes, nach oben weisendes Horn
+ x71=x72=margin;
+ x77=x78=x71+2thin;
+ x73=x76=x77+thin;
+ x74=x75=center-xofs*thin;
+
+ y71=y78=height-3n;
+ y75=y76=2/3height+.75thin;
+ y73=y74=2/3height-.75thin;
+ y72=y77=y75+thin;
+
+ fill z71---z72{down}..{right}z73---z74--z75---z76{left}..{up}z77---z78--cycle;
+enddef;
+
+def common_triangle = % Oberes Dreieck
+ x11=margin;
+ x12=center;
+ x13=width;
+ y11=y13=height;
+ y12=height-3n;
+ fill z11--z12--z13--cycle;
+enddef;
+
+def k_triangle = % Oberes Dreieck fuer 'k's
+ x11=margin;
+ x12=center+1thin;
+ x13=width+1/2bwidth;
+ y11=y13=height;
+ y12=height-3n;
+ fill z11--z12--z13--cycle;
+enddef;
+
+def upper_fish = % Oberer Fisch;
+ x21=width-thin;
+ x22=x27=center;
+ x23=margin;
+ x25=x23+1/4[margin,center];
+ x24=x26=.5[x23,x25];
+
+ y21-1.5n=y23=y25=5/6height;
+ y22=2/3height;
+ y27=1/2[2/3height,5/6height];
+ y24=height-2n;
+ y26=height-4n;
+
+ fill z21..z22..z23..z24..z25..z26 & z26..z27..z21 & cycle;
+enddef;
+
+def lower_fish = % Unterer Fisch;
+ x31=margin;
+ x32=x35=x38=margin+2/3o_width;
+ x33=width-2thin;
+ x34=x36=margin+5/6o_width-thin;
+ x37=x33-1.5thin;
+
+ y33=y37=1/2height;
+ y32=y38-1thin=4/9height;
+ y31=y34=y36+1.5thin=2/3height;
+ y35=2/3[4/9height,2/3height];
+
+ fill z31..z32..z33..z34..z35 & z35..z36..z37..z38..z31 & cycle;
+enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %%%%%%%%%% Character definitions. %%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+beginchar("{",margin#+bwidth#+width#+bwidth#,vheight#+14thin#,depth#);
+ "Soyombo Initial";
+ % Linker Balken
+ z1=(margin,0);
+ z2=(margin+bwidth,0);
+ z3=(x2,height);
+ z4=(x1,height);
+ fill z1--z2--z3--z4--cycle;
+
+ % Rechter Balken
+ z5=(bwidth+width,0);
+ z6=(bwidth+width+bwidth,0);
+ z7=(x6,height);
+ z8=(x5,height);
+ fill z5--z6--z7--z8--cycle;
+
+ % Oberes Dreieck
+ z9=(margin+bwidth,height);
+ z10=(center+bwidth,height-3n);
+ z11=(width+bwidth,height);
+ fill z9--z10--z11--cycle;
+
+ % Unteres Dreieck
+ z12=(margin+bwidth,3n);
+ z13=(center+bwidth,0);
+ z14=(width+bwidth,3n);
+ fill z12--z13--z14--cycle;
+
+ % Unterer Balken
+ z15=(x12+thin,y12+thin);
+ z16=(x15,y15+2thin);
+ z17=(x14-thin,y16);
+ z18=(x17,y15);
+ fill z15--z16--z17--z18--cycle;
+
+ % Oberer Balken
+ z19=(x12+thin,y10-thin);
+ z20=(x19,y19-2thin);
+ z21=(x14-thin,y20);
+ z22=(x21,y19);
+ fill z19--z20--z21--z22--cycle;
+
+ % Fische
+ z23=(x10,y20-thin);
+ z24=(x10,y16+thin);
+ pickup pencircle scaled .5thin;
+ draw z23..z24..cycle;
+
+ % Hilfspunkt z25, wird nur fuer die Halbkreise benoetigt!
+ z25=(x10,.5[y23,y24]);
+ draw halfcircle rotated 90 scaled 5n shifted (x10,.5[y23,y25]) ;
+ draw halfcircle rotated 270 scaled 5n shifted (x10,.5[y25,y24]);
+
+ % Die Augen
+ pickup pencircle scaled .75thin;
+ draw (x10,.5[y23,y25]);
+ draw (x10,.5[y25,y24]);
+
+ % Mond
+ z26=(x9,vheight);
+ z27=(x10,height+thin);
+ z28=(x11,y26);
+ z29=(x10,y27+thin);
+ fill z26..z27..z28 & z28..z29..z26 & cycle;
+
+ % Sonne
+ % pickup pencircle scaled .5thin;
+ z30=(x10,y29+thin);
+ z31=(x10,y30+4thin);
+ draw z30..z31..cycle;
+
+ % Feuer
+ z32=(x10,y31+5thin+thin);
+ penpos32(epsilon,0);
+ z33=(x10-1.5thin,y32-1.5thin);
+ penpos33(.75thin,0);
+ z34=(x10,y31+2thin);
+ penpos34(.75thin,90);
+ z35=(x10+1.5thin,y33+thin);
+ penpos35(.75thin,180);
+ z36=(x10,y32+4thin);
+ penpos36(epsilon,180);
+
+ penstroke z32e{down}..z33e..z34e..z35e{dir 135}..{up}z36e;
+endchar;
+
+beginchar(".",2margin#+bwidth#,height#+2pt#,0);
+ "Punctuation";
+ x1=x4=margin;
+ x2=x3=margin+bwidth;
+ y1=y2=0;
+ y3=y4=height;
+ fill z1--z2--z3--z4--cycle;
+endchar;
+
+beginchar("`",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "Empty Carrier";
+ % Balken
+ x1=x4=width;
+ x2=x3=width+bwidth;
+ y1-2n=y2=0;
+ y3=y4=height;
+
+ % Dreieck
+ x11=margin;
+ x12=center;
+ x13=width;
+ y11=y13=height;
+ y12=height-3n;
+
+ % Oberer Fisch
+ x21=width-thin;
+ x22=x27=center;
+ x23=margin;
+ x25=x23+1/4[margin,center];
+ x24=x26=.5[x23,x25];
+
+ y21-1.5n=y23=y25=5/6height;
+ y22=2/3height;
+ y27=1/2[2/3height,5/6height];
+ y24=height-2n;
+ y26=height-4n;
+
+ % Unterer Fisch
+ x31=margin;
+ x32=x35=x38=margin+2/3o_width;
+ x33=width-2thin;
+ x34=x36=margin+5/6o_width-thin;
+ x37=x33-1.5thin;
+
+ y33=y37=1/2height;
+ y32=y38-1thin=4/9height;
+ y31=y34=y36+1.5thin=2/3height;
+ y35=2/3[4/9height,2/3height];
+
+ pickup pencircle scaled .5n;
+
+ draw z1--z2--z3--z4--cycle; % Balken
+ draw z11--z12--z13--cycle; % Dreieck
+ draw z21..z22..z23..z24..z25..z26 & z26..z27..z21 & cycle; % Fisch
+ draw z31..z32..z33..z34..z35 & z35..z36..z37..z38..z31 & cycle;
+endchar;
+
+beginchar("'",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "Vowel Carrier";
+ full_balken;
+ common_triangle;
+ upper_fish;
+ lower_fish;
+endchar;
+
+beginchar("-",0,0,depth#);
+ "Long Vowel";
+ x5=x8=-margin-bwidth;
+ x6=-margin;
+ x7=0;
+ y5-2n=y6=y8=0;
+ y7=-depth;
+ fill z5--z6--z7--z8--cycle;
+endchar;
+
+beginchar("i",0,vheight#+2pt#,0);
+ "i";
+ x100=-bwidth-width;
+ x101=x103=1/2[x100,x102];
+ x102=-margin;
+ y100=y102=height;
+ y101=2/3[height,vheight];
+ y103=vheight;
+ fill z100..z101..z102 & z102..z103..z100 & cycle;
+endchar;
+
+beginchar("e",0,vheight#+2pt#,0);
+ "Umlaut a";
+ x100=x105=-bwidth-width;
+ x101+n=x102+n=x103=x104=-margin;
+ y100=y101=1/2[height,vheight];
+ y105=y104=vheight;
+ y102=y103=height;
+ fill z100--z101--z102--z103--z104--z105--cycle;
+endchar;
+
+beginchar("U",0,height#,0);
+ "U";
+ z101=(-bwidth-width,1/6height);
+ z102=(-bwidth-center,thin);
+ z103=(-bwidth-width+5/6o_width,1/6height);
+ z104=(-bwidth-width+2/3o_width,1/3height-thin);
+ z105=(-bwidth-width+5/6o_width-2thin,1/6height);
+ z106=(-bwidth-center,2thin);
+
+ fill z101{right}..{right}z102{right}..{up}z103..z104
+ ..z105{down}..{left}z106{left}..{left}z101 & cycle;
+endchar;
+
+beginchar("V",0,height#,0);
+ "V";
+ z101=(-width-bwidth,1/6height);
+ z102=(-width-bwidth+1/3o_width,thin);
+ z103=(-width-bwidth+2/3o_width-thin,1/6height);
+ z104=(-width-bwidth+1/2o_width,1/3height-.5thin);
+ z105=(-width-bwidth+2/3o_width-2.5thin,1/6height);
+ z106=(-width-bwidth+1/3o_width,2thin);
+
+ fill z101{right}..{right}z102{right}..{up}z103..z104
+ ..z105{down}..{left}z106{left}..{left}z101 & cycle;
+endchar;
+
+beginchar("u",0,height#,0);
+ "u";
+ x101=x106=-bwidth-width;
+ x102=x105+1.5n=x104+1.5n=x103+1n=5/6o_width-bwidth-width;
+
+ y101=y102=1/9height;
+ y106=y105=2/9height;
+ y104=y103=1/3height;
+
+ fill z101--z102--z103--z104--z105--z106--cycle;
+endchar;
+
+beginchar("v",0,height#,0);
+ "u";
+ x101=x106=-bwidth-width;
+ x102=x105+1.5n=x104+1.5n=x103+1n=5/9o_width-bwidth-width-.5thin;
+
+ y101=y102=1/9height;
+ y106=y105=2/9height;
+ y104=y103=1/3height;
+
+ fill z101--z102--z103--z104--z105--z106--cycle;
+endchar;
+
+beginchar("o",0,vheight#+2pt#,0);
+ "o";
+ x100=-bwidth-width;
+ x101+n=x103-n=x102=1/2[x100,x104];
+ x104=-margin;
+ y100r=y101r=y103r=y104r=vheight;
+ y102l=height;
+ penpos100(2thin,90);
+ penpos101(2thin,90);
+ penpos102(2thin,90);
+ penpos103(2thin,90);
+ penpos104(2thin,90);
+ penstroke z100e--z101e--z102e--z103e--z104e;
+endchar;
+
+beginchar("O",0,vheight#+2pt#,0);
+ "Umlaut o";
+ x100=x107=-bwidth-width;
+ x101+n=x102+n=x103-n=x104-n=1/2[x100,x105];
+ x105=x106=-margin;
+ y100=y101=y104=y105=1/2[height,vheight];
+ y106=y107=vheight;
+ y102=y103=height;
+ fill z100--z101--z102--z103--z104--z105--z106--z107--cycle;
+endchar;
+
+beginchar("W",2/3o_width#,height#,0);
+ "diphthong u";
+ x81=x83=x85=-margin;
+ x90=x92=x81+2thin;
+ x82=x84=x87=-margin+1/3o_width;
+ x86=1/2[x85,x87];
+ x88=x89=x91=x93=-margin+2/3o_width;
+
+ y81=height;
+ y82=y93=5/6height;
+ y83=y92=2/3height+3thin;
+ y84=y91=1/2height+3thin;
+ y85=y90=1/3height+3thin;
+ y86=y89=1/6height;
+ y87=thin;
+ y88=0;
+
+ fill z81{right}..z82..{left}z83
+ & z83{right}..z84..{left}z85
+ & z85{right}..{down}z87 & z87--z88
+ & z88{up}...z89..z90 & z90{right}..z91..{left}z92
+ & z92{right}..z93..{left}z81 & cycle;
+endchar;
+
+beginchar("I",2/3o_width#,height#,0);
+ "diphthong i";
+ x81=x83=x85=x94=-margin;
+ x90=x92=x81+2thin;
+ x82=x84=x87=-margin+1/3o_width;
+ x86=1/2[x85,x87];
+ x88=x89=x91=x93=-margin+2/3o_width;
+
+ y94=y93=height;
+ y81=y82=height-1.5thin;
+ y83=y92=2/3height+3thin;
+ y84=y91=1/2height+3thin;
+ y85=y90=1/3height+3thin;
+ y86=y89=1/6height;
+ y87=thin;
+ y88=0;
+
+ fill z81--z82--z83--z84--z85 & z85{right}..{down}z87 & z87--z88
+ & z88...z89..z90 & z90--z91--z92--z93--z94--cycle;
+endchar;
+
+beginchar("g",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "g";
+ k_triangle;
+ full_k_balken;
+ middle_k_beam;
+ hor_k_beam;
+ g_horn(1);
+endchar;
+
+beginchar("k",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "k";
+ k_triangle;
+ full_k_balken;
+ middle_k_beam;
+ x71=x72=margin;
+ x77=x78=x71+2thin;
+ x73=x76=x77+thin;
+ x74=x75=center-thin;
+
+ z71=whatever[z5,z6];
+ z78=whatever[z5,z6];
+ y75=y76=5/6height-.75thin;
+ y73=y74=5/6height+.75thin;
+ y72=y77=y75-thin;
+
+ fill (center+3thin,y73)--(width,y73)--(width,y75)--(center+3thin,y75)--cycle;
+
+ fill z71---z72{up}..{right}z73---z74--z75---z76{left}..{down}z77---z78--cycle;
+endchar;
+
+beginchar("x",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "x";
+ k_triangle;
+ full_k_balken;
+ middle_k_beam;
+ hor_k_beam;
+ x71=x78=margin;
+ x72=x73=x76=x77=margin+3thin;
+ x74=x75=center-thin;
+ y73=y74=2/3height-.75thin;
+ y75=y76=2/3height+.75thin;
+ y71=y72=1/2height;
+ y78+thin=y77=height-3n;
+
+ fill z71--z72--z73--z74--z75--z76--z77--z78--cycle;
+endchar;
+
+beginchar("z",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "z";
+ full_balken;
+ common_triangle;
+ x20=x22=center;
+ x21=width;
+ lft x23=margin+thin;
+ y20=y12-thin;
+ y22=y20-o_width;
+ y21=y23=.5[y22,y20];
+
+ pickup pensquare scaled 2thin rotated 45;
+ draw z20--z21--z22--z23;
+endchar;
+
+beginchar("c",margin#+width#+bwidth#,vheight#,depth#);
+ "c";
+ full_balken;
+ common_triangle;
+
+ lft x19=lft x23=margin;
+ x20=x22=center;
+ rt x21=width-thin;
+
+ y19=1/3[y22,y20];
+ y23=2/3[y22,y20];
+ y20=y12-thin;
+ y22=y20-2/3o_width;
+ y21=.5[y22,y20];
+
+ pickup pensquare scaled 2thin rotated 45;
+ draw z19--z20--z21--z22--z23;
+endchar;
+
+beginchar("=",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "\= n";
+ full_balken;
+ common_triangle;
+
+ x18=x20=x22=center;
+ x19=.5[margin,center];
+ x21=width;
+ lft x23=margin;
+ y20=y12-thin;
+ y22=y20-o_width;
+ y18=y21=y23=.5[y22,y20];
+ y19=.5[y23,y20];
+
+ pickup pensquare scaled 2thin rotated 45;
+ draw z18--z19--z20--z21--z22--z23;
+endchar;
+
+beginchar("d",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "d";
+ full_balken;
+ common_triangle;
+
+ % Wie Lower Fish, nur spiegelverkehrt
+ z31=(width,2/4height+.05thin);
+ z32=(margin+1/3o_width,3/4height);
+ z38=(x32,y32-1.5thin);
+ z33=(margin,1/2[y34,y32]);
+ z37=(x33+1.5thin,y33);
+ z34=(x32,1/3height+2thin);
+ z36=(x32,y34+1.25thin);
+ z35=(margin+5/12o_width,3/2[y34,y36]);
+ z39=(width,2/4height-.05thin);
+
+ fill z31..tension 1.8..z32..z33..z34..z35
+ & z35..z36..z37..z38..tension 1.7..z39
+ & z39..z31 & cycle;
+endchar;
+
+beginchar("t",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "t";
+ full_balken;
+ common_triangle;
+ x20=x21=center;
+ y20=3/4height;
+ y21=1/2height;
+ y22=y23=1/3height+2thin;
+ x22=margin+1/4o_width;
+ x23=margin+3/4o_width;
+ x24=x25=center;
+ y24=y21;
+ y25=y22;
+ pickup pencircle scaled 1.5thin;
+ draw z20..z21..cycle;
+ draw z22--z23;
+ draw z24--z25;
+endchar;
+
+beginchar("n",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "n";
+ full_balken;
+ common_triangle;
+ x21=x23=x24=x25=margin+2/3width;
+ x22=margin+thin;
+ y24=5/6height;
+ y25=1/2height-2thin;
+ y21=y24-2thin;
+ y23=y25+2thin;
+ y22=1/2[y21,y23];
+
+ pickup pencircle scaled 2thin;
+ draw z21{left}..z22..{right}z23;
+ draw z24--z25;
+endchar;
+
+beginchar("b",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "b";
+ full_balken;
+ common_triangle;
+
+ % Wie Lower Fish, nur spiegelverkehrt
+ z31=(width,2/3height-.05thin);
+ z39=(width,2/3height+.05thin);
+ z32=(margin+1/3o_width,1/3height);
+ z38=(x32,y32+1.5thin);
+ z33=(margin,1/2height);
+ z37=(x33+1.5thin,y33);
+ z34=(x32,2/3height);
+ z36=(x32,y34-1.25thin);
+ z35=(margin+5/12o_width,3/2[y34,y36]);
+
+ fill z31..tension 1.8..z32..z33..z34..z35
+ & z35..z36..z37..z38..tension 1.8..z39
+ & z39--z31 & cycle;
+endchar;
+
+beginchar("p",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "p";
+ full_balken;
+ common_triangle;
+ upper_fish;
+
+ % Wie Lower Fish, nur spiegelverkehrt
+ z31=(width,2/4height);
+ z32=(margin+1/3o_width,1/3height);
+ z38=(x32,y32+1.5thin);
+ z33=(margin,1/2[y34,y32]);
+ z37=(x33+1.5thin,y33);
+ z34=(x32,2/3height-2thin);
+ z36=(x32,y34-1.25thin);
+ z35=(margin+5/12o_width,3/2[y34,y36]);
+
+ fill z31..tension 1.8..z32..z33..z34..z35
+ & z35..z36..z37..z38..tension 1.8..z31 & cycle;
+endchar;
+
+beginchar("m",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "m";
+ full_balken;
+ common_triangle;
+ upper_fish;
+ x31=x32=center;
+ y31=1/3height+1.5n;
+ y32=2/3height-1.5n;
+ pickup pencircle scaled 1.5thin;
+ draw z31..z32..cycle;
+endchar;
+
+beginchar("y",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "y";
+ full_balken;
+ common_triangle;
+ upper_fish;
+ x31=margin+1/4o_width;
+ x32=center;
+ x33=margin+3/4o_width;
+ y31=y33=1/3height+thin;
+ y32=2/3height-2thin;
+
+ pickup pencircle scaled 2thin ;
+ draw z31{up}..z32..{down}z33 & z33--z31;
+endchar;
+
+beginchar("r",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "r";
+ full_balken;
+ common_triangle;
+ upper_fish;
+ x40=margin+2thin;
+ x41=width-2thin;
+ x42=center;
+ y40=y41=1/3height+thin;
+ y42=2/3height-2thin;
+ pickup pencircle scaled 2thin;
+ draw z40--z41--z42--cycle;
+endchar;
+
+beginchar("w",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "w";
+ full_balken;
+ common_triangle;
+ x20=x21=center;
+ y20=3/4height;
+ y21=1/2height;
+ pickup pencircle scaled 1.5thin;
+ draw z20..z21..cycle;
+endchar;
+
+beginchar("l",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "l";
+ full_balken;
+ common_triangle;
+ z21=(margin+1thin,5/6height-1thin);
+ z22=(margin,1/9[y21,y29]);
+ z23=(margin+1/3o_width,4/9[y21,y29]);
+ z24=(x23+2thin,y23);
+ z25=(width-thin,y24+thin);
+ z26=(x25,y25+thin);
+ z27=(x23+thin,y23+thin);
+ z28=(margin+2thin,y22);
+
+ z29=(x21,1/3height+2thin);
+
+ z30=(x22,8/9[y21,y29]);
+ z31=(x23,5/9[y21,y29]);
+ z32=(x24,y31);
+ z33=(x25,y32-thin);
+ z34=(x33,y33-thin);
+ z35=(x27,y32-thin);
+ z36=(x28,y30);
+
+ fill z21..z22..z23..z24..z25--z26..z27..{up}z28..z21..cycle;
+ fill z23--z24--z32--z31--cycle;
+ fill z29..z30..z31..z32..z33--z34..z35..{down}z36..z29..cycle;
+endchar;
+
+beginchar("$",2margin#+width#+bwidth#,height#+2pt#,depth#);
+ "$";
+ full_balken;
+ common_triangle;
+ x31=x33=margin;
+ x32=x34=width;
+ y31r=y32r=5/6height;
+ y33l=y34l=1/3height;
+ penpos31(3thin,90);
+ penpos32(3thin,90);
+ penpos33(3thin,90);
+ penpos34(3thin,90);
+ penstroke z31e--z34e;
+ penstroke z33e--z32e;
+endchar;
+
+beginchar("s",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "s";
+ full_balken;
+ common_triangle;
+
+ z60=(margin,1/2height+thin);
+ z64=(center,height-3n);
+ z65=(width,1/2height+thin);
+ z66=(width,y65-3thin);
+ z67=(center,y64-3thin);
+ z61=1/12[z60,z64];
+ z63=1/2[z60,z64];
+ z62=1/2[z61,z63];
+ z62-z70=(z63-z61) rotated 90;
+ z62-z69=4/3(z63-z61) rotated 90;
+ z71=7/12[z60,z64];
+ z72=(margin,y60-3thin);
+ z68-z71=whatever*(z70-z62);
+ z68=whatever[z72,z67];
+
+ fill z60--z61
+ & z61{z70-z62}..z70..{z62-z70}z63
+ & z63--z64--z65--z66--z67--z68
+ & z68{z70-z62}..z69..{z62-z70}z60 & cycle;
+endchar;
+
+beginchar("h",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "h";
+ full_k_balken;
+
+ z11=(margin,height);
+ z12=(center+thin,height-3n);
+ z13=(width+1/2bwidth,y11);
+
+ z20=(margin,height-1.5n);
+ z21=(x20,1/2height-n);
+ z22=(margin+3thin,y21+n);
+ x23=x22;
+ z20-z23=whatever*(z11-z12);
+
+ z24=(x22,2/3height);
+ z25=(x22,y24+1.5thin);
+ z26=(center-.5thin,y25);
+ z27=(center+2thin,y24-.5thin);
+ z28=(x27,1/2height);
+ z29=(center,y28);
+ z30=(x29,y27);
+ z31=(x26,y24);
+
+ x32=x22;
+ z32-z35=whatever*(z12-z13);
+ z33=(x22,y32+2thin);
+ z34=whatever[z11,z12];
+ z35=(center+1thin,height-4n);
+ z34-z33=whatever*(z35-z32);
+
+ x36=width;
+ z35-z36=whatever*(z11-z12);
+ z37=(x36,y36+2thin);
+ z38=whatever[z12,z13];
+ z38-z37=whatever*(z35-z36);
+
+ fill z20--z21--z22--z23--cycle;
+ fill z24--z25--z26{right}..{down}z27--z28--
+ z29--z30{up}..{left}z31--z24--cycle;
+
+ fill z32--z33--z34--z11--z13--z38--z37--z36--z35--cycle;
+endchar;
+
+beginchar("!",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "k\d s";
+ k_triangle;
+ full_k_balken;
+ hor_k_beam;
+ g_horn(1);
+ z5=(center-1thin,height-2n);
+ z6=(x5,1/2height+.75thin);
+ z7=(x5-4thin,1/2[y6,y8]);
+ z8=(x5,1/3height);
+ z9=(center+3thin,y8);
+ z10=(x9,y9+thin);
+ z14=(x7+3thin,y7);
+ z15=(x9,y6-.5thin);
+ z16=(x9,y5);
+
+ fill z5--z6{left}..z7..{right}z9--
+ z10{left}..z14..{right}z15--z16--cycle;
+endchar;
+
+beginchar("G",0,height#,0);
+ "aG";
+ x201=x202=-margin-bwidth-1/3o_width;
+ x207=x208=x201+2thin;
+ x203=x206=x207+.5thin;
+ x204=x205=-margin-bwidth;
+ y201=y208=1/3height;
+ y203=y204=2n;
+ y205=y206=y203+thin;
+ y202=y207=y206+.5n;
+
+
+ fill z201---z202{down}..{right}z203---z204--z205
+ ---z206{left}..{up}z207---z208--cycle;
+endchar;
+
+beginchar("K",0,height#,0);
+ "aK";
+ x201=x202=-margin-bwidth-1/3o_width;
+ x207=x208=x201+2thin;
+ x203=x206=x207+.5thin;
+ x204=x205=-margin-bwidth;
+
+ y201=y208=0;
+ y203=y204=1/3height;
+ y205=y206=y203-thin;
+ y202=y207=y206-.5n;
+
+ fill z201---z202{up}..{right}z203---z204--z205
+ ---z206{left}..{down}z207---z208--cycle;
+endchar;
+
+beginchar("*",0,height#,0);
+ "ang";
+ x201=x208=-margin-bwidth-1/3o_width;
+ x202=x203=x206=x207=x201+2thin;
+ x204=x205=-margin-bwidth;
+ y201=y202=0;
+ y203=y204=1/6height;
+ y205=y206=1/6height+1n;
+ y207=y208+1n=1/3height;
+
+ fill z201--z202--z203--z204--z205--z206--z207--z208--cycle;
+endchar;
+
+beginchar("D",0,height#,0);
+ "aD";
+ z201=(-margin-bwidth,1/6height+1/2thin);
+ z203=(x201-1/3o_width,1/6height);
+ z202=(1/2[x201,x203],1/3height-thin);
+ z204=(x202,0);
+ z205=(1/3[x202,x201],1/3[y204,y203]);
+ z206=(x204,y204+1.5thin);
+ z207=(x203+1.5thin,y203);
+ z208=(x202,y202-2thin);
+ z209=(x201,1/6height-1/2thin);
+
+ fill z201{left}..z202..z203..z204..z205
+ & z205..z206..z207..z208..{right}z209
+ & z209--z201 & cycle;
+endchar;
+
+beginchar("N",0,height#,0);
+ "aN";
+ z201=(-margin-bwidth-2thin,2n);
+ z202=(x201-1/3o_width,1/2[y201,y203]);
+ z203=(x201,1/3height);
+ z204=(x201,y202);
+ z205=(-margin-bwidth,y202);
+
+ pickup pencircle scaled thin;
+ draw z201{left}..z202..{right}z203;
+ pickup penrazor scaled 1thin;
+ draw z201--z203;
+ pickup penrazor scaled 1thin rotated 90;
+ draw z204--z205;
+endchar;
+
+beginchar("B",0,height#,0);
+ "aB";
+ z201=(-margin-bwidth,1/6height-1/2thin);
+ z203=(x201-1/3o_width,1/6height);
+ z202=(1/2[x201,x203],thin);
+ z204=(x202,1/3height-thin);
+ z205=(1/3[x202,x201],1/3[y204,y203]);
+ z206=(x204,y204-1.5thin);
+ z207=(x203+1.5thin,y203);
+ z208=(x202,y202+2thin);
+ z209=(x201,1/6height+1/2thin);
+
+ fill z201{left}..z202..z203..z204..z205
+ & z205..z206..z207..z208..{right}z209
+ & z209--z201 & cycle;
+endchar;
+
+beginchar("M",0,height#,0);
+ "aM";
+ y201=y202=1/6height+thin;
+ x201+thin=x202+1/3o_width=-margin-bwidth-.5thin;
+ pickup pencircle scaled thin;
+ draw z201..z202..cycle;
+endchar;
+
+beginchar("R",0,height#,0);
+ "aR";
+ y201=y202=3n;
+ y203=1/3height-thin;
+ x201=x203=-margin-bwidth;
+ x202+1/3o_width=-margin-bwidth;
+ pickup penrazor scaled thin rotated 90;
+ draw z201--z202--z203;
+endchar;
+
+beginchar("L",0,height#,0);
+ "aL";
+ x201=x204=-margin-bwidth-1/3o_width;
+ x203=x206=-margin-bwidth;
+ x202=x205=1/2[x201,x203];
+
+ y201=y202=y203=2n;
+ y204=y205=y206=1/3height-2n;
+
+ pickup penrazor scaled 1.5thin rotated 90;
+ draw z201--z203;
+ draw z204--z206;
+ pickup penrazor scaled 1thin;
+ draw z202--z205;
+endchar;
+
+beginchar("Q",0,height#,0);
+ "a$";
+ x201=x203=-1/3o_width-margin-bwidth;
+ x202=x204=-margin-bwidth;
+ y201=3/4[2n,1/3height];
+ y202=3n;
+ y203=1/4[2n,1/3height];
+ y204=1/3height;
+ pickup penrazor scaled 1.5thin rotated 90;
+ draw z201--z202;
+ draw z203--z204;
+endchar;
+
+beginchar("S",0,height#,0);
+ "aS";
+ z204=(-margin-bwidth,1/3height);
+ z201=(-margin-bwidth-1/3o_width-2thin,2n);
+ z203=1/2[z201,z204];
+ z205=1/2[z201,z203];
+ z202-z205=2/3(z201-z203) rotated 90;
+
+ pickup pencircle scaled 1.5thin;
+ draw z201{z202-z205}..z202..{z205-z202}z203--z204;
+endchar;
+
+beginchar("a",2/3o_width#,height#,0);
+ "\'a\.n";
+ z81=(-margin+2/3o_width,0);
+ z82=(-margin+1/3o_width,0);
+ z83=(-margin,1/6height);
+ z84=(-margin,1/3height);
+
+ fill z81--z82--z83--z84--cycle;
+endchar;
+
+beginchar("%",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "\d r";
+ full_balken;
+ common_triangle;
+ upper_fish;
+ lower_fish;
+
+ z41=(margin+1/6o_width,1/3height+1thin);
+ z42=(margin+1/3o_width-.25thin,y50+1.5thin);
+ z43=(center-.125thin-thin,y41);
+ z44=(center+.125thin-thin,y43);
+ z45=(margin+2/3o_width-1.75thin,y42);
+ z46=(margin+5/6o_width-2thin,y41);
+ z47=(x45,y41-1/3height+2thin);
+ z48=(x44,y45);
+ z49=(x43,y42);
+ z50=(x42,y47);
+
+ fill z41..tension 1.1..z42..tension 1.3..{up}z43
+ ..z44{down}..tension 1.3..z45..tension 1.2..z46
+ & z46..tension 1.2..z47..tension 1.3..{up}z48
+ ..z49{down}..tension 1.3..z50..tension 1.1..z41 & cycle;
+endchar;
+
+beginchar("&",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "\d l";
+ full_balken;
+ common_triangle;
+ upper_fish;
+ lower_fish;
+
+ z41=(margin+1/6o_width,3thin);
+ z42=(margin+1/3o_width-.25thin,y50-1.5thin);
+ z43=(center-.1thin-thin,y41);
+ z44=(center+.1thin-thin,y43);
+ z45=(margin+2/3o_width-1.75thin,y42);
+ z46=(margin+5/6o_width-2thin,y41);
+ z47=(x45,y41+1/3height-2thin);
+ z48=(x44+.1thin,y45);
+ z49=(x43-.1thin,y42);
+ z50=(x42,y47);
+
+ fill z41..tension 1.1..z42..tension 1.3..{down}z43
+ ..z44{up}..tension 1.3..z45..tension 1.2..z46
+ & z46..tension 1.2..z47..tension 1.3..{down}z48
+ ..z49{up}..tension 1.3..z50..tension 1.1..z41 & cycle;
+endchar;
+
+beginchar("0",0,om_height#+2pt#,0);
+ "am0";
+ x91=x92=-bwidth-center;
+ y91=vheight+3n;
+ y92=vheight;
+ pickup pencircle scaled thin;
+ draw z91..z92..cycle;
+endchar;
+
+beginchar("H",2/3o_width#,height#+2pt#,0);
+ "H";
+ x81=lft x84=lft x88=-margin;
+ x82=x86=x90=-margin+2/3o_width;
+ x83=x85=x87=x89=x91=-margin+1/3o_width;
+
+ y81=y82=height;
+ y83=5/6height;
+ y85=y83-thin;
+ y87-thin=y89+thin=.5[0,y85];
+ y84=y86=.5[y85,y87];
+ y88=y90=.5[y89,0];
+ bot y91=0;
+
+ fill z81--z82--z83--cycle;
+ pickup pencircle scaled 1.5thin;
+ draw z84--z85--z86--z87--cycle;
+ draw z88--z89--z90--z91--cycle;
+endchar;
+
+beginchar("(",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "g";
+ k_triangle;
+ full_k_balken;
+ middle_k_beam;
+ hor_k_beam;
+ z41=(margin+3thin,1/2height);
+ z42=(margin,2/3height);
+ z43=(x41,5/6height);
+ z44=(x41,2/3height+.75thin);
+ z45=(x5,y44);
+ z46=(x5,2/3height-.75thin);
+ z47=(x41,y46);
+
+ fill z41..z42..z43 & z43--z44--z45--z46--z47--z41 & cycle;
+endchar;
+
+beginchar(")",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "gh";
+ k_triangle;
+ full_k_balken;
+ middle_k_beam;
+ hor_k_beam;
+ z41=(margin,1/2height);
+ z42=(1/2[x41,x48],2/3height);
+ z43=(margin,5/6height);
+ z48=(4/6[x41,x45],y42);
+ z44=(x48,2/3height+.75thin);
+ z45=(x5,y44);
+ z46=(x5,2/3height-.75thin);
+ z47=(x44,y46);
+
+ fill z41..z42..z43 & z43..{down}z44
+ & z44--z45--z46--z47 & z47{down}..z41 & cycle;
+endchar;
+
+beginchar("j",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "j";
+ full_balken;
+ common_triangle;
+ x20=x22=center;
+ x21=width;
+ lft x23=margin+thin;
+ y20=y12-thin;
+ y22=y20-o_width;
+ y21=y23=.5[y22,y20];
+
+ pickup pensquare scaled 2thin rotated 45;
+ draw z23--z20--z21--z22;
+endchar;
+
+beginchar(",",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "jh";
+ full_balken;
+ common_triangle;
+ x20=x22=center;
+ rt x21=width;
+ lft x23=margin;
+ y20=y12-thin;
+ y22=y20-o_width;
+ y21=y23=.5[y22,y20];
+ z24=(x23,y20);
+ pickup pensquare scaled 2thin rotated 45;
+ draw z23--z20--z21--z22;
+ pickup penrazor scaled 2.5thin rotated -45;
+ draw z23--z24;
+endchar;
+
+beginchar("T",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "\d t";
+ full_balken;
+ common_triangle;
+ z21=(center-2n,1/3height+2n-thin);
+ z22=(center+2n,y21-2n);
+ z23=(x22,height-2n);
+ z24=(x21,y23);
+ z25=(x21,5/6height);
+ z26=(x21-2.5thin,1/2[y25,y27]);
+ z27=(x21,1/2[y25,y29]);
+ z28=(x26,1/2[y27,y29]);
+ z29=(x21,1/2height);
+
+ fill z21--z22--z23--z24--z25--z26--z27--z28--z29--cycle;
+endchar;
+
+beginchar("1",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "\d th";
+ full_balken;
+ common_triangle;
+ z21=(center-2n,1/3height+2n-thin);
+ z22=(center+2n,y21-2n);
+ z23=(x22,height-2n);
+ z24=(x21,y23);
+ z25=(x21,5/6height); % << Beginn des oberen Dreiecks,
+ z26=(x21-2.5thin,1/2[y25,y27]); % von dem alle anderen Dreiecke
+ z27=(x21,1/2[y25,y29]); % abhaengen!
+ z28=(x26,1/2[y27,y29]);
+ z29=(x21,1/2height);
+ z30=(x22,y28);
+ z31=(x22+2.5thin,y27);
+ z32=(x22,y26);
+
+ fill z21--z22--z30--z31--z32--z23--z24--z25--z26--z27--z28--z29--cycle;
+endchar;
+
+beginchar("2",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "\d d";
+ full_balken;
+ common_triangle;
+ z21=(center-2n,1/3height+2n-thin);
+ z22=(center+2n,y21-2n);
+ z23=(x22,height-2n);
+ z24=(x21,y23);
+ z25=(x21,2/3[y21,y24]); % << Beginn des Dreiecks
+ z26=(x21-2.5thin,1/2[y25,y27]); %
+ z27=(x21,1/3[y21,y24]); %
+
+ fill z21--z22--z23--z24--z25--z26--z27--cycle;
+endchar;
+
+beginchar("3",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "\d dh";
+ full_balken;
+ common_triangle;
+ g_horn(2);
+ z21=(center-2n,1/3height+2n-thin);
+ z22=(center+2n,y21-2n);
+ z23=(x22,height-2n);
+ z24=(x21,y23);
+ z25=(x21,2/3[y21,y74]); % << Beginn des Dreiecks
+ z26=(x21-2.5thin,1/2[y25,y27]); %
+ z27=(x21,1/3[y21,y74]); %
+
+ fill z21--z22--z23--z24--z25--z26--z27--cycle;
+endchar;
+
+beginchar("4",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "\d n";
+ full_balken;
+ common_triangle;
+ z5=(center,y12-2n);
+ z6=(center,1/3[y5,y9]);
+ z7=(center-3thin,1/2[y6,y8]);
+ z8=(center,2/3[y5,y9]);
+ z9=(center,1/3height+2n);
+ z10=(center+3thin,1/3height);
+ z14=(x10,y8);
+ z15=(width,y8);
+ z16=(width,y6);
+ z17=(x10,y6);
+ x18=x10;
+ z5-z18=whatever*(z12-z13);
+
+ fill z5--z6--z7--z8--z9--z10--z14--z15--z16--z17--z18--cycle;
+endchar;
+beginchar("5",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "\_d";
+ full_balken;
+ common_triangle;
+ x5=center-2thin;
+ z5=whatever[z11,z12];
+ z6=(x5,2/3[y9,y5]+.5thin);
+ z7=(x5-4thin,1/2[y6,y8]);
+ z8=(x5,1/3[y9,y5]-.5thin);
+ z9=(x5,1/3height+n);
+ z10=(center+2thin,1/3height-n);
+ z14=(x10,y8+thin);
+ z15=(x7+3thin,1/2[y14,y16]);
+ z16=(x10,y6-thin);
+ x17=x10;
+ z17=whatever[z12,z13];
+
+ fill z5--z6{left}..z7..{right}z8--z9--z10--
+ z14{left}..z15..{right}z16--z17--cycle;
+endchar;
+
+beginchar("6",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "\_dh";
+ full_balken;
+ common_triangle;
+ g_horn(2);
+ z5=(center-2thin,height-2n);
+ z6=(x5,2/3height-2thin);
+ z7=(x5-4thin,1/2[y6,y8]);
+ z8=(x5,1/3height);
+ z9=(center+2thin,y8);
+ z10=(x9,y9+thin);
+ z14=(x7+3thin,y7);
+ z15=(x9,y6-.5thin);
+ z16=(x9,y5);
+
+ fill z5--z6{left}..z7..{right}z9--
+ z10{left}..z14..{right}z15--z16--cycle;
+
+endchar;
+
+beginchar("7",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "\_b";
+ full_balken;
+ common_triangle;
+
+ x16=center+2thin;
+ y16=y17-thin;
+ x17=x19=x21=center;
+ y17=5/6height;
+ y19=1/3height+2thin;
+ y21=2/3[y19,y17];
+ x18=margin+thin;
+ x20=width-3thin;
+ y18=1/2[y17,y19];
+ y20=1/2[y19,y21];
+ x22=center-1thin;
+ y22=y21-thin;
+
+ z23=(center,y21-thin);
+ z24=(x20-1.5thin,y20);
+ z25=(x19,y19+1.5thin);
+ z26=(x18+1.5thin,y18);
+ z27=(center,y17-.75thin);
+
+ fill z16..z17..z18..z19..z20..z21..z22
+ & z22..z23..z24..z25..z26..z27..z16 & cycle;
+endchar;
+
+beginchar("8",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "\_bh";
+ full_balken;
+ common_triangle;
+ upper_fish;
+
+ x16=center+2thin;
+ y16=y17-thin;
+ x17=x19=x31=center;
+ y17=2/3height-thin;
+ y19=1/3height;
+ y31=2/3[y19,y17];
+ x18=margin+thin;
+ x30=width-3thin;
+ y18=1/2[y17,y19];
+ y30=1/2[y19,y31];
+ x32=center-1thin;
+ y32=y31-thin;
+
+ z33=(center,y31-thin);
+ z34=(x30-1.5thin,y30);
+ z35=(x19,y19+1thin);
+ z36=(x18+1.5thin,y18);
+ z37=(center,y17-.75thin);
+
+ fill z16..z17..z18..z19..z30..z31..z32
+ & z32..z33..z34..z35..z36..z37..z16 & cycle;
+endchar;
+
+beginchar("9",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "\d s";
+ full_balken;
+ common_triangle;
+
+ z71=(margin,5/6height);
+ z88=(margin,y71-3thin);
+ z73=(width,y71);
+ z74=(width,y88);
+ z77=(width,1/3height);
+ z76=(width,y77+3thin);
+ z75=(whatever,1/2[y74,y76]);
+ z75=whatever[z71,z76];
+ z72=whatever[z71,z76];
+ z72=(center,whatever);
+ z78=(center,y72-3thin);
+ z88=(margin,y74);
+ z87=whatever[z88,z77];
+ z87=whatever[z72,z73];
+ z81=(margin,y76);
+ z82=1/12[z81,z87];
+ z83=1/2[z82,z85];
+ z84-z83=7/6(z82-z85) rotated 90;
+ z85=2/3[z81,z87];
+ z86=9/12[z81,z87];
+ z79=whatever[z74,z75];
+ z86-z79=whatever*(z81-z73) rotated 90;
+ z80-z83=5/3(z82-z85) rotated 90;
+ z89-z81=whatever*(z81-z73) rotated 90;
+ z89=whatever[z75,z74];
+
+ fill z87--z88--z71--z72--z73--z74--z75--z76--z77--z78--z79
+ & z79{z84-z83}..z80..{z83-z84}z89
+ ---z89--z81--z82{z84-z83}..z84..{z83-z84}z85--z87 & cycle;
+endchar;
+
+beginchar(":",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "ky";
+ full_k_balken;
+ k_triangle;
+ g_horn(1);
+
+ x5=x8=center-1thin;
+ x6=x7=center+3thin;
+ z7=whatever[z13,z12];
+ z8=whatever[z12,z11];
+ y5=y6-2n=1/2height+thin;
+
+ z14=(x6,1/2[y6,y7]+.75thin);
+ z15=(width,y14);
+ z16=(x15,y14-1.5thin);
+ z17=(x14,y16);
+
+ z18=(center,y5-2thin);
+ z19=(x18-1/3o_width,1/3height-3thin);
+ z20=(x18+1/3o_width,y19);
+
+ fill z5--z6--z7--z8--cycle;
+ fill z14--z15--z16--z17--cycle;
+
+ pickup pencircle scaled 1.5thin;
+ draw z19{up}..z18..{down}z20--z19 & cycle;
+endchar;
+
+beginchar(";",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "kr";
+ full_k_balken;
+ k_triangle;
+ g_horn(1);
+
+ x5=x8=center-1thin;
+ x6=x7=center+3thin;
+ z7=whatever[z13,z12];
+ z8=whatever[z12,z11];
+ y5=y6-2n=1/2height+thin;
+
+ z14=(x6,1/2[y6,y7]+.75thin);
+ z15=(width,y14);
+ z16=(x15,y14-1.5thin);
+ z17=(x14,y16);
+
+ z18=(center,y5-2thin);
+ z19=(x18-1/3o_width,1/3height-3thin);
+ z20=(x18+1/3o_width,y19);
+
+ fill z5--z6--z7--z8--cycle;
+ fill z14--z15--z16--z17--cycle;
+
+ pickup pencircle scaled 1.5thin;
+ draw z18--z19--z20--cycle;
+endchar;
+
+beginchar("<",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "kl";
+ full_k_balken;
+ k_triangle;
+ g_horn(1);
+
+ x5=x8=center-1thin;
+ x6=x7=center+3thin;
+ z7=whatever[z13,z12];
+ z8=whatever[z12,z11];
+ y5=y6-2n=1/2height+thin;
+
+ z14=(x6,1/2[y6,y7]+.75thin);
+ z15=(width,y14);
+ z16=(x15,y14-1.5thin);
+ z17=(x14,y16);
+
+ z21=(margin+1thin,2/3height-2thin);
+ z22=(margin,1/9[y21,y29]);
+ z23=(margin+1/3o_width,4/9[y21,y29]);
+ z24=(x23+2thin,y23);
+ z25=(width-thin,y24+thin);
+ z26=(x25,y25+thin);
+ z27=(x23+thin,y23+thin);
+ z28=(margin+2thin,y22);
+
+ z29=(x21,1/3height-2thin);
+
+ z30=(x22,8/9[y21,y29]);
+ z31=(x23,5/9[y21,y29]);
+ z32=(x24,y31);
+ z33=(x25,y32-thin);
+ z34=(x33,y33-thin);
+ z35=(x27,y32-thin);
+ z36=(x28,y30);
+
+ fill z5--z6--z7--z8--cycle;
+ fill z14--z15--z16--z17--cycle;
+ fill z21..z22..z23..z24..z25--z26..z27..{up}z28..z21..cycle;
+ fill z23--z24--z32--z31--cycle;
+ fill z29..z30..z31..z32..z33--z34..z35..{down}z36..z29..cycle;
+endchar;
+
+beginchar(">",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "km";
+ full_k_balken;
+ k_triangle;
+ g_horn(1);
+
+ x5=x8=center-1thin;
+ x6=x7=center+3thin;
+ z7=whatever[z13,z12];
+ z8=whatever[z12,z11];
+ y5=y6-2n=1/2height+thin;
+
+ z14=(x6,1/2[y6,y7]+.75thin);
+ z15=(width,y14);
+ z16=(x15,y14-1.5thin);
+ z17=(x14,y16);
+
+ z18=(center,y5-2thin);
+ z19=(center,1/3height-3thin);
+
+ fill z5--z6--z7--z8--cycle;
+ fill z14--z15--z16--z17--cycle;
+
+ pickup pencircle scaled 1.5thin;
+ draw z18..z19..cycle;
+endchar;
+
+beginchar("?",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "kk";
+ g_horn(1);
+
+ z10=(margin,height);
+ z11=(margin+2thin,height-1.25thin);
+ z12=(margin,y11);
+ z13=(center+thin,height-3thin);
+
+ z14=(center-thin,whatever);
+ z14=whatever[z12,z13];
+ z15=(x14,1/3height+thin);
+ z16=(center+3thin,1/3height-thin);
+ z17=(x16,whatever);
+ z18=(width+2thin,y11);
+ z17=whatever[z13,z18];
+
+ z19=(x18-2thin,y11);
+ z20=(x18,height);
+
+ z21=(width,whatever);
+ z24=(width+bwidth,whatever);
+ z21-z24=whatever*(z13-z18);
+
+ y21=y25-1.5n;
+ x25=width;
+ z25=whatever[z13,z18];
+
+ y22-2n=y23=0;
+ x22=x21;
+ x23=x24;
+
+ x26=x29=x16;
+ x27=x28=width;
+ y26=y27=y75;
+ y28=y29=y73;
+
+ fill z20--z10--z11--z12--z14--z15--z16--z17--z18--z19--z20--cycle;
+ fill z21--z22--z23--z24--cycle;
+ fill z26--z27--z28--z29--cycle;
+endchar;
+
+beginchar("A",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "\.nk";
+ z11=(margin,height);
+ z12=(center+1thin,height-3n);
+ z13=(width+1/2bwidth,height);
+ z14=(center-thin,whatever);
+ z14=whatever[z11,z12];
+ z31=(center+3thin,whatever);
+ z31=whatever[z12,z13];
+ z15=(x14,5/6height+.75thin);
+ z16=(1/2[x11,x14],y15);
+ z17=(margin,y16+2thin);
+ z18=(margin,y19-2thin);
+ z19=(x16,5/6height-.75thin);
+ z20=(x14,y19);
+ z21=(x14,1/3height+thin);
+ z22=(x31,1/3height-thin);
+ z23=(x31,1/2height-.75thin);
+ z24=(width,y23);
+ z32=(width,2n);
+ z33=(width+bwidth,0);
+ z34=(x33,2/3height-.75thin);
+ z35=(x32,y34);
+ z25=(x24,y24+1.5thin);
+ z26=(x31,y25);
+ z27=(x31,y20);
+ z28=(x24,y20);
+ z36=(x32,y35+1.5thin);
+ z37=(x33,y36);
+ z38=(x33,height);
+ z39=(x36,height-2n);
+ z29=(x28,y15);
+ z30=(x31,y15);
+
+ x71=x72=margin+thin;
+ x77=x78=x71+2thin;
+ x73=x76=x77+thin;
+ x74=x75=center-thin;
+
+ y71=y78=y18-thin;
+ y75=y76=y26;
+ y73=y74=y23;
+ y72=y77=y75+thin;
+
+ fill z71---z72{down}..{right}z73---z74--z75
+ ---z76{left}..{up}z77---z78--cycle;
+
+ fill z11--z14--z15--z16--z17--z18--z19--z20--z21--z22
+ --z23--z24--z32--z33--z34--z35--z25--z26
+ --z27--z28--z36--z37--z38--z39--z29--z30--z31--z13--cycle;
+
+endchar;
+beginchar("E",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "\=nc";
+ full_balken;
+ common_triangle;
+
+ z23=(center,y12-1thin);
+ z21=(center,1/2[y23,y25]);
+ z20=1/2[z21,z22];
+ z22=(whatever,1/2[y21,y23]);
+ z28=(center,1/3height-2thin);
+ z25=(center,6/12[y23,y28]);
+ z22-z23=(z22-z21) rotated 90;
+ y24=y21;
+ z23-z24=whatever*(z23-z28) rotated 45;
+ z23-z24=whatever*(z22-z21);
+ z27=(x24,1/2[y25,y28]);
+ z26=(margin+1/6o_width,whatever);
+ z26=whatever[z25,z27];
+ z29=(margin+1/6o_width,whatever);
+ z29-z28=whatever*(z26-z27);
+
+ pickup pensquare scaled 1.5thin rotated 45;
+ draw z21--z22--z23--z24--z25;
+ draw z26--z27--z28--z29;
+endchar;
+
+beginchar("|",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "\d n\d t";
+ full_balken;
+ common_triangle;
+ z14=(center-2thin,height-4thin);
+ z15=(x14,1/9[y14,y23]);
+ z16=(x14-2.5thin,1/2[y15,y17]);
+ z17=(x14,3/9[y14,y23]);
+ z18=(x14,5/9[y14,y23]);
+ z19=(x16,1/2[y18,y20]);
+ z20=(x14,1/2[y18,y22]);
+ z21=(x16,1/2[y20,y22]);
+ z22=(x14,8/9[y14,y23]);
+ z23=(x14,1/3height+thin);
+
+ z24=(center+2thin,1/3height-thin);
+ z25=(x24,y18);
+ z26=(width,y18);
+ z27=(width,y17);
+ z28=(x24,y17);
+ z29=(x24,y14);
+
+ fill z14--z15--z16--z17--z18--z19--z20--z21--z22
+ --z23--z24--z25--z26--z27--z28--z29--cycle;
+endchar;
+
+beginchar("~",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "nt";
+ full_balken;
+ common_triangle;
+
+ % Wie Lower Fish, nur spiegelverkehrt
+ z31=(width,2/6height+.05thin);
+ z32=(margin+1/3o_width,y31+1/4height-.05thin);
+ z38=(x32,y32-1.5thin);
+ z33=(margin,1/2[y34,y32]);
+ z37=(x33+1.5thin,y33);
+ z34=(x32,y32-1/3height+2thin);
+ z36=(x32,y34+1.25thin);
+ z35=(margin+5/12o_width,3/2[y34,y36]);
+ z39=(width,y31-.1thin);
+
+ z40=(width-1/6o_width,2/3height-2thin);
+ z41=(width-2/3o_width+2thin,1/2[y40,y42]);
+ z42=(x40,5/6height);
+ z43=(width,y41);
+ z44=(x40,y41);
+ pickup pencircle scaled 1.5thin;
+ draw z40{left}..z41..{right}z42--z40 & cycle;
+ draw z43--z44;
+
+ fill z31..tension 1.8..z32..z33..z34..z35
+ & z35..z36..z37..z38..tension 1.7..z39
+ & z39..z31 & cycle;
+endchar;
+
+beginchar("P",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "mp";
+ full_balken;
+ common_triangle;
+ upper_fish;
+
+ % Wie Lower Fish, nur spiegelverkehrt
+ z31=(width,2/6height);
+ z32=(margin+1/3o_width,y31-1/6height);
+ z38=(x32,y32+1.5thin);
+ z33=(margin,1/2[y34,y32]);
+ z37=(x33+1.5thin,y33);
+ z34=(x32,y31+1/6height-2thin);
+ z36=(x32,y34-1.25thin);
+ z35=(margin+5/12o_width,3/2[y34,y36]);
+
+ z39=(center,2/3height-1.5thin);
+ z40=(center,1/3height+3thin);
+
+ fill z31..tension 1.8..z32..z33..z34..z35
+ & z35..z36..z37..z38..tension 1.8..z31 & cycle;
+
+ pickup pencircle scaled 1.5thin;
+
+ draw z39..z40..cycle;
+endchar;
+
+beginchar("Y",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "lk";
+ k_triangle;
+ full_k_balken;
+ middle_k_beam;
+ hor_k_beam;
+ shorter_g_horn(1);
+
+ z61=(margin,height-thin);
+ z62=(whatever,y61);
+ z62=whatever[z11,z12];
+ z63=(margin,height-2thin);
+ z64=(whatever,y63);
+ z64=whatever[z11,z12];
+
+ fill z61--z62--z64--z63--cycle;
+endchar;
+
+beginchar("[",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "\vsk";
+ k_triangle;
+ full_k_balken;
+ middle_k_beam;
+ hor_k_beam;
+ shorter_g_horn(1);
+
+ z61=(margin+1thin,height-thin);
+ z62=(whatever,y61);
+ z62=whatever[z11,z12];
+ z63=(margin+1thin,height-2thin);
+ z64=(whatever,y63);
+ z64=whatever[z11,z12];
+
+ z65=(x64-1.5thin,height-4thin);
+ z66=(x64-.5thin,y65);
+ z67=(x64-.5thin,y64);
+ z68=(x64-1.5thin,y64);
+
+ fill z61--z62--z64--z63--cycle;
+ fill z68--z65--z66--z67--cycle;
+endchar;
+
+beginchar("]",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "sk";
+ k_triangle;
+ full_k_balken;
+ middle_k_beam;
+ hor_k_beam;
+ shorter_g_horn(1);
+
+ z14=5/12[z11,z12];
+ z15=(x14,y14-3thin);
+ z16=(whatever,1/2[y14,y15]);
+ z16-z15=(z14-z15) rotated 60;
+
+ fill z14--z15--z16--cycle;
+endchar;
+
+beginchar("f",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "rk";
+ k_triangle;
+ full_k_balken;
+ middle_k_beam;
+ hor_k_beam;
+ shorter_g_horn(1);
+
+ z14=whatever[z11,z12];
+ z14=whatever[z5,z8];
+ z15=3/12[z11,z14];
+ z16=9/12[z11,z14];
+ z17=1/2[z11,z14];
+ z18-z17=8/6(z15-z16) rotated 90;
+
+ fill z15--z16--z18--cycle;
+endchar;
+
+beginchar("Z",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "Z";
+ x20=x22=center;
+ x21=width;
+ lft x23=margin;
+ y20=y12-thin;
+ y22=y20-o_width;
+ y21=y23=.5[y22,y20];
+
+ full_balken;
+ common_triangle;
+
+ pickup pensquare scaled 2thin rotated 45;
+ draw z20--z21--z22--z23--cycle;
+endchar;
+
+beginchar("C",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "C";
+ x20=x22=center;
+ x21=width;
+ lft x23=margin;
+ y20=y12-thin;
+ y22=y20-o_width;
+ y21=y23=.5[y22,y20];
+
+ full_balken;
+ common_triangle;
+ pickup pensquare scaled 2thin rotated 45;
+ draw z20--z21--z22--z23--cycle;
+
+ pickup pencircle scaled thin;
+ draw z20--z22;
+endchar;
+
+beginchar("J",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "J";
+ x20=x22=center;
+ x21=width;
+ x23=margin;
+ y20=y12-thin;
+ y22=y20-o_width;
+ y21=y23=.5[y22,y20];
+
+ full_balken;
+ common_triangle;
+ pickup pensquare scaled 2thin rotated 45;
+ draw z20--z21--z22--z23--cycle;
+ pickup pencircle scaled thin;
+ draw z21--z23;
+endchar;
+
+beginchar("X",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "X";
+ full_balken;
+ common_triangle;
+ upper_fish;
+ x31=margin+1/4o_width;
+ x32=center;
+ x33=margin+3/4o_width;
+ y31=y33=1/3height;
+ y32=2/3height-2thin;
+
+ pickup pencircle scaled 2thin ;
+ draw z31{up}..z32..{down}z33 ;
+endchar;
+
+beginchar("q",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "z";
+ full_balken;
+ common_triangle;
+ z21=(margin+1thin,5/6height-1thin);
+ z22=(margin,1/9[y21,y29]);
+ z23=(margin+1/3o_width,4/9[y21,y29]);
+ z24=(x23+2thin,y23);
+ z25=(width-thin,y24+thin);
+ z26=(x25,y25+thin);
+ z27=(x23+thin,y23+thin);
+ z28=(margin+2thin,y22);
+
+ z29=(x21,1/3height+2thin);
+
+ z30=(x22,8/9[y21,y29]);
+ z31=(x23,5/9[y21,y29]);
+ z32=(x24,y31);
+ z33=(x25,y32-thin);
+ z34=(x33,y33-thin);
+ z35=(x27,y32-thin);
+ z36=(x28,y30);
+
+ z37=(width,1/6height+.5thin);
+ z38=(width-1/4o_width,y37);
+ z39=(x38,y37-1thin);
+ z40=(x37,y39);
+
+ fill z21..z22..z23..z24..z25--z26..z27..{up}z28..z21..cycle;
+ fill z23--z24--z32--z31--cycle;
+ fill z29..z30..z31..z32..z33--z34..z35..{down}z36..z29..cycle;
+ fill z37--z38--z39--z40--cycle;
+endchar;
+
+beginchar("@",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "'a";
+ full_balken;
+ common_triangle;
+ z21=(center-.05thin,1/3height);
+ z27=(center,height-3n-thin);
+ z23=(center,y27-1.5thin);
+ z26=(margin+2thin,2/3[y21,y27]);
+ z24=(x26+1.5thin,y26);
+ z28=(width-2thin,y26);
+ z22=(x28-1.5thin,y26);
+ z25=(3/2[x26,x24],5/12[y27,y21]);
+ z29=(center+.05thin,1/3height);
+
+ fill z21{up}..tension 1.1..z22..z23..z24..z25
+ & z25..z26..z27..z28..tension 1.2..{down}z29
+ & z29..z21 & cycle;
+endchar;
+
+beginchar("}",margin#+bwidth#+width#+bwidth#,vheight#+2pt#,depth#);
+ "Soyombo Terminal";
+ % Linker Balken
+ z1=(margin,0);
+ z2=(margin+bwidth,0);
+ z3=(x2,height);
+ z4=(x1,height);
+ fill z1--z2--z3--z4--cycle;
+
+ % Rechter Balken
+ z5=(bwidth+width,0);
+ z6=(bwidth+width+bwidth,0);
+ z7=(x6,height);
+ z8=(x5,height);
+ fill z5--z6--z7--z8--cycle;
+
+ % Symmetrieachse festlegen
+ z9=(1/2[x2,x5],0.25thin);
+ z10=(x9,height);
+
+ % Unterer Lotusbluetenboden, linke Haelfte
+ z11=(1/3[x12,x9],1.75thin);
+ z12=(2/3[x2,x9],0.25thin);
+ z13=(1/3[x14,x12],1.25thin);
+ z14=(1/3[x2,x9],0.25thin);
+ pickup pencircle scaled .5thin;
+ draw z9{up}..z11..{down}z12 & z12{up}..z13..{down}z14;
+
+ % Unterer Lotusbluetenboden, rechte Haelfte
+ z15=z11 reflectedabout (z9,z10);
+ z16=z12 reflectedabout (z9,z10);
+ z17=z13 reflectedabout (z9,z10);
+ z18=z14 reflectedabout (z9,z10);
+ draw z9{up}..z15..{down}z16 & z16{up}..z17..{down}z18 & z18--z14;
+
+ % Erstes Blatt links
+ z20=(x9,2thin);
+ z21=(x12,2.5thin);
+ z22=(x14,1.5thin);
+ z23=(x21,3.5thin);
+ draw z20..z21..z22 & z22..z23..z20;
+
+ % Erstes Blatt rechts
+ z24=z21 reflectedabout (z9,z10);
+ z25=z22 reflectedabout (z9,z10);
+ z26=z23 reflectedabout (z9,z10);
+ draw z20..z24..z25 & z25..z26..z20;
+
+
+ % Vertikales Blatt
+ z37=(2/3[x11,x9],2/3[y9,y38]);
+ z38=(x9,1/4[y9,y10]);
+ z39=z37 reflectedabout (z9,z10);
+ draw z20..z37..z38 & z38..z39..z20;
+
+ % Zweites Blatt links
+ z27=(x13,y37);
+ z28=(1/2[x2,x14],y27-thin);
+ z29=(x13,y27+thin);
+ draw z20..z27..z28 & z28..tension 1.5..z29..tension 1.5..z20;
+
+ % Zweites Blatt rechts
+ z30=z27 reflectedabout (z9,z10);
+ z31=z28 reflectedabout (z9,z10);
+ z32=z29 reflectedabout (z9,z10);
+ draw z20..z30..z31 & z31..tension 1.5..z32..tension 1.5..z20;
+
+ % Drittes, kleines Blatt links
+ z33=(1/2[x37,x34],y37+thin);
+ z34=(x11,y37);
+ % draw z37..z33..z34;
+
+ % Drittes, kleines Blatt rechts
+ z35=z33 reflectedabout (z9,z10);
+ z36=z34 reflectedabout (z9,z10);
+ % draw z39..z35..z36;
+
+ % Gluehbirne
+ z40=(x28,height-4thin);
+ z41=(x9,vheight);
+ z42=z40 reflectedabout (z9,z10);
+ path leftglass, rightglass;
+ leftglass=(z37...z40{up}..{up}z41);
+ rightglass=(z41{down}..{down}z42...z39);
+ draw leftglass & rightglass;
+
+ % Gluehfaden
+ path Horizontale;
+ Horizontale=((x2,1/2height)--(x5,1/2height));
+ z43=Horizontale intersectionpoint leftglass;
+ z44=(2/3[x43,x9],y43+2thin);
+ z45=(1/2[x43,x9],y40);
+ z46=(x9,height-thin);
+ z47=z45 reflectedabout (z9,z10);
+ z48=z44 reflectedabout (z9,z10);
+ z49=z43 reflectedabout (z9,z10);
+ draw z43..z44..z45..z46..z47..z48..z49;
+ penlabels(range 1 thru 50);
+endchar;
+
+font_normal_space 1/2full_w#;
+font_x_height height#;
+font_quad full_w#;
+font_extra_space .25full_w#;
+
+end.