🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: gnu.emacs.bug
Article #87781

iso-transl.el

#87781
From: Michael Gschwind
Date: Thu, 01 Sep 1994 12:15
318 lines
9952 bytes
Iso-transl should offer a way of defining language specific key
bindings for different languages --- this diff splits the
iso-transl-char-map into two parts, a language specif and a
language-independent one...

*** iso-transl+.el	Thu Sep  1 12:33:50 1994
--- iso-transl.el	Thu Sep  1 12:31:40 1994
***************
*** 2,8 ****
  
  ;; Copyright (C) 1987, 1993, 1994 Free Software Foundation, Inc.
  
! ;; Authors: Howard Gayle, Michael K. Gschwind
  ;; Keywords: i18n
  
  ;; This file is part of GNU Emacs.
--- 2,9 ----
  
  ;; Copyright (C) 1987, 1993, 1994 Free Software Foundation, Inc.
  
! ;; Author: Howard Gayle
! ;; Maintainer: FSF
  ;; Keywords: i18n
  
  ;; This file is part of GNU Emacs.
***************
*** 32,88 ****
  ;; The other way is to type the same special sequence
  ;; but hold down Alt for the first character in it.
  
- 
- ;; Michael Gschwind:
- ;; Now read iso-language-transl-char-map to add language specific bindings.
- 
- ;;
- ;; SEE ALSO:
- ;; The ISO-8859-1 FAQ available via anonymous ftp from 
- ;; ftp.vlsivie.tuwien.ac.at in /pub/8bit
- ;;
- 
  ;;; Code:
  
