summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/csplain/base/hyphen.lan
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/csplain/base/hyphen.lan')
-rw-r--r--Master/texmf-dist/tex/csplain/base/hyphen.lan53
1 files changed, 36 insertions, 17 deletions
diff --git a/Master/texmf-dist/tex/csplain/base/hyphen.lan b/Master/texmf-dist/tex/csplain/base/hyphen.lan
index 62f2d988fd6..6ceceb49598 100644
--- a/Master/texmf-dist/tex/csplain/base/hyphen.lan
+++ b/Master/texmf-dist/tex/csplain/base/hyphen.lan
@@ -31,11 +31,16 @@
\def\ucodeset{\ifx\font\unicoded \else \input ucode \fi}
-\def\tmp#1#2\relax{\def\tmp{#2}}\tmp ^^^^abcd\relax % 16bit TeX engine?
+\def\tmp#1#2\relax{\def\tmp{#2}}\tmp ^^^^abcd\relax % Unicoded TeX engine?
\ifx\allpatterns\undefined \catcode`\:=14 \else \catcode`\:=9 \fi % comment or ignored
\def\iltwolangs{} \def\corklangs{} \def\unicodelangs{}
+\ifx\savinghyphcodes\undefined \else
+ \message{eTeX's \savinghyphcodes detected - \lccode settings per pattern are saved.}
+ \savinghyphcodes=1
+\fi
+
%% \corklangs (etc.) cummulates the commands
%% \let\csPatt=\csCork \let\skPatt=\skCork (etc.)
%% You can run \corklangs before \language=\csPatt or \language=\skPatt
@@ -47,7 +52,7 @@
%% or
%% pdftex -ini "\let\allpaterns=y \input csplain.ini"
-%% If you are using 16bit TeX engine then you can say \let\onlyUnicode=y
+%% If you are using Unicoded 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):
@@ -113,6 +118,7 @@
\ifx\tmp\empty
+:\let\UnicodeLcUc=y % setting \lccodes, \uccodes for all Unicode characters
\let\csUnicode=\patterns % Czech
\let\skUnicode=\patterns % Slovak
:\let\deUnicode=\patterns % German
@@ -288,6 +294,8 @@
\loadpatterns \laCork 48 la {Latin \patt in Cork}
{\lccode`\'=`\' \input conv-utf8-ec \input hyph-la }22 \corklangs \laPatt
+\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
@@ -379,15 +387,15 @@
{\robustpatterns \lccode`\'=`\' \input hyph-la }22 \unicodelangs \laPatt
\loadpatterns \elmUnicode 201 elm {Modern Monotonic Greek \patt in Unicode}
- {\lccode`\'=`\' \lccode"2019="2019 \lccode"02BC="02BC \lccode"1FBF="1FBF
+ {\lccode`\'=`\' \lccode"2019="2019 \lccode"02BC="02BC \lccode"1FBD="1FBD \lccode"1FBF="1FBF
\robustpatterns \input hyph-el-monoton }11 \unicodelangs \elmPatt
\loadpatterns \elpUnicode 202 elp {Modern Polytonic Greek \patt in Unicode}
- {\lccode`\'=`\' \lccode"2019="2019 \lccode"02BC="02BC \lccode"1FBF="1FBF
+ {\lccode`\'=`\' \lccode"2019="2019 \lccode"02BC="02BC \lccode"1FBD="1FBD \lccode"1FBF="1FBF
\robustpatterns \input hyph-el-polyton }11 \unicodelangs \elpPatt
\loadpatterns \grcUnicode 203 grc {Ancient Greek \patt in Unicode}
- {\lccode`\'=`\' \lccode"2019="2019 \lccode"02BC="02BC \lccode"1FBF="1FBF
+ {\lccode`\'=`\' \lccode"2019="2019 \lccode"02BC="02BC \lccode"1FBD="1FBD \lccode"1FBF="1FBF
\robustpatterns \input hyph-grc }11 \unicodelangs \grcPatt
\loadpatterns \caUnicode 204 ca {Catalan \patt in Unicode}
@@ -414,13 +422,16 @@
{\robustpatterns \input hyph-hy }12 \unicodelangs \hyPatt
\loadpatterns \asUnicode 211 as {Assamesse \patt in Unicode}
- {\robustpatterns \input hyph-as }11 \unicodelangs \asPatt
+ {\lccode"200C="200C \lccode"200D="200D
+ \robustpatterns \input hyph-as }11 \unicodelangs \asPatt
\loadpatterns \hiUnicode 212 hi {Hindi \patt in Unicode}
- {\robustpatterns \input hyph-hi }11 \unicodelangs \hiPatt
+ {\lccode"200C="200C \lccode"200D="200D
+ \robustpatterns \input hyph-hi }11 \unicodelangs \hiPatt
\loadpatterns \knUnicode 213 kn {Kannada \patt in Unicode}
- {\robustpatterns \input hyph-kn }11 \unicodelangs \knPatt
+ {\lccode"200C="200C \lccode"200D="200D
+ \robustpatterns \input hyph-kn }11 \unicodelangs \knPatt
\loadpatterns \loUnicode 214 lo {Lao \patt in Unicode}
{\robustpatterns \input hyph-lo }11 \unicodelangs \loPatt
@@ -432,22 +443,28 @@
{\robustpatterns \input hyph-lt }22 \unicodelangs \ltPatt
\loadpatterns \mlUnicode 217 ml {Malayalam \patt in Unicode}
- {\robustpatterns \input hyph-ml }11 \unicodelangs \mlPatt
+ {\lccode"200C="200C \lccode"200D="200D
+ \robustpatterns \input hyph-ml }11 \unicodelangs \mlPatt
\loadpatterns \mrUnicode 218 mr {Marathi \patt in Unicode}
- {\robustpatterns \input hyph-mr }11 \unicodelangs \mrPatt
+ {\lccode"200C="200C \lccode"200D="200D
+ \robustpatterns \input hyph-mr }11 \unicodelangs \mrPatt
\loadpatterns \orUnicode 219 or {Oriya \patt in Unicode}
- {\robustpatterns \input hyph-or }11 \unicodelangs \orPatt
+ {\lccode"200C="200C \lccode"200D="200D
+ \robustpatterns \input hyph-or }11 \unicodelangs \orPatt
\loadpatterns \paUnicode 220 pa {Panjabi \patt in Unicode}
- {\robustpatterns \input hyph-pa }11 \unicodelangs \paPatt
+ {\lccode"200C="200C \lccode"200D="200D
+ \robustpatterns \input hyph-pa }11 \unicodelangs \paPatt
\loadpatterns \taUnicode 221 ta {Tamil \patt in Unicode}
- {\robustpatterns \input hyph-ta }11 \unicodelangs \taPatt
+ {\lccode"200C="200C \lccode"200D="200D
+ \robustpatterns \input hyph-ta }11 \unicodelangs \taPatt
\loadpatterns \teUnicode 222 te {Telugu \patt in Unicode}
- {\robustpatterns \input hyph-te }11 \unicodelangs \tePatt
+ {\lccode"200C="200C \lccode"200D="200D
+ \robustpatterns \input hyph-te }11 \unicodelangs \tePatt
\message{\the\numpatterns\space patterns preloaded: \pattlist}
@@ -506,7 +523,7 @@ in order to load the additional patterns.
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.
+loaded in Unicoded TeX.
The macro \loadpatterns \langCode <num> <lang> {note}
{action}<lhm><rhm> \codelist \switch
@@ -530,8 +547,10 @@ does following:
The \robustpatterns macro performs two steps of \patterns reading:
Fisrt step: \lccodes of all characters in the patterns are set to code.
Second step: the \patterns are read.
-
+If \UnicodeLcUc=y then \robustpatterns macro does nothing and lccodes+uccodes
+of all Unicode characters are set and stored to the format.
+This setting is recommended if more languages than default (English,
+Czech, Slovak) are used.
% ======= end of hyphen.lan
-