tech-x11 archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Default X i18n configuration for UTF-8 locales references non-existent modules
Hello,
I'm running NetBSD-5.0 release with native X.org from the base system
on i386, and I've noticed the default X i18n settings for the UTF-8
locales are non-working since they point to non-existent modules. It
seems several other people have noticed the effects too, in a form or
another; it is related to PR #41129.[1][2] Is there a reason to these
defaults?
The problematic file, used by all UTF-8 locales, is
${XSRC}/external/mit/libX11/dist/nls/en_US.UTF-8/XI18N_OBJS (which
installs to /usr/X11R7/lib/X11/locale/en_US.UTF-8/XI18N_OBJS):
# CATEGORY(XLC|XIM|OM) SHARED_LIBRARY_NAME FUNCTION_NAME
#
# XI18N objects table for euro locales
#
XLC common/xlcUTF8Load _XlcUtf8Loader # XLC_open
XOM common/xomLTRTTB _XomGenericOpenOM # XOM_open
XIM common/xiiimp _SwitchOpenIM # XIM_open
XIM common/xiiimp _XimpLocalOpenIM # XIM_open
A web search seems to indicate that the XOM and XIM modules listed are
not provided by X.org and are Solaris-specific.[3]
On my setup, I have replaced them with X.org (only) modules, which are
used by non-UTF-8 locales (ximcp for XIM and xomGeneric for XOM).
I don't know whether they support all Unicode specifics, but at least
they exist. Here's the patch:
--- a/XI18N_OBJS 2008-07-30 04:43:01.000000000 +0200
+++ b/XI18N_OBJS 2009-06-06 19:09:30.000000000 +0200
@@ -3,6 +3,8 @@
# XI18N objects table for euro locales
#
XLC common/xlcUTF8Load _XlcUtf8Loader # XLC_open
-XOM common/xomLTRTTB _XomGenericOpenOM # XOM_open
-XIM common/xiiimp _SwitchOpenIM # XIM_open
-XIM common/xiiimp _XimpLocalOpenIM # XIM_open
+#XOM common/xomLTRTTB _XomGenericOpenOM # XOM_open
+XOM common/xomGeneric _XomGenericOpenOM # XOM_open
+#XIM common/xiiimp _SwitchOpenIM # XIM_open
+#XIM common/xiiimp _XimpLocalOpenIM # XIM_open
+XIM common/ximcp _XimOpenIM
_XimRegisterIMInstantiateCallback _XimUnRegisterIMInstantiateCallback #
XIM_open XIM_register XIM_unregister
For me, things work fine with these settings: X applications
(including twm) using base X fonts can now create fontsets, xterm does
not complain about the input method anymore, and dead key composition
are handled normally by the X server (e.g. dead keys work in Emacs
without having to resort to iso-transl).
The problem does not appear to be NetBSD-specific since at least two
major Linux distros I have checked (Gentoo, Debian) have identical
configurations, yet work fine with UTF-8. They appear to lack the
shared libraries for X i18n modules altogether, which would mean their
libX11 was compiled without dynamic i18n module support (if that is at
all possible). That would be another solution, I guess.
[1] http://mail-index.netbsd.org/tech-x11/2009/01/19/msg000329.html
[2] http://www.netbsd.org/cgi-bin/query-pr-single.pl?number=41129
[3] http://wikis.sun.com/display/g11n/Porting+Xorg+XI18N+One+Pager
Nhat Minh
Home |
Main Index |
Thread Index |
Old Index