Illustratorの縦組はどうしてズレるのか

Illustratorで縦組にすると、いろいろズレているのに気づきます。一番わかりやすいのは三点リーダーですね。フォントによってズレ具合がまちまちなのも不思議です。
縦組で三点リーダーが揃わない
この原因を照山さんと一緒に探ったところ、ついに解明できました。ここで報告しましょう!

InDesignの場合

まず、上図で最もズレの大きい「すずむし」がInDesignではどうなるかを検証します。
InDesignの横組と縦組
このように横組と縦組の両方ともボディがぴったりキレイに並びます。三点リーダーは縦組で正立回転し、縦組専用のものに換えられます。三点リーダーの字形もズレることなくきれいに中央に揃います。

Illustratorの場合

同じことをIllustratorで検証してみます。
Illustratorの縦組でズレる様子
横組はInDesignと同じですが、縦組で「横倒しの欧字」がズレます。さらに三点リーダーの向きをよく見てください。縦組専用のものではなく、そのまま横倒しの状態で、欧字と同じ扱いをされてズレているのがわかります。

Illustratorでズレる原因

ここからズレる原因を説明します。結論から先に言うと、Illustratorが独自に「大文字Xの字形最上端とベースラインの中央」をボディの中央に合わせているのが原因です。
Xの字形パスの上端とベースラインの中央をボディの中央にしている
大文字Xの字形が基準
フォントに詳しい方なら「いや、Xの字形ではなくキャップハイトの値でしょ」とここで考えるでしょう。実はそうではありません。Illustratorはフォントに設定されているキャップハイトの値を縦組で使いません。かわりに「Xの字形最上端」をキャップハイトとしているのです(ここで文字っ子たちの悲鳴が)。冒頭の図でフォントによってズレ具合がまちまちなのは、それぞれのXの字形最上端の位置が異なるからです。

Xの字形がなかったら…

それでは、Xの字形がなかったらどうなるでしょうか。結論を先に言うと「FontBBoxのyMax=キャップハイト」になります(さらに文字っ子たちの悲鳴)。すずむしさんにXの字形パスがなかったらどうなるかをシミュレーションしてみます。
すずむしさんのFontBBox
Xの字形パスがなかった場合
Suzumushi-NonX
このように激しくズレるはずです。Xのグリフそのものがないときもまったく同じです。

そもそも私と照山さんが探っていたのは、このズレでした。私たちが作る記号フォントはどれも共通にこのズレが発生していました。原因を探った結果、私たちのフォントにはどれもXのグリフがなく、それがズレの発生を招いていたのでした。そして解決方法として「Xの字形パス最上端とベースラインの中央」を「ボディの中央」に一致させると、Illustratorでズレなくなることもわかったのでした。

Illustratorのズレは対策できる?

  • 三点リーダーは、字形パネルで縦組専用グリフを入力するとズレなくなります。
  • フォントを作るとき、記号や外字フォントのようなものは、Xのグリフをズレ調整用として扱い、上記の方法でズレを防止できます。
  • しかし通常のフォントでそれをするのはおかしな話です。Illustratorでどれだけズレようが、対策なんかせずに、それぞれのフォントに合ったXの字形にしてください。

本当はもっと詳細な説明が必要なのですが、ただでさえ混乱しやすい話なので、必要な説明を削ってでも簡潔にして要点だけにしました。ご了承ください。

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です