From 4cd9c3227105a71e4aa05338de397fad8943c545 Mon Sep 17 00:00:00 2001 From: Robert Alessi Date: Sat, 5 Aug 2017 18:21:54 +0200 Subject: =?UTF-8?q?much=20work=20was=20needed=20on=20the=20final=20hamzah.?= =?UTF-8?q?=20in=20such=20words=20as=20^say'aN,=20\SetArbDflt=20now=20puts?= =?UTF-8?q?=20the=20hamzah=20on=20the=20line=20while=20\SetArbEasy=20puts?= =?UTF-8?q?=20it=20above=20y=C4=81=CA=BE=20without=20dots?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- arabluatex_fullvoc.lua | 80 +++++++++++++++++++++----------------------------- arabluatex_novoc.lua | 4 +-- arabluatex_voc.lua | 76 +++++++++++++++++++---------------------------- 3 files changed, 66 insertions(+), 94 deletions(-) diff --git a/arabluatex_fullvoc.lua b/arabluatex_fullvoc.lua index 6f690f8..cf33a3a 100644 --- a/arabluatex_fullvoc.lua +++ b/arabluatex_fullvoc.lua @@ -95,27 +95,15 @@ hamzafv = { {a="([%s%(%[%<%-])(')([ua])", b="%1أ%3"}, {a="([%s%(%[%<%-])(')(i)", b="%1إ%3"}, -- final - -- ^say'aN, .zim'aN, mi'aT are special orthographies - {a="(%^sa%.?[yY])(\"?%|?)(%')(aN)", b="%1%2ئ%4"}, - {a="(.zi?m)(%')(aN)", b="%1ئ%3"}, + -- mi'aT is special orthography (unlike ^say'aN and .zim'aN): + -- {a="(%^sa%.?[yY])(\"?%|?)(%')(aN)", b="%1%2ئ%4"}, --new + -- {a="(.zi?m)(%')(aN)", b="%1ئ%3"}, --new {a="(mi)(%')(a[Tt])", b="%1ائ%3"}, {a="(mi)(%')(aN%_?[AY])", b="%1أ%3"}, - -- hamzah + pr. suffix: the carrier passes into yāʾ before ī so - -- take out the following two lines: - -- {a="(')(I%p?)$", b="إ%2"}, -- affix pr. 1st person sg. - -- {a="(')(I)(%p?%s)", b="إ%2%3"}, -- affix pr. 1st person sg. - -- - -- The Munjid says that such words as radI'aN do not have the - -- hamzah alone on the line so replace the following two lines with - -- the next six: - -- {a="([^uai])(')([uai]N?%p?)$", b="%1ء%3"}, - -- {a="([^uai])(')([uai]N?)(%p?%s)", b="%1ء%3%4"}, - {a="([Iy])(')(aN%p?)$", b="%1ئ%3"}, - {a="([Iy])(')(aN)(%p?%s)", b="%1ئ%3%4"}, - {a="([^uai])(')(aN)(%p?)$", b="%1ء%3ا%4"}, - {a="([^uai])(')(aN)(%p?%s)", b="%1ء%3ا%4"}, - {a="([^uai])(')([ui]N?%p?)$", b="%1ء%3"}, - {a="([^uai])(')([ui]N?)(%p?%s)", b="%1ء%3%4"}, + -- final hamzah is on the line after a letter of prolongation or a + -- consonant with sukūn + {a="([^Auai])(')(\"?[uai]N?)(%p?)$", b="%1ء%3%4"}, --new + {a="([^Auai])(')(\"?[uai]N?)(%p?%s)", b="%1ء%3%4"}, -- u {a="(u)(')([uai]N?%p?)$", b="%1ؤ%3"}, {a="(u)(')([uai]N?)(%p?%s)", b="%1ؤ%3%4"}, @@ -141,7 +129,7 @@ hamzafv = { {a="(i)(')(%p?%s)", b="%1ئْ%3"}, -- -- middle - {a="(U)(')", b="%1ء"}, + {a="([Uw])(')", b="%1ء"}, --new {a="([Iy])(')", b="%1ئ"}, {a="([^uai])(')([uU])", b="%1ؤ%3"}, {a="([^uai])(')(%_?[aAY])", b="%1أ%3"}, @@ -235,27 +223,25 @@ hamzafveasy = { -- differences marked below with 'easy' {a="([%s%(%[%<%-])(')([ua])", b="%1أ%3"}, {a="([%s%(%[%<%-])(')(i)", b="%1إ%3"}, -- final - -- ^say'aN, .zim'aN, mi'aT are special orthographies - {a="(%^sa%.?[yY])(\"?%|?)(%')(aN)", b="%1%2ئ%4"}, - {a="(.zi?m)(%')(aN)", b="%1ئ%3"}, + -- mi'aT is special orthography (unlike ^say'aN and .zim'aN) + -- {a="(%^sa%.?[yY])(\"?%|?)(%')(aN)", b="%1%2ئ%4"}, --new + -- {a="(.zi?m)(%')(aN)", b="%1ئ%3"}, --new {a="(mi)(%')(a[Tt])", b="%1ائ%3"}, {a="(mi)(%')(aN%_?[AY])", b="%1أ%3"}, - -- hamzah + pr. suffix: the carrier passes into yāʾ before ī so - -- take out the following two lines: - -- {a="(')(I%p?)$", b="إ%2"}, -- affix pr. 1st person sg. - -- {a="(')(I)(%p?%s)", b="إ%2%3"}, -- affix pr. 1st person sg. - -- + -- easy (begin) -- The Munjid says that such words as radI'aN do not have the - -- hamzah alone on the line so replace the following two lines with - -- the next two: - -- {a="([^uai])(')([uai]N?%p?)$", b="%1ء%3"}, - -- {a="([^uai])(')([uai]N?)(%p?%s)", b="%1ء%3%4"}, - {a="([Iy])(')(aN%p?)$", b="%1ئ%3"}, - {a="([Iy])(')(aN)(%p?%s)", b="%1ئ%3%4"}, - {a="([^uai])(')(aN)(%p?)$", b="%1ء%3ا%4"}, - {a="([^uai])(')(aN)(%p?%s)", b="%1ء%3ا%4"}, - {a="([^uai])(')([ui]N?%p?)$", b="%1ء%3"}, - {a="([^uai])(')([ui]N?)(%p?%s)", b="%1ء%3%4"}, + -- hamzah alone on the line, so take out the following two lines + -- (final hamzah is on the line after a letter of prolongation or a + -- consonant with sukūn) + -- {a="([^Auai])(')(\"?[uai]N?)(%p?)$", b="%1ء%3%4"}, --new + -- {a="([^Auai])(')(\"?[uai]N?)(%p?%s)", b="%1ء%3%4"}, + {a="([^Auai])(')(\"?aN)(%p?)$", b="%1ئ%3%4"}, --new + {a="([^Auai])(')(\"?aN)(%p?%s)", b="%1ئ%3%4"}, --new + {a="([^uai])(')(\"?a)(%p?)$", b="%1ء%3%4"}, --new + {a="([^uai])(')(\"?a)(%p?%s)", b="%1ء%3%4"}, --new + {a="([^uai])(')(\"?[ui]N?)(%p?)$", b="%1ء%3%4"}, --new + {a="([^uai])(')(\"?[ui]N?)(%p?%s)", b="%1ء%3%4"}, --new + --easy (end) -- u {a="(u)(')([uai]N?%p?)$", b="%1ؤ%3"}, {a="(u)(')([uai]N?)(%p?%s)", b="%1ؤ%3%4"}, @@ -281,7 +267,7 @@ hamzafveasy = { -- differences marked below with 'easy' {a="(i)(')(%p?%s)", b="%1ئْ%3"}, -- -- middle - {a="(U)(')", b="%1ء"}, + {a="([Uw])(')", b="%1ء"}, --new {a="([Iy])(')", b="%1ئ"}, {a="([^uai])(')([uU])", b="%1ؤ%3"}, {a="([^uai])(')(%_?[aAY])", b="%1أ%3"}, @@ -321,7 +307,7 @@ tanwinfv = { -- with assimilations (\SetArbDflt*) {a="%-?(aN)(_A)(%s)([rlmnwy])", b="ًى%3%4%4"}, {a="%-?(aN)(Y)(%s)([rlmnwy])", b="ًى%3%4%4"}, {a="(T)%-?(aN)(%s)([rlmnwy])", b="%1ً%3%4%4"}, - {a="(ء)%-?(aN)(%s)([rlmnwy])", b="%1ً%3%4%4"}, + {a="(ء)%-?(aN)(%s)([rlmnwy])", b="%1%2%3%4%4"}, --new {a="([^TA])%-?(aN)(%s)([rlmnwy])", b="%1ًا%3%4%4"}, {a="%-?(iNI?)(%s)([rlmnwy])", b="ٍ%2%3%3"}, -- assimilations (end) @@ -333,7 +319,7 @@ tanwinfv = { -- with assimilations (\SetArbDflt*) {a="%-?(\"aN)(_A)", b="ى"}, {a="%-?(\"aN)(Y)", b="ى"}, {a="(T)%-?(\"aN)", b="%1"}, - {a="(ء)%-?(\"aN)", b="%1"}, + {a="([اآ])(ء)%-?(\"aN)", b="%1%2"}, --new {a="([^TA])%-?(\"aN)", b="%1ا"}, {a="%-?(\"iNI?)", b=""}, -- quoted tanwīn (end) @@ -342,7 +328,7 @@ tanwinfv = { -- with assimilations (\SetArbDflt*) {a="%-?(aN)(_A)", b="ًى"}, {a="%-?(aN)(Y)", b="ًى"}, {a="(T)%-?(aN)", b="%1ً"}, - {a="(ء)%-?(aN)", b="%1ً"}, + {a="([اآ])(ء)%-?(aN)", b="%1%2ً"}, --new {a="([^TA])%-?(aN)", b="%1ًا"}, {a="%-?(iNI?)", b="ٍ"} } @@ -368,7 +354,7 @@ tanwinfveasy = { -- no assimilations (see below) --easy {a="%-?(aN)(_A)(%s)([rlmnwy])", b="ًى%3%4%4"}, --easy {a="%-?(aN)(Y)(%s)([rlmnwy])", b="ًى%3%4%4"}, --easy {a="(T)%-?(aN)(%s)([rlmnwy])", b="%1ً%3%4%4"}, ---easy {a="(ء)%-?(aN)(%s)([rlmnwy])", b="%1ً%3%4%4"}, +--easy {a="(ء)%-?(aN)(%s)([rlmnwy])", b="%1%2%3%4%4"}, --new --easy {a="([^TA])%-?(aN)(%s)([rlmnwy])", b="%1ًا%3%4%4"}, --easy {a="%-?(iNI?)(%s)([rlmnwy])", b="ٍ%2%3%3"}, -- assimilations (end) @@ -380,7 +366,7 @@ tanwinfveasy = { -- no assimilations (see below) {a="%-?(\"aN)(_A)", b="ى"}, {a="%-?(\"aN)(Y)", b="ى"}, {a="(T)%-?(\"aN)", b="%1"}, - {a="(ء)%-?(\"aN)", b="%1"}, + {a="([اآ])(ء)%-?(\"aN)", b="%1%2"}, --new {a="([^TA])%-?(\"aN)", b="%1ا"}, {a="%-?(\"iNI?)", b=""}, -- quoted tanwīn (end) @@ -389,7 +375,7 @@ tanwinfveasy = { -- no assimilations (see below) {a="%-?(aN)(_A)", b="ًى"}, {a="%-?(aN)(Y)", b="ًى"}, {a="(T)%-?(aN)", b="%1ً"}, - {a="(ء)%-?(aN)", b="%1ً"}, + {a="([اآ])(ء)%-?(aN)", b="%1%2ً"}, --new {a="([^TA])%-?(aN)", b="%1ًا"}, {a="%-?(iNI?)", b="ٍ"} } @@ -554,7 +540,7 @@ trigraphsfveasy = { -- trigraphs or more (see 'easy' tag below for the diffs) } digraphsfvidgham = { - -- iʿrāb: straight double quote must be discarded + -- ʾiʿrāb: straight double quote must be discarded {a="(%-)(\"?[UI]na)(%p?%s)", b="%2%3"}, {a="(%-)(\"?[UI]na)(%p?)$", b="%2%3"}, {a="(%-)(\"?At[ui])(%p?%s)", b="%2%3"}, @@ -808,7 +794,7 @@ digraphsfv = { } digraphsfveasy = { -- see the differences under 'easy' marker below - -- iʿrāb: straight double quote must be discarded + -- ʾiʿrāb: straight double quote must be discarded {a="(%-)(\"?[UI]na)(%p?%s)", b="%2%3"}, {a="(%-)(\"?[UI]na)(%p?)$", b="%2%3"}, {a="(%-)(\"?At[ui])(%p?%s)", b="%2%3"}, diff --git a/arabluatex_novoc.lua b/arabluatex_novoc.lua index caf66f9..77f6568 100644 --- a/arabluatex_novoc.lua +++ b/arabluatex_novoc.lua @@ -47,7 +47,7 @@ tanwinnv = { {a="%-?(\"aN)(_A)", b="ًى"}, {a="%-?(\"aN)(Y)", b="ًى"}, {a="(T)%-?(\"aN)", b="%1ً"}, - {a="(ء)%-?(\"aN)", b="%1ً"}, + {a="([اآ])(ء)%-?(\"aN)", b="%1%2ً"}, --new {a="([^TA])%-?(\"aN)", b="%1ًا"}, {a="%-?(\"iNI?)", b="ٍ"}, -- "quoted" tanwīn (end) @@ -56,7 +56,7 @@ tanwinnv = { {a="%-?(aN)(_A)", b="ى"}, {a="%-?(aN)(Y)", b="ى"}, {a="(T)%-?(aN)", b="%1"}, - {a="(ء)%-?(aN)", b="%1"}, + {a="([اآ])(ء)%-?(aN)", b="%1%2"}, --new {a="([^TA])%-?(aN)", b="%1ا"}, {a="%-?(iNI?)", b=""}, -- initial straight double quote gives a connective ʾalif. This has diff --git a/arabluatex_voc.lua b/arabluatex_voc.lua index a914ba4..68b290d 100644 --- a/arabluatex_voc.lua +++ b/arabluatex_voc.lua @@ -231,27 +231,15 @@ hamza = { {a="([%s%(%[%<%-])(')([ua])", b="%1أ%3"}, {a="([%s%(%[%<%-])(')(i)", b="%1إ%3"}, -- final - -- ^say'aN, .zim'aN, mi'aT are special orthographies - {a="(%^sa%.?[yY])(\"?%|?)(%')(aN)", b="%1%2ئ%4"}, - {a="(.zi?m)(%')(aN)", b="%1ئ%3"}, + -- mi'aT is special orthography (unlike ^say'aN and .zim'aN): + -- {a="(%^sa%.?[yY])(\"?%|?)(%')(aN)", b="%1%2ئ%4"}, --new + -- {a="(.zi?m)(%')(aN)", b="%1ئ%3"}, --new {a="(mi)(%')(a[Tt])", b="%1ائ%3"}, {a="(mi)(%')(aN%_?[AY])", b="%1أ%3"}, - -- hamzah + pr. suffix: the carrier passes into yāʾ before ī so - -- take out the following two lines: - -- {a="(')(I%p?)$", b="إ%2"}, -- affix pr. 1st person sg. - -- {a="(')(I)(%p?%s)", b="إ%2%3"}, -- affix pr. 1st person sg. - -- - -- The Munjid says that such words as radI'aN do not have the - -- hamzah alone on the line so replace the following two lines with - -- the next two: - -- {a="([^uai])(')([uai]N?%p?)$", b="%1ء%3"}, - -- {a="([^uai])(')([uai]N?)(%p?%s)", b="%1ء%3%4"}, - {a="([Iy])(')(aN%p?)$", b="%1ئ%3"}, - {a="([Iy])(')(aN)(%p?%s)", b="%1ئ%3%4"}, - {a="([^uai])(')(aN)(%p?)$", b="%1ء%3ا%4"}, - {a="([^uai])(')(aN)(%p?%s)", b="%1ء%3ا%4"}, - {a="([^uai])(')([ui]N?%p?)$", b="%1ء%3"}, - {a="([^uai])(')([ui]N?)(%p?%s)", b="%1ء%3%4"}, + -- final hamzah is on the line after a letter of prolongation or a + -- consonant with sukūn + {a="([^Auai])(')(\"?[uai]N?)(%p?)$", b="%1ء%3%4"}, --new + {a="([^Auai])(')(\"?[uai]N?)(%p?%s)", b="%1ء%3%4"}, -- u {a="(u)(')([uai]N?%p?)$", b="%1ؤ%3"}, {a="(u)(')([uai]N?)(%p?%s)", b="%1ؤ%3%4"}, @@ -277,7 +265,7 @@ hamza = { {a="(i)(')(%p?%s)", b="%1ئ%3"}, -- -- middle - {a="(U)(')", b="%1ء"}, + {a="([Uw])(')", b="%1ء"}, --new {a="([Iy])(')", b="%1ئ"}, {a="([^uai])(')([uU])", b="%1ؤ%3"}, {a="([^uai])(')(%_?[aAY])", b="%1أ%3"}, @@ -362,27 +350,25 @@ hamzaeasy = { -- differences marked below with 'easy' {a="([%s%(%[%<%-])(')([ua])", b="%1أ%3"}, {a="([%s%(%[%<%-])(')(i)", b="%1إ%3"}, -- final - -- ^say'aN, .zim'aN, mi'aT are special orthographies - {a="(%^sa%.?[yY])(\"?%|?)(%')(aN)", b="%1%2ئ%4"}, - {a="(.zi?m)(%')(aN)", b="%1ئ%3"}, + -- mi'aT is special orthography (unlike ^say'aN and .zim'aN) + -- {a="(%^sa%.?[yY])(\"?%|?)(%')(aN)", b="%1%2ئ%4"}, --new + -- {a="(.zi?m)(%')(aN)", b="%1ئ%3"}, --new {a="(mi)(%')(a[Tt])", b="%1ائ%3"}, {a="(mi)(%')(aN%_?[AY])", b="%1أ%3"}, - -- hamzah + pr. suffix: the carrier passes into yāʾ before ī so - -- take out the following two lines: - -- {a="(')(I%p?)$", b="إ%2"}, -- affix pr. 1st person sg. - -- {a="(')(I)(%p?%s)", b="إ%2%3"}, -- affix pr. 1st person sg. - -- + -- easy (begin) -- The Munjid says that such words as radI'aN do not have the - -- hamzah alone on the line so replace the following two lines with - -- the next two: - -- {a="([^uai])(')([uai]N?%p?)$", b="%1ء%3"}, - -- {a="([^uai])(')([uai]N?)(%p?%s)", b="%1ء%3%4"}, - {a="([Iy])(')(aN%p?)$", b="%1ئ%3"}, - {a="([Iy])(')(aN)(%p?%s)", b="%1ئ%3%4"}, - {a="([^uai])(')(aN)(%p?)$", b="%1ء%3ا%4"}, - {a="([^uai])(')(aN)(%p?%s)", b="%1ء%3ا%4"}, - {a="([^uai])(')([ui]N?%p?)$", b="%1ء%3"}, - {a="([^uai])(')([ui]N?)(%p?%s)", b="%1ء%3%4"}, + -- hamzah alone on the line, so take out the following two lines + -- (final hamzah is on the line after a letter of prolongation or a + -- consonant with sukūn) + -- {a="([^Auai])(')(\"?[uai]N?)(%p?)$", b="%1ء%3%4"}, --new + -- {a="([^Auai])(')(\"?[uai]N?)(%p?%s)", b="%1ء%3%4"}, + {a="([^Auai])(')(\"?aN)(%p?)$", b="%1ئ%3%4"}, --new + {a="([^Auai])(')(\"?aN)(%p?%s)", b="%1ئ%3%4"}, --new + {a="([^uai])(')(\"?a)(%p?)$", b="%1ء%3%4"}, --new + {a="([^uai])(')(\"?a)(%p?%s)", b="%1ء%3%4"}, --new + {a="([^uai])(')(\"?[ui]N?)(%p?)$", b="%1ء%3%4"}, --new + {a="([^uai])(')(\"?[ui]N?)(%p?%s)", b="%1ء%3%4"}, --new + --easy (end) -- u {a="(u)(')([uai]N?%p?)$", b="%1ؤ%3"}, {a="(u)(')([uai]N?)(%p?%s)", b="%1ؤ%3%4"}, @@ -408,7 +394,7 @@ hamzaeasy = { -- differences marked below with 'easy' {a="(i)(')(%p?%s)", b="%1ئ%3"}, -- -- middle - {a="(U)(')", b="%1ء"}, + {a="([Uw])(')", b="%1ء"}, --new {a="([Iy])(')", b="%1ئ"}, {a="([^uai])(')([uU])", b="%1ؤ%3"}, {a="([^uai])(')(%_?[aAY])", b="%1أ%3"}, @@ -443,7 +429,7 @@ tanwin = { {a="%-?(aN)(_A)(%s)([rlmnwy])", b="ًى%3%4%4"}, {a="%-?(aN)(Y)(%s)([rlmnwy])", b="ًى%3%4%4"}, {a="(T)%-?(aN)(%s)([rlmnwy])", b="%1ً%3%4%4"}, - {a="(ء)%-?(aN)(%s)([rlmnwy])", b="%1ً%3%4%4"}, + {a="(ء)%-?(aN)(%s)([rlmnwy])", b="%1%2%3%4%4"}, --new {a="([^TA])%-?(aN)(%s)([rlmnwy])", b="%1ًا%3%4%4"}, {a="%-?(iNI?)(%s)([rlmnwy])", b="ٍ%2%3%3"}, -- assimilations (end) @@ -455,7 +441,7 @@ tanwin = { {a="%-?(\"aN)(_A)", b="ى"}, {a="%-?(\"aN)(Y)", b="ى"}, {a="(T)%-?(\"aN)", b="%1"}, - {a="(ء)%-?(\"aN)", b="%1"}, + {a="([اآ])(ء)%-?(\"aN)", b="%1%2"}, --new {a="([^TA])%-?(\"aN)", b="%1ا"}, {a="%-?(\"iNI?)", b=""}, -- quoted tanwīn (end) @@ -464,7 +450,7 @@ tanwin = { {a="%-?(aN)(_A)", b="ًى"}, {a="%-?(aN)(Y)", b="ًى"}, {a="(T)%-?(aN)", b="%1ً"}, - {a="(ء)%-?(aN)", b="%1ً"}, + {a="([اآ])(ء)%-?(aN)", b="%1%2ً"}, --new {a="([^TA])%-?(aN)", b="%1ًا"}, {a="%-?(iNI?)", b="ٍ"} } @@ -485,7 +471,7 @@ tanwineasy = { -- 'easy' requires some lines to be taken out: -- {a="%-?(aN)(_A)(%s)([rlmnwy])", b="ًى%3%4%4"}, -- {a="%-?(aN)(Y)(%s)([rlmnwy])", b="ًى%3%4%4"}, -- {a="(T)%-?(aN)(%s)([rlmnwy])", b="%1ً%3%4%4"}, --- {a="(ء)%-?(aN)(%s)([rlmnwy])", b="%1ً%3%4%4"}, +-- {a="(ء)%-?(aN)(%s)([rlmnwy])", b="%1%2%3%4%4"}, --new -- {a="([^TA])%-?(aN)(%s)([rlmnwy])", b="%1ًا%3%4%4"}, -- {a="%-?(iNI?)(%s)([rlmnwy])", b="ٍ%2%3%3"}, -- assimilations (end) @@ -497,7 +483,7 @@ tanwineasy = { -- 'easy' requires some lines to be taken out: {a="%-?(\"aN)(_A)", b="ى"}, {a="%-?(\"aN)(Y)", b="ى"}, {a="(T)%-?(\"aN)", b="%1"}, - {a="(ء)%-?(\"aN)", b="%1"}, + {a="([اآ])(ء)%-?(\"aN)", b="%1%2"}, --new {a="([^TA])%-?(\"aN)", b="%1ا"}, {a="%-?(\"iNI?)", b=""}, -- quoted tanwīn (end) @@ -506,7 +492,7 @@ tanwineasy = { -- 'easy' requires some lines to be taken out: {a="%-?(aN)(_A)", b="ًى"}, {a="%-?(aN)(Y)", b="ًى"}, {a="(T)%-?(aN)", b="%1ً"}, - {a="(ء)%-?(aN)", b="%1ً"}, + {a="([اآ])(ء)%-?(aN)", b="%1%2ً"}, --new {a="([^TA])%-?(aN)", b="%1ًا"}, {a="%-?(iNI?)", b="ٍ"} } -- cgit v1.2.3