summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/lualatex/arabluatex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2017-10-24 21:23:56 +0000
committerKarl Berry <karl@freefriends.org>2017-10-24 21:23:56 +0000
commit70cf953fa9bf475303862a31215cf8e33443651c (patch)
treea00425ae5eb0ae81c25df57a82352d87405f20ac /Master/texmf-dist/source/lualatex/arabluatex
parent1f862180ea719c5907ee445c0ca500a141fdee7b (diff)
arabluatex (24oct17)
git-svn-id: svn://tug.org/texlive/trunk@45591 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/lualatex/arabluatex')
-rw-r--r--Master/texmf-dist/source/lualatex/arabluatex/README.tex13
-rw-r--r--Master/texmf-dist/source/lualatex/arabluatex/arabluatex.dtx150
2 files changed, 138 insertions, 25 deletions
diff --git a/Master/texmf-dist/source/lualatex/arabluatex/README.tex b/Master/texmf-dist/source/lualatex/arabluatex/README.tex
index cb9ff8457e9..e7399a6606c 100644
--- a/Master/texmf-dist/source/lualatex/arabluatex/README.tex
+++ b/Master/texmf-dist/source/lualatex/arabluatex/README.tex
@@ -133,9 +133,14 @@ git clone http://git.robertalessi.net/arabluatex
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}.
+ArabLuaTeX.
+
+\subsection*{Git hosting}
+\label{sec:git-hosting}
+Make an account on \url{https://notabug.org} and navigate (while
+logged in) to \url{https://notabug.org/ralessi/arabluatex}. Click
+\emph{Fork} and you will have in your account your own repository of
+\verb|arabluatex| where you will be able to make whatever changes you
+like to.
\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/lualatex/arabluatex/arabluatex.dtx b/Master/texmf-dist/source/lualatex/arabluatex/arabluatex.dtx
index 04175d63632..5e4cf334450 100644
--- a/Master/texmf-dist/source/lualatex/arabluatex/arabluatex.dtx
+++ b/Master/texmf-dist/source/lualatex/arabluatex/arabluatex.dtx
@@ -27,7 +27,7 @@
%<package-info>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
%<package-info>\ProvidesPackage{arabluatex}
%<*package-info>
- [2017/07/28 v1.9.1 An ArabTeX-like interface for LuaLaTeX]
+ [2017/10/24 v1.9.2 An ArabTeX-like interface for LuaLaTeX]
%</package-info>
%
%<*driver>
@@ -155,7 +155,7 @@
\defaultfontfeatures{RawFeature={+liga}}
\setmainfont{Old Standard}[SmallCapsFont={Latin Modern Roman Caps},
RawFeature={+mark;+ccmp;+ss05;+ss06}]
-\usepackage{arabluatex}[2017/07/28]
+\usepackage{arabluatex}[2017/10/24]
\usepackage[nopar]{quran}
\usepackage{varioref}
\usepackage{hyperxmp}
@@ -227,7 +227,7 @@
%</driver>
% \fi
%
-% \CheckSum{704}
+% \CheckSum{707}
%
% \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
@@ -558,6 +558,22 @@
% \item The euphonic \arb[trans]{ta^sdId} is generated (see
% \vpageref{ref:euphonic-tashdid}).
% \item In |fullvoc| mode, the \arb[trans]{sukUn} is expressed.
+% \item In such words as \arb{^say'aN}, \arb{.zim'aN} and the like,
+% the \arb[trans]{hamzaT} alone is not written over the letter
+% \arb[trans]{yA'} with no diacritical points below as in
+% \arb{sayy"'aN}, \arb{.zimy"'aN}, but over a horizontal stroke
+% placed in the continuation of the preceding letter. %
+% \iffalse
+%<*example>
+% \fi
+\begin{arabluacode}[text only]
+Please note that only few Arabic fonts provide such contrivances. In
+case this feature is not supported by some Arabic font, it is
+advisable to use \cs{SetArbEasy}.
+\end{arabluacode}
+% \iffalse
+%</example>
+% \fi
% \end{compactitem}
%
% \DescribeMacro{\SetArbEasy} \NEWfeature{v1.4.4}
@@ -793,7 +809,7 @@ vowels (see §~3).
% \arb[novoc]{h} & \dmg{h} & \loc{h} & \brill{h} & |h| \\
% \arb[novoc]{w} & \dmg{w} & \loc{w} & \brill{w} & |w| \\
% \arb[novoc]{y} & \dmg{y} & \loc{y} & \brill{y} & |y|\footnote{For
-% the letter \arb[novoc]{.y} with no diacritical point below, see
+% the letter \arb[novoc]{.y} with no diacritical points below, see
% \emph{Rem{.} b.} below.} \\
% \arb[novoc]{T} & \dmg{aT} & \loc{aT} & \brill{aT} & |T| \\
% \bottomrule
@@ -1173,13 +1189,16 @@ vowels (see §~3).
% \arb[voc]{mas'alaTuN} \arb[trans]{mas'alaTuN}, |'as'alu|
% \arb[voc]{'as'alu} \arb[trans]{'as'alu}, |yatasA'alUna|
% \arb[voc]{yatasA'alUna}\linebreak \arb[trans]{yatasA'alUna},
-% |murU'aTuN| \arb[voc]{murU'aTuN} \arb[trans]{murU'aTuN},
-% |ta'xIruN| \arb[fullvoc]{ta'xIruN} \arb[trans]{ta'xIruN},
-% |ta'ax|\allowbreak|xara| \arb[voc]{ta'axxara}
-% \arb[trans]{ta'axxara}, |ji'tu-ka| \arb[voc]{ji'tu-ka}
-% \arb[trans]{ji'tu-ka}, |qA'iluN| \arb[voc]{qA'iluN}
-% \arb[trans]{qA'iluN}, |.hIna'i_diN| \arb[trans]{.hIna'i_diN}
-% \arb[voc]{.hIna'i_diN}.
+% |murU'aTuN| \arb[voc]{murU'aTuN}, |taw'amuN|
+% \arb[fullvoc]{taw'amuN} \arb[trans]{taw'amuN},
+% \arb[trans]{murU'aTuN}, |ta'xIruN| \arb[fullvoc]{ta'xIruN}
+% \arb[trans]{ta'xIruN}, |ta'ax|\allowbreak|xara|
+% \arb[voc]{ta'axxara} \arb[trans]{ta'axxara}, |ji'tu-ka|
+% \arb[voc]{ji'tu-ka} \arb[trans]{ji'tu-ka}, |qA'iluN|
+% \arb[voc]{qA'iluN} \arb[trans]{qA'iluN}, |.hIna'i_diN|
+% \arb[trans]{.hIna'i_diN} \arb[voc]{.hIna'i_diN}, |hay'aTuN|
+% \arb[voc]{hay'aTuN} \arb[trans]{hay\-'aTuN}, |hay'AtuN|
+% \arb[voc]{hay'AtuN} \arb[trans]{hay'AtuN}.
%
% From \textcite[i. 14 B]{Wright}:--- All consonants, whatsoever,
% not even \arb[trans]{'alif} \emph{hèmzatum} excepted, admit of
@@ -1219,7 +1238,8 @@ vowels (see §~3).
% \arb[voc]{al-^say'-u} \arb[trans]{al-^say'-u}, |'a^syA'-u|
% \arb[voc]{'a^syA'-u} \arb[trans]{'a^syA'-u}, |'a^syA'-a|
% \arb[voc]{'a^syA'-a} \arb[trans]{'a^syA'-a}, |.zim'aN|
-% \arb[voc]{.zim'aN} \arb[trans]{.zim'aN}.
+% \arb[voc]{.zim'aN} \arb[trans]{.zim'aN}, |radI'aN|
+% \arb[voc]{radI'aN} \arb[trans]{radI'aN}.
%
% \label{ref:taxfif-hamzah}
% \textbf{\arb[trans]{ta_hfIf-u 'l-hamzaT-i}}: if the
@@ -1232,6 +1252,34 @@ vowels (see §~3).
% 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}.
+%
+% Imperatives of verbs that have the \arb[trans]{hamzaT} as the
+% first radical are other cases of \arb[trans]{ta_hfIf-u
+% 'l-hamzaT-i}: |i'sir| \arb[fullvoc]{i'sir} \arb[trans]{i'sir},
+% |i'_dan| \arb[fullvoc]{i'_dan} \arb[trans]{i'_dan}, |u'mul|
+% \arb[fullvoc]{u'mul} \arb[trans]{u'mul}. \package{arabluatex}
+% also provides ways of encoding those words when the initial
+% \arb[trans]{'alif} comes into \arb[trans]{wa.sl}, so as to make
+% the \arb[trans]{'alif wa.sl} fall away when preceded by
+% \arb[voc]{wa} or \arb[voc]{fa}: |wa-'sir| \arb[fullvoc]{wa-'sir}
+% \arb[trans]{wa-'sir}, |fa-'_dan| \arb[fullvoc]{fa-'_dan}
+% \arb[trans]{fa-'_dan}, |fa-'ti| \arb[fullvoc]{fa-'ti}
+% \arb[trans]{fa-'ti}, |wa-'tamirUA| \arb[fullvoc]{wa-'tamirUA}
+% \arb[trans]{wa-'tamirUA}; or be retained outside the imperative,
+% as in |fa-i'tazarat| \arb[fullvoc]{fa-i'tazarat}
+% \arb[trans]{fa-i'tazarat}, |ba`da| |i'tilAfiN| \arb[fullvoc]{ba`da
+% i'tilAfiN} \arb[trans]{ba`da i'tilAfiN}.
+%
+% \textbf{The strange spelling of \arb[trans]{mi'aTuN}}: |mi'aTuN|
+% \arb[voc]{mi'aTuN} \arb[trans]{mi'aTuN}, \linebreak |mi'atAni|
+% \arb[voc]{mi'atAni} \arb[trans]{mi'atAni}, |mi'atayni|
+% \arb[voc]{mi'atayni} \arb[trans]{mi'atayni}, |mi'Una|
+% \arb[voc]{mi'Una} \arb[trans]{mi'Una}, |mi'AtuN|
+% \arb[voc]{mi'AtuN} \arb[trans]{mi'AtuN}, |mi'aN_A|
+% \arb[voc]{mi'aN_A} \arb[trans]{mi'aN_A}. Of course, the
+% \enquote*{pipe} character may be used to prevent this rule from
+% being applied (see \vref{sec:pipe}): \verb+mi'a|TuN+
+% \arb[voc]{mi'a|TuN} \arb[trans]{mi'a|TuN}.
% \end{quote}
%
% \paragraph{\arb[trans]{maddaT}} \label{ref:madda}At the beginning of
@@ -2000,9 +2048,22 @@ word that \cs{arbnull} is applied to.
% \begin{quote}
% |\abjad{45}:| |kitAbu-hu| |\aemph{fI| |'l-`AdAt-i}|
% \arb[voc]{\abjad{45}: kitAbu-hu \aemph{fI 'l-`AdAt-i}}
-% \arb[trans]{\abjad{45}: kitAbu-hu fI 'l-\cap{`AdAt-i}}.
+% \arb[trans]{\abjad{45}: kitAbu-hu \aemph{fI 'l-\cap{`AdAt-i}}}.
% \end{quote}
-%
+%
+% \begin{quoting}
+% \textsc{Rem.}~\emph{a.} As the above example shows,
+% \package{arabluatex} places the horizontal stroke \emph{under} the
+% emphasized words in any of the transliteration modes.
+%
+% \textsc{Rem.}~\emph{b.} \NEWfeature{v1.9.2}\DescribeMacro{\aemph*}
+% \cs{aemph*} is also provided should one wish to always have the
+% horizontal stroke printed over the emphasized words, like so:
+% |\abjad{45}:| |kitAbu-hu| |\aemph*{fI| |'l-`AdAt-i}|
+% \arb[voc]{\abjad{45}: kitAbu-hu \aemph*{fI 'l-`AdAt-i}}
+% \arb[trans]{\abjad{45}: kitAbu-hu \aemph*{fI 'l-\cap{`AdAt-i}}}.
+% \end{quoting}
+%
% \section{Arabic poetry}
% \label{sec:poetry}
% \NEWfeature{v1.6} \package{arabluatex} provides a special
@@ -2470,7 +2531,7 @@ word that \cs{arbnull} is applied to.
% \NoArbUp\arb[trans]{\cap{`amruNU}}\ArbUpDflt\,;
% \item \label{ref:dmg-up-rend}As superscript text:
% \arb[trans]{\cap{`amruNU}}\,;
-% \item Discarded: \arb[trans]{\cap{`amr}}.
+% \item \label{ref:irab-discarded}Discarded: \arb[trans]{\cap{`amr}}.
% \end{compactenum}
% \DescribeMacro{\arbup} By default, \package{arabluatex} applies rule
% \ref{ref:dmg-up-rend}. Once delimited by a set of Lua functions,
@@ -2551,6 +2612,41 @@ muhaddamaTaN mi'_danatu-hu}: \arb[trans]{ra'aytu
% min mu_hA.tabati-hi 'a.had-uN bi-sayyidi-nA} \arb[trans]{mana`a
% 'l-nAs-a kAffaT-aN min mu_hA.tabati-hi 'a.had-uN bi-sayyidi-nA}.
% \end{quoting}
+%
+% \paragraph{Discarding the \arb[trans]{'i`rAb}}
+% As said above (\vref{ref:irab-discarded}), the \arb[trans]{'i`rAb}
+% may be discarded in some cases, as in transliterated proper names or
+% book titles. \package{arabluatex} is able to render words ending
+% with \arb[trans]{tA' marbU.taT} in different ways, depending on
+% their function:---
+% \begin{compactenum}[(a)]
+% \item Nouns followed by an adjective in apposition: |madInaT|
+% |kabIraT| \arb[trans]{madInaT kabIraT}, |al-madInaT| |al-kabIraT|
+% \arb[trans]{al-madInaT al-kabIraT}.
+% \item Nouns followed by another noun in the genitive (contruct
+% state): |.hikmaT| |al-l_ah| \arb[trans]{.hikmaT al-\cap{l}_ah},
+% |fi.d.daT| |al-darAhim| \arb[trans]{fi.d.daT al-darAhim}.
+% \end{compactenum}
+% \begin{quoting}
+% \textsc{Rem.} It may so happen, as in the absence of the article
+% before the annexed word, that \package{arabluatex} be unable to
+% determine which of the above two cases the word ending with
+% \arb[trans]{tA' marbU.taT} falls into. The \enquote*{pipe}
+% character (see \vref{sec:pipe}) may be appended to that word to
+% indicate that what follows is in the construct state:
+% |\cap{r}isAlaT| |fI| |tartIb| \verb+qirA'aT|+ |kutub|
+% |\cap{^g}AlInUs| \arb[trans]{\cap{r}isAlaT fI tartIb qirA'aT|
+% kutub \cap{^g}AlInUs}.
+% \end{quoting}
+%
+%
+% \paragraph{Uncertain short vowels}
+% In some printed books, it may happen that more than one short vowel
+% be placed on a consonant in cases where the vocalization is
+% uncertain or ambiguous, like so: \arb[voc]{fa`uaila}. In
+% transliteration, the uncertain vowels go between slashes and are
+% separated by commas: |fa`uaila| \arb[voc]{fa`uaila}
+% \arb[trans]{fa`uaila}.
%
% \subsection{Examples}
% \label{sec:examples-translit}
@@ -3254,7 +3350,7 @@ wa-ya.sIru ta.hta 'l-jild-i
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{arabluatex}%
-[2017/07/28 v1.9.1 An ArabTeX-like interface for LuaLaTeX]
+[2017/10/24 v1.9.2 An ArabTeX-like interface for LuaLaTeX]
\RequirePackage{ifluatex}
% \end{macrocode}
% \package{arabluatex} requires \LuaLaTeX\ of course. Issue a warning
@@ -3357,12 +3453,25 @@ wa-ya.sIru ta.hta 'l-jild-i
\luadirect{mkarbbreak(\luastringN{#1})}}
% \end{macrocode}
% \end{macro}
-% \begin{macro}{\aemph} Arabic emphasis. Needs to be redefined as well.
+% \begin{macro}{\aemph} Arabic emphasis. Needs to be redefined as
+% well. The function is actually coded in Lua.
+% \begin{macro}{\aemph*} The \enquote*{starred} version of this
+% command alway puts the stroke over its argument.
+% \changes{v1.9.2}{2017/10/24}{Starred version which always puts the
+% stroke over its argument}
% \begin{macrocode}
\AtBeginDocument{\ifdef{\aemph}%
- {\RenewDocumentCommand{\aemph}{m}{$\overline{\text{#1}}$}}
- {\NewDocumentCommand{\aemph}{m}{$\overline{\text{#1}}$}}}
+ {\RenewDocumentCommand{\aemph}{s m}{%
+ \IfBooleanTF{#1}{%
+ $\overline{\text{#2}}$}
+ {\luadirect{tex.sprint(aemph(\luastringN{#2}))}}}}
+ {\NewDocumentCommand{\aemph}{s m}{%
+ \IfBooleanTF{#1}{%
+ $\overline{\text{#2}}$}
+ {\luadirect{tex.sprint(aemph(\luastringN{#2}))}}}}}
% \end{macrocode}
+% \end{macro}
+% \end{macro}
% \begin{macro}{\SetInputScheme}
% \changes{v1.4}{2016/07/05}{\cs{SetInputScheme} may be used to
% process other input schemes such as \enquote*{Buckwalter}}
@@ -3375,7 +3484,6 @@ wa-ya.sIru ta.hta 'l-jild-i
\NewDocumentCommand{\SetInputScheme}{m}{\def\al@input@scheme{#1}}
% \end{macrocode}
% \end{macro}
-% \end{macro}
% \begin{macro}{\SetArbEasy}
% \changes{v1.2}{2016/05/09}{New \cs{SetArbEasy}/\cs{SetArbDflt} for
% \enquote*{modern} or \enquote*{classic} Arabic styles.}
@@ -3603,7 +3711,7 @@ wa-ya.sIru ta.hta 'l-jild-i
\define@boolkey[al]{verse}{delim}[true]{}
\define@choicekey[al]{verse}{mode}{fullvoc, voc, novoc,
trans}{\def\al@mode{#1}}
-\presetkeys[al]{verse}{metre=\LR{\vskip -\baselineskip}, utf=false,
+\presetkeys[al]{verse}{metre={}, utf=false,
delim=false}{}
% \end{macrocode}
% Then follows the environment itself: