Tuxpaintは,Bill Kendrick さんが開発している,子供向けお絵描きソフトウェアです.シンプルな操作,可愛らしいイラスト,ペンギンのTux君によるガイド,豊富なエフェクトや多彩なサウンドなど,楽しさ満載のソフトです.
数多くのプラットフォームに対応しており,現在のところ,Windows, Mac OS X, Linux, FreeBSD, NetBSD, Be OS などでの動作が確認されているようです.
自作のイラストや音声で,かんたんにスタンプを追加して楽しめるのも大きなウリのひとつです.
日本語化など,多少開発に係わったので,その記録と Tips などを掲載するとともに,パッケージの提供を行なっていきたいと思います.本家でもパッケージの提供が行なわれていますが,日本語関係の部分などは多少改善されていることもあるかもしれません
ここでは TuxPaint 用の日本語翻訳ファイルを作って開発者に提供しています.また,本家で配布しているスタンプパッケージの日本語訳も作っています.(スクリーンショット)
訳にいちゃもんつけてくれる方大歓迎,随時アップデートしていきます.
あと、「ひらがなスタンプ」なんかもあります。
Linux環境で日本語表示するためには,$PREFIX/share/tuxpaint/fonts/locale ディレクトリに,ja.ttf という名前の適当な日本語 TrueType フォント(または,フォントへのシンボリックリンク)が存在する必要があります.Windows ユーザーの方は,こちらをご覧下さい.
以下,時系列記録です.
RedHat-8.0 で,libpng のバージョン不整合エラーが出て,絵の保存が出来ないという声がちらほら. 手元ではそんな症状は出ていなかったが,ダウンロードしてあったSDL本家の binary rpm ( SDL_image-1.2.2-1.i686.rpm ) を試すと,症状が再現した. ちょっと調べてみたら以下のような感じ.
$ rpm2cpio SDL_image-1.2.2-1.i686.rpm | cpio -id
120 blocks
$ ldd ./usr/lib/libSDL_image-1.2.so.0 | grep libpng
libpng.so.2 => /usr/lib/libpng.so.2 (0x4010a000)
$ rpm -qf /usr/lib/libpng.so.2
libpng10-1.0.13-6
$ rpm -qf /usr/include/png.h
libpng-devel-1.2.2-8
つまり,version 1.2 の png.h を使ってコンパイルされて,version 1.0 の libpng がリンクされている SDL_image を使って起動するので,当然おかしくなるというわけ.
最新の SDL ではどうかと,SDL_image-1.2.3-1.i686.rpm を見てみると,なーんと,libpng, libjpeg などがリンクされていない.単なるミス?? tuxpaint の Makefile では, linux の場合 libpng が SDL_image にリンクされていることを想定しているので,これでは build すらできません.
まあ,どちらにせよ,RedHat お仕着せの SDL 以外を使いたい場合は,自分で build しなくちゃならないということ.で,早速 src.rpm を rpmbuild --rebuild して,SDL を全て置き換えると,今度は tuxpaint がまともに動作しない.むむぅ….
RedHatのオフィシャルパッケージをつぶさに調べて,SDL本体に当てられているパッチが効いていることが判明.これが当たるようにパッケージを作り直すと,最新のSDLで問題なく動作するようになった.
現状ではテキストツールでの日本語入力ができない(SDL_ttfの制約)ため,ひらがなのスタンプを作ってみました.kochi-gothicフォントとgimpを使って作成しています.音声ファイルもつければ,結構教育的かも.
ここからダウンロードして,/usr/share/tuxpaint/stamps 以下か $HOME/.tuxpaint/stamps 以下に展開してください.
0.9.10では word-wrapping の実装が変わり,日本語や韓国語,中国語などではenbugになってしまってます.ここで配布しているRPMパッケージでは,この3カ国語については,従来の単純な折り返し方式を用いるように変更してあります.(パッチはこちら)
windowsでの文字化けは相変わらずです.patchがcvsに反映されたので,次版では直るはず.
windowsで文字化けの件を調査.現象は stamp のテキストは大丈夫だけど,その他のダイアログ等が全滅.両者の違いは gettext()を経由しているかどうか.stamp は utfで書かれたテキストをそのままSDL_ttf に渡しているので,おそらく gettext()が返す文字コードが windows 版ではおかしいのだろう.んで,さらに調査し,環境変数 OUTPUT_CHARSETにja_JP.UTF-8を指定すれば良いことが判明.(情報源:gettextメモ)
C:\Program Files\Tuxpaint> set OUTPUT_CHARSET=ja_JP.UTF-8
C:\Program Files\Tuxpaint> tuxpaint
windowsでもう一点.上記のようにして日本語表示はできるようになるが,システムフォントでは表示が汚い.好きなフォントを `\\Program Files\TuxPaint\data\fonts\locale\' 以下に,`ja.ttf' という名前でコピーすべし
思い立ってwindows版バイナリをWindows98にインストールしてみたら,ありゃ,化けますねえ.Windowsな人はとりあえず --lang english しないと.Windowsでのlocaleの取扱に詳しい方がおられましたら情報をお待ちしております.
Ver. 0.9.9がリリースされました.NetBSDで文字化けの件に関連して,locale の判断ルーチンが改善されてます.また,800x600 サポートは コマンドラインオプションになりました.本家でもRPMが随時提供されるようになったこともあり,このページでのパッケージの提供は意味がなくなりました.自分用に作るRedHat-8.0(i686)用と,最も汎用的と思われるRedHat-6.2(i386)用のみ,引続き最新版をアップロードします.
0.9.8 と 新しいスタンプのパッケージを作りました。スタンプの方は若干の不具合と訳を修正しています。次のスタンプのリリースでは本家に反映されます
日本語対応の Ver. 0.9.7 が Release されました.また,次のバージョン(0.9.8) では,オリジナルスタンプに日本語テキスト(UTF-8)がつけられるようになったそうです.0.9.7 に含まれる ja.po 中のスタンプの翻訳は,0.9.8 で削られ,tuxpaint-stamps パッケージに移されます.
っと書いたと思ったら,もうでました.スタンプのUTF対応に伴うアップデート(tuxpaint-stamps-2003.01.28)も出てます.日本語テキストも移植されてます.160個強のファイルに読めもしない UTF-8 な日本語を英語環境でコピーペースト.本当は私がやらなくちゃいけないんだけど….チェックしてねと言われたのでこれからチェックしますが,それにしても,早いっ,早すぎる.
sdl-fan ML で,NetBSDな環境で完全に文字化けしてしまうという情報をいただきました.手元では redhat系 (redhat, Vine)でのみ確認していますので,他の環境で検証された方はぜひ情報を下さい.
NetBSDに加えてkondaraでも化けるという報告があり(どうやら違う現象のよう),現在悩み中 → (2003/01/28) うーん,Kondara 入れてみたけど化けませんねぇ.NetBSDの件は,localeの判断ルーチンに改善の必要がありそうです.→ (2003/02/01) Ver. 0.9.9 で改善された模様.
引続き,いろんな環境での動作報告をお待ちしております.
作者にパッチを送ったら,10日もたたずに取りこまれてしまいました.
コンパイルオプションに -DSVGA を加えるだけで OK になってます.Makefile の71 行目あたり,CFLAGS マクロに -DSVGA を追加してください.
起動画面やサムネイルなど,私のパッチでははしょっていた細かい部分が丁寧に改善されています.したがって,以下の内容は公開からひと月を待たずして Obsolete です (^^;
今後は package の作成と 日本語化でがんばります
3歳の息子が,tuxpaintで,お絵書き遊びをしているんだけど,せっかく SVGA 画面なのに,window サイズが 640x480 固定なので,フルスクリーンモードで画面いっぱい使わせてあげたいと思い,window サイズを 800x600 にするパッチを作りました.
ひたすら定数を書き換えただけのとっても ad-hoc なものですが,これだけではなんなので,広くなった画面を生かして,使える色数を増やしたりもしてみました.
File Open ダイアログの thumbnail の背景アイコンの追加が必要です.$prefix/share/tuxpaint/images/ui/ に置いて下さい.
ついでなので,nosrc.rpm も置いておきます ( これには,上記の追加アイコンが含まれています ).ソースとスタンプを本家からダウンロードして rebuild すれば 800x600 版 tuxpaint ができます.rpmfind.net から落してきた srpmに 手を加えました.Gnome-2.0 へのメニューアイコンの追加には対応していないような気がします.対応したつもりです ( 1/7 ).プログラムとスタンプのパッケージを分けました ( 1/14 )
patch適用後の tuxpaint.cの冒頭のサイズ定義を
#define WINDOW_WIDTH 800 #define WINDOW_HEIGHT 600 #define HEIGHTOFFSET 96 /* Maximum value is WINDOW_HEIGHT - 480 */ /* recomend integral multiple of 48 */
から,
#define WINDOW_WIDTH 1024 #define WINDOW_HEIGHT 768 #define HEIGHTOFFSET 288 /* Maximum value is WINDOW_HEIGHT - 480 */ /* recomend integral multiple of 48 */
のように変更すれば,もっと大きいサイズにも簡単に変更できると思います. この場合,File Openダイアログのthumbnailの背景アイコンのサイズが合わないと思いますので, 気になる場合は,大きいアイコンを作って差し替えてください.
必要なライブラリについては,本家のページを見て下さい.buildするには,それぞれの開発パッケージが必要です.
RedHat-8.0 では,SDL_ttf のパッケージが Distribution に含まれていなかったので, SDL のサイトから src.rpm をダウンロードして,rebuild しました.その際,package 中の /usr/bin/showfont が kbd と conflict するので,SDL_ttf.spec の %files セクションで,該当部分をコメントアウトして事無きを得ています.