iPad で医学用語を漢字変換したい

背景

昨年まで医学の勉強ノートは紙で作成していたが、検索可能性などの観点から今後はデジタル入力することにした。実習の空き時間に作成を進めたい&手書きメモを入れたいので iPad を用いるのが理想だが、医学用語辞書が登録されていないため入力に手間取るという問題点がある。これに関して、以下のような手順による解決を検討した (なお、現時点では手持ちの Mac がないと厳しいという結論になっていますが、iCloud の辞書共有など OS X に依存しない導入法をご存知の方はご教授ください)。

手順

既存のユーザ辞書データのバックアップ

すでに登録されているデータに追加することになるため、一応バックアップを取っておくことを推奨する。方法は こちら を参照。

医学用語変換辞書データの入手

医学用語変換辞書データとしては、DMiME 医学用語変換辞書 (https://ja.osdn.net/projects/dmime/) が有名である。まずこちらの Mac 日本語 IM 用を Mac にダウンロードする。

ユーザ辞書データへの変換

上記のファイルを システム環境設定>キーボード>入力ソース>追加辞書 から参照すれば Mac では上記辞書データを使えるようになるのだが、残念ながらこれは iCloud 同期の対象とならないためこのままでは iPad で利用できるようにはならない。そのため、システム環境設定>キーボード>ユーザ辞書 の方で単語登録を行う必要がある。こちらは先ほど読み込んだファイル形式 (txt) に対応していないため、辞書データを plist 形式に変換する以下の Python スクリプトを書き、実行した。DL したファイル (DMime-1.1-mac.txt) をワーキングディレクトリに置き、plist ファイル (dmime.plist) を出力する。

import numpy as np

dmime = np.loadtxt("DMime-1.1-mac.txt", delimiter=",", dtype=object)

header = r"""<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version = "1.0">
<array>
"""
before_yomi = r"""    <dict>
        <key>phrase</key>
        <string>"""

between_yomi_kanji = r"""</string>
        <key>shortcut</key>
        <string>"""

after_kanji = r"""</string>
    </dict>
"""

footer = r"""</array>
</plist>
"""

plist_str = header
for i in range(len(dmime)):
    kanji = dmime[i, 0]
    yomi = dmime[i, 1]
    plist_str += before_yomi + yomi + between_yomi_kanji + kanji + after_kanji

plist_str += footer

with open('dmime.plist', mode='w') as f:
    f.write(plist_str)

ユーザ辞書への登録

こうしてできた dmime.plist をシステム環境設定>キーボード>ユーザ辞書 の一覧部分にドラッグ&ドロップすれば単語登録は完了であり、あとは勝手に iCloud でサインインしている全ての端末と同期される。なお、登録時に日本語入力システムが応答なしになる現象や iPad との同期の遅れ (こちら 参照) も報告されているため、時間に十分な余裕があるときに行うことをおすすめしたい。

感想など

上記のような手順を踏まなくても、今回作成した plist ファイルを公開してしまえばドラッグ&ドロップだけで辞書登録ができるようになると考えられるが、著作権の関係で再配布は禁止と思われる。

ただ、上記のツイートから窺えるように DMiMe の開発者の方も iOS 端末への対応を検討しているようなので、plist ファイルの公開を開発者に打診してみることも視野に入れていきたい。