%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 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;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%