summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/lualatex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2016-04-27 22:52:36 +0000
committerKarl Berry <karl@freefriends.org>2016-04-27 22:52:36 +0000
commitccdb21bb02bbdc081efdabf33246e6b0de6a5be6 (patch)
tree3e1d9b2e91e15634bb1064d717280d49b8a75d2f /Master/texmf-dist/source/lualatex
parent4ca0e50699e2f4fc4dbe8b1dc4fe528a51b5429d (diff)
arabluatex (27apr16)
git-svn-id: svn://tug.org/texlive/trunk@40788 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/lualatex')
-rw-r--r--Master/texmf-dist/source/lualatex/arabluatex/README.tex99
-rw-r--r--Master/texmf-dist/source/lualatex/arabluatex/arabluatex.bib92
-rw-r--r--Master/texmf-dist/source/lualatex/arabluatex/arabluatex.dtx282
-rw-r--r--Master/texmf-dist/source/lualatex/arabluatex/arabluatex.ins46
-rw-r--r--Master/texmf-dist/source/lualatex/arabluatex/arabluatex.lua373
-rw-r--r--Master/texmf-dist/source/lualatex/arabluatex/arabluatex_fullvoc.lua318
-rw-r--r--Master/texmf-dist/source/lualatex/arabluatex/arabluatex_novoc.lua136
-rw-r--r--Master/texmf-dist/source/lualatex/arabluatex/arabluatex_trans.lua483
-rw-r--r--Master/texmf-dist/source/lualatex/arabluatex/arabluatex_voc.lua372
9 files changed, 296 insertions, 1905 deletions
diff --git a/Master/texmf-dist/source/lualatex/arabluatex/README.tex b/Master/texmf-dist/source/lualatex/arabluatex/README.tex
index 916eb0e2a5f..982cddb2411 100644
--- a/Master/texmf-dist/source/lualatex/arabluatex/README.tex
+++ b/Master/texmf-dist/source/lualatex/arabluatex/README.tex
@@ -1,53 +1,63 @@
+% The arabluatex package -- README file
+% Robert Alessi
+% March 5, 2016
\documentclass{article}
\usepackage{fontspec,luatextra}
+\usepackage{libertine}
-\title{The arabluatex package}
+\title{The arabluatex package -- README file}
\author{Robert Alessi}
\usepackage{hyperref}
+\hypersetup{pdftitle={The arabluatex package -- README file},
+ pdfauthor={Robert Alessi}}
\begin{document}
\maketitle
\section*{Overview}
\label{sec:overview}
-This package provides for \LuaLaTeX\ an Arab{\TeX}-like interface to
+This package provides for \href{http://luatex.org}{Lua\LaTeX} an
+\href{http://ctan.org/pkg/arabtex}{Arab\TeX}-like interface to
generate Arabic writing from an \textsc{ascii} transliteration. It is
particularly well-suited for complex documents such as technical
documents or critical editions where a lot of left-to-right commands
-intertwine with Arabic writing. arabluatex is able to
-process any Arab\TeX\ input notation. Its output can be set in the
-same modes of vocalization as Arab\TeX, or in different roman
-transliterations. It further allows many typographical refinements. It
-will eventually interact with some other packages yet to come to
-produce from \verb|.tex| source files, in addition to printed books,
-\texttt{TEI xml} compliant critical editions and/or lexicons that can
-be searched, analyzed and correlated in various ways.
+intertwine with Arabic writing. arabluatex is able to process any
+Arab\TeX\ input notation. Its output can be set in the same modes of
+vocalization as Arab\TeX, or in different roman transliterations. It
+further allows many typographical refinements. It will eventually
+interact with some other packages yet to come to produce from
+\verb|.tex| source files, in addition to printed books, \texttt{TEI
+ xml} compliant critical editions and/or lexicons that can be
+searched, analyzed and correlated in various ways.
\section*{License and disclamer}
-Copyright \textcopyright\ 2016 Robert Alessi
+ArabLuaTeX -- Processing ArabTeX notation under LuaLaTeX
-\addcontentsline{toc}{section}{License and disclamer} Please send
-error reports and suggestions for improvements to Robert Alessi:
+Copyright ⓒ 2016 Robert Alessi
+
+Please send error reports and suggestions for improvements to Robert
+Alessi:
\begin{itemize}
\item email: \url{alessi@robertalessi.net}
\item website: \url{http://www.robertalessi.net/arabluatex}
+\item comments, feature requests, bug reports:
+ \url{https://notabug.org/ralessi/arabluatex}
\end{itemize}
-This program is free software; you can redistribute it and/or
-modify it under the terms of the GNU General Public License
-as published by the Free Software Foundation; either version 2
-of the License, or (at your option) any later version.
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
+This program is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-02111-1307, USA.
+along with this program. If not, see
+<http://www.gnu.org/licenses/>.
This release of arabluatex consists of the following
source files:
@@ -59,17 +69,17 @@ source files:
\item \verb|arabluatex_fullvoc.lua|
\item \verb|arabluatex_novoc.lua|
\item \verb|arabluatex_trans.lua|
-\item \verb|arabluatex.bib|
\end{itemize}
\section*{Installation}
\label{sec:installation}
\begin{enumerate}
-\item run \verb+lualatex arabluatex.ins+ to produce the
+\item Run \verb+'lualatex arabluatex.ins'+ to produce the
\verb+arabluatex.sty+ file;
\item To finish the installation you have to move the following files
-into a directory searched by LaTeX. See the FAQ on CTAN at
-/help/uk-tex-faq for more on this:
+ into a directory where LaTeX can find them. See the FAQ on
+ \verb|tex.ac.uk| at
+ \url{http://www.tex.ac.uk/faq/FAQ-inst-wlcf.html} for more on this:
\begin{itemize}
\item \verb|arabluatex.sty|
\item \verb|arabluatex.lua|
@@ -80,4 +90,37 @@ into a directory searched by LaTeX. See the FAQ on CTAN at
\end{itemize}
\end{enumerate}
+\section{Development, Git Repository}
+\label{sec:devel-git-repos}
+\subsection*{Browse the code}
+\label{sec:browse-code}
+
+You can browse ArabLua\TeX\ repository on the web:
+\url{http://git.robertalessi.net/arabluatex}
+
+From this page, you can download all the releases of ArabLua\TeX. For
+instructions on how to install ArabLua\TeX, please see above.
+
+\subsection*{Comments, Feature requests, Bug Reports}
+\label{sec:comm-feat-requ}
+\url{https://notabug.org/ralessi/arabluatex}
+
+\subsection*{Download the repository}
+\label{sec:download-repository}
+ArabLua\TeX\ development is facilitated by git, a distributed version
+control system. You will need to install git (most GNU/Linux
+distributions package it in their repositories).
+
+Use this command to download the repository
+\begin{verbatim}
+git clone http://git.robertalessi.net/cgit.cgi/arabluatex
+\end{verbatim}
+
+
+A new directory named arabluatex will have been created, containing
+ArabLuaTeX. Git hosting
+
+Please, do not use GitHub or GitLab: see
+\href{https://libreboot.org/git/#githosting}{there}.
+
\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/lualatex/arabluatex/arabluatex.bib b/Master/texmf-dist/source/lualatex/arabluatex/arabluatex.bib
deleted file mode 100644
index 4dbcb06901d..00000000000
--- a/Master/texmf-dist/source/lualatex/arabluatex/arabluatex.bib
+++ /dev/null
@@ -1,92 +0,0 @@
-% This file is part of the `arabluatex' package
-%
-% copyright (C) 2016 Robert Alessi
-%
-% Please send error reports and suggestions for improvements to
-% Robert Alessi <alessi@robertalessi.net>
-%
-% This program is free software; you can redistribute it and/or
-% modify it under the terms of the GNU General Public License
-% as published by the Free Software Foundation; either version 2
-% of the License, or (at your option) any later version.
-%
-% This program is distributed in the hope that it will be useful,
-% but WITHOUT ANY WARRANTY; without even the implied warranty of
-% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-% GNU General Public License for more details.
-%
-% You should have received a copy of the GNU General Public License
-% along with this program; if not, write to the Free Software
-% Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-% 02111-1307, USA.
-
-@software{pkg:arabtex,
- author = {Lagally, Klaus},
- maintainer = {Lagally, Klaus},
- title = {Arab\TeX},
- indextitle = {Arab\TeX},
- date = {2004-11-03},
- version = {4.00},
- url =
- {http://mirrors.ctan.org/language/arabic/arabtex/doc/html/arabtex.htm},
- subtitle = {Typesetting Arabic and Hebrew},
- titleaddon = {User Manual Version 4.00}
-}
-
-@software{pkg:amiri,
- author = {Hosny, Khaled},
- maintainer = {Hosny, Khaled},
- title = {Amiri},
- indextitle = {Amiri},
- date = {2015-09-20},
- url = {http://www.amirifont.org/}
-}
-
-@MVBook{Wright,
- author = {Wright, W. LL.D},
- title = {A Grammar of the Arabic Language},
- indextitle = {Grammar of the Arabic Language, A},
- year = 1896,
- editor = {Robertson Smith, W. and de Goeje, M. J.},
- editortype = {reviser},
- foreword = {Cachia, Pierre},
- edition = 3,
- volumes = 2,
- pagination = {none},
- publisher = {Librairie du Liban},
- location = {Beirut},
- annote = {New impression, 1996}
-}
-
-@InProceedings{dmg,
- author = {Brockelmann, Carl and Fischer, August and Heffening,
- W. and Taeschner, Franz},
- shorttitle = {Die Transliteration der arabischen Schrift},
- title = {Die Transliteration der arabischen Schrift in ihrer
- Anwendung auf die Hauptliteratursprachen der
- islamischen Welt},
- indextitle = {Transliteration der arabischen Schrift, Die},
- year = 1935,
- booktitle = {Denkschrift dem 19. internationalen
- Orientalistenkongreß in Rom},
- editor = {van Ronkel, Ph. S. and Spies, Otto},
- editortype = {collaborator},
- organization = {Deutschen Morgenländischen Gesellschaft},
- publisher = {Deutschen Morgenländischen Gesellschaft, in
- Kommission bei F. A. Brockaus},
- url =
- {http://www.naher-osten.uni-muenchen.de/studium_lehre/werkzeugkasten/dmgtransliteration.pdf},
- location = {Leipzig}
-}
-
-@MVBook{Lane,
- author = {Lane, Edward William},
- title = {An Arabic-English lexicon},
- date = {1863/1893},
- indextitle = {Arabic-English Lexicon, An},
- volumes = 8,
- shorthand = {Lane, \emph{Lexicon}},
- pagination = {none},
- publisher = {Williams and Norgate},
- location = {London -- Edinburgh}
-}
diff --git a/Master/texmf-dist/source/lualatex/arabluatex/arabluatex.dtx b/Master/texmf-dist/source/lualatex/arabluatex/arabluatex.dtx
index 2c98b889b91..6a94dabaf98 100644
--- a/Master/texmf-dist/source/lualatex/arabluatex/arabluatex.dtx
+++ b/Master/texmf-dist/source/lualatex/arabluatex/arabluatex.dtx
@@ -1,23 +1,23 @@
% \iffalse meta-comment
+% ArabLuaTeX -- Processing ArabTeX notation under LuaLaTeX
% Copyright (C) 2016 Robert Alessi
%
-% Please send error reports and suggestions for improvements to
-% Robert Alessi <alessi@robertalessi.net>
+% Please send error reports and suggestions for improvements to Robert
+% Alessi <alessi@robertalessi.net>
%
-% This program is free software; you can redistribute it and/or
-% modify it under the terms of the GNU General Public License
-% as published by the Free Software Foundation; either version 2
-% of the License, or (at your option) any later version.
+% This program is free software: you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation, either version 3 of the License, or
+% (at your option) any later version.
%
-% This program is distributed in the hope that it will be useful,
-% but WITHOUT ANY WARRANTY; without even the implied warranty of
-% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-% GNU General Public License for more details.
+% This program is distributed in the hope that it will be useful, but
+% WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+% General Public License for more details.
%
% You should have received a copy of the GNU General Public License
-% along with this program; if not, write to the Free Software
-% Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-% 02111-1307, USA.
+% along with this program. If not, see
+% <http://www.gnu.org/licenses/>.
% \fi
%
% \iffalse
@@ -27,23 +27,116 @@
%<package-info>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
%<package-info>\ProvidesPackage{arabluatex}
%<*package-info>
- [2016/03/31 v1.0.1 This is ArabTeX for LuaLaTeX]
+ [2016/04/27 v1.1.1 This is ArabTeX for LuaLaTeX]
%</package-info>
%
%<*driver>
\documentclass{ltxdoc}
+\usepackage{filecontents}
+\begin{filecontents}{\jobname.bib}
+% This file is part of the `arabluatex' package
+%
+% ArabLuaTeX -- Processing ArabTeX notation under LuaLaTeX
+% Copyright (C) 2016 Robert Alessi
+%
+% Please send error reports and suggestions for improvements to Robert
+% Alessi <alessi@robertalessi.net>
+%
+% This program is free software: you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation, either version 3 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful, but
+% WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+% General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program. If not, see
+% <http://www.gnu.org/licenses/>.
+
+@software{pkg:arabtex,
+ author = {Lagally, Klaus},
+ maintainer = {Lagally, Klaus},
+ title = {Arab\TeX},
+ indextitle = {Arab\TeX},
+ date = {2004-11-03},
+ version = {4.00},
+ url =
+ {http://mirrors.ctan.org/language/arabic/arabtex/doc/html/arabtex.htm},
+ subtitle = {Typesetting Arabic and Hebrew},
+ titleaddon = {User Manual Version 4.00}
+}
+
+@software{pkg:amiri,
+ author = {Hosny, Khaled},
+ maintainer = {Hosny, Khaled},
+ title = {Amiri},
+ indextitle = {Amiri},
+ date = {2015-09-20},
+ url = {http://www.amirifont.org/}
+}
+
+@MVBook{Wright,
+ author = {Wright, W. LL.D},
+ title = {A Grammar of the Arabic Language},
+ indextitle = {Grammar of the Arabic Language, A},
+ year = 1896,
+ editor = {Robertson Smith, W. and de Goeje, M. J.},
+ editortype = {reviser},
+ foreword = {Cachia, Pierre},
+ edition = 3,
+ volumes = 2,
+ pagination = {none},
+ publisher = {Librairie du Liban},
+ location = {Beirut},
+ annote = {New impression, 1996}
+}
+
+@InProceedings{dmg,
+ author = {Brockelmann, Carl and Fischer, August and Heffening,
+ W. and Taeschner, Franz},
+ shorttitle = {Die Transliteration der arabischen Schrift},
+ title = {Die Transliteration der arabischen Schrift in ihrer
+ Anwendung auf die Hauptliteratursprachen der
+ islamischen Welt},
+ indextitle = {Transliteration der arabischen Schrift, Die},
+ year = 1935,
+ booktitle = {Denkschrift dem 19. internationalen
+ Orientalistenkongreß in Rom},
+ editor = {van Ronkel, Ph. S. and Spies, Otto},
+ editortype = {collaborator},
+ organization = {Deutschen Morgenländischen Gesellschaft},
+ publisher = {Deutschen Morgenländischen Gesellschaft, in
+ Kommission bei F. A. Brockaus},
+ url =
+ {http://www.naher-osten.uni-muenchen.de/studium_lehre/werkzeugkasten/dmgtransliteration.pdf},
+ location = {Leipzig}
+}
+
+@MVBook{Lane,
+ author = {Lane, Edward William},
+ title = {An Arabic-English lexicon},
+ date = {1863/1893},
+ indextitle = {Arabic-English Lexicon, An},
+ volumes = 8,
+ shorthand = {Lane, \emph{Lexicon}},
+ pagination = {none},
+ publisher = {Williams and Norgate},
+ location = {London -- Edinburgh}
+}
+\end{filecontents}
\usepackage[english]{babel}
\usepackage{dox}
\doxitem{Option}{option}{options}
+\def\actualchar{ =}
\usepackage{fontspec,luatextra,realscripts}
\defaultfontfeatures{RawFeature={+liga;+onum;+hlig}}
\setmainfont{Libertinus Serif}
\setsansfont{Libertinus Sans}
\setmonofont[Scale=.9]{Libertinus Mono}
-\usepackage{arabluatex}[2016/03/31]
-\usepackage{polyglossia}
-\setdefaultlanguage{english}
-\setotherlanguage{arabic}
+\usepackage{arabluatex}[2016/04/27]
\usepackage{varioref}
\usepackage{hypdoc}
\hypersetup{unicode=true, colorlinks, allcolors=blue,
@@ -84,8 +177,8 @@
\DeclareIndexFieldFormat{indextitle}{\index{#1=\emph{#1}}}
\addbibresource{arabluatex.bib}
\EnableCrossrefs
-\CodelineIndex
\RecordChanges
+\CodelineIndex
\begin{document}
\DocInput{arabluatex.dtx}
\addcontentsline{toc}{section}{Change History}
@@ -96,7 +189,7 @@
%</driver>
% \fi
%
-% \CheckSum{0}
+% \CheckSum{286}
%
% \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
@@ -115,8 +208,8 @@
% Right brace \} Tilde \~}
%
%
-% \changes{1.0}{2016/03/29}{Initial release}
-% \changes{1.0.1}{2016/03/31}{Minor update of the documentation}
+% \changes{v1.0}{2016/03/29}{Initial release}
+% \changes{v1.0.1}{2016/03/31}{Minor update of the documentation}
%
% \DoNotIndex{\newcommand,\newenvironment,\renewcommand}
% \DoNotIndex{\~,\AtBeginDocument,\bgroup,\csname}
@@ -124,7 +217,7 @@
% \DoNotIndex{\else,\endcsname,\endinput,\expandafter,\fi}
% \DoNotIndex{\ifdef,\ifdefined,\ifx,\MessageBreak,\NeedsTeXFormat}
% \DoNotIndex{\NewDocumentCommand,\newif,\PackageError,\PackageWarning}
-% \DoNotIndex{\relax,\RenewDocumentCommand,\string}
+% \DoNotIndex{\relax,\RenewDocumentCommand,\string,\verb}
%
% \providecommand*{\url}{\texttt}
% \GetFileInfo{arabluatex.dtx}
@@ -176,22 +269,24 @@
% \item email: <\href{mailto:alessi@robertalessi.net?Subject=arabluatex}%
% {\texttt{alessi@{\allowbreak}robertalessi.net}}>
% \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}
% \end{compactitem}
%
-% This program is free software; you can redistribute it and/or
-% modify it under the terms of the GNU General Public License
-% as published by the Free Software Foundation; either version 2
-% of the License, or (at your option) any later version.
+% This program is free software: you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation, either version 3 of the License, or
+% (at your option) any later version.
%
-% This program is distributed in the hope that it will be useful,
-% but WITHOUT ANY WARRANTY; without even the implied warranty of
-% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-% GNU General Public License for more details.
+% This program is distributed in the hope that it will be useful, but
+% WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+% General Public License for more details.
%
% You should have received a copy of the GNU General Public License
-% along with this program; if not, write to the Free Software
-% Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-% 02111-1307, USA.
+% along with this program. If not, see
+% <http://www.gnu.org/licenses/>.
%
% This release of \package{arabluatex} consists of the following
% source files:
@@ -203,7 +298,6 @@
% \item |arabluatex_fullvoc.lua|
% \item |arabluatex_novoc.lua|
% \item |arabluatex_trans.lua|
-% \item |arabluatex.bib|
% \end{compactitem}
%
% \section{Introduction}
@@ -309,8 +403,7 @@
% complain if you try to compile your document with another
% engine. That aside, \package{arabluatex} does not load packages such
% as \package{polyglossia} or \package{luabidi}. It can work with
-% \package{polyglossia} though, but does not require it.\footnote{With
-% one exception: see \vref{sec:abjad}.}
+% \package{polyglossia} though, but does not require it.
%
% \paragraph{Font setup}
% If you wish to use your own Arabic font, you can define it before
@@ -767,11 +860,16 @@ consonants, though three of them are also used as vowels
% \arb[trans]{'iqlIduN}, |'anna| \arb[voc]{'anna}
% \arb[trans]{'anna}, |'inna| \arb[voc]{'inna} \arb[trans]{'inna}.
%
+% \label{ref:initial-hamza}
% \arb[trans]{hamzaT} followed by the long vowel \arb[novoc]{U} is
% encoded |'_U|: |'_Ul_A| \arb[voc]{'_Ul_A} \arb[trans]{'_Ul_A}, |'_UlU|
% \arb[voc]{'_UlU} \arb[trans]{'_UlU}, |'_UlA'ika|
% \arb[voc]{'_UlA'ika} \arb[trans]{'_UlA'ika}.
%
+% \arb[trans]{hamzaT} followed by the long vowel \arb[novoc]{I} is
+% 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|
% \arb[voc]{ru'UsuN}, \arb[trans]{ru'UsuN}, |xa.tI'aTuN|
@@ -820,6 +918,17 @@ consonants, though three of them are also used as vowels
% \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
+% \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
+% vowel; hence: |'a'mana| \arb[voc]{'a'mana} \arb[trans]{'a'mana},
+% |'u'minu| \arb[voc]{'u'minu} \arb[trans]{'u'minu}, |'i'mAnuN|
+% \arb[voc]{'i'mAnuN} \arb[trans]{'i'mAnuN}. For other possible ways
+% of encoding such sequences, see \vpageref{ref:initial-hamza}
+% (\arb[trans]{hamzaT} followed by \arb[novoc]{U} and \arb[novoc]{I})
+% and the \arb[trans]{maddaT} \vpageref{ref:madda}.
% \end{quote}
%
% \paragraph{\arb[trans]{maddaT}} \label{ref:madda}At the beginning of
@@ -1391,42 +1500,37 @@ consonants, though three of them are also used as vowels
% \arb[trans]{'abjad} numbers are usually distinguished from the
% surrounding words by a stroke placed over them.
%
-% For the time being, \package{arabluatex} inserts those numbers with the
-% help of \package{polyglossia}. If one wishes to use the
-% \arb[trans]{abjad} system, he may put in his preamble:---
-% \iffalse
-%<*example>
-% \fi
-\begin{arabluaverbatim}
-\usepackage{polyglossia}
-\setdefaultlanguage{english} % please adapt
-\setotherlanguage{arabic} % to enable the 'abjad' numbers
-\end{arabluaverbatim}
-% \iffalse
-%</example>
-% \fi %
-% \DescribeMacro{\abjad} Then one may use the command
-% \cs{abjad}\marg{number} in any of the |voc|, |fullvoc| and |novoc|
-% modes, where \meta{number} may be any number between 1 and 1999,
-% like so:---
+% \DescribeMacro{\abjad} \NEWfeature{v.1.1} \arb[trans]{'abjad}
+% numbers are inserted with the command \cs{abjad}\marg{number} in any
+% 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]{45 kitAbu-hu fI
+% kitAbu-hu fI 'l-`AdAti} \arb[trans]{\abjad{45} kitAbu-hu fI
% 'l-`AdAti}.
% \end{quote}
+% \begin{quoting}
+% \textsc{Rem.}~\emph{a.} As can be seen in the above given example,
+% \package{arabluatex} expresses the \arb[trans]{'abjad} numbers in
+% Roman numerals if it finds the command \cs{abjad} in any of the
+% transliteration modes.
+%
+% \textsc{Rem.}~\emph{b.} \cs{abjad} may also be found outside
+% Arabic environments. In that case, \package{arabluatex} does not
+% print the stroke as a distinctive mark over the number for it is
+% not surrounded by other Arabic words. In case one nonetheless
+% wishes to print the stroke, he can use the \cs{aemph} command that
+% is described below in \vref{sec:emphasis}:---
+% \begin{quote}
+% |The| |\arb[trans]{'abjad}| |number| |for| |1874| |is|
+% |\abjad{1874}| The \arb[trans]{'abjad} number for 1874 is
+% \abjad{1874}.
%
-% \iffalse
-%<*example>
-% \fi
-\begin{arabluacode}[text only]
- Apart from this case, \package{arabluatex} makes no use of
- \package{polyglossia}. The support for the \arb[trans]{'abjad}
- numbering system is planned for inclusion in a future version of
- \package{arabluatex}.
-\end{arabluacode}
-% \iffalse
-%</example>
-% \fi
+% |The| |\arb[trans]{'abjad}| |number| |for| |1874| |is|
+% |\aemph{\abjad{1874}}| The \arb[trans]{'abjad} number for 1874
+% is \aemph{\abjad{1874}}.
+% \end{quote}
+% \end{quoting}
%
% \subsection{Additional characters}
% \label{sec:additional-characters}
@@ -1485,7 +1589,7 @@ consonants, though three of them are also used as vowels
% \begin{quote}
% |\abjad{45}:| |kitAbu-hu| |\aemph{fI| |'l-`AdAti}|
% \arb[voc]{\abjad{45}: kitAbu-hu \aemph{fI 'l-`AdAti}}
-% \arb[trans]{45: kitAbu-hu fI 'l-\cap{`AdAti}}.
+% \arb[trans]{\abjad{45}: kitAbu-hu fI 'l-\cap{`AdAti}}.
% \end{quote}
%
% \section{Special applications}
@@ -1630,17 +1734,18 @@ consonants, though three of them are also used as vowels
% \section{\LaTeX\ Commands in Arabic environments}
% \label{sec:commands-in-arb}
% \paragraph{General principle} \label{ref:cmd-inside-arabic}\LaTeX\
-% commands are accepted in
-% Arabic environments. The general principle which applies is that
-% single-argument commands (\cs{command}\marg{arg}) such as
-% \cs{emph}\marg{text}, \cs{textbf}\marg{text} and the like, are
-% assumed to have Arabic text as their arguments:---
+% commands are accepted in Arabic environments. The general principle
+% which applies is that single-argument commands
+% (\cs{command}\marg{arg}) such as \cs{emph}\marg{text},
+% \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}}}
-% \arb[trans]{45 kitAbu-hu \emph{fI 'l-\cap{`AdAti}}}.\footnote{This
-% is odd in Arabic script, but using such features as \cs{emph} or
-% \cs{textbf} is a matter of personal taste.}
+% \arb[trans]{\abjad{45} kitAbu-hu \emph{fI
+% 'l-\cap{`AdAti}}}.\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}
%
% The same applies to footnotes:---
@@ -1676,10 +1781,11 @@ al-muqAtilIna.}, wa-kAnat 'ummI min `u.zamA'i buyUti
% measurement.
%
% \DescribeMacro{\RL} \cs{RL}\marg{arg} does the same as
-% \cs{LR}\marg{arg}, but typesets its argument from left to right. Even
-% in an Arabic environment, this command may be useful. For example, to
-% distinguish words with a different color, one may proceed like
-% so:---
+% \cs{LR}\marg{arg}, but typesets its argument from right to left. Even
+% in an Arabic environment, this command may be useful.
+%
+% For example, to distinguish words with a different color, one may
+% proceed like so:---
% \iffalse
%<*example>
% \fi
@@ -1858,7 +1964,7 @@ wa-ya.sIru ta.hta 'l-jildi
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{arabluatex}%
-[2016/03/31 v1.0.1 ArabTeX-like interface for LuaLaTeX]
+[2016/04/27 v1.1.1 ArabTeX-like interface for LuaLaTeX]
\RequirePackage{ifluatex}
% \end{macrocode}
% \package{arabluatex} requires \LuaLaTeX\ of course. Issue a warning
@@ -2044,6 +2150,18 @@ wa-ya.sIru ta.hta 'l-jildi
\else \fi\fi\fi\fi}[\par]
% \end{macrocode}
% \end{environment}
+% \begin{macro}{\abjad} \cs{abjad}\marg{number} expresses its argument
+% in Arabic letters in accordance with the \arb[trans]{'abjad}
+% arrangement of the alphabet. \meta{number} must be between 1 and
+% 1999. It is now coded in Lua so that \package{polyglossia} is no
+% longer needed. See |arabluatex.lua| for more information.
+% \changes{v1.1}{2016/04/26}{New and more flexible \protect\cs{abjad}
+% command.}
+% \begin{macrocode}
+\NewDocumentCommand{\abjad}{m}%
+ {\luadirect{tex.sprint(abjadify(#1))}}
+% \end{macrocode}
+% \end{macro}
% \begin{macro}{\LRmarginpar} \cs{LRmarginpar} is supposed to be
% inserted in an Arabic environment. It typsets his argument in a
% marginal note from left to right.
diff --git a/Master/texmf-dist/source/lualatex/arabluatex/arabluatex.ins b/Master/texmf-dist/source/lualatex/arabluatex/arabluatex.ins
index 30e6d92bd60..69d9f53a8be 100644
--- a/Master/texmf-dist/source/lualatex/arabluatex/arabluatex.ins
+++ b/Master/texmf-dist/source/lualatex/arabluatex/arabluatex.ins
@@ -1,11 +1,14 @@
+%% This file is part of the `arabluatex' package
+%%
+%% ArabLuaTeX -- Processing ArabTeX notation under LuaLaTeX
%% Copyright (C) 2016 Robert Alessi
%%
%% Please send error reports and suggestions for improvements to
%% Robert Alessi <alessi@robertalessi.net>
%%
-%% This program is free software; you can redistribute it and/or
+%% This program is free software: you can redistribute it and/or
%% modify it under the terms of the GNU General Public License
-%% as published by the Free Software Foundation; either version 2
+%% as published by the Free Software Foundation, either version 3
%% of the License, or (at your option) any later version.
%%
%% This program is distributed in the hope that it will be useful,
@@ -14,8 +17,8 @@
%% GNU General Public License for more details.
%%
%% You should have received a copy of the GNU General Public License
-%% along with this program; if not, write to the Free Software
-%% Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+%% along with this program. If not, see
+%% <http://www.gnu.org/licenses/>.
%%
%% This release of 'arabluatex' consists of the following source files:
%% - arabluatex.ins
@@ -25,7 +28,6 @@
%% - arabluatex_fullvoc.lua
%% - arabluatex_novoc.lua
%% - arabluatex_trans.lua
-%% - arabluatex.bib
%%
@@ -38,25 +40,27 @@
This is a generated file.
+This file is part of the `arabluatex' package
+
+ArabLuaTeX -- Processing ArabTeX notation under LuaLaTeX
Copyright (C) 2016 Robert Alessi
-Please send error reports and suggestions for improvements to
-Robert Alessi <alessi@robertalessi.net>
+Please send error reports and suggestions for improvements to Robert
+Alessi <alessi@robertalessi.net>
-This program is free software; you can redistribute it and/or
-modify it under the terms of the GNU General Public License
-as published by the Free Software Foundation; either version 2
-of the License, or (at your option) any later version.
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
+This program is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-USA.
+along with this program. If not, see
+<http://www.gnu.org/licenses/>.
This release of 'arabluatex' consists of the following source files:
- arabluatex.ins
@@ -66,7 +70,6 @@ This release of 'arabluatex' consists of the following source files:
- arabluatex_fullvoc.lua
- arabluatex_novoc.lua
- arabluatex_trans.lua
-- arabluatex.bib
\endpreamble
@@ -75,8 +78,9 @@ This release of 'arabluatex' consists of the following source files:
\Msg{***********************************************************}
\Msg{*}
\Msg{* To finish the installation you have to move the following}
-\Msg{* files into a directory searched by LaTeX. See the FAQ on}
-\Msg{* CTAN at /help/uk-tex-faq for more on this.}
+\Msg{* files into a directory where LaTeX canfind them. See the}
+\Msg{* FAQ at http://www.tex.ac.uk/faq/FAQ-inst-wlcf.html for}
+\Msg{* more on this}
\Msg{*}
\Msg{* \space\space arabluatex.sty}
\Msg{* \space\space arabluatex.lua}
diff --git a/Master/texmf-dist/source/lualatex/arabluatex/arabluatex.lua b/Master/texmf-dist/source/lualatex/arabluatex/arabluatex.lua
deleted file mode 100644
index f6597e8abb0..00000000000
--- a/Master/texmf-dist/source/lualatex/arabluatex/arabluatex.lua
+++ /dev/null
@@ -1,373 +0,0 @@
---[[
-This file is part of the `arabluatex' package
-
-Copyright (C) 2016 Robert Alessi
-
-Please send error reports and suggestions for improvements to
-Robert Alessi <alessi@robertalessi.net>
-
-This program is free software; you can redistribute it and/or
-modify it under the terms of the GNU General Public License
-as published by the Free Software Foundation; either version 2
-of the License, or (at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-02111-1307, USA.
---]]
-
-require("arabluatex_voc")
-require("arabluatex_fullvoc")
-require("arabluatex_novoc")
-require("arabluatex_trans")
-
-local function protectarb(str)
- str = string.gsub(str, "(\\arb.?)(%[.-%])(%b{})", "\\@arb%2%3")
- str = string.gsub(str, "\\par", "\\p@r{}")
- str = string.gsub(str, "\\@@par", "\\p@r{}")
-return str
-end
-
-local function unprotectarb(str)
- str = string.gsub(str, "(\\@arb)(%[.-%])(%b{})", "\\arb%2%3")
- str = string.gsub(str, "\\p@r{}", "\\par")
-return str
-end
-
-local function breakcmd(str)
- -- \edtext
- str = string.gsub(str, "\\(edtext.-)(%b{})(%b{})",
- function(tag, bodylem, bodyvar)
- bodylem = string.sub(bodylem, 2, -2)
- bodyvar = string.sub(bodyvar, 2, -2)
- return string.format("\\LR{\\%s{%s}{%s}}", tag, bodylem, bodyvar)
- end)
- -- \RL
- str = string.gsub(str, "\\(RL.-)(%b{})",
- function(tag, body)
- body = string.sub(body, 2, -2)
- return string.format("}\\%s{%s}\\arb{", tag, body)
- end)
- -- \LR
- str = string.gsub(str, "\\(LR.-)(%b{})",
- function(tag, body)
- body = string.sub(body, 2, -2)
- return string.format("}\\%s{%s}\\arb{", tag, body)
- end)
- -- Footnote
- str = string.gsub(str, "\\(Footnote.-)(%b{})",
- function(tag, body)
- body = string.sub(body, 2, -2)
- return string.format("}\\%s{%s}\\arb{", tag, body)
- end)
- -- Marginpar
- str = string.gsub(str, "\\(Marginpar.-)(%b{})",
- function(tag, body)
- body = string.sub(body, 2, -2)
- return string.format("}\\%s{%s}\\arb{", tag, body)
- end)
- -- Abjad (Needs polyglossia)
- str = string.gsub(str, "\\(abjad.-)(%b{})",
- function(tag, body)
- body = string.sub(body, 2, -2)
- return string.format("}\\aemph{\\txarb{\\%s{%s}}}\\arb{", tag, body)
- end)
- return str
-end
-
-local function holdcmd(str)
- str = string.gsub(str, "\\(arb)(%b{})", function(tag, body)
- body = string.sub(body, 2, -2)
- body = string.gsub(body, "\\(.-)(%b{})", function(btag, bbody)
- bbody = string.sub(bbody, 2, -2)
- if string.find(btag, "@") then
- return holdcmd(string.format("}\\%s{%s}\\arb{", btag, bbody))
- else
- return holdcmd(string.format("}\\%s{\\arb{%s}}\\arb{", btag, bbody))
- end
- end)
- return string.format("\\%s{%s}", tag, body)
- end)
- str = string.gsub(str, "\\arb{}", "")
-return str
-end
-
-local function arbnum(str)
- str = string.gsub(str, "([0-9%,%-%/]+)", function(num)
- return string.reverse(num)
- end)
- return str
-end
-
-local function indnum(str)
- str = string.gsub(str, "([0-9%,%-%/]+)", function(num)
- return string.reverse(num)
- end)
- for i = 1,#numbers do
- str = string.gsub(str, numbers[i].a, numbers[i].b)
- end
- return str
-end
-
-local function takeoutcap(str)
- str = string.gsub(str, "(\\cap.?)(%b{})", function(tag, body)
- body = string.sub(body, 2, -2)
- return string.format("%s", body)
- end)
- return str
-end
-
-local function voc(str)
- str = string.gsub(str, "\\arb(%b{})", function(inside)
- inside = string.sub(inside, 2, -2)
- for i = 1,#hamza do
- inside = string.gsub(inside, hamza[i].a, hamza[i].b)
- end
- for i = 1,#tanwin do
- inside = string.gsub(inside, tanwin[i].a, tanwin[i].b)
- end
- for i = 1,#trigraphs do
- inside = string.gsub(inside, trigraphs[i].a, trigraphs[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,#longv do
- inside = string.gsub(inside, longv[i].a, longv[i].b)
- end
- for i = 1,#shortv do
- inside = string.gsub(inside, shortv[i].a, shortv[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 fullvoc(str)
- str = string.gsub(str, "\\arb(%b{})", function(inside)
- inside = string.sub(inside, 2, -2)
- for i = 1,#hamzafv do
- inside = string.gsub(inside, hamzafv[i].a, hamzafv[i].b)
- end
- for i = 1,#tanwinfv do
- inside = string.gsub(inside, tanwinfv[i].a, tanwinfv[i].b)
- end
- for i = 1,#trigraphsfv do
- inside = string.gsub(inside, trigraphsfv[i].a, trigraphsfv[i].b)
- end
- for i = 1,#digraphsfv do
- inside = string.gsub(inside, digraphsfv[i].a, digraphsfv[i].b)
- end
- for i = 1,#singlefv do
- inside = string.gsub(inside, singlefv[i].a, singlefv[i].b)
- end
- for i = 1,#longv do
- inside = string.gsub(inside, longv[i].a, longv[i].b)
- end
- for i = 1,#shortv do
- inside = string.gsub(inside, shortv[i].a, shortv[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 novoc(str)
- str = string.gsub(str, "\\arb(%b{})", function(inside)
- inside = string.sub(inside, 2, -2)
- for i = 1,#hamza do
- inside = string.gsub(inside, hamza[i].a, hamza[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)
- for i = 1,#hamzatrdmg do
- inside = string.gsub(inside, hamzatrdmg[i].a, hamzatrdmg[i].b)
- end
- for i = 1,#tanwintrdmg do
- inside = string.gsub(inside, tanwintrdmg[i].a, tanwintrdmg[i].b)
- end
- for i = 1,#trigraphstrdmg do
- inside = string.gsub(inside, trigraphstrdmg[i].a, trigraphstrdmg[i].b)
- end
- for i = 1,#digraphstrdmg do
- inside = string.gsub(inside, digraphstrdmg[i].a, digraphstrdmg[i].b)
- end
- for i = 1,#singletrdmg do
- inside = string.gsub(inside, singletrdmg[i].a, singletrdmg[i].b)
- end
- for i = 1,#longvtrdmg do
- inside = string.gsub(inside, longvtrdmg[i].a, longvtrdmg[i].b)
- end
- for i = 1,#shortvtrdmg do
- inside = string.gsub(inside, shortvtrdmg[i].a, shortvtrdmg[i].b)
- end
- for i = 1,#punctuationtr do
- inside = string.gsub(inside, punctuationtr[i].a, punctuationtr[i].b)
- end
- for i = 1,#nulltr do
- inside = string.gsub(inside, nulltr[i].a, nulltr[i].b)
- end
- return string.format("\\txtrans{%s}", inside)
- end)
-return str
-end
-
-local function transloc(str)
- str = string.gsub(str, "\\arb(%b{})", function(inside)
- inside = string.sub(inside, 2, -2)
- for i = 1,#hamzatrloc do
- inside = string.gsub(inside, hamzatrloc[i].a, hamzatrloc[i].b)
- end
- for i = 1,#tanwintrloc do
- inside = string.gsub(inside, tanwintrloc[i].a, tanwintrloc[i].b)
- end
- for i = 1,#trigraphstrloc do
- inside = string.gsub(inside, trigraphstrloc[i].a, trigraphstrloc[i].b)
- end
- for i = 1,#digraphstrloc do
- inside = string.gsub(inside, digraphstrloc[i].a, digraphstrloc[i].b)
- end
- for i = 1,#singletrloc do
- inside = string.gsub(inside, singletrloc[i].a, singletrloc[i].b)
- end
- for i = 1,#longvtrloc do
- inside = string.gsub(inside, longvtrloc[i].a, longvtrloc[i].b)
- end
- for i = 1,#shortvtrloc do
- inside = string.gsub(inside, shortvtrloc[i].a, shortvtrloc[i].b)
- end
- for i = 1,#finaltrloc do
- inside = string.gsub(inside, finaltrloc[i].a, finaltrloc[i].b)
- end
- for i = 1,#punctuationtr do
- inside = string.gsub(inside, punctuationtr[i].a, punctuationtr[i].b)
- end
- for i = 1,#nulltr do
- inside = string.gsub(inside, nulltr[i].a, nulltr[i].b)
- end
- return string.format("\\txtrans{%s}", inside)
- end)
-return str
-end
-
-function processvoc(str)
- str = "\\arb{".. str.."}"
- str = takeoutcap(str)
- str = protectarb(str)
- str = breakcmd(str)
- str = holdcmd(str)
- str = voc(str)
- str = unprotectarb(str)
-return str
-end
-
-function processfullvoc(str)
- str = "\\arb{".. str.."}"
- str = takeoutcap(str)
- str = protectarb(str)
- str = breakcmd(str)
- str = holdcmd(str)
- str = fullvoc(str)
- str = unprotectarb(str)
-return str
-end
-
-function processnovoc(str)
- str = "\\arb{".. str.."}"
- str = takeoutcap(str)
- str = protectarb(str)
- str = breakcmd(str)
- str = holdcmd(str)
- str = novoc(str)
- str = unprotectarb(str)
-return str
-end
-
-function processtrans(str, mode)
- str = "\\arb{".. str.."}"
- str = protectarb(str)
- str = breakcmd(str)
- str = holdcmd(str)
- if mode == "dmg" then
- str = transdmg(str)
- elseif mode == "loc" then
- str = transloc(str)
- else end
- str = unprotectarb(str)
-return str
-end
-
-function cap(str)
- str = string.gsub(str, "(\\txtrans.?)(%b{})", function(tag, body)
- body = string.sub(body, 2, -2)
- return string.format("%s", body)
- end)
- if string.find(str, "%-['`ʾʿ]") then
- str = string.gsub(str, "(%-['`])", "%1\\MakeUppercase ")
- str = string.gsub(str, "(%-ʿ)", "%1\\MakeUppercase ")
- str = string.gsub(str, "(%-ʾ)", "%1\\MakeUppercase ")
- elseif string.find(str, "%-[^'`ʾʿ]") then
- str = string.gsub(str, "(%-)", "%1\\MakeUppercase ")
- elseif string.find(str, "^['`ʾʿ]") then
- str = string.gsub(str, "^(['`])", "%1\\MakeUppercase ")
- str = string.gsub(str, "^(ʿ)", "%1\\MakeUppercase ")
- str = string.gsub(str, "^(ʾ)", "%1\\MakeUppercase ")
- else
- str = "\\MakeUppercase "..str
- end
-return str
-end
diff --git a/Master/texmf-dist/source/lualatex/arabluatex/arabluatex_fullvoc.lua b/Master/texmf-dist/source/lualatex/arabluatex/arabluatex_fullvoc.lua
deleted file mode 100644
index f66ed872fd0..00000000000
--- a/Master/texmf-dist/source/lualatex/arabluatex/arabluatex_fullvoc.lua
+++ /dev/null
@@ -1,318 +0,0 @@
---[[
-This file is part of the `arabluatex' package
-
-Copyright (C) 2016 Robert Alessi
-
-Please send error reports and suggestions for improvements to
-Robert Alessi <alessi@robertalessi.net>
-
-This program is free software; you can redistribute it and/or
-modify it under the terms of the GNU General Public License
-as published by the Free Software Foundation; either version 2
-of the License, or (at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-02111-1307, USA.
---]]
-
--- this is new
-hamzafv = {
- -- hard coded hamza
- {a="|\"'", b="ء"},
- {a="A\"'", b="آ"},
- {a="[au]\"'", b="أ"},
- {a="w\"'", b="ؤ"},
- {a="i\"'", b="إ"},
- {a="y\"'", b="ئ"},
- {a="ؤ([^uaiUAI])", b="ؤْ%1"},
- {a="ؤ$", b="ؤْ"},
- {a="ؤ(%s)", b="ؤْ%1"},
- {a="أ([^uaiUAI])", b="أْ%1"},
- {a="أ$", b="أْ"},
- {a="أ(%s)", b="أْ%1"},
- {a="ئ([^uaiUAI])", b="ئْ%1"},
- {a="ئ$", b="ئْ"},
- {a="ئ(%s)", b="ئْ%1"},
- -- hamza takes tašdīd too
- {a="''([Uu])", b="ؤؤ%1"},
- {a="''([Aa])", b="أأ%1"},
- {a="''([Ii])", b="ئئ%1"},
- -- initial long u
- {a="%'%_U", b="أU"},
- -- madda (historic writing below)
- {a="'a'([^uaiUAI])", b="آ%1"},
- {a="'a?A([%_%^%.]?[%`%'btjghdrzsfqklmnywAY])", b="آ%1"},
- {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
- -- initial (needs both ^ and %W patterns)
- {a="^(')([ua])", b="أ%2"},
- {a="^(')(i)", b="إ%2"},
- {a="(%W)(')([ua])", b="%1أ%3"},
- {a="(%W)(')(i)", b="%1إ%3"},
- -- final
- -- ^say'aN and .zim'aN are special orthographies
- {a="(%^say)(%')(aN)", b="%1ئ%3"},
- {a="(.zi?m)(%')(aN)", b="%1ئ%3"},
- {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?)(%W)", b="%1ؤ%3%4"},
- {a="(u)(')$", b="%1ؤْ"},
- {a="(u)(')(%W)", b="%1ؤْ%3"},
--- a
- {a="(a)(')(A)$", b="%1آ"},
- {a="(a)(')(A)(%W)", b="%1آ%4"},
- {a="(a)(')([u]N?)$", b="%1أ%3"},
- {a="(a)(')([u]N?)(%W)", b="%1أ%3%4"},
- {a="(a)(')(a)$", b="%1أ%3"},
- {a="(a)(')(a)(%W)", b="%1أ%3%4"},
- {a="(a)(')(aN)$", b="%1أً"},
- {a="(a)(')(aN)(%W)", b="%1أً%4"},
- {a="(a)(')([i]N?)$", b="%1إ%3"},
- {a="(a)(')([i]N?)(%W)", b="%1إ%3%4"},
- {a="(a)(')$", b="%1أْ"},
- {a="(a)(')(%W)", b="%1أْ%3"},
--- i
- {a="(i)(')([uai]N?)$", b="%1ئ%3"},
- {a="(i)(')([uai]N?)(%W)", b="%1ئ%3%4"},
- {a="(i)(')$", b="%1ئْ"},
- {a="(i)(')(%W)", b="%1ئْ%3"},
---
- -- middle
- {a="(U)(')", b="%1ء"},
- {a="([Iy])(')", b="%1ئ"},
- {a="([^uai])(')([uU])", b="%1ؤ%3"},
- {a="([^uai])(')([aA])", b="%1أ%3"},
- {a="([^uai])(')([iI])", b="%1ئ%3"},
- {a="(u)(')([uU])", b="%1ؤ%3"},
- {a="(u)(')([aA])", b="%1ؤ%3"},
- {a="(u)(')([iI])", b="%1ئ%3"},
- {a="(a)(')([aA])", b="%1أ%3"},
- {a="(a)(')([uU])", b="%1ؤ%3"},
- {a="(a)(')([iI])", b="%1ئ%3"},
- {a="(i)(')([aA])", b="%1ئ%3"},
- {a="(i)(')([uU])", b="%1ئ%3"},
- {a="(i)(')([iI])", b="%1ئ%3"},
- {a="(a)(')([^uaiUAI])", b="%1أْ%3"},
- {a="(u)(')([^uaiUAI])", b="%1ؤْ%3"},
- {a="(i)(')([^uaiUAI])", b="%1ئْ%3"}
-}
-
-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ٱ"},
- -- 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"},
- -- 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=""},
- -- 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="ٍ"}
-}
-
--- this is new
-trigraphsfv = { -- trigraphs or more
- -- 'llatI / 'llad_I
- {a="^'ll(a)([%_]?[dt])", b="ٱلّ%1%2"},
- {a="([%s%-])'ll(a)([%_]?[dt])", b="%1ٱلّ%2%3"},
- -- al- + lām
- {a="^(a)l%-(l)", b="ا%1ل%2%2"},
- {a="([%s%-])(a)l%-(l)", b="%1ا%2ل%3%3"},
- -- al- + solar consonant
- {a="^(a)l%-([%_%^%.]?[tdrzsn])", b="ا%1ل%2%2"},
- {a="([%s%-])(a)l%-([%_%^%.]?[tdrzsn])", b="%1ا%2ل%3%3"},
- -- assim. art. + solar consonant
- {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"},
- -- li-/la + art. + initial unstable hamza is a special orthography
- {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لْ"},
- -- diphthongs to be resolved before ʾalif conjunctionis
- {a="(aW)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="awuا%2%3"},
- {a="(aw)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1u%2%3"},
- {a="(ay)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1i%2%3"},
- -- art. with waṣla + lām
- {a="'l%-(l)", b="ٱل%1%1"},
- -- art. with waṣla + solar consonant
- {a="'l%-([%_%^%.]?[tdrzsn])", b="ٱل%1%1"},
- -- li-/la- + art. + lām
- {a="l([ai])%-l%-(l)", b="ل%1%2%2"},
- -- assim. art. with waṣla + solar consonant
- {a="'([%_%^%.]?[tdrzsn])%-", b="ٱل%1"},
- -- li-/la- + art. + solar consonant is a special orthography
- {a="l([ai])%-l%-([%_%^%.]?[tdrzsn])", b="ل%1ل%2%2"},
- -- 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"},
- -- art. with waṣla + lunar consonant (i.e. what remains)
- {a="'l%-", b="ٱلْ"},
- -- the silent wāw
- {a="uU$", b="uو"},
- {a="uU(%W)", b="uو%1"},
- {a="aU$", b="aو"},
- {a="aU(%W)", b="aو%1"},
- {a="iU$", b="iو"},
- {a="iU(%W)", b="iو%1"},
- -- words ending in -āT with silent wāw/yāʾ
- {a="(_a)UA", b="%1وا"},
- {a="(_a)U", b="%1و"},
- {a="(_a)I", b="%1ي"},
- -- assimilations
- {a="(n)(%s)([rlmnwy])", b="%1%2%3%3"}
-}
-
--- this is new
-digraphsfv = {
- -- initial straight double quote gives a connective ʾalif
- {a="^\"[uai]", b="ٱ"},
- {a="([%s%-])\"[uai]", b="%1ٱ"},
- -- diphthongs to be resolved before ʾalif conjunctionis
- {a="(aW)(%s)(\"?[uai])", b="awuا%2ٱ"},
- {a="(aw)(%s)(\"?[uai])", b="%1u%2ٱ"},
- {a="(ay)(%s)(\"?[uai])", b="%1i%2ٱ"},
- {a="([uai]%-)(\"?[uai])", b="%1ٱ"}, -- hyphen + initial alif without hamza
- -- initial alif without hamza
- {a="([%_]?[uaiUAIY])(%s)(\"?[uai])", b="%1%2ٱ"},
- {a="^([uai])", b="ا%1"}, -- initial alif without hamza
- {a="(%s)([uai])", b="%1ا%2"}, -- initial alif without hamza
- {a="%-%-", b="ـ"},
- {a="ؤؤ", b="ؤّ"},
- {a="أأ", b="أّ"},
- {a="ئئ", b="ئّ"},
- {a="bb", b="بّ"},
- {a="BB", b="ـّ"},
- {a="(%_)([thd])([thd])", b="%1%2|%3"},
- {a="tt", b="تّ"},
- {a="%_t%_t", b="ثّ"},
- {a="jj", b="جّ"},
- {a="%^g%^g", b="جّ"},
- {a="xx", b="خّ"},
- {a="%_h%_h", b="خّ"},
- {a="dd", b="دّ"},
- {a="%_d%_d", b="ذّ"},
- {a="rr", b="رّ"},
- {a="zz", b="زّ"},
- {a="ss", b="سّ"},
- {a="%^s%^s", b="شّ"},
- {a="%.s%.s", b="صّ"},
- {a="%.d%.d", b="ضّ"},
- {a="%.t%.t", b="طّ"},
- {a="%.z%.z", b="ظّ"},
- {a="%`%`", b="عّ"},
- {a="%.g%.g", b="غّ"},
- {a="ff", b="فّ"},
- {a="qq", b="قّ"},
- {a="kk", b="كّ"},
- {a="ll", b="لّ"},
- {a="mm", b="مّ"},
- {a="nn", b="نّ"},
- {a="hh", b="هّ"},
- {a="ww", b="وّ"},
- {a="yy", b="يّ"},
- -- sukūn begin
- {a="([%_%^%.]?[Bbtjghxdrzs%`fqklmnwy])$", b="%1ْ"},
- {a="([%_%^%.]?[Bbtjghxdrzs%`fqklmnwy])([%s])", b="%1ْ%2"},
- {a="([%_%^%.]?[Bbtjghxdrzs%`fqklmnwy])([%_]?[^%_uaiUAIًٌٍ])", 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="ْ\"", b="\""},
- -- sukūn end
- {a="_t", b="ث"},
- {a="%^g", b="ج"},
- {a="%.h", b="ح"},
- {a="_h", b="خ"},
- {a="_d", b="ذ"},
- {a="%^s", b="ش"},
- {a="%.s", b="ص"},
- {a="%.d", b="ض"},
- {a="%.t", b="ط"},
- {a="%.z", b="ظ"},
- {a="%.g", b="غ"},
- {a="(U)(A)", b="%1ا"},
- {a="WA", b="وْا"},
- {a="(a)W\"", b="%1وا"},
- {a="(a)W", b="%1وْا"},
- {a="_A", b="aى"},
- {a="_u", b="ٗ"},
- {a="_a", b="ٰ"},
- {a="_i", b="ٖ"},
- {a="%.b", b="ٮ"},
- {a="%.f", b="ڡ"},
- {a="%.q", b="ٯ"},
- {a="%.k", b="ک"},
- {a="%.n", b="ں"},
- {a="%^d", b="ڊ"}
-}
-
-singlefv = {
- {a="b", b="ب"},
- {a="t", b="ت"},
- {a="j", b="ج"},
- {a="x", b="خ"},
- {a="d", b="د"},
- {a="r", b="ر"},
- {a="z", b="ز"},
- {a="s", b="س"},
- {a="f", b="ف"},
- {a="`", b="ع"},
- {a="f", b="ف"},
- {a="q", b="ق"},
- {a="k", b="ك"},
- {a="l", b="ل"},
- {a="m", b="م"},
- {a="n", b="ن"},
- {a="h", b="ه"},
- {a="w", b="و"},
- {a="y", b="ي"},
- {a="T", b="ة"},
- {a="\"$", b=""},
- {a="\"(%W)", b="%1"},
- {a="\"([^uaiUAI])", b="%1"},
- {a="([^0-9])%-([^0-9])", b="%1%2"},
- {a="B", b="ـ"},
-}
diff --git a/Master/texmf-dist/source/lualatex/arabluatex/arabluatex_novoc.lua b/Master/texmf-dist/source/lualatex/arabluatex/arabluatex_novoc.lua
deleted file mode 100644
index deb5d3ef0eb..00000000000
--- a/Master/texmf-dist/source/lualatex/arabluatex/arabluatex_novoc.lua
+++ /dev/null
@@ -1,136 +0,0 @@
---[[
-This file is part of the `arabluatex' package
-
-Copyright (C) 2016 Robert Alessi
-
-Please send error reports and suggestions for improvements to
-Robert Alessi <alessi@robertalessi.net>
-
-This program is free software; you can redistribute it and/or
-modify it under the terms of the GNU General Public License
-as published by the Free Software Foundation; either version 2
-of the License, or (at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-02111-1307, USA.
---]]
-
-tanwinnv = {
- {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"},
- -- 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="ٍ"},
- -- "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=""},
- -- 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="ٱ"},
- {a="([%s%-])\"", b="%1ٱ"}
-}
-
-trigraphsnv = { -- trigraphs or more
- -- Allah
- {a="l%-l_ah", b="l-ll_ah"},
- -- 'llatI / 'llad_I
- {a="^'ll(a)([%_]?[dt])", b="ال%1%2"},
- {a="([%s%-])'ll(a)([%_]?[dt])", b="%1ال%2%3"},
- -- al- + lām
- {a="^(a)l%-(l)", b="ا%1ل%2"},
- {a="([%s%-])(a)l%-(l)", b="%1ا%2ل%3"},
- -- al- + solar consonant
- {a="^(a)l%-([%_%^%.]?[tdrzsn])", b="ا%1ل%2"},
- {a="([%s%-])(a)l%-([%_%^%.]?[tdrzsn])", b="%1ا%2ل%3"},
- -- assim. art. + solar consonant
- {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"},
- -- 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"},
- -- al- + lunar consonant (i.e. what remains)
- {a="^(a)l%-", b="ا%1ل"},
- {a="([%s%-])(a)l%-", b="%1ا%2ل"},
- -- art. with waṣla + lām
- {a="'l%-(l)", b="ال%1"},
- -- art. with waṣla + solar consonant
- {a="'l%-([%_%^%.]?[tdrzsn])", b="ال%1"},
- -- li-/la- + art. + lām
- {a="l([ai])%-l%-(l)", b="ل%1%2"},
- -- assim. art. with waṣla + solar consonant
- {a="'([%_%^%.]?[tdrzsn])%-", b="ال"},
- -- li-/la- + art. + solar consonant is a special orthography
- {a="l([ai])%-l%-([%_%^%.]?[tdrzsn])", b="ل%1ل%2"},
- -- li-/la + assim. art. + solar consonant is a special orthography
- {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"},
- -- art. with waṣla + lunar consonant (i.e. what remains)
- {a="'l%-", b="ال"},
- -- the silent wāw
- {a="uU$", b="uو"},
- {a="uU(%W)", b="uو%1"},
- {a="aU$", b="aو"},
- {a="aU(%W)", b="aو%1"},
- {a="iU$", b="iو"},
- {a="iU(%W)", b="iو%1"},
- -- words ending in -āT with silent wāw/yāʾ
- {a="(_a)UA", b="%1وا"},
- {a="(_a)U", b="%1و"},
- {a="(_a)I", b="%1ي"}
-}
-
-longvnv = {
- {a="\"A", b="َا"},
- {a="\"U", b="ُو"},
- {a="\"I", b="ِي"},
- {a="\"Y", b="aى"},
- {a="A", b="ا"},
- {a="U", b="و"},
- {a="I", b="ي"},
- {a="Y", b="ى"},
-}
-
-shortvnv = {
- {a="\"u", b="ُ"},
- {a="\"a", b="َ"},
- {a="\"i", b="ِ"},
- {a="u", b=""},
- {a="a", b=""},
- {a="i", b=""}
-}
diff --git a/Master/texmf-dist/source/lualatex/arabluatex/arabluatex_trans.lua b/Master/texmf-dist/source/lualatex/arabluatex/arabluatex_trans.lua
deleted file mode 100644
index b61c6db7373..00000000000
--- a/Master/texmf-dist/source/lualatex/arabluatex/arabluatex_trans.lua
+++ /dev/null
@@ -1,483 +0,0 @@
---[[
-This file is part of the `arabluatex' package
-
-Copyright (C) 2016 Robert Alessi
-
-Please send error reports and suggestions for improvements to
-Robert Alessi <alessi@robertalessi.net>
-
-This program is free software; you can redistribute it and/or
-modify it under the terms of the GNU General Public License
-as published by the Free Software Foundation; either version 2
-of the License, or (at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-02111-1307, USA.
---]]
-
--- common
-
-punctuationtr = {
- {a="%(%(", b="("},
- {a="%)%)", b=")"}
-}
-
-nulltr = {
- {a="%|", b=""}
-}
-
--- cap
-captr = {
- -- dmg (defaut); loc as well
- {a="ā", b="Ā"},
- {a="b", b="B"},
- {a="t", b="T"},
- {a="ṯ", b="Ṯ"},
- {a="ǧ", b="Ǧ"},
- {a="ḥ", b="Ḥ"},
- {a="ḫ", b="Ḫ"},
- {a="d", b="D"},
- {a="ḏ", b="Ḏ"},
- {a="r", b="R"},
- {a="z", b="Z"},
- {a="s", b="S"},
- {a="š", b="Š"},
- {a="ṣ", b="Ṣ"},
- {a="ḍ", b="Ḍ"},
- {a="ṭ", b="Ṭ"},
- {a="ẓ", b="Ẓ"},
- {a="ġ", b="Ġ"},
- {a="f", b="F"},
- {a="q", b="Q"},
- {a="k", b="K"},
- {a="l", b="L"},
- {a="m", b="M"},
- {a="n", b="N"},
- {a="h", b="H"},
- {a="w", b="W"},
- {a="ū", b="Ū"},
- {a="y", b="Y"},
- {a="ī", b="Ī"}
-}
-
--- dmg
-
-hamzatrdmg = {
- -- hard coded hamza
- {a="|\"'", b="ʾ"},
- {a="A\"'", b="ʾA"},
- {a="[au]\"'", b="ʾ"},
- {a="w\"'", b="ʾ"},
- {a="i\"'", b="ʾ"},
- {a="y\"'", b="ʾ"},
- -- hamza takes tašdīd too
- {a="''([Uu])", b="ʾʾ%1"},
- {a="''([Aa])", b="ʾʾ%1"},
- {a="''([Ii])", b="ʾʾ%1"},
- -- initial long u
- {a="%'%_U", b="ʾU"},
- -- madda (historic writing below)
- {a="'a'([^uaiUAI])", b="ʾA%1"},
- {a="'a?A", b="ʾA"},
- {a="(A)(')(i)$", b="%1ʾ%3"},
- {a="(A)(')(i)(%W)", b="%1ʾ%3%4"},
- {a="(A)(')(i)", b="%1ʾ%3"}, -- historic madda
- {a="(A)(')", b="%1ʾ"}, -- historic madda
- -- initial (needs both ^ and %W patterns)
- {a="^(')([ua])", b="ʾ%2"},
- {a="^(')(i)", b="ʾ%2"},
- {a="(%W)(')([ua])", b="%1ʾ%3"},
- {a="(%W)(')(i)", b="%1ʾ%3"},
- -- final
- {a="([Iy])(')(aN)$", b="%1ʾ%3"},
- {a="([Iy])(')(aN)(%W)", b="%1ʾ%3%4"},
- {a="([^uai])(')([uai]N?)$", b="%1ʾ%3"},
- {a="([^uai])(')([uai]N?)(%W)", b="%1ʾ%3%4"},
- {a="([UI])(')([uai])$", b="%1ʾ%3"},
- {a="([UI])(')([uai])(%W)", b="%1ʾ%3%4"},
- -- middle
- {a="(U)(')", b="%1ʾ"},
- {a="([Iy])(')", b="%1ʾ"},
- {a="([^uai])(')([uU])", b="%1ʾ%3"},
- {a="([^uai])(')([aA])", b="%1ʾ%3"},
- {a="([^uai])(')([iI])", b="%1ʾ%3"},
- {a="(u)(')([uU])", b="%1ʾ%3"},
- {a="(u)(')([aA])", b="%1ʾ%3"},
- {a="(u)(')([iI])", b="%1ʾ%3"},
- {a="(a)(')([aA])", b="%1ʾ%3"},
- {a="(a)(')([uU])", b="%1ʾ%3"},
- {a="(a)(')([iI])", b="%1ʾ%3"},
- {a="(i)(')([aA])", b="%1ʾ%3"},
- {a="(i)(')([uU])", b="%1ʾ%3"},
- {a="(i)(')([iI])", b="%1ʾ%3"},
- {a="(a)(')([^uaiUAI])", b="%1ʾ%3"},
- {a="(u)(')([^uaiUAI])", b="%1ʾ%3"},
- {a="(i)(')([^uaiUAI])", b="%1ʾ%3"}
-}
-
-tanwintrdmg = {
- {a="uNU", b="un"},
- {a="aNU", b="an"},
- {a="iNU", b="in"},
- -- tanwīn preceding ʾalif conjunctionis
- {a="(uN)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="uni%2%3"},
- {a="(aN)(_A)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="ani%3%4"},
- {a="(aN)(Y)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="ani%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", 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"}
-}
-
-trigraphstrdmg = { -- trigraphs or more
- -- 'llatI / 'llad_I
- {a="^'ll(a)([%_]?[dt])", b="'ll%1%2"},
- {a="(%s)'ll(a)([%_]?[dt])", b="%1'll%2%3"},
- -- al- + lām
- {a="^(a)l%-(l)", b="%1l-%2"},
- {a="([%s%-])(a)l%-(l)", b="%1%2l-%3"},
- -- al- + solar consonant
- {a="^(a)l%-([%_%^%.]?[tdrzsn])", b="%1%2-%2"},
- {a="([%s%-])(a)l%-([%_%^%.]?[tdrzsn])", b="%1%2%3-%3"},
- -- assim. art. + solar consonant
- {a="^(a)([%_%^%.]?[tdrzsn])%-", b="%1%2-"},
- {a="([%s%-])(a)([%_%^%.]?[tdrzsn])%-", b="%1%2%3-"},
- -- al- + initial unstable hamza
- {a="^(a)l%-([uai])", b="%1l-%2"},
- {a="([%s%-])(a)l%-([uai])", b="%1%2l-%3"},
- -- li-/la- + art. + initial unstable hamza is a special orthography
- {a="l([ai])%-l%-([uai])", b="l%1-l-%2"},
- -- al- + lunar consonant (i.e. what remains)
- {a="^(a)l%-", b="%1l-"},
- {a="([%s%-])(a)l%-", b="%1%2l-"},
- -- diphthongs to be resolved before ʾalif conjunctionis
- {a="(aw)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1u%2%3"},
- {a="(ay)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1i%2%3"},
- -- art. with waṣla + lām
- {a="'l%-(l)", b="'l-%1"},
- -- art. with waṣla + solar consonant
- {a="'l%-([%_%^%.]?[tdrzsn])", b="'%1-%1"},
- -- li-/la- + art. + lām
- {a="l([ai])%-l%-(l)", b="l%1-%2%2"},
- -- assim. art. with waṣla + solar consonant
- {a="'([%_%^%.]?[tdrzsn])%-", b="'%1-"},
- -- li-/la- + art. + solar consonant is a special orthography
- {a="l([ai])%-l%-([%_%^%.]?[tdrzsn])", b="l%1-%2-%2"},
- -- li-/la- + assim. art. + solar consonant is a special orthography
- {a="l([ai])%-([%_%^%.]?[tdrzsn])%-([%_%^%.]?[tdrzsn])", b="l%1-%2-%3"},
- -- art. with waṣla + initial unstable hamza
- {a="'l%-([uai])", b="'l-%1"},
- -- art. with waṣla + lunar consonant (i.e. what remains)
- {a="'l%-", b="'l-"},
- -- the silent wāw
- {a="uU$", b="u"},
- {a="uU(%W)", b="u%1"},
- {a="aU$", b="a"},
- {a="aU(%W)", b="a%1"},
- {a="iU$", b="i"},
- {a="iU(%W)", b="i%1"},
- -- words ending in -āT with silent wāw/yāʾ
- {a="(_a)UA", b="A"},
- {a="(_a)U", b="A"},
- {a="(_a)I", b="A"},
- -- assimilations
- {a="(n)(%s)([rlmnwy])", b="%3%2%3"}
-}
-
-digraphstrdmg = {
- {a="([uai]%-)(\"?[uai])", b="%1'"}, -- hyphen + initial alif without hamza
- {a="^(\"?[uai])", b="%1"}, -- initial alif without hamza
--- {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="([%_]?[Uu])(%s)(\"?[uai])", b="u%2'"},
- {a="([%_]?[Ii])(%s)(\"?[uai])", b="i%2'"},
- -- 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="([%_]?[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", b="ṯ"},
- {a="%^g", b="ǧ"},
- {a="%.h", b="ḥ"},
- {a="_h", b="ḫ"},
- {a="_d", b="ḏ"},
- {a="%^s", b="š"},
- {a="%.s", b="ṣ"},
- {a="%.d", b="ḍ"},
- {a="%.t", b="ṭ"},
- {a="%.z", b="ẓ"},
- {a="%.g", b="ġ"},
- -- the following needs to be moved above shortening rules
--- {a="(U)(A)", b="ū"},
- {a="WA", b="w"},
- {a="(a)W", b="%1w"},
- {a="_A", b="ā"},
- {a="_u", b="ū"},
- {a="_a", b="ā"},
- {a="_i", b="ī"},
- {a="%.b", b="ḅ"},
- {a="%.f", b="f̣"},
- {a="%.q", b="q̣"},
- {a="%.k", b="k"},
- {a="%.n", b="ṇ"},
- {a="%^d", b="d́"}
-}
-
-singletrdmg = {
- {a="b", b="b"},
- {a="t", b="t"},
- {a="j", b="ǧ"},
- {a="x", b="ḫ"},
- {a="d", b="d"},
- {a="r", b="r"},
- {a="z", b="z"},
- {a="s", b="s"},
- {a="`", b="ʿ"},
- {a="f", b="f"},
- {a="q", b="q"},
- {a="k", b="k"},
- {a="l", b="l"},
- {a="m", b="m"},
- {a="n", b="n"},
- {a="h", b="h"},
- {a="w", b="w"},
- {a="y", b="y"},
- {a="T", b="t"},
- {a="\"", b=""},
- {a="B", b=""}
-}
-
-longvtrdmg = {
- {a="A", b="ā"},
- {a="U", b="ū"},
- {a="I", b="ī"},
- {a="Y", b="ā"}
-}
-
-shortvtrdmg = {
- {a="u", b="u"},
- {a="a", b="a"},
- {a="i", b="i"}
-}
-
--- loc
-
-hamzatrloc = {
- -- hard coded hamza
- {a="|\"'", b="ʾ"},
- {a="A\"'", b="ʾA"},
- {a="[au]\"'", b="ʾ"},
- {a="w\"'", b="ʾ"},
- {a="i\"'", b="ʾ"},
- {a="y\"'", b="ʾ"},
- -- hamza takes tašdīd too
- {a="''([Uu])", b="ʾʾ%1"},
- {a="''([Aa])", b="ʾʾ%1"},
- {a="''([Ii])", b="ʾʾ%1"},
- -- initial long u
- {a="%'%_U", b="U"},
- -- madda (historic writing below)
- {a="^(')(A)", b="%2"},
- {a="(%W)(')(A)", b="%1%3"},
-
- {a="^'a'([^uaiUAI])", b="A%1"},
- {a="(%W)'a'([^uaiUAI])", b="%1A%2"},
- {a="'a'([^uaiUAI])", b="A%1"},
- {a="^'a?A", b="A"},
- {a="(%W)'a?A", b="%1A"},
- {a="'a?A", b="ʾA"},
- {a="(A)(')(i)$", b="%1ʾ%3"},
- {a="(A)(')(i)(%W)", b="%1ʾ%3%4"},
- {a="(A)(')(i)", b="%1ʾ%3"}, -- historic madda
- {a="(A)(')", b="%1ʾ"}, -- historic madda
- -- initial (needs both ^ and %W patterns)
- {a="^(')([ua])", b="%2"},
- {a="^(')(i)", b="%2"},
- {a="(%W)(')([ua])", b="%1%3"},
- {a="(%W)(')(i)", b="%1%3"},
- -- final
- {a="([Iy])(')(aN)$", b="%1ʾ%3"},
- {a="([Iy])(')(aN)(%W)", b="%1ʾ%3%4"},
- {a="([^uai])(')([uai]N?)$", b="%1ʾ%3"},
- {a="([^uai])(')([uai]N?)(%W)", b="%1ʾ%3%4"},
- {a="([UI])(')([uai])$", b="%1ʾ%3"},
- {a="([UI])(')([uai])(%W)", b="%1ʾ%3%4"},
- -- middle
- {a="(U)(')", b="%1ʾ"},
- {a="([Iy])(')", b="%1ʾ"},
- {a="([^uai])(')([uU])", b="%1ʾ%3"},
- {a="([^uai])(')([aA])", b="%1ʾ%3"},
- {a="([^uai])(')([iI])", b="%1ʾ%3"},
- {a="(u)(')([uU])", b="%1ʾ%3"},
- {a="(u)(')([aA])", b="%1ʾ%3"},
- {a="(u)(')([iI])", b="%1ʾ%3"},
- {a="(a)(')([aA])", b="%1ʾ%3"},
- {a="(a)(')([uU])", b="%1ʾ%3"},
- {a="(a)(')([iI])", b="%1ʾ%3"},
- {a="(i)(')([aA])", b="%1ʾ%3"},
- {a="(i)(')([uU])", b="%1ʾ%3"},
- {a="(i)(')([iI])", b="%1ʾ%3"},
- {a="(a)(')([^uaiUAI])", b="%1ʾ%3"},
- {a="(u)(')([^uaiUAI])", b="%1ʾ%3"},
- {a="(i)(')([^uaiUAI])", b="%1ʾ%3"}
-}
-
-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"}
-}
-
-trigraphstrloc = { -- trigraphs or more
- -- 'llatI / 'llad_I
- {a="^'ll(a)([%_]?[dt])", b="all%1%2"},
- {a="(%s)'ll(a)([%_]?[dt])", b="%1all%2%3"},
- -- al- + lām
- {a="^(a)l%-(l)", b="%1l-%2"},
- {a="(%s)(a)l%-(l)", b="%1%2l-%3"},
- -- al- + solar consonant
- {a="^(a)l%-([%_%^%.]?[tdrzsn])", b="%1l-%2"},
- {a="(%s)(a)l%-([%_%^%.]?[tdrzsn])", b="%1%2l-%3"},
- -- assim. art. + solar consonant
- {a="^(a)([%_%^%.]?[tdrzsn])%-", b="%1l-"},
- {a="(%s)(a)([%_%^%.]?[tdrzsn])%-", b="%1%2l-"},
- -- al- + initial unstable hamza
- {a="^(a)l%-([uai])", b="%1l-%2"},
- {a="(%s)(a)l%-([uai])", b="%1%2l-%3"},
- -- li-/la- + art. + initial unstable hamza is a special orthography
- {a="l([ai])%-l%-([uai])", b="l%1l-%2"},
- -- al- + lunar consonant (i.e. what remains)
- {a="^(a)l%-", b="%1l-"},
- {a="(%s)(a)l%-", b="%1%2l-"},
- -- art. with waṣla + lām
- {a="'l%-(l)", b="al-%1"},
- -- art. with waṣla + solar consonant
- {a="'l%-([%_%^%.]?[tdrzsn])", b="al-%1"},
- -- li-/la- + art. + lām
- {a="l([ai])%-l%-(l)", b="l%1-%2"},
- -- assim. art. with waṣla + solar consonant
- {a="'([%_%^%.]?[tdrzsn])%-", b="al-"},
- -- li-/la- + art. + solar consonant is a special orthography
- {a="l([ai])%-l%-([%_%^%.]?[tdrzsn])", b="l%1l-%2"},
- -- li-/la- + assim. art. + solar consonant is a special orthography
- {a="l([ai])%-([%_%^%.]?[tdrzsn])%-([%_%^%.]?[tdrzsn])", b="l%1l-%3"},
- -- art. with waṣla + initial unstable hamza
- {a="'l%-([uai])", b="al-%1"},
- -- art. with waṣla + lunar consonant (i.e. what remains)
- {a="'l%-", b="al-"},
- -- the silent wāw
- {a="uU$", b="u"},
- {a="uU(%W)", b="u%1"},
- {a="aU$", b="a"},
- {a="aU(%W)", b="a%1"},
- {a="iU$", b="i"},
- {a="iU(%W)", b="i%1"},
- -- words ending in -āT with silent wāw/yāʾ
- {a="(_a)UA", b="A"},
- {a="(_a)U", b="A"},
- {a="(_a)I", b="A"}
-}
-
-digraphstrloc = {
- {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"},
- {a="iyy", b="īy"},
- {a="([tkdsg])(h)", b="%1'%2"},
--- {a="T([^uai])", b="h%1"},
- {a="T$", b="h"},
- {a="T(%W)", b="h%1"},
- {a="_t", b="th"},
- {a="%^g", b="j"},
- {a="%.h", b="ḥ"},
- {a="_h", b="kh"},
- {a="_d", b="dh"},
- {a="%^s", b="sh"},
- {a="%.s", b="ṣ"},
- {a="%.d", b="ḍ"},
- {a="%.t", b="ṭ"},
- {a="%.z", b="ẓ"},
- {a="%.g", b="gh"},
- {a="(U)(A)", b="ū"},
- {a="WA", b="w"},
- {a="(a)W", b="%1w"},
- {a="_A", b="á"},
- {a="_u", b="ū"},
- {a="_a", b="ā"},
- {a="_i", b="ī"},
- {a="%.b", b="b"},
- {a="%.f", b="f"},
- {a="%.q", b="q"},
- {a="%.k", b="k"},
- {a="%.n", b="n"},
- {a="%^d", b="d"}
-}
-
-singletrloc = {
- {a="b", b="b"},
- {a="t", b="t"},
- {a="j", b="j"},
- {a="x", b="kh"},
- {a="d", b="d"},
- {a="r", b="r"},
- {a="z", b="z"},
- {a="s", b="s"},
- {a="`", b="`"},
- {a="f", b="f"},
- {a="q", b="q"},
- {a="k", b="k"},
- {a="l", b="l"},
- {a="m", b="m"},
- {a="n", b="n"},
- {a="h", b="h"},
- {a="w", b="w"},
- {a="y", b="y"},
- {a="T", b="t"},
- {a="\"", b=""},
- {a="B", b=""}
-}
-
-longvtrloc = {
- {a="A", b="ā"},
- {a="U", b="ū"},
- {a="I", b="ī"},
- {a="Y", b="á"},
-}
-
-shortvtrloc = {
- {a="u", b="u"},
- {a="a", b="a"},
- {a="i", b="i"}
-}
-
-finaltrloc = {
- {a="ʾ", b="'"},
-}
diff --git a/Master/texmf-dist/source/lualatex/arabluatex/arabluatex_voc.lua b/Master/texmf-dist/source/lualatex/arabluatex/arabluatex_voc.lua
deleted file mode 100644
index 97249012661..00000000000
--- a/Master/texmf-dist/source/lualatex/arabluatex/arabluatex_voc.lua
+++ /dev/null
@@ -1,372 +0,0 @@
---[[
-This file is part of the `arabluatex' package
-
-Copyright (C) 2016 Robert Alessi
-
-Please send error reports and suggestions for improvements to
-Robert Alessi <alessi@robertalessi.net>
-
-This program is free software; you can redistribute it and/or
-modify it under the terms of the GNU General Public License
-as published by the Free Software Foundation; either version 2
-of the License, or (at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-02111-1307, USA.
---]]
-
-numbers = {
- {a="0", b="٠"},
- {a="1", b="١"},
- {a="2", b="٢"},
- {a="3", b="٣"},
- {a="4", b="٤"},
- {a="5", b="٥"},
- {a="6", b="٦"},
- {a="7", b="٧"},
- {a="8", b="٨"},
- {a="9", b="٩"}
-}
-
-raw = {
- {a="A", b="َا"},
- {a="U", b="ُو"},
- {a="I", b="ِي"},
- {a="b", b="ب"},
- {a="t", b="ت"},
- {a="j", b="ج"},
- {a="x", b="خ"},
- {a="d", b="د"},
- {a="r", b="ر"},
- {a="z", b="ز"},
- {a="s", b="س"},
- {a="f", b="ف"},
- {a="`", b="ع"},
- {a="f", b="ف"},
- {a="q", b="ق"},
- {a="k", b="ك"},
- {a="l", b="ل"},
- {a="m", b="م"},
- {a="n", b="ن"},
- {a="h", b="ه"},
- {a="w", b="و"},
- {a="y", b="ي"},
- {a="T", b="ة"},
- {a="u", b="ُ"},
- {a="a", b="َ"},
- {a="i", b="ِ"}
-}
-
-hamza = {
- -- hard coded hamza
- {a="|\"'", b="ء"},
- {a="A\"'", b="آ"},
- {a="[au]\"'", b="أ"},
- {a="w\"'", b="ؤ"},
- {a="i\"'", b="إ"},
- {a="y\"'", b="ئ"},
- -- hamza takes tašdīd too
- {a="''([Uu])", b="ؤؤ%1"},
- {a="''([Aa])", b="أأ%1"},
- {a="''([Ii])", b="ئئ%1"},
- -- initial long u
- {a="%'%_U", b="أU"},
- -- madda (historic writing below)
- {a="'a'([^uaiUAI])", b="آ%1"},
- {a="'a?A([%_%^%.]?[%`%'btjghdrzsfqklmnywAY])", b="آ%1"},
- {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
- -- initial (needs both ^ and %W patterns)
- {a="^(')([ua])", b="أ%2"},
- {a="^(')(i)", b="إ%2"},
- {a="(%W)(')([ua])", b="%1أ%3"},
- {a="(%W)(')(i)", b="%1إ%3"},
- -- final
- -- ^say'aN and .zim'aN are special orthographies
- {a="(%^say)(%')(aN)", b="%1ئ%3"},
- {a="(.zi?m)(%')(aN)", b="%1ئ%3"},
- {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?)(%W)", b="%1ؤ%3%4"},
- {a="(u)(')$", b="%1ؤ"},
- {a="(u)(')(%W)", b="%1ؤ%3"},
--- a
- {a="(a)(')(A)$", b="%1آ"},
- {a="(a)(')(A)(%W)", b="%1آ%4"},
- {a="(a)(')([u]N?)$", b="%1أ%3"},
- {a="(a)(')([u]N?)(%W)", b="%1أ%3%4"},
- {a="(a)(')(a)$", b="%1أ%3"},
- {a="(a)(')(a)(%W)", b="%1أ%3%4"},
- {a="(a)(')(aN)$", b="%1أً"},
- {a="(a)(')(aN)(%W)", b="%1أً%4"},
- {a="(a)(')([i]N?)$", b="%1إ%3"},
- {a="(a)(')([i]N?)(%W)", b="%1إ%3%4"},
- {a="(a)(')$", b="%1أ"},
- {a="(a)(')(%W)", b="%1أ%3"},
--- i
- {a="(i)(')([uai]N?)$", b="%1ئ%3"},
- {a="(i)(')([uai]N?)(%W)", b="%1ئ%3%4"},
- {a="(i)(')$", b="%1ئ"},
- {a="(i)(')(%W)", b="%1ئ%3"},
---
- -- middle
- {a="(U)(')", b="%1ء"},
- {a="([Iy])(')", b="%1ئ"},
- {a="([^uai])(')([uU])", b="%1ؤ%3"},
- {a="([^uai])(')([aA])", b="%1أ%3"},
- {a="([^uai])(')([iI])", b="%1ئ%3"},
- {a="(u)(')([uU])", b="%1ؤ%3"},
- {a="(u)(')([aA])", b="%1ؤ%3"},
- {a="(u)(')([iI])", b="%1ئ%3"},
- {a="(a)(')([aA])", b="%1أ%3"},
- {a="(a)(')([uU])", b="%1ؤ%3"},
- {a="(a)(')([iI])", b="%1ئ%3"},
- {a="(i)(')([aA])", b="%1ئ%3"},
- {a="(i)(')([uU])", b="%1ئ%3"},
- {a="(i)(')([iI])", b="%1ئ%3"},
- {a="(a)(')([^uaiUAI])", b="%1أ%3"},
- {a="(u)(')([^uaiUAI])", b="%1ؤ%3"},
- {a="(i)(')([^uaiUAI])", b="%1ئ%3"}
-}
-
-tanwin = {
- {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"},
- -- 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=""},
- -- 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="ٍ"}
-}
-
-trigraphs = { -- trigraphs or more
- -- 'llatI / 'llad_I
- {a="^'ll(a)([%_]?[dt])", b="الّ%1%2"},
- {a="([%s%-])'ll(a)([%_]?[dt])", b="%1الّ%2%3"},
- -- al- + lām
- {a="^(a)l%-(l)", b="ا%1ل%2%2"},
- {a="([%s%-])(a)l%-(l)", b="%1ا%2ل%3%3"},
- -- al- + solar consonant
- {a="^(a)l%-([%_%^%.]?[tdrzsn])", b="ا%1ل%2%2"},
- {a="([%s%-])(a)l%-([%_%^%.]?[tdrzsn])", b="%1ا%2ل%3%3"},
- -- assim. art. + solar consonant
- {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"},
- -- 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"},
- -- al- + lunar consonant (i.e. what remains)
- {a="^(a)l%-", b="ا%1ل"},
- {a="([%s%-])(a)l%-", b="%1ا%2ل"},
- -- diphthongs to be resolved before ʾalif conjunctionis
- {a="(aW)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="awuا%2%3"},
- {a="(aw)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1u%2%3"},
- {a="(ay)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1i%2%3"},
- -- art. with waṣla + lām
- {a="'l%-(l)", b="ال%1%1"},
- -- art. with waṣla + solar consonant
- {a="'l%-([%_%^%.]?[tdrzsn])", b="ال%1%1"},
- -- li-/la- + art. + lām
- {a="l([ai])%-l%-(l)", b="ل%1%2%2"},
- -- assim. art. with waṣla + solar consonant
- {a="'([%_%^%.]?[tdrzsn])%-", b="ال%1"},
- -- li-/la- + art. + solar consonant is a special orthography
- {a="l([ai])%-l%-([%_%^%.]?[tdrzsn])", b="ل%1ل%2%2"},
- -- 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"},
- -- art. with waṣla + lunar consonant (i.e. what remains)
- {a="'l%-", b="ال"},
- -- the silent wāw
- {a="uU$", b="uو"},
- {a="uU(%W)", b="uو%1"},
- {a="aU$", b="aو"},
- {a="aU(%W)", b="aو%1"},
- {a="iU$", b="iو"},
- {a="iU(%W)", b="iو%1"},
- -- words ending in -āT with silent wāw/yāʾ
- {a="(_a)UA", b="%1وا"},
- {a="(_a)U", b="%1و"},
- {a="(_a)I", b="%1ي"},
- -- assimilations
- {a="(n)(%s)([rlmnwy])", b="%1%2%3%3"}
-}
-
-digraphs = {
- -- 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
- {a="^([uai])", b="ا%1"}, -- initial alif without hamza
- {a="(%s)([uai])", b="%1ا%2"}, -- initial alif without hamza
- {a="%-%-", b="ـ"},
- {a="ؤؤ", b="ؤّ"},
- {a="أأ", b="أّ"},
- {a="ئئ", b="ئّ"},
- {a="bb", b="بّ"},
- {a="BB", b="ـّ"},
- {a="(%_)([thd])([thd])", b="%1%2|%3"},
- {a="tt", b="تّ"},
- {a="%_t%_t", b="ثّ"},
- {a="jj", b="جّ"},
- {a="%^g%^g", b="جّ"},
- {a="xx", b="خّ"},
- {a="%_h%_h", b="خّ"},
- {a="dd", b="دّ"},
- {a="%_d%_d", b="ذّ"},
- {a="rr", b="رّ"},
- {a="zz", b="زّ"},
- {a="ss", b="سّ"},
- {a="%^s%^s", b="شّ"},
- {a="%.s%.s", b="صّ"},
- {a="%.d%.d", b="ضّ"},
- {a="%.t%.t", b="طّ"},
- {a="%.z%.z", b="ظّ"},
- {a="%`%`", b="عّ"},
- {a="%.g%.g", b="غّ"},
- {a="ff", b="فّ"},
- {a="qq", b="قّ"},
- {a="kk", b="كّ"},
- {a="ll", b="لّ"},
- {a="mm", b="مّ"},
- {a="nn", b="نّ"},
- {a="hh", b="هّ"},
- {a="ww", b="وّ"},
- {a="yy", b="يّ"},
- {a="_t", b="ث"},
- {a="%^g", b="ج"},
- {a="%.h", b="ح"},
- {a="_h", b="خ"},
- {a="_d", b="ذ"},
- {a="%^s", b="ش"},
- {a="%.s", b="ص"},
- {a="%.d", b="ض"},
- {a="%.t", b="ط"},
- {a="%.z", b="ظ"},
- {a="%.g", b="غ"},
- {a="(U)(A)", b="%1ا"},
- {a="WA", b="وا"},
- {a="(a)W\"", b="%1وْا"},
- {a="(a)W", b="%1وا"},
- {a="_A", b="aى"},
- {a="_u", b="ٗ"},
- {a="_a", b="ٰ"},
- {a="_i", b="ٖ"},
- {a="%.b", b="ٮ"},
- {a="%.f", b="ڡ"},
- {a="%.q", b="ٯ"},
- {a="%.k", b="ک"},
- {a="%.n", b="ں"},
- {a="%^d", b="ڊ"}
-}
-
-single = {
- {a="b", b="ب"},
- {a="t", b="ت"},
- {a="j", b="ج"},
- {a="x", b="خ"},
- {a="d", b="د"},
- {a="r", b="ر"},
- {a="z", b="ز"},
- {a="s", b="س"},
- {a="f", b="ف"},
- {a="`", b="ع"},
- {a="f", b="ف"},
- {a="q", b="ق"},
- {a="k", b="ك"},
- {a="l", b="ل"},
- {a="m", b="م"},
- {a="n", b="ن"},
- {a="h", b="ه"},
- {a="w", b="و"},
- {a="y", b="ي"},
- {a="T", b="ة"},
- {a="\"$", b="ْ"},
- {a="\"(%W)", b="ْ%1"},
- {a="\"([^uaiUAI])", b="ْ%1"},
- {a="([^0-9])%-([^0-9])", b="%1%2"},
- {a="B", b="ـ"}
-}
-
-longv = {
- {a="\"A", b="ا"},
- {a="\"U", b="و"},
- {a="\"I", b="ي"},
- {a="\"Y", b="ى"},
- {a="A", b="َا"},
- {a="U", b="ُو"},
- {a="I", b="ِي"},
- {a="Y", b="aى"}
-}
-
-shortv = {
- {a="\"u", b=""},
- {a="\"a", b=""},
- {a="\"i", b=""},
- {a="u", b="ُ"},
- {a="a", b="َ"},
- {a="i", b="ِ"}
-}
-
-punctuation = {
- {a="%(%(", b="﴿"},
- {a="%)%)", b="﴾"},
- {a="%(", b="+@("},
- {a="%)", b="-@("},
- {a="%+%@%(", b=")"},
- {a="%-%@%(", b="("},
- {a="%.", b="۔"},
- {a="([^0-9])%,", b="%1،"},
- {a="%?", b="؟"},
- {a="%;", b="؛"},
-}
-
-null = {
- {a="%|", b=""},
- {a="([^0-9])(%-)", b="%1"}
-}