Kazuhiro's blog
ようこそ! Kazuhiro's blog
日曜日, 1月 26 2020 @ 11:06 午後 JST
 記事を友人にメールする 印刷用画面 

EB4Jによる通信用語の基礎知識のJIS X 4081化

general

EB4Jという、EB Libraryを元にしたpure Javaな電子辞書関連クラスライブラリがあります。 あるのは以前から知っていたのですが、通信用語の基礎知識郵便番号データをJIS X 4081化するプログラムが付属しているのは知りませんでした。 特に、通信用語の基礎知識に関してはプラグインデータや表にも対応しており、今回はそれを使って通信用語の基礎知識の変換してみました。

(本当はもっと以前に一度挑戦したのですが、その時は最新版のデータに対応していなくて変換できなかったので二度目の挑戦です。)

変換に使用した環境はopenSUSE 11.1 (x86_64, 4GB)上のopenJDKです。 概ねインストラクション通りでいけますが、javaがメモリ不足で止まるので、conv-wdic.shxml2eb.shにある、最大ヒープサイズの指定する部分(-Xmxオプション)を3000mとかにしておきました。 また、プラグインのファイルは全てが存在していない場合にはfatalとメッセージが出るので、存在しないファイルに対してはダミーのファイルへのリンクを張るなどしています。

ついでに、eblook 1.6.1+mediaで24ビットbmpからppmへの変換がうまく動作していないことに気付いてしまいましたので修正しました。

タグ:EPWING EB4J

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

JIS X 4081 UTF-8 extension公開

general

JIS X 4081でUTF-8文字を扱う事を目的にした、JIS X 4081の拡張を試みてみました。 でっち上げただけの状態ですが、作業は進みそうもないので公開します。

書籍の作成はFreePWINGのvariantを利用し、作成した書籍はEB Libraryのvariantから検索をかけることができます。wikipedia-fpwのvariantを利用すれば、日本語版以外のウィキペディアのデータもそれなりに扱えるかもしれません。

こっちのサイトの更新はおいおいします。

タグ:Lookup EB Library Wikipedia FreePWING

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

ONESWING

general

たまたま見つけたブログで知りましたが、EPWINGの後継としてONESWINGという規格が作られ、iPhone/iPod touch用のソフトとして発売されているようです。 富士通の人によれば

ONESWINGテクノロジーは、EPWINGの後継として、

  • マルチプラットフォーム展開(Windows,Mac,携帯電話など)
  • 圧縮&暗号化&認証機能
  • 高速な全文検索

を実現しました。

だそうです。暗号化とか認証機能がからむとフリーの検索ツールを作るのは厳しいかもしれません。

タグ:EPWING ONESWING

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

EB Library 4.4 is released

general

EB Library 4.4がリリースされました。 4GB超のファイルをサポートしています。 またしても笠原さんにいろいろ押しつけてすみません & 対応ありがとうございます。

eblook 1.6.1+mediaをビルドする際はoff_tのサイズが一致するように注意してください。 特に新しいeblookと古いEB Libraryや、古いeblookと新しいEB Libraryを組み合わせた場合はデフォルトでは一致しなくなる場合があります。 eblook 1.6.1+mediaは行儀が悪いので、EB Libraryとoff_tのサイズが一致していないとワイルドカード検索が正常動作しなくなります。

タグ: EB Library

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

FreePWING 1.6 is released

general

FreePWING 1.6がリリースされました。 インライン画像のサポートと4GB以上のHONMONファイルの作成に対応しています。 これにあわせてwikipedia-fpwも更新して、(しないと言っていたけど)数式に対応するようにしました。

ちなみに、2009/01/24のダンプデータを変換すると約1.99GBのHONMONファイルが生成されました。 2GBまであと一歩です。

タグ:FreePWING

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

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