texlive[41637] Master/texmf-dist: arabluatex (5jul16)

commits+karl at tug.org commits+karl at tug.org
Tue Jul 5 23:39:55 CEST 2016


Revision: 41637
          http://tug.org/svn/texlive?view=revision&revision=41637
Author:   karl
Date:     2016-07-05 23:39:55 +0200 (Tue, 05 Jul 2016)
Log Message:
-----------
arabluatex (5jul16)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/lualatex/arabluatex/arabluatex.pdf
    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_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/arabluatex.dtx
===================================================================
--- trunk/Master/texmf-dist/source/lualatex/arabluatex/arabluatex.dtx	2016-07-05 21:39:42 UTC (rev 41636)
+++ trunk/Master/texmf-dist/source/lualatex/arabluatex/arabluatex.dtx	2016-07-05 21:39:55 UTC (rev 41637)
@@ -27,7 +27,7 @@
 %<package-info>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
 %<package-info>\ProvidesPackage{arabluatex}
 %<*package-info>
-    [2016/05/28 v1.3 This is ArabTeX for LuaLaTeX]
+    [2016/07/05 v1.4 This is ArabTeX for LuaLaTeX]
 %</package-info>
 %
 %<*driver>
@@ -130,13 +130,13 @@
 \usepackage[english]{babel}
 \usepackage{dox}
 \doxitem{Option}{option}{options}
-\def\actualchar{ =}
+\def\actualchar{ =} % there's a bug in doxitem; quick fix.
 \usepackage{fontspec,luatextra}
