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; }
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); }
static uim_lisp init_anthy_lib(void) { if (!initialized) { if (anthy_init() == -1) uim_fatal_error("anthy_init() failed"); initialized = UIM_TRUE; } return uim_scm_t(); }
static anthy_context_t init_lib(int use_utf8) { anthy_context_t ac; /* 既にインストールされているファイルの影響を受けないようにする */ anthy_conf_override("CONFFILE", "../anthy-conf"); anthy_conf_override("HOME", TEST_HOME); anthy_conf_override("DIC_FILE", "../mkanthydic/anthy.dic"); anthy_set_logger(log_print, 0); if (anthy_init()) { printf("failed to init anthy\n"); exit(0); } anthy_set_personality(""); ac = anthy_create_context(); if (use_utf8) { anthy_context_set_encoding(ac, ANTHY_UTF8_ENCODING); } else { anthy_context_set_encoding(ac, ANTHY_EUC_JP_ENCODING); } return ac; }
int module_init_win(HIME_module_main_functions *funcs) { gmf = *funcs; // dbg("module_init_win\n"); gmf.mf_set_tsin_pho_mode(); gmf.mf_set_win1_cb((cb_selec_by_idx_t)select_idx, prev_page, next_page); if (win_anthy) return TRUE; if (anthy_init() == -1) { GtkWidget *dialog = gtk_message_dialog_new (NULL, GTK_DIALOG_MODAL, GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE, "Cannot init anthy. Please install anthy."); gtk_dialog_run (GTK_DIALOG (dialog)); gtk_widget_destroy (dialog); return FALSE; } ac = anthy_create_context(); if (!ac) { printf("anthy_create_context err\n"); return FALSE; } anthy_context_set_encoding(ac, ANTHY_UTF8_ENCODING); win_anthy = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_has_resize_grip(GTK_WINDOW(win_anthy), FALSE); gtk_window_set_default_size(GTK_WINDOW (win_anthy), 40, 50); gtk_widget_realize (win_anthy); gmf.mf_set_no_focus(win_anthy); event_box_anthy = gtk_event_box_new(); gtk_event_box_set_visible_window (GTK_EVENT_BOX(event_box_anthy), FALSE); gtk_container_add(GTK_CONTAINER(win_anthy), event_box_anthy); GtkWidget *hbox_top = gtk_hbox_new (FALSE, 0); gtk_container_add(GTK_CONTAINER(event_box_anthy), hbox_top); g_signal_connect(G_OBJECT(event_box_anthy),"button-press-event", G_CALLBACK(mouse_button_callback), NULL); if (!seg) { int n=sizeof(SEG)*MAX_SEG_N; seg=malloc(n); bzero(seg, n); } int i; for(i=0; i < MAX_SEG_N; i++) { seg[i].label = gtk_label_new(NULL); gtk_widget_show(seg[i].label); gtk_box_pack_start (GTK_BOX (hbox_top), seg[i].label, FALSE, FALSE, 0); } gtk_widget_show_all(win_anthy); gmf.mf_init_tsin_selection_win(); module_change_font_size(); if (!gmf.mf_phkbm->selkeyN) gmf.mf_load_tab_pho_file(); module_hide_win(); return TRUE; }