1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Affinityはインラインオブジェクトの扱いがすごい!

Last updated at Posted at 2025-11-25

ひとりアドベントカレンダーを完走したのでいったん記事執筆を休もうかと思っていた矢先、お~まち氏によるAffinityのインラインオブジェクトに関する投稿を見た。

これは検証せねば…。

ピン留めパネルで設定

喜び勇んでインラインオブジェクトにしたい正方形を描き
af_inline1.png
貼り付け
af_inline2.png
文字サイズを大きくしたが…何も起きない。
af_inline3.png

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

このインラインオブジェクトっぽいアイコンをクリックすると、ピン留めパネルが現れる。
af_inline5.png
どうやらこのパネルで設定をすればよいらしい。
(なお、このパネルはウィンドウ→テキスト→ピン留め で表示することもできる)

スケーリング先の設定は、最初はスケールなしになっているが
af_inline6.png
ポイントサイズ
af_inline7.png
アセント
af_inline8.png
キャップ高さ
af_inline9.png
Xハイト
af_inline10.png
から選ぶことができ、文字サイズに応じで大きさが変化する。

見た感じ、キャップ高さや、位置をずらせばポイントサイズあたりが良さそうである。

アセント(アセンダー)、キャップ高さ(キャップハイト)、Xハイト(エックスハイト)についてはこのあたりの記事を参照。
いずれも欧文書体に関係した用語・値で、和文だとほぼ意識されない。

普通の書体用語解説(アクセント記号の付かない欧文基準)だとアセンダーとキャップハイトの差はわずかだが、OpenTypeフォントの場合は様々な文字を収めているためアセントが広く取られていることが多い。

今回用いたえのころ角ゴシックの各値はfontforgeで見ると以下の通り(EMの大きさ1000)。
af_inline11.png

アセント、キャップ高さ、Xハイトのインラインオブジェクトは、これらのフォント設定値が上端、ベースラインが下端となる位置・大きさとなる。

えのころ角ゴシックの場合、それぞれの値を図示すると以下のようになる。
正方形はインラインオブジェクト。ぴったりその値になっていることが確認できるだろう。
af_inline12.png
(文字サイズ100pxで作図し、表示を200%にしてキャプチャした図。Qiitaの画像処理でピクセル数が変わっているかもしれない。)

もしスケーリング先を「ポイントサイズ」でインラインオブジェクトを貼り込み、上下を文字と揃えたい場合、ベースラインから組版上の下端までの分(fontforgeでは深さに相当)だけオフセットでずらせばよいということになる。
和文フォントの場合、たいていは12%にすればよい。
af_inline13.png

縦中横をインラインオブジェクトで…行桁は揃うのか?

もう一つ。
webの森・モモンガですチャンネルで紹介されていた縦中横のやり方もインラインオブジェクトを応用している。

実際にこの方法で縦中横を入れた場合、組版に影響が出るか調べることにする。

まずは横40mm(実際は高さになる)でフレームテキストを作り、文字サイズ4mmでサンプルテキストを入れる(フォントはえのころ角ゴシック vert)。
af_inline14.png

くるりんぱ。行送り5mmにして5mmごとの線を引いておく。
af_inline15.png

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

このフレームテキストをコピペで本文中に貼り付ける。

スケーリング先:スケールなし、オフセット:0.5mm(正確には0.48mm)
af_inline18.png
や、
スケーリング先:ポイントサイズ、オフセット:12%
af_inline17.png
だと、縦中横の文字サイズ・左右位置に問題がなく、本文の文字が次行と揃っていることがわかるだろう。

一方、行間は広くなってしまい、縦中横を埋め込む前に引いた線から大きく離れてしまった。

この行間が広くなる現象は、ピン留めパネルの枠線の下の値をマイナスにすることでほぼ元の行間に戻すことができるようだ(地のフレームテキストを90度回転しているため、ピン留めパネルの枠線の下の値は、見た目では左=次行方向にあたる)。

ただし、1行目の位置はまだ若干ずれてしまっており、線から離れている。
ピン留めパネルの設定だけでは元に戻せなかった。
af_inline19.png

最後に、スケーリング先をポイントサイズにして本文の大きさを変えた場合、縦中横の大きさは自動的に変化するか試してみよう。
af_inline20.png
残念。
フレームテキストだから当然と言えば当然だが、枠は大きくなるものの、文字サイズは元のままだった。

縦中横の文字サイズを手動で変えれば、位置は問題ない。
af_inline21.png

だったらアーティスティックテキストで縦中横の数字を書けばいいじゃないかと思うかもしれないが、そううまくはいかない。
縦中横も自動的に大きくなるが、数字が異様に大きくなってしまうのだ。
af_inline22.png

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

フレームテキストとアーティスティックテキストの枠の大きさを見てみよう。

フレームテキストの場合、字面の大きさに関係なく、枠の大きさは固定である。
af_inline24.png
それに対し、アーティスティックテキストだと字面ギリギリで枠が作られるため、文字サイズ4mmで等幅半角字形の10を書いた時、横3.5mm、縦3mmの枠となってしまうのだ。
af_inline25.png

これを回避するには、枠にしたい大きさの四角形を書き(今回は4mmの正方形)、文字とグループ化するとよい。

一旦境界線ありの四角形を描いて数字を入れ、
af_inline26.png
境界線を消す。
af_inline27.png

これをインラインオブジェクトにすれば、文字サイズがおかしくならず、本文の文字サイズに応じて自動的に拡大・縮小される(フレームテキストではないので水色の枠線が無いことに注目)。
af_inline28.png
af_inline29.png

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

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?