-\defaultfontfeatures{RawFeature={+liga;+onum;+hlig}}
-\setmainfont{Libertinus Serif}
-\setsansfont{Libertinus Sans}
-\setmonofont[Scale=.9]{Libertinus Mono}
-\usepackage{arabluatex}[2016/05/28]
+\defaultfontfeatures{RawFeature={+liga}}
+\setmainfont{Old Standard}[SmallCapsFont={Latin Modern Roman Caps}]
+\newfontfamily\translitfont{Latin Modern Roman}[Ligatures=TeX]
+\usepackage{arabluatex}[2016/07/05]
+\SetTranslitFont{\translitfont}
 \usepackage{varioref}
 \usepackage{hypdoc}
 \hypersetup{unicode=true, colorlinks, allcolors=blue,
@@ -189,7 +189,7 @@
 %</driver>
 % \fi
 %
-% \CheckSum{342}
+% \CheckSum{371}
 %
 % \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
@@ -217,7 +217,8 @@
 % \DoNotIndex{\else,\endcsname,\endinput,\expandafter,\fi}
 % \DoNotIndex{\ifdef,\ifdefined,\ifx,\MessageBreak,\NeedsTeXFormat}
 % \DoNotIndex{\NewDocumentCommand,\newif,\PackageError,\PackageWarning}
-% \DoNotIndex{\relax,\RenewDocumentCommand,\string,\verb}
+% \DoNotIndex{\relax,\RenewDocumentCommand,\string,\verb,\let}
+% \DoNotIndex{\enskip}
 % 
 % \providecommand*{\url}{\texttt}
 % \GetFileInfo{arabluatex.dtx}
@@ -310,9 +311,9 @@
 % \package{arabtex} dates back to 1992. As far as I know, it was then
 % the first and only way to typeset Arabic texts with \TeX\ and
 % \LaTeX. To achieve that, \package{arabtex} provided---and still
-% does---an Arabic font in \emph{Nasḫī} style and a macro package that
-% defined its own input notation which was, as the author stated,
-% \enquote{both machine, and human, readable, and suited for
+% does---an Arabic font in \arb[trans]{\cap{nasxI}} style and a macro
+% package that defined its own input notation which was, as the author
+% stated, \enquote{both machine, and human, readable, and suited for
 % electronic transmission and e-mail
 % communication}.\footnote{\textcite[2]{pkg:arabtex}.}  Even if the
 % same can be said about Unicode, Arab\TeX\ \textsc{ASCII} input
@@ -410,7 +411,7 @@
 % loading \package{arabluatex}. Assuming that \package{fontspec} is
 % loaded, put this in your preamble just above the line that loads
 % \package{arabluatex}:
-% \arabluabox{\cs{newfontfamily}\cs{arabicfont}[Script=Arabic]\marg{fontname}}
+% \arabluabox{\cs{newfontfamily}\cs{arabicfont}\marg{fontname}[Script=Arabic]}
 % \noindent where \meta{fontname} is the standard name of the Arabic
 % font you wish to use.
 %
@@ -417,19 +418,19 @@
 % By default, if no Arabic font is selected, \package{arabluatex} will
 % issue a warning message and attempt to load the Amiri
 % font\footnote{\textcite{pkg:amiri}.} like so:---\\
-% \arabluaverb{\newfontfamily\arabicfont[Script=Arabic]{Amiri}}
+% \arabluaverb{\newfontfamily\arabicfont{Amiri}[Script=Arabic]}
 % \begin{quoting}
 %   \textsc{Rem.} By default Amiri places the \arb[trans]{kasraT} in
 %   combination with the \arb[trans]{ta^sdId} below the consonant,
 %   like so: \arb{BBi}\,. That is correct, as at least in the oldest
-%   manuscripts {\newfontfamily\arabicfont[Script=Arabic,
-%   RawFeature={+ss05}]{Amiri}\arb{BBi}} may stand for \arb{BBa} as
+%   manuscripts {\newfontfamily\arabicfont{Amiri}[Script=Arabic,
+%   RawFeature={+ss05}]\arb{BBi}} may stand for \arb{BBa} as
 %   well as \arb{BBi}\,. See \textcite[i.14.C--D]{Wright}. The placement
 %   of the \arb[trans]{kasraT} above the consonant may be obtained by
 %   selecting the |ss05| feature of the Amiri font, like
 %   so:---\footnote{See the documentation of \package{amiri},
 %   \textcite[5]{pkg:amiri}.}\\
-%   \arabluaverb{\newfontfamily\arabicfont[Script=Arabic,RawFeature={+ss05}]{Amiri}}
+%   \arabluaverb{\newfontfamily\arabicfont{Amiri}[Script=Arabic,RawFeature={+ss05}]}
 %
 %   Other Arabic fonts may behave differently.
 % \end{quoting}
@@ -444,8 +445,8 @@
 % which is the one selected by default, every short vowel written
 % generates its corresponding diacritical mark: \arb[trans]{.dammaT}
 % (\arb{Bu}), \arb[trans]{fat.haT} (\arb{Ba}) and \arb[trans]{kasraT}
-% (\arb{Bi}). If a vowel is followed by \meta{uN, aN, iN}, then the
-% corresponding \arb[trans]{tanwIn} (\arb{BuN}, \arb{B|aN}\,,
+% (\arb{Bi}). If a vowel is followed by |N|, viz. \meta{uN, aN, iN},
+% then the 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|
@@ -579,17 +580,17 @@
 \begin{arabluacode}
  \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:
+   li-yarkaba-hu fI safraTiN qa.sIraTiN fa-qAla la-hu:
    \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-.himAr-u laysa hunA
+   'u.haqqiqa la-ka ra.gbabata-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
+   'l-.himAr-u yanhaqu fI 'i.s.tabli-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-.himAr-a
-   wa-tuka_d_dibu-nI?}
+   wa-tuka_d_diba-nI?}
   \end{arab}
 \end{arabluacode}
 % \iffalse
@@ -621,7 +622,7 @@
 %\section{Standard Arab\TeX\ input}
 %\subsection{Consonants}
 % \Cref{tab:arabtex-consonants} gives the Arab\TeX\ equivalents for
-% all of the Arabic consonants.
+% all of the Arabic consonants.\linebreak
 % \newcommand{\dmg}[1]{%
 %   \SetTranslitConvention{dmg}%
 %   \arb[trans]{#1}}
@@ -1565,7 +1566,7 @@
 % A double hyphen \meta{-\,-} stretches the ligature in which one
 % letter is bound to another. Although it is always better to rely on
 % automatic stretching, this technique may be used to a modest extent,
-% especially to increase legibility of letters an diacritics which
+% especially to increase legibility of letters and diacritics which
 % stand one above the other:--
 % \begin{quote}
 %   |.hunayn-u| |bn-u| |'is.h--_aq-a| \arb[voc]{.hunayn-u bn-u
@@ -1747,9 +1748,26 @@
 % any point of the document by the command
 % \cs{SetTranslitStyle}\marg{style}, where \meta{style} may be any
 % font shape selection command, eg. \cs{upshape}, \cs{itshape},
-% \cs{slshape}, and so forth. Any specific font may also be selected
-% using the font-selecting commands of the \package{fontspec} package.
+% \cs{slshape}, and so forth.
 %
+% \paragraph{Font} \NEWfeature{v1.4} \DescribeMacro{\SetTranslitFont}
+% \cs{SetTranslitFont}\marg{font selection command} allows any
+% specific font to be selected for rendering transliterated text with
+% the font-selecting commands of the \package{fontspec} or
+% \package{luaotfload} package. Of course, this font must have been
+% defined properly. To take one example, here is how the \emph{Gentium
+% Plus} font may be used for rendering transliterated text:---
+% \iffalse
+%<*example>
+% \fi
+\begin{arabluaverbatim}
+\newfontfamily\translitfont{Gentium Plus}[Ligatures=TeX]
+\SetTranslitFont{\translitfont}
+\end{arabluaverbatim}
+% \iffalse
+%</example>
+% \fi
+%
 % \paragraph{Proper names} \DescribeMacro{\cap} Proper names or book
 % titles that must have their first letters uppercased may be passed
 % as arguments to the command \cs{cap}\marg{word}. \cs{cap} is a
@@ -1843,7 +1861,8 @@
 %   \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[voc]{fataN_A} \arb[trans]{fataN_A}, |qA.diNI| \arb{qA.diNI}
+%   \arb[trans]{qA.diNI}.
 %
 %   \arb[trans]{\textbf{.gayr mun.sarif}}: |al-mu`allim-u|
 %   \arb[voc]{al-mu`allim-u} \arb[trans]{al-mu`allim-u}, |kitAb-Ani|
@@ -1888,15 +1907,15 @@
 % \begin{arab}[trans]
 %   \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
+%   qa.sIraTiN fa-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}:
 %   \enquote{'anA 'AsifuN jiddaN 'annI lA 'asta.tI`u 'an 'u.haqqiqa
-%   la-ka .garbata-ka fa-'l-.himAr-u laysa hunA 'l-yawm-a.}  wa-qabla
+%   la-ka ra.gbata-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
+%   'i.s.tabli-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-.himAr-a
-%   wa-tuka_d_dibu-nI?}
+%   wa-tuka_d_diba-nI?}
 % \end{arab}
 % 
 % \SetTranslitConvention{loc}
@@ -1903,18 +1922,165 @@
 % \begin{arab}[trans]
 %   \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
+%   qa.sIraTiN fa-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}:
 %   \enquote{'anA 'AsifuN jiddaN 'annI lA 'asta.tI`u 'an 'u.haqqiqa
-%   la-ka .garbata-ka fa-'l-.himAr-u laysa hunA 'l-yawm-a.}  wa-qabla
+%   la-ka ra.gbata-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
+%   'i.s.tabli-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-.himAr-a
-%   wa-tuka_d_dibu-nI?}
+%   wa-tuka_d_diba-nI?}
 % \end{arab}
 % \SetTranslitConvention{dmg}
 %
+% \section{Buckwalter input scheme}
+% \label{sec:buckwalter-scheme}
+% \NEWfeature{v1.4} Even though \package{arabluatex} is primarily
+% designed to process the Arab\TeX\ notation, it can also process the
+% Buckwalter input scheme to a large extent.\footnote{See
+% \url{http://www.qamus.org/transliteration.htm}} The Buckwalter
+% scheme is actually processed in two steps, as it is first converted
+% into Arab\TeX. Then, once this is accomplished, the Arab\TeX\ scheme
+% is processed through the above described functions. In this way, the
+% Buckwalter input scheme can make the most of the
+% \package{arabluatex} special features that are presented in
+% \vref{sec:options}.
+%
+% \DescribeMacro{\SetInputScheme} The input scheme, which is set to
+% |arabtex| by default, may be changed at any point of the document by
+% the command \cs{SetInputScheme}\marg{scheme}, where \meta{scheme}
+% may be either |arabtex| or |buckwalter|. This command is also
+% accepted in the preamble should one wish to set the input scheme
+% globally, like so:---
+% \iffalse
+%<*example>
+% \fi
+\begin{arabluaverbatim}
+\usepackage{arabluatex}
+\SetInputScheme{buckwalter}
+\end{arabluaverbatim}
+% \iffalse
+%</example>
+% \fi
+%
+% \paragraph{Limitations}
+% To date, the following two limitations apply:
+% \begin{compactenum}[(a)]
+% \item The braces |{| and |}|, which are used in Buckwalter scheme to
+%   encode \arb[novoc]{"a} and \arb[novoc]{y"'}, must be replaced with
+%   square brackets viz. |[| and |]| respectively.
+% \item The underscore character |_|, which is used in Buckwalter
+% scheme to encode the Arabic \arb[trans]{ta.twIl} must be replaced
+% with a double hyphen |--| (see above \vref{sec:tatwil}).
+% \end{compactenum}
+%
+% \Cref{tab:buckwalter-scheme} gives the Buckwalter equivalents that
+% are currently used by \package{arabluatex}. The additional
+% characters that are defined in \vref{tab:additional-arabic-codings}
+% are also available.
+% \begin{longtable}{llll}
+% \captionlistentry{Buckwalter scheme}\\[-1em]
+% \toprule
+% Letter & \multicolumn{2}{l}{Transliteration\footnotemark}
+% & Buckwalter notation \\
+%        & \texttt{dmg} & \texttt{loc} & \\ \midrule
+% \endfirsthead
+% \toprule
+% Letter & \multicolumn{2}{l}{Transliteration}
+% & Buckwalter notation \\
+%        & \texttt{dmg} & \texttt{loc} & \\ \midrule
+% \endhead \footnotetext{See \vref{sec:transliteration}.}
+% \label{tab:buckwalter-scheme}
+% \arb[novoc]{a} & \dmg{a} & \loc{a} & \verb|A| \\
+% \arb[novoc]{b} & \dmg{b} & \loc{b} & |b| \\
+% \arb[novoc]{t} & \dmg{t} & \loc{t} & |t| \\
+% \arb[novoc]{_t} & \dmg{_t} & \loc{_t} & |v|\\
+% \arb[novoc]{j} & \dmg{j} & \loc{j} & |j| \\
+% \arb[novoc]{.h} & \dmg{.h} & \loc{.h} & |H| \\
+% \arb[novoc]{x} & \dmg{x} & \loc{x} & |x|\\
+% \arb[novoc]{d} & \dmg{d} & \loc{d} & |d| \\
+% \arb[novoc]{_d} & \dmg{_d} & \loc{_d} & |*| \\
+% \arb[novoc]{r} & \dmg{r} & \loc{r} & |r| \\
+% \arb[novoc]{z} & \dmg{z} & \loc{z} & |z| \\
+% \arb[novoc]{s} & \dmg{s} & \loc{s} & |s| \\
+% \arb[novoc]{^s} & \dmg{^s} & \loc{^s} & |$| \\
+% \arb[novoc]{.s} & \dmg{.s} & \loc{.s} & |S| \\
+% \arb[novoc]{.d} & \dmg{.d} & \loc{.d} & |D| \\
+% \arb[novoc]{.t} & \dmg{.t} & \loc{.t} & |T| \\
+% \arb[novoc]{.z} & \dmg{.z} & \loc{.z} & |Z| \\
+% \arb[novoc]{`} & \dmg{`} & \loc{`} & |E| \\
+% \arb[novoc]{.g} & \dmg{.g} & \loc{.g} & |g| \\
+% \arb[novoc]{f} & \dmg{f} & \loc{f} & |f| \\
+% \arb[novoc]{q} & \dmg{q} & \loc{q} & |q| \\
+% \arb[novoc]{k} & \dmg{k} & \loc{k} & |k| \\
+% \arb[novoc]{l} & \dmg{l} & \loc{l} & |l| \\
+% \arb[novoc]{m} & \dmg{m} & \loc{m} & |m| \\
+% \arb[novoc]{n} & \dmg{n} & \loc{n} & |n| \\
+% \arb[novoc]{h} & \dmg{h} & \loc{h} & |h| \\
+% \arb[novoc]{w} & \dmg{w} & \loc{w} & |w| \\
+% \arb[novoc]{y} & \dmg{y} & \loc{y} & |y| \\
+% \arb[novoc]{T} & \dmg{aT} & \loc{aT} & |p| \\
+% \midrule
+% \arb[novoc]{|"'} & \dmg{|"'} & \loc{|"'} & \verb|'| \\
+% \arb[novoc]{A"'} & \dmg{A"'} & \loc{A"'} & \verb+|+ \\
+% \arb[novoc]{a"'} & \dmg{a"'} & \loc{a"'} & \verb|>| \\
+% \arb[novoc]{w"'} & \dmg{w"'} & \loc{w"'} & \verb|&| \\
+% \arb[novoc]{i"'} & \dmg{i"'} & \loc{i"'} & \verb|<| \\
+% \arb[novoc]{y"'} & \dmg{y"'} & \loc{y"'} & \verb|]| \\
+% \midrule
+% \arb[novoc]{BB} & --- & --- & \verb|~| \\
+% \arb[novoc]{"a} & ' & ' & |[| \\
+% \midrule
+% \arb[voc]{Ba} & \dmg{Ba} & \loc{Ba} & \verb|a| \\
+% \arb[voc]{Bu} & \dmg{Bu} & \loc{Bu} & \verb|u| \\
+% \arb[voc]{Bi} & \dmg{Bi} & \loc{Bi} & \verb|i| \\
+% \arb[voc]{BaN} & \dmg{BaN} & \loc{BaN} & \verb|F| \\
+% \arb[voc]{BuN} & \dmg{BuN} & \loc{BuN} & \verb|N| \\
+% \arb[voc]{BiN} & \dmg{BiN} & \loc{BiN} & \verb|K| \\
+% \arb[voc]{B"} & --- & --- & \verb|o| \\
+% \midrule
+% \arb[novoc]{B_a} & \dmg{B_a} & \loc{B_a} & |`| \\
+% \midrule
+% \arb[novoc]{--} & --- & --- & |--| (\arb[trans]{ta.twIl})\\
+% \bottomrule
+% \caption*{\Cref*{tab:buckwalter-scheme}: Buckwalter scheme}
+% \end{longtable}
+%
+% \paragraph{Transliteration}
+% The Buckwalter notation can also be transliterated into any accepted
+% romanization standard of Arabic. See above
+% \vref{sec:transliteration} for more information. However, it should
+% be pointed out again that only accurate coding produces accurate
+% transliteration. It is therefore at the very least highly advisable
+% to use the hyphen for tying the definite article and the inseparable
+% particles (viz. prepositions, adverbs and conjunctions) to words,
+% like so:--- \SetInputScheme{buckwalter}
+% \begin{quote}
+%   |Al-EaAlamu| \arb{Al-EaAlam-u} \arb[trans]{Al-EaAlam-u},
+%   |Al-$~amsu| \arb{Al-$~ams-u} \arb[trans]{Al-$~ams-u},
+%   |bi-SinaAEapi| |Al-T~ib~i|, \arb{bi-SinaAEap-i Al-T~ib~-i}
+%   \arb[trans]{bi-SinaAEap-i Al-T~ib~-i}.
+%
+%   |wa-Al-l~`hi| \arb{wa-Al-l~`h-i} \arb[trans]{wa-Al-l~`h-i},
+%   |Al-Hamdu| |li-l~`hi| \arb{Al-Hamd-u li-l~`h-i}
+%   \arb[trans]{Al-Hamd-u li-l~`h-i}.
+% \end{quote}
+% \SetInputScheme{arabtex}
+%
+% Similary, it is not advisable to use \verb+|+ and |[| to encode the
+% \arb[trans]{'alif-u 'l-mamdUdaT-i} and the \arb[trans]{'alif-u
+% 'l-wa.sl-i} for such signs can be generated by \package{arabluatex}.
+% Besides, as they do not \emph{per se} convey any morphological
+% information on what they are derived from, they cannot be
+% transliterated accurately. To take one example, %
+% \SetInputScheme{buckwalter}%
+% |<ilY Al-[ntiqaADi| gives \arb{>ilY Al-[ntiqaADi} as expected, but
+% only |<ilY Al-intiqADi| can be transliterated as \arb[trans]{<ilY
+% Al-intiqaADi} with the correct vowel \meta{i} in place of the %
+% \SetInputScheme{arabtex}%
+% \arb[trans]{'alif-u 'l-wa.sl-i}.
+% 
 % \section{\LaTeX\ Commands in Arabic environments}
 % \label{sec:commands-in-arb}
 % \paragraph{General principle} \label{ref:cmd-inside-arabic}\LaTeX\
@@ -1925,7 +2091,7 @@
 % as their arguments:---
 % \begin{quote}
 %   |\abjad{45}| |kitAbu-hu| |\emph{fI| |'l-\cap{`AdAt-i}}|
-%   \arb[voc]{\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{`AdAt-i}}}.\footnote{This is odd in Arabic script, but
 %   using such features as \cs{emph} or \cs{textbf} is a matter of
@@ -2073,7 +2239,7 @@
 \setquotestyle{arabic}
 \begin{arab}
   fa-qAla la-hu ju.hA: \enquote{.garIb-uN 'amru-ka yA .sadIqI
-    'a-tu.saddiqu 'l-.himAr-a wa-tuka_d_dibu-nI?}
+    'a-tu.saddiqu 'l-.himAr-a wa-tuka_d_diba-nI?}
 \end{arab}
 \setquotestyle{english}
 \end{arabluacode}
@@ -2150,7 +2316,7 @@
 %    \begin{macrocode}
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesPackage{arabluatex}%
-[2016/05/28 v1.3 ArabTeX-like interface for LuaLaTeX]
+[2016/07/05 v1.4 ArabTeX-like interface for LuaLaTeX]
 \RequirePackage{ifluatex}
 %    \end{macrocode}
 % \package{arabluatex} requires \LuaLaTeX\ of course. Issue a warning
@@ -2245,17 +2411,29 @@
   {\RenewDocumentCommand{\aemph}{m}{$\overline{\text{#1}}$}}
   {\NewDocumentCommand{\aemph}{m}{$\overline{\text{#1}}$}}}
 %    \end{macrocode}
+% \begin{macro}{\SetInputScheme}
+%   \changes{v1.4}{2016/07/05}{\cs{SetInputScheme} may be used to
+%   process other input schemes such as \enquote*{Buckwalter}}
+%   \package{arabluatex} is designed for processing Arab\TeX\ input
+%   notation. \cs{SetInputScheme} may be used in the preamble or at
+%   any point of the document should the user wish to use a different
+%   notation such as the \enquote*{Buckwalter scheme}.
+%    \begin{macrocode}
+\def\al at input@scheme{arabtex}
+\NewDocumentCommand{\SetInputScheme}{m}{\def\al at input@scheme{#1}}
+%    \end{macrocode}
 % \end{macro}
+% \end{macro}
 % \begin{macro}{\SetArbEasy}
 %   \changes{v1.2}{2016/05/09}{New \cs{SetArbEasy}/\cs{SetArbDflt} for
 %   \enquote*{modern} or \enquote*{classic} Arabic styles.}
 % \begin{macro}{\SetArbDflt}
 %   By default, \package{arabluatex} applies complex rules to generate
-%   euphonic \arb[trans]{ta^sdId}, \arb[trans]{'alif mamdUdaT}
-%   \linebreak and \arb[trans]{sukUn} depending on the modes which are
-%   selected, either |voc|, |fullvoc| or |trans|. Such refinements can
-%   be discarded with \cs{SetArbEasy}, either globally in the preamble
-%   or at any point of the document. Default complex rules can be set
+%   euphonic \arb[trans]{ta^sdId}, \arb[trans]{'alif mamdUdaT} and
+%   \arb[trans]{sukUn} depending on the modes which are selected,
+%   either |voc|, |fullvoc| or |trans|. Such refinements can be
+%   discarded with \cs{SetArbEasy}, either globally in the preamble or
+%   at any point of the document. Default complex rules can be set
 %   back at any point of the document with \cs{SetArbDflt}.
 %    \begin{macrocode}
 \def\al at arb@rules{dflt}
@@ -2263,7 +2441,18 @@
 \NewDocumentCommand{\SetArbDflt}{}{\def\al at arb@rules{dflt}}
 %    \end{macrocode}
 % \end{macro}
+% \begin{macro}{\SetTranslitFont}
+%   \changes{v1.4}{2016/07/05}{For selecting a specific font for
+%   transliterated texts} By default, the font that is used for
+%   transliterated text is the main font of the document. Any other
+%   font may also be selected with the font-selecting commands of the
+%   \package{fontspec} package.
+%    \begin{macrocode}
+\def\al at trans@font{\rmfamily}%
+\NewDocumentCommand{\SetTranslitFont}{m}{\def\al at trans@font{#1}}
+%    \end{macrocode}
 % \end{macro}
+% \end{macro}
 % \begin{macro}{\SetTranslitStyle} By default any transliterated
 %   Arabic text is printed in italics. This can be changed either
 %   globally in the preamble or at any point of the document:
@@ -2327,7 +2516,7 @@
 \DeclareDocumentCommand{\txarb}{+m}{\bgroup\textdir
   TRT\arabicfont#1\egroup}
 \DeclareDocumentCommand{\txtrans}{+m}{\bgroup\textdir
-  TLT\rmfamily#1\egroup}
+  TLT\al at trans@font#1\egroup}
 %    \end{macrocode}
 % \end{macro}
 % \end{macro}
@@ -2341,23 +2530,24 @@
   \ifx\@tempa\al at mode@voc%
   \bgroup\textdir TRT\arabicfont%
   \luadirect{tex.sprint(processvoc(\luastringN{#2},
-    \luastringO{\al at arb@rules}))}\egroup%
+    \luastringO{\al at arb@rules}, \luastringO{\al at input@scheme}))}\egroup%
   \else%
   \ifx\@tempa\al at mode@fullvoc%
   \bgroup\textdir TRT\arabicfont%
   \luadirect{tex.sprint(processfullvoc(\luastringN{#2},
-    \luastringO{\al at arb@rules}))}\egroup%
+    \luastringO{\al at arb@rules}, \luastringO{\al at input@scheme}))}\egroup%
   \else%
   \ifx\@tempa\al at mode@novoc%
   \bgroup\textdir TRT\arabicfont%
   \luadirect{tex.sprint(processnovoc(\luastringN{#2},
-    \luastringO{\al at arb@rules}))}\egroup%
+    \luastringO{\al at arb@rules}, \luastringO{\al at input@scheme}))}\egroup%
   \else%
   \ifx\@tempa\al at mode@trans%
   \bgroup\textdir TLT\al at trans@style%
   \luadirect{tex.sprint(processtrans(\luastringN{#2},
     \luastringO{\al at trans@convention},
-    \luastringO{\al at arb@rules}))}\egroup%
+    \luastringO{\al at arb@rules},
+    \luastringO{\al at input@scheme}))}\egroup%
   \else%
   \fi\fi\fi\fi}
 %    \end{macrocode}
@@ -2371,22 +2561,23 @@
   \ifx\@tempa\al at mode@voc%
   \bgroup\pardir TRT\textdir TRT\arabicfont%
   \luadirect{tex.sprint(processvoc(\luastringO{\BODY},
-    \luastringO{\al at arb@rules}))}\egroup%
+    \luastringO{\al at arb@rules}, \luastringO{\al at input@scheme}))}\egroup%
   \else%
   \ifx\@tempa\al at mode@fullvoc%
   \bgroup\pardir TRT\textdir TRT\arabicfont%
   \luadirect{tex.sprint(processfullvoc(\luastringO{\BODY},
-    \luastringO{\al at arb@rules}))}\egroup%
+    \luastringO{\al at arb@rules}, \luastringO{\al at input@scheme}))}\egroup%
   \else%
   \ifx\@tempa\al at mode@novoc%
   \bgroup\pardir TRT\textdir TRT\arabicfont%
   \luadirect{tex.sprint(processnovoc(\luastringO{\BODY},
-    \luastringO{\al at arb@rules}))}\egroup%
+    \luastringO{\al at arb@rules}, \luastringO{\al at input@scheme}))}\egroup%
   \else \ifx\@tempa\al at mode@trans%
   \bgroup\pardir TLT\textdir TLT\al at trans@style%
   \luadirect{tex.sprint(processtrans(\luastringO{\BODY},
     \luastringO{\al at trans@convention},
-    \luastringO{\al at arb@rules}))}\egroup%
+    \luastringO{\al at arb@rules},
+    \luastringO{\al at input@scheme}))}\egroup%
   \else \fi\fi\fi\fi}[\par]
 %    \end{macrocode}
 % \end{environment}

Modified: trunk/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex.lua
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex.lua	2016-07-05 21:39:42 UTC (rev 41636)
+++ trunk/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex.lua	2016-07-05 21:39:55 UTC (rev 41637)
@@ -456,12 +456,26 @@
 return str
 end
 
-function processvoc(str, rules)
+local function processbuckw(str)
+   str = string.gsub(str, "\\arb(%b{})", function(inside)
+   inside = string.sub(inside, 2, -2)
+   for i = 1,#buckwalter do
+      inside = string.gsub(inside, buckwalter[i].a, buckwalter[i].b)
+   end
+   return string.format("\\arb{%s}", inside)
+   end)
+return str
+end
+
+function processvoc(str, rules, scheme)
    str = "\\arb{".. str.."}"
    str = takeoutcapetc(str)
    str = protectarb(str)
    str = breakcmd(str)
    str = holdcmd(str)
+   if scheme == "buckwalter" then
+      str = processbuckw(str)
+      else end
    if rules == "easy" then
       str = voceasy(str)
    elseif rules == "dflt" then
@@ -471,12 +485,15 @@
 return str
 end
 
-function processfullvoc(str, rules)
+function processfullvoc(str, rules, scheme)
    str = "\\arb{".. str.."}"
    str = takeoutcapetc(str)
    str = protectarb(str)
    str = breakcmd(str)
    str = holdcmd(str)
+   if scheme == "buckwalter" then
+      str = processbuckw(str)
+      else end
    if rules == "easy" then
       str = fullvoceasy(str)
    elseif rules == "dflt" then
@@ -486,12 +503,15 @@
 return str
 end
 
-function processnovoc(str, rules)
+function processnovoc(str, rules, scheme)
    str = "\\arb{".. str.."}"
    str = takeoutcapetc(str)
    str = protectarb(str)
    str = breakcmd(str)
    str = holdcmd(str)
+   if scheme == "buckwalter" then
+      str = processbuckw(str)
+      else end
    if rules == "easy" then
       str = novoceasy(str)
    elseif rules == "dflt" then
@@ -501,12 +521,15 @@
 return str
 end
 
-function processtrans(str, mode, rules)
+function processtrans(str, mode, rules, scheme)
    str = "\\arb{".. str.."}"
    str = takeoutabjad(str)
    str = protectarb(str)
    str = breakcmd(str)
    str = holdcmd(str)
+   if scheme == "buckwalter" then
+      str = processbuckw(str)
+      else end
    if mode == "dmg" then
       if rules == "easy" then
 	 str = transdmgeasy(str)
@@ -538,7 +561,7 @@
    else
       str = "\\MakeUppercase "..str
    end
-return str
+return "\\txtrans{"..str.."}"
 end
 
 -- this function is adapted from an 'obsolete project' of Khaled

Modified: trunk/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex.sty
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex.sty	2016-07-05 21:39:42 UTC (rev 41636)
+++ trunk/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex.sty	2016-07-05 21:39:55 UTC (rev 41637)
@@ -41,7 +41,7 @@
 %% 
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesPackage{arabluatex}%
-[2016/05/28 v1.3 ArabTeX-like interface for LuaLaTeX]
+[2016/07/05 v1.4 ArabTeX-like interface for LuaLaTeX]
 \RequirePackage{ifluatex}
 \ifluatex\else
  \PackageError{arabluatex}{lualatex needed}{%
@@ -83,9 +83,13 @@
 \AtBeginDocument{\ifdef{\aemph}%
   {\RenewDocumentCommand{\aemph}{m}{$\overline{\text{#1}}$}}
   {\NewDocumentCommand{\aemph}{m}{$\overline{\text{#1}}$}}}
+\def\al at input@scheme{arabtex}
+\NewDocumentCommand{\SetInputScheme}{m}{\def\al at input@scheme{#1}}
 \def\al at arb@rules{dflt}
 \NewDocumentCommand{\SetArbEasy}{}{\def\al at arb@rules{easy}}
 \NewDocumentCommand{\SetArbDflt}{}{\def\al at arb@rules{dflt}}
+\def\al at trans@font{\rmfamily}%
+\NewDocumentCommand{\SetTranslitFont}{m}{\def\al at trans@font{#1}}
 \def\al at trans@style{\itshape}%
 \NewDocumentCommand{\SetTranslitStyle}{m}{\def\al at trans@style{#1}}
 \def\al at trans@convention{dmg}
@@ -101,29 +105,30 @@
 \DeclareDocumentCommand{\txarb}{+m}{\bgroup\textdir
   TRT\arabicfont#1\egroup}
 \DeclareDocumentCommand{\txtrans}{+m}{\bgroup\textdir
-  TLT\rmfamily#1\egroup}
+  TLT\al at trans@font#1\egroup}
 \DeclareDocumentCommand{\arb}{O{\al at mode} +m}%
 {\edef\@tempa{#1}%
   \ifx\@tempa\al at mode@voc%
   \bgroup\textdir TRT\arabicfont%
   \luadirect{tex.sprint(processvoc(\luastringN{#2},
-    \luastringO{\al at arb@rules}))}\egroup%
+    \luastringO{\al at arb@rules}, \luastringO{\al at input@scheme}))}\egroup%
   \else%
   \ifx\@tempa\al at mode@fullvoc%
   \bgroup\textdir TRT\arabicfont%
   \luadirect{tex.sprint(processfullvoc(\luastringN{#2},
-    \luastringO{\al at arb@rules}))}\egroup%
+    \luastringO{\al at arb@rules}, \luastringO{\al at input@scheme}))}\egroup%
   \else%
   \ifx\@tempa\al at mode@novoc%
   \bgroup\textdir TRT\arabicfont%
   \luadirect{tex.sprint(processnovoc(\luastringN{#2},
-    \luastringO{\al at arb@rules}))}\egroup%
+    \luastringO{\al at arb@rules}, \luastringO{\al at input@scheme}))}\egroup%
   \else%
   \ifx\@tempa\al at mode@trans%
   \bgroup\textdir TLT\al at trans@style%
   \luadirect{tex.sprint(processtrans(\luastringN{#2},
     \luastringO{\al at trans@convention},
-    \luastringO{\al at arb@rules}))}\egroup%
+    \luastringO{\al at arb@rules},
+    \luastringO{\al at input@scheme}))}\egroup%
   \else%
   \fi\fi\fi\fi}
 \NewEnviron{arab}[1][\al at mode]%
@@ -131,22 +136,23 @@
   \ifx\@tempa\al at mode@voc%
   \bgroup\pardir TRT\textdir TRT\arabicfont%
   \luadirect{tex.sprint(processvoc(\luastringO{\BODY},
-    \luastringO{\al at arb@rules}))}\egroup%
+    \luastringO{\al at arb@rules}, \luastringO{\al at input@scheme}))}\egroup%
   \else%
   \ifx\@tempa\al at mode@fullvoc%
   \bgroup\pardir TRT\textdir TRT\arabicfont%
   \luadirect{tex.sprint(processfullvoc(\luastringO{\BODY},
-    \luastringO{\al at arb@rules}))}\egroup%
+    \luastringO{\al at arb@rules}, \luastringO{\al at input@scheme}))}\egroup%
   \else%
   \ifx\@tempa\al at mode@novoc%
   \bgroup\pardir TRT\textdir TRT\arabicfont%
   \luadirect{tex.sprint(processnovoc(\luastringO{\BODY},
-    \luastringO{\al at arb@rules}))}\egroup%
+    \luastringO{\al at arb@rules}, \luastringO{\al at input@scheme}))}\egroup%
   \else \ifx\@tempa\al at mode@trans%
   \bgroup\pardir TLT\textdir TLT\al at trans@style%
   \luadirect{tex.sprint(processtrans(\luastringO{\BODY},
     \luastringO{\al at trans@convention},
-    \luastringO{\al at arb@rules}))}\egroup%
+    \luastringO{\al at arb@rules},
+    \luastringO{\al at input@scheme}))}\egroup%
   \else \fi\fi\fi\fi}[\par]
 \AtBeginDocument{%
   \ifdefined\abjad%

Modified: trunk/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_fullvoc.lua
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_fullvoc.lua	2016-07-05 21:39:42 UTC (rev 41636)
+++ trunk/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_fullvoc.lua	2016-07-05 21:39:55 UTC (rev 41637)
@@ -45,6 +45,8 @@
    {a="''([Uu])", b="ؤؤ%1"},
    {a="''([Aa])", b="أأ%1"},
    {a="''([Ii])", b="ئئ%1"},
+   -- inseparable adverbial particle 'a- + 'a
+   {a="\'(a)%-\'(a)", b="أ%1اأ%2"},
    -- initial long u and i (for a, see below)
    {a="%'%_U", b="أU"},
    {a="%'%_I", b="إI"},
@@ -141,6 +143,8 @@
    {a="''([Uu])", b="ؤؤ%1"},
    {a="''([Aa])", b="أأ%1"},
    {a="''([Ii])", b="ئئ%1"},
+   -- inseparable adverbial particle 'a- + 'a
+   {a="\'(a)%-\'(a)", b="أ%1اأ%2"},
    -- initial long u and i (for a, see below)
    {a="%'%_U", b="أU"},
    {a="%'%_I", b="إI"},
@@ -464,10 +468,12 @@
    {a="([%_%^%.]?[Bbtjghxdrzs%`fqklmnwy])([%s])", 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"},
