このページでは、Inkscapeを使ってテキスト(文字列)を他のパス(またはシェイプ)の形に合わせてレイアウトする方法を紹介します。

- Contents
- はじめに
- パスに沿うようにレイアウト
- パスの中にレイアウト(流し込み)
(参考:複数のオブジェクトにテキストを流し込む)
(参考:流し込んだテキストを元に戻す)
(参考:クローンを使っていろんなテキストを作る)
(2022.11.10更新)
はじめに
パスの形に合わせてレイアウトする方法は2種類あって、パスの線に沿うようにレイアウトする方法と、パスの内側に流し込むようにレイアウトする方法があります。
パスに沿うようにレイアウト
沿わせたいテキストオブジェクトと沿わせる対象のパス(またはシェイプ)とを両方選択した状態で、テキスト > テキストをパス上に配置メニューを操作します。シェイプに沿わせる場合、矩形だけは一旦パスに変換しないと効果がないですが、他のシェイプはパスに変換することなく、アウトラインに沿ってテキストをレイアウトしてくれます。

レイアウト後も沿わせる対象のパスやシェイプとテキストオブジェクトとは別々のオブジェクトのままなので、レイアウト直後はパスにピッタリ沿っていますが、テキストオブジェクトだけ移動すればレイアウトを保ったまま移動できるし、それ以外の編集操作もそれぞれで独立に実行することができます(色を変えたり、右揃えやカーニングも機能します)。
ただし沿わせる対象のパス/シェイプのほうを変形すると、テキストオブジェクトのレイアウトもそれに合わせて変化します。これはテキストオブジェクトの内部に格納されているレイアウト情報というのが、沿わせる対象のパス/シェイプに対するリンク情報になっているからのようです。リンク情報であるという点でクローン機能と似ています。(実際、テキストオブジェクトのほうを選択して編集 > クローン > オリジナルを選択メニューを操作すると、沿わせる対象に使われたパス/シェイプが自動的に選択状態になるので、そうなんじゃないかな、と。)
なおクローンそのものではないので、元となったパスを削除するとテキストオブジェクトのレイアウトは元に戻ってしまいます(クローンの場合はクローンでなくなるだけで、オブジェクトとしてはそのまま残る)。同じ理由でクリップボードにコピーされているパスに沿わせる対象を切り替えてそちらのパスに沿ってレイアウトするようなこともできません。
(参考:クローンを作る)
パス/シェイプに沿ったレイアウトを除去したい場合はテキスト > パスからテキストを削除メニューを操作します(テキストからパスを削除、と言ったほうが意味が合ってる気もします・・・)。
パスの中にレイアウト(流し込み)
パス/シェイプに沿ってレイアウトするのと同様に、テキスト > テキストの流し込みメニューを操作するとパス/シェイプのフィルの部分に詰めるようにレイアウトしてくれます。ただちょっと試した感じでは任意のテキストが任意の形のパスの中に流し込めるかというと、そんなにきれいに収まらないので、少しクセのある機能のように思います。
こちらはパス/シェイプに沿ってレイアウトする場合と違って、クローンのようなリンクを用いているのではなく、SVG形式の中でスタイルシートのレイアウト属性として流し込み対象のパスを参照するようになっています。流し込み対象のパスを削除すると、テキストオブジェクトは参照先のパスが無くなってしまうので、スタイルの処理に失敗するせいか、テキストオブジェクトそれ自体が表示されなくなってしまいます。(データ上は存在するので、もう一度見えるようにすることはできるはずですが、うまくいかない・・・)