diff options
Diffstat (limited to 'Master/texmf-dist/fonts/source/public/ethiop/eth_punc.mf')
-rw-r--r-- | Master/texmf-dist/fonts/source/public/ethiop/eth_punc.mf | 422 |
1 files changed, 422 insertions, 0 deletions
diff --git a/Master/texmf-dist/fonts/source/public/ethiop/eth_punc.mf b/Master/texmf-dist/fonts/source/public/ethiop/eth_punc.mf new file mode 100644 index 00000000000..c298af0cea7 --- /dev/null +++ b/Master/texmf-dist/fonts/source/public/ethiop/eth_punc.mf @@ -0,0 +1,422 @@ +%------------------------------------------------------------- +% This is ETH_PUNC.MF as of Dec, 1995 by Jochen Metzinger +% originally distributed by Abass B. Alamnehe [February, 1993] +%------------------------------------------------------------- + +iff known exclamation_mark: +cmchar "Exclamation mark"; +beginchar(exclamation_mark,5u#+width_adj#,asc_height#,0); +italcorr asc_height#*slant-2u#-.5width_adj#+.5dot_size#; +adjust_fit(0,0); +pickup tiny.nib; pos3(dot_size,0); pos4(dot_size,90); +lft x3l=hround(.5w-.5dot_size); bot y4l=0; z3=z4; dot(3,4); % dot +numeric bot_width; +bot_width=if hefty:max(hround .8dot_size,fine.breadth) else: hair fi; +pickup fine.nib; pos1(dot_size,0); pos2(bot_width,0); +x1=x2=x3; bot y2=.25[top y4r,x_height]+1; +if square_dots: top y1=h; + filldraw stroke z1e--z2e; % stem +else: top z0=(x1,h+o); y1+.5dot_size=h+o; + filldraw z1r...z0...z1l---z2l--z2r---cycle; fi % stem and bulb +penlabels(0,1,2,3,4); endchar; + + +iff known spanish_shriek: +cmchar "Spanish open exclamation point"; +beginchar(spanish_shriek,5u#+width_adj#,asc_height#-desc_depth#,desc_depth#); +italcorr h#*slant-2u#-.5width_adj#+.5dot_size#; +adjust_fit(0,0); +pickup tiny.nib; pos3(dot_size,0); pos4(dot_size,90); +lft x3l=hround(.5w-.5dot_size); top y4r=h; z3=z4; dot(3,4); % dot +numeric top_width; +top_width=if hefty:max(hround .8dot_size,fine.breadth) else: hair fi; +pickup fine.nib; pos1(dot_size,0); pos2(top_width,0); +x1=x2=x3; top y2=.25[bot y4l,h-x_height]-1; +if square_dots: bot y1=-d; + filldraw stroke z1e--z2e; % stem +else: bot z0=(x1,-d-o); y1-.5dot_size=-d-o; + filldraw z1l...z0...z1r---z2r--z2l---cycle; fi % stem and bulb +penlabels(0,1,2,3,4); endchar; + + +iff known question_mark: +cmchar "Question mark"; +beginchar(question_mark,8.5u#,asc_height#,0); +italcorr .8asc_height#*slant; +adjust_fit(0,0); +pickup tiny.nib; pos7(dot_size,0); pos8(dot_size,90); +lft x7l=hround(.5w-.25u-.5dot_size); bot y8l=0; z7=z8; dot(7,8); % dot +numeric bot_width; +bot_width=if hefty:max(hround .8dot_size,fine.breadth) else: hair fi; +pickup fine.nib; pos2(vair,90); pos3(curve,0); +pos4(vair,-90); pos5(bot_width,0); pos6(bot_width,0); +x2=x4=x5=x6=x7; rt x3r=hround(w-u); bot y6=1+.25[top y8r,x_height]; +top y2r=h+oo; y3=.75[y6,y2]; y4=.5[y6,y2]; y5=.1[y6,y2]; +{{interim superness:=more_super; +filldraw stroke pulled_super_arc.e(2,3)(superpull) + & subpath (0,1) of super_arc.e(3,4) .. z5e---z6e\\}}; % arc and stem +if serifs: pos1(hair,180); pos0(flare,180); + lft x1r=hround u; y1=y3; bulb(2,1,0); % bulb +else: pos1(Vround 5/7[vair,flare],110); + lft x1r=hround u; top y1r=vround .9[y6,top y2r]; + filldraw stroke term.e(2,1,left,1,4); fi % terminal +penlabels(0,1,2,3,4,5,6,7,8); endchar; + + +iff known spanish_query: +cmchar "Spanish open question mark"; +beginchar(spanish_query,8.5u#,asc_height#-desc_depth#,desc_depth#); +adjust_fit(0,0); +pickup tiny.nib; pos7(dot_size,0); pos8(dot_size,90); +lft x7l=hround(.5w-.25u-.5dot_size); top y8r=h; z7=z8; dot(7,8); % dot +numeric top_width; +top_width=if hefty:max(hround .8dot_size,fine.breadth) else: hair fi; +pickup fine.nib; pos2(vair,270); pos3(curve,180); +pos4(vair,90); pos5(top_width,180); pos6(top_width,180); +x2=x4=x5=x6=x7; lft x3r=hround u; top y6=.25[bot y8l,h-x_height]-1; +bot y2r=-d-oo; y3=.75[y6,y2]; y4=.5[y6,y2]; y5=.1[y6,y2]; +{{interim superness:=more_super; +filldraw stroke pulled_super_arc.e(2,3)(superpull) + & subpath (0,1) of super_arc.e(3,4) .. z5e---z6e\\}}; % arc and stem +if serifs: pos1(hair,0); pos0(flare,0); + rt x1r=hround(w-u); y1=y3; bulb(2,1,0); % bulb +else: pos1(Vround 5/7[vair,flare],-70); + rt x1r=hround(w-u); bot y1r=vround .9[y6,bot y2r]; + filldraw stroke term.e(2,1,right,1,4); fi % terminal +penlabels(0,1,2,3,4,5,6,7,8); endchar; + + +iff known dollar: +cmchar "Dollar sign"; +beginchar(dollar,9u#,body_height#,body_height#-asc_height#); +italcorr fig_height#*slant-.5u#; % same as for digits +adjust_fit(0,0); +numeric theta; theta=90-angle(50u,asc_height); slope:=-asc_height/50u; +pickup fine.nib; pos2(slab,-90); +pos0(cap_stem,theta); pos7(slab,-90); +x2=x0=x7=.5w; top y2l=asc_height+oo; bot y7r=-oo; +y0=.52asc_height; lft x3l=hround u; rt x6r=hround(w-u); +x3r-x3l=x6r-x6l=hround .35[slab,cap_stem]-fine; +ellipse_set(2l,3l,4l,0l); ellipse_set(2r,3r,4r,0r); y3=y3r; +ellipse_set(7l,6l,5l,0l); ellipse_set(7r,6r,5r,0r); y6=y6r; +filldraw stroke super_arc.e(2,3) & z3e{down} + ..z4e---z5e..z6e{down} & super_arc.e(6,7); % main stroke +if serifs: pos1(hair,0); pos8(hair,180); + pos10(flare,0); pos9(flare,180); + rt x1r=hround(w-u); lft x8r=hround u; y1=.5[y0,y2]; y8=.5[y0,y7]; + {{less_tense; pos2'(slab,90); z2'=z2; bulb(2',1,10); % upper arc and bulb + bulb(7,8,9)}}; % lower arc and bulb +else: pos1(.6[slab,flare],-100); pos8(flare,-100); + rt x1l=hround(w-1.3u); lft x8r=hround .8u; + top y1l=vround .92asc_height+oo; bot y8r=vround .1asc_height-oo; + filldraw stroke term.e(2,1,right,.9,4); % upper arc and terminal + filldraw stroke term.e(7,8,left,1,4); fi % lower arc and terminal +pickup crisp.nib; pos12(bar,0); pos11(bar,0); +lft x12l=lft x11l=hround(.5w-.5bar); top y12=h; bot y11=-d; +filldraw stroke z12e--z11e; % vertical crossbar +penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12); endchar; + + +iff known slash: +cmchar "Slash"; +beginchar(slash,9u#,body_height#,paren_depth#); +italcorr body_height#*slant-.5u#; +adjust_fit(0,0); pickup rule.nib; +rt x1=hround(w-u)+eps; top y1=h+eps; +lft x2=hround u-eps; bot y2=-d-eps; +draw z1--z2; % diagonal +penlabels(1,2); endchar; + + +iff known period: +cmchar "Period"; +beginchar(period,5u#,dot_size#,0); +adjust_fit(0,0); pickup fine.nib; +pos1(dot_size,0); pos2(dot_size,90); +lft x1l=hround(.5w-.5dot_size); bot y2l=0; z1=z2; dot(1,2); % dot +penlabels(1,2); endchar; + + +iff known zero_hyph: +cmchar "Invisible hyphen"; +beginchar(zero_hyph,0,0,0); +endchar; + + +iff known eth_white_space: +cmchar "Ethiopic white space"; +beginchar(eth_white_space,4u#,0,0); +endchar; + + +iff known lt_parenthesis: +cmchar "Left parenthesis"; +beginchar(lt_parenthesis,7u# if monospace: -u# fi,body_height#,paren_depth#); +italcorr body_height#*slant-.5u#; +adjust_fit(0,0); pickup fine.nib; +pos1(vair,0); pos2(.75[hair,stem],0); pos3(vair,0); +rt x1r=rt x3r=hround(w-u); lft x2l=hround(x1-4u if monospace: +4/3u fi); +top y1=h; y2=.5[y1,y3]=math_axis; +filldraw stroke z1e{3(x2e-x1e),y2-y1}...z2e + ...{3(x3e-x2e),y3-y2}z3e; % arc +penlabels(1,2,3); endchar; + + +iff known rt_parenthesis: +cmchar "Right parenthesis"; +beginchar(rt_parenthesis, 7u# if monospace: -u# fi,body_height#,paren_depth#); +italcorr math_axis#*slant-.5u#; +adjust_fit(0,0); pickup fine.nib; +pos1(vair,0); pos2(.75[hair,stem],0); pos3(vair,0); +lft x1l=lft x3l=hround u; rt x2r=hround(x1+4u if monospace: -4/3u fi); +top y1=h; y2=.5[y1,y3]=math_axis; +filldraw stroke z1e{3(x2e-x1e),y2-y1}...z2e + ...{3(x3e-x2e),y3-y2}z3e; % arc +penlabels(1,2,3); endchar; + + +iff known lt_bracket: +cmchar "Left bracket"; +numeric wd#; wd#=max(5u#,4.5u#+.5if hefty:stem# else:rule_thickness# fi); +beginchar(lt_bracket,wd#,body_height#,paren_depth#); +italcorr body_height#*slant; +adjust_fit(0,0); +numeric top_thickness,side_thickness; +if hefty: top_thickness=vair; + side_thickness=max(crisp.breadth,stem-2stem_corr); +else: top_thickness=side_thickness=rule_thickness; fi; +pickup crisp.nib; pos1(side_thickness,0); pos2(side_thickness,0); +top y1=h; bot y2=-d; lft x1l=lft x2l=hround(2.5u-.5side_thickness)-1-eps; +filldraw stroke z1e--z2e; % stem +pos3(top_thickness,90); pos4(top_thickness,90); +pos5(top_thickness,90); pos6(top_thickness,90); +x3=x5=x1l; rt x4=rt x6=ceiling(w-.4u)+eps; y3r=y4r=y1; y5l=y6l=y2; +filldraw stroke z3e--z4e; % upper bar +filldraw stroke z5e--z6e; % lower bar +penlabels(1,2,3,4,5,6); endchar; + + +iff known rt_bracket: +cmchar "Right bracket"; +numeric wd#; wd#=max(5u#,4.5u#+.5if hefty:stem# else:rule_thickness# fi); +beginchar(rt_bracket,wd#,body_height#,paren_depth#); +italcorr body_height#*slant-2u#+.5if hefty:stem# else:rule_thickness# fi; +adjust_fit(0,0); +numeric top_thickness,side_thickness; +if hefty: top_thickness=vair; + side_thickness=max(crisp.breadth,stem-2stem_corr); +else: top_thickness=side_thickness=rule_thickness; fi; +pickup crisp.nib; pos1(side_thickness,0); pos2(side_thickness,0); +top y1=h; bot y2=-d; rt x1r=rt x2r=hround(w-2.5u+.5side_thickness)+1+eps; +filldraw stroke z1e--z2e; % stem +pos3(top_thickness,90); pos4(top_thickness,90); +pos5(top_thickness,90); pos6(top_thickness,90); +x3=x5=x1r; lft x4=lft x6=floor .4u-eps; y3r=y4r=y1; y5l=y6l=y2; +filldraw stroke z3e--z4e; % upper bar +filldraw stroke z5e--z6e; % lower bar +penlabels(1,2,3,4,5,6); endchar; + + +iff known lt_quote: +cmchar "Opening quote"; +beginchar(lt_quote,5u#,asc_height#,0); +italcorr asc_height#*slant+.5dot_size#-2u#; +adjust_fit(0,0); +x1-.5dot_size=hround(.5w-.5dot_size); y1+.5dot_size=h-comma_depth; +if monospace: ammoc(1,a,dot_size,.28u,vround 1.5comma_depth); % large ammoc +else: ammoc(1,a,dot_size,.25u,comma_depth); fi % normal ammoc +penlabels(1); endchar; + + +iff known rt_quote: +cmchar "Closing quote"; +beginchar(rt_quote,5u#,asc_height#,0); +italcorr asc_height#*slant+.5dot_size#-2u#; +adjust_fit(0,0); +x1-.5dot_size=hround(.5w-.5dot_size); y1+.5dot_size=h; +if monospace: comma(1,a,dot_size,.28u,vround 1.5comma_depth); % large comma +else: comma(1,a,dot_size,.25u,comma_depth); fi % comma with increased jut +penlabels(1); endchar; + + +iff known lt_quotes: +cmchar "Opening quotes"; +beginchar(lt_quotes,7u#+max(2u#,dot_size#),asc_height#,0); +italcorr asc_height#*slant-.1u#; +adjust_fit(0,0); +x2+.5dot_size=hround(w-.6u); y1+.5dot_size=h-comma_depth; +x2-x1=hround(1.5u+max(2u,dot_size)); y2=y1; +ammoc(1,a,dot_size,.25u,comma_depth); % left dot and tail +ammoc(2,b,dot_size,.25u,comma_depth); % right dot and tail +penlabels(1,2); endchar; + + +iff known rt_quotes: +cmchar "Closing quotes"; +beginchar(rt_quotes,7u#+max(2u#,dot_size#),asc_height#,0); +italcorr asc_height#*slant+dot_size#-4.1u#; +adjust_fit(0,0); +x1-.5dot_size=hround .6u; y2+.5dot_size=h; +x2-x1=hround(1.5u+max(2u,dot_size)); y2=y1; +comma(1,a,dot_size,.25u,comma_depth); % left dot and tail +comma(2,b,dot_size,.25u,comma_depth); % right dot and tail +penlabels(1,2); endchar; + + +iff known less: +cmchar "French quotation left"; +beginchar(less,7u#,x_height#,0); +adjust_fit(0,0); +pickup fine.nib; +penpos1(stem,10); penpos2(stem,0); penpos3(stem,-10); penpos4(stem,0); +lft x2=hround(1u)-eps; x1=x3=w-x2; x4=x2+1u; +bot y1=0; top y3=h; y2=.5[y1,y3]; y4=y2; +filldraw stroke z1e..controls z4e..z2e..controls z4e..z3e; % diagonals +labels(1,2,3); endchar; + + +iff known greater: +cmchar "French quotation right"; +beginchar(greater,7u#,x_height#,0); +adjust_fit(0,0); +pickup fine.nib; +penpos1(stem,-10); penpos2(stem,0); penpos3(stem,10); penpos4(stem,0); +rt x2=hround(w-1u)+eps; x1=x3=w-x2; x4=x2-1u; +bot y1=0; top y3=h; y2=.5[y1,y3]; y4=y2; +filldraw stroke z1e..controls z4e..z2e..controls z4e..z3e; % diagonals +labels(1,2,3); endchar; + + +iff known eth_full_stop: +cmchar "Full stop"; +beginchar(eth_full_stop,8u#,fig_height#,0); +adjust_fit(2u#,0); +pickup fine.nib; +x0=x1=w-1u; x2=x3=w-3u; y0=.275h; y3=.25h; y1=.425h; y2=.4h; +filldraw z0--z1--z2--z3--cycle; +x4=x5=w-1u; x6=x7=w-3u; y4=.625h; y7=.6h; y5=.775h; y6=.75h; +filldraw z4--z5--z6--z7--cycle; +penlabels(0,1,2,3,4,5,6,7); +x0'=x1'=3u; x2'=x3'=1u; y0'=.275h; y3'=.25h; y1'=.425h; y2'=.4h; +filldraw z0'--z1'--z2'--z3'--cycle; +x4'=x5'=3u; x6'=x7'=1u; y4'=.625h; y7'=.6h; y5'=.775h; y6'=.75h; +filldraw z4'--z5'--z6'--z7'--cycle; +penlabels(0',1',2',3',4',5',6',7'); endchar; + + +iff known eth_semicolon: +cmchar"Semicolon (der-ebe-serez)"; +beginchar(eth_semicolon,5u#,fig_height#,0); +adjust_fit(1u#,1u#); +pickup fine.nib; +x0=x1=w-1.5u; x2=x3=w-3.5u; y0=.325h; y3=.3h; y1=.475h; y2=.45h; +filldraw z0--z1--z2--z3--cycle; +x4=x5=w-1.5u; x6=x7=w-3.5u; y4=.625h; y7=.6h; y5=.775h; y6=.75h; +filldraw z4--z5--z6--z7--cycle; +pickup rule.nib; +top lft z8=(0,.95h); top rt z9=(w,h); draw z8--z9; +bot lft z8'=(0,.075h); bot rt z9'=(w,.125h); draw z8'--z9'; +penlabels(0,1,2,3,4,5,6,7); endchar; + + +iff known eth_minus: +cmchar"Bar"; +beginchar(eth_minus,5u#,fig_height#,0); +adjust_fit(1u#,1u#); +pickup rule.nib; +lft z1=(0,.5h); rt z2=(w,.55h); draw z1--z2; +penlabels(0,1,2,3,4,5,6,7); endchar; + + +iff known eth_space: +cmchar "Old style space (nettib)"; +beginchar(eth_space,4u#,fig_height#,0); +adjust_fit(0,0); +pickup fine.nib; +x0=x1=w-1u; x2=x3=w-3u; y0=.275h; y3=.25h; y1=.425h; y2=.4h; +filldraw z0--z1--z2--z3--cycle; +x4=x5=w-1u; x6=x7=w-3u; y4=.625h; y7=.6h; y5=.775h; y6=.75h; +filldraw z4--z5--z6--z7--cycle; +penlabels(0,1,2,3,4,5,6,7); endchar; + + +iff known eth_preface_colon: +cmchar "Preface Colon"; +beginchar(eth_preface_colon,9u#,fig_height#,0); +adjust_fit(0,0); +pickup fine.nib; +x0=x1=3u; x2=x3=1u; y0=.275h; y3=.25h; y1=.425h; y2=.4h; +filldraw z0--z1--z2--z3--cycle; +x4=x5=3u; x6=x7=1u; y4=.625h; y7=.6h; y5=.775h; y6=.75h; +filldraw z4--z5--z6--z7--cycle; +pickup rule.nib; +lft z11=(w-6u,.5h); rt z12=(w-1u,.55h); draw z11--z12; +penlabels(0,1,2,3,4,5,6,7,11,12); endchar; + + +iff known eth_three_dot: +cmchar "Three dot question mark"; +beginchar(eth_three_dot,4u#,fig_height#,0); +adjust_fit(0,0); +pickup fine.nib; +x0=x1=w-1u; x2=x3=w-3u; y0=.1h; y3=.075h; y1=.25h; y2=.225h; +filldraw z0--z1--z2--z3--cycle; +x4=x5=w-1u; x6=x7=w-3u; y4=.45h; y7=.425h; y5=.6h; y6=.575h; +filldraw z4--z5--z6--z7--cycle; +x8=x9=w-1u; x10=x11=w-3u; y8=.8h; y11=.775h; y9=.95h; y10=.925h; +filldraw z8--z9--z10--z11--cycle; +penlabels(0,1,2,3,4,5,6,7,8,9,10,11); endchar; + + +iff known eth_seven_dot: +cmchar "Seven dot paragraph terminator"; +beginchar(eth_seven_dot,12u#,fig_height#,0); +adjust_fit(0,0); +pickup fine.nib; +x20=x21=3u; x22=x23=1u; y20=.275h; y23=.25h; y21=.425h; y22=.4h; +filldraw z20--z21--z22--z23--cycle; +x24=x25=3u; x26=x27=1u; y24=.625h; y27=.6h; y25=.775h; y26=.75h; +filldraw z24--z25--z26--z27--cycle; + +x0=x1=7u; x2=x3=5u; y0=.1h; y3=.075h; y1=.25h; y2=.225h; +filldraw z0--z1--z2--z3--cycle; +x4=x5=7u; x6=x7=5u; y4=.45h; y7=.425h; y5=.6h; y6=.575h; +filldraw z4--z5--z6--z7--cycle; +x8=x9=7u; x10=x11=5u; y8=.8h; y11=.775h; y9=.95h; y10=.925h; +filldraw z8--z9--z10--z11--cycle; + +x30=x31=11u; x32=x33=9u; y30=.275h; y33=.25h; y31=.425h; y32=.4h; +filldraw z30--z31--z32--z33--cycle; +x34=x35=11u; x36=x37=9u; y34=.625h; y37=.6h; y35=.775h; y36=.75h; +filldraw z34--z35--z36--z37--cycle; +penlabels(0,1,2,3,4,5,6,7,8,9,10,11,20,21,22,23,24,25,26,27, + 30,31,32,33,34,35,36,37); +endchar; + + +iff known eth_colon: +cmchar "Colon (ie-kete-lale)"; +beginchar(eth_colon,7u#,fig_height#,0); +adjust_fit(1u#,1u#); +pickup fine.nib; +x0=x1=w-2.5u; x2=x3=w-4.5u; y0=.2h; y3=.175h; y1=.35h; y2=.325h; +filldraw z0--z1--z2--z3--cycle; +x4=x5=w-2.5u; x6=x7=w-4.5u; y4=.7h; y7=.675h; y5=.85h; y6=.825h; +filldraw z4--z5--z6--z7--cycle; +pickup rule.nib; +lft z8=(0,.48h); rt z9=(w,.54h); draw z8--z9; +penlabels(0,1,2,3,4,5,6,7); endchar; + + +iff known eth_comma: +cmchar"Comma (netela-serez)"; +beginchar(eth_comma,5u#,fig_height#,0); +adjust_fit(1u#,1u#); +pickup fine.nib; +x0=x1=w-1.5u; x2=x3=w-3.5u; y0=.175h; y3=.15h; y1=.325h; y2=.3h; +filldraw z0--z1--z2--z3--cycle; +x4=x5=w-1.5u; x6=x7=w-3.5u; y4=.525h; y7=.5h; y5=.675h; y6=.65h; +filldraw z4--z5--z6--z7--cycle; +pickup rule.nib; +top lft z8=(0,.85h); top rt z9=(w,.9h); draw z8--z9; +penlabels(0,1,2,3,4,5,6,7); endchar; |