-   {a="(n)(ْ)(%s)([م])", b="%1%3%4"},
-   {a="(n)(ْ)(%s)([ن])", b="%1%3%4"},
+   {a="(n)(ْ)(%s)(ر)", b="%1%3%4"},
+   {a="(n)(ْ)(%s)(و)", b="%1%3%4"},
+   {a="(n)(ْ)(%s)(ي)", b="%1%3%4"},
+   {a="(n)(ْ)(%s)(ل)", b="%1%3%4"},
+   {a="(n)(ْ)(%s)(م)", b="%1%3%4"},
+   {a="(n)(ْ)(%s)(ن)", b="%1%3%4"},
    {a="ْ\"", b="\""},
    -- sukūn end
    {a="_t", b="ث"},

Modified: trunk/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_trans.lua
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_trans.lua	2016-07-05 21:39:42 UTC (rev 41636)
+++ trunk/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_trans.lua	2016-07-05 21:39:55 UTC (rev 41637)
@@ -147,11 +147,12 @@
    {a="%-?(iN)(%s)(i)", b="\\arbup{ini}%2%'"},
    --
 -- {a="uN", b="\\arbup{un}"}, (now included in the last line of this table)
+   {a="%-?(\"?At)%-?([ui])N", b="\\arbup{%1%2n}"},
    {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}"}
