diff options
16 files changed, 479 insertions, 2025 deletions
diff --git a/Master/texmf-dist/doc/lualatex/arabluatex/arabluatex.pdf b/Master/texmf-dist/doc/lualatex/arabluatex/arabluatex.pdf Binary files differindex ee32075c6f4..25defb82879 100644 --- a/Master/texmf-dist/doc/lualatex/arabluatex/arabluatex.pdf +++ b/Master/texmf-dist/doc/lualatex/arabluatex/arabluatex.pdf 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"} -} diff --git a/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex.lua b/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex.lua index f6597e8abb0..719e1e0856c 100644 --- a/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex.lua +++ b/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex.lua @@ -1,25 +1,25 @@ --[[ 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/>. --]] require("arabluatex_voc") @@ -72,11 +72,11 @@ local function breakcmd(str) body = string.sub(body, 2, -2) return string.format("}\\%s{%s}\\arb{", tag, body) end) - -- Abjad (Needs polyglossia) + -- Abjad 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) + return string.format("}\\aemph{\\%s{%s}}\\arb{", tag, body) end) return str end @@ -115,6 +115,14 @@ local function indnum(str) return str end +local function takeoutabjad(str) + str = string.gsub(str, "(\\abjad.?)(%b{})", function(tag, body) + body = string.sub(body, 2, -2) + return string.format("%s", body) + end) + return str +end + local function takeoutcap(str) str = string.gsub(str, "(\\cap.?)(%b{})", function(tag, body) body = string.sub(body, 2, -2) @@ -339,6 +347,7 @@ end function processtrans(str, mode) str = "\\arb{".. str.."}" + str = takeoutabjad(str) str = protectarb(str) str = breakcmd(str) str = holdcmd(str) @@ -371,3 +380,28 @@ function cap(str) end return str end + +-- this function is adapted from an 'obsolete project' of Khaled +-- Hosny's that dates back to 2010. Thanks to him. +-- See https://github.com/khaledhosny/lualatex-arabic +function abjadify(n) + local abjadnum = "" + if n >= 1000 then + for i=1,math.floor(n/1000) do + abjadnum = abjadnum .. abjad[4][1] + end + n = math.fmod(n,1000) + end + if n >= 100 then + abjadnum = abjadnum .. abjad[3][math.floor(n/100)] + n = math.fmod(n, 100) + end + if n >= 10 then + abjadnum = abjadnum .. abjad[2][math.floor(n/10)] + n = math.fmod(n, 10) + end + if n >= 1 then + abjadnum = abjadnum .. abjad[1][math.floor(n/1)] + end + return "\\arb{"..abjadnum.."}" +end diff --git a/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex.sty b/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex.sty index 376e47952b5..91c59c02461 100644 --- a/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex.sty +++ b/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex.sty @@ -8,25 +8,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 @@ -36,11 +38,10 @@ %% - arabluatex_fullvoc.lua %% - arabluatex_novoc.lua %% - arabluatex_trans.lua -%% - arabluatex.bib %% \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} \ifluatex\else \PackageError{arabluatex}{lualatex needed}{% @@ -130,6 +131,8 @@ \luadirect{tex.sprint(processtrans(\luastringO{\BODY}, \luastringO{\al@trans@convention}))}\egroup% \else \fi\fi\fi\fi}[\par] +\NewDocumentCommand{\abjad}{m}% + {\luadirect{tex.sprint(abjadify(#1))}} \DeclareDocumentCommand{\LRmarginpar}{m}{\marginpar{\textdir TLT #1}} \DeclareDocumentCommand{\LRfootnote}{m}{\bgroup\pardir TLT\LR{\footnote{#1}}\egroup} diff --git a/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_fullvoc.lua b/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_fullvoc.lua index f66ed872fd0..8263734863b 100644 --- a/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_fullvoc.lua +++ b/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_fullvoc.lua @@ -1,25 +1,25 @@ --[[ 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 is new @@ -44,8 +44,12 @@ hamzafv = { {a="''([Uu])", b="ؤؤ%1"}, {a="''([Aa])", b="أأ%1"}, {a="''([Ii])", b="ئئ%1"}, - -- initial long u + -- initial long u and i (for a, see below) {a="%'%_U", b="أU"}, + {a="%'%_I", b="إI"}, + -- taḫfīfu 'l-hamza + {a="'u'([^uaiUAI])", b="أU%1"}, + {a="'i'([^uaiUAI])", b="إI%1"}, -- madda (historic writing below) {a="'a'([^uaiUAI])", b="آ%1"}, {a="'a?A([%_%^%.]?[%`%'btjghdrzsfqklmnywAY])", b="آ%1"}, diff --git a/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_novoc.lua b/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_novoc.lua index deb5d3ef0eb..16f3b5115e4 100644 --- a/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_novoc.lua +++ b/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_novoc.lua @@ -1,25 +1,25 @@ --[[ 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/>. --]] tanwinnv = { diff --git a/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_trans.lua b/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_trans.lua index b61c6db7373..6b3f1bc092c 100644 --- a/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_trans.lua +++ b/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_trans.lua @@ -1,25 +1,25 @@ --[[ 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/>. --]] -- common @@ -81,8 +81,12 @@ hamzatrdmg = { {a="''([Uu])", b="ʾʾ%1"}, {a="''([Aa])", b="ʾʾ%1"}, {a="''([Ii])", b="ʾʾ%1"}, - -- initial long u + -- initial long u and i (for a, see below) {a="%'%_U", b="ʾU"}, + {a="%'%_I", b="ʾI"}, + -- taḫfīfu 'l-hamza + {a="'u'([^uaiUAI])", b="ʾU%1"}, + {a="'i'([^uaiUAI])", b="ʾI%1"}, -- madda (historic writing below) {a="'a'([^uaiUAI])", b="ʾA%1"}, {a="'a?A", b="ʾA"}, @@ -128,15 +132,15 @@ tanwintrdmg = { {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="(aN)(_A)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="ạni%3%4"}, + {a="(aN)(Y)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="ạni%3%4"}, {a="(T)(aN)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="tani%3%4"}, {a="([^TA])(aN)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1ani%3%4"}, {a="(iN)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="ini%2%3"}, -- {a="uN", b="un"}, - {a="(aN)(_A)", b="an"}, - {a="(aN)(Y)", b="an"}, + {a="(aN)(_A)", b="ạn"}, + {a="(aN)(Y)", b="ạn"}, {a="(T)(\"?aN)", b="tan"}, {a="([^TA])(\"?aN)", b="%1an"}, {a="iN", b="in"} @@ -231,7 +235,7 @@ digraphstrdmg = { -- {a="(U)(A)", b="ū"}, {a="WA", b="w"}, {a="(a)W", b="%1w"}, - {a="_A", b="ā"}, + {a="_A", b="ạ̄"}, {a="_u", b="ū"}, {a="_a", b="ā"}, {a="_i", b="ī"}, @@ -271,7 +275,7 @@ longvtrdmg = { {a="A", b="ā"}, {a="U", b="ū"}, {a="I", b="ī"}, - {a="Y", b="ā"} + {a="Y", b="ạ̄"} } shortvtrdmg = { @@ -294,12 +298,19 @@ hamzatrloc = { {a="''([Uu])", b="ʾʾ%1"}, {a="''([Aa])", b="ʾʾ%1"}, {a="''([Ii])", b="ʾʾ%1"}, - -- initial long u + -- initial long u and i (for a, see below) {a="%'%_U", b="U"}, + {a="%'%_I", b="I"}, + -- taḫfīfu 'l-hamza + {a="^'u'([^uaiUAI])", b="U%1"}, + {a="(%W)'u'([^uaiUAI])", b="%1U%2"}, + {a="'u'([^uaiUAI])", b="ʾU"}, + {a="^'i'([^uaiUAI])", b="I%1"}, + {a="(%W)'i'([^uaiUAI])", b="%1I%2"}, + {a="'i'([^uaiUAI])", b="ʾI"}, -- madda (historic writing below) {a="^(')(A)", b="%2"}, - {a="(%W)(')(A)", b="%1%3"}, - + {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"}, diff --git a/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_voc.lua b/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_voc.lua index 97249012661..5eafca5e1d3 100644 --- a/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_voc.lua +++ b/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_voc.lua @@ -1,27 +1,34 @@ --[[ 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/>. --]] +abjad = { +{"a\"'", "b", "j", "d", "h", "w", "z", ".h", ".t"}, +{"y", "k", "l", "m", "n", "s", "`", "f", ".s", }, +{"q", "r", "^s", "t", "_t", "x", "_d", ".d", ".z", }, +{".g"} +} + numbers = { {a="0", b="٠"}, {a="1", b="١"}, @@ -36,32 +43,32 @@ numbers = { } 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="ِ"} + {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 = { @@ -76,8 +83,12 @@ hamza = { {a="''([Uu])", b="ؤؤ%1"}, {a="''([Aa])", b="أأ%1"}, {a="''([Ii])", b="ئئ%1"}, - -- initial long u + -- initial long u and i (for a, see below) {a="%'%_U", b="أU"}, + {a="%'%_I", b="إI"}, + -- taḫfīfu 'l-hamza + {a="'u'([^uaiUAI])", b="أU%1"}, + {a="'i'([^uaiUAI])", b="إI%1"}, -- madda (historic writing below) {a="'a'([^uaiUAI])", b="آ%1"}, {a="'a?A([%_%^%.]?[%`%'btjghdrzsfqklmnywAY])", b="آ%1"}, |