xeCJK 字距調整太窄

xeCJK 字距調整太窄

我正在嘗試使用 xelatex 和 xeCJK 套件來排版日文。由於某些原因,小假名會導致文字中出現奇怪的字距調整。在下面的範例中,兩個小假名之間以及一個小假名和標點符號之間的間距太窄。同樣明顯的是,它們的寬度與常規假名不同。

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

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

編譯,我得到以下資訊:

編譯結果

我嘗試了幾種字體,結果相同。我是否遺漏了一些重要的定義?我是否錯誤地認為小假名也應該像常規尺寸的假名一樣等寬?

答案1

看來你發現了一個錯誤xeCJK

錯誤 (第166期)相當舊(自 2.x 版起)。條件日文起始字元(ゃ、ゅ、ょ、っ 等)被錯誤地辨識為全右邊標點符號,以防止換行。但有時會出現額外的負字距調整。

我們將修復該錯誤並很快發布新版本xeCJK


更新

Qing Lee 上傳了新版本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

相關內容