%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % File: mbatoms.mf % Author: Oliver Corff and Dorjpalam Dorj % Date: April 1st, 2001 % Version: 0.8 % Copyright: Ulaanbaatar, Beijing, Berlin % % Description: Local Mongolian Script (LMS) % Mongol Bicig, Manju Bithe Font Atoms Definition % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % First we decide our identity: % writing:=0; Bicig:=1; Bithe:=2; % Then we decide our style: % style:=0; steel:=1; wood:=2; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Some bizarre rotating equipment gets installed: % pair Centerpoint; boolean LR; 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); 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(2/3thick,120); 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+2thin); z4l=(3/6[x1,x3],nuruuright-3thin); 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(bawidth,bawidth-bearing); shud_atom(secAwidth,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; penlabels(1,2,3,4,5,6,7,8,9); enddef; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% def ligki = nuruu(shilbewidth-thin,0); nuruu(biwidth,biwidth-bearing); z1l=(biwidth-gedeswidth+5thin,shudheight-thin); z2r=(biwidth-1/2bearing,nuruuleft); penpos1(4thin,60); 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; 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)-- (2gedeswidth-1thin,orxicouter+thin)-- (2gedeswidth-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; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%