4. Version 2.0
| 付録A GIMPの歴史 |

## 4. Version 2.0

まずは分析から–GIMPのコードは C で書かれた基コードが 23 万行あり、 そのほとんどが 1.2 から 2.0 への進化のために書き直されました。 しかしユーザーの視点から見れば GIMP 2 は基本的に GIMP 1から何も変わっていません。 機能は GIMP 1 ユーザーが迷わないよう徹底して同じ物にしました。 構造改革の方針として開発者はユーザーに見えないところでコードを大幅に整理し、 管理がし易く将来に渡って機能追加に伴う労力を減らすための投資的改造を施しました。 このように、 GIMP 2 の基コードは重点的に GIMP 1 に比べてもっと優れた構成になり、 より管理がゆきとどくものに変えられています。

基本のツール群

  GIMP 2 の基本のツールは GIMP 1 からあったものとあまり違いがありません。 色域選択ツールがツールボックスに加わりましたが、 これは GIMP 1 で選択ツールのメニューオプションとして既にあった機能です。 変換ツールは回転、 拡大・縮小、 剪断変形、 遠近法の各ツールに分かれて特化しました。 色操作は今回レイヤーと結びつけられて、 レイヤー → 色 のメニューに入れられましたが、 これは単なる整理です。 いずれも実際はレイヤーを操作するものなのに不合理にもこれまでは画像メニューに入っていました。 以上、 完璧に目新しいツールは今回の公開にはありませんが、 テキストツールとパスツールの 2 種類のツールが以前のバージョンからすっかり模様替えしました。 これらについては後述します。

  ツールのユーザーインターフェースも重大な変更が加えられました。 「ツールオプション」ダイアログは別のツールを選ぶたびにボックスの大きさが変わってしまわないよう変更されています。 ツールを切り替えるとウィンドウが大きさを変えてしまうので、 うんざりさせられたユーザーが大勢いました。 今では「ツールオプション」ダイアログは初期設定の場合ずっと開いたままツールボックスに連接が可能となり、 すぐに見付け易くなっています。

ツールオプション

  多くのツールのツールオプションで GIMP 1 には無かった能力が新たに加わりました。 留まるところなくさらに顕著に改良が加えられています。

  すべての選択ツールに置換、 追加、 除外、 交わりのモードボタンが付きました。 かつて GIMP 1 では選択ツールのモードを切り替える手段は Ctrl キーもしくは Shift キーとの組み合わせしかなく、 これらのキーが他の機能でも使われていたために混乱のもととなっていました。 具体的には例えば矩形選択ツールで正方形を形づくらせるには、 Shift キーを押しながら操作することになっています。 これだと[既にある選択範囲に]正方形の選択範囲を加えるためには、 まず Shift キーを押してクリックしたら Shift キーを放し、 再び Shift キーを押してそのままマウスポインターでなぞって選択範囲を作ってから Shift キーを放すという手順を踏むことになります。 同じことがこのボタンで簡単にできるようになったのです。

  変換ツールでは変換対象のオブジェクトをレイヤーか選択範囲かパスのどれにするのかをボタンで制御できます。 これで例えば矩形選択の範囲をいろいろな四辺形に変形できます。 パスの変形はとくに以前よりもずっと簡単になりました。

  「フェードアウト」と「グラデーションで描画」が描画ツールのオプションに加わりました。 描画ツールで使うブラシ、 グラデーション、 パターンは GIMP 1 でこれまで全ツールに共通した設定しかできなかったのとは対照的に、 個々の描画ツールごとに異なる設定を保持できるようになりました。 もうこれからは「鉛筆で描画」ツールと「ブラシで描画」ツールで異なるブラシが選べるようになりますし、 「スタンプ」ツールと「塗りつぶし」ツールで違うパターンを選べるようになります。 これらの設定項目はそのボタン上でマウスホイールをまわしても順に切り替えられるようになり、 ブラシを格段に手早く簡単につけかえられるのでとても便利になりました。

ユーザーインターフェース

  GIMP 2 で最も目につく変化がユーザーインターフェースです。 GIMPは今回GTK+に代わってGTK2+グラフィカルツールキットを採用しました。 ライブラリーの入れ替えに伴いドッキング可能なダイアログと、 同じウィンドウでのタブ化ドッキングという素敵な機能が加わりました。 タブ化は人気のある各種のウェブブラウザーで実現している機能です。 GIMP 1 はダイアログをコンピューター画面上であたり構わず開くということで有名になっていました。 この点 GIMP 2 は定位置の枠に入るよう躾けられます。 ダイアログには小さなタブ調整メニューがつき、 系統だった作業空間を最大限柔軟に構築できます。

  画像ウィンドウには新たに面白い機能がつきました。 初期設定では必ずしも有効にしなくても構いませんが、 「環境設定」ダイアログの ユーザーインターフェース → 画像ウィンドウ のページにあるオプションです。 例えば「ブラシの輪郭を表示」オプションは描画ツールを使っているときブラシの輪郭をポインターの代わりに表示できます。 「外観」サブセクションでは画像ウィンドウの最上部のメニューバーを表示するかどうかを切り替えられます。 新たにフルスクリーンオプションがつき全画面で作業できるようになりました。 表示のオプションは画像ウィンドウを 第2ボタン でクリックすると出てくるメニューの 表示 サブメニューからも操作できるようになりました。 いわゆる画像ウィンドウメニューは描画空間の左上隅の小さな三角形アイコンボタンをクリックしても呼び出せるようになりました。 「環境設定」ダイアログで選んだ設定は初期値 (デフォルト) として扱われ、 画像ウィンドウメニューから設定した同じオプションはそのウィンドウでのみ有効となります。 (フルスクリーンモードへの切り替えは F11 キーを使い、 通常ウィンドウに戻すには Esc キーを使います。)

  GIMP 2 からキーボードアクセラレーター機能がついたのでメニュー操作が楽になりました。 マウスでメニューを辿るのが煩わしいとお感じならば、 キーボードを使う方法が近道かもしれません。 一例を挙げれば、 メニューバーがある場合なら新しい画像を生成するには Alt、 F、 N の順にタイプしてゆきます。 メニューバーが無い場合はキーボードショートカット Shift+F10 で左上からメニューを開き、 あとは方向キーを使ってメニュー操作するか、 F、 N の順にタイプしても「新しい画像を作成」ダイアログが呼び出せます。

  GIMPはいつも使うメニュー項目を簡単に呼び出せるように長年に渡り動的ショートカットを提供してきました。 これは、 メニューを開いてから使いたいメニュー項目の上にマウスポインターをかざし、 割り当てたいキーの組み合わせを押すだけでキーボードショートカットが登録できるしくみです。 この機能はひきつづき置かれますが、 既にあるショートカットを不意に上書きすることのないよう GIMP 2.0 以降は初期状態では無効の設定となります。

  GIMPは出荷時からメニュー上の数々の項目にキー割り付けがしてあります。 しかしキー割り付けを出荷時設定ではなく例えば Photoshop 風に変更したい場合は、 個人用GIMPディレクトリーの `menurc` ファイルを `oldmenurc` のような名前に変えて、 代わりに `ps-menurc` ファイルを `menurc` の名前に変更もしくは複製してからGIMPを再起動します。

タブやドックで整理

  GIMP 2.0 からタブ化ダイアログが導入され、 みんなが望んでいた作業空間の視界が手に入りました。 ほとんどのダイアログは他のダイアログのウィンドウ上までドラッグして放つとタブ化したダイアログの組み合わせになります。

  さらにはそれぞれのダイアログの底部にもドッキング可能な連接部分がついていて、 タブはここまでドラッグして放てばダイアログの下につながったタブになります。

