502
+ − 1 ;;; latin.el --- Support for Latin charsets. -*- coding: iso-2022-7bit; -*-
464
+ − 2
+ − 3 ;; Copyright (C) 2001 Free Software Foundation, Inc.
+ − 4
+ − 5 ;; Author: Hrvoje Niksic <hniksic@xemacs.org>
+ − 6 ;; Maintainer: XEmacs Development Team
+ − 7 ;; Keywords: multilingual, European, dumped
+ − 8
+ − 9 ;; This file is part of XEmacs.
+ − 10
+ − 11 ;; XEmacs is free software; you can redistribute it and/or modify it
+ − 12 ;; under the terms of the GNU General Public License as published by
+ − 13 ;; the Free Software Foundation; either version 2, or (at your option)
+ − 14 ;; any later version.
+ − 15
+ − 16 ;; XEmacs is distributed in the hope that it will be useful, but
+ − 17 ;; WITHOUT ANY WARRANTY; without even the implied warranty of
+ − 18 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ − 19 ;; General Public License for more details.
+ − 20
+ − 21 ;; You should have received a copy of the GNU General Public License
+ − 22 ;; along with XEmacs; see the file COPYING. If not, write to the Free
+ − 23 ;; Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+ − 24 ;; 02111-1307, USA.
+ − 25
+ − 26 ;;; Commentary:
+ − 27
+ − 28 ;; This file is meant to provide support for Latin character sets.
+ − 29 ;; The place for that used to be `european.el', but I am hesitant to
+ − 30 ;; change that file, as it is full of old cruft that I hope to phase
+ − 31 ;; out. Currently this file provides only the case table setup.
+ − 32
+ − 33
+ − 34 ;;; Code:
+ − 35
+ − 36 ;; Case table setup. We set up all the case tables using
+ − 37 ;; put-case-table-pair. The data for this comes from FSF Emacs 20.7
+ − 38 ;; (lisp/international/latin-*.el), written by several people and
+ − 39 ;; updated by Erik Naggum.
+ − 40
+ − 41 (defun setup-case-pairs (charset pairs)
+ − 42 (let ((tbl (standard-case-table)))
+ − 43 (loop for (uc lc) in pairs do
+ − 44 (put-case-table-pair (make-char charset uc) (make-char charset lc) tbl))))
+ − 45
+ − 46 ;; Latin 1.
+ − 47
+ − 48 (setup-case-pairs
+ − 49 'latin-iso8859-1
+ − 50 '((192 224) ;latin letter a with grave
+ − 51 (193 225) ;latin letter a with acute
+ − 52 (194 226) ;latin letter a with circumflex
+ − 53 (195 227) ;latin letter a with tilde
+ − 54 (196 228) ;latin letter a with diaeresis
+ − 55 (197 229) ;latin letter a with ring above
+ − 56 (198 230) ;latin letter ae
+ − 57 (199 231) ;latin letter c with cedilla
+ − 58 (200 232) ;latin letter e with grave
+ − 59 (201 233) ;latin letter e with acute
+ − 60 (202 234) ;latin letter e with circumflex
+ − 61 (203 235) ;latin letter e with diaeresis
+ − 62 (204 236) ;latin letter i with grave
+ − 63 (205 237) ;latin letter i with acute
+ − 64 (206 238) ;latin letter i with circumflex
+ − 65 (207 239) ;latin letter i with diaeresis
+ − 66 (208 240) ;latin letter eth
+ − 67 (209 241) ;latin letter n with tilde
+ − 68 (210 242) ;latin letter o with grave
+ − 69 (211 243) ;latin letter o with acute
+ − 70 (212 244) ;latin letter o with circumflex
+ − 71 (213 245) ;latin letter o with tilde
+ − 72 (214 246) ;latin letter o with diaeresis
+ − 73 (216 248) ;latin letter o with stroke
+ − 74 (217 249) ;latin letter u with grave
+ − 75 (218 250) ;latin letter u with acute
+ − 76 (219 251) ;latin letter u with circumflex
+ − 77 (220 252) ;latin letter u with diaeresis
+ − 78 (221 253) ;latin letter y with acute
+ − 79 (222 254) ;latin letter thorn
+ − 80 ))
+ − 81
+ − 82 ;; Latin 2.
+ − 83
+ − 84 (setup-case-pairs
+ − 85 'latin-iso8859-2
+ − 86 '((161 177) ;latin letter a with ogonek
+ − 87 (163 179) ;latin letter l with stroke
+ − 88 (165 181) ;latin letter l with caron
+ − 89 (166 182) ;latin letter s with acute
+ − 90 (169 185) ;latin letter s with caron
+ − 91 (170 186) ;latin letter s with cedilla
+ − 92 (171 187) ;latin letter t with caron
+ − 93 (172 188) ;latin letter z with acute
+ − 94 (174 190) ;latin letter z with caron
+ − 95 (175 191) ;latin letter z with dot above
+ − 96 (192 224) ;latin letter r with acute
+ − 97 (193 225) ;latin letter a with acute
+ − 98 (194 226) ;latin letter a with circumflex
+ − 99 (195 227) ;latin letter a with breve
+ − 100 (196 228) ;latin letter a with diaeresis
+ − 101 (197 229) ;latin letter l with acute
+ − 102 (198 230) ;latin letter c with acute
+ − 103 (199 231) ;latin letter c with cedilla
+ − 104 (200 232) ;latin letter c with caron
+ − 105 (201 233) ;latin letter e with acute
+ − 106 (202 234) ;latin letter e with ogonek
+ − 107 (203 235) ;latin letter e with diaeresis
+ − 108 (204 236) ;latin letter e with caron
+ − 109 (205 237) ;latin letter i with acute
+ − 110 (206 238) ;latin letter i with circumflex
+ − 111 (207 239) ;latin letter d with caron
+ − 112 (208 240) ;latin letter d with stroke
+ − 113 (209 241) ;latin letter n with acute
+ − 114 (210 242) ;latin letter n with caron
+ − 115 (211 243) ;latin letter o with acute
+ − 116 (212 244) ;latin letter o with circumflex
+ − 117 (213 245) ;latin letter o with double acute
+ − 118 (214 246) ;latin letter o with diaeresis
+ − 119 (216 248) ;latin letter r with caron
+ − 120 (217 249) ;latin letter u with ring above
+ − 121 (218 250) ;latin letter u with acute
+ − 122 (219 251) ;latin letter u with double acute
+ − 123 (220 252) ;latin letter u with diaeresis
+ − 124 (221 253) ;latin letter y with acute
+ − 125 (222 254) ;latin letter t with cedilla
+ − 126 ))
+ − 127
+ − 128 ;; Latin 3.
+ − 129
+ − 130 (setup-case-pairs
+ − 131 'latin-iso8859-3
+ − 132 '((161 177) ;latin letter h with stroke
+ − 133 (166 182) ;latin letter h with circumflex
+ − 134 (170 186) ;latin letter s with cedilla
+ − 135 (171 187) ;latin letter g with breve
+ − 136 (172 188) ;latin letter j with circumflex
+ − 137 (175 191) ;latin letter z with dot above
+ − 138 (192 224) ;latin letter a with grave
+ − 139 (193 225) ;latin letter a with acute
+ − 140 (194 226) ;latin letter a with circumflex
+ − 141 (196 228) ;latin letter a with diaeresis
+ − 142 (197 229) ;latin letter c with dot above
+ − 143 (198 230) ;latin letter c with circumflex
+ − 144 (199 231) ;latin letter c with cedilla
+ − 145 (200 232) ;latin letter e with grave
+ − 146 (201 233) ;latin letter e with acute
+ − 147 (202 234) ;latin letter e with circumflex
+ − 148 (203 235) ;latin letter e with diaeresis
+ − 149 (204 236) ;latin letter i with grave
+ − 150 (205 237) ;latin letter i with acute
+ − 151 (206 238) ;latin letter i with circumflex
+ − 152 (207 239) ;latin letter i with diaeresis
+ − 153 (209 241) ;latin letter n with tilde
+ − 154 (210 242) ;latin letter o with grave
+ − 155 (211 243) ;latin letter o with acute
+ − 156 (212 244) ;latin letter o with circumflex
+ − 157 (213 245) ;latin letter g with dot above
+ − 158 (214 246) ;latin letter o with diaeresis
+ − 159 (216 248) ;latin letter g with circumflex
+ − 160 (217 249) ;latin letter u with grave
+ − 161 (218 250) ;latin letter u with acute
+ − 162 (219 251) ;latin letter u with circumflex
+ − 163 (220 252) ;latin letter u with diaeresis
+ − 164 (221 253) ;latin letter u with breve
+ − 165 (222 254) ;latin letter s with circumflex
+ − 166 ))
+ − 167
+ − 168 ;; Latin 4.
+ − 169
+ − 170 (setup-case-pairs
+ − 171 'latin-iso8859-4
+ − 172 '((161 177) ;latin letter a with ogonek
+ − 173 (163 179) ;latin letter r with cedilla
+ − 174 (165 181) ;latin letter i with tilde
+ − 175 (166 182) ;latin letter l with cedilla
+ − 176 (169 185) ;latin letter s with caron
+ − 177 (170 186) ;latin letter e with macron
+ − 178 (171 187) ;latin letter g with cedilla
+ − 179 (172 188) ;latin letter t with stroke
+ − 180 (174 190) ;latin letter z with caron
+ − 181 (189 191) ;eng
+ − 182 (192 224) ;latin letter a with macron
+ − 183 (193 225) ;latin letter a with acute
+ − 184 (194 226) ;latin letter a with circumflex
+ − 185 (195 227) ;latin letter a with tilde
+ − 186 (196 228) ;latin letter a with diaeresis
+ − 187 (197 229) ;latin letter a with ring above
+ − 188 (198 230) ;latin letter ae
+ − 189 (199 231) ;latin letter i with ogonek
+ − 190 (200 232) ;latin letter c with caron
+ − 191 (201 233) ;latin letter e with acute
+ − 192 (202 234) ;latin letter e with ogonek
+ − 193 (203 235) ;latin letter e with diaeresis
+ − 194 (204 236) ;latin letter e with dot above
+ − 195 (205 237) ;latin letter i with acute
+ − 196 (206 238) ;latin letter i with circumflex
+ − 197 (207 239) ;latin letter i with macron
+ − 198 (208 240) ;latin letter d with stroke
+ − 199 (209 241) ;latin letter n with cedilla
+ − 200 (210 242) ;latin letter o with macron
+ − 201 (211 243) ;latin letter k with cedilla
+ − 202 (212 244) ;latin letter o with circumflex
+ − 203 (213 245) ;latin letter o with tilde
+ − 204 (214 246) ;latin letter o with diaeresis
+ − 205 (216 248) ;latin letter o with stroke
+ − 206 (217 249) ;latin letter u with ogonek
+ − 207 (218 250) ;latin letter u with acute
+ − 208 (219 251) ;latin letter u with circumflex
+ − 209 (220 252) ;latin letter u with diaeresis
+ − 210 (221 253) ;latin letter u with tilde
+ − 211 (222 254) ;latin letter u with macron
+ − 212 ))
+ − 213
+ − 214 ;; Latin 5. Currently unsupported.
+ − 215
+ − 216 ;(setup-case-pairs
+ − 217 ; 'latin-iso8859-5
+ − 218 ; '((192 224) ;latin letter a with grave
+ − 219 ; (193 225) ;latin letter a with acute
+ − 220 ; (194 226) ;latin letter a with circumflex
+ − 221 ; (195 227) ;latin letter a with tilde
+ − 222 ; (196 228) ;latin letter a with diaeresis
+ − 223 ; (197 229) ;latin letter a with ring above
+ − 224 ; (198 230) ;latin letter ae
+ − 225 ; (199 231) ;latin letter c with cedilla
+ − 226 ; (200 232) ;latin letter e with grave
+ − 227 ; (201 233) ;latin letter e with acute
+ − 228 ; (203 235) ;latin letter e with diaeresis
+ − 229 ; (205 237) ;latin letter i with acute
+ − 230 ; (206 238) ;latin letter i with circumflex
+ − 231 ; (208 240) ;latin letter g with breve
+ − 232 ; (209 241) ;latin letter n with tilde
+ − 233 ; (210 242) ;latin letter o with grave
+ − 234 ; (211 243) ;latin letter o with acute
+ − 235 ; (212 244) ;latin letter o with circumflex
+ − 236 ; (213 245) ;latin letter o with tilde
+ − 237 ; (214 246) ;latin letter o with diaeresis
+ − 238 ; (216 248) ;latin letter o with stroke
+ − 239 ; (217 249) ;latin letter u with grave
+ − 240 ; (218 250) ;latin letter u with acute
+ − 241 ; (219 251) ;latin letter u with circumflex
+ − 242 ; (220 252) ;latin letter u with diaeresis
+ − 243 ; (222 254) ;latin letter s with cedilla
+ − 244 ; ))
+ − 245
+ − 246 ;; This is our utility function; we don't want it in the dumped XEmacs.
+ − 247
+ − 248 (fmakunbound 'setup-case-pairs)