u#:=20/36pt#; % unit width lower_u#:=20/36pt#; width_adj#:=0pt#; % width adjustment for certain characters serif_fit#:=0pt#; % extra sidebar near lowercase serifs cap_serif_fit#:=5/36pt#; % extra sidebar near uppercase serifs letter_fit#:=0pt#; % extra space added to all sidebars body_height#:=270/36pt#; % height of tallest characters asc_height#:=250/36pt#; % height of lowercase ascenders cap_height#:=246/36pt#; % height of caps fig_height#:=232/36pt#; % height of numerals x_height#:=167/36pt#; % height of lowercase without ascenders %x_height#:=155/36pt#; % height of lowercase without ascenders math_axis#:=90/36pt#; % axis of symmetry for math symbols bar_height#:=87/36pt#; % height of crossbar in lowercase e comma_depth#:=70/36pt#; % depth of comma below baseline desc_depth#:=70/36pt#; % depth of lowercase descenders crisp#:=0pt#; % diameter of serif corners tiny#:=8/36pt#; % diameter of rounded corners fine#:=7/36pt#; % diameter of sharply rounded corners thin_join#:=7/36pt#; % width of extrafine details hair#:=7/36pt#; % lowercase hairline breadth %hair#:=9/36pt#; % lowercase hairline breadth %stem#:=25/36pt#; % lowercase stem breadth stem#:=24/36pt#; % lowercase stem breadth curve#:=30/36pt#; % lowercase curve breadth ess#:=27/36pt#; % breadth in middle of lowercase s flare#:=33/36pt#; % diameter of bulbs or breadth of terminals dot_size#:=38/36pt#; % diameter of dots %cap_hair#:=11/36pt#; % uppercase hairline breadth cap_hair#:=8/36pt#; cap_amount#:=8/36pt#; %cap_stem#:=32/36pt#; % uppercase stem breadth cap_stem#:=32/36pt#; cap_curve#:=37/36pt#; % uppercase curve breadth cap_ess#:=35/36pt#; % breadth in middle of uppercase s rule_thickness#:=.4pt#; % thickness of lines in math symbols dish#:=1/36pt#; % amount erased at top or bottom of serifs bracket#:=20/36pt#; % vertical distance from serif base to tangent jut#:=28/36pt#; % protrusion of lowercase serifs cap_jut#:=37/36pt#; % protrusion of uppercase serifs beak_jut#:=10/36pt#; % horizontal protrusion of beak serifs beak#:=70/36pt#; % vertical protrusion of beak serifs vair#:=8/36pt#; % vertical diameter of hairlines notch_cut#:=10pt#; % maximum breadth above or below notches bar#:=11/36pt#; % lowercase bar thickness slab#:=11/36pt#; % serif and arm thickness cap_bar#:=11/36pt#; % uppercase bar thickness cap_band#:=11/36pt#; % uppercase thickness above/below lobes cap_notch_cut#:=10pt#; % max breadth above/below uppercase notches serif_drop#:=4/36pt#; % vertical drop of sloped serifs stem_corr#:=1/36pt#; % for small refinements of stem breadth vair_corr#:=1/36pt#; % for small refinements of hairline height apex_corr#:=0pt#; % extra width at diagonal junctions o#:=8/36pt#; % amount of overshoot for curves apex_o#:=5/36pt#; % amount of overshoot for diagonal junctions slant:=0; % tilt ratio $(\Delta x/\Delta y)$ fudge:=1; % factor applied to weights of heavy characters math_spread:=0; % extra openness of math symbols superness:=1/sqrt2; % parameter for superellipses superpull:=1/6; % extra openness inside bowls beak_darkness:=11/30; % fraction of triangle inside beak serifs ligs:=2; % level of ligatures to be included square_dots:=false; % should dots be square? hefty:=false; % should we try hard not to be overweight? serifs:=true; % should serifs and bulbs be attached? monospace:=false; % should all characters have the same width? variant_g:=false; % should an italic-style g be used? low_asterisk:=false; % should the asterisk be centered at the axis? math_fitting:=false; % should math-mode spacing be used? numeric usual_right, usual_left; usual_right#:=0.5u#; usual_left#:=0.3u#; granularity:=1.01; %aspect_ratio:=2/3aspect_ratio; mode_setup; font_setup; cap_amount:=8/36pt; foot:=0.207x_height; num_height:=1.242x_height; cap_kern:=4/36pt; boolean ligature; ligature:=false; numeric alpha; alpha:=0; numeric coef, gencoef; gencoef:=1; % The positions of characters depending on cm or dc layouts if dc_layout>0: ae_ligature:=oct"346"; Ae_ligature:=oct"306"; ff_ligature:=oct"033"; ss_ligature:=oct"034"; st_ligature:=oct"035"; sf_ligature:=oct"036"; tz_ligature:=oct"037"; ch_ligature:=oct"027"; ck_ligature:=oct"275"; s_final:=oct"276"; en_dash:=oct"025"; em_dash:=oct"026"; eszet:=oct"377"; open_gaens:=oct"022"; else: ae_ligature:=oct"032"; Ae_ligature:=oct"035"; ff_ligature:=oct"013"; ss_ligature:=oct"014"; st_ligature:=oct"015"; sf_ligature:=oct"016"; tz_ligature:=oct"017"; ch_ligature:=oct"012"; ck_ligature:=oct"275"; s_final:=oct"276"; en_dash:=oct"173"; em_dash:=oct"174"; eszet:=oct"031"; open_gaens:=oct"134"; fi; %granularity:=1.01; %readfrom("yfrakbase"); % -sl 15-3-1991 %if proofing>1: generate ycurrent; fi % switch to the driver file% generate cmfrakmis; % -sl 15-3-1991 / 24-3-1994 DT generate cmfraklow; % -sl 15-3-1991 / 25-3-94 DT generate cmfrakupp; % -sl 15-3-1991 / 24-3-1994 DT generate cmfraknum; generate cmfrakoth; % -sl 15-3-1991 / 24-3-1994 DT font_slant slant; font_x_height x_height#; font_normal_space 6u#+2letter_fit#; font_normal_stretch 3u#; font_normal_shrink 2u#; font_quad 18u#+4letter_fit#; font_extra_space 2u#; ligtable "c": "h"=:ch_ligature, "k"=:ck_ligature; ligtable "f": "f"=:ff_ligature; ligtable "s": "z"=:eszet, ":"=:s_final, "s"=:ss_ligature, "t"=:st_ligature, "f"=:sf_ligature, "b" kern 1.03u#, "d" kern 1.03u#, "h" kern 1.03u#, "k" kern 1.03u#, "l" kern 1.03u#, "i" kern 0.4u#, "j" kern 0.4u#; %, " "=:s_final " "; ligtable "t": "z"=:tz_ligature; ligtable oct"042": "a"=:oct"344", "e"=:oct"353", "o"=:oct"366", "u"=:oct"374", "s"=:eszet; % ligtable "*": "a"=:oct"211", "e"=:oct"220", "o"=:oct"231", "u"=:oct"236"; ligtable "`": "`"=:open_gaens; ligtable "'": "'"=:oct"042"; ligtable "-": "-"=:en_dash; ligtable en_dash: "-"=:em_dash; ligtable ss_ligature: "b" kern 1.03u#, "d" kern 1.03u#, "h" kern 1.03u#, "k" kern 1.03u# , "l" kern 1.03u#, "i" kern 0.4u#, "j" kern 0.4u#; end.