From bee7379de288cd8caaec136a9bf4d51c84990842 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Fri, 5 Mar 2010 00:33:58 +0000 Subject: arabxetex update (4mar10) git-svn-id: svn://tug.org/texlive/trunk@17320 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/xelatex/arabxetex/README | 4 +- .../doc/xelatex/arabxetex/arabtex-kurdish.maps | 294 --- .../doc/xelatex/arabxetex/arabtex-uighur.maps | 281 --- .../texmf-dist/doc/xelatex/arabxetex/arabtex.maps | 780 -------- .../texmf-dist/doc/xelatex/arabxetex/arabxetex.dtx | 2058 -------------------- .../texmf-dist/doc/xelatex/arabxetex/arabxetex.pdf | Bin 315621 -> 317330 bytes .../doc/xelatex/arabxetex/ednotes_example.pdf | Bin 70740 -> 0 bytes .../doc/xelatex/arabxetex/ednotes_example.tex | 211 -- .../xelatex/arabxetex/examples/ednotes_example.pdf | Bin 0 -> 70740 bytes .../xelatex/arabxetex/examples/ednotes_example.tex | 211 ++ .../doc/xelatex/arabxetex/examples/minimal.tex | 26 + .../texmf-dist/doc/xelatex/arabxetex/makemaps.pl | 1117 ----------- .../texmf-dist/doc/xelatex/arabxetex/minimal.tex | 22 - .../fontmapping/arabxetex/arabic-novowels.tec | Bin 265 -> 0 bytes .../xetex/fontmapping/arabxetex/arabicdigits.map | 16 + .../xetex/fontmapping/arabxetex/arabicfixes.tec | Bin 314 -> 0 bytes .../arabxetex/arabtex-fdf2alif-farsi-fullvoc.map | 495 +++++ .../arabxetex/arabtex-fdf2alif-farsi-novoc.map | 480 +++++ .../arabxetex/arabtex-fdf2alif-farsi-novoc.tec | Bin 4112 -> 4158 bytes .../arabxetex/arabtex-fdf2alif-farsi-voc.map | 490 +++++ .../arabxetex/arabtex-fdf2alif-fullvoc.map | 482 +++++ .../arabxetex/arabtex-fdf2alif-fullvoc.tec | Bin 4763 -> 4798 bytes .../arabtex-fdf2alif-kashmiri-fullvoc.map | 513 +++++ .../arabxetex/arabtex-fdf2alif-kashmiri-novoc.map | 498 +++++ .../arabxetex/arabtex-fdf2alif-kashmiri-novoc.tec | Bin 4240 -> 4312 bytes .../arabxetex/arabtex-fdf2alif-kashmiri-voc.map | 508 +++++ .../arabxetex/arabtex-fdf2alif-kurdish.map | 290 +++ .../arabtex-fdf2alif-maghribi-fullvoc.map | 482 +++++ .../arabtex-fdf2alif-maghribi-fullvoc.tec | Bin 4773 -> 4807 bytes .../arabxetex/arabtex-fdf2alif-maghribi-novoc.map | 465 +++++ .../arabxetex/arabtex-fdf2alif-maghribi-novoc.tec | Bin 3776 -> 3838 bytes .../arabxetex/arabtex-fdf2alif-maghribi-voc.map | 476 +++++ .../arabxetex/arabtex-fdf2alif-malay-fullvoc.map | 485 +++++ .../arabxetex/arabtex-fdf2alif-malay-novoc.map | 470 +++++ .../arabxetex/arabtex-fdf2alif-malay-novoc.tec | Bin 3985 -> 4053 bytes .../arabxetex/arabtex-fdf2alif-malay-voc.map | 480 +++++ .../arabxetex/arabtex-fdf2alif-novoc.map | 465 +++++ .../arabxetex/arabtex-fdf2alif-novoc.tec | Bin 3771 -> 3828 bytes .../arabxetex/arabtex-fdf2alif-pashto-fullvoc.map | 491 +++++ .../arabxetex/arabtex-fdf2alif-pashto-novoc.map | 476 +++++ .../arabxetex/arabtex-fdf2alif-pashto-novoc.tec | Bin 4046 -> 4099 bytes .../arabxetex/arabtex-fdf2alif-pashto-voc.map | 486 +++++ .../arabxetex/arabtex-fdf2alif-sindhi-fullvoc.map | 461 +++++ .../arabxetex/arabtex-fdf2alif-sindhi-fullvoc.tec | Bin 4833 -> 4872 bytes .../arabxetex/arabtex-fdf2alif-sindhi-novoc.map | 446 +++++ .../arabxetex/arabtex-fdf2alif-sindhi-novoc.tec | Bin 3790 -> 3890 bytes .../arabxetex/arabtex-fdf2alif-sindhi-voc.map | 456 +++++ .../arabxetex/arabtex-fdf2alif-sindhi-voc.tec | Bin 3874 -> 3916 bytes .../arabxetex/arabtex-fdf2alif-turk-fullvoc.map | 485 +++++ .../arabxetex/arabtex-fdf2alif-turk-novoc.map | 470 +++++ .../arabxetex/arabtex-fdf2alif-turk-novoc.tec | Bin 3953 -> 4017 bytes .../arabxetex/arabtex-fdf2alif-turk-voc.map | 480 +++++ .../arabxetex/arabtex-fdf2alif-uighur.map | 277 +++ .../arabxetex/arabtex-fdf2alif-urdu-fullvoc.map | 499 +++++ .../arabxetex/arabtex-fdf2alif-urdu-fullvoc.tec | Bin 5127 -> 5120 bytes .../arabxetex/arabtex-fdf2alif-urdu-novoc.map | 484 +++++ .../arabxetex/arabtex-fdf2alif-urdu-novoc.tec | Bin 4089 -> 4171 bytes .../arabxetex/arabtex-fdf2alif-urdu-voc.map | 494 +++++ .../arabxetex/arabtex-fdf2alif-urdu-voc.tec | Bin 4167 -> 4181 bytes .../fontmapping/arabxetex/arabtex-fdf2alif-voc.map | 476 +++++ .../arabxetex/arabtex-fdf2noalif-farsi-fullvoc.map | 495 +++++ .../arabxetex/arabtex-fdf2noalif-farsi-novoc.map | 480 +++++ .../arabxetex/arabtex-fdf2noalif-farsi-novoc.tec | Bin 4114 -> 4170 bytes .../arabxetex/arabtex-fdf2noalif-farsi-voc.map | 490 +++++ .../arabxetex/arabtex-fdf2noalif-fullvoc.map | 482 +++++ .../arabxetex/arabtex-fdf2noalif-fullvoc.tec | Bin 4781 -> 4799 bytes .../arabtex-fdf2noalif-kashmiri-fullvoc.map | 513 +++++ .../arabtex-fdf2noalif-kashmiri-novoc.map | 498 +++++ .../arabtex-fdf2noalif-kashmiri-novoc.tec | Bin 4272 -> 4324 bytes .../arabxetex/arabtex-fdf2noalif-kashmiri-voc.map | 508 +++++ .../arabxetex/arabtex-fdf2noalif-kurdish.map | 290 +++ .../arabtex-fdf2noalif-maghribi-fullvoc.map | 482 +++++ .../arabtex-fdf2noalif-maghribi-fullvoc.tec | Bin 4792 -> 4813 bytes .../arabtex-fdf2noalif-maghribi-novoc.map | 465 +++++ .../arabtex-fdf2noalif-maghribi-novoc.tec | Bin 3780 -> 3832 bytes .../arabxetex/arabtex-fdf2noalif-maghribi-voc.map | 476 +++++ .../arabxetex/arabtex-fdf2noalif-malay-fullvoc.map | 485 +++++ .../arabxetex/arabtex-fdf2noalif-malay-novoc.map | 470 +++++ .../arabxetex/arabtex-fdf2noalif-malay-novoc.tec | Bin 3999 -> 4066 bytes .../arabxetex/arabtex-fdf2noalif-malay-voc.map | 480 +++++ .../arabxetex/arabtex-fdf2noalif-novoc.map | 465 +++++ .../arabxetex/arabtex-fdf2noalif-novoc.tec | Bin 3774 -> 3826 bytes .../arabtex-fdf2noalif-pashto-fullvoc.map | 491 +++++ .../arabxetex/arabtex-fdf2noalif-pashto-novoc.map | 476 +++++ .../arabxetex/arabtex-fdf2noalif-pashto-novoc.tec | Bin 4046 -> 4100 bytes .../arabxetex/arabtex-fdf2noalif-pashto-voc.map | 486 +++++ .../arabtex-fdf2noalif-sindhi-fullvoc.map | 461 +++++ .../arabtex-fdf2noalif-sindhi-fullvoc.tec | Bin 4830 -> 4862 bytes .../arabxetex/arabtex-fdf2noalif-sindhi-novoc.map | 446 +++++ .../arabxetex/arabtex-fdf2noalif-sindhi-novoc.tec | Bin 3784 -> 3892 bytes .../arabxetex/arabtex-fdf2noalif-sindhi-voc.map | 456 +++++ .../arabxetex/arabtex-fdf2noalif-sindhi-voc.tec | Bin 3870 -> 3897 bytes .../arabxetex/arabtex-fdf2noalif-turk-fullvoc.map | 485 +++++ .../arabxetex/arabtex-fdf2noalif-turk-novoc.map | 470 +++++ .../arabxetex/arabtex-fdf2noalif-turk-novoc.tec | Bin 3969 -> 4027 bytes .../arabxetex/arabtex-fdf2noalif-turk-voc.map | 480 +++++ .../arabxetex/arabtex-fdf2noalif-uighur.map | 277 +++ .../arabxetex/arabtex-fdf2noalif-urdu-fullvoc.map | 499 +++++ .../arabxetex/arabtex-fdf2noalif-urdu-fullvoc.tec | Bin 5130 -> 5126 bytes .../arabxetex/arabtex-fdf2noalif-urdu-novoc.map | 484 +++++ .../arabxetex/arabtex-fdf2noalif-urdu-novoc.tec | Bin 4085 -> 4169 bytes .../arabxetex/arabtex-fdf2noalif-urdu-voc.map | 494 +++++ .../arabxetex/arabtex-fdf2noalif-urdu-voc.tec | Bin 4185 -> 4207 bytes .../arabxetex/arabtex-fdf2noalif-voc.map | 476 +++++ .../fontmapping/arabxetex/arabtex-trans-dmg.map | 17 +- .../fontmapping/arabxetex/arabtex-trans-dmg.tec | Bin 3425 -> 3390 bytes .../fontmapping/arabxetex/arabtex-trans-loc.map | 12 - .../xetex/fontmapping/arabxetex/farsidigits.map | 16 + .../xetex/fontmapping/arabxetex/fixlamalif.map | 12 + .../xetex/fontmapping/arabxetex/fixlamalif.tec | Bin 0 -> 258 bytes .../xetex/fontmapping/arabxetex/mirrorpunct.map | 9 + .../xetex/fontmapping/arabxetex/mirrorpunct.tec | Bin 0 -> 183 bytes .../xelatex/arabxetex/arabtex-farsi-trans-loc.map | 176 ++ .../source/xelatex/arabxetex/arabtex-kurdish.maps | 294 +++ .../xelatex/arabxetex/arabtex-pashto-trans-loc.map | 174 ++ .../xelatex/arabxetex/arabtex-sindhi-trans-loc.map | 176 ++ .../source/xelatex/arabxetex/arabtex-trans-dmg.map | 191 ++ .../source/xelatex/arabxetex/arabtex-trans-loc.map | 184 ++ .../source/xelatex/arabxetex/arabtex-uighur.maps | 281 +++ .../xelatex/arabxetex/arabtex-urdu-trans-loc.map | 180 ++ .../source/xelatex/arabxetex/arabtex.maps | 785 ++++++++ .../source/xelatex/arabxetex/arabxetex.dtx | 2026 +++++++++++++++++++ .../source/xelatex/arabxetex/makemaps.pl | 1117 +++++++++++ Master/texmf-dist/tex/xelatex/arabxetex.sty | 499 +++++ .../texmf-dist/tex/xelatex/arabxetex/arabxetex.sty | 497 ----- Master/tlpkg/libexec/ctan2tds | 2 +- 126 files changed, 33504 insertions(+), 5284 deletions(-) delete mode 100644 Master/texmf-dist/doc/xelatex/arabxetex/arabtex-kurdish.maps delete mode 100644 Master/texmf-dist/doc/xelatex/arabxetex/arabtex-uighur.maps delete mode 100644 Master/texmf-dist/doc/xelatex/arabxetex/arabtex.maps delete mode 100644 Master/texmf-dist/doc/xelatex/arabxetex/arabxetex.dtx delete mode 100644 Master/texmf-dist/doc/xelatex/arabxetex/ednotes_example.pdf delete mode 100644 Master/texmf-dist/doc/xelatex/arabxetex/ednotes_example.tex create mode 100644 Master/texmf-dist/doc/xelatex/arabxetex/examples/ednotes_example.pdf create mode 100644 Master/texmf-dist/doc/xelatex/arabxetex/examples/ednotes_example.tex create mode 100644 Master/texmf-dist/doc/xelatex/arabxetex/examples/minimal.tex delete mode 100644 Master/texmf-dist/doc/xelatex/arabxetex/makemaps.pl delete mode 100644 Master/texmf-dist/doc/xelatex/arabxetex/minimal.tex delete mode 100644 Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabic-novowels.tec create mode 100644 Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabicdigits.map delete mode 100644 Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabicfixes.tec create mode 100644 Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-farsi-fullvoc.map create mode 100644 Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-farsi-novoc.map create mode 100644 Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-farsi-voc.map create mode 100644 Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-fullvoc.map create mode 100644 Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-kashmiri-fullvoc.map create mode 100644 Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-kashmiri-novoc.map create mode 100644 Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-kashmiri-voc.map create mode 100644 Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-kurdish.map create mode 100644 Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-maghribi-fullvoc.map create mode 100644 Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-maghribi-novoc.map create mode 100644 Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-maghribi-voc.map create mode 100644 Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-malay-fullvoc.map create mode 100644 Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-malay-novoc.map create mode 100644 Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-malay-voc.map create mode 100644 Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-novoc.map create mode 100644 Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-pashto-fullvoc.map create mode 100644 Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-pashto-novoc.map create mode 100644 Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-pashto-voc.map create mode 100644 Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-sindhi-fullvoc.map create mode 100644 Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-sindhi-novoc.map create mode 100644 Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-sindhi-voc.map create mode 100644 Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-turk-fullvoc.map create mode 100644 Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-turk-novoc.map create mode 100644 Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-turk-voc.map create mode 100644 Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-uighur.map create mode 100644 Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-urdu-fullvoc.map create mode 100644 Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-urdu-novoc.map create mode 100644 Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-urdu-voc.map create mode 100644 Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-voc.map create mode 100644 Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-farsi-fullvoc.map create mode 100644 Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-farsi-novoc.map create mode 100644 Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-farsi-voc.map create mode 100644 Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-fullvoc.map create mode 100644 Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-kashmiri-fullvoc.map create mode 100644 Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-kashmiri-novoc.map create mode 100644 Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-kashmiri-voc.map create mode 100644 Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-kurdish.map create mode 100644 Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-maghribi-fullvoc.map create mode 100644 Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-maghribi-novoc.map create mode 100644 Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-maghribi-voc.map create mode 100644 Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-malay-fullvoc.map create mode 100644 Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-malay-novoc.map create mode 100644 Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-malay-voc.map create mode 100644 Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-novoc.map create mode 100644 Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-pashto-fullvoc.map create mode 100644 Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-pashto-novoc.map create mode 100644 Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-pashto-voc.map create mode 100644 Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-sindhi-fullvoc.map create mode 100644 Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-sindhi-novoc.map create mode 100644 Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-sindhi-voc.map create mode 100644 Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-turk-fullvoc.map create mode 100644 Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-turk-novoc.map create mode 100644 Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-turk-voc.map create mode 100644 Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-uighur.map create mode 100644 Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-urdu-fullvoc.map create mode 100644 Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-urdu-novoc.map create mode 100644 Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-urdu-voc.map create mode 100644 Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-voc.map create mode 100644 Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/farsidigits.map create mode 100644 Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/fixlamalif.map create mode 100644 Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/fixlamalif.tec create mode 100644 Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/mirrorpunct.map create mode 100644 Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/mirrorpunct.tec create mode 100644 Master/texmf-dist/source/xelatex/arabxetex/arabtex-farsi-trans-loc.map create mode 100644 Master/texmf-dist/source/xelatex/arabxetex/arabtex-kurdish.maps create mode 100644 Master/texmf-dist/source/xelatex/arabxetex/arabtex-pashto-trans-loc.map create mode 100644 Master/texmf-dist/source/xelatex/arabxetex/arabtex-sindhi-trans-loc.map create mode 100644 Master/texmf-dist/source/xelatex/arabxetex/arabtex-trans-dmg.map create mode 100644 Master/texmf-dist/source/xelatex/arabxetex/arabtex-trans-loc.map create mode 100644 Master/texmf-dist/source/xelatex/arabxetex/arabtex-uighur.maps create mode 100644 Master/texmf-dist/source/xelatex/arabxetex/arabtex-urdu-trans-loc.map create mode 100644 Master/texmf-dist/source/xelatex/arabxetex/arabtex.maps create mode 100644 Master/texmf-dist/source/xelatex/arabxetex/arabxetex.dtx create mode 100755 Master/texmf-dist/source/xelatex/arabxetex/makemaps.pl create mode 100644 Master/texmf-dist/tex/xelatex/arabxetex.sty delete mode 100644 Master/texmf-dist/tex/xelatex/arabxetex/arabxetex.sty (limited to 'Master') diff --git a/Master/texmf-dist/doc/xelatex/arabxetex/README b/Master/texmf-dist/doc/xelatex/arabxetex/README index 5a0b68f143f..06ad3a8c06f 100644 --- a/Master/texmf-dist/doc/xelatex/arabxetex/README +++ b/Master/texmf-dist/doc/xelatex/arabxetex/README @@ -1,5 +1,5 @@ -------------------------- -THE ARABXETEX PACKAGE v1.1.2 +THE ARABXETEX PACKAGE v1.1.4 This package provides a convenient ArabTeX-like user-interface for typesetting languages using the Arabic script in XeLaTeX, with flexible access to font @@ -14,4 +14,4 @@ The TECkit fontmapping files (*.map and *.tec) should be copied to ------------------------- François Charette -2007-2008 +© 2007–2010 diff --git a/Master/texmf-dist/doc/xelatex/arabxetex/arabtex-kurdish.maps b/Master/texmf-dist/doc/xelatex/arabxetex/arabtex-kurdish.maps deleted file mode 100644 index 75e4da0ebd0..00000000000 --- a/Master/texmf-dist/doc/xelatex/arabxetex/arabtex-kurdish.maps +++ /dev/null @@ -1,294 +0,0 @@ -LHSName "ArabTeX-Kurdish" -RHSName "UNICODE" - -Define a U+0061 ;a -Define b U+0062 ;b -Define c U+0063 ;c -Define d U+0064 ;d -Define e U+0065 ;e -Define f U+0066 ;f -Define g U+0067 ;g -Define h U+0068 ;h -Define i U+0069 ;i -Define j U+006A ;j -Define k U+006B ;k -Define l U+006C ;l -Define m U+006D ;m -Define n U+006E ;n -Define o U+006F ;o -Define p U+0070 ;p -Define q U+0071 ;q -Define r U+0072 ;r -Define s U+0073 ;s -Define t U+0074 ;t -Define u U+0075 ;u -Define v U+0076 ;v -Define w U+0077 ;w -Define x U+0078 ;x -Define y U+0079 ;y -Define z U+007A ;z -Define A U+0041 ;A -Define B U+0042 ;B -Define E U+0045 ;E -Define G U+0047 ;G -Define I U+0049 ;I -Define N U+004E ;N -Define O U+004F ;O -Define T U+0054 ;T -Define U U+0055 ;U -Define Y U+0059 ;Y -Define C U+005E ;^ << CARET -Define UL U+005F ;_ << UNDERLINE -Define P U+002E ;. << DOT -Define V U+002C ;, << COMMA (_V_irgule) -Define CO U+003A ;: << COLON -Define Ain U+0060 ;` -Define H U+0027 ;' << HAMZA -Define Q U+0022 ;" << QUOTE -Define Z U+002D ;- << HYPHEN -Define BAR U+007C ;| -Define LLAH U+006C U+006C U+005F U+0061 U+0068 - -pass(Unicode) - -Class [Digits] = (U+0030..U+0039) -Class [ArDigits] = (U+0660..U+0669) - - -; special ligatures -;; 1. Standard ArabTeX input -;; WARNING! there are, alas, two classes of Arabic fonts: -;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 -;; For these the ligature llah can be accessed by the sequence lam-lam-ha -;; b) Those that do not have the initial alif in U+FDF2 -#0 (a|A) l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' -#1 (a|A) l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' -#0 LLAH > U+FDF2 ;; 'll_ah' > U+FDF2 -#1 LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h' -;; UPPERCASE mnemonics for various ligatures or special glyphs -;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode -U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' -U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic -;; 2b. Ligatures and glyphs defined in Unicode: -#0 U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH' -#1 U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH' -#0 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH' -#1 U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH' - -U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam -U+0028 U+0028 > U+FD3F ;; '((' : ornate right par -U+0029 U+0029 > U+FD3E ;; '))' : ornate left par -U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign -;; most fonts won't have the following ones: -U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) -U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign -U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' -U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' -U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' -U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL)' -U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE)' -U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' -U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' -U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" -U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik - -U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY -U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY -U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- -U+005E U+004C U+0041 > U+06D9 ;; ^LA -U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM -U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS -U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN -U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB -U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO -U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO -U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM -U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM -U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN -U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA -U+0057 U+0041 U+0057 > U+06E5 ;; WAW -U+0059 U+0045 U+0048 > U+06E6 ;; YEH -U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH -U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN -U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA -U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP -U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP -U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP -U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM - -U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") - -;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts -U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] - - -; vowels - -E / # _ > U+0626 U+06CE -E > U+06CE -e / # _ > U+0626 U+0647 U+200C ; h always final -e > U+0647 U+200C -i / # _ > U+0626 -Q i > U+0650 -i > ; -Q I / # _ > U+0626 U+064A U+0650 -Q I > U+064A U+0650 -I / # _ > U+0626 U+064A -I > U+064A -(a|A) / # _ > U+0626 U+0627 -(a|A) > U+0627 -(o|O) / # _ > U+0626 U+06C6 -(o|O) > U+06C6 -u / # _ > U+0626 U+0648 -u > U+0648 -U / # _ > U+0626 U+0648 U+0648 -U > U+0648 U+0648 -Ain e > U+0639 U+0647 U+200C - - -P z P z > U+0638 U+0651 ;;SHADDA -P z > U+0638 -C z C z > U+0698 U+0651 ;;SHADDA -C z > U+0698 -V z V z > U+0696 U+0651 ;pashto ;;SHADDA -V z > U+0696 ;pashto -z z > U+0632 U+0651 ;;SHADDA -z > U+0632 -Y Y > U+0649 U+0651 ;;SHADDA -Y > U+0649 -w w > U+0648 U+0651 ;;SHADDA -w > U+0648 -y y > U+064A U+0651 ;;SHADDA -y > U+064A -v v > U+06A4 U+0651 ;;SHADDA -v > U+06A4 -V t V t > U+0679 U+0651 ; urdu ;;SHADDA -V t > U+0679 -UL t UL t > U+062B U+0651 ;;SHADDA -UL t > U+062B -P t P t > U+0637 U+0651 ;;SHADDA -P t > U+0637 -t t > U+062A U+0651 ;;SHADDA -t > U+062A -T T > U+0629 U+0651 ;;SHADDA -T > U+0629 -(C|V) s (C|V) s > U+0634 U+0651 ;;SHADDA -(C|V) s > U+0634 -P s P s > U+0635 U+0651 ;;SHADDA -P s > U+0635 -CO s CO s > U+069B U+0651 -CO s > U+069B ; sin with 3 dots below -s s > U+0633 U+0651 ;;SHADDA -s > U+0633 -;; also missing U+0694 : r with dot below -V r V r > U+0694 U+0651 ;Kurdish ;;SHADDA -V r > U+0694 -C r C r > U+0692 U+0651 ;Kurdish ;;SHADDA ; missing in ArabTeX <<< -C r > U+0692 -P r P r > U+0695 U+0651 ;Kurdish ;;SHADDA -P r > U+0695 -r r > U+0631 U+0651 ;;SHADDA -r > U+0631 -P q P q > U+066F U+0651 ;;SHADDA -P q > U+066F -q q > U+0642 U+0651 ;;SHADDA -q > U+0642 -p p > U+067E U+0651 ;;SHADDA -p > U+067E -C n C n > U+06AD U+0651 ;;SHADDA -C n > U+06AD -P n P n > U+06BA U+0651 ; urdu ;;SHADDA -P n > U+06BA ; -V n V n > U+06BC U+0651 ; Pashto -V n > U+06BC ; Pashto -n n > U+0646 U+0651 ;;SHADDA -n > U+0646 -m m > U+0645 U+0651 ;;SHADDA -m > U+0645 -P l P l > U+06B6 U+0651 ; -P l > U+06B6 ; ADDED <<< -C l C l > U+06B5 U+0651 ;kurdish ;;SHADDA -C l > U+06B5 -l l > U+0644 U+0651 ;;SHADDA -l > U+0644 -P k P k > U+06A9 U+0651 ; pashto urdu ;;SHADDA -P k > U+06A9 -UL k UL k > U+063A U+0651 ;;SHADDA -UL k > U+063A -k k > U+0643 U+0651 ;;SHADDA -k > U+0643 -c c > U+062C U+0651 ;;SHADDA -c > U+062C -x x > U+062E U+0651 ;;SHADDA -x > U+062E -j j > U+0698 U+0651 ;;SHADDA -j > U+0698 -UL h UL h > U+062E U+0651 ;;SHADDA -UL h > U+062E -P h P h > U+062D U+0651 ;;SHADDA -P h > U+062D -V h V h > U+06C1 U+0651 -V h > U+06C1 -h h > U+200C U+06BE U+0651 ;;SHADDA -h > U+200C U+06BE ; h always initial form -V g V g > U+06AC U+0651 ;;SHADDA -V g > U+06AC ; kaf with dot above -P (g|x) P (g|x) > U+063A U+0651 ;;SHADDA -P (g|x) > U+063A -C g C g > U+063A U+0651 ;;SHADDA -C g > U+063A -g g > U+06AF U+0651 ;;SHADDA -g > U+06AF -G G > U+06AB U+0651 ;pashto ;;SHADDA -G > U+06AB ;pashto -P f P f > U+06A1 U+0651 ;;SHADDA -P f > U+06A1 -f f > U+0641 U+0651 ;;SHADDA -f > U+0641 -V d V d > U+0688 U+0651 ;urdu ;;SHADDA -V d > U+0688 ;urdu -C d C d > U+06EE ; not defined in ArabTeX U+0651 ;;SHADDA -C d > U+06EE ; not defined in ArabTeX -UL d UL d > U+0630 U+0651 ;;SHADDA -UL d > U+0630 -P d P d > U+0636 U+0651 ;;SHADDA -P d > U+0636 -d d > U+062F U+0651 ;;SHADDA -d > U+062F -(C|V) c (C|V) c > U+0686 U+0651 ;;SHADDA -(C|V) c > U+0686 -P b P b > U+066E U+0651 ;;SHADDA -P b > U+066E -b b > U+0628 U+0651 ;;SHADDA -b > U+0628 -Ain Ain > U+0639 U+0651 ;;SHADDA -Ain > U+0639 -H > U+0626 -U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma -Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash -(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks -[Digits] > [ArDigits] -Z Z Z / # _ # > U+2014 -Z Z / # _ # > U+2013 -Z Z > U+0640 -B > U+0640 -Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" -Z / _ # > U+200D ; x- > force final form -U+003C U+003C > U+00BB ;<< -U+003E U+003E > U+00AB ;>> -U+00AB > U+00BB -U+00BB > U+00AB -UL > U+0640 ;_ -U+003F > U+061F ;? -U+003B > U+061B ;; -U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... -U+002C > U+060C ;, -U+005D / . _ . > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... -U+005B / . _ . > U+200D U+005B U+200D ; ... (but of course this screws up contextual analysis, so quoting of hamzas etc may be necessary) -Q > ; -N > ; -C > ;^ -Z > ;- -BAR > ;| - - diff --git a/Master/texmf-dist/doc/xelatex/arabxetex/arabtex-uighur.maps b/Master/texmf-dist/doc/xelatex/arabxetex/arabtex-uighur.maps deleted file mode 100644 index 27da35ca0d2..00000000000 --- a/Master/texmf-dist/doc/xelatex/arabxetex/arabtex-uighur.maps +++ /dev/null @@ -1,281 +0,0 @@ -LHSName "ArabTeX-Uighur" -RHSName "UNICODE" - -Define a U+0061 ;a -Define b U+0062 ;b -Define c U+0063 ;c -Define d U+0064 ;d -Define e U+0065 ;e -Define f U+0066 ;f -Define g U+0067 ;g -Define h U+0068 ;h -Define i U+0069 ;i -Define j U+006A ;j -Define k U+006B ;k -Define l U+006C ;l -Define m U+006D ;m -Define n U+006E ;n -Define o U+006F ;o -Define p U+0070 ;p -Define q U+0071 ;q -Define r U+0072 ;r -Define s U+0073 ;s -Define t U+0074 ;t -Define u U+0075 ;u -Define v U+0076 ;v -Define w U+0077 ;w -Define x U+0078 ;x -Define y U+0079 ;y -Define z U+007A ;z -Define A U+0041 ;A -Define B U+0042 ;B -Define E U+0045 ;E -Define G U+0047 ;G -Define I U+0049 ;I -Define N U+004E ;N -Define O U+004F ;O -Define T U+0054 ;T -Define U U+0055 ;U -Define Y U+0059 ;Y -Define C U+005E ;^ << CARET -Define UL U+005F ;_ << UNDERLINE -Define P U+002E ;. << DOT -Define V U+002C ;, << COMMA (_V_irgule) -Define CO U+003A ;: << COLON -Define Ain U+0060 ;` -Define H U+0027 ;' << HAMZA -Define Q U+0022 ;" << QUOTE -Define Z U+002D ;- << HYPHEN -Define BAR U+007C ;| -Define LLAH U+006C U+006C U+005F U+0061 U+0068 - -pass(Unicode) - -Class [Digits] = (U+0030..U+0039) -Class [ArDigits] = (U+0660..U+0669) - - -; special ligatures -;; 1. Standard ArabTeX input -;; WARNING! there are, alas, two classes of Arabic fonts: -;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 -;; For these the ligature llah can be accessed by the sequence lam-lam-ha -;; b) Those that do not have the initial alif in U+FDF2 -#0 (a|A) l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' -#1 (a|A) l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' -#0 LLAH > U+FDF2 ;; 'll_ah' > U+FDF2 -#1 LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h' -;; UPPERCASE mnemonics for various ligatures or special glyphs -;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode -U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' -U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic -;; 2b. Ligatures and glyphs defined in Unicode: -#0 U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH' -#1 U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH' -#0 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH' -#1 U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH' - -U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam -U+0028 U+0028 > U+FD3F ;; '((' : ornate right par -U+0029 U+0029 > U+FD3E ;; '))' : ornate left par -U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign -;; most fonts won't have the following ones: -U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) -U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign -U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' -U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' -U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' -U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL)' -U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE)' -U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' -U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' -U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" -U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik - -U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY -U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY -U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM -U+005E U+004C U+0041 > U+06D9 ;; ^LA -U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM -U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS -U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN -U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB -U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO -U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO -U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA - -U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") - -;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts -U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] - - -; vowels - -a / # _ > U+0626 U+0627 -a > U+0627 -(CO a|U+00E4) / # _ > U+0626 U+0647 U+200C -(CO a|U+00E4) > U+0647 U+200C -o / # _ > U+0626 U+0648 ; -o > U+0648 ; -(CO o|U+00F6) / # _ > U+0626 U+06C6 -(CO o|U+00F6) > U+06C6 -i / # _ # > U+0626 U+0649 -i / # _ > U+0626 U+066E -i / _ # > U+0649 -i > U+066E -e / # _ > U+0626 U+06D0 -e > U+06D0 -u / # _ > U+0626 U+06C7 ; -u > U+06C7 ; -(CO u|U+00FC) / # _ > U+0626 U+06C8 ; -(CO u|U+00FC) > U+06C8 ; -l Q a > U+0644 U+064E U+0627 ; -l a > U+0644 U+0627 ; - -P z P z > U+0638 U+0651 ;;SHADDA -P z > U+0638 -C z C z > U+0698 U+0651 ;;SHADDA -C z > U+0698 -V z V z > U+0696 U+0651 ;pashto ;;SHADDA -V z > U+0696 ;pashto -z z > U+0632 U+0651 ;;SHADDA -z > U+0632 -Y Y > U+0649 U+0651 ;;SHADDA -Y > U+0649 -w w > U+06CB U+0651 ;;SHADDA -w > U+06CB -y y > U+064A U+0651 ;;SHADDA -y > U+064A -v v > U+06A4 U+0651 ;;SHADDA -v > U+06A4 -V t V t > U+0679 U+0651 ; urdu ;;SHADDA -V t > U+0679 -UL t UL t > U+062B U+0651 ;;SHADDA -UL t > U+062B -P t P t > U+0637 U+0651 ;;SHADDA -P t > U+0637 -t t > U+062A U+0651 ;;SHADDA -t > U+062A -T T > U+0629 U+0651 ;;SHADDA -T > U+0629 -C s C s > U+0634 U+0651 ;;SHADDA -C s > U+0634 -P s P s > U+0635 U+0651 ;;SHADDA -P s > U+0635 -V s V s > U+069A U+0651 ;Pashto ;;SHADDA -V s > U+069A ;Pashto -CO s > U+069B ; sin with 3 dots below -s s > U+0633 U+0651 ;;SHADDA -s > U+0633 -C r C r > U+0692 U+0651 ;Kurdish ;;SHADDA ; missing in ArabTeX <<< -C r > U+0692 -P r P r > U+0695 U+0651 ;Kurdish ;;SHADDA -P r > U+0695 -V r V r > U+0691 U+0651 ;Urdu ;;SHADDA -V r > U+0691 ;Urdu -r r > U+0631 U+0651 ;;SHADDA -r > U+0631 -P q P q > U+066F U+0651 ;;SHADDA -P q > U+066F -q q > U+0642 U+0651 ;;SHADDA -q > U+0642 -p p > U+067E U+0651 ;;SHADDA -p > U+067E -C n C n > U+06AD U+0651 ;;SHADDA -C n > U+06AD -P n P n > U+06BA U+0651 ; urdu ;;SHADDA -P n > U+06BA ; -V n V n > U+06BC U+0651 ; Pashto -V n > U+06BC ; Pashto -n n > U+0646 U+0651 ;;SHADDA -n > U+0646 -m m > U+0645 U+0651 ;;SHADDA -m > U+0645 -C l C l > U+06B5 U+0651 ;kurdish ;;SHADDA -C l > U+06B5 -l l > U+0644 U+0651 ;;SHADDA -l > U+0644 -P k P k > U+06A9 U+0651 ; pashto urdu ;;SHADDA -P k > U+06A9 -UL k UL k > U+063A U+0651 ;;SHADDA -UL k > U+063A -k k > U+0643 U+0651 ;;SHADDA -k > U+0643 -j j > U+062C U+0651 ;;SHADDA -j > U+062C -x x > U+062E U+0651 ;;SHADDA -x > U+062E -UL h UL h > U+062E U+0651 ;;SHADDA -UL h > U+062E -P h P h > U+062D U+0651 ;;SHADDA -P h > U+062D -V h V h > U+06C1 U+0651 -V h > U+06C1 -h h > U+0647 U+0651 ;;SHADDA -h > U+0647 -V g V g > U+06AC U+0651 ;;SHADDA -V g > U+06AC ; kaf with dot above -P g P g > U+063A U+0651 ;;SHADDA -P g > U+063A -C g C g > U+063A U+0651 ;;SHADDA -C g > U+063A -g g > U+06AF U+0651 ;;SHADDA -g > U+06AF -G G > U+06AB U+0651 ;pashto ;;SHADDA -G > U+06AB ;pashto -P f P f > U+06A1 U+0651 ;;SHADDA -P f > U+06A1 -f f > U+0641 U+0651 ;;SHADDA -f > U+0641 -V d V d > U+0688 U+0651 ;urdu ;;SHADDA -V d > U+0688 ;urdu -C d C d > U+06EE ; not defined in ArabTeX U+0651 ;;SHADDA -C d > U+06EE ; not defined in ArabTeX -UL d UL d > U+0630 U+0651 ;;SHADDA -UL d > U+0630 -P d P d > U+0636 U+0651 ;;SHADDA -P d > U+0636 -d d > U+062F U+0651 ;;SHADDA -d > U+062F -V c V c > U+0685 U+0651 ;pashto ;;SHADDA -V c > U+0685 -C c C c > U+0686 U+0651 ;;SHADDA -C c > U+0686 -c c > U+0681 U+0651 -c > U+0681 ; ح with hamza above -P b P b > U+066E U+0651 ;;SHADDA -P b > U+066E -b b > U+0628 U+0651 ;;SHADDA -b > U+0628 -Ain Ain > U+0639 U+0651 ;;SHADDA -Ain > U+0639 -H > U+0626 -U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma -Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash -(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks -[Digits] > [ArDigits] -Z Z Z / # _ # > U+2014 -Z Z / # _ # > U+2013 -Z Z > U+0640 -B > U+0640 -Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" -Z / _ # > U+200D ; x- > force final form -U+003C U+003C > U+00BB ;<< -U+003E U+003E > U+00AB ;>> -U+00AB > U+00BB -U+00BB > U+00AB -UL > U+0640 ;_ -U+003F > U+061F ;? -U+003B > U+061B ;; -U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... -U+002C > U+060C ;, -U+005D / . _ . > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... -U+005B / . _ . > U+200D U+005B U+200D ; ... (but of course this screws up contextual analysis, so quoting of hamzas etc may be necessary) -Q > ; -N > ; -C > ;^ -Z > ;- -BAR > ;| - - diff --git a/Master/texmf-dist/doc/xelatex/arabxetex/arabtex.maps b/Master/texmf-dist/doc/xelatex/arabxetex/arabtex.maps deleted file mode 100644 index a71c56292f8..00000000000 --- a/Master/texmf-dist/doc/xelatex/arabxetex/arabtex.maps +++ /dev/null @@ -1,780 +0,0 @@ -## This is the master file to generate the TECkit ArabTeX font mappings -## for use with XeTeX -## The mappings are generated with a simple sed script -## -## Conventions used: -## --------------------------------------------------------------------------------- -## Lines starting with ## are comments that don't appear in the map files -## -## Lines that don't begin with # are common to all mappings -## Otherwise the letters following '#' indicate specific mappings -## according to vocalization modes and languages -## #...n -> non-vocalized -## #...v -> vocalized and fully voc. -## #...f -> fully voc. -## @v -> voc only -## The language codes are: -## A -> Arabic -# B -> Maghribi Arabic -## P -> Persian -## U -> Urdu -## T -> Pashto -## S -> Sindhi -## K -> Kashmiri -## O -> Ottoman Turkish -## M -> Malay -## KURDISH AND UIGHUR ARE CODED SEPARATELY <<< -## The above can be negated with #-[APUTSKOM] -## Lines starting with '@[AP...][nvf]' are specific to the mapping -## indicated by the two-letter key, following the conventions above -## ---------------------------------------------------------------------------------- -@An LHSName "ArabTeX-novowels" -@Av LHSName "ArabTeX-vocalized" -@Af LHSName "ArabTeX-fullvocalized" -@Bn LHSName "ArabTeX-maghribi-novowels" -@Bv LHSName "ArabTeX-maghribi-vocalized" -@Bf LHSName "ArabTeX-maghribi-fullvocalized" -@Pn LHSName "ArabTeX-farsi-novowels" -@Pv LHSName "ArabTeX-farsi-vocalized" -@Pf LHSName "ArabTeX-farsi-fullvocalized" -@Un LHSName "ArabTeX-urdu-novowels" -@Uv LHSName "ArabTeX-urdu-vocalized" -@Uf LHSName "ArabTeX-urdu-fullvocalized" -@Sn LHSName "ArabTeX-sindhi-novowels" -@Sv LHSName "ArabTeX-sindhi-vocalized" -@Sf LHSName "ArabTeX-sindhi-fullvocalized" -@Kn LHSName "ArabTeX-kashmiri-novowels" -@Kv LHSName "ArabTeX-kashmiri-vocalized" -@Kf LHSName "ArabTeX-kashmiri-fullvocalized" -@Tn LHSName "ArabTeX-pashto-novowels" -@Tv LHSName "ArabTeX-pashto-vocalized" -@Tf LHSName "ArabTeX-pashto-fullvocalized" -## @Kn LHSName "ArabTeX-kurdish-novowels" -## @Kv LHSName "ArabTeX-kurdish-vocalized" -## @Kf LHSName "ArabTeX-kurdish-fullvocalized" -@On LHSName "ArabTeX-turk-novowels" -@Ov LHSName "ArabTeX-turk-vocalized" -@Of LHSName "ArabTeX-turk-fullvocalized" -@Mn LHSName "ArabTeX-malay-novowels" -@Mv LHSName "ArabTeX-malay-vocalized" -@Mf LHSName "ArabTeX-malay-fullvocalized" -## @Rn LHSName "ArabTeX-uighur-novowels" -## @Rv LHSName "ArabTeX-uighur-vocalized" -## @Rf LHSName "ArabTeX-uighur-fullvocalized" -## -## -RHSName "UNICODE" - -Define a U+0061 ;a -Define b U+0062 ;b -Define c U+0063 ;c -Define d U+0064 ;d -Define e U+0065 ;e -Define f U+0066 ;f -Define g U+0067 ;g -Define h U+0068 ;h -Define i U+0069 ;i -Define j U+006A ;j -Define k U+006B ;k -Define l U+006C ;l -Define m U+006D ;m -Define n U+006E ;n -Define o U+006F ;o -Define p U+0070 ;p -Define q U+0071 ;q -Define r U+0072 ;r -Define s U+0073 ;s -Define t U+0074 ;t -Define u U+0075 ;u -Define v U+0076 ;v -Define w U+0077 ;w -Define x U+0078 ;x -Define y U+0079 ;y -Define z U+007A ;z -Define A U+0041 ;A -Define B U+0042 ;B -Define E U+0045 ;E -Define G U+0047 ;G -Define I U+0049 ;I -Define N U+004E ;N -Define O U+004F ;O -Define T U+0054 ;T -Define U U+0055 ;U -Define W U+0057 ;W -Define Y U+0059 ;Y -Define C U+005E ;^ << CARET -Define UL U+005F ;_ << UNDERLINE -Define P U+002E ;. << DOT -Define V U+002C ;, << COMMA (_V_irgule) -Define CO U+003A ;: << COLON -Define SC U+003B ;; << SEMICOLON -Define Ain U+0060 ;` -Define H U+0027 ;' << HAMZA -Define Q U+0022 ;" << QUOTE -Define Z U+002D ;- << HYPHEN -Define BAR U+007C ;| -Define AN U+0061 U+004E ; aN -Define LLAH U+006C U+006C U+005F U+0061 U+0068 -;Define NUL U+00A6; -Define Ha U+0623 -Define Hi U+0625 -Define Hy U+0626 -Define Hw U+0624 -Define Hh U+06C0 ;; = U+0647 U+0654 -Define HA U+0622 -Define HB U+0640 U+0654 -Define HBAR U+0621 ; '| - -pass(Unicode) - -U+E000 > ; eliminate special code for capitalization in transliterations - -pass(Unicode) - -Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) -Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` -Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” -Class [PUNCT] = (V SC P CO) -Class [Iy] = (U+0049 U+0079) ;(I y) -Class [Uw] = (U+0055 U+0077) ;(U w) -Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) -;Class [ae] = (U+0061 U+0065) ;(a e) -;Class [ou] = (U+0075 U+006F) ;(u o) -Class [Iyi] = (U+0069 U+0079 U+0049) -Class [UI] = (U+0049 U+0055) ; U I -Class [Digits] = (U+0030..U+0039) - -Define BEG (#|Z|[BRACKETS]) -Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) -Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) - -; special ligatures -;; 1. Standard ArabTeX input -;; WARNING! there are, alas, two classes of Arabic fonts: -;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 -;; For these the ligature llah can be accessed by the sequence lam-lam-ha -;; b) Those that do not have the initial alif in U+FDF2 -;; The BAR is used in the DMG transliteration to suppress the initial A -#0 (a|A) BAR? l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' -#1 (a|A) BAR? l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' -#0 LLAH > U+FDF2 ;; 'll_ah' > U+FDF2 -#1 LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h' -;; UPPERCASE mnemonics for various ligatures or special glyphs -;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode -U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' -U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic -;; 2b. Ligatures and glyphs defined in Unicode: -#0 U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH' -#1 U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH' -#0 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH' -#1 U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH' - -U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam -U+0028 U+0028 > U+FD3F ;; '((' : ornate right par -U+0029 U+0029 > U+FD3E ;; '))' : ornate left par -U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign -;; most fonts won't have the following ones: -U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) -U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign -U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' -U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' -U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' -U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') -U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') -U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' -U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' -U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" -U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik - -U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY -U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY -U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- -U+005E U+004C U+0041 > U+06D9 ;; ^LA -U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM -U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS -U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN -U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB -U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO -U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO -U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM -U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM -U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN -U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA -U+0057 U+0041 U+0057 > U+06E5 ;; WAW -U+0059 U+0045 U+0048 > U+06E6 ;; YEH -U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH -U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN -U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA -U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP -U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP -U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP -U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM - -U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") - -;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts -U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] - - -; vowels -u u > U -i i > I -a a > A -#T a e > a U+0626 -#T E e > U+0659 U+06CD -#T e e > U+0659 U+0626 -#T E > U+0659 U+06D0 -CO O > U+06FC ; -#T O > U+0657 w -#T o > U+0657 -#U H E > U+06D3 ;; hamza + yeh barree -#U E / _ # > U+06D2 -#U E > y -#U a e / _ # > a U+06D2 -#-T a e > a y -a o > a w -#PUK (o|u)? O / # _ > U+0627 w -#PUK (o|u)? O > w -CO U > U+06C7 ; -#-TK e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish) -#T e > U+0659 -#K e / # _ # > U+0627 U+06D2 U+0658 ; Alif + yeh barree + bow accent -#K e / _ # > U+06D2 U+0658 ; yeh barree + bow accent -#K e / # _ > U+0627 y U+0658 ; alif + ya + bow accent -#K e > y U+0658 -#K E / # _ # > U+0627 U+06D2 ; Alif + yeh barree -#K E / _ # > U+06D2 ; yeh barree -#K E / # _ > U+0627 y ; alif + ya -#K E > y -#K o / # _ > U+0627 U+06C6 -#K o > U+06C6 -#-TK o > u -#AP E > I -#A O > U -#K P A > U+0672 -#K P U > U+0673 ; > this is the initial or lone form, but medial and final require wavy hamza below previous letter (not in Unicode)! Perhaps an OT font could solve this :: in Scheherazade the glyph needed is named _wavyHamza <<< -#K P a / # _ > U+0623 -#K P a > U+0654 -#K P u > U+0655 -#K P o / # _ > U+0627 U+06C4 -#K P o > U+06C4 -#K P O / # _ > U+0627 U+06C4 U+0627 U+064E -#K P O > U+06C4 U+0627 U+064E -#K I > y U+0656 -#K I / _ # > y -#K U / _ # > U+0627 w U+0657 -#K U > w U+0657 -#-ASMK I / _ # > i y - - -#-A ;; Persian ezafe (ALL BUT ARABIC AND UIGHUR) -#-A U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<< -#-A U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I -#-A Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e -#-A Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I -#-A Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i -#-A Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i -#-A Z / U+0048 _ > U+0020 ; -#-A 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 -#An H l Z / BEG _ > U+0627 l Z -@Av H l Z / BEG _ > U+0627 l Z -@Bv H l Z / BEG _ > U+0627 l Z -#Af H l Z / BEG _ > U+0671 l Z ; THIS IS NOT AN ARABTEX CONVENTION! it's a work-around coz pattern-matching across word boundaries does not work in teckit , so min al- must be written mina 'l- in fullvocalize mode -#n H / BEG _ l l > U+0627 ; -#v H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI -#n [VWL]=v1 / BEG _ > A @v1 -#v [VWL]=v1 / BEG _ > U+0627 @v1 -#An A / BEG _ > A a -#Av A / BEG _ > U+0627 a -#PU A / BEG _ > HA ;; ADD MORE ? <<< -#n Q?=q1 U / BEG _ > A @q1 u w ; -U -#v Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U -#n ; Q?=q1 I / BEG _ > A @q1 i y ; -I ; but not when I is final FIXME!!! -#v ; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I -#-Pn Q?=q1 I / BEG _ > A @q1 i y ; except for Persian, coz of ezafe rules -#-Pv Q?=q1 I / BEG _ > U+0627 @q1 i y -#Pn Q?=q1 I / BEG _ ^# > A @q1 i y ; -I... -#Pv Q?=q1 I / BEG _ ^# > U+0627 @q1 i y ; -I... -#P Z Q?=qq (I|E) / _ (#|Z) > @qq i y ; -#P UL Q?=q1 U > @q1 U -#P Q?=q1 U / # _ # > U+0627 @q1 u w -#P Q BAR > U+0020; "| to separate compounds >> IN TRANSLIT THIS WILL BE REMOVED - - -;; Words with anomalous orthography: - -; mi'aT -> ماية -;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy -#n m Q i H Q a / _ (T|t) > m Q i A Hy Q a -#n m Q i H a / _ (T|t) > m Q i A Hy -#n m i H Q a / _ (T|t) > m A Hy Q a -#n m i H a / _ (T|t) > m A Hy -#v m Q i H Q a / _ (T|t) > m U+0627 Hy -#v m Q i H a / _ (T|t) > m U+0627 Hy a -#v m i H Q a / _ (T|t) > m i U+0627 Hy -#v m i H a / _ (T|t) > m i U+0627 Hy a - -#-S -#-S ;; contextual analysis of hamzas -#-S ;; THESE DO NOT APPLY FOR SINDHI -#-S -#-S ; initial hamzas -#-S H / (#|^[LTR]) _ Q? [Iyi] > Hi -#-S H Q A / (#|^[LTR]) _ > HA ; alif madda -#-S H / (#|^[LTR]) _ Q? [Uwu] > Ha -#-S H / (#|^[LTR]) _ Q? a > Ha -#-S Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word -#-S -#-S ; quoted hamzas in contextual mode, equivalent to verbatim mode -#-S a Q H > Ha -#-S i Q H > Hi -#-S y Q H > Hy -#-S w Q H > Hw -#-S h Q H > Hh -#-S A Q H > HA -#-S B Q H > HB -#-S BAR Q H > HBAR -#-S -#-S ; hamza + fathatan -#-S H / a _ Q? AN > Ha -#-S ;;H / [Iyi] _ Q? AN > Hy -#-S H / _ Q? AN > Hy -#-S -#-S ;final hamzas -#-S H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR -#-S H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR -#-S H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... -#-S H / a _ Q? (#|^[LTR]) > Ha ; not AN... -#-S H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... -#-S H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy -#-S H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw -#-S -#-S ;;and more hamzas ... -#-S -#-S ; n°1: kasra/ya -#-S H / [LTR] _ Q? [Iyi] ^N > Hy -#-S H / [Iyi] _ > Hy -#-S -#-S ; n°2: damma/waw -#-S H / [LTR] _ Q? (U|u) ^N > Hw -#-S H / (U|u) _ Q? ^[Iyi] > Hw -#-S H / U _ > HBAR -#-S -#-S ; n°3: fatha/alif -#-S H Q? A > HA -#-S H / A _ Q? a > HBAR -#-S H / ^[UI] _ Q? a > Ha -#-S H / a _ Q? ^[UI] > Ha - -## -##;; take care of all shaddas at once? NOT WORKING, have to give them one by one -##;; ((V|C|P|UL)=l1 (b|c|d|f|g|h|j|k|l|m|n|p|q|r|s|t|w|x|y|z|Ain|T)=l2){2,2} > @l1 @l2 U+0651 ; -##;; ((b|c|d|f|g|h|j|k|l|m|n|p|q|r|s|t|w|x|y|z|Ain|T)=l1){2,2} > @l1 U+0651 ; -##;; #U ;special rules for Urdu : NO! tashdid realized as ^c^ch instead of ^ch^ch -##;; #U (C (c|g)=x h){2,2} > C @x h U+0651 -##;; #U (V (t|d|r)=x h){2,2} > V @x h U+0651; -##;; #U ((b|p|t|j|d|r|k|g|l|m|n)=x h){2,2} > @x h U+0651 - -pass(Unicode) - -Class [Digits] = (U+0030..U+0039) -Class [ArDigits] = (U+0660..U+0669) -Class [ArEasternDigits] = (U+06F0..U+06F9) -Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) -Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) -Class [Iy] = (U+0049 U+0079) ;(I y) -Class [Uw] = (U+0055 U+0077) ;(U w) - - -##; all hamzas are now in verbatim mode -##;;;H a > U+0623 -##;;;H i > U+0625 -##;;;H y > U+0626 -##;;;H w > U+0624 -##;;;H h > U+0647 U+0654 -##;;;H A > U+0622 -##;;;H B > U+0640 U+0654 -##;;;H BAR > U+0621 ; '| - - -;normal code -## add code for V S M K .k .l (.p=.f) (.v=.b) .y -## .A .U (.T=Y) -## CHECK ,a ,c ,d ,e ,g ,h ,n ,r ,s ,t ,z ,A -## ^ alone=alif with hazma above, ^a=alif hamza fatha, ^i = alif hamza kasra, ^u=alif damma waw (no hamza) -## CHECK ^d ^e ^i ^l ^n ^z -## CHECK (^A='A) -## CHECK (_k=.g) (_s=_t) (_z=_d) -## IMPLEMENT (:a :e :i :o :u = alif + vowel) -## IMPLEMENT :b :d :g :j :n :s (:t=.t?) (:z=.d?) :O :U - -#S ;; special code for sindhi -#S ;; U+004D U+0049 U+004E > U+06FE ; define macro \MIN in sindhi env -#S P m I N > U+06FE ; .mIN -#S ;; U+0049 U+004E > U+06FD ; IN define macro \IN in sindhi env -#S H BAR I N > U+06FD ; '|IN - -#K CO z CO z > U+0636 U+0651 ;;SHADDA -#K CO z > U+0636 -(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA -(P z|U+1E93) > U+0638 -C z C z > U+0698 U+0651 ;;SHADDA -C z > U+0698 -#-O V z V z > U+0696 U+0651 ;;SHADDA -#-O V z > U+0696 ;pashto -#O V z V z > U+0636 U+0651 ;;SHADDA -#O V z > U+0636 -z z > U+0632 U+0651 ;;SHADDA -z > U+0632 -#n Y Y > U+0649 U+0651 ;;SHADDA -#n Y > U+0649 -#v Q Y Y > U+0649 U+0651 ;;SHADDA -#v Q Y > U+0649 -#v Y Y > U+064E U+0649 U+0651 ;;SHADDA -#v Y > U+064E U+0649 -#K ;; .b with ring below : FIXME not in Unicode! but U+06EA is a poor replacement: -#K P y / # _ # > U+0627 U+06D2 U+06EA -#K P y / _ # > U+0649 -#K P y > U+066E U+06EA -#-ASM ;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots -#-ASM y y > U+06CC U+0651 ;;SHADDA -#-ASM y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots -#ASMv P I P I / _ # > U+0650 U+06CC U+0651 ;; SHADDA -#ASMv P I / _ # > U+0650 U+06CC ;; workaround to have ya without dots in Arabic -#ASMn P I P I / _ # > U+06CC U+0651 ;; SHADDA -#ASMn P I / _ # > U+06CC ;; workaround to have ya without dots in Arabic -#ASM y y > U+064A U+0651 ;;SHADDA -#ASM y > U+064A -#B v v > U+06A5 U+0651 ;;SHADDA -#B v > U+06A5 ;; maghribi -#M v v > U+06CF U+0651 ;;SHADDA -#M v > U+06CF -#-MB v v > U+06A4 U+0651 ;;SHADDA -#-MB v > U+06A4 -W > U+0648 U+0627 ; waw + alif -C U > U+064F U+0648 U+0653; historical spelling : madda on waw -#n Q U [Uw] > U+064F U+0648 U+0651 ;;SHADDA -#n Q U > U+064F U+0648 -#n [Uw] [Uw] > U+0648 U+0651 ;;SHADDA -#n [Uw] > U+0648 -C w C w > U+06C9 U+0651 ;;SHADDA -C w > U+06C9 -CO w CO w > U+06CA U+0651 ;,SHADDA -CO w > U+06CA -#n Q u N > U+064C -#n u N > -#n Q u > U+064F -#v U A / _ # > U+064F U+0648 U+0627 -#v Q U [Uw] > U+0648 U+0651 ;;SHADDA -#v Q U > U+0648 -#v U [Uw] > U+064F U+0648 U+0651 ;;SHADDA -#v U > U+064F U+0648 -#v w w > U+0648 U+0651 ;;SHADDA -#v w > U+0648 -#v Q u N? > -#v u N > U+064C -#v u > U+064F -#S V t h V t h > U+067A U+0651 ;;SHADDA -#S V t h > U+067A -#S t h t h > U+067F U+0651 ;;SHADDA -#S t h > U+067F -#S V t V t > U+067D U+0651 ;;SHADDA -#S V t > U+067D -#T V t V t > U+067C U+0651 ;;SHADDA -#T V t > U+067C ; pashto -#-TS V t V t > U+0679 U+0651 ;;SHADDA -#-TS V t > U+0679 ;urdu -UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA -UL (t|s) > U+062B -(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA -(P t|U+1E6D) > U+0637 -t t > U+062A U+0651 ;;SHADDA -t > U+062A -#n T T Q AN > U+0629 U+0651 U+064B ;;SHADDA -#n T Q AN > U+0629 U+064B -#n T AN > U+0629 -#v T T Q AN > U+0629 U+0651 ;;SHADDA -#v T Q AN > U+0629 -#v T AN > U+0629 U+064B -T T > U+0629 U+0651 ;;SHADDA -T > U+0629 -C s C s > U+0634 U+0651 ;;SHADDA -C s > U+0634 -(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA -(P s|U+1E63) > U+0635 -#-O V s V s > U+069A U+0651 ;;SHADDA -#-O V s > U+069A ;Pashto -#O V s V s > U+0634 U+0651 ;;SHADDA -#O V s > U+0634 -CO s CO s > U+069B U+0651 ;;SHADDA -CO s > U+069B ; sin with 3 dots below -## ;; ADD 069C-069F <<<<<<<<<< -s s > U+0633 U+0651 ;;SHADDA -s > U+0633 -C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< -C r > U+06EF -CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< -CO r > U+0697 ; Dargwa language, Dagestan -P r P r > U+0694 U+0651 ;;SHADDA -P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 -#S V r V r > U+0699 U+0651 ;;SHADDA -#S V r > U+0699 -#T V r V r > U+0693 U+0651 ;;SHADDA -#T V r > U+0693 ;Pashto -#-ST V r V r > U+0691 U+0651 ;;SHADDA -#-ST V r > U+0691 ;Urdu -r r > U+0631 U+0651 ;;SHADDA -r > U+0631 -P q P q > U+066F U+0651 ;;SHADDA -P q > U+066F -#-B q q > U+0642 U+0651 ;;SHADDA -#-B q > U+0642 -#B q q > U+06A7 U+0651 ;; maghribi -#B q > U+06A7 ;; maghribi -#S p h p h > U+06A6 U+0651 ;;SHADDA -#S p h > U+06A6 -#M p p > U+06A8 U+0651 ;;SHADDA -#M p > U+06A8 ;Old malay -#-M p p > U+067E U+0651 ;;SHADDA -#-M p > U+067E -CO n CO n > U+06B1 U+0651 ;;SHADDA -CO n > U+06B1 -#M C n C n > U+06BD U+0651 ;;SHADDA -#M C n > U+06BD ; <<< ArabTeX yields nūn with three dots below, which is not in Unicode! -#S C n C n > U+0683 U+0651 ;;SHADDA -#S C n > U+0683 -#-SM C n C n > U+06AD U+0651 ;;SHADDA -#-SM C n > U+06AD -## U+06AE Berber <<< -#S P P n P P n > U+06B2 U+0651 ;;SHADDA -#S P P n > U+06B2 ;; old sindhi? (not in ArabTeX) <<< -P n P n > U+06BA U+0651 ;;SHADDA -P n > U+06BA ; urdu -#S V n V n > U+06BB U+0651 ;;SHADDA -#S V n > U+06BB -#-S V n V n > U+06BC U+0651 ;;SHADDA -#-S V n > U+06BC ; Pashto -n n > U+0646 U+0651 ;;SHADDA -n > U+0646 -m m > U+0645 U+0651 ;;SHADDA -m > U+0645 -P l P l > U+06B6 U+0651 ; -P l > U+06B6 ; ADDED <<< -C l C l > U+06B5 U+0651 ;;SHADDA -C l > U+06B5 ;kurdish -## U+06B7 U+06B8 U+06B9 missing <<< -l l > U+0644 U+0651 ;;SHADDA -l > U+0644 -#S k h k h > U+06A9 U+0651 ;;SHADDA -#S k h > U+06A9 -#-O P k P k > U+06A9 U+0651 ;;SHADDA -#-O P k > U+06A9 ; pashto urdu -#O P k P k > U+0642 U+0651 ;;SHADDA -#O P k > U+0642 ; Ottoman qaf -UL k UL k > U+063A U+0651 ;;SHADDA -UL k > U+063A -#S k k > U+06AA U+0651 ;;SHADDA -#S k > U+06AA ; kaf swash -#-S k k > U+0643 U+0651 ;;SHADDA -#-S k > U+0643 -#-MO C g C g > U+062C U+0651 ;;SHADDA -#-MO C g > U+062C -#MO C g C g > U+06A0 U+0651 ;;SHADDA -#MO C g > U+06A0 -CO j CO j > U+0684 U+0651 ;;SHADDA -CO j > U+0684 -#O j j > U+0698 U+0651 ;;SHADDA -#O j > U+0698 -#-O j j > U+062C U+0651 ;;SHADDA -#-O j > U+062C -#n Q I > U+0650 U+064A -#v Q I > U+064A -#v 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 = ### -#n I > U+064A -#n Q i N > U+064D -#n i N > ; -#n Q i > U+0650 -#v Q i N? > ; -#v i N > U+064D -#v i > U+0650 -x x > U+062E U+0651 ;;SHADDA -x > U+062E -#PT U+0048 Z > U+0647 U+200C U+0020 ;eH-suffix > eH suffix -#PT U+0048 > U+0647 U+200C ; H is always heh final -#U U+0048 > U+06C3 -UL h UL h > U+062E U+0651 ;;SHADDA -UL h > U+062E -(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA -(P h|U+1E25) > U+062D -V h V h > U+06C1 U+0651 ;;SHADDA -V h > U+06C1 -#U h h > U+06BE U+0651 ;;SHADDA -#U h > U+06BE ; urdu -#U ;; fix letter+h letter+h > letter+h shadda in URDU <<< -#S h h > U+06BE U+0651 ;;SHADDA -#S h > U+06BE -#-US h h > U+0647 U+0651 ;;SHADDA -#-US h > U+0647 -#S P CO g P CO g > U+06B4 U+0651 ;;SHADDA -#S P CO g > U+06B4 ;; old sindhi? (not in ArabTeX) <<< -CO g CO g > U+06B3 U+0651 ;;SHADDA -CO g > U+06B3 -V g V g > U+06AC U+0651 ;;SHADDA -V g > U+06AC ; kaf with dot above -P g P g > U+063A U+0651 ;;SHADDA -P g > U+063A -#M g g > U+0762 U+0651 ;;SHADDA -#M g > U+0762 -#-M g g > U+06AF U+0651 ;;SHADDA -#-M g > U+06AF -G G > U+06AB U+0651 ;;SHADDA -G > U+06AB ;pashto -## U+06B0 western punjabi <<< -P f P f > U+06A1 U+0651 ;;SHADDA -P f > U+06A1 -#B f f > U+06A2 U+0651 ;; SHADDA -#B f > U+06A2 ;; maghribi -## ingushi CO f > U+06A3 <<< -#-B f f > U+0641 U+0651 ;;SHADDA -#-B f > U+0641 -#S V d h V d h > U+068D U+0651 ;;SHADDA -#S V d h > U+068D -#-TU V d V d > U+068A U+0651 ;;SHADDA -#-TU V d > U+068A -#T V d V d > U+0689 U+0651 ;;SHADDA -#T V d > U+0689 ;pashto -#U V d V d > U+0688 U+0651 ;;SHADDA -#U V d > U+0688 ;urdu -P V d P V d > U+068B U+0651 ;;SHADDA -P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) -#S d h d h > U+068C U+0651 ;;SHADDA -#S d h > U+068C -#S C d C d > U+068E ;;SHADDA -#S C d > U+068E ; old sindhi: not in ArabTeX -#-S C d C d > U+06EE U+0651 ;;SHADDA -#-S C d > U+06EE ; not defined in ArabTeX -CO d CO d > U+068F U+0651 ;;SHADDA -CO d > U+068F -#U CO CO d CO CO d > U+0690 U+0651 ;;SHADDA -#U CO CO d > U+0690 ; old urdu: not in ArabTeX -UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA -UL (d|z) > U+0630 -(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA -(P d|U+1E0D) > U+0636 -d d > U+062F U+0651 ;;SHADDA -d > U+062F -#S C c h C c h > U+0687 U+0651 ;;SHADDA -#S C c h > U+0687 -#O V c V c > U+0686 U+0651 ;;SHADDA -#O V c > U+0686 ; Ottoman ç -#-O V c V c > U+0685 U+0651 ;;SHADDA -#-O V c > U+0685 ;pashto -C c C c > U+0686 U+0651 ;;SHADDA -C c > U+0686 -P C c P C c > U+06BF U+0651 ;;SHADDA -P C c > U+06BF ;; cheh with dot above <<< -#M c c > U+0686 U+0651 ;;SHADDA -#M c > U+0686 -#O c c > U+062C U+0651 ;;SHADDA -#O c > U+062C -#-MO c c > U+0681 U+0651 ;;SHADDA -#-MO c > U+0681 ; ح with hamza above -CO c CO c > U+0682 U+0651 ;;SHADDA -CO c > U+0682 ; old pashto -#S b h b h > U+0680 U+0651 ;;SHADDA -#S b h > U+0680 -CO b CO b > U+067B U+0651 ;;SHADDA -CO b > U+067B -P b P b > U+066E U+0651 ;;SHADDA -P b > U+066E -b b > U+0628 U+0651 ;;SHADDA -b > U+0628 -H A > U+0622 -C A > U+064E U+0622 ; historical spelling -#n UL A > U+0649 -#v UL A > U+064E U+0649 -UL a > U+0670 -#A UL u > U+0657 ; inverted damma -#A UL i > U+0656 ; subscript alif -#-An UL u > ; -#-An UL i > ; -#-Av UL u > U+064F; -#-Av UL i > U+0650; -#n Q AN / (A H|Ha) _ > U+064B -#n AN / (A H|Ha) _ > ; -#v Q AN / (A H|Ha) _ > ; -#v AN / (A H|Ha) _ > U+064B -#n Q AN > U+0627 U+064B -#n AN > U+0627 -#n Q a > U+064E -#n Q A > U+064E U+0627 -#n A > U+0627 -#v Q AN > U+0627 -#v AN > U+0627 U+064B -#v Q a > -#v a > U+064E -#v Q A > U+0627 -#v A > U+064E U+0627 -Ain Ain > U+0639 U+0651 ;;SHADDA -Ain > U+0639 -H H > U+0621 U+0651 ;;SHADDA -H > U+0621 -U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma -Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash -(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks -#-PUSKT [Digits] > [ArDigits] -#PUSKT [Digits] > [ArEasternDigits] -Z Z Z / # _ # > U+2014 -Z Z / # _ # > U+2013 -Z Z > U+0640 -B > U+0640 -Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" -Z / _ # > U+200D ; x- > force final form -U+003C U+003C > U+00BB ;<< -U+003E U+003E > U+00AB ;>> -U+00AB > U+00BB -U+00BB > U+00AB -UL > U+0640 ;_ -U+003F > U+061F ;? -U+003B > U+061B ;; -U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... -U+002C > U+060C ;, -U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... -U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual - ; analysis, so quoting of hamzas etc may be necessary -;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules -;U+005B > U+005D ;[ -#n [VWL] > ;stripoff vowels -#v Q [VWL] > ;stripoff quoted vowels -#n Q > U+0652 -@v Q > U+0652 -U+00B0 > U+0652 ; ° -N > ; -C > ;^ -#n Z > ;- -BAR > ;| -#U P P > U+06D4 ; urdu full stop << check - -#v pass(Unicode) -#v -#v Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-) -#v Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc. -#v Class [VWL] = (U+0627 U+0648..U+0650 U+0670); -#v -#f [CONS]=k1 / _ Z? [CONS] ^U+0651 > @k1 U+0652 ; hack: 2nd consonant has no shadda -#f U+064E (U+064A|U+0648)=hc / _ (^[VWLX]|#) > U+064E @hc U+0652 ; ay and aw diphtongs -@Av U+0627 [VWL]? / [VWL] Z _ > U+0627 ; e.g. fa-isti_hraj -> initial alif has no vowel -@Bv U+0627 [VWL]? / [VWL] Z _ > U+0627 ; e.g. fa-isti_hraj -> initial alif has no vowel -#Af U+0627 [VWL]? / [VWL] Z _ > U+0671 ; e.g. fa-isti_hraj -> wasla on initial alif -#f;; U+0627 / [VWL] U+0020 _ U+0644 > U+0671 ; wasla on initial alif-lam >>>THIS DOES NOT WORK<<< implemented in first pass instead... -#f U+0627 / # _ U+0644 > U+0627 U+064E ; otherwise initial alif takes fatha -#f [CONS]=k1 / _ ([CONS]|#) > @k1 U+0652 ; consonant + (consonant or final) -#f ;; [CONS]=k1 / _ # > @k1 U+0652 ; final consonant -#f Q > ; -#v Z > ; - diff --git a/Master/texmf-dist/doc/xelatex/arabxetex/arabxetex.dtx b/Master/texmf-dist/doc/xelatex/arabxetex/arabxetex.dtx deleted file mode 100644 index 24ee9fe8ed5..00000000000 --- a/Master/texmf-dist/doc/xelatex/arabxetex/arabxetex.dtx +++ /dev/null @@ -1,2058 +0,0 @@ -% \iffalse -% -%!TEX encoding = UTF-8 Unicode -% -% Copyright (C) 2007-2008 by François Charette -% -% Distributable under the LaTeX Project Public License, -% version 1.3c or higher (your choice). The latest version of -% this license is at: http://www.latex-project.org/lppl.txt -% -% This work is "maintained" (as per LPPL maintenance status) -% by François Charette. -% -% This work consists of the file bidi.dtx -% and the derived files bidi.sty and bidi.pdf. -% -% -%<*batchfile> -\begingroup -\input docstrip.tex -\keepsilent -\preamble - - ____________________________ - The arabxetex package - (C) 2007-2008 François Charette - License information appended - - -\endpreamble -\postamble - -Copyright (C) 2007-2008 by François Charette - -Distributable under the LaTeX Project Public License, -version 1.3c or higher (your choice). The latest version of -this license is at: http://www.latex-project.org/lppl.txt - -This work is "maintained" (as per LPPL maintenance status) -by François Charette. - -This work consists of the file \jobname.dtx -and the derived files \jobname.sty and \jobname.pdf. -as well as an extensive collection of TECKit files -(*.map, compiled as *.tec). - -\endpostamble -\askforoverwritefalse -\generate{\file{\jobname.sty}{\from{\jobname.dtx}{package}}} -\generate{\file{\jobname.ins}{\from{\jobname.dtx}{batchfile}}} -\nopreamble\nopostamble -\generate{\file{README}{\from{\jobname.dtx}{readme}}} -\generate{\file{arabxetex-dtx-style.sty}{\from{\jobname.dtx}{dtx-style}}} -\endgroup -% -% -%<*driver> -\documentclass[11pt]{ltxdoc} -\usepackage{arabxetex-dtx-style} -\EnableCrossrefs -\CodelineIndex -\RecordChanges -%\OnlyDescription -\begin{document} - \DocInput{\jobname.dtx} -\end{document} -% -% -%<*readme> --------------------------- -THE ARABXETEX PACKAGE v1.1.2 - -This package provides a convenient ArabTeX-like user-interface for typesetting -languages using the Arabic script in XeLaTeX, with flexible access to font -features. Input in ArabTeX notation can be set in three different -vocalization modes or in roman transliteration. Direct UTF-8 input is also -supported. Since most of the ‘real work’ -- namely parsing and converting -ArabTeX input to Unicode -- is done at the level of TECkit mappings, -ArabXeTeX is really performant. - -The TECkit fontmapping files (*.map and *.tec) should be copied to -/fonts/misc/xetex/fontmapping/arabxetex/ - -------------------------- -François Charette -2007-2008 -% -% -% \fi -% -% \errorcontextlines=999 -% \makeatletter -% -% \GetFileInfo{\jobname.sty} -% -% \title{~\hfil {\color{IslamicGreen}\arabxetex \hfil \arabxetexAr}\hfil~\\ -% An \arabtex-like interface for typesetting languages in Arabic script with \XeLaTeX} -% \author{François Charette} -% \date{\filedate \qquad \fileversion} -% -% \maketitle -% \tableofcontents -% -% -% \DeleteShortVerb{\|} -% \MakeShortVerb{\¦} -% -% \begin{abstract} -% This package provides a convenient \arabtex-like user-interface for typesetting -% languages using the Arabic script in \XeLaTeX, with flexible access to font -% features. Input in \arabtex\ notation can be set in three different vocalization -% modes or in roman transliteration. Direct UTF-8 input is also supported. -% Since most of the ‘real work’ -- namely parsing and converting \arabtex\ input to Unicode -- -% is done at the level of TECkit mappings, \arabxetex\ is really performant. -% \end{abstract} -% -% \tableofcontents -% -% \section{Introduction} -% -% Since the early 1990s, \TeX\ users who wished to typeset in Arabic script -% have relied on Klaus Lagally's excellent \arabtex\ system.\footnote{ ^^A -% \url{ftp://ftp.informatik.uni-stuttgart.de/pub/arabtex/arabtex.htm}. -% Version 2.00 was released in April 1992 and version 3.00 in November of -% the following year. The latest stable version (dated 2 July 2006) is -% 3.11s. Since version 3.02 the Hebrew language is also supported.} -% While \arabtex's overall qualities and Lagally's masterful \TeX-programming -% abilities are undeniable, the system can hardly hide its 15-odd years of -% existence. Or to state it otherwise, it is now slowly becoming an archaic -% piece of sofware (which as a historian who has used \arabtex\ for more than -% eleven years I find a sad thing to admit). First of all, it is monolithic and -% idiosyncratic, in the sense that everything -- from parsing the input encoding, -% to doing contextual analysis, to assembling all elements of the script and -% placing them on the page from right to left, in defiance of \TeX's natural -% logic -- is taken care of by means of \TeX\ macro programming. Thus before the -% availability of relatively fast Pentium processors, \arabtex\ was really slow, -% but this is less of an issue nowadays. Another disadvantage is that one is -% inexorably bound to use the custom Naskh font, which without being necessarily -% ugly does not meet the standards of fine typesetting. Finally, the collection -% of very sophisticated \TeX\ code that constitutes the \arabtex\ package is not -% documented at all, which means that even though it is now licensed under the -% LPPL, its internals are extremely difficult to understand in depth. -% (It is only fair to state, however, that Prof.~Lagally has been extremely -% responsive to ideas, suggestions and wishes by users in the past). -% -% The introduction of Omega in \ca 1996, a \TeX\ extension for multilingual, -% multidirectional typesetting based on Unicode, raised of course many hopes, but -% these have by now completely dissipated since the project has been moribund for -% several years and is now probably defunct. Aleph, a more humble attempt to reach -% some of the goals set by Omega, has been equally unsuccessful.\footnote{ ^^A -% Based on Omega 1.15 and \eTeX, Aleph attempted to provide a usable and -% stable branch. See -% \url{http://www.tug.org/TUGboat/Articles/tb25-1/bilotta.pdf}. -% Unfortunately the project is currently dormant.} -% Both engines suffered of numerous bugs and never reached a stable and usable -% state, \textit{at least according to my own subjective experience}. -% -% After completion of the initial alpha version of \arabxetex, I came across the -% package \pkg{Arabi} by Youssef Jabri on CTAN.\footnote{ ^^A -% \url{http://www.ctan.org/tex-archive/language/arabic/arabi/}} -% This is a pure LaTeX/Babel approach to Arabic typesetting which makes use of -% TFM hackery (by means of complex sequences of ligature rules) to provide custom -% contextual analysis for individual fonts. Thus the \pkg{Arabi} only works in -% combination with the fonts for which support is built in the package. -% -% With the availability of Jonathan Kew's \XeTeX, users can now rely on a very -% up-to-date typesetting engine based on the integration of \eTeX, Unicode, and -% modern font-rendering technology (AAT and ICU), without the complex hassle of -% font installation.\footnote{ ^^A -% \url{http://scripts.sil.org/xetex}. \XeTeX\ was originally developed -% for the Mac~OS~X platform, but Linux and WIN32 ports are now available.} -% -% \section{Description} -% -% The \arabxetex\ package consists of a set of \textbf{TECkit}\footnote{ ^^A -% \url{http://scripts.sil.org/TECkit}} -% mappings for converting internally from \arabtex's \ASCII\ input convention to -% Unicode, and a \LaTeX\ style file (\pkg{arabxetex.sty}) that provides a -% convenient user interface for typesetting in those languages. -% For details on \arabtex\ and its input convention the reader is referred to -% Lagally's detailed manual.\footnote{ ^^A -% \url{http://129.69.218.213/arabtex/doc/arabdoc.pdf}} -% \arabxetex\ introduces several additions, and a few minor modifications, -% to \arabtex's conventions. These are documented in tabular form in -% Section~\ref{conventiontable}. \arabxetex\ relies on the package \pkg{bidi} -% which contains the macros necessary for bidirectional typesetting -- -% using \eTeX's \cmd{\beginR} \ldots \cmd{\endR}, \cmd{\beginL} \ldots \cmd{\endL} -% primitives. The main code in \pkg{bidi.sty} is essentially borrowed, -% with minor adaptations, from the file \pkg{rlbabel.def} in the Babel -% distribution (where it serves for typesetting Hebrew). Some improvements -% in the beta version were inspired by Youssef Jabri's \pkg{Arabi}. -% -% Languages supported at present are the same as in \arabtex, namely: Arabic, -% Maghribi Arabic, Farsi (Persian), Urdu, Sindhi, Kashmiri, Ottoman Turkish, -% Kurdish, Jawi (Malay) and Uighur. \arabxetex\ adds support for several -% additional Unicode characters, so that some more languages are probably -% supported de-facto as well (such as Western Punjabi). -% -% \subsection{The \arabtex\ input encoding} -% -% Why would one need to type those languages by means of an old-fashioned -% \ASCII\ \label{arabtexnotes} representation? -% Native speakers have access to keyboards that allow to input -% them directly in Unicode, while non-native scholars who need to type them -% can use keymaps or keyboard utilities to achieve the same, so why bother? -% An expert in Arabic mathematical linguistic and author of the Perl module -% \pkg{Encode::Arabic::ArabTeX}, Otakar Srmž, has this to say about the -% virtues of \arabtex\ \ASCII\ encoding: -% \begin{quote} -% “ArabTeX is an excellent extension to TeX/LaTeX designed for -% typesetting the right-to-left scripts of the Orient. It comes up with -% very intuitive and comprehensible lower \ASCII\ transliterations, the -% expressive power of which is even better than that of the scripts.”^^A\footnote{ % -% [Source: \url{http://search.cpan.org/~smrz/Encode-Arabic-1.16/ArabTeX/ArabTeX.pm#DESCRIPTION}. -% See also \url{http://ufal.mff.cuni.cz/~smrz/ICFP2006/icfp-encode.pdf}]^^A} -% \end{quote} -% There are indeed several advantages in using \arabtex\ input convention for -% typesetting in the Arabic script, besides ease and legibility. First it is -% possible and even trivial to switch between a representation of the data in the -% Arabic script and its romanized transliteration, without having to modify it. -% Second, despite the increasing availability of good Unicode editors that -% support bidirectionality, editing (La)\TeX\ source files with bidirectional -% content can be a real pain, for it leads to confusion and distraction. Also, -% with complex multi-layer documents such as critical editions, where footnotes -% and annotations abound, the advantage of dealing with a plain \ASCII\ encoding -% cannot be overstated. Finally, such an input convention allows far greater -% control of typographical details. -% -% \section{Usage} -% -% For short insertions (say within a LR text), use ¦\text[option]{...}¦ -% \DescribeMacro{\textarab}\DescribeMacro{\textfarsi}\marginpar{\raggedleft\small etc.} -% where ¦¦ is one of the following (alternative names are given in brackets): -% \begin{compactitem}[\textbf{·}] -% \item ¦arab¦ (¦Arabic¦),\footnote{ ^^A -% Since the command \cmd\arabic\ is already defined in \LaTeX, we chose -% the environment ¦arab¦ and the command \cmd\textarab\ instead, -% but the equivalent environment ¦Arabic¦ and the command -% \cmd\textarabic\ are also available.} -% \item ¦farsi¦ (¦persian¦), -% \item ¦urdu¦, -% \item ¦sindhi¦, -% \item ¦pashto¦, -% \item ¦ottoman¦ (¦turk¦), -% \item ¦kurdish¦, -% \item ¦kashmiri¦, -% \item ¦malay¦ (¦jawi¦), and -% \item ¦uighur¦. -% \end{compactitem} -% For typesetting whole paragraphs in Arabic script, use -% \DescribeMacro{\begin\{arab\}}\DescribeMacro{\begin\{farsi\}}\marginpar{\raggedleft\small etc.} -% \begin{Verbatim}[gobble=2,fontsize=\normalsize] -% \begin{}[option] -% ... -% \end{} -% \end{Verbatim} -% -% Most languages can be typeset in one of four modes: non-vocalized, vocalized, -% fully-vocalized, and transliterated, exactly as in \arabtex, and these are -% switched by means of the options ¦novoc¦, ¦voc¦, ¦fullvoc¦ and ¦trans¦, -% respectively. Note that Kurdish and Uighur only have one vocalization mode. -% The mode can be determined either globally as an option to the \pkg{arabxetex} -% package, or as a local option of either the ¦\text¦ commands or -% ¦\begin{}¦ \ldots ¦\end{}¦ environments. -% When no option is set locally, the global option is chosen. -% The default global option is always \textit{non-vocalized} mode. -% -% There is also an option \pkg{utf} for input in plain UTF-8 encoding. Note that -% it is also possible to mix \arabtex\ input convention and UTF-8 characters, -% since the latter will not be affected by the font-mapping (except of course in -% transliteration mode, unless your roman font also contains Arabic characters). -% There are also advantages of choosing an \arabtex\ mapping (\ie one of the -% ¦novoc¦, ¦voc¦ and ¦fullvoc¦ modes) even with UTF-8 encoding, as it provides -% easy access to special glyphs and some useful features. See further below. -% -% Left-to-right insertions in Latin script within an Arabic environment -% can be made by means of the \DescribeMacro{\textLR} -% command \cmd\textLR¦{…}¦.\new{1.1.2}\footnote{ % -% In version 1.0 this was called \cmd\textlatin, which was renamed \cmd\textroman -% in version 1.1. But the former conflicted with \pkg{Babel}, -% and the latter with \pkg{Beamer}. Hopefully \cmd\textLR\ -% won't be as short-lived!} -% Emphasis in Arabic is traditionally indicated by -% overlining the text, and this can be achieved with the command -% \DescribeMacro{\aemph} -% \cmd\aemph:\footnote{ ^^A -% This macro makes use of the mathematical command \cmd\overline, -% which explains why \pkg{arabxetex} requires the \pkg{amsmath} package. -% I welcome any suggestion that would make it possible to circumvent this dependency -% by emulating \cmd\overline\ directly.} -% -% \parindentoff -% \begin{minipage}[t]{.4\textwidth} -% \begin{Verbatim}[gobble=2] -% \begin{arab}[novoc] -% mi_tAl: \aemph{45} darajaT -% \end{arab} -% \end{Verbatim} -% \end{minipage} -% \hfill -% \begin{minipage}[t]{.4\textwidth} -% \begin{arab}[novoc] -% ~ \\ -% mi_tAl: \aemph{45} darajaT -% \end{arab} -% \end{minipage} -% \medskip -% -%\subsection{Font setup} -% -% \arabxetex\ requires the user to define an \cmd\arabicfont\ in the preamble. -% \DescribeMacro{\arabicfont} -% The recommended procedure, by means of \pkg{fontspec}, is to define it as follows: -% \begin{Verbatim}[gobble=2,fontsize=\normalsize] -% \newfontfamily\arabicfont[Script=Arabic]{} -% \end{Verbatim} -% If not, then a warning is issued and \arabxetex\ will attempt to load -% the font \textbf{Scheherazade} (designed by Bob Halissy and -% Jonathan Kew of SIL International).\footnote{ -% Available from \url{http://scripts.sil.org/ArabicFonts}. For -% typesetting Sindhi and Kashmiri, the font \textbf{Lateef}, available at -% the same place, is also recommended.} -% You can also define specific fonts \new{1.1} for all other languages, by similarly defining -% ¦\font¦, such as for example: -% \begin{Verbatim}[gobble=2,fontsize=\normalsize] -% \newfontfamily\urdufont[Script=Arabic]{Nafees Pakistani Naskh} -% \end{Verbatim} -% So for example if the \cmd\texturdu\ command or the ¦urdu¦ environment is used, -% \arabxetex\ will use the \cmd\urdufont\ if it is defined, -% and the \cmd\arabicfont\ if not. In the same manner one can define -% \cmd\maghribifont, \cmd\ottomanfont, \cmd\uighurfont, etc. -% -% -% -% -% \subsection{Examples} -% -% \subsubsection{Contextual analysis of \textit{hamza}} -% -% As with \arabtex, a contextual analysis of the input encoding is performed -% (at the font-mapping level) to automatically determine the carrier of the -% \textit{hamza}, as illustrated by the following examples: -% -% \begin{Verbatim}[gobble=2,fontsize=\normalsize] -% \begin{arab} -% 'amruN, 'ibiluN, 'u_htuN, '"u_ht"uN, '"Uql"Id"Is, ra'suN, 'ar'asu, -% sa'ala, qara'a, bu'suN, 'ab'usuN, ra'ufa, ru'asA'u, bi'ruN, 'as'ilaTuN, -% ka'iba, qA'imuN, ri'AsaTuN, su'ila, samA'uN, barI'uN, sU'uN, bad'uN, -% ^say'uN, ^say'iN, ^say'aN, sA'ala, mas'alaTuN, saw'aTuN, _ha.tI'aTuN, -% jA'a, ridA'uN, ridA'aN, jI'a, radI'iN, sU'uN, .daw'uN, qay'iN, .zim'aN -% , yatasA'alUna, 'a`dA'akum, 'a`dA'ikum, 'a`dA'ukum maqrU'aT, mU'ibAt, -% taw'am, yas'alu, 'a.sdiq^A$\;$'uh_u, ya^g^I'u, s^U'ila -% \end{arab} -% \end{Verbatim} -% -% \begin{arab}[voc] -% 'amruN, 'ibiluN, 'u_htuN, '"u_ht"uN, '"Uql"Id"Is, ra'suN, 'ar'asu, -% sa'ala, qara'a, bu'suN, 'ab'usuN, ra'ufa, ru'asA'u, bi'ruN, 'as'ilaTuN, -% ka'iba, qA'imuN, ri'AsaTuN, su'ila, samA'uN, barI'uN, sU'uN, bad'uN, -% ^say'uN, ^say'iN, ^say'aN, sA'ala, mas'alaTuN, saw'aTuN, _ha.tI'aTuN, -% jA'a, ridA'uN, ridA'aN, jI'a, radI'iN, sU'uN, .daw'uN, qay'iN, .zim'aN -% , yatasA'alUna, 'a`dA'akum, 'a`dA'ikum, 'a`dA'ukum maqrU'aT, mU'ibAt, -% taw'am, yas'alu, 'a.sdiq^A$\;$'uh_u, ya^g^I'u, s^U'ila -% \end{arab} -% -% \subsubsection{Special orthographies} -% -% Some Arabic words, like \textit{miʾa} “hundred”, have irregular orthographies. -% \arabxetex\ recognizes them automatically. -% -% \begin{minipage}[t]{.4\textwidth} -% \begin{Verbatim}[gobble=2] -% \begin{arab}[voc] -% mi'aT , mi'at"An , sab`ami'"aT -% \end{arab} -% \end{Verbatim} -% \end{minipage} -% \hfill -% \begin{minipage}[t]{.4\textwidth} -% \begin{arab}[voc] -% ~ \\ -% mi'aT , mi'at"An , sab`ami'"aT -% \end{arab} -% \end{minipage} -% \bigskip -% -% \textbf{NB}: For the time being only \textit{miʾa} is supported, but more irregular -% constructs should be added in later versions. -% -% \subsubsection{Typesetting the Holy Qurʾān} -% -% High-quality typesetting of the Holy Qurʾān (\textarab{al-qur'An al-karIm}) is a -% most complex and demanding task, which probably should be left to professional -% typesetters. Nevertheless, with Open Type fonts that cover the full Unicode range -% for the Arabic script, it is possible to achieve pretty decent results. -% The following examples represent my attempt to reproduce, with the font -% Scheherazade, the various typographic features of a typical printed edition -% from Saudi Arabia. -% -% In printed Qurʾāns, one frequently encounters typographical oddities that are -% not taken into account by Unicode, such as the \textit{hamza} placed directly over -% the baseline instead as over the \textit{alif}. -% But with a \TeX\ macro it is possible to emulate this rather well: -% -% \begin{Verbatim}[gobble=2,fontsize=\small] -% \newcommand{\hamzaB}{\char"200D\char"0640\raise-.95ex\hbox{\char"0654}\char"200D} -% -% \begin{arab}[fullvoc] -% mina 'l-qur'Ani 'l-karImi, sUraTu 'l-ssajdaTi 15--16: -% -% 'innamA yu'minu bi-\hamzaB a|"Ay___atinA 'lla_dIna 'i_dA _dukkirUA bihA -% _harrUA sujjadaN wa-sabba.hUA bi-.hamdi rabbihim wa-hum lA yastakbirUna -% SAJDA [[15]] tatajAfY_a junUbuhum `ani 'l-ma.dAji`i yad`Una rabbahum -% _hawfaN wa-.tama`aN wa-mimmA razaqn_ahum yunfiqUna [[16]] -% \end{arab} -% -% \begin{arab}[fullvoc] -% sUraTu 'l-baqaraTi 71--72: -% -% qAla 'innahu, yaqUlu 'innahA baqaraTuN llA _dalUluN tu_tIru 'l-'ar.da wa-lA -% tasq.I 'l-.har_ta musallamaTuN llA ^siyaTa fIhA|^JIM qAluW" 'l-\hamzaB a___ana -% ji'ta bi-'l-.haqqi|^JIM fa_daba.hUhA wa-mA kAdduW" yaf`alUna [[71]] wa-'i_d -% qataltum nafsaN fa-udda$\,$_ara|'|_i"tum fIhA|^SLY wa-al-ll_ahu mu_hrijuN mmA -% kun"tum taktumUna [[72]] -% \end{arab} -% \end{Verbatim} -% -% \begin{arab}[fullvoc] -% mina 'l-qur'Ani 'l-karImi, sUraTu 'l-ssajdaTi 15--16: -% -% 'innamA yu'minu bi-\hamzaB a|"Ay___atinA 'lla_dIna 'i_dA _dukkirUA bihA _harrUA -% sujjadaN wa-sabba.hUA bi-.hamdi rabbihim wa-hum lA yastakbirUna SAJDA [[15]] -% tatajAfY_a junUbuhum `ani 'l-ma.dAji`i yad`Una rabbahum _hawfaN wa-.tama`aN -% wa-mimmA razaqn_ahum yunfiqUna [[16]] -% \end{arab} -% -% \begin{arab}[fullvoc] -% sUraTu 'l-baqaraTi 71--72: -% -% qAla 'innahu, yaqUlu 'innahA baqaraTuN llA _dalUluN tu_tIru 'l-'ar.da wa-lA -% tasq.I 'l-.har_ta musallamaTuN llA ^siyaTa fIhA|^JIM qAluW" 'l-\hamzaB a___ana -% ji'ta bi-'l-.haqqi|^JIM fa_daba.hUhA wa-mA kAdduW" yaf`alUna [[71]] wa-'i_d -% qataltum nafsaN fa-udda$\,$_ara|'|_i"tum fIhA|^SLY wa-al-ll_ahu mu_hrijuN mmA -% kun"tum taktumUna [[72]] -% \end{arab} -% -% \subsubsection{Farsi} -% -% These are some of the Persian examples in the \arabtex\ documentation, -% typeset with the font Simple Farsi Bold: -% \begin{Verbatim}[gobble=2,fontsize=\normalsize] -% \begin{farsi}[voc] -% _hwAb, xwI^s, _hwod, ^ceH, naH, yal_aH, _hAneH, _hAneHhA, _hAneH-hA, -% ketAb-e, U, rAh-e, t_U, nAmeH-i, man, bInI-e, An, mard, pA-i, In, -% zan, bAzU-i, In, zan, dAr-_i, man, _hU-_i, t_U, nAmeH-_i, sormeH-_i, -% gofteH-_i, ketAb-I, rAh-I, nAmeH-I, dAnA-I, pArU-I, dAnA-I-keH, -% pArU-I-keH, rafteH-am, rafteH-Im, AnjA-st, U-st, t_U-st, ketAb-I-st, -% be-man, be-t_U, be-An, be-In, be-insAn, beU, be-U, .sA.heb"|_hAneH, -% pas"|andAz, naw"|AmUz -% \end{farsi} -% \end{Verbatim} -% -% \begin{farsi}[voc] -% _hwAb, xwI^s, _hwod, ^ceH, naH, yal_aH, _hAneH, _hAneHhA, _hAneH-hA, -% ketAb-e, U, rAh-e, t_U, nAmeH-i, man, bInI-e, An, mard, pA-i, In, -% zan, bAzU-i, In, zan, dAr-_i, man, _hU-_i, t_U, nAmeH-_i, sormeH-_i, -% gofteH-_i, ketAb-I, rAh-I, nAmeH-I, dAnA-I, pArU-I, dAnA-I-keH, -% pArU-I-keH, rafteH-am, rafteH-Im, AnjA-st, U-st, t_U-st, ketAb-I-st, -% be-man, be-t_U, be-An, be-In, be-insAn, beU, be-U, .sA.heb"|_hAneH, -% pas"|andAz, naw"|AmUz -% \end{farsi} -% -% \subsubsection{Urdu} -% -% An Urdu example, typeset with Nafees Pakistani Naskh:\footnote{ ^^A -% The example is borrowed from -% \url{http://tabish.freeshell.org/u-trans/urducode.html}} -% \begin{Verbatim}[gobble=2,fontsize=\normalsize] -% \begin{urdu}[novoc] -% ,ham `i^sq kE mArO.n kA itnA ,hI fasAna,h ,hae -% rOnE kO na,hI.n kO'I ,ha.nsnE kO zamAna,h ,hae -% -% ya,h kiskA ta.sawwur ,hae ya,h kiskA fasAna,h ,hae -% jO a^sk ,hae A.nkhO.n mE.n tasbI.h kA dAnA ,hae -% \end{urdu} -% \end{Verbatim} -% -% \begin{urdu}[novoc] -% ,ham `i^sq kE mArO.n kA itnA ,hI fasAna,h ,hae\\ -% rOnE kO na,hI.n kO'I ,ha.nsnE kO zamAna,h ,hae -% -% ya,h kiskA ta.sawwur ,hae ya,h kiskA fasAna,h ,hae\\ -% jO a^sk ,hae A.nkhO.n mE.n tasbI.h kA dAnA ,hae -% \end{urdu} -% ^^Aﮨﹷﻢ ﻋﹻﺸﻖ ﻛﮯ ﻣﺎﺭﻭﮞ ﰷ ﹺﺍﺗﻨﺎ ﮨﹻﯽ ﻓﹷﺴﺎﻧﹷﻪ ﮨﹷﮯ -% ^^Aﺭﻭﻧﮯ ﻛﻮ ﻧﹷﮩﹻﻴﮟ ﻛﻮﺋﹻﯽ ﮨﹷﻨﺴﻨﮯ ﻛﻮ ﺯﹶﻣﺎﻧﹷﻪ ﮨﹷﮯ -% -% ^^Aﻳﹷﻪ ﻛﹻﺴﲀ ﺗﹷﺼﹷﻮﹽﹸﺭ ﮨﹷﮯ ﻳﹷﻪ ﻛﹻﺴﲀ ﻓﹷﺴﺎﻧﹷﻪ ﮨﹷﮯ -% ^^Aﺟﻮ ﺍﺷﻚ ﮨﹷﮯ ﺁﻧﻜﮭﻮﮞ ﻣﻴﮟ ﺗﹷﺴﺒﹻﻴﺢ ﰷ ﺩﺍﻧﺎ ﮨﹷﮯ -% \renewcommand{\urdufont}{\arabicfont} -% \renewcommand{\farsifont}{\arabicfont} -% -% \subsection{Special considerations} -% \parindenton -% \subsubsection{The name of God} \label{allahliga} -% -% The glyph \textsf{FDF2}, defined as ‘\textsc{arabic ligature allah isolated form}’ -% by the Unicode Consortium, is a source of great confusion. -% It is displayed in the Unicode Book with an initial alif and thus represents the -% name of God, Allāh, which in Arabic is always written as a special ligature -% (\ie {\tradarabic اﷲ} and not {\arabicfont الله}).\footnote{ ^^A -% The glyph {\tradarabic اﷲ} is taken from the font Traditional Arabic. -% In Scheherazade its design is rather suboptimal: {\arabicfont\char"FDF2}.} -% -% However, a substantial portion of real-world fonts rather represent that -% ligature \textit{without} the initial alif.\footnote{ ^^A -% My research on Arabic fonts available or known to me yields the following picture: -% The fonts that do not display the initial alif in the ligature \textsf{FDF2} -% include those provided by \href{http://www.linotype.com/2517/arabicfonts.html}{Linotype}; -% the great majority of those licensed to or developed by -% \href{http://www.microsoft.com/typography/links/FontPortal.aspx?PID=8}{Microsoft} -% (I could verify it for Times New Roman, Arial, Courier New, Microsoft Sans Serif, -% Arabic Transparent, Simplified Arabic, Simplified Arabic Fixed, -% WinSoft Serif Pro, Traditional Arabic, Andalus, Old Antic Bold, -% Old Antic Decorated and Farsi Simple Bold); the fonts distributed by -% \href{http://www.arabeyes.org}{Arabeyes.org}; -% \href{http://scripts.sil.org/ArabicFonts}{SIL}'s Lateef; -% and the fonts developed by \href{www.crulp.org}{CRULP} in Pakistan. -% The Unicode-conformant fonts, on the other hand, are: -% \href{http://scripts.sil.org/ArabicFonts}{SIL}'s Scheherazade, -% \href{http://www.tdc.org/news/2006Results/AdobeArabic.html}{Adobe Arabic} -% (distributed with the \href{http://www.adobe.com/ceea/}{Middle-Eastern version} -% of the latest \href{http://www.adobe.com/products/acrobat/readermain.html}{Adobe Reader 7}), -% Arial Unicode MS, and \href{http://sakkal.com/type/typesetting.html}{Arabic Typesetting} -% (distributed with \href{http://www.microsoft.com/typography/VOLT.mspx}{VOLT} -% and with \href{http://www.microsoft.com/office/editions/prodinfo/language/proofingtools.mspx}{Microsoft Office Proofing Tools 2003}).} -% The confusion probably has to do with Unicode’s omission to include the ALLAH -% ligature without the initial alif, which is imperatively required for typesetting -% expressions like \textit{al-ḥamdu li-llāh} \RL{\tradarabic الحمد ﷲ}. -% Many fonts code the ligature {\tradarabic ﷲ} in the Private Use Area -% and make it accessible as a default ligature for the sequence \textit{lām-lām-hāʾ}. -% In such a case it can be generated from the input ¦\textarab{l|lh}¦ -% (the vertical bar here tells \arabxetex\ not to interpret the sequence ¦ll¦ -% as \textit{lām} with \textit{shadda}).\footnote{ ^^A -% This currently does not work with Scheharazade, but the -% developers are aware of the issue.} -% Besides not being a standard \arabtex\ input sequence, the trouble is that -% there is no way to know a priori whether the font provides the glyph {\tradarabic ﷲ} -% at all, and whether it is defined as a default ligature from the above input. -% -% To solve this problem with \arabxetex, we had no choice but provide two classes of -% font mappings, one for each of the above two categories of Arabic fonts.\footnote{ ^^A -% This has the unfortunate consequence of doubling the number of mappings shipped -% with \arabxetex. But since their size is small, it is more an esthetic annoyance -% than a practical one.} -% By default we assume the canonical situation where \textsf{U+FDF2} corresponds to -% {\tradarabic اﷲ}, but the user can change this by choosing one of the package options -% ¦fdf2alif¦ or ¦fdf2noalif¦; it can also be changed locally by means of the commands -% \DescribeMacro{\SetAllahWithAlif} -% \DescribeMacro{\SetAllahWithoutAlif} -% \cmd\SetAllahWithAlif\ and \cmd\SetAllahWithoutAlif\ \textit{before} making use of -% \cmd\arabicfont. In a future version we might perhaps implement a database of Arabic fonts -% within \arabxetex, so that this would work automatically in the most common cases. -% -% The font Adobe Arabic has in addition the ligature \textit{fa-li-llāh}: -% \textit{fā fatḥa lām kasra lām hāʾ} $\rightarrow$ {\adobearabic فَلِله}, which can be -% entered in \arabtex\ notation as ¦\textarab{falilh}¦. In this particular case we also -% provide the input convention ¦FALILLAH¦. -% -% -% ^^ATEST Scheherazade: \textarab{l|lh} -% ^^A -% ^^A\renewcommand{\arabicfont}{\tradarabic} -% ^^ATEST Trad Arabic: \textarab{l|lh} -% -% ^^ALinotype: \\ -% ^^ALotus Linotype {\lotusfont\char"FDF2} --- -% ^^AAlHarfAlJadid Linotype One {\fontspec[Scale=1.5]{AlHarfAlJadid Linotype One}\char"FDF2} --- -% ^^AAlHarfAlJadid Linotype Two {\fontspec[Scale=1.5]{AlHarfAlJadid Linotype Two}\char"FDF2} --- -% ^^AMariam Linotype {\fontspec[Scale=1.5]{Mariam Linotype}\char"FDF2} --- -% ^^AQadi Linotype {\fontspec[Scale=1.5]{Qadi Linotype}\char"FDF2} -% ^^A -% ^^AFonts from or licensed to Microsoft: \\ -% ^^ATimes New Roman {\fontspec[Scale=1.5]{Times New Roman}\char"FDF2} --- -% ^^AArial {\fontspec[Scale=1.5]{Arial}\char"FDF2} --- -% ^^ACourier New {\fontspec[Scale=1.5]{Courier New}\char"FDF2} --- -% ^^AMicrosoft Sans Serif {\fontspec[Scale=1.5]{Microsoft Sans Serif}\char"FDF2} --- -% ^^AArial Unicode MS {\arialuni\char"FDF2} --- -% ^^AArabic Transparent {\fontspec[Scale=1.5]{Arabic Transparent}\char"FDF2} --- -% ^^ASimplified Arabic {\fontspec[Scale=1.5]{Simplified Arabic}\char"FDF2} --- -% ^^ASimplified Arabic Fixed {\fontspec[Scale=1.5]{Simplified Arabic Fixed}\char"FDF2} --- -% ^^AWinSoft Serif Pro {\fontspec[Scale=1.5]{WinSoft Serif Pro}\char"FDF2} --- -% ^^ATraditional Arabic {\fontspec[Scale=1.5]{Traditional Arabic}\char"FDF2} --- -% ^^AArabic Typesetting {\arabtype\char"FDF2} --- -% ^^AAndalus {\fontspec[Scale=1.5]{Andalus}\char"FDF2} --- -% ^^AOld Antic Bold {\fontspec[Scale=1.5]{Old Antic Bold}\char"FDF2} --- -% ^^AFarsi Simple Bold {\fontspec[Scale=1.5]{Farsi Simple Bold}\char"FDF2} -% ^^A -% ^^A -% ^^AAdobe:\\ -% ^^AAdobe Arabic {\adobearabic\char"FDF2} --- -% ^^A -% ^^ASIL: \\ -% ^^AScheherazade {\arabicfont\char"FDF2} --- -% ^^ALateef {\fontspec{Lateef}\char"FDF2} -% ^^A -% ^^A%CRULP:\\ -% ^^A%Nafees Nastaleeq {\fontspec{Nafees Nastaleeq}\char"FDF2} --- -% ^^A%{\fontspec{Nafees Pakistani Naskh}\char"FDF2} -% ^^A -% ^^AArabeyes:\\ -% ^^AKacstBook {\fontspec{KacstBook}\char"FDF2} -% ^^AKacstFarsi {\fontspec{KacstFarsi}\char"FDF2} -% -% -% -% -% \subsection{Transliteration} -% -% At the moment transliteration mappings are provided for Arabic, Persian, Urdu, -% Sindhi and Pashto. The rest may be provided in a future version. -% As a rule the default conventions provided are those of the Library of Congress. -% \new{1.1.2}For Arabic the alternative transliteration of the -% \href{http://www.orientasia.info/download/arab_trans.pdf}{Deutsche Morgenländische Gesellschaft} -% is also available (but should be still considered experimental). -% You can set it with the command \DescribeMacro{\SetTranslitConvention} -% ¦\SetTranslitConvention{dmg}¦. -% To switch back to the Library of Congress transliteration, type -% ¦\SetTranslitConvention{loc}¦. -% Additional conventions for other languages, as with \arabtex, \eg -% Encyclopedia of Islam, Encyclopedia Iranica, etc., might be added later.\footnote{ % -% It is suggested that you contact the author if you have such needs.} -% -% Transliteration is set in italics by default. This can be changed by declaring, e.g., -% \DescribeMacro{\SetTranslitStyle} -% ¦\SetTranslitStyle{\upshape}¦. -% To transliterate proper nouns with capitals, prefix the words to be capitalized with \cmd\UC: -% \DescribeMacro{\UC} -% \begin{Verbatim}[gobble=2,fontsize=\normalsize] -% \begin{arab}[trans] -% al-^say_h al-`Alim \UC na.sIr \UC al-dIn \UC al-.tUsI -% \end{arab} -% \end{Verbatim} -% ^^A\SetTranslitStyle{\gentium\itshape} -% \begin{arab}[trans] -% \noindent al-^say_h al-`Alim \UC na.sIr \UC al-dIn \UC al-.tUsI -% \end{arab} -% Note that the article \textit{al-} is automatically skipped. -% Note also that since the transliteration is coded in Unicode at the level of -% the font-mapping, it is necessary that the font contains all required glyphs.\footnote{ ^^A -% See Appendix~\ref{latinextfonts} for a list of recommended Unicode fonts that cover the -% full \textsc{latin extended additional} plane.} -% -% ^^AIf your default roman font does not have the required -% ^^Adiacritics, you can declare for instance -% ^^A¦\SetTranslitStyle{\fontspec{Gentium}\itshape}¦. -% -% ^^A\section{TODO} -% ^^A -% ^^A\begin{MYitemize} -% ^^A \item implement romanized transliterations for kashmiri, turkish, kurdish, malay and uighur. -% ^^A \item perhaps at a later stage: add support for hebrew and judeo-arabic? -% ^^A \item syriac? -% ^^A\end{MYitemize} -% ^^A -% -% \subsection{Typesetting critical editions with \pkg{ednotes}} -% \unsetfootnoteRL -% -% In conjunction with \pkg{bidi}, the \pkg{ednotes} package makes it wonderfully -% easy to typeset critical editions of texts in Arabic script (or other RTL -% scripts).\footnote{ -% The package \href{http://tug.ctan.org/tex-archive/macros/latex/contrib/ledmac/ledmac.pdf}{\pkg{ledmac}} -% has not been extensively tested with \pkg{bidi} yet, but our initial -% trials were not successful.} -% ^^A Be aware that -- as any package which plays with the primitive \cmd\everypar -- -% ^^A is not compatible with \pkg{bidi}. -% The direction of each level of footnotes can be controlled by -% means of ¦\SetFootnoteHook{\setRL}¦ (or ¦\setLR¦) right before the declaration -% ¦\DeclareNewFootnote{X}[…]¦. Here is an example preamble that might be used -% for typesetting a critical edition with \pkg{ednotes} and \arabxetex.\footnote{ ^^A -% Of course if the edition is typed directly in UTF-8 encoding, -% the use of \arabxetex\ is by no means compulsory. Yet see the -% remarks in §~\ref{arabtexnotes} above.} -% See the \pkg{ednotes} documentation for more details.\footnote{ ^^A -% \url{http://www.ctan.org/tex-archive/macros/latex/contrib/ednotes/ednotugb.pdf}. -% See also \url{http://www.webdesign-bu.de/uwe_lueck/critedltx.html}.} -% -% \begin{Verbatim}[gobble=2,fontsize=\small] -% \usepackage[modulo,perpage,para*]{ednotes}%this calls manyfoot.sty and lineno.sty -% \usepackage{arabxetex} -% -% % make \footnoterule of \textwidth -% \makeatletter% -% \renewcommand{\footnoterule}{\kern-3\p@ -% \hrule width \textwidth \kern 2.6\p@} -% \makeatother -% -% \modulolinenumbers[5] -% % this is to set linenumbering in Arabic: -% \renewcommand{\linenumberfont}{\arabicfont\addfontfeature{Mapping=arabicdigits}\tiny} -% -% \renewcommand{\extrafootnoterule}{} -% \SelectFootnoteRule[0]{extra} -% \SetFootnoteHook{\unsetRL}%--> must appear immediately before \DeclareNewFootnote -% %% For ednotes the command \PrecedeLevelWith{X}{hook} is available -% \DeclareNewFootnote{B}[fnsymbol] -% \renewcommand*{\differentlines}[2]{\linesfmt{\RL{#1$-$#2}}}% -% \renewcommand*{\linesfmt}[1]{\raisebox{1ex}{\linenumberfont #1}~}% -% \renewcommand{\lemmafmt}[1]{#1~[ }% -% %Custom macros to enter variants, additions, omissions, illegible passages, -% % text above the line, marginal notes, lacunae, and restorations: -% \newcommand{\VAR}[2]{\Anote{\textarab{#1}}{\textarab{#2}}} -% \newcommand{\ADD}{\textroman{\textbf{+}}\,}% or \textarab{zAyid fI}\ -% \newcommand{\OM}{\textroman{\textbf{\char"2013}}\,}% or \textarab{nAqi.s fI}\ -% \newcommand{\ILLEG}{\textarab{.gayr maqrU' fI}\ } -% \newcommand{\BLANK}{\textarab{bayA.d fI}\ } -% \newcommand{\SUPERLIN}{\textarab{ta.ht al-sa.tr fI}\ } -% \newcommand{\MARG}{\textarab{bi-al-hAmi^s fI}\ } -% \newcommand{\LACUNA}{\textroman{\textlangle~{\dots}~\textrangle}} -% \newcommand{\RESTOR}[1]{\textroman{\textrangle}#1\textroman{\textlangle}} -% % to separate lemmas in different manuscripts: -% \def\SEP{\enskip$\Vert$\enskip} -% \end{Verbatim} -% -% For a real-life example of how to use ednotes with \arabxetex, see -% the file ¦ednotes_example.tex¦ which comes with this package. -% -% -% \section{Tabular overview of \arabtex\ encoding conventions} -% \label{conventiontable} -% -% The table is arranged alphabetically following the most signicant letter of the -% \ASCII\ input code. Color convention: red means that the glyph is the default -% for the given input code, and that it is available in all languages except -% those where different glyphs are shown (in black). That default glyph is also -% displayed in light gray under each language in which it is featured. Glyphs in -% blue are archaic forms (\eg old Urdu). An asterisk after the Unicode number -% means that the character was not available with \arabtex. Green glyphs are -% special: either they are used to represent defective writing or they provide -% characters for other languages. Those shown in the column for Arabic are -% available by default. See the relevant notes at the end. -% -% \begin{center}\footnotesize -% \renewcommand{\arraystretch}{2} -% ^^A 1 2 3 4 5 6 7 8 9 10 -% ^^A\tablefirsthead{% -% ^^Acode & arab & farsi & urdu & pashto & sindhi & ottoman & kurdish & kashmiri & malay & uighur \\\hline} -% \tablehead{^^A -% \hline -% ^^A\tiny code &\tiny arab &\tiny farsi &\tiny urdu &\tiny pashto &\tiny sindhi &\tiny ottoman &\tiny kurdish &\tiny kashmiri &\tiny malay &\tiny uighur \\\hline} -% ^^A next line: language codes after ISO-639-1 -% code & ar & fa & ur & ps & sd & tr & ku & ks & ms & ug \\\hline} -% \tabletail{\hline} -% \begin{supertabular}{|c|c|c|c|c|c|c|c|c|c|c|c|} -% ^^A\tablelasttail{\hline} -% ¦a¦ & \GR{Ba}{064E}&&&&&&\GN[kurdish]{a/Ba}{}&&&\\ -% ¦A¦ & \GR{BA}{0627}&&&&&&\GN[kurdish]{A/BA}{}&&&\\ -% ¦.a¦ & &&&&&&&\GN[kashmiri]{B.a}{0654}&&\\ -% ¦.A¦ & &&&&&&&\GN[kashmiri]{B.A}{0672}&&\\ ^^A(kashmiri) -% ¦_a¦ & \GN{B_a}{0670}&&&&&&&&&\\ -% ¦_A¦ & \GN{B_A}{}&&&&&&&&&\\ -% ¦:a¦ & &&&&&&&&&\GN[uighur]{:a}{} \\ -% ¦b¦ & \GR{b}{0628}&\GG{b}&\GG{b}&\GG{b}&\GG{b}&\GG{b}&\GG{b}&\GG{b}&\GG{b}&\GG{b} \\ -% ¦B¦ & \GR{B}{0640}&&&&&&&&&\\ -% ¦.b¦ & \GV{.b}{066E}&&&&&&&&&\\ -% ¦:b¦ & &&&&\GR[sindhi]{:b}{067B}&&&&&\\ ^^A(sindhi) -% ¦bh¦ & &&&&\GN[sindhi]{bh}{0680}&&&&&\\ -% ¦c¦ & &&&&\GR[sindhi]{c}{0681}&\GN[turk]{c}{062C}&&&\GN[malay]{c}{0686}&\\ -% ^^A¦.c¦ & \GN{.c}{}&&&&&&&&&\\ -% ¦,c¦ & &&&\GR[pashto]{,c}{0685}&&\GN[turk]{,c}{0686}&\GN[kurdish]{,c}{0686}&&&\\ -% ¦^c¦ & \GG{^c}&\GR{^c}{0686}&\GG{^c}&\GG{^c}&\GG{^c}&\GG{^c}&\GG{^c}&\GG{^c}&\GG{^c}&\GG{^c} \\ -% ¦^ch¦ & &&&&\GN[sindhi]{^ch}{0687}&&&&&\\ -% ¦:c¦ & &&&\GR[pashto]{:c}{0682*}&&&&&&\\ -% ¦.^c¦ & \GV{.^c}{06BF*}&&&&&&&&&\\ -% ¦d¦ & \GR{d}{062F}&\GG{d}&\GG{d}&\GG{d}&\GG{d}&\GG{d}&\GG{d}&\GG{d}&\GG{d}&\GG{d} \\ -% ¦.d¦ & \GR{.d}{0636}&\GG{.d}&\GG{.d}&\GG{.d}&\GG{.d}&\GG{.d}&\GG{.d}&\GG{.d}&\GG{.d}&\GG{.d} \\ -% ¦,d¦ & &&\GN[urdu]{,d}{0688}&\GN[pashto]{,d}{0689}&\GR[sindhi]{,d}{068A}&&&&&\\ ^^Aurdu -% ¦.,d¦ & &&\GV{.,d}{068B*}$^a$&&&&&&&\\ ^^AWestern Punjabi -% ¦^d¦ & \GV{^d}{06EE*}&&&&\GB[sindhi]{^d}{068E*}&&&&&\\ -% ¦_d¦ & \GR{_d}{0630}&\GG{_d}&\GG{_d}&\GG{_d}&\GG{_d}&\GG{_d}&\GG{_d}&\GG{_d}&\GG{_d}&\\ -% ¦:d¦ & &&&&\GR[sindhi]{:d}{068F}&&&&&\\ ^^A(sindhi) -% ¦::d¦ & &&\GB[urdu]{::d}{0690*}&&&&&&&\\ -% ¦dh¦ & &&&&\GN[sindhi]{dh}{068C}&&&&&\\ -% ¦,dh¦ & &&&&\GN[sindhi]{,dh}{068D}&&&&&\\ -% ¦e¦ & &\GR{Be}{}&\GG{Be}&\GN[pashto]{Be}{0659}&\GG{Be}&&\GN[kurdish]{e/Be}{}&\GN[kashmiri]{Be}{06D2+0658}&&\GN[uighur]{Be}{06D0} \\ -% ¦E¦ & &\GR{BE}{}&\GN[urdu]{BE}{06D2}&\GN[pashto]{BE}{06D0}&&&\GN[kurdish]{E/BE}{}&\GN[kashmiri]{BE}{06D2}&&\\ -% ¦ee¦ & &&&\GN[pashto]{Bee}{}&&&&&&\\ -% ¦ae¦ & \GN{Bae}{}&&\GN[urdu]{Bae}{}&\GN[pashto]{Bae}{}&\GN[sindhi]{Bae}{}&&&&&\\ -% ¦Ee¦ & &&&\GN[pashto]{BEe}{06CD}&&&&&&\\ -% ^^A¦.e¦ & \GN{B.e}{}&&&&&&&&&\\ -% ^^A¦^e¦ & \GN{B^e}{}&&&&&&&&&\\ -% ¦_e¦ & &\GR{B_e}{}&&&&&&&&\\ -% ¦`e¦ & &&&&&&\GN[kurdish]{`e}{}&&&\\ -% ¦'E¦ & &&\GR[urdu]{B'E}{06D3}&&&&&&&\\ -% ^^A¦:e¦ & \GN{B:e}{}&&&&&&&&&\\ -% ¦f¦ & \GR{f}{0641}&\GG{f}&\GG{f}&\GG{f}&\GG{f}&\GG{f}&\GG{f}&\GG{f}&\GG{f}&\GG{f} \\ ^^A maghribi: \GN[maghribi]{f}{} -% ¦.f¦ & \GV{.f}{06A1}&&&&&&&&&\\ -% ¦g¦ & &\GR{g}{06AF}&\GG{g}&\GG{g}&\GG{g}&\GG{g}&\GG{g}&\GG{g}&\GN[malay]{g}{0762}&\GG{g} \\ -% ¦G¦ & &&&\GR[pashto]{G}{06AB}&&&&&&\\ -% ¦.g¦ & \GR{.g}{063A}&\GG{.g}&\GG{.g}&\GG{.g}&\GG{.g}&\GG{.g}&\GG{.g}&\GG{.g}&\GG{.g}&\\ -% ¦:g¦ & &&&&\GR[sindhi]{:g}{06B3}&&&&&\\ -% ¦.:g¦ & &&&&\GB[sindhi]{.:g}{06B4*}&&&&&\\ -% ¦,g¦ & \GV{,g}{06AC}$^b$ &&&&&&&&&\\ -% ¦^g¦ & \GR{^g}{062C}&\GG{j}&\GG{j}&\GG{j}&\GG{j}&\GN[turk]{^g}{06A0}&\GN[kurdish]{^g}{063A}&\GG{j}&\GN[malay]{^g}{06A0}&\GN[uighur]{^g}{063A} \\ -% ¦gh¦ & &&&&\GN[sindhi]{gh}{}&&&&&\\ -% ¦h¦ & \GR{h}{0647}&\GG{h}&\GN[urdu]{h}{06BE}&\GG{h}&\GG{h}&\GG{h}&\GG{h}&\GG{h}&\GG{h}&\GG{h} \\ -% ¦H¦ & &\GN[farsi]{-H}{0647}&\GN[urdu]{-H}{06C3}&\GN[pashto]{-H}{0647}&&&&&&\\ -% ¦.h¦ & \GR{.h}{062D}&\GG{.h}&\GG{.h}&\GG{.h}&\GG{.h}&\GG{.h}&\GG{.h}&\GG{.h}&\GG{.h}&\\ -% ¦,h¦ & &&\GR[urdu]{,h}{06C1}&&&&&\GN[kashmiri]{,h}{}&&\\ -% ¦_h¦ & \GR{_h}{062E}&\GG{x}&\GG{x}&\GG{x}&\GG{x}&\GG{x}&\GG{x}&\GG{x}&\GG{x}&\\ -% ¦i¦ & \GR{Bi}{0650}&&&&&&&&&\GN[uighur]{-i-}{066E} \\ -% ¦I¦ & \GN{BI}{064A}&\GR[farsi]{BI}{06CC}&\GG[urdu]{BI}&\GG[pashto]{BI}&\GN[sindhi]{BI}{}&\GG[turk]{BI}&\GN[kurdish]{I/BI}{}&\GG[kashmiri]{BI}&\GN[malay]{BI}{}&\\ -% ¦.I¦ & \GR{B.I}{06CC*}&&&&&&&&&\\ -% ^^A¦.i¦ & \GN{B.i}{}&&&&&&&&&\\ -% ¦_i¦ & \GR{B_i}{0656}&&&&&&&&&\\ -% ^^A¦:i¦ & \GN{B:i}{}&&&&&&&&&\\ -% ¦j¦ & \GR{j}{062C}&\GG{j}&\GG{j}&\GG{j}&\GG{j}&\GN[turk]{j}{0698}&\GN[kurdish]{j}{0698}&\GG{j}&\GG{j}&\GG{j} \\ -% ¦:j¦ & &&&&\GR[sindhi]{:j}{0684}&&&&&\\ ^^A(sindhi) -% ¦jh¦ & &&&&\GN[sindhi]{jh}{06A9}&&&&&\\ -% ¦k¦ & \GR{k}{0643}&\GG{k}&\GG{k}&\GG{k}&\GN[sindhi]{k}{06AA}&\GG{k}&\GG{k}&\GG{k}&\GG{k}&\GG{k} \\ -% ^^A¦K¦ & \GN{K}{}&&&&&&&&&\\ -% ¦.k¦ & \GV{.k}{06A9}&&&&&\GN[turk]{.k}{0642}&&&&\\ -% ¦_k¦ & \GR{_k}{063A}&&&&&&&&&\\ -% ¦kh¦ & &&&&\GN[sindhi]{kh}{}&&&&&\\ -% ¦l¦ & \GR{l}{0644}&\GG{l}&\GG{l}&\GG{l}&\GG{l}&\GG{l}&\GG{l}&\GG{l}&\GG{l}&\GG{l} \\ -% ¦.l¦ & &&&&&&\GR[kurdish]{.l}{06B6*}&&&\\ -% ¦^l¦ & &&&&&&\GR[kurdish]{^l}{06B5}&&&\\^^A(kurdish) -% ¦m¦ & \GR{m}{0645}&\GG{m}&\GG{m}&\GG{m}&\GG{m}&\GG{m}&\GG{m}&\GG{m}&\GG{m}&\GG{m} \\ -% ^^A¦M¦ & \GN{M}{}&&&&&&&&\GN[malay]{M}{}&\\ -% {\tiny ¦.mIN¦} & &&&&\GN[sindhi]{.mIN}{06FE}&&&&&\\ -% {\tiny ¦'|IN¦} & &&&&\GN[sindhi]{'|IN}{06FD}&&&&&\\ -% ¦n¦ & \GR{n}{0646}&\GG{n}&\GG{n}&\GG{n}&\GG{n}&\GG{n}&\GG{n}&\GG{n}&\GG{n}&\GG{n} \\ -% ¦aN¦ & \GR{BaN}{064B}&&&&&&&&&\\ -% ¦uN¦ & \GR{BuN}{064C}&&&&&&&&&\\ -% ¦iN¦ & \GR{BiN}{064D}&&&&&&&&&\\ -% ¦.n¦ & &&\GR{.n}{06BA}&&&&&&&\\ -% ¦..n¦ & &&&&\GB[sindhi]{..n}{06B2*}&&&&&\\ -% ¦,n¦ & &&&\GR[pashto]{,n}{06BC}&\GN[sindhi]{,n}{06BB}&&&&&\\ -% ¦^n¦ & &&&&\GN[sindhi]{^n}{0683}&&&&\GN[malay]{^n}{06BD}&\GR[uighur]{^n}{06AD} \\ -% ¦:n¦ & &&&&\GR[sindhi]{:n}{06B1}&&&&&\\ -% ¦o¦ & &\GR[farsi]{Bo}{}&&\GN[pashto]{Bo}{0657}&&&\GN[kurdish]{o/Bo}{}&\GN[kashmiri]{Bo}{06C6}&&\GN[uighur]{Bo}{} \\ -% ¦O¦ & &\GN[farsi]{BO}{}&\GN[urdu]{BO}{}&\GN[pashto]{BO}{}&&&\GN[kurdish]{O/BO}{}&\GN[kashmiri]{BO}{}&&\\ -% ¦ao¦ & &&\GR[urdu]{Bao}{}&&\GR[sindhi]{Bao}{}&&&&&\\ -% ¦.o¦ & &&&&&&&\GN[kashmiri]{B.o}{06C4}&&\\ -% ¦.O¦ & &&&&&&&\GN[kashmiri]{B.O}{}&&\\ -% ¦_o¦ & &\GR{B_o}{}&&&&&&&&\\ -% ¦_O¦ & &\GR{B_O}{}&&&&&&&&\\ -% ¦:o¦ & &&&&&&&&&\GN[uighur]{:o/B:o}{06C6} \\ -% ¦:O¦ & \GV{:O}{06FC}&&&&&&&&&\\ -% ¦p¦ & &\GR{p}{067E}&\GG{p}&\GG{p}&\GG{p}&\GG{p}&\GG{p}&\GG{p}&\GN[malay]{p}{06A8}&\GG{p} \\ -% ^^A¦.p¦ & \GN{.p}{} &&&&&&&&&\\ -% ¦ph¦ & &&&&\GN[sindhi]{ph}{06A6}&&&&&\\ -% ¦q¦ & \GR{q}{0642}&\GG{q}&\GG{q}&\GG{q}&\GG{q}&\GG{q}&\GG{q}&\GG{q}&\GG{q}&\GG{q} \\ ^^A\GN[maghribi]{q}{} -% ¦.q¦ & \GV{.q}{066F}&&&&&&&&&\\ -% ¦r¦ & \GR{r}{0631}&\GG{r}&\GG{r}&\GG{r}&\GG{r}&\GG{r}&\GG{r}&\GG{r}&\GG{r}&\GG{r} \\ -% ¦.r¦ & \GV{.r}{0694*}&&&&&&\GN[kurdish]{.r}{0695}&&&\\ -% ¦,r¦ & &&\GR[urdu]{,r}{0691}&\GN[pashto]{,r}{0693}&\GN[sindhi]{,r}{0699}&&\GN[kurdish]{,r}{0694*}&&&\\ -% ¦^r¦ & \GV{^r}{06EF*}&&&&&&\GN[kurdish]{^r}{0692*}&&&\\ -% ¦:r¦ & \GV{:r}{0697*}$^c$&&&&&&&&&\\ ^^ADargwa in Dagestan -% ¦s¦ & \GR{s}{0633}&\GG{s}&\GG{s}&\GG{s}&\GG{s}&\GG{s}&\GG{s}&\GG{s}&\GG{s}&\GG{s} \\ -% ^^A¦S¦ & \GN{S}{}&&&&&&&&&\\ -% ¦.s¦ & \GR{.s}{0635}&\GG{.s}&\GG{.s}&\GG{.s}&\GG{.s}&\GG{.s}&\GG{.s}&\GG{.s}&\GG{.s}&\\ -% ¦,s¦ & &&&\GR[pashto]{,s}{069A}&&\GN[turk]{,s}{0634}&&&&\\ -% ¦^s¦ & \GR{^s}{0634}&\GG{^s}&\GG{^s}&\GG{^s}&\GG{^s}&\GG{^s}&\GG{^s}&\GG{^s}&\GG{^s}&\GG{^s} \\ -% ¦_s¦ & &&&&\GR{_s}{062B}&&&&&\\ -% ¦:s¦ & \GV{:s}{069B}&&&&&&&&&\\ -% ¦t¦ & \GR{t}{062A}&\GG{t}&\GG{t}&\GG{t}&\GG{t}&\GG{t}&\GG{t}&\GG{t}&\GG{t}&\GG{t} \\ -% ¦T¦ & \GR{T}{062A}&&&&&&&\GG{T}&&\\ -% ¦.t¦ & \GR{.t}{0637}&\GG{.t}&\GG{.t}&\GG{.t}&\GG{.t}&\GG{.t}&\GG{.t}&\GG{.t}&\GG{.t}&\\ -% ^^A¦.T¦ & \GN{.T}{}&&&&&&&&&\\ -% ¦,t¦ & &&\GR[urdu]{,t}{0679}&\GN[pashto]{,t}{067C}&\GN[sindhi]{,t}{067D}&&&&&\\ -% ¦_t¦ & \GR{_t}{062B}&\GG{_t}&\GG{_t}&&\GG{_t}&\GG{_t}&\GG{_t}&\GG{_t}&\GG{_t}&\\ -% ^^A¦:t¦ & \GN{:t}{}&&&&&&&&&\\ -% ¦th¦ & &&&&\GN[sindhi]{th}{067F}&&&&&\\ -% ¦,th¦ & &&&&\GN[sindhi]{,th}{067A}&&&&&\\ -% ¦u¦ & \GR{Bu}{064F}&\GG{Bu}&\GG{Bu}&\GG{Bu}&\GG{Bu}&\GG{Bu}&\GN[kurdish]{u/Bu}{}&\GG{Bu}&\GG{Bu}&\GN[uighur]{u/Bu}{06C7} \\ -% ¦U¦ & \GR{BU}{}&\GG{BU}&\GG{BU}&\GG{BU}&\GG{BU}&\GG{BU}&\GN[kurdish]{U/BU}{}&\GN[kashmiri]{BU}{0648+0657}&\GG{BU}&\\ -% ¦.u¦ & &&&&&&&\GN[kashmiri]{B.u}{0655}&&\\ -% ¦.U¦ & &&&&&&&\GN[kashmiri]{B.U}{0673}&&\\ -% ^^A¦^u¦ & \GN{B^u}{}&&&&&&&&&\\ -% ¦_u¦ & \GR{B_u}{0657}&&&&&&&&&\\ -% ^^A¦_U¦ & \GN{B_U}{}&&&&&&&&&\\ -% ¦:u¦ & &&&&&&&&&\GN[uighur]{:u/B:u}{06C8} \\ -% ¦:U¦ & \GV{:U}{06C7}$^d$&&&&&&&&&\\ -% ¦v¦ & \GR{v}{06A4}$^e$&&&&&&&&\GN[malay]{v}{06CF}&\\ ^^A\GN[maghribi]{v}{06A5} -% ^^A¦V¦ & \GN{V}{}&&&&&&&&&\\ -% ^^A¦.v¦ & \GN{.v}{}&&&&&&&&&\\ -% ¦w¦ & \GR{w}{0648}&\GG{w}&\GG{w}&\GG{w}&\GG{w}&\GG{w}&\GG{w}&\GG{w}&\GG{w}&\GN[uighur]{w}{06CB} \\ -% ¦W¦ & \GR{W}{}&&&&&&&&&\\ -% ¦^w¦ & \GV{^w}{06C9*}&&&&&&&&&\\ -% ¦:w¦ & \GV{:w}{06CA*}&&&&&&&&&\\ -% ¦x¦ & \GR{x}{062E}&\GG{x}&\GG{x}&\GG{x}&\GG{x}&\GG{x}&\GG{x}&\GG{x}&\GG{x}&\GN[uighur]{x}{} \\ -% ¦y¦ & \GR{y}{064A}&\GN[farsi]{y}{06CC}&\GG[urdu]{y}&\GG[pashto]{y}&\GG{y}&\GG[turk]{y}&\GG{y}&\GG[kashmiri]{y}&\GG{y}&\GG{y} \\ -% ¦Y¦ & \GR{"Y}{0649}&&&&&&&&&\\ -% ¦.y¦ & &&&&&&&\GN[kashmiri]{B.yB}{}&&\\ -% ¦z¦ & \GR{z}{0632}&\GG{z}&\GG{z}&\GG{z}&\GG{z}&\GG{z}&\GG{z}&\GG{z}&\GG{z}&\GG{z} \\ -% ¦.z¦ & \GR{.z}{0638}&\GG{.z}&\GG{.z}&\GG{.z}&\GG{.z}&\GG{.z}&\GG{.z}&\GG{.z}&\GG{.z}&\\ -% ¦,z¦ & &&&\GR[pashto]{,z}{0696}&&\GN[turk]{,z}{0636}&&&&\\ -% ¦^z¦ & &\GR{^z}{0698}&\GG{^z}&\GG{^z}&&&&\GG{^z}&&\GG{^z} \\ -% ¦_z¦ & \GR{_z}{0630}$^f$&&&&&&&&&\\ -% ¦:z¦ & &&&&&&&\GN[kashmiri]{:z}{0636}&&\\ -% ¦'¦ & \GR{'}{0621}&\GG{'}&\GG{'}&\GG{'}&\GG{'}&\GG{'}&\GG{'}&\GG{'}&\GG{'}&\GG{ئ-} \\ -% ¦`¦ & \GR{`}{0639}&\GG{`}&\GG{`}&\GG{`}&\GG{`}&\GG{`}&\GG{`}&\GG{`}&\GG{`}&\\ -% &&&&&&&&&& \\ -% \end{supertabular} -% \end{center} -% \footnotesize -% -% $^a$ For Western Punjabi (Lahnda).\\ -% $^b$ Alternative form of \textmalay{g} in Malay.\\ -% $^c$ For Dargwa (language of Dagestan).\\ -% $^d$ For Kirgiz (and Uighur).\\ -% $^e$ To transliterate dialects and foreign words.\\ -% $^f$ Alternative to ¦_d¦.\\ -% \normalsize\bigskip -% -% Maghribi Arabic is identical to Arabic except for the three letters ¦f¦, ¦q¦ -% and ¦v¦ which yield the glyphs \textmaghribi{f} (\textsf{U+06A2}), \textmaghribi{q} -% (\textsf{U+06A7}), and \textmaghribi{v} (\textsf{U+06A5}), respectively. -% -% ^^A TODO : implement the following ?? -% ^^A perhaps unnecessary coz it can be coded by means of Urdu -% ^^A yet it might be nice to code pashto in a standard way and -% ^^A be able to switch the representation to Pakistani -% ^^A Differences between standard Pashto and Pakistani Pashto (from inspection of the Omega OTP files) -% ^^A064A -> 06D2 -% ^^A069A -> 062E ?? -% ^^A06A9 -> 0643 -% ^^A06AF -> 06AB -% ^^A06CD -> 06D2 -% ^^A06D0 -> 06D2 -% ^^A0626 -> 06D2 -% ^^A0649 -> 06D2 -% ^^A067C -> 0679 -% ^^A0693 -> 0691 -% ^^A0696 -> 06AF -% ^^A06BC -> 0646 0631 -% ^^A0689 -> 0688 -% ^^A -% -% \section{Unicode-Encoding concordance} -% \parindent 0pt -% \let\oldbaselineskip=\baselineskip -% \baselineskip=20pt -% \begin{multicols}{2} -% \begin{tabbing} -% \textsf{060B} \qquad \= {\arabicfont\char"060B} \qquad \= \kill -% \textsf{060B} \> {\arabicfont\char"060B} \\ -% \textsf{060C} \> {\arabicfont\char"060C} \> ¦,¦ \\ -% \textsf{060D} \> {\arabicfont\char"060D} \\ -% \textsf{060E} \> {\arabicfont\char"060E} \\ -% \textsf{060F} \> {\arabicfont\char"060F} \\ -% \textsf{0610} \> {\arabicfont\char"0610} \\ -% \textsf{0611} \> {\arabicfont\char"0611} \\ -% \textsf{0612} \> {\arabicfont\char"0612} \\ -% \textsf{0613} \> {\arabicfont\char"0613} \\ -% \textsf{0614} \> {\arabicfont\char"0614} \\ -% \textsf{0615} \> {\arabicfont\char"0615} \\ -% ^^AU+0616\\ %\textarab{\char"0616} \\ -% ^^AU+0617\\ %\textarab{\char"0617} \\ -% ^^AU+0618\\ %\textarab{\char"0618} \\ -% ^^AU+0619\\ %\textarab{\char"0619} \\ -% ^^AU+061A\\ %\textarab{\char"061A} \\ -% \textsf{061B} \> {\arabicfont\char"061B} \> ¦;¦ \\ ^^A\textarab{ ; } \\ -% ^^AU+061C\\ %\textarab{\char"061C} \\ -% ^^AU+061D\\ %\textarab{\char"061D} \\ -% \textsf{061E} \> {\arabicfont\char"061E} \> ¦::¦/¦DOTS¦ \\ -% \textsf{061F} \> {\arabicfont\char"061F} \> ¦?¦ \\ ^^A\textarab{ ? } \\ -% ^^AU+0620\\ %\textarab{\char"0620} \\ -% \textsf{0621} \> {\arabicfont\char"0621} \> ¦|"'¦ \textit{or context} \\ ^^A\textverb{ '| } \\ -% \textsf{0622} \> {\arabicfont\char"0622} \> ¦A"'¦ \textit{or context} \\ ^^A\textverb{ 'A } \\ -% \textsf{0623} \> {\arabicfont\char"0623} \> ¦a"'¦ \textit{or context} \\ ^^A\textverb{ 'a } \\ -% \textsf{0624} \> {\arabicfont\char"0624} \> ¦w"'¦ \textit{or context} \\ ^^A\textverb{ 'w } \\ -% \textsf{0625} \> {\arabicfont\char"0625} \> ¦i"'¦ \textit{or context} \\ ^^A\textverb{ 'i } \\ -% \textsf{0626} \> {\arabicfont\char"0626} \> ¦y"'¦ \textit{or context} \\ ^^A\textverb{ 'y } \\ -% \textsf{0627} \> {\arabicfont\char"0627} \> ¦A¦ \\ ^^A\textarab{ A } \\ -% \textsf{0628} \> {\arabicfont\char"0628} \> ¦b¦ \\ ^^A\textarab{ b } \\ -% \textsf{0629} \> {\arabicfont\char"0629} \> ¦T¦ \\ ^^A\textarab{ T } \\ -% \textsf{062A} \> {\arabicfont\char"062A} \> ¦t¦ \\ ^^A\textarab{ t } \\ -% \textsf{062B} \> {\arabicfont\char"062B} \> ¦_t¦ \\ ^^A\textarab{ _t } \\ -% \textsf{062C} \> {\arabicfont\char"062C} \> ¦^g¦/¦j¦ \\ ^^A\textarab{ j } \\ -% \textsf{062D} \> {\arabicfont\char"062D} \> ¦.h¦ \\ ^^A\textarab{ .h } \\ -% \textsf{062E} \> {\arabicfont\char"062E} \> ¦_h¦/¦x¦ \\ ^^A\textarab{ x } \\ -% \textsf{062F} \> {\arabicfont\char"062F} \> ¦d¦ \\ ^^A\textarab{ d } \\ -% \textsf{0630} \> {\arabicfont\char"0630} \> ¦_d¦ \\ ^^A\textarab{ _d } \\ -% \textsf{0631} \> {\arabicfont\char"0631} \> ¦r¦ \\ ^^A\textarab{ r } \\ -% \textsf{0632} \> {\arabicfont\char"0632} \> ¦z¦ \\ ^^A\textarab{ z } \\ -% \textsf{0633} \> {\arabicfont\char"0633} \> ¦s¦ \\ ^^A\textarab{ s } \\ -% \textsf{0634} \> {\arabicfont\char"0634} \> ¦^s¦ \\ ^^A\textarab{ ^s } \\ -% \textsf{0635} \> {\arabicfont\char"0635} \> ¦.s¦ \\ ^^A\textarab{ .s } \\ -% \textsf{0636} \> {\arabicfont\char"0636} \> ¦.d¦ \\ ^^A\textarab{ .d } \\ -% \textsf{0637} \> {\arabicfont\char"0637} \> ¦.t¦ \\ ^^A\textarab{ .t } \\ -% \textsf{0638} \> {\arabicfont\char"0638} \> ¦.z¦ \\ ^^A\textarab{ .z } \\ -% \textsf{0639} \> {\arabicfont\char"0639} \> ¦`¦ \\ ^^A\textarab{ ` } \\ -% \textsf{063A} \> {\arabicfont\char"063A} \> ¦.g¦ \\ ^^A\textarab{ .g } \\ -% \textsf{0640} \> {\arabicfont\char"0640} \> ¦B¦ \\ ^^A\textarab{ B } \\ -% \textsf{0641} \> {\arabicfont\char"0641} \> ¦f¦ \\ ^^A\textarab{ f } \\ -% \textsf{0642} \> {\arabicfont\char"0642} \> ¦q¦ \\ ^^A\textarab{ q } \\ -% \textsf{0643} \> {\arabicfont\char"0643} \> ¦k¦ \\ ^^A\textarab{ k } \\ -% \textsf{0644} \> {\arabicfont\char"0644} \> ¦l¦ \\ ^^A\textarab{ l } \\ -% \textsf{0645} \> {\arabicfont\char"0645} \> ¦m¦ \\ ^^A\textarab{ m } \\ -% \textsf{0646} \> {\arabicfont\char"0646} \> ¦n¦ \\ ^^A\textarab{ n } \\ -% \textsf{0647} \> {\arabicfont\char"0647} \> ¦h¦ \\ ^^A\textarab{ h } \\ -% \textsf{0648} \> {\arabicfont\char"0648} \> ¦w¦ \\ ^^A\textarab{ w } \\ -% \textsf{0649} \> {\arabicfont\char"0649} \> ¦Y¦ \\ ^^A\textarab{ Y } \\ -% \textsf{064A} \> {\arabicfont\char"064A} \> ¦y¦ \\ ^^A\textarab{ y } \\ -% \textsf{064B} \> {\arabicfont\char"064B} \> ¦aN¦ \\ ^^A\textarab{ |BaN } \\ -% \textsf{064C} \> {\arabicfont\char"064C} \> ¦uN¦ \\ ^^A\textarab{ |BuN } \\ -% \textsf{064D} \> {\arabicfont\char"064D} \> ¦iN¦ \\ ^^A\textarab{ |BiN } \\ -% \textsf{064E} \> {\arabicfont\char"064E} \> ¦a¦ \\ ^^A\textarab{ |Ba } \\ -% \textsf{064F} \> {\arabicfont\char"064F} \> ¦u¦ \\ ^^A\textarab{ |Bu } \\ -% \textsf{0650} \> {\arabicfont\char"0650} \> ¦i¦ \\ ^^A\textarab{ |Bi } \\ -% \textsf{0651} \> {\arabicfont\char"0651}\\ ^^A\textarab{ |BB }\\ -% \textsf{0652} \> {\arabicfont\char"0652} \> ¦"¦ \textit{after a consonant or} ¦°¦ \\ -% \textsf{0653} \> {\arabicfont\char"0653} \> ¦^U¦ \\ -% \textsf{0654} \> {\arabicfont\char"0654} \> ¦'B¦ \\ ^^A\textverb{ 'B } \\ -% \textsf{0655} \> {\arabicfont\char"0655} \> ¦.u¦ \textit{kashmiri} \\ -% \textsf{0656} \> {\arabicfont\char"0656} \> ¦I¦ \textit{kashmiri} \\ -% \textsf{0657} \> {\arabicfont\char"0657} \> ¦o¦ \textit{pashto} \\ ^^A\textpashto{ Bo } \\ -% \textsf{0658} \> {\arabicfont\char"0658} \> \textit{see kashmiri} ¦e¦ \\ -% \textsf{0659} \> {\arabicfont\char"0659} \> ¦e¦ \textit{pashto} \\ -% \textsf{065A} \> {\arabicfont\char"065A} \\ -% \textsf{065B} \> {\arabicfont\char"065B} \\ -% \textsf{065C} \> {\arabicfont\char"065C} \\ -% \textsf{065D} \> {\arabicfont\char"065D} \\ -% \textsf{065E} \> {\arabicfont\char"065E} \\ -% \textsf{0660} \> {\arabicfont\char"0660} \> ¦0¦ \\ ^^A\textarab{ 0 } \\ -% \textsf{0661} \> {\arabicfont\char"0661} \> ¦1¦ \\ ^^A\textarab{ 1 } \\ -% \textsf{0662} \> {\arabicfont\char"0662} \> ¦2¦ \\ ^^A\textarab{ 2 } \\ -% \textsf{0663} \> {\arabicfont\char"0663} \> ¦3¦ \\ ^^A\textarab{ 3 } \\ -% \textsf{0664} \> {\arabicfont\char"0664} \> ¦4¦ \\ ^^A\textarab{ 4 } \\ -% \textsf{0665} \> {\arabicfont\char"0665} \> ¦5¦ \\ ^^A\textarab{ 5 } \\ -% \textsf{0666} \> {\arabicfont\char"0666} \> ¦6¦ \\ ^^A\textarab{ 6 } \\ -% \textsf{0667} \> {\arabicfont\char"0667} \> ¦7¦ \\ ^^A\textarab{ 7 } \\ -% \textsf{0668} \> {\arabicfont\char"0668} \> ¦8¦ \\ ^^A\textarab{ 8 } \\ -% \textsf{0669} \> {\arabicfont\char"0669} \> ¦9¦ \\ ^^A\textarab{ 9 } \\ -% \textsf{066A} \> {\arabicfont\char"066A} \> ¦\^^A¦ \\ %\textarab{ \% } \\ -% \textsf{066B} \> {\arabicfont\char"066B} \> \\ ^^A\textarab{ , } \\ -% \textsf{066C} \> {\arabicfont\char"066C} \> ¦,¦ \\ ^^A\textarab{ , } \\ -% \textsf{066D} \> {\arabicfont\char"066D} \> ¦*¦ \\ ^^A\textarab{ * } \\ -% \textsf{066E} \> {\arabicfont\char"066E} \> ¦.b¦, \quad ¦i¦ \textit{uighur} \\ ^^A\textarab{ .b } \\ -% \textsf{066F} \> {\arabicfont\char"066F} \> ¦.f¦ \\ ^^A\textarab{ .f } \\ -% \textsf{0670} \> {\arabicfont\char"0670} \> ¦_a¦ \\ ^^A\textarab{ B_a } \\ -% \textsf{0671} \> {\arabicfont\char"0671} \> \textit{automatic} \\ -% \textsf{0672} \> {\arabicfont\char"0672} \> ¦.A¦ \textit{kashmiri} \\ -% \textsf{0673} \> {\arabicfont\char"0673} \> ¦.U¦ \textit{kashmiri} \\ -% \textsf{0674} \> {\arabicfont\char"0674} \\ -% \textsf{0675} \> {\arabicfont\char"0675} \\ -% \textsf{0676} \> {\arabicfont\char"0676} \\ -% \textsf{0677} \> {\arabicfont\char"0677} \\ -% \textsf{0678} \> {\arabicfont\char"0678} \\ -% \textsf{0679} \> {\arabicfont\char"0679} \> ¦,t¦ \\ ^^A\textarab{ ,t } \\ -% \textsf{067A} \> {\arabicfont\char"067A} \> ¦,th¦ \\ ^^A\textsindhi{ ,th } \\ -% \textsf{067B} \> {\arabicfont\char"067B} \> ¦:b¦ \\ ^^A\textsindhi{ :b } \\ -% \textsf{067C} \> {\arabicfont\char"067C} \> ¦,t¦ \\ ^^A\textpashto{ ,t } \\ -% \textsf{067D} \> {\arabicfont\char"067D} \> ¦,t¦ \\ ^^A\textsindhi{ ,t } \\ -% \textsf{067E} \> {\arabicfont\char"067E} \> ¦p¦ \\ ^^A\textarab{ p } \\ -% \textsf{067F} \> {\arabicfont\char"067F} \> ¦th¦ \\ ^^A\textsindhi{ th } \\ -% \textsf{0680} \> {\arabicfont\char"0680} \> ¦bh¦ \\ ^^A\textsindhi{ bh } \\ -% \textsf{0681} \> {\arabicfont\char"0681} \> ¦c¦ \\ ^^A\textarab{ c } \\ -% \textsf{0682} \> {\arabicfont\char"0682} \> ¦:c¦ \\ ^^A (old pashto) -% \textsf{0683} \> {\arabicfont\char"0683} \> ¦^n¦ \\ ^^A\textsindhi{ ^n } \\ -% \textsf{0684} \> {\arabicfont\char"0684} \> ¦:j¦ \\ ^^A\textarab{ :j } %sindhi\\ -% \textsf{0685} \> {\arabicfont\char"0685} \> ¦,c¦ \\ ^^A\textarab{ ,c } %pashto\\ -% \textsf{0686} \> {\arabicfont\char"0686} \> ¦^c¦, \quad ¦c¦ \textit{malay} \\ ^^A\textarab{ ^c } %farsi+\\ -% \textsf{0687} \> {\arabicfont\char"0687} \> ¦^ch¦ \textit{sindhi} \\ ^^A\textsindhi{ ^ch } \\ -% \textsf{0688} \> {\arabicfont\char"0688} \> ¦,d¦ \\ ^^A\textarab{ ,d } %urdu\\ -% \textsf{0689} \> {\arabicfont\char"0689} \> ¦,d¦ \textit{pashto} \\ ^^A\textpashto{ ,d } \\ -% \textsf{068A} \> {\arabicfont\char"068A} \> ¦,d¦ \textit{sindhi} \\ ^^A\textsindhi{ ,d } \\ -% \textsf{068B} \> {\arabicfont\char"068B} \> ¦.,d¦ \\ ^^A(Western punjabi) -% \textsf{068C} \> {\arabicfont\char"068C} \> ¦dh¦ \textit{sindhi} \\ ^^A\textsindhi{ dh } \\ -% \textsf{068D} \> {\arabicfont\char"068D} \> ¦,dh¦ \textit{sindhi} \\ ^^A\textsindhi{ ,dh } \\ -% \textsf{068E} \> {\arabicfont\char"068E} \> ¦^d¦ \textit{sindhi} \\ -% \textsf{068F} \> {\arabicfont\char"068F} \> ¦:d¦ \\ ^^A\textarab{ :d } \\ -% \textsf{0690} \> {\arabicfont\char"0690} \> ¦::d¦ \textit{urdu} \\ -% \textsf{0691} \> {\arabicfont\char"0691} \> ¦,r¦ \\ ^^A\textarab{ ,r } \\ -% \textsf{0692} \> {\arabicfont\char"0692} \> ¦^r¦ \textit{kurdish} \\ ^^ANEW-> ^r\\ -% \textsf{0693} \> {\arabicfont\char"0693} \> ¦,r¦ \textit{pashto} \\ ^^A\textpashto{ ,r } \\ -% \textsf{0694} \> {\arabicfont\char"0694} \> ¦.r¦, \quad ¦,r¦ \textit{kurdish} \\ ^^ANEW-> kurdish ,r\\ -% \textsf{0695} \> {\arabicfont\char"0695} \> ¦.r¦ \textit{kurdish} \\ ^^A\textarab{ .r} \\ -% \textsf{0696} \> {\arabicfont\char"0696} \> ¦,z¦ \\ ^^A\textarab{ ,z } \\ -% \textsf{0697} \> {\arabicfont\char"0697} \> ¦:r¦ \\ -% \textsf{0698} \> {\arabicfont\char"0698} \> ¦^z¦, \quad ¦j¦ \textit{ottoman} \\ ^^A\textarab{ ^z } \\ -% \textsf{0699} \> {\arabicfont\char"0699} \> ¦:s¦ \\ ^^A\textarab{ :s } \\ -% \textsf{069A} \> {\arabicfont\char"069A} \> ¦,s¦ \\ -% \textsf{069B} \> {\arabicfont\char"069B} \> ¦:s¦ \\ -% \textsf{069C} \> {\arabicfont\char"069C} \\ -% \textsf{069D} \> {\arabicfont\char"069D} \\ -% \textsf{069E} \> {\arabicfont\char"069E} \\ -% \textsf{069F} \> {\arabicfont\char"069F} \\ -% \textsf{06A0} \> {\arabicfont\char"06A0} \> ¦^g¦ \textit{ottoman+malay} \\ ^^A\textmalay{ ^g } \\ -% \textsf{06A1} \> {\arabicfont\char"06A1} \> ¦.f¦ \\ ^^A\textarab{ .f } \\ -% \textsf{06A2} \> {\arabicfont\char"06A2} \> ¦f¦ \\ ^^A\textarab{ f } \\ -% \textsf{06A3} \> {\arabicfont\char"06A3} \\ -% \textsf{06A4} \> {\arabicfont\char"06A4} \> ¦v¦, \quad ¦p¦ \textit{malay} \\ ^^A\textarab{ V } \\ -% \textsf{06A5} \> {\arabicfont\char"06A5} \> ¦v¦ \textit{maghribi} \\ ^^A\textarab{ v } \\ -% \textsf{06A6} \> {\arabicfont\char"06A6} \> ¦ph¦ \textit{sindhi} \\ ^^A\textarab{ ph } \\ -% \textsf{06A7} \> {\arabicfont\char"06A7} \> ¦q¦ \\ ^^A\textarab{ q } \\ -% \textsf{06A8} \> {\arabicfont\char"06A8} \> ¦p¦ \\ ^^A\textarab{ p } \\ -% \textsf{06A9} \> {\arabicfont\char"06A9} \> ¦.k¦ \\ ^^A\textarab{ .k } % also M\\ -% \textsf{06AA} \> {\arabicfont\char"06AA} \> ¦k¦ \\ ^^A\textarab{ k } \\ -% \textsf{06AB} \> {\arabicfont\char"06AB} \> ¦G¦ \\ ^^A\textarab{ G } \\ -% \textsf{06AC} \> {\arabicfont\char"06AC} \> ¦,g¦ \\ ^^A\textarab{ ,g } \\ -% \textsf{06AD} \> {\arabicfont\char"06AD} \> ¦^n¦ \\ ^^A\textarab{ ^n } % also K\\ -% \textsf{06AE} \> {\arabicfont\char"06AE} \\ -% \textsf{06AF} \> {\arabicfont\char"06AF} \> ¦g¦ \\ ^^A\textarab{ g } \\ -% \textsf{06B0} \> {\arabicfont\char"06B0} \\ -% \textsf{06B1} \> {\arabicfont\char"06B1} \> ¦:n¦ \\ ^^A\textarab{ :n } \\ -% \textsf{06B2} \> {\arabicfont\char"06B2} \> ¦..n¦ \textit{sindhi} \\ -% \textsf{06B3} \> {\arabicfont\char"06B3} \> ¦:g¦ \\ ^^A\textarab{ :g } \\ -% \textsf{06B4} \> {\arabicfont\char"06B4} \> ¦.:g¦ \textit{sindhi} \\ -% \textsf{06B5} \> {\arabicfont\char"06B5} \> ¦^l¦ \\ ^^A\textarab{ ^l } % also .l -> prob a bug for the next glyph\\ -% \textsf{06B6} \> {\arabicfont\char"06B6} \> ¦.l¦ \\ ^^ANEW -> .l\\ -% \textsf{06B7} \> {\arabicfont\char"06B7} \\ ^^ANEW - \\ %NEW -> :l U+0651 ;;SHADDA\\ -% \textsf{06B8} \> {\arabicfont\char"06B8} \\ -% \textsf{06B9} \> {\arabicfont\char"06B9} \\ -% \textsf{06BA} \> {\arabicfont\char"06BA} \> ¦.n¦ \\ ^^A\textarab{ .n } \\ -% \textsf{06BB} \> {\arabicfont\char"06BB} \> ¦,n¦ \textit{sindhi} \\ ^^A\textsindhi{ .n } \\ -% \textsf{06BC} \> {\arabicfont\char"06BC} \> ¦,n¦ \\ ^^A\textpashto{ .n } \\ -% \textsf{06BD} \> {\arabicfont\char"06BD} \> ¦^n¦ \textit{malay} \\ ^^A\textmalay{ ny } %??? with \setmalay ^n ArabTeX produces nun with 3 dots below, but this is not in Unicode\\ -% \textsf{06BE} \> {\arabicfont\char"06BE} \> ¦h¦ \textit{urdu} \\ ^^A\texturdu{ h } \\ -% \textsf{06BF} \> {\arabicfont\char"06BF} \> ¦.^c¦ \\ ^^ANEW -> .^c\\ -% \textsf{06C0} \> {\arabicfont\char"06C0} \> ¦h"'¦ \textit{or context} \\ ^^A\textverb{ 'h } %verbatim ???\\ -% \textsf{06C1} \> {\arabicfont\char"06C1} \> ¦,h¦ \\ -% \textsf{06C2} \> {\arabicfont\char"06C2} \> ¦H-¦ (\textit{+ ezafe})\footnote{ Or is it ¦,h¦+ezafe?} \textit{urdu} \\ -% \textsf{06C3} \> {\arabicfont\char"06C3} \> ¦H¦ \textit{urdu} \\ ^^A\texturdu{ T } %???\\ -% \textsf{06C4} \> {\arabicfont\char"06C4} \> ¦.o¦ \textit{kashmiri} \\ ^^A\textkashmiri{ |.o } \\ -% \textsf{06C5} \> {\arabicfont\char"06C5} \\ -% \textsf{06C6} \> {\arabicfont\char"06C6} \> ¦o¦ \textit{kashmiri} ,\quad ¦:o¦ \textit{uighur} \\ ^^A\textkashmiri{ |o } \\ -% \textsf{06C7} \> {\arabicfont\char"06C7} \> ¦:U¦, \quad ¦u¦ \textit{uighur} \\ ^^A\textuighur{ u } \\ -% \textsf{06C8} \> {\arabicfont\char"06C8} \> ¦:u¦ \textit{uighur} \\ ^^A\textuighur{ |:u } \\ -% \textsf{06C9} \> {\arabicfont\char"06C9} \> ¦^w¦ \\ ^^AArabTeX internals \a@roof\\ -% \textsf{06CA} \> {\arabicfont\char"06CA} \> ¦:w¦ \\ ^^ANEW -% \textsf{06CB} \> {\arabicfont\char"06CB} \> ¦w¦ \textit{uighur} \\ ^^A\textuighur{ w } \\ -% \textsf{06CC} \> {\arabicfont\char"06CC} \> ¦y¦/¦I¦ \textit{farsi, etc.},\\ -% \> \> ¦.I¦ \textit{arabic, sindhi, malay} \\ -% \textsf{06CD} \> {\arabicfont\char"06CD} \> ¦Ee¦ \textit{pashto} \\ ^^A\textpashto{\novocalize BEe } \\ -% \textsf{06CE} \> {\arabicfont\char"06CE} \\ -% \textsf{06CF} \> {\arabicfont\char"06CF} \> ¦v¦ \textit{malay} \\ ^^A\textmalay{ v } \\ -% \textsf{06D0} \> {\arabicfont\char"06D0} \> ¦E¦ \textit{pashto}, \quad ¦e¦ \textit{uighur} \\ ^^A\textuighur{ |e } \\ -% \textsf{06D1} \> {\arabicfont\char"06D1} \\ -% \textsf{06D2} \> {\arabicfont\char"06D2} \> ¦E¦ \textit{urdu+kashmiri} \\ ^^A\texturdu{ |E } \\ -% \textsf{06D3} \> {\arabicfont\char"06D3} \> ¦'E¦ \textit{urdu} \\ ^^A\texturdu{ |'E } \\ -% \textsf{06D4} \> {\arabicfont\char"06D4} \> ¦..¦ \textit{urdu} \\ -% \textsf{06D5} \> {\arabicfont\char"06D5} \\ -% \textsf{06D6} \> {\arabicfont\char"06D6} \> ¦^SLY¦ \\ -% \textsf{06D7} \> {\arabicfont\char"06D7} \> ¦^QLY¦ \\ -% \textsf{06D8} \> {\arabicfont\char"06D8} \> ¦^MIM¦ \\ -% \textsf{06D9} \> {\arabicfont\char"06D9} \> ¦^LA¦ \\ -% \textsf{06DA} \> {\arabicfont\char"06DA} \> ¦^JIM¦ \\ -% \textsf{06DB} \> {\arabicfont\char"06DB} \> ¦^DOTS¦ \\ -% \textsf{06DC} \> {\arabicfont\char"06DC} \> ¦^SIN¦ \\ -% \textsf{06DD} \> {\arabicfont\char"06DD} \> ¦[[]]¦ \\ -% \textsf{06DE} \> {\arabicfont\char"06DE} \> ¦HIZB¦ \\ -% \textsf{06DF} \> {\arabicfont\char"06DF} \> ¦CIRCZERO¦ \\ -% \textsf{06E0} \> {\arabicfont\char"06E0} \> ¦RECTZERO¦ \\ -% \textsf{06E1} \> {\arabicfont\char"06E1} \> ¦^JAZM¦ \\ -% \textsf{06E2} \> {\arabicfont\char"06E2} \> ¦^MIM¦ \\ -% \textsf{06E3} \> {\arabicfont\char"06E3} \> ¦_SIN¦ \\ -% \textsf{06E4} \> {\arabicfont\char"06E4} \> ¦^MADDA¦ \\ -% \textsf{06E5} \> {\arabicfont\char"06E5} \> ¦WAW¦ \\ -% \textsf{06E6} \> {\arabicfont\char"06E6} \> ¦YEH¦ \\ -% \textsf{06E7} \> {\arabicfont\char"06E7} \> ¦^YEH¦ \\ -% \textsf{06E8} \> {\arabicfont\char"06E8} \> ¦^NUN¦ \\ -% \textsf{06E9} \> {\arabicfont\char"06E9} \> ¦SAJDA¦ \\ -% \textsf{06EA} \> {\arabicfont\char"06EA} \> ¦_STOP¦ \\ -% \textsf{06EB} \> {\arabicfont\char"06EB} \> ¦^STOP¦ \\ -% \textsf{06EC} \> {\arabicfont\char"06EC} \> ¦^RSTOP¦ \\ -% \textsf{06ED} \> {\arabicfont\char"06ED} \> ¦_MIM¦ \\ -% \textsf{06EE} \> {\arabicfont\char"06EE} \> ¦^d¦ \\ -% \textsf{06EF} \> {\arabicfont\char"06EF} \> ¦^r¦ \\ -% \textsf{06F0} \> {\arabicfont\char"06F0} \> ¦0¦ \textit{persian, urdu, etc.} \\ -% \textsf{06F1} \> {\arabicfont\char"06F1} \> ¦1¦ \textit{persian, urdu, etc.} \\ -% \textsf{06F2} \> {\arabicfont\char"06F2} \> ¦2¦ \textit{persian, urdu, etc.} \\ -% \textsf{06F3} \> {\arabicfont\char"06F3} \> ¦3¦ \textit{persian, urdu, etc.} \\ -% \textsf{06F4} \> {\arabicfont\char"06F4} \> ¦4¦ \textit{persian, urdu, etc.} \\ -% \textsf{06F5} \> {\arabicfont\char"06F5} \> ¦5¦ \textit{persian, urdu, etc.} \\ -% \textsf{06F6} \> {\arabicfont\char"06F6} \> ¦6¦ \textit{persian, urdu, etc.} \\ -% \textsf{06F7} \> {\arabicfont\char"06F7} \> ¦7¦ \textit{persian, urdu, etc.} \\ -% \textsf{06F8} \> {\arabicfont\char"06F8} \> ¦8¦ \textit{persian, urdu, etc.} \\ -% \textsf{06F9} \> {\arabicfont\char"06F9} \> ¦9¦ \textit{persian, urdu, etc.} \\ -% \textsf{06FA} \> {\arabicfont\char"06FA} \\ -% \textsf{06FB} \> {\arabicfont\char"06FB} \\ -% \textsf{06FC} \> {\arabicfont\char"06FC} \> ¦:O¦ \\ -% \textsf{06FD} \> {\arabicfont\char"06FD} \> ¦.|IN¦ \textit{sindhi} \\ ^^AArabTeX internal \a@bars\\ -% \textsf{06FE} \> {\arabicfont\char"06FE} \> ¦.MIN¦ \textit{sindhi} \\ -% \textsf{06FF} \> {\arabicfont\char"06FF} \\ -% \textbf{Arabic Supplement} \\ -% \textsf{0750} \> {\arabicfont\char"0750} \\ -% \textsf{0751} \> {\arabicfont\char"0751} \\ -% \textsf{0752} \> {\arabicfont\char"0752} \\ -% \textsf{0753} \> {\arabicfont\char"0753} \\ -% \textsf{0754} \> {\arabicfont\char"0754} \\ -% \textsf{0755} \> {\arabicfont\char"0755} \\ -% \textsf{0756} \> {\arabicfont\char"0756} \\ -% \textsf{0757} \> {\arabicfont\char"0757} \\ -% \textsf{0758} \> {\arabicfont\char"0758} \\ -% \textsf{0759} \> {\arabicfont\char"0759} \\ -% \textsf{075A} \> {\arabicfont\char"075A} \\ -% \textsf{075B} \> {\arabicfont\char"075B} \\ -% \textsf{075C} \> {\arabicfont\char"075C} \\ -% \textsf{075D} \> {\arabicfont\char"075D} \\ -% \textsf{075E} \> {\arabicfont\char"075E} \\ -% \textsf{075F} \> {\arabicfont\char"075F} \\ -% \textsf{0760} \> {\arabicfont\char"0760} \\ -% \textsf{0761} \> {\arabicfont\char"0761} \\ -% \textsf{0762} \> {\arabicfont\char"0762} \> ¦g¦ \textit{malay} \\ ^^A\textmalay{ g } \\ -% \textsf{0763} \> {\arabicfont\char"0763} \\ -% \textsf{0764} \> {\arabicfont\char"0764} \\ -% \textsf{0765} \> {\arabicfont\char"0765} \\ -% \textsf{0766} \> {\arabicfont\char"0766} \\ -% \textsf{0767} \> {\arabicfont\char"0767} \\ -% \textsf{0768} \> {\arabicfont\char"0768} \\ -% \textsf{0769} \> {\arabicfont\char"0769} \\ -% \textsf{076A} \> {\arabicfont\char"076A} \\ -% \textsf{076B} \> {\arabicfont\char"076B} \\ -% \textsf{076C} \> {\arabicfont\char"076C} \\ -% \textsf{076D} \> {\arabicfont\char"076D} \\ -% \textbf{Presentation Forms} * \\ -% \textsf{FD3E} \> {\arabicfont\char"FD3E} \> ¦))¦ \\ -% \textsf{FD3F} \> {\arabicfont\char"FD3F} \> ¦((¦ \\ -% \textsf{FDF0} \> {\arialuni\char"FDF0} \> ¦SALLASTOP¦ \\ -% \textsf{FDF1} \> {\arialuni\char"FDF1} \> ¦QALA¦ \\ -% \textsf{FDF2} \> {\arabicfont\char"FDF2} \> ¦al-ll_ah¦ or ¦ALLAH¦ ** \\ -% \textsf{FDF3} \> {\arialuni\char"FDF3} \> ¦AKBAR¦ \\ -% \textsf{FDF4} \> {\arialuni\char"FDF4} \> ¦MUHAMMAD¦ \\ -% \textsf{FDF5} \> {\arialuni\char"FDF5} \> ¦SALAM¦ \\ -% \textsf{FDF6} \> {\arialuni\char"FDF6} \> ¦RASUL¦ or ¦RASOUL¦ \\ -% \textsf{FDF7} \> {\arialuni\char"FDF7} \> ¦ALAYHI¦ or ¦ALAYHE¦ \\ -% \textsf{FDF8} \> {\arialuni\char"FDF8} \> ¦WASALLAM¦ \\ -% \textsf{FDF9} \> {\arialuni\char"FDF9} \> ¦SALLA¦ \\ -% \textsf{FDFA} \> {\adobearabic\char"FDFA} \> ¦SLM¦ \\ -% \textsf{FDFB} \> {\arialuni\char"FDFB} \> ¦JALLA¦ \\ -% \textsf{FDFC} \> {\arabicfont\char"FDFC} \> ¦RIYAL¦ \\ -% \textsf{FDFD} \> {\Huge\arabesque\char"F050} \> ¦BASMALA¦ \\ -% \textbf{Non-Unicode Ligatures} \\ -% \> {\tradarabic\char"FDF2} \> ¦ll_ah¦ or ¦LLAH¦ ** \\ -% \> {\adobearabic فَلِله} \> ¦FALILLAH¦ *** -% \end{tabbing} -% \end{multicols} -% \parindentoff -% -% \baselineskip 14pt -% \textit{Notes}\\ -% * Since most of these glyphs are not present in Scheherazade -% (and, with a few exceptions, are very rarely featured in other fonts), -% for illustration purposes we have taken \textsf{FDF0}, \textsf{FDF1}, -% \textsf{FDF3}--\textsf{FDF9} and \textsf{FDFB} from Arial Unicode MS, -% \textsf{FDFA} from Adobe Arabic, and \textsf{FDFD} from AGA Arabesque. -% -% ** See §~\ref{allahliga} -% -% *** Specific to the font Adobe Arabic -% -% \newpage -% \appendix -% \small -% \section{Notes on available free and commercial fonts for the Perso-Arabic script} -% \label{arabicfont} -% \texttt{TO BE COMPLETED} -% -% -% ^^AThere are few free good quality fonts that support the Arabic script. -% -% \begin{compactitem}[\textbf{·}] -% \item ‘Scheherazade’ and ‘Lateef’ from SIL -% -% \item ‘Adobe Arabic’ -% -% \item Free fonts from \href{http://www.arabeyes.org}{Arabeyes.org} -% -% \item \ldots -% -% ^^AAdobe Arabic, dlig: (discretionary ligatures) -% ^^A -% ^^Aﻓ َ ﻠ ِ ﻠ ﻪ falilh > uni0641064E0644065006440647 -% ^^A -% ^^Aﻟ ﻠ ﻪ l-l-h > uni064406440647 -% ^^A -% ^^AA-l-l-h > FDF2 -% -% \item Arabic fonts on Mac~OS~X: ‘Geeza Pro’, ‘DecoType Naskh’, \ldots more?\\ -% \textcolor{red}{$\rightarrow$ \texttt{Help needed to test those fonts!}} -% -% \item ‘Arabic Typesetting’ and other Arabic fonts licensed to Microsoft -% -% \item Commercial fonts by vendors: -% \begin{compactitem}[\textbf{--}] -% \item Linotype GmbH: \ldots -% \item AGFA Monotype: \ldots -% \item ParaType: \ldots -% \item \ldots -% \end{compactitem} -% \end{compactitem} -% -% -% -% \section{Recommended Unicode fonts for transliterating Oriental languages} -% \label{latinextfonts} -% -% Here follows a list of open source and freeware fonts with full -% \textsc{Latin Extended Additional} coverage.\footnote{ ^^A -% See this \href{http://www.alanwood.net/unicode/fonts.html\#general}{webpage} for more details.} -% \begin{compactitem}[\textbf{·}] -% \item Gentium, Doulos, Charis: \url{http://scripts.sil.org/FontDownloads} -% -% \item Junicode: \url{http://junicode.sourceforge.net/} -% -% \item Libertine: \url{http://linuxlibertine.sourceforge.net/} -% -% \item DejaVu Serif / Sans / Sans Mono: \url{http://dejavu.sourceforge.net/wiki/index.php/Main_Page} -% -% \item Lucida Grande: Mac~OS~X -% -% \item TITUS Cyberbit Basic: \url{http://titus.fkidg1.uni-frankfurt.de/unicode/tituut.asp} -% -% \item Thryomanes: \url{ftp://ftp.io.com/pub/usr/hmiller/fonts/Thryomanes12.zip} -% -% \item jGaramond: \url{http://www.janthor.de/jGaramond/} -% -% \item Everson Mono Unicode (shareware): \url{http://www.evertype.com/emono/} -% -% \item Arial Unicode MS: Windows -% -% \item Microsoft Sans Serif: Windows -% -% \item FreeSerif / FreeSans / FreeMono: \url{http://savannah.nongnu.org/projects/freefont/} -% -% \item Roman Unicode: \url{http://everywitchway.net/linguistics/fonts/roman.html} -% -% \item Chrisanthi Unicode: \url{http://everywitchway.net/linguistics/fonts/chrysuni.html} -% -% \item HindSight Unicode (not very nice): \url{http://dartcanada.tripod.com/Objets/Zips/HindUnic.zip} -% -% \item AbRoman: \url{http://www.languagegeek.com/font/fontdownload.html} -% -% \item Garava: \url{http://www.aimwell.org/Fonts/fonts.html} -% -% \item Verajja (based on Bitstream Vera Sans, so very similar to DejaVu Sans): -% \url{http://www.aimwell.org/Fonts/fonts.html} -% -% \item Legendum: \url{http://home.kabelfoon.nl/~slam/fonts/fonts.html} -% -% \item Code2000 (shareware): \url{http://www.code2000.net} -% \end{compactitem} -% -% -% \section{Implementation} -%\iffalse -%<*package> -%\fi -% \begin{macrocode} -\NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{arabxetex} - [2008/07/16 v1.1.2 ArabTeX-like interface for XeLaTeX] -% -\DeclareOption{fullvoc}{\def\ax@mode{fullvoc}} -\DeclareOption{voc}{\def\ax@mode{voc}} -\DeclareOption{novoc}{\def\ax@mode{novoc}} -\DeclareOption{trans}{\def\ax@mode{trans}} -\DeclareOption{utf}{\def\ax@mode{utf}} -\DeclareOption{fdf2alif}{\def\ax@font@allah{fdf2alif}} -\DeclareOption{fdf2noalif}{\def\ax@font@allah{fdf2noalif}} -\ExecuteOptions{novoc,fdf2alif} -\ProcessOptions -\def\ax@mode@fullvoc{fullvoc} -\def\ax@mode@voc{voc} -\def\ax@mode@novoc{novoc} -\def\ax@mode@trans{trans} -\def\ax@mode@utf{utf} -\newif\ifax@mode@defined -\def\ax@ismode@defined#1{% - \ifcsname ax@mode@#1\endcsname% - \ax@mode@definedtrue% - \else% - \ax@mode@definedfalse% - \fi} -\def\ax@lang{arab}%default language (for macros like \aemph) -\RequirePackage{bidi} -\RequirePackage{amsmath}%because of macro \overline used in \aemph -\RequirePackage{fontspec} -\AtBeginDocument{\ifdefined\arabicfont\relax\else% - \PackageWarning{arabxetex}{\string\arabicfont\ is not defined!^^JI will try to load Scheherazade}% - \newfontfamily\arabicfont[Script=Arabic,Scale=2]{Scheherazade}\fi - }% -\def\ax@trans@style{\itshape}% -\newcommand{\SetTranslitStyle}[1]{\def\ax@trans@style{#1}} -\newcommand{\SetTranslitConvention}[1]{\def\ax@trans@convention{#1}} -\def\ax@trans@convention{loc}% Library of Congress is default -\newcommand{\SetAllahWithAlif}{\def\ax@font@allah{fdf2alif}} -\newcommand{\SetAllahWithoutAlif}{\def\ax@font@allah{fdf2noalif}} -\def\arabtex@codes{\catcode`^=11\relax\catcode`_=11\relax} -\def\UC{\char"E000} % This is used to capitalize the following letter (ignoring - % article al-) in transliteration mode -%%%Font setup -\def\ax@farsi@font{\ifdefined\farsifont\farsifont\else\arabicfont\fi} -\def\ax@urdu@font{\ifdefined\urdufont\urdufont\else\arabicfont\fi} -\def\ax@pashto@font{\ifdefined\pashtofont\pashtofont\else\arabicfont\fi} -\def\ax@maghribi@font{\ifdefined\maghribifont\maghribifont\else\arabicfont\fi} -\def\ax@sindhi@font{\ifdefined\sindhifont\sindhifont\else\arabicfont\fi} -\def\ax@kashmiri@font{\ifdefined\kashmirifont\kashmirifont\else\arabicfont\fi} -\def\ax@ottoman@font{\ifdefined\ottomanfont\ottomanfont\else\arabicfont\fi} -\def\ax@kurdish@font{\ifdefined\kurdishfont\kurdishfont\else\arabicfont\fi} -\def\ax@malay@font{\ifdefined\malayfont\malayfont\else\arabicfont\fi} -\def\ax@uighur@font{\ifdefined\uighurfont\uighurfont\else\arabicfont\fi} -\def\ax@urdu@font{\ifdefined\urdufont\urdufont\else\arabicfont\fi} - -\newenvironment{arab}[1][\ax@mode]% -{\edef\@tempa{#1}% -\def\ax@lang{arab}% -\ax@ismode@defined{\@tempa}% -\ifax@mode@defined% - \ifx\@tempa\ax@mode@trans% - \par\arabtex@codes\ax@trans@style% - \addfontfeature{Mapping=arabtex-trans-\ax@trans@convention}% - \else% - \ifx\@tempa\ax@mode@utf% - \par\setRL\arabicfont\addfontfeature{Mapping=arabicfixes}% - \else% - \par\setRL\arabicfont\arabtex@codes% - \addfontfeature{Mapping=arabtex-\ax@font@allah-\@tempa}% - \fi\fi% -\else% - \PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}% - \par\setRL\arabicfont\arabtex@codes% - \addfontfeature{Mapping=arabtex-\ax@font@allah-\ax@mode}% -\fi} -{\ifx\@tempa\ax@mode@trans\relax\else\unsetRL\fi\par} -\let\Arabic=\arab% -%%% -\newenvironment{maghribi}[1][\ax@mode]% -{\edef\@tempa{#1}% -\def\ax@lang{maghribi}% -\ax@ismode@defined{\@tempa}% -\ifax@mode@defined% - \ifx\@tempa\ax@mode@trans% - \par\arabtex@codes\ax@trans@style% - \addfontfeature{Mapping=arabtex-trans-\ax@trans@convention}% - \else% - \ifx\@tempa\ax@mode@utf% - \par\setRL\ax@maghribi@font\addfontfeature{Mapping=arabicfixes}% - \else% - \par\setRL\ax@maghribi@font\arabtex@codes% - \addfontfeature{Mapping=arabtex-\ax@font@allah-maghribi-\@tempa}% - \fi\fi% -\else% - \PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}% - \par\setRL\ax@maghribi@font\arabtex@codes% - \addfontfeature{Mapping=arabtex-\ax@font@allah-maghribi-\ax@mode}% -\fi} -{\ifx\@tempa\ax@mode@trans\relax\else\unsetRL\fi\par} -%%% -\newenvironment{farsi}[1][\ax@mode]% -{\edef\@tempa{#1}% -\def\ax@lang{farsi}% -\ax@ismode@defined{\@tempa}% -\ifax@mode@defined% - \ifx\@tempa\ax@mode@trans% - \par\arabtex@codes\ax@trans@style% - \addfontfeature{Mapping=arabtex-farsi-trans-\ax@trans@convention}% - \else% - \ifx\@tempa\ax@mode@utf% - \par\setRL\ax@farsi@font\addfontfeature{Mapping=arabicfixes}% - \else% - \par\setRL\ax@farsi@font\arabtex@codes% - \addfontfeature{Mapping=arabtex-\ax@font@allah-farsi-\@tempa}% - \fi\fi% -\else% - \PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}% - \par\setRL\ax@farsi@font\arabtex@codes% - \addfontfeature{Mapping=arabtex-\ax@font@allah-farsi-\ax@mode}% -\fi} -{\ifx\@tempa\ax@mode@trans\relax\else\unsetRL\fi\par} -\let\persian=\farsi -%%% -\newenvironment{urdu}[1][\ax@mode]% -{\edef\@tempa{#1}% -\def\ax@lang{urdu}% -\ax@ismode@defined{\@tempa}% -\ifax@mode@defined% - \ifx\@tempa\ax@mode@trans% - \par\arabtex@codes\ax@trans@style% - \addfontfeature{Mapping=arabtex-urdu-trans-\ax@trans@convention}% - \else% - \ifx\@tempa\ax@mode@utf% - \par\setRL\ax@urdu@font\addfontfeature{Language=Urdu}%Mapping=arabtex-utf}% - \else% - \par\setRL\ax@urdu@font\arabtex@codes% - \addfontfeature{Mapping=arabtex-\ax@font@allah-urdu-\@tempa}% - \fi\fi% -\else% - \PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}% - \par\setRL\ax@urdu@font\arabtex@codes% - \addfontfeature{Mapping=arabtex-\ax@font@allah-urdu-\ax@mode}% -\fi} -{\ifx\@tempa\ax@mode@trans\relax\else\unsetRL\fi\par} -%%% -\newenvironment{pashto}[1][\ax@mode]% -{\edef\@tempa{#1}% -\def\ax@lang{pashto}% -\ax@ismode@defined{\@tempa}% -\ifax@mode@defined% - \ifx\@tempa\ax@mode@trans% - \par\arabtex@codes\ax@trans@style% - \addfontfeature{Mapping=arabtex-pashto-trans-\ax@trans@convention}% - \else% - \ifx\@tempa\ax@mode@utf% - \par\setRL\ax@pashto@font\addfontfeature{Mapping=arabicfixes}% - \else% - \par\setRL\ax@pashto@font\arabtex@codes% - \addfontfeature{Mapping=arabtex-\ax@font@allah-pashto-\@tempa}% - \fi\fi% -\else% - \PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}% - \par\setRL\ax@pashto@font\arabtex@codes% - \addfontfeature{Mapping=arabtex-\ax@font@allah-pashto-\ax@mode}% -\fi} -{\ifx\@tempa\ax@mode@trans\relax\else\unsetRL\fi\par} -%%% -\newenvironment{sindhi}[1][\ax@mode]% -{\edef\@tempa{#1}% -\def\ax@lang{sindhi}% -\ax@ismode@defined{\@tempa}% -\ifax@mode@defined% - \ifx\@tempa\ax@mode@trans% - \par\arabtex@codes\ax@trans@style% - \addfontfeature{Mapping=arabtex-sindhi-trans-\ax@trans@convention}% - \else% - \ifx\@tempa\ax@mode@utf% - \par\setRL\ax@sindhi@font\addfontfeature{Language=Sindhi}%Mapping=arabtex-utf}% - \else% - \par\setRL\ax@sindhi@font\arabtex@codes% - \addfontfeature{Mapping=arabtex-\ax@font@allah-sindhi-\@tempa,Language=Sindhi}% - \fi\fi% -\else% - \PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}% - \par\setRL\ax@sindhi@font\arabtex@codes% - \addfontfeature{Mapping=arabtex-\ax@font@allah-sindhi-\ax@mode,Language=Sindhi}% -\fi} -{\ifx\@tempa\ax@mode@trans\relax\else\unsetRL\fi\par} -%%% -\newenvironment{ottoman}[1][\ax@mode]% -{\edef\@tempa{#1}% -\def\ax@lang{ottoman}% -\ax@ismode@defined{\@tempa}% -\ifax@mode@defined% - %\ifx\@tempa\ax@mode@trans% - % \par\arabtex@codes\ax@trans@style% - % \addfontfeature{Mapping=arabtex-turk-trans-\ax@trans@convention}% - %\else% - \ifx\@tempa\ax@mode@utf% - \par\setRL\ax@ottoman@font\addfontfeature{Mapping=arabicfixes}% - \else% - \par\setRL\ax@ottoman@font\arabtex@codes% - \addfontfeature{Mapping=arabtex-\ax@font@allah-turk-\@tempa}% - \fi%\fi% -\else% - \PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}% - \par\setRL\ax@ottoman@font\arabtex@codes% - \addfontfeature{Mapping=arabtex-\ax@font@allah-turk-\ax@mode}% -\fi} -{%\ifx\@tempa\ax@mode@trans\relax\else -\unsetRL%\fi -\par} -\let\turk=\ottoman -%%% -\newenvironment{kurdish}[1][]% -{\def\ax@lang{kurdish}% -%\edef\@tempa{#1}% -%\ifx\@tempa\ax@mode@trans% -% \par\arabtex@codes\ax@trans@style% -% \addfontfeature{Mapping=arabtex-kurdish-trans-\ax@trans@convention}% -%\else% -\ifx\@tempa\ax@mode@utf% - \par\setRL\ax@kurdish@font\addfontfeature{Language=Kurdish}%Mapping=arabtex-utf}% -\else% - \par\setRL\ax@kurdish@font\arabtex@codes% - \addfontfeature{Mapping=arabtex-\ax@font@allah-kurdish,Language=Kurdish}% -\fi} -{%\ifx\@tempa\ax@mode@trans\relax\else -\unsetRL%\fi -\par} -%%% -\newenvironment{kashmiri}[1][\ax@mode]% -{\edef\@tempa{#1}% -\def\ax@lang{kashmiri}% -\ax@ismode@defined{\@tempa}% -\ifax@mode@defined% - %\ifx\@tempa\ax@mode@trans% - % \par\arabtex@codes\ax@trans@style% - % \addfontfeature{Mapping=arabtex-\ax@font@allah-kashmiri-trans-\ax@trans@convention}% - %\else% - \ifx\@tempa\ax@mode@utf% - \par\setRL\ax@kashmiri@font\addfontfeature{Mapping=arabicfixes}% - \else% - \par\setRL\ax@kashmiri@font\arabtex@codes% - \addfontfeature{Mapping=arabtex-\ax@font@allah-kashmiri-\@tempa}% - \fi%\fi% -\else% - \PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}% - \par\setRL\ax@kashmiri@font\arabtex@codes% - \addfontfeature{Mapping=arabtex-\ax@font@allah-kashmiri-\ax@mode}% -\fi} -{%\ifx\@tempa\ax@mode@trans\relax\else -\unsetRL%\fi -\par} -%%% -\newenvironment{malay}[1][\ax@mode]% -{\edef\@tempa{#1}% -\def\ax@lang{malay}% -\ax@ismode@defined{\@tempa}% -\ifax@mode@defined% - %\ifx\@tempa\ax@mode@trans% - % \par\arabtex@codes\ax@trans@style% - % \addfontfeature{Mapping=arabtex-malay-trans-\ax@trans@convention}% - %\else% - \ifx\@tempa\ax@mode@utf% - \par\setRL\ax@malay@font\addfontfeature{Mapping=arabicfixes}% - \else% - \par\setRL\ax@malay@font\arabtex@codes% - \addfontfeature{Mapping=arabtex-\ax@font@allah-malay-\@tempa}% - \fi%\fi% -\else% - \PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}% - \par\setRL\ax@malay@font\arabtex@codes% - \addfontfeature{Mapping=arabtex-\ax@font@allah-malay-\ax@mode}% -\fi} -{%\ifx\@tempa\ax@mode@trans\relax\else -\unsetRL%\fi -\par} -\let\jawi=\malay -%%% -\newenvironment{uighur}[1]% -{%\edef\@tempa{#1}% -\def\ax@lang{uighur}% -%\ifx\@tempa\ax@mode@trans% -% \par\arabtex@codes\ax@trans@style% -% \addfontfeature{Mapping=arabtex-uighur-trans-\ax@trans@convention}% -%\else% -\ifx\@tempa\ax@mode@utf% - \par\setRL\ax@uighur@font\addfontfeature{Mapping=arabicfixes}% -\else% - \par\setRL\ax@uighur@font\arabtex@codes% - \addfontfeature{Mapping=arabtex-\ax@font@allah-uighur}% -\fi} -{%\ifx\@tempa\ax@mode@trans\relax\else -\unsetRL%\fi -\par} -%%% -\def\textarab{\bgroup\arabtex@codes\text@arab} -\let\textarabic=\textarab -\def\textmaghribi{\bgroup\arabtex@codes\text@maghribi} -\def\textfarsi{\bgroup\arabtex@codes\text@farsi} -\let\textpersian=\textfarsi -\def\texturdu{\bgroup\arabtex@codes\text@urdu} -\def\textsindhi{\bgroup\arabtex@codes\text@sindhi} -\def\textpashto{\bgroup\arabtex@codes\text@pashto} -\def\textottoman{\bgroup\arabtex@codes\text@ottoman} -\let\textturk=\textottoman -\def\textkurdish{\bgroup\arabtex@codes\text@kurdish} -\def\textkashmiri{\bgroup\arabtex@codes\text@kashmiri} -\def\textmalay{\bgroup\arabtex@codes\text@malay} -\let\textjawi=\textmalay -\def\textuighur{\bgroup\arabtex@codes\text@uighur} -\newcommand\text@arab[2][\ax@mode]{% - \edef\@tempa{#1}% - \def\ax@lang{arab}% - \ax@ismode@defined{\@tempa}% - \ifax@mode@defined% - \ifx\@tempa\ax@mode@trans% - {\ax@trans@style\addfontfeature{Mapping=arabtex-trans-\ax@trans@convention}#2}% - \else% - \ifx\@tempa\ax@mode@utf% - \RL{\arabicfont\addfontfeature{Mapping=arabicfixes} #2}% - \else% - \RL{\arabicfont\addfontfeature{Mapping=arabtex-\ax@font@allah-\@tempa}#2}% - \fi\fi% - \else% - \PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}% - \RL{\arabicfont\addfontfeature{Mapping=arabtex-\ax@font@allah-\ax@mode}#2}% - \fi\egroup} -\newcommand\text@maghribi[2][\ax@mode]{% - \edef\@tempa{#1}% - \def\ax@lang{maghribi}% - \ax@ismode@defined{\@tempa}% - \ifax@mode@defined% - \ifx\@tempa\ax@mode@trans% - {\ax@trans@style\addfontfeature{Mapping=arabtex-trans-\ax@trans@convention}#2}% - \else% - \ifx\@tempa\ax@mode@utf% - \RL{\ax@maghribi@font\addfontfeature{Mapping=arabicfixes} #2}%evtl {Mapping=arabtex-utf} - \else% - \RL{\ax@maghribi@font% - \addfontfeature{Mapping=arabtex-\ax@font@allah-maghribi-\@tempa}#2}% - \fi\fi% - \else% - \PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}% - \RL{\ax@maghribi@font\addfontfeature{Mapping=arabtex-\ax@font@allah-maghribi-\ax@mode}#2}% - \fi\egroup} -\newcommand\text@farsi[2][\ax@mode]{% - \edef\@tempa{#1}% - \def\ax@lang{farsi}% - \ax@ismode@defined{\@tempa}% - \ifax@mode@defined% - \ifx\@tempa\ax@mode@trans% - {\ax@trans@style\addfontfeature{Mapping=arabtex-farsi-trans-\ax@trans@convention}#2}% - \else% - \ifx\@tempa\ax@mode@utf% - \RL{\ax@farsi@font\addfontfeature{Mapping=arabicfixes} #2}%evtl {Mapping=arabtex-utf} - \else% - \RL{\ax@farsi@font% - \addfontfeature{Mapping=arabtex-\ax@font@allah-farsi-\@tempa}#2}% - \fi\fi% - \else% - \PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}% - \RL{\ax@farsi@font\addfontfeature{Mapping=arabtex-\ax@font@allah-farsi-\ax@mode}#2}% - \fi\egroup} -\newcommand\text@urdu[2][\ax@mode]{% - \edef\@tempa{#1}% - \def\ax@lang{urdu}% - \ax@ismode@defined{\@tempa}% - \ifax@mode@defined% - \ifx\@tempa\ax@mode@trans% - {\ax@trans@style\addfontfeature{Mapping=arabtex-urdu-trans-\ax@trans@convention}#2}% - \else% - \ifx\@tempa\ax@mode@utf% - \RL{\ax@urdu@font\addfontfeature{Language=Urdu}#2}%eventually Mapping=arabtex-utf - \else% - \RL{\ax@urdu@font% - \addfontfeature{Mapping=arabtex-\ax@font@allah-urdu-\@tempa,Language=Urdu}#2}% - \fi\fi% - \else% - \PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}% - \RL{\ax@urdu@font\addfontfeature{Mapping=arabtex-\ax@font@allah-urdu-\ax@mode,Language=Urdu}#2}% - \fi\egroup} -\newcommand\text@sindhi[2][\ax@mode]{% - \edef\@tempa{#1}% - \def\ax@lang{sindhi}% - \ax@ismode@defined{\@tempa}% - \ifax@mode@defined% - \ifx\@tempa\ax@mode@trans% - {\ax@trans@style\addfontfeature{Mapping=arabtex-sindhi-trans-\ax@trans@convention}#2}% - \else% - \ifx\@tempa\ax@mode@utf% - \RL{\ax@sindhi@font\addfontfeature{Language=Sindhi} #2}%eventually Mapping=arabtex-utf - \else% - \RL{\ax@sindhi@font% - \addfontfeature{Mapping=arabtex-\ax@font@allah-sindhi-\@tempa,Language=Sindhi}#2}% - \fi\fi% - \else% - \PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}% - \RL{\ax@sindhi@font\addfontfeature{Mapping=arabtex-\ax@font@allah-sindhi-\ax@mode,Language=Sindhi}#2}% - \fi\egroup} -\newcommand\text@pashto[2][\ax@mode]{% - \edef\@tempa{#1}% - \def\ax@lang{pashto}% - \ax@ismode@defined{\@tempa}% - \ifax@mode@defined% - \ifx\@tempa\ax@mode@trans% - {\ax@trans@style\addfontfeature{Mapping=arabtex-pashto-trans-\ax@trans@convention}#2}% - \else% - \ifx\@tempa\ax@mode@utf% - \RL{\ax@pashto@font\addfontfeature{Mapping=arabicfixes} #2}%evtl {Mapping=arabtex-utf} - \else% - \RL{\ax@pashto@font% - \addfontfeature{Mapping=arabtex-\ax@font@allah-pashto-\@tempa}#2}% - \fi\fi% - \else% - \PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}% - \RL{\ax@pashto@font\addfontfeature{Mapping=arabtex-\ax@font@allah-pashto-\ax@mode}#2}% - \fi\egroup} -\newcommand\text@ottoman[2][\ax@mode]{% - \edef\@tempa{#1}% - \def\ax@lang{ottoman}% - \ax@ismode@defined{\@tempa}% - \ifax@mode@defined% - % UNCOMMENT when transliteration mapping is done - %\ifx\@tempa\ax@mode@trans% - % {\ax@trans@style\addfontfeature{Mapping=arabtex-turk-trans-\ax@trans@convention}#2}% - %\else% - \ifx\@tempa\ax@mode@utf% - \RL{\ax@ottoman@font\addfontfeature{Mapping=arabicfixes} #2}%evtl {Mapping=arabtex-utf} - \else% - \RL{\ax@ottoman@font% - \addfontfeature{Mapping=arabtex-\ax@font@allah-turk-\@tempa}#2}% - \fi%\fi% - \else% - \PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}% - \RL{\ax@ottoman@font\addfontfeature{Mapping=arabtex-\ax@font@allah-turk-\ax@mode}#2}% - \fi\egroup} -\newcommand\text@kurdish[2][]{% - \edef\@tempa{#1}% - \def\ax@lang{kurdish}% - % UNCOMMENT when transliteration mapping is done - %\ifx\@tempa\ax@mode@trans% - % {\ax@trans@style\addfontfeature{Mapping=arabtex-kurdish-trans-\ax@trans@convention}#2}% - %\else% - \ifx\@tempa\ax@mode@utf% - \RL{\ax@kurdish@font\addfontfeature{Mapping=arabicfixes} #2}%evtl {Mapping=arabtex-utf} - \else% - \RL{\ax@kurdish@font% - \addfontfeature{Mapping=arabtex-\ax@font@allah-kurdish,Language=Kurdish}#2}% - \fi%\fi% - \egroup} -\newcommand\text@kashmiri[2][\ax@mode]{% - \edef\@tempa{#1}% - \def\ax@lang{kashmiri}% - \ax@ismode@defined{\@tempa}% - \ifax@mode@defined% - % UNCOMMENT when transliteration mapping is done - %\ifx\@tempa\ax@mode@trans% - % {\ax@trans@style\addfontfeature{Mapping=arabtex-kashmiri-trans-\ax@trans@convention}#2}% - %\else% - \ifx\@tempa\ax@mode@utf% - \RL{\ax@kashmiri@font\addfontfeature{Mapping=arabicfixes} #2}%evtl {Mapping=arabtex-utf} - \else% - \RL{\ax@kashmiri@font% - \addfontfeature{Mapping=arabtex-\ax@font@allah-kashmiri-\@tempa}#2}% - \fi%\fi% - \else% - \PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}% - \RL{\ax@kashmiri@font\addfontfeature{Mapping=arabtex-\ax@font@allah-kashmiri-\ax@mode}#2}% - \fi\egroup} -\newcommand\text@malay[2][\ax@mode]{% - \edef\@tempa{#1}% - \def\ax@lang{malay}% - \ax@ismode@defined{\@tempa}% - \ifax@mode@defined% - % UNCOMMENT when transliteration mapping is done - %\ifx\@tempa\ax@mode@trans% - % {\ax@trans@style\addfontfeature{Mapping=arabtex-malay-trans-\ax@trans@convention}#2}% - %\else% - \ifx\@tempa\ax@mode@utf% - \RL{\ax@malay@font\addfontfeature{Mapping=arabicfixes} #2}%evtl {Mapping=arabtex-utf} - \else% - \RL{\ax@malay@font% - \addfontfeature{Mapping=arabtex-\ax@font@allah-malay-\@tempa}#2}% - \fi%\fi% - \else% - \PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \ax@mode}% - \RL{\ax@malay@font\addfontfeature{Mapping=arabtex-\ax@font@allah-malay-\ax@mode}#2}% - \fi\egroup} -\newcommand\text@uighur[2][]{% - \edef\@tempa{#1}% - \def\ax@lang{uighur}% - % UNCOMMENT when transliteration mapping is done - %\ifx\@tempa\ax@mode@trans% - % {\ax@trans@style\addfontfeature{Mapping=arabtex-uighur-trans-\ax@trans@convention}#2}% - %\else% - \ifx\@tempa\ax@mode@utf% - \RL{\ax@uighur@font\addfontfeature{Mapping=arabicfixes} #2}%evtl {Mapping=arabtex-utf} - \else% - \RL{\ax@uighur@font% - \addfontfeature{Mapping=arabtex-\ax@font@allah-uighur}#2}% - \fi%\fi% - \egroup} -% -\newcommand{\textLR}[1]{\LR{\rmfamily #1}} -\newcommand{\aemph}[1]{% - \edef\@tempb{\expandafter\noexpand\csname text\ax@lang\endcsname}% - $\overline{\text{\@tempb{#1}}}$} -% -% experimental: this surely does not work! -% I want a mechanism to enable defining commands that accept args containing \arabtex@codes -%\def\newarabxetexcommand#1#2{% -% \edef\ax@tcomm@nd{\expandafter\relax\csname #1@\endcsname} -% \expandafter\def\string#1{% -% \bgroup\arabtex@codes\ax@tcomm@nd} -% \def\ax@tcomm@nd{#2\egroup}} -% \end{macrocode} -% -%\iffalse -% -%\fi -% -% \subsection{Some notes on the TECkit mappings} -% -% \texttt{TO BE DONE \dots} -% -% -% ^^A\section{Unicode Matters} ---> TODO CONTACT ROOZBEH ABOUT THIS -% ^^A -% ^^ASome glyphs are missing in Unicode: -% ^^A -% ^^A- wavy Hamza below as combining diacritic (for Kashmiri) -% ^^A -% ^^A- .b with ring below (for Kashmiri) (NB: can be poorly rendered by U+066E U+06EA) -% ^^A -% ^^A- hamza directly above baseline (for Qur'an) : 0654 is too high! -% ^^A \def\hamzaB{\raisebox[-1ex]{\char"0654} is ok -% ^^A -% ^^A- U+FDF2: codify the LLAH ligature as well? -% ^^A Perhaps the FALILLAH ligature could be added as well? -% -% ^^A\clearpage -% ^^A\PrintChanges -% -% ^^A\clearpage -% ^^A\PrintIndex -% -% \Finale -% -%\iffalse -%<*dtx-style> -% \begin{macrocode} -\ProvidesPackage{arabxetex-dtx-style} -\usepackage{fontspec,xltxtra} -\usepackage{array,supertabular,xspace,multicol,fancyvrb,paralist} -\usepackage[voc]{arabxetex} -\usepackage[dvipdfm]{color} -\definecolor{myblue}{rgb}{0.02,0.04,0.48} -\definecolor{myred}{rgb}{0.65,0.04,0.07} -\definecolor{darkgray}{gray}{0.3} -\definecolor{lightgray}{gray}{0.6} -\definecolor{IslamicGreen}{rgb}{0,.43,0} -\usepackage[dvipdfm, - bookmarks=true, - colorlinks=true, - linkcolor=myblue, - urlcolor=myblue, - citecolor=myblue, - hyperindex=false, - hyperfootnotes=false, - pdftitle={The ArabXeTeX package}, - pdfauthor={F Charette }, - pdfsubject={An ArabTeX-like interface for typesetting languages in Arabic script with XeLaTeX}, - pdfkeywords={ArabTeX, XeTeX, XeLaTeX, Arabic, Maghribi, Persian, Farsi, Urdu, Sindhi, - Pashto, Turkish, Ottoman, Kurdish, Kashmiri, Malay, Jawi, Uighur} - ]{hyperref} -% NB some of this preamble is taken or adapted from fontspec-doc-style.sty -\newcommand*\pkg[1]{\textsf{#1}} -\def\eg{\textit{e.g.,}\xspace} -\def\ie{\textit{i.e.,}\xspace} -\def\ca{\textit{ca.}\@\xspace} -\def\Eg{\textit{E.g.,}\xspace} -\def\Ie{\textit{I.e.,}\xspace} -\def\etc{\@ifnextchar.{\textit{etc}}{\textit{etc.}\@\xspace}} - -\newlength{\oldparindent} -\newcommand{\parindentoff}{\setlength{\oldparindent}{\parindent} \setlength{\parindent}{0pt}} -\newcommand{\parindenton}{\setlength{\parindent}{\oldparindent}} - -%% LOGOS, tuned for Palatino: -\makeatletter -\TeX@logo@spacing{-0.12em}{-0.12em}% - {0.5ex}{-0.3em}{-0.12em}{-0.1em} -\makeatother -\def\arabxetex{Arab\XeTeX} -\def\arabtex{Arab\TeX} -\def\arabxetexAr{\RL{\fontspec[Script=Arabic,Scale=1.5]{DecoType Thuluth} عرب زيتخ}} -\def\MacOSX{Mac~OS~X} -\def\ASCII{\textsc{ascii}} % ii small caps does not work with Junicode! - -%% Sidenotes << copied from fontspec.dtx -\newcommand\warn[2]{% - \edef\thisversion{#1}% - \ifhmode\unskip~\fi{\ifx\thisversion\fileversion\color{red}\fi - $\leftarrow$}% - \marginpar{\raggedleft - \small% - {\ifx\thisversion\fileversion\color{red}\fi$\rightarrow$}% - \,{\notefont #1:~#2}}} - -\newcommand\new[1]{% - \edef\thisversion{#1}% - \ifhmode\unskip~\fi{\ifx\thisversion\fileversion\color{blue}\else\color[gray]{0.5}\fi - $\leftarrow$}% - \marginpar{\raggedleft - \small\ifx\thisversion\fileversion\color{blue}\else\color[gray]{0.5}\fi - $\rightarrow$\,{\notefont #1:~New!}}} - -%% Sidenote font -\newfontfamily\notefont[Scale=MatchLowercase]{Lucida Sans Unicode} - -%%% - -%% fontspec declarations: -\setromanfont[Mapping=tex-text]{Junicode}%{FPL Neu} -\defaultfontfeatures{Scale=MatchLowercase} -\setmonofont{Inconsolata}%{Latin Modern Typewriter Proportional}%{Luxi Mono}%{Courier New} -\setsansfont{Lucida Sans Unicode} -%\setmathrm{Optima Regular} -%\setboldmathrm[BoldFont=Optima ExtraBlack]{Optima Bold} -%\defaultfontfeatures{Mapping=tex-text} -\newfontfamily\arabicfont[Script=Arabic,Scale=1.5]{Scheherazade} -\newfontfamily\urdufont[Script=Arabic,Scale=1.2]{Nafees Pakistani Naskh}%Nafees Nastaleeq does not work well -\newfontfamily\farsifont[Script=Arabic,Scale=1.33]{Farsi Simple Bold} -\newfontfamily\lateeffont[Script=Arabic,Scale=1.5]{Lateef} -\newfontfamily\lotusfont[Script=Arabic,Scale=1.5]{Lotus Linotype} -\newfontfamily\arabtype[Script=Arabic,Scale=1.5]{Arabic Typesetting} -\newfontfamily\adobearabic[Script=Arabic,Scale=1.5]{Adobe Arabic} -\newfontfamily\tradarabic[Script=Arabic,Scale=1.5]{Traditional Arabic} -\newfontfamily\arabesque{AGA Arabesque} -\newfontfamily\arialuni{Arial Unicode MS} -\newfontfamily\gentium{Gentium} - -\linespread{1.05} -\frenchspacing -%\newenvironment{MYitemize}{% -%\renewcommand\labelitemi{\cdot}% -%\begin{list}{}{\setlength{\itemsep}{.15\parsep}}}% -%%\setlength{\labelwidth}{0pt}\setlength{\leftmargin}{0pt}\setlength{\itemindent}{0pt}} -%{\end{list}} -%\addtolength{\textheight}{3cm} -%\setlength{\leftmargin}{1cm} -%\setlength{\topmargin}{0cm} -%\newcommand{\Tarab}[2][black]{\textcolor{#1}{\textarab{ #2 }}} -%\newcommand{\Tfarsi}[2][black]{\textcolor{#1}{\textfarsi{ #2 }}} -%\newcommand{\Turdu}[2][black]{\textcolor{#1}{\texturdu{ #2 }}} -%\newcommand{\Tsindhi}[2][black]{\textcolor{#1}{\textsindhi{ #2 }}} -%\newcommand{\Tpashto}[2][black]{\textcolor{#1}{\textpashto{ #2 }}} -%\newcommand{\Tkashmiri}[2][black]{\textcolor{#1}{\textkashmiri{ #2 }}} -%\newcommand{\Tkurdish}[2][black]{\textcolor{#1}{\textkurdish{ #2 }}} -%\newcommand{\Tturk}[2][black]{\textcolor{#1}{\textturk{ #2 }}} -%\newcommand{\Tmalay}[2][black]{\textcolor{#1}{\textmalay{ #2 }}} -%\newcommand{\Tuighur}[2][black]{\textcolor{#1}{\textuighur{ #2 }}} -%%% -\def\GN{\bgroup\catcode`\_=11\relax\catcode`\^=11\relax\GNX} -\def\GR{\bgroup\catcode`\_=11\relax\catcode`\^=11\relax\GRX} -\def\GB{\bgroup\catcode`\_=11\relax\catcode`\^=11\relax\GBX} -\def\GG{\bgroup\catcode`\_=11\relax\catcode`\^=11\relax\GGX} -\def\GV{\bgroup\catcode`\_=11\relax\catcode`\^=11\relax\GVX} -\newcommand{\GNX}[3][arab]{% - \edef\@tempa{\expandafter\noexpand\csname text#1\endcsname} - \parbox[c]{7.5mm}{\centering{\@tempa{#2}}\\[1pt]\ttfamily\fontsize{5}{5}\selectfont{#3}}\egroup} -\newcommand{\GRX}[3][arab]{% - \edef\@tempa{\expandafter\noexpand\csname text#1\endcsname} - \parbox[c]{7.5mm}{\centering{\textcolor{myred}{\@tempa{#2}}}\\[1pt]\ttfamily\fontsize{5}{5}\selectfont{#3}}\egroup} -\newcommand{\GBX}[3][arab]{% - \edef\@tempa{\expandafter\noexpand\csname text#1\endcsname} - \parbox[c]{7.5mm}{\centering{\textcolor{myblue}{\@tempa{#2}}}\\[1pt]\ttfamily\fontsize{5}{5}\selectfont{#3}}\egroup} -\newcommand{\GVX}[3][arab]{% - \edef\@tempa{\expandafter\noexpand\csname text#1\endcsname} - \parbox[c]{7.5mm}{\centering{\textcolor{IslamicGreen}{\@tempa{#2}}}\\[1pt]\ttfamily\fontsize{5}{5}\selectfont{#3}}\egroup} -\newcommand{\GGX}[2][arab]{% - \edef\@tempa{\expandafter\noexpand\csname text#1\endcsname} - \parbox[c]{7.5mm}{\centering{\textcolor{lightgray}{\@tempa{#2}}}}\egroup} - -\newcommand{\hamzaB}{\char"200D\char"0640\raise-.95ex\hbox{\char"0654}\char"200D} -% \end{macrocode} -% -%\fi -% -% -% \typeout{*************************************************************} -% \typeout{*} -% \typeout{* To finish the installation you have to move the following} -% \typeout{* file into a directory searched by XeTeX:} -% \typeout{*} -% \typeout{* \space\space\space arabxetex.sty} -% \typeout{*} -% \typeout{* and move all *.tec and *.map files to} -% \typeout{* .../fonts/misc/xetex/fontmapping/arabxetex/} -% \typeout{*************************************************************} -% -\endinput - diff --git a/Master/texmf-dist/doc/xelatex/arabxetex/arabxetex.pdf b/Master/texmf-dist/doc/xelatex/arabxetex/arabxetex.pdf index 2041a6d0a8c..5bb140b2bb1 100644 Binary files a/Master/texmf-dist/doc/xelatex/arabxetex/arabxetex.pdf and b/Master/texmf-dist/doc/xelatex/arabxetex/arabxetex.pdf differ diff --git a/Master/texmf-dist/doc/xelatex/arabxetex/ednotes_example.pdf b/Master/texmf-dist/doc/xelatex/arabxetex/ednotes_example.pdf deleted file mode 100644 index c24dbcf774e..00000000000 Binary files a/Master/texmf-dist/doc/xelatex/arabxetex/ednotes_example.pdf and /dev/null differ diff --git a/Master/texmf-dist/doc/xelatex/arabxetex/ednotes_example.tex b/Master/texmf-dist/doc/xelatex/arabxetex/ednotes_example.tex deleted file mode 100644 index cc49982f5b1..00000000000 --- a/Master/texmf-dist/doc/xelatex/arabxetex/ednotes_example.tex +++ /dev/null @@ -1,211 +0,0 @@ -%% THIS IS A SAMPLE LATEX FILE DEMONSTRATING HOW TO TYPESET -%% A CRITICAL EDITION WITH XeTeX, ednotes, and ArabXeTeX. -%% THE TEMPLATE CAN ALSO BE APPLIED, WITH MINOR MODIFICATIONS, -%% TO CRITICAL EDITIONS INVOLVING RIGHT-TO-LEFT SCRIPTS IN GENERAL -%% (EITHER IN THE MAIN TEXT OR IN THE CRITICAL APPARATUS). -%% THUS THE USE OF ArabXeTeX IS NONMANDATORY, BUT THE PACKAGE bidi -%% IS REQUIRED FOR BIDIRECTIONALITY. -%% -%% François Charette, 13 December 2006 -%% -%% -\documentclass[12pt,a4paper,oneside]{memoir} -\usepackage{fontspec} -\setromanfont[Mapping=tex-text]{Junicode} -\usepackage[novoc,fdf2alif]{arabxetex} -\newfontfamily\arabicfont[Script=Arabic,Scale=1.2,WordSpace=2]{Scheherazade} -%% OK, now we load ednotes with appropriate options. -%% For each extra level of notes in the critical apparatus we need to -%% initialize it with the appropriate option, in this case, "Bpara". -%% Options "modulo", "perpage" and "right" are for line numbers: -%% they will be printed at the right margin, at a certain interval -%% to be set by the command \modulolinenumber below, -%% and with the "perpage" option to start numeration anew on each page. -%% The option "para*" is for having the notes in paragraph format without indentation. -\usepackage[Bpara,modulo,right,perpage,para*]{ednotes}% relies on manyfoot and lineno - -%% This makes the footnoterule as wide as the \textwidth -\makeatletter% -\renewcommand{\footnoterule}{\kern-3\p@ - \hrule width \textwidth \kern 2.6\p@} -\makeatother - -%%EDNOTES SETUP -%% -%% Line numeration is printed every 5 lines: -\modulolinenumbers[5] - -%% This is a little hack to set linenumbering in Arabic -%% (the mapping is provided with ArabXeTeX): -\renewcommand{\linenumberfont}{\arabicfont\addfontfeature{Mapping=arabicdigits}\tiny} -%% -%% The following macros redefine the default formatting -%% of various aspects of the critical apparatus. -%% Note that since the edition is contained in a Right-to-Left environment, -%% the notes should be set RL by default, but to be certain we declare -\PrecedeLevelWith{A}{\setRL} -%% which puts the appropriate "hook" at the beginning of the block A of notes. -%% Here are the customized macros for the default apparatus: -%% The uncommented lines below are changed for typesetting the apparatus in Arabic. -% \renewcommand*{\sameline}[1]{\linesfmt{##1}}% -\renewcommand*{\differentlines}[2]{\linesfmt{\RL{#1\textendash#2}}}% -\renewcommand*{\linesfmt}[1]{\raisebox{1ex}{\linenumberfont #1}~}% -\renewcommand{\lemmafmt}[1]{#1~[ }% -\renewcommand*{\pageandline}[2]{#2.\textlatin{#1}}% #1 page, #2 line. -% \renewcommand*{\repeatref}[1]{\raisebox{-.5ex}{$\Vert$}}% << not advisable -% \renewcommand{\lemmaellipsis}{\textsymmdots}% -% \renewcommand{\notefmt}[1]{##1}% - -%% We do not want extra footnoterules between the different levels (see manyfoot doc): -\renewcommand{\extrafootnoterule}{} -\SelectFootnoteRule[0]{extra} - -%% We can also customize the critical apparatus for a *specific* level of notes. -%% In the following case we customize a level B of Left-to-Right notes. -%% To achieve this with ednotes, with need to feed-in the appropriate command -%% as a "hook" to manyfoot by means of: -\PrecedeLevelWith{B}{\unsetRL} -% Now we change the formatting of level B to take into account that it is set left-to-right: -\newcommand{\Bnotefmt}{% - \renewcommand*{\differentlines}[2]{\linesfmt{##1\textendash##2}}% - \renewcommand{\lemmafmt}[1]{##1~]\enskip}% -} - -%% In our example we define another level of notes, but this time as regular footnotes -%% here keyed by fnsymbols. This customization is independant of ednotes, -%% and relates to manyfoot directly: -\SetFootnoteHook{\unsetRL}%--> must appear immediately before \DeclareNewFootnote -\DeclareNewFootnote[para]{C}[fnsymbol] - -%% Finally, we define macros that make typing the critical edition as abstract as possible. -%% First the apparatus for VARIANTS in the Arabic text (level A): -\newcommand{\VAR}[2]{\Anote{\textarab{#1}}{\textarab{#2}}} -%% This is for lemmas of the form \VAR{LEMMA1\LEMMA3}{NOTE} -%% where LEMMA2 is the portion omitted in the note: this macro is necessary -%% because \< and \> cannot appear inside the argument of \textarab -\newcommand{\VARX}[4]{\Anote{\textarab{#1}\ \<\textarab{#2}\>\ \textarab{#3}}{\textarab{#4}}} -%% Second the comparisions to the Latin translation (level B): -\newcommand{\VARB}[2]{\Bnote{\textarab{#1}}{#2}} -%% Third, the level for plain footnotes (level C): -\newcommand{\NOTE}[1]{\footnoteC{#1}} -%% The typographical "object" that separates successive variants in one note: -\newcommand{\SEP}{\enskip;\enskip} -%% The typographical "object" that indicates additions in a MS: -\newcommand{\ADD}{\textlatin{\textbf{+}}\,}% -%% The typographical "object" that indicates omissions in a MS: -\newcommand{\OM}{\textlatin{\textbf{–}}\,}% -%% The typographical "object" that indicates a correction not reflected in any MS: -\newcommand{\CORR}{\textarab{.s.h.h-}}% -%% The typographical "object" that indicates illegible passages in a MS: -\newcommand{\ILLEG}{\textarab{.gayr maqrU'}}% -%% The typographical "object" that indicates a blank in a MS: -\newcommand{\BLANK}{\textarab{bayA.d}}% -%% The typographical "object" that indicates a marginal passage in a MS: -\newcommand{\MARG}{\textarab{bi-al-hAmi^s}}% -%% The typographical "object" that indicates a supralinear passage in a MS: -\newcommand{\SUPERLIN}{\textarab{ta.ht al-sa.tr}}% -%% The typographical "object" in the main text that indicates a lacuna in all MSS: -\newcommand{\LACUNA}{\textlatin{\textlangle\,\dots\textrangle}} -%% The typographical "object" in the main text that indicates a restoration: -\newcommand{\RESTOR}[1]{\}~#1~\{} -%% -%% Convenient abbreviations for referring to individual manuscripts -\newcommand{\msE}{\textbf{أ}} -\newcommand{\msB}{\textbf{ب}} -\newcommand{\msN}{\textbf{ن}} -\newcommand{\msL}{\textbf{ل}} -\newcommand{\msT}{\textbf{ط}} -\newcommand{\msM}{\textbf{م}} - -\begin{document} -\thispagestyle{empty} -\begin{center}\Large - Extract from Abū Maʿšar, \textit{Kitāb al-Milal wa-l-Duwal}, - Part 1, Chapter 1, §\,26\footnoteC{% - Text, apparatus and references to the Latin translation taken - from: \textit{Abū Maʿšar on Historical Astrology. The Book of - Religions and Dynasties (On the Great Conjuntions)}. Edited - and Translated by Keiji Yamamoto and Charles Burnett. 2 vols. - Leiden: Brill, 2000 (ISBN 90 04 11733 4). - Vol I pp.~22 and 24 (Arabic text) and Vol II pp.~15–16 (Latin - translation). NB: This is for illustrative purposes only!} -\end{center} -\begin{arab} -\resetlinenumber\pagewiselinenumbers -wa-mi_tAl _dalika 'anna \VAR{al-qirAn}{ala_dI kAna \ADD \msN} al-dAll `alY -al-.tUfAn \VAR{kAna}{\msE,\msN \SEP \OM \msB} qabl al-qirAn al-dAll `alY millaT -al-`arab bi-_talA_taT 'AlAf sanaT wa-tis`ami'aT sanaT wa-_tamAn wa-_hamsIn -\VAR{sanaT}{wa-ha_dihi .sUratuhA \ADD \msN} -\VARB{\VAR{3950}{3958: \msE,\msN}}{3958}. -wa-kAna \VARB{wAlI al-dawr}{prefuit scilicet illi orbi} -\VARB{fI _dalika \VAR{al-waqt}{\msE,\msN \SEP \OM \msB}}{om.} -zu.hal ma`a burj al-sara.tAn. wa-kAna al-.tUfAn ba`d _dalika -\VAR{\VAR{bi-mi'atayn}{li-mi'atayn 287: \msE \SEP _tamAnIn sanaT: \msN} -wa-sab`a \VAR{wa-_tamAnIn}{_tamAnIn: \msN}}{296: \msM}% -\NOTE{T lacks a folio} -sanaT \VAR{287}{\OM \msE}. -fa-yakUn \VAR{bayna}{yawm al-jum`aT \ADD \msN} -'awwal yawm min sanaT al-.tUfAn wa-bayn 'awwal yawm min al-sanaT alatI kAna -fIhA al-qirAn al-dAll `alY millaT al-`arab _talA_taT 'AlAf sanaT -\VAR{wa-sittami'aT sanaT}{\OM \msE} wa-'i.hdY -\VAR{wa-sab`In}{wa-sab`Un: \msE,\msN} -\VAR{sanaT}{`alY ha_dihi al-.sUraT \ADD \msN} 3671. -wa-qad _dakara \VARB{\VAR{Ab_tnUs}% -{\msE,\msN \SEP mlbws: \msB \SEP \OM \msT \SEP Asws: \msM}}{Bentemiz} -wa-.gayruhu 'anna \VAR{bayna}{\OM \msN} -\VARB{ibtidA'}{om.} _half 'Adam \VAR{.salwAt al-ll_ah `alayhi}{\OM \msN} -wa-bayna laylaT al-jum`aT alatI kAna fIhA al-.tUfAn -\VAR{'alfayn}{\msE \SEP alfAn: \msB,\msN} \VAR{wa-mi'atayn}{wa-mi'atA sanaT: \msN} -\VAR{wa-sitta}{wa-sittaT: \msE,\msN} \VAR{wa-`i^srIn}{\CORR \SEP wa-`i^srUn: -\msB,\msE,\msN \SEP \OM \msT \SEP 2226: \msM} sanaT 3671 \VAR{wa-^sahr"aN -wA.hid"aN}{\msE \SEP wa-^sahr wA.hid: \msB,\msN} wa-\aemph{kj-} yawm"aN -\VAR{wa-'arba`a}{j-: \msN} sA`At \VAR{2226}{\OM \msE,\msN}. fa-yakUn `alY -ha_dihi al-jihaT mA bayna _halaf 'Adam \VAR{`alayhi al-salAm}{\OM \msN} -wa-bayna \VAR{'awwal}{\OM \msE,\msN} yawm min al-sanaT alatI kAna fIhA al-qirAn -al-dAll `alY millaT al-`arab \VAR{_hamsaT}{\msL,\msN \SEP _hamsa: \msB,\msE} -\VAR{'AlAf}{'alf sanaT: \msN} wa-_tamAnami'aT -\VAR{\VAR{wa-sab`"aN}{\CORR \SEP wa-sab`a: \msB,\msE \SEP wa-sab`aT: \msN \SEP -\OM \msT \SEP 5778: \msM} \VAR{wa-tis`In}{\msE \SEP wa-tis`Un: \msB} -sanaT}{wa-tis`aT wa-sab`Un sanaT 5789: \msN} -\VAR{wa-^sahr"aN wA.hid"aN}{\msE \SEP wa-^sahr wA.hid: \msB,\msN} -wa-\aemph{kj-} yawm"aN \VAR{wa-'arba`a}{j-: \msN} sA`At -\VAR{5897}{\OM \msE,\msN}. -fa-'i_dA qasamnA al-sinIn alatI \VAR{bayna}{\msE,\msN \SEP Awl \ADD \msB} -qirAn al-.tUfAn wa-al-qirAn \VAR{al-dAll}{ala_dI dal: \msN} `alY -\VAR{millaT}{\msL,\msE,\msN \SEP al-mlh: \msB} al-`arab `alY -\VAR{_tala_tami'aT wa-sittIn wa-'a_ha_dnA}{s.s: \msN} li-kull burjiN sanaT -\VAR{wa-ibtada'nA}{wa-ibtadY: \msE,\msN} -\VAR{bi-al-.tar.h}{al-.tar.h li-isti_hrAj burj al-muntahY: \msN} -min al-.hamal intahat \VAR{al-sanaT}{\OM \msN} 'ilY \VAR{al-.hUt}{al-jawzA': \msN}.% -\NOTE{Because 3950 = 360 × 10 + 350.} -\VAR{fa-'in}{knA \ADD \msN} qasamnA tilka al-sinIn% -\NOTE{That is, 3950.} -`alY _tala_tami'aT wa-sittIn wa-'a_ha_dnA li-kulli dawriN burj"aN -\VARB{\VAR{wa-ibtada'nA}{wa-ibtadY: \msE,\msN} - \VAR{bi-al-'ilqA'}{bi-al-.tar.h: \msN}}{proiecerimus} -min al-burj al-mudabbir \VAR{ala_dI}{\OM \msN} \VARB{kAna -\VAR{li-l-dawr}{al-dawr: \msN}}{fuit orbis} fI _dalika -\VAR{al-waqt}{al-burj: \msN} -\VARB{\VAR{al-dAll `alY al-.tUfAn}{\OM \msE,\msN}}{om.} ala_dI huwa -\VAR{al-sara.tAn \VAR{intahY}{wa-intihA': \msN}}{al-sara.tAnI intihA' intihA': \msE} -al-dawr \VAR{fI al-qirAn}{min al-burj: \msN} al-dAll `alY -\VAR{al-millaT}{millaT al-`arab: \msN} 'ilY al-jawzA'. wa-'in 'a`.taynA li-kull -kawkab dawr"aN min al-'adwAr wa-ibtada'nA \VAR{bi-al-'ilqA'}{bi-al-.tar.h: \msN} -min \VAR{al-kawkab}{al-kawAkib: \msN} -\VARB{ala_dI li-l-dawr}{cuius est orbis} -fI al-qirAn al-dAll `alY al-millaT intahY al-`adad 'ilY al-zuhraT. -wa-'in 'alqaynA min .tAli` al-qirAn ala_dI kAna fI ra's al-.hamal li-kull -darajaT sanaT intahY fI al-qirAn al-dAll `alY al-millaT 'ilY \aemph{k} darajaT -min al-.hUt. \VAR{wa-kAna}{fa-kAna: \msE} al-mubtazz `alY al-dawr wa-`alY -\VARX{.sA.hib al-.tAli` wa-.sA.hib}% -{burj al-qirAn al-mirrI_h, wa-kAna al-tadbIr li-l-rub` al-'awwal - \VAR{ala_dI huwa}{\msE \SEP \OM \msB,\msN} \aemph{.s} sanaT - min ibtidA' al-qirAn al-dAll}% -{`alY}{\OM \msN} dawlaT al-`arab. wa-al-rub` al-_tAnI -\VAR{li-l-^sams wa-al-rub`}{w: \msN} al-_tAli_t li-`u.tArid -\VAR{wa-al-rub`}{w: \msN} al-rAbi` li-zu.hal, wa-_dalika `alY qadr -\VARB{ibtizAzAt}{dominium} al-kawAkib `alY .sA.hib al-dawr wa-`alY al-.tAli` -wa-burj al-qirAn \VAR{wa-mu^sArikatihimA}{\msE \SEP wa-mu^sArikatihA: \msB,\msN} -li-.sA.hib al-dawr al-'awwal ala_dI huwa al-zuhraT. -\end{arab} -\end{document} diff --git a/Master/texmf-dist/doc/xelatex/arabxetex/examples/ednotes_example.pdf b/Master/texmf-dist/doc/xelatex/arabxetex/examples/ednotes_example.pdf new file mode 100644 index 00000000000..c24dbcf774e Binary files /dev/null and b/Master/texmf-dist/doc/xelatex/arabxetex/examples/ednotes_example.pdf differ diff --git a/Master/texmf-dist/doc/xelatex/arabxetex/examples/ednotes_example.tex b/Master/texmf-dist/doc/xelatex/arabxetex/examples/ednotes_example.tex new file mode 100644 index 00000000000..cc49982f5b1 --- /dev/null +++ b/Master/texmf-dist/doc/xelatex/arabxetex/examples/ednotes_example.tex @@ -0,0 +1,211 @@ +%% THIS IS A SAMPLE LATEX FILE DEMONSTRATING HOW TO TYPESET +%% A CRITICAL EDITION WITH XeTeX, ednotes, and ArabXeTeX. +%% THE TEMPLATE CAN ALSO BE APPLIED, WITH MINOR MODIFICATIONS, +%% TO CRITICAL EDITIONS INVOLVING RIGHT-TO-LEFT SCRIPTS IN GENERAL +%% (EITHER IN THE MAIN TEXT OR IN THE CRITICAL APPARATUS). +%% THUS THE USE OF ArabXeTeX IS NONMANDATORY, BUT THE PACKAGE bidi +%% IS REQUIRED FOR BIDIRECTIONALITY. +%% +%% François Charette, 13 December 2006 +%% +%% +\documentclass[12pt,a4paper,oneside]{memoir} +\usepackage{fontspec} +\setromanfont[Mapping=tex-text]{Junicode} +\usepackage[novoc,fdf2alif]{arabxetex} +\newfontfamily\arabicfont[Script=Arabic,Scale=1.2,WordSpace=2]{Scheherazade} +%% OK, now we load ednotes with appropriate options. +%% For each extra level of notes in the critical apparatus we need to +%% initialize it with the appropriate option, in this case, "Bpara". +%% Options "modulo", "perpage" and "right" are for line numbers: +%% they will be printed at the right margin, at a certain interval +%% to be set by the command \modulolinenumber below, +%% and with the "perpage" option to start numeration anew on each page. +%% The option "para*" is for having the notes in paragraph format without indentation. +\usepackage[Bpara,modulo,right,perpage,para*]{ednotes}% relies on manyfoot and lineno + +%% This makes the footnoterule as wide as the \textwidth +\makeatletter% +\renewcommand{\footnoterule}{\kern-3\p@ + \hrule width \textwidth \kern 2.6\p@} +\makeatother + +%%EDNOTES SETUP +%% +%% Line numeration is printed every 5 lines: +\modulolinenumbers[5] + +%% This is a little hack to set linenumbering in Arabic +%% (the mapping is provided with ArabXeTeX): +\renewcommand{\linenumberfont}{\arabicfont\addfontfeature{Mapping=arabicdigits}\tiny} +%% +%% The following macros redefine the default formatting +%% of various aspects of the critical apparatus. +%% Note that since the edition is contained in a Right-to-Left environment, +%% the notes should be set RL by default, but to be certain we declare +\PrecedeLevelWith{A}{\setRL} +%% which puts the appropriate "hook" at the beginning of the block A of notes. +%% Here are the customized macros for the default apparatus: +%% The uncommented lines below are changed for typesetting the apparatus in Arabic. +% \renewcommand*{\sameline}[1]{\linesfmt{##1}}% +\renewcommand*{\differentlines}[2]{\linesfmt{\RL{#1\textendash#2}}}% +\renewcommand*{\linesfmt}[1]{\raisebox{1ex}{\linenumberfont #1}~}% +\renewcommand{\lemmafmt}[1]{#1~[ }% +\renewcommand*{\pageandline}[2]{#2.\textlatin{#1}}% #1 page, #2 line. +% \renewcommand*{\repeatref}[1]{\raisebox{-.5ex}{$\Vert$}}% << not advisable +% \renewcommand{\lemmaellipsis}{\textsymmdots}% +% \renewcommand{\notefmt}[1]{##1}% + +%% We do not want extra footnoterules between the different levels (see manyfoot doc): +\renewcommand{\extrafootnoterule}{} +\SelectFootnoteRule[0]{extra} + +%% We can also customize the critical apparatus for a *specific* level of notes. +%% In the following case we customize a level B of Left-to-Right notes. +%% To achieve this with ednotes, with need to feed-in the appropriate command +%% as a "hook" to manyfoot by means of: +\PrecedeLevelWith{B}{\unsetRL} +% Now we change the formatting of level B to take into account that it is set left-to-right: +\newcommand{\Bnotefmt}{% + \renewcommand*{\differentlines}[2]{\linesfmt{##1\textendash##2}}% + \renewcommand{\lemmafmt}[1]{##1~]\enskip}% +} + +%% In our example we define another level of notes, but this time as regular footnotes +%% here keyed by fnsymbols. This customization is independant of ednotes, +%% and relates to manyfoot directly: +\SetFootnoteHook{\unsetRL}%--> must appear immediately before \DeclareNewFootnote +\DeclareNewFootnote[para]{C}[fnsymbol] + +%% Finally, we define macros that make typing the critical edition as abstract as possible. +%% First the apparatus for VARIANTS in the Arabic text (level A): +\newcommand{\VAR}[2]{\Anote{\textarab{#1}}{\textarab{#2}}} +%% This is for lemmas of the form \VAR{LEMMA1\LEMMA3}{NOTE} +%% where LEMMA2 is the portion omitted in the note: this macro is necessary +%% because \< and \> cannot appear inside the argument of \textarab +\newcommand{\VARX}[4]{\Anote{\textarab{#1}\ \<\textarab{#2}\>\ \textarab{#3}}{\textarab{#4}}} +%% Second the comparisions to the Latin translation (level B): +\newcommand{\VARB}[2]{\Bnote{\textarab{#1}}{#2}} +%% Third, the level for plain footnotes (level C): +\newcommand{\NOTE}[1]{\footnoteC{#1}} +%% The typographical "object" that separates successive variants in one note: +\newcommand{\SEP}{\enskip;\enskip} +%% The typographical "object" that indicates additions in a MS: +\newcommand{\ADD}{\textlatin{\textbf{+}}\,}% +%% The typographical "object" that indicates omissions in a MS: +\newcommand{\OM}{\textlatin{\textbf{–}}\,}% +%% The typographical "object" that indicates a correction not reflected in any MS: +\newcommand{\CORR}{\textarab{.s.h.h-}}% +%% The typographical "object" that indicates illegible passages in a MS: +\newcommand{\ILLEG}{\textarab{.gayr maqrU'}}% +%% The typographical "object" that indicates a blank in a MS: +\newcommand{\BLANK}{\textarab{bayA.d}}% +%% The typographical "object" that indicates a marginal passage in a MS: +\newcommand{\MARG}{\textarab{bi-al-hAmi^s}}% +%% The typographical "object" that indicates a supralinear passage in a MS: +\newcommand{\SUPERLIN}{\textarab{ta.ht al-sa.tr}}% +%% The typographical "object" in the main text that indicates a lacuna in all MSS: +\newcommand{\LACUNA}{\textlatin{\textlangle\,\dots\textrangle}} +%% The typographical "object" in the main text that indicates a restoration: +\newcommand{\RESTOR}[1]{\}~#1~\{} +%% +%% Convenient abbreviations for referring to individual manuscripts +\newcommand{\msE}{\textbf{أ}} +\newcommand{\msB}{\textbf{ب}} +\newcommand{\msN}{\textbf{ن}} +\newcommand{\msL}{\textbf{ل}} +\newcommand{\msT}{\textbf{ط}} +\newcommand{\msM}{\textbf{م}} + +\begin{document} +\thispagestyle{empty} +\begin{center}\Large + Extract from Abū Maʿšar, \textit{Kitāb al-Milal wa-l-Duwal}, + Part 1, Chapter 1, §\,26\footnoteC{% + Text, apparatus and references to the Latin translation taken + from: \textit{Abū Maʿšar on Historical Astrology. The Book of + Religions and Dynasties (On the Great Conjuntions)}. Edited + and Translated by Keiji Yamamoto and Charles Burnett. 2 vols. + Leiden: Brill, 2000 (ISBN 90 04 11733 4). + Vol I pp.~22 and 24 (Arabic text) and Vol II pp.~15–16 (Latin + translation). NB: This is for illustrative purposes only!} +\end{center} +\begin{arab} +\resetlinenumber\pagewiselinenumbers +wa-mi_tAl _dalika 'anna \VAR{al-qirAn}{ala_dI kAna \ADD \msN} al-dAll `alY +al-.tUfAn \VAR{kAna}{\msE,\msN \SEP \OM \msB} qabl al-qirAn al-dAll `alY millaT +al-`arab bi-_talA_taT 'AlAf sanaT wa-tis`ami'aT sanaT wa-_tamAn wa-_hamsIn +\VAR{sanaT}{wa-ha_dihi .sUratuhA \ADD \msN} +\VARB{\VAR{3950}{3958: \msE,\msN}}{3958}. +wa-kAna \VARB{wAlI al-dawr}{prefuit scilicet illi orbi} +\VARB{fI _dalika \VAR{al-waqt}{\msE,\msN \SEP \OM \msB}}{om.} +zu.hal ma`a burj al-sara.tAn. wa-kAna al-.tUfAn ba`d _dalika +\VAR{\VAR{bi-mi'atayn}{li-mi'atayn 287: \msE \SEP _tamAnIn sanaT: \msN} +wa-sab`a \VAR{wa-_tamAnIn}{_tamAnIn: \msN}}{296: \msM}% +\NOTE{T lacks a folio} +sanaT \VAR{287}{\OM \msE}. +fa-yakUn \VAR{bayna}{yawm al-jum`aT \ADD \msN} +'awwal yawm min sanaT al-.tUfAn wa-bayn 'awwal yawm min al-sanaT alatI kAna +fIhA al-qirAn al-dAll `alY millaT al-`arab _talA_taT 'AlAf sanaT +\VAR{wa-sittami'aT sanaT}{\OM \msE} wa-'i.hdY +\VAR{wa-sab`In}{wa-sab`Un: \msE,\msN} +\VAR{sanaT}{`alY ha_dihi al-.sUraT \ADD \msN} 3671. +wa-qad _dakara \VARB{\VAR{Ab_tnUs}% +{\msE,\msN \SEP mlbws: \msB \SEP \OM \msT \SEP Asws: \msM}}{Bentemiz} +wa-.gayruhu 'anna \VAR{bayna}{\OM \msN} +\VARB{ibtidA'}{om.} _half 'Adam \VAR{.salwAt al-ll_ah `alayhi}{\OM \msN} +wa-bayna laylaT al-jum`aT alatI kAna fIhA al-.tUfAn +\VAR{'alfayn}{\msE \SEP alfAn: \msB,\msN} \VAR{wa-mi'atayn}{wa-mi'atA sanaT: \msN} +\VAR{wa-sitta}{wa-sittaT: \msE,\msN} \VAR{wa-`i^srIn}{\CORR \SEP wa-`i^srUn: +\msB,\msE,\msN \SEP \OM \msT \SEP 2226: \msM} sanaT 3671 \VAR{wa-^sahr"aN +wA.hid"aN}{\msE \SEP wa-^sahr wA.hid: \msB,\msN} wa-\aemph{kj-} yawm"aN +\VAR{wa-'arba`a}{j-: \msN} sA`At \VAR{2226}{\OM \msE,\msN}. fa-yakUn `alY +ha_dihi al-jihaT mA bayna _halaf 'Adam \VAR{`alayhi al-salAm}{\OM \msN} +wa-bayna \VAR{'awwal}{\OM \msE,\msN} yawm min al-sanaT alatI kAna fIhA al-qirAn +al-dAll `alY millaT al-`arab \VAR{_hamsaT}{\msL,\msN \SEP _hamsa: \msB,\msE} +\VAR{'AlAf}{'alf sanaT: \msN} wa-_tamAnami'aT +\VAR{\VAR{wa-sab`"aN}{\CORR \SEP wa-sab`a: \msB,\msE \SEP wa-sab`aT: \msN \SEP +\OM \msT \SEP 5778: \msM} \VAR{wa-tis`In}{\msE \SEP wa-tis`Un: \msB} +sanaT}{wa-tis`aT wa-sab`Un sanaT 5789: \msN} +\VAR{wa-^sahr"aN wA.hid"aN}{\msE \SEP wa-^sahr wA.hid: \msB,\msN} +wa-\aemph{kj-} yawm"aN \VAR{wa-'arba`a}{j-: \msN} sA`At +\VAR{5897}{\OM \msE,\msN}. +fa-'i_dA qasamnA al-sinIn alatI \VAR{bayna}{\msE,\msN \SEP Awl \ADD \msB} +qirAn al-.tUfAn wa-al-qirAn \VAR{al-dAll}{ala_dI dal: \msN} `alY +\VAR{millaT}{\msL,\msE,\msN \SEP al-mlh: \msB} al-`arab `alY +\VAR{_tala_tami'aT wa-sittIn wa-'a_ha_dnA}{s.s: \msN} li-kull burjiN sanaT +\VAR{wa-ibtada'nA}{wa-ibtadY: \msE,\msN} +\VAR{bi-al-.tar.h}{al-.tar.h li-isti_hrAj burj al-muntahY: \msN} +min al-.hamal intahat \VAR{al-sanaT}{\OM \msN} 'ilY \VAR{al-.hUt}{al-jawzA': \msN}.% +\NOTE{Because 3950 = 360 × 10 + 350.} +\VAR{fa-'in}{knA \ADD \msN} qasamnA tilka al-sinIn% +\NOTE{That is, 3950.} +`alY _tala_tami'aT wa-sittIn wa-'a_ha_dnA li-kulli dawriN burj"aN +\VARB{\VAR{wa-ibtada'nA}{wa-ibtadY: \msE,\msN} + \VAR{bi-al-'ilqA'}{bi-al-.tar.h: \msN}}{proiecerimus} +min al-burj al-mudabbir \VAR{ala_dI}{\OM \msN} \VARB{kAna +\VAR{li-l-dawr}{al-dawr: \msN}}{fuit orbis} fI _dalika +\VAR{al-waqt}{al-burj: \msN} +\VARB{\VAR{al-dAll `alY al-.tUfAn}{\OM \msE,\msN}}{om.} ala_dI huwa +\VAR{al-sara.tAn \VAR{intahY}{wa-intihA': \msN}}{al-sara.tAnI intihA' intihA': \msE} +al-dawr \VAR{fI al-qirAn}{min al-burj: \msN} al-dAll `alY +\VAR{al-millaT}{millaT al-`arab: \msN} 'ilY al-jawzA'. wa-'in 'a`.taynA li-kull +kawkab dawr"aN min al-'adwAr wa-ibtada'nA \VAR{bi-al-'ilqA'}{bi-al-.tar.h: \msN} +min \VAR{al-kawkab}{al-kawAkib: \msN} +\VARB{ala_dI li-l-dawr}{cuius est orbis} +fI al-qirAn al-dAll `alY al-millaT intahY al-`adad 'ilY al-zuhraT. +wa-'in 'alqaynA min .tAli` al-qirAn ala_dI kAna fI ra's al-.hamal li-kull +darajaT sanaT intahY fI al-qirAn al-dAll `alY al-millaT 'ilY \aemph{k} darajaT +min al-.hUt. \VAR{wa-kAna}{fa-kAna: \msE} al-mubtazz `alY al-dawr wa-`alY +\VARX{.sA.hib al-.tAli` wa-.sA.hib}% +{burj al-qirAn al-mirrI_h, wa-kAna al-tadbIr li-l-rub` al-'awwal + \VAR{ala_dI huwa}{\msE \SEP \OM \msB,\msN} \aemph{.s} sanaT + min ibtidA' al-qirAn al-dAll}% +{`alY}{\OM \msN} dawlaT al-`arab. wa-al-rub` al-_tAnI +\VAR{li-l-^sams wa-al-rub`}{w: \msN} al-_tAli_t li-`u.tArid +\VAR{wa-al-rub`}{w: \msN} al-rAbi` li-zu.hal, wa-_dalika `alY qadr +\VARB{ibtizAzAt}{dominium} al-kawAkib `alY .sA.hib al-dawr wa-`alY al-.tAli` +wa-burj al-qirAn \VAR{wa-mu^sArikatihimA}{\msE \SEP wa-mu^sArikatihA: \msB,\msN} +li-.sA.hib al-dawr al-'awwal ala_dI huwa al-zuhraT. +\end{arab} +\end{document} diff --git a/Master/texmf-dist/doc/xelatex/arabxetex/examples/minimal.tex b/Master/texmf-dist/doc/xelatex/arabxetex/examples/minimal.tex new file mode 100644 index 00000000000..0244b6bd14d --- /dev/null +++ b/Master/texmf-dist/doc/xelatex/arabxetex/examples/minimal.tex @@ -0,0 +1,26 @@ +\documentclass{minimal} +\usepackage{arabxetex} % default options are "novoc" and "fdf2alif", + % other options are "voc", "fullvoc", "utf", "trans" and "fdf2noalif" +% arabxetex loads bidi.sty and fontspec.sty + +\newfontfamily\arabicfont[Script=Arabic, Scale=1.5]{Scheherazade} +% you can also define \farsifont, \uighurfont, etc if you want +\begin{document} +This is some text in English with Arabic insertion \textarab{`arabI}. + +This is some text in English with Arabic insertion \textarab[utf]{عربي}. + +This is some text in English with Arabic insertion \textarab[voc]{`arabI}. + +\begin{arab} +wa-ha_dihi fiqraT"uN bi-al-`arabiyaT ma`a kalimaT inklIziyaT (\textLR{English}). +\end{arab} + +\begin{arab}[utf] +وهذه فقرةٌ بالعربية مع كلمة انكليزية (\textLR{English}). +\end{arab} + +\begin{arab}[novoc] +وَهَذِهِ فِقرَةٌ بِالعَرَبِيَة مَعَ كَلِمَة اِنكلِيزِيَة (\textLR{English}). +\end{arab} +\end{document} diff --git a/Master/texmf-dist/doc/xelatex/arabxetex/makemaps.pl b/Master/texmf-dist/doc/xelatex/arabxetex/makemaps.pl deleted file mode 100644 index 231a6b5c8ea..00000000000 --- a/Master/texmf-dist/doc/xelatex/arabxetex/makemaps.pl +++ /dev/null @@ -1,1117 +0,0 @@ -#!/usr/bin/perl - -use strict; -use warnings; - -my $name="arabtex"; -my $master="$name.maps"; -my $output="mappings/$name"; -mkdir("mappings"); - -#languages = arab maghribi farsi urdu pashto sindhi kashmiri kurdish turk malay uighur -# but kurdish and uighur are coded separately - -# First the mappings for fonts that have the glyph U+FDF2 with initial alif - -open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2alif-novoc.map"; -while () { - s/^#1 // ; - s/^#0.+\n//m ; - s/^\@An // ; - s/^\@.+\n//m ; - s/^#[A-Z]*A[A-Z]*n // ; - s/^#[A-Z]*A[A-Z]* // ; - s/^#-[BPUTSKOM]+n // ; - s/^#-[BPUTSKOM]+ // ; - s/^#n // ; - s/^#.+\n//m ; - print OUTPUT -} ; -close OUTPUT; -close MAPS; - -open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2alif-voc.map"; -while () { - s/^#1 // ; - s/^#0.+\n//m ; - s/^\@Av // ; - s/^\@v // ; - s/^\@.+\n//m ; - s/^#[A-Z]*A[A-Z]*v // ; - s/^#[A-Z]*A[A-Z]* // ; - s/^#-[BPUTSKOM]+v // ; - s/^#-[BPUTSKOM]+ // ; - s/^#v // ; - s/^#.+\n//m ; - print OUTPUT -} ; -close OUTPUT; -close MAPS; - -open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2alif-fullvoc.map"; -while () { - s/^#1 // ; - s/^#0.+\n//m ; - s/^\@Af // ; - s/^\@.+\n//m ; - s/^#[A-Z]*A[A-Z]*[vf] // ; - s/^#[A-Z]*A[A-Z]* // ; - s/^#-[BPUTSKOM]+[vf] // ; - s/^#-[BPUTSKOM]+ // ; - s/^#[vf] // ; - s/^#.+\n//m ; - print OUTPUT -} ; -close OUTPUT; -close MAPS; - -## maghribi - -open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2alif-maghribi-novoc.map"; -while () { - s/^#1 // ; - s/^#0.+\n//m ; - s/^\@Bn // ; - s/^\@.+\n//m ; - s/^#[A-Z]*A[A-Z]*n // ; - s/^#[A-Z]*A[A-Z]* // ; - s/^#[A-Z]*B[A-Z]*n // ; - s/^#[A-Z]*B[A-Z]* // ; - s/^#-[PUTSKOM]+n // ; - s/^#-[PUTSKOM]+ // ; - s/^#n // ; - s/^#.+\n//m ; - print OUTPUT -} ; -close OUTPUT; -close MAPS; - -open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2alif-maghribi-voc.map"; -while () { - s/^#1 // ; - s/^#0.+\n//m ; - s/^\@Bv // ; - s/^\@v // ; - s/^\@.+\n//m ; - s/^#[A-Z]*A[A-Z]*v // ; - s/^#[A-Z]*A[A-Z]* // ; - s/^#[A-Z]*B[A-Z]*v // ; - s/^#[A-Z]*B[A-Z]* // ; - s/^#-[PUTSKOM]+v // ; - s/^#-[PUTSKOM]+ // ; - s/^#v // ; - s/^#.+\n//m ; - print OUTPUT -} ; -close OUTPUT; -close MAPS; - -open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2alif-maghribi-fullvoc.map"; -while () { - s/^#1 // ; - s/^#0.+\n//m ; - s/^\@Bf // ; - s/^\@.+\n//m ; - s/^#[A-Z]*A[A-Z]*[vf] // ; - s/^#[A-Z]*A[A-Z]* // ; - s/^#[A-Z]*B[A-Z]*[vf] // ; - s/^#[A-Z]*B[A-Z]* // ; - s/^#-[PUTSKOM]+[vf] // ; - s/^#-[PUTSKOM]+ // ; - s/^#[vf] // ; - s/^#.+\n//m ; - print OUTPUT -} ; -close OUTPUT; -close MAPS; - -### farsi - -open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2alif-farsi-novoc.map"; -while () { - s/^#1 // ; - s/^#0.+\n//m ; - s/^\@Pn // ; - s/^\@.+\n//m ; - s/^#[A-Z]*P[A-Z]*n // ; - s/^#[A-Z]*P[A-Z]* // ; - s/^#-[ABUTSKOM]+n // ; - s/^#-[ABUTSKOM]+ // ; - s/^#n // ; - s/^#.+\n//m ; - print OUTPUT -} -close OUTPUT; -close MAPS; - -open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2alif-farsi-voc.map"; -while () { - s/^#1 // ; - s/^#0.+\n//m ; - s/^\@Pv // ; - s/^\@v // ; - s/^\@.+\n//m ; - s/^#[A-Z]*P[A-Z]*v // ; - s/^#[A-Z]*P[A-Z]* // ; - s/^#-[ABUTSKOM]+v // ; - s/^#-[ABUTSKOM]+ // ; - s/^#v // ; - s/^#.+\n//m ; - print OUTPUT -} -close OUTPUT; -close MAPS; - -open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2alif-farsi-fullvoc.map"; -while () { - s/^#1 // ; - s/^#0.+\n//m ; - s/^\@Pf // ; - s/^\@.+\n//m ; - s/^#[A-Z]*P[A-Z]*[vf] // ; - s/^#[A-Z]*P[A-Z]* // ; - s/^#-[ABUTSKOM]+[vf] // ; - s/^#-[ABUTSKOM]+ // ; - s/^#[vf] // ; - s/^#.+\n//m ; - print OUTPUT -} -close OUTPUT; -close MAPS; - -### urdu - -open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2alif-urdu-novoc.map"; -while () { - s/^#1 // ; - s/^#0.+\n//m ; - s/^\@Un // ; - s/^\@.+\n//m ; - s/^#[A-Z]*U[A-Z]*n // ; - s/^#[A-Z]*U[A-Z]* // ; - s/^#-[ABPTSKOM]+n // ; - s/^#-[ABPTSKOM]+ // ; - s/^#n // ; - s/^#.+\n//m ; - print OUTPUT -} -close OUTPUT; -close MAPS; - -open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2alif-urdu-voc.map"; -while () { - s/^#1 // ; - s/^#0.+\n//m ; - s/^\@Uv // ; - s/^\@v // ; - s/^\@.+\n//m ; - s/^#[A-Z]*U[A-Z]*v // ; - s/^#[A-Z]*U[A-Z]* // ; - s/^#-[ABPTSKOM]+v // ; - s/^#-[ABPTSKOM]+ // ; - s/^#v // ; - s/^#.+\n//m ; - print OUTPUT -} -close OUTPUT; -close MAPS; - -open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2alif-urdu-fullvoc.map"; -while () { - s/^#1 // ; - s/^#0.+\n//m ; - s/^\@Uf // ; - s/^\@.+\n//m ; - s/^#[A-Z]*U[A-Z]*[vf] // ; - s/^#[A-Z]*U[A-Z]* // ; - s/^#-[ABPTSKOM]+[vf] // ; - s/^#-[ABPTSKOM]+ // ; - s/^#[vf] // ; - s/^#.+\n//m ; - print OUTPUT -} -close OUTPUT; -close MAPS; - -###sindhi - -open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2alif-sindhi-novoc.map"; -while () { - s/^#1 // ; - s/^#0.+\n//m ; - s/^\@Sn // ; - s/^\@.+\n//m ; - s/^#[A-Z]*S[A-Z]*n // ; - s/^#[A-Z]*S[A-Z]* // ; - s/^#-[ABPUTKOM]+n // ; - s/^#-[ABPUTKOM]+ // ; - s/^#n // ; - s/^#.+\n//m ; - print OUTPUT -} -close OUTPUT; -close MAPS; - -open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2alif-sindhi-voc.map"; -while () { - s/^#1 // ; - s/^#0.+\n//m ; - s/^\@Sv // ; - s/^\@v // ; - s/^\@.+\n//m ; - s/^#[A-Z]*S[A-Z]*v // ; - s/^#[A-Z]*S[A-Z]* // ; - s/^#-[ABPUTKOM]+v // ; - s/^#-[ABPUTKOM]+ // ; - s/^#v // ; - s/^#.+\n//m ; - print OUTPUT -} -close OUTPUT; -close MAPS; - -open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2alif-sindhi-fullvoc.map"; -while () { - s/^#1 // ; - s/^#0.+\n//m ; - s/^\@Sf // ; - s/^\@.+\n//m ; - s/^#[A-Z]*S[A-Z]*[vf] // ; - s/^#[A-Z]*S[A-Z]* // ; - s/^#-[ABPUTKOM]+[vf] // ; - s/^#-[ABPUTKOM]+ // ; - s/^#[vf] // ; - s/^#.+\n//m ; - print OUTPUT -} -close OUTPUT; -close MAPS; - -###pashto - -open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2alif-pashto-novoc.map"; -while () { - s/^#1 // ; - s/^#0.+\n//m ; - s/^\@Tn // ; - s/^\@.+\n//m ; - s/^#[A-Z]*T[A-Z]*n // ; - s/^#[A-Z]*T[A-Z]* // ; - s/^#-[ABPUSKOM]+n // ; - s/^#-[ABPUSKOM]+ // ; - s/^#n // ; - s/^#.+\n//m ; - print OUTPUT -} -close OUTPUT; -close MAPS; - - -open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2alif-pashto-voc.map"; -while () { - s/^#1 // ; - s/^#0.+\n//m ; - s/^\@Tv // ; - s/^\@v // ; - s/^\@.+\n//m ; - s/^#[A-Z]*T[A-Z]*v // ; - s/^#[A-Z]*T[A-Z]* // ; - s/^#-[ABPUSKOM]+v // ; - s/^#-[ABPUSKOM]+ // ; - s/^#v // ; - s/^#.+\n//m ; - print OUTPUT -} -close OUTPUT; -close MAPS; - - -open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2alif-pashto-fullvoc.map"; -while () { - s/^#1 // ; - s/^#0.+\n//m ; - s/^\@Tf // ; - s/^\@.+\n//m ; - s/^#[A-Z]*T[A-Z]*[vf] // ; - s/^#[A-Z]*T[A-Z]* // ; - s/^#-[ABPUSKOM]+[vf] // ; - s/^#-[ABPUSKOM]+ // ; - s/^#[vf] // ; - s/^#.+\n//m ; - print OUTPUT -} -close OUTPUT; -close MAPS; - - -###turk - -open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2alif-turk-novoc.map"; -while () { - s/^#1 // ; - s/^#0.+\n//m ; - s/^\@On // ; - s/^\@.+\n//m ; - s/^#[A-Z]*O[A-Z]*n // ; - s/^#[A-Z]*O[A-Z]* // ; - s/^#-[ABPUSKTM]+n // ; - s/^#-[ABPUSKTM]+ // ; - s/^#n // ; - s/^#.+\n//m ; - print OUTPUT -} -close OUTPUT; -close MAPS; - - -open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2alif-turk-voc.map"; -while () { - s/^#1 // ; - s/^#0.+\n//m ; - s/^\@Ov // ; - s/^\@v // ; - s/^\@.+\n//m ; - s/^#[A-Z]*O[A-Z]*v // ; - s/^#[A-Z]*O[A-Z]* // ; - s/^#-[ABPUSKTM]+v // ; - s/^#-[ABPUSKTM]+ // ; - s/^#v // ; - s/^#.+\n//m ; - print OUTPUT -} -close OUTPUT; -close MAPS; - - -open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2alif-turk-fullvoc.map"; -while () { - s/^#1 // ; - s/^#0.+\n//m ; - s/^\@Of // ; - s/^\@.+\n//m ; - s/^#[A-Z]*O[A-Z]*[vf] // ; - s/^#[A-Z]*O[A-Z]* // ; - s/^#-[ABPUSKTM]+[vf] // ; - s/^#-[ABPUSKTM]+ // ; - s/^#[vf] // ; - s/^#.+\n//m ; - print OUTPUT -} -close OUTPUT; -close MAPS; - -###kashmiri - -open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2alif-kashmiri-novoc.map"; -while () { - s/^#1 // ; - s/^#0.+\n//m ; - s/^\@Kn // ; - s/^\@.+\n//m ; - s/^#[A-Z]*K[A-Z]*n // ; - s/^#[A-Z]*K[A-Z]* // ; - s/^#-[ABPUSOTM]+n // ; - s/^#-[ABPUSOTM]+ // ; - s/^#n // ; - s/^#.+\n//m ; - print OUTPUT -} -close OUTPUT; -close MAPS; - - -open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2alif-kashmiri-voc.map"; -while () { - s/^#1 // ; - s/^#0.+\n//m ; - s/^\@Kv // ; - s/^\@v // ; - s/^\@.+\n//m ; - s/^#[A-Z]*K[A-Z]*v // ; - s/^#[A-Z]*K[A-Z]* // ; - s/^#-[ABPUSOTM]+v // ; - s/^#-[ABPUSOTM]+ // ; - s/^#v // ; - s/^#.+\n//m ; - print OUTPUT -} -close OUTPUT; -close MAPS; - - -open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2alif-kashmiri-fullvoc.map"; -while () { - s/^#1 // ; - s/^#0.+\n//m ; - s/^\@Kf // ; - s/^\@.+\n//m ; - s/^#[A-Z]*K[A-Z]*[vf] // ; - s/^#[A-Z]*K[A-Z]* // ; - s/^#-[ABPUSOTM]+[vf] // ; - s/^#-[ABPUSOTM]+ // ; - s/^#[vf] // ; - s/^#.+\n//m ; - print OUTPUT -} -close OUTPUT; -close MAPS; - -###malay - -open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2alif-malay-novoc.map"; -while () { - s/^#1 // ; - s/^#0.+\n//m ; - s/^\@Mn // ; - s/^\@.+\n//m ; - s/^#[A-Z]*M[A-Z]*n // ; - s/^#[A-Z]*M[A-Z]* // ; - s/^#-[ABPUSKOT]+n // ; - s/^#-[ABPUSKOT]+ // ; - s/^#n // ; - s/^#.+\n//m ; - print OUTPUT -} -close OUTPUT; -close MAPS; - - -open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2alif-malay-voc.map"; -while () { - s/^#1 // ; - s/^#0.+\n//m ; - s/^\@Mv // ; - s/^\@v // ; - s/^\@.+\n//m ; - s/^#[A-Z]*M[A-Z]*v // ; - s/^#[A-Z]*M[A-Z]* // ; - s/^#-[ABPUSKOT]+v // ; - s/^#-[ABPUSKOT]+ // ; - s/^#v // ; - s/^#.+\n//m ; - print OUTPUT -} -close OUTPUT; -close MAPS; - - -open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2alif-malay-fullvoc.map"; -while () { - s/^#1 // ; - s/^#0.+\n//m ; - s/^\@Mf // ; - s/^\@.+\n//m ; - s/^#[A-Z]*M[A-Z]*[vf] // ; - s/^#[A-Z]*M[A-Z]* // ; - s/^#-[ABPUSKOT]+[vf] // ; - s/^#-[ABPUSKOT]+ // ; - s/^#[vf] // ; - s/^#.+\n//m ; - print OUTPUT -} -close OUTPUT; -close MAPS; - -## Now the mappings for fonts that do not include the initial alif in U+FDF2 - - -open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2noalif-novoc.map"; -while () { - s/^#0 // ; - s/^#1.+\n//m ; - s/^\@An // ; - s/^\@.+\n//m ; - s/^#[A-Z]*A[A-Z]*n // ; - s/^#[A-Z]*A[A-Z]* // ; - s/^#-[BPUTSKOM]+n // ; - s/^#-[BPUTSKOM]+ // ; - s/^#n // ; - s/^#.+\n//m ; - print OUTPUT -} ; -close OUTPUT; -close MAPS; - -open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2noalif-voc.map"; -while () { - s/^#0 // ; - s/^#1.+\n//m ; - s/^\@Av // ; - s/^\@v // ; - s/^\@.+\n//m ; - s/^#[A-Z]*A[A-Z]*v // ; - s/^#[A-Z]*A[A-Z]* // ; - s/^#-[BPUTSKOM]+v // ; - s/^#-[BPUTSKOM]+ // ; - s/^#v // ; - s/^#.+\n//m ; - print OUTPUT -} ; -close OUTPUT; -close MAPS; - -open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2noalif-fullvoc.map"; -while () { - s/^#0 // ; - s/^#1.+\n//m ; - s/^\@Af // ; - s/^\@.+\n//m ; - s/^#[A-Z]*A[A-Z]*[vf] // ; - s/^#[A-Z]*A[A-Z]* // ; - s/^#-[BPUTSKOM]+[vf] // ; - s/^#-[BPUTSKOM]+ // ; - s/^#[vf] // ; - s/^#.+\n//m ; - print OUTPUT -} ; -close OUTPUT; -close MAPS; - -## maghribi - -open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2noalif-maghribi-novoc.map"; -while () { - s/^#0 // ; - s/^#1.+\n//m ; - s/^\@Bn // ; - s/^\@.+\n//m ; - s/^#[A-Z]*A[A-Z]*n // ; - s/^#[A-Z]*A[A-Z]* // ; - s/^#[A-Z]*B[A-Z]*n // ; - s/^#[A-Z]*B[A-Z]* // ; - s/^#-[PUTSKOM]+n // ; - s/^#-[PUTSKOM]+ // ; - s/^#n // ; - s/^#.+\n//m ; - print OUTPUT -} ; -close OUTPUT; -close MAPS; - -open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2noalif-maghribi-voc.map"; -while () { - s/^#0 // ; - s/^#1.+\n//m ; - s/^\@Bv // ; - s/^\@v // ; - s/^\@.+\n//m ; - s/^#[A-Z]*A[A-Z]*v // ; - s/^#[A-Z]*A[A-Z]* // ; - s/^#[A-Z]*B[A-Z]*v // ; - s/^#[A-Z]*B[A-Z]* // ; - s/^#-[PUTSKOM]+v // ; - s/^#-[PUTSKOM]+ // ; - s/^#v // ; - s/^#.+\n//m ; - print OUTPUT -} ; -close OUTPUT; -close MAPS; - -open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2noalif-maghribi-fullvoc.map"; -while () { - s/^#0 // ; - s/^#1.+\n//m ; - s/^\@Bf // ; - s/^\@.+\n//m ; - s/^#[A-Z]*A[A-Z]*[vf] // ; - s/^#[A-Z]*A[A-Z]* // ; - s/^#[A-Z]*B[A-Z]*[vf] // ; - s/^#[A-Z]*B[A-Z]* // ; - s/^#-[PUTSKOM]+[vf] // ; - s/^#-[PUTSKOM]+ // ; - s/^#[vf] // ; - s/^#.+\n//m ; - print OUTPUT -} ; -close OUTPUT; -close MAPS; - -### farsi - -open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2noalif-farsi-novoc.map"; -while () { - s/^#0 // ; - s/^#1.+\n//m ; - s/^\@Pn // ; - s/^\@.+\n//m ; - s/^#[A-Z]*P[A-Z]*n // ; - s/^#[A-Z]*P[A-Z]* // ; - s/^#-[ABUTSKOM]+n // ; - s/^#-[ABUTSKOM]+ // ; - s/^#n // ; - s/^#.+\n//m ; - print OUTPUT -} -close OUTPUT; -close MAPS; - -open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2noalif-farsi-voc.map"; -while () { - s/^#0 // ; - s/^#1.+\n//m ; - s/^\@Pv // ; - s/^\@v // ; - s/^\@.+\n//m ; - s/^#[A-Z]*P[A-Z]*v // ; - s/^#[A-Z]*P[A-Z]* // ; - s/^#-[ABUTSKOM]+v // ; - s/^#-[ABUTSKOM]+ // ; - s/^#v // ; - s/^#.+\n//m ; - print OUTPUT -} -close OUTPUT; -close MAPS; - -open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2noalif-farsi-fullvoc.map"; -while () { - s/^#0 // ; - s/^#1.+\n//m ; - s/^\@Pf // ; - s/^\@.+\n//m ; - s/^#[A-Z]*P[A-Z]*[vf] // ; - s/^#[A-Z]*P[A-Z]* // ; - s/^#-[ABUTSKOM]+[vf] // ; - s/^#-[ABUTSKOM]+ // ; - s/^#[vf] // ; - s/^#.+\n//m ; - print OUTPUT -} -close OUTPUT; -close MAPS; - -### urdu - -open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2noalif-urdu-novoc.map"; -while () { - s/^#0 // ; - s/^#1.+\n//m ; - s/^\@Un // ; - s/^\@.+\n//m ; - s/^#[A-Z]*U[A-Z]*n // ; - s/^#[A-Z]*U[A-Z]* // ; - s/^#-[ABPTSKOM]+n // ; - s/^#-[ABPTSKOM]+ // ; - s/^#n // ; - s/^#.+\n//m ; - print OUTPUT -} -close OUTPUT; -close MAPS; - -open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2noalif-urdu-voc.map"; -while () { - s/^#0 // ; - s/^#1.+\n//m ; - s/^\@Uv // ; - s/^\@v // ; - s/^\@.+\n//m ; - s/^#[A-Z]*U[A-Z]*v // ; - s/^#[A-Z]*U[A-Z]* // ; - s/^#-[ABPTSKOM]+v // ; - s/^#-[ABPTSKOM]+ // ; - s/^#v // ; - s/^#.+\n//m ; - print OUTPUT -} -close OUTPUT; -close MAPS; - -open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2noalif-urdu-fullvoc.map"; -while () { - s/^#0 // ; - s/^#1.+\n//m ; - s/^\@Uf // ; - s/^\@.+\n//m ; - s/^#[A-Z]*U[A-Z]*[vf] // ; - s/^#[A-Z]*U[A-Z]* // ; - s/^#-[ABPTSKOM]+[vf] // ; - s/^#-[ABPTSKOM]+ // ; - s/^#[vf] // ; - s/^#.+\n//m ; - print OUTPUT -} -close OUTPUT; -close MAPS; - -###sindhi - -open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2noalif-sindhi-novoc.map"; -while () { - s/^#0 // ; - s/^#1.+\n//m ; - s/^\@Sn // ; - s/^\@.+\n//m ; - s/^#[A-Z]*S[A-Z]*n // ; - s/^#[A-Z]*S[A-Z]* // ; - s/^#-[ABPUTKOM]+n // ; - s/^#-[ABPUTKOM]+ // ; - s/^#n // ; - s/^#.+\n//m ; - print OUTPUT -} -close OUTPUT; -close MAPS; - -open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2noalif-sindhi-voc.map"; -while () { - s/^#0 // ; - s/^#1.+\n//m ; - s/^\@Sv // ; - s/^\@v // ; - s/^\@.+\n//m ; - s/^#[A-Z]*S[A-Z]*v // ; - s/^#[A-Z]*S[A-Z]* // ; - s/^#-[ABPUTKOM]+v // ; - s/^#-[ABPUTKOM]+ // ; - s/^#v // ; - s/^#.+\n//m ; - print OUTPUT -} -close OUTPUT; -close MAPS; - -open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2noalif-sindhi-fullvoc.map"; -while () { - s/^#0 // ; - s/^#1.+\n//m ; - s/^\@Sf // ; - s/^\@.+\n//m ; - s/^#[A-Z]*S[A-Z]*[vf] // ; - s/^#[A-Z]*S[A-Z]* // ; - s/^#-[ABPUTKOM]+[vf] // ; - s/^#-[ABPUTKOM]+ // ; - s/^#[vf] // ; - s/^#.+\n//m ; - print OUTPUT -} -close OUTPUT; -close MAPS; - -###pashto - -open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2noalif-pashto-novoc.map"; -while () { - s/^#0 // ; - s/^#1.+\n//m ; - s/^\@Tn // ; - s/^\@.+\n//m ; - s/^#[A-Z]*T[A-Z]*n // ; - s/^#[A-Z]*T[A-Z]* // ; - s/^#-[ABPUSKOM]+n // ; - s/^#-[ABPUSKOM]+ // ; - s/^#n // ; - s/^#.+\n//m ; - print OUTPUT -} -close OUTPUT; -close MAPS; - - -open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2noalif-pashto-voc.map"; -while () { - s/^#0 // ; - s/^#1.+\n//m ; - s/^\@Tv // ; - s/^\@v // ; - s/^\@.+\n//m ; - s/^#[A-Z]*T[A-Z]*v // ; - s/^#[A-Z]*T[A-Z]* // ; - s/^#-[ABPUSKOM]+v // ; - s/^#-[ABPUSKOM]+ // ; - s/^#v // ; - s/^#.+\n//m ; - print OUTPUT -} -close OUTPUT; -close MAPS; - - -open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2noalif-pashto-fullvoc.map"; -while () { - s/^#0 // ; - s/^#1.+\n//m ; - s/^\@Tf // ; - s/^\@.+\n//m ; - s/^#[A-Z]*T[A-Z]*[vf] // ; - s/^#[A-Z]*T[A-Z]* // ; - s/^#-[ABPUSKOM]+[vf] // ; - s/^#-[ABPUSKOM]+ // ; - s/^#[vf] // ; - s/^#.+\n//m ; - print OUTPUT -} -close OUTPUT; -close MAPS; - - -###turk - -open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2noalif-turk-novoc.map"; -while () { - s/^#0 // ; - s/^#1.+\n//m ; - s/^\@On // ; - s/^\@.+\n//m ; - s/^#[A-Z]*O[A-Z]*n // ; - s/^#[A-Z]*O[A-Z]* // ; - s/^#-[ABPUSKTM]+n // ; - s/^#-[ABPUSKTM]+ // ; - s/^#n // ; - s/^#.+\n//m ; - print OUTPUT -} -close OUTPUT; -close MAPS; - - -open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2noalif-turk-voc.map"; -while () { - s/^#0 // ; - s/^#1.+\n//m ; - s/^\@Ov // ; - s/^\@v // ; - s/^\@.+\n//m ; - s/^#[A-Z]*O[A-Z]*v // ; - s/^#[A-Z]*O[A-Z]* // ; - s/^#-[ABPUSKTM]+v // ; - s/^#-[ABPUSKTM]+ // ; - s/^#v // ; - s/^#.+\n//m ; - print OUTPUT -} -close OUTPUT; -close MAPS; - - -open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2noalif-turk-fullvoc.map"; -while () { - s/^#0 // ; - s/^#1.+\n//m ; - s/^\@Of // ; - s/^\@.+\n//m ; - s/^#[A-Z]*O[A-Z]*[vf] // ; - s/^#[A-Z]*O[A-Z]* // ; - s/^#-[ABPUSKTM]+[vf] // ; - s/^#-[ABPUSKTM]+ // ; - s/^#[vf] // ; - s/^#.+\n//m ; - print OUTPUT -} -close OUTPUT; -close MAPS; - -###kashmiri - -open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2noalif-kashmiri-novoc.map"; -while () { - s/^#0 // ; - s/^#1.+\n//m ; - s/^\@Kn // ; - s/^\@.+\n//m ; - s/^#[A-Z]*K[A-Z]*n // ; - s/^#[A-Z]*K[A-Z]* // ; - s/^#-[ABPUSOTM]+n // ; - s/^#-[ABPUSOTM]+ // ; - s/^#n // ; - s/^#.+\n//m ; - print OUTPUT -} -close OUTPUT; -close MAPS; - - -open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2noalif-kashmiri-voc.map"; -while () { - s/^#0 // ; - s/^#1.+\n//m ; - s/^\@Kv // ; - s/^\@v // ; - s/^\@.+\n//m ; - s/^#[A-Z]*K[A-Z]*v // ; - s/^#[A-Z]*K[A-Z]* // ; - s/^#-[ABPUSOTM]+v // ; - s/^#-[ABPUSOTM]+ // ; - s/^#v // ; - s/^#.+\n//m ; - print OUTPUT -} -close OUTPUT; -close MAPS; - - -open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2noalif-kashmiri-fullvoc.map"; -while () { - s/^#0 // ; - s/^#1.+\n//m ; - s/^\@Kf // ; - s/^\@.+\n//m ; - s/^#[A-Z]*K[A-Z]*[vf] // ; - s/^#[A-Z]*K[A-Z]* // ; - s/^#-[ABPUSOTM]+[vf] // ; - s/^#-[ABPUSOTM]+ // ; - s/^#[vf] // ; - s/^#.+\n//m ; - print OUTPUT -} -close OUTPUT; -close MAPS; - -###malay - -open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2noalif-malay-novoc.map"; -while () { - s/^#0 // ; - s/^#1.+\n//m ; - s/^\@Mn // ; - s/^\@.+\n//m ; - s/^#[A-Z]*M[A-Z]*n // ; - s/^#[A-Z]*M[A-Z]* // ; - s/^#-[ABPUSKOT]+n // ; - s/^#-[ABPUSKOT]+ // ; - s/^#n // ; - s/^#.+\n//m ; - print OUTPUT -} -close OUTPUT; -close MAPS; - - -open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2noalif-malay-voc.map"; -while () { - s/^#0 // ; - s/^#1.+\n//m ; - s/^\@Mv // ; - s/^\@v // ; - s/^\@.+\n//m ; - s/^#[A-Z]*M[A-Z]*v // ; - s/^#[A-Z]*M[A-Z]* // ; - s/^#-[ABPUSKOT]+v // ; - s/^#-[ABPUSKOT]+ // ; - s/^#v // ; - s/^#.+\n//m ; - print OUTPUT -} -close OUTPUT; -close MAPS; - - -open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2noalif-malay-fullvoc.map"; -while () { - s/^#0 // ; - s/^#1.+\n//m ; - s/^\@Mf // ; - s/^\@.+\n//m ; - s/^#[A-Z]*M[A-Z]*[vf] // ; - s/^#[A-Z]*M[A-Z]* // ; - s/^#-[ABPUSKOT]+[vf] // ; - s/^#-[ABPUSKOT]+ // ; - s/^#[vf] // ; - s/^#.+\n//m ; - print OUTPUT -} -close OUTPUT; -close MAPS; - -# Now Kurdish and Uighur... - -open MAPS, "$output-fdf2noalif-kurdish.map"; -while () { - s/^#0 // ; - s/^#1.+\n//m ; - print OUTPUT -} -close OUTPUT; -close MAPS; - -open MAPS, "$output-fdf2noalif-uighur.map"; -while () { - s/^#0 // ; - s/^#1.+\n//m ; - print OUTPUT -} -close OUTPUT; -close MAPS; - -open MAPS, "$output-fdf2alif-kurdish.map"; -while () { - s/^#1 // ; - s/^#0.+\n//m ; - print OUTPUT -} -close OUTPUT; -close MAPS; - -open MAPS, "$output-fdf2alif-uighur.map"; -while () { - s/^#1 // ; - s/^#0.+\n//m ; - print OUTPUT -} -close OUTPUT; -close MAPS; - -# Let's compile them now -system("cp *.map mappings/"); -system("for map in mappings/*.map; do echo \"compiling \$map ...\" && teckit_compile \$map; done"); - - diff --git a/Master/texmf-dist/doc/xelatex/arabxetex/minimal.tex b/Master/texmf-dist/doc/xelatex/arabxetex/minimal.tex deleted file mode 100644 index 88c3923dcf2..00000000000 --- a/Master/texmf-dist/doc/xelatex/arabxetex/minimal.tex +++ /dev/null @@ -1,22 +0,0 @@ -\documentclass{minimal} -\usepackage{arabxetex} % default options are "novoc" and "fdf2alif", - % other options are "voc", "fullvoc", "utf", "trans" and "fdf2noalif" -% arabxetex loads bidi.sty and fontspec.sty - -\newfontfamily\arabicfont[Script=Arabic, Scale=1.5]{Scheherazade} -% you can also define \farsifont, \uighurfont, etc if you want -\begin{document} -This is some text in English with Arabic insertion \textarab{`arabI}. - -This is some text in English with Arabic insertion \textarab[utf]{عربي}. - -This is some text in English with Arabic insertion \textarab[voc]{`arabI}. - -\begin{arab} -wa-ha_dihi fiqraT"uN bi-al-`arabiyaT ma`a kalimaT inklIziyaT (\textroman{English}). -\end{arab} - -\begin{arab}[utf] -وهذه فقرةٌ بالعربية مع كلمة انكليزية (\textroman{English}). -\end{arab} -\end{document} diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabic-novowels.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabic-novowels.tec deleted file mode 100644 index 4b27610456a..00000000000 Binary files a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabic-novowels.tec and /dev/null differ diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabicdigits.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabicdigits.map new file mode 100644 index 00000000000..9a6bf63b66f --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabicdigits.map @@ -0,0 +1,16 @@ +; FC ... +LHSName "Digits" +RHSName "ArabicDigits" + +pass(Unicode) +U+0030 <> U+0660 ; +U+0031 <> U+0661 ; +U+0032 <> U+0662 ; +U+0033 <> U+0663 ; +U+0034 <> U+0664 ; +U+0035 <> U+0665 ; +U+0036 <> U+0666 ; +U+0037 <> U+0667 ; +U+0038 <> U+0668 ; +U+0039 <> U+0669 ; + diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabicfixes.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabicfixes.tec deleted file mode 100644 index 881a14a3f5a..00000000000 Binary files a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabicfixes.tec and /dev/null differ diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-farsi-fullvoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-farsi-fullvoc.map new file mode 100644 index 00000000000..12dbfa01c63 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-farsi-fullvoc.map @@ -0,0 +1,495 @@ +LHSName "ArabTeX-farsi-fullvocalized" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h' +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: +U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH' +U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +CO O > U+06FC ; +a e > a y +a o > a w +(o|u)? O / # _ > U+0627 w +(o|u)? O > w +CO U > U+06C7 ; +e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish) +o > u +E > I +I / _ # > i y + + +;; Persian ezafe (ALL BUT ARABIC AND UIGHUR) +U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<< +U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I +Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e +Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I +Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i +Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i +Z / U+0048 _ > U+0020 ; +b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI +[VWL]=v1 / BEG _ > U+0627 @v1 +A / BEG _ > HA ;; ADD MORE ? <<< +Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U +; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I +Q?=q1 I / BEG _ ^# > U+0627 @q1 i y ; -I... +Z Q?=qq (I|E) / _ (#|Z) > @qq i y ; +UL Q?=q1 U > @q1 U +Q?=q1 U / # _ # > U+0627 @q1 u w +Q BAR > U+0020; "| to separate compounds >> IN TRANSLIT THIS WILL BE REMOVED + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m U+0627 Hy +m Q i H a / _ (T|t) > m U+0627 Hy a +m i H Q a / _ (T|t) > m i U+0627 Hy +m i H a / _ (T|t) > m i U+0627 Hy a + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Q Y Y > U+0649 U+0651 ;;SHADDA +Q Y > U+0649 +Y Y > U+064E U+0649 U+0651 ;;SHADDA +Y > U+064E U+0649 +;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots +y y > U+06CC U+0651 ;;SHADDA +y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +U A / _ # > U+064F U+0648 U+0627 +Q U [Uw] > U+0648 U+0651 ;;SHADDA +Q U > U+0648 +U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +U > U+064F U+0648 +w w > U+0648 U+0651 ;;SHADDA +w > U+0648 +Q u N? > +u N > U+064C +u > U+064F +V t V t > U+0679 U+0651 ;;SHADDA +V t > U+0679 ;urdu +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 ;;SHADDA +T Q AN > U+0629 +T AN > U+0629 U+064B +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0691 U+0651 ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+062C U+0651 ;;SHADDA +C g > U+062C +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+064A +I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +Q i N? > ; +i N > U+064D +i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +U+0048 Z > U+0647 U+200C U+0020 ;eH-suffix > eH suffix +U+0048 > U+0647 U+200C ; H is always heh final +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+068A U+0651 ;;SHADDA +V d > U+068A +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0681 U+0651 ;;SHADDA +c > U+0681 ; ح with hamza above +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+064E U+0649 +UL a > U+0670 +UL u > U+064F; +UL i > U+0650; +Q AN / (A H|Ha) _ > ; +AN / (A H|Ha) _ > U+064B +Q AN > U+0627 +AN > U+0627 U+064B +Q a > +a > U+064E +Q A > U+0627 +A > U+064E U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArEasternDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +Q [VWL] > ;stripoff quoted vowels +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +BAR > ;| + +pass(Unicode) + +Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-) +Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc. +Class [VWL] = (U+0627 U+0648..U+0650 U+0670); +[CONS]=k1 / _ Z? [CONS] ^U+0651 > @k1 U+0652 ; hack: 2nd consonant has no shadda +U+064E (U+064A|U+0648)=hc / _ (^[VWLX]|#) > U+064E @hc U+0652 ; ay and aw diphtongs +U+0627 / # _ U+0644 > U+0627 U+064E ; otherwise initial alif takes fatha +[CONS]=k1 / _ ([CONS]|#) > @k1 U+0652 ; consonant + (consonant or final) +;; [CONS]=k1 / _ # > @k1 U+0652 ; final consonant +Q > ; +Z > ; diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-farsi-novoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-farsi-novoc.map new file mode 100644 index 00000000000..dfdfa837b35 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-farsi-novoc.map @@ -0,0 +1,480 @@ +LHSName "ArabTeX-farsi-novowels" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h' +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: +U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH' +U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +[AVWL] > ; strip off vowels when writing UTF-8 Arabic with novoc mode +CO O > U+06FC ; +a e > a y +a o > a w +(o|u)? O / # _ > U+0627 w +(o|u)? O > w +CO U > U+06C7 ; +e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish) +o > u +E > I +I / _ # > i y + + +;; Persian ezafe (ALL BUT ARABIC AND UIGHUR) +U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<< +U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I +Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e +Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I +Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i +Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i +Z / U+0048 _ > U+0020 ; +b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0627 ; +[VWL]=v1 / BEG _ > A @v1 +A / BEG _ > HA ;; ADD MORE ? <<< +Q?=q1 U / BEG _ > A @q1 u w ; -U +; Q?=q1 I / BEG _ > A @q1 i y ; -I ; but not when I is final FIXME!!! +Q?=q1 I / BEG _ ^# > A @q1 i y ; -I... +Z Q?=qq (I|E) / _ (#|Z) > @qq i y ; +UL Q?=q1 U > @q1 U +Q?=q1 U / # _ # > U+0627 @q1 u w +Q BAR > U+0020; "| to separate compounds >> IN TRANSLIT THIS WILL BE REMOVED + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m Q i A Hy Q a +m Q i H a / _ (T|t) > m Q i A Hy +m i H Q a / _ (T|t) > m A Hy Q a +m i H a / _ (T|t) > m A Hy + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Y Y > U+0649 U+0651 ;;SHADDA +Y > U+0649 +;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots +y y > U+06CC U+0651 ;;SHADDA +y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +Q U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +Q U > U+064F U+0648 +[Uw] [Uw] > U+0648 U+0651 ;;SHADDA +[Uw] > U+0648 +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +Q u N > U+064C +u N > +Q u > U+064F +V t V t > U+0679 U+0651 ;;SHADDA +V t > U+0679 ;urdu +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 U+064B ;;SHADDA +T Q AN > U+0629 U+064B +T AN > U+0629 +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0691 U+0651 ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+062C U+0651 ;;SHADDA +C g > U+062C +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +I > U+064A +Q i N > U+064D +i N > ; +Q i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +U+0048 Z > U+0647 U+200C U+0020 ;eH-suffix > eH suffix +U+0048 > U+0647 U+200C ; H is always heh final +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+068A U+0651 ;;SHADDA +V d > U+068A +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0681 U+0651 ;;SHADDA +c > U+0681 ; ح with hamza above +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+0649 +UL a > U+0670 +UL u > ; +UL i > ; +Q AN / (A H|Ha) _ > U+064B +AN / (A H|Ha) _ > ; +Q AN > U+0627 U+064B +AN > U+0627 +Q a > U+064E +Q A > U+064E U+0627 +A > U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArEasternDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +[VWL] > ;stripoff vowels +Q > U+0652 +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +Z > ;- +BAR > ;| + diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-farsi-novoc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-farsi-novoc.tec index 8a113805622..418f6566e43 100644 Binary files a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-farsi-novoc.tec and b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-farsi-novoc.tec differ diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-farsi-voc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-farsi-voc.map new file mode 100644 index 00000000000..35c789edd42 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-farsi-voc.map @@ -0,0 +1,490 @@ +LHSName "ArabTeX-farsi-vocalized" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h' +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: +U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH' +U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +CO O > U+06FC ; +a e > a y +a o > a w +(o|u)? O / # _ > U+0627 w +(o|u)? O > w +CO U > U+06C7 ; +e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish) +o > u +E > I +I / _ # > i y + + +;; Persian ezafe (ALL BUT ARABIC AND UIGHUR) +U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<< +U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I +Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e +Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I +Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i +Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i +Z / U+0048 _ > U+0020 ; +b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI +[VWL]=v1 / BEG _ > U+0627 @v1 +A / BEG _ > HA ;; ADD MORE ? <<< +Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U +; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I +Q?=q1 I / BEG _ ^# > U+0627 @q1 i y ; -I... +Z Q?=qq (I|E) / _ (#|Z) > @qq i y ; +UL Q?=q1 U > @q1 U +Q?=q1 U / # _ # > U+0627 @q1 u w +Q BAR > U+0020; "| to separate compounds >> IN TRANSLIT THIS WILL BE REMOVED + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m U+0627 Hy +m Q i H a / _ (T|t) > m U+0627 Hy a +m i H Q a / _ (T|t) > m i U+0627 Hy +m i H a / _ (T|t) > m i U+0627 Hy a + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Q Y Y > U+0649 U+0651 ;;SHADDA +Q Y > U+0649 +Y Y > U+064E U+0649 U+0651 ;;SHADDA +Y > U+064E U+0649 +;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots +y y > U+06CC U+0651 ;;SHADDA +y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +U A / _ # > U+064F U+0648 U+0627 +Q U [Uw] > U+0648 U+0651 ;;SHADDA +Q U > U+0648 +U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +U > U+064F U+0648 +w w > U+0648 U+0651 ;;SHADDA +w > U+0648 +Q u N? > +u N > U+064C +u > U+064F +V t V t > U+0679 U+0651 ;;SHADDA +V t > U+0679 ;urdu +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 ;;SHADDA +T Q AN > U+0629 +T AN > U+0629 U+064B +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0691 U+0651 ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+062C U+0651 ;;SHADDA +C g > U+062C +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+064A +I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +Q i N? > ; +i N > U+064D +i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +U+0048 Z > U+0647 U+200C U+0020 ;eH-suffix > eH suffix +U+0048 > U+0647 U+200C ; H is always heh final +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+068A U+0651 ;;SHADDA +V d > U+068A +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0681 U+0651 ;;SHADDA +c > U+0681 ; ح with hamza above +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+064E U+0649 +UL a > U+0670 +UL u > U+064F; +UL i > U+0650; +Q AN / (A H|Ha) _ > ; +AN / (A H|Ha) _ > U+064B +Q AN > U+0627 +AN > U+0627 U+064B +Q a > +a > U+064E +Q A > U+0627 +A > U+064E U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArEasternDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +Q [VWL] > ;stripoff quoted vowels +Q > U+0652 +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +BAR > ;| + +pass(Unicode) + +Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-) +Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc. +Class [VWL] = (U+0627 U+0648..U+0650 U+0670); +Z > ; diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-fullvoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-fullvoc.map new file mode 100644 index 00000000000..11bd7a0a39b --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-fullvoc.map @@ -0,0 +1,482 @@ +LHSName "ArabTeX-fullvocalized" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h' +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: +U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH' +U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +CO O > U+06FC ; +a e > a y +a o > a w +CO U > U+06C7 ; +e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish) +o > u +E > I +O > U + + + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +H l Z / BEG _ > U+0671 l Z ; THIS IS NOT AN ARABTEX CONVENTION! it's a work-around coz pattern-matching across word boundaries does not work in teckit , so min al- must be written mina 'l- in fullvocalize mode +;; wasla on initial alif : NEW! NOT TESTED! +[VWL]=v1 Z / BEG _ > @v1 U+0671 ; THIS IS NOT AN ARABTEX CONVENTION! it's a work-around coz pattern-matching across word boundaries does not work in teckit , so huwa irtifA` must be written huwa i-rtifA` in fullvocalize mode +H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI +[VWL]=v1 / BEG _ > U+0627 @v1 +A / BEG _ > U+0627 a +Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U +; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I +Q?=q1 I / BEG _ > U+0627 @q1 i y + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m U+0627 Hy +m Q i H a / _ (T|t) > m U+0627 Hy a +m i H Q a / _ (T|t) > m i U+0627 Hy +m i H a / _ (T|t) > m i U+0627 Hy a + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Q Y Y > U+0649 U+0651 ;;SHADDA +Q Y > U+0649 +Y Y > U+064E U+0649 U+0651 ;;SHADDA +Y > U+064E U+0649 +P I P I / _ # > U+0650 U+06CC U+0651 ;; SHADDA +P I / _ # > U+0650 U+06CC ;; workaround to have ya without dots in Arabic +y y > U+064A U+0651 ;;SHADDA +y > U+064A +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +U A / _ # > U+064F U+0648 U+0627 +Q U [Uw] > U+0648 U+0651 ;;SHADDA +Q U > U+0648 +U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +U > U+064F U+0648 +w w > U+0648 U+0651 ;;SHADDA +w > U+0648 +Q u N? > +u N > U+064C +u > U+064F +V t V t > U+0679 U+0651 ;;SHADDA +V t > U+0679 ;urdu +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 ;;SHADDA +T Q AN > U+0629 +T AN > U+0629 U+064B +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0691 U+0651 ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+062C U+0651 ;;SHADDA +C g > U+062C +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+064A +I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +Q i N? > ; +i N > U+064D +i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+068A U+0651 ;;SHADDA +V d > U+068A +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0681 U+0651 ;;SHADDA +c > U+0681 ; ح with hamza above +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+064E U+0649 +UL a > U+0670 +UL u > U+0657 ; inverted damma +UL i > U+0656 ; subscript alif +Q AN / (A H|Ha) _ > ; +AN / (A H|Ha) _ > U+064B +Q AN > U+0627 +AN > U+0627 U+064B +Q a > +a > U+064E +Q A > U+0627 +A > U+064E U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +Q [VWL] > ;stripoff quoted vowels +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +BAR > ;| + +pass(Unicode) + +Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-) +Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc. +Class [VWL] = (U+0627 U+0648..U+0650 U+0670); +[CONS]=k1 / _ Z? [CONS] ^U+0651 > @k1 U+0652 ; hack: 2nd consonant has no shadda +U+064E (U+064A|U+0648)=hc / _ (^[VWLX]|#) > U+064E @hc U+0652 ; ay and aw diphtongs +U+0627 [VWL]? / [VWL] Z _ > U+0671 ; e.g. fa-isti_hraj -> wasla on initial alif +U+0627 / # _ U+0644 > U+0627 U+064E ; otherwise initial alif takes fatha +[CONS]=k1 / _ ([CONS]|#) > @k1 U+0652 ; consonant + (consonant or final) +;; [CONS]=k1 / _ # > @k1 U+0652 ; final consonant +Q > ; +Z > ; diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-fullvoc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-fullvoc.tec index 5973ffd9927..46a3e4c598e 100644 Binary files a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-fullvoc.tec and b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-fullvoc.tec differ diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-kashmiri-fullvoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-kashmiri-fullvoc.map new file mode 100644 index 00000000000..769b6bde7e8 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-kashmiri-fullvoc.map @@ -0,0 +1,513 @@ +LHSName "ArabTeX-kashmiri-fullvocalized" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h' +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: +U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH' +U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +CO O > U+06FC ; +a e > a y +a o > a w +(o|u)? O / # _ > U+0627 w +(o|u)? O > w +CO U > U+06C7 ; +e / # _ # > U+0627 U+06D2 U+0658 ; Alif + yeh barree + bow accent +e / _ # > U+06D2 U+0658 ; yeh barree + bow accent +e / # _ > U+0627 y U+0658 ; alif + ya + bow accent +e > y U+0658 +E / # _ # > U+0627 U+06D2 ; Alif + yeh barree +E / _ # > U+06D2 ; yeh barree +E / # _ > U+0627 y ; alif + ya +E > y +o / # _ > U+0627 U+06C6 +o > U+06C6 +P A > U+0672 +P U > U+0673 ; > this is the initial or lone form, but medial and final require wavy hamza below previous letter (not in Unicode)! Perhaps an OT font could solve this :: in Scheherazade the glyph needed is named _wavyHamza <<< +P a / # _ > U+0623 +P a > U+0654 +P u > U+0655 +P o / # _ > U+0627 U+06C4 +P o > U+06C4 +P O / # _ > U+0627 U+06C4 U+0627 U+064E +P O > U+06C4 U+0627 U+064E +I > y U+0656 +I / _ # > y +U / _ # > U+0627 w U+0657 +U > w U+0657 + + +;; Persian ezafe (ALL BUT ARABIC AND UIGHUR) +U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<< +U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I +Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e +Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I +Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i +Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i +Z / U+0048 _ > U+0020 ; +b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI +[VWL]=v1 / BEG _ > U+0627 @v1 +Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U +; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I +Q?=q1 I / BEG _ > U+0627 @q1 i y + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m U+0627 Hy +m Q i H a / _ (T|t) > m U+0627 Hy a +m i H Q a / _ (T|t) > m i U+0627 Hy +m i H a / _ (T|t) > m i U+0627 Hy a + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +CO z CO z > U+0636 U+0651 ;;SHADDA +CO z > U+0636 +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Q Y Y > U+0649 U+0651 ;;SHADDA +Q Y > U+0649 +Y Y > U+064E U+0649 U+0651 ;;SHADDA +Y > U+064E U+0649 +;; .b with ring below : FIXME not in Unicode! but U+06EA is a poor replacement: +P y / # _ # > U+0627 U+06D2 U+06EA +P y / _ # > U+0649 +P y > U+066E U+06EA +;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots +y y > U+06CC U+0651 ;;SHADDA +y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +U A / _ # > U+064F U+0648 U+0627 +Q U [Uw] > U+0648 U+0651 ;;SHADDA +Q U > U+0648 +U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +U > U+064F U+0648 +w w > U+0648 U+0651 ;;SHADDA +w > U+0648 +Q u N? > +u N > U+064C +u > U+064F +V t V t > U+0679 U+0651 ;;SHADDA +V t > U+0679 ;urdu +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 ;;SHADDA +T Q AN > U+0629 +T AN > U+0629 U+064B +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0691 U+0651 ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+062C U+0651 ;;SHADDA +C g > U+062C +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+064A +I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +Q i N? > ; +i N > U+064D +i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+068A U+0651 ;;SHADDA +V d > U+068A +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0681 U+0651 ;;SHADDA +c > U+0681 ; ح with hamza above +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+064E U+0649 +UL a > U+0670 +UL u > U+064F; +UL i > U+0650; +Q AN / (A H|Ha) _ > ; +AN / (A H|Ha) _ > U+064B +Q AN > U+0627 +AN > U+0627 U+064B +Q a > +a > U+064E +Q A > U+0627 +A > U+064E U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArEasternDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +Q [VWL] > ;stripoff quoted vowels +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +BAR > ;| + +pass(Unicode) + +Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-) +Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc. +Class [VWL] = (U+0627 U+0648..U+0650 U+0670); +[CONS]=k1 / _ Z? [CONS] ^U+0651 > @k1 U+0652 ; hack: 2nd consonant has no shadda +U+064E (U+064A|U+0648)=hc / _ (^[VWLX]|#) > U+064E @hc U+0652 ; ay and aw diphtongs +U+0627 / # _ U+0644 > U+0627 U+064E ; otherwise initial alif takes fatha +[CONS]=k1 / _ ([CONS]|#) > @k1 U+0652 ; consonant + (consonant or final) +;; [CONS]=k1 / _ # > @k1 U+0652 ; final consonant +Q > ; +Z > ; diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-kashmiri-novoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-kashmiri-novoc.map new file mode 100644 index 00000000000..99b2e76a64d --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-kashmiri-novoc.map @@ -0,0 +1,498 @@ +LHSName "ArabTeX-kashmiri-novowels" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h' +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: +U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH' +U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +[AVWL] > ; strip off vowels when writing UTF-8 Arabic with novoc mode +CO O > U+06FC ; +a e > a y +a o > a w +(o|u)? O / # _ > U+0627 w +(o|u)? O > w +CO U > U+06C7 ; +e / # _ # > U+0627 U+06D2 U+0658 ; Alif + yeh barree + bow accent +e / _ # > U+06D2 U+0658 ; yeh barree + bow accent +e / # _ > U+0627 y U+0658 ; alif + ya + bow accent +e > y U+0658 +E / # _ # > U+0627 U+06D2 ; Alif + yeh barree +E / _ # > U+06D2 ; yeh barree +E / # _ > U+0627 y ; alif + ya +E > y +o / # _ > U+0627 U+06C6 +o > U+06C6 +P A > U+0672 +P U > U+0673 ; > this is the initial or lone form, but medial and final require wavy hamza below previous letter (not in Unicode)! Perhaps an OT font could solve this :: in Scheherazade the glyph needed is named _wavyHamza <<< +P a / # _ > U+0623 +P a > U+0654 +P u > U+0655 +P o / # _ > U+0627 U+06C4 +P o > U+06C4 +P O / # _ > U+0627 U+06C4 U+0627 U+064E +P O > U+06C4 U+0627 U+064E +I > y U+0656 +I / _ # > y +U / _ # > U+0627 w U+0657 +U > w U+0657 + + +;; Persian ezafe (ALL BUT ARABIC AND UIGHUR) +U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<< +U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I +Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e +Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I +Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i +Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i +Z / U+0048 _ > U+0020 ; +b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0627 ; +[VWL]=v1 / BEG _ > A @v1 +Q?=q1 U / BEG _ > A @q1 u w ; -U +; Q?=q1 I / BEG _ > A @q1 i y ; -I ; but not when I is final FIXME!!! +Q?=q1 I / BEG _ > A @q1 i y ; except for Persian, coz of ezafe rules + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m Q i A Hy Q a +m Q i H a / _ (T|t) > m Q i A Hy +m i H Q a / _ (T|t) > m A Hy Q a +m i H a / _ (T|t) > m A Hy + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +CO z CO z > U+0636 U+0651 ;;SHADDA +CO z > U+0636 +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Y Y > U+0649 U+0651 ;;SHADDA +Y > U+0649 +;; .b with ring below : FIXME not in Unicode! but U+06EA is a poor replacement: +P y / # _ # > U+0627 U+06D2 U+06EA +P y / _ # > U+0649 +P y > U+066E U+06EA +;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots +y y > U+06CC U+0651 ;;SHADDA +y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +Q U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +Q U > U+064F U+0648 +[Uw] [Uw] > U+0648 U+0651 ;;SHADDA +[Uw] > U+0648 +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +Q u N > U+064C +u N > +Q u > U+064F +V t V t > U+0679 U+0651 ;;SHADDA +V t > U+0679 ;urdu +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 U+064B ;;SHADDA +T Q AN > U+0629 U+064B +T AN > U+0629 +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0691 U+0651 ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+062C U+0651 ;;SHADDA +C g > U+062C +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +I > U+064A +Q i N > U+064D +i N > ; +Q i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+068A U+0651 ;;SHADDA +V d > U+068A +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0681 U+0651 ;;SHADDA +c > U+0681 ; ح with hamza above +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+0649 +UL a > U+0670 +UL u > ; +UL i > ; +Q AN / (A H|Ha) _ > U+064B +AN / (A H|Ha) _ > ; +Q AN > U+0627 U+064B +AN > U+0627 +Q a > U+064E +Q A > U+064E U+0627 +A > U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArEasternDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +[VWL] > ;stripoff vowels +Q > U+0652 +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +Z > ;- +BAR > ;| + diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-kashmiri-novoc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-kashmiri-novoc.tec index 94c4aa3366b..ec6bf0a081d 100644 Binary files a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-kashmiri-novoc.tec and b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-kashmiri-novoc.tec differ diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-kashmiri-voc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-kashmiri-voc.map new file mode 100644 index 00000000000..791aab5df95 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-kashmiri-voc.map @@ -0,0 +1,508 @@ +LHSName "ArabTeX-kashmiri-vocalized" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h' +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: +U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH' +U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +CO O > U+06FC ; +a e > a y +a o > a w +(o|u)? O / # _ > U+0627 w +(o|u)? O > w +CO U > U+06C7 ; +e / # _ # > U+0627 U+06D2 U+0658 ; Alif + yeh barree + bow accent +e / _ # > U+06D2 U+0658 ; yeh barree + bow accent +e / # _ > U+0627 y U+0658 ; alif + ya + bow accent +e > y U+0658 +E / # _ # > U+0627 U+06D2 ; Alif + yeh barree +E / _ # > U+06D2 ; yeh barree +E / # _ > U+0627 y ; alif + ya +E > y +o / # _ > U+0627 U+06C6 +o > U+06C6 +P A > U+0672 +P U > U+0673 ; > this is the initial or lone form, but medial and final require wavy hamza below previous letter (not in Unicode)! Perhaps an OT font could solve this :: in Scheherazade the glyph needed is named _wavyHamza <<< +P a / # _ > U+0623 +P a > U+0654 +P u > U+0655 +P o / # _ > U+0627 U+06C4 +P o > U+06C4 +P O / # _ > U+0627 U+06C4 U+0627 U+064E +P O > U+06C4 U+0627 U+064E +I > y U+0656 +I / _ # > y +U / _ # > U+0627 w U+0657 +U > w U+0657 + + +;; Persian ezafe (ALL BUT ARABIC AND UIGHUR) +U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<< +U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I +Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e +Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I +Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i +Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i +Z / U+0048 _ > U+0020 ; +b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI +[VWL]=v1 / BEG _ > U+0627 @v1 +Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U +; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I +Q?=q1 I / BEG _ > U+0627 @q1 i y + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m U+0627 Hy +m Q i H a / _ (T|t) > m U+0627 Hy a +m i H Q a / _ (T|t) > m i U+0627 Hy +m i H a / _ (T|t) > m i U+0627 Hy a + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +CO z CO z > U+0636 U+0651 ;;SHADDA +CO z > U+0636 +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Q Y Y > U+0649 U+0651 ;;SHADDA +Q Y > U+0649 +Y Y > U+064E U+0649 U+0651 ;;SHADDA +Y > U+064E U+0649 +;; .b with ring below : FIXME not in Unicode! but U+06EA is a poor replacement: +P y / # _ # > U+0627 U+06D2 U+06EA +P y / _ # > U+0649 +P y > U+066E U+06EA +;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots +y y > U+06CC U+0651 ;;SHADDA +y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +U A / _ # > U+064F U+0648 U+0627 +Q U [Uw] > U+0648 U+0651 ;;SHADDA +Q U > U+0648 +U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +U > U+064F U+0648 +w w > U+0648 U+0651 ;;SHADDA +w > U+0648 +Q u N? > +u N > U+064C +u > U+064F +V t V t > U+0679 U+0651 ;;SHADDA +V t > U+0679 ;urdu +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 ;;SHADDA +T Q AN > U+0629 +T AN > U+0629 U+064B +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0691 U+0651 ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+062C U+0651 ;;SHADDA +C g > U+062C +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+064A +I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +Q i N? > ; +i N > U+064D +i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+068A U+0651 ;;SHADDA +V d > U+068A +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0681 U+0651 ;;SHADDA +c > U+0681 ; ح with hamza above +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+064E U+0649 +UL a > U+0670 +UL u > U+064F; +UL i > U+0650; +Q AN / (A H|Ha) _ > ; +AN / (A H|Ha) _ > U+064B +Q AN > U+0627 +AN > U+0627 U+064B +Q a > +a > U+064E +Q A > U+0627 +A > U+064E U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArEasternDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +Q [VWL] > ;stripoff quoted vowels +Q > U+0652 +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +BAR > ;| + +pass(Unicode) + +Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-) +Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc. +Class [VWL] = (U+0627 U+0648..U+0650 U+0670); +Z > ; diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-kurdish.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-kurdish.map new file mode 100644 index 00000000000..85c3e365354 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-kurdish.map @@ -0,0 +1,290 @@ +LHSName "ArabTeX-Kurdish" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define LLAH U+006C U+006C U+005F U+0061 U+0068 + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) + + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +(a|A) l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h' +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: +U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH' +U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL)' +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE)' +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels + +E / # _ > U+0626 U+06CE +E > U+06CE +e / # _ > U+0626 U+0647 U+200C ; h always final +e > U+0647 U+200C +i / # _ > U+0626 +Q i > U+0650 +i > ; +Q I / # _ > U+0626 U+064A U+0650 +Q I > U+064A U+0650 +I / # _ > U+0626 U+064A +I > U+064A +(a|A) / # _ > U+0626 U+0627 +(a|A) > U+0627 +(o|O) / # _ > U+0626 U+06C6 +(o|O) > U+06C6 +u / # _ > U+0626 U+0648 +u > U+0648 +U / # _ > U+0626 U+0648 U+0648 +U > U+0648 U+0648 +Ain e > U+0639 U+0647 U+200C + + +P z P z > U+0638 U+0651 ;;SHADDA +P z > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;pashto ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Y Y > U+0649 U+0651 ;;SHADDA +Y > U+0649 +w w > U+0648 U+0651 ;;SHADDA +w > U+0648 +y y > U+064A U+0651 ;;SHADDA +y > U+064A +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +V t V t > U+0679 U+0651 ; urdu ;;SHADDA +V t > U+0679 +UL t UL t > U+062B U+0651 ;;SHADDA +UL t > U+062B +P t P t > U+0637 U+0651 ;;SHADDA +P t > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +(C|V) s (C|V) s > U+0634 U+0651 ;;SHADDA +(C|V) s > U+0634 +P s P s > U+0635 U+0651 ;;SHADDA +P s > U+0635 +CO s CO s > U+069B U+0651 +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +;; also missing U+0694 : r with dot below +V r V r > U+0694 U+0651 ;Kurdish ;;SHADDA +V r > U+0694 +C r C r > U+0692 U+0651 ;Kurdish ;;SHADDA ; missing in ArabTeX <<< +C r > U+0692 +P r P r > U+0695 U+0651 ;Kurdish ;;SHADDA +P r > U+0695 +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ; urdu ;;SHADDA +P n > U+06BA ; +V n V n > U+06BC U+0651 ; Pashto +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;kurdish ;;SHADDA +C l > U+06B5 +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ; pashto urdu ;;SHADDA +P k > U+06A9 +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +c c > U+062C U+0651 ;;SHADDA +c > U+062C +x x > U+062E U+0651 ;;SHADDA +x > U+062E +j j > U+0698 U+0651 ;;SHADDA +j > U+0698 +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +P h P h > U+062D U+0651 ;;SHADDA +P h > U+062D +V h V h > U+06C1 U+0651 +V h > U+06C1 +h h > U+200C U+06BE U+0651 ;;SHADDA +h > U+200C U+06BE ; h always initial form +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P (g|x) P (g|x) > U+063A U+0651 ;;SHADDA +P (g|x) > U+063A +C g C g > U+063A U+0651 ;;SHADDA +C g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;pashto ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+0688 U+0651 ;urdu ;;SHADDA +V d > U+0688 ;urdu +C d C d > U+06EE ; not defined in ArabTeX U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +UL d UL d > U+0630 U+0651 ;;SHADDA +UL d > U+0630 +P d P d > U+0636 U+0651 ;;SHADDA +P d > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +(C|V) c (C|V) c > U+0686 U+0651 ;;SHADDA +(C|V) c > U+0686 +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H > U+0626 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / . _ . > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... +U+005B / . _ . > U+200D U+005B U+200D ; ... (but of course this screws up contextual analysis, so quoting of hamzas etc may be necessary) +Q > ; +N > ; +C > ;^ +Z > ;- +BAR > ;| + + diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-maghribi-fullvoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-maghribi-fullvoc.map new file mode 100644 index 00000000000..70154d32267 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-maghribi-fullvoc.map @@ -0,0 +1,482 @@ +LHSName "ArabTeX-maghribi-fullvocalized" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h' +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: +U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH' +U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +CO O > U+06FC ; +a e > a y +a o > a w +CO U > U+06C7 ; +e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish) +o > u +E > I +O > U + + + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +H l Z / BEG _ > U+0671 l Z ; THIS IS NOT AN ARABTEX CONVENTION! it's a work-around coz pattern-matching across word boundaries does not work in teckit , so min al- must be written mina 'l- in fullvocalize mode +;; wasla on initial alif : NEW! NOT TESTED! +[VWL]=v1 Z / BEG _ > @v1 U+0671 ; THIS IS NOT AN ARABTEX CONVENTION! it's a work-around coz pattern-matching across word boundaries does not work in teckit , so huwa irtifA` must be written huwa i-rtifA` in fullvocalize mode +H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI +[VWL]=v1 / BEG _ > U+0627 @v1 +A / BEG _ > U+0627 a +Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U +; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I +Q?=q1 I / BEG _ > U+0627 @q1 i y + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m U+0627 Hy +m Q i H a / _ (T|t) > m U+0627 Hy a +m i H Q a / _ (T|t) > m i U+0627 Hy +m i H a / _ (T|t) > m i U+0627 Hy a + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Q Y Y > U+0649 U+0651 ;;SHADDA +Q Y > U+0649 +Y Y > U+064E U+0649 U+0651 ;;SHADDA +Y > U+064E U+0649 +P I P I / _ # > U+0650 U+06CC U+0651 ;; SHADDA +P I / _ # > U+0650 U+06CC ;; workaround to have ya without dots in Arabic +y y > U+064A U+0651 ;;SHADDA +y > U+064A +v v > U+06A5 U+0651 ;;SHADDA +v > U+06A5 ;; maghribi +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +U A / _ # > U+064F U+0648 U+0627 +Q U [Uw] > U+0648 U+0651 ;;SHADDA +Q U > U+0648 +U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +U > U+064F U+0648 +w w > U+0648 U+0651 ;;SHADDA +w > U+0648 +Q u N? > +u N > U+064C +u > U+064F +V t V t > U+0679 U+0651 ;;SHADDA +V t > U+0679 ;urdu +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 ;;SHADDA +T Q AN > U+0629 +T AN > U+0629 U+064B +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0691 U+0651 ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+06A7 U+0651 ;; maghribi +q > U+06A7 ;; maghribi +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+062C U+0651 ;;SHADDA +C g > U+062C +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+064A +I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +Q i N? > ; +i N > U+064D +i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+06A2 U+0651 ;; SHADDA +f > U+06A2 ;; maghribi +V d V d > U+068A U+0651 ;;SHADDA +V d > U+068A +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0681 U+0651 ;;SHADDA +c > U+0681 ; ح with hamza above +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+064E U+0649 +UL a > U+0670 +UL u > U+0657 ; inverted damma +UL i > U+0656 ; subscript alif +Q AN / (A H|Ha) _ > ; +AN / (A H|Ha) _ > U+064B +Q AN > U+0627 +AN > U+0627 U+064B +Q a > +a > U+064E +Q A > U+0627 +A > U+064E U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +Q [VWL] > ;stripoff quoted vowels +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +BAR > ;| + +pass(Unicode) + +Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-) +Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc. +Class [VWL] = (U+0627 U+0648..U+0650 U+0670); +[CONS]=k1 / _ Z? [CONS] ^U+0651 > @k1 U+0652 ; hack: 2nd consonant has no shadda +U+064E (U+064A|U+0648)=hc / _ (^[VWLX]|#) > U+064E @hc U+0652 ; ay and aw diphtongs +U+0627 [VWL]? / [VWL] Z _ > U+0671 ; e.g. fa-isti_hraj -> wasla on initial alif +U+0627 / # _ U+0644 > U+0627 U+064E ; otherwise initial alif takes fatha +[CONS]=k1 / _ ([CONS]|#) > @k1 U+0652 ; consonant + (consonant or final) +;; [CONS]=k1 / _ # > @k1 U+0652 ; final consonant +Q > ; +Z > ; diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-maghribi-fullvoc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-maghribi-fullvoc.tec index 86c641da78f..f475104efeb 100644 Binary files a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-maghribi-fullvoc.tec and b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-maghribi-fullvoc.tec differ diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-maghribi-novoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-maghribi-novoc.map new file mode 100644 index 00000000000..237c45ab8e6 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-maghribi-novoc.map @@ -0,0 +1,465 @@ +LHSName "ArabTeX-maghribi-novowels" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h' +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: +U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH' +U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +[AVWL] > ; strip off vowels when writing UTF-8 Arabic with novoc mode +CO O > U+06FC ; +a e > a y +a o > a w +CO U > U+06C7 ; +e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish) +o > u +E > I +O > U + + + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +H l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0627 ; +[VWL]=v1 / BEG _ > A @v1 +A / BEG _ > A a +Q?=q1 U / BEG _ > A @q1 u w ; -U +; Q?=q1 I / BEG _ > A @q1 i y ; -I ; but not when I is final FIXME!!! +Q?=q1 I / BEG _ > A @q1 i y ; except for Persian, coz of ezafe rules + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m Q i A Hy Q a +m Q i H a / _ (T|t) > m Q i A Hy +m i H Q a / _ (T|t) > m A Hy Q a +m i H a / _ (T|t) > m A Hy + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Y Y > U+0649 U+0651 ;;SHADDA +Y > U+0649 +P I P I / _ # > U+06CC U+0651 ;; SHADDA +P I / _ # > U+06CC ;; workaround to have ya without dots in Arabic +y y > U+064A U+0651 ;;SHADDA +y > U+064A +v v > U+06A5 U+0651 ;;SHADDA +v > U+06A5 ;; maghribi +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +Q U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +Q U > U+064F U+0648 +[Uw] [Uw] > U+0648 U+0651 ;;SHADDA +[Uw] > U+0648 +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +Q u N > U+064C +u N > +Q u > U+064F +V t V t > U+0679 U+0651 ;;SHADDA +V t > U+0679 ;urdu +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 U+064B ;;SHADDA +T Q AN > U+0629 U+064B +T AN > U+0629 +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0691 U+0651 ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+06A7 U+0651 ;; maghribi +q > U+06A7 ;; maghribi +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+062C U+0651 ;;SHADDA +C g > U+062C +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +I > U+064A +Q i N > U+064D +i N > ; +Q i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+06A2 U+0651 ;; SHADDA +f > U+06A2 ;; maghribi +V d V d > U+068A U+0651 ;;SHADDA +V d > U+068A +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0681 U+0651 ;;SHADDA +c > U+0681 ; ح with hamza above +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+0649 +UL a > U+0670 +UL u > U+0657 ; inverted damma +UL i > U+0656 ; subscript alif +Q AN / (A H|Ha) _ > U+064B +AN / (A H|Ha) _ > ; +Q AN > U+0627 U+064B +AN > U+0627 +Q a > U+064E +Q A > U+064E U+0627 +A > U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +[VWL] > ;stripoff vowels +Q > U+0652 +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +Z > ;- +BAR > ;| + diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-maghribi-novoc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-maghribi-novoc.tec index 1c14ab69492..2bc13123142 100644 Binary files a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-maghribi-novoc.tec and b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-maghribi-novoc.tec differ diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-maghribi-voc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-maghribi-voc.map new file mode 100644 index 00000000000..c85d129e046 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-maghribi-voc.map @@ -0,0 +1,476 @@ +LHSName "ArabTeX-maghribi-vocalized" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h' +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: +U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH' +U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +CO O > U+06FC ; +a e > a y +a o > a w +CO U > U+06C7 ; +e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish) +o > u +E > I +O > U + + + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +H l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI +[VWL]=v1 / BEG _ > U+0627 @v1 +A / BEG _ > U+0627 a +Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U +; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I +Q?=q1 I / BEG _ > U+0627 @q1 i y + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m U+0627 Hy +m Q i H a / _ (T|t) > m U+0627 Hy a +m i H Q a / _ (T|t) > m i U+0627 Hy +m i H a / _ (T|t) > m i U+0627 Hy a + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Q Y Y > U+0649 U+0651 ;;SHADDA +Q Y > U+0649 +Y Y > U+064E U+0649 U+0651 ;;SHADDA +Y > U+064E U+0649 +P I P I / _ # > U+0650 U+06CC U+0651 ;; SHADDA +P I / _ # > U+0650 U+06CC ;; workaround to have ya without dots in Arabic +y y > U+064A U+0651 ;;SHADDA +y > U+064A +v v > U+06A5 U+0651 ;;SHADDA +v > U+06A5 ;; maghribi +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +U A / _ # > U+064F U+0648 U+0627 +Q U [Uw] > U+0648 U+0651 ;;SHADDA +Q U > U+0648 +U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +U > U+064F U+0648 +w w > U+0648 U+0651 ;;SHADDA +w > U+0648 +Q u N? > +u N > U+064C +u > U+064F +V t V t > U+0679 U+0651 ;;SHADDA +V t > U+0679 ;urdu +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 ;;SHADDA +T Q AN > U+0629 +T AN > U+0629 U+064B +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0691 U+0651 ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+06A7 U+0651 ;; maghribi +q > U+06A7 ;; maghribi +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+062C U+0651 ;;SHADDA +C g > U+062C +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+064A +I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +Q i N? > ; +i N > U+064D +i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+06A2 U+0651 ;; SHADDA +f > U+06A2 ;; maghribi +V d V d > U+068A U+0651 ;;SHADDA +V d > U+068A +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0681 U+0651 ;;SHADDA +c > U+0681 ; ح with hamza above +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+064E U+0649 +UL a > U+0670 +UL u > U+0657 ; inverted damma +UL i > U+0656 ; subscript alif +Q AN / (A H|Ha) _ > ; +AN / (A H|Ha) _ > U+064B +Q AN > U+0627 +AN > U+0627 U+064B +Q a > +a > U+064E +Q A > U+0627 +A > U+064E U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +Q [VWL] > ;stripoff quoted vowels +Q > U+0652 +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +BAR > ;| + +pass(Unicode) + +Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-) +Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc. +Class [VWL] = (U+0627 U+0648..U+0650 U+0670); +U+0627 [VWL]? / [VWL] Z _ > U+0627 ; e.g. fa-isti_hraj -> initial alif has no vowel +Z > ; diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-malay-fullvoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-malay-fullvoc.map new file mode 100644 index 00000000000..ff1726ac820 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-malay-fullvoc.map @@ -0,0 +1,485 @@ +LHSName "ArabTeX-malay-fullvocalized" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h' +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: +U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH' +U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +CO O > U+06FC ; +a e > a y +a o > a w +CO U > U+06C7 ; +e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish) +o > u + + +;; Persian ezafe (ALL BUT ARABIC AND UIGHUR) +U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<< +U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I +Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e +Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I +Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i +Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i +Z / U+0048 _ > U+0020 ; +b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI +[VWL]=v1 / BEG _ > U+0627 @v1 +Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U +; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I +Q?=q1 I / BEG _ > U+0627 @q1 i y + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m U+0627 Hy +m Q i H a / _ (T|t) > m U+0627 Hy a +m i H Q a / _ (T|t) > m i U+0627 Hy +m i H a / _ (T|t) > m i U+0627 Hy a + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Q Y Y > U+0649 U+0651 ;;SHADDA +Q Y > U+0649 +Y Y > U+064E U+0649 U+0651 ;;SHADDA +Y > U+064E U+0649 +P I P I / _ # > U+0650 U+06CC U+0651 ;; SHADDA +P I / _ # > U+0650 U+06CC ;; workaround to have ya without dots in Arabic +y y > U+064A U+0651 ;;SHADDA +y > U+064A +v v > U+06CF U+0651 ;;SHADDA +v > U+06CF +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +U A / _ # > U+064F U+0648 U+0627 +Q U [Uw] > U+0648 U+0651 ;;SHADDA +Q U > U+0648 +U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +U > U+064F U+0648 +w w > U+0648 U+0651 ;;SHADDA +w > U+0648 +Q u N? > +u N > U+064C +u > U+064F +V t V t > U+0679 U+0651 ;;SHADDA +V t > U+0679 ;urdu +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 ;;SHADDA +T Q AN > U+0629 +T AN > U+0629 U+064B +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0691 U+0651 ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+06A8 U+0651 ;;SHADDA +p > U+06A8 ;Old malay +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06BD U+0651 ;;SHADDA +C n > U+06BD ; <<< ArabTeX yields nūn with three dots below, which is not in Unicode! +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+06A0 U+0651 ;;SHADDA +C g > U+06A0 +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+064A +I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +Q i N? > ; +i N > U+064D +i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+0762 U+0651 ;;SHADDA +g > U+0762 +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+068A U+0651 ;;SHADDA +V d > U+068A +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0686 U+0651 ;;SHADDA +c > U+0686 +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+064E U+0649 +UL a > U+0670 +UL u > U+064F; +UL i > U+0650; +Q AN / (A H|Ha) _ > ; +AN / (A H|Ha) _ > U+064B +Q AN > U+0627 +AN > U+0627 U+064B +Q a > +a > U+064E +Q A > U+0627 +A > U+064E U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +Q [VWL] > ;stripoff quoted vowels +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +BAR > ;| + +pass(Unicode) + +Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-) +Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc. +Class [VWL] = (U+0627 U+0648..U+0650 U+0670); +[CONS]=k1 / _ Z? [CONS] ^U+0651 > @k1 U+0652 ; hack: 2nd consonant has no shadda +U+064E (U+064A|U+0648)=hc / _ (^[VWLX]|#) > U+064E @hc U+0652 ; ay and aw diphtongs +U+0627 / # _ U+0644 > U+0627 U+064E ; otherwise initial alif takes fatha +[CONS]=k1 / _ ([CONS]|#) > @k1 U+0652 ; consonant + (consonant or final) +;; [CONS]=k1 / _ # > @k1 U+0652 ; final consonant +Q > ; +Z > ; diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-malay-novoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-malay-novoc.map new file mode 100644 index 00000000000..36ab97dcdb2 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-malay-novoc.map @@ -0,0 +1,470 @@ +LHSName "ArabTeX-malay-novowels" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h' +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: +U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH' +U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +[AVWL] > ; strip off vowels when writing UTF-8 Arabic with novoc mode +CO O > U+06FC ; +a e > a y +a o > a w +CO U > U+06C7 ; +e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish) +o > u + + +;; Persian ezafe (ALL BUT ARABIC AND UIGHUR) +U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<< +U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I +Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e +Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I +Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i +Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i +Z / U+0048 _ > U+0020 ; +b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0627 ; +[VWL]=v1 / BEG _ > A @v1 +Q?=q1 U / BEG _ > A @q1 u w ; -U +; Q?=q1 I / BEG _ > A @q1 i y ; -I ; but not when I is final FIXME!!! +Q?=q1 I / BEG _ > A @q1 i y ; except for Persian, coz of ezafe rules + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m Q i A Hy Q a +m Q i H a / _ (T|t) > m Q i A Hy +m i H Q a / _ (T|t) > m A Hy Q a +m i H a / _ (T|t) > m A Hy + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Y Y > U+0649 U+0651 ;;SHADDA +Y > U+0649 +P I P I / _ # > U+06CC U+0651 ;; SHADDA +P I / _ # > U+06CC ;; workaround to have ya without dots in Arabic +y y > U+064A U+0651 ;;SHADDA +y > U+064A +v v > U+06CF U+0651 ;;SHADDA +v > U+06CF +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +Q U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +Q U > U+064F U+0648 +[Uw] [Uw] > U+0648 U+0651 ;;SHADDA +[Uw] > U+0648 +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +Q u N > U+064C +u N > +Q u > U+064F +V t V t > U+0679 U+0651 ;;SHADDA +V t > U+0679 ;urdu +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 U+064B ;;SHADDA +T Q AN > U+0629 U+064B +T AN > U+0629 +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0691 U+0651 ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+06A8 U+0651 ;;SHADDA +p > U+06A8 ;Old malay +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06BD U+0651 ;;SHADDA +C n > U+06BD ; <<< ArabTeX yields nūn with three dots below, which is not in Unicode! +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+06A0 U+0651 ;;SHADDA +C g > U+06A0 +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +I > U+064A +Q i N > U+064D +i N > ; +Q i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+0762 U+0651 ;;SHADDA +g > U+0762 +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+068A U+0651 ;;SHADDA +V d > U+068A +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0686 U+0651 ;;SHADDA +c > U+0686 +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+0649 +UL a > U+0670 +UL u > ; +UL i > ; +Q AN / (A H|Ha) _ > U+064B +AN / (A H|Ha) _ > ; +Q AN > U+0627 U+064B +AN > U+0627 +Q a > U+064E +Q A > U+064E U+0627 +A > U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +[VWL] > ;stripoff vowels +Q > U+0652 +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +Z > ;- +BAR > ;| + diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-malay-novoc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-malay-novoc.tec index 50e772e74e6..691e4718dd0 100644 Binary files a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-malay-novoc.tec and b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-malay-novoc.tec differ diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-malay-voc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-malay-voc.map new file mode 100644 index 00000000000..d73e75b98d0 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-malay-voc.map @@ -0,0 +1,480 @@ +LHSName "ArabTeX-malay-vocalized" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h' +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: +U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH' +U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +CO O > U+06FC ; +a e > a y +a o > a w +CO U > U+06C7 ; +e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish) +o > u + + +;; Persian ezafe (ALL BUT ARABIC AND UIGHUR) +U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<< +U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I +Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e +Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I +Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i +Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i +Z / U+0048 _ > U+0020 ; +b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI +[VWL]=v1 / BEG _ > U+0627 @v1 +Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U +; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I +Q?=q1 I / BEG _ > U+0627 @q1 i y + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m U+0627 Hy +m Q i H a / _ (T|t) > m U+0627 Hy a +m i H Q a / _ (T|t) > m i U+0627 Hy +m i H a / _ (T|t) > m i U+0627 Hy a + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Q Y Y > U+0649 U+0651 ;;SHADDA +Q Y > U+0649 +Y Y > U+064E U+0649 U+0651 ;;SHADDA +Y > U+064E U+0649 +P I P I / _ # > U+0650 U+06CC U+0651 ;; SHADDA +P I / _ # > U+0650 U+06CC ;; workaround to have ya without dots in Arabic +y y > U+064A U+0651 ;;SHADDA +y > U+064A +v v > U+06CF U+0651 ;;SHADDA +v > U+06CF +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +U A / _ # > U+064F U+0648 U+0627 +Q U [Uw] > U+0648 U+0651 ;;SHADDA +Q U > U+0648 +U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +U > U+064F U+0648 +w w > U+0648 U+0651 ;;SHADDA +w > U+0648 +Q u N? > +u N > U+064C +u > U+064F +V t V t > U+0679 U+0651 ;;SHADDA +V t > U+0679 ;urdu +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 ;;SHADDA +T Q AN > U+0629 +T AN > U+0629 U+064B +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0691 U+0651 ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+06A8 U+0651 ;;SHADDA +p > U+06A8 ;Old malay +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06BD U+0651 ;;SHADDA +C n > U+06BD ; <<< ArabTeX yields nūn with three dots below, which is not in Unicode! +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+06A0 U+0651 ;;SHADDA +C g > U+06A0 +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+064A +I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +Q i N? > ; +i N > U+064D +i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+0762 U+0651 ;;SHADDA +g > U+0762 +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+068A U+0651 ;;SHADDA +V d > U+068A +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0686 U+0651 ;;SHADDA +c > U+0686 +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+064E U+0649 +UL a > U+0670 +UL u > U+064F; +UL i > U+0650; +Q AN / (A H|Ha) _ > ; +AN / (A H|Ha) _ > U+064B +Q AN > U+0627 +AN > U+0627 U+064B +Q a > +a > U+064E +Q A > U+0627 +A > U+064E U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +Q [VWL] > ;stripoff quoted vowels +Q > U+0652 +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +BAR > ;| + +pass(Unicode) + +Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-) +Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc. +Class [VWL] = (U+0627 U+0648..U+0650 U+0670); +Z > ; diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-novoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-novoc.map new file mode 100644 index 00000000000..152faffe029 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-novoc.map @@ -0,0 +1,465 @@ +LHSName "ArabTeX-novowels" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h' +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: +U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH' +U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +[AVWL] > ; strip off vowels when writing UTF-8 Arabic with novoc mode +CO O > U+06FC ; +a e > a y +a o > a w +CO U > U+06C7 ; +e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish) +o > u +E > I +O > U + + + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +H l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0627 ; +[VWL]=v1 / BEG _ > A @v1 +A / BEG _ > A a +Q?=q1 U / BEG _ > A @q1 u w ; -U +; Q?=q1 I / BEG _ > A @q1 i y ; -I ; but not when I is final FIXME!!! +Q?=q1 I / BEG _ > A @q1 i y ; except for Persian, coz of ezafe rules + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m Q i A Hy Q a +m Q i H a / _ (T|t) > m Q i A Hy +m i H Q a / _ (T|t) > m A Hy Q a +m i H a / _ (T|t) > m A Hy + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Y Y > U+0649 U+0651 ;;SHADDA +Y > U+0649 +P I P I / _ # > U+06CC U+0651 ;; SHADDA +P I / _ # > U+06CC ;; workaround to have ya without dots in Arabic +y y > U+064A U+0651 ;;SHADDA +y > U+064A +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +Q U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +Q U > U+064F U+0648 +[Uw] [Uw] > U+0648 U+0651 ;;SHADDA +[Uw] > U+0648 +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +Q u N > U+064C +u N > +Q u > U+064F +V t V t > U+0679 U+0651 ;;SHADDA +V t > U+0679 ;urdu +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 U+064B ;;SHADDA +T Q AN > U+0629 U+064B +T AN > U+0629 +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0691 U+0651 ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+062C U+0651 ;;SHADDA +C g > U+062C +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +I > U+064A +Q i N > U+064D +i N > ; +Q i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+068A U+0651 ;;SHADDA +V d > U+068A +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0681 U+0651 ;;SHADDA +c > U+0681 ; ح with hamza above +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+0649 +UL a > U+0670 +UL u > U+0657 ; inverted damma +UL i > U+0656 ; subscript alif +Q AN / (A H|Ha) _ > U+064B +AN / (A H|Ha) _ > ; +Q AN > U+0627 U+064B +AN > U+0627 +Q a > U+064E +Q A > U+064E U+0627 +A > U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +[VWL] > ;stripoff vowels +Q > U+0652 +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +Z > ;- +BAR > ;| + diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-novoc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-novoc.tec index 779020ebab9..9e0f4c98f80 100644 Binary files a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-novoc.tec and b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-novoc.tec differ diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-pashto-fullvoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-pashto-fullvoc.map new file mode 100644 index 00000000000..7b4d8a0fcc2 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-pashto-fullvoc.map @@ -0,0 +1,491 @@ +LHSName "ArabTeX-pashto-fullvocalized" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h' +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: +U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH' +U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +a e > a U+0626 +E e > U+0659 U+06CD +e e > U+0659 U+0626 +E > U+0659 U+06D0 +CO O > U+06FC ; +O > U+0657 w +o > U+0657 +a o > a w +CO U > U+06C7 ; +e > U+0659 +I / _ # > i y + + +;; Persian ezafe (ALL BUT ARABIC AND UIGHUR) +U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<< +U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I +Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e +Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I +Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i +Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i +Z / U+0048 _ > U+0020 ; +b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI +[VWL]=v1 / BEG _ > U+0627 @v1 +Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U +; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I +Q?=q1 I / BEG _ > U+0627 @q1 i y + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m U+0627 Hy +m Q i H a / _ (T|t) > m U+0627 Hy a +m i H Q a / _ (T|t) > m i U+0627 Hy +m i H a / _ (T|t) > m i U+0627 Hy a + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Q Y Y > U+0649 U+0651 ;;SHADDA +Q Y > U+0649 +Y Y > U+064E U+0649 U+0651 ;;SHADDA +Y > U+064E U+0649 +;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots +y y > U+06CC U+0651 ;;SHADDA +y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +U A / _ # > U+064F U+0648 U+0627 +Q U [Uw] > U+0648 U+0651 ;;SHADDA +Q U > U+0648 +U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +U > U+064F U+0648 +w w > U+0648 U+0651 ;;SHADDA +w > U+0648 +Q u N? > +u N > U+064C +u > U+064F +V t V t > U+067C U+0651 ;;SHADDA +V t > U+067C ; pashto +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 ;;SHADDA +T Q AN > U+0629 +T AN > U+0629 U+064B +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0693 U+0651 ;;SHADDA +V r > U+0693 ;Pashto +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+062C U+0651 ;;SHADDA +C g > U+062C +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+064A +I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +Q i N? > ; +i N > U+064D +i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +U+0048 Z > U+0647 U+200C U+0020 ;eH-suffix > eH suffix +U+0048 > U+0647 U+200C ; H is always heh final +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+0689 U+0651 ;;SHADDA +V d > U+0689 ;pashto +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0681 U+0651 ;;SHADDA +c > U+0681 ; ح with hamza above +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+064E U+0649 +UL a > U+0670 +UL u > U+064F; +UL i > U+0650; +Q AN / (A H|Ha) _ > ; +AN / (A H|Ha) _ > U+064B +Q AN > U+0627 +AN > U+0627 U+064B +Q a > +a > U+064E +Q A > U+0627 +A > U+064E U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArEasternDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +Q [VWL] > ;stripoff quoted vowels +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +BAR > ;| + +pass(Unicode) + +Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-) +Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc. +Class [VWL] = (U+0627 U+0648..U+0650 U+0670); +[CONS]=k1 / _ Z? [CONS] ^U+0651 > @k1 U+0652 ; hack: 2nd consonant has no shadda +U+064E (U+064A|U+0648)=hc / _ (^[VWLX]|#) > U+064E @hc U+0652 ; ay and aw diphtongs +U+0627 / # _ U+0644 > U+0627 U+064E ; otherwise initial alif takes fatha +[CONS]=k1 / _ ([CONS]|#) > @k1 U+0652 ; consonant + (consonant or final) +;; [CONS]=k1 / _ # > @k1 U+0652 ; final consonant +Q > ; +Z > ; diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-pashto-novoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-pashto-novoc.map new file mode 100644 index 00000000000..62536030416 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-pashto-novoc.map @@ -0,0 +1,476 @@ +LHSName "ArabTeX-pashto-novowels" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h' +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: +U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH' +U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +[AVWL] > ; strip off vowels when writing UTF-8 Arabic with novoc mode +a e > a U+0626 +E e > U+0659 U+06CD +e e > U+0659 U+0626 +E > U+0659 U+06D0 +CO O > U+06FC ; +O > U+0657 w +o > U+0657 +a o > a w +CO U > U+06C7 ; +e > U+0659 +I / _ # > i y + + +;; Persian ezafe (ALL BUT ARABIC AND UIGHUR) +U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<< +U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I +Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e +Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I +Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i +Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i +Z / U+0048 _ > U+0020 ; +b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0627 ; +[VWL]=v1 / BEG _ > A @v1 +Q?=q1 U / BEG _ > A @q1 u w ; -U +; Q?=q1 I / BEG _ > A @q1 i y ; -I ; but not when I is final FIXME!!! +Q?=q1 I / BEG _ > A @q1 i y ; except for Persian, coz of ezafe rules + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m Q i A Hy Q a +m Q i H a / _ (T|t) > m Q i A Hy +m i H Q a / _ (T|t) > m A Hy Q a +m i H a / _ (T|t) > m A Hy + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Y Y > U+0649 U+0651 ;;SHADDA +Y > U+0649 +;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots +y y > U+06CC U+0651 ;;SHADDA +y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +Q U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +Q U > U+064F U+0648 +[Uw] [Uw] > U+0648 U+0651 ;;SHADDA +[Uw] > U+0648 +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +Q u N > U+064C +u N > +Q u > U+064F +V t V t > U+067C U+0651 ;;SHADDA +V t > U+067C ; pashto +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 U+064B ;;SHADDA +T Q AN > U+0629 U+064B +T AN > U+0629 +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0693 U+0651 ;;SHADDA +V r > U+0693 ;Pashto +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+062C U+0651 ;;SHADDA +C g > U+062C +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +I > U+064A +Q i N > U+064D +i N > ; +Q i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +U+0048 Z > U+0647 U+200C U+0020 ;eH-suffix > eH suffix +U+0048 > U+0647 U+200C ; H is always heh final +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+0689 U+0651 ;;SHADDA +V d > U+0689 ;pashto +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0681 U+0651 ;;SHADDA +c > U+0681 ; ح with hamza above +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+0649 +UL a > U+0670 +UL u > ; +UL i > ; +Q AN / (A H|Ha) _ > U+064B +AN / (A H|Ha) _ > ; +Q AN > U+0627 U+064B +AN > U+0627 +Q a > U+064E +Q A > U+064E U+0627 +A > U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArEasternDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +[VWL] > ;stripoff vowels +Q > U+0652 +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +Z > ;- +BAR > ;| + diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-pashto-novoc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-pashto-novoc.tec index 0f9aac708b3..14a35b434d8 100644 Binary files a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-pashto-novoc.tec and b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-pashto-novoc.tec differ diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-pashto-voc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-pashto-voc.map new file mode 100644 index 00000000000..09ca243a912 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-pashto-voc.map @@ -0,0 +1,486 @@ +LHSName "ArabTeX-pashto-vocalized" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h' +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: +U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH' +U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +a e > a U+0626 +E e > U+0659 U+06CD +e e > U+0659 U+0626 +E > U+0659 U+06D0 +CO O > U+06FC ; +O > U+0657 w +o > U+0657 +a o > a w +CO U > U+06C7 ; +e > U+0659 +I / _ # > i y + + +;; Persian ezafe (ALL BUT ARABIC AND UIGHUR) +U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<< +U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I +Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e +Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I +Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i +Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i +Z / U+0048 _ > U+0020 ; +b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI +[VWL]=v1 / BEG _ > U+0627 @v1 +Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U +; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I +Q?=q1 I / BEG _ > U+0627 @q1 i y + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m U+0627 Hy +m Q i H a / _ (T|t) > m U+0627 Hy a +m i H Q a / _ (T|t) > m i U+0627 Hy +m i H a / _ (T|t) > m i U+0627 Hy a + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Q Y Y > U+0649 U+0651 ;;SHADDA +Q Y > U+0649 +Y Y > U+064E U+0649 U+0651 ;;SHADDA +Y > U+064E U+0649 +;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots +y y > U+06CC U+0651 ;;SHADDA +y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +U A / _ # > U+064F U+0648 U+0627 +Q U [Uw] > U+0648 U+0651 ;;SHADDA +Q U > U+0648 +U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +U > U+064F U+0648 +w w > U+0648 U+0651 ;;SHADDA +w > U+0648 +Q u N? > +u N > U+064C +u > U+064F +V t V t > U+067C U+0651 ;;SHADDA +V t > U+067C ; pashto +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 ;;SHADDA +T Q AN > U+0629 +T AN > U+0629 U+064B +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0693 U+0651 ;;SHADDA +V r > U+0693 ;Pashto +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+062C U+0651 ;;SHADDA +C g > U+062C +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+064A +I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +Q i N? > ; +i N > U+064D +i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +U+0048 Z > U+0647 U+200C U+0020 ;eH-suffix > eH suffix +U+0048 > U+0647 U+200C ; H is always heh final +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+0689 U+0651 ;;SHADDA +V d > U+0689 ;pashto +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0681 U+0651 ;;SHADDA +c > U+0681 ; ح with hamza above +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+064E U+0649 +UL a > U+0670 +UL u > U+064F; +UL i > U+0650; +Q AN / (A H|Ha) _ > ; +AN / (A H|Ha) _ > U+064B +Q AN > U+0627 +AN > U+0627 U+064B +Q a > +a > U+064E +Q A > U+0627 +A > U+064E U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArEasternDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +Q [VWL] > ;stripoff quoted vowels +Q > U+0652 +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +BAR > ;| + +pass(Unicode) + +Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-) +Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc. +Class [VWL] = (U+0627 U+0648..U+0650 U+0670); +Z > ; diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-sindhi-fullvoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-sindhi-fullvoc.map new file mode 100644 index 00000000000..477d056b134 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-sindhi-fullvoc.map @@ -0,0 +1,461 @@ +LHSName "ArabTeX-sindhi-fullvocalized" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h' +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: +U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH' +U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +CO O > U+06FC ; +a e > a y +a o > a w +(o|u)? O / # _ > U+0627 w +(o|u)? O > w +CO U > U+06C7 ; +e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish) +o > u + + +;; Persian ezafe (ALL BUT ARABIC AND UIGHUR) +U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<< +U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I +Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e +Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I +Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i +Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i +Z / U+0048 _ > U+0020 ; +b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI +[VWL]=v1 / BEG _ > U+0627 @v1 +Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U +; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I +Q?=q1 I / BEG _ > U+0627 @q1 i y + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m U+0627 Hy +m Q i H a / _ (T|t) > m U+0627 Hy a +m i H Q a / _ (T|t) > m i U+0627 Hy +m i H a / _ (T|t) > m i U+0627 Hy a + + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + +;; special code for sindhi +;; U+004D U+0049 U+004E > U+06FE ; define macro \MIN in sindhi env +P m I N > U+06FE ; .mIN +;; U+0049 U+004E > U+06FD ; IN define macro \IN in sindhi env +H BAR I N > U+06FD ; '|IN + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Q Y Y > U+0649 U+0651 ;;SHADDA +Q Y > U+0649 +Y Y > U+064E U+0649 U+0651 ;;SHADDA +Y > U+064E U+0649 +P I P I / _ # > U+0650 U+06CC U+0651 ;; SHADDA +P I / _ # > U+0650 U+06CC ;; workaround to have ya without dots in Arabic +y y > U+064A U+0651 ;;SHADDA +y > U+064A +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +U A / _ # > U+064F U+0648 U+0627 +Q U [Uw] > U+0648 U+0651 ;;SHADDA +Q U > U+0648 +U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +U > U+064F U+0648 +w w > U+0648 U+0651 ;;SHADDA +w > U+0648 +Q u N? > +u N > U+064C +u > U+064F +V t h V t h > U+067A U+0651 ;;SHADDA +V t h > U+067A +t h t h > U+067F U+0651 ;;SHADDA +t h > U+067F +V t V t > U+067D U+0651 ;;SHADDA +V t > U+067D +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 ;;SHADDA +T Q AN > U+0629 +T AN > U+0629 U+064B +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0699 U+0651 ;;SHADDA +V r > U+0699 +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p h p h > U+06A6 U+0651 ;;SHADDA +p h > U+06A6 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+0683 U+0651 ;;SHADDA +C n > U+0683 +P P n P P n > U+06B2 U+0651 ;;SHADDA +P P n > U+06B2 ;; old sindhi? (not in ArabTeX) <<< +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BB U+0651 ;;SHADDA +V n > U+06BB +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +k h k h > U+06A9 U+0651 ;;SHADDA +k h > U+06A9 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+06AA U+0651 ;;SHADDA +k > U+06AA ; kaf swash +C g C g > U+062C U+0651 ;;SHADDA +C g > U+062C +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+064A +I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +Q i N? > ; +i N > U+064D +i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+06BE U+0651 ;;SHADDA +h > U+06BE +P CO g P CO g > U+06B4 U+0651 ;;SHADDA +P CO g > U+06B4 ;; old sindhi? (not in ArabTeX) <<< +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d h V d h > U+068D U+0651 ;;SHADDA +V d h > U+068D +V d V d > U+068A U+0651 ;;SHADDA +V d > U+068A +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +d h d h > U+068C U+0651 ;;SHADDA +d h > U+068C +C d C d > U+068E ;;SHADDA +C d > U+068E ; old sindhi: not in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +C c h C c h > U+0687 U+0651 ;;SHADDA +C c h > U+0687 +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0681 U+0651 ;;SHADDA +c > U+0681 ; ح with hamza above +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +b h b h > U+0680 U+0651 ;;SHADDA +b h > U+0680 +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+064E U+0649 +UL a > U+0670 +UL u > U+064F; +UL i > U+0650; +Q AN / (A H|Ha) _ > ; +AN / (A H|Ha) _ > U+064B +Q AN > U+0627 +AN > U+0627 U+064B +Q a > +a > U+064E +Q A > U+0627 +A > U+064E U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArEasternDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +Q [VWL] > ;stripoff quoted vowels +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +BAR > ;| + +pass(Unicode) + +Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-) +Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc. +Class [VWL] = (U+0627 U+0648..U+0650 U+0670); +[CONS]=k1 / _ Z? [CONS] ^U+0651 > @k1 U+0652 ; hack: 2nd consonant has no shadda +U+064E (U+064A|U+0648)=hc / _ (^[VWLX]|#) > U+064E @hc U+0652 ; ay and aw diphtongs +U+0627 / # _ U+0644 > U+0627 U+064E ; otherwise initial alif takes fatha +[CONS]=k1 / _ ([CONS]|#) > @k1 U+0652 ; consonant + (consonant or final) +;; [CONS]=k1 / _ # > @k1 U+0652 ; final consonant +Q > ; +Z > ; diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-sindhi-fullvoc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-sindhi-fullvoc.tec index 14c8f697426..b0c44696c6a 100644 Binary files a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-sindhi-fullvoc.tec and b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-sindhi-fullvoc.tec differ diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-sindhi-novoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-sindhi-novoc.map new file mode 100644 index 00000000000..50efef6c46f --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-sindhi-novoc.map @@ -0,0 +1,446 @@ +LHSName "ArabTeX-sindhi-novowels" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h' +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: +U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH' +U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +[AVWL] > ; strip off vowels when writing UTF-8 Arabic with novoc mode +CO O > U+06FC ; +a e > a y +a o > a w +(o|u)? O / # _ > U+0627 w +(o|u)? O > w +CO U > U+06C7 ; +e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish) +o > u + + +;; Persian ezafe (ALL BUT ARABIC AND UIGHUR) +U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<< +U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I +Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e +Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I +Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i +Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i +Z / U+0048 _ > U+0020 ; +b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0627 ; +[VWL]=v1 / BEG _ > A @v1 +Q?=q1 U / BEG _ > A @q1 u w ; -U +; Q?=q1 I / BEG _ > A @q1 i y ; -I ; but not when I is final FIXME!!! +Q?=q1 I / BEG _ > A @q1 i y ; except for Persian, coz of ezafe rules + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m Q i A Hy Q a +m Q i H a / _ (T|t) > m Q i A Hy +m i H Q a / _ (T|t) > m A Hy Q a +m i H a / _ (T|t) > m A Hy + + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + +;; special code for sindhi +;; U+004D U+0049 U+004E > U+06FE ; define macro \MIN in sindhi env +P m I N > U+06FE ; .mIN +;; U+0049 U+004E > U+06FD ; IN define macro \IN in sindhi env +H BAR I N > U+06FD ; '|IN + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Y Y > U+0649 U+0651 ;;SHADDA +Y > U+0649 +P I P I / _ # > U+06CC U+0651 ;; SHADDA +P I / _ # > U+06CC ;; workaround to have ya without dots in Arabic +y y > U+064A U+0651 ;;SHADDA +y > U+064A +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +Q U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +Q U > U+064F U+0648 +[Uw] [Uw] > U+0648 U+0651 ;;SHADDA +[Uw] > U+0648 +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +Q u N > U+064C +u N > +Q u > U+064F +V t h V t h > U+067A U+0651 ;;SHADDA +V t h > U+067A +t h t h > U+067F U+0651 ;;SHADDA +t h > U+067F +V t V t > U+067D U+0651 ;;SHADDA +V t > U+067D +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 U+064B ;;SHADDA +T Q AN > U+0629 U+064B +T AN > U+0629 +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0699 U+0651 ;;SHADDA +V r > U+0699 +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p h p h > U+06A6 U+0651 ;;SHADDA +p h > U+06A6 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+0683 U+0651 ;;SHADDA +C n > U+0683 +P P n P P n > U+06B2 U+0651 ;;SHADDA +P P n > U+06B2 ;; old sindhi? (not in ArabTeX) <<< +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BB U+0651 ;;SHADDA +V n > U+06BB +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +k h k h > U+06A9 U+0651 ;;SHADDA +k h > U+06A9 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+06AA U+0651 ;;SHADDA +k > U+06AA ; kaf swash +C g C g > U+062C U+0651 ;;SHADDA +C g > U+062C +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +I > U+064A +Q i N > U+064D +i N > ; +Q i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+06BE U+0651 ;;SHADDA +h > U+06BE +P CO g P CO g > U+06B4 U+0651 ;;SHADDA +P CO g > U+06B4 ;; old sindhi? (not in ArabTeX) <<< +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d h V d h > U+068D U+0651 ;;SHADDA +V d h > U+068D +V d V d > U+068A U+0651 ;;SHADDA +V d > U+068A +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +d h d h > U+068C U+0651 ;;SHADDA +d h > U+068C +C d C d > U+068E ;;SHADDA +C d > U+068E ; old sindhi: not in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +C c h C c h > U+0687 U+0651 ;;SHADDA +C c h > U+0687 +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0681 U+0651 ;;SHADDA +c > U+0681 ; ح with hamza above +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +b h b h > U+0680 U+0651 ;;SHADDA +b h > U+0680 +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+0649 +UL a > U+0670 +UL u > ; +UL i > ; +Q AN / (A H|Ha) _ > U+064B +AN / (A H|Ha) _ > ; +Q AN > U+0627 U+064B +AN > U+0627 +Q a > U+064E +Q A > U+064E U+0627 +A > U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArEasternDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +[VWL] > ;stripoff vowels +Q > U+0652 +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +Z > ;- +BAR > ;| + diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-sindhi-novoc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-sindhi-novoc.tec index e3decd95941..70837ac2edf 100644 Binary files a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-sindhi-novoc.tec and b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-sindhi-novoc.tec differ diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-sindhi-voc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-sindhi-voc.map new file mode 100644 index 00000000000..8d8c99e055e --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-sindhi-voc.map @@ -0,0 +1,456 @@ +LHSName "ArabTeX-sindhi-vocalized" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h' +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: +U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH' +U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +CO O > U+06FC ; +a e > a y +a o > a w +(o|u)? O / # _ > U+0627 w +(o|u)? O > w +CO U > U+06C7 ; +e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish) +o > u + + +;; Persian ezafe (ALL BUT ARABIC AND UIGHUR) +U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<< +U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I +Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e +Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I +Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i +Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i +Z / U+0048 _ > U+0020 ; +b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI +[VWL]=v1 / BEG _ > U+0627 @v1 +Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U +; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I +Q?=q1 I / BEG _ > U+0627 @q1 i y + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m U+0627 Hy +m Q i H a / _ (T|t) > m U+0627 Hy a +m i H Q a / _ (T|t) > m i U+0627 Hy +m i H a / _ (T|t) > m i U+0627 Hy a + + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + +;; special code for sindhi +;; U+004D U+0049 U+004E > U+06FE ; define macro \MIN in sindhi env +P m I N > U+06FE ; .mIN +;; U+0049 U+004E > U+06FD ; IN define macro \IN in sindhi env +H BAR I N > U+06FD ; '|IN + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Q Y Y > U+0649 U+0651 ;;SHADDA +Q Y > U+0649 +Y Y > U+064E U+0649 U+0651 ;;SHADDA +Y > U+064E U+0649 +P I P I / _ # > U+0650 U+06CC U+0651 ;; SHADDA +P I / _ # > U+0650 U+06CC ;; workaround to have ya without dots in Arabic +y y > U+064A U+0651 ;;SHADDA +y > U+064A +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +U A / _ # > U+064F U+0648 U+0627 +Q U [Uw] > U+0648 U+0651 ;;SHADDA +Q U > U+0648 +U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +U > U+064F U+0648 +w w > U+0648 U+0651 ;;SHADDA +w > U+0648 +Q u N? > +u N > U+064C +u > U+064F +V t h V t h > U+067A U+0651 ;;SHADDA +V t h > U+067A +t h t h > U+067F U+0651 ;;SHADDA +t h > U+067F +V t V t > U+067D U+0651 ;;SHADDA +V t > U+067D +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 ;;SHADDA +T Q AN > U+0629 +T AN > U+0629 U+064B +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0699 U+0651 ;;SHADDA +V r > U+0699 +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p h p h > U+06A6 U+0651 ;;SHADDA +p h > U+06A6 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+0683 U+0651 ;;SHADDA +C n > U+0683 +P P n P P n > U+06B2 U+0651 ;;SHADDA +P P n > U+06B2 ;; old sindhi? (not in ArabTeX) <<< +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BB U+0651 ;;SHADDA +V n > U+06BB +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +k h k h > U+06A9 U+0651 ;;SHADDA +k h > U+06A9 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+06AA U+0651 ;;SHADDA +k > U+06AA ; kaf swash +C g C g > U+062C U+0651 ;;SHADDA +C g > U+062C +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+064A +I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +Q i N? > ; +i N > U+064D +i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+06BE U+0651 ;;SHADDA +h > U+06BE +P CO g P CO g > U+06B4 U+0651 ;;SHADDA +P CO g > U+06B4 ;; old sindhi? (not in ArabTeX) <<< +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d h V d h > U+068D U+0651 ;;SHADDA +V d h > U+068D +V d V d > U+068A U+0651 ;;SHADDA +V d > U+068A +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +d h d h > U+068C U+0651 ;;SHADDA +d h > U+068C +C d C d > U+068E ;;SHADDA +C d > U+068E ; old sindhi: not in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +C c h C c h > U+0687 U+0651 ;;SHADDA +C c h > U+0687 +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0681 U+0651 ;;SHADDA +c > U+0681 ; ح with hamza above +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +b h b h > U+0680 U+0651 ;;SHADDA +b h > U+0680 +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+064E U+0649 +UL a > U+0670 +UL u > U+064F; +UL i > U+0650; +Q AN / (A H|Ha) _ > ; +AN / (A H|Ha) _ > U+064B +Q AN > U+0627 +AN > U+0627 U+064B +Q a > +a > U+064E +Q A > U+0627 +A > U+064E U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArEasternDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +Q [VWL] > ;stripoff quoted vowels +Q > U+0652 +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +BAR > ;| + +pass(Unicode) + +Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-) +Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc. +Class [VWL] = (U+0627 U+0648..U+0650 U+0670); +Z > ; diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-sindhi-voc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-sindhi-voc.tec index ad8f5ab63e3..eb595c097ff 100644 Binary files a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-sindhi-voc.tec and b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-sindhi-voc.tec differ diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-turk-fullvoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-turk-fullvoc.map new file mode 100644 index 00000000000..06507da1eec --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-turk-fullvoc.map @@ -0,0 +1,485 @@ +LHSName "ArabTeX-turk-fullvocalized" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h' +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: +U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH' +U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +CO O > U+06FC ; +a e > a y +a o > a w +CO U > U+06C7 ; +e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish) +o > u +I / _ # > i y + + +;; Persian ezafe (ALL BUT ARABIC AND UIGHUR) +U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<< +U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I +Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e +Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I +Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i +Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i +Z / U+0048 _ > U+0020 ; +b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI +[VWL]=v1 / BEG _ > U+0627 @v1 +Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U +; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I +Q?=q1 I / BEG _ > U+0627 @q1 i y + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m U+0627 Hy +m Q i H a / _ (T|t) > m U+0627 Hy a +m i H Q a / _ (T|t) > m i U+0627 Hy +m i H a / _ (T|t) > m i U+0627 Hy a + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0636 U+0651 ;;SHADDA +V z > U+0636 +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Q Y Y > U+0649 U+0651 ;;SHADDA +Q Y > U+0649 +Y Y > U+064E U+0649 U+0651 ;;SHADDA +Y > U+064E U+0649 +;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots +y y > U+06CC U+0651 ;;SHADDA +y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +U A / _ # > U+064F U+0648 U+0627 +Q U [Uw] > U+0648 U+0651 ;;SHADDA +Q U > U+0648 +U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +U > U+064F U+0648 +w w > U+0648 U+0651 ;;SHADDA +w > U+0648 +Q u N? > +u N > U+064C +u > U+064F +V t V t > U+0679 U+0651 ;;SHADDA +V t > U+0679 ;urdu +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 ;;SHADDA +T Q AN > U+0629 +T AN > U+0629 U+064B +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+0634 U+0651 ;;SHADDA +V s > U+0634 +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0691 U+0651 ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+0642 U+0651 ;;SHADDA +P k > U+0642 ; Ottoman qaf +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+06A0 U+0651 ;;SHADDA +C g > U+06A0 +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+0698 U+0651 ;;SHADDA +j > U+0698 +Q I > U+064A +I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +Q i N? > ; +i N > U+064D +i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+068A U+0651 ;;SHADDA +V d > U+068A +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0686 U+0651 ;;SHADDA +V c > U+0686 ; Ottoman ç +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+062C U+0651 ;;SHADDA +c > U+062C +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+064E U+0649 +UL a > U+0670 +UL u > U+064F; +UL i > U+0650; +Q AN / (A H|Ha) _ > ; +AN / (A H|Ha) _ > U+064B +Q AN > U+0627 +AN > U+0627 U+064B +Q a > +a > U+064E +Q A > U+0627 +A > U+064E U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +Q [VWL] > ;stripoff quoted vowels +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +BAR > ;| + +pass(Unicode) + +Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-) +Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc. +Class [VWL] = (U+0627 U+0648..U+0650 U+0670); +[CONS]=k1 / _ Z? [CONS] ^U+0651 > @k1 U+0652 ; hack: 2nd consonant has no shadda +U+064E (U+064A|U+0648)=hc / _ (^[VWLX]|#) > U+064E @hc U+0652 ; ay and aw diphtongs +U+0627 / # _ U+0644 > U+0627 U+064E ; otherwise initial alif takes fatha +[CONS]=k1 / _ ([CONS]|#) > @k1 U+0652 ; consonant + (consonant or final) +;; [CONS]=k1 / _ # > @k1 U+0652 ; final consonant +Q > ; +Z > ; diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-turk-novoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-turk-novoc.map new file mode 100644 index 00000000000..65660b94daf --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-turk-novoc.map @@ -0,0 +1,470 @@ +LHSName "ArabTeX-turk-novowels" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h' +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: +U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH' +U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +[AVWL] > ; strip off vowels when writing UTF-8 Arabic with novoc mode +CO O > U+06FC ; +a e > a y +a o > a w +CO U > U+06C7 ; +e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish) +o > u +I / _ # > i y + + +;; Persian ezafe (ALL BUT ARABIC AND UIGHUR) +U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<< +U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I +Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e +Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I +Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i +Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i +Z / U+0048 _ > U+0020 ; +b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0627 ; +[VWL]=v1 / BEG _ > A @v1 +Q?=q1 U / BEG _ > A @q1 u w ; -U +; Q?=q1 I / BEG _ > A @q1 i y ; -I ; but not when I is final FIXME!!! +Q?=q1 I / BEG _ > A @q1 i y ; except for Persian, coz of ezafe rules + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m Q i A Hy Q a +m Q i H a / _ (T|t) > m Q i A Hy +m i H Q a / _ (T|t) > m A Hy Q a +m i H a / _ (T|t) > m A Hy + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0636 U+0651 ;;SHADDA +V z > U+0636 +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Y Y > U+0649 U+0651 ;;SHADDA +Y > U+0649 +;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots +y y > U+06CC U+0651 ;;SHADDA +y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +Q U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +Q U > U+064F U+0648 +[Uw] [Uw] > U+0648 U+0651 ;;SHADDA +[Uw] > U+0648 +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +Q u N > U+064C +u N > +Q u > U+064F +V t V t > U+0679 U+0651 ;;SHADDA +V t > U+0679 ;urdu +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 U+064B ;;SHADDA +T Q AN > U+0629 U+064B +T AN > U+0629 +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+0634 U+0651 ;;SHADDA +V s > U+0634 +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0691 U+0651 ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+0642 U+0651 ;;SHADDA +P k > U+0642 ; Ottoman qaf +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+06A0 U+0651 ;;SHADDA +C g > U+06A0 +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+0698 U+0651 ;;SHADDA +j > U+0698 +Q I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +I > U+064A +Q i N > U+064D +i N > ; +Q i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+068A U+0651 ;;SHADDA +V d > U+068A +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0686 U+0651 ;;SHADDA +V c > U+0686 ; Ottoman ç +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+062C U+0651 ;;SHADDA +c > U+062C +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+0649 +UL a > U+0670 +UL u > ; +UL i > ; +Q AN / (A H|Ha) _ > U+064B +AN / (A H|Ha) _ > ; +Q AN > U+0627 U+064B +AN > U+0627 +Q a > U+064E +Q A > U+064E U+0627 +A > U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +[VWL] > ;stripoff vowels +Q > U+0652 +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +Z > ;- +BAR > ;| + diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-turk-novoc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-turk-novoc.tec index 9102719bfbe..b63f2ef8ee8 100644 Binary files a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-turk-novoc.tec and b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-turk-novoc.tec differ diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-turk-voc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-turk-voc.map new file mode 100644 index 00000000000..0ab30050577 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-turk-voc.map @@ -0,0 +1,480 @@ +LHSName "ArabTeX-turk-vocalized" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h' +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: +U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH' +U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +CO O > U+06FC ; +a e > a y +a o > a w +CO U > U+06C7 ; +e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish) +o > u +I / _ # > i y + + +;; Persian ezafe (ALL BUT ARABIC AND UIGHUR) +U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<< +U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I +Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e +Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I +Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i +Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i +Z / U+0048 _ > U+0020 ; +b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI +[VWL]=v1 / BEG _ > U+0627 @v1 +Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U +; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I +Q?=q1 I / BEG _ > U+0627 @q1 i y + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m U+0627 Hy +m Q i H a / _ (T|t) > m U+0627 Hy a +m i H Q a / _ (T|t) > m i U+0627 Hy +m i H a / _ (T|t) > m i U+0627 Hy a + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0636 U+0651 ;;SHADDA +V z > U+0636 +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Q Y Y > U+0649 U+0651 ;;SHADDA +Q Y > U+0649 +Y Y > U+064E U+0649 U+0651 ;;SHADDA +Y > U+064E U+0649 +;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots +y y > U+06CC U+0651 ;;SHADDA +y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +U A / _ # > U+064F U+0648 U+0627 +Q U [Uw] > U+0648 U+0651 ;;SHADDA +Q U > U+0648 +U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +U > U+064F U+0648 +w w > U+0648 U+0651 ;;SHADDA +w > U+0648 +Q u N? > +u N > U+064C +u > U+064F +V t V t > U+0679 U+0651 ;;SHADDA +V t > U+0679 ;urdu +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 ;;SHADDA +T Q AN > U+0629 +T AN > U+0629 U+064B +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+0634 U+0651 ;;SHADDA +V s > U+0634 +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0691 U+0651 ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+0642 U+0651 ;;SHADDA +P k > U+0642 ; Ottoman qaf +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+06A0 U+0651 ;;SHADDA +C g > U+06A0 +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+0698 U+0651 ;;SHADDA +j > U+0698 +Q I > U+064A +I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +Q i N? > ; +i N > U+064D +i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+068A U+0651 ;;SHADDA +V d > U+068A +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0686 U+0651 ;;SHADDA +V c > U+0686 ; Ottoman ç +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+062C U+0651 ;;SHADDA +c > U+062C +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+064E U+0649 +UL a > U+0670 +UL u > U+064F; +UL i > U+0650; +Q AN / (A H|Ha) _ > ; +AN / (A H|Ha) _ > U+064B +Q AN > U+0627 +AN > U+0627 U+064B +Q a > +a > U+064E +Q A > U+0627 +A > U+064E U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +Q [VWL] > ;stripoff quoted vowels +Q > U+0652 +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +BAR > ;| + +pass(Unicode) + +Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-) +Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc. +Class [VWL] = (U+0627 U+0648..U+0650 U+0670); +Z > ; diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-uighur.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-uighur.map new file mode 100644 index 00000000000..11c28abd2bc --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-uighur.map @@ -0,0 +1,277 @@ +LHSName "ArabTeX-Uighur" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define LLAH U+006C U+006C U+005F U+0061 U+0068 + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) + + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +(a|A) l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h' +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: +U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH' +U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL)' +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE)' +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels + +a / # _ > U+0626 U+0627 +a > U+0627 +(CO a|U+00E4) / # _ > U+0626 U+0647 U+200C +(CO a|U+00E4) > U+0647 U+200C +o / # _ > U+0626 U+0648 ; +o > U+0648 ; +(CO o|U+00F6) / # _ > U+0626 U+06C6 +(CO o|U+00F6) > U+06C6 +i / # _ # > U+0626 U+0649 +i / # _ > U+0626 U+066E +i / _ # > U+0649 +i > U+066E +e / # _ > U+0626 U+06D0 +e > U+06D0 +u / # _ > U+0626 U+06C7 ; +u > U+06C7 ; +(CO u|U+00FC) / # _ > U+0626 U+06C8 ; +(CO u|U+00FC) > U+06C8 ; +l Q a > U+0644 U+064E U+0627 ; +l a > U+0644 U+0627 ; + +P z P z > U+0638 U+0651 ;;SHADDA +P z > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;pashto ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Y Y > U+0649 U+0651 ;;SHADDA +Y > U+0649 +w w > U+06CB U+0651 ;;SHADDA +w > U+06CB +y y > U+064A U+0651 ;;SHADDA +y > U+064A +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +V t V t > U+0679 U+0651 ; urdu ;;SHADDA +V t > U+0679 +UL t UL t > U+062B U+0651 ;;SHADDA +UL t > U+062B +P t P t > U+0637 U+0651 ;;SHADDA +P t > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +P s P s > U+0635 U+0651 ;;SHADDA +P s > U+0635 +V s V s > U+069A U+0651 ;Pashto ;;SHADDA +V s > U+069A ;Pashto +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+0692 U+0651 ;Kurdish ;;SHADDA ; missing in ArabTeX <<< +C r > U+0692 +P r P r > U+0695 U+0651 ;Kurdish ;;SHADDA +P r > U+0695 +V r V r > U+0691 U+0651 ;Urdu ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ; urdu ;;SHADDA +P n > U+06BA ; +V n V n > U+06BC U+0651 ; Pashto +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +C l C l > U+06B5 U+0651 ;kurdish ;;SHADDA +C l > U+06B5 +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ; pashto urdu ;;SHADDA +P k > U+06A9 +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +x x > U+062E U+0651 ;;SHADDA +x > U+062E +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +P h P h > U+062D U+0651 ;;SHADDA +P h > U+062D +V h V h > U+06C1 U+0651 +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +C g C g > U+063A U+0651 ;;SHADDA +C g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;pashto ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+0688 U+0651 ;urdu ;;SHADDA +V d > U+0688 ;urdu +C d C d > U+06EE ; not defined in ArabTeX U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +UL d UL d > U+0630 U+0651 ;;SHADDA +UL d > U+0630 +P d P d > U+0636 U+0651 ;;SHADDA +P d > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;pashto ;;SHADDA +V c > U+0685 +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +c c > U+0681 U+0651 +c > U+0681 ; ح with hamza above +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H > U+0626 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / . _ . > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... +U+005B / . _ . > U+200D U+005B U+200D ; ... (but of course this screws up contextual analysis, so quoting of hamzas etc may be necessary) +Q > ; +N > ; +C > ;^ +Z > ;- +BAR > ;| + + diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-urdu-fullvoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-urdu-fullvoc.map new file mode 100644 index 00000000000..1a43e25170d --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-urdu-fullvoc.map @@ -0,0 +1,499 @@ +LHSName "ArabTeX-urdu-fullvocalized" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h' +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: +U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH' +U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +CO O > U+06FC ; +H E > U+06D3 ;; hamza + yeh barree +E / _ # > U+06D2 +E > y +a e / _ # > a U+06D2 +a e > a y +a o > a w +(o|u)? O / # _ > U+0627 w +(o|u)? O > w +CO U > U+06C7 ; +e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish) +o > u +I / _ # > i y + + +;; Persian ezafe (ALL BUT ARABIC AND UIGHUR) +U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<< +U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I +Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e +Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I +Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i +Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i +Z / U+0048 _ > U+0020 ; +b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI +[VWL]=v1 / BEG _ > U+0627 @v1 +A / BEG _ > HA ;; ADD MORE ? <<< +Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U +; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I +Q?=q1 I / BEG _ > U+0627 @q1 i y + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m U+0627 Hy +m Q i H a / _ (T|t) > m U+0627 Hy a +m i H Q a / _ (T|t) > m i U+0627 Hy +m i H a / _ (T|t) > m i U+0627 Hy a + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Q Y Y > U+0649 U+0651 ;;SHADDA +Q Y > U+0649 +Y Y > U+064E U+0649 U+0651 ;;SHADDA +Y > U+064E U+0649 +;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots +y y > U+06CC U+0651 ;;SHADDA +y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +U A / _ # > U+064F U+0648 U+0627 +Q U [Uw] > U+0648 U+0651 ;;SHADDA +Q U > U+0648 +U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +U > U+064F U+0648 +w w > U+0648 U+0651 ;;SHADDA +w > U+0648 +Q u N? > +u N > U+064C +u > U+064F +V t V t > U+0679 U+0651 ;;SHADDA +V t > U+0679 ;urdu +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 ;;SHADDA +T Q AN > U+0629 +T AN > U+0629 U+064B +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0691 U+0651 ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+062C U+0651 ;;SHADDA +C g > U+062C +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+064A +I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +Q i N? > ; +i N > U+064D +i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +U+0048 > U+06C3 +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +H H > U+06C1 U+0651 ;;SHADDA +H > U+06C1 +h h > U+06BE U+0651 ;;SHADDA +h > U+06BE ; urdu +;; fix letter+h letter+h > letter+h shadda in URDU <<< +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+0688 U+0651 ;;SHADDA +V d > U+0688 ;urdu +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +CO CO d CO CO d > U+0690 U+0651 ;;SHADDA +CO CO d > U+0690 ; old urdu: not in ArabTeX +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0681 U+0651 ;;SHADDA +c > U+0681 ; ح with hamza above +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+064E U+0649 +UL a > U+0670 +UL u > U+064F; +UL i > U+0650; +Q AN / (A H|Ha) _ > ; +AN / (A H|Ha) _ > U+064B +Q AN > U+0627 +AN > U+0627 U+064B +Q a > +a > U+064E +Q A > U+0627 +A > U+064E U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArEasternDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +Q [VWL] > ;stripoff quoted vowels +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +BAR > ;| +P P > U+06D4 ; urdu full stop << check + +pass(Unicode) + +Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-) +Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc. +Class [VWL] = (U+0627 U+0648..U+0650 U+0670); +[CONS]=k1 / _ Z? [CONS] ^U+0651 > @k1 U+0652 ; hack: 2nd consonant has no shadda +U+064E (U+064A|U+0648)=hc / _ (^[VWLX]|#) > U+064E @hc U+0652 ; ay and aw diphtongs +U+0627 / # _ U+0644 > U+0627 U+064E ; otherwise initial alif takes fatha +[CONS]=k1 / _ ([CONS]|#) > @k1 U+0652 ; consonant + (consonant or final) +;; [CONS]=k1 / _ # > @k1 U+0652 ; final consonant +Q > ; +Z > ; diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-urdu-fullvoc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-urdu-fullvoc.tec index b4e82a0e7e7..4de34ae02d8 100644 Binary files a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-urdu-fullvoc.tec and b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-urdu-fullvoc.tec differ diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-urdu-novoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-urdu-novoc.map new file mode 100644 index 00000000000..5104ee1e2e8 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-urdu-novoc.map @@ -0,0 +1,484 @@ +LHSName "ArabTeX-urdu-novowels" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h' +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: +U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH' +U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +[AVWL] > ; strip off vowels when writing UTF-8 Arabic with novoc mode +CO O > U+06FC ; +H E > U+06D3 ;; hamza + yeh barree +E / _ # > U+06D2 +E > y +a e / _ # > a U+06D2 +a e > a y +a o > a w +(o|u)? O / # _ > U+0627 w +(o|u)? O > w +CO U > U+06C7 ; +e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish) +o > u +I / _ # > i y + + +;; Persian ezafe (ALL BUT ARABIC AND UIGHUR) +U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<< +U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I +Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e +Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I +Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i +Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i +Z / U+0048 _ > U+0020 ; +b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0627 ; +[VWL]=v1 / BEG _ > A @v1 +A / BEG _ > HA ;; ADD MORE ? <<< +Q?=q1 U / BEG _ > A @q1 u w ; -U +; Q?=q1 I / BEG _ > A @q1 i y ; -I ; but not when I is final FIXME!!! +Q?=q1 I / BEG _ > A @q1 i y ; except for Persian, coz of ezafe rules + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m Q i A Hy Q a +m Q i H a / _ (T|t) > m Q i A Hy +m i H Q a / _ (T|t) > m A Hy Q a +m i H a / _ (T|t) > m A Hy + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Y Y > U+0649 U+0651 ;;SHADDA +Y > U+0649 +;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots +y y > U+06CC U+0651 ;;SHADDA +y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +Q U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +Q U > U+064F U+0648 +[Uw] [Uw] > U+0648 U+0651 ;;SHADDA +[Uw] > U+0648 +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +Q u N > U+064C +u N > +Q u > U+064F +V t V t > U+0679 U+0651 ;;SHADDA +V t > U+0679 ;urdu +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 U+064B ;;SHADDA +T Q AN > U+0629 U+064B +T AN > U+0629 +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0691 U+0651 ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+062C U+0651 ;;SHADDA +C g > U+062C +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +I > U+064A +Q i N > U+064D +i N > ; +Q i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +U+0048 > U+06C3 +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +H H > U+06C1 U+0651 ;;SHADDA +H > U+06C1 +h h > U+06BE U+0651 ;;SHADDA +h > U+06BE ; urdu +;; fix letter+h letter+h > letter+h shadda in URDU <<< +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+0688 U+0651 ;;SHADDA +V d > U+0688 ;urdu +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +CO CO d CO CO d > U+0690 U+0651 ;;SHADDA +CO CO d > U+0690 ; old urdu: not in ArabTeX +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0681 U+0651 ;;SHADDA +c > U+0681 ; ح with hamza above +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+0649 +UL a > U+0670 +UL u > ; +UL i > ; +Q AN / (A H|Ha) _ > U+064B +AN / (A H|Ha) _ > ; +Q AN > U+0627 U+064B +AN > U+0627 +Q a > U+064E +Q A > U+064E U+0627 +A > U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArEasternDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +[VWL] > ;stripoff vowels +Q > U+0652 +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +Z > ;- +BAR > ;| +P P > U+06D4 ; urdu full stop << check + diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-urdu-novoc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-urdu-novoc.tec index 172ba13bca3..62a714e8c17 100644 Binary files a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-urdu-novoc.tec and b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-urdu-novoc.tec differ diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-urdu-voc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-urdu-voc.map new file mode 100644 index 00000000000..f91a76587f0 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-urdu-voc.map @@ -0,0 +1,494 @@ +LHSName "ArabTeX-urdu-vocalized" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h' +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: +U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH' +U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +CO O > U+06FC ; +H E > U+06D3 ;; hamza + yeh barree +E / _ # > U+06D2 +E > y +a e / _ # > a U+06D2 +a e > a y +a o > a w +(o|u)? O / # _ > U+0627 w +(o|u)? O > w +CO U > U+06C7 ; +e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish) +o > u +I / _ # > i y + + +;; Persian ezafe (ALL BUT ARABIC AND UIGHUR) +U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<< +U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I +Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e +Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I +Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i +Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i +Z / U+0048 _ > U+0020 ; +b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI +[VWL]=v1 / BEG _ > U+0627 @v1 +A / BEG _ > HA ;; ADD MORE ? <<< +Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U +; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I +Q?=q1 I / BEG _ > U+0627 @q1 i y + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m U+0627 Hy +m Q i H a / _ (T|t) > m U+0627 Hy a +m i H Q a / _ (T|t) > m i U+0627 Hy +m i H a / _ (T|t) > m i U+0627 Hy a + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Q Y Y > U+0649 U+0651 ;;SHADDA +Q Y > U+0649 +Y Y > U+064E U+0649 U+0651 ;;SHADDA +Y > U+064E U+0649 +;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots +y y > U+06CC U+0651 ;;SHADDA +y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +U A / _ # > U+064F U+0648 U+0627 +Q U [Uw] > U+0648 U+0651 ;;SHADDA +Q U > U+0648 +U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +U > U+064F U+0648 +w w > U+0648 U+0651 ;;SHADDA +w > U+0648 +Q u N? > +u N > U+064C +u > U+064F +V t V t > U+0679 U+0651 ;;SHADDA +V t > U+0679 ;urdu +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 ;;SHADDA +T Q AN > U+0629 +T AN > U+0629 U+064B +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0691 U+0651 ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+062C U+0651 ;;SHADDA +C g > U+062C +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+064A +I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +Q i N? > ; +i N > U+064D +i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +U+0048 > U+06C3 +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +H H > U+06C1 U+0651 ;;SHADDA +H > U+06C1 +h h > U+06BE U+0651 ;;SHADDA +h > U+06BE ; urdu +;; fix letter+h letter+h > letter+h shadda in URDU <<< +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+0688 U+0651 ;;SHADDA +V d > U+0688 ;urdu +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +CO CO d CO CO d > U+0690 U+0651 ;;SHADDA +CO CO d > U+0690 ; old urdu: not in ArabTeX +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0681 U+0651 ;;SHADDA +c > U+0681 ; ح with hamza above +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+064E U+0649 +UL a > U+0670 +UL u > U+064F; +UL i > U+0650; +Q AN / (A H|Ha) _ > ; +AN / (A H|Ha) _ > U+064B +Q AN > U+0627 +AN > U+0627 U+064B +Q a > +a > U+064E +Q A > U+0627 +A > U+064E U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArEasternDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +Q [VWL] > ;stripoff quoted vowels +Q > U+0652 +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +BAR > ;| +P P > U+06D4 ; urdu full stop << check + +pass(Unicode) + +Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-) +Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc. +Class [VWL] = (U+0627 U+0648..U+0650 U+0670); +Z > ; diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-urdu-voc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-urdu-voc.tec index ff0e8f73555..07e3b00cfe6 100644 Binary files a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-urdu-voc.tec and b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-urdu-voc.tec differ diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-voc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-voc.map new file mode 100644 index 00000000000..17f2ea72f33 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-voc.map @@ -0,0 +1,476 @@ +LHSName "ArabTeX-vocalized" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h' +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: +U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH' +U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +CO O > U+06FC ; +a e > a y +a o > a w +CO U > U+06C7 ; +e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish) +o > u +E > I +O > U + + + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +H l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI +[VWL]=v1 / BEG _ > U+0627 @v1 +A / BEG _ > U+0627 a +Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U +; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I +Q?=q1 I / BEG _ > U+0627 @q1 i y + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m U+0627 Hy +m Q i H a / _ (T|t) > m U+0627 Hy a +m i H Q a / _ (T|t) > m i U+0627 Hy +m i H a / _ (T|t) > m i U+0627 Hy a + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Q Y Y > U+0649 U+0651 ;;SHADDA +Q Y > U+0649 +Y Y > U+064E U+0649 U+0651 ;;SHADDA +Y > U+064E U+0649 +P I P I / _ # > U+0650 U+06CC U+0651 ;; SHADDA +P I / _ # > U+0650 U+06CC ;; workaround to have ya without dots in Arabic +y y > U+064A U+0651 ;;SHADDA +y > U+064A +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +U A / _ # > U+064F U+0648 U+0627 +Q U [Uw] > U+0648 U+0651 ;;SHADDA +Q U > U+0648 +U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +U > U+064F U+0648 +w w > U+0648 U+0651 ;;SHADDA +w > U+0648 +Q u N? > +u N > U+064C +u > U+064F +V t V t > U+0679 U+0651 ;;SHADDA +V t > U+0679 ;urdu +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 ;;SHADDA +T Q AN > U+0629 +T AN > U+0629 U+064B +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0691 U+0651 ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+062C U+0651 ;;SHADDA +C g > U+062C +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+064A +I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +Q i N? > ; +i N > U+064D +i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+068A U+0651 ;;SHADDA +V d > U+068A +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0681 U+0651 ;;SHADDA +c > U+0681 ; ح with hamza above +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+064E U+0649 +UL a > U+0670 +UL u > U+0657 ; inverted damma +UL i > U+0656 ; subscript alif +Q AN / (A H|Ha) _ > ; +AN / (A H|Ha) _ > U+064B +Q AN > U+0627 +AN > U+0627 U+064B +Q a > +a > U+064E +Q A > U+0627 +A > U+064E U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +Q [VWL] > ;stripoff quoted vowels +Q > U+0652 +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +BAR > ;| + +pass(Unicode) + +Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-) +Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc. +Class [VWL] = (U+0627 U+0648..U+0650 U+0670); +U+0627 [VWL]? / [VWL] Z _ > U+0627 ; e.g. fa-isti_hraj -> initial alif has no vowel +Z > ; diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-farsi-fullvoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-farsi-fullvoc.map new file mode 100644 index 00000000000..f53c3d35d06 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-farsi-fullvoc.map @@ -0,0 +1,495 @@ +LHSName "ArabTeX-farsi-fullvocalized" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+FDF2 ;; 'll_ah' > U+FDF2 +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: + U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH' + U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +CO O > U+06FC ; +a e > a y +a o > a w +(o|u)? O / # _ > U+0627 w +(o|u)? O > w +CO U > U+06C7 ; +e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish) +o > u +E > I +I / _ # > i y + + +;; Persian ezafe (ALL BUT ARABIC AND UIGHUR) +U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<< +U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I +Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e +Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I +Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i +Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i +Z / U+0048 _ > U+0020 ; +b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI +[VWL]=v1 / BEG _ > U+0627 @v1 +A / BEG _ > HA ;; ADD MORE ? <<< +Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U +; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I +Q?=q1 I / BEG _ ^# > U+0627 @q1 i y ; -I... +Z Q?=qq (I|E) / _ (#|Z) > @qq i y ; +UL Q?=q1 U > @q1 U +Q?=q1 U / # _ # > U+0627 @q1 u w +Q BAR > U+0020; "| to separate compounds >> IN TRANSLIT THIS WILL BE REMOVED + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m U+0627 Hy +m Q i H a / _ (T|t) > m U+0627 Hy a +m i H Q a / _ (T|t) > m i U+0627 Hy +m i H a / _ (T|t) > m i U+0627 Hy a + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Q Y Y > U+0649 U+0651 ;;SHADDA +Q Y > U+0649 +Y Y > U+064E U+0649 U+0651 ;;SHADDA +Y > U+064E U+0649 +;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots +y y > U+06CC U+0651 ;;SHADDA +y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +U A / _ # > U+064F U+0648 U+0627 +Q U [Uw] > U+0648 U+0651 ;;SHADDA +Q U > U+0648 +U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +U > U+064F U+0648 +w w > U+0648 U+0651 ;;SHADDA +w > U+0648 +Q u N? > +u N > U+064C +u > U+064F +V t V t > U+0679 U+0651 ;;SHADDA +V t > U+0679 ;urdu +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 ;;SHADDA +T Q AN > U+0629 +T AN > U+0629 U+064B +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0691 U+0651 ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+062C U+0651 ;;SHADDA +C g > U+062C +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+064A +I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +Q i N? > ; +i N > U+064D +i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +U+0048 Z > U+0647 U+200C U+0020 ;eH-suffix > eH suffix +U+0048 > U+0647 U+200C ; H is always heh final +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+068A U+0651 ;;SHADDA +V d > U+068A +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0681 U+0651 ;;SHADDA +c > U+0681 ; ح with hamza above +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+064E U+0649 +UL a > U+0670 +UL u > U+064F; +UL i > U+0650; +Q AN / (A H|Ha) _ > ; +AN / (A H|Ha) _ > U+064B +Q AN > U+0627 +AN > U+0627 U+064B +Q a > +a > U+064E +Q A > U+0627 +A > U+064E U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArEasternDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +Q [VWL] > ;stripoff quoted vowels +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +BAR > ;| + +pass(Unicode) + +Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-) +Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc. +Class [VWL] = (U+0627 U+0648..U+0650 U+0670); +[CONS]=k1 / _ Z? [CONS] ^U+0651 > @k1 U+0652 ; hack: 2nd consonant has no shadda +U+064E (U+064A|U+0648)=hc / _ (^[VWLX]|#) > U+064E @hc U+0652 ; ay and aw diphtongs +U+0627 / # _ U+0644 > U+0627 U+064E ; otherwise initial alif takes fatha +[CONS]=k1 / _ ([CONS]|#) > @k1 U+0652 ; consonant + (consonant or final) +;; [CONS]=k1 / _ # > @k1 U+0652 ; final consonant +Q > ; +Z > ; diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-farsi-novoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-farsi-novoc.map new file mode 100644 index 00000000000..a653b5e3d97 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-farsi-novoc.map @@ -0,0 +1,480 @@ +LHSName "ArabTeX-farsi-novowels" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+FDF2 ;; 'll_ah' > U+FDF2 +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: + U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH' + U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +[AVWL] > ; strip off vowels when writing UTF-8 Arabic with novoc mode +CO O > U+06FC ; +a e > a y +a o > a w +(o|u)? O / # _ > U+0627 w +(o|u)? O > w +CO U > U+06C7 ; +e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish) +o > u +E > I +I / _ # > i y + + +;; Persian ezafe (ALL BUT ARABIC AND UIGHUR) +U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<< +U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I +Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e +Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I +Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i +Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i +Z / U+0048 _ > U+0020 ; +b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0627 ; +[VWL]=v1 / BEG _ > A @v1 +A / BEG _ > HA ;; ADD MORE ? <<< +Q?=q1 U / BEG _ > A @q1 u w ; -U +; Q?=q1 I / BEG _ > A @q1 i y ; -I ; but not when I is final FIXME!!! +Q?=q1 I / BEG _ ^# > A @q1 i y ; -I... +Z Q?=qq (I|E) / _ (#|Z) > @qq i y ; +UL Q?=q1 U > @q1 U +Q?=q1 U / # _ # > U+0627 @q1 u w +Q BAR > U+0020; "| to separate compounds >> IN TRANSLIT THIS WILL BE REMOVED + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m Q i A Hy Q a +m Q i H a / _ (T|t) > m Q i A Hy +m i H Q a / _ (T|t) > m A Hy Q a +m i H a / _ (T|t) > m A Hy + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Y Y > U+0649 U+0651 ;;SHADDA +Y > U+0649 +;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots +y y > U+06CC U+0651 ;;SHADDA +y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +Q U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +Q U > U+064F U+0648 +[Uw] [Uw] > U+0648 U+0651 ;;SHADDA +[Uw] > U+0648 +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +Q u N > U+064C +u N > +Q u > U+064F +V t V t > U+0679 U+0651 ;;SHADDA +V t > U+0679 ;urdu +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 U+064B ;;SHADDA +T Q AN > U+0629 U+064B +T AN > U+0629 +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0691 U+0651 ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+062C U+0651 ;;SHADDA +C g > U+062C +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +I > U+064A +Q i N > U+064D +i N > ; +Q i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +U+0048 Z > U+0647 U+200C U+0020 ;eH-suffix > eH suffix +U+0048 > U+0647 U+200C ; H is always heh final +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+068A U+0651 ;;SHADDA +V d > U+068A +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0681 U+0651 ;;SHADDA +c > U+0681 ; ح with hamza above +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+0649 +UL a > U+0670 +UL u > ; +UL i > ; +Q AN / (A H|Ha) _ > U+064B +AN / (A H|Ha) _ > ; +Q AN > U+0627 U+064B +AN > U+0627 +Q a > U+064E +Q A > U+064E U+0627 +A > U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArEasternDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +[VWL] > ;stripoff vowels +Q > U+0652 +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +Z > ;- +BAR > ;| + diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-farsi-novoc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-farsi-novoc.tec index 71fa206875a..fc32f96c9ad 100644 Binary files a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-farsi-novoc.tec and b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-farsi-novoc.tec differ diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-farsi-voc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-farsi-voc.map new file mode 100644 index 00000000000..9617d027c28 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-farsi-voc.map @@ -0,0 +1,490 @@ +LHSName "ArabTeX-farsi-vocalized" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+FDF2 ;; 'll_ah' > U+FDF2 +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: + U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH' + U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +CO O > U+06FC ; +a e > a y +a o > a w +(o|u)? O / # _ > U+0627 w +(o|u)? O > w +CO U > U+06C7 ; +e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish) +o > u +E > I +I / _ # > i y + + +;; Persian ezafe (ALL BUT ARABIC AND UIGHUR) +U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<< +U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I +Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e +Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I +Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i +Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i +Z / U+0048 _ > U+0020 ; +b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI +[VWL]=v1 / BEG _ > U+0627 @v1 +A / BEG _ > HA ;; ADD MORE ? <<< +Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U +; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I +Q?=q1 I / BEG _ ^# > U+0627 @q1 i y ; -I... +Z Q?=qq (I|E) / _ (#|Z) > @qq i y ; +UL Q?=q1 U > @q1 U +Q?=q1 U / # _ # > U+0627 @q1 u w +Q BAR > U+0020; "| to separate compounds >> IN TRANSLIT THIS WILL BE REMOVED + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m U+0627 Hy +m Q i H a / _ (T|t) > m U+0627 Hy a +m i H Q a / _ (T|t) > m i U+0627 Hy +m i H a / _ (T|t) > m i U+0627 Hy a + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Q Y Y > U+0649 U+0651 ;;SHADDA +Q Y > U+0649 +Y Y > U+064E U+0649 U+0651 ;;SHADDA +Y > U+064E U+0649 +;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots +y y > U+06CC U+0651 ;;SHADDA +y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +U A / _ # > U+064F U+0648 U+0627 +Q U [Uw] > U+0648 U+0651 ;;SHADDA +Q U > U+0648 +U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +U > U+064F U+0648 +w w > U+0648 U+0651 ;;SHADDA +w > U+0648 +Q u N? > +u N > U+064C +u > U+064F +V t V t > U+0679 U+0651 ;;SHADDA +V t > U+0679 ;urdu +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 ;;SHADDA +T Q AN > U+0629 +T AN > U+0629 U+064B +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0691 U+0651 ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+062C U+0651 ;;SHADDA +C g > U+062C +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+064A +I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +Q i N? > ; +i N > U+064D +i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +U+0048 Z > U+0647 U+200C U+0020 ;eH-suffix > eH suffix +U+0048 > U+0647 U+200C ; H is always heh final +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+068A U+0651 ;;SHADDA +V d > U+068A +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0681 U+0651 ;;SHADDA +c > U+0681 ; ح with hamza above +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+064E U+0649 +UL a > U+0670 +UL u > U+064F; +UL i > U+0650; +Q AN / (A H|Ha) _ > ; +AN / (A H|Ha) _ > U+064B +Q AN > U+0627 +AN > U+0627 U+064B +Q a > +a > U+064E +Q A > U+0627 +A > U+064E U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArEasternDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +Q [VWL] > ;stripoff quoted vowels +Q > U+0652 +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +BAR > ;| + +pass(Unicode) + +Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-) +Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc. +Class [VWL] = (U+0627 U+0648..U+0650 U+0670); +Z > ; diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-fullvoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-fullvoc.map new file mode 100644 index 00000000000..f6772aa68c4 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-fullvoc.map @@ -0,0 +1,482 @@ +LHSName "ArabTeX-fullvocalized" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+FDF2 ;; 'll_ah' > U+FDF2 +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: + U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH' + U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +CO O > U+06FC ; +a e > a y +a o > a w +CO U > U+06C7 ; +e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish) +o > u +E > I +O > U + + + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +H l Z / BEG _ > U+0671 l Z ; THIS IS NOT AN ARABTEX CONVENTION! it's a work-around coz pattern-matching across word boundaries does not work in teckit , so min al- must be written mina 'l- in fullvocalize mode +;; wasla on initial alif : NEW! NOT TESTED! +[VWL]=v1 Z / BEG _ > @v1 U+0671 ; THIS IS NOT AN ARABTEX CONVENTION! it's a work-around coz pattern-matching across word boundaries does not work in teckit , so huwa irtifA` must be written huwa i-rtifA` in fullvocalize mode +H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI +[VWL]=v1 / BEG _ > U+0627 @v1 +A / BEG _ > U+0627 a +Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U +; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I +Q?=q1 I / BEG _ > U+0627 @q1 i y + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m U+0627 Hy +m Q i H a / _ (T|t) > m U+0627 Hy a +m i H Q a / _ (T|t) > m i U+0627 Hy +m i H a / _ (T|t) > m i U+0627 Hy a + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Q Y Y > U+0649 U+0651 ;;SHADDA +Q Y > U+0649 +Y Y > U+064E U+0649 U+0651 ;;SHADDA +Y > U+064E U+0649 +P I P I / _ # > U+0650 U+06CC U+0651 ;; SHADDA +P I / _ # > U+0650 U+06CC ;; workaround to have ya without dots in Arabic +y y > U+064A U+0651 ;;SHADDA +y > U+064A +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +U A / _ # > U+064F U+0648 U+0627 +Q U [Uw] > U+0648 U+0651 ;;SHADDA +Q U > U+0648 +U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +U > U+064F U+0648 +w w > U+0648 U+0651 ;;SHADDA +w > U+0648 +Q u N? > +u N > U+064C +u > U+064F +V t V t > U+0679 U+0651 ;;SHADDA +V t > U+0679 ;urdu +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 ;;SHADDA +T Q AN > U+0629 +T AN > U+0629 U+064B +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0691 U+0651 ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+062C U+0651 ;;SHADDA +C g > U+062C +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+064A +I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +Q i N? > ; +i N > U+064D +i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+068A U+0651 ;;SHADDA +V d > U+068A +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0681 U+0651 ;;SHADDA +c > U+0681 ; ح with hamza above +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+064E U+0649 +UL a > U+0670 +UL u > U+0657 ; inverted damma +UL i > U+0656 ; subscript alif +Q AN / (A H|Ha) _ > ; +AN / (A H|Ha) _ > U+064B +Q AN > U+0627 +AN > U+0627 U+064B +Q a > +a > U+064E +Q A > U+0627 +A > U+064E U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +Q [VWL] > ;stripoff quoted vowels +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +BAR > ;| + +pass(Unicode) + +Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-) +Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc. +Class [VWL] = (U+0627 U+0648..U+0650 U+0670); +[CONS]=k1 / _ Z? [CONS] ^U+0651 > @k1 U+0652 ; hack: 2nd consonant has no shadda +U+064E (U+064A|U+0648)=hc / _ (^[VWLX]|#) > U+064E @hc U+0652 ; ay and aw diphtongs +U+0627 [VWL]? / [VWL] Z _ > U+0671 ; e.g. fa-isti_hraj -> wasla on initial alif +U+0627 / # _ U+0644 > U+0627 U+064E ; otherwise initial alif takes fatha +[CONS]=k1 / _ ([CONS]|#) > @k1 U+0652 ; consonant + (consonant or final) +;; [CONS]=k1 / _ # > @k1 U+0652 ; final consonant +Q > ; +Z > ; diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-fullvoc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-fullvoc.tec index 447243018f9..6ca10fc26be 100644 Binary files a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-fullvoc.tec and b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-fullvoc.tec differ diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-kashmiri-fullvoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-kashmiri-fullvoc.map new file mode 100644 index 00000000000..a2516e210e7 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-kashmiri-fullvoc.map @@ -0,0 +1,513 @@ +LHSName "ArabTeX-kashmiri-fullvocalized" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+FDF2 ;; 'll_ah' > U+FDF2 +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: + U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH' + U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +CO O > U+06FC ; +a e > a y +a o > a w +(o|u)? O / # _ > U+0627 w +(o|u)? O > w +CO U > U+06C7 ; +e / # _ # > U+0627 U+06D2 U+0658 ; Alif + yeh barree + bow accent +e / _ # > U+06D2 U+0658 ; yeh barree + bow accent +e / # _ > U+0627 y U+0658 ; alif + ya + bow accent +e > y U+0658 +E / # _ # > U+0627 U+06D2 ; Alif + yeh barree +E / _ # > U+06D2 ; yeh barree +E / # _ > U+0627 y ; alif + ya +E > y +o / # _ > U+0627 U+06C6 +o > U+06C6 +P A > U+0672 +P U > U+0673 ; > this is the initial or lone form, but medial and final require wavy hamza below previous letter (not in Unicode)! Perhaps an OT font could solve this :: in Scheherazade the glyph needed is named _wavyHamza <<< +P a / # _ > U+0623 +P a > U+0654 +P u > U+0655 +P o / # _ > U+0627 U+06C4 +P o > U+06C4 +P O / # _ > U+0627 U+06C4 U+0627 U+064E +P O > U+06C4 U+0627 U+064E +I > y U+0656 +I / _ # > y +U / _ # > U+0627 w U+0657 +U > w U+0657 + + +;; Persian ezafe (ALL BUT ARABIC AND UIGHUR) +U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<< +U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I +Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e +Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I +Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i +Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i +Z / U+0048 _ > U+0020 ; +b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI +[VWL]=v1 / BEG _ > U+0627 @v1 +Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U +; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I +Q?=q1 I / BEG _ > U+0627 @q1 i y + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m U+0627 Hy +m Q i H a / _ (T|t) > m U+0627 Hy a +m i H Q a / _ (T|t) > m i U+0627 Hy +m i H a / _ (T|t) > m i U+0627 Hy a + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +CO z CO z > U+0636 U+0651 ;;SHADDA +CO z > U+0636 +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Q Y Y > U+0649 U+0651 ;;SHADDA +Q Y > U+0649 +Y Y > U+064E U+0649 U+0651 ;;SHADDA +Y > U+064E U+0649 +;; .b with ring below : FIXME not in Unicode! but U+06EA is a poor replacement: +P y / # _ # > U+0627 U+06D2 U+06EA +P y / _ # > U+0649 +P y > U+066E U+06EA +;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots +y y > U+06CC U+0651 ;;SHADDA +y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +U A / _ # > U+064F U+0648 U+0627 +Q U [Uw] > U+0648 U+0651 ;;SHADDA +Q U > U+0648 +U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +U > U+064F U+0648 +w w > U+0648 U+0651 ;;SHADDA +w > U+0648 +Q u N? > +u N > U+064C +u > U+064F +V t V t > U+0679 U+0651 ;;SHADDA +V t > U+0679 ;urdu +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 ;;SHADDA +T Q AN > U+0629 +T AN > U+0629 U+064B +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0691 U+0651 ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+062C U+0651 ;;SHADDA +C g > U+062C +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+064A +I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +Q i N? > ; +i N > U+064D +i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+068A U+0651 ;;SHADDA +V d > U+068A +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0681 U+0651 ;;SHADDA +c > U+0681 ; ح with hamza above +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+064E U+0649 +UL a > U+0670 +UL u > U+064F; +UL i > U+0650; +Q AN / (A H|Ha) _ > ; +AN / (A H|Ha) _ > U+064B +Q AN > U+0627 +AN > U+0627 U+064B +Q a > +a > U+064E +Q A > U+0627 +A > U+064E U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArEasternDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +Q [VWL] > ;stripoff quoted vowels +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +BAR > ;| + +pass(Unicode) + +Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-) +Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc. +Class [VWL] = (U+0627 U+0648..U+0650 U+0670); +[CONS]=k1 / _ Z? [CONS] ^U+0651 > @k1 U+0652 ; hack: 2nd consonant has no shadda +U+064E (U+064A|U+0648)=hc / _ (^[VWLX]|#) > U+064E @hc U+0652 ; ay and aw diphtongs +U+0627 / # _ U+0644 > U+0627 U+064E ; otherwise initial alif takes fatha +[CONS]=k1 / _ ([CONS]|#) > @k1 U+0652 ; consonant + (consonant or final) +;; [CONS]=k1 / _ # > @k1 U+0652 ; final consonant +Q > ; +Z > ; diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-kashmiri-novoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-kashmiri-novoc.map new file mode 100644 index 00000000000..b14151f77cd --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-kashmiri-novoc.map @@ -0,0 +1,498 @@ +LHSName "ArabTeX-kashmiri-novowels" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+FDF2 ;; 'll_ah' > U+FDF2 +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: + U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH' + U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +[AVWL] > ; strip off vowels when writing UTF-8 Arabic with novoc mode +CO O > U+06FC ; +a e > a y +a o > a w +(o|u)? O / # _ > U+0627 w +(o|u)? O > w +CO U > U+06C7 ; +e / # _ # > U+0627 U+06D2 U+0658 ; Alif + yeh barree + bow accent +e / _ # > U+06D2 U+0658 ; yeh barree + bow accent +e / # _ > U+0627 y U+0658 ; alif + ya + bow accent +e > y U+0658 +E / # _ # > U+0627 U+06D2 ; Alif + yeh barree +E / _ # > U+06D2 ; yeh barree +E / # _ > U+0627 y ; alif + ya +E > y +o / # _ > U+0627 U+06C6 +o > U+06C6 +P A > U+0672 +P U > U+0673 ; > this is the initial or lone form, but medial and final require wavy hamza below previous letter (not in Unicode)! Perhaps an OT font could solve this :: in Scheherazade the glyph needed is named _wavyHamza <<< +P a / # _ > U+0623 +P a > U+0654 +P u > U+0655 +P o / # _ > U+0627 U+06C4 +P o > U+06C4 +P O / # _ > U+0627 U+06C4 U+0627 U+064E +P O > U+06C4 U+0627 U+064E +I > y U+0656 +I / _ # > y +U / _ # > U+0627 w U+0657 +U > w U+0657 + + +;; Persian ezafe (ALL BUT ARABIC AND UIGHUR) +U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<< +U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I +Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e +Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I +Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i +Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i +Z / U+0048 _ > U+0020 ; +b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0627 ; +[VWL]=v1 / BEG _ > A @v1 +Q?=q1 U / BEG _ > A @q1 u w ; -U +; Q?=q1 I / BEG _ > A @q1 i y ; -I ; but not when I is final FIXME!!! +Q?=q1 I / BEG _ > A @q1 i y ; except for Persian, coz of ezafe rules + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m Q i A Hy Q a +m Q i H a / _ (T|t) > m Q i A Hy +m i H Q a / _ (T|t) > m A Hy Q a +m i H a / _ (T|t) > m A Hy + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +CO z CO z > U+0636 U+0651 ;;SHADDA +CO z > U+0636 +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Y Y > U+0649 U+0651 ;;SHADDA +Y > U+0649 +;; .b with ring below : FIXME not in Unicode! but U+06EA is a poor replacement: +P y / # _ # > U+0627 U+06D2 U+06EA +P y / _ # > U+0649 +P y > U+066E U+06EA +;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots +y y > U+06CC U+0651 ;;SHADDA +y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +Q U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +Q U > U+064F U+0648 +[Uw] [Uw] > U+0648 U+0651 ;;SHADDA +[Uw] > U+0648 +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +Q u N > U+064C +u N > +Q u > U+064F +V t V t > U+0679 U+0651 ;;SHADDA +V t > U+0679 ;urdu +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 U+064B ;;SHADDA +T Q AN > U+0629 U+064B +T AN > U+0629 +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0691 U+0651 ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+062C U+0651 ;;SHADDA +C g > U+062C +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +I > U+064A +Q i N > U+064D +i N > ; +Q i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+068A U+0651 ;;SHADDA +V d > U+068A +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0681 U+0651 ;;SHADDA +c > U+0681 ; ح with hamza above +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+0649 +UL a > U+0670 +UL u > ; +UL i > ; +Q AN / (A H|Ha) _ > U+064B +AN / (A H|Ha) _ > ; +Q AN > U+0627 U+064B +AN > U+0627 +Q a > U+064E +Q A > U+064E U+0627 +A > U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArEasternDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +[VWL] > ;stripoff vowels +Q > U+0652 +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +Z > ;- +BAR > ;| + diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-kashmiri-novoc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-kashmiri-novoc.tec index 3522928f864..1c781a55e8f 100644 Binary files a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-kashmiri-novoc.tec and b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-kashmiri-novoc.tec differ diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-kashmiri-voc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-kashmiri-voc.map new file mode 100644 index 00000000000..ad72262643b --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-kashmiri-voc.map @@ -0,0 +1,508 @@ +LHSName "ArabTeX-kashmiri-vocalized" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+FDF2 ;; 'll_ah' > U+FDF2 +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: + U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH' + U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +CO O > U+06FC ; +a e > a y +a o > a w +(o|u)? O / # _ > U+0627 w +(o|u)? O > w +CO U > U+06C7 ; +e / # _ # > U+0627 U+06D2 U+0658 ; Alif + yeh barree + bow accent +e / _ # > U+06D2 U+0658 ; yeh barree + bow accent +e / # _ > U+0627 y U+0658 ; alif + ya + bow accent +e > y U+0658 +E / # _ # > U+0627 U+06D2 ; Alif + yeh barree +E / _ # > U+06D2 ; yeh barree +E / # _ > U+0627 y ; alif + ya +E > y +o / # _ > U+0627 U+06C6 +o > U+06C6 +P A > U+0672 +P U > U+0673 ; > this is the initial or lone form, but medial and final require wavy hamza below previous letter (not in Unicode)! Perhaps an OT font could solve this :: in Scheherazade the glyph needed is named _wavyHamza <<< +P a / # _ > U+0623 +P a > U+0654 +P u > U+0655 +P o / # _ > U+0627 U+06C4 +P o > U+06C4 +P O / # _ > U+0627 U+06C4 U+0627 U+064E +P O > U+06C4 U+0627 U+064E +I > y U+0656 +I / _ # > y +U / _ # > U+0627 w U+0657 +U > w U+0657 + + +;; Persian ezafe (ALL BUT ARABIC AND UIGHUR) +U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<< +U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I +Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e +Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I +Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i +Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i +Z / U+0048 _ > U+0020 ; +b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI +[VWL]=v1 / BEG _ > U+0627 @v1 +Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U +; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I +Q?=q1 I / BEG _ > U+0627 @q1 i y + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m U+0627 Hy +m Q i H a / _ (T|t) > m U+0627 Hy a +m i H Q a / _ (T|t) > m i U+0627 Hy +m i H a / _ (T|t) > m i U+0627 Hy a + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +CO z CO z > U+0636 U+0651 ;;SHADDA +CO z > U+0636 +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Q Y Y > U+0649 U+0651 ;;SHADDA +Q Y > U+0649 +Y Y > U+064E U+0649 U+0651 ;;SHADDA +Y > U+064E U+0649 +;; .b with ring below : FIXME not in Unicode! but U+06EA is a poor replacement: +P y / # _ # > U+0627 U+06D2 U+06EA +P y / _ # > U+0649 +P y > U+066E U+06EA +;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots +y y > U+06CC U+0651 ;;SHADDA +y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +U A / _ # > U+064F U+0648 U+0627 +Q U [Uw] > U+0648 U+0651 ;;SHADDA +Q U > U+0648 +U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +U > U+064F U+0648 +w w > U+0648 U+0651 ;;SHADDA +w > U+0648 +Q u N? > +u N > U+064C +u > U+064F +V t V t > U+0679 U+0651 ;;SHADDA +V t > U+0679 ;urdu +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 ;;SHADDA +T Q AN > U+0629 +T AN > U+0629 U+064B +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0691 U+0651 ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+062C U+0651 ;;SHADDA +C g > U+062C +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+064A +I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +Q i N? > ; +i N > U+064D +i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+068A U+0651 ;;SHADDA +V d > U+068A +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0681 U+0651 ;;SHADDA +c > U+0681 ; ح with hamza above +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+064E U+0649 +UL a > U+0670 +UL u > U+064F; +UL i > U+0650; +Q AN / (A H|Ha) _ > ; +AN / (A H|Ha) _ > U+064B +Q AN > U+0627 +AN > U+0627 U+064B +Q a > +a > U+064E +Q A > U+0627 +A > U+064E U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArEasternDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +Q [VWL] > ;stripoff quoted vowels +Q > U+0652 +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +BAR > ;| + +pass(Unicode) + +Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-) +Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc. +Class [VWL] = (U+0627 U+0648..U+0650 U+0670); +Z > ; diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-kurdish.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-kurdish.map new file mode 100644 index 00000000000..c98b3f38b7d --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-kurdish.map @@ -0,0 +1,290 @@ +LHSName "ArabTeX-Kurdish" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define LLAH U+006C U+006C U+005F U+0061 U+0068 + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) + + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +(a|A) l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+FDF2 ;; 'll_ah' > U+FDF2 +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: + U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH' + U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL)' +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE)' +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels + +E / # _ > U+0626 U+06CE +E > U+06CE +e / # _ > U+0626 U+0647 U+200C ; h always final +e > U+0647 U+200C +i / # _ > U+0626 +Q i > U+0650 +i > ; +Q I / # _ > U+0626 U+064A U+0650 +Q I > U+064A U+0650 +I / # _ > U+0626 U+064A +I > U+064A +(a|A) / # _ > U+0626 U+0627 +(a|A) > U+0627 +(o|O) / # _ > U+0626 U+06C6 +(o|O) > U+06C6 +u / # _ > U+0626 U+0648 +u > U+0648 +U / # _ > U+0626 U+0648 U+0648 +U > U+0648 U+0648 +Ain e > U+0639 U+0647 U+200C + + +P z P z > U+0638 U+0651 ;;SHADDA +P z > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;pashto ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Y Y > U+0649 U+0651 ;;SHADDA +Y > U+0649 +w w > U+0648 U+0651 ;;SHADDA +w > U+0648 +y y > U+064A U+0651 ;;SHADDA +y > U+064A +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +V t V t > U+0679 U+0651 ; urdu ;;SHADDA +V t > U+0679 +UL t UL t > U+062B U+0651 ;;SHADDA +UL t > U+062B +P t P t > U+0637 U+0651 ;;SHADDA +P t > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +(C|V) s (C|V) s > U+0634 U+0651 ;;SHADDA +(C|V) s > U+0634 +P s P s > U+0635 U+0651 ;;SHADDA +P s > U+0635 +CO s CO s > U+069B U+0651 +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +;; also missing U+0694 : r with dot below +V r V r > U+0694 U+0651 ;Kurdish ;;SHADDA +V r > U+0694 +C r C r > U+0692 U+0651 ;Kurdish ;;SHADDA ; missing in ArabTeX <<< +C r > U+0692 +P r P r > U+0695 U+0651 ;Kurdish ;;SHADDA +P r > U+0695 +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ; urdu ;;SHADDA +P n > U+06BA ; +V n V n > U+06BC U+0651 ; Pashto +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;kurdish ;;SHADDA +C l > U+06B5 +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ; pashto urdu ;;SHADDA +P k > U+06A9 +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +c c > U+062C U+0651 ;;SHADDA +c > U+062C +x x > U+062E U+0651 ;;SHADDA +x > U+062E +j j > U+0698 U+0651 ;;SHADDA +j > U+0698 +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +P h P h > U+062D U+0651 ;;SHADDA +P h > U+062D +V h V h > U+06C1 U+0651 +V h > U+06C1 +h h > U+200C U+06BE U+0651 ;;SHADDA +h > U+200C U+06BE ; h always initial form +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P (g|x) P (g|x) > U+063A U+0651 ;;SHADDA +P (g|x) > U+063A +C g C g > U+063A U+0651 ;;SHADDA +C g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;pashto ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+0688 U+0651 ;urdu ;;SHADDA +V d > U+0688 ;urdu +C d C d > U+06EE ; not defined in ArabTeX U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +UL d UL d > U+0630 U+0651 ;;SHADDA +UL d > U+0630 +P d P d > U+0636 U+0651 ;;SHADDA +P d > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +(C|V) c (C|V) c > U+0686 U+0651 ;;SHADDA +(C|V) c > U+0686 +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H > U+0626 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / . _ . > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... +U+005B / . _ . > U+200D U+005B U+200D ; ... (but of course this screws up contextual analysis, so quoting of hamzas etc may be necessary) +Q > ; +N > ; +C > ;^ +Z > ;- +BAR > ;| + + diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-maghribi-fullvoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-maghribi-fullvoc.map new file mode 100644 index 00000000000..cb0e146df4f --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-maghribi-fullvoc.map @@ -0,0 +1,482 @@ +LHSName "ArabTeX-maghribi-fullvocalized" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+FDF2 ;; 'll_ah' > U+FDF2 +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: + U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH' + U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +CO O > U+06FC ; +a e > a y +a o > a w +CO U > U+06C7 ; +e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish) +o > u +E > I +O > U + + + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +H l Z / BEG _ > U+0671 l Z ; THIS IS NOT AN ARABTEX CONVENTION! it's a work-around coz pattern-matching across word boundaries does not work in teckit , so min al- must be written mina 'l- in fullvocalize mode +;; wasla on initial alif : NEW! NOT TESTED! +[VWL]=v1 Z / BEG _ > @v1 U+0671 ; THIS IS NOT AN ARABTEX CONVENTION! it's a work-around coz pattern-matching across word boundaries does not work in teckit , so huwa irtifA` must be written huwa i-rtifA` in fullvocalize mode +H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI +[VWL]=v1 / BEG _ > U+0627 @v1 +A / BEG _ > U+0627 a +Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U +; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I +Q?=q1 I / BEG _ > U+0627 @q1 i y + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m U+0627 Hy +m Q i H a / _ (T|t) > m U+0627 Hy a +m i H Q a / _ (T|t) > m i U+0627 Hy +m i H a / _ (T|t) > m i U+0627 Hy a + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Q Y Y > U+0649 U+0651 ;;SHADDA +Q Y > U+0649 +Y Y > U+064E U+0649 U+0651 ;;SHADDA +Y > U+064E U+0649 +P I P I / _ # > U+0650 U+06CC U+0651 ;; SHADDA +P I / _ # > U+0650 U+06CC ;; workaround to have ya without dots in Arabic +y y > U+064A U+0651 ;;SHADDA +y > U+064A +v v > U+06A5 U+0651 ;;SHADDA +v > U+06A5 ;; maghribi +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +U A / _ # > U+064F U+0648 U+0627 +Q U [Uw] > U+0648 U+0651 ;;SHADDA +Q U > U+0648 +U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +U > U+064F U+0648 +w w > U+0648 U+0651 ;;SHADDA +w > U+0648 +Q u N? > +u N > U+064C +u > U+064F +V t V t > U+0679 U+0651 ;;SHADDA +V t > U+0679 ;urdu +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 ;;SHADDA +T Q AN > U+0629 +T AN > U+0629 U+064B +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0691 U+0651 ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+06A7 U+0651 ;; maghribi +q > U+06A7 ;; maghribi +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+062C U+0651 ;;SHADDA +C g > U+062C +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+064A +I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +Q i N? > ; +i N > U+064D +i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+06A2 U+0651 ;; SHADDA +f > U+06A2 ;; maghribi +V d V d > U+068A U+0651 ;;SHADDA +V d > U+068A +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0681 U+0651 ;;SHADDA +c > U+0681 ; ح with hamza above +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+064E U+0649 +UL a > U+0670 +UL u > U+0657 ; inverted damma +UL i > U+0656 ; subscript alif +Q AN / (A H|Ha) _ > ; +AN / (A H|Ha) _ > U+064B +Q AN > U+0627 +AN > U+0627 U+064B +Q a > +a > U+064E +Q A > U+0627 +A > U+064E U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +Q [VWL] > ;stripoff quoted vowels +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +BAR > ;| + +pass(Unicode) + +Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-) +Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc. +Class [VWL] = (U+0627 U+0648..U+0650 U+0670); +[CONS]=k1 / _ Z? [CONS] ^U+0651 > @k1 U+0652 ; hack: 2nd consonant has no shadda +U+064E (U+064A|U+0648)=hc / _ (^[VWLX]|#) > U+064E @hc U+0652 ; ay and aw diphtongs +U+0627 [VWL]? / [VWL] Z _ > U+0671 ; e.g. fa-isti_hraj -> wasla on initial alif +U+0627 / # _ U+0644 > U+0627 U+064E ; otherwise initial alif takes fatha +[CONS]=k1 / _ ([CONS]|#) > @k1 U+0652 ; consonant + (consonant or final) +;; [CONS]=k1 / _ # > @k1 U+0652 ; final consonant +Q > ; +Z > ; diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-maghribi-fullvoc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-maghribi-fullvoc.tec index a1054efefa8..8710e3b387e 100644 Binary files a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-maghribi-fullvoc.tec and b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-maghribi-fullvoc.tec differ diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-maghribi-novoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-maghribi-novoc.map new file mode 100644 index 00000000000..304f32cf64a --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-maghribi-novoc.map @@ -0,0 +1,465 @@ +LHSName "ArabTeX-maghribi-novowels" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+FDF2 ;; 'll_ah' > U+FDF2 +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: + U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH' + U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +[AVWL] > ; strip off vowels when writing UTF-8 Arabic with novoc mode +CO O > U+06FC ; +a e > a y +a o > a w +CO U > U+06C7 ; +e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish) +o > u +E > I +O > U + + + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +H l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0627 ; +[VWL]=v1 / BEG _ > A @v1 +A / BEG _ > A a +Q?=q1 U / BEG _ > A @q1 u w ; -U +; Q?=q1 I / BEG _ > A @q1 i y ; -I ; but not when I is final FIXME!!! +Q?=q1 I / BEG _ > A @q1 i y ; except for Persian, coz of ezafe rules + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m Q i A Hy Q a +m Q i H a / _ (T|t) > m Q i A Hy +m i H Q a / _ (T|t) > m A Hy Q a +m i H a / _ (T|t) > m A Hy + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Y Y > U+0649 U+0651 ;;SHADDA +Y > U+0649 +P I P I / _ # > U+06CC U+0651 ;; SHADDA +P I / _ # > U+06CC ;; workaround to have ya without dots in Arabic +y y > U+064A U+0651 ;;SHADDA +y > U+064A +v v > U+06A5 U+0651 ;;SHADDA +v > U+06A5 ;; maghribi +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +Q U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +Q U > U+064F U+0648 +[Uw] [Uw] > U+0648 U+0651 ;;SHADDA +[Uw] > U+0648 +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +Q u N > U+064C +u N > +Q u > U+064F +V t V t > U+0679 U+0651 ;;SHADDA +V t > U+0679 ;urdu +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 U+064B ;;SHADDA +T Q AN > U+0629 U+064B +T AN > U+0629 +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0691 U+0651 ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+06A7 U+0651 ;; maghribi +q > U+06A7 ;; maghribi +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+062C U+0651 ;;SHADDA +C g > U+062C +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +I > U+064A +Q i N > U+064D +i N > ; +Q i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+06A2 U+0651 ;; SHADDA +f > U+06A2 ;; maghribi +V d V d > U+068A U+0651 ;;SHADDA +V d > U+068A +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0681 U+0651 ;;SHADDA +c > U+0681 ; ح with hamza above +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+0649 +UL a > U+0670 +UL u > U+0657 ; inverted damma +UL i > U+0656 ; subscript alif +Q AN / (A H|Ha) _ > U+064B +AN / (A H|Ha) _ > ; +Q AN > U+0627 U+064B +AN > U+0627 +Q a > U+064E +Q A > U+064E U+0627 +A > U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +[VWL] > ;stripoff vowels +Q > U+0652 +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +Z > ;- +BAR > ;| + diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-maghribi-novoc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-maghribi-novoc.tec index 3e073c9d211..4541204cd25 100644 Binary files a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-maghribi-novoc.tec and b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-maghribi-novoc.tec differ diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-maghribi-voc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-maghribi-voc.map new file mode 100644 index 00000000000..a6f76d42406 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-maghribi-voc.map @@ -0,0 +1,476 @@ +LHSName "ArabTeX-maghribi-vocalized" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+FDF2 ;; 'll_ah' > U+FDF2 +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: + U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH' + U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +CO O > U+06FC ; +a e > a y +a o > a w +CO U > U+06C7 ; +e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish) +o > u +E > I +O > U + + + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +H l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI +[VWL]=v1 / BEG _ > U+0627 @v1 +A / BEG _ > U+0627 a +Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U +; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I +Q?=q1 I / BEG _ > U+0627 @q1 i y + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m U+0627 Hy +m Q i H a / _ (T|t) > m U+0627 Hy a +m i H Q a / _ (T|t) > m i U+0627 Hy +m i H a / _ (T|t) > m i U+0627 Hy a + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Q Y Y > U+0649 U+0651 ;;SHADDA +Q Y > U+0649 +Y Y > U+064E U+0649 U+0651 ;;SHADDA +Y > U+064E U+0649 +P I P I / _ # > U+0650 U+06CC U+0651 ;; SHADDA +P I / _ # > U+0650 U+06CC ;; workaround to have ya without dots in Arabic +y y > U+064A U+0651 ;;SHADDA +y > U+064A +v v > U+06A5 U+0651 ;;SHADDA +v > U+06A5 ;; maghribi +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +U A / _ # > U+064F U+0648 U+0627 +Q U [Uw] > U+0648 U+0651 ;;SHADDA +Q U > U+0648 +U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +U > U+064F U+0648 +w w > U+0648 U+0651 ;;SHADDA +w > U+0648 +Q u N? > +u N > U+064C +u > U+064F +V t V t > U+0679 U+0651 ;;SHADDA +V t > U+0679 ;urdu +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 ;;SHADDA +T Q AN > U+0629 +T AN > U+0629 U+064B +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0691 U+0651 ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+06A7 U+0651 ;; maghribi +q > U+06A7 ;; maghribi +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+062C U+0651 ;;SHADDA +C g > U+062C +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+064A +I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +Q i N? > ; +i N > U+064D +i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+06A2 U+0651 ;; SHADDA +f > U+06A2 ;; maghribi +V d V d > U+068A U+0651 ;;SHADDA +V d > U+068A +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0681 U+0651 ;;SHADDA +c > U+0681 ; ح with hamza above +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+064E U+0649 +UL a > U+0670 +UL u > U+0657 ; inverted damma +UL i > U+0656 ; subscript alif +Q AN / (A H|Ha) _ > ; +AN / (A H|Ha) _ > U+064B +Q AN > U+0627 +AN > U+0627 U+064B +Q a > +a > U+064E +Q A > U+0627 +A > U+064E U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +Q [VWL] > ;stripoff quoted vowels +Q > U+0652 +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +BAR > ;| + +pass(Unicode) + +Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-) +Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc. +Class [VWL] = (U+0627 U+0648..U+0650 U+0670); +U+0627 [VWL]? / [VWL] Z _ > U+0627 ; e.g. fa-isti_hraj -> initial alif has no vowel +Z > ; diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-malay-fullvoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-malay-fullvoc.map new file mode 100644 index 00000000000..c1cf78a23a2 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-malay-fullvoc.map @@ -0,0 +1,485 @@ +LHSName "ArabTeX-malay-fullvocalized" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+FDF2 ;; 'll_ah' > U+FDF2 +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: + U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH' + U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +CO O > U+06FC ; +a e > a y +a o > a w +CO U > U+06C7 ; +e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish) +o > u + + +;; Persian ezafe (ALL BUT ARABIC AND UIGHUR) +U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<< +U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I +Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e +Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I +Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i +Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i +Z / U+0048 _ > U+0020 ; +b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI +[VWL]=v1 / BEG _ > U+0627 @v1 +Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U +; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I +Q?=q1 I / BEG _ > U+0627 @q1 i y + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m U+0627 Hy +m Q i H a / _ (T|t) > m U+0627 Hy a +m i H Q a / _ (T|t) > m i U+0627 Hy +m i H a / _ (T|t) > m i U+0627 Hy a + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Q Y Y > U+0649 U+0651 ;;SHADDA +Q Y > U+0649 +Y Y > U+064E U+0649 U+0651 ;;SHADDA +Y > U+064E U+0649 +P I P I / _ # > U+0650 U+06CC U+0651 ;; SHADDA +P I / _ # > U+0650 U+06CC ;; workaround to have ya without dots in Arabic +y y > U+064A U+0651 ;;SHADDA +y > U+064A +v v > U+06CF U+0651 ;;SHADDA +v > U+06CF +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +U A / _ # > U+064F U+0648 U+0627 +Q U [Uw] > U+0648 U+0651 ;;SHADDA +Q U > U+0648 +U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +U > U+064F U+0648 +w w > U+0648 U+0651 ;;SHADDA +w > U+0648 +Q u N? > +u N > U+064C +u > U+064F +V t V t > U+0679 U+0651 ;;SHADDA +V t > U+0679 ;urdu +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 ;;SHADDA +T Q AN > U+0629 +T AN > U+0629 U+064B +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0691 U+0651 ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+06A8 U+0651 ;;SHADDA +p > U+06A8 ;Old malay +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06BD U+0651 ;;SHADDA +C n > U+06BD ; <<< ArabTeX yields nūn with three dots below, which is not in Unicode! +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+06A0 U+0651 ;;SHADDA +C g > U+06A0 +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+064A +I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +Q i N? > ; +i N > U+064D +i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+0762 U+0651 ;;SHADDA +g > U+0762 +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+068A U+0651 ;;SHADDA +V d > U+068A +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0686 U+0651 ;;SHADDA +c > U+0686 +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+064E U+0649 +UL a > U+0670 +UL u > U+064F; +UL i > U+0650; +Q AN / (A H|Ha) _ > ; +AN / (A H|Ha) _ > U+064B +Q AN > U+0627 +AN > U+0627 U+064B +Q a > +a > U+064E +Q A > U+0627 +A > U+064E U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +Q [VWL] > ;stripoff quoted vowels +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +BAR > ;| + +pass(Unicode) + +Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-) +Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc. +Class [VWL] = (U+0627 U+0648..U+0650 U+0670); +[CONS]=k1 / _ Z? [CONS] ^U+0651 > @k1 U+0652 ; hack: 2nd consonant has no shadda +U+064E (U+064A|U+0648)=hc / _ (^[VWLX]|#) > U+064E @hc U+0652 ; ay and aw diphtongs +U+0627 / # _ U+0644 > U+0627 U+064E ; otherwise initial alif takes fatha +[CONS]=k1 / _ ([CONS]|#) > @k1 U+0652 ; consonant + (consonant or final) +;; [CONS]=k1 / _ # > @k1 U+0652 ; final consonant +Q > ; +Z > ; diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-malay-novoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-malay-novoc.map new file mode 100644 index 00000000000..7e4076dd309 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-malay-novoc.map @@ -0,0 +1,470 @@ +LHSName "ArabTeX-malay-novowels" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+FDF2 ;; 'll_ah' > U+FDF2 +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: + U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH' + U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +[AVWL] > ; strip off vowels when writing UTF-8 Arabic with novoc mode +CO O > U+06FC ; +a e > a y +a o > a w +CO U > U+06C7 ; +e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish) +o > u + + +;; Persian ezafe (ALL BUT ARABIC AND UIGHUR) +U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<< +U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I +Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e +Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I +Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i +Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i +Z / U+0048 _ > U+0020 ; +b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0627 ; +[VWL]=v1 / BEG _ > A @v1 +Q?=q1 U / BEG _ > A @q1 u w ; -U +; Q?=q1 I / BEG _ > A @q1 i y ; -I ; but not when I is final FIXME!!! +Q?=q1 I / BEG _ > A @q1 i y ; except for Persian, coz of ezafe rules + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m Q i A Hy Q a +m Q i H a / _ (T|t) > m Q i A Hy +m i H Q a / _ (T|t) > m A Hy Q a +m i H a / _ (T|t) > m A Hy + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Y Y > U+0649 U+0651 ;;SHADDA +Y > U+0649 +P I P I / _ # > U+06CC U+0651 ;; SHADDA +P I / _ # > U+06CC ;; workaround to have ya without dots in Arabic +y y > U+064A U+0651 ;;SHADDA +y > U+064A +v v > U+06CF U+0651 ;;SHADDA +v > U+06CF +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +Q U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +Q U > U+064F U+0648 +[Uw] [Uw] > U+0648 U+0651 ;;SHADDA +[Uw] > U+0648 +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +Q u N > U+064C +u N > +Q u > U+064F +V t V t > U+0679 U+0651 ;;SHADDA +V t > U+0679 ;urdu +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 U+064B ;;SHADDA +T Q AN > U+0629 U+064B +T AN > U+0629 +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0691 U+0651 ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+06A8 U+0651 ;;SHADDA +p > U+06A8 ;Old malay +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06BD U+0651 ;;SHADDA +C n > U+06BD ; <<< ArabTeX yields nūn with three dots below, which is not in Unicode! +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+06A0 U+0651 ;;SHADDA +C g > U+06A0 +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +I > U+064A +Q i N > U+064D +i N > ; +Q i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+0762 U+0651 ;;SHADDA +g > U+0762 +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+068A U+0651 ;;SHADDA +V d > U+068A +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0686 U+0651 ;;SHADDA +c > U+0686 +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+0649 +UL a > U+0670 +UL u > ; +UL i > ; +Q AN / (A H|Ha) _ > U+064B +AN / (A H|Ha) _ > ; +Q AN > U+0627 U+064B +AN > U+0627 +Q a > U+064E +Q A > U+064E U+0627 +A > U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +[VWL] > ;stripoff vowels +Q > U+0652 +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +Z > ;- +BAR > ;| + diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-malay-novoc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-malay-novoc.tec index 06b2d462540..4a6b8f92a3e 100644 Binary files a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-malay-novoc.tec and b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-malay-novoc.tec differ diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-malay-voc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-malay-voc.map new file mode 100644 index 00000000000..6f0f56dd139 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-malay-voc.map @@ -0,0 +1,480 @@ +LHSName "ArabTeX-malay-vocalized" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+FDF2 ;; 'll_ah' > U+FDF2 +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: + U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH' + U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +CO O > U+06FC ; +a e > a y +a o > a w +CO U > U+06C7 ; +e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish) +o > u + + +;; Persian ezafe (ALL BUT ARABIC AND UIGHUR) +U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<< +U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I +Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e +Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I +Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i +Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i +Z / U+0048 _ > U+0020 ; +b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI +[VWL]=v1 / BEG _ > U+0627 @v1 +Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U +; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I +Q?=q1 I / BEG _ > U+0627 @q1 i y + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m U+0627 Hy +m Q i H a / _ (T|t) > m U+0627 Hy a +m i H Q a / _ (T|t) > m i U+0627 Hy +m i H a / _ (T|t) > m i U+0627 Hy a + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Q Y Y > U+0649 U+0651 ;;SHADDA +Q Y > U+0649 +Y Y > U+064E U+0649 U+0651 ;;SHADDA +Y > U+064E U+0649 +P I P I / _ # > U+0650 U+06CC U+0651 ;; SHADDA +P I / _ # > U+0650 U+06CC ;; workaround to have ya without dots in Arabic +y y > U+064A U+0651 ;;SHADDA +y > U+064A +v v > U+06CF U+0651 ;;SHADDA +v > U+06CF +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +U A / _ # > U+064F U+0648 U+0627 +Q U [Uw] > U+0648 U+0651 ;;SHADDA +Q U > U+0648 +U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +U > U+064F U+0648 +w w > U+0648 U+0651 ;;SHADDA +w > U+0648 +Q u N? > +u N > U+064C +u > U+064F +V t V t > U+0679 U+0651 ;;SHADDA +V t > U+0679 ;urdu +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 ;;SHADDA +T Q AN > U+0629 +T AN > U+0629 U+064B +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0691 U+0651 ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+06A8 U+0651 ;;SHADDA +p > U+06A8 ;Old malay +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06BD U+0651 ;;SHADDA +C n > U+06BD ; <<< ArabTeX yields nūn with three dots below, which is not in Unicode! +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+06A0 U+0651 ;;SHADDA +C g > U+06A0 +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+064A +I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +Q i N? > ; +i N > U+064D +i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+0762 U+0651 ;;SHADDA +g > U+0762 +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+068A U+0651 ;;SHADDA +V d > U+068A +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0686 U+0651 ;;SHADDA +c > U+0686 +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+064E U+0649 +UL a > U+0670 +UL u > U+064F; +UL i > U+0650; +Q AN / (A H|Ha) _ > ; +AN / (A H|Ha) _ > U+064B +Q AN > U+0627 +AN > U+0627 U+064B +Q a > +a > U+064E +Q A > U+0627 +A > U+064E U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +Q [VWL] > ;stripoff quoted vowels +Q > U+0652 +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +BAR > ;| + +pass(Unicode) + +Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-) +Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc. +Class [VWL] = (U+0627 U+0648..U+0650 U+0670); +Z > ; diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-novoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-novoc.map new file mode 100644 index 00000000000..027f959c45f --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-novoc.map @@ -0,0 +1,465 @@ +LHSName "ArabTeX-novowels" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+FDF2 ;; 'll_ah' > U+FDF2 +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: + U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH' + U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +[AVWL] > ; strip off vowels when writing UTF-8 Arabic with novoc mode +CO O > U+06FC ; +a e > a y +a o > a w +CO U > U+06C7 ; +e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish) +o > u +E > I +O > U + + + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +H l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0627 ; +[VWL]=v1 / BEG _ > A @v1 +A / BEG _ > A a +Q?=q1 U / BEG _ > A @q1 u w ; -U +; Q?=q1 I / BEG _ > A @q1 i y ; -I ; but not when I is final FIXME!!! +Q?=q1 I / BEG _ > A @q1 i y ; except for Persian, coz of ezafe rules + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m Q i A Hy Q a +m Q i H a / _ (T|t) > m Q i A Hy +m i H Q a / _ (T|t) > m A Hy Q a +m i H a / _ (T|t) > m A Hy + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Y Y > U+0649 U+0651 ;;SHADDA +Y > U+0649 +P I P I / _ # > U+06CC U+0651 ;; SHADDA +P I / _ # > U+06CC ;; workaround to have ya without dots in Arabic +y y > U+064A U+0651 ;;SHADDA +y > U+064A +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +Q U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +Q U > U+064F U+0648 +[Uw] [Uw] > U+0648 U+0651 ;;SHADDA +[Uw] > U+0648 +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +Q u N > U+064C +u N > +Q u > U+064F +V t V t > U+0679 U+0651 ;;SHADDA +V t > U+0679 ;urdu +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 U+064B ;;SHADDA +T Q AN > U+0629 U+064B +T AN > U+0629 +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0691 U+0651 ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+062C U+0651 ;;SHADDA +C g > U+062C +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +I > U+064A +Q i N > U+064D +i N > ; +Q i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+068A U+0651 ;;SHADDA +V d > U+068A +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0681 U+0651 ;;SHADDA +c > U+0681 ; ح with hamza above +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+0649 +UL a > U+0670 +UL u > U+0657 ; inverted damma +UL i > U+0656 ; subscript alif +Q AN / (A H|Ha) _ > U+064B +AN / (A H|Ha) _ > ; +Q AN > U+0627 U+064B +AN > U+0627 +Q a > U+064E +Q A > U+064E U+0627 +A > U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +[VWL] > ;stripoff vowels +Q > U+0652 +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +Z > ;- +BAR > ;| + diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-novoc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-novoc.tec index 9044e5be017..ba62340d6b3 100644 Binary files a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-novoc.tec and b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-novoc.tec differ diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-pashto-fullvoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-pashto-fullvoc.map new file mode 100644 index 00000000000..0b1057d5908 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-pashto-fullvoc.map @@ -0,0 +1,491 @@ +LHSName "ArabTeX-pashto-fullvocalized" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+FDF2 ;; 'll_ah' > U+FDF2 +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: + U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH' + U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +a e > a U+0626 +E e > U+0659 U+06CD +e e > U+0659 U+0626 +E > U+0659 U+06D0 +CO O > U+06FC ; +O > U+0657 w +o > U+0657 +a o > a w +CO U > U+06C7 ; +e > U+0659 +I / _ # > i y + + +;; Persian ezafe (ALL BUT ARABIC AND UIGHUR) +U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<< +U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I +Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e +Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I +Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i +Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i +Z / U+0048 _ > U+0020 ; +b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI +[VWL]=v1 / BEG _ > U+0627 @v1 +Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U +; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I +Q?=q1 I / BEG _ > U+0627 @q1 i y + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m U+0627 Hy +m Q i H a / _ (T|t) > m U+0627 Hy a +m i H Q a / _ (T|t) > m i U+0627 Hy +m i H a / _ (T|t) > m i U+0627 Hy a + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Q Y Y > U+0649 U+0651 ;;SHADDA +Q Y > U+0649 +Y Y > U+064E U+0649 U+0651 ;;SHADDA +Y > U+064E U+0649 +;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots +y y > U+06CC U+0651 ;;SHADDA +y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +U A / _ # > U+064F U+0648 U+0627 +Q U [Uw] > U+0648 U+0651 ;;SHADDA +Q U > U+0648 +U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +U > U+064F U+0648 +w w > U+0648 U+0651 ;;SHADDA +w > U+0648 +Q u N? > +u N > U+064C +u > U+064F +V t V t > U+067C U+0651 ;;SHADDA +V t > U+067C ; pashto +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 ;;SHADDA +T Q AN > U+0629 +T AN > U+0629 U+064B +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0693 U+0651 ;;SHADDA +V r > U+0693 ;Pashto +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+062C U+0651 ;;SHADDA +C g > U+062C +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+064A +I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +Q i N? > ; +i N > U+064D +i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +U+0048 Z > U+0647 U+200C U+0020 ;eH-suffix > eH suffix +U+0048 > U+0647 U+200C ; H is always heh final +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+0689 U+0651 ;;SHADDA +V d > U+0689 ;pashto +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0681 U+0651 ;;SHADDA +c > U+0681 ; ح with hamza above +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+064E U+0649 +UL a > U+0670 +UL u > U+064F; +UL i > U+0650; +Q AN / (A H|Ha) _ > ; +AN / (A H|Ha) _ > U+064B +Q AN > U+0627 +AN > U+0627 U+064B +Q a > +a > U+064E +Q A > U+0627 +A > U+064E U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArEasternDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +Q [VWL] > ;stripoff quoted vowels +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +BAR > ;| + +pass(Unicode) + +Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-) +Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc. +Class [VWL] = (U+0627 U+0648..U+0650 U+0670); +[CONS]=k1 / _ Z? [CONS] ^U+0651 > @k1 U+0652 ; hack: 2nd consonant has no shadda +U+064E (U+064A|U+0648)=hc / _ (^[VWLX]|#) > U+064E @hc U+0652 ; ay and aw diphtongs +U+0627 / # _ U+0644 > U+0627 U+064E ; otherwise initial alif takes fatha +[CONS]=k1 / _ ([CONS]|#) > @k1 U+0652 ; consonant + (consonant or final) +;; [CONS]=k1 / _ # > @k1 U+0652 ; final consonant +Q > ; +Z > ; diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-pashto-novoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-pashto-novoc.map new file mode 100644 index 00000000000..a3588c87c53 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-pashto-novoc.map @@ -0,0 +1,476 @@ +LHSName "ArabTeX-pashto-novowels" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+FDF2 ;; 'll_ah' > U+FDF2 +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: + U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH' + U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +[AVWL] > ; strip off vowels when writing UTF-8 Arabic with novoc mode +a e > a U+0626 +E e > U+0659 U+06CD +e e > U+0659 U+0626 +E > U+0659 U+06D0 +CO O > U+06FC ; +O > U+0657 w +o > U+0657 +a o > a w +CO U > U+06C7 ; +e > U+0659 +I / _ # > i y + + +;; Persian ezafe (ALL BUT ARABIC AND UIGHUR) +U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<< +U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I +Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e +Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I +Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i +Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i +Z / U+0048 _ > U+0020 ; +b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0627 ; +[VWL]=v1 / BEG _ > A @v1 +Q?=q1 U / BEG _ > A @q1 u w ; -U +; Q?=q1 I / BEG _ > A @q1 i y ; -I ; but not when I is final FIXME!!! +Q?=q1 I / BEG _ > A @q1 i y ; except for Persian, coz of ezafe rules + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m Q i A Hy Q a +m Q i H a / _ (T|t) > m Q i A Hy +m i H Q a / _ (T|t) > m A Hy Q a +m i H a / _ (T|t) > m A Hy + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Y Y > U+0649 U+0651 ;;SHADDA +Y > U+0649 +;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots +y y > U+06CC U+0651 ;;SHADDA +y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +Q U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +Q U > U+064F U+0648 +[Uw] [Uw] > U+0648 U+0651 ;;SHADDA +[Uw] > U+0648 +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +Q u N > U+064C +u N > +Q u > U+064F +V t V t > U+067C U+0651 ;;SHADDA +V t > U+067C ; pashto +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 U+064B ;;SHADDA +T Q AN > U+0629 U+064B +T AN > U+0629 +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0693 U+0651 ;;SHADDA +V r > U+0693 ;Pashto +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+062C U+0651 ;;SHADDA +C g > U+062C +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +I > U+064A +Q i N > U+064D +i N > ; +Q i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +U+0048 Z > U+0647 U+200C U+0020 ;eH-suffix > eH suffix +U+0048 > U+0647 U+200C ; H is always heh final +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+0689 U+0651 ;;SHADDA +V d > U+0689 ;pashto +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0681 U+0651 ;;SHADDA +c > U+0681 ; ح with hamza above +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+0649 +UL a > U+0670 +UL u > ; +UL i > ; +Q AN / (A H|Ha) _ > U+064B +AN / (A H|Ha) _ > ; +Q AN > U+0627 U+064B +AN > U+0627 +Q a > U+064E +Q A > U+064E U+0627 +A > U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArEasternDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +[VWL] > ;stripoff vowels +Q > U+0652 +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +Z > ;- +BAR > ;| + diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-pashto-novoc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-pashto-novoc.tec index bb6f98c2556..d05a8143417 100644 Binary files a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-pashto-novoc.tec and b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-pashto-novoc.tec differ diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-pashto-voc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-pashto-voc.map new file mode 100644 index 00000000000..e76a8ec86d1 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-pashto-voc.map @@ -0,0 +1,486 @@ +LHSName "ArabTeX-pashto-vocalized" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+FDF2 ;; 'll_ah' > U+FDF2 +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: + U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH' + U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +a e > a U+0626 +E e > U+0659 U+06CD +e e > U+0659 U+0626 +E > U+0659 U+06D0 +CO O > U+06FC ; +O > U+0657 w +o > U+0657 +a o > a w +CO U > U+06C7 ; +e > U+0659 +I / _ # > i y + + +;; Persian ezafe (ALL BUT ARABIC AND UIGHUR) +U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<< +U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I +Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e +Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I +Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i +Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i +Z / U+0048 _ > U+0020 ; +b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI +[VWL]=v1 / BEG _ > U+0627 @v1 +Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U +; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I +Q?=q1 I / BEG _ > U+0627 @q1 i y + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m U+0627 Hy +m Q i H a / _ (T|t) > m U+0627 Hy a +m i H Q a / _ (T|t) > m i U+0627 Hy +m i H a / _ (T|t) > m i U+0627 Hy a + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Q Y Y > U+0649 U+0651 ;;SHADDA +Q Y > U+0649 +Y Y > U+064E U+0649 U+0651 ;;SHADDA +Y > U+064E U+0649 +;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots +y y > U+06CC U+0651 ;;SHADDA +y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +U A / _ # > U+064F U+0648 U+0627 +Q U [Uw] > U+0648 U+0651 ;;SHADDA +Q U > U+0648 +U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +U > U+064F U+0648 +w w > U+0648 U+0651 ;;SHADDA +w > U+0648 +Q u N? > +u N > U+064C +u > U+064F +V t V t > U+067C U+0651 ;;SHADDA +V t > U+067C ; pashto +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 ;;SHADDA +T Q AN > U+0629 +T AN > U+0629 U+064B +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0693 U+0651 ;;SHADDA +V r > U+0693 ;Pashto +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+062C U+0651 ;;SHADDA +C g > U+062C +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+064A +I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +Q i N? > ; +i N > U+064D +i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +U+0048 Z > U+0647 U+200C U+0020 ;eH-suffix > eH suffix +U+0048 > U+0647 U+200C ; H is always heh final +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+0689 U+0651 ;;SHADDA +V d > U+0689 ;pashto +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0681 U+0651 ;;SHADDA +c > U+0681 ; ح with hamza above +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+064E U+0649 +UL a > U+0670 +UL u > U+064F; +UL i > U+0650; +Q AN / (A H|Ha) _ > ; +AN / (A H|Ha) _ > U+064B +Q AN > U+0627 +AN > U+0627 U+064B +Q a > +a > U+064E +Q A > U+0627 +A > U+064E U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArEasternDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +Q [VWL] > ;stripoff quoted vowels +Q > U+0652 +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +BAR > ;| + +pass(Unicode) + +Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-) +Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc. +Class [VWL] = (U+0627 U+0648..U+0650 U+0670); +Z > ; diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-sindhi-fullvoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-sindhi-fullvoc.map new file mode 100644 index 00000000000..8c9fbcc7722 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-sindhi-fullvoc.map @@ -0,0 +1,461 @@ +LHSName "ArabTeX-sindhi-fullvocalized" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+FDF2 ;; 'll_ah' > U+FDF2 +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: + U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH' + U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +CO O > U+06FC ; +a e > a y +a o > a w +(o|u)? O / # _ > U+0627 w +(o|u)? O > w +CO U > U+06C7 ; +e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish) +o > u + + +;; Persian ezafe (ALL BUT ARABIC AND UIGHUR) +U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<< +U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I +Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e +Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I +Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i +Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i +Z / U+0048 _ > U+0020 ; +b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI +[VWL]=v1 / BEG _ > U+0627 @v1 +Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U +; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I +Q?=q1 I / BEG _ > U+0627 @q1 i y + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m U+0627 Hy +m Q i H a / _ (T|t) > m U+0627 Hy a +m i H Q a / _ (T|t) > m i U+0627 Hy +m i H a / _ (T|t) > m i U+0627 Hy a + + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + +;; special code for sindhi +;; U+004D U+0049 U+004E > U+06FE ; define macro \MIN in sindhi env +P m I N > U+06FE ; .mIN +;; U+0049 U+004E > U+06FD ; IN define macro \IN in sindhi env +H BAR I N > U+06FD ; '|IN + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Q Y Y > U+0649 U+0651 ;;SHADDA +Q Y > U+0649 +Y Y > U+064E U+0649 U+0651 ;;SHADDA +Y > U+064E U+0649 +P I P I / _ # > U+0650 U+06CC U+0651 ;; SHADDA +P I / _ # > U+0650 U+06CC ;; workaround to have ya without dots in Arabic +y y > U+064A U+0651 ;;SHADDA +y > U+064A +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +U A / _ # > U+064F U+0648 U+0627 +Q U [Uw] > U+0648 U+0651 ;;SHADDA +Q U > U+0648 +U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +U > U+064F U+0648 +w w > U+0648 U+0651 ;;SHADDA +w > U+0648 +Q u N? > +u N > U+064C +u > U+064F +V t h V t h > U+067A U+0651 ;;SHADDA +V t h > U+067A +t h t h > U+067F U+0651 ;;SHADDA +t h > U+067F +V t V t > U+067D U+0651 ;;SHADDA +V t > U+067D +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 ;;SHADDA +T Q AN > U+0629 +T AN > U+0629 U+064B +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0699 U+0651 ;;SHADDA +V r > U+0699 +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p h p h > U+06A6 U+0651 ;;SHADDA +p h > U+06A6 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+0683 U+0651 ;;SHADDA +C n > U+0683 +P P n P P n > U+06B2 U+0651 ;;SHADDA +P P n > U+06B2 ;; old sindhi? (not in ArabTeX) <<< +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BB U+0651 ;;SHADDA +V n > U+06BB +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +k h k h > U+06A9 U+0651 ;;SHADDA +k h > U+06A9 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+06AA U+0651 ;;SHADDA +k > U+06AA ; kaf swash +C g C g > U+062C U+0651 ;;SHADDA +C g > U+062C +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+064A +I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +Q i N? > ; +i N > U+064D +i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+06BE U+0651 ;;SHADDA +h > U+06BE +P CO g P CO g > U+06B4 U+0651 ;;SHADDA +P CO g > U+06B4 ;; old sindhi? (not in ArabTeX) <<< +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d h V d h > U+068D U+0651 ;;SHADDA +V d h > U+068D +V d V d > U+068A U+0651 ;;SHADDA +V d > U+068A +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +d h d h > U+068C U+0651 ;;SHADDA +d h > U+068C +C d C d > U+068E ;;SHADDA +C d > U+068E ; old sindhi: not in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +C c h C c h > U+0687 U+0651 ;;SHADDA +C c h > U+0687 +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0681 U+0651 ;;SHADDA +c > U+0681 ; ح with hamza above +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +b h b h > U+0680 U+0651 ;;SHADDA +b h > U+0680 +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+064E U+0649 +UL a > U+0670 +UL u > U+064F; +UL i > U+0650; +Q AN / (A H|Ha) _ > ; +AN / (A H|Ha) _ > U+064B +Q AN > U+0627 +AN > U+0627 U+064B +Q a > +a > U+064E +Q A > U+0627 +A > U+064E U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArEasternDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +Q [VWL] > ;stripoff quoted vowels +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +BAR > ;| + +pass(Unicode) + +Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-) +Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc. +Class [VWL] = (U+0627 U+0648..U+0650 U+0670); +[CONS]=k1 / _ Z? [CONS] ^U+0651 > @k1 U+0652 ; hack: 2nd consonant has no shadda +U+064E (U+064A|U+0648)=hc / _ (^[VWLX]|#) > U+064E @hc U+0652 ; ay and aw diphtongs +U+0627 / # _ U+0644 > U+0627 U+064E ; otherwise initial alif takes fatha +[CONS]=k1 / _ ([CONS]|#) > @k1 U+0652 ; consonant + (consonant or final) +;; [CONS]=k1 / _ # > @k1 U+0652 ; final consonant +Q > ; +Z > ; diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-sindhi-fullvoc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-sindhi-fullvoc.tec index ec7e77ac20d..34b9a0e1d72 100644 Binary files a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-sindhi-fullvoc.tec and b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-sindhi-fullvoc.tec differ diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-sindhi-novoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-sindhi-novoc.map new file mode 100644 index 00000000000..4e03d67e8cf --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-sindhi-novoc.map @@ -0,0 +1,446 @@ +LHSName "ArabTeX-sindhi-novowels" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+FDF2 ;; 'll_ah' > U+FDF2 +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: + U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH' + U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +[AVWL] > ; strip off vowels when writing UTF-8 Arabic with novoc mode +CO O > U+06FC ; +a e > a y +a o > a w +(o|u)? O / # _ > U+0627 w +(o|u)? O > w +CO U > U+06C7 ; +e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish) +o > u + + +;; Persian ezafe (ALL BUT ARABIC AND UIGHUR) +U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<< +U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I +Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e +Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I +Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i +Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i +Z / U+0048 _ > U+0020 ; +b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0627 ; +[VWL]=v1 / BEG _ > A @v1 +Q?=q1 U / BEG _ > A @q1 u w ; -U +; Q?=q1 I / BEG _ > A @q1 i y ; -I ; but not when I is final FIXME!!! +Q?=q1 I / BEG _ > A @q1 i y ; except for Persian, coz of ezafe rules + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m Q i A Hy Q a +m Q i H a / _ (T|t) > m Q i A Hy +m i H Q a / _ (T|t) > m A Hy Q a +m i H a / _ (T|t) > m A Hy + + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + +;; special code for sindhi +;; U+004D U+0049 U+004E > U+06FE ; define macro \MIN in sindhi env +P m I N > U+06FE ; .mIN +;; U+0049 U+004E > U+06FD ; IN define macro \IN in sindhi env +H BAR I N > U+06FD ; '|IN + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Y Y > U+0649 U+0651 ;;SHADDA +Y > U+0649 +P I P I / _ # > U+06CC U+0651 ;; SHADDA +P I / _ # > U+06CC ;; workaround to have ya without dots in Arabic +y y > U+064A U+0651 ;;SHADDA +y > U+064A +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +Q U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +Q U > U+064F U+0648 +[Uw] [Uw] > U+0648 U+0651 ;;SHADDA +[Uw] > U+0648 +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +Q u N > U+064C +u N > +Q u > U+064F +V t h V t h > U+067A U+0651 ;;SHADDA +V t h > U+067A +t h t h > U+067F U+0651 ;;SHADDA +t h > U+067F +V t V t > U+067D U+0651 ;;SHADDA +V t > U+067D +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 U+064B ;;SHADDA +T Q AN > U+0629 U+064B +T AN > U+0629 +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0699 U+0651 ;;SHADDA +V r > U+0699 +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p h p h > U+06A6 U+0651 ;;SHADDA +p h > U+06A6 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+0683 U+0651 ;;SHADDA +C n > U+0683 +P P n P P n > U+06B2 U+0651 ;;SHADDA +P P n > U+06B2 ;; old sindhi? (not in ArabTeX) <<< +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BB U+0651 ;;SHADDA +V n > U+06BB +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +k h k h > U+06A9 U+0651 ;;SHADDA +k h > U+06A9 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+06AA U+0651 ;;SHADDA +k > U+06AA ; kaf swash +C g C g > U+062C U+0651 ;;SHADDA +C g > U+062C +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +I > U+064A +Q i N > U+064D +i N > ; +Q i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+06BE U+0651 ;;SHADDA +h > U+06BE +P CO g P CO g > U+06B4 U+0651 ;;SHADDA +P CO g > U+06B4 ;; old sindhi? (not in ArabTeX) <<< +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d h V d h > U+068D U+0651 ;;SHADDA +V d h > U+068D +V d V d > U+068A U+0651 ;;SHADDA +V d > U+068A +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +d h d h > U+068C U+0651 ;;SHADDA +d h > U+068C +C d C d > U+068E ;;SHADDA +C d > U+068E ; old sindhi: not in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +C c h C c h > U+0687 U+0651 ;;SHADDA +C c h > U+0687 +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0681 U+0651 ;;SHADDA +c > U+0681 ; ح with hamza above +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +b h b h > U+0680 U+0651 ;;SHADDA +b h > U+0680 +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+0649 +UL a > U+0670 +UL u > ; +UL i > ; +Q AN / (A H|Ha) _ > U+064B +AN / (A H|Ha) _ > ; +Q AN > U+0627 U+064B +AN > U+0627 +Q a > U+064E +Q A > U+064E U+0627 +A > U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArEasternDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +[VWL] > ;stripoff vowels +Q > U+0652 +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +Z > ;- +BAR > ;| + diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-sindhi-novoc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-sindhi-novoc.tec index 50cbd2b3af4..6e8fc3767c1 100644 Binary files a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-sindhi-novoc.tec and b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-sindhi-novoc.tec differ diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-sindhi-voc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-sindhi-voc.map new file mode 100644 index 00000000000..7acfe951345 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-sindhi-voc.map @@ -0,0 +1,456 @@ +LHSName "ArabTeX-sindhi-vocalized" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+FDF2 ;; 'll_ah' > U+FDF2 +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: + U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH' + U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +CO O > U+06FC ; +a e > a y +a o > a w +(o|u)? O / # _ > U+0627 w +(o|u)? O > w +CO U > U+06C7 ; +e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish) +o > u + + +;; Persian ezafe (ALL BUT ARABIC AND UIGHUR) +U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<< +U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I +Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e +Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I +Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i +Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i +Z / U+0048 _ > U+0020 ; +b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI +[VWL]=v1 / BEG _ > U+0627 @v1 +Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U +; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I +Q?=q1 I / BEG _ > U+0627 @q1 i y + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m U+0627 Hy +m Q i H a / _ (T|t) > m U+0627 Hy a +m i H Q a / _ (T|t) > m i U+0627 Hy +m i H a / _ (T|t) > m i U+0627 Hy a + + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + +;; special code for sindhi +;; U+004D U+0049 U+004E > U+06FE ; define macro \MIN in sindhi env +P m I N > U+06FE ; .mIN +;; U+0049 U+004E > U+06FD ; IN define macro \IN in sindhi env +H BAR I N > U+06FD ; '|IN + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Q Y Y > U+0649 U+0651 ;;SHADDA +Q Y > U+0649 +Y Y > U+064E U+0649 U+0651 ;;SHADDA +Y > U+064E U+0649 +P I P I / _ # > U+0650 U+06CC U+0651 ;; SHADDA +P I / _ # > U+0650 U+06CC ;; workaround to have ya without dots in Arabic +y y > U+064A U+0651 ;;SHADDA +y > U+064A +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +U A / _ # > U+064F U+0648 U+0627 +Q U [Uw] > U+0648 U+0651 ;;SHADDA +Q U > U+0648 +U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +U > U+064F U+0648 +w w > U+0648 U+0651 ;;SHADDA +w > U+0648 +Q u N? > +u N > U+064C +u > U+064F +V t h V t h > U+067A U+0651 ;;SHADDA +V t h > U+067A +t h t h > U+067F U+0651 ;;SHADDA +t h > U+067F +V t V t > U+067D U+0651 ;;SHADDA +V t > U+067D +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 ;;SHADDA +T Q AN > U+0629 +T AN > U+0629 U+064B +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0699 U+0651 ;;SHADDA +V r > U+0699 +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p h p h > U+06A6 U+0651 ;;SHADDA +p h > U+06A6 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+0683 U+0651 ;;SHADDA +C n > U+0683 +P P n P P n > U+06B2 U+0651 ;;SHADDA +P P n > U+06B2 ;; old sindhi? (not in ArabTeX) <<< +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BB U+0651 ;;SHADDA +V n > U+06BB +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +k h k h > U+06A9 U+0651 ;;SHADDA +k h > U+06A9 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+06AA U+0651 ;;SHADDA +k > U+06AA ; kaf swash +C g C g > U+062C U+0651 ;;SHADDA +C g > U+062C +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+064A +I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +Q i N? > ; +i N > U+064D +i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+06BE U+0651 ;;SHADDA +h > U+06BE +P CO g P CO g > U+06B4 U+0651 ;;SHADDA +P CO g > U+06B4 ;; old sindhi? (not in ArabTeX) <<< +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d h V d h > U+068D U+0651 ;;SHADDA +V d h > U+068D +V d V d > U+068A U+0651 ;;SHADDA +V d > U+068A +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +d h d h > U+068C U+0651 ;;SHADDA +d h > U+068C +C d C d > U+068E ;;SHADDA +C d > U+068E ; old sindhi: not in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +C c h C c h > U+0687 U+0651 ;;SHADDA +C c h > U+0687 +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0681 U+0651 ;;SHADDA +c > U+0681 ; ح with hamza above +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +b h b h > U+0680 U+0651 ;;SHADDA +b h > U+0680 +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+064E U+0649 +UL a > U+0670 +UL u > U+064F; +UL i > U+0650; +Q AN / (A H|Ha) _ > ; +AN / (A H|Ha) _ > U+064B +Q AN > U+0627 +AN > U+0627 U+064B +Q a > +a > U+064E +Q A > U+0627 +A > U+064E U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArEasternDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +Q [VWL] > ;stripoff quoted vowels +Q > U+0652 +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +BAR > ;| + +pass(Unicode) + +Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-) +Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc. +Class [VWL] = (U+0627 U+0648..U+0650 U+0670); +Z > ; diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-sindhi-voc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-sindhi-voc.tec index 2d3266d2610..7583ec76be2 100644 Binary files a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-sindhi-voc.tec and b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-sindhi-voc.tec differ diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-turk-fullvoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-turk-fullvoc.map new file mode 100644 index 00000000000..62aa619b8e9 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-turk-fullvoc.map @@ -0,0 +1,485 @@ +LHSName "ArabTeX-turk-fullvocalized" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+FDF2 ;; 'll_ah' > U+FDF2 +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: + U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH' + U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +CO O > U+06FC ; +a e > a y +a o > a w +CO U > U+06C7 ; +e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish) +o > u +I / _ # > i y + + +;; Persian ezafe (ALL BUT ARABIC AND UIGHUR) +U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<< +U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I +Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e +Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I +Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i +Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i +Z / U+0048 _ > U+0020 ; +b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI +[VWL]=v1 / BEG _ > U+0627 @v1 +Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U +; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I +Q?=q1 I / BEG _ > U+0627 @q1 i y + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m U+0627 Hy +m Q i H a / _ (T|t) > m U+0627 Hy a +m i H Q a / _ (T|t) > m i U+0627 Hy +m i H a / _ (T|t) > m i U+0627 Hy a + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0636 U+0651 ;;SHADDA +V z > U+0636 +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Q Y Y > U+0649 U+0651 ;;SHADDA +Q Y > U+0649 +Y Y > U+064E U+0649 U+0651 ;;SHADDA +Y > U+064E U+0649 +;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots +y y > U+06CC U+0651 ;;SHADDA +y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +U A / _ # > U+064F U+0648 U+0627 +Q U [Uw] > U+0648 U+0651 ;;SHADDA +Q U > U+0648 +U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +U > U+064F U+0648 +w w > U+0648 U+0651 ;;SHADDA +w > U+0648 +Q u N? > +u N > U+064C +u > U+064F +V t V t > U+0679 U+0651 ;;SHADDA +V t > U+0679 ;urdu +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 ;;SHADDA +T Q AN > U+0629 +T AN > U+0629 U+064B +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+0634 U+0651 ;;SHADDA +V s > U+0634 +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0691 U+0651 ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+0642 U+0651 ;;SHADDA +P k > U+0642 ; Ottoman qaf +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+06A0 U+0651 ;;SHADDA +C g > U+06A0 +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+0698 U+0651 ;;SHADDA +j > U+0698 +Q I > U+064A +I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +Q i N? > ; +i N > U+064D +i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+068A U+0651 ;;SHADDA +V d > U+068A +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0686 U+0651 ;;SHADDA +V c > U+0686 ; Ottoman ç +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+062C U+0651 ;;SHADDA +c > U+062C +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+064E U+0649 +UL a > U+0670 +UL u > U+064F; +UL i > U+0650; +Q AN / (A H|Ha) _ > ; +AN / (A H|Ha) _ > U+064B +Q AN > U+0627 +AN > U+0627 U+064B +Q a > +a > U+064E +Q A > U+0627 +A > U+064E U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +Q [VWL] > ;stripoff quoted vowels +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +BAR > ;| + +pass(Unicode) + +Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-) +Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc. +Class [VWL] = (U+0627 U+0648..U+0650 U+0670); +[CONS]=k1 / _ Z? [CONS] ^U+0651 > @k1 U+0652 ; hack: 2nd consonant has no shadda +U+064E (U+064A|U+0648)=hc / _ (^[VWLX]|#) > U+064E @hc U+0652 ; ay and aw diphtongs +U+0627 / # _ U+0644 > U+0627 U+064E ; otherwise initial alif takes fatha +[CONS]=k1 / _ ([CONS]|#) > @k1 U+0652 ; consonant + (consonant or final) +;; [CONS]=k1 / _ # > @k1 U+0652 ; final consonant +Q > ; +Z > ; diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-turk-novoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-turk-novoc.map new file mode 100644 index 00000000000..824eab5c57d --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-turk-novoc.map @@ -0,0 +1,470 @@ +LHSName "ArabTeX-turk-novowels" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+FDF2 ;; 'll_ah' > U+FDF2 +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: + U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH' + U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +[AVWL] > ; strip off vowels when writing UTF-8 Arabic with novoc mode +CO O > U+06FC ; +a e > a y +a o > a w +CO U > U+06C7 ; +e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish) +o > u +I / _ # > i y + + +;; Persian ezafe (ALL BUT ARABIC AND UIGHUR) +U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<< +U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I +Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e +Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I +Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i +Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i +Z / U+0048 _ > U+0020 ; +b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0627 ; +[VWL]=v1 / BEG _ > A @v1 +Q?=q1 U / BEG _ > A @q1 u w ; -U +; Q?=q1 I / BEG _ > A @q1 i y ; -I ; but not when I is final FIXME!!! +Q?=q1 I / BEG _ > A @q1 i y ; except for Persian, coz of ezafe rules + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m Q i A Hy Q a +m Q i H a / _ (T|t) > m Q i A Hy +m i H Q a / _ (T|t) > m A Hy Q a +m i H a / _ (T|t) > m A Hy + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0636 U+0651 ;;SHADDA +V z > U+0636 +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Y Y > U+0649 U+0651 ;;SHADDA +Y > U+0649 +;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots +y y > U+06CC U+0651 ;;SHADDA +y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +Q U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +Q U > U+064F U+0648 +[Uw] [Uw] > U+0648 U+0651 ;;SHADDA +[Uw] > U+0648 +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +Q u N > U+064C +u N > +Q u > U+064F +V t V t > U+0679 U+0651 ;;SHADDA +V t > U+0679 ;urdu +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 U+064B ;;SHADDA +T Q AN > U+0629 U+064B +T AN > U+0629 +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+0634 U+0651 ;;SHADDA +V s > U+0634 +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0691 U+0651 ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+0642 U+0651 ;;SHADDA +P k > U+0642 ; Ottoman qaf +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+06A0 U+0651 ;;SHADDA +C g > U+06A0 +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+0698 U+0651 ;;SHADDA +j > U+0698 +Q I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +I > U+064A +Q i N > U+064D +i N > ; +Q i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+068A U+0651 ;;SHADDA +V d > U+068A +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0686 U+0651 ;;SHADDA +V c > U+0686 ; Ottoman ç +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+062C U+0651 ;;SHADDA +c > U+062C +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+0649 +UL a > U+0670 +UL u > ; +UL i > ; +Q AN / (A H|Ha) _ > U+064B +AN / (A H|Ha) _ > ; +Q AN > U+0627 U+064B +AN > U+0627 +Q a > U+064E +Q A > U+064E U+0627 +A > U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +[VWL] > ;stripoff vowels +Q > U+0652 +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +Z > ;- +BAR > ;| + diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-turk-novoc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-turk-novoc.tec index a58c0a010a8..95903a8c0ab 100644 Binary files a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-turk-novoc.tec and b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-turk-novoc.tec differ diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-turk-voc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-turk-voc.map new file mode 100644 index 00000000000..60c1d10e045 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-turk-voc.map @@ -0,0 +1,480 @@ +LHSName "ArabTeX-turk-vocalized" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+FDF2 ;; 'll_ah' > U+FDF2 +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: + U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH' + U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +CO O > U+06FC ; +a e > a y +a o > a w +CO U > U+06C7 ; +e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish) +o > u +I / _ # > i y + + +;; Persian ezafe (ALL BUT ARABIC AND UIGHUR) +U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<< +U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I +Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e +Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I +Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i +Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i +Z / U+0048 _ > U+0020 ; +b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI +[VWL]=v1 / BEG _ > U+0627 @v1 +Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U +; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I +Q?=q1 I / BEG _ > U+0627 @q1 i y + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m U+0627 Hy +m Q i H a / _ (T|t) > m U+0627 Hy a +m i H Q a / _ (T|t) > m i U+0627 Hy +m i H a / _ (T|t) > m i U+0627 Hy a + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0636 U+0651 ;;SHADDA +V z > U+0636 +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Q Y Y > U+0649 U+0651 ;;SHADDA +Q Y > U+0649 +Y Y > U+064E U+0649 U+0651 ;;SHADDA +Y > U+064E U+0649 +;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots +y y > U+06CC U+0651 ;;SHADDA +y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +U A / _ # > U+064F U+0648 U+0627 +Q U [Uw] > U+0648 U+0651 ;;SHADDA +Q U > U+0648 +U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +U > U+064F U+0648 +w w > U+0648 U+0651 ;;SHADDA +w > U+0648 +Q u N? > +u N > U+064C +u > U+064F +V t V t > U+0679 U+0651 ;;SHADDA +V t > U+0679 ;urdu +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 ;;SHADDA +T Q AN > U+0629 +T AN > U+0629 U+064B +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+0634 U+0651 ;;SHADDA +V s > U+0634 +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0691 U+0651 ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+0642 U+0651 ;;SHADDA +P k > U+0642 ; Ottoman qaf +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+06A0 U+0651 ;;SHADDA +C g > U+06A0 +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+0698 U+0651 ;;SHADDA +j > U+0698 +Q I > U+064A +I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +Q i N? > ; +i N > U+064D +i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+068A U+0651 ;;SHADDA +V d > U+068A +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0686 U+0651 ;;SHADDA +V c > U+0686 ; Ottoman ç +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+062C U+0651 ;;SHADDA +c > U+062C +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+064E U+0649 +UL a > U+0670 +UL u > U+064F; +UL i > U+0650; +Q AN / (A H|Ha) _ > ; +AN / (A H|Ha) _ > U+064B +Q AN > U+0627 +AN > U+0627 U+064B +Q a > +a > U+064E +Q A > U+0627 +A > U+064E U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +Q [VWL] > ;stripoff quoted vowels +Q > U+0652 +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +BAR > ;| + +pass(Unicode) + +Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-) +Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc. +Class [VWL] = (U+0627 U+0648..U+0650 U+0670); +Z > ; diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-uighur.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-uighur.map new file mode 100644 index 00000000000..2b3923d1e2a --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-uighur.map @@ -0,0 +1,277 @@ +LHSName "ArabTeX-Uighur" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define LLAH U+006C U+006C U+005F U+0061 U+0068 + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) + + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +(a|A) l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+FDF2 ;; 'll_ah' > U+FDF2 +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: + U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH' + U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL)' +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE)' +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels + +a / # _ > U+0626 U+0627 +a > U+0627 +(CO a|U+00E4) / # _ > U+0626 U+0647 U+200C +(CO a|U+00E4) > U+0647 U+200C +o / # _ > U+0626 U+0648 ; +o > U+0648 ; +(CO o|U+00F6) / # _ > U+0626 U+06C6 +(CO o|U+00F6) > U+06C6 +i / # _ # > U+0626 U+0649 +i / # _ > U+0626 U+066E +i / _ # > U+0649 +i > U+066E +e / # _ > U+0626 U+06D0 +e > U+06D0 +u / # _ > U+0626 U+06C7 ; +u > U+06C7 ; +(CO u|U+00FC) / # _ > U+0626 U+06C8 ; +(CO u|U+00FC) > U+06C8 ; +l Q a > U+0644 U+064E U+0627 ; +l a > U+0644 U+0627 ; + +P z P z > U+0638 U+0651 ;;SHADDA +P z > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;pashto ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Y Y > U+0649 U+0651 ;;SHADDA +Y > U+0649 +w w > U+06CB U+0651 ;;SHADDA +w > U+06CB +y y > U+064A U+0651 ;;SHADDA +y > U+064A +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +V t V t > U+0679 U+0651 ; urdu ;;SHADDA +V t > U+0679 +UL t UL t > U+062B U+0651 ;;SHADDA +UL t > U+062B +P t P t > U+0637 U+0651 ;;SHADDA +P t > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +P s P s > U+0635 U+0651 ;;SHADDA +P s > U+0635 +V s V s > U+069A U+0651 ;Pashto ;;SHADDA +V s > U+069A ;Pashto +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+0692 U+0651 ;Kurdish ;;SHADDA ; missing in ArabTeX <<< +C r > U+0692 +P r P r > U+0695 U+0651 ;Kurdish ;;SHADDA +P r > U+0695 +V r V r > U+0691 U+0651 ;Urdu ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ; urdu ;;SHADDA +P n > U+06BA ; +V n V n > U+06BC U+0651 ; Pashto +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +C l C l > U+06B5 U+0651 ;kurdish ;;SHADDA +C l > U+06B5 +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ; pashto urdu ;;SHADDA +P k > U+06A9 +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +x x > U+062E U+0651 ;;SHADDA +x > U+062E +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +P h P h > U+062D U+0651 ;;SHADDA +P h > U+062D +V h V h > U+06C1 U+0651 +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +C g C g > U+063A U+0651 ;;SHADDA +C g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;pashto ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+0688 U+0651 ;urdu ;;SHADDA +V d > U+0688 ;urdu +C d C d > U+06EE ; not defined in ArabTeX U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +UL d UL d > U+0630 U+0651 ;;SHADDA +UL d > U+0630 +P d P d > U+0636 U+0651 ;;SHADDA +P d > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;pashto ;;SHADDA +V c > U+0685 +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +c c > U+0681 U+0651 +c > U+0681 ; ح with hamza above +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H > U+0626 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / . _ . > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... +U+005B / . _ . > U+200D U+005B U+200D ; ... (but of course this screws up contextual analysis, so quoting of hamzas etc may be necessary) +Q > ; +N > ; +C > ;^ +Z > ;- +BAR > ;| + + diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-urdu-fullvoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-urdu-fullvoc.map new file mode 100644 index 00000000000..6dcb6cec050 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-urdu-fullvoc.map @@ -0,0 +1,499 @@ +LHSName "ArabTeX-urdu-fullvocalized" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+FDF2 ;; 'll_ah' > U+FDF2 +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: + U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH' + U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +CO O > U+06FC ; +H E > U+06D3 ;; hamza + yeh barree +E / _ # > U+06D2 +E > y +a e / _ # > a U+06D2 +a e > a y +a o > a w +(o|u)? O / # _ > U+0627 w +(o|u)? O > w +CO U > U+06C7 ; +e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish) +o > u +I / _ # > i y + + +;; Persian ezafe (ALL BUT ARABIC AND UIGHUR) +U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<< +U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I +Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e +Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I +Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i +Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i +Z / U+0048 _ > U+0020 ; +b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI +[VWL]=v1 / BEG _ > U+0627 @v1 +A / BEG _ > HA ;; ADD MORE ? <<< +Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U +; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I +Q?=q1 I / BEG _ > U+0627 @q1 i y + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m U+0627 Hy +m Q i H a / _ (T|t) > m U+0627 Hy a +m i H Q a / _ (T|t) > m i U+0627 Hy +m i H a / _ (T|t) > m i U+0627 Hy a + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Q Y Y > U+0649 U+0651 ;;SHADDA +Q Y > U+0649 +Y Y > U+064E U+0649 U+0651 ;;SHADDA +Y > U+064E U+0649 +;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots +y y > U+06CC U+0651 ;;SHADDA +y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +U A / _ # > U+064F U+0648 U+0627 +Q U [Uw] > U+0648 U+0651 ;;SHADDA +Q U > U+0648 +U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +U > U+064F U+0648 +w w > U+0648 U+0651 ;;SHADDA +w > U+0648 +Q u N? > +u N > U+064C +u > U+064F +V t V t > U+0679 U+0651 ;;SHADDA +V t > U+0679 ;urdu +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 ;;SHADDA +T Q AN > U+0629 +T AN > U+0629 U+064B +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0691 U+0651 ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+062C U+0651 ;;SHADDA +C g > U+062C +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+064A +I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +Q i N? > ; +i N > U+064D +i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +U+0048 > U+06C3 +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +H H > U+06C1 U+0651 ;;SHADDA +H > U+06C1 +h h > U+06BE U+0651 ;;SHADDA +h > U+06BE ; urdu +;; fix letter+h letter+h > letter+h shadda in URDU <<< +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+0688 U+0651 ;;SHADDA +V d > U+0688 ;urdu +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +CO CO d CO CO d > U+0690 U+0651 ;;SHADDA +CO CO d > U+0690 ; old urdu: not in ArabTeX +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0681 U+0651 ;;SHADDA +c > U+0681 ; ح with hamza above +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+064E U+0649 +UL a > U+0670 +UL u > U+064F; +UL i > U+0650; +Q AN / (A H|Ha) _ > ; +AN / (A H|Ha) _ > U+064B +Q AN > U+0627 +AN > U+0627 U+064B +Q a > +a > U+064E +Q A > U+0627 +A > U+064E U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArEasternDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +Q [VWL] > ;stripoff quoted vowels +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +BAR > ;| +P P > U+06D4 ; urdu full stop << check + +pass(Unicode) + +Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-) +Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc. +Class [VWL] = (U+0627 U+0648..U+0650 U+0670); +[CONS]=k1 / _ Z? [CONS] ^U+0651 > @k1 U+0652 ; hack: 2nd consonant has no shadda +U+064E (U+064A|U+0648)=hc / _ (^[VWLX]|#) > U+064E @hc U+0652 ; ay and aw diphtongs +U+0627 / # _ U+0644 > U+0627 U+064E ; otherwise initial alif takes fatha +[CONS]=k1 / _ ([CONS]|#) > @k1 U+0652 ; consonant + (consonant or final) +;; [CONS]=k1 / _ # > @k1 U+0652 ; final consonant +Q > ; +Z > ; diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-urdu-fullvoc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-urdu-fullvoc.tec index e413cc0c6b1..1eeca763f5f 100644 Binary files a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-urdu-fullvoc.tec and b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-urdu-fullvoc.tec differ diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-urdu-novoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-urdu-novoc.map new file mode 100644 index 00000000000..e606cd8bcce --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-urdu-novoc.map @@ -0,0 +1,484 @@ +LHSName "ArabTeX-urdu-novowels" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+FDF2 ;; 'll_ah' > U+FDF2 +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: + U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH' + U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +[AVWL] > ; strip off vowels when writing UTF-8 Arabic with novoc mode +CO O > U+06FC ; +H E > U+06D3 ;; hamza + yeh barree +E / _ # > U+06D2 +E > y +a e / _ # > a U+06D2 +a e > a y +a o > a w +(o|u)? O / # _ > U+0627 w +(o|u)? O > w +CO U > U+06C7 ; +e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish) +o > u +I / _ # > i y + + +;; Persian ezafe (ALL BUT ARABIC AND UIGHUR) +U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<< +U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I +Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e +Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I +Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i +Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i +Z / U+0048 _ > U+0020 ; +b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0627 ; +[VWL]=v1 / BEG _ > A @v1 +A / BEG _ > HA ;; ADD MORE ? <<< +Q?=q1 U / BEG _ > A @q1 u w ; -U +; Q?=q1 I / BEG _ > A @q1 i y ; -I ; but not when I is final FIXME!!! +Q?=q1 I / BEG _ > A @q1 i y ; except for Persian, coz of ezafe rules + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m Q i A Hy Q a +m Q i H a / _ (T|t) > m Q i A Hy +m i H Q a / _ (T|t) > m A Hy Q a +m i H a / _ (T|t) > m A Hy + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Y Y > U+0649 U+0651 ;;SHADDA +Y > U+0649 +;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots +y y > U+06CC U+0651 ;;SHADDA +y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +Q U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +Q U > U+064F U+0648 +[Uw] [Uw] > U+0648 U+0651 ;;SHADDA +[Uw] > U+0648 +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +Q u N > U+064C +u N > +Q u > U+064F +V t V t > U+0679 U+0651 ;;SHADDA +V t > U+0679 ;urdu +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 U+064B ;;SHADDA +T Q AN > U+0629 U+064B +T AN > U+0629 +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0691 U+0651 ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+062C U+0651 ;;SHADDA +C g > U+062C +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +I > U+064A +Q i N > U+064D +i N > ; +Q i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +U+0048 > U+06C3 +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +H H > U+06C1 U+0651 ;;SHADDA +H > U+06C1 +h h > U+06BE U+0651 ;;SHADDA +h > U+06BE ; urdu +;; fix letter+h letter+h > letter+h shadda in URDU <<< +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+0688 U+0651 ;;SHADDA +V d > U+0688 ;urdu +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +CO CO d CO CO d > U+0690 U+0651 ;;SHADDA +CO CO d > U+0690 ; old urdu: not in ArabTeX +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0681 U+0651 ;;SHADDA +c > U+0681 ; ح with hamza above +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+0649 +UL a > U+0670 +UL u > ; +UL i > ; +Q AN / (A H|Ha) _ > U+064B +AN / (A H|Ha) _ > ; +Q AN > U+0627 U+064B +AN > U+0627 +Q a > U+064E +Q A > U+064E U+0627 +A > U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArEasternDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +[VWL] > ;stripoff vowels +Q > U+0652 +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +Z > ;- +BAR > ;| +P P > U+06D4 ; urdu full stop << check + diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-urdu-novoc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-urdu-novoc.tec index f428d338a11..91e99f0c3d7 100644 Binary files a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-urdu-novoc.tec and b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-urdu-novoc.tec differ diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-urdu-voc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-urdu-voc.map new file mode 100644 index 00000000000..0a6c00808a0 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-urdu-voc.map @@ -0,0 +1,494 @@ +LHSName "ArabTeX-urdu-vocalized" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+FDF2 ;; 'll_ah' > U+FDF2 +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: + U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH' + U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +CO O > U+06FC ; +H E > U+06D3 ;; hamza + yeh barree +E / _ # > U+06D2 +E > y +a e / _ # > a U+06D2 +a e > a y +a o > a w +(o|u)? O / # _ > U+0627 w +(o|u)? O > w +CO U > U+06C7 ; +e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish) +o > u +I / _ # > i y + + +;; Persian ezafe (ALL BUT ARABIC AND UIGHUR) +U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<< +U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I +Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e +Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I +Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i +Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i +Z / U+0048 _ > U+0020 ; +b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI +[VWL]=v1 / BEG _ > U+0627 @v1 +A / BEG _ > HA ;; ADD MORE ? <<< +Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U +; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I +Q?=q1 I / BEG _ > U+0627 @q1 i y + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m U+0627 Hy +m Q i H a / _ (T|t) > m U+0627 Hy a +m i H Q a / _ (T|t) > m i U+0627 Hy +m i H a / _ (T|t) > m i U+0627 Hy a + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Q Y Y > U+0649 U+0651 ;;SHADDA +Q Y > U+0649 +Y Y > U+064E U+0649 U+0651 ;;SHADDA +Y > U+064E U+0649 +;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots +y y > U+06CC U+0651 ;;SHADDA +y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +U A / _ # > U+064F U+0648 U+0627 +Q U [Uw] > U+0648 U+0651 ;;SHADDA +Q U > U+0648 +U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +U > U+064F U+0648 +w w > U+0648 U+0651 ;;SHADDA +w > U+0648 +Q u N? > +u N > U+064C +u > U+064F +V t V t > U+0679 U+0651 ;;SHADDA +V t > U+0679 ;urdu +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 ;;SHADDA +T Q AN > U+0629 +T AN > U+0629 U+064B +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0691 U+0651 ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+062C U+0651 ;;SHADDA +C g > U+062C +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+064A +I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +Q i N? > ; +i N > U+064D +i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +U+0048 > U+06C3 +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +H H > U+06C1 U+0651 ;;SHADDA +H > U+06C1 +h h > U+06BE U+0651 ;;SHADDA +h > U+06BE ; urdu +;; fix letter+h letter+h > letter+h shadda in URDU <<< +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+0688 U+0651 ;;SHADDA +V d > U+0688 ;urdu +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +CO CO d CO CO d > U+0690 U+0651 ;;SHADDA +CO CO d > U+0690 ; old urdu: not in ArabTeX +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0681 U+0651 ;;SHADDA +c > U+0681 ; ح with hamza above +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+064E U+0649 +UL a > U+0670 +UL u > U+064F; +UL i > U+0650; +Q AN / (A H|Ha) _ > ; +AN / (A H|Ha) _ > U+064B +Q AN > U+0627 +AN > U+0627 U+064B +Q a > +a > U+064E +Q A > U+0627 +A > U+064E U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArEasternDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +Q [VWL] > ;stripoff quoted vowels +Q > U+0652 +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +BAR > ;| +P P > U+06D4 ; urdu full stop << check + +pass(Unicode) + +Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-) +Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc. +Class [VWL] = (U+0627 U+0648..U+0650 U+0670); +Z > ; diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-urdu-voc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-urdu-voc.tec index 0ca122775fc..bf93543e3fb 100644 Binary files a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-urdu-voc.tec and b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-urdu-voc.tec differ diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-voc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-voc.map new file mode 100644 index 00000000000..2555ba6e924 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-voc.map @@ -0,0 +1,476 @@ +LHSName "ArabTeX-vocalized" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+FDF2 ;; 'll_ah' > U+FDF2 +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: + U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH' + U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +CO O > U+06FC ; +a e > a y +a o > a w +CO U > U+06C7 ; +e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish) +o > u +E > I +O > U + + + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +H l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI +[VWL]=v1 / BEG _ > U+0627 @v1 +A / BEG _ > U+0627 a +Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U +; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I +Q?=q1 I / BEG _ > U+0627 @q1 i y + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m U+0627 Hy +m Q i H a / _ (T|t) > m U+0627 Hy a +m i H Q a / _ (T|t) > m i U+0627 Hy +m i H a / _ (T|t) > m i U+0627 Hy a + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Q Y Y > U+0649 U+0651 ;;SHADDA +Q Y > U+0649 +Y Y > U+064E U+0649 U+0651 ;;SHADDA +Y > U+064E U+0649 +P I P I / _ # > U+0650 U+06CC U+0651 ;; SHADDA +P I / _ # > U+0650 U+06CC ;; workaround to have ya without dots in Arabic +y y > U+064A U+0651 ;;SHADDA +y > U+064A +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +U A / _ # > U+064F U+0648 U+0627 +Q U [Uw] > U+0648 U+0651 ;;SHADDA +Q U > U+0648 +U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +U > U+064F U+0648 +w w > U+0648 U+0651 ;;SHADDA +w > U+0648 +Q u N? > +u N > U+064C +u > U+064F +V t V t > U+0679 U+0651 ;;SHADDA +V t > U+0679 ;urdu +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 ;;SHADDA +T Q AN > U+0629 +T AN > U+0629 U+064B +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0691 U+0651 ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+062C U+0651 ;;SHADDA +C g > U+062C +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+064A +I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +Q i N? > ; +i N > U+064D +i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+068A U+0651 ;;SHADDA +V d > U+068A +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0681 U+0651 ;;SHADDA +c > U+0681 ; ح with hamza above +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+064E U+0649 +UL a > U+0670 +UL u > U+0657 ; inverted damma +UL i > U+0656 ; subscript alif +Q AN / (A H|Ha) _ > ; +AN / (A H|Ha) _ > U+064B +Q AN > U+0627 +AN > U+0627 U+064B +Q a > +a > U+064E +Q A > U+0627 +A > U+064E U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +Q [VWL] > ;stripoff quoted vowels +Q > U+0652 +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +BAR > ;| + +pass(Unicode) + +Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-) +Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc. +Class [VWL] = (U+0627 U+0648..U+0650 U+0670); +U+0627 [VWL]? / [VWL] Z _ > U+0627 ; e.g. fa-isti_hraj -> initial alif has no vowel +Z > ; diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-trans-dmg.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-trans-dmg.map index 919f75e53ca..9b4acc136de 100644 --- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-trans-dmg.map +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-trans-dmg.map @@ -148,6 +148,7 @@ C c > U+010D ; CO b > b U+0324 P b > x ; ? undotted (b,t,th,n,y) ... +(A|Y|UL A) / _ (N|U|W) > ; Y > U+0101 ;ā -> LOC: á : check DMG @@ -168,20 +169,18 @@ Q > ; pass(Unicode) -Class [LOWERCASE] = ( U+0061..U+007A U+0101 U+0113 U+012B U+014D U+016B U+1E0D U+1E25 U+1E33 U+1E63 U+1E6D U+1E93 U+1E2B U+1E0F U+1E6F U+0121 U+01E7 ) -Class [UPPERCASE] = ( U+0041..U+005A U+0100 U+0112 U+012A U+014C U+016A U+1E0C U+1E24 U+1E32 U+1E62 U+1E6C U+1E92 U+1E2A U+1E0E U+1E6E U+0120 U+01E6 ) +Class [LOWERCASE] = ( U+0061..U+007A U+0101 U+0113 U+012B U+014D U+0161 U+016B U+1E0D U+1E25 U+1E33 U+1E63 U+1E6D U+1E93 U+1E2B U+1E0F U+1E6F U+0121 U+01E7 ) +Class [UPPERCASE] = ( U+0041..U+005A U+0100 U+0112 U+012A U+014C U+0160 U+016A U+1E0C U+1E24 U+1E32 U+1E62 U+1E6C U+1E92 U+1E2A U+1E0E U+1E6E U+0120 U+01E6 ) Class [LETTER] = (U+0041..U+01FF) Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075) ; (a e i o u) Class [SUNCONS] = (U+0064 U+1E0F U+0074 U+1E6F U+0072 U+007A U+0073 U+0161 U+1E63 U+1E0D U+1E6D U+1E93 U+006E) Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” - -[LOWERCASE] / U+E000 _ > [UPPERCASE] [LOWERCASE] / U+E000 a l Z _ > [UPPERCASE] -l Z ([SUNCONS]=sc){2,2} > @sc Z @sc -l Z [SUNCONS]=sc > @sc Z @sc -a / [VWL] Z _ l Z > ; -;; [VWL] / [VWL] BEG _ ^l > U+2019 ; vowel at beg of word replaced by apostr when prec word end with vowel -(A|Y|UL A) / _ (N|U|W) > ; +[LOWERCASE] / U+E000 _ > [UPPERCASE] +;l Z ([SUNCONS]=sc){2,2} > @sc Z @sc ;; FIXME +;l Z [SUNCONS]=sc > @sc Z @sc ;; FIXME +a / [VWL] Z _ l Z > ;; bi-al- -> bi-l- +;; [VWL] / [VWL] BEG _ ^l > U+2019 ;; vowel at beg of word replaced by apostr when prec word end with vowel [LETTER] BAR > ;; pass(Unicode) diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-trans-dmg.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-trans-dmg.tec index b6fd6c6e5fc..1782ef2fe56 100644 Binary files a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-trans-dmg.tec and b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-trans-dmg.tec differ diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-trans-loc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-trans-loc.map index 03ef6e8f477..ef9ad5da6fd 100644 --- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-trans-loc.map +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-trans-loc.map @@ -1,6 +1,4 @@ -;; LHSName "ArabTeX-ZDMG" LHSName "ArabTeX-LOC" -;; LHSName "ArabTeX-EI" RHSName "UNICODE" Define a U+0061 ;a @@ -94,9 +92,6 @@ U+0044 U+004F U+0054 U+0053 > ;; DOTS ;; #P UL h w > U+1E2B ;; #P U+0048 > h ; capital H > h ;; -;; #zdmg l Z [SUNCONS]=sc / (a | H) _ > @sc Z @sc ; -;; #zdmg [VWL] / [VWL] BEG _ > U+2019 ; vowel at beg of word replaced by apostr when prec word end with vowel -;; #zdmg (A|Y|UL A) / _ (N|U|W) > ; ; problem of "T": It should be omitted when at end of word and when not ; the 1st member of a definite construct: al-madInaT al-`a.zImaT > al-madīna al-ʿaẓīma @@ -120,13 +115,10 @@ Q > ; P z > U+1E93 V z > U+017A -;; #zdmg C z > U+017E ;check C z > z h ;check V t > t U+0301 P t > U+1E6D -;; #zdmg UL t > U+1E6F UL t > t h -;; #zdmg C s > U+0161 C s > s h UL s > U+1E6F ; sindhi V r > U+0155 @@ -143,19 +135,15 @@ CO d > d U+0324 P d > U+1E0D V s > U+015B P s > U+1E63 -;; #zdmg (j|C g) > U+01E7 ; (j|C g) > j ; CO j > U+0237 U+0308 P h > U+1E25 V h > h -;; #zdmg (UL h|x) > U+1E2B (UL h|x) > k h G > g P g > U+0121 P f > f ; ? -;; #zdmg UL d > U+1E0F UL d > d h -;; #zdmg C c > U+010D ; C c > c h ; CO b > b U+0324 P b > x ; ? undotted (b,t,th,n,y) ... diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/farsidigits.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/farsidigits.map new file mode 100644 index 00000000000..c0f0036bb85 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/farsidigits.map @@ -0,0 +1,16 @@ +; FC ... +LHSName "Digits" +RHSName "FarsiDigits" + +pass(Unicode) +U+0030 <> U+06F0 ; +U+0031 <> U+06F1 ; +U+0032 <> U+06F2 ; +U+0033 <> U+06F3 ; +U+0034 <> U+06F4 ; +U+0035 <> U+06F5 ; +U+0036 <> U+06F6 ; +U+0037 <> U+06F7 ; +U+0038 <> U+06F8 ; +U+0039 <> U+06F9 ; + diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/fixlamalif.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/fixlamalif.map new file mode 100644 index 00000000000..c39a4ddc25d --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/fixlamalif.map @@ -0,0 +1,12 @@ +LHSName "Lam-Vowels-Alif" +RHSName "Lam-Alif-Vowels" + +pass(Unicode) +U+0644 U+0651 U+064E U+0627 <> U+0644 U+0627 U+0651 U+064E ; lam shadda fatha alif -> lam alif shadda fatha +U+0644 U+0651 U+0627 <> U+0644 U+0627 U+0651 ; lam shadda alif -> lam alif shadda +U+0644 U+0652 U+0622 <> U+0644 U+0622 U+0652 ; lam sukun alifmadda -> lam alifmadda sukun +U+0644 U+0652 U+0623 <> U+0644 U+0623 U+0652 ; lam sukun alifhamzaabove -> lam alifhamzaabove sukun +U+0644 U+0652 U+0625 <> U+0644 U+0625 U+0652 ; lam sukun alifhamzabelow -> lam alifhamzabelow sukun +U+0644 U+0651 U+064B U+0627 <> U+0644 U+0627 U+0651 U+064b ; lam shadda fathatan alif -> lam alif shadda fathatan +U+0644 U+064B U+0627 <> U+0644 U+0627 U+064B ; lam fathatan alif -> lam alif fathatan + diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/fixlamalif.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/fixlamalif.tec new file mode 100644 index 00000000000..ef4aa0352d5 Binary files /dev/null and b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/fixlamalif.tec differ diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/mirrorpunct.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/mirrorpunct.map new file mode 100644 index 00000000000..efa1f88f8c3 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/mirrorpunct.map @@ -0,0 +1,9 @@ +LHSName "Punctuation" +RHSName "ArabicPunctuation" + +pass(Unicode) +U+002C <> U+060C ; comma ­> arabic comma +U+003F <> U+061F ; question mark -> arabic qm +U+003B <> U+061B ; semicolon -> arabic +U+00AB <> U+00BB ; « -> » +U+00BB <> U+00AB ; » -> « diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/mirrorpunct.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/mirrorpunct.tec new file mode 100644 index 00000000000..368cda06be7 Binary files /dev/null and b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/mirrorpunct.tec differ diff --git a/Master/texmf-dist/source/xelatex/arabxetex/arabtex-farsi-trans-loc.map b/Master/texmf-dist/source/xelatex/arabxetex/arabtex-farsi-trans-loc.map new file mode 100644 index 00000000000..89f0d3a79b4 --- /dev/null +++ b/Master/texmf-dist/source/xelatex/arabxetex/arabtex-farsi-trans-loc.map @@ -0,0 +1,176 @@ +;; LHSName "ArabTeX-ZDMG" +LHSName "ArabTeX-LOC" +;; LHSName "ArabTeX-EI" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define LLAH U+006C U+006C U+005F U+0061 U+0068 + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” + +Define BEG (#|Z|[BRACKETS]) + +; special ligatures +(a|A) l Z / _ LLAH > A ;; 'al-ll_ah' or 'Al-ll_ah' +U+0053 U+004C U+004D > U+1E63 U+0061 U+006C U+006C U+0101 U+0020 U+0041 U+006C U+006C U+0101 U+0068 U+0020 U+02BF U+0061 U+006C U+0061 U+0079 U+0068 U+0069 U+0020 U+0077 U+0061 U+002D U+0073 U+0061 U+006C U+006C U+0061 U+006D ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0052 U+0049 U+0059 U+0041 U+004C > U+0072 U+0069 U+0079 U+0101 U+006C ;; 'RIYAL' : Saudi currency sign +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > ;; 'SALLASTOP' +U+0051 U+0041 U+004C U+0041 > ;; 'QALA' +U+0041 U+004B U+0042 U+0041 U+0052 > U+0041 U+006B U+0062 U+0061 U+0072 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+004D U+0075 U+1E25 U+0061 U+006D U+006D U+0061 U+0064 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+0073 U+0061 U+006C U+0101 U+006D ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+0072 U+0061 U+0073 U+016B U+006C ;; 'RASUL' (also unicode 'RASOUL)' +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+02BF U+0061 U+006C U+0061 U+0079 U+0068 U+0069 ;; 'ALAYHI' (also unicode 'ALAYHE)' +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+0077 U+0061 U+002D U+0073 U+0061 U+006C U+006C U+0061 U+006D ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+1E63 U+0061 U+006C U+006C U+0101 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+006A U+0061 U+006C U+006C U+0101 ;; 'JALLA' : +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+0062 U+0069 U+0073 U+006D U+0069 U+0020 U+0041 U+006C U+006C U+0101 U+0068 U+0020 U+0061 U+006C U+002D U+0072 U+0061 U+1E25 U+006D U+0101 U+006E U+0020 U+0061 U+006C U+002D U+0072 U+0061 U+0068 U+012B U+006D ;; 'BASMALA' +U+005E U+0053 U+004C U+0059 > ;; ^SLY +U+005E U+0051 U+004C U+0059 > ;; ^QLY +U+005E U+004D U+0049 U+004D > ;; ^MIM +U+005E U+004C U+0041 > ;; ^LA +U+005E U+004A U+0049 U+004D > ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > ;; ^DOTS +U+005E U+0053 U+0049 U+004E > ;; ^SIN +U+0048 U+0049 U+005A U+0042 > ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > ;; RECTZERO +U+0053 U+0041 U+004A U+0044 U+0041 > ;; SAJDA +U+0044 U+004F U+0054 U+0053 > ;; DOTS + + +; general + +;persian +UL h w > k h ;; +;; #zdmg UL h w > U+1E2B +U+0048 > h ; capital H > h +;; #zdmg l Z [SUNCONS]=sc / (a | H) _ > @sc Z @sc ; +;; #zdmg [VWL] / [VWL] BEG _ > U+2019 ; vowel at beg of word replaced by apostr when prec word end with vowel +;; #zdmg (A|Y|UL A) / _ (N|U|W) > ; + +; problem of "T": It should be omitted when at end of word and when not +; the 1st member of a definite construct: al-madInaT al-`a.zImaT > al-madīna al-ʿaẓīma +; Only solution is to always transliterate to t, except when explicitly "quoted off": +T Q / _ # > ; +T > t +N > n +U+0057 > w +(U|u u|UL u) > U+016B +(A|a a|UL a|UL A) > U+0101 +(I|i i|UL i) > U+012B +(E|e e) > U+0113 +(O|o o) > U+014D +C A > U+02BE U+0101 ; historical spelling +C U > U+02BE U+016B ; historical spelling : madda on waw +C I > U+02BE U+012B ; historical spelling : madda on ya +Q > ; + +P z > U+1E93 +V z > U+017A +;; #zdmg C z > U+017E ;check +C z > z h ;check +V t > t U+0301 +P t > U+1E6D +;; #zdmg UL t > U+1E6F +UL t > t h +;; #zdmg C s > U+0161 +C s > s h +UL s > U+1E6F ; sindhi +V r > U+0155 +P r > U+1E59; r with dot above +P q > q ; ? +V n > U+0144 +C n > U+00F1 +P n > U+1E47 +CO n > n U+0324 +C l > l U+0303 ; l + combining tilde +CO g > g U+0324 +V d > d U+0301 +CO d > d U+0324 +P d > U+1E0D +V s > U+015B +P s > U+1E63 +;; #zdmg (j|C g) > U+01E7 ; +(j|C g) > j ; +CO j > U+0237 U+0308 +P h > U+1E25 +V h > h +;; #zdmg (UL h|x) > U+1E2B +(UL h|x) > k h +G > g +P g > U+0121 +P f > f ; ? +;; #zdmg UL d > U+1E0F +UL d > d h +;; #zdmg C c > U+010D ; +C c > c h ; +CO b > b U+0324 +P b > x ; ? undotted (b,t,th,n,y) ... + +Y > U+0101 ;ā -> sometimes á : check + + +Ain > U+02BF +H > U+02BE +Z Z Z > ; +Z Z > ; +B > ; +U+003C U+003C > U+00AB ;<< +U+003E U+003E > U+00BB ;>> +UL > ;_ +U+003A U+003A > U+2234 ; '::' ??Arabic three dots transliterated by Therefore?? +N > ; +C > ;^ +Q BAR > ;; +BAR > ;| + diff --git a/Master/texmf-dist/source/xelatex/arabxetex/arabtex-kurdish.maps b/Master/texmf-dist/source/xelatex/arabxetex/arabtex-kurdish.maps new file mode 100644 index 00000000000..75e4da0ebd0 --- /dev/null +++ b/Master/texmf-dist/source/xelatex/arabxetex/arabtex-kurdish.maps @@ -0,0 +1,294 @@ +LHSName "ArabTeX-Kurdish" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define LLAH U+006C U+006C U+005F U+0061 U+0068 + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) + + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +#0 (a|A) l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +#1 (a|A) l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +#0 LLAH > U+FDF2 ;; 'll_ah' > U+FDF2 +#1 LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h' +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: +#0 U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH' +#1 U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH' +#0 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH' +#1 U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL)' +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE)' +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels + +E / # _ > U+0626 U+06CE +E > U+06CE +e / # _ > U+0626 U+0647 U+200C ; h always final +e > U+0647 U+200C +i / # _ > U+0626 +Q i > U+0650 +i > ; +Q I / # _ > U+0626 U+064A U+0650 +Q I > U+064A U+0650 +I / # _ > U+0626 U+064A +I > U+064A +(a|A) / # _ > U+0626 U+0627 +(a|A) > U+0627 +(o|O) / # _ > U+0626 U+06C6 +(o|O) > U+06C6 +u / # _ > U+0626 U+0648 +u > U+0648 +U / # _ > U+0626 U+0648 U+0648 +U > U+0648 U+0648 +Ain e > U+0639 U+0647 U+200C + + +P z P z > U+0638 U+0651 ;;SHADDA +P z > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;pashto ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Y Y > U+0649 U+0651 ;;SHADDA +Y > U+0649 +w w > U+0648 U+0651 ;;SHADDA +w > U+0648 +y y > U+064A U+0651 ;;SHADDA +y > U+064A +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +V t V t > U+0679 U+0651 ; urdu ;;SHADDA +V t > U+0679 +UL t UL t > U+062B U+0651 ;;SHADDA +UL t > U+062B +P t P t > U+0637 U+0651 ;;SHADDA +P t > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +(C|V) s (C|V) s > U+0634 U+0651 ;;SHADDA +(C|V) s > U+0634 +P s P s > U+0635 U+0651 ;;SHADDA +P s > U+0635 +CO s CO s > U+069B U+0651 +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +;; also missing U+0694 : r with dot below +V r V r > U+0694 U+0651 ;Kurdish ;;SHADDA +V r > U+0694 +C r C r > U+0692 U+0651 ;Kurdish ;;SHADDA ; missing in ArabTeX <<< +C r > U+0692 +P r P r > U+0695 U+0651 ;Kurdish ;;SHADDA +P r > U+0695 +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ; urdu ;;SHADDA +P n > U+06BA ; +V n V n > U+06BC U+0651 ; Pashto +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;kurdish ;;SHADDA +C l > U+06B5 +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ; pashto urdu ;;SHADDA +P k > U+06A9 +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +c c > U+062C U+0651 ;;SHADDA +c > U+062C +x x > U+062E U+0651 ;;SHADDA +x > U+062E +j j > U+0698 U+0651 ;;SHADDA +j > U+0698 +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +P h P h > U+062D U+0651 ;;SHADDA +P h > U+062D +V h V h > U+06C1 U+0651 +V h > U+06C1 +h h > U+200C U+06BE U+0651 ;;SHADDA +h > U+200C U+06BE ; h always initial form +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P (g|x) P (g|x) > U+063A U+0651 ;;SHADDA +P (g|x) > U+063A +C g C g > U+063A U+0651 ;;SHADDA +C g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;pashto ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+0688 U+0651 ;urdu ;;SHADDA +V d > U+0688 ;urdu +C d C d > U+06EE ; not defined in ArabTeX U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +UL d UL d > U+0630 U+0651 ;;SHADDA +UL d > U+0630 +P d P d > U+0636 U+0651 ;;SHADDA +P d > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +(C|V) c (C|V) c > U+0686 U+0651 ;;SHADDA +(C|V) c > U+0686 +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H > U+0626 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / . _ . > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... +U+005B / . _ . > U+200D U+005B U+200D ; ... (but of course this screws up contextual analysis, so quoting of hamzas etc may be necessary) +Q > ; +N > ; +C > ;^ +Z > ;- +BAR > ;| + + diff --git a/Master/texmf-dist/source/xelatex/arabxetex/arabtex-pashto-trans-loc.map b/Master/texmf-dist/source/xelatex/arabxetex/arabtex-pashto-trans-loc.map new file mode 100644 index 00000000000..47a3798f047 --- /dev/null +++ b/Master/texmf-dist/source/xelatex/arabxetex/arabtex-pashto-trans-loc.map @@ -0,0 +1,174 @@ +;; LHSName "ArabTeX-ZDMG" +LHSName "ArabTeX-LOC" +;; LHSName "ArabTeX-EI" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define LLAH U+006C U+006C U+005F U+0061 U+0068 + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” + +Define BEG (#|Z|[BRACKETS]) + +; special ligatures +(a|A) l Z / _ LLAH > A ;; 'al-ll_ah' or 'Al-ll_ah' +U+0053 U+004C U+004D > U+1E63 U+0061 U+006C U+006C U+0101 U+0020 U+0041 U+006C U+006C U+0101 U+0068 U+0020 U+02BF U+0061 U+006C U+0061 U+0079 U+0068 U+0069 U+0020 U+0077 U+0061 U+002D U+0073 U+0061 U+006C U+006C U+0061 U+006D ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0052 U+0049 U+0059 U+0041 U+004C > U+0072 U+0069 U+0079 U+0101 U+006C ;; 'RIYAL' : Saudi currency sign +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > ;; 'SALLASTOP' +U+0051 U+0041 U+004C U+0041 > ;; 'QALA' +U+0041 U+004B U+0042 U+0041 U+0052 > U+0041 U+006B U+0062 U+0061 U+0072 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+004D U+0075 U+1E25 U+0061 U+006D U+006D U+0061 U+0064 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+0073 U+0061 U+006C U+0101 U+006D ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+0072 U+0061 U+0073 U+016B U+006C ;; 'RASUL' (also unicode 'RASOUL)' +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+02BF U+0061 U+006C U+0061 U+0079 U+0068 U+0069 ;; 'ALAYHI' (also unicode 'ALAYHE)' +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+0077 U+0061 U+002D U+0073 U+0061 U+006C U+006C U+0061 U+006D ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+1E63 U+0061 U+006C U+006C U+0101 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+006A U+0061 U+006C U+006C U+0101 ;; 'JALLA' : +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+0062 U+0069 U+0073 U+006D U+0069 U+0020 U+0041 U+006C U+006C U+0101 U+0068 U+0020 U+0061 U+006C U+002D U+0072 U+0061 U+1E25 U+006D U+0101 U+006E U+0020 U+0061 U+006C U+002D U+0072 U+0061 U+0068 U+012B U+006D ;; 'BASMALA' +U+005E U+0053 U+004C U+0059 > ;; ^SLY +U+005E U+0051 U+004C U+0059 > ;; ^QLY +U+005E U+004D U+0049 U+004D > ;; ^MIM +U+005E U+004C U+0041 > ;; ^LA +U+005E U+004A U+0049 U+004D > ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > ;; ^DOTS +U+005E U+0053 U+0049 U+004E > ;; ^SIN +U+0048 U+0049 U+005A U+0042 > ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > ;; RECTZERO +U+0053 U+0041 U+004A U+0044 U+0041 > ;; SAJDA +U+0044 U+004F U+0054 U+0053 > ;; DOTS + + +; general + +;persian +UL h w > k h ;; +;; #zdmg UL h w > U+1E2B +;; +;; #zdmg l Z [SUNCONS]=sc / (a | H) _ > @sc Z @sc ; +;; #zdmg [VWL] / [VWL] BEG _ > U+2019 ; vowel at beg of word replaced by apostr when prec word end with vowel +;; #zdmg (A|Y|UL A) / _ (N|U|W) > ; + +T Q / _ # > ; +T > h +N > n +U+0057 > w +(U|u u|UL u) > U+016B +(A|a a|UL a|UL A) > U+0101 +(I|i i|UL i) > U+012B +(E|e) e > e y ; pashto +(E|e e) > U+0113 +(O|o o) > U+014D +C A > U+02BE U+0101 ; historical spelling +C U > U+02BE U+016B ; historical spelling : madda on waw +C I > U+02BE U+012B ; historical spelling : madda on ya +Q > ; + +P z > U+1E93 +V z > U+017A +;; #zdmg C z > U+017E ;check +C z > z h ;check +V t > t U+0301 +P t > U+1E6D +;; #zdmg UL t > U+1E6F +UL t > t h +;; #zdmg C s > U+0161 +C s > s h +UL s > U+1E6F ; sindhi +V r > U+0155 +P r > U+1E59; r with dot above +P q > q ; ? +V n > U+0144 +C n > U+00F1 +P n > U+1E47 +CO n > n U+0324 +C l > l U+0303 ; l + combining tilde +CO g > g U+0324 +V d > d U+0301 +CO d > d U+0324 +P d > U+1E0D +V s > U+015B +P s > U+1E63 +;; #zdmg (j|C g) > U+01E7 ; +(j|C g) > j ; +CO j > U+0237 U+0308 +P h > U+1E25 +V h > h +;; #zdmg (UL h|x) > U+1E2B +(UL h|x) > k h +G > g +P g > U+0121 +P f > f ; ? +;; #zdmg UL d > U+1E0F +UL d > d h +;; #zdmg C c > U+010D ; +C c > c h ; +CO b > b U+0324 +P b > x ; ? undotted (b,t,th,n,y) ... + +Y > U+0101 ;ā -> sometimes á : check + + +Ain > U+02BF +H > U+02BE +Z Z Z > ; +Z Z > ; +B > ; +U+003C U+003C > U+00AB ;<< +U+003E U+003E > U+00BB ;>> +UL > ;_ +U+003A U+003A > U+2234 ; '::' ??Arabic three dots transliterated by Therefore?? +N > ; +C > ;^ +Q BAR > ;; +BAR > ;| + diff --git a/Master/texmf-dist/source/xelatex/arabxetex/arabtex-sindhi-trans-loc.map b/Master/texmf-dist/source/xelatex/arabxetex/arabtex-sindhi-trans-loc.map new file mode 100644 index 00000000000..4ba67436add --- /dev/null +++ b/Master/texmf-dist/source/xelatex/arabxetex/arabtex-sindhi-trans-loc.map @@ -0,0 +1,176 @@ +;; LHSName "ArabTeX-ZDMG" +LHSName "ArabTeX-LOC" +;; LHSName "ArabTeX-EI" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define LLAH U+006C U+006C U+005F U+0061 U+0068 + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” + +Define BEG (#|Z|[BRACKETS]) + +; special ligatures +(a|A) l Z / _ LLAH > A ;; 'al-ll_ah' or 'Al-ll_ah' +U+0053 U+004C U+004D > U+1E63 U+0061 U+006C U+006C U+0101 U+0020 U+0041 U+006C U+006C U+0101 U+0068 U+0020 U+02BF U+0061 U+006C U+0061 U+0079 U+0068 U+0069 U+0020 U+0077 U+0061 U+002D U+0073 U+0061 U+006C U+006C U+0061 U+006D ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0052 U+0049 U+0059 U+0041 U+004C > U+0072 U+0069 U+0079 U+0101 U+006C ;; 'RIYAL' : Saudi currency sign +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > ;; 'SALLASTOP' +U+0051 U+0041 U+004C U+0041 > ;; 'QALA' +U+0041 U+004B U+0042 U+0041 U+0052 > U+0041 U+006B U+0062 U+0061 U+0072 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+004D U+0075 U+1E25 U+0061 U+006D U+006D U+0061 U+0064 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+0073 U+0061 U+006C U+0101 U+006D ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+0072 U+0061 U+0073 U+016B U+006C ;; 'RASUL' (also unicode 'RASOUL)' +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+02BF U+0061 U+006C U+0061 U+0079 U+0068 U+0069 ;; 'ALAYHI' (also unicode 'ALAYHE)' +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+0077 U+0061 U+002D U+0073 U+0061 U+006C U+006C U+0061 U+006D ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+1E63 U+0061 U+006C U+006C U+0101 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+006A U+0061 U+006C U+006C U+0101 ;; 'JALLA' : +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+0062 U+0069 U+0073 U+006D U+0069 U+0020 U+0041 U+006C U+006C U+0101 U+0068 U+0020 U+0061 U+006C U+002D U+0072 U+0061 U+1E25 U+006D U+0101 U+006E U+0020 U+0061 U+006C U+002D U+0072 U+0061 U+0068 U+012B U+006D ;; 'BASMALA' +U+005E U+0053 U+004C U+0059 > ;; ^SLY +U+005E U+0051 U+004C U+0059 > ;; ^QLY +U+005E U+004D U+0049 U+004D > ;; ^MIM +U+005E U+004C U+0041 > ;; ^LA +U+005E U+004A U+0049 U+004D > ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > ;; ^DOTS +U+005E U+0053 U+0049 U+004E > ;; ^SIN +U+0048 U+0049 U+005A U+0042 > ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > ;; RECTZERO +U+0053 U+0041 U+004A U+0044 U+0041 > ;; SAJDA +U+0044 U+004F U+0054 U+0053 > ;; DOTS + + +; general + +;persian +UL h w > k h ;; +;; #zdmg UL h w > U+1E2B +;; +;; #zdmg l Z [SUNCONS]=sc / (a | H) _ > @sc Z @sc ; +;; #zdmg [VWL] / [VWL] BEG _ > U+2019 ; vowel at beg of word replaced by apostr when prec word end with vowel +;; #zdmg (A|Y|UL A) / _ (N|U|W) > ; + +; problem of "T": It should be omitted when at end of word and when not +; the 1st member of a definite construct: al-madInaT al-`a.zImaT > al-madīna al-ʿaẓīma +; Only solution is to always transliterate to t, except when explicitly "quoted off": +T Q / _ # > ; +T > t +N > n +U+0057 > w +(U|u u|UL u) > U+016B +(A|a a|UL a|UL A) > U+0101 +(I|i i|UL i) > U+012B +(E|e e) > U+0113 +(O|o o) > U+014D +C A > U+02BE U+0101 ; historical spelling +C U > U+02BE U+016B ; historical spelling : madda on waw +C I > U+02BE U+012B ; historical spelling : madda on ya +Q > ; + +P z > U+1E93 +V z > U+017A +;; #zdmg C z > U+017E ;check +C z > z h ;check +w > v ; sindhi LOC +V t > U+1E6D +P t > t U+0324 +;; #zdmg UL t > U+1E6F +;; #zdmg C s > U+0161 +C s > s h +UL (s|t) > s U+0331 ; sindhi +V r > U+0155 +P r > U+1E59; r with dot above +P q > q ; ? +C n > U+00F1 +P n > U+1E47 +V n > U+1E45 +C l > l U+0303 ; l + combining tilde +CO g > g U+0308 +V d > U+1E0D +CO d > d U+0324 +P d > z U+0324 +V s > U+015B +P s > U+1E63 +;; #zdmg (j|C g) > U+01E7 ; +(j|C g) > j ; +CO j > U+0237 U+0308 +P h > U+1E25 +V h > h +;; #zdmg (UL h|x) > U+1E2B +(UL h|x) > k h +G > g +P g > g h +;; #zdmg U+0121 +P f > f ; ? +;; #zdmg UL d > U+1E0F +UL d > d h +;; #zdmg C c > U+010D ; +C c > c ; +CO b > b U+0324 +P b > x ; ? undotted (b,t,th,n,y) ... + +Y > U+0101 ;ā -> sometimes á : check + + +Ain > U+02BF +H > ; hamzas are omitted in sindhi trans +Z Z Z > ; +Z Z > ; +B > ; +U+003C U+003C > U+00AB ;<< +U+003E U+003E > U+00BB ;>> +UL > ;_ +U+003A U+003A > U+2234 ; '::' ??Arabic three dots transliterated by Therefore?? +N > ; +C > ;^ +Q BAR > ;; +BAR > ;| + diff --git a/Master/texmf-dist/source/xelatex/arabxetex/arabtex-trans-dmg.map b/Master/texmf-dist/source/xelatex/arabxetex/arabtex-trans-dmg.map new file mode 100644 index 00000000000..9b4acc136de --- /dev/null +++ b/Master/texmf-dist/source/xelatex/arabxetex/arabtex-trans-dmg.map @@ -0,0 +1,191 @@ +LHSName "ArabTeX-DMG" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define LLAH U+006C U+006C U+005F U+0061 U+0068 + +pass(Unicode) + +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” + +Define BEG (#|Z|[BRACKETS]) + +; special ligatures +(a|A) BAR l Z / _ LLAH > ;; 'a|l-ll_ah' or 'A|l-ll_ah' -> llāh +(a|A) l Z / _ LLAH > A ;; 'al-ll_ah' or 'Al-ll_ah' -> Allāh +U+0053 U+004C U+004D > U+1E63 U+0061 U+006C U+006C U+0101 U+0020 U+0041 U+006C U+006C U+0101 U+0068 U+0020 U+02BF U+0061 U+006C U+0061 U+0079 U+0068 U+0069 U+0020 U+0077 U+0061 U+002D U+0073 U+0061 U+006C U+006C U+0061 U+006D ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0052 U+0049 U+0059 U+0041 U+004C > U+0072 U+0069 U+0079 U+0101 U+006C ;; 'RIYAL' : Saudi currency sign +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > ;; 'SALLASTOP' +U+0051 U+0041 U+004C U+0041 > ;; 'QALA' +U+0041 U+004B U+0042 U+0041 U+0052 > U+0041 U+006B U+0062 U+0061 U+0072 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+004D U+0075 U+1E25 U+0061 U+006D U+006D U+0061 U+0064 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+0073 U+0061 U+006C U+0101 U+006D ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+0072 U+0061 U+0073 U+016B U+006C ;; 'RASUL' (also unicode 'RASOUL)' +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+02BF U+0061 U+006C U+0061 U+0079 U+0068 U+0069 ;; 'ALAYHI' (also unicode 'ALAYHE)' +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+0077 U+0061 U+002D U+0073 U+0061 U+006C U+006C U+0061 U+006D ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+1E63 U+0061 U+006C U+006C U+0101 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+006A U+0061 U+006C U+006C U+0101 ;; 'JALLA' : +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+0062 U+0069 U+0073 U+006D U+0069 U+0020 U+0041 U+006C U+006C U+0101 U+0068 U+0020 U+0061 U+006C U+002D U+0072 U+0061 U+1E25 U+006D U+0101 U+006E U+0020 U+0061 U+006C U+002D U+0072 U+0061 U+0068 U+012B U+006D ;; 'BASMALA' +U+005E U+0053 U+004C U+0059 > ;; ^SLY +U+005E U+0051 U+004C U+0059 > ;; ^QLY +U+005E U+004D U+0049 U+004D > ;; ^MIM +U+005E U+004C U+0041 > ;; ^LA +U+005E U+004A U+0049 U+004D > ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > ;; ^DOTS +U+005E U+0053 U+0049 U+004E > ;; ^SIN +U+0048 U+0049 U+005A U+0042 > ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > ;; RECTZERO +U+0053 U+0041 U+004A U+0044 U+0041 > ;; SAJDA +U+0044 U+004F U+0054 U+0053 > ;; DOTS + + +; general + +;persian +;; #P UL h w > U+1E2B +;; #P U+0048 > h ; capital H > h +;; + +; problem of "T": It should be omitted when at end of word and when not +; the 1st member of a definite construct: al-madInaT al-`a.zImaT > al-madīna al-ʿaẓīma +; Only solution is to always transliterate to t, except when explicitly "quoted off" with |: +T BAR / _ # > ; +T > t +;;#U T > h +N > n +U+0057 > w +(U|u u|UL u) > U+016B +(A|a a|UL a|UL A) > U+0101 +i y > U+012B y +(I|i i|UL i) > U+012B +;;#U (E|a e) / _ # > H U+0113 +;;#T (E|e) e > e y ; pashto +(E|e e) > U+0113 +(O|o o) > U+014D +C A > U+02BE U+0101 ; historical spelling +C U > U+02BE U+016B ; historical spelling : madda on waw +C I > U+02BE U+012B ; historical spelling : madda on ya + +P z > U+1E93 +V z > U+017A +C z > U+017E ;check +V t > t U+0301 +P t > U+1E6D +UL t > U+1E6F +C s > U+0161 +UL s > U+1E6F ; sindhi +V r > U+0155 +P r > U+1E59; r with dot above +P q > q ; ? +V n > U+0144 +C n > U+00F1 +P n > U+1E47 +CO n > n U+0324 +C l > l U+0303 ; l + combining tilde +CO g > g U+0324 +V d > d U+0301 +CO d > d U+0324 +P d > U+1E0D +V s > U+015B +P s > U+1E63 +(j|C g) > U+01E7 ; +CO j > U+0237 U+0308 +P h > U+1E25 +V h > h +(UL h|x) > U+1E2B +G > g +P g > U+0121 +P f > f ; ? +UL d > U+1E0F +C c > U+010D ; +CO b > b U+0324 +P b > x ; ? undotted (b,t,th,n,y) ... + +(A|Y|UL A) / _ (N|U|W) > ; +Y > U+0101 ;ā -> LOC: á : check DMG + + +Ain > U+02BF +Z H > Z +H / # _ > ; +H > U+02BE +Z Z Z > ; +Z Z > ; +B > ; +U+003C U+003C > U+00AB ;<< +U+003E U+003E > U+00BB ;>> +UL > ;_ +U+003A U+003A > U+2234 ; '::' ??Arabic three dots transliterated by Therefore?? +N > ; +C > ;^ +Q > ; + +pass(Unicode) + +Class [LOWERCASE] = ( U+0061..U+007A U+0101 U+0113 U+012B U+014D U+0161 U+016B U+1E0D U+1E25 U+1E33 U+1E63 U+1E6D U+1E93 U+1E2B U+1E0F U+1E6F U+0121 U+01E7 ) +Class [UPPERCASE] = ( U+0041..U+005A U+0100 U+0112 U+012A U+014C U+0160 U+016A U+1E0C U+1E24 U+1E32 U+1E62 U+1E6C U+1E92 U+1E2A U+1E0E U+1E6E U+0120 U+01E6 ) +Class [LETTER] = (U+0041..U+01FF) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075) ; (a e i o u) +Class [SUNCONS] = (U+0064 U+1E0F U+0074 U+1E6F U+0072 U+007A U+0073 U+0161 U+1E63 U+1E0D U+1E6D U+1E93 U+006E) +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +[LOWERCASE] / U+E000 a l Z _ > [UPPERCASE] +[LOWERCASE] / U+E000 _ > [UPPERCASE] +;l Z ([SUNCONS]=sc){2,2} > @sc Z @sc ;; FIXME +;l Z [SUNCONS]=sc > @sc Z @sc ;; FIXME +a / [VWL] Z _ l Z > ;; bi-al- -> bi-l- +;; [VWL] / [VWL] BEG _ ^l > U+2019 ;; vowel at beg of word replaced by apostr when prec word end with vowel +[LETTER] BAR > ;; + +pass(Unicode) + +U+E000 > ; + +A l Z > a l Z + diff --git a/Master/texmf-dist/source/xelatex/arabxetex/arabtex-trans-loc.map b/Master/texmf-dist/source/xelatex/arabxetex/arabtex-trans-loc.map new file mode 100644 index 00000000000..ef9ad5da6fd --- /dev/null +++ b/Master/texmf-dist/source/xelatex/arabxetex/arabtex-trans-loc.map @@ -0,0 +1,184 @@ +LHSName "ArabTeX-LOC" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define LLAH U+006C U+006C U+005F U+0061 U+0068 + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” + +Define BEG (#|Z|[BRACKETS]) + +; special ligatures +(a|A) l Z / _ LLAH > A ;; 'al-ll_ah' or 'Al-ll_ah' +U+0053 U+004C U+004D > U+1E63 U+0061 U+006C U+006C U+0101 U+0020 U+0041 U+006C U+006C U+0101 U+0068 U+0020 U+02BF U+0061 U+006C U+0061 U+0079 U+0068 U+0069 U+0020 U+0077 U+0061 U+002D U+0073 U+0061 U+006C U+006C U+0061 U+006D ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0052 U+0049 U+0059 U+0041 U+004C > U+0072 U+0069 U+0079 U+0101 U+006C ;; 'RIYAL' : Saudi currency sign +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > ;; 'SALLASTOP' +U+0051 U+0041 U+004C U+0041 > ;; 'QALA' +U+0041 U+004B U+0042 U+0041 U+0052 > U+0041 U+006B U+0062 U+0061 U+0072 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+004D U+0075 U+1E25 U+0061 U+006D U+006D U+0061 U+0064 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+0073 U+0061 U+006C U+0101 U+006D ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+0072 U+0061 U+0073 U+016B U+006C ;; 'RASUL' (also unicode 'RASOUL)' +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+02BF U+0061 U+006C U+0061 U+0079 U+0068 U+0069 ;; 'ALAYHI' (also unicode 'ALAYHE)' +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+0077 U+0061 U+002D U+0073 U+0061 U+006C U+006C U+0061 U+006D ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+1E63 U+0061 U+006C U+006C U+0101 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+006A U+0061 U+006C U+006C U+0101 ;; 'JALLA' : +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+0062 U+0069 U+0073 U+006D U+0069 U+0020 U+0041 U+006C U+006C U+0101 U+0068 U+0020 U+0061 U+006C U+002D U+0072 U+0061 U+1E25 U+006D U+0101 U+006E U+0020 U+0061 U+006C U+002D U+0072 U+0061 U+0068 U+012B U+006D ;; 'BASMALA' +U+005E U+0053 U+004C U+0059 > ;; ^SLY +U+005E U+0051 U+004C U+0059 > ;; ^QLY +U+005E U+004D U+0049 U+004D > ;; ^MIM +U+005E U+004C U+0041 > ;; ^LA +U+005E U+004A U+0049 U+004D > ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > ;; ^DOTS +U+005E U+0053 U+0049 U+004E > ;; ^SIN +U+0048 U+0049 U+005A U+0042 > ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > ;; RECTZERO +U+0053 U+0041 U+004A U+0044 U+0041 > ;; SAJDA +U+0044 U+004F U+0054 U+0053 > ;; DOTS + + +; general + +;persian +;; #P UL h w > U+1E2B +;; #P U+0048 > h ; capital H > h +;; + +; problem of "T": It should be omitted when at end of word and when not +; the 1st member of a definite construct: al-madInaT al-`a.zImaT > al-madīna al-ʿaẓīma +; Only solution is to always transliterate to t, except when explicitly "quoted off": +T Q / _ # > ; +T > t +;;#U T > h +N > n +U+0057 > w +(U|u u|UL u) > U+016B +(A|a a|UL a|UL A) > U+0101 +(I|i i|UL i) > U+012B +;;#U (E|a e) / _ # > H U+0113 +;;#T (E|e) e > e y ; pashto +(E|e e) > U+0113 +(O|o o) > U+014D +C A > U+02BE U+0101 ; historical spelling +C U > U+02BE U+016B ; historical spelling : madda on waw +C I > U+02BE U+012B ; historical spelling : madda on ya +Q > ; + +P z > U+1E93 +V z > U+017A +C z > z h ;check +V t > t U+0301 +P t > U+1E6D +UL t > t h +C s > s h +UL s > U+1E6F ; sindhi +V r > U+0155 +P r > U+1E59; r with dot above +P q > q ; ? +V n > U+0144 +C n > U+00F1 +P n > U+1E47 +CO n > n U+0324 +C l > l U+0303 ; l + combining tilde +CO g > g U+0324 +V d > d U+0301 +CO d > d U+0324 +P d > U+1E0D +V s > U+015B +P s > U+1E63 +(j|C g) > j ; +CO j > U+0237 U+0308 +P h > U+1E25 +V h > h +(UL h|x) > k h +G > g +P g > U+0121 +P f > f ; ? +UL d > d h +C c > c h ; +CO b > b U+0324 +P b > x ; ? undotted (b,t,th,n,y) ... + +Y > U+0101 ;ā -> sometimes á : check + + +Ain > U+02BF +Z H > Z +H / # _ > ; +H > U+02BE +Z Z Z > ; +Z Z > ; +B > ; +U+003C U+003C > U+00AB ;<< +U+003E U+003E > U+00BB ;>> +UL > ;_ +U+003A U+003A > U+2234 ; '::' ??Arabic three dots transliterated by Therefore?? +N > ; +C > ;^ +Q BAR > ;; +BAR > ;| + +pass(Unicode) + +Class [LOWERCASE] = ( U+0061..U+007A U+0101 U+0113 U+012B U+014D U+016B U+1E0D U+1E25 U+1E33 U+1E63 U+1E6D U+1E93 U+1E2B U+1E0F U+1E6F U+0121 U+01E7 ) +Class [UPPERCASE] = ( U+0041..U+005A U+0100 U+0112 U+012A U+014C U+016A U+1E0C U+1E24 U+1E32 U+1E62 U+1E6C U+1E92 U+1E2A U+1E0E U+1E6E U+0120 U+01E6 ) + +[LOWERCASE] / U+E000 _ > [UPPERCASE] +[LOWERCASE] / U+E000 a l Z _ > [UPPERCASE] + +pass(Unicode) + +U+E000 > ; + +A l Z > a l Z + + diff --git a/Master/texmf-dist/source/xelatex/arabxetex/arabtex-uighur.maps b/Master/texmf-dist/source/xelatex/arabxetex/arabtex-uighur.maps new file mode 100644 index 00000000000..27da35ca0d2 --- /dev/null +++ b/Master/texmf-dist/source/xelatex/arabxetex/arabtex-uighur.maps @@ -0,0 +1,281 @@ +LHSName "ArabTeX-Uighur" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define LLAH U+006C U+006C U+005F U+0061 U+0068 + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) + + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +#0 (a|A) l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +#1 (a|A) l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +#0 LLAH > U+FDF2 ;; 'll_ah' > U+FDF2 +#1 LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h' +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: +#0 U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH' +#1 U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH' +#0 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH' +#1 U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL)' +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE)' +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels + +a / # _ > U+0626 U+0627 +a > U+0627 +(CO a|U+00E4) / # _ > U+0626 U+0647 U+200C +(CO a|U+00E4) > U+0647 U+200C +o / # _ > U+0626 U+0648 ; +o > U+0648 ; +(CO o|U+00F6) / # _ > U+0626 U+06C6 +(CO o|U+00F6) > U+06C6 +i / # _ # > U+0626 U+0649 +i / # _ > U+0626 U+066E +i / _ # > U+0649 +i > U+066E +e / # _ > U+0626 U+06D0 +e > U+06D0 +u / # _ > U+0626 U+06C7 ; +u > U+06C7 ; +(CO u|U+00FC) / # _ > U+0626 U+06C8 ; +(CO u|U+00FC) > U+06C8 ; +l Q a > U+0644 U+064E U+0627 ; +l a > U+0644 U+0627 ; + +P z P z > U+0638 U+0651 ;;SHADDA +P z > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;pashto ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Y Y > U+0649 U+0651 ;;SHADDA +Y > U+0649 +w w > U+06CB U+0651 ;;SHADDA +w > U+06CB +y y > U+064A U+0651 ;;SHADDA +y > U+064A +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +V t V t > U+0679 U+0651 ; urdu ;;SHADDA +V t > U+0679 +UL t UL t > U+062B U+0651 ;;SHADDA +UL t > U+062B +P t P t > U+0637 U+0651 ;;SHADDA +P t > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +P s P s > U+0635 U+0651 ;;SHADDA +P s > U+0635 +V s V s > U+069A U+0651 ;Pashto ;;SHADDA +V s > U+069A ;Pashto +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+0692 U+0651 ;Kurdish ;;SHADDA ; missing in ArabTeX <<< +C r > U+0692 +P r P r > U+0695 U+0651 ;Kurdish ;;SHADDA +P r > U+0695 +V r V r > U+0691 U+0651 ;Urdu ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ; urdu ;;SHADDA +P n > U+06BA ; +V n V n > U+06BC U+0651 ; Pashto +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +C l C l > U+06B5 U+0651 ;kurdish ;;SHADDA +C l > U+06B5 +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ; pashto urdu ;;SHADDA +P k > U+06A9 +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +x x > U+062E U+0651 ;;SHADDA +x > U+062E +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +P h P h > U+062D U+0651 ;;SHADDA +P h > U+062D +V h V h > U+06C1 U+0651 +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +C g C g > U+063A U+0651 ;;SHADDA +C g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;pashto ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+0688 U+0651 ;urdu ;;SHADDA +V d > U+0688 ;urdu +C d C d > U+06EE ; not defined in ArabTeX U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +UL d UL d > U+0630 U+0651 ;;SHADDA +UL d > U+0630 +P d P d > U+0636 U+0651 ;;SHADDA +P d > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;pashto ;;SHADDA +V c > U+0685 +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +c c > U+0681 U+0651 +c > U+0681 ; ح with hamza above +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H > U+0626 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / . _ . > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... +U+005B / . _ . > U+200D U+005B U+200D ; ... (but of course this screws up contextual analysis, so quoting of hamzas etc may be necessary) +Q > ; +N > ; +C > ;^ +Z > ;- +BAR > ;| + + diff --git a/Master/texmf-dist/source/xelatex/arabxetex/arabtex-urdu-trans-loc.map b/Master/texmf-dist/source/xelatex/arabxetex/arabtex-urdu-trans-loc.map new file mode 100644 index 00000000000..9acc465eb12 --- /dev/null +++ b/Master/texmf-dist/source/xelatex/arabxetex/arabtex-urdu-trans-loc.map @@ -0,0 +1,180 @@ +;; LHSName "ArabTeX-ZDMG" +LHSName "ArabTeX-LOC" +;; LHSName "ArabTeX-EI" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define LLAH U+006C U+006C U+005F U+0061 U+0068 + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” + +Define BEG (#|Z|[BRACKETS]) + +; special ligatures +(a|A) l Z / _ LLAH > A ;; 'al-ll_ah' or 'Al-ll_ah' +U+0053 U+004C U+004D > U+1E63 U+0061 U+006C U+006C U+0101 U+0020 U+0041 U+006C U+006C U+0101 U+0068 U+0020 U+02BF U+0061 U+006C U+0061 U+0079 U+0068 U+0069 U+0020 U+0077 U+0061 U+002D U+0073 U+0061 U+006C U+006C U+0061 U+006D ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0052 U+0049 U+0059 U+0041 U+004C > U+0072 U+0069 U+0079 U+0101 U+006C ;; 'RIYAL' : Saudi currency sign +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > ;; 'SALLASTOP' +U+0051 U+0041 U+004C U+0041 > ;; 'QALA' +U+0041 U+004B U+0042 U+0041 U+0052 > U+0041 U+006B U+0062 U+0061 U+0072 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+004D U+0075 U+1E25 U+0061 U+006D U+006D U+0061 U+0064 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+0073 U+0061 U+006C U+0101 U+006D ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+0072 U+0061 U+0073 U+016B U+006C ;; 'RASUL' (also unicode 'RASOUL)' +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+02BF U+0061 U+006C U+0061 U+0079 U+0068 U+0069 ;; 'ALAYHI' (also unicode 'ALAYHE)' +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+0077 U+0061 U+002D U+0073 U+0061 U+006C U+006C U+0061 U+006D ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+1E63 U+0061 U+006C U+006C U+0101 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+006A U+0061 U+006C U+006C U+0101 ;; 'JALLA' : +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+0062 U+0069 U+0073 U+006D U+0069 U+0020 U+0041 U+006C U+006C U+0101 U+0068 U+0020 U+0061 U+006C U+002D U+0072 U+0061 U+1E25 U+006D U+0101 U+006E U+0020 U+0061 U+006C U+002D U+0072 U+0061 U+0068 U+012B U+006D ;; 'BASMALA' +U+005E U+0053 U+004C U+0059 > ;; ^SLY +U+005E U+0051 U+004C U+0059 > ;; ^QLY +U+005E U+004D U+0049 U+004D > ;; ^MIM +U+005E U+004C U+0041 > ;; ^LA +U+005E U+004A U+0049 U+004D > ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > ;; ^DOTS +U+005E U+0053 U+0049 U+004E > ;; ^SIN +U+0048 U+0049 U+005A U+0042 > ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > ;; RECTZERO +U+0053 U+0041 U+004A U+0044 U+0041 > ;; SAJDA +U+0044 U+004F U+0054 U+0053 > ;; DOTS + + +; general + +;persian +UL h w > k h +;; #zdmg UL h w > U+1E2B +U+0048 > h ; capital H > h +;; +;; #zdmg l Z [SUNCONS]=sc / (a | H) _ > @sc Z @sc ; +;; #zdmg [VWL] / [VWL] BEG _ > U+2019 ; vowel at beg of word replaced by apostr when prec word end with vowel +;; #zdmg (A|Y|UL A) / _ (N|U|W) > ; + +; problem of "T": It should be omitted when at end of word and when not +; the 1st member of a definite construct: al-madInaT al-`a.zImaT > al-madīna al-ʿaẓīma +; Only solution is to always transliterate to t, except when explicitly "quoted off": +T Q / _ # > ; +T > h +N > n +U+0057 > w +(U|u u|UL u) > U+016B +(A|a a|UL a|UL A) > U+0101 +(I|i i|UL i) > U+012B +(E|a e) / _ # > H U+0113 +(E|e e) > U+0113 +(O|o o) > U+014D +C A > U+02BE U+0101 ; historical spelling +C U > U+02BE U+016B ; historical spelling : madda on waw +C I > U+02BE U+012B ; historical spelling : madda on ya +P m I n > m i n ; +H BAR I n > i n ; +Q > ; + +P z > U+1E93 +V z > U+017A +;; #zdmg C z > U+017E ;check +C z > z h ;check +V t > t U+0301 +P t > U+1E6D +;; #zdmg UL t > U+1E6F +UL t > t h +;; #zdmg C s > U+0161 +C s > s h +UL s > U+1E6F ; sindhi +V r > U+0155 +P r > U+1E59; r with dot above +P q > q ; ? +V n > U+0144 +C n > U+00F1 +P n > U+1E47 +CO n > n U+0324 +C l > l U+0303 ; l + combining tilde +CO g > g U+0324 +V d > d U+0301 +CO d > d U+0324 +P d > U+1E0D +V s > U+015B +P s > U+1E63 +;; #zdmg (j|C g) > U+01E7 ; +(j|C g) > j ; +CO j > U+0237 U+0308 +P h > U+1E25 +V h > h +;; #zdmg (UL h|x) > U+1E2B +(UL h|x) > k h +G > g +P g > U+0121 +P f > f ; ? +;; #zdmg UL d > U+1E0F +UL d > d h +;; #zdmg C c > U+010D ; +C c > c h ; +CO b > b U+0324 +P b > x ; ? undotted (b,t,th,n,y) ... + +Y > U+0101 ;ā -> sometimes á : check + + +Ain > U+02BF +H > U+02BE +Z Z Z > ; +Z Z > ; +B > ; +U+003C U+003C > U+00AB ;<< +U+003E U+003E > U+00BB ;>> +UL > ;_ +U+003A U+003A > U+2234 ; '::' ??Arabic three dots transliterated by Therefore?? +N > ; +C > ;^ +Q BAR > ;; +BAR > ;| + diff --git a/Master/texmf-dist/source/xelatex/arabxetex/arabtex.maps b/Master/texmf-dist/source/xelatex/arabxetex/arabtex.maps new file mode 100644 index 00000000000..cc7dec079ba --- /dev/null +++ b/Master/texmf-dist/source/xelatex/arabxetex/arabtex.maps @@ -0,0 +1,785 @@ +## This is the master file to generate the TECkit ArabTeX font mappings +## for use with XeTeX +## The mappings are generated with a simple perl script (makemaps.pl) +## +## Conventions used: +## --------------------------------------------------------------------------------- +## Lines starting with ## are comments that don't appear in the map files +## +## Lines that don't begin with # are common to all mappings +## Otherwise the letters following '#' indicate specific mappings +## according to vocalization modes and languages +## #...n -> non-vocalized +## #...v -> vocalized and fully voc. +## #...f -> fully voc. +## @v -> voc only +## The language codes are: +## A -> Arabic +# B -> Maghribi Arabic +## P -> Persian +## U -> Urdu +## T -> Pashto +## S -> Sindhi +## K -> Kashmiri +## O -> Ottoman Turkish +## M -> Malay +## KURDISH AND UIGHUR ARE CODED SEPARATELY <<< +## The above can be negated with #-[APUTSKOM] +## Lines starting with '@[AP...][nvf]' are specific to the mapping +## indicated by the two-letter key, following the conventions above +## ---------------------------------------------------------------------------------- +@An LHSName "ArabTeX-novowels" +@Av LHSName "ArabTeX-vocalized" +@Af LHSName "ArabTeX-fullvocalized" +@Bn LHSName "ArabTeX-maghribi-novowels" +@Bv LHSName "ArabTeX-maghribi-vocalized" +@Bf LHSName "ArabTeX-maghribi-fullvocalized" +@Pn LHSName "ArabTeX-farsi-novowels" +@Pv LHSName "ArabTeX-farsi-vocalized" +@Pf LHSName "ArabTeX-farsi-fullvocalized" +@Un LHSName "ArabTeX-urdu-novowels" +@Uv LHSName "ArabTeX-urdu-vocalized" +@Uf LHSName "ArabTeX-urdu-fullvocalized" +@Sn LHSName "ArabTeX-sindhi-novowels" +@Sv LHSName "ArabTeX-sindhi-vocalized" +@Sf LHSName "ArabTeX-sindhi-fullvocalized" +@Kn LHSName "ArabTeX-kashmiri-novowels" +@Kv LHSName "ArabTeX-kashmiri-vocalized" +@Kf LHSName "ArabTeX-kashmiri-fullvocalized" +@Tn LHSName "ArabTeX-pashto-novowels" +@Tv LHSName "ArabTeX-pashto-vocalized" +@Tf LHSName "ArabTeX-pashto-fullvocalized" +## @Kn LHSName "ArabTeX-kurdish-novowels" +## @Kv LHSName "ArabTeX-kurdish-vocalized" +## @Kf LHSName "ArabTeX-kurdish-fullvocalized" +@On LHSName "ArabTeX-turk-novowels" +@Ov LHSName "ArabTeX-turk-vocalized" +@Of LHSName "ArabTeX-turk-fullvocalized" +@Mn LHSName "ArabTeX-malay-novowels" +@Mv LHSName "ArabTeX-malay-vocalized" +@Mf LHSName "ArabTeX-malay-fullvocalized" +## @Rn LHSName "ArabTeX-uighur-novowels" +## @Rv LHSName "ArabTeX-uighur-vocalized" +## @Rf LHSName "ArabTeX-uighur-fullvocalized" +## +## +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +#0 (a|A) BAR? l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +#1 (a|A) BAR? l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +#0 LLAH > U+FDF2 ;; 'll_ah' > U+FDF2 +#1 LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h' +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: +#0 U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH' +#1 U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH' +#0 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH' +#1 U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +#n [AVWL] > ; strip off vowels when writing UTF-8 Arabic with novoc mode +#T a e > a U+0626 +#T E e > U+0659 U+06CD +#T e e > U+0659 U+0626 +#T E > U+0659 U+06D0 +CO O > U+06FC ; +#T O > U+0657 w +#T o > U+0657 +#U H E > U+06D3 ;; hamza + yeh barree +#U E / _ # > U+06D2 +#U E > y +#U a e / _ # > a U+06D2 +#-T a e > a y +a o > a w +#PUKS (o|u)? O / # _ > U+0627 w +#PUKS (o|u)? O > w +CO U > U+06C7 ; +#-TK e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish) +#T e > U+0659 +#K e / # _ # > U+0627 U+06D2 U+0658 ; Alif + yeh barree + bow accent +#K e / _ # > U+06D2 U+0658 ; yeh barree + bow accent +#K e / # _ > U+0627 y U+0658 ; alif + ya + bow accent +#K e > y U+0658 +#K E / # _ # > U+0627 U+06D2 ; Alif + yeh barree +#K E / _ # > U+06D2 ; yeh barree +#K E / # _ > U+0627 y ; alif + ya +#K E > y +#K o / # _ > U+0627 U+06C6 +#K o > U+06C6 +#-TK o > u +#AP E > I +#A O > U +#K P A > U+0672 +#K P U > U+0673 ; > this is the initial or lone form, but medial and final require wavy hamza below previous letter (not in Unicode)! Perhaps an OT font could solve this :: in Scheherazade the glyph needed is named _wavyHamza <<< +#K P a / # _ > U+0623 +#K P a > U+0654 +#K P u > U+0655 +#K P o / # _ > U+0627 U+06C4 +#K P o > U+06C4 +#K P O / # _ > U+0627 U+06C4 U+0627 U+064E +#K P O > U+06C4 U+0627 U+064E +#K I > y U+0656 +#K I / _ # > y +#K U / _ # > U+0627 w U+0657 +#K U > w U+0657 +#-ASMK I / _ # > i y + + +#-A ;; Persian ezafe (ALL BUT ARABIC AND UIGHUR) +#-A U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<< +#-A U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I +#-A Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e +#-A Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I +#-A Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i +#-A Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i +#-A Z / U+0048 _ > U+0020 ; +#-A 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 +#An H l Z / BEG _ > U+0627 l Z +@Av H l Z / BEG _ > U+0627 l Z +@Bv H l Z / BEG _ > U+0627 l Z +#Af H l Z / BEG _ > U+0671 l Z ; THIS IS NOT AN ARABTEX CONVENTION! it's a work-around coz pattern-matching across word boundaries does not work in teckit , so min al- must be written mina 'l- in fullvocalize mode +;; wasla on initial alif : NEW! NOT TESTED! +#Af [VWL]=v1 Z / BEG _ > @v1 U+0671 ; THIS IS NOT AN ARABTEX CONVENTION! it's a work-around coz pattern-matching across word boundaries does not work in teckit , so huwa irtifA` must be written huwa i-rtifA` in fullvocalize mode +#n H / BEG _ l l > U+0627 ; +#v H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI +#n [VWL]=v1 / BEG _ > A @v1 +#v [VWL]=v1 / BEG _ > U+0627 @v1 +#An A / BEG _ > A a +#Av A / BEG _ > U+0627 a +#PU A / BEG _ > HA ;; ADD MORE ? <<< +#n Q?=q1 U / BEG _ > A @q1 u w ; -U +#v Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U +#n ; Q?=q1 I / BEG _ > A @q1 i y ; -I ; but not when I is final FIXME!!! +#v ; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I +#-Pn Q?=q1 I / BEG _ > A @q1 i y ; except for Persian, coz of ezafe rules +#-Pv Q?=q1 I / BEG _ > U+0627 @q1 i y +#Pn Q?=q1 I / BEG _ ^# > A @q1 i y ; -I... +#Pv Q?=q1 I / BEG _ ^# > U+0627 @q1 i y ; -I... +#P Z Q?=qq (I|E) / _ (#|Z) > @qq i y ; +#P UL Q?=q1 U > @q1 U +#P Q?=q1 U / # _ # > U+0627 @q1 u w +#P Q BAR > U+0020; "| to separate compounds >> IN TRANSLIT THIS WILL BE REMOVED + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +#n m Q i H Q a / _ (T|t) > m Q i A Hy Q a +#n m Q i H a / _ (T|t) > m Q i A Hy +#n m i H Q a / _ (T|t) > m A Hy Q a +#n m i H a / _ (T|t) > m A Hy +#v m Q i H Q a / _ (T|t) > m U+0627 Hy +#v m Q i H a / _ (T|t) > m U+0627 Hy a +#v m i H Q a / _ (T|t) > m i U+0627 Hy +#v m i H a / _ (T|t) > m i U+0627 Hy a + +#-S +#-S ;; contextual analysis of hamzas +#-S ;; THESE DO NOT APPLY FOR SINDHI +#-S +#-S ; initial hamzas +#-S H / (#|^[LTR]) _ Q? [Iyi] > Hi +#-S H Q A / (#|^[LTR]) _ > HA ; alif madda +#-S H / (#|^[LTR]) _ Q? [Uwu] > Ha +#-S H / (#|^[LTR]) _ Q? a > Ha +#-S Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word +#-S +#-S ; quoted hamzas in contextual mode, equivalent to verbatim mode +#-S a Q H > Ha +#-S i Q H > Hi +#-S y Q H > Hy +#-S w Q H > Hw +#-S h Q H > Hh +#-S A Q H > HA +#-S B Q H > HB +#-S BAR Q H > HBAR +#-S +#-S ; hamza + fathatan +#-S H / a _ Q? AN > Ha +#-S ;;H / [Iyi] _ Q? AN > Hy +#-S H / _ Q? AN > Hy +#-S +#-S ;final hamzas +#-S H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +#-S H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +#-S H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +#-S H / a _ Q? (#|^[LTR]) > Ha ; not AN... +#-S H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +#-S H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +#-S H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw +#-S +#-S ;;and more hamzas ... +#-S +#-S ; n°1: kasra/ya +#-S H / [LTR] _ Q? [Iyi] ^N > Hy +#-S H / [Iyi] _ > Hy +#-S +#-S ; n°2: damma/waw +#-S H / [LTR] _ Q? (U|u) ^N > Hw +#-S H / (U|u) _ Q? ^[Iyi] > Hw +#-S H / U _ > HBAR +#-S +#-S ; n°3: fatha/alif +#-S H Q? A > HA +#-S H / A _ Q? a > HBAR +#-S H / ^[UI] _ Q? a > Ha +#-S H / a _ Q? ^[UI] > Ha + +## +##;; take care of all shaddas at once? NOT WORKING, have to give them one by one +##;; ((V|C|P|UL)=l1 (b|c|d|f|g|h|j|k|l|m|n|p|q|r|s|t|w|x|y|z|Ain|T)=l2){2,2} > @l1 @l2 U+0651 ; +##;; ((b|c|d|f|g|h|j|k|l|m|n|p|q|r|s|t|w|x|y|z|Ain|T)=l1){2,2} > @l1 U+0651 ; +##;; #U ;special rules for Urdu : NO! tashdid realized as ^c^ch instead of ^ch^ch +##;; #U (C (c|g)=x h){2,2} > C @x h U+0651 +##;; #U (V (t|d|r)=x h){2,2} > V @x h U+0651; +##;; #U ((b|p|t|j|d|r|k|g|l|m|n)=x h){2,2} > @x h U+0651 + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + +##; all hamzas are now in verbatim mode +##;;;H a > U+0623 +##;;;H i > U+0625 +##;;;H y > U+0626 +##;;;H w > U+0624 +##;;;H h > U+0647 U+0654 +##;;;H A > U+0622 +##;;;H B > U+0640 U+0654 +##;;;H BAR > U+0621 ; '| + + +;normal code +## add code for V S M K .k .l (.p=.f) (.v=.b) .y +## .A .U (.T=Y) +## CHECK ,a ,c ,d ,e ,g ,h ,n ,r ,s ,t ,z ,A +## ^ alone=alif with hazma above, ^a=alif hamza fatha, ^i = alif hamza kasra, ^u=alif damma waw (no hamza) +## CHECK ^d ^e ^i ^l ^n ^z +## CHECK (^A='A) +## CHECK (_k=.g) (_s=_t) (_z=_d) +## IMPLEMENT (:a :e :i :o :u = alif + vowel) +## IMPLEMENT :b :d :g :j :n :s (:t=.t?) (:z=.d?) :O :U + +#S ;; special code for sindhi +#S ;; U+004D U+0049 U+004E > U+06FE ; define macro \MIN in sindhi env +#S P m I N > U+06FE ; .mIN +#S ;; U+0049 U+004E > U+06FD ; IN define macro \IN in sindhi env +#S H BAR I N > U+06FD ; '|IN + +#K CO z CO z > U+0636 U+0651 ;;SHADDA +#K CO z > U+0636 +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +#-O V z V z > U+0696 U+0651 ;;SHADDA +#-O V z > U+0696 ;pashto +#O V z V z > U+0636 U+0651 ;;SHADDA +#O V z > U+0636 +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +#n Y Y > U+0649 U+0651 ;;SHADDA +#n Y > U+0649 +#v Q Y Y > U+0649 U+0651 ;;SHADDA +#v Q Y > U+0649 +#v Y Y > U+064E U+0649 U+0651 ;;SHADDA +#v Y > U+064E U+0649 +#K ;; .b with ring below : FIXME not in Unicode! but U+06EA is a poor replacement: +#K P y / # _ # > U+0627 U+06D2 U+06EA +#K P y / _ # > U+0649 +#K P y > U+066E U+06EA +#-ASM ;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots +#-ASM y y > U+06CC U+0651 ;;SHADDA +#-ASM y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots +#ASMv P I P I / _ # > U+0650 U+06CC U+0651 ;; SHADDA +#ASMv P I / _ # > U+0650 U+06CC ;; workaround to have ya without dots in Arabic +#ASMn P I P I / _ # > U+06CC U+0651 ;; SHADDA +#ASMn P I / _ # > U+06CC ;; workaround to have ya without dots in Arabic +#ASM y y > U+064A U+0651 ;;SHADDA +#ASM y > U+064A +#B v v > U+06A5 U+0651 ;;SHADDA +#B v > U+06A5 ;; maghribi +#M v v > U+06CF U+0651 ;;SHADDA +#M v > U+06CF +#-MB v v > U+06A4 U+0651 ;;SHADDA +#-MB v > U+06A4 +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +#n Q U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +#n Q U > U+064F U+0648 +#n [Uw] [Uw] > U+0648 U+0651 ;;SHADDA +#n [Uw] > U+0648 +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +#n Q u N > U+064C +#n u N > +#n Q u > U+064F +#v U A / _ # > U+064F U+0648 U+0627 +#v Q U [Uw] > U+0648 U+0651 ;;SHADDA +#v Q U > U+0648 +#v U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +#v U > U+064F U+0648 +#v w w > U+0648 U+0651 ;;SHADDA +#v w > U+0648 +#v Q u N? > +#v u N > U+064C +#v u > U+064F +#S V t h V t h > U+067A U+0651 ;;SHADDA +#S V t h > U+067A +#S t h t h > U+067F U+0651 ;;SHADDA +#S t h > U+067F +#S V t V t > U+067D U+0651 ;;SHADDA +#S V t > U+067D +#T V t V t > U+067C U+0651 ;;SHADDA +#T V t > U+067C ; pashto +#-TS V t V t > U+0679 U+0651 ;;SHADDA +#-TS V t > U+0679 ;urdu +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +#n T T Q AN > U+0629 U+0651 U+064B ;;SHADDA +#n T Q AN > U+0629 U+064B +#n T AN > U+0629 +#v T T Q AN > U+0629 U+0651 ;;SHADDA +#v T Q AN > U+0629 +#v T AN > U+0629 U+064B +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +#-O V s V s > U+069A U+0651 ;;SHADDA +#-O V s > U+069A ;Pashto +#O V s V s > U+0634 U+0651 ;;SHADDA +#O V s > U+0634 +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +## ;; ADD 069C-069F <<<<<<<<<< +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +#S V r V r > U+0699 U+0651 ;;SHADDA +#S V r > U+0699 +#T V r V r > U+0693 U+0651 ;;SHADDA +#T V r > U+0693 ;Pashto +#-ST V r V r > U+0691 U+0651 ;;SHADDA +#-ST V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +#-B q q > U+0642 U+0651 ;;SHADDA +#-B q > U+0642 +#B q q > U+06A7 U+0651 ;; maghribi +#B q > U+06A7 ;; maghribi +#S p h p h > U+06A6 U+0651 ;;SHADDA +#S p h > U+06A6 +#M p p > U+06A8 U+0651 ;;SHADDA +#M p > U+06A8 ;Old malay +#-M p p > U+067E U+0651 ;;SHADDA +#-M p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +#M C n C n > U+06BD U+0651 ;;SHADDA +#M C n > U+06BD ; <<< ArabTeX yields nūn with three dots below, which is not in Unicode! +#S C n C n > U+0683 U+0651 ;;SHADDA +#S C n > U+0683 +#-SM C n C n > U+06AD U+0651 ;;SHADDA +#-SM C n > U+06AD +## U+06AE Berber <<< +#S P P n P P n > U+06B2 U+0651 ;;SHADDA +#S P P n > U+06B2 ;; old sindhi? (not in ArabTeX) <<< +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +#S V n V n > U+06BB U+0651 ;;SHADDA +#S V n > U+06BB +#-S V n V n > U+06BC U+0651 ;;SHADDA +#-S V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +## U+06B7 U+06B8 U+06B9 missing <<< +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +#S k h k h > U+06A9 U+0651 ;;SHADDA +#S k h > U+06A9 +#-O P k P k > U+06A9 U+0651 ;;SHADDA +#-O P k > U+06A9 ; pashto urdu +#O P k P k > U+0642 U+0651 ;;SHADDA +#O P k > U+0642 ; Ottoman qaf +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +#S k k > U+06AA U+0651 ;;SHADDA +#S k > U+06AA ; kaf swash +#-S k k > U+0643 U+0651 ;;SHADDA +#-S k > U+0643 +#-MO C g C g > U+062C U+0651 ;;SHADDA +#-MO C g > U+062C +#MO C g C g > U+06A0 U+0651 ;;SHADDA +#MO C g > U+06A0 +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +#O j j > U+0698 U+0651 ;;SHADDA +#O j > U+0698 +#-O j j > U+062C U+0651 ;;SHADDA +#-O j > U+062C +#n Q I > U+0650 U+064A +#v Q I > U+064A +#v 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 = ### +#n I > U+064A +#n Q i N > U+064D +#n i N > ; +#n Q i > U+0650 +#v Q i N? > ; +#v i N > U+064D +#v i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +#PT U+0048 Z > U+0647 U+200C U+0020 ;eH-suffix > eH suffix +#PT U+0048 > U+0647 U+200C ; H is always heh final +#U U+0048 > U+06C3 +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +#U H H > U+06C1 U+0651 ;;SHADDA +#U H > U+06C1 +#U h h > U+06BE U+0651 ;;SHADDA +#U h > U+06BE ; urdu +#U ;; fix letter+h letter+h > letter+h shadda in URDU <<< +#S h h > U+06BE U+0651 ;;SHADDA +#S h > U+06BE +#-US h h > U+0647 U+0651 ;;SHADDA +#-US h > U+0647 +#S P CO g P CO g > U+06B4 U+0651 ;;SHADDA +#S P CO g > U+06B4 ;; old sindhi? (not in ArabTeX) <<< +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +#M g g > U+0762 U+0651 ;;SHADDA +#M g > U+0762 +#-M g g > U+06AF U+0651 ;;SHADDA +#-M g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +## U+06B0 western punjabi <<< +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +#B f f > U+06A2 U+0651 ;; SHADDA +#B f > U+06A2 ;; maghribi +## ingushi CO f > U+06A3 <<< +#-B f f > U+0641 U+0651 ;;SHADDA +#-B f > U+0641 +#S V d h V d h > U+068D U+0651 ;;SHADDA +#S V d h > U+068D +#-TU V d V d > U+068A U+0651 ;;SHADDA +#-TU V d > U+068A +#T V d V d > U+0689 U+0651 ;;SHADDA +#T V d > U+0689 ;pashto +#U V d V d > U+0688 U+0651 ;;SHADDA +#U V d > U+0688 ;urdu +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +#S d h d h > U+068C U+0651 ;;SHADDA +#S d h > U+068C +#S C d C d > U+068E ;;SHADDA +#S C d > U+068E ; old sindhi: not in ArabTeX +#-S C d C d > U+06EE U+0651 ;;SHADDA +#-S C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +#U CO CO d CO CO d > U+0690 U+0651 ;;SHADDA +#U CO CO d > U+0690 ; old urdu: not in ArabTeX +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +#S C c h C c h > U+0687 U+0651 ;;SHADDA +#S C c h > U+0687 +#O V c V c > U+0686 U+0651 ;;SHADDA +#O V c > U+0686 ; Ottoman ç +#-O V c V c > U+0685 U+0651 ;;SHADDA +#-O V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +#M c c > U+0686 U+0651 ;;SHADDA +#M c > U+0686 +#O c c > U+062C U+0651 ;;SHADDA +#O c > U+062C +#-MO c c > U+0681 U+0651 ;;SHADDA +#-MO c > U+0681 ; ح with hamza above +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +#S b h b h > U+0680 U+0651 ;;SHADDA +#S b h > U+0680 +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +#n UL A > U+0649 +#v UL A > U+064E U+0649 +UL a > U+0670 +#A UL u > U+0657 ; inverted damma +#A UL i > U+0656 ; subscript alif +#-An UL u > ; +#-An UL i > ; +#-Av UL u > U+064F; +#-Av UL i > U+0650; +#n Q AN / (A H|Ha) _ > U+064B +#n AN / (A H|Ha) _ > ; +#v Q AN / (A H|Ha) _ > ; +#v AN / (A H|Ha) _ > U+064B +#n Q AN > U+0627 U+064B +#n AN > U+0627 +#n Q a > U+064E +#n Q A > U+064E U+0627 +#n A > U+0627 +#v Q AN > U+0627 +#v AN > U+0627 U+064B +#v Q a > +#v a > U+064E +#v Q A > U+0627 +#v A > U+064E U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +#-PUSKT [Digits] > [ArDigits] +#PUSKT [Digits] > [ArEasternDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +#n [VWL] > ;stripoff vowels +#v Q [VWL] > ;stripoff quoted vowels +#n Q > U+0652 +@v Q > U+0652 +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +#n Z > ;- +BAR > ;| +#U P P > U+06D4 ; urdu full stop << check + +#v pass(Unicode) +#v +#v Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-) +#v Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc. +#v Class [VWL] = (U+0627 U+0648..U+0650 U+0670); +#v +#f [CONS]=k1 / _ Z? [CONS] ^U+0651 > @k1 U+0652 ; hack: 2nd consonant has no shadda +#f U+064E (U+064A|U+0648)=hc / _ (^[VWLX]|#) > U+064E @hc U+0652 ; ay and aw diphtongs +@Av U+0627 [VWL]? / [VWL] Z _ > U+0627 ; e.g. fa-isti_hraj -> initial alif has no vowel +@Bv U+0627 [VWL]? / [VWL] Z _ > U+0627 ; e.g. fa-isti_hraj -> initial alif has no vowel +#Af U+0627 [VWL]? / [VWL] Z _ > U+0671 ; e.g. fa-isti_hraj -> wasla on initial alif +#f;; U+0627 / [VWL] U+0020 _ U+0644 > U+0671 ; wasla on initial alif-lam >>>THIS DOES NOT WORK<<< implemented in first pass instead... +#f U+0627 / # _ U+0644 > U+0627 U+064E ; otherwise initial alif takes fatha +#f [CONS]=k1 / _ ([CONS]|#) > @k1 U+0652 ; consonant + (consonant or final) +#f ;; [CONS]=k1 / _ # > @k1 U+0652 ; final consonant +#f Q > ; +#v Z > ; diff --git a/Master/texmf-dist/source/xelatex/arabxetex/arabxetex.dtx b/Master/texmf-dist/source/xelatex/arabxetex/arabxetex.dtx new file mode 100644 index 00000000000..513dc3081cd --- /dev/null +++ b/Master/texmf-dist/source/xelatex/arabxetex/arabxetex.dtx @@ -0,0 +1,2026 @@ +% \iffalse +% +%!TEX encoding = UTF-8 Unicode +% +% Copyright © 2007-2010 by François Charette +% +% Distributable under the LaTeX Project Public License, +% version 1.3c or higher (your choice). The latest version of +% this license is at: http://www.latex-project.org/lppl.txt +% +% This work is "maintained" (as per LPPL maintenance status) +% by François Charette. +% +% This work consists of the file arabxetex.dtx +% and the derived files arabxetex.sty, arabxetex.pdf and +% several accompanying *.map files. +% +% +%<*batchfile> +\begingroup +\input docstrip.tex +\keepsilent +\preamble + + ____________________________ + The arabxetex package + © 2007–2010 François Charette + License information appended + + +\endpreamble +\postamble + +Copyright © 2007–2010 by François Charette + +Distributable under the LaTeX Project Public License, +version 1.3c or higher (your choice). The latest version of +this license is at: http://www.latex-project.org/lppl.txt + +This work is "maintained" (as per LPPL maintenance status) +by François Charette. + +This work consists of the file \jobname.dtx +and the derived files \jobname.sty and \jobname.pdf. +as well as an extensive collection of TECKit files +(*.map, compiled as *.tec). + +\endpostamble +\askforoverwritefalse +\generate{\file{\jobname.sty}{\from{\jobname.dtx}{package}}} +\generate{\file{\jobname.ins}{\from{\jobname.dtx}{batchfile}}} +\nopreamble\nopostamble +\generate{\file{README}{\from{\jobname.dtx}{readme}}} +\generate{\file{arabxetex-dtx-style.sty}{\from{\jobname.dtx}{dtx-style}}} +\endgroup +% +% +%<*driver> +\documentclass[11pt]{ltxdoc} +\usepackage{arabxetex-dtx-style} +\EnableCrossrefs +\CodelineIndex +\RecordChanges +%\OnlyDescription +\begin{document} + \DocInput{\jobname.dtx} +\end{document} +% +% +%<*readme> +-------------------------- +THE ARABXETEX PACKAGE v1.1.4 + +This package provides a convenient ArabTeX-like user-interface for typesetting +languages using the Arabic script in XeLaTeX, with flexible access to font +features. Input in ArabTeX notation can be set in three different +vocalization modes or in roman transliteration. Direct UTF-8 input is also +supported. Since most of the ‘real work’ -- namely parsing and converting +ArabTeX input to Unicode -- is done at the level of TECkit mappings, +ArabXeTeX is really performant. + +The TECkit fontmapping files (*.map and *.tec) should be copied to +/fonts/misc/xetex/fontmapping/arabxetex/ + +------------------------- +François Charette +© 2007–2010 +% +% +% \fi +% +% \errorcontextlines=999 +% \makeatletter +% +% \GetFileInfo{\jobname.sty} +% +% \title{~\hfil {\color{IslamicGreen}\arabxetex \hfil \arabxetexAr}\hfil~\\ +% An \arabtex-like interface for typesetting languages in Arabic script with \XeLaTeX} +% \author{François Charette} +% \date{\filedate \qquad \fileversion} +% +% \maketitle +% \tableofcontents +% +% +% \DeleteShortVerb{\|} +% \MakeShortVerb{\¦} +% +% \begin{abstract} +% This package provides a convenient \arabtex-like user-interface for typesetting +% languages using the Arabic script in \XeLaTeX, with flexible access to font +% features. Input in \arabtex\ notation can be set in three different vocalization +% modes or in roman transliteration. Direct UTF-8 input is also supported. +% Since most of the ‘real work’ -- namely parsing and converting \arabtex\ input to Unicode -- +% is done at the level of TECkit mappings, \arabxetex\ is really performant. +% \end{abstract} +% +% \tableofcontents +% +% \section{Introduction} +% +% Since the early 1990s, \TeX\ users who wished to typeset in Arabic script +% have relied on Klaus Lagally's excellent \arabtex\ system.\footnote{ ^^A +% \url{ftp://ftp.informatik.uni-stuttgart.de/pub/arabtex/arabtex.htm}. +% Version 2.00 was released in April 1992 and version 3.00 in November of +% the following year. The latest stable version (dated 2 July 2006) is +% 3.11s. Since version 3.02 the Hebrew language is also supported.} +% While \arabtex's overall qualities and Lagally's masterful \TeX-programming +% abilities are undeniable, the system can hardly hide its 15-odd years of +% existence. Or to state it otherwise, it is now slowly becoming an archaic +% piece of sofware (which as a historian who has used \arabtex\ for more than +% eleven years I find a sad thing to admit). First of all, it is monolithic and +% idiosyncratic, in the sense that everything -- from parsing the input encoding, +% to doing contextual analysis, to assembling all elements of the script and +% placing them on the page from right to left, in defiance of \TeX's natural +% logic -- is taken care of by means of \TeX\ macro programming. Thus before the +% availability of relatively fast Pentium processors, \arabtex\ was really slow, +% but this is less of an issue nowadays. Another disadvantage is that one is +% inexorably bound to use the custom Naskh font, which without being necessarily +% ugly does not meet the standards of fine typesetting. Finally, the collection +% of very sophisticated \TeX\ code that constitutes the \arabtex\ package is not +% documented at all, which means that even though it is now licensed under the +% LPPL, its internals are extremely difficult to understand in depth. +% (It is only fair to state, however, that Prof.~Lagally has been extremely +% responsive to ideas, suggestions and wishes by users in the past). +% +% The introduction of Omega in \ca 1996, a \TeX\ extension for multilingual, +% multidirectional typesetting based on Unicode, raised of course many hopes, but +% these have by now completely dissipated since the project has been moribund for +% several years and is now probably defunct. Aleph, a more humble attempt to reach +% some of the goals set by Omega, has been equally unsuccessful.\footnote{ ^^A +% Based on Omega 1.15 and \eTeX, Aleph attempted to provide a usable and +% stable branch. See +% \url{http://www.tug.org/TUGboat/Articles/tb25-1/bilotta.pdf}. +% Unfortunately the project is currently dormant.} +% Both engines suffered of numerous bugs and never reached a stable and usable +% state, \textit{at least according to my own subjective experience}. +% +% After completion of the initial alpha version of \arabxetex, I came across the +% package \pkg{Arabi} by Youssef Jabri on CTAN.\footnote{ ^^A +% \url{http://www.ctan.org/tex-archive/language/arabic/arabi/}} +% This is a pure LaTeX/Babel approach to Arabic typesetting which makes use of +% TFM hackery (by means of complex sequences of ligature rules) to provide custom +% contextual analysis for individual fonts. Thus the \pkg{Arabi} only works in +% combination with the fonts for which support is built in the package. +% +% With the availability of Jonathan Kew's \XeTeX, users can now rely on a very +% up-to-date typesetting engine based on the integration of \eTeX, Unicode, and +% modern font-rendering technology (AAT and ICU), without the complex hassle of +% font installation.\footnote{ ^^A +% \url{http://scripts.sil.org/xetex}. \XeTeX\ was originally developed +% for the Mac~OS~X platform, but Linux and WIN32 ports are now available.} +% +% \section{Description} +% +% The \arabxetex\ package consists of a set of \textbf{TECkit}\footnote{ ^^A +% \url{http://scripts.sil.org/TECkit}} +% mappings for converting internally from \arabtex's \ASCII\ input convention to +% Unicode, and a \LaTeX\ style file (\pkg{arabxetex.sty}) that provides a +% convenient user interface for typesetting in those languages. +% For details on \arabtex\ and its input convention the reader is referred to +% Lagally's detailed manual.\footnote{ ^^A +% \url{http://129.69.218.213/arabtex/doc/arabdoc.pdf}} +% \arabxetex\ introduces several additions, and a few minor modifications, +% to \arabtex's conventions. These are documented in tabular form in +% Section~\ref{conventiontable}. \arabxetex\ relies on the package \pkg{bidi} +% which contains the macros necessary for bidirectional typesetting -- +% using \eTeX's \cmd{\beginR} \ldots \cmd{\endR}, \cmd{\beginL} \ldots \cmd{\endL} +% primitives. The main code in \pkg{bidi.sty} is essentially borrowed, +% with minor adaptations, from the file \pkg{rlbabel.def} in the Babel +% distribution (where it serves for typesetting Hebrew). Some improvements +% in the beta version were inspired by Youssef Jabri's \pkg{Arabi}. +% +% Languages supported at present are the same as in \arabtex, namely: Arabic, +% Maghribi Arabic, Farsi (Persian), Urdu, Sindhi, Kashmiri, Ottoman Turkish, +% Kurdish, Jawi (Malay) and Uighur. \arabxetex\ adds support for several +% additional Unicode characters, so that some more languages are probably +% supported de-facto as well (such as Western Punjabi). +% +% \subsection{The \arabtex\ input encoding} +% +% Why would one need to type those languages by means of an old-fashioned +% \ASCII\ \label{arabtexnotes} representation? +% Native speakers have access to keyboards that allow to input +% them directly in Unicode, while non-native scholars who need to type them +% can use keymaps or keyboard utilities to achieve the same, so why bother? +% An expert in Arabic mathematical linguistic and author of the Perl module +% \pkg{Encode::Arabic::ArabTeX}, Otakar Srmž, has this to say about the +% virtues of \arabtex\ \ASCII\ encoding: +% \begin{quote} +% “ArabTeX is an excellent extension to TeX/LaTeX designed for +% typesetting the right-to-left scripts of the Orient. It comes up with +% very intuitive and comprehensible lower \ASCII\ transliterations, the +% expressive power of which is even better than that of the scripts.”^^A\footnote{ % +% [Source: \url{http://search.cpan.org/~smrz/Encode-Arabic-1.16/ArabTeX/ArabTeX.pm#DESCRIPTION}. +% See also \url{http://ufal.mff.cuni.cz/~smrz/ICFP2006/icfp-encode.pdf}]^^A} +% \end{quote} +% There are indeed several advantages in using \arabtex\ input convention for +% typesetting in the Arabic script, besides ease and legibility. First it is +% possible and even trivial to switch between a representation of the data in the +% Arabic script and its romanized transliteration, without having to modify it. +% Second, despite the increasing availability of good Unicode editors that +% support bidirectionality, editing (La)\TeX\ source files with bidirectional +% content can be a real pain, for it leads to confusion and distraction. Also, +% with complex multi-layer documents such as critical editions, where footnotes +% and annotations abound, the advantage of dealing with a plain \ASCII\ encoding +% cannot be overstated. Finally, such an input convention allows far greater +% control of typographical details. +% +% \section{Usage} +% +% For short insertions (say within a LR text), use ¦\text[option]{...}¦ +% \DescribeMacro{\textarab}\DescribeMacro{\textfarsi}\marginpar{\raggedleft\small etc.} +% where ¦¦ is one of the following (alternative names are given in brackets): +% \begin{compactitem}[\textbf{·}] +% \item ¦arab¦ (¦Arabic¦),\footnote{ ^^A +% Since the command \cmd\arabic\ is already defined in \LaTeX, we chose +% the environment ¦arab¦ and the command \cmd\textarab\ instead, +% but the equivalent environment ¦Arabic¦ and the command +% \cmd\textarabic\ are also available.} +% \item ¦farsi¦ (¦persian¦), +% \item ¦urdu¦, +% \item ¦sindhi¦, +% \item ¦pashto¦, +% \item ¦ottoman¦ (¦turk¦), +% \item ¦kurdish¦, +% \item ¦kashmiri¦, +% \item ¦malay¦ (¦jawi¦), and +% \item ¦uighur¦. +% \end{compactitem} +% For typesetting whole paragraphs in Arabic script, use +% \DescribeMacro{\begin\{arab\}}\DescribeMacro{\begin\{farsi\}}\marginpar{\raggedleft\small etc.} +% \begin{Verbatim}[gobble=2,fontsize=\normalsize] +% \begin{}[option] +% ... +% \end{} +% \end{Verbatim} +% +% Most languages can be typeset in one of four modes: non-vocalized, vocalized, +% fully-vocalized, and transliterated, exactly as in \arabtex, and these are +% switched by means of the options ¦novoc¦, ¦voc¦, ¦fullvoc¦ and ¦trans¦, +% respectively. Note that Kurdish and Uighur only have one vocalization mode. +% The mode can be determined either globally as an option to the \pkg{arabxetex} +% package, or as a local option of either the ¦\text¦ commands or +% ¦\begin{}¦ \ldots ¦\end{}¦ environments. +% When no option is set locally, the global option is chosen. +% The default global option is always \textit{non-vocalized} mode. +% +% There is also an option \pkg{utf} for input in plain UTF-8 encoding. Note that +% it is also possible to mix \arabtex\ input convention and UTF-8 characters, +% since the latter will not be affected by the font-mapping (except of course in +% transliteration mode, unless your roman font also contains Arabic characters). +% There are also advantages of choosing an \arabtex\ mapping (\ie one of the +% ¦novoc¦, ¦voc¦ and ¦fullvoc¦ modes) even with UTF-8 encoding, as it provides +% easy access to special glyphs and some useful features. See further below. +% +% Left-to-right insertions in Latin script within an Arabic environment +% can be made by means of the \DescribeMacro{\textLR} +% command \cmd\textLR¦{…}¦.\new{1.1.2}\footnote{ % +% In version 1.0 this was called \cmd\textlatin, which was renamed \cmd\textroman +% in version 1.1. But the former conflicted with \pkg{Babel}, +% and the latter with \pkg{Beamer}. Hopefully \cmd\textLR\ +% won't be as short-lived!} +% Emphasis in Arabic is traditionally indicated by +% overlining the text, and this can be achieved with the command +% \DescribeMacro{\aemph} +% \cmd\aemph:\footnote{ ^^A +% This macro makes use of the mathematical command \cmd\overline, +% which explains why \pkg{arabxetex} requires the \pkg{amsmath} package. +% I welcome any suggestion that would make it possible to circumvent this dependency +% by emulating \cmd\overline\ directly.} +% +% \parindentoff +% \begin{minipage}[t]{.4\textwidth} +% \begin{Verbatim}[gobble=2] +% \begin{arab}[novoc] +% mi_tAl: \aemph{45} darajaT +% \end{arab} +% \end{Verbatim} +% \end{minipage} +% \hfill +% \begin{minipage}[t]{.4\textwidth} +% \begin{arab}[novoc] +% ~ \\ +% mi_tAl: \aemph{45} darajaT +% \end{arab} +% \end{minipage} +% \medskip +% +%\subsection{Font setup} +% +% \arabxetex\ requires the user to define an \cmd\arabicfont\ in the preamble. +% \DescribeMacro{\arabicfont} +% The recommended procedure, by means of \pkg{fontspec}, is to define it as follows: +% \begin{Verbatim}[gobble=2,fontsize=\normalsize] +% \newfontfamily\arabicfont[Script=Arabic]{} +% \end{Verbatim} +% If not, then a warning is issued and \arabxetex\ will attempt to load +% the font \textbf{Scheherazade} (designed by Bob Halissy and +% Jonathan Kew of SIL International).\footnote{ +% Available from \url{http://scripts.sil.org/ArabicFonts}. For +% typesetting Sindhi and Kashmiri, the font \textbf{Lateef}, available at +% the same place, is also recommended.} +% You can also define specific fonts \new{1.1} for all other languages, by similarly defining +% ¦\font¦, such as for example: +% \begin{Verbatim}[gobble=2,fontsize=\normalsize] +% \newfontfamily\urdufont[Script=Arabic]{Nafees Pakistani Naskh} +% \end{Verbatim} +% So for example if the \cmd\texturdu\ command or the ¦urdu¦ environment is used, +% \arabxetex\ will use the \cmd\urdufont\ if it is defined, +% and the \cmd\arabicfont\ if not. In the same manner one can define +% \cmd\maghribifont, \cmd\ottomanfont, \cmd\uighurfont, etc. +% +% +% +% +% \subsection{Examples} +% +% \subsubsection{Contextual analysis of \textit{hamza}} +% +% As with \arabtex, a contextual analysis of the input encoding is performed +% (at the font-mapping level) to automatically determine the carrier of the +% \textit{hamza}, as illustrated by the following examples: +% +% \begin{Verbatim}[gobble=2,fontsize=\normalsize] +% \begin{arab} +% 'amruN, 'ibiluN, 'u_htuN, '"u_ht"uN, '"Uql"Id"Is, ra'suN, 'ar'asu, +% sa'ala, qara'a, bu'suN, 'ab'usuN, ra'ufa, ru'asA'u, bi'ruN, 'as'ilaTuN, +% ka'iba, qA'imuN, ri'AsaTuN, su'ila, samA'uN, barI'uN, sU'uN, bad'uN, +% ^say'uN, ^say'iN, ^say'aN, sA'ala, mas'alaTuN, saw'aTuN, _ha.tI'aTuN, +% jA'a, ridA'uN, ridA'aN, jI'a, radI'iN, sU'uN, .daw'uN, qay'iN, .zim'aN +% , yatasA'alUna, 'a`dA'akum, 'a`dA'ikum, 'a`dA'ukum maqrU'aT, mU'ibAt, +% taw'am, yas'alu, 'a.sdiq^A$\;$'uh_u, ya^g^I'u, s^U'ila +% \end{arab} +% \end{Verbatim} +% +% \begin{arab}[voc] +% 'amruN, 'ibiluN, 'u_htuN, '"u_ht"uN, '"Uql"Id"Is, ra'suN, 'ar'asu, +% sa'ala, qara'a, bu'suN, 'ab'usuN, ra'ufa, ru'asA'u, bi'ruN, 'as'ilaTuN, +% ka'iba, qA'imuN, ri'AsaTuN, su'ila, samA'uN, barI'uN, sU'uN, bad'uN, +% ^say'uN, ^say'iN, ^say'aN, sA'ala, mas'alaTuN, saw'aTuN, _ha.tI'aTuN, +% jA'a, ridA'uN, ridA'aN, jI'a, radI'iN, sU'uN, .daw'uN, qay'iN, .zim'aN +% , yatasA'alUna, 'a`dA'akum, 'a`dA'ikum, 'a`dA'ukum maqrU'aT, mU'ibAt, +% taw'am, yas'alu, 'a.sdiq^A$\;$'uh_u, ya^g^I'u, s^U'ila +% \end{arab} +% +% \subsubsection{Special orthographies} +% +% Some Arabic words, like \textit{miʾa} “hundred”, have irregular orthographies. +% \arabxetex\ recognizes them automatically. +% +% \begin{minipage}[t]{.4\textwidth} +% \begin{Verbatim}[gobble=2] +% \begin{arab}[voc] +% mi'aT , mi'at"An , sab`ami'"aT +% \end{arab} +% \end{Verbatim} +% \end{minipage} +% \hfill +% \begin{minipage}[t]{.4\textwidth} +% \begin{arab}[voc] +% ~ \\ +% mi'aT , mi'at"An , sab`ami'"aT +% \end{arab} +% \end{minipage} +% \bigskip +% +% \textbf{NB}: For the time being only \textit{miʾa} is supported, but more irregular +% constructs should be added in later versions. +% +% \subsubsection{Typesetting the Holy Qurʾān} +% +% High-quality typesetting of the Holy Qurʾān (\textarab{al-qur'An al-karIm}) is a +% most complex and demanding task, which probably should be left to professional +% typesetters. Nevertheless, with Open Type fonts that cover the full Unicode range +% for the Arabic script, it is possible to achieve pretty decent results. +% The following examples represent my attempt to reproduce, with the font +% Scheherazade, the various typographic features of a typical printed edition +% from Saudi Arabia. +% +% In printed Qurʾāns, one frequently encounters typographical oddities that are +% not taken into account by Unicode, such as the \textit{hamza} placed directly over +% the baseline instead as over the \textit{alif}. +% But with a \TeX\ macro it is possible to emulate this rather well: +% +% \begin{Verbatim}[gobble=2,fontsize=\small] +% \newcommand{\hamzaB}{\char"200D\char"0640\raise-.95ex\hbox{\char"0654}\char"200D} +% +% \begin{arab}[fullvoc] +% mina 'l-qur'Ani 'l-karImi, sUraTu 'l-ssajdaTi 15--16: +% +% 'innamA yu'minu bi-\hamzaB a|"Ay___atinA 'lla_dIna 'i_dA _dukkirUA bihA +% _harrUA sujjadaN wa-sabba.hUA bi-.hamdi rabbihim wa-hum lA yastakbirUna +% SAJDA [[15]] tatajAfY_a junUbuhum `ani 'l-ma.dAji`i yad`Una rabbahum +% _hawfaN wa-.tama`aN wa-mimmA razaqn_ahum yunfiqUna [[16]] +% \end{arab} +% +% \begin{arab}[fullvoc] +% sUraTu 'l-baqaraTi 71--72: +% +% qAla 'innahu, yaqUlu 'innahA baqaraTuN llA _dalUluN tu_tIru 'l-'ar.da wa-lA +% tasq.I 'l-.har_ta musallamaTuN llA ^siyaTa fIhA|^JIM qAluW" 'l-\hamzaB a___ana +% ji'ta bi-'l-.haqqi|^JIM fa_daba.hUhA wa-mA kAdduW" yaf`alUna [[71]] wa-'i_d +% qataltum nafsaN fa-udda$\,$_ara|'|_i"tum fIhA|^SLY wa-al-ll_ahu mu_hrijuN mmA +% kun"tum taktumUna [[72]] +% \end{arab} +% \end{Verbatim} +% +% \begin{arab}[fullvoc] +% mina 'l-qur'Ani 'l-karImi, sUraTu 'l-ssajdaTi 15--16: +% +% 'innamA yu'minu bi-\hamzaB a|"Ay___atinA 'lla_dIna 'i_dA _dukkirUA bihA _harrUA +% sujjadaN wa-sabba.hUA bi-.hamdi rabbihim wa-hum lA yastakbirUna SAJDA [[15]] +% tatajAfY_a junUbuhum `ani 'l-ma.dAji`i yad`Una rabbahum _hawfaN wa-.tama`aN +% wa-mimmA razaqn_ahum yunfiqUna [[16]] +% \end{arab} +% +% \begin{arab}[fullvoc] +% sUraTu 'l-baqaraTi 71--72: +% +% qAla 'innahu, yaqUlu 'innahA baqaraTuN llA _dalUluN tu_tIru 'l-'ar.da wa-lA +% tasq.I 'l-.har_ta musallamaTuN llA ^siyaTa fIhA|^JIM qAluW" 'l-\hamzaB a___ana +% ji'ta bi-'l-.haqqi|^JIM fa_daba.hUhA wa-mA kAdduW" yaf`alUna [[71]] wa-'i_d +% qataltum nafsaN fa-udda$\,$_ara|'|_i"tum fIhA|^SLY wa-al-ll_ahu mu_hrijuN mmA +% kun"tum taktumUna [[72]] +% \end{arab} +% +% \subsubsection{Farsi} +% +% These are some of the Persian examples in the \arabtex\ documentation, +% typeset with the font Simple Farsi Bold: +% \begin{Verbatim}[gobble=2,fontsize=\normalsize] +% \begin{farsi}[voc] +% _hwAb, xwI^s, _hwod, ^ceH, naH, yal_aH, _hAneH, _hAneHhA, _hAneH-hA, +% ketAb-e, U, rAh-e, t_U, nAmeH-i, man, bInI-e, An, mard, pA-i, In, +% zan, bAzU-i, In, zan, dAr-_i, man, _hU-_i, t_U, nAmeH-_i, sormeH-_i, +% gofteH-_i, ketAb-I, rAh-I, nAmeH-I, dAnA-I, pArU-I, dAnA-I-keH, +% pArU-I-keH, rafteH-am, rafteH-Im, AnjA-st, U-st, t_U-st, ketAb-I-st, +% be-man, be-t_U, be-An, be-In, be-insAn, beU, be-U, .sA.heb"|_hAneH, +% pas"|andAz, naw"|AmUz +% \end{farsi} +% \end{Verbatim} +% +% \begin{farsi}[voc] +% _hwAb, xwI^s, _hwod, ^ceH, naH, yal_aH, _hAneH, _hAneHhA, _hAneH-hA, +% ketAb-e, U, rAh-e, t_U, nAmeH-i, man, bInI-e, An, mard, pA-i, In, +% zan, bAzU-i, In, zan, dAr-_i, man, _hU-_i, t_U, nAmeH-_i, sormeH-_i, +% gofteH-_i, ketAb-I, rAh-I, nAmeH-I, dAnA-I, pArU-I, dAnA-I-keH, +% pArU-I-keH, rafteH-am, rafteH-Im, AnjA-st, U-st, t_U-st, ketAb-I-st, +% be-man, be-t_U, be-An, be-In, be-insAn, beU, be-U, .sA.heb"|_hAneH, +% pas"|andAz, naw"|AmUz +% \end{farsi} +% +% \subsubsection{Urdu} +% +% An Urdu example, typeset with Nafees Pakistani Naskh:\footnote{ ^^A +% The example is borrowed from +% \url{http://tabish.freeshell.org/u-trans/urducode.html}} +% \begin{Verbatim}[gobble=2,fontsize=\normalsize] +% \begin{urdu}[novoc] +% ,ham `i^sq kE mArO.n kA itnA ,hI fasAna,h ,hae +% rOnE kO na,hI.n kO'I ,ha.nsnE kO zamAna,h ,hae +% +% ya,h kiskA ta.sawwur ,hae ya,h kiskA fasAna,h ,hae +% jO a^sk ,hae A.nkhO.n mE.n tasbI.h kA dAnA ,hae +% \end{urdu} +% \end{Verbatim} +% +% \begin{urdu}[novoc] +% ,ham `i^sq kE mArO.n kA itnA ,hI fasAna,h ,hae\\ +% rOnE kO na,hI.n kO'I ,ha.nsnE kO zamAna,h ,hae +% +% ya,h kiskA ta.sawwur ,hae ya,h kiskA fasAna,h ,hae\\ +% jO a^sk ,hae A.nkhO.n mE.n tasbI.h kA dAnA ,hae +% \end{urdu} +% ^^Aﮨﹷﻢ ﻋﹻﺸﻖ ﻛﮯ ﻣﺎﺭﻭﮞ ﰷ ﹺﺍﺗﻨﺎ ﮨﹻﯽ ﻓﹷﺴﺎﻧﹷﻪ ﮨﹷﮯ +% ^^Aﺭﻭﻧﮯ ﻛﻮ ﻧﹷﮩﹻﻴﮟ ﻛﻮﺋﹻﯽ ﮨﹷﻨﺴﻨﮯ ﻛﻮ ﺯﹶﻣﺎﻧﹷﻪ ﮨﹷﮯ +% +% ^^Aﻳﹷﻪ ﻛﹻﺴﲀ ﺗﹷﺼﹷﻮﹽﹸﺭ ﮨﹷﮯ ﻳﹷﻪ ﻛﹻﺴﲀ ﻓﹷﺴﺎﻧﹷﻪ ﮨﹷﮯ +% ^^Aﺟﻮ ﺍﺷﻚ ﮨﹷﮯ ﺁﻧﻜﮭﻮﮞ ﻣﻴﮟ ﺗﹷﺴﺒﹻﻴﺢ ﰷ ﺩﺍﻧﺎ ﮨﹷﮯ +% \renewcommand{\urdufont}{\arabicfont} +% \renewcommand{\farsifont}{\arabicfont} +% +% \subsection{Special considerations} +% \parindenton +% \subsubsection{The name of God} \label{allahliga} +% +% The glyph \textsf{FDF2}, defined as ‘\textsc{arabic ligature allah isolated form}’ +% by the Unicode Consortium, is a source of great confusion. +% It is displayed in the Unicode Book with an initial alif and thus represents the +% name of God, Allāh, which in Arabic is always written as a special ligature +% (\ie {\tradarabic اﷲ} and not {\arabicfont الله}).\footnote{ ^^A +% The glyph {\tradarabic اﷲ} is taken from the font Traditional Arabic. +% In Scheherazade its design is rather suboptimal: {\arabicfont\char"FDF2}.} +% +% However, a substantial portion of real-world fonts rather represent that +% ligature \textit{without} the initial alif.\footnote{ ^^A +% My research on Arabic fonts available or known to me yields the following picture: +% The fonts that do not display the initial alif in the ligature \textsf{FDF2} +% include those provided by \href{http://www.linotype.com/2517/arabicfonts.html}{Linotype}; +% the great majority of those licensed to or developed by +% \href{http://www.microsoft.com/typography/links/FontPortal.aspx?PID=8}{Microsoft} +% (I could verify it for Times New Roman, Arial, Courier New, Microsoft Sans Serif, +% Arabic Transparent, Simplified Arabic, Simplified Arabic Fixed, +% WinSoft Serif Pro, Traditional Arabic, Andalus, Old Antic Bold, +% Old Antic Decorated and Farsi Simple Bold); the fonts distributed by +% \href{http://www.arabeyes.org}{Arabeyes.org}; +% \href{http://scripts.sil.org/ArabicFonts}{SIL}'s Lateef; +% and the fonts developed by \href{www.crulp.org}{CRULP} in Pakistan. +% The Unicode-conformant fonts, on the other hand, are: +% \href{http://scripts.sil.org/ArabicFonts}{SIL}'s Scheherazade, +% \href{http://www.tdc.org/news/2006Results/AdobeArabic.html}{Adobe Arabic} +% (distributed with the \href{http://www.adobe.com/ceea/}{Middle-Eastern version} +% of the latest \href{http://www.adobe.com/products/acrobat/readermain.html}{Adobe Reader 7}), +% Arial Unicode MS, and \href{http://sakkal.com/type/typesetting.html}{Arabic Typesetting} +% (distributed with \href{http://www.microsoft.com/typography/VOLT.mspx}{VOLT} +% and with \href{http://www.microsoft.com/office/editions/prodinfo/language/proofingtools.mspx}{Microsoft Office Proofing Tools 2003}).} +% The confusion probably has to do with Unicode’s omission to include the ALLAH +% ligature without the initial alif, which is imperatively required for typesetting +% expressions like \textit{al-ḥamdu li-llāh} \RL{\tradarabic الحمد ﷲ}. +% Many fonts code the ligature {\tradarabic ﷲ} in the Private Use Area +% and make it accessible as a default ligature for the sequence \textit{lām-lām-hāʾ}. +% In such a case it can be generated from the input ¦\textarab{l|lh}¦ +% (the vertical bar here tells \arabxetex\ not to interpret the sequence ¦ll¦ +% as \textit{lām} with \textit{shadda}).\footnote{ ^^A +% This currently does not work with Scheharazade, but the +% developers are aware of the issue.} +% Besides not being a standard \arabtex\ input sequence, the trouble is that +% there is no way to know a priori whether the font provides the glyph {\tradarabic ﷲ} +% at all, and whether it is defined as a default ligature from the above input. +% +% To solve this problem with \arabxetex, we had no choice but provide two classes of +% font mappings, one for each of the above two categories of Arabic fonts.\footnote{ ^^A +% This has the unfortunate consequence of doubling the number of mappings shipped +% with \arabxetex. But since their size is small, it is more an esthetic annoyance +% than a practical one.} +% By default we assume the canonical situation where \textsf{U+FDF2} corresponds to +% {\tradarabic اﷲ}, but the user can change this by choosing one of the package options +% ¦fdf2alif¦ or ¦fdf2noalif¦; it can also be changed locally by means of the commands +% \DescribeMacro{\SetAllahWithAlif} +% \DescribeMacro{\SetAllahWithoutAlif} +% \cmd\SetAllahWithAlif\ and \cmd\SetAllahWithoutAlif\ \textit{before} making use of +% \cmd\arabicfont. In a future version we might perhaps implement a database of Arabic fonts +% within \arabxetex, so that this would work automatically in the most common cases. +% +% The font Adobe Arabic has in addition the ligature \textit{fa-li-llāh}: +% \textit{fā fatḥa lām kasra lām hāʾ} $\rightarrow$ {\adobearabic فَلِله}, which can be +% entered in \arabtex\ notation as ¦\textarab{falilh}¦. In this particular case we also +% provide the input convention ¦FALILLAH¦. +% +% +% ^^ATEST Scheherazade: \textarab{l|lh} +% ^^A +% ^^A\renewcommand{\arabicfont}{\tradarabic} +% ^^ATEST Trad Arabic: \textarab{l|lh} +% +% ^^ALinotype: \\ +% ^^ALotus Linotype {\lotusfont\char"FDF2} --- +% ^^AAlHarfAlJadid Linotype One {\fontspec[Scale=1.5]{AlHarfAlJadid Linotype One}\char"FDF2} --- +% ^^AAlHarfAlJadid Linotype Two {\fontspec[Scale=1.5]{AlHarfAlJadid Linotype Two}\char"FDF2} --- +% ^^AMariam Linotype {\fontspec[Scale=1.5]{Mariam Linotype}\char"FDF2} --- +% ^^AQadi Linotype {\fontspec[Scale=1.5]{Qadi Linotype}\char"FDF2} +% ^^A +% ^^AFonts from or licensed to Microsoft: \\ +% ^^ATimes New Roman {\fontspec[Scale=1.5]{Times New Roman}\char"FDF2} --- +% ^^AArial {\fontspec[Scale=1.5]{Arial}\char"FDF2} --- +% ^^ACourier New {\fontspec[Scale=1.5]{Courier New}\char"FDF2} --- +% ^^AMicrosoft Sans Serif {\fontspec[Scale=1.5]{Microsoft Sans Serif}\char"FDF2} --- +% ^^AArial Unicode MS {\arialuni\char"FDF2} --- +% ^^AArabic Transparent {\fontspec[Scale=1.5]{Arabic Transparent}\char"FDF2} --- +% ^^ASimplified Arabic {\fontspec[Scale=1.5]{Simplified Arabic}\char"FDF2} --- +% ^^ASimplified Arabic Fixed {\fontspec[Scale=1.5]{Simplified Arabic Fixed}\char"FDF2} --- +% ^^AWinSoft Serif Pro {\fontspec[Scale=1.5]{WinSoft Serif Pro}\char"FDF2} --- +% ^^ATraditional Arabic {\fontspec[Scale=1.5]{Traditional Arabic}\char"FDF2} --- +% ^^AArabic Typesetting {\arabtype\char"FDF2} --- +% ^^AAndalus {\fontspec[Scale=1.5]{Andalus}\char"FDF2} --- +% ^^AOld Antic Bold {\fontspec[Scale=1.5]{Old Antic Bold}\char"FDF2} --- +% ^^AFarsi Simple Bold {\fontspec[Scale=1.5]{Farsi Simple Bold}\char"FDF2} +% ^^A +% ^^A +% ^^AAdobe:\\ +% ^^AAdobe Arabic {\adobearabic\char"FDF2} --- +% ^^A +% ^^ASIL: \\ +% ^^AScheherazade {\arabicfont\char"FDF2} --- +% ^^ALateef {\fontspec{Lateef}\char"FDF2} +% ^^A +% ^^A%CRULP:\\ +% ^^A%Nafees Nastaleeq {\fontspec{Nafees Nastaleeq}\char"FDF2} --- +% ^^A%{\fontspec{Nafees Pakistani Naskh}\char"FDF2} +% ^^A +% ^^AArabeyes:\\ +% ^^AKacstBook {\fontspec{KacstBook}\char"FDF2} +% ^^AKacstFarsi {\fontspec{KacstFarsi}\char"FDF2} +% +% +% +% +% \subsection{Transliteration} +% +% At the moment transliteration mappings are provided for Arabic, Persian, Urdu, +% Sindhi and Pashto. The rest may be provided in a future version. +% As a rule the default conventions provided are those of the Library of Congress. +% \new{1.1.2}For Arabic the alternative transliteration of the +% \href{http://www.orientasia.info/download/arab_trans.pdf}{Deutsche Morgenländische Gesellschaft} +% is also available (but should be still considered experimental). +% You can set it with the command \DescribeMacro{\SetTranslitConvention} +% ¦\SetTranslitConvention{dmg}¦. +% To switch back to the Library of Congress transliteration, type +% ¦\SetTranslitConvention{loc}¦. +% Additional conventions for other languages, as with \arabtex, \eg +% Encyclopedia of Islam, Encyclopedia Iranica, etc., might be added later.\footnote{ % +% It is suggested that you contact the author if you have such needs.} +% +% Transliteration is set in italics by default. This can be changed by declaring, e.g., +% \DescribeMacro{\SetTranslitStyle} +% ¦\SetTranslitStyle{\upshape}¦. +% To transliterate proper nouns with capitals, prefix the words to be capitalized with \cmd\UC: +% \DescribeMacro{\UC} +% \begin{Verbatim}[gobble=2,fontsize=\normalsize] +% \begin{arab}[trans] +% al-^say_h al-`Alim \UC na.sIr \UC al-dIn \UC al-.tUsI +% \end{arab} +% \end{Verbatim} +% ^^A\SetTranslitStyle{\gentium\itshape} +% \begin{arab}[trans] +% \noindent al-^say_h al-`Alim \UC na.sIr \UC al-dIn \UC al-.tUsI +% \end{arab} +% Note that the article \textit{al-} is automatically skipped. +% Note also that since the transliteration is coded in Unicode at the level of +% the font-mapping, it is necessary that the font contains all required glyphs.\footnote{ ^^A +% See Appendix~\ref{latinextfonts} for a list of recommended Unicode fonts that cover the +% full \textsc{latin extended additional} plane.} +% +% ^^AIf your default roman font does not have the required +% ^^Adiacritics, you can declare for instance +% ^^A¦\SetTranslitStyle{\fontspec{Gentium}\itshape}¦. +% +% ^^A\section{TODO} +% ^^A +% ^^A\begin{MYitemize} +% ^^A \item implement romanized transliterations for kashmiri, turkish, kurdish, malay and uighur. +% ^^A \item perhaps at a later stage: add support for hebrew and judeo-arabic? +% ^^A \item syriac? +% ^^A\end{MYitemize} +% ^^A +% +% \subsection{Typesetting critical editions with \pkg{ednotes}} +% \unsetfootnoteRL +% +% In conjunction with \pkg{bidi}, the \pkg{ednotes} package makes it wonderfully +% easy to typeset critical editions of texts in Arabic script (or other RTL +% scripts).\footnote{ +% The package \href{http://tug.ctan.org/tex-archive/macros/latex/contrib/ledmac/ledmac.pdf}{\pkg{ledmac}} +% has not been extensively tested with \pkg{bidi} yet, but our initial +% trials were not successful.} +% ^^A Be aware that -- as any package which plays with the primitive \cmd\everypar -- +% ^^A is not compatible with \pkg{bidi}. +% The direction of each level of footnotes can be controlled by +% means of ¦\SetFootnoteHook{\setRL}¦ (or ¦\setLR¦) right before the declaration +% ¦\DeclareNewFootnote{X}[…]¦. Here is an example preamble that might be used +% for typesetting a critical edition with \pkg{ednotes} and \arabxetex.\footnote{ ^^A +% Of course if the edition is typed directly in UTF-8 encoding, +% the use of \arabxetex\ is by no means compulsory. Yet see the +% remarks in §~\ref{arabtexnotes} above.} +% See the \pkg{ednotes} documentation for more details.\footnote{ ^^A +% \url{http://www.ctan.org/tex-archive/macros/latex/contrib/ednotes/ednotugb.pdf}. +% See also \url{http://www.webdesign-bu.de/uwe_lueck/critedltx.html}.} +% +% \begin{Verbatim}[gobble=2,fontsize=\small] +% \usepackage[modulo,perpage,para*]{ednotes}%this calls manyfoot.sty and lineno.sty +% \usepackage{arabxetex} +% +% % make \footnoterule of \textwidth +% \makeatletter% +% \renewcommand{\footnoterule}{\kern-3\p@ +% \hrule width \textwidth \kern 2.6\p@} +% \makeatother +% +% \modulolinenumbers[5] +% % this is to set linenumbering in Arabic: +% \renewcommand{\linenumberfont}{\arabicfont\addfontfeature{Mapping=arabicdigits}\tiny} +% +% \renewcommand{\extrafootnoterule}{} +% \SelectFootnoteRule[0]{extra} +% \SetFootnoteHook{\unsetRL}%--> must appear immediately before \DeclareNewFootnote +% %% For ednotes the command \PrecedeLevelWith{X}{hook} is available +% \DeclareNewFootnote{B}[fnsymbol] +% \renewcommand*{\differentlines}[2]{\linesfmt{\RL{#1$-$#2}}}% +% \renewcommand*{\linesfmt}[1]{\raisebox{1ex}{\linenumberfont #1}~}% +% \renewcommand{\lemmafmt}[1]{#1~[ }% +% %Custom macros to enter variants, additions, omissions, illegible passages, +% % text above the line, marginal notes, lacunae, and restorations: +% \newcommand{\VAR}[2]{\Anote{\textarab{#1}}{\textarab{#2}}} +% \newcommand{\ADD}{\textroman{\textbf{+}}\,}% or \textarab{zAyid fI}\ +% \newcommand{\OM}{\textroman{\textbf{\char"2013}}\,}% or \textarab{nAqi.s fI}\ +% \newcommand{\ILLEG}{\textarab{.gayr maqrU' fI}\ } +% \newcommand{\BLANK}{\textarab{bayA.d fI}\ } +% \newcommand{\SUPERLIN}{\textarab{ta.ht al-sa.tr fI}\ } +% \newcommand{\MARG}{\textarab{bi-al-hAmi^s fI}\ } +% \newcommand{\LACUNA}{\textroman{\textlangle~{\dots}~\textrangle}} +% \newcommand{\RESTOR}[1]{\textroman{\textrangle}#1\textroman{\textlangle}} +% % to separate lemmas in different manuscripts: +% \def\SEP{\enskip$\Vert$\enskip} +% \end{Verbatim} +% +% For a real-life example of how to use ednotes with \arabxetex, see +% the file ¦ednotes_example.tex¦ which comes with this package. +% +% +% \section{Tabular overview of \arabtex\ encoding conventions} +% \label{conventiontable} +% +% The table is arranged alphabetically following the most signicant letter of the +% \ASCII\ input code. Color convention: red means that the glyph is the default +% for the given input code, and that it is available in all languages except +% those where different glyphs are shown (in black). That default glyph is also +% displayed in light gray under each language in which it is featured. Glyphs in +% blue are archaic forms (\eg old Urdu). An asterisk after the Unicode number +% means that the character was not available with \arabtex. Green glyphs are +% special: either they are used to represent defective writing or they provide +% characters for other languages. Those shown in the column for Arabic are +% available by default. See the relevant notes at the end. +% +% \begin{center}\footnotesize +% \renewcommand{\arraystretch}{2} +% ^^A 1 2 3 4 5 6 7 8 9 10 +% ^^A\tablefirsthead{% +% ^^Acode & arab & farsi & urdu & pashto & sindhi & ottoman & kurdish & kashmiri & malay & uighur \\\hline} +% \tablehead{^^A +% \hline +% ^^A\tiny code &\tiny arab &\tiny farsi &\tiny urdu &\tiny pashto &\tiny sindhi &\tiny ottoman &\tiny kurdish &\tiny kashmiri &\tiny malay &\tiny uighur \\\hline} +% ^^A next line: language codes after ISO-639-1 +% code & ar & fa & ur & ps & sd & tr & ku & ks & ms & ug \\\hline} +% \tabletail{\hline} +% \begin{supertabular}{|c|c|c|c|c|c|c|c|c|c|c|c|} +% ^^A\tablelasttail{\hline} +% ¦a¦ & \GR{Ba}{064E}&&&&&&\GN[kurdish]{a/Ba}{}&&&\\ +% ¦A¦ & \GR{BA}{0627}&&&&&&\GN[kurdish]{A/BA}{}&&&\\ +% ¦.a¦ & &&&&&&&\GN[kashmiri]{B.a}{0654}&&\\ +% ¦.A¦ & &&&&&&&\GN[kashmiri]{B.A}{0672}&&\\ ^^A(kashmiri) +% ¦_a¦ & \GN{B_a}{0670}&&&&&&&&&\\ +% ¦_A¦ & \GN{B_A}{}&&&&&&&&&\\ +% ¦:a¦ & &&&&&&&&&\GN[uighur]{:a}{} \\ +% ¦b¦ & \GR{b}{0628}&\GG{b}&\GG{b}&\GG{b}&\GG{b}&\GG{b}&\GG{b}&\GG{b}&\GG{b}&\GG{b} \\ +% ¦B¦ & \GR{B}{0640}&&&&&&&&&\\ +% ¦.b¦ & \GV{.b}{066E}&&&&&&&&&\\ +% ¦:b¦ & &&&&\GR[sindhi]{:b}{067B}&&&&&\\ ^^A(sindhi) +% ¦bh¦ & &&&&\GN[sindhi]{bh}{0680}&&&&&\\ +% ¦c¦ & &&&&\GR[sindhi]{c}{0681}&\GN[turk]{c}{062C}&&&\GN[malay]{c}{0686}&\\ +% ^^A¦.c¦ & \GN{.c}{}&&&&&&&&&\\ +% ¦,c¦ & &&&\GR[pashto]{,c}{0685}&&\GN[turk]{,c}{0686}&\GN[kurdish]{,c}{0686}&&&\\ +% ¦^c¦ & \GG{^c}&\GR{^c}{0686}&\GG{^c}&\GG{^c}&\GG{^c}&\GG{^c}&\GG{^c}&\GG{^c}&\GG{^c}&\GG{^c} \\ +% ¦^ch¦ & &&&&\GN[sindhi]{^ch}{0687}&&&&&\\ +% ¦:c¦ & &&&\GR[pashto]{:c}{0682*}&&&&&&\\ +% ¦.^c¦ & \GV{.^c}{06BF*}&&&&&&&&&\\ +% ¦d¦ & \GR{d}{062F}&\GG{d}&\GG{d}&\GG{d}&\GG{d}&\GG{d}&\GG{d}&\GG{d}&\GG{d}&\GG{d} \\ +% ¦.d¦ & \GR{.d}{0636}&\GG{.d}&\GG{.d}&\GG{.d}&\GG{.d}&\GG{.d}&\GG{.d}&\GG{.d}&\GG{.d}&\GG{.d} \\ +% ¦,d¦ & &&\GN[urdu]{,d}{0688}&\GN[pashto]{,d}{0689}&\GR[sindhi]{,d}{068A}&&&&&\\ ^^Aurdu +% ¦.,d¦ & &&\GV{.,d}{068B*}$^a$&&&&&&&\\ ^^AWestern Punjabi +% ¦^d¦ & \GV{^d}{06EE*}&&&&\GB[sindhi]{^d}{068E*}&&&&&\\ +% ¦_d¦ & \GR{_d}{0630}&\GG{_d}&\GG{_d}&\GG{_d}&\GG{_d}&\GG{_d}&\GG{_d}&\GG{_d}&\GG{_d}&\\ +% ¦:d¦ & &&&&\GR[sindhi]{:d}{068F}&&&&&\\ ^^A(sindhi) +% ¦::d¦ & &&\GB[urdu]{::d}{0690*}&&&&&&&\\ +% ¦dh¦ & &&&&\GN[sindhi]{dh}{068C}&&&&&\\ +% ¦,dh¦ & &&&&\GN[sindhi]{,dh}{068D}&&&&&\\ +% ¦e¦ & &\GR{Be}{}&\GG{Be}&\GN[pashto]{Be}{0659}&\GG{Be}&&\GN[kurdish]{e/Be}{}&\GN[kashmiri]{Be}{06D2+0658}&&\GN[uighur]{Be}{06D0} \\ +% ¦E¦ & &\GR{BE}{}&\GN[urdu]{BE}{06D2}&\GN[pashto]{BE}{06D0}&&&\GN[kurdish]{E/BE}{}&\GN[kashmiri]{BE}{06D2}&&\\ +% ¦ee¦ & &&&\GN[pashto]{Bee}{}&&&&&&\\ +% ¦ae¦ & \GN{Bae}{}&&\GN[urdu]{Bae}{}&\GN[pashto]{Bae}{}&\GN[sindhi]{Bae}{}&&&&&\\ +% ¦Ee¦ & &&&\GN[pashto]{BEe}{06CD}&&&&&&\\ +% ^^A¦.e¦ & \GN{B.e}{}&&&&&&&&&\\ +% ^^A¦^e¦ & \GN{B^e}{}&&&&&&&&&\\ +% ¦_e¦ & &\GR{B_e}{}&&&&&&&&\\ +% ¦`e¦ & &&&&&&\GN[kurdish]{`e}{}&&&\\ +% ¦'E¦ & &&\GR[urdu]{B'E}{06D3}&&&&&&&\\ +% ^^A¦:e¦ & \GN{B:e}{}&&&&&&&&&\\ +% ¦f¦ & \GR{f}{0641}&\GG{f}&\GG{f}&\GG{f}&\GG{f}&\GG{f}&\GG{f}&\GG{f}&\GG{f}&\GG{f} \\ ^^A maghribi: \GN[maghribi]{f}{} +% ¦.f¦ & \GV{.f}{06A1}&&&&&&&&&\\ +% ¦g¦ & &\GR{g}{06AF}&\GG{g}&\GG{g}&\GG{g}&\GG{g}&\GG{g}&\GG{g}&\GN[malay]{g}{0762}&\GG{g} \\ +% ¦G¦ & &&&\GR[pashto]{G}{06AB}&&&&&&\\ +% ¦.g¦ & \GR{.g}{063A}&\GG{.g}&\GG{.g}&\GG{.g}&\GG{.g}&\GG{.g}&\GG{.g}&\GG{.g}&\GG{.g}&\\ +% ¦:g¦ & &&&&\GR[sindhi]{:g}{06B3}&&&&&\\ +% ¦.:g¦ & &&&&\GB[sindhi]{.:g}{06B4*}&&&&&\\ +% ¦,g¦ & \GV{,g}{06AC}$^b$ &&&&&&&&&\\ +% ¦^g¦ & \GR{^g}{062C}&\GG{j}&\GG{j}&\GG{j}&\GG{j}&\GN[turk]{^g}{06A0}&\GN[kurdish]{^g}{063A}&\GG{j}&\GN[malay]{^g}{06A0}&\GN[uighur]{^g}{063A} \\ +% ¦gh¦ & &&&&\GN[sindhi]{gh}{}&&&&&\\ +% ¦h¦ & \GR{h}{0647}&\GG{h}&\GN[urdu]{h}{06BE}&\GG{h}&\GG{h}&\GG{h}&\GG{h}&\GG{h}&\GG{h}&\GG{h} \\ +% ¦H¦ & &\GN[farsi]{-H}{0647}&\GN[urdu]{-H}{06C3}&\GN[pashto]{-H}{0647}&&&&&&\\ +% ¦.h¦ & \GR{.h}{062D}&\GG{.h}&\GG{.h}&\GG{.h}&\GG{.h}&\GG{.h}&\GG{.h}&\GG{.h}&\GG{.h}&\\ +% ¦,h¦ & &&\GR[urdu]{,h}{06C1}&&&&&\GN[kashmiri]{,h}{}&&\\ +% ¦_h¦ & \GR{_h}{062E}&\GG{x}&\GG{x}&\GG{x}&\GG{x}&\GG{x}&\GG{x}&\GG{x}&\GG{x}&\\ +% ¦i¦ & \GR{Bi}{0650}&&&&&&&&&\GN[uighur]{-i-}{066E} \\ +% ¦I¦ & \GN{BI}{064A}&\GR[farsi]{BI}{06CC}&\GG[urdu]{BI}&\GG[pashto]{BI}&\GN[sindhi]{BI}{}&\GG[turk]{BI}&\GN[kurdish]{I/BI}{}&\GG[kashmiri]{BI}&\GN[malay]{BI}{}&\\ +% ¦.I¦ & \GR{B.I}{06CC*}&&&&&&&&&\\ +% ^^A¦.i¦ & \GN{B.i}{}&&&&&&&&&\\ +% ¦_i¦ & \GR{B_i}{0656}&&&&&&&&&\\ +% ^^A¦:i¦ & \GN{B:i}{}&&&&&&&&&\\ +% ¦j¦ & \GR{j}{062C}&\GG{j}&\GG{j}&\GG{j}&\GG{j}&\GN[turk]{j}{0698}&\GN[kurdish]{j}{0698}&\GG{j}&\GG{j}&\GG{j} \\ +% ¦:j¦ & &&&&\GR[sindhi]{:j}{0684}&&&&&\\ ^^A(sindhi) +% ¦jh¦ & &&&&\GN[sindhi]{jh}{06A9}&&&&&\\ +% ¦k¦ & \GR{k}{0643}&\GG{k}&\GG{k}&\GG{k}&\GN[sindhi]{k}{06AA}&\GG{k}&\GG{k}&\GG{k}&\GG{k}&\GG{k} \\ +% ^^A¦K¦ & \GN{K}{}&&&&&&&&&\\ +% ¦.k¦ & \GV{.k}{06A9}&&&&&\GN[turk]{.k}{0642}&&&&\\ +% ¦_k¦ & \GR{_k}{063A}&&&&&&&&&\\ +% ¦kh¦ & &&&&\GN[sindhi]{kh}{}&&&&&\\ +% ¦l¦ & \GR{l}{0644}&\GG{l}&\GG{l}&\GG{l}&\GG{l}&\GG{l}&\GG{l}&\GG{l}&\GG{l}&\GG{l} \\ +% ¦.l¦ & &&&&&&\GR[kurdish]{.l}{06B6*}&&&\\ +% ¦^l¦ & &&&&&&\GR[kurdish]{^l}{06B5}&&&\\^^A(kurdish) +% ¦m¦ & \GR{m}{0645}&\GG{m}&\GG{m}&\GG{m}&\GG{m}&\GG{m}&\GG{m}&\GG{m}&\GG{m}&\GG{m} \\ +% ^^A¦M¦ & \GN{M}{}&&&&&&&&\GN[malay]{M}{}&\\ +% {\tiny ¦.mIN¦} & &&&&\GN[sindhi]{.mIN}{06FE}&&&&&\\ +% {\tiny ¦'|IN¦} & &&&&\GN[sindhi]{'|IN}{06FD}&&&&&\\ +% ¦n¦ & \GR{n}{0646}&\GG{n}&\GG{n}&\GG{n}&\GG{n}&\GG{n}&\GG{n}&\GG{n}&\GG{n}&\GG{n} \\ +% ¦aN¦ & \GR{BaN}{064B}&&&&&&&&&\\ +% ¦uN¦ & \GR{BuN}{064C}&&&&&&&&&\\ +% ¦iN¦ & \GR{BiN}{064D}&&&&&&&&&\\ +% ¦.n¦ & &&\GR{.n}{06BA}&&&&&&&\\ +% ¦..n¦ & &&&&\GB[sindhi]{..n}{06B2*}&&&&&\\ +% ¦,n¦ & &&&\GR[pashto]{,n}{06BC}&\GN[sindhi]{,n}{06BB}&&&&&\\ +% ¦^n¦ & &&&&\GN[sindhi]{^n}{0683}&&&&\GN[malay]{^n}{06BD}&\GR[uighur]{^n}{06AD} \\ +% ¦:n¦ & &&&&\GR[sindhi]{:n}{06B1}&&&&&\\ +% ¦o¦ & &\GR[farsi]{Bo}{}&&\GN[pashto]{Bo}{0657}&&&\GN[kurdish]{o/Bo}{}&\GN[kashmiri]{Bo}{06C6}&&\GN[uighur]{Bo}{} \\ +% ¦O¦ & &\GN[farsi]{BO}{}&\GN[urdu]{BO}{}&\GN[pashto]{BO}{}&\GN[sindhi]{BO}{}&&\GN[kurdish]{O/BO}{}&\GN[kashmiri]{BO}{}&&\\ +% ¦ao¦ & &&\GR[urdu]{Bao}{}&&\GR[sindhi]{Bao}{}&&&&&\\ +% ¦.o¦ & &&&&&&&\GN[kashmiri]{B.o}{06C4}&&\\ +% ¦.O¦ & &&&&&&&\GN[kashmiri]{B.O}{}&&\\ +% ¦_o¦ & &\GR{B_o}{}&&&&&&&&\\ +% ¦_O¦ & &\GR{B_O}{}&&&&&&&&\\ +% ¦:o¦ & &&&&&&&&&\GN[uighur]{:o/B:o}{06C6} \\ +% ¦:O¦ & \GV{:O}{06FC}&&&&&&&&&\\ +% ¦p¦ & &\GR{p}{067E}&\GG{p}&\GG{p}&\GG{p}&\GG{p}&\GG{p}&\GG{p}&\GN[malay]{p}{06A8}&\GG{p} \\ +% ^^A¦.p¦ & \GN{.p}{} &&&&&&&&&\\ +% ¦ph¦ & &&&&\GN[sindhi]{ph}{06A6}&&&&&\\ +% ¦q¦ & \GR{q}{0642}&\GG{q}&\GG{q}&\GG{q}&\GG{q}&\GG{q}&\GG{q}&\GG{q}&\GG{q}&\GG{q} \\ ^^A\GN[maghribi]{q}{} +% ¦.q¦ & \GV{.q}{066F}&&&&&&&&&\\ +% ¦r¦ & \GR{r}{0631}&\GG{r}&\GG{r}&\GG{r}&\GG{r}&\GG{r}&\GG{r}&\GG{r}&\GG{r}&\GG{r} \\ +% ¦.r¦ & \GV{.r}{0694*}&&&&&&\GN[kurdish]{.r}{0695}&&&\\ +% ¦,r¦ & &&\GR[urdu]{,r}{0691}&\GN[pashto]{,r}{0693}&\GN[sindhi]{,r}{0699}&&\GN[kurdish]{,r}{0694*}&&&\\ +% ¦^r¦ & \GV{^r}{06EF*}&&&&&&\GN[kurdish]{^r}{0692*}&&&\\ +% ¦:r¦ & \GV{:r}{0697*}$^c$&&&&&&&&&\\ ^^ADargwa in Dagestan +% ¦s¦ & \GR{s}{0633}&\GG{s}&\GG{s}&\GG{s}&\GG{s}&\GG{s}&\GG{s}&\GG{s}&\GG{s}&\GG{s} \\ +% ^^A¦S¦ & \GN{S}{}&&&&&&&&&\\ +% ¦.s¦ & \GR{.s}{0635}&\GG{.s}&\GG{.s}&\GG{.s}&\GG{.s}&\GG{.s}&\GG{.s}&\GG{.s}&\GG{.s}&\\ +% ¦,s¦ & &&&\GR[pashto]{,s}{069A}&&\GN[turk]{,s}{0634}&&&&\\ +% ¦^s¦ & \GR{^s}{0634}&\GG{^s}&\GG{^s}&\GG{^s}&\GG{^s}&\GG{^s}&\GG{^s}&\GG{^s}&\GG{^s}&\GG{^s} \\ +% ¦_s¦ & &&&&\GR{_s}{062B}&&&&&\\ +% ¦:s¦ & \GV{:s}{069B}&&&&&&&&&\\ +% ¦t¦ & \GR{t}{062A}&\GG{t}&\GG{t}&\GG{t}&\GG{t}&\GG{t}&\GG{t}&\GG{t}&\GG{t}&\GG{t} \\ +% ¦T¦ & \GR{T}{062A}&&&&&&&\GG{T}&&\\ +% ¦.t¦ & \GR{.t}{0637}&\GG{.t}&\GG{.t}&\GG{.t}&\GG{.t}&\GG{.t}&\GG{.t}&\GG{.t}&\GG{.t}&\\ +% ^^A¦.T¦ & \GN{.T}{}&&&&&&&&&\\ +% ¦,t¦ & &&\GR[urdu]{,t}{0679}&\GN[pashto]{,t}{067C}&\GN[sindhi]{,t}{067D}&&&&&\\ +% ¦_t¦ & \GR{_t}{062B}&\GG{_t}&\GG{_t}&&\GG{_t}&\GG{_t}&\GG{_t}&\GG{_t}&\GG{_t}&\\ +% ^^A¦:t¦ & \GN{:t}{}&&&&&&&&&\\ +% ¦th¦ & &&&&\GN[sindhi]{th}{067F}&&&&&\\ +% ¦,th¦ & &&&&\GN[sindhi]{,th}{067A}&&&&&\\ +% ¦u¦ & \GR{Bu}{064F}&\GG{Bu}&\GG{Bu}&\GG{Bu}&\GG{Bu}&\GG{Bu}&\GN[kurdish]{u/Bu}{}&\GG{Bu}&\GG{Bu}&\GN[uighur]{u/Bu}{06C7} \\ +% ¦U¦ & \GR{BU}{}&\GG{BU}&\GG{BU}&\GG{BU}&\GG{BU}&\GG{BU}&\GN[kurdish]{U/BU}{}&\GN[kashmiri]{BU}{0648+0657}&\GG{BU}&\\ +% ¦.u¦ & &&&&&&&\GN[kashmiri]{B.u}{0655}&&\\ +% ¦.U¦ & &&&&&&&\GN[kashmiri]{B.U}{0673}&&\\ +% ^^A¦^u¦ & \GN{B^u}{}&&&&&&&&&\\ +% ¦_u¦ & \GR{B_u}{0657}&&&&&&&&&\\ +% ^^A¦_U¦ & \GN{B_U}{}&&&&&&&&&\\ +% ¦:u¦ & &&&&&&&&&\GN[uighur]{:u/B:u}{06C8} \\ +% ¦:U¦ & \GV{:U}{06C7}$^d$&&&&&&&&&\\ +% ¦v¦ & \GR{v}{06A4}$^e$&&&&&&&&\GN[malay]{v}{06CF}&\\ ^^A\GN[maghribi]{v}{06A5} +% ^^A¦V¦ & \GN{V}{}&&&&&&&&&\\ +% ^^A¦.v¦ & \GN{.v}{}&&&&&&&&&\\ +% ¦w¦ & \GR{w}{0648}&\GG{w}&\GG{w}&\GG{w}&\GG{w}&\GG{w}&\GG{w}&\GG{w}&\GG{w}&\GN[uighur]{w}{06CB} \\ +% ¦W¦ & \GR{W}{}&&&&&&&&&\\ +% ¦^w¦ & \GV{^w}{06C9*}&&&&&&&&&\\ +% ¦:w¦ & \GV{:w}{06CA*}&&&&&&&&&\\ +% ¦x¦ & \GR{x}{062E}&\GG{x}&\GG{x}&\GG{x}&\GG{x}&\GG{x}&\GG{x}&\GG{x}&\GG{x}&\GN[uighur]{x}{} \\ +% ¦y¦ & \GR{y}{064A}&\GN[farsi]{y}{06CC}&\GG[urdu]{y}&\GG[pashto]{y}&\GG{y}&\GG[turk]{y}&\GG{y}&\GG[kashmiri]{y}&\GG{y}&\GG{y} \\ +% ¦Y¦ & \GR{"Y}{0649}&&&&&&&&&\\ +% ¦.y¦ & &&&&&&&\GN[kashmiri]{B.yB}{}&&\\ +% ¦z¦ & \GR{z}{0632}&\GG{z}&\GG{z}&\GG{z}&\GG{z}&\GG{z}&\GG{z}&\GG{z}&\GG{z}&\GG{z} \\ +% ¦.z¦ & \GR{.z}{0638}&\GG{.z}&\GG{.z}&\GG{.z}&\GG{.z}&\GG{.z}&\GG{.z}&\GG{.z}&\GG{.z}&\\ +% ¦,z¦ & &&&\GR[pashto]{,z}{0696}&&\GN[turk]{,z}{0636}&&&&\\ +% ¦^z¦ & &\GR{^z}{0698}&\GG{^z}&\GG{^z}&&&&\GG{^z}&&\GG{^z} \\ +% ¦_z¦ & \GR{_z}{0630}$^f$&&&&&&&&&\\ +% ¦:z¦ & &&&&&&&\GN[kashmiri]{:z}{0636}&&\\ +% ¦'¦ & \GR{'}{0621}&\GG{'}&\GG{'}&\GG{'}&\GG{'}&\GG{'}&\GG{'}&\GG{'}&\GG{'}&\GG{ئ-} \\ +% ¦`¦ & \GR{`}{0639}&\GG{`}&\GG{`}&\GG{`}&\GG{`}&\GG{`}&\GG{`}&\GG{`}&\GG{`}&\\ +% &&&&&&&&&& \\ +% \end{supertabular} +% \end{center} +% \footnotesize +% +% $^a$ For Western Punjabi (Lahnda).\\ +% $^b$ Alternative form of \textmalay{g} in Malay.\\ +% $^c$ For Dargwa (language of Dagestan).\\ +% $^d$ For Kirgiz (and Uighur).\\ +% $^e$ To transliterate dialects and foreign words.\\ +% $^f$ Alternative to ¦_d¦.\\ +% \normalsize\bigskip +% +% Maghribi Arabic is identical to Arabic except for the three letters ¦f¦, ¦q¦ +% and ¦v¦ which yield the glyphs \textmaghribi{f} (\textsf{U+06A2}), \textmaghribi{q} +% (\textsf{U+06A7}), and \textmaghribi{v} (\textsf{U+06A5}), respectively. +% +% ^^A TODO : implement the following ?? +% ^^A perhaps unnecessary coz it can be coded by means of Urdu +% ^^A yet it might be nice to code pashto in a standard way and +% ^^A be able to switch the representation to Pakistani +% ^^A Differences between standard Pashto and Pakistani Pashto (from inspection of the Omega OTP files) +% ^^A064A -> 06D2 +% ^^A069A -> 062E ?? +% ^^A06A9 -> 0643 +% ^^A06AF -> 06AB +% ^^A06CD -> 06D2 +% ^^A06D0 -> 06D2 +% ^^A0626 -> 06D2 +% ^^A0649 -> 06D2 +% ^^A067C -> 0679 +% ^^A0693 -> 0691 +% ^^A0696 -> 06AF +% ^^A06BC -> 0646 0631 +% ^^A0689 -> 0688 +% ^^A +% +% \section{Unicode-Encoding concordance} +% \parindent 0pt +% \let\oldbaselineskip=\baselineskip +% \baselineskip=20pt +% \begin{multicols}{2} +% \begin{tabbing} +% \textsf{060B} \qquad \= {\arabicfont\char"060B} \qquad \= \kill +% \textsf{060B} \> {\arabicfont\char"060B} \\ +% \textsf{060C} \> {\arabicfont\char"060C} \> ¦,¦ \\ +% \textsf{060D} \> {\arabicfont\char"060D} \\ +% \textsf{060E} \> {\arabicfont\char"060E} \\ +% \textsf{060F} \> {\arabicfont\char"060F} \\ +% \textsf{0610} \> {\arabicfont\char"0610} \\ +% \textsf{0611} \> {\arabicfont\char"0611} \\ +% \textsf{0612} \> {\arabicfont\char"0612} \\ +% \textsf{0613} \> {\arabicfont\char"0613} \\ +% \textsf{0614} \> {\arabicfont\char"0614} \\ +% \textsf{0615} \> {\arabicfont\char"0615} \\ +% ^^AU+0616\\ %\textarab{\char"0616} \\ +% ^^AU+0617\\ %\textarab{\char"0617} \\ +% ^^AU+0618\\ %\textarab{\char"0618} \\ +% ^^AU+0619\\ %\textarab{\char"0619} \\ +% ^^AU+061A\\ %\textarab{\char"061A} \\ +% \textsf{061B} \> {\arabicfont\char"061B} \> ¦;¦ \\ ^^A\textarab{ ; } \\ +% ^^AU+061C\\ %\textarab{\char"061C} \\ +% ^^AU+061D\\ %\textarab{\char"061D} \\ +% \textsf{061E} \> {\arabicfont\char"061E} \> ¦::¦/¦DOTS¦ \\ +% \textsf{061F} \> {\arabicfont\char"061F} \> ¦?¦ \\ ^^A\textarab{ ? } \\ +% ^^AU+0620\\ %\textarab{\char"0620} \\ +% \textsf{0621} \> {\arabicfont\char"0621} \> ¦|"'¦ \textit{or context} \\ ^^A\textverb{ '| } \\ +% \textsf{0622} \> {\arabicfont\char"0622} \> ¦A"'¦ \textit{or context} \\ ^^A\textverb{ 'A } \\ +% \textsf{0623} \> {\arabicfont\char"0623} \> ¦a"'¦ \textit{or context} \\ ^^A\textverb{ 'a } \\ +% \textsf{0624} \> {\arabicfont\char"0624} \> ¦w"'¦ \textit{or context} \\ ^^A\textverb{ 'w } \\ +% \textsf{0625} \> {\arabicfont\char"0625} \> ¦i"'¦ \textit{or context} \\ ^^A\textverb{ 'i } \\ +% \textsf{0626} \> {\arabicfont\char"0626} \> ¦y"'¦ \textit{or context} \\ ^^A\textverb{ 'y } \\ +% \textsf{0627} \> {\arabicfont\char"0627} \> ¦A¦ \\ ^^A\textarab{ A } \\ +% \textsf{0628} \> {\arabicfont\char"0628} \> ¦b¦ \\ ^^A\textarab{ b } \\ +% \textsf{0629} \> {\arabicfont\char"0629} \> ¦T¦ \\ ^^A\textarab{ T } \\ +% \textsf{062A} \> {\arabicfont\char"062A} \> ¦t¦ \\ ^^A\textarab{ t } \\ +% \textsf{062B} \> {\arabicfont\char"062B} \> ¦_t¦ \\ ^^A\textarab{ _t } \\ +% \textsf{062C} \> {\arabicfont\char"062C} \> ¦^g¦/¦j¦ \\ ^^A\textarab{ j } \\ +% \textsf{062D} \> {\arabicfont\char"062D} \> ¦.h¦ \\ ^^A\textarab{ .h } \\ +% \textsf{062E} \> {\arabicfont\char"062E} \> ¦_h¦/¦x¦ \\ ^^A\textarab{ x } \\ +% \textsf{062F} \> {\arabicfont\char"062F} \> ¦d¦ \\ ^^A\textarab{ d } \\ +% \textsf{0630} \> {\arabicfont\char"0630} \> ¦_d¦ \\ ^^A\textarab{ _d } \\ +% \textsf{0631} \> {\arabicfont\char"0631} \> ¦r¦ \\ ^^A\textarab{ r } \\ +% \textsf{0632} \> {\arabicfont\char"0632} \> ¦z¦ \\ ^^A\textarab{ z } \\ +% \textsf{0633} \> {\arabicfont\char"0633} \> ¦s¦ \\ ^^A\textarab{ s } \\ +% \textsf{0634} \> {\arabicfont\char"0634} \> ¦^s¦ \\ ^^A\textarab{ ^s } \\ +% \textsf{0635} \> {\arabicfont\char"0635} \> ¦.s¦ \\ ^^A\textarab{ .s } \\ +% \textsf{0636} \> {\arabicfont\char"0636} \> ¦.d¦ \\ ^^A\textarab{ .d } \\ +% \textsf{0637} \> {\arabicfont\char"0637} \> ¦.t¦ \\ ^^A\textarab{ .t } \\ +% \textsf{0638} \> {\arabicfont\char"0638} \> ¦.z¦ \\ ^^A\textarab{ .z } \\ +% \textsf{0639} \> {\arabicfont\char"0639} \> ¦`¦ \\ ^^A\textarab{ ` } \\ +% \textsf{063A} \> {\arabicfont\char"063A} \> ¦.g¦ \\ ^^A\textarab{ .g } \\ +% \textsf{0640} \> {\arabicfont\char"0640} \> ¦B¦ \\ ^^A\textarab{ B } \\ +% \textsf{0641} \> {\arabicfont\char"0641} \> ¦f¦ \\ ^^A\textarab{ f } \\ +% \textsf{0642} \> {\arabicfont\char"0642} \> ¦q¦ \\ ^^A\textarab{ q } \\ +% \textsf{0643} \> {\arabicfont\char"0643} \> ¦k¦ \\ ^^A\textarab{ k } \\ +% \textsf{0644} \> {\arabicfont\char"0644} \> ¦l¦ \\ ^^A\textarab{ l } \\ +% \textsf{0645} \> {\arabicfont\char"0645} \> ¦m¦ \\ ^^A\textarab{ m } \\ +% \textsf{0646} \> {\arabicfont\char"0646} \> ¦n¦ \\ ^^A\textarab{ n } \\ +% \textsf{0647} \> {\arabicfont\char"0647} \> ¦h¦ \\ ^^A\textarab{ h } \\ +% \textsf{0648} \> {\arabicfont\char"0648} \> ¦w¦ \\ ^^A\textarab{ w } \\ +% \textsf{0649} \> {\arabicfont\char"0649} \> ¦Y¦ \\ ^^A\textarab{ Y } \\ +% \textsf{064A} \> {\arabicfont\char"064A} \> ¦y¦ \\ ^^A\textarab{ y } \\ +% \textsf{064B} \> {\arabicfont\char"064B} \> ¦aN¦ \\ ^^A\textarab{ |BaN } \\ +% \textsf{064C} \> {\arabicfont\char"064C} \> ¦uN¦ \\ ^^A\textarab{ |BuN } \\ +% \textsf{064D} \> {\arabicfont\char"064D} \> ¦iN¦ \\ ^^A\textarab{ |BiN } \\ +% \textsf{064E} \> {\arabicfont\char"064E} \> ¦a¦ \\ ^^A\textarab{ |Ba } \\ +% \textsf{064F} \> {\arabicfont\char"064F} \> ¦u¦ \\ ^^A\textarab{ |Bu } \\ +% \textsf{0650} \> {\arabicfont\char"0650} \> ¦i¦ \\ ^^A\textarab{ |Bi } \\ +% \textsf{0651} \> {\arabicfont\char"0651}\\ ^^A\textarab{ |BB }\\ +% \textsf{0652} \> {\arabicfont\char"0652} \> ¦"¦ \textit{after a consonant or} ¦°¦ \\ +% \textsf{0653} \> {\arabicfont\char"0653} \> ¦^U¦ \\ +% \textsf{0654} \> {\arabicfont\char"0654} \> ¦'B¦ \\ ^^A\textverb{ 'B } \\ +% \textsf{0655} \> {\arabicfont\char"0655} \> ¦.u¦ \textit{kashmiri} \\ +% \textsf{0656} \> {\arabicfont\char"0656} \> ¦I¦ \textit{kashmiri} \\ +% \textsf{0657} \> {\arabicfont\char"0657} \> ¦o¦ \textit{pashto} \\ ^^A\textpashto{ Bo } \\ +% \textsf{0658} \> {\arabicfont\char"0658} \> \textit{see kashmiri} ¦e¦ \\ +% \textsf{0659} \> {\arabicfont\char"0659} \> ¦e¦ \textit{pashto} \\ +% \textsf{065A} \> {\arabicfont\char"065A} \\ +% \textsf{065B} \> {\arabicfont\char"065B} \\ +% \textsf{065C} \> {\arabicfont\char"065C} \\ +% \textsf{065D} \> {\arabicfont\char"065D} \\ +% \textsf{065E} \> {\arabicfont\char"065E} \\ +% \textsf{0660} \> {\arabicfont\char"0660} \> ¦0¦ \\ ^^A\textarab{ 0 } \\ +% \textsf{0661} \> {\arabicfont\char"0661} \> ¦1¦ \\ ^^A\textarab{ 1 } \\ +% \textsf{0662} \> {\arabicfont\char"0662} \> ¦2¦ \\ ^^A\textarab{ 2 } \\ +% \textsf{0663} \> {\arabicfont\char"0663} \> ¦3¦ \\ ^^A\textarab{ 3 } \\ +% \textsf{0664} \> {\arabicfont\char"0664} \> ¦4¦ \\ ^^A\textarab{ 4 } \\ +% \textsf{0665} \> {\arabicfont\char"0665} \> ¦5¦ \\ ^^A\textarab{ 5 } \\ +% \textsf{0666} \> {\arabicfont\char"0666} \> ¦6¦ \\ ^^A\textarab{ 6 } \\ +% \textsf{0667} \> {\arabicfont\char"0667} \> ¦7¦ \\ ^^A\textarab{ 7 } \\ +% \textsf{0668} \> {\arabicfont\char"0668} \> ¦8¦ \\ ^^A\textarab{ 8 } \\ +% \textsf{0669} \> {\arabicfont\char"0669} \> ¦9¦ \\ ^^A\textarab{ 9 } \\ +% \textsf{066A} \> {\arabicfont\char"066A} \> ¦\^^A¦ \\ %\textarab{ \% } \\ +% \textsf{066B} \> {\arabicfont\char"066B} \> \\ ^^A\textarab{ , } \\ +% \textsf{066C} \> {\arabicfont\char"066C} \> ¦,¦ \\ ^^A\textarab{ , } \\ +% \textsf{066D} \> {\arabicfont\char"066D} \> ¦*¦ \\ ^^A\textarab{ * } \\ +% \textsf{066E} \> {\arabicfont\char"066E} \> ¦.b¦, \quad ¦i¦ \textit{uighur} \\ ^^A\textarab{ .b } \\ +% \textsf{066F} \> {\arabicfont\char"066F} \> ¦.f¦ \\ ^^A\textarab{ .f } \\ +% \textsf{0670} \> {\arabicfont\char"0670} \> ¦_a¦ \\ ^^A\textarab{ B_a } \\ +% \textsf{0671} \> {\arabicfont\char"0671} \> \textit{automatic} \\ +% \textsf{0672} \> {\arabicfont\char"0672} \> ¦.A¦ \textit{kashmiri} \\ +% \textsf{0673} \> {\arabicfont\char"0673} \> ¦.U¦ \textit{kashmiri} \\ +% \textsf{0674} \> {\arabicfont\char"0674} \\ +% \textsf{0675} \> {\arabicfont\char"0675} \\ +% \textsf{0676} \> {\arabicfont\char"0676} \\ +% \textsf{0677} \> {\arabicfont\char"0677} \\ +% \textsf{0678} \> {\arabicfont\char"0678} \\ +% \textsf{0679} \> {\arabicfont\char"0679} \> ¦,t¦ \\ ^^A\textarab{ ,t } \\ +% \textsf{067A} \> {\arabicfont\char"067A} \> ¦,th¦ \\ ^^A\textsindhi{ ,th } \\ +% \textsf{067B} \> {\arabicfont\char"067B} \> ¦:b¦ \\ ^^A\textsindhi{ :b } \\ +% \textsf{067C} \> {\arabicfont\char"067C} \> ¦,t¦ \\ ^^A\textpashto{ ,t } \\ +% \textsf{067D} \> {\arabicfont\char"067D} \> ¦,t¦ \\ ^^A\textsindhi{ ,t } \\ +% \textsf{067E} \> {\arabicfont\char"067E} \> ¦p¦ \\ ^^A\textarab{ p } \\ +% \textsf{067F} \> {\arabicfont\char"067F} \> ¦th¦ \\ ^^A\textsindhi{ th } \\ +% \textsf{0680} \> {\arabicfont\char"0680} \> ¦bh¦ \\ ^^A\textsindhi{ bh } \\ +% \textsf{0681} \> {\arabicfont\char"0681} \> ¦c¦ \\ ^^A\textarab{ c } \\ +% \textsf{0682} \> {\arabicfont\char"0682} \> ¦:c¦ \\ ^^A (old pashto) +% \textsf{0683} \> {\arabicfont\char"0683} \> ¦^n¦ \\ ^^A\textsindhi{ ^n } \\ +% \textsf{0684} \> {\arabicfont\char"0684} \> ¦:j¦ \\ ^^A\textarab{ :j } %sindhi\\ +% \textsf{0685} \> {\arabicfont\char"0685} \> ¦,c¦ \\ ^^A\textarab{ ,c } %pashto\\ +% \textsf{0686} \> {\arabicfont\char"0686} \> ¦^c¦, \quad ¦c¦ \textit{malay} \\ ^^A\textarab{ ^c } %farsi+\\ +% \textsf{0687} \> {\arabicfont\char"0687} \> ¦^ch¦ \textit{sindhi} \\ ^^A\textsindhi{ ^ch } \\ +% \textsf{0688} \> {\arabicfont\char"0688} \> ¦,d¦ \\ ^^A\textarab{ ,d } %urdu\\ +% \textsf{0689} \> {\arabicfont\char"0689} \> ¦,d¦ \textit{pashto} \\ ^^A\textpashto{ ,d } \\ +% \textsf{068A} \> {\arabicfont\char"068A} \> ¦,d¦ \textit{sindhi} \\ ^^A\textsindhi{ ,d } \\ +% \textsf{068B} \> {\arabicfont\char"068B} \> ¦.,d¦ \\ ^^A(Western punjabi) +% \textsf{068C} \> {\arabicfont\char"068C} \> ¦dh¦ \textit{sindhi} \\ ^^A\textsindhi{ dh } \\ +% \textsf{068D} \> {\arabicfont\char"068D} \> ¦,dh¦ \textit{sindhi} \\ ^^A\textsindhi{ ,dh } \\ +% \textsf{068E} \> {\arabicfont\char"068E} \> ¦^d¦ \textit{sindhi} \\ +% \textsf{068F} \> {\arabicfont\char"068F} \> ¦:d¦ \\ ^^A\textarab{ :d } \\ +% \textsf{0690} \> {\arabicfont\char"0690} \> ¦::d¦ \textit{urdu} \\ +% \textsf{0691} \> {\arabicfont\char"0691} \> ¦,r¦ \\ ^^A\textarab{ ,r } \\ +% \textsf{0692} \> {\arabicfont\char"0692} \> ¦^r¦ \textit{kurdish} \\ ^^ANEW-> ^r\\ +% \textsf{0693} \> {\arabicfont\char"0693} \> ¦,r¦ \textit{pashto} \\ ^^A\textpashto{ ,r } \\ +% \textsf{0694} \> {\arabicfont\char"0694} \> ¦.r¦, \quad ¦,r¦ \textit{kurdish} \\ ^^ANEW-> kurdish ,r\\ +% \textsf{0695} \> {\arabicfont\char"0695} \> ¦.r¦ \textit{kurdish} \\ ^^A\textarab{ .r} \\ +% \textsf{0696} \> {\arabicfont\char"0696} \> ¦,z¦ \\ ^^A\textarab{ ,z } \\ +% \textsf{0697} \> {\arabicfont\char"0697} \> ¦:r¦ \\ +% \textsf{0698} \> {\arabicfont\char"0698} \> ¦^z¦, \quad ¦j¦ \textit{ottoman} \\ ^^A\textarab{ ^z } \\ +% \textsf{0699} \> {\arabicfont\char"0699} \> ¦:s¦ \\ ^^A\textarab{ :s } \\ +% \textsf{069A} \> {\arabicfont\char"069A} \> ¦,s¦ \\ +% \textsf{069B} \> {\arabicfont\char"069B} \> ¦:s¦ \\ +% \textsf{069C} \> {\arabicfont\char"069C} \\ +% \textsf{069D} \> {\arabicfont\char"069D} \\ +% \textsf{069E} \> {\arabicfont\char"069E} \\ +% \textsf{069F} \> {\arabicfont\char"069F} \\ +% \textsf{06A0} \> {\arabicfont\char"06A0} \> ¦^g¦ \textit{ottoman+malay} \\ ^^A\textmalay{ ^g } \\ +% \textsf{06A1} \> {\arabicfont\char"06A1} \> ¦.f¦ \\ ^^A\textarab{ .f } \\ +% \textsf{06A2} \> {\arabicfont\char"06A2} \> ¦f¦ \\ ^^A\textarab{ f } \\ +% \textsf{06A3} \> {\arabicfont\char"06A3} \\ +% \textsf{06A4} \> {\arabicfont\char"06A4} \> ¦v¦, \quad ¦p¦ \textit{malay} \\ ^^A\textarab{ V } \\ +% \textsf{06A5} \> {\arabicfont\char"06A5} \> ¦v¦ \textit{maghribi} \\ ^^A\textarab{ v } \\ +% \textsf{06A6} \> {\arabicfont\char"06A6} \> ¦ph¦ \textit{sindhi} \\ ^^A\textarab{ ph } \\ +% \textsf{06A7} \> {\arabicfont\char"06A7} \> ¦q¦ \\ ^^A\textarab{ q } \\ +% \textsf{06A8} \> {\arabicfont\char"06A8} \> ¦p¦ \\ ^^A\textarab{ p } \\ +% \textsf{06A9} \> {\arabicfont\char"06A9} \> ¦.k¦ \\ ^^A\textarab{ .k } % also M\\ +% \textsf{06AA} \> {\arabicfont\char"06AA} \> ¦k¦ \\ ^^A\textarab{ k } \\ +% \textsf{06AB} \> {\arabicfont\char"06AB} \> ¦G¦ \\ ^^A\textarab{ G } \\ +% \textsf{06AC} \> {\arabicfont\char"06AC} \> ¦,g¦ \\ ^^A\textarab{ ,g } \\ +% \textsf{06AD} \> {\arabicfont\char"06AD} \> ¦^n¦ \\ ^^A\textarab{ ^n } % also K\\ +% \textsf{06AE} \> {\arabicfont\char"06AE} \\ +% \textsf{06AF} \> {\arabicfont\char"06AF} \> ¦g¦ \\ ^^A\textarab{ g } \\ +% \textsf{06B0} \> {\arabicfont\char"06B0} \\ +% \textsf{06B1} \> {\arabicfont\char"06B1} \> ¦:n¦ \\ ^^A\textarab{ :n } \\ +% \textsf{06B2} \> {\arabicfont\char"06B2} \> ¦..n¦ \textit{sindhi} \\ +% \textsf{06B3} \> {\arabicfont\char"06B3} \> ¦:g¦ \\ ^^A\textarab{ :g } \\ +% \textsf{06B4} \> {\arabicfont\char"06B4} \> ¦.:g¦ \textit{sindhi} \\ +% \textsf{06B5} \> {\arabicfont\char"06B5} \> ¦^l¦ \\ ^^A\textarab{ ^l } % also .l -> prob a bug for the next glyph\\ +% \textsf{06B6} \> {\arabicfont\char"06B6} \> ¦.l¦ \\ ^^ANEW -> .l\\ +% \textsf{06B7} \> {\arabicfont\char"06B7} \\ ^^ANEW - \\ %NEW -> :l U+0651 ;;SHADDA\\ +% \textsf{06B8} \> {\arabicfont\char"06B8} \\ +% \textsf{06B9} \> {\arabicfont\char"06B9} \\ +% \textsf{06BA} \> {\arabicfont\char"06BA} \> ¦.n¦ \\ ^^A\textarab{ .n } \\ +% \textsf{06BB} \> {\arabicfont\char"06BB} \> ¦,n¦ \textit{sindhi} \\ ^^A\textsindhi{ .n } \\ +% \textsf{06BC} \> {\arabicfont\char"06BC} \> ¦,n¦ \\ ^^A\textpashto{ .n } \\ +% \textsf{06BD} \> {\arabicfont\char"06BD} \> ¦^n¦ \textit{malay} \\ ^^A\textmalay{ ny } %??? with \setmalay ^n ArabTeX produces nun with 3 dots below, but this is not in Unicode\\ +% \textsf{06BE} \> {\arabicfont\char"06BE} \> ¦h¦ \textit{urdu} \\ ^^A\texturdu{ h } \\ +% \textsf{06BF} \> {\arabicfont\char"06BF} \> ¦.^c¦ \\ ^^ANEW -> .^c\\ +% \textsf{06C0} \> {\arabicfont\char"06C0} \> ¦h"'¦ \textit{or context} \\ ^^A\textverb{ 'h } %verbatim ???\\ +% \textsf{06C1} \> {\arabicfont\char"06C1} \> ¦,h¦ \\ +% \textsf{06C2} \> {\arabicfont\char"06C2} \> ¦H-¦ (\textit{+ ezafe})\footnote{ Or is it ¦,h¦+ezafe?} \textit{urdu} \\ +% \textsf{06C3} \> {\arabicfont\char"06C3} \> ¦H¦ \textit{urdu} \\ ^^A\texturdu{ T } %???\\ +% \textsf{06C4} \> {\arabicfont\char"06C4} \> ¦.o¦ \textit{kashmiri} \\ ^^A\textkashmiri{ |.o } \\ +% \textsf{06C5} \> {\arabicfont\char"06C5} \\ +% \textsf{06C6} \> {\arabicfont\char"06C6} \> ¦o¦ \textit{kashmiri} ,\quad ¦:o¦ \textit{uighur} \\ ^^A\textkashmiri{ |o } \\ +% \textsf{06C7} \> {\arabicfont\char"06C7} \> ¦:U¦, \quad ¦u¦ \textit{uighur} \\ ^^A\textuighur{ u } \\ +% \textsf{06C8} \> {\arabicfont\char"06C8} \> ¦:u¦ \textit{uighur} \\ ^^A\textuighur{ |:u } \\ +% \textsf{06C9} \> {\arabicfont\char"06C9} \> ¦^w¦ \\ ^^AArabTeX internals \a@roof\\ +% \textsf{06CA} \> {\arabicfont\char"06CA} \> ¦:w¦ \\ ^^ANEW +% \textsf{06CB} \> {\arabicfont\char"06CB} \> ¦w¦ \textit{uighur} \\ ^^A\textuighur{ w } \\ +% \textsf{06CC} \> {\arabicfont\char"06CC} \> ¦y¦/¦I¦ \textit{farsi, etc.},\\ +% \> \> ¦.I¦ \textit{arabic, sindhi, malay} \\ +% \textsf{06CD} \> {\arabicfont\char"06CD} \> ¦Ee¦ \textit{pashto} \\ ^^A\textpashto{\novocalize BEe } \\ +% \textsf{06CE} \> {\arabicfont\char"06CE} \\ +% \textsf{06CF} \> {\arabicfont\char"06CF} \> ¦v¦ \textit{malay} \\ ^^A\textmalay{ v } \\ +% \textsf{06D0} \> {\arabicfont\char"06D0} \> ¦E¦ \textit{pashto}, \quad ¦e¦ \textit{uighur} \\ ^^A\textuighur{ |e } \\ +% \textsf{06D1} \> {\arabicfont\char"06D1} \\ +% \textsf{06D2} \> {\arabicfont\char"06D2} \> ¦E¦ \textit{urdu+kashmiri} \\ ^^A\texturdu{ |E } \\ +% \textsf{06D3} \> {\arabicfont\char"06D3} \> ¦'E¦ \textit{urdu} \\ ^^A\texturdu{ |'E } \\ +% \textsf{06D4} \> {\arabicfont\char"06D4} \> ¦..¦ \textit{urdu} \\ +% \textsf{06D5} \> {\arabicfont\char"06D5} \\ +% \textsf{06D6} \> {\arabicfont\char"06D6} \> ¦^SLY¦ \\ +% \textsf{06D7} \> {\arabicfont\char"06D7} \> ¦^QLY¦ \\ +% \textsf{06D8} \> {\arabicfont\char"06D8} \> ¦^MIM¦ \\ +% \textsf{06D9} \> {\arabicfont\char"06D9} \> ¦^LA¦ \\ +% \textsf{06DA} \> {\arabicfont\char"06DA} \> ¦^JIM¦ \\ +% \textsf{06DB} \> {\arabicfont\char"06DB} \> ¦^DOTS¦ \\ +% \textsf{06DC} \> {\arabicfont\char"06DC} \> ¦^SIN¦ \\ +% \textsf{06DD} \> {\arabicfont\char"06DD} \> ¦[[]]¦ \\ +% \textsf{06DE} \> {\arabicfont\char"06DE} \> ¦HIZB¦ \\ +% \textsf{06DF} \> {\arabicfont\char"06DF} \> ¦CIRCZERO¦ \\ +% \textsf{06E0} \> {\arabicfont\char"06E0} \> ¦RECTZERO¦ \\ +% \textsf{06E1} \> {\arabicfont\char"06E1} \> ¦^JAZM¦ \\ +% \textsf{06E2} \> {\arabicfont\char"06E2} \> ¦^MIM¦ \\ +% \textsf{06E3} \> {\arabicfont\char"06E3} \> ¦_SIN¦ \\ +% \textsf{06E4} \> {\arabicfont\char"06E4} \> ¦^MADDA¦ \\ +% \textsf{06E5} \> {\arabicfont\char"06E5} \> ¦WAW¦ \\ +% \textsf{06E6} \> {\arabicfont\char"06E6} \> ¦YEH¦ \\ +% \textsf{06E7} \> {\arabicfont\char"06E7} \> ¦^YEH¦ \\ +% \textsf{06E8} \> {\arabicfont\char"06E8} \> ¦^NUN¦ \\ +% \textsf{06E9} \> {\arabicfont\char"06E9} \> ¦SAJDA¦ \\ +% \textsf{06EA} \> {\arabicfont\char"06EA} \> ¦_STOP¦ \\ +% \textsf{06EB} \> {\arabicfont\char"06EB} \> ¦^STOP¦ \\ +% \textsf{06EC} \> {\arabicfont\char"06EC} \> ¦^RSTOP¦ \\ +% \textsf{06ED} \> {\arabicfont\char"06ED} \> ¦_MIM¦ \\ +% \textsf{06EE} \> {\arabicfont\char"06EE} \> ¦^d¦ \\ +% \textsf{06EF} \> {\arabicfont\char"06EF} \> ¦^r¦ \\ +% \textsf{06F0} \> {\arabicfont\char"06F0} \> ¦0¦ \textit{persian, urdu, etc.} \\ +% \textsf{06F1} \> {\arabicfont\char"06F1} \> ¦1¦ \textit{persian, urdu, etc.} \\ +% \textsf{06F2} \> {\arabicfont\char"06F2} \> ¦2¦ \textit{persian, urdu, etc.} \\ +% \textsf{06F3} \> {\arabicfont\char"06F3} \> ¦3¦ \textit{persian, urdu, etc.} \\ +% \textsf{06F4} \> {\arabicfont\char"06F4} \> ¦4¦ \textit{persian, urdu, etc.} \\ +% \textsf{06F5} \> {\arabicfont\char"06F5} \> ¦5¦ \textit{persian, urdu, etc.} \\ +% \textsf{06F6} \> {\arabicfont\char"06F6} \> ¦6¦ \textit{persian, urdu, etc.} \\ +% \textsf{06F7} \> {\arabicfont\char"06F7} \> ¦7¦ \textit{persian, urdu, etc.} \\ +% \textsf{06F8} \> {\arabicfont\char"06F8} \> ¦8¦ \textit{persian, urdu, etc.} \\ +% \textsf{06F9} \> {\arabicfont\char"06F9} \> ¦9¦ \textit{persian, urdu, etc.} \\ +% \textsf{06FA} \> {\arabicfont\char"06FA} \\ +% \textsf{06FB} \> {\arabicfont\char"06FB} \\ +% \textsf{06FC} \> {\arabicfont\char"06FC} \> ¦:O¦ \\ +% \textsf{06FD} \> {\arabicfont\char"06FD} \> ¦.|IN¦ \textit{sindhi} \\ ^^AArabTeX internal \a@bars\\ +% \textsf{06FE} \> {\arabicfont\char"06FE} \> ¦.MIN¦ \textit{sindhi} \\ +% \textsf{06FF} \> {\arabicfont\char"06FF} \\ +% \textbf{Arabic Supplement} \\ +% \textsf{0750} \> {\arabicfont\char"0750} \\ +% \textsf{0751} \> {\arabicfont\char"0751} \\ +% \textsf{0752} \> {\arabicfont\char"0752} \\ +% \textsf{0753} \> {\arabicfont\char"0753} \\ +% \textsf{0754} \> {\arabicfont\char"0754} \\ +% \textsf{0755} \> {\arabicfont\char"0755} \\ +% \textsf{0756} \> {\arabicfont\char"0756} \\ +% \textsf{0757} \> {\arabicfont\char"0757} \\ +% \textsf{0758} \> {\arabicfont\char"0758} \\ +% \textsf{0759} \> {\arabicfont\char"0759} \\ +% \textsf{075A} \> {\arabicfont\char"075A} \\ +% \textsf{075B} \> {\arabicfont\char"075B} \\ +% \textsf{075C} \> {\arabicfont\char"075C} \\ +% \textsf{075D} \> {\arabicfont\char"075D} \\ +% \textsf{075E} \> {\arabicfont\char"075E} \\ +% \textsf{075F} \> {\arabicfont\char"075F} \\ +% \textsf{0760} \> {\arabicfont\char"0760} \\ +% \textsf{0761} \> {\arabicfont\char"0761} \\ +% \textsf{0762} \> {\arabicfont\char"0762} \> ¦g¦ \textit{malay} \\ ^^A\textmalay{ g } \\ +% \textsf{0763} \> {\arabicfont\char"0763} \\ +% \textsf{0764} \> {\arabicfont\char"0764} \\ +% \textsf{0765} \> {\arabicfont\char"0765} \\ +% \textsf{0766} \> {\arabicfont\char"0766} \\ +% \textsf{0767} \> {\arabicfont\char"0767} \\ +% \textsf{0768} \> {\arabicfont\char"0768} \\ +% \textsf{0769} \> {\arabicfont\char"0769} \\ +% \textsf{076A} \> {\arabicfont\char"076A} \\ +% \textsf{076B} \> {\arabicfont\char"076B} \\ +% \textsf{076C} \> {\arabicfont\char"076C} \\ +% \textsf{076D} \> {\arabicfont\char"076D} \\ +% \textbf{Presentation Forms} * \\ +% \textsf{FD3E} \> {\arabicfont\char"FD3E} \> ¦))¦ \\ +% \textsf{FD3F} \> {\arabicfont\char"FD3F} \> ¦((¦ \\ +% \textsf{FDF0} \> {\arialuni\char"FDF0} \> ¦SALLASTOP¦ \\ +% \textsf{FDF1} \> {\arialuni\char"FDF1} \> ¦QALA¦ \\ +% \textsf{FDF2} \> {\arabicfont\char"FDF2} \> ¦al-ll_ah¦ or ¦ALLAH¦ ** \\ +% \textsf{FDF3} \> {\arialuni\char"FDF3} \> ¦AKBAR¦ \\ +% \textsf{FDF4} \> {\arialuni\char"FDF4} \> ¦MUHAMMAD¦ \\ +% \textsf{FDF5} \> {\arialuni\char"FDF5} \> ¦SALAM¦ \\ +% \textsf{FDF6} \> {\arialuni\char"FDF6} \> ¦RASUL¦ or ¦RASOUL¦ \\ +% \textsf{FDF7} \> {\arialuni\char"FDF7} \> ¦ALAYHI¦ or ¦ALAYHE¦ \\ +% \textsf{FDF8} \> {\arialuni\char"FDF8} \> ¦WASALLAM¦ \\ +% \textsf{FDF9} \> {\arialuni\char"FDF9} \> ¦SALLA¦ \\ +% \textsf{FDFA} \> {\adobearabic\char"FDFA} \> ¦SLM¦ \\ +% \textsf{FDFB} \> {\arialuni\char"FDFB} \> ¦JALLA¦ \\ +% \textsf{FDFC} \> {\arabicfont\char"FDFC} \> ¦RIYAL¦ \\ +% \textsf{FDFD} \> {\Huge\arabesque\char"F050} \> ¦BASMALA¦ \\ +% \textbf{Non-Unicode Ligatures} \\ +% \> {\tradarabic\char"FDF2} \> ¦ll_ah¦ or ¦LLAH¦ ** \\ +% \> {\adobearabic فَلِله} \> ¦FALILLAH¦ *** +% \end{tabbing} +% \end{multicols} +% \parindentoff +% +% \baselineskip 14pt +% \textit{Notes}\\ +% * Since most of these glyphs are not present in Scheherazade +% (and, with a few exceptions, are very rarely featured in other fonts), +% for illustration purposes we have taken \textsf{FDF0}, \textsf{FDF1}, +% \textsf{FDF3}--\textsf{FDF9} and \textsf{FDFB} from Arial Unicode MS, +% \textsf{FDFA} from Adobe Arabic, and \textsf{FDFD} from AGA Arabesque. +% +% ** See §~\ref{allahliga} +% +% *** Specific to the font Adobe Arabic +% +% \newpage +% \appendix +% \small +% \section{Notes on available free and commercial fonts for the Perso-Arabic script} +% \label{arabicfont} +% +% \textcolor{red}{NB: This list is incomplete and has not been updated since 2007.} +% +% ^^AThere are few free good quality fonts that support the Arabic script. +% \begin{compactitem}[\textbf{·}] +% \item ‘Scheherazade’ and ‘Lateef’ from SIL +% +% \item ‘Adobe Arabic’ +% +% \item Free fonts from \href{http://www.arabeyes.org}{Arabeyes.org} +% +% \item \ldots +% +% ^^AAdobe Arabic, dlig: (discretionary ligatures) +% ^^A +% ^^Aﻓ َ ﻠ ِ ﻠ ﻪ falilh > uni0641064E0644065006440647 +% ^^A +% ^^Aﻟ ﻠ ﻪ l-l-h > uni064406440647 +% ^^A +% ^^AA-l-l-h > FDF2 +% +% \item Arabic fonts on Mac~OS~X: ‘Geeza Pro’, ‘DecoType Naskh’, \ldots more? +% +% \item ‘Arabic Typesetting’ and other Arabic fonts licensed to Microsoft +% +% \item Commercial fonts by vendors: +% \begin{compactitem}[\textbf{--}] +% \item Linotype GmbH: \ldots +% \item AGFA Monotype: \ldots +% \item ParaType: \ldots +% \item \ldots +% \end{compactitem} +% \end{compactitem} +% +% +% +% \section{Recommended Unicode fonts for transliterating Oriental languages} +% \label{latinextfonts} +% +% Here follows a list of open source and freeware fonts with full +% \textsc{Latin Extended Additional} coverage.\footnote{ ^^A +% See this \href{http://www.alanwood.net/unicode/fonts.html\#general}{webpage} for more details.} +% \textcolor{red}{NB: This list has not been updated since 2007.} +% \begin{compactitem}[\textbf{·}] +% \item Gentium, Doulos, Charis: \url{http://scripts.sil.org/FontDownloads} +% +% \item Junicode: \url{http://junicode.sourceforge.net/} +% +% \item Libertine: \url{http://linuxlibertine.sourceforge.net/} +% +% \item DejaVu Serif / Sans / Sans Mono: \url{http://dejavu.sourceforge.net/wiki/index.php/Main_Page} +% +% \item Lucida Grande: Mac~OS~X +% +% \item TITUS Cyberbit Basic: \url{http://titus.fkidg1.uni-frankfurt.de/unicode/tituut.asp} +% +% \item Thryomanes: \url{ftp://ftp.io.com/pub/usr/hmiller/fonts/Thryomanes12.zip} +% +% \item jGaramond: \url{http://www.janthor.de/jGaramond/} +% +% \item Everson Mono Unicode (shareware): \url{http://www.evertype.com/emono/} +% +% \item Arial Unicode MS: Windows +% +% \item Microsoft Sans Serif: Windows +% +% \item FreeSerif / FreeSans / FreeMono: \url{http://savannah.nongnu.org/projects/freefont/} +% +% \item Roman Unicode: \url{http://everywitchway.net/linguistics/fonts/roman.html} +% +% \item Chrisanthi Unicode: \url{http://everywitchway.net/linguistics/fonts/chrysuni.html} +% +% \item HindSight Unicode (not very nice): \url{http://dartcanada.tripod.com/Objets/Zips/HindUnic.zip} +% +% \item AbRoman: \url{http://www.languagegeek.com/font/fontdownload.html} +% +% \item Garava: \url{http://www.aimwell.org/Fonts/fonts.html} +% +% \item Verajja (based on Bitstream Vera Sans, so very similar to DejaVu Sans): +% \url{http://www.aimwell.org/Fonts/fonts.html} +% +% \item Legendum: \url{http://home.kabelfoon.nl/~slam/fonts/fonts.html} +% +% \item Code2000 (shareware): \url{http://www.code2000.net} +% \end{compactitem} +% +% +% \section{Implementation} +%\iffalse +%<*package> +%\fi +% \begin{macrocode} +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{arabxetex} + [2010/03/04 v1.1.4 ArabTeX-like interface for XeLaTeX] +% +\DeclareOption{fullvoc}{\def\ax@mode{fullvoc}} +\DeclareOption{voc}{\def\ax@mode{voc}} +\DeclareOption{novoc}{\def\ax@mode{novoc}} +\DeclareOption{trans}{\def\ax@mode{trans}} +\DeclareOption{utf}{\def\ax@mode{utf}} +\DeclareOption{fdf2alif}{\def\ax@font@allah{fdf2alif}} +\DeclareOption{fdf2noalif}{\def\ax@font@allah{fdf2noalif}} +\newif\ifmirror@punct\mirror@punctfalse +\DeclareOption{mirrorpunct}{\mirror@puncttrue} +\ExecuteOptions{novoc,fdf2alif} +\ProcessOptions +\def\ax@mode@fullvoc{fullvoc} +\def\ax@mode@voc{voc} +\def\ax@mode@novoc{novoc} +\def\ax@mode@trans{trans} +\def\ax@mode@utf{utf} +\newif\ifax@mode@defined +\def\ax@ismode@defined#1{% + \ifcsname ax@mode@#1\endcsname% + \ax@mode@definedtrue% + \else + \ax@mode@definedfalse% + \fi} +\def\ax@lang{arab}%default language (for macros like \aemph) +\RequirePackage{amsmath}%because of macro \overline used in \aemph +\RequirePackage{fontspec} +\RequirePackage{bidi} +\AtBeginDocument{\ifdefined\arabicfont\relax\else + \PackageWarning{arabxetex}{\string\arabicfont\ is not defined!^^JI will try to load Scheherazade (scaled 1.5)}% + \newfontfamily\arabicfont[Script=Arabic,Scale=1.5]{Scheherazade}\fi}% +\def\ax@trans@style{\itshape}% +\newcommand{\SetTranslitStyle}[1]{\def\ax@trans@style{#1}} +\newcommand{\SetTranslitConvention}[1]{\def\ax@trans@convention{#1}} +\def\ax@trans@convention{loc}% Library of Congress is default +\newcommand{\SetAllahWithAlif}{\def\ax@font@allah{fdf2alif}} +\newcommand{\SetAllahWithoutAlif}{\def\ax@font@allah{fdf2noalif}} +\def\utf@fontfeature{\ifmirror@punct\addfontfeature{Mapping=mirrorpunct}\else\relax\fi} +\def\arabtex@codes{\catcode`^=11\relax\catcode`_=11\relax} +\def\UC{\char"E000} % This is used to capitalize the following letter (ignoring + % article al-) in transliteration mode +%%%Font setup +\def\ax@farsi@font{\ifdefined\farsifont\farsifont\else\arabicfont\fi} +\def\ax@urdu@font{\ifdefined\urdufont\urdufont\else\arabicfont\fi} +\def\ax@pashto@font{\ifdefined\pashtofont\pashtofont\else\arabicfont\fi} +\def\ax@maghribi@font{\ifdefined\maghribifont\maghribifont\else\arabicfont\fi} +\def\ax@sindhi@font{\ifdefined\sindhifont\sindhifont\else\arabicfont\fi} +\def\ax@kashmiri@font{\ifdefined\kashmirifont\kashmirifont\else\arabicfont\fi} +\def\ax@ottoman@font{\ifdefined\ottomanfont\ottomanfont\else\arabicfont\fi} +\def\ax@kurdish@font{\ifdefined\kurdishfont\kurdishfont\else\arabicfont\fi} +\def\ax@malay@font{\ifdefined\malayfont\malayfont\else\arabicfont\fi} +\def\ax@uighur@font{\ifdefined\uighurfont\uighurfont\else\arabicfont\fi} +\def\ax@urdu@font{\ifdefined\urdufont\urdufont\else\arabicfont\fi} + +\newenvironment{arab}[1][\ax@mode]% +{\edef\@tempa{#1}% +\def\ax@lang{arab}% +\ax@ismode@defined{\@tempa}% +\ifax@mode@defined% + \ifx\@tempa\ax@mode@trans% + \par\arabtex@codes\ax@trans@style% + \addfontfeature{Mapping=arabtex-trans-\ax@trans@convention}% + \else + \ifx\@tempa\ax@mode@utf% + \par\setRL\arabicfont\utf@fontfeature% + \else + \par\setRL\arabicfont\arabtex@codes% + \addfontfeature{Mapping=arabtex-\ax@font@allah-\@tempa}% + \fi\fi +\else + \PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}% + \par\setRL\arabicfont\arabtex@codes% + \addfontfeature{Mapping=arabtex-\ax@font@allah-\ax@mode}% +\fi} +{\ifx\@tempa\ax@mode@trans\relax\else\unsetRL\fi\par} +\let\Arabic=\arab% +%%% +\newenvironment{maghribi}[1][\ax@mode]% +{\edef\@tempa{#1}% +\def\ax@lang{maghribi}% +\ax@ismode@defined{\@tempa}% +\ifax@mode@defined% + \ifx\@tempa\ax@mode@trans% + \par\arabtex@codes\ax@trans@style% + \addfontfeature{Mapping=arabtex-trans-\ax@trans@convention}% + \else + \ifx\@tempa\ax@mode@utf% + \par\setRL\ax@maghribi@font\utf@fontfeature% + \else + \par\setRL\ax@maghribi@font\arabtex@codes% + \addfontfeature{Mapping=arabtex-\ax@font@allah-maghribi-\@tempa}% + \fi\fi +\else + \PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}% + \par\setRL\ax@maghribi@font\arabtex@codes% + \addfontfeature{Mapping=arabtex-\ax@font@allah-maghribi-\ax@mode}% +\fi} +{\ifx\@tempa\ax@mode@trans\relax\else\unsetRL\fi\par} +%%% +\newenvironment{farsi}[1][\ax@mode]% +{\edef\@tempa{#1}% +\def\ax@lang{farsi}% +\ax@ismode@defined{\@tempa}% +\ifax@mode@defined% + \ifx\@tempa\ax@mode@trans% + \par\arabtex@codes\ax@trans@style% + \addfontfeature{Mapping=arabtex-farsi-trans-\ax@trans@convention}% + \else + \ifx\@tempa\ax@mode@utf% + \par\setRL\ax@farsi@font\utf@fontfeature% + \else + \par\setRL\ax@farsi@font\arabtex@codes% + \addfontfeature{Mapping=arabtex-\ax@font@allah-farsi-\@tempa}% + \fi\fi +\else + \PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}% + \par\setRL\ax@farsi@font\arabtex@codes% + \addfontfeature{Mapping=arabtex-\ax@font@allah-farsi-\ax@mode}% +\fi} +{\ifx\@tempa\ax@mode@trans\relax\else\unsetRL\fi\par} +\let\persian=\farsi +%%% +\newenvironment{urdu}[1][\ax@mode]% +{\edef\@tempa{#1}% +\def\ax@lang{urdu}% +\ax@ismode@defined{\@tempa}% +\ifax@mode@defined% + \ifx\@tempa\ax@mode@trans% + \par\arabtex@codes\ax@trans@style% + \addfontfeature{Mapping=arabtex-urdu-trans-\ax@trans@convention}% + \else + \ifx\@tempa\ax@mode@utf% + \par\setRL\ax@urdu@font\addfontfeature{Language=Urdu}%Mapping=arabtex-utf}% + \else + \par\setRL\ax@urdu@font\arabtex@codes% + \addfontfeature{Mapping=arabtex-\ax@font@allah-urdu-\@tempa}% + \fi\fi +\else + \PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}% + \par\setRL\ax@urdu@font\arabtex@codes% + \addfontfeature{Mapping=arabtex-\ax@font@allah-urdu-\ax@mode}% +\fi} +{\ifx\@tempa\ax@mode@trans\relax\else\unsetRL\fi\par} +%%% +\newenvironment{pashto}[1][\ax@mode]% +{\edef\@tempa{#1}% +\def\ax@lang{pashto}% +\ax@ismode@defined{\@tempa}% +\ifax@mode@defined% + \ifx\@tempa\ax@mode@trans% + \par\arabtex@codes\ax@trans@style% + \addfontfeature{Mapping=arabtex-pashto-trans-\ax@trans@convention}% + \else + \ifx\@tempa\ax@mode@utf% + \par\setRL\ax@pashto@font\utf@fontfeature% + \else + \par\setRL\ax@pashto@font\arabtex@codes% + \addfontfeature{Mapping=arabtex-\ax@font@allah-pashto-\@tempa}% + \fi\fi +\else + \PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}% + \par\setRL\ax@pashto@font\arabtex@codes% + \addfontfeature{Mapping=arabtex-\ax@font@allah-pashto-\ax@mode}% +\fi} +{\ifx\@tempa\ax@mode@trans\relax\else\unsetRL\fi\par} +%%% +\newenvironment{sindhi}[1][\ax@mode]% +{\edef\@tempa{#1}% +\def\ax@lang{sindhi}% +\ax@ismode@defined{\@tempa}% +\ifax@mode@defined% + \ifx\@tempa\ax@mode@trans% + \par\arabtex@codes\ax@trans@style% + \addfontfeature{Mapping=arabtex-sindhi-trans-\ax@trans@convention}% + \else + \ifx\@tempa\ax@mode@utf% + \par\setRL\ax@sindhi@font\addfontfeature{Language=Sindhi}%Mapping=arabtex-utf}% + \else + \par\setRL\ax@sindhi@font\arabtex@codes% + \addfontfeature{Mapping=arabtex-\ax@font@allah-sindhi-\@tempa,Language=Sindhi}% + \fi\fi +\else + \PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}% + \par\setRL\ax@sindhi@font\arabtex@codes% + \addfontfeature{Mapping=arabtex-\ax@font@allah-sindhi-\ax@mode,Language=Sindhi}% +\fi} +{\ifx\@tempa\ax@mode@trans\relax\else\unsetRL\fi\par} +%%% +\newenvironment{ottoman}[1][\ax@mode]% +{\edef\@tempa{#1}% +\def\ax@lang{ottoman}% +\ax@ismode@defined{\@tempa}% +\ifax@mode@defined% + %\ifx\@tempa\ax@mode@trans% + % \par\arabtex@codes\ax@trans@style% + % \addfontfeature{Mapping=arabtex-turk-trans-\ax@trans@convention}% + %\else + \ifx\@tempa\ax@mode@utf% + \par\setRL\ax@ottoman@font\utf@fontfeature% + \else + \par\setRL\ax@ottoman@font\arabtex@codes% + \addfontfeature{Mapping=arabtex-\ax@font@allah-turk-\@tempa}% + \fi%\fi +\else + \PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}% + \par\setRL\ax@ottoman@font\arabtex@codes% + \addfontfeature{Mapping=arabtex-\ax@font@allah-turk-\ax@mode}% +\fi} +{%\ifx\@tempa\ax@mode@trans\relax\else +\unsetRL%\fi +\par} +\let\turk=\ottoman +%%% +\newenvironment{kurdish}[1][]% +{\def\ax@lang{kurdish}% +%\edef\@tempa{#1}% +%\ifx\@tempa\ax@mode@trans% +% \par\arabtex@codes\ax@trans@style% +% \addfontfeature{Mapping=arabtex-kurdish-trans-\ax@trans@convention}% +%\else +\ifx\@tempa\ax@mode@utf% + \par\setRL\ax@kurdish@font\addfontfeature{Language=Kurdish}%Mapping=arabtex-utf}% +\else + \par\setRL\ax@kurdish@font\arabtex@codes% + \addfontfeature{Mapping=arabtex-\ax@font@allah-kurdish,Language=Kurdish}% +\fi} +{%\ifx\@tempa\ax@mode@trans\relax\else +\unsetRL%\fi +\par} +%%% +\newenvironment{kashmiri}[1][\ax@mode]% +{\edef\@tempa{#1}% +\def\ax@lang{kashmiri}% +\ax@ismode@defined{\@tempa}% +\ifax@mode@defined% + %\ifx\@tempa\ax@mode@trans% + % \par\arabtex@codes\ax@trans@style% + % \addfontfeature{Mapping=arabtex-\ax@font@allah-kashmiri-trans-\ax@trans@convention}% + %\else + \ifx\@tempa\ax@mode@utf% + \par\setRL\ax@kashmiri@font\utf@fontfeature% + \else + \par\setRL\ax@kashmiri@font\arabtex@codes% + \addfontfeature{Mapping=arabtex-\ax@font@allah-kashmiri-\@tempa}% + \fi%\fi +\else + \PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}% + \par\setRL\ax@kashmiri@font\arabtex@codes% + \addfontfeature{Mapping=arabtex-\ax@font@allah-kashmiri-\ax@mode}% +\fi} +{%\ifx\@tempa\ax@mode@trans\relax\else +\unsetRL%\fi +\par} +%%% +\newenvironment{malay}[1][\ax@mode]% +{\edef\@tempa{#1}% +\def\ax@lang{malay}% +\ax@ismode@defined{\@tempa}% +\ifax@mode@defined% + %\ifx\@tempa\ax@mode@trans% + % \par\arabtex@codes\ax@trans@style% + % \addfontfeature{Mapping=arabtex-malay-trans-\ax@trans@convention}% + %\else + \ifx\@tempa\ax@mode@utf% + \par\setRL\ax@malay@font\utf@fontfeature% + \else + \par\setRL\ax@malay@font\arabtex@codes% + \addfontfeature{Mapping=arabtex-\ax@font@allah-malay-\@tempa}% + \fi%\fi +\else + \PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}% + \par\setRL\ax@malay@font\arabtex@codes% + \addfontfeature{Mapping=arabtex-\ax@font@allah-malay-\ax@mode}% +\fi} +{%\ifx\@tempa\ax@mode@trans\relax\else +\unsetRL%\fi +\par} +\let\jawi=\malay +%%% +\newenvironment{uighur}[1]% +{%\edef\@tempa{#1}% +\def\ax@lang{uighur}% +%\ifx\@tempa\ax@mode@trans% +% \par\arabtex@codes\ax@trans@style% +% \addfontfeature{Mapping=arabtex-uighur-trans-\ax@trans@convention}% +%\else +\ifx\@tempa\ax@mode@utf% + \par\setRL\ax@uighur@font\utf@fontfeature% +\else + \par\setRL\ax@uighur@font\arabtex@codes% + \addfontfeature{Mapping=arabtex-\ax@font@allah-uighur}% +\fi} +{%\ifx\@tempa\ax@mode@trans\relax\else +\unsetRL%\fi +\par} +%%% +\def\textarab{\bgroup\arabtex@codes\text@arab} +\let\textarabic=\textarab +\def\textmaghribi{\bgroup\arabtex@codes\text@maghribi} +\def\textfarsi{\bgroup\arabtex@codes\text@farsi} +\let\textpersian=\textfarsi +\def\texturdu{\bgroup\arabtex@codes\text@urdu} +\def\textsindhi{\bgroup\arabtex@codes\text@sindhi} +\def\textpashto{\bgroup\arabtex@codes\text@pashto} +\def\textottoman{\bgroup\arabtex@codes\text@ottoman} +\let\textturk=\textottoman +\def\textkurdish{\bgroup\arabtex@codes\text@kurdish} +\def\textkashmiri{\bgroup\arabtex@codes\text@kashmiri} +\def\textmalay{\bgroup\arabtex@codes\text@malay} +\let\textjawi=\textmalay +\def\textuighur{\bgroup\arabtex@codes\text@uighur} +\newcommand\text@arab[2][\ax@mode]{% + \edef\@tempa{#1}% + \def\ax@lang{arab}% + \ax@ismode@defined{\@tempa}% + \ifax@mode@defined% + \ifx\@tempa\ax@mode@trans% + {\ax@trans@style\addfontfeature{Mapping=arabtex-trans-\ax@trans@convention}#2}% + \else + \ifx\@tempa\ax@mode@utf% + \RL{\arabicfont\utf@fontfeature #2}% + \else + \RL{\arabicfont\addfontfeature{Mapping=arabtex-\ax@font@allah-\@tempa}#2}% + \fi\fi + \else + \PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}% + \RL{\arabicfont\addfontfeature{Mapping=arabtex-\ax@font@allah-\ax@mode}#2}% + \fi\egroup} +\newcommand\text@maghribi[2][\ax@mode]{% + \edef\@tempa{#1}% + \def\ax@lang{maghribi}% + \ax@ismode@defined{\@tempa}% + \ifax@mode@defined% + \ifx\@tempa\ax@mode@trans% + {\ax@trans@style\addfontfeature{Mapping=arabtex-trans-\ax@trans@convention}#2}% + \else + \ifx\@tempa\ax@mode@utf% + \RL{\ax@maghribi@font\utf@fontfeature #2}% + \else + \RL{\ax@maghribi@font% + \addfontfeature{Mapping=arabtex-\ax@font@allah-maghribi-\@tempa}#2}% + \fi\fi + \else + \PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}% + \RL{\ax@maghribi@font\addfontfeature{Mapping=arabtex-\ax@font@allah-maghribi-\ax@mode}#2}% + \fi\egroup} +\newcommand\text@farsi[2][\ax@mode]{% + \edef\@tempa{#1}% + \def\ax@lang{farsi}% + \ax@ismode@defined{\@tempa}% + \ifax@mode@defined% + \ifx\@tempa\ax@mode@trans% + {\ax@trans@style\addfontfeature{Mapping=arabtex-farsi-trans-\ax@trans@convention}#2}% + \else + \ifx\@tempa\ax@mode@utf% + \RL{\ax@farsi@font\utf@fontfeature #2}% + \else + \RL{\ax@farsi@font% + \addfontfeature{Mapping=arabtex-\ax@font@allah-farsi-\@tempa}#2}% + \fi\fi + \else + \PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}% + \RL{\ax@farsi@font\addfontfeature{Mapping=arabtex-\ax@font@allah-farsi-\ax@mode}#2}% + \fi\egroup} +\newcommand\text@urdu[2][\ax@mode]{% + \edef\@tempa{#1}% + \def\ax@lang{urdu}% + \ax@ismode@defined{\@tempa}% + \ifax@mode@defined% + \ifx\@tempa\ax@mode@trans% + {\ax@trans@style\addfontfeature{Mapping=arabtex-urdu-trans-\ax@trans@convention}#2}% + \else + \ifx\@tempa\ax@mode@utf% + \RL{\ax@urdu@font\addfontfeature{Language=Urdu}#2}%eventually Mapping=arabtex-utf + \else + \RL{\ax@urdu@font% + \addfontfeature{Mapping=arabtex-\ax@font@allah-urdu-\@tempa,Language=Urdu}#2}% + \fi\fi + \else + \PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}% + \RL{\ax@urdu@font\addfontfeature{Mapping=arabtex-\ax@font@allah-urdu-\ax@mode,Language=Urdu}#2}% + \fi\egroup} +\newcommand\text@sindhi[2][\ax@mode]{% + \edef\@tempa{#1}% + \def\ax@lang{sindhi}% + \ax@ismode@defined{\@tempa}% + \ifax@mode@defined% + \ifx\@tempa\ax@mode@trans% + {\ax@trans@style\addfontfeature{Mapping=arabtex-sindhi-trans-\ax@trans@convention}#2}% + \else + \ifx\@tempa\ax@mode@utf% + \RL{\ax@sindhi@font\addfontfeature{Language=Sindhi} #2}%eventually Mapping=arabtex-utf + \else + \RL{\ax@sindhi@font% + \addfontfeature{Mapping=arabtex-\ax@font@allah-sindhi-\@tempa,Language=Sindhi}#2}% + \fi\fi + \else + \PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}% + \RL{\ax@sindhi@font\addfontfeature{Mapping=arabtex-\ax@font@allah-sindhi-\ax@mode,Language=Sindhi}#2}% + \fi\egroup} +\newcommand\text@pashto[2][\ax@mode]{% + \edef\@tempa{#1}% + \def\ax@lang{pashto}% + \ax@ismode@defined{\@tempa}% + \ifax@mode@defined% + \ifx\@tempa\ax@mode@trans% + {\ax@trans@style\addfontfeature{Mapping=arabtex-pashto-trans-\ax@trans@convention}#2}% + \else + \ifx\@tempa\ax@mode@utf% + \RL{\ax@pashto@font\utf@fontfeature #2}% + \else + \RL{\ax@pashto@font% + \addfontfeature{Mapping=arabtex-\ax@font@allah-pashto-\@tempa}#2}% + \fi\fi + \else + \PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}% + \RL{\ax@pashto@font\addfontfeature{Mapping=arabtex-\ax@font@allah-pashto-\ax@mode}#2}% + \fi\egroup} +\newcommand\text@ottoman[2][\ax@mode]{% + \edef\@tempa{#1}% + \def\ax@lang{ottoman}% + \ax@ismode@defined{\@tempa}% + \ifax@mode@defined% + % UNCOMMENT when transliteration mapping is done + %\ifx\@tempa\ax@mode@trans% + % {\ax@trans@style\addfontfeature{Mapping=arabtex-turk-trans-\ax@trans@convention}#2}% + %\else + \ifx\@tempa\ax@mode@utf% + \RL{\ax@ottoman@font\utf@fontfeature #2}% + \else + \RL{\ax@ottoman@font% + \addfontfeature{Mapping=arabtex-\ax@font@allah-turk-\@tempa}#2}% + \fi%\fi + \else + \PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}% + \RL{\ax@ottoman@font\addfontfeature{Mapping=arabtex-\ax@font@allah-turk-\ax@mode}#2}% + \fi\egroup} +\newcommand\text@kurdish[2][]{% + \edef\@tempa{#1}% + \def\ax@lang{kurdish}% + % UNCOMMENT when transliteration mapping is done + %\ifx\@tempa\ax@mode@trans% + % {\ax@trans@style\addfontfeature{Mapping=arabtex-kurdish-trans-\ax@trans@convention}#2}% + %\else + \ifx\@tempa\ax@mode@utf% + \RL{\ax@kurdish@font\utf@fontfeature #2}% + \else + \RL{\ax@kurdish@font% + \addfontfeature{Mapping=arabtex-\ax@font@allah-kurdish,Language=Kurdish}#2}% + \fi%\fi + \egroup} +\newcommand\text@kashmiri[2][\ax@mode]{% + \edef\@tempa{#1}% + \def\ax@lang{kashmiri}% + \ax@ismode@defined{\@tempa}% + \ifax@mode@defined% + % UNCOMMENT when transliteration mapping is done + %\ifx\@tempa\ax@mode@trans% + % {\ax@trans@style\addfontfeature{Mapping=arabtex-kashmiri-trans-\ax@trans@convention}#2}% + %\else + \ifx\@tempa\ax@mode@utf% + \RL{\ax@kashmiri@font\utf@fontfeature #2}% + \else + \RL{\ax@kashmiri@font% + \addfontfeature{Mapping=arabtex-\ax@font@allah-kashmiri-\@tempa}#2}% + \fi%\fi + \else + \PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}% + \RL{\ax@kashmiri@font\addfontfeature{Mapping=arabtex-\ax@font@allah-kashmiri-\ax@mode}#2}% + \fi\egroup} +\newcommand\text@malay[2][\ax@mode]{% + \edef\@tempa{#1}% + \def\ax@lang{malay}% + \ax@ismode@defined{\@tempa}% + \ifax@mode@defined% + % UNCOMMENT when transliteration mapping is done + %\ifx\@tempa\ax@mode@trans% + % {\ax@trans@style\addfontfeature{Mapping=arabtex-malay-trans-\ax@trans@convention}#2}% + %\else + \ifx\@tempa\ax@mode@utf% + \RL{\ax@malay@font\utf@fontfeature #2}% + \else + \RL{\ax@malay@font% + \addfontfeature{Mapping=arabtex-\ax@font@allah-malay-\@tempa}#2}% + \fi%\fi + \else + \PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \ax@mode}% + \RL{\ax@malay@font\addfontfeature{Mapping=arabtex-\ax@font@allah-malay-\ax@mode}#2}% + \fi\egroup} +\newcommand\text@uighur[2][]{% + \edef\@tempa{#1}% + \def\ax@lang{uighur}% + % UNCOMMENT when transliteration mapping is done + %\ifx\@tempa\ax@mode@trans% + % {\ax@trans@style\addfontfeature{Mapping=arabtex-uighur-trans-\ax@trans@convention}#2}% + %\else + \ifx\@tempa\ax@mode@utf% + \RL{\ax@uighur@font\utf@fontfeature #2}% + \else + \RL{\ax@uighur@font% + \addfontfeature{Mapping=arabtex-\ax@font@allah-uighur}#2}% + \fi%\fi + \egroup} +% +\newcommand{\textLR}[1]{\LR{\rmfamily #1}} +\newcommand{\aemph}[1]{% + \edef\@tempb{\expandafter\noexpand\csname text\ax@lang\endcsname}% + $\overline{\text{\@tempb{#1}}}$} +% \end{macrocode} +% +%\iffalse +% +%\fi +% +% ^^A\section{Unicode Matters} +% ^^A +% ^^ASome glyphs are missing in Unicode: +% ^^A +% ^^A- wavy Hamza below as combining diacritic (for Kashmiri) +% ^^A +% ^^A- .b with ring below (for Kashmiri) (NB: can be poorly rendered by U+066E U+06EA) +% ^^A +% ^^A- hamza directly above baseline (for Qur'an) : 0654 is too high! +% ^^A \def\hamzaB{\raisebox[-1ex]{\char"0654} is ok +% ^^A +% ^^A- U+FDF2: codify the LLAH ligature as well? +% ^^A Perhaps the FALILLAH ligature could be added as well? +% +% ^^A\clearpage +% ^^A\PrintChanges +% +% ^^A\clearpage +% ^^A\PrintIndex +% +% \Finale +% +%\iffalse +%<*dtx-style> +% \begin{macrocode} +\ProvidesPackage{arabxetex-dtx-style} +\usepackage{fontspec,xltxtra} +\usepackage{array,supertabular,xspace,multicol,fancyvrb,paralist} +\usepackage[voc]{arabxetex} +\usepackage[dvipdfm]{color} +\definecolor{myblue}{rgb}{0.02,0.04,0.48} +\definecolor{myred}{rgb}{0.65,0.04,0.07} +\definecolor{darkgray}{gray}{0.3} +\definecolor{lightgray}{gray}{0.6} +\definecolor{IslamicGreen}{rgb}{0,.43,0} +\usepackage[dvipdfm, + bookmarks=true, + colorlinks=true, + linkcolor=myblue, + urlcolor=myblue, + citecolor=myblue, + hyperindex=false, + hyperfootnotes=false, + pdftitle={The ArabXeTeX package}, + pdfauthor={F Charette }, + pdfsubject={An ArabTeX-like interface for typesetting languages in Arabic script with XeLaTeX}, + pdfkeywords={ArabTeX, XeTeX, XeLaTeX, Arabic, Maghribi, Persian, Farsi, Urdu, Sindhi, + Pashto, Turkish, Ottoman, Kurdish, Kashmiri, Malay, Jawi, Uighur} + ]{hyperref} +% NB some of this preamble is taken or adapted from fontspec-doc-style.sty +\newcommand*\pkg[1]{\textsf{#1}} +\def\eg{\textit{e.g.,}\xspace} +\def\ie{\textit{i.e.,}\xspace} +\def\ca{\textit{ca.}\@\xspace} +\def\Eg{\textit{E.g.,}\xspace} +\def\Ie{\textit{I.e.,}\xspace} +\def\etc{\@ifnextchar.{\textit{etc}}{\textit{etc.}\@\xspace}} + +\newlength{\oldparindent} +\newcommand{\parindentoff}{\setlength{\oldparindent}{\parindent} \setlength{\parindent}{0pt}} +\newcommand{\parindenton}{\setlength{\parindent}{\oldparindent}} + +%% LOGOS, tuned for Palatino: +\makeatletter +\TeX@logo@spacing{-0.12em}{-0.12em}% + {0.5ex}{-0.3em}{-0.12em}{-0.1em} +\makeatother +\def\arabxetex{Arab\XeTeX} +\def\arabtex{Arab\TeX} +\def\arabxetexAr{\RL{\fontspec[Script=Arabic,Scale=1.5]{DecoType Thuluth} عرب زيتخ}} +\def\MacOSX{Mac~OS~X} +\def\ASCII{\textsc{ascii}} % ii small caps does not work with Junicode! + +%% Sidenotes << copied from fontspec.dtx +\newcommand\warn[2]{% + \edef\thisversion{#1}% + \ifhmode\unskip~\fi{\ifx\thisversion\fileversion\color{red}\fi + $\leftarrow$}% + \marginpar{\raggedleft + \small% + {\ifx\thisversion\fileversion\color{red}\fi$\rightarrow$}% + \,{\notefont #1:~#2}}} + +\newcommand\new[1]{% + \edef\thisversion{#1}% + \ifhmode\unskip~\fi{\ifx\thisversion\fileversion\color{blue}\else\color[gray]{0.5}\fi + $\leftarrow$}% + \marginpar{\raggedleft + \small\ifx\thisversion\fileversion\color{blue}\else\color[gray]{0.5}\fi + $\rightarrow$\,{\notefont #1:~New!}}} + +%% Sidenote font +\newfontfamily\notefont[Scale=MatchLowercase]{Lucida Sans Unicode} + +%%% + +%% fontspec declarations: +\setromanfont[Mapping=tex-text]{Junicode}%{FPL Neu} +\defaultfontfeatures{Scale=MatchLowercase} +\setmonofont{Inconsolata}%{Latin Modern Typewriter Proportional}%{Luxi Mono}%{Courier New} +\setsansfont{Lucida Sans Unicode} +\newfontfamily\arabicfont[Script=Arabic,Scale=1.5]{Scheherazade} +\newfontfamily\urdufont[Script=Arabic,Scale=1.2]{Nafees Pakistani Naskh}%Nafees Nastaleeq does not work well +\newfontfamily\farsifont[Script=Arabic,Scale=1.33]{Farsi Simple Bold} +\newfontfamily\lateeffont[Script=Arabic,Scale=1.5]{Lateef} +\newfontfamily\lotusfont[Script=Arabic,Scale=1.5]{Lotus Linotype} +\newfontfamily\arabtype[Script=Arabic,Scale=1.5]{Arabic Typesetting} +\newfontfamily\adobearabic[Script=Arabic,Scale=1.5]{Adobe Arabic} +\newfontfamily\tradarabic[Script=Arabic,Scale=1.5]{Traditional Arabic} +\newfontfamily\arabesque{AGA Arabesque} +\newfontfamily\arialuni{Arial Unicode MS} +\newfontfamily\gentium{Gentium} + +\linespread{1.05} +\frenchspacing +%%% +\def\GN{\bgroup\catcode`\_=11\relax\catcode`\^=11\relax\GNX} +\def\GR{\bgroup\catcode`\_=11\relax\catcode`\^=11\relax\GRX} +\def\GB{\bgroup\catcode`\_=11\relax\catcode`\^=11\relax\GBX} +\def\GG{\bgroup\catcode`\_=11\relax\catcode`\^=11\relax\GGX} +\def\GV{\bgroup\catcode`\_=11\relax\catcode`\^=11\relax\GVX} +\newcommand{\GNX}[3][arab]{% + \edef\@tempa{\expandafter\noexpand\csname text#1\endcsname} + \parbox[c]{7.5mm}{\centering{\@tempa{#2}}\\[1pt]\ttfamily\fontsize{5}{5}\selectfont{#3}}\egroup} +\newcommand{\GRX}[3][arab]{% + \edef\@tempa{\expandafter\noexpand\csname text#1\endcsname} + \parbox[c]{7.5mm}{\centering{\textcolor{myred}{\@tempa{#2}}}\\[1pt]\ttfamily\fontsize{5}{5}\selectfont{#3}}\egroup} +\newcommand{\GBX}[3][arab]{% + \edef\@tempa{\expandafter\noexpand\csname text#1\endcsname} + \parbox[c]{7.5mm}{\centering{\textcolor{myblue}{\@tempa{#2}}}\\[1pt]\ttfamily\fontsize{5}{5}\selectfont{#3}}\egroup} +\newcommand{\GVX}[3][arab]{% + \edef\@tempa{\expandafter\noexpand\csname text#1\endcsname} + \parbox[c]{7.5mm}{\centering{\textcolor{IslamicGreen}{\@tempa{#2}}}\\[1pt]\ttfamily\fontsize{5}{5}\selectfont{#3}}\egroup} +\newcommand{\GGX}[2][arab]{% + \edef\@tempa{\expandafter\noexpand\csname text#1\endcsname} + \parbox[c]{7.5mm}{\centering{\textcolor{lightgray}{\@tempa{#2}}}}\egroup} + +\newcommand{\hamzaB}{\char"200D\char"0640\raise-.95ex\hbox{\char"0654}\char"200D} +% \end{macrocode} +% +%\fi +% +% +% \typeout{*************************************************************} +% \typeout{*} +% \typeout{* To finish the installation you have to move the following} +% \typeout{* file into a directory searched by XeTeX:} +% \typeout{*} +% \typeout{* \space\space\space arabxetex.sty} +% \typeout{*} +% \typeout{* and move all *.tec and *.map files to} +% \typeout{* .../fonts/misc/xetex/fontmapping/arabxetex/} +% \typeout{*************************************************************} +% +\endinput + diff --git a/Master/texmf-dist/source/xelatex/arabxetex/makemaps.pl b/Master/texmf-dist/source/xelatex/arabxetex/makemaps.pl new file mode 100755 index 00000000000..231a6b5c8ea --- /dev/null +++ b/Master/texmf-dist/source/xelatex/arabxetex/makemaps.pl @@ -0,0 +1,1117 @@ +#!/usr/bin/perl + +use strict; +use warnings; + +my $name="arabtex"; +my $master="$name.maps"; +my $output="mappings/$name"; +mkdir("mappings"); + +#languages = arab maghribi farsi urdu pashto sindhi kashmiri kurdish turk malay uighur +# but kurdish and uighur are coded separately + +# First the mappings for fonts that have the glyph U+FDF2 with initial alif + +open MAPS, "<$master" ; +open OUTPUT, ">$output-fdf2alif-novoc.map"; +while () { + s/^#1 // ; + s/^#0.+\n//m ; + s/^\@An // ; + s/^\@.+\n//m ; + s/^#[A-Z]*A[A-Z]*n // ; + s/^#[A-Z]*A[A-Z]* // ; + s/^#-[BPUTSKOM]+n // ; + s/^#-[BPUTSKOM]+ // ; + s/^#n // ; + s/^#.+\n//m ; + print OUTPUT +} ; +close OUTPUT; +close MAPS; + +open MAPS, "<$master" ; +open OUTPUT, ">$output-fdf2alif-voc.map"; +while () { + s/^#1 // ; + s/^#0.+\n//m ; + s/^\@Av // ; + s/^\@v // ; + s/^\@.+\n//m ; + s/^#[A-Z]*A[A-Z]*v // ; + s/^#[A-Z]*A[A-Z]* // ; + s/^#-[BPUTSKOM]+v // ; + s/^#-[BPUTSKOM]+ // ; + s/^#v // ; + s/^#.+\n//m ; + print OUTPUT +} ; +close OUTPUT; +close MAPS; + +open MAPS, "<$master" ; +open OUTPUT, ">$output-fdf2alif-fullvoc.map"; +while () { + s/^#1 // ; + s/^#0.+\n//m ; + s/^\@Af // ; + s/^\@.+\n//m ; + s/^#[A-Z]*A[A-Z]*[vf] // ; + s/^#[A-Z]*A[A-Z]* // ; + s/^#-[BPUTSKOM]+[vf] // ; + s/^#-[BPUTSKOM]+ // ; + s/^#[vf] // ; + s/^#.+\n//m ; + print OUTPUT +} ; +close OUTPUT; +close MAPS; + +## maghribi + +open MAPS, "<$master" ; +open OUTPUT, ">$output-fdf2alif-maghribi-novoc.map"; +while () { + s/^#1 // ; + s/^#0.+\n//m ; + s/^\@Bn // ; + s/^\@.+\n//m ; + s/^#[A-Z]*A[A-Z]*n // ; + s/^#[A-Z]*A[A-Z]* // ; + s/^#[A-Z]*B[A-Z]*n // ; + s/^#[A-Z]*B[A-Z]* // ; + s/^#-[PUTSKOM]+n // ; + s/^#-[PUTSKOM]+ // ; + s/^#n // ; + s/^#.+\n//m ; + print OUTPUT +} ; +close OUTPUT; +close MAPS; + +open MAPS, "<$master" ; +open OUTPUT, ">$output-fdf2alif-maghribi-voc.map"; +while () { + s/^#1 // ; + s/^#0.+\n//m ; + s/^\@Bv // ; + s/^\@v // ; + s/^\@.+\n//m ; + s/^#[A-Z]*A[A-Z]*v // ; + s/^#[A-Z]*A[A-Z]* // ; + s/^#[A-Z]*B[A-Z]*v // ; + s/^#[A-Z]*B[A-Z]* // ; + s/^#-[PUTSKOM]+v // ; + s/^#-[PUTSKOM]+ // ; + s/^#v // ; + s/^#.+\n//m ; + print OUTPUT +} ; +close OUTPUT; +close MAPS; + +open MAPS, "<$master" ; +open OUTPUT, ">$output-fdf2alif-maghribi-fullvoc.map"; +while () { + s/^#1 // ; + s/^#0.+\n//m ; + s/^\@Bf // ; + s/^\@.+\n//m ; + s/^#[A-Z]*A[A-Z]*[vf] // ; + s/^#[A-Z]*A[A-Z]* // ; + s/^#[A-Z]*B[A-Z]*[vf] // ; + s/^#[A-Z]*B[A-Z]* // ; + s/^#-[PUTSKOM]+[vf] // ; + s/^#-[PUTSKOM]+ // ; + s/^#[vf] // ; + s/^#.+\n//m ; + print OUTPUT +} ; +close OUTPUT; +close MAPS; + +### farsi + +open MAPS, "<$master" ; +open OUTPUT, ">$output-fdf2alif-farsi-novoc.map"; +while () { + s/^#1 // ; + s/^#0.+\n//m ; + s/^\@Pn // ; + s/^\@.+\n//m ; + s/^#[A-Z]*P[A-Z]*n // ; + s/^#[A-Z]*P[A-Z]* // ; + s/^#-[ABUTSKOM]+n // ; + s/^#-[ABUTSKOM]+ // ; + s/^#n // ; + s/^#.+\n//m ; + print OUTPUT +} +close OUTPUT; +close MAPS; + +open MAPS, "<$master" ; +open OUTPUT, ">$output-fdf2alif-farsi-voc.map"; +while () { + s/^#1 // ; + s/^#0.+\n//m ; + s/^\@Pv // ; + s/^\@v // ; + s/^\@.+\n//m ; + s/^#[A-Z]*P[A-Z]*v // ; + s/^#[A-Z]*P[A-Z]* // ; + s/^#-[ABUTSKOM]+v // ; + s/^#-[ABUTSKOM]+ // ; + s/^#v // ; + s/^#.+\n//m ; + print OUTPUT +} +close OUTPUT; +close MAPS; + +open MAPS, "<$master" ; +open OUTPUT, ">$output-fdf2alif-farsi-fullvoc.map"; +while () { + s/^#1 // ; + s/^#0.+\n//m ; + s/^\@Pf // ; + s/^\@.+\n//m ; + s/^#[A-Z]*P[A-Z]*[vf] // ; + s/^#[A-Z]*P[A-Z]* // ; + s/^#-[ABUTSKOM]+[vf] // ; + s/^#-[ABUTSKOM]+ // ; + s/^#[vf] // ; + s/^#.+\n//m ; + print OUTPUT +} +close OUTPUT; +close MAPS; + +### urdu + +open MAPS, "<$master" ; +open OUTPUT, ">$output-fdf2alif-urdu-novoc.map"; +while () { + s/^#1 // ; + s/^#0.+\n//m ; + s/^\@Un // ; + s/^\@.+\n//m ; + s/^#[A-Z]*U[A-Z]*n // ; + s/^#[A-Z]*U[A-Z]* // ; + s/^#-[ABPTSKOM]+n // ; + s/^#-[ABPTSKOM]+ // ; + s/^#n // ; + s/^#.+\n//m ; + print OUTPUT +} +close OUTPUT; +close MAPS; + +open MAPS, "<$master" ; +open OUTPUT, ">$output-fdf2alif-urdu-voc.map"; +while () { + s/^#1 // ; + s/^#0.+\n//m ; + s/^\@Uv // ; + s/^\@v // ; + s/^\@.+\n//m ; + s/^#[A-Z]*U[A-Z]*v // ; + s/^#[A-Z]*U[A-Z]* // ; + s/^#-[ABPTSKOM]+v // ; + s/^#-[ABPTSKOM]+ // ; + s/^#v // ; + s/^#.+\n//m ; + print OUTPUT +} +close OUTPUT; +close MAPS; + +open MAPS, "<$master" ; +open OUTPUT, ">$output-fdf2alif-urdu-fullvoc.map"; +while () { + s/^#1 // ; + s/^#0.+\n//m ; + s/^\@Uf // ; + s/^\@.+\n//m ; + s/^#[A-Z]*U[A-Z]*[vf] // ; + s/^#[A-Z]*U[A-Z]* // ; + s/^#-[ABPTSKOM]+[vf] // ; + s/^#-[ABPTSKOM]+ // ; + s/^#[vf] // ; + s/^#.+\n//m ; + print OUTPUT +} +close OUTPUT; +close MAPS; + +###sindhi + +open MAPS, "<$master" ; +open OUTPUT, ">$output-fdf2alif-sindhi-novoc.map"; +while () { + s/^#1 // ; + s/^#0.+\n//m ; + s/^\@Sn // ; + s/^\@.+\n//m ; + s/^#[A-Z]*S[A-Z]*n // ; + s/^#[A-Z]*S[A-Z]* // ; + s/^#-[ABPUTKOM]+n // ; + s/^#-[ABPUTKOM]+ // ; + s/^#n // ; + s/^#.+\n//m ; + print OUTPUT +} +close OUTPUT; +close MAPS; + +open MAPS, "<$master" ; +open OUTPUT, ">$output-fdf2alif-sindhi-voc.map"; +while () { + s/^#1 // ; + s/^#0.+\n//m ; + s/^\@Sv // ; + s/^\@v // ; + s/^\@.+\n//m ; + s/^#[A-Z]*S[A-Z]*v // ; + s/^#[A-Z]*S[A-Z]* // ; + s/^#-[ABPUTKOM]+v // ; + s/^#-[ABPUTKOM]+ // ; + s/^#v // ; + s/^#.+\n//m ; + print OUTPUT +} +close OUTPUT; +close MAPS; + +open MAPS, "<$master" ; +open OUTPUT, ">$output-fdf2alif-sindhi-fullvoc.map"; +while () { + s/^#1 // ; + s/^#0.+\n//m ; + s/^\@Sf // ; + s/^\@.+\n//m ; + s/^#[A-Z]*S[A-Z]*[vf] // ; + s/^#[A-Z]*S[A-Z]* // ; + s/^#-[ABPUTKOM]+[vf] // ; + s/^#-[ABPUTKOM]+ // ; + s/^#[vf] // ; + s/^#.+\n//m ; + print OUTPUT +} +close OUTPUT; +close MAPS; + +###pashto + +open MAPS, "<$master" ; +open OUTPUT, ">$output-fdf2alif-pashto-novoc.map"; +while () { + s/^#1 // ; + s/^#0.+\n//m ; + s/^\@Tn // ; + s/^\@.+\n//m ; + s/^#[A-Z]*T[A-Z]*n // ; + s/^#[A-Z]*T[A-Z]* // ; + s/^#-[ABPUSKOM]+n // ; + s/^#-[ABPUSKOM]+ // ; + s/^#n // ; + s/^#.+\n//m ; + print OUTPUT +} +close OUTPUT; +close MAPS; + + +open MAPS, "<$master" ; +open OUTPUT, ">$output-fdf2alif-pashto-voc.map"; +while () { + s/^#1 // ; + s/^#0.+\n//m ; + s/^\@Tv // ; + s/^\@v // ; + s/^\@.+\n//m ; + s/^#[A-Z]*T[A-Z]*v // ; + s/^#[A-Z]*T[A-Z]* // ; + s/^#-[ABPUSKOM]+v // ; + s/^#-[ABPUSKOM]+ // ; + s/^#v // ; + s/^#.+\n//m ; + print OUTPUT +} +close OUTPUT; +close MAPS; + + +open MAPS, "<$master" ; +open OUTPUT, ">$output-fdf2alif-pashto-fullvoc.map"; +while () { + s/^#1 // ; + s/^#0.+\n//m ; + s/^\@Tf // ; + s/^\@.+\n//m ; + s/^#[A-Z]*T[A-Z]*[vf] // ; + s/^#[A-Z]*T[A-Z]* // ; + s/^#-[ABPUSKOM]+[vf] // ; + s/^#-[ABPUSKOM]+ // ; + s/^#[vf] // ; + s/^#.+\n//m ; + print OUTPUT +} +close OUTPUT; +close MAPS; + + +###turk + +open MAPS, "<$master" ; +open OUTPUT, ">$output-fdf2alif-turk-novoc.map"; +while () { + s/^#1 // ; + s/^#0.+\n//m ; + s/^\@On // ; + s/^\@.+\n//m ; + s/^#[A-Z]*O[A-Z]*n // ; + s/^#[A-Z]*O[A-Z]* // ; + s/^#-[ABPUSKTM]+n // ; + s/^#-[ABPUSKTM]+ // ; + s/^#n // ; + s/^#.+\n//m ; + print OUTPUT +} +close OUTPUT; +close MAPS; + + +open MAPS, "<$master" ; +open OUTPUT, ">$output-fdf2alif-turk-voc.map"; +while () { + s/^#1 // ; + s/^#0.+\n//m ; + s/^\@Ov // ; + s/^\@v // ; + s/^\@.+\n//m ; + s/^#[A-Z]*O[A-Z]*v // ; + s/^#[A-Z]*O[A-Z]* // ; + s/^#-[ABPUSKTM]+v // ; + s/^#-[ABPUSKTM]+ // ; + s/^#v // ; + s/^#.+\n//m ; + print OUTPUT +} +close OUTPUT; +close MAPS; + + +open MAPS, "<$master" ; +open OUTPUT, ">$output-fdf2alif-turk-fullvoc.map"; +while () { + s/^#1 // ; + s/^#0.+\n//m ; + s/^\@Of // ; + s/^\@.+\n//m ; + s/^#[A-Z]*O[A-Z]*[vf] // ; + s/^#[A-Z]*O[A-Z]* // ; + s/^#-[ABPUSKTM]+[vf] // ; + s/^#-[ABPUSKTM]+ // ; + s/^#[vf] // ; + s/^#.+\n//m ; + print OUTPUT +} +close OUTPUT; +close MAPS; + +###kashmiri + +open MAPS, "<$master" ; +open OUTPUT, ">$output-fdf2alif-kashmiri-novoc.map"; +while () { + s/^#1 // ; + s/^#0.+\n//m ; + s/^\@Kn // ; + s/^\@.+\n//m ; + s/^#[A-Z]*K[A-Z]*n // ; + s/^#[A-Z]*K[A-Z]* // ; + s/^#-[ABPUSOTM]+n // ; + s/^#-[ABPUSOTM]+ // ; + s/^#n // ; + s/^#.+\n//m ; + print OUTPUT +} +close OUTPUT; +close MAPS; + + +open MAPS, "<$master" ; +open OUTPUT, ">$output-fdf2alif-kashmiri-voc.map"; +while () { + s/^#1 // ; + s/^#0.+\n//m ; + s/^\@Kv // ; + s/^\@v // ; + s/^\@.+\n//m ; + s/^#[A-Z]*K[A-Z]*v // ; + s/^#[A-Z]*K[A-Z]* // ; + s/^#-[ABPUSOTM]+v // ; + s/^#-[ABPUSOTM]+ // ; + s/^#v // ; + s/^#.+\n//m ; + print OUTPUT +} +close OUTPUT; +close MAPS; + + +open MAPS, "<$master" ; +open OUTPUT, ">$output-fdf2alif-kashmiri-fullvoc.map"; +while () { + s/^#1 // ; + s/^#0.+\n//m ; + s/^\@Kf // ; + s/^\@.+\n//m ; + s/^#[A-Z]*K[A-Z]*[vf] // ; + s/^#[A-Z]*K[A-Z]* // ; + s/^#-[ABPUSOTM]+[vf] // ; + s/^#-[ABPUSOTM]+ // ; + s/^#[vf] // ; + s/^#.+\n//m ; + print OUTPUT +} +close OUTPUT; +close MAPS; + +###malay + +open MAPS, "<$master" ; +open OUTPUT, ">$output-fdf2alif-malay-novoc.map"; +while () { + s/^#1 // ; + s/^#0.+\n//m ; + s/^\@Mn // ; + s/^\@.+\n//m ; + s/^#[A-Z]*M[A-Z]*n // ; + s/^#[A-Z]*M[A-Z]* // ; + s/^#-[ABPUSKOT]+n // ; + s/^#-[ABPUSKOT]+ // ; + s/^#n // ; + s/^#.+\n//m ; + print OUTPUT +} +close OUTPUT; +close MAPS; + + +open MAPS, "<$master" ; +open OUTPUT, ">$output-fdf2alif-malay-voc.map"; +while () { + s/^#1 // ; + s/^#0.+\n//m ; + s/^\@Mv // ; + s/^\@v // ; + s/^\@.+\n//m ; + s/^#[A-Z]*M[A-Z]*v // ; + s/^#[A-Z]*M[A-Z]* // ; + s/^#-[ABPUSKOT]+v // ; + s/^#-[ABPUSKOT]+ // ; + s/^#v // ; + s/^#.+\n//m ; + print OUTPUT +} +close OUTPUT; +close MAPS; + + +open MAPS, "<$master" ; +open OUTPUT, ">$output-fdf2alif-malay-fullvoc.map"; +while () { + s/^#1 // ; + s/^#0.+\n//m ; + s/^\@Mf // ; + s/^\@.+\n//m ; + s/^#[A-Z]*M[A-Z]*[vf] // ; + s/^#[A-Z]*M[A-Z]* // ; + s/^#-[ABPUSKOT]+[vf] // ; + s/^#-[ABPUSKOT]+ // ; + s/^#[vf] // ; + s/^#.+\n//m ; + print OUTPUT +} +close OUTPUT; +close MAPS; + +## Now the mappings for fonts that do not include the initial alif in U+FDF2 + + +open MAPS, "<$master" ; +open OUTPUT, ">$output-fdf2noalif-novoc.map"; +while () { + s/^#0 // ; + s/^#1.+\n//m ; + s/^\@An // ; + s/^\@.+\n//m ; + s/^#[A-Z]*A[A-Z]*n // ; + s/^#[A-Z]*A[A-Z]* // ; + s/^#-[BPUTSKOM]+n // ; + s/^#-[BPUTSKOM]+ // ; + s/^#n // ; + s/^#.+\n//m ; + print OUTPUT +} ; +close OUTPUT; +close MAPS; + +open MAPS, "<$master" ; +open OUTPUT, ">$output-fdf2noalif-voc.map"; +while () { + s/^#0 // ; + s/^#1.+\n//m ; + s/^\@Av // ; + s/^\@v // ; + s/^\@.+\n//m ; + s/^#[A-Z]*A[A-Z]*v // ; + s/^#[A-Z]*A[A-Z]* // ; + s/^#-[BPUTSKOM]+v // ; + s/^#-[BPUTSKOM]+ // ; + s/^#v // ; + s/^#.+\n//m ; + print OUTPUT +} ; +close OUTPUT; +close MAPS; + +open MAPS, "<$master" ; +open OUTPUT, ">$output-fdf2noalif-fullvoc.map"; +while () { + s/^#0 // ; + s/^#1.+\n//m ; + s/^\@Af // ; + s/^\@.+\n//m ; + s/^#[A-Z]*A[A-Z]*[vf] // ; + s/^#[A-Z]*A[A-Z]* // ; + s/^#-[BPUTSKOM]+[vf] // ; + s/^#-[BPUTSKOM]+ // ; + s/^#[vf] // ; + s/^#.+\n//m ; + print OUTPUT +} ; +close OUTPUT; +close MAPS; + +## maghribi + +open MAPS, "<$master" ; +open OUTPUT, ">$output-fdf2noalif-maghribi-novoc.map"; +while () { + s/^#0 // ; + s/^#1.+\n//m ; + s/^\@Bn // ; + s/^\@.+\n//m ; + s/^#[A-Z]*A[A-Z]*n // ; + s/^#[A-Z]*A[A-Z]* // ; + s/^#[A-Z]*B[A-Z]*n // ; + s/^#[A-Z]*B[A-Z]* // ; + s/^#-[PUTSKOM]+n // ; + s/^#-[PUTSKOM]+ // ; + s/^#n // ; + s/^#.+\n//m ; + print OUTPUT +} ; +close OUTPUT; +close MAPS; + +open MAPS, "<$master" ; +open OUTPUT, ">$output-fdf2noalif-maghribi-voc.map"; +while () { + s/^#0 // ; + s/^#1.+\n//m ; + s/^\@Bv // ; + s/^\@v // ; + s/^\@.+\n//m ; + s/^#[A-Z]*A[A-Z]*v // ; + s/^#[A-Z]*A[A-Z]* // ; + s/^#[A-Z]*B[A-Z]*v // ; + s/^#[A-Z]*B[A-Z]* // ; + s/^#-[PUTSKOM]+v // ; + s/^#-[PUTSKOM]+ // ; + s/^#v // ; + s/^#.+\n//m ; + print OUTPUT +} ; +close OUTPUT; +close MAPS; + +open MAPS, "<$master" ; +open OUTPUT, ">$output-fdf2noalif-maghribi-fullvoc.map"; +while () { + s/^#0 // ; + s/^#1.+\n//m ; + s/^\@Bf // ; + s/^\@.+\n//m ; + s/^#[A-Z]*A[A-Z]*[vf] // ; + s/^#[A-Z]*A[A-Z]* // ; + s/^#[A-Z]*B[A-Z]*[vf] // ; + s/^#[A-Z]*B[A-Z]* // ; + s/^#-[PUTSKOM]+[vf] // ; + s/^#-[PUTSKOM]+ // ; + s/^#[vf] // ; + s/^#.+\n//m ; + print OUTPUT +} ; +close OUTPUT; +close MAPS; + +### farsi + +open MAPS, "<$master" ; +open OUTPUT, ">$output-fdf2noalif-farsi-novoc.map"; +while () { + s/^#0 // ; + s/^#1.+\n//m ; + s/^\@Pn // ; + s/^\@.+\n//m ; + s/^#[A-Z]*P[A-Z]*n // ; + s/^#[A-Z]*P[A-Z]* // ; + s/^#-[ABUTSKOM]+n // ; + s/^#-[ABUTSKOM]+ // ; + s/^#n // ; + s/^#.+\n//m ; + print OUTPUT +} +close OUTPUT; +close MAPS; + +open MAPS, "<$master" ; +open OUTPUT, ">$output-fdf2noalif-farsi-voc.map"; +while () { + s/^#0 // ; + s/^#1.+\n//m ; + s/^\@Pv // ; + s/^\@v // ; + s/^\@.+\n//m ; + s/^#[A-Z]*P[A-Z]*v // ; + s/^#[A-Z]*P[A-Z]* // ; + s/^#-[ABUTSKOM]+v // ; + s/^#-[ABUTSKOM]+ // ; + s/^#v // ; + s/^#.+\n//m ; + print OUTPUT +} +close OUTPUT; +close MAPS; + +open MAPS, "<$master" ; +open OUTPUT, ">$output-fdf2noalif-farsi-fullvoc.map"; +while () { + s/^#0 // ; + s/^#1.+\n//m ; + s/^\@Pf // ; + s/^\@.+\n//m ; + s/^#[A-Z]*P[A-Z]*[vf] // ; + s/^#[A-Z]*P[A-Z]* // ; + s/^#-[ABUTSKOM]+[vf] // ; + s/^#-[ABUTSKOM]+ // ; + s/^#[vf] // ; + s/^#.+\n//m ; + print OUTPUT +} +close OUTPUT; +close MAPS; + +### urdu + +open MAPS, "<$master" ; +open OUTPUT, ">$output-fdf2noalif-urdu-novoc.map"; +while () { + s/^#0 // ; + s/^#1.+\n//m ; + s/^\@Un // ; + s/^\@.+\n//m ; + s/^#[A-Z]*U[A-Z]*n // ; + s/^#[A-Z]*U[A-Z]* // ; + s/^#-[ABPTSKOM]+n // ; + s/^#-[ABPTSKOM]+ // ; + s/^#n // ; + s/^#.+\n//m ; + print OUTPUT +} +close OUTPUT; +close MAPS; + +open MAPS, "<$master" ; +open OUTPUT, ">$output-fdf2noalif-urdu-voc.map"; +while () { + s/^#0 // ; + s/^#1.+\n//m ; + s/^\@Uv // ; + s/^\@v // ; + s/^\@.+\n//m ; + s/^#[A-Z]*U[A-Z]*v // ; + s/^#[A-Z]*U[A-Z]* // ; + s/^#-[ABPTSKOM]+v // ; + s/^#-[ABPTSKOM]+ // ; + s/^#v // ; + s/^#.+\n//m ; + print OUTPUT +} +close OUTPUT; +close MAPS; + +open MAPS, "<$master" ; +open OUTPUT, ">$output-fdf2noalif-urdu-fullvoc.map"; +while () { + s/^#0 // ; + s/^#1.+\n//m ; + s/^\@Uf // ; + s/^\@.+\n//m ; + s/^#[A-Z]*U[A-Z]*[vf] // ; + s/^#[A-Z]*U[A-Z]* // ; + s/^#-[ABPTSKOM]+[vf] // ; + s/^#-[ABPTSKOM]+ // ; + s/^#[vf] // ; + s/^#.+\n//m ; + print OUTPUT +} +close OUTPUT; +close MAPS; + +###sindhi + +open MAPS, "<$master" ; +open OUTPUT, ">$output-fdf2noalif-sindhi-novoc.map"; +while () { + s/^#0 // ; + s/^#1.+\n//m ; + s/^\@Sn // ; + s/^\@.+\n//m ; + s/^#[A-Z]*S[A-Z]*n // ; + s/^#[A-Z]*S[A-Z]* // ; + s/^#-[ABPUTKOM]+n // ; + s/^#-[ABPUTKOM]+ // ; + s/^#n // ; + s/^#.+\n//m ; + print OUTPUT +} +close OUTPUT; +close MAPS; + +open MAPS, "<$master" ; +open OUTPUT, ">$output-fdf2noalif-sindhi-voc.map"; +while () { + s/^#0 // ; + s/^#1.+\n//m ; + s/^\@Sv // ; + s/^\@v // ; + s/^\@.+\n//m ; + s/^#[A-Z]*S[A-Z]*v // ; + s/^#[A-Z]*S[A-Z]* // ; + s/^#-[ABPUTKOM]+v // ; + s/^#-[ABPUTKOM]+ // ; + s/^#v // ; + s/^#.+\n//m ; + print OUTPUT +} +close OUTPUT; +close MAPS; + +open MAPS, "<$master" ; +open OUTPUT, ">$output-fdf2noalif-sindhi-fullvoc.map"; +while () { + s/^#0 // ; + s/^#1.+\n//m ; + s/^\@Sf // ; + s/^\@.+\n//m ; + s/^#[A-Z]*S[A-Z]*[vf] // ; + s/^#[A-Z]*S[A-Z]* // ; + s/^#-[ABPUTKOM]+[vf] // ; + s/^#-[ABPUTKOM]+ // ; + s/^#[vf] // ; + s/^#.+\n//m ; + print OUTPUT +} +close OUTPUT; +close MAPS; + +###pashto + +open MAPS, "<$master" ; +open OUTPUT, ">$output-fdf2noalif-pashto-novoc.map"; +while () { + s/^#0 // ; + s/^#1.+\n//m ; + s/^\@Tn // ; + s/^\@.+\n//m ; + s/^#[A-Z]*T[A-Z]*n // ; + s/^#[A-Z]*T[A-Z]* // ; + s/^#-[ABPUSKOM]+n // ; + s/^#-[ABPUSKOM]+ // ; + s/^#n // ; + s/^#.+\n//m ; + print OUTPUT +} +close OUTPUT; +close MAPS; + + +open MAPS, "<$master" ; +open OUTPUT, ">$output-fdf2noalif-pashto-voc.map"; +while () { + s/^#0 // ; + s/^#1.+\n//m ; + s/^\@Tv // ; + s/^\@v // ; + s/^\@.+\n//m ; + s/^#[A-Z]*T[A-Z]*v // ; + s/^#[A-Z]*T[A-Z]* // ; + s/^#-[ABPUSKOM]+v // ; + s/^#-[ABPUSKOM]+ // ; + s/^#v // ; + s/^#.+\n//m ; + print OUTPUT +} +close OUTPUT; +close MAPS; + + +open MAPS, "<$master" ; +open OUTPUT, ">$output-fdf2noalif-pashto-fullvoc.map"; +while () { + s/^#0 // ; + s/^#1.+\n//m ; + s/^\@Tf // ; + s/^\@.+\n//m ; + s/^#[A-Z]*T[A-Z]*[vf] // ; + s/^#[A-Z]*T[A-Z]* // ; + s/^#-[ABPUSKOM]+[vf] // ; + s/^#-[ABPUSKOM]+ // ; + s/^#[vf] // ; + s/^#.+\n//m ; + print OUTPUT +} +close OUTPUT; +close MAPS; + + +###turk + +open MAPS, "<$master" ; +open OUTPUT, ">$output-fdf2noalif-turk-novoc.map"; +while () { + s/^#0 // ; + s/^#1.+\n//m ; + s/^\@On // ; + s/^\@.+\n//m ; + s/^#[A-Z]*O[A-Z]*n // ; + s/^#[A-Z]*O[A-Z]* // ; + s/^#-[ABPUSKTM]+n // ; + s/^#-[ABPUSKTM]+ // ; + s/^#n // ; + s/^#.+\n//m ; + print OUTPUT +} +close OUTPUT; +close MAPS; + + +open MAPS, "<$master" ; +open OUTPUT, ">$output-fdf2noalif-turk-voc.map"; +while () { + s/^#0 // ; + s/^#1.+\n//m ; + s/^\@Ov // ; + s/^\@v // ; + s/^\@.+\n//m ; + s/^#[A-Z]*O[A-Z]*v // ; + s/^#[A-Z]*O[A-Z]* // ; + s/^#-[ABPUSKTM]+v // ; + s/^#-[ABPUSKTM]+ // ; + s/^#v // ; + s/^#.+\n//m ; + print OUTPUT +} +close OUTPUT; +close MAPS; + + +open MAPS, "<$master" ; +open OUTPUT, ">$output-fdf2noalif-turk-fullvoc.map"; +while () { + s/^#0 // ; + s/^#1.+\n//m ; + s/^\@Of // ; + s/^\@.+\n//m ; + s/^#[A-Z]*O[A-Z]*[vf] // ; + s/^#[A-Z]*O[A-Z]* // ; + s/^#-[ABPUSKTM]+[vf] // ; + s/^#-[ABPUSKTM]+ // ; + s/^#[vf] // ; + s/^#.+\n//m ; + print OUTPUT +} +close OUTPUT; +close MAPS; + +###kashmiri + +open MAPS, "<$master" ; +open OUTPUT, ">$output-fdf2noalif-kashmiri-novoc.map"; +while () { + s/^#0 // ; + s/^#1.+\n//m ; + s/^\@Kn // ; + s/^\@.+\n//m ; + s/^#[A-Z]*K[A-Z]*n // ; + s/^#[A-Z]*K[A-Z]* // ; + s/^#-[ABPUSOTM]+n // ; + s/^#-[ABPUSOTM]+ // ; + s/^#n // ; + s/^#.+\n//m ; + print OUTPUT +} +close OUTPUT; +close MAPS; + + +open MAPS, "<$master" ; +open OUTPUT, ">$output-fdf2noalif-kashmiri-voc.map"; +while () { + s/^#0 // ; + s/^#1.+\n//m ; + s/^\@Kv // ; + s/^\@v // ; + s/^\@.+\n//m ; + s/^#[A-Z]*K[A-Z]*v // ; + s/^#[A-Z]*K[A-Z]* // ; + s/^#-[ABPUSOTM]+v // ; + s/^#-[ABPUSOTM]+ // ; + s/^#v // ; + s/^#.+\n//m ; + print OUTPUT +} +close OUTPUT; +close MAPS; + + +open MAPS, "<$master" ; +open OUTPUT, ">$output-fdf2noalif-kashmiri-fullvoc.map"; +while () { + s/^#0 // ; + s/^#1.+\n//m ; + s/^\@Kf // ; + s/^\@.+\n//m ; + s/^#[A-Z]*K[A-Z]*[vf] // ; + s/^#[A-Z]*K[A-Z]* // ; + s/^#-[ABPUSOTM]+[vf] // ; + s/^#-[ABPUSOTM]+ // ; + s/^#[vf] // ; + s/^#.+\n//m ; + print OUTPUT +} +close OUTPUT; +close MAPS; + +###malay + +open MAPS, "<$master" ; +open OUTPUT, ">$output-fdf2noalif-malay-novoc.map"; +while () { + s/^#0 // ; + s/^#1.+\n//m ; + s/^\@Mn // ; + s/^\@.+\n//m ; + s/^#[A-Z]*M[A-Z]*n // ; + s/^#[A-Z]*M[A-Z]* // ; + s/^#-[ABPUSKOT]+n // ; + s/^#-[ABPUSKOT]+ // ; + s/^#n // ; + s/^#.+\n//m ; + print OUTPUT +} +close OUTPUT; +close MAPS; + + +open MAPS, "<$master" ; +open OUTPUT, ">$output-fdf2noalif-malay-voc.map"; +while () { + s/^#0 // ; + s/^#1.+\n//m ; + s/^\@Mv // ; + s/^\@v // ; + s/^\@.+\n//m ; + s/^#[A-Z]*M[A-Z]*v // ; + s/^#[A-Z]*M[A-Z]* // ; + s/^#-[ABPUSKOT]+v // ; + s/^#-[ABPUSKOT]+ // ; + s/^#v // ; + s/^#.+\n//m ; + print OUTPUT +} +close OUTPUT; +close MAPS; + + +open MAPS, "<$master" ; +open OUTPUT, ">$output-fdf2noalif-malay-fullvoc.map"; +while () { + s/^#0 // ; + s/^#1.+\n//m ; + s/^\@Mf // ; + s/^\@.+\n//m ; + s/^#[A-Z]*M[A-Z]*[vf] // ; + s/^#[A-Z]*M[A-Z]* // ; + s/^#-[ABPUSKOT]+[vf] // ; + s/^#-[ABPUSKOT]+ // ; + s/^#[vf] // ; + s/^#.+\n//m ; + print OUTPUT +} +close OUTPUT; +close MAPS; + +# Now Kurdish and Uighur... + +open MAPS, "$output-fdf2noalif-kurdish.map"; +while () { + s/^#0 // ; + s/^#1.+\n//m ; + print OUTPUT +} +close OUTPUT; +close MAPS; + +open MAPS, "$output-fdf2noalif-uighur.map"; +while () { + s/^#0 // ; + s/^#1.+\n//m ; + print OUTPUT +} +close OUTPUT; +close MAPS; + +open MAPS, "$output-fdf2alif-kurdish.map"; +while () { + s/^#1 // ; + s/^#0.+\n//m ; + print OUTPUT +} +close OUTPUT; +close MAPS; + +open MAPS, "$output-fdf2alif-uighur.map"; +while () { + s/^#1 // ; + s/^#0.+\n//m ; + print OUTPUT +} +close OUTPUT; +close MAPS; + +# Let's compile them now +system("cp *.map mappings/"); +system("for map in mappings/*.map; do echo \"compiling \$map ...\" && teckit_compile \$map; done"); + + diff --git a/Master/texmf-dist/tex/xelatex/arabxetex.sty b/Master/texmf-dist/tex/xelatex/arabxetex.sty new file mode 100644 index 00000000000..67e8391b58b --- /dev/null +++ b/Master/texmf-dist/tex/xelatex/arabxetex.sty @@ -0,0 +1,499 @@ +%% +%% This is file `arabxetex.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% arabxetex.dtx (with options: `package') +%% +%% ____________________________ +%% The arabxetex package +%% © 2007–2010 François Charette +%% License information appended +%% +%% +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{arabxetex} + [2010/03/04 v1.1.4 ArabTeX-like interface for XeLaTeX] +\DeclareOption{fullvoc}{\def\ax@mode{fullvoc}} +\DeclareOption{voc}{\def\ax@mode{voc}} +\DeclareOption{novoc}{\def\ax@mode{novoc}} +\DeclareOption{trans}{\def\ax@mode{trans}} +\DeclareOption{utf}{\def\ax@mode{utf}} +\DeclareOption{fdf2alif}{\def\ax@font@allah{fdf2alif}} +\DeclareOption{fdf2noalif}{\def\ax@font@allah{fdf2noalif}} +\newif\ifmirror@punct\mirror@punctfalse +\DeclareOption{mirrorpunct}{\mirror@puncttrue} +\ExecuteOptions{novoc,fdf2alif} +\ProcessOptions +\def\ax@mode@fullvoc{fullvoc} +\def\ax@mode@voc{voc} +\def\ax@mode@novoc{novoc} +\def\ax@mode@trans{trans} +\def\ax@mode@utf{utf} +\newif\ifax@mode@defined +\def\ax@ismode@defined#1{% +\ifcsname ax@mode@#1\endcsname% +\ax@mode@definedtrue% +\else +\ax@mode@definedfalse% +\fi} +\def\ax@lang{arab}%default language (for macros like \aemph) +\RequirePackage{amsmath}%because of macro \overline used in \aemph +\RequirePackage{fontspec} +\RequirePackage{bidi} +\AtBeginDocument{\ifdefined\arabicfont\relax\else +\PackageWarning{arabxetex}{\string\arabicfont\ is not defined!^^JI will try to load Scheherazade (scaled 1.5)}% +\newfontfamily\arabicfont[Script=Arabic,Scale=1.5]{Scheherazade}\fi}% +\def\ax@trans@style{\itshape}% +\newcommand{\SetTranslitStyle}[1]{\def\ax@trans@style{#1}} +\newcommand{\SetTranslitConvention}[1]{\def\ax@trans@convention{#1}} +\def\ax@trans@convention{loc}% Library of Congress is default +\newcommand{\SetAllahWithAlif}{\def\ax@font@allah{fdf2alif}} +\newcommand{\SetAllahWithoutAlif}{\def\ax@font@allah{fdf2noalif}} +\def\utf@fontfeature{\ifmirror@punct\addfontfeature{Mapping=mirrorpunct}\else\relax\fi} +\def\arabtex@codes{\catcode`^=11\relax\catcode`_=11\relax} +\def\UC{\char"E000} % This is used to capitalize the following letter (ignoring + % article al-) in transliteration mode +%%%Font setup +\def\ax@farsi@font{\ifdefined\farsifont\farsifont\else\arabicfont\fi} +\def\ax@urdu@font{\ifdefined\urdufont\urdufont\else\arabicfont\fi} +\def\ax@pashto@font{\ifdefined\pashtofont\pashtofont\else\arabicfont\fi} +\def\ax@maghribi@font{\ifdefined\maghribifont\maghribifont\else\arabicfont\fi} +\def\ax@sindhi@font{\ifdefined\sindhifont\sindhifont\else\arabicfont\fi} +\def\ax@kashmiri@font{\ifdefined\kashmirifont\kashmirifont\else\arabicfont\fi} +\def\ax@ottoman@font{\ifdefined\ottomanfont\ottomanfont\else\arabicfont\fi} +\def\ax@kurdish@font{\ifdefined\kurdishfont\kurdishfont\else\arabicfont\fi} +\def\ax@malay@font{\ifdefined\malayfont\malayfont\else\arabicfont\fi} +\def\ax@uighur@font{\ifdefined\uighurfont\uighurfont\else\arabicfont\fi} +\def\ax@urdu@font{\ifdefined\urdufont\urdufont\else\arabicfont\fi} + +\newenvironment{arab}[1][\ax@mode]% +{\edef\@tempa{#1}% +\def\ax@lang{arab}% +\ax@ismode@defined{\@tempa}% +\ifax@mode@defined% +\ifx\@tempa\ax@mode@trans% +\par\arabtex@codes\ax@trans@style% +\addfontfeature{Mapping=arabtex-trans-\ax@trans@convention}% +\else +\ifx\@tempa\ax@mode@utf% +\par\setRL\arabicfont\utf@fontfeature% +\else +\par\setRL\arabicfont\arabtex@codes% +\addfontfeature{Mapping=arabtex-\ax@font@allah-\@tempa}% +\fi\fi +\else +\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}% +\par\setRL\arabicfont\arabtex@codes% +\addfontfeature{Mapping=arabtex-\ax@font@allah-\ax@mode}% +\fi} +{\ifx\@tempa\ax@mode@trans\relax\else\unsetRL\fi\par} +\let\Arabic=\arab% +%%% +\newenvironment{maghribi}[1][\ax@mode]% +{\edef\@tempa{#1}% +\def\ax@lang{maghribi}% +\ax@ismode@defined{\@tempa}% +\ifax@mode@defined% +\ifx\@tempa\ax@mode@trans% +\par\arabtex@codes\ax@trans@style% +\addfontfeature{Mapping=arabtex-trans-\ax@trans@convention}% +\else +\ifx\@tempa\ax@mode@utf% +\par\setRL\ax@maghribi@font\utf@fontfeature% +\else +\par\setRL\ax@maghribi@font\arabtex@codes% +\addfontfeature{Mapping=arabtex-\ax@font@allah-maghribi-\@tempa}% +\fi\fi +\else +\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}% +\par\setRL\ax@maghribi@font\arabtex@codes% +\addfontfeature{Mapping=arabtex-\ax@font@allah-maghribi-\ax@mode}% +\fi} +{\ifx\@tempa\ax@mode@trans\relax\else\unsetRL\fi\par} +%%% +\newenvironment{farsi}[1][\ax@mode]% +{\edef\@tempa{#1}% +\def\ax@lang{farsi}% +\ax@ismode@defined{\@tempa}% +\ifax@mode@defined% +\ifx\@tempa\ax@mode@trans% +\par\arabtex@codes\ax@trans@style% +\addfontfeature{Mapping=arabtex-farsi-trans-\ax@trans@convention}% +\else +\ifx\@tempa\ax@mode@utf% +\par\setRL\ax@farsi@font\utf@fontfeature% +\else +\par\setRL\ax@farsi@font\arabtex@codes% +\addfontfeature{Mapping=arabtex-\ax@font@allah-farsi-\@tempa}% +\fi\fi +\else +\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}% +\par\setRL\ax@farsi@font\arabtex@codes% +\addfontfeature{Mapping=arabtex-\ax@font@allah-farsi-\ax@mode}% +\fi} +{\ifx\@tempa\ax@mode@trans\relax\else\unsetRL\fi\par} +\let\persian=\farsi +%%% +\newenvironment{urdu}[1][\ax@mode]% +{\edef\@tempa{#1}% +\def\ax@lang{urdu}% +\ax@ismode@defined{\@tempa}% +\ifax@mode@defined% +\ifx\@tempa\ax@mode@trans% +\par\arabtex@codes\ax@trans@style% +\addfontfeature{Mapping=arabtex-urdu-trans-\ax@trans@convention}% +\else +\ifx\@tempa\ax@mode@utf% +\par\setRL\ax@urdu@font\addfontfeature{Language=Urdu}%Mapping=arabtex-utf}% +\else +\par\setRL\ax@urdu@font\arabtex@codes% +\addfontfeature{Mapping=arabtex-\ax@font@allah-urdu-\@tempa}% +\fi\fi +\else +\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}% +\par\setRL\ax@urdu@font\arabtex@codes% +\addfontfeature{Mapping=arabtex-\ax@font@allah-urdu-\ax@mode}% +\fi} +{\ifx\@tempa\ax@mode@trans\relax\else\unsetRL\fi\par} +%%% +\newenvironment{pashto}[1][\ax@mode]% +{\edef\@tempa{#1}% +\def\ax@lang{pashto}% +\ax@ismode@defined{\@tempa}% +\ifax@mode@defined% +\ifx\@tempa\ax@mode@trans% +\par\arabtex@codes\ax@trans@style% +\addfontfeature{Mapping=arabtex-pashto-trans-\ax@trans@convention}% +\else +\ifx\@tempa\ax@mode@utf% +\par\setRL\ax@pashto@font\utf@fontfeature% +\else +\par\setRL\ax@pashto@font\arabtex@codes% +\addfontfeature{Mapping=arabtex-\ax@font@allah-pashto-\@tempa}% +\fi\fi +\else +\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}% +\par\setRL\ax@pashto@font\arabtex@codes% +\addfontfeature{Mapping=arabtex-\ax@font@allah-pashto-\ax@mode}% +\fi} +{\ifx\@tempa\ax@mode@trans\relax\else\unsetRL\fi\par} +%%% +\newenvironment{sindhi}[1][\ax@mode]% +{\edef\@tempa{#1}% +\def\ax@lang{sindhi}% +\ax@ismode@defined{\@tempa}% +\ifax@mode@defined% +\ifx\@tempa\ax@mode@trans% +\par\arabtex@codes\ax@trans@style% +\addfontfeature{Mapping=arabtex-sindhi-trans-\ax@trans@convention}% +\else +\ifx\@tempa\ax@mode@utf% +\par\setRL\ax@sindhi@font\addfontfeature{Language=Sindhi}%Mapping=arabtex-utf}% +\else +\par\setRL\ax@sindhi@font\arabtex@codes% +\addfontfeature{Mapping=arabtex-\ax@font@allah-sindhi-\@tempa,Language=Sindhi}% +\fi\fi +\else +\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}% +\par\setRL\ax@sindhi@font\arabtex@codes% +\addfontfeature{Mapping=arabtex-\ax@font@allah-sindhi-\ax@mode,Language=Sindhi}% +\fi} +{\ifx\@tempa\ax@mode@trans\relax\else\unsetRL\fi\par} +%%% +\newenvironment{ottoman}[1][\ax@mode]% +{\edef\@tempa{#1}% +\def\ax@lang{ottoman}% +\ax@ismode@defined{\@tempa}% +\ifax@mode@defined% +\ifx\@tempa\ax@mode@utf% +\par\setRL\ax@ottoman@font\utf@fontfeature% +\else +\par\setRL\ax@ottoman@font\arabtex@codes% +\addfontfeature{Mapping=arabtex-\ax@font@allah-turk-\@tempa}% +\fi%\fi +\else +\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}% +\par\setRL\ax@ottoman@font\arabtex@codes% +\addfontfeature{Mapping=arabtex-\ax@font@allah-turk-\ax@mode}% +\fi} +{%\ifx\@tempa\ax@mode@trans\relax\else +\unsetRL%\fi +\par} +\let\turk=\ottoman +%%% +\newenvironment{kurdish}[1][]% +{\def\ax@lang{kurdish}% +\ifx\@tempa\ax@mode@utf% +\par\setRL\ax@kurdish@font\addfontfeature{Language=Kurdish}%Mapping=arabtex-utf}% +\else +\par\setRL\ax@kurdish@font\arabtex@codes% +\addfontfeature{Mapping=arabtex-\ax@font@allah-kurdish,Language=Kurdish}% +\fi} +{%\ifx\@tempa\ax@mode@trans\relax\else +\unsetRL%\fi +\par} +%%% +\newenvironment{kashmiri}[1][\ax@mode]% +{\edef\@tempa{#1}% +\def\ax@lang{kashmiri}% +\ax@ismode@defined{\@tempa}% +\ifax@mode@defined% +\ifx\@tempa\ax@mode@utf% +\par\setRL\ax@kashmiri@font\utf@fontfeature% +\else +\par\setRL\ax@kashmiri@font\arabtex@codes% +\addfontfeature{Mapping=arabtex-\ax@font@allah-kashmiri-\@tempa}% +\fi%\fi +\else +\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}% +\par\setRL\ax@kashmiri@font\arabtex@codes% +\addfontfeature{Mapping=arabtex-\ax@font@allah-kashmiri-\ax@mode}% +\fi} +{%\ifx\@tempa\ax@mode@trans\relax\else +\unsetRL%\fi +\par} +%%% +\newenvironment{malay}[1][\ax@mode]% +{\edef\@tempa{#1}% +\def\ax@lang{malay}% +\ax@ismode@defined{\@tempa}% +\ifax@mode@defined% +\ifx\@tempa\ax@mode@utf% +\par\setRL\ax@malay@font\utf@fontfeature% +\else +\par\setRL\ax@malay@font\arabtex@codes% +\addfontfeature{Mapping=arabtex-\ax@font@allah-malay-\@tempa}% +\fi%\fi +\else +\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}% +\par\setRL\ax@malay@font\arabtex@codes% +\addfontfeature{Mapping=arabtex-\ax@font@allah-malay-\ax@mode}% +\fi} +{%\ifx\@tempa\ax@mode@trans\relax\else +\unsetRL%\fi +\par} +\let\jawi=\malay +%%% +\newenvironment{uighur}[1]% +{%\edef\@tempa{#1}% +\def\ax@lang{uighur}% +\ifx\@tempa\ax@mode@utf% +\par\setRL\ax@uighur@font\utf@fontfeature% +\else +\par\setRL\ax@uighur@font\arabtex@codes% +\addfontfeature{Mapping=arabtex-\ax@font@allah-uighur}% +\fi} +{%\ifx\@tempa\ax@mode@trans\relax\else +\unsetRL%\fi +\par} +%%% +\def\textarab{\bgroup\arabtex@codes\text@arab} +\let\textarabic=\textarab +\def\textmaghribi{\bgroup\arabtex@codes\text@maghribi} +\def\textfarsi{\bgroup\arabtex@codes\text@farsi} +\let\textpersian=\textfarsi +\def\texturdu{\bgroup\arabtex@codes\text@urdu} +\def\textsindhi{\bgroup\arabtex@codes\text@sindhi} +\def\textpashto{\bgroup\arabtex@codes\text@pashto} +\def\textottoman{\bgroup\arabtex@codes\text@ottoman} +\let\textturk=\textottoman +\def\textkurdish{\bgroup\arabtex@codes\text@kurdish} +\def\textkashmiri{\bgroup\arabtex@codes\text@kashmiri} +\def\textmalay{\bgroup\arabtex@codes\text@malay} +\let\textjawi=\textmalay +\def\textuighur{\bgroup\arabtex@codes\text@uighur} +\newcommand\text@arab[2][\ax@mode]{% +\edef\@tempa{#1}% +\def\ax@lang{arab}% +\ax@ismode@defined{\@tempa}% +\ifax@mode@defined% +\ifx\@tempa\ax@mode@trans% +{\ax@trans@style\addfontfeature{Mapping=arabtex-trans-\ax@trans@convention}#2}% +\else +\ifx\@tempa\ax@mode@utf% +\RL{\arabicfont\utf@fontfeature #2}% +\else +\RL{\arabicfont\addfontfeature{Mapping=arabtex-\ax@font@allah-\@tempa}#2}% +\fi\fi +\else +\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}% +\RL{\arabicfont\addfontfeature{Mapping=arabtex-\ax@font@allah-\ax@mode}#2}% +\fi\egroup} +\newcommand\text@maghribi[2][\ax@mode]{% +\edef\@tempa{#1}% +\def\ax@lang{maghribi}% +\ax@ismode@defined{\@tempa}% +\ifax@mode@defined% +\ifx\@tempa\ax@mode@trans% +{\ax@trans@style\addfontfeature{Mapping=arabtex-trans-\ax@trans@convention}#2}% +\else +\ifx\@tempa\ax@mode@utf% +\RL{\ax@maghribi@font\utf@fontfeature #2}% +\else +\RL{\ax@maghribi@font% +\addfontfeature{Mapping=arabtex-\ax@font@allah-maghribi-\@tempa}#2}% +\fi\fi +\else +\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}% +\RL{\ax@maghribi@font\addfontfeature{Mapping=arabtex-\ax@font@allah-maghribi-\ax@mode}#2}% +\fi\egroup} +\newcommand\text@farsi[2][\ax@mode]{% +\edef\@tempa{#1}% +\def\ax@lang{farsi}% +\ax@ismode@defined{\@tempa}% +\ifax@mode@defined% +\ifx\@tempa\ax@mode@trans% +{\ax@trans@style\addfontfeature{Mapping=arabtex-farsi-trans-\ax@trans@convention}#2}% +\else +\ifx\@tempa\ax@mode@utf% +\RL{\ax@farsi@font\utf@fontfeature #2}% +\else +\RL{\ax@farsi@font% +\addfontfeature{Mapping=arabtex-\ax@font@allah-farsi-\@tempa}#2}% +\fi\fi +\else +\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}% +\RL{\ax@farsi@font\addfontfeature{Mapping=arabtex-\ax@font@allah-farsi-\ax@mode}#2}% +\fi\egroup} +\newcommand\text@urdu[2][\ax@mode]{% +\edef\@tempa{#1}% +\def\ax@lang{urdu}% +\ax@ismode@defined{\@tempa}% +\ifax@mode@defined% +\ifx\@tempa\ax@mode@trans% +{\ax@trans@style\addfontfeature{Mapping=arabtex-urdu-trans-\ax@trans@convention}#2}% +\else +\ifx\@tempa\ax@mode@utf% +\RL{\ax@urdu@font\addfontfeature{Language=Urdu}#2}%eventually Mapping=arabtex-utf +\else +\RL{\ax@urdu@font% +\addfontfeature{Mapping=arabtex-\ax@font@allah-urdu-\@tempa,Language=Urdu}#2}% +\fi\fi +\else +\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}% +\RL{\ax@urdu@font\addfontfeature{Mapping=arabtex-\ax@font@allah-urdu-\ax@mode,Language=Urdu}#2}% +\fi\egroup} +\newcommand\text@sindhi[2][\ax@mode]{% +\edef\@tempa{#1}% +\def\ax@lang{sindhi}% +\ax@ismode@defined{\@tempa}% +\ifax@mode@defined% +\ifx\@tempa\ax@mode@trans% +{\ax@trans@style\addfontfeature{Mapping=arabtex-sindhi-trans-\ax@trans@convention}#2}% +\else +\ifx\@tempa\ax@mode@utf% +\RL{\ax@sindhi@font\addfontfeature{Language=Sindhi} #2}%eventually Mapping=arabtex-utf +\else +\RL{\ax@sindhi@font% +\addfontfeature{Mapping=arabtex-\ax@font@allah-sindhi-\@tempa,Language=Sindhi}#2}% +\fi\fi +\else +\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}% +\RL{\ax@sindhi@font\addfontfeature{Mapping=arabtex-\ax@font@allah-sindhi-\ax@mode,Language=Sindhi}#2}% +\fi\egroup} +\newcommand\text@pashto[2][\ax@mode]{% +\edef\@tempa{#1}% +\def\ax@lang{pashto}% +\ax@ismode@defined{\@tempa}% +\ifax@mode@defined% +\ifx\@tempa\ax@mode@trans% +{\ax@trans@style\addfontfeature{Mapping=arabtex-pashto-trans-\ax@trans@convention}#2}% +\else +\ifx\@tempa\ax@mode@utf% +\RL{\ax@pashto@font\utf@fontfeature #2}% +\else +\RL{\ax@pashto@font% +\addfontfeature{Mapping=arabtex-\ax@font@allah-pashto-\@tempa}#2}% +\fi\fi +\else +\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}% +\RL{\ax@pashto@font\addfontfeature{Mapping=arabtex-\ax@font@allah-pashto-\ax@mode}#2}% +\fi\egroup} +\newcommand\text@ottoman[2][\ax@mode]{% +\edef\@tempa{#1}% +\def\ax@lang{ottoman}% +\ax@ismode@defined{\@tempa}% +\ifax@mode@defined% +\ifx\@tempa\ax@mode@utf% +\RL{\ax@ottoman@font\utf@fontfeature #2}% +\else +\RL{\ax@ottoman@font% +\addfontfeature{Mapping=arabtex-\ax@font@allah-turk-\@tempa}#2}% +\fi%\fi +\else +\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}% +\RL{\ax@ottoman@font\addfontfeature{Mapping=arabtex-\ax@font@allah-turk-\ax@mode}#2}% +\fi\egroup} +\newcommand\text@kurdish[2][]{% +\edef\@tempa{#1}% +\def\ax@lang{kurdish}% +\ifx\@tempa\ax@mode@utf% +\RL{\ax@kurdish@font\utf@fontfeature #2}% +\else +\RL{\ax@kurdish@font% +\addfontfeature{Mapping=arabtex-\ax@font@allah-kurdish,Language=Kurdish}#2}% +\fi%\fi +\egroup} +\newcommand\text@kashmiri[2][\ax@mode]{% +\edef\@tempa{#1}% +\def\ax@lang{kashmiri}% +\ax@ismode@defined{\@tempa}% +\ifax@mode@defined% +\ifx\@tempa\ax@mode@utf% +\RL{\ax@kashmiri@font\utf@fontfeature #2}% +\else +\RL{\ax@kashmiri@font% +\addfontfeature{Mapping=arabtex-\ax@font@allah-kashmiri-\@tempa}#2}% +\fi%\fi +\else +\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}% +\RL{\ax@kashmiri@font\addfontfeature{Mapping=arabtex-\ax@font@allah-kashmiri-\ax@mode}#2}% +\fi\egroup} +\newcommand\text@malay[2][\ax@mode]{% +\edef\@tempa{#1}% +\def\ax@lang{malay}% +\ax@ismode@defined{\@tempa}% +\ifax@mode@defined% +\ifx\@tempa\ax@mode@utf% +\RL{\ax@malay@font\utf@fontfeature #2}% +\else +\RL{\ax@malay@font% +\addfontfeature{Mapping=arabtex-\ax@font@allah-malay-\@tempa}#2}% +\fi%\fi +\else +\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \ax@mode}% +\RL{\ax@malay@font\addfontfeature{Mapping=arabtex-\ax@font@allah-malay-\ax@mode}#2}% +\fi\egroup} +\newcommand\text@uighur[2][]{% +\edef\@tempa{#1}% +\def\ax@lang{uighur}% +\ifx\@tempa\ax@mode@utf% +\RL{\ax@uighur@font\utf@fontfeature #2}% +\else +\RL{\ax@uighur@font% +\addfontfeature{Mapping=arabtex-\ax@font@allah-uighur}#2}% +\fi%\fi +\egroup} +\newcommand{\textLR}[1]{\LR{\rmfamily #1}} +\newcommand{\aemph}[1]{% + \edef\@tempb{\expandafter\noexpand\csname text\ax@lang\endcsname}% + $\overline{\text{\@tempb{#1}}}$} +%% +%% Copyright © 2007–2010 by François Charette +%% +%% Distributable under the LaTeX Project Public License, +%% version 1.3c or higher (your choice). The latest version of +%% this license is at: http://www.latex-project.org/lppl.txt +%% +%% This work is "maintained" (as per LPPL maintenance status) +%% by François Charette. +%% +%% This work consists of the file arabxetex.dtx +%% and the derived files arabxetex.sty and arabxetex.pdf. +%% as well as an extensive collection of TECKit files +%% (*.map, compiled as *.tec). +%% +%% +%% End of file `arabxetex.sty'. diff --git a/Master/texmf-dist/tex/xelatex/arabxetex/arabxetex.sty b/Master/texmf-dist/tex/xelatex/arabxetex/arabxetex.sty deleted file mode 100644 index 6afba00b6aa..00000000000 --- a/Master/texmf-dist/tex/xelatex/arabxetex/arabxetex.sty +++ /dev/null @@ -1,497 +0,0 @@ -%% -%% This is file `arabxetex.sty', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% arabxetex.dtx (with options: `package') -%% -%% ____________________________ -%% The arabxetex package -%% (C) 2007-2008 François Charette -%% License information appended -%% -%% -\NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{arabxetex} - [2008/07/16 v1.1.2 ArabTeX-like interface for XeLaTeX] -\DeclareOption{fullvoc}{\def\ax@mode{fullvoc}} -\DeclareOption{voc}{\def\ax@mode{voc}} -\DeclareOption{novoc}{\def\ax@mode{novoc}} -\DeclareOption{trans}{\def\ax@mode{trans}} -\DeclareOption{utf}{\def\ax@mode{utf}} -\DeclareOption{fdf2alif}{\def\ax@font@allah{fdf2alif}} -\DeclareOption{fdf2noalif}{\def\ax@font@allah{fdf2noalif}} -\ExecuteOptions{novoc,fdf2alif} -\ProcessOptions -\def\ax@mode@fullvoc{fullvoc} -\def\ax@mode@voc{voc} -\def\ax@mode@novoc{novoc} -\def\ax@mode@trans{trans} -\def\ax@mode@utf{utf} -\newif\ifax@mode@defined -\def\ax@ismode@defined#1{% -\ifcsname ax@mode@#1\endcsname% -\ax@mode@definedtrue% -\else% -\ax@mode@definedfalse% -\fi} -\def\ax@lang{arab}%default language (for macros like \aemph) -\RequirePackage{bidi} -\RequirePackage{amsmath}%because of macro \overline used in \aemph -\RequirePackage{fontspec} -\AtBeginDocument{\ifdefined\arabicfont\relax\else% -\PackageWarning{arabxetex}{\string\arabicfont\ is not defined!^^JI will try to load Scheherazade}% -\newfontfamily\arabicfont[Script=Arabic,Scale=2]{Scheherazade}\fi -}% -\def\ax@trans@style{\itshape}% -\newcommand{\SetTranslitStyle}[1]{\def\ax@trans@style{#1}} -\newcommand{\SetTranslitConvention}[1]{\def\ax@trans@convention{#1}} -\def\ax@trans@convention{loc}% Library of Congress is default -\newcommand{\SetAllahWithAlif}{\def\ax@font@allah{fdf2alif}} -\newcommand{\SetAllahWithoutAlif}{\def\ax@font@allah{fdf2noalif}} -\def\arabtex@codes{\catcode`^=11\relax\catcode`_=11\relax} -\def\UC{\char"E000} % This is used to capitalize the following letter (ignoring - % article al-) in transliteration mode -%%%Font setup -\def\ax@farsi@font{\ifdefined\farsifont\farsifont\else\arabicfont\fi} -\def\ax@urdu@font{\ifdefined\urdufont\urdufont\else\arabicfont\fi} -\def\ax@pashto@font{\ifdefined\pashtofont\pashtofont\else\arabicfont\fi} -\def\ax@maghribi@font{\ifdefined\maghribifont\maghribifont\else\arabicfont\fi} -\def\ax@sindhi@font{\ifdefined\sindhifont\sindhifont\else\arabicfont\fi} -\def\ax@kashmiri@font{\ifdefined\kashmirifont\kashmirifont\else\arabicfont\fi} -\def\ax@ottoman@font{\ifdefined\ottomanfont\ottomanfont\else\arabicfont\fi} -\def\ax@kurdish@font{\ifdefined\kurdishfont\kurdishfont\else\arabicfont\fi} -\def\ax@malay@font{\ifdefined\malayfont\malayfont\else\arabicfont\fi} -\def\ax@uighur@font{\ifdefined\uighurfont\uighurfont\else\arabicfont\fi} -\def\ax@urdu@font{\ifdefined\urdufont\urdufont\else\arabicfont\fi} - -\newenvironment{arab}[1][\ax@mode]% -{\edef\@tempa{#1}% -\def\ax@lang{arab}% -\ax@ismode@defined{\@tempa}% -\ifax@mode@defined% -\ifx\@tempa\ax@mode@trans% -\par\arabtex@codes\ax@trans@style% -\addfontfeature{Mapping=arabtex-trans-\ax@trans@convention}% -\else% -\ifx\@tempa\ax@mode@utf% -\par\setRL\arabicfont\addfontfeature{Mapping=arabicfixes}% -\else% -\par\setRL\arabicfont\arabtex@codes% -\addfontfeature{Mapping=arabtex-\ax@font@allah-\@tempa}% -\fi\fi% -\else% -\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}% -\par\setRL\arabicfont\arabtex@codes% -\addfontfeature{Mapping=arabtex-\ax@font@allah-\ax@mode}% -\fi} -{\ifx\@tempa\ax@mode@trans\relax\else\unsetRL\fi\par} -\let\Arabic=\arab% -%%% -\newenvironment{maghribi}[1][\ax@mode]% -{\edef\@tempa{#1}% -\def\ax@lang{maghribi}% -\ax@ismode@defined{\@tempa}% -\ifax@mode@defined% -\ifx\@tempa\ax@mode@trans% -\par\arabtex@codes\ax@trans@style% -\addfontfeature{Mapping=arabtex-trans-\ax@trans@convention}% -\else% -\ifx\@tempa\ax@mode@utf% -\par\setRL\ax@maghribi@font\addfontfeature{Mapping=arabicfixes}% -\else% -\par\setRL\ax@maghribi@font\arabtex@codes% -\addfontfeature{Mapping=arabtex-\ax@font@allah-maghribi-\@tempa}% -\fi\fi% -\else% -\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}% -\par\setRL\ax@maghribi@font\arabtex@codes% -\addfontfeature{Mapping=arabtex-\ax@font@allah-maghribi-\ax@mode}% -\fi} -{\ifx\@tempa\ax@mode@trans\relax\else\unsetRL\fi\par} -%%% -\newenvironment{farsi}[1][\ax@mode]% -{\edef\@tempa{#1}% -\def\ax@lang{farsi}% -\ax@ismode@defined{\@tempa}% -\ifax@mode@defined% -\ifx\@tempa\ax@mode@trans% -\par\arabtex@codes\ax@trans@style% -\addfontfeature{Mapping=arabtex-farsi-trans-\ax@trans@convention}% -\else% -\ifx\@tempa\ax@mode@utf% -\par\setRL\ax@farsi@font\addfontfeature{Mapping=arabicfixes}% -\else% -\par\setRL\ax@farsi@font\arabtex@codes% -\addfontfeature{Mapping=arabtex-\ax@font@allah-farsi-\@tempa}% -\fi\fi% -\else% -\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}% -\par\setRL\ax@farsi@font\arabtex@codes% -\addfontfeature{Mapping=arabtex-\ax@font@allah-farsi-\ax@mode}% -\fi} -{\ifx\@tempa\ax@mode@trans\relax\else\unsetRL\fi\par} -\let\persian=\farsi -%%% -\newenvironment{urdu}[1][\ax@mode]% -{\edef\@tempa{#1}% -\def\ax@lang{urdu}% -\ax@ismode@defined{\@tempa}% -\ifax@mode@defined% -\ifx\@tempa\ax@mode@trans% -\par\arabtex@codes\ax@trans@style% -\addfontfeature{Mapping=arabtex-urdu-trans-\ax@trans@convention}% -\else% -\ifx\@tempa\ax@mode@utf% -\par\setRL\ax@urdu@font\addfontfeature{Language=Urdu}%Mapping=arabtex-utf}% -\else% -\par\setRL\ax@urdu@font\arabtex@codes% -\addfontfeature{Mapping=arabtex-\ax@font@allah-urdu-\@tempa}% -\fi\fi% -\else% -\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}% -\par\setRL\ax@urdu@font\arabtex@codes% -\addfontfeature{Mapping=arabtex-\ax@font@allah-urdu-\ax@mode}% -\fi} -{\ifx\@tempa\ax@mode@trans\relax\else\unsetRL\fi\par} -%%% -\newenvironment{pashto}[1][\ax@mode]% -{\edef\@tempa{#1}% -\def\ax@lang{pashto}% -\ax@ismode@defined{\@tempa}% -\ifax@mode@defined% -\ifx\@tempa\ax@mode@trans% -\par\arabtex@codes\ax@trans@style% -\addfontfeature{Mapping=arabtex-pashto-trans-\ax@trans@convention}% -\else% -\ifx\@tempa\ax@mode@utf% -\par\setRL\ax@pashto@font\addfontfeature{Mapping=arabicfixes}% -\else% -\par\setRL\ax@pashto@font\arabtex@codes% -\addfontfeature{Mapping=arabtex-\ax@font@allah-pashto-\@tempa}% -\fi\fi% -\else% -\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}% -\par\setRL\ax@pashto@font\arabtex@codes% -\addfontfeature{Mapping=arabtex-\ax@font@allah-pashto-\ax@mode}% -\fi} -{\ifx\@tempa\ax@mode@trans\relax\else\unsetRL\fi\par} -%%% -\newenvironment{sindhi}[1][\ax@mode]% -{\edef\@tempa{#1}% -\def\ax@lang{sindhi}% -\ax@ismode@defined{\@tempa}% -\ifax@mode@defined% -\ifx\@tempa\ax@mode@trans% -\par\arabtex@codes\ax@trans@style% -\addfontfeature{Mapping=arabtex-sindhi-trans-\ax@trans@convention}% -\else% -\ifx\@tempa\ax@mode@utf% -\par\setRL\ax@sindhi@font\addfontfeature{Language=Sindhi}%Mapping=arabtex-utf}% -\else% -\par\setRL\ax@sindhi@font\arabtex@codes% -\addfontfeature{Mapping=arabtex-\ax@font@allah-sindhi-\@tempa,Language=Sindhi}% -\fi\fi% -\else% -\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}% -\par\setRL\ax@sindhi@font\arabtex@codes% -\addfontfeature{Mapping=arabtex-\ax@font@allah-sindhi-\ax@mode,Language=Sindhi}% -\fi} -{\ifx\@tempa\ax@mode@trans\relax\else\unsetRL\fi\par} -%%% -\newenvironment{ottoman}[1][\ax@mode]% -{\edef\@tempa{#1}% -\def\ax@lang{ottoman}% -\ax@ismode@defined{\@tempa}% -\ifax@mode@defined% -\ifx\@tempa\ax@mode@utf% -\par\setRL\ax@ottoman@font\addfontfeature{Mapping=arabicfixes}% -\else% -\par\setRL\ax@ottoman@font\arabtex@codes% -\addfontfeature{Mapping=arabtex-\ax@font@allah-turk-\@tempa}% -\fi%\fi% -\else% -\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}% -\par\setRL\ax@ottoman@font\arabtex@codes% -\addfontfeature{Mapping=arabtex-\ax@font@allah-turk-\ax@mode}% -\fi} -{%\ifx\@tempa\ax@mode@trans\relax\else -\unsetRL%\fi -\par} -\let\turk=\ottoman -%%% -\newenvironment{kurdish}[1][]% -{\def\ax@lang{kurdish}% -\ifx\@tempa\ax@mode@utf% -\par\setRL\ax@kurdish@font\addfontfeature{Language=Kurdish}%Mapping=arabtex-utf}% -\else% -\par\setRL\ax@kurdish@font\arabtex@codes% -\addfontfeature{Mapping=arabtex-\ax@font@allah-kurdish,Language=Kurdish}% -\fi} -{%\ifx\@tempa\ax@mode@trans\relax\else -\unsetRL%\fi -\par} -%%% -\newenvironment{kashmiri}[1][\ax@mode]% -{\edef\@tempa{#1}% -\def\ax@lang{kashmiri}% -\ax@ismode@defined{\@tempa}% -\ifax@mode@defined% -\ifx\@tempa\ax@mode@utf% -\par\setRL\ax@kashmiri@font\addfontfeature{Mapping=arabicfixes}% -\else% -\par\setRL\ax@kashmiri@font\arabtex@codes% -\addfontfeature{Mapping=arabtex-\ax@font@allah-kashmiri-\@tempa}% -\fi%\fi% -\else% -\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}% -\par\setRL\ax@kashmiri@font\arabtex@codes% -\addfontfeature{Mapping=arabtex-\ax@font@allah-kashmiri-\ax@mode}% -\fi} -{%\ifx\@tempa\ax@mode@trans\relax\else -\unsetRL%\fi -\par} -%%% -\newenvironment{malay}[1][\ax@mode]% -{\edef\@tempa{#1}% -\def\ax@lang{malay}% -\ax@ismode@defined{\@tempa}% -\ifax@mode@defined% -\ifx\@tempa\ax@mode@utf% -\par\setRL\ax@malay@font\addfontfeature{Mapping=arabicfixes}% -\else% -\par\setRL\ax@malay@font\arabtex@codes% -\addfontfeature{Mapping=arabtex-\ax@font@allah-malay-\@tempa}% -\fi%\fi% -\else% -\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}% -\par\setRL\ax@malay@font\arabtex@codes% -\addfontfeature{Mapping=arabtex-\ax@font@allah-malay-\ax@mode}% -\fi} -{%\ifx\@tempa\ax@mode@trans\relax\else -\unsetRL%\fi -\par} -\let\jawi=\malay -%%% -\newenvironment{uighur}[1]% -{%\edef\@tempa{#1}% -\def\ax@lang{uighur}% -\ifx\@tempa\ax@mode@utf% -\par\setRL\ax@uighur@font\addfontfeature{Mapping=arabicfixes}% -\else% -\par\setRL\ax@uighur@font\arabtex@codes% -\addfontfeature{Mapping=arabtex-\ax@font@allah-uighur}% -\fi} -{%\ifx\@tempa\ax@mode@trans\relax\else -\unsetRL%\fi -\par} -%%% -\def\textarab{\bgroup\arabtex@codes\text@arab} -\let\textarabic=\textarab -\def\textmaghribi{\bgroup\arabtex@codes\text@maghribi} -\def\textfarsi{\bgroup\arabtex@codes\text@farsi} -\let\textpersian=\textfarsi -\def\texturdu{\bgroup\arabtex@codes\text@urdu} -\def\textsindhi{\bgroup\arabtex@codes\text@sindhi} -\def\textpashto{\bgroup\arabtex@codes\text@pashto} -\def\textottoman{\bgroup\arabtex@codes\text@ottoman} -\let\textturk=\textottoman -\def\textkurdish{\bgroup\arabtex@codes\text@kurdish} -\def\textkashmiri{\bgroup\arabtex@codes\text@kashmiri} -\def\textmalay{\bgroup\arabtex@codes\text@malay} -\let\textjawi=\textmalay -\def\textuighur{\bgroup\arabtex@codes\text@uighur} -\newcommand\text@arab[2][\ax@mode]{% -\edef\@tempa{#1}% -\def\ax@lang{arab}% -\ax@ismode@defined{\@tempa}% -\ifax@mode@defined% -\ifx\@tempa\ax@mode@trans% -{\ax@trans@style\addfontfeature{Mapping=arabtex-trans-\ax@trans@convention}#2}% -\else% -\ifx\@tempa\ax@mode@utf% -\RL{\arabicfont\addfontfeature{Mapping=arabicfixes} #2}% -\else% -\RL{\arabicfont\addfontfeature{Mapping=arabtex-\ax@font@allah-\@tempa}#2}% -\fi\fi% -\else% -\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}% -\RL{\arabicfont\addfontfeature{Mapping=arabtex-\ax@font@allah-\ax@mode}#2}% -\fi\egroup} -\newcommand\text@maghribi[2][\ax@mode]{% -\edef\@tempa{#1}% -\def\ax@lang{maghribi}% -\ax@ismode@defined{\@tempa}% -\ifax@mode@defined% -\ifx\@tempa\ax@mode@trans% -{\ax@trans@style\addfontfeature{Mapping=arabtex-trans-\ax@trans@convention}#2}% -\else% -\ifx\@tempa\ax@mode@utf% -\RL{\ax@maghribi@font\addfontfeature{Mapping=arabicfixes} #2}%evtl {Mapping=arabtex-utf} -\else% -\RL{\ax@maghribi@font% -\addfontfeature{Mapping=arabtex-\ax@font@allah-maghribi-\@tempa}#2}% -\fi\fi% -\else% -\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}% -\RL{\ax@maghribi@font\addfontfeature{Mapping=arabtex-\ax@font@allah-maghribi-\ax@mode}#2}% -\fi\egroup} -\newcommand\text@farsi[2][\ax@mode]{% -\edef\@tempa{#1}% -\def\ax@lang{farsi}% -\ax@ismode@defined{\@tempa}% -\ifax@mode@defined% -\ifx\@tempa\ax@mode@trans% -{\ax@trans@style\addfontfeature{Mapping=arabtex-farsi-trans-\ax@trans@convention}#2}% -\else% -\ifx\@tempa\ax@mode@utf% -\RL{\ax@farsi@font\addfontfeature{Mapping=arabicfixes} #2}%evtl {Mapping=arabtex-utf} -\else% -\RL{\ax@farsi@font% -\addfontfeature{Mapping=arabtex-\ax@font@allah-farsi-\@tempa}#2}% -\fi\fi% -\else% -\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}% -\RL{\ax@farsi@font\addfontfeature{Mapping=arabtex-\ax@font@allah-farsi-\ax@mode}#2}% -\fi\egroup} -\newcommand\text@urdu[2][\ax@mode]{% -\edef\@tempa{#1}% -\def\ax@lang{urdu}% -\ax@ismode@defined{\@tempa}% -\ifax@mode@defined% -\ifx\@tempa\ax@mode@trans% -{\ax@trans@style\addfontfeature{Mapping=arabtex-urdu-trans-\ax@trans@convention}#2}% -\else% -\ifx\@tempa\ax@mode@utf% -\RL{\ax@urdu@font\addfontfeature{Language=Urdu}#2}%eventually Mapping=arabtex-utf -\else% -\RL{\ax@urdu@font% -\addfontfeature{Mapping=arabtex-\ax@font@allah-urdu-\@tempa,Language=Urdu}#2}% -\fi\fi% -\else% -\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}% -\RL{\ax@urdu@font\addfontfeature{Mapping=arabtex-\ax@font@allah-urdu-\ax@mode,Language=Urdu}#2}% -\fi\egroup} -\newcommand\text@sindhi[2][\ax@mode]{% -\edef\@tempa{#1}% -\def\ax@lang{sindhi}% -\ax@ismode@defined{\@tempa}% -\ifax@mode@defined% -\ifx\@tempa\ax@mode@trans% -{\ax@trans@style\addfontfeature{Mapping=arabtex-sindhi-trans-\ax@trans@convention}#2}% -\else% -\ifx\@tempa\ax@mode@utf% -\RL{\ax@sindhi@font\addfontfeature{Language=Sindhi} #2}%eventually Mapping=arabtex-utf -\else% -\RL{\ax@sindhi@font% -\addfontfeature{Mapping=arabtex-\ax@font@allah-sindhi-\@tempa,Language=Sindhi}#2}% -\fi\fi% -\else% -\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}% -\RL{\ax@sindhi@font\addfontfeature{Mapping=arabtex-\ax@font@allah-sindhi-\ax@mode,Language=Sindhi}#2}% -\fi\egroup} -\newcommand\text@pashto[2][\ax@mode]{% -\edef\@tempa{#1}% -\def\ax@lang{pashto}% -\ax@ismode@defined{\@tempa}% -\ifax@mode@defined% -\ifx\@tempa\ax@mode@trans% -{\ax@trans@style\addfontfeature{Mapping=arabtex-pashto-trans-\ax@trans@convention}#2}% -\else% -\ifx\@tempa\ax@mode@utf% -\RL{\ax@pashto@font\addfontfeature{Mapping=arabicfixes} #2}%evtl {Mapping=arabtex-utf} -\else% -\RL{\ax@pashto@font% -\addfontfeature{Mapping=arabtex-\ax@font@allah-pashto-\@tempa}#2}% -\fi\fi% -\else% -\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}% -\RL{\ax@pashto@font\addfontfeature{Mapping=arabtex-\ax@font@allah-pashto-\ax@mode}#2}% -\fi\egroup} -\newcommand\text@ottoman[2][\ax@mode]{% -\edef\@tempa{#1}% -\def\ax@lang{ottoman}% -\ax@ismode@defined{\@tempa}% -\ifax@mode@defined% -\ifx\@tempa\ax@mode@utf% -\RL{\ax@ottoman@font\addfontfeature{Mapping=arabicfixes} #2}%evtl {Mapping=arabtex-utf} -\else% -\RL{\ax@ottoman@font% -\addfontfeature{Mapping=arabtex-\ax@font@allah-turk-\@tempa}#2}% -\fi%\fi% -\else% -\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}% -\RL{\ax@ottoman@font\addfontfeature{Mapping=arabtex-\ax@font@allah-turk-\ax@mode}#2}% -\fi\egroup} -\newcommand\text@kurdish[2][]{% -\edef\@tempa{#1}% -\def\ax@lang{kurdish}% -\ifx\@tempa\ax@mode@utf% -\RL{\ax@kurdish@font\addfontfeature{Mapping=arabicfixes} #2}%evtl {Mapping=arabtex-utf} -\else% -\RL{\ax@kurdish@font% -\addfontfeature{Mapping=arabtex-\ax@font@allah-kurdish,Language=Kurdish}#2}% -\fi%\fi% -\egroup} -\newcommand\text@kashmiri[2][\ax@mode]{% -\edef\@tempa{#1}% -\def\ax@lang{kashmiri}% -\ax@ismode@defined{\@tempa}% -\ifax@mode@defined% -\ifx\@tempa\ax@mode@utf% -\RL{\ax@kashmiri@font\addfontfeature{Mapping=arabicfixes} #2}%evtl {Mapping=arabtex-utf} -\else% -\RL{\ax@kashmiri@font% -\addfontfeature{Mapping=arabtex-\ax@font@allah-kashmiri-\@tempa}#2}% -\fi%\fi% -\else% -\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}% -\RL{\ax@kashmiri@font\addfontfeature{Mapping=arabtex-\ax@font@allah-kashmiri-\ax@mode}#2}% -\fi\egroup} -\newcommand\text@malay[2][\ax@mode]{% -\edef\@tempa{#1}% -\def\ax@lang{malay}% -\ax@ismode@defined{\@tempa}% -\ifax@mode@defined% -\ifx\@tempa\ax@mode@utf% -\RL{\ax@malay@font\addfontfeature{Mapping=arabicfixes} #2}%evtl {Mapping=arabtex-utf} -\else% -\RL{\ax@malay@font% -\addfontfeature{Mapping=arabtex-\ax@font@allah-malay-\@tempa}#2}% -\fi%\fi% -\else% -\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \ax@mode}% -\RL{\ax@malay@font\addfontfeature{Mapping=arabtex-\ax@font@allah-malay-\ax@mode}#2}% -\fi\egroup} -\newcommand\text@uighur[2][]{% -\edef\@tempa{#1}% -\def\ax@lang{uighur}% -\ifx\@tempa\ax@mode@utf% -\RL{\ax@uighur@font\addfontfeature{Mapping=arabicfixes} #2}%evtl {Mapping=arabtex-utf} -\else% -\RL{\ax@uighur@font% -\addfontfeature{Mapping=arabtex-\ax@font@allah-uighur}#2}% -\fi%\fi% -\egroup} -\newcommand{\textLR}[1]{\LR{\rmfamily #1}} -\newcommand{\aemph}[1]{% - \edef\@tempb{\expandafter\noexpand\csname text\ax@lang\endcsname}% - $\overline{\text{\@tempb{#1}}}$} -%% -%% Copyright (C) 2007-2008 by François Charette -%% -%% Distributable under the LaTeX Project Public License, -%% version 1.3c or higher (your choice). The latest version of -%% this license is at: http://www.latex-project.org/lppl.txt -%% -%% This work is "maintained" (as per LPPL maintenance status) -%% by François Charette. -%% -%% This work consists of the file arabxetex.dtx -%% and the derived files arabxetex.sty and arabxetex.pdf. -%% as well as an extensive collection of TECKit files -%% (*.map, compiled as *.tec). -%% -%% -%% End of file `arabxetex.sty'. diff --git a/Master/tlpkg/libexec/ctan2tds b/Master/tlpkg/libexec/ctan2tds index c223304b8c8..5f3d3fc4d1a 100755 --- a/Master/tlpkg/libexec/ctan2tds +++ b/Master/tlpkg/libexec/ctan2tds @@ -61,7 +61,7 @@ $Master = "$mydir/../.."; 'aeb_pro', "die 'skipping, requires new acrobat + complicated'", 'amscls', "die 'skipping, ams situation confused'", 'amslatex', "die 'skipping, use ams subpackages'", - 'arabxetex', '&MAKEflatten', +# 'arabxetex', '&MAKEflatten', 'arbeit', "die 'skipping, latex 2.09 and never in tl'", 'ae', "&MAKEae", 'AkkTeX', "&MAKEflatten", -- cgit v1.2.3