diff options
author | Karl Berry <karl@freefriends.org> | 2013-11-26 23:20:04 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2013-11-26 23:20:04 +0000 |
commit | fb91667b247fe27096e359343eab502290656a11 (patch) | |
tree | 56f12c77535cee07c7ac0d643f7efd3058efc411 /Master/texmf-dist/tex/csplain | |
parent | 93d97c86679ad3e449ccb58cff961c4dfca740e9 (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.ini | 9 | ||||
-rw-r--r-- | Master/texmf-dist/tex/csplain/base/hyphen.lan | 91 | ||||
-rw-r--r-- | Master/texmf-dist/tex/csplain/base/luaplain.ini | 117 | ||||
-rw-r--r-- | Master/texmf-dist/tex/csplain/base/xeplain.ini | 116 | ||||
-rw-r--r-- | Master/texmf-dist/tex/csplain/fonts/ams-math.tex | 3 | ||||
-rw-r--r-- | Master/texmf-dist/tex/csplain/fonts/lmfonts.tex | 3 | ||||
-rw-r--r-- | Master/texmf-dist/tex/csplain/fonts/luafonts.tex | 26 | ||||
-rw-r--r-- | Master/texmf-dist/tex/csplain/fonts/tx-math.tex | 3 | ||||
-rw-r--r-- | Master/texmf-dist/tex/csplain/opmac/opmac.tex | 47 |
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 - |