You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
94 lines
3.1 KiB
94 lines
3.1 KiB
% expseudo.mf
|
|
%
|
|
% (c) Copyright 1995, 1996, 1997 J"org Knappen
|
|
%
|
|
% This file is part of ecfonts version 1.0
|
|
%
|
|
% Please read the files 00readme.txt, 00inst.txt, 00error.txt, and
|
|
% copyrite.txt for further information
|
|
%
|
|
% You find some documentation in ecdoc.tex (needs LaTeX2e)
|
|
%
|
|
% 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|).
|
|
%
|
|
version_check(1,0); % |version_check| was introduced in dc1.3
|
|
|
|
% Diameters of dots
|
|
|
|
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
|
|
|
|
|
|
% The following umlaut dot diameter is used inside |exbase.mf|:
|
|
% dot_diam:=max(tiny.breadth,hround(max(dot_size,cap_curve)-2stem_corr));
|
|
% Several symbols just use |dot_size|.
|
|
|
|
% |heavy_hair| occurs in italic lowercase `e'. Since there are many
|
|
% accented versions of it, it is declared once here
|
|
|
|
vardef heavy_hair=hround .2[hair,stem] enddef;
|
|
|
|
% |qvair| (quotes vair) for the french quotes
|
|
|
|
vardef qvair=max(round(xvair),fine+epsilon) enddef;
|
|
|
|
% |limit_dist| is used in |put_accent| and |put_cross|
|
|
% (the value of |u| is changed by |mono_adjust|, hence the global setting)
|
|
|
|
vardef limit_dist=5/4u enddef;
|
|
|
|
% Height of lowercase umlaut, taken from csfonts
|
|
% Changed again, since the |lowercase_umlaut| macro works differently
|
|
|
|
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/7hi.x_height#+max(dot_size#,cap_curve#));
|
|
|
|
|
|
% 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#,
|
|
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# = hi.x_height#+acc_height#;
|
|
accent_u# = u#; % unexpanded dimension unit
|
|
|
|
vardef accent_thin = if thin_join > crisp: thin_join else: crisp+eps fi enddef;
|
|
|
|
vardef uc_acc_shift = cap_height - x_height enddef;
|
|
vardef asc_acc_shift = asc_height - x_height enddef;
|
|
|
|
numeric cap_accent_height, cap_accent_height#;
|
|
%cap_accent_height# = uc_acc_height#;
|
|
cap_accent_height# = cap_height# + acc_height#;
|
|
|
|
def pseudo_setup =
|
|
define_whole_blacker_pixels(idot_diam,udot_diam,pdot_diam);
|
|
define_whole_vertical_pixels(lc_trema_height);
|
|
define_whole_vertical_pixels(uc_acc_height,lc_acute_height,
|
|
lc_hachek_height);
|
|
define_pixels(accent_u);
|
|
define_whole_vertical_pixels(cap_accent_height);
|
|
% LAST MINUTE EXTRA FONT SETUP
|
|
%%% define_pixels prepare_pen
|
|
if not serifs: fisp#:=1/3[fine#,crisp#]; define_whole_pixels(fisp);
|
|
prepare_pen fisp; fi
|
|
if known ogonek_pen#:
|
|
define_whole_pixels(ogonek_pen); prepare_pen ogonek_pen;
|
|
fi
|
|
enddef;
|
|
|
|
endinput;
|
|
|