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