なんでやねんDTP・新館

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

「文字組みアキ量設定」で区切り約物の後ろに全角分のアキを挿入

先日、知人のtwitter上でのある報告が気になって検証してみました。

それは、「文字組みアキ量設定」をカスタマイズして、区切り約物「!?‼⁉⁈⁇」と後続の両仮名や漢字の間に全角アキ挿入を実現したいのだけれど、「‼⁉⁈⁇」があるとその行全体の字間がツマリ気味になるという報告…

まずは、以下のようなテキストを用意しました。

(ちょっとミスして、上の作例は既に適用してありますが…)「文字組みアキ量設定」そのものは、前の文字クラス=「区切り約物」と後の文字クラス=「平仮名/カタカナ/上記以外の和字」間の「最適値」と「最小値」を「100%」とすれば済みそうですのでごく簡単ですね(作例はデフォルトで用意されている「行末受け約物全角/半角」を元にカスタマイズ)。

で、「‼⁉⁈⁇」の部分には正規表現スタイル」でOpenType機能の「任意の合字」を適用すると…

報告にあったように、画像の通り字間がツマってしまっています(きっとバグでしょうね)。

この原因が「‼⁉⁈⁇」に適用した「任意の合字」にありそうなことは容易に推測できますね。
それではと、「任意の合字」を解除して既存の合字として用意されている U+203C, 2047, 2048, 2049 などを直接打ち込むと…

うーん、ヨコに寝てしまいますね…

なので「縦中横」を適用してみると…

うーーんん、正立しましたが今度は「アキ」がなくなってしまいました…

が、しかーし、「縦中横」ではなく「文字回転=90°」を適用すると…

ということで、なんとか解決しました。

ただし、「!?」は「行頭禁則文字」に登録されていますが、「‼⁉⁈⁇」は登録されていないので、これらを追加登録することも忘れてはなりません。

※区切り約物「!?‼⁉⁈⁇」は(StdやProなどの)文字セットによっては範囲外となっているモノがありますのでご注意ください。