summaryrefslogtreecommitdiff
path: root/macros/luatex/optex/hyphen-lan.opm
blob: 86df5cdc46e1596155e7a8551e0162970819f0ff (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
%% This is part of OpTeX project, see http://petr.olsak.net/optex

\_codedecl \langlist {Initialization of hypenation patterns <2019-05-21>}

\_chardef\_enPatt=0
\_def\_pattlist{\_enPatt=0}
\_def\_langlist{en(USenglish)}
\_sdef{_lan:0}{en}
\_sdef{_ulan:usenglish}{en}
\_def\enlang{\_uselang{en}\_enPatt23} % \lefthyph=2 \righthyph=3
\_sdef{langspecific:en}{\_nonfrenchspacing}

\_lefthyphenmin=2 \_righthyphenmin=3 % disallow x- or -xx breaks
\_input hyphen  % en(USenglish) patterns from TeX82

\_def\_preplang #1 #2 #3#4 #5 {%
   \_chardef#3=#4
   \_sdef{_lan:#4}{#1}\_lowercase{\_sdef{_ulan:#2}}{#1}%  
   \_def\_next{\_expandafter\_noexpand\_csname #1lang\_endcsname}
   \_ea\_edef \_csname #1lang\_endcsname {%
      \_lowercase{\_noexpand\_loadpattrs #2} #4 
      \_gdef\_next{\_noexpand\_uselang{#1}#3#5}%
      \_next
   }
   \_addto\_langlist{ #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 \cs{langspecific:lan}
   \_cs{langspecific:#1}%
}
\_def\_uselanguage#1{\_lowercase{\_cs{\_cs{_ulan:#1}lang}}}

\_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

\message{Language hyph.patterns ready to load: \_langlist.
   Use \string\<shortname>lang to initialize language,
   \string\cslang\space for example}

\_public
   \uselanguage \langlist ;

\_endcode % ---------------------------------------------