Hi,
On 2011-10-18 20:15, Matt Dew wrote:
> On 10/17/2011 03:07 AM, Marko Myllynen wrote:
>>
>>> There's a comment in the keysymdef.h file:
>>
>> ezh/EZH happened to be in ranges covered by IPAExt_upper_mapping and
>> LatinExtB_{upper,lower}_mapping mappings in KeyBind.c already but indeed
>> permille needed a mapping in src/xlibi18n/imKStoUCS.c as was done for
>> partialderivative in commit c859446c500c883a67f7a86cab1a44844e24dade.
>>
>> I've now tested by building patched libX11 against the updated
>> keysymdef.h and ezh/EZH/permille work in compose maps and keyboard map
>> files as expected.
>>
>> I'm attaching an updated patch to update the comment section, a patch
>> for the needed mapping in libX11, and, while at it, updating compose
>> maps to use the ezh/EZH mnemonics.
>
> It's not my area of expertise so I probably won't catch anything but
> glaring errors. But I didn't see any of those so:
> Reviewed-by: Matt Dew <[email protected]>
>
> Did you want to take a stab at updating the keysyms.xml?
right, when I updated the documentation references I forgot to follow
the documented procedure myself :)
I'm attaching updated patches, the only change is the addition of the
permille to keysyms.xml.
Thanks,
--
Marko Myllynen
>From 0e1bbb54fa460abb740819317f38077f783772b2 Mon Sep 17 00:00:00 2001
From: Marko Myllynen <[email protected]>
Date: Thu, 20 Oct 2011 10:27:45 +0300
Subject: [PATCH] x11proto: add permille, ezh, and EZH to keysymdef.h
This patch adds the following mnemonic symbols:
XK_permille for U+2030 PER MILLE SIGN
XK_EZH for U+01B7 LATIN CAPITAL LETTER EZH
XK_ezh for U+0292 LATIN SMALL LETTER EZH
These are the last mnemonic symbols missing from the Finnish keyboard
layout. The characters are part of the Finnish standard, ezh is used
in Sami and permille sign is used commonly in Finland, probably in
other countries as well.
https://bugs.freedesktop.org/show_bug.cgi?id=19687
---
keysymdef.h | 11 +++++++----
specs/keysyms.xml | 6 ++++++
2 files changed, 13 insertions(+), 4 deletions(-)
diff --git a/keysymdef.h b/keysymdef.h
index f96bc09..8c2369c 100644
--- a/keysymdef.h
+++ b/keysymdef.h
@@ -102,13 +102,13 @@ SOFTWARE.
* does not represent any existing Unicode character.
*
* When adding new keysyms to this file, do not forget to also update the
- * following:
+ * following as needed:
*
* - the mappings in src/KeyBind.c in the repo
- * git://anongit.freedesktop.org/xorg/lib/libX11
+ * git://anongit.freedesktop.org/xorg/lib/libX11.git
*
- * - the protocol specification in specs/XProtocol/X11.keysyms
- * in the repo git://anongit.freedesktop.org/xorg/doc/xorg-docs
+ * - the protocol specification in specs/keysyms.xml
+ * in the repo git://anongit.freedesktop.org/xorg/proto/x11proto.git
*
*/
@@ -1467,6 +1467,7 @@ SOFTWARE.
#define XK_leftdoublequotemark 0x0ad2 /* U+201C LEFT DOUBLE
QUOTATION MARK */
#define XK_rightdoublequotemark 0x0ad3 /* U+201D RIGHT DOUBLE
QUOTATION MARK */
#define XK_prescription 0x0ad4 /* U+211E PRESCRIPTION TAKE */
+#define XK_permille 0x0ad5 /* U+2030 PER MILLE SIGN */
#define XK_minutes 0x0ad6 /* U+2032 PRIME */
#define XK_seconds 0x0ad7 /* U+2033 DOUBLE PRIME */
#define XK_latincross 0x0ad9 /* U+271D LATIN CROSS */
@@ -1970,6 +1971,8 @@ SOFTWARE.
#define XK_obarred 0x1000275 /* U+0275 LATIN SMALL LETTER
BARRED O */
#define XK_SCHWA 0x100018f /* U+018F LATIN CAPITAL
LETTER SCHWA */
#define XK_schwa 0x1000259 /* U+0259 LATIN SMALL LETTER
SCHWA */
+#define XK_EZH 0x10001b7 /* U+01B7 LATIN CAPITAL
LETTER EZH */
+#define XK_ezh 0x1000292 /* U+0292 LATIN SMALL LETTER
EZH */
/* those are not really Caucasus */
/* For Inupiak */
#define XK_Lbelowdot 0x1001e36 /* U+1E36 LATIN CAPITAL
LETTER L WITH DOT BELOW */
diff --git a/specs/keysyms.xml b/specs/keysyms.xml
index a28814e..ef43f30 100644
--- a/specs/keysyms.xml
+++ b/specs/keysyms.xml
@@ -4373,6 +4373,12 @@ already been deprecated by the introduction of the
Unicode KEYSYMs.
<entry>Publish</entry>
</row>
<row rowsep="0">
+ <entry>#x0AD5</entry>
+ <entry>U+2030</entry>
+ <entry>PER MILLE SIGN</entry>
+ <entry>Publish</entry>
+ </row>
+ <row rowsep="0">
<entry>#x0AD6</entry>
<entry>U+2032</entry>
<entry>MINUTES</entry>
--
1.7.1
>From a57b5787d8250d518adf898757bc5b8f55cdfda3 Mon Sep 17 00:00:00 2001
From: Marko Myllynen <[email protected]>
Date: Mon, 17 Oct 2011 10:49:48 +0300
Subject: [PATCH] [i18n] Provide translation from XK_permille (ad5) to Unicode
(U2030)
---
src/xlibi18n/imKStoUCS.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/src/xlibi18n/imKStoUCS.c b/src/xlibi18n/imKStoUCS.c
index 5cfce42..640b351 100644
--- a/src/xlibi18n/imKStoUCS.c
+++ b/src/xlibi18n/imKStoUCS.c
@@ -143,7 +143,7 @@ static unsigned short const keysym_to_unicode_aa1_afe[] = {
0x2105, 0x0000, 0x0000, 0x2012, 0x2039, 0x2024, 0x203a, 0x0000, /*
0x0ab8-0x0abf */
0x0000, 0x0000, 0x0000, 0x215b, 0x215c, 0x215d, 0x215e, 0x0000, /*
0x0ac0-0x0ac7 */
0x0000, 0x2122, 0x2120, 0x0000, 0x25c1, 0x25b7, 0x25cb, 0x25ad, /*
0x0ac8-0x0acf */
- 0x2018, 0x2019, 0x201c, 0x201d, 0x211e, 0x0000, 0x2032, 0x2033, /*
0x0ad0-0x0ad7 */
+ 0x2018, 0x2019, 0x201c, 0x201d, 0x211e, 0x2030, 0x2032, 0x2033, /*
0x0ad0-0x0ad7 */
0x0000, 0x271d, 0x0000, 0x220e, 0x25c2, 0x2023, 0x25cf, 0x25ac, /*
0x0ad8-0x0adf */
0x25e6, 0x25ab, 0x25ae, 0x25b5, 0x25bf, 0x2606, 0x2022, 0x25aa, /*
0x0ae0-0x0ae7 */
0x25b4, 0x25be, 0x261a, 0x261b, 0x2663, 0x2666, 0x2665, 0x0000, /*
0x0ae8-0x0aef */
--
1.7.1
>From 73faa16d0a15b19f557ed74fe157957c1e577e91 Mon Sep 17 00:00:00 2001
From: Marko Myllynen <[email protected]>
Date: Mon, 17 Oct 2011 11:54:16 +0300
Subject: [PATCH] Use ezh/EZH in compose maps
---
nls/en_US.UTF-8/Compose.pre | 8 ++++----
nls/fi_FI.UTF-8/Compose.pre | 4 ++--
nls/pt_BR.UTF-8/Compose.pre | 8 ++++----
3 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/nls/en_US.UTF-8/Compose.pre b/nls/en_US.UTF-8/Compose.pre
index d5b01b1..edbe0c8 100644
--- a/nls/en_US.UTF-8/Compose.pre
+++ b/nls/en_US.UTF-8/Compose.pre
@@ -1119,10 +1119,10 @@ XCOMM Part 3
<Multi_key> <macron> <semicolon> <o> : "Ç" U01ED # LATIN SMALL LETTER O
WITH OGONEK AND MACRON
<Multi_key> <underscore> <dead_ogonek> <o> : "Ç" U01ED # LATIN SMALL
LETTER O WITH OGONEK AND MACRON
<Multi_key> <underscore> <semicolon> <o> : "Ç" U01ED # LATIN SMALL
LETTER O WITH OGONEK AND MACRON
-<dead_caron> <U01B7> : "Ç®" U01EE # LATIN CAPITAL LETTER EZH WITH
CARON
-<Multi_key> <c> <U01B7> : "Ç®" U01EE # LATIN CAPITAL LETTER EZH WITH
CARON
-<dead_caron> <U0292> : "ǯ" U01EF # LATIN SMALL LETTER EZH WITH
CARON
-<Multi_key> <c> <U0292> : "ǯ" U01EF # LATIN SMALL LETTER EZH WITH
CARON
+<dead_caron> <EZH> : "Ç®" U01EE # LATIN CAPITAL LETTER EZH WITH
CARON
+<Multi_key> <c> <EZH> : "Ç®" U01EE # LATIN CAPITAL LETTER EZH WITH
CARON
+<dead_caron> <ezh> : "ǯ" U01EF # LATIN SMALL LETTER EZH WITH
CARON
+<Multi_key> <c> <ezh> : "ǯ" U01EF # LATIN SMALL LETTER EZH WITH
CARON
<dead_caron> <j> : "ǰ" U01F0 # LATIN SMALL LETTER J
WITH CARON
<Multi_key> <c> <j> : "ǰ" U01F0 # LATIN SMALL LETTER J
WITH CARON
<dead_acute> <G> : "Ç´" U01F4 # LATIN CAPITAL LETTER G
WITH ACUTE
diff --git a/nls/fi_FI.UTF-8/Compose.pre b/nls/fi_FI.UTF-8/Compose.pre
index bb6aab7..fbe8597 100644
--- a/nls/fi_FI.UTF-8/Compose.pre
+++ b/nls/fi_FI.UTF-8/Compose.pre
@@ -104,8 +104,8 @@ XCOMM Sequences with COMBINING CARON / <dead_caron>
<dead_caron> <U> : "Ç" # LATIN CAPITAL LETTER U WITH
CARON
<dead_caron> <z> : "ž" # LATIN SMALL LETTER Z WITH
CARON
<dead_caron> <Z> : "Ž" # LATIN CAPITAL LETTER Z WITH
CARON
-<dead_caron> <U0292> : "ǯ" # LATIN SMALL LETTER EZH WITH
CARON
-<dead_caron> <U01B7> : "Ç®" # LATIN CAPITAL LETTER EZH
WITH CARON
+<dead_caron> <ezh> : "ǯ" # LATIN SMALL LETTER EZH WITH
CARON
+<dead_caron> <EZH> : "Ç®" # LATIN CAPITAL LETTER EZH
WITH CARON
XCOMM Sequences with COMBINING CEDILLA / <dead_cedilla>
<dead_cedilla> <space> : "¸" # CEDILLA
diff --git a/nls/pt_BR.UTF-8/Compose.pre b/nls/pt_BR.UTF-8/Compose.pre
index 641c969..b6d7c8a 100644
--- a/nls/pt_BR.UTF-8/Compose.pre
+++ b/nls/pt_BR.UTF-8/Compose.pre
@@ -1028,10 +1028,10 @@ XCOMM group 1: cluster jamos made of three basic jamos
<Multi_key> <macron> <semicolon> <o> : "Ç" U01ED # LATIN SMALL LETTER O
WITH OGONEK AND MACRON
<Multi_key> <underscore> <dead_ogonek> <o> : "Ç" U01ED # LATIN SMALL
LETTER O WITH OGONEK AND MACRON
<Multi_key> <underscore> <semicolon> <o> : "Ç" U01ED # LATIN SMALL
LETTER O WITH OGONEK AND MACRON
-<dead_caron> <U01b7> : "Ç®" U01EE # LATIN CAPITAL LETTER EZH WITH CARON
-<Multi_key> <c> <U01b7> : "Ç®" U01EE # LATIN CAPITAL LETTER EZH WITH
CARON
-<dead_caron> <U0292> : "ǯ" U01EF # LATIN SMALL LETTER EZH WITH CARON
-<Multi_key> <c> <U0292> : "ǯ" U01EF # LATIN SMALL LETTER EZH WITH CARON
+<dead_caron> <EZH> : "Ç®" U01EE # LATIN CAPITAL LETTER EZH WITH CARON
+<Multi_key> <c> <EZH> : "Ç®" U01EE # LATIN CAPITAL LETTER EZH WITH CARON
+<dead_caron> <ezh> : "ǯ" U01EF # LATIN SMALL LETTER EZH WITH CARON
+<Multi_key> <c> <ezh> : "ǯ" U01EF # LATIN SMALL LETTER EZH WITH CARON
<dead_caron> <j> : "ǰ" U01F0 # LATIN SMALL LETTER J WITH CARON
<Multi_key> <c> <j> : "ǰ" U01F0 # LATIN SMALL LETTER J WITH CARON
<dead_acute> <G> : "Ç´" U01F4 # LATIN CAPITAL LETTER G WITH ACUTE
--
1.7.1
_______________________________________________
[email protected]: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel