2015年1月7日水曜日

GIMP Script-Fu (1) 書き出す前に

GIMP の強力な味方、Script-Fu ですが、 私が触って見た感想も交えて、 幾つか書き残して置きたいと思います。
前置きとしては、 この前の投稿 GIMP Script-Fu って簡単? も、ご参照下さい。
では、いきなり、書いたり説明したりする前に、 やって置くべき事を。
何事も、準備と言うものが 必要 ですから。


GIMP Script-Fu って簡単? で示した、様々な 資料やサイト。
これに基づいて、実際に、書いて動かしてみても、上手く行かない場合があります。

そう、私は Windows 上の GIMP を使っています。  (Windows 7 です).
Script-Fu の Script を書くのに、 何も考えずに、 標準で付属するエディタ メモ帳 で試していました。
それが、なかなか、思った様に、動かないのですよね。
色々と調べて見ると、 Script-Fu は UTF-8 で BOM なし のエンコード が基本になっている と言う、記載を見掛けました。
でも、正式ドキュメントを見ても、チュートリアル・サイトを見ても、 明確に書いてある処は ありません。

そう、文字コード の問題です。
確か、Windows メモ帳 は、 UTF-8 は扱えますが、BOM あり になってしまいます。
Unicode & Unicode big endian は UTF-16 ですから、 これは駄目でしょうね。
ANSI で保存すれば、動くみたいですが、 漢字を上手くハンドリング出来なくなる との記載も見掛けました。
ANSI は 本来の ANSI ではなく、Shift_JIS (CodePage:932) を表しているそうです。

UTF-8 で BOM なし のエンコード つまり UTF-8N の扱える エディタ を用意するのが 第一歩 です。

さて、エディタを見付ける訳ですが、 UTF-8N の問題以外に、 標準で、拡張子を指定出来るものを選んで下さい。
メモ帳 でも そうですが、xxx.scm としたいのに、xxx.scm.txt と保存されていて、 Script として認識されない場面が頻発しました。
こうなると、訳分んなく なりますね。

では、参考迄に、私が選んだ エディタ は。
                                               何方か、これは と言うものがあれば、お教え下さい。
  TeraPad   シンプルなテキストエディタ  作者の 寺尾進 さまのサイト

ダウンロードリンクに .exe と .zip と 2種類ありますが、 プログラムとして登録するなら前者、単独利用なら後者、です。
設定は、
表示(V) > オプション(O) > 文字コード : UTF-8N 改行コード : LF
表示(V) > オプション(O) > 拡張子 ユーザー : *.scm;*.txt;*.htm;*.html
表示(V) > オプション(O) > フォルダ デフォルトフォルダ指定
に変更しました。
画面右下に、 UTF-8N LF と表示されるので、確認する癖を付けるといいでしょう。


そして、忘れてならないのが、 括弧 ( ) の 羅列
Script-Fu は 括弧だらけ のコードになります。  目が痛くなる位。
コマンドの一塊を両括弧で指定して、 コマンド内の各パラメータは 半角スペース で区切り ます。

学習の最初は、既成のコードを書き写す処から始められる方が多いと思いますが、
くれぐれも、コピーペースト時や記述時の 括弧 落とし には注意して下さい。
左右の括弧の数が揃っていないと、他の標準設定のスクリプトまで可笑しくなってしまいますから。

基本的に、改行は、実行とは無関係ですが、
コードの視認性を考えると、適切に改行しながら記述して行くと、分り易いコードになる様です。


最後に、スクリプトを書く上での、注意を。
他のプログラミング言語の感覚は忘れて 下さい。  関数型 もしくは 手続き型 の言語 です。
良く目にする、 Hello,  world  のパネルや文字を表示出来ないのです。
    (知識不足か? エラーやコンソールやコマンドラインでは表示可能)
パラメータを入力もしくは選択させて、処理を進める事になりますが、
例外が発生しない様に、パラメータの取る値の範囲に十分に注意して、スクリプトを組むべきなのでしょうね。

とても良いお手本 が皆さんの所にもあります。

C:¥Program Files (x86)¥GIMP-2.0¥share¥gimp¥2.0¥scripts に収められた標準添付スクリプトです。
但し、誤って書き換えてしまうと、正常動作に支障が生じる事もあり得ますので、
上書き保存せずに(書込み禁止にして)、ご覧になると とても 参考になると思います。



0 件のコメント:

コメントを投稿