diff options
Diffstat (limited to 'Master/texmf-dist/tex/csplain/base/lua-hyphen.lan')
-rw-r--r-- | Master/texmf-dist/tex/csplain/base/lua-hyphen.lan | 142 |
1 files changed, 142 insertions, 0 deletions
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 |