xeCJK 的字距调整太窄

xeCJK 的字距调整太窄

我正在尝试使用 xelatex 和 xeCJK 包排版日语。出于某种原因,小假名会导致文本出现奇怪的字距。在下面的例子中,两个小假名之间以及小假名和标点符号之间的间距太窄。很明显,它们的宽度与常规假名不一样。

%!TEX program = xelatex
\documentclass{article}
\usepackage{xeCJK}
\setCJKmainfont{IPAMincho}
\begin{document}
ぎゅっと持った。あっ、そうかも。

あいうえおかきくけこさしすせそ
\end{document}

编译后,我得到以下内容:

编译结果

我尝试了几种字体,结果都一样。我是不是遗漏了一些重要的定义?我是不是误以为小假名也应该和常规大小的假名一样等宽?

答案1

看来您发现了 的一个错误xeCJK

错误 (第 166 期) 相当老旧(自 2.x 版以来)。条件日语起始字符(ゃ、ゅ、ょ、っ 等)被错误地识别为完整的右标点符号,以防止换行。但有时会有额外的负字距调整。

我们将修复该错误并很快发布新版本xeCJK


更新

xeCJK庆李已上传( )的新版本2014/12/26 v3.3.0,该版本禁用了部分避头尾 (禁则) 以修复此问题。您可以升级 TeX 发行版以使用新软件包。

在安装新版本之前xeCJK,您可以使用zxjatype针对日文排版进行了优化并提供了解决方法的软件包:

% !TEX program = XeLaTeX
% !TEX encoding = UTF-8
\documentclass{article}
\usepackage{xeCJK}
\usepackage{zxjatype}
\setCJKmainfont{IPAMincho}
\begin{document}
ぎゅっと持った。あっ、そうかも。

あいうえおかきくけこさしすせそ
\end{document}

答案2

我设法使用编译了该示例lualatex。修改后的文件是

\documentclass{article}
\usepackage{luatexja-fontspec}
\setmainjfont{IPAMincho}
\begin{document}
ぎゅっと持った。あっ、そうかも。

あいうえおかきくけこさしすせそ
\end{document}

严格来说,luatexja-fontspec这里不需要,因为它fontspec同样可以很好地处理字体更改。但这仅适用于这个小例子。在实际文档中,luatexja需要处理换行符。

还有一点值得一提:在实际文档中,我也使用了 包ruby。这在 中是有效的xelatex,但对于,应该使用lualatex包。luatexja-ruby

相关内容