summaryrefslogtreecommitdiff
path: root/fonts/mnsymbol/source/MnSymbolS.mf
blob: 80ed94ef15646dd8b81e9ef3a46254322f5e242e (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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
if unknown cmbase: input cmbase fi

font_identifier:="MnSymbolS";
font_size design_size * pt#;

input Sym-Init;

u#            := interpolate(1/36pt#)(12.5, 14, 15.5, 17, 18.5, 20, 23);
width_adj#    := 0;
serif_fit#    := 0;
cap_serif_fit#:= interpolate(1/36pt#)(2, 2.8, 3.5, 4.1, 4.6, 5, 5.5);
letter_fit#   := interpolate(1/36pt#)(10, 6, 4, 0, 0, 0, 0);

body_height#    := interpolate(1/36pt#)(135, 162, 189, 216, 243, 270, 324);
asc_height#     := interpolate(1/36pt#)(125, 150, 175, 200, 225, 250, 300);
cap_height#     := interpolate(1/36pt#)(123, 147.6, 172.2, 196.8, 221.4, 246, 295.2);
fig_height#     := interpolate(1/36pt#)(116, 139.2, 162.4, 185.6, 208.8, 232, 278.4);
x_height#       := interpolate(1/36pt#)(77.5, 93, 108.5, 124, 139.5, 155, 186);
math_axis#      := interpolate(1/36pt#)(45, 54, 63, 72, 81, 92, 110);
bar_height#     := interpolate(1/36pt#)(43.5, 52.2, 60.9, 69.6, 78.3, 87, 104.4);
comma_depth#    := interpolate(1/36pt#)(35, 42, 49, 56, 63, 70, 84);
desc_depth#     := interpolate(1/36pt#)(35, 42, 49, 56, 63, 70, 84);

crisp#          := interpolate(1/36pt#)(6,   6.5, 7,    8,  8,  8,  9);
tiny#           := interpolate(1/36pt#)(6,   6.5, 7,    8,  8,  8,  9);
fine#           := interpolate(1/36pt#)(5,   6,   6,    7,  7,  7,  8);
thin_join#      := interpolate(1/36pt#)(5,   6,   6,    7,  7,  7,  8);
hair#           := interpolate(1/36pt#)(8.3, 9,   9.4, 10, 10, 10, 11);
stem#           := interpolate(1/36pt#)(15.5, 17.5, 19.5, 21.5, 23, 24, 26);
curve#          := interpolate(1/36pt#)(17.5, 20,   22.5, 25,   27, 29, 32.5);
ess#            := interpolate(1/36pt#)(12,   17,   21,   23,   25, 27, 31);
flare#          := interpolate(1/36pt#)(18.5, 20.5, 23.5, 26.5, 29, 32, 38);
dot_size#       := interpolate(1/36pt#)(22,   26,   29,   32,   35, 38, 44);
cap_hair#       := interpolate(1/36pt#)( 9.6, 10.2, 10.8, 11.4, 12, 13, 14.5);
cap_stem#       := interpolate(1/36pt#)(18.5, 21,   23.5, 25.5, 28, 30, 34);
cap_curve#      := interpolate(1/36pt#)(20.5, 23.5, 26.5, 29,   32, 35, 41);
cap_ess#        := interpolate(1/36pt#)(13.5, 18.5, 22.5, 26,   30, 33, 39);
rule_thickness# := interpolate(1pt#)(.31, .34, .38, .40, .42, .45, .49);

dish#           := interpolate(1/36pt#)(.7, .8, .9, 1, 1, 1, 1);
bracket#        := interpolate(1/36pt#)(10, 12, 14, 16, 18, 20, 24);
jut#            := interpolate(1/36pt#)(17, 19, 21, 24, 27, 30, 36);
cap_jut#        := interpolate(1/36pt#)(20, 23, 26, 29, 33, 37, 45);
beak_jut#       := interpolate(1/36pt#)(6, 6.8, 7.6, 8.4, 9.2, 10, 11.6);
beak#           := interpolate(1/36pt#)(35, 42, 49, 56, 63, 70, 84);
vair#           := interpolate(1/36pt#)(6, 7, 7, 8, 8, 8, 9);
notch_cut#      := interpolate(1pt#)(5, 6, 7, 8, 9, 10, 12);
bar#            := interpolate(1/36pt#)(8, 8.5, 9, 9.5, 10, 11, 13);
slab#           := interpolate(1/36pt#)(8, 8.5, 9, 9.5, 10, 11, 13);
cap_bar#        := interpolate(1/36pt#)(8, 8.5, 9, 9.5, 10, 11, 13);
cap_band#       := interpolate(1/36pt#)(8, 8.5, 9, 9.5, 10, 11, 13);
cap_notch_cut#  := interpolate(1pt#)(5, 6, 7, 8, 9, 10, 12);
serif_drop#     := interpolate(1/36pt#)(2, 2.4, 2.8, 3.2, 3.6, 4, 4.8);
stem_corr#      := interpolate(1/36pt#)(.7, .8, .9, 1, 1, 1, 1);
vair_corr#      := interpolate(1/36pt#)(.5, .7, .9, 1, 1, 1, 1);
apex_corr#      := 0;

o#              := interpolate(1/36pt#)(4, 4.5, 5, 6, 7, 8, 9.5);
apex_o#         := interpolate(1/36pt#)(4, 4.5, 5, 6, 7, 8, 9.5);

slant           := .25;
fudge           := 1;
math_spread     := interpolate(1)(1, .8, .6, .4, .2, 0, 0);
superness       := 1/sqrt2;
superpull       := 1/6;
beak_darkness   := 11/30;
ligs            := 2;

square_dots     := false;
hefty           := false;
serifs          := true;
monospace       := false;
variant_g       := true;
low_asterisk    := false;
math_fitting    := true;

mode_setup;
font_setup;

autorounding := hair;

input calu;

font_slant    slant;
font_x_height x_height#;
font_quad     18u# + 4letter_fit#;

subs := interpolate(1)(5/5, 5/6, 5/7, 6/8, 6/9, 7/10, 8/12);  % subscript size
rth# := rule_thickness#;
fontdimen 8:  % parameters $\sigma_8$ through $\sigma_{22}$ will now be listed
 math_axis# + 3.51rth# + interpolate(1/36pt#)(36, 36, 36, 36, 36, 44, 53) + subs * desc_depth#,  % num1
 math_axis# + 1.51rth# + interpolate(1/36pt#)( 3,  9, 12, 24, 30, 30, 30),                       % num2
 math_axis# + 1.51rth# + interpolate(1/36pt#)(24, 29, 34, 38, 43, 48, 57),                       % num3
 interpolate(1/36pt#)(63, 74, 86, 98, 111, 155, 149) + 3.51rth# + subs * x_height# - math_axis#, % denom1
 interpolate(1/36pt#)( 3,  9, 12, 24,  30,  30,  30) + 1.51rth# + subs * x_height# - math_axis#, % denom2
 interpolate(pt#)(5.99, 6.49, 6.99, 7.49, 8.49, 8.99, 9.99) - subs * asc_height#, % sup1
 interpolate(pt#)(5.49, 5.99, 6.49, 6.99, 7.99, 8.49, 8.99) - subs * asc_height#, % sup2
 interpolate(1/36pt#)(53, 62, 72, 82, 93, 104, 125),              % sup3
 interpolate(1/36pt#)(36, 36, 36, 36, 36,  54,  65),              % sub1
 interpolate(1/36pt#)(72, 72, 72, 72, 57,  89, 100),              % sub2
 subs * asc_height# - 36/36pt#,                                   % sup\_drop
 18/36pt#,                                                        % sub\_drop
 interpolate(pt#)(9.9, 11.9, 11.9, 11.9, 19.0, 19.0, 22.0),       % delim1
 interpolate(pt#)(7.1,  8.1,  8.1,  9.1,  9.1, 10.1, 12.1),       % delim2
 math_axis#;              % axis\_height

beginchar(0, 0, 0, 0) % dummy symbol for skew
endchar;

skewchar = 0;
skew#    = .5u#;

ligtable "I": "T": "V": skewchar kern skew#;
ligtable "K": skewchar kern 2skew#;
ligtable "D": "N": "P": "R": "U": "W": "Y": skewchar kern 3skew#;
ligtable "E": "F": "G": "H": "O": "Q": skewchar kern 4skew#;
ligtable "B": "C": "L": "M": "S": "X": "Z": skewchar kern 5skew#;
ligtable "J": skewchar kern 6skew#;
ligtable "A": skewchar kern 7skew#;

bye;