summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/luatex/optex/base/hyphen-lan.opm
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/luatex/optex/base/hyphen-lan.opm')
-rw-r--r--Master/texmf-dist/tex/luatex/optex/base/hyphen-lan.opm188
1 files changed, 115 insertions, 73 deletions
diff --git a/Master/texmf-dist/tex/luatex/optex/base/hyphen-lan.opm b/Master/texmf-dist/tex/luatex/optex/base/hyphen-lan.opm
index c6a43bc0aff..f78148ff912 100644
--- a/Master/texmf-dist/tex/luatex/optex/base/hyphen-lan.opm
+++ b/Master/texmf-dist/tex/luatex/optex/base/hyphen-lan.opm
@@ -42,7 +42,7 @@
\_input hyphen % en(USenglish) patterns from TeX82
\_doc -----------------------------
- \`\preplang` `<iso-code> <long-lang> <number-cs> <number> <pre-hyph><post-hyph>`
+ \`\_preplang` `<iso-code> <long-lang> <hyph-file-spec> <number> <pre-hyph><post-hyph>`
prepares the\nl `\<iso-code>lang` to its initialization state. Roughly
speaking, it does:
\begtt \catcode`\<=13
@@ -50,33 +50,55 @@
\def\_lan:<number> {<iso-code>}
\def\_ulan:<long-lang> {<iso-code>}
\def\_<iso-code>lang {%
- \_loadpattrs <long-lang> <number> % loads patterns using Lua code
+ \_loadpattrs <hyph-file-spec> <number> <long-lang> % loads patterns using Lua code
\gdef\_<iso-code>lang {\_uselang{<iso-code>}\_<iso-code>Patt <pre-hyph><post-hyph>}
\_<iso-code>lang % runs itself in processing state
}
\def\<iso-code>lang {\_<iso-code>lang} % public version \<iso-code>lang
\endtt
- You can see that `\<iso-code>lang` runs \`\_loadpattrs` `<long-lang> <iso-code>`
- in initialization state and \^`\_uselang` in processing state.
+ You can see that `\<iso-code>lang` runs \^`\_loadpattrs` and
+ \^`\_uselang` first (in initialization state) and it runs
+ only \^`\_uselang` when it is called again (in processing state).
\_cod -----------------------------
-\_def\_preplang #1 #2 #3#4 #5 {%
- \_chardef#3=#4
- \_sdef{_lan:#4}{#1}\_lowercase{\_sdef{_ulan:#2}}{#1}%
- \_def\_next{\_ea\_noexpand\_csname _#1lang\_endcsname}
+\_def\_preplang #1 #2 #3 #4 #5 {%
+ \_ea\_chardef \_csname _#1Patt\_endcsname=#4
+ \_sdef{_lan:#4}{#1}\_lowercase{\_sdef{_ulan:#2}}{#1}%
+ \_def\_next{\_ea\_noexpand\_csname _#1lang\_endcsname}%
\_ea\_edef \_csname _#1lang\_endcsname {%
- \_lowercase{\_noexpand\_loadpattrs #2} #4 % loads patterns
- \_gdef\_next{\_noexpand\_uselang{#1}#3#5}% re-defines itself
+ \_noexpand\_loadpattrs #3 #4 #2 % loads patterns
+ \_gdef\_next{\_noexpand\_uselang{#1}\_csname _#1Patt\_endcsname #5}% re-defines itself
\_next % runs itself in processing state
}
\_addto\_langlist{ #1(#2)}%
\_sdef{#1lang\_ea}\_ea{\_csname _#1lang\_endcsname}% unprefixed \<isocode>lang
}
-\_def\_loadpattrs#1 #2 {%
- \_directlua{
- require("luatex-hyphen")
- luatexhyphen.loadlanguage("#1",#2)
- }%
+
+ \_doc -----------------------------
+ \`\_loadpattrs` `<hyph-file-spec> <number> <long-lang>`
+ loads hyphenation patterns and hyphenation exceptions for given language
+ and registers them as `\language=<number>`.
+
+ The <hyph-file-spec> is a part of full file name wich is read:
+ `hyph-<hyph-file-spec>.tex`. The patterns and hyphenation exceptions
+ are saved here in UTF-8 encoding.
+ The <hyph-file-spec> should be a list of individual <hyph-file-spec>'s
+ separated by comma, see the language Serbian below for example.
+ \_cod -----------------------------
+
+\_def\_loadpattrs#1 #2 #3 {%
+ \_wlog{Loading hyphenation #3: (#1) \_string\language=#2}%
+ \_begingroup\_setbox0=\_vbox{% we don't want spaces in horizontal mode
+ \_language=#2\_def\\{#3}%
+ \_let\patterns=\_patterns \_let\hyphenation=\_hyphenation \_def\message##1{}%
+ \_loadpattrsA #1,,%
+ }\_endgroup
+}
+\_def\_loadpattrsA #1,{\_ifx,#1,\_else
+ \_isfile {hyph-#1}\_iftrue \_opinput{hyph-#1}%
+ \_else \_opwarning{Hyph. patterns #1 for \\ not loaded, probably missing package}%
+ \_def\_opwarning##1{}\_fi
+ \_ea \_loadpattrsA \_fi
}
\_doc -----------------------------
@@ -108,64 +130,84 @@
but we load only Unicode patterns (greater than 100), of course.
\_cod -----------------------------
-\_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 hu Hungarian \_huPatt 130 22
-\_preplang tr Turkish \_trPatt 131 22
-\_preplang et Estonian \_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
+\_preplang enus USenglishmax en-us 100 23
+\_preplang engb UKenglish en-gb 101 23
+\_preplang it Italian it 102 22
+\_preplang ia Interlingua ia 103 22
+\_preplang id Indonesian id 104 22
+
+\_preplang cs Czech cs 115 23
+\_preplang sk Slovak sk 116 23
+\_preplang de nGerman de-1996 121 22
+\_preplang fr French fr 122 22
+\_preplang pl Polish pl 123 22
+\_preplang cy Welsh cy 124 23
+\_preplang da Danish da 125 22
+\_preplang es Spanish es 126 22
+\_preplang sl Slovenian sl 128 22
+\_preplang fi Finnish fi 129 22
+\_preplang hu Hungarian hu 130 22
+\_preplang tr Turkish tr 131 22
+\_preplang et Estonian et 132 23
+\_preplang eu Basque eu 133 22
+\_preplang ga Irish ga 134 23
+\_preplang nb Bokmal nb 135 22
+\_preplang nn Nynorsk nn 136 22
+\_preplang nl Dutch nl 137 22
+\_preplang pt Portuguese pt 138 23
+\_preplang ro Romanian ro 139 22
+\_preplang hr Croatian hr 140 22
+\_preplang zh Pinyin zh-latn-pinyin 141 11
+\_preplang is Icelandic is 142 22
+\_preplang hsb Uppersorbian hsb 143 22
+\_preplang af Afrikaans af 144 12
+\_preplang gl Galician gl 145 22
+\_preplang kmr Kurmanji kmr 146 22
+\_preplang tk Turkmen tk 147 22
+\_preplang la Latin la 148 22
+\_preplang lac classicLatin la-x-classic 149 22
+\_preplang lal liturgicalLatin la-x-liturgic 150 22
+\_preplang elm monoGreek el-monoton 201 11
+\_preplang elp Greek el-polyton 202 11
+\_preplang grc ancientGreek grc 203 11
+\_preplang ca Catalan ca 204 22
+\_preplang cop Coptic cop 205 11
+\_preplang mn Mongolian mn-cyrl 206 22
+\_preplang sa Sanskrit sa 207 13
+\_preplang ru Russian ru 208 22
+\_preplang uk Ukrainian uk 209 22
+\_preplang hy Armenian hy 210 12
+\_preplang as Assamese as 211 11
+\_preplang hi Hindi hi 212 11
+\_preplang kn Kannada kn 213 11
+\_preplang lv Latvian lv 215 22
+\_preplang lt Lithuanian lt 216 22
+\_preplang ml Malayalam ml 217 11
+\_preplang mr Marathi mr 218 11
+\_preplang or Oriya or 219 11
+\_preplang pa Panjabi pa 220 11
+\_preplang ta Tamil ta 221 11
+\_preplang te Telugu te 222 11
+
+\_preplang be Belarusian be 223 22
+\_preplang bg Bulgarian bg 224 22
+\_preplang bn Bengali bn 225 11
+\_preplang cu churchslavonic cu 226 12
+\_preplang deo oldGerman de-1901 227 22
+\_preplang gsw swissGerman de-ch-1901 228 22
+\_preplang eo Esperanto eo 229 22
+\_preplang fur Friulan fur 230 22
+\_preplang gu Gujarati gu 231 11
+\_preplang ka Georgian ka 232 12
+\_preplang mk Macedonian mk 233 22
+\_preplang oc Occitan oc 234 22
+\_preplang pi Pali pi 235 12
+\_preplang pms Piedmontese pms 236 22
+\_preplang rm Romansh rm 237 22
+\_preplang sr Serbian sh-cyrl,sh-latn 238 22
+\_preplang sv Swedish sv 239 22
+\_preplang th Thai th 240 23
+\_preplang ethi Ethiopic mul-ethi 241 11
\_doc -----------------------------
The \`\langlist` includes names of all languages which are ready to load