雑記帳

ここの更新は更新記録のページには記載していないことが多々あります。よろしく。

各見出し部分に各記事へのリンクを表示するようにしましたので必要な方はご利用ください。

GIMP用画像ローダー作成計画 その2

この記事へのリンク

Mac用GIMP.appでクラッシュすることが判明。Macports版GIMPでは大丈夫(というかこっちで動作確認してたので)。

調べてみると、スクリプト1行目のパスが原因の模様。参考にしたPython を使用して GIMP 用のプラグインを作成するの通り、#!/usr/bin/pythonとしてたのを、他に参考にしたものが全て#!/usr/bin/env pythonだったので、そちらにしたらMac用GIMP.appでも動作した。

ところで、起動時にダイアログを出してオプションを選択してもらうためにどうしたらいいか、よくわからないでいる。既存画像に処理をするような普通のプラグインスクリプトであれば、入力パラメーターを設定してあれば起動時にダイアログが出る。画像の読み込み系のプラグインスクリプトでは filename と raw-filename が必須のようだが(入力パラメーターが最低2つないとGIMPの起動時に「標準のつくりになってない」とはねられてしまう)、読み込みファイルの選択のあとスクリプトが呼ばれるので、入力パラメーターが2つの時はダイアログが開くことはない。ここで3つ目のパラメータを設定してもダイアログは開かない。パラメーターを4つにしたらやっとダイアログが開いた。ただし表示されたのは4つめからで3つ目のパラメーターは無視された形だ。3つ目は何か決まった役割があるパラメーターなのだろうか。

ということで、とりあえずダイアログを出せるようになったので、PIX、GLMに続いて、オプション指定付きでGLXローダー完成。ただ、Linuxでの挙動がおかしい。4つ目のパラメーターも無視される。

Mac用GIMP.appでのダイアログ
Mac用GIMP.appでのダイアログ。
UbuntuのGIMPでのダイアログ
UbuntuのGIMPでのダイアログ。4つ目のパラメーターが無視される。

謎だ……。

GIMP用画像ローダー作成計画

この記事へのリンク

気がつくとX68用画像(というか国産画像フォーマット)を現在のMacで表示するソフトがないわけですよ。いや、だいぶ前からそうなんですけどね。それで、Python-fuあたりを使ったらGIMPで読めるようにならんかな、と思って作り始めてみました。

手始めにベタ(非圧縮)画像データからやってみようとPIXに挑戦。SX-WINDOW用の16色画像フォーマットです。わからないことだらけで手こずりましたが、なんとかできたようなので別ページで公開します。最終的にはPICやPIが読めるようになればいいなあ。

恵方巻

この記事へのリンク

会社帰りに駅前の百貨店やスーパーに寄ってみるとまだまだ山盛りで売ってましたよ恵方巻。その中から安くなってるのを見つくろって買いました。定価580円のところ218円。ハンバーグ巻きというイロモノのせいもあるでしょうが、半額以下です。で、味の方はというと、結構おいしかったですよ。でもやっぱりハンバーグは熱々の方がいいと思う...。

Inkscape 0.92

この記事へのリンク

ようやく起動できたのでメモ。

Inkscape 0.92はMacでは現在のところMacports版しか存在しません。インストールはできたものの、そのまま起動させても「内部エラー」で起動できません。0.91ではMacports版はターミナルから LANG=ja_JP inkscape とすれば起動したのですが、同じようにしても「内部エラー」が出て起動しませんでした。

それで、Inkscapeの設定ファイルを削除してみたところ、ようやく起動しました。ちなみに設定ファイルは ~/.config/inkscape/ にあります。

ストロークのスタイル さて、エッジを尖らせろ!で触れたpaint-order属性ですが、「ストロークのスタイル」に設定するところができています。 「マーカー」「ストローク」「フィル」の重なる順を6通りから選ぶようになっています。アイコンを見ればどれが上になるのか一目瞭然で使いやすいと思います。

また、お蔵出しで触れた「GIMP XCF・レイヤー保持(*.xcf)」は、非ascii文字のレイヤー名でもエラーが出なくなってます。

オブジェクトリスト このほか、オブジェクトのリストができました。従来GUI上からはレイヤー単位でしか変えられなかったブレンドモードが、これでオブジェクトごとに変えられるようになり、ブレンドモードの種類も増えています。

「メッシュグラデーション」が実装されました。オブジェクトの外縁4か所に色を指定してグラデーションを作る機能です。

「セレクションセット」というものが追加されました。オブジェクトを登録しておけば、ワンタッチでそのオブジェクトが選択状態になります。オブジェクト数が多い作品の時に活用できるかも。

縦書きがサポートされました。拗音・促音・句読点などの位置も自然です。ascii文字も1文字ずつ縦向きになります。

ほかにも色々新機能があるようです。詳しくはリリースノートを。まだ英語版しかないけど。

お蔵出し

この記事へのリンク

「お蔵出し」というほど大層なものでもないですが、線画のまま放ったらかしの絵があったので放出。
靴下を履こうとしているねこみみさん
塗り絵のページにPSDファイルやらを置いてますので興味のある方はご利用ください。

さて、放ったらかしにしてた理由は、まあ、なんとなく線が固いように思えたからでしょうか。この辺は色を塗ると感じが変わったりする部分ではあるのですが。

この絵は例によってInkscapeで線画を作成していたのですが、ビットマップに書き出すのに今回は「PNG画像にエクスポート」ではなく、「保存」のファイルフォーマットの中から「GIMP XCF・レイヤー保持(*.xcf)」を使ってみました。で、これを使うのは初めてなので、ダミーデータを作ってテスト出力してみたらエラーが出るんですよね。(Inkscapeのバージョンは0.91、環境はMacOS Sierra 10.12.2)

UnicodeDecodeError: 'ascii' codec can't decode byte 0xe3 in position 776: ordinal not in range(128)

これがエラーメッセージの最後の部分ですが、検索すると、どうやら日本語部分(というか非ASCII文字の部分)でコケていることがわかります。InkscapeのSVGデータの中で非ASCII文字が含まれる部分はどこかというと——

まず、レイヤー名ですが、日本語環境だとファイルを新規作成した時点で最初のレイヤーが「レイヤー 1」と非ASCII文字になっています。つまり最初からSVGデータ内に非ASCII文字が含まれています。

次にファイル名。Inkscapeはファイル名をSVGデータ内に記録します。パスはSVGデータ内には記録しません。

最後にメタデータですが、これは意図して記入しない限り、SVGデータ内に記録されることはありません。

このうちXCF出力でエラーが出るのは、レイヤー名に非ASCII文字がある場合です。ファイル名やメタデータは影響ありませんでした。ほかにも各オブジェクトにタイトルを入れられるのですが、これも影響なし。(ファイル名・パス名についてはWindowsでは関係するかも)

ということで、レイヤー名が影響していることがわかったので、名前を変更して無事出力完了。