PR

IMEのダム名辞書を作った

開発その他
この記事は約2分で読めます。
スポンサーリンク

ダム名は難しいです。変換できないダムもたくさんありますね。

「さぐりがわ」→「三国川」
「ひなち」→「比奈知」

うちの環境(Microsoft Office IME2010)では、変換できませんでした。
三国川ダムに行ったこと無かった時は、「みくにがわ」と読んでました。まぁ他にも読み方しらない、間違えて読んでるダムってまだまだあると思います。

一個一個気づいた時点で登録していくのもありなんですが、ユーザー辞書はテキストファイルから取り込みが可能です。これ、人生で一度もやったことなかったんだけど、せっかくだからそれやろう!ってことで、作ってみました。テキストファイル。

[よみ][TAB][単語][TAB][品詞]

上記のように、タブ区切りで作れば良いとのことで、簡単じゃん!と思って作ったんですね。

さぐりがわ[TAB]三国川[TAB]地名

これ、ダメなんですね。IMEの単語の登録画面は地名って言う品詞を選べるです。なので、地名で良いんだって思ったんです。

けど、[ユーザー辞書ツール] → [ツール] → [テキストファイルから登録] で作成したファイルを選択して実行してみるとエラーになりました。

”! 品詞の指定を確認してください”

エラーログにこう出力されまくりでした。どうやら地名としての登録はできないようですね。ダム名を地名で登録するのがそもそも正しいのかどうかはわからないけど、調べてみるとMicrosoft IMEでは[地名その他]と登録するのが正しいようです。
他にもいろいろあるようで、「品詞 コンバート IME」なんかで検索すると早見表が出てきます。

しかし、登録した数が数だけにユーザー辞書に入れているのは後でユーザー辞書ツールの画面を開いたときに登録した単語が多すぎてなんだか嫌だし、大体揃ってるのでシステム辞書にしました。[ツール] → [システム辞書の作成]

これで、変換できなかったダム名が変換できる!比奈知なんて比奈地しか出なかったし不便だったんですよ。

データの作成はPHP×SQLiteです。SQLiteはchr関数が使えないようなのでPHPでファイル出力しました。
sqliteだけでもTAB形式出力はできるそうですね。.mode tabsとすることで、select結果をTAB形式で出力してくれるそうです。
でもコマンドプロンプトからsqliteの操作はやったことないのでPHPでFetchしながらテキストに追記していく方が楽だw

コメント

タイトルとURLをコピーしました