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