国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区

掃一掃
關(guān)注微信公眾號(hào)

在Gtk+/Gnome中使用中文初探
2008-09-18   21ds

GTK(GIMP Toolkit)起源於開(kāi)發(fā)用來(lái)做為GIMP (General Image Manipulation Program)的一套工具. GTK建立在GDK (GIMP Drawing Kit)的上層, 基本上是將Xlib功能包裝起來(lái). 它被稱為GIMP toolkit是因?yàn)樵瓉?lái)是寫(xiě)來(lái)開(kāi)發(fā)GIMP, 但現(xiàn)在被許多免費(fèi)軟體計(jì)劃所使用. GNOME是GNU網(wǎng)絡(luò)對(duì)象模型環(huán)境(GNU’s Network Object Model Environment)的縮寫(xiě).GNOME提出了一系列UNIX世界中沒(méi)有的觀點(diǎn): 提供一個(gè)統(tǒng)一的友好的用戶界面. 提供用戶友好的工具. 產(chǎn)生一個(gè)組件編程和組件重用的標(biāo)準(zhǔn). 提供一個(gè)統(tǒng)一的打印機(jī)制. GNOME的主要目標(biāo)是提供一組用戶友好的應(yīng)用和一個(gè)易于使用的桌面環(huán)境. 它比KDE效率和穩(wěn)定性好,但在易用性方面比KDE稍有不足。

最近學(xué)習(xí)了一下Gtk+/Gnome,并看了一下bluefish的源碼, 發(fā)現(xiàn)用Gtk+/Gnome寫(xiě)支持中文輸入輸出的GUI界面不是一件太困難的事情. 下面是我寫(xiě)的一個(gè)示例性的小程序,希望能給象我一樣的初學(xué)者一點(diǎn)幫助.

開(kāi)發(fā)環(huán)境和開(kāi)發(fā)工具
討論Linux中文環(huán)境的文章已經(jīng)有不少了,其實(shí)現(xiàn)在常見(jiàn)的Linux Contribution的桌面環(huán)境都是國(guó)際化的, 只要對(duì)一些配置文件修改一下就能實(shí)現(xiàn)漢字顯示. 漢字輸入也已經(jīng)遵循XIM標(biāo)準(zhǔn)了,只要客戶程序接受XIM,理論上說(shuō)就可以輸入漢字. 關(guān)鍵的問(wèn)題在于并不是所有大家熟悉的應(yīng)用軟件都支持國(guó)際化,有的時(shí)候即使軟件本身支持,也需要進(jìn)行一些設(shè)置工作.

我的工作環(huán)境是Mandrake 7.2和chinput 3.0. KDE桌面實(shí)現(xiàn)漢化. 一般來(lái)說(shuō)我的編輯工具是Vim, 如果想輸入漢字就需要有一個(gè)支持XIM的Terminal,rxvt-CLE是一個(gè)不錯(cuò)的選擇. 我想Gnome-Terminal 顯然也應(yīng)該可以實(shí)現(xiàn)漢字輸入輸出,但現(xiàn)在我還找到正確的修改方法. 主要的問(wèn)題是不知道在什么地方可以設(shè)置fontset, 因?yàn)橹挥羞@樣才能實(shí)現(xiàn)中英文混和顯示.

圖形化的編輯器可以使用Gedit,還有我現(xiàn)在正在用來(lái)編寫(xiě)這個(gè)HTML文件的bluefish.如果你想在bluefish中使用自己定義的 fontset,而不是Gtk+缺省的設(shè)置就需要把~/.bluefish/rcfile中的fontset變量設(shè)為1.

象Netscape之類的軟件的國(guó)際化已經(jīng)作的很好了, 設(shè)好locale和XIM之后, 輸入輸出都很令人滿意. 當(dāng)然可能你還需要設(shè)置一下配置文件中的字體.

Gtk+/Gnome示例
/* 在gtk+/gnome編程中使用中文示例 “base.c”

* 這段代碼使用gtk+/gnome生成一個(gè)編輯窗口,通過(guò)系統(tǒng)的XIM Server輸入漢字, 輸入的字體使用本程序中的定義.

* 編譯方法:

* gcc -o base base.c `gnome-config –cflags –libs gnome gtk gnomeui */

#include

/* 宏定義:

* 在 PACKAGE_LOCALE_DIR 處定義你的 locale 所在的位置.

* 我使用 Mandrake 7.2, LC_ALL=zh_CN.GB2312

*/

