aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.tex83
-rw-r--r--arabluatex.dtx4
-rw-r--r--arabluatex.ins6
-rw-r--r--arabluatex.lua10
-rw-r--r--arabluatex_fullvoc.lua63
-rw-r--r--arabluatex_novoc.lua28
-rw-r--r--arabluatex_trans.lua178
-rw-r--r--arabluatex_voc.lua84
8 files changed, 241 insertions, 215 deletions
diff --git a/README.tex b/README.tex
new file mode 100644
index 0000000..916eb0e
--- /dev/null
+++ b/README.tex
@@ -0,0 +1,83 @@
1\documentclass{article}
2
3\usepackage{fontspec,luatextra}
4
5\title{The arabluatex package}
6\author{Robert Alessi}
7\usepackage{hyperref}
8
9\begin{document}
10\maketitle
11
12\section*{Overview}
13\label{sec:overview}
14This package provides for \LuaLaTeX\ an Arab{\TeX}-like interface to
15generate Arabic writing from an \textsc{ascii} transliteration. It is
16particularly well-suited for complex documents such as technical
17documents or critical editions where a lot of left-to-right commands
18intertwine with Arabic writing. arabluatex is able to
19process any Arab\TeX\ input notation. Its output can be set in the
20same modes of vocalization as Arab\TeX, or in different roman
21transliterations. It further allows many typographical refinements. It
22will eventually interact with some other packages yet to come to
23produce from \verb|.tex| source files, in addition to printed books,
24\texttt{TEI xml} compliant critical editions and/or lexicons that can
25be searched, analyzed and correlated in various ways.
26
27\section*{License and disclamer}
28Copyright \textcopyright\ 2016 Robert Alessi
29
30\addcontentsline{toc}{section}{License and disclamer} Please send
31error reports and suggestions for improvements to Robert Alessi:
32\begin{itemize}
33\item email: \url{alessi@robertalessi.net}
34\item website: \url{http://www.robertalessi.net/arabluatex}
35\end{itemize}
36
37This program is free software; you can redistribute it and/or
38modify it under the terms of the GNU General Public License
39as published by the Free Software Foundation; either version 2
40of the License, or (at your option) any later version.
41
42This program is distributed in the hope that it will be useful,
43but WITHOUT ANY WARRANTY; without even the implied warranty of
44MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
45GNU General Public License for more details.
46
47You should have received a copy of the GNU General Public License
48along with this program; if not, write to the Free Software
49Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
5002111-1307, USA.
51
52This release of arabluatex consists of the following
53source files:
54\begin{itemize}
55\item \verb|arabluatex.ins|
56\item \verb|arabluatex.dtx|
57\item \verb|arabluatex.lua|
58\item \verb|arabluatex_voc.lua|
59\item \verb|arabluatex_fullvoc.lua|
60\item \verb|arabluatex_novoc.lua|
61\item \verb|arabluatex_trans.lua|
62\item \verb|arabluatex.bib|
63\end{itemize}
64
65\section*{Installation}
66\label{sec:installation}
67\begin{enumerate}
68\item run \verb+lualatex arabluatex.ins+ to produce the
69 \verb+arabluatex.sty+ file;
70\item To finish the installation you have to move the following files
71into a directory searched by LaTeX. See the FAQ on CTAN at
72/help/uk-tex-faq for more on this:
73\begin{itemize}
74\item \verb|arabluatex.sty|
75\item \verb|arabluatex.lua|
76\item \verb|arabluatex_voc.lua|
77\item \verb|arabluatex_fullvoc.lua|
78\item \verb|arabluatex_novoc.lua|
79\item \verb|arabluatex_trans.lua|
80\end{itemize}
81\end{enumerate}
82
83\end{document} \ No newline at end of file
diff --git a/arabluatex.dtx b/arabluatex.dtx
index 89501d9..7321576 100644
--- a/arabluatex.dtx
+++ b/arabluatex.dtx
@@ -1,5 +1,5 @@
1% \iffalse meta-comment 1% \iffalse meta-comment
2% copyright (C) 2016 Robert Alessi 2% Copyright (C) 2016 Robert Alessi
3% 3%
4% Please send error reports and suggestions for improvements to 4% Please send error reports and suggestions for improvements to
5% Robert Alessi <alessi@robertalessi.net> 5% Robert Alessi <alessi@robertalessi.net>
@@ -164,6 +164,8 @@
164% \end{abstract} 164% \end{abstract}
165% 165%
166% \section*{License and disclamer} 166% \section*{License and disclamer}
167% Copyright \textcopyright\ 2016 Robert Alessi
168%
167% \addcontentsline{toc}{section}{License and disclamer} Please send 169% \addcontentsline{toc}{section}{License and disclamer} Please send
168% error reports and suggestions for improvements to Robert Alessi: 170% error reports and suggestions for improvements to Robert Alessi:
169% \begin{compactitem} 171% \begin{compactitem}
diff --git a/arabluatex.ins b/arabluatex.ins
index 614184f..30e6d92 100644
--- a/arabluatex.ins
+++ b/arabluatex.ins
@@ -1,4 +1,4 @@
1%% copyright (C) 2016 Robert Alessi 1%% Copyright (C) 2016 Robert Alessi
2%% 2%%
3%% Please send error reports and suggestions for improvements to 3%% Please send error reports and suggestions for improvements to
4%% Robert Alessi <alessi@robertalessi.net> 4%% Robert Alessi <alessi@robertalessi.net>
@@ -38,7 +38,7 @@
38 38
39This is a generated file. 39This is a generated file.
40 40
41copyright (C) 2016 Robert Alessi 41Copyright (C) 2016 Robert Alessi
42 42
43Please send error reports and suggestions for improvements to 43Please send error reports and suggestions for improvements to
44Robert Alessi <alessi@robertalessi.net> 44Robert Alessi <alessi@robertalessi.net>
@@ -75,7 +75,7 @@ This release of 'arabluatex' consists of the following source files:
75\Msg{***********************************************************} 75\Msg{***********************************************************}
76\Msg{*} 76\Msg{*}
77\Msg{* To finish the installation you have to move the following} 77\Msg{* To finish the installation you have to move the following}
78\Msg{* file(s) into a directory searched by LaTeX. See the FAQ on} 78\Msg{* files into a directory searched by LaTeX. See the FAQ on}
79\Msg{* CTAN at /help/uk-tex-faq for more on this.} 79\Msg{* CTAN at /help/uk-tex-faq for more on this.}
80\Msg{*} 80\Msg{*}
81\Msg{* \space\space arabluatex.sty} 81\Msg{* \space\space arabluatex.sty}
diff --git a/arabluatex.lua b/arabluatex.lua
index 15ddeef..f6597e8 100644
--- a/arabluatex.lua
+++ b/arabluatex.lua
@@ -1,7 +1,7 @@
1--[[ 1--[[
2This file is part of the `arabluatex' package 2This file is part of the `arabluatex' package
3 3
4copyright (C) 2016 Robert Alessi 4Copyright (C) 2016 Robert Alessi
5 5
6Please send error reports and suggestions for improvements to 6Please send error reports and suggestions for improvements to
7Robert Alessi <alessi@robertalessi.net> 7Robert Alessi <alessi@robertalessi.net>
@@ -371,11 +371,3 @@ function cap(str)
371 end 371 end
372return str 372return str
373end 373end
374
375--print(processvoc("'at_A .sadIquN 'il_A ju.hA ya.tlubu min-hu .himAra-hu li-yarkiba-hu fI safraTiN qa.sIraTiN wa-qAla la-hu sawfa 'u`Idu-hu 'ilay-ka fI 'l-masA'i wa-'adfa`u la-ka 'ujraTaN 'at_A .sadIquN 'il_A ju.hA ya.tlubu min-hu .himAra-hu li-yarkiba-hu fI safraTiN qa.sIraTiN wa-qAla la-hu sawfa 'u`Idu-hu 'ilay-ka fI 'l-masA'i wa-'adfa`u la-ka 'ujraTaN"))
376--print(arbnum("bop 0123456789"))
377--print(processvoc("daxala \\arb[novoc]{mubtasimaN}"))
378--print(processvoc("\\emph{daxala} \\arb[novoc]{mufakkiruN}\\Footnote{\\arb{kataba \\arb[novoc]{mubtasimaN}} Je pense que c'est bien \\arb{kataba}} faqa.t"))
379--print(processvoc("daxala \\abjad{45} mubtasimaN"))
380--print(process("daxala\\Footnote{Et là c'est toujours \\arb{mubtasimaN}?"))
381--print(process("\\emph{daxala}\\Footnote{texte arabe: \\arb{\\emph{kataba}}} \\textbf{\\emph{mubtasimaN}} faqa.t"))
diff --git a/arabluatex_fullvoc.lua b/arabluatex_fullvoc.lua
index d9e9f04..317d607 100644
--- a/arabluatex_fullvoc.lua
+++ b/arabluatex_fullvoc.lua
@@ -1,7 +1,7 @@
1--[[ 1--[[
2This file is part of the `arabluatex' package 2This file is part of the `arabluatex' package
3 3
4copyright (C) 2016 Robert Alessi 4Copyright (C) 2016 Robert Alessi
5 5
6Please send error reports and suggestions for improvements to 6Please send error reports and suggestions for improvements to
7Robert Alessi <alessi@robertalessi.net> 7Robert Alessi <alessi@robertalessi.net>
@@ -60,14 +60,6 @@ hamzafv = {
60 {a="(%W)(')([ua])", b="%1أ%3"}, 60 {a="(%W)(')([ua])", b="%1أ%3"},
61 {a="(%W)(')(i)", b="%1إ%3"}, 61 {a="(%W)(')(i)", b="%1إ%3"},
62 -- final 62 -- final
63-- {a="([Iy])(')(aN)$", b="%1ئ%3"},
64-- {a="([Iy])(')(aN)(%W)", b="%1ئ%3%4"},
65-- {a="([^uai])(')([uai]N?)$", b="%1ء%3"},
66-- {a="([^uai])(')([uai]N?)(%W)", b="%1ء%3%4"},
67-- {a="([UI])(')([uai])$", b="%1ء%3"},
68-- {a="([UI])(')([uai])(%W)", b="%1ء%3%4"},
69-- {a="([UI])(')([uai]N?)$", b="%1ء%3"},
70-- {a="([UI])(')([uai]N?)(%W)", b="%1ء%3%4"},
71 -- ^say'aN and .zim'aN are special orthographies 63 -- ^say'aN and .zim'aN are special orthographies
72 {a="(%^say)(%')(aN)", b="%1ئ%3"}, 64 {a="(%^say)(%')(aN)", b="%1ئ%3"},
73 {a="(.zi?m)(%')(aN)", b="%1ئ%3"}, 65 {a="(.zi?m)(%')(aN)", b="%1ئ%3"},
@@ -219,7 +211,8 @@ digraphsfv = {
219 {a="(aw)(%s)(\"?[uai])", b="%1u%2ٱ"}, 211 {a="(aw)(%s)(\"?[uai])", b="%1u%2ٱ"},
220 {a="(ay)(%s)(\"?[uai])", b="%1i%2ٱ"}, 212 {a="(ay)(%s)(\"?[uai])", b="%1i%2ٱ"},
221 {a="([uai]%-)(\"?[uai])", b="%1ٱ"}, -- hyphen + initial alif without hamza 213 {a="([uai]%-)(\"?[uai])", b="%1ٱ"}, -- hyphen + initial alif without hamza
222 {a="([%_]?[uaiUAIY])(%s)(\"?[uai])", b="%1%2ٱ"}, -- initial alif without hamza 214 -- initial alif without hamza
215 {a="([%_]?[uaiUAIY])(%s)(\"?[uai])", b="%1%2ٱ"},
223 {a="^([uai])", b="ا%1"}, -- initial alif without hamza 216 {a="^([uai])", b="ا%1"}, -- initial alif without hamza
224 {a="(%s)([uai])", b="%1ا%2"}, -- initial alif without hamza 217 {a="(%s)([uai])", b="%1ا%2"}, -- initial alif without hamza
225 {a="%-%-", b="ـ"}, 218 {a="%-%-", b="ـ"},
@@ -295,29 +288,29 @@ digraphsfv = {
295} 288}
296 289
297singlefv = { 290singlefv = {
298 {a="b", b="ب"}, 291 {a="b", b="ب"},
299 {a="t", b="ت"}, 292 {a="t", b="ت"},
300 {a="j", b="ج"}, 293 {a="j", b="ج"},
301 {a="x", b="خ"}, 294 {a="x", b="خ"},
302 {a="d", b="د"}, 295 {a="d", b="د"},
303 {a="r", b="ر"}, 296 {a="r", b="ر"},
304 {a="z", b="ز"}, 297 {a="z", b="ز"},
305 {a="s", b="س"}, 298 {a="s", b="س"},
306 {a="f", b="ف"}, 299 {a="f", b="ف"},
307 {a="`", b="ع"}, 300 {a="`", b="ع"},
308 {a="f", b="ف"}, 301 {a="f", b="ف"},
309 {a="q", b="ق"}, 302 {a="q", b="ق"},
310 {a="k", b="ك"}, 303 {a="k", b="ك"},
311 {a="l", b="ل"}, 304 {a="l", b="ل"},
312 {a="m", b="م"}, 305 {a="m", b="م"},
313 {a="n", b="ن"}, 306 {a="n", b="ن"},
314 {a="h", b="ه"}, 307 {a="h", b="ه"},
315 {a="w", b="و"}, 308 {a="w", b="و"},
316 {a="y", b="ي"}, 309 {a="y", b="ي"},
317 {a="T", b="ة"}, 310 {a="T", b="ة"},
318 {a="\"$", b=""}, 311 {a="\"$", b=""},
319 {a="\"(%W)", b="%1"}, 312 {a="\"(%W)", b="%1"},
320 {a="\"([^uaiUAI])", b="%1"}, 313 {a="\"([^uaiUAI])", b="%1"},
321 {a="([^0-9])%-([^0-9])", b="%1%2"}, 314 {a="([^0-9])%-([^0-9])", b="%1%2"},
322 {a="B", b="ـ"}, 315 {a="B", b="ـ"},
323} 316}
diff --git a/arabluatex_novoc.lua b/arabluatex_novoc.lua
index 8a5a7ed..d8e1248 100644
--- a/arabluatex_novoc.lua
+++ b/arabluatex_novoc.lua
@@ -1,7 +1,7 @@
1--[[ 1--[[
2This file is part of the `arabluatex' package 2This file is part of the `arabluatex' package
3 3
4copyright (C) 2016 Robert Alessi 4Copyright (C) 2016 Robert Alessi
5 5
6Please send error reports and suggestions for improvements to 6Please send error reports and suggestions for improvements to
7Robert Alessi <alessi@robertalessi.net> 7Robert Alessi <alessi@robertalessi.net>
@@ -82,7 +82,7 @@ tanwinnv = {
82 {a="uNU", b="و"}, 82 {a="uNU", b="و"},
83 {a="aNU", b="وا"}, 83 {a="aNU", b="وا"},
84 {a="iNU", b="و"}, 84 {a="iNU", b="و"},
85 -- assimilations (begin) 85 -- assimilations (begin). These are good but may not apply here.
86-- {a="(uN)(%s)([rlmnwy])", b="|%2%3%3"}, 86-- {a="(uN)(%s)([rlmnwy])", b="|%2%3%3"},
87-- {a="(aN)(_A)(%s)([rlmnwy])", b="ى%3%4%4"}, 87-- {a="(aN)(_A)(%s)([rlmnwy])", b="ى%3%4%4"},
88-- {a="(aN)(Y)(%s)([rlmnwy])", b="ى%3%4%4"}, 88-- {a="(aN)(Y)(%s)([rlmnwy])", b="ى%3%4%4"},
@@ -127,22 +127,10 @@ longvnv = {
127} 127}
128 128
129shortvnv = { 129shortvnv = {
130 {a="\"u", b="ُ"}, 130 {a="\"u", b="ُ"},
131 {a="\"a", b="َ"}, 131 {a="\"a", b="َ"},
132 {a="\"i", b="ِ"}, 132 {a="\"i", b="ِ"},
133 {a="u", b=""}, 133 {a="u", b=""},
134 {a="a", b=""}, 134 {a="a", b=""},
135 {a="i", b=""} 135 {a="i", b=""}
136} 136}
137
138-- return {
139-- raw = raw,
140-- hamza = hamza,
141-- trigraphs = trigraphs,
142-- tanwin = tanwin,
143-- digraphs = digraphs,
144-- single = single,
145-- longv = longv,
146-- shortv = shortv,
147-- null =null
148-- }
diff --git a/arabluatex_trans.lua b/arabluatex_trans.lua
index 8d62362..99d3712 100644
--- a/arabluatex_trans.lua
+++ b/arabluatex_trans.lua
@@ -1,7 +1,7 @@
1--[[ 1--[[
2This file is part of the `arabluatex' package 2This file is part of the `arabluatex' package
3 3
4copyright (C) 2016 Robert Alessi 4Copyright (C) 2016 Robert Alessi
5 5
6Please send error reports and suggestions for improvements to 6Please send error reports and suggestions for improvements to
7Robert Alessi <alessi@robertalessi.net> 7Robert Alessi <alessi@robertalessi.net>
@@ -33,6 +33,40 @@ nulltr = {
33 {a="%|", b=""} 33 {a="%|", b=""}
34} 34}
35 35
36-- cap
37captr = {
38 -- dmg (defaut); loc as well
39 {a="ā", b="Ā"},
40 {a="b", b="B"},
41 {a="t", b="T"},
42 {a="ṯ", b="Ṯ"},
43 {a="ǧ", b="Ǧ"},
44 {a="ḥ", b="Ḥ"},
45 {a="ḫ", b="Ḫ"},
46 {a="d", b="D"},
47 {a="ḏ", b="Ḏ"},
48 {a="r", b="R"},
49 {a="z", b="Z"},
50 {a="s", b="S"},
51 {a="š", b="Š"},
52 {a="ṣ", b="Ṣ"},
53 {a="ḍ", b="Ḍ"},
54 {a="ṭ", b="Ṭ"},
55 {a="ẓ", b="Ẓ"},
56 {a="ġ", b="Ġ"},
57 {a="f", b="F"},
58 {a="q", b="Q"},
59 {a="k", b="K"},
60 {a="l", b="L"},
61 {a="m", b="M"},
62 {a="n", b="N"},
63 {a="h", b="H"},
64 {a="w", b="W"},
65 {a="ū", b="Ū"},
66 {a="y", b="Y"},
67 {a="ī", b="Ī"}
68}
69
36-- dmg 70-- dmg
37 71
38hamzatrdmg = { 72hamzatrdmg = {
@@ -210,27 +244,27 @@ digraphstrdmg = {
210} 244}
211 245
212singletrdmg = { 246singletrdmg = {
213 {a="b", b="b"}, 247 {a="b", b="b"},
214 {a="t", b="t"}, 248 {a="t", b="t"},
215 {a="j", b="ǧ"}, 249 {a="j", b="ǧ"},
216 {a="x", b="ḫ"}, 250 {a="x", b="ḫ"},
217 {a="d", b="d"}, 251 {a="d", b="d"},
218 {a="r", b="r"}, 252 {a="r", b="r"},
219 {a="z", b="z"}, 253 {a="z", b="z"},
220 {a="s", b="s"}, 254 {a="s", b="s"},
221 {a="`", b="ʿ"}, 255 {a="`", b="ʿ"},
222 {a="f", b="f"}, 256 {a="f", b="f"},
223 {a="q", b="q"}, 257 {a="q", b="q"},
224 {a="k", b="k"}, 258 {a="k", b="k"},
225 {a="l", b="l"}, 259 {a="l", b="l"},
226 {a="m", b="m"}, 260 {a="m", b="m"},
227 {a="n", b="n"}, 261 {a="n", b="n"},
228 {a="h", b="h"}, 262 {a="h", b="h"},
229 {a="w", b="w"}, 263 {a="w", b="w"},
230 {a="y", b="y"}, 264 {a="y", b="y"},
231 {a="T", b="t"}, 265 {a="T", b="t"},
232 {a="\"", b=""}, 266 {a="\"", b=""},
233 {a="B", b=""} 267 {a="B", b=""}
234} 268}
235 269
236longvtrdmg = { 270longvtrdmg = {
@@ -241,9 +275,9 @@ longvtrdmg = {
241} 275}
242 276
243shortvtrdmg = { 277shortvtrdmg = {
244 {a="u", b="u"}, 278 {a="u", b="u"},
245 {a="a", b="a"}, 279 {a="a", b="a"},
246 {a="i", b="i"} 280 {a="i", b="i"}
247} 281}
248 282
249-- loc 283-- loc
@@ -408,27 +442,27 @@ digraphstrloc = {
408} 442}
409 443
410singletrloc = { 444singletrloc = {
411 {a="b", b="b"}, 445 {a="b", b="b"},
412 {a="t", b="t"}, 446 {a="t", b="t"},
413 {a="j", b="j"}, 447 {a="j", b="j"},
414 {a="x", b="kh"}, 448 {a="x", b="kh"},
415 {a="d", b="d"}, 449 {a="d", b="d"},
416 {a="r", b="r"}, 450 {a="r", b="r"},
417 {a="z", b="z"}, 451 {a="z", b="z"},
418 {a="s", b="s"}, 452 {a="s", b="s"},
419 {a="`", b="`"}, 453 {a="`", b="`"},
420 {a="f", b="f"}, 454 {a="f", b="f"},
421 {a="q", b="q"}, 455 {a="q", b="q"},
422 {a="k", b="k"}, 456 {a="k", b="k"},
423 {a="l", b="l"}, 457 {a="l", b="l"},
424 {a="m", b="m"}, 458 {a="m", b="m"},
425 {a="n", b="n"}, 459 {a="n", b="n"},
426 {a="h", b="h"}, 460 {a="h", b="h"},
427 {a="w", b="w"}, 461 {a="w", b="w"},
428 {a="y", b="y"}, 462 {a="y", b="y"},
429 {a="T", b="t"}, 463 {a="T", b="t"},
430 {a="\"", b=""}, 464 {a="\"", b=""},
431 {a="B", b=""} 465 {a="B", b=""}
432} 466}
433 467
434longvtrloc = { 468longvtrloc = {
@@ -439,57 +473,11 @@ longvtrloc = {
439} 473}
440 474
441shortvtrloc = { 475shortvtrloc = {
442 {a="u", b="u"}, 476 {a="u", b="u"},
443 {a="a", b="a"}, 477 {a="a", b="a"},
444 {a="i", b="i"} 478 {a="i", b="i"}
445} 479}
446 480
447finaltrloc = { 481finaltrloc = {
448 {a="ʾ", b="'"}, 482 {a="ʾ", b="'"},
449} 483}
450
451-- cap
452captr = {
453 -- dmg (defaut); loc as well
454 {a="ā", b="Ā"},
455 {a="b", b="B"},
456 {a="t", b="T"},
457 {a="ṯ", b="Ṯ"},
458 {a="ǧ", b="Ǧ"},
459 {a="ḥ", b="Ḥ"},
460 {a="ḫ", b="Ḫ"},
461 {a="d", b="D"},
462 {a="ḏ", b="Ḏ"},
463 {a="r", b="R"},
464 {a="z", b="Z"},
465 {a="s", b="S"},
466 {a="š", b="Š"},
467 {a="ṣ", b="Ṣ"},
468 {a="ḍ", b="Ḍ"},
469 {a="ṭ", b="Ṭ"},
470 {a="ẓ", b="Ẓ"},
471 {a="ġ", b="Ġ"},
472 {a="f", b="F"},
473 {a="q", b="Q"},
474 {a="k", b="K"},
475 {a="l", b="L"},
476 {a="m", b="M"},
477 {a="n", b="N"},
478 {a="h", b="H"},
479 {a="w", b="W"},
480 {a="ū", b="Ū"},
481 {a="y", b="Y"},
482 {a="ī", b="Ī"}
483}
484
485-- return {
486-- raw = raw,
487-- hamza = hamza,
488-- trigraphs = trigraphs,
489-- tanwin = tanwin,
490-- digraphs = digraphs,
491-- single = single,
492-- longv = longv,
493-- shortv = shortv,
494-- null =null
495-- }
diff --git a/arabluatex_voc.lua b/arabluatex_voc.lua
index 2660ed8..4983ad0 100644
--- a/arabluatex_voc.lua
+++ b/arabluatex_voc.lua
@@ -1,7 +1,7 @@
1--[[ 1--[[
2This file is part of the `arabluatex' package 2This file is part of the `arabluatex' package
3 3
4copyright (C) 2016 Robert Alessi 4Copyright (C) 2016 Robert Alessi
5 5
6Please send error reports and suggestions for improvements to 6Please send error reports and suggestions for improvements to
7Robert Alessi <alessi@robertalessi.net> 7Robert Alessi <alessi@robertalessi.net>
@@ -92,14 +92,6 @@ hamza = {
92 {a="(%W)(')([ua])", b="%1أ%3"}, 92 {a="(%W)(')([ua])", b="%1أ%3"},
93 {a="(%W)(')(i)", b="%1إ%3"}, 93 {a="(%W)(')(i)", b="%1إ%3"},
94 -- final 94 -- final
95-- {a="([Iy])(')(aN)$", b="%1ئ%3"},
96-- {a="([Iy])(')(aN)(%W)", b="%1ئ%3%4"},
97-- {a="([^uai])(')([uai]N?)$", b="%1ء%3"},
98-- {a="([^uai])(')([uai]N?)(%W)", b="%1ء%3%4"},
99-- {a="([UI])(')([uai])$", b="%1ء%3"},
100-- {a="([UI])(')([uai])(%W)", b="%1ء%3%4"},
101-- {a="([UI])(')([uai]N?)$", b="%1ء%3"},
102-- {a="([UI])(')([uai]N?)(%W)", b="%1ء%3%4"},
103 -- ^say'aN and .zim'aN are special orthographies 95 -- ^say'aN and .zim'aN are special orthographies
104 {a="(%^say)(%')(aN)", b="%1ئ%3"}, 96 {a="(%^say)(%')(aN)", b="%1ئ%3"},
105 {a="(.zi?m)(%')(aN)", b="%1ئ%3"}, 97 {a="(.zi?m)(%')(aN)", b="%1ئ%3"},
@@ -312,31 +304,31 @@ digraphs = {
312} 304}
313 305
314single = { 306single = {
315 {a="b", b="ب"}, 307 {a="b", b="ب"},
316 {a="t", b="ت"}, 308 {a="t", b="ت"},
317 {a="j", b="ج"}, 309 {a="j", b="ج"},
318 {a="x", b="خ"}, 310 {a="x", b="خ"},
319 {a="d", b="د"}, 311 {a="d", b="د"},
320 {a="r", b="ر"}, 312 {a="r", b="ر"},
321 {a="z", b="ز"}, 313 {a="z", b="ز"},
322 {a="s", b="س"}, 314 {a="s", b="س"},
323 {a="f", b="ف"}, 315 {a="f", b="ف"},
324 {a="`", b="ع"}, 316 {a="`", b="ع"},
325 {a="f", b="ف"}, 317 {a="f", b="ف"},
326 {a="q", b="ق"}, 318 {a="q", b="ق"},
327 {a="k", b="ك"}, 319 {a="k", b="ك"},
328 {a="l", b="ل"}, 320 {a="l", b="ل"},
329 {a="m", b="م"}, 321 {a="m", b="م"},
330 {a="n", b="ن"}, 322 {a="n", b="ن"},
331 {a="h", b="ه"}, 323 {a="h", b="ه"},
332 {a="w", b="و"}, 324 {a="w", b="و"},
333 {a="y", b="ي"}, 325 {a="y", b="ي"},
334 {a="T", b="ة"}, 326 {a="T", b="ة"},
335 {a="\"$", b="ْ"}, 327 {a="\"$", b="ْ"},
336 {a="\"(%W)", b="ْ%1"}, 328 {a="\"(%W)", b="ْ%1"},
337 {a="\"([^uaiUAI])", b="ْ%1"}, 329 {a="\"([^uaiUAI])", b="ْ%1"},
338 {a="([^0-9])%-([^0-9])", b="%1%2"}, 330 {a="([^0-9])%-([^0-9])", b="%1%2"},
339 {a="B", b="ـ"} 331 {a="B", b="ـ"}
340} 332}
341 333
342longv = { 334longv = {
@@ -351,12 +343,12 @@ longv = {
351} 343}
352 344
353shortv = { 345shortv = {
354 {a="\"u", b=""}, 346 {a="\"u", b=""},
355 {a="\"a", b=""}, 347 {a="\"a", b=""},
356 {a="\"i", b=""}, 348 {a="\"i", b=""},
357 {a="u", b="ُ"}, 349 {a="u", b="ُ"},
358 {a="a", b="َ"}, 350 {a="a", b="َ"},
359 {a="i", b="ِ"} 351 {a="i", b="ِ"}
360} 352}
361 353
362punctuation = { 354punctuation = {
@@ -376,15 +368,3 @@ null = {
376 {a="%|", b=""}, 368 {a="%|", b=""},
377 {a="([^0-9])(%-)", b="%1"} 369 {a="([^0-9])(%-)", b="%1"}
378} 370}
379
380-- return {
381-- raw = raw,
382-- hamza = hamza,
383-- trigraphs = trigraphs,
384-- tanwin = tanwin,
385-- digraphs = digraphs,
386-- single = single,
387-- longv = longv,
388-- shortv = shortv,
389-- null =null
390-- }