Plan 9 from Bell Labs’s /usr/web/sources/contrib/steve/root/sys/lib/texmf/fonts/source/jknappen/ec/exileast.mf

Copyright © 2021 Plan 9 Foundation.
Distributed under the MIT License.
Download the Plan 9 distribution.


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

Bell Labs OSI certified Powered by Plan 9

(Return to Plan 9 Home Page)

Copyright © 2021 Plan 9 Foundation. All Rights Reserved.
Comments to [email protected].