我想获得带有 Tajweed 规则的彩色编码《古兰经》文本。我可以用乳胶书写阿拉伯语文本,但它们没有颜色编码。如何获得彩色编码文本?
梅威瑟:
\documentclass{book}
\usepackage{setspace}
\usepackage{fontspec}
\usepackage{polyglossia,quran}
\setmainlanguage{english}
\setotherlanguage{arabic}
\newfontfamily\arabicfont[Script=Arabic,Scale=1.1]{Scheherazade}
\begin{document}
\begin{Arabic}
\lineskiplimit=-1000pt
\setstretch{1.2}
\quransurah[114]
\end{Arabic}
\end{document}
我希望得到如下结果:
答案1
lualatex
这里有一个带有引擎和包的选项babel
(您需要最新的发行版)
\documentclass{article}
\usepackage[bidi=basic]{babel}
\babelprovide[import=ar,main]{arabic}
\babelfont{rm}{Amiri}
\usepackage{luacode}
\usepackage{luacolor}
\newcommand\colr[2]{%
\protect\leavevmode
\begingroup
\color{#1}%
#2%
\endgroup
}
\begin{luacode}
function colored ( s )
s = unicode.utf8.gsub(s, "[ًٌٍَُِْ]","\\colr{red}{%1}")
return s
end
\end{luacode}
\def\FormatOn{%
\directlua{luatexbase.add_to_callback("process_input_buffer", colored, "colored")}}
\def\FormatOff{%
\directlua{luatexbase.remove_from_callback("process_input_buffer","colored")}}
\pagestyle{empty}
\begin{document}
\centering\Huge
\FormatOn
تَجرِيبْ بسمِ اللهِ الرحمَانِ الرَحِيمْ
\FormatOff
\begin{luacode}
function colored ( s )
s = unicode.utf8.gsub(s, "[بم]","\\colr{blue}{%1}")
return s
end
\end{luacode}
\FormatOn
تَجرِيبْ بسمِ اللهِ الرحمَانِ الرَحِيمْ
\FormatOff
تَجرِيبْ بسمِ اللهِ الرحمَانِ الرَحِيمْ
\end{document}