小塚明朝の'nlck'と'jp04'についてAdobeに聞いてみた

  • CS3の無料サポートの権利が余っていたので、Adobeのテクニカル・サポートに電話をして小塚明朝の'nlck'テーブルについて質問してみたところ、開発者に回すので文章にして送ってくれとのこと。そこで、質問項目をPDFにまとめることとした。電話したときに質問したのは、後述のQ1とQ2だけだったのだが、PDFにまとめるにあたり、'jp04'の話も含めて問題を整理し直し、質問項目を大幅に増やした。そのPDF(署名を変えて誤字を直した以外はAdobeのサポートに送ったまま)は、こちらから。
  • Adobeからは、かなり踏み込んだ回答をもらえたと思っている。以下に掲載するのは、PDFの質問部分と、それに対するAdobeの回答。回答部分については、「添付のファイルを参照してください」的な記述を外した他は、基本的に手を加えていない。質問部分については、HTMLでは再現できない部分を若干書き換えている。図への言及などもあるので、以下を読む際はPDFも参照していただきたい。
  • Q1. いずれもAdobe CS3に付属するフォントでありながら、4.001と6.010で'nlck'テーブルおよび'jp04'テーブルが違っているのはなぜですか。

回答. 最初にご案内したいのは、このフォントの使用方法です。このフォント(NAOI註:6.010)はAcrobatでの表示目的で付属されているフォントで、Creative Suite等で使用することを認めてはおりません。Acrobatの使用許諾書でも案内させていただいております。

下記が抜粋-----
14.7.1第2条で定めるコンピュータ上の本ソフトウェアとともにフォント・ソフトウェアを使用し、かかるコンピュータに接続されたすべての出力装置にフォント・ソフトウェアを出力することができます。
-----ここまで
この項目はAcrobatでの使用に限るといった内容です。

小塚明朝Pro (Adobe-Japan1-4) Version 4.001は2006年2月1日に、小塚明朝Pro-VI (Adobe-Japan1-6) Version 6.010は2006年7月7日に開発されたものです(NAOI註:え?)。この間に、'jp04' GSUBフィーチャに対して変更がなされており、それが両バージョンの差異となっています。小塚明朝Proについては、すべてのウェイトがリリースされましたが、小塚明朝Pro-VIについては、Regularのウェイトだけがリリースされました。現時点では、他のウェイトのリリース予定はありません。"Pro-VI"にかわって、"Pr6N"をフォント名に付加したJIS2004基準のバージョンを計画中ですが、リリース時期や価格等詳細は未定です。

  • Q2. その違いが短期間のうちに仕様が変更された結果であるとするなら、'nlck'テーブルおよび'jp04'テーブルの仕様に関して、最新の(最終的な)ものは4.001と6.010のどちらですか。

回答. 小塚明朝 Pro-VIのVersion 6.010には新しい(より正確な)'jp04'と'nlck'のGSUBフィーチャの定義が含まれています。ただし、このVersion 6.010の'jp04'には、まだ以下のグリフ置換は含まれていません。

  substitute \14541 by \21558;
  substitute \14762 by \21933;
  substitute \15319 by \22920;
  substitute \17469 by \21371;
  substitute \17755 by \21722;

  • Q3. 4.001の'jp04'テーブルにおける図9のような置換は、意図的な仕様ですか。もしもそうなら、'jp04'テーブルに「字体表備考欄のグリフ」などというJIS X 0213:2004とは無関係な概念が混入しているのはなぜですか。

回答. 図9に示されているグリフ置換は'jp04'GSUBフィーチャから既に削除されています。

  • Q4. 6.010の'jp04'テーブルでは、「6.003と同じものに戻す」という修正方法を採用しています。'nlck'テーブルでも「6.003と同じものに戻す」方法を採ることはできなかったのでしょうか。あるいは、6.010ほど大幅にテーブルを拡張するのであれば(後述するように、タグの位置づけ自体もシフトしていると思われます)、'nlck'ではないタグを別に定義するという方法もあったと思うのですが、いかがでしょうか。

回答. 'jp04'と'nlck'のGSUBフィーチャに関して、初期の段階でそれらが包含関係にあるという混同があり、そのために初期の実装には不具合がありました。これらのフィーチャは完全に独立したフィーチャとして理解すべきで、現在のフィーチャ定義ではその不具合は解消されています。

  • Q5. テーブルの変更は、文字化けに直結します。これまでに挙げたバージョン間の違いに関して、現状では(たとえばInDesignでは)すべてロックされることもなく、単に化けます。今後、このような文字化けに何らかの方法で対策を講じる予定はありますか。

回答. フォントのバージョンの違いに限らず、バージョン間の差異についての対処については、重要な課題と認識しています。

  • Q6. ヒラギノ(および6.003)における'nlck'タグの位置づけは、その名の通り「国語審議会漢字」タグであり、「標準の文字集合」としてJIS X 0213:2000を想定した上で、この文字集合の範囲で表外漢字字体表のグリフ(印刷標準欄のグリフおよび簡易慣用欄のグリフ)を表示可能とすることを目的としていました。しかし、'nlck'用のグリフ集合中に含まれる172文字のうち、印刷標準字体でないものはCID=7961だけだったため、「印刷標準字体」タグであると誤解されることが多く、InDesignにおける表記でも「印刷標準字形」(CS3では「印刷標準字体」)となっていました。このような背景のもと、6.010では、'nlck'タグで「芦」をCID=7961ではなく「蘆」に置換するようになりました(図11)。これにより'nlck'タグの意味は、「国語審議会漢字(表外漢字字体表)グリフ」から「印刷標準グリフ」へと(InDesignの用語法に合致する形に)シフトしたものと認識していますが、この理解は正しいですか。

回答. その理解で正しいと思います。

  • Q7. ヒラギノ(および6.003)における'nlck'テーブルは、他の漢字系のタグ('aalt'タグは除く)と同様、「標準グリフとの差異」に焦点を当てたものであり、比較的シンプルな原則に従っています。一方6.010(および4.001)の'nlck'テーブルは、「印刷標準グリフ」「簡易慣用字体」「備考欄のグリフ」「互換規準の29文字」など複数の概念で定義される上、他の漢字系のタグでは例のない「標準グリフ以外からの置換」を含んでいます。このため、他のタグとともに'nlck'タグを利用する場合、'nlck'タグ単独では顕在化しない「わかりにくさ」が生じます。図12は、6.010が'nlck'タグにより標準グリフ以外からの置換を行う例です。たとえば6.010では、CID=7672に'nlck'タグを適用すると「荊(CID=1835)」になります。この「荊(CID=1835)」に、今度は'jp83'タグを適用すると再びCID=7672になります。しかし、JIS X 0208:1983の規格票例示グリフは「荊(CID=1835)」です。つまり、'jp83'タグを適用することにより、「JIS83グリフ」が「非JIS83グリフ」に変わったことになります。今回の仕様の変更に当たって、このような挙動は「想定内」のものですか。

回答. ヒラギノフォントがどのように構成されているか、アプリケーションで利用した際にどのようにGSUBフィーチャが相互に作用するかは、フィーチャ定義の範囲を超えた要素も関係します。ただし、フィーチャ定義自体のフォント間での一貫性を高めることが、今後の課題の一つであると認識しています。

回答. 最新の'jp04'のGSUB定義はそれらの文字を含んでいます。