それを参考にして,別の解決策を考えたのでそれも紹介しとこうと思う.
まず,なぜ日本語が表示できないかというと,デフォルトのフォントが Lucida Grande 12 になってるからみたい.
なので,デフォルトのフォントを変更するようにソースを書き換える.デフォルトのセッティングを取得して,デフォルトのフォントを「ヒラギノ 角ゴ Pro」にする.Mac OS X の UI で使われているフォントのサイズが13ptみたいなので,サイズはそれにあわせてみた.
#include <gtk/gtk.h>
int
main (int argc, char **argv)
{
GtkWidget *window;
GtkWidget *label;
GtkSettings *settings;
gtk_init (&argc, &argv);
settings = gtk_settings_get_default ();
gtk_settings_set_string_property (settings, "gtk-font-name", "Hiragino Kaku Gothic Pro 13", NULL);
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
g_signal_connect (window, "destroy", G_CALLBACK (gtk_main_quit), NULL);
gtk_widget_show_all (window);
/* Add your widgets to the window here. */
label = gtk_label_new ("こんにちは,世界!");
gtk_container_add (GTK_CONTAINER (window), label);
gtk_widget_show (label);
/* Run the main loop. */
gtk_main ();
return 0;
}
これで,日本語が表示できるようになる.
ほかの環境のことを考えると,フォントがあるかチェックしたり,OS 判別したり,ロケールにあわせたりすべきなんだろうけど,その方法がよくわかんなかったので,とりあえずベタ書き.
0 件のコメント:
コメントを投稿