Kazuhiro's blog
ようこそ! Kazuhiro's blog
水曜日, 11月 27 2024 @ 12:00 午後 JST
 記事を友人にメールする 印刷用画面 

Image::Magick for Cygwin Perl 5.10

general

掲示板でも書きましたが、CygwinのパッケージでPerlを5.10にするとImage::Magickモジュールが使えない状態になっています。いつまでたってもアップデートされないのと、ないとそれなりに不便なので自分で用意してみました。

といっても、ImageMagickをインストールしていると/usr/share/doc/Cygwin/ImageMagick-6.4.0.6.READMEにビルド方法等が書かれていますので、そのまま行うだけです (区別をつけるために6.4.0.6-1から6.4.0.6-2にバージョンは変えましたが)。

ImageMagick-6.4.0.6-2.tar.bz2, libImageMagick1-6.4.0.6-2.tar.bz2,perl-Image-Magick-6.4.0.6-2.tar.bz2をダウンロードしてファイルシステムのルート上で展開してください。 しっかりとは読まずにやった為か、/usr/share/perl/cygwin-pods/5.8/ImageMagick.pod/etc/postinstall/ImageMagick.shがないですが、一応oald7-fpwでは使えています。

タグ:Cygwin ImageMagick

 記事を友人にメールする 印刷用画面 

英語版WikipediaのダンプデータをJIS X 4081に変換する

general

FreePWINGによる巨大書籍の作成実験の一環としてとしてウィキペディア英語版の変換を試みました。 Cygwinで行っていましたが、変換にはFreePWINGとwikipedia-fpwのいずれにも更に変更 (まだ未公開です) が必要でした。 変更の原因としてはやはりエントリが多いことによるメモリ不足のようで、手元ではDB_Fileモジュールとtieを使って凌いでいます。

変換には変換元のファイルも含めておよそ60GB弱必要で、作成されたHONMONファイルは約14.2GBです。NTFS圧縮後で約7.5GBになっています。要した時間はだいたい50時間強くらいだと思います (PIII 1G x 2, 2GB, Cygwin)。

(追記) FreePWING 1.5に対するパッチとwikipedia-fpw-20080616に対するパッチを公開しておきます。 パッチを当てたFreePWINGは既存のスクリプトでも動作するはずですが、fpwlinkが倍、もしくはそれ以上時間がかかるようになります。

(追記の追記) wikipedia-fpwのパッチは書籍のタイトルやディレクトリ名・パッケージ名は元のままなので適宜変更してください。

タグ: EPWING FreePWING Wikipedia

 記事を友人にメールする 印刷用画面 

FreePWINGで4GB以上の書籍を作成する

general

JIS X 4081では理論上は1ファイル約190GBまでの書籍が構築可能ですが、EBStudioやFreePWINGではそのような大きな書籍は作成できません。 作成するのにどの程度手間がかかるか、wikipedia-fpwが2GBの壁に届く前にちょっと試してみました。

まず、FreePWINGにパッチをあて、4GB超の書籍を作成できるようにしてみました。

  • 必要なもの
    large fileをサポートし、64ビットintなperl

    perl -V等で、Compile-time optionsにUSE_64_BIT_INTUSE_LARGE_FILESが存在している事を確認してください。

    large fileをサポートするファイルシステム

    例えばFAT32では4GBを超えるファイルを作成できません。

    パッチ

    FreePWING 1.5にあてるパッチです。 もうちょっと工夫すれば32ビットintなperlでも大丈夫そうな気がしますが今回は見送ります。

oald7-fpwで、テキスト登録時にテキストを水増しして4GB超の書籍を作成してみたところ、エラーも起きずにそれっぽいものが作成されました。 次にブラウザ側の検証です。

  • 4GB超の書籍を扱える(であろう)アプリケーション
    EB Libraryを利用するアプリケーション

    64ビット環境の場合はebzip以外は動作すると思いますが未確認です。 32ビット環境でoff_tが64ビット以上の場合は、パッチが必要ですが動作しました (NetBSD 4.0_BETA2)。

  • 4GB超の書籍を扱えないアプリケーション
    EB Libraryを利用するアプリケーション

    Windows環境 (Cygwin + MinGWでビルドしたもの) では扱えませんでした。 ちょっとした小細工で何とかなりそうな気はしますがまだ未検証です。

    ebzip

    4GBまでのファイルしか想定されていません。

    EBWin

    正しく扱えませんでした (2.09)。

    DDWIN (おそらく)

    未確認です。

(追記) Cygwin + MinGWではMinGWのインクルードファイルにパッチをあてれば_FILE_OFFSET_BITSを設定することでoff_tを64ビットにできるので何とかなりました。

(追記の追記) EB Libraryとebzipは4.4以降で、EBWinは3.01以降で4GB超の書籍に対応しました。

タグ:FreePWING EB Library EPWING
 記事を友人にメールする 印刷用画面 

