June 27,2007

GTK 繪出中文字問題

// graphics\periGTK.c
// 使用 gdk_draw_layout 取代 gdk_draw_text
void outgtextP(BCG *ScilabXgc,int xx, int yy,char *string)
{
PangoLayout *pl;
pl = gtk_widget_create_pango_layout(ScilabXgc->drawing,NULL);
pango_layout_context_changed(pl);
pango_layout_set_text(pl, string,-1);
gdk_draw_layout( ScilabXgc->pixmap,ScilabXgc->wgc,xx,yy,pl);
g_object_unref(pl);
}
///////////////////////////

void C2F(displaystring)(char *string, integer *x, integer *y, integer *v1, integer *flag, integer *v6, integer *v7, double *angle, double *dv2, double *dv3, double *dv4)
{
gint lbearing, rbearing, iascent, idescent, iwidth;
gdk_string_extents(ScilabXgc->font,"中", &lbearing, &rbearing,
&iwidth, &iascent, &idescent);

...
if ( ScilabXgc->Cdrawable == ScilabXgc->drawing->window)
outgtextP(ScilabXgc,*x, *y- iascent-idescent, string) ;
// gdk_draw_text(ScilabXgc->pixmap,ScilabXgc->font,ScilabXgc->wgc,
// *x, *y - idescent , string, strlen(string));


Posted by yunglee at 樂多Roodo! │00:01 │回應(0)引用(0)GTK 相關主題
樂多分類:日記/一般 工具:編輯本文
Ads by Roodo! 

引用URL

http://cgi.blog.roodo.com/trackback/3536603