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.
