diff options
-rw-r--r-- | arabluatex.dtx | 3 | ||||
-rw-r--r-- | arabluatex.lua | 5 | ||||
-rw-r--r-- | arabluatex_voc.lua | 66 |
3 files changed, 58 insertions, 16 deletions
diff --git a/arabluatex.dtx b/arabluatex.dtx index d7a4adb..8fb206b 100644 --- a/arabluatex.dtx +++ b/arabluatex.dtx | |||
@@ -2396,7 +2396,8 @@ wa-ya.sIru ta.hta 'l-jild-i | |||
2396 | \bgroup\textdir TLT\al@trans@style% | 2396 | \bgroup\textdir TLT\al@trans@style% |
2397 | \luadirect{tex.sprint(processtrans(\luastringN{#2}, | 2397 | \luadirect{tex.sprint(processtrans(\luastringN{#2}, |
2398 | \luastringO{\al@trans@convention}, | 2398 | \luastringO{\al@trans@convention}, |
2399 | \luastringO{\al@arb@rules}))}\egroup% | 2399 | \luastringO{\al@arb@rules}, |
2400 | \luastringO{\al@input@scheme}))}\egroup% | ||
2400 | \else% | 2401 | \else% |
2401 | \fi\fi\fi\fi} | 2402 | \fi\fi\fi\fi} |
2402 | % \end{macrocode} | 2403 | % \end{macrocode} |
diff --git a/arabluatex.lua b/arabluatex.lua index 9134ce5..5400a62 100644 --- a/arabluatex.lua +++ b/arabluatex.lua | |||
@@ -515,12 +515,15 @@ function processnovoc(str, rules) | |||
515 | return str | 515 | return str |
516 | end | 516 | end |
517 | 517 | ||
518 | function processtrans(str, mode, rules) | 518 | function processtrans(str, mode, rules, scheme) |
519 | str = "\\arb{".. str.."}" | 519 | str = "\\arb{".. str.."}" |
520 | str = takeoutabjad(str) | 520 | str = takeoutabjad(str) |
521 | str = protectarb(str) | 521 | str = protectarb(str) |
522 | str = breakcmd(str) | 522 | str = breakcmd(str) |
523 | str = holdcmd(str) | 523 | str = holdcmd(str) |
524 | if scheme == "buckwalter" then | ||
525 | str = processbuckw(str) | ||
526 | else end | ||
524 | if mode == "dmg" then | 527 | if mode == "dmg" then |
525 | if rules == "easy" then | 528 | if rules == "easy" then |
526 | str = transdmgeasy(str) | 529 | str = transdmgeasy(str) |
diff --git a/arabluatex_voc.lua b/arabluatex_voc.lua index b295254..836ee4b 100644 --- a/arabluatex_voc.lua +++ b/arabluatex_voc.lua | |||
@@ -72,26 +72,64 @@ raw = { | |||
72 | } | 72 | } |
73 | 73 | ||
74 | buckwalter = { | 74 | buckwalter = { |
75 | -- trigraphs | 75 | --- madda: hold it for now |
76 | {a="^Aal", b="al-"}, | 76 | {a="%|", b="@"}, |
77 | {a="(%W)Aal", b="%1al-"}, | 77 | -- prevent any unwanted šadda from being generated |
78 | {a="([%-%s])Al", b="%1\'l-"}, | 78 | {a="bb", b="b|b"}, |
79 | -- {a="([uai])Al", b="%1-\'l-"}, | 79 | {a="tt", b="t|t"}, |
80 | {a="(al%-[%a])(%~)", b="%1"}, | 80 | {a="vv", b="v|v"}, |
81 | {a="(\'l%-[%a])(%~)", b="%1"}, | 81 | {a="jj", b="j|j"}, |
82 | -- šadda | 82 | {a="HH", b="H|H"}, |
83 | {a="([%a])(%~)", b="%1%1"}, | 83 | {a="xx", b="x|x"}, |
84 | -- digraphs begin | 84 | {a="dd", b="d|d"}, |
85 | {a="aA", b="A"}, | 85 | {a="%*|%*", b="*|*"}, |
86 | {a="uw", b="U"}, | 86 | {a="rr", b="r|r"}, |
87 | {a="iy", b="I"}, | 87 | {a="ss", b="s|s"}, |
88 | -- digraphs end | 88 | {a="%$%$", b="$|$"}, |
89 | {a="SS", b="S|S"}, | ||
90 | {a="DD", b="D|D"}, | ||
91 | {a="TT", b="T|T"}, | ||
92 | {a="ZZ", b="Z|Z"}, | ||
93 | {a="EE", b="E|E"}, | ||
94 | {a="gg", b="g|g"}, | ||
95 | {a="ff", b="f|f"}, | ||
96 | {a="qq", b="q|q"}, | ||
97 | {a="kk", b="k|k"}, | ||
98 | {a="ll", b="l|l"}, | ||
99 | {a="mm", b="m|m"}, | ||
100 | {a="nn", b="n|n"}, | ||
101 | {a="hh", b="h|h"}, | ||
102 | {a="ww", b="w|w"}, | ||
103 | {a="yy", b="y|y"}, | ||
89 | -- hamza begin | 104 | -- hamza begin |
105 | {a="\'", b="|\"\'"}, | ||
90 | {a="%>", b="a\"\'"}, | 106 | {a="%>", b="a\"\'"}, |
91 | {a="%&", b="w\"\'"}, | 107 | {a="%&", b="w\"\'"}, |
92 | {a="%<", b="i\"\'"}, | 108 | {a="%<", b="i\"\'"}, |
93 | {a="%]", b="y\"\'"}, | 109 | {a="%]", b="y\"\'"}, |
94 | -- hamza end | 110 | -- hamza end |
111 | -- trigraphs | ||
112 | {a="^Aal%-?", b="al-"}, | ||
113 | {a="(%W)Aal%-?", b="%1al-"}, | ||
114 | {a="([%-%s])Al%-?", b="%1\'l-"}, | ||
115 | -- {a="([fw]a?)([tw]a?)Al", b="%1-%2-\'l-"}, | ||
116 | -- {a="([fw]a?)(bi?)Al", b="%1-%2-\'l-"}, | ||
117 | -- {a="([fw]a?)(l[ai]?l)Al", b="%1-%2-l-"}, | ||
118 | -- {a="(al%-[%a])(%~)", b="%1"}, | ||
119 | -- {a="([fltw]a?)Al%-?", b="%1-\'l-"}, | ||
120 | -- {a="(bi?)Al%-?", b="%1-'l-"}, | ||
121 | -- {a="(li?)Al%-?", b="%1-l-"}, | ||
122 | {a="(\'l%-[%g])(%~)", b="%1"}, | ||
123 | -- digraphs begin | ||
124 | {a="([^a])A", b="%1\"A"}, | ||
125 | {a="aA", b="A"}, | ||
126 | {a="uw([^%~])", b="U%1"}, | ||
127 | {a="iy([^%~])", b="I%1"}, | ||
128 | -- digraphs end | ||
129 | -- madda: get it back | ||
130 | {a="%@", b="A\"\'"}, | ||
131 | -- šadda: | ||
132 | {a="([%g])(%~)", b="%1%1"}, | ||
95 | {a="v", b="_t"}, | 133 | {a="v", b="_t"}, |
96 | {a="H", b=".h"}, | 134 | {a="H", b=".h"}, |
97 | {a="%*", b="_d"}, | 135 | {a="%*", b="_d"}, |