% dbpseudo.mf [1995/10/04 v0.998d WaS] % (c) Copyright 1995 Walter Schmidt % (c) Copyright 1995 J"org Knappen % See the file `copyrite.txt' from the DC fonts package!!! % This file was taken from the DC fonts v 1.2 and adapted to the % CM Bright family of fonts. Changes are marked by `(CMBR)'. % % v 0.998: changed idot_diam#, udot_diam and lc_trema_height % v 0.998a: new parameter: ldot_height, used to compute lc_trema_height % v 0.998d: new dot sizes % % This file contains pseudoparameters which are not entered in the % parameter files, but are computed from the initial parameter set. % There are also ad hoc parameters needed only once, and scratch % parameters with different values at each occuerence (like |theta|). % % Diameters of dots numeric idot_diam#,udot_diam#,pdot_diam#; numeric idot_diam#,udot_diam#,pdot_diam#; % idot_diam#=max(dot_size#,cap_curve#); % dot of letters `i' and `j' % udot_diam#=max(dot_size#,cap_curve#); % umlaut dots % pdot_diam#=if monospace: 5/4 fi\\ dot_size#; % punctuation dots % define_whole_blacker_pixels(idot_diam,udot_diam,pdot_diam); % (CMBR): idot_diam#=stem'/hppp; % dots on i and j must fit stem width (CMBR) idot_diam=stem'; % (CMBR) pdot_diam#=if monospace: 5/4 fi\\ dot_size#; % punctuation dots define_whole_blacker_pixels(pdot_diam); %udot_diam=min(stem', hround(.91dot_size)); % umlaut dots udot_diam=min(stem', hround(.85dot_size)); % umlaut dots udot_diam#=udot_diam/hppp; % |heavy_hair| occurs in italic lowercase `e'. Since there are many % accented versions of it, it is declared once here numeric heavy_hair; heavy_hair=hround .2[hair,stem]; % |qvair| (quotes vair) for the french quotes numeric qvair; qvair=max(round(xvair),fine+epsilon); % |limit_dist| is used in |put_accent| and |put_cross| % (the value of |u| is changed by |mono_adjust|, hence the global setting) numeric limit_dist; limit_dist=5/4u; % Height of lowercase umlaut, taken from csfonts % Changed again, since the |lowercase_umlaut| macro works differently % ...and again: Don't compute lc_trema_height from x_height; leave it % to the designer to specify ldot_height#=lc_trema_height#-x_height#, % just the same way as dot_height must be given for uppercase letters! % (CMBR) numeric lc_trema_height#; % lc_trema_height# = min(cap_height#,9/7x_height#+.5max(dot_size#,cap_curve#)); % lc_trema_height# = min(cap_height#,9/7x_height#+max(dot_size#,cap_curve#)); lc_trema_height# = min(cap_height#,x_height#+ldot_height#); %(CMBR) define_whole_vertical_pixels(lc_trema_height); % More parametrisations for accents from csaccent.mf (csfonts): numeric uc_acc_height, uc_acc_height#, lc_acute_height, lc_acute_height#, lc_hachek_height, lc_hachek_height#, lc_circle_height, lc_circle_height#, accent_u, accent_u#, accent_thin, uc_acc_shift, asc_acc_shift; if unknown circ_weight: circ_weight:=1; fi %uc_acc_height# = cap_height#+asc_height#-x_height#; uc_acc_height# = cap_height#+acc_height#; lc_acute_height# = asc_height#; lc_hachek_height# = lc_acute_height#; lc_circle_height# = lc_acute_height#; accent_u# = u#; % unexpanded dimension unit accent_thin = if thin_join > crisp: thin_join else: crisp+eps fi; define_whole_vertical_pixels(uc_acc_height,lc_acute_height, lc_hachek_height,lc_circle_height); define_pixels(accent_u); uc_acc_shift = cap_height - x_height; asc_acc_shift = asc_height - x_height; numeric cap_accent_height, cap_accent_height#; %cap_accent_height# = uc_acc_height#; cap_accent_height# = cap_height# + acc_height#; define_whole_vertical_pixels(cap_accent_height); endinput;