luatexja 在右单引号后引入了巨大的空白(代码点 8217)

luatexja 在右单引号后引入了巨大的空白(代码点 8217)

我遇到的一个问题luatexja是在右单引号 (8217) 后引入了大量空白。

在此处输入图片描述

MWE 在这里:

\documentclass{article}
\usepackage{fontspec}
\usepackage[match]{luatexja-fontspec}
\usepackage[noto-otf]{luatexja-preset}

\begin{document}
That’s it. The ``’'' is \textsc{right single quotation mark}, code point 8217.
\end{document}

我可以使用某些设置来避免这种情况吗?

答案1

luatexja 将 char 归类为 JAchar,这是一种用于日文排版的字符,因此有特殊设置。您可以更改此分类(请参阅文档),或将其打印为 ALchar:

\documentclass{article}
\usepackage[match]{luatexja-fontspec}
%\usepackage[noto-otf]{luatexja-preset}

\begin{document}
That’s That\ltjalchar`’s it. 

The ``’''  The ``\ltjalchar`’'' 
\end{document}

在此处输入图片描述

答案2

正如 Ulrike Fischer 所说,这是由于通用块(luatexja 语言中的块 9)被视为 JAchar。您可以使用 反转此操作,但当您在 ​​CJK 文本中使用这些字符时,可能会弄乱您的排版。我想您应该在这样的文本之前\ltjsetparameter{jacharrange={-9}}切换回。\ltjsetparameter{jacharrange={+9}}

此外,将除 CJK 字符之外的所有字符设置为 ALchar 的命令是\ltjsetparameter{jacharrange={-1, -2, -3, -4, -5, +6, +7, -8, -9}}

相关内容