diff options
author | Karl Berry <karl@freefriends.org> | 2010-03-05 00:33:58 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2010-03-05 00:33:58 +0000 |
commit | bee7379de288cd8caaec136a9bf4d51c84990842 (patch) | |
tree | 412948a75ed8be3a5e732fb3a6895805039d7f72 /Master/texmf-dist | |
parent | 5f599586aa0d469798bf20018a6d4b730726a43c (diff) |
arabxetex update (4mar10)
git-svn-id: svn://tug.org/texlive/trunk@17320 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist')
116 files changed, 28500 insertions, 280 deletions
diff --git a/Master/texmf-dist/doc/xelatex/arabxetex/README b/Master/texmf-dist/doc/xelatex/arabxetex/README index 5a0b68f143f..06ad3a8c06f 100644 --- a/Master/texmf-dist/doc/xelatex/arabxetex/README +++ b/Master/texmf-dist/doc/xelatex/arabxetex/README @@ -1,5 +1,5 @@ -------------------------- -THE ARABXETEX PACKAGE v1.1.2 +THE ARABXETEX PACKAGE v1.1.4 This package provides a convenient ArabTeX-like user-interface for typesetting languages using the Arabic script in XeLaTeX, with flexible access to font @@ -14,4 +14,4 @@ The TECkit fontmapping files (*.map and *.tec) should be copied to ------------------------- François Charette -2007-2008 +© 2007–2010 diff --git a/Master/texmf-dist/doc/xelatex/arabxetex/arabxetex.pdf b/Master/texmf-dist/doc/xelatex/arabxetex/arabxetex.pdf Binary files differindex 2041a6d0a8c..5bb140b2bb1 100644 --- a/Master/texmf-dist/doc/xelatex/arabxetex/arabxetex.pdf +++ b/Master/texmf-dist/doc/xelatex/arabxetex/arabxetex.pdf diff --git a/Master/texmf-dist/doc/xelatex/arabxetex/ednotes_example.pdf b/Master/texmf-dist/doc/xelatex/arabxetex/examples/ednotes_example.pdf Binary files differindex c24dbcf774e..c24dbcf774e 100644 --- a/Master/texmf-dist/doc/xelatex/arabxetex/ednotes_example.pdf +++ b/Master/texmf-dist/doc/xelatex/arabxetex/examples/ednotes_example.pdf diff --git a/Master/texmf-dist/doc/xelatex/arabxetex/ednotes_example.tex b/Master/texmf-dist/doc/xelatex/arabxetex/examples/ednotes_example.tex index cc49982f5b1..cc49982f5b1 100644 --- a/Master/texmf-dist/doc/xelatex/arabxetex/ednotes_example.tex +++ b/Master/texmf-dist/doc/xelatex/arabxetex/examples/ednotes_example.tex diff --git a/Master/texmf-dist/doc/xelatex/arabxetex/minimal.tex b/Master/texmf-dist/doc/xelatex/arabxetex/examples/minimal.tex index 88c3923dcf2..0244b6bd14d 100644 --- a/Master/texmf-dist/doc/xelatex/arabxetex/minimal.tex +++ b/Master/texmf-dist/doc/xelatex/arabxetex/examples/minimal.tex @@ -13,10 +13,14 @@ This is some text in English with Arabic insertion \textarab[utf]{عربي}. This is some text in English with Arabic insertion \textarab[voc]{`arabI}. \begin{arab} -wa-ha_dihi fiqraT"uN bi-al-`arabiyaT ma`a kalimaT inklIziyaT (\textroman{English}). +wa-ha_dihi fiqraT"uN bi-al-`arabiyaT ma`a kalimaT inklIziyaT (\textLR{English}). \end{arab} \begin{arab}[utf] -وهذه فقرةٌ بالعربية مع كلمة انكليزية (\textroman{English}). +وهذه فقرةٌ بالعربية مع كلمة انكليزية (\textLR{English}). +\end{arab} + +\begin{arab}[novoc] +وَهَذِهِ فِقرَةٌ بِالعَرَبِيَة مَعَ كَلِمَة اِنكلِيزِيَة (\textLR{English}). \end{arab} \end{document} diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabic-novowels.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabic-novowels.tec Binary files differdeleted file mode 100644 index 4b27610456a..00000000000 --- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabic-novowels.tec +++ /dev/null diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabicdigits.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabicdigits.map new file mode 100644 index 00000000000..9a6bf63b66f --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabicdigits.map @@ -0,0 +1,16 @@ +; FC ... +LHSName "Digits" +RHSName "ArabicDigits" + +pass(Unicode) +U+0030 <> U+0660 ; +U+0031 <> U+0661 ; +U+0032 <> U+0662 ; +U+0033 <> U+0663 ; +U+0034 <> U+0664 ; +U+0035 <> U+0665 ; +U+0036 <> U+0666 ; +U+0037 <> U+0667 ; +U+0038 <> U+0668 ; +U+0039 <> U+0669 ; + diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabicfixes.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabicfixes.tec Binary files differdeleted file mode 100644 index 881a14a3f5a..00000000000 --- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabicfixes.tec +++ /dev/null diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-farsi-fullvoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-farsi-fullvoc.map new file mode 100644 index 00000000000..12dbfa01c63 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-farsi-fullvoc.map @@ -0,0 +1,495 @@ +LHSName "ArabTeX-farsi-fullvocalized" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h' +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: +U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH' +U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +CO O > U+06FC ; +a e > a y +a o > a w +(o|u)? O / # _ > U+0627 w +(o|u)? O > w +CO U > U+06C7 ; +e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish) +o > u +E > I +I / _ # > i y + + +;; Persian ezafe (ALL BUT ARABIC AND UIGHUR) +U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<< +U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I +Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e +Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I +Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i +Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i +Z / U+0048 _ > U+0020 ; +b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI +[VWL]=v1 / BEG _ > U+0627 @v1 +A / BEG _ > HA ;; ADD MORE ? <<< +Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U +; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I +Q?=q1 I / BEG _ ^# > U+0627 @q1 i y ; -I... +Z Q?=qq (I|E) / _ (#|Z) > @qq i y ; +UL Q?=q1 U > @q1 U +Q?=q1 U / # _ # > U+0627 @q1 u w +Q BAR > U+0020; "| to separate compounds >> IN TRANSLIT THIS WILL BE REMOVED + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m U+0627 Hy +m Q i H a / _ (T|t) > m U+0627 Hy a +m i H Q a / _ (T|t) > m i U+0627 Hy +m i H a / _ (T|t) > m i U+0627 Hy a + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Q Y Y > U+0649 U+0651 ;;SHADDA +Q Y > U+0649 +Y Y > U+064E U+0649 U+0651 ;;SHADDA +Y > U+064E U+0649 +;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots +y y > U+06CC U+0651 ;;SHADDA +y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +U A / _ # > U+064F U+0648 U+0627 +Q U [Uw] > U+0648 U+0651 ;;SHADDA +Q U > U+0648 +U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +U > U+064F U+0648 +w w > U+0648 U+0651 ;;SHADDA +w > U+0648 +Q u N? > +u N > U+064C +u > U+064F +V t V t > U+0679 U+0651 ;;SHADDA +V t > U+0679 ;urdu +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 ;;SHADDA +T Q AN > U+0629 +T AN > U+0629 U+064B +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0691 U+0651 ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+062C U+0651 ;;SHADDA +C g > U+062C +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+064A +I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +Q i N? > ; +i N > U+064D +i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +U+0048 Z > U+0647 U+200C U+0020 ;eH-suffix > eH suffix +U+0048 > U+0647 U+200C ; H is always heh final +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+068A U+0651 ;;SHADDA +V d > U+068A +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0681 U+0651 ;;SHADDA +c > U+0681 ; ح with hamza above +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+064E U+0649 +UL a > U+0670 +UL u > U+064F; +UL i > U+0650; +Q AN / (A H|Ha) _ > ; +AN / (A H|Ha) _ > U+064B +Q AN > U+0627 +AN > U+0627 U+064B +Q a > +a > U+064E +Q A > U+0627 +A > U+064E U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArEasternDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +Q [VWL] > ;stripoff quoted vowels +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +BAR > ;| + +pass(Unicode) + +Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-) +Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc. +Class [VWL] = (U+0627 U+0648..U+0650 U+0670); +[CONS]=k1 / _ Z? [CONS] ^U+0651 > @k1 U+0652 ; hack: 2nd consonant has no shadda +U+064E (U+064A|U+0648)=hc / _ (^[VWLX]|#) > U+064E @hc U+0652 ; ay and aw diphtongs +U+0627 / # _ U+0644 > U+0627 U+064E ; otherwise initial alif takes fatha +[CONS]=k1 / _ ([CONS]|#) > @k1 U+0652 ; consonant + (consonant or final) +;; [CONS]=k1 / _ # > @k1 U+0652 ; final consonant +Q > ; +Z > ; diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-farsi-novoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-farsi-novoc.map new file mode 100644 index 00000000000..dfdfa837b35 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-farsi-novoc.map @@ -0,0 +1,480 @@ +LHSName "ArabTeX-farsi-novowels" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h' +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: +U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH' +U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +[AVWL] > ; strip off vowels when writing UTF-8 Arabic with novoc mode +CO O > U+06FC ; +a e > a y +a o > a w +(o|u)? O / # _ > U+0627 w +(o|u)? O > w +CO U > U+06C7 ; +e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish) +o > u +E > I +I / _ # > i y + + +;; Persian ezafe (ALL BUT ARABIC AND UIGHUR) +U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<< +U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I +Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e +Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I +Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i +Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i +Z / U+0048 _ > U+0020 ; +b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0627 ; +[VWL]=v1 / BEG _ > A @v1 +A / BEG _ > HA ;; ADD MORE ? <<< +Q?=q1 U / BEG _ > A @q1 u w ; -U +; Q?=q1 I / BEG _ > A @q1 i y ; -I ; but not when I is final FIXME!!! +Q?=q1 I / BEG _ ^# > A @q1 i y ; -I... +Z Q?=qq (I|E) / _ (#|Z) > @qq i y ; +UL Q?=q1 U > @q1 U +Q?=q1 U / # _ # > U+0627 @q1 u w +Q BAR > U+0020; "| to separate compounds >> IN TRANSLIT THIS WILL BE REMOVED + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m Q i A Hy Q a +m Q i H a / _ (T|t) > m Q i A Hy +m i H Q a / _ (T|t) > m A Hy Q a +m i H a / _ (T|t) > m A Hy + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Y Y > U+0649 U+0651 ;;SHADDA +Y > U+0649 +;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots +y y > U+06CC U+0651 ;;SHADDA +y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +Q U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +Q U > U+064F U+0648 +[Uw] [Uw] > U+0648 U+0651 ;;SHADDA +[Uw] > U+0648 +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +Q u N > U+064C +u N > +Q u > U+064F +V t V t > U+0679 U+0651 ;;SHADDA +V t > U+0679 ;urdu +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 U+064B ;;SHADDA +T Q AN > U+0629 U+064B +T AN > U+0629 +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0691 U+0651 ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+062C U+0651 ;;SHADDA +C g > U+062C +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +I > U+064A +Q i N > U+064D +i N > ; +Q i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +U+0048 Z > U+0647 U+200C U+0020 ;eH-suffix > eH suffix +U+0048 > U+0647 U+200C ; H is always heh final +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+068A U+0651 ;;SHADDA +V d > U+068A +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0681 U+0651 ;;SHADDA +c > U+0681 ; ح with hamza above +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+0649 +UL a > U+0670 +UL u > ; +UL i > ; +Q AN / (A H|Ha) _ > U+064B +AN / (A H|Ha) _ > ; +Q AN > U+0627 U+064B +AN > U+0627 +Q a > U+064E +Q A > U+064E U+0627 +A > U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArEasternDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +[VWL] > ;stripoff vowels +Q > U+0652 +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +Z > ;- +BAR > ;| + diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-farsi-novoc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-farsi-novoc.tec Binary files differindex 8a113805622..418f6566e43 100644 --- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-farsi-novoc.tec +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-farsi-novoc.tec diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-farsi-voc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-farsi-voc.map new file mode 100644 index 00000000000..35c789edd42 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-farsi-voc.map @@ -0,0 +1,490 @@ +LHSName "ArabTeX-farsi-vocalized" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h' +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: +U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH' +U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +CO O > U+06FC ; +a e > a y +a o > a w +(o|u)? O / # _ > U+0627 w +(o|u)? O > w +CO U > U+06C7 ; +e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish) +o > u +E > I +I / _ # > i y + + +;; Persian ezafe (ALL BUT ARABIC AND UIGHUR) +U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<< +U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I +Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e +Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I +Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i +Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i +Z / U+0048 _ > U+0020 ; +b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI +[VWL]=v1 / BEG _ > U+0627 @v1 +A / BEG _ > HA ;; ADD MORE ? <<< +Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U +; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I +Q?=q1 I / BEG _ ^# > U+0627 @q1 i y ; -I... +Z Q?=qq (I|E) / _ (#|Z) > @qq i y ; +UL Q?=q1 U > @q1 U +Q?=q1 U / # _ # > U+0627 @q1 u w +Q BAR > U+0020; "| to separate compounds >> IN TRANSLIT THIS WILL BE REMOVED + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m U+0627 Hy +m Q i H a / _ (T|t) > m U+0627 Hy a +m i H Q a / _ (T|t) > m i U+0627 Hy +m i H a / _ (T|t) > m i U+0627 Hy a + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Q Y Y > U+0649 U+0651 ;;SHADDA +Q Y > U+0649 +Y Y > U+064E U+0649 U+0651 ;;SHADDA +Y > U+064E U+0649 +;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots +y y > U+06CC U+0651 ;;SHADDA +y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +U A / _ # > U+064F U+0648 U+0627 +Q U [Uw] > U+0648 U+0651 ;;SHADDA +Q U > U+0648 +U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +U > U+064F U+0648 +w w > U+0648 U+0651 ;;SHADDA +w > U+0648 +Q u N? > +u N > U+064C +u > U+064F +V t V t > U+0679 U+0651 ;;SHADDA +V t > U+0679 ;urdu +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 ;;SHADDA +T Q AN > U+0629 +T AN > U+0629 U+064B +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0691 U+0651 ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+062C U+0651 ;;SHADDA +C g > U+062C +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+064A +I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +Q i N? > ; +i N > U+064D +i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +U+0048 Z > U+0647 U+200C U+0020 ;eH-suffix > eH suffix +U+0048 > U+0647 U+200C ; H is always heh final +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+068A U+0651 ;;SHADDA +V d > U+068A +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0681 U+0651 ;;SHADDA +c > U+0681 ; ح with hamza above +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+064E U+0649 +UL a > U+0670 +UL u > U+064F; +UL i > U+0650; +Q AN / (A H|Ha) _ > ; +AN / (A H|Ha) _ > U+064B +Q AN > U+0627 +AN > U+0627 U+064B +Q a > +a > U+064E +Q A > U+0627 +A > U+064E U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArEasternDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +Q [VWL] > ;stripoff quoted vowels +Q > U+0652 +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +BAR > ;| + +pass(Unicode) + +Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-) +Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc. +Class [VWL] = (U+0627 U+0648..U+0650 U+0670); +Z > ; diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-fullvoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-fullvoc.map new file mode 100644 index 00000000000..11bd7a0a39b --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-fullvoc.map @@ -0,0 +1,482 @@ +LHSName "ArabTeX-fullvocalized" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h' +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: +U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH' +U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +CO O > U+06FC ; +a e > a y +a o > a w +CO U > U+06C7 ; +e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish) +o > u +E > I +O > U + + + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +H l Z / BEG _ > U+0671 l Z ; THIS IS NOT AN ARABTEX CONVENTION! it's a work-around coz pattern-matching across word boundaries does not work in teckit , so min al- must be written mina 'l- in fullvocalize mode +;; wasla on initial alif : NEW! NOT TESTED! +[VWL]=v1 Z / BEG _ > @v1 U+0671 ; THIS IS NOT AN ARABTEX CONVENTION! it's a work-around coz pattern-matching across word boundaries does not work in teckit , so huwa irtifA` must be written huwa i-rtifA` in fullvocalize mode +H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI +[VWL]=v1 / BEG _ > U+0627 @v1 +A / BEG _ > U+0627 a +Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U +; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I +Q?=q1 I / BEG _ > U+0627 @q1 i y + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m U+0627 Hy +m Q i H a / _ (T|t) > m U+0627 Hy a +m i H Q a / _ (T|t) > m i U+0627 Hy +m i H a / _ (T|t) > m i U+0627 Hy a + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Q Y Y > U+0649 U+0651 ;;SHADDA +Q Y > U+0649 +Y Y > U+064E U+0649 U+0651 ;;SHADDA +Y > U+064E U+0649 +P I P I / _ # > U+0650 U+06CC U+0651 ;; SHADDA +P I / _ # > U+0650 U+06CC ;; workaround to have ya without dots in Arabic +y y > U+064A U+0651 ;;SHADDA +y > U+064A +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +U A / _ # > U+064F U+0648 U+0627 +Q U [Uw] > U+0648 U+0651 ;;SHADDA +Q U > U+0648 +U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +U > U+064F U+0648 +w w > U+0648 U+0651 ;;SHADDA +w > U+0648 +Q u N? > +u N > U+064C +u > U+064F +V t V t > U+0679 U+0651 ;;SHADDA +V t > U+0679 ;urdu +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 ;;SHADDA +T Q AN > U+0629 +T AN > U+0629 U+064B +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0691 U+0651 ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+062C U+0651 ;;SHADDA +C g > U+062C +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+064A +I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +Q i N? > ; +i N > U+064D +i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+068A U+0651 ;;SHADDA +V d > U+068A +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0681 U+0651 ;;SHADDA +c > U+0681 ; ح with hamza above +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+064E U+0649 +UL a > U+0670 +UL u > U+0657 ; inverted damma +UL i > U+0656 ; subscript alif +Q AN / (A H|Ha) _ > ; +AN / (A H|Ha) _ > U+064B +Q AN > U+0627 +AN > U+0627 U+064B +Q a > +a > U+064E +Q A > U+0627 +A > U+064E U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +Q [VWL] > ;stripoff quoted vowels +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +BAR > ;| + +pass(Unicode) + +Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-) +Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc. +Class [VWL] = (U+0627 U+0648..U+0650 U+0670); +[CONS]=k1 / _ Z? [CONS] ^U+0651 > @k1 U+0652 ; hack: 2nd consonant has no shadda +U+064E (U+064A|U+0648)=hc / _ (^[VWLX]|#) > U+064E @hc U+0652 ; ay and aw diphtongs +U+0627 [VWL]? / [VWL] Z _ > U+0671 ; e.g. fa-isti_hraj -> wasla on initial alif +U+0627 / # _ U+0644 > U+0627 U+064E ; otherwise initial alif takes fatha +[CONS]=k1 / _ ([CONS]|#) > @k1 U+0652 ; consonant + (consonant or final) +;; [CONS]=k1 / _ # > @k1 U+0652 ; final consonant +Q > ; +Z > ; diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-fullvoc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-fullvoc.tec Binary files differindex 5973ffd9927..46a3e4c598e 100644 --- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-fullvoc.tec +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-fullvoc.tec diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-kashmiri-fullvoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-kashmiri-fullvoc.map new file mode 100644 index 00000000000..769b6bde7e8 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-kashmiri-fullvoc.map @@ -0,0 +1,513 @@ +LHSName "ArabTeX-kashmiri-fullvocalized" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h' +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: +U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH' +U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +CO O > U+06FC ; +a e > a y +a o > a w +(o|u)? O / # _ > U+0627 w +(o|u)? O > w +CO U > U+06C7 ; +e / # _ # > U+0627 U+06D2 U+0658 ; Alif + yeh barree + bow accent +e / _ # > U+06D2 U+0658 ; yeh barree + bow accent +e / # _ > U+0627 y U+0658 ; alif + ya + bow accent +e > y U+0658 +E / # _ # > U+0627 U+06D2 ; Alif + yeh barree +E / _ # > U+06D2 ; yeh barree +E / # _ > U+0627 y ; alif + ya +E > y +o / # _ > U+0627 U+06C6 +o > U+06C6 +P A > U+0672 +P U > U+0673 ; > this is the initial or lone form, but medial and final require wavy hamza below previous letter (not in Unicode)! Perhaps an OT font could solve this :: in Scheherazade the glyph needed is named _wavyHamza <<< +P a / # _ > U+0623 +P a > U+0654 +P u > U+0655 +P o / # _ > U+0627 U+06C4 +P o > U+06C4 +P O / # _ > U+0627 U+06C4 U+0627 U+064E +P O > U+06C4 U+0627 U+064E +I > y U+0656 +I / _ # > y +U / _ # > U+0627 w U+0657 +U > w U+0657 + + +;; Persian ezafe (ALL BUT ARABIC AND UIGHUR) +U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<< +U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I +Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e +Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I +Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i +Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i +Z / U+0048 _ > U+0020 ; +b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI +[VWL]=v1 / BEG _ > U+0627 @v1 +Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U +; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I +Q?=q1 I / BEG _ > U+0627 @q1 i y + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m U+0627 Hy +m Q i H a / _ (T|t) > m U+0627 Hy a +m i H Q a / _ (T|t) > m i U+0627 Hy +m i H a / _ (T|t) > m i U+0627 Hy a + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +CO z CO z > U+0636 U+0651 ;;SHADDA +CO z > U+0636 +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Q Y Y > U+0649 U+0651 ;;SHADDA +Q Y > U+0649 +Y Y > U+064E U+0649 U+0651 ;;SHADDA +Y > U+064E U+0649 +;; .b with ring below : FIXME not in Unicode! but U+06EA is a poor replacement: +P y / # _ # > U+0627 U+06D2 U+06EA +P y / _ # > U+0649 +P y > U+066E U+06EA +;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots +y y > U+06CC U+0651 ;;SHADDA +y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +U A / _ # > U+064F U+0648 U+0627 +Q U [Uw] > U+0648 U+0651 ;;SHADDA +Q U > U+0648 +U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +U > U+064F U+0648 +w w > U+0648 U+0651 ;;SHADDA +w > U+0648 +Q u N? > +u N > U+064C +u > U+064F +V t V t > U+0679 U+0651 ;;SHADDA +V t > U+0679 ;urdu +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 ;;SHADDA +T Q AN > U+0629 +T AN > U+0629 U+064B +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0691 U+0651 ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+062C U+0651 ;;SHADDA +C g > U+062C +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+064A +I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +Q i N? > ; +i N > U+064D +i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+068A U+0651 ;;SHADDA +V d > U+068A +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0681 U+0651 ;;SHADDA +c > U+0681 ; ح with hamza above +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+064E U+0649 +UL a > U+0670 +UL u > U+064F; +UL i > U+0650; +Q AN / (A H|Ha) _ > ; +AN / (A H|Ha) _ > U+064B +Q AN > U+0627 +AN > U+0627 U+064B +Q a > +a > U+064E +Q A > U+0627 +A > U+064E U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArEasternDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +Q [VWL] > ;stripoff quoted vowels +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +BAR > ;| + +pass(Unicode) + +Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-) +Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc. +Class [VWL] = (U+0627 U+0648..U+0650 U+0670); +[CONS]=k1 / _ Z? [CONS] ^U+0651 > @k1 U+0652 ; hack: 2nd consonant has no shadda +U+064E (U+064A|U+0648)=hc / _ (^[VWLX]|#) > U+064E @hc U+0652 ; ay and aw diphtongs +U+0627 / # _ U+0644 > U+0627 U+064E ; otherwise initial alif takes fatha +[CONS]=k1 / _ ([CONS]|#) > @k1 U+0652 ; consonant + (consonant or final) +;; [CONS]=k1 / _ # > @k1 U+0652 ; final consonant +Q > ; +Z > ; diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-kashmiri-novoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-kashmiri-novoc.map new file mode 100644 index 00000000000..99b2e76a64d --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-kashmiri-novoc.map @@ -0,0 +1,498 @@ +LHSName "ArabTeX-kashmiri-novowels" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h' +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: +U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH' +U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +[AVWL] > ; strip off vowels when writing UTF-8 Arabic with novoc mode +CO O > U+06FC ; +a e > a y +a o > a w +(o|u)? O / # _ > U+0627 w +(o|u)? O > w +CO U > U+06C7 ; +e / # _ # > U+0627 U+06D2 U+0658 ; Alif + yeh barree + bow accent +e / _ # > U+06D2 U+0658 ; yeh barree + bow accent +e / # _ > U+0627 y U+0658 ; alif + ya + bow accent +e > y U+0658 +E / # _ # > U+0627 U+06D2 ; Alif + yeh barree +E / _ # > U+06D2 ; yeh barree +E / # _ > U+0627 y ; alif + ya +E > y +o / # _ > U+0627 U+06C6 +o > U+06C6 +P A > U+0672 +P U > U+0673 ; > this is the initial or lone form, but medial and final require wavy hamza below previous letter (not in Unicode)! Perhaps an OT font could solve this :: in Scheherazade the glyph needed is named _wavyHamza <<< +P a / # _ > U+0623 +P a > U+0654 +P u > U+0655 +P o / # _ > U+0627 U+06C4 +P o > U+06C4 +P O / # _ > U+0627 U+06C4 U+0627 U+064E +P O > U+06C4 U+0627 U+064E +I > y U+0656 +I / _ # > y +U / _ # > U+0627 w U+0657 +U > w U+0657 + + +;; Persian ezafe (ALL BUT ARABIC AND UIGHUR) +U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<< +U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I +Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e +Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I +Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i +Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i +Z / U+0048 _ > U+0020 ; +b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0627 ; +[VWL]=v1 / BEG _ > A @v1 +Q?=q1 U / BEG _ > A @q1 u w ; -U +; Q?=q1 I / BEG _ > A @q1 i y ; -I ; but not when I is final FIXME!!! +Q?=q1 I / BEG _ > A @q1 i y ; except for Persian, coz of ezafe rules + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m Q i A Hy Q a +m Q i H a / _ (T|t) > m Q i A Hy +m i H Q a / _ (T|t) > m A Hy Q a +m i H a / _ (T|t) > m A Hy + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +CO z CO z > U+0636 U+0651 ;;SHADDA +CO z > U+0636 +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Y Y > U+0649 U+0651 ;;SHADDA +Y > U+0649 +;; .b with ring below : FIXME not in Unicode! but U+06EA is a poor replacement: +P y / # _ # > U+0627 U+06D2 U+06EA +P y / _ # > U+0649 +P y > U+066E U+06EA +;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots +y y > U+06CC U+0651 ;;SHADDA +y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +Q U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +Q U > U+064F U+0648 +[Uw] [Uw] > U+0648 U+0651 ;;SHADDA +[Uw] > U+0648 +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +Q u N > U+064C +u N > +Q u > U+064F +V t V t > U+0679 U+0651 ;;SHADDA +V t > U+0679 ;urdu +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 U+064B ;;SHADDA +T Q AN > U+0629 U+064B +T AN > U+0629 +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0691 U+0651 ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+062C U+0651 ;;SHADDA +C g > U+062C +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +I > U+064A +Q i N > U+064D +i N > ; +Q i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+068A U+0651 ;;SHADDA +V d > U+068A +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0681 U+0651 ;;SHADDA +c > U+0681 ; ح with hamza above +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+0649 +UL a > U+0670 +UL u > ; +UL i > ; +Q AN / (A H|Ha) _ > U+064B +AN / (A H|Ha) _ > ; +Q AN > U+0627 U+064B +AN > U+0627 +Q a > U+064E +Q A > U+064E U+0627 +A > U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArEasternDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +[VWL] > ;stripoff vowels +Q > U+0652 +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +Z > ;- +BAR > ;| + diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-kashmiri-novoc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-kashmiri-novoc.tec Binary files differindex 94c4aa3366b..ec6bf0a081d 100644 --- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-kashmiri-novoc.tec +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-kashmiri-novoc.tec diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-kashmiri-voc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-kashmiri-voc.map new file mode 100644 index 00000000000..791aab5df95 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-kashmiri-voc.map @@ -0,0 +1,508 @@ +LHSName "ArabTeX-kashmiri-vocalized" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h' +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: +U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH' +U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +CO O > U+06FC ; +a e > a y +a o > a w +(o|u)? O / # _ > U+0627 w +(o|u)? O > w +CO U > U+06C7 ; +e / # _ # > U+0627 U+06D2 U+0658 ; Alif + yeh barree + bow accent +e / _ # > U+06D2 U+0658 ; yeh barree + bow accent +e / # _ > U+0627 y U+0658 ; alif + ya + bow accent +e > y U+0658 +E / # _ # > U+0627 U+06D2 ; Alif + yeh barree +E / _ # > U+06D2 ; yeh barree +E / # _ > U+0627 y ; alif + ya +E > y +o / # _ > U+0627 U+06C6 +o > U+06C6 +P A > U+0672 +P U > U+0673 ; > this is the initial or lone form, but medial and final require wavy hamza below previous letter (not in Unicode)! Perhaps an OT font could solve this :: in Scheherazade the glyph needed is named _wavyHamza <<< +P a / # _ > U+0623 +P a > U+0654 +P u > U+0655 +P o / # _ > U+0627 U+06C4 +P o > U+06C4 +P O / # _ > U+0627 U+06C4 U+0627 U+064E +P O > U+06C4 U+0627 U+064E +I > y U+0656 +I / _ # > y +U / _ # > U+0627 w U+0657 +U > w U+0657 + + +;; Persian ezafe (ALL BUT ARABIC AND UIGHUR) +U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<< +U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I +Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e +Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I +Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i +Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i +Z / U+0048 _ > U+0020 ; +b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI +[VWL]=v1 / BEG _ > U+0627 @v1 +Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U +; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I +Q?=q1 I / BEG _ > U+0627 @q1 i y + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m U+0627 Hy +m Q i H a / _ (T|t) > m U+0627 Hy a +m i H Q a / _ (T|t) > m i U+0627 Hy +m i H a / _ (T|t) > m i U+0627 Hy a + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +CO z CO z > U+0636 U+0651 ;;SHADDA +CO z > U+0636 +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Q Y Y > U+0649 U+0651 ;;SHADDA +Q Y > U+0649 +Y Y > U+064E U+0649 U+0651 ;;SHADDA +Y > U+064E U+0649 +;; .b with ring below : FIXME not in Unicode! but U+06EA is a poor replacement: +P y / # _ # > U+0627 U+06D2 U+06EA +P y / _ # > U+0649 +P y > U+066E U+06EA +;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots +y y > U+06CC U+0651 ;;SHADDA +y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +U A / _ # > U+064F U+0648 U+0627 +Q U [Uw] > U+0648 U+0651 ;;SHADDA +Q U > U+0648 +U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +U > U+064F U+0648 +w w > U+0648 U+0651 ;;SHADDA +w > U+0648 +Q u N? > +u N > U+064C +u > U+064F +V t V t > U+0679 U+0651 ;;SHADDA +V t > U+0679 ;urdu +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 ;;SHADDA +T Q AN > U+0629 +T AN > U+0629 U+064B +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0691 U+0651 ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+062C U+0651 ;;SHADDA +C g > U+062C +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+064A +I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +Q i N? > ; +i N > U+064D +i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+068A U+0651 ;;SHADDA +V d > U+068A +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0681 U+0651 ;;SHADDA +c > U+0681 ; ح with hamza above +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+064E U+0649 +UL a > U+0670 +UL u > U+064F; +UL i > U+0650; +Q AN / (A H|Ha) _ > ; +AN / (A H|Ha) _ > U+064B +Q AN > U+0627 +AN > U+0627 U+064B +Q a > +a > U+064E +Q A > U+0627 +A > U+064E U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArEasternDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +Q [VWL] > ;stripoff quoted vowels +Q > U+0652 +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +BAR > ;| + +pass(Unicode) + +Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-) +Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc. +Class [VWL] = (U+0627 U+0648..U+0650 U+0670); +Z > ; diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-kurdish.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-kurdish.map new file mode 100644 index 00000000000..85c3e365354 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-kurdish.map @@ -0,0 +1,290 @@ +LHSName "ArabTeX-Kurdish" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define LLAH U+006C U+006C U+005F U+0061 U+0068 + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) + + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +(a|A) l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h' +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: +U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH' +U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL)' +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE)' +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels + +E / # _ > U+0626 U+06CE +E > U+06CE +e / # _ > U+0626 U+0647 U+200C ; h always final +e > U+0647 U+200C +i / # _ > U+0626 +Q i > U+0650 +i > ; +Q I / # _ > U+0626 U+064A U+0650 +Q I > U+064A U+0650 +I / # _ > U+0626 U+064A +I > U+064A +(a|A) / # _ > U+0626 U+0627 +(a|A) > U+0627 +(o|O) / # _ > U+0626 U+06C6 +(o|O) > U+06C6 +u / # _ > U+0626 U+0648 +u > U+0648 +U / # _ > U+0626 U+0648 U+0648 +U > U+0648 U+0648 +Ain e > U+0639 U+0647 U+200C + + +P z P z > U+0638 U+0651 ;;SHADDA +P z > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;pashto ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Y Y > U+0649 U+0651 ;;SHADDA +Y > U+0649 +w w > U+0648 U+0651 ;;SHADDA +w > U+0648 +y y > U+064A U+0651 ;;SHADDA +y > U+064A +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +V t V t > U+0679 U+0651 ; urdu ;;SHADDA +V t > U+0679 +UL t UL t > U+062B U+0651 ;;SHADDA +UL t > U+062B +P t P t > U+0637 U+0651 ;;SHADDA +P t > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +(C|V) s (C|V) s > U+0634 U+0651 ;;SHADDA +(C|V) s > U+0634 +P s P s > U+0635 U+0651 ;;SHADDA +P s > U+0635 +CO s CO s > U+069B U+0651 +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +;; also missing U+0694 : r with dot below +V r V r > U+0694 U+0651 ;Kurdish ;;SHADDA +V r > U+0694 +C r C r > U+0692 U+0651 ;Kurdish ;;SHADDA ; missing in ArabTeX <<< +C r > U+0692 +P r P r > U+0695 U+0651 ;Kurdish ;;SHADDA +P r > U+0695 +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ; urdu ;;SHADDA +P n > U+06BA ; +V n V n > U+06BC U+0651 ; Pashto +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;kurdish ;;SHADDA +C l > U+06B5 +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ; pashto urdu ;;SHADDA +P k > U+06A9 +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +c c > U+062C U+0651 ;;SHADDA +c > U+062C +x x > U+062E U+0651 ;;SHADDA +x > U+062E +j j > U+0698 U+0651 ;;SHADDA +j > U+0698 +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +P h P h > U+062D U+0651 ;;SHADDA +P h > U+062D +V h V h > U+06C1 U+0651 +V h > U+06C1 +h h > U+200C U+06BE U+0651 ;;SHADDA +h > U+200C U+06BE ; h always initial form +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P (g|x) P (g|x) > U+063A U+0651 ;;SHADDA +P (g|x) > U+063A +C g C g > U+063A U+0651 ;;SHADDA +C g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;pashto ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+0688 U+0651 ;urdu ;;SHADDA +V d > U+0688 ;urdu +C d C d > U+06EE ; not defined in ArabTeX U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +UL d UL d > U+0630 U+0651 ;;SHADDA +UL d > U+0630 +P d P d > U+0636 U+0651 ;;SHADDA +P d > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +(C|V) c (C|V) c > U+0686 U+0651 ;;SHADDA +(C|V) c > U+0686 +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H > U+0626 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / . _ . > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... +U+005B / . _ . > U+200D U+005B U+200D ; ... (but of course this screws up contextual analysis, so quoting of hamzas etc may be necessary) +Q > ; +N > ; +C > ;^ +Z > ;- +BAR > ;| + + diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-maghribi-fullvoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-maghribi-fullvoc.map new file mode 100644 index 00000000000..70154d32267 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-maghribi-fullvoc.map @@ -0,0 +1,482 @@ +LHSName "ArabTeX-maghribi-fullvocalized" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h' +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: +U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH' +U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +CO O > U+06FC ; +a e > a y +a o > a w +CO U > U+06C7 ; +e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish) +o > u +E > I +O > U + + + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +H l Z / BEG _ > U+0671 l Z ; THIS IS NOT AN ARABTEX CONVENTION! it's a work-around coz pattern-matching across word boundaries does not work in teckit , so min al- must be written mina 'l- in fullvocalize mode +;; wasla on initial alif : NEW! NOT TESTED! +[VWL]=v1 Z / BEG _ > @v1 U+0671 ; THIS IS NOT AN ARABTEX CONVENTION! it's a work-around coz pattern-matching across word boundaries does not work in teckit , so huwa irtifA` must be written huwa i-rtifA` in fullvocalize mode +H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI +[VWL]=v1 / BEG _ > U+0627 @v1 +A / BEG _ > U+0627 a +Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U +; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I +Q?=q1 I / BEG _ > U+0627 @q1 i y + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m U+0627 Hy +m Q i H a / _ (T|t) > m U+0627 Hy a +m i H Q a / _ (T|t) > m i U+0627 Hy +m i H a / _ (T|t) > m i U+0627 Hy a + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Q Y Y > U+0649 U+0651 ;;SHADDA +Q Y > U+0649 +Y Y > U+064E U+0649 U+0651 ;;SHADDA +Y > U+064E U+0649 +P I P I / _ # > U+0650 U+06CC U+0651 ;; SHADDA +P I / _ # > U+0650 U+06CC ;; workaround to have ya without dots in Arabic +y y > U+064A U+0651 ;;SHADDA +y > U+064A +v v > U+06A5 U+0651 ;;SHADDA +v > U+06A5 ;; maghribi +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +U A / _ # > U+064F U+0648 U+0627 +Q U [Uw] > U+0648 U+0651 ;;SHADDA +Q U > U+0648 +U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +U > U+064F U+0648 +w w > U+0648 U+0651 ;;SHADDA +w > U+0648 +Q u N? > +u N > U+064C +u > U+064F +V t V t > U+0679 U+0651 ;;SHADDA +V t > U+0679 ;urdu +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 ;;SHADDA +T Q AN > U+0629 +T AN > U+0629 U+064B +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0691 U+0651 ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+06A7 U+0651 ;; maghribi +q > U+06A7 ;; maghribi +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+062C U+0651 ;;SHADDA +C g > U+062C +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+064A +I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +Q i N? > ; +i N > U+064D +i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+06A2 U+0651 ;; SHADDA +f > U+06A2 ;; maghribi +V d V d > U+068A U+0651 ;;SHADDA +V d > U+068A +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0681 U+0651 ;;SHADDA +c > U+0681 ; ح with hamza above +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+064E U+0649 +UL a > U+0670 +UL u > U+0657 ; inverted damma +UL i > U+0656 ; subscript alif +Q AN / (A H|Ha) _ > ; +AN / (A H|Ha) _ > U+064B +Q AN > U+0627 +AN > U+0627 U+064B +Q a > +a > U+064E +Q A > U+0627 +A > U+064E U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +Q [VWL] > ;stripoff quoted vowels +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +BAR > ;| + +pass(Unicode) + +Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-) +Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc. +Class [VWL] = (U+0627 U+0648..U+0650 U+0670); +[CONS]=k1 / _ Z? [CONS] ^U+0651 > @k1 U+0652 ; hack: 2nd consonant has no shadda +U+064E (U+064A|U+0648)=hc / _ (^[VWLX]|#) > U+064E @hc U+0652 ; ay and aw diphtongs +U+0627 [VWL]? / [VWL] Z _ > U+0671 ; e.g. fa-isti_hraj -> wasla on initial alif +U+0627 / # _ U+0644 > U+0627 U+064E ; otherwise initial alif takes fatha +[CONS]=k1 / _ ([CONS]|#) > @k1 U+0652 ; consonant + (consonant or final) +;; [CONS]=k1 / _ # > @k1 U+0652 ; final consonant +Q > ; +Z > ; diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-maghribi-fullvoc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-maghribi-fullvoc.tec Binary files differindex 86c641da78f..f475104efeb 100644 --- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-maghribi-fullvoc.tec +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-maghribi-fullvoc.tec diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-maghribi-novoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-maghribi-novoc.map new file mode 100644 index 00000000000..237c45ab8e6 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-maghribi-novoc.map @@ -0,0 +1,465 @@ +LHSName "ArabTeX-maghribi-novowels" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h' +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: +U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH' +U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +[AVWL] > ; strip off vowels when writing UTF-8 Arabic with novoc mode +CO O > U+06FC ; +a e > a y +a o > a w +CO U > U+06C7 ; +e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish) +o > u +E > I +O > U + + + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +H l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0627 ; +[VWL]=v1 / BEG _ > A @v1 +A / BEG _ > A a +Q?=q1 U / BEG _ > A @q1 u w ; -U +; Q?=q1 I / BEG _ > A @q1 i y ; -I ; but not when I is final FIXME!!! +Q?=q1 I / BEG _ > A @q1 i y ; except for Persian, coz of ezafe rules + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m Q i A Hy Q a +m Q i H a / _ (T|t) > m Q i A Hy +m i H Q a / _ (T|t) > m A Hy Q a +m i H a / _ (T|t) > m A Hy + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Y Y > U+0649 U+0651 ;;SHADDA +Y > U+0649 +P I P I / _ # > U+06CC U+0651 ;; SHADDA +P I / _ # > U+06CC ;; workaround to have ya without dots in Arabic +y y > U+064A U+0651 ;;SHADDA +y > U+064A +v v > U+06A5 U+0651 ;;SHADDA +v > U+06A5 ;; maghribi +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +Q U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +Q U > U+064F U+0648 +[Uw] [Uw] > U+0648 U+0651 ;;SHADDA +[Uw] > U+0648 +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +Q u N > U+064C +u N > +Q u > U+064F +V t V t > U+0679 U+0651 ;;SHADDA +V t > U+0679 ;urdu +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 U+064B ;;SHADDA +T Q AN > U+0629 U+064B +T AN > U+0629 +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0691 U+0651 ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+06A7 U+0651 ;; maghribi +q > U+06A7 ;; maghribi +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+062C U+0651 ;;SHADDA +C g > U+062C +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +I > U+064A +Q i N > U+064D +i N > ; +Q i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+06A2 U+0651 ;; SHADDA +f > U+06A2 ;; maghribi +V d V d > U+068A U+0651 ;;SHADDA +V d > U+068A +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0681 U+0651 ;;SHADDA +c > U+0681 ; ح with hamza above +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+0649 +UL a > U+0670 +UL u > U+0657 ; inverted damma +UL i > U+0656 ; subscript alif +Q AN / (A H|Ha) _ > U+064B +AN / (A H|Ha) _ > ; +Q AN > U+0627 U+064B +AN > U+0627 +Q a > U+064E +Q A > U+064E U+0627 +A > U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +[VWL] > ;stripoff vowels +Q > U+0652 +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +Z > ;- +BAR > ;| + diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-maghribi-novoc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-maghribi-novoc.tec Binary files differindex 1c14ab69492..2bc13123142 100644 --- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-maghribi-novoc.tec +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-maghribi-novoc.tec diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-maghribi-voc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-maghribi-voc.map new file mode 100644 index 00000000000..c85d129e046 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-maghribi-voc.map @@ -0,0 +1,476 @@ +LHSName "ArabTeX-maghribi-vocalized" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h' +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: +U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH' +U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +CO O > U+06FC ; +a e > a y +a o > a w +CO U > U+06C7 ; +e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish) +o > u +E > I +O > U + + + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +H l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI +[VWL]=v1 / BEG _ > U+0627 @v1 +A / BEG _ > U+0627 a +Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U +; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I +Q?=q1 I / BEG _ > U+0627 @q1 i y + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m U+0627 Hy +m Q i H a / _ (T|t) > m U+0627 Hy a +m i H Q a / _ (T|t) > m i U+0627 Hy +m i H a / _ (T|t) > m i U+0627 Hy a + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Q Y Y > U+0649 U+0651 ;;SHADDA +Q Y > U+0649 +Y Y > U+064E U+0649 U+0651 ;;SHADDA +Y > U+064E U+0649 +P I P I / _ # > U+0650 U+06CC U+0651 ;; SHADDA +P I / _ # > U+0650 U+06CC ;; workaround to have ya without dots in Arabic +y y > U+064A U+0651 ;;SHADDA +y > U+064A +v v > U+06A5 U+0651 ;;SHADDA +v > U+06A5 ;; maghribi +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +U A / _ # > U+064F U+0648 U+0627 +Q U [Uw] > U+0648 U+0651 ;;SHADDA +Q U > U+0648 +U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +U > U+064F U+0648 +w w > U+0648 U+0651 ;;SHADDA +w > U+0648 +Q u N? > +u N > U+064C +u > U+064F +V t V t > U+0679 U+0651 ;;SHADDA +V t > U+0679 ;urdu +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 ;;SHADDA +T Q AN > U+0629 +T AN > U+0629 U+064B +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0691 U+0651 ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+06A7 U+0651 ;; maghribi +q > U+06A7 ;; maghribi +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+062C U+0651 ;;SHADDA +C g > U+062C +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+064A +I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +Q i N? > ; +i N > U+064D +i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+06A2 U+0651 ;; SHADDA +f > U+06A2 ;; maghribi +V d V d > U+068A U+0651 ;;SHADDA +V d > U+068A +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0681 U+0651 ;;SHADDA +c > U+0681 ; ح with hamza above +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+064E U+0649 +UL a > U+0670 +UL u > U+0657 ; inverted damma +UL i > U+0656 ; subscript alif +Q AN / (A H|Ha) _ > ; +AN / (A H|Ha) _ > U+064B +Q AN > U+0627 +AN > U+0627 U+064B +Q a > +a > U+064E +Q A > U+0627 +A > U+064E U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +Q [VWL] > ;stripoff quoted vowels +Q > U+0652 +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +BAR > ;| + +pass(Unicode) + +Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-) +Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc. +Class [VWL] = (U+0627 U+0648..U+0650 U+0670); +U+0627 [VWL]? / [VWL] Z _ > U+0627 ; e.g. fa-isti_hraj -> initial alif has no vowel +Z > ; diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-malay-fullvoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-malay-fullvoc.map new file mode 100644 index 00000000000..ff1726ac820 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-malay-fullvoc.map @@ -0,0 +1,485 @@ +LHSName "ArabTeX-malay-fullvocalized" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h' +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: +U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH' +U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +CO O > U+06FC ; +a e > a y +a o > a w +CO U > U+06C7 ; +e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish) +o > u + + +;; Persian ezafe (ALL BUT ARABIC AND UIGHUR) +U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<< +U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I +Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e +Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I +Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i +Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i +Z / U+0048 _ > U+0020 ; +b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI +[VWL]=v1 / BEG _ > U+0627 @v1 +Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U +; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I +Q?=q1 I / BEG _ > U+0627 @q1 i y + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m U+0627 Hy +m Q i H a / _ (T|t) > m U+0627 Hy a +m i H Q a / _ (T|t) > m i U+0627 Hy +m i H a / _ (T|t) > m i U+0627 Hy a + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Q Y Y > U+0649 U+0651 ;;SHADDA +Q Y > U+0649 +Y Y > U+064E U+0649 U+0651 ;;SHADDA +Y > U+064E U+0649 +P I P I / _ # > U+0650 U+06CC U+0651 ;; SHADDA +P I / _ # > U+0650 U+06CC ;; workaround to have ya without dots in Arabic +y y > U+064A U+0651 ;;SHADDA +y > U+064A +v v > U+06CF U+0651 ;;SHADDA +v > U+06CF +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +U A / _ # > U+064F U+0648 U+0627 +Q U [Uw] > U+0648 U+0651 ;;SHADDA +Q U > U+0648 +U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +U > U+064F U+0648 +w w > U+0648 U+0651 ;;SHADDA +w > U+0648 +Q u N? > +u N > U+064C +u > U+064F +V t V t > U+0679 U+0651 ;;SHADDA +V t > U+0679 ;urdu +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 ;;SHADDA +T Q AN > U+0629 +T AN > U+0629 U+064B +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0691 U+0651 ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+06A8 U+0651 ;;SHADDA +p > U+06A8 ;Old malay +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06BD U+0651 ;;SHADDA +C n > U+06BD ; <<< ArabTeX yields nūn with three dots below, which is not in Unicode! +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+06A0 U+0651 ;;SHADDA +C g > U+06A0 +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+064A +I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +Q i N? > ; +i N > U+064D +i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+0762 U+0651 ;;SHADDA +g > U+0762 +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+068A U+0651 ;;SHADDA +V d > U+068A +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0686 U+0651 ;;SHADDA +c > U+0686 +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+064E U+0649 +UL a > U+0670 +UL u > U+064F; +UL i > U+0650; +Q AN / (A H|Ha) _ > ; +AN / (A H|Ha) _ > U+064B +Q AN > U+0627 +AN > U+0627 U+064B +Q a > +a > U+064E +Q A > U+0627 +A > U+064E U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +Q [VWL] > ;stripoff quoted vowels +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +BAR > ;| + +pass(Unicode) + +Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-) +Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc. +Class [VWL] = (U+0627 U+0648..U+0650 U+0670); +[CONS]=k1 / _ Z? [CONS] ^U+0651 > @k1 U+0652 ; hack: 2nd consonant has no shadda +U+064E (U+064A|U+0648)=hc / _ (^[VWLX]|#) > U+064E @hc U+0652 ; ay and aw diphtongs +U+0627 / # _ U+0644 > U+0627 U+064E ; otherwise initial alif takes fatha +[CONS]=k1 / _ ([CONS]|#) > @k1 U+0652 ; consonant + (consonant or final) +;; [CONS]=k1 / _ # > @k1 U+0652 ; final consonant +Q > ; +Z > ; diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-malay-novoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-malay-novoc.map new file mode 100644 index 00000000000..36ab97dcdb2 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-malay-novoc.map @@ -0,0 +1,470 @@ +LHSName "ArabTeX-malay-novowels" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h' +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: +U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH' +U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +[AVWL] > ; strip off vowels when writing UTF-8 Arabic with novoc mode +CO O > U+06FC ; +a e > a y +a o > a w +CO U > U+06C7 ; +e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish) +o > u + + +;; Persian ezafe (ALL BUT ARABIC AND UIGHUR) +U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<< +U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I +Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e +Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I +Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i +Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i +Z / U+0048 _ > U+0020 ; +b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0627 ; +[VWL]=v1 / BEG _ > A @v1 +Q?=q1 U / BEG _ > A @q1 u w ; -U +; Q?=q1 I / BEG _ > A @q1 i y ; -I ; but not when I is final FIXME!!! +Q?=q1 I / BEG _ > A @q1 i y ; except for Persian, coz of ezafe rules + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m Q i A Hy Q a +m Q i H a / _ (T|t) > m Q i A Hy +m i H Q a / _ (T|t) > m A Hy Q a +m i H a / _ (T|t) > m A Hy + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Y Y > U+0649 U+0651 ;;SHADDA +Y > U+0649 +P I P I / _ # > U+06CC U+0651 ;; SHADDA +P I / _ # > U+06CC ;; workaround to have ya without dots in Arabic +y y > U+064A U+0651 ;;SHADDA +y > U+064A +v v > U+06CF U+0651 ;;SHADDA +v > U+06CF +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +Q U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +Q U > U+064F U+0648 +[Uw] [Uw] > U+0648 U+0651 ;;SHADDA +[Uw] > U+0648 +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +Q u N > U+064C +u N > +Q u > U+064F +V t V t > U+0679 U+0651 ;;SHADDA +V t > U+0679 ;urdu +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 U+064B ;;SHADDA +T Q AN > U+0629 U+064B +T AN > U+0629 +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0691 U+0651 ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+06A8 U+0651 ;;SHADDA +p > U+06A8 ;Old malay +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06BD U+0651 ;;SHADDA +C n > U+06BD ; <<< ArabTeX yields nūn with three dots below, which is not in Unicode! +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+06A0 U+0651 ;;SHADDA +C g > U+06A0 +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +I > U+064A +Q i N > U+064D +i N > ; +Q i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+0762 U+0651 ;;SHADDA +g > U+0762 +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+068A U+0651 ;;SHADDA +V d > U+068A +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0686 U+0651 ;;SHADDA +c > U+0686 +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+0649 +UL a > U+0670 +UL u > ; +UL i > ; +Q AN / (A H|Ha) _ > U+064B +AN / (A H|Ha) _ > ; +Q AN > U+0627 U+064B +AN > U+0627 +Q a > U+064E +Q A > U+064E U+0627 +A > U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +[VWL] > ;stripoff vowels +Q > U+0652 +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +Z > ;- +BAR > ;| + diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-malay-novoc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-malay-novoc.tec Binary files differindex 50e772e74e6..691e4718dd0 100644 --- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-malay-novoc.tec +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-malay-novoc.tec diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-malay-voc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-malay-voc.map new file mode 100644 index 00000000000..d73e75b98d0 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-malay-voc.map @@ -0,0 +1,480 @@ +LHSName "ArabTeX-malay-vocalized" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h' +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: +U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH' +U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +CO O > U+06FC ; +a e > a y +a o > a w +CO U > U+06C7 ; +e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish) +o > u + + +;; Persian ezafe (ALL BUT ARABIC AND UIGHUR) +U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<< +U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I +Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e +Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I +Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i +Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i +Z / U+0048 _ > U+0020 ; +b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI +[VWL]=v1 / BEG _ > U+0627 @v1 +Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U +; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I +Q?=q1 I / BEG _ > U+0627 @q1 i y + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m U+0627 Hy +m Q i H a / _ (T|t) > m U+0627 Hy a +m i H Q a / _ (T|t) > m i U+0627 Hy +m i H a / _ (T|t) > m i U+0627 Hy a + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Q Y Y > U+0649 U+0651 ;;SHADDA +Q Y > U+0649 +Y Y > U+064E U+0649 U+0651 ;;SHADDA +Y > U+064E U+0649 +P I P I / _ # > U+0650 U+06CC U+0651 ;; SHADDA +P I / _ # > U+0650 U+06CC ;; workaround to have ya without dots in Arabic +y y > U+064A U+0651 ;;SHADDA +y > U+064A +v v > U+06CF U+0651 ;;SHADDA +v > U+06CF +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +U A / _ # > U+064F U+0648 U+0627 +Q U [Uw] > U+0648 U+0651 ;;SHADDA +Q U > U+0648 +U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +U > U+064F U+0648 +w w > U+0648 U+0651 ;;SHADDA +w > U+0648 +Q u N? > +u N > U+064C +u > U+064F +V t V t > U+0679 U+0651 ;;SHADDA +V t > U+0679 ;urdu +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 ;;SHADDA +T Q AN > U+0629 +T AN > U+0629 U+064B +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0691 U+0651 ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+06A8 U+0651 ;;SHADDA +p > U+06A8 ;Old malay +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06BD U+0651 ;;SHADDA +C n > U+06BD ; <<< ArabTeX yields nūn with three dots below, which is not in Unicode! +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+06A0 U+0651 ;;SHADDA +C g > U+06A0 +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+064A +I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +Q i N? > ; +i N > U+064D +i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+0762 U+0651 ;;SHADDA +g > U+0762 +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+068A U+0651 ;;SHADDA +V d > U+068A +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0686 U+0651 ;;SHADDA +c > U+0686 +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+064E U+0649 +UL a > U+0670 +UL u > U+064F; +UL i > U+0650; +Q AN / (A H|Ha) _ > ; +AN / (A H|Ha) _ > U+064B +Q AN > U+0627 +AN > U+0627 U+064B +Q a > +a > U+064E +Q A > U+0627 +A > U+064E U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +Q [VWL] > ;stripoff quoted vowels +Q > U+0652 +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +BAR > ;| + +pass(Unicode) + +Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-) +Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc. +Class [VWL] = (U+0627 U+0648..U+0650 U+0670); +Z > ; diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-novoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-novoc.map new file mode 100644 index 00000000000..152faffe029 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-novoc.map @@ -0,0 +1,465 @@ +LHSName "ArabTeX-novowels" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h' +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: +U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH' +U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +[AVWL] > ; strip off vowels when writing UTF-8 Arabic with novoc mode +CO O > U+06FC ; +a e > a y +a o > a w +CO U > U+06C7 ; +e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish) +o > u +E > I +O > U + + + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +H l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0627 ; +[VWL]=v1 / BEG _ > A @v1 +A / BEG _ > A a +Q?=q1 U / BEG _ > A @q1 u w ; -U +; Q?=q1 I / BEG _ > A @q1 i y ; -I ; but not when I is final FIXME!!! +Q?=q1 I / BEG _ > A @q1 i y ; except for Persian, coz of ezafe rules + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m Q i A Hy Q a +m Q i H a / _ (T|t) > m Q i A Hy +m i H Q a / _ (T|t) > m A Hy Q a +m i H a / _ (T|t) > m A Hy + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Y Y > U+0649 U+0651 ;;SHADDA +Y > U+0649 +P I P I / _ # > U+06CC U+0651 ;; SHADDA +P I / _ # > U+06CC ;; workaround to have ya without dots in Arabic +y y > U+064A U+0651 ;;SHADDA +y > U+064A +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +Q U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +Q U > U+064F U+0648 +[Uw] [Uw] > U+0648 U+0651 ;;SHADDA +[Uw] > U+0648 +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +Q u N > U+064C +u N > +Q u > U+064F +V t V t > U+0679 U+0651 ;;SHADDA +V t > U+0679 ;urdu +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 U+064B ;;SHADDA +T Q AN > U+0629 U+064B +T AN > U+0629 +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0691 U+0651 ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+062C U+0651 ;;SHADDA +C g > U+062C +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +I > U+064A +Q i N > U+064D +i N > ; +Q i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+068A U+0651 ;;SHADDA +V d > U+068A +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0681 U+0651 ;;SHADDA +c > U+0681 ; ح with hamza above +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+0649 +UL a > U+0670 +UL u > U+0657 ; inverted damma +UL i > U+0656 ; subscript alif +Q AN / (A H|Ha) _ > U+064B +AN / (A H|Ha) _ > ; +Q AN > U+0627 U+064B +AN > U+0627 +Q a > U+064E +Q A > U+064E U+0627 +A > U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +[VWL] > ;stripoff vowels +Q > U+0652 +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +Z > ;- +BAR > ;| + diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-novoc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-novoc.tec Binary files differindex 779020ebab9..9e0f4c98f80 100644 --- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-novoc.tec +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-novoc.tec diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-pashto-fullvoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-pashto-fullvoc.map new file mode 100644 index 00000000000..7b4d8a0fcc2 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-pashto-fullvoc.map @@ -0,0 +1,491 @@ +LHSName "ArabTeX-pashto-fullvocalized" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h' +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: +U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH' +U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +a e > a U+0626 +E e > U+0659 U+06CD +e e > U+0659 U+0626 +E > U+0659 U+06D0 +CO O > U+06FC ; +O > U+0657 w +o > U+0657 +a o > a w +CO U > U+06C7 ; +e > U+0659 +I / _ # > i y + + +;; Persian ezafe (ALL BUT ARABIC AND UIGHUR) +U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<< +U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I +Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e +Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I +Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i +Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i +Z / U+0048 _ > U+0020 ; +b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI +[VWL]=v1 / BEG _ > U+0627 @v1 +Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U +; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I +Q?=q1 I / BEG _ > U+0627 @q1 i y + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m U+0627 Hy +m Q i H a / _ (T|t) > m U+0627 Hy a +m i H Q a / _ (T|t) > m i U+0627 Hy +m i H a / _ (T|t) > m i U+0627 Hy a + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Q Y Y > U+0649 U+0651 ;;SHADDA +Q Y > U+0649 +Y Y > U+064E U+0649 U+0651 ;;SHADDA +Y > U+064E U+0649 +;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots +y y > U+06CC U+0651 ;;SHADDA +y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +U A / _ # > U+064F U+0648 U+0627 +Q U [Uw] > U+0648 U+0651 ;;SHADDA +Q U > U+0648 +U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +U > U+064F U+0648 +w w > U+0648 U+0651 ;;SHADDA +w > U+0648 +Q u N? > +u N > U+064C +u > U+064F +V t V t > U+067C U+0651 ;;SHADDA +V t > U+067C ; pashto +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 ;;SHADDA +T Q AN > U+0629 +T AN > U+0629 U+064B +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0693 U+0651 ;;SHADDA +V r > U+0693 ;Pashto +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+062C U+0651 ;;SHADDA +C g > U+062C +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+064A +I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +Q i N? > ; +i N > U+064D +i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +U+0048 Z > U+0647 U+200C U+0020 ;eH-suffix > eH suffix +U+0048 > U+0647 U+200C ; H is always heh final +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+0689 U+0651 ;;SHADDA +V d > U+0689 ;pashto +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0681 U+0651 ;;SHADDA +c > U+0681 ; ح with hamza above +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+064E U+0649 +UL a > U+0670 +UL u > U+064F; +UL i > U+0650; +Q AN / (A H|Ha) _ > ; +AN / (A H|Ha) _ > U+064B +Q AN > U+0627 +AN > U+0627 U+064B +Q a > +a > U+064E +Q A > U+0627 +A > U+064E U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArEasternDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +Q [VWL] > ;stripoff quoted vowels +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +BAR > ;| + +pass(Unicode) + +Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-) +Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc. +Class [VWL] = (U+0627 U+0648..U+0650 U+0670); +[CONS]=k1 / _ Z? [CONS] ^U+0651 > @k1 U+0652 ; hack: 2nd consonant has no shadda +U+064E (U+064A|U+0648)=hc / _ (^[VWLX]|#) > U+064E @hc U+0652 ; ay and aw diphtongs +U+0627 / # _ U+0644 > U+0627 U+064E ; otherwise initial alif takes fatha +[CONS]=k1 / _ ([CONS]|#) > @k1 U+0652 ; consonant + (consonant or final) +;; [CONS]=k1 / _ # > @k1 U+0652 ; final consonant +Q > ; +Z > ; diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-pashto-novoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-pashto-novoc.map new file mode 100644 index 00000000000..62536030416 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-pashto-novoc.map @@ -0,0 +1,476 @@ +LHSName "ArabTeX-pashto-novowels" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h' +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: +U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH' +U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +[AVWL] > ; strip off vowels when writing UTF-8 Arabic with novoc mode +a e > a U+0626 +E e > U+0659 U+06CD +e e > U+0659 U+0626 +E > U+0659 U+06D0 +CO O > U+06FC ; +O > U+0657 w +o > U+0657 +a o > a w +CO U > U+06C7 ; +e > U+0659 +I / _ # > i y + + +;; Persian ezafe (ALL BUT ARABIC AND UIGHUR) +U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<< +U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I +Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e +Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I +Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i +Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i +Z / U+0048 _ > U+0020 ; +b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0627 ; +[VWL]=v1 / BEG _ > A @v1 +Q?=q1 U / BEG _ > A @q1 u w ; -U +; Q?=q1 I / BEG _ > A @q1 i y ; -I ; but not when I is final FIXME!!! +Q?=q1 I / BEG _ > A @q1 i y ; except for Persian, coz of ezafe rules + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m Q i A Hy Q a +m Q i H a / _ (T|t) > m Q i A Hy +m i H Q a / _ (T|t) > m A Hy Q a +m i H a / _ (T|t) > m A Hy + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Y Y > U+0649 U+0651 ;;SHADDA +Y > U+0649 +;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots +y y > U+06CC U+0651 ;;SHADDA +y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +Q U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +Q U > U+064F U+0648 +[Uw] [Uw] > U+0648 U+0651 ;;SHADDA +[Uw] > U+0648 +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +Q u N > U+064C +u N > +Q u > U+064F +V t V t > U+067C U+0651 ;;SHADDA +V t > U+067C ; pashto +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 U+064B ;;SHADDA +T Q AN > U+0629 U+064B +T AN > U+0629 +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0693 U+0651 ;;SHADDA +V r > U+0693 ;Pashto +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+062C U+0651 ;;SHADDA +C g > U+062C +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +I > U+064A +Q i N > U+064D +i N > ; +Q i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +U+0048 Z > U+0647 U+200C U+0020 ;eH-suffix > eH suffix +U+0048 > U+0647 U+200C ; H is always heh final +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+0689 U+0651 ;;SHADDA +V d > U+0689 ;pashto +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0681 U+0651 ;;SHADDA +c > U+0681 ; ح with hamza above +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+0649 +UL a > U+0670 +UL u > ; +UL i > ; +Q AN / (A H|Ha) _ > U+064B +AN / (A H|Ha) _ > ; +Q AN > U+0627 U+064B +AN > U+0627 +Q a > U+064E +Q A > U+064E U+0627 +A > U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArEasternDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +[VWL] > ;stripoff vowels +Q > U+0652 +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +Z > ;- +BAR > ;| + diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-pashto-novoc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-pashto-novoc.tec Binary files differindex 0f9aac708b3..14a35b434d8 100644 --- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-pashto-novoc.tec +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-pashto-novoc.tec diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-pashto-voc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-pashto-voc.map new file mode 100644 index 00000000000..09ca243a912 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-pashto-voc.map @@ -0,0 +1,486 @@ +LHSName "ArabTeX-pashto-vocalized" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h' +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: +U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH' +U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +a e > a U+0626 +E e > U+0659 U+06CD +e e > U+0659 U+0626 +E > U+0659 U+06D0 +CO O > U+06FC ; +O > U+0657 w +o > U+0657 +a o > a w +CO U > U+06C7 ; +e > U+0659 +I / _ # > i y + + +;; Persian ezafe (ALL BUT ARABIC AND UIGHUR) +U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<< +U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I +Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e +Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I +Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i +Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i +Z / U+0048 _ > U+0020 ; +b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI +[VWL]=v1 / BEG _ > U+0627 @v1 +Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U +; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I +Q?=q1 I / BEG _ > U+0627 @q1 i y + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m U+0627 Hy +m Q i H a / _ (T|t) > m U+0627 Hy a +m i H Q a / _ (T|t) > m i U+0627 Hy +m i H a / _ (T|t) > m i U+0627 Hy a + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Q Y Y > U+0649 U+0651 ;;SHADDA +Q Y > U+0649 +Y Y > U+064E U+0649 U+0651 ;;SHADDA +Y > U+064E U+0649 +;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots +y y > U+06CC U+0651 ;;SHADDA +y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +U A / _ # > U+064F U+0648 U+0627 +Q U [Uw] > U+0648 U+0651 ;;SHADDA +Q U > U+0648 +U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +U > U+064F U+0648 +w w > U+0648 U+0651 ;;SHADDA +w > U+0648 +Q u N? > +u N > U+064C +u > U+064F +V t V t > U+067C U+0651 ;;SHADDA +V t > U+067C ; pashto +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 ;;SHADDA +T Q AN > U+0629 +T AN > U+0629 U+064B +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0693 U+0651 ;;SHADDA +V r > U+0693 ;Pashto +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+062C U+0651 ;;SHADDA +C g > U+062C +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+064A +I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +Q i N? > ; +i N > U+064D +i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +U+0048 Z > U+0647 U+200C U+0020 ;eH-suffix > eH suffix +U+0048 > U+0647 U+200C ; H is always heh final +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+0689 U+0651 ;;SHADDA +V d > U+0689 ;pashto +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0681 U+0651 ;;SHADDA +c > U+0681 ; ح with hamza above +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+064E U+0649 +UL a > U+0670 +UL u > U+064F; +UL i > U+0650; +Q AN / (A H|Ha) _ > ; +AN / (A H|Ha) _ > U+064B +Q AN > U+0627 +AN > U+0627 U+064B +Q a > +a > U+064E +Q A > U+0627 +A > U+064E U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArEasternDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +Q [VWL] > ;stripoff quoted vowels +Q > U+0652 +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +BAR > ;| + +pass(Unicode) + +Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-) +Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc. +Class [VWL] = (U+0627 U+0648..U+0650 U+0670); +Z > ; diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-sindhi-fullvoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-sindhi-fullvoc.map new file mode 100644 index 00000000000..477d056b134 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-sindhi-fullvoc.map @@ -0,0 +1,461 @@ +LHSName "ArabTeX-sindhi-fullvocalized" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h' +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: +U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH' +U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +CO O > U+06FC ; +a e > a y +a o > a w +(o|u)? O / # _ > U+0627 w +(o|u)? O > w +CO U > U+06C7 ; +e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish) +o > u + + +;; Persian ezafe (ALL BUT ARABIC AND UIGHUR) +U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<< +U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I +Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e +Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I +Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i +Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i +Z / U+0048 _ > U+0020 ; +b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI +[VWL]=v1 / BEG _ > U+0627 @v1 +Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U +; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I +Q?=q1 I / BEG _ > U+0627 @q1 i y + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m U+0627 Hy +m Q i H a / _ (T|t) > m U+0627 Hy a +m i H Q a / _ (T|t) > m i U+0627 Hy +m i H a / _ (T|t) > m i U+0627 Hy a + + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + +;; special code for sindhi +;; U+004D U+0049 U+004E > U+06FE ; define macro \MIN in sindhi env +P m I N > U+06FE ; .mIN +;; U+0049 U+004E > U+06FD ; IN define macro \IN in sindhi env +H BAR I N > U+06FD ; '|IN + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Q Y Y > U+0649 U+0651 ;;SHADDA +Q Y > U+0649 +Y Y > U+064E U+0649 U+0651 ;;SHADDA +Y > U+064E U+0649 +P I P I / _ # > U+0650 U+06CC U+0651 ;; SHADDA +P I / _ # > U+0650 U+06CC ;; workaround to have ya without dots in Arabic +y y > U+064A U+0651 ;;SHADDA +y > U+064A +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +U A / _ # > U+064F U+0648 U+0627 +Q U [Uw] > U+0648 U+0651 ;;SHADDA +Q U > U+0648 +U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +U > U+064F U+0648 +w w > U+0648 U+0651 ;;SHADDA +w > U+0648 +Q u N? > +u N > U+064C +u > U+064F +V t h V t h > U+067A U+0651 ;;SHADDA +V t h > U+067A +t h t h > U+067F U+0651 ;;SHADDA +t h > U+067F +V t V t > U+067D U+0651 ;;SHADDA +V t > U+067D +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 ;;SHADDA +T Q AN > U+0629 +T AN > U+0629 U+064B +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0699 U+0651 ;;SHADDA +V r > U+0699 +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p h p h > U+06A6 U+0651 ;;SHADDA +p h > U+06A6 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+0683 U+0651 ;;SHADDA +C n > U+0683 +P P n P P n > U+06B2 U+0651 ;;SHADDA +P P n > U+06B2 ;; old sindhi? (not in ArabTeX) <<< +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BB U+0651 ;;SHADDA +V n > U+06BB +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +k h k h > U+06A9 U+0651 ;;SHADDA +k h > U+06A9 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+06AA U+0651 ;;SHADDA +k > U+06AA ; kaf swash +C g C g > U+062C U+0651 ;;SHADDA +C g > U+062C +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+064A +I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +Q i N? > ; +i N > U+064D +i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+06BE U+0651 ;;SHADDA +h > U+06BE +P CO g P CO g > U+06B4 U+0651 ;;SHADDA +P CO g > U+06B4 ;; old sindhi? (not in ArabTeX) <<< +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d h V d h > U+068D U+0651 ;;SHADDA +V d h > U+068D +V d V d > U+068A U+0651 ;;SHADDA +V d > U+068A +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +d h d h > U+068C U+0651 ;;SHADDA +d h > U+068C +C d C d > U+068E ;;SHADDA +C d > U+068E ; old sindhi: not in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +C c h C c h > U+0687 U+0651 ;;SHADDA +C c h > U+0687 +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0681 U+0651 ;;SHADDA +c > U+0681 ; ح with hamza above +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +b h b h > U+0680 U+0651 ;;SHADDA +b h > U+0680 +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+064E U+0649 +UL a > U+0670 +UL u > U+064F; +UL i > U+0650; +Q AN / (A H|Ha) _ > ; +AN / (A H|Ha) _ > U+064B +Q AN > U+0627 +AN > U+0627 U+064B +Q a > +a > U+064E +Q A > U+0627 +A > U+064E U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArEasternDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +Q [VWL] > ;stripoff quoted vowels +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +BAR > ;| + +pass(Unicode) + +Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-) +Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc. +Class [VWL] = (U+0627 U+0648..U+0650 U+0670); +[CONS]=k1 / _ Z? [CONS] ^U+0651 > @k1 U+0652 ; hack: 2nd consonant has no shadda +U+064E (U+064A|U+0648)=hc / _ (^[VWLX]|#) > U+064E @hc U+0652 ; ay and aw diphtongs +U+0627 / # _ U+0644 > U+0627 U+064E ; otherwise initial alif takes fatha +[CONS]=k1 / _ ([CONS]|#) > @k1 U+0652 ; consonant + (consonant or final) +;; [CONS]=k1 / _ # > @k1 U+0652 ; final consonant +Q > ; +Z > ; diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-sindhi-fullvoc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-sindhi-fullvoc.tec Binary files differindex 14c8f697426..b0c44696c6a 100644 --- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-sindhi-fullvoc.tec +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-sindhi-fullvoc.tec diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-sindhi-novoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-sindhi-novoc.map new file mode 100644 index 00000000000..50efef6c46f --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-sindhi-novoc.map @@ -0,0 +1,446 @@ +LHSName "ArabTeX-sindhi-novowels" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h' +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: +U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH' +U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +[AVWL] > ; strip off vowels when writing UTF-8 Arabic with novoc mode +CO O > U+06FC ; +a e > a y +a o > a w +(o|u)? O / # _ > U+0627 w +(o|u)? O > w +CO U > U+06C7 ; +e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish) +o > u + + +;; Persian ezafe (ALL BUT ARABIC AND UIGHUR) +U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<< +U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I +Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e +Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I +Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i +Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i +Z / U+0048 _ > U+0020 ; +b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0627 ; +[VWL]=v1 / BEG _ > A @v1 +Q?=q1 U / BEG _ > A @q1 u w ; -U +; Q?=q1 I / BEG _ > A @q1 i y ; -I ; but not when I is final FIXME!!! +Q?=q1 I / BEG _ > A @q1 i y ; except for Persian, coz of ezafe rules + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m Q i A Hy Q a +m Q i H a / _ (T|t) > m Q i A Hy +m i H Q a / _ (T|t) > m A Hy Q a +m i H a / _ (T|t) > m A Hy + + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + +;; special code for sindhi +;; U+004D U+0049 U+004E > U+06FE ; define macro \MIN in sindhi env +P m I N > U+06FE ; .mIN +;; U+0049 U+004E > U+06FD ; IN define macro \IN in sindhi env +H BAR I N > U+06FD ; '|IN + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Y Y > U+0649 U+0651 ;;SHADDA +Y > U+0649 +P I P I / _ # > U+06CC U+0651 ;; SHADDA +P I / _ # > U+06CC ;; workaround to have ya without dots in Arabic +y y > U+064A U+0651 ;;SHADDA +y > U+064A +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +Q U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +Q U > U+064F U+0648 +[Uw] [Uw] > U+0648 U+0651 ;;SHADDA +[Uw] > U+0648 +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +Q u N > U+064C +u N > +Q u > U+064F +V t h V t h > U+067A U+0651 ;;SHADDA +V t h > U+067A +t h t h > U+067F U+0651 ;;SHADDA +t h > U+067F +V t V t > U+067D U+0651 ;;SHADDA +V t > U+067D +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 U+064B ;;SHADDA +T Q AN > U+0629 U+064B +T AN > U+0629 +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0699 U+0651 ;;SHADDA +V r > U+0699 +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p h p h > U+06A6 U+0651 ;;SHADDA +p h > U+06A6 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+0683 U+0651 ;;SHADDA +C n > U+0683 +P P n P P n > U+06B2 U+0651 ;;SHADDA +P P n > U+06B2 ;; old sindhi? (not in ArabTeX) <<< +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BB U+0651 ;;SHADDA +V n > U+06BB +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +k h k h > U+06A9 U+0651 ;;SHADDA +k h > U+06A9 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+06AA U+0651 ;;SHADDA +k > U+06AA ; kaf swash +C g C g > U+062C U+0651 ;;SHADDA +C g > U+062C +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +I > U+064A +Q i N > U+064D +i N > ; +Q i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+06BE U+0651 ;;SHADDA +h > U+06BE +P CO g P CO g > U+06B4 U+0651 ;;SHADDA +P CO g > U+06B4 ;; old sindhi? (not in ArabTeX) <<< +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d h V d h > U+068D U+0651 ;;SHADDA +V d h > U+068D +V d V d > U+068A U+0651 ;;SHADDA +V d > U+068A +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +d h d h > U+068C U+0651 ;;SHADDA +d h > U+068C +C d C d > U+068E ;;SHADDA +C d > U+068E ; old sindhi: not in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +C c h C c h > U+0687 U+0651 ;;SHADDA +C c h > U+0687 +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0681 U+0651 ;;SHADDA +c > U+0681 ; ح with hamza above +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +b h b h > U+0680 U+0651 ;;SHADDA +b h > U+0680 +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+0649 +UL a > U+0670 +UL u > ; +UL i > ; +Q AN / (A H|Ha) _ > U+064B +AN / (A H|Ha) _ > ; +Q AN > U+0627 U+064B +AN > U+0627 +Q a > U+064E +Q A > U+064E U+0627 +A > U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArEasternDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +[VWL] > ;stripoff vowels +Q > U+0652 +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +Z > ;- +BAR > ;| + diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-sindhi-novoc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-sindhi-novoc.tec Binary files differindex e3decd95941..70837ac2edf 100644 --- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-sindhi-novoc.tec +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-sindhi-novoc.tec diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-sindhi-voc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-sindhi-voc.map new file mode 100644 index 00000000000..8d8c99e055e --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-sindhi-voc.map @@ -0,0 +1,456 @@ +LHSName "ArabTeX-sindhi-vocalized" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h' +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: +U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH' +U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +CO O > U+06FC ; +a e > a y +a o > a w +(o|u)? O / # _ > U+0627 w +(o|u)? O > w +CO U > U+06C7 ; +e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish) +o > u + + +;; Persian ezafe (ALL BUT ARABIC AND UIGHUR) +U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<< +U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I +Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e +Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I +Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i +Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i +Z / U+0048 _ > U+0020 ; +b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI +[VWL]=v1 / BEG _ > U+0627 @v1 +Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U +; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I +Q?=q1 I / BEG _ > U+0627 @q1 i y + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m U+0627 Hy +m Q i H a / _ (T|t) > m U+0627 Hy a +m i H Q a / _ (T|t) > m i U+0627 Hy +m i H a / _ (T|t) > m i U+0627 Hy a + + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + +;; special code for sindhi +;; U+004D U+0049 U+004E > U+06FE ; define macro \MIN in sindhi env +P m I N > U+06FE ; .mIN +;; U+0049 U+004E > U+06FD ; IN define macro \IN in sindhi env +H BAR I N > U+06FD ; '|IN + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Q Y Y > U+0649 U+0651 ;;SHADDA +Q Y > U+0649 +Y Y > U+064E U+0649 U+0651 ;;SHADDA +Y > U+064E U+0649 +P I P I / _ # > U+0650 U+06CC U+0651 ;; SHADDA +P I / _ # > U+0650 U+06CC ;; workaround to have ya without dots in Arabic +y y > U+064A U+0651 ;;SHADDA +y > U+064A +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +U A / _ # > U+064F U+0648 U+0627 +Q U [Uw] > U+0648 U+0651 ;;SHADDA +Q U > U+0648 +U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +U > U+064F U+0648 +w w > U+0648 U+0651 ;;SHADDA +w > U+0648 +Q u N? > +u N > U+064C +u > U+064F +V t h V t h > U+067A U+0651 ;;SHADDA +V t h > U+067A +t h t h > U+067F U+0651 ;;SHADDA +t h > U+067F +V t V t > U+067D U+0651 ;;SHADDA +V t > U+067D +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 ;;SHADDA +T Q AN > U+0629 +T AN > U+0629 U+064B +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0699 U+0651 ;;SHADDA +V r > U+0699 +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p h p h > U+06A6 U+0651 ;;SHADDA +p h > U+06A6 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+0683 U+0651 ;;SHADDA +C n > U+0683 +P P n P P n > U+06B2 U+0651 ;;SHADDA +P P n > U+06B2 ;; old sindhi? (not in ArabTeX) <<< +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BB U+0651 ;;SHADDA +V n > U+06BB +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +k h k h > U+06A9 U+0651 ;;SHADDA +k h > U+06A9 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+06AA U+0651 ;;SHADDA +k > U+06AA ; kaf swash +C g C g > U+062C U+0651 ;;SHADDA +C g > U+062C +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+064A +I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +Q i N? > ; +i N > U+064D +i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+06BE U+0651 ;;SHADDA +h > U+06BE +P CO g P CO g > U+06B4 U+0651 ;;SHADDA +P CO g > U+06B4 ;; old sindhi? (not in ArabTeX) <<< +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d h V d h > U+068D U+0651 ;;SHADDA +V d h > U+068D +V d V d > U+068A U+0651 ;;SHADDA +V d > U+068A +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +d h d h > U+068C U+0651 ;;SHADDA +d h > U+068C +C d C d > U+068E ;;SHADDA +C d > U+068E ; old sindhi: not in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +C c h C c h > U+0687 U+0651 ;;SHADDA +C c h > U+0687 +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0681 U+0651 ;;SHADDA +c > U+0681 ; ح with hamza above +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +b h b h > U+0680 U+0651 ;;SHADDA +b h > U+0680 +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+064E U+0649 +UL a > U+0670 +UL u > U+064F; +UL i > U+0650; +Q AN / (A H|Ha) _ > ; +AN / (A H|Ha) _ > U+064B +Q AN > U+0627 +AN > U+0627 U+064B +Q a > +a > U+064E +Q A > U+0627 +A > U+064E U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArEasternDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +Q [VWL] > ;stripoff quoted vowels +Q > U+0652 +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +BAR > ;| + +pass(Unicode) + +Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-) +Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc. +Class [VWL] = (U+0627 U+0648..U+0650 U+0670); +Z > ; diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-sindhi-voc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-sindhi-voc.tec Binary files differindex ad8f5ab63e3..eb595c097ff 100644 --- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-sindhi-voc.tec +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-sindhi-voc.tec diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-turk-fullvoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-turk-fullvoc.map new file mode 100644 index 00000000000..06507da1eec --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-turk-fullvoc.map @@ -0,0 +1,485 @@ +LHSName "ArabTeX-turk-fullvocalized" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h' +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: +U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH' +U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +CO O > U+06FC ; +a e > a y +a o > a w +CO U > U+06C7 ; +e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish) +o > u +I / _ # > i y + + +;; Persian ezafe (ALL BUT ARABIC AND UIGHUR) +U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<< +U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I +Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e +Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I +Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i +Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i +Z / U+0048 _ > U+0020 ; +b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI +[VWL]=v1 / BEG _ > U+0627 @v1 +Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U +; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I +Q?=q1 I / BEG _ > U+0627 @q1 i y + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m U+0627 Hy +m Q i H a / _ (T|t) > m U+0627 Hy a +m i H Q a / _ (T|t) > m i U+0627 Hy +m i H a / _ (T|t) > m i U+0627 Hy a + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0636 U+0651 ;;SHADDA +V z > U+0636 +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Q Y Y > U+0649 U+0651 ;;SHADDA +Q Y > U+0649 +Y Y > U+064E U+0649 U+0651 ;;SHADDA +Y > U+064E U+0649 +;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots +y y > U+06CC U+0651 ;;SHADDA +y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +U A / _ # > U+064F U+0648 U+0627 +Q U [Uw] > U+0648 U+0651 ;;SHADDA +Q U > U+0648 +U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +U > U+064F U+0648 +w w > U+0648 U+0651 ;;SHADDA +w > U+0648 +Q u N? > +u N > U+064C +u > U+064F +V t V t > U+0679 U+0651 ;;SHADDA +V t > U+0679 ;urdu +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 ;;SHADDA +T Q AN > U+0629 +T AN > U+0629 U+064B +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+0634 U+0651 ;;SHADDA +V s > U+0634 +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0691 U+0651 ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+0642 U+0651 ;;SHADDA +P k > U+0642 ; Ottoman qaf +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+06A0 U+0651 ;;SHADDA +C g > U+06A0 +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+0698 U+0651 ;;SHADDA +j > U+0698 +Q I > U+064A +I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +Q i N? > ; +i N > U+064D +i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+068A U+0651 ;;SHADDA +V d > U+068A +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0686 U+0651 ;;SHADDA +V c > U+0686 ; Ottoman ç +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+062C U+0651 ;;SHADDA +c > U+062C +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+064E U+0649 +UL a > U+0670 +UL u > U+064F; +UL i > U+0650; +Q AN / (A H|Ha) _ > ; +AN / (A H|Ha) _ > U+064B +Q AN > U+0627 +AN > U+0627 U+064B +Q a > +a > U+064E +Q A > U+0627 +A > U+064E U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +Q [VWL] > ;stripoff quoted vowels +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +BAR > ;| + +pass(Unicode) + +Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-) +Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc. +Class [VWL] = (U+0627 U+0648..U+0650 U+0670); +[CONS]=k1 / _ Z? [CONS] ^U+0651 > @k1 U+0652 ; hack: 2nd consonant has no shadda +U+064E (U+064A|U+0648)=hc / _ (^[VWLX]|#) > U+064E @hc U+0652 ; ay and aw diphtongs +U+0627 / # _ U+0644 > U+0627 U+064E ; otherwise initial alif takes fatha +[CONS]=k1 / _ ([CONS]|#) > @k1 U+0652 ; consonant + (consonant or final) +;; [CONS]=k1 / _ # > @k1 U+0652 ; final consonant +Q > ; +Z > ; diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-turk-novoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-turk-novoc.map new file mode 100644 index 00000000000..65660b94daf --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-turk-novoc.map @@ -0,0 +1,470 @@ +LHSName "ArabTeX-turk-novowels" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h' +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: +U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH' +U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +[AVWL] > ; strip off vowels when writing UTF-8 Arabic with novoc mode +CO O > U+06FC ; +a e > a y +a o > a w +CO U > U+06C7 ; +e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish) +o > u +I / _ # > i y + + +;; Persian ezafe (ALL BUT ARABIC AND UIGHUR) +U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<< +U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I +Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e +Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I +Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i +Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i +Z / U+0048 _ > U+0020 ; +b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0627 ; +[VWL]=v1 / BEG _ > A @v1 +Q?=q1 U / BEG _ > A @q1 u w ; -U +; Q?=q1 I / BEG _ > A @q1 i y ; -I ; but not when I is final FIXME!!! +Q?=q1 I / BEG _ > A @q1 i y ; except for Persian, coz of ezafe rules + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m Q i A Hy Q a +m Q i H a / _ (T|t) > m Q i A Hy +m i H Q a / _ (T|t) > m A Hy Q a +m i H a / _ (T|t) > m A Hy + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0636 U+0651 ;;SHADDA +V z > U+0636 +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Y Y > U+0649 U+0651 ;;SHADDA +Y > U+0649 +;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots +y y > U+06CC U+0651 ;;SHADDA +y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +Q U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +Q U > U+064F U+0648 +[Uw] [Uw] > U+0648 U+0651 ;;SHADDA +[Uw] > U+0648 +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +Q u N > U+064C +u N > +Q u > U+064F +V t V t > U+0679 U+0651 ;;SHADDA +V t > U+0679 ;urdu +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 U+064B ;;SHADDA +T Q AN > U+0629 U+064B +T AN > U+0629 +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+0634 U+0651 ;;SHADDA +V s > U+0634 +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0691 U+0651 ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+0642 U+0651 ;;SHADDA +P k > U+0642 ; Ottoman qaf +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+06A0 U+0651 ;;SHADDA +C g > U+06A0 +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+0698 U+0651 ;;SHADDA +j > U+0698 +Q I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +I > U+064A +Q i N > U+064D +i N > ; +Q i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+068A U+0651 ;;SHADDA +V d > U+068A +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0686 U+0651 ;;SHADDA +V c > U+0686 ; Ottoman ç +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+062C U+0651 ;;SHADDA +c > U+062C +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+0649 +UL a > U+0670 +UL u > ; +UL i > ; +Q AN / (A H|Ha) _ > U+064B +AN / (A H|Ha) _ > ; +Q AN > U+0627 U+064B +AN > U+0627 +Q a > U+064E +Q A > U+064E U+0627 +A > U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +[VWL] > ;stripoff vowels +Q > U+0652 +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +Z > ;- +BAR > ;| + diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-turk-novoc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-turk-novoc.tec Binary files differindex 9102719bfbe..b63f2ef8ee8 100644 --- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-turk-novoc.tec +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-turk-novoc.tec diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-turk-voc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-turk-voc.map new file mode 100644 index 00000000000..0ab30050577 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-turk-voc.map @@ -0,0 +1,480 @@ +LHSName "ArabTeX-turk-vocalized" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h' +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: +U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH' +U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +CO O > U+06FC ; +a e > a y +a o > a w +CO U > U+06C7 ; +e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish) +o > u +I / _ # > i y + + +;; Persian ezafe (ALL BUT ARABIC AND UIGHUR) +U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<< +U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I +Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e +Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I +Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i +Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i +Z / U+0048 _ > U+0020 ; +b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI +[VWL]=v1 / BEG _ > U+0627 @v1 +Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U +; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I +Q?=q1 I / BEG _ > U+0627 @q1 i y + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m U+0627 Hy +m Q i H a / _ (T|t) > m U+0627 Hy a +m i H Q a / _ (T|t) > m i U+0627 Hy +m i H a / _ (T|t) > m i U+0627 Hy a + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0636 U+0651 ;;SHADDA +V z > U+0636 +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Q Y Y > U+0649 U+0651 ;;SHADDA +Q Y > U+0649 +Y Y > U+064E U+0649 U+0651 ;;SHADDA +Y > U+064E U+0649 +;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots +y y > U+06CC U+0651 ;;SHADDA +y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +U A / _ # > U+064F U+0648 U+0627 +Q U [Uw] > U+0648 U+0651 ;;SHADDA +Q U > U+0648 +U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +U > U+064F U+0648 +w w > U+0648 U+0651 ;;SHADDA +w > U+0648 +Q u N? > +u N > U+064C +u > U+064F +V t V t > U+0679 U+0651 ;;SHADDA +V t > U+0679 ;urdu +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 ;;SHADDA +T Q AN > U+0629 +T AN > U+0629 U+064B +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+0634 U+0651 ;;SHADDA +V s > U+0634 +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0691 U+0651 ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+0642 U+0651 ;;SHADDA +P k > U+0642 ; Ottoman qaf +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+06A0 U+0651 ;;SHADDA +C g > U+06A0 +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+0698 U+0651 ;;SHADDA +j > U+0698 +Q I > U+064A +I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +Q i N? > ; +i N > U+064D +i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+068A U+0651 ;;SHADDA +V d > U+068A +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0686 U+0651 ;;SHADDA +V c > U+0686 ; Ottoman ç +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+062C U+0651 ;;SHADDA +c > U+062C +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+064E U+0649 +UL a > U+0670 +UL u > U+064F; +UL i > U+0650; +Q AN / (A H|Ha) _ > ; +AN / (A H|Ha) _ > U+064B +Q AN > U+0627 +AN > U+0627 U+064B +Q a > +a > U+064E +Q A > U+0627 +A > U+064E U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +Q [VWL] > ;stripoff quoted vowels +Q > U+0652 +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +BAR > ;| + +pass(Unicode) + +Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-) +Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc. +Class [VWL] = (U+0627 U+0648..U+0650 U+0670); +Z > ; diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-uighur.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-uighur.map new file mode 100644 index 00000000000..11c28abd2bc --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-uighur.map @@ -0,0 +1,277 @@ +LHSName "ArabTeX-Uighur" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define LLAH U+006C U+006C U+005F U+0061 U+0068 + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) + + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +(a|A) l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h' +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: +U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH' +U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL)' +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE)' +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels + +a / # _ > U+0626 U+0627 +a > U+0627 +(CO a|U+00E4) / # _ > U+0626 U+0647 U+200C +(CO a|U+00E4) > U+0647 U+200C +o / # _ > U+0626 U+0648 ; +o > U+0648 ; +(CO o|U+00F6) / # _ > U+0626 U+06C6 +(CO o|U+00F6) > U+06C6 +i / # _ # > U+0626 U+0649 +i / # _ > U+0626 U+066E +i / _ # > U+0649 +i > U+066E +e / # _ > U+0626 U+06D0 +e > U+06D0 +u / # _ > U+0626 U+06C7 ; +u > U+06C7 ; +(CO u|U+00FC) / # _ > U+0626 U+06C8 ; +(CO u|U+00FC) > U+06C8 ; +l Q a > U+0644 U+064E U+0627 ; +l a > U+0644 U+0627 ; + +P z P z > U+0638 U+0651 ;;SHADDA +P z > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;pashto ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Y Y > U+0649 U+0651 ;;SHADDA +Y > U+0649 +w w > U+06CB U+0651 ;;SHADDA +w > U+06CB +y y > U+064A U+0651 ;;SHADDA +y > U+064A +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +V t V t > U+0679 U+0651 ; urdu ;;SHADDA +V t > U+0679 +UL t UL t > U+062B U+0651 ;;SHADDA +UL t > U+062B +P t P t > U+0637 U+0651 ;;SHADDA +P t > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +P s P s > U+0635 U+0651 ;;SHADDA +P s > U+0635 +V s V s > U+069A U+0651 ;Pashto ;;SHADDA +V s > U+069A ;Pashto +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+0692 U+0651 ;Kurdish ;;SHADDA ; missing in ArabTeX <<< +C r > U+0692 +P r P r > U+0695 U+0651 ;Kurdish ;;SHADDA +P r > U+0695 +V r V r > U+0691 U+0651 ;Urdu ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ; urdu ;;SHADDA +P n > U+06BA ; +V n V n > U+06BC U+0651 ; Pashto +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +C l C l > U+06B5 U+0651 ;kurdish ;;SHADDA +C l > U+06B5 +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ; pashto urdu ;;SHADDA +P k > U+06A9 +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +x x > U+062E U+0651 ;;SHADDA +x > U+062E +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +P h P h > U+062D U+0651 ;;SHADDA +P h > U+062D +V h V h > U+06C1 U+0651 +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +C g C g > U+063A U+0651 ;;SHADDA +C g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;pashto ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+0688 U+0651 ;urdu ;;SHADDA +V d > U+0688 ;urdu +C d C d > U+06EE ; not defined in ArabTeX U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +UL d UL d > U+0630 U+0651 ;;SHADDA +UL d > U+0630 +P d P d > U+0636 U+0651 ;;SHADDA +P d > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;pashto ;;SHADDA +V c > U+0685 +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +c c > U+0681 U+0651 +c > U+0681 ; ح with hamza above +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H > U+0626 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / . _ . > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... +U+005B / . _ . > U+200D U+005B U+200D ; ... (but of course this screws up contextual analysis, so quoting of hamzas etc may be necessary) +Q > ; +N > ; +C > ;^ +Z > ;- +BAR > ;| + + diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-urdu-fullvoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-urdu-fullvoc.map new file mode 100644 index 00000000000..1a43e25170d --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-urdu-fullvoc.map @@ -0,0 +1,499 @@ +LHSName "ArabTeX-urdu-fullvocalized" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h' +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: +U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH' +U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +CO O > U+06FC ; +H E > U+06D3 ;; hamza + yeh barree +E / _ # > U+06D2 +E > y +a e / _ # > a U+06D2 +a e > a y +a o > a w +(o|u)? O / # _ > U+0627 w +(o|u)? O > w +CO U > U+06C7 ; +e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish) +o > u +I / _ # > i y + + +;; Persian ezafe (ALL BUT ARABIC AND UIGHUR) +U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<< +U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I +Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e +Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I +Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i +Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i +Z / U+0048 _ > U+0020 ; +b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI +[VWL]=v1 / BEG _ > U+0627 @v1 +A / BEG _ > HA ;; ADD MORE ? <<< +Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U +; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I +Q?=q1 I / BEG _ > U+0627 @q1 i y + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m U+0627 Hy +m Q i H a / _ (T|t) > m U+0627 Hy a +m i H Q a / _ (T|t) > m i U+0627 Hy +m i H a / _ (T|t) > m i U+0627 Hy a + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Q Y Y > U+0649 U+0651 ;;SHADDA +Q Y > U+0649 +Y Y > U+064E U+0649 U+0651 ;;SHADDA +Y > U+064E U+0649 +;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots +y y > U+06CC U+0651 ;;SHADDA +y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +U A / _ # > U+064F U+0648 U+0627 +Q U [Uw] > U+0648 U+0651 ;;SHADDA +Q U > U+0648 +U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +U > U+064F U+0648 +w w > U+0648 U+0651 ;;SHADDA +w > U+0648 +Q u N? > +u N > U+064C +u > U+064F +V t V t > U+0679 U+0651 ;;SHADDA +V t > U+0679 ;urdu +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 ;;SHADDA +T Q AN > U+0629 +T AN > U+0629 U+064B +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0691 U+0651 ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+062C U+0651 ;;SHADDA +C g > U+062C +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+064A +I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +Q i N? > ; +i N > U+064D +i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +U+0048 > U+06C3 +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +H H > U+06C1 U+0651 ;;SHADDA +H > U+06C1 +h h > U+06BE U+0651 ;;SHADDA +h > U+06BE ; urdu +;; fix letter+h letter+h > letter+h shadda in URDU <<< +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+0688 U+0651 ;;SHADDA +V d > U+0688 ;urdu +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +CO CO d CO CO d > U+0690 U+0651 ;;SHADDA +CO CO d > U+0690 ; old urdu: not in ArabTeX +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0681 U+0651 ;;SHADDA +c > U+0681 ; ح with hamza above +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+064E U+0649 +UL a > U+0670 +UL u > U+064F; +UL i > U+0650; +Q AN / (A H|Ha) _ > ; +AN / (A H|Ha) _ > U+064B +Q AN > U+0627 +AN > U+0627 U+064B +Q a > +a > U+064E +Q A > U+0627 +A > U+064E U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArEasternDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +Q [VWL] > ;stripoff quoted vowels +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +BAR > ;| +P P > U+06D4 ; urdu full stop << check + +pass(Unicode) + +Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-) +Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc. +Class [VWL] = (U+0627 U+0648..U+0650 U+0670); +[CONS]=k1 / _ Z? [CONS] ^U+0651 > @k1 U+0652 ; hack: 2nd consonant has no shadda +U+064E (U+064A|U+0648)=hc / _ (^[VWLX]|#) > U+064E @hc U+0652 ; ay and aw diphtongs +U+0627 / # _ U+0644 > U+0627 U+064E ; otherwise initial alif takes fatha +[CONS]=k1 / _ ([CONS]|#) > @k1 U+0652 ; consonant + (consonant or final) +;; [CONS]=k1 / _ # > @k1 U+0652 ; final consonant +Q > ; +Z > ; diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-urdu-fullvoc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-urdu-fullvoc.tec Binary files differindex b4e82a0e7e7..4de34ae02d8 100644 --- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-urdu-fullvoc.tec +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-urdu-fullvoc.tec diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-urdu-novoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-urdu-novoc.map new file mode 100644 index 00000000000..5104ee1e2e8 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-urdu-novoc.map @@ -0,0 +1,484 @@ +LHSName "ArabTeX-urdu-novowels" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h' +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: +U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH' +U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +[AVWL] > ; strip off vowels when writing UTF-8 Arabic with novoc mode +CO O > U+06FC ; +H E > U+06D3 ;; hamza + yeh barree +E / _ # > U+06D2 +E > y +a e / _ # > a U+06D2 +a e > a y +a o > a w +(o|u)? O / # _ > U+0627 w +(o|u)? O > w +CO U > U+06C7 ; +e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish) +o > u +I / _ # > i y + + +;; Persian ezafe (ALL BUT ARABIC AND UIGHUR) +U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<< +U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I +Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e +Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I +Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i +Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i +Z / U+0048 _ > U+0020 ; +b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0627 ; +[VWL]=v1 / BEG _ > A @v1 +A / BEG _ > HA ;; ADD MORE ? <<< +Q?=q1 U / BEG _ > A @q1 u w ; -U +; Q?=q1 I / BEG _ > A @q1 i y ; -I ; but not when I is final FIXME!!! +Q?=q1 I / BEG _ > A @q1 i y ; except for Persian, coz of ezafe rules + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m Q i A Hy Q a +m Q i H a / _ (T|t) > m Q i A Hy +m i H Q a / _ (T|t) > m A Hy Q a +m i H a / _ (T|t) > m A Hy + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Y Y > U+0649 U+0651 ;;SHADDA +Y > U+0649 +;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots +y y > U+06CC U+0651 ;;SHADDA +y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +Q U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +Q U > U+064F U+0648 +[Uw] [Uw] > U+0648 U+0651 ;;SHADDA +[Uw] > U+0648 +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +Q u N > U+064C +u N > +Q u > U+064F +V t V t > U+0679 U+0651 ;;SHADDA +V t > U+0679 ;urdu +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 U+064B ;;SHADDA +T Q AN > U+0629 U+064B +T AN > U+0629 +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0691 U+0651 ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+062C U+0651 ;;SHADDA +C g > U+062C +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +I > U+064A +Q i N > U+064D +i N > ; +Q i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +U+0048 > U+06C3 +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +H H > U+06C1 U+0651 ;;SHADDA +H > U+06C1 +h h > U+06BE U+0651 ;;SHADDA +h > U+06BE ; urdu +;; fix letter+h letter+h > letter+h shadda in URDU <<< +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+0688 U+0651 ;;SHADDA +V d > U+0688 ;urdu +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +CO CO d CO CO d > U+0690 U+0651 ;;SHADDA +CO CO d > U+0690 ; old urdu: not in ArabTeX +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0681 U+0651 ;;SHADDA +c > U+0681 ; ح with hamza above +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+0649 +UL a > U+0670 +UL u > ; +UL i > ; +Q AN / (A H|Ha) _ > U+064B +AN / (A H|Ha) _ > ; +Q AN > U+0627 U+064B +AN > U+0627 +Q a > U+064E +Q A > U+064E U+0627 +A > U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArEasternDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +[VWL] > ;stripoff vowels +Q > U+0652 +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +Z > ;- +BAR > ;| +P P > U+06D4 ; urdu full stop << check + diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-urdu-novoc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-urdu-novoc.tec Binary files differindex 172ba13bca3..62a714e8c17 100644 --- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-urdu-novoc.tec +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-urdu-novoc.tec diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-urdu-voc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-urdu-voc.map new file mode 100644 index 00000000000..f91a76587f0 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-urdu-voc.map @@ -0,0 +1,494 @@ +LHSName "ArabTeX-urdu-vocalized" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h' +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: +U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH' +U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +CO O > U+06FC ; +H E > U+06D3 ;; hamza + yeh barree +E / _ # > U+06D2 +E > y +a e / _ # > a U+06D2 +a e > a y +a o > a w +(o|u)? O / # _ > U+0627 w +(o|u)? O > w +CO U > U+06C7 ; +e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish) +o > u +I / _ # > i y + + +;; Persian ezafe (ALL BUT ARABIC AND UIGHUR) +U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<< +U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I +Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e +Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I +Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i +Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i +Z / U+0048 _ > U+0020 ; +b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI +[VWL]=v1 / BEG _ > U+0627 @v1 +A / BEG _ > HA ;; ADD MORE ? <<< +Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U +; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I +Q?=q1 I / BEG _ > U+0627 @q1 i y + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m U+0627 Hy +m Q i H a / _ (T|t) > m U+0627 Hy a +m i H Q a / _ (T|t) > m i U+0627 Hy +m i H a / _ (T|t) > m i U+0627 Hy a + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Q Y Y > U+0649 U+0651 ;;SHADDA +Q Y > U+0649 +Y Y > U+064E U+0649 U+0651 ;;SHADDA +Y > U+064E U+0649 +;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots +y y > U+06CC U+0651 ;;SHADDA +y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +U A / _ # > U+064F U+0648 U+0627 +Q U [Uw] > U+0648 U+0651 ;;SHADDA +Q U > U+0648 +U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +U > U+064F U+0648 +w w > U+0648 U+0651 ;;SHADDA +w > U+0648 +Q u N? > +u N > U+064C +u > U+064F +V t V t > U+0679 U+0651 ;;SHADDA +V t > U+0679 ;urdu +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 ;;SHADDA +T Q AN > U+0629 +T AN > U+0629 U+064B +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0691 U+0651 ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+062C U+0651 ;;SHADDA +C g > U+062C +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+064A +I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +Q i N? > ; +i N > U+064D +i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +U+0048 > U+06C3 +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +H H > U+06C1 U+0651 ;;SHADDA +H > U+06C1 +h h > U+06BE U+0651 ;;SHADDA +h > U+06BE ; urdu +;; fix letter+h letter+h > letter+h shadda in URDU <<< +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+0688 U+0651 ;;SHADDA +V d > U+0688 ;urdu +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +CO CO d CO CO d > U+0690 U+0651 ;;SHADDA +CO CO d > U+0690 ; old urdu: not in ArabTeX +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0681 U+0651 ;;SHADDA +c > U+0681 ; ح with hamza above +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+064E U+0649 +UL a > U+0670 +UL u > U+064F; +UL i > U+0650; +Q AN / (A H|Ha) _ > ; +AN / (A H|Ha) _ > U+064B +Q AN > U+0627 +AN > U+0627 U+064B +Q a > +a > U+064E +Q A > U+0627 +A > U+064E U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArEasternDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +Q [VWL] > ;stripoff quoted vowels +Q > U+0652 +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +BAR > ;| +P P > U+06D4 ; urdu full stop << check + +pass(Unicode) + +Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-) +Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc. +Class [VWL] = (U+0627 U+0648..U+0650 U+0670); +Z > ; diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-urdu-voc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-urdu-voc.tec Binary files differindex ff0e8f73555..07e3b00cfe6 100644 --- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-urdu-voc.tec +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-urdu-voc.tec diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-voc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-voc.map new file mode 100644 index 00000000000..17f2ea72f33 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2alif-voc.map @@ -0,0 +1,476 @@ +LHSName "ArabTeX-vocalized" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+0644 U+0644 U+0647 ;; 'll_ah' -> 'l l h' +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: +U+0041 U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'ALLAH' +U+004C U+004C U+0041 U+0048 > U+0644 U+0644 U+0647 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +CO O > U+06FC ; +a e > a y +a o > a w +CO U > U+06C7 ; +e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish) +o > u +E > I +O > U + + + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +H l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI +[VWL]=v1 / BEG _ > U+0627 @v1 +A / BEG _ > U+0627 a +Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U +; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I +Q?=q1 I / BEG _ > U+0627 @q1 i y + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m U+0627 Hy +m Q i H a / _ (T|t) > m U+0627 Hy a +m i H Q a / _ (T|t) > m i U+0627 Hy +m i H a / _ (T|t) > m i U+0627 Hy a + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Q Y Y > U+0649 U+0651 ;;SHADDA +Q Y > U+0649 +Y Y > U+064E U+0649 U+0651 ;;SHADDA +Y > U+064E U+0649 +P I P I / _ # > U+0650 U+06CC U+0651 ;; SHADDA +P I / _ # > U+0650 U+06CC ;; workaround to have ya without dots in Arabic +y y > U+064A U+0651 ;;SHADDA +y > U+064A +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +U A / _ # > U+064F U+0648 U+0627 +Q U [Uw] > U+0648 U+0651 ;;SHADDA +Q U > U+0648 +U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +U > U+064F U+0648 +w w > U+0648 U+0651 ;;SHADDA +w > U+0648 +Q u N? > +u N > U+064C +u > U+064F +V t V t > U+0679 U+0651 ;;SHADDA +V t > U+0679 ;urdu +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 ;;SHADDA +T Q AN > U+0629 +T AN > U+0629 U+064B +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0691 U+0651 ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+062C U+0651 ;;SHADDA +C g > U+062C +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+064A +I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +Q i N? > ; +i N > U+064D +i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+068A U+0651 ;;SHADDA +V d > U+068A +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0681 U+0651 ;;SHADDA +c > U+0681 ; ح with hamza above +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+064E U+0649 +UL a > U+0670 +UL u > U+0657 ; inverted damma +UL i > U+0656 ; subscript alif +Q AN / (A H|Ha) _ > ; +AN / (A H|Ha) _ > U+064B +Q AN > U+0627 +AN > U+0627 U+064B +Q a > +a > U+064E +Q A > U+0627 +A > U+064E U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +Q [VWL] > ;stripoff quoted vowels +Q > U+0652 +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +BAR > ;| + +pass(Unicode) + +Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-) +Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc. +Class [VWL] = (U+0627 U+0648..U+0650 U+0670); +U+0627 [VWL]? / [VWL] Z _ > U+0627 ; e.g. fa-isti_hraj -> initial alif has no vowel +Z > ; diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-farsi-fullvoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-farsi-fullvoc.map new file mode 100644 index 00000000000..f53c3d35d06 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-farsi-fullvoc.map @@ -0,0 +1,495 @@ +LHSName "ArabTeX-farsi-fullvocalized" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+FDF2 ;; 'll_ah' > U+FDF2 +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: + U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH' + U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +CO O > U+06FC ; +a e > a y +a o > a w +(o|u)? O / # _ > U+0627 w +(o|u)? O > w +CO U > U+06C7 ; +e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish) +o > u +E > I +I / _ # > i y + + +;; Persian ezafe (ALL BUT ARABIC AND UIGHUR) +U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<< +U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I +Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e +Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I +Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i +Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i +Z / U+0048 _ > U+0020 ; +b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI +[VWL]=v1 / BEG _ > U+0627 @v1 +A / BEG _ > HA ;; ADD MORE ? <<< +Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U +; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I +Q?=q1 I / BEG _ ^# > U+0627 @q1 i y ; -I... +Z Q?=qq (I|E) / _ (#|Z) > @qq i y ; +UL Q?=q1 U > @q1 U +Q?=q1 U / # _ # > U+0627 @q1 u w +Q BAR > U+0020; "| to separate compounds >> IN TRANSLIT THIS WILL BE REMOVED + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m U+0627 Hy +m Q i H a / _ (T|t) > m U+0627 Hy a +m i H Q a / _ (T|t) > m i U+0627 Hy +m i H a / _ (T|t) > m i U+0627 Hy a + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Q Y Y > U+0649 U+0651 ;;SHADDA +Q Y > U+0649 +Y Y > U+064E U+0649 U+0651 ;;SHADDA +Y > U+064E U+0649 +;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots +y y > U+06CC U+0651 ;;SHADDA +y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +U A / _ # > U+064F U+0648 U+0627 +Q U [Uw] > U+0648 U+0651 ;;SHADDA +Q U > U+0648 +U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +U > U+064F U+0648 +w w > U+0648 U+0651 ;;SHADDA +w > U+0648 +Q u N? > +u N > U+064C +u > U+064F +V t V t > U+0679 U+0651 ;;SHADDA +V t > U+0679 ;urdu +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 ;;SHADDA +T Q AN > U+0629 +T AN > U+0629 U+064B +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0691 U+0651 ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+062C U+0651 ;;SHADDA +C g > U+062C +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+064A +I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +Q i N? > ; +i N > U+064D +i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +U+0048 Z > U+0647 U+200C U+0020 ;eH-suffix > eH suffix +U+0048 > U+0647 U+200C ; H is always heh final +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+068A U+0651 ;;SHADDA +V d > U+068A +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0681 U+0651 ;;SHADDA +c > U+0681 ; ح with hamza above +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+064E U+0649 +UL a > U+0670 +UL u > U+064F; +UL i > U+0650; +Q AN / (A H|Ha) _ > ; +AN / (A H|Ha) _ > U+064B +Q AN > U+0627 +AN > U+0627 U+064B +Q a > +a > U+064E +Q A > U+0627 +A > U+064E U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArEasternDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +Q [VWL] > ;stripoff quoted vowels +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +BAR > ;| + +pass(Unicode) + +Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-) +Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc. +Class [VWL] = (U+0627 U+0648..U+0650 U+0670); +[CONS]=k1 / _ Z? [CONS] ^U+0651 > @k1 U+0652 ; hack: 2nd consonant has no shadda +U+064E (U+064A|U+0648)=hc / _ (^[VWLX]|#) > U+064E @hc U+0652 ; ay and aw diphtongs +U+0627 / # _ U+0644 > U+0627 U+064E ; otherwise initial alif takes fatha +[CONS]=k1 / _ ([CONS]|#) > @k1 U+0652 ; consonant + (consonant or final) +;; [CONS]=k1 / _ # > @k1 U+0652 ; final consonant +Q > ; +Z > ; diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-farsi-novoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-farsi-novoc.map new file mode 100644 index 00000000000..a653b5e3d97 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-farsi-novoc.map @@ -0,0 +1,480 @@ +LHSName "ArabTeX-farsi-novowels" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+FDF2 ;; 'll_ah' > U+FDF2 +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: + U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH' + U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +[AVWL] > ; strip off vowels when writing UTF-8 Arabic with novoc mode +CO O > U+06FC ; +a e > a y +a o > a w +(o|u)? O / # _ > U+0627 w +(o|u)? O > w +CO U > U+06C7 ; +e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish) +o > u +E > I +I / _ # > i y + + +;; Persian ezafe (ALL BUT ARABIC AND UIGHUR) +U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<< +U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I +Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e +Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I +Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i +Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i +Z / U+0048 _ > U+0020 ; +b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0627 ; +[VWL]=v1 / BEG _ > A @v1 +A / BEG _ > HA ;; ADD MORE ? <<< +Q?=q1 U / BEG _ > A @q1 u w ; -U +; Q?=q1 I / BEG _ > A @q1 i y ; -I ; but not when I is final FIXME!!! +Q?=q1 I / BEG _ ^# > A @q1 i y ; -I... +Z Q?=qq (I|E) / _ (#|Z) > @qq i y ; +UL Q?=q1 U > @q1 U +Q?=q1 U / # _ # > U+0627 @q1 u w +Q BAR > U+0020; "| to separate compounds >> IN TRANSLIT THIS WILL BE REMOVED + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m Q i A Hy Q a +m Q i H a / _ (T|t) > m Q i A Hy +m i H Q a / _ (T|t) > m A Hy Q a +m i H a / _ (T|t) > m A Hy + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Y Y > U+0649 U+0651 ;;SHADDA +Y > U+0649 +;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots +y y > U+06CC U+0651 ;;SHADDA +y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +Q U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +Q U > U+064F U+0648 +[Uw] [Uw] > U+0648 U+0651 ;;SHADDA +[Uw] > U+0648 +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +Q u N > U+064C +u N > +Q u > U+064F +V t V t > U+0679 U+0651 ;;SHADDA +V t > U+0679 ;urdu +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 U+064B ;;SHADDA +T Q AN > U+0629 U+064B +T AN > U+0629 +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0691 U+0651 ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+062C U+0651 ;;SHADDA +C g > U+062C +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +I > U+064A +Q i N > U+064D +i N > ; +Q i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +U+0048 Z > U+0647 U+200C U+0020 ;eH-suffix > eH suffix +U+0048 > U+0647 U+200C ; H is always heh final +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+068A U+0651 ;;SHADDA +V d > U+068A +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0681 U+0651 ;;SHADDA +c > U+0681 ; ح with hamza above +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+0649 +UL a > U+0670 +UL u > ; +UL i > ; +Q AN / (A H|Ha) _ > U+064B +AN / (A H|Ha) _ > ; +Q AN > U+0627 U+064B +AN > U+0627 +Q a > U+064E +Q A > U+064E U+0627 +A > U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArEasternDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +[VWL] > ;stripoff vowels +Q > U+0652 +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +Z > ;- +BAR > ;| + diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-farsi-novoc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-farsi-novoc.tec Binary files differindex 71fa206875a..fc32f96c9ad 100644 --- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-farsi-novoc.tec +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-farsi-novoc.tec diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-farsi-voc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-farsi-voc.map new file mode 100644 index 00000000000..9617d027c28 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-farsi-voc.map @@ -0,0 +1,490 @@ +LHSName "ArabTeX-farsi-vocalized" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+FDF2 ;; 'll_ah' > U+FDF2 +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: + U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH' + U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +CO O > U+06FC ; +a e > a y +a o > a w +(o|u)? O / # _ > U+0627 w +(o|u)? O > w +CO U > U+06C7 ; +e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish) +o > u +E > I +I / _ # > i y + + +;; Persian ezafe (ALL BUT ARABIC AND UIGHUR) +U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<< +U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I +Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e +Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I +Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i +Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i +Z / U+0048 _ > U+0020 ; +b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI +[VWL]=v1 / BEG _ > U+0627 @v1 +A / BEG _ > HA ;; ADD MORE ? <<< +Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U +; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I +Q?=q1 I / BEG _ ^# > U+0627 @q1 i y ; -I... +Z Q?=qq (I|E) / _ (#|Z) > @qq i y ; +UL Q?=q1 U > @q1 U +Q?=q1 U / # _ # > U+0627 @q1 u w +Q BAR > U+0020; "| to separate compounds >> IN TRANSLIT THIS WILL BE REMOVED + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m U+0627 Hy +m Q i H a / _ (T|t) > m U+0627 Hy a +m i H Q a / _ (T|t) > m i U+0627 Hy +m i H a / _ (T|t) > m i U+0627 Hy a + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Q Y Y > U+0649 U+0651 ;;SHADDA +Q Y > U+0649 +Y Y > U+064E U+0649 U+0651 ;;SHADDA +Y > U+064E U+0649 +;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots +y y > U+06CC U+0651 ;;SHADDA +y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +U A / _ # > U+064F U+0648 U+0627 +Q U [Uw] > U+0648 U+0651 ;;SHADDA +Q U > U+0648 +U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +U > U+064F U+0648 +w w > U+0648 U+0651 ;;SHADDA +w > U+0648 +Q u N? > +u N > U+064C +u > U+064F +V t V t > U+0679 U+0651 ;;SHADDA +V t > U+0679 ;urdu +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 ;;SHADDA +T Q AN > U+0629 +T AN > U+0629 U+064B +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0691 U+0651 ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+062C U+0651 ;;SHADDA +C g > U+062C +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+064A +I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +Q i N? > ; +i N > U+064D +i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +U+0048 Z > U+0647 U+200C U+0020 ;eH-suffix > eH suffix +U+0048 > U+0647 U+200C ; H is always heh final +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+068A U+0651 ;;SHADDA +V d > U+068A +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0681 U+0651 ;;SHADDA +c > U+0681 ; ح with hamza above +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+064E U+0649 +UL a > U+0670 +UL u > U+064F; +UL i > U+0650; +Q AN / (A H|Ha) _ > ; +AN / (A H|Ha) _ > U+064B +Q AN > U+0627 +AN > U+0627 U+064B +Q a > +a > U+064E +Q A > U+0627 +A > U+064E U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArEasternDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +Q [VWL] > ;stripoff quoted vowels +Q > U+0652 +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +BAR > ;| + +pass(Unicode) + +Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-) +Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc. +Class [VWL] = (U+0627 U+0648..U+0650 U+0670); +Z > ; diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-fullvoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-fullvoc.map new file mode 100644 index 00000000000..f6772aa68c4 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-fullvoc.map @@ -0,0 +1,482 @@ +LHSName "ArabTeX-fullvocalized" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+FDF2 ;; 'll_ah' > U+FDF2 +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: + U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH' + U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +CO O > U+06FC ; +a e > a y +a o > a w +CO U > U+06C7 ; +e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish) +o > u +E > I +O > U + + + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +H l Z / BEG _ > U+0671 l Z ; THIS IS NOT AN ARABTEX CONVENTION! it's a work-around coz pattern-matching across word boundaries does not work in teckit , so min al- must be written mina 'l- in fullvocalize mode +;; wasla on initial alif : NEW! NOT TESTED! +[VWL]=v1 Z / BEG _ > @v1 U+0671 ; THIS IS NOT AN ARABTEX CONVENTION! it's a work-around coz pattern-matching across word boundaries does not work in teckit , so huwa irtifA` must be written huwa i-rtifA` in fullvocalize mode +H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI +[VWL]=v1 / BEG _ > U+0627 @v1 +A / BEG _ > U+0627 a +Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U +; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I +Q?=q1 I / BEG _ > U+0627 @q1 i y + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m U+0627 Hy +m Q i H a / _ (T|t) > m U+0627 Hy a +m i H Q a / _ (T|t) > m i U+0627 Hy +m i H a / _ (T|t) > m i U+0627 Hy a + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Q Y Y > U+0649 U+0651 ;;SHADDA +Q Y > U+0649 +Y Y > U+064E U+0649 U+0651 ;;SHADDA +Y > U+064E U+0649 +P I P I / _ # > U+0650 U+06CC U+0651 ;; SHADDA +P I / _ # > U+0650 U+06CC ;; workaround to have ya without dots in Arabic +y y > U+064A U+0651 ;;SHADDA +y > U+064A +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +U A / _ # > U+064F U+0648 U+0627 +Q U [Uw] > U+0648 U+0651 ;;SHADDA +Q U > U+0648 +U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +U > U+064F U+0648 +w w > U+0648 U+0651 ;;SHADDA +w > U+0648 +Q u N? > +u N > U+064C +u > U+064F +V t V t > U+0679 U+0651 ;;SHADDA +V t > U+0679 ;urdu +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 ;;SHADDA +T Q AN > U+0629 +T AN > U+0629 U+064B +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0691 U+0651 ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+062C U+0651 ;;SHADDA +C g > U+062C +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+064A +I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +Q i N? > ; +i N > U+064D +i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+068A U+0651 ;;SHADDA +V d > U+068A +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0681 U+0651 ;;SHADDA +c > U+0681 ; ح with hamza above +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+064E U+0649 +UL a > U+0670 +UL u > U+0657 ; inverted damma +UL i > U+0656 ; subscript alif +Q AN / (A H|Ha) _ > ; +AN / (A H|Ha) _ > U+064B +Q AN > U+0627 +AN > U+0627 U+064B +Q a > +a > U+064E +Q A > U+0627 +A > U+064E U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +Q [VWL] > ;stripoff quoted vowels +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +BAR > ;| + +pass(Unicode) + +Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-) +Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc. +Class [VWL] = (U+0627 U+0648..U+0650 U+0670); +[CONS]=k1 / _ Z? [CONS] ^U+0651 > @k1 U+0652 ; hack: 2nd consonant has no shadda +U+064E (U+064A|U+0648)=hc / _ (^[VWLX]|#) > U+064E @hc U+0652 ; ay and aw diphtongs +U+0627 [VWL]? / [VWL] Z _ > U+0671 ; e.g. fa-isti_hraj -> wasla on initial alif +U+0627 / # _ U+0644 > U+0627 U+064E ; otherwise initial alif takes fatha +[CONS]=k1 / _ ([CONS]|#) > @k1 U+0652 ; consonant + (consonant or final) +;; [CONS]=k1 / _ # > @k1 U+0652 ; final consonant +Q > ; +Z > ; diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-fullvoc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-fullvoc.tec Binary files differindex 447243018f9..6ca10fc26be 100644 --- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-fullvoc.tec +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-fullvoc.tec diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-kashmiri-fullvoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-kashmiri-fullvoc.map new file mode 100644 index 00000000000..a2516e210e7 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-kashmiri-fullvoc.map @@ -0,0 +1,513 @@ +LHSName "ArabTeX-kashmiri-fullvocalized" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+FDF2 ;; 'll_ah' > U+FDF2 +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: + U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH' + U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +CO O > U+06FC ; +a e > a y +a o > a w +(o|u)? O / # _ > U+0627 w +(o|u)? O > w +CO U > U+06C7 ; +e / # _ # > U+0627 U+06D2 U+0658 ; Alif + yeh barree + bow accent +e / _ # > U+06D2 U+0658 ; yeh barree + bow accent +e / # _ > U+0627 y U+0658 ; alif + ya + bow accent +e > y U+0658 +E / # _ # > U+0627 U+06D2 ; Alif + yeh barree +E / _ # > U+06D2 ; yeh barree +E / # _ > U+0627 y ; alif + ya +E > y +o / # _ > U+0627 U+06C6 +o > U+06C6 +P A > U+0672 +P U > U+0673 ; > this is the initial or lone form, but medial and final require wavy hamza below previous letter (not in Unicode)! Perhaps an OT font could solve this :: in Scheherazade the glyph needed is named _wavyHamza <<< +P a / # _ > U+0623 +P a > U+0654 +P u > U+0655 +P o / # _ > U+0627 U+06C4 +P o > U+06C4 +P O / # _ > U+0627 U+06C4 U+0627 U+064E +P O > U+06C4 U+0627 U+064E +I > y U+0656 +I / _ # > y +U / _ # > U+0627 w U+0657 +U > w U+0657 + + +;; Persian ezafe (ALL BUT ARABIC AND UIGHUR) +U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<< +U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I +Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e +Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I +Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i +Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i +Z / U+0048 _ > U+0020 ; +b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI +[VWL]=v1 / BEG _ > U+0627 @v1 +Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U +; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I +Q?=q1 I / BEG _ > U+0627 @q1 i y + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m U+0627 Hy +m Q i H a / _ (T|t) > m U+0627 Hy a +m i H Q a / _ (T|t) > m i U+0627 Hy +m i H a / _ (T|t) > m i U+0627 Hy a + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +CO z CO z > U+0636 U+0651 ;;SHADDA +CO z > U+0636 +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Q Y Y > U+0649 U+0651 ;;SHADDA +Q Y > U+0649 +Y Y > U+064E U+0649 U+0651 ;;SHADDA +Y > U+064E U+0649 +;; .b with ring below : FIXME not in Unicode! but U+06EA is a poor replacement: +P y / # _ # > U+0627 U+06D2 U+06EA +P y / _ # > U+0649 +P y > U+066E U+06EA +;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots +y y > U+06CC U+0651 ;;SHADDA +y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +U A / _ # > U+064F U+0648 U+0627 +Q U [Uw] > U+0648 U+0651 ;;SHADDA +Q U > U+0648 +U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +U > U+064F U+0648 +w w > U+0648 U+0651 ;;SHADDA +w > U+0648 +Q u N? > +u N > U+064C +u > U+064F +V t V t > U+0679 U+0651 ;;SHADDA +V t > U+0679 ;urdu +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 ;;SHADDA +T Q AN > U+0629 +T AN > U+0629 U+064B +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0691 U+0651 ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+062C U+0651 ;;SHADDA +C g > U+062C +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+064A +I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +Q i N? > ; +i N > U+064D +i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+068A U+0651 ;;SHADDA +V d > U+068A +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0681 U+0651 ;;SHADDA +c > U+0681 ; ح with hamza above +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+064E U+0649 +UL a > U+0670 +UL u > U+064F; +UL i > U+0650; +Q AN / (A H|Ha) _ > ; +AN / (A H|Ha) _ > U+064B +Q AN > U+0627 +AN > U+0627 U+064B +Q a > +a > U+064E +Q A > U+0627 +A > U+064E U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArEasternDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +Q [VWL] > ;stripoff quoted vowels +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +BAR > ;| + +pass(Unicode) + +Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-) +Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc. +Class [VWL] = (U+0627 U+0648..U+0650 U+0670); +[CONS]=k1 / _ Z? [CONS] ^U+0651 > @k1 U+0652 ; hack: 2nd consonant has no shadda +U+064E (U+064A|U+0648)=hc / _ (^[VWLX]|#) > U+064E @hc U+0652 ; ay and aw diphtongs +U+0627 / # _ U+0644 > U+0627 U+064E ; otherwise initial alif takes fatha +[CONS]=k1 / _ ([CONS]|#) > @k1 U+0652 ; consonant + (consonant or final) +;; [CONS]=k1 / _ # > @k1 U+0652 ; final consonant +Q > ; +Z > ; diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-kashmiri-novoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-kashmiri-novoc.map new file mode 100644 index 00000000000..b14151f77cd --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-kashmiri-novoc.map @@ -0,0 +1,498 @@ +LHSName "ArabTeX-kashmiri-novowels" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+FDF2 ;; 'll_ah' > U+FDF2 +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: + U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH' + U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +[AVWL] > ; strip off vowels when writing UTF-8 Arabic with novoc mode +CO O > U+06FC ; +a e > a y +a o > a w +(o|u)? O / # _ > U+0627 w +(o|u)? O > w +CO U > U+06C7 ; +e / # _ # > U+0627 U+06D2 U+0658 ; Alif + yeh barree + bow accent +e / _ # > U+06D2 U+0658 ; yeh barree + bow accent +e / # _ > U+0627 y U+0658 ; alif + ya + bow accent +e > y U+0658 +E / # _ # > U+0627 U+06D2 ; Alif + yeh barree +E / _ # > U+06D2 ; yeh barree +E / # _ > U+0627 y ; alif + ya +E > y +o / # _ > U+0627 U+06C6 +o > U+06C6 +P A > U+0672 +P U > U+0673 ; > this is the initial or lone form, but medial and final require wavy hamza below previous letter (not in Unicode)! Perhaps an OT font could solve this :: in Scheherazade the glyph needed is named _wavyHamza <<< +P a / # _ > U+0623 +P a > U+0654 +P u > U+0655 +P o / # _ > U+0627 U+06C4 +P o > U+06C4 +P O / # _ > U+0627 U+06C4 U+0627 U+064E +P O > U+06C4 U+0627 U+064E +I > y U+0656 +I / _ # > y +U / _ # > U+0627 w U+0657 +U > w U+0657 + + +;; Persian ezafe (ALL BUT ARABIC AND UIGHUR) +U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<< +U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I +Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e +Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I +Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i +Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i +Z / U+0048 _ > U+0020 ; +b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0627 ; +[VWL]=v1 / BEG _ > A @v1 +Q?=q1 U / BEG _ > A @q1 u w ; -U +; Q?=q1 I / BEG _ > A @q1 i y ; -I ; but not when I is final FIXME!!! +Q?=q1 I / BEG _ > A @q1 i y ; except for Persian, coz of ezafe rules + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m Q i A Hy Q a +m Q i H a / _ (T|t) > m Q i A Hy +m i H Q a / _ (T|t) > m A Hy Q a +m i H a / _ (T|t) > m A Hy + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +CO z CO z > U+0636 U+0651 ;;SHADDA +CO z > U+0636 +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Y Y > U+0649 U+0651 ;;SHADDA +Y > U+0649 +;; .b with ring below : FIXME not in Unicode! but U+06EA is a poor replacement: +P y / # _ # > U+0627 U+06D2 U+06EA +P y / _ # > U+0649 +P y > U+066E U+06EA +;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots +y y > U+06CC U+0651 ;;SHADDA +y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +Q U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +Q U > U+064F U+0648 +[Uw] [Uw] > U+0648 U+0651 ;;SHADDA +[Uw] > U+0648 +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +Q u N > U+064C +u N > +Q u > U+064F +V t V t > U+0679 U+0651 ;;SHADDA +V t > U+0679 ;urdu +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 U+064B ;;SHADDA +T Q AN > U+0629 U+064B +T AN > U+0629 +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0691 U+0651 ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+062C U+0651 ;;SHADDA +C g > U+062C +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +I > U+064A +Q i N > U+064D +i N > ; +Q i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+068A U+0651 ;;SHADDA +V d > U+068A +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0681 U+0651 ;;SHADDA +c > U+0681 ; ح with hamza above +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+0649 +UL a > U+0670 +UL u > ; +UL i > ; +Q AN / (A H|Ha) _ > U+064B +AN / (A H|Ha) _ > ; +Q AN > U+0627 U+064B +AN > U+0627 +Q a > U+064E +Q A > U+064E U+0627 +A > U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArEasternDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +[VWL] > ;stripoff vowels +Q > U+0652 +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +Z > ;- +BAR > ;| + diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-kashmiri-novoc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-kashmiri-novoc.tec Binary files differindex 3522928f864..1c781a55e8f 100644 --- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-kashmiri-novoc.tec +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-kashmiri-novoc.tec diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-kashmiri-voc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-kashmiri-voc.map new file mode 100644 index 00000000000..ad72262643b --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-kashmiri-voc.map @@ -0,0 +1,508 @@ +LHSName "ArabTeX-kashmiri-vocalized" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+FDF2 ;; 'll_ah' > U+FDF2 +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: + U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH' + U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +CO O > U+06FC ; +a e > a y +a o > a w +(o|u)? O / # _ > U+0627 w +(o|u)? O > w +CO U > U+06C7 ; +e / # _ # > U+0627 U+06D2 U+0658 ; Alif + yeh barree + bow accent +e / _ # > U+06D2 U+0658 ; yeh barree + bow accent +e / # _ > U+0627 y U+0658 ; alif + ya + bow accent +e > y U+0658 +E / # _ # > U+0627 U+06D2 ; Alif + yeh barree +E / _ # > U+06D2 ; yeh barree +E / # _ > U+0627 y ; alif + ya +E > y +o / # _ > U+0627 U+06C6 +o > U+06C6 +P A > U+0672 +P U > U+0673 ; > this is the initial or lone form, but medial and final require wavy hamza below previous letter (not in Unicode)! Perhaps an OT font could solve this :: in Scheherazade the glyph needed is named _wavyHamza <<< +P a / # _ > U+0623 +P a > U+0654 +P u > U+0655 +P o / # _ > U+0627 U+06C4 +P o > U+06C4 +P O / # _ > U+0627 U+06C4 U+0627 U+064E +P O > U+06C4 U+0627 U+064E +I > y U+0656 +I / _ # > y +U / _ # > U+0627 w U+0657 +U > w U+0657 + + +;; Persian ezafe (ALL BUT ARABIC AND UIGHUR) +U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<< +U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I +Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e +Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I +Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i +Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i +Z / U+0048 _ > U+0020 ; +b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI +[VWL]=v1 / BEG _ > U+0627 @v1 +Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U +; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I +Q?=q1 I / BEG _ > U+0627 @q1 i y + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m U+0627 Hy +m Q i H a / _ (T|t) > m U+0627 Hy a +m i H Q a / _ (T|t) > m i U+0627 Hy +m i H a / _ (T|t) > m i U+0627 Hy a + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +CO z CO z > U+0636 U+0651 ;;SHADDA +CO z > U+0636 +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Q Y Y > U+0649 U+0651 ;;SHADDA +Q Y > U+0649 +Y Y > U+064E U+0649 U+0651 ;;SHADDA +Y > U+064E U+0649 +;; .b with ring below : FIXME not in Unicode! but U+06EA is a poor replacement: +P y / # _ # > U+0627 U+06D2 U+06EA +P y / _ # > U+0649 +P y > U+066E U+06EA +;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots +y y > U+06CC U+0651 ;;SHADDA +y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +U A / _ # > U+064F U+0648 U+0627 +Q U [Uw] > U+0648 U+0651 ;;SHADDA +Q U > U+0648 +U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +U > U+064F U+0648 +w w > U+0648 U+0651 ;;SHADDA +w > U+0648 +Q u N? > +u N > U+064C +u > U+064F +V t V t > U+0679 U+0651 ;;SHADDA +V t > U+0679 ;urdu +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 ;;SHADDA +T Q AN > U+0629 +T AN > U+0629 U+064B +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0691 U+0651 ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+062C U+0651 ;;SHADDA +C g > U+062C +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+064A +I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +Q i N? > ; +i N > U+064D +i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+068A U+0651 ;;SHADDA +V d > U+068A +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0681 U+0651 ;;SHADDA +c > U+0681 ; ح with hamza above +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+064E U+0649 +UL a > U+0670 +UL u > U+064F; +UL i > U+0650; +Q AN / (A H|Ha) _ > ; +AN / (A H|Ha) _ > U+064B +Q AN > U+0627 +AN > U+0627 U+064B +Q a > +a > U+064E +Q A > U+0627 +A > U+064E U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArEasternDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +Q [VWL] > ;stripoff quoted vowels +Q > U+0652 +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +BAR > ;| + +pass(Unicode) + +Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-) +Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc. +Class [VWL] = (U+0627 U+0648..U+0650 U+0670); +Z > ; diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-kurdish.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-kurdish.map new file mode 100644 index 00000000000..c98b3f38b7d --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-kurdish.map @@ -0,0 +1,290 @@ +LHSName "ArabTeX-Kurdish" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define LLAH U+006C U+006C U+005F U+0061 U+0068 + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) + + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +(a|A) l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+FDF2 ;; 'll_ah' > U+FDF2 +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: + U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH' + U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL)' +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE)' +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels + +E / # _ > U+0626 U+06CE +E > U+06CE +e / # _ > U+0626 U+0647 U+200C ; h always final +e > U+0647 U+200C +i / # _ > U+0626 +Q i > U+0650 +i > ; +Q I / # _ > U+0626 U+064A U+0650 +Q I > U+064A U+0650 +I / # _ > U+0626 U+064A +I > U+064A +(a|A) / # _ > U+0626 U+0627 +(a|A) > U+0627 +(o|O) / # _ > U+0626 U+06C6 +(o|O) > U+06C6 +u / # _ > U+0626 U+0648 +u > U+0648 +U / # _ > U+0626 U+0648 U+0648 +U > U+0648 U+0648 +Ain e > U+0639 U+0647 U+200C + + +P z P z > U+0638 U+0651 ;;SHADDA +P z > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;pashto ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Y Y > U+0649 U+0651 ;;SHADDA +Y > U+0649 +w w > U+0648 U+0651 ;;SHADDA +w > U+0648 +y y > U+064A U+0651 ;;SHADDA +y > U+064A +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +V t V t > U+0679 U+0651 ; urdu ;;SHADDA +V t > U+0679 +UL t UL t > U+062B U+0651 ;;SHADDA +UL t > U+062B +P t P t > U+0637 U+0651 ;;SHADDA +P t > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +(C|V) s (C|V) s > U+0634 U+0651 ;;SHADDA +(C|V) s > U+0634 +P s P s > U+0635 U+0651 ;;SHADDA +P s > U+0635 +CO s CO s > U+069B U+0651 +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +;; also missing U+0694 : r with dot below +V r V r > U+0694 U+0651 ;Kurdish ;;SHADDA +V r > U+0694 +C r C r > U+0692 U+0651 ;Kurdish ;;SHADDA ; missing in ArabTeX <<< +C r > U+0692 +P r P r > U+0695 U+0651 ;Kurdish ;;SHADDA +P r > U+0695 +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ; urdu ;;SHADDA +P n > U+06BA ; +V n V n > U+06BC U+0651 ; Pashto +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;kurdish ;;SHADDA +C l > U+06B5 +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ; pashto urdu ;;SHADDA +P k > U+06A9 +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +c c > U+062C U+0651 ;;SHADDA +c > U+062C +x x > U+062E U+0651 ;;SHADDA +x > U+062E +j j > U+0698 U+0651 ;;SHADDA +j > U+0698 +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +P h P h > U+062D U+0651 ;;SHADDA +P h > U+062D +V h V h > U+06C1 U+0651 +V h > U+06C1 +h h > U+200C U+06BE U+0651 ;;SHADDA +h > U+200C U+06BE ; h always initial form +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P (g|x) P (g|x) > U+063A U+0651 ;;SHADDA +P (g|x) > U+063A +C g C g > U+063A U+0651 ;;SHADDA +C g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;pashto ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+0688 U+0651 ;urdu ;;SHADDA +V d > U+0688 ;urdu +C d C d > U+06EE ; not defined in ArabTeX U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +UL d UL d > U+0630 U+0651 ;;SHADDA +UL d > U+0630 +P d P d > U+0636 U+0651 ;;SHADDA +P d > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +(C|V) c (C|V) c > U+0686 U+0651 ;;SHADDA +(C|V) c > U+0686 +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H > U+0626 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / . _ . > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... +U+005B / . _ . > U+200D U+005B U+200D ; ... (but of course this screws up contextual analysis, so quoting of hamzas etc may be necessary) +Q > ; +N > ; +C > ;^ +Z > ;- +BAR > ;| + + diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-maghribi-fullvoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-maghribi-fullvoc.map new file mode 100644 index 00000000000..cb0e146df4f --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-maghribi-fullvoc.map @@ -0,0 +1,482 @@ +LHSName "ArabTeX-maghribi-fullvocalized" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+FDF2 ;; 'll_ah' > U+FDF2 +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: + U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH' + U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +CO O > U+06FC ; +a e > a y +a o > a w +CO U > U+06C7 ; +e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish) +o > u +E > I +O > U + + + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +H l Z / BEG _ > U+0671 l Z ; THIS IS NOT AN ARABTEX CONVENTION! it's a work-around coz pattern-matching across word boundaries does not work in teckit , so min al- must be written mina 'l- in fullvocalize mode +;; wasla on initial alif : NEW! NOT TESTED! +[VWL]=v1 Z / BEG _ > @v1 U+0671 ; THIS IS NOT AN ARABTEX CONVENTION! it's a work-around coz pattern-matching across word boundaries does not work in teckit , so huwa irtifA` must be written huwa i-rtifA` in fullvocalize mode +H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI +[VWL]=v1 / BEG _ > U+0627 @v1 +A / BEG _ > U+0627 a +Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U +; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I +Q?=q1 I / BEG _ > U+0627 @q1 i y + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m U+0627 Hy +m Q i H a / _ (T|t) > m U+0627 Hy a +m i H Q a / _ (T|t) > m i U+0627 Hy +m i H a / _ (T|t) > m i U+0627 Hy a + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Q Y Y > U+0649 U+0651 ;;SHADDA +Q Y > U+0649 +Y Y > U+064E U+0649 U+0651 ;;SHADDA +Y > U+064E U+0649 +P I P I / _ # > U+0650 U+06CC U+0651 ;; SHADDA +P I / _ # > U+0650 U+06CC ;; workaround to have ya without dots in Arabic +y y > U+064A U+0651 ;;SHADDA +y > U+064A +v v > U+06A5 U+0651 ;;SHADDA +v > U+06A5 ;; maghribi +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +U A / _ # > U+064F U+0648 U+0627 +Q U [Uw] > U+0648 U+0651 ;;SHADDA +Q U > U+0648 +U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +U > U+064F U+0648 +w w > U+0648 U+0651 ;;SHADDA +w > U+0648 +Q u N? > +u N > U+064C +u > U+064F +V t V t > U+0679 U+0651 ;;SHADDA +V t > U+0679 ;urdu +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 ;;SHADDA +T Q AN > U+0629 +T AN > U+0629 U+064B +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0691 U+0651 ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+06A7 U+0651 ;; maghribi +q > U+06A7 ;; maghribi +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+062C U+0651 ;;SHADDA +C g > U+062C +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+064A +I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +Q i N? > ; +i N > U+064D +i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+06A2 U+0651 ;; SHADDA +f > U+06A2 ;; maghribi +V d V d > U+068A U+0651 ;;SHADDA +V d > U+068A +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0681 U+0651 ;;SHADDA +c > U+0681 ; ح with hamza above +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+064E U+0649 +UL a > U+0670 +UL u > U+0657 ; inverted damma +UL i > U+0656 ; subscript alif +Q AN / (A H|Ha) _ > ; +AN / (A H|Ha) _ > U+064B +Q AN > U+0627 +AN > U+0627 U+064B +Q a > +a > U+064E +Q A > U+0627 +A > U+064E U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +Q [VWL] > ;stripoff quoted vowels +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +BAR > ;| + +pass(Unicode) + +Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-) +Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc. +Class [VWL] = (U+0627 U+0648..U+0650 U+0670); +[CONS]=k1 / _ Z? [CONS] ^U+0651 > @k1 U+0652 ; hack: 2nd consonant has no shadda +U+064E (U+064A|U+0648)=hc / _ (^[VWLX]|#) > U+064E @hc U+0652 ; ay and aw diphtongs +U+0627 [VWL]? / [VWL] Z _ > U+0671 ; e.g. fa-isti_hraj -> wasla on initial alif +U+0627 / # _ U+0644 > U+0627 U+064E ; otherwise initial alif takes fatha +[CONS]=k1 / _ ([CONS]|#) > @k1 U+0652 ; consonant + (consonant or final) +;; [CONS]=k1 / _ # > @k1 U+0652 ; final consonant +Q > ; +Z > ; diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-maghribi-fullvoc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-maghribi-fullvoc.tec Binary files differindex a1054efefa8..8710e3b387e 100644 --- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-maghribi-fullvoc.tec +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-maghribi-fullvoc.tec diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-maghribi-novoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-maghribi-novoc.map new file mode 100644 index 00000000000..304f32cf64a --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-maghribi-novoc.map @@ -0,0 +1,465 @@ +LHSName "ArabTeX-maghribi-novowels" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+FDF2 ;; 'll_ah' > U+FDF2 +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: + U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH' + U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +[AVWL] > ; strip off vowels when writing UTF-8 Arabic with novoc mode +CO O > U+06FC ; +a e > a y +a o > a w +CO U > U+06C7 ; +e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish) +o > u +E > I +O > U + + + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +H l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0627 ; +[VWL]=v1 / BEG _ > A @v1 +A / BEG _ > A a +Q?=q1 U / BEG _ > A @q1 u w ; -U +; Q?=q1 I / BEG _ > A @q1 i y ; -I ; but not when I is final FIXME!!! +Q?=q1 I / BEG _ > A @q1 i y ; except for Persian, coz of ezafe rules + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m Q i A Hy Q a +m Q i H a / _ (T|t) > m Q i A Hy +m i H Q a / _ (T|t) > m A Hy Q a +m i H a / _ (T|t) > m A Hy + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Y Y > U+0649 U+0651 ;;SHADDA +Y > U+0649 +P I P I / _ # > U+06CC U+0651 ;; SHADDA +P I / _ # > U+06CC ;; workaround to have ya without dots in Arabic +y y > U+064A U+0651 ;;SHADDA +y > U+064A +v v > U+06A5 U+0651 ;;SHADDA +v > U+06A5 ;; maghribi +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +Q U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +Q U > U+064F U+0648 +[Uw] [Uw] > U+0648 U+0651 ;;SHADDA +[Uw] > U+0648 +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +Q u N > U+064C +u N > +Q u > U+064F +V t V t > U+0679 U+0651 ;;SHADDA +V t > U+0679 ;urdu +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 U+064B ;;SHADDA +T Q AN > U+0629 U+064B +T AN > U+0629 +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0691 U+0651 ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+06A7 U+0651 ;; maghribi +q > U+06A7 ;; maghribi +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+062C U+0651 ;;SHADDA +C g > U+062C +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +I > U+064A +Q i N > U+064D +i N > ; +Q i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+06A2 U+0651 ;; SHADDA +f > U+06A2 ;; maghribi +V d V d > U+068A U+0651 ;;SHADDA +V d > U+068A +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0681 U+0651 ;;SHADDA +c > U+0681 ; ح with hamza above +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+0649 +UL a > U+0670 +UL u > U+0657 ; inverted damma +UL i > U+0656 ; subscript alif +Q AN / (A H|Ha) _ > U+064B +AN / (A H|Ha) _ > ; +Q AN > U+0627 U+064B +AN > U+0627 +Q a > U+064E +Q A > U+064E U+0627 +A > U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +[VWL] > ;stripoff vowels +Q > U+0652 +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +Z > ;- +BAR > ;| + diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-maghribi-novoc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-maghribi-novoc.tec Binary files differindex 3e073c9d211..4541204cd25 100644 --- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-maghribi-novoc.tec +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-maghribi-novoc.tec diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-maghribi-voc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-maghribi-voc.map new file mode 100644 index 00000000000..a6f76d42406 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-maghribi-voc.map @@ -0,0 +1,476 @@ +LHSName "ArabTeX-maghribi-vocalized" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+FDF2 ;; 'll_ah' > U+FDF2 +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: + U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH' + U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +CO O > U+06FC ; +a e > a y +a o > a w +CO U > U+06C7 ; +e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish) +o > u +E > I +O > U + + + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +H l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI +[VWL]=v1 / BEG _ > U+0627 @v1 +A / BEG _ > U+0627 a +Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U +; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I +Q?=q1 I / BEG _ > U+0627 @q1 i y + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m U+0627 Hy +m Q i H a / _ (T|t) > m U+0627 Hy a +m i H Q a / _ (T|t) > m i U+0627 Hy +m i H a / _ (T|t) > m i U+0627 Hy a + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Q Y Y > U+0649 U+0651 ;;SHADDA +Q Y > U+0649 +Y Y > U+064E U+0649 U+0651 ;;SHADDA +Y > U+064E U+0649 +P I P I / _ # > U+0650 U+06CC U+0651 ;; SHADDA +P I / _ # > U+0650 U+06CC ;; workaround to have ya without dots in Arabic +y y > U+064A U+0651 ;;SHADDA +y > U+064A +v v > U+06A5 U+0651 ;;SHADDA +v > U+06A5 ;; maghribi +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +U A / _ # > U+064F U+0648 U+0627 +Q U [Uw] > U+0648 U+0651 ;;SHADDA +Q U > U+0648 +U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +U > U+064F U+0648 +w w > U+0648 U+0651 ;;SHADDA +w > U+0648 +Q u N? > +u N > U+064C +u > U+064F +V t V t > U+0679 U+0651 ;;SHADDA +V t > U+0679 ;urdu +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 ;;SHADDA +T Q AN > U+0629 +T AN > U+0629 U+064B +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0691 U+0651 ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+06A7 U+0651 ;; maghribi +q > U+06A7 ;; maghribi +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+062C U+0651 ;;SHADDA +C g > U+062C +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+064A +I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +Q i N? > ; +i N > U+064D +i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+06A2 U+0651 ;; SHADDA +f > U+06A2 ;; maghribi +V d V d > U+068A U+0651 ;;SHADDA +V d > U+068A +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0681 U+0651 ;;SHADDA +c > U+0681 ; ح with hamza above +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+064E U+0649 +UL a > U+0670 +UL u > U+0657 ; inverted damma +UL i > U+0656 ; subscript alif +Q AN / (A H|Ha) _ > ; +AN / (A H|Ha) _ > U+064B +Q AN > U+0627 +AN > U+0627 U+064B +Q a > +a > U+064E +Q A > U+0627 +A > U+064E U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +Q [VWL] > ;stripoff quoted vowels +Q > U+0652 +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +BAR > ;| + +pass(Unicode) + +Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-) +Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc. +Class [VWL] = (U+0627 U+0648..U+0650 U+0670); +U+0627 [VWL]? / [VWL] Z _ > U+0627 ; e.g. fa-isti_hraj -> initial alif has no vowel +Z > ; diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-malay-fullvoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-malay-fullvoc.map new file mode 100644 index 00000000000..c1cf78a23a2 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-malay-fullvoc.map @@ -0,0 +1,485 @@ +LHSName "ArabTeX-malay-fullvocalized" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+FDF2 ;; 'll_ah' > U+FDF2 +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: + U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH' + U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +CO O > U+06FC ; +a e > a y +a o > a w +CO U > U+06C7 ; +e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish) +o > u + + +;; Persian ezafe (ALL BUT ARABIC AND UIGHUR) +U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<< +U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I +Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e +Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I +Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i +Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i +Z / U+0048 _ > U+0020 ; +b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI +[VWL]=v1 / BEG _ > U+0627 @v1 +Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U +; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I +Q?=q1 I / BEG _ > U+0627 @q1 i y + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m U+0627 Hy +m Q i H a / _ (T|t) > m U+0627 Hy a +m i H Q a / _ (T|t) > m i U+0627 Hy +m i H a / _ (T|t) > m i U+0627 Hy a + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Q Y Y > U+0649 U+0651 ;;SHADDA +Q Y > U+0649 +Y Y > U+064E U+0649 U+0651 ;;SHADDA +Y > U+064E U+0649 +P I P I / _ # > U+0650 U+06CC U+0651 ;; SHADDA +P I / _ # > U+0650 U+06CC ;; workaround to have ya without dots in Arabic +y y > U+064A U+0651 ;;SHADDA +y > U+064A +v v > U+06CF U+0651 ;;SHADDA +v > U+06CF +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +U A / _ # > U+064F U+0648 U+0627 +Q U [Uw] > U+0648 U+0651 ;;SHADDA +Q U > U+0648 +U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +U > U+064F U+0648 +w w > U+0648 U+0651 ;;SHADDA +w > U+0648 +Q u N? > +u N > U+064C +u > U+064F +V t V t > U+0679 U+0651 ;;SHADDA +V t > U+0679 ;urdu +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 ;;SHADDA +T Q AN > U+0629 +T AN > U+0629 U+064B +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0691 U+0651 ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+06A8 U+0651 ;;SHADDA +p > U+06A8 ;Old malay +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06BD U+0651 ;;SHADDA +C n > U+06BD ; <<< ArabTeX yields nūn with three dots below, which is not in Unicode! +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+06A0 U+0651 ;;SHADDA +C g > U+06A0 +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+064A +I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +Q i N? > ; +i N > U+064D +i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+0762 U+0651 ;;SHADDA +g > U+0762 +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+068A U+0651 ;;SHADDA +V d > U+068A +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0686 U+0651 ;;SHADDA +c > U+0686 +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+064E U+0649 +UL a > U+0670 +UL u > U+064F; +UL i > U+0650; +Q AN / (A H|Ha) _ > ; +AN / (A H|Ha) _ > U+064B +Q AN > U+0627 +AN > U+0627 U+064B +Q a > +a > U+064E +Q A > U+0627 +A > U+064E U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +Q [VWL] > ;stripoff quoted vowels +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +BAR > ;| + +pass(Unicode) + +Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-) +Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc. +Class [VWL] = (U+0627 U+0648..U+0650 U+0670); +[CONS]=k1 / _ Z? [CONS] ^U+0651 > @k1 U+0652 ; hack: 2nd consonant has no shadda +U+064E (U+064A|U+0648)=hc / _ (^[VWLX]|#) > U+064E @hc U+0652 ; ay and aw diphtongs +U+0627 / # _ U+0644 > U+0627 U+064E ; otherwise initial alif takes fatha +[CONS]=k1 / _ ([CONS]|#) > @k1 U+0652 ; consonant + (consonant or final) +;; [CONS]=k1 / _ # > @k1 U+0652 ; final consonant +Q > ; +Z > ; diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-malay-novoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-malay-novoc.map new file mode 100644 index 00000000000..7e4076dd309 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-malay-novoc.map @@ -0,0 +1,470 @@ +LHSName "ArabTeX-malay-novowels" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+FDF2 ;; 'll_ah' > U+FDF2 +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: + U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH' + U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +[AVWL] > ; strip off vowels when writing UTF-8 Arabic with novoc mode +CO O > U+06FC ; +a e > a y +a o > a w +CO U > U+06C7 ; +e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish) +o > u + + +;; Persian ezafe (ALL BUT ARABIC AND UIGHUR) +U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<< +U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I +Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e +Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I +Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i +Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i +Z / U+0048 _ > U+0020 ; +b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0627 ; +[VWL]=v1 / BEG _ > A @v1 +Q?=q1 U / BEG _ > A @q1 u w ; -U +; Q?=q1 I / BEG _ > A @q1 i y ; -I ; but not when I is final FIXME!!! +Q?=q1 I / BEG _ > A @q1 i y ; except for Persian, coz of ezafe rules + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m Q i A Hy Q a +m Q i H a / _ (T|t) > m Q i A Hy +m i H Q a / _ (T|t) > m A Hy Q a +m i H a / _ (T|t) > m A Hy + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Y Y > U+0649 U+0651 ;;SHADDA +Y > U+0649 +P I P I / _ # > U+06CC U+0651 ;; SHADDA +P I / _ # > U+06CC ;; workaround to have ya without dots in Arabic +y y > U+064A U+0651 ;;SHADDA +y > U+064A +v v > U+06CF U+0651 ;;SHADDA +v > U+06CF +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +Q U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +Q U > U+064F U+0648 +[Uw] [Uw] > U+0648 U+0651 ;;SHADDA +[Uw] > U+0648 +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +Q u N > U+064C +u N > +Q u > U+064F +V t V t > U+0679 U+0651 ;;SHADDA +V t > U+0679 ;urdu +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 U+064B ;;SHADDA +T Q AN > U+0629 U+064B +T AN > U+0629 +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0691 U+0651 ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+06A8 U+0651 ;;SHADDA +p > U+06A8 ;Old malay +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06BD U+0651 ;;SHADDA +C n > U+06BD ; <<< ArabTeX yields nūn with three dots below, which is not in Unicode! +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+06A0 U+0651 ;;SHADDA +C g > U+06A0 +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +I > U+064A +Q i N > U+064D +i N > ; +Q i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+0762 U+0651 ;;SHADDA +g > U+0762 +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+068A U+0651 ;;SHADDA +V d > U+068A +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0686 U+0651 ;;SHADDA +c > U+0686 +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+0649 +UL a > U+0670 +UL u > ; +UL i > ; +Q AN / (A H|Ha) _ > U+064B +AN / (A H|Ha) _ > ; +Q AN > U+0627 U+064B +AN > U+0627 +Q a > U+064E +Q A > U+064E U+0627 +A > U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +[VWL] > ;stripoff vowels +Q > U+0652 +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +Z > ;- +BAR > ;| + diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-malay-novoc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-malay-novoc.tec Binary files differindex 06b2d462540..4a6b8f92a3e 100644 --- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-malay-novoc.tec +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-malay-novoc.tec diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-malay-voc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-malay-voc.map new file mode 100644 index 00000000000..6f0f56dd139 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-malay-voc.map @@ -0,0 +1,480 @@ +LHSName "ArabTeX-malay-vocalized" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+FDF2 ;; 'll_ah' > U+FDF2 +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: + U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH' + U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +CO O > U+06FC ; +a e > a y +a o > a w +CO U > U+06C7 ; +e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish) +o > u + + +;; Persian ezafe (ALL BUT ARABIC AND UIGHUR) +U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<< +U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I +Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e +Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I +Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i +Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i +Z / U+0048 _ > U+0020 ; +b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI +[VWL]=v1 / BEG _ > U+0627 @v1 +Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U +; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I +Q?=q1 I / BEG _ > U+0627 @q1 i y + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m U+0627 Hy +m Q i H a / _ (T|t) > m U+0627 Hy a +m i H Q a / _ (T|t) > m i U+0627 Hy +m i H a / _ (T|t) > m i U+0627 Hy a + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Q Y Y > U+0649 U+0651 ;;SHADDA +Q Y > U+0649 +Y Y > U+064E U+0649 U+0651 ;;SHADDA +Y > U+064E U+0649 +P I P I / _ # > U+0650 U+06CC U+0651 ;; SHADDA +P I / _ # > U+0650 U+06CC ;; workaround to have ya without dots in Arabic +y y > U+064A U+0651 ;;SHADDA +y > U+064A +v v > U+06CF U+0651 ;;SHADDA +v > U+06CF +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +U A / _ # > U+064F U+0648 U+0627 +Q U [Uw] > U+0648 U+0651 ;;SHADDA +Q U > U+0648 +U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +U > U+064F U+0648 +w w > U+0648 U+0651 ;;SHADDA +w > U+0648 +Q u N? > +u N > U+064C +u > U+064F +V t V t > U+0679 U+0651 ;;SHADDA +V t > U+0679 ;urdu +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 ;;SHADDA +T Q AN > U+0629 +T AN > U+0629 U+064B +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0691 U+0651 ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+06A8 U+0651 ;;SHADDA +p > U+06A8 ;Old malay +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06BD U+0651 ;;SHADDA +C n > U+06BD ; <<< ArabTeX yields nūn with three dots below, which is not in Unicode! +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+06A0 U+0651 ;;SHADDA +C g > U+06A0 +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+064A +I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +Q i N? > ; +i N > U+064D +i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+0762 U+0651 ;;SHADDA +g > U+0762 +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+068A U+0651 ;;SHADDA +V d > U+068A +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0686 U+0651 ;;SHADDA +c > U+0686 +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+064E U+0649 +UL a > U+0670 +UL u > U+064F; +UL i > U+0650; +Q AN / (A H|Ha) _ > ; +AN / (A H|Ha) _ > U+064B +Q AN > U+0627 +AN > U+0627 U+064B +Q a > +a > U+064E +Q A > U+0627 +A > U+064E U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +Q [VWL] > ;stripoff quoted vowels +Q > U+0652 +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +BAR > ;| + +pass(Unicode) + +Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-) +Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc. +Class [VWL] = (U+0627 U+0648..U+0650 U+0670); +Z > ; diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-novoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-novoc.map new file mode 100644 index 00000000000..027f959c45f --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-novoc.map @@ -0,0 +1,465 @@ +LHSName "ArabTeX-novowels" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+FDF2 ;; 'll_ah' > U+FDF2 +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: + U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH' + U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +[AVWL] > ; strip off vowels when writing UTF-8 Arabic with novoc mode +CO O > U+06FC ; +a e > a y +a o > a w +CO U > U+06C7 ; +e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish) +o > u +E > I +O > U + + + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +H l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0627 ; +[VWL]=v1 / BEG _ > A @v1 +A / BEG _ > A a +Q?=q1 U / BEG _ > A @q1 u w ; -U +; Q?=q1 I / BEG _ > A @q1 i y ; -I ; but not when I is final FIXME!!! +Q?=q1 I / BEG _ > A @q1 i y ; except for Persian, coz of ezafe rules + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m Q i A Hy Q a +m Q i H a / _ (T|t) > m Q i A Hy +m i H Q a / _ (T|t) > m A Hy Q a +m i H a / _ (T|t) > m A Hy + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Y Y > U+0649 U+0651 ;;SHADDA +Y > U+0649 +P I P I / _ # > U+06CC U+0651 ;; SHADDA +P I / _ # > U+06CC ;; workaround to have ya without dots in Arabic +y y > U+064A U+0651 ;;SHADDA +y > U+064A +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +Q U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +Q U > U+064F U+0648 +[Uw] [Uw] > U+0648 U+0651 ;;SHADDA +[Uw] > U+0648 +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +Q u N > U+064C +u N > +Q u > U+064F +V t V t > U+0679 U+0651 ;;SHADDA +V t > U+0679 ;urdu +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 U+064B ;;SHADDA +T Q AN > U+0629 U+064B +T AN > U+0629 +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0691 U+0651 ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+062C U+0651 ;;SHADDA +C g > U+062C +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +I > U+064A +Q i N > U+064D +i N > ; +Q i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+068A U+0651 ;;SHADDA +V d > U+068A +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0681 U+0651 ;;SHADDA +c > U+0681 ; ح with hamza above +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+0649 +UL a > U+0670 +UL u > U+0657 ; inverted damma +UL i > U+0656 ; subscript alif +Q AN / (A H|Ha) _ > U+064B +AN / (A H|Ha) _ > ; +Q AN > U+0627 U+064B +AN > U+0627 +Q a > U+064E +Q A > U+064E U+0627 +A > U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +[VWL] > ;stripoff vowels +Q > U+0652 +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +Z > ;- +BAR > ;| + diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-novoc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-novoc.tec Binary files differindex 9044e5be017..ba62340d6b3 100644 --- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-novoc.tec +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-novoc.tec diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-pashto-fullvoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-pashto-fullvoc.map new file mode 100644 index 00000000000..0b1057d5908 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-pashto-fullvoc.map @@ -0,0 +1,491 @@ +LHSName "ArabTeX-pashto-fullvocalized" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+FDF2 ;; 'll_ah' > U+FDF2 +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: + U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH' + U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +a e > a U+0626 +E e > U+0659 U+06CD +e e > U+0659 U+0626 +E > U+0659 U+06D0 +CO O > U+06FC ; +O > U+0657 w +o > U+0657 +a o > a w +CO U > U+06C7 ; +e > U+0659 +I / _ # > i y + + +;; Persian ezafe (ALL BUT ARABIC AND UIGHUR) +U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<< +U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I +Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e +Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I +Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i +Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i +Z / U+0048 _ > U+0020 ; +b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI +[VWL]=v1 / BEG _ > U+0627 @v1 +Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U +; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I +Q?=q1 I / BEG _ > U+0627 @q1 i y + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m U+0627 Hy +m Q i H a / _ (T|t) > m U+0627 Hy a +m i H Q a / _ (T|t) > m i U+0627 Hy +m i H a / _ (T|t) > m i U+0627 Hy a + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Q Y Y > U+0649 U+0651 ;;SHADDA +Q Y > U+0649 +Y Y > U+064E U+0649 U+0651 ;;SHADDA +Y > U+064E U+0649 +;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots +y y > U+06CC U+0651 ;;SHADDA +y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +U A / _ # > U+064F U+0648 U+0627 +Q U [Uw] > U+0648 U+0651 ;;SHADDA +Q U > U+0648 +U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +U > U+064F U+0648 +w w > U+0648 U+0651 ;;SHADDA +w > U+0648 +Q u N? > +u N > U+064C +u > U+064F +V t V t > U+067C U+0651 ;;SHADDA +V t > U+067C ; pashto +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 ;;SHADDA +T Q AN > U+0629 +T AN > U+0629 U+064B +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0693 U+0651 ;;SHADDA +V r > U+0693 ;Pashto +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+062C U+0651 ;;SHADDA +C g > U+062C +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+064A +I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +Q i N? > ; +i N > U+064D +i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +U+0048 Z > U+0647 U+200C U+0020 ;eH-suffix > eH suffix +U+0048 > U+0647 U+200C ; H is always heh final +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+0689 U+0651 ;;SHADDA +V d > U+0689 ;pashto +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0681 U+0651 ;;SHADDA +c > U+0681 ; ح with hamza above +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+064E U+0649 +UL a > U+0670 +UL u > U+064F; +UL i > U+0650; +Q AN / (A H|Ha) _ > ; +AN / (A H|Ha) _ > U+064B +Q AN > U+0627 +AN > U+0627 U+064B +Q a > +a > U+064E +Q A > U+0627 +A > U+064E U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArEasternDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +Q [VWL] > ;stripoff quoted vowels +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +BAR > ;| + +pass(Unicode) + +Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-) +Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc. +Class [VWL] = (U+0627 U+0648..U+0650 U+0670); +[CONS]=k1 / _ Z? [CONS] ^U+0651 > @k1 U+0652 ; hack: 2nd consonant has no shadda +U+064E (U+064A|U+0648)=hc / _ (^[VWLX]|#) > U+064E @hc U+0652 ; ay and aw diphtongs +U+0627 / # _ U+0644 > U+0627 U+064E ; otherwise initial alif takes fatha +[CONS]=k1 / _ ([CONS]|#) > @k1 U+0652 ; consonant + (consonant or final) +;; [CONS]=k1 / _ # > @k1 U+0652 ; final consonant +Q > ; +Z > ; diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-pashto-novoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-pashto-novoc.map new file mode 100644 index 00000000000..a3588c87c53 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-pashto-novoc.map @@ -0,0 +1,476 @@ +LHSName "ArabTeX-pashto-novowels" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+FDF2 ;; 'll_ah' > U+FDF2 +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: + U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH' + U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +[AVWL] > ; strip off vowels when writing UTF-8 Arabic with novoc mode +a e > a U+0626 +E e > U+0659 U+06CD +e e > U+0659 U+0626 +E > U+0659 U+06D0 +CO O > U+06FC ; +O > U+0657 w +o > U+0657 +a o > a w +CO U > U+06C7 ; +e > U+0659 +I / _ # > i y + + +;; Persian ezafe (ALL BUT ARABIC AND UIGHUR) +U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<< +U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I +Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e +Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I +Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i +Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i +Z / U+0048 _ > U+0020 ; +b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0627 ; +[VWL]=v1 / BEG _ > A @v1 +Q?=q1 U / BEG _ > A @q1 u w ; -U +; Q?=q1 I / BEG _ > A @q1 i y ; -I ; but not when I is final FIXME!!! +Q?=q1 I / BEG _ > A @q1 i y ; except for Persian, coz of ezafe rules + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m Q i A Hy Q a +m Q i H a / _ (T|t) > m Q i A Hy +m i H Q a / _ (T|t) > m A Hy Q a +m i H a / _ (T|t) > m A Hy + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Y Y > U+0649 U+0651 ;;SHADDA +Y > U+0649 +;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots +y y > U+06CC U+0651 ;;SHADDA +y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +Q U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +Q U > U+064F U+0648 +[Uw] [Uw] > U+0648 U+0651 ;;SHADDA +[Uw] > U+0648 +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +Q u N > U+064C +u N > +Q u > U+064F +V t V t > U+067C U+0651 ;;SHADDA +V t > U+067C ; pashto +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 U+064B ;;SHADDA +T Q AN > U+0629 U+064B +T AN > U+0629 +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0693 U+0651 ;;SHADDA +V r > U+0693 ;Pashto +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+062C U+0651 ;;SHADDA +C g > U+062C +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +I > U+064A +Q i N > U+064D +i N > ; +Q i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +U+0048 Z > U+0647 U+200C U+0020 ;eH-suffix > eH suffix +U+0048 > U+0647 U+200C ; H is always heh final +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+0689 U+0651 ;;SHADDA +V d > U+0689 ;pashto +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0681 U+0651 ;;SHADDA +c > U+0681 ; ح with hamza above +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+0649 +UL a > U+0670 +UL u > ; +UL i > ; +Q AN / (A H|Ha) _ > U+064B +AN / (A H|Ha) _ > ; +Q AN > U+0627 U+064B +AN > U+0627 +Q a > U+064E +Q A > U+064E U+0627 +A > U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArEasternDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +[VWL] > ;stripoff vowels +Q > U+0652 +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +Z > ;- +BAR > ;| + diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-pashto-novoc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-pashto-novoc.tec Binary files differindex bb6f98c2556..d05a8143417 100644 --- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-pashto-novoc.tec +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-pashto-novoc.tec diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-pashto-voc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-pashto-voc.map new file mode 100644 index 00000000000..e76a8ec86d1 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-pashto-voc.map @@ -0,0 +1,486 @@ +LHSName "ArabTeX-pashto-vocalized" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+FDF2 ;; 'll_ah' > U+FDF2 +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: + U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH' + U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +a e > a U+0626 +E e > U+0659 U+06CD +e e > U+0659 U+0626 +E > U+0659 U+06D0 +CO O > U+06FC ; +O > U+0657 w +o > U+0657 +a o > a w +CO U > U+06C7 ; +e > U+0659 +I / _ # > i y + + +;; Persian ezafe (ALL BUT ARABIC AND UIGHUR) +U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<< +U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I +Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e +Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I +Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i +Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i +Z / U+0048 _ > U+0020 ; +b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI +[VWL]=v1 / BEG _ > U+0627 @v1 +Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U +; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I +Q?=q1 I / BEG _ > U+0627 @q1 i y + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m U+0627 Hy +m Q i H a / _ (T|t) > m U+0627 Hy a +m i H Q a / _ (T|t) > m i U+0627 Hy +m i H a / _ (T|t) > m i U+0627 Hy a + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Q Y Y > U+0649 U+0651 ;;SHADDA +Q Y > U+0649 +Y Y > U+064E U+0649 U+0651 ;;SHADDA +Y > U+064E U+0649 +;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots +y y > U+06CC U+0651 ;;SHADDA +y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +U A / _ # > U+064F U+0648 U+0627 +Q U [Uw] > U+0648 U+0651 ;;SHADDA +Q U > U+0648 +U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +U > U+064F U+0648 +w w > U+0648 U+0651 ;;SHADDA +w > U+0648 +Q u N? > +u N > U+064C +u > U+064F +V t V t > U+067C U+0651 ;;SHADDA +V t > U+067C ; pashto +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 ;;SHADDA +T Q AN > U+0629 +T AN > U+0629 U+064B +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0693 U+0651 ;;SHADDA +V r > U+0693 ;Pashto +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+062C U+0651 ;;SHADDA +C g > U+062C +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+064A +I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +Q i N? > ; +i N > U+064D +i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +U+0048 Z > U+0647 U+200C U+0020 ;eH-suffix > eH suffix +U+0048 > U+0647 U+200C ; H is always heh final +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+0689 U+0651 ;;SHADDA +V d > U+0689 ;pashto +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0681 U+0651 ;;SHADDA +c > U+0681 ; ح with hamza above +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+064E U+0649 +UL a > U+0670 +UL u > U+064F; +UL i > U+0650; +Q AN / (A H|Ha) _ > ; +AN / (A H|Ha) _ > U+064B +Q AN > U+0627 +AN > U+0627 U+064B +Q a > +a > U+064E +Q A > U+0627 +A > U+064E U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArEasternDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +Q [VWL] > ;stripoff quoted vowels +Q > U+0652 +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +BAR > ;| + +pass(Unicode) + +Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-) +Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc. +Class [VWL] = (U+0627 U+0648..U+0650 U+0670); +Z > ; diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-sindhi-fullvoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-sindhi-fullvoc.map new file mode 100644 index 00000000000..8c9fbcc7722 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-sindhi-fullvoc.map @@ -0,0 +1,461 @@ +LHSName "ArabTeX-sindhi-fullvocalized" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+FDF2 ;; 'll_ah' > U+FDF2 +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: + U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH' + U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +CO O > U+06FC ; +a e > a y +a o > a w +(o|u)? O / # _ > U+0627 w +(o|u)? O > w +CO U > U+06C7 ; +e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish) +o > u + + +;; Persian ezafe (ALL BUT ARABIC AND UIGHUR) +U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<< +U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I +Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e +Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I +Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i +Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i +Z / U+0048 _ > U+0020 ; +b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI +[VWL]=v1 / BEG _ > U+0627 @v1 +Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U +; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I +Q?=q1 I / BEG _ > U+0627 @q1 i y + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m U+0627 Hy +m Q i H a / _ (T|t) > m U+0627 Hy a +m i H Q a / _ (T|t) > m i U+0627 Hy +m i H a / _ (T|t) > m i U+0627 Hy a + + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + +;; special code for sindhi +;; U+004D U+0049 U+004E > U+06FE ; define macro \MIN in sindhi env +P m I N > U+06FE ; .mIN +;; U+0049 U+004E > U+06FD ; IN define macro \IN in sindhi env +H BAR I N > U+06FD ; '|IN + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Q Y Y > U+0649 U+0651 ;;SHADDA +Q Y > U+0649 +Y Y > U+064E U+0649 U+0651 ;;SHADDA +Y > U+064E U+0649 +P I P I / _ # > U+0650 U+06CC U+0651 ;; SHADDA +P I / _ # > U+0650 U+06CC ;; workaround to have ya without dots in Arabic +y y > U+064A U+0651 ;;SHADDA +y > U+064A +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +U A / _ # > U+064F U+0648 U+0627 +Q U [Uw] > U+0648 U+0651 ;;SHADDA +Q U > U+0648 +U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +U > U+064F U+0648 +w w > U+0648 U+0651 ;;SHADDA +w > U+0648 +Q u N? > +u N > U+064C +u > U+064F +V t h V t h > U+067A U+0651 ;;SHADDA +V t h > U+067A +t h t h > U+067F U+0651 ;;SHADDA +t h > U+067F +V t V t > U+067D U+0651 ;;SHADDA +V t > U+067D +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 ;;SHADDA +T Q AN > U+0629 +T AN > U+0629 U+064B +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0699 U+0651 ;;SHADDA +V r > U+0699 +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p h p h > U+06A6 U+0651 ;;SHADDA +p h > U+06A6 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+0683 U+0651 ;;SHADDA +C n > U+0683 +P P n P P n > U+06B2 U+0651 ;;SHADDA +P P n > U+06B2 ;; old sindhi? (not in ArabTeX) <<< +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BB U+0651 ;;SHADDA +V n > U+06BB +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +k h k h > U+06A9 U+0651 ;;SHADDA +k h > U+06A9 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+06AA U+0651 ;;SHADDA +k > U+06AA ; kaf swash +C g C g > U+062C U+0651 ;;SHADDA +C g > U+062C +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+064A +I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +Q i N? > ; +i N > U+064D +i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+06BE U+0651 ;;SHADDA +h > U+06BE +P CO g P CO g > U+06B4 U+0651 ;;SHADDA +P CO g > U+06B4 ;; old sindhi? (not in ArabTeX) <<< +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d h V d h > U+068D U+0651 ;;SHADDA +V d h > U+068D +V d V d > U+068A U+0651 ;;SHADDA +V d > U+068A +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +d h d h > U+068C U+0651 ;;SHADDA +d h > U+068C +C d C d > U+068E ;;SHADDA +C d > U+068E ; old sindhi: not in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +C c h C c h > U+0687 U+0651 ;;SHADDA +C c h > U+0687 +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0681 U+0651 ;;SHADDA +c > U+0681 ; ح with hamza above +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +b h b h > U+0680 U+0651 ;;SHADDA +b h > U+0680 +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+064E U+0649 +UL a > U+0670 +UL u > U+064F; +UL i > U+0650; +Q AN / (A H|Ha) _ > ; +AN / (A H|Ha) _ > U+064B +Q AN > U+0627 +AN > U+0627 U+064B +Q a > +a > U+064E +Q A > U+0627 +A > U+064E U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArEasternDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +Q [VWL] > ;stripoff quoted vowels +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +BAR > ;| + +pass(Unicode) + +Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-) +Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc. +Class [VWL] = (U+0627 U+0648..U+0650 U+0670); +[CONS]=k1 / _ Z? [CONS] ^U+0651 > @k1 U+0652 ; hack: 2nd consonant has no shadda +U+064E (U+064A|U+0648)=hc / _ (^[VWLX]|#) > U+064E @hc U+0652 ; ay and aw diphtongs +U+0627 / # _ U+0644 > U+0627 U+064E ; otherwise initial alif takes fatha +[CONS]=k1 / _ ([CONS]|#) > @k1 U+0652 ; consonant + (consonant or final) +;; [CONS]=k1 / _ # > @k1 U+0652 ; final consonant +Q > ; +Z > ; diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-sindhi-fullvoc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-sindhi-fullvoc.tec Binary files differindex ec7e77ac20d..34b9a0e1d72 100644 --- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-sindhi-fullvoc.tec +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-sindhi-fullvoc.tec diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-sindhi-novoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-sindhi-novoc.map new file mode 100644 index 00000000000..4e03d67e8cf --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-sindhi-novoc.map @@ -0,0 +1,446 @@ +LHSName "ArabTeX-sindhi-novowels" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+FDF2 ;; 'll_ah' > U+FDF2 +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: + U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH' + U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +[AVWL] > ; strip off vowels when writing UTF-8 Arabic with novoc mode +CO O > U+06FC ; +a e > a y +a o > a w +(o|u)? O / # _ > U+0627 w +(o|u)? O > w +CO U > U+06C7 ; +e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish) +o > u + + +;; Persian ezafe (ALL BUT ARABIC AND UIGHUR) +U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<< +U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I +Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e +Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I +Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i +Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i +Z / U+0048 _ > U+0020 ; +b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0627 ; +[VWL]=v1 / BEG _ > A @v1 +Q?=q1 U / BEG _ > A @q1 u w ; -U +; Q?=q1 I / BEG _ > A @q1 i y ; -I ; but not when I is final FIXME!!! +Q?=q1 I / BEG _ > A @q1 i y ; except for Persian, coz of ezafe rules + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m Q i A Hy Q a +m Q i H a / _ (T|t) > m Q i A Hy +m i H Q a / _ (T|t) > m A Hy Q a +m i H a / _ (T|t) > m A Hy + + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + +;; special code for sindhi +;; U+004D U+0049 U+004E > U+06FE ; define macro \MIN in sindhi env +P m I N > U+06FE ; .mIN +;; U+0049 U+004E > U+06FD ; IN define macro \IN in sindhi env +H BAR I N > U+06FD ; '|IN + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Y Y > U+0649 U+0651 ;;SHADDA +Y > U+0649 +P I P I / _ # > U+06CC U+0651 ;; SHADDA +P I / _ # > U+06CC ;; workaround to have ya without dots in Arabic +y y > U+064A U+0651 ;;SHADDA +y > U+064A +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +Q U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +Q U > U+064F U+0648 +[Uw] [Uw] > U+0648 U+0651 ;;SHADDA +[Uw] > U+0648 +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +Q u N > U+064C +u N > +Q u > U+064F +V t h V t h > U+067A U+0651 ;;SHADDA +V t h > U+067A +t h t h > U+067F U+0651 ;;SHADDA +t h > U+067F +V t V t > U+067D U+0651 ;;SHADDA +V t > U+067D +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 U+064B ;;SHADDA +T Q AN > U+0629 U+064B +T AN > U+0629 +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0699 U+0651 ;;SHADDA +V r > U+0699 +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p h p h > U+06A6 U+0651 ;;SHADDA +p h > U+06A6 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+0683 U+0651 ;;SHADDA +C n > U+0683 +P P n P P n > U+06B2 U+0651 ;;SHADDA +P P n > U+06B2 ;; old sindhi? (not in ArabTeX) <<< +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BB U+0651 ;;SHADDA +V n > U+06BB +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +k h k h > U+06A9 U+0651 ;;SHADDA +k h > U+06A9 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+06AA U+0651 ;;SHADDA +k > U+06AA ; kaf swash +C g C g > U+062C U+0651 ;;SHADDA +C g > U+062C +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +I > U+064A +Q i N > U+064D +i N > ; +Q i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+06BE U+0651 ;;SHADDA +h > U+06BE +P CO g P CO g > U+06B4 U+0651 ;;SHADDA +P CO g > U+06B4 ;; old sindhi? (not in ArabTeX) <<< +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d h V d h > U+068D U+0651 ;;SHADDA +V d h > U+068D +V d V d > U+068A U+0651 ;;SHADDA +V d > U+068A +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +d h d h > U+068C U+0651 ;;SHADDA +d h > U+068C +C d C d > U+068E ;;SHADDA +C d > U+068E ; old sindhi: not in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +C c h C c h > U+0687 U+0651 ;;SHADDA +C c h > U+0687 +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0681 U+0651 ;;SHADDA +c > U+0681 ; ح with hamza above +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +b h b h > U+0680 U+0651 ;;SHADDA +b h > U+0680 +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+0649 +UL a > U+0670 +UL u > ; +UL i > ; +Q AN / (A H|Ha) _ > U+064B +AN / (A H|Ha) _ > ; +Q AN > U+0627 U+064B +AN > U+0627 +Q a > U+064E +Q A > U+064E U+0627 +A > U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArEasternDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +[VWL] > ;stripoff vowels +Q > U+0652 +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +Z > ;- +BAR > ;| + diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-sindhi-novoc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-sindhi-novoc.tec Binary files differindex 50cbd2b3af4..6e8fc3767c1 100644 --- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-sindhi-novoc.tec +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-sindhi-novoc.tec diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-sindhi-voc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-sindhi-voc.map new file mode 100644 index 00000000000..7acfe951345 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-sindhi-voc.map @@ -0,0 +1,456 @@ +LHSName "ArabTeX-sindhi-vocalized" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+FDF2 ;; 'll_ah' > U+FDF2 +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: + U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH' + U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +CO O > U+06FC ; +a e > a y +a o > a w +(o|u)? O / # _ > U+0627 w +(o|u)? O > w +CO U > U+06C7 ; +e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish) +o > u + + +;; Persian ezafe (ALL BUT ARABIC AND UIGHUR) +U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<< +U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I +Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e +Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I +Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i +Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i +Z / U+0048 _ > U+0020 ; +b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI +[VWL]=v1 / BEG _ > U+0627 @v1 +Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U +; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I +Q?=q1 I / BEG _ > U+0627 @q1 i y + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m U+0627 Hy +m Q i H a / _ (T|t) > m U+0627 Hy a +m i H Q a / _ (T|t) > m i U+0627 Hy +m i H a / _ (T|t) > m i U+0627 Hy a + + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + +;; special code for sindhi +;; U+004D U+0049 U+004E > U+06FE ; define macro \MIN in sindhi env +P m I N > U+06FE ; .mIN +;; U+0049 U+004E > U+06FD ; IN define macro \IN in sindhi env +H BAR I N > U+06FD ; '|IN + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Q Y Y > U+0649 U+0651 ;;SHADDA +Q Y > U+0649 +Y Y > U+064E U+0649 U+0651 ;;SHADDA +Y > U+064E U+0649 +P I P I / _ # > U+0650 U+06CC U+0651 ;; SHADDA +P I / _ # > U+0650 U+06CC ;; workaround to have ya without dots in Arabic +y y > U+064A U+0651 ;;SHADDA +y > U+064A +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +U A / _ # > U+064F U+0648 U+0627 +Q U [Uw] > U+0648 U+0651 ;;SHADDA +Q U > U+0648 +U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +U > U+064F U+0648 +w w > U+0648 U+0651 ;;SHADDA +w > U+0648 +Q u N? > +u N > U+064C +u > U+064F +V t h V t h > U+067A U+0651 ;;SHADDA +V t h > U+067A +t h t h > U+067F U+0651 ;;SHADDA +t h > U+067F +V t V t > U+067D U+0651 ;;SHADDA +V t > U+067D +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 ;;SHADDA +T Q AN > U+0629 +T AN > U+0629 U+064B +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0699 U+0651 ;;SHADDA +V r > U+0699 +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p h p h > U+06A6 U+0651 ;;SHADDA +p h > U+06A6 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+0683 U+0651 ;;SHADDA +C n > U+0683 +P P n P P n > U+06B2 U+0651 ;;SHADDA +P P n > U+06B2 ;; old sindhi? (not in ArabTeX) <<< +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BB U+0651 ;;SHADDA +V n > U+06BB +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +k h k h > U+06A9 U+0651 ;;SHADDA +k h > U+06A9 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+06AA U+0651 ;;SHADDA +k > U+06AA ; kaf swash +C g C g > U+062C U+0651 ;;SHADDA +C g > U+062C +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+064A +I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +Q i N? > ; +i N > U+064D +i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+06BE U+0651 ;;SHADDA +h > U+06BE +P CO g P CO g > U+06B4 U+0651 ;;SHADDA +P CO g > U+06B4 ;; old sindhi? (not in ArabTeX) <<< +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d h V d h > U+068D U+0651 ;;SHADDA +V d h > U+068D +V d V d > U+068A U+0651 ;;SHADDA +V d > U+068A +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +d h d h > U+068C U+0651 ;;SHADDA +d h > U+068C +C d C d > U+068E ;;SHADDA +C d > U+068E ; old sindhi: not in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +C c h C c h > U+0687 U+0651 ;;SHADDA +C c h > U+0687 +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0681 U+0651 ;;SHADDA +c > U+0681 ; ح with hamza above +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +b h b h > U+0680 U+0651 ;;SHADDA +b h > U+0680 +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+064E U+0649 +UL a > U+0670 +UL u > U+064F; +UL i > U+0650; +Q AN / (A H|Ha) _ > ; +AN / (A H|Ha) _ > U+064B +Q AN > U+0627 +AN > U+0627 U+064B +Q a > +a > U+064E +Q A > U+0627 +A > U+064E U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArEasternDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +Q [VWL] > ;stripoff quoted vowels +Q > U+0652 +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +BAR > ;| + +pass(Unicode) + +Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-) +Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc. +Class [VWL] = (U+0627 U+0648..U+0650 U+0670); +Z > ; diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-sindhi-voc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-sindhi-voc.tec Binary files differindex 2d3266d2610..7583ec76be2 100644 --- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-sindhi-voc.tec +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-sindhi-voc.tec diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-turk-fullvoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-turk-fullvoc.map new file mode 100644 index 00000000000..62aa619b8e9 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-turk-fullvoc.map @@ -0,0 +1,485 @@ +LHSName "ArabTeX-turk-fullvocalized" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+FDF2 ;; 'll_ah' > U+FDF2 +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: + U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH' + U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +CO O > U+06FC ; +a e > a y +a o > a w +CO U > U+06C7 ; +e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish) +o > u +I / _ # > i y + + +;; Persian ezafe (ALL BUT ARABIC AND UIGHUR) +U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<< +U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I +Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e +Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I +Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i +Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i +Z / U+0048 _ > U+0020 ; +b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI +[VWL]=v1 / BEG _ > U+0627 @v1 +Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U +; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I +Q?=q1 I / BEG _ > U+0627 @q1 i y + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m U+0627 Hy +m Q i H a / _ (T|t) > m U+0627 Hy a +m i H Q a / _ (T|t) > m i U+0627 Hy +m i H a / _ (T|t) > m i U+0627 Hy a + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0636 U+0651 ;;SHADDA +V z > U+0636 +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Q Y Y > U+0649 U+0651 ;;SHADDA +Q Y > U+0649 +Y Y > U+064E U+0649 U+0651 ;;SHADDA +Y > U+064E U+0649 +;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots +y y > U+06CC U+0651 ;;SHADDA +y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +U A / _ # > U+064F U+0648 U+0627 +Q U [Uw] > U+0648 U+0651 ;;SHADDA +Q U > U+0648 +U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +U > U+064F U+0648 +w w > U+0648 U+0651 ;;SHADDA +w > U+0648 +Q u N? > +u N > U+064C +u > U+064F +V t V t > U+0679 U+0651 ;;SHADDA +V t > U+0679 ;urdu +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 ;;SHADDA +T Q AN > U+0629 +T AN > U+0629 U+064B +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+0634 U+0651 ;;SHADDA +V s > U+0634 +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0691 U+0651 ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+0642 U+0651 ;;SHADDA +P k > U+0642 ; Ottoman qaf +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+06A0 U+0651 ;;SHADDA +C g > U+06A0 +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+0698 U+0651 ;;SHADDA +j > U+0698 +Q I > U+064A +I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +Q i N? > ; +i N > U+064D +i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+068A U+0651 ;;SHADDA +V d > U+068A +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0686 U+0651 ;;SHADDA +V c > U+0686 ; Ottoman ç +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+062C U+0651 ;;SHADDA +c > U+062C +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+064E U+0649 +UL a > U+0670 +UL u > U+064F; +UL i > U+0650; +Q AN / (A H|Ha) _ > ; +AN / (A H|Ha) _ > U+064B +Q AN > U+0627 +AN > U+0627 U+064B +Q a > +a > U+064E +Q A > U+0627 +A > U+064E U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +Q [VWL] > ;stripoff quoted vowels +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +BAR > ;| + +pass(Unicode) + +Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-) +Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc. +Class [VWL] = (U+0627 U+0648..U+0650 U+0670); +[CONS]=k1 / _ Z? [CONS] ^U+0651 > @k1 U+0652 ; hack: 2nd consonant has no shadda +U+064E (U+064A|U+0648)=hc / _ (^[VWLX]|#) > U+064E @hc U+0652 ; ay and aw diphtongs +U+0627 / # _ U+0644 > U+0627 U+064E ; otherwise initial alif takes fatha +[CONS]=k1 / _ ([CONS]|#) > @k1 U+0652 ; consonant + (consonant or final) +;; [CONS]=k1 / _ # > @k1 U+0652 ; final consonant +Q > ; +Z > ; diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-turk-novoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-turk-novoc.map new file mode 100644 index 00000000000..824eab5c57d --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-turk-novoc.map @@ -0,0 +1,470 @@ +LHSName "ArabTeX-turk-novowels" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+FDF2 ;; 'll_ah' > U+FDF2 +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: + U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH' + U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +[AVWL] > ; strip off vowels when writing UTF-8 Arabic with novoc mode +CO O > U+06FC ; +a e > a y +a o > a w +CO U > U+06C7 ; +e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish) +o > u +I / _ # > i y + + +;; Persian ezafe (ALL BUT ARABIC AND UIGHUR) +U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<< +U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I +Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e +Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I +Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i +Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i +Z / U+0048 _ > U+0020 ; +b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0627 ; +[VWL]=v1 / BEG _ > A @v1 +Q?=q1 U / BEG _ > A @q1 u w ; -U +; Q?=q1 I / BEG _ > A @q1 i y ; -I ; but not when I is final FIXME!!! +Q?=q1 I / BEG _ > A @q1 i y ; except for Persian, coz of ezafe rules + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m Q i A Hy Q a +m Q i H a / _ (T|t) > m Q i A Hy +m i H Q a / _ (T|t) > m A Hy Q a +m i H a / _ (T|t) > m A Hy + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0636 U+0651 ;;SHADDA +V z > U+0636 +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Y Y > U+0649 U+0651 ;;SHADDA +Y > U+0649 +;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots +y y > U+06CC U+0651 ;;SHADDA +y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +Q U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +Q U > U+064F U+0648 +[Uw] [Uw] > U+0648 U+0651 ;;SHADDA +[Uw] > U+0648 +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +Q u N > U+064C +u N > +Q u > U+064F +V t V t > U+0679 U+0651 ;;SHADDA +V t > U+0679 ;urdu +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 U+064B ;;SHADDA +T Q AN > U+0629 U+064B +T AN > U+0629 +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+0634 U+0651 ;;SHADDA +V s > U+0634 +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0691 U+0651 ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+0642 U+0651 ;;SHADDA +P k > U+0642 ; Ottoman qaf +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+06A0 U+0651 ;;SHADDA +C g > U+06A0 +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+0698 U+0651 ;;SHADDA +j > U+0698 +Q I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +I > U+064A +Q i N > U+064D +i N > ; +Q i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+068A U+0651 ;;SHADDA +V d > U+068A +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0686 U+0651 ;;SHADDA +V c > U+0686 ; Ottoman ç +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+062C U+0651 ;;SHADDA +c > U+062C +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+0649 +UL a > U+0670 +UL u > ; +UL i > ; +Q AN / (A H|Ha) _ > U+064B +AN / (A H|Ha) _ > ; +Q AN > U+0627 U+064B +AN > U+0627 +Q a > U+064E +Q A > U+064E U+0627 +A > U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +[VWL] > ;stripoff vowels +Q > U+0652 +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +Z > ;- +BAR > ;| + diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-turk-novoc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-turk-novoc.tec Binary files differindex a58c0a010a8..95903a8c0ab 100644 --- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-turk-novoc.tec +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-turk-novoc.tec diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-turk-voc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-turk-voc.map new file mode 100644 index 00000000000..60c1d10e045 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-turk-voc.map @@ -0,0 +1,480 @@ +LHSName "ArabTeX-turk-vocalized" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+FDF2 ;; 'll_ah' > U+FDF2 +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: + U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH' + U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +CO O > U+06FC ; +a e > a y +a o > a w +CO U > U+06C7 ; +e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish) +o > u +I / _ # > i y + + +;; Persian ezafe (ALL BUT ARABIC AND UIGHUR) +U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<< +U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I +Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e +Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I +Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i +Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i +Z / U+0048 _ > U+0020 ; +b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI +[VWL]=v1 / BEG _ > U+0627 @v1 +Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U +; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I +Q?=q1 I / BEG _ > U+0627 @q1 i y + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m U+0627 Hy +m Q i H a / _ (T|t) > m U+0627 Hy a +m i H Q a / _ (T|t) > m i U+0627 Hy +m i H a / _ (T|t) > m i U+0627 Hy a + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0636 U+0651 ;;SHADDA +V z > U+0636 +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Q Y Y > U+0649 U+0651 ;;SHADDA +Q Y > U+0649 +Y Y > U+064E U+0649 U+0651 ;;SHADDA +Y > U+064E U+0649 +;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots +y y > U+06CC U+0651 ;;SHADDA +y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +U A / _ # > U+064F U+0648 U+0627 +Q U [Uw] > U+0648 U+0651 ;;SHADDA +Q U > U+0648 +U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +U > U+064F U+0648 +w w > U+0648 U+0651 ;;SHADDA +w > U+0648 +Q u N? > +u N > U+064C +u > U+064F +V t V t > U+0679 U+0651 ;;SHADDA +V t > U+0679 ;urdu +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 ;;SHADDA +T Q AN > U+0629 +T AN > U+0629 U+064B +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+0634 U+0651 ;;SHADDA +V s > U+0634 +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0691 U+0651 ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+0642 U+0651 ;;SHADDA +P k > U+0642 ; Ottoman qaf +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+06A0 U+0651 ;;SHADDA +C g > U+06A0 +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+0698 U+0651 ;;SHADDA +j > U+0698 +Q I > U+064A +I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +Q i N? > ; +i N > U+064D +i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+068A U+0651 ;;SHADDA +V d > U+068A +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0686 U+0651 ;;SHADDA +V c > U+0686 ; Ottoman ç +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+062C U+0651 ;;SHADDA +c > U+062C +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+064E U+0649 +UL a > U+0670 +UL u > U+064F; +UL i > U+0650; +Q AN / (A H|Ha) _ > ; +AN / (A H|Ha) _ > U+064B +Q AN > U+0627 +AN > U+0627 U+064B +Q a > +a > U+064E +Q A > U+0627 +A > U+064E U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +Q [VWL] > ;stripoff quoted vowels +Q > U+0652 +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +BAR > ;| + +pass(Unicode) + +Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-) +Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc. +Class [VWL] = (U+0627 U+0648..U+0650 U+0670); +Z > ; diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-uighur.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-uighur.map new file mode 100644 index 00000000000..2b3923d1e2a --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-uighur.map @@ -0,0 +1,277 @@ +LHSName "ArabTeX-Uighur" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define LLAH U+006C U+006C U+005F U+0061 U+0068 + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) + + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +(a|A) l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+FDF2 ;; 'll_ah' > U+FDF2 +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: + U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH' + U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL)' +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE)' +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels + +a / # _ > U+0626 U+0627 +a > U+0627 +(CO a|U+00E4) / # _ > U+0626 U+0647 U+200C +(CO a|U+00E4) > U+0647 U+200C +o / # _ > U+0626 U+0648 ; +o > U+0648 ; +(CO o|U+00F6) / # _ > U+0626 U+06C6 +(CO o|U+00F6) > U+06C6 +i / # _ # > U+0626 U+0649 +i / # _ > U+0626 U+066E +i / _ # > U+0649 +i > U+066E +e / # _ > U+0626 U+06D0 +e > U+06D0 +u / # _ > U+0626 U+06C7 ; +u > U+06C7 ; +(CO u|U+00FC) / # _ > U+0626 U+06C8 ; +(CO u|U+00FC) > U+06C8 ; +l Q a > U+0644 U+064E U+0627 ; +l a > U+0644 U+0627 ; + +P z P z > U+0638 U+0651 ;;SHADDA +P z > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;pashto ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Y Y > U+0649 U+0651 ;;SHADDA +Y > U+0649 +w w > U+06CB U+0651 ;;SHADDA +w > U+06CB +y y > U+064A U+0651 ;;SHADDA +y > U+064A +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +V t V t > U+0679 U+0651 ; urdu ;;SHADDA +V t > U+0679 +UL t UL t > U+062B U+0651 ;;SHADDA +UL t > U+062B +P t P t > U+0637 U+0651 ;;SHADDA +P t > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +P s P s > U+0635 U+0651 ;;SHADDA +P s > U+0635 +V s V s > U+069A U+0651 ;Pashto ;;SHADDA +V s > U+069A ;Pashto +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+0692 U+0651 ;Kurdish ;;SHADDA ; missing in ArabTeX <<< +C r > U+0692 +P r P r > U+0695 U+0651 ;Kurdish ;;SHADDA +P r > U+0695 +V r V r > U+0691 U+0651 ;Urdu ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ; urdu ;;SHADDA +P n > U+06BA ; +V n V n > U+06BC U+0651 ; Pashto +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +C l C l > U+06B5 U+0651 ;kurdish ;;SHADDA +C l > U+06B5 +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ; pashto urdu ;;SHADDA +P k > U+06A9 +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +x x > U+062E U+0651 ;;SHADDA +x > U+062E +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +P h P h > U+062D U+0651 ;;SHADDA +P h > U+062D +V h V h > U+06C1 U+0651 +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +C g C g > U+063A U+0651 ;;SHADDA +C g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;pashto ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+0688 U+0651 ;urdu ;;SHADDA +V d > U+0688 ;urdu +C d C d > U+06EE ; not defined in ArabTeX U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +UL d UL d > U+0630 U+0651 ;;SHADDA +UL d > U+0630 +P d P d > U+0636 U+0651 ;;SHADDA +P d > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;pashto ;;SHADDA +V c > U+0685 +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +c c > U+0681 U+0651 +c > U+0681 ; ح with hamza above +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H > U+0626 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / . _ . > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... +U+005B / . _ . > U+200D U+005B U+200D ; ... (but of course this screws up contextual analysis, so quoting of hamzas etc may be necessary) +Q > ; +N > ; +C > ;^ +Z > ;- +BAR > ;| + + diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-urdu-fullvoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-urdu-fullvoc.map new file mode 100644 index 00000000000..6dcb6cec050 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-urdu-fullvoc.map @@ -0,0 +1,499 @@ +LHSName "ArabTeX-urdu-fullvocalized" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+FDF2 ;; 'll_ah' > U+FDF2 +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: + U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH' + U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +CO O > U+06FC ; +H E > U+06D3 ;; hamza + yeh barree +E / _ # > U+06D2 +E > y +a e / _ # > a U+06D2 +a e > a y +a o > a w +(o|u)? O / # _ > U+0627 w +(o|u)? O > w +CO U > U+06C7 ; +e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish) +o > u +I / _ # > i y + + +;; Persian ezafe (ALL BUT ARABIC AND UIGHUR) +U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<< +U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I +Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e +Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I +Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i +Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i +Z / U+0048 _ > U+0020 ; +b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI +[VWL]=v1 / BEG _ > U+0627 @v1 +A / BEG _ > HA ;; ADD MORE ? <<< +Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U +; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I +Q?=q1 I / BEG _ > U+0627 @q1 i y + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m U+0627 Hy +m Q i H a / _ (T|t) > m U+0627 Hy a +m i H Q a / _ (T|t) > m i U+0627 Hy +m i H a / _ (T|t) > m i U+0627 Hy a + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Q Y Y > U+0649 U+0651 ;;SHADDA +Q Y > U+0649 +Y Y > U+064E U+0649 U+0651 ;;SHADDA +Y > U+064E U+0649 +;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots +y y > U+06CC U+0651 ;;SHADDA +y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +U A / _ # > U+064F U+0648 U+0627 +Q U [Uw] > U+0648 U+0651 ;;SHADDA +Q U > U+0648 +U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +U > U+064F U+0648 +w w > U+0648 U+0651 ;;SHADDA +w > U+0648 +Q u N? > +u N > U+064C +u > U+064F +V t V t > U+0679 U+0651 ;;SHADDA +V t > U+0679 ;urdu +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 ;;SHADDA +T Q AN > U+0629 +T AN > U+0629 U+064B +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0691 U+0651 ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+062C U+0651 ;;SHADDA +C g > U+062C +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+064A +I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +Q i N? > ; +i N > U+064D +i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +U+0048 > U+06C3 +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +H H > U+06C1 U+0651 ;;SHADDA +H > U+06C1 +h h > U+06BE U+0651 ;;SHADDA +h > U+06BE ; urdu +;; fix letter+h letter+h > letter+h shadda in URDU <<< +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+0688 U+0651 ;;SHADDA +V d > U+0688 ;urdu +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +CO CO d CO CO d > U+0690 U+0651 ;;SHADDA +CO CO d > U+0690 ; old urdu: not in ArabTeX +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0681 U+0651 ;;SHADDA +c > U+0681 ; ح with hamza above +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+064E U+0649 +UL a > U+0670 +UL u > U+064F; +UL i > U+0650; +Q AN / (A H|Ha) _ > ; +AN / (A H|Ha) _ > U+064B +Q AN > U+0627 +AN > U+0627 U+064B +Q a > +a > U+064E +Q A > U+0627 +A > U+064E U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArEasternDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +Q [VWL] > ;stripoff quoted vowels +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +BAR > ;| +P P > U+06D4 ; urdu full stop << check + +pass(Unicode) + +Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-) +Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc. +Class [VWL] = (U+0627 U+0648..U+0650 U+0670); +[CONS]=k1 / _ Z? [CONS] ^U+0651 > @k1 U+0652 ; hack: 2nd consonant has no shadda +U+064E (U+064A|U+0648)=hc / _ (^[VWLX]|#) > U+064E @hc U+0652 ; ay and aw diphtongs +U+0627 / # _ U+0644 > U+0627 U+064E ; otherwise initial alif takes fatha +[CONS]=k1 / _ ([CONS]|#) > @k1 U+0652 ; consonant + (consonant or final) +;; [CONS]=k1 / _ # > @k1 U+0652 ; final consonant +Q > ; +Z > ; diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-urdu-fullvoc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-urdu-fullvoc.tec Binary files differindex e413cc0c6b1..1eeca763f5f 100644 --- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-urdu-fullvoc.tec +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-urdu-fullvoc.tec diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-urdu-novoc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-urdu-novoc.map new file mode 100644 index 00000000000..e606cd8bcce --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-urdu-novoc.map @@ -0,0 +1,484 @@ +LHSName "ArabTeX-urdu-novowels" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+FDF2 ;; 'll_ah' > U+FDF2 +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: + U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH' + U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +[AVWL] > ; strip off vowels when writing UTF-8 Arabic with novoc mode +CO O > U+06FC ; +H E > U+06D3 ;; hamza + yeh barree +E / _ # > U+06D2 +E > y +a e / _ # > a U+06D2 +a e > a y +a o > a w +(o|u)? O / # _ > U+0627 w +(o|u)? O > w +CO U > U+06C7 ; +e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish) +o > u +I / _ # > i y + + +;; Persian ezafe (ALL BUT ARABIC AND UIGHUR) +U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<< +U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I +Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e +Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I +Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i +Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i +Z / U+0048 _ > U+0020 ; +b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0627 ; +[VWL]=v1 / BEG _ > A @v1 +A / BEG _ > HA ;; ADD MORE ? <<< +Q?=q1 U / BEG _ > A @q1 u w ; -U +; Q?=q1 I / BEG _ > A @q1 i y ; -I ; but not when I is final FIXME!!! +Q?=q1 I / BEG _ > A @q1 i y ; except for Persian, coz of ezafe rules + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m Q i A Hy Q a +m Q i H a / _ (T|t) > m Q i A Hy +m i H Q a / _ (T|t) > m A Hy Q a +m i H a / _ (T|t) > m A Hy + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Y Y > U+0649 U+0651 ;;SHADDA +Y > U+0649 +;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots +y y > U+06CC U+0651 ;;SHADDA +y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +Q U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +Q U > U+064F U+0648 +[Uw] [Uw] > U+0648 U+0651 ;;SHADDA +[Uw] > U+0648 +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +Q u N > U+064C +u N > +Q u > U+064F +V t V t > U+0679 U+0651 ;;SHADDA +V t > U+0679 ;urdu +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 U+064B ;;SHADDA +T Q AN > U+0629 U+064B +T AN > U+0629 +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0691 U+0651 ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+062C U+0651 ;;SHADDA +C g > U+062C +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +I > U+064A +Q i N > U+064D +i N > ; +Q i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +U+0048 > U+06C3 +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +H H > U+06C1 U+0651 ;;SHADDA +H > U+06C1 +h h > U+06BE U+0651 ;;SHADDA +h > U+06BE ; urdu +;; fix letter+h letter+h > letter+h shadda in URDU <<< +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+0688 U+0651 ;;SHADDA +V d > U+0688 ;urdu +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +CO CO d CO CO d > U+0690 U+0651 ;;SHADDA +CO CO d > U+0690 ; old urdu: not in ArabTeX +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0681 U+0651 ;;SHADDA +c > U+0681 ; ح with hamza above +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+0649 +UL a > U+0670 +UL u > ; +UL i > ; +Q AN / (A H|Ha) _ > U+064B +AN / (A H|Ha) _ > ; +Q AN > U+0627 U+064B +AN > U+0627 +Q a > U+064E +Q A > U+064E U+0627 +A > U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArEasternDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +[VWL] > ;stripoff vowels +Q > U+0652 +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +Z > ;- +BAR > ;| +P P > U+06D4 ; urdu full stop << check + diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-urdu-novoc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-urdu-novoc.tec Binary files differindex f428d338a11..91e99f0c3d7 100644 --- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-urdu-novoc.tec +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-urdu-novoc.tec diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-urdu-voc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-urdu-voc.map new file mode 100644 index 00000000000..0a6c00808a0 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-urdu-voc.map @@ -0,0 +1,494 @@ +LHSName "ArabTeX-urdu-vocalized" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+FDF2 ;; 'll_ah' > U+FDF2 +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: + U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH' + U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +CO O > U+06FC ; +H E > U+06D3 ;; hamza + yeh barree +E / _ # > U+06D2 +E > y +a e / _ # > a U+06D2 +a e > a y +a o > a w +(o|u)? O / # _ > U+0627 w +(o|u)? O > w +CO U > U+06C7 ; +e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish) +o > u +I / _ # > i y + + +;; Persian ezafe (ALL BUT ARABIC AND UIGHUR) +U+0048 Z UL? (Q? (i|e))=vv / _ END > U+06C0 @vv U+200C ;H-i -> heh+hamza final; what about 06C2 in Urdu ?<<< +U+0048 Z Q?=qq (I|E)=vv / _ END > h U+0020 U+0627 @qq i @vv ; H-I +Q?=q1 (I|E) Z UL? Q?=q2 (i|e) / _ END > @q1 i U+0626 @q2 i U+200C ; ...I-e +Z Q?=qq I / (A|U) _ ENDZ > U+0626 @qq i y ; ...A-I or ...U-I +Z UL? (Q? (i|e))=vv / (A|U) _ END > U+0649 @vv ; ...A-i or ...U-i +Z Q?=q1 (e|i) / _ ENDZ > @q1 i ; ...-i +Z / U+0048 _ > U+0020 ; +b Q?=q1 (e|i) Q?=q2 U / # _ > b @q1 i U+0627 @q2 u w ;; special case of prep be without hyphen + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI +[VWL]=v1 / BEG _ > U+0627 @v1 +A / BEG _ > HA ;; ADD MORE ? <<< +Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U +; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I +Q?=q1 I / BEG _ > U+0627 @q1 i y + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m U+0627 Hy +m Q i H a / _ (T|t) > m U+0627 Hy a +m i H Q a / _ (T|t) > m i U+0627 Hy +m i H a / _ (T|t) > m i U+0627 Hy a + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Q Y Y > U+0649 U+0651 ;;SHADDA +Q Y > U+0649 +Y Y > U+064E U+0649 U+0651 ;;SHADDA +Y > U+064E U+0649 +;; y / _ # > U+0649 ; y final in persian,ottoman,urdu,pashto,kashmiri has no dots +y y > U+06CC U+0651 ;;SHADDA +y > U+06CC ; yeh in persian etc. > iso and final shapes have no dots +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +U A / _ # > U+064F U+0648 U+0627 +Q U [Uw] > U+0648 U+0651 ;;SHADDA +Q U > U+0648 +U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +U > U+064F U+0648 +w w > U+0648 U+0651 ;;SHADDA +w > U+0648 +Q u N? > +u N > U+064C +u > U+064F +V t V t > U+0679 U+0651 ;;SHADDA +V t > U+0679 ;urdu +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 ;;SHADDA +T Q AN > U+0629 +T AN > U+0629 U+064B +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0691 U+0651 ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+062C U+0651 ;;SHADDA +C g > U+062C +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+064A +I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +Q i N? > ; +i N > U+064D +i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +U+0048 > U+06C3 +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +H H > U+06C1 U+0651 ;;SHADDA +H > U+06C1 +h h > U+06BE U+0651 ;;SHADDA +h > U+06BE ; urdu +;; fix letter+h letter+h > letter+h shadda in URDU <<< +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+0688 U+0651 ;;SHADDA +V d > U+0688 ;urdu +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +CO CO d CO CO d > U+0690 U+0651 ;;SHADDA +CO CO d > U+0690 ; old urdu: not in ArabTeX +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0681 U+0651 ;;SHADDA +c > U+0681 ; ح with hamza above +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+064E U+0649 +UL a > U+0670 +UL u > U+064F; +UL i > U+0650; +Q AN / (A H|Ha) _ > ; +AN / (A H|Ha) _ > U+064B +Q AN > U+0627 +AN > U+0627 U+064B +Q a > +a > U+064E +Q A > U+0627 +A > U+064E U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArEasternDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +Q [VWL] > ;stripoff quoted vowels +Q > U+0652 +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +BAR > ;| +P P > U+06D4 ; urdu full stop << check + +pass(Unicode) + +Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-) +Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc. +Class [VWL] = (U+0627 U+0648..U+0650 U+0670); +Z > ; diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-urdu-voc.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-urdu-voc.tec Binary files differindex 0ca122775fc..bf93543e3fb 100644 --- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-urdu-voc.tec +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-urdu-voc.tec diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-voc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-voc.map new file mode 100644 index 00000000000..2555ba6e924 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-fdf2noalif-voc.map @@ -0,0 +1,476 @@ +LHSName "ArabTeX-vocalized" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define SC U+003B ;; << SEMICOLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define AN U+0061 U+004E ; aN +Define LLAH U+006C U+006C U+005F U+0061 U+0068 +;Define NUL U+00A6; +Define Ha U+0623 +Define Hi U+0625 +Define Hy U+0626 +Define Hw U+0624 +Define Hh U+06C0 ;; = U+0647 U+0654 +Define HA U+0622 +Define HB U+0640 U+0654 +Define HBAR U+0621 ; '| + +pass(Unicode) + +U+E000 > ; eliminate special code for capitalization in transliterations + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +Class [PUNCT] = (V SC P CO) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) +Class [Uwu] = (U+0055 U+0077 U+0075) ;(U w u) +;Class [ae] = (U+0061 U+0065) ;(a e) +;Class [ou] = (U+0075 U+006F) ;(u o) +Class [Iyi] = (U+0069 U+0079 U+0049) +Class [UI] = (U+0049 U+0055) ; U I +Class [Digits] = (U+0030..U+0039) + +Define BEG (#|Z|[BRACKETS]) +Define END (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #) +Define ENDZ (#|[BRACKETS]|[PUNCT] U+0020|[PUNCT] #|Z) + +; special ligatures +;; 1. Standard ArabTeX input +;; WARNING! there are, alas, two classes of Arabic fonts: +;; a) Those that are Unicode-compliant and include the initial alif in glyph U+FDF2 +;; For these the ligature llah can be accessed by the sequence lam-lam-ha +;; b) Those that do not have the initial alif in U+FDF2 +;; The BAR is used in the DMG transliteration to suppress the initial A +(a|A) BAR? l Z LLAH > U+0627 U+FDF2 ;; 'al-ll_ah' or 'Al-ll_ah' +LLAH > U+FDF2 ;; 'll_ah' > U+FDF2 +;; UPPERCASE mnemonics for various ligatures or special glyphs +;; 2a. custom ArabXeTeX input for ligatures not defined in Unicode +U+004C U+004C U+0048 > U+0644 U+0644 U+0647 ;; 'LLH' -> 'l l h' +U+0046 U+0041 U+004C U+0049 U+004C U+004C U+0041 U+0048 > U+0641 U+064E U+0644 U+0650 U+0644 U+0647 ;; 'FALILLAH' : ligature in Adobe Arabic +;; 2b. Ligatures and glyphs defined in Unicode: + U+0041 U+004C U+004C U+0041 U+0048 > U+0627 U+FDF2 ; 'ALLAH' + U+004C U+004C U+0041 U+0048 > U+FDF2 ; 'LLAH' + +U+0053 U+004C U+004D > U+FDFA ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0028 U+0028 > U+FD3F ;; '((' : ornate right par +U+0029 U+0029 > U+FD3E ;; '))' : ornate left par +U+0052 U+0049 U+0059 U+0041 U+004C > U+FDFC ;; 'RIYAL' : Saudi currency sign +;; most fonts won't have the following ones: +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > U+FDF0 ;; 'SALLASTOP' (.sallY with "ye-barree", Quranic stop sign) +U+0051 U+0041 U+004C U+0041 > U+FDF1 ;; 'QALA' : qalY with ye-barree, Quranic stop sign +U+0041 U+004B U+0042 U+0041 U+0052 > U+FDF3 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+FDF4 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+FDF5 ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+FDF6 ;; 'RASUL' (also unicode 'RASOUL') +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+FDF7 ;; 'ALAYHI' (also unicode 'ALAYHE') +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+FDF8 ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+FDF9 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+FDFB ;; 'JALLA' : "jalla jalAluhu" +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+FDFD ;; 'BASMALA' : very few fonts have this ligature afaik + +U+005E U+0053 U+004C U+0059 > U+06D6 ;; ^SLY +U+005E U+0051 U+004C U+0059 > U+06D7 ;; ^QLY +U+005E U+004D U+0049 U+004D > U+06D8 ;; ^MIM- +U+005E U+004C U+0041 > U+06D9 ;; ^LA +U+005E U+004A U+0049 U+004D > U+06DA ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > U+06DB ;; ^DOTS +U+005E U+0053 U+0049 U+004E > U+06DC ;; ^SIN +U+0048 U+0049 U+005A U+0042 > U+06DE ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > U+06DF ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > U+06E0 ;; RECTZERO +U+005E U+004A U+0041 U+005A U+004D > U+06E1 ;; ^JAZM +U+005E U+004D U+0049 U+004D > U+06E2 ;; ^MIM +U+005F U+0053 U+0049 U+004E > U+06E3 ;; _SIN +U+005E U+004D U+0041 U+0044 U+0044 U+0041 > U+06E4 ;; ^MADDA +U+0057 U+0041 U+0057 > U+06E5 ;; WAW +U+0059 U+0045 U+0048 > U+06E6 ;; YEH +U+005E U+0059 U+0045 U+0048 > U+06E7 ;; ^YEH +U+005E U+004E U+0055 U+004E > U+06E8 ;; ^NUN +U+0053 U+0041 U+004A U+0044 U+0041 > U+06E9 ;; SAJDA +U+005F U+0053 U+0054 U+004F U+0050 > U+06EA ;; _STOP +U+005E U+0053 U+0054 U+004F U+0050 > U+06EB ;; ^STOP +U+005E U+0052 U+0053 U+0054 U+004F U+0050 > U+06EC ;; ^RSTOP +U+005F U+004D U+0049 U+004D > U+06ED ;; _MIM + +U+0044 U+004F U+0054 U+0053 > U+061E ;; DOTS (also possible by typing "::") + +;; This is to enclose digits within glyph U+06DD, see http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ArabicFonts +U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digits]] + + +; vowels +u u > U +i i > I +a a > A +CO O > U+06FC ; +a e > a y +a o > a w +CO U > U+06C7 ; +e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish) +o > u +E > I +O > U + + + +;; initial characters ... +a l Z / BEG _ > U+0627 l Z +H l Z / BEG _ > U+0627 l Z +;; wasla on initial alif : NEW! NOT TESTED! +H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI +[VWL]=v1 / BEG _ > U+0627 @v1 +A / BEG _ > U+0627 a +Q?=q1 U / BEG _ > U+0627 @q1 u w ; -U +; Q?=q1 I / BEG _ > U+0627 @q1 i y ; -I +Q?=q1 I / BEG _ > U+0627 @q1 i y + + +;; Words with anomalous orthography: + +; mi'aT -> ماية +;;; i H / m Q ? _ Q ? a ? (T|t) > i A Hy +m Q i H Q a / _ (T|t) > m U+0627 Hy +m Q i H a / _ (T|t) > m U+0627 Hy a +m i H Q a / _ (T|t) > m i U+0627 Hy +m i H a / _ (T|t) > m i U+0627 Hy a + + +;; contextual analysis of hamzas +;; THESE DO NOT APPLY FOR SINDHI + +; initial hamzas +H / (#|^[LTR]) _ Q? [Iyi] > Hi +H Q A / (#|^[LTR]) _ > HA ; alif madda +H / (#|^[LTR]) _ Q? [Uwu] > Ha +H / (#|^[LTR]) _ Q? a > Ha +Q H / (#|^[LTR]) _ > HB ; quoted isolated hamza at beginning of word + +; quoted hamzas in contextual mode, equivalent to verbatim mode +a Q H > Ha +i Q H > Hi +y Q H > Hy +w Q H > Hw +h Q H > Hh +A Q H > HA +B Q H > HB +BAR Q H > HBAR + +; hamza + fathatan +H / a _ Q? AN > Ha +;;H / [Iyi] _ Q? AN > Hy +H / _ Q? AN > Hy + +;final hamzas +H / A _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Uw] _ Q? [VWL]? N? (#|^[LTR]) > HBAR +H / [Iy] _ Q? (i N?|u N?)? (#|^[LTR]) > HBAR ; not AN ... +H / a _ Q? (#|^[LTR]) > Ha ; not AN... +H / a _ Q? (u|i) N? (#|^[LTR]) > Ha ; not AN... +H / i _ Q? [VWL]? N? (#|^[LTR]) > Hy +H / u _ Q? [VWL]? N? (#|^[LTR]) > Hw + +;;and more hamzas ... + +; n°1: kasra/ya +H / [LTR] _ Q? [Iyi] ^N > Hy +H / [Iyi] _ > Hy + +; n°2: damma/waw +H / [LTR] _ Q? (U|u) ^N > Hw +H / (U|u) _ Q? ^[Iyi] > Hw +H / U _ > HBAR + +; n°3: fatha/alif +H Q? A > HA +H / A _ Q? a > HBAR +H / ^[UI] _ Q? a > Ha +H / a _ Q? ^[UI] > Ha + + +pass(Unicode) + +Class [Digits] = (U+0030..U+0039) +Class [ArDigits] = (U+0660..U+0669) +Class [ArEasternDigits] = (U+06F0..U+06F9) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;(a..z A E I O U B N T Y ^ . _ " "" `) +Class [Iy] = (U+0049 U+0079) ;(I y) +Class [Uw] = (U+0055 U+0077) ;(U w) + + + + +;normal code + + +(P z|U+1E93) (P z|U+1E93) > U+0638 U+0651 ;;SHADDA +(P z|U+1E93) > U+0638 +C z C z > U+0698 U+0651 ;;SHADDA +C z > U+0698 +V z V z > U+0696 U+0651 ;;SHADDA +V z > U+0696 ;pashto +z z > U+0632 U+0651 ;;SHADDA +z > U+0632 +Q Y Y > U+0649 U+0651 ;;SHADDA +Q Y > U+0649 +Y Y > U+064E U+0649 U+0651 ;;SHADDA +Y > U+064E U+0649 +P I P I / _ # > U+0650 U+06CC U+0651 ;; SHADDA +P I / _ # > U+0650 U+06CC ;; workaround to have ya without dots in Arabic +y y > U+064A U+0651 ;;SHADDA +y > U+064A +v v > U+06A4 U+0651 ;;SHADDA +v > U+06A4 +W > U+0648 U+0627 ; waw + alif +C U > U+064F U+0648 U+0653; historical spelling : madda on waw +C w C w > U+06C9 U+0651 ;;SHADDA +C w > U+06C9 +CO w CO w > U+06CA U+0651 ;,SHADDA +CO w > U+06CA +U A / _ # > U+064F U+0648 U+0627 +Q U [Uw] > U+0648 U+0651 ;;SHADDA +Q U > U+0648 +U [Uw] > U+064F U+0648 U+0651 ;;SHADDA +U > U+064F U+0648 +w w > U+0648 U+0651 ;;SHADDA +w > U+0648 +Q u N? > +u N > U+064C +u > U+064F +V t V t > U+0679 U+0651 ;;SHADDA +V t > U+0679 ;urdu +UL (t|s) UL (t|s) > U+062B U+0651 ;;SHADDA +UL (t|s) > U+062B +(P t|U+1E6D) (P t|U+1E6D) > U+0637 U+0651 ;;SHADDA +(P t|U+1E6D) > U+0637 +t t > U+062A U+0651 ;;SHADDA +t > U+062A +T T Q AN > U+0629 U+0651 ;;SHADDA +T Q AN > U+0629 +T AN > U+0629 U+064B +T T > U+0629 U+0651 ;;SHADDA +T > U+0629 +C s C s > U+0634 U+0651 ;;SHADDA +C s > U+0634 +(P s|U+1E63) (P s|U+1E63) > U+0635 U+0651 ;;SHADDA +(P s|U+1E63) > U+0635 +V s V s > U+069A U+0651 ;;SHADDA +V s > U+069A ;Pashto +CO s CO s > U+069B U+0651 ;;SHADDA +CO s > U+069B ; sin with 3 dots below +s s > U+0633 U+0651 ;;SHADDA +s > U+0633 +C r C r > U+06EF U+0651 ;;SHADDA ; missing in ArabTeX <<< +C r > U+06EF +CO r CO r > U+0697 U+0651 ;;SHADDA ; missing in ArabTeX <<< +CO r > U+0697 ; Dargwa language, Dagestan +P r P r > U+0694 U+0651 ;;SHADDA +P r > U+0694 ; r with dot below; in Kurdish .r -> 0694 +V r V r > U+0691 U+0651 ;;SHADDA +V r > U+0691 ;Urdu +r r > U+0631 U+0651 ;;SHADDA +r > U+0631 +P q P q > U+066F U+0651 ;;SHADDA +P q > U+066F +q q > U+0642 U+0651 ;;SHADDA +q > U+0642 +p p > U+067E U+0651 ;;SHADDA +p > U+067E +CO n CO n > U+06B1 U+0651 ;;SHADDA +CO n > U+06B1 +C n C n > U+06AD U+0651 ;;SHADDA +C n > U+06AD +P n P n > U+06BA U+0651 ;;SHADDA +P n > U+06BA ; urdu +V n V n > U+06BC U+0651 ;;SHADDA +V n > U+06BC ; Pashto +n n > U+0646 U+0651 ;;SHADDA +n > U+0646 +m m > U+0645 U+0651 ;;SHADDA +m > U+0645 +P l P l > U+06B6 U+0651 ; +P l > U+06B6 ; ADDED <<< +C l C l > U+06B5 U+0651 ;;SHADDA +C l > U+06B5 ;kurdish +l l > U+0644 U+0651 ;;SHADDA +l > U+0644 +P k P k > U+06A9 U+0651 ;;SHADDA +P k > U+06A9 ; pashto urdu +UL k UL k > U+063A U+0651 ;;SHADDA +UL k > U+063A +k k > U+0643 U+0651 ;;SHADDA +k > U+0643 +C g C g > U+062C U+0651 ;;SHADDA +C g > U+062C +CO j CO j > U+0684 U+0651 ;;SHADDA +CO j > U+0684 +j j > U+062C U+0651 ;;SHADDA +j > U+062C +Q I > U+064A +I > U+0650 U+064A +C I > U+0650 U+064A U+0653 ; historical spelling : madda on ya +UL I > ; suggestion of O. Smrz (arabtex-plus project) URL = ### +Q i N? > ; +i N > U+064D +i > U+0650 +x x > U+062E U+0651 ;;SHADDA +x > U+062E +UL h UL h > U+062E U+0651 ;;SHADDA +UL h > U+062E +(P h|U+1E25) (P h|U+1E25) > U+062D U+0651 ;;SHADDA +(P h|U+1E25) > U+062D +V h V h > U+06C1 U+0651 ;;SHADDA +V h > U+06C1 +h h > U+0647 U+0651 ;;SHADDA +h > U+0647 +CO g CO g > U+06B3 U+0651 ;;SHADDA +CO g > U+06B3 +V g V g > U+06AC U+0651 ;;SHADDA +V g > U+06AC ; kaf with dot above +P g P g > U+063A U+0651 ;;SHADDA +P g > U+063A +g g > U+06AF U+0651 ;;SHADDA +g > U+06AF +G G > U+06AB U+0651 ;;SHADDA +G > U+06AB ;pashto +P f P f > U+06A1 U+0651 ;;SHADDA +P f > U+06A1 +f f > U+0641 U+0651 ;;SHADDA +f > U+0641 +V d V d > U+068A U+0651 ;;SHADDA +V d > U+068A +P V d P V d > U+068B U+0651 ;;SHADDA +P V d > U+068B ;; (like U+0688 with dot below, for Lahnda = Western Punjabi) +C d C d > U+06EE U+0651 ;;SHADDA +C d > U+06EE ; not defined in ArabTeX +CO d CO d > U+068F U+0651 ;;SHADDA +CO d > U+068F +UL (d|z) UL (d|z) > U+0630 U+0651 ;;SHADDA +UL (d|z) > U+0630 +(P d|U+1E0D) (P d|U+1E0D) > U+0636 U+0651 ;;SHADDA +(P d|U+1E0D) > U+0636 +d d > U+062F U+0651 ;;SHADDA +d > U+062F +V c V c > U+0685 U+0651 ;;SHADDA +V c > U+0685 ;pashto +C c C c > U+0686 U+0651 ;;SHADDA +C c > U+0686 +P C c P C c > U+06BF U+0651 ;;SHADDA +P C c > U+06BF ;; cheh with dot above <<< +c c > U+0681 U+0651 ;;SHADDA +c > U+0681 ; ح with hamza above +CO c CO c > U+0682 U+0651 ;;SHADDA +CO c > U+0682 ; old pashto +CO b CO b > U+067B U+0651 ;;SHADDA +CO b > U+067B +P b P b > U+066E U+0651 ;;SHADDA +P b > U+066E +b b > U+0628 U+0651 ;;SHADDA +b > U+0628 +H A > U+0622 +C A > U+064E U+0622 ; historical spelling +UL A > U+064E U+0649 +UL a > U+0670 +UL u > U+0657 ; inverted damma +UL i > U+0656 ; subscript alif +Q AN / (A H|Ha) _ > ; +AN / (A H|Ha) _ > U+064B +Q AN > U+0627 +AN > U+0627 U+064B +Q a > +a > U+064E +Q A > U+0627 +A > U+064E U+0627 +Ain Ain > U+0639 U+0651 ;;SHADDA +Ain > U+0639 +H H > U+0621 U+0651 ;;SHADDA +H > U+0621 +U+002C / [Digits] _ [Digits] > U+002C ; comma in numerical context not an Arabic comma +Z Z / [Digits] _ [Digits] > U+2013 ; two hyphens in numerical context -> endash +(Z|U+005D|U+005B|U+0028|U+0029)=xx / [Digits] _ [Digits] > U+202D @xx U+202C ; hyphen or brackets in numerical context: surrounded by LRO & PDF marks +[Digits] > [ArDigits] +Z Z Z / # _ # > U+2014 +Z Z / # _ # > U+2013 +Z Z > U+0640 +B > U+0640 +Z / # _ > U+200D ; -x > force initial form with "zero-width joiner" +Z / _ # > U+200D ; x- > force final form +U+003C U+003C > U+00BB ;<< +U+003E U+003E > U+00AB ;>> +U+00AB > U+00BB +U+00BB > U+00AB +UL > U+0640 ;_ +U+003F > U+061F ;? +U+003B > U+061B ;; +U+003A U+003A > U+061E ;; '::' ligature 'DOTS' also defined above... +U+002C > U+060C ;, +U+005D / [LTR] _ [LTR] > U+200D U+005D U+200D ; keep shaping when inserting ...[...]... ... +U+005B / [LTR] _ [LTR] > U+200D U+005B U+200D ; (but of course this screws up contextual + ; analysis, so quoting of hamzas etc may be necessary +;U+005D > U+005B ;] these are automatically mirrored, following Unicode rules +;U+005B > U+005D ;[ +Q [VWL] > ;stripoff quoted vowels +Q > U+0652 +U+00B0 > U+0652 ; ° +N > ; +C > ;^ +BAR > ;| + +pass(Unicode) + +Class [CONS] = (U+0621 U+0623 U+0624 U+0626 U+0628 U+062A..U+063A U+0641..U+0647 U+066E U+066F U+0672 U+0675 U+0676 U+0678..U+06BF U+06EE U+06EF U+06FA..U+06FF U+0750..U+076D) ; to be improved: not sure that all glyphs listed (esp for Urdu,Sindhi,etc are really "consonants" in the sense that they can carry a sukun, not to mention that some of these languages may not have a sukun at all ;-) +Class [VWLX] = (U+0627 U+0648..U+065E U+0670) ; long vowels, vowel signs, shadda, sukun etc. +Class [VWL] = (U+0627 U+0648..U+0650 U+0670); +U+0627 [VWL]? / [VWL] Z _ > U+0627 ; e.g. fa-isti_hraj -> initial alif has no vowel +Z > ; diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-trans-dmg.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-trans-dmg.map index 919f75e53ca..9b4acc136de 100644 --- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-trans-dmg.map +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-trans-dmg.map @@ -148,6 +148,7 @@ C c > U+010D ; CO b > b U+0324 P b > x ; ? undotted (b,t,th,n,y) ... +(A|Y|UL A) / _ (N|U|W) > ; Y > U+0101 ;ā -> LOC: á : check DMG @@ -168,20 +169,18 @@ Q > ; pass(Unicode) -Class [LOWERCASE] = ( U+0061..U+007A U+0101 U+0113 U+012B U+014D U+016B U+1E0D U+1E25 U+1E33 U+1E63 U+1E6D U+1E93 U+1E2B U+1E0F U+1E6F U+0121 U+01E7 ) -Class [UPPERCASE] = ( U+0041..U+005A U+0100 U+0112 U+012A U+014C U+016A U+1E0C U+1E24 U+1E32 U+1E62 U+1E6C U+1E92 U+1E2A U+1E0E U+1E6E U+0120 U+01E6 ) +Class [LOWERCASE] = ( U+0061..U+007A U+0101 U+0113 U+012B U+014D U+0161 U+016B U+1E0D U+1E25 U+1E33 U+1E63 U+1E6D U+1E93 U+1E2B U+1E0F U+1E6F U+0121 U+01E7 ) +Class [UPPERCASE] = ( U+0041..U+005A U+0100 U+0112 U+012A U+014C U+0160 U+016A U+1E0C U+1E24 U+1E32 U+1E62 U+1E6C U+1E92 U+1E2A U+1E0E U+1E6E U+0120 U+01E6 ) Class [LETTER] = (U+0041..U+01FF) Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075) ; (a e i o u) Class [SUNCONS] = (U+0064 U+1E0F U+0074 U+1E6F U+0072 U+007A U+0073 U+0161 U+1E63 U+1E0D U+1E6D U+1E93 U+006E) Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” - -[LOWERCASE] / U+E000 _ > [UPPERCASE] [LOWERCASE] / U+E000 a l Z _ > [UPPERCASE] -l Z ([SUNCONS]=sc){2,2} > @sc Z @sc -l Z [SUNCONS]=sc > @sc Z @sc -a / [VWL] Z _ l Z > ; -;; [VWL] / [VWL] BEG _ ^l > U+2019 ; vowel at beg of word replaced by apostr when prec word end with vowel -(A|Y|UL A) / _ (N|U|W) > ; +[LOWERCASE] / U+E000 _ > [UPPERCASE] +;l Z ([SUNCONS]=sc){2,2} > @sc Z @sc ;; FIXME +;l Z [SUNCONS]=sc > @sc Z @sc ;; FIXME +a / [VWL] Z _ l Z > ;; bi-al- -> bi-l- +;; [VWL] / [VWL] BEG _ ^l > U+2019 ;; vowel at beg of word replaced by apostr when prec word end with vowel [LETTER] BAR > ;; pass(Unicode) diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-trans-dmg.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-trans-dmg.tec Binary files differindex b6fd6c6e5fc..1782ef2fe56 100644 --- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-trans-dmg.tec +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-trans-dmg.tec diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-trans-loc.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-trans-loc.map index 03ef6e8f477..ef9ad5da6fd 100644 --- a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-trans-loc.map +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/arabtex-trans-loc.map @@ -1,6 +1,4 @@ -;; LHSName "ArabTeX-ZDMG" LHSName "ArabTeX-LOC" -;; LHSName "ArabTeX-EI" RHSName "UNICODE" Define a U+0061 ;a @@ -94,9 +92,6 @@ U+0044 U+004F U+0054 U+0053 > ;; DOTS ;; #P UL h w > U+1E2B ;; #P U+0048 > h ; capital H > h ;; -;; #zdmg l Z [SUNCONS]=sc / (a | H) _ > @sc Z @sc ; -;; #zdmg [VWL] / [VWL] BEG _ > U+2019 ; vowel at beg of word replaced by apostr when prec word end with vowel -;; #zdmg (A|Y|UL A) / _ (N|U|W) > ; ; problem of "T": It should be omitted when at end of word and when not ; the 1st member of a definite construct: al-madInaT al-`a.zImaT > al-madīna al-ʿaẓīma @@ -120,13 +115,10 @@ Q > ; P z > U+1E93 V z > U+017A -;; #zdmg C z > U+017E ;check C z > z h ;check V t > t U+0301 P t > U+1E6D -;; #zdmg UL t > U+1E6F UL t > t h -;; #zdmg C s > U+0161 C s > s h UL s > U+1E6F ; sindhi V r > U+0155 @@ -143,19 +135,15 @@ CO d > d U+0324 P d > U+1E0D V s > U+015B P s > U+1E63 -;; #zdmg (j|C g) > U+01E7 ; (j|C g) > j ; CO j > U+0237 U+0308 P h > U+1E25 V h > h -;; #zdmg (UL h|x) > U+1E2B (UL h|x) > k h G > g P g > U+0121 P f > f ; ? -;; #zdmg UL d > U+1E0F UL d > d h -;; #zdmg C c > U+010D ; C c > c h ; CO b > b U+0324 P b > x ; ? undotted (b,t,th,n,y) ... diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/farsidigits.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/farsidigits.map new file mode 100644 index 00000000000..c0f0036bb85 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/farsidigits.map @@ -0,0 +1,16 @@ +; FC ... +LHSName "Digits" +RHSName "FarsiDigits" + +pass(Unicode) +U+0030 <> U+06F0 ; +U+0031 <> U+06F1 ; +U+0032 <> U+06F2 ; +U+0033 <> U+06F3 ; +U+0034 <> U+06F4 ; +U+0035 <> U+06F5 ; +U+0036 <> U+06F6 ; +U+0037 <> U+06F7 ; +U+0038 <> U+06F8 ; +U+0039 <> U+06F9 ; + diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/fixlamalif.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/fixlamalif.map new file mode 100644 index 00000000000..c39a4ddc25d --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/fixlamalif.map @@ -0,0 +1,12 @@ +LHSName "Lam-Vowels-Alif" +RHSName "Lam-Alif-Vowels" + +pass(Unicode) +U+0644 U+0651 U+064E U+0627 <> U+0644 U+0627 U+0651 U+064E ; lam shadda fatha alif -> lam alif shadda fatha +U+0644 U+0651 U+0627 <> U+0644 U+0627 U+0651 ; lam shadda alif -> lam alif shadda +U+0644 U+0652 U+0622 <> U+0644 U+0622 U+0652 ; lam sukun alifmadda -> lam alifmadda sukun +U+0644 U+0652 U+0623 <> U+0644 U+0623 U+0652 ; lam sukun alifhamzaabove -> lam alifhamzaabove sukun +U+0644 U+0652 U+0625 <> U+0644 U+0625 U+0652 ; lam sukun alifhamzabelow -> lam alifhamzabelow sukun +U+0644 U+0651 U+064B U+0627 <> U+0644 U+0627 U+0651 U+064b ; lam shadda fathatan alif -> lam alif shadda fathatan +U+0644 U+064B U+0627 <> U+0644 U+0627 U+064B ; lam fathatan alif -> lam alif fathatan + diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/fixlamalif.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/fixlamalif.tec Binary files differnew file mode 100644 index 00000000000..ef4aa0352d5 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/fixlamalif.tec diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/mirrorpunct.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/mirrorpunct.map new file mode 100644 index 00000000000..efa1f88f8c3 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/mirrorpunct.map @@ -0,0 +1,9 @@ +LHSName "Punctuation" +RHSName "ArabicPunctuation" + +pass(Unicode) +U+002C <> U+060C ; comma > arabic comma +U+003F <> U+061F ; question mark -> arabic qm +U+003B <> U+061B ; semicolon -> arabic +U+00AB <> U+00BB ; « -> » +U+00BB <> U+00AB ; » -> « diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/mirrorpunct.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/mirrorpunct.tec Binary files differnew file mode 100644 index 00000000000..368cda06be7 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/arabxetex/mirrorpunct.tec diff --git a/Master/texmf-dist/source/xelatex/arabxetex/arabtex-farsi-trans-loc.map b/Master/texmf-dist/source/xelatex/arabxetex/arabtex-farsi-trans-loc.map new file mode 100644 index 00000000000..89f0d3a79b4 --- /dev/null +++ b/Master/texmf-dist/source/xelatex/arabxetex/arabtex-farsi-trans-loc.map @@ -0,0 +1,176 @@ +;; LHSName "ArabTeX-ZDMG" +LHSName "ArabTeX-LOC" +;; LHSName "ArabTeX-EI" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define LLAH U+006C U+006C U+005F U+0061 U+0068 + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” + +Define BEG (#|Z|[BRACKETS]) + +; special ligatures +(a|A) l Z / _ LLAH > A ;; 'al-ll_ah' or 'Al-ll_ah' +U+0053 U+004C U+004D > U+1E63 U+0061 U+006C U+006C U+0101 U+0020 U+0041 U+006C U+006C U+0101 U+0068 U+0020 U+02BF U+0061 U+006C U+0061 U+0079 U+0068 U+0069 U+0020 U+0077 U+0061 U+002D U+0073 U+0061 U+006C U+006C U+0061 U+006D ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0052 U+0049 U+0059 U+0041 U+004C > U+0072 U+0069 U+0079 U+0101 U+006C ;; 'RIYAL' : Saudi currency sign +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > ;; 'SALLASTOP' +U+0051 U+0041 U+004C U+0041 > ;; 'QALA' +U+0041 U+004B U+0042 U+0041 U+0052 > U+0041 U+006B U+0062 U+0061 U+0072 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+004D U+0075 U+1E25 U+0061 U+006D U+006D U+0061 U+0064 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+0073 U+0061 U+006C U+0101 U+006D ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+0072 U+0061 U+0073 U+016B U+006C ;; 'RASUL' (also unicode 'RASOUL)' +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+02BF U+0061 U+006C U+0061 U+0079 U+0068 U+0069 ;; 'ALAYHI' (also unicode 'ALAYHE)' +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+0077 U+0061 U+002D U+0073 U+0061 U+006C U+006C U+0061 U+006D ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+1E63 U+0061 U+006C U+006C U+0101 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+006A U+0061 U+006C U+006C U+0101 ;; 'JALLA' : +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+0062 U+0069 U+0073 U+006D U+0069 U+0020 U+0041 U+006C U+006C U+0101 U+0068 U+0020 U+0061 U+006C U+002D U+0072 U+0061 U+1E25 U+006D U+0101 U+006E U+0020 U+0061 U+006C U+002D U+0072 U+0061 U+0068 U+012B U+006D ;; 'BASMALA' +U+005E U+0053 U+004C U+0059 > ;; ^SLY +U+005E U+0051 U+004C U+0059 > ;; ^QLY +U+005E U+004D U+0049 U+004D > ;; ^MIM +U+005E U+004C U+0041 > ;; ^LA +U+005E U+004A U+0049 U+004D > ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > ;; ^DOTS +U+005E U+0053 U+0049 U+004E > ;; ^SIN +U+0048 U+0049 U+005A U+0042 > ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > ;; RECTZERO +U+0053 U+0041 U+004A U+0044 U+0041 > ;; SAJDA +U+0044 U+004F U+0054 U+0053 > ;; DOTS + + +; general + +;persian +UL h w > k h ;; +;; #zdmg UL h w > U+1E2B +U+0048 > h ; capital H > h +;; #zdmg l Z [SUNCONS]=sc / (a | H) _ > @sc Z @sc ; +;; #zdmg [VWL] / [VWL] BEG _ > U+2019 ; vowel at beg of word replaced by apostr when prec word end with vowel +;; #zdmg (A|Y|UL A) / _ (N|U|W) > ; + +; problem of "T": It should be omitted when at end of word and when not +; the 1st member of a definite construct: al-madInaT al-`a.zImaT > al-madīna al-ʿaẓīma +; Only solution is to always transliterate to t, except when explicitly "quoted off": +T Q / _ # > ; +T > t +N > n +U+0057 > w +(U|u u|UL u) > U+016B +(A|a a|UL a|UL A) > U+0101 +(I|i i|UL i) > U+012B +(E|e e) > U+0113 +(O|o o) > U+014D +C A > U+02BE U+0101 ; historical spelling +C U > U+02BE U+016B ; historical spelling : madda on waw +C I > U+02BE U+012B ; historical spelling : madda on ya +Q > ; + +P z > U+1E93 +V z > U+017A +;; #zdmg C z > U+017E ;check +C z > z h ;check +V t > t U+0301 +P t > U+1E6D +;; #zdmg UL t > U+1E6F +UL t > t h +;; #zdmg C s > U+0161 +C s > s h +UL s > U+1E6F ; sindhi +V r > U+0155 +P r > U+1E59; r with dot above +P q > q ; ? +V n > U+0144 +C n > U+00F1 +P n > U+1E47 +CO n > n U+0324 +C l > l U+0303 ; l + combining tilde +CO g > g U+0324 +V d > d U+0301 +CO d > d U+0324 +P d > U+1E0D +V s > U+015B +P s > U+1E63 +;; #zdmg (j|C g) > U+01E7 ; +(j|C g) > j ; +CO j > U+0237 U+0308 +P h > U+1E25 +V h > h +;; #zdmg (UL h|x) > U+1E2B +(UL h|x) > k h +G > g +P g > U+0121 +P f > f ; ? +;; #zdmg UL d > U+1E0F +UL d > d h +;; #zdmg C c > U+010D ; +C c > c h ; +CO b > b U+0324 +P b > x ; ? undotted (b,t,th,n,y) ... + +Y > U+0101 ;ā -> sometimes á : check + + +Ain > U+02BF +H > U+02BE +Z Z Z > ; +Z Z > ; +B > ; +U+003C U+003C > U+00AB ;<< +U+003E U+003E > U+00BB ;>> +UL > ;_ +U+003A U+003A > U+2234 ; '::' ??Arabic three dots transliterated by Therefore?? +N > ; +C > ;^ +Q BAR > ;; +BAR > ;| + diff --git a/Master/texmf-dist/doc/xelatex/arabxetex/arabtex-kurdish.maps b/Master/texmf-dist/source/xelatex/arabxetex/arabtex-kurdish.maps index 75e4da0ebd0..75e4da0ebd0 100644 --- a/Master/texmf-dist/doc/xelatex/arabxetex/arabtex-kurdish.maps +++ b/Master/texmf-dist/source/xelatex/arabxetex/arabtex-kurdish.maps diff --git a/Master/texmf-dist/source/xelatex/arabxetex/arabtex-pashto-trans-loc.map b/Master/texmf-dist/source/xelatex/arabxetex/arabtex-pashto-trans-loc.map new file mode 100644 index 00000000000..47a3798f047 --- /dev/null +++ b/Master/texmf-dist/source/xelatex/arabxetex/arabtex-pashto-trans-loc.map @@ -0,0 +1,174 @@ +;; LHSName "ArabTeX-ZDMG" +LHSName "ArabTeX-LOC" +;; LHSName "ArabTeX-EI" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define LLAH U+006C U+006C U+005F U+0061 U+0068 + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” + +Define BEG (#|Z|[BRACKETS]) + +; special ligatures +(a|A) l Z / _ LLAH > A ;; 'al-ll_ah' or 'Al-ll_ah' +U+0053 U+004C U+004D > U+1E63 U+0061 U+006C U+006C U+0101 U+0020 U+0041 U+006C U+006C U+0101 U+0068 U+0020 U+02BF U+0061 U+006C U+0061 U+0079 U+0068 U+0069 U+0020 U+0077 U+0061 U+002D U+0073 U+0061 U+006C U+006C U+0061 U+006D ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0052 U+0049 U+0059 U+0041 U+004C > U+0072 U+0069 U+0079 U+0101 U+006C ;; 'RIYAL' : Saudi currency sign +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > ;; 'SALLASTOP' +U+0051 U+0041 U+004C U+0041 > ;; 'QALA' +U+0041 U+004B U+0042 U+0041 U+0052 > U+0041 U+006B U+0062 U+0061 U+0072 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+004D U+0075 U+1E25 U+0061 U+006D U+006D U+0061 U+0064 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+0073 U+0061 U+006C U+0101 U+006D ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+0072 U+0061 U+0073 U+016B U+006C ;; 'RASUL' (also unicode 'RASOUL)' +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+02BF U+0061 U+006C U+0061 U+0079 U+0068 U+0069 ;; 'ALAYHI' (also unicode 'ALAYHE)' +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+0077 U+0061 U+002D U+0073 U+0061 U+006C U+006C U+0061 U+006D ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+1E63 U+0061 U+006C U+006C U+0101 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+006A U+0061 U+006C U+006C U+0101 ;; 'JALLA' : +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+0062 U+0069 U+0073 U+006D U+0069 U+0020 U+0041 U+006C U+006C U+0101 U+0068 U+0020 U+0061 U+006C U+002D U+0072 U+0061 U+1E25 U+006D U+0101 U+006E U+0020 U+0061 U+006C U+002D U+0072 U+0061 U+0068 U+012B U+006D ;; 'BASMALA' +U+005E U+0053 U+004C U+0059 > ;; ^SLY +U+005E U+0051 U+004C U+0059 > ;; ^QLY +U+005E U+004D U+0049 U+004D > ;; ^MIM +U+005E U+004C U+0041 > ;; ^LA +U+005E U+004A U+0049 U+004D > ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > ;; ^DOTS +U+005E U+0053 U+0049 U+004E > ;; ^SIN +U+0048 U+0049 U+005A U+0042 > ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > ;; RECTZERO +U+0053 U+0041 U+004A U+0044 U+0041 > ;; SAJDA +U+0044 U+004F U+0054 U+0053 > ;; DOTS + + +; general + +;persian +UL h w > k h ;; +;; #zdmg UL h w > U+1E2B +;; +;; #zdmg l Z [SUNCONS]=sc / (a | H) _ > @sc Z @sc ; +;; #zdmg [VWL] / [VWL] BEG _ > U+2019 ; vowel at beg of word replaced by apostr when prec word end with vowel +;; #zdmg (A|Y|UL A) / _ (N|U|W) > ; + +T Q / _ # > ; +T > h +N > n +U+0057 > w +(U|u u|UL u) > U+016B +(A|a a|UL a|UL A) > U+0101 +(I|i i|UL i) > U+012B +(E|e) e > e y ; pashto +(E|e e) > U+0113 +(O|o o) > U+014D +C A > U+02BE U+0101 ; historical spelling +C U > U+02BE U+016B ; historical spelling : madda on waw +C I > U+02BE U+012B ; historical spelling : madda on ya +Q > ; + +P z > U+1E93 +V z > U+017A +;; #zdmg C z > U+017E ;check +C z > z h ;check +V t > t U+0301 +P t > U+1E6D +;; #zdmg UL t > U+1E6F +UL t > t h +;; #zdmg C s > U+0161 +C s > s h +UL s > U+1E6F ; sindhi +V r > U+0155 +P r > U+1E59; r with dot above +P q > q ; ? +V n > U+0144 +C n > U+00F1 +P n > U+1E47 +CO n > n U+0324 +C l > l U+0303 ; l + combining tilde +CO g > g U+0324 +V d > d U+0301 +CO d > d U+0324 +P d > U+1E0D +V s > U+015B +P s > U+1E63 +;; #zdmg (j|C g) > U+01E7 ; +(j|C g) > j ; +CO j > U+0237 U+0308 +P h > U+1E25 +V h > h +;; #zdmg (UL h|x) > U+1E2B +(UL h|x) > k h +G > g +P g > U+0121 +P f > f ; ? +;; #zdmg UL d > U+1E0F +UL d > d h +;; #zdmg C c > U+010D ; +C c > c h ; +CO b > b U+0324 +P b > x ; ? undotted (b,t,th,n,y) ... + +Y > U+0101 ;ā -> sometimes á : check + + +Ain > U+02BF +H > U+02BE +Z Z Z > ; +Z Z > ; +B > ; +U+003C U+003C > U+00AB ;<< +U+003E U+003E > U+00BB ;>> +UL > ;_ +U+003A U+003A > U+2234 ; '::' ??Arabic three dots transliterated by Therefore?? +N > ; +C > ;^ +Q BAR > ;; +BAR > ;| + diff --git a/Master/texmf-dist/source/xelatex/arabxetex/arabtex-sindhi-trans-loc.map b/Master/texmf-dist/source/xelatex/arabxetex/arabtex-sindhi-trans-loc.map new file mode 100644 index 00000000000..4ba67436add --- /dev/null +++ b/Master/texmf-dist/source/xelatex/arabxetex/arabtex-sindhi-trans-loc.map @@ -0,0 +1,176 @@ +;; LHSName "ArabTeX-ZDMG" +LHSName "ArabTeX-LOC" +;; LHSName "ArabTeX-EI" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define LLAH U+006C U+006C U+005F U+0061 U+0068 + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” + +Define BEG (#|Z|[BRACKETS]) + +; special ligatures +(a|A) l Z / _ LLAH > A ;; 'al-ll_ah' or 'Al-ll_ah' +U+0053 U+004C U+004D > U+1E63 U+0061 U+006C U+006C U+0101 U+0020 U+0041 U+006C U+006C U+0101 U+0068 U+0020 U+02BF U+0061 U+006C U+0061 U+0079 U+0068 U+0069 U+0020 U+0077 U+0061 U+002D U+0073 U+0061 U+006C U+006C U+0061 U+006D ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0052 U+0049 U+0059 U+0041 U+004C > U+0072 U+0069 U+0079 U+0101 U+006C ;; 'RIYAL' : Saudi currency sign +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > ;; 'SALLASTOP' +U+0051 U+0041 U+004C U+0041 > ;; 'QALA' +U+0041 U+004B U+0042 U+0041 U+0052 > U+0041 U+006B U+0062 U+0061 U+0072 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+004D U+0075 U+1E25 U+0061 U+006D U+006D U+0061 U+0064 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+0073 U+0061 U+006C U+0101 U+006D ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+0072 U+0061 U+0073 U+016B U+006C ;; 'RASUL' (also unicode 'RASOUL)' +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+02BF U+0061 U+006C U+0061 U+0079 U+0068 U+0069 ;; 'ALAYHI' (also unicode 'ALAYHE)' +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+0077 U+0061 U+002D U+0073 U+0061 U+006C U+006C U+0061 U+006D ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+1E63 U+0061 U+006C U+006C U+0101 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+006A U+0061 U+006C U+006C U+0101 ;; 'JALLA' : +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+0062 U+0069 U+0073 U+006D U+0069 U+0020 U+0041 U+006C U+006C U+0101 U+0068 U+0020 U+0061 U+006C U+002D U+0072 U+0061 U+1E25 U+006D U+0101 U+006E U+0020 U+0061 U+006C U+002D U+0072 U+0061 U+0068 U+012B U+006D ;; 'BASMALA' +U+005E U+0053 U+004C U+0059 > ;; ^SLY +U+005E U+0051 U+004C U+0059 > ;; ^QLY +U+005E U+004D U+0049 U+004D > ;; ^MIM +U+005E U+004C U+0041 > ;; ^LA +U+005E U+004A U+0049 U+004D > ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > ;; ^DOTS +U+005E U+0053 U+0049 U+004E > ;; ^SIN +U+0048 U+0049 U+005A U+0042 > ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > ;; RECTZERO +U+0053 U+0041 U+004A U+0044 U+0041 > ;; SAJDA +U+0044 U+004F U+0054 U+0053 > ;; DOTS + + +; general + +;persian +UL h w > k h ;; +;; #zdmg UL h w > U+1E2B +;; +;; #zdmg l Z [SUNCONS]=sc / (a | H) _ > @sc Z @sc ; +;; #zdmg [VWL] / [VWL] BEG _ > U+2019 ; vowel at beg of word replaced by apostr when prec word end with vowel +;; #zdmg (A|Y|UL A) / _ (N|U|W) > ; + +; problem of "T": It should be omitted when at end of word and when not +; the 1st member of a definite construct: al-madInaT al-`a.zImaT > al-madīna al-ʿaẓīma +; Only solution is to always transliterate to t, except when explicitly "quoted off": +T Q / _ # > ; +T > t +N > n +U+0057 > w +(U|u u|UL u) > U+016B +(A|a a|UL a|UL A) > U+0101 +(I|i i|UL i) > U+012B +(E|e e) > U+0113 +(O|o o) > U+014D +C A > U+02BE U+0101 ; historical spelling +C U > U+02BE U+016B ; historical spelling : madda on waw +C I > U+02BE U+012B ; historical spelling : madda on ya +Q > ; + +P z > U+1E93 +V z > U+017A +;; #zdmg C z > U+017E ;check +C z > z h ;check +w > v ; sindhi LOC +V t > U+1E6D +P t > t U+0324 +;; #zdmg UL t > U+1E6F +;; #zdmg C s > U+0161 +C s > s h +UL (s|t) > s U+0331 ; sindhi +V r > U+0155 +P r > U+1E59; r with dot above +P q > q ; ? +C n > U+00F1 +P n > U+1E47 +V n > U+1E45 +C l > l U+0303 ; l + combining tilde +CO g > g U+0308 +V d > U+1E0D +CO d > d U+0324 +P d > z U+0324 +V s > U+015B +P s > U+1E63 +;; #zdmg (j|C g) > U+01E7 ; +(j|C g) > j ; +CO j > U+0237 U+0308 +P h > U+1E25 +V h > h +;; #zdmg (UL h|x) > U+1E2B +(UL h|x) > k h +G > g +P g > g h +;; #zdmg U+0121 +P f > f ; ? +;; #zdmg UL d > U+1E0F +UL d > d h +;; #zdmg C c > U+010D ; +C c > c ; +CO b > b U+0324 +P b > x ; ? undotted (b,t,th,n,y) ... + +Y > U+0101 ;ā -> sometimes á : check + + +Ain > U+02BF +H > ; hamzas are omitted in sindhi trans +Z Z Z > ; +Z Z > ; +B > ; +U+003C U+003C > U+00AB ;<< +U+003E U+003E > U+00BB ;>> +UL > ;_ +U+003A U+003A > U+2234 ; '::' ??Arabic three dots transliterated by Therefore?? +N > ; +C > ;^ +Q BAR > ;; +BAR > ;| + diff --git a/Master/texmf-dist/source/xelatex/arabxetex/arabtex-trans-dmg.map b/Master/texmf-dist/source/xelatex/arabxetex/arabtex-trans-dmg.map new file mode 100644 index 00000000000..9b4acc136de --- /dev/null +++ b/Master/texmf-dist/source/xelatex/arabxetex/arabtex-trans-dmg.map @@ -0,0 +1,191 @@ +LHSName "ArabTeX-DMG" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define W U+0057 ;W +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define LLAH U+006C U+006C U+005F U+0061 U+0068 + +pass(Unicode) + +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” + +Define BEG (#|Z|[BRACKETS]) + +; special ligatures +(a|A) BAR l Z / _ LLAH > ;; 'a|l-ll_ah' or 'A|l-ll_ah' -> llāh +(a|A) l Z / _ LLAH > A ;; 'al-ll_ah' or 'Al-ll_ah' -> Allāh +U+0053 U+004C U+004D > U+1E63 U+0061 U+006C U+006C U+0101 U+0020 U+0041 U+006C U+006C U+0101 U+0068 U+0020 U+02BF U+0061 U+006C U+0061 U+0079 U+0068 U+0069 U+0020 U+0077 U+0061 U+002D U+0073 U+0061 U+006C U+006C U+0061 U+006D ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0052 U+0049 U+0059 U+0041 U+004C > U+0072 U+0069 U+0079 U+0101 U+006C ;; 'RIYAL' : Saudi currency sign +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > ;; 'SALLASTOP' +U+0051 U+0041 U+004C U+0041 > ;; 'QALA' +U+0041 U+004B U+0042 U+0041 U+0052 > U+0041 U+006B U+0062 U+0061 U+0072 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+004D U+0075 U+1E25 U+0061 U+006D U+006D U+0061 U+0064 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+0073 U+0061 U+006C U+0101 U+006D ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+0072 U+0061 U+0073 U+016B U+006C ;; 'RASUL' (also unicode 'RASOUL)' +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+02BF U+0061 U+006C U+0061 U+0079 U+0068 U+0069 ;; 'ALAYHI' (also unicode 'ALAYHE)' +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+0077 U+0061 U+002D U+0073 U+0061 U+006C U+006C U+0061 U+006D ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+1E63 U+0061 U+006C U+006C U+0101 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+006A U+0061 U+006C U+006C U+0101 ;; 'JALLA' : +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+0062 U+0069 U+0073 U+006D U+0069 U+0020 U+0041 U+006C U+006C U+0101 U+0068 U+0020 U+0061 U+006C U+002D U+0072 U+0061 U+1E25 U+006D U+0101 U+006E U+0020 U+0061 U+006C U+002D U+0072 U+0061 U+0068 U+012B U+006D ;; 'BASMALA' +U+005E U+0053 U+004C U+0059 > ;; ^SLY +U+005E U+0051 U+004C U+0059 > ;; ^QLY +U+005E U+004D U+0049 U+004D > ;; ^MIM +U+005E U+004C U+0041 > ;; ^LA +U+005E U+004A U+0049 U+004D > ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > ;; ^DOTS +U+005E U+0053 U+0049 U+004E > ;; ^SIN +U+0048 U+0049 U+005A U+0042 > ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > ;; RECTZERO +U+0053 U+0041 U+004A U+0044 U+0041 > ;; SAJDA +U+0044 U+004F U+0054 U+0053 > ;; DOTS + + +; general + +;persian +;; #P UL h w > U+1E2B +;; #P U+0048 > h ; capital H > h +;; + +; problem of "T": It should be omitted when at end of word and when not +; the 1st member of a definite construct: al-madInaT al-`a.zImaT > al-madīna al-ʿaẓīma +; Only solution is to always transliterate to t, except when explicitly "quoted off" with |: +T BAR / _ # > ; +T > t +;;#U T > h +N > n +U+0057 > w +(U|u u|UL u) > U+016B +(A|a a|UL a|UL A) > U+0101 +i y > U+012B y +(I|i i|UL i) > U+012B +;;#U (E|a e) / _ # > H U+0113 +;;#T (E|e) e > e y ; pashto +(E|e e) > U+0113 +(O|o o) > U+014D +C A > U+02BE U+0101 ; historical spelling +C U > U+02BE U+016B ; historical spelling : madda on waw +C I > U+02BE U+012B ; historical spelling : madda on ya + +P z > U+1E93 +V z > U+017A +C z > U+017E ;check +V t > t U+0301 +P t > U+1E6D +UL t > U+1E6F +C s > U+0161 +UL s > U+1E6F ; sindhi +V r > U+0155 +P r > U+1E59; r with dot above +P q > q ; ? +V n > U+0144 +C n > U+00F1 +P n > U+1E47 +CO n > n U+0324 +C l > l U+0303 ; l + combining tilde +CO g > g U+0324 +V d > d U+0301 +CO d > d U+0324 +P d > U+1E0D +V s > U+015B +P s > U+1E63 +(j|C g) > U+01E7 ; +CO j > U+0237 U+0308 +P h > U+1E25 +V h > h +(UL h|x) > U+1E2B +G > g +P g > U+0121 +P f > f ; ? +UL d > U+1E0F +C c > U+010D ; +CO b > b U+0324 +P b > x ; ? undotted (b,t,th,n,y) ... + +(A|Y|UL A) / _ (N|U|W) > ; +Y > U+0101 ;ā -> LOC: á : check DMG + + +Ain > U+02BF +Z H > Z +H / # _ > ; +H > U+02BE +Z Z Z > ; +Z Z > ; +B > ; +U+003C U+003C > U+00AB ;<< +U+003E U+003E > U+00BB ;>> +UL > ;_ +U+003A U+003A > U+2234 ; '::' ??Arabic three dots transliterated by Therefore?? +N > ; +C > ;^ +Q > ; + +pass(Unicode) + +Class [LOWERCASE] = ( U+0061..U+007A U+0101 U+0113 U+012B U+014D U+0161 U+016B U+1E0D U+1E25 U+1E33 U+1E63 U+1E6D U+1E93 U+1E2B U+1E0F U+1E6F U+0121 U+01E7 ) +Class [UPPERCASE] = ( U+0041..U+005A U+0100 U+0112 U+012A U+014C U+0160 U+016A U+1E0C U+1E24 U+1E32 U+1E62 U+1E6C U+1E92 U+1E2A U+1E0E U+1E6E U+0120 U+01E6 ) +Class [LETTER] = (U+0041..U+01FF) +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075) ; (a e i o u) +Class [SUNCONS] = (U+0064 U+1E0F U+0074 U+1E6F U+0072 U+007A U+0073 U+0161 U+1E63 U+1E0D U+1E6D U+1E93 U+006E) +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” +[LOWERCASE] / U+E000 a l Z _ > [UPPERCASE] +[LOWERCASE] / U+E000 _ > [UPPERCASE] +;l Z ([SUNCONS]=sc){2,2} > @sc Z @sc ;; FIXME +;l Z [SUNCONS]=sc > @sc Z @sc ;; FIXME +a / [VWL] Z _ l Z > ;; bi-al- -> bi-l- +;; [VWL] / [VWL] BEG _ ^l > U+2019 ;; vowel at beg of word replaced by apostr when prec word end with vowel +[LETTER] BAR > ;; + +pass(Unicode) + +U+E000 > ; + +A l Z > a l Z + diff --git a/Master/texmf-dist/source/xelatex/arabxetex/arabtex-trans-loc.map b/Master/texmf-dist/source/xelatex/arabxetex/arabtex-trans-loc.map new file mode 100644 index 00000000000..ef9ad5da6fd --- /dev/null +++ b/Master/texmf-dist/source/xelatex/arabxetex/arabtex-trans-loc.map @@ -0,0 +1,184 @@ +LHSName "ArabTeX-LOC" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define LLAH U+006C U+006C U+005F U+0061 U+0068 + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” + +Define BEG (#|Z|[BRACKETS]) + +; special ligatures +(a|A) l Z / _ LLAH > A ;; 'al-ll_ah' or 'Al-ll_ah' +U+0053 U+004C U+004D > U+1E63 U+0061 U+006C U+006C U+0101 U+0020 U+0041 U+006C U+006C U+0101 U+0068 U+0020 U+02BF U+0061 U+006C U+0061 U+0079 U+0068 U+0069 U+0020 U+0077 U+0061 U+002D U+0073 U+0061 U+006C U+006C U+0061 U+006D ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0052 U+0049 U+0059 U+0041 U+004C > U+0072 U+0069 U+0079 U+0101 U+006C ;; 'RIYAL' : Saudi currency sign +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > ;; 'SALLASTOP' +U+0051 U+0041 U+004C U+0041 > ;; 'QALA' +U+0041 U+004B U+0042 U+0041 U+0052 > U+0041 U+006B U+0062 U+0061 U+0072 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+004D U+0075 U+1E25 U+0061 U+006D U+006D U+0061 U+0064 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+0073 U+0061 U+006C U+0101 U+006D ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+0072 U+0061 U+0073 U+016B U+006C ;; 'RASUL' (also unicode 'RASOUL)' +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+02BF U+0061 U+006C U+0061 U+0079 U+0068 U+0069 ;; 'ALAYHI' (also unicode 'ALAYHE)' +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+0077 U+0061 U+002D U+0073 U+0061 U+006C U+006C U+0061 U+006D ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+1E63 U+0061 U+006C U+006C U+0101 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+006A U+0061 U+006C U+006C U+0101 ;; 'JALLA' : +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+0062 U+0069 U+0073 U+006D U+0069 U+0020 U+0041 U+006C U+006C U+0101 U+0068 U+0020 U+0061 U+006C U+002D U+0072 U+0061 U+1E25 U+006D U+0101 U+006E U+0020 U+0061 U+006C U+002D U+0072 U+0061 U+0068 U+012B U+006D ;; 'BASMALA' +U+005E U+0053 U+004C U+0059 > ;; ^SLY +U+005E U+0051 U+004C U+0059 > ;; ^QLY +U+005E U+004D U+0049 U+004D > ;; ^MIM +U+005E U+004C U+0041 > ;; ^LA +U+005E U+004A U+0049 U+004D > ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > ;; ^DOTS +U+005E U+0053 U+0049 U+004E > ;; ^SIN +U+0048 U+0049 U+005A U+0042 > ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > ;; RECTZERO +U+0053 U+0041 U+004A U+0044 U+0041 > ;; SAJDA +U+0044 U+004F U+0054 U+0053 > ;; DOTS + + +; general + +;persian +;; #P UL h w > U+1E2B +;; #P U+0048 > h ; capital H > h +;; + +; problem of "T": It should be omitted when at end of word and when not +; the 1st member of a definite construct: al-madInaT al-`a.zImaT > al-madīna al-ʿaẓīma +; Only solution is to always transliterate to t, except when explicitly "quoted off": +T Q / _ # > ; +T > t +;;#U T > h +N > n +U+0057 > w +(U|u u|UL u) > U+016B +(A|a a|UL a|UL A) > U+0101 +(I|i i|UL i) > U+012B +;;#U (E|a e) / _ # > H U+0113 +;;#T (E|e) e > e y ; pashto +(E|e e) > U+0113 +(O|o o) > U+014D +C A > U+02BE U+0101 ; historical spelling +C U > U+02BE U+016B ; historical spelling : madda on waw +C I > U+02BE U+012B ; historical spelling : madda on ya +Q > ; + +P z > U+1E93 +V z > U+017A +C z > z h ;check +V t > t U+0301 +P t > U+1E6D +UL t > t h +C s > s h +UL s > U+1E6F ; sindhi +V r > U+0155 +P r > U+1E59; r with dot above +P q > q ; ? +V n > U+0144 +C n > U+00F1 +P n > U+1E47 +CO n > n U+0324 +C l > l U+0303 ; l + combining tilde +CO g > g U+0324 +V d > d U+0301 +CO d > d U+0324 +P d > U+1E0D +V s > U+015B +P s > U+1E63 +(j|C g) > j ; +CO j > U+0237 U+0308 +P h > U+1E25 +V h > h +(UL h|x) > k h +G > g +P g > U+0121 +P f > f ; ? +UL d > d h +C c > c h ; +CO b > b U+0324 +P b > x ; ? undotted (b,t,th,n,y) ... + +Y > U+0101 ;ā -> sometimes á : check + + +Ain > U+02BF +Z H > Z +H / # _ > ; +H > U+02BE +Z Z Z > ; +Z Z > ; +B > ; +U+003C U+003C > U+00AB ;<< +U+003E U+003E > U+00BB ;>> +UL > ;_ +U+003A U+003A > U+2234 ; '::' ??Arabic three dots transliterated by Therefore?? +N > ; +C > ;^ +Q BAR > ;; +BAR > ;| + +pass(Unicode) + +Class [LOWERCASE] = ( U+0061..U+007A U+0101 U+0113 U+012B U+014D U+016B U+1E0D U+1E25 U+1E33 U+1E63 U+1E6D U+1E93 U+1E2B U+1E0F U+1E6F U+0121 U+01E7 ) +Class [UPPERCASE] = ( U+0041..U+005A U+0100 U+0112 U+012A U+014C U+016A U+1E0C U+1E24 U+1E32 U+1E62 U+1E6C U+1E92 U+1E2A U+1E0E U+1E6E U+0120 U+01E6 ) + +[LOWERCASE] / U+E000 _ > [UPPERCASE] +[LOWERCASE] / U+E000 a l Z _ > [UPPERCASE] + +pass(Unicode) + +U+E000 > ; + +A l Z > a l Z + + diff --git a/Master/texmf-dist/doc/xelatex/arabxetex/arabtex-uighur.maps b/Master/texmf-dist/source/xelatex/arabxetex/arabtex-uighur.maps index 27da35ca0d2..27da35ca0d2 100644 --- a/Master/texmf-dist/doc/xelatex/arabxetex/arabtex-uighur.maps +++ b/Master/texmf-dist/source/xelatex/arabxetex/arabtex-uighur.maps diff --git a/Master/texmf-dist/source/xelatex/arabxetex/arabtex-urdu-trans-loc.map b/Master/texmf-dist/source/xelatex/arabxetex/arabtex-urdu-trans-loc.map new file mode 100644 index 00000000000..9acc465eb12 --- /dev/null +++ b/Master/texmf-dist/source/xelatex/arabxetex/arabtex-urdu-trans-loc.map @@ -0,0 +1,180 @@ +;; LHSName "ArabTeX-ZDMG" +LHSName "ArabTeX-LOC" +;; LHSName "ArabTeX-EI" +RHSName "UNICODE" + +Define a U+0061 ;a +Define b U+0062 ;b +Define c U+0063 ;c +Define d U+0064 ;d +Define e U+0065 ;e +Define f U+0066 ;f +Define g U+0067 ;g +Define h U+0068 ;h +Define i U+0069 ;i +Define j U+006A ;j +Define k U+006B ;k +Define l U+006C ;l +Define m U+006D ;m +Define n U+006E ;n +Define o U+006F ;o +Define p U+0070 ;p +Define q U+0071 ;q +Define r U+0072 ;r +Define s U+0073 ;s +Define t U+0074 ;t +Define u U+0075 ;u +Define v U+0076 ;v +Define w U+0077 ;w +Define x U+0078 ;x +Define y U+0079 ;y +Define z U+007A ;z +Define A U+0041 ;A +Define B U+0042 ;B +Define E U+0045 ;E +Define G U+0047 ;G +Define I U+0049 ;I +Define N U+004E ;N +Define O U+004F ;O +Define T U+0054 ;T +Define U U+0055 ;U +Define Y U+0059 ;Y +Define C U+005E ;^ << CARET +Define UL U+005F ;_ << UNDERLINE +Define P U+002E ;. << DOT +Define V U+002C ;, << COMMA (_V_irgule) +Define CO U+003A ;: << COLON +Define Ain U+0060 ;` +Define H U+0027 ;' << HAMZA +Define Q U+0022 ;" << QUOTE +Define Z U+002D ;- << HYPHEN +Define BAR U+007C ;| +Define LLAH U+006C U+006C U+005F U+0061 U+0068 + +pass(Unicode) + +Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` +Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” + +Define BEG (#|Z|[BRACKETS]) + +; special ligatures +(a|A) l Z / _ LLAH > A ;; 'al-ll_ah' or 'Al-ll_ah' +U+0053 U+004C U+004D > U+1E63 U+0061 U+006C U+006C U+0101 U+0020 U+0041 U+006C U+006C U+0101 U+0068 U+0020 U+02BF U+0061 U+006C U+0061 U+0079 U+0068 U+0069 U+0020 U+0077 U+0061 U+002D U+0073 U+0061 U+006C U+006C U+0061 U+006D ; 'SLM' : .sallY al-ll_ah `alayhi wa-sallam +U+0052 U+0049 U+0059 U+0041 U+004C > U+0072 U+0069 U+0079 U+0101 U+006C ;; 'RIYAL' : Saudi currency sign +U+0053 U+0041 U+004C U+004C U+0041 U+0053 U+0054 U+004F U+0050 > ;; 'SALLASTOP' +U+0051 U+0041 U+004C U+0041 > ;; 'QALA' +U+0041 U+004B U+0042 U+0041 U+0052 > U+0041 U+006B U+0062 U+0061 U+0072 ;; 'AKBAR' +U+004D U+0055 U+0048 U+0041 U+004D U+004D U+0041 U+0044 > U+004D U+0075 U+1E25 U+0061 U+006D U+006D U+0061 U+0064 ;; 'MUHAMMAD' +U+0053 U+0041 U+004C U+0041 U+004D > U+0073 U+0061 U+006C U+0101 U+006D ;; 'SALAM' +U+0052 U+0041 U+0053 U+004F ? U+0055 U+004C > U+0072 U+0061 U+0073 U+016B U+006C ;; 'RASUL' (also unicode 'RASOUL)' +U+0041 U+004C U+0041 U+0059 U+0048 (U+0049|U+0045) > U+02BF U+0061 U+006C U+0061 U+0079 U+0068 U+0069 ;; 'ALAYHI' (also unicode 'ALAYHE)' +U+0057 U+0041 U+0053 U+0041 U+004C U+004C U+0041 U+004D > U+0077 U+0061 U+002D U+0073 U+0061 U+006C U+006C U+0061 U+006D ;; 'WASALLAM' +U+0053 U+0041 U+004C U+004C U+0041 > U+1E63 U+0061 U+006C U+006C U+0101 ;; 'SALLA' +U+004A U+0041 U+004C U+004C U+0041 > U+006A U+0061 U+006C U+006C U+0101 ;; 'JALLA' : +U+0042 U+0041 U+0053 U+004D U+0041 U+004C U+0041 > U+0062 U+0069 U+0073 U+006D U+0069 U+0020 U+0041 U+006C U+006C U+0101 U+0068 U+0020 U+0061 U+006C U+002D U+0072 U+0061 U+1E25 U+006D U+0101 U+006E U+0020 U+0061 U+006C U+002D U+0072 U+0061 U+0068 U+012B U+006D ;; 'BASMALA' +U+005E U+0053 U+004C U+0059 > ;; ^SLY +U+005E U+0051 U+004C U+0059 > ;; ^QLY +U+005E U+004D U+0049 U+004D > ;; ^MIM +U+005E U+004C U+0041 > ;; ^LA +U+005E U+004A U+0049 U+004D > ;; ^JIM +U+005E U+0044 U+004F U+0054 U+0053 > ;; ^DOTS +U+005E U+0053 U+0049 U+004E > ;; ^SIN +U+0048 U+0049 U+005A U+0042 > ;; HIZB +U+0043 U+0049 U+0052 U+0043 U+005A U+0045 U+0052 U+004F > ;; CIRCZERO +U+0052 U+0045 U+0043 U+0054 U+005A U+0045 U+0052 U+004F > ;; RECTZERO +U+0053 U+0041 U+004A U+0044 U+0041 > ;; SAJDA +U+0044 U+004F U+0054 U+0053 > ;; DOTS + + +; general + +;persian +UL h w > k h +;; #zdmg UL h w > U+1E2B +U+0048 > h ; capital H > h +;; +;; #zdmg l Z [SUNCONS]=sc / (a | H) _ > @sc Z @sc ; +;; #zdmg [VWL] / [VWL] BEG _ > U+2019 ; vowel at beg of word replaced by apostr when prec word end with vowel +;; #zdmg (A|Y|UL A) / _ (N|U|W) > ; + +; problem of "T": It should be omitted when at end of word and when not +; the 1st member of a definite construct: al-madInaT al-`a.zImaT > al-madīna al-ʿaẓīma +; Only solution is to always transliterate to t, except when explicitly "quoted off": +T Q / _ # > ; +T > h +N > n +U+0057 > w +(U|u u|UL u) > U+016B +(A|a a|UL a|UL A) > U+0101 +(I|i i|UL i) > U+012B +(E|a e) / _ # > H U+0113 +(E|e e) > U+0113 +(O|o o) > U+014D +C A > U+02BE U+0101 ; historical spelling +C U > U+02BE U+016B ; historical spelling : madda on waw +C I > U+02BE U+012B ; historical spelling : madda on ya +P m I n > m i n ; +H BAR I n > i n ; +Q > ; + +P z > U+1E93 +V z > U+017A +;; #zdmg C z > U+017E ;check +C z > z h ;check +V t > t U+0301 +P t > U+1E6D +;; #zdmg UL t > U+1E6F +UL t > t h +;; #zdmg C s > U+0161 +C s > s h +UL s > U+1E6F ; sindhi +V r > U+0155 +P r > U+1E59; r with dot above +P q > q ; ? +V n > U+0144 +C n > U+00F1 +P n > U+1E47 +CO n > n U+0324 +C l > l U+0303 ; l + combining tilde +CO g > g U+0324 +V d > d U+0301 +CO d > d U+0324 +P d > U+1E0D +V s > U+015B +P s > U+1E63 +;; #zdmg (j|C g) > U+01E7 ; +(j|C g) > j ; +CO j > U+0237 U+0308 +P h > U+1E25 +V h > h +;; #zdmg (UL h|x) > U+1E2B +(UL h|x) > k h +G > g +P g > U+0121 +P f > f ; ? +;; #zdmg UL d > U+1E0F +UL d > d h +;; #zdmg C c > U+010D ; +C c > c h ; +CO b > b U+0324 +P b > x ; ? undotted (b,t,th,n,y) ... + +Y > U+0101 ;ā -> sometimes á : check + + +Ain > U+02BF +H > U+02BE +Z Z Z > ; +Z Z > ; +B > ; +U+003C U+003C > U+00AB ;<< +U+003E U+003E > U+00BB ;>> +UL > ;_ +U+003A U+003A > U+2234 ; '::' ??Arabic three dots transliterated by Therefore?? +N > ; +C > ;^ +Q BAR > ;; +BAR > ;| + diff --git a/Master/texmf-dist/doc/xelatex/arabxetex/arabtex.maps b/Master/texmf-dist/source/xelatex/arabxetex/arabtex.maps index a71c56292f8..cc7dec079ba 100644 --- a/Master/texmf-dist/doc/xelatex/arabxetex/arabtex.maps +++ b/Master/texmf-dist/source/xelatex/arabxetex/arabtex.maps @@ -1,6 +1,6 @@ ## This is the master file to generate the TECkit ArabTeX font mappings ## for use with XeTeX -## The mappings are generated with a simple sed script +## The mappings are generated with a simple perl script (makemaps.pl) ## ## Conventions used: ## --------------------------------------------------------------------------------- @@ -132,6 +132,7 @@ U+E000 > ; eliminate special code for capitalization in transliterations pass(Unicode) Class [VWL] = (U+0061 U+0065 U+0069 U+006F U+0075 ) ;(a e i o u) +Class [AVWL] = (U+064B..U+0650); Class [LTR] = (U+0061..U+007A U+0041 U+0045 U+0047 U+0049 U+004F U+0055 U+0042 U+004E U+0054 U+0059 U+005E U+002E U+005F U+0022 U+0027 U+0060) ;a..z A E I O U B N T Y ^ . _ " "" ` Class [BRACKETS] = (U+003C U+003E U+00AB U+00BB U+0028 U+0029 U+005B U+005D U+2018 U+2019 U+201C U+201D); < > () « » [ ] ‘ ’ “ ” Class [PUNCT] = (V SC P CO) @@ -220,6 +221,7 @@ U+005B U+005B ([Digits]+)=dig U+005D U+005D > U+202E U+06DD @dig U+202C ; [[digi u u > U i i > I a a > A +#n [AVWL] > ; strip off vowels when writing UTF-8 Arabic with novoc mode #T a e > a U+0626 #T E e > U+0659 U+06CD #T e e > U+0659 U+0626 @@ -233,8 +235,8 @@ CO O > U+06FC ; #U a e / _ # > a U+06D2 #-T a e > a y a o > a w -#PUK (o|u)? O / # _ > U+0627 w -#PUK (o|u)? O > w +#PUKS (o|u)? O / # _ > U+0627 w +#PUKS (o|u)? O > w CO U > U+06C7 ; #-TK e > i ;; but not pashto > U+0659 and kashmiri > y + U+0658 (U+06CE is kurdish) #T e > U+0659 @@ -283,6 +285,8 @@ a l Z / BEG _ > U+0627 l Z @Av H l Z / BEG _ > U+0627 l Z @Bv H l Z / BEG _ > U+0627 l Z #Af H l Z / BEG _ > U+0671 l Z ; THIS IS NOT AN ARABTEX CONVENTION! it's a work-around coz pattern-matching across word boundaries does not work in teckit , so min al- must be written mina 'l- in fullvocalize mode +;; wasla on initial alif : NEW! NOT TESTED! +#Af [VWL]=v1 Z / BEG _ > @v1 U+0671 ; THIS IS NOT AN ARABTEX CONVENTION! it's a work-around coz pattern-matching across word boundaries does not work in teckit , so huwa irtifA` must be written huwa i-rtifA` in fullvocalize mode #n H / BEG _ l l > U+0627 ; #v H / BEG _ l l > U+0671 ; e.g. alla_dI -> 'lla_dI #n [VWL]=v1 / BEG _ > A @v1 @@ -613,6 +617,8 @@ UL h > U+062E (P h|U+1E25) > U+062D V h V h > U+06C1 U+0651 ;;SHADDA V h > U+06C1 +#U H H > U+06C1 U+0651 ;;SHADDA +#U H > U+06C1 #U h h > U+06BE U+0651 ;;SHADDA #U h > U+06BE ; urdu #U ;; fix letter+h letter+h > letter+h shadda in URDU <<< @@ -777,4 +783,3 @@ BAR > ;| #f ;; [CONS]=k1 / _ # > @k1 U+0652 ; final consonant #f Q > ; #v Z > ; - diff --git a/Master/texmf-dist/doc/xelatex/arabxetex/arabxetex.dtx b/Master/texmf-dist/source/xelatex/arabxetex/arabxetex.dtx index 24ee9fe8ed5..513dc3081cd 100644 --- a/Master/texmf-dist/doc/xelatex/arabxetex/arabxetex.dtx +++ b/Master/texmf-dist/source/xelatex/arabxetex/arabxetex.dtx @@ -2,7 +2,7 @@ % %!TEX encoding = UTF-8 Unicode % -% Copyright (C) 2007-2008 by François Charette <firmicus at gmx dot net> +% Copyright © 2007-2010 by François Charette <firmicus at gmx dot net> % % Distributable under the LaTeX Project Public License, % version 1.3c or higher (your choice). The latest version of @@ -11,8 +11,9 @@ % This work is "maintained" (as per LPPL maintenance status) % by François Charette. % -% This work consists of the file bidi.dtx -% and the derived files bidi.sty and bidi.pdf. +% This work consists of the file arabxetex.dtx +% and the derived files arabxetex.sty, arabxetex.pdf and +% several accompanying *.map files. % % %<*batchfile> @@ -23,14 +24,14 @@ ____________________________ The arabxetex package - (C) 2007-2008 François Charette + © 2007–2010 François Charette License information appended \endpreamble \postamble -Copyright (C) 2007-2008 by François Charette <firmicus at gmx dot net> +Copyright © 2007–2010 by François Charette <firmicus at gmx dot net> Distributable under the LaTeX Project Public License, version 1.3c or higher (your choice). The latest version of @@ -68,7 +69,7 @@ as well as an extensive collection of TECKit files % %<*readme> -------------------------- -THE ARABXETEX PACKAGE v1.1.2 +THE ARABXETEX PACKAGE v1.1.4 This package provides a convenient ArabTeX-like user-interface for typesetting languages using the Arabic script in XeLaTeX, with flexible access to font @@ -83,7 +84,7 @@ The TECkit fontmapping files (*.map and *.tec) should be copied to ------------------------- François Charette -2007-2008 +© 2007–2010 %</readme> % % \fi @@ -840,7 +841,7 @@ François Charette % ¦^n¦ & &&&&\GN[sindhi]{^n}{0683}&&&&\GN[malay]{^n}{06BD}&\GR[uighur]{^n}{06AD} \\ % ¦:n¦ & &&&&\GR[sindhi]{:n}{06B1}&&&&&\\ % ¦o¦ & &\GR[farsi]{Bo}{}&&\GN[pashto]{Bo}{0657}&&&\GN[kurdish]{o/Bo}{}&\GN[kashmiri]{Bo}{06C6}&&\GN[uighur]{Bo}{} \\ -% ¦O¦ & &\GN[farsi]{BO}{}&\GN[urdu]{BO}{}&\GN[pashto]{BO}{}&&&\GN[kurdish]{O/BO}{}&\GN[kashmiri]{BO}{}&&\\ +% ¦O¦ & &\GN[farsi]{BO}{}&\GN[urdu]{BO}{}&\GN[pashto]{BO}{}&\GN[sindhi]{BO}{}&&\GN[kurdish]{O/BO}{}&\GN[kashmiri]{BO}{}&&\\ % ¦ao¦ & &&\GR[urdu]{Bao}{}&&\GR[sindhi]{Bao}{}&&&&&\\ % ¦.o¦ & &&&&&&&\GN[kashmiri]{B.o}{06C4}&&\\ % ¦.O¦ & &&&&&&&\GN[kashmiri]{B.O}{}&&\\ @@ -1258,11 +1259,10 @@ François Charette % \small % \section{Notes on available free and commercial fonts for the Perso-Arabic script} % \label{arabicfont} -% \texttt{TO BE COMPLETED} % +% \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 % @@ -1280,8 +1280,7 @@ François Charette % ^^A % ^^AA-l-l-h > FDF2 % -% \item Arabic fonts on Mac~OS~X: ‘Geeza Pro’, ‘DecoType Naskh’, \ldots more?\\ -% \textcolor{red}{$\rightarrow$ \texttt{Help needed to test those fonts!}} +% \item Arabic fonts on Mac~OS~X: ‘Geeza Pro’, ‘DecoType Naskh’, \ldots more? % % \item ‘Arabic Typesetting’ and other Arabic fonts licensed to Microsoft % @@ -1302,6 +1301,7 @@ François Charette % 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} % @@ -1353,7 +1353,7 @@ François Charette % \begin{macrocode} \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{arabxetex} - [2008/07/16 v1.1.2 ArabTeX-like interface for XeLaTeX] + [2010/03/04 v1.1.4 ArabTeX-like interface for XeLaTeX] % \DeclareOption{fullvoc}{\def\ax@mode{fullvoc}} \DeclareOption{voc}{\def\ax@mode{voc}} @@ -1362,6 +1362,8 @@ François Charette \DeclareOption{utf}{\def\ax@mode{utf}} \DeclareOption{fdf2alif}{\def\ax@font@allah{fdf2alif}} \DeclareOption{fdf2noalif}{\def\ax@font@allah{fdf2noalif}} +\newif\ifmirror@punct\mirror@punctfalse +\DeclareOption{mirrorpunct}{\mirror@puncttrue} \ExecuteOptions{novoc,fdf2alif} \ProcessOptions \def\ax@mode@fullvoc{fullvoc} @@ -1373,23 +1375,23 @@ François Charette \def\ax@ismode@defined#1{% \ifcsname ax@mode@#1\endcsname% \ax@mode@definedtrue% - \else% + \else \ax@mode@definedfalse% \fi} \def\ax@lang{arab}%default language (for macros like \aemph) -\RequirePackage{bidi} \RequirePackage{amsmath}%because of macro \overline used in \aemph \RequirePackage{fontspec} -\AtBeginDocument{\ifdefined\arabicfont\relax\else% - \PackageWarning{arabxetex}{\string\arabicfont\ is not defined!^^JI will try to load Scheherazade}% - \newfontfamily\arabicfont[Script=Arabic,Scale=2]{Scheherazade}\fi - }% +\RequirePackage{bidi} +\AtBeginDocument{\ifdefined\arabicfont\relax\else + \PackageWarning{arabxetex}{\string\arabicfont\ is not defined!^^JI will try to load Scheherazade (scaled 1.5)}% + \newfontfamily\arabicfont[Script=Arabic,Scale=1.5]{Scheherazade}\fi}% \def\ax@trans@style{\itshape}% \newcommand{\SetTranslitStyle}[1]{\def\ax@trans@style{#1}} \newcommand{\SetTranslitConvention}[1]{\def\ax@trans@convention{#1}} \def\ax@trans@convention{loc}% Library of Congress is default \newcommand{\SetAllahWithAlif}{\def\ax@font@allah{fdf2alif}} \newcommand{\SetAllahWithoutAlif}{\def\ax@font@allah{fdf2noalif}} +\def\utf@fontfeature{\ifmirror@punct\addfontfeature{Mapping=mirrorpunct}\else\relax\fi} \def\arabtex@codes{\catcode`^=11\relax\catcode`_=11\relax} \def\UC{\char"E000} % This is used to capitalize the following letter (ignoring % article al-) in transliteration mode @@ -1414,14 +1416,14 @@ François Charette \ifx\@tempa\ax@mode@trans% \par\arabtex@codes\ax@trans@style% \addfontfeature{Mapping=arabtex-trans-\ax@trans@convention}% - \else% + \else \ifx\@tempa\ax@mode@utf% - \par\setRL\arabicfont\addfontfeature{Mapping=arabicfixes}% - \else% + \par\setRL\arabicfont\utf@fontfeature% + \else \par\setRL\arabicfont\arabtex@codes% \addfontfeature{Mapping=arabtex-\ax@font@allah-\@tempa}% - \fi\fi% -\else% + \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}% @@ -1437,14 +1439,14 @@ François Charette \ifx\@tempa\ax@mode@trans% \par\arabtex@codes\ax@trans@style% \addfontfeature{Mapping=arabtex-trans-\ax@trans@convention}% - \else% + \else \ifx\@tempa\ax@mode@utf% - \par\setRL\ax@maghribi@font\addfontfeature{Mapping=arabicfixes}% - \else% + \par\setRL\ax@maghribi@font\utf@fontfeature% + \else \par\setRL\ax@maghribi@font\arabtex@codes% \addfontfeature{Mapping=arabtex-\ax@font@allah-maghribi-\@tempa}% - \fi\fi% -\else% + \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}% @@ -1459,14 +1461,14 @@ François Charette \ifx\@tempa\ax@mode@trans% \par\arabtex@codes\ax@trans@style% \addfontfeature{Mapping=arabtex-farsi-trans-\ax@trans@convention}% - \else% + \else \ifx\@tempa\ax@mode@utf% - \par\setRL\ax@farsi@font\addfontfeature{Mapping=arabicfixes}% - \else% + \par\setRL\ax@farsi@font\utf@fontfeature% + \else \par\setRL\ax@farsi@font\arabtex@codes% \addfontfeature{Mapping=arabtex-\ax@font@allah-farsi-\@tempa}% - \fi\fi% -\else% + \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}% @@ -1482,14 +1484,14 @@ François Charette \ifx\@tempa\ax@mode@trans% \par\arabtex@codes\ax@trans@style% \addfontfeature{Mapping=arabtex-urdu-trans-\ax@trans@convention}% - \else% + \else \ifx\@tempa\ax@mode@utf% \par\setRL\ax@urdu@font\addfontfeature{Language=Urdu}%Mapping=arabtex-utf}% - \else% + \else \par\setRL\ax@urdu@font\arabtex@codes% \addfontfeature{Mapping=arabtex-\ax@font@allah-urdu-\@tempa}% - \fi\fi% -\else% + \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}% @@ -1504,14 +1506,14 @@ François Charette \ifx\@tempa\ax@mode@trans% \par\arabtex@codes\ax@trans@style% \addfontfeature{Mapping=arabtex-pashto-trans-\ax@trans@convention}% - \else% + \else \ifx\@tempa\ax@mode@utf% - \par\setRL\ax@pashto@font\addfontfeature{Mapping=arabicfixes}% - \else% + \par\setRL\ax@pashto@font\utf@fontfeature% + \else \par\setRL\ax@pashto@font\arabtex@codes% \addfontfeature{Mapping=arabtex-\ax@font@allah-pashto-\@tempa}% - \fi\fi% -\else% + \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}% @@ -1526,14 +1528,14 @@ François Charette \ifx\@tempa\ax@mode@trans% \par\arabtex@codes\ax@trans@style% \addfontfeature{Mapping=arabtex-sindhi-trans-\ax@trans@convention}% - \else% + \else \ifx\@tempa\ax@mode@utf% \par\setRL\ax@sindhi@font\addfontfeature{Language=Sindhi}%Mapping=arabtex-utf}% - \else% + \else \par\setRL\ax@sindhi@font\arabtex@codes% \addfontfeature{Mapping=arabtex-\ax@font@allah-sindhi-\@tempa,Language=Sindhi}% - \fi\fi% -\else% + \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}% @@ -1548,14 +1550,14 @@ François Charette %\ifx\@tempa\ax@mode@trans% % \par\arabtex@codes\ax@trans@style% % \addfontfeature{Mapping=arabtex-turk-trans-\ax@trans@convention}% - %\else% + %\else \ifx\@tempa\ax@mode@utf% - \par\setRL\ax@ottoman@font\addfontfeature{Mapping=arabicfixes}% - \else% + \par\setRL\ax@ottoman@font\utf@fontfeature% + \else \par\setRL\ax@ottoman@font\arabtex@codes% \addfontfeature{Mapping=arabtex-\ax@font@allah-turk-\@tempa}% - \fi%\fi% -\else% + \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}% @@ -1571,10 +1573,10 @@ François Charette %\ifx\@tempa\ax@mode@trans% % \par\arabtex@codes\ax@trans@style% % \addfontfeature{Mapping=arabtex-kurdish-trans-\ax@trans@convention}% -%\else% +%\else \ifx\@tempa\ax@mode@utf% \par\setRL\ax@kurdish@font\addfontfeature{Language=Kurdish}%Mapping=arabtex-utf}% -\else% +\else \par\setRL\ax@kurdish@font\arabtex@codes% \addfontfeature{Mapping=arabtex-\ax@font@allah-kurdish,Language=Kurdish}% \fi} @@ -1590,14 +1592,14 @@ François Charette %\ifx\@tempa\ax@mode@trans% % \par\arabtex@codes\ax@trans@style% % \addfontfeature{Mapping=arabtex-\ax@font@allah-kashmiri-trans-\ax@trans@convention}% - %\else% + %\else \ifx\@tempa\ax@mode@utf% - \par\setRL\ax@kashmiri@font\addfontfeature{Mapping=arabicfixes}% - \else% + \par\setRL\ax@kashmiri@font\utf@fontfeature% + \else \par\setRL\ax@kashmiri@font\arabtex@codes% \addfontfeature{Mapping=arabtex-\ax@font@allah-kashmiri-\@tempa}% - \fi%\fi% -\else% + \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}% @@ -1614,14 +1616,14 @@ François Charette %\ifx\@tempa\ax@mode@trans% % \par\arabtex@codes\ax@trans@style% % \addfontfeature{Mapping=arabtex-malay-trans-\ax@trans@convention}% - %\else% + %\else \ifx\@tempa\ax@mode@utf% - \par\setRL\ax@malay@font\addfontfeature{Mapping=arabicfixes}% - \else% + \par\setRL\ax@malay@font\utf@fontfeature% + \else \par\setRL\ax@malay@font\arabtex@codes% \addfontfeature{Mapping=arabtex-\ax@font@allah-malay-\@tempa}% - \fi%\fi% -\else% + \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}% @@ -1637,10 +1639,10 @@ François Charette %\ifx\@tempa\ax@mode@trans% % \par\arabtex@codes\ax@trans@style% % \addfontfeature{Mapping=arabtex-uighur-trans-\ax@trans@convention}% -%\else% +%\else \ifx\@tempa\ax@mode@utf% - \par\setRL\ax@uighur@font\addfontfeature{Mapping=arabicfixes}% -\else% + \par\setRL\ax@uighur@font\utf@fontfeature% +\else \par\setRL\ax@uighur@font\arabtex@codes% \addfontfeature{Mapping=arabtex-\ax@font@allah-uighur}% \fi} @@ -1670,13 +1672,13 @@ François Charette \ifax@mode@defined% \ifx\@tempa\ax@mode@trans% {\ax@trans@style\addfontfeature{Mapping=arabtex-trans-\ax@trans@convention}#2}% - \else% + \else \ifx\@tempa\ax@mode@utf% - \RL{\arabicfont\addfontfeature{Mapping=arabicfixes} #2}% - \else% + \RL{\arabicfont\utf@fontfeature #2}% + \else \RL{\arabicfont\addfontfeature{Mapping=arabtex-\ax@font@allah-\@tempa}#2}% - \fi\fi% - \else% + \fi\fi + \else \PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}% \RL{\arabicfont\addfontfeature{Mapping=arabtex-\ax@font@allah-\ax@mode}#2}% \fi\egroup} @@ -1687,14 +1689,14 @@ François Charette \ifax@mode@defined% \ifx\@tempa\ax@mode@trans% {\ax@trans@style\addfontfeature{Mapping=arabtex-trans-\ax@trans@convention}#2}% - \else% + \else \ifx\@tempa\ax@mode@utf% - \RL{\ax@maghribi@font\addfontfeature{Mapping=arabicfixes} #2}%evtl {Mapping=arabtex-utf} - \else% + \RL{\ax@maghribi@font\utf@fontfeature #2}% + \else \RL{\ax@maghribi@font% \addfontfeature{Mapping=arabtex-\ax@font@allah-maghribi-\@tempa}#2}% - \fi\fi% - \else% + \fi\fi + \else \PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}% \RL{\ax@maghribi@font\addfontfeature{Mapping=arabtex-\ax@font@allah-maghribi-\ax@mode}#2}% \fi\egroup} @@ -1705,14 +1707,14 @@ François Charette \ifax@mode@defined% \ifx\@tempa\ax@mode@trans% {\ax@trans@style\addfontfeature{Mapping=arabtex-farsi-trans-\ax@trans@convention}#2}% - \else% + \else \ifx\@tempa\ax@mode@utf% - \RL{\ax@farsi@font\addfontfeature{Mapping=arabicfixes} #2}%evtl {Mapping=arabtex-utf} - \else% + \RL{\ax@farsi@font\utf@fontfeature #2}% + \else \RL{\ax@farsi@font% \addfontfeature{Mapping=arabtex-\ax@font@allah-farsi-\@tempa}#2}% - \fi\fi% - \else% + \fi\fi + \else \PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}% \RL{\ax@farsi@font\addfontfeature{Mapping=arabtex-\ax@font@allah-farsi-\ax@mode}#2}% \fi\egroup} @@ -1723,14 +1725,14 @@ François Charette \ifax@mode@defined% \ifx\@tempa\ax@mode@trans% {\ax@trans@style\addfontfeature{Mapping=arabtex-urdu-trans-\ax@trans@convention}#2}% - \else% + \else \ifx\@tempa\ax@mode@utf% \RL{\ax@urdu@font\addfontfeature{Language=Urdu}#2}%eventually Mapping=arabtex-utf - \else% + \else \RL{\ax@urdu@font% \addfontfeature{Mapping=arabtex-\ax@font@allah-urdu-\@tempa,Language=Urdu}#2}% - \fi\fi% - \else% + \fi\fi + \else \PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}% \RL{\ax@urdu@font\addfontfeature{Mapping=arabtex-\ax@font@allah-urdu-\ax@mode,Language=Urdu}#2}% \fi\egroup} @@ -1741,14 +1743,14 @@ François Charette \ifax@mode@defined% \ifx\@tempa\ax@mode@trans% {\ax@trans@style\addfontfeature{Mapping=arabtex-sindhi-trans-\ax@trans@convention}#2}% - \else% + \else \ifx\@tempa\ax@mode@utf% \RL{\ax@sindhi@font\addfontfeature{Language=Sindhi} #2}%eventually Mapping=arabtex-utf - \else% + \else \RL{\ax@sindhi@font% \addfontfeature{Mapping=arabtex-\ax@font@allah-sindhi-\@tempa,Language=Sindhi}#2}% - \fi\fi% - \else% + \fi\fi + \else \PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}% \RL{\ax@sindhi@font\addfontfeature{Mapping=arabtex-\ax@font@allah-sindhi-\ax@mode,Language=Sindhi}#2}% \fi\egroup} @@ -1759,14 +1761,14 @@ François Charette \ifax@mode@defined% \ifx\@tempa\ax@mode@trans% {\ax@trans@style\addfontfeature{Mapping=arabtex-pashto-trans-\ax@trans@convention}#2}% - \else% + \else \ifx\@tempa\ax@mode@utf% - \RL{\ax@pashto@font\addfontfeature{Mapping=arabicfixes} #2}%evtl {Mapping=arabtex-utf} - \else% + \RL{\ax@pashto@font\utf@fontfeature #2}% + \else \RL{\ax@pashto@font% \addfontfeature{Mapping=arabtex-\ax@font@allah-pashto-\@tempa}#2}% - \fi\fi% - \else% + \fi\fi + \else \PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}% \RL{\ax@pashto@font\addfontfeature{Mapping=arabtex-\ax@font@allah-pashto-\ax@mode}#2}% \fi\egroup} @@ -1778,14 +1780,14 @@ François Charette % UNCOMMENT when transliteration mapping is done %\ifx\@tempa\ax@mode@trans% % {\ax@trans@style\addfontfeature{Mapping=arabtex-turk-trans-\ax@trans@convention}#2}% - %\else% + %\else \ifx\@tempa\ax@mode@utf% - \RL{\ax@ottoman@font\addfontfeature{Mapping=arabicfixes} #2}%evtl {Mapping=arabtex-utf} - \else% + \RL{\ax@ottoman@font\utf@fontfeature #2}% + \else \RL{\ax@ottoman@font% \addfontfeature{Mapping=arabtex-\ax@font@allah-turk-\@tempa}#2}% - \fi%\fi% - \else% + \fi%\fi + \else \PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}% \RL{\ax@ottoman@font\addfontfeature{Mapping=arabtex-\ax@font@allah-turk-\ax@mode}#2}% \fi\egroup} @@ -1795,13 +1797,13 @@ François Charette % UNCOMMENT when transliteration mapping is done %\ifx\@tempa\ax@mode@trans% % {\ax@trans@style\addfontfeature{Mapping=arabtex-kurdish-trans-\ax@trans@convention}#2}% - %\else% + %\else \ifx\@tempa\ax@mode@utf% - \RL{\ax@kurdish@font\addfontfeature{Mapping=arabicfixes} #2}%evtl {Mapping=arabtex-utf} - \else% + \RL{\ax@kurdish@font\utf@fontfeature #2}% + \else \RL{\ax@kurdish@font% \addfontfeature{Mapping=arabtex-\ax@font@allah-kurdish,Language=Kurdish}#2}% - \fi%\fi% + \fi%\fi \egroup} \newcommand\text@kashmiri[2][\ax@mode]{% \edef\@tempa{#1}% @@ -1811,14 +1813,14 @@ François Charette % UNCOMMENT when transliteration mapping is done %\ifx\@tempa\ax@mode@trans% % {\ax@trans@style\addfontfeature{Mapping=arabtex-kashmiri-trans-\ax@trans@convention}#2}% - %\else% + %\else \ifx\@tempa\ax@mode@utf% - \RL{\ax@kashmiri@font\addfontfeature{Mapping=arabicfixes} #2}%evtl {Mapping=arabtex-utf} - \else% + \RL{\ax@kashmiri@font\utf@fontfeature #2}% + \else \RL{\ax@kashmiri@font% \addfontfeature{Mapping=arabtex-\ax@font@allah-kashmiri-\@tempa}#2}% - \fi%\fi% - \else% + \fi%\fi + \else \PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}% \RL{\ax@kashmiri@font\addfontfeature{Mapping=arabtex-\ax@font@allah-kashmiri-\ax@mode}#2}% \fi\egroup} @@ -1830,14 +1832,14 @@ François Charette % UNCOMMENT when transliteration mapping is done %\ifx\@tempa\ax@mode@trans% % {\ax@trans@style\addfontfeature{Mapping=arabtex-malay-trans-\ax@trans@convention}#2}% - %\else% + %\else \ifx\@tempa\ax@mode@utf% - \RL{\ax@malay@font\addfontfeature{Mapping=arabicfixes} #2}%evtl {Mapping=arabtex-utf} - \else% + \RL{\ax@malay@font\utf@fontfeature #2}% + \else \RL{\ax@malay@font% \addfontfeature{Mapping=arabtex-\ax@font@allah-malay-\@tempa}#2}% - \fi%\fi% - \else% + \fi%\fi + \else \PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \ax@mode}% \RL{\ax@malay@font\addfontfeature{Mapping=arabtex-\ax@font@allah-malay-\ax@mode}#2}% \fi\egroup} @@ -1847,39 +1849,26 @@ François Charette % UNCOMMENT when transliteration mapping is done %\ifx\@tempa\ax@mode@trans% % {\ax@trans@style\addfontfeature{Mapping=arabtex-uighur-trans-\ax@trans@convention}#2}% - %\else% + %\else \ifx\@tempa\ax@mode@utf% - \RL{\ax@uighur@font\addfontfeature{Mapping=arabicfixes} #2}%evtl {Mapping=arabtex-utf} - \else% + \RL{\ax@uighur@font\utf@fontfeature #2}% + \else \RL{\ax@uighur@font% \addfontfeature{Mapping=arabtex-\ax@font@allah-uighur}#2}% - \fi%\fi% + \fi%\fi \egroup} % \newcommand{\textLR}[1]{\LR{\rmfamily #1}} \newcommand{\aemph}[1]{% \edef\@tempb{\expandafter\noexpand\csname text\ax@lang\endcsname}% $\overline{\text{\@tempb{#1}}}$} -% -% experimental: this surely does not work! -% I want a mechanism to enable defining commands that accept args containing \arabtex@codes -%\def\newarabxetexcommand#1#2{% -% \edef\ax@tcomm@nd{\expandafter\relax\csname #1@\endcsname} -% \expandafter\def\string#1{% -% \bgroup\arabtex@codes\ax@tcomm@nd} -% \def\ax@tcomm@nd{#2\egroup}} % \end{macrocode} % %\iffalse %</package> %\fi % -% \subsection{Some notes on the TECkit mappings} -% -% \texttt{TO BE DONE \dots} -% -% -% ^^A\section{Unicode Matters} ---> TODO CONTACT ROOZBEH ABOUT THIS +% ^^A\section{Unicode Matters} % ^^A % ^^ASome glyphs are missing in Unicode: % ^^A @@ -1980,9 +1969,6 @@ François Charette \defaultfontfeatures{Scale=MatchLowercase} \setmonofont{Inconsolata}%{Latin Modern Typewriter Proportional}%{Luxi Mono}%{Courier New} \setsansfont{Lucida Sans Unicode} -%\setmathrm{Optima Regular} -%\setboldmathrm[BoldFont=Optima ExtraBlack]{Optima Bold} -%\defaultfontfeatures{Mapping=tex-text} \newfontfamily\arabicfont[Script=Arabic,Scale=1.5]{Scheherazade} \newfontfamily\urdufont[Script=Arabic,Scale=1.2]{Nafees Pakistani Naskh}%Nafees Nastaleeq does not work well \newfontfamily\farsifont[Script=Arabic,Scale=1.33]{Farsi Simple Bold} @@ -1997,24 +1983,6 @@ François Charette \linespread{1.05} \frenchspacing -%\newenvironment{MYitemize}{% -%\renewcommand\labelitemi{\cdot}% -%\begin{list}{}{\setlength{\itemsep}{.15\parsep}}}% -%%\setlength{\labelwidth}{0pt}\setlength{\leftmargin}{0pt}\setlength{\itemindent}{0pt}} -%{\end{list}} -%\addtolength{\textheight}{3cm} -%\setlength{\leftmargin}{1cm} -%\setlength{\topmargin}{0cm} -%\newcommand{\Tarab}[2][black]{\textcolor{#1}{\textarab{ #2 }}} -%\newcommand{\Tfarsi}[2][black]{\textcolor{#1}{\textfarsi{ #2 }}} -%\newcommand{\Turdu}[2][black]{\textcolor{#1}{\texturdu{ #2 }}} -%\newcommand{\Tsindhi}[2][black]{\textcolor{#1}{\textsindhi{ #2 }}} -%\newcommand{\Tpashto}[2][black]{\textcolor{#1}{\textpashto{ #2 }}} -%\newcommand{\Tkashmiri}[2][black]{\textcolor{#1}{\textkashmiri{ #2 }}} -%\newcommand{\Tkurdish}[2][black]{\textcolor{#1}{\textkurdish{ #2 }}} -%\newcommand{\Tturk}[2][black]{\textcolor{#1}{\textturk{ #2 }}} -%\newcommand{\Tmalay}[2][black]{\textcolor{#1}{\textmalay{ #2 }}} -%\newcommand{\Tuighur}[2][black]{\textcolor{#1}{\textuighur{ #2 }}} %%% \def\GN{\bgroup\catcode`\_=11\relax\catcode`\^=11\relax\GNX} \def\GR{\bgroup\catcode`\_=11\relax\catcode`\^=11\relax\GRX} diff --git a/Master/texmf-dist/doc/xelatex/arabxetex/makemaps.pl b/Master/texmf-dist/source/xelatex/arabxetex/makemaps.pl index 231a6b5c8ea..231a6b5c8ea 100644..100755 --- a/Master/texmf-dist/doc/xelatex/arabxetex/makemaps.pl +++ b/Master/texmf-dist/source/xelatex/arabxetex/makemaps.pl diff --git a/Master/texmf-dist/tex/xelatex/arabxetex/arabxetex.sty b/Master/texmf-dist/tex/xelatex/arabxetex.sty index 6afba00b6aa..67e8391b58b 100644 --- a/Master/texmf-dist/tex/xelatex/arabxetex/arabxetex.sty +++ b/Master/texmf-dist/tex/xelatex/arabxetex.sty @@ -8,13 +8,13 @@ %% %% ____________________________ %% The arabxetex package -%% (C) 2007-2008 François Charette +%% © 2007–2010 François Charette %% License information appended %% %% \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{arabxetex} - [2008/07/16 v1.1.2 ArabTeX-like interface for XeLaTeX] + [2010/03/04 v1.1.4 ArabTeX-like interface for XeLaTeX] \DeclareOption{fullvoc}{\def\ax@mode{fullvoc}} \DeclareOption{voc}{\def\ax@mode{voc}} \DeclareOption{novoc}{\def\ax@mode{novoc}} @@ -22,6 +22,8 @@ \DeclareOption{utf}{\def\ax@mode{utf}} \DeclareOption{fdf2alif}{\def\ax@font@allah{fdf2alif}} \DeclareOption{fdf2noalif}{\def\ax@font@allah{fdf2noalif}} +\newif\ifmirror@punct\mirror@punctfalse +\DeclareOption{mirrorpunct}{\mirror@puncttrue} \ExecuteOptions{novoc,fdf2alif} \ProcessOptions \def\ax@mode@fullvoc{fullvoc} @@ -33,23 +35,23 @@ \def\ax@ismode@defined#1{% \ifcsname ax@mode@#1\endcsname% \ax@mode@definedtrue% -\else% +\else \ax@mode@definedfalse% \fi} \def\ax@lang{arab}%default language (for macros like \aemph) -\RequirePackage{bidi} \RequirePackage{amsmath}%because of macro \overline used in \aemph \RequirePackage{fontspec} -\AtBeginDocument{\ifdefined\arabicfont\relax\else% -\PackageWarning{arabxetex}{\string\arabicfont\ is not defined!^^JI will try to load Scheherazade}% -\newfontfamily\arabicfont[Script=Arabic,Scale=2]{Scheherazade}\fi -}% +\RequirePackage{bidi} +\AtBeginDocument{\ifdefined\arabicfont\relax\else +\PackageWarning{arabxetex}{\string\arabicfont\ is not defined!^^JI will try to load Scheherazade (scaled 1.5)}% +\newfontfamily\arabicfont[Script=Arabic,Scale=1.5]{Scheherazade}\fi}% \def\ax@trans@style{\itshape}% \newcommand{\SetTranslitStyle}[1]{\def\ax@trans@style{#1}} \newcommand{\SetTranslitConvention}[1]{\def\ax@trans@convention{#1}} \def\ax@trans@convention{loc}% Library of Congress is default \newcommand{\SetAllahWithAlif}{\def\ax@font@allah{fdf2alif}} \newcommand{\SetAllahWithoutAlif}{\def\ax@font@allah{fdf2noalif}} +\def\utf@fontfeature{\ifmirror@punct\addfontfeature{Mapping=mirrorpunct}\else\relax\fi} \def\arabtex@codes{\catcode`^=11\relax\catcode`_=11\relax} \def\UC{\char"E000} % This is used to capitalize the following letter (ignoring % article al-) in transliteration mode @@ -74,14 +76,14 @@ \ifx\@tempa\ax@mode@trans% \par\arabtex@codes\ax@trans@style% \addfontfeature{Mapping=arabtex-trans-\ax@trans@convention}% -\else% +\else \ifx\@tempa\ax@mode@utf% -\par\setRL\arabicfont\addfontfeature{Mapping=arabicfixes}% -\else% +\par\setRL\arabicfont\utf@fontfeature% +\else \par\setRL\arabicfont\arabtex@codes% \addfontfeature{Mapping=arabtex-\ax@font@allah-\@tempa}% -\fi\fi% -\else% +\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}% @@ -97,14 +99,14 @@ \ifx\@tempa\ax@mode@trans% \par\arabtex@codes\ax@trans@style% \addfontfeature{Mapping=arabtex-trans-\ax@trans@convention}% -\else% +\else \ifx\@tempa\ax@mode@utf% -\par\setRL\ax@maghribi@font\addfontfeature{Mapping=arabicfixes}% -\else% +\par\setRL\ax@maghribi@font\utf@fontfeature% +\else \par\setRL\ax@maghribi@font\arabtex@codes% \addfontfeature{Mapping=arabtex-\ax@font@allah-maghribi-\@tempa}% -\fi\fi% -\else% +\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}% @@ -119,14 +121,14 @@ \ifx\@tempa\ax@mode@trans% \par\arabtex@codes\ax@trans@style% \addfontfeature{Mapping=arabtex-farsi-trans-\ax@trans@convention}% -\else% +\else \ifx\@tempa\ax@mode@utf% -\par\setRL\ax@farsi@font\addfontfeature{Mapping=arabicfixes}% -\else% +\par\setRL\ax@farsi@font\utf@fontfeature% +\else \par\setRL\ax@farsi@font\arabtex@codes% \addfontfeature{Mapping=arabtex-\ax@font@allah-farsi-\@tempa}% -\fi\fi% -\else% +\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}% @@ -142,14 +144,14 @@ \ifx\@tempa\ax@mode@trans% \par\arabtex@codes\ax@trans@style% \addfontfeature{Mapping=arabtex-urdu-trans-\ax@trans@convention}% -\else% +\else \ifx\@tempa\ax@mode@utf% \par\setRL\ax@urdu@font\addfontfeature{Language=Urdu}%Mapping=arabtex-utf}% -\else% +\else \par\setRL\ax@urdu@font\arabtex@codes% \addfontfeature{Mapping=arabtex-\ax@font@allah-urdu-\@tempa}% -\fi\fi% -\else% +\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}% @@ -164,14 +166,14 @@ \ifx\@tempa\ax@mode@trans% \par\arabtex@codes\ax@trans@style% \addfontfeature{Mapping=arabtex-pashto-trans-\ax@trans@convention}% -\else% +\else \ifx\@tempa\ax@mode@utf% -\par\setRL\ax@pashto@font\addfontfeature{Mapping=arabicfixes}% -\else% +\par\setRL\ax@pashto@font\utf@fontfeature% +\else \par\setRL\ax@pashto@font\arabtex@codes% \addfontfeature{Mapping=arabtex-\ax@font@allah-pashto-\@tempa}% -\fi\fi% -\else% +\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}% @@ -186,14 +188,14 @@ \ifx\@tempa\ax@mode@trans% \par\arabtex@codes\ax@trans@style% \addfontfeature{Mapping=arabtex-sindhi-trans-\ax@trans@convention}% -\else% +\else \ifx\@tempa\ax@mode@utf% \par\setRL\ax@sindhi@font\addfontfeature{Language=Sindhi}%Mapping=arabtex-utf}% -\else% +\else \par\setRL\ax@sindhi@font\arabtex@codes% \addfontfeature{Mapping=arabtex-\ax@font@allah-sindhi-\@tempa,Language=Sindhi}% -\fi\fi% -\else% +\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}% @@ -206,12 +208,12 @@ \ax@ismode@defined{\@tempa}% \ifax@mode@defined% \ifx\@tempa\ax@mode@utf% -\par\setRL\ax@ottoman@font\addfontfeature{Mapping=arabicfixes}% -\else% +\par\setRL\ax@ottoman@font\utf@fontfeature% +\else \par\setRL\ax@ottoman@font\arabtex@codes% \addfontfeature{Mapping=arabtex-\ax@font@allah-turk-\@tempa}% -\fi%\fi% -\else% +\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}% @@ -225,7 +227,7 @@ {\def\ax@lang{kurdish}% \ifx\@tempa\ax@mode@utf% \par\setRL\ax@kurdish@font\addfontfeature{Language=Kurdish}%Mapping=arabtex-utf}% -\else% +\else \par\setRL\ax@kurdish@font\arabtex@codes% \addfontfeature{Mapping=arabtex-\ax@font@allah-kurdish,Language=Kurdish}% \fi} @@ -239,12 +241,12 @@ \ax@ismode@defined{\@tempa}% \ifax@mode@defined% \ifx\@tempa\ax@mode@utf% -\par\setRL\ax@kashmiri@font\addfontfeature{Mapping=arabicfixes}% -\else% +\par\setRL\ax@kashmiri@font\utf@fontfeature% +\else \par\setRL\ax@kashmiri@font\arabtex@codes% \addfontfeature{Mapping=arabtex-\ax@font@allah-kashmiri-\@tempa}% -\fi%\fi% -\else% +\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}% @@ -259,12 +261,12 @@ \ax@ismode@defined{\@tempa}% \ifax@mode@defined% \ifx\@tempa\ax@mode@utf% -\par\setRL\ax@malay@font\addfontfeature{Mapping=arabicfixes}% -\else% +\par\setRL\ax@malay@font\utf@fontfeature% +\else \par\setRL\ax@malay@font\arabtex@codes% \addfontfeature{Mapping=arabtex-\ax@font@allah-malay-\@tempa}% -\fi%\fi% -\else% +\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}% @@ -278,8 +280,8 @@ {%\edef\@tempa{#1}% \def\ax@lang{uighur}% \ifx\@tempa\ax@mode@utf% -\par\setRL\ax@uighur@font\addfontfeature{Mapping=arabicfixes}% -\else% +\par\setRL\ax@uighur@font\utf@fontfeature% +\else \par\setRL\ax@uighur@font\arabtex@codes% \addfontfeature{Mapping=arabtex-\ax@font@allah-uighur}% \fi} @@ -309,13 +311,13 @@ \ifax@mode@defined% \ifx\@tempa\ax@mode@trans% {\ax@trans@style\addfontfeature{Mapping=arabtex-trans-\ax@trans@convention}#2}% -\else% +\else \ifx\@tempa\ax@mode@utf% -\RL{\arabicfont\addfontfeature{Mapping=arabicfixes} #2}% -\else% +\RL{\arabicfont\utf@fontfeature #2}% +\else \RL{\arabicfont\addfontfeature{Mapping=arabtex-\ax@font@allah-\@tempa}#2}% -\fi\fi% -\else% +\fi\fi +\else \PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}% \RL{\arabicfont\addfontfeature{Mapping=arabtex-\ax@font@allah-\ax@mode}#2}% \fi\egroup} @@ -326,14 +328,14 @@ \ifax@mode@defined% \ifx\@tempa\ax@mode@trans% {\ax@trans@style\addfontfeature{Mapping=arabtex-trans-\ax@trans@convention}#2}% -\else% +\else \ifx\@tempa\ax@mode@utf% -\RL{\ax@maghribi@font\addfontfeature{Mapping=arabicfixes} #2}%evtl {Mapping=arabtex-utf} -\else% +\RL{\ax@maghribi@font\utf@fontfeature #2}% +\else \RL{\ax@maghribi@font% \addfontfeature{Mapping=arabtex-\ax@font@allah-maghribi-\@tempa}#2}% -\fi\fi% -\else% +\fi\fi +\else \PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}% \RL{\ax@maghribi@font\addfontfeature{Mapping=arabtex-\ax@font@allah-maghribi-\ax@mode}#2}% \fi\egroup} @@ -344,14 +346,14 @@ \ifax@mode@defined% \ifx\@tempa\ax@mode@trans% {\ax@trans@style\addfontfeature{Mapping=arabtex-farsi-trans-\ax@trans@convention}#2}% -\else% +\else \ifx\@tempa\ax@mode@utf% -\RL{\ax@farsi@font\addfontfeature{Mapping=arabicfixes} #2}%evtl {Mapping=arabtex-utf} -\else% +\RL{\ax@farsi@font\utf@fontfeature #2}% +\else \RL{\ax@farsi@font% \addfontfeature{Mapping=arabtex-\ax@font@allah-farsi-\@tempa}#2}% -\fi\fi% -\else% +\fi\fi +\else \PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}% \RL{\ax@farsi@font\addfontfeature{Mapping=arabtex-\ax@font@allah-farsi-\ax@mode}#2}% \fi\egroup} @@ -362,14 +364,14 @@ \ifax@mode@defined% \ifx\@tempa\ax@mode@trans% {\ax@trans@style\addfontfeature{Mapping=arabtex-urdu-trans-\ax@trans@convention}#2}% -\else% +\else \ifx\@tempa\ax@mode@utf% \RL{\ax@urdu@font\addfontfeature{Language=Urdu}#2}%eventually Mapping=arabtex-utf -\else% +\else \RL{\ax@urdu@font% \addfontfeature{Mapping=arabtex-\ax@font@allah-urdu-\@tempa,Language=Urdu}#2}% -\fi\fi% -\else% +\fi\fi +\else \PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}% \RL{\ax@urdu@font\addfontfeature{Mapping=arabtex-\ax@font@allah-urdu-\ax@mode,Language=Urdu}#2}% \fi\egroup} @@ -380,14 +382,14 @@ \ifax@mode@defined% \ifx\@tempa\ax@mode@trans% {\ax@trans@style\addfontfeature{Mapping=arabtex-sindhi-trans-\ax@trans@convention}#2}% -\else% +\else \ifx\@tempa\ax@mode@utf% \RL{\ax@sindhi@font\addfontfeature{Language=Sindhi} #2}%eventually Mapping=arabtex-utf -\else% +\else \RL{\ax@sindhi@font% \addfontfeature{Mapping=arabtex-\ax@font@allah-sindhi-\@tempa,Language=Sindhi}#2}% -\fi\fi% -\else% +\fi\fi +\else \PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}% \RL{\ax@sindhi@font\addfontfeature{Mapping=arabtex-\ax@font@allah-sindhi-\ax@mode,Language=Sindhi}#2}% \fi\egroup} @@ -398,14 +400,14 @@ \ifax@mode@defined% \ifx\@tempa\ax@mode@trans% {\ax@trans@style\addfontfeature{Mapping=arabtex-pashto-trans-\ax@trans@convention}#2}% -\else% +\else \ifx\@tempa\ax@mode@utf% -\RL{\ax@pashto@font\addfontfeature{Mapping=arabicfixes} #2}%evtl {Mapping=arabtex-utf} -\else% +\RL{\ax@pashto@font\utf@fontfeature #2}% +\else \RL{\ax@pashto@font% \addfontfeature{Mapping=arabtex-\ax@font@allah-pashto-\@tempa}#2}% -\fi\fi% -\else% +\fi\fi +\else \PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}% \RL{\ax@pashto@font\addfontfeature{Mapping=arabtex-\ax@font@allah-pashto-\ax@mode}#2}% \fi\egroup} @@ -415,12 +417,12 @@ \ax@ismode@defined{\@tempa}% \ifax@mode@defined% \ifx\@tempa\ax@mode@utf% -\RL{\ax@ottoman@font\addfontfeature{Mapping=arabicfixes} #2}%evtl {Mapping=arabtex-utf} -\else% +\RL{\ax@ottoman@font\utf@fontfeature #2}% +\else \RL{\ax@ottoman@font% \addfontfeature{Mapping=arabtex-\ax@font@allah-turk-\@tempa}#2}% -\fi%\fi% -\else% +\fi%\fi +\else \PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}% \RL{\ax@ottoman@font\addfontfeature{Mapping=arabtex-\ax@font@allah-turk-\ax@mode}#2}% \fi\egroup} @@ -428,11 +430,11 @@ \edef\@tempa{#1}% \def\ax@lang{kurdish}% \ifx\@tempa\ax@mode@utf% -\RL{\ax@kurdish@font\addfontfeature{Mapping=arabicfixes} #2}%evtl {Mapping=arabtex-utf} -\else% +\RL{\ax@kurdish@font\utf@fontfeature #2}% +\else \RL{\ax@kurdish@font% \addfontfeature{Mapping=arabtex-\ax@font@allah-kurdish,Language=Kurdish}#2}% -\fi%\fi% +\fi%\fi \egroup} \newcommand\text@kashmiri[2][\ax@mode]{% \edef\@tempa{#1}% @@ -440,12 +442,12 @@ \ax@ismode@defined{\@tempa}% \ifax@mode@defined% \ifx\@tempa\ax@mode@utf% -\RL{\ax@kashmiri@font\addfontfeature{Mapping=arabicfixes} #2}%evtl {Mapping=arabtex-utf} -\else% +\RL{\ax@kashmiri@font\utf@fontfeature #2}% +\else \RL{\ax@kashmiri@font% \addfontfeature{Mapping=arabtex-\ax@font@allah-kashmiri-\@tempa}#2}% -\fi%\fi% -\else% +\fi%\fi +\else \PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \@ax@mode}% \RL{\ax@kashmiri@font\addfontfeature{Mapping=arabtex-\ax@font@allah-kashmiri-\ax@mode}#2}% \fi\egroup} @@ -455,12 +457,12 @@ \ax@ismode@defined{\@tempa}% \ifax@mode@defined% \ifx\@tempa\ax@mode@utf% -\RL{\ax@malay@font\addfontfeature{Mapping=arabicfixes} #2}%evtl {Mapping=arabtex-utf} -\else% +\RL{\ax@malay@font\utf@fontfeature #2}% +\else \RL{\ax@malay@font% \addfontfeature{Mapping=arabtex-\ax@font@allah-malay-\@tempa}#2}% -\fi%\fi% -\else% +\fi%\fi +\else \PackageWarning{arabxetex}{Mode \@tempa\ not defined, defaulting to \ax@mode}% \RL{\ax@malay@font\addfontfeature{Mapping=arabtex-\ax@font@allah-malay-\ax@mode}#2}% \fi\egroup} @@ -468,18 +470,18 @@ \edef\@tempa{#1}% \def\ax@lang{uighur}% \ifx\@tempa\ax@mode@utf% -\RL{\ax@uighur@font\addfontfeature{Mapping=arabicfixes} #2}%evtl {Mapping=arabtex-utf} -\else% +\RL{\ax@uighur@font\utf@fontfeature #2}% +\else \RL{\ax@uighur@font% \addfontfeature{Mapping=arabtex-\ax@font@allah-uighur}#2}% -\fi%\fi% +\fi%\fi \egroup} \newcommand{\textLR}[1]{\LR{\rmfamily #1}} \newcommand{\aemph}[1]{% \edef\@tempb{\expandafter\noexpand\csname text\ax@lang\endcsname}% $\overline{\text{\@tempb{#1}}}$} %% -%% Copyright (C) 2007-2008 by François Charette <firmicus at gmx dot net> +%% Copyright © 2007–2010 by François Charette <firmicus at gmx dot net> %% %% Distributable under the LaTeX Project Public License, %% version 1.3c or higher (your choice). The latest version of |