サルでもわかるグリッド揃え

  • 前回に続き、InDesignの「文字揃え」と「行送りの基準位置」と「グリッド揃え」の関係について。今回は、段落パネルメニューの「グリッド揃え」を導入する。が、フレームグリッドは使わず、プレーンテキストフレームのままで、カスタムベースライングリッドを使うこととする。理由は、(作業効率的にはフレームグリッドを使ったほうがスムーズかもしれないが)ベースライングリッドのほうがロジックがプリミティブだからだ。
  • 下図はプレーンテキストフレームにおける「グリッド揃え」のイメージ。オレンジ色の線がベースライングリッド(以下単に「グリッド」と呼ぶ)。行中で最も大きい文字の基準点(「グリッド揃え」で指定した位置)が、グリッド上にくる。


  • 下図は、前回取り上げた「文字のサイズがときどき大きくなる行送り一定の箱組み」の例(いちばん左が目指す組み)。「文字揃え:平均字面の下/左」を使いたい場合、「行送りの基準位置」には「平均字面の下/左」がないので、グリッドを使わない限り、ベースとなる文字の行送りが一定にならない。


  • そこで、まず行送りの値をいじらずに、行送りと同じ間隔のグリッドを設定してみたのが、下図*1。4種類の「行送りの基準位置」のうちどれを使っても、どこかのグリッドをスキップしてしまう。


  • では、(見た目の行送りはグリッドで制御するのだから)行送りの値はとりあえず小さくしておけばいいかというと、そうでもない。下図は、行送りの値をベースとなる文字(小さいほうの文字)のサイズに合わせてみた例だが、「行送りの基準位置」が「仮想ボディの上/右」または「仮想ボディの中央」の場合、2行目と3行目が同じグリッド上に重なってしまっている。


  • この「グリッドをスキップしたり、前後の行が重なったり」といったことは、どういう条件で起こるのか。まず、比較的単純なケースで考えてみる。下図は、「行送りの基準位置:仮想ボディの中央」の例。「グリッド揃え」が「なし」の状態で、連続する行の「仮想ボディの下」がぴったり重なる行送りの値を計算してみる。と、それが『「グリッド揃え:仮想ボディの下」を適用したときに行送りがこれ以下だと重なりますよ』という値になる(下図・左)。また、『行送りがこれ以下だと重なりますよ』という値にグリッド間隔を加えると、『行送りがこれを超えるとグリッドを1つスキップしますよ』という値になる(下図・右)。そして、両者にはさまれた範囲が、重ならずにスキップもしない行送りの値ということになる。


  • ……というような理屈をまとめたのが、以下の2つの図。下図は、「グリッド揃え」と「行送りの基準位置」のすべての組み合わせにおける『行送りがこれ以下だと重なりますよ』という値。ちなみに、この計算には「文字揃え」は無関係。「文字揃え」は行中の最大の文字に対して「それ以外のサイズの文字」の位置を指定するものであって、「行中の最大の文字」には影響を与えないからだ。


  • 下図は、「グリッド揃え」と「行送りの基準位置」のすべての組み合わせにおける『行送りがこれを超えるとグリッドを1つスキップしますよ』という値。上の図のそれぞれの値にグリッド間隔を足しただけ。


  • で、とりあえず自分用の結論。「文字揃え」と「行送りの基準位置」と「グリッド揃え」の関係について。グリッドを使う必要のないケースなら、「文字揃え」と「行送りの基準位置」は好みの組み合わせでいいんじゃないかということは、前回述べた。グリッドを使うなら、「行送りの基準位置」と「グリッド揃え」は一致させておくのがわかりやすいと思う。ただ、グリッド揃えで「平均字面の下/左」を使いたいケースもある。その場合に組み合わせる「行送りの基準位置」としては、基準点の位置が「平均字面の下/左」と離れている「仮想ボディの上/左」や「仮想ボディの中央」では、行の重なりやグリッドのスキップを制御しにくい。となると、候補として残るのは「欧文ベースライン」と「仮想ボディの下/左」だが、どちらかと言えば「仮想ボディの下/左」のほうが理屈がシンプルでわかりやすいかも。
  • というわけで前回の例に戻ると、設定は下図のようなかんじ。

*1:グリッドの開始位置は、「平均字面の下/左」にフィットするよう調整してある。