% Computer Modern Bold Extended Caps and Small Caps
if unknown cmbase: input cmbase fi
font_identifier:="CMBXCSC"; font_size design_size * pt#;
% first come parameters used to set the uppercase letters
% (including some for lowercase that aren't actually used)
% These parameters are nearly the same as the Computer Modern Roman
% parameters.
input c-cmbx;
u#:= % unit width
((u#*360pt#) + (design_size * 1))/360pt#;
letter_fit#:= % extra space added to all sidebars
((letter_fit#*360pt#) + (design_size * 5))/360pt#;
ligs:=1; % level of ligatures to be included
% now come replacements used to set the lowercase caps
lower.u#:= % unit width
(u#*360pt#*16)/(21*360pt#);
lower.width_adj#:= % width adjustment for certain characters
width_adj#;
lower.cap_serif_fit#:= % extra sidebar near uppercase serifs
(cap_serif_fit#*360pt#*4)/(5*360pt#);
lower.letter_fit#:= % extra space added to all sidebars
(letter_fit#*36pt#*24)/(5*360pt#);
lower.body_height#:= % height of tallest characters
(body_height#*36pt#*20.0)/(27.0*36pt#);
lower.cap_height#:= % height of caps
(cap_height#*36pt#*18.5)/(24.6*36pt#);
lower.x_height#:= % height of lowercase without ascenders
(x_height#*116)/(155);
lower.bar_height#:= % height of crossbar in lowercase e
(bar_height#*36pt#*65)/(87*36pt#);
lower.comma_depth#:= % depth of comma below baseline
(comma_depth#*36pt#*52)/(70*36pt#);
lower.stem#:= % lowercase stem breadth
(stem#*360pt#*21)/(25*360pt#);
lower.flare#:= % diameter of bulbs or breadth of terminals
(flare#*360pt#*25)/(33*360pt#);
lower.cap_hair#:= % uppercase hairline breadth
(cap_hair#*36pt#*91)/(11*360pt#);
lower.cap_stem#:= % uppercase stem breadth
(cap_stem#*360pt#*26)/(32*360pt#);
lower.cap_curve#:= % uppercase curve breadth
(cap_curve#*360pt#*31)/(37*360pt#);
lower.cap_ess#:= % breadth in middle of uppercase s
(cap_ess#*360pt#*28)/(35*360pt#);
lower.cap_jut#:= % protrusion of uppercase serifs
(cap_jut#*360pt#*26)/(37*360pt#);
lower.beak_jut#:= % horizontal protrusion of beak serifs
(beak_jut#*360pt#*7)/(10*360pt#);
lower.beak#:= % vertical protrusion of beak serifs
(beak#*36pt#*52)/(7*360pt#);
lower.slab#:= % serif and arm thickness
(slab#*36pt#*91)/(11*360pt#);
lower.cap_bar#:= % uppercase bar thickness
(cap_bar#*36pt#*91)/(11*360pt#);
lower.cap_band#:= % uppercase thickness above/below lobes
(cap_band#*36pt#*91)/(11*360pt#);
lower.cap_notch_cut#:= % max breadth above/below uppercase notches
cap_notch_cut#;
lower.o#:= % amount of overshoot for curves
(o#*360pt#*5)/(8*360pt#);
lower.apex_o#:= % amount of overshoot for diagonal junctions
(apex_o#*360pt#*4)/(8*360pt#);
lower.fudge:= % factor applied to weights of heavy characters
fudge;
generate csc % switch to the driver file
|