summaryrefslogtreecommitdiff
path: root/macros/luatex/latex/arabluatex/arabluatex_fullvoc.lua
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2020-03-01 03:01:38 +0000
committerNorbert Preining <norbert@preining.info>2020-03-01 03:01:38 +0000
commitad1928316d819ffb337fc4a926dbef47607dfb95 (patch)
treeccca9edbbeacc0e88602998f86c75b2c24c02af6 /macros/luatex/latex/arabluatex/arabluatex_fullvoc.lua
parent4736ac744a8c914e0d5ced1d157e017a385bbf43 (diff)
CTAN sync 202003010301
Diffstat (limited to 'macros/luatex/latex/arabluatex/arabluatex_fullvoc.lua')
-rw-r--r--macros/luatex/latex/arabluatex/arabluatex_fullvoc.lua59
1 files changed, 50 insertions, 9 deletions
diff --git a/macros/luatex/latex/arabluatex/arabluatex_fullvoc.lua b/macros/luatex/latex/arabluatex/arabluatex_fullvoc.lua
index f524c3b6d9..a53adce4d2 100644
--- a/macros/luatex/latex/arabluatex/arabluatex_fullvoc.lua
+++ b/macros/luatex/latex/arabluatex/arabluatex_fullvoc.lua
@@ -2,7 +2,7 @@
This file is part of the `arabluatex' package
ArabLuaTeX -- Processing ArabTeX notation under LuaLaTeX
-Copyright (C) 2016--2019 Robert Alessi
+Copyright (C) 2016--2020 Robert Alessi
Please send error reports and suggestions for improvements to Robert
Alessi <alessi@robertalessi.net>
@@ -38,6 +38,7 @@ hamzafv = {
{a="w\"'", b="ؤ"},
{a="i\"'", b="إ"},
{a="y\"'", b="ئ"},
+ -- moved below (end of 'final' section)
{a="ؤ([^uaiUAI])", b="ؤْ%1"},
{a="ؤ(%p*)$", b="ؤْ%1"},
{a="ؤ(%p*%s)", b="ؤْ%1"},
@@ -47,6 +48,9 @@ hamzafv = {
{a="ئ([^uaiUAI])", b="ئْ%1"},
{a="ئ(%p*)$", b="ئْ%1"},
{a="ئ(%p*%s)", b="ئْ%1"},
+ {a="ء([^uaiUAI])", b="ءْ%1"},
+ {a="ء(%p*)$", b="ءْ%1"},
+ {a="ء(%p*%s)", b="ءْ%1"},
-- hamza takes tašdīd too
{a="''([Uu])", b="ؤؤ%1"},
{a="''([Aa])", b="أأ%1"},
@@ -129,22 +133,40 @@ hamzafv = {
{a="(i)(')([uai]N?)(%p*%s)", b="%1ئ%3%4"},
{a="(i)(')(%p*)$", b="%1ئْ%3"},
{a="(i)(')(%p*%s)", b="%1ئْ%3"},
---
+-- the following was wrong for it broke the taḫfīfu 'l-hamzati
+-- (look into this later):
+-- moved here from above:
+ -- {a="ؤ([^uaiUAI])", b="ؤْ%1"},
+ -- {a="ؤ(%p*)$", b="ؤْ%1"},
+ -- {a="ؤ(%p*%s)", b="ؤْ%1"},
+ -- {a="أ([^uaiUAI])", b="أْ%1"},
+ -- {a="أ(%p*)$", b="أْ%1"},
+ -- {a="أ(%p*%s)", b="أْ%1"},
+ -- {a="ئ([^uaiUAI])", b="ئْ%1"},
+ -- {a="ئ(%p*)$", b="ئْ%1"},
+ -- {a="ئ(%p*%s)", b="ئْ%1"},
+ -- {a="ء([^uaiUAI])", b="ءْ%1"},
+ -- {a="ء(%p*)$", b="ءْ%1"},
+ -- {a="ء(%p*%s)", b="ءْ%1"},
-- middle
{a="([UIwy])(')", b="%1ء"}, --new
-- {a="([Iy])(')", b="%1ئ"}, --included in the above line
- {a="([^uai])(')([uU])", b="%1ؤ%3"},
- {a="([^uai])(')(%_?[aAY])", b="%1أ%3"},
- {a="([^uai])(')([iI])", b="%1ئ%3"},
- {a="(u)(')([uU])", b="%1ؤ%3"},
+ -- hamza is alone after letters of prolongation or sukūn
+ -- {a="([^uai])(')([uU])", b="%1ؤ%3"},
+ -- {a="([^uai])(')(%_?[aAY])", b="%1أ%3"},
+ -- {a="([^uai])(')([iI])", b="%1ئ%3"},
+ {a="([^uai])(')(%_?[uaiUAYI])", b="%1ء%3"},
+ {a="(u)(')([UI])", b="%1ء%3"},
+ {a="(u)(')([u])", b="%1ؤ%3"},
{a="(u)(')(%_?[aAY])", b="%1ؤ%3"},
- {a="(u)(')([iI])", b="%1ئ%3"},
+ {a="(u)(')([i])", b="%1ئ%3"},
{a="(a)(')(%_?[aAY])", b="%1أ%3"},
{a="(a)(')([uU])", b="%1ؤ%3"},
{a="(a)(')([iI])", b="%1ئ%3"},
+ {a="(i)(')([UI])", b="%1ء%3"},
{a="(i)(')(%_?[aAY])", b="%1ئ%3"},
- {a="(i)(')([uU])", b="%1ئ%3"},
- {a="(i)(')([iI])", b="%1ئ%3"},
+ {a="(i)(')([u])", b="%1ئ%3"},
+ {a="(i)(')([i])", b="%1ئ%3"},
{a="(a)(')([^uaiUAI])", b="%1أْ%3"},
{a="(u)(')([^uaiUAI])", b="%1ؤْ%3"},
{a="(i)(')([^uaiUAI])", b="%1ئْ%3"}
@@ -166,6 +188,7 @@ hamzafveasy = { -- differences marked below with 'easy'
{a="w\"'", b="ؤ"},
{a="i\"'", b="إ"},
{a="y\"'", b="ئ"},
+ -- moved below (end of 'final' section)
{a="ؤ([^uaiUAI])", b="ؤْ%1"},
{a="ؤ(%p*)$", b="ؤْ%1"},
{a="ؤ(%p*%s)", b="ؤْ%1"},
@@ -175,6 +198,9 @@ hamzafveasy = { -- differences marked below with 'easy'
{a="ئ([^uaiUAI])", b="ئْ%1"},
{a="ئ(%p*)$", b="ئْ%1"},
{a="ئ(%p*%s)", b="ئْ%1"},
+ {a="ء([^uaiUAI])", b="ءْ%1"},
+ {a="ء(%p*)$", b="ءْ%1"},
+ {a="ء(%p*%s)", b="ءْ%1"},
-- hamza takes tašdīd too
{a="''([Uu])", b="ؤؤ%1"},
{a="''([Aa])", b="أأ%1"},
@@ -269,6 +295,21 @@ hamzafveasy = { -- differences marked below with 'easy'
{a="(i)(')([uai]N?)(%p*%s)", b="%1ئ%3%4"},
{a="(i)(')(%p*)$", b="%1ئْ%3"},
{a="(i)(')(%p*%s)", b="%1ئْ%3"},
+-- the following was wrong for it broke the taḫfīfu 'l-hamzati
+-- (look into this later):
+-- moved here from above:
+ -- {a="ؤ([^uaiUAI])", b="ؤْ%1"},
+ -- {a="ؤ(%p*)$", b="ؤْ%1"},
+ -- {a="ؤ(%p*%s)", b="ؤْ%1"},
+ -- {a="أ([^uaiUAI])", b="أْ%1"},
+ -- {a="أ(%p*)$", b="أْ%1"},
+ -- {a="أ(%p*%s)", b="أْ%1"},
+ -- {a="ئ([^uaiUAI])", b="ئْ%1"},
+ -- {a="ئ(%p*)$", b="ئْ%1"},
+ -- {a="ئ(%p*%s)", b="ئْ%1"},
+ -- {a="ء([^uaiUAI])", b="ءْ%1"},
+ -- {a="ء(%p*)$", b="ءْ%1"},
+ -- {a="ء(%p*%s)", b="ءْ%1"},
--
-- middle
{a="([Uw])(')", b="%1ء"}, --new