hishidaの開発blog

EBシリーズ(EBPocket,EBWin,EBMac,EBStudio),KWIC Finder,xdoc2txt,読書尚友の開発者ブログ

EBStudio リニューアル計画(1)

EPWING辞書作成アプリであるEBStudioの最終バージョンのリリースは2009年で、もう8年も開発を中断している。その頃からEBPocketのiOS版やAndroid版の開発を始め、さらに青空文庫ビューアまで手を出したため、手が回らなかったというのが正直なところだ。リニューアルの構想自体はもう何年も前からあったが、様々なプロジェクトが一段落してきたので、いよいよ手をつけることにした。

EBStudioの開発の着手は1999年に遡る。
EPWINGソニーの電子ブックは1990年代には興隆を誇ったが、その後電子辞書の主力はCD-ROMから電子辞書端末に移り、さらにスマートフォンの辞書アプリやネット辞書に移行した。気がつけば電子辞書端末の雄だったセイコーも市場から去り、隔世の感がある。EPWINGは新たな製品が全く出なくなったが、規格がJIS化されているために、オープンな辞書規格として生き残ることが可能になった。翻訳者の間ではEPWINGは現在でも現役で使われていると言われており、今後も細々と生き続けるのではないかと思っている。

作者が考えるEBStudioの問題点

  • 開発言語がVisual C++6.0 であり、C++の仕様が古いため、最近のVisual Studioではコンパイルができない。
  • MFCライブラリを多用しているために他のプラットフォームに移植が困難
  • 1999年当時はHTMLパーサーのデファクトがないために独自パーサーを開発したため、その後のXMLテクノロジーの進化に対応できていない
  • 入力エンコーディングSJISのみでUTF-8に未対応
  • EPWING外字の作成が難しい
  • 変換用の内部バッファサイズを細かく指定しないといけないので利用しづらい
  • HONMON のサイズの上限が4GB
  • EPWING Ver2までのサポートのため、マルチメディアデータもHONMONに全て収納する必要がある(EPWING Ver4から画像をHONMONG,音声をHONMONSに分けることができるようになった)

-

EBStudio 2.0の目標

  • モダンなC++コンパイルできるようにソースのリファクタリングを行う。MFCは全てATLで置き換える。
  • Unicodeのサポート。JIS外の文字はEPWING外字を自動割当し、EBWin用の外字マップを自動作成する
  • XMLパーサーのサポート
  • バッファサイズの指定を不要とすること
  • マルメディアファイルをHONMONG,HONMONSに分割できるようにする
  • EBStudioのファイル形式との互換性の確保(各種EPWING化Toolkitの資産がそのまま使用できること)

-

現時点で達成できていること

  • VisualStudio 2010と、Mac OS XXcodeでのコンパイル
  • EBStudioのファイル形式との互換性の確保
  • 4GB超のHONMON
  • マルメディアファイルをHONMONG,HONMONSに分割可能
  • EBStudio用HTMLのutf-8のサポート
  • unicode外字の自動割り当て。外字パターンはefontオープンラボのhexファイルを使用する。もう外字を作字しなくてもいい!
  • CSVからの変換のサポート。EXCELのテキスト変換ウィザード風に、列の意味を指定する。
  • PDIC Unicodeからの直接変換。
  • libxml2パーサーによるHTML4.0/XHTML1.0からの変換(こちらのパーサーは従来のEBStudio用HTMLと互換性はない)

これからの予定

順調にいけば年内にWindows版をリリース。ただし根本的に書き直しているので、従来のライセンスとは別になるかもしれない。その場合価格面で配慮したい。
Mac OS X はまだ変換コアエンジンが動いただけでUIを書いていないので、来年になるとおもう。