先执行命令:
localedef -i zh_CN -f UTF-8 zh_CN
cp /usr/share/fonts/fruetype 到 demo 板的 /usr/share/fonts 下面
假设 ui 程序在当前目录,代码中如下写:
#define PACKAGE "ui"
#define LOCALEDIR "../locale"
bindtextdomain(PACKAGE,LOCALEDIR);
bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
textdomain(PACKAGE);
gtk_init(&argc, &argv);
GTK中文程序示例
上面的例子是英文编程的基本例子,如果在程序中使用中文,还应当 对上面的例子作适当的修改。当然最基本的要求还是Linux系统必须有 一个正确的国际化环境,具体地说就是:
- 系统支持中文C Locale
- 系统支持中文X Locale
- GTK的资源文件/etc/gtk/gtkrc.zh_CN设置正确
对于上面的几个要求,可以参阅本书的国际化编程部分。
下面是一个典型的 gtkrc.zh_CN文件,其中指定的缺省字体是14点阵 字体。
# $(gtkconfigdir)/gtkrc.zh_CN # # This file defines the fontsets for Chinese language (zh) using # the simplified chinese standard GuoBiao as in mainland China (CN) # # 1999, Pablo Saratxaga <srtxg@chanae.alphanet.ch> # style "gtk-default-zh-cn" { fontset = "-adobe-helvetica-medium-r-normal--14-*-*-*-*-*-iso8859-*,/ -cclib-song-medium-r-normal--14-*-*-*-*-*-gbk-0" } class "GtkWidget" style "gtk-default-zh-cn" 使上述程序支持中文非常简单,只需要在初始化gtk之前调用locale设置函数: //设置Locale gtk_set_locale(); //gtk 初始化 gtk_init(&argc, &argv); 把按钮的标签改为中文即可: //建立一个含中文标签的按钮 button = gtk_button_new_with_label ("大家好!"); 程序运行的结果是: