diff options
-rw-r--r-- | arabluatex.lua | 1 | ||||
-rw-r--r-- | arabluatex_fullvoc.lua | 102 | ||||
-rw-r--r-- | arabluatex_trans.lua | 8 | ||||
-rw-r--r-- | arabluatex_voc.lua | 22 |
4 files changed, 94 insertions, 39 deletions
diff --git a/arabluatex.lua b/arabluatex.lua index 564e08d..7c49693 100644 --- a/arabluatex.lua +++ b/arabluatex.lua | |||
@@ -526,6 +526,7 @@ end | |||
526 | 526 | ||
527 | function processfullvoc(str, rules, scheme) | 527 | function processfullvoc(str, rules, scheme) |
528 | str = "\\arb{".. str.."}" | 528 | str = "\\arb{".. str.."}" |
529 | str = processarbnull(str, scheme) | ||
529 | str = takeoutcapetc(str) | 530 | str = takeoutcapetc(str) |
530 | str = protectarb(str) | 531 | str = protectarb(str) |
531 | str = breakcmd(str) | 532 | str = breakcmd(str) |
diff --git a/arabluatex_fullvoc.lua b/arabluatex_fullvoc.lua index 9891319..32f53f7 100644 --- a/arabluatex_fullvoc.lua +++ b/arabluatex_fullvoc.lua | |||
@@ -66,7 +66,11 @@ hamzafv = { | |||
66 | {a="(A)(')(u)", b="aآؤ%3"}, -- historic madda | 66 | {a="(A)(')(u)", b="aآؤ%3"}, -- historic madda |
67 | {a="(A)(')", b="aآء"}, -- historic madda | 67 | {a="(A)(')", b="aآء"}, -- historic madda |
68 | -- initial (needs both ^ and %W patterns) | 68 | -- initial (needs both ^ and %W patterns) |
69 | -- 'aw: the diphthong is to be resoved into 'awi' (next 4 lines) | 69 | -- 'aw: the diphthong is to be resolved into 'awi' (next 8 lines) |
70 | {a="^('aw)(o)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-o)", b="%1i"}, | ||
71 | {a="(%W)('aw)(o)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-o)", b="%1%2i"}, | ||
72 | {a="^('aw)(o)([%(%[%|%<]?\"?[uai])([%S]-o)", b="%1i"}, | ||
73 | {a="(%W)('aw)(o)([%(%[%|%<]?\"?[uai])([%S]-o)", b="%1%2i"}, | ||
70 | {a="^('aw)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1i%2%3"}, | 74 | {a="^('aw)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1i%2%3"}, |
71 | {a="(%W)('aw)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1%2i%3%4"}, | 75 | {a="(%W)('aw)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1%2i%3%4"}, |
72 | {a="^('aw)(%s)([%(%[%|%<]?\"?[uai])", b="%1i%2%3"}, | 76 | {a="^('aw)(%s)([%(%[%|%<]?\"?[uai])", b="%1i%2%3"}, |
@@ -172,7 +176,11 @@ hamzafveasy = { -- differences marked below with 'easy' | |||
172 | {a="(A)(')", b="aاء"}, -- historic madda | 176 | {a="(A)(')", b="aاء"}, -- historic madda |
173 | --easy (end) | 177 | --easy (end) |
174 | -- initial (needs both ^ and %W patterns) | 178 | -- initial (needs both ^ and %W patterns) |
175 | -- 'aw: the diphthong is to be resoved into 'awi' (next 4 lines) | 179 | -- 'aw: the diphthong is to be resolved into 'awi' (next 8 lines) |
180 | {a="^('aw)(o)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-o)", b="%1i"}, | ||
181 | {a="(%W)('aw)(o)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-o)", b="%1%2i"}, | ||
182 | {a="^('aw)(o)([%(%[%|%<]?\"?[uai])([%S]-o)", b="%1i"}, | ||
183 | {a="(%W)('aw)(o)([%(%[%|%<]?\"?[uai])([%S]-o)", b="%1%2i"}, | ||
176 | {a="^('aw)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1i%2%3"}, | 184 | {a="^('aw)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1i%2%3"}, |
177 | {a="(%W)('aw)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1%2i%3%4"}, | 185 | {a="(%W)('aw)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1%2i%3%4"}, |
178 | {a="^('aw)(%s)([%(%[%|%<]?\"?[uai])", b="%1i%2%3"}, | 186 | {a="^('aw)(%s)([%(%[%|%<]?\"?[uai])", b="%1i%2%3"}, |
@@ -233,12 +241,13 @@ hamzafveasy = { -- differences marked below with 'easy' | |||
233 | } | 241 | } |
234 | 242 | ||
235 | tanwinfv = { -- with assimilations (\SetArbDflt*) | 243 | tanwinfv = { -- with assimilations (\SetArbDflt*) |
236 | {a="%-?(uNU)(%s)([uai])", b="%1%2ٱ"}, | ||
237 | {a="%-?(aNU)(%s)([uai])", b="%1%2ٱ"}, | ||
238 | {a="%-?(iNU)(%s)([uai])", b="%1%2ٱ"}, | ||
239 | -- assimilations (begin) | 244 | -- assimilations (begin) |
245 | {a="(o[%S]-)(%-?[uai]N[UI]?)(o)([rlmnwy])", b="%4%4"}, | ||
240 | {a="(%-?[uai]NU)(%s)([rlmnwy])", b="%1%2%3%3"}, | 246 | {a="(%-?[uai]NU)(%s)([rlmnwy])", b="%1%2%3%3"}, |
241 | -- assimilations (end) | 247 | -- assimilations (end) |
248 | {a="%-?(uNU)(%s)([uai])", b="%1%2ٱ"}, | ||
249 | {a="%-?(aNU)(%s)([uai])", b="%1%2ٱ"}, | ||
250 | {a="%-?(iNU)(%s)([uai])", b="%1%2ٱ"}, | ||
242 | {a="%-?uNU", b="ٌو"}, | 251 | {a="%-?uNU", b="ٌو"}, |
243 | {a="%-?aNU", b="ًوا"}, | 252 | {a="%-?aNU", b="ًوا"}, |
244 | {a="%-?iNU", b="ٍو"}, | 253 | {a="%-?iNU", b="ٍو"}, |
@@ -246,6 +255,8 @@ tanwinfv = { -- with assimilations (\SetArbDflt*) | |||
246 | {a="%-?(aN[%_]?[AY])(%s)([uai])", b="%1%2ٱ"}, | 255 | {a="%-?(aN[%_]?[AY])(%s)([uai])", b="%1%2ٱ"}, |
247 | -- assimilations (begin) | 256 | -- assimilations (begin) |
248 | {a="%-?(uN)(%s)([rlmnwy])", b="ٌ%2%3%3"}, | 257 | {a="%-?(uN)(%s)([rlmnwy])", b="ٌ%2%3%3"}, |
258 | {a="(o[%S]-)(%-?aN)(_A)(o)([rlmnwy])", b="%5%5"}, | ||
259 | {a="(o[%S]-)(%-?aN)(Y)(o)([rlmnwy])", b="%5%5"}, | ||
249 | {a="%-?(aN)(_A)(%s)([rlmnwy])", b="ًى%3%4%4"}, | 260 | {a="%-?(aN)(_A)(%s)([rlmnwy])", b="ًى%3%4%4"}, |
250 | {a="%-?(aN)(Y)(%s)([rlmnwy])", b="ًى%3%4%4"}, | 261 | {a="%-?(aN)(Y)(%s)([rlmnwy])", b="ًى%3%4%4"}, |
251 | {a="(T)%-?(aN)(%s)([rlmnwy])", b="%1ً%3%4%4"}, | 262 | {a="(T)%-?(aN)(%s)([rlmnwy])", b="%1ً%3%4%4"}, |
@@ -274,12 +285,13 @@ tanwinfv = { -- with assimilations (\SetArbDflt*) | |||
274 | } | 285 | } |
275 | 286 | ||
276 | tanwinfveasy = { -- no assimilations (see below) | 287 | tanwinfveasy = { -- no assimilations (see below) |
277 | {a="%-?(uNU)(%s)([uai])", b="%1%2ٱ"}, | ||
278 | {a="%-?(aNU)(%s)([uai])", b="%1%2ٱ"}, | ||
279 | {a="%-?(iNU)(%s)([uai])", b="%1%2ٱ"}, | ||
280 | -- assimilations (begin) | 288 | -- assimilations (begin) |
289 | --easy {a="(o[%S]-)(%-?[uai]N[UI]?)(o)([rlmnwy])", b="%4%4"}, | ||
281 | --easy {a="(%-?[uai]NU)(%s)([rlmnwy])", b="%1%2%3%3"}, | 290 | --easy {a="(%-?[uai]NU)(%s)([rlmnwy])", b="%1%2%3%3"}, |
282 | -- assimilations (end) | 291 | -- assimilations (end) |
292 | {a="%-?(uNU)(%s)([uai])", b="%1%2ٱ"}, | ||
293 | {a="%-?(aNU)(%s)([uai])", b="%1%2ٱ"}, | ||
294 | {a="%-?(iNU)(%s)([uai])", b="%1%2ٱ"}, | ||
283 | {a="%-?uNU", b="ٌو"}, | 295 | {a="%-?uNU", b="ٌو"}, |
284 | {a="%-?aNU", b="ًوا"}, | 296 | {a="%-?aNU", b="ًوا"}, |
285 | {a="%-?iNU", b="ٍو"}, | 297 | {a="%-?iNU", b="ٍو"}, |
@@ -287,6 +299,8 @@ tanwinfveasy = { -- no assimilations (see below) | |||
287 | {a="%-?(aN[%_]?[AY])(%s)([uai])", b="%1%2ٱ"}, | 299 | {a="%-?(aN[%_]?[AY])(%s)([uai])", b="%1%2ٱ"}, |
288 | -- assimilations (begin) | 300 | -- assimilations (begin) |
289 | --easy {a="%-?(uN)(%s)([rlmnwy])", b="ٌ%2%3%3"}, | 301 | --easy {a="%-?(uN)(%s)([rlmnwy])", b="ٌ%2%3%3"}, |
302 | --easy {a="(o[%S]-)(%-?aN)(_A)(o)([rlmnwy])", b="%5%5"}, | ||
303 | --easy {a="(o[%S]-)(%-?aN)(Y)(o)([rlmnwy])", b="%5%5"}, | ||
290 | --easy {a="%-?(aN)(_A)(%s)([rlmnwy])", b="ًى%3%4%4"}, | 304 | --easy {a="%-?(aN)(_A)(%s)([rlmnwy])", b="ًى%3%4%4"}, |
291 | --easy {a="%-?(aN)(Y)(%s)([rlmnwy])", b="ًى%3%4%4"}, | 305 | --easy {a="%-?(aN)(Y)(%s)([rlmnwy])", b="ًى%3%4%4"}, |
292 | --easy {a="(T)%-?(aN)(%s)([rlmnwy])", b="%1ً%3%4%4"}, | 306 | --easy {a="(T)%-?(aN)(%s)([rlmnwy])", b="%1ً%3%4%4"}, |
@@ -318,7 +332,11 @@ trigraphsfv = { -- trigraphs or more | |||
318 | -- 'llatI / 'llad_I | 332 | -- 'llatI / 'llad_I |
319 | {a="^'ll(a)([%_]?[dt])", b="ٱلّ%1%2"}, | 333 | {a="^'ll(a)([%_]?[dt])", b="ٱلّ%1%2"}, |
320 | {a="([%(%[%|%<%s%-])'ll(a)([%_]?[dt])", b="%1ٱلّ%2%3"}, --p | 334 | {a="([%(%[%|%<%s%-])'ll(a)([%_]?[dt])", b="%1ٱلّ%2%3"}, --p |
321 | -- law: the diphthong is to be resoved into 'awi' (next 4 lines) | 335 | -- law: the diphthong is to be resolved into 'awi' (next 8 lines) |
336 | {a="^(law)(o)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-o)", b="%1i"}, | ||
337 | {a="(%W)(law)(o)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-o)", b="%1%2i"}, | ||
338 | {a="^(law)(o)(\"?[uai])([%S]-o)", b="%1i"}, | ||
339 | {a="(%W)(law)(o)(\"?[uai])([%S]-o)", b="%1%2i"}, | ||
322 | {a="^(law)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1i%2%3"}, | 340 | {a="^(law)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1i%2%3"}, |
323 | {a="(%W)(law)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1%2i%3%4"}, | 341 | {a="(%W)(law)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1%2i%3%4"}, |
324 | {a="^(law)(%s)([%(%[%|%<]?\"?[uai])", b="%1i%2%3"}, | 342 | {a="^(law)(%s)([%(%[%|%<]?\"?[uai])", b="%1i%2%3"}, |
@@ -341,6 +359,9 @@ trigraphsfv = { -- trigraphs or more | |||
341 | {a="^(a)l%-", b="ا%1لْ"}, | 359 | {a="^(a)l%-", b="ا%1لْ"}, |
342 | {a="([%(%[%|%<%s%-o])(a)l%-", b="%1ا%2لْ"}, --p | 360 | {a="([%(%[%|%<%s%-o])(a)l%-", b="%1ا%2لْ"}, --p |
343 | -- diphthongs to be resolved before ʾalif conjunctionis | 361 | -- diphthongs to be resolved before ʾalif conjunctionis |
362 | {a="(aW)(o)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-o)", b="awuا"}, | ||
363 | {a="(aw)(o)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-o)", b="%1u"}, | ||
364 | {a="(ay)(o)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-o)", b="%1i"}, | ||
344 | {a="(aW)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="awuا%2%3"}, | 365 | {a="(aW)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="awuا%2%3"}, |
345 | {a="(aw)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1u%2%3"}, | 366 | {a="(aw)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1u%2%3"}, |
346 | {a="(ay)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1i%2%3"}, | 367 | {a="(ay)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1i%2%3"}, |
@@ -380,7 +401,11 @@ trigraphsfveasy = { -- trigraphs or more (see 'easy' tag below for the diffs) | |||
380 | -- 'llatI / 'llad_I | 401 | -- 'llatI / 'llad_I |
381 | {a="^'ll(a)([%_]?[dt])", b="ٱلّ%1%2"}, | 402 | {a="^'ll(a)([%_]?[dt])", b="ٱلّ%1%2"}, |
382 | {a="([%(%[%|%<%s%-])'ll(a)([%_]?[dt])", b="%1ٱلّ%2%3"}, --p | 403 | {a="([%(%[%|%<%s%-])'ll(a)([%_]?[dt])", b="%1ٱلّ%2%3"}, --p |
383 | -- law: the diphthong is to be resoved into 'awi' (next 4 lines) | 404 | -- law: the diphthong is to be resolved into 'awi' (next 8 lines) |
405 | {a="^(law)(o)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-o)", b="%1i"}, | ||
406 | {a="(%W)(law)(o)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-o)", b="%1%2i"}, | ||
407 | {a="^(law)(o)(\"?[uai])([%S]-o)", b="%1i"}, | ||
408 | {a="(%W)(law)(o)(\"?[uai])([%S]-o)", b="%1%2i"}, | ||
384 | {a="^(law)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1i%2%3"}, | 409 | {a="^(law)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1i%2%3"}, |
385 | {a="(%W)(law)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1%2i%3%4"}, | 410 | {a="(%W)(law)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1%2i%3%4"}, |
386 | {a="^(law)(%s)([%(%[%|%<]?\"?[uai])", b="%1i%2%3"}, | 411 | {a="^(law)(%s)([%(%[%|%<]?\"?[uai])", b="%1i%2%3"}, |
@@ -403,6 +428,9 @@ trigraphsfveasy = { -- trigraphs or more (see 'easy' tag below for the diffs) | |||
403 | {a="^(a)l%-", b="ا%1لْ"}, | 428 | {a="^(a)l%-", b="ا%1لْ"}, |
404 | {a="([%(%[%|%<%s%-o])(a)l%-", b="%1ا%2لْ"}, --p | 429 | {a="([%(%[%|%<%s%-o])(a)l%-", b="%1ا%2لْ"}, --p |
405 | -- diphthongs to be resolved before ʾalif conjunctionis | 430 | -- diphthongs to be resolved before ʾalif conjunctionis |
431 | {a="(aW)(o)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-o)", b="awuا"}, | ||
432 | {a="(aw)(o)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-o)", b="%1u"}, | ||
433 | {a="(ay)(o)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-o)", b="%1i"}, | ||
406 | {a="(aW)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="awuا%2%3"}, | 434 | {a="(aW)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="awuا%2%3"}, |
407 | {a="(aw)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1u%2%3"}, | 435 | {a="(aw)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1u%2%3"}, |
408 | {a="(ay)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1i%2%3"}, | 436 | {a="(ay)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1i%2%3"}, |
@@ -452,14 +480,20 @@ digraphsfvidgham = { | |||
452 | {a="^\"[uai]", b="ٱ"}, | 480 | {a="^\"[uai]", b="ٱ"}, |
453 | {a="([%(%[%|%<%s%-])\"[uai]", b="%1ٱ"}, --p | 481 | {a="([%(%[%|%<%s%-])\"[uai]", b="%1ٱ"}, --p |
454 | -- diphthongs to be resolved before ʾalif conjunctionis | 482 | -- diphthongs to be resolved before ʾalif conjunctionis |
455 | {a="(aW)(%s)(\"?[uai])", b="awuا%2ٱ"}, | 483 | {a="(aW)(o)(\"?[uai])([%S]-o)", b="awuا"}, |
456 | {a="(aw)(%s)(\"?[uai])", b="%1u%2ٱ"}, | 484 | {a="(aW)(%s)([%(%[%|%<]?)(\"?[uai])", b="awuا%2%3ٱ"}, --p |
457 | {a="(ay)(%s)(\"?[uai])", b="%1i%2ٱ"}, | 485 | {a="(aw)(o)(\"?[uai])([%S]-o)", b="%1u"}, |
458 | {a="([uai]%-)(\"?[uai])", b="%1ٱ"}, -- hyphen + initial alif without hamza | 486 | {a="(aw)(%s)([%(%[%|%<]?)(\"?[uai])", b="%1u%2%3ٱ"}, --p |
487 | {a="(ay)(o)(\"?[uai])([%S]-o)", b="%1i"}, | ||
488 | {a="(ay)(%s)([%(%[%|%<]?)(\"?[uai])", b="%1i%2%3ٱ"}, --p | ||
489 | -- hyphen + initial alif without hamza | ||
490 | -- {a="([uai]%-)(\"?[uai])", b="%1ٱ"}, | ||
491 | {a="([uai]%-)(\"?[uai])([%^%_%.%`]?)(%a)", b="%1ٱ%3%4"}, | ||
459 | -- initial alif without hamza | 492 | -- initial alif without hamza |
493 | {a="(o[%S]-)([uaiUAIY])(o)(\"?[uai])", b="ٱ"}, | ||
460 | {a="([%_]?[uaiUAIY])(%s[%(%[%|%<]?)(\"?[uai])", b="%1%2ٱ"}, --p | 494 | {a="([%_]?[uaiUAIY])(%s[%(%[%|%<]?)(\"?[uai])", b="%1%2ٱ"}, --p |
461 | {a="^([%(%[%|%<]?)([uai])", b="%1ا%2"}, -- initial alif without hamza --p | 495 | {a="^([%(%[%|%<]?)(\"?[uai])", b="%1ا%2"}, -- initial alif without hamza --p |
462 | {a="(%s)([%(%[%|%<]?)([uai])", b="%1%2ا%3"}, -- initial alif without hamza --p | 496 | {a="(%s)([%(%[%|%<]?)(\"?[uai])", b="%1%2ا%3"}, -- initial alif without hamza --p |
463 | {a="%-%-", b="ـ"}, | 497 | {a="%-%-", b="ـ"}, |
464 | {a="ؤؤ", b="ؤّ"}, | 498 | {a="ؤؤ", b="ؤّ"}, |
465 | {a="أأ", b="أّ"}, | 499 | {a="أأ", b="أّ"}, |
@@ -554,14 +588,20 @@ digraphsfv = { | |||
554 | {a="^\"[uai]", b="ٱ"}, | 588 | {a="^\"[uai]", b="ٱ"}, |
555 | {a="([%(%[%|%<%s%-])\"[uai]", b="%1ٱ"}, --p | 589 | {a="([%(%[%|%<%s%-])\"[uai]", b="%1ٱ"}, --p |
556 | -- diphthongs to be resolved before ʾalif conjunctionis | 590 | -- diphthongs to be resolved before ʾalif conjunctionis |
557 | {a="(aW)(%s)(\"?[uai])", b="awuا%2ٱ"}, | 591 | {a="(aW)(o)(\"?[uai])([%S]-o)", b="awuا"}, |
558 | {a="(aw)(%s)(\"?[uai])", b="%1u%2ٱ"}, | 592 | {a="(aW)(%s)([%(%[%|%<]?)(\"?[uai])", b="awuا%2%3ٱ"}, --p |
559 | {a="(ay)(%s)(\"?[uai])", b="%1i%2ٱ"}, | 593 | {a="(aw)(o)(\"?[uai])([%S]-o)", b="%1u"}, |
560 | {a="([uai]%-)(\"?[uai])", b="%1ٱ"}, -- hyphen + initial alif without hamza | 594 | {a="(aw)(%s)([%(%[%|%<]?)(\"?[uai])", b="%1u%2%3ٱ"}, --p |
595 | {a="(ay)(o)(\"?[uai])([%S]-o)", b="%1i"}, | ||
596 | {a="(ay)(%s)([%(%[%|%<]?)(\"?[uai])", b="%1i%2%3ٱ"}, --p | ||
597 | -- hyphen + initial alif without hamza | ||
598 | -- {a="([uai]%-)(\"?[uai])", b="%1ٱ"}, | ||
599 | {a="([uai]%-)(\"?[uai])([%^%_%.%`]?)(%a)", b="%1ٱ%3%4"}, | ||
561 | -- initial alif without hamza | 600 | -- initial alif without hamza |
601 | {a="(o[%S]-)([uaiUAIY])(o)(\"?[uai])", b="ٱ"}, | ||
562 | {a="([%_]?[uaiUAIY])(%s[%(%[%|%<]?)(\"?[uai])", b="%1%2ٱ"}, --p | 602 | {a="([%_]?[uaiUAIY])(%s[%(%[%|%<]?)(\"?[uai])", b="%1%2ٱ"}, --p |
563 | {a="^([%(%[%|%<]?)([uai])", b="%1ا%2"}, -- initial alif without hamza --p | 603 | {a="^([%(%[%|%<]?)(\"?[uai])", b="%1ا%2"}, -- initial alif without hamza --p |
564 | {a="(%s)([%(%[%|%<]?)([uai])", b="%1%2ا%3"}, -- initial alif without hamza --p | 604 | {a="(%s)([%(%[%|%<]?)(\"?[uai])", b="%1%2ا%3"}, -- initial alif without hamza --p |
565 | {a="%-%-", b="ـ"}, | 605 | {a="%-%-", b="ـ"}, |
566 | {a="ؤؤ", b="ؤّ"}, | 606 | {a="ؤؤ", b="ؤّ"}, |
567 | {a="أأ", b="أّ"}, | 607 | {a="أأ", b="أّ"}, |
@@ -656,14 +696,20 @@ digraphsfveasy = { -- see the differences under 'easy' marker below | |||
656 | {a="^\"[uai]", b="ٱ"}, | 696 | {a="^\"[uai]", b="ٱ"}, |
657 | {a="([%(%[%|%<%s%-])\"[uai]", b="%1ٱ"}, --p | 697 | {a="([%(%[%|%<%s%-])\"[uai]", b="%1ٱ"}, --p |
658 | -- diphthongs to be resolved before ʾalif conjunctionis | 698 | -- diphthongs to be resolved before ʾalif conjunctionis |
659 | {a="(aW)(%s)(\"?[uai])", b="awuا%2ٱ"}, | 699 | {a="(aW)(o)(\"?[uai])([%S]-o)", b="awuا"}, |
660 | {a="(aw)(%s)(\"?[uai])", b="%1u%2ٱ"}, | 700 | {a="(aW)(%s)([%(%[%|%<]?)(\"?[uai])", b="awuا%2%3ٱ"}, --p |
661 | {a="(ay)(%s)(\"?[uai])", b="%1i%2ٱ"}, | 701 | {a="(aw)(o)(\"?[uai])([%S]-o)", b="%1u"}, |
662 | {a="([uai]%-)(\"?[uai])", b="%1ٱ"}, -- hyphen + initial alif without hamza | 702 | {a="(aw)(%s)([%(%[%|%<]?)(\"?[uai])", b="%1u%2%3ٱ"}, --p |
703 | {a="(ay)(o)(\"?[uai])([%S]-o)", b="%1i"}, | ||
704 | {a="(ay)(%s)([%(%[%|%<]?)(\"?[uai])", b="%1i%2%3ٱ"}, --p | ||
705 | -- hyphen + initial alif without hamza | ||
706 | -- {a="([uai]%-)(\"?[uai])", b="%1ٱ"}, | ||
707 | {a="([uai]%-)(\"?[uai])([%^%_%.%`]?)(%a)", b="%1ٱ%3%4"}, | ||
663 | -- initial alif without hamza | 708 | -- initial alif without hamza |
709 | {a="(o[%S]-)([uaiUAIY])(o)(\"?[uai])", b="ٱ"}, | ||
664 | {a="([%_]?[uaiUAIY])(%s[%(%[%|%<]?)(\"?[uai])", b="%1%2ٱ"}, --p | 710 | {a="([%_]?[uaiUAIY])(%s[%(%[%|%<]?)(\"?[uai])", b="%1%2ٱ"}, --p |
665 | {a="^([%(%[%|%<]?)([uai])", b="%1ا%2"}, -- initial alif without hamza --p | 711 | {a="^([%(%[%|%<]?)(\"?[uai])", b="%1ا%2"}, -- initial alif without hamza --p |
666 | {a="(%s)([%(%[%|%<]?)([uai])", b="%1%2ا%3"}, -- initial alif without hamza --p | 712 | {a="(%s)([%(%[%|%<]?)(\"?[uai])", b="%1%2ا%3"}, -- initial alif without hamza --p |
667 | {a="%-%-", b="ـ"}, | 713 | {a="%-%-", b="ـ"}, |
668 | {a="ؤؤ", b="ؤّ"}, | 714 | {a="ؤؤ", b="ؤّ"}, |
669 | {a="أأ", b="أّ"}, | 715 | {a="أأ", b="أّ"}, |
diff --git a/arabluatex_trans.lua b/arabluatex_trans.lua index b29ae37..c420f6f 100644 --- a/arabluatex_trans.lua +++ b/arabluatex_trans.lua | |||
@@ -262,8 +262,8 @@ trigraphstrdmg = { -- trigraphs or more | |||
262 | idghamtrdmg = { | 262 | idghamtrdmg = { |
263 | -- assimilations | 263 | -- assimilations |
264 | {a="(n)(}?)(%s)([rlmnwy])", b="%4%2%3%4"}, | 264 | {a="(n)(}?)(%s)([rlmnwy])", b="%4%2%3%4"}, |
265 | {a="(n)(o)([rlmnwy])([%S]-o)", b="%3"} | 265 | {a="(n)(}?)(o)([rlmnwy])([%S]-o)", b="%4%2"} |
266 | } | 266 | } |
267 | 267 | ||
268 | digraphstrdmg = { | 268 | digraphstrdmg = { |
269 | {a="([uai]%-)(\"?[uai])", b="%1'"}, -- hyphen + initial alif without hamza | 269 | {a="([uai]%-)(\"?[uai])", b="%1'"}, -- hyphen + initial alif without hamza |
@@ -276,6 +276,10 @@ digraphstrdmg = { | |||
276 | {a="(%W)(\"?[uai])", b="%1%2"}, -- initial alif without hamza | 276 | {a="(%W)(\"?[uai])", b="%1%2"}, -- initial alif without hamza |
277 | -- this is not necessary, take out for now: | 277 | -- this is not necessary, take out for now: |
278 | -- {a="([%_]?[uaiUAIY])(%s)([uai])", b="%1%2'"}, -- initial alif without hamza | 278 | -- {a="([%_]?[uaiUAIY])(%s)([uai])", b="%1%2'"}, -- initial alif without hamza |
279 | {a="(aw)(o)(\"?[uai])([%S]-o)", b="%1u"}, | ||
280 | {a="(aw)(%s)([%(%[%|%<]?)(\"?[uai])", b="%1u%2%3'"}, --p | ||
281 | {a="(ay)(o)(\"?[uai])([%S]-o)", b="%1i"}, | ||
282 | {a="(ay)(%s)([%(%[%|%<]?)(\"?[uai])", b="%1i%2%3'"}, --p | ||
279 | {a="(aW)(o)(\"?[uai])([%S]-o)", b="awu"}, | 283 | {a="(aW)(o)(\"?[uai])([%S]-o)", b="awu"}, |
280 | {a="(UA)(o)(\"?[uai])([%S]-o)", b="u"}, | 284 | {a="(UA)(o)(\"?[uai])([%S]-o)", b="u"}, |
281 | {a="(%_A)(o)(\"?[uai])([%S]-o)", b="ạ"}, | 285 | {a="(%_A)(o)(\"?[uai])([%S]-o)", b="ạ"}, |
diff --git a/arabluatex_voc.lua b/arabluatex_voc.lua index fb53b5a..57ab34c 100644 --- a/arabluatex_voc.lua +++ b/arabluatex_voc.lua | |||
@@ -202,7 +202,7 @@ 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 8 lines) | 205 | -- 'aw: the diphthong is to be resolved into 'awi' (next 8 lines) |
206 | {a="^('aw)(o)('[%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-o)", b="%1i"}, | 206 | {a="^('aw)(o)('[%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-o)", b="%1i"}, |
207 | {a="(%W)('aw)(o)('[%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-o)", b="%1%2i"}, | 207 | {a="(%W)('aw)(o)('[%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-o)", b="%1%2i"}, |
208 | {a="^('aw)(o)(\"?[uai])([%S]-o)", b="%1i"}, | 208 | {a="^('aw)(o)(\"?[uai])([%S]-o)", b="%1i"}, |
@@ -482,13 +482,9 @@ trigraphs = { -- trigraphs or more | |||
482 | {a="(aW)(o)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-o)", b="awuا"}, | 482 | {a="(aW)(o)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-o)", b="awuا"}, |
483 | {a="(aw)(o)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-o)", b="%1u"}, | 483 | {a="(aw)(o)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-o)", b="%1u"}, |
484 | {a="(ay)(o)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-o)", b="%1i"}, | 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"}, | ||
487 | {a="(aW)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="awuا%2%3"}, | 485 | {a="(aW)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="awuا%2%3"}, |
488 | {a="(aw)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1u%2%3"}, | 486 | {a="(aw)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1u%2%3"}, |
489 | {a="(ay)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1i%2%3"}, | 487 | {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 | ||
492 | -- art. with waṣla + lām | 488 | -- art. with waṣla + lām |
493 | {a="'l%-(l)", b="ال%1%1"}, | 489 | {a="'l%-(l)", b="ال%1%1"}, |
494 | -- art. with waṣla + solar consonant | 490 | -- art. with waṣla + solar consonant |
@@ -613,12 +609,20 @@ digraphs = { | |||
613 | -- initial straight double quote gives a connective ʾalif | 609 | -- initial straight double quote gives a connective ʾalif |
614 | {a="^\"[uai]", b="ٱ"}, | 610 | {a="^\"[uai]", b="ٱ"}, |
615 | {a="([%(%[%|%<%s%-])\"[uai]", b="%1ٱ"}, --p | 611 | {a="([%(%[%|%<%s%-])\"[uai]", b="%1ٱ"}, --p |
616 | {a="(aW)(o)([uai]([%S]-o))", b="awuا"}, | 612 | -- diphthongs to be resolved before ʾalif conjunctionis |
613 | {a="(aW)(o)(\"?[uai])([%S]-o)", b="awuا"}, | ||
617 | {a="(aW)(%s)([%(%[%|%<]?)([uai])", b="awuا%2%3%4"}, --p | 614 | {a="(aW)(%s)([%(%[%|%<]?)([uai])", b="awuا%2%3%4"}, --p |
615 | {a="(aw)(o)(\"?[uai])([%S]-o)", b="%1u"}, | ||
616 | {a="(aw)(%s)([%(%[%|%<]?)(\"?[uai])", b="%1u%2%3ا"}, --p | ||
617 | {a="(ay)(o)(\"?[uai])([%S]-o)", b="%1i"}, | ||
618 | {a="(ay)(%s)([%(%[%|%<]?)(\"?[uai])", b="%1i%2%3ا"}, --p | ||
618 | -- hyphen + initial alif without hamza: | 619 | -- hyphen + initial alif without hamza: |
619 | {a="(%-)([uai])([%^%_%.%`]?)(%a)", b="%1ا%3%4"}, | 620 | {a="([uai]%-)(\"?[uai])([%^%_%.%`]?)(%a)", b="%1ا%3%4"}, |
620 | {a="^([%(%[%|%<]?)([uai])", b="%1ا%2"}, -- initial alif without hamza --p | 621 | -- initial alif without hamza |
621 | {a="(%s)([%(%[%|%<]?)([uai])", b="%1%2ا"}, -- initial alif without hamza --p | 622 | {a="^([%(%[%|%<]?)(\"?[uai])", b="%1ا%2"}, --p |
623 | -- initial alif without hamza | ||
624 | {a="(o[%S]-)([uaiUAIY])(o)(\"?[uai])", b="ا"}, | ||
625 | {a="(%s)([%(%[%|%<]?)(\"?[uai])", b="%1%2ا"}, --p | ||
622 | {a="%-%-", b="ـ"}, | 626 | {a="%-%-", b="ـ"}, |
623 | {a="ؤؤ", b="ؤّ"}, | 627 | {a="ؤؤ", b="ؤّ"}, |
624 | {a="أأ", b="أّ"}, | 628 | {a="أأ", b="أّ"}, |