"Stephen J. Turnbull" <stephen(a)xemacs.org> さんは書きました:
Mike FABIAN writes:
> I am using the Xft support in XEmacs for a long time already
> and like a lot.
>
> But until now I always disabled it for the menus because
> I couldn’t figure out how to make it work for the translated menus.
It doesn't work, AFAIK. That's one of the reasons I opposed putting
Xft into the mainline way back when.
Working around it might be as easy as replacing calls to
XftDrawString8 with XftDrawStringUtf8 in lwlib/xlwmenu.c.
Yes, this works indeed. I have a patch attached which does this.
But of course this works only, if the translated app-defaults
files are UTF-8 encoded.
Until now I have packaged:
/usr/share/xemacs/mule-packages/etc/app-defaults/de/Emacs (iso-8859-1 encoded)
/usr/share/xemacs/mule-packages/etc/app-defaults/de_DE (symlink to de directory)
/usr/share/xemacs/mule-packages/etc/app-defaults/de_DE.UTF-8/Emacs (utf-8 encoded)
After applying the attached patch, having only
/usr/share/xemacs/mule-packages/etc/app-defaults/de/Emacs (utf-8 encoded)
works enough for de_DE, de_DE@euro, and de_DE.UTF-8 locales with Xft.
*But* in the non-Xft case, functions like XmbDrawString() are used which
expect the encoding of the current locale, i.e. they need files with
different encodings in different subdirectories like de/Emacs and
de_DE.UTF-8/Emacs.
The easiest (and in my opinion nicest as well) way to fix this would be
to use Xutf8DrawString() and friends for the non-Xft case and make the
app-defaults files always UTF-8 encoded. But according to the manual
page of Xutf8DrawString:
The function Xutf8DrawString is an extension introduced by The XFree86
Project, Inc. in their 4.0.2 release. Its presence is indicated by the
macro X_HAVE_UTF8_STRING.
and I don’t know if there are still systems around which do not have
Xutf8DrawString.
--
Mike FABIAN <mfabian(a)suse.de>
http://www.suse.de/~mfabian
睡眠不足はいい仕事の敵だ。
I � Unicode
_______________________________________________
XEmacs-Beta mailing list
XEmacs-Beta(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-beta