summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/xelatex/arabxetex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2015-09-05 22:01:10 +0000
committerKarl Berry <karl@freefriends.org>2015-09-05 22:01:10 +0000
commit412a3bd77bd76014472d93aa65ce8d7b75809ebb (patch)
tree693f23e713a7e26b3e55b5e946da81d9825f67c4 /Master/texmf-dist/source/xelatex/arabxetex
parent72347356254cf3c4b88615a8c0fcf696b21e313f (diff)
arabxetex (4sep15)
git-svn-id: svn://tug.org/texlive/trunk@38299 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/xelatex/arabxetex')
-rw-r--r--Master/texmf-dist/source/xelatex/arabxetex/arabtex-kurdish.maps294
-rw-r--r--Master/texmf-dist/source/xelatex/arabxetex/arabtex-uighur.maps281
-rw-r--r--Master/texmf-dist/source/xelatex/arabxetex/arabtex.maps35
-rw-r--r--Master/texmf-dist/source/xelatex/arabxetex/arabxetex.dtx543
-rwxr-xr-xMaster/texmf-dist/source/xelatex/arabxetex/makemaps.pl681
5 files changed, 189 insertions, 1645 deletions
diff --git a/Master/texmf-dist/source/xelatex/arabxetex/arabtex-kurdish.maps b/Master/texmf-dist/source/xelatex/arabxetex/arabtex-kurdish.maps
deleted file mode 100644
index 75e4da0ebd0..00000000000
--- a/Master/texmf-dist/source/xelatex/arabxetex/arabtex-kurdish.maps
+++ /dev/null
@@ -1,294 +0,0 @@
-LHSName "ArabTeX-Kurdish"
-RHSName "UNICODE"
-
-Define a U+0061 ;a
-Define b U+0062 ;b
-Define c U+0063 ;c
-Define d U+0064 ;d
-Define e U+0065 ;e
-Define f U+0066 ;f
-Define g U+0067 ;g
-Define h U+0068 ;h
-Define i U+0069 ;i
-Define j U+006A ;j
-Define k U+006B ;k
-Define l U+006C ;l
-Define m U+006D ;m
-Define n U+006E ;n
-Define o U+006F ;o
-Define p U+0070 ;p
-Define q U+0071 ;q
-Define r U+0072 ;r
-Define s U+0073 ;s
-Define t U+0074 ;t
-Define u U+0075 ;u
-Define v U+0076 ;v
-Define w U+0077 ;w
-Define x U+0078 ;x
-Define y U+0079 ;y
-Define z U+007A ;z
-Define A U+0041 ;A
-Define B U+0042 ;B
-Define E U+0045 ;E
-Define G U+0047 ;G
-Define I U+0049 ;I
-Define N U+004E ;N
-Define O U+004F ;O
-Define T U+0054 ;T
-Define U U+0055 ;U
-Define Y U+0059 ;Y
-Define C U+005E ;^ << CARET
-Define UL U+005F ;_ << UNDERLINE
-Define P U+002E ;. << DOT
-Define V U+002C ;, << COMMA (_V_irgule)
-Define CO U+003A ;: << COLON
-Define Ain U+0060 ;`
-Define H U+0027 ;' << HAMZA
-Define Q U+0022 ;" << QUOTE
-Define Z U+002D ;- << HYPHEN
-Define BAR U+007C ;|
-Define LLAH U+006C U+006C U+005F U+0061 U+0068
-
-pass(Unicode)
-
-Class [Digits] = (U+0030..U+0039)
-Class [ArDigits] = (U+0660..U+0669)
-
-
-; special ligatures
-;; 1. Standard ArabTeX input
-;; WARNING! there are, alas, two classes of Arabic fonts:
-;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2
-;; For these the ligature llah can be accessed by the sequence lam-lam-ha
-;; b) Those that do not have the initial alif in U+FDF2
-#0 (a|A) l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah'
-#1 (a|A) l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah'
-#0 LLAH > U+FDF2 ;; 'll_ah' > U+FDF2
-#1 LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h'
-;; UPPERCASE mnemonics for various ligatures or special glyphs
-;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode
-U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h'
-U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic
-;; 2b. Ligatures and glyphs defined in Unicode:
-#0 U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH'
-#1 U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH'
-#0 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH'
-#1 U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH'
-
-U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam
-U+0028 U+0028 > U+FD3F ;; '((' : ornate right par
-U+0029 U+0029 > U+FD3E ;; '))' : ornate left par
-U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign
-;; most fonts won't have the following ones:
-U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign)
-U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign
-U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR'
-U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD'
-U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM'
-U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL)'
-U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE)'
-U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM'
-U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA'
-U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu"
-U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik
-
-U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY
-U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY
-U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM-
-U+005E U+004C U+0041 > U+06D9 ;; ^LA
-U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM
-U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS
-U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN
-U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB
-U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO
-U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO
-U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM
-U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM
-U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN
-U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA
-U+0057 U+0041 U+0057 > U+06E5 ;; WAW
-U+0059 U+0045 U+0048 > U+06E6 ;; YEH
-U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH
-U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN
-U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA
-U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP
-U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP
-U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP
-U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM
-
-U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::")
-
-;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts
-U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]]
-
-
-; vowels
-
-E / # _ > U+0626 U+06CE
-E > U+06CE
-e / # _ > U+0626 U+0647 U+200C ; h always final
-e > U+0647 U+200C
-i / # _ > U+0626
-Q i > U+0650
-i > ;
-Q I / # _ > U+0626 U+064A U+0650
-Q I > U+064A U+0650
-I / # _ > U+0626 U+064A
-I > U+064A
-(a|A) / # _ > U+0626 U+0627
-(a|A) > U+0627
-(o|O) / # _ > U+0626 U+06C6
-(o|O) > U+06C6
-u / # _ > U+0626 U+0648
-u > U+0648
-U / # _ > U+0626 U+0648 U+0648
-U > U+0648 U+0648
-Ain e > U+0639 U+0647 U+200C
-
-
-P z P z > U+0638 U+0651 ;;SHADDA
-P z > U+0638
-C z C z > U+0698 U+0651 ;;SHADDA
-C z > U+0698
-V z V z > U+0696 U+0651 ;pashto ;;SHADDA
-V z > U+0696 ;pashto
-z z > U+0632 U+0651 ;;SHADDA
-z > U+0632
-Y Y > U+0649 U+0651 ;;SHADDA
-Y > U+0649
-w w > U+0648 U+0651 ;;SHADDA
-w > U+0648
-y y > U+064A U+0651 ;;SHADDA
-y > U+064A
-v v > U+06A4 U+0651 ;;SHADDA
-v > U+06A4
-V t V t > U+0679 U+0651 ; urdu ;;SHADDA
-V t > U+0679
-UL t UL t > U+062B U+0651 ;;SHADDA
-UL t > U+062B
-P t P t > U+0637 U+0651 ;;SHADDA
-P t > U+0637
-t t > U+062A U+0651 ;;SHADDA
-t > U+062A
-T T > U+0629 U+0651 ;;SHADDA
-T > U+0629
-(C|V) s (C|V) s > U+0634 U+0651 ;;SHADDA
-(C|V) s > U+0634
-P s P s > U+0635 U+0651 ;;SHADDA
-P s > U+0635
-CO s CO s > U+069B U+0651
-CO s > U+069B ; sin with 3 dots below
-s s > U+0633 U+0651 ;;SHADDA
-s > U+0633
-;; also missing U+0694 : r with dot below
-V r V r > U+0694 U+0651 ;Kurdish ;;SHADDA
-V r > U+0694
-C r C r > U+0692 U+0651 ;Kurdish ;;SHADDA ; missing in ArabTeX <<<
-C r > U+0692
-P r P r > U+0695 U+0651 ;Kurdish ;;SHADDA
-P r > U+0695
-r r > U+0631 U+0651 ;;SHADDA
-r > U+0631
-P q P q > U+066F U+0651 ;;SHADDA
-P q > U+066F
-q q > U+0642 U+0651 ;;SHADDA
-q > U+0642
-p p > U+067E U+0651 ;;SHADDA
-p > U+067E
-C n C n > U+06AD U+0651 ;;SHADDA
-C n > U+06AD
-P n P n > U+06BA U+0651 ; urdu ;;SHADDA
-P n > U+06BA ;
-V n V n > U+06BC U+0651 ; Pashto
-V n > U+06BC ; Pashto
-n n > U+0646 U+0651 ;;SHADDA
-n > U+0646
-m m > U+0645 U+0651 ;;SHADDA
-m > U+0645
-P l P l > U+06B6 U+0651 ;
-P l > U+06B6 ; ADDED <<<
-C l C l > U+06B5 U+0651 ;kurdish ;;SHADDA
-C l > U+06B5
-l l > U+0644 U+0651 ;;SHADDA
-l > U+0644
-P k P k > U+06A9 U+0651 ; pashto urdu ;;SHADDA
-P k > U+06A9
-UL k UL k > U+063A U+0651 ;;SHADDA
-UL k > U+063A
-k k > U+0643 U+0651 ;;SHADDA
-k > U+0643
-c c > U+062C U+0651 ;;SHADDA
-c > U+062C
-x x > U+062E U+0651 ;;SHADDA
-x > U+062E
-j j > U+0698 U+0651 ;;SHADDA
-j > U+0698
-UL h UL h > U+062E U+0651 ;;SHADDA
-UL h > U+062E
-P h P h > U+062D U+0651 ;;SHADDA
-P h > U+062D
-V h V h > U+06C1 U+0651
-V h > U+06C1
-h h > U+200C U+06BE U+0651 ;;SHADDA
-h > U+200C U+06BE ; h always initial form
-V g V g > U+06AC U+0651 ;;SHADDA
-V g > U+06AC ; kaf with dot above
-P (g|x) P (g|x) > U+063A U+0651 ;;SHADDA
-P (g|x) > U+063A
-C g C g > U+063A U+0651 ;;SHADDA
-C g > U+063A
-g g > U+06AF U+0651 ;;SHADDA
-g > U+06AF
-G G > U+06AB U+0651 ;pashto ;;SHADDA
-G > U+06AB ;pashto
-P f P f > U+06A1 U+0651 ;;SHADDA
-P f > U+06A1
-f f > U+0641 U+0651 ;;SHADDA
-f > U+0641
-V d V d > U+0688 U+0651 ;urdu ;;SHADDA
-V d > U+0688 ;urdu
-C d C d > U+06EE ; not defined in ArabTeX U+0651 ;;SHADDA
-C d > U+06EE ; not defined in ArabTeX
-UL d UL d > U+0630 U+0651 ;;SHADDA
-UL d > U+0630
-P d P d > U+0636 U+0651 ;;SHADDA
-P d > U+0636
-d d > U+062F U+0651 ;;SHADDA
-d > U+062F
-(C|V) c (C|V) c > U+0686 U+0651 ;;SHADDA
-(C|V) c > U+0686
-P b P b > U+066E U+0651 ;;SHADDA
-P b > U+066E
-b b > U+0628 U+0651 ;;SHADDA
-b > U+0628
-Ain Ain > U+0639 U+0651 ;;SHADDA
-Ain > U+0639
-H > U+0626
-U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma
-Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash
-(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks
-[Digits] > [ArDigits]
-Z Z Z / # _ # > U+2014
-Z Z / # _ # > U+2013
-Z Z > U+0640
-B > U+0640
-Z / # _ > U+200D ; -x > force initial form with "zero-width joiner"
-Z / _ # > U+200D ; x- > force final form
-U+003C U+003C > U+00BB ;<<
-U+003E U+003E > U+00AB ;>>
-U+00AB > U+00BB
-U+00BB > U+00AB
-UL > U+0640 ;_
-U+003F > U+061F ;?
-U+003B > U+061B ;;
-U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above...
-U+002C > U+060C ;,
-U+005D / . _ . > U+200D U+005D U+200D ; keep shaping when inserting ...[...]...
-U+005B / . _ . > U+200D U+005B U+200D ; ... (but of course this screws up contextual analysis, so quoting of hamzas etc may be necessary)
-Q > ;
-N > ;
-C > ;^
-Z > ;-
-BAR > ;|
-
-
diff --git a/Master/texmf-dist/source/xelatex/arabxetex/arabtex-uighur.maps b/Master/texmf-dist/source/xelatex/arabxetex/arabtex-uighur.maps
deleted file mode 100644
index 27da35ca0d2..00000000000
--- a/Master/texmf-dist/source/xelatex/arabxetex/arabtex-uighur.maps
+++ /dev/null
@@ -1,281 +0,0 @@
-LHSName "ArabTeX-Uighur"
-RHSName "UNICODE"
-
-Define a U+0061 ;a
-Define b U+0062 ;b
-Define c U+0063 ;c
-Define d U+0064 ;d
-Define e U+0065 ;e
-Define f U+0066 ;f
-Define g U+0067 ;g
-Define h U+0068 ;h
-Define i U+0069 ;i
-Define j U+006A ;j
-Define k U+006B ;k
-Define l U+006C ;l
-Define m U+006D ;m
-Define n U+006E ;n
-Define o U+006F ;o
-Define p U+0070 ;p
-Define q U+0071 ;q
-Define r U+0072 ;r
-Define s U+0073 ;s
-Define t U+0074 ;t
-Define u U+0075 ;u
-Define v U+0076 ;v
-Define w U+0077 ;w
-Define x U+0078 ;x
-Define y U+0079 ;y
-Define z U+007A ;z
-Define A U+0041 ;A
-Define B U+0042 ;B
-Define E U+0045 ;E
-Define G U+0047 ;G
-Define I U+0049 ;I
-Define N U+004E ;N
-Define O U+004F ;O
-Define T U+0054 ;T
-Define U U+0055 ;U
-Define Y U+0059 ;Y
-Define C U+005E ;^ << CARET
-Define UL U+005F ;_ << UNDERLINE
-Define P U+002E ;. << DOT
-Define V U+002C ;, << COMMA (_V_irgule)
-Define CO U+003A ;: << COLON
-Define Ain U+0060 ;`
-Define H U+0027 ;' << HAMZA
-Define Q U+0022 ;" << QUOTE
-Define Z U+002D ;- << HYPHEN
-Define BAR U+007C ;|
-Define LLAH U+006C U+006C U+005F U+0061 U+0068
-
-pass(Unicode)
-
-Class [Digits] = (U+0030..U+0039)
-Class [ArDigits] = (U+0660..U+0669)
-
-
-; special ligatures
-;; 1. Standard ArabTeX input
-;; WARNING! there are, alas, two classes of Arabic fonts:
-;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2
-;; For these the ligature llah can be accessed by the sequence lam-lam-ha
-;; b) Those that do not have the initial alif in U+FDF2
-#0 (a|A) l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah'
-#1 (a|A) l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah'
-#0 LLAH > U+FDF2 ;; 'll_ah' > U+FDF2
-#1 LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h'
-;; UPPERCASE mnemonics for various ligatures or special glyphs
-;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode
-U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h'
-U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic
-;; 2b. Ligatures and glyphs defined in Unicode:
-#0 U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH'
-#1 U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH'
-#0 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH'
-#1 U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH'
-
-U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam
-U+0028 U+0028 > U+FD3F ;; '((' : ornate right par
-U+0029 U+0029 > U+FD3E ;; '))' : ornate left par
-U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign
-;; most fonts won't have the following ones:
-U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign)
-U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign
-U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR'
-U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD'
-U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM'
-U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL)'
-U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE)'
-U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM'
-U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA'
-U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu"
-U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik
-
-U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY
-U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY
-U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM
-U+005E U+004C U+0041 > U+06D9 ;; ^LA
-U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM
-U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS
-U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN
-U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB
-U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO
-U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO
-U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA
-
-U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::")
-
-;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts
-U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]]
-
-
-; vowels
-
-a / # _ > U+0626 U+0627
-a > U+0627
-(CO a|U+00E4) / # _ > U+0626 U+0647 U+200C
-(CO a|U+00E4) > U+0647 U+200C
-o / # _ > U+0626 U+0648 ;
-o > U+0648 ;
-(CO o|U+00F6) / # _ > U+0626 U+06C6
-(CO o|U+00F6) > U+06C6
-i / # _ # > U+0626 U+0649
-i / # _ > U+0626 U+066E
-i / _ # > U+0649
-i > U+066E
-e / # _ > U+0626 U+06D0
-e > U+06D0
-u / # _ > U+0626 U+06C7 ;
-u > U+06C7 ;
-(CO u|U+00FC) / # _ > U+0626 U+06C8 ;
-(CO u|U+00FC) > U+06C8 ;
-l Q a > U+0644 U+064E U+0627 ;
-l a > U+0644 U+0627 ;
-
-P z P z > U+0638 U+0651 ;;SHADDA
-P z > U+0638
-C z C z > U+0698 U+0651 ;;SHADDA
-C z > U+0698
-V z V z > U+0696 U+0651 ;pashto ;;SHADDA
-V z > U+0696 ;pashto
-z z > U+0632 U+0651 ;;SHADDA
-z > U+0632
-Y Y > U+0649 U+0651 ;;SHADDA
-Y > U+0649
-w w > U+06CB U+0651 ;;SHADDA
-w > U+06CB
-y y > U+064A U+0651 ;;SHADDA
-y > U+064A
-v v > U+06A4 U+0651 ;;SHADDA
-v > U+06A4
-V t V t > U+0679 U+0651 ; urdu ;;SHADDA
-V t > U+0679
-UL t UL t > U+062B U+0651 ;;SHADDA
-UL t > U+062B
-P t P t > U+0637 U+0651 ;;SHADDA
-P t > U+0637
-t t > U+062A U+0651 ;;SHADDA
-t > U+062A
-T T > U+0629 U+0651 ;;SHADDA
-T > U+0629
-C s C s > U+0634 U+0651 ;;SHADDA
-C s > U+0634
-P s P s > U+0635 U+0651 ;;SHADDA
-P s > U+0635
-V s V s > U+069A U+0651 ;Pashto ;;SHADDA
-V s > U+069A ;Pashto
-CO s > U+069B ; sin with 3 dots below
-s s > U+0633 U+0651 ;;SHADDA
-s > U+0633
-C r C r > U+0692 U+0651 ;Kurdish ;;SHADDA ; missing in ArabTeX <<<
-C r > U+0692
-P r P r > U+0695 U+0651 ;Kurdish ;;SHADDA
-P r > U+0695
-V r V r > U+0691 U+0651 ;Urdu ;;SHADDA
-V r > U+0691 ;Urdu
-r r > U+0631 U+0651 ;;SHADDA
-r > U+0631
-P q P q > U+066F U+0651 ;;SHADDA
-P q > U+066F
-q q > U+0642 U+0651 ;;SHADDA
-q > U+0642
-p p > U+067E U+0651 ;;SHADDA
-p > U+067E
-C n C n > U+06AD U+0651 ;;SHADDA
-C n > U+06AD
-P n P n > U+06BA U+0651 ; urdu ;;SHADDA
-P n > U+06BA ;
-V n V n > U+06BC U+0651 ; Pashto
-V n > U+06BC ; Pashto
-n n > U+0646 U+0651 ;;SHADDA
-n > U+0646
-m m > U+0645 U+0651 ;;SHADDA
-m > U+0645
-C l C l > U+06B5 U+0651 ;kurdish ;;SHADDA
-C l > U+06B5
-l l > U+0644 U+0651 ;;SHADDA
-l > U+0644
-P k P k > U+06A9 U+0651 ; pashto urdu ;;SHADDA
-P k > U+06A9
-UL k UL k > U+063A U+0651 ;;SHADDA
-UL k > U+063A
-k k > U+0643 U+0651 ;;SHADDA
-k > U+0643
-j j > U+062C U+0651 ;;SHADDA
-j > U+062C
-x x > U+062E U+0651 ;;SHADDA
-x > U+062E
-UL h UL h > U+062E U+0651 ;;SHADDA
-UL h > U+062E
-P h P h > U+062D U+0651 ;;SHADDA
-P h > U+062D
-V h V h > U+06C1 U+0651
-V h > U+06C1
-h h > U+0647 U+0651 ;;SHADDA
-h > U+0647
-V g V g > U+06AC U+0651 ;;SHADDA
-V g > U+06AC ; kaf with dot above
-P g P g > U+063A U+0651 ;;SHADDA
-P g > U+063A
-C g C g > U+063A U+0651 ;;SHADDA
-C g > U+063A
-g g > U+06AF U+0651 ;;SHADDA
-g > U+06AF
-G G > U+06AB U+0651 ;pashto ;;SHADDA
-G > U+06AB ;pashto
-P f P f > U+06A1 U+0651 ;;SHADDA
-P f > U+06A1
-f f > U+0641 U+0651 ;;SHADDA
-f > U+0641
-V d V d > U+0688 U+0651 ;urdu ;;SHADDA
-V d > U+0688 ;urdu
-C d C d > U+06EE ; not defined in ArabTeX U+0651 ;;SHADDA
-C d > U+06EE ; not defined in ArabTeX
-UL d UL d > U+0630 U+0651 ;;SHADDA
-UL d > U+0630
-P d P d > U+0636 U+0651 ;;SHADDA
-P d > U+0636
-d d > U+062F U+0651 ;;SHADDA
-d > U+062F
-V c V c > U+0685 U+0651 ;pashto ;;SHADDA
-V c > U+0685
-C c C c > U+0686 U+0651 ;;SHADDA
-C c > U+0686
-c c > U+0681 U+0651
-c > U+0681 ; ح with hamza above
-P b P b > U+066E U+0651 ;;SHADDA
-P b > U+066E
-b b > U+0628 U+0651 ;;SHADDA
-b > U+0628
-Ain Ain > U+0639 U+0651 ;;SHADDA
-Ain > U+0639
-H > U+0626
-U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma
-Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash
-(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks
-[Digits] > [ArDigits]
-Z Z Z / # _ # > U+2014
-Z Z / # _ # > U+2013
-Z Z > U+0640
-B > U+0640
-Z / # _ > U+200D ; -x > force initial form with "zero-width joiner"
-Z / _ # > U+200D ; x- > force final form
-U+003C U+003C > U+00BB ;<<
-U+003E U+003E > U+00AB ;>>
-U+00AB > U+00BB
-U+00BB > U+00AB
-UL > U+0640 ;_
-U+003F > U+061F ;?
-U+003B > U+061B ;;
-U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above...
-U+002C > U+060C ;,
-U+005D / . _ . > U+200D U+005D U+200D ; keep shaping when inserting ...[...]...
-U+005B / . _ . > U+200D U+005B U+200D ; ... (but of course this screws up contextual analysis, so quoting of hamzas etc may be necessary)
-Q > ;
-N > ;
-C > ;^
-Z > ;-
-BAR > ;|
-
-
diff --git a/Master/texmf-dist/source/xelatex/arabxetex/arabtex.maps b/Master/texmf-dist/source/xelatex/arabxetex/arabtex.maps
index cc7dec079ba..ffbbb54846a 100644
--- a/Master/texmf-dist/source/xelatex/arabxetex/arabtex.maps
+++ b/Master/texmf-dist/source/xelatex/arabxetex/arabtex.maps
@@ -114,7 +114,7 @@ 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 LLAH U+006C U+006C U+005F U+0061 U+0068 ; ll_ah
;Define NUL U+00A6;
Define Ha U+0623
Define Hi U+0625
@@ -151,24 +151,16 @@ Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z)
; special ligatures
;; 1. Standard ArabTeX input
-;; WARNING! there are, alas, two classes of Arabic fonts:
-;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2
-;; For these the ligature llah can be accessed by the sequence lam-lam-ha
-;; b) Those that do not have the initial alif in U+FDF2
+;; FDF2 is just used as temporary holder, and is converted back to ligature lam lam hah later (to be taken care of by the font)
+#Af Z (a|A) l Z LLAH > U+0671 U+FDF2 ;; '-al-ll_ah' or '-Al-ll_ah'
;; The BAR is used in the DMG transliteration to suppress the initial A
-#0 (a|A) BAR? l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah'
-#1 (a|A) BAR? l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah'
-#0 LLAH > U+FDF2 ;; 'll_ah' > U+FDF2
-#1 LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h'
+(a|A) BAR? l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah'
+LLAH > U+FDF2 ;; '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+004C U+004C U+0048 > U+FDF2 ;; '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'
+U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+0644 U+0644 U+0647 ; 'ALLAH'
+U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH'
U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam
U+0028 U+0028 > U+FD3F ;; '((' : ornate right par
@@ -213,8 +205,8 @@ 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]]
+;; This is to enclose digits within glyph U+06DD
+U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+06DD @dig ; [[digits]]
; vowels
@@ -715,13 +707,13 @@ UL a > U+0670
#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 Q AN > U+064B U+0627
#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 AN > U+064B U+0627
#v Q a >
#v a > U+064E
#v Q A > U+0627
@@ -781,5 +773,6 @@ BAR > ;|
#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
+U+FDF2 > U+0644 U+0644 U+0647 ;
#f Q > ;
#v Z > ;
diff --git a/Master/texmf-dist/source/xelatex/arabxetex/arabxetex.dtx b/Master/texmf-dist/source/xelatex/arabxetex/arabxetex.dtx
index 513dc3081cd..dbcaca303db 100644
--- a/Master/texmf-dist/source/xelatex/arabxetex/arabxetex.dtx
+++ b/Master/texmf-dist/source/xelatex/arabxetex/arabxetex.dtx
@@ -2,7 +2,7 @@
%
%!TEX encoding = UTF-8 Unicode
%
-% Copyright © 2007-2010 by François Charette <firmicus at gmx dot net>
+% Copyright © 2007-2015 by François Charette <firmicus04 at gmail dot com>
%
% Distributable under the LaTeX Project Public License,
% version 1.3c or higher (your choice). The latest version of
@@ -24,14 +24,14 @@
____________________________
The arabxetex package
- © 2007–2010 François Charette
+ © 2007–2015 François Charette
License information appended
\endpreamble
\postamble
-Copyright © 2007–2010 by François Charette <firmicus at gmx dot net>
+Copyright © 2007–2015 by François Charette <firmicus04 at gmail dot com>
Distributable under the LaTeX Project Public License,
version 1.3c or higher (your choice). The latest version of
@@ -69,7 +69,7 @@ as well as an extensive collection of TECKit files
%
%<*readme>
--------------------------
-THE ARABXETEX PACKAGE v1.1.4
+THE ARABXETEX PACKAGE v1.2.1
This package provides a convenient ArabTeX-like user-interface for typesetting
languages using the Arabic script in XeLaTeX, with flexible access to font
@@ -84,7 +84,7 @@ The TECkit fontmapping files (*.map and *.tec) should be copied to
-------------------------
François Charette
-© 2007–2010
+© 2007–2015
%</readme>
%
% \fi
@@ -94,7 +94,7 @@ François Charette
%
% \GetFileInfo{\jobname.sty}
%
-% \title{~\hfil {\color{IslamicGreen}\arabxetex \hfil \arabxetexAr}\hfil~\\
+% \title{~\hfil {\color{IslamicGreen}\arabxetex}\hfil~\\
% An \arabtex-like interface for typesetting languages in Arabic script with \XeLaTeX}
% \author{François Charette}
% \date{\filedate \qquad \fileversion}
@@ -119,7 +119,10 @@ François Charette
%
% \section{Introduction}
%
-% Since the early 1990s, \TeX\ users who wished to typeset in Arabic script
+%
+% Since the early 1990s,\footnote{ ^^A
+% This introduction reflects the state of things in 2007 when \arabxetex\ was initially released.}
+% \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
@@ -144,18 +147,6 @@ François Charette
% (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/}}
@@ -166,10 +157,9 @@ François Charette
%
% 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
+% modern font-rendering technology, 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.}
+% \url{http://xetex.sourceforge.net}.}
%
% \section{Description}
%
@@ -184,12 +174,7 @@ François Charette
% \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}.
+% which contains the macros necessary for bidirectional typesetting.
%
% Languages supported at present are the same as in \arabtex, namely: Arabic,
% Maghribi Arabic, Farsi (Persian), Urdu, Sindhi, Kashmiri, Ottoman Turkish,
@@ -206,14 +191,14 @@ François Charette
% 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:
+% virtues of \arabtex\ \ASCII\ encoding:\footnote{ ^^A
+% \url{http://search.cpan.org/~smrz/Encode-Arabic/lib/Encode/Arabic/ArabTeX.pm\#DESCRIPTION}.
+% See also \url{http://ufal.mff.cuni.cz/~smrz/ICFP2006/icfp-encode.pdf}.}
% \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}
+% expressive power of which is even better than that of the scripts.”
% \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
@@ -233,7 +218,7 @@ François Charette
% \DescribeMacro{\textarab}\DescribeMacro{\textfarsi}\marginpar{\raggedleft\small etc.}
% where ¦<language>¦ is one of the following (alternative names are given in brackets):
% \begin{compactitem}[\textbf{·}]
-% \item ¦arab¦ (¦Arabic¦),\footnote{ ^^A
+% \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
@@ -276,11 +261,7 @@ François Charette
%
% Left-to-right insertions in Latin script within an Arabic environment
% can be made by means of the \DescribeMacro{\textLR}
-% command \cmd\textLR¦{…}¦.\new{1.1.2}\footnote{ %
-% In version 1.0 this was called \cmd\textlatin, which was renamed \cmd\textroman
-% in version 1.1. But the former conflicted with \pkg{Babel},
-% and the latter with \pkg{Beamer}. Hopefully \cmd\textLR\
-% won't be as short-lived!}
+% command \cmd\textLR¦{…}¦.
% Emphasis in Arabic is traditionally indicated by
% overlining the text, and this can be achieved with the command
% \DescribeMacro{\aemph}
@@ -316,15 +297,17 @@ François Charette
% \newfontfamily\arabicfont[Script=Arabic]{<fontname>}
% \end{Verbatim}
% If not, then a warning is issued and \arabxetex\ will attempt to load
-% the font \textbf{Scheherazade} (designed by Bob Halissy and
-% Jonathan Kew of SIL International).\footnote{
-% Available from \url{http://scripts.sil.org/ArabicFonts}. For
+% the font \textbf{Amiri} (by Khaled Hosny).\footnote{
+% Available from \url{http://www.amirifont.org}.
+% Prior to version 1.2.0, the default font was \textbf{Scheherazade} (designed by Bob Halissy and
+% Jonathan Kew of SIL International),
+% available from \url{http://scripts.sil.org/ArabicFonts}. For
% typesetting Sindhi and Kashmiri, the font \textbf{Lateef}, available at
% the same place, is also recommended.}
-% You can also define specific fonts \new{1.1} for all other languages, by similarly defining
+% You can also define specific fonts for all other languages, by similarly defining
% ¦\<language>font¦, such as for example:
% \begin{Verbatim}[gobble=2,fontsize=\normalsize]
-% \newfontfamily\urdufont[Script=Arabic]{Nafees Pakistani Naskh}
+% \newfontfamily\urdufont[Script=Arabic]{Hussaini Nastaleeq}
% \end{Verbatim}
% So for example if the \cmd\texturdu\ command or the ¦urdu¦ environment is used,
% \arabxetex\ will use the \cmd\urdufont\ if it is defined,
@@ -350,7 +333,7 @@ François Charette
% ^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
+% taw'am, yas'alu, 'a.sdiq^A'uh_u, ya^g^I'u, s^U'ila
% \end{arab}
% \end{Verbatim}
%
@@ -361,7 +344,7 @@ François Charette
% ^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
+% taw'am, yas'alu, 'a.sdiq^A'uh_u, ya^g^I'u, s^U'ila
% \end{arab}
%
% \subsubsection{Special orthographies}
@@ -386,7 +369,7 @@ François Charette
% \bigskip
%
% \textbf{NB}: For the time being only \textit{miʾa} is supported, but more irregular
-% constructs should be added in later versions.
+% constructs may be added in later versions.
%
% \subsubsection{Typesetting the Holy Qurʾān}
%
@@ -395,62 +378,64 @@ François Charette
% typesetters. Nevertheless, with Open Type fonts that cover the full Unicode range
% for the Arabic script, it is possible to achieve pretty decent results.
% The following examples represent my attempt to reproduce, with the font
-% Scheherazade, the various typographic features of a typical printed edition
-% from Saudi Arabia.
+% Amiri, the various typographic features of a typical printed edition (disregarding those that cannot be achieved
+% by means of Unicode, such as putting the \textit{hamza} directly over the baseline).\footnote{ ^^A
+% In the previous version of the manual, I attempted to mimic that behaviour with a \TeX\ macro \cmd\hamzaB, which happened to work more or less well with the font Scheherazade. With Amiri it does not and I have reverted to standard spellings.}
%
-% In printed Qurʾāns, one frequently encounters typographical oddities that are
-% not taken into account by Unicode, such as the \textit{hamza} placed directly over
-% the baseline instead as over the \textit{alif}.
-% But with a \TeX\ macro it is possible to emulate this rather well:
+% ^^AIn printed Qurʾāns, one frequently encounters typographical oddities that are
+% ^^Anot taken into account by Unicode, such as the \textit{hamza} placed directly over
+% ^^Athe baseline instead as over the \textit{alif}.
+% ^^ABut with a \TeX\ macro it is possible to emulate this rather well:
%
% \begin{Verbatim}[gobble=2,fontsize=\small]
-% \newcommand{\hamzaB}{\char"200D\char"0640\raise-.95ex\hbox{\char"0654}\char"200D}
-%
% \begin{arab}[fullvoc]
-% mina 'l-qur'Ani 'l-karImi, sUraTu 'l-ssajdaTi 15--16:
+% sUraTu 'l-ssajdaTi, 15--16:
%
-% 'innamA yu'minu bi-\hamzaB a|"Ay___atinA 'lla_dIna 'i_dA _dukkirUA bihA
+% 'innamA yu'minu bi-'AyAtinA 'lla_dIna 'i_dA _dukkirUA bihA
% _harrUA sujjadaN wa-sabba.hUA bi-.hamdi rabbihim wa-hum lA yastakbirUna
% SAJDA [[15]] tatajAfY_a junUbuhum `ani 'l-ma.dAji`i yad`Una rabbahum
% _hawfaN wa-.tama`aN wa-mimmA razaqn_ahum yunfiqUna [[16]]
% \end{arab}
%
% \begin{arab}[fullvoc]
-% sUraTu 'l-baqaraTi 71--72:
+% 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
+% tasq.I 'l-.har_ta musallamaTuN llA ^siyaTa fIhA|^JIM qAluW" 'l-'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
+% qataltum nafsaN fa-udda_ara|'|_i"tum fIhA|^SLY wa-al-ll_ahu mu_hrijuN mmA
% kun"tum taktumUna [[72]]
% \end{arab}
% \end{Verbatim}
-%
+% ^^A\let\stdarabicfont\arabicfont
+% ^^A\let\arabicfont\amiriquran
% \begin{arab}[fullvoc]
-% mina 'l-qur'Ani 'l-karImi, sUraTu 'l-ssajdaTi 15--16:
+% sUraTu 'l-ssajdaTi, 15--16:
%
-% 'innamA yu'minu bi-\hamzaB a|"Ay___atinA 'lla_dIna 'i_dA _dukkirUA bihA _harrUA
-% sujjadaN wa-sabba.hUA bi-.hamdi rabbihim wa-hum lA yastakbirUna SAJDA [[15]]
-% tatajAfY_a junUbuhum `ani 'l-ma.dAji`i yad`Una rabbahum _hawfaN wa-.tama`aN
-% wa-mimmA razaqn_ahum yunfiqUna [[16]]
+% 'innamA yu'minu bi-'AyAtinA '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}
-%
+%
+% \bigskip
% \begin{arab}[fullvoc]
-% sUraTu 'l-baqaraTi 71--72:
+% 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
+% tasq.I 'l-.har_ta musallamaTuN llA ^siyaTa fIhA|^JIM qAluW" 'l-'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
+% qataltum nafsaN fa-udda_ara|'|_i"tum fIhA|^SLY wa-al-ll_ahu mu_hrijuN mmA
% kun"tum taktumUna [[72]]
% \end{arab}
-%
+% ^^A\let\arabicfont\stdarabicfont
% \subsubsection{Farsi}
%
% These are some of the Persian examples in the \arabtex\ documentation,
-% typeset with the font Simple Farsi Bold:
+% typeset with the font IranNastaliq:\footnote{ ^^A
+% \url{http://www.scict.ir/portal/File/ShowFile.aspx?ID=29bc4b98-bfd0-428d-b56b-63e36de8c9b5}}
% \begin{Verbatim}[gobble=2,fontsize=\normalsize]
-% \begin{farsi}[voc]
+% \begin{farsi}[novoc]
% _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,
@@ -461,7 +446,7 @@ François Charette
% \end{farsi}
% \end{Verbatim}
%
-% \begin{farsi}[voc]
+% \begin{farsi}[novoc]
% _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,
@@ -473,8 +458,9 @@ François Charette
%
% \subsubsection{Urdu}
%
-% An Urdu example, typeset with Nafees Pakistani Naskh:\footnote{ ^^A
-% The example is borrowed from
+% An Urdu example, typeset with Hussaini Nastaleeq:\footnote{ ^^A
+% \url{https://github.com/khaledhosny/hussaini-nastaleeq}.
+% The example is borrowed from
% \url{http://tabish.freeshell.org/u-trans/urducode.html}}
% \begin{Verbatim}[gobble=2,fontsize=\normalsize]
% \begin{urdu}[novoc]
@@ -501,127 +487,12 @@ François Charette
% \renewcommand{\urdufont}{\arabicfont}
% \renewcommand{\farsifont}{\arabicfont}
%
-% \subsection{Special considerations}
-% \parindenton
-% \subsubsection{The name of God} \label{allahliga}
-%
-% The glyph \textsf{FDF2}, defined as ‘\textsc{arabic ligature allah isolated form}’
-% by the Unicode Consortium, is a source of great confusion.
-% It is displayed in the Unicode Book with an initial alif and thus represents the
-% name of God, Allāh, which in Arabic is always written as a special ligature
-% (\ie {\tradarabic اﷲ} and not {\arabicfont الله}).\footnote{ ^^A
-% The glyph {\tradarabic اﷲ} is taken from the font Traditional Arabic.
-% In Scheherazade its design is rather suboptimal: {\arabicfont\char"FDF2}.}
-%
-% However, a substantial portion of real-world fonts rather represent that
-% ligature \textit{without} the initial alif.\footnote{ ^^A
-% My research on Arabic fonts available or known to me yields the following picture:
-% The fonts that do not display the initial alif in the ligature \textsf{FDF2}
-% include those provided by \href{http://www.linotype.com/2517/arabicfonts.html}{Linotype};
-% the great majority of those licensed to or developed by
-% \href{http://www.microsoft.com/typography/links/FontPortal.aspx?PID=8}{Microsoft}
-% (I could verify it for Times New Roman, Arial, Courier New, Microsoft Sans Serif,
-% Arabic Transparent, Simplified Arabic, Simplified Arabic Fixed,
-% WinSoft Serif Pro, Traditional Arabic, Andalus, Old Antic Bold,
-% Old Antic Decorated and Farsi Simple Bold); the fonts distributed by
-% \href{http://www.arabeyes.org}{Arabeyes.org};
-% \href{http://scripts.sil.org/ArabicFonts}{SIL}'s Lateef;
-% and the fonts developed by \href{www.crulp.org}{CRULP} in Pakistan.
-% The Unicode-conformant fonts, on the other hand, are:
-% \href{http://scripts.sil.org/ArabicFonts}{SIL}'s Scheherazade,
-% \href{http://www.tdc.org/news/2006Results/AdobeArabic.html}{Adobe Arabic}
-% (distributed with the \href{http://www.adobe.com/ceea/}{Middle-Eastern version}
-% of the latest \href{http://www.adobe.com/products/acrobat/readermain.html}{Adobe Reader 7}),
-% Arial Unicode MS, and \href{http://sakkal.com/type/typesetting.html}{Arabic Typesetting}
-% (distributed with \href{http://www.microsoft.com/typography/VOLT.mspx}{VOLT}
-% and with \href{http://www.microsoft.com/office/editions/prodinfo/language/proofingtools.mspx}{Microsoft Office Proofing Tools 2003}).}
-% The confusion probably has to do with Unicode’s omission to include the ALLAH
-% ligature without the initial alif, which is imperatively required for typesetting
-% expressions like \textit{al-ḥamdu li-llāh} \RL{\tradarabic الحمد ﷲ}.
-% Many fonts code the ligature {\tradarabic ﷲ} in the Private Use Area
-% and make it accessible as a default ligature for the sequence \textit{lām-lām-hāʾ}.
-% In such a case it can be generated from the input ¦\textarab{l|lh}¦
-% (the vertical bar here tells \arabxetex\ not to interpret the sequence ¦ll¦
-% as \textit{lām} with \textit{shadda}).\footnote{ ^^A
-% This currently does not work with Scheharazade, but the
-% developers are aware of the issue.}
-% Besides not being a standard \arabtex\ input sequence, the trouble is that
-% there is no way to know a priori whether the font provides the glyph {\tradarabic ﷲ}
-% at all, and whether it is defined as a default ligature from the above input.
-%
-% To solve this problem with \arabxetex, we had no choice but provide two classes of
-% font mappings, one for each of the above two categories of Arabic fonts.\footnote{ ^^A
-% This has the unfortunate consequence of doubling the number of mappings shipped
-% with \arabxetex. But since their size is small, it is more an esthetic annoyance
-% than a practical one.}
-% By default we assume the canonical situation where \textsf{U+FDF2} corresponds to
-% {\tradarabic اﷲ}, but the user can change this by choosing one of the package options
-% ¦fdf2alif¦ or ¦fdf2noalif¦; it can also be changed locally by means of the commands
-% \DescribeMacro{\SetAllahWithAlif}
-% \DescribeMacro{\SetAllahWithoutAlif}
-% \cmd\SetAllahWithAlif\ and \cmd\SetAllahWithoutAlif\ \textit{before} making use of
-% \cmd\arabicfont. In a future version we might perhaps implement a database of Arabic fonts
-% within \arabxetex, so that this would work automatically in the most common cases.
-%
-% The font Adobe Arabic has in addition the ligature \textit{fa-li-llāh}:
-% \textit{fā fatḥa lām kasra lām hāʾ} $\rightarrow$ {\adobearabic فَلِله}, which can be
-% entered in \arabtex\ notation as ¦\textarab{falilh}¦. In this particular case we also
-% provide the input convention ¦FALILLAH¦.
-%
-%
-% ^^ATEST Scheherazade: \textarab{l|lh}
-% ^^A
-% ^^A\renewcommand{\arabicfont}{\tradarabic}
-% ^^ATEST Trad Arabic: \textarab{l|lh}
-%
-% ^^ALinotype: \\
-% ^^ALotus Linotype {\lotusfont\char"FDF2} ---
-% ^^AAlHarfAlJadid Linotype One {\fontspec[Scale=1.5]{AlHarfAlJadid Linotype One}\char"FDF2} ---
-% ^^AAlHarfAlJadid Linotype Two {\fontspec[Scale=1.5]{AlHarfAlJadid Linotype Two}\char"FDF2} ---
-% ^^AMariam Linotype {\fontspec[Scale=1.5]{Mariam Linotype}\char"FDF2} ---
-% ^^AQadi Linotype {\fontspec[Scale=1.5]{Qadi Linotype}\char"FDF2}
-% ^^A
-% ^^AFonts from or licensed to Microsoft: \\
-% ^^ATimes New Roman {\fontspec[Scale=1.5]{Times New Roman}\char"FDF2} ---
-% ^^AArial {\fontspec[Scale=1.5]{Arial}\char"FDF2} ---
-% ^^ACourier New {\fontspec[Scale=1.5]{Courier New}\char"FDF2} ---
-% ^^AMicrosoft Sans Serif {\fontspec[Scale=1.5]{Microsoft Sans Serif}\char"FDF2} ---
-% ^^AArial Unicode MS {\arialuni\char"FDF2} ---
-% ^^AArabic Transparent {\fontspec[Scale=1.5]{Arabic Transparent}\char"FDF2} ---
-% ^^ASimplified Arabic {\fontspec[Scale=1.5]{Simplified Arabic}\char"FDF2} ---
-% ^^ASimplified Arabic Fixed {\fontspec[Scale=1.5]{Simplified Arabic Fixed}\char"FDF2} ---
-% ^^AWinSoft Serif Pro {\fontspec[Scale=1.5]{WinSoft Serif Pro}\char"FDF2} ---
-% ^^ATraditional Arabic {\fontspec[Scale=1.5]{Traditional Arabic}\char"FDF2} ---
-% ^^AArabic Typesetting {\arabtype\char"FDF2} ---
-% ^^AAndalus {\fontspec[Scale=1.5]{Andalus}\char"FDF2} ---
-% ^^AOld Antic Bold {\fontspec[Scale=1.5]{Old Antic Bold}\char"FDF2} ---
-% ^^AFarsi Simple Bold {\fontspec[Scale=1.5]{Farsi Simple Bold}\char"FDF2}
-% ^^A
-% ^^A
-% ^^AAdobe:\\
-% ^^AAdobe Arabic {\adobearabic\char"FDF2} ---
-% ^^A
-% ^^ASIL: \\
-% ^^AScheherazade {\arabicfont\char"FDF2} ---
-% ^^ALateef {\fontspec{Lateef}\char"FDF2}
-% ^^A
-% ^^A%CRULP:\\
-% ^^A%Nafees Nastaleeq {\fontspec{Nafees Nastaleeq}\char"FDF2} ---
-% ^^A%{\fontspec{Nafees Pakistani Naskh}\char"FDF2}
-% ^^A
-% ^^AArabeyes:\\
-% ^^AKacstBook {\fontspec{KacstBook}\char"FDF2}
-% ^^AKacstFarsi {\fontspec{KacstFarsi}\char"FDF2}
-%
-%
-%
-%
% \subsection{Transliteration}
%
% At the moment transliteration mappings are provided for Arabic, Persian, Urdu,
% Sindhi and Pashto. The rest may be provided in a future version.
% As a rule the default conventions provided are those of the Library of Congress.
-% \new{1.1.2}For Arabic the alternative transliteration of the
+% For Arabic the alternative transliteration of the
% \href{http://www.orientasia.info/download/arab_trans.pdf}{Deutsche Morgenländische Gesellschaft}
% is also available (but should be still considered experimental).
% You can set it with the command \DescribeMacro{\SetTranslitConvention}
@@ -648,10 +519,7 @@ François Charette
% \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.}
-%
+% the font-mapping, it is necessary that the font contains all required glyphs.
% ^^AIf your default roman font does not have the required
% ^^Adiacritics, you can declare for instance
% ^^A¦\SetTranslitStyle{\fontspec{Gentium}\itshape}¦.
@@ -939,7 +807,7 @@ François Charette
% ^^A06BC -> 0646 0631
% ^^A0689 -> 0688
% ^^A
-%
+% \newpage
% \section{Unicode-Encoding concordance}
% \parindent 0pt
% \let\oldbaselineskip=\baselineskip
@@ -1217,134 +1085,32 @@ François Charette
% \textsf{076A} \> {\arabicfont\char"076A} \\
% \textsf{076B} \> {\arabicfont\char"076B} \\
% \textsf{076C} \> {\arabicfont\char"076C} \\
-% \textsf{076D} \> {\arabicfont\char"076D} \\
-% \textbf{Presentation Forms} * \\
+% \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{FDF0} \> {\arabicfont\char"FDF0} \> ¦SALLASTOP¦ \\
+% \textsf{FDF1} \> {\arabicfont\char"FDF1} \> ¦QALA¦ \\
+% \textsf{FDF3} \> {\arabicfont\char"FDF3} \> ¦AKBAR¦ \\
+% \textsf{FDF4} \> {\arabicfont\char"FDF4} \> ¦MUHAMMAD¦ \\
+% \textsf{FDF5} \> {\arabicfont\char"FDF5} \> ¦SALAM¦ \\
+% \textsf{FDF6} \> {\arabicfont\char"FDF6} \> ¦RASUL¦ or ¦RASOUL¦ \\
+% \textsf{FDF7} \> {\arabicfont\char"FDF7} \> ¦ALAYHI¦ or ¦ALAYHE¦ \\
+% \textsf{FDF8} \> {\arabicfont\char"FDF8} \> ¦WASALLAM¦ \\
+% \textsf{FDF9} \> {\arabicfont\char"FDF9} \> ¦SALLA¦ \\
+% \textsf{FDFA} \> {\arabicfont\char"FDFA} \> ¦SLM¦ \\
+% \textsf{FDFB} \> {\arialuni\char"FDFB} \> ¦JALLA¦ \\ ^^A fixme not available in Amiri
% \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¦ ***
+% \textsf{FDFD} \> {\arabicfont\char"FDFD} \>\hspace*{100pt} ¦BASMALA¦ \\
+% \textbf{Special Combinations} \\
+% \> {\arabicfont الله} \> ¦al-ll_ah¦ or ¦ALLAH¦ \\
+% \> {\arabicfont لله} \> ¦ll_ah¦ or ¦LLAH¦ or ¦LLH¦ \\
+% \> {\arabicfont فَلِله} \> ¦FALILLAH¦
% \end{tabbing}
% \end{multicols}
% \parindentoff
%
-% \baselineskip 14pt
-% \textit{Notes}\\
-% * Since most of these glyphs are not present in Scheherazade
-% (and, with a few exceptions, are very rarely featured in other fonts),
-% for illustration purposes we have taken \textsf{FDF0}, \textsf{FDF1},
-% \textsf{FDF3}--\textsf{FDF9} and \textsf{FDFB} from Arial Unicode MS,
-% \textsf{FDFA} from Adobe Arabic, and \textsf{FDFD} from AGA Arabesque.
-%
-% ** See §~\ref{allahliga}
-%
-% *** Specific to the font Adobe Arabic
-%
-% \newpage
-% \appendix
-% \small
-% \section{Notes on available free and commercial fonts for the Perso-Arabic script}
-% \label{arabicfont}
-%
-% \textcolor{red}{NB: This list is incomplete and has not been updated since 2007.}
-%
-% ^^AThere are few free good quality fonts that support the Arabic script.
-% \begin{compactitem}[\textbf{·}]
-% \item ‘Scheherazade’ and ‘Lateef’ from SIL
-%
-% \item ‘Adobe Arabic’
-%
-% \item Free fonts from \href{http://www.arabeyes.org}{Arabeyes.org}
-%
-% \item \ldots
-%
-% ^^AAdobe Arabic, dlig: (discretionary ligatures)
-% ^^A
-% ^^Aﻓ َ ﻠ ِ ﻠ ﻪ falilh > uni0641064E0644065006440647
-% ^^A
-% ^^Aﻟ ﻠ ﻪ l-l-h > uni064406440647
-% ^^A
-% ^^AA-l-l-h > FDF2
-%
-% \item Arabic fonts on Mac~OS~X: ‘Geeza Pro’, ‘DecoType Naskh’, \ldots more?
-%
-% \item ‘Arabic Typesetting’ and other Arabic fonts licensed to Microsoft
-%
-% \item Commercial fonts by vendors:
-% \begin{compactitem}[\textbf{--}]
-% \item Linotype GmbH: \ldots
-% \item AGFA Monotype: \ldots
-% \item ParaType: \ldots
-% \item \ldots
-% \end{compactitem}
-% \end{compactitem}
-%
-%
-%
-% \section{Recommended Unicode fonts for transliterating Oriental languages}
-% \label{latinextfonts}
-%
-% Here follows a list of open source and freeware fonts with full
-% \textsc{Latin Extended Additional} coverage.\footnote{ ^^A
-% See this \href{http://www.alanwood.net/unicode/fonts.html\#general}{webpage} for more details.}
-% \textcolor{red}{NB: This list has not been updated since 2007.}
-% \begin{compactitem}[\textbf{·}]
-% \item Gentium, Doulos, Charis: \url{http://scripts.sil.org/FontDownloads}
-%
-% \item Junicode: \url{http://junicode.sourceforge.net/}
-%
-% \item Libertine: \url{http://linuxlibertine.sourceforge.net/}
-%
-% \item DejaVu Serif / Sans / Sans Mono: \url{http://dejavu.sourceforge.net/wiki/index.php/Main_Page}
-%
-% \item Lucida Grande: Mac~OS~X
-%
-% \item TITUS Cyberbit Basic: \url{http://titus.fkidg1.uni-frankfurt.de/unicode/tituut.asp}
-%
-% \item Thryomanes: \url{ftp://ftp.io.com/pub/usr/hmiller/fonts/Thryomanes12.zip}
-%
-% \item jGaramond: \url{http://www.janthor.de/jGaramond/}
-%
-% \item Everson Mono Unicode (shareware): \url{http://www.evertype.com/emono/}
-%
-% \item Arial Unicode MS: Windows
-%
-% \item Microsoft Sans Serif: Windows
-%
-% \item FreeSerif / FreeSans / FreeMono: \url{http://savannah.nongnu.org/projects/freefont/}
-%
-% \item Roman Unicode: \url{http://everywitchway.net/linguistics/fonts/roman.html}
-%
-% \item Chrisanthi Unicode: \url{http://everywitchway.net/linguistics/fonts/chrysuni.html}
-%
-% \item HindSight Unicode (not very nice): \url{http://dartcanada.tripod.com/Objets/Zips/HindUnic.zip}
-%
-% \item AbRoman: \url{http://www.languagegeek.com/font/fontdownload.html}
-%
-% \item Garava: \url{http://www.aimwell.org/Fonts/fonts.html}
-%
-% \item Verajja (based on Bitstream Vera Sans, so very similar to DejaVu Sans):
-% \url{http://www.aimwell.org/Fonts/fonts.html}
-%
-% \item Legendum: \url{http://home.kabelfoon.nl/~slam/fonts/fonts.html}
-%
-% \item Code2000 (shareware): \url{http://www.code2000.net}
-% \end{compactitem}
-%
%
% \section{Implementation}
%\iffalse
@@ -1353,18 +1119,18 @@ François Charette
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{arabxetex}
- [2010/03/04 v1.1.4 ArabTeX-like interface for XeLaTeX]
+ [2015/09/04 v1.2.1 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}}
+\DeclareOption{fdf2alif}{} % deprecated
+\DeclareOption{fdf2noalif}{} % deprecated
\newif\ifmirror@punct\mirror@punctfalse
\DeclareOption{mirrorpunct}{\mirror@puncttrue}
-\ExecuteOptions{novoc,fdf2alif}
+\ExecuteOptions{novoc}
\ProcessOptions
\def\ax@mode@fullvoc{fullvoc}
\def\ax@mode@voc{voc}
@@ -1383,14 +1149,14 @@ François Charette
\RequirePackage{fontspec}
\RequirePackage{bidi}
\AtBeginDocument{\ifdefined\arabicfont\relax\else
- \PackageWarning{arabxetex}{\string\arabicfont\ is not defined!^^JI will try to load Scheherazade (scaled 1.5)}%
- \newfontfamily\arabicfont[Script=Arabic,Scale=1.5]{Scheherazade}\fi}%
+ \PackageWarning{arabxetex}{\string\arabicfont\ is not defined!^^JI will try to load Amiri}%
+ \newfontfamily\arabicfont[Script=Arabic]{Amiri}\fi}%
\def\ax@trans@style{\itshape}%
\newcommand{\SetTranslitStyle}[1]{\def\ax@trans@style{#1}}
\newcommand{\SetTranslitConvention}[1]{\def\ax@trans@convention{#1}}
\def\ax@trans@convention{loc}% Library of Congress is default
-\newcommand{\SetAllahWithAlif}{\def\ax@font@allah{fdf2alif}}
-\newcommand{\SetAllahWithoutAlif}{\def\ax@font@allah{fdf2noalif}}
+\newcommand{\SetAllahWithAlif}{} % deprecated
+\newcommand{\SetAllahWithoutAlif}{} % deprecated
\def\utf@fontfeature{\ifmirror@punct\addfontfeature{Mapping=mirrorpunct}\else\relax\fi}
\def\arabtex@codes{\catcode`^=11\relax\catcode`_=11\relax}
\def\UC{\char"E000} % This is used to capitalize the following letter (ignoring
@@ -1421,12 +1187,12 @@ François Charette
\par\setRL\arabicfont\utf@fontfeature%
\else
\par\setRL\arabicfont\arabtex@codes%
- \addfontfeature{Mapping=arabtex-\ax@font@allah-\@tempa}%
+ \addfontfeature{Mapping=arabtex-\@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}%
+ \addfontfeature{Mapping=arabtex-\ax@mode}%
\fi}
{\ifx\@tempa\ax@mode@trans\relax\else\unsetRL\fi\par}
\let\Arabic=\arab%
@@ -1444,12 +1210,12 @@ François Charette
\par\setRL\ax@maghribi@font\utf@fontfeature%
\else
\par\setRL\ax@maghribi@font\arabtex@codes%
- \addfontfeature{Mapping=arabtex-\ax@font@allah-maghribi-\@tempa}%
+ \addfontfeature{Mapping=arabtex-maghribi-\@tempa}%
\fi\fi
\else
\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}%
\par\setRL\ax@maghribi@font\arabtex@codes%
- \addfontfeature{Mapping=arabtex-\ax@font@allah-maghribi-\ax@mode}%
+ \addfontfeature{Mapping=arabtex-maghribi-\ax@mode}%
\fi}
{\ifx\@tempa\ax@mode@trans\relax\else\unsetRL\fi\par}
%%%
@@ -1466,12 +1232,12 @@ François Charette
\par\setRL\ax@farsi@font\utf@fontfeature%
\else
\par\setRL\ax@farsi@font\arabtex@codes%
- \addfontfeature{Mapping=arabtex-\ax@font@allah-farsi-\@tempa}%
+ \addfontfeature{Mapping=arabtex-farsi-\@tempa}%
\fi\fi
\else
\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}%
\par\setRL\ax@farsi@font\arabtex@codes%
- \addfontfeature{Mapping=arabtex-\ax@font@allah-farsi-\ax@mode}%
+ \addfontfeature{Mapping=arabtex-farsi-\ax@mode}%
\fi}
{\ifx\@tempa\ax@mode@trans\relax\else\unsetRL\fi\par}
\let\persian=\farsi
@@ -1489,12 +1255,12 @@ François Charette
\par\setRL\ax@urdu@font\addfontfeature{Language=Urdu}%Mapping=arabtex-utf}%
\else
\par\setRL\ax@urdu@font\arabtex@codes%
- \addfontfeature{Mapping=arabtex-\ax@font@allah-urdu-\@tempa}%
+ \addfontfeature{Mapping=arabtex-urdu-\@tempa}%
\fi\fi
\else
\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}%
\par\setRL\ax@urdu@font\arabtex@codes%
- \addfontfeature{Mapping=arabtex-\ax@font@allah-urdu-\ax@mode}%
+ \addfontfeature{Mapping=arabtex-urdu-\ax@mode}%
\fi}
{\ifx\@tempa\ax@mode@trans\relax\else\unsetRL\fi\par}
%%%
@@ -1511,12 +1277,12 @@ François Charette
\par\setRL\ax@pashto@font\utf@fontfeature%
\else
\par\setRL\ax@pashto@font\arabtex@codes%
- \addfontfeature{Mapping=arabtex-\ax@font@allah-pashto-\@tempa}%
+ \addfontfeature{Mapping=arabtex-pashto-\@tempa}%
\fi\fi
\else
\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}%
\par\setRL\ax@pashto@font\arabtex@codes%
- \addfontfeature{Mapping=arabtex-\ax@font@allah-pashto-\ax@mode}%
+ \addfontfeature{Mapping=arabtex-pashto-\ax@mode}%
\fi}
{\ifx\@tempa\ax@mode@trans\relax\else\unsetRL\fi\par}
%%%
@@ -1533,12 +1299,12 @@ François Charette
\par\setRL\ax@sindhi@font\addfontfeature{Language=Sindhi}%Mapping=arabtex-utf}%
\else
\par\setRL\ax@sindhi@font\arabtex@codes%
- \addfontfeature{Mapping=arabtex-\ax@font@allah-sindhi-\@tempa,Language=Sindhi}%
+ \addfontfeature{Mapping=arabtex-sindhi-\@tempa,Language=Sindhi}%
\fi\fi
\else
\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}%
\par\setRL\ax@sindhi@font\arabtex@codes%
- \addfontfeature{Mapping=arabtex-\ax@font@allah-sindhi-\ax@mode,Language=Sindhi}%
+ \addfontfeature{Mapping=arabtex-sindhi-\ax@mode,Language=Sindhi}%
\fi}
{\ifx\@tempa\ax@mode@trans\relax\else\unsetRL\fi\par}
%%%
@@ -1555,12 +1321,12 @@ François Charette
\par\setRL\ax@ottoman@font\utf@fontfeature%
\else
\par\setRL\ax@ottoman@font\arabtex@codes%
- \addfontfeature{Mapping=arabtex-\ax@font@allah-turk-\@tempa}%
+ \addfontfeature{Mapping=arabtex-turk-\@tempa}%
\fi%\fi
\else
\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}%
\par\setRL\ax@ottoman@font\arabtex@codes%
- \addfontfeature{Mapping=arabtex-\ax@font@allah-turk-\ax@mode}%
+ \addfontfeature{Mapping=arabtex-turk-\ax@mode}%
\fi}
{%\ifx\@tempa\ax@mode@trans\relax\else
\unsetRL%\fi
@@ -1578,7 +1344,7 @@ François Charette
\par\setRL\ax@kurdish@font\addfontfeature{Language=Kurdish}%Mapping=arabtex-utf}%
\else
\par\setRL\ax@kurdish@font\arabtex@codes%
- \addfontfeature{Mapping=arabtex-\ax@font@allah-kurdish,Language=Kurdish}%
+ \addfontfeature{Mapping=arabtex-kurdish,Language=Kurdish}%
\fi}
{%\ifx\@tempa\ax@mode@trans\relax\else
\unsetRL%\fi
@@ -1591,18 +1357,18 @@ François Charette
\ifax@mode@defined%
%\ifx\@tempa\ax@mode@trans%
% \par\arabtex@codes\ax@trans@style%
- % \addfontfeature{Mapping=arabtex-\ax@font@allah-kashmiri-trans-\ax@trans@convention}%
+ % \addfontfeature{Mapping=arabtex-kashmiri-trans-\ax@trans@convention}%
%\else
\ifx\@tempa\ax@mode@utf%
\par\setRL\ax@kashmiri@font\utf@fontfeature%
\else
\par\setRL\ax@kashmiri@font\arabtex@codes%
- \addfontfeature{Mapping=arabtex-\ax@font@allah-kashmiri-\@tempa}%
+ \addfontfeature{Mapping=arabtex-kashmiri-\@tempa}%
\fi%\fi
\else
\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}%
\par\setRL\ax@kashmiri@font\arabtex@codes%
- \addfontfeature{Mapping=arabtex-\ax@font@allah-kashmiri-\ax@mode}%
+ \addfontfeature{Mapping=arabtex-kashmiri-\ax@mode}%
\fi}
{%\ifx\@tempa\ax@mode@trans\relax\else
\unsetRL%\fi
@@ -1621,12 +1387,12 @@ François Charette
\par\setRL\ax@malay@font\utf@fontfeature%
\else
\par\setRL\ax@malay@font\arabtex@codes%
- \addfontfeature{Mapping=arabtex-\ax@font@allah-malay-\@tempa}%
+ \addfontfeature{Mapping=arabtex-malay-\@tempa}%
\fi%\fi
\else
\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}%
\par\setRL\ax@malay@font\arabtex@codes%
- \addfontfeature{Mapping=arabtex-\ax@font@allah-malay-\ax@mode}%
+ \addfontfeature{Mapping=arabtex-malay-\ax@mode}%
\fi}
{%\ifx\@tempa\ax@mode@trans\relax\else
\unsetRL%\fi
@@ -1644,7 +1410,7 @@ François Charette
\par\setRL\ax@uighur@font\utf@fontfeature%
\else
\par\setRL\ax@uighur@font\arabtex@codes%
- \addfontfeature{Mapping=arabtex-\ax@font@allah-uighur}%
+ \addfontfeature{Mapping=arabtex-uighur}%
\fi}
{%\ifx\@tempa\ax@mode@trans\relax\else
\unsetRL%\fi
@@ -1671,16 +1437,16 @@ François Charette
\ax@ismode@defined{\@tempa}%
\ifax@mode@defined%
\ifx\@tempa\ax@mode@trans%
- {\ax@trans@style\addfontfeature{Mapping=arabtex-trans-\ax@trans@convention}#2}%
+ {\ax@trans@style\addfontfeature{Mapping=arabtex-trans-\ax@trans@convention}\scantokens{#2\noexpand}}%
\else
\ifx\@tempa\ax@mode@utf%
\RL{\arabicfont\utf@fontfeature #2}%
\else
- \RL{\arabicfont\addfontfeature{Mapping=arabtex-\ax@font@allah-\@tempa}#2}%
+ \RL{\arabicfont\addfontfeature{Mapping=arabtex-\@tempa}\scantokens{#2\noexpand}}%
\fi\fi
\else
\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}%
- \RL{\arabicfont\addfontfeature{Mapping=arabtex-\ax@font@allah-\ax@mode}#2}%
+ \RL{\arabicfont\addfontfeature{Mapping=arabtex-\ax@mode}\scantokens{#2\noexpand}}%
\fi\egroup}
\newcommand\text@maghribi[2][\ax@mode]{%
\edef\@tempa{#1}%
@@ -1694,11 +1460,11 @@ François Charette
\RL{\ax@maghribi@font\utf@fontfeature #2}%
\else
\RL{\ax@maghribi@font%
- \addfontfeature{Mapping=arabtex-\ax@font@allah-maghribi-\@tempa}#2}%
+ \addfontfeature{Mapping=arabtex-maghribi-\@tempa}#2}%
\fi\fi
\else
\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}%
- \RL{\ax@maghribi@font\addfontfeature{Mapping=arabtex-\ax@font@allah-maghribi-\ax@mode}#2}%
+ \RL{\ax@maghribi@font\addfontfeature{Mapping=arabtex-maghribi-\ax@mode}#2}%
\fi\egroup}
\newcommand\text@farsi[2][\ax@mode]{%
\edef\@tempa{#1}%
@@ -1712,11 +1478,11 @@ François Charette
\RL{\ax@farsi@font\utf@fontfeature #2}%
\else
\RL{\ax@farsi@font%
- \addfontfeature{Mapping=arabtex-\ax@font@allah-farsi-\@tempa}#2}%
+ \addfontfeature{Mapping=arabtex-farsi-\@tempa}#2}%
\fi\fi
\else
\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}%
- \RL{\ax@farsi@font\addfontfeature{Mapping=arabtex-\ax@font@allah-farsi-\ax@mode}#2}%
+ \RL{\ax@farsi@font\addfontfeature{Mapping=arabtex-farsi-\ax@mode}#2}%
\fi\egroup}
\newcommand\text@urdu[2][\ax@mode]{%
\edef\@tempa{#1}%
@@ -1730,11 +1496,11 @@ François Charette
\RL{\ax@urdu@font\addfontfeature{Language=Urdu}#2}%eventually Mapping=arabtex-utf
\else
\RL{\ax@urdu@font%
- \addfontfeature{Mapping=arabtex-\ax@font@allah-urdu-\@tempa,Language=Urdu}#2}%
+ \addfontfeature{Mapping=arabtex-urdu-\@tempa,Language=Urdu}#2}%
\fi\fi
\else
\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}%
- \RL{\ax@urdu@font\addfontfeature{Mapping=arabtex-\ax@font@allah-urdu-\ax@mode,Language=Urdu}#2}%
+ \RL{\ax@urdu@font\addfontfeature{Mapping=arabtex-urdu-\ax@mode,Language=Urdu}#2}%
\fi\egroup}
\newcommand\text@sindhi[2][\ax@mode]{%
\edef\@tempa{#1}%
@@ -1748,11 +1514,11 @@ François Charette
\RL{\ax@sindhi@font\addfontfeature{Language=Sindhi} #2}%eventually Mapping=arabtex-utf
\else
\RL{\ax@sindhi@font%
- \addfontfeature{Mapping=arabtex-\ax@font@allah-sindhi-\@tempa,Language=Sindhi}#2}%
+ \addfontfeature{Mapping=arabtex-sindhi-\@tempa,Language=Sindhi}#2}%
\fi\fi
\else
\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}%
- \RL{\ax@sindhi@font\addfontfeature{Mapping=arabtex-\ax@font@allah-sindhi-\ax@mode,Language=Sindhi}#2}%
+ \RL{\ax@sindhi@font\addfontfeature{Mapping=arabtex-sindhi-\ax@mode,Language=Sindhi}#2}%
\fi\egroup}
\newcommand\text@pashto[2][\ax@mode]{%
\edef\@tempa{#1}%
@@ -1766,11 +1532,11 @@ François Charette
\RL{\ax@pashto@font\utf@fontfeature #2}%
\else
\RL{\ax@pashto@font%
- \addfontfeature{Mapping=arabtex-\ax@font@allah-pashto-\@tempa}#2}%
+ \addfontfeature{Mapping=arabtex-pashto-\@tempa}#2}%
\fi\fi
\else
\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}%
- \RL{\ax@pashto@font\addfontfeature{Mapping=arabtex-\ax@font@allah-pashto-\ax@mode}#2}%
+ \RL{\ax@pashto@font\addfontfeature{Mapping=arabtex-pashto-\ax@mode}#2}%
\fi\egroup}
\newcommand\text@ottoman[2][\ax@mode]{%
\edef\@tempa{#1}%
@@ -1785,11 +1551,11 @@ François Charette
\RL{\ax@ottoman@font\utf@fontfeature #2}%
\else
\RL{\ax@ottoman@font%
- \addfontfeature{Mapping=arabtex-\ax@font@allah-turk-\@tempa}#2}%
+ \addfontfeature{Mapping=arabtex-turk-\@tempa}#2}%
\fi%\fi
\else
\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}%
- \RL{\ax@ottoman@font\addfontfeature{Mapping=arabtex-\ax@font@allah-turk-\ax@mode}#2}%
+ \RL{\ax@ottoman@font\addfontfeature{Mapping=arabtex-turk-\ax@mode}#2}%
\fi\egroup}
\newcommand\text@kurdish[2][]{%
\edef\@tempa{#1}%
@@ -1802,7 +1568,7 @@ François Charette
\RL{\ax@kurdish@font\utf@fontfeature #2}%
\else
\RL{\ax@kurdish@font%
- \addfontfeature{Mapping=arabtex-\ax@font@allah-kurdish,Language=Kurdish}#2}%
+ \addfontfeature{Mapping=arabtex-kurdish,Language=Kurdish}#2}%
\fi%\fi
\egroup}
\newcommand\text@kashmiri[2][\ax@mode]{%
@@ -1818,11 +1584,11 @@ François Charette
\RL{\ax@kashmiri@font\utf@fontfeature #2}%
\else
\RL{\ax@kashmiri@font%
- \addfontfeature{Mapping=arabtex-\ax@font@allah-kashmiri-\@tempa}#2}%
+ \addfontfeature{Mapping=arabtex-kashmiri-\@tempa}#2}%
\fi%\fi
\else
\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}%
- \RL{\ax@kashmiri@font\addfontfeature{Mapping=arabtex-\ax@font@allah-kashmiri-\ax@mode}#2}%
+ \RL{\ax@kashmiri@font\addfontfeature{Mapping=arabtex-kashmiri-\ax@mode}#2}%
\fi\egroup}
\newcommand\text@malay[2][\ax@mode]{%
\edef\@tempa{#1}%
@@ -1837,11 +1603,11 @@ François Charette
\RL{\ax@malay@font\utf@fontfeature #2}%
\else
\RL{\ax@malay@font%
- \addfontfeature{Mapping=arabtex-\ax@font@allah-malay-\@tempa}#2}%
+ \addfontfeature{Mapping=arabtex-malay-\@tempa}#2}%
\fi%\fi
\else
\PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \ax@mode}%
- \RL{\ax@malay@font\addfontfeature{Mapping=arabtex-\ax@font@allah-malay-\ax@mode}#2}%
+ \RL{\ax@malay@font\addfontfeature{Mapping=arabtex-malay-\ax@mode}#2}%
\fi\egroup}
\newcommand\text@uighur[2][]{%
\edef\@tempa{#1}%
@@ -1854,12 +1620,12 @@ François Charette
\RL{\ax@uighur@font\utf@fontfeature #2}%
\else
\RL{\ax@uighur@font%
- \addfontfeature{Mapping=arabtex-\ax@font@allah-uighur}#2}%
+ \addfontfeature{Mapping=arabtex-uighur}#2}%
\fi%\fi
\egroup}
%
\newcommand{\textLR}[1]{\LR{\rmfamily #1}}
-\newcommand{\aemph}[1]{%
+\providecommand*{\aemph}[1]{%
\edef\@tempb{\expandafter\noexpand\csname text\ax@lang\endcsname}%
$\overline{\text{\@tempb{#1}}}$}
% \end{macrocode}
@@ -1879,8 +1645,6 @@ François Charette
% ^^A- hamza directly above baseline (for Qur'an) : 0654 is too high!
% ^^A \def\hamzaB{\raisebox[-1ex]{\char"0654} is ok
% ^^A
-% ^^A- U+FDF2: codify the LLAH ligature as well?
-% ^^A Perhaps the FALILLAH ligature could be added as well?
%
% ^^A\clearpage
% ^^A\PrintChanges
@@ -1894,16 +1658,16 @@ François Charette
%<*dtx-style>
% \begin{macrocode}
\ProvidesPackage{arabxetex-dtx-style}
-\usepackage{fontspec,xltxtra}
+\usepackage[silent]{fontspec}
+\usepackage{hologo}
\usepackage{array,supertabular,xspace,multicol,fancyvrb,paralist}
-\usepackage[voc]{arabxetex}
-\usepackage[dvipdfm]{color}
+\usepackage{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,
+\usepackage[
bookmarks=true,
colorlinks=true,
linkcolor=myblue,
@@ -1912,11 +1676,12 @@ François Charette
hyperindex=false,
hyperfootnotes=false,
pdftitle={The ArabXeTeX package},
- pdfauthor={F Charette <firmicus@gmx.net>},
+ pdfauthor={F Charette <firmicus04@gmail.com>},
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}
+\usepackage[voc]{arabxetex}
% 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}
@@ -1925,19 +1690,13 @@ François Charette
\def\Eg{\textit{E.g.,}\xspace}
\def\Ie{\textit{I.e.,}\xspace}
\def\etc{\@ifnextchar.{\textit{etc}}{\textit{etc.}\@\xspace}}
-
+\def\eTeX{\hologo{eTeX}}
\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!
@@ -1965,21 +1724,15 @@ François Charette
%%%
%% fontspec declarations:
-\setromanfont[Mapping=tex-text]{Junicode}%{FPL Neu}
+\setmainfont[Ligatures=TeX]{Junicode}
\defaultfontfeatures{Scale=MatchLowercase}
-\setmonofont{Inconsolata}%{Latin Modern Typewriter Proportional}%{Luxi Mono}%{Courier New}
+\setmonofont{Consolas}%{Inconsolata}
\setsansfont{Lucida Sans Unicode}
-\newfontfamily\arabicfont[Script=Arabic,Scale=1.5]{Scheherazade}
-\newfontfamily\urdufont[Script=Arabic,Scale=1.2]{Nafees Pakistani Naskh}%Nafees Nastaleeq does not work well
-\newfontfamily\farsifont[Script=Arabic,Scale=1.33]{Farsi Simple Bold}
-\newfontfamily\lateeffont[Script=Arabic,Scale=1.5]{Lateef}
-\newfontfamily\lotusfont[Script=Arabic,Scale=1.5]{Lotus Linotype}
-\newfontfamily\arabtype[Script=Arabic,Scale=1.5]{Arabic Typesetting}
-\newfontfamily\adobearabic[Script=Arabic,Scale=1.5]{Adobe Arabic}
-\newfontfamily\tradarabic[Script=Arabic,Scale=1.5]{Traditional Arabic}
-\newfontfamily\arabesque{AGA Arabesque}
-\newfontfamily\arialuni{Arial Unicode MS}
-\newfontfamily\gentium{Gentium}
+\newfontfamily\arabicfont[Script=Arabic,Scale=1]{Amiri}
+\newfontfamily\amiriquran[Script=Arabic,Scale=1]{Amiri Quran}
+\newfontfamily\arialuni[Script=Arabic,Scale=1]{Arial Unicode MS}
+\newfontfamily\urdufont[Script=Arabic,Scale=1.2]{Hussaini Nastaleeq}
+\newfontfamily\farsifont[Script=Arabic,Scale=1.33]{IranNastaliq}
\linespread{1.05}
\frenchspacing
diff --git a/Master/texmf-dist/source/xelatex/arabxetex/makemaps.pl b/Master/texmf-dist/source/xelatex/arabxetex/makemaps.pl
index 231a6b5c8ea..d93e5c8c300 100755
--- a/Master/texmf-dist/source/xelatex/arabxetex/makemaps.pl
+++ b/Master/texmf-dist/source/xelatex/arabxetex/makemaps.pl
@@ -11,13 +11,9 @@ 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";
+open OUTPUT, ">$output-novoc.map";
while (<MAPS>) {
- s/^#1 // ;
- s/^#0.+\n//m ;
s/^\@An // ;
s/^\@.+\n//m ;
s/^#[A-Z]*A[A-Z]*n // ;
@@ -32,10 +28,8 @@ close OUTPUT;
close MAPS;
open MAPS, "<$master" ;
-open OUTPUT, ">$output-fdf2alif-voc.map";
+open OUTPUT, ">$output-voc.map";
while (<MAPS>) {
- s/^#1 // ;
- s/^#0.+\n//m ;
s/^\@Av // ;
s/^\@v // ;
s/^\@.+\n//m ;
@@ -51,10 +45,8 @@ close OUTPUT;
close MAPS;
open MAPS, "<$master" ;
-open OUTPUT, ">$output-fdf2alif-fullvoc.map";
+open OUTPUT, ">$output-fullvoc.map";
while (<MAPS>) {
- s/^#1 // ;
- s/^#0.+\n//m ;
s/^\@Af // ;
s/^\@.+\n//m ;
s/^#[A-Z]*A[A-Z]*[vf] // ;
@@ -71,10 +63,8 @@ close MAPS;
## maghribi
open MAPS, "<$master" ;
-open OUTPUT, ">$output-fdf2alif-maghribi-novoc.map";
+open OUTPUT, ">$output-maghribi-novoc.map";
while (<MAPS>) {
- s/^#1 // ;
- s/^#0.+\n//m ;
s/^\@Bn // ;
s/^\@.+\n//m ;
s/^#[A-Z]*A[A-Z]*n // ;
@@ -91,10 +81,8 @@ close OUTPUT;
close MAPS;
open MAPS, "<$master" ;
-open OUTPUT, ">$output-fdf2alif-maghribi-voc.map";
+open OUTPUT, ">$output-maghribi-voc.map";
while (<MAPS>) {
- s/^#1 // ;
- s/^#0.+\n//m ;
s/^\@Bv // ;
s/^\@v // ;
s/^\@.+\n//m ;
@@ -112,10 +100,8 @@ close OUTPUT;
close MAPS;
open MAPS, "<$master" ;
-open OUTPUT, ">$output-fdf2alif-maghribi-fullvoc.map";
+open OUTPUT, ">$output-maghribi-fullvoc.map";
while (<MAPS>) {
- s/^#1 // ;
- s/^#0.+\n//m ;
s/^\@Bf // ;
s/^\@.+\n//m ;
s/^#[A-Z]*A[A-Z]*[vf] // ;
@@ -134,10 +120,8 @@ close MAPS;
### farsi
open MAPS, "<$master" ;
-open OUTPUT, ">$output-fdf2alif-farsi-novoc.map";
+open OUTPUT, ">$output-farsi-novoc.map";
while (<MAPS>) {
- s/^#1 // ;
- s/^#0.+\n//m ;
s/^\@Pn // ;
s/^\@.+\n//m ;
s/^#[A-Z]*P[A-Z]*n // ;
@@ -152,10 +136,8 @@ close OUTPUT;
close MAPS;
open MAPS, "<$master" ;
-open OUTPUT, ">$output-fdf2alif-farsi-voc.map";
+open OUTPUT, ">$output-farsi-voc.map";
while (<MAPS>) {
- s/^#1 // ;
- s/^#0.+\n//m ;
s/^\@Pv // ;
s/^\@v // ;
s/^\@.+\n//m ;
@@ -171,10 +153,8 @@ close OUTPUT;
close MAPS;
open MAPS, "<$master" ;
-open OUTPUT, ">$output-fdf2alif-farsi-fullvoc.map";
+open OUTPUT, ">$output-farsi-fullvoc.map";
while (<MAPS>) {
- s/^#1 // ;
- s/^#0.+\n//m ;
s/^\@Pf // ;
s/^\@.+\n//m ;
s/^#[A-Z]*P[A-Z]*[vf] // ;
@@ -191,10 +171,8 @@ close MAPS;
### urdu
open MAPS, "<$master" ;
-open OUTPUT, ">$output-fdf2alif-urdu-novoc.map";
+open OUTPUT, ">$output-urdu-novoc.map";
while (<MAPS>) {
- s/^#1 // ;
- s/^#0.+\n//m ;
s/^\@Un // ;
s/^\@.+\n//m ;
s/^#[A-Z]*U[A-Z]*n // ;
@@ -209,10 +187,8 @@ close OUTPUT;
close MAPS;
open MAPS, "<$master" ;
-open OUTPUT, ">$output-fdf2alif-urdu-voc.map";
+open OUTPUT, ">$output-urdu-voc.map";
while (<MAPS>) {
- s/^#1 // ;
- s/^#0.+\n//m ;
s/^\@Uv // ;
s/^\@v // ;
s/^\@.+\n//m ;
@@ -228,10 +204,8 @@ close OUTPUT;
close MAPS;
open MAPS, "<$master" ;
-open OUTPUT, ">$output-fdf2alif-urdu-fullvoc.map";
+open OUTPUT, ">$output-urdu-fullvoc.map";
while (<MAPS>) {
- s/^#1 // ;
- s/^#0.+\n//m ;
s/^\@Uf // ;
s/^\@.+\n//m ;
s/^#[A-Z]*U[A-Z]*[vf] // ;
@@ -248,10 +222,8 @@ close MAPS;
###sindhi
open MAPS, "<$master" ;
-open OUTPUT, ">$output-fdf2alif-sindhi-novoc.map";
+open OUTPUT, ">$output-sindhi-novoc.map";
while (<MAPS>) {
- s/^#1 // ;
- s/^#0.+\n//m ;
s/^\@Sn // ;
s/^\@.+\n//m ;
s/^#[A-Z]*S[A-Z]*n // ;
@@ -266,10 +238,8 @@ close OUTPUT;
close MAPS;
open MAPS, "<$master" ;
-open OUTPUT, ">$output-fdf2alif-sindhi-voc.map";
+open OUTPUT, ">$output-sindhi-voc.map";
while (<MAPS>) {
- s/^#1 // ;
- s/^#0.+\n//m ;
s/^\@Sv // ;
s/^\@v // ;
s/^\@.+\n//m ;
@@ -285,10 +255,8 @@ close OUTPUT;
close MAPS;
open MAPS, "<$master" ;
-open OUTPUT, ">$output-fdf2alif-sindhi-fullvoc.map";
+open OUTPUT, ">$output-sindhi-fullvoc.map";
while (<MAPS>) {
- s/^#1 // ;
- s/^#0.+\n//m ;
s/^\@Sf // ;
s/^\@.+\n//m ;
s/^#[A-Z]*S[A-Z]*[vf] // ;
@@ -305,10 +273,8 @@ close MAPS;
###pashto
open MAPS, "<$master" ;
-open OUTPUT, ">$output-fdf2alif-pashto-novoc.map";
+open OUTPUT, ">$output-pashto-novoc.map";
while (<MAPS>) {
- s/^#1 // ;
- s/^#0.+\n//m ;
s/^\@Tn // ;
s/^\@.+\n//m ;
s/^#[A-Z]*T[A-Z]*n // ;
@@ -324,10 +290,8 @@ close MAPS;
open MAPS, "<$master" ;
-open OUTPUT, ">$output-fdf2alif-pashto-voc.map";
+open OUTPUT, ">$output-pashto-voc.map";
while (<MAPS>) {
- s/^#1 // ;
- s/^#0.+\n//m ;
s/^\@Tv // ;
s/^\@v // ;
s/^\@.+\n//m ;
@@ -344,10 +308,8 @@ close MAPS;
open MAPS, "<$master" ;
-open OUTPUT, ">$output-fdf2alif-pashto-fullvoc.map";
+open OUTPUT, ">$output-pashto-fullvoc.map";
while (<MAPS>) {
- s/^#1 // ;
- s/^#0.+\n//m ;
s/^\@Tf // ;
s/^\@.+\n//m ;
s/^#[A-Z]*T[A-Z]*[vf] // ;
@@ -365,10 +327,8 @@ close MAPS;
###turk
open MAPS, "<$master" ;
-open OUTPUT, ">$output-fdf2alif-turk-novoc.map";
+open OUTPUT, ">$output-turk-novoc.map";
while (<MAPS>) {
- s/^#1 // ;
- s/^#0.+\n//m ;
s/^\@On // ;
s/^\@.+\n//m ;
s/^#[A-Z]*O[A-Z]*n // ;
@@ -384,10 +344,8 @@ close MAPS;
open MAPS, "<$master" ;
-open OUTPUT, ">$output-fdf2alif-turk-voc.map";
+open OUTPUT, ">$output-turk-voc.map";
while (<MAPS>) {
- s/^#1 // ;
- s/^#0.+\n//m ;
s/^\@Ov // ;
s/^\@v // ;
s/^\@.+\n//m ;
@@ -404,10 +362,8 @@ close MAPS;
open MAPS, "<$master" ;
-open OUTPUT, ">$output-fdf2alif-turk-fullvoc.map";
+open OUTPUT, ">$output-turk-fullvoc.map";
while (<MAPS>) {
- s/^#1 // ;
- s/^#0.+\n//m ;
s/^\@Of // ;
s/^\@.+\n//m ;
s/^#[A-Z]*O[A-Z]*[vf] // ;
@@ -424,10 +380,8 @@ close MAPS;
###kashmiri
open MAPS, "<$master" ;
-open OUTPUT, ">$output-fdf2alif-kashmiri-novoc.map";
+open OUTPUT, ">$output-kashmiri-novoc.map";
while (<MAPS>) {
- s/^#1 // ;
- s/^#0.+\n//m ;
s/^\@Kn // ;
s/^\@.+\n//m ;
s/^#[A-Z]*K[A-Z]*n // ;
@@ -443,10 +397,8 @@ close MAPS;
open MAPS, "<$master" ;
-open OUTPUT, ">$output-fdf2alif-kashmiri-voc.map";
+open OUTPUT, ">$output-kashmiri-voc.map";
while (<MAPS>) {
- s/^#1 // ;
- s/^#0.+\n//m ;
s/^\@Kv // ;
s/^\@v // ;
s/^\@.+\n//m ;
@@ -463,10 +415,8 @@ close MAPS;
open MAPS, "<$master" ;
-open OUTPUT, ">$output-fdf2alif-kashmiri-fullvoc.map";
+open OUTPUT, ">$output-kashmiri-fullvoc.map";
while (<MAPS>) {
- s/^#1 // ;
- s/^#0.+\n//m ;
s/^\@Kf // ;
s/^\@.+\n//m ;
s/^#[A-Z]*K[A-Z]*[vf] // ;
@@ -483,10 +433,8 @@ close MAPS;
###malay
open MAPS, "<$master" ;
-open OUTPUT, ">$output-fdf2alif-malay-novoc.map";
+open OUTPUT, ">$output-malay-novoc.map";
while (<MAPS>) {
- s/^#1 // ;
- s/^#0.+\n//m ;
s/^\@Mn // ;
s/^\@.+\n//m ;
s/^#[A-Z]*M[A-Z]*n // ;
@@ -502,10 +450,8 @@ close MAPS;
open MAPS, "<$master" ;
-open OUTPUT, ">$output-fdf2alif-malay-voc.map";
+open OUTPUT, ">$output-malay-voc.map";
while (<MAPS>) {
- s/^#1 // ;
- s/^#0.+\n//m ;
s/^\@Mv // ;
s/^\@v // ;
s/^\@.+\n//m ;
@@ -522,10 +468,8 @@ close MAPS;
open MAPS, "<$master" ;
-open OUTPUT, ">$output-fdf2alif-malay-fullvoc.map";
+open OUTPUT, ">$output-malay-fullvoc.map";
while (<MAPS>) {
- s/^#1 // ;
- s/^#0.+\n//m ;
s/^\@Mf // ;
s/^\@.+\n//m ;
s/^#[A-Z]*M[A-Z]*[vf] // ;
@@ -539,577 +483,6 @@ while (<MAPS>) {
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("cp *.map mappings/");
system("for map in mappings/*.map; do echo \"compiling \$map ...\" && teckit_compile \$map; done");