[PocketCafe トップ] [Pocketに書斎][Pocket日記] [Mail]

CE2.0ATOK使

作成日 99/05/15
更新日 99/07/03

★カシオペアにATOKの辞書を載せよう!

5月14日に発売された新ペルソナに、ATOKがプリインストールされました。羨ましい限りです。ATOKのAI変換の性能のよさは、一度使うと某社製のIMEなんぞ使えなくなるくらいです。これがついにCEに載るのです。羨ましい!
ペルソナに載る「ATOK Pocket(エイトック ポケット)」は、ROMに焼かれた状態で販売されます。「ATOK Pocket」単体売りがあるのかは微妙なところですが、もしジャストシステムから購入できたとしても、かなりのファイル容量になることは目に見えています。辞書ファイルはストレージ(コンパクトフラッシュや、PCメモリカードなど。内蔵RAM以外の記憶装置)には置けないので、旧ペルソナやモバギUならともかく、メモリを増設できないカシオペアに搭載することは不可能でしょう(泣)。

とはいえ、なんとかして、ATOKの優れた性能をカシオペアでも使えないものか。

いろいろ探してみると、Windows CE FAN のサイトに、(パソコン用の)ATOKの辞書を、CEに搭載する方法が掲載されていました。
ATOKそのものの搭載は無理でも、豊富に単語登録されているATOKの辞書を積めば、変換効率はよくなるわけです。

今回、「IME97辞書のATOK化」をWindows CE FANに掲載されたオーラさんに、引用許可をいただきましたので、めでたく掲載の運びとなりました。
文中の内容は、オーラさんのサイトの情報をもとにしています。早い話がパクリであり、自力で見つけた必殺技ではありません。快く引用を許可してくださったオーラさんに、この場を借りて厚く御礼申し上げます。

☆オーラさんには引用の許可をいただいていますが、結果的に、「引用」というより「参考文献」になってしまいました。

※辞書のATOK化についての注意事項

  1. 辞書を最適化するため、レジストリを変更します。ですから、レジストリのことをまったく知らない方、レジストリの復元の仕方がわからない方は、ATOK化をご遠慮ください。レジストリの編集を誤ると、最悪の場合、全データの消去ということもあり得ます。
  2. したがって、ATOK化を行う場合は、必ず、全データおよびレジストリのバックアップを取ってください。
  3. 文責はMIDにありますが、ATOK化を行ったことにより発生する不具合等(データの消去、RAMの物理的破損など)について、MIDは責任を負いかねます。記述に間違いがあった場合についても同様です。ATOK化は、各自の判断で行ってください。質問については、掲示板上にてのみ、わかる範囲でお答いたします。しかし、すべての質問にお答えできる保証はありません。
  4. もともと、辞書のATOK化は、モバギUのような、RAMに余裕のあるハンドヘルドPC向きの作業です。カシオペアにはRAMが8MBしかないので、たくさんの品詞を登録すると、メモリ不足となり、動作が不安定になります。メモリ容量と相談の上、必要な品詞だけを抽出して、辞書を作成してください。

◆準備するものと作業の手順

必要なものは、ATOK12(辞書ユーティリティーで、登録単語をテキストに落とせるのであれば、どのバージョンでもでもいいそうです)、IME97(IME95やIME98ではだめです)、それに、Windows95が動作するパソコンです。さらに、WindowsCE上でレジストリを編集するので、ハンドヘルドPC用のレジストリエディタも用意してください。
  1. ATOKの辞書ユーティリティーを使って、辞書の内容をテキストファイルに書き出す。
  2. 作ったテキストファイルをワードパッドなどで開き、ATOK独自の品詞を、IME97の品詞に変更する。
  3. IMEをIME97に切り替え、新規ユーザー辞書を作成する。
  4. 新規辞書に、3で作ったテキストファイルから、単語を一括登録する。これでATOK辞書が完成。
  5. できあがった辞書を、CEにコピーする。
  6. CEのレジストリエディタでレジストリを編集し、ATOK辞書をCEのシステム辞書に設定する。
  7. リセットして完了。

◆辞書の内容をテキストファイルに書き出す

まず、ATOKの辞書ユーティリティーを起動します。ATOK12の場合、ATOKパレットの右から二番目のボタン(図の○で囲まれたボタン)を押せばOKです。
ATOK12のツールバー
ATOKの辞書ユーティリティーが起動したら、「一覧出力」を選びます。
出力ファイル名に、任意のファイル名を記入します。ファイルはテキストを指定し、フルパスで書きましょう。たとえば「c:\data\atok_verb.txt」のようにします。
「開始読み」を「あ」、「終了読み」を「ん」とし、種類欄はすべてにチェックをつけます。
対象品詞を選びます。カシオペアのようにRAMの容量が少ないハンドヘルドPCでは、すべての品詞の含む辞書は重すぎて使えないので、「動詞だけ」「地名だけ」というように、品詞を指定して辞書ファイルを書き出します。

