texlive[41397] Master/texmf-dist: arabluatex (28may16)
commits+karl at tug.org
commits+karl at tug.org
Sun Jun 12 01:25:52 CEST 2016
Revision: 41397
http://tug.org/svn/texlive?view=revision&revision=41397
Author: karl
Date: 2016-06-12 01:25:52 +0200 (Sun, 12 Jun 2016)
Log Message:
-----------
arabluatex (28may16)
Modified Paths:
--------------
trunk/Master/texmf-dist/doc/lualatex/arabluatex/arabluatex.pdf
trunk/Master/texmf-dist/source/lualatex/arabluatex/README.tex
trunk/Master/texmf-dist/source/lualatex/arabluatex/arabluatex.dtx
trunk/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex.lua
trunk/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex.sty
trunk/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_fullvoc.lua
trunk/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_novoc.lua
trunk/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_trans.lua
trunk/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_voc.lua
Modified: trunk/Master/texmf-dist/doc/lualatex/arabluatex/arabluatex.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/source/lualatex/arabluatex/README.tex
===================================================================
--- trunk/Master/texmf-dist/source/lualatex/arabluatex/README.tex 2016-06-11 23:25:30 UTC (rev 41396)
+++ trunk/Master/texmf-dist/source/lualatex/arabluatex/README.tex 2016-06-11 23:25:52 UTC (rev 41397)
@@ -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 @@
\item email: \url{alessi at 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 @@
\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}
Modified: trunk/Master/texmf-dist/source/lualatex/arabluatex/arabluatex.dtx
===================================================================
--- trunk/Master/texmf-dist/source/lualatex/arabluatex/arabluatex.dtx 2016-06-11 23:25:30 UTC (rev 41396)
+++ trunk/Master/texmf-dist/source/lualatex/arabluatex/arabluatex.dtx 2016-06-11 23:25:52 UTC (rev 41397)
@@ -27,7 +27,7 @@
%<package-info>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
%<package-info>\ProvidesPackage{arabluatex}
%<*package-info>
- [2016/05/09 v1.2 This is ArabTeX for LuaLaTeX]
+ [2016/05/28 v1.3 This is ArabTeX for LuaLaTeX]
%</package-info>
%
%<*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 @@
%</driver>
% \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 @@
\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
%</example>
@@ -579,15 +580,15 @@
\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 @@
% \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 @@
%
% \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 @@
% \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 @@
% \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 @@
% \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-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_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-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 @@
% |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 @@
% \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 @@
% \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 @@
% 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 @@
%
% |^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 @@
%</example>
% \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 @@
\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
%</example>
% \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 @@
% 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 @@
% \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,57 +1188,67 @@
% |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}.
+% |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-.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}.
+% |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
@@ -1229,13 +1255,13 @@
% 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,19 +1276,19 @@
% \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
@@ -1269,20 +1295,21 @@
% 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 @@
% 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 @@
% 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 @@
% \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 @@
% \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 @@
% \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 @@
% 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 @@
% 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 @@
% \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,8 +1568,8 @@
% 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}
@@ -1549,12 +1576,12 @@
% \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 @@
% 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 @@
% \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 @@
% |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 @@
% 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 @@
% 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
+%</example>
+% \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 @@
% \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 @@
% \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 @@
% \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 @@
\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 @@
% \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 @@
%<*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
%</example>
@@ -1917,10 +2037,10 @@
% \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 @@
\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,7 +2091,8 @@
% 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}
@@ -1978,8 +2099,8 @@
\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 @@
% \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 @@
% \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 at trans@style{\itshape}%
\NewDocumentCommand{\SetTranslitStyle}{m}{\def\al at trans@style{#1}}
@@ -2159,6 +2280,34 @@
\NewDocumentCommand{\SetTranslitConvention}{m}{\def\al at 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 at arbup@dflt}{m}{\textsuperscript{#1}}%
+\NewDocumentCommand{\al at arbup}{m}{\al at arbup@dflt{#1}}
+\NewDocumentCommand{\arbup}{m}{\al at arbup{#1}}
+\NewDocumentCommand{\ArbUpDflt}{}{\let\al at arbup=\al at arbup@dflt}
+\NewDocumentCommand{\NoArbUp}{}{\RenewDocumentCommand{\al at arbup}{m}{##1}}
+\NewDocumentCommand{\SetArbUp}{m}{\RenewDocumentCommand{\al at 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 @@
\else%
\ifx\@tempa\al at mode@novoc%
\bgroup\textdir TRT\arabicfont%
- \luadirect{tex.sprint(processnovoc(\luastringN{#2}))}\egroup%
+ \luadirect{tex.sprint(processnovoc(\luastringN{#2},
+ \luastringO{\al at arb@rules}))}\egroup%
\else%
\ifx\@tempa\al at mode@trans%
\bgroup\textdir TLT\al at trans@style%
@@ -2230,7 +2380,8 @@
\else%
\ifx\@tempa\al at mode@novoc%
\bgroup\pardir TRT\textdir TRT\arabicfont%
- \luadirect{tex.sprint(processnovoc(\luastringO{\BODY}))}\egroup%
+ \luadirect{tex.sprint(processnovoc(\luastringO{\BODY},
+ \luastringO{\al at arb@rules}))}\egroup%
\else \ifx\@tempa\al at mode@trans%
\bgroup\pardir TLT\textdir TLT\al at trans@style%
\luadirect{tex.sprint(processtrans(\luastringO{\BODY},
Modified: trunk/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex.lua
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex.lua 2016-06-11 23:25:30 UTC (rev 41396)
+++ trunk/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex.lua 2016-06-11 23:25:52 UTC (rev 41397)
@@ -123,11 +123,12 @@
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 @@
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 @@
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 @@
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 @@
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
Modified: trunk/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex.sty
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex.sty 2016-06-11 23:25:30 UTC (rev 41396)
+++ trunk/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex.sty 2016-06-11 23:25:52 UTC (rev 41397)
@@ -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 at trans@style{#1}}
\def\al at trans@convention{dmg}
\NewDocumentCommand{\SetTranslitConvention}{m}{\def\al at trans@convention{#1}}
+\NewDocumentCommand{\al at arbup@dflt}{m}{\textsuperscript{#1}}%
+\NewDocumentCommand{\al at arbup}{m}{\al at arbup@dflt{#1}}
+\NewDocumentCommand{\arbup}{m}{\al at arbup{#1}}
+\NewDocumentCommand{\ArbUpDflt}{}{\let\al at arbup=\al at arbup@dflt}
+\NewDocumentCommand{\NoArbUp}{}{\RenewDocumentCommand{\al at arbup}{m}{##1}}
+\NewDocumentCommand{\SetArbUp}{m}{\RenewDocumentCommand{\al at 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 at mode@novoc%
\bgroup\textdir TRT\arabicfont%
- \luadirect{tex.sprint(processnovoc(\luastringN{#2}))}\egroup%
+ \luadirect{tex.sprint(processnovoc(\luastringN{#2},
+ \luastringO{\al at arb@rules}))}\egroup%
\else%
\ifx\@tempa\al at mode@trans%
\bgroup\textdir TLT\al at trans@style%
@@ -133,7 +140,8 @@
\else%
\ifx\@tempa\al at mode@novoc%
\bgroup\pardir TRT\textdir TRT\arabicfont%
- \luadirect{tex.sprint(processnovoc(\luastringO{\BODY}))}\egroup%
+ \luadirect{tex.sprint(processnovoc(\luastringO{\BODY},
+ \luastringO{\al at arb@rules}))}\egroup%
\else \ifx\@tempa\al at mode@trans%
\bgroup\pardir TLT\textdir TLT\al at trans@style%
\luadirect{tex.sprint(processtrans(\luastringO{\BODY},
Modified: trunk/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_fullvoc.lua
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_fullvoc.lua 2016-06-11 23:25:30 UTC (rev 41396)
+++ trunk/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_fullvoc.lua 2016-06-11 23:25:52 UTC (rev 41397)
@@ -23,6 +23,8 @@
--]]
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 @@
{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 @@
{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 @@
}
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 @@
{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 @@
{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 @@
}
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 @@
{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 @@
-- 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 @@
{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 @@
-- 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 @@
}
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 @@
{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 @@
}
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 @@
-- 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 @@
{a="([^0-9])%-([^0-9])", b="%1%2"},
{a="B", b="ـ"},
}
-
Modified: trunk/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_novoc.lua
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_novoc.lua 2016-06-11 23:25:30 UTC (rev 41396)
+++ trunk/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_novoc.lua 2016-06-11 23:25:52 UTC (rev 41397)
@@ -23,36 +23,36 @@
--]]
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="ٱ"},
Modified: trunk/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_trans.lua
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_trans.lua 2016-06-11 23:25:30 UTC (rev 41396)
+++ trunk/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_trans.lua 2016-06-11 23:25:52 UTC (rev 41397)
@@ -127,23 +127,31 @@
}
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 @@
{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 @@
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 @@
}
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 @@
}
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"},
Modified: trunk/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_voc.lua
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_voc.lua 2016-06-11 23:25:30 UTC (rev 41396)
+++ trunk/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_voc.lua 2016-06-11 23:25:52 UTC (rev 41397)
@@ -72,6 +72,8 @@
}
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 @@
{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 @@
{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 @@
}
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 @@
{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 @@
{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 @@
}
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 @@
{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 @@
-- 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 @@
{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 @@
-- 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 @@
}
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="أّ"},
More information about the tex-live-commits
mailing list