[kindle] Kindle3の中でカラカラと……

先日届いた Kindle3。
機体を振ると、中で何かのパーツがカラカラと音を立てていますヽ(´Д`;)ノアゥア...


どうやら、このようなケースでは、自分で直接 Amazon.com にe-mail 連絡し、折り返しの電話で対応しないといけないようです orz
英語なんて話せないよ……


( ゚д゚)ハッ!
そういえば、Kindle3を購入した American Express にはコンシェルジュデスクサービスがあって、海外品物の購入代行をやってたのを思い出しました。


もしかしたら、交換 or 修理 依頼の代行を頼めるかも、との淡い期待を胸に、早速デスクに電話。


嬉しいことに、とりあえず連絡を取ってくれる事になりましたヽ(´ー`)ノ
American Express 使ってて良かった!!
アメリカン・エキスプレス


今はAmerican Expressデスクからの連絡待ち。
さてどうなることやら。。

[kindle] Kindle3で英辞郎 ver.123 を使う

書籍の自炊に精を出す毎日。衝動買いしたKindle3が届きました。
ヤホーイ。


さて、Kindleではカーソルを合わせるだけで、辞書を引いてくれる機能があるのですが、デフォルトで入っているのは英英辞典。
これを英日辞書に変換出来ないのかなぁと思って調べると、色々なサイトで英辞郎を組み込む方法が紹介されていました。


しかし、英辞郎エンコードがUTFに変わったため、既存の方法では上手く行かないようです。


試行錯誤した結果、下記の方法で上手くいきました。
嬉しいことに、かつての主流であった英辞郎をコンパクトにした「中辞郎」を使う方法よりも、今回紹介する方法の方が遙かに手数が少なくてすみます。


1. 英辞郎を入手する
 http://www.dlmarket.jp/product_info_eijiro.php/products_id/82477ダウンロード販売されています。
 ※アルクの出版しているCDでも大丈夫だと思われます。
  アルク版の場合、次手順のPDIC/UnicodeはCDに含まれているので、ダウンロードする手間が省けます。

 いずれの方法かで入手した後、辞書を任意の場所に展開しておきます。
 ※ダウンロード入手した場合は、ダウンロードした .exe ファイルを実行することで、展開できます。


2. PDIC/Unicode というソフトをダウンロード
 PDIC/Unicodeは、辞書の検索、辞書のフォーマット変換を行うソフトです。
 今回は、英辞郎のフォーマット変換の為に使用します。
 辞書の検索機能があるため、このソフトをインストールしておけば、PC上で英辞郎を使った辞書検索が出来るので便利ですよ♪


 http://homepage3.nifty.com/TaN/unicode/ からダウンロードし、インストールします。


3. 英辞郎辞書をcsv形式に変換
3.1 インストールした PDICを実行
3.2 File → 辞書設定<詳細>
3.3 使用辞書一覧側で右クリック→既存辞書の追加 で EIJI-123.DICを選択。
3.3 EIJI-123.DICを選択 → 右クリック → 辞書の変換
3.4 変換先辞書の変換ファイル形式をCSV形式に。出力先(上の欄)は任意の場所で。


PDICを使用するのはここまでなので、終了してしまってOKです。


4. csv形式からhtml形式に変換
4.1 スクリプトをダウンロード
http://ns.ttj.nu/whatiwannatalkabout/2010/08/14/%E3%82%88%E3%81%86%E3%82%84%E3%81%8F%E5%85%AC%E9%96%8B%EF%BC%9Aeijiro117-csv2html-v4-pl/ からダウンロード。
eijiro for kindle.7z」と書かれている箇所をクリックするとダウンロード出来ます。


さて、ダウンロードしたファイルは7zipという形式になっています。
もし展開出来るソフトを持っていないときは、圧縮・解凍ソフト 7-Zip からダウンロードしたツールを使用してください。


展開すると、以下のファイルが出来ます。
・Eijiro117-LinkedEntries.pl
・Eijiro117.csv2html-v4.pl


perlの実行環境が無い場合は、ActivePerlをインストールします。
http://www.activestate.com/activeperl/downloads から環境にあったものをダウンロード & インストール


4.2 以下の手順でスクリプトを実行


perl Eijiro117-LinkedEntries.pl 手順3で作成したcsvファイル UTF-16LE > linked.txt
perl Eijiro117.csv2html-v4.pl 手順3で作成したcsvファイル Eijiro123-WIK:4-ITAI UTF-16LE > eijiro123.html
引数のWIK:4-ITAI の部分はそのまま変えないで入力してください。


制作者様曰く、


