遅くなりましたが,つまりこういうことですかね.
\documentclass{article}
\usepackage{fontspec}
\defaultfontfeatures{RawFeature=+nlck}
\begin{document}
\fontspec{IPAexMincho}
JIS~X~0213:2004: {\LARGE 辻}
\fontspec[CJKShape=JIS1990]{IPAexMincho}
JIS~X~0208:1990: {\LARGE 辻}
\end{document}
\defaultfontfeatures{CJKShape=NLC} としても同じなので,そういう仕様ですかね. この辺りの挙動を調べるために,luaotfload のみでやってみると次のような感じになりました.
\documentclass{article}
\usepackage{luaotfload}
\begin{document}
\font\i=IPAexMincho \i 辻 % 2点
\font\i=IPAexMincho:script=latn;+jp90 \i 辻 % 1点
\font\i=IPAexMincho:script=latn;+jp90;+nlck \i 辻 % 2点
\font\i=IPAexMincho:script=latn;+nlck;+jp90 \i 辻 % 2点
\font\i=IPAexMincho:script=latn;+nlck;+jp90;-nlck\i 辻 % 1点
\end{document}
kmaeda への返信
\defaultfontfeatures{CJKShape=NLC} としても同じなので,そういう仕様ですかね.
なるほど……. XeLaTeX でも実験してみましたが,やはり \defaultfontfeatures{CJKShape=NLC} などを 指定すると,\fontspec[] における CJKShape 指定が無効になってしまうようです.
\defaultjfontfeatures に頼らない方法があればいいですが,現段階では LuaTeX-ja のドキュメントに 「luatexja-preset で 90jis/jis2004 を使うと……」と注意を載せるしかないのかなあ.
単純に \setmainjfont, \setsansjfont したあとに,\g_ltj_fontspec_default_fontopts_tl を luatexja-preset を読み込む前の値に戻すのではだめなのでしょうか?
もしくは fontspec 自体に,\defaultfontfeatures を \fontspec のオプション指定で上書きできないのは問題ではないか,と提起してもよいかも.
話は変わりますが,fontspec のバージョンアップで \defaultfontfeatures に機能追加が行われているみたいなので,luatexja-fontspec も追随するべきかな.
結局 c93db4b のように,defaultjfontfeatures を使わないようにしました,
fontspec のバージョンアップで \defaultfontfeatures に機能追加が行われているみたいなので,luatexja-fontspec も追随するべきかな.
時間がなくてまだ見ていないのですが,追随してもいいんじゃないんでしょうか.
fontspec のバージョンアップで \defaultfontfeatures に機能追加が行われているみたいなので,luatexja-fontspec も追随するべきかな.
時間がなくてまだ見ていないのですが,追随してもいいんじゃないんでしょうか.
ようやく追随しました (ce0d1b7).
遅くなりましたが,完了としておきます.
次のソースを走らせてみました:
\documentclass{ltjsarticle} \usepackage[kozuka-pr6n,jis2004]{luatexja-preset} \begin{document} \jfontspec{IPAexMincho} JIS~X~0213:2004: {\LARGE 辻} \jfontspec[CJKShape=JIS1990]{IPAexMincho} JIS~X~0208:1990: {\LARGE 辻} \end{document}すると,2つめの「辻」が CJKShape=JIS1990 を指定したのにも関わらず二点辻となります. LuaTeX-ja というより,どうやら fontspec だけでも同じ症状が起きるようです. 使った fontspec は 2013/05/20 v2.3c です.