コード例 #1
0
ファイル: util.c プロジェクト: nishimotz/jagtalk
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
}
コード例 #2
0
ファイル: anthy.c プロジェクト: TheSLinux-forks/uim
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;
}
コード例 #3
0
ファイル: util.c プロジェクト: nishimotz/jagtalk
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 );
}
コード例 #4
0
ファイル: cclass-dialog.c プロジェクト: DirtYiCE/uim
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;
}