summaryrefslogtreecommitdiff
path: root/fonts/mnsymbol/source/MnSymbolS-Bold.mf
blob: 893d40278e6b032d05c47336bd07241af0cbfddd (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-Bold";
font_size design_size * pt#;

input Sym-Init;

u#            := interpolate(1/36pt#)(14.5, 16.2, 17.9, 19.6, 21.3, 23, 26.4);
width_adj#    := interpolate(1/36pt#)( 7,    7.8,  8.6,  9.4, 10.2, 11, 12.6);
serif_fit#    := 0;
cap_serif_fit#:= interpolate(1/36pt#)(3, 3.8, 4.6, 5.4, 6.2, 7, 5.5);
letter_fit#   := interpolate(1/36pt#)(6, 4, 2, 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.5, 148.2, 172.9, 197.6, 222.3, 247, 296.2);
fig_height#     := interpolate(1/36pt#)(116,   139.2, 162.4, 185.6, 208.8, 232, 278.4);
x_height#       := interpolate(1/36pt#)(80,     96,   112,   128,   144,   160, 190);
math_axis#      := interpolate(1/36pt#)(45, 54, 63, 72, 81, 92, 110);
bar_height#     := interpolate(1/36pt#)(40, 49, 58, 67, 76, 85, 102);
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#)(9,  10,   11,   12,   13,   13, 14);
tiny#           := interpolate(1/36pt#)(9,  10,   11,   12,   13,   13, 14);
fine#           := interpolate(1/36pt#)(8,   9,    9,   10,   10,   10, 11);
thin_join#      := interpolate(1/36pt#)(8,   9,    9,   10,   10,   10, 11);
hair#           := interpolate(1/36pt#)(15, 15.4, 15.8, 16.2, 16.6, 17, 17.8);
stem#           := interpolate(1/36pt#)(23, 27,   31,   34,   37,   40, 46);
curve#          := interpolate(1/36pt#)(26, 30,   34,   38,   42,   45, 51);
ess#            := interpolate(1/36pt#)(18, 24,   28,   31,   34,   36, 40);
flare#          := interpolate(1/36pt#)(26, 29,   33,   37,   40,   42, 45);
dot_size#       := interpolate(1/36pt#)(31, 36,   41,   46,   51,   56, 66);
cap_hair#       := interpolate(1/36pt#)(17, 18,   18,   19,   19,   19, 20);
cap_stem#       := interpolate(1/36pt#)(27, 32,   37,   42,   46,   50, 58);
cap_curve#      := interpolate(1/36pt#)(30, 35,   40,   45,   50,   53, 59);
cap_ess#        := interpolate(1/36pt#)(23, 30,   36,   42,   47,   51, 58);
rule_thickness# := interpolate(1pt#)(.43, .47, .51, .54, .57, .6, .66);

dish#           := interpolate(1/36pt#)(.7, .8, .9, 1, 1, 1, 1);
bracket#        := interpolate(1/36pt#)(5, 6, 7, 8, 9, 10, 12);
jut#            := interpolate(1/36pt#)(15, 17, 19, 21, 24, 27, 33);
cap_jut#        := interpolate(1/36pt#)(21, 24, 27, 30, 35, 39, 47);
beak_jut#       := interpolate(1/36pt#)(7, 7.8, 8.6, 9.4, 10.2, 11, 12.6);
beak#           := interpolate(1/36pt#)(25, 36, 46, 55, 63, 70, 82);
vair#           := interpolate(1/36pt#)(10, 11, 11.5, 12, 12, 13, 13);
notch_cut#      := interpolate(1pt#)(5, 6, 7, 8, 9, 10, 12);
bar#            := interpolate(1/36pt#)(12, 13, 14, 15, 16, 17, 19);
slab#           := interpolate(1/36pt#)(12, 13, 14, 15, 16, 17, 19);
cap_bar#        := interpolate(1/36pt#)(12, 13, 14, 15, 16, 17, 19);
cap_band#       := interpolate(1/36pt#)(12, 13, 14, 15, 16, 17, 19);
cap_notch_cut#  := interpolate(1pt#)(5, 6, 7, 8, 9, 10, 12);
serif_drop#     := interpolate(1/36pt#)(1.5, 1.8, 2.1, 2.4, 2.7, 3, 3.6);
stem_corr#      := interpolate(1/36pt#)(1.5, 1.6, 1.7, 1.8, 1.9, 2, 2.2);
vair_corr#      := interpolate(1/36pt#)(1, 1.1, 1.2, 1.3, 1.4, 1.5, 1.7);
apex_corr#      := interpolate(1/36pt#)(9, 5, 2, 0, 0, 0, 0);

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

slant           := .25;
fudge           := 1;
math_spread     := interpolate(1)(1.5, 1.3, 1.1, .9, .7, .5, .1);
superness       := 8/11;
superpull       := 1/8;
beak_darkness   := .4;
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, 54, 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;