なんでやねんDTP・新館

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

「調整量を優先」と「文字組みアキ量設定」_結

とりあえず、前回カスタマイズした「文字組みアキ量設定」の挙動を確認する。


図中の設定は各々上から

  • 行末受け約物全角/半角(default)
  • 行末受け約物全角/半角+行中句読点全角固定(test01)
  • 行末受け約物全角/半角+行中約物最小値・優先度などを少々カスタマイズした設定(行中句点は基本全角ドリ)(HW2.5)
  • 上にさらに調整可能箇所を増設した設定(HW2.5n)
  • 上にさらに行中読点を基本全角ドリにした設定(HW2.5n_読点全)


まず、「調整量を優先」・「ぶら下がり/あり」併用時に発生するバグを再現する。



  • 「調整量を優先」を「ぶら下がり/あり」で使用した場合、行末(例えば20字詰の20字目)にぶら下がり対象文字である句読点が位置すると(この場合に調整が不要なのは当然のことだが)、後続の文字との文字組みアキ量設定の最小値を参照して、その行で計100%の調整が可能な場合には後続の文字を追い込んでしまうという不具合が発生する。
  • この現象は、たとえ対象文字と行末とのアキを50%(全角取り)に設定してあっても、後続の文字とのアキを50%(全角取り)に設定してあっても発生するという、避けようのない不具合である。
  • (「調整量を優先」を使用する限り)これを回避することはできず、「文字組みアキ量設定」をカスタマイズして調整可能箇所を増設することによって、その不具合を目立たなくすることしかできない。
  • 結局、1字分追い込まれてしまうことを誤魔化すことになるのだが、「追い出し優先」などでは逆に1字分を追い出してしまうことが多いと思われるので、大差はないと考えている。
  • 下のバグにも関係するが、行長が十分にある場合には、(括弧類の前後など)最小値を0%から8分(12.5%)アキに変更した部分を4分(25%)アキ程度まで確保してもいいだろう。検討の要アリ。


次に、もうひとつの改行位置を正しく判断できないバグを再現する。
文字組みアキ量設定の行末把握のバグ?で触れた内容と理屈は同じだが、作例を変更して判りやすくなったと思う。



  • 半角約物(括弧類・句読点)のアキ量の最小値をデフォルトの0%から変更した「文字組みアキ量設定」を「ぶら下がり/なし」で使用した場合、行末丁度の位置(例えば20字詰の19.5字目*1)に半角約物が位置すると(この場合は収まって当然のことだが)、(行末とのアキ量ではなく)後続の文字との文字組みアキ量設定の最小値を参照して、改行の可否を判断するという不具合が発生する(調整方式に何を選択しているかは無関係に)。
  • 例えば句読点などの設定で後続文字とのアキ量設定の最小値をデフォルト(0%)から各々25%・50%と変更している場合、それぞれの数値分+半角(50%)をその行で調整不可能な場合は、直前の1文字とともに次行へ追い出されてしまうという挙動である*2
  • この現象は、たとえ当該半角約物と行末とのアキを0%(半角固定)に設定してあっても発生する。これでは対「行末」の設定が何のためにあるのか理解に苦しむ。*3
  • 当該行中に十分な調整可能箇所があれば回避可能だが、行長によっては調整が目立ちすぎることも多いハズ。「文字組みアキ量設定」をカスタマイズして調整可能箇所を増設して改行位置を正し、約物前後のアキを適切に確保することによって、より自然な文字組を得ることができる。
  • この場合、図の例でも判るように、改行位置が決定されてから再計算・調整が行われると思われる。
  • 作例の文字列の場合、デフォルトの設定でも「追い出し優先」では追い出されてしまう。最適値で組んでピッタリ収まるものを「追い出す」必要があるのか疑問だが、読点と後続の「ア」とのアキ、あるいは行末とのアキの最適値を参照していると考えれば、その挙動に納得がいったりもするが、私は基本的に使わないつもりなので深く追究しない。


上の2例で判るようにInDesignには改行位置を判断する部分にバグが潜んでいると思われる。


最後に、上の作例を流用して、デフォルトの「行末受け約物全角/半角」とカスタマイズした設定「HW2.5n」の挙動の違いを簡単に確認しておく。




