なんでやねんDTP・新館

はてなダイアリーから移行しました…

InDesignで組む2倍ダーシ

ある人気小説の後日談に登場する「怒っていた件のおじさま」*1本人として、InDesignを使用アプリケーションとしたDTP組版時の2倍ダーシ(ダッシュ)の実現方法を纏めておきます。


一般的に使われている文字としては3種類あります。


  • U+2014(―:EM DASH)は、フォントによって位置も長さも異なります
  • U+2015(―:HORIZONTAL BAR)は、天地センターにあるもののフォントによって長さが異なります
  • U+2500(─:横細線素片)は、天地センターにあり長さも1字分丁度で、太さにもほとんど差はありません
  • 縦組み時には、それぞれが自動的に縦横変換されるのは確認しました


一見するとU+2500がイイ(あるいは使いやすい)と感じられるかも知れませんね。
ちょっとU+2500で組んでみましょうか(以下は主にリュウミンを使用)……


  • 私個人の感覚でしかありませんが、隣接する文字によっては窮屈に感じてしまいます(赤バック=仮想ボディサイズは下線設定をカスタマイズして…)


ですので、私が担当する組版では少し短めのU+2015を使用して、(文字送り方向に)200%として2倍ダーシを実現しています(この例ではヒラギノ明朝)。


  • ダーシのみは別フォントを使用するということが多いといえます(もちろん1倍の場合もね)


もし、テキストデータ流用などの都合でU+2015×2の状態を保持する必要があるなら…


  • 200%×2とした上で双方を選択した状態で「2字取り」として処理すれば大丈夫です(但し、フレームグリッドの場合という条件はありますが…*2


しかし、なんらかの制約などにより、U+2500を使わなければならない環境にあるなら、「分離禁止」の対象となっていない*3ので、行長調整のアキが割り振られる可能性があることをお忘れなく。

  • 5字分の左右幅で1字分の延ばし調整処理が発生しています

画像はプリセットの「弱い禁則」を使用しています。
U+2015は「分離禁止文字」に登録されていませんが、(登録されている)U+2014同様に行長調整のアキは割り振られてはいません(情報パネルで見るとU+2014もU+2015も「分離禁止文字」となっています)。

禁則処理セットの「分離禁止文字」はあくまでも「分割禁止文字」であり、「行末/行頭に分割されない」という禁則対象でしかなく、段落パネルメニューの「分離禁止処理=ON」時に「分割禁止処理」がされます。
本来の「行長調整のアキを配分する対象としない」という意味での「分離禁止文字」はアプリケーションレベルで定義されていると考えられます。
※この件について、詳しくはこの記事その次あたりをご参照ください。
もちろん、U+2015やU+2500を「行末/行頭に分割されない」ようにするには「分離禁止文字」に登録する必要があります。
蛇足になるかも知れませんが、U+2014がプリセットの「強い禁則」の「行頭禁則文字」に登録されていることもお忘れなく。

      • -

この辺り、少し理解が間違っていました…【新たに「分離禁止文字」に登録した文字の連続は、「分割禁止」かつ「分離禁止」となります】ので、上に記したU+2500も登録さえすれば行長調整のアキは割り振られることはないでしょう。(20170911追記)

      • -

また、情報パネルで「その他の和字」となっているU+2500には、欧文/英数字との間に「和欧文間隔」が発生することも忘れてはなりません(環境設定の「CIDベースの文字組みを使用」のON/OFFに関わりなく発生します:プリセットのアキ量設定では四分アキ)。


  • アキを入れたくなければ「文字組みアキ量設定」をカスタマイズするか、「文字前(後)のアキ量」などで調整する必要があります


なお、2倍ダーシの部分に源ノ角ゴシックを代用することも可能ですが、(和文中では)やはりU+2015の使用が適切でしょうね(GSUBの機能によって適切な字形に自動的に置き換えてくれる:3字分まで対応)。

  • U+2500には和欧文間隔が発生していませんが、うっかりカスタマイズした「文字組みアキ量設定」を使用した結果です…悪しからずご了承くださいませ和文扱い同士なので和欧文間隔は発生しませんね

※何もする必要がないので、ホントはこれが一番ラク
但し、上にも記したようにU+2015を行末/行頭に分割されないようにする(「分割禁止禁則」)には、禁則処理セットの「分離禁止文字」に登録する必要があります。


  • U+2014は登録済み、かつ強い禁則では「行頭禁則文字」にも登録されています

*1:正確には「おじいさん」であろうか…

*2:テキストフレームでもテキストサイズで字取りを実現する裏技はあるにはありますが…ここではスルーしておきます

*3:ユーザーにはどうしょうもありません…その理由は作例の下に…