eblook 1.6.1+media
eblookに音声・動画タグを出させるようにした改造版です。
動画対応は白井さんから提供頂いたパッチによるものです。
Lookup 1.4+mediaで使用して下さい。
EB libraryは4.2.2以上(2009/03/16現在での最新は4.4.1です)を使用して下さい。
for your download
eblook-1.6.1+media-20090709.tar.gz
eblook-1.6.1+media-20090709-eb4.4+u-20090413.exe
Win32用のバイナリです。EB Library with UTF-8 supportとリンクしています。
静的にリンクしているのでeb.dllは必要ありません。
IPv6に対応しています。
IPv6に未対応の環境 (Windows 2000等) でも実行できるはずです (IPv6が使えるという意味ではありません)。
あんまり真面目にチェックしていないので、おかしかったらお知らせください。
アーカイブの使い方
インストールは通常のeblookと同様の手順で行って下さい。
(特に32ビット環境では)off_tの大きさがEB Libraryと一致するように注意してください。
追加される機能、従来からの変更
- 音声リンクの生成、音声データをダンプするコマンドの新設
-
EPWINGの音声データへのリンクが生成されます。
media patchをあてたLookupで使用する事でLookup上で音声データへのリンクが生成されるようになります。
これに伴い、音声データをダンプするコマンド"wave"および"wav"が新設されます。
両者はコマンド名以外は同一のものです。
- 動画リンクの生成、動画データをダンプするコマンドの新設
-
音声データと同様にEPWINGの動画データへのリンクが生成されます。
これに伴い、動画データをダンプするコマンド"mpeg"および"mpe"が新設されます。
両者はコマンド名以外は同一のものです。
- 動画データのファイルパスを表示するコマンドの新設
-
EPWINGでは、動画データはHONMONファイル等に収録されるのではなく、単一のファイルとしてファイルシステム上に存在します。
この、特定の動画に対応するファイル名を表示させるコマンド"mpeg_path"が新設されます。
- 図版メニューを表示するコマンドの新設、イメージマップへのリンクの生成
-
EPWINGの広辞苑第五版などに含まれる図版メニューに対応しました。
対応するEB Library (4.3以上)とリンクする事で図版メニューを表示するコマンドimage_menuコマンドが新設されます。
また、イメージマップに関して、従来はリンクは表示されるもののリンク先が表示できない状態でしたが正しく表示するようになりました。
- inlineタグの新設
-
インライン画像に関してはimgタグではなく、inlineタグを出力するようになります。
- indタグの新設
-
書籍に含まれる字下げ情報を出力するようにしました。
手抜き実装の為、字下げ量が10以上の場合はすべて9として出力します。
また、内部変数decorate-modeがonになっていないと出力されません。
- fontタグの新設
-
書籍に含まれる文字修飾情報を出力するようにしました。
内部変数decorate-modeがonになっていないと出力されません。
- テキストのエスケープ処理の提供
-
内部変数escape-textがtrueになっていると、テキストに含まれる&, <, >を&, <, >と出力するようになります。
- 16色RLE圧縮なBMPデータの展開
-
bmp2ppmおよびbmp2tiffコマンドにおいて、16色RLE圧縮なBMPデータからの出力に対応しました。
実際にそのようなBMPデータが含まれているEPWINGの辞書は知りません。
ただし、FreePWINGではそのようなデータを含む辞書の作成は可能です。
(EBStudioでも可能だと思いますが確認はしていません。)
また、従来のBMPの展開ルーチンはBMPヘッダに含まれているファイルサイズの情報を参照していましたが、参照しないように変更しました。
ヘッダの情報が正しくない場合もそれなりにある(らしい)為です。
- 検索文字列の判定方法の変更
-
searchコマンドで入力した文字列について、従来は
先頭が"="あるいは":"の場合は変数search-methodの値によらず条件検索または複合検索が実行されていました。
この為、条件検索や複合検索のインデックスを持った辞書では"="あるいは":"で始まる項目が検索できなくなっていました。
これを回避する為、search-methodが設定されている場合はその内容に従った検索が実行されるようにしました。
また、変数search-methodをkeywordと設定すると条件検索が、multiと設定すると複合検索が選択されるようになりました。
ただし、これらの検索はsearch-methodをunsetするだけで自動選択されます。
- クロス検索に対応
-
クロス検索に対応しました。
検索方法は条件検索とほぼ同様ですが、単語の区切りに"="ではなく"&"を使用します。
明示的に検索方法を指定するにはsearch-methodをcrossに設定して下さい。
- ワイルドカード検索に対応
-
限定的ですがワイルドカード検索を可能にしました。
前方一致検索用の表記インデックスを持つ、EBGやEBXA-Cではない辞書でワイルドカード検索が可能になります。
無条件にインデックス全体から検索を試みるので検索には時間がかかります。
今のところ、ワイルドカード検索の実行には変数search-methodにwildを指定しておく必要があります。
- EB Library with UTF-8 supportへの対応
-
subinfoコマンドでの表示にutf-8のケースを入れただけですが、一応対応しました。
- オプション-iおよび--non-interactiveの追加。
-
Lookupからeblookを利用する場合は、GNU readlineとリンクしたバイナリであってもreadlineの機能は利用しないようになっています。
しかし、実際にはLookupから利用していてもreadlineの機能が有効になることがあります。
その為、明示的に機能を利用しないようにするオプションを新設しました。
Lookup 1.4+mediaでは、デフォルトでこのオプションを使用します。
- バージョン番号の変更
-
バージョン番号は1.6.1から1.6.1+media-yyyymmddに変更されます。
オプション--versionで確認できます。
修正される不具合
- Windows環境におけるebnet対応
-
コンパイル時にDOS_FILE_PATHがdefineされる環境ではEB libraryがebnetに対応していてもebnet経由でのアクセスができません。
- appendixの解除
-
コマンドライン引数やbookコマンドでappendixを指定すると二度とappendixが選択されていない状態にできません。
このパッチではbookコマンドでappendixを指定しなかった時にappendixの設定を解除するようになります。
修正されない不具合
- cygwin環境におけるebnet対応
-
(2008/07/19 時点ではcygwin側で対策されているようで、この不具合は再現しません。)
cygwin環境では(おそらく)select関数に不備があり、cygwin用にビルドしたEB libraryはebnetクライアントの機能が正常動作しません。
この為、cygwin環境でビルドしたeblookもebnetに対応できません。
このページにあるeblookのバイナリはcygwin環境で動作するものではないのでこの不具合の影響は受けません。
- Readline, iconvサポート時の異常動作
-
Linux環境でReadlineあるいはiconvサポートを有効にしたeblookでEBGの書籍がひけない(eblookのプロセスが落ちる)という報告がされています。
筆者が確認できるNetBSDの環境ではReadlineサポートを有効にすると、iso-8859-1に含まれるウムラウトつきアルファベット等を入力(EBGの書籍を利用する場合には起こりうる状態です)すると動作がおかしくなるようでした。
このページにあるバイナリはどちらも無効になっているので影響は受けません。
更新履歴
2009/07/09
24ビットBMPを他形式に変換する際の動作がおかしいのを修正した。
2009/05/28
EB Library with UTF-8 supportをサポートするようにした。
バイナリをEB Library with UTF-8 supportとリンクするようにした。
JIS X 4081 UTF-8 extensionのテキストを出力する際に不正な文字列を出力することがあるのを修正した。
2009/03/16
バイナリを更新。
EB Library 4.4.1とリンクするようにした。
2009/03/03
パッチを更新。
文字修飾情報に対応した。
eblookが出力するタグと地のテキストの区別がつくように、テキストの&, <, >を&, <, >と出力できるようにした。
eblookのバイナリをEB Library 4.4とリンクするようにした。
eblookへのパッチでの提供をやめてアーカイブで公開するようにした。
IPv6に未対応の環境でも動作する、IPv6に対応した環境ではIPv6に対応したバイナリを作成できるようになったのでバイナリは1種類のみ公開するようにした。
2008/05/17
EB LibraryをIPv6対応でビルドできるようになったので、eb.dllとリンクするeblookのバイナリの公開をやめた。
2008/03/21
Readlineあるいはiconvリンク時における異常動作について記載した。
2008/03/02
EB Libraryのバージョンアップに伴い、eblookのバイナリと記述の一部を更新した。
2008/01/19
パッチを更新。
動画ファイルのパス名を表示させるコマンドを新設した。
2007/08/06
パッチを更新。
字下げに対応した。
2007/06/12
パッチを更新。
明示的にreadlineを無効化できるようにした。
2007/03/05
パッチを更新。
ワイルドカード検索時に検索文字列をある程度正規化するようにした。
一部動作未確認。
2007/02/05
パッチを更新。
ワイルドカード検索を可能にした。
2007/01/29
パッチを更新。
ndebsエージェントで、appendixが有るエージェントと無いエージェントが混在していると動作がおかしくなるのを修正した。
2007/01/24
パッチを更新。
search-methodを指定しても条件検索や複合検索が優先的に行われるのはバグのような気がするので変更した。
結果としてTipsにあるような方法では条件検索や複合検索が行えなくなった。
クロス検索に対応した。
2006/12/13
EB Library 4.3をリンクしたeblookのバイナリを更新。
ebnetが有効になった。
2006/12/12
パッチを更新。
イメージマップや参照先表示だけのときは前項目次項目の表示を行わないようにした。
16色RLE圧縮なBMPの展開に対応した。
展開ルーチンは結局ほとんど書き換えになったのでエンバグしているかも。
ちなみにWindows版のランダムハウス英語辞典には16色RLEかつヘッダの情報がおかしいBMPデータが多数含まれている。
EB Library 4.3をリンクしたeblookのバイナリがmingwのzlibのDLLとリンクしていたのを静的リンクに修正した。
2006/12/04
パッチを更新。
図版メニューに対応した。
私がebnet対応の状態でEB Libraryをビルドできない為、eblookのバイナリはebnet対応か図版メニュー対応かの二者択一になっている。
2006/10/0x
公開。
古い履歴
最終更新日: 木曜日, 7月 09 2009 @ 06:29 午後 JST; 2,638 閲覧件数 
|