summaryrefslogtreecommitdiff
path: root/fonts/cm/sauter/base/c-cmmi.mf
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;