スクリプト機能

  「Python-Fu」が今回から GIMP 2 標準の外部的なスクリプトインターフェースになりました。 つまり Python 言語で書かれたスクリプトでGIMPの機能が使えるようになります。 逆に見ればGIMPプラグインを書くために Python が使えるのです。 Python なら初心者にとっても、 とりわけ GIMP 1 で Script-Fu を書くために Lisp 風の Scheme 言語を理解するのに比べれば判り易いはずです。 Python 結合の面では共通制御のクラス群で増設が図られたので、 基本機能を実行するのにGIMPのプロシージャーデータベースを隅々まで探す必要がありません。 しかも Python には統合開発環境や大規模なライブラリーがついていますし、 Linux™ どころか Microsoft Windows™ や Apple Mac OS X™ 上でさえ動作できます。 GIMP 2.0 で最大の欠点は Python-Fu で使っているユーザーインターフェースが Python 言語の能力を完全には活かしきれていないことです。 現在のインターフェースの設計は単純なスクリプトのサポートにとどまっていますが、 今後の開発ではもっと精巧な版にするのが目標です。

  GIMP-Perlは GIMP 2 標準の配布物に含まれなくなりましたが、 別パッケージとして導入可能です。 現在GIMP-Perlは UNIX™ システム風のオペレーティングシステムでのみサポートされています。 その中身は簡単なスクリプト言語と、 GTK2-Perl モジュールを使うさらに洗練されたインターフェースをコード化する能力です。 PDL (Perl Data Language) を利用してゆけば画素の直接操作が可能です。

  Script-Fu は「Scheme」の派生であることもあり、 直観的でなく、 使いにくくまた本物の開発環境が欠けているかねてからの欠点がいまだにあります。 でも一点だけ Python-Fu に比べて大きな利点があります。 Script-Fu スクリプトはGIMPが直接解釈するので追加でソフトウェアを導入する必要がないのです。 Python-Fu は Python 言語のパッケージの導入が欠かせません。

テキストツール

  GIMP 1 の標準テキストツールの重大問題はテキストをいったん描画させると変更できなくなることでした。 テキストに何か変更を加えたいときは「取り消し」てから加工し直すしか方法がありません。 (もちろん操作履歴にそこまで遡れる余裕がある幸運が必要ですし、 この方法はテキストを置いてから今までに行なった他の作業も取り消してしまいます。) GIMP 1.2 では「ダイナミックテキスト」プラグインもあり、 特殊なテキストレイヤーを作成でき、 変更フォームを使って決め打ちせずに保持できるしくみになっていましたが、 不具合があり扱いに困りました。 この第二世代のテキストツールはかつてのテキストツールとダイナミックテキストプラグインとの発展的融合です。 フォント、 大きさ、 色、 揃え位置、 アンチエイリアス、 字下げ、 文字間隔のすべての「ツールオプション」が利用可能になりました。 新たなテキスト項目を作成するときは画像をクリックすれば小さな編集ウィンドウが現われます。 ここでタイプした文字が同時に画像上にも表示されます。 (しかも改行キーが正しく扱われています。) テキスト用に新たなレイヤーが作成されます。 このレイヤーは記入されたテキストに応じて大きさを自動的に変化します。 ファイルから素のテキストを転用したり、 アラビア語のように右から左への書き方さえもできます。 テキストレイヤーを選択すると編集ウィンドウが開かれその文章を変更できます。

