« ドイツ語多読本: Torben Kuhlmann: Maulwurfstadt | トップページ | Kindle:アップデート5.7.2がamazon.comに(追記:日本でもリリース & 5.6.5jailbreakも) »

2016年1月31日 (日)

Kobo: ハイフネーション辞書のカスタマイズ、カスタム辞書の復元

Koboのハイフネーション辞書のカスタマイズと、同期のたびにオリジナルの辞書に戻されてしまうカスタム辞書をリストアするスクリプト。

Kindleは文字揃えが両端揃えしかなく、Koboのように文字揃え「オフ」「左揃え」「両端揃え」の切り替えがない。
ハイフネーションなしで両端揃えで問題なのは、長い単語が続くと、単語が3、4個しかなく、スペースの大きい、間延びした行ができること。行末の単語をハイフンで切って次行に渡してやることができれば、単語間のスペースの不揃いも緩和される。

Kindleは去年FW5.6.5になってようやくハイフネーションができるようになった。だが、epub勢は以前からできていたこと。何をいまさらな感じだし、その上、Kindleは本自体も新しいKFXフォーマットでなければ、ハイフネーションできない。これまでのフォーマットの本は作り直しも必要になるという、なんだか面倒なもの。

koboのkepubはハイフネーションに問題があった時期があったが、今はそれなりに使えるようだし、Koboのハイフネーション辞書のカスタマイズについて。

◎ハイフネーション辞書のカスタマイズ
◯ハイフネーション辞書の場所
/usr/local/Kobo/hyphenDicts/ にある。
hyph_it.dic (イタリア語)、hyph_pt.dic (ポルトガル語)、hyph_de.dic (ドイツ語)、hyph_en.dic (英語)、hyph_nl.dic (オランダ語)、hyph_es.dic (スペイン語)、hyph_fr.dic (フランス語)が含まれている。

ただのテキストファイルなので、エディタで編集する。
ファイルの中を見ると、koboのハイフネーション辞書では、

LEFTHYPHENMIN 5
RIGHTHYPHENMIN 5

となっている。
この数値でハイフネーションの頻度が変えられるらしい。数値を小さくすると、ハイフネーションが起こりやすくなる。
LEFTHYPHENMINは、単語をハイフンで切ったとき、その左側の最小文字数
RIGHTHYPHENMINは、単語をハイフンで切ったとき、その右側の最小文字数
らしいのだが、いまひとつよくわからない。でも、実際にやってみると、数値を減らすと行末でハイフネーションされる単語が増える。

LEFTHYPHENMIN 2/RIGHTHYPHENMIN 3にしているという人をよく見かけるが、ただしkepubはepubより数値は一つ少なくカウントするらしい。
http://www.mobileread.com/forums/showpost.php?p=3247581&postcount=5

ハイフネーション辞書を他のもの(たとえばLibreOfficeのもの)と入れ換えることもできる(後述)。

◯変更の仕方
ハイフネーション辞書のある/usr/local/Kobo/hyphenDicts/はシステム領域にあるので、USBでPCにつないでもアクセスできない。したがって、

1) telnet/sshが使えるなら、koboにログインしてエディタ(vi)でハイフネーション辞書を変更すればよい。変更した後は、再起動が必要。

2) telnet/sshが使えないなら、
1. FWをダウンロードして解凍、さらにKoboRoot.tgzを解凍して、ハイフネーション辞書を取り出す
2. ハイフネーション辞書(hyph_??.dic)を変更
3. /usr/local/Kobo/hyphenDicts/hyph_??.dic を、このフォルダ構成のまま、アーカイバでKoboRoot.tgzにする
4. それを端末の.koboフォルダにコピーしてアップデート

3) HyphenDicts
下のランチャーを使うので、試していない。が、リンクだけでも。
http://www.mobileread.com/forums/showthread.php?t=266005

4) KoboLauncher for db用のスクリプト
http://www.mobileread.com/forums/showpost.php?p=2582211&postcount=101
このカスタム辞書を復元するスクリプトに、ハイフネーション辞書を更新するスクリプトを追加する形で作ってみた。ランチャーを使っている人はこれで。