+   {a="%-?([ui])N", b="\\arbup{%1n}"}
 }
 
 trigraphstrdmg = { -- trigraphs or more
@@ -439,12 +440,12 @@
    {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="%-?(\"?At)%-?([ui])N", b="%1%2n"},
+   {a="%-?([ui])N", b="%1n"},
+   {a="%-?(aN)(_A)", b="an"},
    {a="%-?(aN)(Y)", b="an"},
    {a="(T)%-?(\"?aN)", b="tan"},
-   {a="([^TA])%-?(\"?aN)", b="%1an"},
-   {a="(%-?)(\"?A?t?)(%-?)([ui])(N)", b="%2%4n"},
+   {a="([^TA])%-?(\"?aN)", b="%1an"}
 }
 
 trigraphstrloc = { -- trigraphs or more

Modified: trunk/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_voc.lua
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_voc.lua	2016-07-05 21:39:42 UTC (rev 41636)
+++ trunk/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_voc.lua	2016-07-05 21:39:55 UTC (rev 41637)
@@ -71,6 +71,88 @@
    {a="i", b="ِ"}
 }
 
+buckwalter = {
+   --- hard coded madda: hold it for now
+   {a="%|", b="@"},
+   -- prevent any unwanted šadda from being generated
+   {a="bb", b="b|b"},
+   {a="tt", b="t|t"},
+   {a="vv", b="v|v"},
+   {a="jj", b="j|j"},
+   {a="HH", b="H|H"},
+   {a="xx", b="x|x"},
+   {a="dd", b="d|d"},
+   {a="%*|%*", b="*|*"},
+   {a="rr", b="r|r"},
+   {a="ss", b="s|s"},
+   {a="%$%$", b="$|$"},
+   {a="SS", b="S|S"},
+   {a="DD", b="D|D"},
+   {a="TT", b="T|T"},
+   {a="ZZ", b="Z|Z"},
+   {a="EE", b="E|E"},
+   {a="gg", b="g|g"},
+   {a="ff", b="f|f"},
+   {a="qq", b="q|q"},
+   {a="kk", b="k|k"},
+   {a="ll", b="l|l"},
+   {a="mm", b="m|m"},
+   {a="nn", b="n|n"},
+   {a="hh", b="h|h"},
+   {a="ww", b="w|w"},
+   {a="yy", b="y|y"},
+   -- hamza begin
+   -- look into this later on:
+--   {a="%>a?A", b="@@@"}, -- hold this (madda)
+--   {a="%>a\'([^uai])", b="@@@%1"}, -- hold this (madda)
+   {a="a?A\'", b="@@"}, -- hold this (classic madda)
+   {a="\'", b="|\"\'"},
+   {a="%>", b="a\"\'"},
+   {a="%&", b="w\"\'"},
+   {a="%<", b="i\"\'"},
+   {a="%]", b="y\"\'"},
+   -- hamza end
+   -- trigraphs
+   {a="^Aal%-?", b="al-"},
+   {a="(%W)Aal%-?", b="%1al-"},
+   {a="(%s)Aal%-?", b="%1al-"},
+   {a="([%-%s])Al%-?", b="%1\'l-"},
+   {a="^A", b="a"},
+   {a="(%W)A", b="%1a"},
+   {a="(%s)A", b="%1a"},
+   {a="(al%-[%g])(%~)", b="%1"},
+   {a="(\'l%-[%g])(%~)", b="%1"},
+   -- digraphs begin
+   {a="aA", b="A"},
+   {a="uw([^%~])", b="U%1"},
+   {a="iy([^%~])", b="I%1"},
+   -- digraphs end
+   -- madda: get it back now
+--   {a="%@%@%@", b="\'A"},
+   {a="%@%@", b="A\'"}, -- give back classic madda
+   {a="%@", b="A\"\'"}, -- hard coded madda
+   -- šadda:
+   {a="([%g])(%~)", b="%1%1"},
+   {a="%`", b="_a"},
+   {a="v", b="_t"},
+   {a="H", b=".h"},
+   {a="%*", b="_d"},
+   {a="%$", b="^s"},
+   {a="S", b=".s"},
+   {a="D", b=".d"},
+   {a="T", b=".t"},
+   {a="Z", b=".z"},
+   {a="E", b="`"},
+   {a="g", b=".g"},
+   {a="p", b="T"},
+   {a="N", b="uN"},
+   {a="F", b="aN"},
+   {a="K", b="iN"},
+   {a="o", b="\""},
+   -- hard-coded connective alif
+   {a="%[", b="ٱ"}
+}
+
 hamza = {
    -- next line for ʾiʿrāb hyphen
    {a="(')(%-)([uaiUAI])", b="%1%3"},
@@ -85,6 +167,8 @@
    {a="''([Uu])", b="ؤؤ%1"},
    {a="''([Aa])", b="أأ%1"},
    {a="''([Ii])", b="ئئ%1"},
+   -- inseparable adverbial particle 'a- + 'a
+   {a="\'(a)%-\'(a)", b="أ%1اأ%2"},
    -- initial long u and i (for a, see below)
    {a="%'%_U", b="أU"},
    {a="%'%_I", b="إI"},
@@ -172,6 +256,8 @@
    {a="''([Uu])", b="ؤؤ%1"},
    {a="''([Aa])", b="أأ%1"},
    {a="''([Ii])", b="ئئ%1"},
+   -- inseparable adverbial particle 'a- + 'a
+   {a="\'(a)%-\'(a)", b="أ%1اأ%2"},
    -- initial long u and i (for a, see below)
    {a="%'%_U", b="أU"},
    {a="%'%_I", b="إI"},
@@ -570,7 +656,7 @@
    {a="%)", b="-@("},
    {a="%+%@%(", b=")"},
    {a="%-%@%(", b="("},
-   {a="%.", b="۔"},
+   {a="%.", b="."},
    {a="([^0-9])%,", b="%1،"},
    {a="%?", b="؟"},
    {a="%;", b="؛"},



More information about the tex-live-commits mailing list