diff options
author | Robert Alessi <alessi@robertalessi.net> | 2016-03-25 20:00:36 +0100 |
---|---|---|
committer | Robert Alessi <alessi@robertalessi.net> | 2016-03-25 20:00:36 +0100 |
commit | c3ebe405380117e05e6f518a9adbfe993286ab89 (patch) | |
tree | 9096c7e5a169e609e4508a77f0f15877c3f1e600 | |
parent | 3935c8e7fae78ab7fc6f52a912e6290b91fe2e92 (diff) | |
download | arabluatex-c3ebe405380117e05e6f518a9adbfe993286ab89.tar.gz |
improved quoting feature in all modes; still documenting
-rw-r--r-- | arabluatex.dtx | 129 | ||||
-rw-r--r-- | arabluatex_fullvoc.lua | 10 | ||||
-rw-r--r-- | arabluatex_novoc.lua | 26 | ||||
-rw-r--r-- | arabluatex_trans.lua | 26 | ||||
-rw-r--r-- | arabluatex_voc.lua | 23 |
5 files changed, 184 insertions, 30 deletions
diff --git a/arabluatex.dtx b/arabluatex.dtx index eff2045..ce814f9 100644 --- a/arabluatex.dtx +++ b/arabluatex.dtx | |||
@@ -36,7 +36,7 @@ | |||
36 | \usepackage{dox} | 36 | \usepackage{dox} |
37 | \doxitem{Option}{option}{options} | 37 | \doxitem{Option}{option}{options} |
38 | \usepackage{fontspec,luatextra,realscripts} | 38 | \usepackage{fontspec,luatextra,realscripts} |
39 | \defaultfontfeatures{RawFeature={+liga}} | 39 | \defaultfontfeatures{RawFeature={+liga;+onum;+hlig}} |
40 | \setmainfont{Libertinus Serif} | 40 | \setmainfont{Libertinus Serif} |
41 | \setsansfont{Libertinus Sans} | 41 | \setsansfont{Libertinus Sans} |
42 | \setmonofont[Scale=.9]{Libertinus Mono} | 42 | \setmonofont[Scale=.9]{Libertinus Mono} |
@@ -604,21 +604,22 @@ consonants, though three of them are also used as vowels | |||
604 | % \arb[fullvoc]{ramaW} \arb[trans]{ramaW}, |banaWA| | 604 | % \arb[fullvoc]{ramaW} \arb[trans]{ramaW}, |banaWA| |
605 | % \arb[fullvoc]{banaWA}, \arb[trans]{banaWA}. | 605 | % \arb[fullvoc]{banaWA}, \arb[trans]{banaWA}. |
606 | % \end{quote} | 606 | % \end{quote} |
607 | % | 607 | % |
608 | % \paragraph{\arb[trans]{'alif ma.h_dUfaT} and defective | 608 | % \paragraph{\arb[trans]{'alif ma.h_dUfaT}and defective \arb[trans]{U, |
609 | % \arb[trans]{U, I}} they are written \meta{\_a, \_i \_u}: | 609 | % I}} They are written \meta{\_a, \_i \_u}: |
610 | % \begin{quote} | 610 | % \begin{quote} |
611 | % |al-l_ahu| \arb[voc]{al-l_ahu} \arb[trans]{al-l_ahu}, |'il_ahuN| | 611 | % |al-l_ahu| \arb[voc]{al-l_ahu} \arb[trans]{al-l_ahu}, |'il_ahuN| |
612 | % \arb[voc]{'il_ahuN} \arb[trans]{'il_ahuN}, |al-ra.hm_anu| | 612 | % \arb[voc]{'il_ahuN} \arb[trans]{'il_ahuN}. |
613 | % \arb[voc]{al-ra.hm_anu} \arb[trans]{al-ra.hm_anu}, |l_akin| | 613 | % |
614 | % \arb[voc]{l_akin} \arb[trans]{l_akin}, |h_ahunA| | 614 | % |al-ra.hm_anu| \arb[voc]{al-ra.hm_anu} \arb[trans]{al-ra.hm_anu}, |
615 | % \arb[voc]{h_ahunA} \arb[trans]{h_ahunA}, | 615 | % |l_akin| \arb[voc]{l_akin} \arb[trans]{l_akin}, |h_ahunA| |
616 | % |.hunaynu| |bnu| |'is.h_aqa| | 616 | % \arb[voc]{h_ahunA} \arb[trans]{h_ahunA}, |.hunaynu| |bnu| |
617 | % \arb[voc]{.hunaynu bnu 'is.h_aqa} \arb[trans]{\cap{.hunaynu} bnu | 617 | % |'is.h_aqa| \arb[voc]{.hunaynu bnu 'is.h_aqa} |
618 | % \cap{'is.h_aqa}}, |rabb_i| \arb[voc]{rabb_i} \arb[trans]{rabb_i}, | 618 | % \arb[trans]{\cap{.hunaynu} bnu \cap{'is.h_aqa}}, |rabb_i| |
619 | % |al-`A.s_i| \arb[voc]{al-`A.s_i} \arb[trans]{al-\cap{`A.s_i}}. | 619 | % \arb[voc]{rabb_i} \arb[trans]{rabb_i}, |al-`A.s_i| |
620 | % \arb[voc]{al-`A.s_i} \arb[trans]{al-\cap{`A.s_i}}. | ||
620 | % \end{quote} | 621 | % \end{quote} |
621 | % | 622 | % |
622 | % \paragraph{Silent \arb[novoc]{U}/\arb[novoc]{I}} | 623 | % \paragraph{Silent \arb[novoc]{U}/\arb[novoc]{I}} |
623 | % Some words ending with \arb[voc]{BAT} are usually written | 624 | % Some words ending with \arb[voc]{BAT} are usually written |
624 | % \arb[voc]{BawT} or \arb[voc]{B_aUT} instead of \arb[voc]{BAT}: see | 625 | % \arb[voc]{BawT} or \arb[voc]{B_aUT} instead of \arb[voc]{BAT}: see |
@@ -1107,6 +1108,106 @@ consonants, though three of them are also used as vowels | |||
1107 | % speaking, it acts as a \emph{toggle switch}. If something, in a | 1108 | % speaking, it acts as a \emph{toggle switch}. If something, in a |
1108 | % given mode, is supposed to be visible, \enquote{quoting} hides it; | 1109 | % given mode, is supposed to be visible, \enquote{quoting} hides it; |
1109 | % conversely, if it is supposed not to, it makes it visible. | 1110 | % conversely, if it is supposed not to, it makes it visible. |
1111 | % | ||
1112 | % As shown above, \enquote{quoting} means inserting one straight | ||
1113 | % double quote (|"|) \emph{before} the letter that is to be acted | ||
1114 | % upon. Its effects depend on the mode which is currently selected, | ||
1115 | % either |novoc|, |voc| or |fullvoc|:--- | ||
1116 | % | ||
1117 | % \paragraph{\texttt{novoc}} In this mode, \enquote{quoting} | ||
1118 | % essentially means make visible something that ought not to be so. | ||
1119 | % \begin{enumerate}[(a)] | ||
1120 | % \item Quoting a vowel, either short or long, makes the | ||
1121 | % \arb[trans]{.dammaT}, \arb[trans]{fat.haT} or \arb[trans]{kasraT} | ||
1122 | % appear above the appropriate consonant:--- | ||
1123 | % \begin{quote} | ||
1124 | % |`"ullima| |`ilma| |'l-hay'aTi| \arb[novoc]{`"ullima `ilma | ||
1125 | % 'l-hay'aTi} \arb[trans]{`"ullima `ilma 'l-hay'aTi}, |ya.gz"UA| | ||
1126 | % \arb[novoc]{ya.gz"UA} \arb[trans]{ya.gz"UA}. | ||
1127 | % \end{quote} | ||
1128 | % \item The same applies when \enquote{quoting} the | ||
1129 | % \arb[trans]{tanwIn}:--- | ||
1130 | % \begin{quote} | ||
1131 | % |wa-'innA| |sawfa| |tudriku-nA| |'l-manAyA| |muqadd"araT"aN| | ||
1132 | % \arb[novoc]{wa-'innA sawfa tudriku-nA 'l-manAyA muqadd"araT"aN}, | ||
1133 | % \arb[trans]{wa-'innA sawfa tudriku-nA 'l-manAyA muqadd"araT"aN}. | ||
1134 | % \end{quote} | ||
1135 | % \item If no vowel follows the straight double quote, then a | ||
1136 | % \arb[trans]{sukUn} is put above the preceding consonant:--- | ||
1137 | % \begin{quote} | ||
1138 | % |qAla isma`"| \arb[novoc]{qAla isma`"} \arb[trans]{qAla isma`"}, | ||
1139 | % |jA'at"| |hinduN| \arb[voc]{jA'at" hinduN} \arb[trans]{jA'at" | ||
1140 | % hinduN}, |^sabIhuN| |bi-man| |q"u.ti`at"| |qadamA-hu| | ||
1141 | % \arb[novoc]{^sabIhuN bi-man q"u.ti`at" qadamA-hu} | ||
1142 | % \arb[trans]{^sabIhuN bi-man q"u.ti`at" qadamA-hu}. | ||
1143 | % \end{quote} | ||
1144 | % \item At the commencement of a word, the straight double quote is | ||
1145 | % interpreted as \arb[trans]{'alifu 'l-wa.sli}:--- | ||
1146 | % \begin{quote} | ||
1147 | % |wa-"ust"u`mila| \arb[novoc]{wa-"ust"u`mila} | ||
1148 | % \arb[trans]{wa-"ust"u`mila}, |huwa| |"inhazama| \arb[novoc]{huwa | ||
1149 | % "inhazama} \arb[trans]{huwa "inhazama}, |al-"intiqA.du| | ||
1150 | % \arb[novoc]{al-"intiqA.du} \arb[trans]{al-"intiqA.du}. | ||
1151 | % \end{quote} | ||
1152 | % \end{enumerate} | ||
1153 | % | ||
1154 | % \paragraph{\texttt{voc}} | ||
1155 | % In accordance with the general rule, in this mode, \enquote{quoting} | ||
1156 | % makes the vowels and the \arb[trans]{tanwIn} disappear, should this | ||
1157 | % feature be required for some reason:--- | ||
1158 | % \begin{enumerate}[(a)] | ||
1159 | % \item Short and long vowels:--- | ||
1160 | % \begin{quote} | ||
1161 | % |q"Ala q"A'iluN| \arb[voc]{q"Ala q"A'iluN} \arb[trans]{q"Ala | ||
1162 | % q"A'iluN}, |ibnu 'abI 'u.saybi`aT"a| \arb[voc]{ibnu 'abI | ||
1163 | % 'u.saybi`aT"a} \arb[trans]{\cap{ibnu} \cap{'abI} | ||
1164 | % \cap{'u.saybi`aT"a}}. | ||
1165 | % \end{quote} | ||
1166 | % \item \arb[trans]{tanwIn}:--- | ||
1167 | % \begin{quote} | ||
1168 | % |madInaT"aN| \arb[voc]{madInaT"aN} \arb[trans]{madInaT"aN}, | ||
1169 | % |bAb"aN| \arb[voc]{bAb"aN} \arb[trans]{bAb"aN}, |hud"aN_A| | ||
1170 | % \arb[voc]{hud"aN_A} \arb[trans]{hud"aN_A}, |^say'"iN| | ||
1171 | % \arb[voc]{^say'"iN} \arb[trans]{^say'"iN}. | ||
1172 | % \end{quote} | ||
1173 | % \end{enumerate} | ||
1174 | % One may more usefully \enquote{quote} the initial vowels to write | ||
1175 | % the \arb[trans]{hamzaT} above the \arb[trans]{'alif} or insert a | ||
1176 | % straight double quote after a consonant not followed by a vowel to | ||
1177 | % make the \arb[trans]{sukUn} appear:--- | ||
1178 | % \begin{enumerate}[(a)] | ||
1179 | % \item \arb[trans]{'alifu 'l-wa.sli}:--- | ||
1180 | % \begin{quote} | ||
1181 | % |fI "istisqA'a| \arb[voc]{fI "istisqA'a} \arb[trans]{fI | ||
1182 | % "istisqA'a}, |wa-"istisqA'u| \arb[voc]{wa-"istisqA'u} | ||
1183 | % \arb[trans]{wa-"istisqA'u}, |qAla| |"uhrub| |fa-lan| |tuqtala| | ||
1184 | % \arb[voc]{qAla "uhrub fa-lan tuqtala} \arb[trans]{qAla "uhrub | ||
1185 | % fa-lan tuqtala}. | ||
1186 | % \end{quote} | ||
1187 | % \item \arb[trans]{sukUn}:--- | ||
1188 | % \begin{quote} | ||
1189 | % |qAla| |uqtul"| |fa-lan| |tuqtala| \arb[voc]{qAla uqtul" fa-lan | ||
1190 | % tuqtala} \arb[trans]{qAla uqtul" fa-lan tuqtala}, |mA| |jA'at"| | ||
1191 | % |mini| |imra'aTiN| \arb[voc]{mA jA'at" mini imra'aTiN} | ||
1192 | % \arb[trans]{mA jA'at" mini imra'aTiN}, |kam"| |qad"| |ma.dat"| | ||
1193 | % |min"| |laylaTiN| \arb[voc]{kam" qad" ma.dat" min" laylaTiN} | ||
1194 | % \arb[trans]{kam" qad" ma.dat" min" laylaTiN}. | ||
1195 | % \end{quote} | ||
1196 | % \end{enumerate} | ||
1197 | % | ||
1198 | % \paragraph{\texttt{fullvoc}} | ||
1199 | % In this mode, \enquote{quoting} may be used to take away any short | ||
1200 | % vowel (or \arb[trans]{tanwIn}, as seen above) or any | ||
1201 | % \arb[trans]{sukUn}:--- | ||
1202 | % \begin{quote} | ||
1203 | % |al-jamru| |'l-.sayfiyyu| |'lla_dI| |kAna| \verb+bi-q"rAn"|nUna+ | ||
1204 | % \arb[fullvoc]{al-jamru 'l-.sayfiyyu 'lla_dI kAna | ||
1205 | % \cap{bi-q"rAn"|nUna}} \arb[trans]{al-jamru 'l-.sayfiyyu 'lla_dI | ||
1206 | % kAna \cap{bi-q"rAn"|nUna}}. | ||
1207 | % \end{quote} | ||
1208 | % | ||
1209 | % \subsubsection{Quoting the \arb[trans]{hamzaT}} | ||
1210 | % \label{sec:quoting-hamza} | ||
1110 | % | 1211 | % |
1111 | % | 1212 | % |
1112 | % \StopEventually{} | 1213 | % \StopEventually{} |
diff --git a/arabluatex_fullvoc.lua b/arabluatex_fullvoc.lua index a849cd1..4d18a81 100644 --- a/arabluatex_fullvoc.lua +++ b/arabluatex_fullvoc.lua | |||
@@ -188,6 +188,16 @@ tanwinfv = { | |||
188 | {a="([^TA])(aN)(%s)([rlmnwy])", b="%1ًا%3%4%4"}, | 188 | {a="([^TA])(aN)(%s)([rlmnwy])", b="%1ًا%3%4%4"}, |
189 | {a="(iN)(%s)([rlmnwy])", b="ٍ%2%3%3"}, | 189 | {a="(iN)(%s)([rlmnwy])", b="ٍ%2%3%3"}, |
190 | -- assimilations (end) | 190 | -- assimilations (end) |
191 | -- quoted tanwīn (begin) | ||
192 | {a="(\"uN)", b=""}, | ||
193 | {a="(B)(\"aN)", b="%1"}, | ||
194 | {a="(\"aN)(_A)", b="ى"}, | ||
195 | {a="(\"aN)(Y)", b="ى"}, | ||
196 | {a="(T)(\"aN)", b="%1"}, | ||
197 | {a="(ء)(\"aN)", b="%1"}, | ||
198 | {a="([^TA])(\"aN)", b="%1ا"}, | ||
199 | {a="(\"iN)", b=""}, | ||
200 | -- quoted tanwīn (end) | ||
191 | {a="(uN)", b="ٌ"}, | 201 | {a="(uN)", b="ٌ"}, |
192 | {a="(B)(aN)", b="%1ً"}, | 202 | {a="(B)(aN)", b="%1ً"}, |
193 | {a="(aN)(_A)", b="ًى"}, | 203 | {a="(aN)(_A)", b="ًى"}, |
diff --git a/arabluatex_novoc.lua b/arabluatex_novoc.lua index 9aa141e..8a5a7ed 100644 --- a/arabluatex_novoc.lua +++ b/arabluatex_novoc.lua | |||
@@ -38,9 +38,12 @@ trigraphsnv = { -- trigraphs or more | |||
38 | {a="^(a)([%_%^%.]?[tdrzsn])%-", b="ا%1ل"}, | 38 | {a="^(a)([%_%^%.]?[tdrzsn])%-", b="ا%1ل"}, |
39 | {a="([%s%-])(a)([%_%^%.]?[tdrzsn])%-", b="%1ا%2ل"}, | 39 | {a="([%s%-])(a)([%_%^%.]?[tdrzsn])%-", b="%1ا%2ل"}, |
40 | -- al- + initial unstable hamza | 40 | -- al- + initial unstable hamza |
41 | {a="^(a)l%-(\")([uai])", b="ا%1لٱ%3"}, | ||
42 | {a="([%s%-])(a)l%-(\")([uai])", b="%1ا%2لٱ%4"}, | ||
41 | {a="^(a)l%-([uai])", b="ا%1لا%2"}, | 43 | {a="^(a)l%-([uai])", b="ا%1لا%2"}, |
42 | {a="([%s%-])(a)l%-([uai])", b="%1ا%2لا%3"}, | 44 | {a="([%s%-])(a)l%-([uai])", b="%1ا%2لا%3"}, |
43 | -- li-/la- + art. + initial unstable hamza is a special orthography | 45 | -- li-/la- + art. + initial unstable hamza is a special orthography |
46 | {a="l([ai])%-l%-(\")([uai])", b="ل%1لٱ%3"}, | ||
44 | {a="l([ai])%-l%-([uai])", b="ل%1لا%2"}, | 47 | {a="l([ai])%-l%-([uai])", b="ل%1لا%2"}, |
45 | -- al- + lunar consonant (i.e. what remains) | 48 | -- al- + lunar consonant (i.e. what remains) |
46 | {a="^(a)l%-", b="ا%1ل"}, | 49 | {a="^(a)l%-", b="ا%1ل"}, |
@@ -58,6 +61,7 @@ trigraphsnv = { -- trigraphs or more | |||
58 | -- li-/la + assim. art. + solar consonant is a special orthography | 61 | -- li-/la + assim. art. + solar consonant is a special orthography |
59 | {a="l([ai])%-([%_%^%.]?[tdrzsn])%-([%_%^%.]?[tdrzsn])", b="ل%1ل%3"}, | 62 | {a="l([ai])%-([%_%^%.]?[tdrzsn])%-([%_%^%.]?[tdrzsn])", b="ل%1ل%3"}, |
60 | -- art. with waṣla + initial unstable hamza | 63 | -- art. with waṣla + initial unstable hamza |
64 | {a="'l%-(\")([uai])", b="الٱ%2"}, | ||
61 | {a="'l%-([uai])", b="الا%1"}, | 65 | {a="'l%-([uai])", b="الا%1"}, |
62 | -- art. with waṣla + lunar consonant (i.e. what remains) | 66 | -- art. with waṣla + lunar consonant (i.e. what remains) |
63 | {a="'l%-", b="ال"}, | 67 | {a="'l%-", b="ال"}, |
@@ -86,7 +90,17 @@ tanwinnv = { | |||
86 | -- {a="(ء)(aN)(%s)([rlmnwy])", b="%1%3%4%4"}, | 90 | -- {a="(ء)(aN)(%s)([rlmnwy])", b="%1%3%4%4"}, |
87 | -- {a="([^TA])(aN)(%s)([rlmnwy])", b="%1ا%3%4%4"}, | 91 | -- {a="([^TA])(aN)(%s)([rlmnwy])", b="%1ا%3%4%4"}, |
88 | -- {a="(iN)(%s)([rlmnwy])", b="|%2%3%3"}, | 92 | -- {a="(iN)(%s)([rlmnwy])", b="|%2%3%3"}, |
89 | --assimilations (end) | 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) | ||
90 | {a="(uN)", b=""}, | 104 | {a="(uN)", b=""}, |
91 | {a="(B)(aN)", b="%1"}, | 105 | {a="(B)(aN)", b="%1"}, |
92 | {a="(aN)(_A)", b="ى"}, | 106 | {a="(aN)(_A)", b="ى"}, |
@@ -94,10 +108,18 @@ tanwinnv = { | |||
94 | {a="(T)(aN)", b="%1"}, | 108 | {a="(T)(aN)", b="%1"}, |
95 | {a="(ء)(aN)", b="%1"}, | 109 | {a="(ء)(aN)", b="%1"}, |
96 | {a="([^TA])(aN)", b="%1ا"}, | 110 | {a="([^TA])(aN)", b="%1ا"}, |
97 | {a="(iN)", b=""} | 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ٱ"} | ||
98 | } | 116 | } |
99 | 117 | ||
100 | longvnv = { | 118 | longvnv = { |
119 | {a="\"A", b="َا"}, | ||
120 | {a="\"U", b="ُو"}, | ||
121 | {a="\"I", b="ِي"}, | ||
122 | {a="\"Y", b="aى"}, | ||
101 | {a="A", b="ا"}, | 123 | {a="A", b="ا"}, |
102 | {a="U", b="و"}, | 124 | {a="U", b="و"}, |
103 | {a="I", b="ي"}, | 125 | {a="I", b="ي"}, |
diff --git a/arabluatex_trans.lua b/arabluatex_trans.lua index 684977a..46dbc33 100644 --- a/arabluatex_trans.lua +++ b/arabluatex_trans.lua | |||
@@ -158,20 +158,20 @@ tanwintrdmg = { | |||
158 | {a="uN", b="un"}, | 158 | {a="uN", b="un"}, |
159 | {a="(aN)(_A)", b="an"}, | 159 | {a="(aN)(_A)", b="an"}, |
160 | {a="(aN)(Y)", b="an"}, | 160 | {a="(aN)(Y)", b="an"}, |
161 | {a="(T)(aN)", b="tan"}, | 161 | {a="(T)(\"?aN)", b="tan"}, |
162 | {a="([^TA])(aN)", b="%1an"}, | 162 | {a="([^TA])(\"?aN)", b="%1an"}, |
163 | {a="iN", b="in"} | 163 | {a="iN", b="in"} |
164 | } | 164 | } |
165 | 165 | ||
166 | digraphstrdmg = { | 166 | digraphstrdmg = { |
167 | {a="([uai]%-)([uai])", b="%1'"}, -- hyphen + initial alif without hamza | 167 | {a="([uai]%-)(\"?[uai])", b="%1'"}, -- hyphen + initial alif without hamza |
168 | {a="^([uai])", b="%1"}, -- initial alif without hamza | 168 | {a="^(\"?[uai])", b="%1"}, -- initial alif without hamza |
169 | -- {a="([%_]?[uaiUAIY])(%s)([uai])", b="%1%2'"}, -- initial alif without hamza | 169 | -- {a="([%_]?[uaiUAIY])(%s)([uai])", b="%1%2'"}, -- initial alif without hamza |
170 | {a="(aW)(%s)([uai])", b="awu%2%3"}, | 170 | {a="(aW)(%s)(\"?[uai])", b="awu%2%3"}, |
171 | {a="([^%_][uai])(%s)([uai])", b="%1%2'"}, | 171 | {a="([^%_][uai])(%s)(\"?[uai])", b="%1%2'"}, |
172 | {a="([%_]?[AYa])(%s)([uai])", b="a%2'"}, | 172 | {a="([%_]?[AYa])(%s)(\"?[uai])", b="a%2'"}, |
173 | {a="([%_]?[Uu])(%s)([uai])", b="u%2'"}, | 173 | {a="([%_]?[Uu])(%s)(\"?[uai])", b="u%2'"}, |
174 | {a="([%_]?[Ii])(%s)([uai])", b="i%2'"}, | 174 | {a="([%_]?[Ii])(%s)(\"?[uai])", b="i%2'"}, |
175 | -- shorten long vowels preceding ʾalif conjunctionis | 175 | -- shorten long vowels preceding ʾalif conjunctionis |
176 | {a="(U)(A)", b="U"}, | 176 | {a="(U)(A)", b="U"}, |
177 | {a="(aW)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="awu%2%3"}, | 177 | {a="(aW)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="awu%2%3"}, |
@@ -179,7 +179,7 @@ digraphstrdmg = { | |||
179 | {a="([%_]?[Uu])(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="u%2%3"}, | 179 | {a="([%_]?[Uu])(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="u%2%3"}, |
180 | {a="([%_]?[Ii])(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="i%2%3"}, | 180 | {a="([%_]?[Ii])(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="i%2%3"}, |
181 | {a="%-%-", b=""}, | 181 | {a="%-%-", b=""}, |
182 | {a="T([^uai])", b="%1"}, | 182 | -- {a="T([^uai])", b="%1"}, |
183 | {a="T(%s)", b="%1"}, | 183 | {a="T(%s)", b="%1"}, |
184 | {a="T$", b=""}, | 184 | {a="T$", b=""}, |
185 | {a="_t", b="ṯ"}, | 185 | {a="_t", b="ṯ"}, |
@@ -359,8 +359,8 @@ tanwintrloc = { | |||
359 | {a="uN", b="un"}, | 359 | {a="uN", b="un"}, |
360 | {a="(aN)(_A)", b="an"}, | 360 | {a="(aN)(_A)", b="an"}, |
361 | {a="(aN)(Y)", b="an"}, | 361 | {a="(aN)(Y)", b="an"}, |
362 | {a="(T)(aN)", b="tan"}, | 362 | {a="(T)(\"?aN)", b="tan"}, |
363 | {a="([^TA])(aN)", b="%1an"}, | 363 | {a="([^TA])(\"?aN)", b="%1an"}, |
364 | {a="iN", b="in"} | 364 | {a="iN", b="in"} |
365 | } | 365 | } |
366 | 366 | ||
@@ -372,7 +372,7 @@ digraphstrloc = { | |||
372 | {a="uww", b="ūw"}, | 372 | {a="uww", b="ūw"}, |
373 | {a="iyy", b="īy"}, | 373 | {a="iyy", b="īy"}, |
374 | {a="([tkdsg])(h)", b="%1'%2"}, | 374 | {a="([tkdsg])(h)", b="%1'%2"}, |
375 | {a="T([^uai])", b="h%1"}, | 375 | -- {a="T([^uai])", b="h%1"}, |
376 | {a="T$", b="h"}, | 376 | {a="T$", b="h"}, |
377 | {a="T(%W)", b="h%1"}, | 377 | {a="T(%W)", b="h%1"}, |
378 | {a="_t", b="th"}, | 378 | {a="_t", b="th"}, |
diff --git a/arabluatex_voc.lua b/arabluatex_voc.lua index ecdb067..f40c405 100644 --- a/arabluatex_voc.lua +++ b/arabluatex_voc.lua | |||
@@ -162,9 +162,12 @@ trigraphs = { -- trigraphs or more | |||
162 | {a="^(a)([%_%^%.]?[tdrzsn])%-", b="ا%1ل%2"}, | 162 | {a="^(a)([%_%^%.]?[tdrzsn])%-", b="ا%1ل%2"}, |
163 | {a="([%s%-])(a)([%_%^%.]?[tdrzsn])%-", b="%1ا%2ل%3"}, | 163 | {a="([%s%-])(a)([%_%^%.]?[tdrzsn])%-", b="%1ا%2ل%3"}, |
164 | -- al- + initial unstable hamza | 164 | -- al- + initial unstable hamza |
165 | {a="^(a)l%-(\")([uai])", b="ا%1لٱ%3"}, | ||
166 | {a="([%s%-])(a)l%-(\")([uai])", b="%1ا%2لٱ%4"}, | ||
165 | {a="^(a)l%-([uai])", b="ا%1لا%2"}, | 167 | {a="^(a)l%-([uai])", b="ا%1لا%2"}, |
166 | {a="([%s%-])(a)l%-([uai])", b="%1ا%2لا%3"}, | 168 | {a="([%s%-])(a)l%-([uai])", b="%1ا%2لا%3"}, |
167 | -- li-/la- + art. + initial unstable hamza is a special orthography | 169 | -- li-/la- + art. + initial unstable hamza is a special orthography |
170 | {a="l([ai])%-l%-(\")([uai])", b="ل%1لٱ%3"}, | ||
168 | {a="l([ai])%-l%-([uai])", b="ل%1لا%2"}, | 171 | {a="l([ai])%-l%-([uai])", b="ل%1لا%2"}, |
169 | -- al- + lunar consonant (i.e. what remains) | 172 | -- al- + lunar consonant (i.e. what remains) |
170 | {a="^(a)l%-", b="ا%1ل"}, | 173 | {a="^(a)l%-", b="ا%1ل"}, |
@@ -186,6 +189,7 @@ trigraphs = { -- trigraphs or more | |||
186 | -- li-/la + assim. art. + solar consonant is a special orthography | 189 | -- li-/la + assim. art. + solar consonant is a special orthography |
187 | {a="l([ai])%-([%_%^%.]?[tdrzsn])%-([%_%^%.]?[tdrzsn])", b="ل%1ل%3%3"}, | 190 | {a="l([ai])%-([%_%^%.]?[tdrzsn])%-([%_%^%.]?[tdrzsn])", b="ل%1ل%3%3"}, |
188 | -- art. with waṣla + initial unstable hamza | 191 | -- art. with waṣla + initial unstable hamza |
192 | {a="'l%-(\")([uai])", b="الٱ%2"}, | ||
189 | {a="'l%-([uai])", b="الا%1"}, | 193 | {a="'l%-([uai])", b="الا%1"}, |
190 | -- art. with waṣla + lunar consonant (i.e. what remains) | 194 | -- art. with waṣla + lunar consonant (i.e. what remains) |
191 | {a="'l%-", b="ال"}, | 195 | {a="'l%-", b="ال"}, |
@@ -217,6 +221,16 @@ tanwin = { | |||
217 | {a="([^TA])(aN)(%s)([rlmnwy])", b="%1ًا%3%4%4"}, | 221 | {a="([^TA])(aN)(%s)([rlmnwy])", b="%1ًا%3%4%4"}, |
218 | {a="(iN)(%s)([rlmnwy])", b="ٍ%2%3%3"}, | 222 | {a="(iN)(%s)([rlmnwy])", b="ٍ%2%3%3"}, |
219 | -- assimilations (end) | 223 | -- assimilations (end) |
224 | -- quoted tanwīn (begin) | ||
225 | {a="(\"uN)", b=""}, | ||
226 | {a="(B)(\"aN)", b="%1"}, | ||
227 | {a="(\"aN)(_A)", b="ى"}, | ||
228 | {a="(\"aN)(Y)", b="ى"}, | ||
229 | {a="(T)(\"aN)", b="%1"}, | ||
230 | {a="(ء)(\"aN)", b="%1"}, | ||
231 | {a="([^TA])(\"aN)", b="%1ا"}, | ||
232 | {a="(\"iN)", b=""}, | ||
233 | -- quoted tanwīn (end) | ||
220 | {a="(uN)", b="ٌ"}, | 234 | {a="(uN)", b="ٌ"}, |
221 | {a="(B)(aN)", b="%1ً"}, | 235 | {a="(B)(aN)", b="%1ً"}, |
222 | {a="(aN)(_A)", b="ًى"}, | 236 | {a="(aN)(_A)", b="ًى"}, |
@@ -228,6 +242,9 @@ tanwin = { | |||
228 | } | 242 | } |
229 | 243 | ||
230 | digraphs = { | 244 | digraphs = { |
245 | -- initial straight double quote gives a connective ʾalif | ||
246 | {a="^\"[uai]", b="ٱ"}, | ||
247 | {a="([%s%-])\"[uai]", b="%1ٱ"}, | ||
231 | {a="(aW)(%s)([uai])", b="awuا%2%3"}, | 248 | {a="(aW)(%s)([uai])", b="awuا%2%3"}, |
232 | {a="(%-)([uai])", b="%1ا%2"}, -- hyphen + initial alif without hamza | 249 | {a="(%-)([uai])", b="%1ا%2"}, -- hyphen + initial alif without hamza |
233 | {a="^([uai])", b="ا%1"}, -- initial alif without hamza | 250 | {a="^([uai])", b="ا%1"}, -- initial alif without hamza |
@@ -320,10 +337,14 @@ single = { | |||
320 | } | 337 | } |
321 | 338 | ||
322 | longv = { | 339 | longv = { |
340 | {a="\"A", b="ا"}, | ||
341 | {a="\"U", b="و"}, | ||
342 | {a="\"I", b="ي"}, | ||
343 | {a="\"Y", b="ى"}, | ||
323 | {a="A", b="َا"}, | 344 | {a="A", b="َا"}, |
324 | {a="U", b="ُو"}, | 345 | {a="U", b="ُو"}, |
325 | {a="I", b="ِي"}, | 346 | {a="I", b="ِي"}, |
326 | {a="Y", b="aى"}, | 347 | {a="Y", b="aى"} |
327 | } | 348 | } |
328 | 349 | ||
329 | shortv = { | 350 | shortv = { |