xeCJK ではカーニングが狭すぎる

xeCJK ではカーニングが狭すぎる

xelatex と xeCJK パッケージを使用して日本語をタイプセットしようとしています。何らかの理由で、小文字の仮名がテキスト内で奇妙なカーニングを引き起こします。次の例では、2 つの小文字の仮名の間、および小文字の仮名と句読点の間のスペースが狭すぎます。また、通常の仮名と同じ幅ではないことも明らかです。

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

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

コンパイルすると、次のようになります。

コンパイルされた結果

いくつかのフォントを試しましたが、結果は同じでした。重要な定義が抜けているのでしょうか? 小さいかなも通常サイズのものと同じように等幅にすべきだと考えるのは間違いでしょうか?

答え1

のバグを発見したようですxeCJK

不具合 (第166号) はかなり古いものでした (バージョン 2.x 以降)。条件付きの日本語の先頭文字 (ゃ、ゅ、ょ、っなど) は、改行を防ぐために、誤って完全な右句読点として識別されていました。しかし、余分な負のカーニングが発生することもありました。

バグを修正し、新しいバージョンをxeCJKすぐにリリースする予定です。


アップデート

Qing Lee は、この問題を修正するために一部の禁則を無効にしたxeCJK( )の新しいバージョンをアップロードしました。新しいパッケージを使用するには、TeX ディストリビューションをアップグレードしてください。2014/12/26 v3.3.0

の新しいリリースをインストールする前に、日本語の組版に最適化され、回避策を提供するパッケージ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改行を処理するために必要でした。

言及する価値のあるもう 1 つのポイント: 実際のドキュメントでは、 パッケージも使用しましたruby。 これは では機能しましたxelatexが、 の場合はlualatex、代わりに パッケージをluatexja-ruby使用する必要があります。

関連情報