第二系統用何故画像之秘密
WhyPic for OS/2 Warp
http://www-lab25.kuee.kyoto-u.ac.jp/member/yamaji/freesoft.html
今回、山地氏の許可を得て、この OS/2 版を公開させていただきます。
本パッケージは対 BMP形式コンバーターのみです。
PMで直接閲覧するには、
Sofiyaさんが画像ビューア「水」のプラグインとしてサポートされてますので、そちらをご利用ください。
(現在は 1.1 までですが… 1.2 の方よろしくお願いします > Sofiyaさん ;-)
| WhyPic 1.2 for OS/2 R2 | ypc12os2r2.lzh | (113,990 bytes) |
| WhyPic 1.1 for OS/2 R2 | ypc11os2r2.lzh | (85,401 bytes) |
ところが OS/2-emx/gcc では、解凍に失敗する画像が多数発生しました。 その上、不思議なことに標準エラー出力をリダイレクトすると、 その不具合が消えてしまうのです。
いろいろ、考えましたが、どうも、OS/2 あるいは emx/gcc では、 画面出力を行うとFPUのレジスタが初期化されてしまうと解釈するしかなさそうです。 そうであるならば、プログラムの前の方と後の方で同じ計算の結果が変わってしまって、ベリファイ/解凍結果に不整合が起きるのも無理はありません。
これに対し、WhyPic のアルゴリズム自体、さっぱり分からない私は、結局、 画面出力の度に、FPUのレジスタを再設定するというベタベタな手法で回避しました。 20個ばかりの画像でテストしたところ、生成ファイルもWindows版と一致しましたので、おそらく互換性も問題無いと思われます。
遅ればせながら、ここに再公開させていただきます。 御協力いただきました、原作者の山地氏、汎用画像ビューア「水」の作者 Sofiya 様にこの場を借りて、お礼申し上げます。m(__)m
(余談)
これで、WhyPic は、Windows , FreeBSD , OS/2 Warp という3プラットフォーム
に対応したことになる(djgpp の DOS版もありましたっけ? >山地氏)。
しかし、これが最後であろうか? とても僕はそう思えない。
きっと、将来、WhyPic for Linux 、WhyPic for BeOS、
WhyPic for Netscape Navigator などが現れるに違いない。
その時、我々はいったいどうすればいいのだろうか。