Mercurial > hg > xemacs-beta
diff lisp/mule/latin.el @ 464:5aa1854ad537 r21-2-47
Import from CVS: tag r21-2-47
author | cvs |
---|---|
date | Mon, 13 Aug 2007 11:45:51 +0200 |
parents | |
children | 7039e6323819 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lisp/mule/latin.el Mon Aug 13 11:45:51 2007 +0200 @@ -0,0 +1,248 @@ +;;; latin.el --- Support for Latin charsets. + +;; Copyright (C) 2001 Free Software Foundation, Inc. + +;; Author: Hrvoje Niksic <hniksic@xemacs.org> +;; Maintainer: XEmacs Development Team +;; Keywords: multilingual, European, dumped + +;; This file is part of XEmacs. + +;; XEmacs 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. + +;; XEmacs is distributed in the hope that it will be useful, but +;; WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +;; General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with XEmacs; see the file COPYING. If not, write to the Free +;; Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +;; 02111-1307, USA. + +;;; Commentary: + +;; This file is meant to provide support for Latin character sets. +;; The place for that used to be `european.el', but I am hesitant to +;; change that file, as it is full of old cruft that I hope to phase +;; out. Currently this file provides only the case table setup. + + +;;; Code: + +;; Case table setup. We set up all the case tables using +;; put-case-table-pair. The data for this comes from FSF Emacs 20.7 +;; (lisp/international/latin-*.el), written by several people and +;; updated by Erik Naggum. + +(defun setup-case-pairs (charset pairs) + (let ((tbl (standard-case-table))) + (loop for (uc lc) in pairs do + (put-case-table-pair (make-char charset uc) (make-char charset lc) tbl)))) + +;; Latin 1. + +(setup-case-pairs + 'latin-iso8859-1 + '((192 224) ;latin letter a with grave + (193 225) ;latin letter a with acute + (194 226) ;latin letter a with circumflex + (195 227) ;latin letter a with tilde + (196 228) ;latin letter a with diaeresis + (197 229) ;latin letter a with ring above + (198 230) ;latin letter ae + (199 231) ;latin letter c with cedilla + (200 232) ;latin letter e with grave + (201 233) ;latin letter e with acute + (202 234) ;latin letter e with circumflex + (203 235) ;latin letter e with diaeresis + (204 236) ;latin letter i with grave + (205 237) ;latin letter i with acute + (206 238) ;latin letter i with circumflex + (207 239) ;latin letter i with diaeresis + (208 240) ;latin letter eth + (209 241) ;latin letter n with tilde + (210 242) ;latin letter o with grave + (211 243) ;latin letter o with acute + (212 244) ;latin letter o with circumflex + (213 245) ;latin letter o with tilde + (214 246) ;latin letter o with diaeresis + (216 248) ;latin letter o with stroke + (217 249) ;latin letter u with grave + (218 250) ;latin letter u with acute + (219 251) ;latin letter u with circumflex + (220 252) ;latin letter u with diaeresis + (221 253) ;latin letter y with acute + (222 254) ;latin letter thorn + )) + +;; Latin 2. + +(setup-case-pairs + 'latin-iso8859-2 + '((161 177) ;latin letter a with ogonek + (163 179) ;latin letter l with stroke + (165 181) ;latin letter l with caron + (166 182) ;latin letter s with acute + (169 185) ;latin letter s with caron + (170 186) ;latin letter s with cedilla + (171 187) ;latin letter t with caron + (172 188) ;latin letter z with acute + (174 190) ;latin letter z with caron + (175 191) ;latin letter z with dot above + (192 224) ;latin letter r with acute + (193 225) ;latin letter a with acute + (194 226) ;latin letter a with circumflex + (195 227) ;latin letter a with breve + (196 228) ;latin letter a with diaeresis + (197 229) ;latin letter l with acute + (198 230) ;latin letter c with acute + (199 231) ;latin letter c with cedilla + (200 232) ;latin letter c with caron + (201 233) ;latin letter e with acute + (202 234) ;latin letter e with ogonek + (203 235) ;latin letter e with diaeresis + (204 236) ;latin letter e with caron + (205 237) ;latin letter i with acute + (206 238) ;latin letter i with circumflex + (207 239) ;latin letter d with caron + (208 240) ;latin letter d with stroke + (209 241) ;latin letter n with acute + (210 242) ;latin letter n with caron + (211 243) ;latin letter o with acute + (212 244) ;latin letter o with circumflex + (213 245) ;latin letter o with double acute + (214 246) ;latin letter o with diaeresis + (216 248) ;latin letter r with caron + (217 249) ;latin letter u with ring above + (218 250) ;latin letter u with acute + (219 251) ;latin letter u with double acute + (220 252) ;latin letter u with diaeresis + (221 253) ;latin letter y with acute + (222 254) ;latin letter t with cedilla + )) + +;; Latin 3. + +(setup-case-pairs + 'latin-iso8859-3 + '((161 177) ;latin letter h with stroke + (166 182) ;latin letter h with circumflex + (170 186) ;latin letter s with cedilla + (171 187) ;latin letter g with breve + (172 188) ;latin letter j with circumflex + (175 191) ;latin letter z with dot above + (192 224) ;latin letter a with grave + (193 225) ;latin letter a with acute + (194 226) ;latin letter a with circumflex + (196 228) ;latin letter a with diaeresis + (197 229) ;latin letter c with dot above + (198 230) ;latin letter c with circumflex + (199 231) ;latin letter c with cedilla + (200 232) ;latin letter e with grave + (201 233) ;latin letter e with acute + (202 234) ;latin letter e with circumflex + (203 235) ;latin letter e with diaeresis + (204 236) ;latin letter i with grave + (205 237) ;latin letter i with acute + (206 238) ;latin letter i with circumflex + (207 239) ;latin letter i with diaeresis + (209 241) ;latin letter n with tilde + (210 242) ;latin letter o with grave + (211 243) ;latin letter o with acute + (212 244) ;latin letter o with circumflex + (213 245) ;latin letter g with dot above + (214 246) ;latin letter o with diaeresis + (216 248) ;latin letter g with circumflex + (217 249) ;latin letter u with grave + (218 250) ;latin letter u with acute + (219 251) ;latin letter u with circumflex + (220 252) ;latin letter u with diaeresis + (221 253) ;latin letter u with breve + (222 254) ;latin letter s with circumflex + )) + +;; Latin 4. + +(setup-case-pairs + 'latin-iso8859-4 + '((161 177) ;latin letter a with ogonek + (163 179) ;latin letter r with cedilla + (165 181) ;latin letter i with tilde + (166 182) ;latin letter l with cedilla + (169 185) ;latin letter s with caron + (170 186) ;latin letter e with macron + (171 187) ;latin letter g with cedilla + (172 188) ;latin letter t with stroke + (174 190) ;latin letter z with caron + (189 191) ;eng + (192 224) ;latin letter a with macron + (193 225) ;latin letter a with acute + (194 226) ;latin letter a with circumflex + (195 227) ;latin letter a with tilde + (196 228) ;latin letter a with diaeresis + (197 229) ;latin letter a with ring above + (198 230) ;latin letter ae + (199 231) ;latin letter i with ogonek + (200 232) ;latin letter c with caron + (201 233) ;latin letter e with acute + (202 234) ;latin letter e with ogonek + (203 235) ;latin letter e with diaeresis + (204 236) ;latin letter e with dot above + (205 237) ;latin letter i with acute + (206 238) ;latin letter i with circumflex + (207 239) ;latin letter i with macron + (208 240) ;latin letter d with stroke + (209 241) ;latin letter n with cedilla + (210 242) ;latin letter o with macron + (211 243) ;latin letter k with cedilla + (212 244) ;latin letter o with circumflex + (213 245) ;latin letter o with tilde + (214 246) ;latin letter o with diaeresis + (216 248) ;latin letter o with stroke + (217 249) ;latin letter u with ogonek + (218 250) ;latin letter u with acute + (219 251) ;latin letter u with circumflex + (220 252) ;latin letter u with diaeresis + (221 253) ;latin letter u with tilde + (222 254) ;latin letter u with macron + )) + +;; Latin 5. Currently unsupported. + +;(setup-case-pairs +; 'latin-iso8859-5 +; '((192 224) ;latin letter a with grave +; (193 225) ;latin letter a with acute +; (194 226) ;latin letter a with circumflex +; (195 227) ;latin letter a with tilde +; (196 228) ;latin letter a with diaeresis +; (197 229) ;latin letter a with ring above +; (198 230) ;latin letter ae +; (199 231) ;latin letter c with cedilla +; (200 232) ;latin letter e with grave +; (201 233) ;latin letter e with acute +; (203 235) ;latin letter e with diaeresis +; (205 237) ;latin letter i with acute +; (206 238) ;latin letter i with circumflex +; (208 240) ;latin letter g with breve +; (209 241) ;latin letter n with tilde +; (210 242) ;latin letter o with grave +; (211 243) ;latin letter o with acute +; (212 244) ;latin letter o with circumflex +; (213 245) ;latin letter o with tilde +; (214 246) ;latin letter o with diaeresis +; (216 248) ;latin letter o with stroke +; (217 249) ;latin letter u with grave +; (218 250) ;latin letter u with acute +; (219 251) ;latin letter u with circumflex +; (220 252) ;latin letter u with diaeresis +; (222 254) ;latin letter s with cedilla +; )) + +;; This is our utility function; we don't want it in the dumped XEmacs. + +(fmakunbound 'setup-case-pairs)