#define PACKAGE “base”
#define PACKAGE_LOCALE_DIR “/usr/local/share/locale”
gint delete_event ( GtkWidget *widget, GdkEvent *event, gpointer data )
{
g_print(”delete event occerredn”);
return(FALSE);
}
void destroy( GtkWidget *widget,
gpointer data )
{
gtk_main_quit();
}
int main ( int argc, char *argv[] )
{
GtkWidget *window;
GtkWidget *text;
/* 有關(guān)修改字體的變量 */
GtkStyle *style;
GdkFont *tmpfont;
gchar *fontstring;

/* 設(shè)置使用字體: 兩種字體分別對(duì)應(yīng)英文和中文. 根據(jù)你的 Xwindow

* 修改這句話, 使用系統(tǒng)可識(shí)別的字體.

* 可用 xlsfonts |grep gb 命令找出你的中文字體.

*/

fontstring = “-*-fixed-medium-r-normal–16-*-*-*-*-*-iso8859-1,-*-simsun-medium-r-normal–16-*-*-*-*-*-gb2312.1980-0″;

/* 加載 locale:

* 這兩句話必須 */

bindtextdomain (PACKAGE, PACKAGE_LOCALE_DIR);
textdomain (PACKAGE);
/* Gnome 初始化 */
gnome_init (PACKAGE, “0.1″, argc, argv);
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_signal_connect (GTK_OBJECT (window), “delete_event”,GTK_SIGNAL_FUNC (delete_event), NULL);
gtk_signal_connect (GTK_OBJECT (window), “destroy”,GTK_SIGNAL_FUNC (destroy), NULL);
text = gtk_text_new (NULL, NULL);
/* 設(shè)置自定義的字體: */
style = gtk_rc_get_style (GTK_WIDGET(text));
tmpfont = style->font;
if(!(style->font = gdk_fontset_load(fontstring)));
g_print(”fontset_load falsen”);
gdk_font_unref(tmpfont);
gtk_widget_set_style(GTK_WIDGET(text), style);
gtk_container_add (GTK_CONTAINER (window), text);
gtk_widget_show (text);
gtk_widget_show (window);
gtk_text_set_editable (GTK_TEXT (text), TRUE);
gtk_main ();
return(0);
}

就是這么簡(jiǎn)單!

熱詞搜索:

上一篇:兩條命令搞定truetype字體
下一篇:Linux中文字型的轉(zhuǎn)換與內(nèi)嵌

