チケット #27743

KozMinPr6N-Regular の jp?? feature が効かない

登録: 2012-03-04 16:17 最終更新: 2013-05-23 19:51

報告者:
担当者:
(未割り当て)
チケットの種類:
状況:
完了
コンポーネント:
(未割り当て)
マイルストーン:
(未割り当て)
優先度:
5 - 中
重要度:
5 - 中
解決法:
なし
ファイル:
2

詳細

どこに書こうか迷ったんですが,KozMinPr6N-Regular.otf で jp90, jp04 feature を指定しても有効にならないようです. KozMinPro 系統だと,不思議とうまくいきます.

この話は LuaTeX-ja 特有の話ではなくて, luaotfload だけでも発生します. 本投稿のすぐ後に,例の TeX ソースと pdf を添付します.

チケットの履歴 (8 件中 3 件表示)

2012-03-04 16:17 更新者: h7k
  • 新しいチケット "KozMinPr6N-Regular の jp?? feature が効かない" が作成されました
2012-03-04 16:23 更新者: h7k
コメント

なぜか pdf の追加には失敗するので,スクリーンショットの png を代わりに貼り付けました.

2012-03-05 19:25 更新者: kmaeda
コメント

xelatex でもコンパイルして比べてみましたが,確かに luaotfload の場合と結果が異なるみたいですね. あとで調べてみます.

2012-03-07 21:05 更新者: kmaeda
コメント

以下,調査した結果です.

FontForge で KozMinPr6N-Regular の「辻」グリフの情報を見ると以下のようになっています.

一点辻 (Japan1.3056):

  • nlck -> Japan1.8267
  • jp78 -> Japan1.8267
  • aalt -> Japan1.8267

二点辻 (Japan1.8267):

  • jp90 -> Japan1.3056
  • jp83 -> Japan1.3056
  • expt -> Japan1.3056
  • aalt -> Japan1.3056

これに基づいて,以下のようなテストコードを書いてみました.

\documentclass{article}
\usepackage{ifluatex}
\ifluatex
\usepackage{luaotfload}
\fi
\font\kozmin="KozMinPr6N-Regular"
\font\kozmins="KozMinPr6N-Regular:+jp78"
\font\kozmine="KozMinPr6N-Regular:+jp83"
\font\kozminn="KozMinPr6N-Regular:+jp90"
\font\kozminx="KozMinPr6N-Regular:+expt"
\font\kozmina="KozMinPr6N-Regular:+aalt"
\font\kozminl="KozMinPr6N-Regular:+nlck"
\begin{document}
\begin{itemize}
\item Default: \kozmin 辻
\item {\tt jp78}: \kozmins 辻
\item {\tt jp83}: \kozmine 辻
\item {\tt jp90}: \kozminn 辻
\item {\tt expt}: \kozminx 辻
\item {\tt aalt}: \kozmina 辻
\item {\tt nlck}: \kozminl 辻
\end{itemize}
\end{document}

これを lualatex と xelatex でそれぞれコンパイルしてみると,次の結果になります.

  • lualatex
    • 一点辻: default, jp83, jp90, expt
    • 二点辻: jp78, aalt, nlck
  • xelatex
    • 一点辻: jp83, jp90, expt, aalt
    • 二点辻: default, jp78, nlck

結果を見てわかることは,LuaTeX (luaotfload) では一点辻,XeTeX は二点辻がデフォルトであり,feature の代替処理はそれぞれのグリフの情報に基づいて行われている,ということです.LuaTeX で jp04 が効かないのはそもそもそういう情報をフォントが持っていないからですね.

ちなみに,デフォルト一点辻と二点辻では,どちらが「正しい」結果なのでしょうか? jp04 を持っていない(これは luaotfload のキャッシュの temp-kozminpr6n-regular.lua を見てもわかります)あたりを見ると,デフォルトは jp04 (つまり二点辻)なのかな,と思うのですが.Adobe-Japan1-6 のフォントは jp04 字形の方がデフォルトという決まりとかはあるのでしょうか? Adobe-Japan1-6.cidmap を見ると

...
3056 8fbb
...
8265 /Japan1.7960.vert
8268 /Japan1.636.vert
...
となっているのですが…….

2013-05-09 09:59 更新者: h7k
コメント

遅くなりました.

一点辻: default, jp83, jp90, expt
二点辻: jp78, aalt, nlck

luaotfload が変わったついでにもう一回試してみたら,全部二点辻になっています. というか,CID 3056 番の一点辻が luaotfload からアクセスできていません(#31302 で触れます).

Adobe-Japan1-6 のフォントは jp04 字形の方がデフォルトという決まりとかはあるのでしょうか?

ProN, Pr6N などと名乗っているフォントでは,jp04 字形の方がデフォルトになるようです. 確認していませんが,Pr6 だと jp90 字形の方がデフォルトだったと思います.

2013-05-23 19:51 更新者: h7k
  • 状況オープン から 完了 に更新されました
  • チケット完了時刻2013-05-23 19:51 に更新されました
コメント

こちらではどうしようもないので,完了とします.

添付ファイルリスト

編集

ログインしていません。ログインしていない状態では、コメントに記載者の記録が残りません。 » ログインする