aboutsummaryrefslogtreecommitdiff
path: root/arabluatex_fullvoc.lua
diff options
context:
space:
mode:
Diffstat (limited to 'arabluatex_fullvoc.lua')
-rw-r--r--arabluatex_fullvoc.lua67
1 files changed, 34 insertions, 33 deletions
diff --git a/arabluatex_fullvoc.lua b/arabluatex_fullvoc.lua
index 7f9d476..7483734 100644
--- a/arabluatex_fullvoc.lua
+++ b/arabluatex_fullvoc.lua
@@ -2,24 +2,23 @@
2This file is part of the `arabluatex' package 2This file is part of the `arabluatex' package
3 3
4ArabLuaTeX -- Processing ArabTeX notation under LuaLaTeX 4ArabLuaTeX -- Processing ArabTeX notation under LuaLaTeX
5Copyright (C) 2016--2019 Robert Alessi 5Copyright (C) 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023
6Robert Alessi <alessi@robertalessi.net>
6 7
7Please send error reports and suggestions for improvements to Robert 8Permission to use, copy, modify, and distribute this software for any
8Alessi <alessi@robertalessi.net> 9purpose with or without fee is hereby granted, provided that the above
9 10copyright notice and this permission notice appear in all copies.
10This program is free software: you can redistribute it and/or modify
11it under the terms of the GNU General Public License as published by
12the Free Software Foundation, either version 3 of the License, or
13(at your option) any later version.
14 11
15This program is distributed in the hope that it will be useful, but 12THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
16WITHOUT ANY WARRANTY; without even the implied warranty of 13WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
17MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
18General Public License for more details. 15ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
16WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
17ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
18OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
19 19
20You should have received a copy of the GNU General Public License 20Please send error reports and suggestions for improvements to Robert
21along with this program. If not, see 21Alessi <alessi@robertalessi.net>
22<http://www.gnu.org/licenses/>.
23--]] 22--]]
24 23
25hamzafv = { 24hamzafv = {
@@ -104,7 +103,7 @@ hamzafv = {
104 -- mi'aT is special orthography (unlike ^say'aN and .zim'aN): 103 -- mi'aT is special orthography (unlike ^say'aN and .zim'aN):
105 -- {a="(%^sa%.?[yY])(\"?%|?)(%')(aN)", b="%1%2ئ%4"}, --new 104 -- {a="(%^sa%.?[yY])(\"?%|?)(%')(aN)", b="%1%2ئ%4"}, --new
106 -- {a="(.zi?m)(%')(aN)", b="%1ئ%3"}, --new 105 -- {a="(.zi?m)(%')(aN)", b="%1ئ%3"}, --new
107 {a="(mi)(%')(a[Tt])", b="%1ائ%3"}, 106 {a="(mi)(%')(a[TtH])", b="%1ائ%3"},
108 {a="(mi)(%')(aN%_?[AY])", b="%1أ%3"}, 107 {a="(mi)(%')(aN%_?[AY])", b="%1أ%3"},
109 -- final hamzah is on the line after a letter of prolongation or a 108 -- final hamzah is on the line after a letter of prolongation or a
110 -- consonant with sukūn 109 -- consonant with sukūn
@@ -256,7 +255,7 @@ hamzafveasy = { -- differences marked below with 'easy'
256 -- mi'aT is special orthography (unlike ^say'aN and .zim'aN) 255 -- mi'aT is special orthography (unlike ^say'aN and .zim'aN)
257 -- {a="(%^sa%.?[yY])(\"?%|?)(%')(aN)", b="%1%2ئ%4"}, --new 256 -- {a="(%^sa%.?[yY])(\"?%|?)(%')(aN)", b="%1%2ئ%4"}, --new
258 -- {a="(.zi?m)(%')(aN)", b="%1ئ%3"}, --new 257 -- {a="(.zi?m)(%')(aN)", b="%1ئ%3"}, --new
259 {a="(mi)(%')(a[Tt])", b="%1ائ%3"}, 258 {a="(mi)(%')(a[TtH])", b="%1ائ%3"},
260 {a="(mi)(%')(aN%_?[AY])", b="%1أ%3"}, 259 {a="(mi)(%')(aN%_?[AY])", b="%1أ%3"},
261 -- easy (begin) 260 -- easy (begin)
262 -- The Munjid says that such words as radI'aN do not have the 261 -- The Munjid says that such words as radI'aN do not have the
@@ -351,9 +350,9 @@ tanwinfv = { -- with assimilations (\SetArbDflt*)
351 {a="(O[%S]-)(%-?aN)(Y)(O)([rlmnwy])", b="%5%5"}, 350 {a="(O[%S]-)(%-?aN)(Y)(O)([rlmnwy])", b="%5%5"},
352 {a="%-?(aN)(_A)(%s)([rlmnwy])", b="ًى%3%4%4"}, 351 {a="%-?(aN)(_A)(%s)([rlmnwy])", b="ًى%3%4%4"},
353 {a="%-?(aN)(Y)(%s)([rlmnwy])", b="ًى%3%4%4"}, 352 {a="%-?(aN)(Y)(%s)([rlmnwy])", b="ًى%3%4%4"},
354 {a="(T)%-?(aN)(%s)([rlmnwy])", b="%1ً%3%4%4"}, 353 {a="([TH])%-?(aN)(%s)([rlmnwy])", b="%1ً%3%4%4"},
355-- {a="(ء)%-?(aN)(%s)([rlmnwy])", b="%1%2%3%4%4"}, --new 354-- {a="(ء)%-?(aN)(%s)([rlmnwy])", b="%1%2%3%4%4"}, --new
356 {a="([^TA])%-?(aN)(%s)([rlmnwy])", b="%1ًا%3%4%4"}, 355 {a="([^TAH])%-?(aN)(%s)([rlmnwy])", b="%1ًا%3%4%4"},
357 {a="%-?(iNI?)(%s)([rlmnwy])", b="ٍ%2%3%3"}, 356 {a="%-?(iNI?)(%s)([rlmnwy])", b="ٍ%2%3%3"},
358 -- assimilations (end) 357 -- assimilations (end)
359 {a="(O[%S]-)(%-?aN)(_A)(O)([uai])", b="ٱ"}, 358 {a="(O[%S]-)(%-?aN)(_A)(O)([uai])", b="ٱ"},
@@ -363,9 +362,9 @@ tanwinfv = { -- with assimilations (\SetArbDflt*)
363 {a="(B)%-?(\"aN)", b="%1"}, 362 {a="(B)%-?(\"aN)", b="%1"},
364 {a="%-?(\"aN)(_A)", b="ى"}, 363 {a="%-?(\"aN)(_A)", b="ى"},
365 {a="%-?(\"aN)(Y)", b="ى"}, 364 {a="%-?(\"aN)(Y)", b="ى"},
366 {a="(T)%-?(\"aN)", b="%1"}, 365 {a="([TH])%-?(\"aN)", b="%1"},
367 {a="([اآ])(ء)%-?(\"aN)", b="%1%2"}, --new 366 {a="([اآ])(ء)%-?(\"aN)", b="%1%2"}, --new
368 {a="([^TA])%-?(\"aN)", b="%1ا"}, 367 {a="([^TAH])%-?(\"aN)", b="%1ا"},
369 {a="%-?(\"iNI?)", b=""}, 368 {a="%-?(\"iNI?)", b=""},
370 -- quoted tanwīn (end) 369 -- quoted tanwīn (end)
371 {a="%-?(uN)", b="ٌ"}, 370 {a="%-?(uN)", b="ٌ"},
@@ -373,15 +372,15 @@ tanwinfv = { -- with assimilations (\SetArbDflt*)
373 -- needed by \arbcolor: 372 -- needed by \arbcolor:
374 {a="%-?(aN)(O[%S]-%_AO)", b="ً"}, 373 {a="%-?(aN)(O[%S]-%_AO)", b="ً"},
375 {a="%-?(aN)(O[%S]-YO)", b="ً"}, 374 {a="%-?(aN)(O[%S]-YO)", b="ً"},
376 {a="(O[%S]-TO)%-?(aN)", b="ً"}, 375 {a="(O[%S]-[TH]O)%-?(aN)", b="ً"},
377 {a="(O[%S]-)([اآ])(ء)(O)%-?(aN)", b="ً"}, --new 376 {a="(O[%S]-)([اآ])(ء)(O)%-?(aN)", b="ً"}, --new
378 {a="(O[%S]-[^TA]O)%-?(aN)", b="ًا"}, 377 {a="(O[%S]-[^TAH]O)%-?(aN)", b="ًا"},
379 -- 378 --
380 {a="%-?(aN)(_A)", b="ًى"}, 379 {a="%-?(aN)(_A)", b="ًى"},
381 {a="%-?(aN)(Y)", b="ًى"}, 380 {a="%-?(aN)(Y)", b="ًى"},
382 {a="(T)%-?(aN)", b="%1ً"}, 381 {a="([TH])%-?(aN)", b="%1ً"},
383 {a="([اآ])(ء)%-?(aN)", b="%1%2ً"}, --new 382 {a="([اآ])(ء)%-?(aN)", b="%1%2ً"}, --new
384 {a="([^TA])%-?(aN)", b="%1ًا"}, 383 {a="([^TAH])%-?(aN)", b="%1ًا"},
385 {a="%-?(iNI?)", b="ٍ"} 384 {a="%-?(iNI?)", b="ٍ"}
386} 385}
387 386
@@ -405,9 +404,9 @@ tanwinfveasy = { -- no assimilations (see below)
405--easy {a="(O[%S]-)(%-?aN)(Y)(O)([rlmnwy])", b="%5%5"}, 404--easy {a="(O[%S]-)(%-?aN)(Y)(O)([rlmnwy])", b="%5%5"},
406--easy {a="%-?(aN)(_A)(%s)([rlmnwy])", b="ًى%3%4%4"}, 405--easy {a="%-?(aN)(_A)(%s)([rlmnwy])", b="ًى%3%4%4"},
407--easy {a="%-?(aN)(Y)(%s)([rlmnwy])", b="ًى%3%4%4"}, 406--easy {a="%-?(aN)(Y)(%s)([rlmnwy])", b="ًى%3%4%4"},
408--easy {a="(T)%-?(aN)(%s)([rlmnwy])", b="%1ً%3%4%4"}, 407--easy {a="([TH])%-?(aN)(%s)([rlmnwy])", b="%1ً%3%4%4"},
409--easy {a="(ء)%-?(aN)(%s)([rlmnwy])", b="%1%2%3%4%4"}, --new 408--easy {a="(ء)%-?(aN)(%s)([rlmnwy])", b="%1%2%3%4%4"}, --new
410--easy {a="([^TA])%-?(aN)(%s)([rlmnwy])", b="%1ًا%3%4%4"}, 409--easy {a="([^TAH])%-?(aN)(%s)([rlmnwy])", b="%1ًا%3%4%4"},
411--easy {a="%-?(iNI?)(%s)([rlmnwy])", b="ٍ%2%3%3"}, 410--easy {a="%-?(iNI?)(%s)([rlmnwy])", b="ٍ%2%3%3"},
412 -- assimilations (end) 411 -- assimilations (end)
413 {a="(O[%S]-)(%-?aN)(_A)(O)([uai])", b="ٱ"}, 412 {a="(O[%S]-)(%-?aN)(_A)(O)([uai])", b="ٱ"},
@@ -417,9 +416,9 @@ tanwinfveasy = { -- no assimilations (see below)
417 {a="(B)%-?(\"aN)", b="%1"}, 416 {a="(B)%-?(\"aN)", b="%1"},
418 {a="%-?(\"aN)(_A)", b="ى"}, 417 {a="%-?(\"aN)(_A)", b="ى"},
419 {a="%-?(\"aN)(Y)", b="ى"}, 418 {a="%-?(\"aN)(Y)", b="ى"},
420 {a="(T)%-?(\"aN)", b="%1"}, 419 {a="([TH])%-?(\"aN)", b="%1"},
421 {a="([اآ])(ء)%-?(\"aN)", b="%1%2"}, --new 420 {a="([اآ])(ء)%-?(\"aN)", b="%1%2"}, --new
422 {a="([^TA])%-?(\"aN)", b="%1ا"}, 421 {a="([^TAH])%-?(\"aN)", b="%1ا"},
423 {a="%-?(\"iNI?)", b=""}, 422 {a="%-?(\"iNI?)", b=""},
424 -- quoted tanwīn (end) 423 -- quoted tanwīn (end)
425 {a="%-?(uN)", b="ٌ"}, 424 {a="%-?(uN)", b="ٌ"},
@@ -427,15 +426,15 @@ tanwinfveasy = { -- no assimilations (see below)
427 -- needed by \arbcolor: 426 -- needed by \arbcolor:
428 {a="%-?(aN)(O[%S]-%_AO)", b="ً"}, 427 {a="%-?(aN)(O[%S]-%_AO)", b="ً"},
429 {a="%-?(aN)(O[%S]-YO)", b="ً"}, 428 {a="%-?(aN)(O[%S]-YO)", b="ً"},
430 {a="(O[%S]-TO)%-?(aN)", b="ً"}, 429 {a="(O[%S]-[TH]O)%-?(aN)", b="ً"},
431 {a="(O[%S]-)([اآ])(ء)(O)%-?(aN)", b="ً"}, --new 430 {a="(O[%S]-)([اآ])(ء)(O)%-?(aN)", b="ً"}, --new
432 {a="(O[%S]-[^TA]O)%-?(aN)", b="ًا"}, 431 {a="(O[%S]-[^TAH]O)%-?(aN)", b="ًا"},
433 -- 432 --
434 {a="%-?(aN)(_A)", b="ًى"}, 433 {a="%-?(aN)(_A)", b="ًى"},
435 {a="%-?(aN)(Y)", b="ًى"}, 434 {a="%-?(aN)(Y)", b="ًى"},
436 {a="(T)%-?(aN)", b="%1ً"}, 435 {a="([TH])%-?(aN)", b="%1ً"},
437 {a="([اآ])(ء)%-?(aN)", b="%1%2ً"}, --new 436 {a="([اآ])(ء)%-?(aN)", b="%1%2ً"}, --new
438 {a="([^TA])%-?(aN)", b="%1ًا"}, 437 {a="([^TAH])%-?(aN)", b="%1ًا"},
439 {a="%-?(iNI?)", b="ٍ"} 438 {a="%-?(iNI?)", b="ٍ"}
440} 439}
441 440
@@ -1007,6 +1006,7 @@ singlefv = {
1007 {a="w", b="و"}, 1006 {a="w", b="و"},
1008 {a="y", b="ي"}, 1007 {a="y", b="ي"},
1009 {a="T", b="ة"}, 1008 {a="T", b="ة"},
1009 {a="H", b="ه"},
1010 -- additional characters (begin) 1010 -- additional characters (begin)
1011 {a="p", b="پ"}, 1011 {a="p", b="پ"},
1012 {a="v", b="ڤ"}, 1012 {a="v", b="ڤ"},
@@ -1042,6 +1042,7 @@ singlefveasy = { -- see the differences under 'easy' tag below
1042 {a="y", b="ي"}, 1042 {a="y", b="ي"},
1043 {a="T", b="ة"}, 1043 {a="T", b="ة"},
1044 -- additional characters (begin) 1044 -- additional characters (begin)
1045 {a="H", b="ه"},
1045 {a="p", b="پ"}, 1046 {a="p", b="پ"},
1046 {a="v", b="ڤ"}, 1047 {a="v", b="ڤ"},
1047 {a="g", b="گ"}, 1048 {a="g", b="گ"},