summaryrefslogtreecommitdiff
path: root/macros/luatex/optex/hyphen-lan.opm
blob: 9532243ebafa221505437737c3372674cc61a5f9 (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(USpreloaded)}
\_sdef{_lan:0}{en}
\_sdef{_ulan:USpreloaded}{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(USpreloaded) patterns from TeX82

\_def\_preplang #1 #2 #3#4 #5 {%
   \_chardef#3=#4
   \_sdef{_lan:#4}{#1}\_sdef{_ulan:#2}{#1}%  
   \_def\_next{\_expandafter\_noexpand\_csname #1lang\_endcsname}
   \_expandafter\_edef \_csname #1lang\_endcsname {%
      \_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{langscpecific:#1}%
}
\_def\_uselanguage#1{\_cs{\_cs{_ulan:#1}lan}}

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