summaryrefslogtreecommitdiff
path: root/language/ethiopia/ethiop/mf/eth_num.mf
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /language/ethiopia/ethiop/mf/eth_num.mf
Initial commit
Diffstat (limited to 'language/ethiopia/ethiop/mf/eth_num.mf')
-rw-r--r--language/ethiopia/ethiop/mf/eth_num.mf495
1 files changed, 495 insertions, 0 deletions
diff --git a/language/ethiopia/ethiop/mf/eth_num.mf b/language/ethiopia/ethiop/mf/eth_num.mf
new file mode 100644
index 0000000000..07931fb626
--- /dev/null
+++ b/language/ethiopia/ethiop/mf/eth_num.mf
@@ -0,0 +1,495 @@
+%-------------------------------------------------------------
+% This is ETH_NUM.MF as of Dec, 1995 by Jochen Metzinger
+% originally distributed by Abass B. Alamnehe [February, 1993]
+%-------------------------------------------------------------
+
+iff known eth_100_100:
+cmchar "Ethiopic numeral 10000";
+beginchar(eth_100_100,13u#,.5[cap_height#,x_height#],paren_depth#);
+adjust_fit(u#,u#);
+
+pickup fine.nib;
+penpos0(stem,180); penpos1(stem,180); penpos2(stem,180);
+pos3(vair,105); penpos4(curve,0); pos5(vair,270);
+penpos0'(stem,180); penpos2'(stem,180);
+x2r = 0; x1=x0; x2r=x0-1.5u; x3=x0+2u; x4r=x0+4.5u; x5=x2l;
+x0'=x0+.5u; x2'r=x2r+.25u;
+y0=.2h; y1=.3h; y2=.6h; top y3=.8h; y5=.45h; y4=.65h;
+bot y0'=.1h; y2'=.4h;
+filldraw stroke z5e{right}..{up}z4e..{left}z3e;
+filldraw stroke z3e{left}...{down}z2e..z2'e...z1e..z0e{down}..{right}z0'e;
+
+pickup fine.nib;
+penpos20(stem,180); penpos21(stem,180); penpos22(stem,180);
+pos23(vair,105); penpos24(curve,0); pos25(vair,270);
+penpos20'(stem,180); penpos22'(stem,180);
+x24r = w; x21=x20; x22r=x20-1.5u; x23=x20+2u; x24r=x20+4.5u; x25=x22l;
+x20'=x20+.5u; x22'r=x22r+.25u;
+y20=.2h; y21=.3h; y22=.6h; top y23=.8h; y24=.65h; y25=.45h;
+bot y20'=.1h; y22'=.4h;
+filldraw stroke z25e{right}..{up}z24e..{left}z23e;
+filldraw stroke z23e{left}...{down}z22e..z22'e...z21e..z20e{down}..{right}z20'e;
+
+pickup fine.nib;
+pos5'(vair,270); z5'=z1l;
+filldraw stroke z5'e--z25e;
+
+x9=x10=.5[x3,x23]; y9=y10=h+.075h;
+lft_wing(9,2u,.01h); rt_wing(10,1.75u,.01h);
+x11=x12=.5[x0',x20']; bot y11=bot y12=-o;
+lft_wing(11,2u,.01h); rt_wing(12,2.25u,.01h);
+penlabels(0,0',1,2,2',3,4,5, 9,10,11,12, 20,20',21,22,22',23,24,25);
+endchar;
+
+
+iff known eth_100:
+cmchar "Ethiopic numeral 100";
+beginchar(eth_100,10u#,.5[cap_height#,x_height#],paren_depth#);
+adjust_fit(-u#,u#);
+
+% THE RIGHT TOP ARC
+pickup fine.nib; penpos0(stem,180); penpos1(stem,180); penpos2(stem,180);
+penpos2'(stem,180); pos3(vair,105); penpos0'(stem,180);
+
+x0=.5w; x0'=.5w+.5u; x1=x0; x2r=w-6.5u; x2'r=x2r+.25u; x3=w-3u;
+bot y0'=.1h; y0=.2h; y1=.3h; y2=.6h; y2'=.4h; top y3=.8h;
+filldraw stroke z3e{left}...{down}z2e..z2'e...z1e..z0e{down}..{right}z0'e;
+
+penpos4(curve,0); pos5(vair,270);
+x5=x2l; x4r=w-.5u; y5=.45h; y4=.65h;
+filldraw stroke z5e{right}..{up}z4e{up}..{left}z3e;
+
+x9=x10=.65w; y9=y10=h+.075h;
+lft_wing(9,1.5u,.01h); rt_wing(10,1.25u,.01h);
+x11=x12=.55w; bot y11=bot y12=-o;
+lft_wing(11,1.5u,.01h); rt_wing(12,1.5u,.01h);
+penlabels(0,0',1,2,3,4,5); endchar;
+
+
+iff known eth_90:
+cmchar "Ethiopic numeral 90";
+beginchar(eth_90,10u#,.5[cap_height#,x_height#],paren_depth#);
+adjust_fit(.5u#,0);
+
+pickup fine.nib; penpos0(stem,5); penpos1(stem,0); penpos2(stem,0);
+penpos3(stem,0); penpos4(stem,0); penpos5(stem,0); penpos6(stem,0);
+pos7(vair,45);
+
+x1=.5w; x0=x1+.5u; x2r=w-1.25u; x3=x0+1.5u;
+x4l=w-5u; x5l=x4l-.25u; x6l=w-4.5u; x7=.5w;
+bot y0=.1h; y1=.2h; y2=.55h; y3+o=y4=.55h; y5=y4+.025h; y6=.7h; top y7=.8h;
+
+filldraw stroke z0e{left}...{up}z1e---z3e;
+filldraw stroke z4e{left}...{up}z5e---z6e{up}...{left}z7e;
+x8=x7; y8=y7; lft_wing(8,1.5u,o);
+
+x9=x10=.5w; y9=y10=h+.075h;
+lft_wing(9,1.5u,.01h); rt_wing(10,1.25u,.01h);
+x11=x12=.45w; bot y11=bot y12=-o;
+lft_wing(11,1.5u,.01h); rt_wing(12,1.5u,.01h);
+penlabels(0,1,2,3,4,5,6,7); endchar;
+
+
+iff known eth_80:
+cmchar "Ethiopic numeral 80";
+beginchar(eth_80,10u#,.55[cap_height#,x_height#],0);
+adjust_fit(3u#,2.5u#)
+if .5w <> good.x .5w :change_width; fi pickup fine.nib;
+
+
+%LEFT STEM
+penpos0(stem,0); penpos1(stem,0); penpos1'(stem,0);
+x0=w-7u; x1=x0-.5u; x1'=x1-.5u;
+y0=.75h-o; y1=.15h; y1'=.15(y0-y1)+y1;
+filldraw stroke z0e--z1'e{down}..{right}z1e;
+
+%RIGHT STEM
+penpos3(stem,0); penpos3'(stem,0); penpos2(stem,0);
+x2=w-x0; x3=x2-.5u; x3'=x3-.5u;
+y2=.75h; y3=.15h; y3'=.15(y2-y3)+y3;
+filldraw stroke z2e--z3'e{down}..{right}z3e;
+
+x4=x0r; x4'=x2l; y4=y0; y4'=y2; draw z4--z4';
+x5=x0l; x6=x2r; y5=y0; y6=y2;
+lft_wing(5,2u,.015h); rt_wing(6,1.5u,.015h);
+
+x9=x10=.55w; y9=y10=h+.075h;
+lft_wing(9,1.75u,.01h); rt_wing(10,1.5u,.01h);
+x11=x12=.5w; bot y11=bot y12=-o;
+lft_wing(11,1.75u,.01h); rt_wing(12,1.5u,.01h);
+penlabels(0,1,2,3,4,5); endchar;
+
+
+iff known eth_70:
+cmchar "Ethiopic numeral 70";
+beginchar(eth_70,10u#,.5[cap_height#,x_height#],paren_depth#);
+adjust_fit(0,2u#);
+
+pickup fine.nib; pos0(vair,90); pos0'(vair,90); pos1(stem,180);
+penpos2(stem,180); pos2'(stem,200); pos3(vair,270);
+
+x0=w-3.5u; x0'=x0-1.5u; x2r=u; x1r=1.75u; x2'r=x2r+.25h; x3=w-4u;
+top y0=.8h; top y0'=y0; y1=.6h; y2=.275h; y2'=.15h-oo; y3=.175h+o;
+filldraw stroke z0e...z0'e{left}...z1e..z2e{down}...z2'e...z3e;
+
+x7=x3; y7=y3; rt_half_ellipse(7,0);
+x8=x0; y8=y0-.225h; large_ring(8,5);
+
+x9=x10=.55w; y9=y10=h+.075h;
+lft_wing(9,1.5u,.01h); rt_wing(10,1.5u,.01h);
+x11=x12=.5w; bot y11=bot y12=-o;
+lft_wing(11,1.5u,.01h); rt_wing(12,1.5u,.01h);
+penlabels(0,1,2,2',3); endchar;
+
+
+iff known eth_60:
+cmchar "Ethiopic numeral 60";
+beginchar(eth_60,10u#,.5[cap_height#,x_height#],0);
+adjust_fit(1.5u#,1.5u#);
+if .5w <> good.x .5w :change_width; fi pickup fine.nib;
+
+pickup fine.nib; penpos1(stem,0); penpos2(stem,0); penpos1'(stem,0);
+penpos2'(stem,0);
+x1=w-5u; x1'=x1-.5u; x2=x1'+u; x2=x2'-.5u;
+top y1=.8h; y2=.3h; y1'=y2'+o=y2+.6(y1-y2);
+filldraw stroke z1e--z1'e; filldraw stroke z2'e--z2e;
+
+x3=x1l; x4=x1r; y3=y4=y1;
+lft_wing(3,2u,.015h); rt_wing(4,2.5u,.015h);
+x5=x2l; x6=x2r; y5=y6=y2;
+lft_wing(5,2.25u,.015h); rt_wing(6,1.5u,.010h);
+
+x9=x10=.55w; y9=y10=h+.075h;
+lft_wing(9,1.5u,.01h); rt_wing(10,1.5u,.01h);
+x11=x12=.5w; bot y11=bot y12=-o;
+lft_wing(11,1.5u,.01h); rt_wing(12,1.5u,.01h);
+penlabels(1,2,3,4,6,7); endchar;
+
+
+iff known eth_50:
+cmchar "Ethiopic numeral 50";
+beginchar(eth_50,8.5u#,.55[cap_height#,x_height#],paren_depth#);
+adjust_fit(u#,.5u#);
+
+pickup fine.nib; penpos0(stem,180); penpos1(stem,180); penpos2(stem,180);
+penpos3(stem,180); pos4(vair,270);
+penpos8(stem,0); penpos8'(stem,0); penpos9(stem,0); penpos9'(stem,0);
+
+x0r=hround max(.7u,1.45u-.5curve); x3r=x0r+hair; x1r=x0r+hair; x2r=x0r-stem;
+x4l=.5w+fine; x8r=w-x0r-stem; x8'r=x8r+.5u; x9r=x8r-.5u; x9'r=x9r-.25u;
+
+top y0=top y8=.75h+o; y3=.45h; y1=.75(y0-y3)+y3; y2=.25(y0-y3)+y3;
+y4=y7=y3+o; bot y9=.1h; y8'=y9+.85(y8-y9); y9'=y9+.1(y8-y9);
+filldraw stroke z0e..controls z1e and z2e..z3e{right}...z4e;
+filldraw stroke z8e{right}..{down}z8'e--z9'e{down}..{right}z9e;
+
+x19=x20=.45w; y19=y20=h+.075h;
+lft_wing(19,1.25u,.01h); rt_wing(20,1.25u,.01h);
+x21=x12=.45w; bot y21=bot y12=-o;
+lft_wing(21,1.25u,.01h); rt_wing(12,1.25u,.01h);
+penlabels(1,2,3,4,5,6,7,8,9,10,11); endchar;
+
+
+iff known eth_40:
+cmchar "Ethiopic numeral 40";
+beginchar(eth_40,13.5u#,.55[cap_height#,x_height#],paren_depth#);
+adjust_fit(serif_fit#+stem_shift#,-1.25u#);
+
+
+pickup fine.nib; penpos0(stem,180); penpos1(stem,180); penpos2(stem,180);
+penpos3(stem,180); pos4(vair,270); penpos5(stem,0); penpos6(stem,0);
+penpos7(stem,0); penpos8'(stem,0); penpos8(stem,0); penpos9(stem,0);
+pos10(vair,270); penpos9'(stem,0); pos11(stem,180);
+
+x0r=hround max(.7u,1.45u-.5curve)+u; x3r=x0r+hair; x1r=x0r+hair; x2r=x0r-stem;
+x5r=.525w; x6r=hround(x5r+fine); x7r=x4l=hround(x5r-.25stem);
+x8r=w-x0r-u; x8'r=x8r+.25u; x9r=x8'r-u; x9'r=x9r-.25u;
+x10r=.75[x5r,x8r]; x11r=x4r-u;
+
+top y0=top y5=top y8=.775h; y3=.45h; y1=.75(y0-y3)+y3; y6=.75(y0-y3)+y3;
+y2=.25(y0-y3)+y3; y4=y7=y3+o; bot y9=.15h; y8'=y9+.85(y8-y9);
+y9'=y9+.15(y8-y9); y10=y4; y11=y4+.1h;
+
+filldraw stroke pulled_arc.e(11,10); filldraw stroke z5e..controls z6e..z7e;
+filldraw stroke z0e..controls z1e and z2e..z3e{right}...z4e;
+filldraw stroke z8e{right}..{down}z8'e--z9'e{down}..{right}z9e;
+
+x19=x20=.5w; y19=y20=h+.075h;
+lft_wing(19,1.5u,.01h); rt_wing(20,1.5u,.01h);
+x21=x12=.425w; bot y21=bot y12=-o;
+lft_wing(21,1.5u,.01h); rt_wing(12,1.5u,.01h);
+penlabels(1,2,3,4,5,6,7,8,9,10,11); endchar;
+
+
+iff known eth_30:
+cmchar "Ethiopic numeral 30";
+beginchar(eth_30,12u#,.5[cap_height#,x_height#],paren_depth#);
+adjust_fit(.5u#,0);
+if vair < fine.breadth:vair:=fine.breadth; fi
+
+pickup fine.nib;
+penpos0(stem,0); penpos0'(stem,0); penpos1(stem,0); penpos1'(stem,0);
+pos2(vair,90); penpos3(stem,180); penpos4(stem,180);
+penpos4'(stem,0); pos5(vair,270); penpos6(stem,180);
+penpos7(stem,180); pos8(vair,135);
+
+x0r=x1r=w-1.25u; x0'r=x0r-.5stem; x1'=x1r; x2=(x0l-1.25u); x3l=x4l=(x2-1.25u);
+x4'r=x4l; x5=(x4r-1.25u); x6l=(x5-1.25u); x7l=.5[x5,x6l]; x8l=x5;
+
+y0=.13h+oo; y1=.65h; y0'=.25(y1-y0)+y0; y1'=.75(y1-y0)+y0; y2=.75h;
+y3=y1'; y4=y4'=y0'+.15h; y5=y0'-.1h; y6=y4; y7=y1'; y8=y2;
+
+filldraw stroke z0e..controls z0'e and z1'e..super_arc.e(1,2)..
+super_arc.e(2,3)..z3e{down}...z4e;
+filldraw stroke super_arc.e(8,6) & super_arc.e(6,5) & super_arc.e(5,4');
+
+x9=x10=.575w; y9=y10=h+.075h;
+lft_wing(9,1.5u,.01h); rt_wing(10,1.5u,.01h);
+x11=x12=.5w; bot y11=bot y12=-o;
+lft_wing(11,1.5u,.01h); rt_wing(12,1.5u,.01h);
+penlabels(1,2,3,4,5,6,7,8); endchar;
+
+
+iff known eth_20:
+cmchar "Ethiopic numeral 20";
+beginchar(eth_20,10u#,.5[cap_height#,x_height#],paren_depth#);
+adjust_fit(u#,u#); pickup fine.nib;
+
+penpos0(stem,5); penpos0'(stem,0); penpos1(stem,0); penpos1'(stem,0);
+x0=x0'=.5w; x1=x0-2u; x1'=x1-.5u; y0=.775h; y1=.15h; y0'=y1+.8(y0-y1);
+y1'=y1+.15(y0-y1);
+filldraw stroke z0e{down}..z0'e..z1'e{down}..{right}z1e;
+
+pos2(vair,90); penpos2'(stem,0); penpos3(stem,0); penpos3'(stem,0);
+x2=.5[x0,x1']; x2'=x2+3.5u; x3'=x2'+.5u; x3=x3'+.25u;
+y2=.5[y0,y1']; y2'=y2-.05h; y3'=y1'; y3=y1;
+filldraw stroke z2e{right}...z2'e...{down}z3'e..z3e;
+
+x4=x0l; y4=y0l; lft_wing(4,2u,.015h);
+x5=x0r; y5=y0r; rt_wing(5,2u,.015h);
+
+x9=x10=.525w; y9=y10=h+.075h;
+lft_wing(9,1.5u,.01h); rt_wing(10,1.5u,.01h);
+x11=x12=.5w; bot y11=bot y12=-o;
+lft_wing(11,1.5u,.01h); rt_wing(12,1.5u,.01h);
+penlabels(1,2,3,4,5,6,7,8); endchar;
+
+
+iff known eth_10:
+cmchar "Ethiopic numeral 10";
+beginchar(eth_10,10u#,.55[cap_height#,x_height#],paren_depth#);
+adjust_fit(0,0);
+
+pickup fine.nib; penpos0(stem,5); penpos1(stem,0);
+penpos1'(stem,0); penpos0'(stem,0);
+x1=w-5u; x1'=x1-.5u; x0=w-x1; x0'=x0+.5u;
+top y0=.825h; bot y1=.15h; y0'=y1+.85(y0-y1); y1'=y1+.15(y0-y1);
+filldraw stroke z0e{right}..{down}z0'e--z1'e{down}..{right}z1e;
+
+% BOTTOM AND TOP WINGS
+x9=x10=.55w; y9=y10=h+.075h;
+lft_wing(9,2u,.015h); rt_wing(10,1.5u,.015h);
+x11=x12=.55w; bot y11=bot y12=-o;
+lft_wing(11,2u,.015h); rt_wing(12,1.5u,.015h);
+labels(range 0 thru 13); endchar;
+
+
+iff known eth_9:
+cmchar "Ethiopic numeral 9";
+beginchar(eth_9,10u#,.5[cap_height#,x_height#],paren_depth#);
+adjust_fit(u#,0)
+
+% THE RIGHT STEM AND ARC
+pickup fine.nib; penpos0(stem,200); penpos1(stem,180);
+penpos2(stem,180); pos3(vair,270);
+pos4(vair,270); penpos5(stem,0); penpos6(stem,0); penpos7(stem,15);
+
+x0r=1.5u; x1r=2u; x2r=1.35u; x3r=.4w; x4=.5w; x5l=w-3.75u; x6l=w-3.25u; x7l=.6w;
+y0=.7h; y1=.6h; y2=.3h; bot y3=.1h; bot y4=.125h; y5=.4h; y6=.675h; top y7=.8h;
+filldraw stroke z0e...{down}z1e--z2e...z3e..z4e..z5e...z6e...z7e;
+
+pos1'(vair,90); pos5'(vair,90); x1'=x1; y1'=y1-.15h; x5'=x6; y5'=y1'+.1h;
+draw z1'--z5';
+
+x9=x10=.5w; y9=y10=h+.075h;
+lft_wing(9,1.5u,.015h); rt_wing(10,1.5u,.015h);
+x11=x12=.45w; bot y11=bot y12=00;
+lft_wing(11,1.5u,.015h); rt_wing(12,1.5u,.015h);
+penlabels(0,1,2,3,4,5,6,7); endchar;
+
+
+iff known eth_8:
+cmchar "Ethiopic numeral 8";
+beginchar(eth_8,10u#,.5[cap_height#,x_height#],paren_depth#);
+adjust_fit(2u#,u#);
+
+pickup fine.nib; penpos0(stem,0); penpos1(stem,0);
+x0=.5w; x1=x0-.5u; y0=.775h; y1=.225h; filldraw stroke z0e--z1e;
+
+x3=x0l; x4=x0r; y3=y4=y0;
+lft_wing(3,1.75u,.015h); rt_wing(4,1.75u,.015h);
+
+x5=x1l; x6=x1r; y5=y6=y1;
+lft_wing(5,1.75u,.015h); rt_wing(6,1.75u,.015h);
+
+% UPPER AND LOWER RING
+x9=x10=.5w; y9=y10=h+.075h;
+lft_wing(9,1.25u,.005h); rt_wing(10,1.25u,.005h);
+x11=x12=.45w; y11=y12=-.05h;
+lft_wing(11,1.25u,.005h); rt_wing(12,1.25u,.005h);
+penlabels(1,2,3,4,5,6,7,8,9,10,11,12); endchar;
+
+
+iff known eth_7:
+cmchar "Ethiopic numeral 7";
+beginchar(eth_7,10u#,.55[cap_height#,x_height#],paren_depth#);
+adjust_fit(u#,u#);
+
+pickup fine.nib; penpos0(stem,5); penpos1(stem,0);
+penpos1'(stem,0); penpos0'(stem,0);
+x1=w-5.5u; x1'=x1-.5u; x0=w-x1+.5u; x0'=x0+.5u;
+top y0=.8h; bot y1=.15h; y0'=y1+.85(y0-y1); y1'=y1+.15(y0-y1);
+filldraw stroke z0e{right}..{down}z0'e--z1'e{down}..{right}z1e;
+x3=x0l; x2=x1; y3=y0; y2=y1;
+lft_wing(3,1.75u,.025h); rt_half_ellipse(2,2.5u);
+
+% BOTTOM AND TOP WINGS
+x9=x10=.575w; y9=y10=h+.075h;
+lft_wing(9,2u,.015h); rt_wing(10,1.5u,.015h);
+x11=x12=.5w; bot y11=bot y12=-o;
+lft_wing(11,2u,.015h); rt_wing(12,1.5u,.015h);
+labels(range 0 thru 13); endchar;
+
+
+iff known eth_6:
+cmchar "Ethiopic numeral 6";
+beginchar(eth_6,10u#,.55[cap_height#,x_height#],paren_depth#);
+adjust_fit(0,0);
+
+pickup fine.nib; penpos0(stem,5); penpos1(stem,0);
+penpos1'(stem,0); penpos0'(stem,0);
+x1=w-5.5u; x1'=x1-.5u; x0=w-x1+.5u; x0'=x0+.5u;
+top y0=.75h; bot y1=.1h; y0'=y1+.85(y0-y1); y1'=y1+.15(y0-y1);
+filldraw stroke z0e{right}..{down}z0'e--z1'e{down}..{right}z1e;
+x3=x0l; x2=x1; y3=y0; y2=y1;
+lft_half_ellipse(3,1.75u); half_ring(2);
+
+% BOTTOM AND TOP WINGS
+x9=x10=.55w; y9=y10=h+.075h;
+lft_wing(9,2u,.015h); rt_wing(10,1.5u,.015h);
+x11=x12=.55w; bot y11=bot y12=-o;
+lft_wing(11,2u,.015h); rt_wing(12,1.5u,.015h);
+labels(range 0 thru 13); endchar;
+
+
+iff known eth_5:
+cmchar "Ethiopic numeral 5";
+beginchar(eth_5,10u#,.5[cap_height#,x_height#],paren_depth#);
+adjust_fit(0,u#);
+
+pickup fine.nib; penpos0(stem,180); penpos1(stem,180); penpos2(stem,180);
+pos3(bar,270); pos4(bar,360);
+lft x0=x1=hround(w-5u); x2l=x0-2.5u; x3l=hround(w-6.5u); x4=w-4u;
+y0=.8h+o; y1=.7h+o; y2=.3h+o; y3=.15h+o; y4=.2h+o;
+filldraw stroke z0e{down}...z1e...z2e{down}...z3e---z4e;
+
+% RIGHT WING
+x6=x1; y6=y1-.1h+o; rt_wing(6,2u,0);
+
+% RIGHT LOWER WING
+x7=x4; y7=y4; rt_half_ellipse(7,0);
+
+%
+x9=x10=.55w; y9=y10=h+.075h;
+lft_wing(9,2u,.015h); rt_wing(10,1.5u,.015h);
+x11=x12=.55w; bot y11=bot y12=00;
+lft_wing(11,2u,.015h); rt_wing(12,1.5u,.015h);
+penlabels(1,2,3,4,5,6); endchar;
+
+
+iff known eth_4:
+cmchar "Ethiopic numeral 4";
+beginchar(eth_4,9u#,.5[cap_height#,x_height#],paren_depth#);
+adjust_fit(u#,u#);
+
+pickup fine.nib; pos1(vair,90); pos3(vair,-90);
+penpos2(stem,180); penpos4(stem,0);
+x2r=u; x4r=w-x2r; x1=x3=.5w;
+y1r=.8h; y3r=.2h; y2l=y4l=.5[y1r,y3r];
+filldraw stroke pulled_arc.e(1,2)..pulled_arc.e(2,3)..
+ pulled_arc.e(3,4)..pulled_arc.e(4,1); % bowl
+
+x9=x10=.55w; y9=y10=h+.075h;
+lft_wing(9,2u,.015h); rt_wing(10,1.5u,.015h);
+x11=x12=.55w; bot y11=bot y12=00;
+lft_wing(11,2u,.015h); rt_wing(12,1.5u,.015h);
+penlabels(1,2,3,4,5,6,7,8,9,10,11,12); endchar;
+
+
+iff known eth_3:
+cmchar "Ethiopic numeral 3";
+beginchar(eth_3,9u#,.5[cap_height#,x_height#],paren_depth#);
+adjust_fit(1u#,1u#);
+
+pickup fine.nib; penpos0(stem,0); penpos1(stem,0); penpos1'(stem,0);
+x0=x1=w-7u; x1'=x0-.5u;
+y0=.725h; y1=.125h; y1'=y1+.1h; filldraw stroke z0e--z1'e{down}..{right}z1e;
+
+% RIGHT PEAK
+pickup fine.nib; x3=w-6u-fine; y3=y0; rt_wing(3,3.25u,.015h);
+
+x9=x10=.55w; y9=y10=h+.075h;
+lft_wing(9,2u,.015h); rt_wing(10,1.5u,.015h);
+x11=x12=.55w; bot y11=bot y12=00;
+lft_wing(11,2u,.015h); rt_wing(12,1.5u,.015h);
+penlabels(1,2,3,4,5,6,7,8,9,10,11,12); endchar;
+
+
+iff known eth_2:
+cmchar "Ethiopic numeral 2";
+beginchar(eth_2,10u#,.5[cap_height#,x_height#],paren_depth#);
+adjust_fit(-1u#,1.5u#);
+
+% THE RIGHT TOP ARC
+pickup fine.nib; pos0(vair,270); pos1(1.5vair,180); penpos2(stem,180);
+penpos2'(stem,180); pos3(vair,105);
+
+x1=w-4.5u; x2r=w-7u; x2'r=x2r+.2u; x3=w-3.5u; x0=w-2.5u;
+y1=.15h; y0=y1-o; y2=.6h; y2'=.45h; top y3=.85h;
+filldraw stroke z3e{left}...{down}z2e..z2'e...z1e;
+
+penpos4(stem,0); pos5(vair,270);
+x5=x2l; x4r=w-.75u; y5=.55h; y4=.7h;
+filldraw stroke z5e{right}..{up}z4e{up}..{left}z3e;
+
+x6=x1-.5u; y6=y1-oo; half_ring(6);
+
+x9=x10=.625w; y9=y10=h+.075h;
+lft_wing(9,2u,.015h); rt_wing(10,1.75u,.015h);
+x11=x12=.625w; bot y11=bot y12=00;
+lft_wing(11,2u,.015h); rt_wing(12,1.75u,.015h);
+penlabels(0,0',1,2,2',3,4,5,6,7); endchar;
+
+
+iff known eth_1:
+cmchar "Ethiopic numeral 1";
+beginchar(eth_1,10u#,.5[cap_height#,x_height#],paren_depth#);
+adjust_fit(.5u#,u#);
+
+pickup fine.nib; penpos0(stem,0); penpos0'(stem,0); penpos1(stem,0);
+penpos2(stem,0); pos3(stem,0);
+lft x0=lft x1=w-5u; x0'=x0+.5u; x2l=w-8.5u; x3l=w-7u;
+y0=.8h; y0'=y0-.05h; y1=.65h; y2=.25h; bot y3=.1h;
+filldraw stroke z0e{right}..{down}z0'e{down}...z1e...z2e{down}...z3e{right};
+
+pickup fine.nib; x4=w-7u; x5=w-5u; y4=y5=.13h; draw flex(z4,z5);
+
+pickup fine.nib; pos6(vair,135); penpos7(stem,0); pos8(vair,-135);
+x6=x1-1u-fine; x7=x1+2u; x8=x5; y6=.55h+o; y8=y4; y7=.5[y8,y6];
+filldraw stroke super_arc.e(6,7) & super_arc.e(7,8);
+
+x9=x10=.575w; y9=y10=h+.05h;
+lft_wing(9,2u,.015h); rt_wing(10,2u,.015h);
+x11=x12=.5w; bot y11=bot y12=00;
+lft_wing(11,2u,.015h); rt_wing(12,2u,.015h);
+penlabels(1,2,3,4,5,6,7,8); endchar;