summaryrefslogtreecommitdiff
path: root/language/mongolian/montex/mfinput/bcgbase/mbatoms.mf
diff options
context:
space:
mode:
Diffstat (limited to 'language/mongolian/montex/mfinput/bcgbase/mbatoms.mf')
-rw-r--r--language/mongolian/montex/mfinput/bcgbase/mbatoms.mf1334
1 files changed, 1334 insertions, 0 deletions
diff --git a/language/mongolian/montex/mfinput/bcgbase/mbatoms.mf b/language/mongolian/montex/mfinput/bcgbase/mbatoms.mf
new file mode 100644
index 0000000000..1cd3527304
--- /dev/null
+++ b/language/mongolian/montex/mfinput/bcgbase/mbatoms.mf
@@ -0,0 +1,1334 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% File: mbatoms.mf
+% Author: Oliver Corff and Dorjpalam Dorj
+% Date: January 1st, 2002
+% Version: 0.9
+% Copyright: Ulaanbaatar, Beijing, Berlin
+%
+% Description: Local Mongolian and Manju Script (LMS, LMA)
+% Mongol Bicig, Manju Bithe Font Atoms Definition
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% First we decide our identity:
+%
+ writing:=0;
+ Bicig:=1;
+ Bithe:=2;
+ Galig:=3;
+ Tod:=4;
+ Vagindra:=5;
+ Container:=255;
+
+% Then we decide our style:
+%
+ style:=0;
+ steel:=1;
+ wood:=2;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Then we decide our writing direction:
+%
+ boolean LR;
+
+% Some bizarre rotating equipment gets installed:
+ % pair Centerpoint;
+def ifrotated = % Our rotating mechanism
+ if LR: rotatedaround ((w/2,.5[h,-d]),180) fi
+enddef;
+
+% Yet we cannot deny that we still use the picture gimmick...
+%
+ picture zawjpicture, exenzawjpicture,
+ deribuntsh_picture, tsh_picture;
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+def numberpath = % Theoretical number shape; a slanted ellipsis
+ % pair z[];
+ path trial;
+ z1=(2/6numberwidth,gedesinner);
+ z2=(numberwidth-3thin,underinner+thin);
+ z3=(4/6numberwidth,underinner);
+ z4=(2thin,gedesinner-thin);
+ trial= (z1..tension 1.2..z2..tension 1.2..z3..tension
+ 1.2..z4..tension 1.2..cycle);
+ penlabels (1,2,3,4);
+enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+def nuruu (expr exen,suul) = % Manai nirugu!
+ numeric x[]; numeric y[];
+ z1=(exen,nuruuleft);
+ z2=(x1,nuruuright);
+ z3=(suul,y2);
+ z4=(x3,y1);
+ fill (z1--z2--z3--z4--cycle) ifrotated;
+ penlabels(1,2,3,4);
+ numeric x[]; numeric y[];
+enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+def shud (expr x_offset) = % Manai shud!
+ numeric x[]; numeric y[];
+ nuruu(shudwidth+x_offset,x_offset);
+ z1=(x_offset+shudwidth-bearing,Centerline+1/2nuruuwidth);
+ z2=(x_offset+bearing,y1);
+ z3=(1/2[x1,x2],shudheight);
+ fill (z1--z2--z3--cycle) ifrotated;
+ penlabels(1,2,3);
+ numeric x[]; numeric y[];
+enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+def shud_atom (expr exen, suul) = % Manai shud!
+ numeric x[]; numeric y[];
+ z1=(exen,Centerline+1/2nuruuwidth);
+ z2=(suul,y1);
+ z3=(1/2[x1,x2],shudheight);
+ fill (z1--z2--z3--cycle) ifrotated;
+ penlabels(1,2,3);
+ numeric x[]; numeric y[];
+enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+def dusal (expr posx, posy, xdim, ydim) = % Manai dusal!
+ "The dusal, used for n, s, g, etc.";
+ numeric x[]; numeric y[];
+ z1=(posx,posy-1/2ydim);
+ z2=(posx-1/2xdim,posy);
+ z3=(posx,posy+1/2ydim);
+ z4=(posx+1/2xdim,posy);
+ fill (z1--z2--z3--z4--cycle) ifrotated;
+ penlabels(1,2,3,4);
+ numeric x[]; numeric y[];
+enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+def manjudusal (expr posx, posy, xdim, ydim) = % Manju dusal!
+ "The Manju dusal";
+ numeric x[]; numeric y[];
+ z1l=(posx+1/2xdim,posy+1/2ydim);
+ z2 =(posx-1/2xdim,posy);
+ z3l=(x1,posy-1/2ydim);
+ penpos1(1/4xdim,135);
+ penpos2(4/4xdim,180);
+ penpos3(1/4xdim,225);
+ penstroke(z1e..tension 2..z2e..tension 2..z3e) ifrotated;
+ penlabels(1,2,3);
+ numeric x[]; numeric y[];
+enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+def ManjuDusal (expr posx, posy, xdim, ydim) = % Manju dusal!
+ "The Manju dusal";
+ numeric x[]; numeric y[];
+ z4l=(posx+1/2xdim,posy+1/2ydim);
+ z5 =(posx-1/2xdim,posy);
+ z6l=(x4,posy-1/2ydim);
+ penpos4(1/4xdim,135);
+ penpos5(4/4xdim,180);
+ penpos6(1/4xdim,225);
+ penstroke(z4e..tension 2..z5e..tension 2..z6e) ifrotated;
+ penlabels(4,5,6);
+ numeric x[]; numeric y[];
+enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+def cegteishud (expr posx) =
+ shud(posx);
+ dusal (posx+1/2shudwidth,yashilbeheight,3thin,2thick);
+enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+def titem =
+ numeric x[]; numeric y[];
+ z1=(0,nuruuleft);
+ z2=(bearing,y1);
+ z3=(1/2shudwidth,shudheight);
+ z4=(shudwidth-bearing,nuruuright);
+ z5=(shudwidth+bearing,y4);
+ z6=(8/12shudwidth,nuruuright-1thick);
+ z7=(1/2shudwidth,nuruuright);
+ z8=(0,nuruuright);
+ penlabels(1,2,3,4,5,6,7,8);
+ fill (z1--z2--z3..tension infinity..
+ z4..z5&z5{down}..z6..tension 2..z7--z8--cycle)
+ ifrotated;
+ numeric x[]; numeric y[];
+enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+def titem_stroke (expr xpos) =
+ numeric x[]; numeric y[];
+ z1=(xpos+numtaigedeswidth,Centerline);
+ z2=(xpos,Centerline);
+ penpos1(nuruuwidth*1.15,80);
+ penpos2(nuruuwidth,90);
+ penlabels(1,2);
+ penstroke (z1e..z2e) ifrotated;
+ numeric x[]; numeric y[];
+enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+def cegteititem =
+ titem;
+ dusal (1/2shudwidth,yashilbeheight,3thin,2thick);
+enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+def dugui (expr posx, posy, diameter) = % Manzu dugui!
+ "The dugui, used for h, nga, etc.";
+ numeric x[]; numeric y[];
+ z1=(posx,posy-1/2diameter);
+ z3=(posx,posy+1/2diameter);
+ pickup pencircle scaled 1.25 thin;
+ draw (z1..z3..cycle) ifrotated;
+ penlabels(1,3);
+ numeric x[]; numeric y[];
+enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+def suul =
+ if style=steel:
+ z1=(shudwidth,nuruuleft);
+ z2=(shudwidth-bearing,y1);
+ z3=(1/2shudwidth,shudheight);
+ z4=(-bearing,underouter);
+ z5=(bearing,suulouter-thin);
+ x6=(9/16shudwidth);
+ z6-z7=whatever*(z2-z3);
+ z7=(3/4shudwidth,nuruuright);
+ z8=(x1,nuruuright);
+ fill (z1--z2--z3..z4--z5{up}---z6--z7--z8--cycle) ifrotated;
+ penlabels(1,2,3,4,5,6,7,8);
+ fi;
+ if style=wood:
+ nuruu(shudwidth,2/4shudwidth);
+ z1r=(shudwidth-bearing,gedesouter);
+ z2 =(x1-thin,Centerline);
+ z3 =(0,suulouter);
+ penpos1(thick,15);
+ penpos2(2/3thick,0);
+ penpos3(1/2thin,0);
+ penstroke (z1e..z2e..z3e) ifrotated;
+ penlabels(1,2,3);
+ fi;
+enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+def bagaodoisuul =
+ if style=steel:
+ z1=(shudwidth,nuruuleft);
+ z2=(shudwidth-bearing,y1);
+ z3=(1/2shudwidth,shudheight);
+ z4=(-bearing,underinner);
+ z5=(bearing,underouter);
+ x6=(9/16shudwidth);
+ z6-z7=whatever*(z2-z3);
+ z7=(3/4shudwidth,nuruuright);
+ z8=(x1,nuruuright);
+ fill (z1--z2--z3..z4--z5{up}---z6--z7--z8--cycle) ifrotated;
+ penlabels(1,2,3,4,5,6,7,8);
+ fi;
+ if style=wood:
+ nuruu(shudwidth,2/4shudwidth);
+ z1r=(shudwidth-bearing,gedesinner);
+ z2 =(x1-thin,Centerline);
+ z3 =(0,underouter);
+ penpos1(thick,15);
+ penpos2(2/3thick,0);
+ penpos3(1/2thin,0);
+ penstroke (z1e..z2e..z3e) ifrotated;
+ penlabels(1,2,3);
+ fi;
+enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+def gedes (expr x_offset) =
+ numeric x[]; numeric y[];
+ nuruu(x_offset+gedeswidth,x_offset);
+ z11r=(x_offset+gedeswidth-bearing,nuruuleft);
+ z12r=(1/2[x11,x13],gedesouter);
+ z13r=(x_offset+bearing,nuruuleft);
+ penpos11(thin,0);
+ penpos12(gedesouter-gedesinner,90);
+ penpos13(thin,180);
+ penstroke (z11e{up}..z12e..{down}z13e) ifrotated;
+ penlabels(11,12,13);
+ numeric x[]; numeric y[];
+enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+def shilbe (expr x_offset) =
+ numeric x[]; numeric y[];
+ nuruu(shilbewidth+x_offset,x_offset);
+ z21r=(shilbewidth+x_offset,nuruuleft);
+ z22r=(+3thin+x_offset,shilbeheight);
+ penpos21(2thin,0);
+ penpos22(4thin,60);
+ penstroke (z21e--z22e) ifrotated;
+ penlabels(21,22);
+ numeric x[]; numeric y[];
+enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+def bosoo_shilbe =
+ nuruu(eswidth,0);
+ z1r=(eswidth,gedesouter+1/2thin);
+ z2r=(5/6eswidth,shudheight+1/2thin);
+ z3r=(3/12eswidth,shudheight-1/2thin);
+ z4 =(bearing,Centerline);
+% z4r=(bearing,Centerline);
+ penpos1(gedesouter-gedesinner,85);
+ penpos2(gedesouter-gedesinner,85);
+ penpos3(gedesouter-gedesinner,100);
+ penpos4(nuruuleft-nuruuright,100);
+ penstroke (z1e..z2e---z3e--z4e) ifrotated;
+ penlabels(1,2,3,4);
+enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+def orxic (expr x_offset) =
+ numeric x[]; numeric y[];
+ if style=wood:
+ z31=(x_offset+orxicwidth,Centerline);
+ z32=(x_offset+5/8orxicwidth,Centerline);
+ z33=(x_offset+1/9orxicwidth,Centerline+thick);
+ z34=(x_offset+2/9orxicwidth,orxicouter-thick);
+ z35r=(x_offset+1/9orxicwidth,orxicouter);
+ z36r=(x_offset+0,orxicouter);
+ penpos31(nuruuwidth,90);
+ penpos32(nuruuwidth,90);
+ penpos33(nuruuwidth,67);
+ penpos34(nuruuwidth,67);
+ penpos35(nuruuwidth,90);
+ penpos36(nuruuwidth,90);
+ penstroke (z31e---z32e..
+ tension 1.2..z33e..
+ tension 1.5..z34e..
+ tension 1.5..z35e---z36e) ifrotated;
+ fi;
+ if style=steel:
+ z31 =( orxicwidth,Centerline);
+ z32 =(9/12orxicwidth,Centerline);
+ z33r=(5/24gedeswidth,orxicouter);
+ penpos31(nuruuwidth,-90);
+ penpos32(nuruuwidth,-90);
+ penpos33(3/3thick,105);
+ penstroke
+ (z31e---z32e{left}..tension 2.5..{right}z33e)
+ ifrotated;
+ fi;
+ penlabels(31,32,33,34,35,36);
+ numeric x[]; numeric y[];
+enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+def seree_ewer =
+ nuruu(eswidth,0);
+ z41r=(5/6eswidth,gedesouter);
+ z42r=(4/6eswidth,shudheight);
+ z43r=(5/4bearing,shudheight);
+ z44 =(bearing,Centerline);
+ penpos41(gedesouter-gedesinner,85);
+ penpos42(gedesouter-gedesinner,85);
+ penpos43(gedesouter-gedesinner,100);
+ penpos44(nuruuleft-nuruuright,100);
+ penstroke (z41e..z42e---z43e--z44e) ifrotated;
+ penlabels(41,42,43,44);
+enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+def l_ewer (expr x_offset) =
+ numeric x[]; numeric y[];
+ z51r=(x_offset,nuruuright);
+ z52r=(x51,-0.8thick+underinner+1.5thin);
+ z53r=(x51+1.5thin,-0.8thick+underinner);
+ z54r=(x51+1.5shudwidth,-0.8thick+underinner);
+ penpos51(1.75thin,0);
+ penpos52(2.25thin,0);
+ penpos53(underinner-underouter,+90);
+ penpos54(epsilon,+90);
+ penstroke (z51e---z52e{down}..{right}z53e---z54e) ifrotated;
+ penlabels(51,52,53,54);
+ numeric x[]; numeric y[];
+enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+def high_l_ewer (expr x_offset) =
+ numeric x[]; numeric y[];
+ z61r=(x_offset,nuruuright);
+ z62r=(x61, underouter-2.5thin+1.5thin);
+ z63r=(x61+1.5thin, underouter-2.5thin);
+ z64r=(x_offset+1.5shudwidth, underouter-2.5thin);
+ penpos61(thin,0);
+ penpos62(2.25thin,0);
+ penpos63(underinner-underouter,+90);
+ penpos64(epsilon,+90);
+ penstroke (z61e---z62e{down}..{right}z63e---z64e) ifrotated;
+ penlabels(61,62,63,64);
+ numeric x[]; numeric y[];
+enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+def m_ewer (expr x_offset) =
+ numeric x[]; numeric y[];
+ z71 =(x_offset+5/16shudwidth,Centerline);
+ z72r=(x_offset+1/16shudwidth,underinner-1.65thin);
+ z73 =(x_offset-10/12shudwidth,y72);
+
+ penpos71(underinner-underouter,+95);
+ penpos72(underinner-underouter,+95);
+ penpos73(underinner-underouter,+75);
+
+ penstroke (z71e--z72e--z73e) ifrotated;
+ penlabels(71,72,73);
+ numeric x[]; numeric y[];
+enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+def baganum =
+ nuruu(numtaigedeswidth,numtaigedeswidth-bearing);
+ z81l=(1/2numtaigedeswidth,gedesinner);
+ z82r=(numtaigedeswidth-1/2bearing,nuruuleft);
+ penpos81(4thin,60);
+ penpos82(2thin,0);
+
+ z84 =(x82,nuruuright);
+ z85r=(1/2[x84,x86],sdepth);
+ z86r=(0,nuruuleft);
+ penpos84(2thin,0);
+ penpos85(underinner-underouter,-90);
+ penpos86(1/2thin,-180);
+
+ penstroke (z81e..z82e...z84e{down}..z85e..{up}z86e) ifrotated;
+ penlabels(81,82,83,84,85,86);
+enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+def f_flag (expr f_anfang, f_ende) =
+ z91l=(f_ende,gedesouter);
+ penpos91(1/2thin,90);
+ z92 =(1/6[x91,x94],shilbeheight);
+ penpos92(2thin,90);
+ z93 =(5/6[x91,x94],shilbeheight);
+ penpos93(2thin,90);
+ z94r=(f_anfang,yashilbeheight);
+ penpos94(1/2thin,90);
+ penstroke (z91e{up}..z92e..z93e..{up}z94e) ifrotated;
+enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+def adagu =
+ nuruu(eswidth,eswidth-numtaigedeswidth);
+
+ z1r=(eswidth-1/2bearing,nuruuleft);
+ z2r=(1/2[x1,x3],gedesouter);
+ z3r=(eswidth-numtaigedeswidth,nuruuleft);
+ penpos1(thin,0);
+ penpos2(gedesouter-gedesinner,90);
+ penpos3(thin,180);
+ penstroke (z1e{up}..z2e..{down}z3e) ifrotated;
+
+ z4 =(x1,nuruuright);
+ z5r=(1/2[x4,x6],underouter);
+ z6r=(0,nuruuright); % nuruuright was Centerline
+ penpos4(thin,0);
+ penpos5(underinner-underouter,-90);
+ penpos6(1/4thin,-180);
+ penstroke (z4e{down}..z5e..{up}z6e) ifrotated;
+ penlabels(1,2,3,4,5,6);
+enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+def xewteeqix =
+ nuruu(2bearing,0);
+ z1=(tewidth,Centerline);
+ z2=(tewidth-bearing-4thin,gedesinner);
+
+ penpos1(nuruuwidth,90);
+ penpos2(thin,45);
+
+ z3r=(tewidth-1/2bearing-0thin,Centerline);
+ z4r=(1/2[x3,x5],underouter);
+ z5r=(bearing,Centerline);
+ z6=(bearing+2thin,gedesinner);
+
+ penpos3(3thin,-45);
+ penpos4(underinner-underouter,-90);
+ penpos5(2thin,-180);
+ penpos6(thin,-215);
+
+ penstroke (z1e{left}..{up}z2e) ifrotated;
+ penstroke (z3e{down}..z4e..z5e..z6e) ifrotated;
+ penlabels(1,2,3,4,5,6);
+enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+def modgedestshilbe =
+ nuruu(eswidth,0);
+ z1r=(eswidth-1/2bearing,nuruuleft);
+ z2 =(07/16eswidth,orxicouter);
+ penpos1(2thin,0);
+ penpos2(2thin,45);
+ penstroke (z1e--z2e) ifrotated;
+ z3r=z2;
+ z4r=(bearing,5/12[y1,y2]);
+
+ penpos3(2thin,115 );
+ penpos4(2thin,210);
+
+ z5 =(6/16eswidth,3/12[y1,y2]);
+ z6 =(x1-2u,nuruuleft);
+
+ penpos5(1.5thin,235);
+ penpos6(1.75thin,180);
+ penstroke (z3e{dir 205}..tension 1.4..z4e..tension 1.4..z5e..z6e)
+ ifrotated;
+ penlabels(1,2,3,4,5,6);
+enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+def roundgedestshilbe =
+ nuruu(eswidth,0);
+ z1r=(eswidth-1/2bearing,nuruuleft);
+ z2 =(09/16eswidth,shilbeheight);
+
+ penpos1(2thin,0);
+ penpos2(2thin,angle(z2-z1)-90);
+
+ z3 =3.5[z2r,z2l];
+ penpos3(2thin,angle(z2-z1)+90);
+
+ penstroke (z1e--z2e) ifrotated;
+ penstroke (z2e..z3e..cycle) ifrotated;
+ penlabels(1,2,3,4,5,6);
+enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+def manju_te =
+ nuruu(eswidth,0);
+ z1r=(eswidth-1/2bearing,nuruuleft);
+ z2 =(05/16eswidth,orxicouter);
+ penpos1(2thin,0);
+ penpos2(2thin,45);
+ penstroke (z1e--z2e) ifrotated;
+ z3r=1/10[z2l,z1l];
+ z4 =6/10[z2l,z1l];
+ penpos3(2thin,angle(z2r-z1r));
+ penpos4(2thin,angle(z1r-z2r));
+ penstroke (z3e..{dir 25}z4e) ifrotated;
+ penlabels(1,2,3,4,5,6);
+enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+def deribun_ta =
+ nuruu(shudwidth,0);
+ shud_atom(1/2gedeswidth,bearing);
+ z1 =(shudwidth,Centerline);
+ z2r=(2/6[x1,x3],nuruuleft+2.5thin);
+ z4l=(3/6[x1,x3],nuruuright-4.5thin);
+ z3r=(cewidth,Centerline);
+ z5l=(cewidth,Centerline);
+ penpos1(nuruuwidth,90);
+ penpos2(2thin, 90);
+ penpos3(2thin, 0);
+ penpos4(2thin, 90);
+ penpos5(2thin,180);
+ penstroke (z1e..tension 1.4..z2e..tension 1.2..z3e) ifrotated;
+ penstroke (z1e{down}..tension 1.0..z4e..tension 1.1..z5e) ifrotated;
+enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+def deribun_te =
+ nuruu(cewidth,0);
+ shud_atom(1/2gedeswidth,bearing);
+ z1r=(cewidth,nuruuright-thick);
+ z2r=(1/3cewidth,underouter);
+ z3r=(bearing,nuruuright);
+ z4r=(1/2cewidth,nuruuright);
+ penpos1(thick,0);
+ penpos2(underinner-underouter,-90);
+ penpos3(2thin,-180);
+ penpos4(thin,0);
+ penstroke (z1e{dir 160}..tension 1.2..z4e) ifrotated;
+ penstroke (z1e..tension 2..z2e..{up}z3e) ifrotated;
+enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+def manju_si =
+ z1=(tewidth-bearing,nuruuleft);
+ z2=(1/2[x1,x3],shudheight);
+ z3=(x1-shudwidth+2bearing,y1);
+ y4=nuruuright-1thin;
+ z4=whatever[z2,z3];
+
+ y5=nuruuleft;
+ z4-z5=whatever * (z2-z1);
+ y6=nuruuleft;
+ z5-z6=whatever * (z2-z3);
+
+ y7=sdepth;
+ z4-z7=whatever * (z1-z2);
+ y8=nuruuright;
+ z7-z8=whatever * (z2-z3);
+ y9=underouter;
+ z7-z9=whatever * (z7-z8);
+ y10=nuruuright;
+ z10-z9=whatever* (z1-z2);
+ z11=(x6,nuruuright);
+ fill (z11--z10--z9--z1--z2--z4--z5--z6--cycle) ifrotated;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11);
+ nuruu(tewidth,tewidth-thick);
+ nuruu(16/36tewidth,0);
+ z21r=(16/36tewidth,nuruuleft);
+ z22r=(+3thin,shilbeheight);
+ penpos21(2thin,0);
+ penpos22(4thin,60);
+ penstroke (z21e--z22e) ifrotated;
+enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+def manju_deribun_si =
+ z1=(tewidth-bearing,nuruuleft);
+ z2=(1/2[x1,x3],shudheight);
+ z3=(x1-shudwidth+2bearing,y1);
+ y4=nuruuright-1thin;
+ z4=whatever[z2,z3];
+
+ y5=nuruuleft;
+ z4-z5=whatever * (z2-z1);
+ y6=nuruuleft;
+ z5-z6=whatever * (z2-z3);
+
+ y7=sdepth;
+ z4-z7=whatever * (z1-z2);
+ y8=nuruuright;
+ z7-z8=whatever * (z2-z3);
+ y9=underouter;
+ z7-z9=whatever * (z7-z8);
+ y10=nuruuright;
+ z10-z9=whatever* (z1-z2);
+ z11=(x6,nuruuright);
+ fill (z11--z10--z9--z1--z2--z4--z5--z6--cycle) ifrotated;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11);
+% nuruu(tewidth,tewidth-thick);
+ nuruu(16/36tewidth,0);
+ z21r=(16/36tewidth,nuruuleft);
+ z22r=(+3thin,shilbeheight);
+ penpos21(2thin,0);
+ penpos22(4thin,60);
+ penstroke (z21e--z22e) ifrotated;
+enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+def zawj =
+ nuruu(tewidth,tewidth-thick);
+ nuruu(1/3tewidth,0);
+ z1=(tewidth-bearing,nuruuleft);
+ z2=(1/2[x1,x3],shudheight);
+ z3=(x1-shudwidth+2bearing,y1);
+ y4=nuruuright-1thin;
+ z4=whatever[z2,z3];
+
+ y5=shudheight;
+ z4-z5=whatever * (z2-z1);
+ y6=nuruuleft;
+ z5-z6=whatever * (z2-z3);
+
+ y7=sdepth;
+ z4-z7=whatever * (z1-z2);
+ y8=nuruuright;
+ z7-z8=whatever * (z2-z3);
+ y9=underouter;
+ z7-z9=whatever * (z7-z8);
+ y10=nuruuright;
+ z10-z9=whatever* (z1-z2);
+ z11=(x6,nuruuright);
+ fill (z11--z10--z9--z1--z2--z4--z5--z6--cycle) ifrotated;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11);
+ zawjpicture:=currentpicture;
+enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+def qagt =
+ nuruu(gedeswidth,gedeswidth-bearing);
+ if writing=Bithe:
+ z1 =(w-1/16shudwidth,shudheight-thin);
+ penpos1(2.5thin,-30);
+ z2r=(gedeswidth-bearing,nuruuleft);
+ fi;
+ if writing=Bicig:
+ z1l=(1/3gedeswidth,shudheight);
+ penpos1(4thin,60);
+ z2r=(gedeswidth-1/2bearing,nuruuleft);
+ fi;
+
+ penpos2(2thin,0);
+
+ z4 =(x2,nuruuright);
+ z5r=(1/2[x4,x6],underouter);
+ z6r=(0,Centerline);
+ penpos4(2thin,0);
+ penpos5(underinner-underouter,-90);
+ penpos6(1/2thin,-180);
+
+ penstroke (z1e..z2e...z4e{down}..z5e..{up}z6e) ifrotated;
+ penlabels(1,2,3,4,5,6);
+ z11=(gedeswidth,Centerline);
+ z12=(gedeswidth-3/4thick,Centerline);
+ z13=(gedeswidth-1.75thick,nuruuleft+thin);
+ penpos11(nuruuwidth,90);
+ penpos12(14/16nuruuwidth,80);
+ penpos13(epsilon,45);
+ penstroke (z11e---z12e..z13e) ifrotated;
+ penlabels(1,2,3,4,5,6,7,8,9,11,12,13);
+enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+def exenzawj =
+ % nuruu(tewidth,tewidth-thick);
+ nuruu(1/3tewidth,0);
+ z1=(tewidth-bearing,nuruuleft);
+ z2=(1/2[x1,x3],shudheight);
+ z3=(x1-shudwidth+2bearing,y1);
+ y4=nuruuright-1thin;
+ z4=whatever[z2,z3];
+
+ y5=shudheight;
+ z4-z5=whatever * (z2-z1);
+ y6=nuruuleft;
+ z5-z6=whatever * (z2-z3);
+
+ y7=sdepth;
+ z4-z7=whatever * (z1-z2);
+ y8=nuruuright;
+ z7-z8=whatever * (z2-z3);
+ y9=underouter;
+ z7-z9=whatever * (z7-z8);
+ y10=nuruuright;
+ z10-z9=whatever* (z1-z2);
+ z11=(x6,nuruuright);
+ fill (z11--z10--z9--z1--z2--z4--z5--z6--cycle) ifrotated;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11);
+ exenzawjpicture:=currentpicture;
+enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+def suulzawj =
+ nuruu(tewidth,tewidth-thick);
+ z1=(tewidth-bearing,nuruuleft);
+ z2=(1/2[x1,x3],shudheight);
+ z3=(x1-shudwidth+2bearing,y1);
+ y4=nuruuright-1thin;
+ z4=whatever[z2,z3];
+
+ y5=shudheight;
+ z4-z5=whatever * (z2-z1);
+ % y6=nuruuleft;
+ % z5-z6=whatever * (z2-z3);
+ z6=(0,underouter);
+
+ y7=sdepth;
+ z4-z7=whatever * (z1-z2);
+ y8=nuruuright;
+ z7-z8=whatever * (z2-z3);
+ y9=underouter;
+ z7-z9=whatever * (z7-z8);
+ y10=nuruuright;
+ z10-z9=whatever* (z1-z2);
+ z11=(x6,nuruuright);
+
+ % pickup pencircle scaled 1/4thin;
+ fill (z10--z9--z1--z2--z4--z5..z6{z3-z2}&z6{z2-z6}..z10--cycle)
+ ifrotated;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11);
+enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+def manju_sh_stroke =
+ z19l=(29/36tewidth,shudheight);
+ z20l=(10/36tewidth,shilbeheight);
+ penpos19(7/9thick,75);
+ penpos20(6/9thin,60);
+ penstroke (z19e{left}..tension 2.5..{up}z20e) ifrotated;
+ penlabels(19,20);
+enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+def manju_dz_stroke =
+ z31l=( tewidth,underouter);
+ z32l=(1/6tewidth,underouter);
+ penpos31(2thin,-75);
+ penpos32(2thin,-75);
+ penstroke (z31e..z32e) ifrotated;
+ penlabels(31,32);
+enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+def sy_nuruu(expr xbegin,xend) =
+ nuruu(xbegin,xend);
+ z1 =(xbegin, 5/6 underinner);
+ z2 =(1/2[xbegin,xend],3/4gedesinner);
+ z3 =(xend, y1);
+ z4 =(xend+10/4thin, underinner);
+ z5 =(x2,Centerline);
+ z6 =(xbegin-10/4thin,y4);
+ fill (z1--z2--z3--z4--z5--z6--cycle) ifrotated;
+ penlabels(1,2,3,4,5,6);
+enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+def manju_tsh_stroke =
+ x33=x34=1/2[x31,x32];
+ y33=y31;
+ y34=suulouter-0.80thick;
+ penpos33(2thin,-25);
+ penpos34(2thin,-25);
+ penstroke (z33e--z34e) ifrotated;
+ penlabels(33,34);
+enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+def ligba =
+ nuruu(secAwidth,0);
+ nuruu(bawidth,bawidth-numtaigedeswidth);
+ shud_atom(secAwidth,bearing);
+
+ z1r=(bawidth-1/2bearing,nuruuleft);
+ z2r=(1/2[x1,x3],gedesouter);
+ z3r=(bawidth-numtaigedeswidth,nuruuleft);
+ penpos1(thin,0);
+ penpos2(gedesouter-gedesinner,90);
+ penpos3(thin,180);
+ penstroke (z1e{up}..z2e..{down}z3e) ifrotated;
+
+ z4 =(x1,nuruuright);
+ z5r=(1/2[x4,x6],underouter);
+ z6l=(secAwidth,nuruuright);
+ penpos4(thin,0);
+ penpos5(underinner-underouter,-90);
+ penpos6(2thin,-180);
+ penstroke (z4e{down}..z5e..{up}z6e) ifrotated;
+
+ z7=(1/2[secAwidth,bearing],shudheight);
+ z8=(secAwidth,nuruuleft);
+ z9=(x8,nuruuright);
+ unfill (z7--z8--z9--cycle) ifrotated;
+ penlabels(1,2,3,4,5,6,7,8,9);
+enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+def ligbu (expr xpos) =
+ tntgw:=2numtaigedeswidth;
+ nuruu(tntgw+xpos,xpos);
+ z1r=(xpos+tntgw/2-1,nuruuleft);
+ z2r=(1/2[x1,x3],gedesouter);
+ z3r=(xpos+1/2bearing,nuruuleft);
+ penpos1(thin,0);
+ penpos2(gedesouter-gedesinner,90);
+ penpos3(thin,180);
+
+ z4r=(xpos+tntgw-1/2bearing,nuruuleft);
+ z5r=(1/2[x4,x6],gedesouter);
+ z6r=(xpos+tntgw/2+1,nuruuleft);
+ penpos4(thin,0);
+ penpos5(gedesouter-gedesinner,90);
+ penpos6(thin,180);
+
+ z7 =(x3,nuruuright);
+ z8l=(1/2[x7,x9],underouter);
+ z9 =(x4,nuruuright);
+ penpos7(thin,0);
+ penpos8(gedesouter-gedesinner,90);
+ penpos9(thin,180);
+
+ penstroke (z1e{up}..z2e..{down}z3e) ifrotated;
+ penstroke (z4e{up}..z5e..{down}z6e) ifrotated;
+ penstroke (z7e{down}..z8e..{up}z9e) ifrotated;
+
+ penlabels(1,2,3,4,5,6,7,8,9);
+enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+def ligmongpa =
+ nuruu(secAwidth,0);
+ nuruu(bawidth,bawidth-numtaigedeswidth);
+ shud_atom(secAwidth,bearing);
+
+% z1r=(bawidth-1/2bearing,nuruuleft);
+ z1r=(bawidth-1/2bearing,gedesouter+thin);
+ z2r=(1/3[x1,x4],gedesouter);
+ z3r=(7/12[x1,x4],gedesouter);
+ z4r=(bawidth-numtaigedeswidth,nuruuleft);
+ penpos1(thin,180);
+ penpos2(gedesouter-gedesinner,90);
+ penpos3(gedesouter-gedesinner,90);
+ penpos4(thin,180);
+ penstroke (z1e..z2e..z3e..{down}z4e) ifrotated;
+
+ z5r=(x1,nuruuright);
+ z6r=(1/2[x5,x7],underouter);
+ z7l=(secAwidth,nuruuright);
+ penpos5(thin,0);
+ penpos6(underinner-underouter,-90);
+ penpos7(2thin,-180);
+ penstroke (z5e{down}..z6e..{up}z7e) ifrotated;
+
+ z8=(1/2[secAwidth,bearing],shudheight);
+ z9=(secAwidth,nuruuleft);
+ z10=(x9,nuruuright);
+ unfill (z10--z8--z9--cycle) ifrotated;
+ penlabels(1,2,3,4,5,6,7,8,9,10);
+enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+def ligmongpu =
+ nuruu(w,0);
+ z1r=(w-1/2bearing,gedesouter+thin);
+ z2r=(1/3[x1,x4],gedesouter);
+ z3r=(7/12[x1,x4],gedesouter);
+ z4r=(w/2+1,nuruuleft);
+ penpos1(thin,180);
+ penpos2(gedesouter-gedesinner,90);
+ penpos3(gedesouter-gedesinner,90);
+ penpos4(thin,180);
+ penstroke (z1e..z2e..z3e..{down}z4e) ifrotated;
+
+ z5r=(w-1/2bearing,nuruuright);
+ z6r=(w/2,underouter);
+ z7r=(1/2bearing,y5);
+ penpos5(thin,0);
+ penpos6(underinner-underouter,-90);
+ penpos7(thin,-180);
+ penstroke (z5e{down}..z6e..z7e{up}) ifrotated;
+ z8 =(x7,nuruuleft);
+ z9r=(1/2[x8,x10],gedesouter);
+ z10r=(w/2-1,y8);
+ penpos8(thin,180);
+ penpos9(gedesouter-gedesinner,90);
+ penpos10(thin,0);
+ penstroke (z8e{up}..z9e..{down}z10e) ifrotated;
+enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+def liggha =
+ nuruu(secAwidth,0);
+ shud_atom(secAwidth,bearing);
+ nuruu(bawidth,bawidth-bearing);
+ z1l=(bawidth-gedeswidth+5thin,shudheight-thin);
+ z2r=(bawidth-1/2bearing,nuruuleft);
+ penpos1(4thin,60);
+ penpos2(2thin,0);
+
+ z4 =(x2,nuruuright);
+ z5r=(1/2[x4,x6],underouter);
+ z6l=(secAwidth,nuruuright);
+ penpos4(2thin,0);
+ penpos5(underinner-underouter,-90);
+ penpos6(2thin,-180);
+
+ penstroke (z1e..z2e...z4e{down}..z5e..{up}z6e) ifrotated;
+
+ z7=(1/2[secAwidth,bearing],shudheight);
+ z8=(secAwidth,nuruuleft);
+ z9=(x8,nuruuright);
+ unfill (z7--z8--z9--cycle) ifrotated;
+
+ z10r=(bawidth,gedesouter+thin);
+ z11 =(x10-2thin,shudheight-5thin);
+ penpos10(1.5thin,0);
+ penpos11(2thin,-45);
+ penstroke (z10e..z11e) ifrotated;
+
+ penlabels(1,2,3,4,5,6,7,8,9);
+enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+def ligkha =
+ nuruu(secAwidth,0);
+ shud_atom(secAwidth,bearing);
+ % Variant, more Manju-like
+ if writing=Bithe:
+ z1 =(w-1/16shudwidth,shudheight-thin);
+ penpos1(2.5thin,-30);
+ z2r=(bawidth-bearing,nuruuleft);
+ fi;
+ if writing=Bicig:
+ z1l=(bawidth-gedeswidth+5thin,shudheight);
+ penpos1(4thin,60);
+ z2r=(bawidth-1/2bearing,nuruuleft);
+ fi;
+
+ penpos2(2thin,0);
+
+ z4 =(x2,nuruuright);
+ z5r=(1/2[x4,x6],underouter);
+ z6l=(secAwidth,nuruuright);
+ penpos4(2thin,0);
+ penpos5(underinner-underouter,-90);
+ penpos6(2thin,-180);
+
+ penstroke (z1e..z2e...z4e{down}..z5e..{up}z6e) ifrotated;
+
+ z7=(1/2[secAwidth,bearing],shudheight);
+ z8=(secAwidth,nuruuleft);
+ z9=(x8,nuruuright);
+ unfill (z7--z8--z9--cycle) ifrotated;
+
+ z11=(bawidth,Centerline);
+ z12=(bawidth-3/4thick,Centerline);
+ z13=(bawidth-1.5thick,nuruuleft+thin);
+ penpos11(nuruuwidth,90);
+ penpos12(14/16nuruuwidth,80);
+ penpos13(epsilon,45);
+ penstroke (z11e---z12e..z13e) ifrotated;
+ penlabels(1,2,3,4,5,6,7,8,9,11,12,13);
+enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+def ligkhi =
+ nuruu(shilbewidth-2thin,0);
+ nuruu(biwidth,biwidth-bearing);
+ if writing=Bithe:
+ z1 =(w+1/4shudwidth,shudheight-thin);
+ penpos1(2.5thin,-30);
+ fi;
+ if writing=Bicig:
+ z1l=(biwidth-gedeswidth+5thin,shudheight);
+ penpos1(4thin,60);
+ fi;
+ z2r=(biwidth-1/2bearing,nuruuleft);
+ penpos2(2thin,0);
+
+ z4 =(x2,nuruuright);
+ z5r=(1/2[x4,x6],underouter);
+ z6l=(shilbewidth,nuruuright);
+ z7l=(3thin,shilbeheight);
+ penpos4(2thin,0);
+ penpos5(underinner-underouter,-90);
+ penpos6(2thin,-180);
+ penpos7(4thin,-120);
+ penstroke (z1e..z2e...z4e{down}..z5e..{up}z6e..tension
+ infinity..z7e) ifrotated;
+
+ z11=(biwidth,Centerline);
+ z12=(biwidth-3/4thick,Centerline);
+ z13=(biwidth-1.5thick,nuruuleft+thin);
+ penpos11(nuruuwidth,90);
+ penpos12(14/16nuruuwidth,80);
+ penpos13(epsilon,45);
+ penstroke (z11e---z12e..z13e) ifrotated;
+
+ penlabels(1,2,3,4,5,6,7,8,9);
+enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+def ligkhu =
+ % Variant, more Manju-like
+ if writing=Bithe:
+ z1 =(w-1/16shudwidth,shudheight-thin);
+ penpos1(2.5thin,-30);
+ z2r=(bawidth-bearing,nuruuleft);
+ fi;
+ if writing=Bicig:
+ z1l=(bawidth-gedeswidth+5thin,shudheight);
+ penpos1(4thin,60);
+ z2r=(bawidth-1/2bearing,nuruuleft);
+ fi;
+
+ penpos2(2thin,0);
+
+ z4 =(x2,nuruuright);
+ z5r=(1/2[x4,x6],underouter);
+ z6r=(1/2bearing,nuruuright);
+ penpos4(2thin,0);
+ penpos5(underinner-underouter,-90);
+ penpos6(thin,-180);
+
+ penstroke (z1e..z2e...z4e{down}..z5e..{up}z6e) ifrotated;
+
+ z7=(bawidth,Centerline);
+ z8=(bawidth-3/4thick,Centerline);
+ z9=(bawidth-1.5thick,nuruuleft+thin);
+ penpos7(nuruuwidth,90);
+ penpos8(14/16nuruuwidth,80);
+ penpos9(epsilon,45);
+ penstroke (z7e---z8e..z9e) ifrotated;
+
+ nuruu(0,numtaigedeswidth);
+ z11r=(numtaigedeswidth,nuruuleft);
+ z12r=(1/2[x11,x13],gedesouter);
+ z13r=(1/2bearing,nuruuleft);
+ penpos11(thin,0);
+ penpos12(gedesouter-gedesinner,90);
+ penpos13(thin,180);
+ penstroke (z11e{up}..z12e..{down}z13e) ifrotated;
+
+ penlabels(1,2,3,4,5,6,7,8,9,11,12,13);
+enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+def manju_pa =
+ nuruu(secAwidth,0);
+ nuruu(bawidth,bawidth-numtaigedeswidth);
+ shud_atom(secAwidth,bearing);
+
+ z1r=(bawidth-1/2bearing,nuruuleft);
+ z2r=(1/2[x1,x3],gedesouter);
+ z3r=(bawidth-numtaigedeswidth,nuruuleft);
+ penpos1(thin,0);
+ penpos2(gedesouter-gedesinner,90);
+ penpos3(thin,180);
+ penstroke (z1e{up}..z2e..{down}z3e) ifrotated;
+
+ z4 =(x1,nuruuright);
+ z5r=(1/2[x4,x6],underouter);
+ z6 =(1/2[x4,x8],0);
+ z7l=(1/2[x6,x8],underouter);
+ z8r=(secAwidth,nuruuright);
+ penpos4(thin,0);
+ penpos5(underinner-underouter,-90);
+ penpos6(1/2thin,-180);
+ penpos7(3/4(underinner-underouter),-270);
+ penpos8(2thin, 0);
+ penstroke (z4e{down}..z5e..{up}z6e) ifrotated;
+ penstroke (z6e{down}..z7e..tension 1.4..{up}z8e) ifrotated;
+
+ z10=(1/2[secAwidth,bearing],shudheight);
+ z11=(secAwidth,nuruuleft);
+ z12=(x11,nuruuright);
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12);
+ unfill (z10--z11--z12--cycle) ifrotated;
+enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+def manju_pi =
+ nuruu(shilbewidth-2thin,0);
+ nuruu(biwidth,biwidth-numtaigedeswidth);
+
+ z1r=(biwidth-1/2bearing,nuruuleft);
+ z2r=(1/2[x1,x3],gedesouter);
+ z3r=(biwidth-numtaigedeswidth,nuruuleft);
+ penpos1(thin,0);
+ penpos2(gedesouter-gedesinner,90);
+ penpos3(thin,180);
+ penstroke (z1e{up}..z2e..{down}z3e) ifrotated;
+
+ z4 =(x1,nuruuright);
+ z5r=(1/2[x4,x6],underouter);
+ z6 =(1/2[x4,x8],0);
+ z7l=(1/2[x6,x8],underouter);
+ z8r=(shilbewidth,nuruuright);
+ z9r=(3thin,shilbeheight);
+ penpos4(thin,0);
+ penpos5(underinner-underouter,-90);
+ penpos6(1/2thin,-180);
+ penpos7(3/4(underinner-underouter),-270);
+ penpos8(2thin, 0);
+ penpos9(4thin, 30);
+ penstroke (z4e{down}..z5e..{up}z6e) ifrotated;
+ penstroke (z6e{down}..z7e..tension 1.4..{up}z8e..tension infinity..z9e) ifrotated;
+
+ penlabels(1,2,3,4,5,6,7,8,9);
+enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+def manju_po =
+ nuruu(w,0);
+ z1l=(w/2+1,nuruuleft);
+ z2l=(1/2[x1,x3],gedesouter);
+ z3l=(w-1/2bearing,nuruuleft);
+ penpos1(thin,0);
+ penpos2(gedesouter-gedesinner,-90);
+ penpos3(thin,-180);
+
+ z4l=(1/2bearing,nuruuleft);
+ z5l=(1/2[x4,x6],gedesouter);
+ z6l=(w/2-1,nuruuleft);
+ penpos4(thin,0);
+ penpos5(gedesouter-gedesinner,-90);
+ penpos6(thin,-180);
+
+ z7 =(x3,nuruuright);
+ z8l =(1/2[x7,x9],underouter);
+ z9 =(1/2[x7,x11],0);
+ z10r=(1/2[x9,x11],underouter);
+ z11 =(x4,nuruuright);
+ penpos7(thin,-180);
+ penpos8(gedesouter-gedesinner,-270);
+ penpos9(1/2thin, 0);
+ penpos10(gedesouter-gedesinner,-90);
+ penpos11(thin,180);
+
+ penstroke (z1e{up}..z2e..{down}z3e) ifrotated;
+ penstroke (z4e{up}..z5e..{down}z6e) ifrotated;
+ penstroke (z7e{down}..z8e..{up}z9e) ifrotated;
+ penstroke (z9e{down}..z10e..z11e{up}) ifrotated;
+
+ penlabels(1,2,3,4,5,6,7,8,9,10,11);
+enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+def ligka =
+ nuruu(secAwidth,0);
+ nuruu(w,w-bearing);
+ shud_atom(secAwidth,bearing);
+ z1l=(w-gedeswidth+5thin,shudheight-thin);
+ z2r=(w-1/2bearing,nuruuleft);
+ penpos1(4thin,60);
+ penpos2(2thin,0);
+
+ z4 =(x2,nuruuright);
+ z5r=(1/2[x4,x6],underinner-1/2thin); % underinner was underouter
+ z6l=(secAwidth,nuruuright);
+ penpos4(2thin,0);
+ penpos5(underinner-underouter,-90);
+ penpos6(2thin,-180);
+
+ penstroke (z1e..z2e...z4e{down}..z5e..{up}z6e) ifrotated;
+
+ z7=(1/2[secAwidth,bearing],shudheight);
+ z8=(secAwidth,nuruuleft);
+ z9=(x8,nuruuright);
+ unfill (z7--z8--z9--cycle) ifrotated;
+ penlabels(1,2,3,4,5,6,7,8,9);
+enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+def ligki =
+ nuruu(shilbewidth-thin,0);
+ nuruu(w,w-bearing);
+ z1l=(w-gedeswidth+5thin,shudheight-thin);
+ z2r=(w-1/2bearing,nuruuleft);
+ penpos1(4thin,60);
+ penpos2(2thin,0);
+
+ z4 =(x2,nuruuright);
+ z5r=(1/2[x4,x6],underinner-thin); % underinner was underouter
+ z6l=(shilbewidth,nuruuright);
+ z7l=(3thin,shilbeheight);
+ penpos4(2thin,0);
+ penpos5(underinner-underouter,-90);
+ penpos6(2thin,-180);
+ penpos7(4thin,-120);
+
+ penstroke (z1e..z2e...z4e{down}..z5e..{up}z6e..
+ tension infinity..z7e) ifrotated;
+
+ penlabels(1,2,3,4,5,6,7,8,9);
+enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+def ligku =
+ nuruu(numtaigedeswidth,0);
+ nuruu(bawidth,bawidth-bearing);
+ z1r=(bawidth-4thin,shudheight+thin);
+ z2r=(bawidth-1/2bearing,nuruuleft);
+ penpos1(4thin,60);
+ penpos2(2thin,0);
+
+ z4 =(x2,nuruuright);
+ z5r=(1/2[x4,x6],underouter);
+ z6r=(1/2bearing,nuruuright);
+ penpos4(2thin,0);
+ penpos5(underinner-underouter,-90);
+ penpos6(thin,-180);
+
+ penstroke (z1e..z2e...z4e{down}..z5e..{up}z6e) ifrotated;
+
+ z11r=(numtaigedeswidth,nuruuleft);
+ z12r=(1/2[x11,x13],gedesouter);
+ z13r=(1/2bearing,nuruuleft);
+ penpos11(thin,0);
+ penpos12(gedesouter-gedesinner,90);
+ penpos13(thin,180);
+ penstroke (z11e{up}..z12e..{down}z13e) ifrotated;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13);
+enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+def Exclam (expr vpos) =
+ "Exclamation mark";
+ z6=(numberwidth-3thin,vpos);
+ penpos6(3.5thin,90);
+ z7=(3/4gedeswidth,vpos);
+ penpos7(2thin,90);
+ pickup pencircle scaled 3.5 thin;
+ drawdot (z6) ifrotated;
+ pickup pencircle scaled 2 thin;
+ drawdot (z7) ifrotated;
+ z8=(thick,vpos);
+ pickup pencircle scaled 3.5 thin;
+ drawdot (z8) ifrotated;
+ penstroke (z6e..z7e) ifrotated;
+ penlabels(6,7,8);
+enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+def Quest (expr vpos) = % Our Question Mark
+ numeric x[]; numeric y[];
+ radius:=1.15thick;
+ z1=(numberwidth-radius-2thin,vpos+1.25thick);
+ penpos1(2.5thin,90);
+ z2=(numberwidth-2thin,vpos);
+ penpos2(2thin,0);
+ z3=(x1,vpos-radius);
+ penpos3(2.5thin,-90);
+ z4=(6/8gedeswidth,vpos);
+ penpos4(2.25thin,-90);
+ z5=(thick,vpos);
+
+ pickup pencircle scaled 2.5thin;
+ drawdot (z1) ifrotated;
+ pickup pencircle scaled 2.0thin;
+ drawdot (z4) ifrotated;
+ pickup pencircle scaled 3.5thin;
+ drawdot (z5) ifrotated;
+ penstroke (z1e{right}..z2e{down}..z3e{left}..z4e{left}) ifrotated;
+ penlabels(1,2,3,4,5);
+ numeric x[]; numeric y[];
+enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+def SpezRahmen = % Useful for all these special characters
+pickup pencircle scaled thin;
+ draw ((1thin,orxicouter-thin)--
+ (w-1thin,orxicouter-thin)--
+ (w-1thin,suulouter+thin)--
+ (1thin,suulouter+thin)--cycle)
+ ifrotated;
+enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+def F (expr startp, width) =
+ numeric x[]; numeric y[];
+ z1=(latinbottomline,startp);
+ z2=(latintopline,y1);
+ z3=(x2,width);
+ z4=(3/5[latinbottomline,latintopline],y1);
+ z5=(x4,3/4[startp,width]);
+ pickup pencircle scaled 1.5thin;
+ draw (z1--z2--z3) ifrotated;
+ draw (z4--z5) ifrotated;
+ penlabels (1,2,3,4,5);
+ numeric x[]; numeric y[];
+enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+def M (expr startp, width) =
+ numeric x[]; numeric y[];
+ z1=(latinbottomline,startp);
+ z2=(latintopline,y1);
+ z3=(1/3[latinbottomline,latintopline],1/2[startp,width]);
+ z4=(x2,width);
+ z5=(x1,y4);
+ pickup pencircle scaled 1.5thin;
+ draw (z1--z2--z3--z4--z5) ifrotated;
+ penlabels (1,2,3,4,5);
+ numeric x[]; numeric y[];
+enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+def P (expr startp, width) =
+ numeric x[]; numeric y[];
+ z1=(latinbottomline,startp);
+ z2=(latintopline,y1);
+ z3=(1/2[x2,x4],width);
+ z4=(3/5[latinbottomline,latintopline],y1);
+ pickup pencircle scaled 1.5thin;
+ draw (z1--z2) ifrotated;
+ draw (z2{down}..z3..{up}z4) ifrotated;
+ penlabels (1,2,3,4);
+ numeric x[]; numeric y[];
+enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+def S (expr startp, width) =
+ numeric x[]; numeric y[];
+ z1=(latintopline-thin,5/6[startp,width]);
+ z2=(latintopline,1/2[startp,width]);
+ z3=(3/4[latinbottomline,latintopline],startp);
+ z4=(1/2[latintopline,latinbottomline],y2);
+ z5=(1/4[latinbottomline,latintopline],width);
+ z6=(latinbottomline,y2);
+ z7=(latinbottomline+thin,1/6[startp,width]);
+ pickup pencircle scaled 1.5thin;
+ draw (z1..{up}z2..z3..z4..z5..{up}z6..z7) ifrotated;
+ penlabels (1,2,3,4,5,6,7);
+ numeric x[]; numeric y[];
+enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+def V (expr startp, width) =
+ numeric x[]; numeric y[];
+ z1=(latintopline,startp);
+ z2=(latinbottomline,1/2[startp,width]);
+ z3=(x1,width);
+ pickup pencircle scaled 1.5thin;
+ draw (z1--z2--z3) ifrotated;
+ penlabels (1,2,3,4,5);
+ numeric x[]; numeric y[];
+enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+def eins (expr startp, width) =
+ numeric x[]; numeric y[];
+ z1=(latintopline-2thin,startp);
+ z2=(latintopline,2/3[startp,width]);
+ z3=(latinbottomline,y2);
+ pickup pencircle scaled 1.5thin;
+ draw (z1--z2--z3) ifrotated;
+ penlabels (1,2,3,4,5);
+ numeric x[]; numeric y[];
+enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+def zwei (expr startp, width) =
+ numeric x[]; numeric y[];
+ z1=(latintopline-2thin,startp);
+ z2=(latintopline,1/2[startp,width]);
+ z3=(1/2[latintopline,latinbottomline],y2);
+ z4=(latinbottomline,startp);
+ z5=(x4,width);
+ pickup pencircle scaled 1.5thin;
+ draw (z1..{down}z2..z3..{left}z4--z5) ifrotated;
+ penlabels (1,2,3,4,5);
+ numeric x[]; numeric y[];
+enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%