diff lisp/mule/latin.el @ 4604:e0a8715fdb1f

Support new IGNORE-INVALID-SEQUENCESP argument, #'query-coding-region. lisp/ChangeLog addition: 2009-02-07 Aidan Kehoe <kehoea@parhasard.net> * coding.el (query-coding-clear-highlights): Rename the BUFFER argument to BUFFER-OR-STRING, describe it as possibly being a string in its documentation. (default-query-coding-region): Add a new IGNORE-INVALID-SEQUENCESP argument, document that this function does not support it. Bind case-fold-search to nil, we don't want this to influence what the function thinks is encodable or not. (query-coding-region): Add a new IGNORE-INVALID-SEQUENCESP argument, document what it does; reflect this new argument in the associated compiler macro. (query-coding-string): Add a new IGNORE-INVALID-SEQUENCESP argument, document what it does. Support the HIGHLIGHT argument correctly. * unicode.el (unicode-query-coding-region): Add a new IGNORE-INVALID-SEQUENCESP argument, document what it does, implement this. Document a potential problem. Use #'query-coding-clear-highlights instead of reimplementing it ourselves. Remove some debugging messages. * mule/arabic.el (iso-8859-6): * mule/cyrillic.el (iso-8859-5): * mule/greek.el (iso-8859-7): * mule/hebrew.el (iso-8859-8): * mule/latin.el (iso-8859-2): * mule/latin.el (iso-8859-3): * mule/latin.el (iso-8859-4): * mule/latin.el (iso-8859-14): * mule/latin.el (iso-8859-15): * mule/latin.el (iso-8859-16): * mule/latin.el (iso-8859-9): * mule/latin.el (windows-1252): * mule/mule-coding.el (iso-8859-1): Avoid the assumption that characters not given an explicit mapping in these coding systems map to the ISO 8859-1 characters corresponding to the octets on disk; this makes it much more reasonable to implement the IGNORE-INVALID-SEQUENCESP argument to query-coding-region. * mule/mule-cmds.el (set-language-info): Correct the docstring. * mule/mule-cmds.el (finish-set-language-environment): Treat invalid Unicode sequences produced from invalid-sequence-coding-system and corresponding to control characters the same as control characters in redisplay. * mule/mule-cmds.el: Document that encode-coding-char is available in coding.el * mule/mule-coding.el (make-8-bit-generate-helper): Change to return the both the encode-program generated and the relevant non-ASCII charset; update the docstring to reflect this. * mule/mule-coding.el (make-8-bit-generate-encode-program-and-skip-chars-strings): Rename this function; have it return skip-chars-strings as well as the encode program. Have these skip-chars-strings use ranges for charsets, where possible. * mule/mule-coding.el (make-8-bit-create-decode-encode-tables): Revise this to allow people to specify explicitly characters that should be undefined (= corresponding to keys in unicode-error-default-translation-table), and treating unspecified octets above #x7f as undefined by default. * mule/mule-coding.el (8-bit-fixed-query-coding-region): Add a new IGNORE-INVALID-SEQUENCESP argument, implement support for it using the 8-bit-fixed-invalid-sequences-skip-chars coding system property; remove some debugging messages. * mule/mule-coding.el (make-8-bit-coding-system): This function is dumped, autoloading it makes no sense. Document what happens when characters above #x7f are not specified, implement this. * mule/vietnamese.el: Correct spelling. tests/ChangeLog addition: 2009-02-07 Aidan Kehoe <kehoea@parhasard.net> * automated/query-coding-tests.el: Add FAILING-CASE arguments to the Assert calls, making #'q-c-debug mostly unnecessary. Remove #'q-c-debug. Add new tests that use the IGNORE-INVALID-SEQUENCESP argument to #'query-coding-region; rework the existing ones to respect it.
author Aidan Kehoe <kehoea@parhasard.net>
date Sat, 07 Feb 2009 17:13:37 +0000
parents dcfd965d65a1
children ad2d2f4848f5
line wrap: on
line diff
--- a/lisp/mule/latin.el	Thu Feb 05 21:18:37 2009 -0500
+++ b/lisp/mule/latin.el	Sat Feb 07 17:13:37 2009 +0000
@@ -126,23 +126,63 @@
 
 (make-8-bit-coding-system
  'iso-8859-2
- '((#xA1 ?\u0104) ;; LATIN CAPITAL LETTER A WITH OGONEK
+ '((#x80 ?\u0080) ;; <control>
+   (#x81 ?\u0081) ;; <control>
+   (#x82 ?\u0082) ;; <control>
+   (#x83 ?\u0083) ;; <control>
+   (#x84 ?\u0084) ;; <control>
+   (#x85 ?\u0085) ;; <control>
+   (#x86 ?\u0086) ;; <control>
+   (#x87 ?\u0087) ;; <control>
+   (#x88 ?\u0088) ;; <control>
+   (#x89 ?\u0089) ;; <control>
+   (#x8A ?\u008A) ;; <control>
+   (#x8B ?\u008B) ;; <control>
+   (#x8C ?\u008C) ;; <control>
+   (#x8D ?\u008D) ;; <control>
+   (#x8E ?\u008E) ;; <control>
+   (#x8F ?\u008F) ;; <control>
+   (#x90 ?\u0090) ;; <control>
+   (#x91 ?\u0091) ;; <control>
+   (#x92 ?\u0092) ;; <control>
+   (#x93 ?\u0093) ;; <control>
+   (#x94 ?\u0094) ;; <control>
+   (#x95 ?\u0095) ;; <control>
+   (#x96 ?\u0096) ;; <control>
+   (#x97 ?\u0097) ;; <control>
+   (#x98 ?\u0098) ;; <control>
+   (#x99 ?\u0099) ;; <control>
+   (#x9A ?\u009A) ;; <control>
+   (#x9B ?\u009B) ;; <control>
+   (#x9C ?\u009C) ;; <control>
+   (#x9D ?\u009D) ;; <control>
+   (#x9E ?\u009E) ;; <control>
+   (#x9F ?\u009F) ;; <control>
+   (#xA0 ?\u00A0) ;; NO-BREAK SPACE
+   (#xA1 ?\u0104) ;; LATIN CAPITAL LETTER A WITH OGONEK
    (#xA2 ?\u02D8) ;; BREVE
    (#xA3 ?\u0141) ;; LATIN CAPITAL LETTER L WITH STROKE
+   (#xA4 ?\u00A4) ;; CURRENCY SIGN
    (#xA5 ?\u013D) ;; LATIN CAPITAL LETTER L WITH CARON
    (#xA6 ?\u015A) ;; LATIN CAPITAL LETTER S WITH ACUTE
+   (#xA7 ?\u00A7) ;; SECTION SIGN
+   (#xA8 ?\u00A8) ;; DIAERESIS
    (#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
+   (#xAD ?\u00AD) ;; SOFT HYPHEN
    (#xAE ?\u017D) ;; LATIN CAPITAL LETTER Z WITH CARON
    (#xAF ?\u017B) ;; LATIN CAPITAL LETTER Z WITH DOT ABOVE
+   (#xB0 ?\u00B0) ;; DEGREE SIGN
    (#xB1 ?\u0105) ;; LATIN SMALL LETTER A WITH OGONEK
    (#xB2 ?\u02DB) ;; OGONEK
    (#xB3 ?\u0142) ;; LATIN SMALL LETTER L WITH STROKE
+   (#xB4 ?\u00B4) ;; ACUTE ACCENT
    (#xB5 ?\u013E) ;; LATIN SMALL LETTER L WITH CARON
    (#xB6 ?\u015B) ;; LATIN SMALL LETTER S WITH ACUTE
    (#xB7 ?\u02C7) ;; CARON
+   (#xB8 ?\u00B8) ;; CEDILLA
    (#xB9 ?\u0161) ;; LATIN SMALL LETTER S WITH CARON
    (#xBA ?\u015F) ;; LATIN SMALL LETTER S WITH CEDILLA
    (#xBB ?\u0165) ;; LATIN SMALL LETTER T WITH CARON
@@ -151,39 +191,70 @@
    (#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
+   (#xC1 ?\u00C1) ;; LATIN CAPITAL LETTER A WITH ACUTE
+   (#xC2 ?\u00C2) ;; LATIN CAPITAL LETTER A WITH CIRCUMFLEX
    (#xC3 ?\u0102) ;; LATIN CAPITAL LETTER A WITH BREVE
+   (#xC4 ?\u00C4) ;; LATIN CAPITAL LETTER A WITH DIAERESIS
    (#xC5 ?\u0139) ;; LATIN CAPITAL LETTER L WITH ACUTE
    (#xC6 ?\u0106) ;; LATIN CAPITAL LETTER C WITH ACUTE
+   (#xC7 ?\u00C7) ;; LATIN CAPITAL LETTER C WITH CEDILLA
    (#xC8 ?\u010C) ;; LATIN CAPITAL LETTER C WITH CARON
+   (#xC9 ?\u00C9) ;; LATIN CAPITAL LETTER E WITH ACUTE
    (#xCA ?\u0118) ;; LATIN CAPITAL LETTER E WITH OGONEK
+   (#xCB ?\u00CB) ;; LATIN CAPITAL LETTER E WITH DIAERESIS
    (#xCC ?\u011A) ;; LATIN CAPITAL LETTER E WITH CARON
+   (#xCD ?\u00CD) ;; LATIN CAPITAL LETTER I WITH ACUTE
+   (#xCE ?\u00CE) ;; LATIN CAPITAL LETTER I WITH CIRCUMFLEX
    (#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
+   (#xD3 ?\u00D3) ;; LATIN CAPITAL LETTER O WITH ACUTE
+   (#xD4 ?\u00D4) ;; LATIN CAPITAL LETTER O WITH CIRCUMFLEX
    (#xD5 ?\u0150) ;; LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+   (#xD6 ?\u00D6) ;; LATIN CAPITAL LETTER O WITH DIAERESIS
+   (#xD7 ?\u00D7) ;; MULTIPLICATION SIGN
    (#xD8 ?\u0158) ;; LATIN CAPITAL LETTER R WITH CARON
    (#xD9 ?\u016E) ;; LATIN CAPITAL LETTER U WITH RING ABOVE
+   (#xDA ?\u00DA) ;; LATIN CAPITAL LETTER U WITH ACUTE
    (#xDB ?\u0170) ;; LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+   (#xDC ?\u00DC) ;; LATIN CAPITAL LETTER U WITH DIAERESIS
+   (#xDD ?\u00DD) ;; LATIN CAPITAL LETTER Y WITH ACUTE
    (#xDE ?\u0162) ;; LATIN CAPITAL LETTER T WITH CEDILLA
+   (#xDF ?\u00DF) ;; LATIN SMALL LETTER SHARP S
    (#xE0 ?\u0155) ;; LATIN SMALL LETTER R WITH ACUTE
+   (#xE1 ?\u00E1) ;; LATIN SMALL LETTER A WITH ACUTE
+   (#xE2 ?\u00E2) ;; LATIN SMALL LETTER A WITH CIRCUMFLEX
    (#xE3 ?\u0103) ;; LATIN SMALL LETTER A WITH BREVE
+   (#xE4 ?\u00E4) ;; LATIN SMALL LETTER A WITH DIAERESIS
    (#xE5 ?\u013A) ;; LATIN SMALL LETTER L WITH ACUTE
    (#xE6 ?\u0107) ;; LATIN SMALL LETTER C WITH ACUTE
+   (#xE7 ?\u00E7) ;; LATIN SMALL LETTER C WITH CEDILLA
    (#xE8 ?\u010D) ;; LATIN SMALL LETTER C WITH CARON
+   (#xE9 ?\u00E9) ;; LATIN SMALL LETTER E WITH ACUTE
    (#xEA ?\u0119) ;; LATIN SMALL LETTER E WITH OGONEK
+   (#xEB ?\u00EB) ;; LATIN SMALL LETTER E WITH DIAERESIS
    (#xEC ?\u011B) ;; LATIN SMALL LETTER E WITH CARON
+   (#xED ?\u00ED) ;; LATIN SMALL LETTER I WITH ACUTE
+   (#xEE ?\u00EE) ;; LATIN SMALL LETTER I WITH CIRCUMFLEX
    (#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
+   (#xF3 ?\u00F3) ;; LATIN SMALL LETTER O WITH ACUTE
+   (#xF4 ?\u00F4) ;; LATIN SMALL LETTER O WITH CIRCUMFLEX
    (#xF5 ?\u0151) ;; LATIN SMALL LETTER O WITH DOUBLE ACUTE
+   (#xF6 ?\u00F6) ;; LATIN SMALL LETTER O WITH DIAERESIS
+   (#xF7 ?\u00F7) ;; DIVISION SIGN
    (#xF8 ?\u0159) ;; LATIN SMALL LETTER R WITH CARON
    (#xF9 ?\u016F) ;; LATIN SMALL LETTER U WITH RING ABOVE
+   (#xFA ?\u00FA) ;; LATIN SMALL LETTER U WITH ACUTE
    (#xFB ?\u0171) ;; LATIN SMALL LETTER U WITH DOUBLE ACUTE
+   (#xFC ?\u00FC) ;; LATIN SMALL LETTER U WITH DIAERESIS
+   (#xFD ?\u00FD) ;; LATIN SMALL LETTER Y WITH ACUTE
    (#xFE ?\u0163) ;; LATIN SMALL LETTER T WITH CEDILLA
-   (#xFF ?\u02D9));; DOT ABOVE
- "ISO-8859-2 (Latin-2) for Central Europe.
+   (#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"
@@ -391,31 +462,124 @@
 
 (make-8-bit-coding-system
  'iso-8859-3
- '((#xA1 ?\u0126) ;; LATIN CAPITAL LETTER H WITH STROKE
+ '((#x80 ?\u0080) ;; <control>
+   (#x81 ?\u0081) ;; <control>
+   (#x82 ?\u0082) ;; <control>
+   (#x83 ?\u0083) ;; <control>
+   (#x84 ?\u0084) ;; <control>
+   (#x85 ?\u0085) ;; <control>
+   (#x86 ?\u0086) ;; <control>
+   (#x87 ?\u0087) ;; <control>
+   (#x88 ?\u0088) ;; <control>
+   (#x89 ?\u0089) ;; <control>
+   (#x8A ?\u008A) ;; <control>
+   (#x8B ?\u008B) ;; <control>
+   (#x8C ?\u008C) ;; <control>
+   (#x8D ?\u008D) ;; <control>
+   (#x8E ?\u008E) ;; <control>
+   (#x8F ?\u008F) ;; <control>
+   (#x90 ?\u0090) ;; <control>
+   (#x91 ?\u0091) ;; <control>
+   (#x92 ?\u0092) ;; <control>
+   (#x93 ?\u0093) ;; <control>
+   (#x94 ?\u0094) ;; <control>
+   (#x95 ?\u0095) ;; <control>
+   (#x96 ?\u0096) ;; <control>
+   (#x97 ?\u0097) ;; <control>
+   (#x98 ?\u0098) ;; <control>
+   (#x99 ?\u0099) ;; <control>
+   (#x9A ?\u009A) ;; <control>
+   (#x9B ?\u009B) ;; <control>
+   (#x9C ?\u009C) ;; <control>
+   (#x9D ?\u009D) ;; <control>
+   (#x9E ?\u009E) ;; <control>
+   (#x9F ?\u009F) ;; <control>
+   (#xA0 ?\u00A0) ;; NO-BREAK SPACE
+   (#xA1 ?\u0126) ;; LATIN CAPITAL LETTER H WITH STROKE
    (#xA2 ?\u02D8) ;; BREVE
+   (#xA3 ?\u00A3) ;; POUND SIGN
+   (#xA4 ?\u00A4) ;; CURRENCY SIGN
    (#xA6 ?\u0124) ;; LATIN CAPITAL LETTER H WITH CIRCUMFLEX
+   (#xA7 ?\u00A7) ;; SECTION SIGN
+   (#xA8 ?\u00A8) ;; DIAERESIS
    (#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
+   (#xAD ?\u00AD) ;; SOFT HYPHEN
    (#xAF ?\u017B) ;; LATIN CAPITAL LETTER Z WITH DOT ABOVE
+   (#xB0 ?\u00B0) ;; DEGREE SIGN
    (#xB1 ?\u0127) ;; LATIN SMALL LETTER H WITH STROKE
+   (#xB2 ?\u00B2) ;; SUPERSCRIPT TWO
+   (#xB3 ?\u00B3) ;; SUPERSCRIPT THREE
+   (#xB4 ?\u00B4) ;; ACUTE ACCENT
+   (#xB5 ?\u00B5) ;; MICRO SIGN
    (#xB6 ?\u0125) ;; LATIN SMALL LETTER H WITH CIRCUMFLEX
+   (#xB7 ?\u00B7) ;; MIDDLE DOT
+   (#xB8 ?\u00B8) ;; CEDILLA
    (#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
+   (#xBD ?\u00BD) ;; VULGAR FRACTION ONE HALF
    (#xBF ?\u017C) ;; LATIN SMALL LETTER Z WITH DOT ABOVE
+   (#xC0 ?\u00C0) ;; LATIN CAPITAL LETTER A WITH GRAVE
+   (#xC1 ?\u00C1) ;; LATIN CAPITAL LETTER A WITH ACUTE
+   (#xC2 ?\u00C2) ;; LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+   (#xC4 ?\u00C4) ;; LATIN CAPITAL LETTER A WITH DIAERESIS
    (#xC5 ?\u010A) ;; LATIN CAPITAL LETTER C WITH DOT ABOVE
    (#xC6 ?\u0108) ;; LATIN CAPITAL LETTER C WITH CIRCUMFLEX
+   (#xC7 ?\u00C7) ;; LATIN CAPITAL LETTER C WITH CEDILLA
+   (#xC8 ?\u00C8) ;; LATIN CAPITAL LETTER E WITH GRAVE
+   (#xC9 ?\u00C9) ;; LATIN CAPITAL LETTER E WITH ACUTE
+   (#xCA ?\u00CA) ;; LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+   (#xCB ?\u00CB) ;; LATIN CAPITAL LETTER E WITH DIAERESIS
+   (#xCC ?\u00CC) ;; LATIN CAPITAL LETTER I WITH GRAVE
+   (#xCD ?\u00CD) ;; LATIN CAPITAL LETTER I WITH ACUTE
+   (#xCE ?\u00CE) ;; LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+   (#xCF ?\u00CF) ;; LATIN CAPITAL LETTER I WITH DIAERESIS
+   (#xD1 ?\u00D1) ;; LATIN CAPITAL LETTER N WITH TILDE
+   (#xD2 ?\u00D2) ;; LATIN CAPITAL LETTER O WITH GRAVE
+   (#xD3 ?\u00D3) ;; LATIN CAPITAL LETTER O WITH ACUTE
+   (#xD4 ?\u00D4) ;; LATIN CAPITAL LETTER O WITH CIRCUMFLEX
    (#xD5 ?\u0120) ;; LATIN CAPITAL LETTER G WITH DOT ABOVE
+   (#xD6 ?\u00D6) ;; LATIN CAPITAL LETTER O WITH DIAERESIS
+   (#xD7 ?\u00D7) ;; MULTIPLICATION SIGN
    (#xD8 ?\u011C) ;; LATIN CAPITAL LETTER G WITH CIRCUMFLEX
+   (#xD9 ?\u00D9) ;; LATIN CAPITAL LETTER U WITH GRAVE
+   (#xDA ?\u00DA) ;; LATIN CAPITAL LETTER U WITH ACUTE
+   (#xDB ?\u00DB) ;; LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+   (#xDC ?\u00DC) ;; LATIN CAPITAL LETTER U WITH DIAERESIS
    (#xDD ?\u016C) ;; LATIN CAPITAL LETTER U WITH BREVE
    (#xDE ?\u015C) ;; LATIN CAPITAL LETTER S WITH CIRCUMFLEX
+   (#xDF ?\u00DF) ;; LATIN SMALL LETTER SHARP S
+   (#xE0 ?\u00E0) ;; LATIN SMALL LETTER A WITH GRAVE
+   (#xE1 ?\u00E1) ;; LATIN SMALL LETTER A WITH ACUTE
+   (#xE2 ?\u00E2) ;; LATIN SMALL LETTER A WITH CIRCUMFLEX
+   (#xE4 ?\u00E4) ;; LATIN SMALL LETTER A WITH DIAERESIS
    (#xE5 ?\u010B) ;; LATIN SMALL LETTER C WITH DOT ABOVE
    (#xE6 ?\u0109) ;; LATIN SMALL LETTER C WITH CIRCUMFLEX
+   (#xE7 ?\u00E7) ;; LATIN SMALL LETTER C WITH CEDILLA
+   (#xE8 ?\u00E8) ;; LATIN SMALL LETTER E WITH GRAVE
+   (#xE9 ?\u00E9) ;; LATIN SMALL LETTER E WITH ACUTE
+   (#xEA ?\u00EA) ;; LATIN SMALL LETTER E WITH CIRCUMFLEX
+   (#xEB ?\u00EB) ;; LATIN SMALL LETTER E WITH DIAERESIS
+   (#xEC ?\u00EC) ;; LATIN SMALL LETTER I WITH GRAVE
+   (#xED ?\u00ED) ;; LATIN SMALL LETTER I WITH ACUTE
+   (#xEE ?\u00EE) ;; LATIN SMALL LETTER I WITH CIRCUMFLEX
+   (#xEF ?\u00EF) ;; LATIN SMALL LETTER I WITH DIAERESIS
+   (#xF1 ?\u00F1) ;; LATIN SMALL LETTER N WITH TILDE
+   (#xF2 ?\u00F2) ;; LATIN SMALL LETTER O WITH GRAVE
+   (#xF3 ?\u00F3) ;; LATIN SMALL LETTER O WITH ACUTE
+   (#xF4 ?\u00F4) ;; LATIN SMALL LETTER O WITH CIRCUMFLEX
    (#xF5 ?\u0121) ;; LATIN SMALL LETTER G WITH DOT ABOVE
+   (#xF6 ?\u00F6) ;; LATIN SMALL LETTER O WITH DIAERESIS
+   (#xF7 ?\u00F7) ;; DIVISION SIGN
    (#xF8 ?\u011D) ;; LATIN SMALL LETTER G WITH CIRCUMFLEX
+   (#xF9 ?\u00F9) ;; LATIN SMALL LETTER U WITH GRAVE
+   (#xFA ?\u00FA) ;; LATIN SMALL LETTER U WITH ACUTE
+   (#xFB ?\u00FB) ;; LATIN SMALL LETTER U WITH CIRCUMFLEX
+   (#xFC ?\u00FC) ;; LATIN SMALL LETTER U WITH DIAERESIS
    (#xFD ?\u016D) ;; LATIN SMALL LETTER U WITH BREVE
    (#xFE ?\u015D) ;; LATIN SMALL LETTER S WITH CIRCUMFLEX
    (#xFF ?\u02D9)) ;; DOT ABOVE
@@ -498,22 +662,63 @@
 
 (make-8-bit-coding-system
  'iso-8859-4
- '((#xA1 ?\u0104) ;; LATIN CAPITAL LETTER A WITH OGONEK
+ '((#x80 ?\u0080) ;; <control>
+   (#x81 ?\u0081) ;; <control>
+   (#x82 ?\u0082) ;; <control>
+   (#x83 ?\u0083) ;; <control>
+   (#x84 ?\u0084) ;; <control>
+   (#x85 ?\u0085) ;; <control>
+   (#x86 ?\u0086) ;; <control>
+   (#x87 ?\u0087) ;; <control>
+   (#x88 ?\u0088) ;; <control>
+   (#x89 ?\u0089) ;; <control>
+   (#x8A ?\u008A) ;; <control>
+   (#x8B ?\u008B) ;; <control>
+   (#x8C ?\u008C) ;; <control>
+   (#x8D ?\u008D) ;; <control>
+   (#x8E ?\u008E) ;; <control>
+   (#x8F ?\u008F) ;; <control>
+   (#x90 ?\u0090) ;; <control>
+   (#x91 ?\u0091) ;; <control>
+   (#x92 ?\u0092) ;; <control>
+   (#x93 ?\u0093) ;; <control>
+   (#x94 ?\u0094) ;; <control>
+   (#x95 ?\u0095) ;; <control>
+   (#x96 ?\u0096) ;; <control>
+   (#x97 ?\u0097) ;; <control>
+   (#x98 ?\u0098) ;; <control>
+   (#x99 ?\u0099) ;; <control>
+   (#x9A ?\u009A) ;; <control>
+   (#x9B ?\u009B) ;; <control>
+   (#x9C ?\u009C) ;; <control>
+   (#x9D ?\u009D) ;; <control>
+   (#x9E ?\u009E) ;; <control>
+   (#x9F ?\u009F) ;; <control>
+   (#xA0 ?\u00A0) ;; NO-BREAK SPACE
+   (#xA1 ?\u0104) ;; LATIN CAPITAL LETTER A WITH OGONEK
    (#xA2 ?\u0138) ;; LATIN SMALL LETTER KRA
    (#xA3 ?\u0156) ;; LATIN CAPITAL LETTER R WITH CEDILLA
+   (#xA4 ?\u00A4) ;; CURRENCY SIGN
    (#xA5 ?\u0128) ;; LATIN CAPITAL LETTER I WITH TILDE
    (#xA6 ?\u013B) ;; LATIN CAPITAL LETTER L WITH CEDILLA
+   (#xA7 ?\u00A7) ;; SECTION SIGN
+   (#xA8 ?\u00A8) ;; DIAERESIS
    (#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
+   (#xAD ?\u00AD) ;; SOFT HYPHEN
    (#xAE ?\u017D) ;; LATIN CAPITAL LETTER Z WITH CARON
+   (#xAF ?\u00AF) ;; MACRON
+   (#xB0 ?\u00B0) ;; DEGREE SIGN
    (#xB1 ?\u0105) ;; LATIN SMALL LETTER A WITH OGONEK
    (#xB2 ?\u02DB) ;; OGONEK
    (#xB3 ?\u0157) ;; LATIN SMALL LETTER R WITH CEDILLA
+   (#xB4 ?\u00B4) ;; ACUTE ACCENT
    (#xB5 ?\u0129) ;; LATIN SMALL LETTER I WITH TILDE
    (#xB6 ?\u013C) ;; LATIN SMALL LETTER L WITH CEDILLA
    (#xB7 ?\u02C7) ;; CARON
+   (#xB8 ?\u00B8) ;; CEDILLA
    (#xB9 ?\u0161) ;; LATIN SMALL LETTER S WITH CARON
    (#xBA ?\u0113) ;; LATIN SMALL LETTER E WITH MACRON
    (#xBB ?\u0123) ;; LATIN SMALL LETTER G WITH CEDILLA
@@ -522,29 +727,66 @@
    (#xBE ?\u017E) ;; LATIN SMALL LETTER Z WITH CARON
    (#xBF ?\u014B) ;; LATIN SMALL LETTER ENG
    (#xC0 ?\u0100) ;; LATIN CAPITAL LETTER A WITH MACRON
+   (#xC1 ?\u00C1) ;; LATIN CAPITAL LETTER A WITH ACUTE
+   (#xC2 ?\u00C2) ;; LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+   (#xC3 ?\u00C3) ;; LATIN CAPITAL LETTER A WITH TILDE
+   (#xC4 ?\u00C4) ;; LATIN CAPITAL LETTER A WITH DIAERESIS
+   (#xC5 ?\u00C5) ;; LATIN CAPITAL LETTER A WITH RING ABOVE
+   (#xC6 ?\u00C6) ;; LATIN CAPITAL LETTER AE
    (#xC7 ?\u012E) ;; LATIN CAPITAL LETTER I WITH OGONEK
    (#xC8 ?\u010C) ;; LATIN CAPITAL LETTER C WITH CARON
+   (#xC9 ?\u00C9) ;; LATIN CAPITAL LETTER E WITH ACUTE
    (#xCA ?\u0118) ;; LATIN CAPITAL LETTER E WITH OGONEK
+   (#xCB ?\u00CB) ;; LATIN CAPITAL LETTER E WITH DIAERESIS
    (#xCC ?\u0116) ;; LATIN CAPITAL LETTER E WITH DOT ABOVE
+   (#xCD ?\u00CD) ;; LATIN CAPITAL LETTER I WITH ACUTE
+   (#xCE ?\u00CE) ;; LATIN CAPITAL LETTER I WITH CIRCUMFLEX
    (#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
+   (#xD4 ?\u00D4) ;; LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+   (#xD5 ?\u00D5) ;; LATIN CAPITAL LETTER O WITH TILDE
+   (#xD6 ?\u00D6) ;; LATIN CAPITAL LETTER O WITH DIAERESIS
+   (#xD7 ?\u00D7) ;; MULTIPLICATION SIGN
+   (#xD8 ?\u00D8) ;; LATIN CAPITAL LETTER O WITH STROKE
    (#xD9 ?\u0172) ;; LATIN CAPITAL LETTER U WITH OGONEK
+   (#xDA ?\u00DA) ;; LATIN CAPITAL LETTER U WITH ACUTE
+   (#xDB ?\u00DB) ;; LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+   (#xDC ?\u00DC) ;; LATIN CAPITAL LETTER U WITH DIAERESIS
    (#xDD ?\u0168) ;; LATIN CAPITAL LETTER U WITH TILDE
    (#xDE ?\u016A) ;; LATIN CAPITAL LETTER U WITH MACRON
+   (#xDF ?\u00DF) ;; LATIN SMALL LETTER SHARP S
    (#xE0 ?\u0101) ;; LATIN SMALL LETTER A WITH MACRON
+   (#xE1 ?\u00E1) ;; LATIN SMALL LETTER A WITH ACUTE
+   (#xE2 ?\u00E2) ;; LATIN SMALL LETTER A WITH CIRCUMFLEX
+   (#xE3 ?\u00E3) ;; LATIN SMALL LETTER A WITH TILDE
+   (#xE4 ?\u00E4) ;; LATIN SMALL LETTER A WITH DIAERESIS
+   (#xE5 ?\u00E5) ;; LATIN SMALL LETTER A WITH RING ABOVE
+   (#xE6 ?\u00E6) ;; LATIN SMALL LETTER AE
    (#xE7 ?\u012F) ;; LATIN SMALL LETTER I WITH OGONEK
    (#xE8 ?\u010D) ;; LATIN SMALL LETTER C WITH CARON
+   (#xE9 ?\u00E9) ;; LATIN SMALL LETTER E WITH ACUTE
    (#xEA ?\u0119) ;; LATIN SMALL LETTER E WITH OGONEK
+   (#xEB ?\u00EB) ;; LATIN SMALL LETTER E WITH DIAERESIS
    (#xEC ?\u0117) ;; LATIN SMALL LETTER E WITH DOT ABOVE
+   (#xED ?\u00ED) ;; LATIN SMALL LETTER I WITH ACUTE
+   (#xEE ?\u00EE) ;; LATIN SMALL LETTER I WITH CIRCUMFLEX
    (#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
+   (#xF4 ?\u00F4) ;; LATIN SMALL LETTER O WITH CIRCUMFLEX
+   (#xF5 ?\u00F5) ;; LATIN SMALL LETTER O WITH TILDE
+   (#xF6 ?\u00F6) ;; LATIN SMALL LETTER O WITH DIAERESIS
+   (#xF7 ?\u00F7) ;; DIVISION SIGN
+   (#xF8 ?\u00F8) ;; LATIN SMALL LETTER O WITH STROKE
    (#xF9 ?\u0173) ;; LATIN SMALL LETTER U WITH OGONEK
+   (#xFA ?\u00FA) ;; LATIN SMALL LETTER U WITH ACUTE
+   (#xFB ?\u00FB) ;; LATIN SMALL LETTER U WITH CIRCUMFLEX
+   (#xFC ?\u00FC) ;; LATIN SMALL LETTER U WITH DIAERESIS
    (#xFD ?\u0169) ;; LATIN SMALL LETTER U WITH TILDE
    (#xFE ?\u016B) ;; LATIN SMALL LETTER U WITH MACRON
    (#xFF ?\u02D9));; DOT ABOVE
@@ -633,15 +875,53 @@
 
 (make-8-bit-coding-system
  'iso-8859-14
- '((#xA1 ?\u1E02) ;; LATIN CAPITAL LETTER B WITH DOT ABOVE
+ '((#x80 ?\u0080) ;; <control>
+   (#x81 ?\u0081) ;; <control>
+   (#x82 ?\u0082) ;; <control>
+   (#x83 ?\u0083) ;; <control>
+   (#x84 ?\u0084) ;; <control>
+   (#x85 ?\u0085) ;; <control>
+   (#x86 ?\u0086) ;; <control>
+   (#x87 ?\u0087) ;; <control>
+   (#x88 ?\u0088) ;; <control>
+   (#x89 ?\u0089) ;; <control>
+   (#x8A ?\u008A) ;; <control>
+   (#x8B ?\u008B) ;; <control>
+   (#x8C ?\u008C) ;; <control>
+   (#x8D ?\u008D) ;; <control>
+   (#x8E ?\u008E) ;; <control>
+   (#x8F ?\u008F) ;; <control>
+   (#x90 ?\u0090) ;; <control>
+   (#x91 ?\u0091) ;; <control>
+   (#x92 ?\u0092) ;; <control>
+   (#x93 ?\u0093) ;; <control>
+   (#x94 ?\u0094) ;; <control>
+   (#x95 ?\u0095) ;; <control>
+   (#x96 ?\u0096) ;; <control>
+   (#x97 ?\u0097) ;; <control>
+   (#x98 ?\u0098) ;; <control>
+   (#x99 ?\u0099) ;; <control>
+   (#x9A ?\u009A) ;; <control>
+   (#x9B ?\u009B) ;; <control>
+   (#x9C ?\u009C) ;; <control>
+   (#x9D ?\u009D) ;; <control>
+   (#x9E ?\u009E) ;; <control>
+   (#x9F ?\u009F) ;; <control>
+   (#xA0 ?\u00A0) ;; NO-BREAK SPACE
+   (#xA1 ?\u1E02) ;; LATIN CAPITAL LETTER B WITH DOT ABOVE
    (#xA2 ?\u1E03) ;; LATIN SMALL LETTER B WITH DOT ABOVE
+   (#xA3 ?\u00A3) ;; POUND SIGN
    (#xA4 ?\u010A) ;; LATIN CAPITAL LETTER C WITH DOT ABOVE
    (#xA5 ?\u010B) ;; LATIN SMALL LETTER C WITH DOT ABOVE
    (#xA6 ?\u1E0A) ;; LATIN CAPITAL LETTER D WITH DOT ABOVE
+   (#xA7 ?\u00A7) ;; SECTION SIGN
    (#xA8 ?\u1E80) ;; LATIN CAPITAL LETTER W WITH GRAVE
+   (#xA9 ?\u00A9) ;; COPYRIGHT SIGN
    (#xAA ?\u1E82) ;; LATIN CAPITAL LETTER W WITH ACUTE
    (#xAB ?\u1E0B) ;; LATIN SMALL LETTER D WITH DOT ABOVE
    (#xAC ?\u1EF2) ;; LATIN CAPITAL LETTER Y WITH GRAVE
+   (#xAD ?\u00AD) ;; SOFT HYPHEN
+   (#xAE ?\u00AE) ;; REGISTERED SIGN
    (#xAF ?\u0178) ;; LATIN CAPITAL LETTER Y WITH DIAERESIS
    (#xB0 ?\u1E1E) ;; LATIN CAPITAL LETTER F WITH DOT ABOVE
    (#xB1 ?\u1E1F) ;; LATIN SMALL LETTER F WITH DOT ABOVE
@@ -649,6 +929,7 @@
    (#xB3 ?\u0121) ;; LATIN SMALL LETTER G WITH DOT ABOVE
    (#xB4 ?\u1E40) ;; LATIN CAPITAL LETTER M WITH DOT ABOVE
    (#xB5 ?\u1E41) ;; LATIN SMALL LETTER M WITH DOT ABOVE
+   (#xB6 ?\u00B6) ;; PILCROW SIGN
    (#xB7 ?\u1E56) ;; LATIN CAPITAL LETTER P WITH DOT ABOVE
    (#xB8 ?\u1E81) ;; LATIN SMALL LETTER W WITH GRAVE
    (#xB9 ?\u1E57) ;; LATIN SMALL LETTER P WITH DOT ABOVE
@@ -658,12 +939,70 @@
    (#xBD ?\u1E84) ;; LATIN CAPITAL LETTER W WITH DIAERESIS
    (#xBE ?\u1E85) ;; LATIN SMALL LETTER W WITH DIAERESIS
    (#xBF ?\u1E61) ;; LATIN SMALL LETTER S WITH DOT ABOVE
+   (#xC0 ?\u00C0) ;; LATIN CAPITAL LETTER A WITH GRAVE
+   (#xC1 ?\u00C1) ;; LATIN CAPITAL LETTER A WITH ACUTE
+   (#xC2 ?\u00C2) ;; LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+   (#xC3 ?\u00C3) ;; LATIN CAPITAL LETTER A WITH TILDE
+   (#xC4 ?\u00C4) ;; LATIN CAPITAL LETTER A WITH DIAERESIS
+   (#xC5 ?\u00C5) ;; LATIN CAPITAL LETTER A WITH RING ABOVE
+   (#xC6 ?\u00C6) ;; LATIN CAPITAL LETTER AE
+   (#xC7 ?\u00C7) ;; LATIN CAPITAL LETTER C WITH CEDILLA
+   (#xC8 ?\u00C8) ;; LATIN CAPITAL LETTER E WITH GRAVE
+   (#xC9 ?\u00C9) ;; LATIN CAPITAL LETTER E WITH ACUTE
+   (#xCA ?\u00CA) ;; LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+   (#xCB ?\u00CB) ;; LATIN CAPITAL LETTER E WITH DIAERESIS
+   (#xCC ?\u00CC) ;; LATIN CAPITAL LETTER I WITH GRAVE
+   (#xCD ?\u00CD) ;; LATIN CAPITAL LETTER I WITH ACUTE
+   (#xCE ?\u00CE) ;; LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+   (#xCF ?\u00CF) ;; LATIN CAPITAL LETTER I WITH DIAERESIS
    (#xD0 ?\u0174) ;; LATIN CAPITAL LETTER W WITH CIRCUMFLEX
+   (#xD1 ?\u00D1) ;; LATIN CAPITAL LETTER N WITH TILDE
+   (#xD2 ?\u00D2) ;; LATIN CAPITAL LETTER O WITH GRAVE
+   (#xD3 ?\u00D3) ;; LATIN CAPITAL LETTER O WITH ACUTE
+   (#xD4 ?\u00D4) ;; LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+   (#xD5 ?\u00D5) ;; LATIN CAPITAL LETTER O WITH TILDE
+   (#xD6 ?\u00D6) ;; LATIN CAPITAL LETTER O WITH DIAERESIS
    (#xD7 ?\u1E6A) ;; LATIN CAPITAL LETTER T WITH DOT ABOVE
+   (#xD8 ?\u00D8) ;; LATIN CAPITAL LETTER O WITH STROKE
+   (#xD9 ?\u00D9) ;; LATIN CAPITAL LETTER U WITH GRAVE
+   (#xDA ?\u00DA) ;; LATIN CAPITAL LETTER U WITH ACUTE
+   (#xDB ?\u00DB) ;; LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+   (#xDC ?\u00DC) ;; LATIN CAPITAL LETTER U WITH DIAERESIS
+   (#xDD ?\u00DD) ;; LATIN CAPITAL LETTER Y WITH ACUTE
    (#xDE ?\u0176) ;; LATIN CAPITAL LETTER Y WITH CIRCUMFLEX
+   (#xDF ?\u00DF) ;; LATIN SMALL LETTER SHARP S
+   (#xE0 ?\u00E0) ;; LATIN SMALL LETTER A WITH GRAVE
+   (#xE1 ?\u00E1) ;; LATIN SMALL LETTER A WITH ACUTE
+   (#xE2 ?\u00E2) ;; LATIN SMALL LETTER A WITH CIRCUMFLEX
+   (#xE3 ?\u00E3) ;; LATIN SMALL LETTER A WITH TILDE
+   (#xE4 ?\u00E4) ;; LATIN SMALL LETTER A WITH DIAERESIS
+   (#xE5 ?\u00E5) ;; LATIN SMALL LETTER A WITH RING ABOVE
+   (#xE6 ?\u00E6) ;; LATIN SMALL LETTER AE
+   (#xE7 ?\u00E7) ;; LATIN SMALL LETTER C WITH CEDILLA
+   (#xE8 ?\u00E8) ;; LATIN SMALL LETTER E WITH GRAVE
+   (#xE9 ?\u00E9) ;; LATIN SMALL LETTER E WITH ACUTE
+   (#xEA ?\u00EA) ;; LATIN SMALL LETTER E WITH CIRCUMFLEX
+   (#xEB ?\u00EB) ;; LATIN SMALL LETTER E WITH DIAERESIS
+   (#xEC ?\u00EC) ;; LATIN SMALL LETTER I WITH GRAVE
+   (#xED ?\u00ED) ;; LATIN SMALL LETTER I WITH ACUTE
+   (#xEE ?\u00EE) ;; LATIN SMALL LETTER I WITH CIRCUMFLEX
+   (#xEF ?\u00EF) ;; LATIN SMALL LETTER I WITH DIAERESIS
    (#xF0 ?\u0175) ;; LATIN SMALL LETTER W WITH CIRCUMFLEX
+   (#xF1 ?\u00F1) ;; LATIN SMALL LETTER N WITH TILDE
+   (#xF2 ?\u00F2) ;; LATIN SMALL LETTER O WITH GRAVE
+   (#xF3 ?\u00F3) ;; LATIN SMALL LETTER O WITH ACUTE
+   (#xF4 ?\u00F4) ;; LATIN SMALL LETTER O WITH CIRCUMFLEX
+   (#xF5 ?\u00F5) ;; LATIN SMALL LETTER O WITH TILDE
+   (#xF6 ?\u00F6) ;; LATIN SMALL LETTER O WITH DIAERESIS
    (#xF7 ?\u1E6B) ;; LATIN SMALL LETTER T WITH DOT ABOVE
-   (#xFE ?\u0177)) ;; LATIN SMALL LETTER Y WITH CIRCUMFLEX
+   (#xF8 ?\u00F8) ;; LATIN SMALL LETTER O WITH STROKE
+   (#xF9 ?\u00F9) ;; LATIN SMALL LETTER U WITH GRAVE
+   (#xFA ?\u00FA) ;; LATIN SMALL LETTER U WITH ACUTE
+   (#xFB ?\u00FB) ;; LATIN SMALL LETTER U WITH CIRCUMFLEX
+   (#xFC ?\u00FC) ;; LATIN SMALL LETTER U WITH DIAERESIS
+   (#xFD ?\u00FD) ;; LATIN SMALL LETTER Y WITH ACUTE
+   (#xFE ?\u0177) ;; LATIN SMALL LETTER Y WITH CIRCUMFLEX
+   (#xFF ?\u00FF)) ;; LATIN SMALL LETTER Y WITH DIAERESIS
  "ISO-8859-14 (Latin-8)"
  '(mnemonic "Latin 8"
    aliases (iso-latin-8 latin-8)))
@@ -742,14 +1081,134 @@
 
 (make-8-bit-coding-system
  'iso-8859-15 
- '((#xA4 ?\u20AC) ;; EURO SIGN
+ '((#x80 ?\u0080) ;; <control>
+   (#x81 ?\u0081) ;; <control>
+   (#x82 ?\u0082) ;; <control>
+   (#x83 ?\u0083) ;; <control>
+   (#x84 ?\u0084) ;; <control>
+   (#x85 ?\u0085) ;; <control>
+   (#x86 ?\u0086) ;; <control>
+   (#x87 ?\u0087) ;; <control>
+   (#x88 ?\u0088) ;; <control>
+   (#x89 ?\u0089) ;; <control>
+   (#x8A ?\u008A) ;; <control>
+   (#x8B ?\u008B) ;; <control>
+   (#x8C ?\u008C) ;; <control>
+   (#x8D ?\u008D) ;; <control>
+   (#x8E ?\u008E) ;; <control>
+   (#x8F ?\u008F) ;; <control>
+   (#x90 ?\u0090) ;; <control>
+   (#x91 ?\u0091) ;; <control>
+   (#x92 ?\u0092) ;; <control>
+   (#x93 ?\u0093) ;; <control>
+   (#x94 ?\u0094) ;; <control>
+   (#x95 ?\u0095) ;; <control>
+   (#x96 ?\u0096) ;; <control>
+   (#x97 ?\u0097) ;; <control>
+   (#x98 ?\u0098) ;; <control>
+   (#x99 ?\u0099) ;; <control>
+   (#x9A ?\u009A) ;; <control>
+   (#x9B ?\u009B) ;; <control>
+   (#x9C ?\u009C) ;; <control>
+   (#x9D ?\u009D) ;; <control>
+   (#x9E ?\u009E) ;; <control>
+   (#x9F ?\u009F) ;; <control>
+   (#xA0 ?\u00A0) ;; NO-BREAK SPACE
+   (#xA1 ?\u00A1) ;; INVERTED EXCLAMATION MARK
+   (#xA2 ?\u00A2) ;; CENT SIGN
+   (#xA3 ?\u00A3) ;; POUND SIGN
+   (#xA4 ?\u20AC) ;; EURO SIGN
+   (#xA5 ?\u00A5) ;; YEN SIGN
    (#xA6 ?\u0160) ;; LATIN CAPITAL LETTER S WITH CARON
+   (#xA7 ?\u00A7) ;; SECTION SIGN
    (#xA8 ?\u0161) ;; LATIN SMALL LETTER S WITH CARON
+   (#xA9 ?\u00A9) ;; COPYRIGHT SIGN
+   (#xAA ?\u00AA) ;; FEMININE ORDINAL INDICATOR
+   (#xAB ?\u00AB) ;; LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+   (#xAC ?\u00AC) ;; NOT SIGN
+   (#xAD ?\u00AD) ;; SOFT HYPHEN
+   (#xAE ?\u00AE) ;; REGISTERED SIGN
+   (#xAF ?\u00AF) ;; MACRON
+   (#xB0 ?\u00B0) ;; DEGREE SIGN
+   (#xB1 ?\u00B1) ;; PLUS-MINUS SIGN
+   (#xB2 ?\u00B2) ;; SUPERSCRIPT TWO
+   (#xB3 ?\u00B3) ;; SUPERSCRIPT THREE
    (#xB4 ?\u017D) ;; LATIN CAPITAL LETTER Z WITH CARON
+   (#xB5 ?\u00B5) ;; MICRO SIGN
+   (#xB6 ?\u00B6) ;; PILCROW SIGN
+   (#xB7 ?\u00B7) ;; MIDDLE DOT
    (#xB8 ?\u017E) ;; LATIN SMALL LETTER Z WITH CARON
+   (#xB9 ?\u00B9) ;; SUPERSCRIPT ONE
+   (#xBA ?\u00BA) ;; MASCULINE ORDINAL INDICATOR
+   (#xBB ?\u00BB) ;; RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
    (#xBC ?\u0152) ;; LATIN CAPITAL LIGATURE OE
    (#xBD ?\u0153) ;; LATIN SMALL LIGATURE OE
-   (#xBE ?\u0178)) ;; LATIN CAPITAL LETTER Y WITH DIAERESIS
+   (#xBE ?\u0178) ;; LATIN CAPITAL LETTER Y WITH DIAERESIS
+   (#xBF ?\u00BF) ;; INVERTED QUESTION MARK
+   (#xC0 ?\u00C0) ;; LATIN CAPITAL LETTER A WITH GRAVE
+   (#xC1 ?\u00C1) ;; LATIN CAPITAL LETTER A WITH ACUTE
+   (#xC2 ?\u00C2) ;; LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+   (#xC3 ?\u00C3) ;; LATIN CAPITAL LETTER A WITH TILDE
+   (#xC4 ?\u00C4) ;; LATIN CAPITAL LETTER A WITH DIAERESIS
+   (#xC5 ?\u00C5) ;; LATIN CAPITAL LETTER A WITH RING ABOVE
+   (#xC6 ?\u00C6) ;; LATIN CAPITAL LETTER AE
+   (#xC7 ?\u00C7) ;; LATIN CAPITAL LETTER C WITH CEDILLA
+   (#xC8 ?\u00C8) ;; LATIN CAPITAL LETTER E WITH GRAVE
+   (#xC9 ?\u00C9) ;; LATIN CAPITAL LETTER E WITH ACUTE
+   (#xCA ?\u00CA) ;; LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+   (#xCB ?\u00CB) ;; LATIN CAPITAL LETTER E WITH DIAERESIS
+   (#xCC ?\u00CC) ;; LATIN CAPITAL LETTER I WITH GRAVE
+   (#xCD ?\u00CD) ;; LATIN CAPITAL LETTER I WITH ACUTE
+   (#xCE ?\u00CE) ;; LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+   (#xCF ?\u00CF) ;; LATIN CAPITAL LETTER I WITH DIAERESIS
+   (#xD0 ?\u00D0) ;; LATIN CAPITAL LETTER ETH
+   (#xD1 ?\u00D1) ;; LATIN CAPITAL LETTER N WITH TILDE
+   (#xD2 ?\u00D2) ;; LATIN CAPITAL LETTER O WITH GRAVE
+   (#xD3 ?\u00D3) ;; LATIN CAPITAL LETTER O WITH ACUTE
+   (#xD4 ?\u00D4) ;; LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+   (#xD5 ?\u00D5) ;; LATIN CAPITAL LETTER O WITH TILDE
+   (#xD6 ?\u00D6) ;; LATIN CAPITAL LETTER O WITH DIAERESIS
+   (#xD7 ?\u00D7) ;; MULTIPLICATION SIGN
+   (#xD8 ?\u00D8) ;; LATIN CAPITAL LETTER O WITH STROKE
+   (#xD9 ?\u00D9) ;; LATIN CAPITAL LETTER U WITH GRAVE
+   (#xDA ?\u00DA) ;; LATIN CAPITAL LETTER U WITH ACUTE
+   (#xDB ?\u00DB) ;; LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+   (#xDC ?\u00DC) ;; LATIN CAPITAL LETTER U WITH DIAERESIS
+   (#xDD ?\u00DD) ;; LATIN CAPITAL LETTER Y WITH ACUTE
+   (#xDE ?\u00DE) ;; LATIN CAPITAL LETTER THORN
+   (#xDF ?\u00DF) ;; LATIN SMALL LETTER SHARP S
+   (#xE0 ?\u00E0) ;; LATIN SMALL LETTER A WITH GRAVE
+   (#xE1 ?\u00E1) ;; LATIN SMALL LETTER A WITH ACUTE
+   (#xE2 ?\u00E2) ;; LATIN SMALL LETTER A WITH CIRCUMFLEX
+   (#xE3 ?\u00E3) ;; LATIN SMALL LETTER A WITH TILDE
+   (#xE4 ?\u00E4) ;; LATIN SMALL LETTER A WITH DIAERESIS
+   (#xE5 ?\u00E5) ;; LATIN SMALL LETTER A WITH RING ABOVE
+   (#xE6 ?\u00E6) ;; LATIN SMALL LETTER AE
+   (#xE7 ?\u00E7) ;; LATIN SMALL LETTER C WITH CEDILLA
+   (#xE8 ?\u00E8) ;; LATIN SMALL LETTER E WITH GRAVE
+   (#xE9 ?\u00E9) ;; LATIN SMALL LETTER E WITH ACUTE
+   (#xEA ?\u00EA) ;; LATIN SMALL LETTER E WITH CIRCUMFLEX
+   (#xEB ?\u00EB) ;; LATIN SMALL LETTER E WITH DIAERESIS
+   (#xEC ?\u00EC) ;; LATIN SMALL LETTER I WITH GRAVE
+   (#xED ?\u00ED) ;; LATIN SMALL LETTER I WITH ACUTE
+   (#xEE ?\u00EE) ;; LATIN SMALL LETTER I WITH CIRCUMFLEX
+   (#xEF ?\u00EF) ;; LATIN SMALL LETTER I WITH DIAERESIS
+   (#xF0 ?\u00F0) ;; LATIN SMALL LETTER ETH
+   (#xF1 ?\u00F1) ;; LATIN SMALL LETTER N WITH TILDE
+   (#xF2 ?\u00F2) ;; LATIN SMALL LETTER O WITH GRAVE
+   (#xF3 ?\u00F3) ;; LATIN SMALL LETTER O WITH ACUTE
+   (#xF4 ?\u00F4) ;; LATIN SMALL LETTER O WITH CIRCUMFLEX
+   (#xF5 ?\u00F5) ;; LATIN SMALL LETTER O WITH TILDE
+   (#xF6 ?\u00F6) ;; LATIN SMALL LETTER O WITH DIAERESIS
+   (#xF7 ?\u00F7) ;; DIVISION SIGN
+   (#xF8 ?\u00F8) ;; LATIN SMALL LETTER O WITH STROKE
+   (#xF9 ?\u00F9) ;; LATIN SMALL LETTER U WITH GRAVE
+   (#xFA ?\u00FA) ;; LATIN SMALL LETTER U WITH ACUTE
+   (#xFB ?\u00FB) ;; LATIN SMALL LETTER U WITH CIRCUMFLEX
+   (#xFC ?\u00FC) ;; LATIN SMALL LETTER U WITH DIAERESIS
+   (#xFD ?\u00FD) ;; LATIN SMALL LETTER Y WITH ACUTE
+   (#xFE ?\u00FE) ;; LATIN SMALL LETTER THORN
+   (#xFF ?\u00FF)) ;; LATIN SMALL 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)))
@@ -852,46 +1311,134 @@
 ;; Add a coding system for ISO 8859-16.
 (make-8-bit-coding-system
  'iso-8859-16
- '((#xA1 ?\u0104) ;; LATIN CAPITAL LETTER A WITH OGONEK
+ '((#x80 ?\u0080) ;; <control>
+   (#x81 ?\u0081) ;; <control>
+   (#x82 ?\u0082) ;; <control>
+   (#x83 ?\u0083) ;; <control>
+   (#x84 ?\u0084) ;; <control>
+   (#x85 ?\u0085) ;; <control>
+   (#x86 ?\u0086) ;; <control>
+   (#x87 ?\u0087) ;; <control>
+   (#x88 ?\u0088) ;; <control>
+   (#x89 ?\u0089) ;; <control>
+   (#x8A ?\u008A) ;; <control>
+   (#x8B ?\u008B) ;; <control>
+   (#x8C ?\u008C) ;; <control>
+   (#x8D ?\u008D) ;; <control>
+   (#x8E ?\u008E) ;; <control>
+   (#x8F ?\u008F) ;; <control>
+   (#x90 ?\u0090) ;; <control>
+   (#x91 ?\u0091) ;; <control>
+   (#x92 ?\u0092) ;; <control>
+   (#x93 ?\u0093) ;; <control>
+   (#x94 ?\u0094) ;; <control>
+   (#x95 ?\u0095) ;; <control>
+   (#x96 ?\u0096) ;; <control>
+   (#x97 ?\u0097) ;; <control>
+   (#x98 ?\u0098) ;; <control>
+   (#x99 ?\u0099) ;; <control>
+   (#x9A ?\u009A) ;; <control>
+   (#x9B ?\u009B) ;; <control>
+   (#x9C ?\u009C) ;; <control>
+   (#x9D ?\u009D) ;; <control>
+   (#x9E ?\u009E) ;; <control>
+   (#x9F ?\u009F) ;; <control>
+   (#xA0 ?\u00A0) ;; NO-BREAK SPACE
+   (#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
+   (#xA7 ?\u00A7) ;; SECTION SIGN
    (#xA8 ?\u0161) ;; LATIN SMALL LETTER S WITH CARON
+   (#xA9 ?\u00A9) ;; COPYRIGHT SIGN
    (#xAA ?\u0218) ;; LATIN CAPITAL LETTER S WITH COMMA BELOW
+   (#xAB ?\u00AB) ;; LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
    (#xAC ?\u0179) ;; LATIN CAPITAL LETTER Z WITH ACUTE
+   (#xAD ?\u00AD) ;; SOFT HYPHEN
    (#xAE ?\u017A) ;; LATIN SMALL LETTER Z WITH ACUTE
    (#xAF ?\u017B) ;; LATIN CAPITAL LETTER Z WITH DOT ABOVE
+   (#xB0 ?\u00B0) ;; DEGREE SIGN
+   (#xB1 ?\u00B1) ;; PLUS-MINUS SIGN
    (#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
+   (#xB6 ?\u00B6) ;; PILCROW SIGN
+   (#xB7 ?\u00B7) ;; MIDDLE DOT
    (#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
+   (#xBB ?\u00BB) ;; RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
    (#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
+   (#xC0 ?\u00C0) ;; LATIN CAPITAL LETTER A WITH GRAVE
+   (#xC1 ?\u00C1) ;; LATIN CAPITAL LETTER A WITH ACUTE
+   (#xC2 ?\u00C2) ;; LATIN CAPITAL LETTER A WITH CIRCUMFLEX
    (#xC3 ?\u0102) ;; LATIN CAPITAL LETTER A WITH BREVE
+   (#xC4 ?\u00C4) ;; LATIN CAPITAL LETTER A WITH DIAERESIS
    (#xC5 ?\u0106) ;; LATIN CAPITAL LETTER C WITH ACUTE
+   (#xC6 ?\u00C6) ;; LATIN CAPITAL LETTER AE
+   (#xC7 ?\u00C7) ;; LATIN CAPITAL LETTER C WITH CEDILLA
+   (#xC8 ?\u00C8) ;; LATIN CAPITAL LETTER E WITH GRAVE
+   (#xC9 ?\u00C9) ;; LATIN CAPITAL LETTER E WITH ACUTE
+   (#xCA ?\u00CA) ;; LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+   (#xCB ?\u00CB) ;; LATIN CAPITAL LETTER E WITH DIAERESIS
+   (#xCC ?\u00CC) ;; LATIN CAPITAL LETTER I WITH GRAVE
+   (#xCD ?\u00CD) ;; LATIN CAPITAL LETTER I WITH ACUTE
+   (#xCE ?\u00CE) ;; LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+   (#xCF ?\u00CF) ;; LATIN CAPITAL LETTER I WITH DIAERESIS
    (#xD0 ?\u0110) ;; LATIN CAPITAL LETTER D WITH STROKE
    (#xD1 ?\u0143) ;; LATIN CAPITAL LETTER N WITH ACUTE
+   (#xD2 ?\u00D2) ;; LATIN CAPITAL LETTER O WITH GRAVE
+   (#xD3 ?\u00D3) ;; LATIN CAPITAL LETTER O WITH ACUTE
+   (#xD4 ?\u00D4) ;; LATIN CAPITAL LETTER O WITH CIRCUMFLEX
    (#xD5 ?\u0150) ;; LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+   (#xD6 ?\u00D6) ;; LATIN CAPITAL LETTER O WITH DIAERESIS
    (#xD7 ?\u015A) ;; LATIN CAPITAL LETTER S WITH ACUTE
    (#xD8 ?\u0170) ;; LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+   (#xD9 ?\u00D9) ;; LATIN CAPITAL LETTER U WITH GRAVE
+   (#xDA ?\u00DA) ;; LATIN CAPITAL LETTER U WITH ACUTE
+   (#xDB ?\u00DB) ;; LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+   (#xDC ?\u00DC) ;; LATIN CAPITAL LETTER U WITH DIAERESIS
    (#xDD ?\u0118) ;; LATIN CAPITAL LETTER E WITH OGONEK
    (#xDE ?\u021A) ;; LATIN CAPITAL LETTER T WITH COMMA BELOW
+   (#xDF ?\u00DF) ;; LATIN SMALL LETTER SHARP S
+   (#xE0 ?\u00E0) ;; LATIN SMALL LETTER A WITH GRAVE
+   (#xE1 ?\u00E1) ;; LATIN SMALL LETTER A WITH ACUTE
+   (#xE2 ?\u00E2) ;; LATIN SMALL LETTER A WITH CIRCUMFLEX
    (#xE3 ?\u0103) ;; LATIN SMALL LETTER A WITH BREVE
+   (#xE4 ?\u00E4) ;; LATIN SMALL LETTER A WITH DIAERESIS
    (#xE5 ?\u0107) ;; LATIN SMALL LETTER C WITH ACUTE
+   (#xE6 ?\u00E6) ;; LATIN SMALL LETTER AE
+   (#xE7 ?\u00E7) ;; LATIN SMALL LETTER C WITH CEDILLA
+   (#xE8 ?\u00E8) ;; LATIN SMALL LETTER E WITH GRAVE
+   (#xE9 ?\u00E9) ;; LATIN SMALL LETTER E WITH ACUTE
+   (#xEA ?\u00EA) ;; LATIN SMALL LETTER E WITH CIRCUMFLEX
+   (#xEB ?\u00EB) ;; LATIN SMALL LETTER E WITH DIAERESIS
+   (#xEC ?\u00EC) ;; LATIN SMALL LETTER I WITH GRAVE
+   (#xED ?\u00ED) ;; LATIN SMALL LETTER I WITH ACUTE
+   (#xEE ?\u00EE) ;; LATIN SMALL LETTER I WITH CIRCUMFLEX
+   (#xEF ?\u00EF) ;; LATIN SMALL LETTER I WITH DIAERESIS
    (#xF0 ?\u0111) ;; LATIN SMALL LETTER D WITH STROKE
    (#xF1 ?\u0144) ;; LATIN SMALL LETTER N WITH ACUTE
+   (#xF2 ?\u00F2) ;; LATIN SMALL LETTER O WITH GRAVE
+   (#xF3 ?\u00F3) ;; LATIN SMALL LETTER O WITH ACUTE
+   (#xF4 ?\u00F4) ;; LATIN SMALL LETTER O WITH CIRCUMFLEX
    (#xF5 ?\u0151) ;; LATIN SMALL LETTER O WITH DOUBLE ACUTE
+   (#xF6 ?\u00F6) ;; LATIN SMALL LETTER O WITH DIAERESIS
    (#xF7 ?\u015B) ;; LATIN SMALL LETTER S WITH ACUTE
    (#xF8 ?\u0171) ;; LATIN SMALL LETTER U WITH DOUBLE ACUTE
+   (#xF9 ?\u00F9) ;; LATIN SMALL LETTER U WITH GRAVE
+   (#xFA ?\u00FA) ;; LATIN SMALL LETTER U WITH ACUTE
+   (#xFB ?\u00FB) ;; LATIN SMALL LETTER U WITH CIRCUMFLEX
+   (#xFC ?\u00FC) ;; LATIN SMALL LETTER U WITH DIAERESIS
    (#xFD ?\u0119) ;; LATIN SMALL LETTER E WITH OGONEK
-   (#xFE ?\u021B)) ;; LATIN SMALL LETTER T WITH COMMA BELOW
+   (#xFE ?\u021B) ;; LATIN SMALL LETTER T WITH COMMA BELOW
+   (#xFF ?\u00FF)) ;; LATIN SMALL LETTER Y WITH DIAERESIS
  "ISO-8859-16 (Latin-10)"
  '(mnemonic "Latin 10"
    aliases (iso-latin-10)))
@@ -972,12 +1519,134 @@
 
 (make-8-bit-coding-system
  'iso-8859-9 
- '((#xD0 ?\u011E) ;; LATIN CAPITAL LETTER G WITH BREVE
+ '((#x80 ?\u0080) ;; <control>
+   (#x81 ?\u0081) ;; <control>
+   (#x82 ?\u0082) ;; <control>
+   (#x83 ?\u0083) ;; <control>
+   (#x84 ?\u0084) ;; <control>
+   (#x85 ?\u0085) ;; <control>
+   (#x86 ?\u0086) ;; <control>
+   (#x87 ?\u0087) ;; <control>
+   (#x88 ?\u0088) ;; <control>
+   (#x89 ?\u0089) ;; <control>
+   (#x8A ?\u008A) ;; <control>
+   (#x8B ?\u008B) ;; <control>
+   (#x8C ?\u008C) ;; <control>
+   (#x8D ?\u008D) ;; <control>
+   (#x8E ?\u008E) ;; <control>
+   (#x8F ?\u008F) ;; <control>
+   (#x90 ?\u0090) ;; <control>
+   (#x91 ?\u0091) ;; <control>
+   (#x92 ?\u0092) ;; <control>
+   (#x93 ?\u0093) ;; <control>
+   (#x94 ?\u0094) ;; <control>
+   (#x95 ?\u0095) ;; <control>
+   (#x96 ?\u0096) ;; <control>
+   (#x97 ?\u0097) ;; <control>
+   (#x98 ?\u0098) ;; <control>
+   (#x99 ?\u0099) ;; <control>
+   (#x9A ?\u009A) ;; <control>
+   (#x9B ?\u009B) ;; <control>
+   (#x9C ?\u009C) ;; <control>
+   (#x9D ?\u009D) ;; <control>
+   (#x9E ?\u009E) ;; <control>
+   (#x9F ?\u009F) ;; <control>
+   (#xA0 ?\u00A0) ;; NO-BREAK SPACE
+   (#xA1 ?\u00A1) ;; INVERTED EXCLAMATION MARK
+   (#xA2 ?\u00A2) ;; CENT SIGN
+   (#xA3 ?\u00A3) ;; POUND SIGN
+   (#xA4 ?\u00A4) ;; CURRENCY SIGN
+   (#xA5 ?\u00A5) ;; YEN SIGN
+   (#xA6 ?\u00A6) ;; BROKEN BAR
+   (#xA7 ?\u00A7) ;; SECTION SIGN
+   (#xA8 ?\u00A8) ;; DIAERESIS
+   (#xA9 ?\u00A9) ;; COPYRIGHT SIGN
+   (#xAA ?\u00AA) ;; FEMININE ORDINAL INDICATOR
+   (#xAB ?\u00AB) ;; LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+   (#xAC ?\u00AC) ;; NOT SIGN
+   (#xAD ?\u00AD) ;; SOFT HYPHEN
+   (#xAE ?\u00AE) ;; REGISTERED SIGN
+   (#xAF ?\u00AF) ;; MACRON
+   (#xB0 ?\u00B0) ;; DEGREE SIGN
+   (#xB1 ?\u00B1) ;; PLUS-MINUS SIGN
+   (#xB2 ?\u00B2) ;; SUPERSCRIPT TWO
+   (#xB3 ?\u00B3) ;; SUPERSCRIPT THREE
+   (#xB4 ?\u00B4) ;; ACUTE ACCENT
+   (#xB5 ?\u00B5) ;; MICRO SIGN
+   (#xB6 ?\u00B6) ;; PILCROW SIGN
+   (#xB7 ?\u00B7) ;; MIDDLE DOT
+   (#xB8 ?\u00B8) ;; CEDILLA
+   (#xB9 ?\u00B9) ;; SUPERSCRIPT ONE
+   (#xBA ?\u00BA) ;; MASCULINE ORDINAL INDICATOR
+   (#xBB ?\u00BB) ;; RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+   (#xBC ?\u00BC) ;; VULGAR FRACTION ONE QUARTER
+   (#xBD ?\u00BD) ;; VULGAR FRACTION ONE HALF
+   (#xBE ?\u00BE) ;; VULGAR FRACTION THREE QUARTERS
+   (#xBF ?\u00BF) ;; INVERTED QUESTION MARK
+   (#xC0 ?\u00C0) ;; LATIN CAPITAL LETTER A WITH GRAVE
+   (#xC1 ?\u00C1) ;; LATIN CAPITAL LETTER A WITH ACUTE
+   (#xC2 ?\u00C2) ;; LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+   (#xC3 ?\u00C3) ;; LATIN CAPITAL LETTER A WITH TILDE
+   (#xC4 ?\u00C4) ;; LATIN CAPITAL LETTER A WITH DIAERESIS
+   (#xC5 ?\u00C5) ;; LATIN CAPITAL LETTER A WITH RING ABOVE
+   (#xC6 ?\u00C6) ;; LATIN CAPITAL LETTER AE
+   (#xC7 ?\u00C7) ;; LATIN CAPITAL LETTER C WITH CEDILLA
+   (#xC8 ?\u00C8) ;; LATIN CAPITAL LETTER E WITH GRAVE
+   (#xC9 ?\u00C9) ;; LATIN CAPITAL LETTER E WITH ACUTE
+   (#xCA ?\u00CA) ;; LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+   (#xCB ?\u00CB) ;; LATIN CAPITAL LETTER E WITH DIAERESIS
+   (#xCC ?\u00CC) ;; LATIN CAPITAL LETTER I WITH GRAVE
+   (#xCD ?\u00CD) ;; LATIN CAPITAL LETTER I WITH ACUTE
+   (#xCE ?\u00CE) ;; LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+   (#xCF ?\u00CF) ;; LATIN CAPITAL LETTER I WITH DIAERESIS
+   (#xD0 ?\u011E) ;; LATIN CAPITAL LETTER G WITH BREVE
+   (#xD1 ?\u00D1) ;; LATIN CAPITAL LETTER N WITH TILDE
+   (#xD2 ?\u00D2) ;; LATIN CAPITAL LETTER O WITH GRAVE
+   (#xD3 ?\u00D3) ;; LATIN CAPITAL LETTER O WITH ACUTE
+   (#xD4 ?\u00D4) ;; LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+   (#xD5 ?\u00D5) ;; LATIN CAPITAL LETTER O WITH TILDE
+   (#xD6 ?\u00D6) ;; LATIN CAPITAL LETTER O WITH DIAERESIS
+   (#xD7 ?\u00D7) ;; MULTIPLICATION SIGN
+   (#xD8 ?\u00D8) ;; LATIN CAPITAL LETTER O WITH STROKE
+   (#xD9 ?\u00D9) ;; LATIN CAPITAL LETTER U WITH GRAVE
+   (#xDA ?\u00DA) ;; LATIN CAPITAL LETTER U WITH ACUTE
+   (#xDB ?\u00DB) ;; LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+   (#xDC ?\u00DC) ;; LATIN CAPITAL LETTER U WITH DIAERESIS
    (#xDD ?\u0130) ;; LATIN CAPITAL LETTER I WITH DOT ABOVE
    (#xDE ?\u015E) ;; LATIN CAPITAL LETTER S WITH CEDILLA
+   (#xDF ?\u00DF) ;; LATIN SMALL LETTER SHARP S
+   (#xE0 ?\u00E0) ;; LATIN SMALL LETTER A WITH GRAVE
+   (#xE1 ?\u00E1) ;; LATIN SMALL LETTER A WITH ACUTE
+   (#xE2 ?\u00E2) ;; LATIN SMALL LETTER A WITH CIRCUMFLEX
+   (#xE3 ?\u00E3) ;; LATIN SMALL LETTER A WITH TILDE
+   (#xE4 ?\u00E4) ;; LATIN SMALL LETTER A WITH DIAERESIS
+   (#xE5 ?\u00E5) ;; LATIN SMALL LETTER A WITH RING ABOVE
+   (#xE6 ?\u00E6) ;; LATIN SMALL LETTER AE
+   (#xE7 ?\u00E7) ;; LATIN SMALL LETTER C WITH CEDILLA
+   (#xE8 ?\u00E8) ;; LATIN SMALL LETTER E WITH GRAVE
+   (#xE9 ?\u00E9) ;; LATIN SMALL LETTER E WITH ACUTE
+   (#xEA ?\u00EA) ;; LATIN SMALL LETTER E WITH CIRCUMFLEX
+   (#xEB ?\u00EB) ;; LATIN SMALL LETTER E WITH DIAERESIS
+   (#xEC ?\u00EC) ;; LATIN SMALL LETTER I WITH GRAVE
+   (#xED ?\u00ED) ;; LATIN SMALL LETTER I WITH ACUTE
+   (#xEE ?\u00EE) ;; LATIN SMALL LETTER I WITH CIRCUMFLEX
+   (#xEF ?\u00EF) ;; LATIN SMALL LETTER I WITH DIAERESIS
    (#xF0 ?\u011F) ;; LATIN SMALL LETTER G WITH BREVE
+   (#xF1 ?\u00F1) ;; LATIN SMALL LETTER N WITH TILDE
+   (#xF2 ?\u00F2) ;; LATIN SMALL LETTER O WITH GRAVE
+   (#xF3 ?\u00F3) ;; LATIN SMALL LETTER O WITH ACUTE
+   (#xF4 ?\u00F4) ;; LATIN SMALL LETTER O WITH CIRCUMFLEX
+   (#xF5 ?\u00F5) ;; LATIN SMALL LETTER O WITH TILDE
+   (#xF6 ?\u00F6) ;; LATIN SMALL LETTER O WITH DIAERESIS
+   (#xF7 ?\u00F7) ;; DIVISION SIGN
+   (#xF8 ?\u00F8) ;; LATIN SMALL LETTER O WITH STROKE
+   (#xF9 ?\u00F9) ;; LATIN SMALL LETTER U WITH GRAVE
+   (#xFA ?\u00FA) ;; LATIN SMALL LETTER U WITH ACUTE
+   (#xFB ?\u00FB) ;; LATIN SMALL LETTER U WITH CIRCUMFLEX
+   (#xFC ?\u00FC) ;; LATIN SMALL LETTER U WITH DIAERESIS
    (#xFD ?\u0131) ;; LATIN SMALL LETTER DOTLESS I
-   (#xFE ?\u015F)) ;; LATIN SMALL LETTER S WITH CEDILLA
+   (#xFE ?\u015F) ;; LATIN SMALL LETTER S WITH CEDILLA
+   (#xFF ?\u00FF)) ;; LATIN SMALL LETTER Y WITH DIAERESIS
  "ISO-8859-9 (Latin-5)"
  '(mnemonic "Latin 5"
    aliases (iso-latin-5 latin-5)))
@@ -1270,7 +1939,103 @@
    (#x9B ?\u203A) ;; SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
    (#x9C ?\u0153) ;; LATIN SMALL LIGATURE OE
    (#x9E ?\u017E) ;; LATIN SMALL LETTER Z WITH CARON
-   (#x9F ?\u0178));; LATIN CAPITAL LETTER Y WITH DIAERESIS
+   (#x9F ?\u0178) ;; LATIN CAPITAL LETTER Y WITH DIAERESIS
+   (#xA0 ?\u00A0) ;; NO-BREAK SPACE
+   (#xA1 ?\u00A1) ;; INVERTED EXCLAMATION MARK
+   (#xA2 ?\u00A2) ;; CENT SIGN
+   (#xA3 ?\u00A3) ;; POUND SIGN
+   (#xA4 ?\u00A4) ;; CURRENCY SIGN
+   (#xA5 ?\u00A5) ;; YEN SIGN
+   (#xA6 ?\u00A6) ;; BROKEN BAR
+   (#xA7 ?\u00A7) ;; SECTION SIGN
+   (#xA8 ?\u00A8) ;; DIAERESIS
+   (#xA9 ?\u00A9) ;; COPYRIGHT SIGN
+   (#xAA ?\u00AA) ;; FEMININE ORDINAL INDICATOR
+   (#xAB ?\u00AB) ;; LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+   (#xAC ?\u00AC) ;; NOT SIGN
+   (#xAD ?\u00AD) ;; SOFT HYPHEN
+   (#xAE ?\u00AE) ;; REGISTERED SIGN
+   (#xAF ?\u00AF) ;; MACRON
+   (#xB0 ?\u00B0) ;; DEGREE SIGN
+   (#xB1 ?\u00B1) ;; PLUS-MINUS SIGN
+   (#xB2 ?\u00B2) ;; SUPERSCRIPT TWO
+   (#xB3 ?\u00B3) ;; SUPERSCRIPT THREE
+   (#xB4 ?\u00B4) ;; ACUTE ACCENT
+   (#xB5 ?\u00B5) ;; MICRO SIGN
+   (#xB6 ?\u00B6) ;; PILCROW SIGN
+   (#xB7 ?\u00B7) ;; MIDDLE DOT
+   (#xB8 ?\u00B8) ;; CEDILLA
+   (#xB9 ?\u00B9) ;; SUPERSCRIPT ONE
+   (#xBA ?\u00BA) ;; MASCULINE ORDINAL INDICATOR
+   (#xBB ?\u00BB) ;; RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+   (#xBC ?\u00BC) ;; VULGAR FRACTION ONE QUARTER
+   (#xBD ?\u00BD) ;; VULGAR FRACTION ONE HALF
+   (#xBE ?\u00BE) ;; VULGAR FRACTION THREE QUARTERS
+   (#xBF ?\u00BF) ;; INVERTED QUESTION MARK
+   (#xC0 ?\u00C0) ;; LATIN CAPITAL LETTER A WITH GRAVE
+   (#xC1 ?\u00C1) ;; LATIN CAPITAL LETTER A WITH ACUTE
+   (#xC2 ?\u00C2) ;; LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+   (#xC3 ?\u00C3) ;; LATIN CAPITAL LETTER A WITH TILDE
+   (#xC4 ?\u00C4) ;; LATIN CAPITAL LETTER A WITH DIAERESIS
+   (#xC5 ?\u00C5) ;; LATIN CAPITAL LETTER A WITH RING ABOVE
+   (#xC6 ?\u00C6) ;; LATIN CAPITAL LETTER AE
+   (#xC7 ?\u00C7) ;; LATIN CAPITAL LETTER C WITH CEDILLA
+   (#xC8 ?\u00C8) ;; LATIN CAPITAL LETTER E WITH GRAVE
+   (#xC9 ?\u00C9) ;; LATIN CAPITAL LETTER E WITH ACUTE
+   (#xCA ?\u00CA) ;; LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+   (#xCB ?\u00CB) ;; LATIN CAPITAL LETTER E WITH DIAERESIS
+   (#xCC ?\u00CC) ;; LATIN CAPITAL LETTER I WITH GRAVE
+   (#xCD ?\u00CD) ;; LATIN CAPITAL LETTER I WITH ACUTE
+   (#xCE ?\u00CE) ;; LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+   (#xCF ?\u00CF) ;; LATIN CAPITAL LETTER I WITH DIAERESIS
+   (#xD0 ?\u00D0) ;; LATIN CAPITAL LETTER ETH
+   (#xD1 ?\u00D1) ;; LATIN CAPITAL LETTER N WITH TILDE
+   (#xD2 ?\u00D2) ;; LATIN CAPITAL LETTER O WITH GRAVE
+   (#xD3 ?\u00D3) ;; LATIN CAPITAL LETTER O WITH ACUTE
+   (#xD4 ?\u00D4) ;; LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+   (#xD5 ?\u00D5) ;; LATIN CAPITAL LETTER O WITH TILDE
+   (#xD6 ?\u00D6) ;; LATIN CAPITAL LETTER O WITH DIAERESIS
+   (#xD7 ?\u00D7) ;; MULTIPLICATION SIGN
+   (#xD8 ?\u00D8) ;; LATIN CAPITAL LETTER O WITH STROKE
+   (#xD9 ?\u00D9) ;; LATIN CAPITAL LETTER U WITH GRAVE
+   (#xDA ?\u00DA) ;; LATIN CAPITAL LETTER U WITH ACUTE
+   (#xDB ?\u00DB) ;; LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+   (#xDC ?\u00DC) ;; LATIN CAPITAL LETTER U WITH DIAERESIS
+   (#xDD ?\u00DD) ;; LATIN CAPITAL LETTER Y WITH ACUTE
+   (#xDE ?\u00DE) ;; LATIN CAPITAL LETTER THORN
+   (#xDF ?\u00DF) ;; LATIN SMALL LETTER SHARP S
+   (#xE0 ?\u00E0) ;; LATIN SMALL LETTER A WITH GRAVE
+   (#xE1 ?\u00E1) ;; LATIN SMALL LETTER A WITH ACUTE
+   (#xE2 ?\u00E2) ;; LATIN SMALL LETTER A WITH CIRCUMFLEX
+   (#xE3 ?\u00E3) ;; LATIN SMALL LETTER A WITH TILDE
+   (#xE4 ?\u00E4) ;; LATIN SMALL LETTER A WITH DIAERESIS
+   (#xE5 ?\u00E5) ;; LATIN SMALL LETTER A WITH RING ABOVE
+   (#xE6 ?\u00E6) ;; LATIN SMALL LETTER AE
+   (#xE7 ?\u00E7) ;; LATIN SMALL LETTER C WITH CEDILLA
+   (#xE8 ?\u00E8) ;; LATIN SMALL LETTER E WITH GRAVE
+   (#xE9 ?\u00E9) ;; LATIN SMALL LETTER E WITH ACUTE
+   (#xEA ?\u00EA) ;; LATIN SMALL LETTER E WITH CIRCUMFLEX
+   (#xEB ?\u00EB) ;; LATIN SMALL LETTER E WITH DIAERESIS
+   (#xEC ?\u00EC) ;; LATIN SMALL LETTER I WITH GRAVE
+   (#xED ?\u00ED) ;; LATIN SMALL LETTER I WITH ACUTE
+   (#xEE ?\u00EE) ;; LATIN SMALL LETTER I WITH CIRCUMFLEX
+   (#xEF ?\u00EF) ;; LATIN SMALL LETTER I WITH DIAERESIS
+   (#xF0 ?\u00F0) ;; LATIN SMALL LETTER ETH
+   (#xF1 ?\u00F1) ;; LATIN SMALL LETTER N WITH TILDE
+   (#xF2 ?\u00F2) ;; LATIN SMALL LETTER O WITH GRAVE
+   (#xF3 ?\u00F3) ;; LATIN SMALL LETTER O WITH ACUTE
+   (#xF4 ?\u00F4) ;; LATIN SMALL LETTER O WITH CIRCUMFLEX
+   (#xF5 ?\u00F5) ;; LATIN SMALL LETTER O WITH TILDE
+   (#xF6 ?\u00F6) ;; LATIN SMALL LETTER O WITH DIAERESIS
+   (#xF7 ?\u00F7) ;; DIVISION SIGN
+   (#xF8 ?\u00F8) ;; LATIN SMALL LETTER O WITH STROKE
+   (#xF9 ?\u00F9) ;; LATIN SMALL LETTER U WITH GRAVE
+   (#xFA ?\u00FA) ;; LATIN SMALL LETTER U WITH ACUTE
+   (#xFB ?\u00FB) ;; LATIN SMALL LETTER U WITH CIRCUMFLEX
+   (#xFC ?\u00FC) ;; LATIN SMALL LETTER U WITH DIAERESIS
+   (#xFD ?\u00FD) ;; LATIN SMALL LETTER Y WITH ACUTE
+   (#xFE ?\u00FE) ;; LATIN SMALL LETTER THORN
+   (#xFF ?\u00FF));; LATIN SMALL LETTER Y WITH DIAERESIS
  "Microsoft's extension of iso-8859-1 for Western Europe and the Americas.  "
  '(mnemonic "cp1252"
    aliases (cp1252)))