blob: 0ca62fa4031349e3bbc13b8e4abc5a5ef8ffdf57 (
plain)
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
|
% 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;
|