|
发表于 2003-3-24 11:30:23
|
显示全部楼层
[quote:b95f1d1f4d="Aguda"]gtk1.2中文问题的解决
下面是从Redhat8.0的SRPM找出来的patch:
--- gtk+-1.2.10/gdk/gdkfont.c.old 2003-03-01 00:31:43.000000000 +0800
+++ gtk+-1.2.10/gdk/gdkfont.c 2003-03-01 00:06:50.000000000 +0800
@@ -445,7 +445,6 @@
GdkFontPrivate *private;
XCharStruct *chars;
gint width;
- guint ch = character & 0xff; /* get rid of sign-extension */
XFontStruct *xfont;
XFontSet fontset;
@@ -458,21 +457,7 @@
case GDK_FONT_FONT:
/* only 8 bits characters are considered here */
xfont = (XFontStruct *) private->xfont;
- if ((xfont->min_byte1 == 0) &&
- (xfont->max_byte1 == 0) &&
- (ch >= xfont->min_char_or_byte2) &&
- (ch <= xfont->max_char_or_byte2))
- {
- chars = xfont->per_char;
- if (chars)
- width = chars[ch - xfont->min_char_or_byte2].width;
- else
- {
- width = XTextWidth (xfont, &character, 1);
- }
+ width = XTextWidth (xfont, &character, 1);
break;
case GDK_FONT_FONTSET:
fontset = (XFontSet) private->xfont;
把上面的patch的内容保存为gtk+-1.2.10-misssingchar.patch
放到/usr/portage/x11-libs/gtk+/files目录下面
然后对gtk+-1.2.10-r9.ebuild稍做修改,
src_unpack() {
unpack ${P}.tar.gz
cd ${S}/..
#bzcat ${DISTDIR}/gtk+-1.2.10-r8-gentoo.diff.bz2 | patch -p1
cat ${FILESDIR}/gtk+-1.2.10-misssingchar.patch | patch -p0
}
注意gentoo提供的patch不能应用,不然中文还是有问题
再emerger gtk+-1.2.10-r9.ebuild,中文就可以显示正常了
ft,我现在在想是不是就是gentoo的patch搞的鬼[/quote]
我已经用了这个补丁了,不过我的gtk1的程序还是不行,都有问题 我的locale是gbk, XFree4.3 |
|