% Caps and Small Caps in Computer Modern Cyrillic
let cmchar=message; % `|cmchar|' should precede each character
font_coding_scheme:=if ligs=0: "TeX Cyrillic typewriter text"
else: "TeX Cyrillic text without f-ligatures" fi;
spanish_shriek=oct"016"; spanish_query=oct"017";
input cycoding;
mode_setup; font_setup;
input cyru; % upper case (majuscules)
%input romsub; % substitutes for ligatures
%if ligs>0: input comlig; fi % ligatures common with italic
%ligtable "!": "`" =: spanish_shriek;
%ligtable "?": "`" =: spanish_query;
font_slant slant; font_x_height x_height#;
if monospace: font_normal_space 9u#; % no stretching or shrinking
font_quad 18u#;
font_extra_space 9u#;
else: font_normal_space 6u#+2letter_fit#;
font_normal_stretch 3u#; font_normal_shrink 2u#;
font_quad 18u#+4letter_fit#;
font_extra_space 2u#;
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;
font_setup; % now try again with |lower| settings
extra_endchar:=extra_endchar&"charcode:=charcode+code_offset";
code_offset:= ASCII"A" - ASCII"a";
input cyru; % 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
bye.
|