summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/fonts/source/public/amsfonts/cyrillic/cyrcsc.mf
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/fonts/source/public/amsfonts/cyrillic/cyrcsc.mf')
-rw-r--r--Master/texmf-dist/fonts/source/public/amsfonts/cyrillic/cyrcsc.mf167
1 files changed, 167 insertions, 0 deletions
diff --git a/Master/texmf-dist/fonts/source/public/amsfonts/cyrillic/cyrcsc.mf b/Master/texmf-dist/fonts/source/public/amsfonts/cyrillic/cyrcsc.mf
new file mode 100644
index 00000000000..2ba3cf1ae74
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/amsfonts/cyrillic/cyrcsc.mf
@@ -0,0 +1,167 @@
+%% filename: cyrcsc.mf
+%% version: 2.2
+%% date: 1995/01/04
+%%
+%% American Mathematical Society
+%% Technical Support
+%% Publications Technical Group
+%% 201 Charles Street
+%% Providence, RI 02904
+%% USA
+%% tel: (401) 455-4080
+%% (800) 321-4267 (USA and Canada only)
+%% fax: (401) 331-3842
+%% email: tech-support@ams.org
+%%
+%% Copyright 1995 Humanities and Arts Computing Center, University of
+%% Washington.
+%%
+%% Unlimited copying and redistribution of this file are permitted as
+%% long as this file is not modified. Modifications, and distribution
+%% of modified versions, are permitted, but only if the resulting file
+%% is renamed.
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Driver for WNCYR Washington Computer Modern Cyrillic
+
+font_coding_scheme:=if ligs=0: "TeX typewriter text"
+ else: "TeX text without f-ligatures" fi;
+spanish_shriek=oct"016"; spanish_query=oct"017";
+
+mode_setup; font_setup;
+
+def cyrspread = 1.25dot_size enddef;
+numeric cyrflwd; cyrflwd=2hair;
+numeric cyrflht; cyrflht=4slab;
+
+input cyrmax.mf; %input macro file
+input cyrilu; % input common shapes
+input cyrspu; % and special uppercase forms
+input cyrpunc; % and puctuation etc.
+input serb; % serbian & other chars
+input serbspu;
+%input cyrspl; % and lowercase specials
+
+
+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
+def lowerfit = -.15u enddef;
+def cyrspread = 1.125dot_size enddef;
+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";
+
+% now input for lowercase of common shapes
+input cyrilu; % majuscules (in lowercase positions)
+input cyrspu; % 'special' uppers not special in small caps
+
+code_offset:=8;
+input serb; % serbs and other chars
+input serbspu;
+
+code_offset:=0;
+cmchar "The letter smallcap dotless I";
+beginchar(oct"75",14u#+width_adj#,cap_height#+3dot_size#,0);
+italcorr cap_height#*slant-cap_serif_fit#+cap_jut#-2.5u#+min(.5cap_stem#,u#);
+adjust_fit(cap_serif_fit#,cap_serif_fit#); h:=cap_height;
+pickup tiny.nib; pos1(cap_stem,0); pos2(cap_stem,0);
+pos3(cap_stem,0); pos4(cap_stem,0);
+lft x1l=lft x2l=hround max(2u,3u-.5cap_stem); x3=x4=w-x1;
+top y1=top y3=h; bot y2=bot y4=0;
+filldraw stroke z1e--z2e; % left stem
+filldraw stroke z3e--z4e; % right stem
+if serifs: penpos5(.85cap_stem,90); penpos6(.85cap_stem,90);
+else: penpos5(cap_stem,90); penpos6(cap_stem,90); fi
+x5=x1r; x6=x3l; if serifs: y5=.1h; y6=.9h; else: bot y5l=0; top y6r=h; fi
+fill stroke z5e--z6e; % bar
+if serifs: numeric inner_jut;
+ if rt x1r+cap_jut+.5u+1<=lft x3l-cap_jut: inner_jut=cap_jut;
+ else: rt x1r+inner_jut+.5u+1=lft x3l-inner_jut; fi
+ dish_serif(1,2,a,1/3,cap_jut,b,1/3,inner_jut); % upper left serif
+ dish_serif(2,1,c,1/3,cap_jut,d,1/3,inner_jut); % lower left serif
+ dish_serif(3,4,e,1/3,inner_jut,f,1/3,cap_jut); % upper left serif
+ dish_serif(4,3,g,1/3,inner_jut,h,1/3,cap_jut); fi % lower left serif
+x51=.5w; y51=h; h:=body_height+2dot_size; nucyrbrev(51,q);
+math_fit(0,.5ic#); penlabels(1,2,3,4,5,6); endchar;
+
+
+
+ k#:=-.5u#; kk#:=-1.5u#; kkk#:=-2.5u#; % three degrees of kerning
+ligtable "K": "H"=:"H", "h"=:"H",
+ oct"021": "H": oct"005" kern k#, oct"025" kern k#,
+ "F" kern k#, "O" kern k#, "S" kern k#;
+ligtable "T": "S"=:"C", "s"=:"C",
+ oct"024": "G": "U": "A" kern kkk#,
+ "D" kern kkk#, "L" kern kk#, "C" kern kk#, "a" kern kk#,
+ "d" kern kk#, "f" kern kk#, "o" kern kk#,
+ oct"005" kern kk#, oct"015" kern kk#, oct"025" kern kk#,
+ oct"035" kern kk#, "." kern kk#, "," kern kkk#, ";" kern kk#;
+ligtable "'": "'"=:oct"042";
+ligtable "-": "-"=:oct"173";
+ligtable oct"173": "-"=:oct"174";
+ligtable "6": "h"=:"W", "H"=:"W";
+ligtable "7": "h"=:"w";
+ligtable "A": oct"000": oct"001": oct"136": oct"137": oct"024" kern kk#,
+ oct"006" kern kk#, oct"007" kern kk#, "Q" kern kk#, oct"137" kern kk#;
+ligtable "C": "1"=:oct"007", "H"=:"Q", "h"=:"Q";
+ligtable "D": "1"=:oct"006", "2"=:oct"002", "3"=:oct"026",
+ "J"=:oct"006", "j"=:oct"006";
+ligtable "E": "0"=:oct"023", "1"=:oct"003", "2"=:oct"005";
+ligtable "I": "0"=:oct"022", "1"=:oct"004";
+ligtable "J": "1"=:oct"027", "2"=:oct"020";
+ligtable "L": "1"=:oct"001", "J"=:oct"001", "j"=:oct"001";
+ligtable "N": "0"=:oct"175", "1"=:oct"000", "J"=:oct"000", "j"=:oct"000";
+ligtable "O": oct"003": "F": "O" kern -k#, "F" kern -k#, oct"005" kern -k#,
+ oct"025": "H" kern k#, "A" kern k#, "U" kern k#, oct"024" kern k#,
+ "T" kern k#;
+ligtable "P": "1"=:oct"136", "2"=:oct"137";
+ligtable "t": "s"=:"c",
+ "R": oct"034": "g": "u": oct"035" kern k#,
+ "a" kern k#, "d" kern k#, "f" kern k#,
+ "l" kern k#, "o" kern k#, oct"035" kern k#,
+ "." kern kk#, "," kern kk#, ";" kern kk#;
+ligtable "S": "H"=:"X", "h"=:"X";
+ligtable "X": "Q"=:"W", "q"=:"W", "C"=:"6", "c"=:"6";
+ligtable "Y": "A"=:oct"027", "a"=:oct"027", "U"=:oct"020", "u"=:oct"020";
+ligtable "Z": "1"=:oct"021", "H"=:oct"021", "h"=:oct"021";
+ligtable "[": "["=:oct"074";
+ligtable "]": "]"=:oct"076";
+ligtable "`": "`"=:oct"134";
+ligtable "e": "0"=:oct"033", "1"=:oct"013", "2"=:oct"015";
+% following kerns seem not to actually work out
+% "b": "o": "r": "f": "o" kern -k#, "f" kern -k#, "e" kern -k#,
+% "c" kern -k#, "h" kern k#;
+ligtable "c": "1"=:oct"017", "h"=:"q";
+ligtable "d": "1"=:oct"016", "2"=:oct"012", "3"=:oct"036", "j"=:oct"016";
+ligtable "i": "0"=:oct"032", "1"=:oct"014";
+ligtable "j": "1"=:oct"037", "2"=:oct"030";
+ligtable "k": "h"=:"h";
+ligtable "l": "1"=:oct"011", "j"=:oct"011";
+ligtable "n": "1"=:oct"010", "j"=:oct"010";
+ligtable "p": "1"=:oct"176", "2"=:oct"177";
+ligtable "x": "q"=:"w", "c"=:"7";
+ligtable "y": "a"=:oct"037", "u"=:oct"030";
+ligtable "z": "1"=:oct"031", "h"=:oct"031";
+ligtable "s": "h"=:"x",
+ "m": "w": oct"012" kern -k#, oct"032" kern -k#, "c" kern -k#,
+ "g" kern -k#, "i" kern -k#, "k" kern -k#, "m" kern -k#,
+ "n" kern -k#, "p" kern -k#, "r" kern -k#, "v" kern -k#, "w" kern -k#,
+ "x" kern -k#, "y" kern -k#, oct"176" kern -k#, oct"177" kern -k#;
+
+
+bye.