German umlauts and co

A. Pagaltzis pagaltzis at gmx.de
Thu Feb 3 07:58:34 CET 2005


*  Marc A. Lehmann  <pcg at goof.com> [2005-02-02 20:10]:
> On Wed, Feb 02, 2005 at 07:47:53PM +0100, "A. Pagaltzis" <pagaltzis at gmx.de> wrote:
> > I can see that what's happening is that the Unicode codepoint
> > is being sent as an escape sequence à la ^[[0;f6A in the case
> > of an ö.
> 
> f6a is not the unicode code point for ö.

No, but f6 is. The escape sequence is always of the form
ESC[0;xxA where xx is a codepoint. (I don't know if it's more
than two hex digits wide for characters with higher codepoints.)
Likewise I get ESC[0;e4A for ä and ESC[0;fcA for ü, where e4 and
fc are indeed the correct Unicode CPs for these characters.

> you just need to load an appropriate keymap for your keyboard
> that generates an ö,

I use a modified US layout where AltGr-; produces a dead
diaeresis, which a following keypress onto an applicable
character such as a vowel turns into an emitted umlaut. That
works perfectly well in xterm, Firefox and a large array of Gtk
apps including gvim.

Does that satisfy the requirement?

> and make sure your selected locale can display ö's.

Okay, so I'd need to use a UTF-8 locale or a Latin1 locale, like
de_DE. Correct?

(Question: how do I set up locales such that it only affects the
character encoding programs use, but nothing else such as their
messages, numeric/currency formats or what have you?)

> > The manpage says urxvt respects the locale instead of
> > providing an application-specific mechanism for
> > configuration, but it's not clear to me how to make things
> > work. I currently have LANG and LC_ALL set to "C"
> 
> that is your problem, as ö is not part of the C locale, so X
> cannot generate it.

Does that imply that I need to change the X server's locale too,
or is it enough to set the correct locale for urxvt?

> > urxvt: default locale unavailable, check LC_* and LANG variables. Continuing.
> 
> that means that your system doesn't support the selected
> locale. try to install the appropriate support for your OS.

This here is a glibc-based Linux system (Slackware 10.0, FWIW).
Any pointers on what I need?

> When urxvt outputs the message you saw then the locale is not
> supported by your system. I can't say what's going wrong, but I
> can say that your libc claims that it doesn't support it. That
> is the area where you have to work on. Maybe you are not
> setting it correctly?

Good question. I simply did ``LC_ALL=de_DE LANG=de_DE urxvt''
(and two variations with only one of the variables each) and
received the aforementioned message.

What might be missing? What might I be missing?

I realize this whole issue is probably only tangentially related
to urxvt. Do you have any pointers on where I can read up on how
the whole locale thing is really supposed to work on Unix in
generally and glibc-based systems in particular? Good, accessible
documentation on these mechanisms is almost as elusive as a
thorough guide on how the termcap shebang really works.
Consequently, I've mostly used cargoculted configuration advice
and avoided the whole area as well as I could once things seemed
to work reasonably well. I have no idea what I'm really doing.

Regards,
-- 
Aristotle
"If you can't laugh at yourself, you don't take life seriously enough."




More information about the rxvt-unicode mailing list