ITP: rxvt-unicode-X

Thomas Wolff
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 

   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
	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 

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