[UPDATE8]iBooksのルックアップ辞書を英和・和英/国語辞典にする

iPadの目玉アプリのひとつがiBooks。まだiBookStoreには日本語書籍はなく洋書が並んでいるだけなのでiPad User Guideをダウンロードして使ってみていたところ、Kindleのように辞書をルックアップして意味を表示する機能があることに気がついた。英和辞書なら便利だなと思っていたところJailbreakしていればカンタンにできることがわかったのでその備忘録。

[Updated on August 5, 2010]
JailBreakせずに辞書を切り替える方法が紹介されたブログがありますので、まずはそちらをおすすめします。
iBooks (iPad 電子書籍) で英和辞書を表示させる裏技

[Updated on November 30, 2010]
JailBreakをせずに設定する方法がありましたので当ブログの別エントリ”iBooksのルックアップ辞書を英和・和英にする方法”にまとめました。

注意喚起情報[Updated on August 5, 2010]
以下に紹介する方法はJailBreakが必要になります。JailBreakされたiPhone/iPad/iPod touchはメーカー保証対象外となるため動作不良や故障に陥ってもサポートを受けることができません。万一の際には保証期間内であっても有償となってしまいます。また、JailBreakはアップル社の施したセキュアな枠組みを無効化することになるため、外部からの侵入によってウィルスに感染し動作が不安定になったり、個人情報等が流出してしまう可能性(危険)を伴うものです。さらに、JailBreakされたiPhone/iPad/iPod touchにAppStore以外で配信されるアップル社が承認していないサードパーティー製のアプリケーションをインストールする行為は、その安全性が保証されておらず悪意のあるプログラムが混入している可能性もあり、未知なる危険を伴うものです。これらのリスクを理解出来ない、または自ら当該リスクに対処することができない場合はJailBreakしないようにしてください。

JailBreakとその危険性についてはこちらのサイトで詳細に説明されていますので是非確認してください。
をぢの日記【iPhone_JB】Jailbreakによるリスクと問題について

普通は英英辞書データが表示されるが英和辞書データをルックアップ
IMG_0049

iBooksのルックアップ辞書の英英辞書データを探したところ、/Library/Dictionaries/に各種辞書が格納されていた。なんと英和・和英辞書データも格納されており、他にも類語辞書や国語辞書も入っている様子。これは話が早い(Kindleでは英和辞書を英辞郎データから作る必要があった)。
/Library/Dictionaries/Apple Dictionary.dictionary
/Library/Dictionaries/New Oxford American Dictionary.dictionary
/Library/Dictionaries/Oxford American’s Thesaurus.dictionary
/Library/Dictionaries/Shogakukan Daijisen.dictionary
/Library/Dictionaries/Shogakukan Progressive English-Japanese Japanese-English Dictionary.dictionary
/Library/Dictionaries/Shogakukan Ruigo Reikai Jiten.dictionary

ルックアップさせる辞書データをどこかで制御しているはずなので探したところ、iBooks.app下のサブディレクトリ(/var/mobile/Applications/iBooks/iBooks.app/Japanese.lproj/DefaultDictionaries.plist)に発見した。標準ではオックスフォード辞書2つが設定されているのでこれを変更する。英語の類語辞書は引けても英語から日本語の類語は引けないので設定しても無駄かもしれない。念のためplistは編集前にバックアップを取っておく。

デフォルト設定
<key>DCSDefaultActiveDictionaries</key>
<array>
 <string>/Library/Dictionaries/New Oxford American Dictionary.dictionary</string>
 <string>/Library/Dictionaries/Oxford American Writer’s Thesaurus.dictionary</string>
 <string>/Library/Dictionaries/Apple Dictionary.dictionary</string>
</array>

赤字部分をそれぞれShogakukan Progressive English-Japanese Japanese-English Dictionary.dictionary、Shogakukan Ruigo Reikai Jiten.dictionaryに変更して保存。ホームスクリーンからiBooksを起動するだけ。RespringやRebootは不要。

plistにはデフォルトの辞書も設定されており、DCSDefaultActiveDictionariesで指定された辞書データが何らかの理由で参照できない場合に使用される感じ。オックスフォード辞書と英和・和英辞書、類語辞書などあるだけ指定してみたところ、オックスフォード辞書しか表示されなかった。並び順などもひょっとすると優先順位などを意味するのかもしれない。

