IPAフォントは新JIS漢字実践の救世主となるか2007年10月05日 08:45

先日、IPAからIPAフォントの一般利用者向け配布が始まりました。JIS X 0213に対応しているというので早速ダウンロードしてみました。

5書体入りというのは大変おとくな感じです。ざっと見た感じ、品質も特に問題ない、というか、これだけのものが無料で入手できるというのは非常に恵まれていると思いました。

MSゴシックv.5.0だと、JIS第3・第4水準漢字が画面表示では汚かったりするのですが(ビットマップが入っていないように見える、が、実は入っているという話もあったりしてよく分からない)、IPAフォントではそんなことはなく、第1・第2水準と分け隔てない調子で綺麗に表示されます。

細かいところまではまだチェックしきれていませんが (例えばU+301Cの字体とか)、新JIS漢字実践のための強い味方になりそうな予感がします。

フォントの字体変更は文字コードの話題か?2007年10月30日 00:03

JIS X 0213:2004が (包摂の範囲内で) 例示字形を変更したために、この変更に追随して字体設計を変更するフォントがいくつかあるようです。「辻」のしんにょうが1点か2点か、というのはこのレベルの話です。さて、これは文字コードの話題でしょうか?

文字コードとは、文字とバイト表現との対応を規定するものです。あるバイト表現に対応する文字がどのような字体をとるかは、包摂の範囲内において、設計者の方針次第です。文字コードの問題ではありません。JIS X 0208/0213では、しんにょうの点が1点か2点かは、文字コードとして区別しないことが明記されています。

なので、「辻」のしんにょうの点の数の如き問題は、文字コードの話題ではありません。フォントの話です。文字コードについて雑誌記事などを書く人におかれては、是非こうした区別に敏感であってほしいと思います。

補足すると、字体変更が包摂規準の範囲を越えて行われると、文字コード規格に適合するかどうかの問題が生じるので、文字コードの話題ともなり得ます。

文字コード的に見たフォント設計の自由度2007年10月30日 21:41

JIS X 0208:1997の公開レビューがインターネットで行われていたのはご存じでしょうか。当時はFTPでレビュー資料をダウンロードする形態をとっていました。ネットニュース(fjニュースグループ)でお知らせが回っていたような覚えもあります。

レビュー資料のことはもうほとんど忘れてしまいましたが、FAQの中にイカした項目があったのは覚えています。たしか、低解像度のビットマップフォントなどで点画の省略をしても規格に適合するという話の後だったと思うのですが、

問: 1区1点から、区点位置をひとつずつずらして、「亜」の区点位置に「唖」の字形、「唖」の区点位置に「娃」、「娃」の位置に「阿」……として実装したフォントはこの規格に適合しますか? これなら、それぞれの文字は他のいかなる図形文字とも区別できますよ。

答:適合しません。区点位置に定義されている文字を想起できないからです。

なにぶん10年以上前の記憶なので細かいところは違っているかもしれませんが、概略こんな項目だったと思います。

これは、文字コード規格がフォント実装に要求するものを考える上で示唆的な話です。

97JISの「3.3.3 受信装置」は、装置が「符号化文字を受信し」「対応する文字を」「利用者に渡さなければならない」として、(回りくどい表現ではありますが) バイト表現を解釈しフォントを印字する際の要件を示しています。

上の架空のやり取り (FAQと称していても、実際はnever asked questionなことってありますよね) の意地悪な問いは、ここで述べられている、符号化文字に対応する文字を渡すという点において、規格の規定から外れてしまうわけです。「亜」の符号を受信した装置は、利用者がその符号位置に対応する文字 (「亜」) だと認識できる図形を出力しなければならないわけです。まあ、常識で考えればいい話ではあるんですが。

同じ節はまた、受信装置に表現上の制約がある場合は点画の省略を行っても良いが、他の文字と区別できることを要求しています。また、その際に包摂規準を越えた点画の省略をも許しています。これは、16ドットフォントで「量」を作ろうとするとどこかの横線を省かないとできない(当然、包摂規準でそんな字体差は包摂できない)といった事情を救済するためのものです。全然違う字体を採用することを許容するものではありません。中国簡体字をまねて「機」を「机」にするなどまるっきり違う字体に簡略化してしまうと、上のFAQと同じ要領で不適合とみなされることになります。

こうしてみると、文字コード値に対応させて出力する字形というのは、

  • その符号位置に対応する文字を、文字集合内の他の文字と紛れのないように表示すべきであり、
  • 可能な字体差は包摂規準に示されており、
  • ただし表示装置が貧弱な場合は妥当な簡略化も許容するが、だからといってなんでもいいわけではない

といった条件を満たすべきということになります。実は規格本文を見ると分かりますが、これでもまだ端折った内容があります。これ以上は面倒くさいので勘弁。

だからたとえば、「辻」に対応する符号を受け取った装置は、利用者が他のどの文字でもない「辻」のことだなとわかるような字形を表示すればよいわけです。その際、しんにょうの点のがひとつかふたつかなどは書体設計者の自由ですが、世間一般でいう「辻」だと認識できないようなつくりであってはいけないわけです。

よく考えれば常識的なことなのに、言葉にされるとなんだかえらく面倒な感じがするものですね。