keysymdef.h has wrong implies symbol?

Peter Hutterer peter.hutterer at who-t.net
Sun Oct 26 21:41:17 PDT 2008


On Sat, Oct 25, 2008 at 02:22:03AM -0400, James Cloos wrote:
> >>>>> "Peter" == Peter Hutterer <peter.hutterer at who-t.net> writes:
> 
> Peter> diff --git a/src/xlibi18n/imKStoUCS.c b/src/xlibi18n/imKStoUCS.c
> Peter> index 83c1483..4b4f628 100644
> Peter> --- a/src/xlibi18n/imKStoUCS.c
> Peter> +++ b/src/xlibi18n/imKStoUCS.c
> Peter> @@ -123,1 +123,1 @@ static unsigned short const keysym_to_unicode_8a4_8fe[] = {
> Peter> -    0x2245, 0x2246, 0x0000, 0x0000, 0x0000, 0x0000, 0x22a2, 0x0000, /* 0x08c8-0x08cf */
> Peter> +    0x2245, 0x2246, 0x0000, 0x0000, 0x0000, 0x0000, 0x21d2, 0x0000, /* 0x08c8-0x08cf */
> 
> Wow.  Old bug!
> 
> AFAICT it was part of the initial import of the Xfree86 code.
> 
> You are right; that is definitely the correct fix if the comment in
> xkeysymdef.h (that XK_implies should be U+21D2 RIGHTWARDS DOUBLE ARROW)
> is correct.

well, that's the issue with the whole thing (Erik and me discussed that a
bit):

keysymdef.h states that XK_implies is U+21D2 RIGHTWARDS DOUBLE ARROW.
in mathematics, this is the usual symbol for "implies".
however, according to http://unicode.org/charts/PDF/U2200.pdf (p 207),
"implies" is an alias for RIGHT TACK.

so basically: either the comment is wrong, or the code is wrong. we have to
pick whether we want to go with unicode or mathematics.

As Erik pointed out, right tack does have its own symbol XK_righttack, whereas
there's no other XK_... for the double right arrow.

Cheers,
  Peter



More information about the xorg mailing list