[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][TOP]

Re: 日本語環境下でのGNOME - 3


岡@奈良先端大です。

At Sun, 20 Aug 2000 03:05:42 +0900,
Satoru T <tomo99@xxxxxxxxx> wrote:
> 
> お疲れ様です。TOMO99です。
> 
> kitame>     同じようなコードで日本語だけ表示できないのですが…。
> kitame>     フォント環境が悪いんですかね。
> 
> 私のところは、gnome-libs 1.2.1ですが、上記コードで、"こんにちはGNOME"
> がきちんと表示されます。

ちょっと長いですが、動作したプログラムを付けときます。
これで駄目ならフォント環境なのかな。
--
岡 充

/*
  gcc `gnome-config --cflags gnomeui` gmultitext.c `gnome-config --libs gnomeui` -o gmultitext
 */

#include <gnome.h>

#define CANVAS_SIZE 300

static void
exit_clicked (GtkWidget *widget,
              gpointer   data)
{
  gtk_widget_destroy (GTK_WIDGET (data));
  gtk_main_quit ();
}


static gint
delete_event (GtkWidget *widget,
              GdkEvent  *event,
              gpointer   data)
{
  gtk_widget_destroy (widget);
  gtk_main_quit ();
  return TRUE;
}


int
main (int argc, char **argv)
{
  GtkWidget *window;
  GtkWidget *vbox;
  GtkWidget *frame;
  GtkWidget *canvas;
  GtkWidget *qbutton;
  GnomeCanvasItem *item;
  guint      item_timer;
  GnomeCanvasPoints *points;
  
  gnome_init ("gmultitext", "1.0", argc, argv);
  
  window = gtk_window_new (GTK_WINDOW_TOPLEVEL);

  vbox = gtk_vbox_new (FALSE, 0);
  gtk_container_add (GTK_CONTAINER (window), vbox);

  frame = gtk_frame_new (NULL);
  gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_IN);
  gtk_box_pack_start (GTK_BOX (vbox), frame, TRUE, TRUE, 0);
  
  canvas = gnome_canvas_new ();
  gtk_widget_set_usize (canvas, CANVAS_SIZE, CANVAS_SIZE);
  gnome_canvas_set_scroll_region (GNOME_CANVAS (canvas),
                                  0.0, 0.0,
                                  CANVAS_SIZE, CANVAS_SIZE);
  gtk_container_add (GTK_CONTAINER (frame), canvas);

  item = gnome_canvas_item_new (gnome_canvas_root (GNOME_CANVAS (canvas)),
                                gnome_canvas_text_get_type (),
                                "x", (double) CANVAS_SIZE/2,
                                "y", (double) CANVAS_SIZE/2,
                                "fontset", "-misc-fixed-medium-r-normal--14-*-*-*-*-*-jisx0208.1983-0,-misc-fixed-medium-r-normal--14-*-*-*-*-*-iso8859-1",
                                "text", "こんにちはGNOME",
                                NULL);

  qbutton = gtk_button_new_with_label ("Exit");
  gtk_signal_connect (GTK_OBJECT (qbutton), "clicked",
                      (GtkSignalFunc) exit_clicked,
                      window);
  gtk_box_pack_start (GTK_BOX (vbox), qbutton, TRUE, TRUE, 0);
  
  gtk_signal_connect (GTK_OBJECT (window), "delete_event",
                      (GtkSignalFunc) delete_event,
                      NULL);
  
  gtk_widget_show_all (window);
  gtk_main ();
  return 0;
}