ダウンロード: KoboLauncher_hyphdic_scripts.zip

インストールはKoboRoot.tgzを端末の.koboフォルダにコピー、再起動、でおしまい。

使い方
1. ランチャーを起動して、まず一度「カスタム辞書 / hyphenation辞書 更新」をタップする
これで、koboのシステム領域からハイフネーション辞書が、USB接続してPCからアクセスできる領域に(customdictフォルダ)にコピーされる。
2. koboをPCにつないで、customdictフォルダ内のハイフネーション辞書を変更する
(エディタは念のため改行コードがunix式ものを)
3. USB接続を解除したら、先にkoboを再起動する
4. 再起動後、ランチャーを起動して、「カスタム辞書 / hyphenation辞書 更新」タップ

以上で変更が反映される。

◯ハイフネーション辞書をLibreOfficeのものに入れ換える
LibreOfficeの言語サポートページ
https://wiki.documentfoundation.org/Language_support_of_LibreOffice

ドイツ語を例にすると、
"German (de-DE frami) dictionaries"のページを見るとハイフネーション辞書も含まれているのがわかる。dict-de_DE-frami_2015-12-28.oxt(現段階の最新版)をダウンロードする。

このLibreOfficeのエクステンション(*.oxt)はzipファイルなので、普通に解凍できる。
この中に、hyph_de_DE.dic がある。
これをhyph_de.dicにリネームして、Koboのオリジナルのハイフネーション辞書と入れ替えればよい。telnet/sshを使うなり、KoboRoot.tgzにするなり、ランチャーを使うなり。

koboについてくるものより新しいし、詳しそうなので、とりあえずこっちを使うことにした。

◯ハイフネーション辞書をさらにカスタマイズ
Nierenerkrankung(NierenとErkrankungの合成「腎臓が病む」)がNiere-nerkrankungと変な具合にハイフンで切られたので、ちょっと試しに変更。
参考:
http://localization-guide.readthedocs.org/en/latest/guide/hyphenation.html

hyph_de.dicに
 nie1re2n3
というのを試しに追加してみた。これでいいものかどうかまるで自信がないが、変な切り方はしなくなった。

上のページの説明によると、奇数がハイフネーションを許可する箇所、偶数がハイフネーションを許さない箇所、数字は大きい方が優先されるらしいのだが、もう少し調べないと・・・・。

ともかく、変なハイフネーションがあったら、そのつど辞書に追加していけば、ハイフネーション辞書を育てていくこともできるだろう。


◎カスタム辞書の復元
カスタム辞書については「Koboにカスタム辞書を追加するには」(ちょっと古い記事)、「Kobo: フリーの辞書をKoboの辞書に変換」など参照。
同期をとると、カスタム辞書はかならずオリジナルの辞書に戻されるので、その対処。
もうパッチで対処している(Change dicthtml strings to michthtmlパッチ)ので使わないが、パッチをあてない人はこちらで。

1. customdictフォルダにカスタム辞書を入れておく
2. 同期で辞書がオリジナルに戻されたら、ランチャーの「カスタム辞書 / hyphenation辞書 更新」で戻す

こちらの方式では同期の度にオリジナルの辞書がダウンロードされてくるので面倒。辞書のダウンロードが始まったら同期を切ればいいんだが、そのタイミングを知るために画面を見ていなければならないし。


|

« ドイツ語多読本: Torben Kuhlmann: Maulwurfstadt | トップページ | Kindle:アップデート5.7.2がamazon.comに(追記:日本でもリリース & 5.6.5jailbreakも) »

kobo」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/592212/63135408

この記事へのトラックバック一覧です: Kobo: ハイフネーション辞書のカスタマイズ、カスタム辞書の復元:

« ドイツ語多読本: Torben Kuhlmann: Maulwurfstadt | トップページ | Kindle:アップデート5.7.2がamazon.comに(追記:日本でもリリース & 5.6.5jailbreakも) »