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
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
|
% csplain.ini -- see the text after \dump command for more information
\input csfonts % re-defines primitive \font
\input plain % format Plain
\restorefont % original meaning of primitive \font
\input csfontsm % macros: \sizespec, \resizefont, \resizeall, \tenbi, \bi
\ifx\directlua\undefined \else\input luatexiniconfig.tex \fi
\ifx\pdfextension\undefined \else\input luatex85.sty \fi % LuaTeX specific
\ifx\eTeXversion\undefined \else\input etex-mac.tex \fi % eTeX specific
\input il2code % extra codes for czech / slovak letters in ISO-8859-2 encoding
\input hyphen.lan % czech / slovak hyphenation pattern (may be others too)
\input plaina4 % \hsize and \vsize for A4
\everyjob=\expandafter{\the\everyjob
\message{The format: csplain <Apr. 2016>.}
\message{The cs-fonts are preloaded and A4 size implicitly defined.}}
\ifx\xprncode\undefined \else %% The encTeX is detected
\count255=128 % All codes > 128 are printable:
\loop \xprncode\count255=1 \advance\count255 by 1
\ifnum \count255<256 \repeat
\fi
\ifx\enc\undefined \else \input csenc-\enc.tex \fi % re-encoding using encTeX
\ifx\XeTeXuseglyphmetrics\undefined \else % XeTeX specific:
\csname newcount\endcsname \XeTeXallocatorG \XeTeXallocatorG=3
\def\newXeTeXintercharclass#1{% \newXeTeXintercharclas is documented
\global\advance\XeTeXallocatorG by1 % in xetex-reference.pdf
\ifnum\XeTeXallocatorG<255
\global\chardef#1=\XeTeXallocatorG
\wlog{\string#1=\string\XeTeXintercharclass\the\XeTeXallocatorG}%
\else \errmessage{No room for a new \XeTeXintercharclass}\fi}
\XeTeXuseglyphmetrics=1
\input ucode
\fi
\ifx\directlua\undefined \else \input ucode \fi % LuaTeX specific
\ifx\pdfoutput\undefined \else % added in Feb. 2005
\def\tmpa#1#2#3#4\relax{\def\tmpa{#1#2#3}}\expandafter\tmpa\jobname\relax
\def\tmpb{pdf} \edef\tmpa{\meaning\tmpa} \edef\tmpb{\meaning\tmpb}
\ifx\tmpa\tmpb %% PDFTeX with PDF output, \jobname starts by "pdf":
\message {jobname=pdf*, PDF output initialised.}
\openin0=pdftexconfig.tex
\ifeof0 \message{WARNING: pdftexconfig.tex does not exist.
I set \string\pdfoutput=1 only.}%
\else \closein0 \input pdftexconfig.tex
\fi
\pdfoutput=1
\else
\message {jobname=non-pdf, DVI output initialised.}
\pdfoutput=0
\let\oripdfoutput=\pdfoutput \let\pdfoutput=\undefined
\fi
\let\tmpa=\undefined \let\tmpb=\undefined
\fi
\dump
csplain.ini -- the basic file for CSplain format generation
===========================================================
The default behavior after texengine -ini csplain.ini:
- csplain.fmt with DVI output is created
- plain.tex is loaded but cs fonts are preloaded instead of cm fonts
- \hsize, \vsize are set basely on A4 paper format (no letter)
- internal encoding is assumed like csfonts encoding
- no input--internal re-encoding is activated
- language patterns for English, Czech, Slovak are preloaded
(see the hyphen.lan file for info how to add more languages)
- if encTeX is detected then characters 128--255 are printable
- if luaTeX is used then \input luatexiniconfig is performed
- if XeTeX is used then \newXeTeXintercharclass is defined
If pdfTeX primitives are detected and -jobname is set to "pdf*"
(pdfsomething) then PDF output is initialized (instead DVI). Example:
pdftex -ini -jobname pdfcsplain csplain.ini
If pdfTeX primitives are detected and PDF output is initialized and the
pdftexconfig.tex file exists then \input pdftexconfig.tex is performed.
If encTeX is detected, then the meaning of \enc sequence is a subject
of the following behavior:
\enc=u ... UTF-8 input is activated (recommended for 8bit texengines)
\enc=w ... CP1250 input is activated (usable for old Win systems)
\enc=p ... CP852 input is activated (for very old systems)
\enc=k ... Kamenicky input is activated (for very old DOS systems)
undefined . No re-encoding (usable for old Unix systems with ISO-8859-2)
You can type pdftex -ini -enc "\let\enc=u \input csplain.ini"
or you can use a wrapper file (like csplain-utf8.ini).
See http://petr.olsak.net/csplain.html for more information.
Changes of CSplain files (since <Apr. 1995>)
============================================
** 1 ** <Aug. 1996>
file extcode.tex renamed to il2code.tex (suggested by Jan Kasprzak)
** 2 ** <Sep. 1996>
* New metrics of cs-fonts loaded (T\v reba has no kern between T\v r).
* File il2code.tex:
- \icrqq, \protect: removed
- \def\crqq{\protect\irrqq} -> \chardef\crqq=255 \sfcode255=0
- The definition \def\foo{\char<number> } -> \chardef\foo=<number>
for following \foos: \clqq, \flqq, \frqq.
- New definition of \ogonek (the \ogonek A is improoved).
- \defaulthyphenchar=\extrahyphenchar added to \extrahyphens macro.
- The \uv definition added.
** 3 ** <Oct. 1998>
* The input re-encoding possibility using encTeX primitives added.
* Files enc-k.tex, enc-w.tex and enc-p.tex added.
* You can use (for example): tex -enc -ini \let\enc=k \input csplain.ini
to activate the encTeX reencoding
** 4 ** <Feb. 2000>
* The Czech/Slovak patterns are loaded in T1 encoding too: hyphen.lan
was modified, \toneczech, \toneslovak, \iltwoczech, \iltwoslovak
\chardef's was introduced. The default encoding was keep ISO-8859-2.
* You can use (for example): tex -ini \let\Cork=\relax \input csplain.ini
to suppress the loading hyphen patterns in T1 encoding.
* You can use (for example): %&csplain -translate-file=il2-t1
\input t1code \chyph
\font\f=ptmr8t \f
Here is czech text processed in T1 encoded
font ptmr8t and hyphenated by right
pattern table. \end
** 5 ** <Feb. 2005>
* The possibility of csplain initialisation by pdfTeX added
(see \ifx\pdfoutput\undefined \else ... \fi).
* The file pdftexconfig.tex during pdfcsplain initialisation is read
(see \ifx\pdfoutput\undefined \else ... \fi).
* The file t1code.tex corrected (bug in \uccodes removed).
** 6 ** <Sep. 2005>
* Files enc-k.tex, enc-w.tex, enc-p.tex renamed to csenc-*.tex because
only characters from Czech and Slovak alphabet are declared here.
* Commands \let\xordcode=\undefined etc. are removed, but user is kindly
asked to use encTeX primitives with care. The result may be unportable
document with another csplain implementations.
* File csenc-u.tex for UTF8 input encoding using encTeX is added.
You can use (for example): tex -enc -ini \let\enc=u \input csplain.ini
if your system (or text editor) is using UTF8 encoding.
** 7 ** <Sep. 2007>
* Only the Copyright text was changed in order to the "GNU" name is not
mentioned in it. The meaning of Copyright is unchanged.
I was forced to do this change by Debian people. They consider the
license as very important but I don't. IMHO the functionality of
the software is much more important.
* I didn't do any changes in macro code. Thus the \message still says:
The format: csplain <Sep. 2005>.
** 8 ** <Oct. 2012>
* File csfontsm.tex included: (\sizespec, \resizefont, \resizeall,
\tenbi, \bi). This file is read during format generation.
* Little changes of the files ctimes.tex, cavantga.tex etc.
* More changes in t1code.tex file.
* New files tx-math.tex, ttimes.tex, tavanga.tex, etc.
* UTF-8 input encoded by encTeX is recommended.
* The page http://petr.olsak.net/csplain.html introduced.
** 9 ** <Nov. 2012>
* The \regfont macro added in csfontsm.tex.
* In plaina4.tex: \pdfpagewidth (etc.) = 210 *true* mm added
* ucode.tex introduced (for unicode setting).
* hyphen.lan totally rewritten for possibility of loading
hyphen-patterns based on http://tug.org/tex-hyphen/.
* \ifx\directlua\undefined\else \input ... \fi added
* \ifx\XeTeXuseglyphmetrics ... added
** 10 ** <Jan. 2013>
* \letfont macro introduced.
* lmfonts.tex: \ifx\font\corkencoded \def\tmp{rm} corrected.
Jul. 2013: [format wasn't modified]
* \newXeTeXintercharclass defined for XeTeX.
* chars-8z.tex: twice loading is protected.
* lmfonts.tex: cs-lmtt10 loaded, encoding is OK.
Aug. 2013: [format wasn't modified]
* ams-math, tx-math.tex: \dgsize, \whichtfm corrected
* ams-math, tx-math.tex: \mathpreloaded introduced, used in fonts/*.tex
Sep. 2013: [format wasn't modified]
* ams-math, tx-math.tex: \mF introduced
* ucode.tex corrected
* fonts/*.tex: \input chars-8z only if !\corkencoded AND !\unicoded
* exchars.tex introduced
* csplain.ini: PDF output initialized if \jobname=pdf*
* chars-8z: \crq 155->96
** 11 ** <Sep. 2013>
* \letfont in csfontsm.tex reimplemented (XeTeX's \fontname with spaces)
* ams-math.tex and tx-math.tex use \letfont.
** 12 ** <Nov. 2013>
* hyphen.lan: cz -> cs (by ISO 639-1), \onlyUnicode introduced
* \normalmathloading introduced in ams-math.tex, tx-math.tex, lmfonts.tex
* luafonts.tex: new code for version 0.76 of LuaTeX
* The files luaplain.ini and xeplain.ini added.
Jun 2014: [format wasn't modified]
* cyrchars.tex added
** 13 ** <Jul. 2014>
* English quotes added: csenc-u.tex, il2code.etx, t1code.tex, t1enc-u.tex
* csfontsm.tex: \regfontdefault introduced
** 14 ** <Aug. 2014>
* chars-8z.tex: \mubyte for \clq, \crq, \flq and \frq added.
* hyphen.lan: \savinghyphcodes used if detected.
* uni-lcuc.tex introduced; hyphen.lan reads it when \UnicodeLcUc=y.
* ntx-math.tex (derived from tx-math.tex) added.
Dec. 2014: [format wasn't modified]
* opmac <Dec. 2014> added (new implementation of color stuff)
* \setmathcodechanges bug fixed (in ams-math, tx-math and ntx-math.tex)
* \crq corrected in ucode.tex
* luatex 0.79 uses luaotfload-main file, corrected in luafonts.tex
* op-example.bib added
Apr. 2015:
* csenc-u.tex: \utfBOM added.
Jun. 2015:
* ams-tex.tex: \ifx\chyph\undefined added
Oct. 2015:
* hyphen.lan: \chardef\USenglish=0 added (for backward compatibility)
* t1code.tex, ucode.tex: waring supressed if non-csplain loads the file
** 15 ** <Jan. 2016>
* etex-mac.tex introduced.
* hyphen.lan: errmessage about incompatible encoding implemented
* luafonts.tex: new code for new version 80
* <Jan. 2016a>: \isncxunt -> \inscOunt in etex-mac.tex corrected
** 16 ** <Mar. 2016>
* t1enc-u.tex: raw AE, ae, etc. mapped
* \input luatex85.sty for LuaTeX specific added
* \input ucode for XeTeX and LuaTeX as default
** 17 ** <Apr. 2016>
* plaina4: \recount@true for \pdfpagewidth,height added
* ff-mac.tex introduced, cs-*.tex rewritten based on ff-mac.tex
* cs-libertine.tex, kp-fonts.tex, kp-math.tex introduced
* csfontsm.tex: \ifx\tenbi\undefined added
May 2016:
* ctimes.tex etc. font-files rewritten based on ff-mac.tex
* lmfonts.tex rewritten based on ff-mac.tex
* exchars.tex: \tgexchars introduced, \edef used in \setexfont
* uni-math.tex introduced
* luafonts.tex: corrected \let\luafonts=\relax
* kp-math.tex + uni-math.tex corrected: \setmathdimens added
Jun. 2016:
* ff-mac + fontfiles: \ffdecl: first modifiers then basic selectors.
* cs-baskerx, cs-heuristica, cs-kurier, cs-iwona, ki-math, pazo-math added
* plaina4: \ifx\pdfhorigin added (bug when XeTeX is used fixed)
* glyphtounicode-cs.tex added
Jul. 2016:
* etex-mac.tex: \endpinput -> \endinput, typo corrected
COPYRIGHT
=========
This macro package (csplain.ini, il2code.tex, csfonts.tex, csfontsm.tex,
hyphen.lan, plaina4.tex) is free software; you can use it without any
restriction. You can redistribute it under the following condition:
You can do any changes in this software for your own usage. However,
you cannot distribute the changed software under the same name
"csplain". Only the current administrator of CSTeX can do official
changes to csplain.
This macro package is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|