diff options
Diffstat (limited to 'fonts/ec/src/exileast.mf')
-rw-r--r-- | fonts/ec/src/exileast.mf | 739 |
1 files changed, 739 insertions, 0 deletions
diff --git a/fonts/ec/src/exileast.mf b/fonts/ec/src/exileast.mf new file mode 100644 index 0000000000..a5d5e23c88 --- /dev/null +++ b/fonts/ec/src/exileast.mf @@ -0,0 +1,739 @@ +% exileast.mf +% +% (c) Copyright 1995, 1996, 1997 J"org Knappen +% (c) Copyright 1990, 1992 Norbert Schwarz +% +% This file is part of ecfonts version 1.0 +% +% Please read the files 00readme.txt, 00inst.txt, 00error.txt, and +% copyrite.txt for further information +% +% You find some documentation in ecdoc.tex (needs LaTeX2e) +% +% Content: +% +% accented lowercase italic letters ("eastern part") +% +% oct"236", oct"240" .. oct"274" +% +% oct"236" d with bar +% +% oct"240" a with breve +% oct"241" a with ogonek +% oct"242" c with acute +% oct"243" c with hacek +% oct"244" d with comma +% oct"245" e with hacek +% oct"246" e with ogonek +% oct"247" g with breve +% +% oct"250" l with acute +% oct"251" l with komma +% oct"252" l with (polnisches L) +% oct"253" n with acute +% oct"254" n with hacek +% oct"255" the letter eng +% oct"256" o with ungarian umlauts +% oct"257" r with acute +% +% oct"260" r with hacek +% oct"261" s with acute +% oct"262" s with hacek +% oct"263" s with cedille +% oct"264" t with comma +% oct"265" t with cedille +% oct"266" u with hungarian umlauts +% oct"267" u with circ +% +% oct"270" y with umlauts +% oct"271" z with acute +% oct"272" z with hacek +% oct"273" z with dot +% oct"274" ij + +version_check(1,0); % |version_check| was introduced in dc1.3 + +ecchar "Italic letter bar d"; +beginchar(oct"236",9u#,asc_height#,0); +italcorr max(1/3x_height#*slant+.5hair#+.5u#, + h#*slant+.5stem#-2u#) if math_fitting:-.5u# fi; +adjust_fit(0,0); pickup fine.nib; +pos0(hair,0); pos1(vair,90); pos2(curve,180); pos3(vair,270); +x0=x4; x1=x3=.5[x0,x2]; lft x2r=hround(1.5u-.5curve); +x4+.5stem=hround(w-2.5u+.5stem); +top y1r=x_height+oo; bot y3r=-oo; y0=y2=.5[y1,y3]; +filldraw stroke super_arc.e(0,1) & pulled_arc.e(1,2) + & pulled_arc.e(2,3) & super_arc.e(3,0); % bowl +x5=x0; x7=w; hook_out(5,6,7); % closing hook +pickup tiny.nib; pos5'(stem,0); pos4(stem,0); +z5'=z5; top y4=h; filldraw stroke z4e--z5'e; % stem +sloped_serif.l(4,5',a,1/3,jut,serif_drop); % serif +math_fit(-.3x_height#*slant+.5curve#-u#,ic#); +% the bar + pos8(bar,90); pos9(bar,90); + x8=x1; % .5[x1,x4]; + x9=x6; + y8=y9=.5[y.a2-.5slab,y1+.5vair]; + filldraw stroke z8e--z9e; +penlabels(0,1,2,3,4,5,6,7,8,9); endchar; + + + +ecchar "Italic letter breve a"; +beginchar(oct"240",9u#,x_height#+acc_height#,0); +italcorr 1/3x_height#*slant+.5hair#+.5u#; +adjust_fit(0,0); pickup fine.nib; +pos0(hair,0); pos1(vair,90); pos2(curve,180); pos3(vair,270); +pos4(stem,0); x4=x0; y4+.5stem=vround .98x_height; +x1=x3=.5[x0,x2]; lft x2r=hround(1.5u-.5curve); +rt x4r=hround(w-2.5u+.5stem); +top y1r=x_height+oo; bot y3r=-oo; y0=y2=.5[y1,y3]; +filldraw stroke super_arc.e(0,1) & pulled_arc.e(1,2) + & pulled_arc.e(2,3) & super_arc.e(3,0); % bowl +x5=x4; x7=w; hook_out(5,6,7); % closing hook +filldraw circ_stroke z4e--z5e; % stem +math_fit(-.3x_height#*slant+.5curve#-u#,ic#); +% the accent +lowercase_breve(.5w,0,8,9,10); +penlabels(0,1,2,3,4,5,6,7,8,9,10); endchar; + +ecchar "Italic letter a with ogonek"; % from pl_mlk (plfonts) +beginchar(oct"241",9u#,x_height#,the_ogonek_depth#); + italcorr 1/3x_height#*slant+.5hair#+.5u#; + adjust_fit(0,0); pickup fine.nib; + pos0(hair,0); pos1(vair,90); pos2(curve,180); pos3(vair,270); + pos4(stem,0); x4=x0; y4+.5stem=vround .98x_height; + x1=x3=.5[x0,x2]; lft x2r=hround(1.5u-.5curve); + rt x4r=hround(w-2.5u+.5stem); + top y1r=x_height+oo; bot y3r=-oo; y0=y2=.5[y1,y3]; + filldraw stroke super_arc.e(0,1) & pulled_arc.e(1,2) + & pulled_arc.e(2,3) & super_arc.e(3,0); % bowl + x5=x4; x7=w; hook_out(5,6,7); % closing hook + filldraw circ_stroke z4e--z5e; % stem + penlabels(0,1,2,3,4,5,6,7); + path p.l; + p.l=if skewed: z5l{-u,-x_height}...z6l{right}...{up}z7l + else: z5l{down}...z6l{right}...{x7-(x5+2.5u),x_height}z7l fi; + ogonek_breadth=xvair; ogonek_pos=point .9 of p.l; + put_ogonek(if known ogonek_pen: ogonek_pen else: fine fi); +endchar; + +ecchar "Italic letter c with acute"; % from pl_mlk (plfonts) +beginchar_twice(oct"242",8u#,x_height#,0); + italcorr x_height#*slant-u#; + adjust_fit(0,0); pickup fine.nib; + pos0(flare,0); pos1(hair,0); pos2(vair,90); + pos3(curve,180); pos4(vair,270); pos5(hair,320); + x2=x4=.5(w+u); rt x1r=max(rt x2,hround(w-u))+eps; + lft x3r=hround(1.5u-.5curve); x5r=good.x(w-eps); x6=x5; + y1=.5[bar_height,h]; top y2r=h+oo; bulb(2,1,0); % bulb + bot y4r=-oo; y3=.5[y2,y4]; top y5l=vround .5bar_height; y6=bar_height; + path p; p=z4{right}..z5..z6; + filldraw stroke pulled_arc.e(2,3) + & pulled_arc.e(3,4)...{direction 1 of p}z5e; % arc + penlabels(0,1,2,3,4,5,6); + hpos_corr=-.25u; put_accent; +repeat_once; +endchar; + +ecchar "Italic letter c with hachek"; % from csihachl.mf (csfonts) +beginchar(oct"243",8u#,lc_hachek_height#,0); +italcorr if math_fitting:1/3x_height#*slant else:x_height#*slant-u# fi; +adjust_fit(0,0); pickup fine.nib; +pos0(flare,0); pos1(hair,0); pos2(vair,90); +pos3(curve,180); pos4(vair,270); pos5(hair,320); +x2=x4=.5(w+u); rt x1r=max(rt x2,hround(w-u))+eps; +lft x3r=hround(1.5u-.5curve); x5r=good.x(w-eps); x6=x5; +y1=.5[bar_height,x_height]; top y2r=x_height+oo; bulb(2,1,0); % bulb +bot y4r=-oo; y3=.5[y2,y4]; top y5l=vround .5bar_height; y6=bar_height; +path p; p=z4{right}..z5..z6; +filldraw stroke pulled_arc.e(2,3) + & pulled_arc.e(3,4)...{direction 1 of p}z5e; % arc +math_fit(-.3x_height#*slant+.5curve#-u#,ic#); +penlabels(0,1,2,3,4,5,6); +lc_hachek_accent(.6[x3,x1]); +endchar; + + +ecchar "Italic letter d with hachek"; % from csiothr.mf (csfonts) +beginchar(oct"244",9u#,lc_acute_height#,0); +italcorr max(1/3x_height#*slant+.5hair#+.5u#, + h#*slant+.5stem#-2u#) if math_fitting:-.5u# fi; +adjust_fit(0,0); pickup fine.nib; +pos0(hair,0); pos1(vair,90); pos2(curve,180); pos3(vair,270); +x0=x4; x1=x3=.5[x0,x2]; lft x2r=hround(1.5u-.5curve); +x4+.5stem=hround(w-2.5u+.5stem); +top y1r=x_height+oo; bot y3r=-oo; y0=y2=.5[y1,y3]; +filldraw stroke super_arc.e(0,1) & pulled_arc.e(1,2) + & pulled_arc.e(2,3) & super_arc.e(3,0); % bowl +x5=x0; x7=w; hook_out(5,6,7); % closing hook +pickup tiny.nib; pos5'(stem,0); pos4(stem,0); +z5'=z5; top y4=asc_height; filldraw stroke z4e--z5'e; % stem +sloped_serif.l(4,5',a,1/3,jut,serif_drop); % serif +math_fit(-.3x_height#*slant+.5curve#-u#,ic#); +penlabels(0,1,2,3,4,5,6,7); +dtl_hachek(x4r+u+.5dot_size)(y4); +endchar; + +ecchar "Italic letter e with hachek"; % from csihachl.mf (csfonts) +beginchar(oct"245",8u#,lc_hachek_height#,0); +italcorr max(1/3x_height#*slant,x_height#*slant+.5(.2[hair#,stem#])-u#); +adjust_fit(0,0); pickup fine.nib; +pos0(vair,-90); pos1(heavy_hair,0); pos2(vair,90); +pos3(curve,180); pos4(vair,270); pos5(hair,320); +x0=rt x3l; rt x1r=hround(w-1.5u+.5heavy_hair); x2=x4=.5(w+u); +lft x3r=hround(1.5u-.5curve); x5r=good.x(w-eps); x6=x5; +y0=y3=y6=bar_height; y1=.5[y0,y2]; top y2r=x_height+oo; bot y4r=-oo; +top y5l=vround .5bar_height; path p; p=z4{right}..z5..z6; +filldraw stroke z0e{right}...z1e{up}...pulled_arc.e(2,3) + & pulled_arc.e(3,4)...{direction 1 of p}z5e; % arc +math_fit(-.3x_height#*slant+.5curve#-u#,ic#); +penlabels(0,1,2,3,4,5,6); +lc_hachek_accent(0.6[x3,x1r]); +endchar; + + +ecchar "Italic letter e with ogonek"; % from pl_mlk (plfonts) +beginchar(oct"246",8u#,x_height#,the_ogonek_depth#); + italcorr max(1/3x_height#*slant,x_height#*slant+.5(.2[hair#,stem#])-u#); + adjust_fit(0,0); pickup fine.nib; + pos0(vair,-90); pos1(heavy_hair,0); pos2(vair,90); + pos3(curve,180); pos4(vair,270); pos5(hair,320); + x0=rt x3l; rt x1r=hround(w-1.5u+.5heavy_hair); x2=x4=.5(w+u); + lft x3r=hround(1.5u-.5curve); x5r=good.x(w-eps); x6=x5; + y0=y3=y6=bar_height; y1=.5[y0,y2]; top y2r=h+oo; bot y4r=-oo; + top y5l=vround .5bar_height; path p; p=z4{right}..z5..z6; + filldraw stroke z0e{right}...z1e{up}...pulled_arc.e(2,3) + & pulled_arc.e(3,4)...{direction 1 of p}z5e; % arc + penlabels(0,1,2,3,4,5,6); + path p.r; p.r=pulled_arc.r(3,4)...{direction 1 of p}z5r; + def the_pen= + if known ogonek_pen: ogonek_pen else: fine fi + enddef; + numeric tt; % the time... + tt=if hefty: 2.8 else: 2.6 fi; + join_angle=angle((direction tt of p.r) rotated 180); + ogonek_breadth=xvair; + ogonek_pos=point tt of p.r+.5(the_pen-fine)* + unitvector((direction tt of p.r) rotated 90); + put_ogonek(the_pen); +endchar; + +ecchar "Italic letter g with breve"; +beginchar(oct"247",8u#,x_height#+acc_height#,desc_depth#); +italcorr x_height#*slant+.5stem#-u#; +adjust_fit(0,0); pickup fine.nib; +pos0(hair,0); pos1(vair,90); pos2(curve,180); pos3(vair,270); +x0=x4; x1=x3=.5[x0,x2]; lft x2r=hround(1.5u-.5curve); +x4+.5stem=hround(w-1.5u+.5stem); +top y1r=x_height+oo; bot y3r=0; y0=y2=.5[y1,y3]; +filldraw stroke super_arc.e(0,1) & pulled_arc.e(1,2) + & pulled_arc.e(2,3) & super_arc.e(3,0); % bowl +pos4(stem,0); y4+.5stem=vround .98x_height; +pos5(stem,0); x5=x4; y5=-1/3d; +pos6(vair,-90); pos7(hair,-180); pos8(flare,-180); +bot y6r=-d-oo; y8-.5flare=vround -.9d; +lft x8r=hround(2u-.5flare); x6=x1; bulb(6,7,8); % bulb +filldraw circ_stroke z4e---z5e...{left}z6e; % stem and arc +%the accent +lowercase_breve(.5w,0,9,10,11); +math_fit(-min(.3x_height#*slant+.5curve#-u#,1.5u#-desc_depth#*slant), + ic#-1/3x_height#*slant); +penlabels(0,1,2,3,4,5,6,7,8,9,10,11); endchar; + + +ecchar "Italic letter l with acute"; % jk +beginchar_twice(oct"250",4u#,asc_height#,0); +l_width#:=4u#; +italcorr max(1/3x_height#*slant+.5hair#+.5u#, + asc_height#*slant+.5stem#-2u#) if math_fitting:+.5u# fi; +adjust_fit(if monospace:u#,u# else: 0,0 fi); pickup fine.nib; +x2-.5stem=hround(1.5u-.5stem); x4=w; hook_out(2,3,4); % closing hook +pickup tiny.nib; pos1(stem,0); pos2'(stem,0); z2'=z2; +top y1=asc_height; x1=x2; filldraw stroke z1e--z2'e; % stem +sloped_serif.l(1,2,a,1/3,jut,serif_drop); % serif +math_fit(-.5u#,1/3x_height#*slant+.5hair#+u#); penlabels(1,2,3,4); +put_accent; +repeat_once; +endchar; + +ecchar "Italic letter l with hachek"; % from csiothrl.mf (csfonts) +beginchar(oct"251",4u#,lc_acute_height#,0); +l_width#:=4u#; +italcorr max(1/3x_height#*slant+.5hair#+.5u#, + asc_height#*slant+.5stem#-2u#) if math_fitting:+.5u# fi; +adjust_fit(if monospace:u#,u# else: 0,0 fi); pickup fine.nib; +x2-.5stem=hround(1.5u-.5stem); x4=w; hook_out(2,3,4); % closing hook +pickup tiny.nib; pos1(stem,0); pos2'(stem,0); z2'=z2; +top y1=asc_height; x1=x2; filldraw stroke z1e--z2'e; % stem +sloped_serif.l(1,2,a,1/3,jut,serif_drop); % serif +math_fit(-.5u#,1/3x_height#*slant+.5hair#+u#); penlabels(1,2,3,4); +dtl_hachek(x1r+u+.5dot_size)(y1); +endchar; + +ecchar "Italic letter crossed l"; % from pl_mlk (plfonts) +beginchar_twice(oct"252",4u#,asc_height#,0); + l_width#:=4u#; + italcorr max(1/3x_height#*slant+.5hair#+.5u#,asc_height#*slant+.5stem#-2u#); + charwd_:=charwd; adjust_fit(if monospace:u#,u# else: 0,0 fi); + pickup fine.nib; + x2-.5stem=hround(1.5u-.5stem); + x4=w; hook_out(2,3,4); % closing hook + pickup tiny.nib; pos1(stem,0); pos2'(stem,0); z2'=z2; + top y1=h; x1=x2; filldraw stroke z1e--z2'e; % stem + sloped_serif.l(1,2,a,1/3,jut,serif_drop); % serif + penlabels(1,2,3,4); + if not monospace: + charwd:=charwd_; adjust_fit(.25u#,if is_bold: .75 fi\\ u#); + fi +% some funny fonts have an extremally small |jut|: + numeric l_jut; l_jut=.5stem+max(limit_dist,if hefty: .8 fi\\ jut); + put_cross(l_jut,1.15l_jut); +repeat_once; +endchar; + +ecchar "Italic letter n with acute"; % jk, merged from pl and dc \'n +beginchar_twice(oct"253",10u#,x_height#+acc_height#,0); +italcorr 1/3x_height#*slant+.5hair#+.5u#; +adjust_fit(0,0); pickup fine.nib; +x0=0; x1=x2; pos2(stem,0); lft x2l=hround(2.5u-.5stem); y2-.5stem=-oo; +if classic_serif: + top y1=x_height; pos1(stem,0); + sloped_serif.l(1,2,a,1/3,jut,serif_drop); +else: + hook_in(0,a,1); % opening hook +fi +filldraw circ_stroke z2e--z1e; % left stem +x4+.5stem=hround(w-2.5u+.5stem); x5=x4-.25u; ital_arch(2,3,4); % arch +x7=w; hook_out(5,6,7)(skewed); % closing hook +filldraw stroke z4e{down}..{-u,-x_height}z5e; % right stem +penlabels(0,a,1,2,3,4,5,6,7); + hpos_corr=-.5u; put_accent; +repeat_once; +endchar; + +ecchar "Italic letter n with hachek"; % from csihachl.mf (csfonts) +beginchar(oct"254",10u#,lc_hachek_height#,0); +italcorr 1/3x_height#*slant+.5hair#+.5u#; +adjust_fit(0,0); pickup fine.nib; +x0=0; x1=x2; pos2(stem,0); lft x2l=hround(2.5u-.5stem); y2-.5stem=-oo; +if classic_serif: + top y1=x_height; pos1(stem,0); + sloped_serif.l(1,2,a,1/3,jut,serif_drop); +else: + hook_in(0,a,1); % opening hook +fi +filldraw circ_stroke z2e--z1e; % left stem +x4+.5stem=hround(w-2.5u+.5stem); x5=x4-.25u; ital_arch(2,3,4); % arch +x7=w; hook_out(5,6,7)(skewed); % closing hook +filldraw stroke z4e{down}..{-u,-x_height}z5e; % right stem +math_fit(-2/3x_height#*slant+.5hair#+.5u#,ic#); +penlabels(0,a,1,2,3,4,5,6,7); +lc_hachek_accent(1/2[x1r,x3r]); +endchar; + + +ecchar "Italic letter eng"; +beginchar(oct"255",10u#,x_height#,desc_depth#); +italcorr 1/3x_height#*slant+.5hair#+.5u#; +adjust_fit(0,0); pickup fine.nib; +x0=0; x1=x2; pos2(stem,0); lft x2l=hround(2.5u-.5stem); y2-.5stem=-oo; +if classic_serif: + top y1=h; pos1(stem,0); + sloped_serif.l(1,2,a,1/3,jut,serif_drop); +else: + hook_in(0,a,1); % opening hook +fi +filldraw circ_stroke z2e--z1e; % left stem +x4+.5stem=hround(w-2.5u+.5stem); x5=x4-.25u; ital_arch(2,3,4); % arch +x7=w; empty_hook_out(5,6,7)(skewed); % closing hook +filldraw stroke z4e{down}..{-u,-x_height}z5e; % right stem +% +% j stroke + pickup tiny.nib; pos8(vair,-90); pos9(hair,-180); pos10(flare,-180); + x8=.5[x5,x9r]; bot y8r=-d-oo; y9-.5flare=-.88d; + z9r=z10r; rt x10l=hround(x4r-3u+0.5stem); % floor .75u + (x,y8r)=whatever[z8l,z5l]; x8r:=max(x,.5[x9r,x8]); + filldraw stroke z5e{down}...z8e{left}; bulb(8,9,10); % arc and bulb +math_fit(-2/3x_height#*slant+.5hair#+.5u#,ic#); +penlabels(0,a,1,2,3,4,5,6,7,8,9,10); endchar; + +ecchar "Italic letter o with double acute"; +beginchar(oct"256",9u#,x_height#+acc_height#,0); +italcorr .7x_height#*slant+.5curve#-u# if math_fitting:-.5u# fi; +adjust_fit(0,0); pickup fine.nib; +pos1(vair,90); pos2(curve,180); pos3(vair,270); pos4(curve,360); +x1=x3=.5w; lft x2r=hround(1.5u-.5curve); x4=w-x2; +top y1r=x_height+oo; y2=y4=.5[y1,y3]; bot y3r=-oo; +filldraw stroke pulled_arc.e(1,2) & pulled_arc.e(2,3) + & pulled_arc.e(3,4) & pulled_arc.e(4,1); % bowl +math_fit(-.3x_height#*slant+.5curve#-u#,ic#); +if monospace: hpos_corr=-2u; put_accent; hpos_corr=2u; put_accent; +else: hpos_corr=-1.5u; put_accent; hpos_corr=1.5u; put_accent; fi +penlabels(1,2,3,4,7,8); endchar; + +ecchar "Italic letter r with acute"; +beginchar_twice(oct"257",5.5u#+max(1.75u#,flare#),x_height#+acc_height#,0); +italcorr x_height#*slant; +adjust_fit(if monospace:.25u#,.5u# else: 0,0 fi); +pickup fine.nib; +x0=0; x2=x3; pos3(stem,0); lft x3l=hround(2.5u-.5stem); y3-.5stem=-oo; +if classic_serif: + pos2(stem,0); + y2=1/4x_height; % dito + x8=x2; pos8(stem,0); top y8=x_height; + sloped_serif.l(8,3,c,1/3,jut,serif_drop); + filldraw circ_stroke z8e--z3e; % left stem +else: + hook_in(0,1,2); % opening hook + filldraw circ_stroke z3e--z2e; % left stem +fi +pos3'(hair,180); z3'=z3; pos4(vair,90); pos5(hair,0); pos6(flare,0); +x4=w-.5u-max(1.75u,flare); rt x5r=hround(r-.5u); top y4r=x_height+oo; +filldraw stroke z3'e{up}...z4e{right}; % link +y6+.5flare=vround(bot y4l-.03x_height); bulb(4,5,6); % bulb +hpos_corr=-.5u; put_accent; +repeat_once; +math_fit(-2/3x_height#*slant+.5hair#+.5u#,ic#-.5u#); +penlabels(0,1,2,3,4,5,6,7,8); endchar; + + +ecchar "Italic letter r with hachek"; % from csihachl.mf (csfonts) +beginchar(oct"260",5.5u#+max(1.75u#,flare#),lc_hachek_height#,0); +italcorr x_height#*slant; +adjust_fit(if monospace:.25u#,.5u# else: 0,0 fi); pickup fine.nib; +x0=0; x2=x3; pos3(stem,0); lft x3l=hround(2.5u-.5stem); y3-.5stem=-oo; +if classic_serif: + pos2(stem,0); + y2=1/4x_height; % dito + x2'=x2; pos2'(stem,0); top y2'=x_height; + sloped_serif.l(2',3,c,1/3,jut,serif_drop); + filldraw circ_stroke z2'e--z3e; % left stem +else: + hook_in(0,1,2); % opening hook + filldraw circ_stroke z3e--z2e; % left stem +fi +pos3'(hair,180); z3'=z3; pos4(vair,90); pos5(hair,0); pos6(flare,0); +x4=w-.5u-max(1.75u,flare); rt x5r=hround(r-.5u); top y4r=x_height+oo; +filldraw stroke z3'e{up}...z4e{right}; % link +y6+.5flare=vround(bot y4l-.03x_height); bulb(4,5,6); % bulb +math_fit(-2/3x_height#*slant+.5hair#+.5u#,ic#-.5u#); +penlabels(0,1,2,3,4,5,6); +if classic_serif: lc_hachek_accent(.5[x2,x4]); +else: lc_hachek_accent(.5[x1,x4]); fi +endchar; + +ecchar "Italic letter s with acute"; % from pl_mlk (plfonts) +beginchar_twice(oct"261",5.25u#+max(1.75u#,flare#),x_height#,0); + italcorr x_height#*slant-.5u#; + adjust_fit(0,0); pickup fine.nib; + numeric theta; theta=90-angle(40u,h); slope:=-h/40u; % angle at middle + pos2(vair,-90); pos0(max(fine.breadth,ess),theta); pos7(vair,-90); + x2l=x0=x7=.5w; top y2l=h+oo; bot y7r=-oo; + y0-.5ess=y7l+.55(y2r-y7l-ess); + lft x3l=hround u-eps; rt x6r=hround(w-.5u)+eps; + x3r-x3l=x6r-x6l=hround .5[vair,ess]-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; + interim superness:=more_super; + filldraw stroke super_arc.e(2,3) & z3e{down} + ..z4e---z5e..z6e{down} & super_arc.e(6,7); % main stroke + pos1(hair,0); pos10(hround .75[hair,flare],0); + pos2'(vair,90); z2'=z2; + pos8(hair,-180); pos9(flare,-180); + rt x10r=hround(w-u)+2eps; lft x9r=hround .5u-2eps; y10=.78h; y9=.25h; + bulb(2',1,10); bulb(7,8,9); % bulbs + penlabels(0,1,2,3,4,5,6,7,8,9,10); + hpos_corr=-.5u; put_accent; +repeat_once; +endchar; + +ecchar "Italic letter s with hacek"; % from csihachl.mf (csfonts) +beginchar(oct"262",5.25u#+max(1.75u#,flare#),lc_hachek_height#,0); +italcorr (acc_height#+x_height#)*slant-.5u#; +adjust_fit(0,0); pickup fine.nib; +numeric theta; theta=90-angle(40u,x_height); slope:=-h/40u; % angle at middle +pos2(vair,-90); pos0(max(fine.breadth,ess),theta); pos7(vair,-90); +x2l=x0=x7=.5w; top y2l=x_height+oo; bot y7r=-oo; +y0-.5ess=y7l+.55(y2r-y7l-ess); +lft x3l=hround u-eps; rt x6r=hround(w-.5u)+eps; +x3r-x3l=x6r-x6l=hround .5[vair,ess]-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; +interim superness:=more_super; +filldraw stroke super_arc.e(2,3) & z3e{down} + ..z4e---z5e..z6e{down} & super_arc.e(6,7); % main stroke +pos1(hair,0); pos10(hround .75[hair,flare],0); +pos2'(vair,90); z2'=z2; +pos8(hair,-180); pos9(flare,-180); +rt x10r=hround(w-u)+2eps; lft x9r=hround .5u-2eps; +y10=.78x_height; y9=.25x_height; +bulb(2',1,10); bulb(7,8,9); % bulbs +math_fit(0,ic#); penlabels(0,1,2,3,4,5,6,7,8,9,10); +lc_hachek_accent(x0); +endchar; + +ecchar "Italic letter cedilla s"; +beginchar(oct"263",5.25u#+max(1.75u#,flare#),x_height#,0.875desc_depth#); +italcorr x_height#*slant-.5u#; +adjust_fit(0,0); pickup fine.nib; +numeric theta; theta=90-angle(40u,x_height); slope:=-h/40u; % angle at middle +pos2(vair,-90); pos0(max(fine.breadth,ess),theta); pos7(vair,-90); +x2l=x0=x7=.5w; top y2l=x_height+oo; bot y7r=-oo; +y0-.5ess=y7l+.55(y2r-y7l-ess); +lft x3l=hround u-eps; rt x6r=hround(w-.5u)+eps; +x3r-x3l=x6r-x6l=hround .5[vair,ess]-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; +interim superness:=more_super; +filldraw stroke super_arc.e(2,3) & z3e{down} + ..z4e---z5e..z6e{down} & super_arc.e(6,7); % main stroke +pos1(hair,0); pos10(hround .75[hair,flare],0); +pos2'(vair,90); z2'=z2; +pos8(hair,-180); pos9(flare,-180); +rt x10r=hround(w-u)+2eps; lft x9r=hround .5u-2eps; y10=.78h; y9=.25x_height; +bulb(2',1,10); bulb(7,8,9); % bulbs +% the accent +lowercase_cedilla(x7,0,11,12,13,14,15); +math_fit(0,ic#); penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15); endchar; + + +ecchar "Italic letter t with hachek"; % from csiothrl.mf (csfonts) +%beginchar(oct"264",5.5u#,min(asc_height#,10/7x_height#),0); +beginchar(oct"264",5.5u#,lc_acute_height#,0); +italcorr max(1/3x_height#*slant+.5hair#+.5u#,x_height#*slant-.25u#); +adjust_fit(if monospace:u#,u# else:0,0 fi); pickup fine.nib; +pos1(stem,0); lft x1l=hround(2u-.5stem); +y1+.5stem=min(asc_height,10/7x_height)+oo; +x2=x1; x4=w; hook_out(2,3,4); % closing hook +if classic_serif: + filldraw stroke z1e--z2e; % stem +else: + filldraw circ_stroke z1e--z2e; % stem +fi +pickup crisp.nib; pos5(bar,90); pos6(bar,90); +lft x5=hround-.75u; rt x6=hround(w-.75u); top y5r=top y6r=x_height; +filldraw stroke z5e--z6e; % crossbar +math_fit(1.25u#-x_height#*slant,ic#); penlabels(1,2,3,4,5,6); +dtl_hachek(x6)(y1+.5dot_size); +endchar; + +ecchar "Italic letter cedilla t"; +beginchar(oct"265",5.5u#,min(asc_height#,10/7x_height#),0.875desc_depth#); +italcorr max(1/3x_height#*slant+.5hair#+.5u#,x_height#*slant-.25u#); +adjust_fit(if monospace:u#,u# else:0,0 fi); pickup fine.nib; +pos1(stem,0); lft x1l=hround(2u-.5stem); y1+.5stem=h+oo; +x2=x1; x4=w; hook_out(2,3,4); % closing hook +if classic_serif: + filldraw stroke z1e--z2e; % stem +else: + filldraw circ_stroke z1e--z2e; % stem +fi +pickup crisp.nib; pos5(bar,90); pos6(bar,90); +lft x5=hround-.75u; rt x6=hround(w-.75u); top y5r=top y6r=x_height; +filldraw stroke z5e--z6e; % crossbar +% +% the accent +lowercase_cedilla(x3,0,7,8,9,10,11); +math_fit(1.25u#-x_height#*slant,ic#); +penlabels(1,2,3,4,5,6,7,8,9,10,11); endchar; + +ecchar "Italic letter u with double acute"; +beginchar_twice(oct"266",9.5u#,x_height#+acc_height#,0); +italcorr (acc_height#+x_height#)*slant+.5hair#+.5u#; +adjust_fit(0,0); pickup fine.nib; interim superness:=more_super; +if classic_serif: + x0=0; x2=x3; pos3(stem,-180); lft x3r=hround(2.5u-.5stem); + pos2(stem,0); + top y2=x_height; +else: + x0=0; x2=x3+.25u; pos3(stem,-180); lft x3r=hround(2.5u-.5stem); + hook_in(0,1,2)(skewed); % opening hook +fi +pos2'(stem,-180); z2'=z2; +pos4(vair,-90); pos5(hair,0); x4=.5[x3,x5]; +pos6(stem,0); rt x6r=hround(w-2.5u+.5stem); +x5=x6=x7; x9=w; hook_out(7,8,9); % closing hook +y3=.7[y4,y5]; bot y4r=-oo; y5=.57h; y6+.5stem=x_height; +if classic_serif: + filldraw stroke z2 + ...super_arc.e(3,4)...{up}z5e; % left stem and arc +else: + filldraw stroke z2'e{-u,-x_height} + ...super_arc.e(3,4)...{up}z5e; % left stem and arc +fi +filldraw circ_stroke z6e--z7e; % right stem +if classic_serif: sloped_serif.l(2,3,a,1/3,jut,serif_drop); fi +math_fit(-2/3x_height#*slant+.5hair#+.5u#,ic#); +penlabels(0,1,2,3,4,5,6,7,8,9); +if monospace: hpos_corr=-2u; put_accent; hpos_corr=2u; put_accent; +else: hpos_corr=-1.5u; put_accent; hpos_corr=1.5u; put_accent; fi +repeat_once; +endchar; + + +ecchar "Italic u with ring"; +beginchar(oct"267",9.5u#,x_height#+acc_height#,0); +italcorr 1/3x_height#*slant+.5hair#+.5u#; +adjust_fit(0,0); pickup fine.nib; interim superness:=more_super; +if classic_serif: + x0=0; x2=x3; pos3(stem,-180); lft x3r=hround(2.5u-.5stem); + pos2(stem,0); + top y2=x_height; +else: + x0=0; x2=x3+.25u; pos3(stem,-180); lft x3r=hround(2.5u-.5stem); + hook_in(0,1,2)(skewed); % opening hook +fi +pos2'(stem,-180); z2'=z2; +pos4(vair,-90); pos5(hair,0); x4=.5[x3,x5]; +pos6(stem,0); rt x6r=hround(w-2.5u+.5stem); +x5=x6=x7; x9=w; hook_out(7,8,9); % closing hook +y3=.7[y4,y5]; bot y4r=-oo; y5=.57x_height; y6+.5stem=x_height; +if classic_serif: + filldraw stroke z2 + ...super_arc.e(3,4)...{up}z5e; % left stem and arc +else: + filldraw stroke z2'e{-u,-x_height} + ...super_arc.e(3,4)...{up}z5e; % left stem and arc +fi +filldraw circ_stroke z6e--z7e; % right stem +if classic_serif: sloped_serif.l(2,3,a,1/3,jut,serif_drop); fi +math_fit(-2/3x_height#*slant+.5hair#+.5u#,ic#); +% the accent +lowercase_circle(.5w,(1/3[x_height,h]+apex_o),10,11,12,13); +penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12,13); endchar; + +ecchar "Italic letter umlaut y"; +beginchar(oct"270",8.5u#,x_height#+acc_height#,desc_depth#); +italcorr x_height#*slant+.5stem#-u#; +adjust_fit(0,0); pickup fine.nib; interim superness:=more_super; +x0=0; x2=x3+.25u; pos3(stem,-180); lft x3r=hround(2.5u-.5stem); +if classic_serif: + pos2(stem,0); + top y2=x_height; +else: + hook_in(0,1,2)(skewed); % opening hook +fi +pos2'(stem,-180); z2'=z2; +pos4(vair,-90); pos5(hair,0); x4=.5[x3,x5]; +pos6(stem,0); rt x6r=hround(w-1.5u+.5stem); +pos7(stem,0); pos8(vair,-90); +y3=.7[y4,y5]; bot y4r=-oo; y5=.57x_height; y6+.5stem=x_height; +y7=0; bot y8r=-d-oo; x5=x6=x7; x8=.5w; +pos9(hair,-180); pos10(flare,-180); y9=-.5d; +lft x9r=hround(2.75u-.5flare); bulb(8,9,10); % bulb +filldraw stroke z2'e{-u,-x_height} + ...super_arc.e(3,4)...{up}z5e; % left stem and arc +filldraw circ_stroke z6e---z7e...{left}z8e; % right stem and link +if classic_serif: sloped_serif.l(2,3,a,1/3,jut,serif_drop); fi +%the accent +lowercase_umlaut(0,0,11,12,13,14); +math_fit(-2/3x_height#*slant+.5hair#+.5u#,ic#-1/3x_height#*slant); +penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14); endchar; + +ecchar "Italic letter z with acute"; % use accent from plfonts +beginchar_twice(oct"271",5.5u#+max(1.5u#,stem#),x_height#+acc_height#,0); +italcorr x_height#*slant+.5hair#; +adjust_fit(if monospace:.5u#,.5u# else: 0,0 fi); pickup fine.nib; +pos1(hair,0); pos2(stem,-90); pos3(vair,-90); pos4(hair,0); +lft x1l=hround(u-.5hair); x2=2.5u; x3=w-2u; rt x4r=hround(w-.5u); +top y1=.78x_height; top y2l=top y4=x_height+oo; y3=.825x_height; +pos5(hair,0); pos6(vair,-90); pos7(stem,-90); pos8(hair,0); +x5=x1; x6=2.5u; x7=w-2u; x8+.5hair=hround(w+.5hair-eps); +bot y5=bot y7r=-oo; y6=.175x_height; bot y8=.31x_height; +pair p; p=(z4-z5) yscaled 2; +filldraw stroke z1e{up}...z2e{right}..z3e{right}...{p}z4e; % upper bar +filldraw stroke z5e{p}...z6e{right}..{right}z7e...{up}z8e; % lower bar +filldraw stroke z5e{p}..{p}z4e; % diagonal + penlabels(1,2,3,4,5,6,7,8); + hpos_corr=-.5u; put_accent; +repeat_once; +math_fit(0,1/3x_height#*slant+.5hair#+.5u#); +endchar; + +ecchar "Italic letter z with hachek"; % from csihachl.mf (csfonts) +beginchar(oct"272",5.5u#+max(1.5u#,stem#),lc_hachek_height#,0); +italcorr x_height#*slant+.5hair#; +adjust_fit(if monospace:.5u#,.5u# else: 0,0 fi); pickup fine.nib; +pos1(hair,0); pos2(stem,-90); pos3(vair,-90); pos4(hair,0); +lft x1l=hround(u-.5hair); x2=2.5u; x3=w-2u; rt x4r=hround(w-.5u); +top y1=.78x_height; top y2l=top y4=x_height+oo; y3=.825x_height; +pos5(hair,0); pos6(vair,-90); pos7(stem,-90); pos8(hair,0); +x5=x1; x6=2.5u; x7=w-2u; x8+.5hair=hround(w+.5hair-eps); +bot y5=bot y7r=-oo; y6=.175x_height; bot y8=.31x_height; +pair p; p=(z4-z5) yscaled 2; +filldraw stroke z1e{up}...z2e{right}..z3e{right}...{p}z4e; % upper bar +filldraw stroke z5e{p}...z6e{right}..{right}z7e...{up}z8e; % lower bar +filldraw stroke z5e{p}..{p}z4e; % diagonal +math_fit(0,1/3x_height#*slant+.5hair#+.5u#); +penlabels(1,2,3,4,5,6,7,8); +lc_hachek_accent(1/2[x2,x3]); +endchar; + +ecchar "Italic letter dot z"; % use accent from plfonts +beginchar_twice(oct"273",5.5u#+max(1.5u#,stem#),x_height#+acc_height#,0); +italcorr x_height#*slant+.5hair#; +adjust_fit(if monospace:.5u#,.5u# else: 0,0 fi); pickup fine.nib; +pos1(hair,0); pos2(stem,-90); pos3(vair,-90); pos4(hair,0); +lft x1l=hround(u-.5hair); x2=2.5u; x3=w-2u; rt x4r=hround(w-.5u); +top y1=.78x_height; top y2l=top y4=x_height+oo; y3=.825x_height; +pos5(hair,0); pos6(vair,-90); pos7(stem,-90); pos8(hair,0); +x5=x1; x6=2.5u; x7=w-2u; x8+.5hair=hround(w+.5hair-eps); +bot y5=bot y7r=-oo; y6=.175x_height; bot y8=.31x_height; +pair p; p=(z4-z5) yscaled 2; +filldraw stroke z1e{up}...z2e{right}..z3e{right}...{p}z4e; % upper bar +filldraw stroke z5e{p}...z6e{right}..{right}z7e...{up}z8e; % lower bar +filldraw stroke z5e{p}..{p}z4e; % diagonal +penlabels(1,2,3,4,5,6,7,8); + put_dot(fine,flare#); +repeat_once; +math_fit(0,1/3x_height#*slant+.5hair#+.5u#); +endchar; + +ecchar "Italic letter ij"; +beginchar(oct"274",10u#,min(asc_height#,10/7x_height#+.5flare#),desc_depth#); +italcorr max(1/3x_height#*slant+.5hair#+.5u#,h#*slant+.5flare#-2u#); +adjust_fit(0,0); pickup fine.nib; +x0=0; x5=5u; x2=2.5u+.25u; x3=2.5u-.25u; +if classic_serif: + hook_out(3,4,5)(skewed); % hooks + top y2=x_height; + pos2(stem,0); + sloped_serif.l(2,3,a,1/3,jut,serif_drop); +else: + hook_in(0,1,2)(skewed); + hook_out(3,4,5)(skewed); % hooks +fi +filldraw stroke z2e--z3e; % stem +pos8(flare,0); pos9(flare,90); +x8=2.5u if not monospace:-.4(h-x_height)*slant fi; top y9r=h+1; +if classic_serif: else: + if bot y9l-top y1<slab: y9l:=min(y9r-eps,y1+fine+slab); fi +fi +x8=x9; y8=.5[y9l,y9r]; dot(8,9); % dot +pickup fine.nib; +x10=5u; x12=x13; pos13(stem,0); lft x13l=hround(w-1.5u-.5stem); +if classic_serif: + pos14(vair,-90); pos15(hair,-180); pos16(flare,-180); + bot y13=-1/3d; bot y14r=-d-oo; y16-.5flare=-vround.9d; + top y12=x_height; + pos12(stem,0); + sloped_serif.l(12,13,b,1/3,jut,serif_drop); +else: + hook_in(10,11,12); % opening hook + pos14(vair,-90); pos15(hair,-180); pos16(flare,-180); + bot y13=-1/3d; bot y14r=-d-oo; y16-.5flare=-vround.9d; +fi +x14=5u+1/3(w-6u); lft x15r=min(hround 4.5u,lft x15r+x14-x15l-eps); +filldraw stroke z12e---z13e...{left}z14e; % stem and arc +bulb(14,15,16); % bulb +pos18(flare,0); pos19(flare,90); +rt x18r=rt x12r if not monospace:-.6(h-x_height)*slant fi; top y19r=h+1; +if classic_serif: else: + if bot y19l-top y11<slab: y19l:=min(y19r-eps,y11+fine+slab); fi +fi +x18=x19; y18=.5[y19l,y19r]; dot(18,19); % dot +math_fit(desc_depth#*slant,x_height#*slant+.5stem#-u#); +penlabels(0,1,2,3,4,5,6,8,9,10,11,12,13,14,15,16,17,18,19); endchar; + +endinput; |