From be01b8d5cdcaba6045625a5006edf09d7f619264 Mon Sep 17 00:00:00 2001 From: Robert Alessi Date: Thu, 3 Mar 2016 18:25:03 +0100 Subject: =?UTF-8?q?=C5=A1adda=20over=20hamza=20+=20improved=20madda?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- arabluatex_fullvoc.lua | 12 ++++++++++-- arabluatex_trans.lua | 43 +++++++++++++++++++++++++++++-------------- arabluatex_voc.lua | 10 +++++++++- 3 files changed, 48 insertions(+), 17 deletions(-) diff --git a/arabluatex_fullvoc.lua b/arabluatex_fullvoc.lua index a56a33f..b0991bf 100644 --- a/arabluatex_fullvoc.lua +++ b/arabluatex_fullvoc.lua @@ -31,10 +31,15 @@ hamzafv = { {a="w\"'", b="ؤ"}, {a="i\"'", b="إ"}, {a="y\"'", b="ئ"}, + -- hamza takes tašdīd too + {a="''([Uu])", b="ؤؤ%1"}, + {a="''([Aa])", b="أأ%1"}, + {a="''([Ii])", b="ئئ%1"}, -- initial long u {a="%'%_U", b="أU"}, -- madda (historic writing below) - {a="'A", b="آ"}, + {a="'a'([^uaiUAI])", b="آ%1"}, + {a="'a?A", b="آ"}, {a="(A)(')(i)$", b="aآء%3"}, {a="(A)(')(i)(%W)", b="aآء%3%4"}, {a="(A)(')(i)", b="aآئ%3"}, -- historic madda @@ -55,7 +60,7 @@ hamzafv = { -- {a="([UI])(')([uai]N?)(%W)", b="%1ء%3%4"}, -- ^say'aN and .zim'aN are special orthographies {a="(%^say)(%')(aN)", b="%1ئ%3"}, - {a="(.zim)(%')(aN)", b="%1ئ%3"}, + {a="(.zi?m)(%')(aN)", b="%1ئ%3"}, {a="([^uai])(')([uai]N?)$", b="%1ء%3"}, {a="([^uai])(')([uai]N?)(%W)", b="%1ء%3%4"}, -- middle @@ -124,6 +129,9 @@ digraphsfv = { {a="^([uai])", b="ٱ"}, -- initial alif without hamza {a="(%s)([uai])", b="%1ٱ"}, -- initial alif without hamza {a="%-%-", b="ـ"}, + {a="ؤؤ", b="ؤّ"}, + {a="أأ", b="أّ"}, + {a="ئئ", b="ئّ"}, {a="bb", b="بّ"}, {a="BB", b="ـّ"}, {a="tt", b="تّ"}, diff --git a/arabluatex_trans.lua b/arabluatex_trans.lua index 4b0fca0..a178cf2 100644 --- a/arabluatex_trans.lua +++ b/arabluatex_trans.lua @@ -32,16 +32,21 @@ nulltr = { hamzatrdmg = { -- hard coded hamza - {a="|\"'", b="'"}, - {a="A\"'", b="'"}, - {a="[au]\"'", b="'"}, - {a="w\"'", b="'"}, - {a="i\"'", b="'"}, - {a="y\"'", b="'"}, + {a="|\"'", b="ʾ"}, + {a="A\"'", b="ʾ"}, + {a="[au]\"'", b="ʾ"}, + {a="w\"'", b="ʾ"}, + {a="i\"'", b="ʾ"}, + {a="y\"'", b="ʾ"}, + -- hamza takes tašdīd too + {a="''([Uu])", b="ʾʾ%1"}, + {a="''([Aa])", b="ʾʾ%1"}, + {a="''([Ii])", b="ʾʾ%1"}, -- initial long u {a="%'%_U", b="ʾU"}, -- madda (historic writing below) - {a="'A", b="ʾA"}, + {a="'a'([^uaiUAI])", b="ʾA%1"}, + {a="'a?A", b="ʾA"}, {a="(A)(')(i)$", b="%1ʾ%3"}, {a="(A)(')(i)(%W)", b="%1ʾ%3%4"}, {a="(A)(')(i)", b="%1ʾ%3"}, -- historic madda @@ -192,18 +197,28 @@ shortvtrdmg = { hamzatrloc = { -- hard coded hamza - {a="|\"'", b="'"}, - {a="A\"'", b="'"}, - {a="[au]\"'", b="'"}, - {a="w\"'", b="'"}, - {a="i\"'", b="'"}, - {a="y\"'", b="'"}, + {a="|\"'", b="ʾ"}, + {a="A\"'", b="ʾ"}, + {a="[au]\"'", b="ʾ"}, + {a="w\"'", b="ʾ"}, + {a="i\"'", b="ʾ"}, + {a="y\"'", b="ʾ"}, + -- hamza takes tašdīd too + {a="''([Uu])", b="ʾʾ%1"}, + {a="''([Aa])", b="ʾʾ%1"}, + {a="''([Ii])", b="ʾʾ%1"}, -- initial long u {a="%'%_U", b="U"}, -- madda (historic writing below) {a="^(')(A)", b="%2"}, {a="(%W)(')(A)", b="%1%3"}, - {a="'A", b="ʾA"}, + + {a="^'a'([^uaiUAI])", b="A%1"}, + {a="(%W)'a'([^uaiUAI])", b="%1A%2"}, + {a="'a'([^uaiUAI])", b="A%1"}, + {a="^'a?A", b="A"}, + {a="(%W)'a?A", b="%1A"}, + {a="'a?A", b="ʾA"}, {a="(A)(')(i)$", b="%1ʾ%3"}, {a="(A)(')(i)(%W)", b="%1ʾ%3%4"}, {a="(A)(')(i)", b="%1ʾ%3"}, -- historic madda diff --git a/arabluatex_voc.lua b/arabluatex_voc.lua index 3018789..844e653 100644 --- a/arabluatex_voc.lua +++ b/arabluatex_voc.lua @@ -72,10 +72,15 @@ hamza = { {a="w\"'", b="ؤ"}, {a="i\"'", b="إ"}, {a="y\"'", b="ئ"}, + -- hamza takes tašdīd too + {a="''([Uu])", b="ؤؤ%1"}, + {a="''([Aa])", b="أأ%1"}, + {a="''([Ii])", b="ئئ%1"}, -- initial long u {a="%'%_U", b="أU"}, -- madda (historic writing below) - {a="'A", b="آ"}, + {a="'a'([^uaiUAI])", b="آ%1"}, + {a="'a?A", b="آ"}, {a="(A)(')(i)$", b="aآء%3"}, {a="(A)(')(i)(%W)", b="aآء%3%4"}, {a="(A)(')(i)", b="aآئ%3"}, -- historic madda @@ -173,6 +178,9 @@ digraphs = { {a="^([uai])", b="ا%1"}, -- initial alif without hamza {a="(%s)([uai])", b="%1ا%2"}, -- initial alif without hamza {a="%-%-", b="ـ"}, + {a="ؤؤ", b="ؤّ"}, + {a="أأ", b="أّ"}, + {a="ئئ", b="ئّ"}, {a="bb", b="بّ"}, {a="BB", b="ـّ"}, {a="tt", b="تّ"}, -- cgit v1.2.3