amuramatsu / ebd2html-py

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ebd2html python バージョン 説明書

Version: 0.1.0

説明

ebd2html-py は、太田純さんの ebd2html を python に移植して、 色々拡張したプログラムです。 hishida さんの EBDump の出力を EBStudio2 用の html ファイルに変換することが出来ます。 このプログラムを用いることで、EPWING フォーマットの書籍を加工した り、別フォーマットへの変換したりできます。

このプログラムはまだ Alpha 版です。

動作条件

Python

Python 3.3 以降が必要です。動作チェックは Python 3.8 で行っていま す。

変換に必要なEBDump/EBStudioのバージョン

ebd2html-py と組み合わせて利用するには EBDump 1.20以降が必 要です。また ebd2html-py で生成した HTML ファイルをEPWING辞書 に変換するには EBStudio2 以降が必要です。

前方一致以外の検索を可能にするには EBstudio2 のシェアウェア登録 が必要です。

再構成できる電子ブック/EPWINGの要素

  • 前方/後方一致かな検索
  • 前方/後方一致表記検索
  • 表記インデックス中のかな/カナ検索語のかなインデックスへの登録
  • 項目先頭への別項目参照(見出しへのジャンプ)
  • 別ページへの別項目参照(研究社新英和の羽根印のジャンプ)
  • 16ドット外字

再構成できない要素

  • 条件/クロス条件/複合検索
  • 図版/音声/動画などのマルチメディアデータ(図版、音声は将来対応予 定です。)
  • 項目内部の別項目参照(英和辞典の品詞や成句へのジャンプなど)
  • 本文以外のテキストデータ
  • 16ドット以外の外字
  • メニュー
  • 著作権表示

動作確認された辞書

まだありません。

既知の問題点

  • ebd2html-py にとって未知の電子ブック/EPWINGの記述子が本文デー タ中に現れた場合、正しいHTMLファイルが生成されない可能性がありま す。
  • 再構成された書籍のレイアウトはオリジナルと異なる可能性があります。
  • 動作確認は macOS 10.14 でしか行っていません。

再構成の手順

