summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/fonts/source/lh/base/lecsc.mf
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/fonts/source/lh/base/lecsc.mf')
-rw-r--r--Master/texmf-dist/fonts/source/lh/base/lecsc.mf129
1 files changed, 129 insertions, 0 deletions
diff --git a/Master/texmf-dist/fonts/source/lh/base/lecsc.mf b/Master/texmf-dist/fonts/source/lh/base/lecsc.mf
new file mode 100644
index 00000000000..12cb88e33d1
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/lh/base/lecsc.mf
@@ -0,0 +1,129 @@
+%
+% lecsc.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:
+%
+% Driver file, called by parameter files for "caps and small caps" fonts
+% - modified EXCSC.MF in European Computer Modern fonts (ec fonts)
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+LHver_check(3,4); % like |version_check| in ec
+
+
+input lxpseudo;
+
+mode_setup; font_setup;
+pseudo_setup; % |pseudo_setup| from ec
+
+% upper part exr(u/l)(lett/west/east) changed to cyrillic glyphs
+%vvv
+if roman_ec:
+ input exrulett;
+fi
+%<<<
+input lgcyru; % input Cyrillic uppercase shapes
+
+input lgcyrsym; % floating symbols in Cyrillic
+input lgengsym; % latin symbols
+input lgromp; % roman & ?
+input lgrdigit; % roman digits
+
+is_small_cap:=true;
+%%% fine higher
+% the `higher' values are used while putting accents and attaching ogoneks
+forsuffixes $=u,o,letter_fit,x_height,bar_height,body_height,stem:
+ higher.$.#:=$.#; higher.$:=$;
+endfor
+
+%%% fine lower
+begingroup
+forsuffixes $= u, width_adj, cap_serif_fit, letter_fit,
+ body_height, cap_height, x_height, bar_height, comma_depth,
+ flare, dot_size, cap_hair, stem, cap_stem, cap_curve, cap_ess,
+ cap_jut, beak_jut, beak, slab, cap_bar, cap_band, cap_notch_cut,
+ o, apex_o: save $; $.#:=lower.$.#; endfor
+fudge:=lower.fudge;
+
+% optional part:
+forsuffixes $ = depth_corr, left_corr, top_breadth_corr, tip_breadth_corr,
+ tip_xcorr, tip_ycorr, pre_angle, post_angle, pre_limit, post_limit,
+ pre_lightness, post_lightness, pre_deflexion, post_deflexion, cap_flat,
+ ogonek_pen#: if known lower.$: $:=lower.$; fi
+endfor
+
+input lxpseudo; % Recalculate pseudoparameters
+
+font_setup; pseudo_setup; % now try again with |lower| settings
+
+% upper part exr(u/l)(lett/west/east) changed to cyrillic glyphs
+%vvv
+if roman_ec:
+ extra_endchar:=extra_endchar&"charcode:=charcode+code_offset";
+ code_offset:=ASCII"a" - ASCII"A";
+ input exrulett;
+ code_offset:=0;
+fi
+%<<<
+input lgcyru; % input Cyrillic uppercase shapes
+
+input lgcspl; % Small Caps dotless I, J and FF-ligatures for ec_roman
+
+input lypseudo; % Recalculate pseudoparameters for capital accents
+
+font_setup; pseudo_setup; % now try again with |lower| settings
+
+input lycyracc; % Accents for capital letters with small cap parameters
+if old_cyr:
+ input lgocyrac; % Cyrillic Old Slav accents & signs
+fi
+
+
+endgroup;
+
+
+% Fontparameter
+%
+font_coding_scheme:="TeX Cyrillic Font Encoding - "&enc_name;
+boundarychar:=oct"027";
+font_slant slant;
+font_x_height x_height#;
+font_cap_height cap_height#;
+font_asc_height asc_height#;
+font_acc_cap_height (max(cap_height#+acc_height#,uc_acc_height#));
+font_desc_depth desc_depth#;
+font_max_height (max(asc_height#,body_height#,
+ cap_height#+acc_height#,uc_acc_height#));
+font_max_depth (max(desc_depth#,paren_depth#,the_ogonek_depth#));
+% font_digit_width % set inside the digits file
+% font_cap_stem % set after the programme of the capital I
+font_baselineskip (1.2*designsize);
+
+if monospace: font_normal_space 9u#; % no stretching or shrinking
+ font_quad 18u#;
+ font_extra_space 9u#;
+ input llmligtb; % do the ligature programs for monospaced fonts
+else: font_normal_space 6u#+2letter_fit#;
+ font_normal_stretch 3u#; font_normal_shrink 2u#;
+ font_quad 18u#+4letter_fit#;
+ font_extra_space 2u#;
+ TITLEfont:=false; SmallCapsfont:=true; ROMANfont:=false;
+ input llvligtb; % do the ligature programs, not for monospaced fonts
+ if roman_ec: input llcligtb; fi
+ k#:=-.5u#; kk#:=-1.5u#; kkk#:=-2u#; % three degrees of kerning
+ scantokens("input "&(substring(fonteq-2,fonteq) of param_base)&"liker"); % Cyrillic ligs & kerns
+fi
+
+bye.
+%end of file