% Compute the font construction parameters for the Computer
% Modern Math Italic family. The parameters are mostly the
% same as Computer Modern Roman, with differences as noted
% below.
% Changes[Sauter-2.4] New formula for cap_ess for design_sizes >12pt#,
% this avoids the letter `S' becoming too thin at large sizes, the
% metrics aren't affected by this change.
input c-cmr;
letter_fit#:= % extra space added to all sidebars
(if design_size < 6: (-(design_size*40)+300)
elseif design_size < 7: (-(design_size*20)+180)
elseif design_size < 8: (-(design_size*40)+320)
else: (0)fi)/360pt#;
crisp#:= % diameter of serif corners
(if design_size < 7: ((design_size*5)+35)
elseif design_size < 8: (design_size*10)
else: (80)fi)/360pt#;
tiny#:= % diameter of rounded corners
(if design_size < 7: ((design_size*5)+35)
elseif design_size < 8: (design_size*10)
else: (80)fi)/360pt#;
stem#:= % lowercase stem breadth
(if design_size < 8: ((design_size*20)+55)
elseif design_size < 9: ((design_size*15)+95)
elseif design_size < 10: ((design_size*10)+140)
else: ((design_size*15)+90)fi)/360pt#;
curve#:= % lowercase curve breadth
(if design_size < 8: ((design_size*25)+50)
elseif design_size < 10: ((design_size*20)+90)
else: ((design_size*15)+140)fi)/360pt#;
flare#:= % diameter of bulbs or breadth of terminals
(if design_size < 6: ((design_size*20)+85)
elseif design_size < 8: ((design_size*30)+25)
elseif design_size < 9: ((design_size*25)+65)
elseif design_size < 10: ((design_size*30)+20)
else: ((design_size*15)+170)fi)/360pt#;
cap_stem#:= % uppercase stem breadth
(if design_size < 7: ((design_size*25)+60)
elseif design_size < 8: ((design_size*20)+95)
elseif design_size < 9: ((design_size*25)+55)
elseif design_size < 10: ((design_size*20)+100)
else: ((design_size*15)+150)fi)/360pt#;
cap_curve#:= % uppercase curve breadth
(if design_size < 7: ((design_size*30)+55)
elseif design_size < 8: ((design_size*25)+90)
elseif design_size < 10: ((design_size*30)+50)
else: ((design_size*15)+200)fi)/360pt#;
cap_ess#:= % breadth in middle of uppercase s
(if design_size < 6: ((design_size*50)-115)
elseif design_size < 7: ((design_size*40)-55)
elseif design_size < 8: ((design_size*35)-20)
elseif design_size < 9: ((design_size*40)-60)
elseif design_size < 10: ((design_size*30)+30)
elseif design_size < 12: (-(design_size*5)+380)
else: (design_size*9 + 216)fi)/360pt#;
jut#:= % protrusion of lowercase serifs
(if design_size < 7: ((design_size*20)+70)
elseif design_size < 10: (design_size*30)
else: ((design_size*25)+50)fi)/360pt#;
slant:= % tilt ratio $(\Delta x/\Delta y)$
0.25;
variant_g:= % should an italic-style g be used?
true;
math_fitting:= % should math-mode spacing be used?
true;
|