summaryrefslogtreecommitdiff
path: root/fonts/mbboard/source/mbblight.mf
blob: 8986ed8680b225c0563ca5233ee026f3c26f8ba3 (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
% blackboard typefaces by Anthony Phan.
% file: mbblight.mf (parameters' file for all light fonts)
% last modification: 25.10.2001.

numeric gen_; gen_=0;
for $=17pt#,12pt#,10pt#,9pt#,8pt#,7pt#,6pt#,5pt#:
    if designsize<$: gen_:=gen_+1; fi
endfor;

vardef gen(expr unit)(text t)=
  save a,b; a=0; for $=t:
    if gen_>=a: b:=$; fi
    a:=a+1; endfor; b*unit
enddef;

dh#:=0.6designsize;
superness:=(9/256)[sqrt 0.5,1];
superbowl:=(25/256)[sqrt 0.5,1];
math_spread:=gen(1)(-0.4,-0.2,0.2,0.4,0.6,0.8,1);

%
% Specific parameters
%

thin1#   :=gen(1/36pt#)(18,14,12,11.5,11,10.5,10,9.5);

thick1#  :=gen(1/36pt#)(43.5*(32.5/20),43.5*(23.5/20),43.5,0.8[30,43.5],
  0.6[30,43.5],0.4[30,43.5],0.2[30,43.5],0.0[30,43.5]);

Thick1#  :=gen(1/36pt#)(47.25*(32.5/20),43.5*(23.5/20),47.25,0.8[33.5,47.25],
  0.6[33.5,47.25],0.4[33.5,47.25],0.2[33.5,47.25],0.0[33.5,47.25]);

thin2#   :=gen(1/36pt#)(18,14,12,11.5,11,10.5,10,9.5);

thick2#  :=gen(1/36pt#)(44.75*(32.5/20),43.5*(23.5/20),44.75,0.8[31,44.75],
  0.6[31,44.75],0.4[31,44.75],0.2[31,44.75],0.0[31,44.75]);

Thick2#  :=gen(1/36pt#)(48.75*(32.5/20),43.5*(23.5/20),48.75,0.8[34.5,48.75],
  0.6[34.5,48.75],0.4[34.5,48.75],0.2[34.5,48.75],0.0[34.5,48.75]);

ess#     :=gen(1/36pt#)(45*(32.5/20),43.5*(23.5/20),45,0.8[31,45],
  0.6[31,45],0.4[31,45],0.2[31,45],0.0[31,45]);

cap_ess# :=gen(1/36pt#)(49*(32.5/20),43.5*(23.5/20),49,0.8[35,49],
  0.6[35,49],0.4[35,49],0.8[35,49],0.2[35,49],0.0[35,49]);

dot_size#:=gen(1/36pt#)(66*(32.5/20),43.5*(23.5/20),55,49.5,
  44,38.5,33,27.5);

%
% Relative (to Computer Modern) parameters
%

u#:=gen(1/36pt#)( 32.5, 23.5, 20, 18.5, 17, 15.5, 14, 12.5);
letter_fit#:=gen(1/36pt#)( -0.1, 0, 0, 0, 0, 2, 3, 5);

body_height# :=gen(1/36pt#)(466, 324, 270, 243, 216, 189, 162, 135);
asc_height#  :=gen(1/36pt#)(432, 300, 250, 225, 200, 175, 150, 125);
cap_height#  :=gen(1/36pt#)(425, 295.2, 246, 221.4, 196.8, 172.2, 147.6, 123);
fig_height#  :=gen(1/36pt#)(401, 278.4, 232, 208.8, 185.6, 162.4, 139.2, 116);
x_height#    :=gen(1/36pt#)(267.5, 186, 155, 139.5, 124, 108.5, 93, 77.5);
math_axis#   :=gen(1/36pt#)(155.5, 108, 90, 81, 72, 63, 54, 45);
desc_depth#  :=gen(1/36pt#)(121, 84, 70, 63, 56, 49, 42, 35);
o#           :=gen(1/36pt#)(10, 9, 8, 7, 6, 5, 4.5, 4);
ho#          :=gen(1/36pt#)(10, 9, 8, 7, 6, 5, 4.5, 4);

rule_thickness#:=gen(1pt#)(0.60,0.44,0.4,0.38,0.36,0.34,0.31,0.28);

endinput;

%
% Extra parameters (not usefull and wrong)
%

subs:=gen(1)(8/12,7/10,6/9,6/8,5/7,5/6,5/5);
rth'#:=0.4pt#;
fontdimen8:
math_axis#+3.51rth'#+36/36pt#+subs*desc_depth#,                % num1
math_axis#+1.51rth'#+gen(1/36pt#)(30,30,30,24,12,9,3),         % num2
math_axis#+1.51rth'#+gen(1/36pt#)(48,48,43,38,34,29,24),       % num3
-(math_axis#-3.51rth'#-subs*fig_height#
  -gen(1/36pt#)(124,124,111,98,86,74,63)),                     % denom1
-(math_axis#-1.51rth'#-subs*fig_height#
  -gen(1/36pt#)(30,30,30,24,12,9,3)),                          % denom2
gen(1pt#)(8.99,8.99,8.49,7.49,6.99,6.49,5.99)-subs*asc_height#,% sup1
gen(1pt#)(8.49,8.49,7.99,7.99,6.49,5.99,5.49)-subs*asc_height#,% sup2
gen(1/36pt#)(104,104,),                             % sup3
gen(1/36pt#)(54,54,36,36,36,36,,36),                           % sub1
-(if gen_<3:if gen_<2: 8.49pt# else: 7.99pt# fi
    -2subs*asc_height#-0.31rth'#
  else: gen(1/36pt#)(0,0,72,72,72,72) fi),                     % sub2
subs*asc_height#-36/36pt#,                                     % sup_drop
18/36pt#,                                                      % sub_drop
gen(1pt#)( 23.9, 23.9, 23.9, 11.9, 11.9, 11.9, 9.9),           % delim1
gen(1pt#)( 10.1, 10.1,  9.1,  9.1,  8.1,  8.1, 7.1),           % delim2
math_axis#;