Polyglossia 和 Soul 中的 RTL 文本问题

Polyglossia 和 Soul 中的 RTL 文本问题

我正在尝试使用 Soul 包和 Polyglossia 来强调字母间距(这是我使用的语言中的传统排版技术,我使用的字体没有斜体或粗体样式)。我没有看到任何错误或警告,但强调的文本显示为 LTR 而不是 RTL,如果最后一个字符不是标点符号(???),它看起来完全不可见

以下是 MWE:

\documentclass{article}
\usepackage{soul}
\usepackage{fontspec, polyglossia}
\setmainlanguage{hebrew}
\newfontfamily{\hebrewfont}{Drugulin CLM}

\begin{document}
\so{שלום}

\so{שלום,}

\so{שלום} עליכם

\so{שלום,} עליכם

שלום עליכם
\end{document}

以下是我所看到的:

代码编译后如下

我正在使用 TexLive 2018 的 XeLaTeX。感谢您的时间!

答案1

那么不使用的解决方案怎么样soul?您可以改用fontspec字母和单词间距功能。

\documentclass{article}
\usepackage{fontspec, polyglossia}
\setmainlanguage{hebrew}
\newfontfamily{\hebrewfont}{SBL BibLit}[Script=Hebrew, Contextuals=Alternate, Ligatures=TeX]
\newfontfamily{\sohebrewfont}{SBL BibLit}[%
  Script=Hebrew, Contextuals=Alternate, Ligatures=TeX, WordSpace=2, LetterSpace=25]
\newcommand{\so}[1]{{\sohebrewfont#1\kern 2.5pt}}
\begin{document}
\so{שלום}

\so{שלום,}

\so{שלום} עליכם

\so{שלום,} עליכם

שלום עליכם
\end{document}

在此处输入图片描述

相关内容