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

Back to archive index

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



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