WIK:nn がエントリーの語数
ITAIという文字列があると、『1語』のみをデフォルトindexとして、2語以上は「idiom」indexとする。
kindleで2語以上の辞書検索はできなくなるが、語形変化追従ケースは増える。
だそうです。
特に、"4"の部分はこれ以上大きな数値を入れないようにしてください。
この後のprcファイルを作る手順で、ツールがハングしてしまいます(メモリ不足?)。


5. Mobipocket Creator をインストール
http://www.mobipocket.com/en/DownloadSoft/ProductDetailsCreator.asp よりダウンロードし、インストール。


6. html形式からprc形式に変換
6.1 Mobipocket Creatorを立ち上げる
6.2 画面左の「Create New Publication」の「Personal Dictionary/Glossary」をクリック
6.3 htmlファイルの登録
 Add File(Item) をクリック
 先ほど生成した html ファイルを選択
6.4 wizard画面の入力
 Enter the publication Name: に Eijiro123等と入力(何でもOKです)
 必要ならば、Create in folder: の項目を変更。prcファイルがここで指定したディレクトリに出力されます。
 "Create>" ボタンで次に
6.5 Book settings 項目の編集
 Input language: の項目を English に
 Output language: の項目を Japanese に
 項目を入力したら、"Update"ボタンを押すのを忘れずに。
6.6 Metadata 項目の編集
 Main subject: の項目を Dictionaries に
 こちらも "Update"ボタンを押すのを忘れずに
6.7 prcファイルの生成
 歯車アイコンの"Build"をクリック
 "Compression options" は No Compression を選択。
  →他を選択すると、ツールがハングします。。
 "Encryption options" は No encryption を選択。
 Buildボタンをクリック


以上の手順で Eijiro123.prc (6-4で入力した名前)が生成されます。


7.デフォルト辞書の変更
PCとKindleをUSB接続し、Eijiro123.prc を Kindle の Documents フォルダにコピー


Kindleで、 Homeボタン → Settings → Menuボタン → Change Primary Dictionary で Eijiro123 を選択。



おめでとう!
以上で英辞郎の登録は完了です。
英単語にカーソルを合わせたときに、和訳が表示されるのを確認してください。
Enjoy!




追記
この記事を書いた後に、Kindle対応の「英辞郎●MOBI」なんてのを見つけやがってしまいました orz
9/2から販売だそうです。。。
http://www.east-village.jp/miru-zeal/eijiro/

ibus.el で 「、」が入力出来無かったのを解消

※最初に断りを入れておきますが、特定の文字が入力出来なかったのは、ibus.el に原因があったわけではありません。


emacs上で ibus.elを使用した日本語仮名入力を行うと、何故か「、」の文字を入力しようとしても「ね」が入力されてしまう。

原因を調べてみると、ibus-el-agentの

def process_key_event(id_no, keyval, modmask, backslash, pressed):
        ...
        keycode = display.keysym_to_keycodes(keyval)[0]

の部分で、「、」がアサインされている "<" キーの keysym値 60 を keycode に変換した際に、期待する 59 ではなく、94 が返ってきているのが原因のようだった。

xmodmap -pke で確認してみると、

  keycode  94 = less greater less greater bar brokenbar

こんな行が( ゚д゚)ポカーン


そこで、.Xmodmap に

keycode 94 =

という行を書き加えて解決。


※ターミナル上では普通に「、」を入力出来ていたので、pythonのライブラリの方は keycodeの変換ロジッがちょっと異なってるんだろうか??

riece の notificationを Snarl で行う。

Windows上での作業が多いため、Emacs はもっぱら Windows上の Xming経由で操作しています。
そんな関係上、riece(IRCクライアント)のポップアップもWindows上で受け取りたい。

そこで、Snarlの登場です。
Snarl とは Windowsのポップアップメッセンジャーで、何個か試した中で一番使い勝手が良かったツールです。


1.Snarlのインストール
full phat products – > stuff_happens: know_about_it より最新版をダウンロード & インストール
特に躓く要素は無いでしょう。


2.snarl-snpのインストール
snarl-snp とは、Linux から Windows 上の Snarl にメッセージを送るRuby用のライブラリです。
本家ページ http://d.hatena.ne.jp/kitamomonga/20100427/ruby_snarl_snp に詳しい説明があります

riece用に用意したファイルは、↓こんな感じ

#!/usr/bin/ruby
require 'rubygems'
require 'snarl/snp'
require 'nkf'

title = ARGV.shift
message = NKF.nkf('-s', ARGV.join("\n"))
Snarl::SNP.open('xxx.xxx.xxx.xxx') do |snp|
  snp.register('Ruby-Snarl')
  snp.notification(title, message)