パスツール

  第二世代のパスツールは全く新しいインターフェースをもっています。 はじめに目につく大きな違いは必ずしもパスを閉じなくてもよくなったことです。 パスが途切れ途切れの曲線成分で構成できます。 つぎに大きな違いはパスツールが作成、 編集、 移動の 3 つのモード間を切り替えて使うようになったことです。

  作成モードではパスを生成してノード (アンカー) を加え、 曲線の縁 (分節) をドラッグしたりノード曲線の「ハンドル」をドラッグしたりして曲線の形を変更します。

  編集モードでは曲線を変形できるのはもちろんノードを曲線の分節の途中に追加したり、 ノードや分節を削除したりも可能です。 また離れた 2 本の成分をつなぎあわせることもできます。

  3 つめに挙げた移動モードは名前のとおりパス成分を移動します。 パスの成分がいくつかあるときは個別にパス成分を移動できます。 一挙にすべての成分を移動したいときは Shift を押しながら操作を行ないます。

  他にも 2 つのパス関連の機能が GIMP 2.0 に加わりました。 GIMPはSVG画像をラスター画像に転用できるだけでなく、 SVGのパスからGIMPのパスへと内容を損わず移せます。 つまりいよいよGIMPがお好みのベクター描画ツールの補助ツール以上のはたらきができるようになったことを意味します。 もうひとつの機能はベクトル指向の描線の導入であり、 パスツールをさらに向上させるものとなります。 以前の版ではパスや選択範囲の「境界線を描画」とはパスなどに沿ってブラシでなぞって描くという内容でした。 このモードもひきつづき利用できますが、 パスの曲線は今後 libart を使った精密な描線もできます。

その他の改良点

  その他のいろいろな改良点を簡潔に挙げます。

  - 各所で高品質なアンチエイリアス処理。 テキストツールでは最も顕著に。

  - アイコンやメニューが着せ替え可能に。 自作のアイコン集は「環境設定」ダイアログの「ユーザーインターフェース」のページのオプションを設定すればツールボックスで利用可能に。 配布物に「small」アイコンを標準添付。

  - 画像をテンプレートとして保存すれば新規画像の生成に利用可能。

  - 下側のレイヤーに合成する上側のレイヤーのモードに、 「ハードライト」、 「ソフトライト」、 「微粒取り出し」、 「微粒結合」の 4 つの新たなモードが登場。

  - 現在活性化している選択範囲を利用し、 選択範囲が収まる大きさに画像を直接切り抜く機能。 画像 → 切り抜き

  - ガイドに加えてグリッドの機能が利用可能に。 ガイド機能の補完として使え、 オブジェクトを完璧に整列させるのが容易に。

  - レイヤーダイアログではかつて一覧表に表示される小さな画像を 第2ボタン でクリックするしか呼び出す方法がなかった隠し機能が全廃され、 より一貫性をもつものに。 画像ウィンドウのレイヤーメニューからも直接にレイヤーマスク、 透明部分、 変形、 レイヤーの色の操作が可能に。

  - ディスプレイフィルターが画像ウィンドウのメニューに登場 (表示 → ディスプレイフィルター...)。 これを使うと画像を変更することなくガンマ値やコントラストを別の値にしてみたり色覚異常を想定した仮想的な表示が可能に。 実はこの機能は長らくGIMP開発版でのみ利用可能だったが今までの安定版GIMPに登場させるには安定度が足りなかった。

  - 色選択ダイアログに新たにCMYKモードが登場、 タブはプリンターアイコン。

  - JPEGファイルの読み込み、 書き込みのモードでデジタルカメラが埋め込む Exif タグのデータを取り扱い。

  - MNGアニメーションをサポート。 MNGとはアニメーション可能なPNGの一形式。 PNGはGIFに比べ、 色数の多さ、 256 階調の透明度、 そしてとりわけ特許の呪縛がないなどすべての面において有利。 ウェブ標準の形式であり最近の人気のあるウェブブラウザーならどれもサポート有り。

  - GIMPアニメーションパッケージ (GAP) にオニオンスキン効果、 ブルースクリーン機能、 さらには音響サポートが加わった。

  - かつて追加パッケージにあったチャンネルミキサーフィルターが加わり、 置き場所はウェブフィルターから フィルター → 色 サブメニュー内に移動。

3. 世界を変えた一品 |  | 5. GIMP 2.2 の新機能