-;;; iso-transl.el --- keyboard input definitions for ISO 8859/1.
+;;; iso-transl.el --- keyboard input definitions for ISO 8859-1 -*- coding: iso-8859-1 -*-
-;; Copyright (C) 1987, 1993, 1994, 1995 Free Software Foundation, Inc.
+;; Copyright (C) 1987, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2001
+;; 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
;; Author: Howard Gayle
;; Maintainer: FSF
;; This file is part of GNU Emacs.
-;; GNU Emacs is free software; you can redistribute it and/or modify
+;; GNU Emacs is free software: you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation; either version 2, or (at your option)
-;; any later version.
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING. If not, write to the
-;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
+;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
;;; Commentary:
;; A-umlaut as `C-x 8 " A' or `Alt-" A' (if you have an Alt key) or
;; `umlaut A' (if you have an umlaut/diaeresis key).
+;; C-x 8 is set up to autoload this package,
+;; but Alt keys and dead accent keys are only defined
+;; once you have loaded the package. It is nontrivial
+;; to make all of the Alt keys autoload, and it is not clear
+;; that the dead accent keys SHOULD autoload this package.
+
;;; Code:
+;;; Provide some binding for startup:
+;;;###autoload (or key-translation-map (setq key-translation-map (make-sparse-keymap)))
+;;;###autoload (define-key key-translation-map "\C-x8" 'iso-transl-ctl-x-8-map)
+;;;###autoload (autoload 'iso-transl-ctl-x-8-map "iso-transl" "Keymap for C-x 8 prefix." t 'keymap)
+
(defvar iso-transl-dead-key-alist
'((?\' . mute-acute)
(?\` . mute-grave)
;; The two-character mnemonics are intended to be available in all languages.
;; The ones beginning with `*' have one-character synonyms, but a
;; language-specific table might override the short form for its own use.
+
(defvar iso-transl-char-map
- '(("* " . [160])(" " . [160])
- ("*!" . [161])("!" . [161])
- ("\"\"" . [168])
- ("\"A" . [196])
- ("\"E" . [203])
- ("\"I" . [207])
- ("\"O" . [214])
- ("\"U" . [220])
- ("\"a" . [228])
- ("\"e" . [235])
- ("\"i" . [239])
- ("\"o" . [246])
- ("\"s" . [223])
- ("\"u" . [252])
- ("\"y" . [255])
- ("''" . [180])
- ("'A" . [193])
- ("'E" . [201])
- ("'I" . [205])
- ("'O" . [211])
- ("'U" . [218])
- ("'Y" . [221])
- ("'a" . [225])
- ("'e" . [233])
- ("'i" . [237])
- ("'o" . [243])
- ("'u" . [250])
- ("'y" . [253])
- ("*$" . [164])("$" . [164])
- ("*+" . [177])("+" . [177])
- (",," . [184])
- (",C" . [199])
- (",c" . [231])
- ("*-" . [173])("-" . [173])
- ("*." . [183])("." . [183])
- ("//" . [247])
- ("/A" . [197])
- ("/E" . [198])
- ("/O" . [216])
- ("/a" . [229])
- ("/e" . [230])
- ("/o" . [248])
- ("1/2" . [189])
- ("1/4" . [188])
- ("3/4" . [190])
- ("*<" . [171])("<" . [171])
- ("*=" . [175])("=" . [175])
- ("*>" . [187])(">" . [187])
- ("*?" . [191])("?" . [191])
- ("*C" . [169])("C" . [169])
- ("*L" . [163])("L" . [163])
- ("*P" . [182])("P" . [182])
- ("*R" . [174])("R" . [174])
- ("*S" . [167])("S" . [167])
- ("*Y" . [165])("Y" . [165])
- ("^1" . [185])
- ("^2" . [178])
- ("^3" . [179])
- ("^A" . [194])
- ("^E" . [202])
- ("^I" . [206])
- ("^O" . [212])
- ("^U" . [219])
- ("^a" . [226])
- ("^e" . [234])
- ("^i" . [238])
- ("^o" . [244])
- ("^u" . [251])
- ("_a" . [170])
- ("_o" . [186])
- ("`A" . [192])
- ("`E" . [200])
- ("`I" . [204])
- ("`O" . [210])
- ("`U" . [217])
- ("`a" . [224])
- ("`e" . [232])
- ("`i" . [236])
- ("`o" . [242])
- ("`u" . [249])
- ("*c" . [162])("c" . [162])
- ("*o" . [176])("o" . [176])
- ("*u" . [181])("u" . [181])
- ("*m" . [181])("m" . [181])
- ("*x" . [215])("x" . [215])
- ("*|" . [166])("|" . [166])
- ("~A" . [195])
- ("~D" . [208])
- ("~N" . [209])
- ("~O" . [213])
- ("~T" . [222])
- ("~a" . [227])
- ("~d" . [240])
- ("~n" . [241])
- ("~o" . [245])
- ("~t" . [254])
- ("~~" . [172])
+ '(("* " . [? ])
+ (" " . [? ])
+ ("*!" . [?¡])
+ ("!" . [?¡])
+ ("\"\"" . [?¨])
+ ("\"A" . [?Ä])
+ ("\"E" . [?Ë])
+ ("\"I" . [?Ï])
+ ("\"O" . [?Ö])
+ ("\"U" . [?Ü])
+ ("\"a" . [?ä])
+ ("\"e" . [?ë])
+ ("\"i" . [?ï])
+ ("\"o" . [?ö])
+ ("\"s" . [?ß])
+ ("\"u" . [?ü])
+ ("\"y" . [?ÿ])
+ ("''" . [?´])
+ ("'A" . [?Á])
+ ("'E" . [?É])
+ ("'I" . [?Í])
+ ("'O" . [?Ó])
+ ("'U" . [?Ú])
+ ("'Y" . [?Ý])
+ ("'a" . [?á])
+ ("'e" . [?é])
+ ("'i" . [?í])
+ ("'o" . [?ó])
+ ("'u" . [?ú])
+ ("'y" . [?ý])
+ ("*$" . [?¤])
+ ("$" . [?¤])
+ ("*+" . [?±])
+ ("+" . [?±])
+ (",," . [?¸])
+ (",C" . [?Ç])
+ (",c" . [?ç])
+ ("*-" . [?])
+ ("-" . [?])
+ ("*." . [?·])
+ ("." . [?·])
+ ("//" . [?÷])
+ ("/A" . [?Å])
+ ("/E" . [?Æ])
+ ("/O" . [?Ø])
+ ("/a" . [?å])
+ ("/e" . [?æ])
+ ("/o" . [?ø])
+ ("1/2" . [?½])
+ ("1/4" . [?¼])
+ ("3/4" . [?¾])
+ ("*<" . [?«])
+ ("<" . [?«])
+ ("*=" . [?¯])
+ ("=" . [?¯])
+ ("*>" . [?»])
+ (">" . [?»])
+ ("*?" . [?¿])
+ ("?" . [?¿])
+ ("*C" . [?©])
+ ("C" . [?©])
+ ("*L" . [?£])
+ ("L" . [?£])
+ ("*P" . [?¶])
+ ("P" . [?¶])
+ ("*R" . [?®])
+ ("R" . [?®])
+ ("*S" . [?§])
+ ("S" . [?§])
+ ("*Y" . [?¥])
+ ("Y" . [?¥])
+ ("^1" . [?¹])
+ ("^2" . [?²])
+ ("^3" . [?³])
+ ("^A" . [?Â])
+ ("^E" . [?Ê])
+ ("^I" . [?Î])
+ ("^O" . [?Ô])
+ ("^U" . [?Û])
+ ("^a" . [?â])
+ ("^e" . [?ê])
+ ("^i" . [?î])
+ ("^o" . [?ô])
+ ("^u" . [?û])
+ ("_a" . [?ª])
+ ("_o" . [?º])
+ ("`A" . [?À])
+ ("`E" . [?È])
+ ("`I" . [?Ì])
+ ("`O" . [?Ò])
+ ("`U" . [?Ù])
+ ("`a" . [?à])
+ ("`e" . [?è])
+ ("`i" . [?ì])
+ ("`o" . [?ò])
+ ("`u" . [?ù])
+ ("*c" . [?¢])
+ ("c" . [?¢])
+ ("*o" . [?°])
+ ("o" . [?°])
+ ("*u" . [?µ])
+ ("u" . [?µ])
+ ("*m" . [?µ])
+ ("m" . [?µ])
+ ("*x" . [?×])
+ ("x" . [?×])
+ ("*|" . [?¦])
+ ("|" . [?¦])
+ ("~A" . [?Ã])
+ ("~D" . [?Ð])
+ ("~N" . [?Ñ])
+ ("~O" . [?Õ])
+ ("~T" . [?Þ])
+ ("~a" . [?ã])
+ ("~d" . [?ð])
+ ("~n" . [?ñ])
+ ("~o" . [?õ])
+ ("~t" . [?þ])
+ ("~~" . [?¬])
("' " . "'")
("` " . "`")
("\" " . "\"")
;; Language-specific translation lists.
(defvar iso-transl-language-alist
'(("Esperanto"
- ("C" . [198])
- ("G" . [216])
- ("H" . [166])
- ("J" . [172])
- ("S" . [222])
- ("U" . [221])
- ("c" . [230])
- ("g" . [248])
- ("h" . [182])
- ("j" . [188])
- ("s" . [254])
- ("u" . [253]))
+ ("C" . [?Æ])
+ ("G" . [?Ø])
+ ("H" . [?¦])
+ ("J" . [?¬])
+ ("S" . [?Þ])
+ ("U" . [?Ý])
+ ("c" . [?æ])
+ ("g" . [?ø])
+ ("h" . [?¶])
+ ("j" . [?¼])
+ ("s" . [?þ])
+ ("u" . [?ý]))
("French"
- ("C" . [199])
- ("c" . [231]))
+ ("C" . [?Ç])
+ ("c" . [?ç]))
("German"
- ("A" . [196])
- ("O" . [214])
- ("U" . [220])
- ("a" . [228])
- ("o" . [246])
- ("s" . [223])
- ("u" . [252]))
+ ("A" . [?Ä])
+ ("O" . [?Ö])
+ ("U" . [?Ü])
+ ("a" . [?ä])
+ ("o" . [?ö])
+ ("s" . [?ß])
+ ("u" . [?ü]))
("Portuguese"
- ("C" . [199])
- ("c" . [231]))
+ ("C" . [?Ç])
+ ("c" . [?ç]))
("Spanish"
- ("!" . [161])
- ("?" . [191])
- ("N" . [241])
- ("n" . [209]))))
+ ("!" . [?¡])
+ ("?" . [?¿])
+ ("N" . [?Ñ])
+ ("n" . [?ñ]))))
(defvar iso-transl-ctl-x-8-map nil
"Keymap for C-x 8 prefix.")
(or iso-transl-ctl-x-8-map
- (setq iso-transl-ctl-x-8-map (make-sparse-keymap)))
+ (fset 'iso-transl-ctl-x-8-map
+ (setq iso-transl-ctl-x-8-map (make-sparse-keymap))))
(or key-translation-map
(setq key-translation-map (make-sparse-keymap)))
(define-key key-translation-map "\C-x8" iso-transl-ctl-x-8-map)
;; or `Alt-~ n' or `mute-asciitilde n'.
(defun iso-transl-define-keys (alist)
(while alist
- (let ((translated-vec
- (if enable-multibyte-characters
- (vector (+ (aref (cdr (car alist)) 0)
- nonascii-insert-offset))
- (cdr (car alist)))))
+ (let ((translated-vec (cdr (car alist))))
(define-key iso-transl-ctl-x-8-map (car (car alist)) translated-vec)
(let ((inchar (aref (car (car alist)) 0))
(vec (vconcat (car (car alist))))
(provide 'iso-transl)
+;; arch-tag: 034cfedf-7ebd-461d-bcd0-5c79e6dc0b61
;;; iso-transl.el ends here