辞書形式の話。
電子辞書(ICじゃなくてCD-ROMとかで供給される方)について、書いてみる。
日本語環境において辞書ソフトウェアはMacを除いてあまり普及していないのが現状。Macの辞書.appはNeXTからの伝統ですな。一応EPWING/JIS X 4081という規格があることはあるけれど、字種がJIS X 0208(技術的に言えばJIS X 0213の第1面)の枠内だけという欠点があって、日本語(の一部)と、英語くらいしかまともに扱えない。
外字地獄とか何らかの代用表記を我慢すればそれ以外もできないことはないけれど、外字の文字数が94×94×2(half/wide width)しかないので、私の扱う言語、具体的には中国語(繁体字・簡体字)、広東語(繁体字)の世界だとGB 2312は何とかなるとしても、CNS 16443やBig5には文字が足りない。まあ、小学館日中・中日辞典のように、JIS X 0208にある字種以外を外字にするやり方ならBig5は何とか入るけど、CNS 16443は合計8面もあるのでどうしようもないわけで。ましてやUnicodeのCJKV統合漢字なんぞ無理。
しっかし、外字地獄なんて遣う側からはやってられないのですわ。
そもそも外字をUnicodeに変換する機能があるソフトウェアなんてEBWin/EBMac/EBPocketとかEmacs+Lookupくらいでして、遣う側も面倒、辞書を作る・変換する側も大変という。
じゃあ、EPWING/JIS X 4081をUnicode化すれば良いというかも知れないけれど、確かに
- ONESWING
- FreeUWing (http://green.ribbon.to/~ikazuhiro/dic/freeuwing.html)
というものが存在しているものの、ONESWINGはメーカー囲い込み、FreeUWingは公開されている辞書が存在せず、かつEmacs+Lookupでしか扱えない。
これ以外で、データを作成できる辞書形式となると、
- PDICU
- StarDictとXDXF
- MDict
- LeXML
といったものがあるけれど、PDICUは実質Windows用でテキストデータのみ(Wineで頑張る?)、StarDictはテキストデータのみ、MDictは画像や音声データも扱えるけれど、日本語圏では作成方法が知られていない、LeXMLは中間形式という問題があるわけで。
独自形式でない、汎用な辞書形式が欲しい。……Macの辞書.app形式? いやはや。
市販Nicola(親指シフト)キーボード
市販されている・いた専用のNicolaキーボードとしては、いずれもPS/2接続で、
- FMV-KB211
- FMV-KB611 / OAKB-193 / FMVTW-KBS / FMV-KB613
- FMV-KB661
- Rboard
があります(とりあえずFMR/FM-TOWNS/OASYS/FACOMとか、かつてのSONY NEWSとかは考えない)。これらは後述する106キーボードにNicolaの刻印をしたものと異なり、内部的にキーコードを変換する機能を持っています。ただ、FMV-KB611/613/661は特殊で、611モードと211モードの両方を持っています。
これらをBSD/Linuxで使用する場合、(FMV-KB611/613/331ではFMV-KB211モードにして、)JIS仮名入力できるIMでモードずれを手動で修正しながら入力することになります。
一方、JISキーボードにNicolaを刻印したキーボードは意外とあり、
- FMV-KB231
- FMV-KB232
- FKB-8579USB
- FKB-7628-801 (Thumb Touch)
- ライフラボ社製親指シフト表記付きUSBライトタッチキーボード
- FMVのノートPCのNicolaモデル
などがあります。これらは内部的には106/109キーボードですので、通常のJISキーボードと同様に、BSD/Linuxだとキーボードエミュレーション機能付きのIM(例えばscim/ibus/fcitx-anthyなど)やキーボードエミュレーター(oyainput、かつてはQ's Nicolatter for X)、Emacs内限定でskk-nicolaを使うことになります。
FMV-KB231なんて見た目FMV-KB211とそっくりですが、親指シフトキーを押しても変換や無変換キーのコードが出力されます……。
BSD/LinuxにおけるNicola(親指シフト)入力の現状
私はNicola(親指シフト)入力なのでそのつもりで。
PC-UNIX環境でNicola入力する場合、以下の方法があります。
a. JISキーボード(後述のThumb Touchなども同様): キーボードエミュレーション機能付きのIM(例えばscim/ibus/fcitx-anthyなど)やキーボードエミュレーター(oyainput、かつてはQ's Nicolatter for X)、Emacs内限定でskk-nicolaを使う
b. FMV-KB211系: IMをJIS仮名入力に設定して、手動でモードずれを直して使う
c. FMV-KB611/613/661系: FMV-KB211と同様にする(Windowsであれば専用モードを扱えるのだけど)
まず、普通はPS/2接続のNicolaキーボードなんて持ってないでしょうから、a.となるでしょうか。
私はa.とb.の両方です。デスクトップではFMV-KB211をuim-anthyで使っていますし、ノートではscim-anthyとEmacs上でskk-nicolaを使用しています。多言語環境が必要だと、Emacsで暮らす時間が長くなる……(でもFMV-KB211でEmacsを使うとそれはそれで厄介)。
ちなみに、libkkc系だとfcitx-kkcとibus-kkc、libskk系だとscim-skkとfcity-skk、ibus-skkにNicola機能が付いていますが、現状まともに動きません。scim-anthyかibus-anthy、fcitx-anthyを使いましょう(ただ、Debian Jessieのi386版でscimを使用すると、WindowMakerの右クリックメニューが動かなくなる)。
ibus-skkの例: 「f+j(変換開始)」「a(=う)」「s+親指右(=じ)」「d+親指左(=な)」→まず「▽う」が表示されたあと「▽じ」、「▽な」と表示され、変換バッファに複数の仮名が入らない。
理想的な環境
自分にとって必要な環境は
- BSD(次善でLinux)
- WindowMaker+WDM
- GNUstep環境
- Emacs
- Nicola(親指シフト)入力できること
- EPWINGを引けること
- TeX
- 周辺機器(ペンタブ、特殊キーボード)に対応していること
といったことだろうか。まあ、wmakerとかGNUstepはNeXT(というかOPENSTEP for Mach、私はUNIXはこっちから入った)の名残みたいなものであるし、親指シフトはFM-TOWNSをつかっていたから。
こいつらを全部成り立たせようとすると大変で、実質的にはFreeBSDかDragonflyBSD、NetBSD、Linux(私の場合はDebian)になってしまう。
- FreeBSDはほぼほぼ満足といえ、usb4bsdのおかげでWACOMのタブレットがつかえなくなってしまった。後、古い機械でACPIまわりでPANICになるのと、インストーラーCDを途中で認識しなくなる類のバグはなんとかしてほしい。IPX/SPXサポートの中止のときもひどいことになったり……。
- DragonflyBSDはFreeBSDと同様。しかしi386で動かないのが辛い。
- OpenBSDは国際化まわりが劣る。一例を挙げると、GNUstepの国際化機能が働かない。後はPackageが少なく、EBViewとか、日本語IMとか。
- NetBSDは良いのだけど、pkgsrcの整備状況か。pkgsrcは良い仕組みといえ、バイナリーパッケージが整備されていない。皆pkgsrcしているの?
- Debianは一度環境を作ってしまえば楽で、パッケージも充実している。とはいえ、私自身BSDの方が好き・しっくり来るので、こいつでないと動かない機種(例: VAIO P)とか周辺機器(例: 液晶タブレット)、ソフトウェア(例: mars_nwe)という事情がないと入れない。
正直、FreeBSDがまともならそれに越したことはないのですが……。Darwin? 人柱確定だし、そんなの入れるくらいならMacOSにしますって。