% 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 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 .} \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 \ifx\directlua\undefined \else \def\tmpa{pdf}\fi \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 ) ============================================ ** 1 ** file extcode.tex renamed to il2code.tex (suggested by Jan Kasprzak) ** 2 ** * 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 } -> \chardef\foo= 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 ** * 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 ** * 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 ** * 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 ** * 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 ** * 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 . ** 8 ** * 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 ** * 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 ** * \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 ** * \letfont in csfontsm.tex reimplemented (XeTeX's \fontname with spaces) * ams-math.tex and tx-math.tex use \letfont. ** 12 ** * 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 ** * English quotes added: csenc-u.tex, il2code.etx, t1code.tex, t1enc-u.tex * csfontsm.tex: \regfontdefault introduced ** 14 ** * 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 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 ** * etex-mac.tex introduced. * hyphen.lan: errmessage about incompatible encoding implemented * luafonts.tex: new code for new version 80 * : \isncxunt -> \inscOunt in etex-mac.tex corrected ** 16 ** * t1enc-u.tex: raw AE, ae, etc. mapped * \input luatex85.sty for LuaTeX specific added * \input ucode for XeTeX and LuaTeX as default ** 17 ** * 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 Mar. 2019: * lua-hyphen.lan introduced (use dynamically loaded patterns for luatex) * luatex -ini csplain.ini generates format with default pdf output. * More hyphen patterns preloaded in pdftex: (pdf)csplain * Only three hyphen patterns preloaded in xetex: pdfcsplain Feb. 2020 * hyphen.lan: skip loading patters when missing file Mar. 2021 * opmac-bib.tex: \ifx\citelist\emtpty -- bug fixed * Mar. 2022 cyrchars.tex: cyrillic characters used in Ukrainian added uni-math.tex: few missing characters added 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.