summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Master/texmf-dist/tex/csplain/base/csplain.ini11
-rw-r--r--Master/texmf-dist/tex/csplain/base/hyphen.lan121
-rw-r--r--Master/texmf-dist/tex/csplain/base/lua-hyphen.lan142
-rw-r--r--Master/texmf-dist/tex/csplain/base/t1code.tex4
-rwxr-xr-xMaster/tlpkg/libexec/ctan2tds1
5 files changed, 216 insertions, 63 deletions
diff --git a/Master/texmf-dist/tex/csplain/base/csplain.ini b/Master/texmf-dist/tex/csplain/base/csplain.ini
index 16a0bcb2286..f19c71e652d 100644
--- a/Master/texmf-dist/tex/csplain/base/csplain.ini
+++ b/Master/texmf-dist/tex/csplain/base/csplain.ini
@@ -8,12 +8,11 @@
\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 format: csplain <Mar. 2019>.}
\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:
@@ -37,6 +36,7 @@
\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.}
@@ -268,6 +268,13 @@ file extcode.tex renamed to il2code.tex (suggested by Jan Kasprzak)
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
+
+
COPYRIGHT
=========
diff --git a/Master/texmf-dist/tex/csplain/base/hyphen.lan b/Master/texmf-dist/tex/csplain/base/hyphen.lan
index af264ab2a2e..5a097364e4e 100644
--- a/Master/texmf-dist/tex/csplain/base/hyphen.lan
+++ b/Master/texmf-dist/tex/csplain/base/hyphen.lan
@@ -2,24 +2,29 @@
%
% Created by Oldrich Ulrych, January 5, 1993
% General changes by Petr Olsak November 2012
-%
+% More default preloaded patterns March 2019
+
% See the end of this file for more inforamtion
-\def\loadpatterns #1#2 #3 #4#5#6#7#8#9{\ifx#1\undefined \else \chardef#1=#2
+\ifx\directlua\undefined \else \input lua-hyphen.lan \endinput \fi
+
+\input il2code % extra codes for czech / slovak letters in ISO-8859-2 encoding
+
+\def\loadpatterns #1#2 #3 #4#5#6#7#8#9{\ifx#1\undefined \else \global\chardef#1=#2
\begingroup \language=#2 \def\doaccents{\def\csaccentsmessage{}\csaccents}
\let\global=\relax
\message{Loading #4 encoding, \string#1=#2 (#3).} #5
\endgroup
- \expandafter \def \csname lan:#2\endcsname {#3}
- \expandafter \def \csname #3lang\endcsname {\langpatterntest#9%
+ \expandafter \gdef \csname lan:#2\endcsname {#3}
+ \expandafter \gdef \csname #3lang\endcsname {\langpatterntest#9%
\language=#9\relax \initlanguage{#3}\frenchspacing
\lefthyphenmin=#6\righthyphenmin=#7%
\message{#3 hyphenation used (\string\language=\the\language).
\string\frenchspacing\space is set on.}}
\ifx#8\relax \else
- \expandafter\def\expandafter#8\expandafter{#8\let#9#1}\fi
- \edef\pattlist{\pattlist #1=#2 }
- \advance\numpatterns by1
+ \expandafter\gdef\expandafter#8\expandafter{#8\let#9#1}\fi
+ \xdef\pattlist{\pattlist #1=#2 }
+ \global\advance\numpatterns by1
\fi
}
\def\langpatterntest#1{\ifx\undefined#1\langpatterntestA#1\fi}
@@ -65,8 +70,8 @@
\let\enPatt=\patterns % Default plainTeX US English
:\let\enusPatt=\patterns % US English extended
-:\let\engbPatt=\patterns % UK English
-:\let\itPatt=\patterns % Italian
+\let\engbPatt=\patterns % UK English
+\let\itPatt=\patterns % Italian
:\let\iaPatt=\patterns % Interlingua
:\let\idPatt=\patterns % Indonesian
@@ -81,23 +86,23 @@
%% pdftex -ini "\let\Cork=\relax \input csplain.ini"
%% if you want to suppress the Cork (alias T1) encoded hyphenation patterns.
+\ifx\tmp\empty \let\Cork=\relax \fi % Unicoded TeX need not Cork-encoded patterns
+
\ifx\Cork\undefined
\let\csCork=\patterns % Czech
\let\skCork=\patterns % Slovak
-\ifx\tmp\empty\else
-
-:\let\deCork=\patterns % German
-:\let\frCork=\patterns % French
-:\let\plCork=\patterns % Polish
+\let\deCork=\patterns % German
+\let\frCork=\patterns % French
+\let\plCork=\patterns % Polish
:\let\cyCork=\patterns % Welsh
:\let\daCork=\patterns % Danish
-:\let\esCork=\patterns % Spanish
-:\let\slCork=\patterns % Slovenian
-:\let\svCork=\patterns % Swedish
-:\let\fiCork=\patterns % Finnish
-:\let\huCork=\patterns % Hungarian
+\let\esCork=\patterns % Spanish
+\let\slCork=\patterns % Slovenian
+\let\svCork=\patterns % Swedish
+\let\fiCork=\patterns % Finnish
+\let\huCork=\patterns % Hungarian
:\let\trCork=\patterns % Turkish
:\let\etCork=\patterns % Estonian
:\let\euCork=\patterns % Basque
@@ -118,13 +123,12 @@
:\let\tkCork=\patterns % Turkmen
:\let\laCork=\patterns % Latin
-\fi\fi\fi
+\fi\fi
-%% test of Unicoded TeX engine
-\ifx\tmp\empty
+\ifx\tmp\empty %% test of Unicoded TeX engine
-:\let\UnicodeLcUc=y % setting \lccodes, \uccodes for all Unicode characters
+\let\UnicodeLcUc=y % setting \lccodes, \uccodes for all Unicode characters
\let\csUnicode=\patterns % Czech
\let\skUnicode=\patterns % Slovak
:\let\deUnicode=\patterns % German
@@ -145,7 +149,6 @@
:\let\nbUnicode=\patterns % Norwegian Bokmal
:\let\nnUnicode=\patterns % Norwegian Nynorsk
:\let\nlUnicode=\patterns % Dutch
-:\let\huUnicode=\patterns % Hungarian
:\let\ptUnicode=\patterns % Portuguese
:\let\roUnicode=\patterns % Romanian
:\let\hrUnicode=\patterns % Croatian
@@ -210,105 +213,105 @@
\loadpatterns \skILtwo 6 sk {Slovak \patt in ISO-8859-2}
{\doaccents \input skhyphen.tex \input skhyphen.ex }23 \iltwolangs \skPatt
+\begingroup \ifx\Cork\undefined \input t1code \input conv-utf8-ec \fi
+
\loadpatterns \csCork 15 cs {Czech \patt in Cork}
- {\input t1code \doaccents \input czhyphen.tex \input czhyphen.ex }23
- \corklangs \csPatt
+ {\input hyph-cs.tex }23 \corklangs \csPatt
\loadpatterns \skCork 16 sk {Slovak \patt in Cork}
- {\input t1code \doaccents \input skhyphen.tex \input skhyphen.ex }23
- \corklangs \skPatt
+ {\input hyph-sk.tex }23 \corklangs \skPatt
\loadpatterns \deCork 21 de {German \patt in Cork}
- {\input conv-utf8-ec \input hyph-de-1996 }22 \corklangs \dePatt
+ {\input hyph-de-1996 }22 \corklangs \dePatt
\loadpatterns \frCork 22 fr {French \patt in Cork}
- {\lccode`\'=`\' \input conv-utf8-ec \input hyph-fr }23 \corklangs \frPatt
+ {\lccode`\'=`\' \input hyph-fr }23 \corklangs \frPatt
\loadpatterns \plCork 23 pl {Polish \patt in Cork}
- {\input conv-utf8-ec \input hyph-pl }22 \corklangs \plPatt
+ {\input hyph-pl }22 \corklangs \plPatt
\loadpatterns \cyCork 24 cy {Welsh \patt in Cork}
- {\input conv-utf8-ec \input hyph-cy }23 \corklangs \cyPatt
+ {\input hyph-cy }23 \corklangs \cyPatt
\loadpatterns \daCork 25 da {Danish \patt in Cork}
- {\input conv-utf8-ec \input hyph-da }22 \corklangs \daPatt
+ {\input hyph-da }22 \corklangs \daPatt
\loadpatterns \esCork 26 es {Spanish \patt in Cork}
- {\input conv-utf8-ec \input hyph-es }22 \corklangs \esPatt
+ {\input hyph-es }22 \corklangs \esPatt
\loadpatterns \slCork 28 sl {Slovenian \patt in Cork}
- {\input conv-utf8-ec \input hyph-sl }22 \corklangs \slPatt
+ {\input hyph-sl }22 \corklangs \slPatt
\loadpatterns \fiCork 29 fi {Finnish \patt in Cork}
- {\input conv-utf8-ec \input hyph-fi }22 \corklangs \fiPatt
+ {\input hyph-fi }22 \corklangs \fiPatt
\loadpatterns \huCork 30 hu {Hungarian \patt in Cork}
- {\input conv-utf8-ec \input hyph-hu }22 \corklangs \huPatt
+ {\input hyph-hu }22 \corklangs \huPatt
\loadpatterns \trCork 31 tr {Turkish \patt in Cork}
- {\input conv-utf8-ec \input hyph-tr }22 \corklangs \trPatt
+ {\input hyph-tr }22 \corklangs \trPatt
\loadpatterns \etCork 32 et {Estonian \patt in Cork}
- {\input conv-utf8-ec \input hyph-et }23 \corklangs \etPatt
+ {\input hyph-et }23 \corklangs \etPatt
\loadpatterns \euCork 33 eu {Basque \patt in Cork}
- {\input conv-utf8-ec \input hyph-eu }22 \corklangs \euPatt
+ {\input hyph-eu }22 \corklangs \euPatt
\loadpatterns \gaCork 34 ga {Irish \patt in Cork}
- {\input conv-utf8-ec \input hyph-ga }23 \corklangs \gaPatt
+ {\input hyph-ga }23 \corklangs \gaPatt
\loadpatterns \nbCork 35 nb {Norwegian Bokmal \patt in Cork}
- {\input conv-utf8-ec \input hyph-nb }22 \corklangs \nbPatt
+ {\input hyph-nb }22 \corklangs \nbPatt
\loadpatterns \nnCork 36 nn {Norwegian Nynorsk \patt in Cork}
- {\input conv-utf8-ec \input hyph-nn }22 \corklangs \nnPatt
+ {\input hyph-nn }22 \corklangs \nnPatt
\loadpatterns \nlCork 37 nl {Dutch \patt in Cork}
- {\input conv-utf8-ec \input hyph-nl }22 \corklangs \nlPatt
+ {\input hyph-nl }22 \corklangs \nlPatt
\loadpatterns \ptCork 38 pt {Portuguese \patt in Cork}
- {\lccode`\-=`\- \input conv-utf8-ec \input hyph-pt }23 \corklangs \ptPatt
+ {\lccode`\-=`\- \input hyph-pt }23 \corklangs \ptPatt
\loadpatterns \roCork 39 ro {Romanian \patt in Cork}
- {\input conv-utf8-ec \input hyph-ro }22 \corklangs \roPatt
+ {\input hyph-ro }22 \corklangs \roPatt
\loadpatterns \hrCork 40 hr {Croatian \patt in Cork}
- {\input conv-utf8-ec \input hyph-hr }22 \corklangs \hrPatt
+ {\input hyph-hr }22 \corklangs \hrPatt
\loadpatterns \zhCork 41 zh {Unaccented Pinyin Syllables \patt in Cork}
{\lccode`\'=`\' \input hyph-zh-latn-pinyin.ec }11 \corklangs \zhPatt
\loadpatterns \isCork 42 is {Icelandic \patt in Cork}
- {\input conv-utf8-ec \input hyph-is }22 \corklangs \isPatt
+ {\input hyph-is }22 \corklangs \isPatt
\loadpatterns \hsbCork 43 hsb {EC Upper Sorbian \patt in Cork}
- {\input conv-utf8-ec \input hyph-hsb }22 \corklangs \hsbPatt
+ {\input hyph-hsb }22 \corklangs \hsbPatt
\loadpatterns \afCork 44 af {Afrikaans \patt in Cork}
- {\lccode`\-=`\- \lccode`\'=`\'
- \input conv-utf8-ec \input hyph-af }22 \corklangs \afPatt
+ {\lccode`\-=`\- \lccode`\'=`\' \input hyph-af }22 \corklangs \afPatt
\loadpatterns \glCork 45 gl {Galician \patt in Cork}
- {\input conv-utf8-ec \input hyph-gl }22 \corklangs \glPatt
+ {\input hyph-gl }22 \corklangs \glPatt
\loadpatterns \kmrCork 46 kmr {Kurmanji \patt in Cork}
- {\input conv-utf8-ec \input hyph-kmr }22 \corklangs \kmrPatt
+ {\input hyph-kmr }22 \corklangs \kmrPatt
\loadpatterns \tkCork 47 tk {Turkmen \patt in Cork}
- {\lccode`\-=`\- \input conv-utf8-ec \input hyph-tk }22 \corklangs \tkPatt
+ {\lccode`\-=`\- \input hyph-tk }22 \corklangs \tkPatt
\loadpatterns \laCork 48 la {Latin \patt in Cork}
- {\lccode`\'=`\' \input conv-utf8-ec \input hyph-la }22 \corklangs \laPatt
+ {\lccode`\'=`\' \input hyph-la }22 \corklangs \laPatt
+
+\endgroup
+
\ifx\UnicodeLcUc y \input uni-lcuc \let\robustpatterns=\relax \fi
\loadpatterns \csUnicode 115 cs {Czech \patt in Unicode}
- {\ucodeset \doaccents \input czhyphen.tex \input czhyphen.ex }23
- \unicodelangs \csPatt
+ {\robustpatterns \input hyph-cs.tex }23 \unicodelangs \csPatt
\loadpatterns \skUnicode 116 sk {Slovak \patt in Unicode}
- {\ucodeset \doaccents \input skhyphen.tex \input skhyphen.ex }23
- \unicodelangs \skPatt
+ {\robustpatterns \input hyph-sk.tex }23 \unicodelangs \skPatt
\loadpatterns \deUnicode 121 de {German \patt in Unicode}
{\robustpatterns \input hyph-de-1996 }22 \unicodelangs \dePatt
diff --git a/Master/texmf-dist/tex/csplain/base/lua-hyphen.lan b/Master/texmf-dist/tex/csplain/base/lua-hyphen.lan
new file mode 100644
index 00000000000..790d52c6c18
--- /dev/null
+++ b/Master/texmf-dist/tex/csplain/base/lua-hyphen.lan
@@ -0,0 +1,142 @@
+% luaTeX: dynamical loaded patterns. Petr Olsak, March 2019
+
+%\input hyphen % plain-TeX hyphen-patterns loaded as language 0 in csplain.ini
+\global\chardef\enPatt=0
+\gdef\pattlist{\enPatt=0}
+\gdef\langlist{en(USpreloaded)}
+\gdef\enlang{\uselang{en}\enPatt23\nonfrenchspacing} % \lefthyph=2 \righthyph=3
+
+\input uni-lcuc % \lccodes, \uccodes in unicode
+
+\def\preplang #1 #2 #3#4 #5 {%
+ \global\chardef#3=#4
+ \expandafter \gdef \csname lan:#4\endcsname {#1}
+ \def\next{\expandafter\noexpand\csname #1lang\endcsname}
+ \expandafter\xdef \csname #1lang\endcsname {%
+ \noexpand\loadpattrs #2 #4
+ \gdef\next{\noexpand\uselang{#1}#3#5}%
+ \next
+ }
+ \xdef\langlist{\langlist\space #1(#2)}
+}
+\def\loadpattrs#1 #2 {%
+ \directlua{
+ require("luatex-hyphen")
+ luatexhyphen.loadlanguage("#1",#2)
+ }%
+}
+\def\uselang#1#2#3#4{\language=#2\lefthyphenmin=#3\righthyphenmin=#4\relax
+ \frenchspacing % \nonfrenchspacing can be set in \setlanguage{lan}
+ \setlanguage{#1}%
+}
+\def\setlanguage#1{}
+
+\preplang enus usenglishmax \enusPatt 100 23
+\preplang engb ukenglish \engbPatt 101 23
+\preplang it italian \itPatt 102 22
+\preplang ia interlingua \iaPatt 103 22
+\preplang id indonesian \idPatt 104 22
+
+\preplang cs czech \csPatt 115 23
+\preplang sk slovak \skPatt 116 23
+\preplang de ngerman \dePatt 121 22
+\preplang fr french \frPatt 122 22
+\preplang pl polish \plPatt 123 22
+\preplang cy welsh \cyPatt 124 23
+\preplang da danish \daPatt 125 22
+\preplang es spanish \esPatt 126 22
+\preplang sl slovenian \slPatt 128 22
+\preplang fi finnish \fiPatt 129 22
+\preplang hy hungarian \huPatt 130 22
+\preplang tr turkish \trPatt 131 22
+\preplang et estoniak \etPatt 132 23
+\preplang eu basque \euPatt 133 22
+\preplang ga irish \gaPatt 134 23
+\preplang nb bokmal \nbPatt 135 22
+\preplang nn nynorsk \nnPatt 136 22
+\preplang nl dutch \nlPatt 137 22
+\preplang pt portuguese \ptPatt 138 23
+\preplang ro romanian \roPatt 139 22
+\preplang hr croatian \hrPatt 140 22
+\preplang zh pinyin \zhPatt 141 11
+\preplang is icelandic \isPatt 142 22
+\preplang hsb uppersorbian \hsbPatt 143 22
+\preplang af afrikaans \afPatt 144 12
+\preplang gl galician \glPatt 145 22
+\preplang kmr kurmanji \kmrPatt 146 22
+\preplang tk turkmen \tkPatt 147 22
+\preplang la latin \laPatt 148 22
+\preplang lac classiclatin \lacPatt 149 22
+\preplang lal liturgicallatin \lalPatt 150 22
+\preplang elm monogreek \elmPatt 201 11
+\preplang elp greek \elpPatt 202 11
+\preplang grc ancientgreek \grcPatt 203 11
+\preplang ca catalan \caPatt 204 22
+\preplang cop coptic \copPatt 205 11
+\preplang mn mongolian \mnPatt 206 22
+\preplang sa sanskrit \saPatt 207 13
+\preplang ru russian \ruPatt 208 22
+\preplang uk ukrainian \ukPatt 209 22
+\preplang hy armenian \hyPatt 210 12
+\preplang as assamese \asPatt 211 11
+\preplang hi hindi \hiPatt 212 11
+\preplang kn kannada \knPatt 213 11
+\preplang lv latvian \lvPatt 215 22
+\preplang lt lithuanian \ltPatt 216 22
+\preplang ml malayalam \mlPatt 217 11
+\preplang mr marathi \mrPatt 218 11
+\preplang or oriya \orPatt 219 11
+\preplang pa panjabi \paPatt 220 11
+\preplang ta tamil \taPatt 221 11
+\preplang te telugu \tePatt 222 11
+
+% For backward compatibility:
+
+\let\uslang=\enlang \let\ehyph=\enlang
+\def\chyph{\cslang} \def\shyph{\sklang}
+\let\csUnicode=\csPatt \let\czUnicode=\csPatt \let\skUnicode=\skPatt
+
+\xdef\langlist{\langlist.
+ Use \string\<shortname>lang to initialize language,
+ \string\cslang\space for example}
+\message{Language hyph.patterns ready to load: \langlist}
+
+\endinput
+
+%%%%%%%%%%%%%%%%%
+
+The \<shortname>lang macros are prepared, like \cslang, \delang, \pllang.
+You can expand \langlist to see which languages are prepared.
+
+For example \preplang cs czech \csPatt 115 23 does:
+
+ \global\chardef\csPatt=115
+ \gdef\lan:115{cs}
+ \gdef\cslang{\loadpattrs czech 115
+ \gdef\cslang{\uselang{cs}\csPatt23}%
+ \cslang}
+ \xdef\langlist{\langlist\space #1(#2)}
+
+and \uselang{cs}\csPatt23 does:
+
+ \language=\csPatt \lefthyphenmin=2 \righthyphenmin=3
+ \frenchspacing \setlanguage{cs}
+
+finally \setlanguage{cs} does nothing by default. But user can redefine
+it and specify another features for selected lanuages here. For example:
+
+\def\setlanguage#1{\csname set#1lang\endcsname}
+\def\setenuslang {\nonfrenchspacing}
+\def\setcslang {...czech specific}
+\def\setpllang {...polish specific}
+\def\seteslang {...spanish specific}
+\def\setrulang {...russian specific}
+...
+
+You can see that \<shortname>lang macros can be used more than once but
+\loadpattrs will be done only once because \<shortname>lang redefines itself.
+
+
+%%%%%%%%%%%%%%%%
+
+ \ No newline at end of file
diff --git a/Master/texmf-dist/tex/csplain/base/t1code.tex b/Master/texmf-dist/tex/csplain/base/t1code.tex
index 7d949c17760..24abdfb29cd 100644
--- a/Master/texmf-dist/tex/csplain/base/t1code.tex
+++ b/Master/texmf-dist/tex/csplain/base/t1code.tex
@@ -19,13 +19,13 @@
\ifx\chyph\undefined\else \ifx\czCork\undefined
{\newlinechar=`^^J
\errhelp={The hyphen patterns are not loaded in Cork encoding in csplain.^^J
- Hyphen patterns are supported only in ISO-8859-2.^^J
It means, you are using csplain pre Feb.2000 or^^J
+ or you are using Unicode csplain (XeTeX, LuaTeX) or^^J
you initialised csplain by \let\Cork=\relax.^^J
You can go on (press Return), but the czech/slovak^^J
hyphenations will be work incorectly.}
\errmessage
- {The Cork encoding is not supported in this format} % Press h for more help.
+ {Hyphenation in Cork encoding is not supported in format} % Press h for more help.
}
\fi\fi
\csname corklangs\endcsname
diff --git a/Master/tlpkg/libexec/ctan2tds b/Master/tlpkg/libexec/ctan2tds
index 87534158a23..27d889fbd2a 100755
--- a/Master/tlpkg/libexec/ctan2tds
+++ b/Master/tlpkg/libexec/ctan2tds
@@ -378,6 +378,7 @@ chomp ($Build = `cd $Master/../Build/source && pwd`);
'dktools', "die 'skipping, needs compilation, etc.'",
'dmfonts', "die 'skipping, needs work'",
'dnp', "&MAKEdnp",
+ 'do-it-yourself-tex', "die 'skipping, huge documentation package'",
'dogma', "die 'skipping, requires nonfree font'",
'dot2tex', "die 'skipping, only useful with supporting python setup'",
'dozenal', "&MAKEflatten",