diff options
author | Robert Alessi <alessi@robertalessi.net> | 2016-12-23 17:00:05 +0100 |
---|---|---|
committer | Robert Alessi <alessi@robertalessi.net> | 2016-12-23 17:00:05 +0100 |
commit | bfda0c97323bce664c6e30e4260b7ef22f78c5d0 (patch) | |
tree | d89a86f62f6b2dbdd2949c4af4b01c08b7df1808 | |
parent | b4ea0b56577c3ffa721b180f70c4c708a6560071 (diff) | |
download | arabluatex-bfda0c97323bce664c6e30e4260b7ef22f78c5d0.tar.gz |
arbnulls inserted in voc table
-rw-r--r-- | arabluatex.dtx | 2 | ||||
-rw-r--r-- | arabluatex.lua | 1 | ||||
-rw-r--r-- | arabluatex_fullvoc.lua | 26 | ||||
-rw-r--r-- | arabluatex_novoc.lua | 3 | ||||
-rw-r--r-- | arabluatex_trans.lua | 15 | ||||
-rw-r--r-- | arabluatex_voc.lua | 87 |
6 files changed, 91 insertions, 43 deletions
diff --git a/arabluatex.dtx b/arabluatex.dtx index efac2c3..93ce3a4 100644 --- a/arabluatex.dtx +++ b/arabluatex.dtx | |||
@@ -203,7 +203,7 @@ | |||
203 | %</driver> | 203 | %</driver> |
204 | % \fi | 204 | % \fi |
205 | % | 205 | % |
206 | % \CheckSum{694} | 206 | % \CheckSum{0} |
207 | % | 207 | % |
208 | % \CharacterTable | 208 | % \CharacterTable |
209 | % {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z | 209 | % {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z |
diff --git a/arabluatex.lua b/arabluatex.lua index 294e75f..564e08d 100644 --- a/arabluatex.lua +++ b/arabluatex.lua | |||
@@ -507,6 +507,7 @@ end | |||
507 | 507 | ||
508 | function processvoc(str, rules, scheme) | 508 | function processvoc(str, rules, scheme) |
509 | str = "\\arb{".. str.."}" | 509 | str = "\\arb{".. str.."}" |
510 | str = processarbnull(str, scheme) | ||
510 | str = takeoutcapetc(str) | 511 | str = takeoutcapetc(str) |
511 | str = protectarb(str) | 512 | str = protectarb(str) |
512 | str = breakcmd(str) | 513 | str = breakcmd(str) |
diff --git a/arabluatex_fullvoc.lua b/arabluatex_fullvoc.lua index efe26c0..9891319 100644 --- a/arabluatex_fullvoc.lua +++ b/arabluatex_fullvoc.lua | |||
@@ -236,6 +236,9 @@ tanwinfv = { -- with assimilations (\SetArbDflt*) | |||
236 | {a="%-?(uNU)(%s)([uai])", b="%1%2ٱ"}, | 236 | {a="%-?(uNU)(%s)([uai])", b="%1%2ٱ"}, |
237 | {a="%-?(aNU)(%s)([uai])", b="%1%2ٱ"}, | 237 | {a="%-?(aNU)(%s)([uai])", b="%1%2ٱ"}, |
238 | {a="%-?(iNU)(%s)([uai])", b="%1%2ٱ"}, | 238 | {a="%-?(iNU)(%s)([uai])", b="%1%2ٱ"}, |
239 | -- assimilations (begin) | ||
240 | {a="(%-?[uai]NU)(%s)([rlmnwy])", b="%1%2%3%3"}, | ||
241 | -- assimilations (end) | ||
239 | {a="%-?uNU", b="ٌو"}, | 242 | {a="%-?uNU", b="ٌو"}, |
240 | {a="%-?aNU", b="ًوا"}, | 243 | {a="%-?aNU", b="ًوا"}, |
241 | {a="%-?iNU", b="ٍو"}, | 244 | {a="%-?iNU", b="ٍو"}, |
@@ -274,6 +277,9 @@ tanwinfveasy = { -- no assimilations (see below) | |||
274 | {a="%-?(uNU)(%s)([uai])", b="%1%2ٱ"}, | 277 | {a="%-?(uNU)(%s)([uai])", b="%1%2ٱ"}, |
275 | {a="%-?(aNU)(%s)([uai])", b="%1%2ٱ"}, | 278 | {a="%-?(aNU)(%s)([uai])", b="%1%2ٱ"}, |
276 | {a="%-?(iNU)(%s)([uai])", b="%1%2ٱ"}, | 279 | {a="%-?(iNU)(%s)([uai])", b="%1%2ٱ"}, |
280 | -- assimilations (begin) | ||
281 | --easy {a="(%-?[uai]NU)(%s)([rlmnwy])", b="%1%2%3%3"}, | ||
282 | -- assimilations (end) | ||
277 | {a="%-?uNU", b="ٌو"}, | 283 | {a="%-?uNU", b="ٌو"}, |
278 | {a="%-?aNU", b="ًوا"}, | 284 | {a="%-?aNU", b="ًوا"}, |
279 | {a="%-?iNU", b="ٍو"}, | 285 | {a="%-?iNU", b="ٍو"}, |
@@ -319,21 +325,21 @@ trigraphsfv = { -- trigraphs or more | |||
319 | {a="(%W)(law)(%s)([%(%[%|%<]?\"?[uai])", b="%1%2i%3%4"}, | 325 | {a="(%W)(law)(%s)([%(%[%|%<]?\"?[uai])", b="%1%2i%3%4"}, |
320 | -- al- + lām | 326 | -- al- + lām |
321 | {a="^(a)l%-(l)", b="ا%1ل%2%2"}, | 327 | {a="^(a)l%-(l)", b="ا%1ل%2%2"}, |
322 | {a="([%(%[%|%<%s%-])(a)l%-(l)", b="%1ا%2ل%3%3"}, --p | 328 | {a="([%(%[%|%<%s%-o])(a)l%-(l)", b="%1ا%2ل%3%3"}, --p |
323 | -- al- + solar consonant | 329 | -- al- + solar consonant |
324 | {a="^(a)l%-([%_%^%.]?[tdrzsn])", b="ا%1ل%2%2"}, | 330 | {a="^(a)l%-([%_%^%.]?[tdrzsn])", b="ا%1ل%2%2"}, |
325 | {a="([%(%[%|%<%s%-])(a)l%-([%_%^%.]?[tdrzsn])", b="%1ا%2ل%3%3"}, --p | 331 | {a="([%(%[%|%<%s%-o])(a)l%-([%_%^%.]?[tdrzsn])", b="%1ا%2ل%3%3"}, --p |
326 | -- assim. art. + solar consonant | 332 | -- assim. art. + solar consonant |
327 | {a="^(a)([%_%^%.]?[tdrzsn])%-", b="ا%1ل%2"}, | 333 | {a="^(a)([%_%^%.]?[tdrzsn])%-", b="ا%1ل%2"}, |
328 | {a="([%(%[%|%<%s%-])(a)([%_%^%.]?[tdrzsn])%-", b="%1ا%2ل%3"}, --p | 334 | {a="([%(%[%|%<%s%-o])(a)([%_%^%.]?[tdrzsn])%-", b="%1ا%2ل%3"}, --p |
329 | -- al- + initial unstable hamza | 335 | -- al- + initial unstable hamza |
330 | {a="^(a)l%-(\"?[uai])", b="ا%1ل%2ٱ"}, | 336 | {a="^(a)l%-(\"?[uai])", b="ا%1ل%2ٱ"}, |
331 | {a="([%(%[%|%<%s%-])(a)l%-(\"?[uai])", b="%1ا%2ل%3ٱ"}, --p | 337 | {a="([%(%[%|%<%s%-o])(a)l%-(\"?[uai])", b="%1ا%2ل%3ٱ"}, --p |
332 | -- li-/la + art. + initial unstable hamza is a special orthography | 338 | -- li-/la + art. + initial unstable hamza is a special orthography |
333 | {a="l([ai])%-l%-(\"?[uai])", b="ل%1ل%2ٱ"}, | 339 | {a="l([ai])%-l%-(\"?[uai])", b="ل%1ل%2ٱ"}, |
334 | -- al- + lunar consonant (i.e. what remains) | 340 | -- al- + lunar consonant (i.e. what remains) |
335 | {a="^(a)l%-", b="ا%1لْ"}, | 341 | {a="^(a)l%-", b="ا%1لْ"}, |
336 | {a="([%(%[%|%<%s%-])(a)l%-", b="%1ا%2لْ"}, --p | 342 | {a="([%(%[%|%<%s%-o])(a)l%-", b="%1ا%2لْ"}, --p |
337 | -- diphthongs to be resolved before ʾalif conjunctionis | 343 | -- diphthongs to be resolved before ʾalif conjunctionis |
338 | {a="(aW)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="awuا%2%3"}, | 344 | {a="(aW)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="awuا%2%3"}, |
339 | {a="(aw)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1u%2%3"}, | 345 | {a="(aw)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1u%2%3"}, |
@@ -381,21 +387,21 @@ trigraphsfveasy = { -- trigraphs or more (see 'easy' tag below for the diffs) | |||
381 | {a="(%W)(law)(%s)([%(%[%|%<]?\"?[uai])", b="%1%2i%3%4"}, | 387 | {a="(%W)(law)(%s)([%(%[%|%<]?\"?[uai])", b="%1%2i%3%4"}, |
382 | -- al- + lām | 388 | -- al- + lām |
383 | {a="^(a)l%-(l)", b="ا%1ل%2%2"}, | 389 | {a="^(a)l%-(l)", b="ا%1ل%2%2"}, |
384 | {a="([%(%[%|%<%s%-])(a)l%-(l)", b="%1ا%2ل%3%3"}, --p | 390 | {a="([%(%[%|%<%s%-o])(a)l%-(l)", b="%1ا%2ل%3%3"}, --p |
385 | -- al- + solar consonant | 391 | -- al- + solar consonant |
386 | {a="^(a)l%-([%_%^%.]?[tdrzsn])", b="ا%1ل%2%2"}, | 392 | {a="^(a)l%-([%_%^%.]?[tdrzsn])", b="ا%1ل%2%2"}, |
387 | {a="([%(%[%|%<%s%-])(a)l%-([%_%^%.]?[tdrzsn])", b="%1ا%2ل%3%3"}, --p | 393 | {a="([%(%[%|%<%s%-o])(a)l%-([%_%^%.]?[tdrzsn])", b="%1ا%2ل%3%3"}, --p |
388 | -- assim. art. + solar consonant | 394 | -- assim. art. + solar consonant |
389 | {a="^(a)([%_%^%.]?[tdrzsn])%-", b="ا%1ل%2"}, | 395 | {a="^(a)([%_%^%.]?[tdrzsn])%-", b="ا%1ل%2"}, |
390 | {a="([%(%[%|%<%s%-])(a)([%_%^%.]?[tdrzsn])%-", b="%1ا%2ل%3"}, --p | 396 | {a="([%(%[%|%<%s%-o])(a)([%_%^%.]?[tdrzsn])%-", b="%1ا%2ل%3"}, --p |
391 | -- al- + initial unstable hamza | 397 | -- al- + initial unstable hamza |
392 | {a="^(a)l%-(\"?[uai])", b="ا%1ل%2ٱ"}, | 398 | {a="^(a)l%-(\"?[uai])", b="ا%1ل%2ٱ"}, |
393 | {a="([%(%[%|%<%s%-])(a)l%-(\"?[uai])", b="%1ا%2ل%3ٱ"}, --p | 399 | {a="([%(%[%|%<%s%-o])(a)l%-(\"?[uai])", b="%1ا%2ل%3ٱ"}, --p |
394 | -- li-/la + art. + initial unstable hamza is a special orthography | 400 | -- li-/la + art. + initial unstable hamza is a special orthography |
395 | {a="l([ai])%-l%-(\"?[uai])", b="ل%1ل%2ٱ"}, | 401 | {a="l([ai])%-l%-(\"?[uai])", b="ل%1ل%2ٱ"}, |
396 | -- al- + lunar consonant (i.e. what remains) | 402 | -- al- + lunar consonant (i.e. what remains) |
397 | {a="^(a)l%-", b="ا%1لْ"}, | 403 | {a="^(a)l%-", b="ا%1لْ"}, |
398 | {a="([%(%[%|%<%s%-])(a)l%-", b="%1ا%2لْ"}, --p | 404 | {a="([%(%[%|%<%s%-o])(a)l%-", b="%1ا%2لْ"}, --p |
399 | -- diphthongs to be resolved before ʾalif conjunctionis | 405 | -- diphthongs to be resolved before ʾalif conjunctionis |
400 | {a="(aW)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="awuا%2%3"}, | 406 | {a="(aW)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="awuا%2%3"}, |
401 | {a="(aw)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1u%2%3"}, | 407 | {a="(aw)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1u%2%3"}, |
diff --git a/arabluatex_novoc.lua b/arabluatex_novoc.lua index f2b6a6a..3f0299b 100644 --- a/arabluatex_novoc.lua +++ b/arabluatex_novoc.lua | |||
@@ -23,6 +23,9 @@ along with this program. If not, see | |||
23 | --]] | 23 | --]] |
24 | 24 | ||
25 | tanwinnv = { | 25 | tanwinnv = { |
26 | -- assimilations (begin). These are good but may not apply here. | ||
27 | -- {a="(%-?[uai]NU)(%s)([rlmnwy])", b="%1%2%3%3"}, | ||
28 | -- assimilations (end) | ||
26 | {a="%-?uNU", b="و"}, | 29 | {a="%-?uNU", b="و"}, |
27 | {a="%-?aNU", b="وا"}, | 30 | {a="%-?aNU", b="وا"}, |
28 | {a="%-?iNU", b="و"}, | 31 | {a="%-?iNU", b="و"}, |
diff --git a/arabluatex_trans.lua b/arabluatex_trans.lua index 0868262..b29ae37 100644 --- a/arabluatex_trans.lua +++ b/arabluatex_trans.lua | |||
@@ -140,6 +140,7 @@ hamzatrdmg = { | |||
140 | tanwintrdmg = { | 140 | tanwintrdmg = { |
141 | {a="%-?([uai]NU)(o)([ui])([%S]-o)", b="\\arbup{un%3}"}, | 141 | {a="%-?([uai]NU)(o)([ui])([%S]-o)", b="\\arbup{un%3}"}, |
142 | {a="%-?([uai]NU)(%s)([ui])", b="\\arbup{un%3}%2'"}, | 142 | {a="%-?([uai]NU)(%s)([ui])", b="\\arbup{un%3}%2'"}, |
143 | {a="(o[%S]-)([uai]N[UI])(o)(\"?[ui])", b="'"}, | ||
143 | {a="%-?uNU", b="\\arbup{un}"}, | 144 | {a="%-?uNU", b="\\arbup{un}"}, |
144 | {a="%-?aNU", b="\\arbup{an}"}, | 145 | {a="%-?aNU", b="\\arbup{an}"}, |
145 | {a="%-?iNU", b="\\arbup{in}"}, | 146 | {a="%-?iNU", b="\\arbup{in}"}, |
@@ -209,30 +210,26 @@ trigraphstrdmg = { -- trigraphs or more | |||
209 | {a="(%W)(law)(%s)([%(%[%|%<]?\"?[uai])", b="%1%2i%3%4"}, --p | 210 | {a="(%W)(law)(%s)([%(%[%|%<]?\"?[uai])", b="%1%2i%3%4"}, --p |
210 | -- al- + lām | 211 | -- al- + lām |
211 | {a="^(a)l%-(l)", b="%1l-%2"}, | 212 | {a="^(a)l%-(l)", b="%1l-%2"}, |
212 | {a="([%(%[%|%<%s%-])(a)l%-(l)", b="%1%2l-%3"}, --p | 213 | {a="([%(%[%|%<%s%-o])(a)l%-(l)", b="%1%2l-%3"}, --p |
213 | -- al- + solar consonant | 214 | -- al- + solar consonant |
214 | {a="^(a)l%-([%_%^%.]?[tdrzsn])", b="%1%2-%2"}, | 215 | {a="^(a)l%-([%_%^%.]?[tdrzsn])", b="%1%2-%2"}, |
215 | {a="([%(%[%|%<%s%-])(a)l%-([%_%^%.]?[tdrzsn])", b="%1%2%3-%3"}, --p | 216 | {a="([%(%[%|%<%s%-o])(a)l%-([%_%^%.]?[tdrzsn])", b="%1%2%3-%3"}, --p |
216 | -- assim. art. + solar consonant | 217 | -- assim. art. + solar consonant |
217 | {a="^(a)([%_%^%.]?[tdrzsn])%-", b="%1%2-"}, | 218 | {a="^(a)([%_%^%.]?[tdrzsn])%-", b="%1%2-"}, |
218 | {a="([%(%[%|%<%s%-])(a)([%_%^%.]?[tdrzsn])%-", b="%1%2%3-"}, --p | 219 | {a="([%(%[%|%<%s%-o])(a)([%_%^%.]?[tdrzsn])%-", b="%1%2%3-"}, --p |
219 | -- al- + initial unstable hamza | 220 | -- al- + initial unstable hamza |
220 | {a="^(a)l%-(\"?[uai])", b="%1l-%2"}, | 221 | {a="^(a)l%-(\"?[uai])", b="%1l-%2"}, |
221 | {a="([%(%[%|%<%s%-])(a)l%-(\"?[uai])", b="%1%2l-%3"}, --p | 222 | {a="([%(%[%|%<%s%-o])(a)l%-(\"?[uai])", b="%1%2l-%3"}, --p |
222 | -- li-/la- + art. + initial unstable hamza is a special orthography | 223 | -- li-/la- + art. + initial unstable hamza is a special orthography |
223 | {a="l([ai])%-l%-([uai])", b="l%1-l-%2"}, | 224 | {a="l([ai])%-l%-([uai])", b="l%1-l-%2"}, |
224 | -- al- + lunar consonant (i.e. what remains) | 225 | -- al- + lunar consonant (i.e. what remains) |
225 | {a="^(a)l%-", b="%1l-"}, | 226 | {a="^(a)l%-", b="%1l-"}, |
226 | {a="([%(%[%|%<%s%-])(a)l%-", b="%1%2l-"}, --p | 227 | {a="([%(%[%|%<%s%-o])(a)l%-", b="%1%2l-"}, --p |
227 | -- diphthongs to be resolved before ʾalif conjunctionis | 228 | -- diphthongs to be resolved before ʾalif conjunctionis |
228 | {a="(aw)(o)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-o)", b="%1u"}, | 229 | {a="(aw)(o)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-o)", b="%1u"}, |
229 | {a="(ay)(o)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-o)", b="%1i"}, | 230 | {a="(ay)(o)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-o)", b="%1i"}, |
230 | {a="(aw)(o)(\"?[uai])([%S]-o)", b="%1u"}, | ||
231 | {a="(ay)(o)(\"?[uai])([%S]-o)", b="%1i"}, | ||
232 | {a="(aw)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1u%2%3"}, | 231 | {a="(aw)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1u%2%3"}, |
233 | {a="(ay)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1i%2%3"}, | 232 | {a="(ay)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1i%2%3"}, |
234 | {a="(aw)(%s)([%(%[%|%<]?\"?[uai])", b="%1u%2%3"}, --p | ||
235 | {a="(ay)(%s)([%(%[%|%<]?\"?[uai])", b="%1i%2%3"}, --p | ||
236 | -- art. with waṣla + lām | 233 | -- art. with waṣla + lām |
237 | {a="'l%-(l)", b="'l-%1"}, | 234 | {a="'l%-(l)", b="'l-%1"}, |
238 | -- art. with waṣla + solar consonant | 235 | -- art. with waṣla + solar consonant |
diff --git a/arabluatex_voc.lua b/arabluatex_voc.lua index 2f5e445..fb53b5a 100644 --- a/arabluatex_voc.lua +++ b/arabluatex_voc.lua | |||
@@ -202,7 +202,11 @@ hamza = { | |||
202 | {a="(A)(')(u)", b="aآؤ%3"}, -- historic madda | 202 | {a="(A)(')(u)", b="aآؤ%3"}, -- historic madda |
203 | {a="(A)(')", b="aآء"}, -- historic madda | 203 | {a="(A)(')", b="aآء"}, -- historic madda |
204 | -- initial (needs both ^ and %W patterns) | 204 | -- initial (needs both ^ and %W patterns) |
205 | -- 'aw: the diphthong is to be resoved into 'awi' (next 4 lines) | 205 | -- 'aw: the diphthong is to be resoved into 'awi' (next 8 lines) |
206 | {a="^('aw)(o)('[%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-o)", b="%1i"}, | ||
207 | {a="(%W)('aw)(o)('[%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-o)", b="%1%2i"}, | ||
208 | {a="^('aw)(o)(\"?[uai])([%S]-o)", b="%1i"}, | ||
209 | {a="(%W)('aw)(o)(\"?[uai])([%S]-o)", b="%1%2i"}, | ||
206 | {a="^('aw)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1i%2%3"}, | 210 | {a="^('aw)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1i%2%3"}, |
207 | {a="(%W)('aw)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1%2i%3%4"}, | 211 | {a="(%W)('aw)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1%2i%3%4"}, |
208 | {a="^('aw)(%s)([%(%[%|%<]?\"?[uai])", b="%1i%2%3"}, --p | 212 | {a="^('aw)(%s)([%(%[%|%<]?\"?[uai])", b="%1i%2%3"}, --p |
@@ -299,7 +303,11 @@ hamzaeasy = { -- differences marked below with 'easy' | |||
299 | {a="(A)(')", b="aاء"}, -- historic madda | 303 | {a="(A)(')", b="aاء"}, -- historic madda |
300 | --easy (end) | 304 | --easy (end) |
301 | -- initial (needs both ^ and %W patterns) | 305 | -- initial (needs both ^ and %W patterns) |
302 | -- 'aw: the diphthong is to be resoved into 'awi' (next 4 lines) | 306 | -- 'aw: the diphthong is to be resoved into 'awi' (next 8 lines) |
307 | {a="^('aw)(o)('[%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-o)", b="%1i"}, | ||
308 | {a="(%W)('aw)(o)('[%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-o)", b="%1%2i"}, | ||
309 | {a="^('aw)(o)(\"?[uai])([%S]-o)", b="%1i"}, | ||
310 | {a="(%W)('aw)(o)(\"?[uai])([%S]-o)", b="%1%2i"}, | ||
303 | {a="^('aw)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1i%2%3"}, | 311 | {a="^('aw)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1i%2%3"}, |
304 | {a="(%W)('aw)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1%2i%3%4"}, | 312 | {a="(%W)('aw)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1%2i%3%4"}, |
305 | {a="^('aw)(%s)([%(%[%|%<]?\"?[uai])", b="%1i%2%3"}, | 313 | {a="^('aw)(%s)([%(%[%|%<]?\"?[uai])", b="%1i%2%3"}, |
@@ -360,11 +368,17 @@ hamzaeasy = { -- differences marked below with 'easy' | |||
360 | } | 368 | } |
361 | 369 | ||
362 | tanwin = { | 370 | tanwin = { |
371 | -- assimilations (begin) | ||
372 | {a="(o[%S]-)(%-?[uai]N[UI]?)(o)([rlmnwy])", b="%4%4"}, | ||
373 | {a="(%-?[uai]NU)(%s)([rlmnwy])", b="%1%2%3%3"}, | ||
374 | -- assimilations (end) | ||
363 | {a="%-?uNU", b="ٌو"}, | 375 | {a="%-?uNU", b="ٌو"}, |
364 | {a="%-?aNU", b="ًوا"}, | 376 | {a="%-?aNU", b="ًوا"}, |
365 | {a="%-?iNU", b="ٍو"}, | 377 | {a="%-?iNU", b="ٍو"}, |
366 | -- assimilations (begin) | 378 | -- assimilations (begin) |
367 | {a="%-?(uN)(%s)([rlmnwy])", b="ٌ%2%3%3"}, | 379 | {a="%-?(uN)(%s)([rlmnwy])", b="ٌ%2%3%3"}, |
380 | {a="(o[%S]-)(%-?aN)(_A)(o)([rlmnwy])", b="%5%5"}, | ||
381 | {a="(o[%S]-)(%-?aN)(Y)(o)([rlmnwy])", b="%5%5"}, | ||
368 | {a="%-?(aN)(_A)(%s)([rlmnwy])", b="ًى%3%4%4"}, | 382 | {a="%-?(aN)(_A)(%s)([rlmnwy])", b="ًى%3%4%4"}, |
369 | {a="%-?(aN)(Y)(%s)([rlmnwy])", b="ًى%3%4%4"}, | 383 | {a="%-?(aN)(Y)(%s)([rlmnwy])", b="ًى%3%4%4"}, |
370 | {a="(T)%-?(aN)(%s)([rlmnwy])", b="%1ً%3%4%4"}, | 384 | {a="(T)%-?(aN)(%s)([rlmnwy])", b="%1ً%3%4%4"}, |
@@ -393,11 +407,17 @@ tanwin = { | |||
393 | } | 407 | } |
394 | 408 | ||
395 | tanwineasy = { -- 'easy' requires some lines to be taken out: | 409 | tanwineasy = { -- 'easy' requires some lines to be taken out: |
410 | -- assimilations (begin) | ||
411 | -- {a="(o[%S]-)(%-?[uai]N[UI]?)(o)([rlmnwy])", b="%4%4"}, | ||
412 | -- {a="(%-?[uai]NU)(%s)([rlmnwy])", b="%1%2%3%3"}, | ||
413 | -- assimilations (end) | ||
396 | {a="%-?uNU", b="ٌو"}, | 414 | {a="%-?uNU", b="ٌو"}, |
397 | {a="%-?aNU", b="ًوا"}, | 415 | {a="%-?aNU", b="ًوا"}, |
398 | {a="%-?iNU", b="ٍو"}, | 416 | {a="%-?iNU", b="ٍو"}, |
399 | -- assimilations (begin) | 417 | -- assimilations (begin) |
400 | -- {a="%-?(uN)(%s)([rlmnwy])", b="ٌ%2%3%3"}, | 418 | -- {a="%-?(uN)(%s)([rlmnwy])", b="ٌ%2%3%3"}, |
419 | -- {a="(o[%S]-)(%-?aN)(_A)(o)([rlmnwy])", b="%5%5"}, | ||
420 | -- {a="(o[%S]-)(%-?aN)(Y)(o)([rlmnwy])", b="%5%5"}, | ||
401 | -- {a="%-?(aN)(_A)(%s)([rlmnwy])", b="ًى%3%4%4"}, | 421 | -- {a="%-?(aN)(_A)(%s)([rlmnwy])", b="ًى%3%4%4"}, |
402 | -- {a="%-?(aN)(Y)(%s)([rlmnwy])", b="ًى%3%4%4"}, | 422 | -- {a="%-?(aN)(Y)(%s)([rlmnwy])", b="ًى%3%4%4"}, |
403 | -- {a="(T)%-?(aN)(%s)([rlmnwy])", b="%1ً%3%4%4"}, | 423 | -- {a="(T)%-?(aN)(%s)([rlmnwy])", b="%1ً%3%4%4"}, |
@@ -429,35 +449,46 @@ trigraphs = { -- trigraphs or more | |||
429 | -- 'llatI / 'llad_I | 449 | -- 'llatI / 'llad_I |
430 | {a="^'ll(a)([%_]?[dt])", b="الّ%1%2"}, | 450 | {a="^'ll(a)([%_]?[dt])", b="الّ%1%2"}, |
431 | {a="([%(%[%|%<%s%-])'ll(a)([%_]?[dt])", b="%1الّ%2%3"}, --p | 451 | {a="([%(%[%|%<%s%-])'ll(a)([%_]?[dt])", b="%1الّ%2%3"}, --p |
432 | -- law: the diphthong is to be resoved into 'awi' (next 4 lines) | 452 | -- law: the diphthong is to be resolved into 'awi' (next 8 lines) |
453 | {a="^(law)(o)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-o)", b="%1i"}, | ||
454 | {a="(%W)(law)(o)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-o)", b="%1%2i"}, | ||
455 | {a="^(law)(o)(\"?[uai])([%S]-o)", b="%1i"}, | ||
456 | {a="(%W)(law)(o)(\"?[uai])([%S]-o)", b="%1%2i"}, | ||
433 | {a="^(law)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1i%2%3"}, | 457 | {a="^(law)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1i%2%3"}, |
434 | {a="(%W)(law)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1%2i%3%4"}, | 458 | {a="(%W)(law)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1%2i%3%4"}, |
435 | {a="^(law)(%s)([%(%[%|%<]?\"?[uai])", b="%1i%2%3"}, | 459 | {a="^(law)(%s)([%(%[%|%<]?\"?[uai])", b="%1i%2%3"}, --p |
436 | {a="(%W)(law)(%s)([%(%[%|%<]?\"?[uai])", b="%1%2i%3%4"}, | 460 | {a="(%W)(law)(%s)([%(%[%|%<]?\"?[uai])", b="%1%2i%3%4"}, --p |
437 | -- al- + lām | 461 | -- al- + lām |
438 | {a="^(a)l%-(l)", b="ا%1ل%2%2"}, | 462 | {a="^(a)l%-(l)", b="ا%1ل%2%2"}, |
439 | {a="([%(%[%|%<%s%-])(a)l%-(l)", b="%1ا%2ل%3%3"}, --p | 463 | {a="([%(%[%|%<%s%-o])(a)l%-(l)", b="%1ا%2ل%3%3"}, --p |
440 | -- al- + solar consonant | 464 | -- al- + solar consonant |
441 | {a="^(a)l%-([%_%^%.]?[tdrzsn])", b="ا%1ل%2%2"}, | 465 | {a="^(a)l%-([%_%^%.]?[tdrzsn])", b="ا%1ل%2%2"}, |
442 | {a="([%(%[%|%<%s%-])(a)l%-([%_%^%.]?[tdrzsn])", b="%1ا%2ل%3%3"}, --p | 466 | {a="([%(%[%|%<%s%-o])(a)l%-([%_%^%.]?[tdrzsn])", b="%1ا%2ل%3%3"}, --p |
443 | -- assim. art. + solar consonant | 467 | -- assim. art. + solar consonant |
444 | {a="^(a)([%_%^%.]?[tdrzsn])%-", b="ا%1ل%2"}, | 468 | {a="^(a)([%_%^%.]?[tdrzsn])%-", b="ا%1ل%2"}, |
445 | {a="([%(%[%|%<%s%-])(a)([%_%^%.]?[tdrzsn])%-", b="%1ا%2ل%3"}, --p | 469 | {a="([%(%[%|%<%s%-o])(a)([%_%^%.]?[tdrzsn])%-", b="%1ا%2ل%3"}, --p |
446 | -- al- + initial unstable hamza | 470 | -- al- + initial unstable hamza |
447 | {a="^(a)l%-(\")([uai])", b="ا%1ل%3ٱ"}, | 471 | {a="^(a)l%-(\")([uai])", b="ا%1ل%3ٱ"}, |
448 | {a="([%(%[%|%<%s%-])(a)l%-(\")([uai])", b="%1ا%2ل%4ٱ"}, --p | 472 | {a="([%(%[%|%<%s%-o])(a)l%-(\")([uai])", b="%1ا%2ل%4ٱ"}, --p |
449 | {a="^(a)l%-([uai])", b="ا%1ل%2ا"}, | 473 | {a="^(a)l%-([uai])", b="ا%1ل%2ا"}, |
450 | {a="([%(%[%|%<%s%-])(a)l%-([uai])", b="%1ا%2ل%3ا"}, --p | 474 | {a="([%(%[%|%<%s%-o])(a)l%-([uai])", b="%1ا%2ل%3ا"}, --p |
451 | -- li-/la- + art. + initial unstable hamza is a special orthography | 475 | -- li-/la- + art. + initial unstable hamza is a special orthography |
452 | {a="l([ai])%-l%-(\")([uai])", b="ل%1ل%3ٱ"}, | 476 | {a="l([ai])%-l%-(\")([uai])", b="ل%1ل%3ٱ"}, |
453 | {a="l([ai])%-l%-([uai])", b="ل%1ل%2ا"}, | 477 | {a="l([ai])%-l%-([uai])", b="ل%1ل%2ا"}, |
454 | -- al- + lunar consonant (i.e. what remains) | 478 | -- al- + lunar consonant (i.e. what remains) |
455 | {a="^(a)l%-", b="ا%1ل"}, | 479 | {a="^(a)l%-", b="ا%1ل"}, |
456 | {a="([%(%[%|%<%s%-])(a)l%-", b="%1ا%2ل"}, --p | 480 | {a="([%(%[%|%<%s%-o])(a)l%-", b="%1ا%2ل"}, --p |
457 | -- diphthongs to be resolved before ʾalif conjunctionis | 481 | -- diphthongs to be resolved before ʾalif conjunctionis |
482 | {a="(aW)(o)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-o)", b="awuا"}, | ||
483 | {a="(aw)(o)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-o)", b="%1u"}, | ||
484 | {a="(ay)(o)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-o)", b="%1i"}, | ||
485 | {a="(aw)(o)(\"?[uai])([%S]-o)", b="%1u"}, | ||
486 | {a="(ay)(o)(\"?[uai])([%S]-o)", b="%1i"}, | ||
458 | {a="(aW)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="awuا%2%3"}, | 487 | {a="(aW)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="awuا%2%3"}, |
459 | {a="(aw)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1u%2%3"}, | 488 | {a="(aw)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1u%2%3"}, |
460 | {a="(ay)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1i%2%3"}, | 489 | {a="(ay)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1i%2%3"}, |
490 | {a="(aw)(%s)([%(%[%|%<]?\"?[uai])", b="%1u%2%3"}, --p | ||
491 | {a="(ay)(%s)([%(%[%|%<]?\"?[uai])", b="%1i%2%3"}, --p | ||
461 | -- art. with waṣla + lām | 492 | -- art. with waṣla + lām |
462 | {a="'l%-(l)", b="ال%1%1"}, | 493 | {a="'l%-(l)", b="ال%1%1"}, |
463 | -- art. with waṣla + solar consonant | 494 | -- art. with waṣla + solar consonant |
@@ -490,7 +521,8 @@ trigraphs = { -- trigraphs or more | |||
490 | 521 | ||
491 | idgham = { | 522 | idgham = { |
492 | -- assimilations | 523 | -- assimilations |
493 | {a="(n)(%s)([rlmnwy])", b="%1%2%3%3"} | 524 | {a="(n)(%s)([rlmnwy])", b="%1%2%3%3"}, |
525 | {a="(n)(o)([rlmnwy])([%S]-o)", b="%3"} | ||
494 | } | 526 | } |
495 | 527 | ||
496 | trigraphseasy = { -- differences marked below with 'easy' | 528 | trigraphseasy = { -- differences marked below with 'easy' |
@@ -499,32 +531,39 @@ trigraphseasy = { -- differences marked below with 'easy' | |||
499 | -- 'llatI / 'llad_I | 531 | -- 'llatI / 'llad_I |
500 | {a="^'ll(a)([%_]?[dt])", b="الّ%1%2"}, | 532 | {a="^'ll(a)([%_]?[dt])", b="الّ%1%2"}, |
501 | {a="([%(%[%|%<%s%-])'ll(a)([%_]?[dt])", b="%1الّ%2%3"}, --p | 533 | {a="([%(%[%|%<%s%-])'ll(a)([%_]?[dt])", b="%1الّ%2%3"}, --p |
502 | -- law: the diphthong is to be resoved into 'awi' (next 4 lines) | 534 | -- law: the diphthong is to be resloved into 'awi' (next 8 lines) |
535 | {a="^(law)(o)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-o)", b="%1i"}, | ||
536 | {a="(%W)(law)(o)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-o)", b="%1%2i"}, | ||
537 | {a="^(law)(o)(\"?[uai])([%S]-o)", b="%1i"}, | ||
538 | {a="(%W)(law)(o)(\"?[uai])([%S]-o)", b="%1%2i"}, | ||
503 | {a="^(law)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1i%2%3"}, | 539 | {a="^(law)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1i%2%3"}, |
504 | {a="(%W)(law)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1%2i%3%4"}, | 540 | {a="(%W)(law)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1%2i%3%4"}, |
505 | {a="^(law)(%s)([%(%[%|%<]?\"?[uai])", b="%1i%2%3"}, | 541 | {a="^(law)(%s)([%(%[%|%<]?\"?[uai])", b="%1i%2%3"}, --p |
506 | {a="(%W)(law)(%s)([%(%[%|%<]?\"?[uai])", b="%1%2i%3%4"}, | 542 | {a="(%W)(law)(%s)([%(%[%|%<]?\"?[uai])", b="%1%2i%3%4"}, --p |
507 | -- al- + lām (easy) | 543 | -- al- + lām (easy) |
508 | {a="^(a)l%-(l)", b="ا%1ل%2"}, | 544 | {a="^(a)l%-(l)", b="ا%1ل%2"}, |
509 | {a="([%(%[%|%<%s%-])(a)l%-(l)", b="%1ا%2ل%3"}, --p | 545 | {a="([%(%[%|%<%s%-o])(a)l%-(l)", b="%1ا%2ل%3"}, --p |
510 | -- al- + solar consonant (easy) | 546 | -- al- + solar consonant (easy) |
511 | {a="^(a)l%-([%_%^%.]?[tdrzsn])", b="ا%1ل%2"}, | 547 | {a="^(a)l%-([%_%^%.]?[tdrzsn])", b="ا%1ل%2"}, |
512 | {a="([%(%[%|%<%s%-])(a)l%-([%_%^%.]?[tdrzsn])", b="%1ا%2ل%3"}, --p | 548 | {a="([%(%[%|%<%s%-o])(a)l%-([%_%^%.]?[tdrzsn])", b="%1ا%2ل%3"}, --p |
513 | -- assim. art. + solar consonant (easy) | 549 | -- assim. art. + solar consonant (easy) |
514 | {a="^(a)([%_%^%.]?[tdrzsn])%-", b="ا%1ل"}, | 550 | {a="^(a)([%_%^%.]?[tdrzsn])%-", b="ا%1ل"}, |
515 | {a="([%(%[%|%<%s%-])(a)([%_%^%.]?[tdrzsn])%-", b="%1ا%2ل"}, --p | 551 | {a="([%(%[%|%<%s%-o])(a)([%_%^%.]?[tdrzsn])%-", b="%1ا%2ل"}, --p |
516 | -- al- + initial unstable hamza | 552 | -- al- + initial unstable hamza |
517 | {a="^(a)l%-(\")([uai])", b="ا%1ل%3ٱ"}, | 553 | {a="^(a)l%-(\")([uai])", b="ا%1ل%3ٱ"}, |
518 | {a="([%(%[%|%<%s%-])(a)l%-(\")([uai])", b="%1ا%2ل%4ٱ"}, --p | 554 | {a="([%(%[%|%<%s%-o])(a)l%-(\")([uai])", b="%1ا%2ل%4ٱ"}, --p |
519 | {a="^(a)l%-([uai])", b="ا%1ل%2ا"}, | 555 | {a="^(a)l%-([uai])", b="ا%1ل%2ا"}, |
520 | {a="([%(%[%|%<%s%-])(a)l%-([uai])", b="%1ا%2ل%3ا"}, --p | 556 | {a="([%(%[%|%<%s%-o])(a)l%-([uai])", b="%1ا%2ل%3ا"}, --p |
521 | -- li-/la- + art. + initial unstable hamza is a special orthography | 557 | -- li-/la- + art. + initial unstable hamza is a special orthography |
522 | {a="l([ai])%-l%-(\")([uai])", b="ل%1ل%3ٱ"}, | 558 | {a="l([ai])%-l%-(\")([uai])", b="ل%1ل%3ٱ"}, |
523 | {a="l([ai])%-l%-([uai])", b="ل%1ل%2ا"}, | 559 | {a="l([ai])%-l%-([uai])", b="ل%1ل%2ا"}, |
524 | -- al- + lunar consonant (i.e. what remains) | 560 | -- al- + lunar consonant (i.e. what remains) |
525 | {a="^(a)l%-", b="ا%1ل"}, | 561 | {a="^(a)l%-", b="ا%1ل"}, |
526 | {a="([%(%[%|%<%s%-])(a)l%-", b="%1ا%2ل"}, --p | 562 | {a="([%(%[%|%<%s%-o])(a)l%-", b="%1ا%2ل"}, --p |
527 | -- diphthongs to be resolved before ʾalif conjunctionis | 563 | -- diphthongs to be resolved before ʾalif conjunctionis |
564 | {a="(aW)(o)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-o)", b="awuا"}, | ||
565 | {a="(aw)(o)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-o)", b="%1u"}, | ||
566 | {a="(ay)(o)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-o)", b="%1i"}, | ||
528 | {a="(aW)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="awuا%2%3"}, | 567 | {a="(aW)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="awuا%2%3"}, |
529 | {a="(aw)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1u%2%3"}, | 568 | {a="(aw)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1u%2%3"}, |
530 | {a="(ay)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1i%2%3"}, | 569 | {a="(ay)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1i%2%3"}, |
@@ -574,7 +613,8 @@ digraphs = { | |||
574 | -- initial straight double quote gives a connective ʾalif | 613 | -- initial straight double quote gives a connective ʾalif |
575 | {a="^\"[uai]", b="ٱ"}, | 614 | {a="^\"[uai]", b="ٱ"}, |
576 | {a="([%(%[%|%<%s%-])\"[uai]", b="%1ٱ"}, --p | 615 | {a="([%(%[%|%<%s%-])\"[uai]", b="%1ٱ"}, --p |
577 | {a="(aW)(%s)([uai])", b="awuا%2%3"}, | 616 | {a="(aW)(o)([uai]([%S]-o))", b="awuا"}, |
617 | {a="(aW)(%s)([%(%[%|%<]?)([uai])", b="awuا%2%3%4"}, --p | ||
578 | -- hyphen + initial alif without hamza: | 618 | -- hyphen + initial alif without hamza: |
579 | {a="(%-)([uai])([%^%_%.%`]?)(%a)", b="%1ا%3%4"}, | 619 | {a="(%-)([uai])([%^%_%.%`]?)(%a)", b="%1ا%3%4"}, |
580 | {a="^([%(%[%|%<]?)([uai])", b="%1ا%2"}, -- initial alif without hamza --p | 620 | {a="^([%(%[%|%<]?)([uai])", b="%1ا%2"}, -- initial alif without hamza --p |
@@ -716,5 +756,6 @@ punctuation = { | |||
716 | 756 | ||
717 | null = { | 757 | null = { |
718 | {a="%|", b=""}, | 758 | {a="%|", b=""}, |
719 | {a="([^0-9])(%-)", b="%1"} | 759 | {a="([^0-9])(%-)", b="%1"}, |
760 | {a="o[%S]-o", b=""} | ||
720 | } | 761 | } |