% 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#;