分享到: 收藏
国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区
精品免费日韩av| 一本色道亚洲精品aⅴ| 亚洲国产美国国产综合一区二区| 久久影院视频免费| 亚洲精品一区二区精华| 日韩欧美高清在线| 欧美成人激情免费网| 日韩精品一区二区三区视频在线观看 | 欧美精品自拍偷拍| 欧美日韩综合在线免费观看| 欧美性欧美巨大黑白大战| 欧美午夜一区二区三区| 91精品国产一区二区| 精品国产一区二区三区久久影院| 久久久久久久电影| 亚洲人成7777| 琪琪一区二区三区| 国产黄色精品网站| 日本高清免费不卡视频| 538在线一区二区精品国产| 欧美成人伊人久久综合网| 久久久久久久精| 亚洲男同性视频| 蜜桃传媒麻豆第一区在线观看| 激情另类小说区图片区视频区| 国产乱人伦偷精品视频免下载| 成人国产在线观看| 欧美精品1区2区| 国产蜜臀97一区二区三区| 亚洲精品日产精品乱码不卡| 欧美aaaaa成人免费观看视频| 国产成人免费在线观看不卡| 欧美色国产精品| 亚洲国产高清aⅴ视频| 亚洲国产欧美在线| 国产高清在线观看免费不卡| 欧美日韩精品一区二区三区蜜桃| 久久久久久久久久电影| 亚洲国产精品视频| 国产成人免费9x9x人网站视频| 欧美三级电影网| 国产精品对白交换视频| 青娱乐精品在线视频| 91色综合久久久久婷婷| 精品久久五月天| 天堂蜜桃91精品| 99热99精品| 久久综合成人精品亚洲另类欧美 | 精品久久久三级丝袜| 亚洲一级二级三级| 99久久国产综合精品色伊| 精品少妇一区二区三区日产乱码| 亚洲乱码中文字幕综合| 成人激情电影免费在线观看| 日韩精品一区二区三区视频播放 | 日韩一区日韩二区| 国产一二三精品| 日韩一区二区三| 三级欧美韩日大片在线看| 一本一道久久a久久精品综合蜜臀 一本一道综合狠狠老 | 精品国产制服丝袜高跟| 日韩高清一级片| 欧美日韩视频不卡| 亚洲最大成人综合| 91啦中文在线观看| ㊣最新国产の精品bt伙计久久| 国产精品一二三四五| xvideos.蜜桃一区二区| 紧缚奴在线一区二区三区| 欧美成人video| 美女视频第一区二区三区免费观看网站 | 亚洲精品视频在线观看免费| 99视频一区二区| 亚洲女同女同女同女同女同69| 国产69精品一区二区亚洲孕妇| 久久久精品免费网站| 国产精品99久久久久久有的能看| 精品国产第一区二区三区观看体验| 免费成人你懂的| 久久综合色综合88| 从欧美一区二区三区| 国产色产综合产在线视频| 成人国产精品免费| 亚洲色图.com| 欧美日韩电影一区| 蜜桃免费网站一区二区三区| 精品国产乱码久久久久久图片| 激情久久五月天| 国产精品美女久久久久久| 91浏览器打开| 蜜臀a∨国产成人精品| 久久久久久久久久久久久女国产乱 | 国产欧美一区二区在线| caoporn国产一区二区| 亚洲香肠在线观看| 日韩免费在线观看| 99综合电影在线视频| 一区二区在线看| 欧美大片在线观看一区| 成人av网址在线| 天天操天天色综合| 亚洲国产精品成人综合| 在线观看不卡一区| 韩国成人在线视频| 亚洲精品视频在线| 久久亚洲精精品中文字幕早川悠里| 国产河南妇女毛片精品久久久| 亚洲精品乱码久久久久| 精品国产伦一区二区三区免费| av不卡在线播放| 免费观看一级欧美片| 亚洲图片你懂的| 日韩欧美国产不卡| 精品欧美一区二区三区精品久久| 国产成人av网站| 首页亚洲欧美制服丝腿| 国产精品二区一区二区aⅴ污介绍| 欧美男同性恋视频网站| 国产不卡视频一区| 免费人成网站在线观看欧美高清| 中文字幕的久久| 日韩女优av电影在线观看| 日本韩国一区二区| 不卡欧美aaaaa| 精品一二三四区| 日韩电影免费一区| 一区二区三区四区五区视频在线观看 | 中文字幕乱码久久午夜不卡| 91精品中文字幕一区二区三区| av成人老司机| 国产69精品久久久久毛片 | 国产精品第13页| 亚洲精品一区二区三区99| 欧美一区二区在线观看| 欧美精品日韩一区| 欧美视频一区二区三区四区| 99久久伊人精品| 成人精品一区二区三区四区 | 亚洲免费视频中文字幕| 国产亚洲一区二区在线观看| 欧美大肚乱孕交hd孕妇| 91麻豆精品国产91久久久 | 国产suv精品一区二区883| 久久精品国产久精国产| 日韩福利电影在线| 日产欧产美韩系列久久99| 一区二区三区在线免费播放| 亚洲日本乱码在线观看| 自拍偷拍亚洲综合| 亚洲视频在线一区观看| 国产精品久久一级| 亚洲国产精品精华液ab| 国产精品美女一区二区三区 | 欧美一区二区私人影院日本| 91超碰这里只有精品国产| 欧美美女一区二区在线观看| 欧美日本韩国一区| 欧美一区二区视频在线观看 | 欧美午夜电影网| 欧美日本一区二区三区四区| 3d动漫精品啪啪1区2区免费 | 日本一区免费视频| 成人欧美一区二区三区视频网页 | 天天做天天摸天天爽国产一区 | 国产成人在线免费| 欧美色电影在线| 欧美一区欧美二区| 精品国产91洋老外米糕| 久久久99免费| 综合网在线视频| 五月综合激情网| 国产福利一区二区三区视频| 成人一二三区视频| 色av一区二区| 欧美一级专区免费大片| 国产亚洲欧美中文| 一区二区三区精品在线观看| 天堂成人国产精品一区| 国产综合久久久久久久久久久久 | 石原莉奈在线亚洲二区| 久久97超碰国产精品超碰| www.欧美色图| 欧美精品久久久久久久久老牛影院 | 亚洲福利视频一区| 国产一区二区成人久久免费影院| av在线这里只有精品| 欧美精品色综合| 国产精品网站一区| 日韩精品久久久久久| 国产成a人亚洲精品| 欧美日本不卡视频| 国产精品乱码妇女bbbb| 日本中文字幕不卡| 99久久精品免费| 欧美精品一区视频| 亚洲成人av免费| 99re热视频这里只精品| 欧美成人精品高清在线播放| 亚洲自拍与偷拍| 成人精品gif动图一区|