プロポーショナル化雑感

blogのフォント表示をプロポーショナルにしました。

はてブで話題になっていた、文字詰めできるCSSのfont-feature-settingsが凄い! 日本語フォントこそ指定したい自動カーニング – ICS MEDIA や、Typekitヘルプ | CSS での OpenType 機能の構文を参考に、font-feature-settingsを記述してみました。その際に気づいたことをメモしています。

雑感

  • 色々試しましたが、結局 palt(全ての文字をプロポーショナル)にしました。(※1)
  • pkna(かなのみプロボーショナル)、halt(約物・句読点半角)なども試しましたが、やめました。本当は括弧類は半角、句読点は全角にしたいのですが、そのようなオプションはありません。
  • プロポーショナル(字幅に合わせた文字送り)にするのが目的で、たくさん文字を詰め込もうとしているわけではありません。試しに letter-spacing: 0.03em などを併記してみましたが、こんどは多用している三点リーダ二つ( …… )の間に隙間が出来てしまいました。やめました。
  • 項目の区切りに多用していた全角パイプ( | )の前後が詰まってしまいました。どうしよう。

あまりの融通の利かなさに、PageMakerの初期バージョン(30年近く前)を使用してる気分になりました。Web上でキレイなフォントをキレイに(かつ合理的に)組版できるようになるのはまだ数年ほどかかりそうです。

Webフォントのプロポーショナル化

  • Googleが用意したWebフォント(Noto Sans)にはfont-feature-settingsは適用されませんでした。軽量化のためにプロポーショナルメトリクス情報が削除されているようです。
  • 武蔵システムの「サブセットフォントメーカー」で軽量化するとやはりメトリクス情報は削除されてしまいます。ちなみに、ヒント情報なども削除されるので、表示も劣化してしまうようです(※2)。
  • (サブセット化・軽量化されていない)本来のNoto Sansを武蔵システムの「WOFFコンバータ」で変換するとメトリクス情報は削除されませんでした。ですが、容量が巨大なので、Webフォントとして使用するのは現実的ではありません。
  • メトリクス情報を残したままの合理的なサブセット化の方法はまだ見つけていません(※3)。アプリケーションFontForgeGlyphsなどを調べ始めています。

※1
OSXのSafariでは括弧類の挙動が変です。直後にリンクがあると特に文字詰めの崩れが激しいようです。バッドノウハウには関わりたくないのでとりあえず無視します。他にも制限・不具合はあるようで、こちらのページなどにもまとめられています。
「文字詰め」の使い方 – TypeSquare Blog

※2
武蔵システムさんのサブセットフォントメーカーを使うとフォントが劣化する件 | つめもよう

※3
源ノ角ゴシック(Source Han Sans)をサブセット化したい時にやったことまとめ – フロントエンド開発Blog | オレには鈍器がある 無料ゲーム公式サイト

CSSとJavaScriptで文章をメモ書き風に – ウェブログ – Hail2u.net

嫌われもののAquaKanaを排除する

くせの強いAquaKana、全部ヒラギノにするとスジは通ります。でも一抹のさびしさが……。

どうにもaquakanaに慣れないんだけど、これ、そのうち慣れるんだろうか…。

というつぶやきがありました。Twitter内を「AquaKana」で検索すると、他にも不満の声が結構あります。ほとんど罵倒に近いつぶやきもありました。

くせの強いAquaKanaの適用個所がLionから増えた事、ヒラギノとAquaKanaの出し分け方針が不明瞭で表示の不整合・バグのように感じられる事、などからそう感じるのでしょう。このような意見を言いたくなる気持ちもわかります。

LionからAquaKanaをすべて排除する方法を検証してみました。

AquaKanaをすべてヒラギノに変更したFinder。英数字はLucida Grandeのままなので、気付かない人は気付かないかもしれません。

以下の方法で行っています。

////////////////////////////
1. 代替フォントをTrueTypeで用意する。

AquaKana、AquaKana Boldの代替フォントとしてヒラギノ角ゴシックを利用します。ProN W3、ProN W6あたりが手頃ですが、英数字として表示されるLucida Grandeとのウェイトのバランスを考えると、W4とW6との組み合わせが良いようです。

ヒラギノはOpenTypeなのでTrueTypeに変換する必要があります。「otf ttf 変換」などで検索すると以下のページなどがヒットします。FontForgeというX11上で動くソフトを使って変換できるようです。

////////////////////////////
2. フォント情報を詐称した偽AquaKanaを作成する。



変換したTrueTypeフォントを使って、新規の「偽AquaKana」を作成します。Windows用のフォント作成アプリケーションTTEditなどを利用します。


FontForgeで表示されるAquaKanaのフォント情報


FontForgeで表示されるAquaKana Boldのフォント情報

たくさんの情報項目がありますが、ファミリー、サブファミリー、UniqueID、フルネームなどがフォントの認識に重要と思われます。可能な限り同じにしておきます。


偽AquaKanaのフォント情報


偽AquaKana Boldのフォント情報

////////////////////////////
3. ttfをまとめてttcに統合する。

FontForgeなどを利用し、出来上がったふたつのttfをttcに変換(統合)し、fake_AquaKana.ttcなどといった名前にしておきます。

////////////////////////////
4. 入れ替え、フォントキャッシュの削除。

システム/ライブラリ/Fonts/のAquaKana.ttcを退避させ、偽のAquaKanaを格納します。

shiftキーを押しながら再起動(セーフブート)し、フォントキャッシュを削除します。

偽のAquaKanaのファイル名をオリジナルと同じAquaKana.ttcに変更し、ふたたび再起動(通常起動)します。

表示が下記のようになっていれば成功です。

Spotlight検索画面

Safariの画面。

カバーフロー画面。

////////////////////////////
まとめ

表示の整合性がとれるのは精神衛生上大変好ましいのですが、ヒラギノはくせがなさ過ぎで面白みに欠けます。Ubuntuなどのlinuxディストリビューションのような見えになってしまいました。
JAM Chicagoの流れを汲む(知ってますか?/本当か?)AquaKanaは個人的にはとても好きなので、やっぱり元に戻すと思います。
今後もAppleの多言語開発チームの方には、整合性をより高めながらAquaKanaを活用していただければと思います。

////////////////////////////

言うまでもないことですが、上記の作業を試す場合は全て自己責任で行ってください。

120215追記FontForgeのインストール方法を含む詳細な作業手順をまとめた方がいました。