diff options
Diffstat (limited to 'Master/texmf-dist/fonts/source/lh/base/lxpseudo.mf')
-rw-r--r-- | Master/texmf-dist/fonts/source/lh/base/lxpseudo.mf | 105 |
1 files changed, 105 insertions, 0 deletions
diff --git a/Master/texmf-dist/fonts/source/lh/base/lxpseudo.mf b/Master/texmf-dist/fonts/source/lh/base/lxpseudo.mf new file mode 100644 index 00000000000..aa7d9f921f3 --- /dev/null +++ b/Master/texmf-dist/fonts/source/lh/base/lxpseudo.mf @@ -0,0 +1,105 @@ +% +% lxpseudo.mf +% +%% Cyrillic font container with T2 encoding beta-support +% +% This file is future part of lxfonts package +% Version 3.4 // Patchlevel=0 +% (c) O.Lapko +% +% This package belongs to the public domain under conditions similar to +% those of D. E. Knuth specified for the Computer Modern family of fonts. +% In particular, only the authors are entitled to modify this file +% and to save it under the same name. +% +% Content: +% +% expseudo.mf (ec fonts) with another beginning :-) +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% 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|). +% + +LHver_check(3,4); % like |version_check| in ec + +% 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; +%end of file |