summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_trans.lua
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2016-12-17 20:40:20 +0000
committerKarl Berry <karl@freefriends.org>2016-12-17 20:40:20 +0000
commit16bf613671c9c801210b618e549388542875cf89 (patch)
treee449aa6c65885a555f38f1f5ce275b3303387b4c /Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_trans.lua
parentde0332fcc5336a39edea9f6a5103f6d8f1c4d608 (diff)
arabluatex (17dec16)
git-svn-id: svn://tug.org/texlive/trunk@42737 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_trans.lua')
-rw-r--r--Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_trans.lua149
1 files changed, 59 insertions, 90 deletions
diff --git a/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_trans.lua b/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_trans.lua
index 87c85e9ac2b..ef55a2b131c 100644
--- a/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_trans.lua
+++ b/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_trans.lua
@@ -95,6 +95,12 @@ hamzatrdmg = {
{a="(A)(')(i)", b="%1ʾ%3"}, -- historic madda
{a="(A)(')", b="%1ʾ"}, -- historic madda
-- initial (needs both ^ and %W patterns)
+ -- 'aw: the diphthong is to be resoved into 'awi' (next 4 lines)
+ {a="^('aw)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1i%2%3"},
+ {a="(%W)('aw)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1%2i%3%4"},
+ {a="^('aw)(%s)([%(%[%|%<]?\"?[uai])", b="%1i%2%3"},
+ {a="(%W)('aw)(%s)([%(%[%|%<]?\"?[uai])", b="%1%2i%3%4"},
+ -- then the 'initial' rules for the remaining cases
{a="^(')([ua])", b="ʾ%2"},
{a="^(')(i)", b="ʾ%2"},
{a="(%W)(')([ua])", b="%1ʾ%3"},
@@ -127,6 +133,7 @@ hamzatrdmg = {
}
tanwintrdmg = {
+ {a="%-?([uai]NU)(%s)([ui])", b="\\arbup{un%3}%2'"},
{a="%-?uNU", b="\\arbup{un}"},
{a="%-?aNU", b="\\arbup{an}"},
{a="%-?iNU", b="\\arbup{in}"},
@@ -138,13 +145,20 @@ tanwintrdmg = {
{a="(T)%-?(aN)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="t\\arbup{ani}%3%4"},
{a="([^TA])%-?(aN)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1\\arbup{ani}%3%4"},
{a="%-?(iN)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="\\arbup{ini}%2%3"},
--- tanwīn + alif without hamza and kasra (ibn)
- {a="%-?(uN)(%s)(i)", b="\\arbup{uni}%2'"},
- {a="%-?(aN)(_A)(%s)(i)", b="ạ\\arbup{ni}%3%'"},
- {a="%-?(aN)(Y)(%s)(i)", b="ạ\\arbup{ni}%3%'"},
- {a="(T)%-?(aN)(%s)(i)", b="t\\arbup{ani}%3%'"},
- {a="([^TA])%-?(aN)(%s)(i)", b="%1\\arbup{ani}%3%'"},
- {a="%-?(iN)(%s)(i)", b="\\arbup{ini}%2%'"},
+ -- tanwīn preceding 'lla_dI/'llatI
+ {a="%-?(uN)(%s)('lla[%_]?[dt])", b="\\arbup{uni}%2%3"},
+ {a="%-?(aN)(_A)(%s)('lla[%_]?[dt])", b="ạ\\arbup{ni}%3%4"},
+ {a="%-?(aN)(Y)(%s)('lla[%_]?[dt])", b="ạ\\arbup{ni}%3%4"},
+ {a="(T)%-?(aN)(%s)('lla[%_]?[dt])", b="t\\arbup{ani}%3%4"},
+ {a="([^TA])%-?(aN)(%s)('lla[%_]?[dt])", b="%1\\arbup{ani}%3%4"},
+ {a="%-?(iN)(%s)('lla[%_]?[dt])", b="\\arbup{ini}%2%3"},
+ -- tanwīn + alif without hamza and kasra (ibn) or dhamma (uhrub)
+ {a="%-?(uN)(%s)([ui])", b="\\arbup{un%3}%2'"},
+ {a="%-?(aN)(_A)(%s)([ui])", b="ạ\\arbup{n%4}%3%'"},
+ {a="%-?(aN)(Y)(%s)([ui])", b="ạ\\arbup{n%4}%3%'"},
+ {a="(T)%-?(aN)(%s)([ui])", b="t\\arbup{an%4}%3%'"},
+ {a="([^TA])%-?(aN)(%s)([ui])", b="%1\\arbup{an%4}%3%'"},
+ {a="%-?(iN)(%s)([ui])", b="\\arbup{in%3}%2%'"},
--
-- {a="uN", b="\\arbup{un}"}, (now included in the last line of this table)
{a="%-?(\"?At)%-?([ui])N", b="\\arbup{%1%2n}"},
@@ -158,24 +172,29 @@ tanwintrdmg = {
trigraphstrdmg = { -- trigraphs or more
-- 'llatI / 'llad_I
{a="^'ll(a)([%_]?[dt])", b="'ll%1%2"},
- {a="(%s)'ll(a)([%_]?[dt])", b="%1'll%2%3"},
+ {a="([%(%[%|%<%s])'ll(a)([%_]?[dt])", b="%1'll%2%3"}, --p
+ -- law: the diphthong is to be resoved into 'awi' (next 4 lines)
+ {a="^(law)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1i%2%3"},
+ {a="(%W)(law)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1%2i%3%4"},
+ {a="^(law)(%s)([%(%[%|%<]?\"?[uai])", b="%1i%2%3"},
+ {a="(%W)(law)(%s)([%(%[%|%<]?\"?[uai])", b="%1%2i%3%4"},
-- al- + lām
{a="^(a)l%-(l)", b="%1l-%2"},
- {a="([%s%-])(a)l%-(l)", b="%1%2l-%3"},
+ {a="([%(%[%|%<%s%-])(a)l%-(l)", b="%1%2l-%3"}, --p
-- al- + solar consonant
{a="^(a)l%-([%_%^%.]?[tdrzsn])", b="%1%2-%2"},
- {a="([%s%-])(a)l%-([%_%^%.]?[tdrzsn])", b="%1%2%3-%3"},
+ {a="([%(%[%|%<%s%-])(a)l%-([%_%^%.]?[tdrzsn])", b="%1%2%3-%3"}, --p
-- assim. art. + solar consonant
{a="^(a)([%_%^%.]?[tdrzsn])%-", b="%1%2-"},
- {a="([%s%-])(a)([%_%^%.]?[tdrzsn])%-", b="%1%2%3-"},
+ {a="([%(%[%|%<%s%-])(a)([%_%^%.]?[tdrzsn])%-", b="%1%2%3-"}, --p
-- al- + initial unstable hamza
- {a="^(a)l%-([uai])", b="%1l-%2"},
- {a="([%s%-])(a)l%-([uai])", b="%1%2l-%3"},
+ {a="^(a)l%-(\"?[uai])", b="%1l-%2"},
+ {a="([%(%[%|%<%s%-])(a)l%-(\"?[uai])", b="%1%2l-%3"}, --p
-- li-/la- + art. + initial unstable hamza is a special orthography
{a="l([ai])%-l%-([uai])", b="l%1-l-%2"},
-- al- + lunar consonant (i.e. what remains)
{a="^(a)l%-", b="%1l-"},
- {a="([%s%-])(a)l%-", b="%1%2l-"},
+ {a="([%(%[%|%<%s%-])(a)l%-", b="%1%2l-"}, --p
-- diphthongs to be resolved before ʾalif conjunctionis
{a="(aw)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1u%2%3"},
{a="(ay)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1i%2%3"},
@@ -192,7 +211,7 @@ trigraphstrdmg = { -- trigraphs or more
-- li-/la- + assim. art. + solar consonant is a special orthography
{a="l([ai])%-([%_%^%.]?[tdrzsn])%-([%_%^%.]?[tdrzsn])", b="l%1-%2-%3"},
-- art. with waṣla + initial unstable hamza
- {a="'l%-([uai])", b="'l-%1"},
+ {a="'l%-(\"?[uai])", b="'l-%1"},
-- art. with waṣla + lunar consonant (i.e. what remains)
{a="'l%-", b="'l-"},
-- the silent wāw
@@ -205,85 +224,34 @@ trigraphstrdmg = { -- trigraphs or more
-- words ending in -āT with silent wāw/yāʾ
{a="(_a)UA", b="A"},
{a="(_a)U", b="A"},
- {a="(_a)I", b="A"},
- -- assimilations
- {a="(n)(}?)(%s)([rlmnwy])", b="%4%2%3%4"}
+ {a="(_a)I", b="A"}
}
-trigraphstrdmgeasy = { -- see the differences below under 'easy' tag
- -- 'llatI / 'llad_I
- {a="^'ll(a)([%_]?[dt])", b="'ll%1%2"},
- {a="(%s)'ll(a)([%_]?[dt])", b="%1'll%2%3"},
- -- al- + lām
- {a="^(a)l%-(l)", b="%1l-%2"},
- {a="([%s%-])(a)l%-(l)", b="%1%2l-%3"},
- -- al- + solar consonant
- {a="^(a)l%-([%_%^%.]?[tdrzsn])", b="%1%2-%2"},
- {a="([%s%-])(a)l%-([%_%^%.]?[tdrzsn])", b="%1%2%3-%3"},
- -- assim. art. + solar consonant
- {a="^(a)([%_%^%.]?[tdrzsn])%-", b="%1%2-"},
- {a="([%s%-])(a)([%_%^%.]?[tdrzsn])%-", b="%1%2%3-"},
- -- al- + initial unstable hamza
- {a="^(a)l%-([uai])", b="%1l-%2"},
- {a="([%s%-])(a)l%-([uai])", b="%1%2l-%3"},
- -- li-/la- + art. + initial unstable hamza is a special orthography
- {a="l([ai])%-l%-([uai])", b="l%1-l-%2"},
- -- al- + lunar consonant (i.e. what remains)
- {a="^(a)l%-", b="%1l-"},
- {a="([%s%-])(a)l%-", b="%1%2l-"},
- -- diphthongs to be resolved before ʾalif conjunctionis
- {a="(aw)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1u%2%3"},
- {a="(ay)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1i%2%3"},
- -- art. with waṣla + lām
- {a="'l%-(l)", b="'l-%1"},
- -- art. with waṣla + solar consonant
- {a="'l%-([%_%^%.]?[tdrzsn])", b="'%1-%1"},
- -- li-/la- + art. + lām
- {a="l([ai])%-l%-(l)", b="l%1-%2%2"},
- -- assim. art. with waṣla + solar consonant
- {a="'([%_%^%.]?[tdrzsn])%-", b="'%1-"},
- -- li-/la- + art. + solar consonant is a special orthography
- {a="l([ai])%-l%-([%_%^%.]?[tdrzsn])", b="l%1-%2-%2"},
- -- li-/la- + assim. art. + solar consonant is a special orthography
- {a="l([ai])%-([%_%^%.]?[tdrzsn])%-([%_%^%.]?[tdrzsn])", b="l%1-%2-%3"},
- -- art. with waṣla + initial unstable hamza
- {a="'l%-([uai])", b="'l-%1"},
- -- art. with waṣla + lunar consonant (i.e. what remains)
- {a="'l%-", b="'l-"},
- -- the silent wāw
- {a="uU$", b="u"},
- {a="uU(%W)", b="u%1"},
- {a="aU$", b="a"},
- {a="aU(%W)", b="a%1"},
- {a="iU$", b="i"},
- {a="iU(%W)", b="i%1"},
- -- words ending in -āT with silent wāw/yāʾ
- {a="(_a)UA", b="A"},
- {a="(_a)U", b="A"},
- {a="(_a)I", b="A"}
+idghamtrdmg = {
-- assimilations
---easy {a="(n)(%s)([rlmnwy])", b="%3%2%3"}
-}
+ {a="(n)(}?)(%s)([rlmnwy])", b="%4%2%3%4"}
+}
digraphstrdmg = {
{a="([uai]%-)(\"?[uai])", b="%1'"}, -- hyphen + initial alif without hamza
-- the following two are replaced with the 4 lines next for now
-- {a="^(\"?[uai])", b="%1"}, -- initial alif without hamza
-- {a="(%W)(\"?[uai])", b="%1%2"}, -- initial alif without hamza
- {a="^(\"[uai])", b="'"}, -- initial alif without hamza
- {a="(%W)(\"[uai])", b="%1'"}, -- initial alif without hamza
- {a="^([uai])", b="%1"}, -- initial alif without hamza
- {a="(%W)([uai])", b="%1%2"}, -- initial alif without hamza
+-- {a="^(\"[uai])", b="'"}, -- initial alif without hamza
+-- {a="(%W)(\"[uai])", b="%1'"}, -- initial alif without hamza
+ {a="^(\"?[uai])", b="%1"}, -- initial alif without hamza
+ {a="(%W)(\"?[uai])", b="%1%2"}, -- initial alif without hamza
-- this is not necessary, take out for now:
-- {a="([%_]?[uaiUAIY])(%s)([uai])", b="%1%2'"}, -- initial alif without hamza
- {a="(aW)(%s)(\"?[uai])", b="awu%2%3"},
- {a="([^%_][uai])(%s)(\"?[uai])", b="%1%2'"},
- {a="(%_A)(%s)(\"?[uai])", b="ạ%2'"},
- {a="(Y)(%s)(\"?[uai])", b="ạ%2'"},
- {a="(%_a)(%s)(\"?[uai])", b="a%2'"},
- {a="(A)(%s)(\"?[uai])", b="a%2'"},
- {a="([%_]?[Uu])(%s)(\"?[uai])", b="u%2'"},
- {a="([%_]?[Ii])(%s)(\"?[uai])", b="i%2'"},
+ {a="(aW)(%s)([%(%[%|%<]?)(\"?[uai])", b="awu%2%3%4"}, --p
+ {a="(UA)(%s)([%(%[%|%<]?)(\"?[uai])", b="u%2%3'"}, --p
+ {a="([^%_][uai])(%s)([%(%[%|%<]?)(\"?[uai])", b="%1%2%3'"}, --p
+ {a="(%_A)(%s)([%(%[%|%<]?)(\"?[uai])", b="ạ%2%3'"}, --p
+ {a="(Y)(%s)([%(%[%|%<]?)(\"?[uai])", b="ạ%2%3'"}, --p
+ {a="(%_a)(%s)([%(%[%|%<]?)(\"?[uai])", b="a%2%3'"}, --p
+ {a="(A)(%s)([%(%[%|%<]?)(\"?[uai])", b="a%2%3'"}, --p
+ {a="([%_]?[Uu])(%s)([%(%[%|%<]?)(\"?[uai])", b="u%2%3'"}, --p
+ {a="([%_]?[Ii])(%s)([%(%[%|%<]?)(\"?[uai])", b="i%2%3'"}, --p
-- ʾiʿrāb hyphen (begin)
{a="(%-)(\"?[UI]na)(%p?%s)", b="\\arbup{%2}%3"},
{a="(%-)(\"?[UI]na)(%p?)$", b="\\arbup{%2}%3"},
@@ -298,13 +266,14 @@ digraphstrdmg = {
-- ʾiʿrāb hyphen (end)
-- shorten long vowels preceding ʾalif conjunctionis
{a="(U)(A)", b="U"},
- {a="(aW)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="awu%2%3"},
- {a="(%_a)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="a%2%3"},
- {a="(%_A)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="ạ%2%3"},
- {a="(A)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="a%2%3"},
- {a="(Y)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="ạ%2%3"},
- {a="([%_]?[Uu])(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="u%2%3"},
- {a="([%_]?[Ii])(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="i%2%3"},
+ --p (next 7 lines, just after %s)
+ {a="(aW)(%s)([%(%[%|%<]?['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="awu%2%3"},
+ {a="(%_a)(%s)([%(%[%|%<]?['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="a%2%3"},
+ {a="(%_A)(%s)([%(%[%|%<]?['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="ạ%2%3"},
+ {a="(A)(%s)([%(%[%|%<]?['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="a%2%3"},
+ {a="(Y)(%s)([%(%[%|%<]?['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="ạ%2%3"},
+ {a="([%_]?[Uu])(%s)([%(%[%|%<]?['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="u%2%3"},
+ {a="([%_]?[Ii])(%s)([%(%[%|%<]?['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="i%2%3"},
{a="%-%-", b=""},
-- {a="T([^uai])", b="%1"},
{a="T(%p?%s)", b="h%1"},