Kazuhiro's blog
ようこそ! Kazuhiro's blog
土曜日, 11月 25 2017 @ 05:22 午前 JST

eblook 1.6.1+media

eblookに音声・動画タグを出させるようにした改造版です。 動画対応は白井さんから提供頂いたパッチによるものです。 Lookup 1.4+mediaで使用して下さい。 EB libraryは4.2.2以上 (2010/05/19現在での最新は4.4.3です) を使用して下さい。

for your download

eblook-1.6.1+media-20150724.tar.gz

eblook-1.6.1+media-20150724-ebu-4.4.3-20150301.exe Win32用のバイナリです。EB Library with UTF-8 supportと静的にリンクしています。 IPv6に対応しています。 IPv6に未対応の環境 (Windows 2000等) でも実行できるはずです (IPv6が使えるという意味ではありません)。

eblook-1.6.1+media-20150724-ebu-4.4.3-20150301-win64.exe Win64用のバイナリです。EB Library with UTF-8 supportと静的にリンクしています。 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-modeonになっていないと出力されません。

テキストのエスケープ処理の提供

内部変数escape-texttrueになっていると、テキストに含まれる&, <, >&amp;, &lt;, &gt;と出力するようになります。

16色RLE圧縮なBMPデータの展開

bmp2ppmおよびbmp2tiffコマンドにおいて、16色RLE圧縮なBMPデータからの出力に対応しました。 実際にそのようなBMPデータが含まれているEPWINGの辞書は知りません。 ただし、FreePWINGではそのようなデータを含む辞書の作成は可能です。 (EBStudioでも可能だと思いますが確認はしていません。) また、従来のBMPの展開ルーチンはBMPヘッダに含まれているファイルサイズの情報を参照していましたが、参照しないように変更しました。 ヘッダの情報が正しくない場合もそれなりにある(らしい)為です。

検索文字列の判定方法の変更

searchコマンドで入力した文字列について、従来は 先頭が"="あるいは":"の場合は変数search-methodの値によらず条件検索または複合検索が実行されていました。 この為、条件検索や複合検索のインデックスを持った辞書では"="あるいは":"で始まる項目が検索できなくなっていました。 これを回避する為、search-methodが設定されている場合はその内容に従った検索が実行されるようにしました。

また、変数search-methodkeywordと設定すると条件検索が、multiと設定すると複合検索が選択されるようになりました。 ただし、これらの検索はsearch-methodをunsetするだけで自動選択されます。

クロス検索に対応

クロス検索に対応しました。 検索方法は条件検索とほぼ同様ですが、単語の区切りに"="ではなく"&"を使用します。 明示的に検索方法を指定するにはsearch-methodcrossに設定して下さい。

ワイルドカード検索に対応

限定的ですがワイルドカード検索を可能にしました。 前方一致検索用の表記インデックスを持つ、EBGやEBXA-Cではない辞書でワイルドカード検索が可能になります。 無条件にインデックス全体から検索を試みるので検索には時間がかかります。

今のところ、ワイルドカード検索の実行には変数search-methodwildを指定しておく必要があります。

EB Library with UTF-8 supportへの対応

subinfoコマンドでの表示にutf-8のケースを入れただけですが、一応対応しました。

オプション-iおよび--non-interactiveの追加


Lookupからeblookを利用する場合は、GNU readlineとリンクしたバイナリであってもreadlineの機能は利用しないようになっています。 しかし、実際にはLookupから利用していてもreadlineの機能が有効になることがあります。 その為、明示的に機能を利用しないようにするオプションを新設しました。 Lookup 1.4+mediaでは、デフォルトでこのオプションを使用します。

contentコマンドの拡張

contentコマンドで指定するentryの先頭に'-'を付加すると、entryの位置は項目の途中であるとみなし、項目の先頭から表示するように試みます。

バージョン番号の変更

バージョン番号は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の設定を解除するようになります。

一部の環境で正常動作しない

strcpy関数の使い方が間違っている為に、一部の環境で正しく動作しません。 参照先に倣ってmemmoveを使用するように変更しています。

修正されない不具合

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の書籍を利用する場合には起こりうる状態です)すると動作がおかしくなるようでした。 このページにあるバイナリはどちらも無効になっているので影響は受けません。

更新履歴

2015/07/24 長い見出しの末尾が表示されない不具合を修正した (つもり)。

2015/03/01 Debianで報告されている不具合を修正した (つもり)。

2014/11/18 Readline 6.3とリンクできないのを修正した。 Readline 4.1以前とは非互換になったはず。 その他、細かいバグ修正。

2013/09/21 Windows環境でbookコマンドを使った場合にebnet辞書を指定できないのを修正した。

2011/12/27 バイナリを更新。 SJISでの入出力をできなくしてしまっていたのを修正した。 64ビット用のバイナリも公開した。

2011/08/01 EB Library with UTF-8 supportの変更に追従した。 バイナリは機能的な変更は無いので未更新。

2010/10/30 eblookを更新。 contentコマンドの拡張部分が正しく動作しない時があるのを修正した (のを取込み忘れていたのを修正した)。 バイナリのビルドをMinGW + MSYSで行うようにした。 20100818と20100814のバイナリは何故か前項目の表示がおかしいのも直った。

2010/08/25 細かい修正 (だったと思う)。

2010/08/15 文字コード変換まわりのバグの元になりそうなコードを修正した。

2010/05/22 contentコマンドを拡張した。

2010/02/27 strcpy関数の使い方が間違っているのを修正した。 バイナリは影響を受けないので未更新。

2010/01/21 バイナリを更新。 EB Library with UTF-8 supportの更新に追従した。

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が出力するタグと地のテキストの区別がつくように、テキストの&, <, >&amp;, &lt;, &gt;と出力できるようにした。 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月 24 2015 @ 08:30 午後 JST; 22,227 閲覧件数 印刷用画面