blob: 94513b9f8add1eaa59d67d114cd501680f9c8131 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
|
=========================================================================
LHFONTS version 3.5 file LHFONT35.EN
=========================================================================
(C) A.Khodulev, O.Lapko, A.Berdnikov, V.Volovich
(C) Cyrillic TeX Users Group (CyrTUG)
This package is freeware product. The modification and distribution
of modified package without change of its name is forbidden.
Use of this macro package is not restricted provided each use is
acknowledged upon publication.
-------------------------------------------------------------------------
LHFONTS package -- package for creating Cyrillic LH-family fonts in
different encodings. It includes a few ways of font creation.
How LH package creates fonts for necessary encoding
---------------------------------------------------
There is directory LH\TEX in this package. It includes stuff for creation
of font headers. (The idea and main TeX files were borrowed from file
ecstdedt.tex in ec package).
There are files with names like 01cm-lh.tex which create necessary fonts
in necessary encodings. Run Plain TeX with any of it. With default
settings one could get following METAFONT files:
lhcodes.mf -- encoding file for current LH font
lhliker.mf -- kerning and ligatures for letters in current LH font
These files you must move to directory opened for METAFONT's eyes. If you
have to create font headers, or you emTeX user you can change settings
for your own purposes (see `How to change options for font creation').
How to change options for font creation
---------------------------------------------
For this reason you may edit file setter.tex which includes all necessary
settings for different ways of font heads creation.
The file setter.tex could include following lines:
\MakeFileHeadsfalse % Create font file headers ?
Creation a number of font headers with font head sets (mainly for all
fonts and sizes) - this option could be necessary for some TeX systems
which not allows usage of font patterns.
Default: false.
\SliTeXfalse % Create SliTeX font file headers ?
Creation of font headers for SliTeX fonts. Switch to `true' if you use
SliTeX.
Default: false.
\MakeDvifalse % Create DVI file ?
File ecstdedt.tex (for creation of font headers in ec package) creates
a dvi-file with data table of created font heads, sorted by font names
and sizes. Since this file is not necessary for further work with
fonts, the option false is recommended. (This dvi-file could be useful
and readable for CM-like fonts only.)
Default: false.
\MakeFontEncfalse % Create encoding files ?
This option sets to `true' only for administrators of Cyrillic packages.
It creates encoding file with letter names and their character codes.
Default: false.
\Babeltrue % Create encoding files like LaTeX2e XXXdef.enc ?
Works if previous option is switched to `true'. It creates a "body" of
file from T2 Cyrillic support of LaTeX2e with lines like:
\@tmpb\CYRA{80}\cyra{A0}
`False' option is obsolete (not tested from version 3.3) and could be
deleted in future.
Default: true.
\Berestafalse % Create encoding files for BERESTA.TEX ?
Works if \MakeFontEnctrue and \Babelfalse. It creates a special input
file for BERESTA.TEX with letter/sign definitions.
Default: false.
\TFMonlytrue % Create tfm-files only ?
Adds commands `boolean TFMonly; TFMonly=true;' in temporary font heads
or in command option of MFJob file if switched options \doMFJobtrue
or \MakeFileHeadstrue. Since in this case there are created tfm-files
only, METAFONT runs much faster but pk or gf files are not useful and
must be deleted. This option is useful at the very beginning of TeXMF
installation.
Default: true.
\doBatchfalse % Create Batch file
Creates batch file; if \doBatchtrue there are set following lines for
font creation:
\def\BatchOutput#1{
\BatchLine{$ MF "\string\mode=localfont; input #1"}
}
you may edit \BatchOutput by following way:
\def\BatchOutput#1{
\BatchLine{...}
...
\BatchLine{...}
}
i.e. set a few command lines
NOTE. This option heavily borrowed from ecstdedt.tex (EC fonts) and
didn't tested. Edit this stuff if you know what to do :-)
Default: false.
\doMFJobfalse % Create MFJob file ?
True option could be useful for emTex users. It switches on creation of
MFJob file for generating of font set.
Default: false.
The next few options are connected with \doMFJobtrue option.
% Another MFJob definitions
\def\jobmodedef{m}
Definition of MFJob mode: creation of fonts for necessary output device
(printer, screen etc., see dvidrv documentation for more information).
Default: m (laserjet300).
\def\fmtbase{plain}
The name of METAFONT base necessary for these fonts.
Default: plain.
\def\mfjobscaling{s0}
Font scaling to be generated. That could be enlarged to {s0 sh s1 s2 s3
s4 s5}.
Default: s0 (only \magstep0 or mag=1).
\def\mfcommand{}
Additional METAFONT commands for font headers e.g. `extra_endchar :=
extra_endchar & "clearit";' (to create invisible fonts).
Default: empty.
\endinput
There are also two definitions for font assortment files:
\def\fntallcm{fntallcm} % Font assortment for CM-like fonts
\def\fntallec{fntallec} % Font assortment for EC-like fonts
which are the data files with list of created font headers for CM-like
(\fntallcm) and EC-like (\fntallec) fonts.
There are following (pairs) of files for font creation:
*) fntallcm.tex - creation of font headers for CM-like fonts i.e. fonts
with CM font in lower part of font table (0-127);
fntallec.tex - creation of font headers for T2*/X2*-encodings; these
fonts are analogues to EC fonts;
*) fntinvcm.tex - creation of SliTeX font headers for CM-like fonts;
fntinvec.tex - creation of SliTeX font headers for T2*/X2*-encodings;
*) fntmincm.tex - creation of minimal set of font headers for CM-like-
font encodings; there are created font size 10 only;
fntminec.tex - creation of minimal set of font headers for T2*/X2*-
encodings; there are created font size 10 only;
*) fntbercm.tex - creation of font header assortment as which is neces-
sary for beresta.tex - CM-like fonts;
fntberec.tex - creation of font header assortment as which is neces-
sary for beresta.tex - EC-like fonts;
*) fntbasec.tex - experimental file with reduced font set of EC-like
fonts; could be useful if user has not too much disk space.
Files like 01cm-lh.tex include following commands which could be edited:
*) \def\wrkdir{/wrk} - path for created mf files;
by default it's wrk subdirectory. It already exists in archive file.
NOTE for DOS and Windows users:
in path you must use slash (/) instead of backslash (\)!
*) \def\fonttwoletters{lh} - command sets first two letters of font which
determine necessary encoding;
*) \def\encodingletters{lh} - set two letters of encoding name if first
two letters in font differ from encoding name e.g.:
\def\fonttwoletters{ll}\def\encodingletters{lh}
*) \def\defamily{<commands>^^J<commands>^^J} - command lines placed in
font header; to create multiline commands one may use ^^J - e.g. if
you set:
\def\defamily{ more_letters:=true; other_cyr:=true;^^J
enc_name:="ISO8859-5";}
you'll get in header file following lines:
more_letters:=true; other_cyr:=true;
enc_name:="ISO8859-5";
*) \def\fontfile{\fntallec} or \def\fontfile{\fntallcm}
sets whether CM or EC-like font you want to create; the assortment
could be better edited in setter.tex;
*) \codehatsfalse
works if sets \MakeFontEncfalse and \Babelfalse; creates letter macros
as \def\CYRA{^^80} if switched true or \chardef\CYRA="80 if false.
And at last run all necessary files for METAFONT and TeX font stuff:
*) cod-edt.tex
creates necessary encoding file for the font;
if switched `\MakeFontEnctrue' creates uccode/lccode/mathcode file for
this font and
file with macros-letters for current encoding (these files could be
used by package administrator e.g. for Babel's Russian style or for a
Cyrillic letter citations).
*) rliker.tex
creates necessary file with ligatures and kerning for current encoding;
*) cfstdedt.tex
creates file headers of fonts named accordingly to current encoding
and scheme of font creation;
The fonts which you may create
-------------------------------
01CM-LH - Latin-Russian fonts in Alternative encoding;
03CM-WN - Cyrillic font in WNCYR encoding for typesetting with transli-
teration;
04CM-VF - Russian virtual font in 7-bit encoding;
11EX-RS - file in X2 encoding;
11EX-RX - file in XS (Old Slav: experimental) encoding;
12EX-LA - file in ’2A encoding;
13EX-LB - file in ’2B encoding;
14EX-LC - file in ’2C encoding;
15EX-LD - file in ’2D encoding;
20CM-CT - Cyrillic in Tatar encoding;
21CM-IC - ISO-8859 Cyrillic;
22CM-WC - Windows-1251 Cyrillic;
23CM-MC - Macintosh Cyrillic;
24CM-KC - KOI8r Cyrillic;
25CM-UC - Unicode Cyrillic codepage;
30CM-LX* - Latin-Russian fonts in Alternative encoding eXtended;
31CM-IX* - ISO-8859 Cyrillic eXtended;
32CM-WX* - Windows-1251 Cyrillic eXtended;
33CM-MX* - Macintosh Cyrillic eXtended;
34CM-KX* - KOI8r Cyrillic eXtended;
46CM-LY - beta-file with OT2upper part/OT1;
46CM-LZ - beta-file with OT2lower part/OT1;
91BEREST - creates fonts for beresta.tex;
95CM-XX - creates additional fonts for beresta.tex;
99-T2ENC - creates font headers for all T2/(X2) encodings;
99ALLENC - creates font headers for all more or less standard encodings
in this package;
99TSTENC - creates font headers for all existing encodings in this
package;
* The experimental group of encodings which double each other with letter
assortment.
Work with Russian language in MS DOS
------------------------------------
For WORK with Cyrillic you may use Russian versions of MS DOS 4.01
and later versions (e.g. MS DOS 6.0, No. 147-95 UV 600) with usage of
code page 866. In this system you may in file config.sys write the
line:
COUNTRY=007 866 D:\DOS\COUNTRY.SYS
If you want to create your documents in Russian with English Alphabet
you can use the TRANSLIT program or typesetting by transliteration
(the wn-fonts use the same transliteration mechanism like AmS WNCYR).
=========================================================================
LHFONTS version 3.5 file LHFONT35.EN
=========================================================================
|