summaryrefslogtreecommitdiff
path: root/Master/texmf-dist
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r--Master/texmf-dist/doc/xelatex/arabxetex/README4
-rw-r--r--Master/texmf-dist/doc/xelatex/arabxetex/arabxetex.pdfbin315621 -> 317330 bytes
-rw-r--r--Master/texmf-dist/doc/xelatex/arabxetex/examples/ednotes_example.pdf (renamed from Master/texmf-dist/doc/xelatex/arabxetex/ednotes_example.pdf)bin70740 -> 70740 bytes
-rw-r--r--Master/texmf-dist/doc/xelatex/arabxetex/examples/ednotes_example.tex (renamed from Master/texmf-dist/doc/xelatex/arabxetex/ednotes_example.tex)0
-rw-r--r--Master/texmf-dist/doc/xelatex/arabxetex/examples/minimal.tex (renamed from Master/texmf-dist/doc/xelatex/arabxetex/minimal.tex)8
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabic-novowels.tecbin265 -> 0 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabicdigits.map16
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabicfixes.tecbin314 -> 0 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-farsi-fullvoc.map495
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-farsi-novoc.map480
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-farsi-novoc.tecbin4112 -> 4158 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-farsi-voc.map490
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-fullvoc.map482
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-fullvoc.tecbin4763 -> 4798 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-kashmiri-fullvoc.map513
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-kashmiri-novoc.map498
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-kashmiri-novoc.tecbin4240 -> 4312 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-kashmiri-voc.map508
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-kurdish.map290
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-maghribi-fullvoc.map482
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-maghribi-fullvoc.tecbin4773 -> 4807 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-maghribi-novoc.map465
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-maghribi-novoc.tecbin3776 -> 3838 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-maghribi-voc.map476
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-malay-fullvoc.map485
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-malay-novoc.map470
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-malay-novoc.tecbin3985 -> 4053 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-malay-voc.map480
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-novoc.map465
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-novoc.tecbin3771 -> 3828 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-pashto-fullvoc.map491
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-pashto-novoc.map476
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-pashto-novoc.tecbin4046 -> 4099 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-pashto-voc.map486
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-sindhi-fullvoc.map461
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-sindhi-fullvoc.tecbin4833 -> 4872 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-sindhi-novoc.map446
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-sindhi-novoc.tecbin3790 -> 3890 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-sindhi-voc.map456
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-sindhi-voc.tecbin3874 -> 3916 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-turk-fullvoc.map485
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-turk-novoc.map470
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-turk-novoc.tecbin3953 -> 4017 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-turk-voc.map480
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-uighur.map277
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-urdu-fullvoc.map499
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-urdu-fullvoc.tecbin5127 -> 5120 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-urdu-novoc.map484
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-urdu-novoc.tecbin4089 -> 4171 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-urdu-voc.map494
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-urdu-voc.tecbin4167 -> 4181 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-voc.map476
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-farsi-fullvoc.map495
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-farsi-novoc.map480
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-farsi-novoc.tecbin4114 -> 4170 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-farsi-voc.map490
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-fullvoc.map482
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-fullvoc.tecbin4781 -> 4799 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-kashmiri-fullvoc.map513
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-kashmiri-novoc.map498
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-kashmiri-novoc.tecbin4272 -> 4324 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-kashmiri-voc.map508
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-kurdish.map290
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-maghribi-fullvoc.map482
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-maghribi-fullvoc.tecbin4792 -> 4813 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-maghribi-novoc.map465
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-maghribi-novoc.tecbin3780 -> 3832 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-maghribi-voc.map476
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-malay-fullvoc.map485
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-malay-novoc.map470
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-malay-novoc.tecbin3999 -> 4066 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-malay-voc.map480
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-novoc.map465
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-novoc.tecbin3774 -> 3826 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-pashto-fullvoc.map491
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-pashto-novoc.map476
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-pashto-novoc.tecbin4046 -> 4100 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-pashto-voc.map486
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-sindhi-fullvoc.map461
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-sindhi-fullvoc.tecbin4830 -> 4862 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-sindhi-novoc.map446
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-sindhi-novoc.tecbin3784 -> 3892 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-sindhi-voc.map456
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-sindhi-voc.tecbin3870 -> 3897 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-turk-fullvoc.map485
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-turk-novoc.map470
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-turk-novoc.tecbin3969 -> 4027 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-turk-voc.map480
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-uighur.map277
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-urdu-fullvoc.map499
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-urdu-fullvoc.tecbin5130 -> 5126 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-urdu-novoc.map484
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-urdu-novoc.tecbin4085 -> 4169 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-urdu-voc.map494
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-urdu-voc.tecbin4185 -> 4207 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-voc.map476
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-trans-dmg.map17
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-trans-dmg.tecbin3425 -> 3390 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-trans-loc.map12
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/farsidigits.map16
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/fixlamalif.map12
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/fixlamalif.tecbin0 -> 258 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/mirrorpunct.map9
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/mirrorpunct.tecbin0 -> 183 bytes
-rw-r--r--Master/texmf-dist/source/xelatex/arabxetex/arabtex-farsi-trans-loc.map176
-rw-r--r--Master/texmf-dist/source/xelatex/arabxetex/arabtex-kurdish.maps (renamed from Master/texmf-dist/doc/xelatex/arabxetex/arabtex-kurdish.maps)0
-rw-r--r--Master/texmf-dist/source/xelatex/arabxetex/arabtex-pashto-trans-loc.map174
-rw-r--r--Master/texmf-dist/source/xelatex/arabxetex/arabtex-sindhi-trans-loc.map176
-rw-r--r--Master/texmf-dist/source/xelatex/arabxetex/arabtex-trans-dmg.map191
-rw-r--r--Master/texmf-dist/source/xelatex/arabxetex/arabtex-trans-loc.map184
-rw-r--r--Master/texmf-dist/source/xelatex/arabxetex/arabtex-uighur.maps (renamed from Master/texmf-dist/doc/xelatex/arabxetex/arabtex-uighur.maps)0
-rw-r--r--Master/texmf-dist/source/xelatex/arabxetex/arabtex-urdu-trans-loc.map180
-rw-r--r--Master/texmf-dist/source/xelatex/arabxetex/arabtex.maps (renamed from Master/texmf-dist/doc/xelatex/arabxetex/arabtex.maps)13
-rw-r--r--Master/texmf-dist/source/xelatex/arabxetex/arabxetex.dtx (renamed from Master/texmf-dist/doc/xelatex/arabxetex/arabxetex.dtx)274
-rwxr-xr-x[-rw-r--r--]Master/texmf-dist/source/xelatex/arabxetex/makemaps.pl (renamed from Master/texmf-dist/doc/xelatex/arabxetex/makemaps.pl)0
-rw-r--r--Master/texmf-dist/tex/xelatex/arabxetex.sty (renamed from Master/texmf-dist/tex/xelatex/arabxetex/arabxetex.sty)198
116 files changed, 28500 insertions, 280 deletions
diff --git a/Master/texmf-dist/doc/xelatex/arabxetex/README b/Master/texmf-dist/doc/xelatex/arabxetex/README
index 5a0b68f143f..06ad3a8c06f 100644
--- a/Master/texmf-dist/doc/xelatex/arabxetex/README
+++ b/Master/texmf-dist/doc/xelatex/arabxetex/README
@@ -1,5 +1,5 @@
--------------------------
-THE ARABXETEX PACKAGE v1.1.2
+THE ARABXETEX PACKAGE v1.1.4
This package provides a convenient ArabTeX-like user-interface for typesetting
languages using the Arabic script in XeLaTeX, with flexible access to font
@@ -14,4 +14,4 @@ The TECkit fontmapping files (*.map and *.tec) should be copied to
-------------------------
François Charette
-2007-2008
+© 2007–2010
diff --git a/Master/texmf-dist/doc/xelatex/arabxetex/arabxetex.pdf b/Master/texmf-dist/doc/xelatex/arabxetex/arabxetex.pdf
index 2041a6d0a8c..5bb140b2bb1 100644
--- a/Master/texmf-dist/doc/xelatex/arabxetex/arabxetex.pdf
+++ b/Master/texmf-dist/doc/xelatex/arabxetex/arabxetex.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/xelatex/arabxetex/ednotes_example.pdf b/Master/texmf-dist/doc/xelatex/arabxetex/examples/ednotes_example.pdf
index c24dbcf774e..c24dbcf774e 100644
--- a/Master/texmf-dist/doc/xelatex/arabxetex/ednotes_example.pdf
+++ b/Master/texmf-dist/doc/xelatex/arabxetex/examples/ednotes_example.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/xelatex/arabxetex/ednotes_example.tex b/Master/texmf-dist/doc/xelatex/arabxetex/examples/ednotes_example.tex
index cc49982f5b1..cc49982f5b1 100644
--- a/Master/texmf-dist/doc/xelatex/arabxetex/ednotes_example.tex
+++ b/Master/texmf-dist/doc/xelatex/arabxetex/examples/ednotes_example.tex
diff --git a/Master/texmf-dist/doc/xelatex/arabxetex/minimal.tex b/Master/texmf-dist/doc/xelatex/arabxetex/examples/minimal.tex
index 88c3923dcf2..0244b6bd14d 100644
--- a/Master/texmf-dist/doc/xelatex/arabxetex/minimal.tex
+++ b/Master/texmf-dist/doc/xelatex/arabxetex/examples/minimal.tex
@@ -13,10 +13,14 @@ This is some text in English with Arabic insertion \textarab[utf]{عربي}.
This is some text in English with Arabic insertion \textarab[voc]{`arabI}.
\begin{arab}
-wa-ha_dihi fiqraT"uN bi-al-`arabiyaT ma`a kalimaT inklIziyaT (\textroman{English}).
+wa-ha_dihi fiqraT"uN bi-al-`arabiyaT ma`a kalimaT inklIziyaT (\textLR{English}).
\end{arab}
\begin{arab}[utf]
-وهذه فقرةٌ بالعربية مع كلمة انكليزية (\textroman{English}).
+وهذه فقرةٌ بالعربية مع كلمة انكليزية (\textLR{English}).
+\end{arab}
+
+\begin{arab}[novoc]
+وَهَذِهِ فِقرَةٌ بِالعَرَبِيَة مَعَ كَلِمَة اِنكلِيزِيَة (\textLR{English}).
\end{arab}
\end{document}
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabic-novowels.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabic-novowels.tec
deleted file mode 100644
index 4b27610456a..00000000000
--- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabic-novowels.tec
+++ /dev/null
Binary files differ
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabicdigits.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabicdigits.map
new file mode 100644
index 00000000000..9a6bf63b66f
--- /dev/null
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabicdigits.map
@@ -0,0 +1,16 @@
+; FC ...
+LHSName "Digits"
+RHSName "ArabicDigits"
+
+pass(Unicode)
+U+0030 <> U+0660 ;
+U+0031 <> U+0661 ;
+U+0032 <> U+0662 ;
+U+0033 <> U+0663 ;
+U+0034 <> U+0664 ;
+U+0035 <> U+0665 ;
+U+0036 <> U+0666 ;
+U+0037 <> U+0667 ;
+U+0038 <> U+0668 ;
+U+0039 <> U+0669 ;
+
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabicfixes.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabicfixes.tec
deleted file mode 100644
index 881a14a3f5a..00000000000
--- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabicfixes.tec
+++ /dev/null
Binary files differ
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-farsi-fullvoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-farsi-fullvoc.map
new file mode 100644
index 00000000000..12dbfa01c63
--- /dev/null
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-farsi-fullvoc.map
@@ -0,0 +1,495 @@
+LHSName "ArabTeX-farsi-fullvocalized"
+RHSName "UNICODE"
+
+Define a U+0061 ;a
+Define b U+0062 ;b
+Define c U+0063 ;c
+Define d U+0064 ;d
+Define e U+0065 ;e
+Define f U+0066 ;f
+Define g U+0067 ;g
+Define h U+0068 ;h
+Define i U+0069 ;i
+Define j U+006A ;j
+Define k U+006B ;k
+Define l U+006C ;l
+Define m U+006D ;m
+Define n U+006E ;n
+Define o U+006F ;o
+Define p U+0070 ;p
+Define q U+0071 ;q
+Define r U+0072 ;r
+Define s U+0073 ;s
+Define t U+0074 ;t
+Define u U+0075 ;u
+Define v U+0076 ;v
+Define w U+0077 ;w
+Define x U+0078 ;x
+Define y U+0079 ;y
+Define z U+007A ;z
+Define A U+0041 ;A
+Define B U+0042 ;B
+Define E U+0045 ;E
+Define G U+0047 ;G
+Define I U+0049 ;I
+Define N U+004E ;N
+Define O U+004F ;O
+Define T U+0054 ;T
+Define U U+0055 ;U
+Define W U+0057 ;W
+Define Y U+0059 ;Y
+Define C U+005E ;^ << CARET
+Define UL U+005F ;_ << UNDERLINE
+Define P U+002E ;. << DOT
+Define V U+002C ;, << COMMA (_V_irgule)
+Define CO U+003A ;: << COLON
+Define SC U+003B ;; << SEMICOLON
+Define Ain U+0060 ;`
+Define H U+0027 ;' << HAMZA
+Define Q U+0022 ;" << QUOTE
+Define Z U+002D ;- << HYPHEN
+Define BAR U+007C ;|
+Define AN U+0061 U+004E ; aN
+Define LLAH U+006C U+006C U+005F U+0061 U+0068
+;Define NUL U+00A6;
+Define Ha U+0623
+Define Hi U+0625
+Define Hy U+0626
+Define Hw U+0624
+Define Hh U+06C0 ;; = U+0647 U+0654
+Define HA U+0622
+Define HB U+0640 U+0654
+Define HBAR U+0621 ; '|
+
+pass(Unicode)
+
+U+E000 > ; eliminate special code for capitalization in transliterations
+
+pass(Unicode)
+
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [AVWL] = (U+064B..U+0650);
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" `
+Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ”
+Class [PUNCT] = (V SC P CO)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u)
+;Class [ae] = (U+0061 U+0065) ;(a e)
+;Class [ou] = (U+0075 U+006F) ;(u o)
+Class [Iyi] = (U+0069 U+0079 U+0049)
+Class [UI] = (U+0049 U+0055) ; U I
+Class [Digits] = (U+0030..U+0039)
+
+Define BEG (#|Z|[BRACKETS])
+Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #)
+Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z)
+
+; special ligatures
+;; 1. Standard ArabTeX input
+;; WARNING! there are, alas, two classes of Arabic fonts:
+;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2
+;; For these the ligature llah can be accessed by the sequence lam-lam-ha
+;; b) Those that do not have the initial alif in U+FDF2
+;; The BAR is used in the DMG transliteration to suppress the initial A
+(a|A) BAR? l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah'
+LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h'
+;; UPPERCASE mnemonics for various ligatures or special glyphs
+;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode
+U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h'
+U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic
+;; 2b. Ligatures and glyphs defined in Unicode:
+U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH'
+U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH'
+
+U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam
+U+0028 U+0028 > U+FD3F ;; '((' : ornate right par
+U+0029 U+0029 > U+FD3E ;; '))' : ornate left par
+U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign
+;; most fonts won't have the following ones:
+U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign)
+U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign
+U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR'
+U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD'
+U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM'
+U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL')
+U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE')
+U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM'
+U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA'
+U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu"
+U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik
+
+U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY
+U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY
+U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM-
+U+005E U+004C U+0041 > U+06D9 ;; ^LA
+U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM
+U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS
+U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN
+U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB
+U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO
+U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO
+U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM
+U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM
+U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN
+U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA
+U+0057 U+0041 U+0057 > U+06E5 ;; WAW
+U+0059 U+0045 U+0048 > U+06E6 ;; YEH
+U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH
+U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN
+U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA
+U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP
+U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP
+U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP
+U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM
+
+U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::")
+
+;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts
+U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]]
+
+
+; vowels
+u u > U
+i i > I
+a a > A
+CO O > U+06FC ;
+a e > a y
+a o > a w
+(o|u)? O / # _ > U+0627 w
+(o|u)? O > w
+CO U > U+06C7 ;
+e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish)
+o > u
+E > I
+I / _ # > i y
+
+
+;; Persian ezafe (ALL BUT ARABIC AND UIGHUR)
+U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<<
+U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I
+Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e
+Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I
+Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i
+Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i
+Z / U+0048 _ > U+0020 ;
+b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen
+
+;; initial characters ...
+a l Z / BEG _ > U+0627 l Z
+;; wasla on initial alif : NEW! NOT TESTED!
+H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI
+[VWL]=v1 / BEG _ > U+0627 @v1
+A / BEG _ > HA ;; ADD MORE ? <<<
+Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U
+; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I
+Q?=q1 I / BEG _ ^# > U+0627 @q1 i y ; -I...
+Z Q?=qq (I|E) / _ (#|Z) > @qq i y ;
+UL Q?=q1 U > @q1 U
+Q?=q1 U / # _ # > U+0627 @q1 u w
+Q BAR > U+0020; "| to separate compounds >> IN TRANSLIT THIS WILL BE REMOVED
+
+
+;; Words with anomalous orthography:
+
+; mi'aT -> ماية
+;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy
+m Q i H Q a / _ (T|t) > m U+0627 Hy
+m Q i H a / _ (T|t) > m U+0627 Hy a
+m i H Q a / _ (T|t) > m i U+0627 Hy
+m i H a / _ (T|t) > m i U+0627 Hy a
+
+
+;; contextual analysis of hamzas
+;; THESE DO NOT APPLY FOR SINDHI
+
+; initial hamzas
+H / (#|^[LTR]) _ Q? [Iyi] > Hi
+H Q A / (#|^[LTR]) _ > HA ; alif madda
+H / (#|^[LTR]) _ Q? [Uwu] > Ha
+H / (#|^[LTR]) _ Q? a > Ha
+Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word
+
+; quoted hamzas in contextual mode, equivalent to verbatim mode
+a Q H > Ha
+i Q H > Hi
+y Q H > Hy
+w Q H > Hw
+h Q H > Hh
+A Q H > HA
+B Q H > HB
+BAR Q H > HBAR
+
+; hamza + fathatan
+H / a _ Q? AN > Ha
+;;H / [Iyi] _ Q? AN > Hy
+H / _ Q? AN > Hy
+
+;final hamzas
+H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ...
+H / a _ Q? (#|^[LTR]) > Ha ; not AN...
+H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN...
+H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy
+H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw
+
+;;and more hamzas ...
+
+; n°1: kasra/ya
+H / [LTR] _ Q? [Iyi] ^N > Hy
+H / [Iyi] _ > Hy
+
+; n°2: damma/waw
+H / [LTR] _ Q? (U|u) ^N > Hw
+H / (U|u) _ Q? ^[Iyi] > Hw
+H / U _ > HBAR
+
+; n°3: fatha/alif
+H Q? A > HA
+H / A _ Q? a > HBAR
+H / ^[UI] _ Q? a > Ha
+H / a _ Q? ^[UI] > Ha
+
+
+pass(Unicode)
+
+Class [Digits] = (U+0030..U+0039)
+Class [ArDigits] = (U+0660..U+0669)
+Class [ArEasternDigits] = (U+06F0..U+06F9)
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+
+
+
+
+;normal code
+
+
+(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA
+(P z|U+1E93) > U+0638
+C z C z > U+0698 U+0651 ;;SHADDA
+C z > U+0698
+V z V z > U+0696 U+0651 ;;SHADDA
+V z > U+0696 ;pashto
+z z > U+0632 U+0651 ;;SHADDA
+z > U+0632
+Q Y Y > U+0649 U+0651 ;;SHADDA
+Q Y > U+0649
+Y Y > U+064E U+0649 U+0651 ;;SHADDA
+Y > U+064E U+0649
+;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots
+y y > U+06CC U+0651 ;;SHADDA
+y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots
+v v > U+06A4 U+0651 ;;SHADDA
+v > U+06A4
+W > U+0648 U+0627 ; waw + alif
+C U > U+064F U+0648 U+0653; historical spelling : madda on waw
+C w C w > U+06C9 U+0651 ;;SHADDA
+C w > U+06C9
+CO w CO w > U+06CA U+0651 ;,SHADDA
+CO w > U+06CA
+U A / _ # > U+064F U+0648 U+0627
+Q U [Uw] > U+0648 U+0651 ;;SHADDA
+Q U > U+0648
+U [Uw] > U+064F U+0648 U+0651 ;;SHADDA
+U > U+064F U+0648
+w w > U+0648 U+0651 ;;SHADDA
+w > U+0648
+Q u N? >
+u N > U+064C
+u > U+064F
+V t V t > U+0679 U+0651 ;;SHADDA
+V t > U+0679 ;urdu
+UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA
+UL (t|s) > U+062B
+(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA
+(P t|U+1E6D) > U+0637
+t t > U+062A U+0651 ;;SHADDA
+t > U+062A
+T T Q AN > U+0629 U+0651 ;;SHADDA
+T Q AN > U+0629
+T AN > U+0629 U+064B
+T T > U+0629 U+0651 ;;SHADDA
+T > U+0629
+C s C s > U+0634 U+0651 ;;SHADDA
+C s > U+0634
+(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA
+(P s|U+1E63) > U+0635
+V s V s > U+069A U+0651 ;;SHADDA
+V s > U+069A ;Pashto
+CO s CO s > U+069B U+0651 ;;SHADDA
+CO s > U+069B ; sin with 3 dots below
+s s > U+0633 U+0651 ;;SHADDA
+s > U+0633
+C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<<
+C r > U+06EF
+CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<<
+CO r > U+0697 ; Dargwa language, Dagestan
+P r P r > U+0694 U+0651 ;;SHADDA
+P r > U+0694 ; r with dot below; in Kurdish .r -> 0694
+V r V r > U+0691 U+0651 ;;SHADDA
+V r > U+0691 ;Urdu
+r r > U+0631 U+0651 ;;SHADDA
+r > U+0631
+P q P q > U+066F U+0651 ;;SHADDA
+P q > U+066F
+q q > U+0642 U+0651 ;;SHADDA
+q > U+0642
+p p > U+067E U+0651 ;;SHADDA
+p > U+067E
+CO n CO n > U+06B1 U+0651 ;;SHADDA
+CO n > U+06B1
+C n C n > U+06AD U+0651 ;;SHADDA
+C n > U+06AD
+P n P n > U+06BA U+0651 ;;SHADDA
+P n > U+06BA ; urdu
+V n V n > U+06BC U+0651 ;;SHADDA
+V n > U+06BC ; Pashto
+n n > U+0646 U+0651 ;;SHADDA
+n > U+0646
+m m > U+0645 U+0651 ;;SHADDA
+m > U+0645
+P l P l > U+06B6 U+0651 ;
+P l > U+06B6 ; ADDED <<<
+C l C l > U+06B5 U+0651 ;;SHADDA
+C l > U+06B5 ;kurdish
+l l > U+0644 U+0651 ;;SHADDA
+l > U+0644
+P k P k > U+06A9 U+0651 ;;SHADDA
+P k > U+06A9 ; pashto urdu
+UL k UL k > U+063A U+0651 ;;SHADDA
+UL k > U+063A
+k k > U+0643 U+0651 ;;SHADDA
+k > U+0643
+C g C g > U+062C U+0651 ;;SHADDA
+C g > U+062C
+CO j CO j > U+0684 U+0651 ;;SHADDA
+CO j > U+0684
+j j > U+062C U+0651 ;;SHADDA
+j > U+062C
+Q I > U+064A
+I > U+0650 U+064A
+C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya
+UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ###
+Q i N? > ;
+i N > U+064D
+i > U+0650
+x x > U+062E U+0651 ;;SHADDA
+x > U+062E
+U+0048 Z > U+0647 U+200C U+0020 ;eH-suffix > eH suffix
+U+0048 > U+0647 U+200C ; H is always heh final
+UL h UL h > U+062E U+0651 ;;SHADDA
+UL h > U+062E
+(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA
+(P h|U+1E25) > U+062D
+V h V h > U+06C1 U+0651 ;;SHADDA
+V h > U+06C1
+h h > U+0647 U+0651 ;;SHADDA
+h > U+0647
+CO g CO g > U+06B3 U+0651 ;;SHADDA
+CO g > U+06B3
+V g V g > U+06AC U+0651 ;;SHADDA
+V g > U+06AC ; kaf with dot above
+P g P g > U+063A U+0651 ;;SHADDA
+P g > U+063A
+g g > U+06AF U+0651 ;;SHADDA
+g > U+06AF
+G G > U+06AB U+0651 ;;SHADDA
+G > U+06AB ;pashto
+P f P f > U+06A1 U+0651 ;;SHADDA
+P f > U+06A1
+f f > U+0641 U+0651 ;;SHADDA
+f > U+0641
+V d V d > U+068A U+0651 ;;SHADDA
+V d > U+068A
+P V d P V d > U+068B U+0651 ;;SHADDA
+P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi)
+C d C d > U+06EE U+0651 ;;SHADDA
+C d > U+06EE ; not defined in ArabTeX
+CO d CO d > U+068F U+0651 ;;SHADDA
+CO d > U+068F
+UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA
+UL (d|z) > U+0630
+(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA
+(P d|U+1E0D) > U+0636
+d d > U+062F U+0651 ;;SHADDA
+d > U+062F
+V c V c > U+0685 U+0651 ;;SHADDA
+V c > U+0685 ;pashto
+C c C c > U+0686 U+0651 ;;SHADDA
+C c > U+0686
+P C c P C c > U+06BF U+0651 ;;SHADDA
+P C c > U+06BF ;; cheh with dot above <<<
+c c > U+0681 U+0651 ;;SHADDA
+c > U+0681 ; ح with hamza above
+CO c CO c > U+0682 U+0651 ;;SHADDA
+CO c > U+0682 ; old pashto
+CO b CO b > U+067B U+0651 ;;SHADDA
+CO b > U+067B
+P b P b > U+066E U+0651 ;;SHADDA
+P b > U+066E
+b b > U+0628 U+0651 ;;SHADDA
+b > U+0628
+H A > U+0622
+C A > U+064E U+0622 ; historical spelling
+UL A > U+064E U+0649
+UL a > U+0670
+UL u > U+064F;
+UL i > U+0650;
+Q AN / (A H|Ha) _ > ;
+AN / (A H|Ha) _ > U+064B
+Q AN > U+0627
+AN > U+0627 U+064B
+Q a >
+a > U+064E
+Q A > U+0627
+A > U+064E U+0627
+Ain Ain > U+0639 U+0651 ;;SHADDA
+Ain > U+0639
+H H > U+0621 U+0651 ;;SHADDA
+H > U+0621
+U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma
+Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash
+(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks
+[Digits] > [ArEasternDigits]
+Z Z Z / # _ # > U+2014
+Z Z / # _ # > U+2013
+Z Z > U+0640
+B > U+0640
+Z / # _ > U+200D ; -x > force initial form with "zero-width joiner"
+Z / _ # > U+200D ; x- > force final form
+U+003C U+003C > U+00BB ;<<
+U+003E U+003E > U+00AB ;>>
+U+00AB > U+00BB
+U+00BB > U+00AB
+UL > U+0640 ;_
+U+003F > U+061F ;?
+U+003B > U+061B ;;
+U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above...
+U+002C > U+060C ;,
+U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ...
+U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual
+ ; analysis, so quoting of hamzas etc may be necessary
+;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules
+;U+005B > U+005D ;[
+Q [VWL] > ;stripoff quoted vowels
+U+00B0 > U+0652 ; °
+N > ;
+C > ;^
+BAR > ;|
+
+pass(Unicode)
+
+Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-)
+Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc.
+Class [VWL] = (U+0627 U+0648..U+0650 U+0670);
+[CONS]=k1 / _ Z? [CONS] ^U+0651 > @k1 U+0652 ; hack: 2nd consonant has no shadda
+U+064E (U+064A|U+0648)=hc / _ (^[VWLX]|#) > U+064E @hc U+0652 ; ay and aw diphtongs
+U+0627 / # _ U+0644 > U+0627 U+064E ; otherwise initial alif takes fatha
+[CONS]=k1 / _ ([CONS]|#) > @k1 U+0652 ; consonant + (consonant or final)
+;; [CONS]=k1 / _ # > @k1 U+0652 ; final consonant
+Q > ;
+Z > ;
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-farsi-novoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-farsi-novoc.map
new file mode 100644
index 00000000000..dfdfa837b35
--- /dev/null
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-farsi-novoc.map
@@ -0,0 +1,480 @@
+LHSName "ArabTeX-farsi-novowels"
+RHSName "UNICODE"
+
+Define a U+0061 ;a
+Define b U+0062 ;b
+Define c U+0063 ;c
+Define d U+0064 ;d
+Define e U+0065 ;e
+Define f U+0066 ;f
+Define g U+0067 ;g
+Define h U+0068 ;h
+Define i U+0069 ;i
+Define j U+006A ;j
+Define k U+006B ;k
+Define l U+006C ;l
+Define m U+006D ;m
+Define n U+006E ;n
+Define o U+006F ;o
+Define p U+0070 ;p
+Define q U+0071 ;q
+Define r U+0072 ;r
+Define s U+0073 ;s
+Define t U+0074 ;t
+Define u U+0075 ;u
+Define v U+0076 ;v
+Define w U+0077 ;w
+Define x U+0078 ;x
+Define y U+0079 ;y
+Define z U+007A ;z
+Define A U+0041 ;A
+Define B U+0042 ;B
+Define E U+0045 ;E
+Define G U+0047 ;G
+Define I U+0049 ;I
+Define N U+004E ;N
+Define O U+004F ;O
+Define T U+0054 ;T
+Define U U+0055 ;U
+Define W U+0057 ;W
+Define Y U+0059 ;Y
+Define C U+005E ;^ << CARET
+Define UL U+005F ;_ << UNDERLINE
+Define P U+002E ;. << DOT
+Define V U+002C ;, << COMMA (_V_irgule)
+Define CO U+003A ;: << COLON
+Define SC U+003B ;; << SEMICOLON
+Define Ain U+0060 ;`
+Define H U+0027 ;' << HAMZA
+Define Q U+0022 ;" << QUOTE
+Define Z U+002D ;- << HYPHEN
+Define BAR U+007C ;|
+Define AN U+0061 U+004E ; aN
+Define LLAH U+006C U+006C U+005F U+0061 U+0068
+;Define NUL U+00A6;
+Define Ha U+0623
+Define Hi U+0625
+Define Hy U+0626
+Define Hw U+0624
+Define Hh U+06C0 ;; = U+0647 U+0654
+Define HA U+0622
+Define HB U+0640 U+0654
+Define HBAR U+0621 ; '|
+
+pass(Unicode)
+
+U+E000 > ; eliminate special code for capitalization in transliterations
+
+pass(Unicode)
+
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [AVWL] = (U+064B..U+0650);
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" `
+Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ”
+Class [PUNCT] = (V SC P CO)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u)
+;Class [ae] = (U+0061 U+0065) ;(a e)
+;Class [ou] = (U+0075 U+006F) ;(u o)
+Class [Iyi] = (U+0069 U+0079 U+0049)
+Class [UI] = (U+0049 U+0055) ; U I
+Class [Digits] = (U+0030..U+0039)
+
+Define BEG (#|Z|[BRACKETS])
+Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #)
+Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z)
+
+; special ligatures
+;; 1. Standard ArabTeX input
+;; WARNING! there are, alas, two classes of Arabic fonts:
+;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2
+;; For these the ligature llah can be accessed by the sequence lam-lam-ha
+;; b) Those that do not have the initial alif in U+FDF2
+;; The BAR is used in the DMG transliteration to suppress the initial A
+(a|A) BAR? l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah'
+LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h'
+;; UPPERCASE mnemonics for various ligatures or special glyphs
+;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode
+U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h'
+U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic
+;; 2b. Ligatures and glyphs defined in Unicode:
+U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH'
+U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH'
+
+U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam
+U+0028 U+0028 > U+FD3F ;; '((' : ornate right par
+U+0029 U+0029 > U+FD3E ;; '))' : ornate left par
+U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign
+;; most fonts won't have the following ones:
+U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign)
+U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign
+U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR'
+U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD'
+U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM'
+U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL')
+U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE')
+U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM'
+U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA'
+U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu"
+U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik
+
+U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY
+U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY
+U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM-
+U+005E U+004C U+0041 > U+06D9 ;; ^LA
+U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM
+U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS
+U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN
+U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB
+U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO
+U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO
+U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM
+U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM
+U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN
+U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA
+U+0057 U+0041 U+0057 > U+06E5 ;; WAW
+U+0059 U+0045 U+0048 > U+06E6 ;; YEH
+U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH
+U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN
+U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA
+U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP
+U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP
+U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP
+U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM
+
+U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::")
+
+;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts
+U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]]
+
+
+; vowels
+u u > U
+i i > I
+a a > A
+[AVWL] > ; strip off vowels when writing UTF-8 Arabic with novoc mode
+CO O > U+06FC ;
+a e > a y
+a o > a w
+(o|u)? O / # _ > U+0627 w
+(o|u)? O > w
+CO U > U+06C7 ;
+e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish)
+o > u
+E > I
+I / _ # > i y
+
+
+;; Persian ezafe (ALL BUT ARABIC AND UIGHUR)
+U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<<
+U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I
+Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e
+Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I
+Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i
+Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i
+Z / U+0048 _ > U+0020 ;
+b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen
+
+;; initial characters ...
+a l Z / BEG _ > U+0627 l Z
+;; wasla on initial alif : NEW! NOT TESTED!
+H / BEG _ l l > U+0627 ;
+[VWL]=v1 / BEG _ > A @v1
+A / BEG _ > HA ;; ADD MORE ? <<<
+Q?=q1 U / BEG _ > A @q1 u w ; -U
+; Q?=q1 I / BEG _ > A @q1 i y ; -I ; but not when I is final FIXME!!!
+Q?=q1 I / BEG _ ^# > A @q1 i y ; -I...
+Z Q?=qq (I|E) / _ (#|Z) > @qq i y ;
+UL Q?=q1 U > @q1 U
+Q?=q1 U / # _ # > U+0627 @q1 u w
+Q BAR > U+0020; "| to separate compounds >> IN TRANSLIT THIS WILL BE REMOVED
+
+
+;; Words with anomalous orthography:
+
+; mi'aT -> ماية
+;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy
+m Q i H Q a / _ (T|t) > m Q i A Hy Q a
+m Q i H a / _ (T|t) > m Q i A Hy
+m i H Q a / _ (T|t) > m A Hy Q a
+m i H a / _ (T|t) > m A Hy
+
+
+;; contextual analysis of hamzas
+;; THESE DO NOT APPLY FOR SINDHI
+
+; initial hamzas
+H / (#|^[LTR]) _ Q? [Iyi] > Hi
+H Q A / (#|^[LTR]) _ > HA ; alif madda
+H / (#|^[LTR]) _ Q? [Uwu] > Ha
+H / (#|^[LTR]) _ Q? a > Ha
+Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word
+
+; quoted hamzas in contextual mode, equivalent to verbatim mode
+a Q H > Ha
+i Q H > Hi
+y Q H > Hy
+w Q H > Hw
+h Q H > Hh
+A Q H > HA
+B Q H > HB
+BAR Q H > HBAR
+
+; hamza + fathatan
+H / a _ Q? AN > Ha
+;;H / [Iyi] _ Q? AN > Hy
+H / _ Q? AN > Hy
+
+;final hamzas
+H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ...
+H / a _ Q? (#|^[LTR]) > Ha ; not AN...
+H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN...
+H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy
+H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw
+
+;;and more hamzas ...
+
+; n°1: kasra/ya
+H / [LTR] _ Q? [Iyi] ^N > Hy
+H / [Iyi] _ > Hy
+
+; n°2: damma/waw
+H / [LTR] _ Q? (U|u) ^N > Hw
+H / (U|u) _ Q? ^[Iyi] > Hw
+H / U _ > HBAR
+
+; n°3: fatha/alif
+H Q? A > HA
+H / A _ Q? a > HBAR
+H / ^[UI] _ Q? a > Ha
+H / a _ Q? ^[UI] > Ha
+
+
+pass(Unicode)
+
+Class [Digits] = (U+0030..U+0039)
+Class [ArDigits] = (U+0660..U+0669)
+Class [ArEasternDigits] = (U+06F0..U+06F9)
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+
+
+
+
+;normal code
+
+
+(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA
+(P z|U+1E93) > U+0638
+C z C z > U+0698 U+0651 ;;SHADDA
+C z > U+0698
+V z V z > U+0696 U+0651 ;;SHADDA
+V z > U+0696 ;pashto
+z z > U+0632 U+0651 ;;SHADDA
+z > U+0632
+Y Y > U+0649 U+0651 ;;SHADDA
+Y > U+0649
+;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots
+y y > U+06CC U+0651 ;;SHADDA
+y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots
+v v > U+06A4 U+0651 ;;SHADDA
+v > U+06A4
+W > U+0648 U+0627 ; waw + alif
+C U > U+064F U+0648 U+0653; historical spelling : madda on waw
+Q U [Uw] > U+064F U+0648 U+0651 ;;SHADDA
+Q U > U+064F U+0648
+[Uw] [Uw] > U+0648 U+0651 ;;SHADDA
+[Uw] > U+0648
+C w C w > U+06C9 U+0651 ;;SHADDA
+C w > U+06C9
+CO w CO w > U+06CA U+0651 ;,SHADDA
+CO w > U+06CA
+Q u N > U+064C
+u N >
+Q u > U+064F
+V t V t > U+0679 U+0651 ;;SHADDA
+V t > U+0679 ;urdu
+UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA
+UL (t|s) > U+062B
+(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA
+(P t|U+1E6D) > U+0637
+t t > U+062A U+0651 ;;SHADDA
+t > U+062A
+T T Q AN > U+0629 U+0651 U+064B ;;SHADDA
+T Q AN > U+0629 U+064B
+T AN > U+0629
+T T > U+0629 U+0651 ;;SHADDA
+T > U+0629
+C s C s > U+0634 U+0651 ;;SHADDA
+C s > U+0634
+(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA
+(P s|U+1E63) > U+0635
+V s V s > U+069A U+0651 ;;SHADDA
+V s > U+069A ;Pashto
+CO s CO s > U+069B U+0651 ;;SHADDA
+CO s > U+069B ; sin with 3 dots below
+s s > U+0633 U+0651 ;;SHADDA
+s > U+0633
+C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<<
+C r > U+06EF
+CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<<
+CO r > U+0697 ; Dargwa language, Dagestan
+P r P r > U+0694 U+0651 ;;SHADDA
+P r > U+0694 ; r with dot below; in Kurdish .r -> 0694
+V r V r > U+0691 U+0651 ;;SHADDA
+V r > U+0691 ;Urdu
+r r > U+0631 U+0651 ;;SHADDA
+r > U+0631
+P q P q > U+066F U+0651 ;;SHADDA
+P q > U+066F
+q q > U+0642 U+0651 ;;SHADDA
+q > U+0642
+p p > U+067E U+0651 ;;SHADDA
+p > U+067E
+CO n CO n > U+06B1 U+0651 ;;SHADDA
+CO n > U+06B1
+C n C n > U+06AD U+0651 ;;SHADDA
+C n > U+06AD
+P n P n > U+06BA U+0651 ;;SHADDA
+P n > U+06BA ; urdu
+V n V n > U+06BC U+0651 ;;SHADDA
+V n > U+06BC ; Pashto
+n n > U+0646 U+0651 ;;SHADDA
+n > U+0646
+m m > U+0645 U+0651 ;;SHADDA
+m > U+0645
+P l P l > U+06B6 U+0651 ;
+P l > U+06B6 ; ADDED <<<
+C l C l > U+06B5 U+0651 ;;SHADDA
+C l > U+06B5 ;kurdish
+l l > U+0644 U+0651 ;;SHADDA
+l > U+0644
+P k P k > U+06A9 U+0651 ;;SHADDA
+P k > U+06A9 ; pashto urdu
+UL k UL k > U+063A U+0651 ;;SHADDA
+UL k > U+063A
+k k > U+0643 U+0651 ;;SHADDA
+k > U+0643
+C g C g > U+062C U+0651 ;;SHADDA
+C g > U+062C
+CO j CO j > U+0684 U+0651 ;;SHADDA
+CO j > U+0684
+j j > U+062C U+0651 ;;SHADDA
+j > U+062C
+Q I > U+0650 U+064A
+C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya
+UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ###
+I > U+064A
+Q i N > U+064D
+i N > ;
+Q i > U+0650
+x x > U+062E U+0651 ;;SHADDA
+x > U+062E
+U+0048 Z > U+0647 U+200C U+0020 ;eH-suffix > eH suffix
+U+0048 > U+0647 U+200C ; H is always heh final
+UL h UL h > U+062E U+0651 ;;SHADDA
+UL h > U+062E
+(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA
+(P h|U+1E25) > U+062D
+V h V h > U+06C1 U+0651 ;;SHADDA
+V h > U+06C1
+h h > U+0647 U+0651 ;;SHADDA
+h > U+0647
+CO g CO g > U+06B3 U+0651 ;;SHADDA
+CO g > U+06B3
+V g V g > U+06AC U+0651 ;;SHADDA
+V g > U+06AC ; kaf with dot above
+P g P g > U+063A U+0651 ;;SHADDA
+P g > U+063A
+g g > U+06AF U+0651 ;;SHADDA
+g > U+06AF
+G G > U+06AB U+0651 ;;SHADDA
+G > U+06AB ;pashto
+P f P f > U+06A1 U+0651 ;;SHADDA
+P f > U+06A1
+f f > U+0641 U+0651 ;;SHADDA
+f > U+0641
+V d V d > U+068A U+0651 ;;SHADDA
+V d > U+068A
+P V d P V d > U+068B U+0651 ;;SHADDA
+P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi)
+C d C d > U+06EE U+0651 ;;SHADDA
+C d > U+06EE ; not defined in ArabTeX
+CO d CO d > U+068F U+0651 ;;SHADDA
+CO d > U+068F
+UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA
+UL (d|z) > U+0630
+(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA
+(P d|U+1E0D) > U+0636
+d d > U+062F U+0651 ;;SHADDA
+d > U+062F
+V c V c > U+0685 U+0651 ;;SHADDA
+V c > U+0685 ;pashto
+C c C c > U+0686 U+0651 ;;SHADDA
+C c > U+0686
+P C c P C c > U+06BF U+0651 ;;SHADDA
+P C c > U+06BF ;; cheh with dot above <<<
+c c > U+0681 U+0651 ;;SHADDA
+c > U+0681 ; ح with hamza above
+CO c CO c > U+0682 U+0651 ;;SHADDA
+CO c > U+0682 ; old pashto
+CO b CO b > U+067B U+0651 ;;SHADDA
+CO b > U+067B
+P b P b > U+066E U+0651 ;;SHADDA
+P b > U+066E
+b b > U+0628 U+0651 ;;SHADDA
+b > U+0628
+H A > U+0622
+C A > U+064E U+0622 ; historical spelling
+UL A > U+0649
+UL a > U+0670
+UL u > ;
+UL i > ;
+Q AN / (A H|Ha) _ > U+064B
+AN / (A H|Ha) _ > ;
+Q AN > U+0627 U+064B
+AN > U+0627
+Q a > U+064E
+Q A > U+064E U+0627
+A > U+0627
+Ain Ain > U+0639 U+0651 ;;SHADDA
+Ain > U+0639
+H H > U+0621 U+0651 ;;SHADDA
+H > U+0621
+U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma
+Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash
+(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks
+[Digits] > [ArEasternDigits]
+Z Z Z / # _ # > U+2014
+Z Z / # _ # > U+2013
+Z Z > U+0640
+B > U+0640
+Z / # _ > U+200D ; -x > force initial form with "zero-width joiner"
+Z / _ # > U+200D ; x- > force final form
+U+003C U+003C > U+00BB ;<<
+U+003E U+003E > U+00AB ;>>
+U+00AB > U+00BB
+U+00BB > U+00AB
+UL > U+0640 ;_
+U+003F > U+061F ;?
+U+003B > U+061B ;;
+U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above...
+U+002C > U+060C ;,
+U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ...
+U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual
+ ; analysis, so quoting of hamzas etc may be necessary
+;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules
+;U+005B > U+005D ;[
+[VWL] > ;stripoff vowels
+Q > U+0652
+U+00B0 > U+0652 ; °
+N > ;
+C > ;^
+Z > ;-
+BAR > ;|
+
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-farsi-novoc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-farsi-novoc.tec
index 8a113805622..418f6566e43 100644
--- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-farsi-novoc.tec
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-farsi-novoc.tec
Binary files differ
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-farsi-voc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-farsi-voc.map
new file mode 100644
index 00000000000..35c789edd42
--- /dev/null
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-farsi-voc.map
@@ -0,0 +1,490 @@
+LHSName "ArabTeX-farsi-vocalized"
+RHSName "UNICODE"
+
+Define a U+0061 ;a
+Define b U+0062 ;b
+Define c U+0063 ;c
+Define d U+0064 ;d
+Define e U+0065 ;e
+Define f U+0066 ;f
+Define g U+0067 ;g
+Define h U+0068 ;h
+Define i U+0069 ;i
+Define j U+006A ;j
+Define k U+006B ;k
+Define l U+006C ;l
+Define m U+006D ;m
+Define n U+006E ;n
+Define o U+006F ;o
+Define p U+0070 ;p
+Define q U+0071 ;q
+Define r U+0072 ;r
+Define s U+0073 ;s
+Define t U+0074 ;t
+Define u U+0075 ;u
+Define v U+0076 ;v
+Define w U+0077 ;w
+Define x U+0078 ;x
+Define y U+0079 ;y
+Define z U+007A ;z
+Define A U+0041 ;A
+Define B U+0042 ;B
+Define E U+0045 ;E
+Define G U+0047 ;G
+Define I U+0049 ;I
+Define N U+004E ;N
+Define O U+004F ;O
+Define T U+0054 ;T
+Define U U+0055 ;U
+Define W U+0057 ;W
+Define Y U+0059 ;Y
+Define C U+005E ;^ << CARET
+Define UL U+005F ;_ << UNDERLINE
+Define P U+002E ;. << DOT
+Define V U+002C ;, << COMMA (_V_irgule)
+Define CO U+003A ;: << COLON
+Define SC U+003B ;; << SEMICOLON
+Define Ain U+0060 ;`
+Define H U+0027 ;' << HAMZA
+Define Q U+0022 ;" << QUOTE
+Define Z U+002D ;- << HYPHEN
+Define BAR U+007C ;|
+Define AN U+0061 U+004E ; aN
+Define LLAH U+006C U+006C U+005F U+0061 U+0068
+;Define NUL U+00A6;
+Define Ha U+0623
+Define Hi U+0625
+Define Hy U+0626
+Define Hw U+0624
+Define Hh U+06C0 ;; = U+0647 U+0654
+Define HA U+0622
+Define HB U+0640 U+0654
+Define HBAR U+0621 ; '|
+
+pass(Unicode)
+
+U+E000 > ; eliminate special code for capitalization in transliterations
+
+pass(Unicode)
+
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [AVWL] = (U+064B..U+0650);
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" `
+Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ”
+Class [PUNCT] = (V SC P CO)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u)
+;Class [ae] = (U+0061 U+0065) ;(a e)
+;Class [ou] = (U+0075 U+006F) ;(u o)
+Class [Iyi] = (U+0069 U+0079 U+0049)
+Class [UI] = (U+0049 U+0055) ; U I
+Class [Digits] = (U+0030..U+0039)
+
+Define BEG (#|Z|[BRACKETS])
+Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #)
+Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z)
+
+; special ligatures
+;; 1. Standard ArabTeX input
+;; WARNING! there are, alas, two classes of Arabic fonts:
+;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2
+;; For these the ligature llah can be accessed by the sequence lam-lam-ha
+;; b) Those that do not have the initial alif in U+FDF2
+;; The BAR is used in the DMG transliteration to suppress the initial A
+(a|A) BAR? l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah'
+LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h'
+;; UPPERCASE mnemonics for various ligatures or special glyphs
+;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode
+U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h'
+U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic
+;; 2b. Ligatures and glyphs defined in Unicode:
+U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH'
+U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH'
+
+U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam
+U+0028 U+0028 > U+FD3F ;; '((' : ornate right par
+U+0029 U+0029 > U+FD3E ;; '))' : ornate left par
+U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign
+;; most fonts won't have the following ones:
+U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign)
+U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign
+U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR'
+U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD'
+U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM'
+U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL')
+U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE')
+U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM'
+U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA'
+U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu"
+U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik
+
+U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY
+U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY
+U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM-
+U+005E U+004C U+0041 > U+06D9 ;; ^LA
+U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM
+U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS
+U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN
+U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB
+U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO
+U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO
+U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM
+U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM
+U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN
+U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA
+U+0057 U+0041 U+0057 > U+06E5 ;; WAW
+U+0059 U+0045 U+0048 > U+06E6 ;; YEH
+U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH
+U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN
+U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA
+U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP
+U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP
+U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP
+U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM
+
+U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::")
+
+;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts
+U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]]
+
+
+; vowels
+u u > U
+i i > I
+a a > A
+CO O > U+06FC ;
+a e > a y
+a o > a w
+(o|u)? O / # _ > U+0627 w
+(o|u)? O > w
+CO U > U+06C7 ;
+e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish)
+o > u
+E > I
+I / _ # > i y
+
+
+;; Persian ezafe (ALL BUT ARABIC AND UIGHUR)
+U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<<
+U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I
+Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e
+Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I
+Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i
+Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i
+Z / U+0048 _ > U+0020 ;
+b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen
+
+;; initial characters ...
+a l Z / BEG _ > U+0627 l Z
+;; wasla on initial alif : NEW! NOT TESTED!
+H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI
+[VWL]=v1 / BEG _ > U+0627 @v1
+A / BEG _ > HA ;; ADD MORE ? <<<
+Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U
+; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I
+Q?=q1 I / BEG _ ^# > U+0627 @q1 i y ; -I...
+Z Q?=qq (I|E) / _ (#|Z) > @qq i y ;
+UL Q?=q1 U > @q1 U
+Q?=q1 U / # _ # > U+0627 @q1 u w
+Q BAR > U+0020; "| to separate compounds >> IN TRANSLIT THIS WILL BE REMOVED
+
+
+;; Words with anomalous orthography:
+
+; mi'aT -> ماية
+;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy
+m Q i H Q a / _ (T|t) > m U+0627 Hy
+m Q i H a / _ (T|t) > m U+0627 Hy a
+m i H Q a / _ (T|t) > m i U+0627 Hy
+m i H a / _ (T|t) > m i U+0627 Hy a
+
+
+;; contextual analysis of hamzas
+;; THESE DO NOT APPLY FOR SINDHI
+
+; initial hamzas
+H / (#|^[LTR]) _ Q? [Iyi] > Hi
+H Q A / (#|^[LTR]) _ > HA ; alif madda
+H / (#|^[LTR]) _ Q? [Uwu] > Ha
+H / (#|^[LTR]) _ Q? a > Ha
+Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word
+
+; quoted hamzas in contextual mode, equivalent to verbatim mode
+a Q H > Ha
+i Q H > Hi
+y Q H > Hy
+w Q H > Hw
+h Q H > Hh
+A Q H > HA
+B Q H > HB
+BAR Q H > HBAR
+
+; hamza + fathatan
+H / a _ Q? AN > Ha
+;;H / [Iyi] _ Q? AN > Hy
+H / _ Q? AN > Hy
+
+;final hamzas
+H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ...
+H / a _ Q? (#|^[LTR]) > Ha ; not AN...
+H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN...
+H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy
+H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw
+
+;;and more hamzas ...
+
+; n°1: kasra/ya
+H / [LTR] _ Q? [Iyi] ^N > Hy
+H / [Iyi] _ > Hy
+
+; n°2: damma/waw
+H / [LTR] _ Q? (U|u) ^N > Hw
+H / (U|u) _ Q? ^[Iyi] > Hw
+H / U _ > HBAR
+
+; n°3: fatha/alif
+H Q? A > HA
+H / A _ Q? a > HBAR
+H / ^[UI] _ Q? a > Ha
+H / a _ Q? ^[UI] > Ha
+
+
+pass(Unicode)
+
+Class [Digits] = (U+0030..U+0039)
+Class [ArDigits] = (U+0660..U+0669)
+Class [ArEasternDigits] = (U+06F0..U+06F9)
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+
+
+
+
+;normal code
+
+
+(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA
+(P z|U+1E93) > U+0638
+C z C z > U+0698 U+0651 ;;SHADDA
+C z > U+0698
+V z V z > U+0696 U+0651 ;;SHADDA
+V z > U+0696 ;pashto
+z z > U+0632 U+0651 ;;SHADDA
+z > U+0632
+Q Y Y > U+0649 U+0651 ;;SHADDA
+Q Y > U+0649
+Y Y > U+064E U+0649 U+0651 ;;SHADDA
+Y > U+064E U+0649
+;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots
+y y > U+06CC U+0651 ;;SHADDA
+y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots
+v v > U+06A4 U+0651 ;;SHADDA
+v > U+06A4
+W > U+0648 U+0627 ; waw + alif
+C U > U+064F U+0648 U+0653; historical spelling : madda on waw
+C w C w > U+06C9 U+0651 ;;SHADDA
+C w > U+06C9
+CO w CO w > U+06CA U+0651 ;,SHADDA
+CO w > U+06CA
+U A / _ # > U+064F U+0648 U+0627
+Q U [Uw] > U+0648 U+0651 ;;SHADDA
+Q U > U+0648
+U [Uw] > U+064F U+0648 U+0651 ;;SHADDA
+U > U+064F U+0648
+w w > U+0648 U+0651 ;;SHADDA
+w > U+0648
+Q u N? >
+u N > U+064C
+u > U+064F
+V t V t > U+0679 U+0651 ;;SHADDA
+V t > U+0679 ;urdu
+UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA
+UL (t|s) > U+062B
+(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA
+(P t|U+1E6D) > U+0637
+t t > U+062A U+0651 ;;SHADDA
+t > U+062A
+T T Q AN > U+0629 U+0651 ;;SHADDA
+T Q AN > U+0629
+T AN > U+0629 U+064B
+T T > U+0629 U+0651 ;;SHADDA
+T > U+0629
+C s C s > U+0634 U+0651 ;;SHADDA
+C s > U+0634
+(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA
+(P s|U+1E63) > U+0635
+V s V s > U+069A U+0651 ;;SHADDA
+V s > U+069A ;Pashto
+CO s CO s > U+069B U+0651 ;;SHADDA
+CO s > U+069B ; sin with 3 dots below
+s s > U+0633 U+0651 ;;SHADDA
+s > U+0633
+C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<<
+C r > U+06EF
+CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<<
+CO r > U+0697 ; Dargwa language, Dagestan
+P r P r > U+0694 U+0651 ;;SHADDA
+P r > U+0694 ; r with dot below; in Kurdish .r -> 0694
+V r V r > U+0691 U+0651 ;;SHADDA
+V r > U+0691 ;Urdu
+r r > U+0631 U+0651 ;;SHADDA
+r > U+0631
+P q P q > U+066F U+0651 ;;SHADDA
+P q > U+066F
+q q > U+0642 U+0651 ;;SHADDA
+q > U+0642
+p p > U+067E U+0651 ;;SHADDA
+p > U+067E
+CO n CO n > U+06B1 U+0651 ;;SHADDA
+CO n > U+06B1
+C n C n > U+06AD U+0651 ;;SHADDA
+C n > U+06AD
+P n P n > U+06BA U+0651 ;;SHADDA
+P n > U+06BA ; urdu
+V n V n > U+06BC U+0651 ;;SHADDA
+V n > U+06BC ; Pashto
+n n > U+0646 U+0651 ;;SHADDA
+n > U+0646
+m m > U+0645 U+0651 ;;SHADDA
+m > U+0645
+P l P l > U+06B6 U+0651 ;
+P l > U+06B6 ; ADDED <<<
+C l C l > U+06B5 U+0651 ;;SHADDA
+C l > U+06B5 ;kurdish
+l l > U+0644 U+0651 ;;SHADDA
+l > U+0644
+P k P k > U+06A9 U+0651 ;;SHADDA
+P k > U+06A9 ; pashto urdu
+UL k UL k > U+063A U+0651 ;;SHADDA
+UL k > U+063A
+k k > U+0643 U+0651 ;;SHADDA
+k > U+0643
+C g C g > U+062C U+0651 ;;SHADDA
+C g > U+062C
+CO j CO j > U+0684 U+0651 ;;SHADDA
+CO j > U+0684
+j j > U+062C U+0651 ;;SHADDA
+j > U+062C
+Q I > U+064A
+I > U+0650 U+064A
+C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya
+UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ###
+Q i N? > ;
+i N > U+064D
+i > U+0650
+x x > U+062E U+0651 ;;SHADDA
+x > U+062E
+U+0048 Z > U+0647 U+200C U+0020 ;eH-suffix > eH suffix
+U+0048 > U+0647 U+200C ; H is always heh final
+UL h UL h > U+062E U+0651 ;;SHADDA
+UL h > U+062E
+(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA
+(P h|U+1E25) > U+062D
+V h V h > U+06C1 U+0651 ;;SHADDA
+V h > U+06C1
+h h > U+0647 U+0651 ;;SHADDA
+h > U+0647
+CO g CO g > U+06B3 U+0651 ;;SHADDA
+CO g > U+06B3
+V g V g > U+06AC U+0651 ;;SHADDA
+V g > U+06AC ; kaf with dot above
+P g P g > U+063A U+0651 ;;SHADDA
+P g > U+063A
+g g > U+06AF U+0651 ;;SHADDA
+g > U+06AF
+G G > U+06AB U+0651 ;;SHADDA
+G > U+06AB ;pashto
+P f P f > U+06A1 U+0651 ;;SHADDA
+P f > U+06A1
+f f > U+0641 U+0651 ;;SHADDA
+f > U+0641
+V d V d > U+068A U+0651 ;;SHADDA
+V d > U+068A
+P V d P V d > U+068B U+0651 ;;SHADDA
+P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi)
+C d C d > U+06EE U+0651 ;;SHADDA
+C d > U+06EE ; not defined in ArabTeX
+CO d CO d > U+068F U+0651 ;;SHADDA
+CO d > U+068F
+UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA
+UL (d|z) > U+0630
+(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA
+(P d|U+1E0D) > U+0636
+d d > U+062F U+0651 ;;SHADDA
+d > U+062F
+V c V c > U+0685 U+0651 ;;SHADDA
+V c > U+0685 ;pashto
+C c C c > U+0686 U+0651 ;;SHADDA
+C c > U+0686
+P C c P C c > U+06BF U+0651 ;;SHADDA
+P C c > U+06BF ;; cheh with dot above <<<
+c c > U+0681 U+0651 ;;SHADDA
+c > U+0681 ; ح with hamza above
+CO c CO c > U+0682 U+0651 ;;SHADDA
+CO c > U+0682 ; old pashto
+CO b CO b > U+067B U+0651 ;;SHADDA
+CO b > U+067B
+P b P b > U+066E U+0651 ;;SHADDA
+P b > U+066E
+b b > U+0628 U+0651 ;;SHADDA
+b > U+0628
+H A > U+0622
+C A > U+064E U+0622 ; historical spelling
+UL A > U+064E U+0649
+UL a > U+0670
+UL u > U+064F;
+UL i > U+0650;
+Q AN / (A H|Ha) _ > ;
+AN / (A H|Ha) _ > U+064B
+Q AN > U+0627
+AN > U+0627 U+064B
+Q a >
+a > U+064E
+Q A > U+0627
+A > U+064E U+0627
+Ain Ain > U+0639 U+0651 ;;SHADDA
+Ain > U+0639
+H H > U+0621 U+0651 ;;SHADDA
+H > U+0621
+U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma
+Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash
+(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks
+[Digits] > [ArEasternDigits]
+Z Z Z / # _ # > U+2014
+Z Z / # _ # > U+2013
+Z Z > U+0640
+B > U+0640
+Z / # _ > U+200D ; -x > force initial form with "zero-width joiner"
+Z / _ # > U+200D ; x- > force final form
+U+003C U+003C > U+00BB ;<<
+U+003E U+003E > U+00AB ;>>
+U+00AB > U+00BB
+U+00BB > U+00AB
+UL > U+0640 ;_
+U+003F > U+061F ;?
+U+003B > U+061B ;;
+U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above...
+U+002C > U+060C ;,
+U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ...
+U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual
+ ; analysis, so quoting of hamzas etc may be necessary
+;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules
+;U+005B > U+005D ;[
+Q [VWL] > ;stripoff quoted vowels
+Q > U+0652
+U+00B0 > U+0652 ; °
+N > ;
+C > ;^
+BAR > ;|
+
+pass(Unicode)
+
+Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-)
+Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc.
+Class [VWL] = (U+0627 U+0648..U+0650 U+0670);
+Z > ;
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-fullvoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-fullvoc.map
new file mode 100644
index 00000000000..11bd7a0a39b
--- /dev/null
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-fullvoc.map
@@ -0,0 +1,482 @@
+LHSName "ArabTeX-fullvocalized"
+RHSName "UNICODE"
+
+Define a U+0061 ;a
+Define b U+0062 ;b
+Define c U+0063 ;c
+Define d U+0064 ;d
+Define e U+0065 ;e
+Define f U+0066 ;f
+Define g U+0067 ;g
+Define h U+0068 ;h
+Define i U+0069 ;i
+Define j U+006A ;j
+Define k U+006B ;k
+Define l U+006C ;l
+Define m U+006D ;m
+Define n U+006E ;n
+Define o U+006F ;o
+Define p U+0070 ;p
+Define q U+0071 ;q
+Define r U+0072 ;r
+Define s U+0073 ;s
+Define t U+0074 ;t
+Define u U+0075 ;u
+Define v U+0076 ;v
+Define w U+0077 ;w
+Define x U+0078 ;x
+Define y U+0079 ;y
+Define z U+007A ;z
+Define A U+0041 ;A
+Define B U+0042 ;B
+Define E U+0045 ;E
+Define G U+0047 ;G
+Define I U+0049 ;I
+Define N U+004E ;N
+Define O U+004F ;O
+Define T U+0054 ;T
+Define U U+0055 ;U
+Define W U+0057 ;W
+Define Y U+0059 ;Y
+Define C U+005E ;^ << CARET
+Define UL U+005F ;_ << UNDERLINE
+Define P U+002E ;. << DOT
+Define V U+002C ;, << COMMA (_V_irgule)
+Define CO U+003A ;: << COLON
+Define SC U+003B ;; << SEMICOLON
+Define Ain U+0060 ;`
+Define H U+0027 ;' << HAMZA
+Define Q U+0022 ;" << QUOTE
+Define Z U+002D ;- << HYPHEN
+Define BAR U+007C ;|
+Define AN U+0061 U+004E ; aN
+Define LLAH U+006C U+006C U+005F U+0061 U+0068
+;Define NUL U+00A6;
+Define Ha U+0623
+Define Hi U+0625
+Define Hy U+0626
+Define Hw U+0624
+Define Hh U+06C0 ;; = U+0647 U+0654
+Define HA U+0622
+Define HB U+0640 U+0654
+Define HBAR U+0621 ; '|
+
+pass(Unicode)
+
+U+E000 > ; eliminate special code for capitalization in transliterations
+
+pass(Unicode)
+
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [AVWL] = (U+064B..U+0650);
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" `
+Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ”
+Class [PUNCT] = (V SC P CO)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u)
+;Class [ae] = (U+0061 U+0065) ;(a e)
+;Class [ou] = (U+0075 U+006F) ;(u o)
+Class [Iyi] = (U+0069 U+0079 U+0049)
+Class [UI] = (U+0049 U+0055) ; U I
+Class [Digits] = (U+0030..U+0039)
+
+Define BEG (#|Z|[BRACKETS])
+Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #)
+Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z)
+
+; special ligatures
+;; 1. Standard ArabTeX input
+;; WARNING! there are, alas, two classes of Arabic fonts:
+;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2
+;; For these the ligature llah can be accessed by the sequence lam-lam-ha
+;; b) Those that do not have the initial alif in U+FDF2
+;; The BAR is used in the DMG transliteration to suppress the initial A
+(a|A) BAR? l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah'
+LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h'
+;; UPPERCASE mnemonics for various ligatures or special glyphs
+;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode
+U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h'
+U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic
+;; 2b. Ligatures and glyphs defined in Unicode:
+U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH'
+U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH'
+
+U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam
+U+0028 U+0028 > U+FD3F ;; '((' : ornate right par
+U+0029 U+0029 > U+FD3E ;; '))' : ornate left par
+U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign
+;; most fonts won't have the following ones:
+U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign)
+U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign
+U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR'
+U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD'
+U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM'
+U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL')
+U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE')
+U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM'
+U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA'
+U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu"
+U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik
+
+U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY
+U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY
+U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM-
+U+005E U+004C U+0041 > U+06D9 ;; ^LA
+U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM
+U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS
+U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN
+U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB
+U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO
+U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO
+U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM
+U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM
+U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN
+U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA
+U+0057 U+0041 U+0057 > U+06E5 ;; WAW
+U+0059 U+0045 U+0048 > U+06E6 ;; YEH
+U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH
+U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN
+U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA
+U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP
+U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP
+U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP
+U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM
+
+U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::")
+
+;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts
+U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]]
+
+
+; vowels
+u u > U
+i i > I
+a a > A
+CO O > U+06FC ;
+a e > a y
+a o > a w
+CO U > U+06C7 ;
+e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish)
+o > u
+E > I
+O > U
+
+
+
+;; initial characters ...
+a l Z / BEG _ > U+0627 l Z
+H l Z / BEG _ > U+0671 l Z ; THIS IS NOT AN ARABTEX CONVENTION! it's a work-around coz pattern-matching across word boundaries does not work in teckit , so min al- must be written mina 'l- in fullvocalize mode
+;; wasla on initial alif : NEW! NOT TESTED!
+[VWL]=v1 Z / BEG _ > @v1 U+0671 ; THIS IS NOT AN ARABTEX CONVENTION! it's a work-around coz pattern-matching across word boundaries does not work in teckit , so huwa irtifA` must be written huwa i-rtifA` in fullvocalize mode
+H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI
+[VWL]=v1 / BEG _ > U+0627 @v1
+A / BEG _ > U+0627 a
+Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U
+; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I
+Q?=q1 I / BEG _ > U+0627 @q1 i y
+
+
+;; Words with anomalous orthography:
+
+; mi'aT -> ماية
+;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy
+m Q i H Q a / _ (T|t) > m U+0627 Hy
+m Q i H a / _ (T|t) > m U+0627 Hy a
+m i H Q a / _ (T|t) > m i U+0627 Hy
+m i H a / _ (T|t) > m i U+0627 Hy a
+
+
+;; contextual analysis of hamzas
+;; THESE DO NOT APPLY FOR SINDHI
+
+; initial hamzas
+H / (#|^[LTR]) _ Q? [Iyi] > Hi
+H Q A / (#|^[LTR]) _ > HA ; alif madda
+H / (#|^[LTR]) _ Q? [Uwu] > Ha
+H / (#|^[LTR]) _ Q? a > Ha
+Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word
+
+; quoted hamzas in contextual mode, equivalent to verbatim mode
+a Q H > Ha
+i Q H > Hi
+y Q H > Hy
+w Q H > Hw
+h Q H > Hh
+A Q H > HA
+B Q H > HB
+BAR Q H > HBAR
+
+; hamza + fathatan
+H / a _ Q? AN > Ha
+;;H / [Iyi] _ Q? AN > Hy
+H / _ Q? AN > Hy
+
+;final hamzas
+H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ...
+H / a _ Q? (#|^[LTR]) > Ha ; not AN...
+H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN...
+H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy
+H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw
+
+;;and more hamzas ...
+
+; n°1: kasra/ya
+H / [LTR] _ Q? [Iyi] ^N > Hy
+H / [Iyi] _ > Hy
+
+; n°2: damma/waw
+H / [LTR] _ Q? (U|u) ^N > Hw
+H / (U|u) _ Q? ^[Iyi] > Hw
+H / U _ > HBAR
+
+; n°3: fatha/alif
+H Q? A > HA
+H / A _ Q? a > HBAR
+H / ^[UI] _ Q? a > Ha
+H / a _ Q? ^[UI] > Ha
+
+
+pass(Unicode)
+
+Class [Digits] = (U+0030..U+0039)
+Class [ArDigits] = (U+0660..U+0669)
+Class [ArEasternDigits] = (U+06F0..U+06F9)
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+
+
+
+
+;normal code
+
+
+(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA
+(P z|U+1E93) > U+0638
+C z C z > U+0698 U+0651 ;;SHADDA
+C z > U+0698
+V z V z > U+0696 U+0651 ;;SHADDA
+V z > U+0696 ;pashto
+z z > U+0632 U+0651 ;;SHADDA
+z > U+0632
+Q Y Y > U+0649 U+0651 ;;SHADDA
+Q Y > U+0649
+Y Y > U+064E U+0649 U+0651 ;;SHADDA
+Y > U+064E U+0649
+P I P I / _ # > U+0650 U+06CC U+0651 ;; SHADDA
+P I / _ # > U+0650 U+06CC ;; workaround to have ya without dots in Arabic
+y y > U+064A U+0651 ;;SHADDA
+y > U+064A
+v v > U+06A4 U+0651 ;;SHADDA
+v > U+06A4
+W > U+0648 U+0627 ; waw + alif
+C U > U+064F U+0648 U+0653; historical spelling : madda on waw
+C w C w > U+06C9 U+0651 ;;SHADDA
+C w > U+06C9
+CO w CO w > U+06CA U+0651 ;,SHADDA
+CO w > U+06CA
+U A / _ # > U+064F U+0648 U+0627
+Q U [Uw] > U+0648 U+0651 ;;SHADDA
+Q U > U+0648
+U [Uw] > U+064F U+0648 U+0651 ;;SHADDA
+U > U+064F U+0648
+w w > U+0648 U+0651 ;;SHADDA
+w > U+0648
+Q u N? >
+u N > U+064C
+u > U+064F
+V t V t > U+0679 U+0651 ;;SHADDA
+V t > U+0679 ;urdu
+UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA
+UL (t|s) > U+062B
+(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA
+(P t|U+1E6D) > U+0637
+t t > U+062A U+0651 ;;SHADDA
+t > U+062A
+T T Q AN > U+0629 U+0651 ;;SHADDA
+T Q AN > U+0629
+T AN > U+0629 U+064B
+T T > U+0629 U+0651 ;;SHADDA
+T > U+0629
+C s C s > U+0634 U+0651 ;;SHADDA
+C s > U+0634
+(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA
+(P s|U+1E63) > U+0635
+V s V s > U+069A U+0651 ;;SHADDA
+V s > U+069A ;Pashto
+CO s CO s > U+069B U+0651 ;;SHADDA
+CO s > U+069B ; sin with 3 dots below
+s s > U+0633 U+0651 ;;SHADDA
+s > U+0633
+C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<<
+C r > U+06EF
+CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<<
+CO r > U+0697 ; Dargwa language, Dagestan
+P r P r > U+0694 U+0651 ;;SHADDA
+P r > U+0694 ; r with dot below; in Kurdish .r -> 0694
+V r V r > U+0691 U+0651 ;;SHADDA
+V r > U+0691 ;Urdu
+r r > U+0631 U+0651 ;;SHADDA
+r > U+0631
+P q P q > U+066F U+0651 ;;SHADDA
+P q > U+066F
+q q > U+0642 U+0651 ;;SHADDA
+q > U+0642
+p p > U+067E U+0651 ;;SHADDA
+p > U+067E
+CO n CO n > U+06B1 U+0651 ;;SHADDA
+CO n > U+06B1
+C n C n > U+06AD U+0651 ;;SHADDA
+C n > U+06AD
+P n P n > U+06BA U+0651 ;;SHADDA
+P n > U+06BA ; urdu
+V n V n > U+06BC U+0651 ;;SHADDA
+V n > U+06BC ; Pashto
+n n > U+0646 U+0651 ;;SHADDA
+n > U+0646
+m m > U+0645 U+0651 ;;SHADDA
+m > U+0645
+P l P l > U+06B6 U+0651 ;
+P l > U+06B6 ; ADDED <<<
+C l C l > U+06B5 U+0651 ;;SHADDA
+C l > U+06B5 ;kurdish
+l l > U+0644 U+0651 ;;SHADDA
+l > U+0644
+P k P k > U+06A9 U+0651 ;;SHADDA
+P k > U+06A9 ; pashto urdu
+UL k UL k > U+063A U+0651 ;;SHADDA
+UL k > U+063A
+k k > U+0643 U+0651 ;;SHADDA
+k > U+0643
+C g C g > U+062C U+0651 ;;SHADDA
+C g > U+062C
+CO j CO j > U+0684 U+0651 ;;SHADDA
+CO j > U+0684
+j j > U+062C U+0651 ;;SHADDA
+j > U+062C
+Q I > U+064A
+I > U+0650 U+064A
+C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya
+UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ###
+Q i N? > ;
+i N > U+064D
+i > U+0650
+x x > U+062E U+0651 ;;SHADDA
+x > U+062E
+UL h UL h > U+062E U+0651 ;;SHADDA
+UL h > U+062E
+(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA
+(P h|U+1E25) > U+062D
+V h V h > U+06C1 U+0651 ;;SHADDA
+V h > U+06C1
+h h > U+0647 U+0651 ;;SHADDA
+h > U+0647
+CO g CO g > U+06B3 U+0651 ;;SHADDA
+CO g > U+06B3
+V g V g > U+06AC U+0651 ;;SHADDA
+V g > U+06AC ; kaf with dot above
+P g P g > U+063A U+0651 ;;SHADDA
+P g > U+063A
+g g > U+06AF U+0651 ;;SHADDA
+g > U+06AF
+G G > U+06AB U+0651 ;;SHADDA
+G > U+06AB ;pashto
+P f P f > U+06A1 U+0651 ;;SHADDA
+P f > U+06A1
+f f > U+0641 U+0651 ;;SHADDA
+f > U+0641
+V d V d > U+068A U+0651 ;;SHADDA
+V d > U+068A
+P V d P V d > U+068B U+0651 ;;SHADDA
+P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi)
+C d C d > U+06EE U+0651 ;;SHADDA
+C d > U+06EE ; not defined in ArabTeX
+CO d CO d > U+068F U+0651 ;;SHADDA
+CO d > U+068F
+UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA
+UL (d|z) > U+0630
+(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA
+(P d|U+1E0D) > U+0636
+d d > U+062F U+0651 ;;SHADDA
+d > U+062F
+V c V c > U+0685 U+0651 ;;SHADDA
+V c > U+0685 ;pashto
+C c C c > U+0686 U+0651 ;;SHADDA
+C c > U+0686
+P C c P C c > U+06BF U+0651 ;;SHADDA
+P C c > U+06BF ;; cheh with dot above <<<
+c c > U+0681 U+0651 ;;SHADDA
+c > U+0681 ; ح with hamza above
+CO c CO c > U+0682 U+0651 ;;SHADDA
+CO c > U+0682 ; old pashto
+CO b CO b > U+067B U+0651 ;;SHADDA
+CO b > U+067B
+P b P b > U+066E U+0651 ;;SHADDA
+P b > U+066E
+b b > U+0628 U+0651 ;;SHADDA
+b > U+0628
+H A > U+0622
+C A > U+064E U+0622 ; historical spelling
+UL A > U+064E U+0649
+UL a > U+0670
+UL u > U+0657 ; inverted damma
+UL i > U+0656 ; subscript alif
+Q AN / (A H|Ha) _ > ;
+AN / (A H|Ha) _ > U+064B
+Q AN > U+0627
+AN > U+0627 U+064B
+Q a >
+a > U+064E
+Q A > U+0627
+A > U+064E U+0627
+Ain Ain > U+0639 U+0651 ;;SHADDA
+Ain > U+0639
+H H > U+0621 U+0651 ;;SHADDA
+H > U+0621
+U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma
+Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash
+(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks
+[Digits] > [ArDigits]
+Z Z Z / # _ # > U+2014
+Z Z / # _ # > U+2013
+Z Z > U+0640
+B > U+0640
+Z / # _ > U+200D ; -x > force initial form with "zero-width joiner"
+Z / _ # > U+200D ; x- > force final form
+U+003C U+003C > U+00BB ;<<
+U+003E U+003E > U+00AB ;>>
+U+00AB > U+00BB
+U+00BB > U+00AB
+UL > U+0640 ;_
+U+003F > U+061F ;?
+U+003B > U+061B ;;
+U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above...
+U+002C > U+060C ;,
+U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ...
+U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual
+ ; analysis, so quoting of hamzas etc may be necessary
+;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules
+;U+005B > U+005D ;[
+Q [VWL] > ;stripoff quoted vowels
+U+00B0 > U+0652 ; °
+N > ;
+C > ;^
+BAR > ;|
+
+pass(Unicode)
+
+Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-)
+Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc.
+Class [VWL] = (U+0627 U+0648..U+0650 U+0670);
+[CONS]=k1 / _ Z? [CONS] ^U+0651 > @k1 U+0652 ; hack: 2nd consonant has no shadda
+U+064E (U+064A|U+0648)=hc / _ (^[VWLX]|#) > U+064E @hc U+0652 ; ay and aw diphtongs
+U+0627 [VWL]? / [VWL] Z _ > U+0671 ; e.g. fa-isti_hraj -> wasla on initial alif
+U+0627 / # _ U+0644 > U+0627 U+064E ; otherwise initial alif takes fatha
+[CONS]=k1 / _ ([CONS]|#) > @k1 U+0652 ; consonant + (consonant or final)
+;; [CONS]=k1 / _ # > @k1 U+0652 ; final consonant
+Q > ;
+Z > ;
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-fullvoc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-fullvoc.tec
index 5973ffd9927..46a3e4c598e 100644
--- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-fullvoc.tec
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-fullvoc.tec
Binary files differ
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-kashmiri-fullvoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-kashmiri-fullvoc.map
new file mode 100644
index 00000000000..769b6bde7e8
--- /dev/null
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-kashmiri-fullvoc.map
@@ -0,0 +1,513 @@
+LHSName "ArabTeX-kashmiri-fullvocalized"
+RHSName "UNICODE"
+
+Define a U+0061 ;a
+Define b U+0062 ;b
+Define c U+0063 ;c
+Define d U+0064 ;d
+Define e U+0065 ;e
+Define f U+0066 ;f
+Define g U+0067 ;g
+Define h U+0068 ;h
+Define i U+0069 ;i
+Define j U+006A ;j
+Define k U+006B ;k
+Define l U+006C ;l
+Define m U+006D ;m
+Define n U+006E ;n
+Define o U+006F ;o
+Define p U+0070 ;p
+Define q U+0071 ;q
+Define r U+0072 ;r
+Define s U+0073 ;s
+Define t U+0074 ;t
+Define u U+0075 ;u
+Define v U+0076 ;v
+Define w U+0077 ;w
+Define x U+0078 ;x
+Define y U+0079 ;y
+Define z U+007A ;z
+Define A U+0041 ;A
+Define B U+0042 ;B
+Define E U+0045 ;E
+Define G U+0047 ;G
+Define I U+0049 ;I
+Define N U+004E ;N
+Define O U+004F ;O
+Define T U+0054 ;T
+Define U U+0055 ;U
+Define W U+0057 ;W
+Define Y U+0059 ;Y
+Define C U+005E ;^ << CARET
+Define UL U+005F ;_ << UNDERLINE
+Define P U+002E ;. << DOT
+Define V U+002C ;, << COMMA (_V_irgule)
+Define CO U+003A ;: << COLON
+Define SC U+003B ;; << SEMICOLON
+Define Ain U+0060 ;`
+Define H U+0027 ;' << HAMZA
+Define Q U+0022 ;" << QUOTE
+Define Z U+002D ;- << HYPHEN
+Define BAR U+007C ;|
+Define AN U+0061 U+004E ; aN
+Define LLAH U+006C U+006C U+005F U+0061 U+0068
+;Define NUL U+00A6;
+Define Ha U+0623
+Define Hi U+0625
+Define Hy U+0626
+Define Hw U+0624
+Define Hh U+06C0 ;; = U+0647 U+0654
+Define HA U+0622
+Define HB U+0640 U+0654
+Define HBAR U+0621 ; '|
+
+pass(Unicode)
+
+U+E000 > ; eliminate special code for capitalization in transliterations
+
+pass(Unicode)
+
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [AVWL] = (U+064B..U+0650);
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" `
+Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ”
+Class [PUNCT] = (V SC P CO)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u)
+;Class [ae] = (U+0061 U+0065) ;(a e)
+;Class [ou] = (U+0075 U+006F) ;(u o)
+Class [Iyi] = (U+0069 U+0079 U+0049)
+Class [UI] = (U+0049 U+0055) ; U I
+Class [Digits] = (U+0030..U+0039)
+
+Define BEG (#|Z|[BRACKETS])
+Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #)
+Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z)
+
+; special ligatures
+;; 1. Standard ArabTeX input
+;; WARNING! there are, alas, two classes of Arabic fonts:
+;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2
+;; For these the ligature llah can be accessed by the sequence lam-lam-ha
+;; b) Those that do not have the initial alif in U+FDF2
+;; The BAR is used in the DMG transliteration to suppress the initial A
+(a|A) BAR? l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah'
+LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h'
+;; UPPERCASE mnemonics for various ligatures or special glyphs
+;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode
+U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h'
+U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic
+;; 2b. Ligatures and glyphs defined in Unicode:
+U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH'
+U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH'
+
+U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam
+U+0028 U+0028 > U+FD3F ;; '((' : ornate right par
+U+0029 U+0029 > U+FD3E ;; '))' : ornate left par
+U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign
+;; most fonts won't have the following ones:
+U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign)
+U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign
+U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR'
+U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD'
+U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM'
+U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL')
+U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE')
+U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM'
+U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA'
+U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu"
+U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik
+
+U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY
+U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY
+U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM-
+U+005E U+004C U+0041 > U+06D9 ;; ^LA
+U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM
+U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS
+U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN
+U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB
+U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO
+U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO
+U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM
+U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM
+U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN
+U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA
+U+0057 U+0041 U+0057 > U+06E5 ;; WAW
+U+0059 U+0045 U+0048 > U+06E6 ;; YEH
+U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH
+U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN
+U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA
+U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP
+U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP
+U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP
+U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM
+
+U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::")
+
+;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts
+U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]]
+
+
+; vowels
+u u > U
+i i > I
+a a > A
+CO O > U+06FC ;
+a e > a y
+a o > a w
+(o|u)? O / # _ > U+0627 w
+(o|u)? O > w
+CO U > U+06C7 ;
+e / # _ # > U+0627 U+06D2 U+0658 ; Alif + yeh barree + bow accent
+e / _ # > U+06D2 U+0658 ; yeh barree + bow accent
+e / # _ > U+0627 y U+0658 ; alif + ya + bow accent
+e > y U+0658
+E / # _ # > U+0627 U+06D2 ; Alif + yeh barree
+E / _ # > U+06D2 ; yeh barree
+E / # _ > U+0627 y ; alif + ya
+E > y
+o / # _ > U+0627 U+06C6
+o > U+06C6
+P A > U+0672
+P U > U+0673 ; > this is the initial or lone form, but medial and final require wavy hamza below previous letter (not in Unicode)! Perhaps an OT font could solve this :: in Scheherazade the glyph needed is named _wavyHamza <<<
+P a / # _ > U+0623
+P a > U+0654
+P u > U+0655
+P o / # _ > U+0627 U+06C4
+P o > U+06C4
+P O / # _ > U+0627 U+06C4 U+0627 U+064E
+P O > U+06C4 U+0627 U+064E
+I > y U+0656
+I / _ # > y
+U / _ # > U+0627 w U+0657
+U > w U+0657
+
+
+;; Persian ezafe (ALL BUT ARABIC AND UIGHUR)
+U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<<
+U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I
+Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e
+Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I
+Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i
+Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i
+Z / U+0048 _ > U+0020 ;
+b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen
+
+;; initial characters ...
+a l Z / BEG _ > U+0627 l Z
+;; wasla on initial alif : NEW! NOT TESTED!
+H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI
+[VWL]=v1 / BEG _ > U+0627 @v1
+Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U
+; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I
+Q?=q1 I / BEG _ > U+0627 @q1 i y
+
+
+;; Words with anomalous orthography:
+
+; mi'aT -> ماية
+;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy
+m Q i H Q a / _ (T|t) > m U+0627 Hy
+m Q i H a / _ (T|t) > m U+0627 Hy a
+m i H Q a / _ (T|t) > m i U+0627 Hy
+m i H a / _ (T|t) > m i U+0627 Hy a
+
+
+;; contextual analysis of hamzas
+;; THESE DO NOT APPLY FOR SINDHI
+
+; initial hamzas
+H / (#|^[LTR]) _ Q? [Iyi] > Hi
+H Q A / (#|^[LTR]) _ > HA ; alif madda
+H / (#|^[LTR]) _ Q? [Uwu] > Ha
+H / (#|^[LTR]) _ Q? a > Ha
+Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word
+
+; quoted hamzas in contextual mode, equivalent to verbatim mode
+a Q H > Ha
+i Q H > Hi
+y Q H > Hy
+w Q H > Hw
+h Q H > Hh
+A Q H > HA
+B Q H > HB
+BAR Q H > HBAR
+
+; hamza + fathatan
+H / a _ Q? AN > Ha
+;;H / [Iyi] _ Q? AN > Hy
+H / _ Q? AN > Hy
+
+;final hamzas
+H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ...
+H / a _ Q? (#|^[LTR]) > Ha ; not AN...
+H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN...
+H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy
+H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw
+
+;;and more hamzas ...
+
+; n°1: kasra/ya
+H / [LTR] _ Q? [Iyi] ^N > Hy
+H / [Iyi] _ > Hy
+
+; n°2: damma/waw
+H / [LTR] _ Q? (U|u) ^N > Hw
+H / (U|u) _ Q? ^[Iyi] > Hw
+H / U _ > HBAR
+
+; n°3: fatha/alif
+H Q? A > HA
+H / A _ Q? a > HBAR
+H / ^[UI] _ Q? a > Ha
+H / a _ Q? ^[UI] > Ha
+
+
+pass(Unicode)
+
+Class [Digits] = (U+0030..U+0039)
+Class [ArDigits] = (U+0660..U+0669)
+Class [ArEasternDigits] = (U+06F0..U+06F9)
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+
+
+
+
+;normal code
+
+
+CO z CO z > U+0636 U+0651 ;;SHADDA
+CO z > U+0636
+(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA
+(P z|U+1E93) > U+0638
+C z C z > U+0698 U+0651 ;;SHADDA
+C z > U+0698
+V z V z > U+0696 U+0651 ;;SHADDA
+V z > U+0696 ;pashto
+z z > U+0632 U+0651 ;;SHADDA
+z > U+0632
+Q Y Y > U+0649 U+0651 ;;SHADDA
+Q Y > U+0649
+Y Y > U+064E U+0649 U+0651 ;;SHADDA
+Y > U+064E U+0649
+;; .b with ring below : FIXME not in Unicode! but U+06EA is a poor replacement:
+P y / # _ # > U+0627 U+06D2 U+06EA
+P y / _ # > U+0649
+P y > U+066E U+06EA
+;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots
+y y > U+06CC U+0651 ;;SHADDA
+y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots
+v v > U+06A4 U+0651 ;;SHADDA
+v > U+06A4
+W > U+0648 U+0627 ; waw + alif
+C U > U+064F U+0648 U+0653; historical spelling : madda on waw
+C w C w > U+06C9 U+0651 ;;SHADDA
+C w > U+06C9
+CO w CO w > U+06CA U+0651 ;,SHADDA
+CO w > U+06CA
+U A / _ # > U+064F U+0648 U+0627
+Q U [Uw] > U+0648 U+0651 ;;SHADDA
+Q U > U+0648
+U [Uw] > U+064F U+0648 U+0651 ;;SHADDA
+U > U+064F U+0648
+w w > U+0648 U+0651 ;;SHADDA
+w > U+0648
+Q u N? >
+u N > U+064C
+u > U+064F
+V t V t > U+0679 U+0651 ;;SHADDA
+V t > U+0679 ;urdu
+UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA
+UL (t|s) > U+062B
+(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA
+(P t|U+1E6D) > U+0637
+t t > U+062A U+0651 ;;SHADDA
+t > U+062A
+T T Q AN > U+0629 U+0651 ;;SHADDA
+T Q AN > U+0629
+T AN > U+0629 U+064B
+T T > U+0629 U+0651 ;;SHADDA
+T > U+0629
+C s C s > U+0634 U+0651 ;;SHADDA
+C s > U+0634
+(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA
+(P s|U+1E63) > U+0635
+V s V s > U+069A U+0651 ;;SHADDA
+V s > U+069A ;Pashto
+CO s CO s > U+069B U+0651 ;;SHADDA
+CO s > U+069B ; sin with 3 dots below
+s s > U+0633 U+0651 ;;SHADDA
+s > U+0633
+C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<<
+C r > U+06EF
+CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<<
+CO r > U+0697 ; Dargwa language, Dagestan
+P r P r > U+0694 U+0651 ;;SHADDA
+P r > U+0694 ; r with dot below; in Kurdish .r -> 0694
+V r V r > U+0691 U+0651 ;;SHADDA
+V r > U+0691 ;Urdu
+r r > U+0631 U+0651 ;;SHADDA
+r > U+0631
+P q P q > U+066F U+0651 ;;SHADDA
+P q > U+066F
+q q > U+0642 U+0651 ;;SHADDA
+q > U+0642
+p p > U+067E U+0651 ;;SHADDA
+p > U+067E
+CO n CO n > U+06B1 U+0651 ;;SHADDA
+CO n > U+06B1
+C n C n > U+06AD U+0651 ;;SHADDA
+C n > U+06AD
+P n P n > U+06BA U+0651 ;;SHADDA
+P n > U+06BA ; urdu
+V n V n > U+06BC U+0651 ;;SHADDA
+V n > U+06BC ; Pashto
+n n > U+0646 U+0651 ;;SHADDA
+n > U+0646
+m m > U+0645 U+0651 ;;SHADDA
+m > U+0645
+P l P l > U+06B6 U+0651 ;
+P l > U+06B6 ; ADDED <<<
+C l C l > U+06B5 U+0651 ;;SHADDA
+C l > U+06B5 ;kurdish
+l l > U+0644 U+0651 ;;SHADDA
+l > U+0644
+P k P k > U+06A9 U+0651 ;;SHADDA
+P k > U+06A9 ; pashto urdu
+UL k UL k > U+063A U+0651 ;;SHADDA
+UL k > U+063A
+k k > U+0643 U+0651 ;;SHADDA
+k > U+0643
+C g C g > U+062C U+0651 ;;SHADDA
+C g > U+062C
+CO j CO j > U+0684 U+0651 ;;SHADDA
+CO j > U+0684
+j j > U+062C U+0651 ;;SHADDA
+j > U+062C
+Q I > U+064A
+I > U+0650 U+064A
+C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya
+UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ###
+Q i N? > ;
+i N > U+064D
+i > U+0650
+x x > U+062E U+0651 ;;SHADDA
+x > U+062E
+UL h UL h > U+062E U+0651 ;;SHADDA
+UL h > U+062E
+(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA
+(P h|U+1E25) > U+062D
+V h V h > U+06C1 U+0651 ;;SHADDA
+V h > U+06C1
+h h > U+0647 U+0651 ;;SHADDA
+h > U+0647
+CO g CO g > U+06B3 U+0651 ;;SHADDA
+CO g > U+06B3
+V g V g > U+06AC U+0651 ;;SHADDA
+V g > U+06AC ; kaf with dot above
+P g P g > U+063A U+0651 ;;SHADDA
+P g > U+063A
+g g > U+06AF U+0651 ;;SHADDA
+g > U+06AF
+G G > U+06AB U+0651 ;;SHADDA
+G > U+06AB ;pashto
+P f P f > U+06A1 U+0651 ;;SHADDA
+P f > U+06A1
+f f > U+0641 U+0651 ;;SHADDA
+f > U+0641
+V d V d > U+068A U+0651 ;;SHADDA
+V d > U+068A
+P V d P V d > U+068B U+0651 ;;SHADDA
+P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi)
+C d C d > U+06EE U+0651 ;;SHADDA
+C d > U+06EE ; not defined in ArabTeX
+CO d CO d > U+068F U+0651 ;;SHADDA
+CO d > U+068F
+UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA
+UL (d|z) > U+0630
+(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA
+(P d|U+1E0D) > U+0636
+d d > U+062F U+0651 ;;SHADDA
+d > U+062F
+V c V c > U+0685 U+0651 ;;SHADDA
+V c > U+0685 ;pashto
+C c C c > U+0686 U+0651 ;;SHADDA
+C c > U+0686
+P C c P C c > U+06BF U+0651 ;;SHADDA
+P C c > U+06BF ;; cheh with dot above <<<
+c c > U+0681 U+0651 ;;SHADDA
+c > U+0681 ; ح with hamza above
+CO c CO c > U+0682 U+0651 ;;SHADDA
+CO c > U+0682 ; old pashto
+CO b CO b > U+067B U+0651 ;;SHADDA
+CO b > U+067B
+P b P b > U+066E U+0651 ;;SHADDA
+P b > U+066E
+b b > U+0628 U+0651 ;;SHADDA
+b > U+0628
+H A > U+0622
+C A > U+064E U+0622 ; historical spelling
+UL A > U+064E U+0649
+UL a > U+0670
+UL u > U+064F;
+UL i > U+0650;
+Q AN / (A H|Ha) _ > ;
+AN / (A H|Ha) _ > U+064B
+Q AN > U+0627
+AN > U+0627 U+064B
+Q a >
+a > U+064E
+Q A > U+0627
+A > U+064E U+0627
+Ain Ain > U+0639 U+0651 ;;SHADDA
+Ain > U+0639
+H H > U+0621 U+0651 ;;SHADDA
+H > U+0621
+U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma
+Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash
+(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks
+[Digits] > [ArEasternDigits]
+Z Z Z / # _ # > U+2014
+Z Z / # _ # > U+2013
+Z Z > U+0640
+B > U+0640
+Z / # _ > U+200D ; -x > force initial form with "zero-width joiner"
+Z / _ # > U+200D ; x- > force final form
+U+003C U+003C > U+00BB ;<<
+U+003E U+003E > U+00AB ;>>
+U+00AB > U+00BB
+U+00BB > U+00AB
+UL > U+0640 ;_
+U+003F > U+061F ;?
+U+003B > U+061B ;;
+U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above...
+U+002C > U+060C ;,
+U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ...
+U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual
+ ; analysis, so quoting of hamzas etc may be necessary
+;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules
+;U+005B > U+005D ;[
+Q [VWL] > ;stripoff quoted vowels
+U+00B0 > U+0652 ; °
+N > ;
+C > ;^
+BAR > ;|
+
+pass(Unicode)
+
+Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-)
+Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc.
+Class [VWL] = (U+0627 U+0648..U+0650 U+0670);
+[CONS]=k1 / _ Z? [CONS] ^U+0651 > @k1 U+0652 ; hack: 2nd consonant has no shadda
+U+064E (U+064A|U+0648)=hc / _ (^[VWLX]|#) > U+064E @hc U+0652 ; ay and aw diphtongs
+U+0627 / # _ U+0644 > U+0627 U+064E ; otherwise initial alif takes fatha
+[CONS]=k1 / _ ([CONS]|#) > @k1 U+0652 ; consonant + (consonant or final)
+;; [CONS]=k1 / _ # > @k1 U+0652 ; final consonant
+Q > ;
+Z > ;
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-kashmiri-novoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-kashmiri-novoc.map
new file mode 100644
index 00000000000..99b2e76a64d
--- /dev/null
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-kashmiri-novoc.map
@@ -0,0 +1,498 @@
+LHSName "ArabTeX-kashmiri-novowels"
+RHSName "UNICODE"
+
+Define a U+0061 ;a
+Define b U+0062 ;b
+Define c U+0063 ;c
+Define d U+0064 ;d
+Define e U+0065 ;e
+Define f U+0066 ;f
+Define g U+0067 ;g
+Define h U+0068 ;h
+Define i U+0069 ;i
+Define j U+006A ;j
+Define k U+006B ;k
+Define l U+006C ;l
+Define m U+006D ;m
+Define n U+006E ;n
+Define o U+006F ;o
+Define p U+0070 ;p
+Define q U+0071 ;q
+Define r U+0072 ;r
+Define s U+0073 ;s
+Define t U+0074 ;t
+Define u U+0075 ;u
+Define v U+0076 ;v
+Define w U+0077 ;w
+Define x U+0078 ;x
+Define y U+0079 ;y
+Define z U+007A ;z
+Define A U+0041 ;A
+Define B U+0042 ;B
+Define E U+0045 ;E
+Define G U+0047 ;G
+Define I U+0049 ;I
+Define N U+004E ;N
+Define O U+004F ;O
+Define T U+0054 ;T
+Define U U+0055 ;U
+Define W U+0057 ;W
+Define Y U+0059 ;Y
+Define C U+005E ;^ << CARET
+Define UL U+005F ;_ << UNDERLINE
+Define P U+002E ;. << DOT
+Define V U+002C ;, << COMMA (_V_irgule)
+Define CO U+003A ;: << COLON
+Define SC U+003B ;; << SEMICOLON
+Define Ain U+0060 ;`
+Define H U+0027 ;' << HAMZA
+Define Q U+0022 ;" << QUOTE
+Define Z U+002D ;- << HYPHEN
+Define BAR U+007C ;|
+Define AN U+0061 U+004E ; aN
+Define LLAH U+006C U+006C U+005F U+0061 U+0068
+;Define NUL U+00A6;
+Define Ha U+0623
+Define Hi U+0625
+Define Hy U+0626
+Define Hw U+0624
+Define Hh U+06C0 ;; = U+0647 U+0654
+Define HA U+0622
+Define HB U+0640 U+0654
+Define HBAR U+0621 ; '|
+
+pass(Unicode)
+
+U+E000 > ; eliminate special code for capitalization in transliterations
+
+pass(Unicode)
+
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [AVWL] = (U+064B..U+0650);
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" `
+Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ”
+Class [PUNCT] = (V SC P CO)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u)
+;Class [ae] = (U+0061 U+0065) ;(a e)
+;Class [ou] = (U+0075 U+006F) ;(u o)
+Class [Iyi] = (U+0069 U+0079 U+0049)
+Class [UI] = (U+0049 U+0055) ; U I
+Class [Digits] = (U+0030..U+0039)
+
+Define BEG (#|Z|[BRACKETS])
+Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #)
+Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z)
+
+; special ligatures
+;; 1. Standard ArabTeX input
+;; WARNING! there are, alas, two classes of Arabic fonts:
+;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2
+;; For these the ligature llah can be accessed by the sequence lam-lam-ha
+;; b) Those that do not have the initial alif in U+FDF2
+;; The BAR is used in the DMG transliteration to suppress the initial A
+(a|A) BAR? l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah'
+LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h'
+;; UPPERCASE mnemonics for various ligatures or special glyphs
+;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode
+U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h'
+U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic
+;; 2b. Ligatures and glyphs defined in Unicode:
+U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH'
+U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH'
+
+U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam
+U+0028 U+0028 > U+FD3F ;; '((' : ornate right par
+U+0029 U+0029 > U+FD3E ;; '))' : ornate left par
+U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign
+;; most fonts won't have the following ones:
+U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign)
+U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign
+U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR'
+U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD'
+U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM'
+U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL')
+U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE')
+U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM'
+U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA'
+U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu"
+U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik
+
+U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY
+U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY
+U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM-
+U+005E U+004C U+0041 > U+06D9 ;; ^LA
+U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM
+U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS
+U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN
+U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB
+U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO
+U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO
+U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM
+U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM
+U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN
+U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA
+U+0057 U+0041 U+0057 > U+06E5 ;; WAW
+U+0059 U+0045 U+0048 > U+06E6 ;; YEH
+U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH
+U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN
+U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA
+U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP
+U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP
+U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP
+U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM
+
+U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::")
+
+;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts
+U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]]
+
+
+; vowels
+u u > U
+i i > I
+a a > A
+[AVWL] > ; strip off vowels when writing UTF-8 Arabic with novoc mode
+CO O > U+06FC ;
+a e > a y
+a o > a w
+(o|u)? O / # _ > U+0627 w
+(o|u)? O > w
+CO U > U+06C7 ;
+e / # _ # > U+0627 U+06D2 U+0658 ; Alif + yeh barree + bow accent
+e / _ # > U+06D2 U+0658 ; yeh barree + bow accent
+e / # _ > U+0627 y U+0658 ; alif + ya + bow accent
+e > y U+0658
+E / # _ # > U+0627 U+06D2 ; Alif + yeh barree
+E / _ # > U+06D2 ; yeh barree
+E / # _ > U+0627 y ; alif + ya
+E > y
+o / # _ > U+0627 U+06C6
+o > U+06C6
+P A > U+0672
+P U > U+0673 ; > this is the initial or lone form, but medial and final require wavy hamza below previous letter (not in Unicode)! Perhaps an OT font could solve this :: in Scheherazade the glyph needed is named _wavyHamza <<<
+P a / # _ > U+0623
+P a > U+0654
+P u > U+0655
+P o / # _ > U+0627 U+06C4
+P o > U+06C4
+P O / # _ > U+0627 U+06C4 U+0627 U+064E
+P O > U+06C4 U+0627 U+064E
+I > y U+0656
+I / _ # > y
+U / _ # > U+0627 w U+0657
+U > w U+0657
+
+
+;; Persian ezafe (ALL BUT ARABIC AND UIGHUR)
+U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<<
+U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I
+Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e
+Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I
+Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i
+Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i
+Z / U+0048 _ > U+0020 ;
+b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen
+
+;; initial characters ...
+a l Z / BEG _ > U+0627 l Z
+;; wasla on initial alif : NEW! NOT TESTED!
+H / BEG _ l l > U+0627 ;
+[VWL]=v1 / BEG _ > A @v1
+Q?=q1 U / BEG _ > A @q1 u w ; -U
+; Q?=q1 I / BEG _ > A @q1 i y ; -I ; but not when I is final FIXME!!!
+Q?=q1 I / BEG _ > A @q1 i y ; except for Persian, coz of ezafe rules
+
+
+;; Words with anomalous orthography:
+
+; mi'aT -> ماية
+;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy
+m Q i H Q a / _ (T|t) > m Q i A Hy Q a
+m Q i H a / _ (T|t) > m Q i A Hy
+m i H Q a / _ (T|t) > m A Hy Q a
+m i H a / _ (T|t) > m A Hy
+
+
+;; contextual analysis of hamzas
+;; THESE DO NOT APPLY FOR SINDHI
+
+; initial hamzas
+H / (#|^[LTR]) _ Q? [Iyi] > Hi
+H Q A / (#|^[LTR]) _ > HA ; alif madda
+H / (#|^[LTR]) _ Q? [Uwu] > Ha
+H / (#|^[LTR]) _ Q? a > Ha
+Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word
+
+; quoted hamzas in contextual mode, equivalent to verbatim mode
+a Q H > Ha
+i Q H > Hi
+y Q H > Hy
+w Q H > Hw
+h Q H > Hh
+A Q H > HA
+B Q H > HB
+BAR Q H > HBAR
+
+; hamza + fathatan
+H / a _ Q? AN > Ha
+;;H / [Iyi] _ Q? AN > Hy
+H / _ Q? AN > Hy
+
+;final hamzas
+H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ...
+H / a _ Q? (#|^[LTR]) > Ha ; not AN...
+H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN...
+H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy
+H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw
+
+;;and more hamzas ...
+
+; n°1: kasra/ya
+H / [LTR] _ Q? [Iyi] ^N > Hy
+H / [Iyi] _ > Hy
+
+; n°2: damma/waw
+H / [LTR] _ Q? (U|u) ^N > Hw
+H / (U|u) _ Q? ^[Iyi] > Hw
+H / U _ > HBAR
+
+; n°3: fatha/alif
+H Q? A > HA
+H / A _ Q? a > HBAR
+H / ^[UI] _ Q? a > Ha
+H / a _ Q? ^[UI] > Ha
+
+
+pass(Unicode)
+
+Class [Digits] = (U+0030..U+0039)
+Class [ArDigits] = (U+0660..U+0669)
+Class [ArEasternDigits] = (U+06F0..U+06F9)
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+
+
+
+
+;normal code
+
+
+CO z CO z > U+0636 U+0651 ;;SHADDA
+CO z > U+0636
+(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA
+(P z|U+1E93) > U+0638
+C z C z > U+0698 U+0651 ;;SHADDA
+C z > U+0698
+V z V z > U+0696 U+0651 ;;SHADDA
+V z > U+0696 ;pashto
+z z > U+0632 U+0651 ;;SHADDA
+z > U+0632
+Y Y > U+0649 U+0651 ;;SHADDA
+Y > U+0649
+;; .b with ring below : FIXME not in Unicode! but U+06EA is a poor replacement:
+P y / # _ # > U+0627 U+06D2 U+06EA
+P y / _ # > U+0649
+P y > U+066E U+06EA
+;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots
+y y > U+06CC U+0651 ;;SHADDA
+y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots
+v v > U+06A4 U+0651 ;;SHADDA
+v > U+06A4
+W > U+0648 U+0627 ; waw + alif
+C U > U+064F U+0648 U+0653; historical spelling : madda on waw
+Q U [Uw] > U+064F U+0648 U+0651 ;;SHADDA
+Q U > U+064F U+0648
+[Uw] [Uw] > U+0648 U+0651 ;;SHADDA
+[Uw] > U+0648
+C w C w > U+06C9 U+0651 ;;SHADDA
+C w > U+06C9
+CO w CO w > U+06CA U+0651 ;,SHADDA
+CO w > U+06CA
+Q u N > U+064C
+u N >
+Q u > U+064F
+V t V t > U+0679 U+0651 ;;SHADDA
+V t > U+0679 ;urdu
+UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA
+UL (t|s) > U+062B
+(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA
+(P t|U+1E6D) > U+0637
+t t > U+062A U+0651 ;;SHADDA
+t > U+062A
+T T Q AN > U+0629 U+0651 U+064B ;;SHADDA
+T Q AN > U+0629 U+064B
+T AN > U+0629
+T T > U+0629 U+0651 ;;SHADDA
+T > U+0629
+C s C s > U+0634 U+0651 ;;SHADDA
+C s > U+0634
+(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA
+(P s|U+1E63) > U+0635
+V s V s > U+069A U+0651 ;;SHADDA
+V s > U+069A ;Pashto
+CO s CO s > U+069B U+0651 ;;SHADDA
+CO s > U+069B ; sin with 3 dots below
+s s > U+0633 U+0651 ;;SHADDA
+s > U+0633
+C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<<
+C r > U+06EF
+CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<<
+CO r > U+0697 ; Dargwa language, Dagestan
+P r P r > U+0694 U+0651 ;;SHADDA
+P r > U+0694 ; r with dot below; in Kurdish .r -> 0694
+V r V r > U+0691 U+0651 ;;SHADDA
+V r > U+0691 ;Urdu
+r r > U+0631 U+0651 ;;SHADDA
+r > U+0631
+P q P q > U+066F U+0651 ;;SHADDA
+P q > U+066F
+q q > U+0642 U+0651 ;;SHADDA
+q > U+0642
+p p > U+067E U+0651 ;;SHADDA
+p > U+067E
+CO n CO n > U+06B1 U+0651 ;;SHADDA
+CO n > U+06B1
+C n C n > U+06AD U+0651 ;;SHADDA
+C n > U+06AD
+P n P n > U+06BA U+0651 ;;SHADDA
+P n > U+06BA ; urdu
+V n V n > U+06BC U+0651 ;;SHADDA
+V n > U+06BC ; Pashto
+n n > U+0646 U+0651 ;;SHADDA
+n > U+0646
+m m > U+0645 U+0651 ;;SHADDA
+m > U+0645
+P l P l > U+06B6 U+0651 ;
+P l > U+06B6 ; ADDED <<<
+C l C l > U+06B5 U+0651 ;;SHADDA
+C l > U+06B5 ;kurdish
+l l > U+0644 U+0651 ;;SHADDA
+l > U+0644
+P k P k > U+06A9 U+0651 ;;SHADDA
+P k > U+06A9 ; pashto urdu
+UL k UL k > U+063A U+0651 ;;SHADDA
+UL k > U+063A
+k k > U+0643 U+0651 ;;SHADDA
+k > U+0643
+C g C g > U+062C U+0651 ;;SHADDA
+C g > U+062C
+CO j CO j > U+0684 U+0651 ;;SHADDA
+CO j > U+0684
+j j > U+062C U+0651 ;;SHADDA
+j > U+062C
+Q I > U+0650 U+064A
+C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya
+UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ###
+I > U+064A
+Q i N > U+064D
+i N > ;
+Q i > U+0650
+x x > U+062E U+0651 ;;SHADDA
+x > U+062E
+UL h UL h > U+062E U+0651 ;;SHADDA
+UL h > U+062E
+(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA
+(P h|U+1E25) > U+062D
+V h V h > U+06C1 U+0651 ;;SHADDA
+V h > U+06C1
+h h > U+0647 U+0651 ;;SHADDA
+h > U+0647
+CO g CO g > U+06B3 U+0651 ;;SHADDA
+CO g > U+06B3
+V g V g > U+06AC U+0651 ;;SHADDA
+V g > U+06AC ; kaf with dot above
+P g P g > U+063A U+0651 ;;SHADDA
+P g > U+063A
+g g > U+06AF U+0651 ;;SHADDA
+g > U+06AF
+G G > U+06AB U+0651 ;;SHADDA
+G > U+06AB ;pashto
+P f P f > U+06A1 U+0651 ;;SHADDA
+P f > U+06A1
+f f > U+0641 U+0651 ;;SHADDA
+f > U+0641
+V d V d > U+068A U+0651 ;;SHADDA
+V d > U+068A
+P V d P V d > U+068B U+0651 ;;SHADDA
+P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi)
+C d C d > U+06EE U+0651 ;;SHADDA
+C d > U+06EE ; not defined in ArabTeX
+CO d CO d > U+068F U+0651 ;;SHADDA
+CO d > U+068F
+UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA
+UL (d|z) > U+0630
+(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA
+(P d|U+1E0D) > U+0636
+d d > U+062F U+0651 ;;SHADDA
+d > U+062F
+V c V c > U+0685 U+0651 ;;SHADDA
+V c > U+0685 ;pashto
+C c C c > U+0686 U+0651 ;;SHADDA
+C c > U+0686
+P C c P C c > U+06BF U+0651 ;;SHADDA
+P C c > U+06BF ;; cheh with dot above <<<
+c c > U+0681 U+0651 ;;SHADDA
+c > U+0681 ; ح with hamza above
+CO c CO c > U+0682 U+0651 ;;SHADDA
+CO c > U+0682 ; old pashto
+CO b CO b > U+067B U+0651 ;;SHADDA
+CO b > U+067B
+P b P b > U+066E U+0651 ;;SHADDA
+P b > U+066E
+b b > U+0628 U+0651 ;;SHADDA
+b > U+0628
+H A > U+0622
+C A > U+064E U+0622 ; historical spelling
+UL A > U+0649
+UL a > U+0670
+UL u > ;
+UL i > ;
+Q AN / (A H|Ha) _ > U+064B
+AN / (A H|Ha) _ > ;
+Q AN > U+0627 U+064B
+AN > U+0627
+Q a > U+064E
+Q A > U+064E U+0627
+A > U+0627
+Ain Ain > U+0639 U+0651 ;;SHADDA
+Ain > U+0639
+H H > U+0621 U+0651 ;;SHADDA
+H > U+0621
+U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma
+Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash
+(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks
+[Digits] > [ArEasternDigits]
+Z Z Z / # _ # > U+2014
+Z Z / # _ # > U+2013
+Z Z > U+0640
+B > U+0640
+Z / # _ > U+200D ; -x > force initial form with "zero-width joiner"
+Z / _ # > U+200D ; x- > force final form
+U+003C U+003C > U+00BB ;<<
+U+003E U+003E > U+00AB ;>>
+U+00AB > U+00BB
+U+00BB > U+00AB
+UL > U+0640 ;_
+U+003F > U+061F ;?
+U+003B > U+061B ;;
+U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above...
+U+002C > U+060C ;,
+U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ...
+U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual
+ ; analysis, so quoting of hamzas etc may be necessary
+;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules
+;U+005B > U+005D ;[
+[VWL] > ;stripoff vowels
+Q > U+0652
+U+00B0 > U+0652 ; °
+N > ;
+C > ;^
+Z > ;-
+BAR > ;|
+
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-kashmiri-novoc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-kashmiri-novoc.tec
index 94c4aa3366b..ec6bf0a081d 100644
--- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-kashmiri-novoc.tec
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-kashmiri-novoc.tec
Binary files differ
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-kashmiri-voc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-kashmiri-voc.map
new file mode 100644
index 00000000000..791aab5df95
--- /dev/null
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-kashmiri-voc.map
@@ -0,0 +1,508 @@
+LHSName "ArabTeX-kashmiri-vocalized"
+RHSName "UNICODE"
+
+Define a U+0061 ;a
+Define b U+0062 ;b
+Define c U+0063 ;c
+Define d U+0064 ;d
+Define e U+0065 ;e
+Define f U+0066 ;f
+Define g U+0067 ;g
+Define h U+0068 ;h
+Define i U+0069 ;i
+Define j U+006A ;j
+Define k U+006B ;k
+Define l U+006C ;l
+Define m U+006D ;m
+Define n U+006E ;n
+Define o U+006F ;o
+Define p U+0070 ;p
+Define q U+0071 ;q
+Define r U+0072 ;r
+Define s U+0073 ;s
+Define t U+0074 ;t
+Define u U+0075 ;u
+Define v U+0076 ;v
+Define w U+0077 ;w
+Define x U+0078 ;x
+Define y U+0079 ;y
+Define z U+007A ;z
+Define A U+0041 ;A
+Define B U+0042 ;B
+Define E U+0045 ;E
+Define G U+0047 ;G
+Define I U+0049 ;I
+Define N U+004E ;N
+Define O U+004F ;O
+Define T U+0054 ;T
+Define U U+0055 ;U
+Define W U+0057 ;W
+Define Y U+0059 ;Y
+Define C U+005E ;^ << CARET
+Define UL U+005F ;_ << UNDERLINE
+Define P U+002E ;. << DOT
+Define V U+002C ;, << COMMA (_V_irgule)
+Define CO U+003A ;: << COLON
+Define SC U+003B ;; << SEMICOLON
+Define Ain U+0060 ;`
+Define H U+0027 ;' << HAMZA
+Define Q U+0022 ;" << QUOTE
+Define Z U+002D ;- << HYPHEN
+Define BAR U+007C ;|
+Define AN U+0061 U+004E ; aN
+Define LLAH U+006C U+006C U+005F U+0061 U+0068
+;Define NUL U+00A6;
+Define Ha U+0623
+Define Hi U+0625
+Define Hy U+0626
+Define Hw U+0624
+Define Hh U+06C0 ;; = U+0647 U+0654
+Define HA U+0622
+Define HB U+0640 U+0654
+Define HBAR U+0621 ; '|
+
+pass(Unicode)
+
+U+E000 > ; eliminate special code for capitalization in transliterations
+
+pass(Unicode)
+
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [AVWL] = (U+064B..U+0650);
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" `
+Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ”
+Class [PUNCT] = (V SC P CO)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u)
+;Class [ae] = (U+0061 U+0065) ;(a e)
+;Class [ou] = (U+0075 U+006F) ;(u o)
+Class [Iyi] = (U+0069 U+0079 U+0049)
+Class [UI] = (U+0049 U+0055) ; U I
+Class [Digits] = (U+0030..U+0039)
+
+Define BEG (#|Z|[BRACKETS])
+Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #)
+Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z)
+
+; special ligatures
+;; 1. Standard ArabTeX input
+;; WARNING! there are, alas, two classes of Arabic fonts:
+;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2
+;; For these the ligature llah can be accessed by the sequence lam-lam-ha
+;; b) Those that do not have the initial alif in U+FDF2
+;; The BAR is used in the DMG transliteration to suppress the initial A
+(a|A) BAR? l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah'
+LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h'
+;; UPPERCASE mnemonics for various ligatures or special glyphs
+;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode
+U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h'
+U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic
+;; 2b. Ligatures and glyphs defined in Unicode:
+U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH'
+U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH'
+
+U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam
+U+0028 U+0028 > U+FD3F ;; '((' : ornate right par
+U+0029 U+0029 > U+FD3E ;; '))' : ornate left par
+U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign
+;; most fonts won't have the following ones:
+U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign)
+U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign
+U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR'
+U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD'
+U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM'
+U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL')
+U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE')
+U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM'
+U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA'
+U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu"
+U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik
+
+U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY
+U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY
+U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM-
+U+005E U+004C U+0041 > U+06D9 ;; ^LA
+U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM
+U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS
+U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN
+U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB
+U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO
+U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO
+U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM
+U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM
+U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN
+U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA
+U+0057 U+0041 U+0057 > U+06E5 ;; WAW
+U+0059 U+0045 U+0048 > U+06E6 ;; YEH
+U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH
+U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN
+U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA
+U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP
+U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP
+U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP
+U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM
+
+U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::")
+
+;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts
+U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]]
+
+
+; vowels
+u u > U
+i i > I
+a a > A
+CO O > U+06FC ;
+a e > a y
+a o > a w
+(o|u)? O / # _ > U+0627 w
+(o|u)? O > w
+CO U > U+06C7 ;
+e / # _ # > U+0627 U+06D2 U+0658 ; Alif + yeh barree + bow accent
+e / _ # > U+06D2 U+0658 ; yeh barree + bow accent
+e / # _ > U+0627 y U+0658 ; alif + ya + bow accent
+e > y U+0658
+E / # _ # > U+0627 U+06D2 ; Alif + yeh barree
+E / _ # > U+06D2 ; yeh barree
+E / # _ > U+0627 y ; alif + ya
+E > y
+o / # _ > U+0627 U+06C6
+o > U+06C6
+P A > U+0672
+P U > U+0673 ; > this is the initial or lone form, but medial and final require wavy hamza below previous letter (not in Unicode)! Perhaps an OT font could solve this :: in Scheherazade the glyph needed is named _wavyHamza <<<
+P a / # _ > U+0623
+P a > U+0654
+P u > U+0655
+P o / # _ > U+0627 U+06C4
+P o > U+06C4
+P O / # _ > U+0627 U+06C4 U+0627 U+064E
+P O > U+06C4 U+0627 U+064E
+I > y U+0656
+I / _ # > y
+U / _ # > U+0627 w U+0657
+U > w U+0657
+
+
+;; Persian ezafe (ALL BUT ARABIC AND UIGHUR)
+U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<<
+U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I
+Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e
+Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I
+Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i
+Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i
+Z / U+0048 _ > U+0020 ;
+b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen
+
+;; initial characters ...
+a l Z / BEG _ > U+0627 l Z
+;; wasla on initial alif : NEW! NOT TESTED!
+H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI
+[VWL]=v1 / BEG _ > U+0627 @v1
+Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U
+; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I
+Q?=q1 I / BEG _ > U+0627 @q1 i y
+
+
+;; Words with anomalous orthography:
+
+; mi'aT -> ماية
+;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy
+m Q i H Q a / _ (T|t) > m U+0627 Hy
+m Q i H a / _ (T|t) > m U+0627 Hy a
+m i H Q a / _ (T|t) > m i U+0627 Hy
+m i H a / _ (T|t) > m i U+0627 Hy a
+
+
+;; contextual analysis of hamzas
+;; THESE DO NOT APPLY FOR SINDHI
+
+; initial hamzas
+H / (#|^[LTR]) _ Q? [Iyi] > Hi
+H Q A / (#|^[LTR]) _ > HA ; alif madda
+H / (#|^[LTR]) _ Q? [Uwu] > Ha
+H / (#|^[LTR]) _ Q? a > Ha
+Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word
+
+; quoted hamzas in contextual mode, equivalent to verbatim mode
+a Q H > Ha
+i Q H > Hi
+y Q H > Hy
+w Q H > Hw
+h Q H > Hh
+A Q H > HA
+B Q H > HB
+BAR Q H > HBAR
+
+; hamza + fathatan
+H / a _ Q? AN > Ha
+;;H / [Iyi] _ Q? AN > Hy
+H / _ Q? AN > Hy
+
+;final hamzas
+H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ...
+H / a _ Q? (#|^[LTR]) > Ha ; not AN...
+H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN...
+H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy
+H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw
+
+;;and more hamzas ...
+
+; n°1: kasra/ya
+H / [LTR] _ Q? [Iyi] ^N > Hy
+H / [Iyi] _ > Hy
+
+; n°2: damma/waw
+H / [LTR] _ Q? (U|u) ^N > Hw
+H / (U|u) _ Q? ^[Iyi] > Hw
+H / U _ > HBAR
+
+; n°3: fatha/alif
+H Q? A > HA
+H / A _ Q? a > HBAR
+H / ^[UI] _ Q? a > Ha
+H / a _ Q? ^[UI] > Ha
+
+
+pass(Unicode)
+
+Class [Digits] = (U+0030..U+0039)
+Class [ArDigits] = (U+0660..U+0669)
+Class [ArEasternDigits] = (U+06F0..U+06F9)
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+
+
+
+
+;normal code
+
+
+CO z CO z > U+0636 U+0651 ;;SHADDA
+CO z > U+0636
+(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA
+(P z|U+1E93) > U+0638
+C z C z > U+0698 U+0651 ;;SHADDA
+C z > U+0698
+V z V z > U+0696 U+0651 ;;SHADDA
+V z > U+0696 ;pashto
+z z > U+0632 U+0651 ;;SHADDA
+z > U+0632
+Q Y Y > U+0649 U+0651 ;;SHADDA
+Q Y > U+0649
+Y Y > U+064E U+0649 U+0651 ;;SHADDA
+Y > U+064E U+0649
+;; .b with ring below : FIXME not in Unicode! but U+06EA is a poor replacement:
+P y / # _ # > U+0627 U+06D2 U+06EA
+P y / _ # > U+0649
+P y > U+066E U+06EA
+;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots
+y y > U+06CC U+0651 ;;SHADDA
+y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots
+v v > U+06A4 U+0651 ;;SHADDA
+v > U+06A4
+W > U+0648 U+0627 ; waw + alif
+C U > U+064F U+0648 U+0653; historical spelling : madda on waw
+C w C w > U+06C9 U+0651 ;;SHADDA
+C w > U+06C9
+CO w CO w > U+06CA U+0651 ;,SHADDA
+CO w > U+06CA
+U A / _ # > U+064F U+0648 U+0627
+Q U [Uw] > U+0648 U+0651 ;;SHADDA
+Q U > U+0648
+U [Uw] > U+064F U+0648 U+0651 ;;SHADDA
+U > U+064F U+0648
+w w > U+0648 U+0651 ;;SHADDA
+w > U+0648
+Q u N? >
+u N > U+064C
+u > U+064F
+V t V t > U+0679 U+0651 ;;SHADDA
+V t > U+0679 ;urdu
+UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA
+UL (t|s) > U+062B
+(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA
+(P t|U+1E6D) > U+0637
+t t > U+062A U+0651 ;;SHADDA
+t > U+062A
+T T Q AN > U+0629 U+0651 ;;SHADDA
+T Q AN > U+0629
+T AN > U+0629 U+064B
+T T > U+0629 U+0651 ;;SHADDA
+T > U+0629
+C s C s > U+0634 U+0651 ;;SHADDA
+C s > U+0634
+(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA
+(P s|U+1E63) > U+0635
+V s V s > U+069A U+0651 ;;SHADDA
+V s > U+069A ;Pashto
+CO s CO s > U+069B U+0651 ;;SHADDA
+CO s > U+069B ; sin with 3 dots below
+s s > U+0633 U+0651 ;;SHADDA
+s > U+0633
+C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<<
+C r > U+06EF
+CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<<
+CO r > U+0697 ; Dargwa language, Dagestan
+P r P r > U+0694 U+0651 ;;SHADDA
+P r > U+0694 ; r with dot below; in Kurdish .r -> 0694
+V r V r > U+0691 U+0651 ;;SHADDA
+V r > U+0691 ;Urdu
+r r > U+0631 U+0651 ;;SHADDA
+r > U+0631
+P q P q > U+066F U+0651 ;;SHADDA
+P q > U+066F
+q q > U+0642 U+0651 ;;SHADDA
+q > U+0642
+p p > U+067E U+0651 ;;SHADDA
+p > U+067E
+CO n CO n > U+06B1 U+0651 ;;SHADDA
+CO n > U+06B1
+C n C n > U+06AD U+0651 ;;SHADDA
+C n > U+06AD
+P n P n > U+06BA U+0651 ;;SHADDA
+P n > U+06BA ; urdu
+V n V n > U+06BC U+0651 ;;SHADDA
+V n > U+06BC ; Pashto
+n n > U+0646 U+0651 ;;SHADDA
+n > U+0646
+m m > U+0645 U+0651 ;;SHADDA
+m > U+0645
+P l P l > U+06B6 U+0651 ;
+P l > U+06B6 ; ADDED <<<
+C l C l > U+06B5 U+0651 ;;SHADDA
+C l > U+06B5 ;kurdish
+l l > U+0644 U+0651 ;;SHADDA
+l > U+0644
+P k P k > U+06A9 U+0651 ;;SHADDA
+P k > U+06A9 ; pashto urdu
+UL k UL k > U+063A U+0651 ;;SHADDA
+UL k > U+063A
+k k > U+0643 U+0651 ;;SHADDA
+k > U+0643
+C g C g > U+062C U+0651 ;;SHADDA
+C g > U+062C
+CO j CO j > U+0684 U+0651 ;;SHADDA
+CO j > U+0684
+j j > U+062C U+0651 ;;SHADDA
+j > U+062C
+Q I > U+064A
+I > U+0650 U+064A
+C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya
+UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ###
+Q i N? > ;
+i N > U+064D
+i > U+0650
+x x > U+062E U+0651 ;;SHADDA
+x > U+062E
+UL h UL h > U+062E U+0651 ;;SHADDA
+UL h > U+062E
+(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA
+(P h|U+1E25) > U+062D
+V h V h > U+06C1 U+0651 ;;SHADDA
+V h > U+06C1
+h h > U+0647 U+0651 ;;SHADDA
+h > U+0647
+CO g CO g > U+06B3 U+0651 ;;SHADDA
+CO g > U+06B3
+V g V g > U+06AC U+0651 ;;SHADDA
+V g > U+06AC ; kaf with dot above
+P g P g > U+063A U+0651 ;;SHADDA
+P g > U+063A
+g g > U+06AF U+0651 ;;SHADDA
+g > U+06AF
+G G > U+06AB U+0651 ;;SHADDA
+G > U+06AB ;pashto
+P f P f > U+06A1 U+0651 ;;SHADDA
+P f > U+06A1
+f f > U+0641 U+0651 ;;SHADDA
+f > U+0641
+V d V d > U+068A U+0651 ;;SHADDA
+V d > U+068A
+P V d P V d > U+068B U+0651 ;;SHADDA
+P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi)
+C d C d > U+06EE U+0651 ;;SHADDA
+C d > U+06EE ; not defined in ArabTeX
+CO d CO d > U+068F U+0651 ;;SHADDA
+CO d > U+068F
+UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA
+UL (d|z) > U+0630
+(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA
+(P d|U+1E0D) > U+0636
+d d > U+062F U+0651 ;;SHADDA
+d > U+062F
+V c V c > U+0685 U+0651 ;;SHADDA
+V c > U+0685 ;pashto
+C c C c > U+0686 U+0651 ;;SHADDA
+C c > U+0686
+P C c P C c > U+06BF U+0651 ;;SHADDA
+P C c > U+06BF ;; cheh with dot above <<<
+c c > U+0681 U+0651 ;;SHADDA
+c > U+0681 ; ح with hamza above
+CO c CO c > U+0682 U+0651 ;;SHADDA
+CO c > U+0682 ; old pashto
+CO b CO b > U+067B U+0651 ;;SHADDA
+CO b > U+067B
+P b P b > U+066E U+0651 ;;SHADDA
+P b > U+066E
+b b > U+0628 U+0651 ;;SHADDA
+b > U+0628
+H A > U+0622
+C A > U+064E U+0622 ; historical spelling
+UL A > U+064E U+0649
+UL a > U+0670
+UL u > U+064F;
+UL i > U+0650;
+Q AN / (A H|Ha) _ > ;
+AN / (A H|Ha) _ > U+064B
+Q AN > U+0627
+AN > U+0627 U+064B
+Q a >
+a > U+064E
+Q A > U+0627
+A > U+064E U+0627
+Ain Ain > U+0639 U+0651 ;;SHADDA
+Ain > U+0639
+H H > U+0621 U+0651 ;;SHADDA
+H > U+0621
+U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma
+Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash
+(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks
+[Digits] > [ArEasternDigits]
+Z Z Z / # _ # > U+2014
+Z Z / # _ # > U+2013
+Z Z > U+0640
+B > U+0640
+Z / # _ > U+200D ; -x > force initial form with "zero-width joiner"
+Z / _ # > U+200D ; x- > force final form
+U+003C U+003C > U+00BB ;<<
+U+003E U+003E > U+00AB ;>>
+U+00AB > U+00BB
+U+00BB > U+00AB
+UL > U+0640 ;_
+U+003F > U+061F ;?
+U+003B > U+061B ;;
+U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above...
+U+002C > U+060C ;,
+U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ...
+U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual
+ ; analysis, so quoting of hamzas etc may be necessary
+;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules
+;U+005B > U+005D ;[
+Q [VWL] > ;stripoff quoted vowels
+Q > U+0652
+U+00B0 > U+0652 ; °
+N > ;
+C > ;^
+BAR > ;|
+
+pass(Unicode)
+
+Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-)
+Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc.
+Class [VWL] = (U+0627 U+0648..U+0650 U+0670);
+Z > ;
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-kurdish.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-kurdish.map
new file mode 100644
index 00000000000..85c3e365354
--- /dev/null
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-kurdish.map
@@ -0,0 +1,290 @@
+LHSName "ArabTeX-Kurdish"
+RHSName "UNICODE"
+
+Define a U+0061 ;a
+Define b U+0062 ;b
+Define c U+0063 ;c
+Define d U+0064 ;d
+Define e U+0065 ;e
+Define f U+0066 ;f
+Define g U+0067 ;g
+Define h U+0068 ;h
+Define i U+0069 ;i
+Define j U+006A ;j
+Define k U+006B ;k
+Define l U+006C ;l
+Define m U+006D ;m
+Define n U+006E ;n
+Define o U+006F ;o
+Define p U+0070 ;p
+Define q U+0071 ;q
+Define r U+0072 ;r
+Define s U+0073 ;s
+Define t U+0074 ;t
+Define u U+0075 ;u
+Define v U+0076 ;v
+Define w U+0077 ;w
+Define x U+0078 ;x
+Define y U+0079 ;y
+Define z U+007A ;z
+Define A U+0041 ;A
+Define B U+0042 ;B
+Define E U+0045 ;E
+Define G U+0047 ;G
+Define I U+0049 ;I
+Define N U+004E ;N
+Define O U+004F ;O
+Define T U+0054 ;T
+Define U U+0055 ;U
+Define Y U+0059 ;Y
+Define C U+005E ;^ << CARET
+Define UL U+005F ;_ << UNDERLINE
+Define P U+002E ;. << DOT
+Define V U+002C ;, << COMMA (_V_irgule)
+Define CO U+003A ;: << COLON
+Define Ain U+0060 ;`
+Define H U+0027 ;' << HAMZA
+Define Q U+0022 ;" << QUOTE
+Define Z U+002D ;- << HYPHEN
+Define BAR U+007C ;|
+Define LLAH U+006C U+006C U+005F U+0061 U+0068
+
+pass(Unicode)
+
+Class [Digits] = (U+0030..U+0039)
+Class [ArDigits] = (U+0660..U+0669)
+
+
+; special ligatures
+;; 1. Standard ArabTeX input
+;; WARNING! there are, alas, two classes of Arabic fonts:
+;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2
+;; For these the ligature llah can be accessed by the sequence lam-lam-ha
+;; b) Those that do not have the initial alif in U+FDF2
+(a|A) l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah'
+LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h'
+;; UPPERCASE mnemonics for various ligatures or special glyphs
+;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode
+U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h'
+U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic
+;; 2b. Ligatures and glyphs defined in Unicode:
+U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH'
+U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH'
+
+U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam
+U+0028 U+0028 > U+FD3F ;; '((' : ornate right par
+U+0029 U+0029 > U+FD3E ;; '))' : ornate left par
+U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign
+;; most fonts won't have the following ones:
+U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign)
+U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign
+U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR'
+U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD'
+U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM'
+U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL)'
+U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE)'
+U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM'
+U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA'
+U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu"
+U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik
+
+U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY
+U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY
+U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM-
+U+005E U+004C U+0041 > U+06D9 ;; ^LA
+U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM
+U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS
+U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN
+U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB
+U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO
+U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO
+U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM
+U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM
+U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN
+U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA
+U+0057 U+0041 U+0057 > U+06E5 ;; WAW
+U+0059 U+0045 U+0048 > U+06E6 ;; YEH
+U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH
+U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN
+U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA
+U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP
+U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP
+U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP
+U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM
+
+U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::")
+
+;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts
+U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]]
+
+
+; vowels
+
+E / # _ > U+0626 U+06CE
+E > U+06CE
+e / # _ > U+0626 U+0647 U+200C ; h always final
+e > U+0647 U+200C
+i / # _ > U+0626
+Q i > U+0650
+i > ;
+Q I / # _ > U+0626 U+064A U+0650
+Q I > U+064A U+0650
+I / # _ > U+0626 U+064A
+I > U+064A
+(a|A) / # _ > U+0626 U+0627
+(a|A) > U+0627
+(o|O) / # _ > U+0626 U+06C6
+(o|O) > U+06C6
+u / # _ > U+0626 U+0648
+u > U+0648
+U / # _ > U+0626 U+0648 U+0648
+U > U+0648 U+0648
+Ain e > U+0639 U+0647 U+200C
+
+
+P z P z > U+0638 U+0651 ;;SHADDA
+P z > U+0638
+C z C z > U+0698 U+0651 ;;SHADDA
+C z > U+0698
+V z V z > U+0696 U+0651 ;pashto ;;SHADDA
+V z > U+0696 ;pashto
+z z > U+0632 U+0651 ;;SHADDA
+z > U+0632
+Y Y > U+0649 U+0651 ;;SHADDA
+Y > U+0649
+w w > U+0648 U+0651 ;;SHADDA
+w > U+0648
+y y > U+064A U+0651 ;;SHADDA
+y > U+064A
+v v > U+06A4 U+0651 ;;SHADDA
+v > U+06A4
+V t V t > U+0679 U+0651 ; urdu ;;SHADDA
+V t > U+0679
+UL t UL t > U+062B U+0651 ;;SHADDA
+UL t > U+062B
+P t P t > U+0637 U+0651 ;;SHADDA
+P t > U+0637
+t t > U+062A U+0651 ;;SHADDA
+t > U+062A
+T T > U+0629 U+0651 ;;SHADDA
+T > U+0629
+(C|V) s (C|V) s > U+0634 U+0651 ;;SHADDA
+(C|V) s > U+0634
+P s P s > U+0635 U+0651 ;;SHADDA
+P s > U+0635
+CO s CO s > U+069B U+0651
+CO s > U+069B ; sin with 3 dots below
+s s > U+0633 U+0651 ;;SHADDA
+s > U+0633
+;; also missing U+0694 : r with dot below
+V r V r > U+0694 U+0651 ;Kurdish ;;SHADDA
+V r > U+0694
+C r C r > U+0692 U+0651 ;Kurdish ;;SHADDA ; missing in ArabTeX <<<
+C r > U+0692
+P r P r > U+0695 U+0651 ;Kurdish ;;SHADDA
+P r > U+0695
+r r > U+0631 U+0651 ;;SHADDA
+r > U+0631
+P q P q > U+066F U+0651 ;;SHADDA
+P q > U+066F
+q q > U+0642 U+0651 ;;SHADDA
+q > U+0642
+p p > U+067E U+0651 ;;SHADDA
+p > U+067E
+C n C n > U+06AD U+0651 ;;SHADDA
+C n > U+06AD
+P n P n > U+06BA U+0651 ; urdu ;;SHADDA
+P n > U+06BA ;
+V n V n > U+06BC U+0651 ; Pashto
+V n > U+06BC ; Pashto
+n n > U+0646 U+0651 ;;SHADDA
+n > U+0646
+m m > U+0645 U+0651 ;;SHADDA
+m > U+0645
+P l P l > U+06B6 U+0651 ;
+P l > U+06B6 ; ADDED <<<
+C l C l > U+06B5 U+0651 ;kurdish ;;SHADDA
+C l > U+06B5
+l l > U+0644 U+0651 ;;SHADDA
+l > U+0644
+P k P k > U+06A9 U+0651 ; pashto urdu ;;SHADDA
+P k > U+06A9
+UL k UL k > U+063A U+0651 ;;SHADDA
+UL k > U+063A
+k k > U+0643 U+0651 ;;SHADDA
+k > U+0643
+c c > U+062C U+0651 ;;SHADDA
+c > U+062C
+x x > U+062E U+0651 ;;SHADDA
+x > U+062E
+j j > U+0698 U+0651 ;;SHADDA
+j > U+0698
+UL h UL h > U+062E U+0651 ;;SHADDA
+UL h > U+062E
+P h P h > U+062D U+0651 ;;SHADDA
+P h > U+062D
+V h V h > U+06C1 U+0651
+V h > U+06C1
+h h > U+200C U+06BE U+0651 ;;SHADDA
+h > U+200C U+06BE ; h always initial form
+V g V g > U+06AC U+0651 ;;SHADDA
+V g > U+06AC ; kaf with dot above
+P (g|x) P (g|x) > U+063A U+0651 ;;SHADDA
+P (g|x) > U+063A
+C g C g > U+063A U+0651 ;;SHADDA
+C g > U+063A
+g g > U+06AF U+0651 ;;SHADDA
+g > U+06AF
+G G > U+06AB U+0651 ;pashto ;;SHADDA
+G > U+06AB ;pashto
+P f P f > U+06A1 U+0651 ;;SHADDA
+P f > U+06A1
+f f > U+0641 U+0651 ;;SHADDA
+f > U+0641
+V d V d > U+0688 U+0651 ;urdu ;;SHADDA
+V d > U+0688 ;urdu
+C d C d > U+06EE ; not defined in ArabTeX U+0651 ;;SHADDA
+C d > U+06EE ; not defined in ArabTeX
+UL d UL d > U+0630 U+0651 ;;SHADDA
+UL d > U+0630
+P d P d > U+0636 U+0651 ;;SHADDA
+P d > U+0636
+d d > U+062F U+0651 ;;SHADDA
+d > U+062F
+(C|V) c (C|V) c > U+0686 U+0651 ;;SHADDA
+(C|V) c > U+0686
+P b P b > U+066E U+0651 ;;SHADDA
+P b > U+066E
+b b > U+0628 U+0651 ;;SHADDA
+b > U+0628
+Ain Ain > U+0639 U+0651 ;;SHADDA
+Ain > U+0639
+H > U+0626
+U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma
+Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash
+(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks
+[Digits] > [ArDigits]
+Z Z Z / # _ # > U+2014
+Z Z / # _ # > U+2013
+Z Z > U+0640
+B > U+0640
+Z / # _ > U+200D ; -x > force initial form with "zero-width joiner"
+Z / _ # > U+200D ; x- > force final form
+U+003C U+003C > U+00BB ;<<
+U+003E U+003E > U+00AB ;>>
+U+00AB > U+00BB
+U+00BB > U+00AB
+UL > U+0640 ;_
+U+003F > U+061F ;?
+U+003B > U+061B ;;
+U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above...
+U+002C > U+060C ;,
+U+005D / . _ . > U+200D U+005D U+200D ; keep shaping when inserting ...[...]...
+U+005B / . _ . > U+200D U+005B U+200D ; ... (but of course this screws up contextual analysis, so quoting of hamzas etc may be necessary)
+Q > ;
+N > ;
+C > ;^
+Z > ;-
+BAR > ;|
+
+
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-maghribi-fullvoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-maghribi-fullvoc.map
new file mode 100644
index 00000000000..70154d32267
--- /dev/null
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-maghribi-fullvoc.map
@@ -0,0 +1,482 @@
+LHSName "ArabTeX-maghribi-fullvocalized"
+RHSName "UNICODE"
+
+Define a U+0061 ;a
+Define b U+0062 ;b
+Define c U+0063 ;c
+Define d U+0064 ;d
+Define e U+0065 ;e
+Define f U+0066 ;f
+Define g U+0067 ;g
+Define h U+0068 ;h
+Define i U+0069 ;i
+Define j U+006A ;j
+Define k U+006B ;k
+Define l U+006C ;l
+Define m U+006D ;m
+Define n U+006E ;n
+Define o U+006F ;o
+Define p U+0070 ;p
+Define q U+0071 ;q
+Define r U+0072 ;r
+Define s U+0073 ;s
+Define t U+0074 ;t
+Define u U+0075 ;u
+Define v U+0076 ;v
+Define w U+0077 ;w
+Define x U+0078 ;x
+Define y U+0079 ;y
+Define z U+007A ;z
+Define A U+0041 ;A
+Define B U+0042 ;B
+Define E U+0045 ;E
+Define G U+0047 ;G
+Define I U+0049 ;I
+Define N U+004E ;N
+Define O U+004F ;O
+Define T U+0054 ;T
+Define U U+0055 ;U
+Define W U+0057 ;W
+Define Y U+0059 ;Y
+Define C U+005E ;^ << CARET
+Define UL U+005F ;_ << UNDERLINE
+Define P U+002E ;. << DOT
+Define V U+002C ;, << COMMA (_V_irgule)
+Define CO U+003A ;: << COLON
+Define SC U+003B ;; << SEMICOLON
+Define Ain U+0060 ;`
+Define H U+0027 ;' << HAMZA
+Define Q U+0022 ;" << QUOTE
+Define Z U+002D ;- << HYPHEN
+Define BAR U+007C ;|
+Define AN U+0061 U+004E ; aN
+Define LLAH U+006C U+006C U+005F U+0061 U+0068
+;Define NUL U+00A6;
+Define Ha U+0623
+Define Hi U+0625
+Define Hy U+0626
+Define Hw U+0624
+Define Hh U+06C0 ;; = U+0647 U+0654
+Define HA U+0622
+Define HB U+0640 U+0654
+Define HBAR U+0621 ; '|
+
+pass(Unicode)
+
+U+E000 > ; eliminate special code for capitalization in transliterations
+
+pass(Unicode)
+
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [AVWL] = (U+064B..U+0650);
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" `
+Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ”
+Class [PUNCT] = (V SC P CO)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u)
+;Class [ae] = (U+0061 U+0065) ;(a e)
+;Class [ou] = (U+0075 U+006F) ;(u o)
+Class [Iyi] = (U+0069 U+0079 U+0049)
+Class [UI] = (U+0049 U+0055) ; U I
+Class [Digits] = (U+0030..U+0039)
+
+Define BEG (#|Z|[BRACKETS])
+Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #)
+Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z)
+
+; special ligatures
+;; 1. Standard ArabTeX input
+;; WARNING! there are, alas, two classes of Arabic fonts:
+;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2
+;; For these the ligature llah can be accessed by the sequence lam-lam-ha
+;; b) Those that do not have the initial alif in U+FDF2
+;; The BAR is used in the DMG transliteration to suppress the initial A
+(a|A) BAR? l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah'
+LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h'
+;; UPPERCASE mnemonics for various ligatures or special glyphs
+;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode
+U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h'
+U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic
+;; 2b. Ligatures and glyphs defined in Unicode:
+U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH'
+U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH'
+
+U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam
+U+0028 U+0028 > U+FD3F ;; '((' : ornate right par
+U+0029 U+0029 > U+FD3E ;; '))' : ornate left par
+U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign
+;; most fonts won't have the following ones:
+U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign)
+U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign
+U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR'
+U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD'
+U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM'
+U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL')
+U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE')
+U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM'
+U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA'
+U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu"
+U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik
+
+U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY
+U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY
+U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM-
+U+005E U+004C U+0041 > U+06D9 ;; ^LA
+U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM
+U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS
+U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN
+U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB
+U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO
+U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO
+U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM
+U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM
+U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN
+U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA
+U+0057 U+0041 U+0057 > U+06E5 ;; WAW
+U+0059 U+0045 U+0048 > U+06E6 ;; YEH
+U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH
+U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN
+U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA
+U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP
+U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP
+U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP
+U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM
+
+U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::")
+
+;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts
+U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]]
+
+
+; vowels
+u u > U
+i i > I
+a a > A
+CO O > U+06FC ;
+a e > a y
+a o > a w
+CO U > U+06C7 ;
+e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish)
+o > u
+E > I
+O > U
+
+
+
+;; initial characters ...
+a l Z / BEG _ > U+0627 l Z
+H l Z / BEG _ > U+0671 l Z ; THIS IS NOT AN ARABTEX CONVENTION! it's a work-around coz pattern-matching across word boundaries does not work in teckit , so min al- must be written mina 'l- in fullvocalize mode
+;; wasla on initial alif : NEW! NOT TESTED!
+[VWL]=v1 Z / BEG _ > @v1 U+0671 ; THIS IS NOT AN ARABTEX CONVENTION! it's a work-around coz pattern-matching across word boundaries does not work in teckit , so huwa irtifA` must be written huwa i-rtifA` in fullvocalize mode
+H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI
+[VWL]=v1 / BEG _ > U+0627 @v1
+A / BEG _ > U+0627 a
+Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U
+; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I
+Q?=q1 I / BEG _ > U+0627 @q1 i y
+
+
+;; Words with anomalous orthography:
+
+; mi'aT -> ماية
+;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy
+m Q i H Q a / _ (T|t) > m U+0627 Hy
+m Q i H a / _ (T|t) > m U+0627 Hy a
+m i H Q a / _ (T|t) > m i U+0627 Hy
+m i H a / _ (T|t) > m i U+0627 Hy a
+
+
+;; contextual analysis of hamzas
+;; THESE DO NOT APPLY FOR SINDHI
+
+; initial hamzas
+H / (#|^[LTR]) _ Q? [Iyi] > Hi
+H Q A / (#|^[LTR]) _ > HA ; alif madda
+H / (#|^[LTR]) _ Q? [Uwu] > Ha
+H / (#|^[LTR]) _ Q? a > Ha
+Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word
+
+; quoted hamzas in contextual mode, equivalent to verbatim mode
+a Q H > Ha
+i Q H > Hi
+y Q H > Hy
+w Q H > Hw
+h Q H > Hh
+A Q H > HA
+B Q H > HB
+BAR Q H > HBAR
+
+; hamza + fathatan
+H / a _ Q? AN > Ha
+;;H / [Iyi] _ Q? AN > Hy
+H / _ Q? AN > Hy
+
+;final hamzas
+H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ...
+H / a _ Q? (#|^[LTR]) > Ha ; not AN...
+H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN...
+H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy
+H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw
+
+;;and more hamzas ...
+
+; n°1: kasra/ya
+H / [LTR] _ Q? [Iyi] ^N > Hy
+H / [Iyi] _ > Hy
+
+; n°2: damma/waw
+H / [LTR] _ Q? (U|u) ^N > Hw
+H / (U|u) _ Q? ^[Iyi] > Hw
+H / U _ > HBAR
+
+; n°3: fatha/alif
+H Q? A > HA
+H / A _ Q? a > HBAR
+H / ^[UI] _ Q? a > Ha
+H / a _ Q? ^[UI] > Ha
+
+
+pass(Unicode)
+
+Class [Digits] = (U+0030..U+0039)
+Class [ArDigits] = (U+0660..U+0669)
+Class [ArEasternDigits] = (U+06F0..U+06F9)
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+
+
+
+
+;normal code
+
+
+(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA
+(P z|U+1E93) > U+0638
+C z C z > U+0698 U+0651 ;;SHADDA
+C z > U+0698
+V z V z > U+0696 U+0651 ;;SHADDA
+V z > U+0696 ;pashto
+z z > U+0632 U+0651 ;;SHADDA
+z > U+0632
+Q Y Y > U+0649 U+0651 ;;SHADDA
+Q Y > U+0649
+Y Y > U+064E U+0649 U+0651 ;;SHADDA
+Y > U+064E U+0649
+P I P I / _ # > U+0650 U+06CC U+0651 ;; SHADDA
+P I / _ # > U+0650 U+06CC ;; workaround to have ya without dots in Arabic
+y y > U+064A U+0651 ;;SHADDA
+y > U+064A
+v v > U+06A5 U+0651 ;;SHADDA
+v > U+06A5 ;; maghribi
+W > U+0648 U+0627 ; waw + alif
+C U > U+064F U+0648 U+0653; historical spelling : madda on waw
+C w C w > U+06C9 U+0651 ;;SHADDA
+C w > U+06C9
+CO w CO w > U+06CA U+0651 ;,SHADDA
+CO w > U+06CA
+U A / _ # > U+064F U+0648 U+0627
+Q U [Uw] > U+0648 U+0651 ;;SHADDA
+Q U > U+0648
+U [Uw] > U+064F U+0648 U+0651 ;;SHADDA
+U > U+064F U+0648
+w w > U+0648 U+0651 ;;SHADDA
+w > U+0648
+Q u N? >
+u N > U+064C
+u > U+064F
+V t V t > U+0679 U+0651 ;;SHADDA
+V t > U+0679 ;urdu
+UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA
+UL (t|s) > U+062B
+(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA
+(P t|U+1E6D) > U+0637
+t t > U+062A U+0651 ;;SHADDA
+t > U+062A
+T T Q AN > U+0629 U+0651 ;;SHADDA
+T Q AN > U+0629
+T AN > U+0629 U+064B
+T T > U+0629 U+0651 ;;SHADDA
+T > U+0629
+C s C s > U+0634 U+0651 ;;SHADDA
+C s > U+0634
+(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA
+(P s|U+1E63) > U+0635
+V s V s > U+069A U+0651 ;;SHADDA
+V s > U+069A ;Pashto
+CO s CO s > U+069B U+0651 ;;SHADDA
+CO s > U+069B ; sin with 3 dots below
+s s > U+0633 U+0651 ;;SHADDA
+s > U+0633
+C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<<
+C r > U+06EF
+CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<<
+CO r > U+0697 ; Dargwa language, Dagestan
+P r P r > U+0694 U+0651 ;;SHADDA
+P r > U+0694 ; r with dot below; in Kurdish .r -> 0694
+V r V r > U+0691 U+0651 ;;SHADDA
+V r > U+0691 ;Urdu
+r r > U+0631 U+0651 ;;SHADDA
+r > U+0631
+P q P q > U+066F U+0651 ;;SHADDA
+P q > U+066F
+q q > U+06A7 U+0651 ;; maghribi
+q > U+06A7 ;; maghribi
+p p > U+067E U+0651 ;;SHADDA
+p > U+067E
+CO n CO n > U+06B1 U+0651 ;;SHADDA
+CO n > U+06B1
+C n C n > U+06AD U+0651 ;;SHADDA
+C n > U+06AD
+P n P n > U+06BA U+0651 ;;SHADDA
+P n > U+06BA ; urdu
+V n V n > U+06BC U+0651 ;;SHADDA
+V n > U+06BC ; Pashto
+n n > U+0646 U+0651 ;;SHADDA
+n > U+0646
+m m > U+0645 U+0651 ;;SHADDA
+m > U+0645
+P l P l > U+06B6 U+0651 ;
+P l > U+06B6 ; ADDED <<<
+C l C l > U+06B5 U+0651 ;;SHADDA
+C l > U+06B5 ;kurdish
+l l > U+0644 U+0651 ;;SHADDA
+l > U+0644
+P k P k > U+06A9 U+0651 ;;SHADDA
+P k > U+06A9 ; pashto urdu
+UL k UL k > U+063A U+0651 ;;SHADDA
+UL k > U+063A
+k k > U+0643 U+0651 ;;SHADDA
+k > U+0643
+C g C g > U+062C U+0651 ;;SHADDA
+C g > U+062C
+CO j CO j > U+0684 U+0651 ;;SHADDA
+CO j > U+0684
+j j > U+062C U+0651 ;;SHADDA
+j > U+062C
+Q I > U+064A
+I > U+0650 U+064A
+C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya
+UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ###
+Q i N? > ;
+i N > U+064D
+i > U+0650
+x x > U+062E U+0651 ;;SHADDA
+x > U+062E
+UL h UL h > U+062E U+0651 ;;SHADDA
+UL h > U+062E
+(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA
+(P h|U+1E25) > U+062D
+V h V h > U+06C1 U+0651 ;;SHADDA
+V h > U+06C1
+h h > U+0647 U+0651 ;;SHADDA
+h > U+0647
+CO g CO g > U+06B3 U+0651 ;;SHADDA
+CO g > U+06B3
+V g V g > U+06AC U+0651 ;;SHADDA
+V g > U+06AC ; kaf with dot above
+P g P g > U+063A U+0651 ;;SHADDA
+P g > U+063A
+g g > U+06AF U+0651 ;;SHADDA
+g > U+06AF
+G G > U+06AB U+0651 ;;SHADDA
+G > U+06AB ;pashto
+P f P f > U+06A1 U+0651 ;;SHADDA
+P f > U+06A1
+f f > U+06A2 U+0651 ;; SHADDA
+f > U+06A2 ;; maghribi
+V d V d > U+068A U+0651 ;;SHADDA
+V d > U+068A
+P V d P V d > U+068B U+0651 ;;SHADDA
+P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi)
+C d C d > U+06EE U+0651 ;;SHADDA
+C d > U+06EE ; not defined in ArabTeX
+CO d CO d > U+068F U+0651 ;;SHADDA
+CO d > U+068F
+UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA
+UL (d|z) > U+0630
+(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA
+(P d|U+1E0D) > U+0636
+d d > U+062F U+0651 ;;SHADDA
+d > U+062F
+V c V c > U+0685 U+0651 ;;SHADDA
+V c > U+0685 ;pashto
+C c C c > U+0686 U+0651 ;;SHADDA
+C c > U+0686
+P C c P C c > U+06BF U+0651 ;;SHADDA
+P C c > U+06BF ;; cheh with dot above <<<
+c c > U+0681 U+0651 ;;SHADDA
+c > U+0681 ; ح with hamza above
+CO c CO c > U+0682 U+0651 ;;SHADDA
+CO c > U+0682 ; old pashto
+CO b CO b > U+067B U+0651 ;;SHADDA
+CO b > U+067B
+P b P b > U+066E U+0651 ;;SHADDA
+P b > U+066E
+b b > U+0628 U+0651 ;;SHADDA
+b > U+0628
+H A > U+0622
+C A > U+064E U+0622 ; historical spelling
+UL A > U+064E U+0649
+UL a > U+0670
+UL u > U+0657 ; inverted damma
+UL i > U+0656 ; subscript alif
+Q AN / (A H|Ha) _ > ;
+AN / (A H|Ha) _ > U+064B
+Q AN > U+0627
+AN > U+0627 U+064B
+Q a >
+a > U+064E
+Q A > U+0627
+A > U+064E U+0627
+Ain Ain > U+0639 U+0651 ;;SHADDA
+Ain > U+0639
+H H > U+0621 U+0651 ;;SHADDA
+H > U+0621
+U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma
+Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash
+(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks
+[Digits] > [ArDigits]
+Z Z Z / # _ # > U+2014
+Z Z / # _ # > U+2013
+Z Z > U+0640
+B > U+0640
+Z / # _ > U+200D ; -x > force initial form with "zero-width joiner"
+Z / _ # > U+200D ; x- > force final form
+U+003C U+003C > U+00BB ;<<
+U+003E U+003E > U+00AB ;>>
+U+00AB > U+00BB
+U+00BB > U+00AB
+UL > U+0640 ;_
+U+003F > U+061F ;?
+U+003B > U+061B ;;
+U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above...
+U+002C > U+060C ;,
+U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ...
+U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual
+ ; analysis, so quoting of hamzas etc may be necessary
+;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules
+;U+005B > U+005D ;[
+Q [VWL] > ;stripoff quoted vowels
+U+00B0 > U+0652 ; °
+N > ;
+C > ;^
+BAR > ;|
+
+pass(Unicode)
+
+Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-)
+Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc.
+Class [VWL] = (U+0627 U+0648..U+0650 U+0670);
+[CONS]=k1 / _ Z? [CONS] ^U+0651 > @k1 U+0652 ; hack: 2nd consonant has no shadda
+U+064E (U+064A|U+0648)=hc / _ (^[VWLX]|#) > U+064E @hc U+0652 ; ay and aw diphtongs
+U+0627 [VWL]? / [VWL] Z _ > U+0671 ; e.g. fa-isti_hraj -> wasla on initial alif
+U+0627 / # _ U+0644 > U+0627 U+064E ; otherwise initial alif takes fatha
+[CONS]=k1 / _ ([CONS]|#) > @k1 U+0652 ; consonant + (consonant or final)
+;; [CONS]=k1 / _ # > @k1 U+0652 ; final consonant
+Q > ;
+Z > ;
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-maghribi-fullvoc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-maghribi-fullvoc.tec
index 86c641da78f..f475104efeb 100644
--- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-maghribi-fullvoc.tec
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-maghribi-fullvoc.tec
Binary files differ
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-maghribi-novoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-maghribi-novoc.map
new file mode 100644
index 00000000000..237c45ab8e6
--- /dev/null
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-maghribi-novoc.map
@@ -0,0 +1,465 @@
+LHSName "ArabTeX-maghribi-novowels"
+RHSName "UNICODE"
+
+Define a U+0061 ;a
+Define b U+0062 ;b
+Define c U+0063 ;c
+Define d U+0064 ;d
+Define e U+0065 ;e
+Define f U+0066 ;f
+Define g U+0067 ;g
+Define h U+0068 ;h
+Define i U+0069 ;i
+Define j U+006A ;j
+Define k U+006B ;k
+Define l U+006C ;l
+Define m U+006D ;m
+Define n U+006E ;n
+Define o U+006F ;o
+Define p U+0070 ;p
+Define q U+0071 ;q
+Define r U+0072 ;r
+Define s U+0073 ;s
+Define t U+0074 ;t
+Define u U+0075 ;u
+Define v U+0076 ;v
+Define w U+0077 ;w
+Define x U+0078 ;x
+Define y U+0079 ;y
+Define z U+007A ;z
+Define A U+0041 ;A
+Define B U+0042 ;B
+Define E U+0045 ;E
+Define G U+0047 ;G
+Define I U+0049 ;I
+Define N U+004E ;N
+Define O U+004F ;O
+Define T U+0054 ;T
+Define U U+0055 ;U
+Define W U+0057 ;W
+Define Y U+0059 ;Y
+Define C U+005E ;^ << CARET
+Define UL U+005F ;_ << UNDERLINE
+Define P U+002E ;. << DOT
+Define V U+002C ;, << COMMA (_V_irgule)
+Define CO U+003A ;: << COLON
+Define SC U+003B ;; << SEMICOLON
+Define Ain U+0060 ;`
+Define H U+0027 ;' << HAMZA
+Define Q U+0022 ;" << QUOTE
+Define Z U+002D ;- << HYPHEN
+Define BAR U+007C ;|
+Define AN U+0061 U+004E ; aN
+Define LLAH U+006C U+006C U+005F U+0061 U+0068
+;Define NUL U+00A6;
+Define Ha U+0623
+Define Hi U+0625
+Define Hy U+0626
+Define Hw U+0624
+Define Hh U+06C0 ;; = U+0647 U+0654
+Define HA U+0622
+Define HB U+0640 U+0654
+Define HBAR U+0621 ; '|
+
+pass(Unicode)
+
+U+E000 > ; eliminate special code for capitalization in transliterations
+
+pass(Unicode)
+
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [AVWL] = (U+064B..U+0650);
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" `
+Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ”
+Class [PUNCT] = (V SC P CO)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u)
+;Class [ae] = (U+0061 U+0065) ;(a e)
+;Class [ou] = (U+0075 U+006F) ;(u o)
+Class [Iyi] = (U+0069 U+0079 U+0049)
+Class [UI] = (U+0049 U+0055) ; U I
+Class [Digits] = (U+0030..U+0039)
+
+Define BEG (#|Z|[BRACKETS])
+Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #)
+Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z)
+
+; special ligatures
+;; 1. Standard ArabTeX input
+;; WARNING! there are, alas, two classes of Arabic fonts:
+;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2
+;; For these the ligature llah can be accessed by the sequence lam-lam-ha
+;; b) Those that do not have the initial alif in U+FDF2
+;; The BAR is used in the DMG transliteration to suppress the initial A
+(a|A) BAR? l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah'
+LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h'
+;; UPPERCASE mnemonics for various ligatures or special glyphs
+;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode
+U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h'
+U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic
+;; 2b. Ligatures and glyphs defined in Unicode:
+U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH'
+U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH'
+
+U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam
+U+0028 U+0028 > U+FD3F ;; '((' : ornate right par
+U+0029 U+0029 > U+FD3E ;; '))' : ornate left par
+U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign
+;; most fonts won't have the following ones:
+U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign)
+U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign
+U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR'
+U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD'
+U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM'
+U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL')
+U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE')
+U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM'
+U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA'
+U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu"
+U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik
+
+U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY
+U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY
+U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM-
+U+005E U+004C U+0041 > U+06D9 ;; ^LA
+U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM
+U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS
+U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN
+U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB
+U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO
+U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO
+U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM
+U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM
+U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN
+U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA
+U+0057 U+0041 U+0057 > U+06E5 ;; WAW
+U+0059 U+0045 U+0048 > U+06E6 ;; YEH
+U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH
+U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN
+U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA
+U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP
+U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP
+U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP
+U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM
+
+U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::")
+
+;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts
+U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]]
+
+
+; vowels
+u u > U
+i i > I
+a a > A
+[AVWL] > ; strip off vowels when writing UTF-8 Arabic with novoc mode
+CO O > U+06FC ;
+a e > a y
+a o > a w
+CO U > U+06C7 ;
+e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish)
+o > u
+E > I
+O > U
+
+
+
+;; initial characters ...
+a l Z / BEG _ > U+0627 l Z
+H l Z / BEG _ > U+0627 l Z
+;; wasla on initial alif : NEW! NOT TESTED!
+H / BEG _ l l > U+0627 ;
+[VWL]=v1 / BEG _ > A @v1
+A / BEG _ > A a
+Q?=q1 U / BEG _ > A @q1 u w ; -U
+; Q?=q1 I / BEG _ > A @q1 i y ; -I ; but not when I is final FIXME!!!
+Q?=q1 I / BEG _ > A @q1 i y ; except for Persian, coz of ezafe rules
+
+
+;; Words with anomalous orthography:
+
+; mi'aT -> ماية
+;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy
+m Q i H Q a / _ (T|t) > m Q i A Hy Q a
+m Q i H a / _ (T|t) > m Q i A Hy
+m i H Q a / _ (T|t) > m A Hy Q a
+m i H a / _ (T|t) > m A Hy
+
+
+;; contextual analysis of hamzas
+;; THESE DO NOT APPLY FOR SINDHI
+
+; initial hamzas
+H / (#|^[LTR]) _ Q? [Iyi] > Hi
+H Q A / (#|^[LTR]) _ > HA ; alif madda
+H / (#|^[LTR]) _ Q? [Uwu] > Ha
+H / (#|^[LTR]) _ Q? a > Ha
+Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word
+
+; quoted hamzas in contextual mode, equivalent to verbatim mode
+a Q H > Ha
+i Q H > Hi
+y Q H > Hy
+w Q H > Hw
+h Q H > Hh
+A Q H > HA
+B Q H > HB
+BAR Q H > HBAR
+
+; hamza + fathatan
+H / a _ Q? AN > Ha
+;;H / [Iyi] _ Q? AN > Hy
+H / _ Q? AN > Hy
+
+;final hamzas
+H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ...
+H / a _ Q? (#|^[LTR]) > Ha ; not AN...
+H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN...
+H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy
+H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw
+
+;;and more hamzas ...
+
+; n°1: kasra/ya
+H / [LTR] _ Q? [Iyi] ^N > Hy
+H / [Iyi] _ > Hy
+
+; n°2: damma/waw
+H / [LTR] _ Q? (U|u) ^N > Hw
+H / (U|u) _ Q? ^[Iyi] > Hw
+H / U _ > HBAR
+
+; n°3: fatha/alif
+H Q? A > HA
+H / A _ Q? a > HBAR
+H / ^[UI] _ Q? a > Ha
+H / a _ Q? ^[UI] > Ha
+
+
+pass(Unicode)
+
+Class [Digits] = (U+0030..U+0039)
+Class [ArDigits] = (U+0660..U+0669)
+Class [ArEasternDigits] = (U+06F0..U+06F9)
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+
+
+
+
+;normal code
+
+
+(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA
+(P z|U+1E93) > U+0638
+C z C z > U+0698 U+0651 ;;SHADDA
+C z > U+0698
+V z V z > U+0696 U+0651 ;;SHADDA
+V z > U+0696 ;pashto
+z z > U+0632 U+0651 ;;SHADDA
+z > U+0632
+Y Y > U+0649 U+0651 ;;SHADDA
+Y > U+0649
+P I P I / _ # > U+06CC U+0651 ;; SHADDA
+P I / _ # > U+06CC ;; workaround to have ya without dots in Arabic
+y y > U+064A U+0651 ;;SHADDA
+y > U+064A
+v v > U+06A5 U+0651 ;;SHADDA
+v > U+06A5 ;; maghribi
+W > U+0648 U+0627 ; waw + alif
+C U > U+064F U+0648 U+0653; historical spelling : madda on waw
+Q U [Uw] > U+064F U+0648 U+0651 ;;SHADDA
+Q U > U+064F U+0648
+[Uw] [Uw] > U+0648 U+0651 ;;SHADDA
+[Uw] > U+0648
+C w C w > U+06C9 U+0651 ;;SHADDA
+C w > U+06C9
+CO w CO w > U+06CA U+0651 ;,SHADDA
+CO w > U+06CA
+Q u N > U+064C
+u N >
+Q u > U+064F
+V t V t > U+0679 U+0651 ;;SHADDA
+V t > U+0679 ;urdu
+UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA
+UL (t|s) > U+062B
+(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA
+(P t|U+1E6D) > U+0637
+t t > U+062A U+0651 ;;SHADDA
+t > U+062A
+T T Q AN > U+0629 U+0651 U+064B ;;SHADDA
+T Q AN > U+0629 U+064B
+T AN > U+0629
+T T > U+0629 U+0651 ;;SHADDA
+T > U+0629
+C s C s > U+0634 U+0651 ;;SHADDA
+C s > U+0634
+(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA
+(P s|U+1E63) > U+0635
+V s V s > U+069A U+0651 ;;SHADDA
+V s > U+069A ;Pashto
+CO s CO s > U+069B U+0651 ;;SHADDA
+CO s > U+069B ; sin with 3 dots below
+s s > U+0633 U+0651 ;;SHADDA
+s > U+0633
+C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<<
+C r > U+06EF
+CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<<
+CO r > U+0697 ; Dargwa language, Dagestan
+P r P r > U+0694 U+0651 ;;SHADDA
+P r > U+0694 ; r with dot below; in Kurdish .r -> 0694
+V r V r > U+0691 U+0651 ;;SHADDA
+V r > U+0691 ;Urdu
+r r > U+0631 U+0651 ;;SHADDA
+r > U+0631
+P q P q > U+066F U+0651 ;;SHADDA
+P q > U+066F
+q q > U+06A7 U+0651 ;; maghribi
+q > U+06A7 ;; maghribi
+p p > U+067E U+0651 ;;SHADDA
+p > U+067E
+CO n CO n > U+06B1 U+0651 ;;SHADDA
+CO n > U+06B1
+C n C n > U+06AD U+0651 ;;SHADDA
+C n > U+06AD
+P n P n > U+06BA U+0651 ;;SHADDA
+P n > U+06BA ; urdu
+V n V n > U+06BC U+0651 ;;SHADDA
+V n > U+06BC ; Pashto
+n n > U+0646 U+0651 ;;SHADDA
+n > U+0646
+m m > U+0645 U+0651 ;;SHADDA
+m > U+0645
+P l P l > U+06B6 U+0651 ;
+P l > U+06B6 ; ADDED <<<
+C l C l > U+06B5 U+0651 ;;SHADDA
+C l > U+06B5 ;kurdish
+l l > U+0644 U+0651 ;;SHADDA
+l > U+0644
+P k P k > U+06A9 U+0651 ;;SHADDA
+P k > U+06A9 ; pashto urdu
+UL k UL k > U+063A U+0651 ;;SHADDA
+UL k > U+063A
+k k > U+0643 U+0651 ;;SHADDA
+k > U+0643
+C g C g > U+062C U+0651 ;;SHADDA
+C g > U+062C
+CO j CO j > U+0684 U+0651 ;;SHADDA
+CO j > U+0684
+j j > U+062C U+0651 ;;SHADDA
+j > U+062C
+Q I > U+0650 U+064A
+C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya
+UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ###
+I > U+064A
+Q i N > U+064D
+i N > ;
+Q i > U+0650
+x x > U+062E U+0651 ;;SHADDA
+x > U+062E
+UL h UL h > U+062E U+0651 ;;SHADDA
+UL h > U+062E
+(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA
+(P h|U+1E25) > U+062D
+V h V h > U+06C1 U+0651 ;;SHADDA
+V h > U+06C1
+h h > U+0647 U+0651 ;;SHADDA
+h > U+0647
+CO g CO g > U+06B3 U+0651 ;;SHADDA
+CO g > U+06B3
+V g V g > U+06AC U+0651 ;;SHADDA
+V g > U+06AC ; kaf with dot above
+P g P g > U+063A U+0651 ;;SHADDA
+P g > U+063A
+g g > U+06AF U+0651 ;;SHADDA
+g > U+06AF
+G G > U+06AB U+0651 ;;SHADDA
+G > U+06AB ;pashto
+P f P f > U+06A1 U+0651 ;;SHADDA
+P f > U+06A1
+f f > U+06A2 U+0651 ;; SHADDA
+f > U+06A2 ;; maghribi
+V d V d > U+068A U+0651 ;;SHADDA
+V d > U+068A
+P V d P V d > U+068B U+0651 ;;SHADDA
+P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi)
+C d C d > U+06EE U+0651 ;;SHADDA
+C d > U+06EE ; not defined in ArabTeX
+CO d CO d > U+068F U+0651 ;;SHADDA
+CO d > U+068F
+UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA
+UL (d|z) > U+0630
+(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA
+(P d|U+1E0D) > U+0636
+d d > U+062F U+0651 ;;SHADDA
+d > U+062F
+V c V c > U+0685 U+0651 ;;SHADDA
+V c > U+0685 ;pashto
+C c C c > U+0686 U+0651 ;;SHADDA
+C c > U+0686
+P C c P C c > U+06BF U+0651 ;;SHADDA
+P C c > U+06BF ;; cheh with dot above <<<
+c c > U+0681 U+0651 ;;SHADDA
+c > U+0681 ; ح with hamza above
+CO c CO c > U+0682 U+0651 ;;SHADDA
+CO c > U+0682 ; old pashto
+CO b CO b > U+067B U+0651 ;;SHADDA
+CO b > U+067B
+P b P b > U+066E U+0651 ;;SHADDA
+P b > U+066E
+b b > U+0628 U+0651 ;;SHADDA
+b > U+0628
+H A > U+0622
+C A > U+064E U+0622 ; historical spelling
+UL A > U+0649
+UL a > U+0670
+UL u > U+0657 ; inverted damma
+UL i > U+0656 ; subscript alif
+Q AN / (A H|Ha) _ > U+064B
+AN / (A H|Ha) _ > ;
+Q AN > U+0627 U+064B
+AN > U+0627
+Q a > U+064E
+Q A > U+064E U+0627
+A > U+0627
+Ain Ain > U+0639 U+0651 ;;SHADDA
+Ain > U+0639
+H H > U+0621 U+0651 ;;SHADDA
+H > U+0621
+U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma
+Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash
+(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks
+[Digits] > [ArDigits]
+Z Z Z / # _ # > U+2014
+Z Z / # _ # > U+2013
+Z Z > U+0640
+B > U+0640
+Z / # _ > U+200D ; -x > force initial form with "zero-width joiner"
+Z / _ # > U+200D ; x- > force final form
+U+003C U+003C > U+00BB ;<<
+U+003E U+003E > U+00AB ;>>
+U+00AB > U+00BB
+U+00BB > U+00AB
+UL > U+0640 ;_
+U+003F > U+061F ;?
+U+003B > U+061B ;;
+U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above...
+U+002C > U+060C ;,
+U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ...
+U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual
+ ; analysis, so quoting of hamzas etc may be necessary
+;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules
+;U+005B > U+005D ;[
+[VWL] > ;stripoff vowels
+Q > U+0652
+U+00B0 > U+0652 ; °
+N > ;
+C > ;^
+Z > ;-
+BAR > ;|
+
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-maghribi-novoc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-maghribi-novoc.tec
index 1c14ab69492..2bc13123142 100644
--- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-maghribi-novoc.tec
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-maghribi-novoc.tec
Binary files differ
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-maghribi-voc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-maghribi-voc.map
new file mode 100644
index 00000000000..c85d129e046
--- /dev/null
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-maghribi-voc.map
@@ -0,0 +1,476 @@
+LHSName "ArabTeX-maghribi-vocalized"
+RHSName "UNICODE"
+
+Define a U+0061 ;a
+Define b U+0062 ;b
+Define c U+0063 ;c
+Define d U+0064 ;d
+Define e U+0065 ;e
+Define f U+0066 ;f
+Define g U+0067 ;g
+Define h U+0068 ;h
+Define i U+0069 ;i
+Define j U+006A ;j
+Define k U+006B ;k
+Define l U+006C ;l
+Define m U+006D ;m
+Define n U+006E ;n
+Define o U+006F ;o
+Define p U+0070 ;p
+Define q U+0071 ;q
+Define r U+0072 ;r
+Define s U+0073 ;s
+Define t U+0074 ;t
+Define u U+0075 ;u
+Define v U+0076 ;v
+Define w U+0077 ;w
+Define x U+0078 ;x
+Define y U+0079 ;y
+Define z U+007A ;z
+Define A U+0041 ;A
+Define B U+0042 ;B
+Define E U+0045 ;E
+Define G U+0047 ;G
+Define I U+0049 ;I
+Define N U+004E ;N
+Define O U+004F ;O
+Define T U+0054 ;T
+Define U U+0055 ;U
+Define W U+0057 ;W
+Define Y U+0059 ;Y
+Define C U+005E ;^ << CARET
+Define UL U+005F ;_ << UNDERLINE
+Define P U+002E ;. << DOT
+Define V U+002C ;, << COMMA (_V_irgule)
+Define CO U+003A ;: << COLON
+Define SC U+003B ;; << SEMICOLON
+Define Ain U+0060 ;`
+Define H U+0027 ;' << HAMZA
+Define Q U+0022 ;" << QUOTE
+Define Z U+002D ;- << HYPHEN
+Define BAR U+007C ;|
+Define AN U+0061 U+004E ; aN
+Define LLAH U+006C U+006C U+005F U+0061 U+0068
+;Define NUL U+00A6;
+Define Ha U+0623
+Define Hi U+0625
+Define Hy U+0626
+Define Hw U+0624
+Define Hh U+06C0 ;; = U+0647 U+0654
+Define HA U+0622
+Define HB U+0640 U+0654
+Define HBAR U+0621 ; '|
+
+pass(Unicode)
+
+U+E000 > ; eliminate special code for capitalization in transliterations
+
+pass(Unicode)
+
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [AVWL] = (U+064B..U+0650);
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" `
+Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ”
+Class [PUNCT] = (V SC P CO)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u)
+;Class [ae] = (U+0061 U+0065) ;(a e)
+;Class [ou] = (U+0075 U+006F) ;(u o)
+Class [Iyi] = (U+0069 U+0079 U+0049)
+Class [UI] = (U+0049 U+0055) ; U I
+Class [Digits] = (U+0030..U+0039)
+
+Define BEG (#|Z|[BRACKETS])
+Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #)
+Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z)
+
+; special ligatures
+;; 1. Standard ArabTeX input
+;; WARNING! there are, alas, two classes of Arabic fonts:
+;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2
+;; For these the ligature llah can be accessed by the sequence lam-lam-ha
+;; b) Those that do not have the initial alif in U+FDF2
+;; The BAR is used in the DMG transliteration to suppress the initial A
+(a|A) BAR? l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah'
+LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h'
+;; UPPERCASE mnemonics for various ligatures or special glyphs
+;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode
+U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h'
+U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic
+;; 2b. Ligatures and glyphs defined in Unicode:
+U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH'
+U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH'
+
+U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam
+U+0028 U+0028 > U+FD3F ;; '((' : ornate right par
+U+0029 U+0029 > U+FD3E ;; '))' : ornate left par
+U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign
+;; most fonts won't have the following ones:
+U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign)
+U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign
+U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR'
+U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD'
+U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM'
+U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL')
+U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE')
+U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM'
+U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA'
+U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu"
+U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik
+
+U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY
+U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY
+U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM-
+U+005E U+004C U+0041 > U+06D9 ;; ^LA
+U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM
+U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS
+U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN
+U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB
+U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO
+U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO
+U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM
+U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM
+U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN
+U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA
+U+0057 U+0041 U+0057 > U+06E5 ;; WAW
+U+0059 U+0045 U+0048 > U+06E6 ;; YEH
+U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH
+U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN
+U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA
+U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP
+U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP
+U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP
+U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM
+
+U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::")
+
+;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts
+U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]]
+
+
+; vowels
+u u > U
+i i > I
+a a > A
+CO O > U+06FC ;
+a e > a y
+a o > a w
+CO U > U+06C7 ;
+e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish)
+o > u
+E > I
+O > U
+
+
+
+;; initial characters ...
+a l Z / BEG _ > U+0627 l Z
+H l Z / BEG _ > U+0627 l Z
+;; wasla on initial alif : NEW! NOT TESTED!
+H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI
+[VWL]=v1 / BEG _ > U+0627 @v1
+A / BEG _ > U+0627 a
+Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U
+; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I
+Q?=q1 I / BEG _ > U+0627 @q1 i y
+
+
+;; Words with anomalous orthography:
+
+; mi'aT -> ماية
+;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy
+m Q i H Q a / _ (T|t) > m U+0627 Hy
+m Q i H a / _ (T|t) > m U+0627 Hy a
+m i H Q a / _ (T|t) > m i U+0627 Hy
+m i H a / _ (T|t) > m i U+0627 Hy a
+
+
+;; contextual analysis of hamzas
+;; THESE DO NOT APPLY FOR SINDHI
+
+; initial hamzas
+H / (#|^[LTR]) _ Q? [Iyi] > Hi
+H Q A / (#|^[LTR]) _ > HA ; alif madda
+H / (#|^[LTR]) _ Q? [Uwu] > Ha
+H / (#|^[LTR]) _ Q? a > Ha
+Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word
+
+; quoted hamzas in contextual mode, equivalent to verbatim mode
+a Q H > Ha
+i Q H > Hi
+y Q H > Hy
+w Q H > Hw
+h Q H > Hh
+A Q H > HA
+B Q H > HB
+BAR Q H > HBAR
+
+; hamza + fathatan
+H / a _ Q? AN > Ha
+;;H / [Iyi] _ Q? AN > Hy
+H / _ Q? AN > Hy
+
+;final hamzas
+H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ...
+H / a _ Q? (#|^[LTR]) > Ha ; not AN...
+H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN...
+H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy
+H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw
+
+;;and more hamzas ...
+
+; n°1: kasra/ya
+H / [LTR] _ Q? [Iyi] ^N > Hy
+H / [Iyi] _ > Hy
+
+; n°2: damma/waw
+H / [LTR] _ Q? (U|u) ^N > Hw
+H / (U|u) _ Q? ^[Iyi] > Hw
+H / U _ > HBAR
+
+; n°3: fatha/alif
+H Q? A > HA
+H / A _ Q? a > HBAR
+H / ^[UI] _ Q? a > Ha
+H / a _ Q? ^[UI] > Ha
+
+
+pass(Unicode)
+
+Class [Digits] = (U+0030..U+0039)
+Class [ArDigits] = (U+0660..U+0669)
+Class [ArEasternDigits] = (U+06F0..U+06F9)
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+
+
+
+
+;normal code
+
+
+(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA
+(P z|U+1E93) > U+0638
+C z C z > U+0698 U+0651 ;;SHADDA
+C z > U+0698
+V z V z > U+0696 U+0651 ;;SHADDA
+V z > U+0696 ;pashto
+z z > U+0632 U+0651 ;;SHADDA
+z > U+0632
+Q Y Y > U+0649 U+0651 ;;SHADDA
+Q Y > U+0649
+Y Y > U+064E U+0649 U+0651 ;;SHADDA
+Y > U+064E U+0649
+P I P I / _ # > U+0650 U+06CC U+0651 ;; SHADDA
+P I / _ # > U+0650 U+06CC ;; workaround to have ya without dots in Arabic
+y y > U+064A U+0651 ;;SHADDA
+y > U+064A
+v v > U+06A5 U+0651 ;;SHADDA
+v > U+06A5 ;; maghribi
+W > U+0648 U+0627 ; waw + alif
+C U > U+064F U+0648 U+0653; historical spelling : madda on waw
+C w C w > U+06C9 U+0651 ;;SHADDA
+C w > U+06C9
+CO w CO w > U+06CA U+0651 ;,SHADDA
+CO w > U+06CA
+U A / _ # > U+064F U+0648 U+0627
+Q U [Uw] > U+0648 U+0651 ;;SHADDA
+Q U > U+0648
+U [Uw] > U+064F U+0648 U+0651 ;;SHADDA
+U > U+064F U+0648
+w w > U+0648 U+0651 ;;SHADDA
+w > U+0648
+Q u N? >
+u N > U+064C
+u > U+064F
+V t V t > U+0679 U+0651 ;;SHADDA
+V t > U+0679 ;urdu
+UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA
+UL (t|s) > U+062B
+(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA
+(P t|U+1E6D) > U+0637
+t t > U+062A U+0651 ;;SHADDA
+t > U+062A
+T T Q AN > U+0629 U+0651 ;;SHADDA
+T Q AN > U+0629
+T AN > U+0629 U+064B
+T T > U+0629 U+0651 ;;SHADDA
+T > U+0629
+C s C s > U+0634 U+0651 ;;SHADDA
+C s > U+0634
+(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA
+(P s|U+1E63) > U+0635
+V s V s > U+069A U+0651 ;;SHADDA
+V s > U+069A ;Pashto
+CO s CO s > U+069B U+0651 ;;SHADDA
+CO s > U+069B ; sin with 3 dots below
+s s > U+0633 U+0651 ;;SHADDA
+s > U+0633
+C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<<
+C r > U+06EF
+CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<<
+CO r > U+0697 ; Dargwa language, Dagestan
+P r P r > U+0694 U+0651 ;;SHADDA
+P r > U+0694 ; r with dot below; in Kurdish .r -> 0694
+V r V r > U+0691 U+0651 ;;SHADDA
+V r > U+0691 ;Urdu
+r r > U+0631 U+0651 ;;SHADDA
+r > U+0631
+P q P q > U+066F U+0651 ;;SHADDA
+P q > U+066F
+q q > U+06A7 U+0651 ;; maghribi
+q > U+06A7 ;; maghribi
+p p > U+067E U+0651 ;;SHADDA
+p > U+067E
+CO n CO n > U+06B1 U+0651 ;;SHADDA
+CO n > U+06B1
+C n C n > U+06AD U+0651 ;;SHADDA
+C n > U+06AD
+P n P n > U+06BA U+0651 ;;SHADDA
+P n > U+06BA ; urdu
+V n V n > U+06BC U+0651 ;;SHADDA
+V n > U+06BC ; Pashto
+n n > U+0646 U+0651 ;;SHADDA
+n > U+0646
+m m > U+0645 U+0651 ;;SHADDA
+m > U+0645
+P l P l > U+06B6 U+0651 ;
+P l > U+06B6 ; ADDED <<<
+C l C l > U+06B5 U+0651 ;;SHADDA
+C l > U+06B5 ;kurdish
+l l > U+0644 U+0651 ;;SHADDA
+l > U+0644
+P k P k > U+06A9 U+0651 ;;SHADDA
+P k > U+06A9 ; pashto urdu
+UL k UL k > U+063A U+0651 ;;SHADDA
+UL k > U+063A
+k k > U+0643 U+0651 ;;SHADDA
+k > U+0643
+C g C g > U+062C U+0651 ;;SHADDA
+C g > U+062C
+CO j CO j > U+0684 U+0651 ;;SHADDA
+CO j > U+0684
+j j > U+062C U+0651 ;;SHADDA
+j > U+062C
+Q I > U+064A
+I > U+0650 U+064A
+C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya
+UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ###
+Q i N? > ;
+i N > U+064D
+i > U+0650
+x x > U+062E U+0651 ;;SHADDA
+x > U+062E
+UL h UL h > U+062E U+0651 ;;SHADDA
+UL h > U+062E
+(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA
+(P h|U+1E25) > U+062D
+V h V h > U+06C1 U+0651 ;;SHADDA
+V h > U+06C1
+h h > U+0647 U+0651 ;;SHADDA
+h > U+0647
+CO g CO g > U+06B3 U+0651 ;;SHADDA
+CO g > U+06B3
+V g V g > U+06AC U+0651 ;;SHADDA
+V g > U+06AC ; kaf with dot above
+P g P g > U+063A U+0651 ;;SHADDA
+P g > U+063A
+g g > U+06AF U+0651 ;;SHADDA
+g > U+06AF
+G G > U+06AB U+0651 ;;SHADDA
+G > U+06AB ;pashto
+P f P f > U+06A1 U+0651 ;;SHADDA
+P f > U+06A1
+f f > U+06A2 U+0651 ;; SHADDA
+f > U+06A2 ;; maghribi
+V d V d > U+068A U+0651 ;;SHADDA
+V d > U+068A
+P V d P V d > U+068B U+0651 ;;SHADDA
+P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi)
+C d C d > U+06EE U+0651 ;;SHADDA
+C d > U+06EE ; not defined in ArabTeX
+CO d CO d > U+068F U+0651 ;;SHADDA
+CO d > U+068F
+UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA
+UL (d|z) > U+0630
+(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA
+(P d|U+1E0D) > U+0636
+d d > U+062F U+0651 ;;SHADDA
+d > U+062F
+V c V c > U+0685 U+0651 ;;SHADDA
+V c > U+0685 ;pashto
+C c C c > U+0686 U+0651 ;;SHADDA
+C c > U+0686
+P C c P C c > U+06BF U+0651 ;;SHADDA
+P C c > U+06BF ;; cheh with dot above <<<
+c c > U+0681 U+0651 ;;SHADDA
+c > U+0681 ; ح with hamza above
+CO c CO c > U+0682 U+0651 ;;SHADDA
+CO c > U+0682 ; old pashto
+CO b CO b > U+067B U+0651 ;;SHADDA
+CO b > U+067B
+P b P b > U+066E U+0651 ;;SHADDA
+P b > U+066E
+b b > U+0628 U+0651 ;;SHADDA
+b > U+0628
+H A > U+0622
+C A > U+064E U+0622 ; historical spelling
+UL A > U+064E U+0649
+UL a > U+0670
+UL u > U+0657 ; inverted damma
+UL i > U+0656 ; subscript alif
+Q AN / (A H|Ha) _ > ;
+AN / (A H|Ha) _ > U+064B
+Q AN > U+0627
+AN > U+0627 U+064B
+Q a >
+a > U+064E
+Q A > U+0627
+A > U+064E U+0627
+Ain Ain > U+0639 U+0651 ;;SHADDA
+Ain > U+0639
+H H > U+0621 U+0651 ;;SHADDA
+H > U+0621
+U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma
+Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash
+(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks
+[Digits] > [ArDigits]
+Z Z Z / # _ # > U+2014
+Z Z / # _ # > U+2013
+Z Z > U+0640
+B > U+0640
+Z / # _ > U+200D ; -x > force initial form with "zero-width joiner"
+Z / _ # > U+200D ; x- > force final form
+U+003C U+003C > U+00BB ;<<
+U+003E U+003E > U+00AB ;>>
+U+00AB > U+00BB
+U+00BB > U+00AB
+UL > U+0640 ;_
+U+003F > U+061F ;?
+U+003B > U+061B ;;
+U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above...
+U+002C > U+060C ;,
+U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ...
+U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual
+ ; analysis, so quoting of hamzas etc may be necessary
+;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules
+;U+005B > U+005D ;[
+Q [VWL] > ;stripoff quoted vowels
+Q > U+0652
+U+00B0 > U+0652 ; °
+N > ;
+C > ;^
+BAR > ;|
+
+pass(Unicode)
+
+Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-)
+Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc.
+Class [VWL] = (U+0627 U+0648..U+0650 U+0670);
+U+0627 [VWL]? / [VWL] Z _ > U+0627 ; e.g. fa-isti_hraj -> initial alif has no vowel
+Z > ;
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-malay-fullvoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-malay-fullvoc.map
new file mode 100644
index 00000000000..ff1726ac820
--- /dev/null
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-malay-fullvoc.map
@@ -0,0 +1,485 @@
+LHSName "ArabTeX-malay-fullvocalized"
+RHSName "UNICODE"
+
+Define a U+0061 ;a
+Define b U+0062 ;b
+Define c U+0063 ;c
+Define d U+0064 ;d
+Define e U+0065 ;e
+Define f U+0066 ;f
+Define g U+0067 ;g
+Define h U+0068 ;h
+Define i U+0069 ;i
+Define j U+006A ;j
+Define k U+006B ;k
+Define l U+006C ;l
+Define m U+006D ;m
+Define n U+006E ;n
+Define o U+006F ;o
+Define p U+0070 ;p
+Define q U+0071 ;q
+Define r U+0072 ;r
+Define s U+0073 ;s
+Define t U+0074 ;t
+Define u U+0075 ;u
+Define v U+0076 ;v
+Define w U+0077 ;w
+Define x U+0078 ;x
+Define y U+0079 ;y
+Define z U+007A ;z
+Define A U+0041 ;A
+Define B U+0042 ;B
+Define E U+0045 ;E
+Define G U+0047 ;G
+Define I U+0049 ;I
+Define N U+004E ;N
+Define O U+004F ;O
+Define T U+0054 ;T
+Define U U+0055 ;U
+Define W U+0057 ;W
+Define Y U+0059 ;Y
+Define C U+005E ;^ << CARET
+Define UL U+005F ;_ << UNDERLINE
+Define P U+002E ;. << DOT
+Define V U+002C ;, << COMMA (_V_irgule)
+Define CO U+003A ;: << COLON
+Define SC U+003B ;; << SEMICOLON
+Define Ain U+0060 ;`
+Define H U+0027 ;' << HAMZA
+Define Q U+0022 ;" << QUOTE
+Define Z U+002D ;- << HYPHEN
+Define BAR U+007C ;|
+Define AN U+0061 U+004E ; aN
+Define LLAH U+006C U+006C U+005F U+0061 U+0068
+;Define NUL U+00A6;
+Define Ha U+0623
+Define Hi U+0625
+Define Hy U+0626
+Define Hw U+0624
+Define Hh U+06C0 ;; = U+0647 U+0654
+Define HA U+0622
+Define HB U+0640 U+0654
+Define HBAR U+0621 ; '|
+
+pass(Unicode)
+
+U+E000 > ; eliminate special code for capitalization in transliterations
+
+pass(Unicode)
+
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [AVWL] = (U+064B..U+0650);
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" `
+Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ”
+Class [PUNCT] = (V SC P CO)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u)
+;Class [ae] = (U+0061 U+0065) ;(a e)
+;Class [ou] = (U+0075 U+006F) ;(u o)
+Class [Iyi] = (U+0069 U+0079 U+0049)
+Class [UI] = (U+0049 U+0055) ; U I
+Class [Digits] = (U+0030..U+0039)
+
+Define BEG (#|Z|[BRACKETS])
+Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #)
+Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z)
+
+; special ligatures
+;; 1. Standard ArabTeX input
+;; WARNING! there are, alas, two classes of Arabic fonts:
+;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2
+;; For these the ligature llah can be accessed by the sequence lam-lam-ha
+;; b) Those that do not have the initial alif in U+FDF2
+;; The BAR is used in the DMG transliteration to suppress the initial A
+(a|A) BAR? l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah'
+LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h'
+;; UPPERCASE mnemonics for various ligatures or special glyphs
+;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode
+U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h'
+U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic
+;; 2b. Ligatures and glyphs defined in Unicode:
+U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH'
+U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH'
+
+U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam
+U+0028 U+0028 > U+FD3F ;; '((' : ornate right par
+U+0029 U+0029 > U+FD3E ;; '))' : ornate left par
+U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign
+;; most fonts won't have the following ones:
+U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign)
+U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign
+U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR'
+U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD'
+U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM'
+U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL')
+U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE')
+U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM'
+U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA'
+U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu"
+U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik
+
+U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY
+U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY
+U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM-
+U+005E U+004C U+0041 > U+06D9 ;; ^LA
+U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM
+U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS
+U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN
+U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB
+U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO
+U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO
+U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM
+U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM
+U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN
+U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA
+U+0057 U+0041 U+0057 > U+06E5 ;; WAW
+U+0059 U+0045 U+0048 > U+06E6 ;; YEH
+U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH
+U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN
+U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA
+U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP
+U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP
+U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP
+U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM
+
+U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::")
+
+;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts
+U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]]
+
+
+; vowels
+u u > U
+i i > I
+a a > A
+CO O > U+06FC ;
+a e > a y
+a o > a w
+CO U > U+06C7 ;
+e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish)
+o > u
+
+
+;; Persian ezafe (ALL BUT ARABIC AND UIGHUR)
+U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<<
+U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I
+Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e
+Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I
+Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i
+Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i
+Z / U+0048 _ > U+0020 ;
+b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen
+
+;; initial characters ...
+a l Z / BEG _ > U+0627 l Z
+;; wasla on initial alif : NEW! NOT TESTED!
+H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI
+[VWL]=v1 / BEG _ > U+0627 @v1
+Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U
+; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I
+Q?=q1 I / BEG _ > U+0627 @q1 i y
+
+
+;; Words with anomalous orthography:
+
+; mi'aT -> ماية
+;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy
+m Q i H Q a / _ (T|t) > m U+0627 Hy
+m Q i H a / _ (T|t) > m U+0627 Hy a
+m i H Q a / _ (T|t) > m i U+0627 Hy
+m i H a / _ (T|t) > m i U+0627 Hy a
+
+
+;; contextual analysis of hamzas
+;; THESE DO NOT APPLY FOR SINDHI
+
+; initial hamzas
+H / (#|^[LTR]) _ Q? [Iyi] > Hi
+H Q A / (#|^[LTR]) _ > HA ; alif madda
+H / (#|^[LTR]) _ Q? [Uwu] > Ha
+H / (#|^[LTR]) _ Q? a > Ha
+Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word
+
+; quoted hamzas in contextual mode, equivalent to verbatim mode
+a Q H > Ha
+i Q H > Hi
+y Q H > Hy
+w Q H > Hw
+h Q H > Hh
+A Q H > HA
+B Q H > HB
+BAR Q H > HBAR
+
+; hamza + fathatan
+H / a _ Q? AN > Ha
+;;H / [Iyi] _ Q? AN > Hy
+H / _ Q? AN > Hy
+
+;final hamzas
+H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ...
+H / a _ Q? (#|^[LTR]) > Ha ; not AN...
+H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN...
+H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy
+H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw
+
+;;and more hamzas ...
+
+; n°1: kasra/ya
+H / [LTR] _ Q? [Iyi] ^N > Hy
+H / [Iyi] _ > Hy
+
+; n°2: damma/waw
+H / [LTR] _ Q? (U|u) ^N > Hw
+H / (U|u) _ Q? ^[Iyi] > Hw
+H / U _ > HBAR
+
+; n°3: fatha/alif
+H Q? A > HA
+H / A _ Q? a > HBAR
+H / ^[UI] _ Q? a > Ha
+H / a _ Q? ^[UI] > Ha
+
+
+pass(Unicode)
+
+Class [Digits] = (U+0030..U+0039)
+Class [ArDigits] = (U+0660..U+0669)
+Class [ArEasternDigits] = (U+06F0..U+06F9)
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+
+
+
+
+;normal code
+
+
+(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA
+(P z|U+1E93) > U+0638
+C z C z > U+0698 U+0651 ;;SHADDA
+C z > U+0698
+V z V z > U+0696 U+0651 ;;SHADDA
+V z > U+0696 ;pashto
+z z > U+0632 U+0651 ;;SHADDA
+z > U+0632
+Q Y Y > U+0649 U+0651 ;;SHADDA
+Q Y > U+0649
+Y Y > U+064E U+0649 U+0651 ;;SHADDA
+Y > U+064E U+0649
+P I P I / _ # > U+0650 U+06CC U+0651 ;; SHADDA
+P I / _ # > U+0650 U+06CC ;; workaround to have ya without dots in Arabic
+y y > U+064A U+0651 ;;SHADDA
+y > U+064A
+v v > U+06CF U+0651 ;;SHADDA
+v > U+06CF
+W > U+0648 U+0627 ; waw + alif
+C U > U+064F U+0648 U+0653; historical spelling : madda on waw
+C w C w > U+06C9 U+0651 ;;SHADDA
+C w > U+06C9
+CO w CO w > U+06CA U+0651 ;,SHADDA
+CO w > U+06CA
+U A / _ # > U+064F U+0648 U+0627
+Q U [Uw] > U+0648 U+0651 ;;SHADDA
+Q U > U+0648
+U [Uw] > U+064F U+0648 U+0651 ;;SHADDA
+U > U+064F U+0648
+w w > U+0648 U+0651 ;;SHADDA
+w > U+0648
+Q u N? >
+u N > U+064C
+u > U+064F
+V t V t > U+0679 U+0651 ;;SHADDA
+V t > U+0679 ;urdu
+UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA
+UL (t|s) > U+062B
+(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA
+(P t|U+1E6D) > U+0637
+t t > U+062A U+0651 ;;SHADDA
+t > U+062A
+T T Q AN > U+0629 U+0651 ;;SHADDA
+T Q AN > U+0629
+T AN > U+0629 U+064B
+T T > U+0629 U+0651 ;;SHADDA
+T > U+0629
+C s C s > U+0634 U+0651 ;;SHADDA
+C s > U+0634
+(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA
+(P s|U+1E63) > U+0635
+V s V s > U+069A U+0651 ;;SHADDA
+V s > U+069A ;Pashto
+CO s CO s > U+069B U+0651 ;;SHADDA
+CO s > U+069B ; sin with 3 dots below
+s s > U+0633 U+0651 ;;SHADDA
+s > U+0633
+C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<<
+C r > U+06EF
+CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<<
+CO r > U+0697 ; Dargwa language, Dagestan
+P r P r > U+0694 U+0651 ;;SHADDA
+P r > U+0694 ; r with dot below; in Kurdish .r -> 0694
+V r V r > U+0691 U+0651 ;;SHADDA
+V r > U+0691 ;Urdu
+r r > U+0631 U+0651 ;;SHADDA
+r > U+0631
+P q P q > U+066F U+0651 ;;SHADDA
+P q > U+066F
+q q > U+0642 U+0651 ;;SHADDA
+q > U+0642
+p p > U+06A8 U+0651 ;;SHADDA
+p > U+06A8 ;Old malay
+CO n CO n > U+06B1 U+0651 ;;SHADDA
+CO n > U+06B1
+C n C n > U+06BD U+0651 ;;SHADDA
+C n > U+06BD ; <<< ArabTeX yields nūn with three dots below, which is not in Unicode!
+P n P n > U+06BA U+0651 ;;SHADDA
+P n > U+06BA ; urdu
+V n V n > U+06BC U+0651 ;;SHADDA
+V n > U+06BC ; Pashto
+n n > U+0646 U+0651 ;;SHADDA
+n > U+0646
+m m > U+0645 U+0651 ;;SHADDA
+m > U+0645
+P l P l > U+06B6 U+0651 ;
+P l > U+06B6 ; ADDED <<<
+C l C l > U+06B5 U+0651 ;;SHADDA
+C l > U+06B5 ;kurdish
+l l > U+0644 U+0651 ;;SHADDA
+l > U+0644
+P k P k > U+06A9 U+0651 ;;SHADDA
+P k > U+06A9 ; pashto urdu
+UL k UL k > U+063A U+0651 ;;SHADDA
+UL k > U+063A
+k k > U+0643 U+0651 ;;SHADDA
+k > U+0643
+C g C g > U+06A0 U+0651 ;;SHADDA
+C g > U+06A0
+CO j CO j > U+0684 U+0651 ;;SHADDA
+CO j > U+0684
+j j > U+062C U+0651 ;;SHADDA
+j > U+062C
+Q I > U+064A
+I > U+0650 U+064A
+C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya
+UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ###
+Q i N? > ;
+i N > U+064D
+i > U+0650
+x x > U+062E U+0651 ;;SHADDA
+x > U+062E
+UL h UL h > U+062E U+0651 ;;SHADDA
+UL h > U+062E
+(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA
+(P h|U+1E25) > U+062D
+V h V h > U+06C1 U+0651 ;;SHADDA
+V h > U+06C1
+h h > U+0647 U+0651 ;;SHADDA
+h > U+0647
+CO g CO g > U+06B3 U+0651 ;;SHADDA
+CO g > U+06B3
+V g V g > U+06AC U+0651 ;;SHADDA
+V g > U+06AC ; kaf with dot above
+P g P g > U+063A U+0651 ;;SHADDA
+P g > U+063A
+g g > U+0762 U+0651 ;;SHADDA
+g > U+0762
+G G > U+06AB U+0651 ;;SHADDA
+G > U+06AB ;pashto
+P f P f > U+06A1 U+0651 ;;SHADDA
+P f > U+06A1
+f f > U+0641 U+0651 ;;SHADDA
+f > U+0641
+V d V d > U+068A U+0651 ;;SHADDA
+V d > U+068A
+P V d P V d > U+068B U+0651 ;;SHADDA
+P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi)
+C d C d > U+06EE U+0651 ;;SHADDA
+C d > U+06EE ; not defined in ArabTeX
+CO d CO d > U+068F U+0651 ;;SHADDA
+CO d > U+068F
+UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA
+UL (d|z) > U+0630
+(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA
+(P d|U+1E0D) > U+0636
+d d > U+062F U+0651 ;;SHADDA
+d > U+062F
+V c V c > U+0685 U+0651 ;;SHADDA
+V c > U+0685 ;pashto
+C c C c > U+0686 U+0651 ;;SHADDA
+C c > U+0686
+P C c P C c > U+06BF U+0651 ;;SHADDA
+P C c > U+06BF ;; cheh with dot above <<<
+c c > U+0686 U+0651 ;;SHADDA
+c > U+0686
+CO c CO c > U+0682 U+0651 ;;SHADDA
+CO c > U+0682 ; old pashto
+CO b CO b > U+067B U+0651 ;;SHADDA
+CO b > U+067B
+P b P b > U+066E U+0651 ;;SHADDA
+P b > U+066E
+b b > U+0628 U+0651 ;;SHADDA
+b > U+0628
+H A > U+0622
+C A > U+064E U+0622 ; historical spelling
+UL A > U+064E U+0649
+UL a > U+0670
+UL u > U+064F;
+UL i > U+0650;
+Q AN / (A H|Ha) _ > ;
+AN / (A H|Ha) _ > U+064B
+Q AN > U+0627
+AN > U+0627 U+064B
+Q a >
+a > U+064E
+Q A > U+0627
+A > U+064E U+0627
+Ain Ain > U+0639 U+0651 ;;SHADDA
+Ain > U+0639
+H H > U+0621 U+0651 ;;SHADDA
+H > U+0621
+U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma
+Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash
+(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks
+[Digits] > [ArDigits]
+Z Z Z / # _ # > U+2014
+Z Z / # _ # > U+2013
+Z Z > U+0640
+B > U+0640
+Z / # _ > U+200D ; -x > force initial form with "zero-width joiner"
+Z / _ # > U+200D ; x- > force final form
+U+003C U+003C > U+00BB ;<<
+U+003E U+003E > U+00AB ;>>
+U+00AB > U+00BB
+U+00BB > U+00AB
+UL > U+0640 ;_
+U+003F > U+061F ;?
+U+003B > U+061B ;;
+U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above...
+U+002C > U+060C ;,
+U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ...
+U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual
+ ; analysis, so quoting of hamzas etc may be necessary
+;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules
+;U+005B > U+005D ;[
+Q [VWL] > ;stripoff quoted vowels
+U+00B0 > U+0652 ; °
+N > ;
+C > ;^
+BAR > ;|
+
+pass(Unicode)
+
+Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-)
+Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc.
+Class [VWL] = (U+0627 U+0648..U+0650 U+0670);
+[CONS]=k1 / _ Z? [CONS] ^U+0651 > @k1 U+0652 ; hack: 2nd consonant has no shadda
+U+064E (U+064A|U+0648)=hc / _ (^[VWLX]|#) > U+064E @hc U+0652 ; ay and aw diphtongs
+U+0627 / # _ U+0644 > U+0627 U+064E ; otherwise initial alif takes fatha
+[CONS]=k1 / _ ([CONS]|#) > @k1 U+0652 ; consonant + (consonant or final)
+;; [CONS]=k1 / _ # > @k1 U+0652 ; final consonant
+Q > ;
+Z > ;
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-malay-novoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-malay-novoc.map
new file mode 100644
index 00000000000..36ab97dcdb2
--- /dev/null
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-malay-novoc.map
@@ -0,0 +1,470 @@
+LHSName "ArabTeX-malay-novowels"
+RHSName "UNICODE"
+
+Define a U+0061 ;a
+Define b U+0062 ;b
+Define c U+0063 ;c
+Define d U+0064 ;d
+Define e U+0065 ;e
+Define f U+0066 ;f
+Define g U+0067 ;g
+Define h U+0068 ;h
+Define i U+0069 ;i
+Define j U+006A ;j
+Define k U+006B ;k
+Define l U+006C ;l
+Define m U+006D ;m
+Define n U+006E ;n
+Define o U+006F ;o
+Define p U+0070 ;p
+Define q U+0071 ;q
+Define r U+0072 ;r
+Define s U+0073 ;s
+Define t U+0074 ;t
+Define u U+0075 ;u
+Define v U+0076 ;v
+Define w U+0077 ;w
+Define x U+0078 ;x
+Define y U+0079 ;y
+Define z U+007A ;z
+Define A U+0041 ;A
+Define B U+0042 ;B
+Define E U+0045 ;E
+Define G U+0047 ;G
+Define I U+0049 ;I
+Define N U+004E ;N
+Define O U+004F ;O
+Define T U+0054 ;T
+Define U U+0055 ;U
+Define W U+0057 ;W
+Define Y U+0059 ;Y
+Define C U+005E ;^ << CARET
+Define UL U+005F ;_ << UNDERLINE
+Define P U+002E ;. << DOT
+Define V U+002C ;, << COMMA (_V_irgule)
+Define CO U+003A ;: << COLON
+Define SC U+003B ;; << SEMICOLON
+Define Ain U+0060 ;`
+Define H U+0027 ;' << HAMZA
+Define Q U+0022 ;" << QUOTE
+Define Z U+002D ;- << HYPHEN
+Define BAR U+007C ;|
+Define AN U+0061 U+004E ; aN
+Define LLAH U+006C U+006C U+005F U+0061 U+0068
+;Define NUL U+00A6;
+Define Ha U+0623
+Define Hi U+0625
+Define Hy U+0626
+Define Hw U+0624
+Define Hh U+06C0 ;; = U+0647 U+0654
+Define HA U+0622
+Define HB U+0640 U+0654
+Define HBAR U+0621 ; '|
+
+pass(Unicode)
+
+U+E000 > ; eliminate special code for capitalization in transliterations
+
+pass(Unicode)
+
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [AVWL] = (U+064B..U+0650);
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" `
+Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ”
+Class [PUNCT] = (V SC P CO)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u)
+;Class [ae] = (U+0061 U+0065) ;(a e)
+;Class [ou] = (U+0075 U+006F) ;(u o)
+Class [Iyi] = (U+0069 U+0079 U+0049)
+Class [UI] = (U+0049 U+0055) ; U I
+Class [Digits] = (U+0030..U+0039)
+
+Define BEG (#|Z|[BRACKETS])
+Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #)
+Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z)
+
+; special ligatures
+;; 1. Standard ArabTeX input
+;; WARNING! there are, alas, two classes of Arabic fonts:
+;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2
+;; For these the ligature llah can be accessed by the sequence lam-lam-ha
+;; b) Those that do not have the initial alif in U+FDF2
+;; The BAR is used in the DMG transliteration to suppress the initial A
+(a|A) BAR? l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah'
+LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h'
+;; UPPERCASE mnemonics for various ligatures or special glyphs
+;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode
+U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h'
+U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic
+;; 2b. Ligatures and glyphs defined in Unicode:
+U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH'
+U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH'
+
+U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam
+U+0028 U+0028 > U+FD3F ;; '((' : ornate right par
+U+0029 U+0029 > U+FD3E ;; '))' : ornate left par
+U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign
+;; most fonts won't have the following ones:
+U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign)
+U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign
+U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR'
+U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD'
+U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM'
+U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL')
+U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE')
+U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM'
+U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA'
+U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu"
+U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik
+
+U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY
+U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY
+U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM-
+U+005E U+004C U+0041 > U+06D9 ;; ^LA
+U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM
+U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS
+U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN
+U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB
+U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO
+U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO
+U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM
+U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM
+U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN
+U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA
+U+0057 U+0041 U+0057 > U+06E5 ;; WAW
+U+0059 U+0045 U+0048 > U+06E6 ;; YEH
+U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH
+U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN
+U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA
+U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP
+U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP
+U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP
+U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM
+
+U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::")
+
+;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts
+U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]]
+
+
+; vowels
+u u > U
+i i > I
+a a > A
+[AVWL] > ; strip off vowels when writing UTF-8 Arabic with novoc mode
+CO O > U+06FC ;
+a e > a y
+a o > a w
+CO U > U+06C7 ;
+e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish)
+o > u
+
+
+;; Persian ezafe (ALL BUT ARABIC AND UIGHUR)
+U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<<
+U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I
+Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e
+Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I
+Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i
+Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i
+Z / U+0048 _ > U+0020 ;
+b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen
+
+;; initial characters ...
+a l Z / BEG _ > U+0627 l Z
+;; wasla on initial alif : NEW! NOT TESTED!
+H / BEG _ l l > U+0627 ;
+[VWL]=v1 / BEG _ > A @v1
+Q?=q1 U / BEG _ > A @q1 u w ; -U
+; Q?=q1 I / BEG _ > A @q1 i y ; -I ; but not when I is final FIXME!!!
+Q?=q1 I / BEG _ > A @q1 i y ; except for Persian, coz of ezafe rules
+
+
+;; Words with anomalous orthography:
+
+; mi'aT -> ماية
+;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy
+m Q i H Q a / _ (T|t) > m Q i A Hy Q a
+m Q i H a / _ (T|t) > m Q i A Hy
+m i H Q a / _ (T|t) > m A Hy Q a
+m i H a / _ (T|t) > m A Hy
+
+
+;; contextual analysis of hamzas
+;; THESE DO NOT APPLY FOR SINDHI
+
+; initial hamzas
+H / (#|^[LTR]) _ Q? [Iyi] > Hi
+H Q A / (#|^[LTR]) _ > HA ; alif madda
+H / (#|^[LTR]) _ Q? [Uwu] > Ha
+H / (#|^[LTR]) _ Q? a > Ha
+Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word
+
+; quoted hamzas in contextual mode, equivalent to verbatim mode
+a Q H > Ha
+i Q H > Hi
+y Q H > Hy
+w Q H > Hw
+h Q H > Hh
+A Q H > HA
+B Q H > HB
+BAR Q H > HBAR
+
+; hamza + fathatan
+H / a _ Q? AN > Ha
+;;H / [Iyi] _ Q? AN > Hy
+H / _ Q? AN > Hy
+
+;final hamzas
+H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ...
+H / a _ Q? (#|^[LTR]) > Ha ; not AN...
+H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN...
+H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy
+H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw
+
+;;and more hamzas ...
+
+; n°1: kasra/ya
+H / [LTR] _ Q? [Iyi] ^N > Hy
+H / [Iyi] _ > Hy
+
+; n°2: damma/waw
+H / [LTR] _ Q? (U|u) ^N > Hw
+H / (U|u) _ Q? ^[Iyi] > Hw
+H / U _ > HBAR
+
+; n°3: fatha/alif
+H Q? A > HA
+H / A _ Q? a > HBAR
+H / ^[UI] _ Q? a > Ha
+H / a _ Q? ^[UI] > Ha
+
+
+pass(Unicode)
+
+Class [Digits] = (U+0030..U+0039)
+Class [ArDigits] = (U+0660..U+0669)
+Class [ArEasternDigits] = (U+06F0..U+06F9)
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+
+
+
+
+;normal code
+
+
+(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA
+(P z|U+1E93) > U+0638
+C z C z > U+0698 U+0651 ;;SHADDA
+C z > U+0698
+V z V z > U+0696 U+0651 ;;SHADDA
+V z > U+0696 ;pashto
+z z > U+0632 U+0651 ;;SHADDA
+z > U+0632
+Y Y > U+0649 U+0651 ;;SHADDA
+Y > U+0649
+P I P I / _ # > U+06CC U+0651 ;; SHADDA
+P I / _ # > U+06CC ;; workaround to have ya without dots in Arabic
+y y > U+064A U+0651 ;;SHADDA
+y > U+064A
+v v > U+06CF U+0651 ;;SHADDA
+v > U+06CF
+W > U+0648 U+0627 ; waw + alif
+C U > U+064F U+0648 U+0653; historical spelling : madda on waw
+Q U [Uw] > U+064F U+0648 U+0651 ;;SHADDA
+Q U > U+064F U+0648
+[Uw] [Uw] > U+0648 U+0651 ;;SHADDA
+[Uw] > U+0648
+C w C w > U+06C9 U+0651 ;;SHADDA
+C w > U+06C9
+CO w CO w > U+06CA U+0651 ;,SHADDA
+CO w > U+06CA
+Q u N > U+064C
+u N >
+Q u > U+064F
+V t V t > U+0679 U+0651 ;;SHADDA
+V t > U+0679 ;urdu
+UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA
+UL (t|s) > U+062B
+(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA
+(P t|U+1E6D) > U+0637
+t t > U+062A U+0651 ;;SHADDA
+t > U+062A
+T T Q AN > U+0629 U+0651 U+064B ;;SHADDA
+T Q AN > U+0629 U+064B
+T AN > U+0629
+T T > U+0629 U+0651 ;;SHADDA
+T > U+0629
+C s C s > U+0634 U+0651 ;;SHADDA
+C s > U+0634
+(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA
+(P s|U+1E63) > U+0635
+V s V s > U+069A U+0651 ;;SHADDA
+V s > U+069A ;Pashto
+CO s CO s > U+069B U+0651 ;;SHADDA
+CO s > U+069B ; sin with 3 dots below
+s s > U+0633 U+0651 ;;SHADDA
+s > U+0633
+C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<<
+C r > U+06EF
+CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<<
+CO r > U+0697 ; Dargwa language, Dagestan
+P r P r > U+0694 U+0651 ;;SHADDA
+P r > U+0694 ; r with dot below; in Kurdish .r -> 0694
+V r V r > U+0691 U+0651 ;;SHADDA
+V r > U+0691 ;Urdu
+r r > U+0631 U+0651 ;;SHADDA
+r > U+0631
+P q P q > U+066F U+0651 ;;SHADDA
+P q > U+066F
+q q > U+0642 U+0651 ;;SHADDA
+q > U+0642
+p p > U+06A8 U+0651 ;;SHADDA
+p > U+06A8 ;Old malay
+CO n CO n > U+06B1 U+0651 ;;SHADDA
+CO n > U+06B1
+C n C n > U+06BD U+0651 ;;SHADDA
+C n > U+06BD ; <<< ArabTeX yields nūn with three dots below, which is not in Unicode!
+P n P n > U+06BA U+0651 ;;SHADDA
+P n > U+06BA ; urdu
+V n V n > U+06BC U+0651 ;;SHADDA
+V n > U+06BC ; Pashto
+n n > U+0646 U+0651 ;;SHADDA
+n > U+0646
+m m > U+0645 U+0651 ;;SHADDA
+m > U+0645
+P l P l > U+06B6 U+0651 ;
+P l > U+06B6 ; ADDED <<<
+C l C l > U+06B5 U+0651 ;;SHADDA
+C l > U+06B5 ;kurdish
+l l > U+0644 U+0651 ;;SHADDA
+l > U+0644
+P k P k > U+06A9 U+0651 ;;SHADDA
+P k > U+06A9 ; pashto urdu
+UL k UL k > U+063A U+0651 ;;SHADDA
+UL k > U+063A
+k k > U+0643 U+0651 ;;SHADDA
+k > U+0643
+C g C g > U+06A0 U+0651 ;;SHADDA
+C g > U+06A0
+CO j CO j > U+0684 U+0651 ;;SHADDA
+CO j > U+0684
+j j > U+062C U+0651 ;;SHADDA
+j > U+062C
+Q I > U+0650 U+064A
+C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya
+UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ###
+I > U+064A
+Q i N > U+064D
+i N > ;
+Q i > U+0650
+x x > U+062E U+0651 ;;SHADDA
+x > U+062E
+UL h UL h > U+062E U+0651 ;;SHADDA
+UL h > U+062E
+(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA
+(P h|U+1E25) > U+062D
+V h V h > U+06C1 U+0651 ;;SHADDA
+V h > U+06C1
+h h > U+0647 U+0651 ;;SHADDA
+h > U+0647
+CO g CO g > U+06B3 U+0651 ;;SHADDA
+CO g > U+06B3
+V g V g > U+06AC U+0651 ;;SHADDA
+V g > U+06AC ; kaf with dot above
+P g P g > U+063A U+0651 ;;SHADDA
+P g > U+063A
+g g > U+0762 U+0651 ;;SHADDA
+g > U+0762
+G G > U+06AB U+0651 ;;SHADDA
+G > U+06AB ;pashto
+P f P f > U+06A1 U+0651 ;;SHADDA
+P f > U+06A1
+f f > U+0641 U+0651 ;;SHADDA
+f > U+0641
+V d V d > U+068A U+0651 ;;SHADDA
+V d > U+068A
+P V d P V d > U+068B U+0651 ;;SHADDA
+P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi)
+C d C d > U+06EE U+0651 ;;SHADDA
+C d > U+06EE ; not defined in ArabTeX
+CO d CO d > U+068F U+0651 ;;SHADDA
+CO d > U+068F
+UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA
+UL (d|z) > U+0630
+(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA
+(P d|U+1E0D) > U+0636
+d d > U+062F U+0651 ;;SHADDA
+d > U+062F
+V c V c > U+0685 U+0651 ;;SHADDA
+V c > U+0685 ;pashto
+C c C c > U+0686 U+0651 ;;SHADDA
+C c > U+0686
+P C c P C c > U+06BF U+0651 ;;SHADDA
+P C c > U+06BF ;; cheh with dot above <<<
+c c > U+0686 U+0651 ;;SHADDA
+c > U+0686
+CO c CO c > U+0682 U+0651 ;;SHADDA
+CO c > U+0682 ; old pashto
+CO b CO b > U+067B U+0651 ;;SHADDA
+CO b > U+067B
+P b P b > U+066E U+0651 ;;SHADDA
+P b > U+066E
+b b > U+0628 U+0651 ;;SHADDA
+b > U+0628
+H A > U+0622
+C A > U+064E U+0622 ; historical spelling
+UL A > U+0649
+UL a > U+0670
+UL u > ;
+UL i > ;
+Q AN / (A H|Ha) _ > U+064B
+AN / (A H|Ha) _ > ;
+Q AN > U+0627 U+064B
+AN > U+0627
+Q a > U+064E
+Q A > U+064E U+0627
+A > U+0627
+Ain Ain > U+0639 U+0651 ;;SHADDA
+Ain > U+0639
+H H > U+0621 U+0651 ;;SHADDA
+H > U+0621
+U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma
+Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash
+(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks
+[Digits] > [ArDigits]
+Z Z Z / # _ # > U+2014
+Z Z / # _ # > U+2013
+Z Z > U+0640
+B > U+0640
+Z / # _ > U+200D ; -x > force initial form with "zero-width joiner"
+Z / _ # > U+200D ; x- > force final form
+U+003C U+003C > U+00BB ;<<
+U+003E U+003E > U+00AB ;>>
+U+00AB > U+00BB
+U+00BB > U+00AB
+UL > U+0640 ;_
+U+003F > U+061F ;?
+U+003B > U+061B ;;
+U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above...
+U+002C > U+060C ;,
+U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ...
+U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual
+ ; analysis, so quoting of hamzas etc may be necessary
+;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules
+;U+005B > U+005D ;[
+[VWL] > ;stripoff vowels
+Q > U+0652
+U+00B0 > U+0652 ; °
+N > ;
+C > ;^
+Z > ;-
+BAR > ;|
+
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-malay-novoc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-malay-novoc.tec
index 50e772e74e6..691e4718dd0 100644
--- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-malay-novoc.tec
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-malay-novoc.tec
Binary files differ
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-malay-voc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-malay-voc.map
new file mode 100644
index 00000000000..d73e75b98d0
--- /dev/null
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-malay-voc.map
@@ -0,0 +1,480 @@
+LHSName "ArabTeX-malay-vocalized"
+RHSName "UNICODE"
+
+Define a U+0061 ;a
+Define b U+0062 ;b
+Define c U+0063 ;c
+Define d U+0064 ;d
+Define e U+0065 ;e
+Define f U+0066 ;f
+Define g U+0067 ;g
+Define h U+0068 ;h
+Define i U+0069 ;i
+Define j U+006A ;j
+Define k U+006B ;k
+Define l U+006C ;l
+Define m U+006D ;m
+Define n U+006E ;n
+Define o U+006F ;o
+Define p U+0070 ;p
+Define q U+0071 ;q
+Define r U+0072 ;r
+Define s U+0073 ;s
+Define t U+0074 ;t
+Define u U+0075 ;u
+Define v U+0076 ;v
+Define w U+0077 ;w
+Define x U+0078 ;x
+Define y U+0079 ;y
+Define z U+007A ;z
+Define A U+0041 ;A
+Define B U+0042 ;B
+Define E U+0045 ;E
+Define G U+0047 ;G
+Define I U+0049 ;I
+Define N U+004E ;N
+Define O U+004F ;O
+Define T U+0054 ;T
+Define U U+0055 ;U
+Define W U+0057 ;W
+Define Y U+0059 ;Y
+Define C U+005E ;^ << CARET
+Define UL U+005F ;_ << UNDERLINE
+Define P U+002E ;. << DOT
+Define V U+002C ;, << COMMA (_V_irgule)
+Define CO U+003A ;: << COLON
+Define SC U+003B ;; << SEMICOLON
+Define Ain U+0060 ;`
+Define H U+0027 ;' << HAMZA
+Define Q U+0022 ;" << QUOTE
+Define Z U+002D ;- << HYPHEN
+Define BAR U+007C ;|
+Define AN U+0061 U+004E ; aN
+Define LLAH U+006C U+006C U+005F U+0061 U+0068
+;Define NUL U+00A6;
+Define Ha U+0623
+Define Hi U+0625
+Define Hy U+0626
+Define Hw U+0624
+Define Hh U+06C0 ;; = U+0647 U+0654
+Define HA U+0622
+Define HB U+0640 U+0654
+Define HBAR U+0621 ; '|
+
+pass(Unicode)
+
+U+E000 > ; eliminate special code for capitalization in transliterations
+
+pass(Unicode)
+
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [AVWL] = (U+064B..U+0650);
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" `
+Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ”
+Class [PUNCT] = (V SC P CO)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u)
+;Class [ae] = (U+0061 U+0065) ;(a e)
+;Class [ou] = (U+0075 U+006F) ;(u o)
+Class [Iyi] = (U+0069 U+0079 U+0049)
+Class [UI] = (U+0049 U+0055) ; U I
+Class [Digits] = (U+0030..U+0039)
+
+Define BEG (#|Z|[BRACKETS])
+Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #)
+Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z)
+
+; special ligatures
+;; 1. Standard ArabTeX input
+;; WARNING! there are, alas, two classes of Arabic fonts:
+;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2
+;; For these the ligature llah can be accessed by the sequence lam-lam-ha
+;; b) Those that do not have the initial alif in U+FDF2
+;; The BAR is used in the DMG transliteration to suppress the initial A
+(a|A) BAR? l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah'
+LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h'
+;; UPPERCASE mnemonics for various ligatures or special glyphs
+;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode
+U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h'
+U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic
+;; 2b. Ligatures and glyphs defined in Unicode:
+U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH'
+U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH'
+
+U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam
+U+0028 U+0028 > U+FD3F ;; '((' : ornate right par
+U+0029 U+0029 > U+FD3E ;; '))' : ornate left par
+U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign
+;; most fonts won't have the following ones:
+U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign)
+U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign
+U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR'
+U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD'
+U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM'
+U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL')
+U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE')
+U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM'
+U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA'
+U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu"
+U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik
+
+U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY
+U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY
+U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM-
+U+005E U+004C U+0041 > U+06D9 ;; ^LA
+U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM
+U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS
+U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN
+U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB
+U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO
+U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO
+U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM
+U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM
+U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN
+U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA
+U+0057 U+0041 U+0057 > U+06E5 ;; WAW
+U+0059 U+0045 U+0048 > U+06E6 ;; YEH
+U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH
+U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN
+U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA
+U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP
+U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP
+U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP
+U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM
+
+U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::")
+
+;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts
+U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]]
+
+
+; vowels
+u u > U
+i i > I
+a a > A
+CO O > U+06FC ;
+a e > a y
+a o > a w
+CO U > U+06C7 ;
+e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish)
+o > u
+
+
+;; Persian ezafe (ALL BUT ARABIC AND UIGHUR)
+U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<<
+U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I
+Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e
+Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I
+Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i
+Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i
+Z / U+0048 _ > U+0020 ;
+b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen
+
+;; initial characters ...
+a l Z / BEG _ > U+0627 l Z
+;; wasla on initial alif : NEW! NOT TESTED!
+H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI
+[VWL]=v1 / BEG _ > U+0627 @v1
+Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U
+; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I
+Q?=q1 I / BEG _ > U+0627 @q1 i y
+
+
+;; Words with anomalous orthography:
+
+; mi'aT -> ماية
+;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy
+m Q i H Q a / _ (T|t) > m U+0627 Hy
+m Q i H a / _ (T|t) > m U+0627 Hy a
+m i H Q a / _ (T|t) > m i U+0627 Hy
+m i H a / _ (T|t) > m i U+0627 Hy a
+
+
+;; contextual analysis of hamzas
+;; THESE DO NOT APPLY FOR SINDHI
+
+; initial hamzas
+H / (#|^[LTR]) _ Q? [Iyi] > Hi
+H Q A / (#|^[LTR]) _ > HA ; alif madda
+H / (#|^[LTR]) _ Q? [Uwu] > Ha
+H / (#|^[LTR]) _ Q? a > Ha
+Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word
+
+; quoted hamzas in contextual mode, equivalent to verbatim mode
+a Q H > Ha
+i Q H > Hi
+y Q H > Hy
+w Q H > Hw
+h Q H > Hh
+A Q H > HA
+B Q H > HB
+BAR Q H > HBAR
+
+; hamza + fathatan
+H / a _ Q? AN > Ha
+;;H / [Iyi] _ Q? AN > Hy
+H / _ Q? AN > Hy
+
+;final hamzas
+H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ...
+H / a _ Q? (#|^[LTR]) > Ha ; not AN...
+H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN...
+H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy
+H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw
+
+;;and more hamzas ...
+
+; n°1: kasra/ya
+H / [LTR] _ Q? [Iyi] ^N > Hy
+H / [Iyi] _ > Hy
+
+; n°2: damma/waw
+H / [LTR] _ Q? (U|u) ^N > Hw
+H / (U|u) _ Q? ^[Iyi] > Hw
+H / U _ > HBAR
+
+; n°3: fatha/alif
+H Q? A > HA
+H / A _ Q? a > HBAR
+H / ^[UI] _ Q? a > Ha
+H / a _ Q? ^[UI] > Ha
+
+
+pass(Unicode)
+
+Class [Digits] = (U+0030..U+0039)
+Class [ArDigits] = (U+0660..U+0669)
+Class [ArEasternDigits] = (U+06F0..U+06F9)
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+
+
+
+
+;normal code
+
+
+(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA
+(P z|U+1E93) > U+0638
+C z C z > U+0698 U+0651 ;;SHADDA
+C z > U+0698
+V z V z > U+0696 U+0651 ;;SHADDA
+V z > U+0696 ;pashto
+z z > U+0632 U+0651 ;;SHADDA
+z > U+0632
+Q Y Y > U+0649 U+0651 ;;SHADDA
+Q Y > U+0649
+Y Y > U+064E U+0649 U+0651 ;;SHADDA
+Y > U+064E U+0649
+P I P I / _ # > U+0650 U+06CC U+0651 ;; SHADDA
+P I / _ # > U+0650 U+06CC ;; workaround to have ya without dots in Arabic
+y y > U+064A U+0651 ;;SHADDA
+y > U+064A
+v v > U+06CF U+0651 ;;SHADDA
+v > U+06CF
+W > U+0648 U+0627 ; waw + alif
+C U > U+064F U+0648 U+0653; historical spelling : madda on waw
+C w C w > U+06C9 U+0651 ;;SHADDA
+C w > U+06C9
+CO w CO w > U+06CA U+0651 ;,SHADDA
+CO w > U+06CA
+U A / _ # > U+064F U+0648 U+0627
+Q U [Uw] > U+0648 U+0651 ;;SHADDA
+Q U > U+0648
+U [Uw] > U+064F U+0648 U+0651 ;;SHADDA
+U > U+064F U+0648
+w w > U+0648 U+0651 ;;SHADDA
+w > U+0648
+Q u N? >
+u N > U+064C
+u > U+064F
+V t V t > U+0679 U+0651 ;;SHADDA
+V t > U+0679 ;urdu
+UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA
+UL (t|s) > U+062B
+(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA
+(P t|U+1E6D) > U+0637
+t t > U+062A U+0651 ;;SHADDA
+t > U+062A
+T T Q AN > U+0629 U+0651 ;;SHADDA
+T Q AN > U+0629
+T AN > U+0629 U+064B
+T T > U+0629 U+0651 ;;SHADDA
+T > U+0629
+C s C s > U+0634 U+0651 ;;SHADDA
+C s > U+0634
+(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA
+(P s|U+1E63) > U+0635
+V s V s > U+069A U+0651 ;;SHADDA
+V s > U+069A ;Pashto
+CO s CO s > U+069B U+0651 ;;SHADDA
+CO s > U+069B ; sin with 3 dots below
+s s > U+0633 U+0651 ;;SHADDA
+s > U+0633
+C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<<
+C r > U+06EF
+CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<<
+CO r > U+0697 ; Dargwa language, Dagestan
+P r P r > U+0694 U+0651 ;;SHADDA
+P r > U+0694 ; r with dot below; in Kurdish .r -> 0694
+V r V r > U+0691 U+0651 ;;SHADDA
+V r > U+0691 ;Urdu
+r r > U+0631 U+0651 ;;SHADDA
+r > U+0631
+P q P q > U+066F U+0651 ;;SHADDA
+P q > U+066F
+q q > U+0642 U+0651 ;;SHADDA
+q > U+0642
+p p > U+06A8 U+0651 ;;SHADDA
+p > U+06A8 ;Old malay
+CO n CO n > U+06B1 U+0651 ;;SHADDA
+CO n > U+06B1
+C n C n > U+06BD U+0651 ;;SHADDA
+C n > U+06BD ; <<< ArabTeX yields nūn with three dots below, which is not in Unicode!
+P n P n > U+06BA U+0651 ;;SHADDA
+P n > U+06BA ; urdu
+V n V n > U+06BC U+0651 ;;SHADDA
+V n > U+06BC ; Pashto
+n n > U+0646 U+0651 ;;SHADDA
+n > U+0646
+m m > U+0645 U+0651 ;;SHADDA
+m > U+0645
+P l P l > U+06B6 U+0651 ;
+P l > U+06B6 ; ADDED <<<
+C l C l > U+06B5 U+0651 ;;SHADDA
+C l > U+06B5 ;kurdish
+l l > U+0644 U+0651 ;;SHADDA
+l > U+0644
+P k P k > U+06A9 U+0651 ;;SHADDA
+P k > U+06A9 ; pashto urdu
+UL k UL k > U+063A U+0651 ;;SHADDA
+UL k > U+063A
+k k > U+0643 U+0651 ;;SHADDA
+k > U+0643
+C g C g > U+06A0 U+0651 ;;SHADDA
+C g > U+06A0
+CO j CO j > U+0684 U+0651 ;;SHADDA
+CO j > U+0684
+j j > U+062C U+0651 ;;SHADDA
+j > U+062C
+Q I > U+064A
+I > U+0650 U+064A
+C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya
+UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ###
+Q i N? > ;
+i N > U+064D
+i > U+0650
+x x > U+062E U+0651 ;;SHADDA
+x > U+062E
+UL h UL h > U+062E U+0651 ;;SHADDA
+UL h > U+062E
+(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA
+(P h|U+1E25) > U+062D
+V h V h > U+06C1 U+0651 ;;SHADDA
+V h > U+06C1
+h h > U+0647 U+0651 ;;SHADDA
+h > U+0647
+CO g CO g > U+06B3 U+0651 ;;SHADDA
+CO g > U+06B3
+V g V g > U+06AC U+0651 ;;SHADDA
+V g > U+06AC ; kaf with dot above
+P g P g > U+063A U+0651 ;;SHADDA
+P g > U+063A
+g g > U+0762 U+0651 ;;SHADDA
+g > U+0762
+G G > U+06AB U+0651 ;;SHADDA
+G > U+06AB ;pashto
+P f P f > U+06A1 U+0651 ;;SHADDA
+P f > U+06A1
+f f > U+0641 U+0651 ;;SHADDA
+f > U+0641
+V d V d > U+068A U+0651 ;;SHADDA
+V d > U+068A
+P V d P V d > U+068B U+0651 ;;SHADDA
+P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi)
+C d C d > U+06EE U+0651 ;;SHADDA
+C d > U+06EE ; not defined in ArabTeX
+CO d CO d > U+068F U+0651 ;;SHADDA
+CO d > U+068F
+UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA
+UL (d|z) > U+0630
+(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA
+(P d|U+1E0D) > U+0636
+d d > U+062F U+0651 ;;SHADDA
+d > U+062F
+V c V c > U+0685 U+0651 ;;SHADDA
+V c > U+0685 ;pashto
+C c C c > U+0686 U+0651 ;;SHADDA
+C c > U+0686
+P C c P C c > U+06BF U+0651 ;;SHADDA
+P C c > U+06BF ;; cheh with dot above <<<
+c c > U+0686 U+0651 ;;SHADDA
+c > U+0686
+CO c CO c > U+0682 U+0651 ;;SHADDA
+CO c > U+0682 ; old pashto
+CO b CO b > U+067B U+0651 ;;SHADDA
+CO b > U+067B
+P b P b > U+066E U+0651 ;;SHADDA
+P b > U+066E
+b b > U+0628 U+0651 ;;SHADDA
+b > U+0628
+H A > U+0622
+C A > U+064E U+0622 ; historical spelling
+UL A > U+064E U+0649
+UL a > U+0670
+UL u > U+064F;
+UL i > U+0650;
+Q AN / (A H|Ha) _ > ;
+AN / (A H|Ha) _ > U+064B
+Q AN > U+0627
+AN > U+0627 U+064B
+Q a >
+a > U+064E
+Q A > U+0627
+A > U+064E U+0627
+Ain Ain > U+0639 U+0651 ;;SHADDA
+Ain > U+0639
+H H > U+0621 U+0651 ;;SHADDA
+H > U+0621
+U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma
+Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash
+(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks
+[Digits] > [ArDigits]
+Z Z Z / # _ # > U+2014
+Z Z / # _ # > U+2013
+Z Z > U+0640
+B > U+0640
+Z / # _ > U+200D ; -x > force initial form with "zero-width joiner"
+Z / _ # > U+200D ; x- > force final form
+U+003C U+003C > U+00BB ;<<
+U+003E U+003E > U+00AB ;>>
+U+00AB > U+00BB
+U+00BB > U+00AB
+UL > U+0640 ;_
+U+003F > U+061F ;?
+U+003B > U+061B ;;
+U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above...
+U+002C > U+060C ;,
+U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ...
+U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual
+ ; analysis, so quoting of hamzas etc may be necessary
+;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules
+;U+005B > U+005D ;[
+Q [VWL] > ;stripoff quoted vowels
+Q > U+0652
+U+00B0 > U+0652 ; °
+N > ;
+C > ;^
+BAR > ;|
+
+pass(Unicode)
+
+Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-)
+Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc.
+Class [VWL] = (U+0627 U+0648..U+0650 U+0670);
+Z > ;
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-novoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-novoc.map
new file mode 100644
index 00000000000..152faffe029
--- /dev/null
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-novoc.map
@@ -0,0 +1,465 @@
+LHSName "ArabTeX-novowels"
+RHSName "UNICODE"
+
+Define a U+0061 ;a
+Define b U+0062 ;b
+Define c U+0063 ;c
+Define d U+0064 ;d
+Define e U+0065 ;e
+Define f U+0066 ;f
+Define g U+0067 ;g
+Define h U+0068 ;h
+Define i U+0069 ;i
+Define j U+006A ;j
+Define k U+006B ;k
+Define l U+006C ;l
+Define m U+006D ;m
+Define n U+006E ;n
+Define o U+006F ;o
+Define p U+0070 ;p
+Define q U+0071 ;q
+Define r U+0072 ;r
+Define s U+0073 ;s
+Define t U+0074 ;t
+Define u U+0075 ;u
+Define v U+0076 ;v
+Define w U+0077 ;w
+Define x U+0078 ;x
+Define y U+0079 ;y
+Define z U+007A ;z
+Define A U+0041 ;A
+Define B U+0042 ;B
+Define E U+0045 ;E
+Define G U+0047 ;G
+Define I U+0049 ;I
+Define N U+004E ;N
+Define O U+004F ;O
+Define T U+0054 ;T
+Define U U+0055 ;U
+Define W U+0057 ;W
+Define Y U+0059 ;Y
+Define C U+005E ;^ << CARET
+Define UL U+005F ;_ << UNDERLINE
+Define P U+002E ;. << DOT
+Define V U+002C ;, << COMMA (_V_irgule)
+Define CO U+003A ;: << COLON
+Define SC U+003B ;; << SEMICOLON
+Define Ain U+0060 ;`
+Define H U+0027 ;' << HAMZA
+Define Q U+0022 ;" << QUOTE
+Define Z U+002D ;- << HYPHEN
+Define BAR U+007C ;|
+Define AN U+0061 U+004E ; aN
+Define LLAH U+006C U+006C U+005F U+0061 U+0068
+;Define NUL U+00A6;
+Define Ha U+0623
+Define Hi U+0625
+Define Hy U+0626
+Define Hw U+0624
+Define Hh U+06C0 ;; = U+0647 U+0654
+Define HA U+0622
+Define HB U+0640 U+0654
+Define HBAR U+0621 ; '|
+
+pass(Unicode)
+
+U+E000 > ; eliminate special code for capitalization in transliterations
+
+pass(Unicode)
+
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [AVWL] = (U+064B..U+0650);
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" `
+Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ”
+Class [PUNCT] = (V SC P CO)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u)
+;Class [ae] = (U+0061 U+0065) ;(a e)
+;Class [ou] = (U+0075 U+006F) ;(u o)
+Class [Iyi] = (U+0069 U+0079 U+0049)
+Class [UI] = (U+0049 U+0055) ; U I
+Class [Digits] = (U+0030..U+0039)
+
+Define BEG (#|Z|[BRACKETS])
+Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #)
+Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z)
+
+; special ligatures
+;; 1. Standard ArabTeX input
+;; WARNING! there are, alas, two classes of Arabic fonts:
+;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2
+;; For these the ligature llah can be accessed by the sequence lam-lam-ha
+;; b) Those that do not have the initial alif in U+FDF2
+;; The BAR is used in the DMG transliteration to suppress the initial A
+(a|A) BAR? l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah'
+LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h'
+;; UPPERCASE mnemonics for various ligatures or special glyphs
+;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode
+U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h'
+U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic
+;; 2b. Ligatures and glyphs defined in Unicode:
+U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH'
+U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH'
+
+U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam
+U+0028 U+0028 > U+FD3F ;; '((' : ornate right par
+U+0029 U+0029 > U+FD3E ;; '))' : ornate left par
+U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign
+;; most fonts won't have the following ones:
+U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign)
+U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign
+U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR'
+U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD'
+U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM'
+U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL')
+U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE')
+U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM'
+U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA'
+U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu"
+U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik
+
+U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY
+U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY
+U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM-
+U+005E U+004C U+0041 > U+06D9 ;; ^LA
+U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM
+U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS
+U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN
+U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB
+U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO
+U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO
+U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM
+U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM
+U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN
+U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA
+U+0057 U+0041 U+0057 > U+06E5 ;; WAW
+U+0059 U+0045 U+0048 > U+06E6 ;; YEH
+U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH
+U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN
+U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA
+U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP
+U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP
+U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP
+U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM
+
+U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::")
+
+;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts
+U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]]
+
+
+; vowels
+u u > U
+i i > I
+a a > A
+[AVWL] > ; strip off vowels when writing UTF-8 Arabic with novoc mode
+CO O > U+06FC ;
+a e > a y
+a o > a w
+CO U > U+06C7 ;
+e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish)
+o > u
+E > I
+O > U
+
+
+
+;; initial characters ...
+a l Z / BEG _ > U+0627 l Z
+H l Z / BEG _ > U+0627 l Z
+;; wasla on initial alif : NEW! NOT TESTED!
+H / BEG _ l l > U+0627 ;
+[VWL]=v1 / BEG _ > A @v1
+A / BEG _ > A a
+Q?=q1 U / BEG _ > A @q1 u w ; -U
+; Q?=q1 I / BEG _ > A @q1 i y ; -I ; but not when I is final FIXME!!!
+Q?=q1 I / BEG _ > A @q1 i y ; except for Persian, coz of ezafe rules
+
+
+;; Words with anomalous orthography:
+
+; mi'aT -> ماية
+;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy
+m Q i H Q a / _ (T|t) > m Q i A Hy Q a
+m Q i H a / _ (T|t) > m Q i A Hy
+m i H Q a / _ (T|t) > m A Hy Q a
+m i H a / _ (T|t) > m A Hy
+
+
+;; contextual analysis of hamzas
+;; THESE DO NOT APPLY FOR SINDHI
+
+; initial hamzas
+H / (#|^[LTR]) _ Q? [Iyi] > Hi
+H Q A / (#|^[LTR]) _ > HA ; alif madda
+H / (#|^[LTR]) _ Q? [Uwu] > Ha
+H / (#|^[LTR]) _ Q? a > Ha
+Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word
+
+; quoted hamzas in contextual mode, equivalent to verbatim mode
+a Q H > Ha
+i Q H > Hi
+y Q H > Hy
+w Q H > Hw
+h Q H > Hh
+A Q H > HA
+B Q H > HB
+BAR Q H > HBAR
+
+; hamza + fathatan
+H / a _ Q? AN > Ha
+;;H / [Iyi] _ Q? AN > Hy
+H / _ Q? AN > Hy
+
+;final hamzas
+H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ...
+H / a _ Q? (#|^[LTR]) > Ha ; not AN...
+H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN...
+H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy
+H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw
+
+;;and more hamzas ...
+
+; n°1: kasra/ya
+H / [LTR] _ Q? [Iyi] ^N > Hy
+H / [Iyi] _ > Hy
+
+; n°2: damma/waw
+H / [LTR] _ Q? (U|u) ^N > Hw
+H / (U|u) _ Q? ^[Iyi] > Hw
+H / U _ > HBAR
+
+; n°3: fatha/alif
+H Q? A > HA
+H / A _ Q? a > HBAR
+H / ^[UI] _ Q? a > Ha
+H / a _ Q? ^[UI] > Ha
+
+
+pass(Unicode)
+
+Class [Digits] = (U+0030..U+0039)
+Class [ArDigits] = (U+0660..U+0669)
+Class [ArEasternDigits] = (U+06F0..U+06F9)
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+
+
+
+
+;normal code
+
+
+(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA
+(P z|U+1E93) > U+0638
+C z C z > U+0698 U+0651 ;;SHADDA
+C z > U+0698
+V z V z > U+0696 U+0651 ;;SHADDA
+V z > U+0696 ;pashto
+z z > U+0632 U+0651 ;;SHADDA
+z > U+0632
+Y Y > U+0649 U+0651 ;;SHADDA
+Y > U+0649
+P I P I / _ # > U+06CC U+0651 ;; SHADDA
+P I / _ # > U+06CC ;; workaround to have ya without dots in Arabic
+y y > U+064A U+0651 ;;SHADDA
+y > U+064A
+v v > U+06A4 U+0651 ;;SHADDA
+v > U+06A4
+W > U+0648 U+0627 ; waw + alif
+C U > U+064F U+0648 U+0653; historical spelling : madda on waw
+Q U [Uw] > U+064F U+0648 U+0651 ;;SHADDA
+Q U > U+064F U+0648
+[Uw] [Uw] > U+0648 U+0651 ;;SHADDA
+[Uw] > U+0648
+C w C w > U+06C9 U+0651 ;;SHADDA
+C w > U+06C9
+CO w CO w > U+06CA U+0651 ;,SHADDA
+CO w > U+06CA
+Q u N > U+064C
+u N >
+Q u > U+064F
+V t V t > U+0679 U+0651 ;;SHADDA
+V t > U+0679 ;urdu
+UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA
+UL (t|s) > U+062B
+(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA
+(P t|U+1E6D) > U+0637
+t t > U+062A U+0651 ;;SHADDA
+t > U+062A
+T T Q AN > U+0629 U+0651 U+064B ;;SHADDA
+T Q AN > U+0629 U+064B
+T AN > U+0629
+T T > U+0629 U+0651 ;;SHADDA
+T > U+0629
+C s C s > U+0634 U+0651 ;;SHADDA
+C s > U+0634
+(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA
+(P s|U+1E63) > U+0635
+V s V s > U+069A U+0651 ;;SHADDA
+V s > U+069A ;Pashto
+CO s CO s > U+069B U+0651 ;;SHADDA
+CO s > U+069B ; sin with 3 dots below
+s s > U+0633 U+0651 ;;SHADDA
+s > U+0633
+C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<<
+C r > U+06EF
+CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<<
+CO r > U+0697 ; Dargwa language, Dagestan
+P r P r > U+0694 U+0651 ;;SHADDA
+P r > U+0694 ; r with dot below; in Kurdish .r -> 0694
+V r V r > U+0691 U+0651 ;;SHADDA
+V r > U+0691 ;Urdu
+r r > U+0631 U+0651 ;;SHADDA
+r > U+0631
+P q P q > U+066F U+0651 ;;SHADDA
+P q > U+066F
+q q > U+0642 U+0651 ;;SHADDA
+q > U+0642
+p p > U+067E U+0651 ;;SHADDA
+p > U+067E
+CO n CO n > U+06B1 U+0651 ;;SHADDA
+CO n > U+06B1
+C n C n > U+06AD U+0651 ;;SHADDA
+C n > U+06AD
+P n P n > U+06BA U+0651 ;;SHADDA
+P n > U+06BA ; urdu
+V n V n > U+06BC U+0651 ;;SHADDA
+V n > U+06BC ; Pashto
+n n > U+0646 U+0651 ;;SHADDA
+n > U+0646
+m m > U+0645 U+0651 ;;SHADDA
+m > U+0645
+P l P l > U+06B6 U+0651 ;
+P l > U+06B6 ; ADDED <<<
+C l C l > U+06B5 U+0651 ;;SHADDA
+C l > U+06B5 ;kurdish
+l l > U+0644 U+0651 ;;SHADDA
+l > U+0644
+P k P k > U+06A9 U+0651 ;;SHADDA
+P k > U+06A9 ; pashto urdu
+UL k UL k > U+063A U+0651 ;;SHADDA
+UL k > U+063A
+k k > U+0643 U+0651 ;;SHADDA
+k > U+0643
+C g C g > U+062C U+0651 ;;SHADDA
+C g > U+062C
+CO j CO j > U+0684 U+0651 ;;SHADDA
+CO j > U+0684
+j j > U+062C U+0651 ;;SHADDA
+j > U+062C
+Q I > U+0650 U+064A
+C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya
+UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ###
+I > U+064A
+Q i N > U+064D
+i N > ;
+Q i > U+0650
+x x > U+062E U+0651 ;;SHADDA
+x > U+062E
+UL h UL h > U+062E U+0651 ;;SHADDA
+UL h > U+062E
+(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA
+(P h|U+1E25) > U+062D
+V h V h > U+06C1 U+0651 ;;SHADDA
+V h > U+06C1
+h h > U+0647 U+0651 ;;SHADDA
+h > U+0647
+CO g CO g > U+06B3 U+0651 ;;SHADDA
+CO g > U+06B3
+V g V g > U+06AC U+0651 ;;SHADDA
+V g > U+06AC ; kaf with dot above
+P g P g > U+063A U+0651 ;;SHADDA
+P g > U+063A
+g g > U+06AF U+0651 ;;SHADDA
+g > U+06AF
+G G > U+06AB U+0651 ;;SHADDA
+G > U+06AB ;pashto
+P f P f > U+06A1 U+0651 ;;SHADDA
+P f > U+06A1
+f f > U+0641 U+0651 ;;SHADDA
+f > U+0641
+V d V d > U+068A U+0651 ;;SHADDA
+V d > U+068A
+P V d P V d > U+068B U+0651 ;;SHADDA
+P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi)
+C d C d > U+06EE U+0651 ;;SHADDA
+C d > U+06EE ; not defined in ArabTeX
+CO d CO d > U+068F U+0651 ;;SHADDA
+CO d > U+068F
+UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA
+UL (d|z) > U+0630
+(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA
+(P d|U+1E0D) > U+0636
+d d > U+062F U+0651 ;;SHADDA
+d > U+062F
+V c V c > U+0685 U+0651 ;;SHADDA
+V c > U+0685 ;pashto
+C c C c > U+0686 U+0651 ;;SHADDA
+C c > U+0686
+P C c P C c > U+06BF U+0651 ;;SHADDA
+P C c > U+06BF ;; cheh with dot above <<<
+c c > U+0681 U+0651 ;;SHADDA
+c > U+0681 ; ح with hamza above
+CO c CO c > U+0682 U+0651 ;;SHADDA
+CO c > U+0682 ; old pashto
+CO b CO b > U+067B U+0651 ;;SHADDA
+CO b > U+067B
+P b P b > U+066E U+0651 ;;SHADDA
+P b > U+066E
+b b > U+0628 U+0651 ;;SHADDA
+b > U+0628
+H A > U+0622
+C A > U+064E U+0622 ; historical spelling
+UL A > U+0649
+UL a > U+0670
+UL u > U+0657 ; inverted damma
+UL i > U+0656 ; subscript alif
+Q AN / (A H|Ha) _ > U+064B
+AN / (A H|Ha) _ > ;
+Q AN > U+0627 U+064B
+AN > U+0627
+Q a > U+064E
+Q A > U+064E U+0627
+A > U+0627
+Ain Ain > U+0639 U+0651 ;;SHADDA
+Ain > U+0639
+H H > U+0621 U+0651 ;;SHADDA
+H > U+0621
+U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma
+Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash
+(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks
+[Digits] > [ArDigits]
+Z Z Z / # _ # > U+2014
+Z Z / # _ # > U+2013
+Z Z > U+0640
+B > U+0640
+Z / # _ > U+200D ; -x > force initial form with "zero-width joiner"
+Z / _ # > U+200D ; x- > force final form
+U+003C U+003C > U+00BB ;<<
+U+003E U+003E > U+00AB ;>>
+U+00AB > U+00BB
+U+00BB > U+00AB
+UL > U+0640 ;_
+U+003F > U+061F ;?
+U+003B > U+061B ;;
+U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above...
+U+002C > U+060C ;,
+U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ...
+U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual
+ ; analysis, so quoting of hamzas etc may be necessary
+;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules
+;U+005B > U+005D ;[
+[VWL] > ;stripoff vowels
+Q > U+0652
+U+00B0 > U+0652 ; °
+N > ;
+C > ;^
+Z > ;-
+BAR > ;|
+
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-novoc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-novoc.tec
index 779020ebab9..9e0f4c98f80 100644
--- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-novoc.tec
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-novoc.tec
Binary files differ
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-pashto-fullvoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-pashto-fullvoc.map
new file mode 100644
index 00000000000..7b4d8a0fcc2
--- /dev/null
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-pashto-fullvoc.map
@@ -0,0 +1,491 @@
+LHSName "ArabTeX-pashto-fullvocalized"
+RHSName "UNICODE"
+
+Define a U+0061 ;a
+Define b U+0062 ;b
+Define c U+0063 ;c
+Define d U+0064 ;d
+Define e U+0065 ;e
+Define f U+0066 ;f
+Define g U+0067 ;g
+Define h U+0068 ;h
+Define i U+0069 ;i
+Define j U+006A ;j
+Define k U+006B ;k
+Define l U+006C ;l
+Define m U+006D ;m
+Define n U+006E ;n
+Define o U+006F ;o
+Define p U+0070 ;p
+Define q U+0071 ;q
+Define r U+0072 ;r
+Define s U+0073 ;s
+Define t U+0074 ;t
+Define u U+0075 ;u
+Define v U+0076 ;v
+Define w U+0077 ;w
+Define x U+0078 ;x
+Define y U+0079 ;y
+Define z U+007A ;z
+Define A U+0041 ;A
+Define B U+0042 ;B
+Define E U+0045 ;E
+Define G U+0047 ;G
+Define I U+0049 ;I
+Define N U+004E ;N
+Define O U+004F ;O
+Define T U+0054 ;T
+Define U U+0055 ;U
+Define W U+0057 ;W
+Define Y U+0059 ;Y
+Define C U+005E ;^ << CARET
+Define UL U+005F ;_ << UNDERLINE
+Define P U+002E ;. << DOT
+Define V U+002C ;, << COMMA (_V_irgule)
+Define CO U+003A ;: << COLON
+Define SC U+003B ;; << SEMICOLON
+Define Ain U+0060 ;`
+Define H U+0027 ;' << HAMZA
+Define Q U+0022 ;" << QUOTE
+Define Z U+002D ;- << HYPHEN
+Define BAR U+007C ;|
+Define AN U+0061 U+004E ; aN
+Define LLAH U+006C U+006C U+005F U+0061 U+0068
+;Define NUL U+00A6;
+Define Ha U+0623
+Define Hi U+0625
+Define Hy U+0626
+Define Hw U+0624
+Define Hh U+06C0 ;; = U+0647 U+0654
+Define HA U+0622
+Define HB U+0640 U+0654
+Define HBAR U+0621 ; '|
+
+pass(Unicode)
+
+U+E000 > ; eliminate special code for capitalization in transliterations
+
+pass(Unicode)
+
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [AVWL] = (U+064B..U+0650);
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" `
+Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ”
+Class [PUNCT] = (V SC P CO)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u)
+;Class [ae] = (U+0061 U+0065) ;(a e)
+;Class [ou] = (U+0075 U+006F) ;(u o)
+Class [Iyi] = (U+0069 U+0079 U+0049)
+Class [UI] = (U+0049 U+0055) ; U I
+Class [Digits] = (U+0030..U+0039)
+
+Define BEG (#|Z|[BRACKETS])
+Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #)
+Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z)
+
+; special ligatures
+;; 1. Standard ArabTeX input
+;; WARNING! there are, alas, two classes of Arabic fonts:
+;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2
+;; For these the ligature llah can be accessed by the sequence lam-lam-ha
+;; b) Those that do not have the initial alif in U+FDF2
+;; The BAR is used in the DMG transliteration to suppress the initial A
+(a|A) BAR? l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah'
+LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h'
+;; UPPERCASE mnemonics for various ligatures or special glyphs
+;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode
+U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h'
+U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic
+;; 2b. Ligatures and glyphs defined in Unicode:
+U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH'
+U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH'
+
+U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam
+U+0028 U+0028 > U+FD3F ;; '((' : ornate right par
+U+0029 U+0029 > U+FD3E ;; '))' : ornate left par
+U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign
+;; most fonts won't have the following ones:
+U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign)
+U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign
+U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR'
+U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD'
+U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM'
+U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL')
+U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE')
+U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM'
+U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA'
+U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu"
+U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik
+
+U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY
+U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY
+U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM-
+U+005E U+004C U+0041 > U+06D9 ;; ^LA
+U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM
+U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS
+U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN
+U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB
+U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO
+U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO
+U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM
+U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM
+U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN
+U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA
+U+0057 U+0041 U+0057 > U+06E5 ;; WAW
+U+0059 U+0045 U+0048 > U+06E6 ;; YEH
+U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH
+U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN
+U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA
+U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP
+U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP
+U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP
+U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM
+
+U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::")
+
+;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts
+U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]]
+
+
+; vowels
+u u > U
+i i > I
+a a > A
+a e > a U+0626
+E e > U+0659 U+06CD
+e e > U+0659 U+0626
+E > U+0659 U+06D0
+CO O > U+06FC ;
+O > U+0657 w
+o > U+0657
+a o > a w
+CO U > U+06C7 ;
+e > U+0659
+I / _ # > i y
+
+
+;; Persian ezafe (ALL BUT ARABIC AND UIGHUR)
+U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<<
+U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I
+Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e
+Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I
+Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i
+Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i
+Z / U+0048 _ > U+0020 ;
+b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen
+
+;; initial characters ...
+a l Z / BEG _ > U+0627 l Z
+;; wasla on initial alif : NEW! NOT TESTED!
+H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI
+[VWL]=v1 / BEG _ > U+0627 @v1
+Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U
+; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I
+Q?=q1 I / BEG _ > U+0627 @q1 i y
+
+
+;; Words with anomalous orthography:
+
+; mi'aT -> ماية
+;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy
+m Q i H Q a / _ (T|t) > m U+0627 Hy
+m Q i H a / _ (T|t) > m U+0627 Hy a
+m i H Q a / _ (T|t) > m i U+0627 Hy
+m i H a / _ (T|t) > m i U+0627 Hy a
+
+
+;; contextual analysis of hamzas
+;; THESE DO NOT APPLY FOR SINDHI
+
+; initial hamzas
+H / (#|^[LTR]) _ Q? [Iyi] > Hi
+H Q A / (#|^[LTR]) _ > HA ; alif madda
+H / (#|^[LTR]) _ Q? [Uwu] > Ha
+H / (#|^[LTR]) _ Q? a > Ha
+Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word
+
+; quoted hamzas in contextual mode, equivalent to verbatim mode
+a Q H > Ha
+i Q H > Hi
+y Q H > Hy
+w Q H > Hw
+h Q H > Hh
+A Q H > HA
+B Q H > HB
+BAR Q H > HBAR
+
+; hamza + fathatan
+H / a _ Q? AN > Ha
+;;H / [Iyi] _ Q? AN > Hy
+H / _ Q? AN > Hy
+
+;final hamzas
+H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ...
+H / a _ Q? (#|^[LTR]) > Ha ; not AN...
+H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN...
+H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy
+H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw
+
+;;and more hamzas ...
+
+; n°1: kasra/ya
+H / [LTR] _ Q? [Iyi] ^N > Hy
+H / [Iyi] _ > Hy
+
+; n°2: damma/waw
+H / [LTR] _ Q? (U|u) ^N > Hw
+H / (U|u) _ Q? ^[Iyi] > Hw
+H / U _ > HBAR
+
+; n°3: fatha/alif
+H Q? A > HA
+H / A _ Q? a > HBAR
+H / ^[UI] _ Q? a > Ha
+H / a _ Q? ^[UI] > Ha
+
+
+pass(Unicode)
+
+Class [Digits] = (U+0030..U+0039)
+Class [ArDigits] = (U+0660..U+0669)
+Class [ArEasternDigits] = (U+06F0..U+06F9)
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+
+
+
+
+;normal code
+
+
+(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA
+(P z|U+1E93) > U+0638
+C z C z > U+0698 U+0651 ;;SHADDA
+C z > U+0698
+V z V z > U+0696 U+0651 ;;SHADDA
+V z > U+0696 ;pashto
+z z > U+0632 U+0651 ;;SHADDA
+z > U+0632
+Q Y Y > U+0649 U+0651 ;;SHADDA
+Q Y > U+0649
+Y Y > U+064E U+0649 U+0651 ;;SHADDA
+Y > U+064E U+0649
+;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots
+y y > U+06CC U+0651 ;;SHADDA
+y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots
+v v > U+06A4 U+0651 ;;SHADDA
+v > U+06A4
+W > U+0648 U+0627 ; waw + alif
+C U > U+064F U+0648 U+0653; historical spelling : madda on waw
+C w C w > U+06C9 U+0651 ;;SHADDA
+C w > U+06C9
+CO w CO w > U+06CA U+0651 ;,SHADDA
+CO w > U+06CA
+U A / _ # > U+064F U+0648 U+0627
+Q U [Uw] > U+0648 U+0651 ;;SHADDA
+Q U > U+0648
+U [Uw] > U+064F U+0648 U+0651 ;;SHADDA
+U > U+064F U+0648
+w w > U+0648 U+0651 ;;SHADDA
+w > U+0648
+Q u N? >
+u N > U+064C
+u > U+064F
+V t V t > U+067C U+0651 ;;SHADDA
+V t > U+067C ; pashto
+UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA
+UL (t|s) > U+062B
+(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA
+(P t|U+1E6D) > U+0637
+t t > U+062A U+0651 ;;SHADDA
+t > U+062A
+T T Q AN > U+0629 U+0651 ;;SHADDA
+T Q AN > U+0629
+T AN > U+0629 U+064B
+T T > U+0629 U+0651 ;;SHADDA
+T > U+0629
+C s C s > U+0634 U+0651 ;;SHADDA
+C s > U+0634
+(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA
+(P s|U+1E63) > U+0635
+V s V s > U+069A U+0651 ;;SHADDA
+V s > U+069A ;Pashto
+CO s CO s > U+069B U+0651 ;;SHADDA
+CO s > U+069B ; sin with 3 dots below
+s s > U+0633 U+0651 ;;SHADDA
+s > U+0633
+C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<<
+C r > U+06EF
+CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<<
+CO r > U+0697 ; Dargwa language, Dagestan
+P r P r > U+0694 U+0651 ;;SHADDA
+P r > U+0694 ; r with dot below; in Kurdish .r -> 0694
+V r V r > U+0693 U+0651 ;;SHADDA
+V r > U+0693 ;Pashto
+r r > U+0631 U+0651 ;;SHADDA
+r > U+0631
+P q P q > U+066F U+0651 ;;SHADDA
+P q > U+066F
+q q > U+0642 U+0651 ;;SHADDA
+q > U+0642
+p p > U+067E U+0651 ;;SHADDA
+p > U+067E
+CO n CO n > U+06B1 U+0651 ;;SHADDA
+CO n > U+06B1
+C n C n > U+06AD U+0651 ;;SHADDA
+C n > U+06AD
+P n P n > U+06BA U+0651 ;;SHADDA
+P n > U+06BA ; urdu
+V n V n > U+06BC U+0651 ;;SHADDA
+V n > U+06BC ; Pashto
+n n > U+0646 U+0651 ;;SHADDA
+n > U+0646
+m m > U+0645 U+0651 ;;SHADDA
+m > U+0645
+P l P l > U+06B6 U+0651 ;
+P l > U+06B6 ; ADDED <<<
+C l C l > U+06B5 U+0651 ;;SHADDA
+C l > U+06B5 ;kurdish
+l l > U+0644 U+0651 ;;SHADDA
+l > U+0644
+P k P k > U+06A9 U+0651 ;;SHADDA
+P k > U+06A9 ; pashto urdu
+UL k UL k > U+063A U+0651 ;;SHADDA
+UL k > U+063A
+k k > U+0643 U+0651 ;;SHADDA
+k > U+0643
+C g C g > U+062C U+0651 ;;SHADDA
+C g > U+062C
+CO j CO j > U+0684 U+0651 ;;SHADDA
+CO j > U+0684
+j j > U+062C U+0651 ;;SHADDA
+j > U+062C
+Q I > U+064A
+I > U+0650 U+064A
+C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya
+UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ###
+Q i N? > ;
+i N > U+064D
+i > U+0650
+x x > U+062E U+0651 ;;SHADDA
+x > U+062E
+U+0048 Z > U+0647 U+200C U+0020 ;eH-suffix > eH suffix
+U+0048 > U+0647 U+200C ; H is always heh final
+UL h UL h > U+062E U+0651 ;;SHADDA
+UL h > U+062E
+(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA
+(P h|U+1E25) > U+062D
+V h V h > U+06C1 U+0651 ;;SHADDA
+V h > U+06C1
+h h > U+0647 U+0651 ;;SHADDA
+h > U+0647
+CO g CO g > U+06B3 U+0651 ;;SHADDA
+CO g > U+06B3
+V g V g > U+06AC U+0651 ;;SHADDA
+V g > U+06AC ; kaf with dot above
+P g P g > U+063A U+0651 ;;SHADDA
+P g > U+063A
+g g > U+06AF U+0651 ;;SHADDA
+g > U+06AF
+G G > U+06AB U+0651 ;;SHADDA
+G > U+06AB ;pashto
+P f P f > U+06A1 U+0651 ;;SHADDA
+P f > U+06A1
+f f > U+0641 U+0651 ;;SHADDA
+f > U+0641
+V d V d > U+0689 U+0651 ;;SHADDA
+V d > U+0689 ;pashto
+P V d P V d > U+068B U+0651 ;;SHADDA
+P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi)
+C d C d > U+06EE U+0651 ;;SHADDA
+C d > U+06EE ; not defined in ArabTeX
+CO d CO d > U+068F U+0651 ;;SHADDA
+CO d > U+068F
+UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA
+UL (d|z) > U+0630
+(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA
+(P d|U+1E0D) > U+0636
+d d > U+062F U+0651 ;;SHADDA
+d > U+062F
+V c V c > U+0685 U+0651 ;;SHADDA
+V c > U+0685 ;pashto
+C c C c > U+0686 U+0651 ;;SHADDA
+C c > U+0686
+P C c P C c > U+06BF U+0651 ;;SHADDA
+P C c > U+06BF ;; cheh with dot above <<<
+c c > U+0681 U+0651 ;;SHADDA
+c > U+0681 ; ح with hamza above
+CO c CO c > U+0682 U+0651 ;;SHADDA
+CO c > U+0682 ; old pashto
+CO b CO b > U+067B U+0651 ;;SHADDA
+CO b > U+067B
+P b P b > U+066E U+0651 ;;SHADDA
+P b > U+066E
+b b > U+0628 U+0651 ;;SHADDA
+b > U+0628
+H A > U+0622
+C A > U+064E U+0622 ; historical spelling
+UL A > U+064E U+0649
+UL a > U+0670
+UL u > U+064F;
+UL i > U+0650;
+Q AN / (A H|Ha) _ > ;
+AN / (A H|Ha) _ > U+064B
+Q AN > U+0627
+AN > U+0627 U+064B
+Q a >
+a > U+064E
+Q A > U+0627
+A > U+064E U+0627
+Ain Ain > U+0639 U+0651 ;;SHADDA
+Ain > U+0639
+H H > U+0621 U+0651 ;;SHADDA
+H > U+0621
+U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma
+Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash
+(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks
+[Digits] > [ArEasternDigits]
+Z Z Z / # _ # > U+2014
+Z Z / # _ # > U+2013
+Z Z > U+0640
+B > U+0640
+Z / # _ > U+200D ; -x > force initial form with "zero-width joiner"
+Z / _ # > U+200D ; x- > force final form
+U+003C U+003C > U+00BB ;<<
+U+003E U+003E > U+00AB ;>>
+U+00AB > U+00BB
+U+00BB > U+00AB
+UL > U+0640 ;_
+U+003F > U+061F ;?
+U+003B > U+061B ;;
+U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above...
+U+002C > U+060C ;,
+U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ...
+U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual
+ ; analysis, so quoting of hamzas etc may be necessary
+;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules
+;U+005B > U+005D ;[
+Q [VWL] > ;stripoff quoted vowels
+U+00B0 > U+0652 ; °
+N > ;
+C > ;^
+BAR > ;|
+
+pass(Unicode)
+
+Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-)
+Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc.
+Class [VWL] = (U+0627 U+0648..U+0650 U+0670);
+[CONS]=k1 / _ Z? [CONS] ^U+0651 > @k1 U+0652 ; hack: 2nd consonant has no shadda
+U+064E (U+064A|U+0648)=hc / _ (^[VWLX]|#) > U+064E @hc U+0652 ; ay and aw diphtongs
+U+0627 / # _ U+0644 > U+0627 U+064E ; otherwise initial alif takes fatha
+[CONS]=k1 / _ ([CONS]|#) > @k1 U+0652 ; consonant + (consonant or final)
+;; [CONS]=k1 / _ # > @k1 U+0652 ; final consonant
+Q > ;
+Z > ;
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-pashto-novoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-pashto-novoc.map
new file mode 100644
index 00000000000..62536030416
--- /dev/null
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-pashto-novoc.map
@@ -0,0 +1,476 @@
+LHSName "ArabTeX-pashto-novowels"
+RHSName "UNICODE"
+
+Define a U+0061 ;a
+Define b U+0062 ;b
+Define c U+0063 ;c
+Define d U+0064 ;d
+Define e U+0065 ;e
+Define f U+0066 ;f
+Define g U+0067 ;g
+Define h U+0068 ;h
+Define i U+0069 ;i
+Define j U+006A ;j
+Define k U+006B ;k
+Define l U+006C ;l
+Define m U+006D ;m
+Define n U+006E ;n
+Define o U+006F ;o
+Define p U+0070 ;p
+Define q U+0071 ;q
+Define r U+0072 ;r
+Define s U+0073 ;s
+Define t U+0074 ;t
+Define u U+0075 ;u
+Define v U+0076 ;v
+Define w U+0077 ;w
+Define x U+0078 ;x
+Define y U+0079 ;y
+Define z U+007A ;z
+Define A U+0041 ;A
+Define B U+0042 ;B
+Define E U+0045 ;E
+Define G U+0047 ;G
+Define I U+0049 ;I
+Define N U+004E ;N
+Define O U+004F ;O
+Define T U+0054 ;T
+Define U U+0055 ;U
+Define W U+0057 ;W
+Define Y U+0059 ;Y
+Define C U+005E ;^ << CARET
+Define UL U+005F ;_ << UNDERLINE
+Define P U+002E ;. << DOT
+Define V U+002C ;, << COMMA (_V_irgule)
+Define CO U+003A ;: << COLON
+Define SC U+003B ;; << SEMICOLON
+Define Ain U+0060 ;`
+Define H U+0027 ;' << HAMZA
+Define Q U+0022 ;" << QUOTE
+Define Z U+002D ;- << HYPHEN
+Define BAR U+007C ;|
+Define AN U+0061 U+004E ; aN
+Define LLAH U+006C U+006C U+005F U+0061 U+0068
+;Define NUL U+00A6;
+Define Ha U+0623
+Define Hi U+0625
+Define Hy U+0626
+Define Hw U+0624
+Define Hh U+06C0 ;; = U+0647 U+0654
+Define HA U+0622
+Define HB U+0640 U+0654
+Define HBAR U+0621 ; '|
+
+pass(Unicode)
+
+U+E000 > ; eliminate special code for capitalization in transliterations
+
+pass(Unicode)
+
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [AVWL] = (U+064B..U+0650);
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" `
+Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ”
+Class [PUNCT] = (V SC P CO)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u)
+;Class [ae] = (U+0061 U+0065) ;(a e)
+;Class [ou] = (U+0075 U+006F) ;(u o)
+Class [Iyi] = (U+0069 U+0079 U+0049)
+Class [UI] = (U+0049 U+0055) ; U I
+Class [Digits] = (U+0030..U+0039)
+
+Define BEG (#|Z|[BRACKETS])
+Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #)
+Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z)
+
+; special ligatures
+;; 1. Standard ArabTeX input
+;; WARNING! there are, alas, two classes of Arabic fonts:
+;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2
+;; For these the ligature llah can be accessed by the sequence lam-lam-ha
+;; b) Those that do not have the initial alif in U+FDF2
+;; The BAR is used in the DMG transliteration to suppress the initial A
+(a|A) BAR? l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah'
+LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h'
+;; UPPERCASE mnemonics for various ligatures or special glyphs
+;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode
+U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h'
+U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic
+;; 2b. Ligatures and glyphs defined in Unicode:
+U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH'
+U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH'
+
+U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam
+U+0028 U+0028 > U+FD3F ;; '((' : ornate right par
+U+0029 U+0029 > U+FD3E ;; '))' : ornate left par
+U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign
+;; most fonts won't have the following ones:
+U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign)
+U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign
+U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR'
+U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD'
+U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM'
+U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL')
+U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE')
+U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM'
+U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA'
+U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu"
+U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik
+
+U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY
+U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY
+U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM-
+U+005E U+004C U+0041 > U+06D9 ;; ^LA
+U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM
+U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS
+U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN
+U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB
+U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO
+U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO
+U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM
+U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM
+U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN
+U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA
+U+0057 U+0041 U+0057 > U+06E5 ;; WAW
+U+0059 U+0045 U+0048 > U+06E6 ;; YEH
+U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH
+U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN
+U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA
+U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP
+U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP
+U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP
+U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM
+
+U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::")
+
+;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts
+U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]]
+
+
+; vowels
+u u > U
+i i > I
+a a > A
+[AVWL] > ; strip off vowels when writing UTF-8 Arabic with novoc mode
+a e > a U+0626
+E e > U+0659 U+06CD
+e e > U+0659 U+0626
+E > U+0659 U+06D0
+CO O > U+06FC ;
+O > U+0657 w
+o > U+0657
+a o > a w
+CO U > U+06C7 ;
+e > U+0659
+I / _ # > i y
+
+
+;; Persian ezafe (ALL BUT ARABIC AND UIGHUR)
+U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<<
+U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I
+Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e
+Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I
+Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i
+Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i
+Z / U+0048 _ > U+0020 ;
+b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen
+
+;; initial characters ...
+a l Z / BEG _ > U+0627 l Z
+;; wasla on initial alif : NEW! NOT TESTED!
+H / BEG _ l l > U+0627 ;
+[VWL]=v1 / BEG _ > A @v1
+Q?=q1 U / BEG _ > A @q1 u w ; -U
+; Q?=q1 I / BEG _ > A @q1 i y ; -I ; but not when I is final FIXME!!!
+Q?=q1 I / BEG _ > A @q1 i y ; except for Persian, coz of ezafe rules
+
+
+;; Words with anomalous orthography:
+
+; mi'aT -> ماية
+;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy
+m Q i H Q a / _ (T|t) > m Q i A Hy Q a
+m Q i H a / _ (T|t) > m Q i A Hy
+m i H Q a / _ (T|t) > m A Hy Q a
+m i H a / _ (T|t) > m A Hy
+
+
+;; contextual analysis of hamzas
+;; THESE DO NOT APPLY FOR SINDHI
+
+; initial hamzas
+H / (#|^[LTR]) _ Q? [Iyi] > Hi
+H Q A / (#|^[LTR]) _ > HA ; alif madda
+H / (#|^[LTR]) _ Q? [Uwu] > Ha
+H / (#|^[LTR]) _ Q? a > Ha
+Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word
+
+; quoted hamzas in contextual mode, equivalent to verbatim mode
+a Q H > Ha
+i Q H > Hi
+y Q H > Hy
+w Q H > Hw
+h Q H > Hh
+A Q H > HA
+B Q H > HB
+BAR Q H > HBAR
+
+; hamza + fathatan
+H / a _ Q? AN > Ha
+;;H / [Iyi] _ Q? AN > Hy
+H / _ Q? AN > Hy
+
+;final hamzas
+H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ...
+H / a _ Q? (#|^[LTR]) > Ha ; not AN...
+H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN...
+H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy
+H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw
+
+;;and more hamzas ...
+
+; n°1: kasra/ya
+H / [LTR] _ Q? [Iyi] ^N > Hy
+H / [Iyi] _ > Hy
+
+; n°2: damma/waw
+H / [LTR] _ Q? (U|u) ^N > Hw
+H / (U|u) _ Q? ^[Iyi] > Hw
+H / U _ > HBAR
+
+; n°3: fatha/alif
+H Q? A > HA
+H / A _ Q? a > HBAR
+H / ^[UI] _ Q? a > Ha
+H / a _ Q? ^[UI] > Ha
+
+
+pass(Unicode)
+
+Class [Digits] = (U+0030..U+0039)
+Class [ArDigits] = (U+0660..U+0669)
+Class [ArEasternDigits] = (U+06F0..U+06F9)
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+
+
+
+
+;normal code
+
+
+(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA
+(P z|U+1E93) > U+0638
+C z C z > U+0698 U+0651 ;;SHADDA
+C z > U+0698
+V z V z > U+0696 U+0651 ;;SHADDA
+V z > U+0696 ;pashto
+z z > U+0632 U+0651 ;;SHADDA
+z > U+0632
+Y Y > U+0649 U+0651 ;;SHADDA
+Y > U+0649
+;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots
+y y > U+06CC U+0651 ;;SHADDA
+y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots
+v v > U+06A4 U+0651 ;;SHADDA
+v > U+06A4
+W > U+0648 U+0627 ; waw + alif
+C U > U+064F U+0648 U+0653; historical spelling : madda on waw
+Q U [Uw] > U+064F U+0648 U+0651 ;;SHADDA
+Q U > U+064F U+0648
+[Uw] [Uw] > U+0648 U+0651 ;;SHADDA
+[Uw] > U+0648
+C w C w > U+06C9 U+0651 ;;SHADDA
+C w > U+06C9
+CO w CO w > U+06CA U+0651 ;,SHADDA
+CO w > U+06CA
+Q u N > U+064C
+u N >
+Q u > U+064F
+V t V t > U+067C U+0651 ;;SHADDA
+V t > U+067C ; pashto
+UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA
+UL (t|s) > U+062B
+(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA
+(P t|U+1E6D) > U+0637
+t t > U+062A U+0651 ;;SHADDA
+t > U+062A
+T T Q AN > U+0629 U+0651 U+064B ;;SHADDA
+T Q AN > U+0629 U+064B
+T AN > U+0629
+T T > U+0629 U+0651 ;;SHADDA
+T > U+0629
+C s C s > U+0634 U+0651 ;;SHADDA
+C s > U+0634
+(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA
+(P s|U+1E63) > U+0635
+V s V s > U+069A U+0651 ;;SHADDA
+V s > U+069A ;Pashto
+CO s CO s > U+069B U+0651 ;;SHADDA
+CO s > U+069B ; sin with 3 dots below
+s s > U+0633 U+0651 ;;SHADDA
+s > U+0633
+C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<<
+C r > U+06EF
+CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<<
+CO r > U+0697 ; Dargwa language, Dagestan
+P r P r > U+0694 U+0651 ;;SHADDA
+P r > U+0694 ; r with dot below; in Kurdish .r -> 0694
+V r V r > U+0693 U+0651 ;;SHADDA
+V r > U+0693 ;Pashto
+r r > U+0631 U+0651 ;;SHADDA
+r > U+0631
+P q P q > U+066F U+0651 ;;SHADDA
+P q > U+066F
+q q > U+0642 U+0651 ;;SHADDA
+q > U+0642
+p p > U+067E U+0651 ;;SHADDA
+p > U+067E
+CO n CO n > U+06B1 U+0651 ;;SHADDA
+CO n > U+06B1
+C n C n > U+06AD U+0651 ;;SHADDA
+C n > U+06AD
+P n P n > U+06BA U+0651 ;;SHADDA
+P n > U+06BA ; urdu
+V n V n > U+06BC U+0651 ;;SHADDA
+V n > U+06BC ; Pashto
+n n > U+0646 U+0651 ;;SHADDA
+n > U+0646
+m m > U+0645 U+0651 ;;SHADDA
+m > U+0645
+P l P l > U+06B6 U+0651 ;
+P l > U+06B6 ; ADDED <<<
+C l C l > U+06B5 U+0651 ;;SHADDA
+C l > U+06B5 ;kurdish
+l l > U+0644 U+0651 ;;SHADDA
+l > U+0644
+P k P k > U+06A9 U+0651 ;;SHADDA
+P k > U+06A9 ; pashto urdu
+UL k UL k > U+063A U+0651 ;;SHADDA
+UL k > U+063A
+k k > U+0643 U+0651 ;;SHADDA
+k > U+0643
+C g C g > U+062C U+0651 ;;SHADDA
+C g > U+062C
+CO j CO j > U+0684 U+0651 ;;SHADDA
+CO j > U+0684
+j j > U+062C U+0651 ;;SHADDA
+j > U+062C
+Q I > U+0650 U+064A
+C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya
+UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ###
+I > U+064A
+Q i N > U+064D
+i N > ;
+Q i > U+0650
+x x > U+062E U+0651 ;;SHADDA
+x > U+062E
+U+0048 Z > U+0647 U+200C U+0020 ;eH-suffix > eH suffix
+U+0048 > U+0647 U+200C ; H is always heh final
+UL h UL h > U+062E U+0651 ;;SHADDA
+UL h > U+062E
+(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA
+(P h|U+1E25) > U+062D
+V h V h > U+06C1 U+0651 ;;SHADDA
+V h > U+06C1
+h h > U+0647 U+0651 ;;SHADDA
+h > U+0647
+CO g CO g > U+06B3 U+0651 ;;SHADDA
+CO g > U+06B3
+V g V g > U+06AC U+0651 ;;SHADDA
+V g > U+06AC ; kaf with dot above
+P g P g > U+063A U+0651 ;;SHADDA
+P g > U+063A
+g g > U+06AF U+0651 ;;SHADDA
+g > U+06AF
+G G > U+06AB U+0651 ;;SHADDA
+G > U+06AB ;pashto
+P f P f > U+06A1 U+0651 ;;SHADDA
+P f > U+06A1
+f f > U+0641 U+0651 ;;SHADDA
+f > U+0641
+V d V d > U+0689 U+0651 ;;SHADDA
+V d > U+0689 ;pashto
+P V d P V d > U+068B U+0651 ;;SHADDA
+P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi)
+C d C d > U+06EE U+0651 ;;SHADDA
+C d > U+06EE ; not defined in ArabTeX
+CO d CO d > U+068F U+0651 ;;SHADDA
+CO d > U+068F
+UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA
+UL (d|z) > U+0630
+(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA
+(P d|U+1E0D) > U+0636
+d d > U+062F U+0651 ;;SHADDA
+d > U+062F
+V c V c > U+0685 U+0651 ;;SHADDA
+V c > U+0685 ;pashto
+C c C c > U+0686 U+0651 ;;SHADDA
+C c > U+0686
+P C c P C c > U+06BF U+0651 ;;SHADDA
+P C c > U+06BF ;; cheh with dot above <<<
+c c > U+0681 U+0651 ;;SHADDA
+c > U+0681 ; ح with hamza above
+CO c CO c > U+0682 U+0651 ;;SHADDA
+CO c > U+0682 ; old pashto
+CO b CO b > U+067B U+0651 ;;SHADDA
+CO b > U+067B
+P b P b > U+066E U+0651 ;;SHADDA
+P b > U+066E
+b b > U+0628 U+0651 ;;SHADDA
+b > U+0628
+H A > U+0622
+C A > U+064E U+0622 ; historical spelling
+UL A > U+0649
+UL a > U+0670
+UL u > ;
+UL i > ;
+Q AN / (A H|Ha) _ > U+064B
+AN / (A H|Ha) _ > ;
+Q AN > U+0627 U+064B
+AN > U+0627
+Q a > U+064E
+Q A > U+064E U+0627
+A > U+0627
+Ain Ain > U+0639 U+0651 ;;SHADDA
+Ain > U+0639
+H H > U+0621 U+0651 ;;SHADDA
+H > U+0621
+U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma
+Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash
+(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks
+[Digits] > [ArEasternDigits]
+Z Z Z / # _ # > U+2014
+Z Z / # _ # > U+2013
+Z Z > U+0640
+B > U+0640
+Z / # _ > U+200D ; -x > force initial form with "zero-width joiner"
+Z / _ # > U+200D ; x- > force final form
+U+003C U+003C > U+00BB ;<<
+U+003E U+003E > U+00AB ;>>
+U+00AB > U+00BB
+U+00BB > U+00AB
+UL > U+0640 ;_
+U+003F > U+061F ;?
+U+003B > U+061B ;;
+U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above...
+U+002C > U+060C ;,
+U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ...
+U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual
+ ; analysis, so quoting of hamzas etc may be necessary
+;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules
+;U+005B > U+005D ;[
+[VWL] > ;stripoff vowels
+Q > U+0652
+U+00B0 > U+0652 ; °
+N > ;
+C > ;^
+Z > ;-
+BAR > ;|
+
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-pashto-novoc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-pashto-novoc.tec
index 0f9aac708b3..14a35b434d8 100644
--- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-pashto-novoc.tec
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-pashto-novoc.tec
Binary files differ
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-pashto-voc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-pashto-voc.map
new file mode 100644
index 00000000000..09ca243a912
--- /dev/null
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-pashto-voc.map
@@ -0,0 +1,486 @@
+LHSName "ArabTeX-pashto-vocalized"
+RHSName "UNICODE"
+
+Define a U+0061 ;a
+Define b U+0062 ;b
+Define c U+0063 ;c
+Define d U+0064 ;d
+Define e U+0065 ;e
+Define f U+0066 ;f
+Define g U+0067 ;g
+Define h U+0068 ;h
+Define i U+0069 ;i
+Define j U+006A ;j
+Define k U+006B ;k
+Define l U+006C ;l
+Define m U+006D ;m
+Define n U+006E ;n
+Define o U+006F ;o
+Define p U+0070 ;p
+Define q U+0071 ;q
+Define r U+0072 ;r
+Define s U+0073 ;s
+Define t U+0074 ;t
+Define u U+0075 ;u
+Define v U+0076 ;v
+Define w U+0077 ;w
+Define x U+0078 ;x
+Define y U+0079 ;y
+Define z U+007A ;z
+Define A U+0041 ;A
+Define B U+0042 ;B
+Define E U+0045 ;E
+Define G U+0047 ;G
+Define I U+0049 ;I
+Define N U+004E ;N
+Define O U+004F ;O
+Define T U+0054 ;T
+Define U U+0055 ;U
+Define W U+0057 ;W
+Define Y U+0059 ;Y
+Define C U+005E ;^ << CARET
+Define UL U+005F ;_ << UNDERLINE
+Define P U+002E ;. << DOT
+Define V U+002C ;, << COMMA (_V_irgule)
+Define CO U+003A ;: << COLON
+Define SC U+003B ;; << SEMICOLON
+Define Ain U+0060 ;`
+Define H U+0027 ;' << HAMZA
+Define Q U+0022 ;" << QUOTE
+Define Z U+002D ;- << HYPHEN
+Define BAR U+007C ;|
+Define AN U+0061 U+004E ; aN
+Define LLAH U+006C U+006C U+005F U+0061 U+0068
+;Define NUL U+00A6;
+Define Ha U+0623
+Define Hi U+0625
+Define Hy U+0626
+Define Hw U+0624
+Define Hh U+06C0 ;; = U+0647 U+0654
+Define HA U+0622
+Define HB U+0640 U+0654
+Define HBAR U+0621 ; '|
+
+pass(Unicode)
+
+U+E000 > ; eliminate special code for capitalization in transliterations
+
+pass(Unicode)
+
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [AVWL] = (U+064B..U+0650);
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" `
+Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ”
+Class [PUNCT] = (V SC P CO)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u)
+;Class [ae] = (U+0061 U+0065) ;(a e)
+;Class [ou] = (U+0075 U+006F) ;(u o)
+Class [Iyi] = (U+0069 U+0079 U+0049)
+Class [UI] = (U+0049 U+0055) ; U I
+Class [Digits] = (U+0030..U+0039)
+
+Define BEG (#|Z|[BRACKETS])
+Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #)
+Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z)
+
+; special ligatures
+;; 1. Standard ArabTeX input
+;; WARNING! there are, alas, two classes of Arabic fonts:
+;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2
+;; For these the ligature llah can be accessed by the sequence lam-lam-ha
+;; b) Those that do not have the initial alif in U+FDF2
+;; The BAR is used in the DMG transliteration to suppress the initial A
+(a|A) BAR? l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah'
+LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h'
+;; UPPERCASE mnemonics for various ligatures or special glyphs
+;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode
+U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h'
+U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic
+;; 2b. Ligatures and glyphs defined in Unicode:
+U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH'
+U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH'
+
+U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam
+U+0028 U+0028 > U+FD3F ;; '((' : ornate right par
+U+0029 U+0029 > U+FD3E ;; '))' : ornate left par
+U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign
+;; most fonts won't have the following ones:
+U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign)
+U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign
+U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR'
+U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD'
+U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM'
+U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL')
+U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE')
+U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM'
+U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA'
+U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu"
+U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik
+
+U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY
+U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY
+U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM-
+U+005E U+004C U+0041 > U+06D9 ;; ^LA
+U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM
+U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS
+U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN
+U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB
+U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO
+U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO
+U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM
+U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM
+U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN
+U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA
+U+0057 U+0041 U+0057 > U+06E5 ;; WAW
+U+0059 U+0045 U+0048 > U+06E6 ;; YEH
+U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH
+U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN
+U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA
+U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP
+U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP
+U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP
+U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM
+
+U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::")
+
+;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts
+U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]]
+
+
+; vowels
+u u > U
+i i > I
+a a > A
+a e > a U+0626
+E e > U+0659 U+06CD
+e e > U+0659 U+0626
+E > U+0659 U+06D0
+CO O > U+06FC ;
+O > U+0657 w
+o > U+0657
+a o > a w
+CO U > U+06C7 ;
+e > U+0659
+I / _ # > i y
+
+
+;; Persian ezafe (ALL BUT ARABIC AND UIGHUR)
+U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<<
+U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I
+Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e
+Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I
+Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i
+Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i
+Z / U+0048 _ > U+0020 ;
+b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen
+
+;; initial characters ...
+a l Z / BEG _ > U+0627 l Z
+;; wasla on initial alif : NEW! NOT TESTED!
+H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI
+[VWL]=v1 / BEG _ > U+0627 @v1
+Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U
+; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I
+Q?=q1 I / BEG _ > U+0627 @q1 i y
+
+
+;; Words with anomalous orthography:
+
+; mi'aT -> ماية
+;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy
+m Q i H Q a / _ (T|t) > m U+0627 Hy
+m Q i H a / _ (T|t) > m U+0627 Hy a
+m i H Q a / _ (T|t) > m i U+0627 Hy
+m i H a / _ (T|t) > m i U+0627 Hy a
+
+
+;; contextual analysis of hamzas
+;; THESE DO NOT APPLY FOR SINDHI
+
+; initial hamzas
+H / (#|^[LTR]) _ Q? [Iyi] > Hi
+H Q A / (#|^[LTR]) _ > HA ; alif madda
+H / (#|^[LTR]) _ Q? [Uwu] > Ha
+H / (#|^[LTR]) _ Q? a > Ha
+Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word
+
+; quoted hamzas in contextual mode, equivalent to verbatim mode
+a Q H > Ha
+i Q H > Hi
+y Q H > Hy
+w Q H > Hw
+h Q H > Hh
+A Q H > HA
+B Q H > HB
+BAR Q H > HBAR
+
+; hamza + fathatan
+H / a _ Q? AN > Ha
+;;H / [Iyi] _ Q? AN > Hy
+H / _ Q? AN > Hy
+
+;final hamzas
+H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ...
+H / a _ Q? (#|^[LTR]) > Ha ; not AN...
+H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN...
+H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy
+H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw
+
+;;and more hamzas ...
+
+; n°1: kasra/ya
+H / [LTR] _ Q? [Iyi] ^N > Hy
+H / [Iyi] _ > Hy
+
+; n°2: damma/waw
+H / [LTR] _ Q? (U|u) ^N > Hw
+H / (U|u) _ Q? ^[Iyi] > Hw
+H / U _ > HBAR
+
+; n°3: fatha/alif
+H Q? A > HA
+H / A _ Q? a > HBAR
+H / ^[UI] _ Q? a > Ha
+H / a _ Q? ^[UI] > Ha
+
+
+pass(Unicode)
+
+Class [Digits] = (U+0030..U+0039)
+Class [ArDigits] = (U+0660..U+0669)
+Class [ArEasternDigits] = (U+06F0..U+06F9)
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+
+
+
+
+;normal code
+
+
+(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA
+(P z|U+1E93) > U+0638
+C z C z > U+0698 U+0651 ;;SHADDA
+C z > U+0698
+V z V z > U+0696 U+0651 ;;SHADDA
+V z > U+0696 ;pashto
+z z > U+0632 U+0651 ;;SHADDA
+z > U+0632
+Q Y Y > U+0649 U+0651 ;;SHADDA
+Q Y > U+0649
+Y Y > U+064E U+0649 U+0651 ;;SHADDA
+Y > U+064E U+0649
+;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots
+y y > U+06CC U+0651 ;;SHADDA
+y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots
+v v > U+06A4 U+0651 ;;SHADDA
+v > U+06A4
+W > U+0648 U+0627 ; waw + alif
+C U > U+064F U+0648 U+0653; historical spelling : madda on waw
+C w C w > U+06C9 U+0651 ;;SHADDA
+C w > U+06C9
+CO w CO w > U+06CA U+0651 ;,SHADDA
+CO w > U+06CA
+U A / _ # > U+064F U+0648 U+0627
+Q U [Uw] > U+0648 U+0651 ;;SHADDA
+Q U > U+0648
+U [Uw] > U+064F U+0648 U+0651 ;;SHADDA
+U > U+064F U+0648
+w w > U+0648 U+0651 ;;SHADDA
+w > U+0648
+Q u N? >
+u N > U+064C
+u > U+064F
+V t V t > U+067C U+0651 ;;SHADDA
+V t > U+067C ; pashto
+UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA
+UL (t|s) > U+062B
+(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA
+(P t|U+1E6D) > U+0637
+t t > U+062A U+0651 ;;SHADDA
+t > U+062A
+T T Q AN > U+0629 U+0651 ;;SHADDA
+T Q AN > U+0629
+T AN > U+0629 U+064B
+T T > U+0629 U+0651 ;;SHADDA
+T > U+0629
+C s C s > U+0634 U+0651 ;;SHADDA
+C s > U+0634
+(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA
+(P s|U+1E63) > U+0635
+V s V s > U+069A U+0651 ;;SHADDA
+V s > U+069A ;Pashto
+CO s CO s > U+069B U+0651 ;;SHADDA
+CO s > U+069B ; sin with 3 dots below
+s s > U+0633 U+0651 ;;SHADDA
+s > U+0633
+C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<<
+C r > U+06EF
+CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<<
+CO r > U+0697 ; Dargwa language, Dagestan
+P r P r > U+0694 U+0651 ;;SHADDA
+P r > U+0694 ; r with dot below; in Kurdish .r -> 0694
+V r V r > U+0693 U+0651 ;;SHADDA
+V r > U+0693 ;Pashto
+r r > U+0631 U+0651 ;;SHADDA
+r > U+0631
+P q P q > U+066F U+0651 ;;SHADDA
+P q > U+066F
+q q > U+0642 U+0651 ;;SHADDA
+q > U+0642
+p p > U+067E U+0651 ;;SHADDA
+p > U+067E
+CO n CO n > U+06B1 U+0651 ;;SHADDA
+CO n > U+06B1
+C n C n > U+06AD U+0651 ;;SHADDA
+C n > U+06AD
+P n P n > U+06BA U+0651 ;;SHADDA
+P n > U+06BA ; urdu
+V n V n > U+06BC U+0651 ;;SHADDA
+V n > U+06BC ; Pashto
+n n > U+0646 U+0651 ;;SHADDA
+n > U+0646
+m m > U+0645 U+0651 ;;SHADDA
+m > U+0645
+P l P l > U+06B6 U+0651 ;
+P l > U+06B6 ; ADDED <<<
+C l C l > U+06B5 U+0651 ;;SHADDA
+C l > U+06B5 ;kurdish
+l l > U+0644 U+0651 ;;SHADDA
+l > U+0644
+P k P k > U+06A9 U+0651 ;;SHADDA
+P k > U+06A9 ; pashto urdu
+UL k UL k > U+063A U+0651 ;;SHADDA
+UL k > U+063A
+k k > U+0643 U+0651 ;;SHADDA
+k > U+0643
+C g C g > U+062C U+0651 ;;SHADDA
+C g > U+062C
+CO j CO j > U+0684 U+0651 ;;SHADDA
+CO j > U+0684
+j j > U+062C U+0651 ;;SHADDA
+j > U+062C
+Q I > U+064A
+I > U+0650 U+064A
+C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya
+UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ###
+Q i N? > ;
+i N > U+064D
+i > U+0650
+x x > U+062E U+0651 ;;SHADDA
+x > U+062E
+U+0048 Z > U+0647 U+200C U+0020 ;eH-suffix > eH suffix
+U+0048 > U+0647 U+200C ; H is always heh final
+UL h UL h > U+062E U+0651 ;;SHADDA
+UL h > U+062E
+(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA
+(P h|U+1E25) > U+062D
+V h V h > U+06C1 U+0651 ;;SHADDA
+V h > U+06C1
+h h > U+0647 U+0651 ;;SHADDA
+h > U+0647
+CO g CO g > U+06B3 U+0651 ;;SHADDA
+CO g > U+06B3
+V g V g > U+06AC U+0651 ;;SHADDA
+V g > U+06AC ; kaf with dot above
+P g P g > U+063A U+0651 ;;SHADDA
+P g > U+063A
+g g > U+06AF U+0651 ;;SHADDA
+g > U+06AF
+G G > U+06AB U+0651 ;;SHADDA
+G > U+06AB ;pashto
+P f P f > U+06A1 U+0651 ;;SHADDA
+P f > U+06A1
+f f > U+0641 U+0651 ;;SHADDA
+f > U+0641
+V d V d > U+0689 U+0651 ;;SHADDA
+V d > U+0689 ;pashto
+P V d P V d > U+068B U+0651 ;;SHADDA
+P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi)
+C d C d > U+06EE U+0651 ;;SHADDA
+C d > U+06EE ; not defined in ArabTeX
+CO d CO d > U+068F U+0651 ;;SHADDA
+CO d > U+068F
+UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA
+UL (d|z) > U+0630
+(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA
+(P d|U+1E0D) > U+0636
+d d > U+062F U+0651 ;;SHADDA
+d > U+062F
+V c V c > U+0685 U+0651 ;;SHADDA
+V c > U+0685 ;pashto
+C c C c > U+0686 U+0651 ;;SHADDA
+C c > U+0686
+P C c P C c > U+06BF U+0651 ;;SHADDA
+P C c > U+06BF ;; cheh with dot above <<<
+c c > U+0681 U+0651 ;;SHADDA
+c > U+0681 ; ح with hamza above
+CO c CO c > U+0682 U+0651 ;;SHADDA
+CO c > U+0682 ; old pashto
+CO b CO b > U+067B U+0651 ;;SHADDA
+CO b > U+067B
+P b P b > U+066E U+0651 ;;SHADDA
+P b > U+066E
+b b > U+0628 U+0651 ;;SHADDA
+b > U+0628
+H A > U+0622
+C A > U+064E U+0622 ; historical spelling
+UL A > U+064E U+0649
+UL a > U+0670
+UL u > U+064F;
+UL i > U+0650;
+Q AN / (A H|Ha) _ > ;
+AN / (A H|Ha) _ > U+064B
+Q AN > U+0627
+AN > U+0627 U+064B
+Q a >
+a > U+064E
+Q A > U+0627
+A > U+064E U+0627
+Ain Ain > U+0639 U+0651 ;;SHADDA
+Ain > U+0639
+H H > U+0621 U+0651 ;;SHADDA
+H > U+0621
+U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma
+Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash
+(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks
+[Digits] > [ArEasternDigits]
+Z Z Z / # _ # > U+2014
+Z Z / # _ # > U+2013
+Z Z > U+0640
+B > U+0640
+Z / # _ > U+200D ; -x > force initial form with "zero-width joiner"
+Z / _ # > U+200D ; x- > force final form
+U+003C U+003C > U+00BB ;<<
+U+003E U+003E > U+00AB ;>>
+U+00AB > U+00BB
+U+00BB > U+00AB
+UL > U+0640 ;_
+U+003F > U+061F ;?
+U+003B > U+061B ;;
+U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above...
+U+002C > U+060C ;,
+U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ...
+U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual
+ ; analysis, so quoting of hamzas etc may be necessary
+;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules
+;U+005B > U+005D ;[
+Q [VWL] > ;stripoff quoted vowels
+Q > U+0652
+U+00B0 > U+0652 ; °
+N > ;
+C > ;^
+BAR > ;|
+
+pass(Unicode)
+
+Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-)
+Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc.
+Class [VWL] = (U+0627 U+0648..U+0650 U+0670);
+Z > ;
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-sindhi-fullvoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-sindhi-fullvoc.map
new file mode 100644
index 00000000000..477d056b134
--- /dev/null
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-sindhi-fullvoc.map
@@ -0,0 +1,461 @@
+LHSName "ArabTeX-sindhi-fullvocalized"
+RHSName "UNICODE"
+
+Define a U+0061 ;a
+Define b U+0062 ;b
+Define c U+0063 ;c
+Define d U+0064 ;d
+Define e U+0065 ;e
+Define f U+0066 ;f
+Define g U+0067 ;g
+Define h U+0068 ;h
+Define i U+0069 ;i
+Define j U+006A ;j
+Define k U+006B ;k
+Define l U+006C ;l
+Define m U+006D ;m
+Define n U+006E ;n
+Define o U+006F ;o
+Define p U+0070 ;p
+Define q U+0071 ;q
+Define r U+0072 ;r
+Define s U+0073 ;s
+Define t U+0074 ;t
+Define u U+0075 ;u
+Define v U+0076 ;v
+Define w U+0077 ;w
+Define x U+0078 ;x
+Define y U+0079 ;y
+Define z U+007A ;z
+Define A U+0041 ;A
+Define B U+0042 ;B
+Define E U+0045 ;E
+Define G U+0047 ;G
+Define I U+0049 ;I
+Define N U+004E ;N
+Define O U+004F ;O
+Define T U+0054 ;T
+Define U U+0055 ;U
+Define W U+0057 ;W
+Define Y U+0059 ;Y
+Define C U+005E ;^ << CARET
+Define UL U+005F ;_ << UNDERLINE
+Define P U+002E ;. << DOT
+Define V U+002C ;, << COMMA (_V_irgule)
+Define CO U+003A ;: << COLON
+Define SC U+003B ;; << SEMICOLON
+Define Ain U+0060 ;`
+Define H U+0027 ;' << HAMZA
+Define Q U+0022 ;" << QUOTE
+Define Z U+002D ;- << HYPHEN
+Define BAR U+007C ;|
+Define AN U+0061 U+004E ; aN
+Define LLAH U+006C U+006C U+005F U+0061 U+0068
+;Define NUL U+00A6;
+Define Ha U+0623
+Define Hi U+0625
+Define Hy U+0626
+Define Hw U+0624
+Define Hh U+06C0 ;; = U+0647 U+0654
+Define HA U+0622
+Define HB U+0640 U+0654
+Define HBAR U+0621 ; '|
+
+pass(Unicode)
+
+U+E000 > ; eliminate special code for capitalization in transliterations
+
+pass(Unicode)
+
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [AVWL] = (U+064B..U+0650);
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" `
+Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ”
+Class [PUNCT] = (V SC P CO)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u)
+;Class [ae] = (U+0061 U+0065) ;(a e)
+;Class [ou] = (U+0075 U+006F) ;(u o)
+Class [Iyi] = (U+0069 U+0079 U+0049)
+Class [UI] = (U+0049 U+0055) ; U I
+Class [Digits] = (U+0030..U+0039)
+
+Define BEG (#|Z|[BRACKETS])
+Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #)
+Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z)
+
+; special ligatures
+;; 1. Standard ArabTeX input
+;; WARNING! there are, alas, two classes of Arabic fonts:
+;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2
+;; For these the ligature llah can be accessed by the sequence lam-lam-ha
+;; b) Those that do not have the initial alif in U+FDF2
+;; The BAR is used in the DMG transliteration to suppress the initial A
+(a|A) BAR? l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah'
+LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h'
+;; UPPERCASE mnemonics for various ligatures or special glyphs
+;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode
+U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h'
+U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic
+;; 2b. Ligatures and glyphs defined in Unicode:
+U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH'
+U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH'
+
+U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam
+U+0028 U+0028 > U+FD3F ;; '((' : ornate right par
+U+0029 U+0029 > U+FD3E ;; '))' : ornate left par
+U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign
+;; most fonts won't have the following ones:
+U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign)
+U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign
+U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR'
+U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD'
+U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM'
+U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL')
+U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE')
+U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM'
+U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA'
+U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu"
+U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik
+
+U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY
+U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY
+U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM-
+U+005E U+004C U+0041 > U+06D9 ;; ^LA
+U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM
+U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS
+U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN
+U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB
+U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO
+U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO
+U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM
+U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM
+U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN
+U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA
+U+0057 U+0041 U+0057 > U+06E5 ;; WAW
+U+0059 U+0045 U+0048 > U+06E6 ;; YEH
+U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH
+U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN
+U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA
+U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP
+U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP
+U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP
+U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM
+
+U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::")
+
+;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts
+U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]]
+
+
+; vowels
+u u > U
+i i > I
+a a > A
+CO O > U+06FC ;
+a e > a y
+a o > a w
+(o|u)? O / # _ > U+0627 w
+(o|u)? O > w
+CO U > U+06C7 ;
+e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish)
+o > u
+
+
+;; Persian ezafe (ALL BUT ARABIC AND UIGHUR)
+U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<<
+U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I
+Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e
+Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I
+Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i
+Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i
+Z / U+0048 _ > U+0020 ;
+b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen
+
+;; initial characters ...
+a l Z / BEG _ > U+0627 l Z
+;; wasla on initial alif : NEW! NOT TESTED!
+H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI
+[VWL]=v1 / BEG _ > U+0627 @v1
+Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U
+; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I
+Q?=q1 I / BEG _ > U+0627 @q1 i y
+
+
+;; Words with anomalous orthography:
+
+; mi'aT -> ماية
+;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy
+m Q i H Q a / _ (T|t) > m U+0627 Hy
+m Q i H a / _ (T|t) > m U+0627 Hy a
+m i H Q a / _ (T|t) > m i U+0627 Hy
+m i H a / _ (T|t) > m i U+0627 Hy a
+
+
+
+pass(Unicode)
+
+Class [Digits] = (U+0030..U+0039)
+Class [ArDigits] = (U+0660..U+0669)
+Class [ArEasternDigits] = (U+06F0..U+06F9)
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+
+
+
+
+;normal code
+
+;; special code for sindhi
+;; U+004D U+0049 U+004E > U+06FE ; define macro \MIN in sindhi env
+P m I N > U+06FE ; .mIN
+;; U+0049 U+004E > U+06FD ; IN define macro \IN in sindhi env
+H BAR I N > U+06FD ; '|IN
+
+(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA
+(P z|U+1E93) > U+0638
+C z C z > U+0698 U+0651 ;;SHADDA
+C z > U+0698
+V z V z > U+0696 U+0651 ;;SHADDA
+V z > U+0696 ;pashto
+z z > U+0632 U+0651 ;;SHADDA
+z > U+0632
+Q Y Y > U+0649 U+0651 ;;SHADDA
+Q Y > U+0649
+Y Y > U+064E U+0649 U+0651 ;;SHADDA
+Y > U+064E U+0649
+P I P I / _ # > U+0650 U+06CC U+0651 ;; SHADDA
+P I / _ # > U+0650 U+06CC ;; workaround to have ya without dots in Arabic
+y y > U+064A U+0651 ;;SHADDA
+y > U+064A
+v v > U+06A4 U+0651 ;;SHADDA
+v > U+06A4
+W > U+0648 U+0627 ; waw + alif
+C U > U+064F U+0648 U+0653; historical spelling : madda on waw
+C w C w > U+06C9 U+0651 ;;SHADDA
+C w > U+06C9
+CO w CO w > U+06CA U+0651 ;,SHADDA
+CO w > U+06CA
+U A / _ # > U+064F U+0648 U+0627
+Q U [Uw] > U+0648 U+0651 ;;SHADDA
+Q U > U+0648
+U [Uw] > U+064F U+0648 U+0651 ;;SHADDA
+U > U+064F U+0648
+w w > U+0648 U+0651 ;;SHADDA
+w > U+0648
+Q u N? >
+u N > U+064C
+u > U+064F
+V t h V t h > U+067A U+0651 ;;SHADDA
+V t h > U+067A
+t h t h > U+067F U+0651 ;;SHADDA
+t h > U+067F
+V t V t > U+067D U+0651 ;;SHADDA
+V t > U+067D
+UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA
+UL (t|s) > U+062B
+(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA
+(P t|U+1E6D) > U+0637
+t t > U+062A U+0651 ;;SHADDA
+t > U+062A
+T T Q AN > U+0629 U+0651 ;;SHADDA
+T Q AN > U+0629
+T AN > U+0629 U+064B
+T T > U+0629 U+0651 ;;SHADDA
+T > U+0629
+C s C s > U+0634 U+0651 ;;SHADDA
+C s > U+0634
+(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA
+(P s|U+1E63) > U+0635
+V s V s > U+069A U+0651 ;;SHADDA
+V s > U+069A ;Pashto
+CO s CO s > U+069B U+0651 ;;SHADDA
+CO s > U+069B ; sin with 3 dots below
+s s > U+0633 U+0651 ;;SHADDA
+s > U+0633
+C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<<
+C r > U+06EF
+CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<<
+CO r > U+0697 ; Dargwa language, Dagestan
+P r P r > U+0694 U+0651 ;;SHADDA
+P r > U+0694 ; r with dot below; in Kurdish .r -> 0694
+V r V r > U+0699 U+0651 ;;SHADDA
+V r > U+0699
+r r > U+0631 U+0651 ;;SHADDA
+r > U+0631
+P q P q > U+066F U+0651 ;;SHADDA
+P q > U+066F
+q q > U+0642 U+0651 ;;SHADDA
+q > U+0642
+p h p h > U+06A6 U+0651 ;;SHADDA
+p h > U+06A6
+p p > U+067E U+0651 ;;SHADDA
+p > U+067E
+CO n CO n > U+06B1 U+0651 ;;SHADDA
+CO n > U+06B1
+C n C n > U+0683 U+0651 ;;SHADDA
+C n > U+0683
+P P n P P n > U+06B2 U+0651 ;;SHADDA
+P P n > U+06B2 ;; old sindhi? (not in ArabTeX) <<<
+P n P n > U+06BA U+0651 ;;SHADDA
+P n > U+06BA ; urdu
+V n V n > U+06BB U+0651 ;;SHADDA
+V n > U+06BB
+n n > U+0646 U+0651 ;;SHADDA
+n > U+0646
+m m > U+0645 U+0651 ;;SHADDA
+m > U+0645
+P l P l > U+06B6 U+0651 ;
+P l > U+06B6 ; ADDED <<<
+C l C l > U+06B5 U+0651 ;;SHADDA
+C l > U+06B5 ;kurdish
+l l > U+0644 U+0651 ;;SHADDA
+l > U+0644
+k h k h > U+06A9 U+0651 ;;SHADDA
+k h > U+06A9
+P k P k > U+06A9 U+0651 ;;SHADDA
+P k > U+06A9 ; pashto urdu
+UL k UL k > U+063A U+0651 ;;SHADDA
+UL k > U+063A
+k k > U+06AA U+0651 ;;SHADDA
+k > U+06AA ; kaf swash
+C g C g > U+062C U+0651 ;;SHADDA
+C g > U+062C
+CO j CO j > U+0684 U+0651 ;;SHADDA
+CO j > U+0684
+j j > U+062C U+0651 ;;SHADDA
+j > U+062C
+Q I > U+064A
+I > U+0650 U+064A
+C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya
+UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ###
+Q i N? > ;
+i N > U+064D
+i > U+0650
+x x > U+062E U+0651 ;;SHADDA
+x > U+062E
+UL h UL h > U+062E U+0651 ;;SHADDA
+UL h > U+062E
+(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA
+(P h|U+1E25) > U+062D
+V h V h > U+06C1 U+0651 ;;SHADDA
+V h > U+06C1
+h h > U+06BE U+0651 ;;SHADDA
+h > U+06BE
+P CO g P CO g > U+06B4 U+0651 ;;SHADDA
+P CO g > U+06B4 ;; old sindhi? (not in ArabTeX) <<<
+CO g CO g > U+06B3 U+0651 ;;SHADDA
+CO g > U+06B3
+V g V g > U+06AC U+0651 ;;SHADDA
+V g > U+06AC ; kaf with dot above
+P g P g > U+063A U+0651 ;;SHADDA
+P g > U+063A
+g g > U+06AF U+0651 ;;SHADDA
+g > U+06AF
+G G > U+06AB U+0651 ;;SHADDA
+G > U+06AB ;pashto
+P f P f > U+06A1 U+0651 ;;SHADDA
+P f > U+06A1
+f f > U+0641 U+0651 ;;SHADDA
+f > U+0641
+V d h V d h > U+068D U+0651 ;;SHADDA
+V d h > U+068D
+V d V d > U+068A U+0651 ;;SHADDA
+V d > U+068A
+P V d P V d > U+068B U+0651 ;;SHADDA
+P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi)
+d h d h > U+068C U+0651 ;;SHADDA
+d h > U+068C
+C d C d > U+068E ;;SHADDA
+C d > U+068E ; old sindhi: not in ArabTeX
+CO d CO d > U+068F U+0651 ;;SHADDA
+CO d > U+068F
+UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA
+UL (d|z) > U+0630
+(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA
+(P d|U+1E0D) > U+0636
+d d > U+062F U+0651 ;;SHADDA
+d > U+062F
+C c h C c h > U+0687 U+0651 ;;SHADDA
+C c h > U+0687
+V c V c > U+0685 U+0651 ;;SHADDA
+V c > U+0685 ;pashto
+C c C c > U+0686 U+0651 ;;SHADDA
+C c > U+0686
+P C c P C c > U+06BF U+0651 ;;SHADDA
+P C c > U+06BF ;; cheh with dot above <<<
+c c > U+0681 U+0651 ;;SHADDA
+c > U+0681 ; ح with hamza above
+CO c CO c > U+0682 U+0651 ;;SHADDA
+CO c > U+0682 ; old pashto
+b h b h > U+0680 U+0651 ;;SHADDA
+b h > U+0680
+CO b CO b > U+067B U+0651 ;;SHADDA
+CO b > U+067B
+P b P b > U+066E U+0651 ;;SHADDA
+P b > U+066E
+b b > U+0628 U+0651 ;;SHADDA
+b > U+0628
+H A > U+0622
+C A > U+064E U+0622 ; historical spelling
+UL A > U+064E U+0649
+UL a > U+0670
+UL u > U+064F;
+UL i > U+0650;
+Q AN / (A H|Ha) _ > ;
+AN / (A H|Ha) _ > U+064B
+Q AN > U+0627
+AN > U+0627 U+064B
+Q a >
+a > U+064E
+Q A > U+0627
+A > U+064E U+0627
+Ain Ain > U+0639 U+0651 ;;SHADDA
+Ain > U+0639
+H H > U+0621 U+0651 ;;SHADDA
+H > U+0621
+U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma
+Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash
+(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks
+[Digits] > [ArEasternDigits]
+Z Z Z / # _ # > U+2014
+Z Z / # _ # > U+2013
+Z Z > U+0640
+B > U+0640
+Z / # _ > U+200D ; -x > force initial form with "zero-width joiner"
+Z / _ # > U+200D ; x- > force final form
+U+003C U+003C > U+00BB ;<<
+U+003E U+003E > U+00AB ;>>
+U+00AB > U+00BB
+U+00BB > U+00AB
+UL > U+0640 ;_
+U+003F > U+061F ;?
+U+003B > U+061B ;;
+U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above...
+U+002C > U+060C ;,
+U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ...
+U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual
+ ; analysis, so quoting of hamzas etc may be necessary
+;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules
+;U+005B > U+005D ;[
+Q [VWL] > ;stripoff quoted vowels
+U+00B0 > U+0652 ; °
+N > ;
+C > ;^
+BAR > ;|
+
+pass(Unicode)
+
+Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-)
+Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc.
+Class [VWL] = (U+0627 U+0648..U+0650 U+0670);
+[CONS]=k1 / _ Z? [CONS] ^U+0651 > @k1 U+0652 ; hack: 2nd consonant has no shadda
+U+064E (U+064A|U+0648)=hc / _ (^[VWLX]|#) > U+064E @hc U+0652 ; ay and aw diphtongs
+U+0627 / # _ U+0644 > U+0627 U+064E ; otherwise initial alif takes fatha
+[CONS]=k1 / _ ([CONS]|#) > @k1 U+0652 ; consonant + (consonant or final)
+;; [CONS]=k1 / _ # > @k1 U+0652 ; final consonant
+Q > ;
+Z > ;
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-sindhi-fullvoc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-sindhi-fullvoc.tec
index 14c8f697426..b0c44696c6a 100644
--- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-sindhi-fullvoc.tec
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-sindhi-fullvoc.tec
Binary files differ
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-sindhi-novoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-sindhi-novoc.map
new file mode 100644
index 00000000000..50efef6c46f
--- /dev/null
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-sindhi-novoc.map
@@ -0,0 +1,446 @@
+LHSName "ArabTeX-sindhi-novowels"
+RHSName "UNICODE"
+
+Define a U+0061 ;a
+Define b U+0062 ;b
+Define c U+0063 ;c
+Define d U+0064 ;d
+Define e U+0065 ;e
+Define f U+0066 ;f
+Define g U+0067 ;g
+Define h U+0068 ;h
+Define i U+0069 ;i
+Define j U+006A ;j
+Define k U+006B ;k
+Define l U+006C ;l
+Define m U+006D ;m
+Define n U+006E ;n
+Define o U+006F ;o
+Define p U+0070 ;p
+Define q U+0071 ;q
+Define r U+0072 ;r
+Define s U+0073 ;s
+Define t U+0074 ;t
+Define u U+0075 ;u
+Define v U+0076 ;v
+Define w U+0077 ;w
+Define x U+0078 ;x
+Define y U+0079 ;y
+Define z U+007A ;z
+Define A U+0041 ;A
+Define B U+0042 ;B
+Define E U+0045 ;E
+Define G U+0047 ;G
+Define I U+0049 ;I
+Define N U+004E ;N
+Define O U+004F ;O
+Define T U+0054 ;T
+Define U U+0055 ;U
+Define W U+0057 ;W
+Define Y U+0059 ;Y
+Define C U+005E ;^ << CARET
+Define UL U+005F ;_ << UNDERLINE
+Define P U+002E ;. << DOT
+Define V U+002C ;, << COMMA (_V_irgule)
+Define CO U+003A ;: << COLON
+Define SC U+003B ;; << SEMICOLON
+Define Ain U+0060 ;`
+Define H U+0027 ;' << HAMZA
+Define Q U+0022 ;" << QUOTE
+Define Z U+002D ;- << HYPHEN
+Define BAR U+007C ;|
+Define AN U+0061 U+004E ; aN
+Define LLAH U+006C U+006C U+005F U+0061 U+0068
+;Define NUL U+00A6;
+Define Ha U+0623
+Define Hi U+0625
+Define Hy U+0626
+Define Hw U+0624
+Define Hh U+06C0 ;; = U+0647 U+0654
+Define HA U+0622
+Define HB U+0640 U+0654
+Define HBAR U+0621 ; '|
+
+pass(Unicode)
+
+U+E000 > ; eliminate special code for capitalization in transliterations
+
+pass(Unicode)
+
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [AVWL] = (U+064B..U+0650);
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" `
+Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ”
+Class [PUNCT] = (V SC P CO)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u)
+;Class [ae] = (U+0061 U+0065) ;(a e)
+;Class [ou] = (U+0075 U+006F) ;(u o)
+Class [Iyi] = (U+0069 U+0079 U+0049)
+Class [UI] = (U+0049 U+0055) ; U I
+Class [Digits] = (U+0030..U+0039)
+
+Define BEG (#|Z|[BRACKETS])
+Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #)
+Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z)
+
+; special ligatures
+;; 1. Standard ArabTeX input
+;; WARNING! there are, alas, two classes of Arabic fonts:
+;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2
+;; For these the ligature llah can be accessed by the sequence lam-lam-ha
+;; b) Those that do not have the initial alif in U+FDF2
+;; The BAR is used in the DMG transliteration to suppress the initial A
+(a|A) BAR? l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah'
+LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h'
+;; UPPERCASE mnemonics for various ligatures or special glyphs
+;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode
+U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h'
+U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic
+;; 2b. Ligatures and glyphs defined in Unicode:
+U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH'
+U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH'
+
+U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam
+U+0028 U+0028 > U+FD3F ;; '((' : ornate right par
+U+0029 U+0029 > U+FD3E ;; '))' : ornate left par
+U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign
+;; most fonts won't have the following ones:
+U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign)
+U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign
+U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR'
+U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD'
+U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM'
+U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL')
+U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE')
+U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM'
+U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA'
+U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu"
+U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik
+
+U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY
+U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY
+U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM-
+U+005E U+004C U+0041 > U+06D9 ;; ^LA
+U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM
+U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS
+U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN
+U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB
+U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO
+U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO
+U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM
+U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM
+U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN
+U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA
+U+0057 U+0041 U+0057 > U+06E5 ;; WAW
+U+0059 U+0045 U+0048 > U+06E6 ;; YEH
+U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH
+U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN
+U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA
+U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP
+U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP
+U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP
+U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM
+
+U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::")
+
+;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts
+U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]]
+
+
+; vowels
+u u > U
+i i > I
+a a > A
+[AVWL] > ; strip off vowels when writing UTF-8 Arabic with novoc mode
+CO O > U+06FC ;
+a e > a y
+a o > a w
+(o|u)? O / # _ > U+0627 w
+(o|u)? O > w
+CO U > U+06C7 ;
+e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish)
+o > u
+
+
+;; Persian ezafe (ALL BUT ARABIC AND UIGHUR)
+U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<<
+U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I
+Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e
+Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I
+Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i
+Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i
+Z / U+0048 _ > U+0020 ;
+b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen
+
+;; initial characters ...
+a l Z / BEG _ > U+0627 l Z
+;; wasla on initial alif : NEW! NOT TESTED!
+H / BEG _ l l > U+0627 ;
+[VWL]=v1 / BEG _ > A @v1
+Q?=q1 U / BEG _ > A @q1 u w ; -U
+; Q?=q1 I / BEG _ > A @q1 i y ; -I ; but not when I is final FIXME!!!
+Q?=q1 I / BEG _ > A @q1 i y ; except for Persian, coz of ezafe rules
+
+
+;; Words with anomalous orthography:
+
+; mi'aT -> ماية
+;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy
+m Q i H Q a / _ (T|t) > m Q i A Hy Q a
+m Q i H a / _ (T|t) > m Q i A Hy
+m i H Q a / _ (T|t) > m A Hy Q a
+m i H a / _ (T|t) > m A Hy
+
+
+
+pass(Unicode)
+
+Class [Digits] = (U+0030..U+0039)
+Class [ArDigits] = (U+0660..U+0669)
+Class [ArEasternDigits] = (U+06F0..U+06F9)
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+
+
+
+
+;normal code
+
+;; special code for sindhi
+;; U+004D U+0049 U+004E > U+06FE ; define macro \MIN in sindhi env
+P m I N > U+06FE ; .mIN
+;; U+0049 U+004E > U+06FD ; IN define macro \IN in sindhi env
+H BAR I N > U+06FD ; '|IN
+
+(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA
+(P z|U+1E93) > U+0638
+C z C z > U+0698 U+0651 ;;SHADDA
+C z > U+0698
+V z V z > U+0696 U+0651 ;;SHADDA
+V z > U+0696 ;pashto
+z z > U+0632 U+0651 ;;SHADDA
+z > U+0632
+Y Y > U+0649 U+0651 ;;SHADDA
+Y > U+0649
+P I P I / _ # > U+06CC U+0651 ;; SHADDA
+P I / _ # > U+06CC ;; workaround to have ya without dots in Arabic
+y y > U+064A U+0651 ;;SHADDA
+y > U+064A
+v v > U+06A4 U+0651 ;;SHADDA
+v > U+06A4
+W > U+0648 U+0627 ; waw + alif
+C U > U+064F U+0648 U+0653; historical spelling : madda on waw
+Q U [Uw] > U+064F U+0648 U+0651 ;;SHADDA
+Q U > U+064F U+0648
+[Uw] [Uw] > U+0648 U+0651 ;;SHADDA
+[Uw] > U+0648
+C w C w > U+06C9 U+0651 ;;SHADDA
+C w > U+06C9
+CO w CO w > U+06CA U+0651 ;,SHADDA
+CO w > U+06CA
+Q u N > U+064C
+u N >
+Q u > U+064F
+V t h V t h > U+067A U+0651 ;;SHADDA
+V t h > U+067A
+t h t h > U+067F U+0651 ;;SHADDA
+t h > U+067F
+V t V t > U+067D U+0651 ;;SHADDA
+V t > U+067D
+UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA
+UL (t|s) > U+062B
+(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA
+(P t|U+1E6D) > U+0637
+t t > U+062A U+0651 ;;SHADDA
+t > U+062A
+T T Q AN > U+0629 U+0651 U+064B ;;SHADDA
+T Q AN > U+0629 U+064B
+T AN > U+0629
+T T > U+0629 U+0651 ;;SHADDA
+T > U+0629
+C s C s > U+0634 U+0651 ;;SHADDA
+C s > U+0634
+(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA
+(P s|U+1E63) > U+0635
+V s V s > U+069A U+0651 ;;SHADDA
+V s > U+069A ;Pashto
+CO s CO s > U+069B U+0651 ;;SHADDA
+CO s > U+069B ; sin with 3 dots below
+s s > U+0633 U+0651 ;;SHADDA
+s > U+0633
+C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<<
+C r > U+06EF
+CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<<
+CO r > U+0697 ; Dargwa language, Dagestan
+P r P r > U+0694 U+0651 ;;SHADDA
+P r > U+0694 ; r with dot below; in Kurdish .r -> 0694
+V r V r > U+0699 U+0651 ;;SHADDA
+V r > U+0699
+r r > U+0631 U+0651 ;;SHADDA
+r > U+0631
+P q P q > U+066F U+0651 ;;SHADDA
+P q > U+066F
+q q > U+0642 U+0651 ;;SHADDA
+q > U+0642
+p h p h > U+06A6 U+0651 ;;SHADDA
+p h > U+06A6
+p p > U+067E U+0651 ;;SHADDA
+p > U+067E
+CO n CO n > U+06B1 U+0651 ;;SHADDA
+CO n > U+06B1
+C n C n > U+0683 U+0651 ;;SHADDA
+C n > U+0683
+P P n P P n > U+06B2 U+0651 ;;SHADDA
+P P n > U+06B2 ;; old sindhi? (not in ArabTeX) <<<
+P n P n > U+06BA U+0651 ;;SHADDA
+P n > U+06BA ; urdu
+V n V n > U+06BB U+0651 ;;SHADDA
+V n > U+06BB
+n n > U+0646 U+0651 ;;SHADDA
+n > U+0646
+m m > U+0645 U+0651 ;;SHADDA
+m > U+0645
+P l P l > U+06B6 U+0651 ;
+P l > U+06B6 ; ADDED <<<
+C l C l > U+06B5 U+0651 ;;SHADDA
+C l > U+06B5 ;kurdish
+l l > U+0644 U+0651 ;;SHADDA
+l > U+0644
+k h k h > U+06A9 U+0651 ;;SHADDA
+k h > U+06A9
+P k P k > U+06A9 U+0651 ;;SHADDA
+P k > U+06A9 ; pashto urdu
+UL k UL k > U+063A U+0651 ;;SHADDA
+UL k > U+063A
+k k > U+06AA U+0651 ;;SHADDA
+k > U+06AA ; kaf swash
+C g C g > U+062C U+0651 ;;SHADDA
+C g > U+062C
+CO j CO j > U+0684 U+0651 ;;SHADDA
+CO j > U+0684
+j j > U+062C U+0651 ;;SHADDA
+j > U+062C
+Q I > U+0650 U+064A
+C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya
+UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ###
+I > U+064A
+Q i N > U+064D
+i N > ;
+Q i > U+0650
+x x > U+062E U+0651 ;;SHADDA
+x > U+062E
+UL h UL h > U+062E U+0651 ;;SHADDA
+UL h > U+062E
+(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA
+(P h|U+1E25) > U+062D
+V h V h > U+06C1 U+0651 ;;SHADDA
+V h > U+06C1
+h h > U+06BE U+0651 ;;SHADDA
+h > U+06BE
+P CO g P CO g > U+06B4 U+0651 ;;SHADDA
+P CO g > U+06B4 ;; old sindhi? (not in ArabTeX) <<<
+CO g CO g > U+06B3 U+0651 ;;SHADDA
+CO g > U+06B3
+V g V g > U+06AC U+0651 ;;SHADDA
+V g > U+06AC ; kaf with dot above
+P g P g > U+063A U+0651 ;;SHADDA
+P g > U+063A
+g g > U+06AF U+0651 ;;SHADDA
+g > U+06AF
+G G > U+06AB U+0651 ;;SHADDA
+G > U+06AB ;pashto
+P f P f > U+06A1 U+0651 ;;SHADDA
+P f > U+06A1
+f f > U+0641 U+0651 ;;SHADDA
+f > U+0641
+V d h V d h > U+068D U+0651 ;;SHADDA
+V d h > U+068D
+V d V d > U+068A U+0651 ;;SHADDA
+V d > U+068A
+P V d P V d > U+068B U+0651 ;;SHADDA
+P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi)
+d h d h > U+068C U+0651 ;;SHADDA
+d h > U+068C
+C d C d > U+068E ;;SHADDA
+C d > U+068E ; old sindhi: not in ArabTeX
+CO d CO d > U+068F U+0651 ;;SHADDA
+CO d > U+068F
+UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA
+UL (d|z) > U+0630
+(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA
+(P d|U+1E0D) > U+0636
+d d > U+062F U+0651 ;;SHADDA
+d > U+062F
+C c h C c h > U+0687 U+0651 ;;SHADDA
+C c h > U+0687
+V c V c > U+0685 U+0651 ;;SHADDA
+V c > U+0685 ;pashto
+C c C c > U+0686 U+0651 ;;SHADDA
+C c > U+0686
+P C c P C c > U+06BF U+0651 ;;SHADDA
+P C c > U+06BF ;; cheh with dot above <<<
+c c > U+0681 U+0651 ;;SHADDA
+c > U+0681 ; ح with hamza above
+CO c CO c > U+0682 U+0651 ;;SHADDA
+CO c > U+0682 ; old pashto
+b h b h > U+0680 U+0651 ;;SHADDA
+b h > U+0680
+CO b CO b > U+067B U+0651 ;;SHADDA
+CO b > U+067B
+P b P b > U+066E U+0651 ;;SHADDA
+P b > U+066E
+b b > U+0628 U+0651 ;;SHADDA
+b > U+0628
+H A > U+0622
+C A > U+064E U+0622 ; historical spelling
+UL A > U+0649
+UL a > U+0670
+UL u > ;
+UL i > ;
+Q AN / (A H|Ha) _ > U+064B
+AN / (A H|Ha) _ > ;
+Q AN > U+0627 U+064B
+AN > U+0627
+Q a > U+064E
+Q A > U+064E U+0627
+A > U+0627
+Ain Ain > U+0639 U+0651 ;;SHADDA
+Ain > U+0639
+H H > U+0621 U+0651 ;;SHADDA
+H > U+0621
+U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma
+Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash
+(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks
+[Digits] > [ArEasternDigits]
+Z Z Z / # _ # > U+2014
+Z Z / # _ # > U+2013
+Z Z > U+0640
+B > U+0640
+Z / # _ > U+200D ; -x > force initial form with "zero-width joiner"
+Z / _ # > U+200D ; x- > force final form
+U+003C U+003C > U+00BB ;<<
+U+003E U+003E > U+00AB ;>>
+U+00AB > U+00BB
+U+00BB > U+00AB
+UL > U+0640 ;_
+U+003F > U+061F ;?
+U+003B > U+061B ;;
+U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above...
+U+002C > U+060C ;,
+U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ...
+U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual
+ ; analysis, so quoting of hamzas etc may be necessary
+;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules
+;U+005B > U+005D ;[
+[VWL] > ;stripoff vowels
+Q > U+0652
+U+00B0 > U+0652 ; °
+N > ;
+C > ;^
+Z > ;-
+BAR > ;|
+
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-sindhi-novoc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-sindhi-novoc.tec
index e3decd95941..70837ac2edf 100644
--- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-sindhi-novoc.tec
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-sindhi-novoc.tec
Binary files differ
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-sindhi-voc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-sindhi-voc.map
new file mode 100644
index 00000000000..8d8c99e055e
--- /dev/null
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-sindhi-voc.map
@@ -0,0 +1,456 @@
+LHSName "ArabTeX-sindhi-vocalized"
+RHSName "UNICODE"
+
+Define a U+0061 ;a
+Define b U+0062 ;b
+Define c U+0063 ;c
+Define d U+0064 ;d
+Define e U+0065 ;e
+Define f U+0066 ;f
+Define g U+0067 ;g
+Define h U+0068 ;h
+Define i U+0069 ;i
+Define j U+006A ;j
+Define k U+006B ;k
+Define l U+006C ;l
+Define m U+006D ;m
+Define n U+006E ;n
+Define o U+006F ;o
+Define p U+0070 ;p
+Define q U+0071 ;q
+Define r U+0072 ;r
+Define s U+0073 ;s
+Define t U+0074 ;t
+Define u U+0075 ;u
+Define v U+0076 ;v
+Define w U+0077 ;w
+Define x U+0078 ;x
+Define y U+0079 ;y
+Define z U+007A ;z
+Define A U+0041 ;A
+Define B U+0042 ;B
+Define E U+0045 ;E
+Define G U+0047 ;G
+Define I U+0049 ;I
+Define N U+004E ;N
+Define O U+004F ;O
+Define T U+0054 ;T
+Define U U+0055 ;U
+Define W U+0057 ;W
+Define Y U+0059 ;Y
+Define C U+005E ;^ << CARET
+Define UL U+005F ;_ << UNDERLINE
+Define P U+002E ;. << DOT
+Define V U+002C ;, << COMMA (_V_irgule)
+Define CO U+003A ;: << COLON
+Define SC U+003B ;; << SEMICOLON
+Define Ain U+0060 ;`
+Define H U+0027 ;' << HAMZA
+Define Q U+0022 ;" << QUOTE
+Define Z U+002D ;- << HYPHEN
+Define BAR U+007C ;|
+Define AN U+0061 U+004E ; aN
+Define LLAH U+006C U+006C U+005F U+0061 U+0068
+;Define NUL U+00A6;
+Define Ha U+0623
+Define Hi U+0625
+Define Hy U+0626
+Define Hw U+0624
+Define Hh U+06C0 ;; = U+0647 U+0654
+Define HA U+0622
+Define HB U+0640 U+0654
+Define HBAR U+0621 ; '|
+
+pass(Unicode)
+
+U+E000 > ; eliminate special code for capitalization in transliterations
+
+pass(Unicode)
+
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [AVWL] = (U+064B..U+0650);
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" `
+Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ”
+Class [PUNCT] = (V SC P CO)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u)
+;Class [ae] = (U+0061 U+0065) ;(a e)
+;Class [ou] = (U+0075 U+006F) ;(u o)
+Class [Iyi] = (U+0069 U+0079 U+0049)
+Class [UI] = (U+0049 U+0055) ; U I
+Class [Digits] = (U+0030..U+0039)
+
+Define BEG (#|Z|[BRACKETS])
+Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #)
+Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z)
+
+; special ligatures
+;; 1. Standard ArabTeX input
+;; WARNING! there are, alas, two classes of Arabic fonts:
+;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2
+;; For these the ligature llah can be accessed by the sequence lam-lam-ha
+;; b) Those that do not have the initial alif in U+FDF2
+;; The BAR is used in the DMG transliteration to suppress the initial A
+(a|A) BAR? l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah'
+LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h'
+;; UPPERCASE mnemonics for various ligatures or special glyphs
+;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode
+U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h'
+U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic
+;; 2b. Ligatures and glyphs defined in Unicode:
+U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH'
+U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH'
+
+U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam
+U+0028 U+0028 > U+FD3F ;; '((' : ornate right par
+U+0029 U+0029 > U+FD3E ;; '))' : ornate left par
+U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign
+;; most fonts won't have the following ones:
+U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign)
+U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign
+U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR'
+U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD'
+U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM'
+U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL')
+U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE')
+U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM'
+U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA'
+U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu"
+U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik
+
+U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY
+U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY
+U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM-
+U+005E U+004C U+0041 > U+06D9 ;; ^LA
+U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM
+U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS
+U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN
+U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB
+U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO
+U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO
+U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM
+U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM
+U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN
+U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA
+U+0057 U+0041 U+0057 > U+06E5 ;; WAW
+U+0059 U+0045 U+0048 > U+06E6 ;; YEH
+U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH
+U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN
+U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA
+U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP
+U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP
+U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP
+U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM
+
+U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::")
+
+;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts
+U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]]
+
+
+; vowels
+u u > U
+i i > I
+a a > A
+CO O > U+06FC ;
+a e > a y
+a o > a w
+(o|u)? O / # _ > U+0627 w
+(o|u)? O > w
+CO U > U+06C7 ;
+e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish)
+o > u
+
+
+;; Persian ezafe (ALL BUT ARABIC AND UIGHUR)
+U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<<
+U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I
+Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e
+Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I
+Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i
+Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i
+Z / U+0048 _ > U+0020 ;
+b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen
+
+;; initial characters ...
+a l Z / BEG _ > U+0627 l Z
+;; wasla on initial alif : NEW! NOT TESTED!
+H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI
+[VWL]=v1 / BEG _ > U+0627 @v1
+Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U
+; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I
+Q?=q1 I / BEG _ > U+0627 @q1 i y
+
+
+;; Words with anomalous orthography:
+
+; mi'aT -> ماية
+;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy
+m Q i H Q a / _ (T|t) > m U+0627 Hy
+m Q i H a / _ (T|t) > m U+0627 Hy a
+m i H Q a / _ (T|t) > m i U+0627 Hy
+m i H a / _ (T|t) > m i U+0627 Hy a
+
+
+
+pass(Unicode)
+
+Class [Digits] = (U+0030..U+0039)
+Class [ArDigits] = (U+0660..U+0669)
+Class [ArEasternDigits] = (U+06F0..U+06F9)
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+
+
+
+
+;normal code
+
+;; special code for sindhi
+;; U+004D U+0049 U+004E > U+06FE ; define macro \MIN in sindhi env
+P m I N > U+06FE ; .mIN
+;; U+0049 U+004E > U+06FD ; IN define macro \IN in sindhi env
+H BAR I N > U+06FD ; '|IN
+
+(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA
+(P z|U+1E93) > U+0638
+C z C z > U+0698 U+0651 ;;SHADDA
+C z > U+0698
+V z V z > U+0696 U+0651 ;;SHADDA
+V z > U+0696 ;pashto
+z z > U+0632 U+0651 ;;SHADDA
+z > U+0632
+Q Y Y > U+0649 U+0651 ;;SHADDA
+Q Y > U+0649
+Y Y > U+064E U+0649 U+0651 ;;SHADDA
+Y > U+064E U+0649
+P I P I / _ # > U+0650 U+06CC U+0651 ;; SHADDA
+P I / _ # > U+0650 U+06CC ;; workaround to have ya without dots in Arabic
+y y > U+064A U+0651 ;;SHADDA
+y > U+064A
+v v > U+06A4 U+0651 ;;SHADDA
+v > U+06A4
+W > U+0648 U+0627 ; waw + alif
+C U > U+064F U+0648 U+0653; historical spelling : madda on waw
+C w C w > U+06C9 U+0651 ;;SHADDA
+C w > U+06C9
+CO w CO w > U+06CA U+0651 ;,SHADDA
+CO w > U+06CA
+U A / _ # > U+064F U+0648 U+0627
+Q U [Uw] > U+0648 U+0651 ;;SHADDA
+Q U > U+0648
+U [Uw] > U+064F U+0648 U+0651 ;;SHADDA
+U > U+064F U+0648
+w w > U+0648 U+0651 ;;SHADDA
+w > U+0648
+Q u N? >
+u N > U+064C
+u > U+064F
+V t h V t h > U+067A U+0651 ;;SHADDA
+V t h > U+067A
+t h t h > U+067F U+0651 ;;SHADDA
+t h > U+067F
+V t V t > U+067D U+0651 ;;SHADDA
+V t > U+067D
+UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA
+UL (t|s) > U+062B
+(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA
+(P t|U+1E6D) > U+0637
+t t > U+062A U+0651 ;;SHADDA
+t > U+062A
+T T Q AN > U+0629 U+0651 ;;SHADDA
+T Q AN > U+0629
+T AN > U+0629 U+064B
+T T > U+0629 U+0651 ;;SHADDA
+T > U+0629
+C s C s > U+0634 U+0651 ;;SHADDA
+C s > U+0634
+(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA
+(P s|U+1E63) > U+0635
+V s V s > U+069A U+0651 ;;SHADDA
+V s > U+069A ;Pashto
+CO s CO s > U+069B U+0651 ;;SHADDA
+CO s > U+069B ; sin with 3 dots below
+s s > U+0633 U+0651 ;;SHADDA
+s > U+0633
+C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<<
+C r > U+06EF
+CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<<
+CO r > U+0697 ; Dargwa language, Dagestan
+P r P r > U+0694 U+0651 ;;SHADDA
+P r > U+0694 ; r with dot below; in Kurdish .r -> 0694
+V r V r > U+0699 U+0651 ;;SHADDA
+V r > U+0699
+r r > U+0631 U+0651 ;;SHADDA
+r > U+0631
+P q P q > U+066F U+0651 ;;SHADDA
+P q > U+066F
+q q > U+0642 U+0651 ;;SHADDA
+q > U+0642
+p h p h > U+06A6 U+0651 ;;SHADDA
+p h > U+06A6
+p p > U+067E U+0651 ;;SHADDA
+p > U+067E
+CO n CO n > U+06B1 U+0651 ;;SHADDA
+CO n > U+06B1
+C n C n > U+0683 U+0651 ;;SHADDA
+C n > U+0683
+P P n P P n > U+06B2 U+0651 ;;SHADDA
+P P n > U+06B2 ;; old sindhi? (not in ArabTeX) <<<
+P n P n > U+06BA U+0651 ;;SHADDA
+P n > U+06BA ; urdu
+V n V n > U+06BB U+0651 ;;SHADDA
+V n > U+06BB
+n n > U+0646 U+0651 ;;SHADDA
+n > U+0646
+m m > U+0645 U+0651 ;;SHADDA
+m > U+0645
+P l P l > U+06B6 U+0651 ;
+P l > U+06B6 ; ADDED <<<
+C l C l > U+06B5 U+0651 ;;SHADDA
+C l > U+06B5 ;kurdish
+l l > U+0644 U+0651 ;;SHADDA
+l > U+0644
+k h k h > U+06A9 U+0651 ;;SHADDA
+k h > U+06A9
+P k P k > U+06A9 U+0651 ;;SHADDA
+P k > U+06A9 ; pashto urdu
+UL k UL k > U+063A U+0651 ;;SHADDA
+UL k > U+063A
+k k > U+06AA U+0651 ;;SHADDA
+k > U+06AA ; kaf swash
+C g C g > U+062C U+0651 ;;SHADDA
+C g > U+062C
+CO j CO j > U+0684 U+0651 ;;SHADDA
+CO j > U+0684
+j j > U+062C U+0651 ;;SHADDA
+j > U+062C
+Q I > U+064A
+I > U+0650 U+064A
+C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya
+UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ###
+Q i N? > ;
+i N > U+064D
+i > U+0650
+x x > U+062E U+0651 ;;SHADDA
+x > U+062E
+UL h UL h > U+062E U+0651 ;;SHADDA
+UL h > U+062E
+(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA
+(P h|U+1E25) > U+062D
+V h V h > U+06C1 U+0651 ;;SHADDA
+V h > U+06C1
+h h > U+06BE U+0651 ;;SHADDA
+h > U+06BE
+P CO g P CO g > U+06B4 U+0651 ;;SHADDA
+P CO g > U+06B4 ;; old sindhi? (not in ArabTeX) <<<
+CO g CO g > U+06B3 U+0651 ;;SHADDA
+CO g > U+06B3
+V g V g > U+06AC U+0651 ;;SHADDA
+V g > U+06AC ; kaf with dot above
+P g P g > U+063A U+0651 ;;SHADDA
+P g > U+063A
+g g > U+06AF U+0651 ;;SHADDA
+g > U+06AF
+G G > U+06AB U+0651 ;;SHADDA
+G > U+06AB ;pashto
+P f P f > U+06A1 U+0651 ;;SHADDA
+P f > U+06A1
+f f > U+0641 U+0651 ;;SHADDA
+f > U+0641
+V d h V d h > U+068D U+0651 ;;SHADDA
+V d h > U+068D
+V d V d > U+068A U+0651 ;;SHADDA
+V d > U+068A
+P V d P V d > U+068B U+0651 ;;SHADDA
+P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi)
+d h d h > U+068C U+0651 ;;SHADDA
+d h > U+068C
+C d C d > U+068E ;;SHADDA
+C d > U+068E ; old sindhi: not in ArabTeX
+CO d CO d > U+068F U+0651 ;;SHADDA
+CO d > U+068F
+UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA
+UL (d|z) > U+0630
+(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA
+(P d|U+1E0D) > U+0636
+d d > U+062F U+0651 ;;SHADDA
+d > U+062F
+C c h C c h > U+0687 U+0651 ;;SHADDA
+C c h > U+0687
+V c V c > U+0685 U+0651 ;;SHADDA
+V c > U+0685 ;pashto
+C c C c > U+0686 U+0651 ;;SHADDA
+C c > U+0686
+P C c P C c > U+06BF U+0651 ;;SHADDA
+P C c > U+06BF ;; cheh with dot above <<<
+c c > U+0681 U+0651 ;;SHADDA
+c > U+0681 ; ح with hamza above
+CO c CO c > U+0682 U+0651 ;;SHADDA
+CO c > U+0682 ; old pashto
+b h b h > U+0680 U+0651 ;;SHADDA
+b h > U+0680
+CO b CO b > U+067B U+0651 ;;SHADDA
+CO b > U+067B
+P b P b > U+066E U+0651 ;;SHADDA
+P b > U+066E
+b b > U+0628 U+0651 ;;SHADDA
+b > U+0628
+H A > U+0622
+C A > U+064E U+0622 ; historical spelling
+UL A > U+064E U+0649
+UL a > U+0670
+UL u > U+064F;
+UL i > U+0650;
+Q AN / (A H|Ha) _ > ;
+AN / (A H|Ha) _ > U+064B
+Q AN > U+0627
+AN > U+0627 U+064B
+Q a >
+a > U+064E
+Q A > U+0627
+A > U+064E U+0627
+Ain Ain > U+0639 U+0651 ;;SHADDA
+Ain > U+0639
+H H > U+0621 U+0651 ;;SHADDA
+H > U+0621
+U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma
+Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash
+(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks
+[Digits] > [ArEasternDigits]
+Z Z Z / # _ # > U+2014
+Z Z / # _ # > U+2013
+Z Z > U+0640
+B > U+0640
+Z / # _ > U+200D ; -x > force initial form with "zero-width joiner"
+Z / _ # > U+200D ; x- > force final form
+U+003C U+003C > U+00BB ;<<
+U+003E U+003E > U+00AB ;>>
+U+00AB > U+00BB
+U+00BB > U+00AB
+UL > U+0640 ;_
+U+003F > U+061F ;?
+U+003B > U+061B ;;
+U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above...
+U+002C > U+060C ;,
+U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ...
+U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual
+ ; analysis, so quoting of hamzas etc may be necessary
+;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules
+;U+005B > U+005D ;[
+Q [VWL] > ;stripoff quoted vowels
+Q > U+0652
+U+00B0 > U+0652 ; °
+N > ;
+C > ;^
+BAR > ;|
+
+pass(Unicode)
+
+Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-)
+Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc.
+Class [VWL] = (U+0627 U+0648..U+0650 U+0670);
+Z > ;
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-sindhi-voc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-sindhi-voc.tec
index ad8f5ab63e3..eb595c097ff 100644
--- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-sindhi-voc.tec
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-sindhi-voc.tec
Binary files differ
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-turk-fullvoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-turk-fullvoc.map
new file mode 100644
index 00000000000..06507da1eec
--- /dev/null
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-turk-fullvoc.map
@@ -0,0 +1,485 @@
+LHSName "ArabTeX-turk-fullvocalized"
+RHSName "UNICODE"
+
+Define a U+0061 ;a
+Define b U+0062 ;b
+Define c U+0063 ;c
+Define d U+0064 ;d
+Define e U+0065 ;e
+Define f U+0066 ;f
+Define g U+0067 ;g
+Define h U+0068 ;h
+Define i U+0069 ;i
+Define j U+006A ;j
+Define k U+006B ;k
+Define l U+006C ;l
+Define m U+006D ;m
+Define n U+006E ;n
+Define o U+006F ;o
+Define p U+0070 ;p
+Define q U+0071 ;q
+Define r U+0072 ;r
+Define s U+0073 ;s
+Define t U+0074 ;t
+Define u U+0075 ;u
+Define v U+0076 ;v
+Define w U+0077 ;w
+Define x U+0078 ;x
+Define y U+0079 ;y
+Define z U+007A ;z
+Define A U+0041 ;A
+Define B U+0042 ;B
+Define E U+0045 ;E
+Define G U+0047 ;G
+Define I U+0049 ;I
+Define N U+004E ;N
+Define O U+004F ;O
+Define T U+0054 ;T
+Define U U+0055 ;U
+Define W U+0057 ;W
+Define Y U+0059 ;Y
+Define C U+005E ;^ << CARET
+Define UL U+005F ;_ << UNDERLINE
+Define P U+002E ;. << DOT
+Define V U+002C ;, << COMMA (_V_irgule)
+Define CO U+003A ;: << COLON
+Define SC U+003B ;; << SEMICOLON
+Define Ain U+0060 ;`
+Define H U+0027 ;' << HAMZA
+Define Q U+0022 ;" << QUOTE
+Define Z U+002D ;- << HYPHEN
+Define BAR U+007C ;|
+Define AN U+0061 U+004E ; aN
+Define LLAH U+006C U+006C U+005F U+0061 U+0068
+;Define NUL U+00A6;
+Define Ha U+0623
+Define Hi U+0625
+Define Hy U+0626
+Define Hw U+0624
+Define Hh U+06C0 ;; = U+0647 U+0654
+Define HA U+0622
+Define HB U+0640 U+0654
+Define HBAR U+0621 ; '|
+
+pass(Unicode)
+
+U+E000 > ; eliminate special code for capitalization in transliterations
+
+pass(Unicode)
+
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [AVWL] = (U+064B..U+0650);
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" `
+Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ”
+Class [PUNCT] = (V SC P CO)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u)
+;Class [ae] = (U+0061 U+0065) ;(a e)
+;Class [ou] = (U+0075 U+006F) ;(u o)
+Class [Iyi] = (U+0069 U+0079 U+0049)
+Class [UI] = (U+0049 U+0055) ; U I
+Class [Digits] = (U+0030..U+0039)
+
+Define BEG (#|Z|[BRACKETS])
+Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #)
+Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z)
+
+; special ligatures
+;; 1. Standard ArabTeX input
+;; WARNING! there are, alas, two classes of Arabic fonts:
+;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2
+;; For these the ligature llah can be accessed by the sequence lam-lam-ha
+;; b) Those that do not have the initial alif in U+FDF2
+;; The BAR is used in the DMG transliteration to suppress the initial A
+(a|A) BAR? l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah'
+LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h'
+;; UPPERCASE mnemonics for various ligatures or special glyphs
+;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode
+U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h'
+U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic
+;; 2b. Ligatures and glyphs defined in Unicode:
+U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH'
+U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH'
+
+U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam
+U+0028 U+0028 > U+FD3F ;; '((' : ornate right par
+U+0029 U+0029 > U+FD3E ;; '))' : ornate left par
+U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign
+;; most fonts won't have the following ones:
+U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign)
+U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign
+U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR'
+U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD'
+U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM'
+U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL')
+U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE')
+U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM'
+U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA'
+U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu"
+U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik
+
+U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY
+U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY
+U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM-
+U+005E U+004C U+0041 > U+06D9 ;; ^LA
+U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM
+U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS
+U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN
+U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB
+U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO
+U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO
+U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM
+U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM
+U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN
+U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA
+U+0057 U+0041 U+0057 > U+06E5 ;; WAW
+U+0059 U+0045 U+0048 > U+06E6 ;; YEH
+U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH
+U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN
+U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA
+U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP
+U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP
+U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP
+U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM
+
+U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::")
+
+;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts
+U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]]
+
+
+; vowels
+u u > U
+i i > I
+a a > A
+CO O > U+06FC ;
+a e > a y
+a o > a w
+CO U > U+06C7 ;
+e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish)
+o > u
+I / _ # > i y
+
+
+;; Persian ezafe (ALL BUT ARABIC AND UIGHUR)
+U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<<
+U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I
+Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e
+Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I
+Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i
+Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i
+Z / U+0048 _ > U+0020 ;
+b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen
+
+;; initial characters ...
+a l Z / BEG _ > U+0627 l Z
+;; wasla on initial alif : NEW! NOT TESTED!
+H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI
+[VWL]=v1 / BEG _ > U+0627 @v1
+Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U
+; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I
+Q?=q1 I / BEG _ > U+0627 @q1 i y
+
+
+;; Words with anomalous orthography:
+
+; mi'aT -> ماية
+;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy
+m Q i H Q a / _ (T|t) > m U+0627 Hy
+m Q i H a / _ (T|t) > m U+0627 Hy a
+m i H Q a / _ (T|t) > m i U+0627 Hy
+m i H a / _ (T|t) > m i U+0627 Hy a
+
+
+;; contextual analysis of hamzas
+;; THESE DO NOT APPLY FOR SINDHI
+
+; initial hamzas
+H / (#|^[LTR]) _ Q? [Iyi] > Hi
+H Q A / (#|^[LTR]) _ > HA ; alif madda
+H / (#|^[LTR]) _ Q? [Uwu] > Ha
+H / (#|^[LTR]) _ Q? a > Ha
+Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word
+
+; quoted hamzas in contextual mode, equivalent to verbatim mode
+a Q H > Ha
+i Q H > Hi
+y Q H > Hy
+w Q H > Hw
+h Q H > Hh
+A Q H > HA
+B Q H > HB
+BAR Q H > HBAR
+
+; hamza + fathatan
+H / a _ Q? AN > Ha
+;;H / [Iyi] _ Q? AN > Hy
+H / _ Q? AN > Hy
+
+;final hamzas
+H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ...
+H / a _ Q? (#|^[LTR]) > Ha ; not AN...
+H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN...
+H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy
+H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw
+
+;;and more hamzas ...
+
+; n°1: kasra/ya
+H / [LTR] _ Q? [Iyi] ^N > Hy
+H / [Iyi] _ > Hy
+
+; n°2: damma/waw
+H / [LTR] _ Q? (U|u) ^N > Hw
+H / (U|u) _ Q? ^[Iyi] > Hw
+H / U _ > HBAR
+
+; n°3: fatha/alif
+H Q? A > HA
+H / A _ Q? a > HBAR
+H / ^[UI] _ Q? a > Ha
+H / a _ Q? ^[UI] > Ha
+
+
+pass(Unicode)
+
+Class [Digits] = (U+0030..U+0039)
+Class [ArDigits] = (U+0660..U+0669)
+Class [ArEasternDigits] = (U+06F0..U+06F9)
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+
+
+
+
+;normal code
+
+
+(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA
+(P z|U+1E93) > U+0638
+C z C z > U+0698 U+0651 ;;SHADDA
+C z > U+0698
+V z V z > U+0636 U+0651 ;;SHADDA
+V z > U+0636
+z z > U+0632 U+0651 ;;SHADDA
+z > U+0632
+Q Y Y > U+0649 U+0651 ;;SHADDA
+Q Y > U+0649
+Y Y > U+064E U+0649 U+0651 ;;SHADDA
+Y > U+064E U+0649
+;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots
+y y > U+06CC U+0651 ;;SHADDA
+y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots
+v v > U+06A4 U+0651 ;;SHADDA
+v > U+06A4
+W > U+0648 U+0627 ; waw + alif
+C U > U+064F U+0648 U+0653; historical spelling : madda on waw
+C w C w > U+06C9 U+0651 ;;SHADDA
+C w > U+06C9
+CO w CO w > U+06CA U+0651 ;,SHADDA
+CO w > U+06CA
+U A / _ # > U+064F U+0648 U+0627
+Q U [Uw] > U+0648 U+0651 ;;SHADDA
+Q U > U+0648
+U [Uw] > U+064F U+0648 U+0651 ;;SHADDA
+U > U+064F U+0648
+w w > U+0648 U+0651 ;;SHADDA
+w > U+0648
+Q u N? >
+u N > U+064C
+u > U+064F
+V t V t > U+0679 U+0651 ;;SHADDA
+V t > U+0679 ;urdu
+UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA
+UL (t|s) > U+062B
+(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA
+(P t|U+1E6D) > U+0637
+t t > U+062A U+0651 ;;SHADDA
+t > U+062A
+T T Q AN > U+0629 U+0651 ;;SHADDA
+T Q AN > U+0629
+T AN > U+0629 U+064B
+T T > U+0629 U+0651 ;;SHADDA
+T > U+0629
+C s C s > U+0634 U+0651 ;;SHADDA
+C s > U+0634
+(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA
+(P s|U+1E63) > U+0635
+V s V s > U+0634 U+0651 ;;SHADDA
+V s > U+0634
+CO s CO s > U+069B U+0651 ;;SHADDA
+CO s > U+069B ; sin with 3 dots below
+s s > U+0633 U+0651 ;;SHADDA
+s > U+0633
+C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<<
+C r > U+06EF
+CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<<
+CO r > U+0697 ; Dargwa language, Dagestan
+P r P r > U+0694 U+0651 ;;SHADDA
+P r > U+0694 ; r with dot below; in Kurdish .r -> 0694
+V r V r > U+0691 U+0651 ;;SHADDA
+V r > U+0691 ;Urdu
+r r > U+0631 U+0651 ;;SHADDA
+r > U+0631
+P q P q > U+066F U+0651 ;;SHADDA
+P q > U+066F
+q q > U+0642 U+0651 ;;SHADDA
+q > U+0642
+p p > U+067E U+0651 ;;SHADDA
+p > U+067E
+CO n CO n > U+06B1 U+0651 ;;SHADDA
+CO n > U+06B1
+C n C n > U+06AD U+0651 ;;SHADDA
+C n > U+06AD
+P n P n > U+06BA U+0651 ;;SHADDA
+P n > U+06BA ; urdu
+V n V n > U+06BC U+0651 ;;SHADDA
+V n > U+06BC ; Pashto
+n n > U+0646 U+0651 ;;SHADDA
+n > U+0646
+m m > U+0645 U+0651 ;;SHADDA
+m > U+0645
+P l P l > U+06B6 U+0651 ;
+P l > U+06B6 ; ADDED <<<
+C l C l > U+06B5 U+0651 ;;SHADDA
+C l > U+06B5 ;kurdish
+l l > U+0644 U+0651 ;;SHADDA
+l > U+0644
+P k P k > U+0642 U+0651 ;;SHADDA
+P k > U+0642 ; Ottoman qaf
+UL k UL k > U+063A U+0651 ;;SHADDA
+UL k > U+063A
+k k > U+0643 U+0651 ;;SHADDA
+k > U+0643
+C g C g > U+06A0 U+0651 ;;SHADDA
+C g > U+06A0
+CO j CO j > U+0684 U+0651 ;;SHADDA
+CO j > U+0684
+j j > U+0698 U+0651 ;;SHADDA
+j > U+0698
+Q I > U+064A
+I > U+0650 U+064A
+C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya
+UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ###
+Q i N? > ;
+i N > U+064D
+i > U+0650
+x x > U+062E U+0651 ;;SHADDA
+x > U+062E
+UL h UL h > U+062E U+0651 ;;SHADDA
+UL h > U+062E
+(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA
+(P h|U+1E25) > U+062D
+V h V h > U+06C1 U+0651 ;;SHADDA
+V h > U+06C1
+h h > U+0647 U+0651 ;;SHADDA
+h > U+0647
+CO g CO g > U+06B3 U+0651 ;;SHADDA
+CO g > U+06B3
+V g V g > U+06AC U+0651 ;;SHADDA
+V g > U+06AC ; kaf with dot above
+P g P g > U+063A U+0651 ;;SHADDA
+P g > U+063A
+g g > U+06AF U+0651 ;;SHADDA
+g > U+06AF
+G G > U+06AB U+0651 ;;SHADDA
+G > U+06AB ;pashto
+P f P f > U+06A1 U+0651 ;;SHADDA
+P f > U+06A1
+f f > U+0641 U+0651 ;;SHADDA
+f > U+0641
+V d V d > U+068A U+0651 ;;SHADDA
+V d > U+068A
+P V d P V d > U+068B U+0651 ;;SHADDA
+P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi)
+C d C d > U+06EE U+0651 ;;SHADDA
+C d > U+06EE ; not defined in ArabTeX
+CO d CO d > U+068F U+0651 ;;SHADDA
+CO d > U+068F
+UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA
+UL (d|z) > U+0630
+(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA
+(P d|U+1E0D) > U+0636
+d d > U+062F U+0651 ;;SHADDA
+d > U+062F
+V c V c > U+0686 U+0651 ;;SHADDA
+V c > U+0686 ; Ottoman ç
+C c C c > U+0686 U+0651 ;;SHADDA
+C c > U+0686
+P C c P C c > U+06BF U+0651 ;;SHADDA
+P C c > U+06BF ;; cheh with dot above <<<
+c c > U+062C U+0651 ;;SHADDA
+c > U+062C
+CO c CO c > U+0682 U+0651 ;;SHADDA
+CO c > U+0682 ; old pashto
+CO b CO b > U+067B U+0651 ;;SHADDA
+CO b > U+067B
+P b P b > U+066E U+0651 ;;SHADDA
+P b > U+066E
+b b > U+0628 U+0651 ;;SHADDA
+b > U+0628
+H A > U+0622
+C A > U+064E U+0622 ; historical spelling
+UL A > U+064E U+0649
+UL a > U+0670
+UL u > U+064F;
+UL i > U+0650;
+Q AN / (A H|Ha) _ > ;
+AN / (A H|Ha) _ > U+064B
+Q AN > U+0627
+AN > U+0627 U+064B
+Q a >
+a > U+064E
+Q A > U+0627
+A > U+064E U+0627
+Ain Ain > U+0639 U+0651 ;;SHADDA
+Ain > U+0639
+H H > U+0621 U+0651 ;;SHADDA
+H > U+0621
+U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma
+Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash
+(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks
+[Digits] > [ArDigits]
+Z Z Z / # _ # > U+2014
+Z Z / # _ # > U+2013
+Z Z > U+0640
+B > U+0640
+Z / # _ > U+200D ; -x > force initial form with "zero-width joiner"
+Z / _ # > U+200D ; x- > force final form
+U+003C U+003C > U+00BB ;<<
+U+003E U+003E > U+00AB ;>>
+U+00AB > U+00BB
+U+00BB > U+00AB
+UL > U+0640 ;_
+U+003F > U+061F ;?
+U+003B > U+061B ;;
+U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above...
+U+002C > U+060C ;,
+U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ...
+U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual
+ ; analysis, so quoting of hamzas etc may be necessary
+;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules
+;U+005B > U+005D ;[
+Q [VWL] > ;stripoff quoted vowels
+U+00B0 > U+0652 ; °
+N > ;
+C > ;^
+BAR > ;|
+
+pass(Unicode)
+
+Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-)
+Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc.
+Class [VWL] = (U+0627 U+0648..U+0650 U+0670);
+[CONS]=k1 / _ Z? [CONS] ^U+0651 > @k1 U+0652 ; hack: 2nd consonant has no shadda
+U+064E (U+064A|U+0648)=hc / _ (^[VWLX]|#) > U+064E @hc U+0652 ; ay and aw diphtongs
+U+0627 / # _ U+0644 > U+0627 U+064E ; otherwise initial alif takes fatha
+[CONS]=k1 / _ ([CONS]|#) > @k1 U+0652 ; consonant + (consonant or final)
+;; [CONS]=k1 / _ # > @k1 U+0652 ; final consonant
+Q > ;
+Z > ;
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-turk-novoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-turk-novoc.map
new file mode 100644
index 00000000000..65660b94daf
--- /dev/null
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-turk-novoc.map
@@ -0,0 +1,470 @@
+LHSName "ArabTeX-turk-novowels"
+RHSName "UNICODE"
+
+Define a U+0061 ;a
+Define b U+0062 ;b
+Define c U+0063 ;c
+Define d U+0064 ;d
+Define e U+0065 ;e
+Define f U+0066 ;f
+Define g U+0067 ;g
+Define h U+0068 ;h
+Define i U+0069 ;i
+Define j U+006A ;j
+Define k U+006B ;k
+Define l U+006C ;l
+Define m U+006D ;m
+Define n U+006E ;n
+Define o U+006F ;o
+Define p U+0070 ;p
+Define q U+0071 ;q
+Define r U+0072 ;r
+Define s U+0073 ;s
+Define t U+0074 ;t
+Define u U+0075 ;u
+Define v U+0076 ;v
+Define w U+0077 ;w
+Define x U+0078 ;x
+Define y U+0079 ;y
+Define z U+007A ;z
+Define A U+0041 ;A
+Define B U+0042 ;B
+Define E U+0045 ;E
+Define G U+0047 ;G
+Define I U+0049 ;I
+Define N U+004E ;N
+Define O U+004F ;O
+Define T U+0054 ;T
+Define U U+0055 ;U
+Define W U+0057 ;W
+Define Y U+0059 ;Y
+Define C U+005E ;^ << CARET
+Define UL U+005F ;_ << UNDERLINE
+Define P U+002E ;. << DOT
+Define V U+002C ;, << COMMA (_V_irgule)
+Define CO U+003A ;: << COLON
+Define SC U+003B ;; << SEMICOLON
+Define Ain U+0060 ;`
+Define H U+0027 ;' << HAMZA
+Define Q U+0022 ;" << QUOTE
+Define Z U+002D ;- << HYPHEN
+Define BAR U+007C ;|
+Define AN U+0061 U+004E ; aN
+Define LLAH U+006C U+006C U+005F U+0061 U+0068
+;Define NUL U+00A6;
+Define Ha U+0623
+Define Hi U+0625
+Define Hy U+0626
+Define Hw U+0624
+Define Hh U+06C0 ;; = U+0647 U+0654
+Define HA U+0622
+Define HB U+0640 U+0654
+Define HBAR U+0621 ; '|
+
+pass(Unicode)
+
+U+E000 > ; eliminate special code for capitalization in transliterations
+
+pass(Unicode)
+
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [AVWL] = (U+064B..U+0650);
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" `
+Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ”
+Class [PUNCT] = (V SC P CO)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u)
+;Class [ae] = (U+0061 U+0065) ;(a e)
+;Class [ou] = (U+0075 U+006F) ;(u o)
+Class [Iyi] = (U+0069 U+0079 U+0049)
+Class [UI] = (U+0049 U+0055) ; U I
+Class [Digits] = (U+0030..U+0039)
+
+Define BEG (#|Z|[BRACKETS])
+Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #)
+Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z)
+
+; special ligatures
+;; 1. Standard ArabTeX input
+;; WARNING! there are, alas, two classes of Arabic fonts:
+;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2
+;; For these the ligature llah can be accessed by the sequence lam-lam-ha
+;; b) Those that do not have the initial alif in U+FDF2
+;; The BAR is used in the DMG transliteration to suppress the initial A
+(a|A) BAR? l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah'
+LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h'
+;; UPPERCASE mnemonics for various ligatures or special glyphs
+;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode
+U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h'
+U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic
+;; 2b. Ligatures and glyphs defined in Unicode:
+U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH'
+U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH'
+
+U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam
+U+0028 U+0028 > U+FD3F ;; '((' : ornate right par
+U+0029 U+0029 > U+FD3E ;; '))' : ornate left par
+U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign
+;; most fonts won't have the following ones:
+U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign)
+U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign
+U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR'
+U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD'
+U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM'
+U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL')
+U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE')
+U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM'
+U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA'
+U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu"
+U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik
+
+U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY
+U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY
+U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM-
+U+005E U+004C U+0041 > U+06D9 ;; ^LA
+U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM
+U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS
+U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN
+U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB
+U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO
+U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO
+U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM
+U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM
+U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN
+U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA
+U+0057 U+0041 U+0057 > U+06E5 ;; WAW
+U+0059 U+0045 U+0048 > U+06E6 ;; YEH
+U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH
+U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN
+U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA
+U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP
+U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP
+U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP
+U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM
+
+U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::")
+
+;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts
+U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]]
+
+
+; vowels
+u u > U
+i i > I
+a a > A
+[AVWL] > ; strip off vowels when writing UTF-8 Arabic with novoc mode
+CO O > U+06FC ;
+a e > a y
+a o > a w
+CO U > U+06C7 ;
+e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish)
+o > u
+I / _ # > i y
+
+
+;; Persian ezafe (ALL BUT ARABIC AND UIGHUR)
+U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<<
+U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I
+Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e
+Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I
+Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i
+Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i
+Z / U+0048 _ > U+0020 ;
+b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen
+
+;; initial characters ...
+a l Z / BEG _ > U+0627 l Z
+;; wasla on initial alif : NEW! NOT TESTED!
+H / BEG _ l l > U+0627 ;
+[VWL]=v1 / BEG _ > A @v1
+Q?=q1 U / BEG _ > A @q1 u w ; -U
+; Q?=q1 I / BEG _ > A @q1 i y ; -I ; but not when I is final FIXME!!!
+Q?=q1 I / BEG _ > A @q1 i y ; except for Persian, coz of ezafe rules
+
+
+;; Words with anomalous orthography:
+
+; mi'aT -> ماية
+;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy
+m Q i H Q a / _ (T|t) > m Q i A Hy Q a
+m Q i H a / _ (T|t) > m Q i A Hy
+m i H Q a / _ (T|t) > m A Hy Q a
+m i H a / _ (T|t) > m A Hy
+
+
+;; contextual analysis of hamzas
+;; THESE DO NOT APPLY FOR SINDHI
+
+; initial hamzas
+H / (#|^[LTR]) _ Q? [Iyi] > Hi
+H Q A / (#|^[LTR]) _ > HA ; alif madda
+H / (#|^[LTR]) _ Q? [Uwu] > Ha
+H / (#|^[LTR]) _ Q? a > Ha
+Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word
+
+; quoted hamzas in contextual mode, equivalent to verbatim mode
+a Q H > Ha
+i Q H > Hi
+y Q H > Hy
+w Q H > Hw
+h Q H > Hh
+A Q H > HA
+B Q H > HB
+BAR Q H > HBAR
+
+; hamza + fathatan
+H / a _ Q? AN > Ha
+;;H / [Iyi] _ Q? AN > Hy
+H / _ Q? AN > Hy
+
+;final hamzas
+H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ...
+H / a _ Q? (#|^[LTR]) > Ha ; not AN...
+H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN...
+H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy
+H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw
+
+;;and more hamzas ...
+
+; n°1: kasra/ya
+H / [LTR] _ Q? [Iyi] ^N > Hy
+H / [Iyi] _ > Hy
+
+; n°2: damma/waw
+H / [LTR] _ Q? (U|u) ^N > Hw
+H / (U|u) _ Q? ^[Iyi] > Hw
+H / U _ > HBAR
+
+; n°3: fatha/alif
+H Q? A > HA
+H / A _ Q? a > HBAR
+H / ^[UI] _ Q? a > Ha
+H / a _ Q? ^[UI] > Ha
+
+
+pass(Unicode)
+
+Class [Digits] = (U+0030..U+0039)
+Class [ArDigits] = (U+0660..U+0669)
+Class [ArEasternDigits] = (U+06F0..U+06F9)
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+
+
+
+
+;normal code
+
+
+(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA
+(P z|U+1E93) > U+0638
+C z C z > U+0698 U+0651 ;;SHADDA
+C z > U+0698
+V z V z > U+0636 U+0651 ;;SHADDA
+V z > U+0636
+z z > U+0632 U+0651 ;;SHADDA
+z > U+0632
+Y Y > U+0649 U+0651 ;;SHADDA
+Y > U+0649
+;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots
+y y > U+06CC U+0651 ;;SHADDA
+y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots
+v v > U+06A4 U+0651 ;;SHADDA
+v > U+06A4
+W > U+0648 U+0627 ; waw + alif
+C U > U+064F U+0648 U+0653; historical spelling : madda on waw
+Q U [Uw] > U+064F U+0648 U+0651 ;;SHADDA
+Q U > U+064F U+0648
+[Uw] [Uw] > U+0648 U+0651 ;;SHADDA
+[Uw] > U+0648
+C w C w > U+06C9 U+0651 ;;SHADDA
+C w > U+06C9
+CO w CO w > U+06CA U+0651 ;,SHADDA
+CO w > U+06CA
+Q u N > U+064C
+u N >
+Q u > U+064F
+V t V t > U+0679 U+0651 ;;SHADDA
+V t > U+0679 ;urdu
+UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA
+UL (t|s) > U+062B
+(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA
+(P t|U+1E6D) > U+0637
+t t > U+062A U+0651 ;;SHADDA
+t > U+062A
+T T Q AN > U+0629 U+0651 U+064B ;;SHADDA
+T Q AN > U+0629 U+064B
+T AN > U+0629
+T T > U+0629 U+0651 ;;SHADDA
+T > U+0629
+C s C s > U+0634 U+0651 ;;SHADDA
+C s > U+0634
+(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA
+(P s|U+1E63) > U+0635
+V s V s > U+0634 U+0651 ;;SHADDA
+V s > U+0634
+CO s CO s > U+069B U+0651 ;;SHADDA
+CO s > U+069B ; sin with 3 dots below
+s s > U+0633 U+0651 ;;SHADDA
+s > U+0633
+C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<<
+C r > U+06EF
+CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<<
+CO r > U+0697 ; Dargwa language, Dagestan
+P r P r > U+0694 U+0651 ;;SHADDA
+P r > U+0694 ; r with dot below; in Kurdish .r -> 0694
+V r V r > U+0691 U+0651 ;;SHADDA
+V r > U+0691 ;Urdu
+r r > U+0631 U+0651 ;;SHADDA
+r > U+0631
+P q P q > U+066F U+0651 ;;SHADDA
+P q > U+066F
+q q > U+0642 U+0651 ;;SHADDA
+q > U+0642
+p p > U+067E U+0651 ;;SHADDA
+p > U+067E
+CO n CO n > U+06B1 U+0651 ;;SHADDA
+CO n > U+06B1
+C n C n > U+06AD U+0651 ;;SHADDA
+C n > U+06AD
+P n P n > U+06BA U+0651 ;;SHADDA
+P n > U+06BA ; urdu
+V n V n > U+06BC U+0651 ;;SHADDA
+V n > U+06BC ; Pashto
+n n > U+0646 U+0651 ;;SHADDA
+n > U+0646
+m m > U+0645 U+0651 ;;SHADDA
+m > U+0645
+P l P l > U+06B6 U+0651 ;
+P l > U+06B6 ; ADDED <<<
+C l C l > U+06B5 U+0651 ;;SHADDA
+C l > U+06B5 ;kurdish
+l l > U+0644 U+0651 ;;SHADDA
+l > U+0644
+P k P k > U+0642 U+0651 ;;SHADDA
+P k > U+0642 ; Ottoman qaf
+UL k UL k > U+063A U+0651 ;;SHADDA
+UL k > U+063A
+k k > U+0643 U+0651 ;;SHADDA
+k > U+0643
+C g C g > U+06A0 U+0651 ;;SHADDA
+C g > U+06A0
+CO j CO j > U+0684 U+0651 ;;SHADDA
+CO j > U+0684
+j j > U+0698 U+0651 ;;SHADDA
+j > U+0698
+Q I > U+0650 U+064A
+C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya
+UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ###
+I > U+064A
+Q i N > U+064D
+i N > ;
+Q i > U+0650
+x x > U+062E U+0651 ;;SHADDA
+x > U+062E
+UL h UL h > U+062E U+0651 ;;SHADDA
+UL h > U+062E
+(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA
+(P h|U+1E25) > U+062D
+V h V h > U+06C1 U+0651 ;;SHADDA
+V h > U+06C1
+h h > U+0647 U+0651 ;;SHADDA
+h > U+0647
+CO g CO g > U+06B3 U+0651 ;;SHADDA
+CO g > U+06B3
+V g V g > U+06AC U+0651 ;;SHADDA
+V g > U+06AC ; kaf with dot above
+P g P g > U+063A U+0651 ;;SHADDA
+P g > U+063A
+g g > U+06AF U+0651 ;;SHADDA
+g > U+06AF
+G G > U+06AB U+0651 ;;SHADDA
+G > U+06AB ;pashto
+P f P f > U+06A1 U+0651 ;;SHADDA
+P f > U+06A1
+f f > U+0641 U+0651 ;;SHADDA
+f > U+0641
+V d V d > U+068A U+0651 ;;SHADDA
+V d > U+068A
+P V d P V d > U+068B U+0651 ;;SHADDA
+P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi)
+C d C d > U+06EE U+0651 ;;SHADDA
+C d > U+06EE ; not defined in ArabTeX
+CO d CO d > U+068F U+0651 ;;SHADDA
+CO d > U+068F
+UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA
+UL (d|z) > U+0630
+(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA
+(P d|U+1E0D) > U+0636
+d d > U+062F U+0651 ;;SHADDA
+d > U+062F
+V c V c > U+0686 U+0651 ;;SHADDA
+V c > U+0686 ; Ottoman ç
+C c C c > U+0686 U+0651 ;;SHADDA
+C c > U+0686
+P C c P C c > U+06BF U+0651 ;;SHADDA
+P C c > U+06BF ;; cheh with dot above <<<
+c c > U+062C U+0651 ;;SHADDA
+c > U+062C
+CO c CO c > U+0682 U+0651 ;;SHADDA
+CO c > U+0682 ; old pashto
+CO b CO b > U+067B U+0651 ;;SHADDA
+CO b > U+067B
+P b P b > U+066E U+0651 ;;SHADDA
+P b > U+066E
+b b > U+0628 U+0651 ;;SHADDA
+b > U+0628
+H A > U+0622
+C A > U+064E U+0622 ; historical spelling
+UL A > U+0649
+UL a > U+0670
+UL u > ;
+UL i > ;
+Q AN / (A H|Ha) _ > U+064B
+AN / (A H|Ha) _ > ;
+Q AN > U+0627 U+064B
+AN > U+0627
+Q a > U+064E
+Q A > U+064E U+0627
+A > U+0627
+Ain Ain > U+0639 U+0651 ;;SHADDA
+Ain > U+0639
+H H > U+0621 U+0651 ;;SHADDA
+H > U+0621
+U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma
+Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash
+(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks
+[Digits] > [ArDigits]
+Z Z Z / # _ # > U+2014
+Z Z / # _ # > U+2013
+Z Z > U+0640
+B > U+0640
+Z / # _ > U+200D ; -x > force initial form with "zero-width joiner"
+Z / _ # > U+200D ; x- > force final form
+U+003C U+003C > U+00BB ;<<
+U+003E U+003E > U+00AB ;>>
+U+00AB > U+00BB
+U+00BB > U+00AB
+UL > U+0640 ;_
+U+003F > U+061F ;?
+U+003B > U+061B ;;
+U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above...
+U+002C > U+060C ;,
+U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ...
+U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual
+ ; analysis, so quoting of hamzas etc may be necessary
+;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules
+;U+005B > U+005D ;[
+[VWL] > ;stripoff vowels
+Q > U+0652
+U+00B0 > U+0652 ; °
+N > ;
+C > ;^
+Z > ;-
+BAR > ;|
+
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-turk-novoc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-turk-novoc.tec
index 9102719bfbe..b63f2ef8ee8 100644
--- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-turk-novoc.tec
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-turk-novoc.tec
Binary files differ
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-turk-voc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-turk-voc.map
new file mode 100644
index 00000000000..0ab30050577
--- /dev/null
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-turk-voc.map
@@ -0,0 +1,480 @@
+LHSName "ArabTeX-turk-vocalized"
+RHSName "UNICODE"
+
+Define a U+0061 ;a
+Define b U+0062 ;b
+Define c U+0063 ;c
+Define d U+0064 ;d
+Define e U+0065 ;e
+Define f U+0066 ;f
+Define g U+0067 ;g
+Define h U+0068 ;h
+Define i U+0069 ;i
+Define j U+006A ;j
+Define k U+006B ;k
+Define l U+006C ;l
+Define m U+006D ;m
+Define n U+006E ;n
+Define o U+006F ;o
+Define p U+0070 ;p
+Define q U+0071 ;q
+Define r U+0072 ;r
+Define s U+0073 ;s
+Define t U+0074 ;t
+Define u U+0075 ;u
+Define v U+0076 ;v
+Define w U+0077 ;w
+Define x U+0078 ;x
+Define y U+0079 ;y
+Define z U+007A ;z
+Define A U+0041 ;A
+Define B U+0042 ;B
+Define E U+0045 ;E
+Define G U+0047 ;G
+Define I U+0049 ;I
+Define N U+004E ;N
+Define O U+004F ;O
+Define T U+0054 ;T
+Define U U+0055 ;U
+Define W U+0057 ;W
+Define Y U+0059 ;Y
+Define C U+005E ;^ << CARET
+Define UL U+005F ;_ << UNDERLINE
+Define P U+002E ;. << DOT
+Define V U+002C ;, << COMMA (_V_irgule)
+Define CO U+003A ;: << COLON
+Define SC U+003B ;; << SEMICOLON
+Define Ain U+0060 ;`
+Define H U+0027 ;' << HAMZA
+Define Q U+0022 ;" << QUOTE
+Define Z U+002D ;- << HYPHEN
+Define BAR U+007C ;|
+Define AN U+0061 U+004E ; aN
+Define LLAH U+006C U+006C U+005F U+0061 U+0068
+;Define NUL U+00A6;
+Define Ha U+0623
+Define Hi U+0625
+Define Hy U+0626
+Define Hw U+0624
+Define Hh U+06C0 ;; = U+0647 U+0654
+Define HA U+0622
+Define HB U+0640 U+0654
+Define HBAR U+0621 ; '|
+
+pass(Unicode)
+
+U+E000 > ; eliminate special code for capitalization in transliterations
+
+pass(Unicode)
+
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [AVWL] = (U+064B..U+0650);
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" `
+Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ”
+Class [PUNCT] = (V SC P CO)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u)
+;Class [ae] = (U+0061 U+0065) ;(a e)
+;Class [ou] = (U+0075 U+006F) ;(u o)
+Class [Iyi] = (U+0069 U+0079 U+0049)
+Class [UI] = (U+0049 U+0055) ; U I
+Class [Digits] = (U+0030..U+0039)
+
+Define BEG (#|Z|[BRACKETS])
+Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #)
+Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z)
+
+; special ligatures
+;; 1. Standard ArabTeX input
+;; WARNING! there are, alas, two classes of Arabic fonts:
+;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2
+;; For these the ligature llah can be accessed by the sequence lam-lam-ha
+;; b) Those that do not have the initial alif in U+FDF2
+;; The BAR is used in the DMG transliteration to suppress the initial A
+(a|A) BAR? l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah'
+LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h'
+;; UPPERCASE mnemonics for various ligatures or special glyphs
+;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode
+U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h'
+U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic
+;; 2b. Ligatures and glyphs defined in Unicode:
+U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH'
+U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH'
+
+U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam
+U+0028 U+0028 > U+FD3F ;; '((' : ornate right par
+U+0029 U+0029 > U+FD3E ;; '))' : ornate left par
+U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign
+;; most fonts won't have the following ones:
+U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign)
+U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign
+U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR'
+U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD'
+U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM'
+U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL')
+U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE')
+U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM'
+U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA'
+U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu"
+U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik
+
+U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY
+U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY
+U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM-
+U+005E U+004C U+0041 > U+06D9 ;; ^LA
+U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM
+U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS
+U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN
+U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB
+U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO
+U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO
+U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM
+U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM
+U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN
+U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA
+U+0057 U+0041 U+0057 > U+06E5 ;; WAW
+U+0059 U+0045 U+0048 > U+06E6 ;; YEH
+U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH
+U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN
+U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA
+U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP
+U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP
+U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP
+U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM
+
+U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::")
+
+;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts
+U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]]
+
+
+; vowels
+u u > U
+i i > I
+a a > A
+CO O > U+06FC ;
+a e > a y
+a o > a w
+CO U > U+06C7 ;
+e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish)
+o > u
+I / _ # > i y
+
+
+;; Persian ezafe (ALL BUT ARABIC AND UIGHUR)
+U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<<
+U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I
+Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e
+Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I
+Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i
+Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i
+Z / U+0048 _ > U+0020 ;
+b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen
+
+;; initial characters ...
+a l Z / BEG _ > U+0627 l Z
+;; wasla on initial alif : NEW! NOT TESTED!
+H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI
+[VWL]=v1 / BEG _ > U+0627 @v1
+Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U
+; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I
+Q?=q1 I / BEG _ > U+0627 @q1 i y
+
+
+;; Words with anomalous orthography:
+
+; mi'aT -> ماية
+;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy
+m Q i H Q a / _ (T|t) > m U+0627 Hy
+m Q i H a / _ (T|t) > m U+0627 Hy a
+m i H Q a / _ (T|t) > m i U+0627 Hy
+m i H a / _ (T|t) > m i U+0627 Hy a
+
+
+;; contextual analysis of hamzas
+;; THESE DO NOT APPLY FOR SINDHI
+
+; initial hamzas
+H / (#|^[LTR]) _ Q? [Iyi] > Hi
+H Q A / (#|^[LTR]) _ > HA ; alif madda
+H / (#|^[LTR]) _ Q? [Uwu] > Ha
+H / (#|^[LTR]) _ Q? a > Ha
+Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word
+
+; quoted hamzas in contextual mode, equivalent to verbatim mode
+a Q H > Ha
+i Q H > Hi
+y Q H > Hy
+w Q H > Hw
+h Q H > Hh
+A Q H > HA
+B Q H > HB
+BAR Q H > HBAR
+
+; hamza + fathatan
+H / a _ Q? AN > Ha
+;;H / [Iyi] _ Q? AN > Hy
+H / _ Q? AN > Hy
+
+;final hamzas
+H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ...
+H / a _ Q? (#|^[LTR]) > Ha ; not AN...
+H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN...
+H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy
+H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw
+
+;;and more hamzas ...
+
+; n°1: kasra/ya
+H / [LTR] _ Q? [Iyi] ^N > Hy
+H / [Iyi] _ > Hy
+
+; n°2: damma/waw
+H / [LTR] _ Q? (U|u) ^N > Hw
+H / (U|u) _ Q? ^[Iyi] > Hw
+H / U _ > HBAR
+
+; n°3: fatha/alif
+H Q? A > HA
+H / A _ Q? a > HBAR
+H / ^[UI] _ Q? a > Ha
+H / a _ Q? ^[UI] > Ha
+
+
+pass(Unicode)
+
+Class [Digits] = (U+0030..U+0039)
+Class [ArDigits] = (U+0660..U+0669)
+Class [ArEasternDigits] = (U+06F0..U+06F9)
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+
+
+
+
+;normal code
+
+
+(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA
+(P z|U+1E93) > U+0638
+C z C z > U+0698 U+0651 ;;SHADDA
+C z > U+0698
+V z V z > U+0636 U+0651 ;;SHADDA
+V z > U+0636
+z z > U+0632 U+0651 ;;SHADDA
+z > U+0632
+Q Y Y > U+0649 U+0651 ;;SHADDA
+Q Y > U+0649
+Y Y > U+064E U+0649 U+0651 ;;SHADDA
+Y > U+064E U+0649
+;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots
+y y > U+06CC U+0651 ;;SHADDA
+y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots
+v v > U+06A4 U+0651 ;;SHADDA
+v > U+06A4
+W > U+0648 U+0627 ; waw + alif
+C U > U+064F U+0648 U+0653; historical spelling : madda on waw
+C w C w > U+06C9 U+0651 ;;SHADDA
+C w > U+06C9
+CO w CO w > U+06CA U+0651 ;,SHADDA
+CO w > U+06CA
+U A / _ # > U+064F U+0648 U+0627
+Q U [Uw] > U+0648 U+0651 ;;SHADDA
+Q U > U+0648
+U [Uw] > U+064F U+0648 U+0651 ;;SHADDA
+U > U+064F U+0648
+w w > U+0648 U+0651 ;;SHADDA
+w > U+0648
+Q u N? >
+u N > U+064C
+u > U+064F
+V t V t > U+0679 U+0651 ;;SHADDA
+V t > U+0679 ;urdu
+UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA
+UL (t|s) > U+062B
+(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA
+(P t|U+1E6D) > U+0637
+t t > U+062A U+0651 ;;SHADDA
+t > U+062A
+T T Q AN > U+0629 U+0651 ;;SHADDA
+T Q AN > U+0629
+T AN > U+0629 U+064B
+T T > U+0629 U+0651 ;;SHADDA
+T > U+0629
+C s C s > U+0634 U+0651 ;;SHADDA
+C s > U+0634
+(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA
+(P s|U+1E63) > U+0635
+V s V s > U+0634 U+0651 ;;SHADDA
+V s > U+0634
+CO s CO s > U+069B U+0651 ;;SHADDA
+CO s > U+069B ; sin with 3 dots below
+s s > U+0633 U+0651 ;;SHADDA
+s > U+0633
+C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<<
+C r > U+06EF
+CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<<
+CO r > U+0697 ; Dargwa language, Dagestan
+P r P r > U+0694 U+0651 ;;SHADDA
+P r > U+0694 ; r with dot below; in Kurdish .r -> 0694
+V r V r > U+0691 U+0651 ;;SHADDA
+V r > U+0691 ;Urdu
+r r > U+0631 U+0651 ;;SHADDA
+r > U+0631
+P q P q > U+066F U+0651 ;;SHADDA
+P q > U+066F
+q q > U+0642 U+0651 ;;SHADDA
+q > U+0642
+p p > U+067E U+0651 ;;SHADDA
+p > U+067E
+CO n CO n > U+06B1 U+0651 ;;SHADDA
+CO n > U+06B1
+C n C n > U+06AD U+0651 ;;SHADDA
+C n > U+06AD
+P n P n > U+06BA U+0651 ;;SHADDA
+P n > U+06BA ; urdu
+V n V n > U+06BC U+0651 ;;SHADDA
+V n > U+06BC ; Pashto
+n n > U+0646 U+0651 ;;SHADDA
+n > U+0646
+m m > U+0645 U+0651 ;;SHADDA
+m > U+0645
+P l P l > U+06B6 U+0651 ;
+P l > U+06B6 ; ADDED <<<
+C l C l > U+06B5 U+0651 ;;SHADDA
+C l > U+06B5 ;kurdish
+l l > U+0644 U+0651 ;;SHADDA
+l > U+0644
+P k P k > U+0642 U+0651 ;;SHADDA
+P k > U+0642 ; Ottoman qaf
+UL k UL k > U+063A U+0651 ;;SHADDA
+UL k > U+063A
+k k > U+0643 U+0651 ;;SHADDA
+k > U+0643
+C g C g > U+06A0 U+0651 ;;SHADDA
+C g > U+06A0
+CO j CO j > U+0684 U+0651 ;;SHADDA
+CO j > U+0684
+j j > U+0698 U+0651 ;;SHADDA
+j > U+0698
+Q I > U+064A
+I > U+0650 U+064A
+C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya
+UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ###
+Q i N? > ;
+i N > U+064D
+i > U+0650
+x x > U+062E U+0651 ;;SHADDA
+x > U+062E
+UL h UL h > U+062E U+0651 ;;SHADDA
+UL h > U+062E
+(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA
+(P h|U+1E25) > U+062D
+V h V h > U+06C1 U+0651 ;;SHADDA
+V h > U+06C1
+h h > U+0647 U+0651 ;;SHADDA
+h > U+0647
+CO g CO g > U+06B3 U+0651 ;;SHADDA
+CO g > U+06B3
+V g V g > U+06AC U+0651 ;;SHADDA
+V g > U+06AC ; kaf with dot above
+P g P g > U+063A U+0651 ;;SHADDA
+P g > U+063A
+g g > U+06AF U+0651 ;;SHADDA
+g > U+06AF
+G G > U+06AB U+0651 ;;SHADDA
+G > U+06AB ;pashto
+P f P f > U+06A1 U+0651 ;;SHADDA
+P f > U+06A1
+f f > U+0641 U+0651 ;;SHADDA
+f > U+0641
+V d V d > U+068A U+0651 ;;SHADDA
+V d > U+068A
+P V d P V d > U+068B U+0651 ;;SHADDA
+P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi)
+C d C d > U+06EE U+0651 ;;SHADDA
+C d > U+06EE ; not defined in ArabTeX
+CO d CO d > U+068F U+0651 ;;SHADDA
+CO d > U+068F
+UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA
+UL (d|z) > U+0630
+(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA
+(P d|U+1E0D) > U+0636
+d d > U+062F U+0651 ;;SHADDA
+d > U+062F
+V c V c > U+0686 U+0651 ;;SHADDA
+V c > U+0686 ; Ottoman ç
+C c C c > U+0686 U+0651 ;;SHADDA
+C c > U+0686
+P C c P C c > U+06BF U+0651 ;;SHADDA
+P C c > U+06BF ;; cheh with dot above <<<
+c c > U+062C U+0651 ;;SHADDA
+c > U+062C
+CO c CO c > U+0682 U+0651 ;;SHADDA
+CO c > U+0682 ; old pashto
+CO b CO b > U+067B U+0651 ;;SHADDA
+CO b > U+067B
+P b P b > U+066E U+0651 ;;SHADDA
+P b > U+066E
+b b > U+0628 U+0651 ;;SHADDA
+b > U+0628
+H A > U+0622
+C A > U+064E U+0622 ; historical spelling
+UL A > U+064E U+0649
+UL a > U+0670
+UL u > U+064F;
+UL i > U+0650;
+Q AN / (A H|Ha) _ > ;
+AN / (A H|Ha) _ > U+064B
+Q AN > U+0627
+AN > U+0627 U+064B
+Q a >
+a > U+064E
+Q A > U+0627
+A > U+064E U+0627
+Ain Ain > U+0639 U+0651 ;;SHADDA
+Ain > U+0639
+H H > U+0621 U+0651 ;;SHADDA
+H > U+0621
+U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma
+Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash
+(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks
+[Digits] > [ArDigits]
+Z Z Z / # _ # > U+2014
+Z Z / # _ # > U+2013
+Z Z > U+0640
+B > U+0640
+Z / # _ > U+200D ; -x > force initial form with "zero-width joiner"
+Z / _ # > U+200D ; x- > force final form
+U+003C U+003C > U+00BB ;<<
+U+003E U+003E > U+00AB ;>>
+U+00AB > U+00BB
+U+00BB > U+00AB
+UL > U+0640 ;_
+U+003F > U+061F ;?
+U+003B > U+061B ;;
+U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above...
+U+002C > U+060C ;,
+U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ...
+U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual
+ ; analysis, so quoting of hamzas etc may be necessary
+;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules
+;U+005B > U+005D ;[
+Q [VWL] > ;stripoff quoted vowels
+Q > U+0652
+U+00B0 > U+0652 ; °
+N > ;
+C > ;^
+BAR > ;|
+
+pass(Unicode)
+
+Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-)
+Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc.
+Class [VWL] = (U+0627 U+0648..U+0650 U+0670);
+Z > ;
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-uighur.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-uighur.map
new file mode 100644
index 00000000000..11c28abd2bc
--- /dev/null
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-uighur.map
@@ -0,0 +1,277 @@
+LHSName "ArabTeX-Uighur"
+RHSName "UNICODE"
+
+Define a U+0061 ;a
+Define b U+0062 ;b
+Define c U+0063 ;c
+Define d U+0064 ;d
+Define e U+0065 ;e
+Define f U+0066 ;f
+Define g U+0067 ;g
+Define h U+0068 ;h
+Define i U+0069 ;i
+Define j U+006A ;j
+Define k U+006B ;k
+Define l U+006C ;l
+Define m U+006D ;m
+Define n U+006E ;n
+Define o U+006F ;o
+Define p U+0070 ;p
+Define q U+0071 ;q
+Define r U+0072 ;r
+Define s U+0073 ;s
+Define t U+0074 ;t
+Define u U+0075 ;u
+Define v U+0076 ;v
+Define w U+0077 ;w
+Define x U+0078 ;x
+Define y U+0079 ;y
+Define z U+007A ;z
+Define A U+0041 ;A
+Define B U+0042 ;B
+Define E U+0045 ;E
+Define G U+0047 ;G
+Define I U+0049 ;I
+Define N U+004E ;N
+Define O U+004F ;O
+Define T U+0054 ;T
+Define U U+0055 ;U
+Define Y U+0059 ;Y
+Define C U+005E ;^ << CARET
+Define UL U+005F ;_ << UNDERLINE
+Define P U+002E ;. << DOT
+Define V U+002C ;, << COMMA (_V_irgule)
+Define CO U+003A ;: << COLON
+Define Ain U+0060 ;`
+Define H U+0027 ;' << HAMZA
+Define Q U+0022 ;" << QUOTE
+Define Z U+002D ;- << HYPHEN
+Define BAR U+007C ;|
+Define LLAH U+006C U+006C U+005F U+0061 U+0068
+
+pass(Unicode)
+
+Class [Digits] = (U+0030..U+0039)
+Class [ArDigits] = (U+0660..U+0669)
+
+
+; special ligatures
+;; 1. Standard ArabTeX input
+;; WARNING! there are, alas, two classes of Arabic fonts:
+;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2
+;; For these the ligature llah can be accessed by the sequence lam-lam-ha
+;; b) Those that do not have the initial alif in U+FDF2
+(a|A) l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah'
+LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h'
+;; UPPERCASE mnemonics for various ligatures or special glyphs
+;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode
+U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h'
+U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic
+;; 2b. Ligatures and glyphs defined in Unicode:
+U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH'
+U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH'
+
+U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam
+U+0028 U+0028 > U+FD3F ;; '((' : ornate right par
+U+0029 U+0029 > U+FD3E ;; '))' : ornate left par
+U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign
+;; most fonts won't have the following ones:
+U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign)
+U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign
+U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR'
+U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD'
+U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM'
+U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL)'
+U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE)'
+U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM'
+U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA'
+U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu"
+U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik
+
+U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY
+U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY
+U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM
+U+005E U+004C U+0041 > U+06D9 ;; ^LA
+U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM
+U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS
+U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN
+U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB
+U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO
+U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO
+U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA
+
+U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::")
+
+;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts
+U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]]
+
+
+; vowels
+
+a / # _ > U+0626 U+0627
+a > U+0627
+(CO a|U+00E4) / # _ > U+0626 U+0647 U+200C
+(CO a|U+00E4) > U+0647 U+200C
+o / # _ > U+0626 U+0648 ;
+o > U+0648 ;
+(CO o|U+00F6) / # _ > U+0626 U+06C6
+(CO o|U+00F6) > U+06C6
+i / # _ # > U+0626 U+0649
+i / # _ > U+0626 U+066E
+i / _ # > U+0649
+i > U+066E
+e / # _ > U+0626 U+06D0
+e > U+06D0
+u / # _ > U+0626 U+06C7 ;
+u > U+06C7 ;
+(CO u|U+00FC) / # _ > U+0626 U+06C8 ;
+(CO u|U+00FC) > U+06C8 ;
+l Q a > U+0644 U+064E U+0627 ;
+l a > U+0644 U+0627 ;
+
+P z P z > U+0638 U+0651 ;;SHADDA
+P z > U+0638
+C z C z > U+0698 U+0651 ;;SHADDA
+C z > U+0698
+V z V z > U+0696 U+0651 ;pashto ;;SHADDA
+V z > U+0696 ;pashto
+z z > U+0632 U+0651 ;;SHADDA
+z > U+0632
+Y Y > U+0649 U+0651 ;;SHADDA
+Y > U+0649
+w w > U+06CB U+0651 ;;SHADDA
+w > U+06CB
+y y > U+064A U+0651 ;;SHADDA
+y > U+064A
+v v > U+06A4 U+0651 ;;SHADDA
+v > U+06A4
+V t V t > U+0679 U+0651 ; urdu ;;SHADDA
+V t > U+0679
+UL t UL t > U+062B U+0651 ;;SHADDA
+UL t > U+062B
+P t P t > U+0637 U+0651 ;;SHADDA
+P t > U+0637
+t t > U+062A U+0651 ;;SHADDA
+t > U+062A
+T T > U+0629 U+0651 ;;SHADDA
+T > U+0629
+C s C s > U+0634 U+0651 ;;SHADDA
+C s > U+0634
+P s P s > U+0635 U+0651 ;;SHADDA
+P s > U+0635
+V s V s > U+069A U+0651 ;Pashto ;;SHADDA
+V s > U+069A ;Pashto
+CO s > U+069B ; sin with 3 dots below
+s s > U+0633 U+0651 ;;SHADDA
+s > U+0633
+C r C r > U+0692 U+0651 ;Kurdish ;;SHADDA ; missing in ArabTeX <<<
+C r > U+0692
+P r P r > U+0695 U+0651 ;Kurdish ;;SHADDA
+P r > U+0695
+V r V r > U+0691 U+0651 ;Urdu ;;SHADDA
+V r > U+0691 ;Urdu
+r r > U+0631 U+0651 ;;SHADDA
+r > U+0631
+P q P q > U+066F U+0651 ;;SHADDA
+P q > U+066F
+q q > U+0642 U+0651 ;;SHADDA
+q > U+0642
+p p > U+067E U+0651 ;;SHADDA
+p > U+067E
+C n C n > U+06AD U+0651 ;;SHADDA
+C n > U+06AD
+P n P n > U+06BA U+0651 ; urdu ;;SHADDA
+P n > U+06BA ;
+V n V n > U+06BC U+0651 ; Pashto
+V n > U+06BC ; Pashto
+n n > U+0646 U+0651 ;;SHADDA
+n > U+0646
+m m > U+0645 U+0651 ;;SHADDA
+m > U+0645
+C l C l > U+06B5 U+0651 ;kurdish ;;SHADDA
+C l > U+06B5
+l l > U+0644 U+0651 ;;SHADDA
+l > U+0644
+P k P k > U+06A9 U+0651 ; pashto urdu ;;SHADDA
+P k > U+06A9
+UL k UL k > U+063A U+0651 ;;SHADDA
+UL k > U+063A
+k k > U+0643 U+0651 ;;SHADDA
+k > U+0643
+j j > U+062C U+0651 ;;SHADDA
+j > U+062C
+x x > U+062E U+0651 ;;SHADDA
+x > U+062E
+UL h UL h > U+062E U+0651 ;;SHADDA
+UL h > U+062E
+P h P h > U+062D U+0651 ;;SHADDA
+P h > U+062D
+V h V h > U+06C1 U+0651
+V h > U+06C1
+h h > U+0647 U+0651 ;;SHADDA
+h > U+0647
+V g V g > U+06AC U+0651 ;;SHADDA
+V g > U+06AC ; kaf with dot above
+P g P g > U+063A U+0651 ;;SHADDA
+P g > U+063A
+C g C g > U+063A U+0651 ;;SHADDA
+C g > U+063A
+g g > U+06AF U+0651 ;;SHADDA
+g > U+06AF
+G G > U+06AB U+0651 ;pashto ;;SHADDA
+G > U+06AB ;pashto
+P f P f > U+06A1 U+0651 ;;SHADDA
+P f > U+06A1
+f f > U+0641 U+0651 ;;SHADDA
+f > U+0641
+V d V d > U+0688 U+0651 ;urdu ;;SHADDA
+V d > U+0688 ;urdu
+C d C d > U+06EE ; not defined in ArabTeX U+0651 ;;SHADDA
+C d > U+06EE ; not defined in ArabTeX
+UL d UL d > U+0630 U+0651 ;;SHADDA
+UL d > U+0630
+P d P d > U+0636 U+0651 ;;SHADDA
+P d > U+0636
+d d > U+062F U+0651 ;;SHADDA
+d > U+062F
+V c V c > U+0685 U+0651 ;pashto ;;SHADDA
+V c > U+0685
+C c C c > U+0686 U+0651 ;;SHADDA
+C c > U+0686
+c c > U+0681 U+0651
+c > U+0681 ; ح with hamza above
+P b P b > U+066E U+0651 ;;SHADDA
+P b > U+066E
+b b > U+0628 U+0651 ;;SHADDA
+b > U+0628
+Ain Ain > U+0639 U+0651 ;;SHADDA
+Ain > U+0639
+H > U+0626
+U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma
+Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash
+(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks
+[Digits] > [ArDigits]
+Z Z Z / # _ # > U+2014
+Z Z / # _ # > U+2013
+Z Z > U+0640
+B > U+0640
+Z / # _ > U+200D ; -x > force initial form with "zero-width joiner"
+Z / _ # > U+200D ; x- > force final form
+U+003C U+003C > U+00BB ;<<
+U+003E U+003E > U+00AB ;>>
+U+00AB > U+00BB
+U+00BB > U+00AB
+UL > U+0640 ;_
+U+003F > U+061F ;?
+U+003B > U+061B ;;
+U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above...
+U+002C > U+060C ;,
+U+005D / . _ . > U+200D U+005D U+200D ; keep shaping when inserting ...[...]...
+U+005B / . _ . > U+200D U+005B U+200D ; ... (but of course this screws up contextual analysis, so quoting of hamzas etc may be necessary)
+Q > ;
+N > ;
+C > ;^
+Z > ;-
+BAR > ;|
+
+
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-urdu-fullvoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-urdu-fullvoc.map
new file mode 100644
index 00000000000..1a43e25170d
--- /dev/null
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-urdu-fullvoc.map
@@ -0,0 +1,499 @@
+LHSName "ArabTeX-urdu-fullvocalized"
+RHSName "UNICODE"
+
+Define a U+0061 ;a
+Define b U+0062 ;b
+Define c U+0063 ;c
+Define d U+0064 ;d
+Define e U+0065 ;e
+Define f U+0066 ;f
+Define g U+0067 ;g
+Define h U+0068 ;h
+Define i U+0069 ;i
+Define j U+006A ;j
+Define k U+006B ;k
+Define l U+006C ;l
+Define m U+006D ;m
+Define n U+006E ;n
+Define o U+006F ;o
+Define p U+0070 ;p
+Define q U+0071 ;q
+Define r U+0072 ;r
+Define s U+0073 ;s
+Define t U+0074 ;t
+Define u U+0075 ;u
+Define v U+0076 ;v
+Define w U+0077 ;w
+Define x U+0078 ;x
+Define y U+0079 ;y
+Define z U+007A ;z
+Define A U+0041 ;A
+Define B U+0042 ;B
+Define E U+0045 ;E
+Define G U+0047 ;G
+Define I U+0049 ;I
+Define N U+004E ;N
+Define O U+004F ;O
+Define T U+0054 ;T
+Define U U+0055 ;U
+Define W U+0057 ;W
+Define Y U+0059 ;Y
+Define C U+005E ;^ << CARET
+Define UL U+005F ;_ << UNDERLINE
+Define P U+002E ;. << DOT
+Define V U+002C ;, << COMMA (_V_irgule)
+Define CO U+003A ;: << COLON
+Define SC U+003B ;; << SEMICOLON
+Define Ain U+0060 ;`
+Define H U+0027 ;' << HAMZA
+Define Q U+0022 ;" << QUOTE
+Define Z U+002D ;- << HYPHEN
+Define BAR U+007C ;|
+Define AN U+0061 U+004E ; aN
+Define LLAH U+006C U+006C U+005F U+0061 U+0068
+;Define NUL U+00A6;
+Define Ha U+0623
+Define Hi U+0625
+Define Hy U+0626
+Define Hw U+0624
+Define Hh U+06C0 ;; = U+0647 U+0654
+Define HA U+0622
+Define HB U+0640 U+0654
+Define HBAR U+0621 ; '|
+
+pass(Unicode)
+
+U+E000 > ; eliminate special code for capitalization in transliterations
+
+pass(Unicode)
+
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [AVWL] = (U+064B..U+0650);
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" `
+Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ”
+Class [PUNCT] = (V SC P CO)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u)
+;Class [ae] = (U+0061 U+0065) ;(a e)
+;Class [ou] = (U+0075 U+006F) ;(u o)
+Class [Iyi] = (U+0069 U+0079 U+0049)
+Class [UI] = (U+0049 U+0055) ; U I
+Class [Digits] = (U+0030..U+0039)
+
+Define BEG (#|Z|[BRACKETS])
+Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #)
+Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z)
+
+; special ligatures
+;; 1. Standard ArabTeX input
+;; WARNING! there are, alas, two classes of Arabic fonts:
+;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2
+;; For these the ligature llah can be accessed by the sequence lam-lam-ha
+;; b) Those that do not have the initial alif in U+FDF2
+;; The BAR is used in the DMG transliteration to suppress the initial A
+(a|A) BAR? l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah'
+LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h'
+;; UPPERCASE mnemonics for various ligatures or special glyphs
+;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode
+U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h'
+U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic
+;; 2b. Ligatures and glyphs defined in Unicode:
+U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH'
+U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH'
+
+U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam
+U+0028 U+0028 > U+FD3F ;; '((' : ornate right par
+U+0029 U+0029 > U+FD3E ;; '))' : ornate left par
+U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign
+;; most fonts won't have the following ones:
+U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign)
+U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign
+U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR'
+U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD'
+U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM'
+U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL')
+U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE')
+U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM'
+U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA'
+U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu"
+U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik
+
+U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY
+U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY
+U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM-
+U+005E U+004C U+0041 > U+06D9 ;; ^LA
+U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM
+U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS
+U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN
+U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB
+U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO
+U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO
+U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM
+U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM
+U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN
+U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA
+U+0057 U+0041 U+0057 > U+06E5 ;; WAW
+U+0059 U+0045 U+0048 > U+06E6 ;; YEH
+U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH
+U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN
+U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA
+U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP
+U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP
+U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP
+U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM
+
+U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::")
+
+;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts
+U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]]
+
+
+; vowels
+u u > U
+i i > I
+a a > A
+CO O > U+06FC ;
+H E > U+06D3 ;; hamza + yeh barree
+E / _ # > U+06D2
+E > y
+a e / _ # > a U+06D2
+a e > a y
+a o > a w
+(o|u)? O / # _ > U+0627 w
+(o|u)? O > w
+CO U > U+06C7 ;
+e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish)
+o > u
+I / _ # > i y
+
+
+;; Persian ezafe (ALL BUT ARABIC AND UIGHUR)
+U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<<
+U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I
+Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e
+Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I
+Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i
+Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i
+Z / U+0048 _ > U+0020 ;
+b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen
+
+;; initial characters ...
+a l Z / BEG _ > U+0627 l Z
+;; wasla on initial alif : NEW! NOT TESTED!
+H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI
+[VWL]=v1 / BEG _ > U+0627 @v1
+A / BEG _ > HA ;; ADD MORE ? <<<
+Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U
+; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I
+Q?=q1 I / BEG _ > U+0627 @q1 i y
+
+
+;; Words with anomalous orthography:
+
+; mi'aT -> ماية
+;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy
+m Q i H Q a / _ (T|t) > m U+0627 Hy
+m Q i H a / _ (T|t) > m U+0627 Hy a
+m i H Q a / _ (T|t) > m i U+0627 Hy
+m i H a / _ (T|t) > m i U+0627 Hy a
+
+
+;; contextual analysis of hamzas
+;; THESE DO NOT APPLY FOR SINDHI
+
+; initial hamzas
+H / (#|^[LTR]) _ Q? [Iyi] > Hi
+H Q A / (#|^[LTR]) _ > HA ; alif madda
+H / (#|^[LTR]) _ Q? [Uwu] > Ha
+H / (#|^[LTR]) _ Q? a > Ha
+Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word
+
+; quoted hamzas in contextual mode, equivalent to verbatim mode
+a Q H > Ha
+i Q H > Hi
+y Q H > Hy
+w Q H > Hw
+h Q H > Hh
+A Q H > HA
+B Q H > HB
+BAR Q H > HBAR
+
+; hamza + fathatan
+H / a _ Q? AN > Ha
+;;H / [Iyi] _ Q? AN > Hy
+H / _ Q? AN > Hy
+
+;final hamzas
+H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ...
+H / a _ Q? (#|^[LTR]) > Ha ; not AN...
+H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN...
+H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy
+H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw
+
+;;and more hamzas ...
+
+; n°1: kasra/ya
+H / [LTR] _ Q? [Iyi] ^N > Hy
+H / [Iyi] _ > Hy
+
+; n°2: damma/waw
+H / [LTR] _ Q? (U|u) ^N > Hw
+H / (U|u) _ Q? ^[Iyi] > Hw
+H / U _ > HBAR
+
+; n°3: fatha/alif
+H Q? A > HA
+H / A _ Q? a > HBAR
+H / ^[UI] _ Q? a > Ha
+H / a _ Q? ^[UI] > Ha
+
+
+pass(Unicode)
+
+Class [Digits] = (U+0030..U+0039)
+Class [ArDigits] = (U+0660..U+0669)
+Class [ArEasternDigits] = (U+06F0..U+06F9)
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+
+
+
+
+;normal code
+
+
+(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA
+(P z|U+1E93) > U+0638
+C z C z > U+0698 U+0651 ;;SHADDA
+C z > U+0698
+V z V z > U+0696 U+0651 ;;SHADDA
+V z > U+0696 ;pashto
+z z > U+0632 U+0651 ;;SHADDA
+z > U+0632
+Q Y Y > U+0649 U+0651 ;;SHADDA
+Q Y > U+0649
+Y Y > U+064E U+0649 U+0651 ;;SHADDA
+Y > U+064E U+0649
+;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots
+y y > U+06CC U+0651 ;;SHADDA
+y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots
+v v > U+06A4 U+0651 ;;SHADDA
+v > U+06A4
+W > U+0648 U+0627 ; waw + alif
+C U > U+064F U+0648 U+0653; historical spelling : madda on waw
+C w C w > U+06C9 U+0651 ;;SHADDA
+C w > U+06C9
+CO w CO w > U+06CA U+0651 ;,SHADDA
+CO w > U+06CA
+U A / _ # > U+064F U+0648 U+0627
+Q U [Uw] > U+0648 U+0651 ;;SHADDA
+Q U > U+0648
+U [Uw] > U+064F U+0648 U+0651 ;;SHADDA
+U > U+064F U+0648
+w w > U+0648 U+0651 ;;SHADDA
+w > U+0648
+Q u N? >
+u N > U+064C
+u > U+064F
+V t V t > U+0679 U+0651 ;;SHADDA
+V t > U+0679 ;urdu
+UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA
+UL (t|s) > U+062B
+(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA
+(P t|U+1E6D) > U+0637
+t t > U+062A U+0651 ;;SHADDA
+t > U+062A
+T T Q AN > U+0629 U+0651 ;;SHADDA
+T Q AN > U+0629
+T AN > U+0629 U+064B
+T T > U+0629 U+0651 ;;SHADDA
+T > U+0629
+C s C s > U+0634 U+0651 ;;SHADDA
+C s > U+0634
+(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA
+(P s|U+1E63) > U+0635
+V s V s > U+069A U+0651 ;;SHADDA
+V s > U+069A ;Pashto
+CO s CO s > U+069B U+0651 ;;SHADDA
+CO s > U+069B ; sin with 3 dots below
+s s > U+0633 U+0651 ;;SHADDA
+s > U+0633
+C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<<
+C r > U+06EF
+CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<<
+CO r > U+0697 ; Dargwa language, Dagestan
+P r P r > U+0694 U+0651 ;;SHADDA
+P r > U+0694 ; r with dot below; in Kurdish .r -> 0694
+V r V r > U+0691 U+0651 ;;SHADDA
+V r > U+0691 ;Urdu
+r r > U+0631 U+0651 ;;SHADDA
+r > U+0631
+P q P q > U+066F U+0651 ;;SHADDA
+P q > U+066F
+q q > U+0642 U+0651 ;;SHADDA
+q > U+0642
+p p > U+067E U+0651 ;;SHADDA
+p > U+067E
+CO n CO n > U+06B1 U+0651 ;;SHADDA
+CO n > U+06B1
+C n C n > U+06AD U+0651 ;;SHADDA
+C n > U+06AD
+P n P n > U+06BA U+0651 ;;SHADDA
+P n > U+06BA ; urdu
+V n V n > U+06BC U+0651 ;;SHADDA
+V n > U+06BC ; Pashto
+n n > U+0646 U+0651 ;;SHADDA
+n > U+0646
+m m > U+0645 U+0651 ;;SHADDA
+m > U+0645
+P l P l > U+06B6 U+0651 ;
+P l > U+06B6 ; ADDED <<<
+C l C l > U+06B5 U+0651 ;;SHADDA
+C l > U+06B5 ;kurdish
+l l > U+0644 U+0651 ;;SHADDA
+l > U+0644
+P k P k > U+06A9 U+0651 ;;SHADDA
+P k > U+06A9 ; pashto urdu
+UL k UL k > U+063A U+0651 ;;SHADDA
+UL k > U+063A
+k k > U+0643 U+0651 ;;SHADDA
+k > U+0643
+C g C g > U+062C U+0651 ;;SHADDA
+C g > U+062C
+CO j CO j > U+0684 U+0651 ;;SHADDA
+CO j > U+0684
+j j > U+062C U+0651 ;;SHADDA
+j > U+062C
+Q I > U+064A
+I > U+0650 U+064A
+C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya
+UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ###
+Q i N? > ;
+i N > U+064D
+i > U+0650
+x x > U+062E U+0651 ;;SHADDA
+x > U+062E
+U+0048 > U+06C3
+UL h UL h > U+062E U+0651 ;;SHADDA
+UL h > U+062E
+(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA
+(P h|U+1E25) > U+062D
+V h V h > U+06C1 U+0651 ;;SHADDA
+V h > U+06C1
+H H > U+06C1 U+0651 ;;SHADDA
+H > U+06C1
+h h > U+06BE U+0651 ;;SHADDA
+h > U+06BE ; urdu
+;; fix letter+h letter+h > letter+h shadda in URDU <<<
+CO g CO g > U+06B3 U+0651 ;;SHADDA
+CO g > U+06B3
+V g V g > U+06AC U+0651 ;;SHADDA
+V g > U+06AC ; kaf with dot above
+P g P g > U+063A U+0651 ;;SHADDA
+P g > U+063A
+g g > U+06AF U+0651 ;;SHADDA
+g > U+06AF
+G G > U+06AB U+0651 ;;SHADDA
+G > U+06AB ;pashto
+P f P f > U+06A1 U+0651 ;;SHADDA
+P f > U+06A1
+f f > U+0641 U+0651 ;;SHADDA
+f > U+0641
+V d V d > U+0688 U+0651 ;;SHADDA
+V d > U+0688 ;urdu
+P V d P V d > U+068B U+0651 ;;SHADDA
+P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi)
+C d C d > U+06EE U+0651 ;;SHADDA
+C d > U+06EE ; not defined in ArabTeX
+CO d CO d > U+068F U+0651 ;;SHADDA
+CO d > U+068F
+CO CO d CO CO d > U+0690 U+0651 ;;SHADDA
+CO CO d > U+0690 ; old urdu: not in ArabTeX
+UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA
+UL (d|z) > U+0630
+(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA
+(P d|U+1E0D) > U+0636
+d d > U+062F U+0651 ;;SHADDA
+d > U+062F
+V c V c > U+0685 U+0651 ;;SHADDA
+V c > U+0685 ;pashto
+C c C c > U+0686 U+0651 ;;SHADDA
+C c > U+0686
+P C c P C c > U+06BF U+0651 ;;SHADDA
+P C c > U+06BF ;; cheh with dot above <<<
+c c > U+0681 U+0651 ;;SHADDA
+c > U+0681 ; ح with hamza above
+CO c CO c > U+0682 U+0651 ;;SHADDA
+CO c > U+0682 ; old pashto
+CO b CO b > U+067B U+0651 ;;SHADDA
+CO b > U+067B
+P b P b > U+066E U+0651 ;;SHADDA
+P b > U+066E
+b b > U+0628 U+0651 ;;SHADDA
+b > U+0628
+H A > U+0622
+C A > U+064E U+0622 ; historical spelling
+UL A > U+064E U+0649
+UL a > U+0670
+UL u > U+064F;
+UL i > U+0650;
+Q AN / (A H|Ha) _ > ;
+AN / (A H|Ha) _ > U+064B
+Q AN > U+0627
+AN > U+0627 U+064B
+Q a >
+a > U+064E
+Q A > U+0627
+A > U+064E U+0627
+Ain Ain > U+0639 U+0651 ;;SHADDA
+Ain > U+0639
+H H > U+0621 U+0651 ;;SHADDA
+H > U+0621
+U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma
+Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash
+(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks
+[Digits] > [ArEasternDigits]
+Z Z Z / # _ # > U+2014
+Z Z / # _ # > U+2013
+Z Z > U+0640
+B > U+0640
+Z / # _ > U+200D ; -x > force initial form with "zero-width joiner"
+Z / _ # > U+200D ; x- > force final form
+U+003C U+003C > U+00BB ;<<
+U+003E U+003E > U+00AB ;>>
+U+00AB > U+00BB
+U+00BB > U+00AB
+UL > U+0640 ;_
+U+003F > U+061F ;?
+U+003B > U+061B ;;
+U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above...
+U+002C > U+060C ;,
+U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ...
+U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual
+ ; analysis, so quoting of hamzas etc may be necessary
+;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules
+;U+005B > U+005D ;[
+Q [VWL] > ;stripoff quoted vowels
+U+00B0 > U+0652 ; °
+N > ;
+C > ;^
+BAR > ;|
+P P > U+06D4 ; urdu full stop << check
+
+pass(Unicode)
+
+Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-)
+Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc.
+Class [VWL] = (U+0627 U+0648..U+0650 U+0670);
+[CONS]=k1 / _ Z? [CONS] ^U+0651 > @k1 U+0652 ; hack: 2nd consonant has no shadda
+U+064E (U+064A|U+0648)=hc / _ (^[VWLX]|#) > U+064E @hc U+0652 ; ay and aw diphtongs
+U+0627 / # _ U+0644 > U+0627 U+064E ; otherwise initial alif takes fatha
+[CONS]=k1 / _ ([CONS]|#) > @k1 U+0652 ; consonant + (consonant or final)
+;; [CONS]=k1 / _ # > @k1 U+0652 ; final consonant
+Q > ;
+Z > ;
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-urdu-fullvoc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-urdu-fullvoc.tec
index b4e82a0e7e7..4de34ae02d8 100644
--- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-urdu-fullvoc.tec
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-urdu-fullvoc.tec
Binary files differ
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-urdu-novoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-urdu-novoc.map
new file mode 100644
index 00000000000..5104ee1e2e8
--- /dev/null
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-urdu-novoc.map
@@ -0,0 +1,484 @@
+LHSName "ArabTeX-urdu-novowels"
+RHSName "UNICODE"
+
+Define a U+0061 ;a
+Define b U+0062 ;b
+Define c U+0063 ;c
+Define d U+0064 ;d
+Define e U+0065 ;e
+Define f U+0066 ;f
+Define g U+0067 ;g
+Define h U+0068 ;h
+Define i U+0069 ;i
+Define j U+006A ;j
+Define k U+006B ;k
+Define l U+006C ;l
+Define m U+006D ;m
+Define n U+006E ;n
+Define o U+006F ;o
+Define p U+0070 ;p
+Define q U+0071 ;q
+Define r U+0072 ;r
+Define s U+0073 ;s
+Define t U+0074 ;t
+Define u U+0075 ;u
+Define v U+0076 ;v
+Define w U+0077 ;w
+Define x U+0078 ;x
+Define y U+0079 ;y
+Define z U+007A ;z
+Define A U+0041 ;A
+Define B U+0042 ;B
+Define E U+0045 ;E
+Define G U+0047 ;G
+Define I U+0049 ;I
+Define N U+004E ;N
+Define O U+004F ;O
+Define T U+0054 ;T
+Define U U+0055 ;U
+Define W U+0057 ;W
+Define Y U+0059 ;Y
+Define C U+005E ;^ << CARET
+Define UL U+005F ;_ << UNDERLINE
+Define P U+002E ;. << DOT
+Define V U+002C ;, << COMMA (_V_irgule)
+Define CO U+003A ;: << COLON
+Define SC U+003B ;; << SEMICOLON
+Define Ain U+0060 ;`
+Define H U+0027 ;' << HAMZA
+Define Q U+0022 ;" << QUOTE
+Define Z U+002D ;- << HYPHEN
+Define BAR U+007C ;|
+Define AN U+0061 U+004E ; aN
+Define LLAH U+006C U+006C U+005F U+0061 U+0068
+;Define NUL U+00A6;
+Define Ha U+0623
+Define Hi U+0625
+Define Hy U+0626
+Define Hw U+0624
+Define Hh U+06C0 ;; = U+0647 U+0654
+Define HA U+0622
+Define HB U+0640 U+0654
+Define HBAR U+0621 ; '|
+
+pass(Unicode)
+
+U+E000 > ; eliminate special code for capitalization in transliterations
+
+pass(Unicode)
+
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [AVWL] = (U+064B..U+0650);
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" `
+Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ”
+Class [PUNCT] = (V SC P CO)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u)
+;Class [ae] = (U+0061 U+0065) ;(a e)
+;Class [ou] = (U+0075 U+006F) ;(u o)
+Class [Iyi] = (U+0069 U+0079 U+0049)
+Class [UI] = (U+0049 U+0055) ; U I
+Class [Digits] = (U+0030..U+0039)
+
+Define BEG (#|Z|[BRACKETS])
+Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #)
+Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z)
+
+; special ligatures
+;; 1. Standard ArabTeX input
+;; WARNING! there are, alas, two classes of Arabic fonts:
+;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2
+;; For these the ligature llah can be accessed by the sequence lam-lam-ha
+;; b) Those that do not have the initial alif in U+FDF2
+;; The BAR is used in the DMG transliteration to suppress the initial A
+(a|A) BAR? l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah'
+LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h'
+;; UPPERCASE mnemonics for various ligatures or special glyphs
+;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode
+U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h'
+U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic
+;; 2b. Ligatures and glyphs defined in Unicode:
+U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH'
+U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH'
+
+U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam
+U+0028 U+0028 > U+FD3F ;; '((' : ornate right par
+U+0029 U+0029 > U+FD3E ;; '))' : ornate left par
+U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign
+;; most fonts won't have the following ones:
+U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign)
+U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign
+U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR'
+U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD'
+U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM'
+U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL')
+U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE')
+U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM'
+U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA'
+U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu"
+U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik
+
+U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY
+U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY
+U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM-
+U+005E U+004C U+0041 > U+06D9 ;; ^LA
+U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM
+U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS
+U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN
+U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB
+U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO
+U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO
+U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM
+U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM
+U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN
+U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA
+U+0057 U+0041 U+0057 > U+06E5 ;; WAW
+U+0059 U+0045 U+0048 > U+06E6 ;; YEH
+U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH
+U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN
+U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA
+U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP
+U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP
+U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP
+U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM
+
+U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::")
+
+;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts
+U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]]
+
+
+; vowels
+u u > U
+i i > I
+a a > A
+[AVWL] > ; strip off vowels when writing UTF-8 Arabic with novoc mode
+CO O > U+06FC ;
+H E > U+06D3 ;; hamza + yeh barree
+E / _ # > U+06D2
+E > y
+a e / _ # > a U+06D2
+a e > a y
+a o > a w
+(o|u)? O / # _ > U+0627 w
+(o|u)? O > w
+CO U > U+06C7 ;
+e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish)
+o > u
+I / _ # > i y
+
+
+;; Persian ezafe (ALL BUT ARABIC AND UIGHUR)
+U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<<
+U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I
+Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e
+Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I
+Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i
+Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i
+Z / U+0048 _ > U+0020 ;
+b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen
+
+;; initial characters ...
+a l Z / BEG _ > U+0627 l Z
+;; wasla on initial alif : NEW! NOT TESTED!
+H / BEG _ l l > U+0627 ;
+[VWL]=v1 / BEG _ > A @v1
+A / BEG _ > HA ;; ADD MORE ? <<<
+Q?=q1 U / BEG _ > A @q1 u w ; -U
+; Q?=q1 I / BEG _ > A @q1 i y ; -I ; but not when I is final FIXME!!!
+Q?=q1 I / BEG _ > A @q1 i y ; except for Persian, coz of ezafe rules
+
+
+;; Words with anomalous orthography:
+
+; mi'aT -> ماية
+;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy
+m Q i H Q a / _ (T|t) > m Q i A Hy Q a
+m Q i H a / _ (T|t) > m Q i A Hy
+m i H Q a / _ (T|t) > m A Hy Q a
+m i H a / _ (T|t) > m A Hy
+
+
+;; contextual analysis of hamzas
+;; THESE DO NOT APPLY FOR SINDHI
+
+; initial hamzas
+H / (#|^[LTR]) _ Q? [Iyi] > Hi
+H Q A / (#|^[LTR]) _ > HA ; alif madda
+H / (#|^[LTR]) _ Q? [Uwu] > Ha
+H / (#|^[LTR]) _ Q? a > Ha
+Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word
+
+; quoted hamzas in contextual mode, equivalent to verbatim mode
+a Q H > Ha
+i Q H > Hi
+y Q H > Hy
+w Q H > Hw
+h Q H > Hh
+A Q H > HA
+B Q H > HB
+BAR Q H > HBAR
+
+; hamza + fathatan
+H / a _ Q? AN > Ha
+;;H / [Iyi] _ Q? AN > Hy
+H / _ Q? AN > Hy
+
+;final hamzas
+H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ...
+H / a _ Q? (#|^[LTR]) > Ha ; not AN...
+H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN...
+H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy
+H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw
+
+;;and more hamzas ...
+
+; n°1: kasra/ya
+H / [LTR] _ Q? [Iyi] ^N > Hy
+H / [Iyi] _ > Hy
+
+; n°2: damma/waw
+H / [LTR] _ Q? (U|u) ^N > Hw
+H / (U|u) _ Q? ^[Iyi] > Hw
+H / U _ > HBAR
+
+; n°3: fatha/alif
+H Q? A > HA
+H / A _ Q? a > HBAR
+H / ^[UI] _ Q? a > Ha
+H / a _ Q? ^[UI] > Ha
+
+
+pass(Unicode)
+
+Class [Digits] = (U+0030..U+0039)
+Class [ArDigits] = (U+0660..U+0669)
+Class [ArEasternDigits] = (U+06F0..U+06F9)
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+
+
+
+
+;normal code
+
+
+(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA
+(P z|U+1E93) > U+0638
+C z C z > U+0698 U+0651 ;;SHADDA
+C z > U+0698
+V z V z > U+0696 U+0651 ;;SHADDA
+V z > U+0696 ;pashto
+z z > U+0632 U+0651 ;;SHADDA
+z > U+0632
+Y Y > U+0649 U+0651 ;;SHADDA
+Y > U+0649
+;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots
+y y > U+06CC U+0651 ;;SHADDA
+y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots
+v v > U+06A4 U+0651 ;;SHADDA
+v > U+06A4
+W > U+0648 U+0627 ; waw + alif
+C U > U+064F U+0648 U+0653; historical spelling : madda on waw
+Q U [Uw] > U+064F U+0648 U+0651 ;;SHADDA
+Q U > U+064F U+0648
+[Uw] [Uw] > U+0648 U+0651 ;;SHADDA
+[Uw] > U+0648
+C w C w > U+06C9 U+0651 ;;SHADDA
+C w > U+06C9
+CO w CO w > U+06CA U+0651 ;,SHADDA
+CO w > U+06CA
+Q u N > U+064C
+u N >
+Q u > U+064F
+V t V t > U+0679 U+0651 ;;SHADDA
+V t > U+0679 ;urdu
+UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA
+UL (t|s) > U+062B
+(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA
+(P t|U+1E6D) > U+0637
+t t > U+062A U+0651 ;;SHADDA
+t > U+062A
+T T Q AN > U+0629 U+0651 U+064B ;;SHADDA
+T Q AN > U+0629 U+064B
+T AN > U+0629
+T T > U+0629 U+0651 ;;SHADDA
+T > U+0629
+C s C s > U+0634 U+0651 ;;SHADDA
+C s > U+0634
+(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA
+(P s|U+1E63) > U+0635
+V s V s > U+069A U+0651 ;;SHADDA
+V s > U+069A ;Pashto
+CO s CO s > U+069B U+0651 ;;SHADDA
+CO s > U+069B ; sin with 3 dots below
+s s > U+0633 U+0651 ;;SHADDA
+s > U+0633
+C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<<
+C r > U+06EF
+CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<<
+CO r > U+0697 ; Dargwa language, Dagestan
+P r P r > U+0694 U+0651 ;;SHADDA
+P r > U+0694 ; r with dot below; in Kurdish .r -> 0694
+V r V r > U+0691 U+0651 ;;SHADDA
+V r > U+0691 ;Urdu
+r r > U+0631 U+0651 ;;SHADDA
+r > U+0631
+P q P q > U+066F U+0651 ;;SHADDA
+P q > U+066F
+q q > U+0642 U+0651 ;;SHADDA
+q > U+0642
+p p > U+067E U+0651 ;;SHADDA
+p > U+067E
+CO n CO n > U+06B1 U+0651 ;;SHADDA
+CO n > U+06B1
+C n C n > U+06AD U+0651 ;;SHADDA
+C n > U+06AD
+P n P n > U+06BA U+0651 ;;SHADDA
+P n > U+06BA ; urdu
+V n V n > U+06BC U+0651 ;;SHADDA
+V n > U+06BC ; Pashto
+n n > U+0646 U+0651 ;;SHADDA
+n > U+0646
+m m > U+0645 U+0651 ;;SHADDA
+m > U+0645
+P l P l > U+06B6 U+0651 ;
+P l > U+06B6 ; ADDED <<<
+C l C l > U+06B5 U+0651 ;;SHADDA
+C l > U+06B5 ;kurdish
+l l > U+0644 U+0651 ;;SHADDA
+l > U+0644
+P k P k > U+06A9 U+0651 ;;SHADDA
+P k > U+06A9 ; pashto urdu
+UL k UL k > U+063A U+0651 ;;SHADDA
+UL k > U+063A
+k k > U+0643 U+0651 ;;SHADDA
+k > U+0643
+C g C g > U+062C U+0651 ;;SHADDA
+C g > U+062C
+CO j CO j > U+0684 U+0651 ;;SHADDA
+CO j > U+0684
+j j > U+062C U+0651 ;;SHADDA
+j > U+062C
+Q I > U+0650 U+064A
+C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya
+UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ###
+I > U+064A
+Q i N > U+064D
+i N > ;
+Q i > U+0650
+x x > U+062E U+0651 ;;SHADDA
+x > U+062E
+U+0048 > U+06C3
+UL h UL h > U+062E U+0651 ;;SHADDA
+UL h > U+062E
+(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA
+(P h|U+1E25) > U+062D
+V h V h > U+06C1 U+0651 ;;SHADDA
+V h > U+06C1
+H H > U+06C1 U+0651 ;;SHADDA
+H > U+06C1
+h h > U+06BE U+0651 ;;SHADDA
+h > U+06BE ; urdu
+;; fix letter+h letter+h > letter+h shadda in URDU <<<
+CO g CO g > U+06B3 U+0651 ;;SHADDA
+CO g > U+06B3
+V g V g > U+06AC U+0651 ;;SHADDA
+V g > U+06AC ; kaf with dot above
+P g P g > U+063A U+0651 ;;SHADDA
+P g > U+063A
+g g > U+06AF U+0651 ;;SHADDA
+g > U+06AF
+G G > U+06AB U+0651 ;;SHADDA
+G > U+06AB ;pashto
+P f P f > U+06A1 U+0651 ;;SHADDA
+P f > U+06A1
+f f > U+0641 U+0651 ;;SHADDA
+f > U+0641
+V d V d > U+0688 U+0651 ;;SHADDA
+V d > U+0688 ;urdu
+P V d P V d > U+068B U+0651 ;;SHADDA
+P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi)
+C d C d > U+06EE U+0651 ;;SHADDA
+C d > U+06EE ; not defined in ArabTeX
+CO d CO d > U+068F U+0651 ;;SHADDA
+CO d > U+068F
+CO CO d CO CO d > U+0690 U+0651 ;;SHADDA
+CO CO d > U+0690 ; old urdu: not in ArabTeX
+UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA
+UL (d|z) > U+0630
+(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA
+(P d|U+1E0D) > U+0636
+d d > U+062F U+0651 ;;SHADDA
+d > U+062F
+V c V c > U+0685 U+0651 ;;SHADDA
+V c > U+0685 ;pashto
+C c C c > U+0686 U+0651 ;;SHADDA
+C c > U+0686
+P C c P C c > U+06BF U+0651 ;;SHADDA
+P C c > U+06BF ;; cheh with dot above <<<
+c c > U+0681 U+0651 ;;SHADDA
+c > U+0681 ; ح with hamza above
+CO c CO c > U+0682 U+0651 ;;SHADDA
+CO c > U+0682 ; old pashto
+CO b CO b > U+067B U+0651 ;;SHADDA
+CO b > U+067B
+P b P b > U+066E U+0651 ;;SHADDA
+P b > U+066E
+b b > U+0628 U+0651 ;;SHADDA
+b > U+0628
+H A > U+0622
+C A > U+064E U+0622 ; historical spelling
+UL A > U+0649
+UL a > U+0670
+UL u > ;
+UL i > ;
+Q AN / (A H|Ha) _ > U+064B
+AN / (A H|Ha) _ > ;
+Q AN > U+0627 U+064B
+AN > U+0627
+Q a > U+064E
+Q A > U+064E U+0627
+A > U+0627
+Ain Ain > U+0639 U+0651 ;;SHADDA
+Ain > U+0639
+H H > U+0621 U+0651 ;;SHADDA
+H > U+0621
+U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma
+Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash
+(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks
+[Digits] > [ArEasternDigits]
+Z Z Z / # _ # > U+2014
+Z Z / # _ # > U+2013
+Z Z > U+0640
+B > U+0640
+Z / # _ > U+200D ; -x > force initial form with "zero-width joiner"
+Z / _ # > U+200D ; x- > force final form
+U+003C U+003C > U+00BB ;<<
+U+003E U+003E > U+00AB ;>>
+U+00AB > U+00BB
+U+00BB > U+00AB
+UL > U+0640 ;_
+U+003F > U+061F ;?
+U+003B > U+061B ;;
+U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above...
+U+002C > U+060C ;,
+U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ...
+U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual
+ ; analysis, so quoting of hamzas etc may be necessary
+;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules
+;U+005B > U+005D ;[
+[VWL] > ;stripoff vowels
+Q > U+0652
+U+00B0 > U+0652 ; °
+N > ;
+C > ;^
+Z > ;-
+BAR > ;|
+P P > U+06D4 ; urdu full stop << check
+
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-urdu-novoc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-urdu-novoc.tec
index 172ba13bca3..62a714e8c17 100644
--- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-urdu-novoc.tec
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-urdu-novoc.tec
Binary files differ
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-urdu-voc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-urdu-voc.map
new file mode 100644
index 00000000000..f91a76587f0
--- /dev/null
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-urdu-voc.map
@@ -0,0 +1,494 @@
+LHSName "ArabTeX-urdu-vocalized"
+RHSName "UNICODE"
+
+Define a U+0061 ;a
+Define b U+0062 ;b
+Define c U+0063 ;c
+Define d U+0064 ;d
+Define e U+0065 ;e
+Define f U+0066 ;f
+Define g U+0067 ;g
+Define h U+0068 ;h
+Define i U+0069 ;i
+Define j U+006A ;j
+Define k U+006B ;k
+Define l U+006C ;l
+Define m U+006D ;m
+Define n U+006E ;n
+Define o U+006F ;o
+Define p U+0070 ;p
+Define q U+0071 ;q
+Define r U+0072 ;r
+Define s U+0073 ;s
+Define t U+0074 ;t
+Define u U+0075 ;u
+Define v U+0076 ;v
+Define w U+0077 ;w
+Define x U+0078 ;x
+Define y U+0079 ;y
+Define z U+007A ;z
+Define A U+0041 ;A
+Define B U+0042 ;B
+Define E U+0045 ;E
+Define G U+0047 ;G
+Define I U+0049 ;I
+Define N U+004E ;N
+Define O U+004F ;O
+Define T U+0054 ;T
+Define U U+0055 ;U
+Define W U+0057 ;W
+Define Y U+0059 ;Y
+Define C U+005E ;^ << CARET
+Define UL U+005F ;_ << UNDERLINE
+Define P U+002E ;. << DOT
+Define V U+002C ;, << COMMA (_V_irgule)
+Define CO U+003A ;: << COLON
+Define SC U+003B ;; << SEMICOLON
+Define Ain U+0060 ;`
+Define H U+0027 ;' << HAMZA
+Define Q U+0022 ;" << QUOTE
+Define Z U+002D ;- << HYPHEN
+Define BAR U+007C ;|
+Define AN U+0061 U+004E ; aN
+Define LLAH U+006C U+006C U+005F U+0061 U+0068
+;Define NUL U+00A6;
+Define Ha U+0623
+Define Hi U+0625
+Define Hy U+0626
+Define Hw U+0624
+Define Hh U+06C0 ;; = U+0647 U+0654
+Define HA U+0622
+Define HB U+0640 U+0654
+Define HBAR U+0621 ; '|
+
+pass(Unicode)
+
+U+E000 > ; eliminate special code for capitalization in transliterations
+
+pass(Unicode)
+
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [AVWL] = (U+064B..U+0650);
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" `
+Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ”
+Class [PUNCT] = (V SC P CO)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u)
+;Class [ae] = (U+0061 U+0065) ;(a e)
+;Class [ou] = (U+0075 U+006F) ;(u o)
+Class [Iyi] = (U+0069 U+0079 U+0049)
+Class [UI] = (U+0049 U+0055) ; U I
+Class [Digits] = (U+0030..U+0039)
+
+Define BEG (#|Z|[BRACKETS])
+Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #)
+Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z)
+
+; special ligatures
+;; 1. Standard ArabTeX input
+;; WARNING! there are, alas, two classes of Arabic fonts:
+;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2
+;; For these the ligature llah can be accessed by the sequence lam-lam-ha
+;; b) Those that do not have the initial alif in U+FDF2
+;; The BAR is used in the DMG transliteration to suppress the initial A
+(a|A) BAR? l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah'
+LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h'
+;; UPPERCASE mnemonics for various ligatures or special glyphs
+;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode
+U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h'
+U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic
+;; 2b. Ligatures and glyphs defined in Unicode:
+U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH'
+U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH'
+
+U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam
+U+0028 U+0028 > U+FD3F ;; '((' : ornate right par
+U+0029 U+0029 > U+FD3E ;; '))' : ornate left par
+U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign
+;; most fonts won't have the following ones:
+U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign)
+U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign
+U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR'
+U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD'
+U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM'
+U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL')
+U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE')
+U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM'
+U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA'
+U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu"
+U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik
+
+U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY
+U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY
+U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM-
+U+005E U+004C U+0041 > U+06D9 ;; ^LA
+U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM
+U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS
+U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN
+U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB
+U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO
+U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO
+U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM
+U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM
+U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN
+U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA
+U+0057 U+0041 U+0057 > U+06E5 ;; WAW
+U+0059 U+0045 U+0048 > U+06E6 ;; YEH
+U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH
+U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN
+U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA
+U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP
+U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP
+U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP
+U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM
+
+U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::")
+
+;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts
+U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]]
+
+
+; vowels
+u u > U
+i i > I
+a a > A
+CO O > U+06FC ;
+H E > U+06D3 ;; hamza + yeh barree
+E / _ # > U+06D2
+E > y
+a e / _ # > a U+06D2
+a e > a y
+a o > a w
+(o|u)? O / # _ > U+0627 w
+(o|u)? O > w
+CO U > U+06C7 ;
+e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish)
+o > u
+I / _ # > i y
+
+
+;; Persian ezafe (ALL BUT ARABIC AND UIGHUR)
+U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<<
+U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I
+Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e
+Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I
+Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i
+Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i
+Z / U+0048 _ > U+0020 ;
+b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen
+
+;; initial characters ...
+a l Z / BEG _ > U+0627 l Z
+;; wasla on initial alif : NEW! NOT TESTED!
+H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI
+[VWL]=v1 / BEG _ > U+0627 @v1
+A / BEG _ > HA ;; ADD MORE ? <<<
+Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U
+; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I
+Q?=q1 I / BEG _ > U+0627 @q1 i y
+
+
+;; Words with anomalous orthography:
+
+; mi'aT -> ماية
+;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy
+m Q i H Q a / _ (T|t) > m U+0627 Hy
+m Q i H a / _ (T|t) > m U+0627 Hy a
+m i H Q a / _ (T|t) > m i U+0627 Hy
+m i H a / _ (T|t) > m i U+0627 Hy a
+
+
+;; contextual analysis of hamzas
+;; THESE DO NOT APPLY FOR SINDHI
+
+; initial hamzas
+H / (#|^[LTR]) _ Q? [Iyi] > Hi
+H Q A / (#|^[LTR]) _ > HA ; alif madda
+H / (#|^[LTR]) _ Q? [Uwu] > Ha
+H / (#|^[LTR]) _ Q? a > Ha
+Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word
+
+; quoted hamzas in contextual mode, equivalent to verbatim mode
+a Q H > Ha
+i Q H > Hi
+y Q H > Hy
+w Q H > Hw
+h Q H > Hh
+A Q H > HA
+B Q H > HB
+BAR Q H > HBAR
+
+; hamza + fathatan
+H / a _ Q? AN > Ha
+;;H / [Iyi] _ Q? AN > Hy
+H / _ Q? AN > Hy
+
+;final hamzas
+H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ...
+H / a _ Q? (#|^[LTR]) > Ha ; not AN...
+H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN...
+H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy
+H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw
+
+;;and more hamzas ...
+
+; n°1: kasra/ya
+H / [LTR] _ Q? [Iyi] ^N > Hy
+H / [Iyi] _ > Hy
+
+; n°2: damma/waw
+H / [LTR] _ Q? (U|u) ^N > Hw
+H / (U|u) _ Q? ^[Iyi] > Hw
+H / U _ > HBAR
+
+; n°3: fatha/alif
+H Q? A > HA
+H / A _ Q? a > HBAR
+H / ^[UI] _ Q? a > Ha
+H / a _ Q? ^[UI] > Ha
+
+
+pass(Unicode)
+
+Class [Digits] = (U+0030..U+0039)
+Class [ArDigits] = (U+0660..U+0669)
+Class [ArEasternDigits] = (U+06F0..U+06F9)
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+
+
+
+
+;normal code
+
+
+(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA
+(P z|U+1E93) > U+0638
+C z C z > U+0698 U+0651 ;;SHADDA
+C z > U+0698
+V z V z > U+0696 U+0651 ;;SHADDA
+V z > U+0696 ;pashto
+z z > U+0632 U+0651 ;;SHADDA
+z > U+0632
+Q Y Y > U+0649 U+0651 ;;SHADDA
+Q Y > U+0649
+Y Y > U+064E U+0649 U+0651 ;;SHADDA
+Y > U+064E U+0649
+;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots
+y y > U+06CC U+0651 ;;SHADDA
+y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots
+v v > U+06A4 U+0651 ;;SHADDA
+v > U+06A4
+W > U+0648 U+0627 ; waw + alif
+C U > U+064F U+0648 U+0653; historical spelling : madda on waw
+C w C w > U+06C9 U+0651 ;;SHADDA
+C w > U+06C9
+CO w CO w > U+06CA U+0651 ;,SHADDA
+CO w > U+06CA
+U A / _ # > U+064F U+0648 U+0627
+Q U [Uw] > U+0648 U+0651 ;;SHADDA
+Q U > U+0648
+U [Uw] > U+064F U+0648 U+0651 ;;SHADDA
+U > U+064F U+0648
+w w > U+0648 U+0651 ;;SHADDA
+w > U+0648
+Q u N? >
+u N > U+064C
+u > U+064F
+V t V t > U+0679 U+0651 ;;SHADDA
+V t > U+0679 ;urdu
+UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA
+UL (t|s) > U+062B
+(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA
+(P t|U+1E6D) > U+0637
+t t > U+062A U+0651 ;;SHADDA
+t > U+062A
+T T Q AN > U+0629 U+0651 ;;SHADDA
+T Q AN > U+0629
+T AN > U+0629 U+064B
+T T > U+0629 U+0651 ;;SHADDA
+T > U+0629
+C s C s > U+0634 U+0651 ;;SHADDA
+C s > U+0634
+(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA
+(P s|U+1E63) > U+0635
+V s V s > U+069A U+0651 ;;SHADDA
+V s > U+069A ;Pashto
+CO s CO s > U+069B U+0651 ;;SHADDA
+CO s > U+069B ; sin with 3 dots below
+s s > U+0633 U+0651 ;;SHADDA
+s > U+0633
+C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<<
+C r > U+06EF
+CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<<
+CO r > U+0697 ; Dargwa language, Dagestan
+P r P r > U+0694 U+0651 ;;SHADDA
+P r > U+0694 ; r with dot below; in Kurdish .r -> 0694
+V r V r > U+0691 U+0651 ;;SHADDA
+V r > U+0691 ;Urdu
+r r > U+0631 U+0651 ;;SHADDA
+r > U+0631
+P q P q > U+066F U+0651 ;;SHADDA
+P q > U+066F
+q q > U+0642 U+0651 ;;SHADDA
+q > U+0642
+p p > U+067E U+0651 ;;SHADDA
+p > U+067E
+CO n CO n > U+06B1 U+0651 ;;SHADDA
+CO n > U+06B1
+C n C n > U+06AD U+0651 ;;SHADDA
+C n > U+06AD
+P n P n > U+06BA U+0651 ;;SHADDA
+P n > U+06BA ; urdu
+V n V n > U+06BC U+0651 ;;SHADDA
+V n > U+06BC ; Pashto
+n n > U+0646 U+0651 ;;SHADDA
+n > U+0646
+m m > U+0645 U+0651 ;;SHADDA
+m > U+0645
+P l P l > U+06B6 U+0651 ;
+P l > U+06B6 ; ADDED <<<
+C l C l > U+06B5 U+0651 ;;SHADDA
+C l > U+06B5 ;kurdish
+l l > U+0644 U+0651 ;;SHADDA
+l > U+0644
+P k P k > U+06A9 U+0651 ;;SHADDA
+P k > U+06A9 ; pashto urdu
+UL k UL k > U+063A U+0651 ;;SHADDA
+UL k > U+063A
+k k > U+0643 U+0651 ;;SHADDA
+k > U+0643
+C g C g > U+062C U+0651 ;;SHADDA
+C g > U+062C
+CO j CO j > U+0684 U+0651 ;;SHADDA
+CO j > U+0684
+j j > U+062C U+0651 ;;SHADDA
+j > U+062C
+Q I > U+064A
+I > U+0650 U+064A
+C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya
+UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ###
+Q i N? > ;
+i N > U+064D
+i > U+0650
+x x > U+062E U+0651 ;;SHADDA
+x > U+062E
+U+0048 > U+06C3
+UL h UL h > U+062E U+0651 ;;SHADDA
+UL h > U+062E
+(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA
+(P h|U+1E25) > U+062D
+V h V h > U+06C1 U+0651 ;;SHADDA
+V h > U+06C1
+H H > U+06C1 U+0651 ;;SHADDA
+H > U+06C1
+h h > U+06BE U+0651 ;;SHADDA
+h > U+06BE ; urdu
+;; fix letter+h letter+h > letter+h shadda in URDU <<<
+CO g CO g > U+06B3 U+0651 ;;SHADDA
+CO g > U+06B3
+V g V g > U+06AC U+0651 ;;SHADDA
+V g > U+06AC ; kaf with dot above
+P g P g > U+063A U+0651 ;;SHADDA
+P g > U+063A
+g g > U+06AF U+0651 ;;SHADDA
+g > U+06AF
+G G > U+06AB U+0651 ;;SHADDA
+G > U+06AB ;pashto
+P f P f > U+06A1 U+0651 ;;SHADDA
+P f > U+06A1
+f f > U+0641 U+0651 ;;SHADDA
+f > U+0641
+V d V d > U+0688 U+0651 ;;SHADDA
+V d > U+0688 ;urdu
+P V d P V d > U+068B U+0651 ;;SHADDA
+P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi)
+C d C d > U+06EE U+0651 ;;SHADDA
+C d > U+06EE ; not defined in ArabTeX
+CO d CO d > U+068F U+0651 ;;SHADDA
+CO d > U+068F
+CO CO d CO CO d > U+0690 U+0651 ;;SHADDA
+CO CO d > U+0690 ; old urdu: not in ArabTeX
+UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA
+UL (d|z) > U+0630
+(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA
+(P d|U+1E0D) > U+0636
+d d > U+062F U+0651 ;;SHADDA
+d > U+062F
+V c V c > U+0685 U+0651 ;;SHADDA
+V c > U+0685 ;pashto
+C c C c > U+0686 U+0651 ;;SHADDA
+C c > U+0686
+P C c P C c > U+06BF U+0651 ;;SHADDA
+P C c > U+06BF ;; cheh with dot above <<<
+c c > U+0681 U+0651 ;;SHADDA
+c > U+0681 ; ح with hamza above
+CO c CO c > U+0682 U+0651 ;;SHADDA
+CO c > U+0682 ; old pashto
+CO b CO b > U+067B U+0651 ;;SHADDA
+CO b > U+067B
+P b P b > U+066E U+0651 ;;SHADDA
+P b > U+066E
+b b > U+0628 U+0651 ;;SHADDA
+b > U+0628
+H A > U+0622
+C A > U+064E U+0622 ; historical spelling
+UL A > U+064E U+0649
+UL a > U+0670
+UL u > U+064F;
+UL i > U+0650;
+Q AN / (A H|Ha) _ > ;
+AN / (A H|Ha) _ > U+064B
+Q AN > U+0627
+AN > U+0627 U+064B
+Q a >
+a > U+064E
+Q A > U+0627
+A > U+064E U+0627
+Ain Ain > U+0639 U+0651 ;;SHADDA
+Ain > U+0639
+H H > U+0621 U+0651 ;;SHADDA
+H > U+0621
+U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma
+Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash
+(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks
+[Digits] > [ArEasternDigits]
+Z Z Z / # _ # > U+2014
+Z Z / # _ # > U+2013
+Z Z > U+0640
+B > U+0640
+Z / # _ > U+200D ; -x > force initial form with "zero-width joiner"
+Z / _ # > U+200D ; x- > force final form
+U+003C U+003C > U+00BB ;<<
+U+003E U+003E > U+00AB ;>>
+U+00AB > U+00BB
+U+00BB > U+00AB
+UL > U+0640 ;_
+U+003F > U+061F ;?
+U+003B > U+061B ;;
+U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above...
+U+002C > U+060C ;,
+U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ...
+U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual
+ ; analysis, so quoting of hamzas etc may be necessary
+;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules
+;U+005B > U+005D ;[
+Q [VWL] > ;stripoff quoted vowels
+Q > U+0652
+U+00B0 > U+0652 ; °
+N > ;
+C > ;^
+BAR > ;|
+P P > U+06D4 ; urdu full stop << check
+
+pass(Unicode)
+
+Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-)
+Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc.
+Class [VWL] = (U+0627 U+0648..U+0650 U+0670);
+Z > ;
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-urdu-voc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-urdu-voc.tec
index ff0e8f73555..07e3b00cfe6 100644
--- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-urdu-voc.tec
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-urdu-voc.tec
Binary files differ
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-voc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-voc.map
new file mode 100644
index 00000000000..17f2ea72f33
--- /dev/null
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-voc.map
@@ -0,0 +1,476 @@
+LHSName "ArabTeX-vocalized"
+RHSName "UNICODE"
+
+Define a U+0061 ;a
+Define b U+0062 ;b
+Define c U+0063 ;c
+Define d U+0064 ;d
+Define e U+0065 ;e
+Define f U+0066 ;f
+Define g U+0067 ;g
+Define h U+0068 ;h
+Define i U+0069 ;i
+Define j U+006A ;j
+Define k U+006B ;k
+Define l U+006C ;l
+Define m U+006D ;m
+Define n U+006E ;n
+Define o U+006F ;o
+Define p U+0070 ;p
+Define q U+0071 ;q
+Define r U+0072 ;r
+Define s U+0073 ;s
+Define t U+0074 ;t
+Define u U+0075 ;u
+Define v U+0076 ;v
+Define w U+0077 ;w
+Define x U+0078 ;x
+Define y U+0079 ;y
+Define z U+007A ;z
+Define A U+0041 ;A
+Define B U+0042 ;B
+Define E U+0045 ;E
+Define G U+0047 ;G
+Define I U+0049 ;I
+Define N U+004E ;N
+Define O U+004F ;O
+Define T U+0054 ;T
+Define U U+0055 ;U
+Define W U+0057 ;W
+Define Y U+0059 ;Y
+Define C U+005E ;^ << CARET
+Define UL U+005F ;_ << UNDERLINE
+Define P U+002E ;. << DOT
+Define V U+002C ;, << COMMA (_V_irgule)
+Define CO U+003A ;: << COLON
+Define SC U+003B ;; << SEMICOLON
+Define Ain U+0060 ;`
+Define H U+0027 ;' << HAMZA
+Define Q U+0022 ;" << QUOTE
+Define Z U+002D ;- << HYPHEN
+Define BAR U+007C ;|
+Define AN U+0061 U+004E ; aN
+Define LLAH U+006C U+006C U+005F U+0061 U+0068
+;Define NUL U+00A6;
+Define Ha U+0623
+Define Hi U+0625
+Define Hy U+0626
+Define Hw U+0624
+Define Hh U+06C0 ;; = U+0647 U+0654
+Define HA U+0622
+Define HB U+0640 U+0654
+Define HBAR U+0621 ; '|
+
+pass(Unicode)
+
+U+E000 > ; eliminate special code for capitalization in transliterations
+
+pass(Unicode)
+
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [AVWL] = (U+064B..U+0650);
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" `
+Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ”
+Class [PUNCT] = (V SC P CO)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u)
+;Class [ae] = (U+0061 U+0065) ;(a e)
+;Class [ou] = (U+0075 U+006F) ;(u o)
+Class [Iyi] = (U+0069 U+0079 U+0049)
+Class [UI] = (U+0049 U+0055) ; U I
+Class [Digits] = (U+0030..U+0039)
+
+Define BEG (#|Z|[BRACKETS])
+Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #)
+Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z)
+
+; special ligatures
+;; 1. Standard ArabTeX input
+;; WARNING! there are, alas, two classes of Arabic fonts:
+;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2
+;; For these the ligature llah can be accessed by the sequence lam-lam-ha
+;; b) Those that do not have the initial alif in U+FDF2
+;; The BAR is used in the DMG transliteration to suppress the initial A
+(a|A) BAR? l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah'
+LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h'
+;; UPPERCASE mnemonics for various ligatures or special glyphs
+;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode
+U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h'
+U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic
+;; 2b. Ligatures and glyphs defined in Unicode:
+U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH'
+U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH'
+
+U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam
+U+0028 U+0028 > U+FD3F ;; '((' : ornate right par
+U+0029 U+0029 > U+FD3E ;; '))' : ornate left par
+U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign
+;; most fonts won't have the following ones:
+U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign)
+U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign
+U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR'
+U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD'
+U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM'
+U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL')
+U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE')
+U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM'
+U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA'
+U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu"
+U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik
+
+U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY
+U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY
+U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM-
+U+005E U+004C U+0041 > U+06D9 ;; ^LA
+U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM
+U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS
+U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN
+U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB
+U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO
+U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO
+U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM
+U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM
+U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN
+U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA
+U+0057 U+0041 U+0057 > U+06E5 ;; WAW
+U+0059 U+0045 U+0048 > U+06E6 ;; YEH
+U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH
+U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN
+U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA
+U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP
+U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP
+U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP
+U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM
+
+U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::")
+
+;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts
+U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]]
+
+
+; vowels
+u u > U
+i i > I
+a a > A
+CO O > U+06FC ;
+a e > a y
+a o > a w
+CO U > U+06C7 ;
+e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish)
+o > u
+E > I
+O > U
+
+
+
+;; initial characters ...
+a l Z / BEG _ > U+0627 l Z
+H l Z / BEG _ > U+0627 l Z
+;; wasla on initial alif : NEW! NOT TESTED!
+H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI
+[VWL]=v1 / BEG _ > U+0627 @v1
+A / BEG _ > U+0627 a
+Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U
+; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I
+Q?=q1 I / BEG _ > U+0627 @q1 i y
+
+
+;; Words with anomalous orthography:
+
+; mi'aT -> ماية
+;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy
+m Q i H Q a / _ (T|t) > m U+0627 Hy
+m Q i H a / _ (T|t) > m U+0627 Hy a
+m i H Q a / _ (T|t) > m i U+0627 Hy
+m i H a / _ (T|t) > m i U+0627 Hy a
+
+
+;; contextual analysis of hamzas
+;; THESE DO NOT APPLY FOR SINDHI
+
+; initial hamzas
+H / (#|^[LTR]) _ Q? [Iyi] > Hi
+H Q A / (#|^[LTR]) _ > HA ; alif madda
+H / (#|^[LTR]) _ Q? [Uwu] > Ha
+H / (#|^[LTR]) _ Q? a > Ha
+Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word
+
+; quoted hamzas in contextual mode, equivalent to verbatim mode
+a Q H > Ha
+i Q H > Hi
+y Q H > Hy
+w Q H > Hw
+h Q H > Hh
+A Q H > HA
+B Q H > HB
+BAR Q H > HBAR
+
+; hamza + fathatan
+H / a _ Q? AN > Ha
+;;H / [Iyi] _ Q? AN > Hy
+H / _ Q? AN > Hy
+
+;final hamzas
+H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ...
+H / a _ Q? (#|^[LTR]) > Ha ; not AN...
+H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN...
+H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy
+H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw
+
+;;and more hamzas ...
+
+; n°1: kasra/ya
+H / [LTR] _ Q? [Iyi] ^N > Hy
+H / [Iyi] _ > Hy
+
+; n°2: damma/waw
+H / [LTR] _ Q? (U|u) ^N > Hw
+H / (U|u) _ Q? ^[Iyi] > Hw
+H / U _ > HBAR
+
+; n°3: fatha/alif
+H Q? A > HA
+H / A _ Q? a > HBAR
+H / ^[UI] _ Q? a > Ha
+H / a _ Q? ^[UI] > Ha
+
+
+pass(Unicode)
+
+Class [Digits] = (U+0030..U+0039)
+Class [ArDigits] = (U+0660..U+0669)
+Class [ArEasternDigits] = (U+06F0..U+06F9)
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+
+
+
+
+;normal code
+
+
+(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA
+(P z|U+1E93) > U+0638
+C z C z > U+0698 U+0651 ;;SHADDA
+C z > U+0698
+V z V z > U+0696 U+0651 ;;SHADDA
+V z > U+0696 ;pashto
+z z > U+0632 U+0651 ;;SHADDA
+z > U+0632
+Q Y Y > U+0649 U+0651 ;;SHADDA
+Q Y > U+0649
+Y Y > U+064E U+0649 U+0651 ;;SHADDA
+Y > U+064E U+0649
+P I P I / _ # > U+0650 U+06CC U+0651 ;; SHADDA
+P I / _ # > U+0650 U+06CC ;; workaround to have ya without dots in Arabic
+y y > U+064A U+0651 ;;SHADDA
+y > U+064A
+v v > U+06A4 U+0651 ;;SHADDA
+v > U+06A4
+W > U+0648 U+0627 ; waw + alif
+C U > U+064F U+0648 U+0653; historical spelling : madda on waw
+C w C w > U+06C9 U+0651 ;;SHADDA
+C w > U+06C9
+CO w CO w > U+06CA U+0651 ;,SHADDA
+CO w > U+06CA
+U A / _ # > U+064F U+0648 U+0627
+Q U [Uw] > U+0648 U+0651 ;;SHADDA
+Q U > U+0648
+U [Uw] > U+064F U+0648 U+0651 ;;SHADDA
+U > U+064F U+0648
+w w > U+0648 U+0651 ;;SHADDA
+w > U+0648
+Q u N? >
+u N > U+064C
+u > U+064F
+V t V t > U+0679 U+0651 ;;SHADDA
+V t > U+0679 ;urdu
+UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA
+UL (t|s) > U+062B
+(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA
+(P t|U+1E6D) > U+0637
+t t > U+062A U+0651 ;;SHADDA
+t > U+062A
+T T Q AN > U+0629 U+0651 ;;SHADDA
+T Q AN > U+0629
+T AN > U+0629 U+064B
+T T > U+0629 U+0651 ;;SHADDA
+T > U+0629
+C s C s > U+0634 U+0651 ;;SHADDA
+C s > U+0634
+(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA
+(P s|U+1E63) > U+0635
+V s V s > U+069A U+0651 ;;SHADDA
+V s > U+069A ;Pashto
+CO s CO s > U+069B U+0651 ;;SHADDA
+CO s > U+069B ; sin with 3 dots below
+s s > U+0633 U+0651 ;;SHADDA
+s > U+0633
+C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<<
+C r > U+06EF
+CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<<
+CO r > U+0697 ; Dargwa language, Dagestan
+P r P r > U+0694 U+0651 ;;SHADDA
+P r > U+0694 ; r with dot below; in Kurdish .r -> 0694
+V r V r > U+0691 U+0651 ;;SHADDA
+V r > U+0691 ;Urdu
+r r > U+0631 U+0651 ;;SHADDA
+r > U+0631
+P q P q > U+066F U+0651 ;;SHADDA
+P q > U+066F
+q q > U+0642 U+0651 ;;SHADDA
+q > U+0642
+p p > U+067E U+0651 ;;SHADDA
+p > U+067E
+CO n CO n > U+06B1 U+0651 ;;SHADDA
+CO n > U+06B1
+C n C n > U+06AD U+0651 ;;SHADDA
+C n > U+06AD
+P n P n > U+06BA U+0651 ;;SHADDA
+P n > U+06BA ; urdu
+V n V n > U+06BC U+0651 ;;SHADDA
+V n > U+06BC ; Pashto
+n n > U+0646 U+0651 ;;SHADDA
+n > U+0646
+m m > U+0645 U+0651 ;;SHADDA
+m > U+0645
+P l P l > U+06B6 U+0651 ;
+P l > U+06B6 ; ADDED <<<
+C l C l > U+06B5 U+0651 ;;SHADDA
+C l > U+06B5 ;kurdish
+l l > U+0644 U+0651 ;;SHADDA
+l > U+0644
+P k P k > U+06A9 U+0651 ;;SHADDA
+P k > U+06A9 ; pashto urdu
+UL k UL k > U+063A U+0651 ;;SHADDA
+UL k > U+063A
+k k > U+0643 U+0651 ;;SHADDA
+k > U+0643
+C g C g > U+062C U+0651 ;;SHADDA
+C g > U+062C
+CO j CO j > U+0684 U+0651 ;;SHADDA
+CO j > U+0684
+j j > U+062C U+0651 ;;SHADDA
+j > U+062C
+Q I > U+064A
+I > U+0650 U+064A
+C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya
+UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ###
+Q i N? > ;
+i N > U+064D
+i > U+0650
+x x > U+062E U+0651 ;;SHADDA
+x > U+062E
+UL h UL h > U+062E U+0651 ;;SHADDA
+UL h > U+062E
+(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA
+(P h|U+1E25) > U+062D
+V h V h > U+06C1 U+0651 ;;SHADDA
+V h > U+06C1
+h h > U+0647 U+0651 ;;SHADDA
+h > U+0647
+CO g CO g > U+06B3 U+0651 ;;SHADDA
+CO g > U+06B3
+V g V g > U+06AC U+0651 ;;SHADDA
+V g > U+06AC ; kaf with dot above
+P g P g > U+063A U+0651 ;;SHADDA
+P g > U+063A
+g g > U+06AF U+0651 ;;SHADDA
+g > U+06AF
+G G > U+06AB U+0651 ;;SHADDA
+G > U+06AB ;pashto
+P f P f > U+06A1 U+0651 ;;SHADDA
+P f > U+06A1
+f f > U+0641 U+0651 ;;SHADDA
+f > U+0641
+V d V d > U+068A U+0651 ;;SHADDA
+V d > U+068A
+P V d P V d > U+068B U+0651 ;;SHADDA
+P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi)
+C d C d > U+06EE U+0651 ;;SHADDA
+C d > U+06EE ; not defined in ArabTeX
+CO d CO d > U+068F U+0651 ;;SHADDA
+CO d > U+068F
+UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA
+UL (d|z) > U+0630
+(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA
+(P d|U+1E0D) > U+0636
+d d > U+062F U+0651 ;;SHADDA
+d > U+062F
+V c V c > U+0685 U+0651 ;;SHADDA
+V c > U+0685 ;pashto
+C c C c > U+0686 U+0651 ;;SHADDA
+C c > U+0686
+P C c P C c > U+06BF U+0651 ;;SHADDA
+P C c > U+06BF ;; cheh with dot above <<<
+c c > U+0681 U+0651 ;;SHADDA
+c > U+0681 ; ح with hamza above
+CO c CO c > U+0682 U+0651 ;;SHADDA
+CO c > U+0682 ; old pashto
+CO b CO b > U+067B U+0651 ;;SHADDA
+CO b > U+067B
+P b P b > U+066E U+0651 ;;SHADDA
+P b > U+066E
+b b > U+0628 U+0651 ;;SHADDA
+b > U+0628
+H A > U+0622
+C A > U+064E U+0622 ; historical spelling
+UL A > U+064E U+0649
+UL a > U+0670
+UL u > U+0657 ; inverted damma
+UL i > U+0656 ; subscript alif
+Q AN / (A H|Ha) _ > ;
+AN / (A H|Ha) _ > U+064B
+Q AN > U+0627
+AN > U+0627 U+064B
+Q a >
+a > U+064E
+Q A > U+0627
+A > U+064E U+0627
+Ain Ain > U+0639 U+0651 ;;SHADDA
+Ain > U+0639
+H H > U+0621 U+0651 ;;SHADDA
+H > U+0621
+U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma
+Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash
+(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks
+[Digits] > [ArDigits]
+Z Z Z / # _ # > U+2014
+Z Z / # _ # > U+2013
+Z Z > U+0640
+B > U+0640
+Z / # _ > U+200D ; -x > force initial form with "zero-width joiner"
+Z / _ # > U+200D ; x- > force final form
+U+003C U+003C > U+00BB ;<<
+U+003E U+003E > U+00AB ;>>
+U+00AB > U+00BB
+U+00BB > U+00AB
+UL > U+0640 ;_
+U+003F > U+061F ;?
+U+003B > U+061B ;;
+U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above...
+U+002C > U+060C ;,
+U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ...
+U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual
+ ; analysis, so quoting of hamzas etc may be necessary
+;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules
+;U+005B > U+005D ;[
+Q [VWL] > ;stripoff quoted vowels
+Q > U+0652
+U+00B0 > U+0652 ; °
+N > ;
+C > ;^
+BAR > ;|
+
+pass(Unicode)
+
+Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-)
+Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc.
+Class [VWL] = (U+0627 U+0648..U+0650 U+0670);
+U+0627 [VWL]? / [VWL] Z _ > U+0627 ; e.g. fa-isti_hraj -> initial alif has no vowel
+Z > ;
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-farsi-fullvoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-farsi-fullvoc.map
new file mode 100644
index 00000000000..f53c3d35d06
--- /dev/null
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-farsi-fullvoc.map
@@ -0,0 +1,495 @@
+LHSName "ArabTeX-farsi-fullvocalized"
+RHSName "UNICODE"
+
+Define a U+0061 ;a
+Define b U+0062 ;b
+Define c U+0063 ;c
+Define d U+0064 ;d
+Define e U+0065 ;e
+Define f U+0066 ;f
+Define g U+0067 ;g
+Define h U+0068 ;h
+Define i U+0069 ;i
+Define j U+006A ;j
+Define k U+006B ;k
+Define l U+006C ;l
+Define m U+006D ;m
+Define n U+006E ;n
+Define o U+006F ;o
+Define p U+0070 ;p
+Define q U+0071 ;q
+Define r U+0072 ;r
+Define s U+0073 ;s
+Define t U+0074 ;t
+Define u U+0075 ;u
+Define v U+0076 ;v
+Define w U+0077 ;w
+Define x U+0078 ;x
+Define y U+0079 ;y
+Define z U+007A ;z
+Define A U+0041 ;A
+Define B U+0042 ;B
+Define E U+0045 ;E
+Define G U+0047 ;G
+Define I U+0049 ;I
+Define N U+004E ;N
+Define O U+004F ;O
+Define T U+0054 ;T
+Define U U+0055 ;U
+Define W U+0057 ;W
+Define Y U+0059 ;Y
+Define C U+005E ;^ << CARET
+Define UL U+005F ;_ << UNDERLINE
+Define P U+002E ;. << DOT
+Define V U+002C ;, << COMMA (_V_irgule)
+Define CO U+003A ;: << COLON
+Define SC U+003B ;; << SEMICOLON
+Define Ain U+0060 ;`
+Define H U+0027 ;' << HAMZA
+Define Q U+0022 ;" << QUOTE
+Define Z U+002D ;- << HYPHEN
+Define BAR U+007C ;|
+Define AN U+0061 U+004E ; aN
+Define LLAH U+006C U+006C U+005F U+0061 U+0068
+;Define NUL U+00A6;
+Define Ha U+0623
+Define Hi U+0625
+Define Hy U+0626
+Define Hw U+0624
+Define Hh U+06C0 ;; = U+0647 U+0654
+Define HA U+0622
+Define HB U+0640 U+0654
+Define HBAR U+0621 ; '|
+
+pass(Unicode)
+
+U+E000 > ; eliminate special code for capitalization in transliterations
+
+pass(Unicode)
+
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [AVWL] = (U+064B..U+0650);
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" `
+Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ”
+Class [PUNCT] = (V SC P CO)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u)
+;Class [ae] = (U+0061 U+0065) ;(a e)
+;Class [ou] = (U+0075 U+006F) ;(u o)
+Class [Iyi] = (U+0069 U+0079 U+0049)
+Class [UI] = (U+0049 U+0055) ; U I
+Class [Digits] = (U+0030..U+0039)
+
+Define BEG (#|Z|[BRACKETS])
+Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #)
+Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z)
+
+; special ligatures
+;; 1. Standard ArabTeX input
+;; WARNING! there are, alas, two classes of Arabic fonts:
+;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2
+;; For these the ligature llah can be accessed by the sequence lam-lam-ha
+;; b) Those that do not have the initial alif in U+FDF2
+;; The BAR is used in the DMG transliteration to suppress the initial A
+(a|A) BAR? l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah'
+LLAH > U+FDF2 ;; 'll_ah' > U+FDF2
+;; UPPERCASE mnemonics for various ligatures or special glyphs
+;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode
+U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h'
+U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic
+;; 2b. Ligatures and glyphs defined in Unicode:
+ U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH'
+ U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH'
+
+U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam
+U+0028 U+0028 > U+FD3F ;; '((' : ornate right par
+U+0029 U+0029 > U+FD3E ;; '))' : ornate left par
+U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign
+;; most fonts won't have the following ones:
+U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign)
+U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign
+U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR'
+U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD'
+U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM'
+U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL')
+U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE')
+U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM'
+U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA'
+U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu"
+U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik
+
+U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY
+U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY
+U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM-
+U+005E U+004C U+0041 > U+06D9 ;; ^LA
+U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM
+U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS
+U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN
+U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB
+U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO
+U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO
+U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM
+U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM
+U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN
+U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA
+U+0057 U+0041 U+0057 > U+06E5 ;; WAW
+U+0059 U+0045 U+0048 > U+06E6 ;; YEH
+U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH
+U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN
+U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA
+U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP
+U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP
+U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP
+U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM
+
+U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::")
+
+;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts
+U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]]
+
+
+; vowels
+u u > U
+i i > I
+a a > A
+CO O > U+06FC ;
+a e > a y
+a o > a w
+(o|u)? O / # _ > U+0627 w
+(o|u)? O > w
+CO U > U+06C7 ;
+e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish)
+o > u
+E > I
+I / _ # > i y
+
+
+;; Persian ezafe (ALL BUT ARABIC AND UIGHUR)
+U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<<
+U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I
+Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e
+Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I
+Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i
+Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i
+Z / U+0048 _ > U+0020 ;
+b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen
+
+;; initial characters ...
+a l Z / BEG _ > U+0627 l Z
+;; wasla on initial alif : NEW! NOT TESTED!
+H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI
+[VWL]=v1 / BEG _ > U+0627 @v1
+A / BEG _ > HA ;; ADD MORE ? <<<
+Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U
+; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I
+Q?=q1 I / BEG _ ^# > U+0627 @q1 i y ; -I...
+Z Q?=qq (I|E) / _ (#|Z) > @qq i y ;
+UL Q?=q1 U > @q1 U
+Q?=q1 U / # _ # > U+0627 @q1 u w
+Q BAR > U+0020; "| to separate compounds >> IN TRANSLIT THIS WILL BE REMOVED
+
+
+;; Words with anomalous orthography:
+
+; mi'aT -> ماية
+;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy
+m Q i H Q a / _ (T|t) > m U+0627 Hy
+m Q i H a / _ (T|t) > m U+0627 Hy a
+m i H Q a / _ (T|t) > m i U+0627 Hy
+m i H a / _ (T|t) > m i U+0627 Hy a
+
+
+;; contextual analysis of hamzas
+;; THESE DO NOT APPLY FOR SINDHI
+
+; initial hamzas
+H / (#|^[LTR]) _ Q? [Iyi] > Hi
+H Q A / (#|^[LTR]) _ > HA ; alif madda
+H / (#|^[LTR]) _ Q? [Uwu] > Ha
+H / (#|^[LTR]) _ Q? a > Ha
+Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word
+
+; quoted hamzas in contextual mode, equivalent to verbatim mode
+a Q H > Ha
+i Q H > Hi
+y Q H > Hy
+w Q H > Hw
+h Q H > Hh
+A Q H > HA
+B Q H > HB
+BAR Q H > HBAR
+
+; hamza + fathatan
+H / a _ Q? AN > Ha
+;;H / [Iyi] _ Q? AN > Hy
+H / _ Q? AN > Hy
+
+;final hamzas
+H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ...
+H / a _ Q? (#|^[LTR]) > Ha ; not AN...
+H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN...
+H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy
+H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw
+
+;;and more hamzas ...
+
+; n°1: kasra/ya
+H / [LTR] _ Q? [Iyi] ^N > Hy
+H / [Iyi] _ > Hy
+
+; n°2: damma/waw
+H / [LTR] _ Q? (U|u) ^N > Hw
+H / (U|u) _ Q? ^[Iyi] > Hw
+H / U _ > HBAR
+
+; n°3: fatha/alif
+H Q? A > HA
+H / A _ Q? a > HBAR
+H / ^[UI] _ Q? a > Ha
+H / a _ Q? ^[UI] > Ha
+
+
+pass(Unicode)
+
+Class [Digits] = (U+0030..U+0039)
+Class [ArDigits] = (U+0660..U+0669)
+Class [ArEasternDigits] = (U+06F0..U+06F9)
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+
+
+
+
+;normal code
+
+
+(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA
+(P z|U+1E93) > U+0638
+C z C z > U+0698 U+0651 ;;SHADDA
+C z > U+0698
+V z V z > U+0696 U+0651 ;;SHADDA
+V z > U+0696 ;pashto
+z z > U+0632 U+0651 ;;SHADDA
+z > U+0632
+Q Y Y > U+0649 U+0651 ;;SHADDA
+Q Y > U+0649
+Y Y > U+064E U+0649 U+0651 ;;SHADDA
+Y > U+064E U+0649
+;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots
+y y > U+06CC U+0651 ;;SHADDA
+y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots
+v v > U+06A4 U+0651 ;;SHADDA
+v > U+06A4
+W > U+0648 U+0627 ; waw + alif
+C U > U+064F U+0648 U+0653; historical spelling : madda on waw
+C w C w > U+06C9 U+0651 ;;SHADDA
+C w > U+06C9
+CO w CO w > U+06CA U+0651 ;,SHADDA
+CO w > U+06CA
+U A / _ # > U+064F U+0648 U+0627
+Q U [Uw] > U+0648 U+0651 ;;SHADDA
+Q U > U+0648
+U [Uw] > U+064F U+0648 U+0651 ;;SHADDA
+U > U+064F U+0648
+w w > U+0648 U+0651 ;;SHADDA
+w > U+0648
+Q u N? >
+u N > U+064C
+u > U+064F
+V t V t > U+0679 U+0651 ;;SHADDA
+V t > U+0679 ;urdu
+UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA
+UL (t|s) > U+062B
+(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA
+(P t|U+1E6D) > U+0637
+t t > U+062A U+0651 ;;SHADDA
+t > U+062A
+T T Q AN > U+0629 U+0651 ;;SHADDA
+T Q AN > U+0629
+T AN > U+0629 U+064B
+T T > U+0629 U+0651 ;;SHADDA
+T > U+0629
+C s C s > U+0634 U+0651 ;;SHADDA
+C s > U+0634
+(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA
+(P s|U+1E63) > U+0635
+V s V s > U+069A U+0651 ;;SHADDA
+V s > U+069A ;Pashto
+CO s CO s > U+069B U+0651 ;;SHADDA
+CO s > U+069B ; sin with 3 dots below
+s s > U+0633 U+0651 ;;SHADDA
+s > U+0633
+C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<<
+C r > U+06EF
+CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<<
+CO r > U+0697 ; Dargwa language, Dagestan
+P r P r > U+0694 U+0651 ;;SHADDA
+P r > U+0694 ; r with dot below; in Kurdish .r -> 0694
+V r V r > U+0691 U+0651 ;;SHADDA
+V r > U+0691 ;Urdu
+r r > U+0631 U+0651 ;;SHADDA
+r > U+0631
+P q P q > U+066F U+0651 ;;SHADDA
+P q > U+066F
+q q > U+0642 U+0651 ;;SHADDA
+q > U+0642
+p p > U+067E U+0651 ;;SHADDA
+p > U+067E
+CO n CO n > U+06B1 U+0651 ;;SHADDA
+CO n > U+06B1
+C n C n > U+06AD U+0651 ;;SHADDA
+C n > U+06AD
+P n P n > U+06BA U+0651 ;;SHADDA
+P n > U+06BA ; urdu
+V n V n > U+06BC U+0651 ;;SHADDA
+V n > U+06BC ; Pashto
+n n > U+0646 U+0651 ;;SHADDA
+n > U+0646
+m m > U+0645 U+0651 ;;SHADDA
+m > U+0645
+P l P l > U+06B6 U+0651 ;
+P l > U+06B6 ; ADDED <<<
+C l C l > U+06B5 U+0651 ;;SHADDA
+C l > U+06B5 ;kurdish
+l l > U+0644 U+0651 ;;SHADDA
+l > U+0644
+P k P k > U+06A9 U+0651 ;;SHADDA
+P k > U+06A9 ; pashto urdu
+UL k UL k > U+063A U+0651 ;;SHADDA
+UL k > U+063A
+k k > U+0643 U+0651 ;;SHADDA
+k > U+0643
+C g C g > U+062C U+0651 ;;SHADDA
+C g > U+062C
+CO j CO j > U+0684 U+0651 ;;SHADDA
+CO j > U+0684
+j j > U+062C U+0651 ;;SHADDA
+j > U+062C
+Q I > U+064A
+I > U+0650 U+064A
+C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya
+UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ###
+Q i N? > ;
+i N > U+064D
+i > U+0650
+x x > U+062E U+0651 ;;SHADDA
+x > U+062E
+U+0048 Z > U+0647 U+200C U+0020 ;eH-suffix > eH suffix
+U+0048 > U+0647 U+200C ; H is always heh final
+UL h UL h > U+062E U+0651 ;;SHADDA
+UL h > U+062E
+(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA
+(P h|U+1E25) > U+062D
+V h V h > U+06C1 U+0651 ;;SHADDA
+V h > U+06C1
+h h > U+0647 U+0651 ;;SHADDA
+h > U+0647
+CO g CO g > U+06B3 U+0651 ;;SHADDA
+CO g > U+06B3
+V g V g > U+06AC U+0651 ;;SHADDA
+V g > U+06AC ; kaf with dot above
+P g P g > U+063A U+0651 ;;SHADDA
+P g > U+063A
+g g > U+06AF U+0651 ;;SHADDA
+g > U+06AF
+G G > U+06AB U+0651 ;;SHADDA
+G > U+06AB ;pashto
+P f P f > U+06A1 U+0651 ;;SHADDA
+P f > U+06A1
+f f > U+0641 U+0651 ;;SHADDA
+f > U+0641
+V d V d > U+068A U+0651 ;;SHADDA
+V d > U+068A
+P V d P V d > U+068B U+0651 ;;SHADDA
+P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi)
+C d C d > U+06EE U+0651 ;;SHADDA
+C d > U+06EE ; not defined in ArabTeX
+CO d CO d > U+068F U+0651 ;;SHADDA
+CO d > U+068F
+UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA
+UL (d|z) > U+0630
+(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA
+(P d|U+1E0D) > U+0636
+d d > U+062F U+0651 ;;SHADDA
+d > U+062F
+V c V c > U+0685 U+0651 ;;SHADDA
+V c > U+0685 ;pashto
+C c C c > U+0686 U+0651 ;;SHADDA
+C c > U+0686
+P C c P C c > U+06BF U+0651 ;;SHADDA
+P C c > U+06BF ;; cheh with dot above <<<
+c c > U+0681 U+0651 ;;SHADDA
+c > U+0681 ; ح with hamza above
+CO c CO c > U+0682 U+0651 ;;SHADDA
+CO c > U+0682 ; old pashto
+CO b CO b > U+067B U+0651 ;;SHADDA
+CO b > U+067B
+P b P b > U+066E U+0651 ;;SHADDA
+P b > U+066E
+b b > U+0628 U+0651 ;;SHADDA
+b > U+0628
+H A > U+0622
+C A > U+064E U+0622 ; historical spelling
+UL A > U+064E U+0649
+UL a > U+0670
+UL u > U+064F;
+UL i > U+0650;
+Q AN / (A H|Ha) _ > ;
+AN / (A H|Ha) _ > U+064B
+Q AN > U+0627
+AN > U+0627 U+064B
+Q a >
+a > U+064E
+Q A > U+0627
+A > U+064E U+0627
+Ain Ain > U+0639 U+0651 ;;SHADDA
+Ain > U+0639
+H H > U+0621 U+0651 ;;SHADDA
+H > U+0621
+U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma
+Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash
+(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks
+[Digits] > [ArEasternDigits]
+Z Z Z / # _ # > U+2014
+Z Z / # _ # > U+2013
+Z Z > U+0640
+B > U+0640
+Z / # _ > U+200D ; -x > force initial form with "zero-width joiner"
+Z / _ # > U+200D ; x- > force final form
+U+003C U+003C > U+00BB ;<<
+U+003E U+003E > U+00AB ;>>
+U+00AB > U+00BB
+U+00BB > U+00AB
+UL > U+0640 ;_
+U+003F > U+061F ;?
+U+003B > U+061B ;;
+U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above...
+U+002C > U+060C ;,
+U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ...
+U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual
+ ; analysis, so quoting of hamzas etc may be necessary
+;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules
+;U+005B > U+005D ;[
+Q [VWL] > ;stripoff quoted vowels
+U+00B0 > U+0652 ; °
+N > ;
+C > ;^
+BAR > ;|
+
+pass(Unicode)
+
+Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-)
+Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc.
+Class [VWL] = (U+0627 U+0648..U+0650 U+0670);
+[CONS]=k1 / _ Z? [CONS] ^U+0651 > @k1 U+0652 ; hack: 2nd consonant has no shadda
+U+064E (U+064A|U+0648)=hc / _ (^[VWLX]|#) > U+064E @hc U+0652 ; ay and aw diphtongs
+U+0627 / # _ U+0644 > U+0627 U+064E ; otherwise initial alif takes fatha
+[CONS]=k1 / _ ([CONS]|#) > @k1 U+0652 ; consonant + (consonant or final)
+;; [CONS]=k1 / _ # > @k1 U+0652 ; final consonant
+Q > ;
+Z > ;
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-farsi-novoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-farsi-novoc.map
new file mode 100644
index 00000000000..a653b5e3d97
--- /dev/null
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-farsi-novoc.map
@@ -0,0 +1,480 @@
+LHSName "ArabTeX-farsi-novowels"
+RHSName "UNICODE"
+
+Define a U+0061 ;a
+Define b U+0062 ;b
+Define c U+0063 ;c
+Define d U+0064 ;d
+Define e U+0065 ;e
+Define f U+0066 ;f
+Define g U+0067 ;g
+Define h U+0068 ;h
+Define i U+0069 ;i
+Define j U+006A ;j
+Define k U+006B ;k
+Define l U+006C ;l
+Define m U+006D ;m
+Define n U+006E ;n
+Define o U+006F ;o
+Define p U+0070 ;p
+Define q U+0071 ;q
+Define r U+0072 ;r
+Define s U+0073 ;s
+Define t U+0074 ;t
+Define u U+0075 ;u
+Define v U+0076 ;v
+Define w U+0077 ;w
+Define x U+0078 ;x
+Define y U+0079 ;y
+Define z U+007A ;z
+Define A U+0041 ;A
+Define B U+0042 ;B
+Define E U+0045 ;E
+Define G U+0047 ;G
+Define I U+0049 ;I
+Define N U+004E ;N
+Define O U+004F ;O
+Define T U+0054 ;T
+Define U U+0055 ;U
+Define W U+0057 ;W
+Define Y U+0059 ;Y
+Define C U+005E ;^ << CARET
+Define UL U+005F ;_ << UNDERLINE
+Define P U+002E ;. << DOT
+Define V U+002C ;, << COMMA (_V_irgule)
+Define CO U+003A ;: << COLON
+Define SC U+003B ;; << SEMICOLON
+Define Ain U+0060 ;`
+Define H U+0027 ;' << HAMZA
+Define Q U+0022 ;" << QUOTE
+Define Z U+002D ;- << HYPHEN
+Define BAR U+007C ;|
+Define AN U+0061 U+004E ; aN
+Define LLAH U+006C U+006C U+005F U+0061 U+0068
+;Define NUL U+00A6;
+Define Ha U+0623
+Define Hi U+0625
+Define Hy U+0626
+Define Hw U+0624
+Define Hh U+06C0 ;; = U+0647 U+0654
+Define HA U+0622
+Define HB U+0640 U+0654
+Define HBAR U+0621 ; '|
+
+pass(Unicode)
+
+U+E000 > ; eliminate special code for capitalization in transliterations
+
+pass(Unicode)
+
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [AVWL] = (U+064B..U+0650);
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" `
+Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ”
+Class [PUNCT] = (V SC P CO)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u)
+;Class [ae] = (U+0061 U+0065) ;(a e)
+;Class [ou] = (U+0075 U+006F) ;(u o)
+Class [Iyi] = (U+0069 U+0079 U+0049)
+Class [UI] = (U+0049 U+0055) ; U I
+Class [Digits] = (U+0030..U+0039)
+
+Define BEG (#|Z|[BRACKETS])
+Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #)
+Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z)
+
+; special ligatures
+;; 1. Standard ArabTeX input
+;; WARNING! there are, alas, two classes of Arabic fonts:
+;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2
+;; For these the ligature llah can be accessed by the sequence lam-lam-ha
+;; b) Those that do not have the initial alif in U+FDF2
+;; The BAR is used in the DMG transliteration to suppress the initial A
+(a|A) BAR? l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah'
+LLAH > U+FDF2 ;; 'll_ah' > U+FDF2
+;; UPPERCASE mnemonics for various ligatures or special glyphs
+;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode
+U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h'
+U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic
+;; 2b. Ligatures and glyphs defined in Unicode:
+ U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH'
+ U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH'
+
+U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam
+U+0028 U+0028 > U+FD3F ;; '((' : ornate right par
+U+0029 U+0029 > U+FD3E ;; '))' : ornate left par
+U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign
+;; most fonts won't have the following ones:
+U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign)
+U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign
+U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR'
+U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD'
+U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM'
+U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL')
+U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE')
+U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM'
+U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA'
+U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu"
+U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik
+
+U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY
+U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY
+U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM-
+U+005E U+004C U+0041 > U+06D9 ;; ^LA
+U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM
+U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS
+U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN
+U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB
+U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO
+U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO
+U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM
+U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM
+U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN
+U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA
+U+0057 U+0041 U+0057 > U+06E5 ;; WAW
+U+0059 U+0045 U+0048 > U+06E6 ;; YEH
+U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH
+U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN
+U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA
+U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP
+U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP
+U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP
+U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM
+
+U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::")
+
+;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts
+U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]]
+
+
+; vowels
+u u > U
+i i > I
+a a > A
+[AVWL] > ; strip off vowels when writing UTF-8 Arabic with novoc mode
+CO O > U+06FC ;
+a e > a y
+a o > a w
+(o|u)? O / # _ > U+0627 w
+(o|u)? O > w
+CO U > U+06C7 ;
+e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish)
+o > u
+E > I
+I / _ # > i y
+
+
+;; Persian ezafe (ALL BUT ARABIC AND UIGHUR)
+U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<<
+U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I
+Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e
+Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I
+Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i
+Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i
+Z / U+0048 _ > U+0020 ;
+b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen
+
+;; initial characters ...
+a l Z / BEG _ > U+0627 l Z
+;; wasla on initial alif : NEW! NOT TESTED!
+H / BEG _ l l > U+0627 ;
+[VWL]=v1 / BEG _ > A @v1
+A / BEG _ > HA ;; ADD MORE ? <<<
+Q?=q1 U / BEG _ > A @q1 u w ; -U
+; Q?=q1 I / BEG _ > A @q1 i y ; -I ; but not when I is final FIXME!!!
+Q?=q1 I / BEG _ ^# > A @q1 i y ; -I...
+Z Q?=qq (I|E) / _ (#|Z) > @qq i y ;
+UL Q?=q1 U > @q1 U
+Q?=q1 U / # _ # > U+0627 @q1 u w
+Q BAR > U+0020; "| to separate compounds >> IN TRANSLIT THIS WILL BE REMOVED
+
+
+;; Words with anomalous orthography:
+
+; mi'aT -> ماية
+;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy
+m Q i H Q a / _ (T|t) > m Q i A Hy Q a
+m Q i H a / _ (T|t) > m Q i A Hy
+m i H Q a / _ (T|t) > m A Hy Q a
+m i H a / _ (T|t) > m A Hy
+
+
+;; contextual analysis of hamzas
+;; THESE DO NOT APPLY FOR SINDHI
+
+; initial hamzas
+H / (#|^[LTR]) _ Q? [Iyi] > Hi
+H Q A / (#|^[LTR]) _ > HA ; alif madda
+H / (#|^[LTR]) _ Q? [Uwu] > Ha
+H / (#|^[LTR]) _ Q? a > Ha
+Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word
+
+; quoted hamzas in contextual mode, equivalent to verbatim mode
+a Q H > Ha
+i Q H > Hi
+y Q H > Hy
+w Q H > Hw
+h Q H > Hh
+A Q H > HA
+B Q H > HB
+BAR Q H > HBAR
+
+; hamza + fathatan
+H / a _ Q? AN > Ha
+;;H / [Iyi] _ Q? AN > Hy
+H / _ Q? AN > Hy
+
+;final hamzas
+H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ...
+H / a _ Q? (#|^[LTR]) > Ha ; not AN...
+H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN...
+H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy
+H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw
+
+;;and more hamzas ...
+
+; n°1: kasra/ya
+H / [LTR] _ Q? [Iyi] ^N > Hy
+H / [Iyi] _ > Hy
+
+; n°2: damma/waw
+H / [LTR] _ Q? (U|u) ^N > Hw
+H / (U|u) _ Q? ^[Iyi] > Hw
+H / U _ > HBAR
+
+; n°3: fatha/alif
+H Q? A > HA
+H / A _ Q? a > HBAR
+H / ^[UI] _ Q? a > Ha
+H / a _ Q? ^[UI] > Ha
+
+
+pass(Unicode)
+
+Class [Digits] = (U+0030..U+0039)
+Class [ArDigits] = (U+0660..U+0669)
+Class [ArEasternDigits] = (U+06F0..U+06F9)
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+
+
+
+
+;normal code
+
+
+(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA
+(P z|U+1E93) > U+0638
+C z C z > U+0698 U+0651 ;;SHADDA
+C z > U+0698
+V z V z > U+0696 U+0651 ;;SHADDA
+V z > U+0696 ;pashto
+z z > U+0632 U+0651 ;;SHADDA
+z > U+0632
+Y Y > U+0649 U+0651 ;;SHADDA
+Y > U+0649
+;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots
+y y > U+06CC U+0651 ;;SHADDA
+y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots
+v v > U+06A4 U+0651 ;;SHADDA
+v > U+06A4
+W > U+0648 U+0627 ; waw + alif
+C U > U+064F U+0648 U+0653; historical spelling : madda on waw
+Q U [Uw] > U+064F U+0648 U+0651 ;;SHADDA
+Q U > U+064F U+0648
+[Uw] [Uw] > U+0648 U+0651 ;;SHADDA
+[Uw] > U+0648
+C w C w > U+06C9 U+0651 ;;SHADDA
+C w > U+06C9
+CO w CO w > U+06CA U+0651 ;,SHADDA
+CO w > U+06CA
+Q u N > U+064C
+u N >
+Q u > U+064F
+V t V t > U+0679 U+0651 ;;SHADDA
+V t > U+0679 ;urdu
+UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA
+UL (t|s) > U+062B
+(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA
+(P t|U+1E6D) > U+0637
+t t > U+062A U+0651 ;;SHADDA
+t > U+062A
+T T Q AN > U+0629 U+0651 U+064B ;;SHADDA
+T Q AN > U+0629 U+064B
+T AN > U+0629
+T T > U+0629 U+0651 ;;SHADDA
+T > U+0629
+C s C s > U+0634 U+0651 ;;SHADDA
+C s > U+0634
+(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA
+(P s|U+1E63) > U+0635
+V s V s > U+069A U+0651 ;;SHADDA
+V s > U+069A ;Pashto
+CO s CO s > U+069B U+0651 ;;SHADDA
+CO s > U+069B ; sin with 3 dots below
+s s > U+0633 U+0651 ;;SHADDA
+s > U+0633
+C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<<
+C r > U+06EF
+CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<<
+CO r > U+0697 ; Dargwa language, Dagestan
+P r P r > U+0694 U+0651 ;;SHADDA
+P r > U+0694 ; r with dot below; in Kurdish .r -> 0694
+V r V r > U+0691 U+0651 ;;SHADDA
+V r > U+0691 ;Urdu
+r r > U+0631 U+0651 ;;SHADDA
+r > U+0631
+P q P q > U+066F U+0651 ;;SHADDA
+P q > U+066F
+q q > U+0642 U+0651 ;;SHADDA
+q > U+0642
+p p > U+067E U+0651 ;;SHADDA
+p > U+067E
+CO n CO n > U+06B1 U+0651 ;;SHADDA
+CO n > U+06B1
+C n C n > U+06AD U+0651 ;;SHADDA
+C n > U+06AD
+P n P n > U+06BA U+0651 ;;SHADDA
+P n > U+06BA ; urdu
+V n V n > U+06BC U+0651 ;;SHADDA
+V n > U+06BC ; Pashto
+n n > U+0646 U+0651 ;;SHADDA
+n > U+0646
+m m > U+0645 U+0651 ;;SHADDA
+m > U+0645
+P l P l > U+06B6 U+0651 ;
+P l > U+06B6 ; ADDED <<<
+C l C l > U+06B5 U+0651 ;;SHADDA
+C l > U+06B5 ;kurdish
+l l > U+0644 U+0651 ;;SHADDA
+l > U+0644
+P k P k > U+06A9 U+0651 ;;SHADDA
+P k > U+06A9 ; pashto urdu
+UL k UL k > U+063A U+0651 ;;SHADDA
+UL k > U+063A
+k k > U+0643 U+0651 ;;SHADDA
+k > U+0643
+C g C g > U+062C U+0651 ;;SHADDA
+C g > U+062C
+CO j CO j > U+0684 U+0651 ;;SHADDA
+CO j > U+0684
+j j > U+062C U+0651 ;;SHADDA
+j > U+062C
+Q I > U+0650 U+064A
+C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya
+UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ###
+I > U+064A
+Q i N > U+064D
+i N > ;
+Q i > U+0650
+x x > U+062E U+0651 ;;SHADDA
+x > U+062E
+U+0048 Z > U+0647 U+200C U+0020 ;eH-suffix > eH suffix
+U+0048 > U+0647 U+200C ; H is always heh final
+UL h UL h > U+062E U+0651 ;;SHADDA
+UL h > U+062E
+(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA
+(P h|U+1E25) > U+062D
+V h V h > U+06C1 U+0651 ;;SHADDA
+V h > U+06C1
+h h > U+0647 U+0651 ;;SHADDA
+h > U+0647
+CO g CO g > U+06B3 U+0651 ;;SHADDA
+CO g > U+06B3
+V g V g > U+06AC U+0651 ;;SHADDA
+V g > U+06AC ; kaf with dot above
+P g P g > U+063A U+0651 ;;SHADDA
+P g > U+063A
+g g > U+06AF U+0651 ;;SHADDA
+g > U+06AF
+G G > U+06AB U+0651 ;;SHADDA
+G > U+06AB ;pashto
+P f P f > U+06A1 U+0651 ;;SHADDA
+P f > U+06A1
+f f > U+0641 U+0651 ;;SHADDA
+f > U+0641
+V d V d > U+068A U+0651 ;;SHADDA
+V d > U+068A
+P V d P V d > U+068B U+0651 ;;SHADDA
+P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi)
+C d C d > U+06EE U+0651 ;;SHADDA
+C d > U+06EE ; not defined in ArabTeX
+CO d CO d > U+068F U+0651 ;;SHADDA
+CO d > U+068F
+UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA
+UL (d|z) > U+0630
+(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA
+(P d|U+1E0D) > U+0636
+d d > U+062F U+0651 ;;SHADDA
+d > U+062F
+V c V c > U+0685 U+0651 ;;SHADDA
+V c > U+0685 ;pashto
+C c C c > U+0686 U+0651 ;;SHADDA
+C c > U+0686
+P C c P C c > U+06BF U+0651 ;;SHADDA
+P C c > U+06BF ;; cheh with dot above <<<
+c c > U+0681 U+0651 ;;SHADDA
+c > U+0681 ; ح with hamza above
+CO c CO c > U+0682 U+0651 ;;SHADDA
+CO c > U+0682 ; old pashto
+CO b CO b > U+067B U+0651 ;;SHADDA
+CO b > U+067B
+P b P b > U+066E U+0651 ;;SHADDA
+P b > U+066E
+b b > U+0628 U+0651 ;;SHADDA
+b > U+0628
+H A > U+0622
+C A > U+064E U+0622 ; historical spelling
+UL A > U+0649
+UL a > U+0670
+UL u > ;
+UL i > ;
+Q AN / (A H|Ha) _ > U+064B
+AN / (A H|Ha) _ > ;
+Q AN > U+0627 U+064B
+AN > U+0627
+Q a > U+064E
+Q A > U+064E U+0627
+A > U+0627
+Ain Ain > U+0639 U+0651 ;;SHADDA
+Ain > U+0639
+H H > U+0621 U+0651 ;;SHADDA
+H > U+0621
+U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma
+Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash
+(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks
+[Digits] > [ArEasternDigits]
+Z Z Z / # _ # > U+2014
+Z Z / # _ # > U+2013
+Z Z > U+0640
+B > U+0640
+Z / # _ > U+200D ; -x > force initial form with "zero-width joiner"
+Z / _ # > U+200D ; x- > force final form
+U+003C U+003C > U+00BB ;<<
+U+003E U+003E > U+00AB ;>>
+U+00AB > U+00BB
+U+00BB > U+00AB
+UL > U+0640 ;_
+U+003F > U+061F ;?
+U+003B > U+061B ;;
+U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above...
+U+002C > U+060C ;,
+U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ...
+U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual
+ ; analysis, so quoting of hamzas etc may be necessary
+;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules
+;U+005B > U+005D ;[
+[VWL] > ;stripoff vowels
+Q > U+0652
+U+00B0 > U+0652 ; °
+N > ;
+C > ;^
+Z > ;-
+BAR > ;|
+
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-farsi-novoc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-farsi-novoc.tec
index 71fa206875a..fc32f96c9ad 100644
--- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-farsi-novoc.tec
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-farsi-novoc.tec
Binary files differ
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-farsi-voc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-farsi-voc.map
new file mode 100644
index 00000000000..9617d027c28
--- /dev/null
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-farsi-voc.map
@@ -0,0 +1,490 @@
+LHSName "ArabTeX-farsi-vocalized"
+RHSName "UNICODE"
+
+Define a U+0061 ;a
+Define b U+0062 ;b
+Define c U+0063 ;c
+Define d U+0064 ;d
+Define e U+0065 ;e
+Define f U+0066 ;f
+Define g U+0067 ;g
+Define h U+0068 ;h
+Define i U+0069 ;i
+Define j U+006A ;j
+Define k U+006B ;k
+Define l U+006C ;l
+Define m U+006D ;m
+Define n U+006E ;n
+Define o U+006F ;o
+Define p U+0070 ;p
+Define q U+0071 ;q
+Define r U+0072 ;r
+Define s U+0073 ;s
+Define t U+0074 ;t
+Define u U+0075 ;u
+Define v U+0076 ;v
+Define w U+0077 ;w
+Define x U+0078 ;x
+Define y U+0079 ;y
+Define z U+007A ;z
+Define A U+0041 ;A
+Define B U+0042 ;B
+Define E U+0045 ;E
+Define G U+0047 ;G
+Define I U+0049 ;I
+Define N U+004E ;N
+Define O U+004F ;O
+Define T U+0054 ;T
+Define U U+0055 ;U
+Define W U+0057 ;W
+Define Y U+0059 ;Y
+Define C U+005E ;^ << CARET
+Define UL U+005F ;_ << UNDERLINE
+Define P U+002E ;. << DOT
+Define V U+002C ;, << COMMA (_V_irgule)
+Define CO U+003A ;: << COLON
+Define SC U+003B ;; << SEMICOLON
+Define Ain U+0060 ;`
+Define H U+0027 ;' << HAMZA
+Define Q U+0022 ;" << QUOTE
+Define Z U+002D ;- << HYPHEN
+Define BAR U+007C ;|
+Define AN U+0061 U+004E ; aN
+Define LLAH U+006C U+006C U+005F U+0061 U+0068
+;Define NUL U+00A6;
+Define Ha U+0623
+Define Hi U+0625
+Define Hy U+0626
+Define Hw U+0624
+Define Hh U+06C0 ;; = U+0647 U+0654
+Define HA U+0622
+Define HB U+0640 U+0654
+Define HBAR U+0621 ; '|
+
+pass(Unicode)
+
+U+E000 > ; eliminate special code for capitalization in transliterations
+
+pass(Unicode)
+
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [AVWL] = (U+064B..U+0650);
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" `
+Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ”
+Class [PUNCT] = (V SC P CO)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u)
+;Class [ae] = (U+0061 U+0065) ;(a e)
+;Class [ou] = (U+0075 U+006F) ;(u o)
+Class [Iyi] = (U+0069 U+0079 U+0049)
+Class [UI] = (U+0049 U+0055) ; U I
+Class [Digits] = (U+0030..U+0039)
+
+Define BEG (#|Z|[BRACKETS])
+Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #)
+Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z)
+
+; special ligatures
+;; 1. Standard ArabTeX input
+;; WARNING! there are, alas, two classes of Arabic fonts:
+;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2
+;; For these the ligature llah can be accessed by the sequence lam-lam-ha
+;; b) Those that do not have the initial alif in U+FDF2
+;; The BAR is used in the DMG transliteration to suppress the initial A
+(a|A) BAR? l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah'
+LLAH > U+FDF2 ;; 'll_ah' > U+FDF2
+;; UPPERCASE mnemonics for various ligatures or special glyphs
+;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode
+U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h'
+U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic
+;; 2b. Ligatures and glyphs defined in Unicode:
+ U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH'
+ U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH'
+
+U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam
+U+0028 U+0028 > U+FD3F ;; '((' : ornate right par
+U+0029 U+0029 > U+FD3E ;; '))' : ornate left par
+U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign
+;; most fonts won't have the following ones:
+U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign)
+U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign
+U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR'
+U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD'
+U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM'
+U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL')
+U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE')
+U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM'
+U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA'
+U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu"
+U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik
+
+U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY
+U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY
+U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM-
+U+005E U+004C U+0041 > U+06D9 ;; ^LA
+U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM
+U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS
+U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN
+U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB
+U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO
+U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO
+U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM
+U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM
+U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN
+U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA
+U+0057 U+0041 U+0057 > U+06E5 ;; WAW
+U+0059 U+0045 U+0048 > U+06E6 ;; YEH
+U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH
+U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN
+U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA
+U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP
+U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP
+U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP
+U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM
+
+U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::")
+
+;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts
+U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]]
+
+
+; vowels
+u u > U
+i i > I
+a a > A
+CO O > U+06FC ;
+a e > a y
+a o > a w
+(o|u)? O / # _ > U+0627 w
+(o|u)? O > w
+CO U > U+06C7 ;
+e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish)
+o > u
+E > I
+I / _ # > i y
+
+
+;; Persian ezafe (ALL BUT ARABIC AND UIGHUR)
+U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<<
+U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I
+Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e
+Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I
+Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i
+Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i
+Z / U+0048 _ > U+0020 ;
+b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen
+
+;; initial characters ...
+a l Z / BEG _ > U+0627 l Z
+;; wasla on initial alif : NEW! NOT TESTED!
+H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI
+[VWL]=v1 / BEG _ > U+0627 @v1
+A / BEG _ > HA ;; ADD MORE ? <<<
+Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U
+; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I
+Q?=q1 I / BEG _ ^# > U+0627 @q1 i y ; -I...
+Z Q?=qq (I|E) / _ (#|Z) > @qq i y ;
+UL Q?=q1 U > @q1 U
+Q?=q1 U / # _ # > U+0627 @q1 u w
+Q BAR > U+0020; "| to separate compounds >> IN TRANSLIT THIS WILL BE REMOVED
+
+
+;; Words with anomalous orthography:
+
+; mi'aT -> ماية
+;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy
+m Q i H Q a / _ (T|t) > m U+0627 Hy
+m Q i H a / _ (T|t) > m U+0627 Hy a
+m i H Q a / _ (T|t) > m i U+0627 Hy
+m i H a / _ (T|t) > m i U+0627 Hy a
+
+
+;; contextual analysis of hamzas
+;; THESE DO NOT APPLY FOR SINDHI
+
+; initial hamzas
+H / (#|^[LTR]) _ Q? [Iyi] > Hi
+H Q A / (#|^[LTR]) _ > HA ; alif madda
+H / (#|^[LTR]) _ Q? [Uwu] > Ha
+H / (#|^[LTR]) _ Q? a > Ha
+Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word
+
+; quoted hamzas in contextual mode, equivalent to verbatim mode
+a Q H > Ha
+i Q H > Hi
+y Q H > Hy
+w Q H > Hw
+h Q H > Hh
+A Q H > HA
+B Q H > HB
+BAR Q H > HBAR
+
+; hamza + fathatan
+H / a _ Q? AN > Ha
+;;H / [Iyi] _ Q? AN > Hy
+H / _ Q? AN > Hy
+
+;final hamzas
+H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ...
+H / a _ Q? (#|^[LTR]) > Ha ; not AN...
+H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN...
+H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy
+H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw
+
+;;and more hamzas ...
+
+; n°1: kasra/ya
+H / [LTR] _ Q? [Iyi] ^N > Hy
+H / [Iyi] _ > Hy
+
+; n°2: damma/waw
+H / [LTR] _ Q? (U|u) ^N > Hw
+H / (U|u) _ Q? ^[Iyi] > Hw
+H / U _ > HBAR
+
+; n°3: fatha/alif
+H Q? A > HA
+H / A _ Q? a > HBAR
+H / ^[UI] _ Q? a > Ha
+H / a _ Q? ^[UI] > Ha
+
+
+pass(Unicode)
+
+Class [Digits] = (U+0030..U+0039)
+Class [ArDigits] = (U+0660..U+0669)
+Class [ArEasternDigits] = (U+06F0..U+06F9)
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+
+
+
+
+;normal code
+
+
+(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA
+(P z|U+1E93) > U+0638
+C z C z > U+0698 U+0651 ;;SHADDA
+C z > U+0698
+V z V z > U+0696 U+0651 ;;SHADDA
+V z > U+0696 ;pashto
+z z > U+0632 U+0651 ;;SHADDA
+z > U+0632
+Q Y Y > U+0649 U+0651 ;;SHADDA
+Q Y > U+0649
+Y Y > U+064E U+0649 U+0651 ;;SHADDA
+Y > U+064E U+0649
+;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots
+y y > U+06CC U+0651 ;;SHADDA
+y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots
+v v > U+06A4 U+0651 ;;SHADDA
+v > U+06A4
+W > U+0648 U+0627 ; waw + alif
+C U > U+064F U+0648 U+0653; historical spelling : madda on waw
+C w C w > U+06C9 U+0651 ;;SHADDA
+C w > U+06C9
+CO w CO w > U+06CA U+0651 ;,SHADDA
+CO w > U+06CA
+U A / _ # > U+064F U+0648 U+0627
+Q U [Uw] > U+0648 U+0651 ;;SHADDA
+Q U > U+0648
+U [Uw] > U+064F U+0648 U+0651 ;;SHADDA
+U > U+064F U+0648
+w w > U+0648 U+0651 ;;SHADDA
+w > U+0648
+Q u N? >
+u N > U+064C
+u > U+064F
+V t V t > U+0679 U+0651 ;;SHADDA
+V t > U+0679 ;urdu
+UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA
+UL (t|s) > U+062B
+(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA
+(P t|U+1E6D) > U+0637
+t t > U+062A U+0651 ;;SHADDA
+t > U+062A
+T T Q AN > U+0629 U+0651 ;;SHADDA
+T Q AN > U+0629
+T AN > U+0629 U+064B
+T T > U+0629 U+0651 ;;SHADDA
+T > U+0629
+C s C s > U+0634 U+0651 ;;SHADDA
+C s > U+0634
+(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA
+(P s|U+1E63) > U+0635
+V s V s > U+069A U+0651 ;;SHADDA
+V s > U+069A ;Pashto
+CO s CO s > U+069B U+0651 ;;SHADDA
+CO s > U+069B ; sin with 3 dots below
+s s > U+0633 U+0651 ;;SHADDA
+s > U+0633
+C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<<
+C r > U+06EF
+CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<<
+CO r > U+0697 ; Dargwa language, Dagestan
+P r P r > U+0694 U+0651 ;;SHADDA
+P r > U+0694 ; r with dot below; in Kurdish .r -> 0694
+V r V r > U+0691 U+0651 ;;SHADDA
+V r > U+0691 ;Urdu
+r r > U+0631 U+0651 ;;SHADDA
+r > U+0631
+P q P q > U+066F U+0651 ;;SHADDA
+P q > U+066F
+q q > U+0642 U+0651 ;;SHADDA
+q > U+0642
+p p > U+067E U+0651 ;;SHADDA
+p > U+067E
+CO n CO n > U+06B1 U+0651 ;;SHADDA
+CO n > U+06B1
+C n C n > U+06AD U+0651 ;;SHADDA
+C n > U+06AD
+P n P n > U+06BA U+0651 ;;SHADDA
+P n > U+06BA ; urdu
+V n V n > U+06BC U+0651 ;;SHADDA
+V n > U+06BC ; Pashto
+n n > U+0646 U+0651 ;;SHADDA
+n > U+0646
+m m > U+0645 U+0651 ;;SHADDA
+m > U+0645
+P l P l > U+06B6 U+0651 ;
+P l > U+06B6 ; ADDED <<<
+C l C l > U+06B5 U+0651 ;;SHADDA
+C l > U+06B5 ;kurdish
+l l > U+0644 U+0651 ;;SHADDA
+l > U+0644
+P k P k > U+06A9 U+0651 ;;SHADDA
+P k > U+06A9 ; pashto urdu
+UL k UL k > U+063A U+0651 ;;SHADDA
+UL k > U+063A
+k k > U+0643 U+0651 ;;SHADDA
+k > U+0643
+C g C g > U+062C U+0651 ;;SHADDA
+C g > U+062C
+CO j CO j > U+0684 U+0651 ;;SHADDA
+CO j > U+0684
+j j > U+062C U+0651 ;;SHADDA
+j > U+062C
+Q I > U+064A
+I > U+0650 U+064A
+C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya
+UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ###
+Q i N? > ;
+i N > U+064D
+i > U+0650
+x x > U+062E U+0651 ;;SHADDA
+x > U+062E
+U+0048 Z > U+0647 U+200C U+0020 ;eH-suffix > eH suffix
+U+0048 > U+0647 U+200C ; H is always heh final
+UL h UL h > U+062E U+0651 ;;SHADDA
+UL h > U+062E
+(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA
+(P h|U+1E25) > U+062D
+V h V h > U+06C1 U+0651 ;;SHADDA
+V h > U+06C1
+h h > U+0647 U+0651 ;;SHADDA
+h > U+0647
+CO g CO g > U+06B3 U+0651 ;;SHADDA
+CO g > U+06B3
+V g V g > U+06AC U+0651 ;;SHADDA
+V g > U+06AC ; kaf with dot above
+P g P g > U+063A U+0651 ;;SHADDA
+P g > U+063A
+g g > U+06AF U+0651 ;;SHADDA
+g > U+06AF
+G G > U+06AB U+0651 ;;SHADDA
+G > U+06AB ;pashto
+P f P f > U+06A1 U+0651 ;;SHADDA
+P f > U+06A1
+f f > U+0641 U+0651 ;;SHADDA
+f > U+0641
+V d V d > U+068A U+0651 ;;SHADDA
+V d > U+068A
+P V d P V d > U+068B U+0651 ;;SHADDA
+P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi)
+C d C d > U+06EE U+0651 ;;SHADDA
+C d > U+06EE ; not defined in ArabTeX
+CO d CO d > U+068F U+0651 ;;SHADDA
+CO d > U+068F
+UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA
+UL (d|z) > U+0630
+(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA
+(P d|U+1E0D) > U+0636
+d d > U+062F U+0651 ;;SHADDA
+d > U+062F
+V c V c > U+0685 U+0651 ;;SHADDA
+V c > U+0685 ;pashto
+C c C c > U+0686 U+0651 ;;SHADDA
+C c > U+0686
+P C c P C c > U+06BF U+0651 ;;SHADDA
+P C c > U+06BF ;; cheh with dot above <<<
+c c > U+0681 U+0651 ;;SHADDA
+c > U+0681 ; ح with hamza above
+CO c CO c > U+0682 U+0651 ;;SHADDA
+CO c > U+0682 ; old pashto
+CO b CO b > U+067B U+0651 ;;SHADDA
+CO b > U+067B
+P b P b > U+066E U+0651 ;;SHADDA
+P b > U+066E
+b b > U+0628 U+0651 ;;SHADDA
+b > U+0628
+H A > U+0622
+C A > U+064E U+0622 ; historical spelling
+UL A > U+064E U+0649
+UL a > U+0670
+UL u > U+064F;
+UL i > U+0650;
+Q AN / (A H|Ha) _ > ;
+AN / (A H|Ha) _ > U+064B
+Q AN > U+0627
+AN > U+0627 U+064B
+Q a >
+a > U+064E
+Q A > U+0627
+A > U+064E U+0627
+Ain Ain > U+0639 U+0651 ;;SHADDA
+Ain > U+0639
+H H > U+0621 U+0651 ;;SHADDA
+H > U+0621
+U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma
+Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash
+(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks
+[Digits] > [ArEasternDigits]
+Z Z Z / # _ # > U+2014
+Z Z / # _ # > U+2013
+Z Z > U+0640
+B > U+0640
+Z / # _ > U+200D ; -x > force initial form with "zero-width joiner"
+Z / _ # > U+200D ; x- > force final form
+U+003C U+003C > U+00BB ;<<
+U+003E U+003E > U+00AB ;>>
+U+00AB > U+00BB
+U+00BB > U+00AB
+UL > U+0640 ;_
+U+003F > U+061F ;?
+U+003B > U+061B ;;
+U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above...
+U+002C > U+060C ;,
+U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ...
+U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual
+ ; analysis, so quoting of hamzas etc may be necessary
+;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules
+;U+005B > U+005D ;[
+Q [VWL] > ;stripoff quoted vowels
+Q > U+0652
+U+00B0 > U+0652 ; °
+N > ;
+C > ;^
+BAR > ;|
+
+pass(Unicode)
+
+Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-)
+Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc.
+Class [VWL] = (U+0627 U+0648..U+0650 U+0670);
+Z > ;
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-fullvoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-fullvoc.map
new file mode 100644
index 00000000000..f6772aa68c4
--- /dev/null
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-fullvoc.map
@@ -0,0 +1,482 @@
+LHSName "ArabTeX-fullvocalized"
+RHSName "UNICODE"
+
+Define a U+0061 ;a
+Define b U+0062 ;b
+Define c U+0063 ;c
+Define d U+0064 ;d
+Define e U+0065 ;e
+Define f U+0066 ;f
+Define g U+0067 ;g
+Define h U+0068 ;h
+Define i U+0069 ;i
+Define j U+006A ;j
+Define k U+006B ;k
+Define l U+006C ;l
+Define m U+006D ;m
+Define n U+006E ;n
+Define o U+006F ;o
+Define p U+0070 ;p
+Define q U+0071 ;q
+Define r U+0072 ;r
+Define s U+0073 ;s
+Define t U+0074 ;t
+Define u U+0075 ;u
+Define v U+0076 ;v
+Define w U+0077 ;w
+Define x U+0078 ;x
+Define y U+0079 ;y
+Define z U+007A ;z
+Define A U+0041 ;A
+Define B U+0042 ;B
+Define E U+0045 ;E
+Define G U+0047 ;G
+Define I U+0049 ;I
+Define N U+004E ;N
+Define O U+004F ;O
+Define T U+0054 ;T
+Define U U+0055 ;U
+Define W U+0057 ;W
+Define Y U+0059 ;Y
+Define C U+005E ;^ << CARET
+Define UL U+005F ;_ << UNDERLINE
+Define P U+002E ;. << DOT
+Define V U+002C ;, << COMMA (_V_irgule)
+Define CO U+003A ;: << COLON
+Define SC U+003B ;; << SEMICOLON
+Define Ain U+0060 ;`
+Define H U+0027 ;' << HAMZA
+Define Q U+0022 ;" << QUOTE
+Define Z U+002D ;- << HYPHEN
+Define BAR U+007C ;|
+Define AN U+0061 U+004E ; aN
+Define LLAH U+006C U+006C U+005F U+0061 U+0068
+;Define NUL U+00A6;
+Define Ha U+0623
+Define Hi U+0625
+Define Hy U+0626
+Define Hw U+0624
+Define Hh U+06C0 ;; = U+0647 U+0654
+Define HA U+0622
+Define HB U+0640 U+0654
+Define HBAR U+0621 ; '|
+
+pass(Unicode)
+
+U+E000 > ; eliminate special code for capitalization in transliterations
+
+pass(Unicode)
+
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [AVWL] = (U+064B..U+0650);
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" `
+Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ”
+Class [PUNCT] = (V SC P CO)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u)
+;Class [ae] = (U+0061 U+0065) ;(a e)
+;Class [ou] = (U+0075 U+006F) ;(u o)
+Class [Iyi] = (U+0069 U+0079 U+0049)
+Class [UI] = (U+0049 U+0055) ; U I
+Class [Digits] = (U+0030..U+0039)
+
+Define BEG (#|Z|[BRACKETS])
+Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #)
+Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z)
+
+; special ligatures
+;; 1. Standard ArabTeX input
+;; WARNING! there are, alas, two classes of Arabic fonts:
+;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2
+;; For these the ligature llah can be accessed by the sequence lam-lam-ha
+;; b) Those that do not have the initial alif in U+FDF2
+;; The BAR is used in the DMG transliteration to suppress the initial A
+(a|A) BAR? l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah'
+LLAH > U+FDF2 ;; 'll_ah' > U+FDF2
+;; UPPERCASE mnemonics for various ligatures or special glyphs
+;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode
+U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h'
+U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic
+;; 2b. Ligatures and glyphs defined in Unicode:
+ U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH'
+ U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH'
+
+U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam
+U+0028 U+0028 > U+FD3F ;; '((' : ornate right par
+U+0029 U+0029 > U+FD3E ;; '))' : ornate left par
+U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign
+;; most fonts won't have the following ones:
+U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign)
+U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign
+U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR'
+U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD'
+U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM'
+U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL')
+U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE')
+U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM'
+U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA'
+U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu"
+U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik
+
+U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY
+U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY
+U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM-
+U+005E U+004C U+0041 > U+06D9 ;; ^LA
+U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM
+U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS
+U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN
+U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB
+U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO
+U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO
+U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM
+U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM
+U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN
+U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA
+U+0057 U+0041 U+0057 > U+06E5 ;; WAW
+U+0059 U+0045 U+0048 > U+06E6 ;; YEH
+U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH
+U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN
+U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA
+U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP
+U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP
+U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP
+U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM
+
+U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::")
+
+;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts
+U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]]
+
+
+; vowels
+u u > U
+i i > I
+a a > A
+CO O > U+06FC ;
+a e > a y
+a o > a w
+CO U > U+06C7 ;
+e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish)
+o > u
+E > I
+O > U
+
+
+
+;; initial characters ...
+a l Z / BEG _ > U+0627 l Z
+H l Z / BEG _ > U+0671 l Z ; THIS IS NOT AN ARABTEX CONVENTION! it's a work-around coz pattern-matching across word boundaries does not work in teckit , so min al- must be written mina 'l- in fullvocalize mode
+;; wasla on initial alif : NEW! NOT TESTED!
+[VWL]=v1 Z / BEG _ > @v1 U+0671 ; THIS IS NOT AN ARABTEX CONVENTION! it's a work-around coz pattern-matching across word boundaries does not work in teckit , so huwa irtifA` must be written huwa i-rtifA` in fullvocalize mode
+H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI
+[VWL]=v1 / BEG _ > U+0627 @v1
+A / BEG _ > U+0627 a
+Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U
+; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I
+Q?=q1 I / BEG _ > U+0627 @q1 i y
+
+
+;; Words with anomalous orthography:
+
+; mi'aT -> ماية
+;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy
+m Q i H Q a / _ (T|t) > m U+0627 Hy
+m Q i H a / _ (T|t) > m U+0627 Hy a
+m i H Q a / _ (T|t) > m i U+0627 Hy
+m i H a / _ (T|t) > m i U+0627 Hy a
+
+
+;; contextual analysis of hamzas
+;; THESE DO NOT APPLY FOR SINDHI
+
+; initial hamzas
+H / (#|^[LTR]) _ Q? [Iyi] > Hi
+H Q A / (#|^[LTR]) _ > HA ; alif madda
+H / (#|^[LTR]) _ Q? [Uwu] > Ha
+H / (#|^[LTR]) _ Q? a > Ha
+Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word
+
+; quoted hamzas in contextual mode, equivalent to verbatim mode
+a Q H > Ha
+i Q H > Hi
+y Q H > Hy
+w Q H > Hw
+h Q H > Hh
+A Q H > HA
+B Q H > HB
+BAR Q H > HBAR
+
+; hamza + fathatan
+H / a _ Q? AN > Ha
+;;H / [Iyi] _ Q? AN > Hy
+H / _ Q? AN > Hy
+
+;final hamzas
+H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ...
+H / a _ Q? (#|^[LTR]) > Ha ; not AN...
+H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN...
+H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy
+H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw
+
+;;and more hamzas ...
+
+; n°1: kasra/ya
+H / [LTR] _ Q? [Iyi] ^N > Hy
+H / [Iyi] _ > Hy
+
+; n°2: damma/waw
+H / [LTR] _ Q? (U|u) ^N > Hw
+H / (U|u) _ Q? ^[Iyi] > Hw
+H / U _ > HBAR
+
+; n°3: fatha/alif
+H Q? A > HA
+H / A _ Q? a > HBAR
+H / ^[UI] _ Q? a > Ha
+H / a _ Q? ^[UI] > Ha
+
+
+pass(Unicode)
+
+Class [Digits] = (U+0030..U+0039)
+Class [ArDigits] = (U+0660..U+0669)
+Class [ArEasternDigits] = (U+06F0..U+06F9)
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+
+
+
+
+;normal code
+
+
+(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA
+(P z|U+1E93) > U+0638
+C z C z > U+0698 U+0651 ;;SHADDA
+C z > U+0698
+V z V z > U+0696 U+0651 ;;SHADDA
+V z > U+0696 ;pashto
+z z > U+0632 U+0651 ;;SHADDA
+z > U+0632
+Q Y Y > U+0649 U+0651 ;;SHADDA
+Q Y > U+0649
+Y Y > U+064E U+0649 U+0651 ;;SHADDA
+Y > U+064E U+0649
+P I P I / _ # > U+0650 U+06CC U+0651 ;; SHADDA
+P I / _ # > U+0650 U+06CC ;; workaround to have ya without dots in Arabic
+y y > U+064A U+0651 ;;SHADDA
+y > U+064A
+v v > U+06A4 U+0651 ;;SHADDA
+v > U+06A4
+W > U+0648 U+0627 ; waw + alif
+C U > U+064F U+0648 U+0653; historical spelling : madda on waw
+C w C w > U+06C9 U+0651 ;;SHADDA
+C w > U+06C9
+CO w CO w > U+06CA U+0651 ;,SHADDA
+CO w > U+06CA
+U A / _ # > U+064F U+0648 U+0627
+Q U [Uw] > U+0648 U+0651 ;;SHADDA
+Q U > U+0648
+U [Uw] > U+064F U+0648 U+0651 ;;SHADDA
+U > U+064F U+0648
+w w > U+0648 U+0651 ;;SHADDA
+w > U+0648
+Q u N? >
+u N > U+064C
+u > U+064F
+V t V t > U+0679 U+0651 ;;SHADDA
+V t > U+0679 ;urdu
+UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA
+UL (t|s) > U+062B
+(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA
+(P t|U+1E6D) > U+0637
+t t > U+062A U+0651 ;;SHADDA
+t > U+062A
+T T Q AN > U+0629 U+0651 ;;SHADDA
+T Q AN > U+0629
+T AN > U+0629 U+064B
+T T > U+0629 U+0651 ;;SHADDA
+T > U+0629
+C s C s > U+0634 U+0651 ;;SHADDA
+C s > U+0634
+(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA
+(P s|U+1E63) > U+0635
+V s V s > U+069A U+0651 ;;SHADDA
+V s > U+069A ;Pashto
+CO s CO s > U+069B U+0651 ;;SHADDA
+CO s > U+069B ; sin with 3 dots below
+s s > U+0633 U+0651 ;;SHADDA
+s > U+0633
+C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<<
+C r > U+06EF
+CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<<
+CO r > U+0697 ; Dargwa language, Dagestan
+P r P r > U+0694 U+0651 ;;SHADDA
+P r > U+0694 ; r with dot below; in Kurdish .r -> 0694
+V r V r > U+0691 U+0651 ;;SHADDA
+V r > U+0691 ;Urdu
+r r > U+0631 U+0651 ;;SHADDA
+r > U+0631
+P q P q > U+066F U+0651 ;;SHADDA
+P q > U+066F
+q q > U+0642 U+0651 ;;SHADDA
+q > U+0642
+p p > U+067E U+0651 ;;SHADDA
+p > U+067E
+CO n CO n > U+06B1 U+0651 ;;SHADDA
+CO n > U+06B1
+C n C n > U+06AD U+0651 ;;SHADDA
+C n > U+06AD
+P n P n > U+06BA U+0651 ;;SHADDA
+P n > U+06BA ; urdu
+V n V n > U+06BC U+0651 ;;SHADDA
+V n > U+06BC ; Pashto
+n n > U+0646 U+0651 ;;SHADDA
+n > U+0646
+m m > U+0645 U+0651 ;;SHADDA
+m > U+0645
+P l P l > U+06B6 U+0651 ;
+P l > U+06B6 ; ADDED <<<
+C l C l > U+06B5 U+0651 ;;SHADDA
+C l > U+06B5 ;kurdish
+l l > U+0644 U+0651 ;;SHADDA
+l > U+0644
+P k P k > U+06A9 U+0651 ;;SHADDA
+P k > U+06A9 ; pashto urdu
+UL k UL k > U+063A U+0651 ;;SHADDA
+UL k > U+063A
+k k > U+0643 U+0651 ;;SHADDA
+k > U+0643
+C g C g > U+062C U+0651 ;;SHADDA
+C g > U+062C
+CO j CO j > U+0684 U+0651 ;;SHADDA
+CO j > U+0684
+j j > U+062C U+0651 ;;SHADDA
+j > U+062C
+Q I > U+064A
+I > U+0650 U+064A
+C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya
+UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ###
+Q i N? > ;
+i N > U+064D
+i > U+0650
+x x > U+062E U+0651 ;;SHADDA
+x > U+062E
+UL h UL h > U+062E U+0651 ;;SHADDA
+UL h > U+062E
+(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA
+(P h|U+1E25) > U+062D
+V h V h > U+06C1 U+0651 ;;SHADDA
+V h > U+06C1
+h h > U+0647 U+0651 ;;SHADDA
+h > U+0647
+CO g CO g > U+06B3 U+0651 ;;SHADDA
+CO g > U+06B3
+V g V g > U+06AC U+0651 ;;SHADDA
+V g > U+06AC ; kaf with dot above
+P g P g > U+063A U+0651 ;;SHADDA
+P g > U+063A
+g g > U+06AF U+0651 ;;SHADDA
+g > U+06AF
+G G > U+06AB U+0651 ;;SHADDA
+G > U+06AB ;pashto
+P f P f > U+06A1 U+0651 ;;SHADDA
+P f > U+06A1
+f f > U+0641 U+0651 ;;SHADDA
+f > U+0641
+V d V d > U+068A U+0651 ;;SHADDA
+V d > U+068A
+P V d P V d > U+068B U+0651 ;;SHADDA
+P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi)
+C d C d > U+06EE U+0651 ;;SHADDA
+C d > U+06EE ; not defined in ArabTeX
+CO d CO d > U+068F U+0651 ;;SHADDA
+CO d > U+068F
+UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA
+UL (d|z) > U+0630
+(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA
+(P d|U+1E0D) > U+0636
+d d > U+062F U+0651 ;;SHADDA
+d > U+062F
+V c V c > U+0685 U+0651 ;;SHADDA
+V c > U+0685 ;pashto
+C c C c > U+0686 U+0651 ;;SHADDA
+C c > U+0686
+P C c P C c > U+06BF U+0651 ;;SHADDA
+P C c > U+06BF ;; cheh with dot above <<<
+c c > U+0681 U+0651 ;;SHADDA
+c > U+0681 ; ح with hamza above
+CO c CO c > U+0682 U+0651 ;;SHADDA
+CO c > U+0682 ; old pashto
+CO b CO b > U+067B U+0651 ;;SHADDA
+CO b > U+067B
+P b P b > U+066E U+0651 ;;SHADDA
+P b > U+066E
+b b > U+0628 U+0651 ;;SHADDA
+b > U+0628
+H A > U+0622
+C A > U+064E U+0622 ; historical spelling
+UL A > U+064E U+0649
+UL a > U+0670
+UL u > U+0657 ; inverted damma
+UL i > U+0656 ; subscript alif
+Q AN / (A H|Ha) _ > ;
+AN / (A H|Ha) _ > U+064B
+Q AN > U+0627
+AN > U+0627 U+064B
+Q a >
+a > U+064E
+Q A > U+0627
+A > U+064E U+0627
+Ain Ain > U+0639 U+0651 ;;SHADDA
+Ain > U+0639
+H H > U+0621 U+0651 ;;SHADDA
+H > U+0621
+U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma
+Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash
+(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks
+[Digits] > [ArDigits]
+Z Z Z / # _ # > U+2014
+Z Z / # _ # > U+2013
+Z Z > U+0640
+B > U+0640
+Z / # _ > U+200D ; -x > force initial form with "zero-width joiner"
+Z / _ # > U+200D ; x- > force final form
+U+003C U+003C > U+00BB ;<<
+U+003E U+003E > U+00AB ;>>
+U+00AB > U+00BB
+U+00BB > U+00AB
+UL > U+0640 ;_
+U+003F > U+061F ;?
+U+003B > U+061B ;;
+U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above...
+U+002C > U+060C ;,
+U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ...
+U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual
+ ; analysis, so quoting of hamzas etc may be necessary
+;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules
+;U+005B > U+005D ;[
+Q [VWL] > ;stripoff quoted vowels
+U+00B0 > U+0652 ; °
+N > ;
+C > ;^
+BAR > ;|
+
+pass(Unicode)
+
+Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-)
+Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc.
+Class [VWL] = (U+0627 U+0648..U+0650 U+0670);
+[CONS]=k1 / _ Z? [CONS] ^U+0651 > @k1 U+0652 ; hack: 2nd consonant has no shadda
+U+064E (U+064A|U+0648)=hc / _ (^[VWLX]|#) > U+064E @hc U+0652 ; ay and aw diphtongs
+U+0627 [VWL]? / [VWL] Z _ > U+0671 ; e.g. fa-isti_hraj -> wasla on initial alif
+U+0627 / # _ U+0644 > U+0627 U+064E ; otherwise initial alif takes fatha
+[CONS]=k1 / _ ([CONS]|#) > @k1 U+0652 ; consonant + (consonant or final)
+;; [CONS]=k1 / _ # > @k1 U+0652 ; final consonant
+Q > ;
+Z > ;
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-fullvoc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-fullvoc.tec
index 447243018f9..6ca10fc26be 100644
--- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-fullvoc.tec
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-fullvoc.tec
Binary files differ
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-kashmiri-fullvoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-kashmiri-fullvoc.map
new file mode 100644
index 00000000000..a2516e210e7
--- /dev/null
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-kashmiri-fullvoc.map
@@ -0,0 +1,513 @@
+LHSName "ArabTeX-kashmiri-fullvocalized"
+RHSName "UNICODE"
+
+Define a U+0061 ;a
+Define b U+0062 ;b
+Define c U+0063 ;c
+Define d U+0064 ;d
+Define e U+0065 ;e
+Define f U+0066 ;f
+Define g U+0067 ;g
+Define h U+0068 ;h
+Define i U+0069 ;i
+Define j U+006A ;j
+Define k U+006B ;k
+Define l U+006C ;l
+Define m U+006D ;m
+Define n U+006E ;n
+Define o U+006F ;o
+Define p U+0070 ;p
+Define q U+0071 ;q
+Define r U+0072 ;r
+Define s U+0073 ;s
+Define t U+0074 ;t
+Define u U+0075 ;u
+Define v U+0076 ;v
+Define w U+0077 ;w
+Define x U+0078 ;x
+Define y U+0079 ;y
+Define z U+007A ;z
+Define A U+0041 ;A
+Define B U+0042 ;B
+Define E U+0045 ;E
+Define G U+0047 ;G
+Define I U+0049 ;I
+Define N U+004E ;N
+Define O U+004F ;O
+Define T U+0054 ;T
+Define U U+0055 ;U
+Define W U+0057 ;W
+Define Y U+0059 ;Y
+Define C U+005E ;^ << CARET
+Define UL U+005F ;_ << UNDERLINE
+Define P U+002E ;. << DOT
+Define V U+002C ;, << COMMA (_V_irgule)
+Define CO U+003A ;: << COLON
+Define SC U+003B ;; << SEMICOLON
+Define Ain U+0060 ;`
+Define H U+0027 ;' << HAMZA
+Define Q U+0022 ;" << QUOTE
+Define Z U+002D ;- << HYPHEN
+Define BAR U+007C ;|
+Define AN U+0061 U+004E ; aN
+Define LLAH U+006C U+006C U+005F U+0061 U+0068
+;Define NUL U+00A6;
+Define Ha U+0623
+Define Hi U+0625
+Define Hy U+0626
+Define Hw U+0624
+Define Hh U+06C0 ;; = U+0647 U+0654
+Define HA U+0622
+Define HB U+0640 U+0654
+Define HBAR U+0621 ; '|
+
+pass(Unicode)
+
+U+E000 > ; eliminate special code for capitalization in transliterations
+
+pass(Unicode)
+
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [AVWL] = (U+064B..U+0650);
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" `
+Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ”
+Class [PUNCT] = (V SC P CO)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u)
+;Class [ae] = (U+0061 U+0065) ;(a e)
+;Class [ou] = (U+0075 U+006F) ;(u o)
+Class [Iyi] = (U+0069 U+0079 U+0049)
+Class [UI] = (U+0049 U+0055) ; U I
+Class [Digits] = (U+0030..U+0039)
+
+Define BEG (#|Z|[BRACKETS])
+Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #)
+Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z)
+
+; special ligatures
+;; 1. Standard ArabTeX input
+;; WARNING! there are, alas, two classes of Arabic fonts:
+;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2
+;; For these the ligature llah can be accessed by the sequence lam-lam-ha
+;; b) Those that do not have the initial alif in U+FDF2
+;; The BAR is used in the DMG transliteration to suppress the initial A
+(a|A) BAR? l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah'
+LLAH > U+FDF2 ;; 'll_ah' > U+FDF2
+;; UPPERCASE mnemonics for various ligatures or special glyphs
+;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode
+U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h'
+U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic
+;; 2b. Ligatures and glyphs defined in Unicode:
+ U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH'
+ U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH'
+
+U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam
+U+0028 U+0028 > U+FD3F ;; '((' : ornate right par
+U+0029 U+0029 > U+FD3E ;; '))' : ornate left par
+U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign
+;; most fonts won't have the following ones:
+U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign)
+U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign
+U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR'
+U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD'
+U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM'
+U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL')
+U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE')
+U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM'
+U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA'
+U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu"
+U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik
+
+U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY
+U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY
+U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM-
+U+005E U+004C U+0041 > U+06D9 ;; ^LA
+U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM
+U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS
+U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN
+U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB
+U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO
+U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO
+U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM
+U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM
+U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN
+U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA
+U+0057 U+0041 U+0057 > U+06E5 ;; WAW
+U+0059 U+0045 U+0048 > U+06E6 ;; YEH
+U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH
+U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN
+U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA
+U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP
+U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP
+U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP
+U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM
+
+U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::")
+
+;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts
+U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]]
+
+
+; vowels
+u u > U
+i i > I
+a a > A
+CO O > U+06FC ;
+a e > a y
+a o > a w
+(o|u)? O / # _ > U+0627 w
+(o|u)? O > w
+CO U > U+06C7 ;
+e / # _ # > U+0627 U+06D2 U+0658 ; Alif + yeh barree + bow accent
+e / _ # > U+06D2 U+0658 ; yeh barree + bow accent
+e / # _ > U+0627 y U+0658 ; alif + ya + bow accent
+e > y U+0658
+E / # _ # > U+0627 U+06D2 ; Alif + yeh barree
+E / _ # > U+06D2 ; yeh barree
+E / # _ > U+0627 y ; alif + ya
+E > y
+o / # _ > U+0627 U+06C6
+o > U+06C6
+P A > U+0672
+P U > U+0673 ; > this is the initial or lone form, but medial and final require wavy hamza below previous letter (not in Unicode)! Perhaps an OT font could solve this :: in Scheherazade the glyph needed is named _wavyHamza <<<
+P a / # _ > U+0623
+P a > U+0654
+P u > U+0655
+P o / # _ > U+0627 U+06C4
+P o > U+06C4
+P O / # _ > U+0627 U+06C4 U+0627 U+064E
+P O > U+06C4 U+0627 U+064E
+I > y U+0656
+I / _ # > y
+U / _ # > U+0627 w U+0657
+U > w U+0657
+
+
+;; Persian ezafe (ALL BUT ARABIC AND UIGHUR)
+U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<<
+U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I
+Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e
+Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I
+Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i
+Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i
+Z / U+0048 _ > U+0020 ;
+b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen
+
+;; initial characters ...
+a l Z / BEG _ > U+0627 l Z
+;; wasla on initial alif : NEW! NOT TESTED!
+H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI
+[VWL]=v1 / BEG _ > U+0627 @v1
+Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U
+; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I
+Q?=q1 I / BEG _ > U+0627 @q1 i y
+
+
+;; Words with anomalous orthography:
+
+; mi'aT -> ماية
+;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy
+m Q i H Q a / _ (T|t) > m U+0627 Hy
+m Q i H a / _ (T|t) > m U+0627 Hy a
+m i H Q a / _ (T|t) > m i U+0627 Hy
+m i H a / _ (T|t) > m i U+0627 Hy a
+
+
+;; contextual analysis of hamzas
+;; THESE DO NOT APPLY FOR SINDHI
+
+; initial hamzas
+H / (#|^[LTR]) _ Q? [Iyi] > Hi
+H Q A / (#|^[LTR]) _ > HA ; alif madda
+H / (#|^[LTR]) _ Q? [Uwu] > Ha
+H / (#|^[LTR]) _ Q? a > Ha
+Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word
+
+; quoted hamzas in contextual mode, equivalent to verbatim mode
+a Q H > Ha
+i Q H > Hi
+y Q H > Hy
+w Q H > Hw
+h Q H > Hh
+A Q H > HA
+B Q H > HB
+BAR Q H > HBAR
+
+; hamza + fathatan
+H / a _ Q? AN > Ha
+;;H / [Iyi] _ Q? AN > Hy
+H / _ Q? AN > Hy
+
+;final hamzas
+H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ...
+H / a _ Q? (#|^[LTR]) > Ha ; not AN...
+H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN...
+H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy
+H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw
+
+;;and more hamzas ...
+
+; n°1: kasra/ya
+H / [LTR] _ Q? [Iyi] ^N > Hy
+H / [Iyi] _ > Hy
+
+; n°2: damma/waw
+H / [LTR] _ Q? (U|u) ^N > Hw
+H / (U|u) _ Q? ^[Iyi] > Hw
+H / U _ > HBAR
+
+; n°3: fatha/alif
+H Q? A > HA
+H / A _ Q? a > HBAR
+H / ^[UI] _ Q? a > Ha
+H / a _ Q? ^[UI] > Ha
+
+
+pass(Unicode)
+
+Class [Digits] = (U+0030..U+0039)
+Class [ArDigits] = (U+0660..U+0669)
+Class [ArEasternDigits] = (U+06F0..U+06F9)
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+
+
+
+
+;normal code
+
+
+CO z CO z > U+0636 U+0651 ;;SHADDA
+CO z > U+0636
+(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA
+(P z|U+1E93) > U+0638
+C z C z > U+0698 U+0651 ;;SHADDA
+C z > U+0698
+V z V z > U+0696 U+0651 ;;SHADDA
+V z > U+0696 ;pashto
+z z > U+0632 U+0651 ;;SHADDA
+z > U+0632
+Q Y Y > U+0649 U+0651 ;;SHADDA
+Q Y > U+0649
+Y Y > U+064E U+0649 U+0651 ;;SHADDA
+Y > U+064E U+0649
+;; .b with ring below : FIXME not in Unicode! but U+06EA is a poor replacement:
+P y / # _ # > U+0627 U+06D2 U+06EA
+P y / _ # > U+0649
+P y > U+066E U+06EA
+;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots
+y y > U+06CC U+0651 ;;SHADDA
+y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots
+v v > U+06A4 U+0651 ;;SHADDA
+v > U+06A4
+W > U+0648 U+0627 ; waw + alif
+C U > U+064F U+0648 U+0653; historical spelling : madda on waw
+C w C w > U+06C9 U+0651 ;;SHADDA
+C w > U+06C9
+CO w CO w > U+06CA U+0651 ;,SHADDA
+CO w > U+06CA
+U A / _ # > U+064F U+0648 U+0627
+Q U [Uw] > U+0648 U+0651 ;;SHADDA
+Q U > U+0648
+U [Uw] > U+064F U+0648 U+0651 ;;SHADDA
+U > U+064F U+0648
+w w > U+0648 U+0651 ;;SHADDA
+w > U+0648
+Q u N? >
+u N > U+064C
+u > U+064F
+V t V t > U+0679 U+0651 ;;SHADDA
+V t > U+0679 ;urdu
+UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA
+UL (t|s) > U+062B
+(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA
+(P t|U+1E6D) > U+0637
+t t > U+062A U+0651 ;;SHADDA
+t > U+062A
+T T Q AN > U+0629 U+0651 ;;SHADDA
+T Q AN > U+0629
+T AN > U+0629 U+064B
+T T > U+0629 U+0651 ;;SHADDA
+T > U+0629
+C s C s > U+0634 U+0651 ;;SHADDA
+C s > U+0634
+(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA
+(P s|U+1E63) > U+0635
+V s V s > U+069A U+0651 ;;SHADDA
+V s > U+069A ;Pashto
+CO s CO s > U+069B U+0651 ;;SHADDA
+CO s > U+069B ; sin with 3 dots below
+s s > U+0633 U+0651 ;;SHADDA
+s > U+0633
+C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<<
+C r > U+06EF
+CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<<
+CO r > U+0697 ; Dargwa language, Dagestan
+P r P r > U+0694 U+0651 ;;SHADDA
+P r > U+0694 ; r with dot below; in Kurdish .r -> 0694
+V r V r > U+0691 U+0651 ;;SHADDA
+V r > U+0691 ;Urdu
+r r > U+0631 U+0651 ;;SHADDA
+r > U+0631
+P q P q > U+066F U+0651 ;;SHADDA
+P q > U+066F
+q q > U+0642 U+0651 ;;SHADDA
+q > U+0642
+p p > U+067E U+0651 ;;SHADDA
+p > U+067E
+CO n CO n > U+06B1 U+0651 ;;SHADDA
+CO n > U+06B1
+C n C n > U+06AD U+0651 ;;SHADDA
+C n > U+06AD
+P n P n > U+06BA U+0651 ;;SHADDA
+P n > U+06BA ; urdu
+V n V n > U+06BC U+0651 ;;SHADDA
+V n > U+06BC ; Pashto
+n n > U+0646 U+0651 ;;SHADDA
+n > U+0646
+m m > U+0645 U+0651 ;;SHADDA
+m > U+0645
+P l P l > U+06B6 U+0651 ;
+P l > U+06B6 ; ADDED <<<
+C l C l > U+06B5 U+0651 ;;SHADDA
+C l > U+06B5 ;kurdish
+l l > U+0644 U+0651 ;;SHADDA
+l > U+0644
+P k P k > U+06A9 U+0651 ;;SHADDA
+P k > U+06A9 ; pashto urdu
+UL k UL k > U+063A U+0651 ;;SHADDA
+UL k > U+063A
+k k > U+0643 U+0651 ;;SHADDA
+k > U+0643
+C g C g > U+062C U+0651 ;;SHADDA
+C g > U+062C
+CO j CO j > U+0684 U+0651 ;;SHADDA
+CO j > U+0684
+j j > U+062C U+0651 ;;SHADDA
+j > U+062C
+Q I > U+064A
+I > U+0650 U+064A
+C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya
+UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ###
+Q i N? > ;
+i N > U+064D
+i > U+0650
+x x > U+062E U+0651 ;;SHADDA
+x > U+062E
+UL h UL h > U+062E U+0651 ;;SHADDA
+UL h > U+062E
+(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA
+(P h|U+1E25) > U+062D
+V h V h > U+06C1 U+0651 ;;SHADDA
+V h > U+06C1
+h h > U+0647 U+0651 ;;SHADDA
+h > U+0647
+CO g CO g > U+06B3 U+0651 ;;SHADDA
+CO g > U+06B3
+V g V g > U+06AC U+0651 ;;SHADDA
+V g > U+06AC ; kaf with dot above
+P g P g > U+063A U+0651 ;;SHADDA
+P g > U+063A
+g g > U+06AF U+0651 ;;SHADDA
+g > U+06AF
+G G > U+06AB U+0651 ;;SHADDA
+G > U+06AB ;pashto
+P f P f > U+06A1 U+0651 ;;SHADDA
+P f > U+06A1
+f f > U+0641 U+0651 ;;SHADDA
+f > U+0641
+V d V d > U+068A U+0651 ;;SHADDA
+V d > U+068A
+P V d P V d > U+068B U+0651 ;;SHADDA
+P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi)
+C d C d > U+06EE U+0651 ;;SHADDA
+C d > U+06EE ; not defined in ArabTeX
+CO d CO d > U+068F U+0651 ;;SHADDA
+CO d > U+068F
+UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA
+UL (d|z) > U+0630
+(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA
+(P d|U+1E0D) > U+0636
+d d > U+062F U+0651 ;;SHADDA
+d > U+062F
+V c V c > U+0685 U+0651 ;;SHADDA
+V c > U+0685 ;pashto
+C c C c > U+0686 U+0651 ;;SHADDA
+C c > U+0686
+P C c P C c > U+06BF U+0651 ;;SHADDA
+P C c > U+06BF ;; cheh with dot above <<<
+c c > U+0681 U+0651 ;;SHADDA
+c > U+0681 ; ح with hamza above
+CO c CO c > U+0682 U+0651 ;;SHADDA
+CO c > U+0682 ; old pashto
+CO b CO b > U+067B U+0651 ;;SHADDA
+CO b > U+067B
+P b P b > U+066E U+0651 ;;SHADDA
+P b > U+066E
+b b > U+0628 U+0651 ;;SHADDA
+b > U+0628
+H A > U+0622
+C A > U+064E U+0622 ; historical spelling
+UL A > U+064E U+0649
+UL a > U+0670
+UL u > U+064F;
+UL i > U+0650;
+Q AN / (A H|Ha) _ > ;
+AN / (A H|Ha) _ > U+064B
+Q AN > U+0627
+AN > U+0627 U+064B
+Q a >
+a > U+064E
+Q A > U+0627
+A > U+064E U+0627
+Ain Ain > U+0639 U+0651 ;;SHADDA
+Ain > U+0639
+H H > U+0621 U+0651 ;;SHADDA
+H > U+0621
+U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma
+Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash
+(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks
+[Digits] > [ArEasternDigits]
+Z Z Z / # _ # > U+2014
+Z Z / # _ # > U+2013
+Z Z > U+0640
+B > U+0640
+Z / # _ > U+200D ; -x > force initial form with "zero-width joiner"
+Z / _ # > U+200D ; x- > force final form
+U+003C U+003C > U+00BB ;<<
+U+003E U+003E > U+00AB ;>>
+U+00AB > U+00BB
+U+00BB > U+00AB
+UL > U+0640 ;_
+U+003F > U+061F ;?
+U+003B > U+061B ;;
+U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above...
+U+002C > U+060C ;,
+U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ...
+U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual
+ ; analysis, so quoting of hamzas etc may be necessary
+;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules
+;U+005B > U+005D ;[
+Q [VWL] > ;stripoff quoted vowels
+U+00B0 > U+0652 ; °
+N > ;
+C > ;^
+BAR > ;|
+
+pass(Unicode)
+
+Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-)
+Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc.
+Class [VWL] = (U+0627 U+0648..U+0650 U+0670);
+[CONS]=k1 / _ Z? [CONS] ^U+0651 > @k1 U+0652 ; hack: 2nd consonant has no shadda
+U+064E (U+064A|U+0648)=hc / _ (^[VWLX]|#) > U+064E @hc U+0652 ; ay and aw diphtongs
+U+0627 / # _ U+0644 > U+0627 U+064E ; otherwise initial alif takes fatha
+[CONS]=k1 / _ ([CONS]|#) > @k1 U+0652 ; consonant + (consonant or final)
+;; [CONS]=k1 / _ # > @k1 U+0652 ; final consonant
+Q > ;
+Z > ;
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-kashmiri-novoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-kashmiri-novoc.map
new file mode 100644
index 00000000000..b14151f77cd
--- /dev/null
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-kashmiri-novoc.map
@@ -0,0 +1,498 @@
+LHSName "ArabTeX-kashmiri-novowels"
+RHSName "UNICODE"
+
+Define a U+0061 ;a
+Define b U+0062 ;b
+Define c U+0063 ;c
+Define d U+0064 ;d
+Define e U+0065 ;e
+Define f U+0066 ;f
+Define g U+0067 ;g
+Define h U+0068 ;h
+Define i U+0069 ;i
+Define j U+006A ;j
+Define k U+006B ;k
+Define l U+006C ;l
+Define m U+006D ;m
+Define n U+006E ;n
+Define o U+006F ;o
+Define p U+0070 ;p
+Define q U+0071 ;q
+Define r U+0072 ;r
+Define s U+0073 ;s
+Define t U+0074 ;t
+Define u U+0075 ;u
+Define v U+0076 ;v
+Define w U+0077 ;w
+Define x U+0078 ;x
+Define y U+0079 ;y
+Define z U+007A ;z
+Define A U+0041 ;A
+Define B U+0042 ;B
+Define E U+0045 ;E
+Define G U+0047 ;G
+Define I U+0049 ;I
+Define N U+004E ;N
+Define O U+004F ;O
+Define T U+0054 ;T
+Define U U+0055 ;U
+Define W U+0057 ;W
+Define Y U+0059 ;Y
+Define C U+005E ;^ << CARET
+Define UL U+005F ;_ << UNDERLINE
+Define P U+002E ;. << DOT
+Define V U+002C ;, << COMMA (_V_irgule)
+Define CO U+003A ;: << COLON
+Define SC U+003B ;; << SEMICOLON
+Define Ain U+0060 ;`
+Define H U+0027 ;' << HAMZA
+Define Q U+0022 ;" << QUOTE
+Define Z U+002D ;- << HYPHEN
+Define BAR U+007C ;|
+Define AN U+0061 U+004E ; aN
+Define LLAH U+006C U+006C U+005F U+0061 U+0068
+;Define NUL U+00A6;
+Define Ha U+0623
+Define Hi U+0625
+Define Hy U+0626
+Define Hw U+0624
+Define Hh U+06C0 ;; = U+0647 U+0654
+Define HA U+0622
+Define HB U+0640 U+0654
+Define HBAR U+0621 ; '|
+
+pass(Unicode)
+
+U+E000 > ; eliminate special code for capitalization in transliterations
+
+pass(Unicode)
+
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [AVWL] = (U+064B..U+0650);
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" `
+Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ”
+Class [PUNCT] = (V SC P CO)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u)
+;Class [ae] = (U+0061 U+0065) ;(a e)
+;Class [ou] = (U+0075 U+006F) ;(u o)
+Class [Iyi] = (U+0069 U+0079 U+0049)
+Class [UI] = (U+0049 U+0055) ; U I
+Class [Digits] = (U+0030..U+0039)
+
+Define BEG (#|Z|[BRACKETS])
+Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #)
+Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z)
+
+; special ligatures
+;; 1. Standard ArabTeX input
+;; WARNING! there are, alas, two classes of Arabic fonts:
+;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2
+;; For these the ligature llah can be accessed by the sequence lam-lam-ha
+;; b) Those that do not have the initial alif in U+FDF2
+;; The BAR is used in the DMG transliteration to suppress the initial A
+(a|A) BAR? l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah'
+LLAH > U+FDF2 ;; 'll_ah' > U+FDF2
+;; UPPERCASE mnemonics for various ligatures or special glyphs
+;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode
+U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h'
+U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic
+;; 2b. Ligatures and glyphs defined in Unicode:
+ U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH'
+ U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH'
+
+U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam
+U+0028 U+0028 > U+FD3F ;; '((' : ornate right par
+U+0029 U+0029 > U+FD3E ;; '))' : ornate left par
+U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign
+;; most fonts won't have the following ones:
+U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign)
+U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign
+U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR'
+U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD'
+U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM'
+U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL')
+U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE')
+U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM'
+U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA'
+U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu"
+U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik
+
+U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY
+U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY
+U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM-
+U+005E U+004C U+0041 > U+06D9 ;; ^LA
+U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM
+U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS
+U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN
+U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB
+U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO
+U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO
+U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM
+U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM
+U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN
+U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA
+U+0057 U+0041 U+0057 > U+06E5 ;; WAW
+U+0059 U+0045 U+0048 > U+06E6 ;; YEH
+U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH
+U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN
+U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA
+U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP
+U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP
+U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP
+U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM
+
+U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::")
+
+;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts
+U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]]
+
+
+; vowels
+u u > U
+i i > I
+a a > A
+[AVWL] > ; strip off vowels when writing UTF-8 Arabic with novoc mode
+CO O > U+06FC ;
+a e > a y
+a o > a w
+(o|u)? O / # _ > U+0627 w
+(o|u)? O > w
+CO U > U+06C7 ;
+e / # _ # > U+0627 U+06D2 U+0658 ; Alif + yeh barree + bow accent
+e / _ # > U+06D2 U+0658 ; yeh barree + bow accent
+e / # _ > U+0627 y U+0658 ; alif + ya + bow accent
+e > y U+0658
+E / # _ # > U+0627 U+06D2 ; Alif + yeh barree
+E / _ # > U+06D2 ; yeh barree
+E / # _ > U+0627 y ; alif + ya
+E > y
+o / # _ > U+0627 U+06C6
+o > U+06C6
+P A > U+0672
+P U > U+0673 ; > this is the initial or lone form, but medial and final require wavy hamza below previous letter (not in Unicode)! Perhaps an OT font could solve this :: in Scheherazade the glyph needed is named _wavyHamza <<<
+P a / # _ > U+0623
+P a > U+0654
+P u > U+0655
+P o / # _ > U+0627 U+06C4
+P o > U+06C4
+P O / # _ > U+0627 U+06C4 U+0627 U+064E
+P O > U+06C4 U+0627 U+064E
+I > y U+0656
+I / _ # > y
+U / _ # > U+0627 w U+0657
+U > w U+0657
+
+
+;; Persian ezafe (ALL BUT ARABIC AND UIGHUR)
+U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<<
+U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I
+Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e
+Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I
+Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i
+Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i
+Z / U+0048 _ > U+0020 ;
+b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen
+
+;; initial characters ...
+a l Z / BEG _ > U+0627 l Z
+;; wasla on initial alif : NEW! NOT TESTED!
+H / BEG _ l l > U+0627 ;
+[VWL]=v1 / BEG _ > A @v1
+Q?=q1 U / BEG _ > A @q1 u w ; -U
+; Q?=q1 I / BEG _ > A @q1 i y ; -I ; but not when I is final FIXME!!!
+Q?=q1 I / BEG _ > A @q1 i y ; except for Persian, coz of ezafe rules
+
+
+;; Words with anomalous orthography:
+
+; mi'aT -> ماية
+;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy
+m Q i H Q a / _ (T|t) > m Q i A Hy Q a
+m Q i H a / _ (T|t) > m Q i A Hy
+m i H Q a / _ (T|t) > m A Hy Q a
+m i H a / _ (T|t) > m A Hy
+
+
+;; contextual analysis of hamzas
+;; THESE DO NOT APPLY FOR SINDHI
+
+; initial hamzas
+H / (#|^[LTR]) _ Q? [Iyi] > Hi
+H Q A / (#|^[LTR]) _ > HA ; alif madda
+H / (#|^[LTR]) _ Q? [Uwu] > Ha
+H / (#|^[LTR]) _ Q? a > Ha
+Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word
+
+; quoted hamzas in contextual mode, equivalent to verbatim mode
+a Q H > Ha
+i Q H > Hi
+y Q H > Hy
+w Q H > Hw
+h Q H > Hh
+A Q H > HA
+B Q H > HB
+BAR Q H > HBAR
+
+; hamza + fathatan
+H / a _ Q? AN > Ha
+;;H / [Iyi] _ Q? AN > Hy
+H / _ Q? AN > Hy
+
+;final hamzas
+H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ...
+H / a _ Q? (#|^[LTR]) > Ha ; not AN...
+H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN...
+H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy
+H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw
+
+;;and more hamzas ...
+
+; n°1: kasra/ya
+H / [LTR] _ Q? [Iyi] ^N > Hy
+H / [Iyi] _ > Hy
+
+; n°2: damma/waw
+H / [LTR] _ Q? (U|u) ^N > Hw
+H / (U|u) _ Q? ^[Iyi] > Hw
+H / U _ > HBAR
+
+; n°3: fatha/alif
+H Q? A > HA
+H / A _ Q? a > HBAR
+H / ^[UI] _ Q? a > Ha
+H / a _ Q? ^[UI] > Ha
+
+
+pass(Unicode)
+
+Class [Digits] = (U+0030..U+0039)
+Class [ArDigits] = (U+0660..U+0669)
+Class [ArEasternDigits] = (U+06F0..U+06F9)
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+
+
+
+
+;normal code
+
+
+CO z CO z > U+0636 U+0651 ;;SHADDA
+CO z > U+0636
+(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA
+(P z|U+1E93) > U+0638
+C z C z > U+0698 U+0651 ;;SHADDA
+C z > U+0698
+V z V z > U+0696 U+0651 ;;SHADDA
+V z > U+0696 ;pashto
+z z > U+0632 U+0651 ;;SHADDA
+z > U+0632
+Y Y > U+0649 U+0651 ;;SHADDA
+Y > U+0649
+;; .b with ring below : FIXME not in Unicode! but U+06EA is a poor replacement:
+P y / # _ # > U+0627 U+06D2 U+06EA
+P y / _ # > U+0649
+P y > U+066E U+06EA
+;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots
+y y > U+06CC U+0651 ;;SHADDA
+y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots
+v v > U+06A4 U+0651 ;;SHADDA
+v > U+06A4
+W > U+0648 U+0627 ; waw + alif
+C U > U+064F U+0648 U+0653; historical spelling : madda on waw
+Q U [Uw] > U+064F U+0648 U+0651 ;;SHADDA
+Q U > U+064F U+0648
+[Uw] [Uw] > U+0648 U+0651 ;;SHADDA
+[Uw] > U+0648
+C w C w > U+06C9 U+0651 ;;SHADDA
+C w > U+06C9
+CO w CO w > U+06CA U+0651 ;,SHADDA
+CO w > U+06CA
+Q u N > U+064C
+u N >
+Q u > U+064F
+V t V t > U+0679 U+0651 ;;SHADDA
+V t > U+0679 ;urdu
+UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA
+UL (t|s) > U+062B
+(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA
+(P t|U+1E6D) > U+0637
+t t > U+062A U+0651 ;;SHADDA
+t > U+062A
+T T Q AN > U+0629 U+0651 U+064B ;;SHADDA
+T Q AN > U+0629 U+064B
+T AN > U+0629
+T T > U+0629 U+0651 ;;SHADDA
+T > U+0629
+C s C s > U+0634 U+0651 ;;SHADDA
+C s > U+0634
+(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA
+(P s|U+1E63) > U+0635
+V s V s > U+069A U+0651 ;;SHADDA
+V s > U+069A ;Pashto
+CO s CO s > U+069B U+0651 ;;SHADDA
+CO s > U+069B ; sin with 3 dots below
+s s > U+0633 U+0651 ;;SHADDA
+s > U+0633
+C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<<
+C r > U+06EF
+CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<<
+CO r > U+0697 ; Dargwa language, Dagestan
+P r P r > U+0694 U+0651 ;;SHADDA
+P r > U+0694 ; r with dot below; in Kurdish .r -> 0694
+V r V r > U+0691 U+0651 ;;SHADDA
+V r > U+0691 ;Urdu
+r r > U+0631 U+0651 ;;SHADDA
+r > U+0631
+P q P q > U+066F U+0651 ;;SHADDA
+P q > U+066F
+q q > U+0642 U+0651 ;;SHADDA
+q > U+0642
+p p > U+067E U+0651 ;;SHADDA
+p > U+067E
+CO n CO n > U+06B1 U+0651 ;;SHADDA
+CO n > U+06B1
+C n C n > U+06AD U+0651 ;;SHADDA
+C n > U+06AD
+P n P n > U+06BA U+0651 ;;SHADDA
+P n > U+06BA ; urdu
+V n V n > U+06BC U+0651 ;;SHADDA
+V n > U+06BC ; Pashto
+n n > U+0646 U+0651 ;;SHADDA
+n > U+0646
+m m > U+0645 U+0651 ;;SHADDA
+m > U+0645
+P l P l > U+06B6 U+0651 ;
+P l > U+06B6 ; ADDED <<<
+C l C l > U+06B5 U+0651 ;;SHADDA
+C l > U+06B5 ;kurdish
+l l > U+0644 U+0651 ;;SHADDA
+l > U+0644
+P k P k > U+06A9 U+0651 ;;SHADDA
+P k > U+06A9 ; pashto urdu
+UL k UL k > U+063A U+0651 ;;SHADDA
+UL k > U+063A
+k k > U+0643 U+0651 ;;SHADDA
+k > U+0643
+C g C g > U+062C U+0651 ;;SHADDA
+C g > U+062C
+CO j CO j > U+0684 U+0651 ;;SHADDA
+CO j > U+0684
+j j > U+062C U+0651 ;;SHADDA
+j > U+062C
+Q I > U+0650 U+064A
+C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya
+UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ###
+I > U+064A
+Q i N > U+064D
+i N > ;
+Q i > U+0650
+x x > U+062E U+0651 ;;SHADDA
+x > U+062E
+UL h UL h > U+062E U+0651 ;;SHADDA
+UL h > U+062E
+(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA
+(P h|U+1E25) > U+062D
+V h V h > U+06C1 U+0651 ;;SHADDA
+V h > U+06C1
+h h > U+0647 U+0651 ;;SHADDA
+h > U+0647
+CO g CO g > U+06B3 U+0651 ;;SHADDA
+CO g > U+06B3
+V g V g > U+06AC U+0651 ;;SHADDA
+V g > U+06AC ; kaf with dot above
+P g P g > U+063A U+0651 ;;SHADDA
+P g > U+063A
+g g > U+06AF U+0651 ;;SHADDA
+g > U+06AF
+G G > U+06AB U+0651 ;;SHADDA
+G > U+06AB ;pashto
+P f P f > U+06A1 U+0651 ;;SHADDA
+P f > U+06A1
+f f > U+0641 U+0651 ;;SHADDA
+f > U+0641
+V d V d > U+068A U+0651 ;;SHADDA
+V d > U+068A
+P V d P V d > U+068B U+0651 ;;SHADDA
+P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi)
+C d C d > U+06EE U+0651 ;;SHADDA
+C d > U+06EE ; not defined in ArabTeX
+CO d CO d > U+068F U+0651 ;;SHADDA
+CO d > U+068F
+UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA
+UL (d|z) > U+0630
+(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA
+(P d|U+1E0D) > U+0636
+d d > U+062F U+0651 ;;SHADDA
+d > U+062F
+V c V c > U+0685 U+0651 ;;SHADDA
+V c > U+0685 ;pashto
+C c C c > U+0686 U+0651 ;;SHADDA
+C c > U+0686
+P C c P C c > U+06BF U+0651 ;;SHADDA
+P C c > U+06BF ;; cheh with dot above <<<
+c c > U+0681 U+0651 ;;SHADDA
+c > U+0681 ; ح with hamza above
+CO c CO c > U+0682 U+0651 ;;SHADDA
+CO c > U+0682 ; old pashto
+CO b CO b > U+067B U+0651 ;;SHADDA
+CO b > U+067B
+P b P b > U+066E U+0651 ;;SHADDA
+P b > U+066E
+b b > U+0628 U+0651 ;;SHADDA
+b > U+0628
+H A > U+0622
+C A > U+064E U+0622 ; historical spelling
+UL A > U+0649
+UL a > U+0670
+UL u > ;
+UL i > ;
+Q AN / (A H|Ha) _ > U+064B
+AN / (A H|Ha) _ > ;
+Q AN > U+0627 U+064B
+AN > U+0627
+Q a > U+064E
+Q A > U+064E U+0627
+A > U+0627
+Ain Ain > U+0639 U+0651 ;;SHADDA
+Ain > U+0639
+H H > U+0621 U+0651 ;;SHADDA
+H > U+0621
+U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma
+Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash
+(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks
+[Digits] > [ArEasternDigits]
+Z Z Z / # _ # > U+2014
+Z Z / # _ # > U+2013
+Z Z > U+0640
+B > U+0640
+Z / # _ > U+200D ; -x > force initial form with "zero-width joiner"
+Z / _ # > U+200D ; x- > force final form
+U+003C U+003C > U+00BB ;<<
+U+003E U+003E > U+00AB ;>>
+U+00AB > U+00BB
+U+00BB > U+00AB
+UL > U+0640 ;_
+U+003F > U+061F ;?
+U+003B > U+061B ;;
+U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above...
+U+002C > U+060C ;,
+U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ...
+U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual
+ ; analysis, so quoting of hamzas etc may be necessary
+;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules
+;U+005B > U+005D ;[
+[VWL] > ;stripoff vowels
+Q > U+0652
+U+00B0 > U+0652 ; °
+N > ;
+C > ;^
+Z > ;-
+BAR > ;|
+
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-kashmiri-novoc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-kashmiri-novoc.tec
index 3522928f864..1c781a55e8f 100644
--- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-kashmiri-novoc.tec
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-kashmiri-novoc.tec
Binary files differ
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-kashmiri-voc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-kashmiri-voc.map
new file mode 100644
index 00000000000..ad72262643b
--- /dev/null
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-kashmiri-voc.map
@@ -0,0 +1,508 @@
+LHSName "ArabTeX-kashmiri-vocalized"
+RHSName "UNICODE"
+
+Define a U+0061 ;a
+Define b U+0062 ;b
+Define c U+0063 ;c
+Define d U+0064 ;d
+Define e U+0065 ;e
+Define f U+0066 ;f
+Define g U+0067 ;g
+Define h U+0068 ;h
+Define i U+0069 ;i
+Define j U+006A ;j
+Define k U+006B ;k
+Define l U+006C ;l
+Define m U+006D ;m
+Define n U+006E ;n
+Define o U+006F ;o
+Define p U+0070 ;p
+Define q U+0071 ;q
+Define r U+0072 ;r
+Define s U+0073 ;s
+Define t U+0074 ;t
+Define u U+0075 ;u
+Define v U+0076 ;v
+Define w U+0077 ;w
+Define x U+0078 ;x
+Define y U+0079 ;y
+Define z U+007A ;z
+Define A U+0041 ;A
+Define B U+0042 ;B
+Define E U+0045 ;E
+Define G U+0047 ;G
+Define I U+0049 ;I
+Define N U+004E ;N
+Define O U+004F ;O
+Define T U+0054 ;T
+Define U U+0055 ;U
+Define W U+0057 ;W
+Define Y U+0059 ;Y
+Define C U+005E ;^ << CARET
+Define UL U+005F ;_ << UNDERLINE
+Define P U+002E ;. << DOT
+Define V U+002C ;, << COMMA (_V_irgule)
+Define CO U+003A ;: << COLON
+Define SC U+003B ;; << SEMICOLON
+Define Ain U+0060 ;`
+Define H U+0027 ;' << HAMZA
+Define Q U+0022 ;" << QUOTE
+Define Z U+002D ;- << HYPHEN
+Define BAR U+007C ;|
+Define AN U+0061 U+004E ; aN
+Define LLAH U+006C U+006C U+005F U+0061 U+0068
+;Define NUL U+00A6;
+Define Ha U+0623
+Define Hi U+0625
+Define Hy U+0626
+Define Hw U+0624
+Define Hh U+06C0 ;; = U+0647 U+0654
+Define HA U+0622
+Define HB U+0640 U+0654
+Define HBAR U+0621 ; '|
+
+pass(Unicode)
+
+U+E000 > ; eliminate special code for capitalization in transliterations
+
+pass(Unicode)
+
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [AVWL] = (U+064B..U+0650);
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" `
+Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ”
+Class [PUNCT] = (V SC P CO)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u)
+;Class [ae] = (U+0061 U+0065) ;(a e)
+;Class [ou] = (U+0075 U+006F) ;(u o)
+Class [Iyi] = (U+0069 U+0079 U+0049)
+Class [UI] = (U+0049 U+0055) ; U I
+Class [Digits] = (U+0030..U+0039)
+
+Define BEG (#|Z|[BRACKETS])
+Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #)
+Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z)
+
+; special ligatures
+;; 1. Standard ArabTeX input
+;; WARNING! there are, alas, two classes of Arabic fonts:
+;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2
+;; For these the ligature llah can be accessed by the sequence lam-lam-ha
+;; b) Those that do not have the initial alif in U+FDF2
+;; The BAR is used in the DMG transliteration to suppress the initial A
+(a|A) BAR? l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah'
+LLAH > U+FDF2 ;; 'll_ah' > U+FDF2
+;; UPPERCASE mnemonics for various ligatures or special glyphs
+;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode
+U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h'
+U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic
+;; 2b. Ligatures and glyphs defined in Unicode:
+ U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH'
+ U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH'
+
+U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam
+U+0028 U+0028 > U+FD3F ;; '((' : ornate right par
+U+0029 U+0029 > U+FD3E ;; '))' : ornate left par
+U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign
+;; most fonts won't have the following ones:
+U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign)
+U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign
+U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR'
+U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD'
+U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM'
+U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL')
+U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE')
+U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM'
+U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA'
+U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu"
+U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik
+
+U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY
+U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY
+U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM-
+U+005E U+004C U+0041 > U+06D9 ;; ^LA
+U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM
+U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS
+U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN
+U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB
+U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO
+U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO
+U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM
+U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM
+U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN
+U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA
+U+0057 U+0041 U+0057 > U+06E5 ;; WAW
+U+0059 U+0045 U+0048 > U+06E6 ;; YEH
+U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH
+U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN
+U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA
+U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP
+U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP
+U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP
+U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM
+
+U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::")
+
+;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts
+U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]]
+
+
+; vowels
+u u > U
+i i > I
+a a > A
+CO O > U+06FC ;
+a e > a y
+a o > a w
+(o|u)? O / # _ > U+0627 w
+(o|u)? O > w
+CO U > U+06C7 ;
+e / # _ # > U+0627 U+06D2 U+0658 ; Alif + yeh barree + bow accent
+e / _ # > U+06D2 U+0658 ; yeh barree + bow accent
+e / # _ > U+0627 y U+0658 ; alif + ya + bow accent
+e > y U+0658
+E / # _ # > U+0627 U+06D2 ; Alif + yeh barree
+E / _ # > U+06D2 ; yeh barree
+E / # _ > U+0627 y ; alif + ya
+E > y
+o / # _ > U+0627 U+06C6
+o > U+06C6
+P A > U+0672
+P U > U+0673 ; > this is the initial or lone form, but medial and final require wavy hamza below previous letter (not in Unicode)! Perhaps an OT font could solve this :: in Scheherazade the glyph needed is named _wavyHamza <<<
+P a / # _ > U+0623
+P a > U+0654
+P u > U+0655
+P o / # _ > U+0627 U+06C4
+P o > U+06C4
+P O / # _ > U+0627 U+06C4 U+0627 U+064E
+P O > U+06C4 U+0627 U+064E
+I > y U+0656
+I / _ # > y
+U / _ # > U+0627 w U+0657
+U > w U+0657
+
+
+;; Persian ezafe (ALL BUT ARABIC AND UIGHUR)
+U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<<
+U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I
+Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e
+Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I
+Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i
+Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i
+Z / U+0048 _ > U+0020 ;
+b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen
+
+;; initial characters ...
+a l Z / BEG _ > U+0627 l Z
+;; wasla on initial alif : NEW! NOT TESTED!
+H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI
+[VWL]=v1 / BEG _ > U+0627 @v1
+Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U
+; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I
+Q?=q1 I / BEG _ > U+0627 @q1 i y
+
+
+;; Words with anomalous orthography:
+
+; mi'aT -> ماية
+;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy
+m Q i H Q a / _ (T|t) > m U+0627 Hy
+m Q i H a / _ (T|t) > m U+0627 Hy a
+m i H Q a / _ (T|t) > m i U+0627 Hy
+m i H a / _ (T|t) > m i U+0627 Hy a
+
+
+;; contextual analysis of hamzas
+;; THESE DO NOT APPLY FOR SINDHI
+
+; initial hamzas
+H / (#|^[LTR]) _ Q? [Iyi] > Hi
+H Q A / (#|^[LTR]) _ > HA ; alif madda
+H / (#|^[LTR]) _ Q? [Uwu] > Ha
+H / (#|^[LTR]) _ Q? a > Ha
+Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word
+
+; quoted hamzas in contextual mode, equivalent to verbatim mode
+a Q H > Ha
+i Q H > Hi
+y Q H > Hy
+w Q H > Hw
+h Q H > Hh
+A Q H > HA
+B Q H > HB
+BAR Q H > HBAR
+
+; hamza + fathatan
+H / a _ Q? AN > Ha
+;;H / [Iyi] _ Q? AN > Hy
+H / _ Q? AN > Hy
+
+;final hamzas
+H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ...
+H / a _ Q? (#|^[LTR]) > Ha ; not AN...
+H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN...
+H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy
+H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw
+
+;;and more hamzas ...
+
+; n°1: kasra/ya
+H / [LTR] _ Q? [Iyi] ^N > Hy
+H / [Iyi] _ > Hy
+
+; n°2: damma/waw
+H / [LTR] _ Q? (U|u) ^N > Hw
+H / (U|u) _ Q? ^[Iyi] > Hw
+H / U _ > HBAR
+
+; n°3: fatha/alif
+H Q? A > HA
+H / A _ Q? a > HBAR
+H / ^[UI] _ Q? a > Ha
+H / a _ Q? ^[UI] > Ha
+
+
+pass(Unicode)
+
+Class [Digits] = (U+0030..U+0039)
+Class [ArDigits] = (U+0660..U+0669)
+Class [ArEasternDigits] = (U+06F0..U+06F9)
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+
+
+
+
+;normal code
+
+
+CO z CO z > U+0636 U+0651 ;;SHADDA
+CO z > U+0636
+(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA
+(P z|U+1E93) > U+0638
+C z C z > U+0698 U+0651 ;;SHADDA
+C z > U+0698
+V z V z > U+0696 U+0651 ;;SHADDA
+V z > U+0696 ;pashto
+z z > U+0632 U+0651 ;;SHADDA
+z > U+0632
+Q Y Y > U+0649 U+0651 ;;SHADDA
+Q Y > U+0649
+Y Y > U+064E U+0649 U+0651 ;;SHADDA
+Y > U+064E U+0649
+;; .b with ring below : FIXME not in Unicode! but U+06EA is a poor replacement:
+P y / # _ # > U+0627 U+06D2 U+06EA
+P y / _ # > U+0649
+P y > U+066E U+06EA
+;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots
+y y > U+06CC U+0651 ;;SHADDA
+y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots
+v v > U+06A4 U+0651 ;;SHADDA
+v > U+06A4
+W > U+0648 U+0627 ; waw + alif
+C U > U+064F U+0648 U+0653; historical spelling : madda on waw
+C w C w > U+06C9 U+0651 ;;SHADDA
+C w > U+06C9
+CO w CO w > U+06CA U+0651 ;,SHADDA
+CO w > U+06CA
+U A / _ # > U+064F U+0648 U+0627
+Q U [Uw] > U+0648 U+0651 ;;SHADDA
+Q U > U+0648
+U [Uw] > U+064F U+0648 U+0651 ;;SHADDA
+U > U+064F U+0648
+w w > U+0648 U+0651 ;;SHADDA
+w > U+0648
+Q u N? >
+u N > U+064C
+u > U+064F
+V t V t > U+0679 U+0651 ;;SHADDA
+V t > U+0679 ;urdu
+UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA
+UL (t|s) > U+062B
+(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA
+(P t|U+1E6D) > U+0637
+t t > U+062A U+0651 ;;SHADDA
+t > U+062A
+T T Q AN > U+0629 U+0651 ;;SHADDA
+T Q AN > U+0629
+T AN > U+0629 U+064B
+T T > U+0629 U+0651 ;;SHADDA
+T > U+0629
+C s C s > U+0634 U+0651 ;;SHADDA
+C s > U+0634
+(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA
+(P s|U+1E63) > U+0635
+V s V s > U+069A U+0651 ;;SHADDA
+V s > U+069A ;Pashto
+CO s CO s > U+069B U+0651 ;;SHADDA
+CO s > U+069B ; sin with 3 dots below
+s s > U+0633 U+0651 ;;SHADDA
+s > U+0633
+C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<<
+C r > U+06EF
+CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<<
+CO r > U+0697 ; Dargwa language, Dagestan
+P r P r > U+0694 U+0651 ;;SHADDA
+P r > U+0694 ; r with dot below; in Kurdish .r -> 0694
+V r V r > U+0691 U+0651 ;;SHADDA
+V r > U+0691 ;Urdu
+r r > U+0631 U+0651 ;;SHADDA
+r > U+0631
+P q P q > U+066F U+0651 ;;SHADDA
+P q > U+066F
+q q > U+0642 U+0651 ;;SHADDA
+q > U+0642
+p p > U+067E U+0651 ;;SHADDA
+p > U+067E
+CO n CO n > U+06B1 U+0651 ;;SHADDA
+CO n > U+06B1
+C n C n > U+06AD U+0651 ;;SHADDA
+C n > U+06AD
+P n P n > U+06BA U+0651 ;;SHADDA
+P n > U+06BA ; urdu
+V n V n > U+06BC U+0651 ;;SHADDA
+V n > U+06BC ; Pashto
+n n > U+0646 U+0651 ;;SHADDA
+n > U+0646
+m m > U+0645 U+0651 ;;SHADDA
+m > U+0645
+P l P l > U+06B6 U+0651 ;
+P l > U+06B6 ; ADDED <<<
+C l C l > U+06B5 U+0651 ;;SHADDA
+C l > U+06B5 ;kurdish
+l l > U+0644 U+0651 ;;SHADDA
+l > U+0644
+P k P k > U+06A9 U+0651 ;;SHADDA
+P k > U+06A9 ; pashto urdu
+UL k UL k > U+063A U+0651 ;;SHADDA
+UL k > U+063A
+k k > U+0643 U+0651 ;;SHADDA
+k > U+0643
+C g C g > U+062C U+0651 ;;SHADDA
+C g > U+062C
+CO j CO j > U+0684 U+0651 ;;SHADDA
+CO j > U+0684
+j j > U+062C U+0651 ;;SHADDA
+j > U+062C
+Q I > U+064A
+I > U+0650 U+064A
+C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya
+UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ###
+Q i N? > ;
+i N > U+064D
+i > U+0650
+x x > U+062E U+0651 ;;SHADDA
+x > U+062E
+UL h UL h > U+062E U+0651 ;;SHADDA
+UL h > U+062E
+(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA
+(P h|U+1E25) > U+062D
+V h V h > U+06C1 U+0651 ;;SHADDA
+V h > U+06C1
+h h > U+0647 U+0651 ;;SHADDA
+h > U+0647
+CO g CO g > U+06B3 U+0651 ;;SHADDA
+CO g > U+06B3
+V g V g > U+06AC U+0651 ;;SHADDA
+V g > U+06AC ; kaf with dot above
+P g P g > U+063A U+0651 ;;SHADDA
+P g > U+063A
+g g > U+06AF U+0651 ;;SHADDA
+g > U+06AF
+G G > U+06AB U+0651 ;;SHADDA
+G > U+06AB ;pashto
+P f P f > U+06A1 U+0651 ;;SHADDA
+P f > U+06A1
+f f > U+0641 U+0651 ;;SHADDA
+f > U+0641
+V d V d > U+068A U+0651 ;;SHADDA
+V d > U+068A
+P V d P V d > U+068B U+0651 ;;SHADDA
+P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi)
+C d C d > U+06EE U+0651 ;;SHADDA
+C d > U+06EE ; not defined in ArabTeX
+CO d CO d > U+068F U+0651 ;;SHADDA
+CO d > U+068F
+UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA
+UL (d|z) > U+0630
+(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA
+(P d|U+1E0D) > U+0636
+d d > U+062F U+0651 ;;SHADDA
+d > U+062F
+V c V c > U+0685 U+0651 ;;SHADDA
+V c > U+0685 ;pashto
+C c C c > U+0686 U+0651 ;;SHADDA
+C c > U+0686
+P C c P C c > U+06BF U+0651 ;;SHADDA
+P C c > U+06BF ;; cheh with dot above <<<
+c c > U+0681 U+0651 ;;SHADDA
+c > U+0681 ; ح with hamza above
+CO c CO c > U+0682 U+0651 ;;SHADDA
+CO c > U+0682 ; old pashto
+CO b CO b > U+067B U+0651 ;;SHADDA
+CO b > U+067B
+P b P b > U+066E U+0651 ;;SHADDA
+P b > U+066E
+b b > U+0628 U+0651 ;;SHADDA
+b > U+0628
+H A > U+0622
+C A > U+064E U+0622 ; historical spelling
+UL A > U+064E U+0649
+UL a > U+0670
+UL u > U+064F;
+UL i > U+0650;
+Q AN / (A H|Ha) _ > ;
+AN / (A H|Ha) _ > U+064B
+Q AN > U+0627
+AN > U+0627 U+064B
+Q a >
+a > U+064E
+Q A > U+0627
+A > U+064E U+0627
+Ain Ain > U+0639 U+0651 ;;SHADDA
+Ain > U+0639
+H H > U+0621 U+0651 ;;SHADDA
+H > U+0621
+U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma
+Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash
+(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks
+[Digits] > [ArEasternDigits]
+Z Z Z / # _ # > U+2014
+Z Z / # _ # > U+2013
+Z Z > U+0640
+B > U+0640
+Z / # _ > U+200D ; -x > force initial form with "zero-width joiner"
+Z / _ # > U+200D ; x- > force final form
+U+003C U+003C > U+00BB ;<<
+U+003E U+003E > U+00AB ;>>
+U+00AB > U+00BB
+U+00BB > U+00AB
+UL > U+0640 ;_
+U+003F > U+061F ;?
+U+003B > U+061B ;;
+U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above...
+U+002C > U+060C ;,
+U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ...
+U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual
+ ; analysis, so quoting of hamzas etc may be necessary
+;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules
+;U+005B > U+005D ;[
+Q [VWL] > ;stripoff quoted vowels
+Q > U+0652
+U+00B0 > U+0652 ; °
+N > ;
+C > ;^
+BAR > ;|
+
+pass(Unicode)
+
+Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-)
+Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc.
+Class [VWL] = (U+0627 U+0648..U+0650 U+0670);
+Z > ;
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-kurdish.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-kurdish.map
new file mode 100644
index 00000000000..c98b3f38b7d
--- /dev/null
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-kurdish.map
@@ -0,0 +1,290 @@
+LHSName "ArabTeX-Kurdish"
+RHSName "UNICODE"
+
+Define a U+0061 ;a
+Define b U+0062 ;b
+Define c U+0063 ;c
+Define d U+0064 ;d
+Define e U+0065 ;e
+Define f U+0066 ;f
+Define g U+0067 ;g
+Define h U+0068 ;h
+Define i U+0069 ;i
+Define j U+006A ;j
+Define k U+006B ;k
+Define l U+006C ;l
+Define m U+006D ;m
+Define n U+006E ;n
+Define o U+006F ;o
+Define p U+0070 ;p
+Define q U+0071 ;q
+Define r U+0072 ;r
+Define s U+0073 ;s
+Define t U+0074 ;t
+Define u U+0075 ;u
+Define v U+0076 ;v
+Define w U+0077 ;w
+Define x U+0078 ;x
+Define y U+0079 ;y
+Define z U+007A ;z
+Define A U+0041 ;A
+Define B U+0042 ;B
+Define E U+0045 ;E
+Define G U+0047 ;G
+Define I U+0049 ;I
+Define N U+004E ;N
+Define O U+004F ;O
+Define T U+0054 ;T
+Define U U+0055 ;U
+Define Y U+0059 ;Y
+Define C U+005E ;^ << CARET
+Define UL U+005F ;_ << UNDERLINE
+Define P U+002E ;. << DOT
+Define V U+002C ;, << COMMA (_V_irgule)
+Define CO U+003A ;: << COLON
+Define Ain U+0060 ;`
+Define H U+0027 ;' << HAMZA
+Define Q U+0022 ;" << QUOTE
+Define Z U+002D ;- << HYPHEN
+Define BAR U+007C ;|
+Define LLAH U+006C U+006C U+005F U+0061 U+0068
+
+pass(Unicode)
+
+Class [Digits] = (U+0030..U+0039)
+Class [ArDigits] = (U+0660..U+0669)
+
+
+; special ligatures
+;; 1. Standard ArabTeX input
+;; WARNING! there are, alas, two classes of Arabic fonts:
+;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2
+;; For these the ligature llah can be accessed by the sequence lam-lam-ha
+;; b) Those that do not have the initial alif in U+FDF2
+(a|A) l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah'
+LLAH > U+FDF2 ;; 'll_ah' > U+FDF2
+;; UPPERCASE mnemonics for various ligatures or special glyphs
+;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode
+U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h'
+U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic
+;; 2b. Ligatures and glyphs defined in Unicode:
+ U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH'
+ U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH'
+
+U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam
+U+0028 U+0028 > U+FD3F ;; '((' : ornate right par
+U+0029 U+0029 > U+FD3E ;; '))' : ornate left par
+U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign
+;; most fonts won't have the following ones:
+U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign)
+U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign
+U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR'
+U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD'
+U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM'
+U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL)'
+U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE)'
+U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM'
+U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA'
+U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu"
+U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik
+
+U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY
+U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY
+U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM-
+U+005E U+004C U+0041 > U+06D9 ;; ^LA
+U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM
+U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS
+U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN
+U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB
+U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO
+U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO
+U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM
+U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM
+U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN
+U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA
+U+0057 U+0041 U+0057 > U+06E5 ;; WAW
+U+0059 U+0045 U+0048 > U+06E6 ;; YEH
+U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH
+U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN
+U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA
+U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP
+U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP
+U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP
+U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM
+
+U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::")
+
+;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts
+U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]]
+
+
+; vowels
+
+E / # _ > U+0626 U+06CE
+E > U+06CE
+e / # _ > U+0626 U+0647 U+200C ; h always final
+e > U+0647 U+200C
+i / # _ > U+0626
+Q i > U+0650
+i > ;
+Q I / # _ > U+0626 U+064A U+0650
+Q I > U+064A U+0650
+I / # _ > U+0626 U+064A
+I > U+064A
+(a|A) / # _ > U+0626 U+0627
+(a|A) > U+0627
+(o|O) / # _ > U+0626 U+06C6
+(o|O) > U+06C6
+u / # _ > U+0626 U+0648
+u > U+0648
+U / # _ > U+0626 U+0648 U+0648
+U > U+0648 U+0648
+Ain e > U+0639 U+0647 U+200C
+
+
+P z P z > U+0638 U+0651 ;;SHADDA
+P z > U+0638
+C z C z > U+0698 U+0651 ;;SHADDA
+C z > U+0698
+V z V z > U+0696 U+0651 ;pashto ;;SHADDA
+V z > U+0696 ;pashto
+z z > U+0632 U+0651 ;;SHADDA
+z > U+0632
+Y Y > U+0649 U+0651 ;;SHADDA
+Y > U+0649
+w w > U+0648 U+0651 ;;SHADDA
+w > U+0648
+y y > U+064A U+0651 ;;SHADDA
+y > U+064A
+v v > U+06A4 U+0651 ;;SHADDA
+v > U+06A4
+V t V t > U+0679 U+0651 ; urdu ;;SHADDA
+V t > U+0679
+UL t UL t > U+062B U+0651 ;;SHADDA
+UL t > U+062B
+P t P t > U+0637 U+0651 ;;SHADDA
+P t > U+0637
+t t > U+062A U+0651 ;;SHADDA
+t > U+062A
+T T > U+0629 U+0651 ;;SHADDA
+T > U+0629
+(C|V) s (C|V) s > U+0634 U+0651 ;;SHADDA
+(C|V) s > U+0634
+P s P s > U+0635 U+0651 ;;SHADDA
+P s > U+0635
+CO s CO s > U+069B U+0651
+CO s > U+069B ; sin with 3 dots below
+s s > U+0633 U+0651 ;;SHADDA
+s > U+0633
+;; also missing U+0694 : r with dot below
+V r V r > U+0694 U+0651 ;Kurdish ;;SHADDA
+V r > U+0694
+C r C r > U+0692 U+0651 ;Kurdish ;;SHADDA ; missing in ArabTeX <<<
+C r > U+0692
+P r P r > U+0695 U+0651 ;Kurdish ;;SHADDA
+P r > U+0695
+r r > U+0631 U+0651 ;;SHADDA
+r > U+0631
+P q P q > U+066F U+0651 ;;SHADDA
+P q > U+066F
+q q > U+0642 U+0651 ;;SHADDA
+q > U+0642
+p p > U+067E U+0651 ;;SHADDA
+p > U+067E
+C n C n > U+06AD U+0651 ;;SHADDA
+C n > U+06AD
+P n P n > U+06BA U+0651 ; urdu ;;SHADDA
+P n > U+06BA ;
+V n V n > U+06BC U+0651 ; Pashto
+V n > U+06BC ; Pashto
+n n > U+0646 U+0651 ;;SHADDA
+n > U+0646
+m m > U+0645 U+0651 ;;SHADDA
+m > U+0645
+P l P l > U+06B6 U+0651 ;
+P l > U+06B6 ; ADDED <<<
+C l C l > U+06B5 U+0651 ;kurdish ;;SHADDA
+C l > U+06B5
+l l > U+0644 U+0651 ;;SHADDA
+l > U+0644
+P k P k > U+06A9 U+0651 ; pashto urdu ;;SHADDA
+P k > U+06A9
+UL k UL k > U+063A U+0651 ;;SHADDA
+UL k > U+063A
+k k > U+0643 U+0651 ;;SHADDA
+k > U+0643
+c c > U+062C U+0651 ;;SHADDA
+c > U+062C
+x x > U+062E U+0651 ;;SHADDA
+x > U+062E
+j j > U+0698 U+0651 ;;SHADDA
+j > U+0698
+UL h UL h > U+062E U+0651 ;;SHADDA
+UL h > U+062E
+P h P h > U+062D U+0651 ;;SHADDA
+P h > U+062D
+V h V h > U+06C1 U+0651
+V h > U+06C1
+h h > U+200C U+06BE U+0651 ;;SHADDA
+h > U+200C U+06BE ; h always initial form
+V g V g > U+06AC U+0651 ;;SHADDA
+V g > U+06AC ; kaf with dot above
+P (g|x) P (g|x) > U+063A U+0651 ;;SHADDA
+P (g|x) > U+063A
+C g C g > U+063A U+0651 ;;SHADDA
+C g > U+063A
+g g > U+06AF U+0651 ;;SHADDA
+g > U+06AF
+G G > U+06AB U+0651 ;pashto ;;SHADDA
+G > U+06AB ;pashto
+P f P f > U+06A1 U+0651 ;;SHADDA
+P f > U+06A1
+f f > U+0641 U+0651 ;;SHADDA
+f > U+0641
+V d V d > U+0688 U+0651 ;urdu ;;SHADDA
+V d > U+0688 ;urdu
+C d C d > U+06EE ; not defined in ArabTeX U+0651 ;;SHADDA
+C d > U+06EE ; not defined in ArabTeX
+UL d UL d > U+0630 U+0651 ;;SHADDA
+UL d > U+0630
+P d P d > U+0636 U+0651 ;;SHADDA
+P d > U+0636
+d d > U+062F U+0651 ;;SHADDA
+d > U+062F
+(C|V) c (C|V) c > U+0686 U+0651 ;;SHADDA
+(C|V) c > U+0686
+P b P b > U+066E U+0651 ;;SHADDA
+P b > U+066E
+b b > U+0628 U+0651 ;;SHADDA
+b > U+0628
+Ain Ain > U+0639 U+0651 ;;SHADDA
+Ain > U+0639
+H > U+0626
+U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma
+Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash
+(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks
+[Digits] > [ArDigits]
+Z Z Z / # _ # > U+2014
+Z Z / # _ # > U+2013
+Z Z > U+0640
+B > U+0640
+Z / # _ > U+200D ; -x > force initial form with "zero-width joiner"
+Z / _ # > U+200D ; x- > force final form
+U+003C U+003C > U+00BB ;<<
+U+003E U+003E > U+00AB ;>>
+U+00AB > U+00BB
+U+00BB > U+00AB
+UL > U+0640 ;_
+U+003F > U+061F ;?
+U+003B > U+061B ;;
+U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above...
+U+002C > U+060C ;,
+U+005D / . _ . > U+200D U+005D U+200D ; keep shaping when inserting ...[...]...
+U+005B / . _ . > U+200D U+005B U+200D ; ... (but of course this screws up contextual analysis, so quoting of hamzas etc may be necessary)
+Q > ;
+N > ;
+C > ;^
+Z > ;-
+BAR > ;|
+
+
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-maghribi-fullvoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-maghribi-fullvoc.map
new file mode 100644
index 00000000000..cb0e146df4f
--- /dev/null
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-maghribi-fullvoc.map
@@ -0,0 +1,482 @@
+LHSName "ArabTeX-maghribi-fullvocalized"
+RHSName "UNICODE"
+
+Define a U+0061 ;a
+Define b U+0062 ;b
+Define c U+0063 ;c
+Define d U+0064 ;d
+Define e U+0065 ;e
+Define f U+0066 ;f
+Define g U+0067 ;g
+Define h U+0068 ;h
+Define i U+0069 ;i
+Define j U+006A ;j
+Define k U+006B ;k
+Define l U+006C ;l
+Define m U+006D ;m
+Define n U+006E ;n
+Define o U+006F ;o
+Define p U+0070 ;p
+Define q U+0071 ;q
+Define r U+0072 ;r
+Define s U+0073 ;s
+Define t U+0074 ;t
+Define u U+0075 ;u
+Define v U+0076 ;v
+Define w U+0077 ;w
+Define x U+0078 ;x
+Define y U+0079 ;y
+Define z U+007A ;z
+Define A U+0041 ;A
+Define B U+0042 ;B
+Define E U+0045 ;E
+Define G U+0047 ;G
+Define I U+0049 ;I
+Define N U+004E ;N
+Define O U+004F ;O
+Define T U+0054 ;T
+Define U U+0055 ;U
+Define W U+0057 ;W
+Define Y U+0059 ;Y
+Define C U+005E ;^ << CARET
+Define UL U+005F ;_ << UNDERLINE
+Define P U+002E ;. << DOT
+Define V U+002C ;, << COMMA (_V_irgule)
+Define CO U+003A ;: << COLON
+Define SC U+003B ;; << SEMICOLON
+Define Ain U+0060 ;`
+Define H U+0027 ;' << HAMZA
+Define Q U+0022 ;" << QUOTE
+Define Z U+002D ;- << HYPHEN
+Define BAR U+007C ;|
+Define AN U+0061 U+004E ; aN
+Define LLAH U+006C U+006C U+005F U+0061 U+0068
+;Define NUL U+00A6;
+Define Ha U+0623
+Define Hi U+0625
+Define Hy U+0626
+Define Hw U+0624
+Define Hh U+06C0 ;; = U+0647 U+0654
+Define HA U+0622
+Define HB U+0640 U+0654
+Define HBAR U+0621 ; '|
+
+pass(Unicode)
+
+U+E000 > ; eliminate special code for capitalization in transliterations
+
+pass(Unicode)
+
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [AVWL] = (U+064B..U+0650);
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" `
+Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ”
+Class [PUNCT] = (V SC P CO)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u)
+;Class [ae] = (U+0061 U+0065) ;(a e)
+;Class [ou] = (U+0075 U+006F) ;(u o)
+Class [Iyi] = (U+0069 U+0079 U+0049)
+Class [UI] = (U+0049 U+0055) ; U I
+Class [Digits] = (U+0030..U+0039)
+
+Define BEG (#|Z|[BRACKETS])
+Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #)
+Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z)
+
+; special ligatures
+;; 1. Standard ArabTeX input
+;; WARNING! there are, alas, two classes of Arabic fonts:
+;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2
+;; For these the ligature llah can be accessed by the sequence lam-lam-ha
+;; b) Those that do not have the initial alif in U+FDF2
+;; The BAR is used in the DMG transliteration to suppress the initial A
+(a|A) BAR? l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah'
+LLAH > U+FDF2 ;; 'll_ah' > U+FDF2
+;; UPPERCASE mnemonics for various ligatures or special glyphs
+;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode
+U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h'
+U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic
+;; 2b. Ligatures and glyphs defined in Unicode:
+ U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH'
+ U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH'
+
+U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam
+U+0028 U+0028 > U+FD3F ;; '((' : ornate right par
+U+0029 U+0029 > U+FD3E ;; '))' : ornate left par
+U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign
+;; most fonts won't have the following ones:
+U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign)
+U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign
+U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR'
+U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD'
+U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM'
+U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL')
+U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE')
+U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM'
+U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA'
+U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu"
+U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik
+
+U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY
+U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY
+U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM-
+U+005E U+004C U+0041 > U+06D9 ;; ^LA
+U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM
+U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS
+U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN
+U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB
+U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO
+U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO
+U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM
+U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM
+U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN
+U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA
+U+0057 U+0041 U+0057 > U+06E5 ;; WAW
+U+0059 U+0045 U+0048 > U+06E6 ;; YEH
+U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH
+U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN
+U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA
+U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP
+U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP
+U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP
+U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM
+
+U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::")
+
+;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts
+U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]]
+
+
+; vowels
+u u > U
+i i > I
+a a > A
+CO O > U+06FC ;
+a e > a y
+a o > a w
+CO U > U+06C7 ;
+e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish)
+o > u
+E > I
+O > U
+
+
+
+;; initial characters ...
+a l Z / BEG _ > U+0627 l Z
+H l Z / BEG _ > U+0671 l Z ; THIS IS NOT AN ARABTEX CONVENTION! it's a work-around coz pattern-matching across word boundaries does not work in teckit , so min al- must be written mina 'l- in fullvocalize mode
+;; wasla on initial alif : NEW! NOT TESTED!
+[VWL]=v1 Z / BEG _ > @v1 U+0671 ; THIS IS NOT AN ARABTEX CONVENTION! it's a work-around coz pattern-matching across word boundaries does not work in teckit , so huwa irtifA` must be written huwa i-rtifA` in fullvocalize mode
+H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI
+[VWL]=v1 / BEG _ > U+0627 @v1
+A / BEG _ > U+0627 a
+Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U
+; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I
+Q?=q1 I / BEG _ > U+0627 @q1 i y
+
+
+;; Words with anomalous orthography:
+
+; mi'aT -> ماية
+;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy
+m Q i H Q a / _ (T|t) > m U+0627 Hy
+m Q i H a / _ (T|t) > m U+0627 Hy a
+m i H Q a / _ (T|t) > m i U+0627 Hy
+m i H a / _ (T|t) > m i U+0627 Hy a
+
+
+;; contextual analysis of hamzas
+;; THESE DO NOT APPLY FOR SINDHI
+
+; initial hamzas
+H / (#|^[LTR]) _ Q? [Iyi] > Hi
+H Q A / (#|^[LTR]) _ > HA ; alif madda
+H / (#|^[LTR]) _ Q? [Uwu] > Ha
+H / (#|^[LTR]) _ Q? a > Ha
+Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word
+
+; quoted hamzas in contextual mode, equivalent to verbatim mode
+a Q H > Ha
+i Q H > Hi
+y Q H > Hy
+w Q H > Hw
+h Q H > Hh
+A Q H > HA
+B Q H > HB
+BAR Q H > HBAR
+
+; hamza + fathatan
+H / a _ Q? AN > Ha
+;;H / [Iyi] _ Q? AN > Hy
+H / _ Q? AN > Hy
+
+;final hamzas
+H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ...
+H / a _ Q? (#|^[LTR]) > Ha ; not AN...
+H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN...
+H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy
+H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw
+
+;;and more hamzas ...
+
+; n°1: kasra/ya
+H / [LTR] _ Q? [Iyi] ^N > Hy
+H / [Iyi] _ > Hy
+
+; n°2: damma/waw
+H / [LTR] _ Q? (U|u) ^N > Hw
+H / (U|u) _ Q? ^[Iyi] > Hw
+H / U _ > HBAR
+
+; n°3: fatha/alif
+H Q? A > HA
+H / A _ Q? a > HBAR
+H / ^[UI] _ Q? a > Ha
+H / a _ Q? ^[UI] > Ha
+
+
+pass(Unicode)
+
+Class [Digits] = (U+0030..U+0039)
+Class [ArDigits] = (U+0660..U+0669)
+Class [ArEasternDigits] = (U+06F0..U+06F9)
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+
+
+
+
+;normal code
+
+
+(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA
+(P z|U+1E93) > U+0638
+C z C z > U+0698 U+0651 ;;SHADDA
+C z > U+0698
+V z V z > U+0696 U+0651 ;;SHADDA
+V z > U+0696 ;pashto
+z z > U+0632 U+0651 ;;SHADDA
+z > U+0632
+Q Y Y > U+0649 U+0651 ;;SHADDA
+Q Y > U+0649
+Y Y > U+064E U+0649 U+0651 ;;SHADDA
+Y > U+064E U+0649
+P I P I / _ # > U+0650 U+06CC U+0651 ;; SHADDA
+P I / _ # > U+0650 U+06CC ;; workaround to have ya without dots in Arabic
+y y > U+064A U+0651 ;;SHADDA
+y > U+064A
+v v > U+06A5 U+0651 ;;SHADDA
+v > U+06A5 ;; maghribi
+W > U+0648 U+0627 ; waw + alif
+C U > U+064F U+0648 U+0653; historical spelling : madda on waw
+C w C w > U+06C9 U+0651 ;;SHADDA
+C w > U+06C9
+CO w CO w > U+06CA U+0651 ;,SHADDA
+CO w > U+06CA
+U A / _ # > U+064F U+0648 U+0627
+Q U [Uw] > U+0648 U+0651 ;;SHADDA
+Q U > U+0648
+U [Uw] > U+064F U+0648 U+0651 ;;SHADDA
+U > U+064F U+0648
+w w > U+0648 U+0651 ;;SHADDA
+w > U+0648
+Q u N? >
+u N > U+064C
+u > U+064F
+V t V t > U+0679 U+0651 ;;SHADDA
+V t > U+0679 ;urdu
+UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA
+UL (t|s) > U+062B
+(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA
+(P t|U+1E6D) > U+0637
+t t > U+062A U+0651 ;;SHADDA
+t > U+062A
+T T Q AN > U+0629 U+0651 ;;SHADDA
+T Q AN > U+0629
+T AN > U+0629 U+064B
+T T > U+0629 U+0651 ;;SHADDA
+T > U+0629
+C s C s > U+0634 U+0651 ;;SHADDA
+C s > U+0634
+(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA
+(P s|U+1E63) > U+0635
+V s V s > U+069A U+0651 ;;SHADDA
+V s > U+069A ;Pashto
+CO s CO s > U+069B U+0651 ;;SHADDA
+CO s > U+069B ; sin with 3 dots below
+s s > U+0633 U+0651 ;;SHADDA
+s > U+0633
+C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<<
+C r > U+06EF
+CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<<
+CO r > U+0697 ; Dargwa language, Dagestan
+P r P r > U+0694 U+0651 ;;SHADDA
+P r > U+0694 ; r with dot below; in Kurdish .r -> 0694
+V r V r > U+0691 U+0651 ;;SHADDA
+V r > U+0691 ;Urdu
+r r > U+0631 U+0651 ;;SHADDA
+r > U+0631
+P q P q > U+066F U+0651 ;;SHADDA
+P q > U+066F
+q q > U+06A7 U+0651 ;; maghribi
+q > U+06A7 ;; maghribi
+p p > U+067E U+0651 ;;SHADDA
+p > U+067E
+CO n CO n > U+06B1 U+0651 ;;SHADDA
+CO n > U+06B1
+C n C n > U+06AD U+0651 ;;SHADDA
+C n > U+06AD
+P n P n > U+06BA U+0651 ;;SHADDA
+P n > U+06BA ; urdu
+V n V n > U+06BC U+0651 ;;SHADDA
+V n > U+06BC ; Pashto
+n n > U+0646 U+0651 ;;SHADDA
+n > U+0646
+m m > U+0645 U+0651 ;;SHADDA
+m > U+0645
+P l P l > U+06B6 U+0651 ;
+P l > U+06B6 ; ADDED <<<
+C l C l > U+06B5 U+0651 ;;SHADDA
+C l > U+06B5 ;kurdish
+l l > U+0644 U+0651 ;;SHADDA
+l > U+0644
+P k P k > U+06A9 U+0651 ;;SHADDA
+P k > U+06A9 ; pashto urdu
+UL k UL k > U+063A U+0651 ;;SHADDA
+UL k > U+063A
+k k > U+0643 U+0651 ;;SHADDA
+k > U+0643
+C g C g > U+062C U+0651 ;;SHADDA
+C g > U+062C
+CO j CO j > U+0684 U+0651 ;;SHADDA
+CO j > U+0684
+j j > U+062C U+0651 ;;SHADDA
+j > U+062C
+Q I > U+064A
+I > U+0650 U+064A
+C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya
+UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ###
+Q i N? > ;
+i N > U+064D
+i > U+0650
+x x > U+062E U+0651 ;;SHADDA
+x > U+062E
+UL h UL h > U+062E U+0651 ;;SHADDA
+UL h > U+062E
+(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA
+(P h|U+1E25) > U+062D
+V h V h > U+06C1 U+0651 ;;SHADDA
+V h > U+06C1
+h h > U+0647 U+0651 ;;SHADDA
+h > U+0647
+CO g CO g > U+06B3 U+0651 ;;SHADDA
+CO g > U+06B3
+V g V g > U+06AC U+0651 ;;SHADDA
+V g > U+06AC ; kaf with dot above
+P g P g > U+063A U+0651 ;;SHADDA
+P g > U+063A
+g g > U+06AF U+0651 ;;SHADDA
+g > U+06AF
+G G > U+06AB U+0651 ;;SHADDA
+G > U+06AB ;pashto
+P f P f > U+06A1 U+0651 ;;SHADDA
+P f > U+06A1
+f f > U+06A2 U+0651 ;; SHADDA
+f > U+06A2 ;; maghribi
+V d V d > U+068A U+0651 ;;SHADDA
+V d > U+068A
+P V d P V d > U+068B U+0651 ;;SHADDA
+P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi)
+C d C d > U+06EE U+0651 ;;SHADDA
+C d > U+06EE ; not defined in ArabTeX
+CO d CO d > U+068F U+0651 ;;SHADDA
+CO d > U+068F
+UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA
+UL (d|z) > U+0630
+(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA
+(P d|U+1E0D) > U+0636
+d d > U+062F U+0651 ;;SHADDA
+d > U+062F
+V c V c > U+0685 U+0651 ;;SHADDA
+V c > U+0685 ;pashto
+C c C c > U+0686 U+0651 ;;SHADDA
+C c > U+0686
+P C c P C c > U+06BF U+0651 ;;SHADDA
+P C c > U+06BF ;; cheh with dot above <<<
+c c > U+0681 U+0651 ;;SHADDA
+c > U+0681 ; ح with hamza above
+CO c CO c > U+0682 U+0651 ;;SHADDA
+CO c > U+0682 ; old pashto
+CO b CO b > U+067B U+0651 ;;SHADDA
+CO b > U+067B
+P b P b > U+066E U+0651 ;;SHADDA
+P b > U+066E
+b b > U+0628 U+0651 ;;SHADDA
+b > U+0628
+H A > U+0622
+C A > U+064E U+0622 ; historical spelling
+UL A > U+064E U+0649
+UL a > U+0670
+UL u > U+0657 ; inverted damma
+UL i > U+0656 ; subscript alif
+Q AN / (A H|Ha) _ > ;
+AN / (A H|Ha) _ > U+064B
+Q AN > U+0627
+AN > U+0627 U+064B
+Q a >
+a > U+064E
+Q A > U+0627
+A > U+064E U+0627
+Ain Ain > U+0639 U+0651 ;;SHADDA
+Ain > U+0639
+H H > U+0621 U+0651 ;;SHADDA
+H > U+0621
+U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma
+Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash
+(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks
+[Digits] > [ArDigits]
+Z Z Z / # _ # > U+2014
+Z Z / # _ # > U+2013
+Z Z > U+0640
+B > U+0640
+Z / # _ > U+200D ; -x > force initial form with "zero-width joiner"
+Z / _ # > U+200D ; x- > force final form
+U+003C U+003C > U+00BB ;<<
+U+003E U+003E > U+00AB ;>>
+U+00AB > U+00BB
+U+00BB > U+00AB
+UL > U+0640 ;_
+U+003F > U+061F ;?
+U+003B > U+061B ;;
+U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above...
+U+002C > U+060C ;,
+U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ...
+U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual
+ ; analysis, so quoting of hamzas etc may be necessary
+;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules
+;U+005B > U+005D ;[
+Q [VWL] > ;stripoff quoted vowels
+U+00B0 > U+0652 ; °
+N > ;
+C > ;^
+BAR > ;|
+
+pass(Unicode)
+
+Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-)
+Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc.
+Class [VWL] = (U+0627 U+0648..U+0650 U+0670);
+[CONS]=k1 / _ Z? [CONS] ^U+0651 > @k1 U+0652 ; hack: 2nd consonant has no shadda
+U+064E (U+064A|U+0648)=hc / _ (^[VWLX]|#) > U+064E @hc U+0652 ; ay and aw diphtongs
+U+0627 [VWL]? / [VWL] Z _ > U+0671 ; e.g. fa-isti_hraj -> wasla on initial alif
+U+0627 / # _ U+0644 > U+0627 U+064E ; otherwise initial alif takes fatha
+[CONS]=k1 / _ ([CONS]|#) > @k1 U+0652 ; consonant + (consonant or final)
+;; [CONS]=k1 / _ # > @k1 U+0652 ; final consonant
+Q > ;
+Z > ;
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-maghribi-fullvoc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-maghribi-fullvoc.tec
index a1054efefa8..8710e3b387e 100644
--- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-maghribi-fullvoc.tec
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-maghribi-fullvoc.tec
Binary files differ
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-maghribi-novoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-maghribi-novoc.map
new file mode 100644
index 00000000000..304f32cf64a
--- /dev/null
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-maghribi-novoc.map
@@ -0,0 +1,465 @@
+LHSName "ArabTeX-maghribi-novowels"
+RHSName "UNICODE"
+
+Define a U+0061 ;a
+Define b U+0062 ;b
+Define c U+0063 ;c
+Define d U+0064 ;d
+Define e U+0065 ;e
+Define f U+0066 ;f
+Define g U+0067 ;g
+Define h U+0068 ;h
+Define i U+0069 ;i
+Define j U+006A ;j
+Define k U+006B ;k
+Define l U+006C ;l
+Define m U+006D ;m
+Define n U+006E ;n
+Define o U+006F ;o
+Define p U+0070 ;p
+Define q U+0071 ;q
+Define r U+0072 ;r
+Define s U+0073 ;s
+Define t U+0074 ;t
+Define u U+0075 ;u
+Define v U+0076 ;v
+Define w U+0077 ;w
+Define x U+0078 ;x
+Define y U+0079 ;y
+Define z U+007A ;z
+Define A U+0041 ;A
+Define B U+0042 ;B
+Define E U+0045 ;E
+Define G U+0047 ;G
+Define I U+0049 ;I
+Define N U+004E ;N
+Define O U+004F ;O
+Define T U+0054 ;T
+Define U U+0055 ;U
+Define W U+0057 ;W
+Define Y U+0059 ;Y
+Define C U+005E ;^ << CARET
+Define UL U+005F ;_ << UNDERLINE
+Define P U+002E ;. << DOT
+Define V U+002C ;, << COMMA (_V_irgule)
+Define CO U+003A ;: << COLON
+Define SC U+003B ;; << SEMICOLON
+Define Ain U+0060 ;`
+Define H U+0027 ;' << HAMZA
+Define Q U+0022 ;" << QUOTE
+Define Z U+002D ;- << HYPHEN
+Define BAR U+007C ;|
+Define AN U+0061 U+004E ; aN
+Define LLAH U+006C U+006C U+005F U+0061 U+0068
+;Define NUL U+00A6;
+Define Ha U+0623
+Define Hi U+0625
+Define Hy U+0626
+Define Hw U+0624
+Define Hh U+06C0 ;; = U+0647 U+0654
+Define HA U+0622
+Define HB U+0640 U+0654
+Define HBAR U+0621 ; '|
+
+pass(Unicode)
+
+U+E000 > ; eliminate special code for capitalization in transliterations
+
+pass(Unicode)
+
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [AVWL] = (U+064B..U+0650);
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" `
+Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ”
+Class [PUNCT] = (V SC P CO)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u)
+;Class [ae] = (U+0061 U+0065) ;(a e)
+;Class [ou] = (U+0075 U+006F) ;(u o)
+Class [Iyi] = (U+0069 U+0079 U+0049)
+Class [UI] = (U+0049 U+0055) ; U I
+Class [Digits] = (U+0030..U+0039)
+
+Define BEG (#|Z|[BRACKETS])
+Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #)
+Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z)
+
+; special ligatures
+;; 1. Standard ArabTeX input
+;; WARNING! there are, alas, two classes of Arabic fonts:
+;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2
+;; For these the ligature llah can be accessed by the sequence lam-lam-ha
+;; b) Those that do not have the initial alif in U+FDF2
+;; The BAR is used in the DMG transliteration to suppress the initial A
+(a|A) BAR? l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah'
+LLAH > U+FDF2 ;; 'll_ah' > U+FDF2
+;; UPPERCASE mnemonics for various ligatures or special glyphs
+;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode
+U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h'
+U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic
+;; 2b. Ligatures and glyphs defined in Unicode:
+ U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH'
+ U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH'
+
+U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam
+U+0028 U+0028 > U+FD3F ;; '((' : ornate right par
+U+0029 U+0029 > U+FD3E ;; '))' : ornate left par
+U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign
+;; most fonts won't have the following ones:
+U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign)
+U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign
+U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR'
+U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD'
+U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM'
+U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL')
+U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE')
+U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM'
+U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA'
+U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu"
+U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik
+
+U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY
+U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY
+U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM-
+U+005E U+004C U+0041 > U+06D9 ;; ^LA
+U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM
+U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS
+U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN
+U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB
+U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO
+U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO
+U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM
+U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM
+U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN
+U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA
+U+0057 U+0041 U+0057 > U+06E5 ;; WAW
+U+0059 U+0045 U+0048 > U+06E6 ;; YEH
+U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH
+U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN
+U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA
+U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP
+U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP
+U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP
+U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM
+
+U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::")
+
+;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts
+U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]]
+
+
+; vowels
+u u > U
+i i > I
+a a > A
+[AVWL] > ; strip off vowels when writing UTF-8 Arabic with novoc mode
+CO O > U+06FC ;
+a e > a y
+a o > a w
+CO U > U+06C7 ;
+e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish)
+o > u
+E > I
+O > U
+
+
+
+;; initial characters ...
+a l Z / BEG _ > U+0627 l Z
+H l Z / BEG _ > U+0627 l Z
+;; wasla on initial alif : NEW! NOT TESTED!
+H / BEG _ l l > U+0627 ;
+[VWL]=v1 / BEG _ > A @v1
+A / BEG _ > A a
+Q?=q1 U / BEG _ > A @q1 u w ; -U
+; Q?=q1 I / BEG _ > A @q1 i y ; -I ; but not when I is final FIXME!!!
+Q?=q1 I / BEG _ > A @q1 i y ; except for Persian, coz of ezafe rules
+
+
+;; Words with anomalous orthography:
+
+; mi'aT -> ماية
+;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy
+m Q i H Q a / _ (T|t) > m Q i A Hy Q a
+m Q i H a / _ (T|t) > m Q i A Hy
+m i H Q a / _ (T|t) > m A Hy Q a
+m i H a / _ (T|t) > m A Hy
+
+
+;; contextual analysis of hamzas
+;; THESE DO NOT APPLY FOR SINDHI
+
+; initial hamzas
+H / (#|^[LTR]) _ Q? [Iyi] > Hi
+H Q A / (#|^[LTR]) _ > HA ; alif madda
+H / (#|^[LTR]) _ Q? [Uwu] > Ha
+H / (#|^[LTR]) _ Q? a > Ha
+Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word
+
+; quoted hamzas in contextual mode, equivalent to verbatim mode
+a Q H > Ha
+i Q H > Hi
+y Q H > Hy
+w Q H > Hw
+h Q H > Hh
+A Q H > HA
+B Q H > HB
+BAR Q H > HBAR
+
+; hamza + fathatan
+H / a _ Q? AN > Ha
+;;H / [Iyi] _ Q? AN > Hy
+H / _ Q? AN > Hy
+
+;final hamzas
+H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ...
+H / a _ Q? (#|^[LTR]) > Ha ; not AN...
+H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN...
+H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy
+H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw
+
+;;and more hamzas ...
+
+; n°1: kasra/ya
+H / [LTR] _ Q? [Iyi] ^N > Hy
+H / [Iyi] _ > Hy
+
+; n°2: damma/waw
+H / [LTR] _ Q? (U|u) ^N > Hw
+H / (U|u) _ Q? ^[Iyi] > Hw
+H / U _ > HBAR
+
+; n°3: fatha/alif
+H Q? A > HA
+H / A _ Q? a > HBAR
+H / ^[UI] _ Q? a > Ha
+H / a _ Q? ^[UI] > Ha
+
+
+pass(Unicode)
+
+Class [Digits] = (U+0030..U+0039)
+Class [ArDigits] = (U+0660..U+0669)
+Class [ArEasternDigits] = (U+06F0..U+06F9)
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+
+
+
+
+;normal code
+
+
+(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA
+(P z|U+1E93) > U+0638
+C z C z > U+0698 U+0651 ;;SHADDA
+C z > U+0698
+V z V z > U+0696 U+0651 ;;SHADDA
+V z > U+0696 ;pashto
+z z > U+0632 U+0651 ;;SHADDA
+z > U+0632
+Y Y > U+0649 U+0651 ;;SHADDA
+Y > U+0649
+P I P I / _ # > U+06CC U+0651 ;; SHADDA
+P I / _ # > U+06CC ;; workaround to have ya without dots in Arabic
+y y > U+064A U+0651 ;;SHADDA
+y > U+064A
+v v > U+06A5 U+0651 ;;SHADDA
+v > U+06A5 ;; maghribi
+W > U+0648 U+0627 ; waw + alif
+C U > U+064F U+0648 U+0653; historical spelling : madda on waw
+Q U [Uw] > U+064F U+0648 U+0651 ;;SHADDA
+Q U > U+064F U+0648
+[Uw] [Uw] > U+0648 U+0651 ;;SHADDA
+[Uw] > U+0648
+C w C w > U+06C9 U+0651 ;;SHADDA
+C w > U+06C9
+CO w CO w > U+06CA U+0651 ;,SHADDA
+CO w > U+06CA
+Q u N > U+064C
+u N >
+Q u > U+064F
+V t V t > U+0679 U+0651 ;;SHADDA
+V t > U+0679 ;urdu
+UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA
+UL (t|s) > U+062B
+(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA
+(P t|U+1E6D) > U+0637
+t t > U+062A U+0651 ;;SHADDA
+t > U+062A
+T T Q AN > U+0629 U+0651 U+064B ;;SHADDA
+T Q AN > U+0629 U+064B
+T AN > U+0629
+T T > U+0629 U+0651 ;;SHADDA
+T > U+0629
+C s C s > U+0634 U+0651 ;;SHADDA
+C s > U+0634
+(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA
+(P s|U+1E63) > U+0635
+V s V s > U+069A U+0651 ;;SHADDA
+V s > U+069A ;Pashto
+CO s CO s > U+069B U+0651 ;;SHADDA
+CO s > U+069B ; sin with 3 dots below
+s s > U+0633 U+0651 ;;SHADDA
+s > U+0633
+C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<<
+C r > U+06EF
+CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<<
+CO r > U+0697 ; Dargwa language, Dagestan
+P r P r > U+0694 U+0651 ;;SHADDA
+P r > U+0694 ; r with dot below; in Kurdish .r -> 0694
+V r V r > U+0691 U+0651 ;;SHADDA
+V r > U+0691 ;Urdu
+r r > U+0631 U+0651 ;;SHADDA
+r > U+0631
+P q P q > U+066F U+0651 ;;SHADDA
+P q > U+066F
+q q > U+06A7 U+0651 ;; maghribi
+q > U+06A7 ;; maghribi
+p p > U+067E U+0651 ;;SHADDA
+p > U+067E
+CO n CO n > U+06B1 U+0651 ;;SHADDA
+CO n > U+06B1
+C n C n > U+06AD U+0651 ;;SHADDA
+C n > U+06AD
+P n P n > U+06BA U+0651 ;;SHADDA
+P n > U+06BA ; urdu
+V n V n > U+06BC U+0651 ;;SHADDA
+V n > U+06BC ; Pashto
+n n > U+0646 U+0651 ;;SHADDA
+n > U+0646
+m m > U+0645 U+0651 ;;SHADDA
+m > U+0645
+P l P l > U+06B6 U+0651 ;
+P l > U+06B6 ; ADDED <<<
+C l C l > U+06B5 U+0651 ;;SHADDA
+C l > U+06B5 ;kurdish
+l l > U+0644 U+0651 ;;SHADDA
+l > U+0644
+P k P k > U+06A9 U+0651 ;;SHADDA
+P k > U+06A9 ; pashto urdu
+UL k UL k > U+063A U+0651 ;;SHADDA
+UL k > U+063A
+k k > U+0643 U+0651 ;;SHADDA
+k > U+0643
+C g C g > U+062C U+0651 ;;SHADDA
+C g > U+062C
+CO j CO j > U+0684 U+0651 ;;SHADDA
+CO j > U+0684
+j j > U+062C U+0651 ;;SHADDA
+j > U+062C
+Q I > U+0650 U+064A
+C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya
+UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ###
+I > U+064A
+Q i N > U+064D
+i N > ;
+Q i > U+0650
+x x > U+062E U+0651 ;;SHADDA
+x > U+062E
+UL h UL h > U+062E U+0651 ;;SHADDA
+UL h > U+062E
+(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA
+(P h|U+1E25) > U+062D
+V h V h > U+06C1 U+0651 ;;SHADDA
+V h > U+06C1
+h h > U+0647 U+0651 ;;SHADDA
+h > U+0647
+CO g CO g > U+06B3 U+0651 ;;SHADDA
+CO g > U+06B3
+V g V g > U+06AC U+0651 ;;SHADDA
+V g > U+06AC ; kaf with dot above
+P g P g > U+063A U+0651 ;;SHADDA
+P g > U+063A
+g g > U+06AF U+0651 ;;SHADDA
+g > U+06AF
+G G > U+06AB U+0651 ;;SHADDA
+G > U+06AB ;pashto
+P f P f > U+06A1 U+0651 ;;SHADDA
+P f > U+06A1
+f f > U+06A2 U+0651 ;; SHADDA
+f > U+06A2 ;; maghribi
+V d V d > U+068A U+0651 ;;SHADDA
+V d > U+068A
+P V d P V d > U+068B U+0651 ;;SHADDA
+P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi)
+C d C d > U+06EE U+0651 ;;SHADDA
+C d > U+06EE ; not defined in ArabTeX
+CO d CO d > U+068F U+0651 ;;SHADDA
+CO d > U+068F
+UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA
+UL (d|z) > U+0630
+(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA
+(P d|U+1E0D) > U+0636
+d d > U+062F U+0651 ;;SHADDA
+d > U+062F
+V c V c > U+0685 U+0651 ;;SHADDA
+V c > U+0685 ;pashto
+C c C c > U+0686 U+0651 ;;SHADDA
+C c > U+0686
+P C c P C c > U+06BF U+0651 ;;SHADDA
+P C c > U+06BF ;; cheh with dot above <<<
+c c > U+0681 U+0651 ;;SHADDA
+c > U+0681 ; ح with hamza above
+CO c CO c > U+0682 U+0651 ;;SHADDA
+CO c > U+0682 ; old pashto
+CO b CO b > U+067B U+0651 ;;SHADDA
+CO b > U+067B
+P b P b > U+066E U+0651 ;;SHADDA
+P b > U+066E
+b b > U+0628 U+0651 ;;SHADDA
+b > U+0628
+H A > U+0622
+C A > U+064E U+0622 ; historical spelling
+UL A > U+0649
+UL a > U+0670
+UL u > U+0657 ; inverted damma
+UL i > U+0656 ; subscript alif
+Q AN / (A H|Ha) _ > U+064B
+AN / (A H|Ha) _ > ;
+Q AN > U+0627 U+064B
+AN > U+0627
+Q a > U+064E
+Q A > U+064E U+0627
+A > U+0627
+Ain Ain > U+0639 U+0651 ;;SHADDA
+Ain > U+0639
+H H > U+0621 U+0651 ;;SHADDA
+H > U+0621
+U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma
+Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash
+(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks
+[Digits] > [ArDigits]
+Z Z Z / # _ # > U+2014
+Z Z / # _ # > U+2013
+Z Z > U+0640
+B > U+0640
+Z / # _ > U+200D ; -x > force initial form with "zero-width joiner"
+Z / _ # > U+200D ; x- > force final form
+U+003C U+003C > U+00BB ;<<
+U+003E U+003E > U+00AB ;>>
+U+00AB > U+00BB
+U+00BB > U+00AB
+UL > U+0640 ;_
+U+003F > U+061F ;?
+U+003B > U+061B ;;
+U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above...
+U+002C > U+060C ;,
+U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ...
+U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual
+ ; analysis, so quoting of hamzas etc may be necessary
+;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules
+;U+005B > U+005D ;[
+[VWL] > ;stripoff vowels
+Q > U+0652
+U+00B0 > U+0652 ; °
+N > ;
+C > ;^
+Z > ;-
+BAR > ;|
+
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-maghribi-novoc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-maghribi-novoc.tec
index 3e073c9d211..4541204cd25 100644
--- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-maghribi-novoc.tec
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-maghribi-novoc.tec
Binary files differ
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-maghribi-voc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-maghribi-voc.map
new file mode 100644
index 00000000000..a6f76d42406
--- /dev/null
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-maghribi-voc.map
@@ -0,0 +1,476 @@
+LHSName "ArabTeX-maghribi-vocalized"
+RHSName "UNICODE"
+
+Define a U+0061 ;a
+Define b U+0062 ;b
+Define c U+0063 ;c
+Define d U+0064 ;d
+Define e U+0065 ;e
+Define f U+0066 ;f
+Define g U+0067 ;g
+Define h U+0068 ;h
+Define i U+0069 ;i
+Define j U+006A ;j
+Define k U+006B ;k
+Define l U+006C ;l
+Define m U+006D ;m
+Define n U+006E ;n
+Define o U+006F ;o
+Define p U+0070 ;p
+Define q U+0071 ;q
+Define r U+0072 ;r
+Define s U+0073 ;s
+Define t U+0074 ;t
+Define u U+0075 ;u
+Define v U+0076 ;v
+Define w U+0077 ;w
+Define x U+0078 ;x
+Define y U+0079 ;y
+Define z U+007A ;z
+Define A U+0041 ;A
+Define B U+0042 ;B
+Define E U+0045 ;E
+Define G U+0047 ;G
+Define I U+0049 ;I
+Define N U+004E ;N
+Define O U+004F ;O
+Define T U+0054 ;T
+Define U U+0055 ;U
+Define W U+0057 ;W
+Define Y U+0059 ;Y
+Define C U+005E ;^ << CARET
+Define UL U+005F ;_ << UNDERLINE
+Define P U+002E ;. << DOT
+Define V U+002C ;, << COMMA (_V_irgule)
+Define CO U+003A ;: << COLON
+Define SC U+003B ;; << SEMICOLON
+Define Ain U+0060 ;`
+Define H U+0027 ;' << HAMZA
+Define Q U+0022 ;" << QUOTE
+Define Z U+002D ;- << HYPHEN
+Define BAR U+007C ;|
+Define AN U+0061 U+004E ; aN
+Define LLAH U+006C U+006C U+005F U+0061 U+0068
+;Define NUL U+00A6;
+Define Ha U+0623
+Define Hi U+0625
+Define Hy U+0626
+Define Hw U+0624
+Define Hh U+06C0 ;; = U+0647 U+0654
+Define HA U+0622
+Define HB U+0640 U+0654
+Define HBAR U+0621 ; '|
+
+pass(Unicode)
+
+U+E000 > ; eliminate special code for capitalization in transliterations
+
+pass(Unicode)
+
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [AVWL] = (U+064B..U+0650);
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" `
+Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ”
+Class [PUNCT] = (V SC P CO)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u)
+;Class [ae] = (U+0061 U+0065) ;(a e)
+;Class [ou] = (U+0075 U+006F) ;(u o)
+Class [Iyi] = (U+0069 U+0079 U+0049)
+Class [UI] = (U+0049 U+0055) ; U I
+Class [Digits] = (U+0030..U+0039)
+
+Define BEG (#|Z|[BRACKETS])
+Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #)
+Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z)
+
+; special ligatures
+;; 1. Standard ArabTeX input
+;; WARNING! there are, alas, two classes of Arabic fonts:
+;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2
+;; For these the ligature llah can be accessed by the sequence lam-lam-ha
+;; b) Those that do not have the initial alif in U+FDF2
+;; The BAR is used in the DMG transliteration to suppress the initial A
+(a|A) BAR? l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah'
+LLAH > U+FDF2 ;; 'll_ah' > U+FDF2
+;; UPPERCASE mnemonics for various ligatures or special glyphs
+;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode
+U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h'
+U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic
+;; 2b. Ligatures and glyphs defined in Unicode:
+ U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH'
+ U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH'
+
+U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam
+U+0028 U+0028 > U+FD3F ;; '((' : ornate right par
+U+0029 U+0029 > U+FD3E ;; '))' : ornate left par
+U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign
+;; most fonts won't have the following ones:
+U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign)
+U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign
+U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR'
+U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD'
+U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM'
+U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL')
+U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE')
+U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM'
+U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA'
+U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu"
+U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik
+
+U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY
+U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY
+U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM-
+U+005E U+004C U+0041 > U+06D9 ;; ^LA
+U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM
+U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS
+U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN
+U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB
+U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO
+U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO
+U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM
+U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM
+U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN
+U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA
+U+0057 U+0041 U+0057 > U+06E5 ;; WAW
+U+0059 U+0045 U+0048 > U+06E6 ;; YEH
+U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH
+U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN
+U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA
+U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP
+U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP
+U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP
+U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM
+
+U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::")
+
+;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts
+U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]]
+
+
+; vowels
+u u > U
+i i > I
+a a > A
+CO O > U+06FC ;
+a e > a y
+a o > a w
+CO U > U+06C7 ;
+e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish)
+o > u
+E > I
+O > U
+
+
+
+;; initial characters ...
+a l Z / BEG _ > U+0627 l Z
+H l Z / BEG _ > U+0627 l Z
+;; wasla on initial alif : NEW! NOT TESTED!
+H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI
+[VWL]=v1 / BEG _ > U+0627 @v1
+A / BEG _ > U+0627 a
+Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U
+; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I
+Q?=q1 I / BEG _ > U+0627 @q1 i y
+
+
+;; Words with anomalous orthography:
+
+; mi'aT -> ماية
+;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy
+m Q i H Q a / _ (T|t) > m U+0627 Hy
+m Q i H a / _ (T|t) > m U+0627 Hy a
+m i H Q a / _ (T|t) > m i U+0627 Hy
+m i H a / _ (T|t) > m i U+0627 Hy a
+
+
+;; contextual analysis of hamzas
+;; THESE DO NOT APPLY FOR SINDHI
+
+; initial hamzas
+H / (#|^[LTR]) _ Q? [Iyi] > Hi
+H Q A / (#|^[LTR]) _ > HA ; alif madda
+H / (#|^[LTR]) _ Q? [Uwu] > Ha
+H / (#|^[LTR]) _ Q? a > Ha
+Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word
+
+; quoted hamzas in contextual mode, equivalent to verbatim mode
+a Q H > Ha
+i Q H > Hi
+y Q H > Hy
+w Q H > Hw
+h Q H > Hh
+A Q H > HA
+B Q H > HB
+BAR Q H > HBAR
+
+; hamza + fathatan
+H / a _ Q? AN > Ha
+;;H / [Iyi] _ Q? AN > Hy
+H / _ Q? AN > Hy
+
+;final hamzas
+H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ...
+H / a _ Q? (#|^[LTR]) > Ha ; not AN...
+H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN...
+H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy
+H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw
+
+;;and more hamzas ...
+
+; n°1: kasra/ya
+H / [LTR] _ Q? [Iyi] ^N > Hy
+H / [Iyi] _ > Hy
+
+; n°2: damma/waw
+H / [LTR] _ Q? (U|u) ^N > Hw
+H / (U|u) _ Q? ^[Iyi] > Hw
+H / U _ > HBAR
+
+; n°3: fatha/alif
+H Q? A > HA
+H / A _ Q? a > HBAR
+H / ^[UI] _ Q? a > Ha
+H / a _ Q? ^[UI] > Ha
+
+
+pass(Unicode)
+
+Class [Digits] = (U+0030..U+0039)
+Class [ArDigits] = (U+0660..U+0669)
+Class [ArEasternDigits] = (U+06F0..U+06F9)
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+
+
+
+
+;normal code
+
+
+(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA
+(P z|U+1E93) > U+0638
+C z C z > U+0698 U+0651 ;;SHADDA
+C z > U+0698
+V z V z > U+0696 U+0651 ;;SHADDA
+V z > U+0696 ;pashto
+z z > U+0632 U+0651 ;;SHADDA
+z > U+0632
+Q Y Y > U+0649 U+0651 ;;SHADDA
+Q Y > U+0649
+Y Y > U+064E U+0649 U+0651 ;;SHADDA
+Y > U+064E U+0649
+P I P I / _ # > U+0650 U+06CC U+0651 ;; SHADDA
+P I / _ # > U+0650 U+06CC ;; workaround to have ya without dots in Arabic
+y y > U+064A U+0651 ;;SHADDA
+y > U+064A
+v v > U+06A5 U+0651 ;;SHADDA
+v > U+06A5 ;; maghribi
+W > U+0648 U+0627 ; waw + alif
+C U > U+064F U+0648 U+0653; historical spelling : madda on waw
+C w C w > U+06C9 U+0651 ;;SHADDA
+C w > U+06C9
+CO w CO w > U+06CA U+0651 ;,SHADDA
+CO w > U+06CA
+U A / _ # > U+064F U+0648 U+0627
+Q U [Uw] > U+0648 U+0651 ;;SHADDA
+Q U > U+0648
+U [Uw] > U+064F U+0648 U+0651 ;;SHADDA
+U > U+064F U+0648
+w w > U+0648 U+0651 ;;SHADDA
+w > U+0648
+Q u N? >
+u N > U+064C
+u > U+064F
+V t V t > U+0679 U+0651 ;;SHADDA
+V t > U+0679 ;urdu
+UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA
+UL (t|s) > U+062B
+(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA
+(P t|U+1E6D) > U+0637
+t t > U+062A U+0651 ;;SHADDA
+t > U+062A
+T T Q AN > U+0629 U+0651 ;;SHADDA
+T Q AN > U+0629
+T AN > U+0629 U+064B
+T T > U+0629 U+0651 ;;SHADDA
+T > U+0629
+C s C s > U+0634 U+0651 ;;SHADDA
+C s > U+0634
+(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA
+(P s|U+1E63) > U+0635
+V s V s > U+069A U+0651 ;;SHADDA
+V s > U+069A ;Pashto
+CO s CO s > U+069B U+0651 ;;SHADDA
+CO s > U+069B ; sin with 3 dots below
+s s > U+0633 U+0651 ;;SHADDA
+s > U+0633
+C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<<
+C r > U+06EF
+CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<<
+CO r > U+0697 ; Dargwa language, Dagestan
+P r P r > U+0694 U+0651 ;;SHADDA
+P r > U+0694 ; r with dot below; in Kurdish .r -> 0694
+V r V r > U+0691 U+0651 ;;SHADDA
+V r > U+0691 ;Urdu
+r r > U+0631 U+0651 ;;SHADDA
+r > U+0631
+P q P q > U+066F U+0651 ;;SHADDA
+P q > U+066F
+q q > U+06A7 U+0651 ;; maghribi
+q > U+06A7 ;; maghribi
+p p > U+067E U+0651 ;;SHADDA
+p > U+067E
+CO n CO n > U+06B1 U+0651 ;;SHADDA
+CO n > U+06B1
+C n C n > U+06AD U+0651 ;;SHADDA
+C n > U+06AD
+P n P n > U+06BA U+0651 ;;SHADDA
+P n > U+06BA ; urdu
+V n V n > U+06BC U+0651 ;;SHADDA
+V n > U+06BC ; Pashto
+n n > U+0646 U+0651 ;;SHADDA
+n > U+0646
+m m > U+0645 U+0651 ;;SHADDA
+m > U+0645
+P l P l > U+06B6 U+0651 ;
+P l > U+06B6 ; ADDED <<<
+C l C l > U+06B5 U+0651 ;;SHADDA
+C l > U+06B5 ;kurdish
+l l > U+0644 U+0651 ;;SHADDA
+l > U+0644
+P k P k > U+06A9 U+0651 ;;SHADDA
+P k > U+06A9 ; pashto urdu
+UL k UL k > U+063A U+0651 ;;SHADDA
+UL k > U+063A
+k k > U+0643 U+0651 ;;SHADDA
+k > U+0643
+C g C g > U+062C U+0651 ;;SHADDA
+C g > U+062C
+CO j CO j > U+0684 U+0651 ;;SHADDA
+CO j > U+0684
+j j > U+062C U+0651 ;;SHADDA
+j > U+062C
+Q I > U+064A
+I > U+0650 U+064A
+C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya
+UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ###
+Q i N? > ;
+i N > U+064D
+i > U+0650
+x x > U+062E U+0651 ;;SHADDA
+x > U+062E
+UL h UL h > U+062E U+0651 ;;SHADDA
+UL h > U+062E
+(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA
+(P h|U+1E25) > U+062D
+V h V h > U+06C1 U+0651 ;;SHADDA
+V h > U+06C1
+h h > U+0647 U+0651 ;;SHADDA
+h > U+0647
+CO g CO g > U+06B3 U+0651 ;;SHADDA
+CO g > U+06B3
+V g V g > U+06AC U+0651 ;;SHADDA
+V g > U+06AC ; kaf with dot above
+P g P g > U+063A U+0651 ;;SHADDA
+P g > U+063A
+g g > U+06AF U+0651 ;;SHADDA
+g > U+06AF
+G G > U+06AB U+0651 ;;SHADDA
+G > U+06AB ;pashto
+P f P f > U+06A1 U+0651 ;;SHADDA
+P f > U+06A1
+f f > U+06A2 U+0651 ;; SHADDA
+f > U+06A2 ;; maghribi
+V d V d > U+068A U+0651 ;;SHADDA
+V d > U+068A
+P V d P V d > U+068B U+0651 ;;SHADDA
+P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi)
+C d C d > U+06EE U+0651 ;;SHADDA
+C d > U+06EE ; not defined in ArabTeX
+CO d CO d > U+068F U+0651 ;;SHADDA
+CO d > U+068F
+UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA
+UL (d|z) > U+0630
+(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA
+(P d|U+1E0D) > U+0636
+d d > U+062F U+0651 ;;SHADDA
+d > U+062F
+V c V c > U+0685 U+0651 ;;SHADDA
+V c > U+0685 ;pashto
+C c C c > U+0686 U+0651 ;;SHADDA
+C c > U+0686
+P C c P C c > U+06BF U+0651 ;;SHADDA
+P C c > U+06BF ;; cheh with dot above <<<
+c c > U+0681 U+0651 ;;SHADDA
+c > U+0681 ; ح with hamza above
+CO c CO c > U+0682 U+0651 ;;SHADDA
+CO c > U+0682 ; old pashto
+CO b CO b > U+067B U+0651 ;;SHADDA
+CO b > U+067B
+P b P b > U+066E U+0651 ;;SHADDA
+P b > U+066E
+b b > U+0628 U+0651 ;;SHADDA
+b > U+0628
+H A > U+0622
+C A > U+064E U+0622 ; historical spelling
+UL A > U+064E U+0649
+UL a > U+0670
+UL u > U+0657 ; inverted damma
+UL i > U+0656 ; subscript alif
+Q AN / (A H|Ha) _ > ;
+AN / (A H|Ha) _ > U+064B
+Q AN > U+0627
+AN > U+0627 U+064B
+Q a >
+a > U+064E
+Q A > U+0627
+A > U+064E U+0627
+Ain Ain > U+0639 U+0651 ;;SHADDA
+Ain > U+0639
+H H > U+0621 U+0651 ;;SHADDA
+H > U+0621
+U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma
+Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash
+(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks
+[Digits] > [ArDigits]
+Z Z Z / # _ # > U+2014
+Z Z / # _ # > U+2013
+Z Z > U+0640
+B > U+0640
+Z / # _ > U+200D ; -x > force initial form with "zero-width joiner"
+Z / _ # > U+200D ; x- > force final form
+U+003C U+003C > U+00BB ;<<
+U+003E U+003E > U+00AB ;>>
+U+00AB > U+00BB
+U+00BB > U+00AB
+UL > U+0640 ;_
+U+003F > U+061F ;?
+U+003B > U+061B ;;
+U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above...
+U+002C > U+060C ;,
+U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ...
+U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual
+ ; analysis, so quoting of hamzas etc may be necessary
+;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules
+;U+005B > U+005D ;[
+Q [VWL] > ;stripoff quoted vowels
+Q > U+0652
+U+00B0 > U+0652 ; °
+N > ;
+C > ;^
+BAR > ;|
+
+pass(Unicode)
+
+Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-)
+Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc.
+Class [VWL] = (U+0627 U+0648..U+0650 U+0670);
+U+0627 [VWL]? / [VWL] Z _ > U+0627 ; e.g. fa-isti_hraj -> initial alif has no vowel
+Z > ;
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-malay-fullvoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-malay-fullvoc.map
new file mode 100644
index 00000000000..c1cf78a23a2
--- /dev/null
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-malay-fullvoc.map
@@ -0,0 +1,485 @@
+LHSName "ArabTeX-malay-fullvocalized"
+RHSName "UNICODE"
+
+Define a U+0061 ;a
+Define b U+0062 ;b
+Define c U+0063 ;c
+Define d U+0064 ;d
+Define e U+0065 ;e
+Define f U+0066 ;f
+Define g U+0067 ;g
+Define h U+0068 ;h
+Define i U+0069 ;i
+Define j U+006A ;j
+Define k U+006B ;k
+Define l U+006C ;l
+Define m U+006D ;m
+Define n U+006E ;n
+Define o U+006F ;o
+Define p U+0070 ;p
+Define q U+0071 ;q
+Define r U+0072 ;r
+Define s U+0073 ;s
+Define t U+0074 ;t
+Define u U+0075 ;u
+Define v U+0076 ;v
+Define w U+0077 ;w
+Define x U+0078 ;x
+Define y U+0079 ;y
+Define z U+007A ;z
+Define A U+0041 ;A
+Define B U+0042 ;B
+Define E U+0045 ;E
+Define G U+0047 ;G
+Define I U+0049 ;I
+Define N U+004E ;N
+Define O U+004F ;O
+Define T U+0054 ;T
+Define U U+0055 ;U
+Define W U+0057 ;W
+Define Y U+0059 ;Y
+Define C U+005E ;^ << CARET
+Define UL U+005F ;_ << UNDERLINE
+Define P U+002E ;. << DOT
+Define V U+002C ;, << COMMA (_V_irgule)
+Define CO U+003A ;: << COLON
+Define SC U+003B ;; << SEMICOLON
+Define Ain U+0060 ;`
+Define H U+0027 ;' << HAMZA
+Define Q U+0022 ;" << QUOTE
+Define Z U+002D ;- << HYPHEN
+Define BAR U+007C ;|
+Define AN U+0061 U+004E ; aN
+Define LLAH U+006C U+006C U+005F U+0061 U+0068
+;Define NUL U+00A6;
+Define Ha U+0623
+Define Hi U+0625
+Define Hy U+0626
+Define Hw U+0624
+Define Hh U+06C0 ;; = U+0647 U+0654
+Define HA U+0622
+Define HB U+0640 U+0654
+Define HBAR U+0621 ; '|
+
+pass(Unicode)
+
+U+E000 > ; eliminate special code for capitalization in transliterations
+
+pass(Unicode)
+
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [AVWL] = (U+064B..U+0650);
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" `
+Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ”
+Class [PUNCT] = (V SC P CO)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u)
+;Class [ae] = (U+0061 U+0065) ;(a e)
+;Class [ou] = (U+0075 U+006F) ;(u o)
+Class [Iyi] = (U+0069 U+0079 U+0049)
+Class [UI] = (U+0049 U+0055) ; U I
+Class [Digits] = (U+0030..U+0039)
+
+Define BEG (#|Z|[BRACKETS])
+Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #)
+Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z)
+
+; special ligatures
+;; 1. Standard ArabTeX input
+;; WARNING! there are, alas, two classes of Arabic fonts:
+;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2
+;; For these the ligature llah can be accessed by the sequence lam-lam-ha
+;; b) Those that do not have the initial alif in U+FDF2
+;; The BAR is used in the DMG transliteration to suppress the initial A
+(a|A) BAR? l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah'
+LLAH > U+FDF2 ;; 'll_ah' > U+FDF2
+;; UPPERCASE mnemonics for various ligatures or special glyphs
+;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode
+U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h'
+U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic
+;; 2b. Ligatures and glyphs defined in Unicode:
+ U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH'
+ U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH'
+
+U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam
+U+0028 U+0028 > U+FD3F ;; '((' : ornate right par
+U+0029 U+0029 > U+FD3E ;; '))' : ornate left par
+U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign
+;; most fonts won't have the following ones:
+U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign)
+U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign
+U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR'
+U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD'
+U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM'
+U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL')
+U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE')
+U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM'
+U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA'
+U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu"
+U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik
+
+U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY
+U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY
+U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM-
+U+005E U+004C U+0041 > U+06D9 ;; ^LA
+U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM
+U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS
+U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN
+U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB
+U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO
+U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO
+U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM
+U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM
+U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN
+U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA
+U+0057 U+0041 U+0057 > U+06E5 ;; WAW
+U+0059 U+0045 U+0048 > U+06E6 ;; YEH
+U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH
+U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN
+U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA
+U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP
+U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP
+U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP
+U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM
+
+U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::")
+
+;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts
+U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]]
+
+
+; vowels
+u u > U
+i i > I
+a a > A
+CO O > U+06FC ;
+a e > a y
+a o > a w
+CO U > U+06C7 ;
+e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish)
+o > u
+
+
+;; Persian ezafe (ALL BUT ARABIC AND UIGHUR)
+U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<<
+U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I
+Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e
+Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I
+Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i
+Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i
+Z / U+0048 _ > U+0020 ;
+b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen
+
+;; initial characters ...
+a l Z / BEG _ > U+0627 l Z
+;; wasla on initial alif : NEW! NOT TESTED!
+H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI
+[VWL]=v1 / BEG _ > U+0627 @v1
+Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U
+; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I
+Q?=q1 I / BEG _ > U+0627 @q1 i y
+
+
+;; Words with anomalous orthography:
+
+; mi'aT -> ماية
+;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy
+m Q i H Q a / _ (T|t) > m U+0627 Hy
+m Q i H a / _ (T|t) > m U+0627 Hy a
+m i H Q a / _ (T|t) > m i U+0627 Hy
+m i H a / _ (T|t) > m i U+0627 Hy a
+
+
+;; contextual analysis of hamzas
+;; THESE DO NOT APPLY FOR SINDHI
+
+; initial hamzas
+H / (#|^[LTR]) _ Q? [Iyi] > Hi
+H Q A / (#|^[LTR]) _ > HA ; alif madda
+H / (#|^[LTR]) _ Q? [Uwu] > Ha
+H / (#|^[LTR]) _ Q? a > Ha
+Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word
+
+; quoted hamzas in contextual mode, equivalent to verbatim mode
+a Q H > Ha
+i Q H > Hi
+y Q H > Hy
+w Q H > Hw
+h Q H > Hh
+A Q H > HA
+B Q H > HB
+BAR Q H > HBAR
+
+; hamza + fathatan
+H / a _ Q? AN > Ha
+;;H / [Iyi] _ Q? AN > Hy
+H / _ Q? AN > Hy
+
+;final hamzas
+H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ...
+H / a _ Q? (#|^[LTR]) > Ha ; not AN...
+H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN...
+H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy
+H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw
+
+;;and more hamzas ...
+
+; n°1: kasra/ya
+H / [LTR] _ Q? [Iyi] ^N > Hy
+H / [Iyi] _ > Hy
+
+; n°2: damma/waw
+H / [LTR] _ Q? (U|u) ^N > Hw
+H / (U|u) _ Q? ^[Iyi] > Hw
+H / U _ > HBAR
+
+; n°3: fatha/alif
+H Q? A > HA
+H / A _ Q? a > HBAR
+H / ^[UI] _ Q? a > Ha
+H / a _ Q? ^[UI] > Ha
+
+
+pass(Unicode)
+
+Class [Digits] = (U+0030..U+0039)
+Class [ArDigits] = (U+0660..U+0669)
+Class [ArEasternDigits] = (U+06F0..U+06F9)
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+
+
+
+
+;normal code
+
+
+(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA
+(P z|U+1E93) > U+0638
+C z C z > U+0698 U+0651 ;;SHADDA
+C z > U+0698
+V z V z > U+0696 U+0651 ;;SHADDA
+V z > U+0696 ;pashto
+z z > U+0632 U+0651 ;;SHADDA
+z > U+0632
+Q Y Y > U+0649 U+0651 ;;SHADDA
+Q Y > U+0649
+Y Y > U+064E U+0649 U+0651 ;;SHADDA
+Y > U+064E U+0649
+P I P I / _ # > U+0650 U+06CC U+0651 ;; SHADDA
+P I / _ # > U+0650 U+06CC ;; workaround to have ya without dots in Arabic
+y y > U+064A U+0651 ;;SHADDA
+y > U+064A
+v v > U+06CF U+0651 ;;SHADDA
+v > U+06CF
+W > U+0648 U+0627 ; waw + alif
+C U > U+064F U+0648 U+0653; historical spelling : madda on waw
+C w C w > U+06C9 U+0651 ;;SHADDA
+C w > U+06C9
+CO w CO w > U+06CA U+0651 ;,SHADDA
+CO w > U+06CA
+U A / _ # > U+064F U+0648 U+0627
+Q U [Uw] > U+0648 U+0651 ;;SHADDA
+Q U > U+0648
+U [Uw] > U+064F U+0648 U+0651 ;;SHADDA
+U > U+064F U+0648
+w w > U+0648 U+0651 ;;SHADDA
+w > U+0648
+Q u N? >
+u N > U+064C
+u > U+064F
+V t V t > U+0679 U+0651 ;;SHADDA
+V t > U+0679 ;urdu
+UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA
+UL (t|s) > U+062B
+(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA
+(P t|U+1E6D) > U+0637
+t t > U+062A U+0651 ;;SHADDA
+t > U+062A
+T T Q AN > U+0629 U+0651 ;;SHADDA
+T Q AN > U+0629
+T AN > U+0629 U+064B
+T T > U+0629 U+0651 ;;SHADDA
+T > U+0629
+C s C s > U+0634 U+0651 ;;SHADDA
+C s > U+0634
+(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA
+(P s|U+1E63) > U+0635
+V s V s > U+069A U+0651 ;;SHADDA
+V s > U+069A ;Pashto
+CO s CO s > U+069B U+0651 ;;SHADDA
+CO s > U+069B ; sin with 3 dots below
+s s > U+0633 U+0651 ;;SHADDA
+s > U+0633
+C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<<
+C r > U+06EF
+CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<<
+CO r > U+0697 ; Dargwa language, Dagestan
+P r P r > U+0694 U+0651 ;;SHADDA
+P r > U+0694 ; r with dot below; in Kurdish .r -> 0694
+V r V r > U+0691 U+0651 ;;SHADDA
+V r > U+0691 ;Urdu
+r r > U+0631 U+0651 ;;SHADDA
+r > U+0631
+P q P q > U+066F U+0651 ;;SHADDA
+P q > U+066F
+q q > U+0642 U+0651 ;;SHADDA
+q > U+0642
+p p > U+06A8 U+0651 ;;SHADDA
+p > U+06A8 ;Old malay
+CO n CO n > U+06B1 U+0651 ;;SHADDA
+CO n > U+06B1
+C n C n > U+06BD U+0651 ;;SHADDA
+C n > U+06BD ; <<< ArabTeX yields nūn with three dots below, which is not in Unicode!
+P n P n > U+06BA U+0651 ;;SHADDA
+P n > U+06BA ; urdu
+V n V n > U+06BC U+0651 ;;SHADDA
+V n > U+06BC ; Pashto
+n n > U+0646 U+0651 ;;SHADDA
+n > U+0646
+m m > U+0645 U+0651 ;;SHADDA
+m > U+0645
+P l P l > U+06B6 U+0651 ;
+P l > U+06B6 ; ADDED <<<
+C l C l > U+06B5 U+0651 ;;SHADDA
+C l > U+06B5 ;kurdish
+l l > U+0644 U+0651 ;;SHADDA
+l > U+0644
+P k P k > U+06A9 U+0651 ;;SHADDA
+P k > U+06A9 ; pashto urdu
+UL k UL k > U+063A U+0651 ;;SHADDA
+UL k > U+063A
+k k > U+0643 U+0651 ;;SHADDA
+k > U+0643
+C g C g > U+06A0 U+0651 ;;SHADDA
+C g > U+06A0
+CO j CO j > U+0684 U+0651 ;;SHADDA
+CO j > U+0684
+j j > U+062C U+0651 ;;SHADDA
+j > U+062C
+Q I > U+064A
+I > U+0650 U+064A
+C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya
+UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ###
+Q i N? > ;
+i N > U+064D
+i > U+0650
+x x > U+062E U+0651 ;;SHADDA
+x > U+062E
+UL h UL h > U+062E U+0651 ;;SHADDA
+UL h > U+062E
+(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA
+(P h|U+1E25) > U+062D
+V h V h > U+06C1 U+0651 ;;SHADDA
+V h > U+06C1
+h h > U+0647 U+0651 ;;SHADDA
+h > U+0647
+CO g CO g > U+06B3 U+0651 ;;SHADDA
+CO g > U+06B3
+V g V g > U+06AC U+0651 ;;SHADDA
+V g > U+06AC ; kaf with dot above
+P g P g > U+063A U+0651 ;;SHADDA
+P g > U+063A
+g g > U+0762 U+0651 ;;SHADDA
+g > U+0762
+G G > U+06AB U+0651 ;;SHADDA
+G > U+06AB ;pashto
+P f P f > U+06A1 U+0651 ;;SHADDA
+P f > U+06A1
+f f > U+0641 U+0651 ;;SHADDA
+f > U+0641
+V d V d > U+068A U+0651 ;;SHADDA
+V d > U+068A
+P V d P V d > U+068B U+0651 ;;SHADDA
+P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi)
+C d C d > U+06EE U+0651 ;;SHADDA
+C d > U+06EE ; not defined in ArabTeX
+CO d CO d > U+068F U+0651 ;;SHADDA
+CO d > U+068F
+UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA
+UL (d|z) > U+0630
+(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA
+(P d|U+1E0D) > U+0636
+d d > U+062F U+0651 ;;SHADDA
+d > U+062F
+V c V c > U+0685 U+0651 ;;SHADDA
+V c > U+0685 ;pashto
+C c C c > U+0686 U+0651 ;;SHADDA
+C c > U+0686
+P C c P C c > U+06BF U+0651 ;;SHADDA
+P C c > U+06BF ;; cheh with dot above <<<
+c c > U+0686 U+0651 ;;SHADDA
+c > U+0686
+CO c CO c > U+0682 U+0651 ;;SHADDA
+CO c > U+0682 ; old pashto
+CO b CO b > U+067B U+0651 ;;SHADDA
+CO b > U+067B
+P b P b > U+066E U+0651 ;;SHADDA
+P b > U+066E
+b b > U+0628 U+0651 ;;SHADDA
+b > U+0628
+H A > U+0622
+C A > U+064E U+0622 ; historical spelling
+UL A > U+064E U+0649
+UL a > U+0670
+UL u > U+064F;
+UL i > U+0650;
+Q AN / (A H|Ha) _ > ;
+AN / (A H|Ha) _ > U+064B
+Q AN > U+0627
+AN > U+0627 U+064B
+Q a >
+a > U+064E
+Q A > U+0627
+A > U+064E U+0627
+Ain Ain > U+0639 U+0651 ;;SHADDA
+Ain > U+0639
+H H > U+0621 U+0651 ;;SHADDA
+H > U+0621
+U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma
+Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash
+(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks
+[Digits] > [ArDigits]
+Z Z Z / # _ # > U+2014
+Z Z / # _ # > U+2013
+Z Z > U+0640
+B > U+0640
+Z / # _ > U+200D ; -x > force initial form with "zero-width joiner"
+Z / _ # > U+200D ; x- > force final form
+U+003C U+003C > U+00BB ;<<
+U+003E U+003E > U+00AB ;>>
+U+00AB > U+00BB
+U+00BB > U+00AB
+UL > U+0640 ;_
+U+003F > U+061F ;?
+U+003B > U+061B ;;
+U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above...
+U+002C > U+060C ;,
+U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ...
+U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual
+ ; analysis, so quoting of hamzas etc may be necessary
+;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules
+;U+005B > U+005D ;[
+Q [VWL] > ;stripoff quoted vowels
+U+00B0 > U+0652 ; °
+N > ;
+C > ;^
+BAR > ;|
+
+pass(Unicode)
+
+Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-)
+Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc.
+Class [VWL] = (U+0627 U+0648..U+0650 U+0670);
+[CONS]=k1 / _ Z? [CONS] ^U+0651 > @k1 U+0652 ; hack: 2nd consonant has no shadda
+U+064E (U+064A|U+0648)=hc / _ (^[VWLX]|#) > U+064E @hc U+0652 ; ay and aw diphtongs
+U+0627 / # _ U+0644 > U+0627 U+064E ; otherwise initial alif takes fatha
+[CONS]=k1 / _ ([CONS]|#) > @k1 U+0652 ; consonant + (consonant or final)
+;; [CONS]=k1 / _ # > @k1 U+0652 ; final consonant
+Q > ;
+Z > ;
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-malay-novoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-malay-novoc.map
new file mode 100644
index 00000000000..7e4076dd309
--- /dev/null
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-malay-novoc.map
@@ -0,0 +1,470 @@
+LHSName "ArabTeX-malay-novowels"
+RHSName "UNICODE"
+
+Define a U+0061 ;a
+Define b U+0062 ;b
+Define c U+0063 ;c
+Define d U+0064 ;d
+Define e U+0065 ;e
+Define f U+0066 ;f
+Define g U+0067 ;g
+Define h U+0068 ;h
+Define i U+0069 ;i
+Define j U+006A ;j
+Define k U+006B ;k
+Define l U+006C ;l
+Define m U+006D ;m
+Define n U+006E ;n
+Define o U+006F ;o
+Define p U+0070 ;p
+Define q U+0071 ;q
+Define r U+0072 ;r
+Define s U+0073 ;s
+Define t U+0074 ;t
+Define u U+0075 ;u
+Define v U+0076 ;v
+Define w U+0077 ;w
+Define x U+0078 ;x
+Define y U+0079 ;y
+Define z U+007A ;z
+Define A U+0041 ;A
+Define B U+0042 ;B
+Define E U+0045 ;E
+Define G U+0047 ;G
+Define I U+0049 ;I
+Define N U+004E ;N
+Define O U+004F ;O
+Define T U+0054 ;T
+Define U U+0055 ;U
+Define W U+0057 ;W
+Define Y U+0059 ;Y
+Define C U+005E ;^ << CARET
+Define UL U+005F ;_ << UNDERLINE
+Define P U+002E ;. << DOT
+Define V U+002C ;, << COMMA (_V_irgule)
+Define CO U+003A ;: << COLON
+Define SC U+003B ;; << SEMICOLON
+Define Ain U+0060 ;`
+Define H U+0027 ;' << HAMZA
+Define Q U+0022 ;" << QUOTE
+Define Z U+002D ;- << HYPHEN
+Define BAR U+007C ;|
+Define AN U+0061 U+004E ; aN
+Define LLAH U+006C U+006C U+005F U+0061 U+0068
+;Define NUL U+00A6;
+Define Ha U+0623
+Define Hi U+0625
+Define Hy U+0626
+Define Hw U+0624
+Define Hh U+06C0 ;; = U+0647 U+0654
+Define HA U+0622
+Define HB U+0640 U+0654
+Define HBAR U+0621 ; '|
+
+pass(Unicode)
+
+U+E000 > ; eliminate special code for capitalization in transliterations
+
+pass(Unicode)
+
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [AVWL] = (U+064B..U+0650);
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" `
+Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ”
+Class [PUNCT] = (V SC P CO)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u)
+;Class [ae] = (U+0061 U+0065) ;(a e)
+;Class [ou] = (U+0075 U+006F) ;(u o)
+Class [Iyi] = (U+0069 U+0079 U+0049)
+Class [UI] = (U+0049 U+0055) ; U I
+Class [Digits] = (U+0030..U+0039)
+
+Define BEG (#|Z|[BRACKETS])
+Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #)
+Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z)
+
+; special ligatures
+;; 1. Standard ArabTeX input
+;; WARNING! there are, alas, two classes of Arabic fonts:
+;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2
+;; For these the ligature llah can be accessed by the sequence lam-lam-ha
+;; b) Those that do not have the initial alif in U+FDF2
+;; The BAR is used in the DMG transliteration to suppress the initial A
+(a|A) BAR? l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah'
+LLAH > U+FDF2 ;; 'll_ah' > U+FDF2
+;; UPPERCASE mnemonics for various ligatures or special glyphs
+;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode
+U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h'
+U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic
+;; 2b. Ligatures and glyphs defined in Unicode:
+ U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH'
+ U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH'
+
+U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam
+U+0028 U+0028 > U+FD3F ;; '((' : ornate right par
+U+0029 U+0029 > U+FD3E ;; '))' : ornate left par
+U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign
+;; most fonts won't have the following ones:
+U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign)
+U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign
+U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR'
+U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD'
+U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM'
+U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL')
+U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE')
+U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM'
+U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA'
+U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu"
+U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik
+
+U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY
+U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY
+U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM-
+U+005E U+004C U+0041 > U+06D9 ;; ^LA
+U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM
+U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS
+U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN
+U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB
+U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO
+U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO
+U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM
+U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM
+U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN
+U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA
+U+0057 U+0041 U+0057 > U+06E5 ;; WAW
+U+0059 U+0045 U+0048 > U+06E6 ;; YEH
+U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH
+U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN
+U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA
+U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP
+U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP
+U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP
+U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM
+
+U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::")
+
+;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts
+U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]]
+
+
+; vowels
+u u > U
+i i > I
+a a > A
+[AVWL] > ; strip off vowels when writing UTF-8 Arabic with novoc mode
+CO O > U+06FC ;
+a e > a y
+a o > a w
+CO U > U+06C7 ;
+e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish)
+o > u
+
+
+;; Persian ezafe (ALL BUT ARABIC AND UIGHUR)
+U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<<
+U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I
+Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e
+Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I
+Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i
+Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i
+Z / U+0048 _ > U+0020 ;
+b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen
+
+;; initial characters ...
+a l Z / BEG _ > U+0627 l Z
+;; wasla on initial alif : NEW! NOT TESTED!
+H / BEG _ l l > U+0627 ;
+[VWL]=v1 / BEG _ > A @v1
+Q?=q1 U / BEG _ > A @q1 u w ; -U
+; Q?=q1 I / BEG _ > A @q1 i y ; -I ; but not when I is final FIXME!!!
+Q?=q1 I / BEG _ > A @q1 i y ; except for Persian, coz of ezafe rules
+
+
+;; Words with anomalous orthography:
+
+; mi'aT -> ماية
+;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy
+m Q i H Q a / _ (T|t) > m Q i A Hy Q a
+m Q i H a / _ (T|t) > m Q i A Hy
+m i H Q a / _ (T|t) > m A Hy Q a
+m i H a / _ (T|t) > m A Hy
+
+
+;; contextual analysis of hamzas
+;; THESE DO NOT APPLY FOR SINDHI
+
+; initial hamzas
+H / (#|^[LTR]) _ Q? [Iyi] > Hi
+H Q A / (#|^[LTR]) _ > HA ; alif madda
+H / (#|^[LTR]) _ Q? [Uwu] > Ha
+H / (#|^[LTR]) _ Q? a > Ha
+Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word
+
+; quoted hamzas in contextual mode, equivalent to verbatim mode
+a Q H > Ha
+i Q H > Hi
+y Q H > Hy
+w Q H > Hw
+h Q H > Hh
+A Q H > HA
+B Q H > HB
+BAR Q H > HBAR
+
+; hamza + fathatan
+H / a _ Q? AN > Ha
+;;H / [Iyi] _ Q? AN > Hy
+H / _ Q? AN > Hy
+
+;final hamzas
+H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ...
+H / a _ Q? (#|^[LTR]) > Ha ; not AN...
+H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN...
+H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy
+H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw
+
+;;and more hamzas ...
+
+; n°1: kasra/ya
+H / [LTR] _ Q? [Iyi] ^N > Hy
+H / [Iyi] _ > Hy
+
+; n°2: damma/waw
+H / [LTR] _ Q? (U|u) ^N > Hw
+H / (U|u) _ Q? ^[Iyi] > Hw
+H / U _ > HBAR
+
+; n°3: fatha/alif
+H Q? A > HA
+H / A _ Q? a > HBAR
+H / ^[UI] _ Q? a > Ha
+H / a _ Q? ^[UI] > Ha
+
+
+pass(Unicode)
+
+Class [Digits] = (U+0030..U+0039)
+Class [ArDigits] = (U+0660..U+0669)
+Class [ArEasternDigits] = (U+06F0..U+06F9)
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+
+
+
+
+;normal code
+
+
+(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA
+(P z|U+1E93) > U+0638
+C z C z > U+0698 U+0651 ;;SHADDA
+C z > U+0698
+V z V z > U+0696 U+0651 ;;SHADDA
+V z > U+0696 ;pashto
+z z > U+0632 U+0651 ;;SHADDA
+z > U+0632
+Y Y > U+0649 U+0651 ;;SHADDA
+Y > U+0649
+P I P I / _ # > U+06CC U+0651 ;; SHADDA
+P I / _ # > U+06CC ;; workaround to have ya without dots in Arabic
+y y > U+064A U+0651 ;;SHADDA
+y > U+064A
+v v > U+06CF U+0651 ;;SHADDA
+v > U+06CF
+W > U+0648 U+0627 ; waw + alif
+C U > U+064F U+0648 U+0653; historical spelling : madda on waw
+Q U [Uw] > U+064F U+0648 U+0651 ;;SHADDA
+Q U > U+064F U+0648
+[Uw] [Uw] > U+0648 U+0651 ;;SHADDA
+[Uw] > U+0648
+C w C w > U+06C9 U+0651 ;;SHADDA
+C w > U+06C9
+CO w CO w > U+06CA U+0651 ;,SHADDA
+CO w > U+06CA
+Q u N > U+064C
+u N >
+Q u > U+064F
+V t V t > U+0679 U+0651 ;;SHADDA
+V t > U+0679 ;urdu
+UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA
+UL (t|s) > U+062B
+(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA
+(P t|U+1E6D) > U+0637
+t t > U+062A U+0651 ;;SHADDA
+t > U+062A
+T T Q AN > U+0629 U+0651 U+064B ;;SHADDA
+T Q AN > U+0629 U+064B
+T AN > U+0629
+T T > U+0629 U+0651 ;;SHADDA
+T > U+0629
+C s C s > U+0634 U+0651 ;;SHADDA
+C s > U+0634
+(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA
+(P s|U+1E63) > U+0635
+V s V s > U+069A U+0651 ;;SHADDA
+V s > U+069A ;Pashto
+CO s CO s > U+069B U+0651 ;;SHADDA
+CO s > U+069B ; sin with 3 dots below
+s s > U+0633 U+0651 ;;SHADDA
+s > U+0633
+C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<<
+C r > U+06EF
+CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<<
+CO r > U+0697 ; Dargwa language, Dagestan
+P r P r > U+0694 U+0651 ;;SHADDA
+P r > U+0694 ; r with dot below; in Kurdish .r -> 0694
+V r V r > U+0691 U+0651 ;;SHADDA
+V r > U+0691 ;Urdu
+r r > U+0631 U+0651 ;;SHADDA
+r > U+0631
+P q P q > U+066F U+0651 ;;SHADDA
+P q > U+066F
+q q > U+0642 U+0651 ;;SHADDA
+q > U+0642
+p p > U+06A8 U+0651 ;;SHADDA
+p > U+06A8 ;Old malay
+CO n CO n > U+06B1 U+0651 ;;SHADDA
+CO n > U+06B1
+C n C n > U+06BD U+0651 ;;SHADDA
+C n > U+06BD ; <<< ArabTeX yields nūn with three dots below, which is not in Unicode!
+P n P n > U+06BA U+0651 ;;SHADDA
+P n > U+06BA ; urdu
+V n V n > U+06BC U+0651 ;;SHADDA
+V n > U+06BC ; Pashto
+n n > U+0646 U+0651 ;;SHADDA
+n > U+0646
+m m > U+0645 U+0651 ;;SHADDA
+m > U+0645
+P l P l > U+06B6 U+0651 ;
+P l > U+06B6 ; ADDED <<<
+C l C l > U+06B5 U+0651 ;;SHADDA
+C l > U+06B5 ;kurdish
+l l > U+0644 U+0651 ;;SHADDA
+l > U+0644
+P k P k > U+06A9 U+0651 ;;SHADDA
+P k > U+06A9 ; pashto urdu
+UL k UL k > U+063A U+0651 ;;SHADDA
+UL k > U+063A
+k k > U+0643 U+0651 ;;SHADDA
+k > U+0643
+C g C g > U+06A0 U+0651 ;;SHADDA
+C g > U+06A0
+CO j CO j > U+0684 U+0651 ;;SHADDA
+CO j > U+0684
+j j > U+062C U+0651 ;;SHADDA
+j > U+062C
+Q I > U+0650 U+064A
+C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya
+UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ###
+I > U+064A
+Q i N > U+064D
+i N > ;
+Q i > U+0650
+x x > U+062E U+0651 ;;SHADDA
+x > U+062E
+UL h UL h > U+062E U+0651 ;;SHADDA
+UL h > U+062E
+(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA
+(P h|U+1E25) > U+062D
+V h V h > U+06C1 U+0651 ;;SHADDA
+V h > U+06C1
+h h > U+0647 U+0651 ;;SHADDA
+h > U+0647
+CO g CO g > U+06B3 U+0651 ;;SHADDA
+CO g > U+06B3
+V g V g > U+06AC U+0651 ;;SHADDA
+V g > U+06AC ; kaf with dot above
+P g P g > U+063A U+0651 ;;SHADDA
+P g > U+063A
+g g > U+0762 U+0651 ;;SHADDA
+g > U+0762
+G G > U+06AB U+0651 ;;SHADDA
+G > U+06AB ;pashto
+P f P f > U+06A1 U+0651 ;;SHADDA
+P f > U+06A1
+f f > U+0641 U+0651 ;;SHADDA
+f > U+0641
+V d V d > U+068A U+0651 ;;SHADDA
+V d > U+068A
+P V d P V d > U+068B U+0651 ;;SHADDA
+P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi)
+C d C d > U+06EE U+0651 ;;SHADDA
+C d > U+06EE ; not defined in ArabTeX
+CO d CO d > U+068F U+0651 ;;SHADDA
+CO d > U+068F
+UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA
+UL (d|z) > U+0630
+(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA
+(P d|U+1E0D) > U+0636
+d d > U+062F U+0651 ;;SHADDA
+d > U+062F
+V c V c > U+0685 U+0651 ;;SHADDA
+V c > U+0685 ;pashto
+C c C c > U+0686 U+0651 ;;SHADDA
+C c > U+0686
+P C c P C c > U+06BF U+0651 ;;SHADDA
+P C c > U+06BF ;; cheh with dot above <<<
+c c > U+0686 U+0651 ;;SHADDA
+c > U+0686
+CO c CO c > U+0682 U+0651 ;;SHADDA
+CO c > U+0682 ; old pashto
+CO b CO b > U+067B U+0651 ;;SHADDA
+CO b > U+067B
+P b P b > U+066E U+0651 ;;SHADDA
+P b > U+066E
+b b > U+0628 U+0651 ;;SHADDA
+b > U+0628
+H A > U+0622
+C A > U+064E U+0622 ; historical spelling
+UL A > U+0649
+UL a > U+0670
+UL u > ;
+UL i > ;
+Q AN / (A H|Ha) _ > U+064B
+AN / (A H|Ha) _ > ;
+Q AN > U+0627 U+064B
+AN > U+0627
+Q a > U+064E
+Q A > U+064E U+0627
+A > U+0627
+Ain Ain > U+0639 U+0651 ;;SHADDA
+Ain > U+0639
+H H > U+0621 U+0651 ;;SHADDA
+H > U+0621
+U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma
+Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash
+(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks
+[Digits] > [ArDigits]
+Z Z Z / # _ # > U+2014
+Z Z / # _ # > U+2013
+Z Z > U+0640
+B > U+0640
+Z / # _ > U+200D ; -x > force initial form with "zero-width joiner"
+Z / _ # > U+200D ; x- > force final form
+U+003C U+003C > U+00BB ;<<
+U+003E U+003E > U+00AB ;>>
+U+00AB > U+00BB
+U+00BB > U+00AB
+UL > U+0640 ;_
+U+003F > U+061F ;?
+U+003B > U+061B ;;
+U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above...
+U+002C > U+060C ;,
+U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ...
+U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual
+ ; analysis, so quoting of hamzas etc may be necessary
+;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules
+;U+005B > U+005D ;[
+[VWL] > ;stripoff vowels
+Q > U+0652
+U+00B0 > U+0652 ; °
+N > ;
+C > ;^
+Z > ;-
+BAR > ;|
+
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-malay-novoc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-malay-novoc.tec
index 06b2d462540..4a6b8f92a3e 100644
--- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-malay-novoc.tec
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-malay-novoc.tec
Binary files differ
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-malay-voc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-malay-voc.map
new file mode 100644
index 00000000000..6f0f56dd139
--- /dev/null
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-malay-voc.map
@@ -0,0 +1,480 @@
+LHSName "ArabTeX-malay-vocalized"
+RHSName "UNICODE"
+
+Define a U+0061 ;a
+Define b U+0062 ;b
+Define c U+0063 ;c
+Define d U+0064 ;d
+Define e U+0065 ;e
+Define f U+0066 ;f
+Define g U+0067 ;g
+Define h U+0068 ;h
+Define i U+0069 ;i
+Define j U+006A ;j
+Define k U+006B ;k
+Define l U+006C ;l
+Define m U+006D ;m
+Define n U+006E ;n
+Define o U+006F ;o
+Define p U+0070 ;p
+Define q U+0071 ;q
+Define r U+0072 ;r
+Define s U+0073 ;s
+Define t U+0074 ;t
+Define u U+0075 ;u
+Define v U+0076 ;v
+Define w U+0077 ;w
+Define x U+0078 ;x
+Define y U+0079 ;y
+Define z U+007A ;z
+Define A U+0041 ;A
+Define B U+0042 ;B
+Define E U+0045 ;E
+Define G U+0047 ;G
+Define I U+0049 ;I
+Define N U+004E ;N
+Define O U+004F ;O
+Define T U+0054 ;T
+Define U U+0055 ;U
+Define W U+0057 ;W
+Define Y U+0059 ;Y
+Define C U+005E ;^ << CARET
+Define UL U+005F ;_ << UNDERLINE
+Define P U+002E ;. << DOT
+Define V U+002C ;, << COMMA (_V_irgule)
+Define CO U+003A ;: << COLON
+Define SC U+003B ;; << SEMICOLON
+Define Ain U+0060 ;`
+Define H U+0027 ;' << HAMZA
+Define Q U+0022 ;" << QUOTE
+Define Z U+002D ;- << HYPHEN
+Define BAR U+007C ;|
+Define AN U+0061 U+004E ; aN
+Define LLAH U+006C U+006C U+005F U+0061 U+0068
+;Define NUL U+00A6;
+Define Ha U+0623
+Define Hi U+0625
+Define Hy U+0626
+Define Hw U+0624
+Define Hh U+06C0 ;; = U+0647 U+0654
+Define HA U+0622
+Define HB U+0640 U+0654
+Define HBAR U+0621 ; '|
+
+pass(Unicode)
+
+U+E000 > ; eliminate special code for capitalization in transliterations
+
+pass(Unicode)
+
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [AVWL] = (U+064B..U+0650);
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" `
+Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ”
+Class [PUNCT] = (V SC P CO)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u)
+;Class [ae] = (U+0061 U+0065) ;(a e)
+;Class [ou] = (U+0075 U+006F) ;(u o)
+Class [Iyi] = (U+0069 U+0079 U+0049)
+Class [UI] = (U+0049 U+0055) ; U I
+Class [Digits] = (U+0030..U+0039)
+
+Define BEG (#|Z|[BRACKETS])
+Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #)
+Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z)
+
+; special ligatures
+;; 1. Standard ArabTeX input
+;; WARNING! there are, alas, two classes of Arabic fonts:
+;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2
+;; For these the ligature llah can be accessed by the sequence lam-lam-ha
+;; b) Those that do not have the initial alif in U+FDF2
+;; The BAR is used in the DMG transliteration to suppress the initial A
+(a|A) BAR? l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah'
+LLAH > U+FDF2 ;; 'll_ah' > U+FDF2
+;; UPPERCASE mnemonics for various ligatures or special glyphs
+;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode
+U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h'
+U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic
+;; 2b. Ligatures and glyphs defined in Unicode:
+ U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH'
+ U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH'
+
+U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam
+U+0028 U+0028 > U+FD3F ;; '((' : ornate right par
+U+0029 U+0029 > U+FD3E ;; '))' : ornate left par
+U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign
+;; most fonts won't have the following ones:
+U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign)
+U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign
+U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR'
+U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD'
+U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM'
+U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL')
+U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE')
+U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM'
+U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA'
+U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu"
+U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik
+
+U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY
+U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY
+U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM-
+U+005E U+004C U+0041 > U+06D9 ;; ^LA
+U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM
+U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS
+U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN
+U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB
+U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO
+U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO
+U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM
+U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM
+U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN
+U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA
+U+0057 U+0041 U+0057 > U+06E5 ;; WAW
+U+0059 U+0045 U+0048 > U+06E6 ;; YEH
+U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH
+U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN
+U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA
+U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP
+U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP
+U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP
+U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM
+
+U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::")
+
+;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts
+U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]]
+
+
+; vowels
+u u > U
+i i > I
+a a > A
+CO O > U+06FC ;
+a e > a y
+a o > a w
+CO U > U+06C7 ;
+e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish)
+o > u
+
+
+;; Persian ezafe (ALL BUT ARABIC AND UIGHUR)
+U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<<
+U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I
+Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e
+Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I
+Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i
+Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i
+Z / U+0048 _ > U+0020 ;
+b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen
+
+;; initial characters ...
+a l Z / BEG _ > U+0627 l Z
+;; wasla on initial alif : NEW! NOT TESTED!
+H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI
+[VWL]=v1 / BEG _ > U+0627 @v1
+Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U
+; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I
+Q?=q1 I / BEG _ > U+0627 @q1 i y
+
+
+;; Words with anomalous orthography:
+
+; mi'aT -> ماية
+;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy
+m Q i H Q a / _ (T|t) > m U+0627 Hy
+m Q i H a / _ (T|t) > m U+0627 Hy a
+m i H Q a / _ (T|t) > m i U+0627 Hy
+m i H a / _ (T|t) > m i U+0627 Hy a
+
+
+;; contextual analysis of hamzas
+;; THESE DO NOT APPLY FOR SINDHI
+
+; initial hamzas
+H / (#|^[LTR]) _ Q? [Iyi] > Hi
+H Q A / (#|^[LTR]) _ > HA ; alif madda
+H / (#|^[LTR]) _ Q? [Uwu] > Ha
+H / (#|^[LTR]) _ Q? a > Ha
+Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word
+
+; quoted hamzas in contextual mode, equivalent to verbatim mode
+a Q H > Ha
+i Q H > Hi
+y Q H > Hy
+w Q H > Hw
+h Q H > Hh
+A Q H > HA
+B Q H > HB
+BAR Q H > HBAR
+
+; hamza + fathatan
+H / a _ Q? AN > Ha
+;;H / [Iyi] _ Q? AN > Hy
+H / _ Q? AN > Hy
+
+;final hamzas
+H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ...
+H / a _ Q? (#|^[LTR]) > Ha ; not AN...
+H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN...
+H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy
+H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw
+
+;;and more hamzas ...
+
+; n°1: kasra/ya
+H / [LTR] _ Q? [Iyi] ^N > Hy
+H / [Iyi] _ > Hy
+
+; n°2: damma/waw
+H / [LTR] _ Q? (U|u) ^N > Hw
+H / (U|u) _ Q? ^[Iyi] > Hw
+H / U _ > HBAR
+
+; n°3: fatha/alif
+H Q? A > HA
+H / A _ Q? a > HBAR
+H / ^[UI] _ Q? a > Ha
+H / a _ Q? ^[UI] > Ha
+
+
+pass(Unicode)
+
+Class [Digits] = (U+0030..U+0039)
+Class [ArDigits] = (U+0660..U+0669)
+Class [ArEasternDigits] = (U+06F0..U+06F9)
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+
+
+
+
+;normal code
+
+
+(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA
+(P z|U+1E93) > U+0638
+C z C z > U+0698 U+0651 ;;SHADDA
+C z > U+0698
+V z V z > U+0696 U+0651 ;;SHADDA
+V z > U+0696 ;pashto
+z z > U+0632 U+0651 ;;SHADDA
+z > U+0632
+Q Y Y > U+0649 U+0651 ;;SHADDA
+Q Y > U+0649
+Y Y > U+064E U+0649 U+0651 ;;SHADDA
+Y > U+064E U+0649
+P I P I / _ # > U+0650 U+06CC U+0651 ;; SHADDA
+P I / _ # > U+0650 U+06CC ;; workaround to have ya without dots in Arabic
+y y > U+064A U+0651 ;;SHADDA
+y > U+064A
+v v > U+06CF U+0651 ;;SHADDA
+v > U+06CF
+W > U+0648 U+0627 ; waw + alif
+C U > U+064F U+0648 U+0653; historical spelling : madda on waw
+C w C w > U+06C9 U+0651 ;;SHADDA
+C w > U+06C9
+CO w CO w > U+06CA U+0651 ;,SHADDA
+CO w > U+06CA
+U A / _ # > U+064F U+0648 U+0627
+Q U [Uw] > U+0648 U+0651 ;;SHADDA
+Q U > U+0648
+U [Uw] > U+064F U+0648 U+0651 ;;SHADDA
+U > U+064F U+0648
+w w > U+0648 U+0651 ;;SHADDA
+w > U+0648
+Q u N? >
+u N > U+064C
+u > U+064F
+V t V t > U+0679 U+0651 ;;SHADDA
+V t > U+0679 ;urdu
+UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA
+UL (t|s) > U+062B
+(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA
+(P t|U+1E6D) > U+0637
+t t > U+062A U+0651 ;;SHADDA
+t > U+062A
+T T Q AN > U+0629 U+0651 ;;SHADDA
+T Q AN > U+0629
+T AN > U+0629 U+064B
+T T > U+0629 U+0651 ;;SHADDA
+T > U+0629
+C s C s > U+0634 U+0651 ;;SHADDA
+C s > U+0634
+(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA
+(P s|U+1E63) > U+0635
+V s V s > U+069A U+0651 ;;SHADDA
+V s > U+069A ;Pashto
+CO s CO s > U+069B U+0651 ;;SHADDA
+CO s > U+069B ; sin with 3 dots below
+s s > U+0633 U+0651 ;;SHADDA
+s > U+0633
+C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<<
+C r > U+06EF
+CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<<
+CO r > U+0697 ; Dargwa language, Dagestan
+P r P r > U+0694 U+0651 ;;SHADDA
+P r > U+0694 ; r with dot below; in Kurdish .r -> 0694
+V r V r > U+0691 U+0651 ;;SHADDA
+V r > U+0691 ;Urdu
+r r > U+0631 U+0651 ;;SHADDA
+r > U+0631
+P q P q > U+066F U+0651 ;;SHADDA
+P q > U+066F
+q q > U+0642 U+0651 ;;SHADDA
+q > U+0642
+p p > U+06A8 U+0651 ;;SHADDA
+p > U+06A8 ;Old malay
+CO n CO n > U+06B1 U+0651 ;;SHADDA
+CO n > U+06B1
+C n C n > U+06BD U+0651 ;;SHADDA
+C n > U+06BD ; <<< ArabTeX yields nūn with three dots below, which is not in Unicode!
+P n P n > U+06BA U+0651 ;;SHADDA
+P n > U+06BA ; urdu
+V n V n > U+06BC U+0651 ;;SHADDA
+V n > U+06BC ; Pashto
+n n > U+0646 U+0651 ;;SHADDA
+n > U+0646
+m m > U+0645 U+0651 ;;SHADDA
+m > U+0645
+P l P l > U+06B6 U+0651 ;
+P l > U+06B6 ; ADDED <<<
+C l C l > U+06B5 U+0651 ;;SHADDA
+C l > U+06B5 ;kurdish
+l l > U+0644 U+0651 ;;SHADDA
+l > U+0644
+P k P k > U+06A9 U+0651 ;;SHADDA
+P k > U+06A9 ; pashto urdu
+UL k UL k > U+063A U+0651 ;;SHADDA
+UL k > U+063A
+k k > U+0643 U+0651 ;;SHADDA
+k > U+0643
+C g C g > U+06A0 U+0651 ;;SHADDA
+C g > U+06A0
+CO j CO j > U+0684 U+0651 ;;SHADDA
+CO j > U+0684
+j j > U+062C U+0651 ;;SHADDA
+j > U+062C
+Q I > U+064A
+I > U+0650 U+064A
+C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya
+UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ###
+Q i N? > ;
+i N > U+064D
+i > U+0650
+x x > U+062E U+0651 ;;SHADDA
+x > U+062E
+UL h UL h > U+062E U+0651 ;;SHADDA
+UL h > U+062E
+(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA
+(P h|U+1E25) > U+062D
+V h V h > U+06C1 U+0651 ;;SHADDA
+V h > U+06C1
+h h > U+0647 U+0651 ;;SHADDA
+h > U+0647
+CO g CO g > U+06B3 U+0651 ;;SHADDA
+CO g > U+06B3
+V g V g > U+06AC U+0651 ;;SHADDA
+V g > U+06AC ; kaf with dot above
+P g P g > U+063A U+0651 ;;SHADDA
+P g > U+063A
+g g > U+0762 U+0651 ;;SHADDA
+g > U+0762
+G G > U+06AB U+0651 ;;SHADDA
+G > U+06AB ;pashto
+P f P f > U+06A1 U+0651 ;;SHADDA
+P f > U+06A1
+f f > U+0641 U+0651 ;;SHADDA
+f > U+0641
+V d V d > U+068A U+0651 ;;SHADDA
+V d > U+068A
+P V d P V d > U+068B U+0651 ;;SHADDA
+P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi)
+C d C d > U+06EE U+0651 ;;SHADDA
+C d > U+06EE ; not defined in ArabTeX
+CO d CO d > U+068F U+0651 ;;SHADDA
+CO d > U+068F
+UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA
+UL (d|z) > U+0630
+(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA
+(P d|U+1E0D) > U+0636
+d d > U+062F U+0651 ;;SHADDA
+d > U+062F
+V c V c > U+0685 U+0651 ;;SHADDA
+V c > U+0685 ;pashto
+C c C c > U+0686 U+0651 ;;SHADDA
+C c > U+0686
+P C c P C c > U+06BF U+0651 ;;SHADDA
+P C c > U+06BF ;; cheh with dot above <<<
+c c > U+0686 U+0651 ;;SHADDA
+c > U+0686
+CO c CO c > U+0682 U+0651 ;;SHADDA
+CO c > U+0682 ; old pashto
+CO b CO b > U+067B U+0651 ;;SHADDA
+CO b > U+067B
+P b P b > U+066E U+0651 ;;SHADDA
+P b > U+066E
+b b > U+0628 U+0651 ;;SHADDA
+b > U+0628
+H A > U+0622
+C A > U+064E U+0622 ; historical spelling
+UL A > U+064E U+0649
+UL a > U+0670
+UL u > U+064F;
+UL i > U+0650;
+Q AN / (A H|Ha) _ > ;
+AN / (A H|Ha) _ > U+064B
+Q AN > U+0627
+AN > U+0627 U+064B
+Q a >
+a > U+064E
+Q A > U+0627
+A > U+064E U+0627
+Ain Ain > U+0639 U+0651 ;;SHADDA
+Ain > U+0639
+H H > U+0621 U+0651 ;;SHADDA
+H > U+0621
+U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma
+Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash
+(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks
+[Digits] > [ArDigits]
+Z Z Z / # _ # > U+2014
+Z Z / # _ # > U+2013
+Z Z > U+0640
+B > U+0640
+Z / # _ > U+200D ; -x > force initial form with "zero-width joiner"
+Z / _ # > U+200D ; x- > force final form
+U+003C U+003C > U+00BB ;<<
+U+003E U+003E > U+00AB ;>>
+U+00AB > U+00BB
+U+00BB > U+00AB
+UL > U+0640 ;_
+U+003F > U+061F ;?
+U+003B > U+061B ;;
+U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above...
+U+002C > U+060C ;,
+U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ...
+U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual
+ ; analysis, so quoting of hamzas etc may be necessary
+;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules
+;U+005B > U+005D ;[
+Q [VWL] > ;stripoff quoted vowels
+Q > U+0652
+U+00B0 > U+0652 ; °
+N > ;
+C > ;^
+BAR > ;|
+
+pass(Unicode)
+
+Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-)
+Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc.
+Class [VWL] = (U+0627 U+0648..U+0650 U+0670);
+Z > ;
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-novoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-novoc.map
new file mode 100644
index 00000000000..027f959c45f
--- /dev/null
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-novoc.map
@@ -0,0 +1,465 @@
+LHSName "ArabTeX-novowels"
+RHSName "UNICODE"
+
+Define a U+0061 ;a
+Define b U+0062 ;b
+Define c U+0063 ;c
+Define d U+0064 ;d
+Define e U+0065 ;e
+Define f U+0066 ;f
+Define g U+0067 ;g
+Define h U+0068 ;h
+Define i U+0069 ;i
+Define j U+006A ;j
+Define k U+006B ;k
+Define l U+006C ;l
+Define m U+006D ;m
+Define n U+006E ;n
+Define o U+006F ;o
+Define p U+0070 ;p
+Define q U+0071 ;q
+Define r U+0072 ;r
+Define s U+0073 ;s
+Define t U+0074 ;t
+Define u U+0075 ;u
+Define v U+0076 ;v
+Define w U+0077 ;w
+Define x U+0078 ;x
+Define y U+0079 ;y
+Define z U+007A ;z
+Define A U+0041 ;A
+Define B U+0042 ;B
+Define E U+0045 ;E
+Define G U+0047 ;G
+Define I U+0049 ;I
+Define N U+004E ;N
+Define O U+004F ;O
+Define T U+0054 ;T
+Define U U+0055 ;U
+Define W U+0057 ;W
+Define Y U+0059 ;Y
+Define C U+005E ;^ << CARET
+Define UL U+005F ;_ << UNDERLINE
+Define P U+002E ;. << DOT
+Define V U+002C ;, << COMMA (_V_irgule)
+Define CO U+003A ;: << COLON
+Define SC U+003B ;; << SEMICOLON
+Define Ain U+0060 ;`
+Define H U+0027 ;' << HAMZA
+Define Q U+0022 ;" << QUOTE
+Define Z U+002D ;- << HYPHEN
+Define BAR U+007C ;|
+Define AN U+0061 U+004E ; aN
+Define LLAH U+006C U+006C U+005F U+0061 U+0068
+;Define NUL U+00A6;
+Define Ha U+0623
+Define Hi U+0625
+Define Hy U+0626
+Define Hw U+0624
+Define Hh U+06C0 ;; = U+0647 U+0654
+Define HA U+0622
+Define HB U+0640 U+0654
+Define HBAR U+0621 ; '|
+
+pass(Unicode)
+
+U+E000 > ; eliminate special code for capitalization in transliterations
+
+pass(Unicode)
+
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [AVWL] = (U+064B..U+0650);
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" `
+Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ”
+Class [PUNCT] = (V SC P CO)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u)
+;Class [ae] = (U+0061 U+0065) ;(a e)
+;Class [ou] = (U+0075 U+006F) ;(u o)
+Class [Iyi] = (U+0069 U+0079 U+0049)
+Class [UI] = (U+0049 U+0055) ; U I
+Class [Digits] = (U+0030..U+0039)
+
+Define BEG (#|Z|[BRACKETS])
+Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #)
+Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z)
+
+; special ligatures
+;; 1. Standard ArabTeX input
+;; WARNING! there are, alas, two classes of Arabic fonts:
+;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2
+;; For these the ligature llah can be accessed by the sequence lam-lam-ha
+;; b) Those that do not have the initial alif in U+FDF2
+;; The BAR is used in the DMG transliteration to suppress the initial A
+(a|A) BAR? l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah'
+LLAH > U+FDF2 ;; 'll_ah' > U+FDF2
+;; UPPERCASE mnemonics for various ligatures or special glyphs
+;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode
+U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h'
+U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic
+;; 2b. Ligatures and glyphs defined in Unicode:
+ U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH'
+ U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH'
+
+U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam
+U+0028 U+0028 > U+FD3F ;; '((' : ornate right par
+U+0029 U+0029 > U+FD3E ;; '))' : ornate left par
+U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign
+;; most fonts won't have the following ones:
+U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign)
+U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign
+U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR'
+U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD'
+U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM'
+U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL')
+U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE')
+U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM'
+U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA'
+U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu"
+U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik
+
+U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY
+U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY
+U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM-
+U+005E U+004C U+0041 > U+06D9 ;; ^LA
+U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM
+U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS
+U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN
+U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB
+U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO
+U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO
+U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM
+U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM
+U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN
+U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA
+U+0057 U+0041 U+0057 > U+06E5 ;; WAW
+U+0059 U+0045 U+0048 > U+06E6 ;; YEH
+U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH
+U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN
+U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA
+U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP
+U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP
+U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP
+U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM
+
+U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::")
+
+;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts
+U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]]
+
+
+; vowels
+u u > U
+i i > I
+a a > A
+[AVWL] > ; strip off vowels when writing UTF-8 Arabic with novoc mode
+CO O > U+06FC ;
+a e > a y
+a o > a w
+CO U > U+06C7 ;
+e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish)
+o > u
+E > I
+O > U
+
+
+
+;; initial characters ...
+a l Z / BEG _ > U+0627 l Z
+H l Z / BEG _ > U+0627 l Z
+;; wasla on initial alif : NEW! NOT TESTED!
+H / BEG _ l l > U+0627 ;
+[VWL]=v1 / BEG _ > A @v1
+A / BEG _ > A a
+Q?=q1 U / BEG _ > A @q1 u w ; -U
+; Q?=q1 I / BEG _ > A @q1 i y ; -I ; but not when I is final FIXME!!!
+Q?=q1 I / BEG _ > A @q1 i y ; except for Persian, coz of ezafe rules
+
+
+;; Words with anomalous orthography:
+
+; mi'aT -> ماية
+;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy
+m Q i H Q a / _ (T|t) > m Q i A Hy Q a
+m Q i H a / _ (T|t) > m Q i A Hy
+m i H Q a / _ (T|t) > m A Hy Q a
+m i H a / _ (T|t) > m A Hy
+
+
+;; contextual analysis of hamzas
+;; THESE DO NOT APPLY FOR SINDHI
+
+; initial hamzas
+H / (#|^[LTR]) _ Q? [Iyi] > Hi
+H Q A / (#|^[LTR]) _ > HA ; alif madda
+H / (#|^[LTR]) _ Q? [Uwu] > Ha
+H / (#|^[LTR]) _ Q? a > Ha
+Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word
+
+; quoted hamzas in contextual mode, equivalent to verbatim mode
+a Q H > Ha
+i Q H > Hi
+y Q H > Hy
+w Q H > Hw
+h Q H > Hh
+A Q H > HA
+B Q H > HB
+BAR Q H > HBAR
+
+; hamza + fathatan
+H / a _ Q? AN > Ha
+;;H / [Iyi] _ Q? AN > Hy
+H / _ Q? AN > Hy
+
+;final hamzas
+H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ...
+H / a _ Q? (#|^[LTR]) > Ha ; not AN...
+H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN...
+H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy
+H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw
+
+;;and more hamzas ...
+
+; n°1: kasra/ya
+H / [LTR] _ Q? [Iyi] ^N > Hy
+H / [Iyi] _ > Hy
+
+; n°2: damma/waw
+H / [LTR] _ Q? (U|u) ^N > Hw
+H / (U|u) _ Q? ^[Iyi] > Hw
+H / U _ > HBAR
+
+; n°3: fatha/alif
+H Q? A > HA
+H / A _ Q? a > HBAR
+H / ^[UI] _ Q? a > Ha
+H / a _ Q? ^[UI] > Ha
+
+
+pass(Unicode)
+
+Class [Digits] = (U+0030..U+0039)
+Class [ArDigits] = (U+0660..U+0669)
+Class [ArEasternDigits] = (U+06F0..U+06F9)
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+
+
+
+
+;normal code
+
+
+(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA
+(P z|U+1E93) > U+0638
+C z C z > U+0698 U+0651 ;;SHADDA
+C z > U+0698
+V z V z > U+0696 U+0651 ;;SHADDA
+V z > U+0696 ;pashto
+z z > U+0632 U+0651 ;;SHADDA
+z > U+0632
+Y Y > U+0649 U+0651 ;;SHADDA
+Y > U+0649
+P I P I / _ # > U+06CC U+0651 ;; SHADDA
+P I / _ # > U+06CC ;; workaround to have ya without dots in Arabic
+y y > U+064A U+0651 ;;SHADDA
+y > U+064A
+v v > U+06A4 U+0651 ;;SHADDA
+v > U+06A4
+W > U+0648 U+0627 ; waw + alif
+C U > U+064F U+0648 U+0653; historical spelling : madda on waw
+Q U [Uw] > U+064F U+0648 U+0651 ;;SHADDA
+Q U > U+064F U+0648
+[Uw] [Uw] > U+0648 U+0651 ;;SHADDA
+[Uw] > U+0648
+C w C w > U+06C9 U+0651 ;;SHADDA
+C w > U+06C9
+CO w CO w > U+06CA U+0651 ;,SHADDA
+CO w > U+06CA
+Q u N > U+064C
+u N >
+Q u > U+064F
+V t V t > U+0679 U+0651 ;;SHADDA
+V t > U+0679 ;urdu
+UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA
+UL (t|s) > U+062B
+(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA
+(P t|U+1E6D) > U+0637
+t t > U+062A U+0651 ;;SHADDA
+t > U+062A
+T T Q AN > U+0629 U+0651 U+064B ;;SHADDA
+T Q AN > U+0629 U+064B
+T AN > U+0629
+T T > U+0629 U+0651 ;;SHADDA
+T > U+0629
+C s C s > U+0634 U+0651 ;;SHADDA
+C s > U+0634
+(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA
+(P s|U+1E63) > U+0635
+V s V s > U+069A U+0651 ;;SHADDA
+V s > U+069A ;Pashto
+CO s CO s > U+069B U+0651 ;;SHADDA
+CO s > U+069B ; sin with 3 dots below
+s s > U+0633 U+0651 ;;SHADDA
+s > U+0633
+C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<<
+C r > U+06EF
+CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<<
+CO r > U+0697 ; Dargwa language, Dagestan
+P r P r > U+0694 U+0651 ;;SHADDA
+P r > U+0694 ; r with dot below; in Kurdish .r -> 0694
+V r V r > U+0691 U+0651 ;;SHADDA
+V r > U+0691 ;Urdu
+r r > U+0631 U+0651 ;;SHADDA
+r > U+0631
+P q P q > U+066F U+0651 ;;SHADDA
+P q > U+066F
+q q > U+0642 U+0651 ;;SHADDA
+q > U+0642
+p p > U+067E U+0651 ;;SHADDA
+p > U+067E
+CO n CO n > U+06B1 U+0651 ;;SHADDA
+CO n > U+06B1
+C n C n > U+06AD U+0651 ;;SHADDA
+C n > U+06AD
+P n P n > U+06BA U+0651 ;;SHADDA
+P n > U+06BA ; urdu
+V n V n > U+06BC U+0651 ;;SHADDA
+V n > U+06BC ; Pashto
+n n > U+0646 U+0651 ;;SHADDA
+n > U+0646
+m m > U+0645 U+0651 ;;SHADDA
+m > U+0645
+P l P l > U+06B6 U+0651 ;
+P l > U+06B6 ; ADDED <<<
+C l C l > U+06B5 U+0651 ;;SHADDA
+C l > U+06B5 ;kurdish
+l l > U+0644 U+0651 ;;SHADDA
+l > U+0644
+P k P k > U+06A9 U+0651 ;;SHADDA
+P k > U+06A9 ; pashto urdu
+UL k UL k > U+063A U+0651 ;;SHADDA
+UL k > U+063A
+k k > U+0643 U+0651 ;;SHADDA
+k > U+0643
+C g C g > U+062C U+0651 ;;SHADDA
+C g > U+062C
+CO j CO j > U+0684 U+0651 ;;SHADDA
+CO j > U+0684
+j j > U+062C U+0651 ;;SHADDA
+j > U+062C
+Q I > U+0650 U+064A
+C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya
+UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ###
+I > U+064A
+Q i N > U+064D
+i N > ;
+Q i > U+0650
+x x > U+062E U+0651 ;;SHADDA
+x > U+062E
+UL h UL h > U+062E U+0651 ;;SHADDA
+UL h > U+062E
+(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA
+(P h|U+1E25) > U+062D
+V h V h > U+06C1 U+0651 ;;SHADDA
+V h > U+06C1
+h h > U+0647 U+0651 ;;SHADDA
+h > U+0647
+CO g CO g > U+06B3 U+0651 ;;SHADDA
+CO g > U+06B3
+V g V g > U+06AC U+0651 ;;SHADDA
+V g > U+06AC ; kaf with dot above
+P g P g > U+063A U+0651 ;;SHADDA
+P g > U+063A
+g g > U+06AF U+0651 ;;SHADDA
+g > U+06AF
+G G > U+06AB U+0651 ;;SHADDA
+G > U+06AB ;pashto
+P f P f > U+06A1 U+0651 ;;SHADDA
+P f > U+06A1
+f f > U+0641 U+0651 ;;SHADDA
+f > U+0641
+V d V d > U+068A U+0651 ;;SHADDA
+V d > U+068A
+P V d P V d > U+068B U+0651 ;;SHADDA
+P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi)
+C d C d > U+06EE U+0651 ;;SHADDA
+C d > U+06EE ; not defined in ArabTeX
+CO d CO d > U+068F U+0651 ;;SHADDA
+CO d > U+068F
+UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA
+UL (d|z) > U+0630
+(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA
+(P d|U+1E0D) > U+0636
+d d > U+062F U+0651 ;;SHADDA
+d > U+062F
+V c V c > U+0685 U+0651 ;;SHADDA
+V c > U+0685 ;pashto
+C c C c > U+0686 U+0651 ;;SHADDA
+C c > U+0686
+P C c P C c > U+06BF U+0651 ;;SHADDA
+P C c > U+06BF ;; cheh with dot above <<<
+c c > U+0681 U+0651 ;;SHADDA
+c > U+0681 ; ح with hamza above
+CO c CO c > U+0682 U+0651 ;;SHADDA
+CO c > U+0682 ; old pashto
+CO b CO b > U+067B U+0651 ;;SHADDA
+CO b > U+067B
+P b P b > U+066E U+0651 ;;SHADDA
+P b > U+066E
+b b > U+0628 U+0651 ;;SHADDA
+b > U+0628
+H A > U+0622
+C A > U+064E U+0622 ; historical spelling
+UL A > U+0649
+UL a > U+0670
+UL u > U+0657 ; inverted damma
+UL i > U+0656 ; subscript alif
+Q AN / (A H|Ha) _ > U+064B
+AN / (A H|Ha) _ > ;
+Q AN > U+0627 U+064B
+AN > U+0627
+Q a > U+064E
+Q A > U+064E U+0627
+A > U+0627
+Ain Ain > U+0639 U+0651 ;;SHADDA
+Ain > U+0639
+H H > U+0621 U+0651 ;;SHADDA
+H > U+0621
+U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma
+Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash
+(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks
+[Digits] > [ArDigits]
+Z Z Z / # _ # > U+2014
+Z Z / # _ # > U+2013
+Z Z > U+0640
+B > U+0640
+Z / # _ > U+200D ; -x > force initial form with "zero-width joiner"
+Z / _ # > U+200D ; x- > force final form
+U+003C U+003C > U+00BB ;<<
+U+003E U+003E > U+00AB ;>>
+U+00AB > U+00BB
+U+00BB > U+00AB
+UL > U+0640 ;_
+U+003F > U+061F ;?
+U+003B > U+061B ;;
+U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above...
+U+002C > U+060C ;,
+U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ...
+U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual
+ ; analysis, so quoting of hamzas etc may be necessary
+;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules
+;U+005B > U+005D ;[
+[VWL] > ;stripoff vowels
+Q > U+0652
+U+00B0 > U+0652 ; °
+N > ;
+C > ;^
+Z > ;-
+BAR > ;|
+
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-novoc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-novoc.tec
index 9044e5be017..ba62340d6b3 100644
--- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-novoc.tec
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-novoc.tec
Binary files differ
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-pashto-fullvoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-pashto-fullvoc.map
new file mode 100644
index 00000000000..0b1057d5908
--- /dev/null
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-pashto-fullvoc.map
@@ -0,0 +1,491 @@
+LHSName "ArabTeX-pashto-fullvocalized"
+RHSName "UNICODE"
+
+Define a U+0061 ;a
+Define b U+0062 ;b
+Define c U+0063 ;c
+Define d U+0064 ;d
+Define e U+0065 ;e
+Define f U+0066 ;f
+Define g U+0067 ;g
+Define h U+0068 ;h
+Define i U+0069 ;i
+Define j U+006A ;j
+Define k U+006B ;k
+Define l U+006C ;l
+Define m U+006D ;m
+Define n U+006E ;n
+Define o U+006F ;o
+Define p U+0070 ;p
+Define q U+0071 ;q
+Define r U+0072 ;r
+Define s U+0073 ;s
+Define t U+0074 ;t
+Define u U+0075 ;u
+Define v U+0076 ;v
+Define w U+0077 ;w
+Define x U+0078 ;x
+Define y U+0079 ;y
+Define z U+007A ;z
+Define A U+0041 ;A
+Define B U+0042 ;B
+Define E U+0045 ;E
+Define G U+0047 ;G
+Define I U+0049 ;I
+Define N U+004E ;N
+Define O U+004F ;O
+Define T U+0054 ;T
+Define U U+0055 ;U
+Define W U+0057 ;W
+Define Y U+0059 ;Y
+Define C U+005E ;^ << CARET
+Define UL U+005F ;_ << UNDERLINE
+Define P U+002E ;. << DOT
+Define V U+002C ;, << COMMA (_V_irgule)
+Define CO U+003A ;: << COLON
+Define SC U+003B ;; << SEMICOLON
+Define Ain U+0060 ;`
+Define H U+0027 ;' << HAMZA
+Define Q U+0022 ;" << QUOTE
+Define Z U+002D ;- << HYPHEN
+Define BAR U+007C ;|
+Define AN U+0061 U+004E ; aN
+Define LLAH U+006C U+006C U+005F U+0061 U+0068
+;Define NUL U+00A6;
+Define Ha U+0623
+Define Hi U+0625
+Define Hy U+0626
+Define Hw U+0624
+Define Hh U+06C0 ;; = U+0647 U+0654
+Define HA U+0622
+Define HB U+0640 U+0654
+Define HBAR U+0621 ; '|
+
+pass(Unicode)
+
+U+E000 > ; eliminate special code for capitalization in transliterations
+
+pass(Unicode)
+
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [AVWL] = (U+064B..U+0650);
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" `
+Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ”
+Class [PUNCT] = (V SC P CO)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u)
+;Class [ae] = (U+0061 U+0065) ;(a e)
+;Class [ou] = (U+0075 U+006F) ;(u o)
+Class [Iyi] = (U+0069 U+0079 U+0049)
+Class [UI] = (U+0049 U+0055) ; U I
+Class [Digits] = (U+0030..U+0039)
+
+Define BEG (#|Z|[BRACKETS])
+Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #)
+Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z)
+
+; special ligatures
+;; 1. Standard ArabTeX input
+;; WARNING! there are, alas, two classes of Arabic fonts:
+;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2
+;; For these the ligature llah can be accessed by the sequence lam-lam-ha
+;; b) Those that do not have the initial alif in U+FDF2
+;; The BAR is used in the DMG transliteration to suppress the initial A
+(a|A) BAR? l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah'
+LLAH > U+FDF2 ;; 'll_ah' > U+FDF2
+;; UPPERCASE mnemonics for various ligatures or special glyphs
+;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode
+U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h'
+U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic
+;; 2b. Ligatures and glyphs defined in Unicode:
+ U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH'
+ U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH'
+
+U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam
+U+0028 U+0028 > U+FD3F ;; '((' : ornate right par
+U+0029 U+0029 > U+FD3E ;; '))' : ornate left par
+U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign
+;; most fonts won't have the following ones:
+U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign)
+U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign
+U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR'
+U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD'
+U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM'
+U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL')
+U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE')
+U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM'
+U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA'
+U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu"
+U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik
+
+U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY
+U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY
+U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM-
+U+005E U+004C U+0041 > U+06D9 ;; ^LA
+U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM
+U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS
+U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN
+U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB
+U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO
+U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO
+U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM
+U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM
+U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN
+U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA
+U+0057 U+0041 U+0057 > U+06E5 ;; WAW
+U+0059 U+0045 U+0048 > U+06E6 ;; YEH
+U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH
+U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN
+U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA
+U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP
+U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP
+U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP
+U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM
+
+U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::")
+
+;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts
+U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]]
+
+
+; vowels
+u u > U
+i i > I
+a a > A
+a e > a U+0626
+E e > U+0659 U+06CD
+e e > U+0659 U+0626
+E > U+0659 U+06D0
+CO O > U+06FC ;
+O > U+0657 w
+o > U+0657
+a o > a w
+CO U > U+06C7 ;
+e > U+0659
+I / _ # > i y
+
+
+;; Persian ezafe (ALL BUT ARABIC AND UIGHUR)
+U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<<
+U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I
+Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e
+Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I
+Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i
+Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i
+Z / U+0048 _ > U+0020 ;
+b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen
+
+;; initial characters ...
+a l Z / BEG _ > U+0627 l Z
+;; wasla on initial alif : NEW! NOT TESTED!
+H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI
+[VWL]=v1 / BEG _ > U+0627 @v1
+Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U
+; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I
+Q?=q1 I / BEG _ > U+0627 @q1 i y
+
+
+;; Words with anomalous orthography:
+
+; mi'aT -> ماية
+;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy
+m Q i H Q a / _ (T|t) > m U+0627 Hy
+m Q i H a / _ (T|t) > m U+0627 Hy a
+m i H Q a / _ (T|t) > m i U+0627 Hy
+m i H a / _ (T|t) > m i U+0627 Hy a
+
+
+;; contextual analysis of hamzas
+;; THESE DO NOT APPLY FOR SINDHI
+
+; initial hamzas
+H / (#|^[LTR]) _ Q? [Iyi] > Hi
+H Q A / (#|^[LTR]) _ > HA ; alif madda
+H / (#|^[LTR]) _ Q? [Uwu] > Ha
+H / (#|^[LTR]) _ Q? a > Ha
+Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word
+
+; quoted hamzas in contextual mode, equivalent to verbatim mode
+a Q H > Ha
+i Q H > Hi
+y Q H > Hy
+w Q H > Hw
+h Q H > Hh
+A Q H > HA
+B Q H > HB
+BAR Q H > HBAR
+
+; hamza + fathatan
+H / a _ Q? AN > Ha
+;;H / [Iyi] _ Q? AN > Hy
+H / _ Q? AN > Hy
+
+;final hamzas
+H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ...
+H / a _ Q? (#|^[LTR]) > Ha ; not AN...
+H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN...
+H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy
+H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw
+
+;;and more hamzas ...
+
+; n°1: kasra/ya
+H / [LTR] _ Q? [Iyi] ^N > Hy
+H / [Iyi] _ > Hy
+
+; n°2: damma/waw
+H / [LTR] _ Q? (U|u) ^N > Hw
+H / (U|u) _ Q? ^[Iyi] > Hw
+H / U _ > HBAR
+
+; n°3: fatha/alif
+H Q? A > HA
+H / A _ Q? a > HBAR
+H / ^[UI] _ Q? a > Ha
+H / a _ Q? ^[UI] > Ha
+
+
+pass(Unicode)
+
+Class [Digits] = (U+0030..U+0039)
+Class [ArDigits] = (U+0660..U+0669)
+Class [ArEasternDigits] = (U+06F0..U+06F9)
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+
+
+
+
+;normal code
+
+
+(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA
+(P z|U+1E93) > U+0638
+C z C z > U+0698 U+0651 ;;SHADDA
+C z > U+0698
+V z V z > U+0696 U+0651 ;;SHADDA
+V z > U+0696 ;pashto
+z z > U+0632 U+0651 ;;SHADDA
+z > U+0632
+Q Y Y > U+0649 U+0651 ;;SHADDA
+Q Y > U+0649
+Y Y > U+064E U+0649 U+0651 ;;SHADDA
+Y > U+064E U+0649
+;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots
+y y > U+06CC U+0651 ;;SHADDA
+y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots
+v v > U+06A4 U+0651 ;;SHADDA
+v > U+06A4
+W > U+0648 U+0627 ; waw + alif
+C U > U+064F U+0648 U+0653; historical spelling : madda on waw
+C w C w > U+06C9 U+0651 ;;SHADDA
+C w > U+06C9
+CO w CO w > U+06CA U+0651 ;,SHADDA
+CO w > U+06CA
+U A / _ # > U+064F U+0648 U+0627
+Q U [Uw] > U+0648 U+0651 ;;SHADDA
+Q U > U+0648
+U [Uw] > U+064F U+0648 U+0651 ;;SHADDA
+U > U+064F U+0648
+w w > U+0648 U+0651 ;;SHADDA
+w > U+0648
+Q u N? >
+u N > U+064C
+u > U+064F
+V t V t > U+067C U+0651 ;;SHADDA
+V t > U+067C ; pashto
+UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA
+UL (t|s) > U+062B
+(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA
+(P t|U+1E6D) > U+0637
+t t > U+062A U+0651 ;;SHADDA
+t > U+062A
+T T Q AN > U+0629 U+0651 ;;SHADDA
+T Q AN > U+0629
+T AN > U+0629 U+064B
+T T > U+0629 U+0651 ;;SHADDA
+T > U+0629
+C s C s > U+0634 U+0651 ;;SHADDA
+C s > U+0634
+(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA
+(P s|U+1E63) > U+0635
+V s V s > U+069A U+0651 ;;SHADDA
+V s > U+069A ;Pashto
+CO s CO s > U+069B U+0651 ;;SHADDA
+CO s > U+069B ; sin with 3 dots below
+s s > U+0633 U+0651 ;;SHADDA
+s > U+0633
+C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<<
+C r > U+06EF
+CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<<
+CO r > U+0697 ; Dargwa language, Dagestan
+P r P r > U+0694 U+0651 ;;SHADDA
+P r > U+0694 ; r with dot below; in Kurdish .r -> 0694
+V r V r > U+0693 U+0651 ;;SHADDA
+V r > U+0693 ;Pashto
+r r > U+0631 U+0651 ;;SHADDA
+r > U+0631
+P q P q > U+066F U+0651 ;;SHADDA
+P q > U+066F
+q q > U+0642 U+0651 ;;SHADDA
+q > U+0642
+p p > U+067E U+0651 ;;SHADDA
+p > U+067E
+CO n CO n > U+06B1 U+0651 ;;SHADDA
+CO n > U+06B1
+C n C n > U+06AD U+0651 ;;SHADDA
+C n > U+06AD
+P n P n > U+06BA U+0651 ;;SHADDA
+P n > U+06BA ; urdu
+V n V n > U+06BC U+0651 ;;SHADDA
+V n > U+06BC ; Pashto
+n n > U+0646 U+0651 ;;SHADDA
+n > U+0646
+m m > U+0645 U+0651 ;;SHADDA
+m > U+0645
+P l P l > U+06B6 U+0651 ;
+P l > U+06B6 ; ADDED <<<
+C l C l > U+06B5 U+0651 ;;SHADDA
+C l > U+06B5 ;kurdish
+l l > U+0644 U+0651 ;;SHADDA
+l > U+0644
+P k P k > U+06A9 U+0651 ;;SHADDA
+P k > U+06A9 ; pashto urdu
+UL k UL k > U+063A U+0651 ;;SHADDA
+UL k > U+063A
+k k > U+0643 U+0651 ;;SHADDA
+k > U+0643
+C g C g > U+062C U+0651 ;;SHADDA
+C g > U+062C
+CO j CO j > U+0684 U+0651 ;;SHADDA
+CO j > U+0684
+j j > U+062C U+0651 ;;SHADDA
+j > U+062C
+Q I > U+064A
+I > U+0650 U+064A
+C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya
+UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ###
+Q i N? > ;
+i N > U+064D
+i > U+0650
+x x > U+062E U+0651 ;;SHADDA
+x > U+062E
+U+0048 Z > U+0647 U+200C U+0020 ;eH-suffix > eH suffix
+U+0048 > U+0647 U+200C ; H is always heh final
+UL h UL h > U+062E U+0651 ;;SHADDA
+UL h > U+062E
+(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA
+(P h|U+1E25) > U+062D
+V h V h > U+06C1 U+0651 ;;SHADDA
+V h > U+06C1
+h h > U+0647 U+0651 ;;SHADDA
+h > U+0647
+CO g CO g > U+06B3 U+0651 ;;SHADDA
+CO g > U+06B3
+V g V g > U+06AC U+0651 ;;SHADDA
+V g > U+06AC ; kaf with dot above
+P g P g > U+063A U+0651 ;;SHADDA
+P g > U+063A
+g g > U+06AF U+0651 ;;SHADDA
+g > U+06AF
+G G > U+06AB U+0651 ;;SHADDA
+G > U+06AB ;pashto
+P f P f > U+06A1 U+0651 ;;SHADDA
+P f > U+06A1
+f f > U+0641 U+0651 ;;SHADDA
+f > U+0641
+V d V d > U+0689 U+0651 ;;SHADDA
+V d > U+0689 ;pashto
+P V d P V d > U+068B U+0651 ;;SHADDA
+P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi)
+C d C d > U+06EE U+0651 ;;SHADDA
+C d > U+06EE ; not defined in ArabTeX
+CO d CO d > U+068F U+0651 ;;SHADDA
+CO d > U+068F
+UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA
+UL (d|z) > U+0630
+(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA
+(P d|U+1E0D) > U+0636
+d d > U+062F U+0651 ;;SHADDA
+d > U+062F
+V c V c > U+0685 U+0651 ;;SHADDA
+V c > U+0685 ;pashto
+C c C c > U+0686 U+0651 ;;SHADDA
+C c > U+0686
+P C c P C c > U+06BF U+0651 ;;SHADDA
+P C c > U+06BF ;; cheh with dot above <<<
+c c > U+0681 U+0651 ;;SHADDA
+c > U+0681 ; ح with hamza above
+CO c CO c > U+0682 U+0651 ;;SHADDA
+CO c > U+0682 ; old pashto
+CO b CO b > U+067B U+0651 ;;SHADDA
+CO b > U+067B
+P b P b > U+066E U+0651 ;;SHADDA
+P b > U+066E
+b b > U+0628 U+0651 ;;SHADDA
+b > U+0628
+H A > U+0622
+C A > U+064E U+0622 ; historical spelling
+UL A > U+064E U+0649
+UL a > U+0670
+UL u > U+064F;
+UL i > U+0650;
+Q AN / (A H|Ha) _ > ;
+AN / (A H|Ha) _ > U+064B
+Q AN > U+0627
+AN > U+0627 U+064B
+Q a >
+a > U+064E
+Q A > U+0627
+A > U+064E U+0627
+Ain Ain > U+0639 U+0651 ;;SHADDA
+Ain > U+0639
+H H > U+0621 U+0651 ;;SHADDA
+H > U+0621
+U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma
+Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash
+(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks
+[Digits] > [ArEasternDigits]
+Z Z Z / # _ # > U+2014
+Z Z / # _ # > U+2013
+Z Z > U+0640
+B > U+0640
+Z / # _ > U+200D ; -x > force initial form with "zero-width joiner"
+Z / _ # > U+200D ; x- > force final form
+U+003C U+003C > U+00BB ;<<
+U+003E U+003E > U+00AB ;>>
+U+00AB > U+00BB
+U+00BB > U+00AB
+UL > U+0640 ;_
+U+003F > U+061F ;?
+U+003B > U+061B ;;
+U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above...
+U+002C > U+060C ;,
+U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ...
+U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual
+ ; analysis, so quoting of hamzas etc may be necessary
+;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules
+;U+005B > U+005D ;[
+Q [VWL] > ;stripoff quoted vowels
+U+00B0 > U+0652 ; °
+N > ;
+C > ;^
+BAR > ;|
+
+pass(Unicode)
+
+Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-)
+Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc.
+Class [VWL] = (U+0627 U+0648..U+0650 U+0670);
+[CONS]=k1 / _ Z? [CONS] ^U+0651 > @k1 U+0652 ; hack: 2nd consonant has no shadda
+U+064E (U+064A|U+0648)=hc / _ (^[VWLX]|#) > U+064E @hc U+0652 ; ay and aw diphtongs
+U+0627 / # _ U+0644 > U+0627 U+064E ; otherwise initial alif takes fatha
+[CONS]=k1 / _ ([CONS]|#) > @k1 U+0652 ; consonant + (consonant or final)
+;; [CONS]=k1 / _ # > @k1 U+0652 ; final consonant
+Q > ;
+Z > ;
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-pashto-novoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-pashto-novoc.map
new file mode 100644
index 00000000000..a3588c87c53
--- /dev/null
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-pashto-novoc.map
@@ -0,0 +1,476 @@
+LHSName "ArabTeX-pashto-novowels"
+RHSName "UNICODE"
+
+Define a U+0061 ;a
+Define b U+0062 ;b
+Define c U+0063 ;c
+Define d U+0064 ;d
+Define e U+0065 ;e
+Define f U+0066 ;f
+Define g U+0067 ;g
+Define h U+0068 ;h
+Define i U+0069 ;i
+Define j U+006A ;j
+Define k U+006B ;k
+Define l U+006C ;l
+Define m U+006D ;m
+Define n U+006E ;n
+Define o U+006F ;o
+Define p U+0070 ;p
+Define q U+0071 ;q
+Define r U+0072 ;r
+Define s U+0073 ;s
+Define t U+0074 ;t
+Define u U+0075 ;u
+Define v U+0076 ;v
+Define w U+0077 ;w
+Define x U+0078 ;x
+Define y U+0079 ;y
+Define z U+007A ;z
+Define A U+0041 ;A
+Define B U+0042 ;B
+Define E U+0045 ;E
+Define G U+0047 ;G
+Define I U+0049 ;I
+Define N U+004E ;N
+Define O U+004F ;O
+Define T U+0054 ;T
+Define U U+0055 ;U
+Define W U+0057 ;W
+Define Y U+0059 ;Y
+Define C U+005E ;^ << CARET
+Define UL U+005F ;_ << UNDERLINE
+Define P U+002E ;. << DOT
+Define V U+002C ;, << COMMA (_V_irgule)
+Define CO U+003A ;: << COLON
+Define SC U+003B ;; << SEMICOLON
+Define Ain U+0060 ;`
+Define H U+0027 ;' << HAMZA
+Define Q U+0022 ;" << QUOTE
+Define Z U+002D ;- << HYPHEN
+Define BAR U+007C ;|
+Define AN U+0061 U+004E ; aN
+Define LLAH U+006C U+006C U+005F U+0061 U+0068
+;Define NUL U+00A6;
+Define Ha U+0623
+Define Hi U+0625
+Define Hy U+0626
+Define Hw U+0624
+Define Hh U+06C0 ;; = U+0647 U+0654
+Define HA U+0622
+Define HB U+0640 U+0654
+Define HBAR U+0621 ; '|
+
+pass(Unicode)
+
+U+E000 > ; eliminate special code for capitalization in transliterations
+
+pass(Unicode)
+
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [AVWL] = (U+064B..U+0650);
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" `
+Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ”
+Class [PUNCT] = (V SC P CO)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u)
+;Class [ae] = (U+0061 U+0065) ;(a e)
+;Class [ou] = (U+0075 U+006F) ;(u o)
+Class [Iyi] = (U+0069 U+0079 U+0049)
+Class [UI] = (U+0049 U+0055) ; U I
+Class [Digits] = (U+0030..U+0039)
+
+Define BEG (#|Z|[BRACKETS])
+Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #)
+Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z)
+
+; special ligatures
+;; 1. Standard ArabTeX input
+;; WARNING! there are, alas, two classes of Arabic fonts:
+;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2
+;; For these the ligature llah can be accessed by the sequence lam-lam-ha
+;; b) Those that do not have the initial alif in U+FDF2
+;; The BAR is used in the DMG transliteration to suppress the initial A
+(a|A) BAR? l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah'
+LLAH > U+FDF2 ;; 'll_ah' > U+FDF2
+;; UPPERCASE mnemonics for various ligatures or special glyphs
+;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode
+U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h'
+U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic
+;; 2b. Ligatures and glyphs defined in Unicode:
+ U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH'
+ U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH'
+
+U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam
+U+0028 U+0028 > U+FD3F ;; '((' : ornate right par
+U+0029 U+0029 > U+FD3E ;; '))' : ornate left par
+U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign
+;; most fonts won't have the following ones:
+U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign)
+U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign
+U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR'
+U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD'
+U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM'
+U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL')
+U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE')
+U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM'
+U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA'
+U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu"
+U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik
+
+U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY
+U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY
+U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM-
+U+005E U+004C U+0041 > U+06D9 ;; ^LA
+U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM
+U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS
+U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN
+U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB
+U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO
+U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO
+U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM
+U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM
+U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN
+U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA
+U+0057 U+0041 U+0057 > U+06E5 ;; WAW
+U+0059 U+0045 U+0048 > U+06E6 ;; YEH
+U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH
+U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN
+U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA
+U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP
+U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP
+U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP
+U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM
+
+U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::")
+
+;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts
+U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]]
+
+
+; vowels
+u u > U
+i i > I
+a a > A
+[AVWL] > ; strip off vowels when writing UTF-8 Arabic with novoc mode
+a e > a U+0626
+E e > U+0659 U+06CD
+e e > U+0659 U+0626
+E > U+0659 U+06D0
+CO O > U+06FC ;
+O > U+0657 w
+o > U+0657
+a o > a w
+CO U > U+06C7 ;
+e > U+0659
+I / _ # > i y
+
+
+;; Persian ezafe (ALL BUT ARABIC AND UIGHUR)
+U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<<
+U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I
+Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e
+Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I
+Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i
+Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i
+Z / U+0048 _ > U+0020 ;
+b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen
+
+;; initial characters ...
+a l Z / BEG _ > U+0627 l Z
+;; wasla on initial alif : NEW! NOT TESTED!
+H / BEG _ l l > U+0627 ;
+[VWL]=v1 / BEG _ > A @v1
+Q?=q1 U / BEG _ > A @q1 u w ; -U
+; Q?=q1 I / BEG _ > A @q1 i y ; -I ; but not when I is final FIXME!!!
+Q?=q1 I / BEG _ > A @q1 i y ; except for Persian, coz of ezafe rules
+
+
+;; Words with anomalous orthography:
+
+; mi'aT -> ماية
+;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy
+m Q i H Q a / _ (T|t) > m Q i A Hy Q a
+m Q i H a / _ (T|t) > m Q i A Hy
+m i H Q a / _ (T|t) > m A Hy Q a
+m i H a / _ (T|t) > m A Hy
+
+
+;; contextual analysis of hamzas
+;; THESE DO NOT APPLY FOR SINDHI
+
+; initial hamzas
+H / (#|^[LTR]) _ Q? [Iyi] > Hi
+H Q A / (#|^[LTR]) _ > HA ; alif madda
+H / (#|^[LTR]) _ Q? [Uwu] > Ha
+H / (#|^[LTR]) _ Q? a > Ha
+Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word
+
+; quoted hamzas in contextual mode, equivalent to verbatim mode
+a Q H > Ha
+i Q H > Hi
+y Q H > Hy
+w Q H > Hw
+h Q H > Hh
+A Q H > HA
+B Q H > HB
+BAR Q H > HBAR
+
+; hamza + fathatan
+H / a _ Q? AN > Ha
+;;H / [Iyi] _ Q? AN > Hy
+H / _ Q? AN > Hy
+
+;final hamzas
+H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ...
+H / a _ Q? (#|^[LTR]) > Ha ; not AN...
+H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN...
+H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy
+H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw
+
+;;and more hamzas ...
+
+; n°1: kasra/ya
+H / [LTR] _ Q? [Iyi] ^N > Hy
+H / [Iyi] _ > Hy
+
+; n°2: damma/waw
+H / [LTR] _ Q? (U|u) ^N > Hw
+H / (U|u) _ Q? ^[Iyi] > Hw
+H / U _ > HBAR
+
+; n°3: fatha/alif
+H Q? A > HA
+H / A _ Q? a > HBAR
+H / ^[UI] _ Q? a > Ha
+H / a _ Q? ^[UI] > Ha
+
+
+pass(Unicode)
+
+Class [Digits] = (U+0030..U+0039)
+Class [ArDigits] = (U+0660..U+0669)
+Class [ArEasternDigits] = (U+06F0..U+06F9)
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+
+
+
+
+;normal code
+
+
+(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA
+(P z|U+1E93) > U+0638
+C z C z > U+0698 U+0651 ;;SHADDA
+C z > U+0698
+V z V z > U+0696 U+0651 ;;SHADDA
+V z > U+0696 ;pashto
+z z > U+0632 U+0651 ;;SHADDA
+z > U+0632
+Y Y > U+0649 U+0651 ;;SHADDA
+Y > U+0649
+;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots
+y y > U+06CC U+0651 ;;SHADDA
+y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots
+v v > U+06A4 U+0651 ;;SHADDA
+v > U+06A4
+W > U+0648 U+0627 ; waw + alif
+C U > U+064F U+0648 U+0653; historical spelling : madda on waw
+Q U [Uw] > U+064F U+0648 U+0651 ;;SHADDA
+Q U > U+064F U+0648
+[Uw] [Uw] > U+0648 U+0651 ;;SHADDA
+[Uw] > U+0648
+C w C w > U+06C9 U+0651 ;;SHADDA
+C w > U+06C9
+CO w CO w > U+06CA U+0651 ;,SHADDA
+CO w > U+06CA
+Q u N > U+064C
+u N >
+Q u > U+064F
+V t V t > U+067C U+0651 ;;SHADDA
+V t > U+067C ; pashto
+UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA
+UL (t|s) > U+062B
+(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA
+(P t|U+1E6D) > U+0637
+t t > U+062A U+0651 ;;SHADDA
+t > U+062A
+T T Q AN > U+0629 U+0651 U+064B ;;SHADDA
+T Q AN > U+0629 U+064B
+T AN > U+0629
+T T > U+0629 U+0651 ;;SHADDA
+T > U+0629
+C s C s > U+0634 U+0651 ;;SHADDA
+C s > U+0634
+(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA
+(P s|U+1E63) > U+0635
+V s V s > U+069A U+0651 ;;SHADDA
+V s > U+069A ;Pashto
+CO s CO s > U+069B U+0651 ;;SHADDA
+CO s > U+069B ; sin with 3 dots below
+s s > U+0633 U+0651 ;;SHADDA
+s > U+0633
+C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<<
+C r > U+06EF
+CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<<
+CO r > U+0697 ; Dargwa language, Dagestan
+P r P r > U+0694 U+0651 ;;SHADDA
+P r > U+0694 ; r with dot below; in Kurdish .r -> 0694
+V r V r > U+0693 U+0651 ;;SHADDA
+V r > U+0693 ;Pashto
+r r > U+0631 U+0651 ;;SHADDA
+r > U+0631
+P q P q > U+066F U+0651 ;;SHADDA
+P q > U+066F
+q q > U+0642 U+0651 ;;SHADDA
+q > U+0642
+p p > U+067E U+0651 ;;SHADDA
+p > U+067E
+CO n CO n > U+06B1 U+0651 ;;SHADDA
+CO n > U+06B1
+C n C n > U+06AD U+0651 ;;SHADDA
+C n > U+06AD
+P n P n > U+06BA U+0651 ;;SHADDA
+P n > U+06BA ; urdu
+V n V n > U+06BC U+0651 ;;SHADDA
+V n > U+06BC ; Pashto
+n n > U+0646 U+0651 ;;SHADDA
+n > U+0646
+m m > U+0645 U+0651 ;;SHADDA
+m > U+0645
+P l P l > U+06B6 U+0651 ;
+P l > U+06B6 ; ADDED <<<
+C l C l > U+06B5 U+0651 ;;SHADDA
+C l > U+06B5 ;kurdish
+l l > U+0644 U+0651 ;;SHADDA
+l > U+0644
+P k P k > U+06A9 U+0651 ;;SHADDA
+P k > U+06A9 ; pashto urdu
+UL k UL k > U+063A U+0651 ;;SHADDA
+UL k > U+063A
+k k > U+0643 U+0651 ;;SHADDA
+k > U+0643
+C g C g > U+062C U+0651 ;;SHADDA
+C g > U+062C
+CO j CO j > U+0684 U+0651 ;;SHADDA
+CO j > U+0684
+j j > U+062C U+0651 ;;SHADDA
+j > U+062C
+Q I > U+0650 U+064A
+C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya
+UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ###
+I > U+064A
+Q i N > U+064D
+i N > ;
+Q i > U+0650
+x x > U+062E U+0651 ;;SHADDA
+x > U+062E
+U+0048 Z > U+0647 U+200C U+0020 ;eH-suffix > eH suffix
+U+0048 > U+0647 U+200C ; H is always heh final
+UL h UL h > U+062E U+0651 ;;SHADDA
+UL h > U+062E
+(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA
+(P h|U+1E25) > U+062D
+V h V h > U+06C1 U+0651 ;;SHADDA
+V h > U+06C1
+h h > U+0647 U+0651 ;;SHADDA
+h > U+0647
+CO g CO g > U+06B3 U+0651 ;;SHADDA
+CO g > U+06B3
+V g V g > U+06AC U+0651 ;;SHADDA
+V g > U+06AC ; kaf with dot above
+P g P g > U+063A U+0651 ;;SHADDA
+P g > U+063A
+g g > U+06AF U+0651 ;;SHADDA
+g > U+06AF
+G G > U+06AB U+0651 ;;SHADDA
+G > U+06AB ;pashto
+P f P f > U+06A1 U+0651 ;;SHADDA
+P f > U+06A1
+f f > U+0641 U+0651 ;;SHADDA
+f > U+0641
+V d V d > U+0689 U+0651 ;;SHADDA
+V d > U+0689 ;pashto
+P V d P V d > U+068B U+0651 ;;SHADDA
+P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi)
+C d C d > U+06EE U+0651 ;;SHADDA
+C d > U+06EE ; not defined in ArabTeX
+CO d CO d > U+068F U+0651 ;;SHADDA
+CO d > U+068F
+UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA
+UL (d|z) > U+0630
+(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA
+(P d|U+1E0D) > U+0636
+d d > U+062F U+0651 ;;SHADDA
+d > U+062F
+V c V c > U+0685 U+0651 ;;SHADDA
+V c > U+0685 ;pashto
+C c C c > U+0686 U+0651 ;;SHADDA
+C c > U+0686
+P C c P C c > U+06BF U+0651 ;;SHADDA
+P C c > U+06BF ;; cheh with dot above <<<
+c c > U+0681 U+0651 ;;SHADDA
+c > U+0681 ; ح with hamza above
+CO c CO c > U+0682 U+0651 ;;SHADDA
+CO c > U+0682 ; old pashto
+CO b CO b > U+067B U+0651 ;;SHADDA
+CO b > U+067B
+P b P b > U+066E U+0651 ;;SHADDA
+P b > U+066E
+b b > U+0628 U+0651 ;;SHADDA
+b > U+0628
+H A > U+0622
+C A > U+064E U+0622 ; historical spelling
+UL A > U+0649
+UL a > U+0670
+UL u > ;
+UL i > ;
+Q AN / (A H|Ha) _ > U+064B
+AN / (A H|Ha) _ > ;
+Q AN > U+0627 U+064B
+AN > U+0627
+Q a > U+064E
+Q A > U+064E U+0627
+A > U+0627
+Ain Ain > U+0639 U+0651 ;;SHADDA
+Ain > U+0639
+H H > U+0621 U+0651 ;;SHADDA
+H > U+0621
+U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma
+Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash
+(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks
+[Digits] > [ArEasternDigits]
+Z Z Z / # _ # > U+2014
+Z Z / # _ # > U+2013
+Z Z > U+0640
+B > U+0640
+Z / # _ > U+200D ; -x > force initial form with "zero-width joiner"
+Z / _ # > U+200D ; x- > force final form
+U+003C U+003C > U+00BB ;<<
+U+003E U+003E > U+00AB ;>>
+U+00AB > U+00BB
+U+00BB > U+00AB
+UL > U+0640 ;_
+U+003F > U+061F ;?
+U+003B > U+061B ;;
+U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above...
+U+002C > U+060C ;,
+U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ...
+U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual
+ ; analysis, so quoting of hamzas etc may be necessary
+;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules
+;U+005B > U+005D ;[
+[VWL] > ;stripoff vowels
+Q > U+0652
+U+00B0 > U+0652 ; °
+N > ;
+C > ;^
+Z > ;-
+BAR > ;|
+
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-pashto-novoc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-pashto-novoc.tec
index bb6f98c2556..d05a8143417 100644
--- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-pashto-novoc.tec
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-pashto-novoc.tec
Binary files differ
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-pashto-voc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-pashto-voc.map
new file mode 100644
index 00000000000..e76a8ec86d1
--- /dev/null
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-pashto-voc.map
@@ -0,0 +1,486 @@
+LHSName "ArabTeX-pashto-vocalized"
+RHSName "UNICODE"
+
+Define a U+0061 ;a
+Define b U+0062 ;b
+Define c U+0063 ;c
+Define d U+0064 ;d
+Define e U+0065 ;e
+Define f U+0066 ;f
+Define g U+0067 ;g
+Define h U+0068 ;h
+Define i U+0069 ;i
+Define j U+006A ;j
+Define k U+006B ;k
+Define l U+006C ;l
+Define m U+006D ;m
+Define n U+006E ;n
+Define o U+006F ;o
+Define p U+0070 ;p
+Define q U+0071 ;q
+Define r U+0072 ;r
+Define s U+0073 ;s
+Define t U+0074 ;t
+Define u U+0075 ;u
+Define v U+0076 ;v
+Define w U+0077 ;w
+Define x U+0078 ;x
+Define y U+0079 ;y
+Define z U+007A ;z
+Define A U+0041 ;A
+Define B U+0042 ;B
+Define E U+0045 ;E
+Define G U+0047 ;G
+Define I U+0049 ;I
+Define N U+004E ;N
+Define O U+004F ;O
+Define T U+0054 ;T
+Define U U+0055 ;U
+Define W U+0057 ;W
+Define Y U+0059 ;Y
+Define C U+005E ;^ << CARET
+Define UL U+005F ;_ << UNDERLINE
+Define P U+002E ;. << DOT
+Define V U+002C ;, << COMMA (_V_irgule)
+Define CO U+003A ;: << COLON
+Define SC U+003B ;; << SEMICOLON
+Define Ain U+0060 ;`
+Define H U+0027 ;' << HAMZA
+Define Q U+0022 ;" << QUOTE
+Define Z U+002D ;- << HYPHEN
+Define BAR U+007C ;|
+Define AN U+0061 U+004E ; aN
+Define LLAH U+006C U+006C U+005F U+0061 U+0068
+;Define NUL U+00A6;
+Define Ha U+0623
+Define Hi U+0625
+Define Hy U+0626
+Define Hw U+0624
+Define Hh U+06C0 ;; = U+0647 U+0654
+Define HA U+0622
+Define HB U+0640 U+0654
+Define HBAR U+0621 ; '|
+
+pass(Unicode)
+
+U+E000 > ; eliminate special code for capitalization in transliterations
+
+pass(Unicode)
+
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [AVWL] = (U+064B..U+0650);
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" `
+Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ”
+Class [PUNCT] = (V SC P CO)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u)
+;Class [ae] = (U+0061 U+0065) ;(a e)
+;Class [ou] = (U+0075 U+006F) ;(u o)
+Class [Iyi] = (U+0069 U+0079 U+0049)
+Class [UI] = (U+0049 U+0055) ; U I
+Class [Digits] = (U+0030..U+0039)
+
+Define BEG (#|Z|[BRACKETS])
+Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #)
+Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z)
+
+; special ligatures
+;; 1. Standard ArabTeX input
+;; WARNING! there are, alas, two classes of Arabic fonts:
+;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2
+;; For these the ligature llah can be accessed by the sequence lam-lam-ha
+;; b) Those that do not have the initial alif in U+FDF2
+;; The BAR is used in the DMG transliteration to suppress the initial A
+(a|A) BAR? l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah'
+LLAH > U+FDF2 ;; 'll_ah' > U+FDF2
+;; UPPERCASE mnemonics for various ligatures or special glyphs
+;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode
+U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h'
+U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic
+;; 2b. Ligatures and glyphs defined in Unicode:
+ U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH'
+ U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH'
+
+U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam
+U+0028 U+0028 > U+FD3F ;; '((' : ornate right par
+U+0029 U+0029 > U+FD3E ;; '))' : ornate left par
+U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign
+;; most fonts won't have the following ones:
+U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign)
+U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign
+U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR'
+U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD'
+U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM'
+U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL')
+U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE')
+U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM'
+U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA'
+U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu"
+U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik
+
+U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY
+U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY
+U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM-
+U+005E U+004C U+0041 > U+06D9 ;; ^LA
+U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM
+U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS
+U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN
+U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB
+U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO
+U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO
+U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM
+U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM
+U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN
+U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA
+U+0057 U+0041 U+0057 > U+06E5 ;; WAW
+U+0059 U+0045 U+0048 > U+06E6 ;; YEH
+U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH
+U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN
+U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA
+U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP
+U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP
+U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP
+U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM
+
+U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::")
+
+;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts
+U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]]
+
+
+; vowels
+u u > U
+i i > I
+a a > A
+a e > a U+0626
+E e > U+0659 U+06CD
+e e > U+0659 U+0626
+E > U+0659 U+06D0
+CO O > U+06FC ;
+O > U+0657 w
+o > U+0657
+a o > a w
+CO U > U+06C7 ;
+e > U+0659
+I / _ # > i y
+
+
+;; Persian ezafe (ALL BUT ARABIC AND UIGHUR)
+U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<<
+U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I
+Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e
+Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I
+Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i
+Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i
+Z / U+0048 _ > U+0020 ;
+b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen
+
+;; initial characters ...
+a l Z / BEG _ > U+0627 l Z
+;; wasla on initial alif : NEW! NOT TESTED!
+H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI
+[VWL]=v1 / BEG _ > U+0627 @v1
+Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U
+; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I
+Q?=q1 I / BEG _ > U+0627 @q1 i y
+
+
+;; Words with anomalous orthography:
+
+; mi'aT -> ماية
+;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy
+m Q i H Q a / _ (T|t) > m U+0627 Hy
+m Q i H a / _ (T|t) > m U+0627 Hy a
+m i H Q a / _ (T|t) > m i U+0627 Hy
+m i H a / _ (T|t) > m i U+0627 Hy a
+
+
+;; contextual analysis of hamzas
+;; THESE DO NOT APPLY FOR SINDHI
+
+; initial hamzas
+H / (#|^[LTR]) _ Q? [Iyi] > Hi
+H Q A / (#|^[LTR]) _ > HA ; alif madda
+H / (#|^[LTR]) _ Q? [Uwu] > Ha
+H / (#|^[LTR]) _ Q? a > Ha
+Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word
+
+; quoted hamzas in contextual mode, equivalent to verbatim mode
+a Q H > Ha
+i Q H > Hi
+y Q H > Hy
+w Q H > Hw
+h Q H > Hh
+A Q H > HA
+B Q H > HB
+BAR Q H > HBAR
+
+; hamza + fathatan
+H / a _ Q? AN > Ha
+;;H / [Iyi] _ Q? AN > Hy
+H / _ Q? AN > Hy
+
+;final hamzas
+H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ...
+H / a _ Q? (#|^[LTR]) > Ha ; not AN...
+H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN...
+H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy
+H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw
+
+;;and more hamzas ...
+
+; n°1: kasra/ya
+H / [LTR] _ Q? [Iyi] ^N > Hy
+H / [Iyi] _ > Hy
+
+; n°2: damma/waw
+H / [LTR] _ Q? (U|u) ^N > Hw
+H / (U|u) _ Q? ^[Iyi] > Hw
+H / U _ > HBAR
+
+; n°3: fatha/alif
+H Q? A > HA
+H / A _ Q? a > HBAR
+H / ^[UI] _ Q? a > Ha
+H / a _ Q? ^[UI] > Ha
+
+
+pass(Unicode)
+
+Class [Digits] = (U+0030..U+0039)
+Class [ArDigits] = (U+0660..U+0669)
+Class [ArEasternDigits] = (U+06F0..U+06F9)
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+
+
+
+
+;normal code
+
+
+(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA
+(P z|U+1E93) > U+0638
+C z C z > U+0698 U+0651 ;;SHADDA
+C z > U+0698
+V z V z > U+0696 U+0651 ;;SHADDA
+V z > U+0696 ;pashto
+z z > U+0632 U+0651 ;;SHADDA
+z > U+0632
+Q Y Y > U+0649 U+0651 ;;SHADDA
+Q Y > U+0649
+Y Y > U+064E U+0649 U+0651 ;;SHADDA
+Y > U+064E U+0649
+;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots
+y y > U+06CC U+0651 ;;SHADDA
+y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots
+v v > U+06A4 U+0651 ;;SHADDA
+v > U+06A4
+W > U+0648 U+0627 ; waw + alif
+C U > U+064F U+0648 U+0653; historical spelling : madda on waw
+C w C w > U+06C9 U+0651 ;;SHADDA
+C w > U+06C9
+CO w CO w > U+06CA U+0651 ;,SHADDA
+CO w > U+06CA
+U A / _ # > U+064F U+0648 U+0627
+Q U [Uw] > U+0648 U+0651 ;;SHADDA
+Q U > U+0648
+U [Uw] > U+064F U+0648 U+0651 ;;SHADDA
+U > U+064F U+0648
+w w > U+0648 U+0651 ;;SHADDA
+w > U+0648
+Q u N? >
+u N > U+064C
+u > U+064F
+V t V t > U+067C U+0651 ;;SHADDA
+V t > U+067C ; pashto
+UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA
+UL (t|s) > U+062B
+(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA
+(P t|U+1E6D) > U+0637
+t t > U+062A U+0651 ;;SHADDA
+t > U+062A
+T T Q AN > U+0629 U+0651 ;;SHADDA
+T Q AN > U+0629
+T AN > U+0629 U+064B
+T T > U+0629 U+0651 ;;SHADDA
+T > U+0629
+C s C s > U+0634 U+0651 ;;SHADDA
+C s > U+0634
+(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA
+(P s|U+1E63) > U+0635
+V s V s > U+069A U+0651 ;;SHADDA
+V s > U+069A ;Pashto
+CO s CO s > U+069B U+0651 ;;SHADDA
+CO s > U+069B ; sin with 3 dots below
+s s > U+0633 U+0651 ;;SHADDA
+s > U+0633
+C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<<
+C r > U+06EF
+CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<<
+CO r > U+0697 ; Dargwa language, Dagestan
+P r P r > U+0694 U+0651 ;;SHADDA
+P r > U+0694 ; r with dot below; in Kurdish .r -> 0694
+V r V r > U+0693 U+0651 ;;SHADDA
+V r > U+0693 ;Pashto
+r r > U+0631 U+0651 ;;SHADDA
+r > U+0631
+P q P q > U+066F U+0651 ;;SHADDA
+P q > U+066F
+q q > U+0642 U+0651 ;;SHADDA
+q > U+0642
+p p > U+067E U+0651 ;;SHADDA
+p > U+067E
+CO n CO n > U+06B1 U+0651 ;;SHADDA
+CO n > U+06B1
+C n C n > U+06AD U+0651 ;;SHADDA
+C n > U+06AD
+P n P n > U+06BA U+0651 ;;SHADDA
+P n > U+06BA ; urdu
+V n V n > U+06BC U+0651 ;;SHADDA
+V n > U+06BC ; Pashto
+n n > U+0646 U+0651 ;;SHADDA
+n > U+0646
+m m > U+0645 U+0651 ;;SHADDA
+m > U+0645
+P l P l > U+06B6 U+0651 ;
+P l > U+06B6 ; ADDED <<<
+C l C l > U+06B5 U+0651 ;;SHADDA
+C l > U+06B5 ;kurdish
+l l > U+0644 U+0651 ;;SHADDA
+l > U+0644
+P k P k > U+06A9 U+0651 ;;SHADDA
+P k > U+06A9 ; pashto urdu
+UL k UL k > U+063A U+0651 ;;SHADDA
+UL k > U+063A
+k k > U+0643 U+0651 ;;SHADDA
+k > U+0643
+C g C g > U+062C U+0651 ;;SHADDA
+C g > U+062C
+CO j CO j > U+0684 U+0651 ;;SHADDA
+CO j > U+0684
+j j > U+062C U+0651 ;;SHADDA
+j > U+062C
+Q I > U+064A
+I > U+0650 U+064A
+C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya
+UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ###
+Q i N? > ;
+i N > U+064D
+i > U+0650
+x x > U+062E U+0651 ;;SHADDA
+x > U+062E
+U+0048 Z > U+0647 U+200C U+0020 ;eH-suffix > eH suffix
+U+0048 > U+0647 U+200C ; H is always heh final
+UL h UL h > U+062E U+0651 ;;SHADDA
+UL h > U+062E
+(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA
+(P h|U+1E25) > U+062D
+V h V h > U+06C1 U+0651 ;;SHADDA
+V h > U+06C1
+h h > U+0647 U+0651 ;;SHADDA
+h > U+0647
+CO g CO g > U+06B3 U+0651 ;;SHADDA
+CO g > U+06B3
+V g V g > U+06AC U+0651 ;;SHADDA
+V g > U+06AC ; kaf with dot above
+P g P g > U+063A U+0651 ;;SHADDA
+P g > U+063A
+g g > U+06AF U+0651 ;;SHADDA
+g > U+06AF
+G G > U+06AB U+0651 ;;SHADDA
+G > U+06AB ;pashto
+P f P f > U+06A1 U+0651 ;;SHADDA
+P f > U+06A1
+f f > U+0641 U+0651 ;;SHADDA
+f > U+0641
+V d V d > U+0689 U+0651 ;;SHADDA
+V d > U+0689 ;pashto
+P V d P V d > U+068B U+0651 ;;SHADDA
+P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi)
+C d C d > U+06EE U+0651 ;;SHADDA
+C d > U+06EE ; not defined in ArabTeX
+CO d CO d > U+068F U+0651 ;;SHADDA
+CO d > U+068F
+UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA
+UL (d|z) > U+0630
+(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA
+(P d|U+1E0D) > U+0636
+d d > U+062F U+0651 ;;SHADDA
+d > U+062F
+V c V c > U+0685 U+0651 ;;SHADDA
+V c > U+0685 ;pashto
+C c C c > U+0686 U+0651 ;;SHADDA
+C c > U+0686
+P C c P C c > U+06BF U+0651 ;;SHADDA
+P C c > U+06BF ;; cheh with dot above <<<
+c c > U+0681 U+0651 ;;SHADDA
+c > U+0681 ; ح with hamza above
+CO c CO c > U+0682 U+0651 ;;SHADDA
+CO c > U+0682 ; old pashto
+CO b CO b > U+067B U+0651 ;;SHADDA
+CO b > U+067B
+P b P b > U+066E U+0651 ;;SHADDA
+P b > U+066E
+b b > U+0628 U+0651 ;;SHADDA
+b > U+0628
+H A > U+0622
+C A > U+064E U+0622 ; historical spelling
+UL A > U+064E U+0649
+UL a > U+0670
+UL u > U+064F;
+UL i > U+0650;
+Q AN / (A H|Ha) _ > ;
+AN / (A H|Ha) _ > U+064B
+Q AN > U+0627
+AN > U+0627 U+064B
+Q a >
+a > U+064E
+Q A > U+0627
+A > U+064E U+0627
+Ain Ain > U+0639 U+0651 ;;SHADDA
+Ain > U+0639
+H H > U+0621 U+0651 ;;SHADDA
+H > U+0621
+U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma
+Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash
+(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks
+[Digits] > [ArEasternDigits]
+Z Z Z / # _ # > U+2014
+Z Z / # _ # > U+2013
+Z Z > U+0640
+B > U+0640
+Z / # _ > U+200D ; -x > force initial form with "zero-width joiner"
+Z / _ # > U+200D ; x- > force final form
+U+003C U+003C > U+00BB ;<<
+U+003E U+003E > U+00AB ;>>
+U+00AB > U+00BB
+U+00BB > U+00AB
+UL > U+0640 ;_
+U+003F > U+061F ;?
+U+003B > U+061B ;;
+U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above...
+U+002C > U+060C ;,
+U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ...
+U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual
+ ; analysis, so quoting of hamzas etc may be necessary
+;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules
+;U+005B > U+005D ;[
+Q [VWL] > ;stripoff quoted vowels
+Q > U+0652
+U+00B0 > U+0652 ; °
+N > ;
+C > ;^
+BAR > ;|
+
+pass(Unicode)
+
+Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-)
+Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc.
+Class [VWL] = (U+0627 U+0648..U+0650 U+0670);
+Z > ;
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-sindhi-fullvoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-sindhi-fullvoc.map
new file mode 100644
index 00000000000..8c9fbcc7722
--- /dev/null
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-sindhi-fullvoc.map
@@ -0,0 +1,461 @@
+LHSName "ArabTeX-sindhi-fullvocalized"
+RHSName "UNICODE"
+
+Define a U+0061 ;a
+Define b U+0062 ;b
+Define c U+0063 ;c
+Define d U+0064 ;d
+Define e U+0065 ;e
+Define f U+0066 ;f
+Define g U+0067 ;g
+Define h U+0068 ;h
+Define i U+0069 ;i
+Define j U+006A ;j
+Define k U+006B ;k
+Define l U+006C ;l
+Define m U+006D ;m
+Define n U+006E ;n
+Define o U+006F ;o
+Define p U+0070 ;p
+Define q U+0071 ;q
+Define r U+0072 ;r
+Define s U+0073 ;s
+Define t U+0074 ;t
+Define u U+0075 ;u
+Define v U+0076 ;v
+Define w U+0077 ;w
+Define x U+0078 ;x
+Define y U+0079 ;y
+Define z U+007A ;z
+Define A U+0041 ;A
+Define B U+0042 ;B
+Define E U+0045 ;E
+Define G U+0047 ;G
+Define I U+0049 ;I
+Define N U+004E ;N
+Define O U+004F ;O
+Define T U+0054 ;T
+Define U U+0055 ;U
+Define W U+0057 ;W
+Define Y U+0059 ;Y
+Define C U+005E ;^ << CARET
+Define UL U+005F ;_ << UNDERLINE
+Define P U+002E ;. << DOT
+Define V U+002C ;, << COMMA (_V_irgule)
+Define CO U+003A ;: << COLON
+Define SC U+003B ;; << SEMICOLON
+Define Ain U+0060 ;`
+Define H U+0027 ;' << HAMZA
+Define Q U+0022 ;" << QUOTE
+Define Z U+002D ;- << HYPHEN
+Define BAR U+007C ;|
+Define AN U+0061 U+004E ; aN
+Define LLAH U+006C U+006C U+005F U+0061 U+0068
+;Define NUL U+00A6;
+Define Ha U+0623
+Define Hi U+0625
+Define Hy U+0626
+Define Hw U+0624
+Define Hh U+06C0 ;; = U+0647 U+0654
+Define HA U+0622
+Define HB U+0640 U+0654
+Define HBAR U+0621 ; '|
+
+pass(Unicode)
+
+U+E000 > ; eliminate special code for capitalization in transliterations
+
+pass(Unicode)
+
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [AVWL] = (U+064B..U+0650);
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" `
+Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ”
+Class [PUNCT] = (V SC P CO)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u)
+;Class [ae] = (U+0061 U+0065) ;(a e)
+;Class [ou] = (U+0075 U+006F) ;(u o)
+Class [Iyi] = (U+0069 U+0079 U+0049)
+Class [UI] = (U+0049 U+0055) ; U I
+Class [Digits] = (U+0030..U+0039)
+
+Define BEG (#|Z|[BRACKETS])
+Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #)
+Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z)
+
+; special ligatures
+;; 1. Standard ArabTeX input
+;; WARNING! there are, alas, two classes of Arabic fonts:
+;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2
+;; For these the ligature llah can be accessed by the sequence lam-lam-ha
+;; b) Those that do not have the initial alif in U+FDF2
+;; The BAR is used in the DMG transliteration to suppress the initial A
+(a|A) BAR? l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah'
+LLAH > U+FDF2 ;; 'll_ah' > U+FDF2
+;; UPPERCASE mnemonics for various ligatures or special glyphs
+;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode
+U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h'
+U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic
+;; 2b. Ligatures and glyphs defined in Unicode:
+ U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH'
+ U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH'
+
+U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam
+U+0028 U+0028 > U+FD3F ;; '((' : ornate right par
+U+0029 U+0029 > U+FD3E ;; '))' : ornate left par
+U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign
+;; most fonts won't have the following ones:
+U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign)
+U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign
+U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR'
+U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD'
+U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM'
+U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL')
+U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE')
+U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM'
+U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA'
+U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu"
+U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik
+
+U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY
+U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY
+U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM-
+U+005E U+004C U+0041 > U+06D9 ;; ^LA
+U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM
+U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS
+U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN
+U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB
+U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO
+U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO
+U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM
+U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM
+U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN
+U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA
+U+0057 U+0041 U+0057 > U+06E5 ;; WAW
+U+0059 U+0045 U+0048 > U+06E6 ;; YEH
+U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH
+U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN
+U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA
+U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP
+U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP
+U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP
+U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM
+
+U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::")
+
+;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts
+U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]]
+
+
+; vowels
+u u > U
+i i > I
+a a > A
+CO O > U+06FC ;
+a e > a y
+a o > a w
+(o|u)? O / # _ > U+0627 w
+(o|u)? O > w
+CO U > U+06C7 ;
+e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish)
+o > u
+
+
+;; Persian ezafe (ALL BUT ARABIC AND UIGHUR)
+U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<<
+U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I
+Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e
+Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I
+Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i
+Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i
+Z / U+0048 _ > U+0020 ;
+b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen
+
+;; initial characters ...
+a l Z / BEG _ > U+0627 l Z
+;; wasla on initial alif : NEW! NOT TESTED!
+H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI
+[VWL]=v1 / BEG _ > U+0627 @v1
+Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U
+; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I
+Q?=q1 I / BEG _ > U+0627 @q1 i y
+
+
+;; Words with anomalous orthography:
+
+; mi'aT -> ماية
+;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy
+m Q i H Q a / _ (T|t) > m U+0627 Hy
+m Q i H a / _ (T|t) > m U+0627 Hy a
+m i H Q a / _ (T|t) > m i U+0627 Hy
+m i H a / _ (T|t) > m i U+0627 Hy a
+
+
+
+pass(Unicode)
+
+Class [Digits] = (U+0030..U+0039)
+Class [ArDigits] = (U+0660..U+0669)
+Class [ArEasternDigits] = (U+06F0..U+06F9)
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+
+
+
+
+;normal code
+
+;; special code for sindhi
+;; U+004D U+0049 U+004E > U+06FE ; define macro \MIN in sindhi env
+P m I N > U+06FE ; .mIN
+;; U+0049 U+004E > U+06FD ; IN define macro \IN in sindhi env
+H BAR I N > U+06FD ; '|IN
+
+(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA
+(P z|U+1E93) > U+0638
+C z C z > U+0698 U+0651 ;;SHADDA
+C z > U+0698
+V z V z > U+0696 U+0651 ;;SHADDA
+V z > U+0696 ;pashto
+z z > U+0632 U+0651 ;;SHADDA
+z > U+0632
+Q Y Y > U+0649 U+0651 ;;SHADDA
+Q Y > U+0649
+Y Y > U+064E U+0649 U+0651 ;;SHADDA
+Y > U+064E U+0649
+P I P I / _ # > U+0650 U+06CC U+0651 ;; SHADDA
+P I / _ # > U+0650 U+06CC ;; workaround to have ya without dots in Arabic
+y y > U+064A U+0651 ;;SHADDA
+y > U+064A
+v v > U+06A4 U+0651 ;;SHADDA
+v > U+06A4
+W > U+0648 U+0627 ; waw + alif
+C U > U+064F U+0648 U+0653; historical spelling : madda on waw
+C w C w > U+06C9 U+0651 ;;SHADDA
+C w > U+06C9
+CO w CO w > U+06CA U+0651 ;,SHADDA
+CO w > U+06CA
+U A / _ # > U+064F U+0648 U+0627
+Q U [Uw] > U+0648 U+0651 ;;SHADDA
+Q U > U+0648
+U [Uw] > U+064F U+0648 U+0651 ;;SHADDA
+U > U+064F U+0648
+w w > U+0648 U+0651 ;;SHADDA
+w > U+0648
+Q u N? >
+u N > U+064C
+u > U+064F
+V t h V t h > U+067A U+0651 ;;SHADDA
+V t h > U+067A
+t h t h > U+067F U+0651 ;;SHADDA
+t h > U+067F
+V t V t > U+067D U+0651 ;;SHADDA
+V t > U+067D
+UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA
+UL (t|s) > U+062B
+(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA
+(P t|U+1E6D) > U+0637
+t t > U+062A U+0651 ;;SHADDA
+t > U+062A
+T T Q AN > U+0629 U+0651 ;;SHADDA
+T Q AN > U+0629
+T AN > U+0629 U+064B
+T T > U+0629 U+0651 ;;SHADDA
+T > U+0629
+C s C s > U+0634 U+0651 ;;SHADDA
+C s > U+0634
+(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA
+(P s|U+1E63) > U+0635
+V s V s > U+069A U+0651 ;;SHADDA
+V s > U+069A ;Pashto
+CO s CO s > U+069B U+0651 ;;SHADDA
+CO s > U+069B ; sin with 3 dots below
+s s > U+0633 U+0651 ;;SHADDA
+s > U+0633
+C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<<
+C r > U+06EF
+CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<<
+CO r > U+0697 ; Dargwa language, Dagestan
+P r P r > U+0694 U+0651 ;;SHADDA
+P r > U+0694 ; r with dot below; in Kurdish .r -> 0694
+V r V r > U+0699 U+0651 ;;SHADDA
+V r > U+0699
+r r > U+0631 U+0651 ;;SHADDA
+r > U+0631
+P q P q > U+066F U+0651 ;;SHADDA
+P q > U+066F
+q q > U+0642 U+0651 ;;SHADDA
+q > U+0642
+p h p h > U+06A6 U+0651 ;;SHADDA
+p h > U+06A6
+p p > U+067E U+0651 ;;SHADDA
+p > U+067E
+CO n CO n > U+06B1 U+0651 ;;SHADDA
+CO n > U+06B1
+C n C n > U+0683 U+0651 ;;SHADDA
+C n > U+0683
+P P n P P n > U+06B2 U+0651 ;;SHADDA
+P P n > U+06B2 ;; old sindhi? (not in ArabTeX) <<<
+P n P n > U+06BA U+0651 ;;SHADDA
+P n > U+06BA ; urdu
+V n V n > U+06BB U+0651 ;;SHADDA
+V n > U+06BB
+n n > U+0646 U+0651 ;;SHADDA
+n > U+0646
+m m > U+0645 U+0651 ;;SHADDA
+m > U+0645
+P l P l > U+06B6 U+0651 ;
+P l > U+06B6 ; ADDED <<<
+C l C l > U+06B5 U+0651 ;;SHADDA
+C l > U+06B5 ;kurdish
+l l > U+0644 U+0651 ;;SHADDA
+l > U+0644
+k h k h > U+06A9 U+0651 ;;SHADDA
+k h > U+06A9
+P k P k > U+06A9 U+0651 ;;SHADDA
+P k > U+06A9 ; pashto urdu
+UL k UL k > U+063A U+0651 ;;SHADDA
+UL k > U+063A
+k k > U+06AA U+0651 ;;SHADDA
+k > U+06AA ; kaf swash
+C g C g > U+062C U+0651 ;;SHADDA
+C g > U+062C
+CO j CO j > U+0684 U+0651 ;;SHADDA
+CO j > U+0684
+j j > U+062C U+0651 ;;SHADDA
+j > U+062C
+Q I > U+064A
+I > U+0650 U+064A
+C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya
+UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ###
+Q i N? > ;
+i N > U+064D
+i > U+0650
+x x > U+062E U+0651 ;;SHADDA
+x > U+062E
+UL h UL h > U+062E U+0651 ;;SHADDA
+UL h > U+062E
+(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA
+(P h|U+1E25) > U+062D
+V h V h > U+06C1 U+0651 ;;SHADDA
+V h > U+06C1
+h h > U+06BE U+0651 ;;SHADDA
+h > U+06BE
+P CO g P CO g > U+06B4 U+0651 ;;SHADDA
+P CO g > U+06B4 ;; old sindhi? (not in ArabTeX) <<<
+CO g CO g > U+06B3 U+0651 ;;SHADDA
+CO g > U+06B3
+V g V g > U+06AC U+0651 ;;SHADDA
+V g > U+06AC ; kaf with dot above
+P g P g > U+063A U+0651 ;;SHADDA
+P g > U+063A
+g g > U+06AF U+0651 ;;SHADDA
+g > U+06AF
+G G > U+06AB U+0651 ;;SHADDA
+G > U+06AB ;pashto
+P f P f > U+06A1 U+0651 ;;SHADDA
+P f > U+06A1
+f f > U+0641 U+0651 ;;SHADDA
+f > U+0641
+V d h V d h > U+068D U+0651 ;;SHADDA
+V d h > U+068D
+V d V d > U+068A U+0651 ;;SHADDA
+V d > U+068A
+P V d P V d > U+068B U+0651 ;;SHADDA
+P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi)
+d h d h > U+068C U+0651 ;;SHADDA
+d h > U+068C
+C d C d > U+068E ;;SHADDA
+C d > U+068E ; old sindhi: not in ArabTeX
+CO d CO d > U+068F U+0651 ;;SHADDA
+CO d > U+068F
+UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA
+UL (d|z) > U+0630
+(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA
+(P d|U+1E0D) > U+0636
+d d > U+062F U+0651 ;;SHADDA
+d > U+062F
+C c h C c h > U+0687 U+0651 ;;SHADDA
+C c h > U+0687
+V c V c > U+0685 U+0651 ;;SHADDA
+V c > U+0685 ;pashto
+C c C c > U+0686 U+0651 ;;SHADDA
+C c > U+0686
+P C c P C c > U+06BF U+0651 ;;SHADDA
+P C c > U+06BF ;; cheh with dot above <<<
+c c > U+0681 U+0651 ;;SHADDA
+c > U+0681 ; ح with hamza above
+CO c CO c > U+0682 U+0651 ;;SHADDA
+CO c > U+0682 ; old pashto
+b h b h > U+0680 U+0651 ;;SHADDA
+b h > U+0680
+CO b CO b > U+067B U+0651 ;;SHADDA
+CO b > U+067B
+P b P b > U+066E U+0651 ;;SHADDA
+P b > U+066E
+b b > U+0628 U+0651 ;;SHADDA
+b > U+0628
+H A > U+0622
+C A > U+064E U+0622 ; historical spelling
+UL A > U+064E U+0649
+UL a > U+0670
+UL u > U+064F;
+UL i > U+0650;
+Q AN / (A H|Ha) _ > ;
+AN / (A H|Ha) _ > U+064B
+Q AN > U+0627
+AN > U+0627 U+064B
+Q a >
+a > U+064E
+Q A > U+0627
+A > U+064E U+0627
+Ain Ain > U+0639 U+0651 ;;SHADDA
+Ain > U+0639
+H H > U+0621 U+0651 ;;SHADDA
+H > U+0621
+U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma
+Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash
+(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks
+[Digits] > [ArEasternDigits]
+Z Z Z / # _ # > U+2014
+Z Z / # _ # > U+2013
+Z Z > U+0640
+B > U+0640
+Z / # _ > U+200D ; -x > force initial form with "zero-width joiner"
+Z / _ # > U+200D ; x- > force final form
+U+003C U+003C > U+00BB ;<<
+U+003E U+003E > U+00AB ;>>
+U+00AB > U+00BB
+U+00BB > U+00AB
+UL > U+0640 ;_
+U+003F > U+061F ;?
+U+003B > U+061B ;;
+U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above...
+U+002C > U+060C ;,
+U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ...
+U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual
+ ; analysis, so quoting of hamzas etc may be necessary
+;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules
+;U+005B > U+005D ;[
+Q [VWL] > ;stripoff quoted vowels
+U+00B0 > U+0652 ; °
+N > ;
+C > ;^
+BAR > ;|
+
+pass(Unicode)
+
+Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-)
+Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc.
+Class [VWL] = (U+0627 U+0648..U+0650 U+0670);
+[CONS]=k1 / _ Z? [CONS] ^U+0651 > @k1 U+0652 ; hack: 2nd consonant has no shadda
+U+064E (U+064A|U+0648)=hc / _ (^[VWLX]|#) > U+064E @hc U+0652 ; ay and aw diphtongs
+U+0627 / # _ U+0644 > U+0627 U+064E ; otherwise initial alif takes fatha
+[CONS]=k1 / _ ([CONS]|#) > @k1 U+0652 ; consonant + (consonant or final)
+;; [CONS]=k1 / _ # > @k1 U+0652 ; final consonant
+Q > ;
+Z > ;
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-sindhi-fullvoc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-sindhi-fullvoc.tec
index ec7e77ac20d..34b9a0e1d72 100644
--- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-sindhi-fullvoc.tec
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-sindhi-fullvoc.tec
Binary files differ
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-sindhi-novoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-sindhi-novoc.map
new file mode 100644
index 00000000000..4e03d67e8cf
--- /dev/null
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-sindhi-novoc.map
@@ -0,0 +1,446 @@
+LHSName "ArabTeX-sindhi-novowels"
+RHSName "UNICODE"
+
+Define a U+0061 ;a
+Define b U+0062 ;b
+Define c U+0063 ;c
+Define d U+0064 ;d
+Define e U+0065 ;e
+Define f U+0066 ;f
+Define g U+0067 ;g
+Define h U+0068 ;h
+Define i U+0069 ;i
+Define j U+006A ;j
+Define k U+006B ;k
+Define l U+006C ;l
+Define m U+006D ;m
+Define n U+006E ;n
+Define o U+006F ;o
+Define p U+0070 ;p
+Define q U+0071 ;q
+Define r U+0072 ;r
+Define s U+0073 ;s
+Define t U+0074 ;t
+Define u U+0075 ;u
+Define v U+0076 ;v
+Define w U+0077 ;w
+Define x U+0078 ;x
+Define y U+0079 ;y
+Define z U+007A ;z
+Define A U+0041 ;A
+Define B U+0042 ;B
+Define E U+0045 ;E
+Define G U+0047 ;G
+Define I U+0049 ;I
+Define N U+004E ;N
+Define O U+004F ;O
+Define T U+0054 ;T
+Define U U+0055 ;U
+Define W U+0057 ;W
+Define Y U+0059 ;Y
+Define C U+005E ;^ << CARET
+Define UL U+005F ;_ << UNDERLINE
+Define P U+002E ;. << DOT
+Define V U+002C ;, << COMMA (_V_irgule)
+Define CO U+003A ;: << COLON
+Define SC U+003B ;; << SEMICOLON
+Define Ain U+0060 ;`
+Define H U+0027 ;' << HAMZA
+Define Q U+0022 ;" << QUOTE
+Define Z U+002D ;- << HYPHEN
+Define BAR U+007C ;|
+Define AN U+0061 U+004E ; aN
+Define LLAH U+006C U+006C U+005F U+0061 U+0068
+;Define NUL U+00A6;
+Define Ha U+0623
+Define Hi U+0625
+Define Hy U+0626
+Define Hw U+0624
+Define Hh U+06C0 ;; = U+0647 U+0654
+Define HA U+0622
+Define HB U+0640 U+0654
+Define HBAR U+0621 ; '|
+
+pass(Unicode)
+
+U+E000 > ; eliminate special code for capitalization in transliterations
+
+pass(Unicode)
+
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [AVWL] = (U+064B..U+0650);
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" `
+Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ”
+Class [PUNCT] = (V SC P CO)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u)
+;Class [ae] = (U+0061 U+0065) ;(a e)
+;Class [ou] = (U+0075 U+006F) ;(u o)
+Class [Iyi] = (U+0069 U+0079 U+0049)
+Class [UI] = (U+0049 U+0055) ; U I
+Class [Digits] = (U+0030..U+0039)
+
+Define BEG (#|Z|[BRACKETS])
+Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #)
+Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z)
+
+; special ligatures
+;; 1. Standard ArabTeX input
+;; WARNING! there are, alas, two classes of Arabic fonts:
+;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2
+;; For these the ligature llah can be accessed by the sequence lam-lam-ha
+;; b) Those that do not have the initial alif in U+FDF2
+;; The BAR is used in the DMG transliteration to suppress the initial A
+(a|A) BAR? l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah'
+LLAH > U+FDF2 ;; 'll_ah' > U+FDF2
+;; UPPERCASE mnemonics for various ligatures or special glyphs
+;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode
+U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h'
+U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic
+;; 2b. Ligatures and glyphs defined in Unicode:
+ U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH'
+ U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH'
+
+U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam
+U+0028 U+0028 > U+FD3F ;; '((' : ornate right par
+U+0029 U+0029 > U+FD3E ;; '))' : ornate left par
+U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign
+;; most fonts won't have the following ones:
+U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign)
+U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign
+U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR'
+U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD'
+U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM'
+U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL')
+U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE')
+U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM'
+U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA'
+U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu"
+U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik
+
+U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY
+U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY
+U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM-
+U+005E U+004C U+0041 > U+06D9 ;; ^LA
+U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM
+U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS
+U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN
+U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB
+U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO
+U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO
+U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM
+U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM
+U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN
+U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA
+U+0057 U+0041 U+0057 > U+06E5 ;; WAW
+U+0059 U+0045 U+0048 > U+06E6 ;; YEH
+U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH
+U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN
+U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA
+U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP
+U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP
+U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP
+U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM
+
+U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::")
+
+;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts
+U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]]
+
+
+; vowels
+u u > U
+i i > I
+a a > A
+[AVWL] > ; strip off vowels when writing UTF-8 Arabic with novoc mode
+CO O > U+06FC ;
+a e > a y
+a o > a w
+(o|u)? O / # _ > U+0627 w
+(o|u)? O > w
+CO U > U+06C7 ;
+e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish)
+o > u
+
+
+;; Persian ezafe (ALL BUT ARABIC AND UIGHUR)
+U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<<
+U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I
+Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e
+Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I
+Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i
+Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i
+Z / U+0048 _ > U+0020 ;
+b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen
+
+;; initial characters ...
+a l Z / BEG _ > U+0627 l Z
+;; wasla on initial alif : NEW! NOT TESTED!
+H / BEG _ l l > U+0627 ;
+[VWL]=v1 / BEG _ > A @v1
+Q?=q1 U / BEG _ > A @q1 u w ; -U
+; Q?=q1 I / BEG _ > A @q1 i y ; -I ; but not when I is final FIXME!!!
+Q?=q1 I / BEG _ > A @q1 i y ; except for Persian, coz of ezafe rules
+
+
+;; Words with anomalous orthography:
+
+; mi'aT -> ماية
+;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy
+m Q i H Q a / _ (T|t) > m Q i A Hy Q a
+m Q i H a / _ (T|t) > m Q i A Hy
+m i H Q a / _ (T|t) > m A Hy Q a
+m i H a / _ (T|t) > m A Hy
+
+
+
+pass(Unicode)
+
+Class [Digits] = (U+0030..U+0039)
+Class [ArDigits] = (U+0660..U+0669)
+Class [ArEasternDigits] = (U+06F0..U+06F9)
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+
+
+
+
+;normal code
+
+;; special code for sindhi
+;; U+004D U+0049 U+004E > U+06FE ; define macro \MIN in sindhi env
+P m I N > U+06FE ; .mIN
+;; U+0049 U+004E > U+06FD ; IN define macro \IN in sindhi env
+H BAR I N > U+06FD ; '|IN
+
+(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA
+(P z|U+1E93) > U+0638
+C z C z > U+0698 U+0651 ;;SHADDA
+C z > U+0698
+V z V z > U+0696 U+0651 ;;SHADDA
+V z > U+0696 ;pashto
+z z > U+0632 U+0651 ;;SHADDA
+z > U+0632
+Y Y > U+0649 U+0651 ;;SHADDA
+Y > U+0649
+P I P I / _ # > U+06CC U+0651 ;; SHADDA
+P I / _ # > U+06CC ;; workaround to have ya without dots in Arabic
+y y > U+064A U+0651 ;;SHADDA
+y > U+064A
+v v > U+06A4 U+0651 ;;SHADDA
+v > U+06A4
+W > U+0648 U+0627 ; waw + alif
+C U > U+064F U+0648 U+0653; historical spelling : madda on waw
+Q U [Uw] > U+064F U+0648 U+0651 ;;SHADDA
+Q U > U+064F U+0648
+[Uw] [Uw] > U+0648 U+0651 ;;SHADDA
+[Uw] > U+0648
+C w C w > U+06C9 U+0651 ;;SHADDA
+C w > U+06C9
+CO w CO w > U+06CA U+0651 ;,SHADDA
+CO w > U+06CA
+Q u N > U+064C
+u N >
+Q u > U+064F
+V t h V t h > U+067A U+0651 ;;SHADDA
+V t h > U+067A
+t h t h > U+067F U+0651 ;;SHADDA
+t h > U+067F
+V t V t > U+067D U+0651 ;;SHADDA
+V t > U+067D
+UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA
+UL (t|s) > U+062B
+(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA
+(P t|U+1E6D) > U+0637
+t t > U+062A U+0651 ;;SHADDA
+t > U+062A
+T T Q AN > U+0629 U+0651 U+064B ;;SHADDA
+T Q AN > U+0629 U+064B
+T AN > U+0629
+T T > U+0629 U+0651 ;;SHADDA
+T > U+0629
+C s C s > U+0634 U+0651 ;;SHADDA
+C s > U+0634
+(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA
+(P s|U+1E63) > U+0635
+V s V s > U+069A U+0651 ;;SHADDA
+V s > U+069A ;Pashto
+CO s CO s > U+069B U+0651 ;;SHADDA
+CO s > U+069B ; sin with 3 dots below
+s s > U+0633 U+0651 ;;SHADDA
+s > U+0633
+C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<<
+C r > U+06EF
+CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<<
+CO r > U+0697 ; Dargwa language, Dagestan
+P r P r > U+0694 U+0651 ;;SHADDA
+P r > U+0694 ; r with dot below; in Kurdish .r -> 0694
+V r V r > U+0699 U+0651 ;;SHADDA
+V r > U+0699
+r r > U+0631 U+0651 ;;SHADDA
+r > U+0631
+P q P q > U+066F U+0651 ;;SHADDA
+P q > U+066F
+q q > U+0642 U+0651 ;;SHADDA
+q > U+0642
+p h p h > U+06A6 U+0651 ;;SHADDA
+p h > U+06A6
+p p > U+067E U+0651 ;;SHADDA
+p > U+067E
+CO n CO n > U+06B1 U+0651 ;;SHADDA
+CO n > U+06B1
+C n C n > U+0683 U+0651 ;;SHADDA
+C n > U+0683
+P P n P P n > U+06B2 U+0651 ;;SHADDA
+P P n > U+06B2 ;; old sindhi? (not in ArabTeX) <<<
+P n P n > U+06BA U+0651 ;;SHADDA
+P n > U+06BA ; urdu
+V n V n > U+06BB U+0651 ;;SHADDA
+V n > U+06BB
+n n > U+0646 U+0651 ;;SHADDA
+n > U+0646
+m m > U+0645 U+0651 ;;SHADDA
+m > U+0645
+P l P l > U+06B6 U+0651 ;
+P l > U+06B6 ; ADDED <<<
+C l C l > U+06B5 U+0651 ;;SHADDA
+C l > U+06B5 ;kurdish
+l l > U+0644 U+0651 ;;SHADDA
+l > U+0644
+k h k h > U+06A9 U+0651 ;;SHADDA
+k h > U+06A9
+P k P k > U+06A9 U+0651 ;;SHADDA
+P k > U+06A9 ; pashto urdu
+UL k UL k > U+063A U+0651 ;;SHADDA
+UL k > U+063A
+k k > U+06AA U+0651 ;;SHADDA
+k > U+06AA ; kaf swash
+C g C g > U+062C U+0651 ;;SHADDA
+C g > U+062C
+CO j CO j > U+0684 U+0651 ;;SHADDA
+CO j > U+0684
+j j > U+062C U+0651 ;;SHADDA
+j > U+062C
+Q I > U+0650 U+064A
+C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya
+UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ###
+I > U+064A
+Q i N > U+064D
+i N > ;
+Q i > U+0650
+x x > U+062E U+0651 ;;SHADDA
+x > U+062E
+UL h UL h > U+062E U+0651 ;;SHADDA
+UL h > U+062E
+(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA
+(P h|U+1E25) > U+062D
+V h V h > U+06C1 U+0651 ;;SHADDA
+V h > U+06C1
+h h > U+06BE U+0651 ;;SHADDA
+h > U+06BE
+P CO g P CO g > U+06B4 U+0651 ;;SHADDA
+P CO g > U+06B4 ;; old sindhi? (not in ArabTeX) <<<
+CO g CO g > U+06B3 U+0651 ;;SHADDA
+CO g > U+06B3
+V g V g > U+06AC U+0651 ;;SHADDA
+V g > U+06AC ; kaf with dot above
+P g P g > U+063A U+0651 ;;SHADDA
+P g > U+063A
+g g > U+06AF U+0651 ;;SHADDA
+g > U+06AF
+G G > U+06AB U+0651 ;;SHADDA
+G > U+06AB ;pashto
+P f P f > U+06A1 U+0651 ;;SHADDA
+P f > U+06A1
+f f > U+0641 U+0651 ;;SHADDA
+f > U+0641
+V d h V d h > U+068D U+0651 ;;SHADDA
+V d h > U+068D
+V d V d > U+068A U+0651 ;;SHADDA
+V d > U+068A
+P V d P V d > U+068B U+0651 ;;SHADDA
+P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi)
+d h d h > U+068C U+0651 ;;SHADDA
+d h > U+068C
+C d C d > U+068E ;;SHADDA
+C d > U+068E ; old sindhi: not in ArabTeX
+CO d CO d > U+068F U+0651 ;;SHADDA
+CO d > U+068F
+UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA
+UL (d|z) > U+0630
+(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA
+(P d|U+1E0D) > U+0636
+d d > U+062F U+0651 ;;SHADDA
+d > U+062F
+C c h C c h > U+0687 U+0651 ;;SHADDA
+C c h > U+0687
+V c V c > U+0685 U+0651 ;;SHADDA
+V c > U+0685 ;pashto
+C c C c > U+0686 U+0651 ;;SHADDA
+C c > U+0686
+P C c P C c > U+06BF U+0651 ;;SHADDA
+P C c > U+06BF ;; cheh with dot above <<<
+c c > U+0681 U+0651 ;;SHADDA
+c > U+0681 ; ح with hamza above
+CO c CO c > U+0682 U+0651 ;;SHADDA
+CO c > U+0682 ; old pashto
+b h b h > U+0680 U+0651 ;;SHADDA
+b h > U+0680
+CO b CO b > U+067B U+0651 ;;SHADDA
+CO b > U+067B
+P b P b > U+066E U+0651 ;;SHADDA
+P b > U+066E
+b b > U+0628 U+0651 ;;SHADDA
+b > U+0628
+H A > U+0622
+C A > U+064E U+0622 ; historical spelling
+UL A > U+0649
+UL a > U+0670
+UL u > ;
+UL i > ;
+Q AN / (A H|Ha) _ > U+064B
+AN / (A H|Ha) _ > ;
+Q AN > U+0627 U+064B
+AN > U+0627
+Q a > U+064E
+Q A > U+064E U+0627
+A > U+0627
+Ain Ain > U+0639 U+0651 ;;SHADDA
+Ain > U+0639
+H H > U+0621 U+0651 ;;SHADDA
+H > U+0621
+U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma
+Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash
+(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks
+[Digits] > [ArEasternDigits]
+Z Z Z / # _ # > U+2014
+Z Z / # _ # > U+2013
+Z Z > U+0640
+B > U+0640
+Z / # _ > U+200D ; -x > force initial form with "zero-width joiner"
+Z / _ # > U+200D ; x- > force final form
+U+003C U+003C > U+00BB ;<<
+U+003E U+003E > U+00AB ;>>
+U+00AB > U+00BB
+U+00BB > U+00AB
+UL > U+0640 ;_
+U+003F > U+061F ;?
+U+003B > U+061B ;;
+U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above...
+U+002C > U+060C ;,
+U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ...
+U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual
+ ; analysis, so quoting of hamzas etc may be necessary
+;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules
+;U+005B > U+005D ;[
+[VWL] > ;stripoff vowels
+Q > U+0652
+U+00B0 > U+0652 ; °
+N > ;
+C > ;^
+Z > ;-
+BAR > ;|
+
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-sindhi-novoc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-sindhi-novoc.tec
index 50cbd2b3af4..6e8fc3767c1 100644
--- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-sindhi-novoc.tec
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-sindhi-novoc.tec
Binary files differ
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-sindhi-voc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-sindhi-voc.map
new file mode 100644
index 00000000000..7acfe951345
--- /dev/null
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-sindhi-voc.map
@@ -0,0 +1,456 @@
+LHSName "ArabTeX-sindhi-vocalized"
+RHSName "UNICODE"
+
+Define a U+0061 ;a
+Define b U+0062 ;b
+Define c U+0063 ;c
+Define d U+0064 ;d
+Define e U+0065 ;e
+Define f U+0066 ;f
+Define g U+0067 ;g
+Define h U+0068 ;h
+Define i U+0069 ;i
+Define j U+006A ;j
+Define k U+006B ;k
+Define l U+006C ;l
+Define m U+006D ;m
+Define n U+006E ;n
+Define o U+006F ;o
+Define p U+0070 ;p
+Define q U+0071 ;q
+Define r U+0072 ;r
+Define s U+0073 ;s
+Define t U+0074 ;t
+Define u U+0075 ;u
+Define v U+0076 ;v
+Define w U+0077 ;w
+Define x U+0078 ;x
+Define y U+0079 ;y
+Define z U+007A ;z
+Define A U+0041 ;A
+Define B U+0042 ;B
+Define E U+0045 ;E
+Define G U+0047 ;G
+Define I U+0049 ;I
+Define N U+004E ;N
+Define O U+004F ;O
+Define T U+0054 ;T
+Define U U+0055 ;U
+Define W U+0057 ;W
+Define Y U+0059 ;Y
+Define C U+005E ;^ << CARET
+Define UL U+005F ;_ << UNDERLINE
+Define P U+002E ;. << DOT
+Define V U+002C ;, << COMMA (_V_irgule)
+Define CO U+003A ;: << COLON
+Define SC U+003B ;; << SEMICOLON
+Define Ain U+0060 ;`
+Define H U+0027 ;' << HAMZA
+Define Q U+0022 ;" << QUOTE
+Define Z U+002D ;- << HYPHEN
+Define BAR U+007C ;|
+Define AN U+0061 U+004E ; aN
+Define LLAH U+006C U+006C U+005F U+0061 U+0068
+;Define NUL U+00A6;
+Define Ha U+0623
+Define Hi U+0625
+Define Hy U+0626
+Define Hw U+0624
+Define Hh U+06C0 ;; = U+0647 U+0654
+Define HA U+0622
+Define HB U+0640 U+0654
+Define HBAR U+0621 ; '|
+
+pass(Unicode)
+
+U+E000 > ; eliminate special code for capitalization in transliterations
+
+pass(Unicode)
+
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [AVWL] = (U+064B..U+0650);
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" `
+Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ”
+Class [PUNCT] = (V SC P CO)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u)
+;Class [ae] = (U+0061 U+0065) ;(a e)
+;Class [ou] = (U+0075 U+006F) ;(u o)
+Class [Iyi] = (U+0069 U+0079 U+0049)
+Class [UI] = (U+0049 U+0055) ; U I
+Class [Digits] = (U+0030..U+0039)
+
+Define BEG (#|Z|[BRACKETS])
+Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #)
+Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z)
+
+; special ligatures
+;; 1. Standard ArabTeX input
+;; WARNING! there are, alas, two classes of Arabic fonts:
+;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2
+;; For these the ligature llah can be accessed by the sequence lam-lam-ha
+;; b) Those that do not have the initial alif in U+FDF2
+;; The BAR is used in the DMG transliteration to suppress the initial A
+(a|A) BAR? l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah'
+LLAH > U+FDF2 ;; 'll_ah' > U+FDF2
+;; UPPERCASE mnemonics for various ligatures or special glyphs
+;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode
+U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h'
+U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic
+;; 2b. Ligatures and glyphs defined in Unicode:
+ U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH'
+ U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH'
+
+U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam
+U+0028 U+0028 > U+FD3F ;; '((' : ornate right par
+U+0029 U+0029 > U+FD3E ;; '))' : ornate left par
+U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign
+;; most fonts won't have the following ones:
+U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign)
+U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign
+U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR'
+U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD'
+U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM'
+U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL')
+U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE')
+U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM'
+U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA'
+U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu"
+U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik
+
+U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY
+U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY
+U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM-
+U+005E U+004C U+0041 > U+06D9 ;; ^LA
+U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM
+U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS
+U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN
+U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB
+U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO
+U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO
+U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM
+U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM
+U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN
+U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA
+U+0057 U+0041 U+0057 > U+06E5 ;; WAW
+U+0059 U+0045 U+0048 > U+06E6 ;; YEH
+U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH
+U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN
+U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA
+U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP
+U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP
+U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP
+U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM
+
+U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::")
+
+;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts
+U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]]
+
+
+; vowels
+u u > U
+i i > I
+a a > A
+CO O > U+06FC ;
+a e > a y
+a o > a w
+(o|u)? O / # _ > U+0627 w
+(o|u)? O > w
+CO U > U+06C7 ;
+e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish)
+o > u
+
+
+;; Persian ezafe (ALL BUT ARABIC AND UIGHUR)
+U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<<
+U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I
+Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e
+Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I
+Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i
+Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i
+Z / U+0048 _ > U+0020 ;
+b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen
+
+;; initial characters ...
+a l Z / BEG _ > U+0627 l Z
+;; wasla on initial alif : NEW! NOT TESTED!
+H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI
+[VWL]=v1 / BEG _ > U+0627 @v1
+Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U
+; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I
+Q?=q1 I / BEG _ > U+0627 @q1 i y
+
+
+;; Words with anomalous orthography:
+
+; mi'aT -> ماية
+;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy
+m Q i H Q a / _ (T|t) > m U+0627 Hy
+m Q i H a / _ (T|t) > m U+0627 Hy a
+m i H Q a / _ (T|t) > m i U+0627 Hy
+m i H a / _ (T|t) > m i U+0627 Hy a
+
+
+
+pass(Unicode)
+
+Class [Digits] = (U+0030..U+0039)
+Class [ArDigits] = (U+0660..U+0669)
+Class [ArEasternDigits] = (U+06F0..U+06F9)
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+
+
+
+
+;normal code
+
+;; special code for sindhi
+;; U+004D U+0049 U+004E > U+06FE ; define macro \MIN in sindhi env
+P m I N > U+06FE ; .mIN
+;; U+0049 U+004E > U+06FD ; IN define macro \IN in sindhi env
+H BAR I N > U+06FD ; '|IN
+
+(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA
+(P z|U+1E93) > U+0638
+C z C z > U+0698 U+0651 ;;SHADDA
+C z > U+0698
+V z V z > U+0696 U+0651 ;;SHADDA
+V z > U+0696 ;pashto
+z z > U+0632 U+0651 ;;SHADDA
+z > U+0632
+Q Y Y > U+0649 U+0651 ;;SHADDA
+Q Y > U+0649
+Y Y > U+064E U+0649 U+0651 ;;SHADDA
+Y > U+064E U+0649
+P I P I / _ # > U+0650 U+06CC U+0651 ;; SHADDA
+P I / _ # > U+0650 U+06CC ;; workaround to have ya without dots in Arabic
+y y > U+064A U+0651 ;;SHADDA
+y > U+064A
+v v > U+06A4 U+0651 ;;SHADDA
+v > U+06A4
+W > U+0648 U+0627 ; waw + alif
+C U > U+064F U+0648 U+0653; historical spelling : madda on waw
+C w C w > U+06C9 U+0651 ;;SHADDA
+C w > U+06C9
+CO w CO w > U+06CA U+0651 ;,SHADDA
+CO w > U+06CA
+U A / _ # > U+064F U+0648 U+0627
+Q U [Uw] > U+0648 U+0651 ;;SHADDA
+Q U > U+0648
+U [Uw] > U+064F U+0648 U+0651 ;;SHADDA
+U > U+064F U+0648
+w w > U+0648 U+0651 ;;SHADDA
+w > U+0648
+Q u N? >
+u N > U+064C
+u > U+064F
+V t h V t h > U+067A U+0651 ;;SHADDA
+V t h > U+067A
+t h t h > U+067F U+0651 ;;SHADDA
+t h > U+067F
+V t V t > U+067D U+0651 ;;SHADDA
+V t > U+067D
+UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA
+UL (t|s) > U+062B
+(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA
+(P t|U+1E6D) > U+0637
+t t > U+062A U+0651 ;;SHADDA
+t > U+062A
+T T Q AN > U+0629 U+0651 ;;SHADDA
+T Q AN > U+0629
+T AN > U+0629 U+064B
+T T > U+0629 U+0651 ;;SHADDA
+T > U+0629
+C s C s > U+0634 U+0651 ;;SHADDA
+C s > U+0634
+(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA
+(P s|U+1E63) > U+0635
+V s V s > U+069A U+0651 ;;SHADDA
+V s > U+069A ;Pashto
+CO s CO s > U+069B U+0651 ;;SHADDA
+CO s > U+069B ; sin with 3 dots below
+s s > U+0633 U+0651 ;;SHADDA
+s > U+0633
+C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<<
+C r > U+06EF
+CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<<
+CO r > U+0697 ; Dargwa language, Dagestan
+P r P r > U+0694 U+0651 ;;SHADDA
+P r > U+0694 ; r with dot below; in Kurdish .r -> 0694
+V r V r > U+0699 U+0651 ;;SHADDA
+V r > U+0699
+r r > U+0631 U+0651 ;;SHADDA
+r > U+0631
+P q P q > U+066F U+0651 ;;SHADDA
+P q > U+066F
+q q > U+0642 U+0651 ;;SHADDA
+q > U+0642
+p h p h > U+06A6 U+0651 ;;SHADDA
+p h > U+06A6
+p p > U+067E U+0651 ;;SHADDA
+p > U+067E
+CO n CO n > U+06B1 U+0651 ;;SHADDA
+CO n > U+06B1
+C n C n > U+0683 U+0651 ;;SHADDA
+C n > U+0683
+P P n P P n > U+06B2 U+0651 ;;SHADDA
+P P n > U+06B2 ;; old sindhi? (not in ArabTeX) <<<
+P n P n > U+06BA U+0651 ;;SHADDA
+P n > U+06BA ; urdu
+V n V n > U+06BB U+0651 ;;SHADDA
+V n > U+06BB
+n n > U+0646 U+0651 ;;SHADDA
+n > U+0646
+m m > U+0645 U+0651 ;;SHADDA
+m > U+0645
+P l P l > U+06B6 U+0651 ;
+P l > U+06B6 ; ADDED <<<
+C l C l > U+06B5 U+0651 ;;SHADDA
+C l > U+06B5 ;kurdish
+l l > U+0644 U+0651 ;;SHADDA
+l > U+0644
+k h k h > U+06A9 U+0651 ;;SHADDA
+k h > U+06A9
+P k P k > U+06A9 U+0651 ;;SHADDA
+P k > U+06A9 ; pashto urdu
+UL k UL k > U+063A U+0651 ;;SHADDA
+UL k > U+063A
+k k > U+06AA U+0651 ;;SHADDA
+k > U+06AA ; kaf swash
+C g C g > U+062C U+0651 ;;SHADDA
+C g > U+062C
+CO j CO j > U+0684 U+0651 ;;SHADDA
+CO j > U+0684
+j j > U+062C U+0651 ;;SHADDA
+j > U+062C
+Q I > U+064A
+I > U+0650 U+064A
+C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya
+UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ###
+Q i N? > ;
+i N > U+064D
+i > U+0650
+x x > U+062E U+0651 ;;SHADDA
+x > U+062E
+UL h UL h > U+062E U+0651 ;;SHADDA
+UL h > U+062E
+(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA
+(P h|U+1E25) > U+062D
+V h V h > U+06C1 U+0651 ;;SHADDA
+V h > U+06C1
+h h > U+06BE U+0651 ;;SHADDA
+h > U+06BE
+P CO g P CO g > U+06B4 U+0651 ;;SHADDA
+P CO g > U+06B4 ;; old sindhi? (not in ArabTeX) <<<
+CO g CO g > U+06B3 U+0651 ;;SHADDA
+CO g > U+06B3
+V g V g > U+06AC U+0651 ;;SHADDA
+V g > U+06AC ; kaf with dot above
+P g P g > U+063A U+0651 ;;SHADDA
+P g > U+063A
+g g > U+06AF U+0651 ;;SHADDA
+g > U+06AF
+G G > U+06AB U+0651 ;;SHADDA
+G > U+06AB ;pashto
+P f P f > U+06A1 U+0651 ;;SHADDA
+P f > U+06A1
+f f > U+0641 U+0651 ;;SHADDA
+f > U+0641
+V d h V d h > U+068D U+0651 ;;SHADDA
+V d h > U+068D
+V d V d > U+068A U+0651 ;;SHADDA
+V d > U+068A
+P V d P V d > U+068B U+0651 ;;SHADDA
+P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi)
+d h d h > U+068C U+0651 ;;SHADDA
+d h > U+068C
+C d C d > U+068E ;;SHADDA
+C d > U+068E ; old sindhi: not in ArabTeX
+CO d CO d > U+068F U+0651 ;;SHADDA
+CO d > U+068F
+UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA
+UL (d|z) > U+0630
+(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA
+(P d|U+1E0D) > U+0636
+d d > U+062F U+0651 ;;SHADDA
+d > U+062F
+C c h C c h > U+0687 U+0651 ;;SHADDA
+C c h > U+0687
+V c V c > U+0685 U+0651 ;;SHADDA
+V c > U+0685 ;pashto
+C c C c > U+0686 U+0651 ;;SHADDA
+C c > U+0686
+P C c P C c > U+06BF U+0651 ;;SHADDA
+P C c > U+06BF ;; cheh with dot above <<<
+c c > U+0681 U+0651 ;;SHADDA
+c > U+0681 ; ح with hamza above
+CO c CO c > U+0682 U+0651 ;;SHADDA
+CO c > U+0682 ; old pashto
+b h b h > U+0680 U+0651 ;;SHADDA
+b h > U+0680
+CO b CO b > U+067B U+0651 ;;SHADDA
+CO b > U+067B
+P b P b > U+066E U+0651 ;;SHADDA
+P b > U+066E
+b b > U+0628 U+0651 ;;SHADDA
+b > U+0628
+H A > U+0622
+C A > U+064E U+0622 ; historical spelling
+UL A > U+064E U+0649
+UL a > U+0670
+UL u > U+064F;
+UL i > U+0650;
+Q AN / (A H|Ha) _ > ;
+AN / (A H|Ha) _ > U+064B
+Q AN > U+0627
+AN > U+0627 U+064B
+Q a >
+a > U+064E
+Q A > U+0627
+A > U+064E U+0627
+Ain Ain > U+0639 U+0651 ;;SHADDA
+Ain > U+0639
+H H > U+0621 U+0651 ;;SHADDA
+H > U+0621
+U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma
+Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash
+(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks
+[Digits] > [ArEasternDigits]
+Z Z Z / # _ # > U+2014
+Z Z / # _ # > U+2013
+Z Z > U+0640
+B > U+0640
+Z / # _ > U+200D ; -x > force initial form with "zero-width joiner"
+Z / _ # > U+200D ; x- > force final form
+U+003C U+003C > U+00BB ;<<
+U+003E U+003E > U+00AB ;>>
+U+00AB > U+00BB
+U+00BB > U+00AB
+UL > U+0640 ;_
+U+003F > U+061F ;?
+U+003B > U+061B ;;
+U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above...
+U+002C > U+060C ;,
+U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ...
+U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual
+ ; analysis, so quoting of hamzas etc may be necessary
+;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules
+;U+005B > U+005D ;[
+Q [VWL] > ;stripoff quoted vowels
+Q > U+0652
+U+00B0 > U+0652 ; °
+N > ;
+C > ;^
+BAR > ;|
+
+pass(Unicode)
+
+Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-)
+Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc.
+Class [VWL] = (U+0627 U+0648..U+0650 U+0670);
+Z > ;
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-sindhi-voc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-sindhi-voc.tec
index 2d3266d2610..7583ec76be2 100644
--- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-sindhi-voc.tec
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-sindhi-voc.tec
Binary files differ
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-turk-fullvoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-turk-fullvoc.map
new file mode 100644
index 00000000000..62aa619b8e9
--- /dev/null
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-turk-fullvoc.map
@@ -0,0 +1,485 @@
+LHSName "ArabTeX-turk-fullvocalized"
+RHSName "UNICODE"
+
+Define a U+0061 ;a
+Define b U+0062 ;b
+Define c U+0063 ;c
+Define d U+0064 ;d
+Define e U+0065 ;e
+Define f U+0066 ;f
+Define g U+0067 ;g
+Define h U+0068 ;h
+Define i U+0069 ;i
+Define j U+006A ;j
+Define k U+006B ;k
+Define l U+006C ;l
+Define m U+006D ;m
+Define n U+006E ;n
+Define o U+006F ;o
+Define p U+0070 ;p
+Define q U+0071 ;q
+Define r U+0072 ;r
+Define s U+0073 ;s
+Define t U+0074 ;t
+Define u U+0075 ;u
+Define v U+0076 ;v
+Define w U+0077 ;w
+Define x U+0078 ;x
+Define y U+0079 ;y
+Define z U+007A ;z
+Define A U+0041 ;A
+Define B U+0042 ;B
+Define E U+0045 ;E
+Define G U+0047 ;G
+Define I U+0049 ;I
+Define N U+004E ;N
+Define O U+004F ;O
+Define T U+0054 ;T
+Define U U+0055 ;U
+Define W U+0057 ;W
+Define Y U+0059 ;Y
+Define C U+005E ;^ << CARET
+Define UL U+005F ;_ << UNDERLINE
+Define P U+002E ;. << DOT
+Define V U+002C ;, << COMMA (_V_irgule)
+Define CO U+003A ;: << COLON
+Define SC U+003B ;; << SEMICOLON
+Define Ain U+0060 ;`
+Define H U+0027 ;' << HAMZA
+Define Q U+0022 ;" << QUOTE
+Define Z U+002D ;- << HYPHEN
+Define BAR U+007C ;|
+Define AN U+0061 U+004E ; aN
+Define LLAH U+006C U+006C U+005F U+0061 U+0068
+;Define NUL U+00A6;
+Define Ha U+0623
+Define Hi U+0625
+Define Hy U+0626
+Define Hw U+0624
+Define Hh U+06C0 ;; = U+0647 U+0654
+Define HA U+0622
+Define HB U+0640 U+0654
+Define HBAR U+0621 ; '|
+
+pass(Unicode)
+
+U+E000 > ; eliminate special code for capitalization in transliterations
+
+pass(Unicode)
+
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [AVWL] = (U+064B..U+0650);
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" `
+Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ”
+Class [PUNCT] = (V SC P CO)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u)
+;Class [ae] = (U+0061 U+0065) ;(a e)
+;Class [ou] = (U+0075 U+006F) ;(u o)
+Class [Iyi] = (U+0069 U+0079 U+0049)
+Class [UI] = (U+0049 U+0055) ; U I
+Class [Digits] = (U+0030..U+0039)
+
+Define BEG (#|Z|[BRACKETS])
+Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #)
+Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z)
+
+; special ligatures
+;; 1. Standard ArabTeX input
+;; WARNING! there are, alas, two classes of Arabic fonts:
+;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2
+;; For these the ligature llah can be accessed by the sequence lam-lam-ha
+;; b) Those that do not have the initial alif in U+FDF2
+;; The BAR is used in the DMG transliteration to suppress the initial A
+(a|A) BAR? l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah'
+LLAH > U+FDF2 ;; 'll_ah' > U+FDF2
+;; UPPERCASE mnemonics for various ligatures or special glyphs
+;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode
+U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h'
+U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic
+;; 2b. Ligatures and glyphs defined in Unicode:
+ U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH'
+ U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH'
+
+U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam
+U+0028 U+0028 > U+FD3F ;; '((' : ornate right par
+U+0029 U+0029 > U+FD3E ;; '))' : ornate left par
+U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign
+;; most fonts won't have the following ones:
+U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign)
+U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign
+U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR'
+U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD'
+U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM'
+U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL')
+U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE')
+U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM'
+U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA'
+U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu"
+U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik
+
+U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY
+U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY
+U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM-
+U+005E U+004C U+0041 > U+06D9 ;; ^LA
+U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM
+U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS
+U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN
+U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB
+U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO
+U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO
+U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM
+U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM
+U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN
+U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA
+U+0057 U+0041 U+0057 > U+06E5 ;; WAW
+U+0059 U+0045 U+0048 > U+06E6 ;; YEH
+U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH
+U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN
+U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA
+U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP
+U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP
+U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP
+U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM
+
+U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::")
+
+;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts
+U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]]
+
+
+; vowels
+u u > U
+i i > I
+a a > A
+CO O > U+06FC ;
+a e > a y
+a o > a w
+CO U > U+06C7 ;
+e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish)
+o > u
+I / _ # > i y
+
+
+;; Persian ezafe (ALL BUT ARABIC AND UIGHUR)
+U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<<
+U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I
+Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e
+Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I
+Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i
+Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i
+Z / U+0048 _ > U+0020 ;
+b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen
+
+;; initial characters ...
+a l Z / BEG _ > U+0627 l Z
+;; wasla on initial alif : NEW! NOT TESTED!
+H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI
+[VWL]=v1 / BEG _ > U+0627 @v1
+Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U
+; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I
+Q?=q1 I / BEG _ > U+0627 @q1 i y
+
+
+;; Words with anomalous orthography:
+
+; mi'aT -> ماية
+;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy
+m Q i H Q a / _ (T|t) > m U+0627 Hy
+m Q i H a / _ (T|t) > m U+0627 Hy a
+m i H Q a / _ (T|t) > m i U+0627 Hy
+m i H a / _ (T|t) > m i U+0627 Hy a
+
+
+;; contextual analysis of hamzas
+;; THESE DO NOT APPLY FOR SINDHI
+
+; initial hamzas
+H / (#|^[LTR]) _ Q? [Iyi] > Hi
+H Q A / (#|^[LTR]) _ > HA ; alif madda
+H / (#|^[LTR]) _ Q? [Uwu] > Ha
+H / (#|^[LTR]) _ Q? a > Ha
+Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word
+
+; quoted hamzas in contextual mode, equivalent to verbatim mode
+a Q H > Ha
+i Q H > Hi
+y Q H > Hy
+w Q H > Hw
+h Q H > Hh
+A Q H > HA
+B Q H > HB
+BAR Q H > HBAR
+
+; hamza + fathatan
+H / a _ Q? AN > Ha
+;;H / [Iyi] _ Q? AN > Hy
+H / _ Q? AN > Hy
+
+;final hamzas
+H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ...
+H / a _ Q? (#|^[LTR]) > Ha ; not AN...
+H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN...
+H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy
+H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw
+
+;;and more hamzas ...
+
+; n°1: kasra/ya
+H / [LTR] _ Q? [Iyi] ^N > Hy
+H / [Iyi] _ > Hy
+
+; n°2: damma/waw
+H / [LTR] _ Q? (U|u) ^N > Hw
+H / (U|u) _ Q? ^[Iyi] > Hw
+H / U _ > HBAR
+
+; n°3: fatha/alif
+H Q? A > HA
+H / A _ Q? a > HBAR
+H / ^[UI] _ Q? a > Ha
+H / a _ Q? ^[UI] > Ha
+
+
+pass(Unicode)
+
+Class [Digits] = (U+0030..U+0039)
+Class [ArDigits] = (U+0660..U+0669)
+Class [ArEasternDigits] = (U+06F0..U+06F9)
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+
+
+
+
+;normal code
+
+
+(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA
+(P z|U+1E93) > U+0638
+C z C z > U+0698 U+0651 ;;SHADDA
+C z > U+0698
+V z V z > U+0636 U+0651 ;;SHADDA
+V z > U+0636
+z z > U+0632 U+0651 ;;SHADDA
+z > U+0632
+Q Y Y > U+0649 U+0651 ;;SHADDA
+Q Y > U+0649
+Y Y > U+064E U+0649 U+0651 ;;SHADDA
+Y > U+064E U+0649
+;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots
+y y > U+06CC U+0651 ;;SHADDA
+y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots
+v v > U+06A4 U+0651 ;;SHADDA
+v > U+06A4
+W > U+0648 U+0627 ; waw + alif
+C U > U+064F U+0648 U+0653; historical spelling : madda on waw
+C w C w > U+06C9 U+0651 ;;SHADDA
+C w > U+06C9
+CO w CO w > U+06CA U+0651 ;,SHADDA
+CO w > U+06CA
+U A / _ # > U+064F U+0648 U+0627
+Q U [Uw] > U+0648 U+0651 ;;SHADDA
+Q U > U+0648
+U [Uw] > U+064F U+0648 U+0651 ;;SHADDA
+U > U+064F U+0648
+w w > U+0648 U+0651 ;;SHADDA
+w > U+0648
+Q u N? >
+u N > U+064C
+u > U+064F
+V t V t > U+0679 U+0651 ;;SHADDA
+V t > U+0679 ;urdu
+UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA
+UL (t|s) > U+062B
+(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA
+(P t|U+1E6D) > U+0637
+t t > U+062A U+0651 ;;SHADDA
+t > U+062A
+T T Q AN > U+0629 U+0651 ;;SHADDA
+T Q AN > U+0629
+T AN > U+0629 U+064B
+T T > U+0629 U+0651 ;;SHADDA
+T > U+0629
+C s C s > U+0634 U+0651 ;;SHADDA
+C s > U+0634
+(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA
+(P s|U+1E63) > U+0635
+V s V s > U+0634 U+0651 ;;SHADDA
+V s > U+0634
+CO s CO s > U+069B U+0651 ;;SHADDA
+CO s > U+069B ; sin with 3 dots below
+s s > U+0633 U+0651 ;;SHADDA
+s > U+0633
+C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<<
+C r > U+06EF
+CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<<
+CO r > U+0697 ; Dargwa language, Dagestan
+P r P r > U+0694 U+0651 ;;SHADDA
+P r > U+0694 ; r with dot below; in Kurdish .r -> 0694
+V r V r > U+0691 U+0651 ;;SHADDA
+V r > U+0691 ;Urdu
+r r > U+0631 U+0651 ;;SHADDA
+r > U+0631
+P q P q > U+066F U+0651 ;;SHADDA
+P q > U+066F
+q q > U+0642 U+0651 ;;SHADDA
+q > U+0642
+p p > U+067E U+0651 ;;SHADDA
+p > U+067E
+CO n CO n > U+06B1 U+0651 ;;SHADDA
+CO n > U+06B1
+C n C n > U+06AD U+0651 ;;SHADDA
+C n > U+06AD
+P n P n > U+06BA U+0651 ;;SHADDA
+P n > U+06BA ; urdu
+V n V n > U+06BC U+0651 ;;SHADDA
+V n > U+06BC ; Pashto
+n n > U+0646 U+0651 ;;SHADDA
+n > U+0646
+m m > U+0645 U+0651 ;;SHADDA
+m > U+0645
+P l P l > U+06B6 U+0651 ;
+P l > U+06B6 ; ADDED <<<
+C l C l > U+06B5 U+0651 ;;SHADDA
+C l > U+06B5 ;kurdish
+l l > U+0644 U+0651 ;;SHADDA
+l > U+0644
+P k P k > U+0642 U+0651 ;;SHADDA
+P k > U+0642 ; Ottoman qaf
+UL k UL k > U+063A U+0651 ;;SHADDA
+UL k > U+063A
+k k > U+0643 U+0651 ;;SHADDA
+k > U+0643
+C g C g > U+06A0 U+0651 ;;SHADDA
+C g > U+06A0
+CO j CO j > U+0684 U+0651 ;;SHADDA
+CO j > U+0684
+j j > U+0698 U+0651 ;;SHADDA
+j > U+0698
+Q I > U+064A
+I > U+0650 U+064A
+C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya
+UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ###
+Q i N? > ;
+i N > U+064D
+i > U+0650
+x x > U+062E U+0651 ;;SHADDA
+x > U+062E
+UL h UL h > U+062E U+0651 ;;SHADDA
+UL h > U+062E
+(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA
+(P h|U+1E25) > U+062D
+V h V h > U+06C1 U+0651 ;;SHADDA
+V h > U+06C1
+h h > U+0647 U+0651 ;;SHADDA
+h > U+0647
+CO g CO g > U+06B3 U+0651 ;;SHADDA
+CO g > U+06B3
+V g V g > U+06AC U+0651 ;;SHADDA
+V g > U+06AC ; kaf with dot above
+P g P g > U+063A U+0651 ;;SHADDA
+P g > U+063A
+g g > U+06AF U+0651 ;;SHADDA
+g > U+06AF
+G G > U+06AB U+0651 ;;SHADDA
+G > U+06AB ;pashto
+P f P f > U+06A1 U+0651 ;;SHADDA
+P f > U+06A1
+f f > U+0641 U+0651 ;;SHADDA
+f > U+0641
+V d V d > U+068A U+0651 ;;SHADDA
+V d > U+068A
+P V d P V d > U+068B U+0651 ;;SHADDA
+P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi)
+C d C d > U+06EE U+0651 ;;SHADDA
+C d > U+06EE ; not defined in ArabTeX
+CO d CO d > U+068F U+0651 ;;SHADDA
+CO d > U+068F
+UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA
+UL (d|z) > U+0630
+(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA
+(P d|U+1E0D) > U+0636
+d d > U+062F U+0651 ;;SHADDA
+d > U+062F
+V c V c > U+0686 U+0651 ;;SHADDA
+V c > U+0686 ; Ottoman ç
+C c C c > U+0686 U+0651 ;;SHADDA
+C c > U+0686
+P C c P C c > U+06BF U+0651 ;;SHADDA
+P C c > U+06BF ;; cheh with dot above <<<
+c c > U+062C U+0651 ;;SHADDA
+c > U+062C
+CO c CO c > U+0682 U+0651 ;;SHADDA
+CO c > U+0682 ; old pashto
+CO b CO b > U+067B U+0651 ;;SHADDA
+CO b > U+067B
+P b P b > U+066E U+0651 ;;SHADDA
+P b > U+066E
+b b > U+0628 U+0651 ;;SHADDA
+b > U+0628
+H A > U+0622
+C A > U+064E U+0622 ; historical spelling
+UL A > U+064E U+0649
+UL a > U+0670
+UL u > U+064F;
+UL i > U+0650;
+Q AN / (A H|Ha) _ > ;
+AN / (A H|Ha) _ > U+064B
+Q AN > U+0627
+AN > U+0627 U+064B
+Q a >
+a > U+064E
+Q A > U+0627
+A > U+064E U+0627
+Ain Ain > U+0639 U+0651 ;;SHADDA
+Ain > U+0639
+H H > U+0621 U+0651 ;;SHADDA
+H > U+0621
+U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma
+Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash
+(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks
+[Digits] > [ArDigits]
+Z Z Z / # _ # > U+2014
+Z Z / # _ # > U+2013
+Z Z > U+0640
+B > U+0640
+Z / # _ > U+200D ; -x > force initial form with "zero-width joiner"
+Z / _ # > U+200D ; x- > force final form
+U+003C U+003C > U+00BB ;<<
+U+003E U+003E > U+00AB ;>>
+U+00AB > U+00BB
+U+00BB > U+00AB
+UL > U+0640 ;_
+U+003F > U+061F ;?
+U+003B > U+061B ;;
+U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above...
+U+002C > U+060C ;,
+U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ...
+U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual
+ ; analysis, so quoting of hamzas etc may be necessary
+;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules
+;U+005B > U+005D ;[
+Q [VWL] > ;stripoff quoted vowels
+U+00B0 > U+0652 ; °
+N > ;
+C > ;^
+BAR > ;|
+
+pass(Unicode)
+
+Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-)
+Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc.
+Class [VWL] = (U+0627 U+0648..U+0650 U+0670);
+[CONS]=k1 / _ Z? [CONS] ^U+0651 > @k1 U+0652 ; hack: 2nd consonant has no shadda
+U+064E (U+064A|U+0648)=hc / _ (^[VWLX]|#) > U+064E @hc U+0652 ; ay and aw diphtongs
+U+0627 / # _ U+0644 > U+0627 U+064E ; otherwise initial alif takes fatha
+[CONS]=k1 / _ ([CONS]|#) > @k1 U+0652 ; consonant + (consonant or final)
+;; [CONS]=k1 / _ # > @k1 U+0652 ; final consonant
+Q > ;
+Z > ;
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-turk-novoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-turk-novoc.map
new file mode 100644
index 00000000000..824eab5c57d
--- /dev/null
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-turk-novoc.map
@@ -0,0 +1,470 @@
+LHSName "ArabTeX-turk-novowels"
+RHSName "UNICODE"
+
+Define a U+0061 ;a
+Define b U+0062 ;b
+Define c U+0063 ;c
+Define d U+0064 ;d
+Define e U+0065 ;e
+Define f U+0066 ;f
+Define g U+0067 ;g
+Define h U+0068 ;h
+Define i U+0069 ;i
+Define j U+006A ;j
+Define k U+006B ;k
+Define l U+006C ;l
+Define m U+006D ;m
+Define n U+006E ;n
+Define o U+006F ;o
+Define p U+0070 ;p
+Define q U+0071 ;q
+Define r U+0072 ;r
+Define s U+0073 ;s
+Define t U+0074 ;t
+Define u U+0075 ;u
+Define v U+0076 ;v
+Define w U+0077 ;w
+Define x U+0078 ;x
+Define y U+0079 ;y
+Define z U+007A ;z
+Define A U+0041 ;A
+Define B U+0042 ;B
+Define E U+0045 ;E
+Define G U+0047 ;G
+Define I U+0049 ;I
+Define N U+004E ;N
+Define O U+004F ;O
+Define T U+0054 ;T
+Define U U+0055 ;U
+Define W U+0057 ;W
+Define Y U+0059 ;Y
+Define C U+005E ;^ << CARET
+Define UL U+005F ;_ << UNDERLINE
+Define P U+002E ;. << DOT
+Define V U+002C ;, << COMMA (_V_irgule)
+Define CO U+003A ;: << COLON
+Define SC U+003B ;; << SEMICOLON
+Define Ain U+0060 ;`
+Define H U+0027 ;' << HAMZA
+Define Q U+0022 ;" << QUOTE
+Define Z U+002D ;- << HYPHEN
+Define BAR U+007C ;|
+Define AN U+0061 U+004E ; aN
+Define LLAH U+006C U+006C U+005F U+0061 U+0068
+;Define NUL U+00A6;
+Define Ha U+0623
+Define Hi U+0625
+Define Hy U+0626
+Define Hw U+0624
+Define Hh U+06C0 ;; = U+0647 U+0654
+Define HA U+0622
+Define HB U+0640 U+0654
+Define HBAR U+0621 ; '|
+
+pass(Unicode)
+
+U+E000 > ; eliminate special code for capitalization in transliterations
+
+pass(Unicode)
+
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [AVWL] = (U+064B..U+0650);
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" `
+Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ”
+Class [PUNCT] = (V SC P CO)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u)
+;Class [ae] = (U+0061 U+0065) ;(a e)
+;Class [ou] = (U+0075 U+006F) ;(u o)
+Class [Iyi] = (U+0069 U+0079 U+0049)
+Class [UI] = (U+0049 U+0055) ; U I
+Class [Digits] = (U+0030..U+0039)
+
+Define BEG (#|Z|[BRACKETS])
+Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #)
+Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z)
+
+; special ligatures
+;; 1. Standard ArabTeX input
+;; WARNING! there are, alas, two classes of Arabic fonts:
+;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2
+;; For these the ligature llah can be accessed by the sequence lam-lam-ha
+;; b) Those that do not have the initial alif in U+FDF2
+;; The BAR is used in the DMG transliteration to suppress the initial A
+(a|A) BAR? l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah'
+LLAH > U+FDF2 ;; 'll_ah' > U+FDF2
+;; UPPERCASE mnemonics for various ligatures or special glyphs
+;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode
+U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h'
+U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic
+;; 2b. Ligatures and glyphs defined in Unicode:
+ U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH'
+ U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH'
+
+U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam
+U+0028 U+0028 > U+FD3F ;; '((' : ornate right par
+U+0029 U+0029 > U+FD3E ;; '))' : ornate left par
+U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign
+;; most fonts won't have the following ones:
+U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign)
+U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign
+U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR'
+U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD'
+U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM'
+U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL')
+U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE')
+U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM'
+U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA'
+U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu"
+U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik
+
+U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY
+U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY
+U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM-
+U+005E U+004C U+0041 > U+06D9 ;; ^LA
+U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM
+U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS
+U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN
+U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB
+U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO
+U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO
+U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM
+U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM
+U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN
+U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA
+U+0057 U+0041 U+0057 > U+06E5 ;; WAW
+U+0059 U+0045 U+0048 > U+06E6 ;; YEH
+U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH
+U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN
+U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA
+U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP
+U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP
+U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP
+U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM
+
+U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::")
+
+;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts
+U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]]
+
+
+; vowels
+u u > U
+i i > I
+a a > A
+[AVWL] > ; strip off vowels when writing UTF-8 Arabic with novoc mode
+CO O > U+06FC ;
+a e > a y
+a o > a w
+CO U > U+06C7 ;
+e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish)
+o > u
+I / _ # > i y
+
+
+;; Persian ezafe (ALL BUT ARABIC AND UIGHUR)
+U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<<
+U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I
+Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e
+Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I
+Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i
+Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i
+Z / U+0048 _ > U+0020 ;
+b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen
+
+;; initial characters ...
+a l Z / BEG _ > U+0627 l Z
+;; wasla on initial alif : NEW! NOT TESTED!
+H / BEG _ l l > U+0627 ;
+[VWL]=v1 / BEG _ > A @v1
+Q?=q1 U / BEG _ > A @q1 u w ; -U
+; Q?=q1 I / BEG _ > A @q1 i y ; -I ; but not when I is final FIXME!!!
+Q?=q1 I / BEG _ > A @q1 i y ; except for Persian, coz of ezafe rules
+
+
+;; Words with anomalous orthography:
+
+; mi'aT -> ماية
+;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy
+m Q i H Q a / _ (T|t) > m Q i A Hy Q a
+m Q i H a / _ (T|t) > m Q i A Hy
+m i H Q a / _ (T|t) > m A Hy Q a
+m i H a / _ (T|t) > m A Hy
+
+
+;; contextual analysis of hamzas
+;; THESE DO NOT APPLY FOR SINDHI
+
+; initial hamzas
+H / (#|^[LTR]) _ Q? [Iyi] > Hi
+H Q A / (#|^[LTR]) _ > HA ; alif madda
+H / (#|^[LTR]) _ Q? [Uwu] > Ha
+H / (#|^[LTR]) _ Q? a > Ha
+Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word
+
+; quoted hamzas in contextual mode, equivalent to verbatim mode
+a Q H > Ha
+i Q H > Hi
+y Q H > Hy
+w Q H > Hw
+h Q H > Hh
+A Q H > HA
+B Q H > HB
+BAR Q H > HBAR
+
+; hamza + fathatan
+H / a _ Q? AN > Ha
+;;H / [Iyi] _ Q? AN > Hy
+H / _ Q? AN > Hy
+
+;final hamzas
+H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ...
+H / a _ Q? (#|^[LTR]) > Ha ; not AN...
+H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN...
+H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy
+H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw
+
+;;and more hamzas ...
+
+; n°1: kasra/ya
+H / [LTR] _ Q? [Iyi] ^N > Hy
+H / [Iyi] _ > Hy
+
+; n°2: damma/waw
+H / [LTR] _ Q? (U|u) ^N > Hw
+H / (U|u) _ Q? ^[Iyi] > Hw
+H / U _ > HBAR
+
+; n°3: fatha/alif
+H Q? A > HA
+H / A _ Q? a > HBAR
+H / ^[UI] _ Q? a > Ha
+H / a _ Q? ^[UI] > Ha
+
+
+pass(Unicode)
+
+Class [Digits] = (U+0030..U+0039)
+Class [ArDigits] = (U+0660..U+0669)
+Class [ArEasternDigits] = (U+06F0..U+06F9)
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+
+
+
+
+;normal code
+
+
+(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA
+(P z|U+1E93) > U+0638
+C z C z > U+0698 U+0651 ;;SHADDA
+C z > U+0698
+V z V z > U+0636 U+0651 ;;SHADDA
+V z > U+0636
+z z > U+0632 U+0651 ;;SHADDA
+z > U+0632
+Y Y > U+0649 U+0651 ;;SHADDA
+Y > U+0649
+;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots
+y y > U+06CC U+0651 ;;SHADDA
+y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots
+v v > U+06A4 U+0651 ;;SHADDA
+v > U+06A4
+W > U+0648 U+0627 ; waw + alif
+C U > U+064F U+0648 U+0653; historical spelling : madda on waw
+Q U [Uw] > U+064F U+0648 U+0651 ;;SHADDA
+Q U > U+064F U+0648
+[Uw] [Uw] > U+0648 U+0651 ;;SHADDA
+[Uw] > U+0648
+C w C w > U+06C9 U+0651 ;;SHADDA
+C w > U+06C9
+CO w CO w > U+06CA U+0651 ;,SHADDA
+CO w > U+06CA
+Q u N > U+064C
+u N >
+Q u > U+064F
+V t V t > U+0679 U+0651 ;;SHADDA
+V t > U+0679 ;urdu
+UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA
+UL (t|s) > U+062B
+(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA
+(P t|U+1E6D) > U+0637
+t t > U+062A U+0651 ;;SHADDA
+t > U+062A
+T T Q AN > U+0629 U+0651 U+064B ;;SHADDA
+T Q AN > U+0629 U+064B
+T AN > U+0629
+T T > U+0629 U+0651 ;;SHADDA
+T > U+0629
+C s C s > U+0634 U+0651 ;;SHADDA
+C s > U+0634
+(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA
+(P s|U+1E63) > U+0635
+V s V s > U+0634 U+0651 ;;SHADDA
+V s > U+0634
+CO s CO s > U+069B U+0651 ;;SHADDA
+CO s > U+069B ; sin with 3 dots below
+s s > U+0633 U+0651 ;;SHADDA
+s > U+0633
+C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<<
+C r > U+06EF
+CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<<
+CO r > U+0697 ; Dargwa language, Dagestan
+P r P r > U+0694 U+0651 ;;SHADDA
+P r > U+0694 ; r with dot below; in Kurdish .r -> 0694
+V r V r > U+0691 U+0651 ;;SHADDA
+V r > U+0691 ;Urdu
+r r > U+0631 U+0651 ;;SHADDA
+r > U+0631
+P q P q > U+066F U+0651 ;;SHADDA
+P q > U+066F
+q q > U+0642 U+0651 ;;SHADDA
+q > U+0642
+p p > U+067E U+0651 ;;SHADDA
+p > U+067E
+CO n CO n > U+06B1 U+0651 ;;SHADDA
+CO n > U+06B1
+C n C n > U+06AD U+0651 ;;SHADDA
+C n > U+06AD
+P n P n > U+06BA U+0651 ;;SHADDA
+P n > U+06BA ; urdu
+V n V n > U+06BC U+0651 ;;SHADDA
+V n > U+06BC ; Pashto
+n n > U+0646 U+0651 ;;SHADDA
+n > U+0646
+m m > U+0645 U+0651 ;;SHADDA
+m > U+0645
+P l P l > U+06B6 U+0651 ;
+P l > U+06B6 ; ADDED <<<
+C l C l > U+06B5 U+0651 ;;SHADDA
+C l > U+06B5 ;kurdish
+l l > U+0644 U+0651 ;;SHADDA
+l > U+0644
+P k P k > U+0642 U+0651 ;;SHADDA
+P k > U+0642 ; Ottoman qaf
+UL k UL k > U+063A U+0651 ;;SHADDA
+UL k > U+063A
+k k > U+0643 U+0651 ;;SHADDA
+k > U+0643
+C g C g > U+06A0 U+0651 ;;SHADDA
+C g > U+06A0
+CO j CO j > U+0684 U+0651 ;;SHADDA
+CO j > U+0684
+j j > U+0698 U+0651 ;;SHADDA
+j > U+0698
+Q I > U+0650 U+064A
+C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya
+UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ###
+I > U+064A
+Q i N > U+064D
+i N > ;
+Q i > U+0650
+x x > U+062E U+0651 ;;SHADDA
+x > U+062E
+UL h UL h > U+062E U+0651 ;;SHADDA
+UL h > U+062E
+(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA
+(P h|U+1E25) > U+062D
+V h V h > U+06C1 U+0651 ;;SHADDA
+V h > U+06C1
+h h > U+0647 U+0651 ;;SHADDA
+h > U+0647
+CO g CO g > U+06B3 U+0651 ;;SHADDA
+CO g > U+06B3
+V g V g > U+06AC U+0651 ;;SHADDA
+V g > U+06AC ; kaf with dot above
+P g P g > U+063A U+0651 ;;SHADDA
+P g > U+063A
+g g > U+06AF U+0651 ;;SHADDA
+g > U+06AF
+G G > U+06AB U+0651 ;;SHADDA
+G > U+06AB ;pashto
+P f P f > U+06A1 U+0651 ;;SHADDA
+P f > U+06A1
+f f > U+0641 U+0651 ;;SHADDA
+f > U+0641
+V d V d > U+068A U+0651 ;;SHADDA
+V d > U+068A
+P V d P V d > U+068B U+0651 ;;SHADDA
+P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi)
+C d C d > U+06EE U+0651 ;;SHADDA
+C d > U+06EE ; not defined in ArabTeX
+CO d CO d > U+068F U+0651 ;;SHADDA
+CO d > U+068F
+UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA
+UL (d|z) > U+0630
+(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA
+(P d|U+1E0D) > U+0636
+d d > U+062F U+0651 ;;SHADDA
+d > U+062F
+V c V c > U+0686 U+0651 ;;SHADDA
+V c > U+0686 ; Ottoman ç
+C c C c > U+0686 U+0651 ;;SHADDA
+C c > U+0686
+P C c P C c > U+06BF U+0651 ;;SHADDA
+P C c > U+06BF ;; cheh with dot above <<<
+c c > U+062C U+0651 ;;SHADDA
+c > U+062C
+CO c CO c > U+0682 U+0651 ;;SHADDA
+CO c > U+0682 ; old pashto
+CO b CO b > U+067B U+0651 ;;SHADDA
+CO b > U+067B
+P b P b > U+066E U+0651 ;;SHADDA
+P b > U+066E
+b b > U+0628 U+0651 ;;SHADDA
+b > U+0628
+H A > U+0622
+C A > U+064E U+0622 ; historical spelling
+UL A > U+0649
+UL a > U+0670
+UL u > ;
+UL i > ;
+Q AN / (A H|Ha) _ > U+064B
+AN / (A H|Ha) _ > ;
+Q AN > U+0627 U+064B
+AN > U+0627
+Q a > U+064E
+Q A > U+064E U+0627
+A > U+0627
+Ain Ain > U+0639 U+0651 ;;SHADDA
+Ain > U+0639
+H H > U+0621 U+0651 ;;SHADDA
+H > U+0621
+U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma
+Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash
+(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks
+[Digits] > [ArDigits]
+Z Z Z / # _ # > U+2014
+Z Z / # _ # > U+2013
+Z Z > U+0640
+B > U+0640
+Z / # _ > U+200D ; -x > force initial form with "zero-width joiner"
+Z / _ # > U+200D ; x- > force final form
+U+003C U+003C > U+00BB ;<<
+U+003E U+003E > U+00AB ;>>
+U+00AB > U+00BB
+U+00BB > U+00AB
+UL > U+0640 ;_
+U+003F > U+061F ;?
+U+003B > U+061B ;;
+U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above...
+U+002C > U+060C ;,
+U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ...
+U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual
+ ; analysis, so quoting of hamzas etc may be necessary
+;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules
+;U+005B > U+005D ;[
+[VWL] > ;stripoff vowels
+Q > U+0652
+U+00B0 > U+0652 ; °
+N > ;
+C > ;^
+Z > ;-
+BAR > ;|
+
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-turk-novoc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-turk-novoc.tec
index a58c0a010a8..95903a8c0ab 100644
--- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-turk-novoc.tec
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-turk-novoc.tec
Binary files differ
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-turk-voc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-turk-voc.map
new file mode 100644
index 00000000000..60c1d10e045
--- /dev/null
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-turk-voc.map
@@ -0,0 +1,480 @@
+LHSName "ArabTeX-turk-vocalized"
+RHSName "UNICODE"
+
+Define a U+0061 ;a
+Define b U+0062 ;b
+Define c U+0063 ;c
+Define d U+0064 ;d
+Define e U+0065 ;e
+Define f U+0066 ;f
+Define g U+0067 ;g
+Define h U+0068 ;h
+Define i U+0069 ;i
+Define j U+006A ;j
+Define k U+006B ;k
+Define l U+006C ;l
+Define m U+006D ;m
+Define n U+006E ;n
+Define o U+006F ;o
+Define p U+0070 ;p
+Define q U+0071 ;q
+Define r U+0072 ;r
+Define s U+0073 ;s
+Define t U+0074 ;t
+Define u U+0075 ;u
+Define v U+0076 ;v
+Define w U+0077 ;w
+Define x U+0078 ;x
+Define y U+0079 ;y
+Define z U+007A ;z
+Define A U+0041 ;A
+Define B U+0042 ;B
+Define E U+0045 ;E
+Define G U+0047 ;G
+Define I U+0049 ;I
+Define N U+004E ;N
+Define O U+004F ;O
+Define T U+0054 ;T
+Define U U+0055 ;U
+Define W U+0057 ;W
+Define Y U+0059 ;Y
+Define C U+005E ;^ << CARET
+Define UL U+005F ;_ << UNDERLINE
+Define P U+002E ;. << DOT
+Define V U+002C ;, << COMMA (_V_irgule)
+Define CO U+003A ;: << COLON
+Define SC U+003B ;; << SEMICOLON
+Define Ain U+0060 ;`
+Define H U+0027 ;' << HAMZA
+Define Q U+0022 ;" << QUOTE
+Define Z U+002D ;- << HYPHEN
+Define BAR U+007C ;|
+Define AN U+0061 U+004E ; aN
+Define LLAH U+006C U+006C U+005F U+0061 U+0068
+;Define NUL U+00A6;
+Define Ha U+0623
+Define Hi U+0625
+Define Hy U+0626
+Define Hw U+0624
+Define Hh U+06C0 ;; = U+0647 U+0654
+Define HA U+0622
+Define HB U+0640 U+0654
+Define HBAR U+0621 ; '|
+
+pass(Unicode)
+
+U+E000 > ; eliminate special code for capitalization in transliterations
+
+pass(Unicode)
+
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [AVWL] = (U+064B..U+0650);
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" `
+Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ”
+Class [PUNCT] = (V SC P CO)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u)
+;Class [ae] = (U+0061 U+0065) ;(a e)
+;Class [ou] = (U+0075 U+006F) ;(u o)
+Class [Iyi] = (U+0069 U+0079 U+0049)
+Class [UI] = (U+0049 U+0055) ; U I
+Class [Digits] = (U+0030..U+0039)
+
+Define BEG (#|Z|[BRACKETS])
+Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #)
+Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z)
+
+; special ligatures
+;; 1. Standard ArabTeX input
+;; WARNING! there are, alas, two classes of Arabic fonts:
+;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2
+;; For these the ligature llah can be accessed by the sequence lam-lam-ha
+;; b) Those that do not have the initial alif in U+FDF2
+;; The BAR is used in the DMG transliteration to suppress the initial A
+(a|A) BAR? l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah'
+LLAH > U+FDF2 ;; 'll_ah' > U+FDF2
+;; UPPERCASE mnemonics for various ligatures or special glyphs
+;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode
+U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h'
+U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic
+;; 2b. Ligatures and glyphs defined in Unicode:
+ U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH'
+ U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH'
+
+U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam
+U+0028 U+0028 > U+FD3F ;; '((' : ornate right par
+U+0029 U+0029 > U+FD3E ;; '))' : ornate left par
+U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign
+;; most fonts won't have the following ones:
+U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign)
+U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign
+U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR'
+U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD'
+U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM'
+U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL')
+U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE')
+U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM'
+U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA'
+U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu"
+U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik
+
+U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY
+U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY
+U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM-
+U+005E U+004C U+0041 > U+06D9 ;; ^LA
+U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM
+U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS
+U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN
+U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB
+U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO
+U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO
+U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM
+U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM
+U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN
+U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA
+U+0057 U+0041 U+0057 > U+06E5 ;; WAW
+U+0059 U+0045 U+0048 > U+06E6 ;; YEH
+U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH
+U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN
+U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA
+U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP
+U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP
+U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP
+U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM
+
+U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::")
+
+;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts
+U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]]
+
+
+; vowels
+u u > U
+i i > I
+a a > A
+CO O > U+06FC ;
+a e > a y
+a o > a w
+CO U > U+06C7 ;
+e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish)
+o > u
+I / _ # > i y
+
+
+;; Persian ezafe (ALL BUT ARABIC AND UIGHUR)
+U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<<
+U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I
+Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e
+Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I
+Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i
+Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i
+Z / U+0048 _ > U+0020 ;
+b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen
+
+;; initial characters ...
+a l Z / BEG _ > U+0627 l Z
+;; wasla on initial alif : NEW! NOT TESTED!
+H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI
+[VWL]=v1 / BEG _ > U+0627 @v1
+Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U
+; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I
+Q?=q1 I / BEG _ > U+0627 @q1 i y
+
+
+;; Words with anomalous orthography:
+
+; mi'aT -> ماية
+;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy
+m Q i H Q a / _ (T|t) > m U+0627 Hy
+m Q i H a / _ (T|t) > m U+0627 Hy a
+m i H Q a / _ (T|t) > m i U+0627 Hy
+m i H a / _ (T|t) > m i U+0627 Hy a
+
+
+;; contextual analysis of hamzas
+;; THESE DO NOT APPLY FOR SINDHI
+
+; initial hamzas
+H / (#|^[LTR]) _ Q? [Iyi] > Hi
+H Q A / (#|^[LTR]) _ > HA ; alif madda
+H / (#|^[LTR]) _ Q? [Uwu] > Ha
+H / (#|^[LTR]) _ Q? a > Ha
+Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word
+
+; quoted hamzas in contextual mode, equivalent to verbatim mode
+a Q H > Ha
+i Q H > Hi
+y Q H > Hy
+w Q H > Hw
+h Q H > Hh
+A Q H > HA
+B Q H > HB
+BAR Q H > HBAR
+
+; hamza + fathatan
+H / a _ Q? AN > Ha
+;;H / [Iyi] _ Q? AN > Hy
+H / _ Q? AN > Hy
+
+;final hamzas
+H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ...
+H / a _ Q? (#|^[LTR]) > Ha ; not AN...
+H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN...
+H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy
+H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw
+
+;;and more hamzas ...
+
+; n°1: kasra/ya
+H / [LTR] _ Q? [Iyi] ^N > Hy
+H / [Iyi] _ > Hy
+
+; n°2: damma/waw
+H / [LTR] _ Q? (U|u) ^N > Hw
+H / (U|u) _ Q? ^[Iyi] > Hw
+H / U _ > HBAR
+
+; n°3: fatha/alif
+H Q? A > HA
+H / A _ Q? a > HBAR
+H / ^[UI] _ Q? a > Ha
+H / a _ Q? ^[UI] > Ha
+
+
+pass(Unicode)
+
+Class [Digits] = (U+0030..U+0039)
+Class [ArDigits] = (U+0660..U+0669)
+Class [ArEasternDigits] = (U+06F0..U+06F9)
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+
+
+
+
+;normal code
+
+
+(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA
+(P z|U+1E93) > U+0638
+C z C z > U+0698 U+0651 ;;SHADDA
+C z > U+0698
+V z V z > U+0636 U+0651 ;;SHADDA
+V z > U+0636
+z z > U+0632 U+0651 ;;SHADDA
+z > U+0632
+Q Y Y > U+0649 U+0651 ;;SHADDA
+Q Y > U+0649
+Y Y > U+064E U+0649 U+0651 ;;SHADDA
+Y > U+064E U+0649
+;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots
+y y > U+06CC U+0651 ;;SHADDA
+y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots
+v v > U+06A4 U+0651 ;;SHADDA
+v > U+06A4
+W > U+0648 U+0627 ; waw + alif
+C U > U+064F U+0648 U+0653; historical spelling : madda on waw
+C w C w > U+06C9 U+0651 ;;SHADDA
+C w > U+06C9
+CO w CO w > U+06CA U+0651 ;,SHADDA
+CO w > U+06CA
+U A / _ # > U+064F U+0648 U+0627
+Q U [Uw] > U+0648 U+0651 ;;SHADDA
+Q U > U+0648
+U [Uw] > U+064F U+0648 U+0651 ;;SHADDA
+U > U+064F U+0648
+w w > U+0648 U+0651 ;;SHADDA
+w > U+0648
+Q u N? >
+u N > U+064C
+u > U+064F
+V t V t > U+0679 U+0651 ;;SHADDA
+V t > U+0679 ;urdu
+UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA
+UL (t|s) > U+062B
+(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA
+(P t|U+1E6D) > U+0637
+t t > U+062A U+0651 ;;SHADDA
+t > U+062A
+T T Q AN > U+0629 U+0651 ;;SHADDA
+T Q AN > U+0629
+T AN > U+0629 U+064B
+T T > U+0629 U+0651 ;;SHADDA
+T > U+0629
+C s C s > U+0634 U+0651 ;;SHADDA
+C s > U+0634
+(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA
+(P s|U+1E63) > U+0635
+V s V s > U+0634 U+0651 ;;SHADDA
+V s > U+0634
+CO s CO s > U+069B U+0651 ;;SHADDA
+CO s > U+069B ; sin with 3 dots below
+s s > U+0633 U+0651 ;;SHADDA
+s > U+0633
+C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<<
+C r > U+06EF
+CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<<
+CO r > U+0697 ; Dargwa language, Dagestan
+P r P r > U+0694 U+0651 ;;SHADDA
+P r > U+0694 ; r with dot below; in Kurdish .r -> 0694
+V r V r > U+0691 U+0651 ;;SHADDA
+V r > U+0691 ;Urdu
+r r > U+0631 U+0651 ;;SHADDA
+r > U+0631
+P q P q > U+066F U+0651 ;;SHADDA
+P q > U+066F
+q q > U+0642 U+0651 ;;SHADDA
+q > U+0642
+p p > U+067E U+0651 ;;SHADDA
+p > U+067E
+CO n CO n > U+06B1 U+0651 ;;SHADDA
+CO n > U+06B1
+C n C n > U+06AD U+0651 ;;SHADDA
+C n > U+06AD
+P n P n > U+06BA U+0651 ;;SHADDA
+P n > U+06BA ; urdu
+V n V n > U+06BC U+0651 ;;SHADDA
+V n > U+06BC ; Pashto
+n n > U+0646 U+0651 ;;SHADDA
+n > U+0646
+m m > U+0645 U+0651 ;;SHADDA
+m > U+0645
+P l P l > U+06B6 U+0651 ;
+P l > U+06B6 ; ADDED <<<
+C l C l > U+06B5 U+0651 ;;SHADDA
+C l > U+06B5 ;kurdish
+l l > U+0644 U+0651 ;;SHADDA
+l > U+0644
+P k P k > U+0642 U+0651 ;;SHADDA
+P k > U+0642 ; Ottoman qaf
+UL k UL k > U+063A U+0651 ;;SHADDA
+UL k > U+063A
+k k > U+0643 U+0651 ;;SHADDA
+k > U+0643
+C g C g > U+06A0 U+0651 ;;SHADDA
+C g > U+06A0
+CO j CO j > U+0684 U+0651 ;;SHADDA
+CO j > U+0684
+j j > U+0698 U+0651 ;;SHADDA
+j > U+0698
+Q I > U+064A
+I > U+0650 U+064A
+C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya
+UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ###
+Q i N? > ;
+i N > U+064D
+i > U+0650
+x x > U+062E U+0651 ;;SHADDA
+x > U+062E
+UL h UL h > U+062E U+0651 ;;SHADDA
+UL h > U+062E
+(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA
+(P h|U+1E25) > U+062D
+V h V h > U+06C1 U+0651 ;;SHADDA
+V h > U+06C1
+h h > U+0647 U+0651 ;;SHADDA
+h > U+0647
+CO g CO g > U+06B3 U+0651 ;;SHADDA
+CO g > U+06B3
+V g V g > U+06AC U+0651 ;;SHADDA
+V g > U+06AC ; kaf with dot above
+P g P g > U+063A U+0651 ;;SHADDA
+P g > U+063A
+g g > U+06AF U+0651 ;;SHADDA
+g > U+06AF
+G G > U+06AB U+0651 ;;SHADDA
+G > U+06AB ;pashto
+P f P f > U+06A1 U+0651 ;;SHADDA
+P f > U+06A1
+f f > U+0641 U+0651 ;;SHADDA
+f > U+0641
+V d V d > U+068A U+0651 ;;SHADDA
+V d > U+068A
+P V d P V d > U+068B U+0651 ;;SHADDA
+P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi)
+C d C d > U+06EE U+0651 ;;SHADDA
+C d > U+06EE ; not defined in ArabTeX
+CO d CO d > U+068F U+0651 ;;SHADDA
+CO d > U+068F
+UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA
+UL (d|z) > U+0630
+(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA
+(P d|U+1E0D) > U+0636
+d d > U+062F U+0651 ;;SHADDA
+d > U+062F
+V c V c > U+0686 U+0651 ;;SHADDA
+V c > U+0686 ; Ottoman ç
+C c C c > U+0686 U+0651 ;;SHADDA
+C c > U+0686
+P C c P C c > U+06BF U+0651 ;;SHADDA
+P C c > U+06BF ;; cheh with dot above <<<
+c c > U+062C U+0651 ;;SHADDA
+c > U+062C
+CO c CO c > U+0682 U+0651 ;;SHADDA
+CO c > U+0682 ; old pashto
+CO b CO b > U+067B U+0651 ;;SHADDA
+CO b > U+067B
+P b P b > U+066E U+0651 ;;SHADDA
+P b > U+066E
+b b > U+0628 U+0651 ;;SHADDA
+b > U+0628
+H A > U+0622
+C A > U+064E U+0622 ; historical spelling
+UL A > U+064E U+0649
+UL a > U+0670
+UL u > U+064F;
+UL i > U+0650;
+Q AN / (A H|Ha) _ > ;
+AN / (A H|Ha) _ > U+064B
+Q AN > U+0627
+AN > U+0627 U+064B
+Q a >
+a > U+064E
+Q A > U+0627
+A > U+064E U+0627
+Ain Ain > U+0639 U+0651 ;;SHADDA
+Ain > U+0639
+H H > U+0621 U+0651 ;;SHADDA
+H > U+0621
+U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma
+Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash
+(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks
+[Digits] > [ArDigits]
+Z Z Z / # _ # > U+2014
+Z Z / # _ # > U+2013
+Z Z > U+0640
+B > U+0640
+Z / # _ > U+200D ; -x > force initial form with "zero-width joiner"
+Z / _ # > U+200D ; x- > force final form
+U+003C U+003C > U+00BB ;<<
+U+003E U+003E > U+00AB ;>>
+U+00AB > U+00BB
+U+00BB > U+00AB
+UL > U+0640 ;_
+U+003F > U+061F ;?
+U+003B > U+061B ;;
+U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above...
+U+002C > U+060C ;,
+U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ...
+U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual
+ ; analysis, so quoting of hamzas etc may be necessary
+;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules
+;U+005B > U+005D ;[
+Q [VWL] > ;stripoff quoted vowels
+Q > U+0652
+U+00B0 > U+0652 ; °
+N > ;
+C > ;^
+BAR > ;|
+
+pass(Unicode)
+
+Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-)
+Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc.
+Class [VWL] = (U+0627 U+0648..U+0650 U+0670);
+Z > ;
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-uighur.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-uighur.map
new file mode 100644
index 00000000000..2b3923d1e2a
--- /dev/null
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-uighur.map
@@ -0,0 +1,277 @@
+LHSName "ArabTeX-Uighur"
+RHSName "UNICODE"
+
+Define a U+0061 ;a
+Define b U+0062 ;b
+Define c U+0063 ;c
+Define d U+0064 ;d
+Define e U+0065 ;e
+Define f U+0066 ;f
+Define g U+0067 ;g
+Define h U+0068 ;h
+Define i U+0069 ;i
+Define j U+006A ;j
+Define k U+006B ;k
+Define l U+006C ;l
+Define m U+006D ;m
+Define n U+006E ;n
+Define o U+006F ;o
+Define p U+0070 ;p
+Define q U+0071 ;q
+Define r U+0072 ;r
+Define s U+0073 ;s
+Define t U+0074 ;t
+Define u U+0075 ;u
+Define v U+0076 ;v
+Define w U+0077 ;w
+Define x U+0078 ;x
+Define y U+0079 ;y
+Define z U+007A ;z
+Define A U+0041 ;A
+Define B U+0042 ;B
+Define E U+0045 ;E
+Define G U+0047 ;G
+Define I U+0049 ;I
+Define N U+004E ;N
+Define O U+004F ;O
+Define T U+0054 ;T
+Define U U+0055 ;U
+Define Y U+0059 ;Y
+Define C U+005E ;^ << CARET
+Define UL U+005F ;_ << UNDERLINE
+Define P U+002E ;. << DOT
+Define V U+002C ;, << COMMA (_V_irgule)
+Define CO U+003A ;: << COLON
+Define Ain U+0060 ;`
+Define H U+0027 ;' << HAMZA
+Define Q U+0022 ;" << QUOTE
+Define Z U+002D ;- << HYPHEN
+Define BAR U+007C ;|
+Define LLAH U+006C U+006C U+005F U+0061 U+0068
+
+pass(Unicode)
+
+Class [Digits] = (U+0030..U+0039)
+Class [ArDigits] = (U+0660..U+0669)
+
+
+; special ligatures
+;; 1. Standard ArabTeX input
+;; WARNING! there are, alas, two classes of Arabic fonts:
+;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2
+;; For these the ligature llah can be accessed by the sequence lam-lam-ha
+;; b) Those that do not have the initial alif in U+FDF2
+(a|A) l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah'
+LLAH > U+FDF2 ;; 'll_ah' > U+FDF2
+;; UPPERCASE mnemonics for various ligatures or special glyphs
+;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode
+U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h'
+U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic
+;; 2b. Ligatures and glyphs defined in Unicode:
+ U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH'
+ U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH'
+
+U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam
+U+0028 U+0028 > U+FD3F ;; '((' : ornate right par
+U+0029 U+0029 > U+FD3E ;; '))' : ornate left par
+U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign
+;; most fonts won't have the following ones:
+U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign)
+U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign
+U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR'
+U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD'
+U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM'
+U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL)'
+U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE)'
+U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM'
+U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA'
+U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu"
+U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik
+
+U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY
+U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY
+U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM
+U+005E U+004C U+0041 > U+06D9 ;; ^LA
+U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM
+U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS
+U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN
+U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB
+U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO
+U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO
+U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA
+
+U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::")
+
+;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts
+U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]]
+
+
+; vowels
+
+a / # _ > U+0626 U+0627
+a > U+0627
+(CO a|U+00E4) / # _ > U+0626 U+0647 U+200C
+(CO a|U+00E4) > U+0647 U+200C
+o / # _ > U+0626 U+0648 ;
+o > U+0648 ;
+(CO o|U+00F6) / # _ > U+0626 U+06C6
+(CO o|U+00F6) > U+06C6
+i / # _ # > U+0626 U+0649
+i / # _ > U+0626 U+066E
+i / _ # > U+0649
+i > U+066E
+e / # _ > U+0626 U+06D0
+e > U+06D0
+u / # _ > U+0626 U+06C7 ;
+u > U+06C7 ;
+(CO u|U+00FC) / # _ > U+0626 U+06C8 ;
+(CO u|U+00FC) > U+06C8 ;
+l Q a > U+0644 U+064E U+0627 ;
+l a > U+0644 U+0627 ;
+
+P z P z > U+0638 U+0651 ;;SHADDA
+P z > U+0638
+C z C z > U+0698 U+0651 ;;SHADDA
+C z > U+0698
+V z V z > U+0696 U+0651 ;pashto ;;SHADDA
+V z > U+0696 ;pashto
+z z > U+0632 U+0651 ;;SHADDA
+z > U+0632
+Y Y > U+0649 U+0651 ;;SHADDA
+Y > U+0649
+w w > U+06CB U+0651 ;;SHADDA
+w > U+06CB
+y y > U+064A U+0651 ;;SHADDA
+y > U+064A
+v v > U+06A4 U+0651 ;;SHADDA
+v > U+06A4
+V t V t > U+0679 U+0651 ; urdu ;;SHADDA
+V t > U+0679
+UL t UL t > U+062B U+0651 ;;SHADDA
+UL t > U+062B
+P t P t > U+0637 U+0651 ;;SHADDA
+P t > U+0637
+t t > U+062A U+0651 ;;SHADDA
+t > U+062A
+T T > U+0629 U+0651 ;;SHADDA
+T > U+0629
+C s C s > U+0634 U+0651 ;;SHADDA
+C s > U+0634
+P s P s > U+0635 U+0651 ;;SHADDA
+P s > U+0635
+V s V s > U+069A U+0651 ;Pashto ;;SHADDA
+V s > U+069A ;Pashto
+CO s > U+069B ; sin with 3 dots below
+s s > U+0633 U+0651 ;;SHADDA
+s > U+0633
+C r C r > U+0692 U+0651 ;Kurdish ;;SHADDA ; missing in ArabTeX <<<
+C r > U+0692
+P r P r > U+0695 U+0651 ;Kurdish ;;SHADDA
+P r > U+0695
+V r V r > U+0691 U+0651 ;Urdu ;;SHADDA
+V r > U+0691 ;Urdu
+r r > U+0631 U+0651 ;;SHADDA
+r > U+0631
+P q P q > U+066F U+0651 ;;SHADDA
+P q > U+066F
+q q > U+0642 U+0651 ;;SHADDA
+q > U+0642
+p p > U+067E U+0651 ;;SHADDA
+p > U+067E
+C n C n > U+06AD U+0651 ;;SHADDA
+C n > U+06AD
+P n P n > U+06BA U+0651 ; urdu ;;SHADDA
+P n > U+06BA ;
+V n V n > U+06BC U+0651 ; Pashto
+V n > U+06BC ; Pashto
+n n > U+0646 U+0651 ;;SHADDA
+n > U+0646
+m m > U+0645 U+0651 ;;SHADDA
+m > U+0645
+C l C l > U+06B5 U+0651 ;kurdish ;;SHADDA
+C l > U+06B5
+l l > U+0644 U+0651 ;;SHADDA
+l > U+0644
+P k P k > U+06A9 U+0651 ; pashto urdu ;;SHADDA
+P k > U+06A9
+UL k UL k > U+063A U+0651 ;;SHADDA
+UL k > U+063A
+k k > U+0643 U+0651 ;;SHADDA
+k > U+0643
+j j > U+062C U+0651 ;;SHADDA
+j > U+062C
+x x > U+062E U+0651 ;;SHADDA
+x > U+062E
+UL h UL h > U+062E U+0651 ;;SHADDA
+UL h > U+062E
+P h P h > U+062D U+0651 ;;SHADDA
+P h > U+062D
+V h V h > U+06C1 U+0651
+V h > U+06C1
+h h > U+0647 U+0651 ;;SHADDA
+h > U+0647
+V g V g > U+06AC U+0651 ;;SHADDA
+V g > U+06AC ; kaf with dot above
+P g P g > U+063A U+0651 ;;SHADDA
+P g > U+063A
+C g C g > U+063A U+0651 ;;SHADDA
+C g > U+063A
+g g > U+06AF U+0651 ;;SHADDA
+g > U+06AF
+G G > U+06AB U+0651 ;pashto ;;SHADDA
+G > U+06AB ;pashto
+P f P f > U+06A1 U+0651 ;;SHADDA
+P f > U+06A1
+f f > U+0641 U+0651 ;;SHADDA
+f > U+0641
+V d V d > U+0688 U+0651 ;urdu ;;SHADDA
+V d > U+0688 ;urdu
+C d C d > U+06EE ; not defined in ArabTeX U+0651 ;;SHADDA
+C d > U+06EE ; not defined in ArabTeX
+UL d UL d > U+0630 U+0651 ;;SHADDA
+UL d > U+0630
+P d P d > U+0636 U+0651 ;;SHADDA
+P d > U+0636
+d d > U+062F U+0651 ;;SHADDA
+d > U+062F
+V c V c > U+0685 U+0651 ;pashto ;;SHADDA
+V c > U+0685
+C c C c > U+0686 U+0651 ;;SHADDA
+C c > U+0686
+c c > U+0681 U+0651
+c > U+0681 ; ح with hamza above
+P b P b > U+066E U+0651 ;;SHADDA
+P b > U+066E
+b b > U+0628 U+0651 ;;SHADDA
+b > U+0628
+Ain Ain > U+0639 U+0651 ;;SHADDA
+Ain > U+0639
+H > U+0626
+U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma
+Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash
+(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks
+[Digits] > [ArDigits]
+Z Z Z / # _ # > U+2014
+Z Z / # _ # > U+2013
+Z Z > U+0640
+B > U+0640
+Z / # _ > U+200D ; -x > force initial form with "zero-width joiner"
+Z / _ # > U+200D ; x- > force final form
+U+003C U+003C > U+00BB ;<<
+U+003E U+003E > U+00AB ;>>
+U+00AB > U+00BB
+U+00BB > U+00AB
+UL > U+0640 ;_
+U+003F > U+061F ;?
+U+003B > U+061B ;;
+U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above...
+U+002C > U+060C ;,
+U+005D / . _ . > U+200D U+005D U+200D ; keep shaping when inserting ...[...]...
+U+005B / . _ . > U+200D U+005B U+200D ; ... (but of course this screws up contextual analysis, so quoting of hamzas etc may be necessary)
+Q > ;
+N > ;
+C > ;^
+Z > ;-
+BAR > ;|
+
+
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-urdu-fullvoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-urdu-fullvoc.map
new file mode 100644
index 00000000000..6dcb6cec050
--- /dev/null
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-urdu-fullvoc.map
@@ -0,0 +1,499 @@
+LHSName "ArabTeX-urdu-fullvocalized"
+RHSName "UNICODE"
+
+Define a U+0061 ;a
+Define b U+0062 ;b
+Define c U+0063 ;c
+Define d U+0064 ;d
+Define e U+0065 ;e
+Define f U+0066 ;f
+Define g U+0067 ;g
+Define h U+0068 ;h
+Define i U+0069 ;i
+Define j U+006A ;j
+Define k U+006B ;k
+Define l U+006C ;l
+Define m U+006D ;m
+Define n U+006E ;n
+Define o U+006F ;o
+Define p U+0070 ;p
+Define q U+0071 ;q
+Define r U+0072 ;r
+Define s U+0073 ;s
+Define t U+0074 ;t
+Define u U+0075 ;u
+Define v U+0076 ;v
+Define w U+0077 ;w
+Define x U+0078 ;x
+Define y U+0079 ;y
+Define z U+007A ;z
+Define A U+0041 ;A
+Define B U+0042 ;B
+Define E U+0045 ;E
+Define G U+0047 ;G
+Define I U+0049 ;I
+Define N U+004E ;N
+Define O U+004F ;O
+Define T U+0054 ;T
+Define U U+0055 ;U
+Define W U+0057 ;W
+Define Y U+0059 ;Y
+Define C U+005E ;^ << CARET
+Define UL U+005F ;_ << UNDERLINE
+Define P U+002E ;. << DOT
+Define V U+002C ;, << COMMA (_V_irgule)
+Define CO U+003A ;: << COLON
+Define SC U+003B ;; << SEMICOLON
+Define Ain U+0060 ;`
+Define H U+0027 ;' << HAMZA
+Define Q U+0022 ;" << QUOTE
+Define Z U+002D ;- << HYPHEN
+Define BAR U+007C ;|
+Define AN U+0061 U+004E ; aN
+Define LLAH U+006C U+006C U+005F U+0061 U+0068
+;Define NUL U+00A6;
+Define Ha U+0623
+Define Hi U+0625
+Define Hy U+0626
+Define Hw U+0624
+Define Hh U+06C0 ;; = U+0647 U+0654
+Define HA U+0622
+Define HB U+0640 U+0654
+Define HBAR U+0621 ; '|
+
+pass(Unicode)
+
+U+E000 > ; eliminate special code for capitalization in transliterations
+
+pass(Unicode)
+
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [AVWL] = (U+064B..U+0650);
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" `
+Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ”
+Class [PUNCT] = (V SC P CO)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u)
+;Class [ae] = (U+0061 U+0065) ;(a e)
+;Class [ou] = (U+0075 U+006F) ;(u o)
+Class [Iyi] = (U+0069 U+0079 U+0049)
+Class [UI] = (U+0049 U+0055) ; U I
+Class [Digits] = (U+0030..U+0039)
+
+Define BEG (#|Z|[BRACKETS])
+Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #)
+Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z)
+
+; special ligatures
+;; 1. Standard ArabTeX input
+;; WARNING! there are, alas, two classes of Arabic fonts:
+;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2
+;; For these the ligature llah can be accessed by the sequence lam-lam-ha
+;; b) Those that do not have the initial alif in U+FDF2
+;; The BAR is used in the DMG transliteration to suppress the initial A
+(a|A) BAR? l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah'
+LLAH > U+FDF2 ;; 'll_ah' > U+FDF2
+;; UPPERCASE mnemonics for various ligatures or special glyphs
+;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode
+U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h'
+U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic
+;; 2b. Ligatures and glyphs defined in Unicode:
+ U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH'
+ U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH'
+
+U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam
+U+0028 U+0028 > U+FD3F ;; '((' : ornate right par
+U+0029 U+0029 > U+FD3E ;; '))' : ornate left par
+U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign
+;; most fonts won't have the following ones:
+U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign)
+U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign
+U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR'
+U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD'
+U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM'
+U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL')
+U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE')
+U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM'
+U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA'
+U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu"
+U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik
+
+U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY
+U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY
+U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM-
+U+005E U+004C U+0041 > U+06D9 ;; ^LA
+U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM
+U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS
+U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN
+U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB
+U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO
+U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO
+U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM
+U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM
+U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN
+U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA
+U+0057 U+0041 U+0057 > U+06E5 ;; WAW
+U+0059 U+0045 U+0048 > U+06E6 ;; YEH
+U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH
+U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN
+U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA
+U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP
+U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP
+U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP
+U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM
+
+U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::")
+
+;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts
+U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]]
+
+
+; vowels
+u u > U
+i i > I
+a a > A
+CO O > U+06FC ;
+H E > U+06D3 ;; hamza + yeh barree
+E / _ # > U+06D2
+E > y
+a e / _ # > a U+06D2
+a e > a y
+a o > a w
+(o|u)? O / # _ > U+0627 w
+(o|u)? O > w
+CO U > U+06C7 ;
+e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish)
+o > u
+I / _ # > i y
+
+
+;; Persian ezafe (ALL BUT ARABIC AND UIGHUR)
+U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<<
+U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I
+Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e
+Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I
+Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i
+Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i
+Z / U+0048 _ > U+0020 ;
+b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen
+
+;; initial characters ...
+a l Z / BEG _ > U+0627 l Z
+;; wasla on initial alif : NEW! NOT TESTED!
+H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI
+[VWL]=v1 / BEG _ > U+0627 @v1
+A / BEG _ > HA ;; ADD MORE ? <<<
+Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U
+; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I
+Q?=q1 I / BEG _ > U+0627 @q1 i y
+
+
+;; Words with anomalous orthography:
+
+; mi'aT -> ماية
+;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy
+m Q i H Q a / _ (T|t) > m U+0627 Hy
+m Q i H a / _ (T|t) > m U+0627 Hy a
+m i H Q a / _ (T|t) > m i U+0627 Hy
+m i H a / _ (T|t) > m i U+0627 Hy a
+
+
+;; contextual analysis of hamzas
+;; THESE DO NOT APPLY FOR SINDHI
+
+; initial hamzas
+H / (#|^[LTR]) _ Q? [Iyi] > Hi
+H Q A / (#|^[LTR]) _ > HA ; alif madda
+H / (#|^[LTR]) _ Q? [Uwu] > Ha
+H / (#|^[LTR]) _ Q? a > Ha
+Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word
+
+; quoted hamzas in contextual mode, equivalent to verbatim mode
+a Q H > Ha
+i Q H > Hi
+y Q H > Hy
+w Q H > Hw
+h Q H > Hh
+A Q H > HA
+B Q H > HB
+BAR Q H > HBAR
+
+; hamza + fathatan
+H / a _ Q? AN > Ha
+;;H / [Iyi] _ Q? AN > Hy
+H / _ Q? AN > Hy
+
+;final hamzas
+H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ...
+H / a _ Q? (#|^[LTR]) > Ha ; not AN...
+H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN...
+H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy
+H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw
+
+;;and more hamzas ...
+
+; n°1: kasra/ya
+H / [LTR] _ Q? [Iyi] ^N > Hy
+H / [Iyi] _ > Hy
+
+; n°2: damma/waw
+H / [LTR] _ Q? (U|u) ^N > Hw
+H / (U|u) _ Q? ^[Iyi] > Hw
+H / U _ > HBAR
+
+; n°3: fatha/alif
+H Q? A > HA
+H / A _ Q? a > HBAR
+H / ^[UI] _ Q? a > Ha
+H / a _ Q? ^[UI] > Ha
+
+
+pass(Unicode)
+
+Class [Digits] = (U+0030..U+0039)
+Class [ArDigits] = (U+0660..U+0669)
+Class [ArEasternDigits] = (U+06F0..U+06F9)
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+
+
+
+
+;normal code
+
+
+(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA
+(P z|U+1E93) > U+0638
+C z C z > U+0698 U+0651 ;;SHADDA
+C z > U+0698
+V z V z > U+0696 U+0651 ;;SHADDA
+V z > U+0696 ;pashto
+z z > U+0632 U+0651 ;;SHADDA
+z > U+0632
+Q Y Y > U+0649 U+0651 ;;SHADDA
+Q Y > U+0649
+Y Y > U+064E U+0649 U+0651 ;;SHADDA
+Y > U+064E U+0649
+;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots
+y y > U+06CC U+0651 ;;SHADDA
+y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots
+v v > U+06A4 U+0651 ;;SHADDA
+v > U+06A4
+W > U+0648 U+0627 ; waw + alif
+C U > U+064F U+0648 U+0653; historical spelling : madda on waw
+C w C w > U+06C9 U+0651 ;;SHADDA
+C w > U+06C9
+CO w CO w > U+06CA U+0651 ;,SHADDA
+CO w > U+06CA
+U A / _ # > U+064F U+0648 U+0627
+Q U [Uw] > U+0648 U+0651 ;;SHADDA
+Q U > U+0648
+U [Uw] > U+064F U+0648 U+0651 ;;SHADDA
+U > U+064F U+0648
+w w > U+0648 U+0651 ;;SHADDA
+w > U+0648
+Q u N? >
+u N > U+064C
+u > U+064F
+V t V t > U+0679 U+0651 ;;SHADDA
+V t > U+0679 ;urdu
+UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA
+UL (t|s) > U+062B
+(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA
+(P t|U+1E6D) > U+0637
+t t > U+062A U+0651 ;;SHADDA
+t > U+062A
+T T Q AN > U+0629 U+0651 ;;SHADDA
+T Q AN > U+0629
+T AN > U+0629 U+064B
+T T > U+0629 U+0651 ;;SHADDA
+T > U+0629
+C s C s > U+0634 U+0651 ;;SHADDA
+C s > U+0634
+(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA
+(P s|U+1E63) > U+0635
+V s V s > U+069A U+0651 ;;SHADDA
+V s > U+069A ;Pashto
+CO s CO s > U+069B U+0651 ;;SHADDA
+CO s > U+069B ; sin with 3 dots below
+s s > U+0633 U+0651 ;;SHADDA
+s > U+0633
+C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<<
+C r > U+06EF
+CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<<
+CO r > U+0697 ; Dargwa language, Dagestan
+P r P r > U+0694 U+0651 ;;SHADDA
+P r > U+0694 ; r with dot below; in Kurdish .r -> 0694
+V r V r > U+0691 U+0651 ;;SHADDA
+V r > U+0691 ;Urdu
+r r > U+0631 U+0651 ;;SHADDA
+r > U+0631
+P q P q > U+066F U+0651 ;;SHADDA
+P q > U+066F
+q q > U+0642 U+0651 ;;SHADDA
+q > U+0642
+p p > U+067E U+0651 ;;SHADDA
+p > U+067E
+CO n CO n > U+06B1 U+0651 ;;SHADDA
+CO n > U+06B1
+C n C n > U+06AD U+0651 ;;SHADDA
+C n > U+06AD
+P n P n > U+06BA U+0651 ;;SHADDA
+P n > U+06BA ; urdu
+V n V n > U+06BC U+0651 ;;SHADDA
+V n > U+06BC ; Pashto
+n n > U+0646 U+0651 ;;SHADDA
+n > U+0646
+m m > U+0645 U+0651 ;;SHADDA
+m > U+0645
+P l P l > U+06B6 U+0651 ;
+P l > U+06B6 ; ADDED <<<
+C l C l > U+06B5 U+0651 ;;SHADDA
+C l > U+06B5 ;kurdish
+l l > U+0644 U+0651 ;;SHADDA
+l > U+0644
+P k P k > U+06A9 U+0651 ;;SHADDA
+P k > U+06A9 ; pashto urdu
+UL k UL k > U+063A U+0651 ;;SHADDA
+UL k > U+063A
+k k > U+0643 U+0651 ;;SHADDA
+k > U+0643
+C g C g > U+062C U+0651 ;;SHADDA
+C g > U+062C
+CO j CO j > U+0684 U+0651 ;;SHADDA
+CO j > U+0684
+j j > U+062C U+0651 ;;SHADDA
+j > U+062C
+Q I > U+064A
+I > U+0650 U+064A
+C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya
+UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ###
+Q i N? > ;
+i N > U+064D
+i > U+0650
+x x > U+062E U+0651 ;;SHADDA
+x > U+062E
+U+0048 > U+06C3
+UL h UL h > U+062E U+0651 ;;SHADDA
+UL h > U+062E
+(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA
+(P h|U+1E25) > U+062D
+V h V h > U+06C1 U+0651 ;;SHADDA
+V h > U+06C1
+H H > U+06C1 U+0651 ;;SHADDA
+H > U+06C1
+h h > U+06BE U+0651 ;;SHADDA
+h > U+06BE ; urdu
+;; fix letter+h letter+h > letter+h shadda in URDU <<<
+CO g CO g > U+06B3 U+0651 ;;SHADDA
+CO g > U+06B3
+V g V g > U+06AC U+0651 ;;SHADDA
+V g > U+06AC ; kaf with dot above
+P g P g > U+063A U+0651 ;;SHADDA
+P g > U+063A
+g g > U+06AF U+0651 ;;SHADDA
+g > U+06AF
+G G > U+06AB U+0651 ;;SHADDA
+G > U+06AB ;pashto
+P f P f > U+06A1 U+0651 ;;SHADDA
+P f > U+06A1
+f f > U+0641 U+0651 ;;SHADDA
+f > U+0641
+V d V d > U+0688 U+0651 ;;SHADDA
+V d > U+0688 ;urdu
+P V d P V d > U+068B U+0651 ;;SHADDA
+P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi)
+C d C d > U+06EE U+0651 ;;SHADDA
+C d > U+06EE ; not defined in ArabTeX
+CO d CO d > U+068F U+0651 ;;SHADDA
+CO d > U+068F
+CO CO d CO CO d > U+0690 U+0651 ;;SHADDA
+CO CO d > U+0690 ; old urdu: not in ArabTeX
+UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA
+UL (d|z) > U+0630
+(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA
+(P d|U+1E0D) > U+0636
+d d > U+062F U+0651 ;;SHADDA
+d > U+062F
+V c V c > U+0685 U+0651 ;;SHADDA
+V c > U+0685 ;pashto
+C c C c > U+0686 U+0651 ;;SHADDA
+C c > U+0686
+P C c P C c > U+06BF U+0651 ;;SHADDA
+P C c > U+06BF ;; cheh with dot above <<<
+c c > U+0681 U+0651 ;;SHADDA
+c > U+0681 ; ح with hamza above
+CO c CO c > U+0682 U+0651 ;;SHADDA
+CO c > U+0682 ; old pashto
+CO b CO b > U+067B U+0651 ;;SHADDA
+CO b > U+067B
+P b P b > U+066E U+0651 ;;SHADDA
+P b > U+066E
+b b > U+0628 U+0651 ;;SHADDA
+b > U+0628
+H A > U+0622
+C A > U+064E U+0622 ; historical spelling
+UL A > U+064E U+0649
+UL a > U+0670
+UL u > U+064F;
+UL i > U+0650;
+Q AN / (A H|Ha) _ > ;
+AN / (A H|Ha) _ > U+064B
+Q AN > U+0627
+AN > U+0627 U+064B
+Q a >
+a > U+064E
+Q A > U+0627
+A > U+064E U+0627
+Ain Ain > U+0639 U+0651 ;;SHADDA
+Ain > U+0639
+H H > U+0621 U+0651 ;;SHADDA
+H > U+0621
+U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma
+Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash
+(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks
+[Digits] > [ArEasternDigits]
+Z Z Z / # _ # > U+2014
+Z Z / # _ # > U+2013
+Z Z > U+0640
+B > U+0640
+Z / # _ > U+200D ; -x > force initial form with "zero-width joiner"
+Z / _ # > U+200D ; x- > force final form
+U+003C U+003C > U+00BB ;<<
+U+003E U+003E > U+00AB ;>>
+U+00AB > U+00BB
+U+00BB > U+00AB
+UL > U+0640 ;_
+U+003F > U+061F ;?
+U+003B > U+061B ;;
+U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above...
+U+002C > U+060C ;,
+U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ...
+U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual
+ ; analysis, so quoting of hamzas etc may be necessary
+;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules
+;U+005B > U+005D ;[
+Q [VWL] > ;stripoff quoted vowels
+U+00B0 > U+0652 ; °
+N > ;
+C > ;^
+BAR > ;|
+P P > U+06D4 ; urdu full stop << check
+
+pass(Unicode)
+
+Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-)
+Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc.
+Class [VWL] = (U+0627 U+0648..U+0650 U+0670);
+[CONS]=k1 / _ Z? [CONS] ^U+0651 > @k1 U+0652 ; hack: 2nd consonant has no shadda
+U+064E (U+064A|U+0648)=hc / _ (^[VWLX]|#) > U+064E @hc U+0652 ; ay and aw diphtongs
+U+0627 / # _ U+0644 > U+0627 U+064E ; otherwise initial alif takes fatha
+[CONS]=k1 / _ ([CONS]|#) > @k1 U+0652 ; consonant + (consonant or final)
+;; [CONS]=k1 / _ # > @k1 U+0652 ; final consonant
+Q > ;
+Z > ;
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-urdu-fullvoc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-urdu-fullvoc.tec
index e413cc0c6b1..1eeca763f5f 100644
--- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-urdu-fullvoc.tec
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-urdu-fullvoc.tec
Binary files differ
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-urdu-novoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-urdu-novoc.map
new file mode 100644
index 00000000000..e606cd8bcce
--- /dev/null
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-urdu-novoc.map
@@ -0,0 +1,484 @@
+LHSName "ArabTeX-urdu-novowels"
+RHSName "UNICODE"
+
+Define a U+0061 ;a
+Define b U+0062 ;b
+Define c U+0063 ;c
+Define d U+0064 ;d
+Define e U+0065 ;e
+Define f U+0066 ;f
+Define g U+0067 ;g
+Define h U+0068 ;h
+Define i U+0069 ;i
+Define j U+006A ;j
+Define k U+006B ;k
+Define l U+006C ;l
+Define m U+006D ;m
+Define n U+006E ;n
+Define o U+006F ;o
+Define p U+0070 ;p
+Define q U+0071 ;q
+Define r U+0072 ;r
+Define s U+0073 ;s
+Define t U+0074 ;t
+Define u U+0075 ;u
+Define v U+0076 ;v
+Define w U+0077 ;w
+Define x U+0078 ;x
+Define y U+0079 ;y
+Define z U+007A ;z
+Define A U+0041 ;A
+Define B U+0042 ;B
+Define E U+0045 ;E
+Define G U+0047 ;G
+Define I U+0049 ;I
+Define N U+004E ;N
+Define O U+004F ;O
+Define T U+0054 ;T
+Define U U+0055 ;U
+Define W U+0057 ;W
+Define Y U+0059 ;Y
+Define C U+005E ;^ << CARET
+Define UL U+005F ;_ << UNDERLINE
+Define P U+002E ;. << DOT
+Define V U+002C ;, << COMMA (_V_irgule)
+Define CO U+003A ;: << COLON
+Define SC U+003B ;; << SEMICOLON
+Define Ain U+0060 ;`
+Define H U+0027 ;' << HAMZA
+Define Q U+0022 ;" << QUOTE
+Define Z U+002D ;- << HYPHEN
+Define BAR U+007C ;|
+Define AN U+0061 U+004E ; aN
+Define LLAH U+006C U+006C U+005F U+0061 U+0068
+;Define NUL U+00A6;
+Define Ha U+0623
+Define Hi U+0625
+Define Hy U+0626
+Define Hw U+0624
+Define Hh U+06C0 ;; = U+0647 U+0654
+Define HA U+0622
+Define HB U+0640 U+0654
+Define HBAR U+0621 ; '|
+
+pass(Unicode)
+
+U+E000 > ; eliminate special code for capitalization in transliterations
+
+pass(Unicode)
+
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [AVWL] = (U+064B..U+0650);
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" `
+Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ”
+Class [PUNCT] = (V SC P CO)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u)
+;Class [ae] = (U+0061 U+0065) ;(a e)
+;Class [ou] = (U+0075 U+006F) ;(u o)
+Class [Iyi] = (U+0069 U+0079 U+0049)
+Class [UI] = (U+0049 U+0055) ; U I
+Class [Digits] = (U+0030..U+0039)
+
+Define BEG (#|Z|[BRACKETS])
+Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #)
+Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z)
+
+; special ligatures
+;; 1. Standard ArabTeX input
+;; WARNING! there are, alas, two classes of Arabic fonts:
+;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2
+;; For these the ligature llah can be accessed by the sequence lam-lam-ha
+;; b) Those that do not have the initial alif in U+FDF2
+;; The BAR is used in the DMG transliteration to suppress the initial A
+(a|A) BAR? l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah'
+LLAH > U+FDF2 ;; 'll_ah' > U+FDF2
+;; UPPERCASE mnemonics for various ligatures or special glyphs
+;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode
+U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h'
+U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic
+;; 2b. Ligatures and glyphs defined in Unicode:
+ U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH'
+ U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH'
+
+U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam
+U+0028 U+0028 > U+FD3F ;; '((' : ornate right par
+U+0029 U+0029 > U+FD3E ;; '))' : ornate left par
+U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign
+;; most fonts won't have the following ones:
+U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign)
+U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign
+U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR'
+U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD'
+U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM'
+U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL')
+U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE')
+U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM'
+U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA'
+U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu"
+U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik
+
+U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY
+U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY
+U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM-
+U+005E U+004C U+0041 > U+06D9 ;; ^LA
+U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM
+U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS
+U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN
+U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB
+U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO
+U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO
+U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM
+U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM
+U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN
+U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA
+U+0057 U+0041 U+0057 > U+06E5 ;; WAW
+U+0059 U+0045 U+0048 > U+06E6 ;; YEH
+U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH
+U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN
+U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA
+U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP
+U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP
+U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP
+U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM
+
+U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::")
+
+;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts
+U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]]
+
+
+; vowels
+u u > U
+i i > I
+a a > A
+[AVWL] > ; strip off vowels when writing UTF-8 Arabic with novoc mode
+CO O > U+06FC ;
+H E > U+06D3 ;; hamza + yeh barree
+E / _ # > U+06D2
+E > y
+a e / _ # > a U+06D2
+a e > a y
+a o > a w
+(o|u)? O / # _ > U+0627 w
+(o|u)? O > w
+CO U > U+06C7 ;
+e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish)
+o > u
+I / _ # > i y
+
+
+;; Persian ezafe (ALL BUT ARABIC AND UIGHUR)
+U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<<
+U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I
+Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e
+Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I
+Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i
+Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i
+Z / U+0048 _ > U+0020 ;
+b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen
+
+;; initial characters ...
+a l Z / BEG _ > U+0627 l Z
+;; wasla on initial alif : NEW! NOT TESTED!
+H / BEG _ l l > U+0627 ;
+[VWL]=v1 / BEG _ > A @v1
+A / BEG _ > HA ;; ADD MORE ? <<<
+Q?=q1 U / BEG _ > A @q1 u w ; -U
+; Q?=q1 I / BEG _ > A @q1 i y ; -I ; but not when I is final FIXME!!!
+Q?=q1 I / BEG _ > A @q1 i y ; except for Persian, coz of ezafe rules
+
+
+;; Words with anomalous orthography:
+
+; mi'aT -> ماية
+;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy
+m Q i H Q a / _ (T|t) > m Q i A Hy Q a
+m Q i H a / _ (T|t) > m Q i A Hy
+m i H Q a / _ (T|t) > m A Hy Q a
+m i H a / _ (T|t) > m A Hy
+
+
+;; contextual analysis of hamzas
+;; THESE DO NOT APPLY FOR SINDHI
+
+; initial hamzas
+H / (#|^[LTR]) _ Q? [Iyi] > Hi
+H Q A / (#|^[LTR]) _ > HA ; alif madda
+H / (#|^[LTR]) _ Q? [Uwu] > Ha
+H / (#|^[LTR]) _ Q? a > Ha
+Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word
+
+; quoted hamzas in contextual mode, equivalent to verbatim mode
+a Q H > Ha
+i Q H > Hi
+y Q H > Hy
+w Q H > Hw
+h Q H > Hh
+A Q H > HA
+B Q H > HB
+BAR Q H > HBAR
+
+; hamza + fathatan
+H / a _ Q? AN > Ha
+;;H / [Iyi] _ Q? AN > Hy
+H / _ Q? AN > Hy
+
+;final hamzas
+H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ...
+H / a _ Q? (#|^[LTR]) > Ha ; not AN...
+H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN...
+H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy
+H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw
+
+;;and more hamzas ...
+
+; n°1: kasra/ya
+H / [LTR] _ Q? [Iyi] ^N > Hy
+H / [Iyi] _ > Hy
+
+; n°2: damma/waw
+H / [LTR] _ Q? (U|u) ^N > Hw
+H / (U|u) _ Q? ^[Iyi] > Hw
+H / U _ > HBAR
+
+; n°3: fatha/alif
+H Q? A > HA
+H / A _ Q? a > HBAR
+H / ^[UI] _ Q? a > Ha
+H / a _ Q? ^[UI] > Ha
+
+
+pass(Unicode)
+
+Class [Digits] = (U+0030..U+0039)
+Class [ArDigits] = (U+0660..U+0669)
+Class [ArEasternDigits] = (U+06F0..U+06F9)
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+
+
+
+
+;normal code
+
+
+(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA
+(P z|U+1E93) > U+0638
+C z C z > U+0698 U+0651 ;;SHADDA
+C z > U+0698
+V z V z > U+0696 U+0651 ;;SHADDA
+V z > U+0696 ;pashto
+z z > U+0632 U+0651 ;;SHADDA
+z > U+0632
+Y Y > U+0649 U+0651 ;;SHADDA
+Y > U+0649
+;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots
+y y > U+06CC U+0651 ;;SHADDA
+y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots
+v v > U+06A4 U+0651 ;;SHADDA
+v > U+06A4
+W > U+0648 U+0627 ; waw + alif
+C U > U+064F U+0648 U+0653; historical spelling : madda on waw
+Q U [Uw] > U+064F U+0648 U+0651 ;;SHADDA
+Q U > U+064F U+0648
+[Uw] [Uw] > U+0648 U+0651 ;;SHADDA
+[Uw] > U+0648
+C w C w > U+06C9 U+0651 ;;SHADDA
+C w > U+06C9
+CO w CO w > U+06CA U+0651 ;,SHADDA
+CO w > U+06CA
+Q u N > U+064C
+u N >
+Q u > U+064F
+V t V t > U+0679 U+0651 ;;SHADDA
+V t > U+0679 ;urdu
+UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA
+UL (t|s) > U+062B
+(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA
+(P t|U+1E6D) > U+0637
+t t > U+062A U+0651 ;;SHADDA
+t > U+062A
+T T Q AN > U+0629 U+0651 U+064B ;;SHADDA
+T Q AN > U+0629 U+064B
+T AN > U+0629
+T T > U+0629 U+0651 ;;SHADDA
+T > U+0629
+C s C s > U+0634 U+0651 ;;SHADDA
+C s > U+0634
+(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA
+(P s|U+1E63) > U+0635
+V s V s > U+069A U+0651 ;;SHADDA
+V s > U+069A ;Pashto
+CO s CO s > U+069B U+0651 ;;SHADDA
+CO s > U+069B ; sin with 3 dots below
+s s > U+0633 U+0651 ;;SHADDA
+s > U+0633
+C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<<
+C r > U+06EF
+CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<<
+CO r > U+0697 ; Dargwa language, Dagestan
+P r P r > U+0694 U+0651 ;;SHADDA
+P r > U+0694 ; r with dot below; in Kurdish .r -> 0694
+V r V r > U+0691 U+0651 ;;SHADDA
+V r > U+0691 ;Urdu
+r r > U+0631 U+0651 ;;SHADDA
+r > U+0631
+P q P q > U+066F U+0651 ;;SHADDA
+P q > U+066F
+q q > U+0642 U+0651 ;;SHADDA
+q > U+0642
+p p > U+067E U+0651 ;;SHADDA
+p > U+067E
+CO n CO n > U+06B1 U+0651 ;;SHADDA
+CO n > U+06B1
+C n C n > U+06AD U+0651 ;;SHADDA
+C n > U+06AD
+P n P n > U+06BA U+0651 ;;SHADDA
+P n > U+06BA ; urdu
+V n V n > U+06BC U+0651 ;;SHADDA
+V n > U+06BC ; Pashto
+n n > U+0646 U+0651 ;;SHADDA
+n > U+0646
+m m > U+0645 U+0651 ;;SHADDA
+m > U+0645
+P l P l > U+06B6 U+0651 ;
+P l > U+06B6 ; ADDED <<<
+C l C l > U+06B5 U+0651 ;;SHADDA
+C l > U+06B5 ;kurdish
+l l > U+0644 U+0651 ;;SHADDA
+l > U+0644
+P k P k > U+06A9 U+0651 ;;SHADDA
+P k > U+06A9 ; pashto urdu
+UL k UL k > U+063A U+0651 ;;SHADDA
+UL k > U+063A
+k k > U+0643 U+0651 ;;SHADDA
+k > U+0643
+C g C g > U+062C U+0651 ;;SHADDA
+C g > U+062C
+CO j CO j > U+0684 U+0651 ;;SHADDA
+CO j > U+0684
+j j > U+062C U+0651 ;;SHADDA
+j > U+062C
+Q I > U+0650 U+064A
+C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya
+UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ###
+I > U+064A
+Q i N > U+064D
+i N > ;
+Q i > U+0650
+x x > U+062E U+0651 ;;SHADDA
+x > U+062E
+U+0048 > U+06C3
+UL h UL h > U+062E U+0651 ;;SHADDA
+UL h > U+062E
+(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA
+(P h|U+1E25) > U+062D
+V h V h > U+06C1 U+0651 ;;SHADDA
+V h > U+06C1
+H H > U+06C1 U+0651 ;;SHADDA
+H > U+06C1
+h h > U+06BE U+0651 ;;SHADDA
+h > U+06BE ; urdu
+;; fix letter+h letter+h > letter+h shadda in URDU <<<
+CO g CO g > U+06B3 U+0651 ;;SHADDA
+CO g > U+06B3
+V g V g > U+06AC U+0651 ;;SHADDA
+V g > U+06AC ; kaf with dot above
+P g P g > U+063A U+0651 ;;SHADDA
+P g > U+063A
+g g > U+06AF U+0651 ;;SHADDA
+g > U+06AF
+G G > U+06AB U+0651 ;;SHADDA
+G > U+06AB ;pashto
+P f P f > U+06A1 U+0651 ;;SHADDA
+P f > U+06A1
+f f > U+0641 U+0651 ;;SHADDA
+f > U+0641
+V d V d > U+0688 U+0651 ;;SHADDA
+V d > U+0688 ;urdu
+P V d P V d > U+068B U+0651 ;;SHADDA
+P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi)
+C d C d > U+06EE U+0651 ;;SHADDA
+C d > U+06EE ; not defined in ArabTeX
+CO d CO d > U+068F U+0651 ;;SHADDA
+CO d > U+068F
+CO CO d CO CO d > U+0690 U+0651 ;;SHADDA
+CO CO d > U+0690 ; old urdu: not in ArabTeX
+UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA
+UL (d|z) > U+0630
+(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA
+(P d|U+1E0D) > U+0636
+d d > U+062F U+0651 ;;SHADDA
+d > U+062F
+V c V c > U+0685 U+0651 ;;SHADDA
+V c > U+0685 ;pashto
+C c C c > U+0686 U+0651 ;;SHADDA
+C c > U+0686
+P C c P C c > U+06BF U+0651 ;;SHADDA
+P C c > U+06BF ;; cheh with dot above <<<
+c c > U+0681 U+0651 ;;SHADDA
+c > U+0681 ; ح with hamza above
+CO c CO c > U+0682 U+0651 ;;SHADDA
+CO c > U+0682 ; old pashto
+CO b CO b > U+067B U+0651 ;;SHADDA
+CO b > U+067B
+P b P b > U+066E U+0651 ;;SHADDA
+P b > U+066E
+b b > U+0628 U+0651 ;;SHADDA
+b > U+0628
+H A > U+0622
+C A > U+064E U+0622 ; historical spelling
+UL A > U+0649
+UL a > U+0670
+UL u > ;
+UL i > ;
+Q AN / (A H|Ha) _ > U+064B
+AN / (A H|Ha) _ > ;
+Q AN > U+0627 U+064B
+AN > U+0627
+Q a > U+064E
+Q A > U+064E U+0627
+A > U+0627
+Ain Ain > U+0639 U+0651 ;;SHADDA
+Ain > U+0639
+H H > U+0621 U+0651 ;;SHADDA
+H > U+0621
+U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma
+Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash
+(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks
+[Digits] > [ArEasternDigits]
+Z Z Z / # _ # > U+2014
+Z Z / # _ # > U+2013
+Z Z > U+0640
+B > U+0640
+Z / # _ > U+200D ; -x > force initial form with "zero-width joiner"
+Z / _ # > U+200D ; x- > force final form
+U+003C U+003C > U+00BB ;<<
+U+003E U+003E > U+00AB ;>>
+U+00AB > U+00BB
+U+00BB > U+00AB
+UL > U+0640 ;_
+U+003F > U+061F ;?
+U+003B > U+061B ;;
+U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above...
+U+002C > U+060C ;,
+U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ...
+U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual
+ ; analysis, so quoting of hamzas etc may be necessary
+;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules
+;U+005B > U+005D ;[
+[VWL] > ;stripoff vowels
+Q > U+0652
+U+00B0 > U+0652 ; °
+N > ;
+C > ;^
+Z > ;-
+BAR > ;|
+P P > U+06D4 ; urdu full stop << check
+
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-urdu-novoc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-urdu-novoc.tec
index f428d338a11..91e99f0c3d7 100644
--- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-urdu-novoc.tec
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-urdu-novoc.tec
Binary files differ
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-urdu-voc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-urdu-voc.map
new file mode 100644
index 00000000000..0a6c00808a0
--- /dev/null
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-urdu-voc.map
@@ -0,0 +1,494 @@
+LHSName "ArabTeX-urdu-vocalized"
+RHSName "UNICODE"
+
+Define a U+0061 ;a
+Define b U+0062 ;b
+Define c U+0063 ;c
+Define d U+0064 ;d
+Define e U+0065 ;e
+Define f U+0066 ;f
+Define g U+0067 ;g
+Define h U+0068 ;h
+Define i U+0069 ;i
+Define j U+006A ;j
+Define k U+006B ;k
+Define l U+006C ;l
+Define m U+006D ;m
+Define n U+006E ;n
+Define o U+006F ;o
+Define p U+0070 ;p
+Define q U+0071 ;q
+Define r U+0072 ;r
+Define s U+0073 ;s
+Define t U+0074 ;t
+Define u U+0075 ;u
+Define v U+0076 ;v
+Define w U+0077 ;w
+Define x U+0078 ;x
+Define y U+0079 ;y
+Define z U+007A ;z
+Define A U+0041 ;A
+Define B U+0042 ;B
+Define E U+0045 ;E
+Define G U+0047 ;G
+Define I U+0049 ;I
+Define N U+004E ;N
+Define O U+004F ;O
+Define T U+0054 ;T
+Define U U+0055 ;U
+Define W U+0057 ;W
+Define Y U+0059 ;Y
+Define C U+005E ;^ << CARET
+Define UL U+005F ;_ << UNDERLINE
+Define P U+002E ;. << DOT
+Define V U+002C ;, << COMMA (_V_irgule)
+Define CO U+003A ;: << COLON
+Define SC U+003B ;; << SEMICOLON
+Define Ain U+0060 ;`
+Define H U+0027 ;' << HAMZA
+Define Q U+0022 ;" << QUOTE
+Define Z U+002D ;- << HYPHEN
+Define BAR U+007C ;|
+Define AN U+0061 U+004E ; aN
+Define LLAH U+006C U+006C U+005F U+0061 U+0068
+;Define NUL U+00A6;
+Define Ha U+0623
+Define Hi U+0625
+Define Hy U+0626
+Define Hw U+0624
+Define Hh U+06C0 ;; = U+0647 U+0654
+Define HA U+0622
+Define HB U+0640 U+0654
+Define HBAR U+0621 ; '|
+
+pass(Unicode)
+
+U+E000 > ; eliminate special code for capitalization in transliterations
+
+pass(Unicode)
+
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [AVWL] = (U+064B..U+0650);
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" `
+Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ”
+Class [PUNCT] = (V SC P CO)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u)
+;Class [ae] = (U+0061 U+0065) ;(a e)
+;Class [ou] = (U+0075 U+006F) ;(u o)
+Class [Iyi] = (U+0069 U+0079 U+0049)
+Class [UI] = (U+0049 U+0055) ; U I
+Class [Digits] = (U+0030..U+0039)
+
+Define BEG (#|Z|[BRACKETS])
+Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #)
+Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z)
+
+; special ligatures
+;; 1. Standard ArabTeX input
+;; WARNING! there are, alas, two classes of Arabic fonts:
+;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2
+;; For these the ligature llah can be accessed by the sequence lam-lam-ha
+;; b) Those that do not have the initial alif in U+FDF2
+;; The BAR is used in the DMG transliteration to suppress the initial A
+(a|A) BAR? l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah'
+LLAH > U+FDF2 ;; 'll_ah' > U+FDF2
+;; UPPERCASE mnemonics for various ligatures or special glyphs
+;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode
+U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h'
+U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic
+;; 2b. Ligatures and glyphs defined in Unicode:
+ U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH'
+ U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH'
+
+U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam
+U+0028 U+0028 > U+FD3F ;; '((' : ornate right par
+U+0029 U+0029 > U+FD3E ;; '))' : ornate left par
+U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign
+;; most fonts won't have the following ones:
+U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign)
+U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign
+U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR'
+U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD'
+U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM'
+U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL')
+U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE')
+U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM'
+U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA'
+U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu"
+U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik
+
+U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY
+U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY
+U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM-
+U+005E U+004C U+0041 > U+06D9 ;; ^LA
+U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM
+U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS
+U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN
+U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB
+U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO
+U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO
+U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM
+U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM
+U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN
+U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA
+U+0057 U+0041 U+0057 > U+06E5 ;; WAW
+U+0059 U+0045 U+0048 > U+06E6 ;; YEH
+U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH
+U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN
+U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA
+U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP
+U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP
+U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP
+U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM
+
+U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::")
+
+;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts
+U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]]
+
+
+; vowels
+u u > U
+i i > I
+a a > A
+CO O > U+06FC ;
+H E > U+06D3 ;; hamza + yeh barree
+E / _ # > U+06D2
+E > y
+a e / _ # > a U+06D2
+a e > a y
+a o > a w
+(o|u)? O / # _ > U+0627 w
+(o|u)? O > w
+CO U > U+06C7 ;
+e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish)
+o > u
+I / _ # > i y
+
+
+;; Persian ezafe (ALL BUT ARABIC AND UIGHUR)
+U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<<
+U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I
+Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e
+Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I
+Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i
+Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i
+Z / U+0048 _ > U+0020 ;
+b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen
+
+;; initial characters ...
+a l Z / BEG _ > U+0627 l Z
+;; wasla on initial alif : NEW! NOT TESTED!
+H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI
+[VWL]=v1 / BEG _ > U+0627 @v1
+A / BEG _ > HA ;; ADD MORE ? <<<
+Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U
+; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I
+Q?=q1 I / BEG _ > U+0627 @q1 i y
+
+
+;; Words with anomalous orthography:
+
+; mi'aT -> ماية
+;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy
+m Q i H Q a / _ (T|t) > m U+0627 Hy
+m Q i H a / _ (T|t) > m U+0627 Hy a
+m i H Q a / _ (T|t) > m i U+0627 Hy
+m i H a / _ (T|t) > m i U+0627 Hy a
+
+
+;; contextual analysis of hamzas
+;; THESE DO NOT APPLY FOR SINDHI
+
+; initial hamzas
+H / (#|^[LTR]) _ Q? [Iyi] > Hi
+H Q A / (#|^[LTR]) _ > HA ; alif madda
+H / (#|^[LTR]) _ Q? [Uwu] > Ha
+H / (#|^[LTR]) _ Q? a > Ha
+Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word
+
+; quoted hamzas in contextual mode, equivalent to verbatim mode
+a Q H > Ha
+i Q H > Hi
+y Q H > Hy
+w Q H > Hw
+h Q H > Hh
+A Q H > HA
+B Q H > HB
+BAR Q H > HBAR
+
+; hamza + fathatan
+H / a _ Q? AN > Ha
+;;H / [Iyi] _ Q? AN > Hy
+H / _ Q? AN > Hy
+
+;final hamzas
+H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ...
+H / a _ Q? (#|^[LTR]) > Ha ; not AN...
+H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN...
+H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy
+H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw
+
+;;and more hamzas ...
+
+; n°1: kasra/ya
+H / [LTR] _ Q? [Iyi] ^N > Hy
+H / [Iyi] _ > Hy
+
+; n°2: damma/waw
+H / [LTR] _ Q? (U|u) ^N > Hw
+H / (U|u) _ Q? ^[Iyi] > Hw
+H / U _ > HBAR
+
+; n°3: fatha/alif
+H Q? A > HA
+H / A _ Q? a > HBAR
+H / ^[UI] _ Q? a > Ha
+H / a _ Q? ^[UI] > Ha
+
+
+pass(Unicode)
+
+Class [Digits] = (U+0030..U+0039)
+Class [ArDigits] = (U+0660..U+0669)
+Class [ArEasternDigits] = (U+06F0..U+06F9)
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+
+
+
+
+;normal code
+
+
+(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA
+(P z|U+1E93) > U+0638
+C z C z > U+0698 U+0651 ;;SHADDA
+C z > U+0698
+V z V z > U+0696 U+0651 ;;SHADDA
+V z > U+0696 ;pashto
+z z > U+0632 U+0651 ;;SHADDA
+z > U+0632
+Q Y Y > U+0649 U+0651 ;;SHADDA
+Q Y > U+0649
+Y Y > U+064E U+0649 U+0651 ;;SHADDA
+Y > U+064E U+0649
+;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots
+y y > U+06CC U+0651 ;;SHADDA
+y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots
+v v > U+06A4 U+0651 ;;SHADDA
+v > U+06A4
+W > U+0648 U+0627 ; waw + alif
+C U > U+064F U+0648 U+0653; historical spelling : madda on waw
+C w C w > U+06C9 U+0651 ;;SHADDA
+C w > U+06C9
+CO w CO w > U+06CA U+0651 ;,SHADDA
+CO w > U+06CA
+U A / _ # > U+064F U+0648 U+0627
+Q U [Uw] > U+0648 U+0651 ;;SHADDA
+Q U > U+0648
+U [Uw] > U+064F U+0648 U+0651 ;;SHADDA
+U > U+064F U+0648
+w w > U+0648 U+0651 ;;SHADDA
+w > U+0648
+Q u N? >
+u N > U+064C
+u > U+064F
+V t V t > U+0679 U+0651 ;;SHADDA
+V t > U+0679 ;urdu
+UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA
+UL (t|s) > U+062B
+(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA
+(P t|U+1E6D) > U+0637
+t t > U+062A U+0651 ;;SHADDA
+t > U+062A
+T T Q AN > U+0629 U+0651 ;;SHADDA
+T Q AN > U+0629
+T AN > U+0629 U+064B
+T T > U+0629 U+0651 ;;SHADDA
+T > U+0629
+C s C s > U+0634 U+0651 ;;SHADDA
+C s > U+0634
+(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA
+(P s|U+1E63) > U+0635
+V s V s > U+069A U+0651 ;;SHADDA
+V s > U+069A ;Pashto
+CO s CO s > U+069B U+0651 ;;SHADDA
+CO s > U+069B ; sin with 3 dots below
+s s > U+0633 U+0651 ;;SHADDA
+s > U+0633
+C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<<
+C r > U+06EF
+CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<<
+CO r > U+0697 ; Dargwa language, Dagestan
+P r P r > U+0694 U+0651 ;;SHADDA
+P r > U+0694 ; r with dot below; in Kurdish .r -> 0694
+V r V r > U+0691 U+0651 ;;SHADDA
+V r > U+0691 ;Urdu
+r r > U+0631 U+0651 ;;SHADDA
+r > U+0631
+P q P q > U+066F U+0651 ;;SHADDA
+P q > U+066F
+q q > U+0642 U+0651 ;;SHADDA
+q > U+0642
+p p > U+067E U+0651 ;;SHADDA
+p > U+067E
+CO n CO n > U+06B1 U+0651 ;;SHADDA
+CO n > U+06B1
+C n C n > U+06AD U+0651 ;;SHADDA
+C n > U+06AD
+P n P n > U+06BA U+0651 ;;SHADDA
+P n > U+06BA ; urdu
+V n V n > U+06BC U+0651 ;;SHADDA
+V n > U+06BC ; Pashto
+n n > U+0646 U+0651 ;;SHADDA
+n > U+0646
+m m > U+0645 U+0651 ;;SHADDA
+m > U+0645
+P l P l > U+06B6 U+0651 ;
+P l > U+06B6 ; ADDED <<<
+C l C l > U+06B5 U+0651 ;;SHADDA
+C l > U+06B5 ;kurdish
+l l > U+0644 U+0651 ;;SHADDA
+l > U+0644
+P k P k > U+06A9 U+0651 ;;SHADDA
+P k > U+06A9 ; pashto urdu
+UL k UL k > U+063A U+0651 ;;SHADDA
+UL k > U+063A
+k k > U+0643 U+0651 ;;SHADDA
+k > U+0643
+C g C g > U+062C U+0651 ;;SHADDA
+C g > U+062C
+CO j CO j > U+0684 U+0651 ;;SHADDA
+CO j > U+0684
+j j > U+062C U+0651 ;;SHADDA
+j > U+062C
+Q I > U+064A
+I > U+0650 U+064A
+C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya
+UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ###
+Q i N? > ;
+i N > U+064D
+i > U+0650
+x x > U+062E U+0651 ;;SHADDA
+x > U+062E
+U+0048 > U+06C3
+UL h UL h > U+062E U+0651 ;;SHADDA
+UL h > U+062E
+(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA
+(P h|U+1E25) > U+062D
+V h V h > U+06C1 U+0651 ;;SHADDA
+V h > U+06C1
+H H > U+06C1 U+0651 ;;SHADDA
+H > U+06C1
+h h > U+06BE U+0651 ;;SHADDA
+h > U+06BE ; urdu
+;; fix letter+h letter+h > letter+h shadda in URDU <<<
+CO g CO g > U+06B3 U+0651 ;;SHADDA
+CO g > U+06B3
+V g V g > U+06AC U+0651 ;;SHADDA
+V g > U+06AC ; kaf with dot above
+P g P g > U+063A U+0651 ;;SHADDA
+P g > U+063A
+g g > U+06AF U+0651 ;;SHADDA
+g > U+06AF
+G G > U+06AB U+0651 ;;SHADDA
+G > U+06AB ;pashto
+P f P f > U+06A1 U+0651 ;;SHADDA
+P f > U+06A1
+f f > U+0641 U+0651 ;;SHADDA
+f > U+0641
+V d V d > U+0688 U+0651 ;;SHADDA
+V d > U+0688 ;urdu
+P V d P V d > U+068B U+0651 ;;SHADDA
+P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi)
+C d C d > U+06EE U+0651 ;;SHADDA
+C d > U+06EE ; not defined in ArabTeX
+CO d CO d > U+068F U+0651 ;;SHADDA
+CO d > U+068F
+CO CO d CO CO d > U+0690 U+0651 ;;SHADDA
+CO CO d > U+0690 ; old urdu: not in ArabTeX
+UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA
+UL (d|z) > U+0630
+(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA
+(P d|U+1E0D) > U+0636
+d d > U+062F U+0651 ;;SHADDA
+d > U+062F
+V c V c > U+0685 U+0651 ;;SHADDA
+V c > U+0685 ;pashto
+C c C c > U+0686 U+0651 ;;SHADDA
+C c > U+0686
+P C c P C c > U+06BF U+0651 ;;SHADDA
+P C c > U+06BF ;; cheh with dot above <<<
+c c > U+0681 U+0651 ;;SHADDA
+c > U+0681 ; ح with hamza above
+CO c CO c > U+0682 U+0651 ;;SHADDA
+CO c > U+0682 ; old pashto
+CO b CO b > U+067B U+0651 ;;SHADDA
+CO b > U+067B
+P b P b > U+066E U+0651 ;;SHADDA
+P b > U+066E
+b b > U+0628 U+0651 ;;SHADDA
+b > U+0628
+H A > U+0622
+C A > U+064E U+0622 ; historical spelling
+UL A > U+064E U+0649
+UL a > U+0670
+UL u > U+064F;
+UL i > U+0650;
+Q AN / (A H|Ha) _ > ;
+AN / (A H|Ha) _ > U+064B
+Q AN > U+0627
+AN > U+0627 U+064B
+Q a >
+a > U+064E
+Q A > U+0627
+A > U+064E U+0627
+Ain Ain > U+0639 U+0651 ;;SHADDA
+Ain > U+0639
+H H > U+0621 U+0651 ;;SHADDA
+H > U+0621
+U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma
+Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash
+(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks
+[Digits] > [ArEasternDigits]
+Z Z Z / # _ # > U+2014
+Z Z / # _ # > U+2013
+Z Z > U+0640
+B > U+0640
+Z / # _ > U+200D ; -x > force initial form with "zero-width joiner"
+Z / _ # > U+200D ; x- > force final form
+U+003C U+003C > U+00BB ;<<
+U+003E U+003E > U+00AB ;>>
+U+00AB > U+00BB
+U+00BB > U+00AB
+UL > U+0640 ;_
+U+003F > U+061F ;?
+U+003B > U+061B ;;
+U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above...
+U+002C > U+060C ;,
+U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ...
+U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual
+ ; analysis, so quoting of hamzas etc may be necessary
+;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules
+;U+005B > U+005D ;[
+Q [VWL] > ;stripoff quoted vowels
+Q > U+0652
+U+00B0 > U+0652 ; °
+N > ;
+C > ;^
+BAR > ;|
+P P > U+06D4 ; urdu full stop << check
+
+pass(Unicode)
+
+Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-)
+Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc.
+Class [VWL] = (U+0627 U+0648..U+0650 U+0670);
+Z > ;
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-urdu-voc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-urdu-voc.tec
index 0ca122775fc..bf93543e3fb 100644
--- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-urdu-voc.tec
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-urdu-voc.tec
Binary files differ
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-voc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-voc.map
new file mode 100644
index 00000000000..2555ba6e924
--- /dev/null
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-voc.map
@@ -0,0 +1,476 @@
+LHSName "ArabTeX-vocalized"
+RHSName "UNICODE"
+
+Define a U+0061 ;a
+Define b U+0062 ;b
+Define c U+0063 ;c
+Define d U+0064 ;d
+Define e U+0065 ;e
+Define f U+0066 ;f
+Define g U+0067 ;g
+Define h U+0068 ;h
+Define i U+0069 ;i
+Define j U+006A ;j
+Define k U+006B ;k
+Define l U+006C ;l
+Define m U+006D ;m
+Define n U+006E ;n
+Define o U+006F ;o
+Define p U+0070 ;p
+Define q U+0071 ;q
+Define r U+0072 ;r
+Define s U+0073 ;s
+Define t U+0074 ;t
+Define u U+0075 ;u
+Define v U+0076 ;v
+Define w U+0077 ;w
+Define x U+0078 ;x
+Define y U+0079 ;y
+Define z U+007A ;z
+Define A U+0041 ;A
+Define B U+0042 ;B
+Define E U+0045 ;E
+Define G U+0047 ;G
+Define I U+0049 ;I
+Define N U+004E ;N
+Define O U+004F ;O
+Define T U+0054 ;T
+Define U U+0055 ;U
+Define W U+0057 ;W
+Define Y U+0059 ;Y
+Define C U+005E ;^ << CARET
+Define UL U+005F ;_ << UNDERLINE
+Define P U+002E ;. << DOT
+Define V U+002C ;, << COMMA (_V_irgule)
+Define CO U+003A ;: << COLON
+Define SC U+003B ;; << SEMICOLON
+Define Ain U+0060 ;`
+Define H U+0027 ;' << HAMZA
+Define Q U+0022 ;" << QUOTE
+Define Z U+002D ;- << HYPHEN
+Define BAR U+007C ;|
+Define AN U+0061 U+004E ; aN
+Define LLAH U+006C U+006C U+005F U+0061 U+0068
+;Define NUL U+00A6;
+Define Ha U+0623
+Define Hi U+0625
+Define Hy U+0626
+Define Hw U+0624
+Define Hh U+06C0 ;; = U+0647 U+0654
+Define HA U+0622
+Define HB U+0640 U+0654
+Define HBAR U+0621 ; '|
+
+pass(Unicode)
+
+U+E000 > ; eliminate special code for capitalization in transliterations
+
+pass(Unicode)
+
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [AVWL] = (U+064B..U+0650);
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" `
+Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ”
+Class [PUNCT] = (V SC P CO)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u)
+;Class [ae] = (U+0061 U+0065) ;(a e)
+;Class [ou] = (U+0075 U+006F) ;(u o)
+Class [Iyi] = (U+0069 U+0079 U+0049)
+Class [UI] = (U+0049 U+0055) ; U I
+Class [Digits] = (U+0030..U+0039)
+
+Define BEG (#|Z|[BRACKETS])
+Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #)
+Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z)
+
+; special ligatures
+;; 1. Standard ArabTeX input
+;; WARNING! there are, alas, two classes of Arabic fonts:
+;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2
+;; For these the ligature llah can be accessed by the sequence lam-lam-ha
+;; b) Those that do not have the initial alif in U+FDF2
+;; The BAR is used in the DMG transliteration to suppress the initial A
+(a|A) BAR? l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah'
+LLAH > U+FDF2 ;; 'll_ah' > U+FDF2
+;; UPPERCASE mnemonics for various ligatures or special glyphs
+;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode
+U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h'
+U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic
+;; 2b. Ligatures and glyphs defined in Unicode:
+ U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH'
+ U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH'
+
+U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam
+U+0028 U+0028 > U+FD3F ;; '((' : ornate right par
+U+0029 U+0029 > U+FD3E ;; '))' : ornate left par
+U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign
+;; most fonts won't have the following ones:
+U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign)
+U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign
+U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR'
+U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD'
+U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM'
+U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL')
+U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE')
+U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM'
+U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA'
+U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu"
+U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik
+
+U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY
+U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY
+U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM-
+U+005E U+004C U+0041 > U+06D9 ;; ^LA
+U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM
+U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS
+U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN
+U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB
+U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO
+U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO
+U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM
+U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM
+U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN
+U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA
+U+0057 U+0041 U+0057 > U+06E5 ;; WAW
+U+0059 U+0045 U+0048 > U+06E6 ;; YEH
+U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH
+U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN
+U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA
+U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP
+U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP
+U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP
+U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM
+
+U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::")
+
+;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts
+U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]]
+
+
+; vowels
+u u > U
+i i > I
+a a > A
+CO O > U+06FC ;
+a e > a y
+a o > a w
+CO U > U+06C7 ;
+e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish)
+o > u
+E > I
+O > U
+
+
+
+;; initial characters ...
+a l Z / BEG _ > U+0627 l Z
+H l Z / BEG _ > U+0627 l Z
+;; wasla on initial alif : NEW! NOT TESTED!
+H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI
+[VWL]=v1 / BEG _ > U+0627 @v1
+A / BEG _ > U+0627 a
+Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U
+; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I
+Q?=q1 I / BEG _ > U+0627 @q1 i y
+
+
+;; Words with anomalous orthography:
+
+; mi'aT -> ماية
+;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy
+m Q i H Q a / _ (T|t) > m U+0627 Hy
+m Q i H a / _ (T|t) > m U+0627 Hy a
+m i H Q a / _ (T|t) > m i U+0627 Hy
+m i H a / _ (T|t) > m i U+0627 Hy a
+
+
+;; contextual analysis of hamzas
+;; THESE DO NOT APPLY FOR SINDHI
+
+; initial hamzas
+H / (#|^[LTR]) _ Q? [Iyi] > Hi
+H Q A / (#|^[LTR]) _ > HA ; alif madda
+H / (#|^[LTR]) _ Q? [Uwu] > Ha
+H / (#|^[LTR]) _ Q? a > Ha
+Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word
+
+; quoted hamzas in contextual mode, equivalent to verbatim mode
+a Q H > Ha
+i Q H > Hi
+y Q H > Hy
+w Q H > Hw
+h Q H > Hh
+A Q H > HA
+B Q H > HB
+BAR Q H > HBAR
+
+; hamza + fathatan
+H / a _ Q? AN > Ha
+;;H / [Iyi] _ Q? AN > Hy
+H / _ Q? AN > Hy
+
+;final hamzas
+H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR
+H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ...
+H / a _ Q? (#|^[LTR]) > Ha ; not AN...
+H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN...
+H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy
+H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw
+
+;;and more hamzas ...
+
+; n°1: kasra/ya
+H / [LTR] _ Q? [Iyi] ^N > Hy
+H / [Iyi] _ > Hy
+
+; n°2: damma/waw
+H / [LTR] _ Q? (U|u) ^N > Hw
+H / (U|u) _ Q? ^[Iyi] > Hw
+H / U _ > HBAR
+
+; n°3: fatha/alif
+H Q? A > HA
+H / A _ Q? a > HBAR
+H / ^[UI] _ Q? a > Ha
+H / a _ Q? ^[UI] > Ha
+
+
+pass(Unicode)
+
+Class [Digits] = (U+0030..U+0039)
+Class [ArDigits] = (U+0660..U+0669)
+Class [ArEasternDigits] = (U+06F0..U+06F9)
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `)
+Class [Iy] = (U+0049 U+0079) ;(I y)
+Class [Uw] = (U+0055 U+0077) ;(U w)
+
+
+
+
+;normal code
+
+
+(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA
+(P z|U+1E93) > U+0638
+C z C z > U+0698 U+0651 ;;SHADDA
+C z > U+0698
+V z V z > U+0696 U+0651 ;;SHADDA
+V z > U+0696 ;pashto
+z z > U+0632 U+0651 ;;SHADDA
+z > U+0632
+Q Y Y > U+0649 U+0651 ;;SHADDA
+Q Y > U+0649
+Y Y > U+064E U+0649 U+0651 ;;SHADDA
+Y > U+064E U+0649
+P I P I / _ # > U+0650 U+06CC U+0651 ;; SHADDA
+P I / _ # > U+0650 U+06CC ;; workaround to have ya without dots in Arabic
+y y > U+064A U+0651 ;;SHADDA
+y > U+064A
+v v > U+06A4 U+0651 ;;SHADDA
+v > U+06A4
+W > U+0648 U+0627 ; waw + alif
+C U > U+064F U+0648 U+0653; historical spelling : madda on waw
+C w C w > U+06C9 U+0651 ;;SHADDA
+C w > U+06C9
+CO w CO w > U+06CA U+0651 ;,SHADDA
+CO w > U+06CA
+U A / _ # > U+064F U+0648 U+0627
+Q U [Uw] > U+0648 U+0651 ;;SHADDA
+Q U > U+0648
+U [Uw] > U+064F U+0648 U+0651 ;;SHADDA
+U > U+064F U+0648
+w w > U+0648 U+0651 ;;SHADDA
+w > U+0648
+Q u N? >
+u N > U+064C
+u > U+064F
+V t V t > U+0679 U+0651 ;;SHADDA
+V t > U+0679 ;urdu
+UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA
+UL (t|s) > U+062B
+(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA
+(P t|U+1E6D) > U+0637
+t t > U+062A U+0651 ;;SHADDA
+t > U+062A
+T T Q AN > U+0629 U+0651 ;;SHADDA
+T Q AN > U+0629
+T AN > U+0629 U+064B
+T T > U+0629 U+0651 ;;SHADDA
+T > U+0629
+C s C s > U+0634 U+0651 ;;SHADDA
+C s > U+0634
+(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA
+(P s|U+1E63) > U+0635
+V s V s > U+069A U+0651 ;;SHADDA
+V s > U+069A ;Pashto
+CO s CO s > U+069B U+0651 ;;SHADDA
+CO s > U+069B ; sin with 3 dots below
+s s > U+0633 U+0651 ;;SHADDA
+s > U+0633
+C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<<
+C r > U+06EF
+CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<<
+CO r > U+0697 ; Dargwa language, Dagestan
+P r P r > U+0694 U+0651 ;;SHADDA
+P r > U+0694 ; r with dot below; in Kurdish .r -> 0694
+V r V r > U+0691 U+0651 ;;SHADDA
+V r > U+0691 ;Urdu
+r r > U+0631 U+0651 ;;SHADDA
+r > U+0631
+P q P q > U+066F U+0651 ;;SHADDA
+P q > U+066F
+q q > U+0642 U+0651 ;;SHADDA
+q > U+0642
+p p > U+067E U+0651 ;;SHADDA
+p > U+067E
+CO n CO n > U+06B1 U+0651 ;;SHADDA
+CO n > U+06B1
+C n C n > U+06AD U+0651 ;;SHADDA
+C n > U+06AD
+P n P n > U+06BA U+0651 ;;SHADDA
+P n > U+06BA ; urdu
+V n V n > U+06BC U+0651 ;;SHADDA
+V n > U+06BC ; Pashto
+n n > U+0646 U+0651 ;;SHADDA
+n > U+0646
+m m > U+0645 U+0651 ;;SHADDA
+m > U+0645
+P l P l > U+06B6 U+0651 ;
+P l > U+06B6 ; ADDED <<<
+C l C l > U+06B5 U+0651 ;;SHADDA
+C l > U+06B5 ;kurdish
+l l > U+0644 U+0651 ;;SHADDA
+l > U+0644
+P k P k > U+06A9 U+0651 ;;SHADDA
+P k > U+06A9 ; pashto urdu
+UL k UL k > U+063A U+0651 ;;SHADDA
+UL k > U+063A
+k k > U+0643 U+0651 ;;SHADDA
+k > U+0643
+C g C g > U+062C U+0651 ;;SHADDA
+C g > U+062C
+CO j CO j > U+0684 U+0651 ;;SHADDA
+CO j > U+0684
+j j > U+062C U+0651 ;;SHADDA
+j > U+062C
+Q I > U+064A
+I > U+0650 U+064A
+C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya
+UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ###
+Q i N? > ;
+i N > U+064D
+i > U+0650
+x x > U+062E U+0651 ;;SHADDA
+x > U+062E
+UL h UL h > U+062E U+0651 ;;SHADDA
+UL h > U+062E
+(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA
+(P h|U+1E25) > U+062D
+V h V h > U+06C1 U+0651 ;;SHADDA
+V h > U+06C1
+h h > U+0647 U+0651 ;;SHADDA
+h > U+0647
+CO g CO g > U+06B3 U+0651 ;;SHADDA
+CO g > U+06B3
+V g V g > U+06AC U+0651 ;;SHADDA
+V g > U+06AC ; kaf with dot above
+P g P g > U+063A U+0651 ;;SHADDA
+P g > U+063A
+g g > U+06AF U+0651 ;;SHADDA
+g > U+06AF
+G G > U+06AB U+0651 ;;SHADDA
+G > U+06AB ;pashto
+P f P f > U+06A1 U+0651 ;;SHADDA
+P f > U+06A1
+f f > U+0641 U+0651 ;;SHADDA
+f > U+0641
+V d V d > U+068A U+0651 ;;SHADDA
+V d > U+068A
+P V d P V d > U+068B U+0651 ;;SHADDA
+P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi)
+C d C d > U+06EE U+0651 ;;SHADDA
+C d > U+06EE ; not defined in ArabTeX
+CO d CO d > U+068F U+0651 ;;SHADDA
+CO d > U+068F
+UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA
+UL (d|z) > U+0630
+(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA
+(P d|U+1E0D) > U+0636
+d d > U+062F U+0651 ;;SHADDA
+d > U+062F
+V c V c > U+0685 U+0651 ;;SHADDA
+V c > U+0685 ;pashto
+C c C c > U+0686 U+0651 ;;SHADDA
+C c > U+0686
+P C c P C c > U+06BF U+0651 ;;SHADDA
+P C c > U+06BF ;; cheh with dot above <<<
+c c > U+0681 U+0651 ;;SHADDA
+c > U+0681 ; ح with hamza above
+CO c CO c > U+0682 U+0651 ;;SHADDA
+CO c > U+0682 ; old pashto
+CO b CO b > U+067B U+0651 ;;SHADDA
+CO b > U+067B
+P b P b > U+066E U+0651 ;;SHADDA
+P b > U+066E
+b b > U+0628 U+0651 ;;SHADDA
+b > U+0628
+H A > U+0622
+C A > U+064E U+0622 ; historical spelling
+UL A > U+064E U+0649
+UL a > U+0670
+UL u > U+0657 ; inverted damma
+UL i > U+0656 ; subscript alif
+Q AN / (A H|Ha) _ > ;
+AN / (A H|Ha) _ > U+064B
+Q AN > U+0627
+AN > U+0627 U+064B
+Q a >
+a > U+064E
+Q A > U+0627
+A > U+064E U+0627
+Ain Ain > U+0639 U+0651 ;;SHADDA
+Ain > U+0639
+H H > U+0621 U+0651 ;;SHADDA
+H > U+0621
+U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma
+Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash
+(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks
+[Digits] > [ArDigits]
+Z Z Z / # _ # > U+2014
+Z Z / # _ # > U+2013
+Z Z > U+0640
+B > U+0640
+Z / # _ > U+200D ; -x > force initial form with "zero-width joiner"
+Z / _ # > U+200D ; x- > force final form
+U+003C U+003C > U+00BB ;<<
+U+003E U+003E > U+00AB ;>>
+U+00AB > U+00BB
+U+00BB > U+00AB
+UL > U+0640 ;_
+U+003F > U+061F ;?
+U+003B > U+061B ;;
+U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above...
+U+002C > U+060C ;,
+U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ...
+U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual
+ ; analysis, so quoting of hamzas etc may be necessary
+;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules
+;U+005B > U+005D ;[
+Q [VWL] > ;stripoff quoted vowels
+Q > U+0652
+U+00B0 > U+0652 ; °
+N > ;
+C > ;^
+BAR > ;|
+
+pass(Unicode)
+
+Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-)
+Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc.
+Class [VWL] = (U+0627 U+0648..U+0650 U+0670);
+U+0627 [VWL]? / [VWL] Z _ > U+0627 ; e.g. fa-isti_hraj -> initial alif has no vowel
+Z > ;
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-trans-dmg.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-trans-dmg.map
index 919f75e53ca..9b4acc136de 100644
--- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-trans-dmg.map
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-trans-dmg.map
@@ -148,6 +148,7 @@ C c > U+010D ;
CO b > b U+0324
P b > x ; ? undotted (b,t,th,n,y) ...
+(A|Y|UL A) / _ (N|U|W) > ;
Y > U+0101 ;ā -> LOC: á : check DMG
@@ -168,20 +169,18 @@ Q > ;
pass(Unicode)
-Class [LOWERCASE] = ( U+0061..U+007A U+0101 U+0113 U+012B U+014D U+016B U+1E0D U+1E25 U+1E33 U+1E63 U+1E6D U+1E93 U+1E2B U+1E0F U+1E6F U+0121 U+01E7 )
-Class [UPPERCASE] = ( U+0041..U+005A U+0100 U+0112 U+012A U+014C U+016A U+1E0C U+1E24 U+1E32 U+1E62 U+1E6C U+1E92 U+1E2A U+1E0E U+1E6E U+0120 U+01E6 )
+Class [LOWERCASE] = ( U+0061..U+007A U+0101 U+0113 U+012B U+014D U+0161 U+016B U+1E0D U+1E25 U+1E33 U+1E63 U+1E6D U+1E93 U+1E2B U+1E0F U+1E6F U+0121 U+01E7 )
+Class [UPPERCASE] = ( U+0041..U+005A U+0100 U+0112 U+012A U+014C U+0160 U+016A U+1E0C U+1E24 U+1E32 U+1E62 U+1E6C U+1E92 U+1E2A U+1E0E U+1E6E U+0120 U+01E6 )
Class [LETTER] = (U+0041..U+01FF)
Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075) ; (a e i o u)
Class [SUNCONS] = (U+0064 U+1E0F U+0074 U+1E6F U+0072 U+007A U+0073 U+0161 U+1E63 U+1E0D U+1E6D U+1E93 U+006E)
Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ”
-
-[LOWERCASE] / U+E000 _ > [UPPERCASE]
[LOWERCASE] / U+E000 a l Z _ > [UPPERCASE]
-l Z ([SUNCONS]=sc){2,2} > @sc Z @sc
-l Z [SUNCONS]=sc > @sc Z @sc
-a / [VWL] Z _ l Z > ;
-;; [VWL] / [VWL] BEG _ ^l > U+2019 ; vowel at beg of word replaced by apostr when prec word end with vowel
-(A|Y|UL A) / _ (N|U|W) > ;
+[LOWERCASE] / U+E000 _ > [UPPERCASE]
+;l Z ([SUNCONS]=sc){2,2} > @sc Z @sc ;; FIXME
+;l Z [SUNCONS]=sc > @sc Z @sc ;; FIXME
+a / [VWL] Z _ l Z > ;; bi-al- -> bi-l-
+;; [VWL] / [VWL] BEG _ ^l > U+2019 ;; vowel at beg of word replaced by apostr when prec word end with vowel
[LETTER] BAR > ;;
pass(Unicode)
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-trans-dmg.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-trans-dmg.tec
index b6fd6c6e5fc..1782ef2fe56 100644
--- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-trans-dmg.tec
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-trans-dmg.tec
Binary files differ
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-trans-loc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-trans-loc.map
index 03ef6e8f477..ef9ad5da6fd 100644
--- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-trans-loc.map
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-trans-loc.map
@@ -1,6 +1,4 @@
-;; LHSName "ArabTeX-ZDMG"
LHSName "ArabTeX-LOC"
-;; LHSName "ArabTeX-EI"
RHSName "UNICODE"
Define a U+0061 ;a
@@ -94,9 +92,6 @@ U+0044 U+004F U+0054 U+0053 > ;; DOTS
;; #P UL h w > U+1E2B
;; #P U+0048 > h ; capital H > h
;;
-;; #zdmg l Z [SUNCONS]=sc / (a | H) _ > @sc Z @sc ;
-;; #zdmg [VWL] / [VWL] BEG _ > U+2019 ; vowel at beg of word replaced by apostr when prec word end with vowel
-;; #zdmg (A|Y|UL A) / _ (N|U|W) > ;
; problem of "T": It should be omitted when at end of word and when not
; the 1st member of a definite construct: al-madInaT al-`a.zImaT > al-madīna al-ʿaẓīma
@@ -120,13 +115,10 @@ Q > ;
P z > U+1E93
V z > U+017A
-;; #zdmg C z > U+017E ;check
C z > z h ;check
V t > t U+0301
P t > U+1E6D
-;; #zdmg UL t > U+1E6F
UL t > t h
-;; #zdmg C s > U+0161
C s > s h
UL s > U+1E6F ; sindhi
V r > U+0155
@@ -143,19 +135,15 @@ CO d > d U+0324
P d > U+1E0D
V s > U+015B
P s > U+1E63
-;; #zdmg (j|C g) > U+01E7 ;
(j|C g) > j ;
CO j > U+0237 U+0308
P h > U+1E25
V h > h
-;; #zdmg (UL h|x) > U+1E2B
(UL h|x) > k h
G > g
P g > U+0121
P f > f ; ?
-;; #zdmg UL d > U+1E0F
UL d > d h
-;; #zdmg C c > U+010D ;
C c > c h ;
CO b > b U+0324
P b > x ; ? undotted (b,t,th,n,y) ...
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/farsidigits.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/farsidigits.map
new file mode 100644
index 00000000000..c0f0036bb85
--- /dev/null
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/farsidigits.map
@@ -0,0 +1,16 @@
+; FC ...
+LHSName "Digits"
+RHSName "FarsiDigits"
+
+pass(Unicode)
+U+0030 <> U+06F0 ;
+U+0031 <> U+06F1 ;
+U+0032 <> U+06F2 ;
+U+0033 <> U+06F3 ;
+U+0034 <> U+06F4 ;
+U+0035 <> U+06F5 ;
+U+0036 <> U+06F6 ;
+U+0037 <> U+06F7 ;
+U+0038 <> U+06F8 ;
+U+0039 <> U+06F9 ;
+
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/fixlamalif.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/fixlamalif.map
new file mode 100644
index 00000000000..c39a4ddc25d
--- /dev/null
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/fixlamalif.map
@@ -0,0 +1,12 @@
+LHSName "Lam-Vowels-Alif"
+RHSName "Lam-Alif-Vowels"
+
+pass(Unicode)
+U+0644 U+0651 U+064E U+0627 <> U+0644 U+0627 U+0651 U+064E ; lam shadda fatha alif -> lam alif shadda fatha
+U+0644 U+0651 U+0627 <> U+0644 U+0627 U+0651 ; lam shadda alif -> lam alif shadda
+U+0644 U+0652 U+0622 <> U+0644 U+0622 U+0652 ; lam sukun alifmadda -> lam alifmadda sukun
+U+0644 U+0652 U+0623 <> U+0644 U+0623 U+0652 ; lam sukun alifhamzaabove -> lam alifhamzaabove sukun
+U+0644 U+0652 U+0625 <> U+0644 U+0625 U+0652 ; lam sukun alifhamzabelow -> lam alifhamzabelow sukun
+U+0644 U+0651 U+064B U+0627 <> U+0644 U+0627 U+0651 U+064b ; lam shadda fathatan alif -> lam alif shadda fathatan
+U+0644 U+064B U+0627 <> U+0644 U+0627 U+064B ; lam fathatan alif -> lam alif fathatan
+
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/fixlamalif.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/fixlamalif.tec
new file mode 100644
index 00000000000..ef4aa0352d5
--- /dev/null
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/fixlamalif.tec
Binary files differ
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/mirrorpunct.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/mirrorpunct.map
new file mode 100644
index 00000000000..efa1f88f8c3
--- /dev/null
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/mirrorpunct.map
@@ -0,0 +1,9 @@
+LHSName "Punctuation"
+RHSName "ArabicPunctuation"
+
+pass(Unicode)
+U+002C <> U+060C ; comma ­> arabic comma
+U+003F <> U+061F ; question mark -> arabic qm
+U+003B <> U+061B ; semicolon -> arabic
+U+00AB <> U+00BB ; « -> »
+U+00BB <> U+00AB ; » -> «
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/mirrorpunct.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/mirrorpunct.tec
new file mode 100644
index 00000000000..368cda06be7
--- /dev/null
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/mirrorpunct.tec
Binary files differ
diff --git a/Master/texmf-dist/source/xelatex/arabxetex/arabtex-farsi-trans-loc.map b/Master/texmf-dist/source/xelatex/arabxetex/arabtex-farsi-trans-loc.map
new file mode 100644
index 00000000000..89f0d3a79b4
--- /dev/null
+++ b/Master/texmf-dist/source/xelatex/arabxetex/arabtex-farsi-trans-loc.map
@@ -0,0 +1,176 @@
+;; LHSName "ArabTeX-ZDMG"
+LHSName "ArabTeX-LOC"
+;; LHSName "ArabTeX-EI"
+RHSName "UNICODE"
+
+Define a U+0061 ;a
+Define b U+0062 ;b
+Define c U+0063 ;c
+Define d U+0064 ;d
+Define e U+0065 ;e
+Define f U+0066 ;f
+Define g U+0067 ;g
+Define h U+0068 ;h
+Define i U+0069 ;i
+Define j U+006A ;j
+Define k U+006B ;k
+Define l U+006C ;l
+Define m U+006D ;m
+Define n U+006E ;n
+Define o U+006F ;o
+Define p U+0070 ;p
+Define q U+0071 ;q
+Define r U+0072 ;r
+Define s U+0073 ;s
+Define t U+0074 ;t
+Define u U+0075 ;u
+Define v U+0076 ;v
+Define w U+0077 ;w
+Define x U+0078 ;x
+Define y U+0079 ;y
+Define z U+007A ;z
+Define A U+0041 ;A
+Define B U+0042 ;B
+Define E U+0045 ;E
+Define G U+0047 ;G
+Define I U+0049 ;I
+Define N U+004E ;N
+Define O U+004F ;O
+Define T U+0054 ;T
+Define U U+0055 ;U
+Define Y U+0059 ;Y
+Define C U+005E ;^ << CARET
+Define UL U+005F ;_ << UNDERLINE
+Define P U+002E ;. << DOT
+Define V U+002C ;, << COMMA (_V_irgule)
+Define CO U+003A ;: << COLON
+Define Ain U+0060 ;`
+Define H U+0027 ;' << HAMZA
+Define Q U+0022 ;" << QUOTE
+Define Z U+002D ;- << HYPHEN
+Define BAR U+007C ;|
+Define LLAH U+006C U+006C U+005F U+0061 U+0068
+
+pass(Unicode)
+
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" `
+Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ”
+
+Define BEG (#|Z|[BRACKETS])
+
+; special ligatures
+(a|A) l Z / _ LLAH > A ;; 'al-ll_ah' or 'Al-ll_ah'
+U+0053 U+004C U+004D > U+1E63 U+0061 U+006C U+006C U+0101 U+0020 U+0041 U+006C U+006C U+0101 U+0068 U+0020 U+02BF U+0061 U+006C U+0061 U+0079 U+0068 U+0069 U+0020 U+0077 U+0061 U+002D U+0073 U+0061 U+006C U+006C U+0061 U+006D ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam
+U+0052 U+0049 U+0059 U+0041 U+004C > U+0072 U+0069 U+0079 U+0101 U+006C ;; 'RIYAL' : Saudi currency sign
+U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > ;; 'SALLASTOP'
+U+0051 U+0041 U+004C U+0041 > ;; 'QALA'
+U+0041 U+004B U+0042 U+0041 U+0052 > U+0041 U+006B U+0062 U+0061 U+0072 ;; 'AKBAR'
+U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+004D U+0075 U+1E25 U+0061 U+006D U+006D U+0061 U+0064 ;; 'MUHAMMAD'
+U+0053 U+0041 U+004C U+0041 U+004D > U+0073 U+0061 U+006C U+0101 U+006D ;; 'SALAM'
+U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+0072 U+0061 U+0073 U+016B U+006C ;; 'RASUL' (also unicode 'RASOUL)'
+U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+02BF U+0061 U+006C U+0061 U+0079 U+0068 U+0069 ;; 'ALAYHI' (also unicode 'ALAYHE)'
+U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+0077 U+0061 U+002D U+0073 U+0061 U+006C U+006C U+0061 U+006D ;; 'WASALLAM'
+U+0053 U+0041 U+004C U+004C U+0041 > U+1E63 U+0061 U+006C U+006C U+0101 ;; 'SALLA'
+U+004A U+0041 U+004C U+004C U+0041 > U+006A U+0061 U+006C U+006C U+0101 ;; 'JALLA' :
+U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+0062 U+0069 U+0073 U+006D U+0069 U+0020 U+0041 U+006C U+006C U+0101 U+0068 U+0020 U+0061 U+006C U+002D U+0072 U+0061 U+1E25 U+006D U+0101 U+006E U+0020 U+0061 U+006C U+002D U+0072 U+0061 U+0068 U+012B U+006D ;; 'BASMALA'
+U+005E U+0053 U+004C U+0059 > ;; ^SLY
+U+005E U+0051 U+004C U+0059 > ;; ^QLY
+U+005E U+004D U+0049 U+004D > ;; ^MIM
+U+005E U+004C U+0041 > ;; ^LA
+U+005E U+004A U+0049 U+004D > ;; ^JIM
+U+005E U+0044 U+004F U+0054 U+0053 > ;; ^DOTS
+U+005E U+0053 U+0049 U+004E > ;; ^SIN
+U+0048 U+0049 U+005A U+0042 > ;; HIZB
+U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > ;; CIRCZERO
+U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > ;; RECTZERO
+U+0053 U+0041 U+004A U+0044 U+0041 > ;; SAJDA
+U+0044 U+004F U+0054 U+0053 > ;; DOTS
+
+
+; general
+
+;persian
+UL h w > k h ;;
+;; #zdmg UL h w > U+1E2B
+U+0048 > h ; capital H > h
+;; #zdmg l Z [SUNCONS]=sc / (a | H) _ > @sc Z @sc ;
+;; #zdmg [VWL] / [VWL] BEG _ > U+2019 ; vowel at beg of word replaced by apostr when prec word end with vowel
+;; #zdmg (A|Y|UL A) / _ (N|U|W) > ;
+
+; problem of "T": It should be omitted when at end of word and when not
+; the 1st member of a definite construct: al-madInaT al-`a.zImaT > al-madīna al-ʿaẓīma
+; Only solution is to always transliterate to t, except when explicitly "quoted off":
+T Q / _ # > ;
+T > t
+N > n
+U+0057 > w
+(U|u u|UL u) > U+016B
+(A|a a|UL a|UL A) > U+0101
+(I|i i|UL i) > U+012B
+(E|e e) > U+0113
+(O|o o) > U+014D
+C A > U+02BE U+0101 ; historical spelling
+C U > U+02BE U+016B ; historical spelling : madda on waw
+C I > U+02BE U+012B ; historical spelling : madda on ya
+Q > ;
+
+P z > U+1E93
+V z > U+017A
+;; #zdmg C z > U+017E ;check
+C z > z h ;check
+V t > t U+0301
+P t > U+1E6D
+;; #zdmg UL t > U+1E6F
+UL t > t h
+;; #zdmg C s > U+0161
+C s > s h
+UL s > U+1E6F ; sindhi
+V r > U+0155
+P r > U+1E59; r with dot above
+P q > q ; ?
+V n > U+0144
+C n > U+00F1
+P n > U+1E47
+CO n > n U+0324
+C l > l U+0303 ; l + combining tilde
+CO g > g U+0324
+V d > d U+0301
+CO d > d U+0324
+P d > U+1E0D
+V s > U+015B
+P s > U+1E63
+;; #zdmg (j|C g) > U+01E7 ;
+(j|C g) > j ;
+CO j > U+0237 U+0308
+P h > U+1E25
+V h > h
+;; #zdmg (UL h|x) > U+1E2B
+(UL h|x) > k h
+G > g
+P g > U+0121
+P f > f ; ?
+;; #zdmg UL d > U+1E0F
+UL d > d h
+;; #zdmg C c > U+010D ;
+C c > c h ;
+CO b > b U+0324
+P b > x ; ? undotted (b,t,th,n,y) ...
+
+Y > U+0101 ;ā -> sometimes á : check
+
+
+Ain > U+02BF
+H > U+02BE
+Z Z Z > ;
+Z Z > ;
+B > ;
+U+003C U+003C > U+00AB ;<<
+U+003E U+003E > U+00BB ;>>
+UL > ;_
+U+003A U+003A > U+2234 ; '::' ??Arabic three dots transliterated by Therefore??
+N > ;
+C > ;^
+Q BAR > ;;
+BAR > ;|
+
diff --git a/Master/texmf-dist/doc/xelatex/arabxetex/arabtex-kurdish.maps b/Master/texmf-dist/source/xelatex/arabxetex/arabtex-kurdish.maps
index 75e4da0ebd0..75e4da0ebd0 100644
--- a/Master/texmf-dist/doc/xelatex/arabxetex/arabtex-kurdish.maps
+++ b/Master/texmf-dist/source/xelatex/arabxetex/arabtex-kurdish.maps
diff --git a/Master/texmf-dist/source/xelatex/arabxetex/arabtex-pashto-trans-loc.map b/Master/texmf-dist/source/xelatex/arabxetex/arabtex-pashto-trans-loc.map
new file mode 100644
index 00000000000..47a3798f047
--- /dev/null
+++ b/Master/texmf-dist/source/xelatex/arabxetex/arabtex-pashto-trans-loc.map
@@ -0,0 +1,174 @@
+;; LHSName "ArabTeX-ZDMG"
+LHSName "ArabTeX-LOC"
+;; LHSName "ArabTeX-EI"
+RHSName "UNICODE"
+
+Define a U+0061 ;a
+Define b U+0062 ;b
+Define c U+0063 ;c
+Define d U+0064 ;d
+Define e U+0065 ;e
+Define f U+0066 ;f
+Define g U+0067 ;g
+Define h U+0068 ;h
+Define i U+0069 ;i
+Define j U+006A ;j
+Define k U+006B ;k
+Define l U+006C ;l
+Define m U+006D ;m
+Define n U+006E ;n
+Define o U+006F ;o
+Define p U+0070 ;p
+Define q U+0071 ;q
+Define r U+0072 ;r
+Define s U+0073 ;s
+Define t U+0074 ;t
+Define u U+0075 ;u
+Define v U+0076 ;v
+Define w U+0077 ;w
+Define x U+0078 ;x
+Define y U+0079 ;y
+Define z U+007A ;z
+Define A U+0041 ;A
+Define B U+0042 ;B
+Define E U+0045 ;E
+Define G U+0047 ;G
+Define I U+0049 ;I
+Define N U+004E ;N
+Define O U+004F ;O
+Define T U+0054 ;T
+Define U U+0055 ;U
+Define Y U+0059 ;Y
+Define C U+005E ;^ << CARET
+Define UL U+005F ;_ << UNDERLINE
+Define P U+002E ;. << DOT
+Define V U+002C ;, << COMMA (_V_irgule)
+Define CO U+003A ;: << COLON
+Define Ain U+0060 ;`
+Define H U+0027 ;' << HAMZA
+Define Q U+0022 ;" << QUOTE
+Define Z U+002D ;- << HYPHEN
+Define BAR U+007C ;|
+Define LLAH U+006C U+006C U+005F U+0061 U+0068
+
+pass(Unicode)
+
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" `
+Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ”
+
+Define BEG (#|Z|[BRACKETS])
+
+; special ligatures
+(a|A) l Z / _ LLAH > A ;; 'al-ll_ah' or 'Al-ll_ah'
+U+0053 U+004C U+004D > U+1E63 U+0061 U+006C U+006C U+0101 U+0020 U+0041 U+006C U+006C U+0101 U+0068 U+0020 U+02BF U+0061 U+006C U+0061 U+0079 U+0068 U+0069 U+0020 U+0077 U+0061 U+002D U+0073 U+0061 U+006C U+006C U+0061 U+006D ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam
+U+0052 U+0049 U+0059 U+0041 U+004C > U+0072 U+0069 U+0079 U+0101 U+006C ;; 'RIYAL' : Saudi currency sign
+U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > ;; 'SALLASTOP'
+U+0051 U+0041 U+004C U+0041 > ;; 'QALA'
+U+0041 U+004B U+0042 U+0041 U+0052 > U+0041 U+006B U+0062 U+0061 U+0072 ;; 'AKBAR'
+U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+004D U+0075 U+1E25 U+0061 U+006D U+006D U+0061 U+0064 ;; 'MUHAMMAD'
+U+0053 U+0041 U+004C U+0041 U+004D > U+0073 U+0061 U+006C U+0101 U+006D ;; 'SALAM'
+U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+0072 U+0061 U+0073 U+016B U+006C ;; 'RASUL' (also unicode 'RASOUL)'
+U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+02BF U+0061 U+006C U+0061 U+0079 U+0068 U+0069 ;; 'ALAYHI' (also unicode 'ALAYHE)'
+U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+0077 U+0061 U+002D U+0073 U+0061 U+006C U+006C U+0061 U+006D ;; 'WASALLAM'
+U+0053 U+0041 U+004C U+004C U+0041 > U+1E63 U+0061 U+006C U+006C U+0101 ;; 'SALLA'
+U+004A U+0041 U+004C U+004C U+0041 > U+006A U+0061 U+006C U+006C U+0101 ;; 'JALLA' :
+U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+0062 U+0069 U+0073 U+006D U+0069 U+0020 U+0041 U+006C U+006C U+0101 U+0068 U+0020 U+0061 U+006C U+002D U+0072 U+0061 U+1E25 U+006D U+0101 U+006E U+0020 U+0061 U+006C U+002D U+0072 U+0061 U+0068 U+012B U+006D ;; 'BASMALA'
+U+005E U+0053 U+004C U+0059 > ;; ^SLY
+U+005E U+0051 U+004C U+0059 > ;; ^QLY
+U+005E U+004D U+0049 U+004D > ;; ^MIM
+U+005E U+004C U+0041 > ;; ^LA
+U+005E U+004A U+0049 U+004D > ;; ^JIM
+U+005E U+0044 U+004F U+0054 U+0053 > ;; ^DOTS
+U+005E U+0053 U+0049 U+004E > ;; ^SIN
+U+0048 U+0049 U+005A U+0042 > ;; HIZB
+U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > ;; CIRCZERO
+U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > ;; RECTZERO
+U+0053 U+0041 U+004A U+0044 U+0041 > ;; SAJDA
+U+0044 U+004F U+0054 U+0053 > ;; DOTS
+
+
+; general
+
+;persian
+UL h w > k h ;;
+;; #zdmg UL h w > U+1E2B
+;;
+;; #zdmg l Z [SUNCONS]=sc / (a | H) _ > @sc Z @sc ;
+;; #zdmg [VWL] / [VWL] BEG _ > U+2019 ; vowel at beg of word replaced by apostr when prec word end with vowel
+;; #zdmg (A|Y|UL A) / _ (N|U|W) > ;
+
+T Q / _ # > ;
+T > h
+N > n
+U+0057 > w
+(U|u u|UL u) > U+016B
+(A|a a|UL a|UL A) > U+0101
+(I|i i|UL i) > U+012B
+(E|e) e > e y ; pashto
+(E|e e) > U+0113
+(O|o o) > U+014D
+C A > U+02BE U+0101 ; historical spelling
+C U > U+02BE U+016B ; historical spelling : madda on waw
+C I > U+02BE U+012B ; historical spelling : madda on ya
+Q > ;
+
+P z > U+1E93
+V z > U+017A
+;; #zdmg C z > U+017E ;check
+C z > z h ;check
+V t > t U+0301
+P t > U+1E6D
+;; #zdmg UL t > U+1E6F
+UL t > t h
+;; #zdmg C s > U+0161
+C s > s h
+UL s > U+1E6F ; sindhi
+V r > U+0155
+P r > U+1E59; r with dot above
+P q > q ; ?
+V n > U+0144
+C n > U+00F1
+P n > U+1E47
+CO n > n U+0324
+C l > l U+0303 ; l + combining tilde
+CO g > g U+0324
+V d > d U+0301
+CO d > d U+0324
+P d > U+1E0D
+V s > U+015B
+P s > U+1E63
+;; #zdmg (j|C g) > U+01E7 ;
+(j|C g) > j ;
+CO j > U+0237 U+0308
+P h > U+1E25
+V h > h
+;; #zdmg (UL h|x) > U+1E2B
+(UL h|x) > k h
+G > g
+P g > U+0121
+P f > f ; ?
+;; #zdmg UL d > U+1E0F
+UL d > d h
+;; #zdmg C c > U+010D ;
+C c > c h ;
+CO b > b U+0324
+P b > x ; ? undotted (b,t,th,n,y) ...
+
+Y > U+0101 ;ā -> sometimes á : check
+
+
+Ain > U+02BF
+H > U+02BE
+Z Z Z > ;
+Z Z > ;
+B > ;
+U+003C U+003C > U+00AB ;<<
+U+003E U+003E > U+00BB ;>>
+UL > ;_
+U+003A U+003A > U+2234 ; '::' ??Arabic three dots transliterated by Therefore??
+N > ;
+C > ;^
+Q BAR > ;;
+BAR > ;|
+
diff --git a/Master/texmf-dist/source/xelatex/arabxetex/arabtex-sindhi-trans-loc.map b/Master/texmf-dist/source/xelatex/arabxetex/arabtex-sindhi-trans-loc.map
new file mode 100644
index 00000000000..4ba67436add
--- /dev/null
+++ b/Master/texmf-dist/source/xelatex/arabxetex/arabtex-sindhi-trans-loc.map
@@ -0,0 +1,176 @@
+;; LHSName "ArabTeX-ZDMG"
+LHSName "ArabTeX-LOC"
+;; LHSName "ArabTeX-EI"
+RHSName "UNICODE"
+
+Define a U+0061 ;a
+Define b U+0062 ;b
+Define c U+0063 ;c
+Define d U+0064 ;d
+Define e U+0065 ;e
+Define f U+0066 ;f
+Define g U+0067 ;g
+Define h U+0068 ;h
+Define i U+0069 ;i
+Define j U+006A ;j
+Define k U+006B ;k
+Define l U+006C ;l
+Define m U+006D ;m
+Define n U+006E ;n
+Define o U+006F ;o
+Define p U+0070 ;p
+Define q U+0071 ;q
+Define r U+0072 ;r
+Define s U+0073 ;s
+Define t U+0074 ;t
+Define u U+0075 ;u
+Define v U+0076 ;v
+Define w U+0077 ;w
+Define x U+0078 ;x
+Define y U+0079 ;y
+Define z U+007A ;z
+Define A U+0041 ;A
+Define B U+0042 ;B
+Define E U+0045 ;E
+Define G U+0047 ;G
+Define I U+0049 ;I
+Define N U+004E ;N
+Define O U+004F ;O
+Define T U+0054 ;T
+Define U U+0055 ;U
+Define Y U+0059 ;Y
+Define C U+005E ;^ << CARET
+Define UL U+005F ;_ << UNDERLINE
+Define P U+002E ;. << DOT
+Define V U+002C ;, << COMMA (_V_irgule)
+Define CO U+003A ;: << COLON
+Define Ain U+0060 ;`
+Define H U+0027 ;' << HAMZA
+Define Q U+0022 ;" << QUOTE
+Define Z U+002D ;- << HYPHEN
+Define BAR U+007C ;|
+Define LLAH U+006C U+006C U+005F U+0061 U+0068
+
+pass(Unicode)
+
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" `
+Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ”
+
+Define BEG (#|Z|[BRACKETS])
+
+; special ligatures
+(a|A) l Z / _ LLAH > A ;; 'al-ll_ah' or 'Al-ll_ah'
+U+0053 U+004C U+004D > U+1E63 U+0061 U+006C U+006C U+0101 U+0020 U+0041 U+006C U+006C U+0101 U+0068 U+0020 U+02BF U+0061 U+006C U+0061 U+0079 U+0068 U+0069 U+0020 U+0077 U+0061 U+002D U+0073 U+0061 U+006C U+006C U+0061 U+006D ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam
+U+0052 U+0049 U+0059 U+0041 U+004C > U+0072 U+0069 U+0079 U+0101 U+006C ;; 'RIYAL' : Saudi currency sign
+U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > ;; 'SALLASTOP'
+U+0051 U+0041 U+004C U+0041 > ;; 'QALA'
+U+0041 U+004B U+0042 U+0041 U+0052 > U+0041 U+006B U+0062 U+0061 U+0072 ;; 'AKBAR'
+U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+004D U+0075 U+1E25 U+0061 U+006D U+006D U+0061 U+0064 ;; 'MUHAMMAD'
+U+0053 U+0041 U+004C U+0041 U+004D > U+0073 U+0061 U+006C U+0101 U+006D ;; 'SALAM'
+U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+0072 U+0061 U+0073 U+016B U+006C ;; 'RASUL' (also unicode 'RASOUL)'
+U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+02BF U+0061 U+006C U+0061 U+0079 U+0068 U+0069 ;; 'ALAYHI' (also unicode 'ALAYHE)'
+U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+0077 U+0061 U+002D U+0073 U+0061 U+006C U+006C U+0061 U+006D ;; 'WASALLAM'
+U+0053 U+0041 U+004C U+004C U+0041 > U+1E63 U+0061 U+006C U+006C U+0101 ;; 'SALLA'
+U+004A U+0041 U+004C U+004C U+0041 > U+006A U+0061 U+006C U+006C U+0101 ;; 'JALLA' :
+U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+0062 U+0069 U+0073 U+006D U+0069 U+0020 U+0041 U+006C U+006C U+0101 U+0068 U+0020 U+0061 U+006C U+002D U+0072 U+0061 U+1E25 U+006D U+0101 U+006E U+0020 U+0061 U+006C U+002D U+0072 U+0061 U+0068 U+012B U+006D ;; 'BASMALA'
+U+005E U+0053 U+004C U+0059 > ;; ^SLY
+U+005E U+0051 U+004C U+0059 > ;; ^QLY
+U+005E U+004D U+0049 U+004D > ;; ^MIM
+U+005E U+004C U+0041 > ;; ^LA
+U+005E U+004A U+0049 U+004D > ;; ^JIM
+U+005E U+0044 U+004F U+0054 U+0053 > ;; ^DOTS
+U+005E U+0053 U+0049 U+004E > ;; ^SIN
+U+0048 U+0049 U+005A U+0042 > ;; HIZB
+U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > ;; CIRCZERO
+U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > ;; RECTZERO
+U+0053 U+0041 U+004A U+0044 U+0041 > ;; SAJDA
+U+0044 U+004F U+0054 U+0053 > ;; DOTS
+
+
+; general
+
+;persian
+UL h w > k h ;;
+;; #zdmg UL h w > U+1E2B
+;;
+;; #zdmg l Z [SUNCONS]=sc / (a | H) _ > @sc Z @sc ;
+;; #zdmg [VWL] / [VWL] BEG _ > U+2019 ; vowel at beg of word replaced by apostr when prec word end with vowel
+;; #zdmg (A|Y|UL A) / _ (N|U|W) > ;
+
+; problem of "T": It should be omitted when at end of word and when not
+; the 1st member of a definite construct: al-madInaT al-`a.zImaT > al-madīna al-ʿaẓīma
+; Only solution is to always transliterate to t, except when explicitly "quoted off":
+T Q / _ # > ;
+T > t
+N > n
+U+0057 > w
+(U|u u|UL u) > U+016B
+(A|a a|UL a|UL A) > U+0101
+(I|i i|UL i) > U+012B
+(E|e e) > U+0113
+(O|o o) > U+014D
+C A > U+02BE U+0101 ; historical spelling
+C U > U+02BE U+016B ; historical spelling : madda on waw
+C I > U+02BE U+012B ; historical spelling : madda on ya
+Q > ;
+
+P z > U+1E93
+V z > U+017A
+;; #zdmg C z > U+017E ;check
+C z > z h ;check
+w > v ; sindhi LOC
+V t > U+1E6D
+P t > t U+0324
+;; #zdmg UL t > U+1E6F
+;; #zdmg C s > U+0161
+C s > s h
+UL (s|t) > s U+0331 ; sindhi
+V r > U+0155
+P r > U+1E59; r with dot above
+P q > q ; ?
+C n > U+00F1
+P n > U+1E47
+V n > U+1E45
+C l > l U+0303 ; l + combining tilde
+CO g > g U+0308
+V d > U+1E0D
+CO d > d U+0324
+P d > z U+0324
+V s > U+015B
+P s > U+1E63
+;; #zdmg (j|C g) > U+01E7 ;
+(j|C g) > j ;
+CO j > U+0237 U+0308
+P h > U+1E25
+V h > h
+;; #zdmg (UL h|x) > U+1E2B
+(UL h|x) > k h
+G > g
+P g > g h
+;; #zdmg U+0121
+P f > f ; ?
+;; #zdmg UL d > U+1E0F
+UL d > d h
+;; #zdmg C c > U+010D ;
+C c > c ;
+CO b > b U+0324
+P b > x ; ? undotted (b,t,th,n,y) ...
+
+Y > U+0101 ;ā -> sometimes á : check
+
+
+Ain > U+02BF
+H > ; hamzas are omitted in sindhi trans
+Z Z Z > ;
+Z Z > ;
+B > ;
+U+003C U+003C > U+00AB ;<<
+U+003E U+003E > U+00BB ;>>
+UL > ;_
+U+003A U+003A > U+2234 ; '::' ??Arabic three dots transliterated by Therefore??
+N > ;
+C > ;^
+Q BAR > ;;
+BAR > ;|
+
diff --git a/Master/texmf-dist/source/xelatex/arabxetex/arabtex-trans-dmg.map b/Master/texmf-dist/source/xelatex/arabxetex/arabtex-trans-dmg.map
new file mode 100644
index 00000000000..9b4acc136de
--- /dev/null
+++ b/Master/texmf-dist/source/xelatex/arabxetex/arabtex-trans-dmg.map
@@ -0,0 +1,191 @@
+LHSName "ArabTeX-DMG"
+RHSName "UNICODE"
+
+Define a U+0061 ;a
+Define b U+0062 ;b
+Define c U+0063 ;c
+Define d U+0064 ;d
+Define e U+0065 ;e
+Define f U+0066 ;f
+Define g U+0067 ;g
+Define h U+0068 ;h
+Define i U+0069 ;i
+Define j U+006A ;j
+Define k U+006B ;k
+Define l U+006C ;l
+Define m U+006D ;m
+Define n U+006E ;n
+Define o U+006F ;o
+Define p U+0070 ;p
+Define q U+0071 ;q
+Define r U+0072 ;r
+Define s U+0073 ;s
+Define t U+0074 ;t
+Define u U+0075 ;u
+Define v U+0076 ;v
+Define w U+0077 ;w
+Define x U+0078 ;x
+Define y U+0079 ;y
+Define z U+007A ;z
+Define A U+0041 ;A
+Define B U+0042 ;B
+Define E U+0045 ;E
+Define G U+0047 ;G
+Define I U+0049 ;I
+Define N U+004E ;N
+Define O U+004F ;O
+Define T U+0054 ;T
+Define U U+0055 ;U
+Define W U+0057 ;W
+Define Y U+0059 ;Y
+Define C U+005E ;^ << CARET
+Define UL U+005F ;_ << UNDERLINE
+Define P U+002E ;. << DOT
+Define V U+002C ;, << COMMA (_V_irgule)
+Define CO U+003A ;: << COLON
+Define Ain U+0060 ;`
+Define H U+0027 ;' << HAMZA
+Define Q U+0022 ;" << QUOTE
+Define Z U+002D ;- << HYPHEN
+Define BAR U+007C ;|
+Define LLAH U+006C U+006C U+005F U+0061 U+0068
+
+pass(Unicode)
+
+Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ”
+
+Define BEG (#|Z|[BRACKETS])
+
+; special ligatures
+(a|A) BAR l Z / _ LLAH > ;; 'a|l-ll_ah' or 'A|l-ll_ah' -> llāh
+(a|A) l Z / _ LLAH > A ;; 'al-ll_ah' or 'Al-ll_ah' -> Allāh
+U+0053 U+004C U+004D > U+1E63 U+0061 U+006C U+006C U+0101 U+0020 U+0041 U+006C U+006C U+0101 U+0068 U+0020 U+02BF U+0061 U+006C U+0061 U+0079 U+0068 U+0069 U+0020 U+0077 U+0061 U+002D U+0073 U+0061 U+006C U+006C U+0061 U+006D ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam
+U+0052 U+0049 U+0059 U+0041 U+004C > U+0072 U+0069 U+0079 U+0101 U+006C ;; 'RIYAL' : Saudi currency sign
+U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > ;; 'SALLASTOP'
+U+0051 U+0041 U+004C U+0041 > ;; 'QALA'
+U+0041 U+004B U+0042 U+0041 U+0052 > U+0041 U+006B U+0062 U+0061 U+0072 ;; 'AKBAR'
+U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+004D U+0075 U+1E25 U+0061 U+006D U+006D U+0061 U+0064 ;; 'MUHAMMAD'
+U+0053 U+0041 U+004C U+0041 U+004D > U+0073 U+0061 U+006C U+0101 U+006D ;; 'SALAM'
+U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+0072 U+0061 U+0073 U+016B U+006C ;; 'RASUL' (also unicode 'RASOUL)'
+U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+02BF U+0061 U+006C U+0061 U+0079 U+0068 U+0069 ;; 'ALAYHI' (also unicode 'ALAYHE)'
+U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+0077 U+0061 U+002D U+0073 U+0061 U+006C U+006C U+0061 U+006D ;; 'WASALLAM'
+U+0053 U+0041 U+004C U+004C U+0041 > U+1E63 U+0061 U+006C U+006C U+0101 ;; 'SALLA'
+U+004A U+0041 U+004C U+004C U+0041 > U+006A U+0061 U+006C U+006C U+0101 ;; 'JALLA' :
+U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+0062 U+0069 U+0073 U+006D U+0069 U+0020 U+0041 U+006C U+006C U+0101 U+0068 U+0020 U+0061 U+006C U+002D U+0072 U+0061 U+1E25 U+006D U+0101 U+006E U+0020 U+0061 U+006C U+002D U+0072 U+0061 U+0068 U+012B U+006D ;; 'BASMALA'
+U+005E U+0053 U+004C U+0059 > ;; ^SLY
+U+005E U+0051 U+004C U+0059 > ;; ^QLY
+U+005E U+004D U+0049 U+004D > ;; ^MIM
+U+005E U+004C U+0041 > ;; ^LA
+U+005E U+004A U+0049 U+004D > ;; ^JIM
+U+005E U+0044 U+004F U+0054 U+0053 > ;; ^DOTS
+U+005E U+0053 U+0049 U+004E > ;; ^SIN
+U+0048 U+0049 U+005A U+0042 > ;; HIZB
+U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > ;; CIRCZERO
+U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > ;; RECTZERO
+U+0053 U+0041 U+004A U+0044 U+0041 > ;; SAJDA
+U+0044 U+004F U+0054 U+0053 > ;; DOTS
+
+
+; general
+
+;persian
+;; #P UL h w > U+1E2B
+;; #P U+0048 > h ; capital H > h
+;;
+
+; problem of "T": It should be omitted when at end of word and when not
+; the 1st member of a definite construct: al-madInaT al-`a.zImaT > al-madīna al-ʿaẓīma
+; Only solution is to always transliterate to t, except when explicitly "quoted off" with |:
+T BAR / _ # > ;
+T > t
+;;#U T > h
+N > n
+U+0057 > w
+(U|u u|UL u) > U+016B
+(A|a a|UL a|UL A) > U+0101
+i y > U+012B y
+(I|i i|UL i) > U+012B
+;;#U (E|a e) / _ # > H U+0113
+;;#T (E|e) e > e y ; pashto
+(E|e e) > U+0113
+(O|o o) > U+014D
+C A > U+02BE U+0101 ; historical spelling
+C U > U+02BE U+016B ; historical spelling : madda on waw
+C I > U+02BE U+012B ; historical spelling : madda on ya
+
+P z > U+1E93
+V z > U+017A
+C z > U+017E ;check
+V t > t U+0301
+P t > U+1E6D
+UL t > U+1E6F
+C s > U+0161
+UL s > U+1E6F ; sindhi
+V r > U+0155
+P r > U+1E59; r with dot above
+P q > q ; ?
+V n > U+0144
+C n > U+00F1
+P n > U+1E47
+CO n > n U+0324
+C l > l U+0303 ; l + combining tilde
+CO g > g U+0324
+V d > d U+0301
+CO d > d U+0324
+P d > U+1E0D
+V s > U+015B
+P s > U+1E63
+(j|C g) > U+01E7 ;
+CO j > U+0237 U+0308
+P h > U+1E25
+V h > h
+(UL h|x) > U+1E2B
+G > g
+P g > U+0121
+P f > f ; ?
+UL d > U+1E0F
+C c > U+010D ;
+CO b > b U+0324
+P b > x ; ? undotted (b,t,th,n,y) ...
+
+(A|Y|UL A) / _ (N|U|W) > ;
+Y > U+0101 ;ā -> LOC: á : check DMG
+
+
+Ain > U+02BF
+Z H > Z
+H / # _ > ;
+H > U+02BE
+Z Z Z > ;
+Z Z > ;
+B > ;
+U+003C U+003C > U+00AB ;<<
+U+003E U+003E > U+00BB ;>>
+UL > ;_
+U+003A U+003A > U+2234 ; '::' ??Arabic three dots transliterated by Therefore??
+N > ;
+C > ;^
+Q > ;
+
+pass(Unicode)
+
+Class [LOWERCASE] = ( U+0061..U+007A U+0101 U+0113 U+012B U+014D U+0161 U+016B U+1E0D U+1E25 U+1E33 U+1E63 U+1E6D U+1E93 U+1E2B U+1E0F U+1E6F U+0121 U+01E7 )
+Class [UPPERCASE] = ( U+0041..U+005A U+0100 U+0112 U+012A U+014C U+0160 U+016A U+1E0C U+1E24 U+1E32 U+1E62 U+1E6C U+1E92 U+1E2A U+1E0E U+1E6E U+0120 U+01E6 )
+Class [LETTER] = (U+0041..U+01FF)
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075) ; (a e i o u)
+Class [SUNCONS] = (U+0064 U+1E0F U+0074 U+1E6F U+0072 U+007A U+0073 U+0161 U+1E63 U+1E0D U+1E6D U+1E93 U+006E)
+Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ”
+[LOWERCASE] / U+E000 a l Z _ > [UPPERCASE]
+[LOWERCASE] / U+E000 _ > [UPPERCASE]
+;l Z ([SUNCONS]=sc){2,2} > @sc Z @sc ;; FIXME
+;l Z [SUNCONS]=sc > @sc Z @sc ;; FIXME
+a / [VWL] Z _ l Z > ;; bi-al- -> bi-l-
+;; [VWL] / [VWL] BEG _ ^l > U+2019 ;; vowel at beg of word replaced by apostr when prec word end with vowel
+[LETTER] BAR > ;;
+
+pass(Unicode)
+
+U+E000 > ;
+
+A l Z > a l Z
+
diff --git a/Master/texmf-dist/source/xelatex/arabxetex/arabtex-trans-loc.map b/Master/texmf-dist/source/xelatex/arabxetex/arabtex-trans-loc.map
new file mode 100644
index 00000000000..ef9ad5da6fd
--- /dev/null
+++ b/Master/texmf-dist/source/xelatex/arabxetex/arabtex-trans-loc.map
@@ -0,0 +1,184 @@
+LHSName "ArabTeX-LOC"
+RHSName "UNICODE"
+
+Define a U+0061 ;a
+Define b U+0062 ;b
+Define c U+0063 ;c
+Define d U+0064 ;d
+Define e U+0065 ;e
+Define f U+0066 ;f
+Define g U+0067 ;g
+Define h U+0068 ;h
+Define i U+0069 ;i
+Define j U+006A ;j
+Define k U+006B ;k
+Define l U+006C ;l
+Define m U+006D ;m
+Define n U+006E ;n
+Define o U+006F ;o
+Define p U+0070 ;p
+Define q U+0071 ;q
+Define r U+0072 ;r
+Define s U+0073 ;s
+Define t U+0074 ;t
+Define u U+0075 ;u
+Define v U+0076 ;v
+Define w U+0077 ;w
+Define x U+0078 ;x
+Define y U+0079 ;y
+Define z U+007A ;z
+Define A U+0041 ;A
+Define B U+0042 ;B
+Define E U+0045 ;E
+Define G U+0047 ;G
+Define I U+0049 ;I
+Define N U+004E ;N
+Define O U+004F ;O
+Define T U+0054 ;T
+Define U U+0055 ;U
+Define Y U+0059 ;Y
+Define C U+005E ;^ << CARET
+Define UL U+005F ;_ << UNDERLINE
+Define P U+002E ;. << DOT
+Define V U+002C ;, << COMMA (_V_irgule)
+Define CO U+003A ;: << COLON
+Define Ain U+0060 ;`
+Define H U+0027 ;' << HAMZA
+Define Q U+0022 ;" << QUOTE
+Define Z U+002D ;- << HYPHEN
+Define BAR U+007C ;|
+Define LLAH U+006C U+006C U+005F U+0061 U+0068
+
+pass(Unicode)
+
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075) ;(a e i o u)
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" `
+Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ”
+
+Define BEG (#|Z|[BRACKETS])
+
+; special ligatures
+(a|A) l Z / _ LLAH > A ;; 'al-ll_ah' or 'Al-ll_ah'
+U+0053 U+004C U+004D > U+1E63 U+0061 U+006C U+006C U+0101 U+0020 U+0041 U+006C U+006C U+0101 U+0068 U+0020 U+02BF U+0061 U+006C U+0061 U+0079 U+0068 U+0069 U+0020 U+0077 U+0061 U+002D U+0073 U+0061 U+006C U+006C U+0061 U+006D ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam
+U+0052 U+0049 U+0059 U+0041 U+004C > U+0072 U+0069 U+0079 U+0101 U+006C ;; 'RIYAL' : Saudi currency sign
+U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > ;; 'SALLASTOP'
+U+0051 U+0041 U+004C U+0041 > ;; 'QALA'
+U+0041 U+004B U+0042 U+0041 U+0052 > U+0041 U+006B U+0062 U+0061 U+0072 ;; 'AKBAR'
+U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+004D U+0075 U+1E25 U+0061 U+006D U+006D U+0061 U+0064 ;; 'MUHAMMAD'
+U+0053 U+0041 U+004C U+0041 U+004D > U+0073 U+0061 U+006C U+0101 U+006D ;; 'SALAM'
+U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+0072 U+0061 U+0073 U+016B U+006C ;; 'RASUL' (also unicode 'RASOUL)'
+U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+02BF U+0061 U+006C U+0061 U+0079 U+0068 U+0069 ;; 'ALAYHI' (also unicode 'ALAYHE)'
+U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+0077 U+0061 U+002D U+0073 U+0061 U+006C U+006C U+0061 U+006D ;; 'WASALLAM'
+U+0053 U+0041 U+004C U+004C U+0041 > U+1E63 U+0061 U+006C U+006C U+0101 ;; 'SALLA'
+U+004A U+0041 U+004C U+004C U+0041 > U+006A U+0061 U+006C U+006C U+0101 ;; 'JALLA' :
+U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+0062 U+0069 U+0073 U+006D U+0069 U+0020 U+0041 U+006C U+006C U+0101 U+0068 U+0020 U+0061 U+006C U+002D U+0072 U+0061 U+1E25 U+006D U+0101 U+006E U+0020 U+0061 U+006C U+002D U+0072 U+0061 U+0068 U+012B U+006D ;; 'BASMALA'
+U+005E U+0053 U+004C U+0059 > ;; ^SLY
+U+005E U+0051 U+004C U+0059 > ;; ^QLY
+U+005E U+004D U+0049 U+004D > ;; ^MIM
+U+005E U+004C U+0041 > ;; ^LA
+U+005E U+004A U+0049 U+004D > ;; ^JIM
+U+005E U+0044 U+004F U+0054 U+0053 > ;; ^DOTS
+U+005E U+0053 U+0049 U+004E > ;; ^SIN
+U+0048 U+0049 U+005A U+0042 > ;; HIZB
+U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > ;; CIRCZERO
+U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > ;; RECTZERO
+U+0053 U+0041 U+004A U+0044 U+0041 > ;; SAJDA
+U+0044 U+004F U+0054 U+0053 > ;; DOTS
+
+
+; general
+
+;persian
+;; #P UL h w > U+1E2B
+;; #P U+0048 > h ; capital H > h
+;;
+
+; problem of "T": It should be omitted when at end of word and when not
+; the 1st member of a definite construct: al-madInaT al-`a.zImaT > al-madīna al-ʿaẓīma
+; Only solution is to always transliterate to t, except when explicitly "quoted off":
+T Q / _ # > ;
+T > t
+;;#U T > h
+N > n
+U+0057 > w
+(U|u u|UL u) > U+016B
+(A|a a|UL a|UL A) > U+0101
+(I|i i|UL i) > U+012B
+;;#U (E|a e) / _ # > H U+0113
+;;#T (E|e) e > e y ; pashto
+(E|e e) > U+0113
+(O|o o) > U+014D
+C A > U+02BE U+0101 ; historical spelling
+C U > U+02BE U+016B ; historical spelling : madda on waw
+C I > U+02BE U+012B ; historical spelling : madda on ya
+Q > ;
+
+P z > U+1E93
+V z > U+017A
+C z > z h ;check
+V t > t U+0301
+P t > U+1E6D
+UL t > t h
+C s > s h
+UL s > U+1E6F ; sindhi
+V r > U+0155
+P r > U+1E59; r with dot above
+P q > q ; ?
+V n > U+0144
+C n > U+00F1
+P n > U+1E47
+CO n > n U+0324
+C l > l U+0303 ; l + combining tilde
+CO g > g U+0324
+V d > d U+0301
+CO d > d U+0324
+P d > U+1E0D
+V s > U+015B
+P s > U+1E63
+(j|C g) > j ;
+CO j > U+0237 U+0308
+P h > U+1E25
+V h > h
+(UL h|x) > k h
+G > g
+P g > U+0121
+P f > f ; ?
+UL d > d h
+C c > c h ;
+CO b > b U+0324
+P b > x ; ? undotted (b,t,th,n,y) ...
+
+Y > U+0101 ;ā -> sometimes á : check
+
+
+Ain > U+02BF
+Z H > Z
+H / # _ > ;
+H > U+02BE
+Z Z Z > ;
+Z Z > ;
+B > ;
+U+003C U+003C > U+00AB ;<<
+U+003E U+003E > U+00BB ;>>
+UL > ;_
+U+003A U+003A > U+2234 ; '::' ??Arabic three dots transliterated by Therefore??
+N > ;
+C > ;^
+Q BAR > ;;
+BAR > ;|
+
+pass(Unicode)
+
+Class [LOWERCASE] = ( U+0061..U+007A U+0101 U+0113 U+012B U+014D U+016B U+1E0D U+1E25 U+1E33 U+1E63 U+1E6D U+1E93 U+1E2B U+1E0F U+1E6F U+0121 U+01E7 )
+Class [UPPERCASE] = ( U+0041..U+005A U+0100 U+0112 U+012A U+014C U+016A U+1E0C U+1E24 U+1E32 U+1E62 U+1E6C U+1E92 U+1E2A U+1E0E U+1E6E U+0120 U+01E6 )
+
+[LOWERCASE] / U+E000 _ > [UPPERCASE]
+[LOWERCASE] / U+E000 a l Z _ > [UPPERCASE]
+
+pass(Unicode)
+
+U+E000 > ;
+
+A l Z > a l Z
+
+
diff --git a/Master/texmf-dist/doc/xelatex/arabxetex/arabtex-uighur.maps b/Master/texmf-dist/source/xelatex/arabxetex/arabtex-uighur.maps
index 27da35ca0d2..27da35ca0d2 100644
--- a/Master/texmf-dist/doc/xelatex/arabxetex/arabtex-uighur.maps
+++ b/Master/texmf-dist/source/xelatex/arabxetex/arabtex-uighur.maps
diff --git a/Master/texmf-dist/source/xelatex/arabxetex/arabtex-urdu-trans-loc.map b/Master/texmf-dist/source/xelatex/arabxetex/arabtex-urdu-trans-loc.map
new file mode 100644
index 00000000000..9acc465eb12
--- /dev/null
+++ b/Master/texmf-dist/source/xelatex/arabxetex/arabtex-urdu-trans-loc.map
@@ -0,0 +1,180 @@
+;; LHSName "ArabTeX-ZDMG"
+LHSName "ArabTeX-LOC"
+;; LHSName "ArabTeX-EI"
+RHSName "UNICODE"
+
+Define a U+0061 ;a
+Define b U+0062 ;b
+Define c U+0063 ;c
+Define d U+0064 ;d
+Define e U+0065 ;e
+Define f U+0066 ;f
+Define g U+0067 ;g
+Define h U+0068 ;h
+Define i U+0069 ;i
+Define j U+006A ;j
+Define k U+006B ;k
+Define l U+006C ;l
+Define m U+006D ;m
+Define n U+006E ;n
+Define o U+006F ;o
+Define p U+0070 ;p
+Define q U+0071 ;q
+Define r U+0072 ;r
+Define s U+0073 ;s
+Define t U+0074 ;t
+Define u U+0075 ;u
+Define v U+0076 ;v
+Define w U+0077 ;w
+Define x U+0078 ;x
+Define y U+0079 ;y
+Define z U+007A ;z
+Define A U+0041 ;A
+Define B U+0042 ;B
+Define E U+0045 ;E
+Define G U+0047 ;G
+Define I U+0049 ;I
+Define N U+004E ;N
+Define O U+004F ;O
+Define T U+0054 ;T
+Define U U+0055 ;U
+Define Y U+0059 ;Y
+Define C U+005E ;^ << CARET
+Define UL U+005F ;_ << UNDERLINE
+Define P U+002E ;. << DOT
+Define V U+002C ;, << COMMA (_V_irgule)
+Define CO U+003A ;: << COLON
+Define Ain U+0060 ;`
+Define H U+0027 ;' << HAMZA
+Define Q U+0022 ;" << QUOTE
+Define Z U+002D ;- << HYPHEN
+Define BAR U+007C ;|
+Define LLAH U+006C U+006C U+005F U+0061 U+0068
+
+pass(Unicode)
+
+Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" `
+Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ”
+
+Define BEG (#|Z|[BRACKETS])
+
+; special ligatures
+(a|A) l Z / _ LLAH > A ;; 'al-ll_ah' or 'Al-ll_ah'
+U+0053 U+004C U+004D > U+1E63 U+0061 U+006C U+006C U+0101 U+0020 U+0041 U+006C U+006C U+0101 U+0068 U+0020 U+02BF U+0061 U+006C U+0061 U+0079 U+0068 U+0069 U+0020 U+0077 U+0061 U+002D U+0073 U+0061 U+006C U+006C U+0061 U+006D ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam
+U+0052 U+0049 U+0059 U+0041 U+004C > U+0072 U+0069 U+0079 U+0101 U+006C ;; 'RIYAL' : Saudi currency sign
+U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > ;; 'SALLASTOP'
+U+0051 U+0041 U+004C U+0041 > ;; 'QALA'
+U+0041 U+004B U+0042 U+0041 U+0052 > U+0041 U+006B U+0062 U+0061 U+0072 ;; 'AKBAR'
+U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+004D U+0075 U+1E25 U+0061 U+006D U+006D U+0061 U+0064 ;; 'MUHAMMAD'
+U+0053 U+0041 U+004C U+0041 U+004D > U+0073 U+0061 U+006C U+0101 U+006D ;; 'SALAM'
+U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+0072 U+0061 U+0073 U+016B U+006C ;; 'RASUL' (also unicode 'RASOUL)'
+U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+02BF U+0061 U+006C U+0061 U+0079 U+0068 U+0069 ;; 'ALAYHI' (also unicode 'ALAYHE)'
+U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+0077 U+0061 U+002D U+0073 U+0061 U+006C U+006C U+0061 U+006D ;; 'WASALLAM'
+U+0053 U+0041 U+004C U+004C U+0041 > U+1E63 U+0061 U+006C U+006C U+0101 ;; 'SALLA'
+U+004A U+0041 U+004C U+004C U+0041 > U+006A U+0061 U+006C U+006C U+0101 ;; 'JALLA' :
+U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+0062 U+0069 U+0073 U+006D U+0069 U+0020 U+0041 U+006C U+006C U+0101 U+0068 U+0020 U+0061 U+006C U+002D U+0072 U+0061 U+1E25 U+006D U+0101 U+006E U+0020 U+0061 U+006C U+002D U+0072 U+0061 U+0068 U+012B U+006D ;; 'BASMALA'
+U+005E U+0053 U+004C U+0059 > ;; ^SLY
+U+005E U+0051 U+004C U+0059 > ;; ^QLY
+U+005E U+004D U+0049 U+004D > ;; ^MIM
+U+005E U+004C U+0041 > ;; ^LA
+U+005E U+004A U+0049 U+004D > ;; ^JIM
+U+005E U+0044 U+004F U+0054 U+0053 > ;; ^DOTS
+U+005E U+0053 U+0049 U+004E > ;; ^SIN
+U+0048 U+0049 U+005A U+0042 > ;; HIZB
+U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > ;; CIRCZERO
+U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > ;; RECTZERO
+U+0053 U+0041 U+004A U+0044 U+0041 > ;; SAJDA
+U+0044 U+004F U+0054 U+0053 > ;; DOTS
+
+
+; general
+
+;persian
+UL h w > k h
+;; #zdmg UL h w > U+1E2B
+U+0048 > h ; capital H > h
+;;
+;; #zdmg l Z [SUNCONS]=sc / (a | H) _ > @sc Z @sc ;
+;; #zdmg [VWL] / [VWL] BEG _ > U+2019 ; vowel at beg of word replaced by apostr when prec word end with vowel
+;; #zdmg (A|Y|UL A) / _ (N|U|W) > ;
+
+; problem of "T": It should be omitted when at end of word and when not
+; the 1st member of a definite construct: al-madInaT al-`a.zImaT > al-madīna al-ʿaẓīma
+; Only solution is to always transliterate to t, except when explicitly "quoted off":
+T Q / _ # > ;
+T > h
+N > n
+U+0057 > w
+(U|u u|UL u) > U+016B
+(A|a a|UL a|UL A) > U+0101
+(I|i i|UL i) > U+012B
+(E|a e) / _ # > H U+0113
+(E|e e) > U+0113
+(O|o o) > U+014D
+C A > U+02BE U+0101 ; historical spelling
+C U > U+02BE U+016B ; historical spelling : madda on waw
+C I > U+02BE U+012B ; historical spelling : madda on ya
+P m I n > m i n ;
+H BAR I n > i n ;
+Q > ;
+
+P z > U+1E93
+V z > U+017A
+;; #zdmg C z > U+017E ;check
+C z > z h ;check
+V t > t U+0301
+P t > U+1E6D
+;; #zdmg UL t > U+1E6F
+UL t > t h
+;; #zdmg C s > U+0161
+C s > s h
+UL s > U+1E6F ; sindhi
+V r > U+0155
+P r > U+1E59; r with dot above
+P q > q ; ?
+V n > U+0144
+C n > U+00F1
+P n > U+1E47
+CO n > n U+0324
+C l > l U+0303 ; l + combining tilde
+CO g > g U+0324
+V d > d U+0301
+CO d > d U+0324
+P d > U+1E0D
+V s > U+015B
+P s > U+1E63
+;; #zdmg (j|C g) > U+01E7 ;
+(j|C g) > j ;
+CO j > U+0237 U+0308
+P h > U+1E25
+V h > h
+;; #zdmg (UL h|x) > U+1E2B
+(UL h|x) > k h
+G > g
+P g > U+0121
+P f > f ; ?
+;; #zdmg UL d > U+1E0F
+UL d > d h
+;; #zdmg C c > U+010D ;
+C c > c h ;
+CO b > b U+0324
+P b > x ; ? undotted (b,t,th,n,y) ...
+
+Y > U+0101 ;ā -> sometimes á : check
+
+
+Ain > U+02BF
+H > U+02BE
+Z Z Z > ;
+Z Z > ;
+B > ;
+U+003C U+003C > U+00AB ;<<
+U+003E U+003E > U+00BB ;>>
+UL > ;_
+U+003A U+003A > U+2234 ; '::' ??Arabic three dots transliterated by Therefore??
+N > ;
+C > ;^
+Q BAR > ;;
+BAR > ;|
+
diff --git a/Master/texmf-dist/doc/xelatex/arabxetex/arabtex.maps b/Master/texmf-dist/source/xelatex/arabxetex/arabtex.maps
index a71c56292f8..cc7dec079ba 100644
--- a/Master/texmf-dist/doc/xelatex/arabxetex/arabtex.maps
+++ b/Master/texmf-dist/source/xelatex/arabxetex/arabtex.maps
@@ -1,6 +1,6 @@
## This is the master file to generate the TECkit ArabTeX font mappings
## for use with XeTeX
-## The mappings are generated with a simple sed script
+## The mappings are generated with a simple perl script (makemaps.pl)
##
## Conventions used:
## ---------------------------------------------------------------------------------
@@ -132,6 +132,7 @@ U+E000 > ; eliminate special code for capitalization in transliterations
pass(Unicode)
Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u)
+Class [AVWL] = (U+064B..U+0650);
Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" `
Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ”
Class [PUNCT] = (V SC P CO)
@@ -220,6 +221,7 @@ U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digi
u u > U
i i > I
a a > A
+#n [AVWL] > ; strip off vowels when writing UTF-8 Arabic with novoc mode
#T a e > a U+0626
#T E e > U+0659 U+06CD
#T e e > U+0659 U+0626
@@ -233,8 +235,8 @@ CO O > U+06FC ;
#U a e / _ # > a U+06D2
#-T a e > a y
a o > a w
-#PUK (o|u)? O / # _ > U+0627 w
-#PUK (o|u)? O > w
+#PUKS (o|u)? O / # _ > U+0627 w
+#PUKS (o|u)? O > w
CO U > U+06C7 ;
#-TK e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish)
#T e > U+0659
@@ -283,6 +285,8 @@ a l Z / BEG _ > U+0627 l Z
@Av H l Z / BEG _ > U+0627 l Z
@Bv H l Z / BEG _ > U+0627 l Z
#Af H l Z / BEG _ > U+0671 l Z ; THIS IS NOT AN ARABTEX CONVENTION! it's a work-around coz pattern-matching across word boundaries does not work in teckit , so min al- must be written mina 'l- in fullvocalize mode
+;; wasla on initial alif : NEW! NOT TESTED!
+#Af [VWL]=v1 Z / BEG _ > @v1 U+0671 ; THIS IS NOT AN ARABTEX CONVENTION! it's a work-around coz pattern-matching across word boundaries does not work in teckit , so huwa irtifA` must be written huwa i-rtifA` in fullvocalize mode
#n H / BEG _ l l > U+0627 ;
#v H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI
#n [VWL]=v1 / BEG _ > A @v1
@@ -613,6 +617,8 @@ UL h > U+062E
(P h|U+1E25) > U+062D
V h V h > U+06C1 U+0651 ;;SHADDA
V h > U+06C1
+#U H H > U+06C1 U+0651 ;;SHADDA
+#U H > U+06C1
#U h h > U+06BE U+0651 ;;SHADDA
#U h > U+06BE ; urdu
#U ;; fix letter+h letter+h > letter+h shadda in URDU <<<
@@ -777,4 +783,3 @@ BAR > ;|
#f ;; [CONS]=k1 / _ # > @k1 U+0652 ; final consonant
#f Q > ;
#v Z > ;
-
diff --git a/Master/texmf-dist/doc/xelatex/arabxetex/arabxetex.dtx b/Master/texmf-dist/source/xelatex/arabxetex/arabxetex.dtx
index 24ee9fe8ed5..513dc3081cd 100644
--- a/Master/texmf-dist/doc/xelatex/arabxetex/arabxetex.dtx
+++ b/Master/texmf-dist/source/xelatex/arabxetex/arabxetex.dtx
@@ -2,7 +2,7 @@
%
%!TEX encoding = UTF-8 Unicode
%
-% Copyright (C) 2007-2008 by François Charette <firmicus at gmx dot net>
+% Copyright © 2007-2010 by François Charette <firmicus at gmx dot net>
%
% Distributable under the LaTeX Project Public License,
% version 1.3c or higher (your choice). The latest version of
@@ -11,8 +11,9 @@
% This work is "maintained" (as per LPPL maintenance status)
% by François Charette.
%
-% This work consists of the file bidi.dtx
-% and the derived files bidi.sty and bidi.pdf.
+% This work consists of the file arabxetex.dtx
+% and the derived files arabxetex.sty, arabxetex.pdf and
+% several accompanying *.map files.
%
%
%<*batchfile>
@@ -23,14 +24,14 @@
____________________________
The arabxetex package
- (C) 2007-2008 François Charette
+ © 2007–2010 François Charette
License information appended
\endpreamble
\postamble
-Copyright (C) 2007-2008 by François Charette <firmicus at gmx dot net>
+Copyright © 2007–2010 by François Charette <firmicus at gmx dot net>
Distributable under the LaTeX Project Public License,
version 1.3c or higher (your choice). The latest version of
@@ -68,7 +69,7 @@ as well as an extensive collection of TECKit files
%
%<*readme>
--------------------------
-THE ARABXETEX PACKAGE v1.1.2
+THE ARABXETEX PACKAGE v1.1.4
This package provides a convenient ArabTeX-like user-interface for typesetting
languages using the Arabic script in XeLaTeX, with flexible access to font
@@ -83,7 +84,7 @@ The TECkit fontmapping files (*.map and *.tec) should be copied to
-------------------------
François Charette
-2007-2008
+© 2007–2010
%</readme>
%
% \fi
@@ -840,7 +841,7 @@ François Charette
% ¦^n¦ & &&&&\GN[sindhi]{^n}{0683}&&&&\GN[malay]{^n}{06BD}&\GR[uighur]{^n}{06AD} \\
% ¦:n¦ & &&&&\GR[sindhi]{:n}{06B1}&&&&&\\
% ¦o¦ & &\GR[farsi]{Bo}{}&&\GN[pashto]{Bo}{0657}&&&\GN[kurdish]{o/Bo}{}&\GN[kashmiri]{Bo}{06C6}&&\GN[uighur]{Bo}{} \\
-% ¦O¦ & &\GN[farsi]{BO}{}&\GN[urdu]{BO}{}&\GN[pashto]{BO}{}&&&\GN[kurdish]{O/BO}{}&\GN[kashmiri]{BO}{}&&\\
+% ¦O¦ & &\GN[farsi]{BO}{}&\GN[urdu]{BO}{}&\GN[pashto]{BO}{}&\GN[sindhi]{BO}{}&&\GN[kurdish]{O/BO}{}&\GN[kashmiri]{BO}{}&&\\
% ¦ao¦ & &&\GR[urdu]{Bao}{}&&\GR[sindhi]{Bao}{}&&&&&\\
% ¦.o¦ & &&&&&&&\GN[kashmiri]{B.o}{06C4}&&\\
% ¦.O¦ & &&&&&&&\GN[kashmiri]{B.O}{}&&\\
@@ -1258,11 +1259,10 @@ François Charette
% \small
% \section{Notes on available free and commercial fonts for the Perso-Arabic script}
% \label{arabicfont}
-% \texttt{TO BE COMPLETED}
%
+% \textcolor{red}{NB: This list is incomplete and has not been updated since 2007.}
%
% ^^AThere are few free good quality fonts that support the Arabic script.
-%
% \begin{compactitem}[\textbf{·}]
% \item ‘Scheherazade’ and ‘Lateef’ from SIL
%
@@ -1280,8 +1280,7 @@ François Charette
% ^^A
% ^^AA-l-l-h > FDF2
%
-% \item Arabic fonts on Mac~OS~X: ‘Geeza Pro’, ‘DecoType Naskh’, \ldots more?\\
-% \textcolor{red}{$\rightarrow$ \texttt{Help needed to test those fonts!}}
+% \item Arabic fonts on Mac~OS~X: ‘Geeza Pro’, ‘DecoType Naskh’, \ldots more?
%
% \item ‘Arabic Typesetting’ and other Arabic fonts licensed to Microsoft
%
@@ -1302,6 +1301,7 @@ François Charette
% Here follows a list of open source and freeware fonts with full
% \textsc{Latin Extended Additional} coverage.\footnote{ ^^A
% See this \href{http://www.alanwood.net/unicode/fonts.html\#general}{webpage} for more details.}
+% \textcolor{red}{NB: This list has not been updated since 2007.}
% \begin{compactitem}[\textbf{·}]
% \item Gentium, Doulos, Charis: \url{http://scripts.sil.org/FontDownloads}
%
@@ -1353,7 +1353,7 @@ François Charette
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{arabxetex}
- [2008/07/16 v1.1.2 ArabTeX-like interface for XeLaTeX]
+ [2010/03/04 v1.1.4 ArabTeX-like interface for XeLaTeX]
%
\DeclareOption{fullvoc}{\def\ax@mode{fullvoc}}
\DeclareOption{voc}{\def\ax@mode{voc}}
@@ -1362,6 +1362,8 @@ François Charette
\DeclareOption{utf}{\def\ax@mode{utf}}
\DeclareOption{fdf2alif}{\def\ax@font@allah{fdf2alif}}
\DeclareOption{fdf2noalif}{\def\ax@font@allah{fdf2noalif}}
+\newif\ifmirror@punct\mirror@punctfalse
+\DeclareOption{mirrorpunct}{\mirror@puncttrue}
\ExecuteOptions{novoc,fdf2alif}
\ProcessOptions
\def\ax@mode@fullvoc{fullvoc}
@@ -1373,23 +1375,23 @@ François Charette
\def\ax@ismode@defined#1{%
\ifcsname ax@mode@#1\endcsname%
\ax@mode@definedtrue%
- \else%
+ \else
\ax@mode@definedfalse%
\fi}
\def\ax@lang{arab}%default language (for macros like \aemph)
-\RequirePackage{bidi}
\RequirePackage{amsmath}%because of macro \overline used in \aemph
\RequirePackage{fontspec}
-\AtBeginDocument{\ifdefined\arabicfont\relax\else%
- \PackageWarning{arabxetex}{\string\arabicfont\ is not defined!^^JI will try to load Scheherazade}%
- \newfontfamily\arabicfont[Script=Arabic,Scale=2]{Scheherazade}\fi
- }%
+\RequirePackage{bidi}
+\AtBeginDocument{\ifdefined\arabicfont\relax\else
+ \PackageWarning{arabxetex}{\string\arabicfont\ is not defined!^^JI will try to load Scheherazade (scaled 1.5)}%
+ \newfontfamily\arabicfont[Script=Arabic,Scale=1.5]{Scheherazade}\fi}%
\def\ax@trans@style{\itshape}%
\newcommand{\SetTranslitStyle}[1]{\def\ax@trans@style{#1}}
\newcommand{\SetTranslitConvention}[1]{\def\ax@trans@convention{#1}}
\def\ax@trans@convention{loc}% Library of Congress is default
\newcommand{\SetAllahWithAlif}{\def\ax@font@allah{fdf2alif}}
\newcommand{\SetAllahWithoutAlif}{\def\ax@font@allah{fdf2noalif}}
+\def\utf@fontfeature{\ifmirror@punct\addfontfeature{Mapping=mirrorpunct}\else\relax\fi}
\def\arabtex@codes{\catcode`^=11\relax\catcode`_=11\relax}
\def\UC{\char"E000} % This is used to capitalize the following letter (ignoring
% article al-) in transliteration mode
@@ -1414,14 +1416,14 @@ François Charette
\ifx\@tempa\ax@mode@trans%
\par\arabtex@codes\ax@trans@style%
\addfontfeature{Mapping=arabtex-trans-\ax@trans@convention}%
- \else%
+ \else
\ifx\@tempa\ax@mode@utf%
- \par\setRL\arabicfont\addfontfeature{Mapping=arabicfixes}%
- \else%
+ \par\setRL\arabicfont\utf@fontfeature%
+ \else
\par\setRL\arabicfont\arabtex@codes%
\addfontfeature{Mapping=arabtex-\ax@font@allah-\@tempa}%
- \fi\fi%
-\else%
+ \fi\fi
+\else
\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}%
\par\setRL\arabicfont\arabtex@codes%
\addfontfeature{Mapping=arabtex-\ax@font@allah-\ax@mode}%
@@ -1437,14 +1439,14 @@ François Charette
\ifx\@tempa\ax@mode@trans%
\par\arabtex@codes\ax@trans@style%
\addfontfeature{Mapping=arabtex-trans-\ax@trans@convention}%
- \else%
+ \else
\ifx\@tempa\ax@mode@utf%
- \par\setRL\ax@maghribi@font\addfontfeature{Mapping=arabicfixes}%
- \else%
+ \par\setRL\ax@maghribi@font\utf@fontfeature%
+ \else
\par\setRL\ax@maghribi@font\arabtex@codes%
\addfontfeature{Mapping=arabtex-\ax@font@allah-maghribi-\@tempa}%
- \fi\fi%
-\else%
+ \fi\fi
+\else
\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}%
\par\setRL\ax@maghribi@font\arabtex@codes%
\addfontfeature{Mapping=arabtex-\ax@font@allah-maghribi-\ax@mode}%
@@ -1459,14 +1461,14 @@ François Charette
\ifx\@tempa\ax@mode@trans%
\par\arabtex@codes\ax@trans@style%
\addfontfeature{Mapping=arabtex-farsi-trans-\ax@trans@convention}%
- \else%
+ \else
\ifx\@tempa\ax@mode@utf%
- \par\setRL\ax@farsi@font\addfontfeature{Mapping=arabicfixes}%
- \else%
+ \par\setRL\ax@farsi@font\utf@fontfeature%
+ \else
\par\setRL\ax@farsi@font\arabtex@codes%
\addfontfeature{Mapping=arabtex-\ax@font@allah-farsi-\@tempa}%
- \fi\fi%
-\else%
+ \fi\fi
+\else
\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}%
\par\setRL\ax@farsi@font\arabtex@codes%
\addfontfeature{Mapping=arabtex-\ax@font@allah-farsi-\ax@mode}%
@@ -1482,14 +1484,14 @@ François Charette
\ifx\@tempa\ax@mode@trans%
\par\arabtex@codes\ax@trans@style%
\addfontfeature{Mapping=arabtex-urdu-trans-\ax@trans@convention}%
- \else%
+ \else
\ifx\@tempa\ax@mode@utf%
\par\setRL\ax@urdu@font\addfontfeature{Language=Urdu}%Mapping=arabtex-utf}%
- \else%
+ \else
\par\setRL\ax@urdu@font\arabtex@codes%
\addfontfeature{Mapping=arabtex-\ax@font@allah-urdu-\@tempa}%
- \fi\fi%
-\else%
+ \fi\fi
+\else
\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}%
\par\setRL\ax@urdu@font\arabtex@codes%
\addfontfeature{Mapping=arabtex-\ax@font@allah-urdu-\ax@mode}%
@@ -1504,14 +1506,14 @@ François Charette
\ifx\@tempa\ax@mode@trans%
\par\arabtex@codes\ax@trans@style%
\addfontfeature{Mapping=arabtex-pashto-trans-\ax@trans@convention}%
- \else%
+ \else
\ifx\@tempa\ax@mode@utf%
- \par\setRL\ax@pashto@font\addfontfeature{Mapping=arabicfixes}%
- \else%
+ \par\setRL\ax@pashto@font\utf@fontfeature%
+ \else
\par\setRL\ax@pashto@font\arabtex@codes%
\addfontfeature{Mapping=arabtex-\ax@font@allah-pashto-\@tempa}%
- \fi\fi%
-\else%
+ \fi\fi
+\else
\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}%
\par\setRL\ax@pashto@font\arabtex@codes%
\addfontfeature{Mapping=arabtex-\ax@font@allah-pashto-\ax@mode}%
@@ -1526,14 +1528,14 @@ François Charette
\ifx\@tempa\ax@mode@trans%
\par\arabtex@codes\ax@trans@style%
\addfontfeature{Mapping=arabtex-sindhi-trans-\ax@trans@convention}%
- \else%
+ \else
\ifx\@tempa\ax@mode@utf%
\par\setRL\ax@sindhi@font\addfontfeature{Language=Sindhi}%Mapping=arabtex-utf}%
- \else%
+ \else
\par\setRL\ax@sindhi@font\arabtex@codes%
\addfontfeature{Mapping=arabtex-\ax@font@allah-sindhi-\@tempa,Language=Sindhi}%
- \fi\fi%
-\else%
+ \fi\fi
+\else
\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}%
\par\setRL\ax@sindhi@font\arabtex@codes%
\addfontfeature{Mapping=arabtex-\ax@font@allah-sindhi-\ax@mode,Language=Sindhi}%
@@ -1548,14 +1550,14 @@ François Charette
%\ifx\@tempa\ax@mode@trans%
% \par\arabtex@codes\ax@trans@style%
% \addfontfeature{Mapping=arabtex-turk-trans-\ax@trans@convention}%
- %\else%
+ %\else
\ifx\@tempa\ax@mode@utf%
- \par\setRL\ax@ottoman@font\addfontfeature{Mapping=arabicfixes}%
- \else%
+ \par\setRL\ax@ottoman@font\utf@fontfeature%
+ \else
\par\setRL\ax@ottoman@font\arabtex@codes%
\addfontfeature{Mapping=arabtex-\ax@font@allah-turk-\@tempa}%
- \fi%\fi%
-\else%
+ \fi%\fi
+\else
\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}%
\par\setRL\ax@ottoman@font\arabtex@codes%
\addfontfeature{Mapping=arabtex-\ax@font@allah-turk-\ax@mode}%
@@ -1571,10 +1573,10 @@ François Charette
%\ifx\@tempa\ax@mode@trans%
% \par\arabtex@codes\ax@trans@style%
% \addfontfeature{Mapping=arabtex-kurdish-trans-\ax@trans@convention}%
-%\else%
+%\else
\ifx\@tempa\ax@mode@utf%
\par\setRL\ax@kurdish@font\addfontfeature{Language=Kurdish}%Mapping=arabtex-utf}%
-\else%
+\else
\par\setRL\ax@kurdish@font\arabtex@codes%
\addfontfeature{Mapping=arabtex-\ax@font@allah-kurdish,Language=Kurdish}%
\fi}
@@ -1590,14 +1592,14 @@ François Charette
%\ifx\@tempa\ax@mode@trans%
% \par\arabtex@codes\ax@trans@style%
% \addfontfeature{Mapping=arabtex-\ax@font@allah-kashmiri-trans-\ax@trans@convention}%
- %\else%
+ %\else
\ifx\@tempa\ax@mode@utf%
- \par\setRL\ax@kashmiri@font\addfontfeature{Mapping=arabicfixes}%
- \else%
+ \par\setRL\ax@kashmiri@font\utf@fontfeature%
+ \else
\par\setRL\ax@kashmiri@font\arabtex@codes%
\addfontfeature{Mapping=arabtex-\ax@font@allah-kashmiri-\@tempa}%
- \fi%\fi%
-\else%
+ \fi%\fi
+\else
\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}%
\par\setRL\ax@kashmiri@font\arabtex@codes%
\addfontfeature{Mapping=arabtex-\ax@font@allah-kashmiri-\ax@mode}%
@@ -1614,14 +1616,14 @@ François Charette
%\ifx\@tempa\ax@mode@trans%
% \par\arabtex@codes\ax@trans@style%
% \addfontfeature{Mapping=arabtex-malay-trans-\ax@trans@convention}%
- %\else%
+ %\else
\ifx\@tempa\ax@mode@utf%
- \par\setRL\ax@malay@font\addfontfeature{Mapping=arabicfixes}%
- \else%
+ \par\setRL\ax@malay@font\utf@fontfeature%
+ \else
\par\setRL\ax@malay@font\arabtex@codes%
\addfontfeature{Mapping=arabtex-\ax@font@allah-malay-\@tempa}%
- \fi%\fi%
-\else%
+ \fi%\fi
+\else
\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}%
\par\setRL\ax@malay@font\arabtex@codes%
\addfontfeature{Mapping=arabtex-\ax@font@allah-malay-\ax@mode}%
@@ -1637,10 +1639,10 @@ François Charette
%\ifx\@tempa\ax@mode@trans%
% \par\arabtex@codes\ax@trans@style%
% \addfontfeature{Mapping=arabtex-uighur-trans-\ax@trans@convention}%
-%\else%
+%\else
\ifx\@tempa\ax@mode@utf%
- \par\setRL\ax@uighur@font\addfontfeature{Mapping=arabicfixes}%
-\else%
+ \par\setRL\ax@uighur@font\utf@fontfeature%
+\else
\par\setRL\ax@uighur@font\arabtex@codes%
\addfontfeature{Mapping=arabtex-\ax@font@allah-uighur}%
\fi}
@@ -1670,13 +1672,13 @@ François Charette
\ifax@mode@defined%
\ifx\@tempa\ax@mode@trans%
{\ax@trans@style\addfontfeature{Mapping=arabtex-trans-\ax@trans@convention}#2}%
- \else%
+ \else
\ifx\@tempa\ax@mode@utf%
- \RL{\arabicfont\addfontfeature{Mapping=arabicfixes} #2}%
- \else%
+ \RL{\arabicfont\utf@fontfeature #2}%
+ \else
\RL{\arabicfont\addfontfeature{Mapping=arabtex-\ax@font@allah-\@tempa}#2}%
- \fi\fi%
- \else%
+ \fi\fi
+ \else
\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}%
\RL{\arabicfont\addfontfeature{Mapping=arabtex-\ax@font@allah-\ax@mode}#2}%
\fi\egroup}
@@ -1687,14 +1689,14 @@ François Charette
\ifax@mode@defined%
\ifx\@tempa\ax@mode@trans%
{\ax@trans@style\addfontfeature{Mapping=arabtex-trans-\ax@trans@convention}#2}%
- \else%
+ \else
\ifx\@tempa\ax@mode@utf%
- \RL{\ax@maghribi@font\addfontfeature{Mapping=arabicfixes} #2}%evtl {Mapping=arabtex-utf}
- \else%
+ \RL{\ax@maghribi@font\utf@fontfeature #2}%
+ \else
\RL{\ax@maghribi@font%
\addfontfeature{Mapping=arabtex-\ax@font@allah-maghribi-\@tempa}#2}%
- \fi\fi%
- \else%
+ \fi\fi
+ \else
\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}%
\RL{\ax@maghribi@font\addfontfeature{Mapping=arabtex-\ax@font@allah-maghribi-\ax@mode}#2}%
\fi\egroup}
@@ -1705,14 +1707,14 @@ François Charette
\ifax@mode@defined%
\ifx\@tempa\ax@mode@trans%
{\ax@trans@style\addfontfeature{Mapping=arabtex-farsi-trans-\ax@trans@convention}#2}%
- \else%
+ \else
\ifx\@tempa\ax@mode@utf%
- \RL{\ax@farsi@font\addfontfeature{Mapping=arabicfixes} #2}%evtl {Mapping=arabtex-utf}
- \else%
+ \RL{\ax@farsi@font\utf@fontfeature #2}%
+ \else
\RL{\ax@farsi@font%
\addfontfeature{Mapping=arabtex-\ax@font@allah-farsi-\@tempa}#2}%
- \fi\fi%
- \else%
+ \fi\fi
+ \else
\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}%
\RL{\ax@farsi@font\addfontfeature{Mapping=arabtex-\ax@font@allah-farsi-\ax@mode}#2}%
\fi\egroup}
@@ -1723,14 +1725,14 @@ François Charette
\ifax@mode@defined%
\ifx\@tempa\ax@mode@trans%
{\ax@trans@style\addfontfeature{Mapping=arabtex-urdu-trans-\ax@trans@convention}#2}%
- \else%
+ \else
\ifx\@tempa\ax@mode@utf%
\RL{\ax@urdu@font\addfontfeature{Language=Urdu}#2}%eventually Mapping=arabtex-utf
- \else%
+ \else
\RL{\ax@urdu@font%
\addfontfeature{Mapping=arabtex-\ax@font@allah-urdu-\@tempa,Language=Urdu}#2}%
- \fi\fi%
- \else%
+ \fi\fi
+ \else
\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}%
\RL{\ax@urdu@font\addfontfeature{Mapping=arabtex-\ax@font@allah-urdu-\ax@mode,Language=Urdu}#2}%
\fi\egroup}
@@ -1741,14 +1743,14 @@ François Charette
\ifax@mode@defined%
\ifx\@tempa\ax@mode@trans%
{\ax@trans@style\addfontfeature{Mapping=arabtex-sindhi-trans-\ax@trans@convention}#2}%
- \else%
+ \else
\ifx\@tempa\ax@mode@utf%
\RL{\ax@sindhi@font\addfontfeature{Language=Sindhi} #2}%eventually Mapping=arabtex-utf
- \else%
+ \else
\RL{\ax@sindhi@font%
\addfontfeature{Mapping=arabtex-\ax@font@allah-sindhi-\@tempa,Language=Sindhi}#2}%
- \fi\fi%
- \else%
+ \fi\fi
+ \else
\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}%
\RL{\ax@sindhi@font\addfontfeature{Mapping=arabtex-\ax@font@allah-sindhi-\ax@mode,Language=Sindhi}#2}%
\fi\egroup}
@@ -1759,14 +1761,14 @@ François Charette
\ifax@mode@defined%
\ifx\@tempa\ax@mode@trans%
{\ax@trans@style\addfontfeature{Mapping=arabtex-pashto-trans-\ax@trans@convention}#2}%
- \else%
+ \else
\ifx\@tempa\ax@mode@utf%
- \RL{\ax@pashto@font\addfontfeature{Mapping=arabicfixes} #2}%evtl {Mapping=arabtex-utf}
- \else%
+ \RL{\ax@pashto@font\utf@fontfeature #2}%
+ \else
\RL{\ax@pashto@font%
\addfontfeature{Mapping=arabtex-\ax@font@allah-pashto-\@tempa}#2}%
- \fi\fi%
- \else%
+ \fi\fi
+ \else
\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}%
\RL{\ax@pashto@font\addfontfeature{Mapping=arabtex-\ax@font@allah-pashto-\ax@mode}#2}%
\fi\egroup}
@@ -1778,14 +1780,14 @@ François Charette
% UNCOMMENT when transliteration mapping is done
%\ifx\@tempa\ax@mode@trans%
% {\ax@trans@style\addfontfeature{Mapping=arabtex-turk-trans-\ax@trans@convention}#2}%
- %\else%
+ %\else
\ifx\@tempa\ax@mode@utf%
- \RL{\ax@ottoman@font\addfontfeature{Mapping=arabicfixes} #2}%evtl {Mapping=arabtex-utf}
- \else%
+ \RL{\ax@ottoman@font\utf@fontfeature #2}%
+ \else
\RL{\ax@ottoman@font%
\addfontfeature{Mapping=arabtex-\ax@font@allah-turk-\@tempa}#2}%
- \fi%\fi%
- \else%
+ \fi%\fi
+ \else
\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}%
\RL{\ax@ottoman@font\addfontfeature{Mapping=arabtex-\ax@font@allah-turk-\ax@mode}#2}%
\fi\egroup}
@@ -1795,13 +1797,13 @@ François Charette
% UNCOMMENT when transliteration mapping is done
%\ifx\@tempa\ax@mode@trans%
% {\ax@trans@style\addfontfeature{Mapping=arabtex-kurdish-trans-\ax@trans@convention}#2}%
- %\else%
+ %\else
\ifx\@tempa\ax@mode@utf%
- \RL{\ax@kurdish@font\addfontfeature{Mapping=arabicfixes} #2}%evtl {Mapping=arabtex-utf}
- \else%
+ \RL{\ax@kurdish@font\utf@fontfeature #2}%
+ \else
\RL{\ax@kurdish@font%
\addfontfeature{Mapping=arabtex-\ax@font@allah-kurdish,Language=Kurdish}#2}%
- \fi%\fi%
+ \fi%\fi
\egroup}
\newcommand\text@kashmiri[2][\ax@mode]{%
\edef\@tempa{#1}%
@@ -1811,14 +1813,14 @@ François Charette
% UNCOMMENT when transliteration mapping is done
%\ifx\@tempa\ax@mode@trans%
% {\ax@trans@style\addfontfeature{Mapping=arabtex-kashmiri-trans-\ax@trans@convention}#2}%
- %\else%
+ %\else
\ifx\@tempa\ax@mode@utf%
- \RL{\ax@kashmiri@font\addfontfeature{Mapping=arabicfixes} #2}%evtl {Mapping=arabtex-utf}
- \else%
+ \RL{\ax@kashmiri@font\utf@fontfeature #2}%
+ \else
\RL{\ax@kashmiri@font%
\addfontfeature{Mapping=arabtex-\ax@font@allah-kashmiri-\@tempa}#2}%
- \fi%\fi%
- \else%
+ \fi%\fi
+ \else
\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}%
\RL{\ax@kashmiri@font\addfontfeature{Mapping=arabtex-\ax@font@allah-kashmiri-\ax@mode}#2}%
\fi\egroup}
@@ -1830,14 +1832,14 @@ François Charette
% UNCOMMENT when transliteration mapping is done
%\ifx\@tempa\ax@mode@trans%
% {\ax@trans@style\addfontfeature{Mapping=arabtex-malay-trans-\ax@trans@convention}#2}%
- %\else%
+ %\else
\ifx\@tempa\ax@mode@utf%
- \RL{\ax@malay@font\addfontfeature{Mapping=arabicfixes} #2}%evtl {Mapping=arabtex-utf}
- \else%
+ \RL{\ax@malay@font\utf@fontfeature #2}%
+ \else
\RL{\ax@malay@font%
\addfontfeature{Mapping=arabtex-\ax@font@allah-malay-\@tempa}#2}%
- \fi%\fi%
- \else%
+ \fi%\fi
+ \else
\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \ax@mode}%
\RL{\ax@malay@font\addfontfeature{Mapping=arabtex-\ax@font@allah-malay-\ax@mode}#2}%
\fi\egroup}
@@ -1847,39 +1849,26 @@ François Charette
% UNCOMMENT when transliteration mapping is done
%\ifx\@tempa\ax@mode@trans%
% {\ax@trans@style\addfontfeature{Mapping=arabtex-uighur-trans-\ax@trans@convention}#2}%
- %\else%
+ %\else
\ifx\@tempa\ax@mode@utf%
- \RL{\ax@uighur@font\addfontfeature{Mapping=arabicfixes} #2}%evtl {Mapping=arabtex-utf}
- \else%
+ \RL{\ax@uighur@font\utf@fontfeature #2}%
+ \else
\RL{\ax@uighur@font%
\addfontfeature{Mapping=arabtex-\ax@font@allah-uighur}#2}%
- \fi%\fi%
+ \fi%\fi
\egroup}
%
\newcommand{\textLR}[1]{\LR{\rmfamily #1}}
\newcommand{\aemph}[1]{%
\edef\@tempb{\expandafter\noexpand\csname text\ax@lang\endcsname}%
$\overline{\text{\@tempb{#1}}}$}
-%
-% experimental: this surely does not work!
-% I want a mechanism to enable defining commands that accept args containing \arabtex@codes
-%\def\newarabxetexcommand#1#2{%
-% \edef\ax@tcomm@nd{\expandafter\relax\csname #1@\endcsname}
-% \expandafter\def\string#1{%
-% \bgroup\arabtex@codes\ax@tcomm@nd}
-% \def\ax@tcomm@nd{#2\egroup}}
% \end{macrocode}
%
%\iffalse
%</package>
%\fi
%
-% \subsection{Some notes on the TECkit mappings}
-%
-% \texttt{TO BE DONE \dots}
-%
-%
-% ^^A\section{Unicode Matters} ---> TODO CONTACT ROOZBEH ABOUT THIS
+% ^^A\section{Unicode Matters}
% ^^A
% ^^ASome glyphs are missing in Unicode:
% ^^A
@@ -1980,9 +1969,6 @@ François Charette
\defaultfontfeatures{Scale=MatchLowercase}
\setmonofont{Inconsolata}%{Latin Modern Typewriter Proportional}%{Luxi Mono}%{Courier New}
\setsansfont{Lucida Sans Unicode}
-%\setmathrm{Optima Regular}
-%\setboldmathrm[BoldFont=Optima ExtraBlack]{Optima Bold}
-%\defaultfontfeatures{Mapping=tex-text}
\newfontfamily\arabicfont[Script=Arabic,Scale=1.5]{Scheherazade}
\newfontfamily\urdufont[Script=Arabic,Scale=1.2]{Nafees Pakistani Naskh}%Nafees Nastaleeq does not work well
\newfontfamily\farsifont[Script=Arabic,Scale=1.33]{Farsi Simple Bold}
@@ -1997,24 +1983,6 @@ François Charette
\linespread{1.05}
\frenchspacing
-%\newenvironment{MYitemize}{%
-%\renewcommand\labelitemi{\cdot}%
-%\begin{list}{}{\setlength{\itemsep}{.15\parsep}}}%
-%%\setlength{\labelwidth}{0pt}\setlength{\leftmargin}{0pt}\setlength{\itemindent}{0pt}}
-%{\end{list}}
-%\addtolength{\textheight}{3cm}
-%\setlength{\leftmargin}{1cm}
-%\setlength{\topmargin}{0cm}
-%\newcommand{\Tarab}[2][black]{\textcolor{#1}{\textarab{ #2 }}}
-%\newcommand{\Tfarsi}[2][black]{\textcolor{#1}{\textfarsi{ #2 }}}
-%\newcommand{\Turdu}[2][black]{\textcolor{#1}{\texturdu{ #2 }}}
-%\newcommand{\Tsindhi}[2][black]{\textcolor{#1}{\textsindhi{ #2 }}}
-%\newcommand{\Tpashto}[2][black]{\textcolor{#1}{\textpashto{ #2 }}}
-%\newcommand{\Tkashmiri}[2][black]{\textcolor{#1}{\textkashmiri{ #2 }}}
-%\newcommand{\Tkurdish}[2][black]{\textcolor{#1}{\textkurdish{ #2 }}}
-%\newcommand{\Tturk}[2][black]{\textcolor{#1}{\textturk{ #2 }}}
-%\newcommand{\Tmalay}[2][black]{\textcolor{#1}{\textmalay{ #2 }}}
-%\newcommand{\Tuighur}[2][black]{\textcolor{#1}{\textuighur{ #2 }}}
%%%
\def\GN{\bgroup\catcode`\_=11\relax\catcode`\^=11\relax\GNX}
\def\GR{\bgroup\catcode`\_=11\relax\catcode`\^=11\relax\GRX}
diff --git a/Master/texmf-dist/doc/xelatex/arabxetex/makemaps.pl b/Master/texmf-dist/source/xelatex/arabxetex/makemaps.pl
index 231a6b5c8ea..231a6b5c8ea 100644..100755
--- a/Master/texmf-dist/doc/xelatex/arabxetex/makemaps.pl
+++ b/Master/texmf-dist/source/xelatex/arabxetex/makemaps.pl
diff --git a/Master/texmf-dist/tex/xelatex/arabxetex/arabxetex.sty b/Master/texmf-dist/tex/xelatex/arabxetex.sty
index 6afba00b6aa..67e8391b58b 100644
--- a/Master/texmf-dist/tex/xelatex/arabxetex/arabxetex.sty
+++ b/Master/texmf-dist/tex/xelatex/arabxetex.sty
@@ -8,13 +8,13 @@
%%
%% ____________________________
%% The arabxetex package
-%% (C) 2007-2008 François Charette
+%% © 2007–2010 François Charette
%% License information appended
%%
%%
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{arabxetex}
- [2008/07/16 v1.1.2 ArabTeX-like interface for XeLaTeX]
+ [2010/03/04 v1.1.4 ArabTeX-like interface for XeLaTeX]
\DeclareOption{fullvoc}{\def\ax@mode{fullvoc}}
\DeclareOption{voc}{\def\ax@mode{voc}}
\DeclareOption{novoc}{\def\ax@mode{novoc}}
@@ -22,6 +22,8 @@
\DeclareOption{utf}{\def\ax@mode{utf}}
\DeclareOption{fdf2alif}{\def\ax@font@allah{fdf2alif}}
\DeclareOption{fdf2noalif}{\def\ax@font@allah{fdf2noalif}}
+\newif\ifmirror@punct\mirror@punctfalse
+\DeclareOption{mirrorpunct}{\mirror@puncttrue}
\ExecuteOptions{novoc,fdf2alif}
\ProcessOptions
\def\ax@mode@fullvoc{fullvoc}
@@ -33,23 +35,23 @@
\def\ax@ismode@defined#1{%
\ifcsname ax@mode@#1\endcsname%
\ax@mode@definedtrue%
-\else%
+\else
\ax@mode@definedfalse%
\fi}
\def\ax@lang{arab}%default language (for macros like \aemph)
-\RequirePackage{bidi}
\RequirePackage{amsmath}%because of macro \overline used in \aemph
\RequirePackage{fontspec}
-\AtBeginDocument{\ifdefined\arabicfont\relax\else%
-\PackageWarning{arabxetex}{\string\arabicfont\ is not defined!^^JI will try to load Scheherazade}%
-\newfontfamily\arabicfont[Script=Arabic,Scale=2]{Scheherazade}\fi
-}%
+\RequirePackage{bidi}
+\AtBeginDocument{\ifdefined\arabicfont\relax\else
+\PackageWarning{arabxetex}{\string\arabicfont\ is not defined!^^JI will try to load Scheherazade (scaled 1.5)}%
+\newfontfamily\arabicfont[Script=Arabic,Scale=1.5]{Scheherazade}\fi}%
\def\ax@trans@style{\itshape}%
\newcommand{\SetTranslitStyle}[1]{\def\ax@trans@style{#1}}
\newcommand{\SetTranslitConvention}[1]{\def\ax@trans@convention{#1}}
\def\ax@trans@convention{loc}% Library of Congress is default
\newcommand{\SetAllahWithAlif}{\def\ax@font@allah{fdf2alif}}
\newcommand{\SetAllahWithoutAlif}{\def\ax@font@allah{fdf2noalif}}
+\def\utf@fontfeature{\ifmirror@punct\addfontfeature{Mapping=mirrorpunct}\else\relax\fi}
\def\arabtex@codes{\catcode`^=11\relax\catcode`_=11\relax}
\def\UC{\char"E000} % This is used to capitalize the following letter (ignoring
% article al-) in transliteration mode
@@ -74,14 +76,14 @@
\ifx\@tempa\ax@mode@trans%
\par\arabtex@codes\ax@trans@style%
\addfontfeature{Mapping=arabtex-trans-\ax@trans@convention}%
-\else%
+\else
\ifx\@tempa\ax@mode@utf%
-\par\setRL\arabicfont\addfontfeature{Mapping=arabicfixes}%
-\else%
+\par\setRL\arabicfont\utf@fontfeature%
+\else
\par\setRL\arabicfont\arabtex@codes%
\addfontfeature{Mapping=arabtex-\ax@font@allah-\@tempa}%
-\fi\fi%
-\else%
+\fi\fi
+\else
\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}%
\par\setRL\arabicfont\arabtex@codes%
\addfontfeature{Mapping=arabtex-\ax@font@allah-\ax@mode}%
@@ -97,14 +99,14 @@
\ifx\@tempa\ax@mode@trans%
\par\arabtex@codes\ax@trans@style%
\addfontfeature{Mapping=arabtex-trans-\ax@trans@convention}%
-\else%
+\else
\ifx\@tempa\ax@mode@utf%
-\par\setRL\ax@maghribi@font\addfontfeature{Mapping=arabicfixes}%
-\else%
+\par\setRL\ax@maghribi@font\utf@fontfeature%
+\else
\par\setRL\ax@maghribi@font\arabtex@codes%
\addfontfeature{Mapping=arabtex-\ax@font@allah-maghribi-\@tempa}%
-\fi\fi%
-\else%
+\fi\fi
+\else
\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}%
\par\setRL\ax@maghribi@font\arabtex@codes%
\addfontfeature{Mapping=arabtex-\ax@font@allah-maghribi-\ax@mode}%
@@ -119,14 +121,14 @@
\ifx\@tempa\ax@mode@trans%
\par\arabtex@codes\ax@trans@style%
\addfontfeature{Mapping=arabtex-farsi-trans-\ax@trans@convention}%
-\else%
+\else
\ifx\@tempa\ax@mode@utf%
-\par\setRL\ax@farsi@font\addfontfeature{Mapping=arabicfixes}%
-\else%
+\par\setRL\ax@farsi@font\utf@fontfeature%
+\else
\par\setRL\ax@farsi@font\arabtex@codes%
\addfontfeature{Mapping=arabtex-\ax@font@allah-farsi-\@tempa}%
-\fi\fi%
-\else%
+\fi\fi
+\else
\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}%
\par\setRL\ax@farsi@font\arabtex@codes%
\addfontfeature{Mapping=arabtex-\ax@font@allah-farsi-\ax@mode}%
@@ -142,14 +144,14 @@
\ifx\@tempa\ax@mode@trans%
\par\arabtex@codes\ax@trans@style%
\addfontfeature{Mapping=arabtex-urdu-trans-\ax@trans@convention}%
-\else%
+\else
\ifx\@tempa\ax@mode@utf%
\par\setRL\ax@urdu@font\addfontfeature{Language=Urdu}%Mapping=arabtex-utf}%
-\else%
+\else
\par\setRL\ax@urdu@font\arabtex@codes%
\addfontfeature{Mapping=arabtex-\ax@font@allah-urdu-\@tempa}%
-\fi\fi%
-\else%
+\fi\fi
+\else
\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}%
\par\setRL\ax@urdu@font\arabtex@codes%
\addfontfeature{Mapping=arabtex-\ax@font@allah-urdu-\ax@mode}%
@@ -164,14 +166,14 @@
\ifx\@tempa\ax@mode@trans%
\par\arabtex@codes\ax@trans@style%
\addfontfeature{Mapping=arabtex-pashto-trans-\ax@trans@convention}%
-\else%
+\else
\ifx\@tempa\ax@mode@utf%
-\par\setRL\ax@pashto@font\addfontfeature{Mapping=arabicfixes}%
-\else%
+\par\setRL\ax@pashto@font\utf@fontfeature%
+\else
\par\setRL\ax@pashto@font\arabtex@codes%
\addfontfeature{Mapping=arabtex-\ax@font@allah-pashto-\@tempa}%
-\fi\fi%
-\else%
+\fi\fi
+\else
\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}%
\par\setRL\ax@pashto@font\arabtex@codes%
\addfontfeature{Mapping=arabtex-\ax@font@allah-pashto-\ax@mode}%
@@ -186,14 +188,14 @@
\ifx\@tempa\ax@mode@trans%
\par\arabtex@codes\ax@trans@style%
\addfontfeature{Mapping=arabtex-sindhi-trans-\ax@trans@convention}%
-\else%
+\else
\ifx\@tempa\ax@mode@utf%
\par\setRL\ax@sindhi@font\addfontfeature{Language=Sindhi}%Mapping=arabtex-utf}%
-\else%
+\else
\par\setRL\ax@sindhi@font\arabtex@codes%
\addfontfeature{Mapping=arabtex-\ax@font@allah-sindhi-\@tempa,Language=Sindhi}%
-\fi\fi%
-\else%
+\fi\fi
+\else
\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}%
\par\setRL\ax@sindhi@font\arabtex@codes%
\addfontfeature{Mapping=arabtex-\ax@font@allah-sindhi-\ax@mode,Language=Sindhi}%
@@ -206,12 +208,12 @@
\ax@ismode@defined{\@tempa}%
\ifax@mode@defined%
\ifx\@tempa\ax@mode@utf%
-\par\setRL\ax@ottoman@font\addfontfeature{Mapping=arabicfixes}%
-\else%
+\par\setRL\ax@ottoman@font\utf@fontfeature%
+\else
\par\setRL\ax@ottoman@font\arabtex@codes%
\addfontfeature{Mapping=arabtex-\ax@font@allah-turk-\@tempa}%
-\fi%\fi%
-\else%
+\fi%\fi
+\else
\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}%
\par\setRL\ax@ottoman@font\arabtex@codes%
\addfontfeature{Mapping=arabtex-\ax@font@allah-turk-\ax@mode}%
@@ -225,7 +227,7 @@
{\def\ax@lang{kurdish}%
\ifx\@tempa\ax@mode@utf%
\par\setRL\ax@kurdish@font\addfontfeature{Language=Kurdish}%Mapping=arabtex-utf}%
-\else%
+\else
\par\setRL\ax@kurdish@font\arabtex@codes%
\addfontfeature{Mapping=arabtex-\ax@font@allah-kurdish,Language=Kurdish}%
\fi}
@@ -239,12 +241,12 @@
\ax@ismode@defined{\@tempa}%
\ifax@mode@defined%
\ifx\@tempa\ax@mode@utf%
-\par\setRL\ax@kashmiri@font\addfontfeature{Mapping=arabicfixes}%
-\else%
+\par\setRL\ax@kashmiri@font\utf@fontfeature%
+\else
\par\setRL\ax@kashmiri@font\arabtex@codes%
\addfontfeature{Mapping=arabtex-\ax@font@allah-kashmiri-\@tempa}%
-\fi%\fi%
-\else%
+\fi%\fi
+\else
\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}%
\par\setRL\ax@kashmiri@font\arabtex@codes%
\addfontfeature{Mapping=arabtex-\ax@font@allah-kashmiri-\ax@mode}%
@@ -259,12 +261,12 @@
\ax@ismode@defined{\@tempa}%
\ifax@mode@defined%
\ifx\@tempa\ax@mode@utf%
-\par\setRL\ax@malay@font\addfontfeature{Mapping=arabicfixes}%
-\else%
+\par\setRL\ax@malay@font\utf@fontfeature%
+\else
\par\setRL\ax@malay@font\arabtex@codes%
\addfontfeature{Mapping=arabtex-\ax@font@allah-malay-\@tempa}%
-\fi%\fi%
-\else%
+\fi%\fi
+\else
\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}%
\par\setRL\ax@malay@font\arabtex@codes%
\addfontfeature{Mapping=arabtex-\ax@font@allah-malay-\ax@mode}%
@@ -278,8 +280,8 @@
{%\edef\@tempa{#1}%
\def\ax@lang{uighur}%
\ifx\@tempa\ax@mode@utf%
-\par\setRL\ax@uighur@font\addfontfeature{Mapping=arabicfixes}%
-\else%
+\par\setRL\ax@uighur@font\utf@fontfeature%
+\else
\par\setRL\ax@uighur@font\arabtex@codes%
\addfontfeature{Mapping=arabtex-\ax@font@allah-uighur}%
\fi}
@@ -309,13 +311,13 @@
\ifax@mode@defined%
\ifx\@tempa\ax@mode@trans%
{\ax@trans@style\addfontfeature{Mapping=arabtex-trans-\ax@trans@convention}#2}%
-\else%
+\else
\ifx\@tempa\ax@mode@utf%
-\RL{\arabicfont\addfontfeature{Mapping=arabicfixes} #2}%
-\else%
+\RL{\arabicfont\utf@fontfeature #2}%
+\else
\RL{\arabicfont\addfontfeature{Mapping=arabtex-\ax@font@allah-\@tempa}#2}%
-\fi\fi%
-\else%
+\fi\fi
+\else
\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}%
\RL{\arabicfont\addfontfeature{Mapping=arabtex-\ax@font@allah-\ax@mode}#2}%
\fi\egroup}
@@ -326,14 +328,14 @@
\ifax@mode@defined%
\ifx\@tempa\ax@mode@trans%
{\ax@trans@style\addfontfeature{Mapping=arabtex-trans-\ax@trans@convention}#2}%
-\else%
+\else
\ifx\@tempa\ax@mode@utf%
-\RL{\ax@maghribi@font\addfontfeature{Mapping=arabicfixes} #2}%evtl {Mapping=arabtex-utf}
-\else%
+\RL{\ax@maghribi@font\utf@fontfeature #2}%
+\else
\RL{\ax@maghribi@font%
\addfontfeature{Mapping=arabtex-\ax@font@allah-maghribi-\@tempa}#2}%
-\fi\fi%
-\else%
+\fi\fi
+\else
\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}%
\RL{\ax@maghribi@font\addfontfeature{Mapping=arabtex-\ax@font@allah-maghribi-\ax@mode}#2}%
\fi\egroup}
@@ -344,14 +346,14 @@
\ifax@mode@defined%
\ifx\@tempa\ax@mode@trans%
{\ax@trans@style\addfontfeature{Mapping=arabtex-farsi-trans-\ax@trans@convention}#2}%
-\else%
+\else
\ifx\@tempa\ax@mode@utf%
-\RL{\ax@farsi@font\addfontfeature{Mapping=arabicfixes} #2}%evtl {Mapping=arabtex-utf}
-\else%
+\RL{\ax@farsi@font\utf@fontfeature #2}%
+\else
\RL{\ax@farsi@font%
\addfontfeature{Mapping=arabtex-\ax@font@allah-farsi-\@tempa}#2}%
-\fi\fi%
-\else%
+\fi\fi
+\else
\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}%
\RL{\ax@farsi@font\addfontfeature{Mapping=arabtex-\ax@font@allah-farsi-\ax@mode}#2}%
\fi\egroup}
@@ -362,14 +364,14 @@
\ifax@mode@defined%
\ifx\@tempa\ax@mode@trans%
{\ax@trans@style\addfontfeature{Mapping=arabtex-urdu-trans-\ax@trans@convention}#2}%
-\else%
+\else
\ifx\@tempa\ax@mode@utf%
\RL{\ax@urdu@font\addfontfeature{Language=Urdu}#2}%eventually Mapping=arabtex-utf
-\else%
+\else
\RL{\ax@urdu@font%
\addfontfeature{Mapping=arabtex-\ax@font@allah-urdu-\@tempa,Language=Urdu}#2}%
-\fi\fi%
-\else%
+\fi\fi
+\else
\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}%
\RL{\ax@urdu@font\addfontfeature{Mapping=arabtex-\ax@font@allah-urdu-\ax@mode,Language=Urdu}#2}%
\fi\egroup}
@@ -380,14 +382,14 @@
\ifax@mode@defined%
\ifx\@tempa\ax@mode@trans%
{\ax@trans@style\addfontfeature{Mapping=arabtex-sindhi-trans-\ax@trans@convention}#2}%
-\else%
+\else
\ifx\@tempa\ax@mode@utf%
\RL{\ax@sindhi@font\addfontfeature{Language=Sindhi} #2}%eventually Mapping=arabtex-utf
-\else%
+\else
\RL{\ax@sindhi@font%
\addfontfeature{Mapping=arabtex-\ax@font@allah-sindhi-\@tempa,Language=Sindhi}#2}%
-\fi\fi%
-\else%
+\fi\fi
+\else
\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}%
\RL{\ax@sindhi@font\addfontfeature{Mapping=arabtex-\ax@font@allah-sindhi-\ax@mode,Language=Sindhi}#2}%
\fi\egroup}
@@ -398,14 +400,14 @@
\ifax@mode@defined%
\ifx\@tempa\ax@mode@trans%
{\ax@trans@style\addfontfeature{Mapping=arabtex-pashto-trans-\ax@trans@convention}#2}%
-\else%
+\else
\ifx\@tempa\ax@mode@utf%
-\RL{\ax@pashto@font\addfontfeature{Mapping=arabicfixes} #2}%evtl {Mapping=arabtex-utf}
-\else%
+\RL{\ax@pashto@font\utf@fontfeature #2}%
+\else
\RL{\ax@pashto@font%
\addfontfeature{Mapping=arabtex-\ax@font@allah-pashto-\@tempa}#2}%
-\fi\fi%
-\else%
+\fi\fi
+\else
\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}%
\RL{\ax@pashto@font\addfontfeature{Mapping=arabtex-\ax@font@allah-pashto-\ax@mode}#2}%
\fi\egroup}
@@ -415,12 +417,12 @@
\ax@ismode@defined{\@tempa}%
\ifax@mode@defined%
\ifx\@tempa\ax@mode@utf%
-\RL{\ax@ottoman@font\addfontfeature{Mapping=arabicfixes} #2}%evtl {Mapping=arabtex-utf}
-\else%
+\RL{\ax@ottoman@font\utf@fontfeature #2}%
+\else
\RL{\ax@ottoman@font%
\addfontfeature{Mapping=arabtex-\ax@font@allah-turk-\@tempa}#2}%
-\fi%\fi%
-\else%
+\fi%\fi
+\else
\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}%
\RL{\ax@ottoman@font\addfontfeature{Mapping=arabtex-\ax@font@allah-turk-\ax@mode}#2}%
\fi\egroup}
@@ -428,11 +430,11 @@
\edef\@tempa{#1}%
\def\ax@lang{kurdish}%
\ifx\@tempa\ax@mode@utf%
-\RL{\ax@kurdish@font\addfontfeature{Mapping=arabicfixes} #2}%evtl {Mapping=arabtex-utf}
-\else%
+\RL{\ax@kurdish@font\utf@fontfeature #2}%
+\else
\RL{\ax@kurdish@font%
\addfontfeature{Mapping=arabtex-\ax@font@allah-kurdish,Language=Kurdish}#2}%
-\fi%\fi%
+\fi%\fi
\egroup}
\newcommand\text@kashmiri[2][\ax@mode]{%
\edef\@tempa{#1}%
@@ -440,12 +442,12 @@
\ax@ismode@defined{\@tempa}%
\ifax@mode@defined%
\ifx\@tempa\ax@mode@utf%
-\RL{\ax@kashmiri@font\addfontfeature{Mapping=arabicfixes} #2}%evtl {Mapping=arabtex-utf}
-\else%
+\RL{\ax@kashmiri@font\utf@fontfeature #2}%
+\else
\RL{\ax@kashmiri@font%
\addfontfeature{Mapping=arabtex-\ax@font@allah-kashmiri-\@tempa}#2}%
-\fi%\fi%
-\else%
+\fi%\fi
+\else
\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}%
\RL{\ax@kashmiri@font\addfontfeature{Mapping=arabtex-\ax@font@allah-kashmiri-\ax@mode}#2}%
\fi\egroup}
@@ -455,12 +457,12 @@
\ax@ismode@defined{\@tempa}%
\ifax@mode@defined%
\ifx\@tempa\ax@mode@utf%
-\RL{\ax@malay@font\addfontfeature{Mapping=arabicfixes} #2}%evtl {Mapping=arabtex-utf}
-\else%
+\RL{\ax@malay@font\utf@fontfeature #2}%
+\else
\RL{\ax@malay@font%
\addfontfeature{Mapping=arabtex-\ax@font@allah-malay-\@tempa}#2}%
-\fi%\fi%
-\else%
+\fi%\fi
+\else
\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \ax@mode}%
\RL{\ax@malay@font\addfontfeature{Mapping=arabtex-\ax@font@allah-malay-\ax@mode}#2}%
\fi\egroup}
@@ -468,18 +470,18 @@
\edef\@tempa{#1}%
\def\ax@lang{uighur}%
\ifx\@tempa\ax@mode@utf%
-\RL{\ax@uighur@font\addfontfeature{Mapping=arabicfixes} #2}%evtl {Mapping=arabtex-utf}
-\else%
+\RL{\ax@uighur@font\utf@fontfeature #2}%
+\else
\RL{\ax@uighur@font%
\addfontfeature{Mapping=arabtex-\ax@font@allah-uighur}#2}%
-\fi%\fi%
+\fi%\fi
\egroup}
\newcommand{\textLR}[1]{\LR{\rmfamily #1}}
\newcommand{\aemph}[1]{%
\edef\@tempb{\expandafter\noexpand\csname text\ax@lang\endcsname}%
$\overline{\text{\@tempb{#1}}}$}
%%
-%% Copyright (C) 2007-2008 by François Charette <firmicus at gmx dot net>
+%% Copyright © 2007–2010 by François Charette <firmicus at gmx dot net>
%%
%% Distributable under the LaTeX Project Public License,
%% version 1.3c or higher (your choice). The latest version of