このページでは、テキストオブジェクトの中のテキスト(文字列)を水平方向に整列する(揃える)方法を紹介します。

(参考:テキストオブジェクトの作成と編集)
(2023.11.11更新)
はじめに
Inkscapeには、複数のオブジェクト同士を整列する(揃える)機能とは別に、テキストオブジェクトの文字列専用の整列機能があります。(Inkscapeの画面上では「割り付け」と表示されますが、分かりにくいので「align」の直訳である「整列」という言葉を使いたいと思います。)
この文字列専用の整列機能には大きく2つの種類があって、テキストオブジェクトに複数行の文字列が含まれている状態で各行の水平方向の位置を揃えるという整列機能と、テキストオブジェクトを他の任意のパスの形に合わせてレイアウトしている状態でそのパスの位置に対して文字列の位置を揃えるという整列機能があります。
以下、順に詳しく紹介していきます。
左端、右端、中央に揃える
テキストオブジェクトに複数行の文字列が含まれている状態で次のようにその水平方向の位置を揃えることができます。

そのためには位置を揃えたいテキストオブジェクトをテキストツールを使って選択した状態で、ツールコントロールバーの次のプルダウンメニューから整列のタイプ(左端で揃える、中央で揃える、右端で揃える、両端で揃えるの4種類)を選びます。

すでに何らかの文字列を入力してあるテキストオブジェクトに対して設定することもできますが、テキストツールを選んだのちに新規テキストオブジェクトの入力を始めようとする時点でもその後に入力されるテキストの整列タイプとして設定することができます。
ところで、このプルダウンメニューには左右中央に揃えるタイプの他に、4番目の整列タイプ(両端で揃える)を設定するメニューが表示されますが、これについては少しクセがあるので次のセクションで。
両端で揃える
この整列タイプでは1行の文字列の最初の文字と最後の文字が両端いっぱいに来るように間のスペースを自動的に調整してくれます。
そのためには位置を揃えたいテキストオブジェクトをテキストツールを使って選択した状態で、ツールコントロールバーのプルダウンメニューから4番目(一番下)のタイプを選びます。

この整列タイプを設定すると、テキストオブジェクトの左端から右端まで文字列全体が届くように、その文字列に含まれるスペースの幅を自動的に調整してくれます。

この例では、テキストツールを使ってテキストオブジェクトを選択し、右下のハンドルをドラッグすることでその大きさを変更したときの様子を示しています。テキストオブジェクト全体の大きさを水平方向に伸ばしたので、1行目の2つのスペースが自動的に広がって両端の文字(AとJ)がそのまま両端に位置するように調整されていることがわかります。
1行の文字列でも複数行の文字列でも整列することができます。
ただし間にスペースが1つも無い文字列についてこの整列を実行しても調節すべきスペースが無いせいで何も起こらない(文字と文字との間は広がったりしない)ので、左端を揃える整列と同じレイアウトになるように見えます。
なお、この整列タイプは流し込みテキストのときだけ有効で、通常テキスト(または自動折り返しテキスト)を選択している場合はプルダウンメニューの4番目のメニューを選ぶことができません。
パス上に配置したテキストの整列
Inkscapeでは「パス上に配置」する機能によって、任意の他のパスに沿うようにテキストのベースラインを曲げてレイアウトすることができます。
パスに沿ってテキストをレイアウトするときはそのパスの向き(始点→終点)とテキストの向き(左端→右端)が一致するようにレイアウトするので、例えばテキストの整列のタイプとして左端に揃えるよう設定するとパスの始点のところに1文字目が来るようにレイアウトされることになります。
次の例ではパスの向きが分かりやすくなるようにパスの終点側のマーカとして矢印を設定しています。このパスと配置対象のテキストオブジェクトを両方選択しておいてテキスト > テキストをパス上に配置メニューを操作すると、パスの始点にテキストの左端が配置されるようにレイアウトされます。

パス上に配置するよりも先に、テキストオブジェクトの整列のタイプを中央に揃えるように設定してからパス上に配置を実行すると、次のようにパスの真ん中(始点と終点から同じ距離になるところ)と文字列の真ん中が一致するようにレイアウトされます。

パス上に配置しておいて後から整列のタイプを設定しても思うようにレイアウトされないので注意が必要です。
わかりにくいのは閉じた楕円に沿って配置するような、パスの始点と終点がどこなのか見た目でわからない場合です。閉じた楕円であっても始点と終点が存在するので、マーカを適当に設定したりして向きを確認しながら配置するようにするとよいかもしれません。
次の例は中央に揃えるように設定したテキストを楕円に沿って配置させています。

ところでネット上では「パスのほうを上下や左右で反転させると、それに沿うようにレイアウトしたテキストが外側から内側に来る」という説明をみかけます。
次のような具合です。

別にこれは「内側に来るようにする」という機能があるわけではなくて、パスの始点から終点への向きが反転した結果としてたまたま内側に沿うようになっただけで、たまたまです。
パス/シェイプに流し込んだテキストの整列
パス/シェイプのフィル部分に流し込んでレイアウトしたテキストについても同じように整列させることができます。

この場合はテキストに整列のタイプを設定してから流し込みを行っても、流し込みが済んだ状態のテキストに後から整列のタイプを設定しても、レイアウトは同じように行われます。
ちなみにGUIのラベルやフローチャートのノードのように、シェイプの中央にテキストを配置したい場合があると思います。

しかしどうやらテキストを水平方向に整列する機能はあっても、垂直方向に整列する機能はないようなので、代わりにパス/シェイプとテキストの両方を選択しておいて、整列と配置ダイアログで次のボタンをクリックすることで、テキストオブジェクトとしてではなくオブジェクト一般の整列機能で垂直方向も中央に整列させることができます。
