From a3cda3ac2c0da87f2cd937a6d3878b267493d31b Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sat, 11 Jun 2016 23:25:52 +0000 Subject: arabluatex (28may16) git-svn-id: svn://tug.org/texlive/trunk@41397 c570f23f-e606-0410-a88d-b1316a301751 --- .../doc/lualatex/arabluatex/arabluatex.pdf | Bin 296421 -> 311619 bytes .../source/lualatex/arabluatex/README.tex | 6 +- .../source/lualatex/arabluatex/arabluatex.dtx | 659 +++++++++++++-------- .../tex/lualatex/arabluatex/arabluatex.lua | 53 +- .../tex/lualatex/arabluatex/arabluatex.sty | 14 +- .../tex/lualatex/arabluatex/arabluatex_fullvoc.lua | 191 +++--- .../tex/lualatex/arabluatex/arabluatex_novoc.lua | 52 +- .../tex/lualatex/arabluatex/arabluatex_trans.lua | 101 +++- .../tex/lualatex/arabluatex/arabluatex_voc.lua | 185 +++--- 9 files changed, 780 insertions(+), 481 deletions(-) (limited to 'Master') diff --git a/Master/texmf-dist/doc/lualatex/arabluatex/arabluatex.pdf b/Master/texmf-dist/doc/lualatex/arabluatex/arabluatex.pdf index 7bc280a812c..2f635ceef74 100644 Binary files a/Master/texmf-dist/doc/lualatex/arabluatex/arabluatex.pdf and b/Master/texmf-dist/doc/lualatex/arabluatex/arabluatex.pdf differ diff --git a/Master/texmf-dist/source/lualatex/arabluatex/README.tex b/Master/texmf-dist/source/lualatex/arabluatex/README.tex index 982cddb2411..7a455acaa50 100644 --- a/Master/texmf-dist/source/lualatex/arabluatex/README.tex +++ b/Master/texmf-dist/source/lualatex/arabluatex/README.tex @@ -1,6 +1,6 @@ % The arabluatex package -- README file % Robert Alessi -% March 5, 2016 +% May 17, 2016 \documentclass{article} \usepackage{fontspec,luatextra} @@ -42,7 +42,7 @@ Alessi: \item email: \url{alessi@robertalessi.net} \item website: \url{http://www.robertalessi.net/arabluatex} \item comments, feature requests, bug reports: - \url{https://notabug.org/ralessi/arabluatex} + \url{http://issues.robertalessi.net} \end{itemize} This program is free software: you can redistribute it and/or modify @@ -103,7 +103,7 @@ instructions on how to install ArabLua\TeX, please see above. \subsection*{Comments, Feature requests, Bug Reports} \label{sec:comm-feat-requ} -\url{https://notabug.org/ralessi/arabluatex} +\url{http://issues.robertalessi.net} \subsection*{Download the repository} \label{sec:download-repository} diff --git a/Master/texmf-dist/source/lualatex/arabluatex/arabluatex.dtx b/Master/texmf-dist/source/lualatex/arabluatex/arabluatex.dtx index 098bc65cd8d..edefb867808 100644 --- a/Master/texmf-dist/source/lualatex/arabluatex/arabluatex.dtx +++ b/Master/texmf-dist/source/lualatex/arabluatex/arabluatex.dtx @@ -27,7 +27,7 @@ %\NeedsTeXFormat{LaTeX2e}[1999/12/01] %\ProvidesPackage{arabluatex} %<*package-info> - [2016/05/09 v1.2 This is ArabTeX for LuaLaTeX] + [2016/05/28 v1.3 This is ArabTeX for LuaLaTeX] % % %<*driver> @@ -131,12 +131,12 @@ \usepackage{dox} \doxitem{Option}{option}{options} \def\actualchar{ =} -\usepackage{fontspec,luatextra,realscripts} +\usepackage{fontspec,luatextra} \defaultfontfeatures{RawFeature={+liga;+onum;+hlig}} \setmainfont{Libertinus Serif} \setsansfont{Libertinus Sans} \setmonofont[Scale=.9]{Libertinus Mono} -\usepackage{arabluatex}[2016/05/09] +\usepackage{arabluatex}[2016/05/28] \usepackage{varioref} \usepackage{hypdoc} \hypersetup{unicode=true, colorlinks, allcolors=blue, @@ -189,7 +189,7 @@ % % \fi % -% \CheckSum{316} +% \CheckSum{342} % % \CharacterTable % {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z @@ -271,7 +271,7 @@ % \item website: \url{http://www.robertalessi.net/arabluatex} % \item development: \url{http://git.robertalessi.net/arabluatex} % \item comments, feature requests, bug reports: -% \url{https://notabug.org/ralessi/arabluatex} +% \url{http://issues.robertalessi.net} % \end{compactitem} % % This program is free software: you can redistribute it and/or modify @@ -448,9 +448,10 @@ % corresponding \arb[trans]{tanwIn} (\arb{BuN}, \arb{B|aN}\,, % \arb{TaN}, \arb{BaN_A} or \arb{BiN}) is generated. Finally, \meta{u, % a, i} at the commencement of a word indicate a \enquote{connective -% \arb[trans]{'alif}\,} (\arb[trans]{'alifu 'l-wa.sli}), but |voc| mode -% does not show the \arb[trans]{wa.slaT} above the \arb[trans]{'alif}; -% instead, the accompanying vowel is expressed (\arb{u a i}). +% \arb[trans]{'alif}\,} (\arb[trans]{'alifu 'l-wa.sli}), but |voc| +% mode does not show the \arb[trans]{wa.slaT} above the +% \arb[trans]{'alif}; instead, the accompanying vowel may be expressed +% at the beginning of a sentence (\arb{u} \arb{a} \arb{i}). % % \DescribeOption{fullvoc}\\ \label{fullvoc-mode}In addition to what % the |voc| mode does, |fullvoc| expresses the \arb[trans]{sukUn} and @@ -509,20 +510,20 @@ % \item \cs{SetArbDflt}: % \begin{compactenum}[i.] % \item |voc| \arb[voc]{wa-mAta istisqA'aN qabla 'an yutimma -% kitAba-hu fI nujUmi 'l-samA'i} +% kitAba-hu fI nujUm-i 'l-samA'-i} % \item |fullvoc| \arb[fullvoc]{wa-mAta istisqA'aN qabla 'an yutimma -% kitAba-hu fI nujUmi 'l-samA'i} +% kitAba-hu fI nujUm-i 'l-samA'-i} % \item |trans| \arb[trans]{wa-mAta istisqA'aN qabla 'an yutimma -% kitAba-hu fI nujUmi 'l-samA'i} +% kitAba-hu fI nujUm-i 'l-samA'-i} % \end{compactenum} % \item \cs{SetArbEasy}: % \begin{compactenum}[i.]\SetArbEasy % \item |voc| \arb[voc]{wa-mAta istisqA'aN qabla 'an yutimma -% kitAba-hu fI nujUmi 'l-samA'i} +% kitAba-hu fI nujUm-i 'l-samA'-i} % \item |fullvoc| \arb[fullvoc]{wa-mAta istisqA'aN qabla 'an yutimma -% kitAba-hu fI nujUmi 'l-samA'i} +% kitAba-hu fI nujUm-i 'l-samA'-i} % \item |trans| \arb[trans]{wa-mAta istisqA'aN qabla 'an yutimma -% kitAba-hu fI nujUmi 'l-samA'i}\SetArbDflt +% kitAba-hu fI nujUm-i 'l-samA'-i}\SetArbDflt % \end{compactenum} % \end{compactenum} % @@ -546,11 +547,11 @@ Please note that this document is typeset with \cs{SetArbDflt} throughout. \begin{arabluacode} From \textcite[i. 1 A]{Wright}:--- Arabic, like Hebrew and Syriac, is written and read from right to left. The letters -of the alphabet (\arb{.hurUfu 'l-hijA'i}, \arb{.hurUfu -'l-tahajjI}, \arb{al-.hurUfu 'l-hijA'iyyaTu}, or \arb{.hurUfu -'l-mu`jami}) are twenty-eight in number and are all -consonants, though three of them are also used as vowels -(see §~3). +of the alphabet (\arb{.hurUf-u 'l-hijA'-i}, \arb{.hurUf-u +'l-tahajjI}, \arb{al-.hurUf-u 'l-hijA'iyyaT-u}, or +\arb{.hurUf-u 'l-mu`jam-i}) are twenty-eight in number and +are all consonants, though three of them are also used as +vowels (see §~3). \end{arabluacode} % \iffalse % @@ -579,15 +580,15 @@ consonants, though three of them are also used as vowels \begin{arab} 'at_A .sadIquN 'il_A ju.hA ya.tlubu min-hu .himAra-hu li-yarkaba-hu fI safraTiN qa.sIraTiN. wa-qAla la-hu: - \enquote{sawfa 'u`Idu-hu 'ilay-ka fI 'l-masA'i + \enquote{sawfa 'u`Idu-hu 'ilay-ka fI 'l-masA'-i wa-'adfa`u la-ka 'ujraTaN.} fa-qAla ju.hA: \enquote{'anA 'AsifuN jiddaN 'annI lA 'asta.tI`u 'an - 'u.haqqiqa la-ka .garbata-ka fa-'l-.himAru laysa hunA - 'l-yawma.} wa-qabla 'an yutimma ju.hA kalAma-hu bada'a - 'l-.himAru yanhaqu fI 'i.s.tabili-hi. fa-qAla la-hu + 'u.haqqiqa la-ka .garbata-ka fa-'l-.himAr-u laysa hunA + 'l-yawm-a.} wa-qabla 'an yutimma ju.hA kalAma-hu bada'a + 'l-.himAr-u yanhaqu fI 'i.s.tabili-hi. fa-qAla la-hu .sadIqu-hu: \enquote{'innI 'asma`u .himAra-ka yA ju.hA yanhaqu.} fa-qAla la-hu ju.hA: \enquote{.garIbuN - 'amru-ka yA .sadIqI 'a-tu.saddiqu 'l-.himAra + 'amru-ka yA .sadIqI 'a-tu.saddiqu 'l-.himAr-a wa-tuka_d_dibu-nI?} \end{arab} \end{arabluacode} @@ -694,7 +695,7 @@ consonants, though three of them are also used as vowels % \arb[novoc]{A} & \dmg{A} & \loc{A} & \verb|A| \\ % \arb[novoc]{U} & \dmg{U} & \loc{U} & \verb|U| \\ % \arb[novoc]{I} & \dmg{I} & \loc{I} & \verb|I| \\ -% \arb[novoc]{_A}\footnote{$=$ \arb[trans]{al-'alifu 'l-maq.sUraTu}.} +% \arb[novoc]{_A}\footnote{$=$ \arb[trans]{al-'alif-u 'l-maq.sUraT-u}.} % & \dmg{_A} & \loc{_A} & \verb|_A| or \verb|Y| \\ % \arb[novoc]{B_a} & \dmg{B_a} & \loc{B_a} & \verb|_a| \\ % \arb[novoc]{B_u} & \dmg{B_u} & \loc{B_u} & \verb|_u| \\ @@ -705,8 +706,8 @@ consonants, though three of them are also used as vowels % % \begin{quoting} % \textsc{Rem.}~\emph{a.} The long vowels \arb[trans]{A, U, I}, -% otherwise called \arb[trans]{.hurUfu 'l-maddi}, \emph{the letters -% of prolongation}, involve the placing of the short vowels +% otherwise called \arb[trans]{.hurUf-u 'l-madd-i}, \emph{the +% letters of prolongation}, involve the placing of the short vowels % \arb[trans]{Ba, Bu, Bi} before the letters \arb[novoc]{A}, % \arb[novoc]{U}, \arb[novoc]{I} respectively. \package{arabluatex} % does that automatically in case any from |voc|, |fullvoc| or @@ -715,13 +716,13 @@ consonants, though three of them are also used as vowels % \arb[trans]{yaqUlu}. % % \textsc{Rem.}~\emph{b.} Defective writings, such as -% \arb[novoc]{B_a}, \arb[trans]{al-'alifu 'l-ma.h_dUfaTu}, or +% \arb[novoc]{B_a}, \arb[trans]{al-'alif-u 'l-ma.h_dUfaT-u}, or % defective writings of \arb[trans]{B_u} and \arb[trans]{B_i} are % encoded |_a| |_u| and |_i| respectively, e.g. |_d_alika| -% \arb[voc]{_d_alika}, |al-mal_a'ikaTu| |'l-ra.hm_anu| -% \arb[voc]{al-mal_a'ikaTu 'l-ra.hm_anu}, |.hu_dayfaTu| |bnu| -% |'l-yamAn_i| \arb[fullvoc]{.hu_dayfaTu bnu 'l-yamAn_i} for -% \arb[trans]{\cap{.hu_dayfaTu} bnu 'l-\cap{yamAn_i}}, etc. +% \arb[voc]{_d_alika}, |al-mal_a'ikaT-u| |'l-ra.hm_an-u| +% \arb[voc]{al-mal_a'ikaT-u 'l-ra.hm_an-u}, |.hu_dayfaT-u| |bn-u| +% |'l-yamAn_i| \arb[fullvoc]{.hu_dayfaT-u bn-u 'l-yamAn_i} for +% \arb[trans]{\cap{.hu_dayfaT-u} bn-u 'l-\cap{yamAn_i}}, etc. % \end{quoting} % % \subsubsection{Short vowels} @@ -815,7 +816,7 @@ consonants, though three of them are also used as vowels % \end{quote} % % \paragraph{\arb[trans]{'alif} \emph{otiosum}} Said -% \arb[trans]{'alifu 'l-wiqAyaTi}, \enquote{the guarding +% \arb[trans]{'alif-u 'l-wiqAyaT-i}, \enquote{the guarding % \arb[trans]{'alif}}\,, after \arb[novoc]{U} at the end of a word, both % when preceded by \arb[trans]{.dammaT} and by \arb[trans]{fat.haT} is % written \meta{UA} or \meta{aW, aWA}: @@ -830,16 +831,17 @@ consonants, though three of them are also used as vowels % \paragraph{\arb[trans]{'alif ma.h_dUfaT} and defective \arb[trans]{U, % I}} They are written \meta{\_a, \_i \_u}: % \begin{quote} -% |al-l_ahu| \arb[voc]{al-l_ahu} \arb[trans]{al-l_ahu}, |'il_ahuN| -% \arb[voc]{'il_ahuN} \arb[trans]{'il_ahuN}. -% -% |al-ra.hm_anu| \arb[voc]{al-ra.hm_anu} \arb[trans]{al-ra.hm_anu}, -% |l_akin| \arb[voc]{l_akin} \arb[trans]{l_akin}, |h_ahunA| -% \arb[voc]{h_ahunA} \arb[trans]{h_ahunA}, |.hunaynu| |bnu| -% |'is.h_aqa| \arb[voc]{.hunaynu bnu 'is.h_aqa} -% \arb[trans]{\cap{.hunaynu} bnu \cap{'is.h_aqa}}, |rabb_i| -% \arb[voc]{rabb_i} \arb[trans]{rabb_i}, |al-`A.s_i| -% \arb[voc]{al-`A.s_i} \arb[trans]{al-\cap{`A.s_i}}. +% |al-l_ah-u| \arb[voc]{al-l_ah-u} \arb[trans]{al-l_ah-u}, +% |'il_ahuN| \arb[voc]{'il_ahuN} \arb[trans]{'il_ahuN}. +% +% |al-ra.hm_an-u| \arb[voc]{al-ra.hm_an-u} +% \arb[trans]{al-ra.hm_an-u}, |l_akin| \arb[voc]{l_akin} +% \arb[trans]{l_akin}, |h_ahunA| \arb[voc]{h_ahunA} +% \arb[trans]{h_ahunA}, |.hunayn-u| |bn-u| |'is.h_aq-a| +% \arb[voc]{.hunayn-u bn-u 'is.h_aq-a} \arb[trans]{\cap{.hunayn}-u +% bn-u \cap{'is.h_aq-a}}, |rabb_i| \arb[voc]{rabb_i} +% \arb[trans]{rabb_i}, |al-`A.s_i| \arb[voc]{al-`A.s_i} +% \arb[trans]{al-\cap{`A.s_i}}. % \end{quote} % % \paragraph{Silent \arb[novoc]{U}/\arb[novoc]{I}} @@ -856,13 +858,13 @@ consonants, though three of them are also used as vowels % |mi^sk_aUTuN| \arb[voc]{mi^sk_aUTuN} \arb[trans]{mi^sk_aUTuN}, % |tawr_aITuN| \arb[voc]{tawr_aITuN} \arb[trans]{tawr_aITuN}. % -% And so also: |al-rib_aITu| \arb[voc]{al-rib_aITu}. -% \arb[trans]{al-rib_aITu} +% And so also: |al-rib_aIT-u| \arb[voc]{al-rib_aIT-u} +% \arb[trans]{al-rib_aIT-u}. % \end{quote} % % \paragraph{\arb[trans]{\cap{`amruNU}}, and the silent % \arb[novoc]{U}} To that name a silent \arb[novoc]{U} is added to -% distinguish it from \arb[trans]{\cap{`umaruN}}: see \textcite[i. 12 +% distinguish it from \arb[trans]{\cap{`umar-u}}: see \textcite[i. 12 % C]{Wright}. In no way this affects the sound of the % \arb[trans]{tanwIn}, so it has to be discarded in |trans| mode: % \begin{quote} @@ -870,12 +872,13 @@ consonants, though three of them are also used as vowels % \arb[voc]{`amraNU} \arb[trans]{`amraNU}, |`amriNU| % \arb[voc]{`amriNU} \arb[trans]{`amriNU}. % -% When the \arb[trans]{tanwIn} falls away \parencite[i. 249 -% B]{Wright}: |`amruU| |bnu| |mu.hammadiN| \arb[fullvoc]{`amruU bnu -% mu.hammadiN} \arb[trans]{\cap{`amruU} bnu \cap{mu.hammadiN}}, -% |mu.hammadu| |bnu| |`amriU| |bni| |_hAlidiN| -% \arb[fullvoc]{mu.hammadu bnu `amriU bni _hAlidiN} -% \arb[trans]{\cap{mu.hammadu} bnu \cap{`amriU} bni \cap{_hAlidiN}}. +% When the \arb[trans]{tanwIn} falls away \parencite[i. 249 +% B]{Wright}: |`amr-uU| |bn-u| |mu.hammadiN| \arb[fullvoc]{`amr-uU +% bnu mu.hammadiN} \arb[trans]{\cap{`amr-uU} bn-u +% \cap{mu.hammadiN}}, |mu.hammad-u| |bn-u| |`amr-iU| |bn-i| +% |_hAlidiN| \arb[fullvoc]{mu.hammad-u bn-u `amr-iU bn-i _hAlidiN} +% \arb[trans]{\cap{mu.hammad-u} bn-u \cap{`amr-iU} bn-i +% \cap{_hAlidiN}}. % % And so also: |al-rib_aUA| \arb[voc]{al-rib_aUA} % \arb[trans]{al-rib_aUA}, |ribaNU| \arb[voc]{ribaNU} @@ -903,6 +906,17 @@ consonants, though three of them are also used as vowels % \arb[voc]{^say'iN} \arb[trans]{^say'iN}. % \end{quote} % +% In some cases, it may be useful to mark the root form of defective +% words so as to produce a more accurate transliteration of ending +% \arb[trans]{tanwIn}. As seen above, \arb[trans]{tanwIn} preceding +% \arb[novoc]{_A} is written \meta{aN\_A} or \meta{aNY}. Such forms as +% \arb[voc]{qA.diNI} may likewise be written \meta{iNI}:--- +% \begin{quote} +% |al-qA.dI| \arb[voc]{al-qA.dI} \arb[trans]{al-qA.dI}, |qA.diyaN| +% \arb[voc]{qA.diyaN} \arb[trans]{qA.diyaN}, |qA.diNI| +% \arb[voc]{qA.diNI} \arb[trans]{qA.diNI}. +% \end{quote} +% % \subsection{Other orthographic signs} % \paragraph{\arb[trans]{tA' marbU.taT}} % It is written \meta{T}: @@ -934,8 +948,8 @@ consonants, though three of them are also used as vowels % encoded |'_I|: |'_ImAnuN| \arb[voc]{'_ImAnuN} % \arb[trans]{'_ImAnuN}. % -% \textbf{Middle \arb[trans]{hamzaT}}: |xA.ti'Ina| -% \arb[voc]{xA.ti'Ina} \arb[trans]{xA.ti'Ina}, |ru'UsuN| +% \textbf{Middle \arb[trans]{hamzaT}}: |xA.ti'-Ina| +% \arb[voc]{xA.ti'-Ina} \arb[trans]{xA.ti'-Ina}, |ru'UsuN| % \arb[voc]{ru'UsuN}, \arb[trans]{ru'UsuN}, |xa.tI'aTuN| % \arb[voc]{xa.tI'aTuN} \arb[trans]{xa.tI'aTuN}, |su'ila| % \arb[voc]{su'ila} \arb[trans]{su'ila}, |'as'ilaTuN| @@ -977,13 +991,13 @@ consonants, though three of them are also used as vowels % % |^say'uN| \arb[voc]{^say'uN} \arb[trans]{^say'uN}, |^say'aN| % \arb[voc]{^say'aN} \arb[trans]{^say'aN}, |^say'iN| -% \arb[voc]{^say'iN} \arb[trans]{^say'iN}, |al-^say'u| -% \arb[voc]{al-^say'u} \arb[trans]{al-^say'u}, |'a^syA'u| -% \arb[voc]{'a^syA'u} \arb[trans]{'a^syA'u}, |'a^syA'a| -% \arb[voc]{'a^syA'a} \arb[trans]{'a^syA'a}, |.zim'aN| \arb[voc]{.zim'aN} -% \arb[trans]{.zim'aN}. +% \arb[voc]{^say'iN} \arb[trans]{^say'iN}, |al-^say'-u| +% \arb[voc]{al-^say'-u} \arb[trans]{al-^say'-u}, |'a^syA'-u| +% \arb[voc]{'a^syA'-u} \arb[trans]{'a^syA'-u}, |'a^syA'-a| +% \arb[voc]{'a^syA'-a} \arb[trans]{'a^syA'-a}, |.zim'aN| +% \arb[voc]{.zim'aN} \arb[trans]{.zim'aN}. % -% \textbf{\arb[trans]{ta_hfIfu 'l-hamzaTi}}: if the +% \textbf{\arb[trans]{ta_hfIf-u 'l-hamzaT-i}}: if the % \arb[trans]{hamzaT} has \arb[trans]{jazmaT} and is preceded by % \emph{\arb[trans]{'alif} hamzatum}, it must be changed into the % letter of prolongation that is homogeneous with the preceding @@ -1016,14 +1030,14 @@ consonants, though three of them are also used as vowels % % \fi % -% \package{arabluatex} otherwise determines \arb[trans]{al-'alifu -% 'l-mamdUdaTu} by context analysis. +% \package{arabluatex} otherwise determines \arb[trans]{al-'alif-u +% 'l-mamdUdaT-u} by context analysis. % % \begin{quote} % |'is'AduN| \arb[voc]{'is'AduN} \arb[trans]{'is'AduN}, |'AkilUna| % \arb[voc]{'AkilUna} \arb[trans]{'AkilUna}, |'a'mannA| -% \arb[voc]{'a'mannA} \arb[trans]{'a'mannA}, |al-qur'Anu| -% \arb[voc]{al-qur'Anu} \arb[trans]{al-qur'Anu}. +% \arb[voc]{'a'mannA} \arb[trans]{'a'mannA}, |al-qur'An-u| +% \arb[voc]{al-qur'An-u} \arb[trans]{al-qur'An-u}. % % |jA'a| \arb[voc]{jA'a} \arb[trans]{jA'a}, |yatasA'alUna| % \arb[voc]{yatasA'alUna} \arb[trans]{yatasA'alUna}, |ridA'uN| @@ -1064,18 +1078,19 @@ consonants, though three of them are also used as vowels \package{arabluatex} \emph{never requires the solar letter to be written twice}, as it automatically generates the euphonic \arb[trans]{ta^sdId} above the letter that carries it, whether the - article be written in the assimilated form or not, e.g. |al-^samsu| - \arb[voc]{al-^samsu} \arb[trans]{al-^samsu}, or |a^s-^samsu| - \arb[voc]{a^s-^samsu} \arb[trans]{a^s-^samsu}. + article be written in the assimilated form or not, e.g. |al-^sams-u| + \arb[voc]{al-^sams-u} \arb[trans]{al-^sams-u}, or |a^s-^sams-u| + \arb[voc]{a^s-^sams-u} \arb[trans]{a^s-^sams-u}. \end{arabluacode} % \iffalse % % \fi % \begin{quote} -% |al-tamru| \arb[voc]{al-tamru} \arb[trans]{al-tamru}, -% |al-ra.hm_anu| \arb[voc]{al-ra.hm_anu} \arb[trans]{al-ra.hm_anu}, -% |al-.zulmu| \arb[voc]{al-.zulmu} \arb[trans]{al-.zulmu}, -% |al-lu.gaTu| \arb[voc]{al-lu.gaTu} \arb[trans]{al-lu.gaTu}. +% |al-tamr-u| \arb[voc]{al-tamr-u} \arb[trans]{al-tamr-u}, +% |al-ra.hm_an-u| \arb[voc]{al-ra.hm_an-u} +% \arb[trans]{al-ra.hm_an-u}, |al-.zulm-u| \arb[voc]{al-.zulm-u} +% \arb[trans]{al-.zulm-u}, |al-lu.gaT-u| \arb[voc]{al-lu.gaT-u} +% \arb[trans]{al-lu.gaT-u}. % \end{quote} % \item \label{ref:assimilation} With the letters \arb[novoc]{r}, % \arb[novoc]{l}, \arb[novoc]{m}, \arb[novoc]{w}, \arb[novoc]{y} @@ -1101,15 +1116,15 @@ consonants, though three of them are also used as vowels % grammarians \parencite[see][i. 16 B--C]{Wright}. % \end{compactenum} % -% \paragraph{The definite article and the \arb[trans]{'alifu 'l-wa.sli}} -% At the beginning of a sentence, \txarb{\char"0671} is never written, -% as \arb[fullvoc]{'l-.hamdu li-ll_ahi}; instead, to indicate that the -% \arb[trans]{'alif} is a connective \arb[trans]{'alif} -% (\arb[trans]{'alifu 'l-wa.sli}), the \arb[trans]{hamzaT} is omitted -% and only its accompanying vowel is expressed: +% \paragraph{The definite article and the \arb[trans]{'alif-u 'l-wa.sl-i}} +% At the beginning of a sentence, \arb[fullvoc]{"a} is never written, +% as \arb[fullvoc]{'l-.hamd-u li-ll_ah-i}; instead, to indicate that +% the \arb[trans]{'alif} is a connective \arb[trans]{'alif} +% (\arb[trans]{'alif-u 'l-wa.sl-i}), the \arb[trans]{hamzaT} is +% omitted and only its accompanying vowel is expressed: % \begin{quote} -% |al-.hamdu| |li-l-l_ahi| \arb[fullvoc]{al-.hamdu li-l-l_ahi} -% \arb[trans]{al-.hamdu li-l-l_ahi}. +% |al-.hamd-u| |li-l-l_ah-i| \arb[fullvoc]{al-.hamd-u li-l-l_ah-i} +% \arb[trans]{al-.hamd-u li-l-l_ah-i}. % \end{quote} % As said above on \cpageref{fullvoc-mode}, |fullvoc| is the mode % in which \package{arabluatex} expresses the \arb[trans]{sukUn} and @@ -1129,41 +1144,42 @@ consonants, though three of them are also used as vowels % \arb[trans]{hamzaT}: \meta{u, a, i}. % \end{compactenum} % \begin{quote} -% \textbf{Article}: |bAbu| |'l-madrasaTi| \arb[fullvoc]{bAbu -% 'l-madrasaTi} \arb[trans]{bAbu 'l-madrasaTi}, |al-maqAlaTu| -% |'l-'_Ul_A| \arb[fullvoc]{al-maqAlaTu 'l-'_Ul_A} -% \arb[trans]{al-maqAlaTu 'l-'_Ul_A}, |al-lu.gaTu| |'l-`arabiyyaTu| -% \arb[fullvoc]{al-lu.gaTu 'l-`arabiyyaTu} \arb[trans]{al-lu.gaTu -% 'l-`arabiyyaTu}, |fI| |.sinA`aTi| |'l-.tibbi| \arb[fullvoc]{fI -% .sinA`aTi 'l-.tibbi} \arb[trans]{fI .sinA`aTi 'l-.tibbi}, |'il_A| -% |'l-intiqA.di| \arb[fullvoc]{'il_A 'l-intiqA.di} \arb[trans]{'il_A -% 'l-intiqA.di}, |fI| |'l-ibtidA'i| \arb[fullvoc]{fI 'l-ibtidA'i} -% \arb[trans]{fI 'l-ibtidA'i}, |'abU| |'l-wazIri| \arb[fullvoc]{'abU -% 'l-wazIri} \arb[trans]{'abU 'l-wazIri}, |fa-lammA| |ra'aW| -% |'l-najma| \arb[fullvoc]{fa-lammA ra'aW 'l-najma} -% \arb[trans]{fa-lammA ra'aW 'l-najma}. +% \textbf{Article}: |bAb-u| |'l-madrasaT-i| \arb[fullvoc]{bAb-u +% 'l-madrasaT-i} \arb[trans]{bAb-u 'l-madrasaT-i}, |al-maqAlaT-u| +% |'l-'_Ul_A| \arb[fullvoc]{al-maqAlaT-u 'l-'_Ul_A} +% \arb[trans]{al-maqAlaT-u 'l-'_Ul_A}, |al-lu.gaT-u| +% |'l-`arabiyyaT-u| \arb[fullvoc]{al-lu.gaT-u 'l-`arabiyyaT-u} +% \arb[trans]{al-lu.gaT-u 'l-`arabiyyaT-u}, |fI| |.sinA`aT-i| +% |'l-.tibb-i| \arb[fullvoc]{fI .sinA`aT-i 'l-.tibb-i} +% \arb[trans]{fI .sinA`aT-i 'l-.tibb-i}, |'il_A| |'l-intiqA.d-i| +% \arb[fullvoc]{'il_A 'l-intiqA.d-i} \arb[trans]{'il_A +% 'l-intiqA.d-i}, |fI| |'l-ibtidA'-i| \arb[fullvoc]{fI 'l-ibtidA'-i} +% \arb[trans]{fI 'l-ibtidA'-i}, |'abU| |'l-wazIr-i| +% \arb[fullvoc]{'abU 'l-wazIr-i} \arb[trans]{'abU 'l-wazIr-i}, +% |fa-lammA| |ra'aW| |'l-najm-a| \arb[fullvoc]{fa-lammA ra'aW +% 'l-najm-a} \arb[trans]{fa-lammA ra'aW 'l-najm-a}. % % \textbf{Particles}:--- % \begin{compactenum}[(a)] -% \item \arb[trans]{li-}: \arb[trans]{'alifu 'l-wa.sli} is omitted +% \item \arb[trans]{li-}: \arb[trans]{'alif-u 'l-wa.sl-i} is omitted % in the article \arb[fullvoc]{al} when it is preceded by the -% preposition \arb[fullvoc]{li}: |li-l-rajuli| -% \arb[fullvoc]{li-l-rajuli} -% \arb[trans]{li-l-rajuli}.\\ +% preposition \arb[fullvoc]{li}: |li-l-rajul-i| +% \arb[fullvoc]{li-l-rajul-i} +% \arb[trans]{li-l-rajul-i}.\\ % If the first letter of the noun be \arb[novoc]{l}, then the % \arb[novoc]{l} of the article also falls away, but -% \package{arabluatex} is aware of that: |li-l-laylaTi| -% \arb[fullvoc]{li-l-laylaTi} \arb[trans]{li-l-laylaTi}. +% \package{arabluatex} is aware of that: |li-l-laylaT-i| +% \arb[fullvoc]{li-l-laylaT-i} \arb[trans]{li-l-laylaT-i}. % \item \arb[trans]{la-}: the same applies to the affirmative -% particle \arb[fullvoc]{la}: |la-l-.haqqu| -% \arb[fullvoc]{la-l-.haqqu} \arb[trans]{la-l-.haqqu}. -% \item With the other particles, \arb[trans]{'alifu 'l-wa.sli} is -% expressed: |fI| |'l-madInaTi| \arb[fullvoc]{fI 'l-madInaTi} -% \arb[trans]{fI 'l-madInaTi}, |wa-'l-rajulu| -% \arb[fullvoc]{wa-'l-rajulu} \arb[trans]{wa-'l-rajulu}, -% |bi-'l-qalami| \arb[fullvoc]{bi-'l-qalami} -% \arb[trans]{bi-'l-qalami}, |bi-'l-ru`bi| -% \arb[fullvoc]{bi-'l-ru`bi} \arb[trans]{bi-'l-ru`bi}. +% particle \arb[fullvoc]{la}: |la-l-.haqq-u| +% \arb[fullvoc]{la-l-.haqq-u} \arb[trans]{la-l-.haqq-u}. +% \item With the other particles, \arb[trans]{'alif-u 'l-wa.sl-i} is +% expressed: |fI| |'l-madInaT-i| \arb[fullvoc]{fI 'l-madInaT-i} +% \arb[trans]{fI 'l-madInaT-i}, |wa-'l-rajul-u| +% \arb[fullvoc]{wa-'l-rajul-u} \arb[trans]{wa-'l-rajul-u}, +% |bi-'l-qalam-i| \arb[fullvoc]{bi-'l-qalam-i} +% \arb[trans]{bi-'l-qalam-i}, |bi-'l-ru`b-i| +% \arb[fullvoc]{bi-'l-ru`b-i} \arb[trans]{bi-'l-ru`b-i}. % \end{compactenum} % % \textbf{Perfect active, imperative, nomen actionis}: |qAla| @@ -1172,70 +1188,80 @@ consonants, though three of them are also used as vowels % |inhazama| \arb[fullvoc]{huwa inhazama} \arb[trans]{huwa % inhazama}, |wa-ustu`mila| \arb[fullvoc]{wa-ustu`mila} % \arb[trans]{wa-ustu`mila}, |qad-i| |in.sarafa| \arb[fullvoc]{qadi -% in.sarafa} \arb[trans]{qadi in.sarafa}, |al-iqtidAru| -% \arb[fullvoc]{al-iqtidAru} \arb[trans]{al-iqtidAru}, |'il_A| -% |'l-intiqA.di| \arb[fullvoc]{'il_A 'l-intiqA.di} \arb[trans]{'il_A -% 'l-intiqA.di}, |lawi| |istaqbala| \arb[fullvoc]{lawi istaqbala} -% \arb[trans]{lawi istaqbala}. +% in.sarafa} \arb[trans]{qadi in.sarafa}, |al-iqtidAr-u| +% \arb[fullvoc]{al-iqtidAr-u} \arb[trans]{al-iqtidAr-u}, |'il_A| +% |'l-intiqA.d-i| \arb[fullvoc]{'il_A 'l-intiqA.d-i} +% \arb[trans]{'il_A 'l-intiqA.d-i}, |lawi| |istaqbala| +% \arb[fullvoc]{lawi istaqbala} \arb[trans]{lawi istaqbala}. % % \textbf{Other cases}: |'awi| |ismu-hu| \arb[fullvoc]{'awi ismu-hu} -% \arb[trans]{'awi ismu-hu}, |zayduN| |ibnu| |`amriNU| -% \arb[fullvoc]{\cap{z}ayduN ibnu \cap{`amriNU}} -% \arb[trans]{\cap{z}ayduN ibnu -% \cap{`amriNU}},\footnote{\enquote{Zayd is the son of ʿAmr}: the -% second noun is not in apposition to the first, but forms part of -% the predicate. Hence \arb[voc]{zayduN ibnu `amriNU} and not -% \arb[voc]{zaydu bnu `amriNU}, \enquote{Zayd, son of ʿAmr}.} -% |imru'u| |'l-qaysi| \arb[fullvoc]{imru'u 'l-qaysi} -% \arb[trans]{\cap{i}mru'u \cap{'l-qaysi}}, |la-aymunu| |'l-l_ahi| -% \arb[fullvoc]{la-aymunu 'l-l_ahi} \arb[trans]{la-aymunu 'l-l_ahi}. +% \arb[trans]{'awi ismu-hu}, |zayduN| |ibn-u| |`amriNU| +% \arb[fullvoc]{\cap{z}ayduN ibn-u \cap{`amriNU}} +% \arb[trans]{\cap{z}ayduN ibn-u +% \cap{`amriNU}},\footnote{\label{fn:zayd-is-son}% +% \enquote{\arb[trans]{\cap{z}ayd} is the son of +% \arb[trans]{\cap{`a}mr}}: the second noun is not in apposition to +% the first, but forms part of the predicate. Hence \arb[voc]{zayduN +% ibn-u `amriNU} and not \arb[voc]{zayd-u bn-u `amriNU}, +% \enquote{Zayd, son of ʿAmr}.} |`umar-u| |ibn-u| |'l-_ha.t.tAb-i| +% \arb[fullvoc]{\cap{`umar}-u ibn-u \cap{'l-_ha.t.tAb-i}} +% \arb[trans]{\cap{`umar}-u ibn-u +% \cap{'l-_ha.t.tAb-i}},\footnote{\enquote{\arb[trans]{\cap{`umar}} +% is the son of \arb[trans]{\cap{al-_ha.t.tAb}}} (see +% \vref{fn:zayd-is-son}).} |imru'-u| |'l-qays-i| +% \arb[fullvoc]{imru'-u 'l-qays-i} \arb[trans]{\cap{i}mru'-u +% \cap{'l-qays-i}}, |la-aymun-u| |'l-l_ah-i| +% \arb[fullvoc]{la-aymun-u 'l-l_ah-i} \arb[trans]{la-aymun-u +% 'l-l_ah-i}. % \end{quote} % -% \subparagraph{\arb[trans]{'alifu 'l-wa.sli} preceded by a long +% \subparagraph{\arb[trans]{'alif-u 'l-wa.sl-i} preceded by a long % vowel} The long vowel preceding the connective \arb[trans]{'alif} is % shortened in pronunciation \parencite[i. 21 B--D]{Wright}. This does % not appear in the Arabic script, but \package{arabluatex} takes it % into account in some transliteration standards:--- % \begin{quote} -% |fI| |'l-nAsi| \arb[fullvoc]{fI 'l-nAsi} \arb[trans]{fI 'l-nAsi}, -% |'abU| |'l-wazIri| \arb[fullvoc]{'abU 'l-wazIri} \arb[trans]{'abU -% 'l-wazIri}, |fI| |'l-ibtidA'i| \arb[fullvoc]{fI 'l-ibtidA'i} -% \arb[trans]{fI 'l-ibtidA'i}, |_dU 'l-i`lAli| \arb[fullvoc]{_dU -% 'l-i`lAli} \arb[trans]{_dU 'l-i`lAli}. +% |fI| |'l-nAs-i| \arb[fullvoc]{fI 'l-nAs-i} \arb[trans]{fI +% 'l-nAs-i}, |'abU| |'l-wazIr-i| \arb[fullvoc]{'abU 'l-wazIr-i} +% \arb[trans]{'abU 'l-wazIr-i}, |fI| |'l-ibtidA'-i| \arb[fullvoc]{fI +% 'l-ibtidA'-i} \arb[trans]{fI 'l-ibtidA'-i}, |_dU 'l-i`lAl-i| +% \arb[fullvoc]{_dU 'l-i`lAl-i} \arb[trans]{_dU 'l-i`lAl-i}, +% |maqh_A| |'l-'amIr-i| \arb[voc]{maqh_A 'l-'amIr-i} +% \arb[trans]{maqh_A 'l-'amIr-i}. % \end{quote} % -% \subparagraph{\arb[trans]{'alifu 'l-wa.sli} preceded by a diphthong} +% \subparagraph{\arb[trans]{'alif-u 'l-wa.sl-i} preceded by a diphthong} % The diphthong is resolved into two simple vowels \parencite[i. 21 % D--22 A]{Wright} viz. \emph{ay}~→ \emph{\u{a}\u{i}} and \emph{aw}~→ % \emph{\u{a}\u{u}}. \package{arabluatex} detects the cases in which % this rule applies:--- % \begin{quote} -% |fI| |`aynay| |'l-maliki| \arb[fullvoc]{fI `aynay 'l-maliki} -% \arb[trans]{fI `aynay 'l-maliki}, |ix^say| |'l-qawma| -% \arb[fullvoc]{ix^say 'l-qawma} \arb[trans]{ix^say 'l-qawma}, -% |mu.s.tafaw| |'l-l_ahi| \arb[fullvoc]{mu.s.tafaw 'l-l_ahi} -% \arb[trans]{mu.s.tafaw 'l-l_ahi}. -% -% |ramaW| |'l-.hijAraTa| \arb[fullvoc]{ramaW 'l-.hijAraTa} -% \arb[trans]{ramaW 'l-.hijAraTa}, |fa-lammA| |ra'aW | |'l-najma| -% \arb[fullvoc]{fa-lammA ra'aW 'l-najma} \arb[trans]{fa-lammA ra'aW -% 'l-najma}. +% |fI| |`aynay| |'l-malik-i| \arb[fullvoc]{fI `aynay 'l-malik-i} +% \arb[trans]{fI `aynay 'l-malik-i}, |ix^say| |'l-qawm-a| +% \arb[fullvoc]{ix^say 'l-qawm-a} \arb[trans]{ix^say 'l-qawm-a}, +% |mu.s.tafaw| |'l-l_ah-i| \arb[fullvoc]{mu.s.tafaw 'l-l_ah-i} +% \arb[trans]{mu.s.tafaw 'l-l_ah-i}. +% +% |ramaW| |'l-.hijAraT-a| \arb[fullvoc]{ramaW 'l-.hijAraT-a} +% \arb[trans]{ramaW 'l-.hijAraT-a}, |fa-lammA| |ra'aW | |'l-najm-a| +% \arb[fullvoc]{fa-lammA ra'aW 'l-najm-a} \arb[trans]{fa-lammA ra'aW +% 'l-najm-a}. % \end{quote} % -% \subparagraph{\arb[trans]{'alifu 'l-wa.sli} preceded by a consonant +% \subparagraph{\arb[trans]{'alif-u 'l-wa.sl-i} preceded by a consonant % with \arb[trans]{sukUn}} The vowel which the consonant takes is % either its original vowel, or that which belongs to the connective % \arb[trans]{'alif} or the \arb[trans]{kasraT}; in most of the % cases \parencite[i. 22 A--C]{Wright}, it is encoded explicitly, like % so:--- % \begin{quote} -% |'antumu| |'l-kA_dibUna| \arb[fullvoc]{'antumu 'l-kA_dibUna} -% \arb[trans]{'antumu 'l-kA_dibUna}, |ra'aytumu| |'l-rajula| -% \arb[fullvoc]{ra'aytumu 'l-rajula} \arb[trans]{ra'aytumu -% 'l-rajula}, |mani| |'l-ka_d_dAbu| \arb[fullvoc]{mani 'l-ka_d_dAbu} -% \arb[trans]{mani 'l-ka_d_dAbu}, |qatalati| |'l-rUmu| -% \arb[fullvoc]{qatalati 'l-rUmu} \arb[trans]{qatalati -% \cap{'l-rUmu}}. +% |'antumu| |'l-kA_dib-Una| \arb[fullvoc]{'antumu 'l-kA_dib-Una} +% \arb[trans]{'antumu 'l-kA_dib-Una}, |ra'aytumu| |'l-rajul-a| +% \arb[fullvoc]{ra'aytumu 'l-rajul-a} \arb[trans]{ra'aytumu +% 'l-rajul-a}, |mani| |'l-ka_d_dAb-u| \arb[fullvoc]{mani +% 'l-ka_d_dAb-u} \arb[trans]{mani 'l-ka_d_dAb-u}, |qatalati| +% |'l-rUm-u| \arb[fullvoc]{qatalati 'l-rUm-u} \arb[trans]{qatalati +% \cap{'l-rUm-u}}. % \end{quote} % \label{ref:muhammaduni} % However, the Arabic script does not shows the \arb[trans]{kasraT} @@ -1250,39 +1276,40 @@ consonants, though three of them are also used as vowels % \subsection{Special orthographies} % \paragraph{The name of God} % The name of God, \arb[voc]{al-l_ahu}, is compounded of the article -% \arb[fullvoc]{al-}, and \arb[fullvoc]{'ilAhu} (noted -% \arb[fullvoc]{'il_ahu} with the defective \arb[trans]{'alif}) so -% that it becomes \arb[fullvoc]{al-'ilAhu}; then the +% \arb[fullvoc]{al-}, and \arb[fullvoc]{'ilAh-u} (noted +% \arb[fullvoc]{'il_ah-u} with the defective \arb[trans]{'alif}) so +% that it becomes \arb[fullvoc]{al-'ilAh-u}; then the % \arb[trans]{hamzaT} is suppressed, its vowel being transferred to % the \arb[novoc]{l} before it, so that there remains -% \arb[voc]{alil_ahu} \parencite[I refer to][I. 83 +% \arb[voc]{alil_ah-u} \parencite[I refer to][I. 83 % col. 1]{Lane}. Finally, the first \arb[novoc]{l} is made quiescent % and incorporated into the other, hence the \arb[trans]{ta^sdId} % above it. As \package{arabluatex} never requires a solar letter to % be written twice (see above, \vpageref{ref:euphonic-tashdid}), the -% name of God is therefore encoded |al-l_ahu| or |'l-l_ahu|:--- +% name of God is therefore encoded |al-l_ah-u| or |'l-l_ah-u|:--- % \begin{quote} -% |al-l_ahu| \arb[fullvoc]{al-l_ahu} \arb[trans]{al-l_ahu}, +% |al-l_ah-u| \arb[fullvoc]{al-l_ah-u} \arb[trans]{al-l_ah-u}, % \verb+yA|+\footnote{\label{fn:pipe-allah-01}Note the % \enquote{pipe} character \enquote*{\textbar} here after |yA| and % below after |fa| before footnote mark \ref{fn:pipe-allah-02}: it % is needed by the |dmg| transliteration mode as in this mode any % vowel at the commencement of a word preceded by a word that ends % with a vowel, either short or long, is absorbed by this vowel -% viz. \arb[trans]{`al_A 'l-.tarIqi}. See \vref{sec:pipe} on the +% viz. \arb[trans]{`al_A 'l-.tarIq-i}. See \vref{sec:pipe} on the % \enquote{pipe} and \vref{sec:transliteration} on |dmg| mode.} -% |al-l_ahu| \arb[fullvoc]{yA| al-l_ahu} \arb[trans]{yA| al-l_ahu}, -% \verb+'a-fa|+\footnote{\label{fn:pipe-allah-02}See -% \cref{fn:pipe-allah-01}.}|-al-l_ahi| |la-ta.g`alanna| -% \arb[fullvoc]{'a-fa|-al-l_ahi la-ta.g`alanna} -% \arb[trans]{'a-fa|-al-l_ahi la-ta.g`alanna}, |bi-'l-l_ahi| -% \arb[fullvoc]{bi-'l-l_ahi} \arb[trans]{bi-'l-l_ahi}, |wa-'l-l_ahi| -% \arb[fullvoc]{wa-'l-l_ahi} \arb[trans]{wa-'l-l_ahi}, |bi-smi| -% |'l-l_ahi| \arb[fullvoc]{bi-smi 'l-l_ahi} \arb[trans]{bi-smi -% 'l-l_ahi}, |al-.hamdu| |li-l-l_ahi| \arb[fullvoc]{al-.hamdu -% li-l-l_ahi} \arb[trans]{al-.hamdu li-l-l_ahi}, |li-l-l_ahi| -% |'l-qA'ilu| \arb[fullvoc]{li-l-l_ahi 'l-qA'ilu} -% \arb[trans]{li-l-l_ahi 'l-qA'ilu}. +% |al-l_ah-u| \arb[fullvoc]{yA| al-l_ah-u} \arb[trans]{yA| +% al-l_ah-u}, \verb+'a-fa|+\footnote{\label{fn:pipe-allah-02}See +% \cref{fn:pipe-allah-01}.}|-al-l_ah-i| |la-ta.g`alanna| +% \arb[fullvoc]{'a-fa|-al-l_ah-i la-ta.g`alanna} +% \arb[trans]{'a-fa|-al-l_ah-i la-ta.g`alanna}, |bi-'l-l_ah-i| +% \arb[fullvoc]{bi-'l-l_ah-i} \arb[trans]{bi-'l-l_ah-i}, +% |wa-'l-l_ah-i| \arb[fullvoc]{wa-'l-l_ah-i} +% \arb[trans]{wa-'l-l_ah-i}, |bi-sm-i| |'l-l_ah-i| +% \arb[fullvoc]{bi-sm-i 'l-l_ah-i} \arb[trans]{bi-sm-i 'l-l_ah-i}, +% |al-.hamd-u| |li-l-l_ah-i| \arb[fullvoc]{al-.hamd-u li-l-l_ah-i} +% \arb[trans]{al-.hamd-u li-l-l_ah-i}, |li-l-l_ah-i| |'l-qA'il-u| +% \arb[fullvoc]{li-l-l_ah-i 'l-qA'il-u} \arb[trans]{li-l-l_ah-i +% 'l-qA'il-u}. % \end{quote} % % \paragraph{The conjunctive \arb[voc]{alla_dI}} @@ -1293,28 +1320,28 @@ consonants, though three of them are also used as vowels % starting with the connective \arb[trans]{'alif} are encoded % |'lla_dI| and |'llatI|:--- % \begin{quote} -% |'a_hAfu| |mina| |'l-maliki| |'lla_dI| |ya.zlimu| |'l-nAsa| -% \arb[fullvoc]{'a_hAfu mina 'l-maliki 'lla_dI ya.zlimu 'l-nAsa} -% \arb[trans]{'a_hAfu mina 'l-maliki 'lla_dI ya.zlimu 'l-nAsa}, -% |`udtu| |'l-^say_ha| |'lladI| |huwa| |marI.duN| -% \arb[fullvoc]{`udtu 'l-^say_ha 'lladI huwa marI.duN} -% \arb[trans]{`udtu 'l-^say_ha 'lladI huwa marI.duN}, |mA| |'anA| +% |'a_hAfu| |mina| |'l-malik-i| |'lla_dI| |ya.zlimu| |'l-nAs-a| +% \arb[fullvoc]{'a_hAfu mina 'l-malik-i 'lla_dI ya.zlimu 'l-nAs-a} +% \arb[trans]{'a_hAfu mina 'l-malik-i 'lla_dI ya.zlimu 'l-nAs-a}, +% |`udtu| |'l-^say_h-a| |'lla_dI| |huwa| |marI.duN| +% \arb[fullvoc]{`udtu 'l-^say_h-a 'lla_dI huwa marI.duN} +% \arb[trans]{`udtu 'l-^say_h-a 'lla_dI huwa marI.duN}, |mA| |'anA| % |bi-'lla_dI| |qA'iluN| |la-ka| |^say'aN| \arb[fullvoc]{mA 'anA % bi-'lla_dI qA'iluN la-ka ^say'aN} \arb[trans]{mA 'anA bi-'lla_dI % qA'iluN la-ka ^say'aN}. % -% |'ari-nA| |'lla_dayni| |'a.dallA-nA| |mina| |'l-jinni| -% |wa-'l-'insi| \arb[fullvoc]{'ari-nA 'lla_dayni 'a.dallA-nA mina -% 'l-jinni wa-'l-'insi} \arb[trans]{'ari-nA 'lla_dayni 'a.dallA-nA -% mina 'l-jinni wa-'l-'insi}. +% |'ari-nA| |'lla_dayni| |'a.dallA-nA| |mina| |'l-jinn-i| +% |wa-'l-'ins-i| \arb[fullvoc]{'ari-nA 'lla_dayni 'a.dallA-nA mina +% 'l-jinn-i wa-'l-'ins-i} \arb[trans]{'ari-nA 'lla_dayni 'a.dallA-nA +% mina 'l-jinn-i wa-'l-'ins-i}. % \end{quote} % The other forms are encoded regularly as |al-l| or |'l-l|:--- % \begin{quote} -% |fa-'innA| |na_dkuru| |'l-.sawtayni| |'l-la_dayni| |rawaynA-humA| -% |`an| |ja.h.zaTa| \arb[fullvoc]{fa-'innA na_dkuru 'l-.sawtayni -% 'l-la_dayni rawaynA-humA `an \cap{ja.h.zaTa}} \arb[trans]{fa-'innA -% na_dkuru 'l-.sawtayni 'l-la_dayni rawaynA-humA `an -% \cap{ja.h.zaTa}}. +% |fa-'innA| |na_dkuru| |'l-.sawt-ayni| |'l-la_dayni| |rawaynA-humA| +% |`an| |ja.h.zaT-a| \arb[fullvoc]{fa-'innA na_dkuru 'l-.sawt-ayni +% 'l-la_dayni rawaynA-humA `an \cap{ja.h.zaT-a}} +% \arb[trans]{fa-'innA na_dkuru 'l-.sawt-ayni 'l-la_dayni +% rawaynA-humA `an \cap{ja.h.zaT-a}}. % % And also: |al-la_dAni| \arb[fullvoc]{al-la_dAni} % \arb[trans]{al-la_dAni}, |al-la_dayni| \arb[fullvoc]{al-la_dayni} @@ -1342,12 +1369,12 @@ consonants, though three of them are also used as vowels % be very similar in effect to the one of \package{arabtex}. % % To start with an example, suppose one types the following in |novoc| -% mode: \arb[novoc]{`ullima `ilma 'l-hay'aTi}; is it +% mode: \arb[novoc]{`ullima `ilm-a 'l-hay'aT-i}; is it % \arb[fullvoc]{`ullima}, \emph{he was taught the science of % astronomy}, or \arb[fullvoc]{`allama}, \emph{he taught the science % of astronomy}? In order to disambiguate this clause, it may be % sensible to put a \arb[trans]{.dammaT} above the first \arb[voc]{`}: -% \arb[novoc]{`"ullima `ilma 'l-hay'aTi}, which is achieved by +% \arb[novoc]{`"ullima `ilm-a 'l-hay'aT-i}, which is achieved by % \enquote{quoting} the vowel |u|, like so: |`"ullima|, or, with no % other vowel than the required |u|: |`"ullm|. % @@ -1368,8 +1395,8 @@ consonants, though three of them are also used as vowels % \arb[trans]{.dammaT}, \arb[trans]{fat.haT} or \arb[trans]{kasraT} % appear above the appropriate consonant:--- % \begin{quote} -% |`"ullima| |`ilma| |'l-hay'aTi| \arb[novoc]{`"ullima `ilma -% 'l-hay'aTi} \arb[trans]{`"ullima `ilma 'l-hay'aTi}, |ya.gz"UA| +% |`"ullima| |`ilm-a| |'l-hay'aT-i| \arb[novoc]{`"ullima `ilm-a +% 'l-hay'aT-i} \arb[trans]{`"ullima `ilm-a 'l-hay'aT-i}, |ya.gz"UA| % \arb[novoc]{ya.gz"UA} \arb[trans]{ya.gz"UA}. % \end{quote} % \item The same applies when \enquote{quoting} the @@ -1390,7 +1417,7 @@ consonants, though three of them are also used as vowels % \arb[trans]{^sabIhuN bi-man q"u.ti`at" qadamA-hu}. % \end{quote} % \item At the commencement of a word, the straight double quote is -% interpreted as \arb[trans]{'alifu 'l-wa.sli}:--- +% interpreted as \arb[trans]{'alif-u 'l-wa.sl-i}:--- % \begin{quote} % |wa-"ust"u`mila| \arb[novoc]{wa-"ust"u`mila} % \arb[trans]{wa-"ust"u`mila}, |huwa| |"inhazama| \arb[novoc]{huwa @@ -1407,9 +1434,9 @@ consonants, though three of them are also used as vowels % \item Short and long vowels:--- % \begin{quote} % |q"Ala q"A'iluN| \arb[voc]{q"Ala q"A'iluN} \arb[trans]{q"Ala -% q"A'iluN}, |ibnu 'abI 'u.saybi`aT"a| \arb[voc]{ibnu 'abI -% 'u.saybi`aT"a} \arb[trans]{\cap{ibnu} \cap{'abI} -% \cap{'u.saybi`aT"a}}. +% q"A'iluN}, |ibn-u 'abI 'u.saybi`aT-"a| \arb[voc]{ibn-u 'abI +% 'u.saybi`aT-"a} \arb[trans]{\cap{ibn-u} \cap{'abI} +% \cap{'u.saybi`aT-"a}}. % \end{quote} % \item \arb[trans]{tanwIn}:--- % \begin{quote} @@ -1424,11 +1451,11 @@ consonants, though three of them are also used as vowels % straight double quote after a consonant not followed by a vowel to % make the \arb[trans]{sukUn} appear:--- % \begin{compactenum}[(a)] -% \item \arb[trans]{'alifu 'l-wa.sli}:--- +% \item \arb[trans]{'alif-u 'l-wa.sl-i}:--- % \begin{quote} -% |fI "istisqA'a| \arb[voc]{fI "istisqA'a} \arb[trans]{fI -% "istisqA'a}, |wa-"istisqA'u| \arb[voc]{wa-"istisqA'u} -% \arb[trans]{wa-"istisqA'u}, |qAla| |"uhrub| |fa-lan| |tuqtala| +% |fI "istisqA'-a| \arb[voc]{fI "istisqA'-a} \arb[trans]{fI +% "istisqA'-a}, |wa-"istisqA'-u| \arb[voc]{wa-"istisqA'-u} +% \arb[trans]{wa-"istisqA'-u}, |qAla| |"uhrub| |fa-lan| |tuqtala| % \arb[voc]{qAla "uhrub fa-lan tuqtala} \arb[trans]{qAla "uhrub % fa-lan tuqtala}. % \end{quote} @@ -1449,10 +1476,10 @@ consonants, though three of them are also used as vowels % vowel (or \arb[trans]{tanwIn}, as seen above) or any % \arb[trans]{sukUn}:--- % \begin{quote}\label{ref:qrannun-full} -% |al-jamru| |'l-.sayfiyyu| |'lla_dI| |kAna| \verb+bi-q"rAn"|nUna+ -% \arb[fullvoc]{al-jamru 'l-.sayfiyyu 'lla_dI kAna -% \cap{bi-q"rAn"|nUna}} \arb[trans]{al-jamru 'l-.sayfiyyu 'lla_dI -% kAna \cap{bi-q"rAn"|nUna}}. +% |al-jamr-u| |'l-.sayfiyy-u| |'lla_dI| |kAna| +% \verb+bi-q"rAn"|nUn-a+ \arb[fullvoc]{al-jamr-u 'l-.sayfiyy-u +% 'lla_dI kAna \cap{bi-q"rAn"|nUn-a}} \arb[trans]{al-jamr-u +% 'l-.sayfiyy-u 'lla_dI kAna \cap{bi-q"rAn"|nUn-a}}. % \end{quote} % % \subsubsection{\texorpdfstring{Quoting the @@ -1524,8 +1551,8 @@ consonants, though three of them are also used as vowels % \vref{fn:pipe-allah-01} and in \vref{fn:pipe-madda}. One more example % follows:--- % \begin{quote} -% \verb+bi-qrAn|nUna+ \arb[voc]{\cap{bi-qrAn|nUna}} -% \arb[trans]{\cap{bi-qrAn|nUna}}, \enquote{in Crannon} (Thessaly, +% \verb+bi-qrAn|nUn-a+ \arb[voc]{\cap{bi-qrAn|nUn-a}} +% \arb[trans]{\cap{bi-qrAn|nUn-a}}, \enquote{in Crannon} (Thessaly, % Greece).\footnote{See more context \vpageref{ref:qrannun-full}.} % \end{quote} % As one can see, the \enquote{pipe} character between the two @@ -1541,20 +1568,20 @@ consonants, though three of them are also used as vowels % especially to increase legibility of letters an diacritics which % stand one above the other:-- % \begin{quote} -% |.hunaynu| |bnu| |'is.h--_aqa| \arb[voc]{.hunaynu bnu 'is.h--_aqa} -% \arb[trans]{\cap{.hunaynu} bnu \cap{'is.h--_aqa}} +% |.hunayn-u| |bn-u| |'is.h--_aq-a| \arb[voc]{.hunayn-u bn-u +% 'is.h--_aq-a} \arb[trans]{\cap{.hunayn-u} bn-u \cap{'is.h--_aq-a}} % \end{quote} % % \subsection{Digits} % \label{sec:digits} % \subsubsection{Numerical figures} % \label{sec:numerical-figures} -% The \emph{Indian numbers}, \arb[trans]{al-raqamu 'l-hindiyyu}, are +% The \emph{Indian numbers}, \arb[trans]{al-raqam-u 'l-hindiyy-u}, are % ten in number, and they are compounded in exactly the same way as % our numerals:--- % \begin{quote} % |1874| \arb[voc]{1874}, |123-456,789| \arb[voc]{123-456,789}, |fI| -% |sanaTi| |1024| \arb[voc]{fI sanaTi 1024} +% |sanaT-i| |1024| \arb[voc]{fI sanaT-i 1024} % \end{quote} % % \subsubsection{The \emph{abjad}} @@ -1570,9 +1597,9 @@ consonants, though three of them are also used as vowels % of the |voc|, |fullvoc| and |novoc| modes, where \meta{number} may % be any number between 1 and 1999, like so:--- % \begin{quote} -% |\abjad{45}| |kitAbu-hu| |fI| |'l-`AdAti| \arb[voc]{\abjad{45} -% kitAbu-hu fI 'l-`AdAti} \arb[trans]{\abjad{45} kitAbu-hu fI -% 'l-`AdAti}. +% |\abjad{45}| |kitAbu-hu| |fI| |'l-`AdAt-i| \arb[voc]{\abjad{45} +% kitAbu-hu fI 'l-`AdAt-i} \arb[trans]{\abjad{45} kitAbu-hu fI +% 'l-`AdAt-i}. % \end{quote} % \begin{quoting} % \textsc{Rem.}~\emph{a.} As can be seen in the above given example, @@ -1652,9 +1679,9 @@ consonants, though three of them are also used as vowels % \DescribeMacro{\aemph} One may use the command \cs{aemph}\marg{Arabic % text} to use the same technique to emphasize words, like so:--- % \begin{quote} -% |\abjad{45}:| |kitAbu-hu| |\aemph{fI| |'l-`AdAti}| -% \arb[voc]{\abjad{45}: kitAbu-hu \aemph{fI 'l-`AdAti}} -% \arb[trans]{\abjad{45}: kitAbu-hu fI 'l-\cap{`AdAti}}. +% |\abjad{45}:| |kitAbu-hu| |\aemph{fI| |'l-`AdAt-i}| +% \arb[voc]{\abjad{45}: kitAbu-hu \aemph{fI 'l-`AdAt-i}} +% \arb[trans]{\abjad{45}: kitAbu-hu fI 'l-\cap{`AdAt-i}}. % \end{quote} % % \section{Special applications} @@ -1668,7 +1695,7 @@ consonants, though three of them are also used as vowels % |Bu| |Ba| |Bi| |BuN| |BaN| |BiN| \arb[voc]{Bu Ba Bi BuN BaN BiN} % \arb[trans]{Bu Ba Bi BuN BaN BiN}, |BBu| |BBa| |BBi| \arb[voc]{BBu % BBa BBi} \arb[trans]{BBu BBa BBi}, |B--aN| \arb[voc]{B--aN} -% \arb[trans]{B--aN}, |B| \arb[voc]{B"}\,. +% \arb[trans]{B--aN}, |B"| \arb[voc]{B"}\,. % \end{quote} % % \section{Transliteration} @@ -1732,16 +1759,17 @@ consonants, though three of them are also used as vowels % viz. \arb[trans]{|"'} or \arb[trans]{`}, the letter next to it will be % uppercased:--- % \begin{quote} -% |\cap{.hunaynu}| |bnu| |\cap{'is.h_aqa}| \arb[voc]{\cap{.hunaynu} -% bnu \cap{'is.h_aqa}} \arb[trans]{\cap{.hunaynu} bnu -% \cap{'is.h_aqa}}, |\cap{`u_tm_anu}| \arb[voc]{\cap{`u_tm_anu}} -% \arb[trans]{\cap{`u_tm_anu}}, |.daraba| |\cap{zaydu}| |bnu| -% |\cap{_h_alidiN}| |\cap{sa`da}| |bna| |\cap{`awfi}| |bni| -% |\cap{`abdi}| |\cap{'l-l_ahi}| \arb[fullvoc]{.daraba \cap{zaydu} -% bnu \cap{_h_alidiN} \cap{sa`da} bna \cap{`awfi} bni \cap{`abdi} -% \cap{'l-l_ahi}} \arb[trans]{.daraba \cap{zaydu} bnu -% \cap{_h_alidiN} \cap{sa`da} bna \cap{`awfi} bni \cap{`abdi} -% \cap{'l-l_ahi}}. +% |\cap{.hunayn-u}| |bn-u| |\cap{'is.h_aq-a}| +% \arb[voc]{\cap{.hunayn-u} bn-u \cap{'is.h_aq-a}} +% \arb[trans]{\cap{.hunayn-u} bn-u \cap{'is.h_aq-a}}, +% |\cap{`u_tm_an-u}| \arb[voc]{\cap{`u_tm_an-u}} +% \arb[trans]{\cap{`u_tm_an-u}}, |.daraba| |\cap{zayd-u}| |bn-u| +% |\cap{_h_alidiN}| |\cap{sa`d-a}| |bn-a| |\cap{`awf-i}| |bn-i| +% |\cap{`abd-i}| |\cap{'l-l_ah-i}| \arb[fullvoc]{.daraba +% \cap{zayd-u} bn-u \cap{_h_alidiN} \cap{sa`d-a} bn-a \cap{`awf-i} +% bn-i \cap{`abd-i} \cap{'l-l_ah-i}} \arb[trans]{.daraba +% \cap{zayd-u} bn-u \cap{_h_alidiN} \cap{sa`d-a} bn-a \cap{`awf-i} +% bn-i \cap{`abd-i} \cap{'l-l_ah-i}}. % \end{quote} % However, \cs{cap} must be used cautiously in some very particular % cases, for the closing brace of its argument may prevent a rule from @@ -1759,6 +1787,97 @@ consonants, though three of them are also used as vowels % argument of \cs{cap} vz. up to the first letter that is to be % uppercased, like so: |\cap{m}u.hammaduN|. % +% \subsection{Additional note on \texttt{dmg} convention} +% \label{sec:additional-note-dmg} +% \NEWfeature{v1.3} According to \textcite[6]{dmg}, Arabic +% \arb[trans]{'i`rAb} may be rendered into |dmg| in three different +% ways: +% \begin{compactenum}[(a)] +% \item \label{ref:dmg-full-rend}In full: +% \NoArbUp\arb[trans]{\cap{`amruNU}}\ArbUpDflt\,; +% \item \label{ref:dmg-up-rend}As superscript text: +% \arb[trans]{\cap{`amruNU}}\,; +% \item Discarded: \arb[trans]{\cap{`amr}}. +% \end{compactenum} +% \DescribeMacro{\arbup} By default, \package{arabluatex} applies rule +% \ref{ref:dmg-up-rend}. Once delimited by a set of Lua functions, +% \arb[trans]{'i`rAb} is passed as an argument on to a \cs{arbup} +% command which is set to \cs{textsuperscript}. +% +% \DescribeMacro{\NoArbUp} \DescribeMacro{\ArbUpDflt} \cs{NoArbUp} may +% be used either in the preamble or at any point of the document in +% case one wishes to apply rule \ref{ref:dmg-full-rend}. The default +% rule \ref{ref:dmg-up-rend} can be set back with \cs{ArbUpDflt} at +% any point of the document. +% +% \DescribeMacro{\SetArbUp} Finally, \cs{SetArbUp}\marg{formatting +% directives} may be used to customize the way \arb[trans]{'i`rAb} is +% displayed. To take one example, here is how Arabic +% \arb[trans]{'i`rAb} may be rendered as subscript text:--- +% \iffalse +%<*example> +% \fi +\begin{arabluacode} +\SetArbUp{\textsubscript{#1}} +Arabic |dmg| transliteration for \arb{ra'aytu ^gAmi`aN +muhaddamaTaN mi'_danatu-hu}: \arb[trans]{ra'aytu +^gAmi`aN muhaddamaTaN mi'_danatu-hu.} +\end{arabluacode} +% \iffalse +% +% \fi +% +% As shown in the above example, |#1| is the token that is replaced +% with the actual \arb[trans]{tanwIn} in the formatting directives of +% the \cs{SetArbUp} command. +% +% \paragraph{\arb[trans]{'i`rAb} boundaries} +% Every declinable noun (\arb[trans]{mu`rab}) may be declined either +% with or without \arb[trans]{tanwIn}, viz. \arb[trans]{mun.sarifuN} +% or \arb[trans]{.gayr-u mun.sarifiN}. The former is automatically +% parsed by \package{arabluatex}, whereas the latter has to be +% delimited with an hyphen, like so:--- +% \begin{quote} +% \arb[trans]{\textbf{mun.sarif}}: |mu`allimuN| +% \arb[voc]{mu`allimuN} \arb[trans]{mu`allimuN}, |kA'inuN| +% \arb[voc]{kA'inuN} \arb[trans]{kA'inuN}, |kA'inAtuN| +% \arb[voc]{kA'inAtuN} \arb[trans]{kA'inAtuN}, |\cap{`amraNU}| +% \arb[voc]{\cap{`amraNU}} \arb[trans]{\cap{`amraNU}}, |fataN_A| +% \arb[voc]{fataN_A} \arb[trans]{fataN_A}. +% +% \arb[trans]{\textbf{.gayr mun.sarif}}: |al-mu`allim-u| +% \arb[voc]{al-mu`allim-u} \arb[trans]{al-mu`allim-u}, |kitAb-Ani| +% \arb[voc]{kitAb-Ani} \arb[trans]{kitAb-Ani}, |ra^sa'-Ani| +% \arb[voc]{ra^sa'-Ani} \arb[trans]{ra^sa'-Ani}, |sAriq-Una| +% \arb[voc]{sAriq-Una} \arb[trans]{sAriq-Una}, |qA.d-Una| +% \arb[voc]{qA.d-Una} \arb[trans]{qA.d-Una}, |al-.zulm-Atu| +% \arb[voc]{al-.zulm-Atu} \arb[trans]{al-.zulm-Atu}. +% \end{quote} +% +% \begin{quoting} +% \textsc{Rem.}~\emph{a.} As the \arb[trans]{tanwIn} is passed over +% in pronunciation when it is followed by the letters +% \arb[novoc]{r}, \arb[novoc]{l}, \arb[novoc]{m}, \arb[novoc]{w}, +% \arb[novoc]{y} (see \vref{ref:assimilation}), it may be desirable +% to further distinguish it by putting it above the line, but not to +% do the same for \arb[trans]{.gayr mun.sarif} terminations. This +% can be achieved by simply omitting the hyphen before any +% \arb[trans]{.gayr mun.sarif} termination:---\\ +% |kAna| |.ganiyyaN| |l_akinna-hu| |labisa| |^gubbaTaN| |mumazzaqaN| +% |'aydu-hA| \arb[voc]{kAna .ganiyyaN l_akinna-hu labisa ^gubbaTaN +% mumazzaqaN 'aydu-hA} \arb[trans]{kAna .ganiyyaN l_akinna-hu labisa +% ^gubbaTaN mumazzaqaN 'aydu-hA}. +% +% \textsc{Rem.}~\emph{b.} Although the hyphen before the +% \arb[trans]{tanwIn} is optional as \package{arabluatex} always +% parses nouns with such termination, it may also be used to mark +% better the inflectional endings:---\\ +% |mana`a| |'l-nAs-a| |kAffaT-aN| |min| |mu_hA.tabati-hi| +% |'a.had-uN| |bi-sayyidi-nA| \arb[voc]{mana`a 'l-nAs-a kAffaT-aN +% min mu_hA.tabati-hi 'a.had-uN bi-sayyidi-nA} \arb[trans]{mana`a +% 'l-nAs-a kAffaT-aN min mu_hA.tabati-hi 'a.had-uN bi-sayyidi-nA}. +% \end{quoting} +% % \subsection{Examples} % \label{sec:examples-translit} % Here follows in transliteration the story of @@ -1770,13 +1889,13 @@ consonants, though three of them are also used as vowels % \LR{\textbf{\emph{\enquote*{dmg}} standard}:} 'at_A .sadIquN 'il_A % \cap{ju.hA} ya.tlubu min-hu .himAra-hu li-yarkaba-hu fI safraTiN % qa.sIraTiN. wa-qAla la-hu: \enquote{sawfa 'u`Idu-hu 'ilay-ka fI -% 'l-masA'i wa-'adfa`u la-ka 'ujraTaN.} fa-qAla \cap{ju.hA}: +% 'l-masA'-i wa-'adfa`u la-ka 'ujraTaN.} fa-qAla \cap{ju.hA}: % \enquote{'anA 'AsifuN jiddaN 'annI lA 'asta.tI`u 'an 'u.haqqiqa -% la-ka .garbata-ka fa-'l-.himAru laysa hunA 'l-yawma.} wa-qabla -% 'an yutimma \cap{ju.hA} kalAma-hu bada'a 'l-.himAru yanhaqu fI +% la-ka .garbata-ka fa-'l-.himAr-u laysa hunA 'l-yawm-a.} wa-qabla +% 'an yutimma \cap{ju.hA} kalAma-hu bada'a 'l-.himAr-u yanhaqu fI % 'i.s.tabili-hi. fa-qAla la-hu .sadIqu-hu: \enquote{'innI 'asma`u % .himAra-ka yA \cap{ju.hA} yanhaqu.} fa-qAla la-hu \cap{ju.hA}: -% \enquote{.garIbuN 'amru-ka yA .sadIqI 'a-tu.saddiqu 'l-.himAra +% \enquote{.garIbuN 'amru-ka yA .sadIqI 'a-tu.saddiqu 'l-.himAr-a % wa-tuka_d_dibu-nI?} % \end{arab} % @@ -1785,13 +1904,13 @@ consonants, though three of them are also used as vowels % \LR{\textbf{\emph{\enquote*{loc}} standard}:} 'at_A .sadIquN 'il_A % \cap{ju.hA} ya.tlubu min-hu .himAra-hu li-yarkaba-hu fI safraTiN % qa.sIraTiN. wa-qAla la-hu: \enquote{sawfa 'u`Idu-hu 'ilay-ka fI -% 'l-masA'i wa-'adfa`u la-ka 'ujraTaN.} fa-qAla \cap{ju.hA}: +% 'l-masA'-i wa-'adfa`u la-ka 'ujraTaN.} fa-qAla \cap{ju.hA}: % \enquote{'anA 'AsifuN jiddaN 'annI lA 'asta.tI`u 'an 'u.haqqiqa -% la-ka .garbata-ka fa-'l-.himAru laysa hunA 'l-yawma.} wa-qabla -% 'an yutimma \cap{ju.hA} kalAma-hu bada'a 'l-.himAru yanhaqu fI +% la-ka .garbata-ka fa-'l-.himAr-u laysa hunA 'l-yawm-a.} wa-qabla +% 'an yutimma \cap{ju.hA} kalAma-hu bada'a 'l-.himAr-u yanhaqu fI % 'i.s.tabili-hi. fa-qAla la-hu .sadIqu-hu: \enquote{'innI 'asma`u % .himAra-ka yA \cap{ju.hA} yanhaqu.} fa-qAla la-hu \cap{ju.hA}: -% \enquote{.garIbuN 'amru-ka yA .sadIqI 'a-tu.saddiqu 'l-.himAra +% \enquote{.garIbuN 'amru-ka yA .sadIqI 'a-tu.saddiqu 'l-.himAr-a % wa-tuka_d_dibu-nI?} % \end{arab} % \SetTranslitConvention{dmg} @@ -1805,10 +1924,10 @@ consonants, though three of them are also used as vowels % \cs{textbf}\marg{text} and the like, are assumed to have Arabic text % as their arguments:--- % \begin{quote} -% |\abjad{45}| |kitAbu-hu| |\emph{fI| |'l-\cap{`AdAti}}| -% \arb[voc]{\abjad{45} kitAbu-hu \emph{fI l-\cap{`AdAti}}} +% |\abjad{45}| |kitAbu-hu| |\emph{fI| |'l-\cap{`AdAt-i}}| +% \arb[voc]{\abjad{45} kitAbu-hu \emph{fI l-\cap{`AdAt-i}}} % \arb[trans]{\abjad{45} kitAbu-hu \emph{fI -% 'l-\cap{`AdAti}}}.\footnote{This is odd in Arabic script, but +% 'l-\cap{`AdAt-i}}}.\footnote{This is odd in Arabic script, but % using such features as \cs{emph} or \cs{textbf} is a matter of % personal taste.} % \end{quote} @@ -1821,10 +1940,10 @@ consonants, though three of them are also used as vowels \renewcommand{\footnoterule}% {\hfill\noindent\rule[1mm]{.4\textwidth}{.15mm}} \begin{arab} -'inna 'abI kAna mina 'l-muqAtilaTi\footnote{al-muqAtilaTi: -al-muqAtilIna.}, wa-kAnat 'ummI min `u.zamA'i buyUti -'l-zamAzimaTi\footnote{al-zamAzimaTu: .tA'ifaTu mina -'l-fursi.}. +'inna 'abI kAna mina 'l-muqAtilaT-i\footnote{al-muqAtilaT-i: +al-muqAtil-Ina.}, wa-kAnat 'ummI min `u.zamA'-i buyUt-i +'l-zamAzimaT-i\footnote{al-zamAzimaT-u: .tA'ifaT-u mina +'l-furs-i.}. \end{arab} \end{arabluacode} % \iffalse @@ -1856,9 +1975,9 @@ al-muqAtilIna.}, wa-kAnat 'ummI min `u.zamA'i buyUti % \fi \begin{arabluacode} \begin{arab} -_tumma "intalaqa _dU 'l-qarnayni 'il_A 'ummaTiN 'u_hr_A fI -\LR{\textcolor{red}{\arb[fullvoc]{((ma.tli`i 'l-^samsi))}}} -wa-lA binA'a la-hum yu'amminu-hum mina 'l-^samsi. +_tumma "intalaqa _dU 'l-qarn-ayni 'il_A 'ummaT-iN 'u_hr_A fI +\LR{\textcolor{red}{\arb[fullvoc]{((ma.tli`-i 'l-^sams-i))}}} +wa-lA binA'-a la-hum yu'amminu-hum mina 'l-^sams-i. \end{arab} \end{arabluacode} % \iffalse @@ -1876,10 +1995,11 @@ wa-lA binA'a la-hum yu'amminu-hum mina 'l-^samsi. %<*example> % \fi \begin{arabluacode} -\arb[fullvoc]{\cap{z}ayduN\LRfootnote{\enquote{Zayd -is the son of ʿAmr}: the second noun is not in -apposition to the first, but forms part of -the predicate\ldots} "ibnu \cap{`amriNU}} +\arb[fullvoc]{\cap{z}ayd-uN\LRfootnote{% +\enquote{\arb[trans]{\cap{z}ayd} is the son of +\arb[trans]{\cap{`a}mr}}: the second +noun is not in apposition to the first, but forms +part of the predicate\ldots} "ibn-u \cap{`a}mr-iNU} \end{arabluacode} % \iffalse % @@ -1917,10 +2037,10 @@ the predicate\ldots} "ibnu \cap{`amriNU}} % \fi \begin{arabluacode} \setRL -\section*{\arb{barzawayhi li-buzurjumihra bni 'l-buxtikAni}} +\section*{\arb{barzawayhi li-buzurjumihra bn-i 'l-buxtikAni}} \setLR \begin{arab} -qAla barzawayhi bnu 'azhara, ra'su 'a.tibbA'i fArisa... +qAla barzawayhi bn-u 'azhar-a, ra's-u 'a.tibbA'-i fAris-a... \end{arab} \end{arabluacode} % \iffalse @@ -1952,8 +2072,8 @@ qAla barzawayhi bnu 'azhara, ra'su 'a.tibbA'i fArisa... \begin{arabluacode} \setquotestyle{arabic} \begin{arab} - fa-qAla la-hu ju.hA: \enquote{.garIbuN 'amru-ka yA .sadIqI - 'a-tu.saddiqu 'l-.himAra wa-tuka_d_dibu-nI?} + fa-qAla la-hu ju.hA: \enquote{.garIb-uN 'amru-ka yA .sadIqI + 'a-tu.saddiqu 'l-.himAr-a wa-tuka_d_dibu-nI?} \end{arab} \setquotestyle{english} \end{arabluacode} @@ -1971,15 +2091,16 @@ qAla barzawayhi bnu 'azhara, ra'su 'a.tibbA'i fArisa... % The two-arguments command \cs{edtext}\marg{lemma}\marg{commands} is % supported inside \cs{begin}|{arab}| \ldots\ \cs{end}|{arab}|. As an % example, one may get \package{arabluatex} and \package{reledmac} to -% work together like so:--- \iffalse +% work together like so:--- +% \iffalse %<*example> % \fi \begin{arabluaverbatim} \beginnumbering \pstart \begin{arab} -wa-ya.sIru ta.hta 'l-jildi -\edtext{\arb{.sadIduN}}{\Afootnote{M: \arb{.sadIdaN} E1}} +wa-ya.sIru ta.hta 'l-jild-i +\edtext{\arb{.sadId-uN}}{\Afootnote{M: \arb{.sadId-aN} E1}} \end{arab} \pend \endnumbering @@ -2029,7 +2150,7 @@ wa-ya.sIru ta.hta 'l-jildi % \begin{macrocode} \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{arabluatex}% -[2016/05/09 v1.2 ArabTeX-like interface for LuaLaTeX] +[2016/05/28 v1.3 ArabTeX-like interface for LuaLaTeX] \RequirePackage{ifluatex} % \end{macrocode} % \package{arabluatex} requires \LuaLaTeX\ of course. Issue a warning @@ -2144,8 +2265,8 @@ wa-ya.sIru ta.hta 'l-jildi % \end{macro} % \end{macro} % \begin{macro}{\SetTranslitStyle} By default any transliterated -% Arabic text is printed in italics. This can be changed globally in -% the preamble or at any point of the document: +% Arabic text is printed in italics. This can be changed either +% globally in the preamble or at any point of the document: % \begin{macrocode} \def\al@trans@style{\itshape}% \NewDocumentCommand{\SetTranslitStyle}{m}{\def\al@trans@style{#1}} @@ -2159,6 +2280,34 @@ wa-ya.sIru ta.hta 'l-jildi \NewDocumentCommand{\SetTranslitConvention}{m}{\def\al@trans@convention{#1}} % \end{macrocode} % \end{macro} +% \begin{macro}{\arbup} +% \changes{v1.3}{2016/05/28}{\arb[trans]{'i`rAb} is now written as +% superscript text in \texttt{dmg} mode by default.} +% \begin{macro}{\NoArbUp} +% \begin{macro}{\ArbUpDflt} +% \begin{macro}{\SetArbUp} +% By default, \cs{arbup} is set to \cs{textsuperscript}. This is how +% the \arb[trans]{tanwIn} that takes place at the end of a word +% should be displayed in |dmg| mode. \cs{NoArbUp} may be used +% either in the preamble or at any point of the document in case one +% wishes to have the \arb[trans]{tanwIn} on the line. The default +% rule can be set back with \cs{ArbUpDflt} at any point of the +% document. Finally \cs{SetArbUp} may be used to customize the way +% \arb[trans]{tanwIn} is displayed: this command takes the +% formatting directives as argument, like so: +% \cs{SetArbUp}\marg{code}. +% \begin{macrocode} +\NewDocumentCommand{\al@arbup@dflt}{m}{\textsuperscript{#1}}% +\NewDocumentCommand{\al@arbup}{m}{\al@arbup@dflt{#1}} +\NewDocumentCommand{\arbup}{m}{\al@arbup{#1}} +\NewDocumentCommand{\ArbUpDflt}{}{\let\al@arbup=\al@arbup@dflt} +\NewDocumentCommand{\NoArbUp}{}{\RenewDocumentCommand{\al@arbup}{m}{##1}} +\NewDocumentCommand{\SetArbUp}{m}{\RenewDocumentCommand{\al@arbup}{m}{#1}} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} % \begin{macro}{\cap} Proper Arabic names or book titles should be % passed to the command \cs{cap} so that they have their first letters % uppercased. \cs{cap} is actually coded in Lua. @@ -2201,7 +2350,8 @@ wa-ya.sIru ta.hta 'l-jildi \else% \ifx\@tempa\al@mode@novoc% \bgroup\textdir TRT\arabicfont% - \luadirect{tex.sprint(processnovoc(\luastringN{#2}))}\egroup% + \luadirect{tex.sprint(processnovoc(\luastringN{#2}, + \luastringO{\al@arb@rules}))}\egroup% \else% \ifx\@tempa\al@mode@trans% \bgroup\textdir TLT\al@trans@style% @@ -2230,7 +2380,8 @@ wa-ya.sIru ta.hta 'l-jildi \else% \ifx\@tempa\al@mode@novoc% \bgroup\pardir TRT\textdir TRT\arabicfont% - \luadirect{tex.sprint(processnovoc(\luastringO{\BODY}))}\egroup% + \luadirect{tex.sprint(processnovoc(\luastringO{\BODY}, + \luastringO{\al@arb@rules}))}\egroup% \else \ifx\@tempa\al@mode@trans% \bgroup\pardir TLT\textdir TLT\al@trans@style% \luadirect{tex.sprint(processtrans(\luastringO{\BODY}, diff --git a/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex.lua b/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex.lua index 0bb475640ca..3b0ed5e4ef3 100644 --- a/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex.lua +++ b/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex.lua @@ -123,11 +123,12 @@ local function takeoutabjad(str) return str end -local function takeoutcap(str) +local function takeoutcapetc(str) str = string.gsub(str, "(\\cap.?)(%b{})", function(tag, body) body = string.sub(body, 2, -2) return string.format("%s", body) end) + str = string.gsub(str, "\\linebreak", "") return str end @@ -311,6 +312,42 @@ local function novoc(str) return str end +local function novoceasy(str) + str = string.gsub(str, "\\arb(%b{})", function(inside) + inside = string.sub(inside, 2, -2) + for i = 1,#hamzaeasy do + inside = string.gsub(inside, hamzaeasy[i].a, hamzaeasy[i].b) + end + for i = 1,#tanwinnv do + inside = string.gsub(inside, tanwinnv[i].a, tanwinnv[i].b) + end + for i = 1,#trigraphsnv do + inside = string.gsub(inside, trigraphsnv[i].a, trigraphsnv[i].b) + end + for i = 1,#digraphs do + inside = string.gsub(inside, digraphs[i].a, digraphs[i].b) + end + for i = 1,#single do + inside = string.gsub(inside, single[i].a, single[i].b) + end + for i = 1,#longvnv do + inside = string.gsub(inside, longvnv[i].a, longvnv[i].b) + end + for i = 1,#shortvnv do + inside = string.gsub(inside, shortvnv[i].a, shortvnv[i].b) + end + for i = 1,#punctuation do + inside = string.gsub(inside, punctuation[i].a, punctuation[i].b) + end + for i = 1,#null do + inside = string.gsub(inside, null[i].a, null[i].b) + end + inside = indnum(inside) + return string.format("\\txarb{%s}", inside) + end) +return str +end + local function transdmg(str) str = string.gsub(str, "\\arb(%b{})", function(inside) inside = string.sub(inside, 2, -2) @@ -421,7 +458,7 @@ end function processvoc(str, rules) str = "\\arb{".. str.."}" - str = takeoutcap(str) + str = takeoutcapetc(str) str = protectarb(str) str = breakcmd(str) str = holdcmd(str) @@ -436,7 +473,7 @@ end function processfullvoc(str, rules) str = "\\arb{".. str.."}" - str = takeoutcap(str) + str = takeoutcapetc(str) str = protectarb(str) str = breakcmd(str) str = holdcmd(str) @@ -449,13 +486,17 @@ function processfullvoc(str, rules) return str end -function processnovoc(str) +function processnovoc(str, rules) str = "\\arb{".. str.."}" - str = takeoutcap(str) + str = takeoutcapetc(str) str = protectarb(str) str = breakcmd(str) str = holdcmd(str) - str = novoc(str) + if rules == "easy" then + str = novoceasy(str) + elseif rules == "dflt" then + str = novoc(str) + else end str = unprotectarb(str) return str end diff --git a/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex.sty b/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex.sty index 48b9b43447e..13f2b6e7180 100644 --- a/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex.sty +++ b/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex.sty @@ -41,7 +41,7 @@ %% \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{arabluatex}% -[2016/05/09 v1.2 ArabTeX-like interface for LuaLaTeX] +[2016/05/28 v1.3 ArabTeX-like interface for LuaLaTeX] \RequirePackage{ifluatex} \ifluatex\else \PackageError{arabluatex}{lualatex needed}{% @@ -90,6 +90,12 @@ \NewDocumentCommand{\SetTranslitStyle}{m}{\def\al@trans@style{#1}} \def\al@trans@convention{dmg} \NewDocumentCommand{\SetTranslitConvention}{m}{\def\al@trans@convention{#1}} +\NewDocumentCommand{\al@arbup@dflt}{m}{\textsuperscript{#1}}% +\NewDocumentCommand{\al@arbup}{m}{\al@arbup@dflt{#1}} +\NewDocumentCommand{\arbup}{m}{\al@arbup{#1}} +\NewDocumentCommand{\ArbUpDflt}{}{\let\al@arbup=\al@arbup@dflt} +\NewDocumentCommand{\NoArbUp}{}{\RenewDocumentCommand{\al@arbup}{m}{##1}} +\NewDocumentCommand{\SetArbUp}{m}{\RenewDocumentCommand{\al@arbup}{m}{#1}} \DeclareDocumentCommand{\cap}{m}% {\luadirect{tex.sprint(cap(\luastringN{#1}))}} \DeclareDocumentCommand{\txarb}{+m}{\bgroup\textdir @@ -110,7 +116,8 @@ \else% \ifx\@tempa\al@mode@novoc% \bgroup\textdir TRT\arabicfont% - \luadirect{tex.sprint(processnovoc(\luastringN{#2}))}\egroup% + \luadirect{tex.sprint(processnovoc(\luastringN{#2}, + \luastringO{\al@arb@rules}))}\egroup% \else% \ifx\@tempa\al@mode@trans% \bgroup\textdir TLT\al@trans@style% @@ -133,7 +140,8 @@ \else% \ifx\@tempa\al@mode@novoc% \bgroup\pardir TRT\textdir TRT\arabicfont% - \luadirect{tex.sprint(processnovoc(\luastringO{\BODY}))}\egroup% + \luadirect{tex.sprint(processnovoc(\luastringO{\BODY}, + \luastringO{\al@arb@rules}))}\egroup% \else \ifx\@tempa\al@mode@trans% \bgroup\pardir TLT\textdir TLT\al@trans@style% \luadirect{tex.sprint(processtrans(\luastringO{\BODY}, diff --git a/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_fullvoc.lua b/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_fullvoc.lua index a2676e0be8f..ea7df9f69b5 100644 --- a/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_fullvoc.lua +++ b/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_fullvoc.lua @@ -23,6 +23,8 @@ along with this program. If not, see --]] hamzafv = { + -- next line for ʾiʿrāb hyphen + {a="(')(%-)([uaiUAI])", b="%1%3"}, -- hard coded hamza {a="|\"'", b="ء"}, {a="A\"'", b="آ"}, @@ -51,7 +53,9 @@ hamzafv = { {a="'i'([^uaiUAI])", b="إI%1"}, -- madda (historic writing below) {a="'a'([^uaiUAI])", b="آ%1"}, - {a="'a?A([%_%^%.]?[%`%'btjghdrzsfqklmnywAY])", b="آ%1"}, + {a="([^uiUI])\'a?A([%_%^%.]?[%`%'btjghdrzsfqklmnywAY])", b="%1آ%2"}, + {a="^\'a?A([%_%^%.]?[%`%'btjghdrzsfqklmnywAY])", b="آ%1"}, + {a="(%W)\'a?A([%_%^%.]?[%`%'btjghdrzsfqklmnywAY])", b="%1آ%2"}, {a="(A)(')(uN?)$", b="aآء%3"}, {a="(A)(')(uN?)(%W)", b="aآء%3%4"}, {a="(A)(')(iN?)$", b="aآء%3"}, @@ -71,7 +75,7 @@ hamzafv = { {a="([^uai])(')([uai]N?)$", b="%1ء%3"}, {a="([^uai])(')([uai]N?)(%W)", b="%1ء%3%4"}, -- u - {a="(u)(')([uai]?N)$", b="%1ؤ%3"}, + {a="(u)(')([uai]N?)$", b="%1ؤ%3"}, {a="(u)(')([uai]N?)(%W)", b="%1ؤ%3%4"}, {a="(u)(')$", b="%1ؤْ"}, {a="(u)(')(%W)", b="%1ؤْ%3"}, @@ -115,6 +119,8 @@ hamzafv = { } hamzafveasy = { -- differences marked below with 'easy' + -- next line for ʾiʿrāb hyphen + {a="(')(%-)([uaiUAI])", b="%1%3"}, -- hard coded hamza {a="|\"'", b="ء"}, {a="A\"'", b="آ"}, @@ -143,14 +149,18 @@ hamzafveasy = { -- differences marked below with 'easy' {a="'i'([^uaiUAI])", b="إI%1"}, -- madda (historic writing below) {a="'a'([^uaiUAI])", b="آ%1"}, - {a="'a?A([%_%^%.]?[%`%'btjghdrzsfqklmnywAY])", b="آ%1"}, ---easy {a="(A)(')(uN?)$", b="aآء%3"}, ---easy {a="(A)(')(uN?)(%W)", b="aآء%3%4"}, ---easy {a="(A)(')(iN?)$", b="aآء%3"}, ---easy {a="(A)(')(iN?)(%W)", b="aآء%3%4"}, ---easy {a="(A)(')(i)", b="aآئ%3"}, -- historic madda ---easy {a="(A)(')(u)", b="aآؤ%3"}, -- historic madda ---easy {a="(A)(')", b="aآء"}, -- historic madda + {a="([^uiUI])\'a?A([%_%^%.]?[%`%'btjghdrzsfqklmnywAY])", b="%1آ%2"}, + {a="^\'a?A([%_%^%.]?[%`%'btjghdrzsfqklmnywAY])", b="آ%1"}, + {a="(%W)\'a?A([%_%^%.]?[%`%'btjghdrzsfqklmnywAY])", b="%1آ%2"}, + --easy (begin) + {a="(A)(')(uN?)$", b="aاء%3"}, + {a="(A)(')(uN?)(%W)", b="aاء%3%4"}, + {a="(A)(')(iN?)$", b="aاء%3"}, + {a="(A)(')(iN?)(%W)", b="aاء%3%4"}, + {a="(A)(')(i)", b="aائ%3"}, -- historic madda + {a="(A)(')(u)", b="aاؤ%3"}, -- historic madda + {a="(A)(')", b="aاء"}, -- historic madda + --easy (end) -- initial (needs both ^ and %W patterns) {a="^(')([ua])", b="أ%2"}, {a="^(')(i)", b="إ%2"}, @@ -163,7 +173,7 @@ hamzafveasy = { -- differences marked below with 'easy' {a="([^uai])(')([uai]N?)$", b="%1ء%3"}, {a="([^uai])(')([uai]N?)(%W)", b="%1ء%3%4"}, -- u - {a="(u)(')([uai]?N)$", b="%1ؤ%3"}, + {a="(u)(')([uai]N?)$", b="%1ؤ%3"}, {a="(u)(')([uai]N?)(%W)", b="%1ؤ%3%4"}, {a="(u)(')$", b="%1ؤْ"}, {a="(u)(')(%W)", b="%1ؤْ%3"}, @@ -207,73 +217,73 @@ hamzafveasy = { -- differences marked below with 'easy' } tanwinfv = { - {a="uNU", b="ٌو"}, - {a="aNU", b="ًوا"}, - {a="iNU", b="ٍو"}, - {a="([uai]N)(%s)([uai])", b="%1%2ٱ"}, - {a="(aN[%_]?[AY])(%s)([uai])", b="%1%2ٱ"}, + {a="%-?uNU", b="ٌو"}, + {a="%-?aNU", b="ًوا"}, + {a="%-?iNU", b="ٍو"}, + {a="%-?([uai]N)(%s)([uai])", b="%1%2ٱ"}, + {a="%-?(aN[%_]?[AY])(%s)([uai])", b="%1%2ٱ"}, -- assimilations (begin) - {a="(uN)(%s)([rlmnwy])", b="ٌ%2%3%3"}, - {a="(aN)(_A)(%s)([rlmnwy])", b="ًى%3%4%4"}, - {a="(aN)(Y)(%s)([rlmnwy])", b="ًى%3%4%4"}, - {a="(T)(aN)(%s)([rlmnwy])", b="%1ً%3%4%4"}, - {a="(ء)(aN)(%s)([rlmnwy])", b="%1ً%3%4%4"}, - {a="([^TA])(aN)(%s)([rlmnwy])", b="%1ًا%3%4%4"}, - {a="(iN)(%s)([rlmnwy])", b="ٍ%2%3%3"}, + {a="%-?(uN)(%s)([rlmnwy])", b="ٌ%2%3%3"}, + {a="%-?(aN)(_A)(%s)([rlmnwy])", b="ًى%3%4%4"}, + {a="%-?(aN)(Y)(%s)([rlmnwy])", b="ًى%3%4%4"}, + {a="(T)%-?(aN)(%s)([rlmnwy])", b="%1ً%3%4%4"}, + {a="(ء)%-?(aN)(%s)([rlmnwy])", b="%1ً%3%4%4"}, + {a="([^TA])%-?(aN)(%s)([rlmnwy])", b="%1ًا%3%4%4"}, + {a="%-?(iNI?)(%s)([rlmnwy])", b="ٍ%2%3%3"}, -- assimilations (end) -- quoted tanwīn (begin) - {a="(\"uN)", b=""}, - {a="(B)(\"aN)", b="%1"}, - {a="(\"aN)(_A)", b="ى"}, - {a="(\"aN)(Y)", b="ى"}, - {a="(T)(\"aN)", b="%1"}, - {a="(ء)(\"aN)", b="%1"}, - {a="([^TA])(\"aN)", b="%1ا"}, - {a="(\"iN)", b=""}, + {a="%-?(\"uN)", b=""}, + {a="(B)%-?(\"aN)", b="%1"}, + {a="%-?(\"aN)(_A)", b="ى"}, + {a="%-?(\"aN)(Y)", b="ى"}, + {a="(T)%-?(\"aN)", b="%1"}, + {a="(ء)%-?(\"aN)", b="%1"}, + {a="([^TA])%-?(\"aN)", b="%1ا"}, + {a="%-?(\"iNI?)", b=""}, -- quoted tanwīn (end) - {a="(uN)", b="ٌ"}, - {a="(B)(aN)", b="%1ً"}, - {a="(aN)(_A)", b="ًى"}, - {a="(aN)(Y)", b="ًى"}, - {a="(T)(aN)", b="%1ً"}, - {a="(ء)(aN)", b="%1ً"}, - {a="([^TA])(aN)", b="%1ًا"}, - {a="(iN)", b="ٍ"} + {a="%-?(uN)", b="ٌ"}, + {a="(B)%-?(aN)", b="%1ً"}, + {a="%-?(aN)(_A)", b="ًى"}, + {a="%-?(aN)(Y)", b="ًى"}, + {a="(T)%-?(aN)", b="%1ً"}, + {a="(ء)%-?(aN)", b="%1ً"}, + {a="([^TA])%-?(aN)", b="%1ًا"}, + {a="%-?(iNI?)", b="ٍ"} } tanwinfveasy = { -- no assimilations (see below) - {a="uNU", b="ٌو"}, - {a="aNU", b="ًوا"}, - {a="iNU", b="ٍو"}, - {a="([uai]N)(%s)([uai])", b="%1%2ٱ"}, - {a="(aN[%_]?[AY])(%s)([uai])", b="%1%2ٱ"}, + {a="%-?uNU", b="ٌو"}, + {a="%-?aNU", b="ًوا"}, + {a="%-?iNU", b="ٍو"}, + {a="%-?([uai]N)(%s)([uai])", b="%1%2ٱ"}, + {a="%-?(aN[%_]?[AY])(%s)([uai])", b="%1%2ٱ"}, -- assimilations (begin) ---easy {a="(uN)(%s)([rlmnwy])", b="ٌ%2%3%3"}, ---easy {a="(aN)(_A)(%s)([rlmnwy])", b="ًى%3%4%4"}, ---easy {a="(aN)(Y)(%s)([rlmnwy])", b="ًى%3%4%4"}, ---easy {a="(T)(aN)(%s)([rlmnwy])", b="%1ً%3%4%4"}, ---easy {a="(ء)(aN)(%s)([rlmnwy])", b="%1ً%3%4%4"}, ---easy {a="([^TA])(aN)(%s)([rlmnwy])", b="%1ًا%3%4%4"}, ---easy {a="(iN)(%s)([rlmnwy])", b="ٍ%2%3%3"}, +--easy {a="%-?(uN)(%s)([rlmnwy])", b="ٌ%2%3%3"}, +--easy {a="%-?(aN)(_A)(%s)([rlmnwy])", b="ًى%3%4%4"}, +--easy {a="%-?(aN)(Y)(%s)([rlmnwy])", b="ًى%3%4%4"}, +--easy {a="(T)%-?(aN)(%s)([rlmnwy])", b="%1ً%3%4%4"}, +--easy {a="(ء)%-?(aN)(%s)([rlmnwy])", b="%1ً%3%4%4"}, +--easy {a="([^TA])%-?(aN)(%s)([rlmnwy])", b="%1ًا%3%4%4"}, +--easy {a="%-?(iNI?)(%s)([rlmnwy])", b="ٍ%2%3%3"}, -- assimilations (end) -- quoted tanwīn (begin) - {a="(\"uN)", b=""}, - {a="(B)(\"aN)", b="%1"}, - {a="(\"aN)(_A)", b="ى"}, - {a="(\"aN)(Y)", b="ى"}, - {a="(T)(\"aN)", b="%1"}, - {a="(ء)(\"aN)", b="%1"}, - {a="([^TA])(\"aN)", b="%1ا"}, - {a="(\"iN)", b=""}, + {a="%-?(\"uN)", b=""}, + {a="(B)%-?(\"aN)", b="%1"}, + {a="%-?(\"aN)(_A)", b="ى"}, + {a="%-?(\"aN)(Y)", b="ى"}, + {a="(T)%-?(\"aN)", b="%1"}, + {a="(ء)%-?(\"aN)", b="%1"}, + {a="([^TA])%-?(\"aN)", b="%1ا"}, + {a="%-?(\"iNI?)", b=""}, -- quoted tanwīn (end) - {a="(uN)", b="ٌ"}, - {a="(B)(aN)", b="%1ً"}, - {a="(aN)(_A)", b="ًى"}, - {a="(aN)(Y)", b="ًى"}, - {a="(T)(aN)", b="%1ً"}, - {a="(ء)(aN)", b="%1ً"}, - {a="([^TA])(aN)", b="%1ًا"}, - {a="(iN)", b="ٍ"} + {a="%-?(uN)", b="ٌ"}, + {a="(B)%-?(aN)", b="%1ً"}, + {a="%-?(aN)(_A)", b="ًى"}, + {a="%-?(aN)(Y)", b="ًى"}, + {a="(T)%-?(aN)", b="%1ً"}, + {a="(ء)%-?(aN)", b="%1ً"}, + {a="([^TA])%-?(aN)", b="%1ًا"}, + {a="%-?(iNI?)", b="ٍ"} } trigraphsfv = { -- trigraphs or more @@ -290,10 +300,10 @@ trigraphsfv = { -- trigraphs or more {a="^(a)([%_%^%.]?[tdrzsn])%-", b="ا%1ل%2"}, {a="([%s%-])(a)([%_%^%.]?[tdrzsn])%-", b="%1ا%2ل%3"}, -- al- + initial unstable hamza - {a="^(a)l%-(\"?[uai])", b="ا%1لٱ%2"}, - {a="([%s%-])(a)l%-(\"?[uai])", b="%1ا%2لٱ%3"}, + {a="^(a)l%-(\"?[uai])", b="ا%1ل%2ٱ"}, + {a="([%s%-])(a)l%-(\"?[uai])", b="%1ا%2ل%3ٱ"}, -- li-/la + art. + initial unstable hamza is a special orthography - {a="l([ai])%-l%-(\"?[uai])", b="ل%1لٱ%2"}, + {a="l([ai])%-l%-(\"?[uai])", b="ل%1ل%2ٱ"}, -- al- + lunar consonant (i.e. what remains) {a="^(a)l%-", b="ا%1لْ"}, {a="([%s%-])(a)l%-", b="%1ا%2لْ"}, @@ -314,7 +324,7 @@ trigraphsfv = { -- trigraphs or more -- li-/la- + assim. art. + solar consonant is a special orthography {a="l([ai])%-([%_%^%.]?[tdrzsn])%-([%_%^%.]?[tdrzsn])", b="ل%1ل%3%3"}, -- art. with waṣla + initial unstable hamza - {a="'l%-(\"?[uai])", b="ٱلٱ%1"}, + {a="'l%-(\"?[uai])", b="ٱل%1ٱ"}, -- art. with waṣla + lunar consonant (i.e. what remains) {a="'l%-", b="ٱلْ"}, -- the silent wāw @@ -346,10 +356,10 @@ trigraphsfveasy = { -- trigraphs or more (see 'easy' tag below for the diffs) {a="^(a)([%_%^%.]?[tdrzsn])%-", b="ا%1ل%2"}, {a="([%s%-])(a)([%_%^%.]?[tdrzsn])%-", b="%1ا%2ل%3"}, -- al- + initial unstable hamza - {a="^(a)l%-(\"?[uai])", b="ا%1لٱ%2"}, - {a="([%s%-])(a)l%-(\"?[uai])", b="%1ا%2لٱ%3"}, + {a="^(a)l%-(\"?[uai])", b="ا%1ل%2ٱ"}, + {a="([%s%-])(a)l%-(\"?[uai])", b="%1ا%2ل%3ٱ"}, -- li-/la + art. + initial unstable hamza is a special orthography - {a="l([ai])%-l%-(\"?[uai])", b="ل%1لٱ%2"}, + {a="l([ai])%-l%-(\"?[uai])", b="ل%1ل%2ٱ"}, -- al- + lunar consonant (i.e. what remains) {a="^(a)l%-", b="ا%1لْ"}, {a="([%s%-])(a)l%-", b="%1ا%2لْ"}, @@ -370,7 +380,7 @@ trigraphsfveasy = { -- trigraphs or more (see 'easy' tag below for the diffs) -- li-/la- + assim. art. + solar consonant is a special orthography {a="l([ai])%-([%_%^%.]?[tdrzsn])%-([%_%^%.]?[tdrzsn])", b="ل%1ل%3%3"}, -- art. with waṣla + initial unstable hamza - {a="'l%-(\"?[uai])", b="ٱلٱ%1"}, + {a="'l%-(\"?[uai])", b="ٱل%1ٱ"}, -- art. with waṣla + lunar consonant (i.e. what remains) {a="'l%-", b="ٱلْ"}, -- the silent wāw @@ -389,6 +399,18 @@ trigraphsfveasy = { -- trigraphs or more (see 'easy' tag below for the diffs) } digraphsfv = { + -- iʿrāb: straight double quote must be discarded + {a="(%-)(\"?[UI]na)(%p?%s)", b="%2%3"}, + {a="(%-)(\"?[UI]na)(%p?)$", b="%2%3"}, + {a="(%-)(\"?At[ui])(%p?%s)", b="%2%3"}, + {a="(%-)(\"?At[ui])(%p?)$", b="%2%3"}, + {a="(%-)(\"?Ani)(%p?%s)", b="%2%3"}, + {a="(%-)(\"?Ani)(%p?)$", b="%2%3"}, + {a="(%-)(\"?ayni)(%p?%s)", b="%2%3"}, + {a="(%-)(\"?ayni)(%p?)$", b="%2%3"}, + {a="(%-)(\"?[uai])(%p?%s)", b="%2%3"}, + {a="(%-)(\"?[uai])(%p?)$", b="%2%3"}, + -- ʾiʿrāb (end) -- initial straight double quote gives a connective ʾalif {a="^\"[uai]", b="ٱ"}, {a="([%s%-])\"[uai]", b="%1ٱ"}, @@ -436,9 +458,11 @@ digraphsfv = { {a="ww", b="وّ"}, {a="yy", b="يّ"}, -- sukūn begin + -- first, take out hyphen if any: + {a="([%_%^%.]?[Bbtjghxdrzs%`fqklmnwy])%-([uaiUAI])", b="%1%2"}, {a="([%_%^%.]?[Bbtjghxdrzs%`fqklmnwy])$", b="%1ْ"}, {a="([%_%^%.]?[Bbtjghxdrzs%`fqklmnwy])([%s])", b="%1ْ%2"}, - {a="([%_%^%.]?[Bbtjghxdrzs%`fqklmnwy])([%_]?[^%_uaiUAIًٌٍ])", b="%1ْ%2"}, + {a="([%_%^%.]?[Bbtjghxdrzs%`fqklmnwy])([%_]?[^%_uaiUAIYًٌٍ])", b="%1ْ%2"}, -- take out sukūn in cases of assimilation {a="(n)(ْ)(%s)([روي])", b="%1%3%4"}, {a="(n)(ْ)(%s)([ل])", b="%1%3%4"}, @@ -474,6 +498,18 @@ digraphsfv = { } digraphsfveasy = { -- see the diffenrences under 'easy' marker below + -- iʿrāb: straight double quote must be discarded + {a="(%-)(\"?[UI]na)(%p?%s)", b="%2%3"}, + {a="(%-)(\"?[UI]na)(%p?)$", b="%2%3"}, + {a="(%-)(\"?At[ui])(%p?%s)", b="%2%3"}, + {a="(%-)(\"?At[ui])(%p?)$", b="%2%3"}, + {a="(%-)(\"?Ani)(%p?%s)", b="%2%3"}, + {a="(%-)(\"?Ani)(%p?)$", b="%2%3"}, + {a="(%-)(\"?ayni)(%p?%s)", b="%2%3"}, + {a="(%-)(\"?ayni)(%p?)$", b="%2%3"}, + {a="(%-)(\"?[uai])(%p?%s)", b="%2%3"}, + {a="(%-)(\"?[uai])(%p?)$", b="%2%3"}, + -- ʾiʿrāb (end) -- initial straight double quote gives a connective ʾalif {a="^\"[uai]", b="ٱ"}, {a="([%s%-])\"[uai]", b="%1ٱ"}, @@ -524,6 +560,8 @@ digraphsfveasy = { -- see the diffenrences under 'easy' marker below -- first take out every previously generated sukūn by hamza rules, -- so there be no need to edit them: {a="ْ", b=""}, + -- first, take out hyphen if any: +-- {a="([%_%^%.]?[Bbtjghxdrzs%`fqklmnwy])%-([uaiUAI])", b="%1%2"}, -- {a="([%_%^%.]?[Bbtjghxdrzs%`fqklmnwy])$", b="%1ْ"}, -- {a="([%_%^%.]?[Bbtjghxdrzs%`fqklmnwy])([%s])", b="%1ْ%2"}, -- {a="([%_%^%.]?[Bbtjghxdrzs%`fqklmnwy])([%_]?[^%_uaiUAIًٌٍ])", b="%1ْ%2"}, @@ -618,4 +656,3 @@ singlefveasy = { -- see the differences under 'easy' tag below {a="([^0-9])%-([^0-9])", b="%1%2"}, {a="B", b="ـ"}, } - diff --git a/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_novoc.lua b/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_novoc.lua index 16f3b5115e4..f069f5ab747 100644 --- a/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_novoc.lua +++ b/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_novoc.lua @@ -23,36 +23,36 @@ along with this program. If not, see --]] tanwinnv = { - {a="uNU", b="و"}, - {a="aNU", b="وا"}, - {a="iNU", b="و"}, + {a="%-?uNU", b="و"}, + {a="%-?aNU", b="وا"}, + {a="%-?iNU", b="و"}, -- assimilations (begin). These are good but may not apply here. --- {a="(uN)(%s)([rlmnwy])", b="|%2%3%3"}, --- {a="(aN)(_A)(%s)([rlmnwy])", b="ى%3%4%4"}, --- {a="(aN)(Y)(%s)([rlmnwy])", b="ى%3%4%4"}, --- {a="(T)(aN)(%s)([rlmnwy])", b="%1%3%4%4"}, --- {a="(ء)(aN)(%s)([rlmnwy])", b="%1%3%4%4"}, --- {a="([^TA])(aN)(%s)([rlmnwy])", b="%1ا%3%4%4"}, --- {a="(iN)(%s)([rlmnwy])", b="|%2%3%3"}, +-- {a="%-?(uN)(%s)([rlmnwy])", b="|%2%3%3"}, +-- {a="%-?(aN)(_A)(%s)([rlmnwy])", b="ى%3%4%4"}, +-- {a="%-?(aN)(Y)(%s)([rlmnwy])", b="ى%3%4%4"}, +-- {a="(T)%-?(aN)(%s)([rlmnwy])", b="%1%3%4%4"}, +-- {a="(ء)%-?(aN)(%s)([rlmnwy])", b="%1%3%4%4"}, +-- {a="([^TA])%-?(aN)(%s)([rlmnwy])", b="%1ا%3%4%4"}, +-- {a="%-?(iNI?)(%s)([rlmnwy])", b="|%2%3%3"}, -- assimilations (end) -- "quoted" tanwīn (begin) - {a="(\"uN)", b="ٌ"}, - {a="(B)(\"aN)", b="%1ً"}, - {a="(\"aN)(_A)", b="ًى"}, - {a="(\"aN)(Y)", b="ًى"}, - {a="(T)(\"aN)", b="%1ً"}, - {a="(ء)(\"aN)", b="%1ً"}, - {a="([^TA])(\"aN)", b="%1ًا"}, - {a="(\"iN)", b="ٍ"}, + {a="%-?(\"uN)", b="ٌ"}, + {a="(B)%-?(\"aN)", b="%1ً"}, + {a="%-?(\"aN)(_A)", b="ًى"}, + {a="%-?(\"aN)(Y)", b="ًى"}, + {a="(T)%-?(\"aN)", b="%1ً"}, + {a="(ء)%-?(\"aN)", b="%1ً"}, + {a="([^TA])%-?(\"aN)", b="%1ًا"}, + {a="%-?(\"iNI?)", b="ٍ"}, -- "quoted" tanwīn (end) - {a="(uN)", b=""}, - {a="(B)(aN)", b="%1"}, - {a="(aN)(_A)", b="ى"}, - {a="(aN)(Y)", b="ى"}, - {a="(T)(aN)", b="%1"}, - {a="(ء)(aN)", b="%1"}, - {a="([^TA])(aN)", b="%1ا"}, - {a="(iN)", b=""}, + {a="%-?(uN)", b=""}, + {a="(B)%-?(aN)", b="%1"}, + {a="%-?(aN)(_A)", b="ى"}, + {a="%-?(aN)(Y)", b="ى"}, + {a="(T)%-?(aN)", b="%1"}, + {a="(ء)%-?(aN)", b="%1"}, + {a="([^TA])%-?(aN)", b="%1ا"}, + {a="%-?(iNI?)", b=""}, -- initial straight double quote gives a connective ʾalif. This has -- nothing to do with the tanwīn, but I put it here for time being. {a="^\"", b="ٱ"}, diff --git a/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_trans.lua b/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_trans.lua index c96a9daa492..b98647d852d 100644 --- a/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_trans.lua +++ b/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_trans.lua @@ -127,23 +127,31 @@ hamzatrdmg = { } tanwintrdmg = { - {a="uNU", b="un"}, - {a="aNU", b="an"}, - {a="iNU", b="in"}, + {a="%-?uNU", b="\\arbup{un}"}, + {a="%-?aNU", b="\\arbup{an}"}, + {a="%-?iNU", b="\\arbup{in}"}, + {a="%-?iNI", b="i\\arbup{n}"}, -- tanwīn preceding ʾalif conjunctionis - {a="(uN)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="uni%2%3"}, - {a="(aN)(_A)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="ạni%3%4"}, - {a="(aN)(Y)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="ạni%3%4"}, - {a="(T)(aN)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="tani%3%4"}, - {a="([^TA])(aN)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1ani%3%4"}, - {a="(iN)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="ini%2%3"}, + {a="%-?(uN)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="\\arbup{uni}%2%3"}, + {a="%-?(aN)(_A)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="ạ\\arbup{ni}%3%4"}, + {a="%-?(aN)(Y)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="ạ\\arbup{ni}%3%4"}, + {a="(T)%-?(aN)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="t\\arbup{ani}%3%4"}, + {a="([^TA])%-?(aN)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1\\arbup{ani}%3%4"}, + {a="%-?(iN)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="\\arbup{ini}%2%3"}, +-- tanwīn + alif without hamza and kasra (ibn) + {a="%-?(uN)(%s)(i)", b="\\arbup{uni}%2'"}, + {a="%-?(aN)(_A)(%s)(i)", b="ạ\\arbup{ni}%3%'"}, + {a="%-?(aN)(Y)(%s)(i)", b="ạ\\arbup{ni}%3%'"}, + {a="(T)%-?(aN)(%s)(i)", b="t\\arbup{ani}%3%'"}, + {a="([^TA])%-?(aN)(%s)(i)", b="%1\\arbup{ani}%3%'"}, + {a="%-?(iN)(%s)(i)", b="\\arbup{ini}%2%'"}, -- - {a="uN", b="un"}, - {a="(aN)(_A)", b="ạn"}, - {a="(aN)(Y)", b="ạn"}, - {a="(T)(\"?aN)", b="tan"}, - {a="([^TA])(\"?aN)", b="%1an"}, - {a="iN", b="in"} +-- {a="uN", b="\\arbup{un}"}, (now included in the last line of this table) + {a="%-?(aN)(_A)", b="ạ\\arbup{n}"}, + {a="%-?(aN)(Y)", b="ạ\\arbup{n}"}, + {a="(T)%-?(\"?aN)", b="t\\arbup{an}"}, + {a="([^TA])%-?(\"?aN)", b="%1\\arbup{an}"}, + {a="(%-?)(\"?A?t?)(%-?)([ui])(N)", b="\\arbup{%2%4n}"} } trigraphstrdmg = { -- trigraphs or more @@ -198,7 +206,7 @@ trigraphstrdmg = { -- trigraphs or more {a="(_a)U", b="A"}, {a="(_a)I", b="A"}, -- assimilations - {a="(n)(%s)([rlmnwy])", b="%3%2%3"} + {a="(n)(}?)(%s)([rlmnwy])", b="%4%2%3%4"} } trigraphstrdmgeasy = { -- see the differences below under 'easy' tag @@ -259,22 +267,41 @@ trigraphstrdmgeasy = { -- see the differences below under 'easy' tag digraphstrdmg = { {a="([uai]%-)(\"?[uai])", b="%1'"}, -- hyphen + initial alif without hamza {a="^(\"?[uai])", b="%1"}, -- initial alif without hamza + -- this is not necessary, take out for now: -- {a="([%_]?[uaiUAIY])(%s)([uai])", b="%1%2'"}, -- initial alif without hamza {a="(aW)(%s)(\"?[uai])", b="awu%2%3"}, {a="([^%_][uai])(%s)(\"?[uai])", b="%1%2'"}, - {a="([%_]?[AYa])(%s)(\"?[uai])", b="a%2'"}, + {a="(%_A)(%s)(\"?[uai])", b="ạ%2'"}, + {a="(Y)(%s)(\"?[uai])", b="ạ%2'"}, + {a="(%_a)(%s)(\"?[uai])", b="a%2'"}, + {a="(A)(%s)(\"?[uai])", b="a%2'"}, {a="([%_]?[Uu])(%s)(\"?[uai])", b="u%2'"}, {a="([%_]?[Ii])(%s)(\"?[uai])", b="i%2'"}, + -- ʾiʿrāb hyphen (begin) + {a="(%-)(\"?[UI]na)(%p?%s)", b="\\arbup{%2}%3"}, + {a="(%-)(\"?[UI]na)(%p?)$", b="\\arbup{%2}%3"}, + {a="(%-)(\"?At[ui])(%p?%s)", b="\\arbup{%2}%3"}, + {a="(%-)(\"?At[ui])(%p?)$", b="\\arbup{%2}%3"}, + {a="(%-)(\"?Ani)(%p?%s)", b="\\arbup{%2}%3"}, + {a="(%-)(\"?Ani)(%p?)$", b="\\arbup{%2}%3"}, + {a="(%-)(\"?ayni)(%p?%s)", b="\\arbup{%2}%3"}, + {a="(%-)(\"?ayni)(%p?)$", b="\\arbup{%2}%3"}, + {a="(%-)(\"?[uai])(%p?%s)", b="\\arbup{%2}%3"}, + {a="(%-)(\"?[uai])(%p?)$", b="\\arbup{%2}%3"}, + -- ʾiʿrāb hyphen (end) -- shorten long vowels preceding ʾalif conjunctionis {a="(U)(A)", b="U"}, {a="(aW)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="awu%2%3"}, - {a="([%_]?[AYa])(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="a%2%3"}, + {a="(%_a)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="a%2%3"}, + {a="(%_A)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="ạ%2%3"}, + {a="(A)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="a%2%3"}, + {a="(Y)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="ạ%2%3"}, {a="([%_]?[Uu])(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="u%2%3"}, {a="([%_]?[Ii])(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="i%2%3"}, {a="%-%-", b=""}, -- {a="T([^uai])", b="%1"}, - {a="T(%s)", b="%1"}, - {a="T$", b=""}, + {a="T(%p?%s)", b="%1"}, + {a="T(%p?)$", b="%1"}, {a="_t", b="ṯ"}, {a="%^g", b="ǧ"}, {a="%.h", b="ḥ"}, @@ -409,15 +436,15 @@ hamzatrloc = { } tanwintrloc = { - {a="uNU", b="un"}, - {a="aNU", b="an"}, - {a="iNU", b="in"}, - {a="uN", b="un"}, - {a="(aN)(_A)", b="an"}, - {a="(aN)(Y)", b="an"}, - {a="(T)(\"?aN)", b="tan"}, - {a="([^TA])(\"?aN)", b="%1an"}, - {a="iN", b="in"} + {a="%-?uNU", b="un"}, + {a="%-?aNU", b="an"}, + {a="%-?iNU", b="in"}, + {a="%-?uN", b="un"}, +-- {a="%-?(aN)(_A)", b="an"}, (now included in last line in this table) + {a="%-?(aN)(Y)", b="an"}, + {a="(T)%-?(\"?aN)", b="tan"}, + {a="([^TA])%-?(\"?aN)", b="%1an"}, + {a="(%-?)(\"?A?t?)(%-?)([ui])(N)", b="%2%4n"}, } trigraphstrloc = { -- trigraphs or more @@ -471,8 +498,20 @@ trigraphstrloc = { -- trigraphs or more } digraphstrloc = { - {a="(%-)([uai])", b="%1%2"}, -- hyphen + initial alif without hamza - {a="^([uai])", b="%1"}, -- initial alif without hamza + -- discard the ʾiʿrāb hyphen (begin) + {a="(%-)(\"?[UI]na)(%p?%s)", b="%2%3"}, + {a="(%-)(\"?[UI]na)(%p?)$", b="%2%3"}, + {a="(%-)(\"?At[ui])(%p?%s)", b="%2%3"}, + {a="(%-)(\"?At[ui])(%p?)$", b="%2%3"}, + {a="(%-)(\"?Ani)(%p?%s)", b="%2%3"}, + {a="(%-)(\"?Ani)(%p?)$", b="%2%3"}, + {a="(%-)(\"?ayni)(%p?%s)", b="%2%3"}, + {a="(%-)(\"?ayni)(%p?)$", b="%2%3"}, + {a="(%-)([uai])(%p?%s)", b="%2%3"}, + {a="(%-)([uai])(%p?)$", b="%2%3"}, + -- discard the ʾiʿrāb hyphen (end) + {a="(%-)(\"?[uai])", b="%1%2"}, -- hyphen + initial alif without hamza + {a="^(\"?[uai])", b="%1"}, -- initial alif without hamza {a="(%s)([uai])", b="%1%2"}, -- initial alif without hamza {a="%-%-", b=""}, {a="uww", b="ūw"}, diff --git a/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_voc.lua b/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_voc.lua index 4f5399fc5ac..0e5cfc671e8 100644 --- a/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_voc.lua +++ b/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_voc.lua @@ -72,6 +72,8 @@ raw = { } hamza = { + -- next line for ʾiʿrāb hyphen + {a="(')(%-)([uaiUAI])", b="%1%3"}, -- hard coded hamza {a="|\"'", b="ء"}, {a="A\"'", b="آ"}, @@ -91,7 +93,9 @@ hamza = { {a="'i'([^uaiUAI])", b="إI%1"}, -- madda (historic writing below) {a="'a'([^uaiUAI])", b="آ%1"}, - {a="'a?A([%_%^%.]?[%`%'btjghdrzsfqklmnywAY])", b="آ%1"}, + {a="([^uiUI])\'a?A([%_%^%.]?[%`%'btjghdrzsfqklmnywAY])", b="%1آ%2"}, + {a="^\'a?A([%_%^%.]?[%`%'btjghdrzsfqklmnywAY])", b="آ%1"}, + {a="(%W)\'a?A([%_%^%.]?[%`%'btjghdrzsfqklmnywAY])", b="%1آ%2"}, {a="(A)(')(uN?)$", b="aآء%3"}, {a="(A)(')(uN?)(%W)", b="aآء%3%4"}, {a="(A)(')(iN?)$", b="aآء%3"}, @@ -111,7 +115,7 @@ hamza = { {a="([^uai])(')([uai]N?)$", b="%1ء%3"}, {a="([^uai])(')([uai]N?)(%W)", b="%1ء%3%4"}, -- u - {a="(u)(')([uai]?N)$", b="%1ؤ%3"}, + {a="(u)(')([uai]N?)$", b="%1ؤ%3"}, {a="(u)(')([uai]N?)(%W)", b="%1ؤ%3%4"}, {a="(u)(')$", b="%1ؤ"}, {a="(u)(')(%W)", b="%1ؤ%3"}, @@ -155,6 +159,8 @@ hamza = { } hamzaeasy = { -- differences marked below with 'easy' + -- next line for ʾiʿrāb hyphen + {a="(')(%-)([uaiUAI])", b="%1%3"}, -- hard coded hamza {a="|\"'", b="ء"}, {a="A\"'", b="آ"}, @@ -174,14 +180,18 @@ hamzaeasy = { -- differences marked below with 'easy' {a="'i'([^uaiUAI])", b="إI%1"}, -- madda (historic writing below) {a="'a'([^uaiUAI])", b="آ%1"}, - {a="'a?A([%_%^%.]?[%`%'btjghdrzsfqklmnywAY])", b="آ%1"}, ---easy {a="(A)(')(uN?)$", b="aآء%3"}, ---easy {a="(A)(')(uN?)(%W)", b="aآء%3%4"}, ---easy {a="(A)(')(iN?)$", b="aآء%3"}, ---easy {a="(A)(')(iN?)(%W)", b="aآء%3%4"}, ---easy {a="(A)(')(i)", b="aآئ%3"}, -- historic madda ---easy {a="(A)(')(u)", b="aآؤ%3"}, -- historic madda ---easy {a="(A)(')", b="aآء"}, -- historic madda + {a="([^uiUI])\'a?A([%_%^%.]?[%`%'btjghdrzsfqklmnywAY])", b="%1آ%2"}, + {a="^\'a?A([%_%^%.]?[%`%'btjghdrzsfqklmnywAY])", b="آ%1"}, + {a="(%W)\'a?A([%_%^%.]?[%`%'btjghdrzsfqklmnywAY])", b="%1آ%2"}, + --easy (begin) + {a="(A)(')(uN?)$", b="aاء%3"}, + {a="(A)(')(uN?)(%W)", b="aاء%3%4"}, + {a="(A)(')(iN?)$", b="aاء%3"}, + {a="(A)(')(iN?)(%W)", b="aاء%3%4"}, + {a="(A)(')(i)", b="aائ%3"}, -- historic madda + {a="(A)(')(u)", b="aاؤ%3"}, -- historic madda + {a="(A)(')", b="aاء"}, -- historic madda + --easy (end) -- initial (needs both ^ and %W patterns) {a="^(')([ua])", b="أ%2"}, {a="^(')(i)", b="إ%2"}, @@ -194,7 +204,7 @@ hamzaeasy = { -- differences marked below with 'easy' {a="([^uai])(')([uai]N?)$", b="%1ء%3"}, {a="([^uai])(')([uai]N?)(%W)", b="%1ء%3%4"}, -- u - {a="(u)(')([uai]?N)$", b="%1ؤ%3"}, + {a="(u)(')([uai]N?)$", b="%1ؤ%3"}, {a="(u)(')([uai]N?)(%W)", b="%1ؤ%3%4"}, {a="(u)(')$", b="%1ؤ"}, {a="(u)(')(%W)", b="%1ؤ%3"}, @@ -238,69 +248,69 @@ hamzaeasy = { -- differences marked below with 'easy' } tanwin = { - {a="uNU", b="ٌو"}, - {a="aNU", b="ًوا"}, - {a="iNU", b="ٍو"}, + {a="%-?uNU", b="ٌو"}, + {a="%-?aNU", b="ًوا"}, + {a="%-?iNU", b="ٍو"}, -- assimilations (begin) - {a="(uN)(%s)([rlmnwy])", b="ٌ%2%3%3"}, - {a="(aN)(_A)(%s)([rlmnwy])", b="ًى%3%4%4"}, - {a="(aN)(Y)(%s)([rlmnwy])", b="ًى%3%4%4"}, - {a="(T)(aN)(%s)([rlmnwy])", b="%1ً%3%4%4"}, - {a="(ء)(aN)(%s)([rlmnwy])", b="%1ً%3%4%4"}, - {a="([^TA])(aN)(%s)([rlmnwy])", b="%1ًا%3%4%4"}, - {a="(iN)(%s)([rlmnwy])", b="ٍ%2%3%3"}, + {a="%-?(uN)(%s)([rlmnwy])", b="ٌ%2%3%3"}, + {a="%-?(aN)(_A)(%s)([rlmnwy])", b="ًى%3%4%4"}, + {a="%-?(aN)(Y)(%s)([rlmnwy])", b="ًى%3%4%4"}, + {a="(T)%-?(aN)(%s)([rlmnwy])", b="%1ً%3%4%4"}, + {a="(ء)%-?(aN)(%s)([rlmnwy])", b="%1ً%3%4%4"}, + {a="([^TA])%-?(aN)(%s)([rlmnwy])", b="%1ًا%3%4%4"}, + {a="%-?(iNI?)(%s)([rlmnwy])", b="ٍ%2%3%3"}, -- assimilations (end) -- quoted tanwīn (begin) - {a="(\"uN)", b=""}, - {a="(B)(\"aN)", b="%1"}, - {a="(\"aN)(_A)", b="ى"}, - {a="(\"aN)(Y)", b="ى"}, - {a="(T)(\"aN)", b="%1"}, - {a="(ء)(\"aN)", b="%1"}, - {a="([^TA])(\"aN)", b="%1ا"}, - {a="(\"iN)", b=""}, + {a="%-?(\"uN)", b=""}, + {a="(B)%-?(\"aN)", b="%1"}, + {a="%-?(\"aN)(_A)", b="ى"}, + {a="%-?(\"aN)(Y)", b="ى"}, + {a="(T)%-?(\"aN)", b="%1"}, + {a="(ء)%-?(\"aN)", b="%1"}, + {a="([^TA])%-?(\"aN)", b="%1ا"}, + {a="%-?(\"iNI?)", b=""}, -- quoted tanwīn (end) - {a="(uN)", b="ٌ"}, - {a="(B)(aN)", b="%1ً"}, - {a="(aN)(_A)", b="ًى"}, - {a="(aN)(Y)", b="ًى"}, - {a="(T)(aN)", b="%1ً"}, - {a="(ء)(aN)", b="%1ً"}, - {a="([^TA])(aN)", b="%1ًا"}, - {a="(iN)", b="ٍ"} + {a="%-?(uN)", b="ٌ"}, + {a="(B)%-?(aN)", b="%1ً"}, + {a="%-?(aN)(_A)", b="ًى"}, + {a="%-?(aN)(Y)", b="ًى"}, + {a="(T)%-?(aN)", b="%1ً"}, + {a="(ء)%-?(aN)", b="%1ً"}, + {a="([^TA])%-?(aN)", b="%1ًا"}, + {a="%-?(iNI?)", b="ٍ"} } tanwineasy = { -- 'easy' requires some lines to be taken out: - {a="uNU", b="ٌو"}, - {a="aNU", b="ًوا"}, - {a="iNU", b="ٍو"}, + {a="%-?uNU", b="ٌو"}, + {a="%-?aNU", b="ًوا"}, + {a="%-?iNU", b="ٍو"}, -- assimilations (begin) --- {a="(uN)(%s)([rlmnwy])", b="ٌ%2%3%3"}, --- {a="(aN)(_A)(%s)([rlmnwy])", b="ًى%3%4%4"}, --- {a="(aN)(Y)(%s)([rlmnwy])", b="ًى%3%4%4"}, --- {a="(T)(aN)(%s)([rlmnwy])", b="%1ً%3%4%4"}, --- {a="(ء)(aN)(%s)([rlmnwy])", b="%1ً%3%4%4"}, --- {a="([^TA])(aN)(%s)([rlmnwy])", b="%1ًا%3%4%4"}, --- {a="(iN)(%s)([rlmnwy])", b="ٍ%2%3%3"}, +-- {a="%-?(uN)(%s)([rlmnwy])", b="ٌ%2%3%3"}, +-- {a="%-?(aN)(_A)(%s)([rlmnwy])", b="ًى%3%4%4"}, +-- {a="%-?(aN)(Y)(%s)([rlmnwy])", b="ًى%3%4%4"}, +-- {a="(T)%-?(aN)(%s)([rlmnwy])", b="%1ً%3%4%4"}, +-- {a="(ء)%-?(aN)(%s)([rlmnwy])", b="%1ً%3%4%4"}, +-- {a="([^TA])%-?(aN)(%s)([rlmnwy])", b="%1ًا%3%4%4"}, +-- {a="%-?(iNI?)(%s)([rlmnwy])", b="ٍ%2%3%3"}, -- assimilations (end) -- quoted tanwīn (begin) - {a="(\"uN)", b=""}, - {a="(B)(\"aN)", b="%1"}, - {a="(\"aN)(_A)", b="ى"}, - {a="(\"aN)(Y)", b="ى"}, - {a="(T)(\"aN)", b="%1"}, - {a="(ء)(\"aN)", b="%1"}, - {a="([^TA])(\"aN)", b="%1ا"}, - {a="(\"iN)", b=""}, + {a="%-?(\"uN)", b=""}, + {a="(B)%-?(\"aN)", b="%1"}, + {a="%-?(\"aN)(_A)", b="ى"}, + {a="%-?(\"aN)(Y)", b="ى"}, + {a="(T)%-?(\"aN)", b="%1"}, + {a="(ء)%-?(\"aN)", b="%1"}, + {a="([^TA])%-?(\"aN)", b="%1ا"}, + {a="%-?(\"iNI?)", b=""}, -- quoted tanwīn (end) - {a="(uN)", b="ٌ"}, - {a="(B)(aN)", b="%1ً"}, - {a="(aN)(_A)", b="ًى"}, - {a="(aN)(Y)", b="ًى"}, - {a="(T)(aN)", b="%1ً"}, - {a="(ء)(aN)", b="%1ً"}, - {a="([^TA])(aN)", b="%1ًا"}, - {a="(iN)", b="ٍ"} + {a="%-?(uN)", b="ٌ"}, + {a="(B)%-?(aN)", b="%1ً"}, + {a="%-?(aN)(_A)", b="ًى"}, + {a="%-?(aN)(Y)", b="ًى"}, + {a="(T)%-?(aN)", b="%1ً"}, + {a="(ء)%-?(aN)", b="%1ً"}, + {a="([^TA])%-?(aN)", b="%1ًا"}, + {a="%-?(iNI?)", b="ٍ"} } trigraphs = { -- trigraphs or more @@ -317,13 +327,13 @@ trigraphs = { -- trigraphs or more {a="^(a)([%_%^%.]?[tdrzsn])%-", b="ا%1ل%2"}, {a="([%s%-])(a)([%_%^%.]?[tdrzsn])%-", b="%1ا%2ل%3"}, -- al- + initial unstable hamza - {a="^(a)l%-(\")([uai])", b="ا%1لٱ%3"}, - {a="([%s%-])(a)l%-(\")([uai])", b="%1ا%2لٱ%4"}, - {a="^(a)l%-([uai])", b="ا%1لا%2"}, - {a="([%s%-])(a)l%-([uai])", b="%1ا%2لا%3"}, + {a="^(a)l%-(\")([uai])", b="ا%1ل%3ٱ"}, + {a="([%s%-])(a)l%-(\")([uai])", b="%1ا%2ل%4ٱ"}, + {a="^(a)l%-([uai])", b="ا%1ل%2ا"}, + {a="([%s%-])(a)l%-([uai])", b="%1ا%2ل%3ا"}, -- li-/la- + art. + initial unstable hamza is a special orthography - {a="l([ai])%-l%-(\")([uai])", b="ل%1لٱ%3"}, - {a="l([ai])%-l%-([uai])", b="ل%1لا%2"}, + {a="l([ai])%-l%-(\")([uai])", b="ل%1ل%3ٱ"}, + {a="l([ai])%-l%-([uai])", b="ل%1ل%2ا"}, -- al- + lunar consonant (i.e. what remains) {a="^(a)l%-", b="ا%1ل"}, {a="([%s%-])(a)l%-", b="%1ا%2ل"}, @@ -344,8 +354,8 @@ trigraphs = { -- trigraphs or more -- li-/la + assim. art. + solar consonant is a special orthography {a="l([ai])%-([%_%^%.]?[tdrzsn])%-([%_%^%.]?[tdrzsn])", b="ل%1ل%3%3"}, -- art. with waṣla + initial unstable hamza - {a="'l%-(\")([uai])", b="الٱ%2"}, - {a="'l%-([uai])", b="الا%1"}, + {a="'l%-(\")([uai])", b="ال%2ٱ"}, + {a="'l%-([uai])", b="ال%1ا"}, -- art. with waṣla + lunar consonant (i.e. what remains) {a="'l%-", b="ال"}, -- the silent wāw @@ -377,13 +387,13 @@ trigraphseasy = { -- differences marked below with 'easy' {a="^(a)([%_%^%.]?[tdrzsn])%-", b="ا%1ل"}, {a="([%s%-])(a)([%_%^%.]?[tdrzsn])%-", b="%1ا%2ل"}, -- al- + initial unstable hamza - {a="^(a)l%-(\")([uai])", b="ا%1لٱ%3"}, - {a="([%s%-])(a)l%-(\")([uai])", b="%1ا%2لٱ%4"}, - {a="^(a)l%-([uai])", b="ا%1لا%2"}, - {a="([%s%-])(a)l%-([uai])", b="%1ا%2لا%3"}, + {a="^(a)l%-(\")([uai])", b="ا%1ل%3ٱ"}, + {a="([%s%-])(a)l%-(\")([uai])", b="%1ا%2ل%4ٱ"}, + {a="^(a)l%-([uai])", b="ا%1ل%2ا"}, + {a="([%s%-])(a)l%-([uai])", b="%1ا%2ل%3ا"}, -- li-/la- + art. + initial unstable hamza is a special orthography - {a="l([ai])%-l%-(\")([uai])", b="ل%1لٱ%3"}, - {a="l([ai])%-l%-([uai])", b="ل%1لا%2"}, + {a="l([ai])%-l%-(\")([uai])", b="ل%1ل%3ٱ"}, + {a="l([ai])%-l%-([uai])", b="ل%1ل%2ا"}, -- al- + lunar consonant (i.e. what remains) {a="^(a)l%-", b="ا%1ل"}, {a="([%s%-])(a)l%-", b="%1ا%2ل"}, @@ -404,8 +414,8 @@ trigraphseasy = { -- differences marked below with 'easy' -- li-/la + assim. art. + solar consonant is a special orthography (easy) {a="l([ai])%-([%_%^%.]?[tdrzsn])%-([%_%^%.]?[tdrzsn])", b="ل%1ل%3"}, -- art. with waṣla + initial unstable hamza - {a="'l%-(\")([uai])", b="الٱ%2"}, - {a="'l%-([uai])", b="الا%1"}, + {a="'l%-(\")([uai])", b="ال%2ٱ"}, + {a="'l%-([uai])", b="ال%1ا"}, -- art. with waṣla + lunar consonant (i.e. what remains) {a="'l%-", b="ال"}, -- the silent wāw @@ -424,13 +434,26 @@ trigraphseasy = { -- differences marked below with 'easy' } digraphs = { + -- ʾiʿrāb: straight double quote must be discarded + {a="(%-)(\"?[UI]na)(%p?%s)", b="%2%3"}, + {a="(%-)(\"?[UI]na)(%p?)$", b="%2%3"}, + {a="(%-)(\"?At[ui])(%p?%s)", b="%2%3"}, + {a="(%-)(\"?At[ui])(%p?)$", b="%2%3"}, + {a="(%-)(\"?Ani)(%p?%s)", b="%2%3"}, + {a="(%-)(\"?Ani)(%p?)$", b="%2%3"}, + {a="(%-)(\"?ayni)(%p?%s)", b="%2%3"}, + {a="(%-)(\"?ayni)(%p?)$", b="%2%3"}, + {a="(%-)(\"?[uai])(%p?%s)", b="%2%3"}, + {a="(%-)(\"?[uai])(%p?)$", b="%2%3"}, + -- ʾiʿrāb (end) -- initial straight double quote gives a connective ʾalif {a="^\"[uai]", b="ٱ"}, {a="([%s%-])\"[uai]", b="%1ٱ"}, {a="(aW)(%s)([uai])", b="awuا%2%3"}, - {a="(%-)([uai])", b="%1ا%2"}, -- hyphen + initial alif without hamza + -- hyphen + initial alif without hamza: + {a="(%-)([uai])([%^%_%.%`]?)(%a)", b="%1ا%3%4"}, {a="^([uai])", b="ا%1"}, -- initial alif without hamza - {a="(%s)([uai])", b="%1ا%2"}, -- initial alif without hamza + {a="(%s)([uai])", b="%1ا"}, -- initial alif without hamza {a="%-%-", b="ـ"}, {a="ؤؤ", b="ؤّ"}, {a="أأ", b="أّ"}, -- cgit v1.2.3