1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
|
% AMS-style Sans Serif Math Symbols B 5 pt
% Based on msbm5.mf by the American Mathematical Society
% and on fonts by Donald Knuth and John Sauter
% By Ariel Barton, 2013/4/12
if unknown sansfontbase: input sansfontbase fi
font_identifier:="SSMSBM"; font_size 5pt#;
u#:=12.5/36pt#; % sautercmssi5 % unit width
width_adj#:=9/36pt#; % sautercmssi5 % width adjustment for certain characters
serif_fit#:=-4.5/36pt#; % sautercmssi5 % extra sidebar near lowercase serifs
cap_serif_fit#:=-7/36pt#; % sautercmssi5 % extra sidebar near uppercase serifs
letter_fit#:=0pt#; % sautercmssi5 % extra space added to all sidebars
body_height#:=135/36pt#; % sautercmssi5 % height of tallest characters
asc_height#:=125/36pt#; % sautercmssi5 % height of lowercase ascenders
cap_height#:=125/36pt#; % sautercmssi5 % height of caps
fig_height#:=120/36pt#; % sautercmssi5 % height of numerals
x_height#:=80/36pt#; % sautercmssi5 % height of lowercase without ascenders
math_axis#:=45/36pt#; % sautercmssi5 % axis of symmetry for math symbols
bar_height#:=39/36pt#; % sautercmssi5 % height of crossbar in lowercase e
comma_depth#:=25/36pt#; % sautercmssi5 % depth of comma below baseline
desc_depth#:=35/36pt#; % sautercmssi5 % depth of lowercase descenders
crisp#:=0pt#; % sautercmssi5 % diameter of serif corners
tiny#:=0pt#; % sautercmssi5 % diameter of rounded corners
fine#:=0pt#; % sautercmssi5 % diameter of sharply rounded corners
thin_join#:=12/36pt#; % sautercmssi5 % width of extrafine details
hair#:=19/36pt#; % sautercmssi5 % lowercase hairline breadth
stem#:=19/36pt#; % sautercmssi5 % lowercase stem breadth
curve#:=19/36pt#; % sautercmssi5 % lowercase curve breadth
ess#:=19/36pt#; % sautercmssi5 % breadth in middle of lowercase s
flare#:=16/36pt#; % sautercmssi5 % diameter of bulbs or breadth of terminals
dot_size#:=20/36pt#; % sautercmssi5 % diameter of dots
cap_hair#:=19/36pt#; % sautercmssi5 % uppercase hairline breadth
cap_stem#:=23/36pt#; % sautercmssi5 % uppercase stem breadth
cap_curve#:=23/36pt#; % sautercmssi5 % uppercase curve breadth
cap_ess#:=19/36pt#; % sautercmssi5 % breadth in middle of uppercase s
rule_thickness#:=10.08/36pt#; % sautercmssi5 % thickness of lines in math symbols
dish#:=0pt#; % sautercmssi5 % amount erased at top or bottom of serifs
bracket#:=0pt#; % sautercmssi5 % vertical distance from serif base to tangent
jut#:=0pt#; % sautercmssi5 % protrusion of lowercase serifs
cap_jut#:=0pt#; % sautercmssi5 % protrusion of uppercase serifs
beak_jut#:=0pt#; % sautercmssi5 % horizontal protrusion of beak serifs
beak#:=0.1/36pt#; % sautercmssi5 % vertical protrusion of beak serifs
vair#:=13/36pt#; % sautercmssi5 % vertical diameter of hairlines
notch_cut#:=13/36pt#; % sautercmssi5 % maximum breadth above or below notches
bar#:=12/36pt#; % sautercmssi5 % lowercase bar thickness
slab#:=14/36pt#; % sautercmssi5 % serif and arm thickness
cap_bar#:=13/36pt#; % sautercmssi5 % uppercase bar thickness
cap_band#:=11/36pt#; % sautercmssi5 % uppercase thickness above/below lobes
cap_notch_cut#:=16/36pt#; % sautercmssi5 % max breadth above/below uppercase notches
serif_drop#:=2/36pt#; % sautercmssi5 % vertical drop of sloped serifs
stem_corr#:=1/36pt#; % sautercmssi5 % for small refinements of stem breadth
vair_corr#:=1/36pt#; % sautercmssi5 % for small refinements of hairline height
apex_corr#:=2.5/36pt#; % sautercmssi5 % extra width at diagonal junctions
o#:=4/36pt#; % sautercmssi5 % amount of overshoot for curves
apex_o#:=0pt#; % sautercmssi5 % amount of overshoot for diagonal junctions
slant:=0.21255; % sautercmssi5 % tilt ratio
fudge:=0.87; % sautercmssi5 % factor applied to weights of heavy characters
math_spread:=1; % sautercmssi5 % extra openness of math symbols
superness:=0.7071; % sautercmssi5 % parameter for superellipses
superpull:=0.05; % sautercmssi5 % extra openness inside bowls
beak_darkness:=0; % sautercmssi5 % fraction of triangle inside beak serifs
ligs:=1; % cmmi5 % level of ligatures to be included
square_dots:=true; % sautercmssi5 % should dots be square?
hefty:=true; % sautercmssi5 % should we try hard not to be overweight?
serifs:=false; % sautercmssi5 % should serifs and bulbs be attached?
monospace:=false; % sautercmssi5 % should all characters have the same width?
variant_g:=false; % sautercmssi5 % should an italic-style g be used?
low_asterisk:=false; % sautercmssi5 % should the asterisk be centered at the axis?
math_fitting:=true; % cmmi5 % should math-mode spacing be used?
% the following font parameters are explained in {\sl The \TeX book}, Appendix G
subs:=5/5; % subscripts to 5pt will normally be in 5pt type
rth#:=.4pt#; % assume that rules will come from cmex10
fontdimen 8: % parameters $\sigma_8$ through $\sigma_{22}$ will now be listed
math_axis#+3.51rth#+36/36pt#+subs*desc_depth#, % num1
math_axis#+1.51rth#+3/36pt#, % num2
math_axis#+1.51rth#+24/36pt#, % num3
-(math_axis#-3.51rth#-subs*fig_height#-63/36pt#), % denom1
-(math_axis#-1.51rth#-subs*fig_height#-3/36pt#), % denom2
5.99pt#-subs*asc_height#, % sup1
5.49pt#-subs*asc_height#, % sup2
53/36pt#, % sup3
36/36pt#, % sub1
72/36pt#, % sub2
subs*asc_height#-36/36pt#, % sup_drop
18/36pt#, % sub_drop
9.9pt#, % delim1
7.1pt#, % delim2
math_axis#; % axis_height
def diagonal (suffix ne, sw)= draw z.ne--z.sw enddef;
generate sans-amsyb % switch to the driver file
|