なぜ品詞を指定して辞書ファイルを書き出すかと言えば、すべての品詞を抽出してしまうと、ファイルがとんでもない大きさになってしまうからです。
CEは、辞書をメモリに常駐させています。だから、3Mの辞書を作ってしまうと、辞書をストレージ上に保存したとしても、常に3MBのメモリが辞書ファイルに使われてしまいます。RAM上に辞書をおいた場合、単純に計算すると、何もしなくても6MBのメモリが辞書だけに占められることになるのです(厳密に言うと、6MBも使われないけれど)。
だから、必要な品詞だけを書き出して、辞書を作成した方がよいのです。

辞書ファイルを品詞ごとにわけると、もうひとつメリットがあります。もし、すべての品詞を書き出したい場合でも、品詞ごとに別辞書を作成しておけば、ひとつの辞書が壊れたとしても、壊れた辞書だけを再度ハンドヘルドPCにコピーし直すだけで済みます。

「実行」ボタンを押すと、単語の出力が始まります。書き出しは、けっこう時間がかかります。

◆作ったテキストファイルを修正する。

テキストファイルができあがると、細かい修正をするために、エディタ(メモ帳以外)やワードパッドでファイルを開きます。
何を修正するかというと、IME97とATOKとでは、品詞名が少し違うのです。品詞名が違うとちゃんと辞書ファイルに登録できないので、ATOK独自の品詞名を、IME97の品詞名に変更してあげます。

例) サ変五段→さ変五段
ワ行五段→あわ行五段
固有人姓→姓
固有人名→名
名サ形動→形容動詞
形容詞ウ→形容詞
形動タリ→形容動詞

変更は、エディタの「置換」機能を使って、一括変換してしまいます。
置換ダイアログ

◆新規ユーザー辞書を作成し、単語を一括登録する。

変換が終われば、いよいよ、IME97でユーザー辞書を作成します。
まず、IMEをATOKからIME97に変更します。
IME97のパレットが表示されたら、「プロパティ」ボタンを押して「IME97のプロパティ」を開き、その中の「辞書/学習」タブを選びます。
IME97のシステム辞書に登録されている単語は、エラーとなって登録できません。ですから、IME97のシステム辞書を外しておかなくてはならないのです。でも、全部のシステム辞書を外すことはできないので、郵便番号辞書などだけを残しておけばいいでしょう。
IME97のプロパティ

次に、このウインドウにある「辞書ツール」ボタンを押して辞書ツールを起動します。
辞書ツールの新規作成ボタンを押すと、新規ユーザー辞書が作成できますので、わかりやすい名前をつけます(例:動詞辞書ならdosi.dicとかverb.dicなど)。こうしてできたまっさらの辞書ファイルに、先程書き出したテキストから、単語を登録します。
単語の一括登録は、メニューの[ツール]-[テキストファイルからの登録]を選び、先程書き出したテキストファイルを指定すればOKです。
辞書ツール

この作業を、作成する辞書の数だけ行います。

◆辞書ファイルを、CEにコピーする。

さて、ようやく、パソコンで作成した辞書ファイルを、ハンドヘルドPCにコピーします。辞書は、本当はメモリ上に置いておくのが一番いいのだけど、カシオペアはメモリが8MBしかないので、ストレージにコピーします。あまり階層を深くすると、あとあと面倒なので、ストレージカードのルートに「Atok」というフォルダを作成し、そこにコピーします(フォルダ名は何でもいいですが、習慣的に、アルファベットを使うようにしましょう)。
もちろん、メモリに余裕があるのでしたら、メモリ上にコピーしてもOKです。
僕は文書を大量に書く方なので、「動詞辞書」、「名詞辞書」、「地名・人名辞書」の3辞書を作成しました。それぞれの容量は、次の通りになりました。

動詞辞書:atok_verb.dic:374KB
名詞辞書:atok_noun.dic:1,706KB
地名・人名辞書:atok_name.dic:714KB

これで、パソコン上での作業は終わりです。

◆CEのレジストリエディタでレジストリを編集する。

辞書のコピーが終わりましたら、ATOK辞書をハンドヘルドPCのシステム辞書に設定するため、レジストリを編集します。
当然、レジストリエディタが必要です。僕は、レジストリの編集に、TascalRegEditを使いました。
まず、レジストリエディタを開き、レジストリのバックアップを取ります。
TascalRegEditの場合、メニューの[レジストリ]-[レジストリの書き出し]を選び、任意の名前をつけて、レジストリファイルを保存します。
任意の名前、と言いましたが、「990516」という風に、レジストリファイル名に日付を使えば、ファイルが複数あった場合、「いつの時点のレジストリ設定に戻す」という指定ができるので、おすすめです。
バックアップが取れましたら、いよいよレジストリを編集します。
作業内容を理解してもらうために、まず、パソコン上で、IME97の辞書がどのようになっているか、レジストリを覗いてみます。

PCのレジストリエディタ

