Inkscape tutorial: 上級

bulia byak, buliabyak@users.sf.net and josh andler, scislac@users.sf.net

このチュートリアルはコピー/貼り付け、ノードの編集、フリーハンドおよびベジエ曲線、パス操作、ブーリアン演算、オフセット、簡略化、およびテキストツールについて解説しています。

Ctrl+矢印マウスホイール、または 中央ボタンを押しながらドラッグ を使ってページをスクロールすることができます。基本的なオブジェクトの作成、選択、変形については、ヘルプ > チュートリアル から基本チュートリアルをご覧ください。

貼り付けテクニック

あるオブジェクトをコピー (Ctrl+C) または切り取り (Ctrl+X) した後、通常の貼り付けコマンド (Ctrl+V) はマウスカーソルの下に、もしカーソルがウインドウの外にあればドキュメントウインドウの中心にオブジェクトを貼り付けます。ただし、クリップボードにあるオブジェクトはコピーしてきた元の位置を記憶しているので、同じ場所に貼り付け (Ctrl+Alt+V) でその位置に貼り付けることができます。

別のコマンド、スタイルを貼り付け (Shift+Ctrl+V) は、クリップボード内の (最初の) オブジェクトのスタイルを現在の選択オブジェクトに適用します。“スタイル”とは、フィル、ストローク、フォント設定のすべてですが、形状、サイズ、および星形の頂点数のようなシェイプタイプに固有のパラメーターは含まれません。

その他の貼り付けコマンドに サイズを貼り付け があり、選択オブジェクトのサイズをクリップボードオブジェクトのサイズ属性にあわせて拡大縮小します。サイズを貼り付けるコマンドには、サイズを貼り付け、幅を貼り付け、高さを貼り付け、サイズを個別に貼り付け、幅を個別に貼り付け、および高さを個別に貼り付けが用意されています。

サイズを貼り付け は選択オブジェクト全体をクリップボードオブジェクト全体のサイズにあわせて拡大縮小します。幅を貼り付け/高さを貼り付け は選択オブジェクト全体の幅/高さをクリップボードオブジェクトの幅/高さにあわせて拡大縮小します。これらコマンドは選択ツールコントロールバーの縦横比をロック (幅と高さの間にあるボタン) に拘束されます。すなわち、ロックされた場合は選択オブジェクトの幅と高さの比率は維持されつつ拡大縮小され、ロックされていなければ選択オブジェクトの幅と高さの比率は保証されません。“…を個別に貼り付け”と書かれたコマンドの動作は上記のコマンドと似ていますが、選択オブジェクトそれぞれを個別にクリップボードオブジェクトのサイズ/幅/高さにあわせて拡大縮小します。

クリップボードはシステムワイドです。異なる Inkscape インスタンス間や、Inkscape と他のアプリケーションとの間でオブジェクトのコピー/貼り付けが行えます (クリップボードで SVG を扱えるようになっていなければなりません)。

フリーハンド曲線と規則的なパス

任意の図形を作る最も簡単な方法は、鉛筆 (フリーハンド) ツール (F6) を使って描くことです:

An example image

もし、もっと規則的な線を描きたければ、ペン (ベジエ) ツール (Shift+F6) を使います:

An example image

With the Pen tool, each click creates a sharp node without any curve handles, so a series of clicks produces a sequence of straight line segments. click and drag creates a smooth Bezier node with two collinear opposite handles. Press Shift while dragging out a handle to rotate only one handle and fix the other. As usual, Ctrl limits the direction of either the current line segment or the Bezier handles to 15 degree increments. Pressing Enter finalizes the line, Esc cancels it. To cancel only the last segment of an unfinished line, press Backspace.

フリーハンドでもベジエでも、現在選択されているパスは両端に小さなアンカーが表示されます。これらのアンカーから、新しい線を作る代わりにパスの継続 (アンカーの一方から描画する) や、閉じる (一方のアンカーからもう一方に線を描く) こともできます。

パスの編集

シェイプツールで作られたシェイプと異なり、ペンツールと鉛筆ツールはパスを作ります。パスというのは一連の直線セグメントおよび/またはベジエ曲線からなっており、他の Inkscape オブジェクトと同様に任意のフィルとストローク属性を持つことができます。しかし、シェイプと異なりパスは (所定のハンドルのみならず) ノードをドラッグすることで自由に編集することができます。このパスを選択してノードツール (F2) に切り替えてみましょう:

An example image

いくつもの灰色で正方形の ノード がパスに上に見えるでしょう。これらノードは クリックShift+クリック、あるいはラバーバンドで ドラッグ して選択できます — オブジェクトは選択ツールによる場合と同じように選択されます。また、パスセグメントをクリックすると、自動的に隣接するノードが選択されます。選択されたノードはハイライト表示され、ノードから直線でつながれた 1 つもしくは 2 つの円形のノードハンドルが表示されます。! キーで現在のサブパス (1 個以上のノードが選択されたサブパス) 内で選択ノードを反転します。Alt+! でパス全体で反転します。

Paths are edited by dragging their nodes, node handles, or directly dragging a path segment. (Try to drag some nodes, handles, and path segments of the above path.) Ctrl works as usual to restrict movement and rotation. The arrow keys, Tab, [, ], <, > keys with their modifiers all work just as they do in selector, but apply to nodes instead of objects. You can add nodes anywhere on a path by either double clicking or by Ctrl+Alt+click at the desired location.

You can delete nodes with Del or Ctrl+Alt+click. When deleting nodes it will try to retain the shape of the path, if you desire for the handles of the adjacent nodes to be retracted (not retaining the shape) you can delete with Ctrl+Del. Additionally, you can duplicate (Shift+D) selected nodes. The path can be broken (Shift+B) at the selected nodes, or if you select two endnodes on one path, you can join them (Shift+J).

A node can be made cusp (Shift+C), which means its two handles can move independently at any angle to each other; smooth (Shift+S), which means its handles are always on the same straight line (collinear); symmetric (Shift+Y), which is the same as smooth, but the handles also have the same length; and auto-smooth (Shift+A), a special node that automatically adjusts the handles of the node and surrounding auto-smooth nodes to maintain a smooth curve. When you switch the type of node, you can preserve the position of one of the two handles by hovering your mouse over it, so that only the other handle is rotated/scaled to match.

また、ハンドルの上で Ctrl+クリック するとノードのハンドルを完全に引っ込めることができます。もし 2 つの近接するノードのハンドルが引っ込んでいると 2 つのノード間のパスセグメントは直線になります。ハンドルの引っ込んだノードからハンドルを引き出すにはノードから Shift+ドラッグ で行えます。

サブパスと結合

パスオブジェクトは 1 つ以上のサブパスを含んでいます。サブパスとは一連のノードが接続されたもののことです (もしパスが 1 つ以上のサブパスを持っている場合は、すべてのノードが連結している訳ではありません)。下の左図では 1 つの複合パスに 3 つのサブパスが属しています。右図は同じサブパスが 3 つの独立したパスオブジェクトになっています:

An example image

複合パスはグループとは違うことを覚えておいてください。複合パスは全体として選択できる一つのオブジェクトです。左図のオブジェクトを選択してノードツールに切り替えると、3 つのサブパスが表示されるのが分かるでしょう。右図を選択すると 1 度に 1 つのパスのノード編集しかできません。

Inkscape はパスを結合して複合パスにすることができます (Ctrl+K)。また、複合パスを分解して独立したパスにすることもできます (Shift+Ctrl+K)。上図の例にこれらのコマンドを試してみてください。1 つのオブジェクトは 1 つのフィルとストロークしか持てないため、複合パスは最初 (Z 軸順序で最背面) のオブジェクトのスタイルになります。

フィルが設定され、重なっているパスを結合すると、通常、重なっている部分のフィルが消えます:

An example image

これは、穴のあるオブジェクトを作る最も簡単な方法です。さらに強力なパスコマンドについては、後述の“ブーリアン演算”をご覧ください。

パスに変換

あらゆるシェイプやテキストオブジェクトはパスに変換 (Shift+Ctrl+C) することができます。この変換はオブジェクトの見た目は変化させずにオブジェクトの種類固有の情報を削除し (例えば、矩形の角を丸めたりテキストを編集することはできなくなります)、代わりに、ノードの編集が可能になります。ここに 2 つの星形があります。左はシェイプのままですが、右はパスに変換されています。ノードツールに切り替え、選択したときの編集性を比較してみましょう:

An example image

その上、どんなオブジェクトのストロークもパス (“輪郭”) に変換できます。下の最初のオブジェクトは元のパス (フィルなし、黒のストローク)、一方 2 番目のオブジェクトは“パスに変換”コマンドの結果 (フィルが黒でストロークなし) です:

An example image

ブーリアン演算

パスメニューにあるコマンドで、2 個以上のオブジェクトをブーリアン演算で結合することができます:

An example image

これらのコマンドのキーボードショートカットは代数演算とブーリアン演算に類似させて関連付けられています (統合は加法、差分は減法等)。差分排他コマンドは選択したオブジェクトが 2 つのときにのみ適用でき、その他は一度にいくつのオブジェクトを選択しても処理できます。結果は常に最背面のオブジェクトのスタイルを受け継ぎます。

排他の結果は統合 (上図を参照) の結果に似ていますが、排他は重なり合った部分にノードを追加するところが異なっています。分割パスをカットは、前者が下のオブジェクトのすべてを上のオブジェクトで切断するのに対し、後者はストロークのみを切断しフィルを取り除くところが異なります (フィルのないストロークをばらばらにするのに便利)。

インセットとアウトセット

Inkscape は拡大縮小だけではなくオブジェクトのパスをオフセットすることでも形状を拡張、収縮することができます。つまりパス上のすべての点を垂直方向に移動することができます。相当するコマンドはインセット (Ctrl+() とアウトセット (Ctrl+)) です。下の図は、元になるパス (赤) とそこからのいくつかのインセットとアウトセットを作成した例です:

An example image

普通のインセットアウトセットコマンドはパスを生成します (元のオブジェクトがパスになっていない場合にはパスに変換する)。ときには、ダイナミックオフセット (Ctrl+J) が便利です。ダイナミックオフセットはオフセットの距離を制御するためのドラッグできるハンドル (シェイプのハンドルに似ている) を備えたオブジェクトを作ります。下のオブジェクトを選択し、ノードツールに切り替えハンドルをドラッグして理解してみましょう:

An example image

このすばらしいダイナミックオフセットオブジェクトは元の形を覚えているので、何度オフセットの距離を変更しても形状が“なまる”ことがありません。変更可能な状態にしておく必要がなくなれば、このオフセットオブジェクトをいつでパスに変換することができます。

さらにもっと便利なのはリンクしたオフセットです。これはダイナミックオフセットの変更に似ていますが、他の編集可能なパスに結合しています。1 つの元になるパスに対していくつでもリンクしたオフセットを作成できます。下の元になる赤いパスにはフィルなしの黒いストロークと、ストロークなしの黒いフィルがあります。

赤いオブジェクトを選択してノード編集をしてみましょう。どのように両方のリンクしたオフセットが変化するか見てください。そして、オフセットオブジェクトを選択しオフセット値を変化させるハンドルをドラッグしてください。最後に、元のオブジェクトを変形したときに、リンクしているオブジェクトがどのように動いたか、どうやれば元のオブジェクトとの結合を切らさずにオフセットオブジェクトを独立して変形、移動できるかに注目してください。

An example image

簡略化

パスの簡略化コマンドの (Ctrl+L) の主な利用方法は、形状をほぼ維持しつつパスのノード数を減らすことです。これは鉛筆ツールで作成したパスに有効です。なぜなら鉛筆ツールは時に必要以上のノードを生成するからです。下の左の図はフリーハンドツールで作成したもの、右のパスは左のパスをコピーして簡略化したものです。元のパスは 28 ノードありますが、簡略化した方は 17 ノードでより滑らかになっています (これはノードツールでの作業が楽になることを意味しています)。

An example image

簡略化の度合い (しきい値と呼ばれる) は選択オブジェクトの大きさに依存します。つまり、もし大きいオブジェクトに沿ったパスを選択したら、それは一つのパスを選択した場合より積極的に簡略化しなくてはならないと言うことです。さらに、簡略化コマンドは加速します。 もし Ctrl+L を何回も連続して押したら (各呼び出しの間隔が 0.5 秒以内になるくらい)、しきい値は呼び出しごとに大きくなります (一度休んだあとに次の呼び出しをするとしきい値は既定の値にもどります)。加速することで、個々の場合に応じて必要な量の簡略化を簡単に適用できます。

フリーハンド曲線を滑らかにする他に、簡略化は様々な創造的効果として使うことができます。時として、ある程度の簡略化は硬い幾何学的な元の形状の角をなめらかすることで自然な歪みを加え、生物的な印象を生み出す効果を与えます。ときにそれはスタイリッシュであり、ときにそれは面白味を帯びます。以下はクリップアートの見た目が簡略化によってよくなった例です:

An example image

テキストの作成

Inkscape は長くて複雑なテキストを作成できますが、見出し、バナー、ロゴ、図表、注釈その他の小さなオブジェクトを作るのにも非常に便利です。この章ではとても基本的な Inkscape のテキスト機能について紹介します。

テキストオブジェクトの作成は簡単です。テキストツールに切り替え (F8)、ドキュメントのどこかをクリックしてテキストを打ち込むだけです。フォントファミリ、スタイル、サイズ、位置揃えの変更にはテキストとフォントダイアログ (Shift+Ctrl+T) を開きます。このダイアログにはテキスト入力タブがあり、選択したオブジェクトのテキストを変更できます。これはキャンバス上で直接編集を行うより便利な場合があります (特に、このタブはスペルチェック機能をもっています)。

他のツールと同様に、テキストツールは“テキストオブジェクト”を選択することができるので、既存のテキストオブジェクトを選択しカーソルを置くことができます (この段落のように)。

テキストデザインでもっとも一般的な操作は文字間と行間を調節することです。いつものように Inkscape はショートカットを用意しています。テキストを編集するとき、Alt+<Alt+> キーでテキストオブジェクトの現在の行の文字間隔を変更し、文字列の全長は現在のズームレベル上での 1 ピクセル分ずつ変更されます (選択ツールが同じキーでピクセル単位でオブジェクトを拡大縮小するのと比べてみてください)。一般的に、もしテキストオブジェクトのフォントサイズがデフォルトより大きい場合には、文字間隔はデフォルトより少し狭めた方がいい感じになります。例を示します:

An example image

文字間隔を狭めると見出し用にはちょっと良くなったようですが、まだ完璧ではありません。文字間隔が均一なのです。例えば“a”と“t”の間は離れ過ぎているし、“t”と“i”の間は狭すぎます。このようなまずい文字間隔は (特に大きなフォントサイズにおいて) 低品位のフォントで大きく、高品位のフォントでは小さくなります。しかし、おそらくどんなフォントのどんな文字列にも、カーニングの調整をすると良くなる文字の組み合わせというがあるでしょう。

Inkscape はこの調節を実に簡単に実行します。カーソルを気に入らない文字の間に移動して Alt+矢印キーでカーソルの右側の文字を動かすだけです。また同じ見出しを見てみましょう。今度は手作業で文字の位置が均等になるように調整したものです:

An example image

加えて、 Alt+左Alt+右 キーで文字を水平方向にシフトでき、Alt+上Alt+下 キーで垂直方向にシフトすることもできます。

An example image

もちろん、テキストをパスに変換 (Shift+Ctrl+C) して、パスとして動かすことも可能です。しかし、テキストはテキストのままで編集可能にしておく方がより便利です。カーニングの削除や文字間の調整を施していないさまざまなフォントで試してみると、テキストは保存ファイルがとても小さくなるのがわかります。テキストをテキストのままにしておくことの唯一の欠点は、SVG ドキュメントを開くあらゆるシステムにオリジナルのフォントをインストールしておく必要があるということです。

文字間隔の調節と似て、複数行のテキストオブジェクトの行間の調節も行うことができます。 Ctrl+Alt+<Ctrl+Alt+> キーでチュートリアル中のどの段落の高さでも現在のズームレベルで 1 ピクセルごとに調整できることを試してみましょう。選択ツールと同様、Shift を押すことで調整のショートカットも 10 倍の値で変化します。

XML エディター

Inkscape における究極の強力なツールは XML エディター (Shift+Ctrl+X) です。XML エディターはドキュメントの XML ツリー全体を表示し、現在の状態が常に反映され、絵を編集して、相当する XML ツリーの変化を見ることができます。さらに、XML エディター上で、テキスト、要素、属性ノードを編集してキャンバスでその結果を確認することもできます。これは SVG を対話的に学ぶための想像しうる最高のツールであり、通常の編集ツールではできないワザを使うこともできます。

最後に

このチュートリアルは Inkscape の機能のごく一部についてのみ紹介しています。このチュートリアルを楽しんでいただけたなら幸いです。実験することを恐れず、作り出したものは共有しましょう。www.inkscape.org を訪れてより多くの情報と、最新のバージョン、ユーザーと開発者からのヘルプに触れてみてください。