Get Adobe Flash player
今月のあしあと
2010年1月
« 12月   2月 »
 123
45678910
11121314151617
18192021222324
25262728293031
月別にまとめてみた
ついった~
Follow @guiyh_ghuggah (6 followers)

2010年1月2日(土曜日)|Daily archive page

postheadericon mobipocketと英辞郎 for Kindle(3)

気づいてはいたのだが、対応方法がわからなかったので仕方ないと思っていた点がある。

たとえば、makeなんて単語は、実際の文中では makes, made などの形で登場するし、tallなどは taller, tallestという形でも登場する。しかし、単純に「語」の完全一致で辞書検索されると、もちろん、makes も made も make には引っかかってくれない。名詞の複数形も同様である。

kindleに標準でついてくる The New Oxford American Dictionaryでは、このあたりがちゃんと検索されるので、何らかのデータの持ち方で実現できることは、容易に想像ができるが、では、そのデータ形式は?となると、お手上げ状態であった。

が、とは言うものの、mobipocketの書籍、辞書のデータってあれほどフリーでたくさん出回っているのに、その内部フォーマットが秘密なんてことはどうもありそうにないではないか?というのが、最初の疑問。実は、やり始めの頃にも、いい加減なテンションでそういう資料がないか、ちょびっとググってみたのだが、そういうロー・テンションなので、すぐに諦めてしまっていた。

しかし、一応自分でhtmlも生成するとなると、ちょっと調べておこうかと、少しだけエンジンを吹かし気味で調べてみると、こんなページが見つかった。このページの 2.2 Inflections for Dictionaries が語形変化に対応するためのデータ形式のようだ。幸い、英辞郎の辞書データにも、それぞれの品詞に語形変化がある場合は、「【変化】」というヘッダとともに変化形を保持しているので、これを各エントリーで引っ張り出してきて、このような要素を作り出してやればよさそうだ。

ちょっと、心配なのは mobipocketリーダー的にはOKだが、kindleの辞書検索機能がこのデータを仕様して語形変化追従を実現しているかどうか不明な点だが、これ以外に語形変化に関するデータはなさそうなので、とりあえず、この形式のタグを含むHTMLファイルを生成するように変更してみた。

ついでに、このページ近辺の資料をもとにして吐き出すHTMLファイル自体も少し整理した。

で、結論から言うと、首尾は上々。ちゃんと、語形変化に追従して検索するようになった。これで、ずいぶん使い勝手が向上する。

ところで、前のアーティクルにいただいたコメントに対する調査で、知ったのだが、英辞郎辞書って、すでに version 118 とからしい。自分の使っている version 52って、2001年という超古いものらしい。で、最新のバージョンはunicode対応になっていて、おそらくはCSVで吐き出すデータもutf8とか、もしかするとUCS2なんてことになっているかもしれない?(さすがにUCS2ってことはないとは思うのだが)

それで、オプションで第3引数を受け付けるようにscriptを変更した。ここにutf-8とか書くと、CSVファイルをUTF-8のファイルと思ってオープンするはず。残念ながら、手元に英辞郎の118とかがないので、それ以外の問題が起こるのか?などについては試していない。

もう一つ、もともとのデータでキャリッジリターンが入っていたところ(PDICで見ると改行されて見えるところ)は、前のスクリプトでは、そのCRを除去して、後続の内容をそのまま続けていたのだが、これもkindleでのリアルタイム検索の表示用に、CRをスペースに置き換えるように変更した。貴重な2行表示を有効に使うためにワードラップしやすいようにするのが目的。

では、Eijiro.csv2html.plをここに落としておくことにする。拾った方はネコババしても大丈夫だけど、何かあったときに落とし主に文句を言わないように。

Get Adobe Flash playerPlugin by wpburn.com wordpress themes