電子ブックリーダーとして、辞書のルックアップ機能というのは非常に魅力である。読んでいる時に英単語や語彙をすぐ確認できるのだから。Kindleも同じ機能があるものの英和辞書データは入っていないため自力で入れる必要があったし苦労したが、このiPadはなんだろ?すごすぎる。国語辞典、類語辞典まで搭載している。和書データであれば日本語の意味や類語を表示できるかもしれない。

日本語のePubサンプル( ePub変換”>青空文庫 (XHTML) -> ePub変換)をiBooksに入れて試してみたところ、ちゃんと大辞泉から引っ張ってきた。いろいろと夢が膨らんだ感じ。

IMG_0051

実はちょっと面倒。DefaultDictionaries.plistのDCSDefaultActiveDictionariesセクションの辞書データは参照優先順位に並んでいるらしく、上位データがヒットすると下位辞書データは参照しない。そのため国語辞典、英和・和英辞典のどちらを上位にするかで表示される内容が異なってしまう。たとえば国語辞典を下位にすると日本語の意味を知りたいのに英訳が表示されたり、国語辞典を上位にして洋書でルックアップするとカタカナ英語などは国語辞典から引っ張ってきてしまう等の不都合が生じる。

現在のところiBooksで読める日本語書籍データが普及していないため支障はないように思う。iBookStoreでダウンロード出来る頃には、ルックアップで参照する辞書を自分で選択できるような機能が追加されていると想像する。

–Updated on June 4, 2010
ツイッターでお世話になっている @hitoriblogさんが設定画面から最優先する辞書を手動で選択できるtweakを作ってくださっています。これは便利です。iBooks、Pagesのほか、KeynoteやNumbersでも辞書対応しているようです。

iPadのポップアップ辞書環境を少し改善するDicSelector

いろいろと

  • 辞書データ格納場所がiBooks.app下ではないので他のアプリでも共用できるんだと思う。
  • iBooksに限らず範囲選択したときに出てくるメニューに”辞書”みたいな機能も出てきたらこれはスゴイ。

–Updated on July 5, 2010
iBooksのバージョンアップにより上記方法ではルックアップ辞書を変更不可になっていました。確認したところiBooks.appのディレクトリ直下に “BKDictionaryManager_LanguageToOrder.plist” というファイルがあり、ルックアップ辞書をコントロールしている様子。DefaultDictionaries.plistの役割がどのように変わったかは不明。BKDictionaryManager_LanguageToOrder.plistを次のとおり変更する。辞書の並びは自分の参照したい順番に変更する。作業前にバックアップ推奨。

<dict>
<key>en</key>
 <array>
  <string>com.apple.dictionary.PEJ-PJE</string>
  <string>com.apple.dictionary.NOAD</string>
  <string>com.aplple.dictionary.OAWT</string>
  <string>com.apple.dictionary.AppleDictionary</string>
 </array>
<key>ja</key>
 <array>
  <string>com.apple.dictionary.Daijisen</string>
  <string>com.aplple.dictionary.ruig</string>
  <string>com.apple.dictionary.PEJ-PJE</string>
 </array>
</dict>

書籍データの言語に基づき呼び出す辞書を決定しているので、英語書籍データの場合に優先辞書を英和和英になるよう追加する(赤字部分)だけ。前バージョンでは書籍データの言語に応じて英和辞書と国語辞書の優先順位を変更しなければならない場面もあったが、今回のバージョンアップでその手間はほぼ不要になった。

なお、Pages、Keynote、Numbersはバージョン改訂されていないので、まだDefaultDictionaries.plistが有効に機能している。

moyashiさん(@hitoriblog)が公開してくださったDicSelectorはiBooks1.1では機能しないため現在レポジトリでは公開停止になっています。 (2010年7月20日修正)iBoks1.1対応バージョンがリリースされております。

–Updated on July 20, 2010
iBooksがバージョンアップして1.1から1.1.1になりましたが、辞書をルックアップする機能に変更はないようです。BKDictionaryManager_LanguageToOrder.plistに辞書の優先順位を追加・変更する方法が使用できます。

