diff lisp/mule/latin.el @ 4299:f4c3ffe60a4f

[xemacs-hg @ 2007-12-01 14:24:46 by aidan] Switch away from ISO 2022 for the ISO-8859 character sets.
author aidan
date Sat, 01 Dec 2007 14:24:52 +0000
parents b98680995adb
children 2e528ccfe690
line wrap: on
line diff
--- a/lisp/mule/latin.el	Sat Dec 01 13:40:07 2007 +0000
+++ b/lisp/mule/latin.el	Sat Dec 01 14:24:52 2007 +0000
@@ -124,14 +124,70 @@
    (#xDD #xFD) ;; Y WITH ACUTE
    (#xDE #xFE))) ;; T WITH CEDILLA
 
-(make-coding-system
- 'iso-8859-2 'iso2022 "ISO-8859-2 (Latin-2)"
- '(charset-g0 ascii
-   charset-g1 latin-iso8859-2
-   charset-g2 t
-   charset-g3 t
-   mnemonic "MIME/Ltn-2"))
-
+(make-8-bit-coding-system
+ 'iso-8859-2
+ '((#xA1 ?\u0104) ;; LATIN CAPITAL LETTER A WITH OGONEK
+   (#xA2 ?\u02D8) ;; BREVE
+   (#xA3 ?\u0141) ;; LATIN CAPITAL LETTER L WITH STROKE
+   (#xA5 ?\u013D) ;; LATIN CAPITAL LETTER L WITH CARON
+   (#xA6 ?\u015A) ;; LATIN CAPITAL LETTER S WITH ACUTE
+   (#xA9 ?\u0160) ;; LATIN CAPITAL LETTER S WITH CARON
+   (#xAA ?\u015E) ;; LATIN CAPITAL LETTER S WITH CEDILLA
+   (#xAB ?\u0164) ;; LATIN CAPITAL LETTER T WITH CARON
+   (#xAC ?\u0179) ;; LATIN CAPITAL LETTER Z WITH ACUTE
+   (#xAE ?\u017D) ;; LATIN CAPITAL LETTER Z WITH CARON
+   (#xAF ?\u017B) ;; LATIN CAPITAL LETTER Z WITH DOT ABOVE
+   (#xB1 ?\u0105) ;; LATIN SMALL LETTER A WITH OGONEK
+   (#xB2 ?\u02DB) ;; OGONEK
+   (#xB3 ?\u0142) ;; LATIN SMALL LETTER L WITH STROKE
+   (#xB5 ?\u013E) ;; LATIN SMALL LETTER L WITH CARON
+   (#xB6 ?\u015B) ;; LATIN SMALL LETTER S WITH ACUTE
+   (#xB7 ?\u02C7) ;; CARON
+   (#xB9 ?\u0161) ;; LATIN SMALL LETTER S WITH CARON
+   (#xBA ?\u015F) ;; LATIN SMALL LETTER S WITH CEDILLA
+   (#xBB ?\u0165) ;; LATIN SMALL LETTER T WITH CARON
+   (#xBC ?\u017A) ;; LATIN SMALL LETTER Z WITH ACUTE
+   (#xBD ?\u02DD) ;; DOUBLE ACUTE ACCENT
+   (#xBE ?\u017E) ;; LATIN SMALL LETTER Z WITH CARON
+   (#xBF ?\u017C) ;; LATIN SMALL LETTER Z WITH DOT ABOVE
+   (#xC0 ?\u0154) ;; LATIN CAPITAL LETTER R WITH ACUTE
+   (#xC3 ?\u0102) ;; LATIN CAPITAL LETTER A WITH BREVE
+   (#xC5 ?\u0139) ;; LATIN CAPITAL LETTER L WITH ACUTE
+   (#xC6 ?\u0106) ;; LATIN CAPITAL LETTER C WITH ACUTE
+   (#xC8 ?\u010C) ;; LATIN CAPITAL LETTER C WITH CARON
+   (#xCA ?\u0118) ;; LATIN CAPITAL LETTER E WITH OGONEK
+   (#xCC ?\u011A) ;; LATIN CAPITAL LETTER E WITH CARON
+   (#xCF ?\u010E) ;; LATIN CAPITAL LETTER D WITH CARON
+   (#xD0 ?\u0110) ;; LATIN CAPITAL LETTER D WITH STROKE
+   (#xD1 ?\u0143) ;; LATIN CAPITAL LETTER N WITH ACUTE
+   (#xD2 ?\u0147) ;; LATIN CAPITAL LETTER N WITH CARON
+   (#xD5 ?\u0150) ;; LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+   (#xD8 ?\u0158) ;; LATIN CAPITAL LETTER R WITH CARON
+   (#xD9 ?\u016E) ;; LATIN CAPITAL LETTER U WITH RING ABOVE
+   (#xDB ?\u0170) ;; LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+   (#xDE ?\u0162) ;; LATIN CAPITAL LETTER T WITH CEDILLA
+   (#xE0 ?\u0155) ;; LATIN SMALL LETTER R WITH ACUTE
+   (#xE3 ?\u0103) ;; LATIN SMALL LETTER A WITH BREVE
+   (#xE5 ?\u013A) ;; LATIN SMALL LETTER L WITH ACUTE
+   (#xE6 ?\u0107) ;; LATIN SMALL LETTER C WITH ACUTE
+   (#xE8 ?\u010D) ;; LATIN SMALL LETTER C WITH CARON
+   (#xEA ?\u0119) ;; LATIN SMALL LETTER E WITH OGONEK
+   (#xEC ?\u011B) ;; LATIN SMALL LETTER E WITH CARON
+   (#xEF ?\u010F) ;; LATIN SMALL LETTER D WITH CARON
+   (#xF0 ?\u0111) ;; LATIN SMALL LETTER D WITH STROKE
+   (#xF1 ?\u0144) ;; LATIN SMALL LETTER N WITH ACUTE
+   (#xF2 ?\u0148) ;; LATIN SMALL LETTER N WITH CARON
+   (#xF5 ?\u0151) ;; LATIN SMALL LETTER O WITH DOUBLE ACUTE
+   (#xF8 ?\u0159) ;; LATIN SMALL LETTER R WITH CARON
+   (#xF9 ?\u016F) ;; LATIN SMALL LETTER U WITH RING ABOVE
+   (#xFB ?\u0171) ;; LATIN SMALL LETTER U WITH DOUBLE ACUTE
+   (#xFE ?\u0163) ;; LATIN SMALL LETTER T WITH CEDILLA
+   (#xFF ?\u02D9));; DOT ABOVE
+ "ISO-8859-2 (Latin-2) for Central Europe.
+See also `windows-1250', and `iso-8859-1', which is compatible with Latin 2
+when used to write German (or English, of course).  "
+ '(mnemonic "Latin 2"
+   aliases (iso-latin-2 latin-2)))
 
 ;; 
 ;; Latin-3 (ISO-8859-3). Esperanto, Maltese and Turkish. Obsolescent.
@@ -202,13 +258,40 @@
    (#xDD #xFD) ;; U WITH BREVE
    (#xDE #xFE))) ;; S WITH CIRCUMFLEX
 
-(make-coding-system
- 'iso-8859-3 'iso2022 "ISO-8859-3 (Latin-3)"
- '(charset-g0 ascii
-   charset-g1 latin-iso8859-3
-   charset-g2 t
-   charset-g3 t
-   mnemonic "MIME/Ltn-3"))
+(make-8-bit-coding-system
+ 'iso-8859-3
+ '((#xA1 ?\u0126) ;; LATIN CAPITAL LETTER H WITH STROKE
+   (#xA2 ?\u02D8) ;; BREVE
+   (#xA6 ?\u0124) ;; LATIN CAPITAL LETTER H WITH CIRCUMFLEX
+   (#xA9 ?\u0130) ;; LATIN CAPITAL LETTER I WITH DOT ABOVE
+   (#xAA ?\u015E) ;; LATIN CAPITAL LETTER S WITH CEDILLA
+   (#xAB ?\u011E) ;; LATIN CAPITAL LETTER G WITH BREVE
+   (#xAC ?\u0134) ;; LATIN CAPITAL LETTER J WITH CIRCUMFLEX
+   (#xAF ?\u017B) ;; LATIN CAPITAL LETTER Z WITH DOT ABOVE
+   (#xB1 ?\u0127) ;; LATIN SMALL LETTER H WITH STROKE
+   (#xB6 ?\u0125) ;; LATIN SMALL LETTER H WITH CIRCUMFLEX
+   (#xB9 ?\u0131) ;; LATIN SMALL LETTER DOTLESS I
+   (#xBA ?\u015F) ;; LATIN SMALL LETTER S WITH CEDILLA
+   (#xBB ?\u011F) ;; LATIN SMALL LETTER G WITH BREVE
+   (#xBC ?\u0135) ;; LATIN SMALL LETTER J WITH CIRCUMFLEX
+   (#xBF ?\u017C) ;; LATIN SMALL LETTER Z WITH DOT ABOVE
+   (#xC5 ?\u010A) ;; LATIN CAPITAL LETTER C WITH DOT ABOVE
+   (#xC6 ?\u0108) ;; LATIN CAPITAL LETTER C WITH CIRCUMFLEX
+   (#xD5 ?\u0120) ;; LATIN CAPITAL LETTER G WITH DOT ABOVE
+   (#xD8 ?\u011C) ;; LATIN CAPITAL LETTER G WITH CIRCUMFLEX
+   (#xDD ?\u016C) ;; LATIN CAPITAL LETTER U WITH BREVE
+   (#xDE ?\u015C) ;; LATIN CAPITAL LETTER S WITH CIRCUMFLEX
+   (#xE5 ?\u010B) ;; LATIN SMALL LETTER C WITH DOT ABOVE
+   (#xE6 ?\u0109) ;; LATIN SMALL LETTER C WITH CIRCUMFLEX
+   (#xF5 ?\u0121) ;; LATIN SMALL LETTER G WITH DOT ABOVE
+   (#xF8 ?\u011D) ;; LATIN SMALL LETTER G WITH CIRCUMFLEX
+   (#xFD ?\u016D) ;; LATIN SMALL LETTER U WITH BREVE
+   (#xFE ?\u015D) ;; LATIN SMALL LETTER S WITH CIRCUMFLEX
+   (#xFF ?\u02D9)) ;; DOT ABOVE
+ "ISO-8859-3 (Latin-3)"
+ '(mnemonic "Latin 3"
+   documentation "Aimed at Turkish, Maltese and Esperanto.  "
+   aliases (iso-latin-3 latin-3)))
 
 
 ;; Latin-4 (ISO-8859-4)
@@ -282,13 +365,62 @@
    (#xDD #xFD) ;; U WITH TILDE
    (#xDE #xFE))) ;; U WITH MACRON
 
-(make-coding-system
- 'iso-8859-4 'iso2022 "ISO-8859-4 (Latin-4)"
- '(charset-g0 ascii
-   charset-g1 latin-iso8859-4
-   charset-g2 t
-   charset-g3 t
-   mnemonic "MIME/Ltn-4"))
+(make-8-bit-coding-system
+ 'iso-8859-4
+ '((#xA1 ?\u0104) ;; LATIN CAPITAL LETTER A WITH OGONEK
+   (#xA2 ?\u0138) ;; LATIN SMALL LETTER KRA
+   (#xA3 ?\u0156) ;; LATIN CAPITAL LETTER R WITH CEDILLA
+   (#xA5 ?\u0128) ;; LATIN CAPITAL LETTER I WITH TILDE
+   (#xA6 ?\u013B) ;; LATIN CAPITAL LETTER L WITH CEDILLA
+   (#xA9 ?\u0160) ;; LATIN CAPITAL LETTER S WITH CARON
+   (#xAA ?\u0112) ;; LATIN CAPITAL LETTER E WITH MACRON
+   (#xAB ?\u0122) ;; LATIN CAPITAL LETTER G WITH CEDILLA
+   (#xAC ?\u0166) ;; LATIN CAPITAL LETTER T WITH STROKE
+   (#xAE ?\u017D) ;; LATIN CAPITAL LETTER Z WITH CARON
+   (#xB1 ?\u0105) ;; LATIN SMALL LETTER A WITH OGONEK
+   (#xB2 ?\u02DB) ;; OGONEK
+   (#xB3 ?\u0157) ;; LATIN SMALL LETTER R WITH CEDILLA
+   (#xB5 ?\u0129) ;; LATIN SMALL LETTER I WITH TILDE
+   (#xB6 ?\u013C) ;; LATIN SMALL LETTER L WITH CEDILLA
+   (#xB7 ?\u02C7) ;; CARON
+   (#xB9 ?\u0161) ;; LATIN SMALL LETTER S WITH CARON
+   (#xBA ?\u0113) ;; LATIN SMALL LETTER E WITH MACRON
+   (#xBB ?\u0123) ;; LATIN SMALL LETTER G WITH CEDILLA
+   (#xBC ?\u0167) ;; LATIN SMALL LETTER T WITH STROKE
+   (#xBD ?\u014A) ;; LATIN CAPITAL LETTER ENG
+   (#xBE ?\u017E) ;; LATIN SMALL LETTER Z WITH CARON
+   (#xBF ?\u014B) ;; LATIN SMALL LETTER ENG
+   (#xC0 ?\u0100) ;; LATIN CAPITAL LETTER A WITH MACRON
+   (#xC7 ?\u012E) ;; LATIN CAPITAL LETTER I WITH OGONEK
+   (#xC8 ?\u010C) ;; LATIN CAPITAL LETTER C WITH CARON
+   (#xCA ?\u0118) ;; LATIN CAPITAL LETTER E WITH OGONEK
+   (#xCC ?\u0116) ;; LATIN CAPITAL LETTER E WITH DOT ABOVE
+   (#xCF ?\u012A) ;; LATIN CAPITAL LETTER I WITH MACRON
+   (#xD0 ?\u0110) ;; LATIN CAPITAL LETTER D WITH STROKE
+   (#xD1 ?\u0145) ;; LATIN CAPITAL LETTER N WITH CEDILLA
+   (#xD2 ?\u014C) ;; LATIN CAPITAL LETTER O WITH MACRON
+   (#xD3 ?\u0136) ;; LATIN CAPITAL LETTER K WITH CEDILLA
+   (#xD9 ?\u0172) ;; LATIN CAPITAL LETTER U WITH OGONEK
+   (#xDD ?\u0168) ;; LATIN CAPITAL LETTER U WITH TILDE
+   (#xDE ?\u016A) ;; LATIN CAPITAL LETTER U WITH MACRON
+   (#xE0 ?\u0101) ;; LATIN SMALL LETTER A WITH MACRON
+   (#xE7 ?\u012F) ;; LATIN SMALL LETTER I WITH OGONEK
+   (#xE8 ?\u010D) ;; LATIN SMALL LETTER C WITH CARON
+   (#xEA ?\u0119) ;; LATIN SMALL LETTER E WITH OGONEK
+   (#xEC ?\u0117) ;; LATIN SMALL LETTER E WITH DOT ABOVE
+   (#xEF ?\u012B) ;; LATIN SMALL LETTER I WITH MACRON
+   (#xF0 ?\u0111) ;; LATIN SMALL LETTER D WITH STROKE
+   (#xF1 ?\u0146) ;; LATIN SMALL LETTER N WITH CEDILLA
+   (#xF2 ?\u014D) ;; LATIN SMALL LETTER O WITH MACRON
+   (#xF3 ?\u0137) ;; LATIN SMALL LETTER K WITH CEDILLA
+   (#xF9 ?\u0173) ;; LATIN SMALL LETTER U WITH OGONEK
+   (#xFD ?\u0169) ;; LATIN SMALL LETTER U WITH TILDE
+   (#xFE ?\u016B) ;; LATIN SMALL LETTER U WITH MACRON
+   (#xFF ?\u02D9));; DOT ABOVE
+ "ISO-8859-4 (Latin-4)"
+ '(mnemonic "Latin 4"
+   aliases (iso-latin-4 latin-4)
+   documentation "Obsolete coding system for the Baltic rim.  "))
 
 
 ;; Latin-8 (ISO 8859-14) Celtic.
@@ -440,15 +572,19 @@
    (#xDD #xFD) ;; Y WITH ACUTE
    (#xDE #xFE))) ;; THORN
 
-(make-coding-system
- 'iso-8859-15 'iso2022
-  "ISO 4873 conforming 8-bit code (ASCII + Latin 9; aka Latin-1 with Euro)"
-  '(mnemonic "MIME/Ltn-9"		; bletch
-    eol-type nil
-    charset-g0 ascii
-    charset-g1 latin-iso8859-15
-    charset-g2 t
-    charset-g3 t))
+(make-8-bit-coding-system
+ 'iso-8859-15 
+ '((#xA4 ?\u20AC) ;; EURO SIGN
+   (#xA6 ?\u0160) ;; LATIN CAPITAL LETTER S WITH CARON
+   (#xA8 ?\u0161) ;; LATIN SMALL LETTER S WITH CARON
+   (#xB4 ?\u017D) ;; LATIN CAPITAL LETTER Z WITH CARON
+   (#xB8 ?\u017E) ;; LATIN SMALL LETTER Z WITH CARON
+   (#xBC ?\u0152) ;; LATIN CAPITAL LIGATURE OE
+   (#xBD ?\u0153) ;; LATIN SMALL LIGATURE OE
+   (#xBE ?\u0178)) ;; LATIN CAPITAL LETTER Y WITH DIAERESIS
+ "ISO 4873 conforming 8-bit code (ASCII + Latin 9; aka Latin-1 with Euro)"
+  '(mnemonic "Latin 9"
+    aliases (iso-latin-9 latin-9 latin-0)))
 
 ;; end of ISO 8859-15. 
 
@@ -546,13 +682,51 @@
    (#xDE #xFE))) ;; T WITH COMMA BELOW
 
 ;; Add a coding system for ISO 8859-16.
-(make-coding-system
- 'iso-8859-16 'iso2022 "MIME ISO-8859-16"
- '(charset-g0 ascii
-   charset-g1 latin-iso8859-16
-   charset-g2 t			; grrr
-   charset-g3 t			; grrr
-   mnemonic "MIME/Ltn-10"))
+(make-8-bit-coding-system
+ 'iso-8859-16
+ '((#xA1 ?\u0104) ;; LATIN CAPITAL LETTER A WITH OGONEK
+   (#xA2 ?\u0105) ;; LATIN SMALL LETTER A WITH OGONEK
+   (#xA3 ?\u0141) ;; LATIN CAPITAL LETTER L WITH STROKE
+   (#xA4 ?\u20AC) ;; EURO SIGN
+   (#xA5 ?\u201E) ;; DOUBLE LOW-9 QUOTATION MARK
+   (#xA6 ?\u0160) ;; LATIN CAPITAL LETTER S WITH CARON
+   (#xA8 ?\u0161) ;; LATIN SMALL LETTER S WITH CARON
+   (#xAA ?\u0218) ;; LATIN CAPITAL LETTER S WITH COMMA BELOW
+   (#xAC ?\u0179) ;; LATIN CAPITAL LETTER Z WITH ACUTE
+   (#xAE ?\u017A) ;; LATIN SMALL LETTER Z WITH ACUTE
+   (#xAF ?\u017B) ;; LATIN CAPITAL LETTER Z WITH DOT ABOVE
+   (#xB2 ?\u010C) ;; LATIN CAPITAL LETTER C WITH CARON
+   (#xB3 ?\u0142) ;; LATIN SMALL LETTER L WITH STROKE
+   (#xB4 ?\u017D) ;; LATIN CAPITAL LETTER Z WITH CARON
+   (#xB5 ?\u201D) ;; RIGHT DOUBLE QUOTATION MARK
+   (#xB8 ?\u017E) ;; LATIN SMALL LETTER Z WITH CARON
+   (#xB9 ?\u010D) ;; LATIN SMALL LETTER C WITH CARON
+   (#xBA ?\u0219) ;; LATIN SMALL LETTER S WITH COMMA BELOW
+   (#xBC ?\u0152) ;; LATIN CAPITAL LIGATURE OE
+   (#xBD ?\u0153) ;; LATIN SMALL LIGATURE OE
+   (#xBE ?\u0178) ;; LATIN CAPITAL LETTER Y WITH DIAERESIS
+   (#xBF ?\u017C) ;; LATIN SMALL LETTER Z WITH DOT ABOVE
+   (#xC3 ?\u0102) ;; LATIN CAPITAL LETTER A WITH BREVE
+   (#xC5 ?\u0106) ;; LATIN CAPITAL LETTER C WITH ACUTE
+   (#xD0 ?\u0110) ;; LATIN CAPITAL LETTER D WITH STROKE
+   (#xD1 ?\u0143) ;; LATIN CAPITAL LETTER N WITH ACUTE
+   (#xD5 ?\u0150) ;; LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+   (#xD7 ?\u015A) ;; LATIN CAPITAL LETTER S WITH ACUTE
+   (#xD8 ?\u0170) ;; LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+   (#xDD ?\u0118) ;; LATIN CAPITAL LETTER E WITH OGONEK
+   (#xDE ?\u021A) ;; LATIN CAPITAL LETTER T WITH COMMA BELOW
+   (#xE3 ?\u0103) ;; LATIN SMALL LETTER A WITH BREVE
+   (#xE5 ?\u0107) ;; LATIN SMALL LETTER C WITH ACUTE
+   (#xF0 ?\u0111) ;; LATIN SMALL LETTER D WITH STROKE
+   (#xF1 ?\u0144) ;; LATIN SMALL LETTER N WITH ACUTE
+   (#xF5 ?\u0151) ;; LATIN SMALL LETTER O WITH DOUBLE ACUTE
+   (#xF7 ?\u015B) ;; LATIN SMALL LETTER S WITH ACUTE
+   (#xF8 ?\u0171) ;; LATIN SMALL LETTER U WITH DOUBLE ACUTE
+   (#xFD ?\u0119) ;; LATIN SMALL LETTER E WITH OGONEK
+   (#xFE ?\u021B)) ;; LATIN SMALL LETTER T WITH COMMA BELOW
+ "ISO-8859-16 (Latin-10)"
+ '(mnemonic "Latin 10"
+   aliases (iso-latin-10)))
 
 ;; end of ISO 8859-16. 
 
@@ -628,13 +802,17 @@
                 (make-char 'latin-iso8859-9 #xfd)
                 ?I (standard-case-table))
 
-(make-coding-system
- 'iso-8859-9 'iso2022 "ISO-8859-9 (Latin-5)"
- '(charset-g0 ascii
-   charset-g1 latin-iso8859-9
-   charset-g2 t
-   charset-g3 t
-   mnemonic "MIME/Ltn-5"))
+(make-8-bit-coding-system
+ 'iso-8859-9 
+ '((#xD0 ?\u011E) ;; LATIN CAPITAL LETTER G WITH BREVE
+   (#xDD ?\u0130) ;; LATIN CAPITAL LETTER I WITH DOT ABOVE
+   (#xDE ?\u015E) ;; LATIN CAPITAL LETTER S WITH CEDILLA
+   (#xF0 ?\u011F) ;; LATIN SMALL LETTER G WITH BREVE
+   (#xFD ?\u0131) ;; LATIN SMALL LETTER DOTLESS I
+   (#xFE ?\u015F)) ;; LATIN SMALL LETTER S WITH CEDILLA
+ "ISO-8859-9 (Latin-5)"
+ '(mnemonic "Latin 5"
+   aliases (iso-latin-5 latin-5)))
 
 ;; end of ISO-8859-9