2007-12-04
■ヒラギノと他のフォントの文字幅の違い
- 大日本スクリーンの「ヒラギノOpenTypeのFAQ」のページに「ヒラギノOpenTypeのProフォントとStdフォントの互換性は?」という項目がある。その一部を引用してみる。
ヒラギノOpenTypeのProフォントとStdフォントは、収容グリフ数が倍以上も異なりますので、両者の差分のグリフ部分については互換性はありません。では、両者に共通するグリフ(Adobe-Japan1-3のグリフ)については互換かと言うと、これも完全に互換とは言えません。
これは、ProとStdで特定のUnicode符号位置に割り当てるグリフの文字幅バリエーションが異なる場合があるためで、Unicodeに依存して文字処理を行うアプリケーションでは、ProフォントからStdフォント(またはその逆)に書体変更すると、同じコードの文字でも文字幅が変わってしまうことがあります(例:Stdでは数学記号の∑や√にAdobe-Japan1-3内の全角グリフが割り当てられているが、ProではAdobe-Japan1-5内のプロポーショナルグリフが割り当てられている場合)。したがって、書体変更はProフォント同士またはStdフォント同士で行う方が安全と言えます。
- では、「数学記号の∑や√」に類する例は、他にどれだけあるのか。以下2つの図に分けて示す。グレー地は全角グリフ、黒地はプロポーショナル・グリフ。表示に用いたのは、「ヒラギノ角ゴ Std W8」と「ヒラギノ角ゴ Pro W6」。
- ヒラギノは、小塚書体やモリサワ・フォントなどと比較して、より多くのプロポーショナル・グリフをデフォルトで(Unicodeの符号位置に直接対応させる形で)採用しており、ヒラギノPro(UniJISX0213系)と小塚Pro(UniJIS系)では、65のマッピングが異なる。このうち「UniJISグリフはAJ13の範囲内、UniJISX0213グリフはAJ13の範囲外(つまりStdフォントではUniJISX0213グリフを使えない)」となるグループが、上図に示した「ヒラギノStdとProで文字幅が異なるもの」に該当する。
- 次に、「UniJISグリフもUniJISX0213グリフもAJ13の範囲外」となるグループを下図に示す。これらはもちろん、ヒラギノStdとProにおける文字幅の互換性問題とは無関係。表示に用いたのは、「小塚ゴシック Pro B」と「ヒラギノ角ゴ Pro W6」。
- 最後に、「UniJISグリフもUniJISX0213グリフもAJ13の範囲内」となるグループを下図に示す。この図は、内容的には(対照用の例示を削った以外は)前回のエントリ(「ヒラギノ角ゴ StdN」のcmap)の図と同じ。「ヒラギノ角ゴ StdN」では(AJ13の範囲内にあって)使うことのできる(現にStdでは使っている)UniJISX0213グリフをなぜ使わないのだろう、というのが前回の趣旨。
トラックバック - http://d.hatena.ne.jp/NAOI/20071204/1196758814
リンク元
- 6 http://d.hatena.ne.jp/works014/20070726
- 5 http://www.google.com/reader/view/
- 4 http://200.0.1.3/cgi-bin/cbgrn/grn.exe/mail/view?mid=99564
- 4 http://d.hatena.ne.jp/works014/20070714
- 4 http://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&rlz=1T4GWYH_ja___JP234&q=小塚明朝pro
- 3 http://b.hatena.ne.jp/entrylist?sort=hot
- 2 http://b.hatena.ne.jp/entrylist?sort=hot&of=50&threshold=3
- 2 http://b.hatena.ne.jp/entrylist?sort=hot&url=http://d.hatena.ne.jp/
- 2 http://d.hatena.ne.jp/works014/20070707
- 2 http://images.google.co.jp/imgres?imgurl=http://f.hatena.ne.jp/images/fotolife/N/NAOI/20061225/20061225181152.jpg&imgrefurl=http://d.hatena.ne.jp/NAOI/20061225/1167043954&h=150&w=150&sz=38&hl=ja&start=2&um=1&tbnid=xeVlrsFzMy9TFM:&tbnh=96&tbnw=96&prev=