Commit b63196e91e7d78e88a9012f3f44152eeef5358cf

Ran Benita 2018-02-27T20:24:57

keysym-utf: replace the Unicode characters for leftanglebracket and rightanglebracket Looking at leftanglebracket - The standard[1] does not specify any Unicode value for it. - The keysym list keysymdef.h in x11proto[2] says U+27E9 MATHEMATICAL RIGHT ANGLE BRACKET in a comment. - The keysym->unicode list in xkbcommon which comes from [3] has U+2329 LEFT-POINTING ANGLE BRACKET. - The keysym->unicode list in Xlib[4] has U+2039 SINGLE LEFT-POINTING ANGLE QUOTATION MARK. [1] https://www.x.org/releases/X11R7.7/doc/xproto/x11protocol.html#Legacy_KEYSYMs [2] https://cgit.freedesktop.org/xorg/proto/x11proto/tree/keysymdef.h [3] https://www.cl.cam.ac.uk/%7Emgk25/ucs/keysym2ucs.c [4] https://cgit.freedesktop.org/xorg/lib/libX11/tree/src/xlibi18n/imKStoUCS.c The symbols we are using, {LEFT,RIGHT}-POINTING ANGLE BRACKET, are deprecated according to Unicode[5]: These characters are deprecated and are strongly discouraged for mathematical use because of their canonical equivalence to CJK punctuation. [5] https://www.unicode.org/charts/PDF/U2300.pdf Hence, switch to the MATHEMATICAL codepoints which seem to be the best fit. Fixes: https://github.com/xkbcommon/libxkbcommon/issues/47 Reported-by: @bytensky Signed-off-by: Ran Benita <ran234@gmail.com>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
diff --git a/src/keysym-utf.c b/src/keysym-utf.c
index 58be5dc..1ccfc0e 100644
--- a/src/keysym-utf.c
+++ b/src/keysym-utf.c
@@ -534,9 +534,9 @@ static const struct codepair keysymtab[] = {
     { 0x0ab7, 0x215a }, /*                  fivesixths ⅚ VULGAR FRACTION FIVE SIXTHS */
     { 0x0ab8, 0x2105 }, /*                      careof ℅ CARE OF */
     { 0x0abb, 0x2012 }, /*                     figdash ‒ FIGURE DASH */
-    { 0x0abc, 0x2329 }, /*            leftanglebracket 〈 LEFT-POINTING ANGLE BRACKET */
+    { 0x0abc, 0x27e8 }, /*            leftanglebracket ⟨ MATHEMATICAL LEFT ANGLE BRACKET */
     { 0x0abd, 0x002e }, /*                decimalpoint . FULL STOP */
-    { 0x0abe, 0x232a }, /*           rightanglebracket 〉 RIGHT-POINTING ANGLE BRACKET */
+    { 0x0abe, 0x27e9 }, /*           rightanglebracket ⟩ MATHEMATICAL RIGHT ANGLE BRACKET */
     /*  0x0abf                                  marker ? ??? */
     { 0x0ac3, 0x215b }, /*                   oneeighth ⅛ VULGAR FRACTION ONE EIGHTH */
     { 0x0ac4, 0x215c }, /*                threeeighths ⅜ VULGAR FRACTION THREE EIGHTHS */