Affinity Publisherで日本語処理(8)モノルビ(ルビ1・2文字)

最初に言っておきますが、結果的に中途半端な状態になって失敗してます。この辺はソフトウェアの対応を待つしかないかな。

例題はこんな状態のものです。青空文庫の表示に合わせてみました。

もうひとつ、html5のテキストも作ったんですが、あんまり意味なかったのでやってません。

<p>さて、タイトルにある<ruby>通<rt>とお</rt></ruby>りAffinityソフトウェア(<ruby>主<rt>おも</rt></ruby>にPublisher)

まあ、失敗は失敗として、こんな考え方でチャレンジしましたというのを残しておこうと思います。


まず、本文の基本設定ですが、段落スタイル「本文基本」で次のようにしています。

  • 小塚明朝Pro6N R
  • 文字サイズ10pt
  • 行送り16pt
  • 左揃え
  • 1行目インデント10pt

ここから、ルビにする文字の文字スタイル、ルビの親字の文字スタイルを作成していきます。

文字スタイル「rt1」

これはルビが1文字の場合のルビにする文字の設定です。こんな感じで大きさと位置を変更します。

  • 水平比率50%
  • 垂直比率50%
  • トラッキング500‰
  • ベースラインシフト9pt
  • 全ての代替11

AffinityではOpenType機能の東アジア言語には対応していないのですが、全ての代替(aalt)は用意されているので、そこからルビ字形にアクセスすることができます。小塚明朝、リュウミン、筑紫明朝のいずれも全ての代替(aalt)11がルビ用字形だったので、たぶん行けるだろうとそれを設定しておきました(後々これが悲劇になる

文字スタイル「rb1」

これはルビが1文字の場合の親文字の設定です。トラッキング-750‰しか設定してないです。

この状態で「」の文字を削除すると、こんな具合にルビのように見えるという技です。

文字スタイル「rt2」

これはルビが2文字の場合のルビにする文字の設定です「rt1」からトラッキングの変更を削除したもの。

文字スタイル「rb2」

これはルビが2文字の場合の親文字の設定です。トラッキング-1000‰しか設定してないです。

-1000‰ということは、次の文字を同じ位置にするということですね。

で、このトラッキングは-1000‰が最小値、つまり次の文字を自分より前に出すということができないので、これと同じ方法で3文字以上のルビを処理することができないことになります。なので何らかの発想の転換が必要になってきます。

この状態で先程と同様に「」の文字を削除すると、こんな具合にルビのように見えるわけです。


まあ、ここまでは同じくルビ機能がないIllustratorでも同様です。だから特に目新しくはないんですが、Affinity Publisherのいいところはこれを「検索して置換」でまとめて実行できるということですね。

ただ、まとめてできるといっても、置換先の文字スタイルは4種類あるので、最低4回は置換しなければいけません。そして、置換の順番ですが、親文字から先にやった方が楽です。

置換①ルビ1文字の親

検索文字列

.(?=《.》)

置換文字列は空欄、置換フォーマットは文字スタイル「rb1」

置換②ルビ2文字の親

検索文字列

.(?=《..》)

置換文字列は空欄、置換フォーマットは文字スタイル「rb2」

置換③ルビ1文字

検索文字列

(.)》

置換文字列

\1

置換フォーマットは文字スタイル「rt1」

置換④ルビ2文字

検索文字列

(..)》

置換文字列

\1

置換フォーマットは文字スタイル「rt2」

以上、4回の置換の結果がこうです。

まあ、ぱっと見、それなりにできたかなと。でもよく見ると「つ」がおかしい。

あれ? ひょっとして。ということで「タイポグラフィ」を開いてみると

ありゃりゃ「つ」は番号がずれてる。ということで、せっかくルビ字形が使えるならと思ってやったことが裏目に。やっぱりAffinityが対応するまで使えないねえ。