diff options
Diffstat (limited to 'arabluatex_trans.lua')
-rw-r--r-- | arabluatex_trans.lua | 203 |
1 files changed, 146 insertions, 57 deletions
diff --git a/arabluatex_trans.lua b/arabluatex_trans.lua index 455b57b..c3c21e1 100644 --- a/arabluatex_trans.lua +++ b/arabluatex_trans.lua | |||
@@ -2,24 +2,23 @@ | |||
2 | This file is part of the `arabluatex' package | 2 | This file is part of the `arabluatex' package |
3 | 3 | ||
4 | ArabLuaTeX -- Processing ArabTeX notation under LuaLaTeX | 4 | ArabLuaTeX -- Processing ArabTeX notation under LuaLaTeX |
5 | Copyright (C) 2016--2020 Robert Alessi | 5 | Copyright (C) 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 |
6 | Robert Alessi <alessi@robertalessi.net> | ||
6 | 7 | ||
7 | Please send error reports and suggestions for improvements to Robert | 8 | Permission to use, copy, modify, and distribute this software for any |
8 | Alessi <alessi@robertalessi.net> | 9 | purpose with or without fee is hereby granted, provided that the above |
9 | 10 | copyright notice and this permission notice appear in all copies. | |
10 | This program is free software: you can redistribute it and/or modify | ||
11 | it under the terms of the GNU General Public License as published by | ||
12 | the Free Software Foundation, either version 3 of the License, or | ||
13 | (at your option) any later version. | ||
14 | 11 | ||
15 | This program is distributed in the hope that it will be useful, but | 12 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES |
16 | WITHOUT ANY WARRANTY; without even the implied warranty of | 13 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF |
17 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | 14 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR |
18 | General Public License for more details. | 15 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
16 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | ||
17 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF | ||
18 | OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | ||
19 | 19 | ||
20 | You should have received a copy of the GNU General Public License | 20 | Please send error reports and suggestions for improvements to Robert |
21 | along with this program. If not, see | 21 | Alessi <alessi@robertalessi.net> |
22 | <http://www.gnu.org/licenses/>. | ||
23 | --]] | 22 | --]] |
24 | 23 | ||
25 | -- common | 24 | -- common |
@@ -202,6 +201,91 @@ hamzatrdmg = { | |||
202 | {a="(i)(')([^uaiUAI])", b="%1ʾ%3"} | 201 | {a="(i)(')([^uaiUAI])", b="%1ʾ%3"} |
203 | } | 202 | } |
204 | 203 | ||
204 | hamzatrnoinitialdmg = { | ||
205 | -- next lines for ʾalif alone | ||
206 | {a="(%.A)l%-(%^n)", b=".|l-%2"}, --additional (^n is lunar) | ||
207 | {a="([%(%[%|%<%s%-O])(%.A)l%-(%^n)", b="%1.|l-%3"}, --additional (^n is lunar) --p | ||
208 | {a="(%.A)l%-([%_%^%.]?[tdrzsnc])", b=".|%2-%2"}, | ||
209 | {a="([%(%[%|%<%s%-O])(%.A)l%-([%_%^%.]?[tdrzsnc])", b="%1.|%3-%3"}, --p | ||
210 | {a="(%.A)([uai])l%-(%^n)", b="||%2l-%3"}, --additional (^n is lunar) | ||
211 | {a="([%(%[%|%<%s%-O])(%.A)([uai])l%-(%^n)", b="%1||%3l-%4"}, --additional (^n is lunar) --p | ||
212 | {a="(%.A)([uai])l%-([%_%^%.]?[tdrzsnc])", b="||%2%3-%3"}, | ||
213 | {a="([%(%[%|%<%s%-O])(%.A)([uai])l%-([%_%^%.]?[tdrzsnc])", b="%1||%3%4-%4"}, --p | ||
214 | {a="(%.A)([^uai])", b=".|%2"}, | ||
215 | {a="(%.A)([uai])", b="||%2"}, | ||
216 | -- hard coded hamza | ||
217 | {a="|\"'", b="ʾ"}, | ||
218 | {a="A\"'", b="ʾA"}, | ||
219 | {a="[au]\"'", b="ʾ"}, | ||
220 | {a="w\"'", b="ʾ"}, | ||
221 | {a="i\"'", b="ʾ"}, | ||
222 | {a="y\"'", b="ʾ"}, | ||
223 | -- hamza takes tašdīd too | ||
224 | {a="''([Uu])", b="ʾʾ%1"}, | ||
225 | {a="''([Aa])", b="ʾʾ%1"}, | ||
226 | {a="''([Ii])", b="ʾʾ%1"}, | ||
227 | -- initial long u and i (for a, see below) | ||
228 | {a="%'%_U", b="||U"}, | ||
229 | {a="%'%_I", b="||I"}, | ||
230 | -- taḫfīfu 'l-hamza | ||
231 | {a="'u'([^uaiUAI])", b="|U%1"}, | ||
232 | {a="'i'([^uaiUAI])", b="|I%1"}, | ||
233 | {a="^u'([^uaiUAI])", b="U%1"}, | ||
234 | {a="([^uaiUAIYN][%s%(%[%<])u'([^uaiUAI])", b="%1U%2"}, | ||
235 | {a="^i'([^uaiUAI])", b="I%1"}, | ||
236 | {a="([^uaiUAIYN][%s%(%[%<])i'([^uaiUAI])", b="%1I%2"}, | ||
237 | -- madda (historic writing below) | ||
238 | {a="'a'([^uaiUAI])", b="ʾA%1"}, | ||
239 | {a="'a?A", b="ʾA"}, | ||
240 | {a="(A)(')(i)$", b="%1ʾ%3"}, | ||
241 | {a="(A)(')(i)(%W)", b="%1ʾ%3%4"}, | ||
242 | {a="(A)(')(i)", b="%1ʾ%3"}, -- historic madda | ||
243 | {a="(A)(')", b="%1ʾ"}, -- historic madda | ||
244 | -- initial (needs both ^ and %W patterns) | ||
245 | -- 'aw: the diphthong is to be resolved into 'awi' (next 8 lines) | ||
246 | {a="^('aw)(O)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-O)", b="%1i"}, | ||
247 | {a="(%W)('aw)(O)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-O)", b="%1%2i"}, | ||
248 | {a="^('aw)(O)(\"?[uai])([%S]-O)", b="%1i"}, | ||
249 | {a="(%W)('aw)(O)(\"?[uai])([%S]-O)", b="%1%2i"}, | ||
250 | {a="^('aw)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1i%2%3"}, | ||
251 | {a="(%W)('aw)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1%2i%3%4"}, | ||
252 | {a="^('aw)(%s)([%(%[%|%<]?\"?[uai])", b="%1i%2%3"}, --p | ||
253 | {a="(%W)('aw)(%s)([%(%[%|%<]?\"?[uai])", b="%1%2i%3%4"}, --p | ||
254 | -- then the 'initial' rules for the remaining cases | ||
255 | {a="^(')([ua])", b="||%2"}, | ||
256 | {a="^(')(i)", b="||%2"}, | ||
257 | -- consider replacing initial %W with [%s%(%[%<%-]: | ||
258 | -- {a="(%W)(')([ua])", b="%1||%3"}, | ||
259 | -- {a="(%W)(')(i)", b="%1||%3"}, | ||
260 | {a="([%s%(%[%<%-])(')([ua])", b="%1||%3"}, | ||
261 | {a="([%s%(%[%<%-])(')(i)", b="%1||%3"}, | ||
262 | -- final | ||
263 | {a="([Iy])(')(aN)$", b="%1ʾ%3"}, | ||
264 | {a="([Iy])(')(aN)(%W)", b="%1ʾ%3%4"}, | ||
265 | {a="([^uai])(')([uai]N?)$", b="%1ʾ%3"}, | ||
266 | {a="([^uai])(')([uai]N?)(%W)", b="%1ʾ%3%4"}, | ||
267 | {a="([UI])(')([uai])$", b="%1ʾ%3"}, | ||
268 | {a="([UI])(')([uai])(%W)", b="%1ʾ%3%4"}, | ||
269 | -- middle | ||
270 | {a="(U)(')", b="%1ʾ"}, | ||
271 | {a="([Iy])(')", b="%1ʾ"}, | ||
272 | {a="([^uai])(')([uU])", b="%1ʾ%3"}, | ||
273 | {a="([^uai])(')(%_?[aAY])", b="%1ʾ%3"}, | ||
274 | {a="([^uai])(')([iI])", b="%1ʾ%3"}, | ||
275 | {a="(u)(')([uU])", b="%1ʾ%3"}, | ||
276 | {a="(u)(')(%_?[aAY])", b="%1ʾ%3"}, | ||
277 | {a="(u)(')([iI])", b="%1ʾ%3"}, | ||
278 | {a="(a)(')(%_?[aAY])", b="%1ʾ%3"}, | ||
279 | {a="(a)(')([uU])", b="%1ʾ%3"}, | ||
280 | {a="(a)(')([iI])", b="%1ʾ%3"}, | ||
281 | {a="(i)(')(%_?[aAY])", b="%1ʾ%3"}, | ||
282 | {a="(i)(')([uU])", b="%1ʾ%3"}, | ||
283 | {a="(i)(')([iI])", b="%1ʾ%3"}, | ||
284 | {a="(a)(')([^uaiUAI])", b="%1ʾ%3"}, | ||
285 | {a="(u)(')([^uaiUAI])", b="%1ʾ%3"}, | ||
286 | {a="(i)(')([^uaiUAI])", b="%1ʾ%3"} | ||
287 | } | ||
288 | |||
205 | tanwintrdmg = { | 289 | tanwintrdmg = { |
206 | {a="%-?([uai]NU)(O)([ui])([%S]-O)", b="\\arbup{un%3}"}, | 290 | {a="%-?([uai]NU)(O)([ui])([%S]-O)", b="\\arbup{un%3}"}, |
207 | {a="%-?([uai]NU)(%s)([ui])", b="\\arbup{un%3}%2'"}, | 291 | {a="%-?([uai]NU)(%s)([ui])", b="\\arbup{un%3}%2'"}, |
@@ -216,41 +300,41 @@ tanwintrdmg = { | |||
216 | {a="%-?(uN)(O)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-O)", b="\\arbup{uni}"}, | 300 | {a="%-?(uN)(O)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-O)", b="\\arbup{uni}"}, |
217 | {a="%-?(aN)(_A)(O)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-O)", b="ạ\\arbup{ni}"}, | 301 | {a="%-?(aN)(_A)(O)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-O)", b="ạ\\arbup{ni}"}, |
218 | {a="%-?(aN)(Y)(O)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-O)", b="ạ\\arbup{ni}"}, | 302 | {a="%-?(aN)(Y)(O)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-O)", b="ạ\\arbup{ni}"}, |
219 | {a="(T)%-?(aN)(O)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-O)", b="t\\arbup{ani}"}, | 303 | {a="([TH])%-?(aN)(O)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-O)", b="t\\arbup{ani}"}, |
220 | {a="([^TA])%-?(aN)(O)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-O)", b="%1\\arbup{ani}"}, | 304 | {a="([^TAH])%-?(aN)(O)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-O)", b="%1\\arbup{ani}"}, |
221 | {a="%-?(iN)(O)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-O)", b="\\arbup{ini}"}, | 305 | {a="%-?(iN)(O)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-O)", b="\\arbup{ini}"}, |
222 | {a="%-?(uN)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="\\arbup{uni}%2%3"}, | 306 | {a="%-?(uN)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="\\arbup{uni}%2%3"}, |
223 | {a="%-?(aN)(_A)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="ạ\\arbup{ni}%3%4"}, | 307 | {a="%-?(aN)(_A)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="ạ\\arbup{ni}%3%4"}, |
224 | {a="%-?(aN)(Y)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="ạ\\arbup{ni}%3%4"}, | 308 | {a="%-?(aN)(Y)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="ạ\\arbup{ni}%3%4"}, |
225 | {a="(T)%-?(aN)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="t\\arbup{ani}%3%4"}, | 309 | {a="([TH])%-?(aN)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="t\\arbup{ani}%3%4"}, |
226 | {a="([^TA])%-?(aN)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1\\arbup{ani}%3%4"}, | 310 | {a="([^TAH])%-?(aN)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1\\arbup{ani}%3%4"}, |
227 | {a="%-?(iN)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="\\arbup{ini}%2%3"}, | 311 | {a="%-?(iN)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="\\arbup{ini}%2%3"}, |
228 | -- tanwīn preceding 'lla_dI/'llatI | 312 | -- tanwīn preceding 'lla_dI/'llatI |
229 | {a="%-?(uN)(O)('lla[%_]?[dt])([%S]-O)", b="\\arbup{uni}"}, | 313 | {a="%-?(uN)(O)('lla[%_]?[dt])([%S]-O)", b="\\arbup{uni}"}, |
230 | {a="%-?(aN)(_A)(O)('lla[%_]?[dt])([%S]-O)", b="ạ\\arbup{ni}"}, | 314 | {a="%-?(aN)(_A)(O)('lla[%_]?[dt])([%S]-O)", b="ạ\\arbup{ni}"}, |
231 | {a="%-?(aN)(Y)(O)('lla[%_]?[dt])([%S]-O)", b="ạ\\arbup{ni}"}, | 315 | {a="%-?(aN)(Y)(O)('lla[%_]?[dt])([%S]-O)", b="ạ\\arbup{ni}"}, |
232 | {a="(T)%-?(aN)(O)('lla[%_]?[dt])([%S]-O)", b="t\\arbup{ani}"}, | 316 | {a="([TH])%-?(aN)(O)('lla[%_]?[dt])([%S]-O)", b="t\\arbup{ani}"}, |
233 | {a="([^TA])%-?(aN)(O)('lla[%_]?[dt])([%S]-O)", b="%1\\arbup{ani}"}, | 317 | {a="([^TAH])%-?(aN)(O)('lla[%_]?[dt])([%S]-O)", b="%1\\arbup{ani}"}, |
234 | {a="%-?(iN)(O)('lla[%_]?[dt])([%S]-O)", b="\\arbup{ini}"}, | 318 | {a="%-?(iN)(O)('lla[%_]?[dt])([%S]-O)", b="\\arbup{ini}"}, |
235 | {a="%-?(uN)(%s)('lla[%_]?[dt])", b="\\arbup{uni}%2%3"}, | 319 | {a="%-?(uN)(%s)('lla[%_]?[dt])", b="\\arbup{uni}%2%3"}, |
236 | {a="%-?(aN)(_A)(%s)('lla[%_]?[dt])", b="ạ\\arbup{ni}%3%4"}, | 320 | {a="%-?(aN)(_A)(%s)('lla[%_]?[dt])", b="ạ\\arbup{ni}%3%4"}, |
237 | {a="%-?(aN)(Y)(%s)('lla[%_]?[dt])", b="ạ\\arbup{ni}%3%4"}, | 321 | {a="%-?(aN)(Y)(%s)('lla[%_]?[dt])", b="ạ\\arbup{ni}%3%4"}, |
238 | {a="(T)%-?(aN)(%s)('lla[%_]?[dt])", b="t\\arbup{ani}%3%4"}, | 322 | {a="([TH])%-?(aN)(%s)('lla[%_]?[dt])", b="t\\arbup{ani}%3%4"}, |
239 | {a="([^TA])%-?(aN)(%s)('lla[%_]?[dt])", b="%1\\arbup{ani}%3%4"}, | 323 | {a="([^TAH])%-?(aN)(%s)('lla[%_]?[dt])", b="%1\\arbup{ani}%3%4"}, |
240 | {a="%-?(iN)(%s)('lla[%_]?[dt])", b="\\arbup{ini}%2%3"}, | 324 | {a="%-?(iN)(%s)('lla[%_]?[dt])", b="\\arbup{ini}%2%3"}, |
241 | -- tanwīn + alif without hamza and kasra (ibn) or dhamma (uhrub) | 325 | -- tanwīn + alif without hamza and kasra (ibn) or dhamma (uhrub) |
242 | {a="%-?(uN)(O)([ui])([%S]-O)", b="\\arbup{un%3}"}, | 326 | {a="%-?(uN)(O)([ui])([%S]-O)", b="\\arbup{un%3}"}, |
243 | {a="%-?(aN)(_A)(O)([ui])([%S]-O)", b="ạ\\arbup{n%4}"}, | 327 | {a="%-?(aN)(_A)(O)([ui])([%S]-O)", b="ạ\\arbup{n%4}"}, |
244 | {a="%-?(aN)(Y)(O)([ui])([%S]-O)", b="ạ\\arbup{n%4}"}, | 328 | {a="%-?(aN)(Y)(O)([ui])([%S]-O)", b="ạ\\arbup{n%4}"}, |
245 | {a="(T)%-?(aN)(O)([ui])([%S]-O)", b="t\\arbup{an%4}"}, | 329 | {a="([TH])%-?(aN)(O)([ui])([%S]-O)", b="t\\arbup{an%4}"}, |
246 | {a="([^TA])%-?(aN)(O)([ui])([%S]-O)", b="%1\\arbup{an%4}"}, | 330 | {a="([^TAH])%-?(aN)(O)([ui])([%S]-O)", b="%1\\arbup{an%4}"}, |
247 | {a="%-?(iN)(O)([ui])([%S]-O)", b="\\arbup{in%3}"}, | 331 | {a="%-?(iN)(O)([ui])([%S]-O)", b="\\arbup{in%3}"}, |
248 | {a="(O[%S]-)([uai]N)(O)(\"?[ui])", b="'"}, | 332 | {a="(O[%S]-)([uai]N)(O)(\"?[ui])", b="'"}, |
249 | {a="%-?(uN)(%s)([ui])", b="\\arbup{un%3}%2'"}, | 333 | {a="%-?(uN)(%s)([ui])", b="\\arbup{un%3}%2'"}, |
250 | {a="%-?(aN)(_A)(%s)([ui])", b="ạ\\arbup{n%4}%3'"}, | 334 | {a="%-?(aN)(_A)(%s)([ui])", b="ạ\\arbup{n%4}%3'"}, |
251 | {a="%-?(aN)(Y)(%s)([ui])", b="ạ\\arbup{n%4}%3'"}, | 335 | {a="%-?(aN)(Y)(%s)([ui])", b="ạ\\arbup{n%4}%3'"}, |
252 | {a="(T)%-?(aN)(%s)([ui])", b="t\\arbup{an%4}%3'"}, | 336 | {a="([TH])%-?(aN)(%s)([ui])", b="t\\arbup{an%4}%3'"}, |
253 | {a="([^TA])%-?(aN)(%s)([ui])", b="%1\\arbup{an%4}%3'"}, | 337 | {a="([^TAH])%-?(aN)(%s)([ui])", b="%1\\arbup{an%4}%3'"}, |
254 | {a="%-?(iN)(%s)([ui])", b="\\arbup{in%3}%2'"}, | 338 | {a="%-?(iN)(%s)([ui])", b="\\arbup{in%3}%2'"}, |
255 | -- | 339 | -- |
256 | -- {a="uN", b="\\arbup{un}"}, (now included in the last line of this table) | 340 | -- {a="uN", b="\\arbup{un}"}, (now included in the last line of this table) |
@@ -258,13 +342,13 @@ tanwintrdmg = { | |||
258 | -- needed by \arbcolor: | 342 | -- needed by \arbcolor: |
259 | {a="%-?(aN)(O[%S]-%_AO)", b="ạ\\arbup{n}"}, | 343 | {a="%-?(aN)(O[%S]-%_AO)", b="ạ\\arbup{n}"}, |
260 | {a="%-?(aN)(O[%S]-YO)", b="ạ\\arbup{n}"}, | 344 | {a="%-?(aN)(O[%S]-YO)", b="ạ\\arbup{n}"}, |
261 | {a="(O[%S]-TO)%-?(\"?aN)", b="\\arbup{an}"}, | 345 | {a="(O[%S]-[TH]O)%-?(\"?aN)", b="\\arbup{an}"}, |
262 | {a="(O[%S]-[^TA]O)%-?(\"?aN)", b="\\arbup{an}"}, | 346 | {a="(O[%S]-[^TAH]O)%-?(\"?aN)", b="\\arbup{an}"}, |
263 | -- | 347 | -- |
264 | {a="%-?(aN)(_A)", b="ạ\\arbup{n}"}, | 348 | {a="%-?(aN)(_A)", b="ạ\\arbup{n}"}, |
265 | {a="%-?(aN)(Y)", b="ạ\\arbup{n}"}, | 349 | {a="%-?(aN)(Y)", b="ạ\\arbup{n}"}, |
266 | {a="(T)%-?(\"?aN)", b="t\\arbup{an}"}, | 350 | {a="([TH])%-?(\"?aN)", b="t\\arbup{an}"}, |
267 | {a="([^TA])%-?(\"?aN)", b="%1\\arbup{an}"}, | 351 | {a="([^TAH])%-?(\"?aN)", b="%1\\arbup{an}"}, |
268 | {a="%-?([ui])N", b="\\arbup{%1n}"} | 352 | {a="%-?([ui])N", b="\\arbup{%1n}"} |
269 | } | 353 | } |
270 | 354 | ||
@@ -414,18 +498,20 @@ digraphstrdmg = { | |||
414 | {a="([%_]?[Uu])(%s)([%(%[%|%<]?['][%_%^%.]?[l'btjghxdrzs`fqkmnwy][%-l])", b="u%2%3"}, | 498 | {a="([%_]?[Uu])(%s)([%(%[%|%<]?['][%_%^%.]?[l'btjghxdrzs`fqkmnwy][%-l])", b="u%2%3"}, |
415 | {a="([%_]?[Ii])(%s)([%(%[%|%<]?['][%_%^%.]?[l'btjghxdrzs`fqkmnwy][%-l])", b="i%2%3"}, | 499 | {a="([%_]?[Ii])(%s)([%(%[%|%<]?['][%_%^%.]?[l'btjghxdrzs`fqkmnwy][%-l])", b="i%2%3"}, |
416 | {a="%-%-", b=""}, | 500 | {a="%-%-", b=""}, |
417 | {a="iyyaT(%p*)$", b="īyaT%1"}, | 501 | -- {a="iyyaT(%p*)$", b="īyaT%1"}, -- previously. is now: |
418 | {a="iyyaT(%p*%s)", b="īyaT%1"}, | 502 | {a="iyya([TH])(%p*)$", b="īya%1%2"}, |
503 | -- {a="iyyaT(%p*%s)", b="īyaT%1"}, -- previously. is now: | ||
504 | {a="iyya([TH])(%p*%s)", b="īya%1%2"}, | ||
419 | {a="iyy(%p*)$", b="ī%1"}, | 505 | {a="iyy(%p*)$", b="ī%1"}, |
420 | {a="iyy(%p*%s)", b="ī%1"}, | 506 | {a="iyy(%p*%s)", b="ī%1"}, |
421 | -- {a="T([^uai])", b="%1"}, | 507 | -- {a="[TH]([^uai])", b="%1"}, |
422 | {a="T(\\arbup)", b="t%1"}, | 508 | {a="[TH](\\arbup)", b="t%1"}, |
423 | {a="([a%'][%_%^%.]?[tdrzsln]%-)(%S-)T([%(%[%|%<%s])(a[%_%^%.]?[tdrzsln]%-)", b="%1%2h%3%4"}, --p | 509 | {a="([a%'][%_%^%.]?[tdrzsln]%-)(%S-)[TH]([%(%[%|%<%s])(a[%_%^%.]?[tdrzsln]%-)", b="%1%2h%3%4"}, --p |
424 | {a="T([%(%[%|%<%s])(a[%_%^%.]?[tdrzsln]%-)", b="t%1%2"}, --p | 510 | {a="[TH]([%(%[%|%<%s])(a[%_%^%.]?[tdrzsln]%-)", b="t%1%2"}, --p |
425 | {a="T([%|\"])", b="t%1"}, | 511 | {a="[TH]([%|\"])", b="t%1"}, |
426 | {a="T(%p*%s)", b="h%1"}, | 512 | {a="[TH](%p*%s)", b="h%1"}, |
427 | {a="T(%p*)$", b="h%1"}, | 513 | {a="[TH](%p*)$", b="h%1"}, |
428 | {a="T(%p*)(%W)", b="h%1%2"}, | 514 | {a="[TH](%p*)(%W)", b="h%1%2"}, |
429 | {a="_t", b="ṯ"}, | 515 | {a="_t", b="ṯ"}, |
430 | {a="%^g", b="ǧ"}, | 516 | {a="%^g", b="ǧ"}, |
431 | {a="%.h", b="ḥ"}, | 517 | {a="%.h", b="ḥ"}, |
@@ -480,6 +566,7 @@ singletrdmg = { | |||
480 | {a="y", b="y"}, | 566 | {a="y", b="y"}, |
481 | {a="T", b="t"}, | 567 | {a="T", b="t"}, |
482 | -- additional characters (begin) | 568 | -- additional characters (begin) |
569 | {a="H", b="t"}, | ||
483 | {a="p", b="p"}, | 570 | {a="p", b="p"}, |
484 | {a="v", b="v"}, | 571 | {a="v", b="v"}, |
485 | {a="g", b="g"}, | 572 | {a="g", b="g"}, |
@@ -595,13 +682,13 @@ tanwintrloc = { | |||
595 | -- needed by \arbcolor: | 682 | -- needed by \arbcolor: |
596 | {a="%-?(aN)(O[%S]-%_AO)", b="an"}, | 683 | {a="%-?(aN)(O[%S]-%_AO)", b="an"}, |
597 | {a="%-?(aN)(O[%S]-YO)", b="an"}, | 684 | {a="%-?(aN)(O[%S]-YO)", b="an"}, |
598 | {a="(O[%S]-TO)%-?(\"?aN)", b="an"}, | 685 | {a="(O[%S]-[TH]O)%-?(\"?aN)", b="an"}, |
599 | {a="(O[%S]-[^TA]O)%-?(\"?aN)", b="an"}, | 686 | {a="(O[%S]-[^TAH]O)%-?(\"?aN)", b="an"}, |
600 | -- | 687 | -- |
601 | {a="%-?(aN)(_A)", b="an"}, | 688 | {a="%-?(aN)(_A)", b="an"}, |
602 | {a="%-?(aN)(Y)", b="an"}, | 689 | {a="%-?(aN)(Y)", b="an"}, |
603 | {a="(T)%-?(\"?aN)", b="tan"}, | 690 | {a="([TH])%-?(\"?aN)", b="tan"}, |
604 | {a="([^TA])%-?(\"?aN)", b="%1an"} | 691 | {a="([^TAH])%-?(\"?aN)", b="%1an"} |
605 | } | 692 | } |
606 | 693 | ||
607 | trigraphstrloc = { -- trigraphs or more | 694 | trigraphstrloc = { -- trigraphs or more |
@@ -688,12 +775,12 @@ digraphstrloc = { | |||
688 | {a="iyy(%p*%s)", b="ī%1"}, | 775 | {a="iyy(%p*%s)", b="ī%1"}, |
689 | {a="iyy", b="īy"}, | 776 | {a="iyy", b="īy"}, |
690 | {a="([tkdsg])(h)", b="%1'%2"}, | 777 | {a="([tkdsg])(h)", b="%1'%2"}, |
691 | -- {a="T([^uai])", b="h%1"}, | 778 | -- {a="[TH]([^uai])", b="h%1"}, |
692 | {a="([a%']l%-)(%S-)T([%(%[%|%<%s])(al%-)", b="%1%2h%3%4"}, --p | 779 | {a="([a%']l%-)(%S-)[TH]([%(%[%|%<%s])(al%-)", b="%1%2h%3%4"}, --p |
693 | {a="T([%(%[%|%<%s])(al%-)", b="t%1%2"}, --p | 780 | {a="[TH]([%(%[%|%<%s])(al%-)", b="t%1%2"}, --p |
694 | {a="T([%|\"])", b="t%1"}, | 781 | {a="[TH]([%|\"])", b="t%1"}, |
695 | {a="T(%p*)$", b="h%1"}, | 782 | {a="[TH](%p*)$", b="h%1"}, |
696 | {a="T(%p*%s)", b="h%1"}, | 783 | {a="[TH](%p*%s)", b="h%1"}, |
697 | {a="_t", b="th"}, | 784 | {a="_t", b="th"}, |
698 | {a="%^g", b="j"}, | 785 | {a="%^g", b="j"}, |
699 | {a="%.h", b="ḥ"}, | 786 | {a="%.h", b="ḥ"}, |
@@ -747,6 +834,7 @@ singletrloc = { | |||
747 | {a="y", b="y"}, | 834 | {a="y", b="y"}, |
748 | {a="T", b="t"}, | 835 | {a="T", b="t"}, |
749 | -- additional characters (begin) | 836 | -- additional characters (begin) |
837 | {a="H", b="t"}, | ||
750 | {a="p", b="p"}, | 838 | {a="p", b="p"}, |
751 | {a="v", b="v"}, | 839 | {a="v", b="v"}, |
752 | {a="g", b="g"}, | 840 | {a="g", b="g"}, |
@@ -942,12 +1030,12 @@ digraphstrarabica = { | |||
942 | {a="%-%-", b=""}, | 1030 | {a="%-%-", b=""}, |
943 | {a="iyy(%p*)$", b="ī%1"}, | 1031 | {a="iyy(%p*)$", b="ī%1"}, |
944 | {a="iyy(%p*%s)", b="ī%1"}, | 1032 | {a="iyy(%p*%s)", b="ī%1"}, |
945 | -- {a="T([^uai])", b="h%1"}, | 1033 | -- {a="[TH]([^uai])", b="h%1"}, |
946 | {a="([a%']l%-)(%S-)aT([%(%[%|%<%s])(al%-)", b="%1%2a%3%4"}, --p | 1034 | {a="([a%']l%-)(%S-)a[TH]([%(%[%|%<%s])(al%-)", b="%1%2a%3%4"}, --p |
947 | {a="aT([%(%[%|%<%s])(al%-)", b="at%1%2"}, --p | 1035 | {a="a[TH]([%(%[%|%<%s])(al%-)", b="at%1%2"}, --p |
948 | {a="T([%|\"])", b="t%1"}, | 1036 | {a="[TH]([%|\"])", b="t%1"}, |
949 | {a="aT(%p*)$", b="a%1"}, | 1037 | {a="a[TH](%p*)$", b="a%1"}, |
950 | {a="aT(%p*%s)", b="a%1"}, | 1038 | {a="a[TH](%p*%s)", b="a%1"}, |
951 | {a="_t", b="ṯ"}, | 1039 | {a="_t", b="ṯ"}, |
952 | {a="%^g", b="ǧ"}, | 1040 | {a="%^g", b="ǧ"}, |
953 | {a="%.h", b="ḥ"}, | 1041 | {a="%.h", b="ḥ"}, |
@@ -1001,6 +1089,7 @@ singletrarabica = { | |||
1001 | {a="y", b="y"}, | 1089 | {a="y", b="y"}, |
1002 | {a="T", b="t"}, | 1090 | {a="T", b="t"}, |
1003 | -- additional characters (begin) | 1091 | -- additional characters (begin) |
1092 | {a="H", b="t"}, | ||
1004 | {a="p", b="p"}, | 1093 | {a="p", b="p"}, |
1005 | {a="v", b="v"}, | 1094 | {a="v", b="v"}, |
1006 | {a="g", b="g"}, | 1095 | {a="g", b="g"}, |