% Based on the Computer Modern source file romanu.mf by D E Knuth. % Edited by Ariel Barton % Date: 2013/03/22 % CM-style Roman upper case: % These letters were originally coded by D. E. Knuth in November, 1979, % inspired by the Monotype faces used in {\sl The Art of Computer Programming}. % Sans serif designs by Richard Southall were added in April, 1982. % The programs were revised for the new \MF\ conventions in 1985. % Serifs were added to the uppercase sans serif I % by Ariel Barton for reasons of clarity in 2012. % Character codes \0101 through \0132 are generated. input romanu; % Generate A-Z as Knuth did % then redo the letter I cmchar "The letter I"; % Added serifs beginchar("I", if known I_cap_jut: (cap_stem#+2I_cap_jut#+2u#), else: max(6u#,4u#+cap_stem#), fi cap_height#,0); italcorr cap_height#*slant-.25u#; adjust_fit(cap_serif_fit#,cap_serif_fit#); pickup tiny.nib; pos1(cap_stem,0); pos2(cap_stem,0); lft x1l=lft x2l=hround(.5w-.5cap_stem); top y1=h; bot y2=0; filldraw stroke z1e--z2e; % stem if serifs: dish_serif(1,2,a,1/3,1.05cap_jut,b,1/3,1.05cap_jut); % upper serif dish_serif(2,1,c,1/3,1.05cap_jut,d,1/3,1.05cap_jut); fi % lower serif if known I_cap_jut: if I_cap_jut > 0: pos3(slab,90); pos4(slab,90); rt x4r=(w-u); x3=w-x4; top y4r = top y3r = h; filldraw stroke z4e--z3e; pos5(slab,90); pos6(slab,90); x5=x3; x6=x4; y5=y6; bot y5l=0; filldraw stroke z5e--z6e; fi fi math_fit(0,.5ic#); penlabels(1,2,3,4,5,6); endchar;