diff options
Diffstat (limited to 'Master/texmf-dist/fonts/source/public/ethiop/ethiomac.mf')
-rw-r--r-- | Master/texmf-dist/fonts/source/public/ethiop/ethiomac.mf | 353 |
1 files changed, 353 insertions, 0 deletions
diff --git a/Master/texmf-dist/fonts/source/public/ethiop/ethiomac.mf b/Master/texmf-dist/fonts/source/public/ethiop/ethiomac.mf new file mode 100644 index 00000000000..a488b4b8811 --- /dev/null +++ b/Master/texmf-dist/fonts/source/public/ethiop/ethiomac.mf @@ -0,0 +1,353 @@ +%------------------------------------------------------------- +% This is ETHIOPMAC.MF as of Dec, 1995 by Jochen Metzinger +% originally distributed by Abass B. Alamnehe [February, 1993] +%------------------------------------------------------------- + +%%% THUMB %%% + +def t_thumb(suffix @)= + pickup fine.nib; + x@a=x@s=x@-3.25u; x@b=x@a+.75u; x@c=x@a; x@d=x@a+2u; x@e=x@a+3.25u; + x@f=x@a+3.25u; x@g=x@a+1.75u; + y@a=y@-.1h+oo; y@b=y@; y@c=y@+.1h-oo; + y@d=y@c+oo; y@e=y@c-.025h; y@f=y@a+.05h; y@g=y@a-oo; + fill flex(z@a,z@b,z@c) & flex(z@c,z@d,z@e)...flex(z@f,z@g,z@a) + & cycle; + penlabels(@,@a,@b,@c,@d,@e,@f,@g); +enddef; + +def left_up_thumb(suffix @)= + pickup tiny.nib; + x@a=x@; y@a=y@; + x@b=x@-1.9u; x@c=x@-1.7u; x@d=x@-2.2u; x@e=x@-.5u; x@f=x@-.5u; + y@b=y@; y@c=y@+.07h; y@d=y@+.15h; y@e=y@+.14h; y@f=y@; + pickup fine.nib; + filldraw flex(z@b,z@c,z@d) & flex(z@d,z@e,z@a) + & flex(z@a,z@f,z@b) & cycle; + pickup fine.nib; + labels(x@,@a,@b,@c,@d,@e,@f,@g,@i); +enddef; + +%%% WING %%% + +def upper_left_wing(suffix @)= + pickup fine.nib; pos@g(vair,90); pos@i(vair,90); + x@g=x@; x@i=x@-1.5u; y@g=y@i=y@; + filldraw stroke z@g.e--z@i.e; + x@a=x@-1.52u; y@a=y@; + x@b=x@-3.9u; x@c=x@-3.7u; x@d=x@-4.2u; x@e=x@-2.5u; x@f=x@-2.5u; + y@b=y@-oo; y@c=y@+.07h; y@d=y@+.15h; y@e=y@+.14h; y@f=y@-oo; + filldraw flex(z@b,z@c,z@d) & flex(z@d,z@e,z@a) + & flex(z@a,z@f,z@b) & cycle; + labels(x@,@a,@b,@c,@d,@e,@f,@g,@i); +enddef; + +def upper_right_wing(suffix $)= + pickup fine.nib; pos$a(vair,90); pos$b(vair,90); + x$a=x$; x$b=x$+1.5u; y$a=y$b=y$; + filldraw stroke z$a.e--z$b.e; + x$g=x$+1.52u; y$g=y$; + x$i=x$+3.9u; x$j=x$+3.7u; x$k=x$+4.2u; x$l=x$+2.5u; x$m=x$+2.5u; + y$i=y$-oo; y$j=y$+.07h; y$k=y$+.15h; y$l=y$+.14h; y$m=y$-oo; + filldraw flex(z$i,z$j,z$k) & flex(z$k,z$l,z$g) + & flex(z$g,z$m,z$i) & cycle; + labels(x$,$g,$i,$j,$k,$l,$m,$a,$b); +enddef; + +def upside_down_left_wing(suffix @)= + pickup tiny.nib; + pos@g(bar,90); pos@i(bar,90); + x@g=x@; x@i=x@-2u-eps; y@g=y@i=y@; + draw z@g--z@i; + x@a=x@-2u; y@a=y@; x@b=x@-3.9u; x@c=x@-3.7u; + x@d=x@-4.2u; x@e=x@-2.5u; x@f=x@-2.5u; + y@b=y@; y@c=y@+.07h; y@d=y@+.15h; y@e=y@+.14h; y@f=y@; + pickup fine.nib; + filldraw flex(z@b,z@c,z@d) & flex(z@d,z@e,z@a) + & flex(z@a,z@f,z@b) & cycle; + pickup fine.nib; + labels(x@,@a,@b,@c,@d,@e,@f,@g,@i); +enddef; + +def rt_wing(suffix $)(expr x_bar, slope)= + pickup fine.nib; + x$g=x$; x$:=x$+x_bar; + x$a=x$; x$b=x$+2u; x$c=x$+2u; x$d=x$+2u; x$e=x$+2.5u; + x$f=x$+.75u; x$h=x$a; + y$a=y$+slope; y$b=y$+o+slope; y$c=y$b-.025h; y$d=y$b-.075h; + y$e=y$b-.135h-o; y$f=y$b-.15h-o; y$g=y$; y$h=y$a; + if x_bar > 0: + pos$g(vair,90); pos$h(vair,90); + filldraw stroke z$g--z$h; + fi + filldraw flex(z$a,z$b,z$c) & flex(z$c,z$d,z$e) + & flex(z$e,z$f,z$a) & cycle; + labels(x$,$a,$b,$c,$d,$e,$f,$g); +enddef; + +def lft_wing(suffix $)(expr x_bar, slope)= + pickup fine.nib; + x$g=x$; x$:=x$-x_bar; + x$a=x$; x$b=x$-2u; x$c=x$-2u; x$d=x$-2u; x$e=x$-2.5u; + x$f=x$-.75u; x$h=x$a; + y$a=y$-slope; y$b=y$-2slope; y$c=y$b-.025h; y$d=y$b-.075h; + y$e=y$b-.135h-o; y$f=y$b-.15h-o; y$g=y$; y$h=y$a; + if x_bar > 0: + pos$g(vair,90); pos$h(vair,90); + filldraw stroke z$g--z$h; + fi + filldraw flex(z$a,z$b,z$c) & flex(z$c,z$d,z$e) + & flex(z$e,z$f,z$a) & cycle; + labels(x$,$a,$b,$c,$d,$e,$f,$g); +enddef; + +def right_wing_no_bar(suffix @)= + x@a=x@; y@a=y@; + x@b=x@-1.9u; x@c=x@-1.7u; x@d=x@-2.2u; x@e=x@-.5u; x@f=x@-.5u; + y@b=y@; y@c=y@-.07h; y@d=y@-.15h; y@e=y@-.14h; y@f=y@; + pickup fine.nib; + filldraw flex(z@b,z@c,z@d) & flex(z@d,z@e,z@a) & flex(z@a,z@f,z@b) + & cycle; + pickup fine.nib; + labels(x@,@a,@b,@c,@d,@e,@f,@g,@i); +enddef; + +def r_wing(suffix $)= + pickup fine.nib; x$g=x$; y$g=y$; + x$i=x$+2u; x$j=x$+1.75u; x$k=x$+2.5u; x$l=x$+.5u; x$m=x$+.5u; + y$i=y$; y$j=y$-.07h; y$k=y$-.15h; y$l=y$-.14h; y$m=y$; + filldraw flex(z$i,z$j,z$k) & flex(z$k,z$l,z$g) + & flex(z$g,z$m,z$i) & cycle; + labels(x$,$g,$i,$j,$k,$l,$m,$a,$b); +enddef; + +def p_wing(suffix $)= + pickup fine.nib; x$g=x$; y$g=y$; + x$i=x$-1.9u; x$j=x$-1.7u; x$k=x$-2.2u; x$l=x$-.5u; x$m=x$-.5u; + y$i=y$; y$j=y$-.07h; y$k=y$-.15h; y$l=y$-.14h; y$m=y$; + filldraw flex(z$i,z$j,z$k) & flex(z$k,z$l,z$g) + & flex(z$g,z$m,z$i) & cycle; + pickup fine.nib; + labels(x$,$g,$i,$j,$k,$l,$m,$a,$b); +enddef; + +def t_wing(suffix $)= + pickup fine.nib; + x$a=x$; x$b=x$c=x$d=x$-2u; x$e=x$-2.5u; x$f=x$-.75u; + y$a=y$c=y$; y$b=y$+.025h; y$d=y$-.05h; y$e=y$-.11h-o; + y$f=y$-.125h-o; + filldraw flex(z$a,z$b,z$c) & flex(z$c,z$d,z$e) + & flex(z$e,z$f,z$a) & cycle; + labels($,$a,$b,$c,$d,$e,$f); +enddef; + +%%% RING %%% + +def half_ring(suffix @) = + pickup fine.nib; + pos@1(vair,270); penpos@2(stem,360); pos@3(vair,90); + pos@4(vair,90); pos@5(vair,270); + x@5=x@4=x@+fine; x@1=x@3=x@5+1u; x@2=x@1+2u; + y@5=y@1=y@+.5o; y@3=y@4=y@5+.225h; y@2=.5[y@5,y@3]; + filldraw stroke z@5e..pulled_super_arc.e(@1,@2)(superpull) + .. pulled_super_arc.e(@2,@3)(superpull)..z@4e; + penlabels(@,@1,@2,@3); +enddef; + +def jj_ring(suffix @) = + pickup fine.nib; + pos@1(vair,270); pos@2(stem,0); pos@3(vair,90); + pos@4(vair,90); pos@5(vair,270); + x@5=x@4=x@+fine; x@1=x@3=x@5+.75u; x@2=x@1+1.72u; + y@5=y@1=y@+o; y@3=y@4=y@5+.225h; y@2=.5[y@5,y@3]; + filldraw stroke z@5e...pulled_arc.e(@1,@2) + .. pulled_arc.e(@2,@3)...z@4e; + penlabels(@,@1,@2,@3); +enddef; + +def large_ring(suffix $)(expr theta) = + pickup tiny.nib; + transform t; t=identity rotatedaround((.5w,.5h),theta); + x$a=x$c=x$+1.75u; x$b=x$b'=x$; x$d=x$d'=x$a+2u; x$e=x$f=x$+1.75u; + y$a=y$b=y$d'=y$+.25h; y$b'=y$d=y$c=y$-.05h; y$e=y$+.2h; y$f=y$; + path p, q; + p=z$a..z$b..z$b'..z$c..z$d..z$d'..cycle; + q=z$e..z$f..cycle; + fill p transformed t; + unfill q transformed t; + penlabels($,$a,$b,$b',$c,$d,$d',$e,$f); +enddef; + +def rfive_ring(suffix $)(expr theta)= + pickup tiny.nib; + transform t; t=identity rotatedaround((.5w,.5h),theta); + x$a=x$c=x$+1.75u; x$b=x$b'=x$; x$d=x$d'=x$a+2u; x$e=x$f=x$+1.75u; + y$a=y$b=y$d'=y$+.25h; y$b'=y$d=y$c=y$-.05h; y$e=y$+.2h; y$f=y$; + path p, q; + p=z$a..z$b..z$b'..z$c..z$d..z$d'..cycle; + q=z$e..z$f..cycle; + fill p transformed t; + unfill q transformed t; + penlabels(z$a,z$b,z$b',z$c,z$d,z$d',z$e,z$f); +enddef; + +def rseven_ring(suffix $)= + pickup fine.nib; + pos$a(vair,90); penpos$b(stem,180); pos$b'(stem,205); + pos$c(vair,270); penpos$d(stem,0); pos$d'(stem,0); + x$a=x$+3u; x$b.l=x$+2.25u; x$b'.l=x$+2.5u; x$c=x$+3u; x$d.l=x$+4u; + x$d'.l=x$+4u; + y$a=y$+.05h; y$b=y$-.05h; y$b'=y$-.25h; y$c=y$-.225h; y$d=y$-.1h; + y$d'=y$; + filldraw stroke z$a.e{left}...z$b.e..z$b'.e{right}...z$c.e{right} + .. z$d.e..z$d'.e..{left}z$a.e; + labels(z$a,z$b,z$b',z$c,z$d,z$d'); +enddef; + +def dfive_ring(suffix $)(expr theta)= + pickup fine.nib; + transform t; t=identity rotatedaround((.5w,.5h),theta); + x$:=x$+.4u; y$:=y$-.125h; + x$a=x$c=x$+1.5u; x$b=x$b'=x$; x$d=x$d'=x$a+1.75u; x$e=x$f=x$+1.5u; + y$b=y$d'=y$+.175h; y$a=y$b+o; y$b'=y$d=y$c=y$-.075h; y$e=y$+.15h; + y$f=y$-.025h; + path p, q; + p=z$a..z$b..z$b'..z$c..z$d..z$d'..cycle; + q=z$e...z$f...cycle; + fill p transformed t; + unfill q transformed t; + penlabels(z$a,z$b,z$b',z$c,z$d,z$d',z$e,z$f); +enddef; + +def gfive_ring(suffix $)(expr theta,s)= + pickup fine.nib; + transform t; t=identity slanted (s) rotatedaround((.5w,.5h),theta); + x$:=x$+.4u; y$:=y$-.125h; + x$a=x$c=x$+1.5u; x$b=x$b'=x$; x$d=x$d'=x$a+1.75u; x$e=x$f=x$+1.5u; + y$b=y$d'=y$+.195h; y$a=y$b+o; y$b'=y$d=y$c=y$-.095h; y$e=y$+.15h; + y$f=y$-.025h; + path p, q; + p=z$a..z$b..z$b'..z$c..z$d..z$d'..cycle; + q=z$e...z$f...cycle; + fill p transformed t; + unfill q transformed t; + penlabels(z$a,z$b,z$b',z$c,z$d,z$d',z$e,z$f); +enddef; + +def nfour_ring(suffix $)(expr theta,s)= + pickup fine.nib; + transform t; t=identity slanted (s) rotatedaround((.5w,.5h),theta); + x$:=x$+.4u; y$:=y$-.125h; + x$a=x$c=x$+1.75u; x$b=x$b'=x$; x$d=x$d'=x$a+2u; x$e=x$f=x$+1.75u; + y$b=y$+.175h; y$a=y$b+.025h; y$b'=y$c=y$-.075h; y$e=y$+.15h; y$f=y$-.035h; + y$d'=y$+.175h; y$d=y$-.075h; + path p, q; + p=z$a...z$b..z$b'..z$c..z$d..z$d'...cycle; + q=z$e...z$f...cycle; + fill p transformed t; + unfill q transformed t; + penlabels(z$a,z$b,z$b',z$c,z$d,z$d',z$e,z$f); +enddef; + +def lsix_ring(suffix $)(expr theta) = + pickup tiny.nib; + transform t; t=identity rotatedaround((.5w,.5h),theta); + x$a=x$c=x$+1.75u; x$b=x$b'=x$; x$d=x$d'=x$a+2u; x$e=x$f=x$+1.75u; + y$a=y$b=y$d'=y$+.25h; y$b'=y$d=y$c=y$-.05h; y$e=y$+.2h; y$f=y$; + path p, q; + p=z$a..z$b..z$b'..z$c..z$d..z$d'..cycle; + q=z$e..z$f..cycle; + fill p transformed t; + unfill q transformed t; + penlabels(z$a,z$b,z$b',z$c,z$d,z$d',z$e,z$f); +enddef; + +def ynseven_ring(suffix $)(expr theta,s)= + pickup fine.nib; + transform t; t=identity slanted (s) rotatedaround((.5w,.5h),theta); + x$:=x$+.4u; y$:=y$-.125h; + x$a=x$c=x$+1.75u; x$b=x$b'=x$; x$d=x$d'=x$a+2u; x$e=x$f=x$+1.75u; + y$b=y$d'=y$a=y$+.195h; y$b'=y$d=y$c=y$-.05h; y$e=y$+.15h; y$f=y$-.025h; + path p, q; + p=z$a...z$b..z$b'..z$c..z$d..z$d'...cycle; + q=z$e...z$f...cycle; + fill p transformed t; + unfill q transformed t; + penlabels(z$a,z$b,z$b',z$c,z$d,z$d',z$e,z$f); +enddef; + +def yfive_ring(suffix $)(expr theta)= + pickup tiny.nib; + transform t; t=identity rotatedaround((.5w,.5h),theta); + x$:=x$+.4u; y$:=y$-.125h; + x$a=x$c=x$+1.75u; x$b=x$b'=x$; x$d=x$d'=x$a+2u; x$e=x$f=x$+1.75u; + y$a=y$b=y$d'=y$+.15h; y$b'=y$d=y$c=y$-.05h; y$e=y$+.125h; y$f=y$-.025h; + path p, q; + p=z$a..z$b..z$b'..z$c..z$d..z$d'..cycle; + q=z$e..z$f..cycle; + fill p transformed t; + unfill q transformed t; + penlabels(z$a,z$b,z$b',z$c,z$d,z$d',z$e,z$f); +enddef; + +%%% ELLIPSE %%% + +def rt_half_ellipse(suffix @)(expr x_bar)= + pickup fine.nib; + x@g=x@; y@:=y@+.015h; + x@:=x@+x_bar; x@h=x@; x@a=x@+3.25u; x@b=x@a-u; + x@c=x@a-.5u; x@d=x@a-2.5u; x@e=x@; x@f=x@a-2.25u; + y@a=y@-.065h; y@b=y@+.05h; y@c=y@+.125h; y@d=y@+.1h; y@e=y@; + y@f=y@-.1h; y@g=y@-.015h; y@h=y@; + pos@g(vair,90); pos@h(vair,90); + if x_bar>0 : + filldraw stroke z@g.e--z@h.e; + fi + fill flex(z@a,z@b,z@c) & flex(z@c,z@d,z@e)...flex(z@e,z@f,z@a) & cycle; + penlabels(@,@a,@b,@c,@d,@e,@f,z@g,z@h); +enddef; + +def lft_half_ellipse(suffix @)(expr x_bar)= + pickup fine.nib; + x@g=x@; y@:=y@-.03h; + x@:=x@-x_bar; x@h=x@; x@a=x@-3.25u; x@b=x@a+u; x@c=x@a+.5u; x@d=x@a+2.5u; + x@e=x@; x@f=x@a+2.25u; + y@a=y@-.125h; y@b=y@-.05h; y@c=y@+.065h; y@d=y@+.1h; y@e=y@; y@f=y@-.1h; + y@g=y@+.015h; y@h=y@; + pos@g(vair,90); pos@h(vair,90); + if x_bar>0 : + filldraw stroke z@g.e--z@h.e; + fi + fill flex(z@a,z@b,z@c) & flex(z@c,z@d,z@e)...flex(z@e,z@f,z@a) & cycle; + penlabels(@,@a,@b,@c,@d,@e,@f,z@g,z@h); +enddef; + +%%% DIAGONALS %%% + +def top_diagonals(suffix @)= + penpos@a(vair,45); penpos@b(vair,-45); + penpos@c(vair,45); penpos@d(vair,-45); + penpos@e(2stem,45); penpos@f(2stem,-45); + z@a.l=z@.l; z@b.r=z@.r; + x@c=x@a-1u; y@c=y@a+1u; x@d=x@b+1u; y@d=y@b+1u; + x@e=x@c-1.2stem; y@e=y@c+1.2stem; x@f=x@d+1.2stem; y@f=y@d+1.2stem; + z@g=.5[z@c,z@e]; z@h=.5[z@d,z@f]; + z@i=whatever[z@a.r,z@c.r]=whatever[z@b.r,z@d.r]; + filldraw z@a.l--z@c.l--z@c.r--z@i--z@b.l-- + z@d.l--z@d.r--z@b.r--z@a.l & cycle; + fill z@e.l..controls z@g..z@e.r & + z@e.r..{down}z@c.r--z@c.l{left}..z@e.l & cycle; + fill z@f.l..controls z@h..z@f.r & + z@f.r..{left}z@d.r--z@d.l{up}..z@f.l & cycle; +enddef; + +%%% NO_CHAR %%% + +def no_char(expr code) = + "undefined character"; + beginchar(code,9u#,body_height#,paren_depth#); + italcorr fig_height#*slant-.5u#; % same as for digits + adjust_fit(0,0); + fill (0,h)--(w,h)--(w,-d)--(0,-d)--cycle; + endchar; +enddef; |