--- xdu-3.0/xwin.c.orig 1994-06-06 04:29:24.000000000 +0900 +++ xdu-3.0/xwin.c 2005-02-19 19:05:30.000000000 +0900 @@ -69,7 +69,7 @@ typedef struct { Pixel foreground; Pixel background; - XFontStruct *font; + XFontSet font; int ncol; Boolean showsize; char *order; @@ -81,8 +81,8 @@ XtOffset(res_data_ptr,foreground), XtRString, XtDefaultForeground}, { XtNbackground, XtCBackground, XtRPixel, sizeof(Pixel), XtOffset(res_data_ptr,background), XtRString, XtDefaultBackground}, - { XtNfont, XtCFont, XtRFontStruct, sizeof(XFontStruct *), - XtOffset(res_data_ptr,font), XtRString, XtDefaultFont }, + { XtNfontSet, XtCFontSet, XtRFontSet, sizeof(XFontSet *), + XtOffset(res_data_ptr,font), XtRString, XtDefaultFontSet }, { "ncol", "Ncol", XtRInt, sizeof(int), XtOffset(res_data_ptr,ncol), XtRString, "5"}, { "showsize", "ShowSize", XtRBoolean, sizeof(Boolean), @@ -309,6 +309,7 @@ /* Create the top level Widget */ n = 0; XtSetArg(args[n], XtNtitle, "XDU Disk Usage Display ('h' for help)\n"); n++; + XtSetLanguageProc(NULL, NULL, NULL); toplevel = XtAppInitialize(&app_con, "XDu", options, XtNumber(options), argcp, argv, @@ -342,8 +343,7 @@ gcv.foreground = res.foreground; gcv.background = res.background; - gcv.font = res.font->fid; - gc = XCreateGC(dpy, win, (GCFont|GCForeground|GCBackground), &gcv); + gc = XCreateGC(dpy, win, (GCForeground|GCBackground), &gcv); setorder(res.order); ncols = res.ncol; @@ -384,8 +384,7 @@ { int textx, texty; char label[1024]; - XCharStruct overall; - int ascent, descent, direction; + XRectangle overall_ink, overall_logical; int cheight; /*printf("draw(%d,%d,%d,%d)\n", x, y, width, height );*/ @@ -396,16 +395,16 @@ name = label; } - XTextExtents(res.font, name, strlen(name), &direction, - &ascent, &descent, &overall); - cheight = overall.ascent + overall.descent; + XmbTextExtents(res.font, name, strlen(name), + &overall_ink, &overall_logical); + cheight = overall_logical.height; if (height < (cheight + 2)) return; /* print label */ textx = x + 4; - texty = y + height/2.0 + (overall.ascent - overall.descent)/2.0 + 1.5; - XDrawString(dpy, win, gc, textx, texty, name, strlen(name)); + texty = y + height/2.0 + overall_logical.height/5.0 + 1.5; + XmbDrawString(dpy, win, res.font, gc, textx, texty, name, strlen(name)); } static Widget popup; --- xdu-3.0/XDu.ad.orig 1994-06-06 04:29:23.000000000 +0900 +++ xdu-3.0/XDu.ad 2005-02-19 19:06:26.000000000 +0900 @@ -13,7 +13,7 @@ !XDu*help*background: red4 XDu*window.width: 600 XDu*window.height: 480 -XDu.font: -*-helvetica-bold-r-normal--14-* +XDu.fontSet: -*-helvetica-bold-r-normal--14-*, -*-*-bold-r-normal--14-* XDu.ncol: 5 XDu.showsize: true XDu.order: first