summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/fonts/misc/xetex/fontmapping
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2007-11-22 19:12:42 +0000
committerKarl Berry <karl@freefriends.org>2007-11-22 19:12:42 +0000
commitbd3154576f8fa31a6baae6deea47713226098982 (patch)
treea00d29b676e499a0143fbd44cd678b9d07e6a098 /Master/texmf-dist/fonts/misc/xetex/fontmapping
parent284aa701318ea975cf01c9c411a2d05751ec2352 (diff)
arabxetex (12nov07)
git-svn-id: svn://tug.org/texlive/trunk@5559 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/fonts/misc/xetex/fontmapping')
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabic-novowels.map8
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabic-novowels.tecbin0 -> 265 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/arabicdigits.tecbin0 -> 181 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabicfixes.map16
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabicfixes.tecbin0 -> 314 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-farsi-trans.tecbin0 -> 1290 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-farsi-fullvoc.map17
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-farsi-fullvoc.tecbin5118 -> 5103 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-farsi-novoc.map15
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-farsi-novoc.tecbin4086 -> 4112 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-farsi-voc.map15
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-farsi-voc.tecbin4166 -> 4200 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-fullvoc.map13
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-fullvoc.tecbin4795 -> 4786 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-kashmiri-fullvoc.map17
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-kashmiri-fullvoc.tecbin5221 -> 5254 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-kashmiri-novoc.map15
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-kashmiri-novoc.tecbin4227 -> 4250 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-kashmiri-voc.map15
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-kashmiri-voc.tecbin4282 -> 4333 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-maghribi-fullvoc.map13
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-maghribi-fullvoc.tecbin4808 -> 4788 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-maghribi-novoc.map11
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-maghribi-novoc.tecbin3732 -> 3765 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-maghribi-voc.map11
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-maghribi-voc.tecbin3906 -> 3928 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-malay-fullvoc.map17
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-malay-fullvoc.tecbin5000 -> 4960 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-malay-novoc.map15
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-malay-novoc.tecbin3943 -> 3979 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-malay-voc.map15
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-malay-voc.tecbin4042 -> 4061 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-novoc.map11
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-novoc.tecbin3725 -> 3759 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-pashto-fullvoc.map17
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-pashto-fullvoc.tecbin5061 -> 5031 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-pashto-novoc.map15
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-pashto-novoc.tecbin4010 -> 4037 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-pashto-voc.map15
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-pashto-voc.tecbin4100 -> 4114 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-sindhi-fullvoc.map14
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-sindhi-fullvoc.tecbin4755 -> 4822 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-sindhi-novoc.map12
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-sindhi-novoc.tecbin3724 -> 3787 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-sindhi-voc.map12
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-sindhi-voc.tecbin3791 -> 3866 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-turk-fullvoc.map17
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-turk-fullvoc.tecbin4982 -> 4945 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-turk-novoc.map15
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-turk-novoc.tecbin3929 -> 3958 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-turk-voc.map15
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-turk-voc.tecbin4019 -> 4042 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-urdu-fullvoc.map17
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-urdu-fullvoc.tecbin5046 -> 5107 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-urdu-novoc.map15
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-urdu-novoc.tecbin4059 -> 4078 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-urdu-voc.map15
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-urdu-voc.tecbin4126 -> 4154 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-voc.map11
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-voc.tecbin3891 -> 3920 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-farsi-fullvoc.map17
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-farsi-fullvoc.tecbin5112 -> 5099 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-farsi-novoc.map15
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-farsi-novoc.tecbin4086 -> 4111 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-farsi-voc.map15
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-farsi-voc.tecbin4161 -> 4188 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-fullvoc.map13
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-fullvoc.tecbin4798 -> 4787 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-kashmiri-fullvoc.map17
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-kashmiri-fullvoc.tecbin5223 -> 5275 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-kashmiri-novoc.map15
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-kashmiri-novoc.tecbin4210 -> 4262 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-kashmiri-voc.map15
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-kashmiri-voc.tecbin4328 -> 4329 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-maghribi-fullvoc.map13
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-maghribi-fullvoc.tecbin4801 -> 4790 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-maghribi-novoc.map11
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-maghribi-novoc.tecbin3738 -> 3776 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-maghribi-voc.map11
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-maghribi-voc.tecbin3901 -> 3928 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-malay-fullvoc.map17
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-malay-fullvoc.tecbin4996 -> 4968 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-malay-novoc.map15
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-malay-novoc.tecbin3953 -> 3973 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-malay-voc.map15
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-malay-voc.tecbin4041 -> 4068 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-novoc.map11
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-novoc.tecbin3732 -> 3765 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-pashto-fullvoc.map17
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-pashto-fullvoc.tecbin5055 -> 5034 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-pashto-novoc.map15
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-pashto-novoc.tecbin4022 -> 4038 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-pashto-voc.map15
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-pashto-voc.tecbin4111 -> 4124 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-sindhi-fullvoc.map14
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-sindhi-fullvoc.tecbin4773 -> 4828 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-sindhi-novoc.map12
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-sindhi-novoc.tecbin3732 -> 3793 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-sindhi-voc.map12
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-sindhi-voc.tecbin3814 -> 3877 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-turk-fullvoc.map17
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-turk-fullvoc.tecbin4988 -> 4957 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-turk-novoc.map15
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-turk-novoc.tecbin3929 -> 3962 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-turk-voc.map15
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-turk-voc.tecbin4023 -> 4050 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-urdu-fullvoc.map17
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-urdu-fullvoc.tecbin5056 -> 5114 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-urdu-novoc.map15
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-urdu-novoc.tecbin4069 -> 4095 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-urdu-voc.map15
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-urdu-voc.tecbin4152 -> 4180 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-voc.map11
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-voc.tecbin3889 -> 3918 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-pashto-trans.tecbin0 -> 1295 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-sindhi-trans-loc.tecbin0 -> 1279 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-trans.tecbin0 -> 1753 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-urdu-trans.tecbin0 -> 1343 bytes
119 files changed, 562 insertions, 258 deletions
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabic-novowels.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabic-novowels.map
new file mode 100644
index 00000000000..dcb9cc2dbbb
--- /dev/null
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabic-novowels.map
@@ -0,0 +1,8 @@
+LHSName "Arab-Unicode"
+RHSName "Arab-Unicode-novowels"
+
+pass(Unicode)
+Class [VWL] = (U+064B..U+065E U+0670);
+
+[VWL] > ;
+
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
new file mode 100644
index 00000000000..4b27610456a
--- /dev/null
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabic-novowels.tec
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/arabicdigits.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabicdigits.tec
new file mode 100644
index 00000000000..485a59c99a3
--- /dev/null
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabicdigits.tec
Binary files differ
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabicfixes.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabicfixes.map
new file mode 100644
index 00000000000..f0f69965d02
--- /dev/null
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabicfixes.map
@@ -0,0 +1,16 @@
+; FC ...
+LHSName "LamVowelsAlif"
+RHSName "LamAlifVowels"
+
+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
+
+U+002C <> U+060C ; comma ­> arabic comma
+U+003F <> U+061F ; question mark -> arabic qm
+U+003B <> U+061B ; semicolon -> arabic semicolon
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabicfixes.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabicfixes.tec
new file mode 100644
index 00000000000..881a14a3f5a
--- /dev/null
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabicfixes.tec
Binary files differ
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-farsi-trans.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-farsi-trans.tec
new file mode 100644
index 00000000000..c5af28bae93
--- /dev/null
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-farsi-trans.tec
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
index 80347b4e007..943684273fd 100644
--- 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
@@ -82,6 +82,7 @@ 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
@@ -166,12 +167,13 @@ I / _ # > i y
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) _ (Z|END) > U+0626 @qq i y ; ...A-I or ...U-I
+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) / _ (END|Z) > @q1 i ; ...-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
H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI
[VWL]=v1 / BEG _ > U+0627 @v1
@@ -224,7 +226,8 @@ H / _ Q? AN > Hy
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? (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
@@ -367,6 +370,7 @@ 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
@@ -463,8 +467,9 @@ 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)
+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
@@ -479,7 +484,7 @@ Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647
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|U+0649)=hc / _ (^[VWLX]|#) > U+064E @hc U+0652 ; ay and aw diphtongs
+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
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-farsi-fullvoc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-farsi-fullvoc.tec
index 37bf882e9b1..1d922688073 100644
--- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-farsi-fullvoc.tec
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-farsi-fullvoc.tec
Binary files differ
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
index 2770cc8c641..235f354a3b1 100644
--- 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
@@ -82,6 +82,7 @@ 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
@@ -166,12 +167,13 @@ I / _ # > i y
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) _ (Z|END) > U+0626 @qq i y ; ...A-I or ...U-I
+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) / _ (END|Z) > @q1 i ; ...-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
H / BEG _ l l > U+0627 ;
[VWL]=v1 / BEG _ > A @v1
@@ -224,7 +226,8 @@ H / _ Q? AN > Hy
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? (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
@@ -361,6 +364,7 @@ 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 > ;
@@ -457,8 +461,9 @@ 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)
+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
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 79de57772fa..c6e09cf1b7b 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
index 74db50b6c6d..b74ff0ca974 100644
--- 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
@@ -82,6 +82,7 @@ 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
@@ -166,12 +167,13 @@ I / _ # > i y
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) _ (Z|END) > U+0626 @qq i y ; ...A-I or ...U-I
+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) / _ (END|Z) > @q1 i ; ...-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
H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI
[VWL]=v1 / BEG _ > U+0627 @v1
@@ -224,7 +226,8 @@ H / _ Q? AN > Hy
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? (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
@@ -367,6 +370,7 @@ 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
@@ -463,8 +467,9 @@ 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)
+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
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-farsi-voc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-farsi-voc.tec
index 1394782dfcf..4ea2b097ea5 100644
--- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-farsi-voc.tec
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-farsi-voc.tec
Binary files differ
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
index e836765cf19..bd32090f24e 100644
--- 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
@@ -82,6 +82,7 @@ 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
@@ -161,6 +162,7 @@ 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
H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI
@@ -210,7 +212,8 @@ H / _ Q? AN > Hy
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? (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
@@ -354,6 +357,7 @@ 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
@@ -448,8 +452,9 @@ 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)
+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
@@ -464,7 +469,7 @@ Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647
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|U+0649)=hc / _ (^[VWLX]|#) > U+064E @hc U+0652 ; ay and aw diphtongs
+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)
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 b8bc97c492d..3c491312e4f 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
index 09bf4f168af..a87c601a4f6 100644
--- 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
@@ -82,6 +82,7 @@ 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
@@ -185,12 +186,13 @@ U > w U+0657
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) _ (Z|END) > U+0626 @qq i y ; ...A-I or ...U-I
+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) / _ (END|Z) > @q1 i ; ...-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
H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI
[VWL]=v1 / BEG _ > U+0627 @v1
@@ -238,7 +240,8 @@ H / _ Q? AN > Hy
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? (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
@@ -387,6 +390,7 @@ 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
@@ -481,8 +485,9 @@ 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)
+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
@@ -497,7 +502,7 @@ Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647
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|U+0649)=hc / _ (^[VWLX]|#) > U+064E @hc U+0652 ; ay and aw diphtongs
+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
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-kashmiri-fullvoc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-kashmiri-fullvoc.tec
index 979093b7617..d7ddf6f8158 100644
--- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-kashmiri-fullvoc.tec
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-kashmiri-fullvoc.tec
Binary files differ
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
index 8ccc36ffab5..c28feca1d99 100644
--- 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
@@ -82,6 +82,7 @@ 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
@@ -185,12 +186,13 @@ U > w U+0657
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) _ (Z|END) > U+0626 @qq i y ; ...A-I or ...U-I
+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) / _ (END|Z) > @q1 i ; ...-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
H / BEG _ l l > U+0627 ;
[VWL]=v1 / BEG _ > A @v1
@@ -238,7 +240,8 @@ H / _ Q? AN > Hy
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? (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
@@ -381,6 +384,7 @@ 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 > ;
@@ -475,8 +479,9 @@ 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)
+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
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 ae3cb8b3f65..b7eb8f058e8 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
index 71e402867ee..9f86d34a05d 100644
--- 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
@@ -82,6 +82,7 @@ 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
@@ -185,12 +186,13 @@ U > w U+0657
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) _ (Z|END) > U+0626 @qq i y ; ...A-I or ...U-I
+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) / _ (END|Z) > @q1 i ; ...-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
H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI
[VWL]=v1 / BEG _ > U+0627 @v1
@@ -238,7 +240,8 @@ H / _ Q? AN > Hy
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? (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
@@ -387,6 +390,7 @@ 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
@@ -481,8 +485,9 @@ 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)
+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
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-kashmiri-voc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-kashmiri-voc.tec
index 2b75b8c2580..6a3fd38e904 100644
--- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-kashmiri-voc.tec
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-kashmiri-voc.tec
Binary files differ
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
index ed852fa56b0..565b96ffb5e 100644
--- 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
@@ -82,6 +82,7 @@ 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
@@ -161,6 +162,7 @@ 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
H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI
@@ -210,7 +212,8 @@ H / _ Q? AN > Hy
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? (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
@@ -354,6 +357,7 @@ 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
@@ -448,8 +452,9 @@ 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)
+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
@@ -464,7 +469,7 @@ Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647
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|U+0649)=hc / _ (^[VWLX]|#) > U+064E @hc U+0652 ; ay and aw diphtongs
+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)
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 ab27622fde4..794d9a903bc 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
index 208bf6720ad..b682ac30fae 100644
--- 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
@@ -82,6 +82,7 @@ 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
@@ -161,6 +162,7 @@ O > U
+;; initial characters ...
a l Z / BEG _ > U+0627 l Z
H l Z / BEG _ > U+0627 l Z
H / BEG _ l l > U+0627 ;
@@ -210,7 +212,8 @@ H / _ Q? AN > Hy
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? (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
@@ -348,6 +351,7 @@ 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 > ;
@@ -442,8 +446,9 @@ 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)
+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
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 9bc32fb26a4..92e0c87133b 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
index 4161f4233b4..1fd07ce86c6 100644
--- 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
@@ -82,6 +82,7 @@ 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
@@ -161,6 +162,7 @@ O > U
+;; initial characters ...
a l Z / BEG _ > U+0627 l Z
H l Z / BEG _ > U+0627 l Z
H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI
@@ -210,7 +212,8 @@ H / _ Q? AN > Hy
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? (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
@@ -354,6 +357,7 @@ 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
@@ -448,8 +452,9 @@ 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)
+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
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-maghribi-voc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-maghribi-voc.tec
index f611370d03e..8f628396d34 100644
--- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-maghribi-voc.tec
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-maghribi-voc.tec
Binary files differ
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
index 295993410f9..40f2a075de1 100644
--- 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
@@ -82,6 +82,7 @@ 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
@@ -162,12 +163,13 @@ o > u
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) _ (Z|END) > U+0626 @qq i y ; ...A-I or ...U-I
+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) / _ (END|Z) > @q1 i ; ...-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
H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI
[VWL]=v1 / BEG _ > U+0627 @v1
@@ -215,7 +217,8 @@ H / _ Q? AN > Hy
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? (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
@@ -359,6 +362,7 @@ 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
@@ -453,8 +457,9 @@ 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)
+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
@@ -469,7 +474,7 @@ Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647
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|U+0649)=hc / _ (^[VWLX]|#) > U+064E @hc U+0652 ; ay and aw diphtongs
+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
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-malay-fullvoc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-malay-fullvoc.tec
index 5b0940238c8..27b378d5765 100644
--- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-malay-fullvoc.tec
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-malay-fullvoc.tec
Binary files differ
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
index b8ba95dea57..5718e9f1c55 100644
--- 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
@@ -82,6 +82,7 @@ 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
@@ -162,12 +163,13 @@ o > u
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) _ (Z|END) > U+0626 @qq i y ; ...A-I or ...U-I
+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) / _ (END|Z) > @q1 i ; ...-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
H / BEG _ l l > U+0627 ;
[VWL]=v1 / BEG _ > A @v1
@@ -215,7 +217,8 @@ H / _ Q? AN > Hy
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? (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
@@ -353,6 +356,7 @@ 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 > ;
@@ -447,8 +451,9 @@ 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)
+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
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 74c4912fcc2..07e0739c200 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
index 4970974d6dd..29d13f4aa8e 100644
--- 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
@@ -82,6 +82,7 @@ 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
@@ -162,12 +163,13 @@ o > u
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) _ (Z|END) > U+0626 @qq i y ; ...A-I or ...U-I
+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) / _ (END|Z) > @q1 i ; ...-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
H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI
[VWL]=v1 / BEG _ > U+0627 @v1
@@ -215,7 +217,8 @@ H / _ Q? AN > Hy
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? (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
@@ -359,6 +362,7 @@ 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
@@ -453,8 +457,9 @@ 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)
+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
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-malay-voc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-malay-voc.tec
index 99453fa000a..b2b2e4a5aed 100644
--- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-malay-voc.tec
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-malay-voc.tec
Binary files differ
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
index 19b02cd47cd..7dc385bd43e 100644
--- 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
@@ -82,6 +82,7 @@ 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
@@ -161,6 +162,7 @@ O > U
+;; initial characters ...
a l Z / BEG _ > U+0627 l Z
H l Z / BEG _ > U+0627 l Z
H / BEG _ l l > U+0627 ;
@@ -210,7 +212,8 @@ H / _ Q? AN > Hy
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? (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
@@ -348,6 +351,7 @@ 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 > ;
@@ -442,8 +446,9 @@ 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)
+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
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 702f654f195..16184d6ee50 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
index d95957bdd4e..c5b8be9beee 100644
--- 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
@@ -82,6 +82,7 @@ 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
@@ -167,12 +168,13 @@ I / _ # > i y
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) _ (Z|END) > U+0626 @qq i y ; ...A-I or ...U-I
+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) / _ (END|Z) > @q1 i ; ...-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
H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI
[VWL]=v1 / BEG _ > U+0627 @v1
@@ -220,7 +222,8 @@ H / _ Q? AN > Hy
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? (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
@@ -363,6 +366,7 @@ 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
@@ -459,8 +463,9 @@ 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)
+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
@@ -475,7 +480,7 @@ Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647
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|U+0649)=hc / _ (^[VWLX]|#) > U+064E @hc U+0652 ; ay and aw diphtongs
+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
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-pashto-fullvoc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-pashto-fullvoc.tec
index 60d5be969a7..2e12ed9f965 100644
--- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-pashto-fullvoc.tec
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-pashto-fullvoc.tec
Binary files differ
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
index eedc3226e23..af71e133e79 100644
--- 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
@@ -82,6 +82,7 @@ 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
@@ -167,12 +168,13 @@ I / _ # > i y
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) _ (Z|END) > U+0626 @qq i y ; ...A-I or ...U-I
+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) / _ (END|Z) > @q1 i ; ...-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
H / BEG _ l l > U+0627 ;
[VWL]=v1 / BEG _ > A @v1
@@ -220,7 +222,8 @@ H / _ Q? AN > Hy
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? (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
@@ -357,6 +360,7 @@ 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 > ;
@@ -453,8 +457,9 @@ 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)
+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
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 b68449f591b..b378d09e49a 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
index b609bd5fb4a..5f046f43ff0 100644
--- 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
@@ -82,6 +82,7 @@ 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
@@ -167,12 +168,13 @@ I / _ # > i y
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) _ (Z|END) > U+0626 @qq i y ; ...A-I or ...U-I
+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) / _ (END|Z) > @q1 i ; ...-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
H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI
[VWL]=v1 / BEG _ > U+0627 @v1
@@ -220,7 +222,8 @@ H / _ Q? AN > Hy
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? (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
@@ -363,6 +366,7 @@ 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
@@ -459,8 +463,9 @@ 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)
+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
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-pashto-voc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-pashto-voc.tec
index f67bc973121..1491934d963 100644
--- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-pashto-voc.tec
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-pashto-voc.tec
Binary files differ
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
index ec266e1a589..c6158c867ab 100644
--- 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
@@ -82,6 +82,7 @@ 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
@@ -162,12 +163,13 @@ o > u
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) _ (Z|END) > U+0626 @qq i y ; ...A-I or ...U-I
+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) / _ (END|Z) > @q1 i ; ...-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
H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI
[VWL]=v1 / BEG _ > U+0627 @v1
@@ -324,6 +326,7 @@ 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
@@ -428,8 +431,9 @@ 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)
+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
@@ -444,7 +448,7 @@ Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647
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|U+0649)=hc / _ (^[VWLX]|#) > U+064E @hc U+0652 ; ay and aw diphtongs
+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
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 d3975aa2ae1..9f5cc5a7431 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
index 96c39dae13c..6e228b80aba 100644
--- 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
@@ -82,6 +82,7 @@ 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
@@ -162,12 +163,13 @@ o > u
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) _ (Z|END) > U+0626 @qq i y ; ...A-I or ...U-I
+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) / _ (END|Z) > @q1 i ; ...-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
H / BEG _ l l > U+0627 ;
[VWL]=v1 / BEG _ > A @v1
@@ -318,6 +320,7 @@ 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 > ;
@@ -422,8 +425,9 @@ 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)
+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
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 54f547ab82f..084da362b05 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
index 289b9f478c1..c05f2ab8e2a 100644
--- 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
@@ -82,6 +82,7 @@ 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
@@ -162,12 +163,13 @@ o > u
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) _ (Z|END) > U+0626 @qq i y ; ...A-I or ...U-I
+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) / _ (END|Z) > @q1 i ; ...-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
H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI
[VWL]=v1 / BEG _ > U+0627 @v1
@@ -324,6 +326,7 @@ 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
@@ -428,8 +431,9 @@ 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)
+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
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 b7e24035640..bc4ec5875bc 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
index 71e41daf10f..afbc5b3830f 100644
--- 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
@@ -82,6 +82,7 @@ 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
@@ -163,12 +164,13 @@ I / _ # > i y
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) _ (Z|END) > U+0626 @qq i y ; ...A-I or ...U-I
+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) / _ (END|Z) > @q1 i ; ...-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
H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI
[VWL]=v1 / BEG _ > U+0627 @v1
@@ -216,7 +218,8 @@ H / _ Q? AN > Hy
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? (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
@@ -359,6 +362,7 @@ 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
@@ -453,8 +457,9 @@ 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)
+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
@@ -469,7 +474,7 @@ Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647
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|U+0649)=hc / _ (^[VWLX]|#) > U+064E @hc U+0652 ; ay and aw diphtongs
+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
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-turk-fullvoc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-turk-fullvoc.tec
index 4417f833aa9..fa0cd690920 100644
--- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-turk-fullvoc.tec
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-turk-fullvoc.tec
Binary files differ
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
index c362f869b84..f286237b3c7 100644
--- 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
@@ -82,6 +82,7 @@ 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
@@ -163,12 +164,13 @@ I / _ # > i y
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) _ (Z|END) > U+0626 @qq i y ; ...A-I or ...U-I
+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) / _ (END|Z) > @q1 i ; ...-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
H / BEG _ l l > U+0627 ;
[VWL]=v1 / BEG _ > A @v1
@@ -216,7 +218,8 @@ H / _ Q? AN > Hy
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? (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
@@ -353,6 +356,7 @@ 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 > ;
@@ -447,8 +451,9 @@ 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)
+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
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 de5e405d1f7..eb74bd88db9 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
index c6a1726d57e..833c726a9c1 100644
--- 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
@@ -82,6 +82,7 @@ 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
@@ -163,12 +164,13 @@ I / _ # > i y
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) _ (Z|END) > U+0626 @qq i y ; ...A-I or ...U-I
+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) / _ (END|Z) > @q1 i ; ...-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
H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI
[VWL]=v1 / BEG _ > U+0627 @v1
@@ -216,7 +218,8 @@ H / _ Q? AN > Hy
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? (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
@@ -359,6 +362,7 @@ 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
@@ -453,8 +457,9 @@ 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)
+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
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-turk-voc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-turk-voc.tec
index 589a8c7a84c..a7c06cfcf26 100644
--- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-turk-voc.tec
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-turk-voc.tec
Binary files differ
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
index 8e99b23906b..d56b2608a4c 100644
--- 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
@@ -82,6 +82,7 @@ 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
@@ -169,12 +170,13 @@ I / _ # > i y
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) _ (Z|END) > U+0626 @qq i y ; ...A-I or ...U-I
+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) / _ (END|Z) > @q1 i ; ...-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
H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI
[VWL]=v1 / BEG _ > U+0627 @v1
@@ -223,7 +225,8 @@ H / _ Q? AN > Hy
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? (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
@@ -366,6 +369,7 @@ 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
@@ -464,8 +468,9 @@ 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)
+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
@@ -481,7 +486,7 @@ Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647
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|U+0649)=hc / _ (^[VWLX]|#) > U+064E @hc U+0652 ; ay and aw diphtongs
+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
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 8bc9f6f566e..6a2c20ccbde 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
index c53f4e72808..c01d3b35733 100644
--- 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
@@ -82,6 +82,7 @@ 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
@@ -169,12 +170,13 @@ I / _ # > i y
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) _ (Z|END) > U+0626 @qq i y ; ...A-I or ...U-I
+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) / _ (END|Z) > @q1 i ; ...-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
H / BEG _ l l > U+0627 ;
[VWL]=v1 / BEG _ > A @v1
@@ -223,7 +225,8 @@ H / _ Q? AN > Hy
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? (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
@@ -360,6 +363,7 @@ 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 > ;
@@ -458,8 +462,9 @@ 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)
+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
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 01e1431b1b2..b9dd309cead 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
index 4be86b80137..fcbfbb437ac 100644
--- 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
@@ -82,6 +82,7 @@ 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
@@ -169,12 +170,13 @@ I / _ # > i y
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) _ (Z|END) > U+0626 @qq i y ; ...A-I or ...U-I
+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) / _ (END|Z) > @q1 i ; ...-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
H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI
[VWL]=v1 / BEG _ > U+0627 @v1
@@ -223,7 +225,8 @@ H / _ Q? AN > Hy
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? (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
@@ -366,6 +369,7 @@ 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
@@ -464,8 +468,9 @@ 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)
+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
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 9480a26a2dc..afade649507 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
index a3c2d7d5727..81663175d5e 100644
--- 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
@@ -82,6 +82,7 @@ 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
@@ -161,6 +162,7 @@ O > U
+;; initial characters ...
a l Z / BEG _ > U+0627 l Z
H l Z / BEG _ > U+0627 l Z
H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI
@@ -210,7 +212,8 @@ H / _ Q? AN > Hy
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? (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
@@ -354,6 +357,7 @@ 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
@@ -448,8 +452,9 @@ 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)
+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
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-voc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-voc.tec
index e8947374763..6a2eaa5964a 100644
--- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-voc.tec
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-voc.tec
Binary files differ
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
index 5cf358a5be3..42327f2afcc 100644
--- 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
@@ -82,6 +82,7 @@ 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
@@ -166,12 +167,13 @@ I / _ # > i y
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) _ (Z|END) > U+0626 @qq i y ; ...A-I or ...U-I
+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) / _ (END|Z) > @q1 i ; ...-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
H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI
[VWL]=v1 / BEG _ > U+0627 @v1
@@ -224,7 +226,8 @@ H / _ Q? AN > Hy
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? (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
@@ -367,6 +370,7 @@ 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
@@ -463,8 +467,9 @@ 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)
+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
@@ -479,7 +484,7 @@ Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647
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|U+0649)=hc / _ (^[VWLX]|#) > U+064E @hc U+0652 ; ay and aw diphtongs
+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
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-farsi-fullvoc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-farsi-fullvoc.tec
index 075867ee498..692e15bfcc9 100644
--- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-farsi-fullvoc.tec
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-farsi-fullvoc.tec
Binary files differ
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
index e47afe45ee8..867eea6e112 100644
--- 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
@@ -82,6 +82,7 @@ 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
@@ -166,12 +167,13 @@ I / _ # > i y
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) _ (Z|END) > U+0626 @qq i y ; ...A-I or ...U-I
+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) / _ (END|Z) > @q1 i ; ...-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
H / BEG _ l l > U+0627 ;
[VWL]=v1 / BEG _ > A @v1
@@ -224,7 +226,8 @@ H / _ Q? AN > Hy
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? (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
@@ -361,6 +364,7 @@ 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 > ;
@@ -457,8 +461,9 @@ 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)
+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
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 78306558f90..b385c231d53 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
index 37f028fd87c..224114309e2 100644
--- 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
@@ -82,6 +82,7 @@ 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
@@ -166,12 +167,13 @@ I / _ # > i y
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) _ (Z|END) > U+0626 @qq i y ; ...A-I or ...U-I
+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) / _ (END|Z) > @q1 i ; ...-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
H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI
[VWL]=v1 / BEG _ > U+0627 @v1
@@ -224,7 +226,8 @@ H / _ Q? AN > Hy
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? (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
@@ -367,6 +370,7 @@ 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
@@ -463,8 +467,9 @@ 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)
+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
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-farsi-voc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-farsi-voc.tec
index d8aeb4887bd..bdeb93250fe 100644
--- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-farsi-voc.tec
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-farsi-voc.tec
Binary files differ
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
index adcc29d12c7..edd9c060b08 100644
--- 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
@@ -82,6 +82,7 @@ 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
@@ -161,6 +162,7 @@ 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
H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI
@@ -210,7 +212,8 @@ H / _ Q? AN > Hy
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? (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
@@ -354,6 +357,7 @@ 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
@@ -448,8 +452,9 @@ 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)
+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
@@ -464,7 +469,7 @@ Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647
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|U+0649)=hc / _ (^[VWLX]|#) > U+064E @hc U+0652 ; ay and aw diphtongs
+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)
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 94b621c61bf..3d03b2c6088 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
index 1de9484783a..a27cccb7534 100644
--- 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
@@ -82,6 +82,7 @@ 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
@@ -185,12 +186,13 @@ U > w U+0657
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) _ (Z|END) > U+0626 @qq i y ; ...A-I or ...U-I
+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) / _ (END|Z) > @q1 i ; ...-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
H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI
[VWL]=v1 / BEG _ > U+0627 @v1
@@ -238,7 +240,8 @@ H / _ Q? AN > Hy
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? (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
@@ -387,6 +390,7 @@ 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
@@ -481,8 +485,9 @@ 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)
+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
@@ -497,7 +502,7 @@ Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647
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|U+0649)=hc / _ (^[VWLX]|#) > U+064E @hc U+0652 ; ay and aw diphtongs
+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
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-kashmiri-fullvoc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-kashmiri-fullvoc.tec
index b9201face2a..f06d1794305 100644
--- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-kashmiri-fullvoc.tec
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-kashmiri-fullvoc.tec
Binary files differ
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
index cdc64f481bf..4916754c0e1 100644
--- 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
@@ -82,6 +82,7 @@ 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
@@ -185,12 +186,13 @@ U > w U+0657
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) _ (Z|END) > U+0626 @qq i y ; ...A-I or ...U-I
+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) / _ (END|Z) > @q1 i ; ...-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
H / BEG _ l l > U+0627 ;
[VWL]=v1 / BEG _ > A @v1
@@ -238,7 +240,8 @@ H / _ Q? AN > Hy
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? (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
@@ -381,6 +384,7 @@ 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 > ;
@@ -475,8 +479,9 @@ 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)
+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
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 9cb58f161e7..f094274cc60 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
index bc59a2fd004..e31ea16ca4a 100644
--- 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
@@ -82,6 +82,7 @@ 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
@@ -185,12 +186,13 @@ U > w U+0657
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) _ (Z|END) > U+0626 @qq i y ; ...A-I or ...U-I
+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) / _ (END|Z) > @q1 i ; ...-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
H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI
[VWL]=v1 / BEG _ > U+0627 @v1
@@ -238,7 +240,8 @@ H / _ Q? AN > Hy
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? (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
@@ -387,6 +390,7 @@ 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
@@ -481,8 +485,9 @@ 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)
+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
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-kashmiri-voc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-kashmiri-voc.tec
index 68077b2e9c5..9dfc5cc9f68 100644
--- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-kashmiri-voc.tec
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-kashmiri-voc.tec
Binary files differ
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
index 548a75db3da..9eba8a45f72 100644
--- 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
@@ -82,6 +82,7 @@ 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
@@ -161,6 +162,7 @@ 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
H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI
@@ -210,7 +212,8 @@ H / _ Q? AN > Hy
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? (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
@@ -354,6 +357,7 @@ 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
@@ -448,8 +452,9 @@ 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)
+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
@@ -464,7 +469,7 @@ Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647
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|U+0649)=hc / _ (^[VWLX]|#) > U+064E @hc U+0652 ; ay and aw diphtongs
+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)
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 64b7f4045e3..1d8eade2d22 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
index 6dddf9fbc59..aeb74787189 100644
--- 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
@@ -82,6 +82,7 @@ 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
@@ -161,6 +162,7 @@ O > U
+;; initial characters ...
a l Z / BEG _ > U+0627 l Z
H l Z / BEG _ > U+0627 l Z
H / BEG _ l l > U+0627 ;
@@ -210,7 +212,8 @@ H / _ Q? AN > Hy
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? (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
@@ -348,6 +351,7 @@ 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 > ;
@@ -442,8 +446,9 @@ 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)
+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
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 ac2049b44bb..fd716768c39 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
index b3ebb7c7f11..faecc44cc17 100644
--- 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
@@ -82,6 +82,7 @@ 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
@@ -161,6 +162,7 @@ O > U
+;; initial characters ...
a l Z / BEG _ > U+0627 l Z
H l Z / BEG _ > U+0627 l Z
H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI
@@ -210,7 +212,8 @@ H / _ Q? AN > Hy
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? (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
@@ -354,6 +357,7 @@ 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
@@ -448,8 +452,9 @@ 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)
+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
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-maghribi-voc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-maghribi-voc.tec
index 3fe8dd7a8f0..06fdd7925ca 100644
--- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-maghribi-voc.tec
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-maghribi-voc.tec
Binary files differ
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
index 4a712a372ad..190a47dc863 100644
--- 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
@@ -82,6 +82,7 @@ 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
@@ -162,12 +163,13 @@ o > u
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) _ (Z|END) > U+0626 @qq i y ; ...A-I or ...U-I
+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) / _ (END|Z) > @q1 i ; ...-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
H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI
[VWL]=v1 / BEG _ > U+0627 @v1
@@ -215,7 +217,8 @@ H / _ Q? AN > Hy
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? (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
@@ -359,6 +362,7 @@ 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
@@ -453,8 +457,9 @@ 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)
+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
@@ -469,7 +474,7 @@ Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647
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|U+0649)=hc / _ (^[VWLX]|#) > U+064E @hc U+0652 ; ay and aw diphtongs
+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
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-malay-fullvoc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-malay-fullvoc.tec
index 87c12076aac..aa48aec47ba 100644
--- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-malay-fullvoc.tec
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-malay-fullvoc.tec
Binary files differ
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
index b66d9d26e0a..cf1ab76c374 100644
--- 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
@@ -82,6 +82,7 @@ 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
@@ -162,12 +163,13 @@ o > u
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) _ (Z|END) > U+0626 @qq i y ; ...A-I or ...U-I
+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) / _ (END|Z) > @q1 i ; ...-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
H / BEG _ l l > U+0627 ;
[VWL]=v1 / BEG _ > A @v1
@@ -215,7 +217,8 @@ H / _ Q? AN > Hy
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? (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
@@ -353,6 +356,7 @@ 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 > ;
@@ -447,8 +451,9 @@ 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)
+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
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 d30d1969eb3..357eda0d98c 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
index 5398f75b9f1..ac4e08cb2a4 100644
--- 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
@@ -82,6 +82,7 @@ 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
@@ -162,12 +163,13 @@ o > u
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) _ (Z|END) > U+0626 @qq i y ; ...A-I or ...U-I
+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) / _ (END|Z) > @q1 i ; ...-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
H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI
[VWL]=v1 / BEG _ > U+0627 @v1
@@ -215,7 +217,8 @@ H / _ Q? AN > Hy
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? (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
@@ -359,6 +362,7 @@ 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
@@ -453,8 +457,9 @@ 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)
+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
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-malay-voc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-malay-voc.tec
index fe0b0bff4fd..ae0062c9f8c 100644
--- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-malay-voc.tec
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-malay-voc.tec
Binary files differ
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
index c2a84e65a1e..c4cd5469918 100644
--- 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
@@ -82,6 +82,7 @@ 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
@@ -161,6 +162,7 @@ O > U
+;; initial characters ...
a l Z / BEG _ > U+0627 l Z
H l Z / BEG _ > U+0627 l Z
H / BEG _ l l > U+0627 ;
@@ -210,7 +212,8 @@ H / _ Q? AN > Hy
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? (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
@@ -348,6 +351,7 @@ 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 > ;
@@ -442,8 +446,9 @@ 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)
+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
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 e1de9e8ea2a..45ac3a8e6d2 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
index a7d3e4005fc..0b5db3167fa 100644
--- 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
@@ -82,6 +82,7 @@ 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
@@ -167,12 +168,13 @@ I / _ # > i y
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) _ (Z|END) > U+0626 @qq i y ; ...A-I or ...U-I
+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) / _ (END|Z) > @q1 i ; ...-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
H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI
[VWL]=v1 / BEG _ > U+0627 @v1
@@ -220,7 +222,8 @@ H / _ Q? AN > Hy
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? (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
@@ -363,6 +366,7 @@ 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
@@ -459,8 +463,9 @@ 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)
+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
@@ -475,7 +480,7 @@ Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647
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|U+0649)=hc / _ (^[VWLX]|#) > U+064E @hc U+0652 ; ay and aw diphtongs
+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
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-pashto-fullvoc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-pashto-fullvoc.tec
index 035dd6376cb..6dae8e38f9e 100644
--- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-pashto-fullvoc.tec
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-pashto-fullvoc.tec
Binary files differ
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
index d74f67a7ffd..0e728ee7a05 100644
--- 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
@@ -82,6 +82,7 @@ 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
@@ -167,12 +168,13 @@ I / _ # > i y
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) _ (Z|END) > U+0626 @qq i y ; ...A-I or ...U-I
+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) / _ (END|Z) > @q1 i ; ...-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
H / BEG _ l l > U+0627 ;
[VWL]=v1 / BEG _ > A @v1
@@ -220,7 +222,8 @@ H / _ Q? AN > Hy
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? (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
@@ -357,6 +360,7 @@ 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 > ;
@@ -453,8 +457,9 @@ 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)
+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
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 73ebe256373..c9aec1f60e4 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
index 601cc4f423c..527ba534cf0 100644
--- 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
@@ -82,6 +82,7 @@ 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
@@ -167,12 +168,13 @@ I / _ # > i y
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) _ (Z|END) > U+0626 @qq i y ; ...A-I or ...U-I
+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) / _ (END|Z) > @q1 i ; ...-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
H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI
[VWL]=v1 / BEG _ > U+0627 @v1
@@ -220,7 +222,8 @@ H / _ Q? AN > Hy
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? (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
@@ -363,6 +366,7 @@ 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
@@ -459,8 +463,9 @@ 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)
+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
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-pashto-voc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-pashto-voc.tec
index 299df2a0af3..f439a4ebc63 100644
--- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-pashto-voc.tec
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-pashto-voc.tec
Binary files differ
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
index 600c74d147a..c5dc054f1ed 100644
--- 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
@@ -82,6 +82,7 @@ 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
@@ -162,12 +163,13 @@ o > u
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) _ (Z|END) > U+0626 @qq i y ; ...A-I or ...U-I
+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) / _ (END|Z) > @q1 i ; ...-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
H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI
[VWL]=v1 / BEG _ > U+0627 @v1
@@ -324,6 +326,7 @@ 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
@@ -428,8 +431,9 @@ 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)
+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
@@ -444,7 +448,7 @@ Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647
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|U+0649)=hc / _ (^[VWLX]|#) > U+064E @hc U+0652 ; ay and aw diphtongs
+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
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 ccb0f3f2646..6791fa2f51b 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
index 81c8e5a3278..71cbf311814 100644
--- 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
@@ -82,6 +82,7 @@ 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
@@ -162,12 +163,13 @@ o > u
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) _ (Z|END) > U+0626 @qq i y ; ...A-I or ...U-I
+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) / _ (END|Z) > @q1 i ; ...-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
H / BEG _ l l > U+0627 ;
[VWL]=v1 / BEG _ > A @v1
@@ -318,6 +320,7 @@ 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 > ;
@@ -422,8 +425,9 @@ 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)
+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
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 043463960ca..ddd1ec08d26 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
index 72fe01d636f..28637b42540 100644
--- 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
@@ -82,6 +82,7 @@ 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
@@ -162,12 +163,13 @@ o > u
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) _ (Z|END) > U+0626 @qq i y ; ...A-I or ...U-I
+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) / _ (END|Z) > @q1 i ; ...-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
H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI
[VWL]=v1 / BEG _ > U+0627 @v1
@@ -324,6 +326,7 @@ 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
@@ -428,8 +431,9 @@ 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)
+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
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 827165dfc02..41c84e06bd8 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
index 3403eb21594..dc4d72c8e73 100644
--- 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
@@ -82,6 +82,7 @@ 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
@@ -163,12 +164,13 @@ I / _ # > i y
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) _ (Z|END) > U+0626 @qq i y ; ...A-I or ...U-I
+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) / _ (END|Z) > @q1 i ; ...-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
H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI
[VWL]=v1 / BEG _ > U+0627 @v1
@@ -216,7 +218,8 @@ H / _ Q? AN > Hy
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? (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
@@ -359,6 +362,7 @@ 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
@@ -453,8 +457,9 @@ 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)
+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
@@ -469,7 +474,7 @@ Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647
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|U+0649)=hc / _ (^[VWLX]|#) > U+064E @hc U+0652 ; ay and aw diphtongs
+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
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-turk-fullvoc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-turk-fullvoc.tec
index ab642465187..75d85901102 100644
--- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-turk-fullvoc.tec
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-turk-fullvoc.tec
Binary files differ
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
index 7c8594800e1..36f90a69574 100644
--- 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
@@ -82,6 +82,7 @@ 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
@@ -163,12 +164,13 @@ I / _ # > i y
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) _ (Z|END) > U+0626 @qq i y ; ...A-I or ...U-I
+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) / _ (END|Z) > @q1 i ; ...-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
H / BEG _ l l > U+0627 ;
[VWL]=v1 / BEG _ > A @v1
@@ -216,7 +218,8 @@ H / _ Q? AN > Hy
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? (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
@@ -353,6 +356,7 @@ 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 > ;
@@ -447,8 +451,9 @@ 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)
+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
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 41b192fdfc2..a3b600cdb7b 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
index 4a54bf6b837..7e719cdec48 100644
--- 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
@@ -82,6 +82,7 @@ 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
@@ -163,12 +164,13 @@ I / _ # > i y
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) _ (Z|END) > U+0626 @qq i y ; ...A-I or ...U-I
+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) / _ (END|Z) > @q1 i ; ...-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
H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI
[VWL]=v1 / BEG _ > U+0627 @v1
@@ -216,7 +218,8 @@ H / _ Q? AN > Hy
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? (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
@@ -359,6 +362,7 @@ 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
@@ -453,8 +457,9 @@ 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)
+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
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-turk-voc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-turk-voc.tec
index 9a225f22b73..00bbf628062 100644
--- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-turk-voc.tec
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-turk-voc.tec
Binary files differ
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
index a35d023e3e4..96eba02c749 100644
--- 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
@@ -82,6 +82,7 @@ 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
@@ -169,12 +170,13 @@ I / _ # > i y
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) _ (Z|END) > U+0626 @qq i y ; ...A-I or ...U-I
+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) / _ (END|Z) > @q1 i ; ...-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
H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI
[VWL]=v1 / BEG _ > U+0627 @v1
@@ -223,7 +225,8 @@ H / _ Q? AN > Hy
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? (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
@@ -366,6 +369,7 @@ 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
@@ -464,8 +468,9 @@ 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)
+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
@@ -481,7 +486,7 @@ Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647
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|U+0649)=hc / _ (^[VWLX]|#) > U+064E @hc U+0652 ; ay and aw diphtongs
+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
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 7ae4b4afbbd..7076843586a 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
index 8a4b602bdfe..164ca5a64c1 100644
--- 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
@@ -82,6 +82,7 @@ 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
@@ -169,12 +170,13 @@ I / _ # > i y
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) _ (Z|END) > U+0626 @qq i y ; ...A-I or ...U-I
+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) / _ (END|Z) > @q1 i ; ...-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
H / BEG _ l l > U+0627 ;
[VWL]=v1 / BEG _ > A @v1
@@ -223,7 +225,8 @@ H / _ Q? AN > Hy
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? (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
@@ -360,6 +363,7 @@ 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 > ;
@@ -458,8 +462,9 @@ 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)
+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
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 5244c992992..6786509fba0 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
index 5a1c6ff317f..cada96defd7 100644
--- 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
@@ -82,6 +82,7 @@ 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
@@ -169,12 +170,13 @@ I / _ # > i y
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) _ (Z|END) > U+0626 @qq i y ; ...A-I or ...U-I
+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) / _ (END|Z) > @q1 i ; ...-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
H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI
[VWL]=v1 / BEG _ > U+0627 @v1
@@ -223,7 +225,8 @@ H / _ Q? AN > Hy
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? (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
@@ -366,6 +369,7 @@ 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
@@ -464,8 +468,9 @@ 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)
+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
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 263ef1053d2..9d2862a5553 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
index 58dda11d0b2..f22b8673cdd 100644
--- 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
@@ -82,6 +82,7 @@ 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
@@ -161,6 +162,7 @@ O > U
+;; initial characters ...
a l Z / BEG _ > U+0627 l Z
H l Z / BEG _ > U+0627 l Z
H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI
@@ -210,7 +212,8 @@ H / _ Q? AN > Hy
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? (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
@@ -354,6 +357,7 @@ 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
@@ -448,8 +452,9 @@ 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)
+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
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-voc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-voc.tec
index 7b224ff51a3..3cc5afac051 100644
--- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-voc.tec
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-voc.tec
Binary files differ
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-pashto-trans.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-pashto-trans.tec
new file mode 100644
index 00000000000..e0bcf2b7178
--- /dev/null
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-pashto-trans.tec
Binary files differ
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-sindhi-trans-loc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-sindhi-trans-loc.tec
new file mode 100644
index 00000000000..d7d4b63c42f
--- /dev/null
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-sindhi-trans-loc.tec
Binary files differ
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-trans.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-trans.tec
new file mode 100644
index 00000000000..238041439f9
--- /dev/null
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-trans.tec
Binary files differ
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-urdu-trans.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-urdu-trans.tec
new file mode 100644
index 00000000000..9a6a84253c4
--- /dev/null
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-urdu-trans.tec
Binary files differ