summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_trans.lua
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2017-07-05 21:09:03 +0000
committerKarl Berry <karl@freefriends.org>2017-07-05 21:09:03 +0000
commitef1531fb8bdf4a1e28e97cc10e3aacd9228e7d0c (patch)
treeffb320f47bca9a18c20a5f9436dc0c73f737ad64 /Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_trans.lua
parent1481c02c171fb8ab30680dc4f3fbc5b872f2de16 (diff)
arabluatex (5jul17)
git-svn-id: svn://tug.org/texlive/trunk@44754 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.lua52
1 files changed, 44 insertions, 8 deletions
diff --git a/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_trans.lua b/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_trans.lua
index 35f4b677cf6..404ae220a58 100644
--- a/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_trans.lua
+++ b/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_trans.lua
@@ -31,7 +31,8 @@ punctuationtr = {
nulltr = {
{a="%|", b=""},
- {a="o[%S]-o", b=""}
+ {a="o[%S]-o", b=""},
+ {a="[%^%_](.)", b="<??>%1"}
}
-- cap
@@ -71,6 +72,17 @@ captr = {
-- dmg
hamzatrdmg = {
+ -- next lines for ʾalif alone
+ {a="(%.A)l%-(%^n)", b=".|l-%2"}, --additional (^n is lunar)
+ {a="([%(%[%|%<%s%-o])(%.A)l%-(%^n)", b="%1.|l-%3"}, --additional (^n is lunar) --p
+ {a="(%.A)l%-([%_%^%.]?[tdrzsnc])", b=".|%2-%2"},
+ {a="([%(%[%|%<%s%-o])(%.A)l%-([%_%^%.]?[tdrzsnc])", b="%1.|%3-%3"}, --p
+ {a="(%.A)([uai])l%-(%^n)", b="||%2l-%3"}, --additional (^n is lunar)
+ {a="([%(%[%|%<%s%-o])(%.A)([uai])l%-(%^n)", b="%1||%3l-%4"}, --additional (^n is lunar) --p
+ {a="(%.A)([uai])l%-([%_%^%.]?[tdrzsnc])", b="||%2%3-%3"},
+ {a="([%(%[%|%<%s%-o])(%.A)([uai])l%-([%_%^%.]?[tdrzsnc])", b="%1||%3%4-%4"}, --p
+ {a="(%.A)([^uai])", b=".|%2"},
+ {a="(%.A)([uai])", b="||%2"},
-- hard coded hamza
{a="|\"'", b="ʾ"},
{a="A\"'", b="ʾA"},
@@ -108,8 +120,11 @@ hamzatrdmg = {
-- then the 'initial' rules for the remaining cases
{a="^(')([ua])", b="ʾ%2"},
{a="^(')(i)", b="ʾ%2"},
- {a="(%W)(')([ua])", b="%1ʾ%3"},
- {a="(%W)(')(i)", b="%1ʾ%3"},
+ -- consider replacing initial %W with [%s%(%[%<%-]:
+ -- {a="(%W)(')([ua])", b="%1ʾ%3"},
+ -- {a="(%W)(')(i)", b="%1ʾ%3"},
+ {a="([%s%(%[%<%-])(')([ua])", b="%1ʾ%3"},
+ {a="([%s%(%[%<%-])(')(i)", b="%1ʾ%3"},
-- final
{a="([Iy])(')(aN)$", b="%1ʾ%3"},
{a="([Iy])(')(aN)(%W)", b="%1ʾ%3%4"},
@@ -243,7 +258,7 @@ trigraphstrdmg = { -- trigraphs or more
{a="'l%-(%^n)", b="'l-%1"}, -- ^n is lunar
{a="'l%-([%_%^%.]?[tdrzsnc])", b="'%1-%1"},
-- li-/la- + art. + lām
- {a="l([ai])%-l%-(l)", b="l%1-%2%2"},
+ {a="l([ai])%-l%-(l)", b="l%1-%2-%2"},
-- assim. art. with waṣla + solar consonant
-- ('c' and '^n' are additional characters)
{a="'(%^n)%-", b="'l-"}, -- ^n is lunar
@@ -365,6 +380,7 @@ digraphstrdmg = {
{a="%.t", b="ṭ"},
{a="%.z", b="ẓ"},
{a="%.g", b="ġ"},
+ {a="%.y", b="y"},
-- additional characters (begin)
{a="%^c", b="č"},
{a="%^z", b="ž"},
@@ -419,6 +435,8 @@ longvtrdmg = {
{a="A", b="ā"},
{a="U", b="ū"},
{a="I", b="ī"},
+ {a="aY", b="ay"},
+ {a="iY", b="ī"},
{a="Y", b="ạ̄"}
}
@@ -431,6 +449,9 @@ shortvtrdmg = {
-- loc
hamzatrloc = {
+ -- next lines for ʾalif alone
+ {a="(%.A)([^uai])", b=".|%2"},
+ {a="(%.A)([uai])", b="||%2"},
-- hard coded hamza
{a="|\"'", b="ʾ"},
{a="A\"'", b="ʾA"},
@@ -468,8 +489,11 @@ hamzatrloc = {
-- initial (needs both ^ and %W patterns)
{a="^(')([ua])", b="%2"},
{a="^(')(i)", b="%2"},
- {a="(%W)(')([ua])", b="%1%3"},
- {a="(%W)(')(i)", b="%1%3"},
+ -- consider replacing initial %W with [%s%(%[%<%-]:
+ -- {a="(%W)(')([ua])", b="%1%3"},
+ -- {a="(%W)(')(i)", b="%1%3"},
+ {a="([%s%(%[%<%-])(')([ua])", b="%1%3"},
+ {a="([%s%(%[%<%-])(')(i)", b="%1%3"},
-- final
{a="([Iy])(')(aN)$", b="%1ʾ%3"},
{a="([Iy])(')(aN)(%W)", b="%1ʾ%3%4"},
@@ -610,6 +634,7 @@ digraphstrloc = {
{a="%.t", b="ṭ"},
{a="%.z", b="ẓ"},
{a="%.g", b="gh"},
+ {a="%.y", b="y"},
-- additional characters (begin)
{a="%^c", b="ch"},
{a="%^z", b="zh"},
@@ -663,6 +688,8 @@ longvtrloc = {
{a="A", b="ā"},
{a="U", b="ū"},
{a="I", b="ī"},
+ {a="aY", b="ay"},
+ {a="iY", b="ī"},
{a="Y", b="á"},
}
@@ -679,6 +706,9 @@ finaltrloc = {
-- arabica
hamzatrarabica = { -- ≠ from hamzatrloc: initial hamza has to be held
+ -- next lines for ʾalif alone
+ {a="(%.A)([^uai])", b=".|%2"},
+ {a="(%.A)([uai])", b="||%2"},
-- hard coded hamza
{a="|\"'", b="ʾ"},
{a="A\"'", b="ʾA"},
@@ -717,8 +747,11 @@ hamzatrarabica = { -- ≠ from hamzatrloc: initial hamza has to be held
-- hold it for now (see below, beginning of digraphs table)
{a="^(')([ua])", b="@%2"},
{a="^(')(i)", b="@%2"},
- {a="(%W)(')([ua])", b="%1@%3"},
- {a="(%W)(')(i)", b="%1@%3"},
+ -- consider replacing initial %W with [%s%(%[%<%-]:
+ -- {a="(%W)(')([ua])", b="%1@%3"},
+ -- {a="(%W)(')(i)", b="%1@%3"},
+ {a="([%s%(%[%<%-])(')([ua])", b="%1@%3"},
+ {a="([%s%(%[%<%-])(')(i)", b="%1@%3"},
-- final
{a="([Iy])(')(aN)$", b="%1ʾ%3"},
{a="([Iy])(')(aN)(%W)", b="%1ʾ%3%4"},
@@ -846,6 +879,7 @@ digraphstrarabica = {
{a="%.t", b="ṭ"},
{a="%.z", b="ẓ"},
{a="%.g", b="ġ"},
+ {a="%.y", b="y"},
-- additional characters (begin)
{a="%^c", b="č"},
{a="%^z", b="ž"},
@@ -896,6 +930,8 @@ singletrarabica = {
}
longvtrarabica = {
+ {a="aY", b="ay"},
+ {a="iY", b="ī"},
{a="[AY]", b="ā"},
{a="U", b="ū"},
{a="I", b="ī"}