OpenTypeフォントの字形管理
字形のタグ
OpenTypeフォントの優れている点としてよく挙げられるのが異体字をはじめとする豊富な文字数のサポートです。これまでは外字フォントを用意しなければならなかった文字でも、OpenTypeフォントだと探せばたいてい見つかるというのはDTPユーザーにとって大変ありがたいことです。
ただし、どこかにあるはずといっても、それが簡単に探せないようではあまり使いやすいとは言えません。通常の文字であれば「読み」によって日本語入力システムからアクセスすることができますが、異体字だとそのままではなかなか入力はできません。
フォントに含まれる文字は、文字コードと関連付けされることで入力や表示が可能になります。入力システムも文字コードを元に作られているわけですから文字コードの仕組みから外れるような異体字(たとえば同じコード番号で字形が異なるような場合)は入力システムでもサポートできないのが当然と言えるのかもしれません。
そういった異体字を扱うために、OpenTypeフォントをサポートするソフトにはInDesignのようにフォントに含まれる字形全部を一覧で表示するパレットを用意しているものもあります。これで地道に求める文字を探していくと、フォントに文字が収録されていさえすれば必ず見つかるはずです。とはいえ、2万字を超えるものもあるOpenTypeフォントの文字一覧から探している文字を見つけるのは簡単ではありませんし効率的でもありません。
そこで、異体字の情報を付加することで通常の文字からアクセスするという方法が考えられました。例えば「辺」という文字には多くの異体字があります。そのうちいくつかは日本語入力システムでも入力できますがすべてではありません。これらを「辺」の異体字グループと考え、「辺」からたどっていけるようにすればいいわけです。
InDesignの字形パレットで「辺」という字を選択し、「表示」に「選択された文字の異体字を表示」を選ぶと、異体字が表示されます。これらの異体字にポインタを当てると、「全ての異体字,4(aalt)」のようにポップアップ表示される文字があります。これは「辺」の異体字として「aalt」というタグを与えられた文字であることを意味しています。
「aalt」は「Access All Alternates」すなわち全ての異体字にアクセスするという名前のタグです。InDesignはこのタグを使うことで、通常では入力できない異体字にもアクセスできるようにしているのです。
さて、元になる字を入力し、それを一つずつ選んで字形パレットで異体字に変換するという作業だけなら、aaltタグがあれば充分かもしれません。しかし、仕事によっては特定の字形に一括で変換したいという場合もあります。
たとえば、JIS78とJIS83の字形を使い分ける場合です。1978年日本で最初に制定された漢字を含む文字コードがJIS X 0208:1978(JIS78と略す)、その改訂版として1983年に制定されたのがJIS X 0208:1983(JIS83と略す)ですが、その際に規格票の例示字形の変更などが行われました。これがフォントの文字にも影響を与え、さまざまな問題が起きることになりました。
OpenTypeフォントが登場し、JIS78の字形も83の字形も一つのフォントに収録できるようになりましたが、どちらの字形もあるからといって、ユーザーがいちいち元の字から探して選択してなければならないのでは面倒です。そこで、OpenTypeフォントではタグを使って特定の字形をグループ分けし、アプリケーションが操作できるようになっています。
JIS78の字形は「jp78」、JIS83は「jp83」というタグが使われます。InDesignの字形パレットの「表示」で「JIS78字形(jp78)」を選べば一覧にJIS78字形の文字が、「JIS83字形(jp83)」であればJIS83字形の文字が表示されます。
なお、OpenTypeフォントの基本の字形はJIS90字形であり、jp78やjp83のタグがついているのはJIS90と異なる字形の場合だけです。
字形タグの利用価値は字形パレットの表示だけにあるのではありません。字形パレットのメニューを見ると「JIS78字形(jp78)」や「JIS83字形(jp83)の項目があり、ドキュメント上でテキスト全体を選択してこれらを選ぶと、jp78やjp83の異体字がある場合は文字が置き換わります。
さらに、段落スタイルや文字スタイルの詳細設定の「異体字」欄でこれらの字形を指定することもできます。これだと、スタイルを適用しただけで、自動的にこれらのタグの文字に置き換わるわけです。
字形タグの混乱
字形を扱うタグには、そのほかに「expt」「trad」「hojo」「jp90」「jp04」「nlck」などがあります。exptは「エキスパート字形」、tradは「旧字体」、hojoは「補助漢字」、jp90はJIS78字形やJIS83字形をデフォルトのJIS90字形に戻すためのものですが、問題は「nlck」と「jp04」です。
「nlck」はNational Language Council Kanji formsの略。National Language Councilとは日本の国語審議会のことです。nlckは国語審議会が2000年に答申した「表外漢字字体表」の字体にするためのタグ、「jp04」は表外漢字字体表の答申を受けて2004年に制定された文字コードJIS X 0213:2004の例示字体のためのタグということになります。
表外漢字字体表は常用漢字表に収録されていない文字の字体について、そのよりどころを示すという目的で作られたものです。漢字を含むJIS X 0208が作られ、コンピュータがそれに従って表示・出力するようになると、JIS規格票の例示字体が漢字の字体そのものの見本と捉えられるようになってしまいました。それに対して正しい字体は何かを国として示すためにこの字体表は作られたわけです。ただし、常用漢字の字体については、改めて基準を示して変更が行われると混乱が大き過ぎるということで常用漢字以外の文字となったのです。
この字体表には1,022の文字が収録されています。それぞれに中国清朝の康煕字典を元にした印刷標準字体が載っていますが、1,022字のうち22字は、俗字・略字とされる字形も使用頻度が高いということで簡易慣用字体として載っており、さらに、100字近くの文字について別字体がデザイン的な差しかない(つまり許容範囲内)ということで認められました。
nlckタグは、標準の字体が表外漢字字体になっていない場合に表外漢字字体に変換するというものですが、表外漢字字体表が複雑な表であったことが影響したのでしょうか、フォントによってnlckタグを付けられた文字が異なるという問題が生じてしまいました。同様の問題はjp04タグでも起きています。
たとえば、その文字が印刷標準字体であればnlckタグでほかの字体に変換されることはないはずです。ところが、フォントによっては表外漢字字体表の印刷標準字体が簡易慣用字体に変換されたり、デザイン差として許容された字体に変換されるものがあります。しかも、同じフォントでもバージョンによって異なることがあり、問題をさらに複雑にしているのです。
モリサワPr5フォントのタグ変更
2007年12月、モリサワは、文字置き換えテーブル(GSUBテーブル)を改訂したPr5書体(バージョン1.010)をリリースしました。GSUBテーブルとはOpenTypeフォントの内部にあるnlckタグなどを含んだテーブルのことであり、この改訂は、具体的にいうとnlckタグとjp04タグについての修正でした。
モリサワが当初発売したPr5書体(バージョン1.003または1.004)には、nlckタグとjp04タグが間違って付けられている文字があり、今回の改訂はそれを修正したというわけです。
実際にどのような文字が間違ってタグ付けされていたのかというと、nlckタグは「唖頴鴎撹卉麹荊稽鹸腔噛繍蒋醤脆曽掻祷枡麺濾臈蝋彎」の24字についてタグが変更され、「焔掴侠頬躯攅蝉騨箪填顛涜嚢溌醗莱」の16字に新たにnlckタグを付けられました。合計40字についてnlckタグがらみの変更があったことになります。
また、jp04タグについては「稽荊腔脆卉靱靭」の6字のタグ付けが変更され、「芦」1字に新たにjp04タグが付けられました。
これらの変更によって、nlckタグやjp04タグを使った字形変換を行った場合の字形が変わってしまうことになります。つまり、InDesignの字形パレットのメニューや段落・文字スタイルの異体字欄などで「印刷標準字形」(nlck)や「JIS2004字形」(jp04)を指定していた場合、新しいフォントに入れ替えただけで、データそのものは同じでも字形が変わってしまう可能性があるわけです(変わるのは上記の文字だけとモリサワでは説明している)。これでは重大な印刷事故につながりかねません。
しかも、今回の改訂によって古いバージョンのモリサワPr5フォントは手に入らなくなります。仮にお客さんが古いバージョンでデータを作ってきた場合、同じバージョンで開かないと字形が変わってしまうわけですから、Pr5フォントをまだ導入していない現場でも、今後導入した後になって問題が生じる可能性もあるのです。
今回の改訂はあくまでもフォント内部のタグの変更であり、たとえばInDesignのドキュメントデータ自体は何も変わりません。ということは、ドキュメントデータをいくらチェックしても、どのバージョンのフォントで作られたデータなのかは分からないということなわけです。つまり、字形が変わったかどうかは実際に文字の形をひとつずつチェックしないと確認できないのです。
この問題でトラブルを防ぐには、データを受けた際にモリサワPr5フォントが使われているかどうか(今回はあくまでPr5書体のみの改訂)をまず確認し、使われていればテキスト中にタグが変更された上記の文字が含まれているかどうかをチェック、含まれていたら客先に字体を確認するという対応しかないのではないでしょうか(先方にフォントのバージョンを聞くというのが最も手っ取り早いが、それだと先方がそれなりの知識を持っている場合でないと危険)。
なお、モリサワでは、InDesignで影響があるのは字形パレット、字形パレットのパレットメニュー、文字・段落スタイルの異体字で字形を指定した場合のみとしていますが、InDesign CS3で搭載された、字形を指定した検索・置換機能を使った場合もタグ変更の影響を受ける可能性があります。
実はアドビの小塚書体についても同様の問題があり、バージョンによって字形が変わる可能性がありました。2007年のモリサワフォントの問題は、使われている頻度がそれだけ高いからこそ重大だということもできます。いずれにしてもタグを使った字形変換には十分な注意が必要です。
(田村 2007.12.17初出)
(田村 2016.5.25更新)