% CM-style Sans Serif Caps and Small Caps 10 point % Based on fonts by Donald Knuth % By Ariel Barton, 2013/4/21 if unknown cmbase: input cmbase fi font_identifier:="CMSSCSC"; font_size 10pt#; % first come parameters used to set the uppercase letters % (including some for lowercase that aren't actually used) u#:=21/36pt#; % eczz1000 % unit width width_adj#:=15/36pt#; % cmss10 % width adjustment for certain characters serif_fit#:=-7/36pt#; % cmss10 % extra sidebar near lowercase serifs cap_serif_fit#:=-10/36pt#; % cmss10 % extra sidebar near uppercase serifs letter_fit#:=5/36pt#; % eczz1000 % extra space added to all sidebars body_height#:=270/36pt#; % cmss10 % height of tallest characters asc_height#:=250/36pt#; % cmss10 % height of lowercase ascenders cap_height#:=250/36pt#; % cmss10 % height of caps fig_height#:=236/36pt#; % cmss10 % height of numerals x_height#:=160/36pt#; % cmss10 % height of lowercase without ascenders math_axis#:=90/36pt#; % cmss10 % axis of symmetry for math symbols bar_height#:=79/36pt#; % cmss10 % height of crossbar in lowercase e comma_depth#:=45/36pt#; % cmss10 % depth of comma below baseline desc_depth#:=70/36pt#; % cmss10 % depth of lowercase descenders crisp#:=0pt#; % cmss10 % diameter of serif corners tiny#:=0pt#; % cmss10 % diameter of rounded corners fine#:=0pt#; % cmss10 % diameter of sharply rounded corners thin_join#:=17/36pt#; % cmss10 % width of extrafine details hair#:=28/36pt#; % cmss10 % lowercase hairline breadth stem#:=28/36pt#; % cmss10 % lowercase stem breadth curve#:=28/36pt#; % cmss10 % lowercase curve breadth ess#:=28/36pt#; % cmss10 % breadth in middle of lowercase s flare#:=25/36pt#; % cmss10 % diameter of bulbs or breadth of terminals dot_size#:=30/36pt#; % cmss10 % diameter of dots cap_hair#:=28/36pt#; % cmss10 % uppercase hairline breadth cap_stem#:=32/36pt#; % cmss10 % uppercase stem breadth cap_curve#:=32/36pt#; % cmss10 % uppercase curve breadth cap_ess#:=32/36pt#; % cmss10 % breadth in middle of uppercase s rule_thickness#:=14.4/36pt#; % cmss10 % thickness of lines in math symbols dish#:=0pt#; % cmss10 % amount erased at top or bottom of serifs bracket#:=0pt#; % cmss10 % vertical distance from serif base to tangent jut#:=0pt#; % cmss10 % protrusion of lowercase serifs cap_jut#:=0pt#; % cmss10 % protrusion of uppercase serifs beak_jut#:=0pt#; % cmss10 % horizontal protrusion of beak serifs beak#:=0.5/36pt#; % cmss10 % vertical protrusion of beak serifs vair#:=22/36pt#; % cmss10 % vertical diameter of hairlines notch_cut#:=18/36pt#; % cmss10 % maximum breadth above or below notches bar#:=21/36pt#; % cmss10 % lowercase bar thickness slab#:=23/36pt#; % cmss10 % serif and arm thickness cap_bar#:=22/36pt#; % cmss10 % uppercase bar thickness cap_band#:=20/36pt#; % cmss10 % uppercase thickness above/below lobes cap_notch_cut#:=25/36pt#; % cmss10 % max breadth above/below uppercase notches serif_drop#:=2/36pt#; % cmss10 % vertical drop of sloped serifs stem_corr#:=1/36pt#; % cmss10 % for small refinements of stem breadth vair_corr#:=1/36pt#; % cmss10 % for small refinements of hairline height apex_corr#:=5/36pt#; % cmss10 % extra width at diagonal junctions o#:=8/36pt#; % cmss10 % amount of overshoot for curves apex_o#:=0pt#; % cmss10 % amount of overshoot for diagonal junctions slant:=0; % cmss10 % tilt ratio $(\Delta x/\Delta y)$ fudge:=0.96; % cmss10 % factor applied to weights of heavy characters math_spread:=0; % cmss10 % extra openness of math symbols superness:=0.7071; % cmss10 % parameter for superellipses superpull:=0.05; % cmss10 % extra openness inside bowls beak_darkness:=0; % cmss10 % fraction of triangle inside beak serifs ligs:=1; % cmcsc10 % level of ligatures to be included square_dots:=true; % cmss10 % should dots be square? hefty:=true; % cmss10 % should we try hard not to be overweight? serifs:=false; % cmss10 % should serifs and bulbs be attached? monospace:=false; % cmss10 % should all characters have the same width? variant_g:=false; % cmss10 % should an italic-style g be used? low_asterisk:=false; % cmss10 % should the asterisk be centered at the axis? math_fitting:=false; % cmcsc10 % should math-mode spacing be used? % now come replacements used to set the lowercase caps lower.u#:=16/36pt#; % eczz1000 % unit width lower.width_adj#:=15/36pt#; % eczz1000 % width adjustment for certain characters lower.cap_serif_fit#:=-8/36pt#; % eczz1000 % extra sidebar near uppercase serifs lower.letter_fit#:=2/36pt#; % eczz1000 % extra space added to all sidebars lower.body_height#:=200/36pt#; % eczz1000 % height of tallest characters lower.cap_height#:=188/36pt#; % eczz1000 % height of caps lower.x_height#:=119.7/36pt#; % eczz1000 % height of lowercase without ascenders lower.bar_height#:=59/36pt#; % eczz1000 % height of crossbar in lowercase e lower.comma_depth#:=33.42/36pt#;% eczz1000 % depth of comma below baseline lower.flare#:=18.93/36pt#; % eczz1000 % diameter of bulbs or breadth of terminals lower.cap_hair#:=23.16/36pt#; % eczz1000 % uppercase hairline breadth lower.stem#:=23.51/36pt#; % eczz1000 % lowercase stem breadth lower.cap_stem#:=26/36pt#; % eczz1000 % uppercase stem breadth lower.cap_curve#:=26.8/36pt#; % eczz1000 % uppercase curve breadth lower.cap_ess#:=25.59/36pt#; % eczz1000 % breadth in middle of uppercase s lower.cap_jut#:=0pt#; % eczz1000 % protrusion of uppercase serifs lower.beak_jut#:=0pt#; % eczz1000 % horizontal protrusion of beak serifs lower.beak#:=0.37/36pt#; % eczz1000 % vertical protrusion of beak serifs lower.slab#:=19.02/36pt#; % eczz1000 % serif and arm thickness lower.cap_bar#:=18.2/36pt#; % eczz1000 % uppercase bar thickness lower.cap_band#:=16.54/36pt#; % eczz1000 % uppercase thickness above/below lobes lower.cap_notch_cut#:=25/36pt#; % eczz1000 % max breadth above/below uppercase notches lower.o#:=5/36pt#; % eczz1000 % amount of overshoot for curves lower.apex_o#:=0pt#; % eczz1000 % amount of overshoot for diagonal junctions lower.fudge:=0.96; % eczz1000 % factor applied to weights of heavy characters generate csc % switch to the driver file