Esempio n. 1
0
int main(int argc,char **argv){
	if(anthy_init()) {
		printf("anthy_init() is failed.\n");
		return 1;
	}
	anthy_set_personality("");
	ac = anthy_create_context();
	if(!ac) {
		printf("anthy_create_context() is failed.\n");
		return 1;
	}
	//準備完了!
	for(k=0; k<1000; k++){
	  anthy_set_string(ac, "わたしのなまえはおくのです。");
	  //anthy_commit_segment(ac);
	  anthy_get_stat(ac, &cs);
	  //printf("segment:%d\n",cs.nr_segment);
	  for(i=0; i<cs.nr_segment; i++){
	    struct anthy_segment_stat ss;
	    anthy_get_segment_stat(ac,i,&ss);
	    //printf("can:%d,len:%d |", ss.nr_candidate, ss.seg_len);
	    for(j=0; j<ss.nr_candidate; j++){
	      char buffer[256];
	      anthy_get_segment(ac,i,j,buffer,256);
	      //printf(" %s ", buffer);
	    }
	    //printf("\n");
	  }
	  //printf("\n");
	  //anthy_print_context(ac);
	}
	anthy_release_context(ac);
	anthy_quit();
	return 0;
}
Esempio n. 2
0
void toHira(char* str) {
    int len, cur, isquestion;
    char buf[BUFSIZE];
    struct anthy_conv_stat cs;

    replaceSign(str);
    replaceGrass(str);
    printf("rgr_str:%s\n", str);

    if (anthy_init()) {
        fprintf(stderr, "anthy init error\n");
        abort();
    }

    anthy_context_t ctx = anthy_create_context();

    if (!ctx) {
        fprintf(stderr, "can not create context\n");
        abort();
    }

    anthy_context_set_encoding(ctx, ANTHY_UTF8_ENCODING);

    if (anthy_set_string(ctx, str)) {
        fprintf(stderr, "can not set string\n");
        abort();
    }

    if (anthy_get_stat(ctx, &cs)) {
        fprintf(stderr, "can not get stat\n");
        abort();
    }

    cur = 0;
    for (int i = 0; i < cs.nr_segment; i++) {
        if ((len = anthy_get_segment(ctx, i, NTH_UNCONVERTED_CANDIDATE,
                    buf, BUFSIZE)) == -1) {
            fprintf(stderr, "can not get segment %d\n", i);
            abort();
        }
        if (istalk(buf)) {
            memcpy(str + cur, buf, len);
            cur += len;
        }
        if (i < cs.nr_segment - 1)
            if (i == cs.nr_segment - 3 && isquestion)
                continue;
            else if (i == cs.nr_segment - 2)
                continue;
            else
                str[cur] = '/';
        else
            str[cur] = '\0';
        cur++;
    }

    anthy_release_context(ctx);
}
Esempio n. 3
0
static uim_lisp
release_context(uim_lisp ac_)
{
  anthy_context_t ac;

  context_list = uim_scm_callf("delete!", "oo", ac_, context_list);

  ac = get_anthy_context(ac_);
  anthy_release_context(ac);
  uim_scm_nullify_c_ptr(ac_);

  return uim_scm_f();
}
Esempio n. 4
0
File: main.c Progetto: xorgy/anthy
int
main(int argc,char **argv)
{
  anthy_context_t ac;
  FILE *fp;
  struct input cur_input;
  struct res_db *db;
  struct condition cond;

  cur_input.serial = 0;
  cur_input.str = 0;
  init_condition(&cond);

  parse_args(&cond, argc, argv);
  db = create_db();
  read_db(db, expdata);

  printf("./test_anthy --help to print usage.\n");

  print_run_env();

  fp = fopen(testdata, "r");
  if (!fp) {
    printf("failed to open %s.\n", testdata);
    return 0;
  }
  
  ac = init_lib(cond.use_utf8);

  /* ファイルを読んでいくループ */
  while (!read_file(fp, &cur_input)) {
    if (check_cond(&cond, &cur_input)) {
      set_string(&cond, db, &cur_input, ac);
    }
  }

  anthy_release_context(ac);
  anthy_quit();

  if (cond.ask) {
    /* ユーザに聞く */
    ask_results(db);
  }

  show_stat(db);
  save_db(expdata, db);

  return 0;
}
Esempio n. 5
0
Conversion::~Conversion ()
{
    anthy_release_context (m_anthy_context);
}