[aquaskk-dev 62] utf8 1.0 リリース

Back to archive index

t.suw****@mac***** t.suw****@mac*****
2006年 11月 27日 (月) 23:46:54 JST


諏訪です。

AquaSKK BETA utf8 1.0 をリリースしました(brand-new-engine 枝)。

▽追加・改善された機能
・ユーザー辞書を UTF-8 化(skk-jisyo.utf8)
・SKK-JISYO.JIS3_4 に対応

▽不具合修正
・特になし

■ Dictionary/UserDictionary のインタフェースについて

依存関係を減らすために、CppCFString を std::string にしました。また、
findOkuri* は std::vector を返していましたが、これも std::string にしま
した。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;
};
===================== ここまで ====================

具象辞書クラスは、引数を UTF-8 から適宜都合の良いコード(EUC や SJIS な
ど)に変換して辞書を検索し、結果を UTF-8 にして戻します。

例えば『かんじ /漢字/感じ/寛治/』というエントリを検索した場合には、
UTF-8 な "/漢字/感じ/寛治/" を返すことになります。

変換候補の分解やマージなどの処理は、DictionarySet の仕事です。

■ 文字コード変換用ファンクタについて

今回の 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);

				- * -

よろしくお願いします。

-- Tomotaka SUWA



aquaskk-dev メーリングリストの案内
Back to archive index