summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2016-07-09 22:08:39 +0000
committerKarl Berry <karl@freefriends.org>2016-07-09 22:08:39 +0000
commit2040418d204110845d4e5cc31f35ba97b04acea3 (patch)
tree43dc63cc85a5aad670e623fc311c45cff7dc5950
parent5aa22446c70e91fc5a81680737dddd97e940b384 (diff)
arabluatex (9jul16)
git-svn-id: svn://tug.org/texlive/trunk@41670 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/lualatex/arabluatex/arabluatex.pdfbin331668 -> 335114 bytes
-rw-r--r--Master/texmf-dist/source/lualatex/arabluatex/arabluatex.dtx182
-rw-r--r--Master/texmf-dist/tex/lualatex/arabluatex/arabluatex.lua13
-rw-r--r--Master/texmf-dist/tex/lualatex/arabluatex/arabluatex.sty2
-rw-r--r--Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_voc.lua17
5 files changed, 130 insertions, 84 deletions
diff --git a/Master/texmf-dist/doc/lualatex/arabluatex/arabluatex.pdf b/Master/texmf-dist/doc/lualatex/arabluatex/arabluatex.pdf
index f0d8023bd9d..0423606c510 100644
--- a/Master/texmf-dist/doc/lualatex/arabluatex/arabluatex.pdf
+++ b/Master/texmf-dist/doc/lualatex/arabluatex/arabluatex.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/lualatex/arabluatex/arabluatex.dtx b/Master/texmf-dist/source/lualatex/arabluatex/arabluatex.dtx
index f72d1d904db..626d7dcee86 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>
- [2016/07/05 v1.4 This is ArabTeX for LuaLaTeX]
+ [2016/07/09 v1.4.1 This is ArabTeX for LuaLaTeX]
%</package-info>
%
%<*driver>
@@ -78,6 +78,16 @@
url = {http://www.amirifont.org/}
}
+@Book{Habash,
+ author = {Habash, Nizar Y.},
+ title = {Introduction to Arabic Natural Language Processing},
+ year = 2010,
+ series = {Synthesis Lectures on Human Language Technologies},
+ number = 10,
+ publisher = {Morgan \& Claypool Publishers},
+ location = {Toronto}
+}
+
@MVBook{Wright,
author = {Wright, W. LL.D},
title = {A Grammar of the Arabic Language},
@@ -135,7 +145,7 @@
\defaultfontfeatures{RawFeature={+liga}}
\setmainfont{Old Standard}[SmallCapsFont={Latin Modern Roman Caps}]
\newfontfamily\translitfont{Latin Modern Roman}[Ligatures=TeX]
-\usepackage{arabluatex}[2016/07/05]
+\usepackage{arabluatex}[2016/07/09]
\SetTranslitFont{\translitfont}
\usepackage{varioref}
\usepackage{hypdoc}
@@ -1805,6 +1815,21 @@ vowels (see §~3).
% argument of \cs{cap} vz. up to the first letter that is to be
% uppercased, like so: |\cap{m}u.hammaduN|.
%
+% \paragraph{Hyphenation}
+% In case transliterated Arabic words break the \TeX\ hyphenation
+% algorithm, one may use the command |\-| to insert discretionary
+% hyphens. This command will be discarded in all of the Arabic modes
+% of \package{arabluatex}, but will be processed by any of the
+% transliteration modes:---
+% \begin{quote}
+% |\cap{'abU}| |\cap{bakriN}| |\cap{mu\-.ham\-madu}| |bnu|
+% |\cap{za\-ka| |\-riy\-yA'a}| |\cap{'l-rAzI}| \arb{\cap{'abU}
+% \cap{bakriN} \cap{mu\-.ham\-mad-u} bnu \cap{za\-ka\-riy\-yA'a}
+% \cap{'l-rAzI}} \arb[trans]{\cap{'abU} \cap{bakriN}
+% \cap{mu\-.ham\-mad-u} bn-u \cap{za\-ka\-riy\-yA'-a}
+% \cap{'l-rAzI}}.
+% \end{quote}
+%
% \subsection{Additional note on \texttt{dmg} convention}
% \label{sec:additional-note-dmg}
% \NEWfeature{v1.3} According to \textcite[6]{dmg}, Arabic
@@ -1964,85 +1989,90 @@ muhaddamaTaN mi'_danatu-hu}: \arb[trans]{ra'aytu
%</example>
% \fi
%
-% \paragraph{Limitations}
-% To date, the following two limitations apply:
-% \begin{compactenum}[(a)]
-% \item The braces |{| and |}|, which are used in Buckwalter scheme to
-% encode \arb[novoc]{"a} and \arb[novoc]{y"'}, must be replaced with
-% square brackets viz. |[| and |]| respectively.
-% \item The underscore character |_|, which is used in Buckwalter
-% scheme to encode the Arabic \arb[trans]{ta.twIl} must be replaced
-% with a double hyphen |--| (see above \vref{sec:tatwil}).
-% \end{compactenum}
+% \paragraph{\enquote*{base}, \enquote*{\texttt{xml}} and
+% \enquote*{safe} schemes}
+% \package{arabluatex} can use any of the so-called Buckwalter
+% \enquote*{base}, \enquote*{\texttt{xml}} or \enquote*{safe} schemes
+% as they are described in \textcite[25--26]{Habash}.\footnote{I am
+% grateful to Graeme Andrews who suggested that the \enquote*{safe}
+% scheme be included in \package{arabluatex}.} However, the following
+% limitation apply to the \enquote*{base} and \enquote*{\texttt{xml}}
+% schemes: the braces |{| and |}|, which are used to encode
+% \arb[novoc]{"a} and \arb[novoc]{y"'}, must be replaced with square
+% brackets viz. |[| and |]| respectively.
+%
+% It is therefore recommended to use the Buckwalter \enquote*{safe}
+% scheme.
%
% \Cref{tab:buckwalter-scheme} gives the Buckwalter equivalents that
% are currently used by \package{arabluatex}. The additional
% characters that are defined in \vref{tab:additional-arabic-codings}
% are also available.
-% \begin{longtable}{llll}
+% \begin{longtable}{lllll}
% \captionlistentry{Buckwalter scheme}\\[-1em]
% \toprule
% Letter & \multicolumn{2}{l}{Transliteration\footnotemark}
-% & Buckwalter notation \\
-% & \texttt{dmg} & \texttt{loc} & \\ \midrule
+% & \multicolumn{2}{l}{Buckwalter notation} \\
+% & \texttt{dmg} & \texttt{loc} & |base/xml| & |safe| \\ \midrule
% \endfirsthead
% \toprule
% Letter & \multicolumn{2}{l}{Transliteration}
-% & Buckwalter notation \\
-% & \texttt{dmg} & \texttt{loc} & \\ \midrule
+% & \multicolumn{2}{l}{Buckwalter notation} \\
+% & \texttt{dmg} & \texttt{loc} & |base/xml| & |safe| \\ \midrule
% \endhead \footnotetext{See \vref{sec:transliteration}.}
% \label{tab:buckwalter-scheme}
-% \arb[novoc]{a} & \dmg{a} & \loc{a} & \verb|A| \\
-% \arb[novoc]{b} & \dmg{b} & \loc{b} & |b| \\
-% \arb[novoc]{t} & \dmg{t} & \loc{t} & |t| \\
-% \arb[novoc]{_t} & \dmg{_t} & \loc{_t} & |v|\\
-% \arb[novoc]{j} & \dmg{j} & \loc{j} & |j| \\
-% \arb[novoc]{.h} & \dmg{.h} & \loc{.h} & |H| \\
-% \arb[novoc]{x} & \dmg{x} & \loc{x} & |x|\\
-% \arb[novoc]{d} & \dmg{d} & \loc{d} & |d| \\
-% \arb[novoc]{_d} & \dmg{_d} & \loc{_d} & |*| \\
-% \arb[novoc]{r} & \dmg{r} & \loc{r} & |r| \\
-% \arb[novoc]{z} & \dmg{z} & \loc{z} & |z| \\
-% \arb[novoc]{s} & \dmg{s} & \loc{s} & |s| \\
-% \arb[novoc]{^s} & \dmg{^s} & \loc{^s} & |$| \\
-% \arb[novoc]{.s} & \dmg{.s} & \loc{.s} & |S| \\
-% \arb[novoc]{.d} & \dmg{.d} & \loc{.d} & |D| \\
-% \arb[novoc]{.t} & \dmg{.t} & \loc{.t} & |T| \\
-% \arb[novoc]{.z} & \dmg{.z} & \loc{.z} & |Z| \\
-% \arb[novoc]{`} & \dmg{`} & \loc{`} & |E| \\
-% \arb[novoc]{.g} & \dmg{.g} & \loc{.g} & |g| \\
-% \arb[novoc]{f} & \dmg{f} & \loc{f} & |f| \\
-% \arb[novoc]{q} & \dmg{q} & \loc{q} & |q| \\
-% \arb[novoc]{k} & \dmg{k} & \loc{k} & |k| \\
-% \arb[novoc]{l} & \dmg{l} & \loc{l} & |l| \\
-% \arb[novoc]{m} & \dmg{m} & \loc{m} & |m| \\
-% \arb[novoc]{n} & \dmg{n} & \loc{n} & |n| \\
-% \arb[novoc]{h} & \dmg{h} & \loc{h} & |h| \\
-% \arb[novoc]{w} & \dmg{w} & \loc{w} & |w| \\
-% \arb[novoc]{y} & \dmg{y} & \loc{y} & |y| \\
-% \arb[novoc]{T} & \dmg{aT} & \loc{aT} & |p| \\
+% \arb[novoc]{a} & \dmg{a} & \loc{a} & |A| & |A| \\
+% \arb[novoc]{b} & \dmg{b} & \loc{b} & |b| & |b| \\
+% \arb[novoc]{t} & \dmg{t} & \loc{t} & |t| & |t| \\
+% \arb[novoc]{_t} & \dmg{_t} & \loc{_t} & |v| & |v| \\
+% \arb[novoc]{j} & \dmg{j} & \loc{j} & |j| & |j| \\
+% \arb[novoc]{.h} & \dmg{.h} & \loc{.h} & |H| & |H| \\
+% \arb[novoc]{x} & \dmg{x} & \loc{x} & |x| & |x| \\
+% \arb[novoc]{d} & \dmg{d} & \loc{d} & |d| & |d| \\
+% \arb[novoc]{_d} & \dmg{_d} & \loc{_d} & |*| & |V| \\
+% \arb[novoc]{r} & \dmg{r} & \loc{r} & |r| & |r| \\
+% \arb[novoc]{z} & \dmg{z} & \loc{z} & |z| & |z| \\
+% \arb[novoc]{s} & \dmg{s} & \loc{s} & |s| & |s| \\
+% \arb[novoc]{^s} & \dmg{^s} & \loc{^s} & |$| & |c| \\
+% \arb[novoc]{.s} & \dmg{.s} & \loc{.s} & |S| & |S| \\
+% \arb[novoc]{.d} & \dmg{.d} & \loc{.d} & |D| & |D| \\
+% \arb[novoc]{.t} & \dmg{.t} & \loc{.t} & |T| & |T| \\
+% \arb[novoc]{.z} & \dmg{.z} & \loc{.z} & |Z| & |Z| \\
+% \arb[novoc]{`} & \dmg{`} & \loc{`} & |E| & |E| \\
+% \arb[novoc]{.g} & \dmg{.g} & \loc{.g} & |g| & |g| \\
+% \arb[novoc]{f} & \dmg{f} & \loc{f} & |f| & |f| \\
+% \arb[novoc]{q} & \dmg{q} & \loc{q} & |q| & |q| \\
+% \arb[novoc]{k} & \dmg{k} & \loc{k} & |k| & |k| \\
+% \arb[novoc]{l} & \dmg{l} & \loc{l} & |l| & |l| \\
+% \arb[novoc]{m} & \dmg{m} & \loc{m} & |m| & |m| \\
+% \arb[novoc]{n} & \dmg{n} & \loc{n} & |n| & |n| \\
+% \arb[novoc]{h} & \dmg{h} & \loc{h} & |h| & |h| \\
+% \arb[novoc]{w} & \dmg{w} & \loc{w} & |w| & |w| \\
+% \arb[novoc]{y} & \dmg{y} & \loc{y} & |y| & |y| \\
+% \arb[novoc]{Y} & \dmg{Y} & \loc{Y} & |Y| & |Y| \\
+% \arb[novoc]{T} & \dmg{aT} & \loc{aT} & |p| & |p| \\
% \midrule
-% \arb[novoc]{|"'} & \dmg{|"'} & \loc{|"'} & \verb|'| \\
-% \arb[novoc]{A"'} & \dmg{A"'} & \loc{A"'} & \verb+|+ \\
-% \arb[novoc]{a"'} & \dmg{a"'} & \loc{a"'} & \verb|>| \\
-% \arb[novoc]{w"'} & \dmg{w"'} & \loc{w"'} & \verb|&| \\
-% \arb[novoc]{i"'} & \dmg{i"'} & \loc{i"'} & \verb|<| \\
-% \arb[novoc]{y"'} & \dmg{y"'} & \loc{y"'} & \verb|]| \\
+% \arb[novoc]{|"'} & \dmg{|"'} & \loc{|"'} & \verb|'| & |C| \\
+% \arb[novoc]{A"'} & \dmg{A"'} & \loc{A"'} & \verb+|+ & |M| \\
+% \arb[novoc]{a"'} & \dmg{a"'} & \loc{a"'} & \verb|>| & |O| \\
+% \arb[novoc]{w"'} & \dmg{w"'} & \loc{w"'} & \verb|&| & |W| \\
+% \arb[novoc]{i"'} & \dmg{i"'} & \loc{i"'} & \verb|<| & |I| \\
+% \arb[novoc]{y"'} & \dmg{y"'} & \loc{y"'} & \verb|]| & |Q| \\
% \midrule
-% \arb[novoc]{BB} & --- & --- & \verb|~| \\
-% \arb[novoc]{"a} & ' & ' & |[| \\
+% \arb[novoc]{BB} & --- & --- & \verb|~| & |~| \\
+% \arb[novoc]{"a} & ' & ' & |[| & |L| \\
% \midrule
-% \arb[voc]{Ba} & \dmg{Ba} & \loc{Ba} & \verb|a| \\
-% \arb[voc]{Bu} & \dmg{Bu} & \loc{Bu} & \verb|u| \\
-% \arb[voc]{Bi} & \dmg{Bi} & \loc{Bi} & \verb|i| \\
-% \arb[voc]{BaN} & \dmg{BaN} & \loc{BaN} & \verb|F| \\
-% \arb[voc]{BuN} & \dmg{BuN} & \loc{BuN} & \verb|N| \\
-% \arb[voc]{BiN} & \dmg{BiN} & \loc{BiN} & \verb|K| \\
-% \arb[voc]{B"} & --- & --- & \verb|o| \\
+% \arb[voc]{Ba} & \dmg{Ba} & \loc{Ba} & \verb|a| & |a| \\
+% \arb[voc]{Bu} & \dmg{Bu} & \loc{Bu} & \verb|u| & |u| \\
+% \arb[voc]{Bi} & \dmg{Bi} & \loc{Bi} & \verb|i| & |i| \\
+% \arb[voc]{BaN} & \dmg{BaN} & \loc{BaN} & \verb|F| & |F| \\
+% \arb[voc]{BuN} & \dmg{BuN} & \loc{BuN} & \verb|N| & |N| \\
+% \arb[voc]{BiN} & \dmg{BiN} & \loc{BiN} & \verb|K| & |K| \\
+% \arb[voc]{B"} & --- & --- & \verb|o| & |o| \\
% \midrule
-% \arb[novoc]{B_a} & \dmg{B_a} & \loc{B_a} & |`| \\
+% \arb[novoc]{B_a} & \dmg{B_a} & \loc{B_a} & |`| & |e| \\
% \midrule
-% \arb[novoc]{--} & --- & --- & |--| (\arb[trans]{ta.twIl})\\
+% \arb[novoc]{--} (\arb[trans]{ta.twIl}) & --- & --- & |_| & |_| \\
% \bottomrule
% \caption*{\Cref*{tab:buckwalter-scheme}: Buckwalter scheme}
% \end{longtable}
@@ -2058,24 +2088,26 @@ muhaddamaTaN mi'_danatu-hu}: \arb[trans]{ra'aytu
% like so:--- \SetInputScheme{buckwalter}
% \begin{quote}
% |Al-EaAlamu| \arb{Al-EaAlam-u} \arb[trans]{Al-EaAlam-u},
-% |Al-$~amsu| \arb{Al-$~ams-u} \arb[trans]{Al-$~ams-u},
+% |Al-camsu| \arb{Al-cams-u} \arb[trans]{Al-cams-u},
% |bi-SinaAEapi| |Al-T~ib~i|, \arb{bi-SinaAEap-i Al-T~ib~-i}
% \arb[trans]{bi-SinaAEap-i Al-T~ib~-i}.
%
-% |wa-Al-l~`hi| \arb{wa-Al-l~`h-i} \arb[trans]{wa-Al-l~`h-i},
-% |Al-Hamdu| |li-l~`hi| \arb{Al-Hamd-u li-l~`h-i}
-% \arb[trans]{Al-Hamd-u li-l~`h-i}.
+% |wa-Al-l~ehi| \arb{wa-Al-l~eh-i} \arb[trans]{wa-Al-l~eh-i},
+% |Al-Hamdu| |li-l~ehi| \arb{Al-Hamd-u li-l~eh-i}
+% \arb[trans]{Al-Hamd-u li-l~eh-i}.
% \end{quote}
% \SetInputScheme{arabtex}
%
-% Similary, it is not advisable to use \verb+|+ and |[| to encode the
-% \arb[trans]{'alif-u 'l-mamdUdaT-i} and the \arb[trans]{'alif-u
-% 'l-wa.sl-i} for such signs can be generated by \package{arabluatex}.
-% Besides, as they do not \emph{per se} convey any morphological
-% information on what they are derived from, they cannot be
-% transliterated accurately. To take one example, %
+% Similary, it is not advisable to use \verb+|+ and |[|
+% (\enquote*{base} and \enquote*{\texttt{xml}} schemes) or |M| and |L|
+% (\enquote*{safe} scheme) to encode the \arb[trans]{'alif-u
+% 'l-mamdUdaT-i} and the \arb[trans]{'alif-u 'l-wa.sl-i} for such
+% signs are supposed to be generated by \package{arabluatex} internal
+% functions. Besides, as they do not \emph{per se} convey any
+% morphological information on what they are derived from, they cannot
+% be transliterated accurately. To take one example, %
% \SetInputScheme{buckwalter}%
-% |<ilY Al-[ntiqaADi| gives \arb{>ilY Al-[ntiqaADi} as expected, but
+% |<ilY Al-LntiqaADi| gives \arb{>ilY Al-LntiqaADi} as expected, but
% only |<ilY Al-intiqADi| can be transliterated as \arb[trans]{<ilY
% Al-intiqaADi} with the correct vowel \meta{i} in place of the %
% \SetInputScheme{arabtex}%
@@ -2316,7 +2348,7 @@ wa-ya.sIru ta.hta 'l-jild-i
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{arabluatex}%
-[2016/07/05 v1.4 ArabTeX-like interface for LuaLaTeX]
+[2016/07/09 v1.4.1 ArabTeX-like interface for LuaLaTeX]
\RequirePackage{ifluatex}
% \end{macrocode}
% \package{arabluatex} requires \LuaLaTeX\ of course. Issue a warning
diff --git a/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex.lua b/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex.lua
index b21ee63dee8..c0e02324e07 100644
--- a/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex.lua
+++ b/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex.lua
@@ -129,6 +129,7 @@ local function takeoutcapetc(str)
return string.format("%s", body)
end)
str = string.gsub(str, "\\linebreak", "")
+ str = string.gsub(str, "\\%-", "")
return str
end
@@ -548,12 +549,12 @@ function cap(str)
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 ")
+ 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 ")
diff --git a/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex.sty b/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex.sty
index ae362ea5923..befb074e3e8 100644
--- a/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex.sty
+++ b/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex.sty
@@ -41,7 +41,7 @@
%%
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{arabluatex}%
-[2016/07/05 v1.4 ArabTeX-like interface for LuaLaTeX]
+[2016/07/09 v1.4.1 ArabTeX-like interface for LuaLaTeX]
\RequirePackage{ifluatex}
\ifluatex\else
\PackageError{arabluatex}{lualatex needed}{%
diff --git a/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_voc.lua b/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_voc.lua
index 39da99ec563..20ed016cb1c 100644
--- a/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_voc.lua
+++ b/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_voc.lua
@@ -74,6 +74,8 @@ raw = {
buckwalter = {
--- hard coded madda: hold it for now
{a="%|", b="@"},
+ {a="M", b="@"}, -- BW safe
+ {a="%_", b="--"}, -- taṭwīl
-- prevent any unwanted šadda from being generated
{a="bb", b="b|b"},
{a="tt", b="t|t"},
@@ -82,10 +84,12 @@ buckwalter = {
{a="HH", b="H|H"},
{a="xx", b="x|x"},
{a="dd", b="d|d"},
- {a="%*|%*", b="*|*"},
+ {a="%*%*", b="*|*"},
+ {a="VV", b="V|V"}, -- BW safe
{a="rr", b="r|r"},
{a="ss", b="s|s"},
{a="%$%$", b="$|$"},
+ {a="cc", b="c|c"}, -- BW safe
{a="SS", b="S|S"},
{a="DD", b="D|D"},
{a="TT", b="T|T"},
@@ -107,10 +111,15 @@ buckwalter = {
-- {a="%>a\'([^uai])", b="@@@%1"}, -- hold this (madda)
{a="a?A\'", b="@@"}, -- hold this (classic madda)
{a="\'", b="|\"\'"},
+ {a="C", b="|\"\'"}, -- BW safe
{a="%>", b="a\"\'"},
+ {a="O", b="a\"\'"}, -- BW safe
{a="%&", b="w\"\'"},
+ {a="W", b="w\"\'"}, -- BW safe
{a="%<", b="i\"\'"},
+ {a="I", b="i\"\'"}, -- BW safe
{a="%]", b="y\"\'"},
+ {a="Q", b="y\"\'"},
-- hamza end
-- trigraphs
{a="^Aal%-?", b="al-"},
@@ -134,10 +143,13 @@ buckwalter = {
-- šadda:
{a="([%g])(%~)", b="%1%1"},
{a="%`", b="_a"},
+ {a="e", b="_a"}, -- BW safe
{a="v", b="_t"},
{a="H", b=".h"},
{a="%*", b="_d"},
+ {a="V", b="_d"}, -- BW safe
{a="%$", b="^s"},
+ {a="c", b="^s"}, -- BW safe
{a="S", b=".s"},
{a="D", b=".d"},
{a="T", b=".t"},
@@ -150,7 +162,8 @@ buckwalter = {
{a="K", b="iN"},
{a="o", b="\""},
-- hard-coded connective alif
- {a="%[", b="ٱ"}
+ {a="%[", b="ٱ"},
+ {a="L", b="ٱ"} -- BW safe
}
hamza = {