世界中で様々な文字コードが使われていますが、それをたった一本のプログラムで処理するのは無理なことです。プログラムは肥大化しメモリーを大量消費し、処理は遅くなり、使いにくいものになります。
かといって、単純に変換表のデータだけあれば済むほど、文字コードの処理は簡単でもありません。
そこで、文字コードをグループに分け、グループごとにDLL化する手法を開発、採用しました。このメカニズムは、弊社製品「もじかん」で採用されています。
様々な符号がありますが、各符号を処理するDLLを決めます。
決めたら、符号とDLLを関連付けるファイルにその旨を記載し、実際の処理はDLLに作ります。
この分散を管理するためのDLL「統括DLL」を別途用意します。
ユーザーインターフェイス側は統括DLLを呼ぶことで処理を実現しますが、実際に変換するDLLを呼び出す作業は統括DLLが全て行なうため、ユーザーインターフェイス側が管理を意識する必要はありません。
かくして、無数の符号処理を複数のDLLに分散し、たった一つのDLLを呼び出すだけで全ての処理が実現できます。
様々な符号に対応するためには、様々な変換表が必要となりますので、どうしても処理は巨大化します。
しかし、使わない処理のためにメモリーや処理速度を奪われることほど効率の悪いものはありません。
この処理を持ち歩いたり、また組み込んで使うという場合、複数のDLLに分割することで、絶対に使わないと分かっているものはあらかじめ除外することが可能となるのです。
日本語はじめ漢字等の変換しか使わないのであれば、アラビア語、ヘブライ語といった処理は必要がありません。このDLLを組み込まない、という選択も可能になります。
「もじかん」システム全体としては多機能高性能ですが、その中から使うものだけを取捨選択できるのも大きなメリットです。
DLLを追加することで、あらゆる符号に対応することが可能となります。
統括DLLと、各変換用DLLのインターフェイスは様々な符号に対応できるよう設計されており、また拡張性も考慮されています。
従って「非公開の文字集合」を専用DLLで処理するようなことも可能です。
どのような符号であっても受注生産で対応致しますので、お気軽にお問い合わせ下さい。
弊社製品「もじかん」では、上述の通り、統括DLLと処理DLLに分け、実装されています。
処理DLLの仕様は非公開ですが、統括DLLはアプリケーションから利用可能なように、その仕様が公開されています。詳細は「もじかんDLLマニュアル」を参照して下さい。
「もじかん」を実装するためには、「DLL」が可能なオペレーティングシステムが必要となります。
現在は、次の環境で実装されています。
BSDやLinux以外にも、POSIX互換のシステムであれば問題なく実装可能です。
Mac OS Xへの実装も技術的には可能ですが、これについては将来的な課題としています。
超漢字など他のシステムは定かではありません。
電子メールで、info@mirai-ii.co.jpまでよろしくお願いします。