じゃ→ja, zya, jya, zilya, ...
などの複数の入力方法に対応しています。
【VC2010用プロジェクトのダウンロード】 使用方法のチュートリアルとしては不十分かもしれませんが、本ライブラリとDXライブラリを使用したサンプルを作りました。
使用している例文は、「坊ちゃん」(夏目漱石)の冒頭の部分です。
【サンプルのダウンロード】 【各APIを少し説明】
// ヘッダファイルのあるディレクトリへのパスを通しておいてください
#include
#include
int main()
{
// 設定ファイルのパス
// このファイルには、カナ・記号とローマ字の対応関係が書かれている
const char * const CONFIG_FILE_PATH = "config.txt";
namespace E = a5ua::typing_engine;
// s_プレフィクスはshared_ptrであることを示す
// タイピングエンジンのコアを作成(デザインパターンで言うところのAbstract Factory)
E::s_core core = E::create_core(CONFIG_FILE_PATH);
// コンフィグオブジェクトを作成
E::s_configuration config = core->create_configuration();
// 入力候補を表示するときの、優先順位を入れ替える。(例:syaとshaを入れ替える)
config->swap_priority(L"シャ", 0, 1);
// 変更を保存する
config->save();
// タイピングオブジェクトを作成する
E::s_typing typing = core->create_typing();
// タイプする文章を設定する。(ひらがな・カタカナ・記号が使用可能)
typing->set_word(L"あいうえおアイウエオaiueo!?");
// 入力処理
if (typing->input(L'a')) {
// 受理された
} else {
// ミスタイプ
}
if (typing->finished()) {
// タイプし終わった
} else {
// まだ終わってない
}
// ローマ字入力の進捗状況を取得
const E::typing_progress &p = typing->get_input_progress();
// 受理済みの入力
std::wcout << p.accepted << std::endl;
// 現在入力すべき部分
std::wcout << p.target << std::endl;
// 受理されていない部分
std::wcout << p.remainder << std::endl;
}