前回の記事で約物合字Webフォント「YakuLiga」を公開しました。全角約物が連続したときのアキを調整するフォントです。このフォントは合字機能の限界から以下の欠点があります。
- 約物の種類がとても少ない。
- 約物が連続で並ぶ個数を3個までに制限している。
そして前回の記事では最後に、この欠点を解決した新たなフォントの存在を予告しました。ここで本命の約物Webフォントを公開します!
約猫明朝/約猫ゴシック
https://github.com/monokano/Fonts
公開当初(v1.013)はSafariで表示の崩れがありましたが、v1.014で解決しました。
- 句読点や括弧などが連続したときのアキを自動的に調整します。
- 収録文字一覧
- 連続で並ぶ個数に制限はありません。
- 英語名は「YakuCalt(ヤクシーアルト)」、日本語名は「約猫(やくねこ)」。
- 字形やライセンスなどはYakuLigaと同じ。気軽に自由に利用できて、改変も可能です。
このフォントは私ではなく、照山さんが作りました。照山さんはこれまで、
等々、いろいろなフォントを作って公開しています。とくに上記の2つは「calt(シーアルト)」という機能を使っています。そこで私から「caltで約物Webフォントを作れますか?」と問いかけたところ、なんとたった半日でこのフォントを作ってくれました。
そして公開に先立って字形を新たに描き起こし、さらに大江さんが検証を強力サポート。慎重にブラッシュアップを重ねました。その中で大江さんが約猫を使った「青空UTF(約猫フォント版)」も作ってくれました。
照山さんと大江さんのお二人に感謝!
Webブラウザのcalt対応状況
Webブラウザがcalt機能にどのように対応しているかはベンダーごとに違いがあります。どのブラウザも一長一短で、とくにセミコロン、シングル/ダブルクオーテーションでcaltが効かなかったりします。
検証用サンプル
YakuLigaの方は合字機能を利用しているので、横組みに限れば、たいていのブラウザで安定して表示されます。約猫フォントはそれに比べると、現状ではブラウザの種類で(一部の約物に)表示の違いが起きやすい。
それではYakuLigaの方が良いのかというと、そうとも言い切れません。約猫フォントが持っている全角約物(40個)をYakuLigaで2~3個並んだ時に合字で表示しようとすると、合字グリフ数は横組用と縦組用の合計で131,200個が必要になります。さらに2~4個の並びに対応しようとすると5,251,200個です(ちなみにAdobe-Japan1-6の総グリフ数は23,058個、OpenTypeフォーマットで収容可能な最大グリフ数は65,535個)。このようにYakuLigaでは荒唐無稽でしかないことが、約猫フォントは(並べる個数に制限がないので)はるかそれ以上の組み合わせを軽々とこなしてしまいます。YakuLigaと約猫の間には、これほどの圧倒的な能力差があるのです。
そこでこう考えてみてはどうでしょうか。約猫は「未来を少しだけ先取りしたフォント」であると。まだWebブラウザが追いついていないだけ。そしてやがて追いつき、追い抜き、このようなフォントを作る意味そのものがなくなるといいなぁと思っています。
とくにSafari対策について
約猫の検証で最も悩まされたのがSafariです。約猫は特定のWebブラウザ向けに対応することはしていません。ひとつの例外を除いて…。その例外とは、Adobe-Identity-0のROSを設定し、CID-keyedにしていることです。そうしないと、Safariでなぜか縦組みで約物が疑似プロポーショナルになってしまいます。
※要Safari→ ROSの有無を検証
※約猫はOpenType/CFFなので、OpenType/TrueTypeでどうなるかは未検証です。
さらにCSSの@font-faceでも工夫が必要です。OS XのバージョンによってSafariは.woffを認識しないので、.otfも併記しないといけません。
具体的にはダウンロードzipに同梱のサンプルをご覧ください。
追記:照山さんが約猫のcaltの仕組みを解説してくれました!
約物前後のアキをcaltで調整するWebフォント
v1.013 2016.5.30 公開
v1.014 2016.5.31
Safariだけ約物間のアキがまばらになる現象を解消しました。Glyphsでのcaltのフィーチャーコードからlookupの記述を省略する(結果として複数のlookupだったのを1つにまとめる)ことでなぜか解消できました。OS XはOpenTypeとAATの摺り合わせで紆余曲折しているようで、そのあたりの陥穽にたまたま落ちてしまったような気がします。