このページでは、Inkscapeのテキストオブジェクトを入力/編集する手順について紹介します。

(2023.12.28更新)
はじめに
まずツールバーでテキストツールをクリックし、次にキャンバス上でクリックするか、または、ドラッグすることで、テキストオブジェクトの入力を開始します。

また、テキストツールをクリックした上で入力済のテキストオブジェクトを選択すると、入力済のテキストオブジェクトのテキストを再び編集可能な状態にすることもできます。
この辺りは一般的なお絵描きツールと同様です。
なお、テキストには、縦書きとか右から左に向かって書くなどの、他の図形にはない特殊な性質があって、それをすべてカバーしようとすると説明がとても大変なので、以下では横向き右向きなどの典型的な構造のテキストであることを前提にまとめていきます。
テキストオブジェクトの種類
テキストオブジェクトには、3つの種類があります。
テキスト(通常のテキスト)と、自動折り返しテキストと、流し込みテキストです。
通常のテキストは、入力した(あるいは削除した)文字の分だけテキストオブジェクトが横方向に延び縮みし、追加した(あるいは削除した)行の分だけ縦方向に伸び縮みするタイプのテキストです。
自動折り返しテキストは、横方向には伸び縮みしない(自動的に折り返して表示される)けれど、追加した(あるいは削除した)行の分だけ縦方向に伸び縮みするタイプのテキストです。
流し込みテキストは、文字とは別に設定した枠(テキストボックス)の中に入力した文字が表示され、枠から出張った場合はそのテキストを表示しないというタイプのテキストです。枠の大きさが先に決まっているので文字や行の追加や削除では伸び縮みしません。なお、流し込みテキストは通常のテキストに変換することができます。
そして、テキストの種類によってその入力方法が異なります。
キャンバス上をクリックし、その位置から文字を入力すると通常のテキストになります。キャンバス上でマウスをドラッグして枠(テキストボックス)を描いてから入力すると流し込みテキストになります。
よくある誤解として、どの入力方法で入力しても作成されるテキストオブジェクトに違いはないだろうということがあるのですが、実際は入力方法によって違う種類のテキストオブジェクトが作成され、その性質も違ってくるので注意が必要です。
テキストオブジェクトの種類ごとに異なる入力方法と編集方法は別のページにまとめていきます。
テキストの修正
テキストを修正する場合は、テキストツールを選んでおいて修正したい文字の近くをクリックします。すると文字の横にカーソルが表示されて編集可能な状態になりますが、キャンバス上で編集したい文字の近くをクリックするのは意外に難しく、他のオブジェクトを選択したことになったりしてしまい、少々面倒な操作です。
そんなときは、テキストとフォントダイアログから修正するという方法があります。
テキストとフォントダイアログには、次のようなテキストタブがあって、ここに選択しているテキストオブジェクトのテキストがいわゆるテキストエディタ(例えばWindowsの場合のメモ帳)のように表示されているので、ここで修正し、適用ボタンを押せば、テキストオブジェクトのほうに反映されます。テキストエディタのように編集できるので、キャンバス上で直接編集するよりも少し楽かもしれません。
テキストのレイアウトの設定
次のようなレイアウトの設定がテキストツールのツールコントロールバーから可能です。
- 選択した部分またはテキスト全体の文字の間を指定したピクセルだけ空ける。
- 選択した部分またはテキスト全体のスペース文字の幅を指定したピクセルだけ大きくする。
- テキスト全体を左寄せ、中央寄せ、右寄せにする。
- テキスト全体を左端から右端に広がるようにする(流し込みテキストのみ)。
- 上付き文字、下付き文字にする。
- 行間の高さを指定する。
- 1行だけの通常テキストの選択した文字(またはカーソル位置より後ろのすべての文字)のカーニング(隣の文字との相対的な位置関係をずらす)を行う。Inkscapeでは、通常の水平方向のカーニングに加えて、垂直方向にずらすカーニングも可能。
- 1行だけの通常テキストの選択した文字(またはカーソル位置より後ろの1文字)を回転する。
- テキスト全体の書く方向(横書き、縦書き、横倒し)を変更する。

なお、通常のテキストではカーニング等の操作が可能かつ効果がありますが、自動折り返しテキストでは操作は可能ですが効果がありません。
文字単位の回転
テキストオブジェクト全体を(他のオブジェクトと同様に)回転させることはもちろん可能ですが、テキストオブジェクト特有の操作として、文字単位の回転があります。
回転させたい文字を選択しておいて、ツールコントロールバーの間隔と書かれているボタンを押すと、角度を指定するフィールドが現れます。

書く方向を横倒しにする
書く方向を横倒しにすることは、一見するとテキストオブジェクト全体を90度回転させることと同じなんじゃないの?という気がしますが、実際はテキストオブジェクト全体を横倒しにするのと違って、個々の文字を横倒しにすることで結果的に行も横倒しになるので、1文字単位に見れば同様に横倒しであっても文字の縦横比に違いがあったりします。
テキストにまつわるトラブル
めったに起こらないことだと思いますが、再発したときのためにここにメモしておきます。
「通常のテキストや自動折り返しテキストの入力と編集」や、「流し込みテキストの入力と編集」のほうで詳しく書いてありますが、テキストオブジェクトの周囲にはその入力領域(テキストボックス)の大きさを変更するためのハンドルが表示されるのですが、急にそのハンドルが表示されなくなってしまうというトラブルがありました。
いろいろ調べてみたところ、テキストツールの独自のスタイル(新規テキストオブジェクトに設定するスタイルとして環境設定ダイアログで設定したもの)の中に、テキストそれ自体とは関係なさそうなパラメータが紛れ込んでいて、それがどうやらハンドルの表示処理に影響しているようなのです。
環境設定ダイアログの設定内容を保存してあるファイル(preferences.xml)の中に例えば次のような行が格納されている場合があって、このstroke-miterlimitという名前のパラメータはストロークの角の形を指定するパラメータです。このパラメータはテキストそれ自体の表示とは関係ないはずなのですが、設定の変更を繰り返すうちに紛れ込んでしまったようです。
<eventcontext
id="text"…
style="…;stroke-miterlimit:5.9;…"
… />
このパラメータがどうやらテキストボックスのハンドルの表示に影響があるようです。このパラメータだけ直接テキストエディタで削除したら、ちゃんとテキストボックスのハンドルが表示されるようになりました。
どのスタイル属性の影響を受けるのかは正確にはわかっていないので、念のため、環境設定を初期化ボタンを押した直後のstyleの値をメモしておきます。
style="fill:black;fill-opacity:1;line-height:1.25;stroke:none;font-family:sans-serif;font-style:normal;font-weight:normal;font-size:40px;"