重ねてみると「ぶら下がりなし」の部分に少しズレが見られる。



  • 「追い込み優先」は優先ランクおよび最小値を変更した結果だが、カスタマイズした設定を使用した作例(青)の方がより適切なアキが確保されていると思う。
  • 下の2例はともに「追い出し」がかり、字間が割られている例だが、デフォルト(赤)の場合は漢字も含めた全体で字間が割られているのに対し、カスタマイズした設定を使用した作例(青)の漢字部分はベタを維持しているように見える。
  • 調整の優先ランクを変更したのが原因だが、「追い込み優先」でも欧文の単語などの関係で字間をアケル処理が必然的に発生することもあるので、場合によっては(区切りの強弱に合わせて最小値を微調整しているので)優先ランクをすべて「なし」にする方がよりベターかも知れない。検討の要アリ。
  • ※優先度は対「行末」以外はすべて「なし」とした方がイイと最近では考えている。(100216追記
  • 尚、「追い込み優先」でも文字列によってはズレるハズだが、カスタマイズした設定を使用した方がより適切なアキが確保されるだろう。
  • 以上から、調整が必要になった場合は優先ランクおよび最小値・最適値の影響を受けるが、それは挙動としては当然のこと。(むしろそれらはデフォルトから変更すべきでモノで)それによって不必要な調整が加わって改行位置が変わってしまうということはないと考えられる。


作例に使用した設定済みのInDesign CS3 及び .inxの圧縮ファイル(OSX標準のzip)はコレ→nandeyanen.zip 直 【アイコンをクリック】※近日中に修正版をupする予定

  • 作例が日本語段落コンポーザーになってしまっているのに気付いた。適当に作成した証拠のようなものだが、日常的に使っているのは日本語単数行コンポーザー。コンポーザーを変更しても特に変化がないことは今確認した。念のため。(090911 09:15頃追記)

※前括弧類の優先度が設定されていないのを本日発見。いずれにせよ優先度を「なし」にしたモノを近日中にupするつもり(100218追記


新しい設定を含むInDesign CS3ファイルは
 コレ → HW_akiryo_new.zip 直 【アイコンをクリック】
詳しくは私の「文字組みアキ量設定」_1002版を参照ください。


以上、一連の記事を簡潔にまとめると……
禁則調整方式*4「調整量を優先」は行末/行頭の禁則に関わる場合だけでなく、色々な原因で発生する行中の半端を(主に)追い込む方向で処理可能なので、他方式と比べて調整量が少なくて済む場合が多く、結果的により自然な組版結果を得ることが出来るという利点があり、基本設定として使うべき機能である。
但し、InDesignが持つ改行位置を判断する際のバグにより思い通りの結果を得られない場合もあるが、それは適切にカスタマイズされた「文字組みアキ量設定」と併用することによって、回避あるいは目立たなくさせることが可能である。
また、この適切にカスタマイズされた「文字組みアキ量設定」は他の禁則調整方式と併用しても特に不具合はない


今回の記事でDTP Booster 005で中途半端な説明に終わってしまった「調整量を優先」関係のフォロー記事は終了とする。
長引かせて申し訳ありませんでした。
08/27開催だったので2週間かかったことになるが、講演で予定していたことよりも詳細に展開できたと思う。


DTP Booster実行委員会の方が、講師として私に目をつけてくださったのも、このブログの記事を読んでいただいていたからだと思う。
ブログを書くようになって、ネタを探し、適当にいい加減なことを書くわけにもいかないのである程度の検証をする。すると、そこでまた新しい発見があったりして……検証の繰り返し……。
いつの間にか、自然に色々な経験が己の知識となり、身となり肉となり、体力となり、総合力がアップするだろう。
お読みいただいている皆さんも、是非何らかの形で自ら発言されることをオススメする次第。


最後に、講演する機会を与えてくださった実行委員会の方々に感謝すると共に、私の不手際から講演が中途半端に終わってしまったことを、ご参加いただいた聴衆の方々に重ねてお詫びいたします。
当ブログ共々、今後ともよろしくお願いいたします。ありがとうございました。

*1:この表現が正しいのか? つまりアキ量の最適値で組んでピッタリ収まるということ

*2:私には、ここにデフォルトの設定を「JIS X 4051に準拠して句点全角固定」としない一因があるように思えてならない

*3:大丈夫な場合もあることを確認したので削除した 100211

*4:この禁則調整方式の下位メニューに「調整量を優先」があることが多くの誤解の遠因でもあるだろう。ここは「行揃え調整方式」とでもすべきだと思う