ebd2html-py を使って電子ブック/EPWING辞書を再構成する手順を示 します。

  1. 環境に合わせて設定ファイルを書き換える

    適当なディレクトリに ebd2html-py のパッケージを展開し、環境 に合わせて設定ファイル ebd2html.ini を書き換えます。設定ファ イルには以下の項目があるので、いずれかの行頭の "#" を削除し て選択肢を有効にするか、あるいは新たに値を設定してください。

    BASEPATH

    EBStudio2 の基準パス(ebd2htmlの出力先)

    OUTPATH

    EBStudio2 の出力先パス(再構成される辞書の出力先)

    AUTOKANA

    表記インデックス中のかな/カナ検索語をかなイン デックスに登録

    EBTYPE

    再構成先の辞書形式

    BOOKTITLE

    再構成先の辞書タイトル

    BOOKDIR

    再構成先の辞書ディレクトリ名

    BOOKTYPE

    再構成先の辞書種別

    BASEPATHebd2html-py が本文/外字のデータファイルを出 力するディレクトリです。

    OUTPATH は EBStudio2 が BASEPATH 以下のファイルを読んで 電子ブック/EPWING辞書に変換するときの変換先ディレクトリです。

    AUTOKANA1 にすると、表記インデックスに含まれるひら がな/カタカナ/長音のみから構成される検索語をかなインデックスに 登録するようなHTMLファイルが生成されます。表記インデックスしか もたないEPWING辞書(研究社新英和中辞典など)を電子ブックに変換し たとき、うまくかなで検索できないようなら AUTOKANA1 にしてみてください。

    EBTYPE には再構成する辞書が電子ブックなら 1 、EPWINGな ら 0 を指定してください。

    BOOKTITLE には辞書タイトルを2バイト文字のみで指定してくださ い。

    BOOKDIR には辞書の本文/外字ファイルが格納されるディレクトリ 識別名を指定してください。使用できる文字は英大文字、数字、下線 (_)のみで、8文字以内である必要があります。

    BOOKTYPE には辞書種別を以下のいずれかから選択してください。 辞書種別はカタログや書籍管理情報にそのIDが書き込まれるだけで、 検索にはなんら影響しません。

    国語辞典
    漢和辞典
    英和辞典
    和英辞典
    現代用語辞典
    一般書物
    類語辞典

    なお、 EBTYPEBOOKTITLEBOOKDIRBOOKTYPE は出力される EBStudio2 定義ファイルに書き込まれる だけで、 ebd2html-py 自身の動作には影響しません。

  2. 既存の電子ブック/EPWINGからデータを取り出す

    EBDumpを起動します。次に目的の電子ブック/EPWING書籍から以下のデー タを取り出し、結果のファイルをebd2htmlと同じディレクトリに置き ます。

    取り出し元

    書籍構成要素

    書き込み先ファイル

    HONMON/START

    [00]本文

    honmon.txt

    HONMON/START

    [90]前方一致かなINDEX

    fkindex.txt

    HONMON/START

    [04]前方一致かな見出し

    fktitle.txt

    HONMON/START

    [91]前方一致表記INDEX

    fhindex.txt

    HONMON/START

    [05]前方一致表記見出し

    fhtitle.txt

    HONMON/START

    [92]前方一致英字INDEX

    faindex.txt

    HONMON/START

    [08]前方一致英字見出し

    fatitle.txt

    外字ファイル/START

    [F1]外字(16×16ドット)

    zgaiji.txt

    外字ファイル/START

    [F2]外字(8×16ドット)

    hgaiji.txt

    EPWINGの場合、外字データはGAIJIディレクトリ以下に独立のファイル として格納されています。通常、16×16ドット外字は名前に'16'と'F' または'FULL'、8×16ドット外字では'16'と'H'または'HALF'が含まれ ています(GA16FULL、GA16HALF、GAI16F00、GAI16H00など)。それ以外 のデータはDATAディレクトリ以下にあるHONMONまたはHONMON2に含まれ ています。電子ブックの場合、すべてのデータはSTARTファイルに含ま れています。

    ebd2html-py を実行するためには honmon.txt は必須です。 何らかのインデックスも必要であるため、 fkindex.txt / fktitle.txtfhindex.txt / fhtitle.txtfaindex.txt / fatitle.txt のいずれかも必須です。それ以 外の要素はなくてもかまいません。

    データの取り出し方は以下のとおりです。

    1. 「入力ファイル名」にHONMON/START/外字ファイルのいずれかを指 定する
    2. 「書籍構成要素」欄からいずれかの要素を選択する
    3. 「出力ブロック数」にすぐ上の「blks」と同じ値を入力する(つま りその構成要素全体をダンプする)
    4. 「出力ファイル」にebd2htmlと同じディレクトリ中の前記のファイ ル名を指定する(たとえばebd2htmlがworkにあり、出力ファイル 名がfkindex.txtならwork/fkindex.txtを指定する)
    5. 「メモ帳で開く」のチェックをはずす
    6. 「テキストダンプ」のラジオボタンで「記述子」を選択する
    7. 「テキストダンプ」ボタンを押す
    8. 終了すると「ログを作成しました」というメッセージダイアログが 開く
  3. HTML形式への変換を実行する

    データの準備ができたら、ターミナルなどで

    python3 ebd2html.py .

    を実行します。

    変換には数十秒~数分程度かかります。実行中のメッセージは ebd2html.py と同じディレクトリの ebd2html.log に残りま す。実行が正常に進んだ場合、表示されるメッセージは次のようにな ります。

    開始時刻: Sun Dec 26 17:18:45 2004
    作業ディレクトリ WORK に移動しました
    変換設定は以下のとおりです
    BASEPATH = work
    OUTPATH = dic
    AUTOKANA = 0
    EBTYPE = 1
    BOOKTITLE = ラリホー英和辞典
    BOOKTYPE = 英和辞典
    BOOKDIR = RARIHOO
    生成されるHTMLファイル = RARIHOO.html
    生成されるEBSファイル = RARIHOO.ebs
    外字ファイルを生成しています... 終了しました
    かなインデックスデータを変換しています... 終了しました
    かなインデックスデータをソートしています... 終了しました
    かな見出しデータを生成しています... 終了しました
    表記インデックスデータを変換しています... 終了しました
    表記インデックスデータをソートしています... 終了しました
    表記見出しデータを生成しています... 終了しました
    英字インデックスデータを変換しています... 終了しました
    英字インデックスデータをソートしています... 終了しました
    英字見出しデータを生成しています... 終了しました
    HTMLファイルを生成しています...
    HTMLファイルの生成が終了しました
    EBSファイルを生成しています... 終了しました
    変換処理が終了しました
    終了時刻: Sun Dec 26 17:18:58 2004
    経過時間: 0:13
    ※ work/RARIHOO.ebs を入力としてEBStudioを実行してください

    変換が終了すると、設定ファイルのBASEPATHで指定したディレクトリ に次のファイルが作られます。

    ???.html

    本文HTMLファイル(???はBOOKDIRと同じ)

    ???.ebs

    EBStudio定義ファイル(???はBOOKDIRと同じ)

    GaijiMap.xml

    外字マップファイル

    Gaiji.xml

    外字フォントファイル

  4. 電子ブックまたはEPWINGへの変換を実行する

    EBStudio を起動し、[ファイル]→[開く...]で先に生成された???.ebs をオープンします。次に[ファイル]→[実行]で変換を実行します。正 常に終了すると、設定ファイルのOUTPATHで指定したディレクトリに書 籍が生成されています。

以上で作業は終了です。

サポートについて

ebd2html-py についてご意見・ご質問のある方は github の issue に書き込んでください。改善へのご要望については後ろ向きに検討させて いただきます。

著作権について

ebd2html-py を構成する各ファイルはパブリックドメインに置かれたもの として扱ってください。再利用でも販売でも何でも自由にしていただいて かまいません。GPLを始めとする何らかのライセンスをもつ配布物に含め て、そのライセンスのもとで再配布することも自由です。

作者

MURAMATSU Atsushi <amura@tomato.sakura.ne.jp>

オリジナルの作者

太田純 <ohta@sdg.mdd.ricoh.co.jp>

http://hp.vector.co.jp/authors/VA000022/

About

License:The Unlicense


Languages

Language:Python 100.0%