changeset 5260:dceee3855f15

Add support for the X11 dead-stroke in x-compose.el. 2010-09-05 Aidan Kehoe <kehoea@parhasard.net> * x-compose.el (define-compose-map, compose-map) (decide-on-bindings): Support the precomposed characters with stroke here too, necessary for Polish and Danish, among others. * x-init.el (x-initialize-compose): Add the appropriate map autoloads and bindings here.
author Aidan Kehoe <kehoea@parhasard.net>
date Sun, 05 Sep 2010 20:31:05 +0100
parents 02c282ae97cb
children 69f687b3ba9d
files lisp/ChangeLog lisp/x-compose.el lisp/x-init.el
diffstat 3 files changed, 50 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ChangeLog	Sun Sep 05 20:12:53 2010 +0100
+++ b/lisp/ChangeLog	Sun Sep 05 20:31:05 2010 +0100
@@ -1,3 +1,11 @@
+2010-09-05  Aidan Kehoe  <kehoea@parhasard.net>
+
+	* x-compose.el (define-compose-map, compose-map)
+	(decide-on-bindings): Support the precomposed characters with
+	stroke here too, necessary for Polish and Danish, among others.
+	* x-init.el (x-initialize-compose): Add the appropriate map
+	autoloads and bindings here.
+
 2010-09-03  Aidan Kehoe  <kehoea@parhasard.net>
 
 	* cl-extra.el (coerce):
--- a/lisp/x-compose.el	Sun Sep 05 20:12:53 2010 +0100
+++ b/lisp/x-compose.el	Sun Sep 05 20:31:05 2010 +0100
@@ -156,7 +156,7 @@
     compose-cedilla-map compose-diaeresis-map compose-circumflex-map
     compose-tilde-map compose-ring-map compose-caron-map compose-macron-map
     compose-breve-map compose-dot-map compose-doubleacute-map
-    compose-ogonek-map compose-hook-map compose-horn-map))
+    compose-ogonek-map compose-hook-map compose-horn-map compose-stroke-map))
 
 (define-key compose-map 'acute	    compose-acute-map)
 (define-key compose-map 'grave	    compose-grave-map)
@@ -171,6 +171,7 @@
 (define-key compose-map 'ogonek     compose-ogonek-map)
 (define-key compose-map 'breve      compose-breve-map)
 (define-key compose-map 'abovedot   compose-dot-map)
+(define-key compose-map 'stroke     compose-stroke-map)
 
 ;;(define-key function-key-map [multi-key] compose-map)
 
@@ -195,6 +196,7 @@
 (define-key compose-map [~]		compose-tilde-map)
 (define-key compose-map [degree]	compose-ring-map)
 (define-key compose-map [?*]		compose-ring-map)
+(define-key compose-map [stroke]		compose-stroke-map)
 
 (loop
   for (keysym character-code map)
@@ -564,7 +566,42 @@
    (compose-horn-map [?O] #x01A0) ;; CAPITAL O WITH HORN
    (compose-horn-map [?U] #x01AF) ;; CAPITAL U WITH HORN
    (compose-horn-map [?o] #x01A1) ;; SMALL O WITH HORN
-   (compose-horn-map [?u] #x01B0))) ;; SMALL U WITH HORN
+   (compose-horn-map [?u] #x01B0) ;; SMALL U WITH HORN
+   (compose-stroke-map [?A] #x023a) ;; CAPITAL A WITH STROKE
+   (compose-stroke-map [?a] #x2c65) ;; SMALL A WITH STROKE
+   (compose-stroke-map [?B] #x0243) ;; CAPITAL B WITH STROKE
+   (compose-stroke-map [?b] #x0180) ;; SMALL B WITH STROKE
+   (compose-stroke-map [?C] #x023b) ;; CAPITAL C WITH STROKE
+   (compose-stroke-map [?c] #x023c) ;; SMALL C WITH STROKE
+   (compose-stroke-map [?D] #x0110) ;; CAPITAL D WITH STROKE
+   (compose-stroke-map [?d] #x0111) ;; SMALL D WITH STROKE
+   (compose-stroke-map [?E] #x0246) ;; CAPITAL E WITH STROKE
+   (compose-stroke-map [?e] #x0247) ;; SMALL E WITH STROKE
+   (compose-stroke-map [?G] #x01e4) ;; CAPITAL G WITH STROKE
+   (compose-stroke-map [?g] #x01e5) ;; SMALL G WITH STROKE
+   (compose-stroke-map [?H] #x0126) ;; CAPITAL H WITH STROKE
+   (compose-stroke-map [?h] #x0127) ;; SMALL H WITH STROKE
+   (compose-stroke-map [?I] #x0197) ;; CAPITAL I WITH STROKE
+   (compose-stroke-map [?i] #x0268) ;; SMALL I WITH STROKE
+   (compose-stroke-map [?J] #x0248) ;; CAPITAL J WITH STROKE
+   (compose-stroke-map [?j] #x0249) ;; SMALL J WITH STROKE
+   (compose-stroke-map [?K] #xa740) ;; CAPITAL K WITH STROKE
+   (compose-stroke-map [?k] #xa741) ;; SMALL K WITH STROKE
+   (compose-stroke-map [?L] #x0141) ;; CAPITAL L WITH STROKE
+   (compose-stroke-map [?l] #x0142) ;; SMALL L WITH STROKE
+   (compose-stroke-map [?O] #x00d8) ;; CAPITAL O WITH STROKE
+   (compose-stroke-map [?o] #x00f8) ;; SMALL O WITH STROKE
+   (compose-stroke-map [?P] #x2c63) ;; CAPITAL P WITH STROKE
+   (compose-stroke-map [?p] #x1d7d) ;; SMALL P WITH STROKE
+   (compose-stroke-map [?R] #x024c) ;; CAPITAL R WITH STROKE
+   (compose-stroke-map [?r] #x024d) ;; SMALL R WITH STROKE
+   (compose-stroke-map [?T] #x0166) ;; CAPITAL T WITH STROKE
+   (compose-stroke-map [?t] #x0167) ;; SMALL T WITH STROKE
+   (compose-stroke-map [?Y] #x024e) ;; CAPITAL Y WITH STROKE
+   (compose-stroke-map [?y] #x024f) ;; SMALL Y WITH STROKE
+   (compose-stroke-map [?Z] #x01b5) ;; CAPITAL Z WITH STROKE
+   (compose-stroke-map [?z] #x01b6) ;; SMALL Z WITH STROKE
+))
 
 
 ;;; The rest of the compose-map.  These are the composed characters
--- a/lisp/x-init.el	Sun Sep 05 20:12:53 2010 +0100
+++ b/lisp/x-init.el	Sun Sep 05 20:31:05 2010 +0100
@@ -92,7 +92,7 @@
                      compose-ring-map compose-caron-map compose-macron-map
                      compose-breve-map compose-dot-map
                      compose-doubleacute-map compose-ogonek-map
-                     compose-hook-map compose-horn-map)
+                     compose-hook-map compose-horn-map compose-stroke-map)
     do (autoload map "x-compose" nil t 'keymap))
 
   (loop 
@@ -208,7 +208,8 @@
          (dead-doubleacute      compose-doubleacute-map)
          (dead-ogonek           compose-ogonek-map)
          (dead-hook             compose-hook-map)
-         (dead-horn             compose-horn-map))
+         (dead-horn             compose-horn-map)
+	 (dead-stroke		compose-stroke-map))
     
     ;; Get the correct value for function-key-map
     with function-key-map = (symbol-value-in-console 'function-key-map