! (defvar iso-language-transl-char-map
!   '( )
! "Alist of character translations for entering language-specific ISO characters.
! Each element has the form (STRING . VECTOR).
! The sequence STRING of ASCII chars translates into the
! sequence VECTOR.  (VECTOR is normally one character long.).
! Modify this list to customize for a particular language.")
! 
! (defvar iso-general-transl-char-map
!   '(("* "    . [160])
!     ("*!"    . [161])
!     ("*$"    . [164])
!     ("*+"    . [177])
!     ("*-"    . [173])
!     ("*."    . [183])
!     ("*<"    . [171])
!     ("*="    . [175])
!     ("*>"    . [187])
!     ("*?"    . [191])
!     ("*A"    . [197])
!     ("*E"    . [198])
!     ("*C"    . [169])
!     ("*D"    . [208])
!     ("*L"    . [163])
!     ("*P"    . [182])
!     ("*R"    . [174])
!     ("*S"    . [167])
!     ("*T"    . [222])
!     ("*Y"    . [165])
!     ("*a"    . [229])
!     ("*e"    . [230])
!     ("*c"    . [162])
!     ("*d"    . [240])
!     ("*o"    . [176])
!     ("*s"    . [223])
!     ("*t"    . [254])
!     ("*u"    . [181])
!     ("*x"    . [215])
!     ("*|"    . [166])
      ("\"\"" . [168])
      ("\"A"  . [196])
      ("\"E"  . [203])
--- 33,43 ----
  ;; The other way is to type the same special sequence
  ;; but hold down Alt for the first character in it.
  
  ;;; Code:
  
! (defvar iso-transl-char-map
!   '((" "    . [160])
!     ("!"    . [161])
      ("\"\"" . [168])
      ("\"A"  . [196])
      ("\"E"  . [203])
***************
*** 108,123 ****
      ("'o"   . [243])
      ("'u"   . [250])
      ("'y"   . [253])
      (",,"   . [184])
      (",C"   . [199])
      (",c"   . [231])
      ("//"   . [247])
      ("/O"   . [216])
      ("/o"   . [248])
      ("1/2"  . [189])
      ("1/4"  . [188])
      ("3/4"  . [190])
!     ("^0"   . [176])
      ("^1"   . [185])
      ("^2"   . [178])
      ("^3"   . [179])
--- 63,95 ----
      ("'o"   . [243])
      ("'u"   . [250])
      ("'y"   . [253])
+     ("$"    . [164])
+     ("+"    . [177])
      (",,"   . [184])
      (",C"   . [199])
      (",c"   . [231])
+     ("-"    . [173])
+     ("."    . [183])
      ("//"   . [247])
      ("/O"   . [216])
      ("/o"   . [248])
      ("1/2"  . [189])
      ("1/4"  . [188])
      ("3/4"  . [190])
!     ("<"    . [171])
!     ("="    . [175])
!     (">"    . [187])
!     ("?"    . [191])
!     ("A"    . [197])
!     ("E"    . [198])
!     ("C"    . [169])
!     ("D"    . [208])
!     ("L"    . [163])
!     ("P"    . [182])
!     ("R"    . [174])
!     ("S"    . [167])
!     ("T"    . [222])
!     ("Y"    . [165])
      ("^1"   . [185])
      ("^2"   . [178])
      ("^3"   . [179])
***************
*** 143,148 ****
--- 115,130 ----
      ("`i"   . [236])
      ("`o"   . [242])
      ("`u"   . [249])
+     ("a"    . [229])
+     ("e"    . [230])
+     ("c"    . [162])
+     ("d"    . [240])
+     ("o"    . [176])
+     ("s"    . [223])
+     ("t"    . [254])
+     ("u"    . [181])
+     ("x"    . [215])
+     ("|"    . [166])
      ("~A"   . [195])
      ("~N"   . [209])
      ("~O"   . [213])
***************
*** 153,171 ****
    "Alist of character translations for entering ISO characters.
  Each element has the form (STRING . VECTOR).
  The sequence STRING of ASCII chars translates into the
! sequence VECTOR.  (VECTOR is normally one character long.).
! DO NOT change this list - modify iso-language-transl-map instead.")
  
- (defvar iso-transl-char-map 
-   (append iso-language-transl-char-map
- 	  iso-general-transl-char-map) 
- "Alist of character translations for entering ISO characters.  
- List of full bindings generated by merging the general character 
- translations and language specific settings.
- Each element has the form (STRING . VECTOR).  The sequence STRING of
- ASCII chars translates into the sequence VECTOR.  (VECTOR is
- normally one character long.).  Modify iso-language-transl-char-map 
- to customize for a particular language.")
  
  (let ((map (make-sparse-keymap))
        table)
--- 135,142 ----
    "Alist of character translations for entering ISO characters.
  Each element has the form (STRING . VECTOR).
  The sequence STRING of ASCII chars translates into the
! sequence VECTOR.  (VECTOR is normally one character long.)")
  
  
  (let ((map (make-sparse-keymap))
        table)

---------------------------------------------------------------------

These two lisp files add bindings for spanish and german:

-------------------------- iso-german.el --------------------------
;; iso-german.el
;; Copyright (C) 1994 Michael K. Gschwind mike@vlsivie.tuwien.ac.at
;;
;; Add German language key bindings:
;;        [Alt-a] for "a umlaut,    [Alt-A] for "A umlaut,
;;        [Alt-e] for 'e accent,    [Alt-E] for 'E accent,
;;        [Alt-i] for "i diaresis,  [Alt-I] for "I diaresis,
;;        [Alt-n] for ~n enye,      [Alt-N] for ~N enye,
;;        [Alt-o] for "o umlaut,    [Alt-O] for "O umlaut,
;;        [Alt-s] for german ssharp,[Alt-S] for paragraph sign,
;;        [Alt-u] for "u umlaut,    [Alt-U] for "U umlaut,
;;        [Alt-C] for cent-sign,    [Alt-m] for micro-sign,
;;        [Alt-c] for copyright,    [Alt-r] for registered,
;;        [Alt-<] for << character, [Alt->] for >> character,
;;        [Alt-!] and [Alt-?] for up-down-inverted ! respectively ? char
;;
;; SEE ALSO:
;; The ISO-8859-1 FAQ available via anonymous ftp from 
;; ftp.vlsivie.tuwien.ac.at in /pub/8bit
;;

(standard-display-european t)

(setq iso-language-transl-char-map  
      '(("<"  . [171])
	("="  . [175])
	(">"  . [187])
	("s"  . [223])
	("!"  . [161])
	("?"  . [191])
	("R"  . [174])
	("S"  . [167])
	("T"  . [222])
	("t"  . [254])
	("C"  . [169])
	("c"  . [162])
        ("m"  . [181])
	("N"  . [209])
	("n"  . [241])
	("A"  . [196])
	("E"  . [201])
	("I"  . [207])
	("O"  . [214])
	("U"  . [220])
	("a"  . [228])
	("e"  . [233])
	("i"  . [239])
	("o"  . [246])
	("u"  . [252])))

(require 'iso-transl)
(provide 'iso-german)

-------------------------- iso-spanish.el ---------------------------
;; iso-spanish.el
;; Copyright (C) 1994 Michael K. Gschwind mike@vlsivie.tuwien.ac.at
;;
;; Add Spanish language key bindings:
;;        [Alt-a] for 'a accent,    [Alt-A] for 'A accent,
;;        [Alt-e] for 'e accent,    [Alt-E] for 'E accent,
;;        [Alt-i] for 'i diaresis,  [Alt-I] for 'I accent,
;;        [Alt-n] for ~n enye,      [Alt-N] for ~N enye,
;;        [Alt-o] for 'o accent,    [Alt-O] for 'O umlaut,
;;        [Alt-S] for paragraph sign,
;;        [Alt-u] for 'u accent,    [Alt-U] for 'U accent,
;;        [Alt-C] for cent-sign,    [Alt-m] for micro-sign,
;;        [Alt-c] for copyright,    [Alt-r] for registered,
;;        [Alt-<] for << character, [Alt->] for >> character,
;;        [Alt-!] and [Alt-?] for up-down-inverted ! respectively ? char
;;
;; SEE ALSO:
;; The ISO-8859-1 FAQ available via anonymous ftp from 
;; ftp.vlsivie.tuwien.ac.at in /pub/8bit
;;

(standard-display-european t)

(setq iso-language-transl-char-map  
      '(("<"  . [171])
	("="  . [175])
	(">"  . [187])
	("!"  . [161])
	("?"  . [191])
	("R"  . [174])
	("S"  . [167])
	("T"  . [222])
	("t"  . [254])
	("C"  . [169])
	("c"  . [162])
        ("m"  . [181])
	("N"  . [209])
	("n"  . [241])
	("A"  . [193])
	("E"  . [201])
	("I"  . [205])
	("O"  . [211])
	("U"  . [218])
	("a"  . [225])
	("e"  . [233])
	("i"  . [237])
	("o"  . [243])
	("u"  . [250])))

(require 'iso-transl)
(provide 'iso-spanish)

------------------------------------------------------------------------
--

Michael Gschwind, Institut f. Technische Informatik, TU Wien
snail: Treitlstrasse 3-182-2 || A-1040 Wien || Austria
email: mike@vlsivie.tuwien.ac.at  note: real time != real fast
phone: +(43)(1)58801 8156	   fax: +(43)(1)569 697
Boycott Whaling!!! Boycott Norway!!! Boycott Norwegian Products!!!
Technical Details
Message-ID: <MIKE.94Sep1123844@java.vlsivie.tuwien.ac.at>
Path: arc1-ca.pugleaf.net!bga.com!news.sprintlink.net!redstone.interpath.net!ddsw1!panix!MathWorks.Com!news.duke.edu!news-feed-1.peachnet.edu!gatech!howland.reston.ans.net!math.ohio-state.edu!pacific.mps.ohio-state.edu!cis.ohio-state.edu!vlsivie.tuwien.ac.AT!mike

Show Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit
X-Google-Thread: fb2f1,7bbec6c6065d32e1,start
X-Google-Attributes: gidfb2f1,public
X-Google-ArrivalTime: 1994-09-01 08:56:15 PST
Path: arc1-ca.pugleaf.net!bga.com!news.sprintlink.net!redstone.interpath.net!ddsw1!panix!MathWorks.Com!news.duke.edu!news-feed-1.peachnet.edu!gatech!howland.reston.ans.net!math.ohio-state.edu!pacific.mps.ohio-state.edu!cis.ohio-state.edu!vlsivie.tuwien.ac.AT!mike
From: mike@vlsivie.tuwien.ac.AT (Michael Gschwind)
Newsgroups: gnu.emacs.bug
Subject: iso-transl.el
Date: 1 Sep 1994 08:15:13 -0400
Organization: TU Wien
Lines: 318
Sender: daemon@cis.ohio-state.edu
Approved: bug-gnu-emacs@prep.ai.mit.edu
Distribution: gnu
Message-ID: <MIKE.94Sep1123844@java.vlsivie.tuwien.ac.at>