summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-pashto-fullvoc.map
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-pashto-fullvoc.map')
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-pashto-fullvoc.map17
1 files changed, 11 insertions, 6 deletions
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-pashto-fullvoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-pashto-fullvoc.map
index a7d3e4005fc..0b5db3167fa 100644
--- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-pashto-fullvoc.map
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-pashto-fullvoc.map
@@ -82,6 +82,7 @@ Class [Digits] = (U+0030..U+0039)
Define BEG (#|Z|[BRACKETS])
Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #)
+Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z)
; special ligatures
;; 1. Standard ArabTeX input
@@ -167,12 +168,13 @@ I / _ # > i y
U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<<
U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I
Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e
-Z Q?=qq I / (A|U) _ (Z|END) > U+0626 @qq i y ; ...A-I or ...U-I
+Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I
Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i
-Z Q?=q1 (e|i) / _ (END|Z) > @q1 i ; ...-i
+Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i
Z / U+0048 _ > U+0020 ;
b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen
+;; initial characters ...
a l Z / BEG _ > U+0627 l Z
H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI
[VWL]=v1 / BEG _ > U+0627 @v1
@@ -220,7 +222,8 @@ H / _ Q? AN > Hy
H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR
H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR
H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ...
-H / a _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN...
+H / a _ Q? (#|^[LTR]) > Ha ; not AN...
+H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN...
H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy
H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw
@@ -363,6 +366,7 @@ j > U+062C
Q I > U+064A
I > U+0650 U+064A
C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya
+UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ###
Q i N? > ;
i N > U+064D
i > U+0650
@@ -459,8 +463,9 @@ U+003F > U+061F ;?
U+003B > U+061B ;;
U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above...
U+002C > U+060C ;,
-U+005D / . _ . > U+200D U+005D U+200D ; keep shaping when inserting ...[...]...
-U+005B / . _ . > U+200D U+005B U+200D ; ... (but of course this screws up contextual analysis, so quoting of hamzas etc may be necessary)
+U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ...
+U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual
+ ; analysis, so quoting of hamzas etc may be necessary
;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules
;U+005B > U+005D ;[
Q [VWL] > ;stripoff quoted vowels
@@ -475,7 +480,7 @@ Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647
Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc.
Class [VWL] = (U+0627 U+0648..U+0650 U+0670);
[CONS]=k1 / _ Z? [CONS] ^U+0651 > @k1 U+0652 ; hack: 2nd consonant has no shadda
-U+064E (U+064A|U+0648|U+0649)=hc / _ (^[VWLX]|#) > U+064E @hc U+0652 ; ay and aw diphtongs
+U+064E (U+064A|U+0648)=hc / _ (^[VWLX]|#) > U+064E @hc U+0652 ; ay and aw diphtongs
U+0627 / # _ U+0644 > U+0627 U+064E ; otherwise initial alif takes fatha
[CONS]=k1 / _ ([CONS]|#) > @k1 U+0652 ; consonant + (consonant or final)
;; [CONS]=k1 / _ # > @k1 U+0652 ; final consonant