ひとりアドベントカレンダーを完走したのでいったん記事執筆を休もうかと思っていた矢先、お~まち氏によるAffinityのインラインオブジェクトに関する投稿を見た。
これは検証せねば…。
ピン留めパネルで設定
喜び勇んでインラインオブジェクトにしたい正方形を描き

貼り付け

文字サイズを大きくしたが…何も起きない。

どうするんだ…?と思いふとレイヤーパネルを見ると、それっぽいアイコンが出ているではないか。

このインラインオブジェクトっぽいアイコンをクリックすると、ピン留めパネルが現れる。

どうやらこのパネルで設定をすればよいらしい。
(なお、このパネルはウィンドウ→テキスト→ピン留め で表示することもできる)
スケーリング先の設定は、最初はスケールなしになっているが

ポイントサイズ

アセント

キャップ高さ

Xハイト

から選ぶことができ、文字サイズに応じで大きさが変化する。
見た感じ、キャップ高さや、位置をずらせばポイントサイズあたりが良さそうである。
アセント(アセンダー)、キャップ高さ(キャップハイト)、Xハイト(エックスハイト)についてはこのあたりの記事を参照。
いずれも欧文書体に関係した用語・値で、和文だとほぼ意識されない。
普通の書体用語解説(アクセント記号の付かない欧文基準)だとアセンダーとキャップハイトの差はわずかだが、OpenTypeフォントの場合は様々な文字を収めているためアセントが広く取られていることが多い。
今回用いたえのころ角ゴシックの各値はfontforgeで見ると以下の通り(EMの大きさ1000)。

アセント、キャップ高さ、Xハイトのインラインオブジェクトは、これらのフォント設定値が上端、ベースラインが下端となる位置・大きさとなる。
えのころ角ゴシックの場合、それぞれの値を図示すると以下のようになる。
正方形はインラインオブジェクト。ぴったりその値になっていることが確認できるだろう。

(文字サイズ100pxで作図し、表示を200%にしてキャプチャした図。Qiitaの画像処理でピクセル数が変わっているかもしれない。)
もしスケーリング先を「ポイントサイズ」でインラインオブジェクトを貼り込み、上下を文字と揃えたい場合、ベースラインから組版上の下端までの分(fontforgeでは深さに相当)だけオフセットでずらせばよいということになる。
和文フォントの場合、たいていは12%にすればよい。

縦中横をインラインオブジェクトで…行桁は揃うのか?
もう一つ。
webの森・モモンガですチャンネルで紹介されていた縦中横のやり方もインラインオブジェクトを応用している。
実際にこの方法で縦中横を入れた場合、組版に影響が出るか調べることにする。
まずは横40mm(実際は高さになる)でフレームテキストを作り、文字サイズ4mmでサンプルテキストを入れる(フォントはえのころ角ゴシック vert)。

縦中横に埋め込む数字は4mm角のフレームテキストを作り、タイポグラフィで等幅半角字形(えのころ角ゴシックvertでは代替2)にしておく。

このフレームテキストをコピペで本文中に貼り付ける。
スケーリング先:スケールなし、オフセット:0.5mm(正確には0.48mm)

や、
スケーリング先:ポイントサイズ、オフセット:12%

だと、縦中横の文字サイズ・左右位置に問題がなく、本文の文字が次行と揃っていることがわかるだろう。
一方、行間は広くなってしまい、縦中横を埋め込む前に引いた線から大きく離れてしまった。
この行間が広くなる現象は、ピン留めパネルの枠線の下の値をマイナスにすることでほぼ元の行間に戻すことができるようだ(地のフレームテキストを90度回転しているため、ピン留めパネルの枠線の下の値は、見た目では左=次行方向にあたる)。
ただし、1行目の位置はまだ若干ずれてしまっており、線から離れている。
ピン留めパネルの設定だけでは元に戻せなかった。

最後に、スケーリング先をポイントサイズにして本文の大きさを変えた場合、縦中横の大きさは自動的に変化するか試してみよう。

残念。
フレームテキストだから当然と言えば当然だが、枠は大きくなるものの、文字サイズは元のままだった。
だったらアーティスティックテキストで縦中横の数字を書けばいいじゃないかと思うかもしれないが、そううまくはいかない。
縦中横も自動的に大きくなるが、数字が異様に大きくなってしまうのだ。

そもそも本文に貼った時点で文字サイズが大きくなってしまっている(4mmの本文に対して4.5mm)。

フレームテキストとアーティスティックテキストの枠の大きさを見てみよう。
フレームテキストの場合、字面の大きさに関係なく、枠の大きさは固定である。

それに対し、アーティスティックテキストだと字面ギリギリで枠が作られるため、文字サイズ4mmで等幅半角字形の10を書いた時、横3.5mm、縦3mmの枠となってしまうのだ。

これを回避するには、枠にしたい大きさの四角形を書き(今回は4mmの正方形)、文字とグループ化するとよい。
これをインラインオブジェクトにすれば、文字サイズがおかしくならず、本文の文字サイズに応じて自動的に拡大・縮小される(フレームテキストではないので水色の枠線が無いことに注目)。


縦中横をインラインオブジェクトで作る際は、以上のことも踏まえるとよいだろう。



