Tomotaka SUWA
t-suw****@users*****
2006年 11月 27日 (月) 18:09:07 JST
諏訪です。
AquaSKK BETA utf8-1.0 をリリースしました。
▽追加・改善された機能
・ユーザー辞書を UTF-8 化(skk-jisyo.utf8)
・SKK-JISYO.JIS3_4 に対応
▽不具合修正
・特になし
■ Dictionary インタフェースの変更について
依存関係を減らすために、CppCFString を std::string に置き換えました。
===================== ここから ====================
// 抽象辞書クラス(文字列は全て UTF-8)
class Dictionary {
public:
virtual ~Dictionary() {};
// 初期化
virtual void load(const std::string& location) = 0;
// 辞書の情報
virtual int countOkuriAri() = 0;
virtual int countOkuriNasi() = 0;
// 検索
virtual std::string findOkuriAri(const std::string& query) = 0;
virtual std::string findOkuriNasi(const std::string& query) = 0;
};
===================== ここまで ====================
ユーザー辞書にも同様の変更を行なっています。std::string の中身は、
UTF-8 です。
具象辞書クラスの findOkuriAri/findOkuriNasi では、引数を UTF-8 から
EUC に変換するなどして検索し、結果を UTF-8 に変換して返します。
例えば、『かんじ /漢字/寛治/感じ/』というエントリがある場合には、UTF-8
な "/漢字/寛治/感じ/" を返すことになります。
■ UTF-8 対応について
今回の対応を行なう上で、文字列変換用のファンクタを追加しました。詳細に
ついては jconv.h をご覧下さい。このファンクタを使った簡易ユーティリティ
として
void convert_utf8_to_eucj(const std::string& from, std::string& to);
void convert_eucj_to_utf8(const std::string& from, std::string& to);
を用意してあります。名前空間は jconv です。
- * -
よろしくお願いします。
-- Tomotaka SUWA