end


3.rieceの設定
キーワードが出現したときに、Snarlにメッセージを送る設定。

(add-to-list 'riece-addons 'riece-keyword)
(setq riece-keywords '("foo" "bar" "baz"))
(add-hook 'riece-keyword-notify-functions
          (lambda (keyword message)
            (progn
              (call-process-shell-command (concat "path/to/snarl-snp.rb riece \"" (riece-message-text message) "\"" ))
              (message (riece-message-text message)))))

[emacs] Xming で ibus.el が使えない問題の暫定対処

Xmingのマルチウィンドウモード(X over ssh)で立ち上げている emacsibus.el が正常に動かない問題の暫定対処。
事の発端 => emacs で ibus-mozc を使う - プログラム番長のヲボエガキ

ibus.el とは => ibus.el version 0.1.0 リリース - irieめも


直接の原因は、

(x-window-property "_NET_ACTIVE_WINDOW" nil "WINDOW" 0 nil t)

で値が取得出来ていない所にあった。


試しに xprop で確認しても、プロパティ "_NET_ACTIVE_WINDOW" は登録されていない。


そこで、エイヤァと、ibus-get-active-window-id をいい加減実装に。

(defun ibus-get-active-window-id ()
  (string-to-number (frame-parameter (selected-frame) 'outer-window-id)))

自分環境では、active-window-id は outer-window-id と同じ! きっとそうに違いない!!


※意外とこの対応で良かったりするんじゃないかな? とか思ったりするのだけれど、どうなんだろう??

Win版Tomboy のインストールと、日本語入力がインラインで出来ない問題の対処

Linux版を X over ssh で使用していると、Emacsキーバインドに変更が出来ない(やり方が分からない)ので、とりあえず Win版をインストールし、窓使いの憂鬱との併用で急場をしのいでます。。

インストール
http://live.gnome.org/Tomboy/Installing/Windows の手順に従い、gtk-sharpTomboy の順にインストール

UbuntuOneでの同期設定
Preference→Synchronizationを選択し、下記の設定を行う

Service: "Tomboy Web"
Server: "https://one.ubuntu.com/note/"



日本語入力がインラインに表示されない問題の対応
gtk に imime というモジュールをインストールすれば解消される。

手順
ダウンロードファイル一覧 - GTK+ immodule実験室 - OSDN より、imime-0.1.2.zip をダウンロード
アーカイブの中身のim-ime.dll を C:\Program Files\GtkSharp\2.12\lib\gtk-2.0\2.10.0\immodules\ にコピー
・C:\Program Files\GtkSharp\2.12\bin\gtk-query-immodules-2.0.exe を実行し、出力された内容でC:\Program Files\GtkSharp\2.12\etc\gtk-2.0\gtk.immodules を上書き

 % gtk-query-immodules-2.0.exe > gtk.immodules


参考リンク
imime - Windows IMEをGTK+2で利用するためのimmodule

emacs で ibus-mozc を使う

1.ibus.elの導入
emacsから ibus を使用するには、ibus.elが必要

X over ssh な環境では何故か上手く動いてくれない(FEP on の時に入力している文字が、emacs のバッファに書き込まれず、ibus側に奪われてしまう)。
通常にローカルログインした状態だと正常に使えるので、設定間違いとかでは無いと思われる。
#全然分からないけど、pythonコード読んでみようかな……


2.mozcのインストール
本家ページに記述があるが、下記の手順を行う

% sudo apt-get install gyp
% mkdir -p ~/src/mozc           
% cd ~/src/mozc         
% svn co http://mozc.googlecode.com/svn/trunk/src               
% cd src
% debuild -uc -us
This package has a Debian revision number but there does not seem to be
an appropriate original tar file or .orig directory in the parent directory;
(expected one of mozc_x.x.x.x.orig.tar.gz, mozc_x.x.x.x.orig.tar.bz2,
mozc_x.x.x.x.orig.tar.lzma or src.orig)
continue anyway? (y/n)   y
...
Finished running lintian.

% sudo dpkg -i ../ibus-mozc_x.x.x.x_*.deb ../mozc-server_x.x.x.x_*.deb ../mozc-utils-gui_x.x.x.x_*.deb

参考リンク


3.ibusが立ち上がらないとき
※この手順は、emacsのみ使用する場合は不要。
 → ibus.el の ibus-el-agent が ibus-daemon を -d オプションで立ち上げている
ibus-daemon が起動しているかチェック

起動していないときは、

% ibus-daemon -dx

を行う。

また、既に立ち上がっているibus-daemon に -x もしくは --xim オプション指定が無い場合は、

% ibus-daemon -drx

を行う