diff options
-rw-r--r-- | arabluatex.dtx | 23 | ||||
-rw-r--r-- | arabluatex_fullvoc.lua | 70 | ||||
-rw-r--r-- | arabluatex_novoc.lua | 74 | ||||
-rw-r--r-- | arabluatex_trans.lua | 64 | ||||
-rw-r--r-- | arabluatex_voc.lua | 66 |
5 files changed, 149 insertions, 148 deletions
diff --git a/arabluatex.dtx b/arabluatex.dtx index 52ae732..e194185 100644 --- a/arabluatex.dtx +++ b/arabluatex.dtx | |||
@@ -1389,9 +1389,9 @@ consonants, though three of them are also used as vowels | |||
1389 | % \arb[trans]{'abjad} numbers are usually distinguished from the | 1389 | % \arb[trans]{'abjad} numbers are usually distinguished from the |
1390 | % surrounding words by a stroke placed over them. | 1390 | % surrounding words by a stroke placed over them. |
1391 | % | 1391 | % |
1392 | % For time being, \package{arabluatex} inserts those numbers with the | 1392 | % For the time being, \package{arabluatex} inserts those numbers with the |
1393 | % help of \package{polyglossia}. If you wish to use the | 1393 | % help of \package{polyglossia}. If one wishes to use the |
1394 | % \arb[trans]{abjad} system, put in your preamble:--- | 1394 | % \arb[trans]{abjad} system, he may put in his preamble:--- |
1395 | % \iffalse | 1395 | % \iffalse |
1396 | %<*example> | 1396 | %<*example> |
1397 | % \fi | 1397 | % \fi |
@@ -1403,7 +1403,7 @@ consonants, though three of them are also used as vowels | |||
1403 | % \iffalse | 1403 | % \iffalse |
1404 | %</example> | 1404 | %</example> |
1405 | % \fi % | 1405 | % \fi % |
1406 | % \DescribeMacro{\abjad} Then you may use the command | 1406 | % \DescribeMacro{\abjad} Then one may use the command |
1407 | % \cs{abjad}\marg{number} in any of the |voc|, |fullvoc| and |novoc| | 1407 | % \cs{abjad}\marg{number} in any of the |voc|, |fullvoc| and |novoc| |
1408 | % modes, where \meta{number} may be any number between 1 and 1999, | 1408 | % modes, where \meta{number} may be any number between 1 and 1999, |
1409 | % like so:--- | 1409 | % like so:--- |
@@ -1667,10 +1667,11 @@ al-muqAtilIna.}, wa-kAnat 'ummI min `u.zamA'i buyUti | |||
1667 | % \DescribeMacro{\LR} \cs{LR}\marg{arg} is designed to typeset its | 1667 | % \DescribeMacro{\LR} \cs{LR}\marg{arg} is designed to typeset its |
1668 | % argument from left to right. It may be used in an Arabic | 1668 | % argument from left to right. It may be used in an Arabic |
1669 | % environment, either \cs{arb}\marg{Arabic text} or \cs{begin}|{arab}| | 1669 | % environment, either \cs{arb}\marg{Arabic text} or \cs{begin}|{arab}| |
1670 | % \meta{Arabic text} \cs{end}|{arab}|, for short insertions of left to | 1670 | % \meta{Arabic text} \cs{end}|{arab}|, for short insertions of |
1671 | % right text, or to insert any \LaTeX\ command that would otherwise be | 1671 | % left-to-right text, or to insert any \LaTeX\ command that would |
1672 | % rejected by \package{arabluatex}, such as commands the argument of | 1672 | % otherwise be rejected by \package{arabluatex}, such as commands the |
1673 | % which is expected to be a dimension or a unit of measurement. | 1673 | % argument of which is expected to be a dimension or a unit of |
1674 | % measurement. | ||
1674 | % | 1675 | % |
1675 | % \DescribeMacro{\RL} \cs{RL}\marg{arg} does the same as | 1676 | % \DescribeMacro{\RL} \cs{RL}\marg{arg} does the same as |
1676 | % \cs{LR}\marg{arg}, but typesets its argument from left to right. Even | 1677 | % \cs{LR}\marg{arg}, but typesets its argument from left to right. Even |
@@ -1871,7 +1872,7 @@ wa-ya.sIru ta.hta 'l-jildi | |||
1871 | % and attempt to load the Amiri font which is included in \TeX{}live: | 1872 | % and attempt to load the Amiri font which is included in \TeX{}live: |
1872 | % \begin{macrocode} | 1873 | % \begin{macrocode} |
1873 | \AtBeginDocument{\ifdefined\arabicfont\relax\else | 1874 | \AtBeginDocument{\ifdefined\arabicfont\relax\else |
1874 | \PackageWarning{arabluatex}{\string\arabicfont\ is not defined!^^JI | 1875 | \PackageWarning{arabluatex}{\string\arabicfont\ is not defined.^^JI |
1875 | will try to load Amiri}% | 1876 | will try to load Amiri}% |
1876 | \newfontfamily\arabicfont[Script=Arabic]{Amiri}\fi}% | 1877 | \newfontfamily\arabicfont[Script=Arabic]{Amiri}\fi}% |
1877 | % \end{macrocode} | 1878 | % \end{macrocode} |
@@ -1921,8 +1922,8 @@ wa-ya.sIru ta.hta 'l-jildi | |||
1921 | % \end{macrocode} | 1922 | % \end{macrocode} |
1922 | % \end{macro} | 1923 | % \end{macro} |
1923 | % \begin{macro}{\SetTranslitConvention} | 1924 | % \begin{macro}{\SetTranslitConvention} |
1924 | % \cs{SetTranslitConvention}\marg{convention} may be used to change | 1925 | % \cs{SetTranslitConvention}\marg{convention} may be used to change |
1925 | % the convention, which is |dmg| by default: | 1926 | % the transliteration convention, which is |dmg| by default: |
1926 | % \begin{macrocode} | 1927 | % \begin{macrocode} |
1927 | \def\al@trans@convention{dmg} | 1928 | \def\al@trans@convention{dmg} |
1928 | \NewDocumentCommand{\SetTranslitConvention}{m}{\def\al@trans@convention{#1}} | 1929 | \NewDocumentCommand{\SetTranslitConvention}{m}{\def\al@trans@convention{#1}} |
diff --git a/arabluatex_fullvoc.lua b/arabluatex_fullvoc.lua index b157653..f66ed87 100644 --- a/arabluatex_fullvoc.lua +++ b/arabluatex_fullvoc.lua | |||
@@ -111,6 +111,41 @@ hamzafv = { | |||
111 | {a="(i)(')([^uaiUAI])", b="%1ئْ%3"} | 111 | {a="(i)(')([^uaiUAI])", b="%1ئْ%3"} |
112 | } | 112 | } |
113 | 113 | ||
114 | tanwinfv = { | ||
115 | {a="uNU", b="ٌو"}, | ||
116 | {a="aNU", b="ًوا"}, | ||
117 | {a="iNU", b="ٍو"}, | ||
118 | {a="([uai]N)(%s)([uai])", b="%1%2ٱ"}, | ||
119 | {a="(aN[%_]?[AY])(%s)([uai])", b="%1%2ٱ"}, | ||
120 | -- assimilations (begin) | ||
121 | {a="(uN)(%s)([rlmnwy])", b="ٌ%2%3%3"}, | ||
122 | {a="(aN)(_A)(%s)([rlmnwy])", b="ًى%3%4%4"}, | ||
123 | {a="(aN)(Y)(%s)([rlmnwy])", b="ًى%3%4%4"}, | ||
124 | {a="(T)(aN)(%s)([rlmnwy])", b="%1ً%3%4%4"}, | ||
125 | {a="(ء)(aN)(%s)([rlmnwy])", b="%1ً%3%4%4"}, | ||
126 | {a="([^TA])(aN)(%s)([rlmnwy])", b="%1ًا%3%4%4"}, | ||
127 | {a="(iN)(%s)([rlmnwy])", b="ٍ%2%3%3"}, | ||
128 | -- assimilations (end) | ||
129 | -- quoted tanwīn (begin) | ||
130 | {a="(\"uN)", b=""}, | ||
131 | {a="(B)(\"aN)", b="%1"}, | ||
132 | {a="(\"aN)(_A)", b="ى"}, | ||
133 | {a="(\"aN)(Y)", b="ى"}, | ||
134 | {a="(T)(\"aN)", b="%1"}, | ||
135 | {a="(ء)(\"aN)", b="%1"}, | ||
136 | {a="([^TA])(\"aN)", b="%1ا"}, | ||
137 | {a="(\"iN)", b=""}, | ||
138 | -- quoted tanwīn (end) | ||
139 | {a="(uN)", b="ٌ"}, | ||
140 | {a="(B)(aN)", b="%1ً"}, | ||
141 | {a="(aN)(_A)", b="ًى"}, | ||
142 | {a="(aN)(Y)", b="ًى"}, | ||
143 | {a="(T)(aN)", b="%1ً"}, | ||
144 | {a="(ء)(aN)", b="%1ً"}, | ||
145 | {a="([^TA])(aN)", b="%1ًا"}, | ||
146 | {a="(iN)", b="ٍ"} | ||
147 | } | ||
148 | |||
114 | -- this is new | 149 | -- this is new |
115 | trigraphsfv = { -- trigraphs or more | 150 | trigraphsfv = { -- trigraphs or more |
116 | -- 'llatI / 'llad_I | 151 | -- 'llatI / 'llad_I |
@@ -168,41 +203,6 @@ trigraphsfv = { -- trigraphs or more | |||
168 | {a="(n)(%s)([rlmnwy])", b="%1%2%3%3"} | 203 | {a="(n)(%s)([rlmnwy])", b="%1%2%3%3"} |
169 | } | 204 | } |
170 | 205 | ||
171 | tanwinfv = { | ||
172 | {a="uNU", b="ٌو"}, | ||
173 | {a="aNU", b="ًوا"}, | ||
174 | {a="iNU", b="ٍو"}, | ||
175 | {a="([uai]N)(%s)([uai])", b="%1%2ٱ"}, | ||
176 | {a="(aN[%_]?[AY])(%s)([uai])", b="%1%2ٱ"}, | ||
177 | -- assimilations (begin) | ||
178 | {a="(uN)(%s)([rlmnwy])", b="ٌ%2%3%3"}, | ||
179 | {a="(aN)(_A)(%s)([rlmnwy])", b="ًى%3%4%4"}, | ||
180 | {a="(aN)(Y)(%s)([rlmnwy])", b="ًى%3%4%4"}, | ||
181 | {a="(T)(aN)(%s)([rlmnwy])", b="%1ً%3%4%4"}, | ||
182 | {a="(ء)(aN)(%s)([rlmnwy])", b="%1ً%3%4%4"}, | ||
183 | {a="([^TA])(aN)(%s)([rlmnwy])", b="%1ًا%3%4%4"}, | ||
184 | {a="(iN)(%s)([rlmnwy])", b="ٍ%2%3%3"}, | ||
185 | -- assimilations (end) | ||
186 | -- quoted tanwīn (begin) | ||
187 | {a="(\"uN)", b=""}, | ||
188 | {a="(B)(\"aN)", b="%1"}, | ||
189 | {a="(\"aN)(_A)", b="ى"}, | ||
190 | {a="(\"aN)(Y)", b="ى"}, | ||
191 | {a="(T)(\"aN)", b="%1"}, | ||
192 | {a="(ء)(\"aN)", b="%1"}, | ||
193 | {a="([^TA])(\"aN)", b="%1ا"}, | ||
194 | {a="(\"iN)", b=""}, | ||
195 | -- quoted tanwīn (end) | ||
196 | {a="(uN)", b="ٌ"}, | ||
197 | {a="(B)(aN)", b="%1ً"}, | ||
198 | {a="(aN)(_A)", b="ًى"}, | ||
199 | {a="(aN)(Y)", b="ًى"}, | ||
200 | {a="(T)(aN)", b="%1ً"}, | ||
201 | {a="(ء)(aN)", b="%1ً"}, | ||
202 | {a="([^TA])(aN)", b="%1ًا"}, | ||
203 | {a="(iN)", b="ٍ"} | ||
204 | } | ||
205 | |||
206 | -- this is new | 206 | -- this is new |
207 | digraphsfv = { | 207 | digraphsfv = { |
208 | -- initial straight double quote gives a connective ʾalif | 208 | -- initial straight double quote gives a connective ʾalif |
diff --git a/arabluatex_novoc.lua b/arabluatex_novoc.lua index d8e1248..deb5d3e 100644 --- a/arabluatex_novoc.lua +++ b/arabluatex_novoc.lua | |||
@@ -22,6 +22,43 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA | |||
22 | 02111-1307, USA. | 22 | 02111-1307, USA. |
23 | --]] | 23 | --]] |
24 | 24 | ||
25 | tanwinnv = { | ||
26 | {a="uNU", b="و"}, | ||
27 | {a="aNU", b="وا"}, | ||
28 | {a="iNU", b="و"}, | ||
29 | -- assimilations (begin). These are good but may not apply here. | ||
30 | -- {a="(uN)(%s)([rlmnwy])", b="|%2%3%3"}, | ||
31 | -- {a="(aN)(_A)(%s)([rlmnwy])", b="ى%3%4%4"}, | ||
32 | -- {a="(aN)(Y)(%s)([rlmnwy])", b="ى%3%4%4"}, | ||
33 | -- {a="(T)(aN)(%s)([rlmnwy])", b="%1%3%4%4"}, | ||
34 | -- {a="(ء)(aN)(%s)([rlmnwy])", b="%1%3%4%4"}, | ||
35 | -- {a="([^TA])(aN)(%s)([rlmnwy])", b="%1ا%3%4%4"}, | ||
36 | -- {a="(iN)(%s)([rlmnwy])", b="|%2%3%3"}, | ||
37 | -- assimilations (end) | ||
38 | -- "quoted" tanwīn (begin) | ||
39 | {a="(\"uN)", b="ٌ"}, | ||
40 | {a="(B)(\"aN)", b="%1ً"}, | ||
41 | {a="(\"aN)(_A)", b="ًى"}, | ||
42 | {a="(\"aN)(Y)", b="ًى"}, | ||
43 | {a="(T)(\"aN)", b="%1ً"}, | ||
44 | {a="(ء)(\"aN)", b="%1ً"}, | ||
45 | {a="([^TA])(\"aN)", b="%1ًا"}, | ||
46 | {a="(\"iN)", b="ٍ"}, | ||
47 | -- "quoted" tanwīn (end) | ||
48 | {a="(uN)", b=""}, | ||
49 | {a="(B)(aN)", b="%1"}, | ||
50 | {a="(aN)(_A)", b="ى"}, | ||
51 | {a="(aN)(Y)", b="ى"}, | ||
52 | {a="(T)(aN)", b="%1"}, | ||
53 | {a="(ء)(aN)", b="%1"}, | ||
54 | {a="([^TA])(aN)", b="%1ا"}, | ||
55 | {a="(iN)", b=""}, | ||
56 | -- initial straight double quote gives a connective ʾalif. This has | ||
57 | -- nothing to do with the tanwīn, but I put it here for time being. | ||
58 | {a="^\"", b="ٱ"}, | ||
59 | {a="([%s%-])\"", b="%1ٱ"} | ||
60 | } | ||
61 | |||
25 | trigraphsnv = { -- trigraphs or more | 62 | trigraphsnv = { -- trigraphs or more |
26 | -- Allah | 63 | -- Allah |
27 | {a="l%-l_ah", b="l-ll_ah"}, | 64 | {a="l%-l_ah", b="l-ll_ah"}, |
@@ -78,43 +115,6 @@ trigraphsnv = { -- trigraphs or more | |||
78 | {a="(_a)I", b="%1ي"} | 115 | {a="(_a)I", b="%1ي"} |
79 | } | 116 | } |
80 | 117 | ||
81 | tanwinnv = { | ||
82 | {a="uNU", b="و"}, | ||
83 | {a="aNU", b="وا"}, | ||
84 | {a="iNU", b="و"}, | ||
85 | -- assimilations (begin). These are good but may not apply here. | ||
86 | -- {a="(uN)(%s)([rlmnwy])", b="|%2%3%3"}, | ||
87 | -- {a="(aN)(_A)(%s)([rlmnwy])", b="ى%3%4%4"}, | ||
88 | -- {a="(aN)(Y)(%s)([rlmnwy])", b="ى%3%4%4"}, | ||
89 | -- {a="(T)(aN)(%s)([rlmnwy])", b="%1%3%4%4"}, | ||
90 | -- {a="(ء)(aN)(%s)([rlmnwy])", b="%1%3%4%4"}, | ||
91 | -- {a="([^TA])(aN)(%s)([rlmnwy])", b="%1ا%3%4%4"}, | ||
92 | -- {a="(iN)(%s)([rlmnwy])", b="|%2%3%3"}, | ||
93 | -- assimilations (end) | ||
94 | -- "quoted" tanwīn (begin) | ||
95 | {a="(\"uN)", b="ٌ"}, | ||
96 | {a="(B)(\"aN)", b="%1ً"}, | ||
97 | {a="(\"aN)(_A)", b="ًى"}, | ||
98 | {a="(\"aN)(Y)", b="ًى"}, | ||
99 | {a="(T)(\"aN)", b="%1ً"}, | ||
100 | {a="(ء)(\"aN)", b="%1ً"}, | ||
101 | {a="([^TA])(\"aN)", b="%1ًا"}, | ||
102 | {a="(\"iN)", b="ٍ"}, | ||
103 | -- "quoted" tanwīn (end) | ||
104 | {a="(uN)", b=""}, | ||
105 | {a="(B)(aN)", b="%1"}, | ||
106 | {a="(aN)(_A)", b="ى"}, | ||
107 | {a="(aN)(Y)", b="ى"}, | ||
108 | {a="(T)(aN)", b="%1"}, | ||
109 | {a="(ء)(aN)", b="%1"}, | ||
110 | {a="([^TA])(aN)", b="%1ا"}, | ||
111 | {a="(iN)", b=""}, | ||
112 | -- initial straight double quote gives a connective ʾalif. This has | ||
113 | -- nothing to do with the tanwīn, but I put it here for time being. | ||
114 | {a="^\"", b="ٱ"}, | ||
115 | {a="([%s%-])\"", b="%1ٱ"} | ||
116 | } | ||
117 | |||
118 | longvnv = { | 118 | longvnv = { |
119 | {a="\"A", b="َا"}, | 119 | {a="\"A", b="َا"}, |
120 | {a="\"U", b="ُو"}, | 120 | {a="\"U", b="ُو"}, |
diff --git a/arabluatex_trans.lua b/arabluatex_trans.lua index 99d3712..b61c6db 100644 --- a/arabluatex_trans.lua +++ b/arabluatex_trans.lua | |||
@@ -122,6 +122,26 @@ hamzatrdmg = { | |||
122 | {a="(i)(')([^uaiUAI])", b="%1ʾ%3"} | 122 | {a="(i)(')([^uaiUAI])", b="%1ʾ%3"} |
123 | } | 123 | } |
124 | 124 | ||
125 | tanwintrdmg = { | ||
126 | {a="uNU", b="un"}, | ||
127 | {a="aNU", b="an"}, | ||
128 | {a="iNU", b="in"}, | ||
129 | -- tanwīn preceding ʾalif conjunctionis | ||
130 | {a="(uN)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="uni%2%3"}, | ||
131 | {a="(aN)(_A)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="ani%3%4"}, | ||
132 | {a="(aN)(Y)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="ani%3%4"}, | ||
133 | {a="(T)(aN)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="tani%3%4"}, | ||
134 | {a="([^TA])(aN)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1ani%3%4"}, | ||
135 | {a="(iN)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="ini%2%3"}, | ||
136 | -- | ||
137 | {a="uN", b="un"}, | ||
138 | {a="(aN)(_A)", b="an"}, | ||
139 | {a="(aN)(Y)", b="an"}, | ||
140 | {a="(T)(\"?aN)", b="tan"}, | ||
141 | {a="([^TA])(\"?aN)", b="%1an"}, | ||
142 | {a="iN", b="in"} | ||
143 | } | ||
144 | |||
125 | trigraphstrdmg = { -- trigraphs or more | 145 | trigraphstrdmg = { -- trigraphs or more |
126 | -- 'llatI / 'llad_I | 146 | -- 'llatI / 'llad_I |
127 | {a="^'ll(a)([%_]?[dt])", b="'ll%1%2"}, | 147 | {a="^'ll(a)([%_]?[dt])", b="'ll%1%2"}, |
@@ -177,26 +197,6 @@ trigraphstrdmg = { -- trigraphs or more | |||
177 | {a="(n)(%s)([rlmnwy])", b="%3%2%3"} | 197 | {a="(n)(%s)([rlmnwy])", b="%3%2%3"} |
178 | } | 198 | } |
179 | 199 | ||
180 | tanwintrdmg = { | ||
181 | {a="uNU", b="un"}, | ||
182 | {a="aNU", b="an"}, | ||
183 | {a="iNU", b="in"}, | ||
184 | -- tanwīn preceding ʾalif conjunctionis | ||
185 | {a="(uN)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="uni%2%3"}, | ||
186 | {a="(aN)(_A)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="ani%3%4"}, | ||
187 | {a="(aN)(Y)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="ani%3%4"}, | ||
188 | {a="(T)(aN)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="tani%3%4"}, | ||
189 | {a="([^TA])(aN)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1ani%3%4"}, | ||
190 | {a="(iN)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="ini%2%3"}, | ||
191 | -- | ||
192 | {a="uN", b="un"}, | ||
193 | {a="(aN)(_A)", b="an"}, | ||
194 | {a="(aN)(Y)", b="an"}, | ||
195 | {a="(T)(\"?aN)", b="tan"}, | ||
196 | {a="([^TA])(\"?aN)", b="%1an"}, | ||
197 | {a="iN", b="in"} | ||
198 | } | ||
199 | |||
200 | digraphstrdmg = { | 200 | digraphstrdmg = { |
201 | {a="([uai]%-)(\"?[uai])", b="%1'"}, -- hyphen + initial alif without hamza | 201 | {a="([uai]%-)(\"?[uai])", b="%1'"}, -- hyphen + initial alif without hamza |
202 | {a="^(\"?[uai])", b="%1"}, -- initial alif without hamza | 202 | {a="^(\"?[uai])", b="%1"}, -- initial alif without hamza |
@@ -342,6 +342,18 @@ hamzatrloc = { | |||
342 | {a="(i)(')([^uaiUAI])", b="%1ʾ%3"} | 342 | {a="(i)(')([^uaiUAI])", b="%1ʾ%3"} |
343 | } | 343 | } |
344 | 344 | ||
345 | tanwintrloc = { | ||
346 | {a="uNU", b="un"}, | ||
347 | {a="aNU", b="an"}, | ||
348 | {a="iNU", b="in"}, | ||
349 | {a="uN", b="un"}, | ||
350 | {a="(aN)(_A)", b="an"}, | ||
351 | {a="(aN)(Y)", b="an"}, | ||
352 | {a="(T)(\"?aN)", b="tan"}, | ||
353 | {a="([^TA])(\"?aN)", b="%1an"}, | ||
354 | {a="iN", b="in"} | ||
355 | } | ||
356 | |||
345 | trigraphstrloc = { -- trigraphs or more | 357 | trigraphstrloc = { -- trigraphs or more |
346 | -- 'llatI / 'llad_I | 358 | -- 'llatI / 'llad_I |
347 | {a="^'ll(a)([%_]?[dt])", b="all%1%2"}, | 359 | {a="^'ll(a)([%_]?[dt])", b="all%1%2"}, |
@@ -392,18 +404,6 @@ trigraphstrloc = { -- trigraphs or more | |||
392 | {a="(_a)I", b="A"} | 404 | {a="(_a)I", b="A"} |
393 | } | 405 | } |
394 | 406 | ||
395 | tanwintrloc = { | ||
396 | {a="uNU", b="un"}, | ||
397 | {a="aNU", b="an"}, | ||
398 | {a="iNU", b="in"}, | ||
399 | {a="uN", b="un"}, | ||
400 | {a="(aN)(_A)", b="an"}, | ||
401 | {a="(aN)(Y)", b="an"}, | ||
402 | {a="(T)(\"?aN)", b="tan"}, | ||
403 | {a="([^TA])(\"?aN)", b="%1an"}, | ||
404 | {a="iN", b="in"} | ||
405 | } | ||
406 | |||
407 | digraphstrloc = { | 407 | digraphstrloc = { |
408 | {a="(%-)([uai])", b="%1%2"}, -- hyphen + initial alif without hamza | 408 | {a="(%-)([uai])", b="%1%2"}, -- hyphen + initial alif without hamza |
409 | {a="^([uai])", b="%1"}, -- initial alif without hamza | 409 | {a="^([uai])", b="%1"}, -- initial alif without hamza |
diff --git a/arabluatex_voc.lua b/arabluatex_voc.lua index 5989898..9724901 100644 --- a/arabluatex_voc.lua +++ b/arabluatex_voc.lua | |||
@@ -143,6 +143,39 @@ hamza = { | |||
143 | {a="(i)(')([^uaiUAI])", b="%1ئ%3"} | 143 | {a="(i)(')([^uaiUAI])", b="%1ئ%3"} |
144 | } | 144 | } |
145 | 145 | ||
146 | tanwin = { | ||
147 | {a="uNU", b="ٌو"}, | ||
148 | {a="aNU", b="ًوا"}, | ||
149 | {a="iNU", b="ٍو"}, | ||
150 | -- assimilations (begin) | ||
151 | {a="(uN)(%s)([rlmnwy])", b="ٌ%2%3%3"}, | ||
152 | {a="(aN)(_A)(%s)([rlmnwy])", b="ًى%3%4%4"}, | ||
153 | {a="(aN)(Y)(%s)([rlmnwy])", b="ًى%3%4%4"}, | ||
154 | {a="(T)(aN)(%s)([rlmnwy])", b="%1ً%3%4%4"}, | ||
155 | {a="(ء)(aN)(%s)([rlmnwy])", b="%1ً%3%4%4"}, | ||
156 | {a="([^TA])(aN)(%s)([rlmnwy])", b="%1ًا%3%4%4"}, | ||
157 | {a="(iN)(%s)([rlmnwy])", b="ٍ%2%3%3"}, | ||
158 | -- assimilations (end) | ||
159 | -- quoted tanwīn (begin) | ||
160 | {a="(\"uN)", b=""}, | ||
161 | {a="(B)(\"aN)", b="%1"}, | ||
162 | {a="(\"aN)(_A)", b="ى"}, | ||
163 | {a="(\"aN)(Y)", b="ى"}, | ||
164 | {a="(T)(\"aN)", b="%1"}, | ||
165 | {a="(ء)(\"aN)", b="%1"}, | ||
166 | {a="([^TA])(\"aN)", b="%1ا"}, | ||
167 | {a="(\"iN)", b=""}, | ||
168 | -- quoted tanwīn (end) | ||
169 | {a="(uN)", b="ٌ"}, | ||
170 | {a="(B)(aN)", b="%1ً"}, | ||
171 | {a="(aN)(_A)", b="ًى"}, | ||
172 | {a="(aN)(Y)", b="ًى"}, | ||
173 | {a="(T)(aN)", b="%1ً"}, | ||
174 | {a="(ء)(aN)", b="%1ً"}, | ||
175 | {a="([^TA])(aN)", b="%1ًا"}, | ||
176 | {a="(iN)", b="ٍ"} | ||
177 | } | ||
178 | |||
146 | trigraphs = { -- trigraphs or more | 179 | trigraphs = { -- trigraphs or more |
147 | -- 'llatI / 'llad_I | 180 | -- 'llatI / 'llad_I |
148 | {a="^'ll(a)([%_]?[dt])", b="الّ%1%2"}, | 181 | {a="^'ll(a)([%_]?[dt])", b="الّ%1%2"}, |
@@ -203,39 +236,6 @@ trigraphs = { -- trigraphs or more | |||
203 | {a="(n)(%s)([rlmnwy])", b="%1%2%3%3"} | 236 | {a="(n)(%s)([rlmnwy])", b="%1%2%3%3"} |
204 | } | 237 | } |
205 | 238 | ||
206 | tanwin = { | ||
207 | {a="uNU", b="ٌو"}, | ||
208 | {a="aNU", b="ًوا"}, | ||
209 | {a="iNU", b="ٍو"}, | ||
210 | -- assimilations (begin) | ||
211 | {a="(uN)(%s)([rlmnwy])", b="ٌ%2%3%3"}, | ||
212 | {a="(aN)(_A)(%s)([rlmnwy])", b="ًى%3%4%4"}, | ||
213 | {a="(aN)(Y)(%s)([rlmnwy])", b="ًى%3%4%4"}, | ||
214 | {a="(T)(aN)(%s)([rlmnwy])", b="%1ً%3%4%4"}, | ||
215 | {a="(ء)(aN)(%s)([rlmnwy])", b="%1ً%3%4%4"}, | ||
216 | {a="([^TA])(aN)(%s)([rlmnwy])", b="%1ًا%3%4%4"}, | ||
217 | {a="(iN)(%s)([rlmnwy])", b="ٍ%2%3%3"}, | ||
218 | -- assimilations (end) | ||
219 | -- quoted tanwīn (begin) | ||
220 | {a="(\"uN)", b=""}, | ||
221 | {a="(B)(\"aN)", b="%1"}, | ||
222 | {a="(\"aN)(_A)", b="ى"}, | ||
223 | {a="(\"aN)(Y)", b="ى"}, | ||
224 | {a="(T)(\"aN)", b="%1"}, | ||
225 | {a="(ء)(\"aN)", b="%1"}, | ||
226 | {a="([^TA])(\"aN)", b="%1ا"}, | ||
227 | {a="(\"iN)", b=""}, | ||
228 | -- quoted tanwīn (end) | ||
229 | {a="(uN)", b="ٌ"}, | ||
230 | {a="(B)(aN)", b="%1ً"}, | ||
231 | {a="(aN)(_A)", b="ًى"}, | ||
232 | {a="(aN)(Y)", b="ًى"}, | ||
233 | {a="(T)(aN)", b="%1ً"}, | ||
234 | {a="(ء)(aN)", b="%1ً"}, | ||
235 | {a="([^TA])(aN)", b="%1ًا"}, | ||
236 | {a="(iN)", b="ٍ"} | ||
237 | } | ||
238 | |||
239 | digraphs = { | 239 | digraphs = { |
240 | -- initial straight double quote gives a connective ʾalif | 240 | -- initial straight double quote gives a connective ʾalif |
241 | {a="^\"[uai]", b="ٱ"}, | 241 | {a="^\"[uai]", b="ٱ"}, |