diff options
-rw-r--r-- | README.tex | 83 | ||||
-rw-r--r-- | arabluatex.dtx | 4 | ||||
-rw-r--r-- | arabluatex.ins | 6 | ||||
-rw-r--r-- | arabluatex.lua | 10 | ||||
-rw-r--r-- | arabluatex_fullvoc.lua | 63 | ||||
-rw-r--r-- | arabluatex_novoc.lua | 28 | ||||
-rw-r--r-- | arabluatex_trans.lua | 178 | ||||
-rw-r--r-- | arabluatex_voc.lua | 84 |
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} | ||
14 | This package provides for \LuaLaTeX\ an Arab{\TeX}-like interface to | ||
15 | generate Arabic writing from an \textsc{ascii} transliteration. It is | ||
16 | particularly well-suited for complex documents such as technical | ||
17 | documents or critical editions where a lot of left-to-right commands | ||
18 | intertwine with Arabic writing. arabluatex is able to | ||
19 | process any Arab\TeX\ input notation. Its output can be set in the | ||
20 | same modes of vocalization as Arab\TeX, or in different roman | ||
21 | transliterations. It further allows many typographical refinements. It | ||
22 | will eventually interact with some other packages yet to come to | ||
23 | produce from \verb|.tex| source files, in addition to printed books, | ||
24 | \texttt{TEI xml} compliant critical editions and/or lexicons that can | ||
25 | be searched, analyzed and correlated in various ways. | ||
26 | |||
27 | \section*{License and disclamer} | ||
28 | Copyright \textcopyright\ 2016 Robert Alessi | ||
29 | |||
30 | \addcontentsline{toc}{section}{License and disclamer} Please send | ||
31 | error 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 | |||
37 | This program is free software; you can redistribute it and/or | ||
38 | modify it under the terms of the GNU General Public License | ||
39 | as published by the Free Software Foundation; either version 2 | ||
40 | of the License, or (at your option) any later version. | ||
41 | |||
42 | This program is distributed in the hope that it will be useful, | ||
43 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
44 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
45 | GNU General Public License for more details. | ||
46 | |||
47 | You should have received a copy of the GNU General Public License | ||
48 | along with this program; if not, write to the Free Software | ||
49 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA | ||
50 | 02111-1307, USA. | ||
51 | |||
52 | This release of arabluatex consists of the following | ||
53 | source 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 | ||
71 | into 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 | ||
39 | This is a generated file. | 39 | This is a generated file. |
40 | 40 | ||
41 | copyright (C) 2016 Robert Alessi | 41 | Copyright (C) 2016 Robert Alessi |
42 | 42 | ||
43 | Please send error reports and suggestions for improvements to | 43 | Please send error reports and suggestions for improvements to |
44 | Robert Alessi <alessi@robertalessi.net> | 44 | Robert 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 | --[[ |
2 | This file is part of the `arabluatex' package | 2 | This file is part of the `arabluatex' package |
3 | 3 | ||
4 | copyright (C) 2016 Robert Alessi | 4 | Copyright (C) 2016 Robert Alessi |
5 | 5 | ||
6 | Please send error reports and suggestions for improvements to | 6 | Please send error reports and suggestions for improvements to |
7 | Robert Alessi <alessi@robertalessi.net> | 7 | Robert Alessi <alessi@robertalessi.net> |
@@ -371,11 +371,3 @@ function cap(str) | |||
371 | end | 371 | end |
372 | return str | 372 | return str |
373 | end | 373 | end |
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 | --[[ |
2 | This file is part of the `arabluatex' package | 2 | This file is part of the `arabluatex' package |
3 | 3 | ||
4 | copyright (C) 2016 Robert Alessi | 4 | Copyright (C) 2016 Robert Alessi |
5 | 5 | ||
6 | Please send error reports and suggestions for improvements to | 6 | Please send error reports and suggestions for improvements to |
7 | Robert Alessi <alessi@robertalessi.net> | 7 | Robert 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 | ||
297 | singlefv = { | 290 | singlefv = { |
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 | --[[ |
2 | This file is part of the `arabluatex' package | 2 | This file is part of the `arabluatex' package |
3 | 3 | ||
4 | copyright (C) 2016 Robert Alessi | 4 | Copyright (C) 2016 Robert Alessi |
5 | 5 | ||
6 | Please send error reports and suggestions for improvements to | 6 | Please send error reports and suggestions for improvements to |
7 | Robert Alessi <alessi@robertalessi.net> | 7 | Robert 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 | ||
129 | shortvnv = { | 129 | shortvnv = { |
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 | --[[ |
2 | This file is part of the `arabluatex' package | 2 | This file is part of the `arabluatex' package |
3 | 3 | ||
4 | copyright (C) 2016 Robert Alessi | 4 | Copyright (C) 2016 Robert Alessi |
5 | 5 | ||
6 | Please send error reports and suggestions for improvements to | 6 | Please send error reports and suggestions for improvements to |
7 | Robert Alessi <alessi@robertalessi.net> | 7 | Robert Alessi <alessi@robertalessi.net> |
@@ -33,6 +33,40 @@ nulltr = { | |||
33 | {a="%|", b=""} | 33 | {a="%|", b=""} |
34 | } | 34 | } |
35 | 35 | ||
36 | -- cap | ||
37 | captr = { | ||
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 | ||
38 | hamzatrdmg = { | 72 | hamzatrdmg = { |
@@ -210,27 +244,27 @@ digraphstrdmg = { | |||
210 | } | 244 | } |
211 | 245 | ||
212 | singletrdmg = { | 246 | singletrdmg = { |
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 | ||
236 | longvtrdmg = { | 270 | longvtrdmg = { |
@@ -241,9 +275,9 @@ longvtrdmg = { | |||
241 | } | 275 | } |
242 | 276 | ||
243 | shortvtrdmg = { | 277 | shortvtrdmg = { |
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 | ||
410 | singletrloc = { | 444 | singletrloc = { |
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 | ||
434 | longvtrloc = { | 468 | longvtrloc = { |
@@ -439,57 +473,11 @@ longvtrloc = { | |||
439 | } | 473 | } |
440 | 474 | ||
441 | shortvtrloc = { | 475 | shortvtrloc = { |
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 | ||
447 | finaltrloc = { | 481 | finaltrloc = { |
448 | {a="ʾ", b="'"}, | 482 | {a="ʾ", b="'"}, |
449 | } | 483 | } |
450 | |||
451 | -- cap | ||
452 | captr = { | ||
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 | --[[ |
2 | This file is part of the `arabluatex' package | 2 | This file is part of the `arabluatex' package |
3 | 3 | ||
4 | copyright (C) 2016 Robert Alessi | 4 | Copyright (C) 2016 Robert Alessi |
5 | 5 | ||
6 | Please send error reports and suggestions for improvements to | 6 | Please send error reports and suggestions for improvements to |
7 | Robert Alessi <alessi@robertalessi.net> | 7 | Robert 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 | ||
314 | single = { | 306 | single = { |
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 | ||
342 | longv = { | 334 | longv = { |
@@ -351,12 +343,12 @@ longv = { | |||
351 | } | 343 | } |
352 | 344 | ||
353 | shortv = { | 345 | shortv = { |
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 | ||
362 | punctuation = { | 354 | punctuation = { |
@@ -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 | -- } | ||