SL-C760内蔵辞書の解析


@SL-C760内蔵辞書の構成ファイル

・基本構成

 SL-C760内蔵の電子辞書は以下のファイルで構成されています。

/home/QtPalmtop/bin/sljisho         <-電子辞書実行バイナリ(実体は /usr/QtPalmtop.rom/bin/sljisho へのシンボリックリンク)
/home/QtPalmtop/dic/*.gdn           <-辞書データ本体
/home/QtPalmtop/dic/*.zj_info       <-辞書データインデックス?
/home/zaurus/Settings/sljisho.conf  <-環境設定ファイル?

 また、上記ファイル群に加え、C760になって追加されたファイルとして、

/home/QtPalmtop/dic/GDBKDic01
/home/QtPalmtop/dic/GDBKDic02

と言うファイルが存在します。
 これは、恐らく漢字アイコンで起動する漢字辞典のデータファイルであると思われますが、とりあえず現在のところは詳細不明です。


・標準搭載の辞書

 SL-C760標準で搭載されている辞書は、4(5)種類です。
 それぞれの構成ファイルは以下のように対応しています。

pseiwa.gdn        <-パーソナル英和辞典
pseiwa.zj_info    <-同インデックスファイル
pswaei.gdn        <-パーソナル和英辞典
pswaei.zj_info    <-同インデックスファイル
pskana.gdn        <-パーソナルカタカナ辞典
pskana.zj_info    <-同インデックスファイル
pskokugo.gdn      <-パーソナル国語辞典
pskokugo.zj_info  <-同インデックスファイル

 これら8ファイルも、実体は /usr/QtPalmtop.rom/dic/ 以下の各ファイルへのシンボリックリンク= ROM に内蔵されているファイルで、通常は変更や削除が不可能なファイルです。

内蔵辞書データの削除に関しては、文市の小箱茶室SL-C760の初期設定のページにて、文市さんが解説しておられますので、そちらも参考にされると良いかと思います。


@ファイル構造

 SL-C760に内蔵されている辞書は、学研製です。ファイル形式としては同社 GDBase 形式の辞書の互換品のようです。そのため、同形式の辞書データを流用した辞書の追加が可能です。


GDBase

 GDBase は、学研の Windows や Mac 用の電子辞典シリーズ等で用いられている辞書検索エンジンです。
 環境により、ヘッダや、インデックスファイルの構成は多少変化しますが、基本的に拡張子 *.gdn のファイルが辞書データの本体となります。

 また、 GDBase の特徴として、プラグインによる機能の拡張が挙げられます。
 このうち同社の Webサイトにて公開されているユーザー辞書メンテナンスプラグインを利用することで、ユーザー独自の辞書を作成することが可能です。
 このプラグインを用いて作られる辞書データは、拡張子が *.gdu となり、インデックスデータを別ファイルで持たせる必要が無いなど、通常の *.gdn ファイルとは、若干仕様が異なるようです。
 SL-C760では *.gdn 、 *.gdu どちらの形式の辞書データも使用可能です。


・*.zj_info

 上記構成ファイルの説明で触れた、 *.zj_info に関しては、どうも C760 独自のインデックスファイルのようです。
 拡張子 *.gdn の辞書データファイルを流用するにあたっては、それに対応したインデックスファイルが必要となります。

 以下は、そのファイル構造です。

/home/QtPalmtop/dic/pskana.zj_info

DicFileName=pskana.gdn                      <-辞書データ本体の指定
DicDisplayName=パーソナルカタカナ                   <-電子辞書で表示される辞書の名称
FontConv1=MM漢辞源1/mmkjg1                  <-以下、表示フォント関係の設定?
FontConv2=Mmkjg2/mmkjg2
FontConv3=Mmkjg3/mmkjg3
FontConv4=Mmkjg4/mmkjg4
FontConv5=MM漢辞源5/mmkjg5
SuperScriptStart=<FONT COLOR=#ff8000>
SuperScriptEnd=</FONT>
SubScriptStart=<SMALL><FONT COLOR=#9933ff>
SubScriptEnd=</FONT></SMALL>

 基本的には、DicFileName と、DicDisplayName の二箇所を書き換えるだけで OKです。

 なお、*.gdu 形式のファイルの場合は、内部的にこれらのデータを含んでいるようで、別途*.zj_info ファイルを用意してやる必要はありません。


・sljisho.conf

 追加辞書を含めた、内蔵辞書の登録状況は /home/zaurus/Settings/sljisho.conf で、記録・管理されています。

 以下は、そのファイル構造です。

/home/zaurus/Settings/sljisho.conf

[/home/QtPalmtop/dic/pseiwa.zj_info]
DisplayName=
FontSize_IMI=3
FontSize_MIDASHI=3
[/home/QtPalmtop/dic/pskana.zj_info]
DisplayName=
FontSize_IMI=3
FontSize_MIDASHI=3
[/home/QtPalmtop/dic/pskokugo.zj_info]
DisplayName=
FontSize_IMI=3
FontSize_MIDASHI=3
[/home/QtPalmtop/dic/pswaei.zj_info]
DisplayName=
FontSize_IMI=3
FontSize_MIDASHI=3
[/home/zaurus/Documents/Dic_Files/sample.gdu]   <- 追加辞書分
DisplayName=                                    <- 
FontSize_IMI=3                                  <- 
FontSize_MIDASHI=3                              <- ここまでで、1エントリ
[AppOption]
ClipSearch=1
IncSearch=0
PopupSearch=0
[BuildInDic]
DIC1=/home/QtPalmtop/dic/pskokugo.zj_info
DIC2=/home/QtPalmtop/dic/pseiwa.zj_info
DIC3=/home/QtPalmtop/dic/pswaei.zj_info
DIC4=/home/QtPalmtop/dic/pskana.zj_info
DIC5=
[External App]
KanjiInput=
[History]                                       <- 検索語履歴
TEXT1=
TEXT2=
TEXT3=
TEXT4=
TEXT5=
[Popup]                                         <- ポップアップ検索時のウィンドウサイズ?
h=150
w=321
x=220
y=165
[RegistDic]
DIC1=/home/QtPalmtop/dic/pskokugo.zj_info
DIC2=/home/QtPalmtop/dic/pseiwa.zj_info
DIC3=/home/QtPalmtop/dic/pswaei.zj_info
DIC4=/home/QtPalmtop/dic/pskana.zj_info

 メモリカード等にインストールしてある辞書を追加していて、該当メディアが存在しない場合や、ターミナルでの操作等、辞書ソフトを通さずに、辞書データの本体を動かした場合、起動時にエラーメッセージが表示され、以後当該辞書の登録が消えます。
 この場合、単純に追加辞書が使用不可になるだけで、動作自体には、特に影響はある訳ではありませんが、再びメディアを挿入して再起動しても、追加辞書が復活したりはしません。
 消えた辞書を使う為には、再度メニューから、辞書の追加をしてやる必要があります。

 また、検索画面から辞書が消えても、辞書ソフト本体を通して、辞書の追加と削除を行わない限り、 conf ファイルにはしっかりエントリが残っています。

 conf ファイルから、エントリを削除するには、直接 conf ファイルを操作するか、元と同じ場所( conf ファイル内で記録されている場所)から、もう一度辞書を追加後、削除する必要があります。

 不用意な辞書データの操作を繰り返すと conf ファイルが際限無く肥大化しかねないので、データファイルを扱う際には十分な注意が必要です。



@制限事項

 辞書データの置き場に関してですが、どうも他の標準アプリと同じく、 /home/zaurus 以下と、 /mnt 以下の外部メディア以外の場所は探しに行かない=辞書の追加が出来ない仕様のようです。
 とりあえず、あっちゃこっちゃにファイルがちらばるのも嫌なんで、私は /home/zaurus/Documents/Dic_Files/ を作成し、こちらに辞書データを置くようにしています。


・学研電子辞典 楽しむ辞典シリーズ漢字源」の辞書を追加してみる。

・インストール

 まずは順当に PCにインストール。
 インストール先のフォルダ下 GDBase/dic/kanjigen/ に実データ kanjigen.gdn が入ってるんで、これを抽出。

 語源や拡大表示用の画像ファイル群が、同フォルダ下(GDbase/dic/kanjigen/jpg)に入ってますが、現状では意味表示欄のリンクが正常に機能していないので、今回は無視します(苦笑)。

 また、 kanjigen.gdn と同じフォルダ内にある pstbmp01.bmp は図版を示す「図」アイコンのデータです。
 図版へのリンクがちゃんと機能しない現状では、必須と言うものでも無いのですが、そんなに大きいファイルでも無いし、入れておかないと意味欄中にゴミが入って見栄えが悪くなるんで、とりあえずこれも抽出しときます。

 一応、今回はインストールの後、データを移動させましたが、 CD-ROM 内 Gakken フォルダ以下、全く同じ構造でファイル入ってたりします。
 と言うわけで、Windows環境じゃない人も、直接 CD-ROM から持ってこれるから安心〜(^^)。

 しかし、まだこのままではインデックスファイルがないんで、辞書は追加出来ません。

 次に追加する辞書に合わせたインデックスファイルを作成します。

 何でもいいんで、元々入ってる *.zj_infoの一つを雛型として適当な場所にコピー後、kanjigen.zj_infoにリネーム。
 で、追加する辞書、漢字源に合わせて、内容を修正します。

kanjigen.zj_info

DicFileName=kanjigen.gdn           <- ここを修正
DicDisplayName=学研漢字源          <- ここも修正
FontConv2=Mmkjg2/mmkjg2
FontConv3=Mmkjg3/mmkjg3
FontConv4=Mmkjg4/mmkjg4
FontConv5=MM漢辞源5/mmkjg5
SuperScriptStart=<FONT COLOR=#ff8000>
SuperScriptEnd=</FONT>
SubScriptStart=<SMALL><FONT COLOR=#9933ff>
SubScriptEnd=</FONT></SMALL>

 以上、一行目と二行目の都合二箇所修正します。

 後は、 kanjigen.gdn 、 kanjigen.zj_info 、 pstbmp01.bmp をまとめて適当なフォルダに置いて、電子辞書を起動すれば、晴れて辞書の追加が可能となります。


・SL-C760上での漢字源の動作

 動作についてですが、辞書としての動作には特に問題は見受けられません。
 それどころか、意味表示欄中の発音記号や、文字の拡大表示「拡」、語源の表示「図」等のアイコンに至るまで、ちゃんと表示されています。

検索画面

 ただし、実際にそれぞれのアイコンをタップしてみると、「拡」アイコンの方は問題無く、文字の拡大表示がされますが、「図」アイコンに関しては、どうも正常にリンク或は、ビューワとの連携が取れていないようで、謎の画面が表示されてしまいます(苦笑)。

文字拡大表示
文字拡大表示


図版表示?
図版表示?

 アイコンタップに対してのアクションを起こしてはいるわけですが、現状では語源等、図版の表示は出来ません。
 ここらへん、 sljisho.conf 中の [External App] あたりが、恐らく関係してくるんじゃないかと思ってはいるんですが・・・。
 将来的にSHARP等から、辞書の追加データが発売された場合に、活用されることを期待しましょう(^^)。


@ユーザー辞書メンテナンスプラグインで独自辞書を作成・追加してみる

 先述した通り Windows用の GDBaseプラグイン、ユーザー辞書メンテナンスを使えば、 C760 に独自作成の辞書の追加が可能になります。

 また、同プラグインは CSV 等、各種テキストファイルからの辞書コンバートにも対応しており、これを用いることで、フリーで配布されている辞書等を内蔵の電子辞書に流用することも可能です。


・ダウンロード

 ユーザ辞書メンテナンスプラグインは、学研の Webサイトよりダウンロード可能な Windows用のソフトです。(Macintosh版については、 2003/07/11 現在、製作中となっています。)

 インストールバイナリは、同じく Webサイトからダウンロード出来る、プラグインユーティリティ(GDBase用プラグイン管理ソフト)の有無をチェックするので、単体ではインストール出来ません。
 さらに、プラグインユーティリティのインストールは GDBase 本体の有無をチェックします。
 で、 GDBase 本体はフリーウェアではありません(当然)ので、結局のところユーザー辞書メンテナンスを使うには、 GDBase を使用した学研電子辞典シリーズが必要となります。


・単純な使い方

 とりあえず、まずは単純な使い方。
 と言っても、特に難しいこともなく、辞書名を設定し、後はレコードを追加していくだけです。

 新規作成時は、なんのレコードもありませんので、とりあえずメニューバーから、 見出し(M) -> 追加(I) を選べば、ダイアログが開きます。

ユーザー辞書メンテナンス

 基本的に FEP で言うところの、読みが「見出し」。変換語句が「表記」、及びそれに付随する説明文が「意味」だと思えば良いでしょう。

 適当にレコードを追加したら、あとはファイルを保存するだけで、 *.gdu ファイルが作られます。
 *.gdu ファイルは、 *.gdn と違い、インデックスファイル *.zj_info を必要としないので、保存したファイルを C760 に転送するだけで利用出来ます(^^)。


・csv テキストからの変換

 扱える csv データのフォーマットですが、基本的に、

  見出し , 表記 , 意味

の順の3項目で、レコードが構成されていれば、それで OKです。

サンプルデータ(変換元 sample.csv)
サンプルデータ(変換後 sample.gdu)

 なお csv と銘打ってはいますが、エントリの区切り文字は「,」以外、TAB、セミコロン、スペース、さらに任意の区切り文字が指定出来るようになっています。
 ただし、「|」だけは区切り文字としては使えないことになっています。これは、エントリ中の改行コードを示すのに、この文字が使われているためです。

 また、文字列の引用符も「"」「'」で指定出来、区切り文字を含んだエントリも登録可能です。



 それ以外に、登録にあたってのユーザー辞書自体の制限として、

  見出し文字数=全角なら120文字程度
  表記文字数=全角なら120文字程度
  意味文字数は全角なら32,000文字程度
  候補数=制限無し(!)

等の事項が、ヘルプに記載されています。

 ただ、これらの制限が必ずしも SL-C760にも適用されるのかは、試してないのでわかりません(^^;)。

 その他、各項目で使用出来る文字種等の制限については、ユーザー辞書メンテナンスのヘルプに詳細に記載されています。


@ライセンス

 ライセンス的には、いちお Webページ上でフリーウェアと記載されていますが、アーカイブ内に詳細な使用許諾が記されてます。

 ざっと読んだ限りでは、複数のコンピュータでの同時使用や、二次配布等を行わない限りは、一応大丈夫かなーと。
 少なくとも、許諾書中で明示されているソースコードや、漢字源のファイルの中身までは、今回手ぇつけてませんし、また条文中で GDBase 本体との関係については触れてませんので、プラグインの単体使用も特に禁じた条文は見つかりません。

 強いて、気になる点があるとすれば、複製に関する項目ですが、そもそもパッケージから実行ファイルを取り出せないと、通常のインストールも出来ないことになってしまうんで(苦笑)。
 とは言え、学研が意図しているインストール方法では無いとは思いますんで、お決まりですが、あくまでも自己責任の範疇ってことでお願いします。

 ま、法律的なところはともかく、本気で使うなら「楽しむ辞典」本体どれか一つくらいは買って、手元に置いとくのが仁義かと思います。
 実際、この値段で作成ソフトが手に入って、オマケに辞書データがついてくる(爆)と思えば、破格値だと思いますし(^^;)。


@その他

 既知の問題として、ビューモード時にポップアップ検索を行うと、ポップアップウィンドウが横倒しになって表示されると言う現象が確認されています。

Thx! たむたむ氏


@雑記

 いつまでもメモ書きのままで放っとくワケにもいかないんで、現状わかってるトコまでを、正式にまとめてみました。

 まだまだ、解析する余地は残ってますが、とりあえず実用上、必要にして十分って所までは、まとめられたと思います。
 sljisho.conf の各エントリの内容や、任意の辞書が作成出来るようになったことで、昔ながらの方法で gdu ファイルの構造解析なんかも出来ないことは無いんですが、ここらへんあんまり突っ込むと、もろにライセンスの問題に抵触するかな?と、ちょっと考え中です。

 あと、恥ずかしいメモ書き暫定版ですが、これはこれで解析作業のリアルタイム追っかけ日誌の感もありますんで、サイトマスターの意向もあって、一応残すことにしました。

SL-C760 内蔵辞書の解析(暫定おぼえがき版)

 今見ると、あっちゃ行ったり、こっちゃ行ったり迷走してる様が伺えます(苦笑)。
 逆に思いつきで書いてる分、今回の正式ページにはそこまで書かれていない(書く余裕の無い)「何故そのデータをサンプルにするのか?」と言った理由なんかも書いてあったりしますね。
 これはこれで「辞書の解析ってどうやるの?」と言う、素朴な疑問への一つの目安になるかと思います。 How-To ってトコまでは、至りませんが(^^;)。


解析内容及び、このページの文責: TAKETYON

Return to home