summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/csplain
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2013-11-26 23:20:04 +0000
committerKarl Berry <karl@freefriends.org>2013-11-26 23:20:04 +0000
commitfb91667b247fe27096e359343eab502290656a11 (patch)
tree56f12c77535cee07c7ac0d643f7efd3058efc411 /Master/texmf-dist/tex/csplain
parent93d97c86679ad3e449ccb58cff961c4dfca740e9 (diff)
csplain
git-svn-id: svn://tug.org/texlive/trunk@32248 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/csplain')
-rw-r--r--Master/texmf-dist/tex/csplain/base/csplain.ini9
-rw-r--r--Master/texmf-dist/tex/csplain/base/hyphen.lan91
-rw-r--r--Master/texmf-dist/tex/csplain/base/luaplain.ini117
-rw-r--r--Master/texmf-dist/tex/csplain/base/xeplain.ini116
-rw-r--r--Master/texmf-dist/tex/csplain/fonts/ams-math.tex3
-rw-r--r--Master/texmf-dist/tex/csplain/fonts/lmfonts.tex3
-rw-r--r--Master/texmf-dist/tex/csplain/fonts/luafonts.tex26
-rw-r--r--Master/texmf-dist/tex/csplain/fonts/tx-math.tex3
-rw-r--r--Master/texmf-dist/tex/csplain/opmac/opmac.tex47
9 files changed, 353 insertions, 62 deletions
diff --git a/Master/texmf-dist/tex/csplain/base/csplain.ini b/Master/texmf-dist/tex/csplain/base/csplain.ini
index 0616351b125..81f0a9b2ae7 100644
--- a/Master/texmf-dist/tex/csplain/base/csplain.ini
+++ b/Master/texmf-dist/tex/csplain/base/csplain.ini
@@ -7,7 +7,7 @@
\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 <Sep. 2013>.}
+ \message{The format: csplain <Nov. 2013>.}
\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:
@@ -192,6 +192,13 @@ file extcode.tex renamed to il2code.tex (suggested by Jan Kasprzak)
* \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.
+
+
COPYRIGHT
=========
diff --git a/Master/texmf-dist/tex/csplain/base/hyphen.lan b/Master/texmf-dist/tex/csplain/base/hyphen.lan
index c8749b90a23..62f2d988fd6 100644
--- a/Master/texmf-dist/tex/csplain/base/hyphen.lan
+++ b/Master/texmf-dist/tex/csplain/base/hyphen.lan
@@ -19,22 +19,26 @@
\ifx#8\relax \else
\expandafter\def\expandafter#8\expandafter{#8\let#9#1}\fi
\edef\pattlist{\pattlist #1=#2 }
+ \advance\numpatterns by1
\fi
}
\def\pattlist{} \def\initlanguage#1{}
+\newcount\numpatterns
\def\robustpatterns{\let\oripatterns=\patterns \def\patterns##1{\scanpatterns##1{}{##1}}}
\def\scanpatterns#1{\if$#1$\expandafter\oripatterns\else
\ifnum`#1<128 \else \lccode`#1=`#1 \fi \expandafter\scanpatterns\fi}
+\def\ucodeset{\ifx\font\unicoded \else \input ucode \fi}
+
\def\tmp#1#2\relax{\def\tmp{#2}}\tmp ^^^^abcd\relax % 16bit TeX engine?
\ifx\allpatterns\undefined \catcode`\:=14 \else \catcode`\:=9 \fi % comment or ignored
\def\iltwolangs{} \def\corklangs{} \def\unicodelangs{}
%% \corklangs (etc.) cummulates the commands
-%% \let\czPatt=\czCork \let\skPatt=\skCork (etc.)
-%% You can run \corklangs before \language=\czPatt or \language=\skPatt
+%% \let\csPatt=\csCork \let\skPatt=\skCork (etc.)
+%% You can run \corklangs before \language=\csPatt or \language=\skPatt
%% if you want to work in T1 encoding.
%% You can remove the colon character if you want to use
@@ -43,9 +47,12 @@
%% or
%% pdftex -ini "\let\allpaterns=y \input csplain.ini"
+%% If you are using 16bit TeX engine then you can say \let\onlyUnicode=y
+%% and the ISO- and Cork- encoded patterns will be skipped
+
%% ASCII (these patterns work independently on choosen encoding):
-\let\USenglish=\patterns % Default plainTeX US English
+\let\enPatt=\patterns % Default plainTeX US English
:\let\enusPatt=\patterns % US English extended
:\let\engbPatt=\patterns % UK English
:\let\itPatt=\patterns % Italian
@@ -54,7 +61,9 @@
%% ISO-8859-2 (default patterns in csplain):
-\let\czILtwo=\patterns
+\ifx\onlyUnicode\undefined %
+
+\let\csILtwo=\patterns
\let\skILtwo=\patterns
%% You can say
@@ -63,7 +72,7 @@
\ifx\Cork\undefined
-\let\czCork=\patterns % Czech
+\let\csCork=\patterns % Czech
\let\skCork=\patterns % Slovak
\ifx\tmp\empty\else
@@ -98,13 +107,13 @@
:\let\tkCork=\patterns % Turkmen
:\let\laCork=\patterns % Latin
-\fi\fi
+\fi\fi\fi
%% test of Unicoded TeX engine
\ifx\tmp\empty
-\let\czUnicode=\patterns % Czech
+\let\csUnicode=\patterns % Czech
\let\skUnicode=\patterns % Slovak
:\let\deUnicode=\patterns % German
:\let\frUnicode=\patterns % French
@@ -160,12 +169,13 @@
:\let\teUnicode=\patterns % Telugu
\fi
+\let\czILtwo=\csILtwo \let\czCork=\csCork \let\czUnicode=\csUnicode
\catcode58=12 % colon has normal meaning now
\def\patt{hyphenation patterns }
-\loadpatterns \USenglish 0 us {US English \patt in ASCII}
- {\input hyphen.ex }23 \relax \USenglish
+\loadpatterns \enPatt 0 en {US English \patt in ASCII}
+ {\input hyphen.ex }23 \relax \enPatt
\loadpatterns \enusPatt 100 enus {US English extended \patt in ASCII}
{\input hyph-en-us }23 \relax \enusPatt
@@ -182,15 +192,15 @@
\loadpatterns \idPatt 104 id {Indonesian \patt in ASCII}
{\input hyph-id }23 \relax \idPatt
-\loadpatterns \czILtwo 5 cz {Czech \patt in ISO-8859-2}
- {\doaccents \input czhyphen.tex \input czhyphen.ex }23 \iltwolangs \czPatt
+\loadpatterns \csILtwo 5 cs {Czech \patt in ISO-8859-2}
+ {\doaccents \input czhyphen.tex \input czhyphen.ex }23 \iltwolangs \csPatt
\loadpatterns \skILtwo 6 sk {Slovak \patt in ISO-8859-2}
{\doaccents \input skhyphen.tex \input skhyphen.ex }23 \iltwolangs \skPatt
-\loadpatterns \czCork 15 cz {Czech \patt in Cork}
+\loadpatterns \csCork 15 cs {Czech \patt in Cork}
{\input t1code \doaccents \input czhyphen.tex \input czhyphen.ex }23
- \corklangs \czPatt
+ \corklangs \csPatt
\loadpatterns \skCork 16 sk {Slovak \patt in Cork}
{\input t1code \doaccents \input skhyphen.tex \input skhyphen.ex }23
@@ -244,7 +254,7 @@
\loadpatterns \nlCork 37 nl {Dutch \patt in Cork}
{\input conv-utf8-ec \input hyph-nl }22 \corklangs \nlPatt
-\loadpatterns \ptCork 38 pt {Portugesse \patt in Cork}
+\loadpatterns \ptCork 38 pt {Portuguese \patt in Cork}
{\lccode`\-=`\- \input conv-utf8-ec \input hyph-pt }23 \corklangs \ptPatt
\loadpatterns \roCork 39 ro {Romanian \patt in Cork}
@@ -278,12 +288,12 @@
\loadpatterns \laCork 48 la {Latin \patt in Cork}
{\lccode`\'=`\' \input conv-utf8-ec \input hyph-la }22 \corklangs \laPatt
-\loadpatterns \czUnicode 115 cz {Czech \patt in Unicode}
- {\input ucode \doaccents \input czhyphen.tex \input czhyphen.ex }23
- \unicodelangs \czPatt
+\loadpatterns \csUnicode 115 cs {Czech \patt in Unicode}
+ {\ucodeset \doaccents \input czhyphen.tex \input czhyphen.ex }23
+ \unicodelangs \csPatt
\loadpatterns \skUnicode 116 sk {Slovak \patt in Unicode}
- {\input ucode \doaccents \input skhyphen.tex \input skhyphen.ex }23
+ {\ucodeset \doaccents \input skhyphen.tex \input skhyphen.ex }23
\unicodelangs \skPatt
\loadpatterns \deUnicode 121 de {German \patt in Unicode}
@@ -334,7 +344,7 @@
\loadpatterns \nlUnicode 137 nl {Dutch \patt in Unicode}
{\robustpatterns \input hyph-nl }22 \unicodelangs \nlPatt
-\loadpatterns \ptUnicode 138 pt {Portugesse \patt in Unicode}
+\loadpatterns \ptUnicode 138 pt {Portuguese \patt in Unicode}
{\robustpatterns \lccode`\-=`\- \input hyph-pt }23 \unicodelangs \ptPatt
\loadpatterns \roUnicode 139 ro {Romanian \patt in Unicode}
@@ -436,49 +446,52 @@
\loadpatterns \taUnicode 221 ta {Tamil \patt in Unicode}
{\robustpatterns \input hyph-ta }11 \unicodelangs \taPatt
-\loadpatterns \teUnicode 222 te {Telgu \patt in Unicode}
+\loadpatterns \teUnicode 222 te {Telugu \patt in Unicode}
{\robustpatterns \input hyph-te }11 \unicodelangs \tePatt
-\message{Patterns: \pattlist}
+\message{\the\numpatterns\space patterns preloaded: \pattlist}
\message{Defaults: \string\language=\the\language,
- \string\cmaccents, \string\nofrenchspacing,
- ISO-8859-2 font encoding}
+ \string\cmaccents, \string\nofrenchspacing,}
% ========= for backward compatibility ========
-\newcount\czech \newcount\slovak
+\let\iltwoczech=\csILtwo \let\iltwoslovak=\skILtwo
+\let\toneczech=\csCork \let\toneslovak=\skCork
-\let\iltwoczech=\czILtwo \let\iltwoslovak=\skILtwo
-\let\toneczech=\czCork \let\toneslovak=\skCork
+\let\czILtwo=\csILtwo \let\czCork=\csCork \let\czUnicode=\csUnicode
\expandafter \def\expandafter\iltwolangs \expandafter {\iltwolangs
- \czech\czILtwo \slovak\skILtwo}
+ \let\czech\csILtwo \let\slovak\skILtwo}
-\ifx\czCork\undefined \else
+\ifx\csCork\undefined \else
\expandafter \def\expandafter\corklangs \expandafter {\corklangs
- \czech\czCork \slovak\skCork}
+ \let\czech\csCork \let\slovak\skCork}
\fi
-\ifx\czUnicode\undefined \else
+\ifx\csUnicode\undefined \else
\expandafter \def\expandafter\unicodelangs \expandafter {\unicodelangs
- \czech\czUnicode \slovak\skUnicode}
+ \let\czech\csUnicode \let\slovak\skUnicode}
\fi
-\def\uslang{\language=\USenglish \initlanguage{us}\nonfrenchspacing
- \lefthyphenmin=2 \righthyphenmin=3
+\def\enlang{\language=\enPatt \initlanguage{en}\nonfrenchspacing
+ \lefthyphenmin=2 \righthyphenmin=3
\message{English hyphenation used (\string\language=\the\language).
\string\nonfrenchspacing\space is set on.}}
-\let\ehyph=\uslang \let\chyph=\czlang \let\shyph=\sklang
+\let\uslang=\enlang \let\ehyph=\enlang \let\chyph=\cslang \let\shyph=\sklang
-\iltwolangs % csplain default is ISO-8859-2 encoding
+\ifx\onlyUnicode\undefined
+ \iltwolangs \message{ISO-8859-2 font encoding}
+\else
+ \unicodelangs \message{Unicode font encoding}
+\fi
\endinput
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-If \<lang>Code (for example \czUnicode, \deCork) is undefined, the patterns
+If \<lang>Code (for example \csUnicode, \deCork) is undefined, the patterns
are not loaded. If user sets \<lang>Code=\patterns before this file is
loaded, then the patterns are loaded.
@@ -491,8 +504,8 @@ or
in order to load the additional patterns.
-By default, only \USenglish=0 \czILtwo=5, \skILtwo=6, \czCork=15, \skCork=16
-are loaded in 8bit TeX. The additional \czUnicode=115, \skUnicode=116 are
+By default, only \USenglish=0 \csILtwo=5, \skILtwo=6, \csCork=15, \skCork=16
+are loaded in 8bit TeX. The additional \csUnicode=115, \skUnicode=116 are
loaded in 16bit TeX.
The macro \loadpatterns \langCode <num> <lang> {note}
@@ -501,7 +514,7 @@ does following:
- If \langCode is undefined, does nothing.
- Declares \chadref\langCode=<num>.
- Loads new pattern with the number <num> by {action} in the group,
-- Defines \"<lang>lang" macro (for example \czlang), which sets
+- Defines \"<lang>lang" macro (for example \cslang), which sets
\language=\switch \lefthyphenmin=<lhm> \righthypgenmin=<rhm>
and runs \initlanguage{<lang>}. The \initlanguage is dumy by default
but macro programmer can define it.
diff --git a/Master/texmf-dist/tex/csplain/base/luaplain.ini b/Master/texmf-dist/tex/csplain/base/luaplain.ini
new file mode 100644
index 00000000000..731302c535b
--- /dev/null
+++ b/Master/texmf-dist/tex/csplain/base/luaplain.ini
@@ -0,0 +1,117 @@
+%% luaplain.ini -- luaTeX with csplain
+%% Petr Olsak 2013
+%% ------------------------------------
+%% You can generate the luaplain format: luatex -ini luaplain.ini
+%% See the end of this file for more information
+
+\catcode`\{=1 \catcode`\}=2 \catcode`\#=6
+
+%% We will skip the \font section in plain.tex file.
+%% In order to do this we temporary re-define the \font primitive:
+ \let\orifont=\font
+ \long\def\font#1\ttfam=\tentt{} % skip the font section from plain.tex
+ \let\rm=\relax \let\tenex=\relax % some macros are set to temporary meaning
+ \def\mit{\fam1 } \def\cal{\fam2 } % some macros are set by plain TeX
+ \def\it{\fam\itfam\tenit} \def\sl{\fam\slfam\tensl}
+ \def\bf{\fam\bffam\tenbf} \def\tt{\fam\ttfam\tentt}
+ \def\oldstyle{\fam1 \the\textfont1 }
+
+%% \outer macros do problems only, no profit:
+ \let\outer=\relax
+
+%% plain TeX macros are loaded now (including hyphenation pattern 0):
+ \input plain % format Plain
+
+%% LuaTeX initialisation:
+ \input luatexiniconfig.tex
+
+%% Next base macros:
+ \input plaina4 % \hsize and \vsize for A4
+ \def\font#1 {} % ignore \font\tenbi=csbxti10
+ \input csfontsm % macros: \sizespec, \resizefont, \resizeall, \tenbi, \bi
+ \let\font=\orifont % original meaning of the font
+ \input ucode % extra codes for czech / slovak letters in Unicode
+ \def\fontfeatures{mode=base;script=latn;+tlig}
+ \input lmfonts % Latin Modern fonts preloaded in Unicode
+ \let\fontfeatures=\undefined
+
+%% Hyphenation patterns loading:
+ % \let\allpatterns=y % uncomment this if you needd all patterns
+ % \let\deUnicode=y % uncomment this if you need only en+cs+sk+de patterns
+ \let\onlyUnicode=y % comment this if you need Iso+Cork+Unicode patterns
+ \input hyphen.lan
+
+%% We need to reaload the otfload lua code:
+ \def\font{\input luafonts \global\let\font=\orifont \font}
+
+%% Default output format:
+ \pdfoutput=1
+
+\everyjob={%
+ \message{The format: luaplain based on csplain <Nov. 2013>.}%
+ \message{Unicode internal encoding is set.}%
+ \message{Latin Modern fonts + ams-math are preloaded and A4 size implicitly defined.}%
+ \message{\the\numpatterns\space hyphenation patterns are preloaded
+ (see \string\pattlist), \string\enlang\space is default.}}
+
+\dump
+
+==================== Comments ========================
+
+You can generate your LuaTeX format based o csplain by:
+
+ luatex -ini luaplain.ini
+
+and use it by:
+
+ luatex -fmt luaplain document
+
+You can create an alias "luaplain = luatex -fmt luaplain" in your system.
+You can modify this file for your needs without limitation.
+
+Here is a test:
+
+ \chyph
+ Ahoj světe, toto je česky napsaný text zpracovaný v Unicode.
+ \end
+
+Try to process it by ``luaplain document''.
+
+The main reason of this format: user needn't to write lines
+
+ \input ucode
+ \input lmfonts
+
+at the beginning of his/her document. The document processed by csplain
+(with encTeX and pdfTeX) should give the same result as processing it by
+luaplain.
+
+Warning: The LuaTeX and OTFload Lua code are in the beta testing phase.
+Use it with care.
+
+
+Notices about triks used in this file
+-------------------------------------
+
+The part of loading fonts in plain.tex file is skipped because we needn't to
+preload the old 7bit fonts. These fonts are unusable in Unicoded TeX-engine
+when Czech or Slovak languages are used. On the other hand, the Latin Modern
+fonts (in Unicode) are preloded.
+
+So: the \font primitive is re-defined before \input plain.tex.
+Some skipped macros from plain.tex are copied here.
+
+You can comment/uncomment or add names of the desired language patterns in
+the Hyphenation section of this file. See the hyphen.lan file for more details.
+
+The lua code preloaded in order to set more intelligence to the \font
+primitive (OTF loading) isn't stored to the format file, unfortunatelly.
+So we need to load this in lua-virTeX again. There is some trick here which
+loads this code at the first usage of the \font command (\font primitive is
+redefined and it retuns its original meaning after desired lua code is loaded.
+
+The font feature mode=base is set because we need to store the metrics including
+kerning/ligature tables to the dumped format.
+
+
+------------------------------------------------
diff --git a/Master/texmf-dist/tex/csplain/base/xeplain.ini b/Master/texmf-dist/tex/csplain/base/xeplain.ini
new file mode 100644
index 00000000000..181baeda470
--- /dev/null
+++ b/Master/texmf-dist/tex/csplain/base/xeplain.ini
@@ -0,0 +1,116 @@
+%% xeplain.ini -- XeTeX with csplain
+%% Petr Olsak 2013
+%% ------------------------------------
+%% You can generate the xeplain format: xetex -etex -ini xeplain.ini
+%% See the end of this file for more information
+
+\catcode`\{=1 \catcode`\}=2 \catcode`\#=6
+
+%% We will skip the \font section in plain.tex file.
+%% In order to do this we temporary re-define the \font primitive:
+ \let\orifont=\font
+ \long\def\font#1\ttfam=\tentt{} % skip the font section from plain.tex
+ \let\rm=\relax \let\tenex=\relax % some macros are set to temporary meaning
+ \orifont\tenrm=cmr10 \orifont\tenit=cmti10 % temporary fonts
+ \def\mit{\fam1 } \def\cal{\fam2 } % some macros are set by plain TeX
+ \def\it{\fam\itfam\tenit} \def\sl{\fam\slfam\tensl}
+ \def\bf{\fam\bffam\tenbf} \def\tt{\fam\ttfam\tentt}
+ \def\oldstyle{\fam1 \the\textfont1 }
+
+%% \outer macros do problems only, no profit:
+ \let\outer=\relax
+
+%% plain TeX macros are loaded now (including hyphenation pattern 0):
+ \input plain % format Plain
+
+%% XeTeX initialisation:
+ \newcount\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 % use -etex extension during format generation
+
+%% Next base macros:
+ \input plaina4 % \hsize and \vsize for A4
+ \def\font#1 {} % ignore \font\tenbi=csbxti10
+ \input csfontsm % macros: \sizespec, \resizefont, \resizeall, \tenbi, \bi
+ \let\font=\orifont
+ \input ucode % extra codes for czech / slovak letters in Unicode
+ \input ams-math % AMS math fonts
+ \def\fontfeatures{mapping=tex-text;script=latn}
+
+%% Hyphenation patterns loading:
+ % \let\allpatterns=y % uncomment this if you needd all patterns
+ % \let\deUnicode=y % uncomment this if you need only en+cs+sk+de patterns
+ \let\onlyUnicode=y % comment this if you need Iso+Cork+Unicode patterns
+ \input hyphen.lan
+
+\everyjob={%
+ \message{The format: xeplain based on csplain <Nov. 2013>.}%
+ \message{Unicode internal encoding is set.}%
+ \font\tenrm="[lmroman10-regular]:\fontfeatures"
+ \font\tenbf="[lmroman10-bold]:\fontfeatures"
+ \font\tenit="[lmroman10-italic]:\fontfeatures"
+ \font\tenbi="[lmroman10-bolditalic]:\fontfeatures"
+ \font\tentt="[texgyrecursor-regular]"
+ \tenrm
+ \message{Latin Modern fonts + ams-math are preloaded and A4 size implicitly defined.}%
+ \message{\the\numpatterns\space hyphenation patterns are preloaded
+ (see \string\pattlist), \string\enlang\space is default.}}
+
+\dump
+
+==================== Comments ========================
+
+You can generate your XeTeX format based o csplain by:
+
+ xetex -ini -etex xeplain.ini
+
+and use it by:
+
+ xetex -fmt xeplain document
+
+You can create an alias "xeplain = xetex -fmt xeplain" in your system.
+You can modify this file for your needs without limitation.
+
+Here is a test:
+
+ \cslang
+ Ahoj světe, toto je česky napsaný text zpracovaný v Unicode.
+ \end
+
+Try to process it by ``xeplain document''.
+
+The main reason of this format: user needn't to write lines
+
+ \input ucode
+ \input lmfonts
+
+at the beginning of his/her document. The document processed by csplain
+(with encTeX and pdfTeX) should give the same result as processing it by
+xeplain.
+
+
+Notices about triks used in this file
+-------------------------------------
+
+The part of loading fonts in plain.tex file is skipped because we needn't to
+preload the old 7bit fonts. These fonts are unusable in Unicoded TeX-engine
+when Czech or Slovak languages are used. On the other hand, the Latin Modern
+fonts (in Unicode) are preloded.
+
+So: the \font primitive is re-defined before \input plain.tex.
+Some skipped macros from plain.tex are copied here.
+
+You can comment/uncomment or add names of the desired language patterns in
+the Hyphenation section of this file. See the hyphen.lan file for more details.
+
+XeTeX is unable to store OTF fonts into format file. This is the reason why
+the LM fonts are read in \everyjob. Only math 8bit fonts are preloaded from
+ams-math file.
+
+
+------------------------------------------------
diff --git a/Master/texmf-dist/tex/csplain/fonts/ams-math.tex b/Master/texmf-dist/tex/csplain/fonts/ams-math.tex
index e62c192d70a..35c94875fc0 100644
--- a/Master/texmf-dist/tex/csplain/fonts/ams-math.tex
+++ b/Master/texmf-dist/tex/csplain/fonts/ams-math.tex
@@ -212,7 +212,7 @@
\ifx\sizemtext\undefined \setmathsizes[10/7/5]\fi
\ifx\tenbi\undefined \font\tenbi=ptmbi8z \relax \fi
-\normalmath % load families, normal shape
+\ifx\normalmathloading\relax\else \normalmath \fi % load families, normal shape
\mitvariables % \rm in \fam0 and avriables in math by \mit
%% \mathchardef declarations
@@ -506,3 +506,4 @@ Aug. 2013: \tmp -> \mF (the sequence is printed in overfull messages)
Sep. 2013: \letfont plus \corrmsizes used in \setmathfamily
\ptmunit depends on \ptunit now
\setmathfamily <num><space><font-selector> ... (<space> added)
+Nov. 2013 Test of \normalmathloading introduced
diff --git a/Master/texmf-dist/tex/csplain/fonts/lmfonts.tex b/Master/texmf-dist/tex/csplain/fonts/lmfonts.tex
index aa1ed043dbf..a8ab3680259 100644
--- a/Master/texmf-dist/tex/csplain/fonts/lmfonts.tex
+++ b/Master/texmf-dist/tex/csplain/fonts/lmfonts.tex
@@ -8,6 +8,7 @@
\ifx\sizespec\undefined \def\sizespec{}\fi
\ifx\font\corkencoded\else \ifx\font\unicoded\else \input chars-8z \fi\fi
+\let\normalmathloading=\relax
\ifx\mathpreloaded A\else \input ams-math \fi
\ifx\font\corkencoded \def\tmp{ec}\else \def\tmp{cs}\fi
@@ -63,7 +64,7 @@
\exregtfm bbfsans 0 \tmp-lmssbx10 *
\exregtfm bbisans 0 \tmp-lmssbo10 *
-\normalmath
+\normalmath \let\normalmathloading=y
\let\lmfonts=\font % macros can do test: \ifx\font\lmfonts ...
diff --git a/Master/texmf-dist/tex/csplain/fonts/luafonts.tex b/Master/texmf-dist/tex/csplain/fonts/luafonts.tex
index c07b2d3e798..f4653c74321 100644
--- a/Master/texmf-dist/tex/csplain/fonts/luafonts.tex
+++ b/Master/texmf-dist/tex/csplain/fonts/luafonts.tex
@@ -1,9 +1,11 @@
% I don't understand this. This is a result of my reverse engeneering of the
-% fontspec package.
+% luaotfload.sty package.
% LuaTeX needs these \directlua in order to \font primitive works like in XeTeX.
-% Petr Olsak Nov. 2012
+% Petr Olsak Nov. 2012, Nov. 2013
-\message{processing luaotfload.lua }
+\ifnum\luatexversion<76 %%%
+
+\message{processing luaotfload.lua (1)}
\directlua{luatexbase = luatexbase or {}
luatexbase.luatexversion = \the\luatexversion\space
luatexbase.luatexrevision = \luatexrevision\space
@@ -17,6 +19,24 @@
luatexbase.require_module('luaotfload')
texio.write_nl = oriwrite % return to original meaning
}
+\else %%% \luatexversion>=76
+
+\message{processing luaotfload.lua (2)}
+\expandafter\ifx\csname LuT@AllocAttribute\endcsname \relax
+ \csname newcount\expandafter \endcsname \csname LuT@AllocAttribute\endcsname \fi
+\csname LuT@AllocAttribute\endcsname=-1
+\directlua{luatexbase = luatexbase or {}
+ luatexbase.luatexversion = \the\luatexversion\space
+ luatexbase.luatexrevision = \luatexrevision\space
+ require('luatexbase.modutils')
+ require('luatexbase.attr')
+ oriwrite = texio.write_nl % I don't need to see unusual info
+ function texio.write_nl(...) end
+ require('luatexbase.mcb')
+ luatexbase.require_module('luaotfload')
+ texio.write_nl = oriwrite % return to original meaning
+}
+\fi
\global\let\luafonts=\relax
\endinput
diff --git a/Master/texmf-dist/tex/csplain/fonts/tx-math.tex b/Master/texmf-dist/tex/csplain/fonts/tx-math.tex
index 1a562f8e6d4..a88f171aeb2 100644
--- a/Master/texmf-dist/tex/csplain/fonts/tx-math.tex
+++ b/Master/texmf-dist/tex/csplain/fonts/tx-math.tex
@@ -141,7 +141,7 @@
\ifx\sizemtext\undefined \setmathsizes[10/7/5]\fi
\ifx\tenbi\undefined \font\tenbi=ptmbi8z \relax \fi
-\normalmath % load families, normal shape
+\ifx\normalmathloading\relax\else \normalmath \fi % load families, normal shape
\itvariables % \rm in math and variables in math by current text font
%% \mathchardef declarations
@@ -721,3 +721,4 @@ Sep. 2013: \letfont plus \corrmsizes used in \setmathfamily
\whichtfm used in \loadmathfamily (the same as in ams-math.tex)
\ptmunit depends on \ptunit now
\setmathfamily <num><space><font-selector> ... (<space> added)
+Nov. 2013: Test of \normalmathloading introduced
diff --git a/Master/texmf-dist/tex/csplain/opmac/opmac.tex b/Master/texmf-dist/tex/csplain/opmac/opmac.tex
index d7ada7a3d28..6eb8d355ea4 100644
--- a/Master/texmf-dist/tex/csplain/opmac/opmac.tex
+++ b/Master/texmf-dist/tex/csplain/opmac/opmac.tex
@@ -5,7 +5,7 @@
%% The history of versions is at the end of this file, after \endpinput
\ifx\OPmacversion\undefined \else \endinput \fi
-\def\OPmacversion{Oct. 2013}
+\def\OPmacversion{Nov. 2013}
\immediate\write16{This is OPmac (Olsak's Plain macros), version <\OPmacversion>}
@@ -224,16 +224,23 @@
\def\mtext#1{\csname mt:#1:\csname lan:\the\language\endcsname\endcsname}
-\sdef{mt:chap:en}{Chapter} \sdef{mt:chap:cz}{Kapitola} \sdef{mt:chap:sk}{Kapitola}
-\sdef{mt:t:en}{Table} \sdef{mt:t:cz}{Tabulka} \sdef{mt:t:sk}{Tabu\v lka}
-\sdef{mt:f:en}{Figure} \sdef{mt:f:cz}{Obr\'azek} \sdef{mt:f:sk}{Obr\'azok}
+\sdef{mt:chap:en}{Chapter} \sdef{mt:chap:cs}{Kapitola} \sdef{mt:chap:sk}{Kapitola}
+\sdef{mt:t:en}{Table} \sdef{mt:t:cs}{Tabulka} \sdef{mt:t:sk}{Tabu\v lka}
+\sdef{mt:f:en}{Figure} \sdef{mt:f:cs}{Obr\'azek} \sdef{mt:f:sk}{Obr\'azok}
\ifx\r\undefined \csname csaccents\endcsname \fi
\sdef{lan:0}{en} \sdef{lan:100}{en} \sdef{lan:101}{en}
-\sdef{lan:5}{cz} \sdef{lan:15}{cz} \sdef{lan:115}{cz}
+\sdef{lan:5}{cs} \sdef{lan:15}{cs} \sdef{lan:115}{cs}
\sdef{lan:6}{sk} \sdef{lan:16}{sk} \sdef{lan:116}{sk}
+\ifx\uselanguage\undefined \else \message{OPmac: eTeX detected}
+ \bgroup
+ \uselanguage{czech} \sxdef{lan:\the\language}{cs}
+ \uselanguage{slovak} \sxdef{lan:\the\language}{sk}
+ \egroup
+\fi
+
%%%%%%%%%%%%%% REF file, sec 3.6 in opmac-d.pdf
\newwrite\reffile
@@ -873,7 +880,7 @@
\def\XpdfcolorK#1{\def\pdflastcolorK{#1}}
\let\pdflastcolork=\pdfblackcolor \let\pdflastcolorK=\pdfblackcolor
-\def\Xpage#1{\lastpage=#1 \fnotenumlocal=0
+\def\Xpage#1{\ifnum\lastpage=#1 \else \lastpage=#1 \fnotenumlocal=0
\ifx\pdflastcolork\pdfblackcolor\else
\isdefined{pgc:#1}\iftrue \else \sxdef{pgc:#1}{}\fi
{\let\setpgcolor=\relax \sxdef{pgc:#1}%
@@ -881,7 +888,7 @@
\ifx\pdflastcolorK\pdfblackcolor\else
\isdefined{pgc:#1}\iftrue \else \sxdef{pgc:#1}{}\fi
{\let\setpgcolor=\relax \sxdef{pgc:#1}%
- {\csname pgc:#1\endcsname\setpgcolor K{\pdflastcolorK}}}\fi
+ {\csname pgc:#1\endcsname\setpgcolor K{\pdflastcolorK}}}\fi\fi
}
\def\setpgcolor#1#2{\pdfliteral{#2 #1}}
@@ -1147,10 +1154,13 @@
\ifnum\tmpnum<\vinolines\space
\vireadline \advance\tmpnum by1 \repeat %% skip line
\tmpnum=0 \ifnum\vidolines=0 \tmpnum=-1 \fi
- \loop \ifeof\vifile \tmpnum=\vidolines\space \fi
- \ifnum\tmpnum<\vidolines\space
- \vireadline \penalty\ttpenalty \viprintline %% print line
- \ifnum\vidolines=0 \else\advance\tmpnum by1 \fi \repeat
+ \ifeof\vifile \tmpnum=\vidolines\space \fi
+ \loop \ifnum\tmpnum<\vidolines\space
+ \vireadline
+ \ifeof\vifile \tmpnum=\vidolines\space \else
+ \penalty\ttpenalty \viprintline \fi %% print line
+ \ifnum\vidolines=0 \else\advance\tmpnum by1 \fi
+ \repeat
\egroup\par\ttskip\testparB
}
\def\vireadline{\read\vifile to \tmp \global\advance\viline by1 }
@@ -1195,10 +1205,10 @@
\ifnum\colnum=0\def\vvleft{\vvitem}\else\addto\ddlinedata{\vvitem}\fi\fi
\let\tmpa=\vrule \addtabdata{\vrule}}
-\def\crl{\cr\noalign{\hrule}}
-\def\crll{\cr\noalign{\hrule\kern\hhkern\hrule}}
+\def\crl{\crcr\noalign{\hrule}}
+\def\crll{\crcr\noalign{\hrule\kern\hhkern\hrule}}
-\def\crli{\cr \omit \gdef\dditem{\omit\tablinefil}\gdef\vvitem{\tabvvline}%
+\def\crli{\crcr \omit \gdef\dditem{\omit\tablinefil}\gdef\vvitem{\tabvvline}%
\vvleft\tablinefil\ddlinedata\cr}
\def\crlli{\crli\noalign{\kern\hhkern}\crli}
\def\tablinefil{\leaders\hrule\hfil}
@@ -1214,7 +1224,7 @@
\def\rulewidthA{\edef\hrule{\orihrule height\the\tmpdim}%
\edef\vrule{\orivrule width\the\tmpdim}}
-\def\frame#1{\setbox0=\hbox{#1}\setbox1=\vbox{\hrule}%
+\long\def\frame#1{\setbox0=\hbox{#1}\setbox1=\vbox{\hrule}%
\tmpdim=\dp0 \advance\tmpdim by\ht1 \advance\tmpdim by\hhkern
\vbox{\hrule\hbox{\vrule\kern\vvkern
\vbox{\kern\hhkern\box0\kern\hhkern}\kern\vvkern\vrule}%
@@ -1656,6 +1666,11 @@ Oct. 2013 /Border .6
\typobase introduced
\typoscale[20000/] ``too large dimension'' ... solved
\activettchar reimplemented
+Nov. 2013 \Xpage: \ifnum\lastpage=#1 \else inserted
+ \frame is defined as \long
+ multilanuage: cz -> cs changed (by ISO 639-1)
+ \cr -> \crcr in \crl, \crll and \crli
+ \doverbinput: \ifeof\vifile added (bug ``empty line at EOF'' corrected)
+ eTeX support for multilang added.
%%%%%%%%%%%%%% End of opmac.tex
-