summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/xelatex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2007-04-29 23:16:41 +0000
committerKarl Berry <karl@freefriends.org>2007-04-29 23:16:41 +0000
commitea36cf1b393aed7652593bba4164790837051671 (patch)
treec56485b200c135a5a6c6d3322c705723360cd9f1 /Master/texmf-dist/doc/xelatex
parent11ddd357c1707de15824875228afec3bf19d4f58 (diff)
new package arabxetex (17apr07)
git-svn-id: svn://tug.org/texlive/trunk@4212 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/xelatex')
-rw-r--r--Master/texmf-dist/doc/xelatex/arabxetex/README22
-rw-r--r--Master/texmf-dist/doc/xelatex/arabxetex/arabtex-kurdish.maps292
-rw-r--r--Master/texmf-dist/doc/xelatex/arabxetex/arabtex-uighur.maps281
-rw-r--r--Master/texmf-dist/doc/xelatex/arabxetex/arabtex.maps774
-rw-r--r--Master/texmf-dist/doc/xelatex/arabxetex/arabxetex.dtx1973
-rw-r--r--Master/texmf-dist/doc/xelatex/arabxetex/arabxetex.pdfbin0 -> 286083 bytes
-rw-r--r--Master/texmf-dist/doc/xelatex/arabxetex/ednotes_example.pdfbin0 -> 105573 bytes
-rw-r--r--Master/texmf-dist/doc/xelatex/arabxetex/ednotes_example.tex211
-rw-r--r--Master/texmf-dist/doc/xelatex/arabxetex/makemaps.pl1117
9 files changed, 4670 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/xelatex/arabxetex/README b/Master/texmf-dist/doc/xelatex/arabxetex/README
new file mode 100644
index 00000000000..ce0357d4654
--- /dev/null
+++ b/Master/texmf-dist/doc/xelatex/arabxetex/README
@@ -0,0 +1,22 @@
+--------------------------
+THE ARABXETEX PACKAGE v1.0
+
+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.
+
+* Installation:
+
+The TECkit fontmapping files (*.map and *.tec) should be copied to
+<TEXMF>/fonts/misc/xetex/fontmapping/arabxetex/
+
+arabxetex.sty should be copied to
+<TEXMF>/tex/xelatex/arabxetex/
+
+-------------------------
+François Charette
+2007
diff --git a/Master/texmf-dist/doc/xelatex/arabxetex/arabtex-kurdish.maps b/Master/texmf-dist/doc/xelatex/arabxetex/arabtex-kurdish.maps
new file mode 100644
index 00000000000..5a990a2d077
--- /dev/null
+++ b/Master/texmf-dist/doc/xelatex/arabxetex/arabtex-kurdish.maps
@@ -0,0 +1,292 @@
+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+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|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
+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
new file mode 100644
index 00000000000..27da35ca0d2
--- /dev/null
+++ b/Master/texmf-dist/doc/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/doc/xelatex/arabxetex/arabtex.maps b/Master/texmf-dist/doc/xelatex/arabxetex/arabtex.maps
new file mode 100644
index 00000000000..e195cd98bf2
--- /dev/null
+++ b/Master/texmf-dist/doc/xelatex/arabxetex/arabtex.maps
@@ -0,0 +1,774 @@
+## 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] #)
+
+; 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
+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) _ (Z|END) > 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) / _ (END|Z) > @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
+
+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? (i N?|u N?)? (#|^[LTR]) > HBAR ; 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
+#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 / . _ . > U+200D U+005D U+200D ; keep shaping when inserting ...[...]...
+U+005B / . _ . > U+200D U+005B U+200D ; ... (but of course this screws up contextual analysis, so quoting of hamzas etc may be necessary)
+;U+005D > 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|U+0649)=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
new file mode 100644
index 00000000000..047cf0247c5
--- /dev/null
+++ b/Master/texmf-dist/doc/xelatex/arabxetex/arabxetex.dtx
@@ -0,0 +1,1973 @@
+% \iffalse
+%
+%!TEX encoding = UTF-8 Unicode
+%
+% Copyright (C) 2007 by François Charette <firmicus at gmx dot net>
+%
+% Distributable under the LaTeX Project Public License,
+% version 1.3c or higher (your choice). The latest version of
+% 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 François Charette
+ License information appended
+
+
+\endpreamble
+\postamble
+
+Copyright (C) 2007 by François Charette <firmicus at gmx dot net>
+
+Distributable under the LaTeX Project Public License,
+version 1.3c or higher (your choice). The latest version of
+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
+%</batchfile>
+%
+%<*driver>
+\documentclass[11pt]{ltxdoc}
+\usepackage{arabxetex-dtx-style}
+\EnableCrossrefs
+\CodelineIndex
+\RecordChanges
+%\OnlyDescription
+\begin{document}
+ \DocInput{\jobname.dtx}
+\end{document}
+%</driver>
+%
+%<*readme>
+--------------------------
+THE ARABXETEX PACKAGE v1.0
+
+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
+<TEXMF>/fonts/misc/xetex/fontmapping/arabxetex/
+
+-------------------------
+François Charette
+2007
+%</readme>
+%
+% \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<language>[option]{...}¦
+% where ¦<language>¦ is one of the following:
+% \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 ¦turk¦ (¦ottoman¦),
+% \item ¦kurdish¦,
+% \item ¦kashmiri¦,
+% \item ¦malay¦ (¦jawi¦), and
+% \item ¦uighur¦.
+% \end{compactitem}
+% For typesetting whole paragraphs in Arabic script, use
+% \begin{Verbatim}[gobble=2,fontsize=\normalsize]
+% \begin{<language>}[option]
+% ...
+% \end{<language>}
+% \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<language>¦ commands or
+% ¦\begin{<language>}¦ \ldots ¦\end{<language>}¦ 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.
+%
+% Latin (LR) insertions within Arabic environment can be made by means of the
+% command \cmd\textlatin¦{…}¦. Emphasis in Arabic is traditionally indicated by
+% overlining the text, and this can be achieved with the command
+% \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
+% 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
+%
+% \textbf{Important:} \arabxetex\ requires that the user has defined an
+% \cmd\arabicfont\ in the preamble.
+% The recommended procedure by means of \pkg{fontspec} is to define it as follows:
+% \begin{Verbatim}[gobble=2,fontsize=\normalsize]
+% \newfontfamily\arabicfont[Script=Arabic]{<fontname>}
+% \end{Verbatim}
+% If not, then the font \textbf{Scheherazade} (designed by Bob Halissy and
+% Jonathan Kew of SIL International) is taken as default.\footnote{ ^^A
+% 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.}
+%
+% \textbf{NB:} In a later version we may define more general and flexible font commands,
+% perhaps by having individual font families for each language (\cmd\farsifont,
+% \cmd\urdufont, etc.)
+%
+% ^^A¦TODO:¦ Include links to other open source, freeware and commercial Arabic fonts available.
+% ^^A see appendix
+%
+%
+% \subsection{Examples}
+%
+% \texttt{THIS SECTION IS INCOMPLETE}
+%
+% \subsubsection{Contextual analysis of \textit{hamza}}
+%
+% \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}
+%
+% \begin{Verbatim}[gobble=2,fontsize=\normalsize]
+% \begin{arab}[fullvoc]
+% mina 'l-qur'Ani 'l-karImi, sUraTu 'l-ssajdaTi 15--16:
+%
+% 'innamA yu'minu bi-B"'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}
+% \end{Verbatim}
+%
+% \begin{arab}[fullvoc]
+% mina 'l-qur'Ani 'l-karImi, sUraTu 'l-ssajdaTi 15--16:
+%
+% 'innamA yu'minu bi-B"'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{Verbatim}[gobble=2,fontsize=\normalsize]
+% \newcommand{\hamzaB}{\char"200D\char"0640\raise-.95ex\hbox{\char"0654}\char"200D}
+% \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]
+% 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:
+% \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}
+%
+% Urdu example:\footnote{ ^^A
+% 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ﺟﻮ ﺍﺷﻚ ﮨﹷﮯ ﺁﻧﻜﮭﻮﮞ ﻣﻴﮟ ﺗﹷﺴﺒﹻﻴﺢ ﰷ ﺩﺍﻧﺎ ﮨﹷﮯ
+%
+% \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, the majority 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 problem.}
+% 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
+% {\adobearabic\char"FDF2}, 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
+% \cmd\SetAllahWithAlif\ and \cmd\SetAllahWithoutAlif\ \textit{before} making use of
+% \cmd\arabicfont. In a future version we hope to 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 will be provided in a forthcoming version.
+% It is also planned to implement alternative transliteration conventions
+% for each language, as with \arabtex, \eg ZDMG, Encyclopedia Iranica, etc.
+% Transliteration is set in italics by default. This can be changed by declaring, e.g.,
+% ¦\SetTransliterationStyle{\upshape}¦.
+% To transliterate proper nouns with capitals, prefix the words to be capitalized with \cmd\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\SetTransliterationStyle{\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.}
+%
+% ^^AThe above example was set in Gentium (since FPL Neu does not provide all
+% ^^Arequired glyphs) If your default roman font does not have the required
+% ^^Adiacritics, you can declare for instance
+% ^^A¦\SetTransliterationStyle{\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}{\textlatin{\textbf{+}}\,}% or \textarab{zAyid fI}\
+% \newcommand{\OM}{\textlatin{\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}{\textlatin{\textlangle~{\dots}~\textrangle}}
+% \newcommand{\RESTOR}[1]{\textlatin{\textrangle}#1\textlatin{\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}&\GG{j}&\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$&&&&&&&&&\\ ^^ADarwa 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 Darwa (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} (U+06A2), \textmaghribi{q}
+% (U+06A7), and \textmaghribi{v} (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} \> ¦[[<digits>]]¦ \\
+% \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:
+% \item AGFA Monotype:
+% \item ParaType:
+% \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 jGaramond: \url{http://www.janthor.de/jGaramond/}
+%
+% \item LinuxLibertine: \url{http://linuxlibertine.sourceforge.net/}
+%
+% \item Roman Unicode: \url{http://everywitchway.net/linguistics/fonts/roman.html}
+%
+% \item Chrisanthi Unicode: \url{http://everywitchway.net/linguistics/fonts/chrysuni.html}
+%
+% \item DejaVu Serif / Sans / Sans Mono: \url{http://dejavu.sourceforge.net/wiki/index.php/Main_Page}
+%
+% \item Lucida Grande: Mac~OS~X
+%
+% \item FreeSerif / FreeSans / FreeMono: \url{http://savannah.nongnu.org/projects/freefont/}
+%
+% \item Thryomanes: \url{ftp://ftp.io.com/pub/usr/hmiller/fonts/Thryomanes12.zip}
+%
+% \item HindSight Unicode (not very nice): \url{http://dartcanada.tripod.com/Objets/Zips/HindUnic.zip}
+%
+% \item TITUS Cyberbit Basic: \url{http://titus.fkidg1.uni-frankfurt.de/unicode/tituut.asp}
+%
+% \item AbRoman: \url{http://www.languagegeek.com/font/fontdownload.html}
+%
+% \item Everson Mono Unicode (shareware): \url{http://www.evertype.com/emono/}
+%
+% \item Arial Unicode MS: Windows
+%
+% \item Microsoft Sans Serif: Windows
+%
+% \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 (by Rogier van Dalen): \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}
+ [2007/04/14 v1.0 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%
+ \newfontfamily\arabicfont[Script=Arabic,Scale=2]{Scheherazade}\fi}%
+\def\ax@trans@style{\itshape}%
+\newcommand{\SetTransliterationStyle}[1]{\def\ax@trans@style{#1}}
+\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
+%%%
+\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}%
+ \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}%
+ \else%
+ \ifx\@tempa\ax@mode@utf%
+ \par\setRL\arabicfont\addfontfeature{Mapping=arabicfixes}%
+ \else%
+ \par\setRL\arabicfont\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\arabicfont\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}%
+ \else%
+ \ifx\@tempa\ax@mode@utf%
+ \par\setRL\arabicfont\addfontfeature{Mapping=arabicfixes}%
+ \else%
+ \par\setRL\arabicfont\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\arabicfont\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}%
+ \else%
+ \ifx\@tempa\ax@mode@utf%
+ \par\setRL\arabicfont\addfontfeature{Language=Urdu}%Mapping=arabtex-utf}%
+ \else%
+ \par\setRL\arabicfont\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\arabicfont\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}%
+ \else%
+ \ifx\@tempa\ax@mode@utf%
+ \par\setRL\arabicfont\addfontfeature{Mapping=arabicfixes}%
+ \else%
+ \par\setRL\arabicfont\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\arabicfont\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}%
+ \else%
+ \ifx\@tempa\ax@mode@utf%
+ \par\setRL\arabicfont\addfontfeature{Language=Sindhi}%Mapping=arabtex-utf}%
+ \else%
+ \par\setRL\arabicfont\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\arabicfont\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{turk}[1][\ax@mode]%
+{\edef\@tempa{#1}%
+\def\ax@lang{turk}%
+\ax@ismode@defined{\@tempa}%
+\ifax@mode@defined%
+ %\ifx\@tempa\ax@mode@trans%
+ % \par\arabtex@codes\ax@trans@style%
+ % \addfontfeature{Mapping=arabtex-turk-trans}%
+ %\else%
+ \ifx\@tempa\ax@mode@utf%
+ \par\setRL\arabicfont\addfontfeature{Mapping=arabicfixes}%
+ \else%
+ \par\setRL\arabicfont\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\arabicfont\arabtex@codes%
+ \addfontfeature{Mapping=arabtex-\ax@font@allah-turk-\ax@mode}%
+\fi}
+{%\ifx\@tempa\ax@mode@trans\relax\else
+\unsetRL%\fi
+\par}
+\let\ottoman=\turk
+%%%
+\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}%
+%\else%
+\ifx\@tempa\ax@mode@utf%
+ \par\setRL\arabicfont\addfontfeature{Language=Kurdish}%Mapping=arabtex-utf}%
+\else%
+ \par\setRL\arabicfont\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}%
+ %\else%
+ \ifx\@tempa\ax@mode@utf%
+ \par\setRL\arabicfont\addfontfeature{Mapping=arabicfixes}%
+ \else%
+ \par\setRL\arabicfont\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\arabicfont\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}%
+ %\else%
+ \ifx\@tempa\ax@mode@utf%
+ \par\setRL\arabicfont\addfontfeature{Mapping=arabicfixes}%
+ \else%
+ \par\setRL\arabicfont\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\arabicfont\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}%
+%\else%
+\ifx\@tempa\ax@mode@utf%
+ \par\setRL\arabicfont\addfontfeature{Mapping=arabicfixes}%
+\else%
+ \par\setRL\arabicfont\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\textturk{\bgroup\arabtex@codes\text@turk}
+\let\textottoman=\textturk
+\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}#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}#2}%
+ \else%
+ \ifx\@tempa\ax@mode@utf%
+ \RL{\arabicfont\addfontfeature{Mapping=arabicfixes} #2}%evtl {Mapping=arabtex-utf}
+ \else%
+ \RL{\arabicfont%
+ \addfontfeature{Mapping=arabtex-\ax@font@allah-maghribi-\@tempa}#2}%
+ \fi\fi%
+ \else%
+ \PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \ax@mode}%
+ \RL{\arabicfont\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}#2}%
+ \else%
+ \ifx\@tempa\ax@mode@utf%
+ \RL{\arabicfont\addfontfeature{Mapping=arabicfixes} #2}%evtl {Mapping=arabtex-utf}
+ \else%
+ \RL{\arabicfont%
+ \addfontfeature{Mapping=arabtex-\ax@font@allah-farsi-\@tempa}#2}%
+ \fi\fi%
+ \else%
+ \PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \ax@mode}%
+ \RL{\arabicfont\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}#2}%
+ \else%
+ \ifx\@tempa\ax@mode@utf%
+ \RL{\arabicfont\addfontfeature{Language=Urdu}#2}%eventually Mapping=arabtex-utf
+ \else%
+ \RL{\arabicfont%
+ \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{\arabicfont\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}#2}%
+ \else%
+ \ifx\@tempa\ax@mode@utf%
+ \RL{\arabicfont\addfontfeature{Language=Sindhi} #2}%eventually Mapping=arabtex-utf
+ \else%
+ \RL{\arabicfont%
+ \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{\arabicfont\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}#2}%
+ \else%
+ \ifx\@tempa\ax@mode@utf%
+ \RL{\arabicfont\addfontfeature{Mapping=arabicfixes} #2}%evtl {Mapping=arabtex-utf}
+ \else%
+ \RL{\arabicfont%
+ \addfontfeature{Mapping=arabtex-\ax@font@allah-pashto-\@tempa}#2}%
+ \fi\fi%
+ \else%
+ \PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \ax@mode}%
+ \RL{\arabicfont\addfontfeature{Mapping=arabtex-\ax@font@allah-pashto-\ax@mode}#2}%
+ \fi\egroup}
+\newcommand\text@turk[2][\ax@mode]{%
+ \edef\@tempa{#1}%
+ \def\ax@lang{turk}%
+ \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}#2}%
+ %\else%
+ \ifx\@tempa\ax@mode@utf%
+ \RL{\arabicfont\addfontfeature{Mapping=arabicfixes} #2}%evtl {Mapping=arabtex-utf}
+ \else%
+ \RL{\arabicfont%
+ \addfontfeature{Mapping=arabtex-\ax@font@allah-turk-\@tempa}#2}%
+ \fi%\fi%
+ \else%
+ \PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \ax@mode}%
+ \RL{\arabicfont\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}#2}%
+ %\else%
+ \ifx\@tempa\ax@mode@utf%
+ \RL{\arabicfont\addfontfeature{Mapping=arabicfixes} #2}%evtl {Mapping=arabtex-utf}
+ \else%
+ \RL{\arabicfont%
+ \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}#2}%
+ %\else%
+ \ifx\@tempa\ax@mode@utf%
+ \RL{\arabicfont\addfontfeature{Mapping=arabicfixes} #2}%evtl {Mapping=arabtex-utf}
+ \else%
+ \RL{\arabicfont%
+ \addfontfeature{Mapping=arabtex-\ax@font@allah-kashmiri-\@tempa}#2}%
+ \fi%\fi%
+ \else%
+ \PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \ax@mode}%
+ \RL{\arabicfont\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}#2}%
+ %\else%
+ \ifx\@tempa\ax@mode@utf%
+ \RL{\arabicfont\addfontfeature{Mapping=arabicfixes} #2}%evtl {Mapping=arabtex-utf}
+ \else%
+ \RL{\arabicfont%
+ \addfontfeature{Mapping=arabtex-\ax@font@allah-malay-\@tempa}#2}%
+ \fi%\fi%
+ \else%
+ \PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \ax@mode}%
+ \RL{\arabicfont\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}#2}%
+ %\else%
+ \ifx\@tempa\ax@mode@utf%
+ \RL{\arabicfont\addfontfeature{Mapping=arabicfixes} #2}%evtl {Mapping=arabtex-utf}
+ \else%
+ \RL{\arabicfont%
+ \addfontfeature{Mapping=arabtex-\ax@font@allah-uighur}#2}%
+ \fi%\fi%
+ \egroup}
+%
+\newcommand{\textlatin}[1]{\LR{\rmfamily #1}}
+%\newcommand{\aemph}[1]{$\overline{\text{\textarab{#1}}}$} %%TODO generalize to all languages
+%% implement a parameter \ax@lang
+\newcommand{\aemph}[1]{%
+ \edef\@tempb{\expandafter\noexpand\csname text\ax@lang\endcsname}%
+ $\overline{\text{\@tempb{#1}}}$}
+%
+% experimental: this surely does not work!
+% this would make possible to define commands that accept args containing \arabtex@codes
+%\def\newarabxetexcommand#1#2{%
+% \edef\ax@tcomm@nd{\expandafter\relax\csname #1@\endcsname}
+% \expandafter\def\string#1{%
+% \bgroup\arabtex@codes\ax@tcomm@nd}
+% \def\ax@tcomm@nd{#2\egroup}}
+% \end{macrocode}
+%
+%\iffalse
+%</package>
+%\fi
+%
+% \subsection{Some notes on the TECkit mappings}
+%
+% \texttt{To be done \dots}
+%
+%
+%
+% ^^A\section{Recommendations to the Unicode Consortium}
+% ^^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- Clarify the U+FDF2 mess: OK to leave it as is, but it would be advisable to
+% ^^A codify the LLAH ligature as well: leaving it in the Private Use Area is really
+% ^^A a bad idea! 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}
+\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 <firmicus@gmx.net>},
+ 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!
+
+%% 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\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\nafeesfont[Script=Arabic]{Nafees Pakistani Naskh}
+\newfontfamily\arabesque{AGA Arabesque}
+\newfontfamily\arialuni{Arial Unicode MS}
+\newfontfamily\gentium{Gentium}
+
+\linespread{1.05} % Palatino needs more space between lines
+\frenchspacing % Remove ugly extra space after punctuation
+\usepackage{paralist}
+%\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}
+%</dtx-style>
+%\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
new file mode 100644
index 00000000000..4d0279aa46f
--- /dev/null
+++ b/Master/texmf-dist/doc/xelatex/arabxetex/arabxetex.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/xelatex/arabxetex/ednotes_example.pdf b/Master/texmf-dist/doc/xelatex/arabxetex/ednotes_example.pdf
new file mode 100644
index 00000000000..a4fbafa7184
--- /dev/null
+++ b/Master/texmf-dist/doc/xelatex/arabxetex/ednotes_example.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/xelatex/arabxetex/ednotes_example.tex b/Master/texmf-dist/doc/xelatex/arabxetex/ednotes_example.tex
new file mode 100644
index 00000000000..c22b964fbc1
--- /dev/null
+++ b/Master/texmf-dist/doc/xelatex/arabxetex/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,fdf2noalif]{arabxetex}
+\newfontinstance\arabicfont[Script=Arabic,Scale=1.2,WordSpace=2]{Lotus Linotype}
+%% 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\<LEMMA2\>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/makemaps.pl b/Master/texmf-dist/doc/xelatex/arabxetex/makemaps.pl
new file mode 100644
index 00000000000..b375752271c
--- /dev/null
+++ b/Master/texmf-dist/doc/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 (<MAPS>) {
+ 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 (<MAPS>) {
+ 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 (<MAPS>) {
+ 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 (<MAPS>) {
+ 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 (<MAPS>) {
+ 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 (<MAPS>) {
+ 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 (<MAPS>) {
+ 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 (<MAPS>) {
+ 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 (<MAPS>) {
+ 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 (<MAPS>) {
+ 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 (<MAPS>) {
+ 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 (<MAPS>) {
+ 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 (<MAPS>) {
+ 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 (<MAPS>) {
+ 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 (<MAPS>) {
+ 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 (<MAPS>) {
+ 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 (<MAPS>) {
+ 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 (<MAPS>) {
+ 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 (<MAPS>) {
+ 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 (<MAPS>) {
+ 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 (<MAPS>) {
+ 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 (<MAPS>) {
+ 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 (<MAPS>) {
+ 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 (<MAPS>) {
+ 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 (<MAPS>) {
+ 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 (<MAPS>) {
+ 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 (<MAPS>) {
+ 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 (<MAPS>) {
+ 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 (<MAPS>) {
+ 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 (<MAPS>) {
+ 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 (<MAPS>) {
+ 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 (<MAPS>) {
+ 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 (<MAPS>) {
+ 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 (<MAPS>) {
+ 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 (<MAPS>) {
+ 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 (<MAPS>) {
+ 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 (<MAPS>) {
+ 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 (<MAPS>) {
+ 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 (<MAPS>) {
+ 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 (<MAPS>) {
+ 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 (<MAPS>) {
+ 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 (<MAPS>) {
+ 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 (<MAPS>) {
+ 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 (<MAPS>) {
+ 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 (<MAPS>) {
+ 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 (<MAPS>) {
+ 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 (<MAPS>) {
+ 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 (<MAPS>) {
+ 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 (<MAPS>) {
+ 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 (<MAPS>) {
+ 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 (<MAPS>) {
+ 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 (<MAPS>) {
+ 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 (<MAPS>) {
+ 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 (<MAPS>) {
+ 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, "<arabtex-kurdish.maps" ;
+open OUTPUT, ">$output-fdf2noalif-kurdish.map";
+while (<MAPS>) {
+ s/^#0 // ;
+ s/^#1.+\n//m ;
+ print OUTPUT
+}
+close OUTPUT;
+close MAPS;
+
+open MAPS, "<arabtex-uighur.maps" ;
+open OUTPUT, ">$output-fdf2noalif-uighur.map";
+while (<MAPS>) {
+ s/^#0 // ;
+ s/^#1.+\n//m ;
+ print OUTPUT
+}
+close OUTPUT;
+close MAPS;
+
+open MAPS, "<arabtex-kurdish.maps" ;
+open OUTPUT, ">$output-fdf2alif-kurdish.map";
+while (<MAPS>) {
+ s/^#1 // ;
+ s/^#0.+\n//m ;
+ print OUTPUT
+}
+close OUTPUT;
+close MAPS;
+
+open MAPS, "<arabtex-uighur.maps" ;
+open OUTPUT, ">$output-fdf2alif-uighur.map";
+while (<MAPS>) {
+ s/^#1 // ;
+ s/^#0.+\n//m ;
+ print OUTPUT
+}
+close OUTPUT;
+close MAPS;
+
+# Let's compile them now
+
+system("for map in $output*.map; do echo \"compiling \$map ...\" && teckit_compile \$map; done");
+
+