Ticket #27743

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

Open Date: 2012-03-04 16:17 Last Update: 2013-05-23 19:51

Reporter:
Owner:
(None)
Type:
Status:
Closed
Component:
(None)
MileStone:
(None)
Priority:
5 - Medium
Severity:
5 - Medium
Resolution:
None
File:
2

Details

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

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

Ticket History (3/8 Histories)

2012-03-04 16:17 Updated by: h7k
  • New Ticket "KozMinPr6N-Regular の jp?? feature が効かない" created
2012-03-04 16:23 Updated by: h7k
Comment

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

2012-03-05 19:25 Updated by: kmaeda
Comment

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

2012-03-07 21:05 Updated by: kmaeda
Comment

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

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 Updated by: h7k
Comment

遅くなりました.

一点辻: 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 Updated by: h7k
  • Status Update from Open to Closed
  • Ticket Close date is changed to 2013-05-23 19:51
Comment

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

Attachment File List

Edit

You are not logged in. I you are not logged in, your comment will be treated as an anonymous post. » Login