FreePWING 1.5 is released

general

本日、FreePWING 1.5がリリースされました。 これには、sound patchと私が加えていた変更がそのまま取り込まれていますので、私が行っていた改造版の公開は終了しました。

(特に私がサボっていた)ドキュメントの記述等、作者の笠原さんにも色々と作業いただきましてどうもありがとうございました。

タグ:FreePWING

 記事を友人にメールする 印刷用画面 

mkdirhierのバグ

general

imakeに入っているmkdirhierがCygwin環境では動作しない(事がある)というお話しです。

なんでいきなりimakeなのかというとFreePWINGにこのmkdirhierが入っているからです。 簡単に書くと、Cygwin環境でmkdirhierに絶対パスを引数として与えるとディレクトリの作成に失敗するというものです。 何故失敗するかというと、絶対パス名が与えられると先頭の'/''//'に変更してディレクトリを掘ろうとするためです。 以前からあった問題なのかは知りません。 UNIX環境では問題にならないようですが、Cygwin環境ではUNC名として解釈されるので予期しない動作を来します (大抵の場合はエラー)。

ちなみに、最近のmkdirには同等の動作をするオプション (-p) があるので、mkdirhierがなくてもあまり困らないかもしれません。 改造版のFreePWINGは修正しました。

タグ:FreePWING

 記事を友人にメールする 印刷用画面 

Meadow でユニコードテキストをクリップボードとやり取りする

general

NTEmacsでは、selection-coding-systemutf-16le-dosだったりすると、ユニコードテキストをコピー&ペーストで他のアプリとやり取りできるようになっています。

Meadowではクリップボードまわりは独自のルーチンを使っており、他のアプリとのユニコードテキストのやり取りは困難ですが、複数起動されたMeadow間でテキストのコピー&ペーストができるようになっているらしいです。 個人的にはNTEmacsの動作の方が(今となっては)便利そうなので、自分が使うMeadowはNTEmacsのルーチンを使うようにしました。

(2008/05/02 追記) Meadowのtrunkもそのようになりました。

タグ:Meadow

 記事を友人にメールする 印刷用画面 

ldoce4v2-fpw is released

general

先日紹介した、ロングマン 現代英英辞典[4訂増補版]に付属のCD-ROMをFreePWINGで変換されたZelgadissさんが、ツールをldoce4v2-fpwとして公開されました。

タグ:LDOCE4v2 FreePWING EPWING

 記事を友人にメールする 印刷用画面 

LDOCE4v2をFreePWINGで変換

general

ロングマン 現代英英辞典[4訂増補版]に付属のCD-ROMをFreePWINGで変換された方がおられるようです。それによれば、圧縮形式についてはOALD7と変わらないが、xmlのタグに関してはかなり異なっているそうです。

それにしてもiDic大人気ですね。

タグ:LDOCE4v2 FreePWING EPWING

 記事を友人にメールする 印刷用画面 

Hyper Estraier 1.4.12 is released.

general

全文検索システムHyper Estraierがバージョンアップし、1.4.12が公開されました。 併せて、内部で利用しているQDBMもバージョンアップし、1.8.77が公開されました。 ちなみにMLには告知がなく、その後のパッチの投稿で存在に気がつきました。

Windows版のバイナリは準備されていないようで、MLに投稿されたパッチを適用してビルドしてみました。 Windows環境における手順は、ソースアーカイブのmisc/mymemo.htmlに、より具体的な方法が書かれています。 ただし、そこで示されているregular-expression libraryを使用する場合は、Makefileの変更が必要です。

今のところestwaverの動作がおかしい(途中で止まる)ですが、estcmdとestcallによる検索、estcmdによるインデックスの更新は問題なく動いているようにみえます。

タグ:Hyper Estraier

 記事を友人にメールする 印刷用画面 

Another Wikipedia conversion tool

general

iPod touchで動作するEPWINGビューアであるiDicの作者の方が、"my own version of the conversion tool from Wikipedia to EB"の作成を開始した事をアナウンスされています (Development logの12/08/2007 )。

項目の取捨選択をしやすくするのと数式対応を目指すそうです。 数式対応には結局画像を取り込むしかないと思うのですが、そうなると容量的に厳しくなってしまい、項目の取捨選択は必須になるかもしれません。 まあ、wikipedia-fpwでもダンプデータの容量は増えるしかないので、時間がたてば容量が厳しくなるのは一緒ですが。 要TeXになると、TeXを使っていない人には準備が更に面倒になるかもしれませんが、それでも数式が欲しい人には嬉しいお知らせではないでしょうか。

iPod touchを持っていない人は気付かないかもしれないので、私のメモを兼ねてお知らせまで。 ちなみに、私もiPod touchは持っていませんが、参照元にiPod touchにwikipeida-fpwで変換した書籍を入れる方法を紹介するページがあったので気付きました。

タグ:Wikipedia EPWING