ITP: rxvt-unicode-X
Thomas Wolff
mined@towo.net
Wed May 10 20:31:00 GMT 2006
Sorry for the very late response, but I've finally succeessfully
pursuaded rxvt-unicode now to actually support Unicode on cygwin,
and I'd like to suggest to include that in the package.
Charles Wilson wrote on Tue, 21 Mar 2006 16:54:11 -0500:
> > ...
> > So what is the actual "newlib" problem that prevents rxvt from
> > supporting Unicode - apparently even from trying to support it?
> I don't know. All I know is that (a) I didn't see it actually work, and
> (b) I've read other reports that unicode doesn't actually work on
> cygwin. Maybe I'm wrong. I'm pretty clueless on unicode issues: do I
> need a specific unicode font to even try it? How many LC_* variables
> *should* I have to set in order to "enable" unicode -- say, if I were on
> a Linux system will full unicode support? I dunno. I was hoping others
> with more experience could use my package -- or my build system -- and
> experiment, reporting successess and failures. I know, that's fairly
> pollyanna-ish of me, but... I was eventually planning on building
> rxvt-unicode with identical options over on my Linux box, and play
> around with it there, but that's a roudtuit item.
Some general remarks:
Depending on the application, Unicode may be triggered either
1) explicitly or
2) using the locale mechanism (which is bogus on cygwin).
It should be noted that the set of locale variables (LC_* and LANG)
are not identical to the locale mechanism which needs addtional
library support.
1) For example, xterm has an explicit command line option:
xterm -u8
which invokes xterm in UTF-8 mode. Additional configuration is
needed to use Unicode fonts. And LC_* variables are unfortunately
not set implicitly in this invocation mode which confuses many
applications.
My package mined includes a script uterm which invokes xterm in a
suitable mode, including font setup. Cygwin/X does include some
Unicode fonts, but apparently a very outdated version of them with
a very limited character range. I would offer to maintain a package
of Unicode X fonts if that helps.
2) Rxvt insists on locale configuration to provide desired encodings.
This means, you would have to invoke rxvt like this:
LC_CTYPE=en_US.UTF-8 rxvt
or
LC_ALL=vi_VN rxvt
(Note: vi_VN is one of the UTF-8 locales that lack the usual
indication suffix.)
And rxvt would run in UTF-8 mode where the locale mechanism
works (which it doesn't on cygwin).
The reason why I couldn't trick out rxvt before by just setting the
variables was that it also depends on the wide character library
functions which in turn depend on a working locale mechanism.
I have now replaced those functions (well, the subset of them needed
by rxvt) with substitutes that either operate in UTF-8 mode, or
delegate to the system functions, depending on the setting of the
locale variables, and it works. At least it does so for display,
although it suppresses 8-bit input for some obscure reason still to be
found.
I will send the files to you (Charles Wilson) directly and would
appreciate if you confirm the solution.
Kind regards,
Thomas Wolff
More information about the Cygwin-apps
mailing list