int ErrMsg(char *fmt, ...) { #ifdef UTF8 va_list ap; int error; char orig_buf[ICONV_BUFSIZE]; char buf[ICONV_BUFSIZE]; va_start( ap, fmt ); error = vsprintf( orig_buf, fmt, ap ); va_end( ap ); eucjp_to_utf8( orig_buf, buf ); fputs( buf, fp_err ); fflush( fp_err ); return( error ); #else va_list ap; int error; va_start( ap, fmt ); error = vfprintf( fp_err, fmt, ap ); va_end( ap ); fflush( fp_err ); return( error ); #endif }
static int dict_anthy_read_priv_dic_list(uim_word **head) { char phon[100], desc[100], cclass_native[100]; int ret = 0; if (anthy_priv_dic_select_first_entry() == -1) { *head = NULL; return -1; } while (ret == 0) { if (anthy_priv_dic_get_index(phon, sizeof(phon)) && anthy_priv_dic_get_wtype(cclass_native, sizeof(cclass_native)) && anthy_priv_dic_get_word(desc, sizeof(desc))) { gint pos; const char *cclass_code = NULL; for (pos = 0; pos < NR_POS; pos++) { cclass_code = find_desc_from_code_with_type(cclass_native, pos); if (cclass_code) break; } #if LIBANTHY_UTF8_CAPABLE { gchar *cclass_code_utf8 = eucjp_to_utf8(cclass_code); word_append(head, WORD_TYPE_ANTHY, "UTF-8", phon, desc, cclass_code_utf8, cclass_native, anthy_priv_dic_get_freq(), 0, NULL); g_free(cclass_code_utf8); } #else /* EUC-JP */ word_append(head, WORD_TYPE_ANTHY, "EUC-JP", phon, desc, cclass_code, cclass_native, anthy_priv_dic_get_freq(), 0, NULL); #endif } ret = anthy_priv_dic_select_next_entry(); } return 0; }
int RepMsg(char *fmt, ...) { # ifdef UTF8 va_list ap; int error; char orig_buf[ICONV_BUFSIZE]; char buf[ICONV_BUFSIZE]; va_start( ap, fmt ); error = vsprintf( orig_buf, fmt, ap ); va_end( ap ); eucjp_to_utf8(orig_buf, buf); fputs( buf, stdout ); fflush( stdout ); # else va_list ap; int error; va_start( ap, fmt ); error = vfprintf( stdout, fmt, ap ); fflush( stdout ); va_end( ap ); # endif /*******↓for server mode *******/ if ( s_mode ) { char *chrMsg; if( error > 0 ) { chrMsg = (char*)malloc((error + 4) * sizeof(char*)); va_start( ap, fmt ); error = vsprintf( chrMsg, fmt, ap ); va_end( ap ); if( error > 0 ) { strcat( chrMsg, "./\n" ); server_send( chrMsg ); } free(chrMsg); } } /*******↑***********************/ return( error ); }
gchar *cclass_dialog(gint pos_type, gint system) { GtkWidget *dialog; GtkWidget *scrollwin_pos; GtkWidget *treeview_pos; GtkTreeViewColumn *column; GtkListStore *store; GtkTreeSelection *selection; GtkCellRenderer *renderer; GtkTreeIter iter; gint id, result; gchar *pos_utf8 = NULL; category_code *code = NULL; gint narrow_size = 0, i; /* construct dialog */ dialog = gtk_dialog_new_with_buttons(_("Part of Speech"), NULL, GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT, GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT, GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, NULL); gtk_widget_set_size_request(GTK_WIDGET(dialog), 400, 350); gtk_window_set_position(GTK_WINDOW(dialog), GTK_WIN_POS_CENTER); scrollwin_pos = gtk_scrolled_window_new(NULL, NULL); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrollwin_pos), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(scrollwin_pos), GTK_SHADOW_IN); gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), scrollwin_pos, TRUE, TRUE, 10); gtk_widget_show(scrollwin_pos); treeview_pos = gtk_tree_view_new(); gtk_container_add(GTK_CONTAINER(scrollwin_pos), treeview_pos); gtk_widget_show(treeview_pos); renderer = gtk_cell_renderer_text_new(); column = gtk_tree_view_column_new_with_attributes("ID", renderer, "text", COLUMN_ID, NULL); gtk_tree_view_column_set_visible(column, FALSE); gtk_tree_view_append_column(GTK_TREE_VIEW(treeview_pos), column); gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(treeview_pos), FALSE); renderer = gtk_cell_renderer_text_new(); column = gtk_tree_view_column_new_with_attributes(_("Part of Speech"), renderer, "text", COLUMN_POS, NULL); gtk_tree_view_append_column(GTK_TREE_VIEW(treeview_pos), column); gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(treeview_pos), TRUE); renderer = gtk_cell_renderer_text_new(); column = gtk_tree_view_column_new_with_attributes(_("Example"), renderer, "text", COLUMN_EXAMPLE, NULL); gtk_tree_view_append_column(GTK_TREE_VIEW(treeview_pos), column); gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(treeview_pos), TRUE); selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(treeview_pos)); gtk_tree_selection_set_mode(selection, GTK_SELECTION_SINGLE); store = gtk_list_store_new(N_COLUMNS_POS, G_TYPE_INT, /* ID */ G_TYPE_STRING, /* POS */ G_TYPE_STRING); /* EXAMPLE */ gtk_tree_view_set_model(GTK_TREE_VIEW(treeview_pos), GTK_TREE_MODEL(store)); switch (pos_type) { case POS_SUBSTANTIVE: narrow_size = nr_substantive_code; code = substantive_code; break; case POS_ADVERB: narrow_size = nr_adverb_code; code = adverb_code; break; case POS_VERB: narrow_size = nr_verb_code; code = verb_code; break; case POS_ADJECTIVE: narrow_size = nr_adjective_code; code = adjective_code; break; case POS_ETC: narrow_size = nr_etc_code; code = etc_code; break; } for (i = 0; i < narrow_size; i++) { if (code[i].type & system) { gtk_list_store_append(store, &iter); gtk_list_store_set(store, &iter, COLUMN_ID, i, COLUMN_POS, eucjp_to_utf8(code[i].desc), COLUMN_EXAMPLE, eucjp_to_utf8(code[i].example), -1); } } result = gtk_dialog_run(GTK_DIALOG(dialog)); switch (result) { case GTK_RESPONSE_ACCEPT: if (gtk_tree_selection_get_selected(selection, NULL, &iter)) { gtk_tree_model_get(GTK_TREE_MODEL(store), &iter, COLUMN_ID, &id, -1); pos_utf8 = g_strdup(code[id].code); } break; default: break; } gtk_widget_destroy(dialog); return pos_utf8; }