summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/fonts/source/lh/base/ldcsc.mf
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/fonts/source/lh/base/ldcsc.mf')
-rw-r--r--Master/texmf-dist/fonts/source/lh/base/ldcsc.mf215
1 files changed, 215 insertions, 0 deletions
diff --git a/Master/texmf-dist/fonts/source/lh/base/ldcsc.mf b/Master/texmf-dist/fonts/source/lh/base/ldcsc.mf
new file mode 100644
index 00000000000..b454ff0cfab
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/lh/base/ldcsc.mf
@@ -0,0 +1,215 @@
+%
+% ldcsc.mf
+%
+%% Cyrillic font container with T2 encoding beta-support
+%
+% This file is future part of lxfonts package
+% Version 3.4 // Patchlevel=1
+% (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 for Caps and Small Caps font
+% - modified CSC.MF in Computer Modern fonts
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+LHver_check(3,4); % like |version_check| in ec
+
+font_coding_scheme:=if ligs=0: "TeX typewriter text/Cyr - "&enc_name
+ else: "TeX text without f-ligs/Cyr - "&enc_name fi;
+if altcoding:
+ spanish_shriek=oct"016"; spanish_query=oct"017";
+fi
+
+input lxpseudo;
+
+mode_setup; font_setup;
+pseudo_setup; % |pseudo_setup| from ec
+
+if altcoding:
+ input romanu; % upper case (majuscules)
+ input greeku; % upper case greek letters
+ input romand; % numerals
+ input romanp; % ampersand, question marks, currency sign
+ input romspu; % uppercase specials (\AE, \OE, \O)
+ input punct; % punctuation symbols common to all roman and italic
+ input accent; % accents common to roman and italic text
+ input romsub; % substitutes for ligatures
+fi
+
+if not vfcoding: % ligs for both altcoding and wncoding (dashes & quotes)
+ if ligs>0: input comlig; fi % ligatures common with italic
+fi
+
+input lgcyru; % input uppercase shapes
+input lgcyrsym; % <<, >>, No
+input lgcyracc; % Cyrillic accents
+if old_cyr:
+ input lgocyrac; % Cyrillic Old Slav accents & signs
+fi
+
+if wncoding: %Part used in WNCYR
+ input romand; % numerals
+ input lgpunct; % excerpts from punct.mf
+ input lgromp; % roman question mark
+fi
+
+font_slant slant; font_x_height x_height#;
+
+upper.u#:=u#; %save for Cyrillic kerning table
+
+if monospace: font_normal_space 9u#; % no stretching or shrinking
+ font_quad 18u#;
+ font_extra_space 9u#;
+ if altcoding: input llmligtb; fi % input ligs for quotes
+ if wncoding: input lwnligs; fi % input ligs for Cyrillic in WNCYR
+else: font_normal_space 6u#+2letter_fit#;
+ font_normal_stretch 3u#; font_normal_shrink 2u#;
+ font_quad 18u#+4letter_fit#;
+ font_extra_space 2u#;
+ k#:=-.5u#; kk#:=-1.5u#; kkk#:=-2u#; % three degrees of kerning
+ %
+ % Uppercase Latin ligs & kerns
+ % There are just the same ligs and kerns as in CM
+ % but they are built in more visible form
+ %
+ TITLEfont:=false; SmallCapsfont:=true; ROMANfont:=false;
+ if altcoding:
+ ligtable "P": "T": "Y":
+ "a" kern kk#,
+ "A" kern kk#;
+ ligtable "F": "V": "W":
+ if serifs: "a" kern kkk#,
+ "A" kern kkk#,
+ else: "a" kern kk#,
+ "A" kern kk#, fi
+ "K": "X":
+ "o" kern k#,
+ "O" kern k#,
+ "c" kern k#,
+ "C" kern k#,
+ "g" kern k#,
+ "G" kern k#,
+ "q" kern k#,
+ "Q" kern k#;
+ ligtable "O": "D":
+ "x" kern k#,
+ "X" kern k#,
+ "w" kern k#,
+ "W" kern k#,
+ "a" kern k#,
+ "A" kern k#,
+ "v" kern k#,
+ "V" kern k#,
+ "y" kern k#,
+ "Y" kern k#;
+ ligtable "A": if serifs: "R": fi
+ "c" kern k#,
+ "C" kern k#,
+ "o" kern k#,
+ "O" kern k#,
+ "g" kern k#,
+ "G" kern k#,
+ "u" kern k#,
+ "U" kern k#,
+ "q" kern k#,
+ "Q" kern k#,
+ "L": "T" kern kk#,
+ "t" kern kk#,
+ "Y" kern kk#,
+ "y" kern kk#,
+ "V" kern kkk#,
+ "v" kern kkk#,
+ "W" kern kkk#,
+ "w" kern kkk#;
+ ligtable "I": "I" kern -k#; %fi % Richard III
+ %
+ %% ligature programs for |"-"|, |"`"|, and |"'"| are in the {\tt comlig} file
+ input llvligtb; % input ligs for quotes
+ fi
+ % uppercase Cyrillic ligs & kerns moved down
+fi
+
+%%% fine lower
+forsuffixes $= u, width_adj, cap_serif_fit, letter_fit,
+ body_height, cap_height, x_height, bar_height, comma_depth,
+ flare, 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: $.#:=lower.$.#; endfor
+fudge:=lower.fudge;
+
+if is_small_cap:
+ cap_sbeak# := 7/8 if serifs: max(beak#,desc_depth#) else: desc_depth# fi;
+ define_pixels(cap_sbeak);
+fi
+
+% now try again with |lower| settings
+font_setup; pseudo_setup; % |pseudo_setup| from ec
+
+if altcoding:
+ extra_endchar:=extra_endchar&"charcode:=charcode+code_offset";
+ code_offset:=ASCII"a" - ASCII"A";
+ input romanu; % majuscules (in lowercase positions)
+ code_offset:=-3;
+ input romspu; % \AE, \OE, \O\ (in positions of \ae, \oe, \o)
+ code_offset:=0;
+ input cscspu; % substitutes for the remaining characters of romspl
+fi
+
+is_small_cap:=true;
+input lgcyru; % Cyrillic majuscules (in lowercase positions)
+
+if wncoding: %Part used in WNCYR
+ input lgcspl; % numerals
+fi
+
+if not monospace:
+ k#:=-.5u#; kk#:=-1.5u#; kkk#:=-2u#; % three degrees of kerning
+ %
+ % Lowercase Latin ligs & kerns
+ % There are just the same ligs and kerns as in CM
+ % but they are built in more visible form
+ %
+ if altcoding:
+ ligtable "p": "t": "y":
+ "a" kern kk#;
+ ligtable "f": "v": "w":
+ "a" kern if serifs: kkk# else: kk#\\fi,
+ "k": "x":
+ "o" kern k#,
+ "c" kern k#,
+ "g" kern k#,
+ "q" kern k#;
+ ligtable "o": "d":
+ "x" kern k#,
+ "w" kern k#,
+ "a" kern k#,
+ "v" kern k#,
+ "y" kern k#;
+ ligtable "a": if serifs: "r": fi
+ "c" kern k#,
+ "o" kern k#,
+ "g" kern k#,
+ "u" kern k#,
+ "q" kern k#,
+ "l": "'" kern kk#,
+ "t" kern kk#,
+ "y" kern kk#,
+ "v" kern kkk#,
+ "w" kern kkk#;
+ ligtable "i": "i" kern -k#; % skiing
+ fi
+ %
+ u#:=upper.u#; % restored start u parameter
+ k#:=-.5u#; kk#:=-1.5u#; kkk#:=-2u#; % repeat three degrees of kerning
+ scantokens("input "&(substring(fonteq-2,fonteq) of param_base)&"liker"); % Cyrillic ligs & kerns
+fi
+
+bye.
+%end of file