%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%        File: mbgpunc.mf
%      Author: Oliver Corff and Dorjpalam Dorj
%        Date: October 1st, 2001
%     Version: 0.2
%   Copyright: Ulaanbaatar, Beijing, Berlin
%
% Description: Local Mongolian Script (LMS)
%              Mongol Bicig Modyn Bar Punctuation Definition
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
beginchar(MONG_BNDRY,0,0,0);
       "Mongolian Boundary";
endchar;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
beginchar(MONG_MSP,numberwidth#,height#,depth#);
       "Mongolian Space Symbol";
       M (shilbeheight+0.5thin,gedesinner-thin);
       S (nuruuleft+2thin,nuruuright-2thin);
       P (underinner+0.5thin,underouter-2thin);
       SpezRahmen;
endchar;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
beginchar(MONG_EXCLAMATION,2tewidth#,height#,depth#);
       "Exclamation Mark";
       Exclam(Centerline);
endchar;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
beginchar(MONG_QUESTEXCLAM,2tewidth#,height#,depth#);
       "Question - Exclamation Mark";
       Quest (nuruuleft+1/2thick);
       Exclam (nuruuright-1.25thick);
endchar;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
beginchar(MONG_EXCLAMQUEST,2tewidth#,height#,depth#);
       "Exclamation - Question Ligature";
       Exclam (nuruuleft+1.0thick);
       Quest (nuruuright-0.75thick);
endchar;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
beginchar(MONG_FVS1,numberwidth#,height#,depth#);
       "Form Variant Selector 1";
       F(shilbeheight,gedesinner+thin);
       V(nuruuleft+4thin,nuruuright+2thin);
       S(nuruuright+0thin,underinner-thin);
       eins(underinner-2thin,underouter-3thin);
       SpezRahmen;
endchar;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
beginchar(MONG_FVS2,numberwidth#,height#,depth#);
       "Form Variant Selector 2";
       F(shilbeheight,gedesinner+thin);
       V(nuruuleft+4.5thin,nuruuright+3thin);
       S(nuruuright+1thin,underinner+thin);
       zwei(underinner-1thin,underouter-3thin);
       SpezRahmen;
endchar;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
beginchar(MONG_OPAREN,gedeswidth#,height#,depth#);
       "Mongolian Opening Parenthesis";
       z1l=(bearing,orxicouter);
       z2r=(gedeswidth-bearing,Centerline);
       z3 =(x1,suulouter);
       penpos1(thin,0);
       penpos2(2.5thin,0);
       penpos3(thin,0);
       penstroke (z1e..z2e..z3e) ifrotated;
       penlabels(1,2,3);
endchar;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
beginchar(MONG_CPAREN,gedeswidth#,height#,depth#);
       "Mongolian Closing Parenthesis";
       z1r=(gedeswidth-bearing,orxicouter);
       z2l=(bearing,Centerline);
       z3 =(x1,suulouter);
       penpos1(thin,0);
       penpos2(2.5thin,0);
       penpos3(thin,0);
       penstroke (z1e..z2e..z3e) ifrotated;
       penlabels(1,2,3);
endchar;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
beginchar(MONG_ENV,numberwidth#,height#,depth#);
       "Mongolian Environment Marker";
       z1 =(1.5thick,Centerline);
       z2 =(w/2,.5[h,-d]); % "Centerpoint"
       z3 =(2gedeswidth-1.5thick,y1);

       penpos1(3.0thin,90);
       penpos2(0.5thin,90);
       penpos3(3.0thin,90);

       pickup pencircle scaled 3.0 thin;
       roffset:=0;
       % roffset:=30;
       % for r = 0,45,90,135:          % This list for 8-pointed stars
       for r = 0,60,120:               % This list for 6-pointed stars
               penstroke (z1e--z2e--z3e)       rotatedabout (z2,r+roffset);
               drawdot (z1)                    rotatedabout (z2,r+roffset);
               drawdot (z3)                    rotatedabout (z2,r+roffset);
       endfor;
       penlabels(1,2,3);
       SpezRahmen;
endchar;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
beginchar(MONG_MVS,numberwidth#,height#,depth#);
       "Mongolian Vowel Separator";
       M (shilbeheight,gedesinner-thin);
       V (nuruuleft+2thin,nuruuright-2thin);
       S (underinner+1thin,underouter-2thin);
       SpezRahmen;
endchar;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
beginchar(MONG_ELLIPSIS,2gedeswidth#,height#,depth#);
       "Ellipsis";

       dusal(1/5*2gedeswidth,Centerline,3thin,2thick);
       dusal(2/5*2gedeswidth,Centerline,3thin,2thick);
       dusal(3/5*2gedeswidth,Centerline,3thin,2thick);
       dusal(4/5*2gedeswidth,Centerline,3thin,2thick);
endchar;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
beginchar(MONG_COLON,tewidth#,height#,depth#);
       "Mongolian Colon";
       pickup pencircle scaled 3.5 thin;
       drawdot (1/2tewidth,nuruuleft+thick) ifrotated;
       drawdot (1/2tewidth,nuruuright-thick) ifrotated;
endchar;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
beginchar(MONG_DORWOLJIN,bawidth#,height#,depth#);
       "Dorwoljin";
       dusal(1/2bawidth,gedesinner,5thin,3thick);
       dusal(1/4bawidth,Centerline,5thin,3thick);
       dusal(3/4bawidth,Centerline,5thin,3thick);
       dusal(1/2bawidth,underinner,5thin,3thick);
endchar;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
beginchar(MONG_OM,2gedeswidth#,height#,depth#);
       z1r=(gedeswidth-bearing,gedesouter+thin);
       z2l=(bearing,Centerline);
       z3 =(x1,underouter-thin);
       penpos1(thin,0);
       penpos2(2.5thin,0);
       penpos3(thin,0);
       penstroke (z1e..z2e..z3e) ifrotated;
       penlabels(1,2,3);

       z4r=(w-bearing,Centerline);
       z5l=(x4l,Centerline+thin);
       z6r=(08/12[x4l,x7l],gedesinner-1.25thin);
       z7l=(9thin,Centerline);
       z8l=(x4l,Centerline-thin);
       z9r=(08/12[x4l,x7l],underinner+1.25thin);
       penpos4(2.5thin,0);
       penpos5(2.1thin,30);
       penpos6(2.5thin,90);
       penpos7(2.9thin,180);
       penpos8(2.1thin,-30);
       penpos9(2.5thin,-90);
       penstroke(z4e..z5e..tension 1.4..z6e{left}..tension 1.2..{down}z7e) ifrotated;
       penstroke(z4e..z8e..tension 1.4..z9e{left}..tension 1.2..{up}z7e) ifrotated;
       penlabels(4,5,6,7,8,9);
endchar;
% pausing:=1;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
beginchar(MONG_LT,gedeswidth#,height#,depth#);
       "Mongolian Less Than";
       pair dz[];
       z1l=(bearing,gedesouter);
       z2r=(gedeswidth-bearing,Centerline);
       z3 =(x1,underouter);
       penpos1(thin,0);
       penpos2(3.0thin,0);
       penpos3(thin,0);
       z4 =(x2,y3);
       dz1=(z4-z1);
       z5 =(x2,y1);
       dz3=(z3-z5);
       penstroke (z1e{dz1}..z2e&z2e..{dz3}z3e) ifrotated;
       penlabels(1,2,3,4,5);
endchar;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
beginchar(MONG_GT,gedeswidth#,height#,depth#);
       "Mongolian Greater Than";
       pair dz[];
       z1r=(gedeswidth-bearing,gedesouter);
       z2l=(bearing,Centerline);
       z3 =(x1,underouter);
       penpos1(thin,0);
       penpos2(3.0thin,0);
       penpos3(thin,0);
       z4 =(x2,y3);
       dz1=(z4-z1);
       z5 =(x2,y1);
       dz3=(z3-z5);
       penstroke (z1e{dz1}..z2e&z2e..{dz3}z3e) ifrotated;
       penlabels(1,2,3,4,5);
endchar;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
beginchar(MONG_QUESTION,2tewidth#,height#,depth#);
       "Question Mark";
       Quest(Centerline);
endchar;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
beginchar(MONG_NIRUGU,shudwidth#,height#,depth#);
       "Mongolian NIRUGU";
       nuruu(shudwidth,0);
endchar;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
beginchar(MONG_LGU,tewidth#,height#,depth#);
       pair dz[];
       z1l=(tewidth-gedeswidth+bearing,gedesouter);    penpos1(thin,30);
       z2r=(tewidth-bearing,Centerline);               penpos2(3.0thin,0);
       z3 =(x1,underouter);                            penpos3(thin,-30);
       z4 =(x2,y3);                                    dz1=(z4-z1);
       z5 =(x2,y1);                                    dz3=(z3-z5);
       z6l=(bearing,y1-thin);                          penpos6(thin,+30);
       z7r=(x6+5/8gedeswidth,y2);                      penpos7(3.0thin,0);
       z8 =(x6,y3+thin);                               penpos8(thin,-30);

       penstroke (z1e{dz1}..tension 1.2..z2e&
               z2e..tension 1.2..{dz3}z3e) ifrotated;
       penstroke (z6e{dz1}..tension 1.2..z7e&
               z7e..tension 1.2..{dz3}z8e) ifrotated;
       penlabels(1,2,3,4,5,6,7,8,9,10);
endchar;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
beginchar(MONG_RGU,tewidth#,height#,depth#);
       pair dz[];
       z1r=(gedeswidth-bearing,gedesouter);    penpos1(thin,-30);
       z2l=(bearing,Centerline);               penpos2(3.0thin,0);
       z3 =(x1,underouter);                    penpos3(thin,30);
       z4 =(x2,y3);                            dz1=(z4-z1);
       z5 =(x2,y1);                            dz3=(z3-z5);
       z6r=(tewidth-bearing,y1-thin);          penpos6(thin,-30);
       z7l=(x6-5/8gedeswidth,y2);              penpos7(3.0thin,0);
       z8 =(x6,y3+thin);                       penpos8(thin,30);
       penstroke (z1e{dz1}..tension 1.2..z2e&
               z2e..tension 1.2..{dz3}z3e) ifrotated;
       penstroke (z6e{dz1}..tension 1.2..z7e&
               z7e..tension 1.2..{dz3}z8e) ifrotated;
       penlabels(1,2,3,4,5,6,7,8,9,10);
endchar;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%