阿拉伯语文本的 \unhbox 会导致不正确的结果

阿拉伯语文本的 \unhbox 会导致不正确的结果

考虑这个例子,为什么结果不正确以及如何修复它

\documentclass{article}
\usepackage[bidi=basic-r]{babel}
\babelprovide[import=ar-DZ, main]{arabic}
\babelfont{rm}{Amiri}

\begin{document}

\setbox0=\hbox{نص عربي}

\unhbox0

\end{document}

在此处输入图片描述

答案1

问题是 Amiri 使用了私有使用区域。一旦构建了框,就没有关于字形方向的信息了。如果使用 明确设置了方向\babelcharproperty(我不知道确切的范围),则文本会正确呈现:

\documentclass{article}
\usepackage[bidi=basic]{babel}
\babelprovide[import=ar-DZ, main]{arabic}
\babelfont{rm}{Amiri}

% The following range is just a guess:
\babelcharproperty{980000}[990000]{direction}{al}

\begin{document}

\setbox0=\hbox{نص عربي}

\unhbox0

\end{document}

您可以使用此宏作为解决方法,但我必须研究更好的解决方案。

相关内容