2010年7月17日 星期六

新酷音測試




/* 
 * File:   main.cpp
 * Author: adolf
 *
 * Created on 2010年7月17日, 上午 1:11
 */

#include <stdlib.h>

#include <stdio.h>
#include <chewing/chewing.h>
#include <chewing/global.h>
#include <chewing/chewingio.h>
#include <string.h>

using namespace std;

/*
 * 
 */
int main(int argc, char** argv) {

    if (0 != chewing_Init("/Users/adolf/chewing/0.3.2/share/chewing/", ".")) {
        fprintf(stderr, "chewing_Init failed\n");

        exit(-1);
    }
    ChewingConfigData config;

    ChewingContext * ctx = chewing_new();

    chewing_set_maxChiSymbolLen(ctx, 16);
    chewing_set_candPerPage(ctx,10);

    char * str0 = "w96j0 eji6 g wu3 au4z/ ";
    //char * str = "1";
    for (int i = 0; i < strlen(str0); i++) {

        //printf("%d\n",i);
        chewing_handle_Default(ctx, str0[i]);
        chewing_cand_Enumerate(ctx);

        if (chewing_cand_TotalChoice(ctx) >0) {
            while (chewing_cand_hasNext(ctx)) {

                char* str = chewing_cand_String(ctx);
                if (str) {

                    //converted_string = utf8_mbstowcs( str );
                    printf("candidates %s\n", str);
                    chewing_free(str);
                }
            }
        } else {

            if (chewing_buffer_Check(ctx)) {
                char * str = chewing_buffer_String(ctx);

                if (str) {
                    printf("buffer %s\n", str);
                    chewing_free(str);
                }
            }
        }

        if (chewing_commit_Check(ctx)) {
            char* str = chewing_commit_String(ctx);

            if (str) {
                printf("%s\n", str);
                chewing_free(str);
            }
        }
    }

    chewing_handle_Left(ctx);
    chewing_handle_Left(ctx);
    /*
    chewing_handle_Down(ctx);
    chewing_handle_Down(ctx);
    chewing_handle_Enter(ctx);*/
    chewing_handle_Default(ctx,'v');

    chewing_handle_Default(ctx,'u');
    chewing_handle_Default(ctx,'l');
    chewing_handle_Default(ctx,'3');

    if (chewing_buffer_Check(ctx)) {
                char * str = chewing_buffer_String(ctx);

                if (str) {
                    printf("buffer %s\n", str);
                    chewing_free(str);
                }
            }

    return 0;
}

沒有留言:

張貼留言