なお、moyashi(@hitoriblog)さんが設定画面から辞書の優先順位を切り替えるDicSelectorも対応してくださっています。直接plistを編集する手間が省けて非常に便利です。
iBooks等のポップアップ辞書で使う辞書を選択可能にするDicSelector

–Updated on July 24, 2010
iBooksがバージョンアップして1.1.2になった。BKDictionaryManager_LanguageToOrder.plistに辞書の優先順位を追加・変更する方法は健在。DicSelectorも問題なく動作することを確認した。

動作環境
iPad WIFI+3G 16GB-USA iOS3.2 Spirit Jailbreak済み

[UPDATE1]HTC Desireで黒SIMのMMSができた

HTC Desire SIMロックフリー版で黒SIMのMMSを利用できるようにしたのでその備忘録。Android初心者なのでroot化が前提の作業で不安を抱えながらだったけど、なんとかできた。iPhoneのJailbreakのように紹介サイトがすくなくこの手順があってるかわからないけど忘れるといけないのでその記録を残しておく。

HTC Desireが自分のメインになれない理由のひとつに「MMSが利用できないこと」があったので、これで利用する頻度が増えそう。

メッセージの送受信した相手別に表示
5-mms-all-thread

注意喚起情報
HTC Desire SIMロックフリー版のためSoftBankから発売されたX06HTとは異なります。

参考サイト
root化:24/May r5 – HTC Desire rooting guide – now with HBOOT 0.80 and OS to 1.21 support
MMS導入:HTC Desire(X06HT)で Softbank MMS対応する方法 Mms.apkの差し替え

準備する
Android SDK
root化したHTC Desire本体(参考サイト)
Mms.apk(参考サイト)

始める

  1. 母艦にDisk driveモードで接続し、Yokin’s Studioさんのサイトからダウンロードした”Mms.apk.jakeMod3″をSDカードにコピー。
  2. USB debuggingモードにする。Settings>Applications>DevelopmentからON/OFFできる。
  3. 電源OFFして、戻るボタンを押しながら電源ON。
  4. “BOOTLADER”を選択した後のメニューで”RECOVERY”を選択する。ここで本体が再起動し、赤い三角形のマークが画面中央に表示された状態になる。
  5. Terminalからroot化する際にダウンロードしたZIPファイルに含まれる”recovery-mac.sh”(Winマシンなら多分”recovery-windows.bat”)を実行しSystem Recoveryモードに入る。

    Android system recoveryに入ったところ
    desire-recovery2

  6. TerminalでAndroid SDKのtoolsディレクトリに移動し”./adb shell”を実行。root化されていればプロンプトは”#”になっているはず。
  7. そのまま以下のコマンドを実行。

    # mount /sdcard/
    # mount /system/
    # cp /sdcard/Mms.apk.jakeMod3 /system/app/mms.apk
    # cd /system/app
    # rm Mms.odex
    # reboot

  8. HTC DesireのMessagingを起動するとビジュアルが変わっているはず。menuボタンからSettingsに入り”Custome User-Agent”で”iPhone(3.0)”を選択。
  9. HTC Desire本体のMMSに関する設定を以下のとおりにする。Settings>Wireless&networks>Mobile networks>Access Point Namesを選択して、APN設定がされていない状態であれば、menuボタンからNew APNで新規作成する。

    APN: smile.world
    Username: いつものやつ
    Password: いつものやつ
    MMSC: http://mms/
    MMS proxy: smilemms.softbank.ne.jp
    MMS port: 8080
    APN type: default,supl,mms (ブランクでもいいかも)

参考スクリーンショット
TOPに表示した画像はMessagingを起動したところ。送受信した相手が一覧で表示され、名前の脇に括弧内に送受信合計件数が表示されるほか、最後に送信または受信した時間、タイトル名が表示される。画像は連絡先に登録されているものが使用される。以下、メッセージの作成画面と相手とのやりとりをスレッド表示したところ。

メッセージの作成画面でメニューボタンを押したところ
2-edit-mms

相手との送受信記録がスレッド表示
4-mms-thread

動作環境
 HTC Desire SIMロックフリー版(root化済み)FW2.1-update1
 MacBook(MB404J/A) Mac OS X 10.6.3