ごらんの通り、ユーザー辞書であるmsime97.dicがDIC0に設定され、DIC1以降の文字列は、郵便番号辞書などのシステム辞書に設定されています。ハンドヘルドPCでも、同様に考えてよいと思います。
「データ」欄の最後に、カンマに続いて「0」とか「1」という数字がついていますが、これは、辞書の有効無効を切り替える印です。この印のことを「フラグ」といいます。旗を立てればON、下げればOFFという意味ですね。

以上のことをふまえて、ハンドヘルドPCの
HKEY_CURRENT_USER\Software\Microsoft\Ime\msime97\Dictionaries
を開きます。
案の定、システム辞書である(と思われる)msime97r.dicがDIC1に、ユーザー辞書msime97.dicがDIC0に設定されています。
この、Dictionariesに、新規文字列を作成します。TascalRegEditだと、[新規]-[新規文字列]を選びます。名前は、DIC2と付けます。
これで、DIC2という空の文字列が作成されましたので、ダブルタップしてDIC2を開きます。

TascalRegEditを使った、レジストリの変更

すると「値のデータ」を記入する欄がありますので、辞書ファイル名をフルパスで記入します。ストレージに保存する場合、ストレージカードは「StorageCard」ではなく「Storage Card」(半角スペース入り)ですので、注意してください。最後に、辞書を有効にするというフラグ「,1」(カンマ1)を忘れないようにします。
複数辞書を登録する場合、辞書の数だけ文字列を作成します。
注意点として、テキストから作成した辞書は最適化がなされていないので、文字列DIC1(CEの日本語変換の、たぶん要であるmsime97r.dicが設定されています)を削除したり、フラグを0にして辞書を無効にしたりしないでください。使い物にならないくらい、変換効率が落ちてしまいます。
ちなみに余談ですが、このmsime97r.dicは、エクスプローラやTascalFilerExなどのファイラーで見ることができません。

TascalRegEdit

すべての設定が終わったら、一度リセットします。

◆使ってみよう!

早速、使ってみます。何か適当なソフトを起動してください。僕は、PocketWZEditor派なので、PocketWZEditorで試してみますが、別にPocketWordでも何でもいいです。
まず、日本語入力をONにします。そうして文字を打ち込んでください。オーラさんも触れられていましたが、数文字入力した時点で、突然、文字入力が止まってしまいます。CEがハングアップしたように見えますが、別にハングアップしたわけではありません。体感で1−2秒ほど待てば、ちゃんと入力できるようになります。
これは、「辞書がシステム域(プログラム領域)へロードされるのは、リセット後初めてIME使って全角ひらがなやカタカナを入力したときになる」ためで、この待ち時間の間に、辞書がメモリにロードされているのです。オーラさんのMC-R300も、MIDのCASIOPEIA A-60も、三文字入力した時点で、小休止入りました。その後、システムのプロパティを確認すると、1.3MBしか使われていなかったメモリのプログラム実行領域が、5MB近くにまで膨れ上がっていました。凄まじいです。
そのかわり、変換率のアップも凄まじいです。パソコンのATOKには遠く及びませんが、「ハンドヘルドPCでここまでよく変換してくれるのならまぁいいでしょう」と納得できるくらいに、変換率が高くなります。

◆辞書をストレージにおいても大丈夫?

ユーザー辞書をストレージ上に置くと、必ず壊れてしまいます。今回、辞書をシステム辞書にしましたが、システム辞書なら壊れないのでしょうか?
結論からいうと、使いだしてちょうど1週間後、ストレージ上の動詞辞書が壊れてしまいました。そのときはPocketIEとPocketWZMail、PocketExcelを同時に開いたうえでPocketWZEditorを使っていたので、メモリ不足になったのが原因だと思います。
ユーザー辞書とシステム辞書は何が違うのか、厳密な定義は知りませんが、僕は「単語登録したり学習させたりして、常に書き込みの発生している辞書がユーザー辞書」、「使用中に書き込みの発生しないのがシステム辞書」という風に考えています。ストレージ上の辞書に書き込みを行うと、メモリ上に置いた辞書に書き込みをするより壊れる可能性が高いということでしょう。まぁ、辞書もファイルである以上、ROMに焼き付けてしまわない限り、「壊れない」保証はないのですけどね。
あと僕のカシオペアですと、入力している最中に「不安定な状態を検出しました」と、よく、いきなり強制リセットがかかるようになります。メモリ不足を痛感する瞬間ですね。
それでも、一週間に一回辞書をコピーし直す手間や、ふいに強制リセットがかかる恐怖を考慮に入れても、変換効率が劇的によくなる方が、僕にはメリットがあるので、「仕方のないこと」と割り切って使っています。1,706KBもある名詞辞書を外せば何とかなるんでしょうが、使い勝手にはかえられません。モバギUやペルソナなど、メモリに余裕のある機種では、もうちょっと安定して使えると思いますので、ATOKをお持ちでしたら、一度試してみる価値はあるかと思います。

[戻る]




[PR]話題の《あのゲーム》の世界へ:今なら無料で遊び放題のチャンス中だよ!