It’s become clear to me that I won’t get the chance to bring this code to
the point where it a) is separated into distinct functional changes, such
that the small changes I made in passing are committed on their own b) is
sufficiently annotated with ChangeLogs and c) supports the Unicode and
default query-coding functionality (not complicated, just a matter of
porting the code from Lisp) before this summer. I don’t particularly
anticipate that anyone else will get to the work, but at least by posting it
here now I’m not actually hindering that.
diff -r 9c97a5a8c241 lisp/coding.el
--- a/lisp/coding.el Wed Feb 11 15:30:59 2009 +0000
+++ b/lisp/coding.el Sat Apr 11 14:35:00 2009 +0100
@@ -30,11 +30,8 @@
;;; Code:
-(globally-declare-fboundp
- '(coding-system-lock-shift
- coding-system-seven coding-system-charset charset-dimension))
-
-(defalias 'check-coding-system 'get-coding-system)
+;; check-coding-system is not a deprecated name:
+(fset 'check-coding-system (symbol-function 'get-coding-system))
(defun modify-coding-system-alist (target-type regexp coding-system)
"Modify one of look up tables for finding a coding system on I/O operation.
@@ -220,9 +217,10 @@
((and (not bom) le) 'utf-16-little-endian)
((and (not bom) (not le) 'utf-16)))))))
(big5 'big5)
- (iso2022 (cond ((coding-system-lock-shift coding-system)
+ (iso2022 (cond ((declare-fboundp
+ (coding-system-lock-shift coding-system))
'iso-lock-shift)
- ((coding-system-seven coding-system)
+ ((declare-fboundp (coding-system-seven coding-system))
'iso-7)
(t
(let ((dim 0)
@@ -232,15 +230,14 @@
(setq ccs (declare-fboundp
(coding-system-iso2022-charset
coding-system i)))
- (if (and ccs
- (> (charset-dimension ccs) dim))
- (setq dim (charset-dimension ccs))
- )
+ (with-fboundp 'charset-dimension
+ (if (and ccs
+ (> (charset-dimension ccs) dim))
+ (setq dim (charset-dimension ccs))))
(setq i (1+ i)))
(cond ((= dim 1) 'iso-8-1)
((= dim 2) 'iso-8-2)
- (t 'iso-8-designate))))))
- )))
+ (t 'iso-8-designate)))))))))
;;; Make certain variables equivalent to coding-system aliases:
@@ -270,15 +267,6 @@
(terminal terminal-coding-system)
(keyboard keyboard-coding-system)))
-(when (not (featurep 'mule))
- (define-coding-system-alias 'escape-quoted 'binary)
- ;; these are so that gnus and friends work when not mule
- (define-coding-system-alias 'iso-8859-1 'raw-text)
- ;; We're misrepresenting ourselves to the gnus code by saying we support
- ;; both.
- ; (define-coding-system-alias 'iso-8859-2 'raw-text)
- (define-coding-system-alias 'ctext 'raw-text))
-
(make-compatible-variable 'enable-multibyte-characters "Unimplemented")
;; Sure would be nice to be able to use defface here.
@@ -288,7 +276,7 @@
#s(hash-table test equal data ())
"A map from list of charsets to `skip-chars-forward' arguments for
them.")
-(defsubst query-coding-clear-highlights (begin end &optional buffer-or-string)
+(defun query-coding-clear-highlights (begin end &optional buffer-or-string)
"Remove extent faces added by `query-coding-region' between BEGIN and END.
Optional argument BUFFER-OR-STRING is the buffer or string to use, and
@@ -404,68 +392,6 @@
(values nil ranges)
(values t nil))))))
-(defun query-coding-region (start end coding-system &optional buffer
- ignore-invalid-sequencesp errorp highlight)
- "Work out whether CODING-SYSTEM can losslessly encode a region.
-
-START and END are the beginning and end of the region to check.
-CODING-SYSTEM is the coding system to try.
-
-Optional argument BUFFER is the buffer to check, and defaults to the current
-buffer.
-
-IGNORE-INVALID-SEQUENCESP, also an optional argument, says to treat XEmacs
-characters which have an unambiguous encoded representation, despite being
-undefined in what they represent, as encodable. These chiefly arise with
-variable-length encodings like UTF-8 and UTF-16, where an invalid sequence
-is passed through to XEmacs as a sequence of characters with a defined
-correspondence to the octets on disk, but no non-error semantics; see the
-`invalid-sequence-coding-system' argument to `set-language-info'.
-
-They can also arise with fixed-length encodings like ISO 8859-7, where
-certain octets on disk have undefined values, and treating them as
-corresponding to the ISO 8859-1 characters with the same numerical values
-may lead to data that is not understood by other applications.
-
-Optional argument ERRORP says to signal a `text-conversion-error' if some
-character in the region cannot be encoded, and defaults to nil.
-
-Optional argument HIGHLIGHT says to display unencodable characters in the
-region using `query-coding-warning-face'. It defaults to nil.
-
-This function returns a list; the intention is that callers use
-`multiple-value-bind' or the related CL multiple value functions to deal
-with it. The first element is `t' if the region can be encoded using
-CODING-SYSTEM, or `nil' if not. The second element is `nil' if the region
-can be encoded using CODING-SYSTEM; otherwise, it is a range table
-describing the positions of the unencodable characters. Ranges that
-describe characters that would be ignored were IGNORE-INVALID-SEQUENCESP
-non-nil map to the symbol `invalid-sequence'; other ranges map to the symbol
-`unencodable'. If IGNORE-INVALID-SEQUENCESP is non-nil, all ranges will map
-to the symbol `unencodable'. See `make-range-table' for more details of
-range tables."
- (funcall (or (coding-system-get coding-system 'query-coding-function)
- #'default-query-coding-region)
- start end coding-system buffer ignore-invalid-sequencesp errorp
- highlight))
-
-(define-compiler-macro query-coding-region (start end coding-system
- &optional buffer
- ignore-invalid-sequencesp
- errorp highlight)
- `(funcall (or (coding-system-get ,coding-system 'query-coding-function)
- #'default-query-coding-region)
- ,start ,end ,coding-system ,@(append (when (or buffer
- ignore-invalid-sequencesp
- errorp highlight)
- (list buffer))
- (when (or ignore-invalid-sequencesp
- errorp highlight)
- (list ignore-invalid-sequencesp))
- (when (or errorp highlight)
- (list errorp))
- (when highlight (list highlight)))))
-
(defun query-coding-string (string coding-system &optional
ignore-invalid-sequencesp errorp highlight)
"Work out whether CODING-SYSTEM can losslessly encode STRING.
@@ -509,20 +435,21 @@
(query-coding-region (point-min) (point-max) coding-system
(current-buffer) ignore-invalid-sequencesp
errorp)
- (unless result
- (map-range-table
- #'(lambda (begin end value)
- ;; Sigh, string indices are zero-based, buffer offsets are
- ;; one-based.
- (remove-range-table begin end ranges)
- (put-range-table (decf begin) (decf end) value ranges)
- (when highlight
- (setq extent (make-extent begin end string))
- (set-extent-priority extent (+ mouse-highlight-priority 2))
- (set-extent-property extent 'duplicable t)
- (set-extent-face extent 'query-coding-warning-face)))
- ranges))
- (values result ranges))))
+ (unless result
+ (let ((original-ranges ranges))
+ (setq ranges (make-range-table))
+ (map-range-table
+ #'(lambda (begin end value)
+ ;; Sigh, string indices are zero-based, buffer offsets are
+ ;; one-based.
+ (put-range-table (decf begin) (decf end) value ranges)
+ (when highlight
+ (setq extent (make-extent begin end string))
+ (set-extent-priority extent (+ mouse-highlight-priority 2))
+ (set-extent-property extent 'duplicable t)
+ (set-extent-face extent 'query-coding-warning-face)))
+ original-ranges)))
+ (values result ranges))))
;; Function docstring and API are taken from GNU coding.c version 1.353, GPLv2.
(defun unencodable-char-position (start end coding-system
@@ -640,13 +567,42 @@
(when succeededp
(encode-coding-string char coding-system))))
-(unless (featurep 'mule)
+(if (featurep 'mule)
+ (progn
+ ;; Under Mule, we do much of the complicated coding system creation in
+ ;; Lisp and especially at compile time. We need some function
+ ;; definition for this function to be created in this file, but we can
+ ;; leave assigning the docstring to the autoload cookie
+ ;; handling later. Thankfully; that docstring is big.
+ (autoload 'make-coding-system "mule/make-coding-system")
+
+ ;; (During byte-compile before dumping, make-coding-system may already
+ ;; have been loaded, make sure not to overwrite the correct compiler
+ ;; macro:)
+ (when (eq 'autoload (car (symbol-function 'make-coding-system)))
+ ;; Make sure to pick up the correct compiler macro when compiling
+ ;; files:
+ (define-compiler-macro make-coding-system (&whole form name type
+ &optional description props)
+ (load (second (symbol-function 'make-coding-system)))
+ (funcall (get 'make-coding-system 'cl-compiler-macro)
+ form name description props))))
+
+ ;; Mule's not available;
+ (fset 'make-coding-system (symbol-function 'make-coding-system-internal))
+ (define-coding-system-alias 'escape-quoted 'binary)
+
+ ;; These are so that gnus and friends work when not mule:
+ (define-coding-system-alias 'iso-8859-1 'raw-text)
+ (define-coding-system-alias 'ctext 'raw-text)
+
;; If we're under non-Mule, every XEmacs character can be encoded
;; with every XEmacs coding system.
- (fset #'default-query-coding-region
+ (fset 'default-query-coding-region
#'(lambda (&rest ignored)
"Stub `query-coding-region' implementation. Always succeeds."
(values t nil)))
+ ;; And there's no need to have this bound.
(unintern 'default-query-coding-region-safe-charset-skip-chars-map))
;;; coding.el ends here
diff -r 9c97a5a8c241 lisp/help.el
--- a/lisp/help.el Wed Feb 11 15:30:59 2009 +0000
+++ b/lisp/help.el Sat Apr 11 14:35:00 2009 +0100
@@ -1192,9 +1192,12 @@
(let* ((doc (documentation function))
(args (and doc
(string-match
- "[\n\t ]*\narguments: ?(\\(.*\\))\n?\\'"
+ "[\n\t ]*\narguments: ?(\\([^)]*\\))\n?\\'"
doc)
- (match-string 1 doc))))
+ (match-string 1 doc)))
+ (args (and args (replace-in-string args
+ "[ ]*\\\\\n[ ]*"
+ " " t))))
;; If there are no arguments documented for the
;; subr, rather don't print anything.
(cond ((null args) t)
diff -r 9c97a5a8c241 lisp/mule/arabic.el
--- a/lisp/mule/arabic.el Wed Feb 11 15:30:59 2009 +0000
+++ b/lisp/mule/arabic.el Sat Apr 11 14:35:00 2009 +0100
@@ -31,226 +31,226 @@
;; See iso-with-esc.el for commentary on the ISO standard Arabic character
;; set.
-(make-8-bit-coding-system
- 'iso-8859-6
- '((#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
- (#xA4 ?\u00A4) ;; CURRENCY SIGN
- (#xAC ?\u060C) ;; ARABIC COMMA
- (#xAD ?\u00AD) ;; SOFT HYPHEN
- (#xBB ?\u061B) ;; ARABIC SEMICOLON
- (#xBF ?\u061F) ;; ARABIC QUESTION MARK
- (#xC1 ?\u0621) ;; ARABIC LETTER HAMZA
- (#xC2 ?\u0622) ;; ARABIC LETTER ALEF WITH MADDA ABOVE
- (#xC3 ?\u0623) ;; ARABIC LETTER ALEF WITH HAMZA ABOVE
- (#xC4 ?\u0624) ;; ARABIC LETTER WAW WITH HAMZA ABOVE
- (#xC5 ?\u0625) ;; ARABIC LETTER ALEF WITH HAMZA BELOW
- (#xC6 ?\u0626) ;; ARABIC LETTER YEH WITH HAMZA ABOVE
- (#xC7 ?\u0627) ;; ARABIC LETTER ALEF
- (#xC8 ?\u0628) ;; ARABIC LETTER BEH
- (#xC9 ?\u0629) ;; ARABIC LETTER TEH MARBUTA
- (#xCA ?\u062A) ;; ARABIC LETTER TEH
- (#xCB ?\u062B) ;; ARABIC LETTER THEH
- (#xCC ?\u062C) ;; ARABIC LETTER JEEM
- (#xCD ?\u062D) ;; ARABIC LETTER HAH
- (#xCE ?\u062E) ;; ARABIC LETTER KHAH
- (#xCF ?\u062F) ;; ARABIC LETTER DAL
- (#xD0 ?\u0630) ;; ARABIC LETTER THAL
- (#xD1 ?\u0631) ;; ARABIC LETTER REH
- (#xD2 ?\u0632) ;; ARABIC LETTER ZAIN
- (#xD3 ?\u0633) ;; ARABIC LETTER SEEN
- (#xD4 ?\u0634) ;; ARABIC LETTER SHEEN
- (#xD5 ?\u0635) ;; ARABIC LETTER SAD
- (#xD6 ?\u0636) ;; ARABIC LETTER DAD
- (#xD7 ?\u0637) ;; ARABIC LETTER TAH
- (#xD8 ?\u0638) ;; ARABIC LETTER ZAH
- (#xD9 ?\u0639) ;; ARABIC LETTER AIN
- (#xDA ?\u063A) ;; ARABIC LETTER GHAIN
- (#xE0 ?\u0640) ;; ARABIC TATWEEL
- (#xE1 ?\u0641) ;; ARABIC LETTER FEH
- (#xE2 ?\u0642) ;; ARABIC LETTER QAF
- (#xE3 ?\u0643) ;; ARABIC LETTER KAF
- (#xE4 ?\u0644) ;; ARABIC LETTER LAM
- (#xE5 ?\u0645) ;; ARABIC LETTER MEEM
- (#xE6 ?\u0646) ;; ARABIC LETTER NOON
- (#xE7 ?\u0647) ;; ARABIC LETTER HEH
- (#xE8 ?\u0648) ;; ARABIC LETTER WAW
- (#xE9 ?\u0649) ;; ARABIC LETTER ALEF MAKSURA
- (#xEA ?\u064A) ;; ARABIC LETTER YEH
- (#xEB ?\u064B) ;; ARABIC FATHATAN
- (#xEC ?\u064C) ;; ARABIC DAMMATAN
- (#xED ?\u064D) ;; ARABIC KASRATAN
- (#xEE ?\u064E) ;; ARABIC FATHA
- (#xEF ?\u064F) ;; ARABIC DAMMA
- (#xF0 ?\u0650) ;; ARABIC KASRA
- (#xF1 ?\u0651) ;; ARABIC SHADDA
- (#xF2 ?\u0652)) ;; ARABIC SUKUN
- "ISO 8859-6 (Arabic)"
-'(mnemonic "ArISO"))
+(make-coding-system
+ 'iso-8859-6 'fixed-width "ISO 8859-6 (Arabic)"
+ '(unicode-map
+ ((#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
+ (#xA4 ?\u00A4) ;; CURRENCY SIGN
+ (#xAC ?\u060C) ;; ARABIC COMMA
+ (#xAD ?\u00AD) ;; SOFT HYPHEN
+ (#xBB ?\u061B) ;; ARABIC SEMICOLON
+ (#xBF ?\u061F) ;; ARABIC QUESTION MARK
+ (#xC1 ?\u0621) ;; ARABIC LETTER HAMZA
+ (#xC2 ?\u0622) ;; ARABIC LETTER ALEF WITH MADDA ABOVE
+ (#xC3 ?\u0623) ;; ARABIC LETTER ALEF WITH HAMZA ABOVE
+ (#xC4 ?\u0624) ;; ARABIC LETTER WAW WITH HAMZA ABOVE
+ (#xC5 ?\u0625) ;; ARABIC LETTER ALEF WITH HAMZA BELOW
+ (#xC6 ?\u0626) ;; ARABIC LETTER YEH WITH HAMZA ABOVE
+ (#xC7 ?\u0627) ;; ARABIC LETTER ALEF
+ (#xC8 ?\u0628) ;; ARABIC LETTER BEH
+ (#xC9 ?\u0629) ;; ARABIC LETTER TEH MARBUTA
+ (#xCA ?\u062A) ;; ARABIC LETTER TEH
+ (#xCB ?\u062B) ;; ARABIC LETTER THEH
+ (#xCC ?\u062C) ;; ARABIC LETTER JEEM
+ (#xCD ?\u062D) ;; ARABIC LETTER HAH
+ (#xCE ?\u062E) ;; ARABIC LETTER KHAH
+ (#xCF ?\u062F) ;; ARABIC LETTER DAL
+ (#xD0 ?\u0630) ;; ARABIC LETTER THAL
+ (#xD1 ?\u0631) ;; ARABIC LETTER REH
+ (#xD2 ?\u0632) ;; ARABIC LETTER ZAIN
+ (#xD3 ?\u0633) ;; ARABIC LETTER SEEN
+ (#xD4 ?\u0634) ;; ARABIC LETTER SHEEN
+ (#xD5 ?\u0635) ;; ARABIC LETTER SAD
+ (#xD6 ?\u0636) ;; ARABIC LETTER DAD
+ (#xD7 ?\u0637) ;; ARABIC LETTER TAH
+ (#xD8 ?\u0638) ;; ARABIC LETTER ZAH
+ (#xD9 ?\u0639) ;; ARABIC LETTER AIN
+ (#xDA ?\u063A) ;; ARABIC LETTER GHAIN
+ (#xE0 ?\u0640) ;; ARABIC TATWEEL
+ (#xE1 ?\u0641) ;; ARABIC LETTER FEH
+ (#xE2 ?\u0642) ;; ARABIC LETTER QAF
+ (#xE3 ?\u0643) ;; ARABIC LETTER KAF
+ (#xE4 ?\u0644) ;; ARABIC LETTER LAM
+ (#xE5 ?\u0645) ;; ARABIC LETTER MEEM
+ (#xE6 ?\u0646) ;; ARABIC LETTER NOON
+ (#xE7 ?\u0647) ;; ARABIC LETTER HEH
+ (#xE8 ?\u0648) ;; ARABIC LETTER WAW
+ (#xE9 ?\u0649) ;; ARABIC LETTER ALEF MAKSURA
+ (#xEA ?\u064A) ;; ARABIC LETTER YEH
+ (#xEB ?\u064B) ;; ARABIC FATHATAN
+ (#xEC ?\u064C) ;; ARABIC DAMMATAN
+ (#xED ?\u064D) ;; ARABIC KASRATAN
+ (#xEE ?\u064E) ;; ARABIC FATHA
+ (#xEF ?\u064F) ;; ARABIC DAMMA
+ (#xF0 ?\u0650) ;; ARABIC KASRA
+ (#xF1 ?\u0651) ;; ARABIC SHADDA
+ (#xF2 ?\u0652)) ;; ARABIC SUKUN
+ mnemonic "ArISO"))
-(make-8-bit-coding-system
- 'windows-1256
- '((#x80 ?\u20AC) ;; EURO SIGN
- (#x81 ?\u067E) ;; ARABIC LETTER PEH
- (#x82 ?\u201A) ;; SINGLE LOW-9 QUOTATION MARK
- (#x83 ?\u0192) ;; LATIN SMALL LETTER F WITH HOOK
- (#x84 ?\u201E) ;; DOUBLE LOW-9 QUOTATION MARK
- (#x85 ?\u2026) ;; HORIZONTAL ELLIPSIS
- (#x86 ?\u2020) ;; DAGGER
- (#x87 ?\u2021) ;; DOUBLE DAGGER
- (#x88 ?\u02C6) ;; MODIFIER LETTER CIRCUMFLEX ACCENT
- (#x89 ?\u2030) ;; PER MILLE SIGN
- (#x8A ?\u0679) ;; ARABIC LETTER TTEH
- (#x8B ?\u2039) ;; SINGLE LEFT-POINTING ANGLE QUOTATION MARK
- (#x8C ?\u0152) ;; LATIN CAPITAL LIGATURE OE
- (#x8D ?\u0686) ;; ARABIC LETTER TCHEH
- (#x8E ?\u0698) ;; ARABIC LETTER JEH
- (#x8F ?\u0688) ;; ARABIC LETTER DDAL
- (#x90 ?\u06AF) ;; ARABIC LETTER GAF
- (#x91 ?\u2018) ;; LEFT SINGLE QUOTATION MARK
- (#x92 ?\u2019) ;; RIGHT SINGLE QUOTATION MARK
- (#x93 ?\u201C) ;; LEFT DOUBLE QUOTATION MARK
- (#x94 ?\u201D) ;; RIGHT DOUBLE QUOTATION MARK
- (#x95 ?\u2022) ;; BULLET
- (#x96 ?\u2013) ;; EN DASH
- (#x97 ?\u2014) ;; EM DASH
- (#x98 ?\u06A9) ;; ARABIC LETTER KEHEH
- (#x99 ?\u2122) ;; TRADE MARK SIGN
- (#x9A ?\u0691) ;; ARABIC LETTER RREH
- (#x9B ?\u203A) ;; SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
- (#x9C ?\u0153) ;; LATIN SMALL LIGATURE OE
- (#x9D ?\u200C) ;; ZERO WIDTH NON-JOINER
- (#x9E ?\u200D) ;; ZERO WIDTH JOINER
- (#x9F ?\u06BA) ;; ARABIC LETTER NOON GHUNNA
- (#xA0 ?\u00A0) ;; NO-BREAK SPACE
- (#xA1 ?\u060C) ;; ARABIC COMMA
- (#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 ?\u06BE) ;; ARABIC LETTER HEH DOACHASHMEE
- (#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 ?\u061B) ;; ARABIC SEMICOLON
- (#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 ?\u061F) ;; ARABIC QUESTION MARK
- (#xC0 ?\u06C1) ;; ARABIC LETTER HEH GOAL
- (#xC1 ?\u0621) ;; ARABIC LETTER HAMZA
- (#xC2 ?\u0622) ;; ARABIC LETTER ALEF WITH MADDA ABOVE
- (#xC3 ?\u0623) ;; ARABIC LETTER ALEF WITH HAMZA ABOVE
- (#xC4 ?\u0624) ;; ARABIC LETTER WAW WITH HAMZA ABOVE
- (#xC5 ?\u0625) ;; ARABIC LETTER ALEF WITH HAMZA BELOW
- (#xC6 ?\u0626) ;; ARABIC LETTER YEH WITH HAMZA ABOVE
- (#xC7 ?\u0627) ;; ARABIC LETTER ALEF
- (#xC8 ?\u0628) ;; ARABIC LETTER BEH
- (#xC9 ?\u0629) ;; ARABIC LETTER TEH MARBUTA
- (#xCA ?\u062A) ;; ARABIC LETTER TEH
- (#xCB ?\u062B) ;; ARABIC LETTER THEH
- (#xCC ?\u062C) ;; ARABIC LETTER JEEM
- (#xCD ?\u062D) ;; ARABIC LETTER HAH
- (#xCE ?\u062E) ;; ARABIC LETTER KHAH
- (#xCF ?\u062F) ;; ARABIC LETTER DAL
- (#xD0 ?\u0630) ;; ARABIC LETTER THAL
- (#xD1 ?\u0631) ;; ARABIC LETTER REH
- (#xD2 ?\u0632) ;; ARABIC LETTER ZAIN
- (#xD3 ?\u0633) ;; ARABIC LETTER SEEN
- (#xD4 ?\u0634) ;; ARABIC LETTER SHEEN
- (#xD5 ?\u0635) ;; ARABIC LETTER SAD
- (#xD6 ?\u0636) ;; ARABIC LETTER DAD
- (#xD7 ?\u00D7) ;; MULTIPLICATION SIGN
- (#xD8 ?\u0637) ;; ARABIC LETTER TAH
- (#xD9 ?\u0638) ;; ARABIC LETTER ZAH
- (#xDA ?\u0639) ;; ARABIC LETTER AIN
- (#xDB ?\u063A) ;; ARABIC LETTER GHAIN
- (#xDC ?\u0640) ;; ARABIC TATWEEL
- (#xDD ?\u0641) ;; ARABIC LETTER FEH
- (#xDE ?\u0642) ;; ARABIC LETTER QAF
- (#xDF ?\u0643) ;; ARABIC LETTER KAF
- (#xE0 ?\u00E0) ;; LATIN SMALL LETTER A WITH GRAVE
- (#xE1 ?\u0644) ;; ARABIC LETTER LAM
- (#xE2 ?\u00E2) ;; LATIN SMALL LETTER A WITH CIRCUMFLEX
- (#xE3 ?\u0645) ;; ARABIC LETTER MEEM
- (#xE4 ?\u0646) ;; ARABIC LETTER NOON
- (#xE5 ?\u0647) ;; ARABIC LETTER HEH
- (#xE6 ?\u0648) ;; ARABIC LETTER WAW
- (#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 ?\u0649) ;; ARABIC LETTER ALEF MAKSURA
- (#xED ?\u064A) ;; ARABIC LETTER YEH
- (#xEE ?\u00EE) ;; LATIN SMALL LETTER I WITH CIRCUMFLEX
- (#xEF ?\u00EF) ;; LATIN SMALL LETTER I WITH DIAERESIS
- (#xF0 ?\u064B) ;; ARABIC FATHATAN
- (#xF1 ?\u064C) ;; ARABIC DAMMATAN
- (#xF2 ?\u064D) ;; ARABIC KASRATAN
- (#xF3 ?\u064E) ;; ARABIC FATHA
- (#xF4 ?\u00F4) ;; LATIN SMALL LETTER O WITH CIRCUMFLEX
- (#xF5 ?\u064F) ;; ARABIC DAMMA
- (#xF6 ?\u0650) ;; ARABIC KASRA
- (#xF7 ?\u00F7) ;; DIVISION SIGN
- (#xF8 ?\u0651) ;; ARABIC SHADDA
- (#xF9 ?\u00F9) ;; LATIN SMALL LETTER U WITH GRAVE
- (#xFA ?\u0652) ;; ARABIC SUKUN
- (#xFB ?\u00FB) ;; LATIN SMALL LETTER U WITH CIRCUMFLEX
- (#xFC ?\u00FC) ;; LATIN SMALL LETTER U WITH DIAERESIS
- (#xFD ?\u200E) ;; LEFT-TO-RIGHT MARK
- (#xFE ?\u200F) ;; RIGHT-TO-LEFT MARK
- (#xFF ?\u06D2));; ARABIC LETTER YEH BARREE
- "Windows-1256 (Arabic)"
- '(mnemonic "cp1256"
+(make-coding-system
+ 'windows-1256 'fixed-width "Windows-1256 (Arabic)"
+ '(unicode-map
+ ((#x80 ?\u20AC) ;; EURO SIGN
+ (#x81 ?\u067E) ;; ARABIC LETTER PEH
+ (#x82 ?\u201A) ;; SINGLE LOW-9 QUOTATION MARK
+ (#x83 ?\u0192) ;; LATIN SMALL LETTER F WITH HOOK
+ (#x84 ?\u201E) ;; DOUBLE LOW-9 QUOTATION MARK
+ (#x85 ?\u2026) ;; HORIZONTAL ELLIPSIS
+ (#x86 ?\u2020) ;; DAGGER
+ (#x87 ?\u2021) ;; DOUBLE DAGGER
+ (#x88 ?\u02C6) ;; MODIFIER LETTER CIRCUMFLEX ACCENT
+ (#x89 ?\u2030) ;; PER MILLE SIGN
+ (#x8A ?\u0679) ;; ARABIC LETTER TTEH
+ (#x8B ?\u2039) ;; SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+ (#x8C ?\u0152) ;; LATIN CAPITAL LIGATURE OE
+ (#x8D ?\u0686) ;; ARABIC LETTER TCHEH
+ (#x8E ?\u0698) ;; ARABIC LETTER JEH
+ (#x8F ?\u0688) ;; ARABIC LETTER DDAL
+ (#x90 ?\u06AF) ;; ARABIC LETTER GAF
+ (#x91 ?\u2018) ;; LEFT SINGLE QUOTATION MARK
+ (#x92 ?\u2019) ;; RIGHT SINGLE QUOTATION MARK
+ (#x93 ?\u201C) ;; LEFT DOUBLE QUOTATION MARK
+ (#x94 ?\u201D) ;; RIGHT DOUBLE QUOTATION MARK
+ (#x95 ?\u2022) ;; BULLET
+ (#x96 ?\u2013) ;; EN DASH
+ (#x97 ?\u2014) ;; EM DASH
+ (#x98 ?\u06A9) ;; ARABIC LETTER KEHEH
+ (#x99 ?\u2122) ;; TRADE MARK SIGN
+ (#x9A ?\u0691) ;; ARABIC LETTER RREH
+ (#x9B ?\u203A) ;; SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+ (#x9C ?\u0153) ;; LATIN SMALL LIGATURE OE
+ (#x9D ?\u200C) ;; ZERO WIDTH NON-JOINER
+ (#x9E ?\u200D) ;; ZERO WIDTH JOINER
+ (#x9F ?\u06BA) ;; ARABIC LETTER NOON GHUNNA
+ (#xA0 ?\u00A0) ;; NO-BREAK SPACE
+ (#xA1 ?\u060C) ;; ARABIC COMMA
+ (#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 ?\u06BE) ;; ARABIC LETTER HEH DOACHASHMEE
+ (#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 ?\u061B) ;; ARABIC SEMICOLON
+ (#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 ?\u061F) ;; ARABIC QUESTION MARK
+ (#xC0 ?\u06C1) ;; ARABIC LETTER HEH GOAL
+ (#xC1 ?\u0621) ;; ARABIC LETTER HAMZA
+ (#xC2 ?\u0622) ;; ARABIC LETTER ALEF WITH MADDA ABOVE
+ (#xC3 ?\u0623) ;; ARABIC LETTER ALEF WITH HAMZA ABOVE
+ (#xC4 ?\u0624) ;; ARABIC LETTER WAW WITH HAMZA ABOVE
+ (#xC5 ?\u0625) ;; ARABIC LETTER ALEF WITH HAMZA BELOW
+ (#xC6 ?\u0626) ;; ARABIC LETTER YEH WITH HAMZA ABOVE
+ (#xC7 ?\u0627) ;; ARABIC LETTER ALEF
+ (#xC8 ?\u0628) ;; ARABIC LETTER BEH
+ (#xC9 ?\u0629) ;; ARABIC LETTER TEH MARBUTA
+ (#xCA ?\u062A) ;; ARABIC LETTER TEH
+ (#xCB ?\u062B) ;; ARABIC LETTER THEH
+ (#xCC ?\u062C) ;; ARABIC LETTER JEEM
+ (#xCD ?\u062D) ;; ARABIC LETTER HAH
+ (#xCE ?\u062E) ;; ARABIC LETTER KHAH
+ (#xCF ?\u062F) ;; ARABIC LETTER DAL
+ (#xD0 ?\u0630) ;; ARABIC LETTER THAL
+ (#xD1 ?\u0631) ;; ARABIC LETTER REH
+ (#xD2 ?\u0632) ;; ARABIC LETTER ZAIN
+ (#xD3 ?\u0633) ;; ARABIC LETTER SEEN
+ (#xD4 ?\u0634) ;; ARABIC LETTER SHEEN
+ (#xD5 ?\u0635) ;; ARABIC LETTER SAD
+ (#xD6 ?\u0636) ;; ARABIC LETTER DAD
+ (#xD7 ?\u00D7) ;; MULTIPLICATION SIGN
+ (#xD8 ?\u0637) ;; ARABIC LETTER TAH
+ (#xD9 ?\u0638) ;; ARABIC LETTER ZAH
+ (#xDA ?\u0639) ;; ARABIC LETTER AIN
+ (#xDB ?\u063A) ;; ARABIC LETTER GHAIN
+ (#xDC ?\u0640) ;; ARABIC TATWEEL
+ (#xDD ?\u0641) ;; ARABIC LETTER FEH
+ (#xDE ?\u0642) ;; ARABIC LETTER QAF
+ (#xDF ?\u0643) ;; ARABIC LETTER KAF
+ (#xE0 ?\u00E0) ;; LATIN SMALL LETTER A WITH GRAVE
+ (#xE1 ?\u0644) ;; ARABIC LETTER LAM
+ (#xE2 ?\u00E2) ;; LATIN SMALL LETTER A WITH CIRCUMFLEX
+ (#xE3 ?\u0645) ;; ARABIC LETTER MEEM
+ (#xE4 ?\u0646) ;; ARABIC LETTER NOON
+ (#xE5 ?\u0647) ;; ARABIC LETTER HEH
+ (#xE6 ?\u0648) ;; ARABIC LETTER WAW
+ (#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 ?\u0649) ;; ARABIC LETTER ALEF MAKSURA
+ (#xED ?\u064A) ;; ARABIC LETTER YEH
+ (#xEE ?\u00EE) ;; LATIN SMALL LETTER I WITH CIRCUMFLEX
+ (#xEF ?\u00EF) ;; LATIN SMALL LETTER I WITH DIAERESIS
+ (#xF0 ?\u064B) ;; ARABIC FATHATAN
+ (#xF1 ?\u064C) ;; ARABIC DAMMATAN
+ (#xF2 ?\u064D) ;; ARABIC KASRATAN
+ (#xF3 ?\u064E) ;; ARABIC FATHA
+ (#xF4 ?\u00F4) ;; LATIN SMALL LETTER O WITH CIRCUMFLEX
+ (#xF5 ?\u064F) ;; ARABIC DAMMA
+ (#xF6 ?\u0650) ;; ARABIC KASRA
+ (#xF7 ?\u00F7) ;; DIVISION SIGN
+ (#xF8 ?\u0651) ;; ARABIC SHADDA
+ (#xF9 ?\u00F9) ;; LATIN SMALL LETTER U WITH GRAVE
+ (#xFA ?\u0652) ;; ARABIC SUKUN
+ (#xFB ?\u00FB) ;; LATIN SMALL LETTER U WITH CIRCUMFLEX
+ (#xFC ?\u00FC) ;; LATIN SMALL LETTER U WITH DIAERESIS
+ (#xFD ?\u200E) ;; LEFT-TO-RIGHT MARK
+ (#xFE ?\u200F) ;; RIGHT-TO-LEFT MARK
+ (#xFF ?\u06D2)) ;; ARABIC LETTER YEH BARREE
+ mnemonic "cp1256"
documentation
"This is the much Windows encoding for Arabic, much superior to the ISO
standard one."
diff -r 9c97a5a8c241 lisp/mule/cyrillic.el
--- a/lisp/mule/cyrillic.el Wed Feb 11 15:30:59 2009 +0000
+++ b/lisp/mule/cyrillic.el Sat Apr 11 14:35:00 2009 +0100
@@ -106,138 +106,138 @@
(standard-syntax-table))
;; And create the coding system.
-(make-8-bit-coding-system
- 'iso-8859-5
- '((#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 ?\u0401) ;; CYRILLIC CAPITAL LETTER IO
- (#xA2 ?\u0402) ;; CYRILLIC CAPITAL LETTER DJE
- (#xA3 ?\u0403) ;; CYRILLIC CAPITAL LETTER GJE
- (#xA4 ?\u0404) ;; CYRILLIC CAPITAL LETTER UKRAINIAN IE
- (#xA5 ?\u0405) ;; CYRILLIC CAPITAL LETTER DZE
- (#xA6 ?\u0406) ;; CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
- (#xA7 ?\u0407) ;; CYRILLIC CAPITAL LETTER YI
- (#xA8 ?\u0408) ;; CYRILLIC CAPITAL LETTER JE
- (#xA9 ?\u0409) ;; CYRILLIC CAPITAL LETTER LJE
- (#xAA ?\u040A) ;; CYRILLIC CAPITAL LETTER NJE
- (#xAB ?\u040B) ;; CYRILLIC CAPITAL LETTER TSHE
- (#xAC ?\u040C) ;; CYRILLIC CAPITAL LETTER KJE
- (#xAD ?\u00AD) ;; SOFT HYPHEN
- (#xAE ?\u040E) ;; CYRILLIC CAPITAL LETTER SHORT U
- (#xAF ?\u040F) ;; CYRILLIC CAPITAL LETTER DZHE
- (#xB0 ?\u0410) ;; CYRILLIC CAPITAL LETTER A
- (#xB1 ?\u0411) ;; CYRILLIC CAPITAL LETTER BE
- (#xB2 ?\u0412) ;; CYRILLIC CAPITAL LETTER VE
- (#xB3 ?\u0413) ;; CYRILLIC CAPITAL LETTER GHE
- (#xB4 ?\u0414) ;; CYRILLIC CAPITAL LETTER DE
- (#xB5 ?\u0415) ;; CYRILLIC CAPITAL LETTER IE
- (#xB6 ?\u0416) ;; CYRILLIC CAPITAL LETTER ZHE
- (#xB7 ?\u0417) ;; CYRILLIC CAPITAL LETTER ZE
- (#xB8 ?\u0418) ;; CYRILLIC CAPITAL LETTER I
- (#xB9 ?\u0419) ;; CYRILLIC CAPITAL LETTER SHORT I
- (#xBA ?\u041A) ;; CYRILLIC CAPITAL LETTER KA
- (#xBB ?\u041B) ;; CYRILLIC CAPITAL LETTER EL
- (#xBC ?\u041C) ;; CYRILLIC CAPITAL LETTER EM
- (#xBD ?\u041D) ;; CYRILLIC CAPITAL LETTER EN
- (#xBE ?\u041E) ;; CYRILLIC CAPITAL LETTER O
- (#xBF ?\u041F) ;; CYRILLIC CAPITAL LETTER PE
- (#xC0 ?\u0420) ;; CYRILLIC CAPITAL LETTER ER
- (#xC1 ?\u0421) ;; CYRILLIC CAPITAL LETTER ES
- (#xC2 ?\u0422) ;; CYRILLIC CAPITAL LETTER TE
- (#xC3 ?\u0423) ;; CYRILLIC CAPITAL LETTER U
- (#xC4 ?\u0424) ;; CYRILLIC CAPITAL LETTER EF
- (#xC5 ?\u0425) ;; CYRILLIC CAPITAL LETTER HA
- (#xC6 ?\u0426) ;; CYRILLIC CAPITAL LETTER TSE
- (#xC7 ?\u0427) ;; CYRILLIC CAPITAL LETTER CHE
- (#xC8 ?\u0428) ;; CYRILLIC CAPITAL LETTER SHA
- (#xC9 ?\u0429) ;; CYRILLIC CAPITAL LETTER SHCHA
- (#xCA ?\u042A) ;; CYRILLIC CAPITAL LETTER HARD SIGN
- (#xCB ?\u042B) ;; CYRILLIC CAPITAL LETTER YERU
- (#xCC ?\u042C) ;; CYRILLIC CAPITAL LETTER SOFT SIGN
- (#xCD ?\u042D) ;; CYRILLIC CAPITAL LETTER E
- (#xCE ?\u042E) ;; CYRILLIC CAPITAL LETTER YU
- (#xCF ?\u042F) ;; CYRILLIC CAPITAL LETTER YA
- (#xD0 ?\u0430) ;; CYRILLIC SMALL LETTER A
- (#xD1 ?\u0431) ;; CYRILLIC SMALL LETTER BE
- (#xD2 ?\u0432) ;; CYRILLIC SMALL LETTER VE
- (#xD3 ?\u0433) ;; CYRILLIC SMALL LETTER GHE
- (#xD4 ?\u0434) ;; CYRILLIC SMALL LETTER DE
- (#xD5 ?\u0435) ;; CYRILLIC SMALL LETTER IE
- (#xD6 ?\u0436) ;; CYRILLIC SMALL LETTER ZHE
- (#xD7 ?\u0437) ;; CYRILLIC SMALL LETTER ZE
- (#xD8 ?\u0438) ;; CYRILLIC SMALL LETTER I
- (#xD9 ?\u0439) ;; CYRILLIC SMALL LETTER SHORT I
- (#xDA ?\u043A) ;; CYRILLIC SMALL LETTER KA
- (#xDB ?\u043B) ;; CYRILLIC SMALL LETTER EL
- (#xDC ?\u043C) ;; CYRILLIC SMALL LETTER EM
- (#xDD ?\u043D) ;; CYRILLIC SMALL LETTER EN
- (#xDE ?\u043E) ;; CYRILLIC SMALL LETTER O
- (#xDF ?\u043F) ;; CYRILLIC SMALL LETTER PE
- (#xE0 ?\u0440) ;; CYRILLIC SMALL LETTER ER
- (#xE1 ?\u0441) ;; CYRILLIC SMALL LETTER ES
- (#xE2 ?\u0442) ;; CYRILLIC SMALL LETTER TE
- (#xE3 ?\u0443) ;; CYRILLIC SMALL LETTER U
- (#xE4 ?\u0444) ;; CYRILLIC SMALL LETTER EF
- (#xE5 ?\u0445) ;; CYRILLIC SMALL LETTER HA
- (#xE6 ?\u0446) ;; CYRILLIC SMALL LETTER TSE
- (#xE7 ?\u0447) ;; CYRILLIC SMALL LETTER CHE
- (#xE8 ?\u0448) ;; CYRILLIC SMALL LETTER SHA
- (#xE9 ?\u0449) ;; CYRILLIC SMALL LETTER SHCHA
- (#xEA ?\u044A) ;; CYRILLIC SMALL LETTER HARD SIGN
- (#xEB ?\u044B) ;; CYRILLIC SMALL LETTER YERU
- (#xEC ?\u044C) ;; CYRILLIC SMALL LETTER SOFT SIGN
- (#xED ?\u044D) ;; CYRILLIC SMALL LETTER E
- (#xEE ?\u044E) ;; CYRILLIC SMALL LETTER YU
- (#xEF ?\u044F) ;; CYRILLIC SMALL LETTER YA
- (#xF0 ?\u2116) ;; NUMERO SIGN
- (#xF1 ?\u0451) ;; CYRILLIC SMALL LETTER IO
- (#xF2 ?\u0452) ;; CYRILLIC SMALL LETTER DJE
- (#xF3 ?\u0453) ;; CYRILLIC SMALL LETTER GJE
- (#xF4 ?\u0454) ;; CYRILLIC SMALL LETTER UKRAINIAN IE
- (#xF5 ?\u0455) ;; CYRILLIC SMALL LETTER DZE
- (#xF6 ?\u0456) ;; CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
- (#xF7 ?\u0457) ;; CYRILLIC SMALL LETTER YI
- (#xF8 ?\u0458) ;; CYRILLIC SMALL LETTER JE
- (#xF9 ?\u0459) ;; CYRILLIC SMALL LETTER LJE
- (#xFA ?\u045A) ;; CYRILLIC SMALL LETTER NJE
- (#xFB ?\u045B) ;; CYRILLIC SMALL LETTER TSHE
- (#xFC ?\u045C) ;; CYRILLIC SMALL LETTER KJE
- (#xFD ?\u00A7) ;; SECTION SIGN
- (#xFE ?\u045E) ;; CYRILLIC SMALL LETTER SHORT U
- (#xFF ?\u045F)) ;; CYRILLIC SMALL LETTER DZHE
- "ISO-8859-5 (Cyrillic)"
- '(mnemonic "ISO8/Cyr"
+(make-coding-system
+ 'iso-8859-5 'fixed-width "ISO-8859-5 (Cyrillic)"
+ '(unicode-map
+ ((#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 ?\u0401) ;; CYRILLIC CAPITAL LETTER IO
+ (#xA2 ?\u0402) ;; CYRILLIC CAPITAL LETTER DJE
+ (#xA3 ?\u0403) ;; CYRILLIC CAPITAL LETTER GJE
+ (#xA4 ?\u0404) ;; CYRILLIC CAPITAL LETTER UKRAINIAN IE
+ (#xA5 ?\u0405) ;; CYRILLIC CAPITAL LETTER DZE
+ (#xA6 ?\u0406) ;; CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
+ (#xA7 ?\u0407) ;; CYRILLIC CAPITAL LETTER YI
+ (#xA8 ?\u0408) ;; CYRILLIC CAPITAL LETTER JE
+ (#xA9 ?\u0409) ;; CYRILLIC CAPITAL LETTER LJE
+ (#xAA ?\u040A) ;; CYRILLIC CAPITAL LETTER NJE
+ (#xAB ?\u040B) ;; CYRILLIC CAPITAL LETTER TSHE
+ (#xAC ?\u040C) ;; CYRILLIC CAPITAL LETTER KJE
+ (#xAD ?\u00AD) ;; SOFT HYPHEN
+ (#xAE ?\u040E) ;; CYRILLIC CAPITAL LETTER SHORT U
+ (#xAF ?\u040F) ;; CYRILLIC CAPITAL LETTER DZHE
+ (#xB0 ?\u0410) ;; CYRILLIC CAPITAL LETTER A
+ (#xB1 ?\u0411) ;; CYRILLIC CAPITAL LETTER BE
+ (#xB2 ?\u0412) ;; CYRILLIC CAPITAL LETTER VE
+ (#xB3 ?\u0413) ;; CYRILLIC CAPITAL LETTER GHE
+ (#xB4 ?\u0414) ;; CYRILLIC CAPITAL LETTER DE
+ (#xB5 ?\u0415) ;; CYRILLIC CAPITAL LETTER IE
+ (#xB6 ?\u0416) ;; CYRILLIC CAPITAL LETTER ZHE
+ (#xB7 ?\u0417) ;; CYRILLIC CAPITAL LETTER ZE
+ (#xB8 ?\u0418) ;; CYRILLIC CAPITAL LETTER I
+ (#xB9 ?\u0419) ;; CYRILLIC CAPITAL LETTER SHORT I
+ (#xBA ?\u041A) ;; CYRILLIC CAPITAL LETTER KA
+ (#xBB ?\u041B) ;; CYRILLIC CAPITAL LETTER EL
+ (#xBC ?\u041C) ;; CYRILLIC CAPITAL LETTER EM
+ (#xBD ?\u041D) ;; CYRILLIC CAPITAL LETTER EN
+ (#xBE ?\u041E) ;; CYRILLIC CAPITAL LETTER O
+ (#xBF ?\u041F) ;; CYRILLIC CAPITAL LETTER PE
+ (#xC0 ?\u0420) ;; CYRILLIC CAPITAL LETTER ER
+ (#xC1 ?\u0421) ;; CYRILLIC CAPITAL LETTER ES
+ (#xC2 ?\u0422) ;; CYRILLIC CAPITAL LETTER TE
+ (#xC3 ?\u0423) ;; CYRILLIC CAPITAL LETTER U
+ (#xC4 ?\u0424) ;; CYRILLIC CAPITAL LETTER EF
+ (#xC5 ?\u0425) ;; CYRILLIC CAPITAL LETTER HA
+ (#xC6 ?\u0426) ;; CYRILLIC CAPITAL LETTER TSE
+ (#xC7 ?\u0427) ;; CYRILLIC CAPITAL LETTER CHE
+ (#xC8 ?\u0428) ;; CYRILLIC CAPITAL LETTER SHA
+ (#xC9 ?\u0429) ;; CYRILLIC CAPITAL LETTER SHCHA
+ (#xCA ?\u042A) ;; CYRILLIC CAPITAL LETTER HARD SIGN
+ (#xCB ?\u042B) ;; CYRILLIC CAPITAL LETTER YERU
+ (#xCC ?\u042C) ;; CYRILLIC CAPITAL LETTER SOFT SIGN
+ (#xCD ?\u042D) ;; CYRILLIC CAPITAL LETTER E
+ (#xCE ?\u042E) ;; CYRILLIC CAPITAL LETTER YU
+ (#xCF ?\u042F) ;; CYRILLIC CAPITAL LETTER YA
+ (#xD0 ?\u0430) ;; CYRILLIC SMALL LETTER A
+ (#xD1 ?\u0431) ;; CYRILLIC SMALL LETTER BE
+ (#xD2 ?\u0432) ;; CYRILLIC SMALL LETTER VE
+ (#xD3 ?\u0433) ;; CYRILLIC SMALL LETTER GHE
+ (#xD4 ?\u0434) ;; CYRILLIC SMALL LETTER DE
+ (#xD5 ?\u0435) ;; CYRILLIC SMALL LETTER IE
+ (#xD6 ?\u0436) ;; CYRILLIC SMALL LETTER ZHE
+ (#xD7 ?\u0437) ;; CYRILLIC SMALL LETTER ZE
+ (#xD8 ?\u0438) ;; CYRILLIC SMALL LETTER I
+ (#xD9 ?\u0439) ;; CYRILLIC SMALL LETTER SHORT I
+ (#xDA ?\u043A) ;; CYRILLIC SMALL LETTER KA
+ (#xDB ?\u043B) ;; CYRILLIC SMALL LETTER EL
+ (#xDC ?\u043C) ;; CYRILLIC SMALL LETTER EM
+ (#xDD ?\u043D) ;; CYRILLIC SMALL LETTER EN
+ (#xDE ?\u043E) ;; CYRILLIC SMALL LETTER O
+ (#xDF ?\u043F) ;; CYRILLIC SMALL LETTER PE
+ (#xE0 ?\u0440) ;; CYRILLIC SMALL LETTER ER
+ (#xE1 ?\u0441) ;; CYRILLIC SMALL LETTER ES
+ (#xE2 ?\u0442) ;; CYRILLIC SMALL LETTER TE
+ (#xE3 ?\u0443) ;; CYRILLIC SMALL LETTER U
+ (#xE4 ?\u0444) ;; CYRILLIC SMALL LETTER EF
+ (#xE5 ?\u0445) ;; CYRILLIC SMALL LETTER HA
+ (#xE6 ?\u0446) ;; CYRILLIC SMALL LETTER TSE
+ (#xE7 ?\u0447) ;; CYRILLIC SMALL LETTER CHE
+ (#xE8 ?\u0448) ;; CYRILLIC SMALL LETTER SHA
+ (#xE9 ?\u0449) ;; CYRILLIC SMALL LETTER SHCHA
+ (#xEA ?\u044A) ;; CYRILLIC SMALL LETTER HARD SIGN
+ (#xEB ?\u044B) ;; CYRILLIC SMALL LETTER YERU
+ (#xEC ?\u044C) ;; CYRILLIC SMALL LETTER SOFT SIGN
+ (#xED ?\u044D) ;; CYRILLIC SMALL LETTER E
+ (#xEE ?\u044E) ;; CYRILLIC SMALL LETTER YU
+ (#xEF ?\u044F) ;; CYRILLIC SMALL LETTER YA
+ (#xF0 ?\u2116) ;; NUMERO SIGN
+ (#xF1 ?\u0451) ;; CYRILLIC SMALL LETTER IO
+ (#xF2 ?\u0452) ;; CYRILLIC SMALL LETTER DJE
+ (#xF3 ?\u0453) ;; CYRILLIC SMALL LETTER GJE
+ (#xF4 ?\u0454) ;; CYRILLIC SMALL LETTER UKRAINIAN IE
+ (#xF5 ?\u0455) ;; CYRILLIC SMALL LETTER DZE
+ (#xF6 ?\u0456) ;; CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
+ (#xF7 ?\u0457) ;; CYRILLIC SMALL LETTER YI
+ (#xF8 ?\u0458) ;; CYRILLIC SMALL LETTER JE
+ (#xF9 ?\u0459) ;; CYRILLIC SMALL LETTER LJE
+ (#xFA ?\u045A) ;; CYRILLIC SMALL LETTER NJE
+ (#xFB ?\u045B) ;; CYRILLIC SMALL LETTER TSHE
+ (#xFC ?\u045C) ;; CYRILLIC SMALL LETTER KJE
+ (#xFD ?\u00A7) ;; SECTION SIGN
+ (#xFE ?\u045E) ;; CYRILLIC SMALL LETTER SHORT U
+ (#xFF ?\u045F)) ;; CYRILLIC SMALL LETTER DZHE
+ mnemonic "ISO8/Cyr"
documentation "The ISO standard for encoding Cyrillic. Not used in practice.
See `koi8-r' and `windows-1251'. "
aliases (cyrillic-iso-8bit)))
@@ -257,144 +257,144 @@
'("Cyrillic"))
;; KOI8-R, the most common encoding for Cyrillic on Unix and Usenet.
-(make-8-bit-coding-system
- 'koi8-r
- '((#x80 ?\u2500) ;; BOX DRAWINGS LIGHT HORIZONTAL
- (#x81 ?\u2502) ;; BOX DRAWINGS LIGHT VERTICAL
- (#x82 ?\u250C) ;; BOX DRAWINGS LIGHT DOWN AND RIGHT
- (#x83 ?\u2510) ;; BOX DRAWINGS LIGHT DOWN AND LEFT
- (#x84 ?\u2514) ;; BOX DRAWINGS LIGHT UP AND RIGHT
- (#x85 ?\u2518) ;; BOX DRAWINGS LIGHT UP AND LEFT
- (#x86 ?\u251C) ;; BOX DRAWINGS LIGHT VERTICAL AND RIGHT
- (#x87 ?\u2524) ;; BOX DRAWINGS LIGHT VERTICAL AND LEFT
- (#x88 ?\u252C) ;; BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
- (#x89 ?\u2534) ;; BOX DRAWINGS LIGHT UP AND HORIZONTAL
- (#x8A ?\u253C) ;; BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
- (#x8B ?\u2580) ;; UPPER HALF BLOCK
- (#x8C ?\u2584) ;; LOWER HALF BLOCK
- (#x8D ?\u2588) ;; FULL BLOCK
- (#x8E ?\u258C) ;; LEFT HALF BLOCK
- (#x8F ?\u2590) ;; RIGHT HALF BLOCK
- (#x90 ?\u2591) ;; LIGHT SHADE
- (#x91 ?\u2592) ;; MEDIUM SHADE
- (#x92 ?\u2593) ;; DARK SHADE
- (#x93 ?\u2320) ;; TOP HALF INTEGRAL
- (#x94 ?\u25A0) ;; BLACK SQUARE
- (#x95 ?\u2219) ;; BULLET OPERATOR
- (#x96 ?\u221A) ;; SQUARE ROOT
- (#x97 ?\u2248) ;; ALMOST EQUAL TO
- (#x98 ?\u2264) ;; LESS-THAN OR EQUAL TO
- (#x99 ?\u2265) ;; GREATER-THAN OR EQUAL TO
- (#x9A ?\u00A0) ;; NO-BREAK SPACE
- (#x9B ?\u2321) ;; BOTTOM HALF INTEGRAL
- (#x9C ?\u00B0) ;; DEGREE SIGN
- (#x9D ?\u00B2) ;; SUPERSCRIPT TWO
- (#x9E ?\u00B7) ;; MIDDLE DOT
- (#x9F ?\u00F7) ;; DIVISION SIGN
- (#xA0 ?\u2550) ;; BOX DRAWINGS DOUBLE HORIZONTAL
- (#xA1 ?\u2551) ;; BOX DRAWINGS DOUBLE VERTICAL
- (#xA2 ?\u2552) ;; BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
- (#xA3 ?\u0451) ;; CYRILLIC SMALL LETTER IO
- (#xA4 ?\u2553) ;; BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
- (#xA5 ?\u2554) ;; BOX DRAWINGS DOUBLE DOWN AND RIGHT
- (#xA6 ?\u2555) ;; BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
- (#xA7 ?\u2556) ;; BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
- (#xA8 ?\u2557) ;; BOX DRAWINGS DOUBLE DOWN AND LEFT
- (#xA9 ?\u2558) ;; BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
- (#xAA ?\u2559) ;; BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
- (#xAB ?\u255A) ;; BOX DRAWINGS DOUBLE UP AND RIGHT
- (#xAC ?\u255B) ;; BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
- (#xAD ?\u255C) ;; BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
- (#xAE ?\u255D) ;; BOX DRAWINGS DOUBLE UP AND LEFT
- (#xAF ?\u255E) ;; BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
- (#xB0 ?\u255F) ;; BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
- (#xB1 ?\u2560) ;; BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
- (#xB2 ?\u2561) ;; BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
- (#xB3 ?\u0401) ;; CYRILLIC CAPITAL LETTER IO
- (#xB4 ?\u2562) ;; BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
- (#xB5 ?\u2563) ;; BOX DRAWINGS DOUBLE VERTICAL AND LEFT
- (#xB6 ?\u2564) ;; BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
- (#xB7 ?\u2565) ;; BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
- (#xB8 ?\u2566) ;; BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
- (#xB9 ?\u2567) ;; BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
- (#xBA ?\u2568) ;; BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
- (#xBB ?\u2569) ;; BOX DRAWINGS DOUBLE UP AND HORIZONTAL
- (#xBC ?\u256A) ;; BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
- (#xBD ?\u256B) ;; BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
- (#xBE ?\u256C) ;; BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
- (#xBF ?\u00A9) ;; COPYRIGHT SIGN
- (#xC0 ?\u044E) ;; CYRILLIC SMALL LETTER YU
- (#xC1 ?\u0430) ;; CYRILLIC SMALL LETTER A
- (#xC2 ?\u0431) ;; CYRILLIC SMALL LETTER BE
- (#xC3 ?\u0446) ;; CYRILLIC SMALL LETTER TSE
- (#xC4 ?\u0434) ;; CYRILLIC SMALL LETTER DE
- (#xC5 ?\u0435) ;; CYRILLIC SMALL LETTER IE
- (#xC6 ?\u0444) ;; CYRILLIC SMALL LETTER EF
- (#xC7 ?\u0433) ;; CYRILLIC SMALL LETTER GHE
- (#xC8 ?\u0445) ;; CYRILLIC SMALL LETTER HA
- (#xC9 ?\u0438) ;; CYRILLIC SMALL LETTER I
- (#xCA ?\u0439) ;; CYRILLIC SMALL LETTER SHORT I
- (#xCB ?\u043A) ;; CYRILLIC SMALL LETTER KA
- (#xCC ?\u043B) ;; CYRILLIC SMALL LETTER EL
- (#xCD ?\u043C) ;; CYRILLIC SMALL LETTER EM
- (#xCE ?\u043D) ;; CYRILLIC SMALL LETTER EN
- (#xCF ?\u043E) ;; CYRILLIC SMALL LETTER O
- (#xD0 ?\u043F) ;; CYRILLIC SMALL LETTER PE
- (#xD1 ?\u044F) ;; CYRILLIC SMALL LETTER YA
- (#xD2 ?\u0440) ;; CYRILLIC SMALL LETTER ER
- (#xD3 ?\u0441) ;; CYRILLIC SMALL LETTER ES
- (#xD4 ?\u0442) ;; CYRILLIC SMALL LETTER TE
- (#xD5 ?\u0443) ;; CYRILLIC SMALL LETTER U
- (#xD6 ?\u0436) ;; CYRILLIC SMALL LETTER ZHE
- (#xD7 ?\u0432) ;; CYRILLIC SMALL LETTER VE
- (#xD8 ?\u044C) ;; CYRILLIC SMALL LETTER SOFT SIGN
- (#xD9 ?\u044B) ;; CYRILLIC SMALL LETTER YERU
- (#xDA ?\u0437) ;; CYRILLIC SMALL LETTER ZE
- (#xDB ?\u0448) ;; CYRILLIC SMALL LETTER SHA
- (#xDC ?\u044D) ;; CYRILLIC SMALL LETTER E
- (#xDD ?\u0449) ;; CYRILLIC SMALL LETTER SHCHA
- (#xDE ?\u0447) ;; CYRILLIC SMALL LETTER CHE
- (#xDF ?\u044A) ;; CYRILLIC SMALL LETTER HARD SIGN
- (#xE0 ?\u042E) ;; CYRILLIC CAPITAL LETTER YU
- (#xE1 ?\u0410) ;; CYRILLIC CAPITAL LETTER A
- (#xE2 ?\u0411) ;; CYRILLIC CAPITAL LETTER BE
- (#xE3 ?\u0426) ;; CYRILLIC CAPITAL LETTER TSE
- (#xE4 ?\u0414) ;; CYRILLIC CAPITAL LETTER DE
- (#xE5 ?\u0415) ;; CYRILLIC CAPITAL LETTER IE
- (#xE6 ?\u0424) ;; CYRILLIC CAPITAL LETTER EF
- (#xE7 ?\u0413) ;; CYRILLIC CAPITAL LETTER GHE
- (#xE8 ?\u0425) ;; CYRILLIC CAPITAL LETTER HA
- (#xE9 ?\u0418) ;; CYRILLIC CAPITAL LETTER I
- (#xEA ?\u0419) ;; CYRILLIC CAPITAL LETTER SHORT I
- (#xEB ?\u041A) ;; CYRILLIC CAPITAL LETTER KA
- (#xEC ?\u041B) ;; CYRILLIC CAPITAL LETTER EL
- (#xED ?\u041C) ;; CYRILLIC CAPITAL LETTER EM
- (#xEE ?\u041D) ;; CYRILLIC CAPITAL LETTER EN
- (#xEF ?\u041E) ;; CYRILLIC CAPITAL LETTER O
- (#xF0 ?\u041F) ;; CYRILLIC CAPITAL LETTER PE
- (#xF1 ?\u042F) ;; CYRILLIC CAPITAL LETTER YA
- (#xF2 ?\u0420) ;; CYRILLIC CAPITAL LETTER ER
- (#xF3 ?\u0421) ;; CYRILLIC CAPITAL LETTER ES
- (#xF4 ?\u0422) ;; CYRILLIC CAPITAL LETTER TE
- (#xF5 ?\u0423) ;; CYRILLIC CAPITAL LETTER U
- (#xF6 ?\u0416) ;; CYRILLIC CAPITAL LETTER ZHE
- (#xF7 ?\u0412) ;; CYRILLIC CAPITAL LETTER VE
- (#xF8 ?\u042C) ;; CYRILLIC CAPITAL LETTER SOFT SIGN
- (#xF9 ?\u042B) ;; CYRILLIC CAPITAL LETTER YERU
- (#xFA ?\u0417) ;; CYRILLIC CAPITAL LETTER ZE
- (#xFB ?\u0428) ;; CYRILLIC CAPITAL LETTER SHA
- (#xFC ?\u042D) ;; CYRILLIC CAPITAL LETTER E
- (#xFD ?\u0429) ;; CYRILLIC CAPITAL LETTER SHCHA
- (#xFE ?\u0427) ;; CYRILLIC CAPITAL LETTER CHE
- (#xFF ?\u042A));; CYRILLIC CAPITAL LETTER HARD SIGN
- "KOI8-R (Код Обмена Информацией, 8 бит) for Russian and Bulgarian."
- '(mnemonic "KOI8"
+(make-coding-system
+ 'koi8-r 'fixed-width "KOI8-R (Cyrillic)"
+ '(unicode-map
+ ((#x80 ?\u2500) ;; BOX DRAWINGS LIGHT HORIZONTAL
+ (#x81 ?\u2502) ;; BOX DRAWINGS LIGHT VERTICAL
+ (#x82 ?\u250C) ;; BOX DRAWINGS LIGHT DOWN AND RIGHT
+ (#x83 ?\u2510) ;; BOX DRAWINGS LIGHT DOWN AND LEFT
+ (#x84 ?\u2514) ;; BOX DRAWINGS LIGHT UP AND RIGHT
+ (#x85 ?\u2518) ;; BOX DRAWINGS LIGHT UP AND LEFT
+ (#x86 ?\u251C) ;; BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+ (#x87 ?\u2524) ;; BOX DRAWINGS LIGHT VERTICAL AND LEFT
+ (#x88 ?\u252C) ;; BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+ (#x89 ?\u2534) ;; BOX DRAWINGS LIGHT UP AND HORIZONTAL
+ (#x8A ?\u253C) ;; BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+ (#x8B ?\u2580) ;; UPPER HALF BLOCK
+ (#x8C ?\u2584) ;; LOWER HALF BLOCK
+ (#x8D ?\u2588) ;; FULL BLOCK
+ (#x8E ?\u258C) ;; LEFT HALF BLOCK
+ (#x8F ?\u2590) ;; RIGHT HALF BLOCK
+ (#x90 ?\u2591) ;; LIGHT SHADE
+ (#x91 ?\u2592) ;; MEDIUM SHADE
+ (#x92 ?\u2593) ;; DARK SHADE
+ (#x93 ?\u2320) ;; TOP HALF INTEGRAL
+ (#x94 ?\u25A0) ;; BLACK SQUARE
+ (#x95 ?\u2219) ;; BULLET OPERATOR
+ (#x96 ?\u221A) ;; SQUARE ROOT
+ (#x97 ?\u2248) ;; ALMOST EQUAL TO
+ (#x98 ?\u2264) ;; LESS-THAN OR EQUAL TO
+ (#x99 ?\u2265) ;; GREATER-THAN OR EQUAL TO
+ (#x9A ?\u00A0) ;; NO-BREAK SPACE
+ (#x9B ?\u2321) ;; BOTTOM HALF INTEGRAL
+ (#x9C ?\u00B0) ;; DEGREE SIGN
+ (#x9D ?\u00B2) ;; SUPERSCRIPT TWO
+ (#x9E ?\u00B7) ;; MIDDLE DOT
+ (#x9F ?\u00F7) ;; DIVISION SIGN
+ (#xA0 ?\u2550) ;; BOX DRAWINGS DOUBLE HORIZONTAL
+ (#xA1 ?\u2551) ;; BOX DRAWINGS DOUBLE VERTICAL
+ (#xA2 ?\u2552) ;; BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
+ (#xA3 ?\u0451) ;; CYRILLIC SMALL LETTER IO
+ (#xA4 ?\u2553) ;; BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
+ (#xA5 ?\u2554) ;; BOX DRAWINGS DOUBLE DOWN AND RIGHT
+ (#xA6 ?\u2555) ;; BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
+ (#xA7 ?\u2556) ;; BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
+ (#xA8 ?\u2557) ;; BOX DRAWINGS DOUBLE DOWN AND LEFT
+ (#xA9 ?\u2558) ;; BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
+ (#xAA ?\u2559) ;; BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
+ (#xAB ?\u255A) ;; BOX DRAWINGS DOUBLE UP AND RIGHT
+ (#xAC ?\u255B) ;; BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
+ (#xAD ?\u255C) ;; BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
+ (#xAE ?\u255D) ;; BOX DRAWINGS DOUBLE UP AND LEFT
+ (#xAF ?\u255E) ;; BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
+ (#xB0 ?\u255F) ;; BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
+ (#xB1 ?\u2560) ;; BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+ (#xB2 ?\u2561) ;; BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
+ (#xB3 ?\u0401) ;; CYRILLIC CAPITAL LETTER IO
+ (#xB4 ?\u2562) ;; BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
+ (#xB5 ?\u2563) ;; BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+ (#xB6 ?\u2564) ;; BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
+ (#xB7 ?\u2565) ;; BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
+ (#xB8 ?\u2566) ;; BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+ (#xB9 ?\u2567) ;; BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
+ (#xBA ?\u2568) ;; BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
+ (#xBB ?\u2569) ;; BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+ (#xBC ?\u256A) ;; BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+ (#xBD ?\u256B) ;; BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
+ (#xBE ?\u256C) ;; BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+ (#xBF ?\u00A9) ;; COPYRIGHT SIGN
+ (#xC0 ?\u044E) ;; CYRILLIC SMALL LETTER YU
+ (#xC1 ?\u0430) ;; CYRILLIC SMALL LETTER A
+ (#xC2 ?\u0431) ;; CYRILLIC SMALL LETTER BE
+ (#xC3 ?\u0446) ;; CYRILLIC SMALL LETTER TSE
+ (#xC4 ?\u0434) ;; CYRILLIC SMALL LETTER DE
+ (#xC5 ?\u0435) ;; CYRILLIC SMALL LETTER IE
+ (#xC6 ?\u0444) ;; CYRILLIC SMALL LETTER EF
+ (#xC7 ?\u0433) ;; CYRILLIC SMALL LETTER GHE
+ (#xC8 ?\u0445) ;; CYRILLIC SMALL LETTER HA
+ (#xC9 ?\u0438) ;; CYRILLIC SMALL LETTER I
+ (#xCA ?\u0439) ;; CYRILLIC SMALL LETTER SHORT I
+ (#xCB ?\u043A) ;; CYRILLIC SMALL LETTER KA
+ (#xCC ?\u043B) ;; CYRILLIC SMALL LETTER EL
+ (#xCD ?\u043C) ;; CYRILLIC SMALL LETTER EM
+ (#xCE ?\u043D) ;; CYRILLIC SMALL LETTER EN
+ (#xCF ?\u043E) ;; CYRILLIC SMALL LETTER O
+ (#xD0 ?\u043F) ;; CYRILLIC SMALL LETTER PE
+ (#xD1 ?\u044F) ;; CYRILLIC SMALL LETTER YA
+ (#xD2 ?\u0440) ;; CYRILLIC SMALL LETTER ER
+ (#xD3 ?\u0441) ;; CYRILLIC SMALL LETTER ES
+ (#xD4 ?\u0442) ;; CYRILLIC SMALL LETTER TE
+ (#xD5 ?\u0443) ;; CYRILLIC SMALL LETTER U
+ (#xD6 ?\u0436) ;; CYRILLIC SMALL LETTER ZHE
+ (#xD7 ?\u0432) ;; CYRILLIC SMALL LETTER VE
+ (#xD8 ?\u044C) ;; CYRILLIC SMALL LETTER SOFT SIGN
+ (#xD9 ?\u044B) ;; CYRILLIC SMALL LETTER YERU
+ (#xDA ?\u0437) ;; CYRILLIC SMALL LETTER ZE
+ (#xDB ?\u0448) ;; CYRILLIC SMALL LETTER SHA
+ (#xDC ?\u044D) ;; CYRILLIC SMALL LETTER E
+ (#xDD ?\u0449) ;; CYRILLIC SMALL LETTER SHCHA
+ (#xDE ?\u0447) ;; CYRILLIC SMALL LETTER CHE
+ (#xDF ?\u044A) ;; CYRILLIC SMALL LETTER HARD SIGN
+ (#xE0 ?\u042E) ;; CYRILLIC CAPITAL LETTER YU
+ (#xE1 ?\u0410) ;; CYRILLIC CAPITAL LETTER A
+ (#xE2 ?\u0411) ;; CYRILLIC CAPITAL LETTER BE
+ (#xE3 ?\u0426) ;; CYRILLIC CAPITAL LETTER TSE
+ (#xE4 ?\u0414) ;; CYRILLIC CAPITAL LETTER DE
+ (#xE5 ?\u0415) ;; CYRILLIC CAPITAL LETTER IE
+ (#xE6 ?\u0424) ;; CYRILLIC CAPITAL LETTER EF
+ (#xE7 ?\u0413) ;; CYRILLIC CAPITAL LETTER GHE
+ (#xE8 ?\u0425) ;; CYRILLIC CAPITAL LETTER HA
+ (#xE9 ?\u0418) ;; CYRILLIC CAPITAL LETTER I
+ (#xEA ?\u0419) ;; CYRILLIC CAPITAL LETTER SHORT I
+ (#xEB ?\u041A) ;; CYRILLIC CAPITAL LETTER KA
+ (#xEC ?\u041B) ;; CYRILLIC CAPITAL LETTER EL
+ (#xED ?\u041C) ;; CYRILLIC CAPITAL LETTER EM
+ (#xEE ?\u041D) ;; CYRILLIC CAPITAL LETTER EN
+ (#xEF ?\u041E) ;; CYRILLIC CAPITAL LETTER O
+ (#xF0 ?\u041F) ;; CYRILLIC CAPITAL LETTER PE
+ (#xF1 ?\u042F) ;; CYRILLIC CAPITAL LETTER YA
+ (#xF2 ?\u0420) ;; CYRILLIC CAPITAL LETTER ER
+ (#xF3 ?\u0421) ;; CYRILLIC CAPITAL LETTER ES
+ (#xF4 ?\u0422) ;; CYRILLIC CAPITAL LETTER TE
+ (#xF5 ?\u0423) ;; CYRILLIC CAPITAL LETTER U
+ (#xF6 ?\u0416) ;; CYRILLIC CAPITAL LETTER ZHE
+ (#xF7 ?\u0412) ;; CYRILLIC CAPITAL LETTER VE
+ (#xF8 ?\u042C) ;; CYRILLIC CAPITAL LETTER SOFT SIGN
+ (#xF9 ?\u042B) ;; CYRILLIC CAPITAL LETTER YERU
+ (#xFA ?\u0417) ;; CYRILLIC CAPITAL LETTER ZE
+ (#xFB ?\u0428) ;; CYRILLIC CAPITAL LETTER SHA
+ (#xFC ?\u042D) ;; CYRILLIC CAPITAL LETTER E
+ (#xFD ?\u0429) ;; CYRILLIC CAPITAL LETTER SHCHA
+ (#xFE ?\u0427) ;; CYRILLIC CAPITAL LETTER CHE
+ (#xFF ?\u042A)) ;; CYRILLIC CAPITAL LETTER HARD SIGN
+ mnemonic "KOI8"
documentation
- "This is the ASCII-compatible encoding documented in RFC 1341.
-КОИ8-Р is very common across the Cyrillic-using internet and in Unix
-implementations; it shares the useful property with the other КОИ8
-encodings that when the high bit is stripped, encoded text remains
-readable (Cyrillic characters get mapped to corresponding Roman
+ "This is Код Обмена Информацией, 8 бит, the ASCII-compatible encoding
+documented in RFC 1341. КОИ8-Р is very common across the Cyrillic-using
+internet and in Unix implementations; it shares the useful property with the
+other КОИ8 encodings that when the high bit is stripped, encoded text
+remains readable (Cyrillic characters get mapped to corresponding Roman
character of the opposite case). "
aliases (cyrillic-koi8 koi8 cp878)))
@@ -424,143 +424,143 @@
'("Cyrillic"))
;; KOI8-U, for Ukrainian.
-(make-8-bit-coding-system
- 'koi8-u
- '((#x80 ?\u2500) ;; BOX DRAWINGS LIGHT HORIZONTAL
- (#x81 ?\u2502) ;; BOX DRAWINGS LIGHT VERTICAL
- (#x82 ?\u250C) ;; BOX DRAWINGS LIGHT DOWN AND RIGHT
- (#x83 ?\u2510) ;; BOX DRAWINGS LIGHT DOWN AND LEFT
- (#x84 ?\u2514) ;; BOX DRAWINGS LIGHT UP AND RIGHT
- (#x85 ?\u2518) ;; BOX DRAWINGS LIGHT UP AND LEFT
- (#x86 ?\u251C) ;; BOX DRAWINGS LIGHT VERTICAL AND RIGHT
- (#x87 ?\u2524) ;; BOX DRAWINGS LIGHT VERTICAL AND LEFT
- (#x88 ?\u252C) ;; BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
- (#x89 ?\u2534) ;; BOX DRAWINGS LIGHT UP AND HORIZONTAL
- (#x8A ?\u253C) ;; BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
- (#x8B ?\u2580) ;; UPPER HALF BLOCK
- (#x8C ?\u2584) ;; LOWER HALF BLOCK
- (#x8D ?\u2588) ;; FULL BLOCK
- (#x8E ?\u258C) ;; LEFT HALF BLOCK
- (#x8F ?\u2590) ;; RIGHT HALF BLOCK
- (#x90 ?\u2591) ;; LIGHT SHADE
- (#x91 ?\u2592) ;; MEDIUM SHADE
- (#x92 ?\u2593) ;; DARK SHADE
- (#x93 ?\u2320) ;; TOP HALF INTEGRAL
- (#x94 ?\u25A0) ;; BLACK SQUARE
- (#x95 ?\u2022) ;; BULLET
- (#x96 ?\u221A) ;; SQUARE ROOT
- (#x97 ?\u2248) ;; ALMOST EQUAL TO
- (#x98 ?\u2264) ;; LESS-THAN OR EQUAL TO
- (#x99 ?\u2265) ;; GREATER-THAN OR EQUAL TO
- (#x9A ?\u00A0) ;; NO-BREAK SPACE
- (#x9B ?\u2321) ;; BOTTOM HALF INTEGRAL
- (#x9C ?\u00B0) ;; DEGREE SIGN
- (#x9D ?\u00B2) ;; SUPERSCRIPT TWO
- (#x9E ?\u00B7) ;; MIDDLE DOT
- (#x9F ?\u00F7) ;; DIVISION SIGN
- (#xA0 ?\u2550) ;; BOX DRAWINGS DOUBLE HORIZONTAL
- (#xA1 ?\u2551) ;; BOX DRAWINGS DOUBLE VERTICAL
- (#xA2 ?\u2552) ;; BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
- (#xA3 ?\u0451) ;; CYRILLIC SMALL LETTER IO
- (#xA4 ?\u0454) ;; CYRILLIC SMALL LETTER UKRAINIAN IE
- (#xA5 ?\u2554) ;; BOX DRAWINGS DOUBLE DOWN AND RIGHT
- (#xA6 ?\u0456) ;; CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
- (#xA7 ?\u0457) ;; CYRILLIC SMALL LETTER YI
- (#xA8 ?\u2557) ;; BOX DRAWINGS DOUBLE DOWN AND LEFT
- (#xA9 ?\u2558) ;; BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
- (#xAA ?\u2559) ;; BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
- (#xAB ?\u255A) ;; BOX DRAWINGS DOUBLE UP AND RIGHT
- (#xAC ?\u255B) ;; BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
- (#xAD ?\u0491) ;; CYRILLIC SMALL LETTER GHE WITH UPTURN
- (#xAE ?\u255D) ;; BOX DRAWINGS DOUBLE UP AND LEFT
- (#xAF ?\u255E) ;; BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
- (#xB0 ?\u255F) ;; BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
- (#xB1 ?\u2560) ;; BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
- (#xB2 ?\u2561) ;; BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
- (#xB3 ?\u0401) ;; CYRILLIC CAPITAL LETTER IO
- (#xB4 ?\u0404) ;; CYRILLIC CAPITAL LETTER UKRAINIAN IE
- (#xB5 ?\u2563) ;; BOX DRAWINGS DOUBLE VERTICAL AND LEFT
- (#xB6 ?\u0406) ;; CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
- (#xB7 ?\u0407) ;; CYRILLIC CAPITAL LETTER YI
- (#xB8 ?\u2566) ;; BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
- (#xB9 ?\u2567) ;; BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
- (#xBA ?\u2568) ;; BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
- (#xBB ?\u2569) ;; BOX DRAWINGS DOUBLE UP AND HORIZONTAL
- (#xBC ?\u256A) ;; BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
- (#xBD ?\u0490) ;; CYRILLIC CAPITAL LETTER GHE WITH UPTURN
- (#xBE ?\u256C) ;; BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
- (#xBF ?\u00A9) ;; COPYRIGHT SIGN
- (#xC0 ?\u044E) ;; CYRILLIC SMALL LETTER YU
- (#xC1 ?\u0430) ;; CYRILLIC SMALL LETTER A
- (#xC2 ?\u0431) ;; CYRILLIC SMALL LETTER BE
- (#xC3 ?\u0446) ;; CYRILLIC SMALL LETTER TSE
- (#xC4 ?\u0434) ;; CYRILLIC SMALL LETTER DE
- (#xC5 ?\u0435) ;; CYRILLIC SMALL LETTER IE
- (#xC6 ?\u0444) ;; CYRILLIC SMALL LETTER EF
- (#xC7 ?\u0433) ;; CYRILLIC SMALL LETTER GHE
- (#xC8 ?\u0445) ;; CYRILLIC SMALL LETTER HA
- (#xC9 ?\u0438) ;; CYRILLIC SMALL LETTER I
- (#xCA ?\u0439) ;; CYRILLIC SMALL LETTER SHORT I
- (#xCB ?\u043A) ;; CYRILLIC SMALL LETTER KA
- (#xCC ?\u043B) ;; CYRILLIC SMALL LETTER EL
- (#xCD ?\u043C) ;; CYRILLIC SMALL LETTER EM
- (#xCE ?\u043D) ;; CYRILLIC SMALL LETTER EN
- (#xCF ?\u043E) ;; CYRILLIC SMALL LETTER O
- (#xD0 ?\u043F) ;; CYRILLIC SMALL LETTER PE
- (#xD1 ?\u044F) ;; CYRILLIC SMALL LETTER YA
- (#xD2 ?\u0440) ;; CYRILLIC SMALL LETTER ER
- (#xD3 ?\u0441) ;; CYRILLIC SMALL LETTER ES
- (#xD4 ?\u0442) ;; CYRILLIC SMALL LETTER TE
- (#xD5 ?\u0443) ;; CYRILLIC SMALL LETTER U
- (#xD6 ?\u0436) ;; CYRILLIC SMALL LETTER ZHE
- (#xD7 ?\u0432) ;; CYRILLIC SMALL LETTER VE
- (#xD8 ?\u044C) ;; CYRILLIC SMALL LETTER SOFT SIGN
- (#xD9 ?\u044B) ;; CYRILLIC SMALL LETTER YERU
- (#xDA ?\u0437) ;; CYRILLIC SMALL LETTER ZE
- (#xDB ?\u0448) ;; CYRILLIC SMALL LETTER SHA
- (#xDC ?\u044D) ;; CYRILLIC SMALL LETTER E
- (#xDD ?\u0449) ;; CYRILLIC SMALL LETTER SHCHA
- (#xDE ?\u0447) ;; CYRILLIC SMALL LETTER CHE
- (#xDF ?\u044A) ;; CYRILLIC SMALL LETTER HARD SIGN
- (#xE0 ?\u042E) ;; CYRILLIC CAPITAL LETTER YU
- (#xE1 ?\u0410) ;; CYRILLIC CAPITAL LETTER A
- (#xE2 ?\u0411) ;; CYRILLIC CAPITAL LETTER BE
- (#xE3 ?\u0426) ;; CYRILLIC CAPITAL LETTER TSE
- (#xE4 ?\u0414) ;; CYRILLIC CAPITAL LETTER DE
- (#xE5 ?\u0415) ;; CYRILLIC CAPITAL LETTER IE
- (#xE6 ?\u0424) ;; CYRILLIC CAPITAL LETTER EF
- (#xE7 ?\u0413) ;; CYRILLIC CAPITAL LETTER GHE
- (#xE8 ?\u0425) ;; CYRILLIC CAPITAL LETTER HA
- (#xE9 ?\u0418) ;; CYRILLIC CAPITAL LETTER I
- (#xEA ?\u0419) ;; CYRILLIC CAPITAL LETTER SHORT I
- (#xEB ?\u041A) ;; CYRILLIC CAPITAL LETTER KA
- (#xEC ?\u041B) ;; CYRILLIC CAPITAL LETTER EL
- (#xED ?\u041C) ;; CYRILLIC CAPITAL LETTER EM
- (#xEE ?\u041D) ;; CYRILLIC CAPITAL LETTER EN
- (#xEF ?\u041E) ;; CYRILLIC CAPITAL LETTER O
- (#xF0 ?\u041F) ;; CYRILLIC CAPITAL LETTER PE
- (#xF1 ?\u042F) ;; CYRILLIC CAPITAL LETTER YA
- (#xF2 ?\u0420) ;; CYRILLIC CAPITAL LETTER ER
- (#xF3 ?\u0421) ;; CYRILLIC CAPITAL LETTER ES
- (#xF4 ?\u0422) ;; CYRILLIC CAPITAL LETTER TE
- (#xF5 ?\u0423) ;; CYRILLIC CAPITAL LETTER U
- (#xF6 ?\u0416) ;; CYRILLIC CAPITAL LETTER ZHE
- (#xF7 ?\u0412) ;; CYRILLIC CAPITAL LETTER VE
- (#xF8 ?\u042C) ;; CYRILLIC CAPITAL LETTER SOFT SIGN
- (#xF9 ?\u042B) ;; CYRILLIC CAPITAL LETTER YERU
- (#xFA ?\u0417) ;; CYRILLIC CAPITAL LETTER ZE
- (#xFB ?\u0428) ;; CYRILLIC CAPITAL LETTER SHA
- (#xFC ?\u042D) ;; CYRILLIC CAPITAL LETTER E
- (#xFD ?\u0429) ;; CYRILLIC CAPITAL LETTER SHCHA
- (#xFE ?\u0427) ;; CYRILLIC CAPITAL LETTER CHE
- (#xFF ?\u042A)) ;; CYRILLIC CAPITAL LETTER HARD SIGN
- "KOI8-U, for Ukrainian"
- '(mnemonic "КОИ8У"
+(make-coding-system
+ 'koi8-u 'fixed-width "KOI8-U, Ukrainian"
+ '(unicode-map
+ ((#x80 ?\u2500) ;; BOX DRAWINGS LIGHT HORIZONTAL
+ (#x81 ?\u2502) ;; BOX DRAWINGS LIGHT VERTICAL
+ (#x82 ?\u250C) ;; BOX DRAWINGS LIGHT DOWN AND RIGHT
+ (#x83 ?\u2510) ;; BOX DRAWINGS LIGHT DOWN AND LEFT
+ (#x84 ?\u2514) ;; BOX DRAWINGS LIGHT UP AND RIGHT
+ (#x85 ?\u2518) ;; BOX DRAWINGS LIGHT UP AND LEFT
+ (#x86 ?\u251C) ;; BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+ (#x87 ?\u2524) ;; BOX DRAWINGS LIGHT VERTICAL AND LEFT
+ (#x88 ?\u252C) ;; BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+ (#x89 ?\u2534) ;; BOX DRAWINGS LIGHT UP AND HORIZONTAL
+ (#x8A ?\u253C) ;; BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+ (#x8B ?\u2580) ;; UPPER HALF BLOCK
+ (#x8C ?\u2584) ;; LOWER HALF BLOCK
+ (#x8D ?\u2588) ;; FULL BLOCK
+ (#x8E ?\u258C) ;; LEFT HALF BLOCK
+ (#x8F ?\u2590) ;; RIGHT HALF BLOCK
+ (#x90 ?\u2591) ;; LIGHT SHADE
+ (#x91 ?\u2592) ;; MEDIUM SHADE
+ (#x92 ?\u2593) ;; DARK SHADE
+ (#x93 ?\u2320) ;; TOP HALF INTEGRAL
+ (#x94 ?\u25A0) ;; BLACK SQUARE
+ (#x95 ?\u2022) ;; BULLET
+ (#x96 ?\u221A) ;; SQUARE ROOT
+ (#x97 ?\u2248) ;; ALMOST EQUAL TO
+ (#x98 ?\u2264) ;; LESS-THAN OR EQUAL TO
+ (#x99 ?\u2265) ;; GREATER-THAN OR EQUAL TO
+ (#x9A ?\u00A0) ;; NO-BREAK SPACE
+ (#x9B ?\u2321) ;; BOTTOM HALF INTEGRAL
+ (#x9C ?\u00B0) ;; DEGREE SIGN
+ (#x9D ?\u00B2) ;; SUPERSCRIPT TWO
+ (#x9E ?\u00B7) ;; MIDDLE DOT
+ (#x9F ?\u00F7) ;; DIVISION SIGN
+ (#xA0 ?\u2550) ;; BOX DRAWINGS DOUBLE HORIZONTAL
+ (#xA1 ?\u2551) ;; BOX DRAWINGS DOUBLE VERTICAL
+ (#xA2 ?\u2552) ;; BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
+ (#xA3 ?\u0451) ;; CYRILLIC SMALL LETTER IO
+ (#xA4 ?\u0454) ;; CYRILLIC SMALL LETTER UKRAINIAN IE
+ (#xA5 ?\u2554) ;; BOX DRAWINGS DOUBLE DOWN AND RIGHT
+ (#xA6 ?\u0456) ;; CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
+ (#xA7 ?\u0457) ;; CYRILLIC SMALL LETTER YI
+ (#xA8 ?\u2557) ;; BOX DRAWINGS DOUBLE DOWN AND LEFT
+ (#xA9 ?\u2558) ;; BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
+ (#xAA ?\u2559) ;; BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
+ (#xAB ?\u255A) ;; BOX DRAWINGS DOUBLE UP AND RIGHT
+ (#xAC ?\u255B) ;; BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
+ (#xAD ?\u0491) ;; CYRILLIC SMALL LETTER GHE WITH UPTURN
+ (#xAE ?\u255D) ;; BOX DRAWINGS DOUBLE UP AND LEFT
+ (#xAF ?\u255E) ;; BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
+ (#xB0 ?\u255F) ;; BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
+ (#xB1 ?\u2560) ;; BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+ (#xB2 ?\u2561) ;; BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
+ (#xB3 ?\u0401) ;; CYRILLIC CAPITAL LETTER IO
+ (#xB4 ?\u0404) ;; CYRILLIC CAPITAL LETTER UKRAINIAN IE
+ (#xB5 ?\u2563) ;; BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+ (#xB6 ?\u0406) ;; CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
+ (#xB7 ?\u0407) ;; CYRILLIC CAPITAL LETTER YI
+ (#xB8 ?\u2566) ;; BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+ (#xB9 ?\u2567) ;; BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
+ (#xBA ?\u2568) ;; BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
+ (#xBB ?\u2569) ;; BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+ (#xBC ?\u256A) ;; BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+ (#xBD ?\u0490) ;; CYRILLIC CAPITAL LETTER GHE WITH UPTURN
+ (#xBE ?\u256C) ;; BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+ (#xBF ?\u00A9) ;; COPYRIGHT SIGN
+ (#xC0 ?\u044E) ;; CYRILLIC SMALL LETTER YU
+ (#xC1 ?\u0430) ;; CYRILLIC SMALL LETTER A
+ (#xC2 ?\u0431) ;; CYRILLIC SMALL LETTER BE
+ (#xC3 ?\u0446) ;; CYRILLIC SMALL LETTER TSE
+ (#xC4 ?\u0434) ;; CYRILLIC SMALL LETTER DE
+ (#xC5 ?\u0435) ;; CYRILLIC SMALL LETTER IE
+ (#xC6 ?\u0444) ;; CYRILLIC SMALL LETTER EF
+ (#xC7 ?\u0433) ;; CYRILLIC SMALL LETTER GHE
+ (#xC8 ?\u0445) ;; CYRILLIC SMALL LETTER HA
+ (#xC9 ?\u0438) ;; CYRILLIC SMALL LETTER I
+ (#xCA ?\u0439) ;; CYRILLIC SMALL LETTER SHORT I
+ (#xCB ?\u043A) ;; CYRILLIC SMALL LETTER KA
+ (#xCC ?\u043B) ;; CYRILLIC SMALL LETTER EL
+ (#xCD ?\u043C) ;; CYRILLIC SMALL LETTER EM
+ (#xCE ?\u043D) ;; CYRILLIC SMALL LETTER EN
+ (#xCF ?\u043E) ;; CYRILLIC SMALL LETTER O
+ (#xD0 ?\u043F) ;; CYRILLIC SMALL LETTER PE
+ (#xD1 ?\u044F) ;; CYRILLIC SMALL LETTER YA
+ (#xD2 ?\u0440) ;; CYRILLIC SMALL LETTER ER
+ (#xD3 ?\u0441) ;; CYRILLIC SMALL LETTER ES
+ (#xD4 ?\u0442) ;; CYRILLIC SMALL LETTER TE
+ (#xD5 ?\u0443) ;; CYRILLIC SMALL LETTER U
+ (#xD6 ?\u0436) ;; CYRILLIC SMALL LETTER ZHE
+ (#xD7 ?\u0432) ;; CYRILLIC SMALL LETTER VE
+ (#xD8 ?\u044C) ;; CYRILLIC SMALL LETTER SOFT SIGN
+ (#xD9 ?\u044B) ;; CYRILLIC SMALL LETTER YERU
+ (#xDA ?\u0437) ;; CYRILLIC SMALL LETTER ZE
+ (#xDB ?\u0448) ;; CYRILLIC SMALL LETTER SHA
+ (#xDC ?\u044D) ;; CYRILLIC SMALL LETTER E
+ (#xDD ?\u0449) ;; CYRILLIC SMALL LETTER SHCHA
+ (#xDE ?\u0447) ;; CYRILLIC SMALL LETTER CHE
+ (#xDF ?\u044A) ;; CYRILLIC SMALL LETTER HARD SIGN
+ (#xE0 ?\u042E) ;; CYRILLIC CAPITAL LETTER YU
+ (#xE1 ?\u0410) ;; CYRILLIC CAPITAL LETTER A
+ (#xE2 ?\u0411) ;; CYRILLIC CAPITAL LETTER BE
+ (#xE3 ?\u0426) ;; CYRILLIC CAPITAL LETTER TSE
+ (#xE4 ?\u0414) ;; CYRILLIC CAPITAL LETTER DE
+ (#xE5 ?\u0415) ;; CYRILLIC CAPITAL LETTER IE
+ (#xE6 ?\u0424) ;; CYRILLIC CAPITAL LETTER EF
+ (#xE7 ?\u0413) ;; CYRILLIC CAPITAL LETTER GHE
+ (#xE8 ?\u0425) ;; CYRILLIC CAPITAL LETTER HA
+ (#xE9 ?\u0418) ;; CYRILLIC CAPITAL LETTER I
+ (#xEA ?\u0419) ;; CYRILLIC CAPITAL LETTER SHORT I
+ (#xEB ?\u041A) ;; CYRILLIC CAPITAL LETTER KA
+ (#xEC ?\u041B) ;; CYRILLIC CAPITAL LETTER EL
+ (#xED ?\u041C) ;; CYRILLIC CAPITAL LETTER EM
+ (#xEE ?\u041D) ;; CYRILLIC CAPITAL LETTER EN
+ (#xEF ?\u041E) ;; CYRILLIC CAPITAL LETTER O
+ (#xF0 ?\u041F) ;; CYRILLIC CAPITAL LETTER PE
+ (#xF1 ?\u042F) ;; CYRILLIC CAPITAL LETTER YA
+ (#xF2 ?\u0420) ;; CYRILLIC CAPITAL LETTER ER
+ (#xF3 ?\u0421) ;; CYRILLIC CAPITAL LETTER ES
+ (#xF4 ?\u0422) ;; CYRILLIC CAPITAL LETTER TE
+ (#xF5 ?\u0423) ;; CYRILLIC CAPITAL LETTER U
+ (#xF6 ?\u0416) ;; CYRILLIC CAPITAL LETTER ZHE
+ (#xF7 ?\u0412) ;; CYRILLIC CAPITAL LETTER VE
+ (#xF8 ?\u042C) ;; CYRILLIC CAPITAL LETTER SOFT SIGN
+ (#xF9 ?\u042B) ;; CYRILLIC CAPITAL LETTER YERU
+ (#xFA ?\u0417) ;; CYRILLIC CAPITAL LETTER ZE
+ (#xFB ?\u0428) ;; CYRILLIC CAPITAL LETTER SHA
+ (#xFC ?\u042D) ;; CYRILLIC CAPITAL LETTER E
+ (#xFD ?\u0429) ;; CYRILLIC CAPITAL LETTER SHCHA
+ (#xFE ?\u0427) ;; CYRILLIC CAPITAL LETTER CHE
+ (#xFF ?\u042A)) ;; CYRILLIC CAPITAL LETTER HARD SIGN
+ mnemonic "КОИ8У"
documentation
"KOI8-U, a KOI-8-compatible encoding for Ukrainian, described in RFC2319.
This has GHE WITH UPTURN, BYELORUSSIAN-UKRAINIAN I, UKRAINIAN IE and
YI instead of some box-drawing characters. Russian in this encoding
-(without using box-drawing characters) is bit-for-bit compatible with
+\(without using box-drawing characters) is bit-for-bit compatible with
Russian in KOI8-R. "))
;; Case support, for the new characters.
@@ -584,142 +584,145 @@
. "Support for Ukrainian."))
'("Cyrillic"))
-(make-8-bit-coding-system
- 'windows-1251
- '((#x80 ?\u0402) ;; CYRILLIC CAPITAL LETTER DJE
- (#x81 ?\u0403) ;; CYRILLIC CAPITAL LETTER GJE
- (#x82 ?\u201A) ;; SINGLE LOW-9 QUOTATION MARK
- (#x83 ?\u0453) ;; CYRILLIC SMALL LETTER GJE
- (#x84 ?\u201E) ;; DOUBLE LOW-9 QUOTATION MARK
- (#x85 ?\u2026) ;; HORIZONTAL ELLIPSIS
- (#x86 ?\u2020) ;; DAGGER
- (#x87 ?\u2021) ;; DOUBLE DAGGER
- (#x88 ?\u20AC) ;; EURO SIGN
- (#x89 ?\u2030) ;; PER MILLE SIGN
- (#x8A ?\u0409) ;; CYRILLIC CAPITAL LETTER LJE
- (#x8B ?\u2039) ;; SINGLE LEFT-POINTING ANGLE QUOTATION MARK
- (#x8C ?\u040A) ;; CYRILLIC CAPITAL LETTER NJE
- (#x8D ?\u040C) ;; CYRILLIC CAPITAL LETTER KJE
- (#x8E ?\u040B) ;; CYRILLIC CAPITAL LETTER TSHE
- (#x8F ?\u040F) ;; CYRILLIC CAPITAL LETTER DZHE
- (#x90 ?\u0452) ;; CYRILLIC SMALL LETTER DJE
- (#x91 ?\u2018) ;; LEFT SINGLE QUOTATION MARK
- (#x92 ?\u2019) ;; RIGHT SINGLE QUOTATION MARK
- (#x93 ?\u201C) ;; LEFT DOUBLE QUOTATION MARK
- (#x94 ?\u201D) ;; RIGHT DOUBLE QUOTATION MARK
- (#x95 ?\u2022) ;; BULLET
- (#x96 ?\u2013) ;; EN DASH
- (#x97 ?\u2014) ;; EM DASH
- (#x99 ?\u2122) ;; TRADE MARK SIGN
- (#x9A ?\u0459) ;; CYRILLIC SMALL LETTER LJE
- (#x9B ?\u203A) ;; SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
- (#x9C ?\u045A) ;; CYRILLIC SMALL LETTER NJE
- (#x9D ?\u045C) ;; CYRILLIC SMALL LETTER KJE
- (#x9E ?\u045B) ;; CYRILLIC SMALL LETTER TSHE
- (#x9F ?\u045F) ;; CYRILLIC SMALL LETTER DZHE
- (#xA0 ?\u00A0) ;; NO-BREAK SPACE
- (#xA1 ?\u040E) ;; CYRILLIC CAPITAL LETTER SHORT U
- (#xA2 ?\u045E) ;; CYRILLIC SMALL LETTER SHORT U
- (#xA3 ?\u0408) ;; CYRILLIC CAPITAL LETTER JE
- (#xA4 ?\u00A4) ;; CURRENCY SIGN
- (#xA5 ?\u0490) ;; CYRILLIC CAPITAL LETTER GHE WITH UPTURN
- (#xA6 ?\u00A6) ;; BROKEN BAR
- (#xA7 ?\u00A7) ;; SECTION SIGN
- (#xA8 ?\u0401) ;; CYRILLIC CAPITAL LETTER IO
- (#xA9 ?\u00A9) ;; COPYRIGHT SIGN
- (#xAA ?\u0404) ;; CYRILLIC CAPITAL LETTER UKRAINIAN IE
- (#xAB ?\u00AB) ;; LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- (#xAC ?\u00AC) ;; NOT SIGN
- (#xAD ?\u00AD) ;; SOFT HYPHEN
- (#xAE ?\u00AE) ;; REGISTERED SIGN
- (#xAF ?\u0407) ;; CYRILLIC CAPITAL LETTER YI
- (#xB0 ?\u00B0) ;; DEGREE SIGN
- (#xB1 ?\u00B1) ;; PLUS-MINUS SIGN
- (#xB2 ?\u0406) ;; CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
- (#xB3 ?\u0456) ;; CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
- (#xB4 ?\u0491) ;; CYRILLIC SMALL LETTER GHE WITH UPTURN
- (#xB5 ?\u00B5) ;; MICRO SIGN
- (#xB6 ?\u00B6) ;; PILCROW SIGN
- (#xB7 ?\u00B7) ;; MIDDLE DOT
- (#xB8 ?\u0451) ;; CYRILLIC SMALL LETTER IO
- (#xB9 ?\u2116) ;; NUMERO SIGN
- (#xBA ?\u0454) ;; CYRILLIC SMALL LETTER UKRAINIAN IE
- (#xBB ?\u00BB) ;; RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- (#xBC ?\u0458) ;; CYRILLIC SMALL LETTER JE
- (#xBD ?\u0405) ;; CYRILLIC CAPITAL LETTER DZE
- (#xBE ?\u0455) ;; CYRILLIC SMALL LETTER DZE
- (#xBF ?\u0457) ;; CYRILLIC SMALL LETTER YI
- (#xC0 ?\u0410) ;; CYRILLIC CAPITAL LETTER A
- (#xC1 ?\u0411) ;; CYRILLIC CAPITAL LETTER BE
- (#xC2 ?\u0412) ;; CYRILLIC CAPITAL LETTER VE
- (#xC3 ?\u0413) ;; CYRILLIC CAPITAL LETTER GHE
- (#xC4 ?\u0414) ;; CYRILLIC CAPITAL LETTER DE
- (#xC5 ?\u0415) ;; CYRILLIC CAPITAL LETTER IE
- (#xC6 ?\u0416) ;; CYRILLIC CAPITAL LETTER ZHE
- (#xC7 ?\u0417) ;; CYRILLIC CAPITAL LETTER ZE
- (#xC8 ?\u0418) ;; CYRILLIC CAPITAL LETTER I
- (#xC9 ?\u0419) ;; CYRILLIC CAPITAL LETTER SHORT I
- (#xCA ?\u041A) ;; CYRILLIC CAPITAL LETTER KA
- (#xCB ?\u041B) ;; CYRILLIC CAPITAL LETTER EL
- (#xCC ?\u041C) ;; CYRILLIC CAPITAL LETTER EM
- (#xCD ?\u041D) ;; CYRILLIC CAPITAL LETTER EN
- (#xCE ?\u041E) ;; CYRILLIC CAPITAL LETTER O
- (#xCF ?\u041F) ;; CYRILLIC CAPITAL LETTER PE
- (#xD0 ?\u0420) ;; CYRILLIC CAPITAL LETTER ER
- (#xD1 ?\u0421) ;; CYRILLIC CAPITAL LETTER ES
- (#xD2 ?\u0422) ;; CYRILLIC CAPITAL LETTER TE
- (#xD3 ?\u0423) ;; CYRILLIC CAPITAL LETTER U
- (#xD4 ?\u0424) ;; CYRILLIC CAPITAL LETTER EF
- (#xD5 ?\u0425) ;; CYRILLIC CAPITAL LETTER HA
- (#xD6 ?\u0426) ;; CYRILLIC CAPITAL LETTER TSE
- (#xD7 ?\u0427) ;; CYRILLIC CAPITAL LETTER CHE
- (#xD8 ?\u0428) ;; CYRILLIC CAPITAL LETTER SHA
- (#xD9 ?\u0429) ;; CYRILLIC CAPITAL LETTER SHCHA
- (#xDA ?\u042A) ;; CYRILLIC CAPITAL LETTER HARD SIGN
- (#xDB ?\u042B) ;; CYRILLIC CAPITAL LETTER YERU
- (#xDC ?\u042C) ;; CYRILLIC CAPITAL LETTER SOFT SIGN
- (#xDD ?\u042D) ;; CYRILLIC CAPITAL LETTER E
- (#xDE ?\u042E) ;; CYRILLIC CAPITAL LETTER YU
- (#xDF ?\u042F) ;; CYRILLIC CAPITAL LETTER YA
- (#xE0 ?\u0430) ;; CYRILLIC SMALL LETTER A
- (#xE1 ?\u0431) ;; CYRILLIC SMALL LETTER BE
- (#xE2 ?\u0432) ;; CYRILLIC SMALL LETTER VE
- (#xE3 ?\u0433) ;; CYRILLIC SMALL LETTER GHE
- (#xE4 ?\u0434) ;; CYRILLIC SMALL LETTER DE
- (#xE5 ?\u0435) ;; CYRILLIC SMALL LETTER IE
- (#xE6 ?\u0436) ;; CYRILLIC SMALL LETTER ZHE
- (#xE7 ?\u0437) ;; CYRILLIC SMALL LETTER ZE
- (#xE8 ?\u0438) ;; CYRILLIC SMALL LETTER I
- (#xE9 ?\u0439) ;; CYRILLIC SMALL LETTER SHORT I
- (#xEA ?\u043A) ;; CYRILLIC SMALL LETTER KA
- (#xEB ?\u043B) ;; CYRILLIC SMALL LETTER EL
- (#xEC ?\u043C) ;; CYRILLIC SMALL LETTER EM
- (#xED ?\u043D) ;; CYRILLIC SMALL LETTER EN
- (#xEE ?\u043E) ;; CYRILLIC SMALL LETTER O
- (#xEF ?\u043F) ;; CYRILLIC SMALL LETTER PE
- (#xF0 ?\u0440) ;; CYRILLIC SMALL LETTER ER
- (#xF1 ?\u0441) ;; CYRILLIC SMALL LETTER ES
- (#xF2 ?\u0442) ;; CYRILLIC SMALL LETTER TE
- (#xF3 ?\u0443) ;; CYRILLIC SMALL LETTER U
- (#xF4 ?\u0444) ;; CYRILLIC SMALL LETTER EF
- (#xF5 ?\u0445) ;; CYRILLIC SMALL LETTER HA
- (#xF6 ?\u0446) ;; CYRILLIC SMALL LETTER TSE
- (#xF7 ?\u0447) ;; CYRILLIC SMALL LETTER CHE
- (#xF8 ?\u0448) ;; CYRILLIC SMALL LETTER SHA
- (#xF9 ?\u0449) ;; CYRILLIC SMALL LETTER SHCHA
- (#xFA ?\u044A) ;; CYRILLIC SMALL LETTER HARD SIGN
- (#xFB ?\u044B) ;; CYRILLIC SMALL LETTER YERU
- (#xFC ?\u044C) ;; CYRILLIC SMALL LETTER SOFT SIGN
- (#xFD ?\u044D) ;; CYRILLIC SMALL LETTER E
- (#xFE ?\u044E) ;; CYRILLIC SMALL LETTER YU
- (#xFF ?\u044F)) ;; CYRILLIC SMALL LETTER YA
- "Microsoft's Code Page 1251, for Russian, Bulgarian, Serbian and others.
"
- '(mnemonic "CyrW"
+(make-coding-system
+ 'windows-1251 'fixed-width "Microsoft's CP1251, Cyrillic."
+ '(unicode-map
+ ((#x80 ?\u0402) ;; CYRILLIC CAPITAL LETTER DJE
+ (#x81 ?\u0403) ;; CYRILLIC CAPITAL LETTER GJE
+ (#x82 ?\u201A) ;; SINGLE LOW-9 QUOTATION MARK
+ (#x83 ?\u0453) ;; CYRILLIC SMALL LETTER GJE
+ (#x84 ?\u201E) ;; DOUBLE LOW-9 QUOTATION MARK
+ (#x85 ?\u2026) ;; HORIZONTAL ELLIPSIS
+ (#x86 ?\u2020) ;; DAGGER
+ (#x87 ?\u2021) ;; DOUBLE DAGGER
+ (#x88 ?\u20AC) ;; EURO SIGN
+ (#x89 ?\u2030) ;; PER MILLE SIGN
+ (#x8A ?\u0409) ;; CYRILLIC CAPITAL LETTER LJE
+ (#x8B ?\u2039) ;; SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+ (#x8C ?\u040A) ;; CYRILLIC CAPITAL LETTER NJE
+ (#x8D ?\u040C) ;; CYRILLIC CAPITAL LETTER KJE
+ (#x8E ?\u040B) ;; CYRILLIC CAPITAL LETTER TSHE
+ (#x8F ?\u040F) ;; CYRILLIC CAPITAL LETTER DZHE
+ (#x90 ?\u0452) ;; CYRILLIC SMALL LETTER DJE
+ (#x91 ?\u2018) ;; LEFT SINGLE QUOTATION MARK
+ (#x92 ?\u2019) ;; RIGHT SINGLE QUOTATION MARK
+ (#x93 ?\u201C) ;; LEFT DOUBLE QUOTATION MARK
+ (#x94 ?\u201D) ;; RIGHT DOUBLE QUOTATION MARK
+ (#x95 ?\u2022) ;; BULLET
+ (#x96 ?\u2013) ;; EN DASH
+ (#x97 ?\u2014) ;; EM DASH
+ (#x99 ?\u2122) ;; TRADE MARK SIGN
+ (#x9A ?\u0459) ;; CYRILLIC SMALL LETTER LJE
+ (#x9B ?\u203A) ;; SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+ (#x9C ?\u045A) ;; CYRILLIC SMALL LETTER NJE
+ (#x9D ?\u045C) ;; CYRILLIC SMALL LETTER KJE
+ (#x9E ?\u045B) ;; CYRILLIC SMALL LETTER TSHE
+ (#x9F ?\u045F) ;; CYRILLIC SMALL LETTER DZHE
+ (#xA0 ?\u00A0) ;; NO-BREAK SPACE
+ (#xA1 ?\u040E) ;; CYRILLIC CAPITAL LETTER SHORT U
+ (#xA2 ?\u045E) ;; CYRILLIC SMALL LETTER SHORT U
+ (#xA3 ?\u0408) ;; CYRILLIC CAPITAL LETTER JE
+ (#xA4 ?\u00A4) ;; CURRENCY SIGN
+ (#xA5 ?\u0490) ;; CYRILLIC CAPITAL LETTER GHE WITH UPTURN
+ (#xA6 ?\u00A6) ;; BROKEN BAR
+ (#xA7 ?\u00A7) ;; SECTION SIGN
+ (#xA8 ?\u0401) ;; CYRILLIC CAPITAL LETTER IO
+ (#xA9 ?\u00A9) ;; COPYRIGHT SIGN
+ (#xAA ?\u0404) ;; CYRILLIC CAPITAL LETTER UKRAINIAN IE
+ (#xAB ?\u00AB) ;; LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ (#xAC ?\u00AC) ;; NOT SIGN
+ (#xAD ?\u00AD) ;; SOFT HYPHEN
+ (#xAE ?\u00AE) ;; REGISTERED SIGN
+ (#xAF ?\u0407) ;; CYRILLIC CAPITAL LETTER YI
+ (#xB0 ?\u00B0) ;; DEGREE SIGN
+ (#xB1 ?\u00B1) ;; PLUS-MINUS SIGN
+ (#xB2 ?\u0406) ;; CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
+ (#xB3 ?\u0456) ;; CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
+ (#xB4 ?\u0491) ;; CYRILLIC SMALL LETTER GHE WITH UPTURN
+ (#xB5 ?\u00B5) ;; MICRO SIGN
+ (#xB6 ?\u00B6) ;; PILCROW SIGN
+ (#xB7 ?\u00B7) ;; MIDDLE DOT
+ (#xB8 ?\u0451) ;; CYRILLIC SMALL LETTER IO
+ (#xB9 ?\u2116) ;; NUMERO SIGN
+ (#xBA ?\u0454) ;; CYRILLIC SMALL LETTER UKRAINIAN IE
+ (#xBB ?\u00BB) ;; RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ (#xBC ?\u0458) ;; CYRILLIC SMALL LETTER JE
+ (#xBD ?\u0405) ;; CYRILLIC CAPITAL LETTER DZE
+ (#xBE ?\u0455) ;; CYRILLIC SMALL LETTER DZE
+ (#xBF ?\u0457) ;; CYRILLIC SMALL LETTER YI
+ (#xC0 ?\u0410) ;; CYRILLIC CAPITAL LETTER A
+ (#xC1 ?\u0411) ;; CYRILLIC CAPITAL LETTER BE
+ (#xC2 ?\u0412) ;; CYRILLIC CAPITAL LETTER VE
+ (#xC3 ?\u0413) ;; CYRILLIC CAPITAL LETTER GHE
+ (#xC4 ?\u0414) ;; CYRILLIC CAPITAL LETTER DE
+ (#xC5 ?\u0415) ;; CYRILLIC CAPITAL LETTER IE
+ (#xC6 ?\u0416) ;; CYRILLIC CAPITAL LETTER ZHE
+ (#xC7 ?\u0417) ;; CYRILLIC CAPITAL LETTER ZE
+ (#xC8 ?\u0418) ;; CYRILLIC CAPITAL LETTER I
+ (#xC9 ?\u0419) ;; CYRILLIC CAPITAL LETTER SHORT I
+ (#xCA ?\u041A) ;; CYRILLIC CAPITAL LETTER KA
+ (#xCB ?\u041B) ;; CYRILLIC CAPITAL LETTER EL
+ (#xCC ?\u041C) ;; CYRILLIC CAPITAL LETTER EM
+ (#xCD ?\u041D) ;; CYRILLIC CAPITAL LETTER EN
+ (#xCE ?\u041E) ;; CYRILLIC CAPITAL LETTER O
+ (#xCF ?\u041F) ;; CYRILLIC CAPITAL LETTER PE
+ (#xD0 ?\u0420) ;; CYRILLIC CAPITAL LETTER ER
+ (#xD1 ?\u0421) ;; CYRILLIC CAPITAL LETTER ES
+ (#xD2 ?\u0422) ;; CYRILLIC CAPITAL LETTER TE
+ (#xD3 ?\u0423) ;; CYRILLIC CAPITAL LETTER U
+ (#xD4 ?\u0424) ;; CYRILLIC CAPITAL LETTER EF
+ (#xD5 ?\u0425) ;; CYRILLIC CAPITAL LETTER HA
+ (#xD6 ?\u0426) ;; CYRILLIC CAPITAL LETTER TSE
+ (#xD7 ?\u0427) ;; CYRILLIC CAPITAL LETTER CHE
+ (#xD8 ?\u0428) ;; CYRILLIC CAPITAL LETTER SHA
+ (#xD9 ?\u0429) ;; CYRILLIC CAPITAL LETTER SHCHA
+ (#xDA ?\u042A) ;; CYRILLIC CAPITAL LETTER HARD SIGN
+ (#xDB ?\u042B) ;; CYRILLIC CAPITAL LETTER YERU
+ (#xDC ?\u042C) ;; CYRILLIC CAPITAL LETTER SOFT SIGN
+ (#xDD ?\u042D) ;; CYRILLIC CAPITAL LETTER E
+ (#xDE ?\u042E) ;; CYRILLIC CAPITAL LETTER YU
+ (#xDF ?\u042F) ;; CYRILLIC CAPITAL LETTER YA
+ (#xE0 ?\u0430) ;; CYRILLIC SMALL LETTER A
+ (#xE1 ?\u0431) ;; CYRILLIC SMALL LETTER BE
+ (#xE2 ?\u0432) ;; CYRILLIC SMALL LETTER VE
+ (#xE3 ?\u0433) ;; CYRILLIC SMALL LETTER GHE
+ (#xE4 ?\u0434) ;; CYRILLIC SMALL LETTER DE
+ (#xE5 ?\u0435) ;; CYRILLIC SMALL LETTER IE
+ (#xE6 ?\u0436) ;; CYRILLIC SMALL LETTER ZHE
+ (#xE7 ?\u0437) ;; CYRILLIC SMALL LETTER ZE
+ (#xE8 ?\u0438) ;; CYRILLIC SMALL LETTER I
+ (#xE9 ?\u0439) ;; CYRILLIC SMALL LETTER SHORT I
+ (#xEA ?\u043A) ;; CYRILLIC SMALL LETTER KA
+ (#xEB ?\u043B) ;; CYRILLIC SMALL LETTER EL
+ (#xEC ?\u043C) ;; CYRILLIC SMALL LETTER EM
+ (#xED ?\u043D) ;; CYRILLIC SMALL LETTER EN
+ (#xEE ?\u043E) ;; CYRILLIC SMALL LETTER O
+ (#xEF ?\u043F) ;; CYRILLIC SMALL LETTER PE
+ (#xF0 ?\u0440) ;; CYRILLIC SMALL LETTER ER
+ (#xF1 ?\u0441) ;; CYRILLIC SMALL LETTER ES
+ (#xF2 ?\u0442) ;; CYRILLIC SMALL LETTER TE
+ (#xF3 ?\u0443) ;; CYRILLIC SMALL LETTER U
+ (#xF4 ?\u0444) ;; CYRILLIC SMALL LETTER EF
+ (#xF5 ?\u0445) ;; CYRILLIC SMALL LETTER HA
+ (#xF6 ?\u0446) ;; CYRILLIC SMALL LETTER TSE
+ (#xF7 ?\u0447) ;; CYRILLIC SMALL LETTER CHE
+ (#xF8 ?\u0448) ;; CYRILLIC SMALL LETTER SHA
+ (#xF9 ?\u0449) ;; CYRILLIC SMALL LETTER SHCHA
+ (#xFA ?\u044A) ;; CYRILLIC SMALL LETTER HARD SIGN
+ (#xFB ?\u044B) ;; CYRILLIC SMALL LETTER YERU
+ (#xFC ?\u044C) ;; CYRILLIC SMALL LETTER SOFT SIGN
+ (#xFD ?\u044D) ;; CYRILLIC SMALL LETTER E
+ (#xFE ?\u044E) ;; CYRILLIC SMALL LETTER YU
+ (#xFF ?\u044F)) ;; CYRILLIC SMALL LETTER YA
+ mnemonic "CyrW"
documentation
"This ASCII-compatible encoding is unfortunately not compatible at
the code point level with the KOI8 family of encodings, but it
provides several widely-used punctuation and quotation marks that
-KOI-8R and its relatives don't, and has become widely used. "
+KOI-8R and its relatives don't, and has become widely used.
+
+It support Russian, Bulgarian, Serbian and other languages written using
+Cyrillic script. "
aliases (cp1251)))
(set-language-info-alist
@@ -745,138 +748,138 @@
'("Cyrillic"))
;;; Alternativnyj
-(make-8-bit-coding-system
- 'alternativnyj
- '((#x80 ?\u0410) ;; CYRILLIC CAPITAL LETTER A
- (#x81 ?\u0411) ;; CYRILLIC CAPITAL LETTER BE
- (#x82 ?\u0412) ;; CYRILLIC CAPITAL LETTER VE
- (#x83 ?\u0413) ;; CYRILLIC CAPITAL LETTER GHE
- (#x84 ?\u0414) ;; CYRILLIC CAPITAL LETTER DE
- (#x85 ?\u0415) ;; CYRILLIC CAPITAL LETTER IE
- (#x86 ?\u0416) ;; CYRILLIC CAPITAL LETTER ZHE
- (#x87 ?\u0417) ;; CYRILLIC CAPITAL LETTER ZE
- (#x88 ?\u0418) ;; CYRILLIC CAPITAL LETTER I
- (#x89 ?\u0419) ;; CYRILLIC CAPITAL LETTER SHORT I
- (#x8A ?\u041A) ;; CYRILLIC CAPITAL LETTER KA
- (#x8B ?\u041B) ;; CYRILLIC CAPITAL LETTER EL
- (#x8C ?\u041C) ;; CYRILLIC CAPITAL LETTER EM
- (#x8D ?\u041D) ;; CYRILLIC CAPITAL LETTER EN
- (#x8E ?\u041E) ;; CYRILLIC CAPITAL LETTER O
- (#x8F ?\u041F) ;; CYRILLIC CAPITAL LETTER PE
- (#x90 ?\u0420) ;; CYRILLIC CAPITAL LETTER ER
- (#x91 ?\u0421) ;; CYRILLIC CAPITAL LETTER ES
- (#x92 ?\u0422) ;; CYRILLIC CAPITAL LETTER TE
- (#x93 ?\u0423) ;; CYRILLIC CAPITAL LETTER U
- (#x94 ?\u0424) ;; CYRILLIC CAPITAL LETTER EF
- (#x95 ?\u0425) ;; CYRILLIC CAPITAL LETTER HA
- (#x96 ?\u0426) ;; CYRILLIC CAPITAL LETTER TSE
- (#x97 ?\u0427) ;; CYRILLIC CAPITAL LETTER CHE
- (#x98 ?\u0428) ;; CYRILLIC CAPITAL LETTER SHA
- (#x99 ?\u0429) ;; CYRILLIC CAPITAL LETTER SHCHA
- (#x9A ?\u042A) ;; CYRILLIC CAPITAL LETTER HARD SIGN
- (#x9B ?\u042B) ;; CYRILLIC CAPITAL LETTER YERU
- (#x9C ?\u042C) ;; CYRILLIC CAPITAL LETTER SOFT SIGN
- (#x9D ?\u042D) ;; CYRILLIC CAPITAL LETTER E
- (#x9E ?\u042E) ;; CYRILLIC CAPITAL LETTER YU
- (#x9F ?\u042F) ;; CYRILLIC CAPITAL LETTER YA
- (#xA0 ?\u0430) ;; CYRILLIC SMALL LETTER A
- (#xA1 ?\u0431) ;; CYRILLIC SMALL LETTER BE
- (#xA2 ?\u0432) ;; CYRILLIC SMALL LETTER VE
- (#xA3 ?\u0433) ;; CYRILLIC SMALL LETTER GHE
- (#xA4 ?\u0434) ;; CYRILLIC SMALL LETTER DE
- (#xA5 ?\u0435) ;; CYRILLIC SMALL LETTER IE
- (#xA6 ?\u0436) ;; CYRILLIC SMALL LETTER ZHE
- (#xA7 ?\u0437) ;; CYRILLIC SMALL LETTER ZE
- (#xA8 ?\u0438) ;; CYRILLIC SMALL LETTER I
- (#xA9 ?\u0439) ;; CYRILLIC SMALL LETTER SHORT I
- (#xAA ?\u043A) ;; CYRILLIC SMALL LETTER KA
- (#xAB ?\u043B) ;; CYRILLIC SMALL LETTER EL
- (#xAC ?\u043C) ;; CYRILLIC SMALL LETTER EM
- (#xAD ?\u043D) ;; CYRILLIC SMALL LETTER EN
- (#xAE ?\u043E) ;; CYRILLIC SMALL LETTER O
- (#xAF ?\u043F) ;; CYRILLIC SMALL LETTER PE
- (#xB0 ?\u2591) ;; LIGHT SHADE
- (#xB1 ?\u2592) ;; MEDIUM SHADE
- (#xB2 ?\u2593) ;; DARK SHADE
- (#xB3 ?\u2502) ;; BOX DRAWINGS LIGHT VERTICAL
- (#xB4 ?\u2524) ;; BOX DRAWINGS LIGHT VERTICAL AND LEFT
- (#xB5 ?\u2561) ;; BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
- (#xB6 ?\u2562) ;; BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
- (#xB7 ?\u2556) ;; BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
- (#xB8 ?\u2555) ;; BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
- (#xB9 ?\u2563) ;; BOX DRAWINGS DOUBLE VERTICAL AND LEFT
- (#xBA ?\u2551) ;; BOX DRAWINGS DOUBLE VERTICAL
- (#xBB ?\u2557) ;; BOX DRAWINGS DOUBLE DOWN AND LEFT
- (#xBC ?\u255D) ;; BOX DRAWINGS DOUBLE UP AND LEFT
- (#xBD ?\u255C) ;; BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
- (#xBE ?\u255B) ;; BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
- (#xBF ?\u2510) ;; BOX DRAWINGS LIGHT DOWN AND LEFT
- (#xC0 ?\u2514) ;; BOX DRAWINGS LIGHT UP AND RIGHT
- (#xC1 ?\u2534) ;; BOX DRAWINGS LIGHT UP AND HORIZONTAL
- (#xC2 ?\u252C) ;; BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
- (#xC3 ?\u251C) ;; BOX DRAWINGS LIGHT VERTICAL AND RIGHT
- (#xC4 ?\u2500) ;; BOX DRAWINGS LIGHT HORIZONTAL
- (#xC5 ?\u253C) ;; BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
- (#xC6 ?\u255E) ;; BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
- (#xC7 ?\u255F) ;; BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
- (#xC8 ?\u255A) ;; BOX DRAWINGS DOUBLE UP AND RIGHT
- (#xC9 ?\u2554) ;; BOX DRAWINGS DOUBLE DOWN AND RIGHT
- (#xCA ?\u2569) ;; BOX DRAWINGS DOUBLE UP AND HORIZONTAL
- (#xCB ?\u2566) ;; BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
- (#xCC ?\u2560) ;; BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
- (#xCD ?\u2550) ;; BOX DRAWINGS DOUBLE HORIZONTAL
- (#xCE ?\u256C) ;; BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
- (#xCF ?\u2567) ;; BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
- (#xD0 ?\u2568) ;; BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
- (#xD1 ?\u2564) ;; BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
- (#xD2 ?\u2565) ;; BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
- (#xD3 ?\u2559) ;; BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
- (#xD4 ?\u2558) ;; BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
- (#xD5 ?\u2552) ;; BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
- (#xD6 ?\u2553) ;; BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
- (#xD7 ?\u256B) ;; BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
- (#xD8 ?\u256A) ;; BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
- (#xD9 ?\u2518) ;; BOX DRAWINGS LIGHT UP AND LEFT
- (#xDA ?\u250C) ;; BOX DRAWINGS LIGHT DOWN AND RIGHT
- (#xDB ?\u2588) ;; FULL BLOCK
- (#xDC ?\u2584) ;; LOWER HALF BLOCK
- (#xDD ?\u258C) ;; LEFT HALF BLOCK
- (#xDE ?\u2590) ;; RIGHT HALF BLOCK
- (#xDF ?\u2580) ;; UPPER HALF BLOCK
- (#xE0 ?\u0440) ;; CYRILLIC SMALL LETTER ER
- (#xE1 ?\u0441) ;; CYRILLIC SMALL LETTER ES
- (#xE2 ?\u0442) ;; CYRILLIC SMALL LETTER TE
- (#xE3 ?\u0443) ;; CYRILLIC SMALL LETTER U
- (#xE4 ?\u0444) ;; CYRILLIC SMALL LETTER EF
- (#xE5 ?\u0445) ;; CYRILLIC SMALL LETTER HA
- (#xE6 ?\u0446) ;; CYRILLIC SMALL LETTER TSE
- (#xE7 ?\u0447) ;; CYRILLIC SMALL LETTER CHE
- (#xE8 ?\u0448) ;; CYRILLIC SMALL LETTER SHA
- (#xE9 ?\u0449) ;; CYRILLIC SMALL LETTER SHCHA
- (#xEA ?\u044A) ;; CYRILLIC SMALL LETTER HARD SIGN
- (#xEB ?\u044B) ;; CYRILLIC SMALL LETTER YERU
- (#xEC ?\u044C) ;; CYRILLIC SMALL LETTER SOFT SIGN
- (#xED ?\u044D) ;; CYRILLIC SMALL LETTER E
- (#xEE ?\u044E) ;; CYRILLIC SMALL LETTER YU
- (#xEF ?\u044F) ;; CYRILLIC SMALL LETTER YA
- (#xF0 ?\u0401) ;; CYRILLIC CAPITAL LETTER IO
- (#xF1 ?\u0451) ;; CYRILLIC SMALL LETTER IO
- (#xF2 ?\u0404) ;; CYRILLIC CAPITAL LETTER UKRAINIAN IE
- (#xF3 ?\u0454) ;; CYRILLIC SMALL LETTER UKRAINIAN IE
- (#xF4 ?\u0407) ;; CYRILLIC CAPITAL LETTER YI
- (#xF5 ?\u0457) ;; CYRILLIC SMALL LETTER YI
- (#xF6 ?\u040E) ;; CYRILLIC CAPITAL LETTER SHORT U
- (#xF7 ?\u045E) ;; CYRILLIC SMALL LETTER SHORT U
- (#xF8 ?\u00B0) ;; DEGREE SIGN
- (#xF9 ?\u2022) ;; BULLET
- (#xFA ?\u00B7) ;; MIDDLE DOT
- (#xFB ?\u221A) ;; SQUARE ROOT
- (#xFC ?\u2116) ;; NUMERO SIGN
- (#xFD ?\u00A4) ;; CURRENCY SIGN
- (#xFE ?\u25A0) ;; BLACK SQUARE
- (#xFF ?\u00A0)) ;; NO-BREAK SPACE
- "Alternativnyj (Cyrillic). Microsoft's Code Page 966. "
- '(mnemonic "Cy.Alt"
+(make-coding-system
+ 'alternativnyj 'fixed-width "Microsoft's CP966, Cyrillic"
+ '(unicode-map
+ ((#x80 ?\u0410) ;; CYRILLIC CAPITAL LETTER A
+ (#x81 ?\u0411) ;; CYRILLIC CAPITAL LETTER BE
+ (#x82 ?\u0412) ;; CYRILLIC CAPITAL LETTER VE
+ (#x83 ?\u0413) ;; CYRILLIC CAPITAL LETTER GHE
+ (#x84 ?\u0414) ;; CYRILLIC CAPITAL LETTER DE
+ (#x85 ?\u0415) ;; CYRILLIC CAPITAL LETTER IE
+ (#x86 ?\u0416) ;; CYRILLIC CAPITAL LETTER ZHE
+ (#x87 ?\u0417) ;; CYRILLIC CAPITAL LETTER ZE
+ (#x88 ?\u0418) ;; CYRILLIC CAPITAL LETTER I
+ (#x89 ?\u0419) ;; CYRILLIC CAPITAL LETTER SHORT I
+ (#x8A ?\u041A) ;; CYRILLIC CAPITAL LETTER KA
+ (#x8B ?\u041B) ;; CYRILLIC CAPITAL LETTER EL
+ (#x8C ?\u041C) ;; CYRILLIC CAPITAL LETTER EM
+ (#x8D ?\u041D) ;; CYRILLIC CAPITAL LETTER EN
+ (#x8E ?\u041E) ;; CYRILLIC CAPITAL LETTER O
+ (#x8F ?\u041F) ;; CYRILLIC CAPITAL LETTER PE
+ (#x90 ?\u0420) ;; CYRILLIC CAPITAL LETTER ER
+ (#x91 ?\u0421) ;; CYRILLIC CAPITAL LETTER ES
+ (#x92 ?\u0422) ;; CYRILLIC CAPITAL LETTER TE
+ (#x93 ?\u0423) ;; CYRILLIC CAPITAL LETTER U
+ (#x94 ?\u0424) ;; CYRILLIC CAPITAL LETTER EF
+ (#x95 ?\u0425) ;; CYRILLIC CAPITAL LETTER HA
+ (#x96 ?\u0426) ;; CYRILLIC CAPITAL LETTER TSE
+ (#x97 ?\u0427) ;; CYRILLIC CAPITAL LETTER CHE
+ (#x98 ?\u0428) ;; CYRILLIC CAPITAL LETTER SHA
+ (#x99 ?\u0429) ;; CYRILLIC CAPITAL LETTER SHCHA
+ (#x9A ?\u042A) ;; CYRILLIC CAPITAL LETTER HARD SIGN
+ (#x9B ?\u042B) ;; CYRILLIC CAPITAL LETTER YERU
+ (#x9C ?\u042C) ;; CYRILLIC CAPITAL LETTER SOFT SIGN
+ (#x9D ?\u042D) ;; CYRILLIC CAPITAL LETTER E
+ (#x9E ?\u042E) ;; CYRILLIC CAPITAL LETTER YU
+ (#x9F ?\u042F) ;; CYRILLIC CAPITAL LETTER YA
+ (#xA0 ?\u0430) ;; CYRILLIC SMALL LETTER A
+ (#xA1 ?\u0431) ;; CYRILLIC SMALL LETTER BE
+ (#xA2 ?\u0432) ;; CYRILLIC SMALL LETTER VE
+ (#xA3 ?\u0433) ;; CYRILLIC SMALL LETTER GHE
+ (#xA4 ?\u0434) ;; CYRILLIC SMALL LETTER DE
+ (#xA5 ?\u0435) ;; CYRILLIC SMALL LETTER IE
+ (#xA6 ?\u0436) ;; CYRILLIC SMALL LETTER ZHE
+ (#xA7 ?\u0437) ;; CYRILLIC SMALL LETTER ZE
+ (#xA8 ?\u0438) ;; CYRILLIC SMALL LETTER I
+ (#xA9 ?\u0439) ;; CYRILLIC SMALL LETTER SHORT I
+ (#xAA ?\u043A) ;; CYRILLIC SMALL LETTER KA
+ (#xAB ?\u043B) ;; CYRILLIC SMALL LETTER EL
+ (#xAC ?\u043C) ;; CYRILLIC SMALL LETTER EM
+ (#xAD ?\u043D) ;; CYRILLIC SMALL LETTER EN
+ (#xAE ?\u043E) ;; CYRILLIC SMALL LETTER O
+ (#xAF ?\u043F) ;; CYRILLIC SMALL LETTER PE
+ (#xB0 ?\u2591) ;; LIGHT SHADE
+ (#xB1 ?\u2592) ;; MEDIUM SHADE
+ (#xB2 ?\u2593) ;; DARK SHADE
+ (#xB3 ?\u2502) ;; BOX DRAWINGS LIGHT VERTICAL
+ (#xB4 ?\u2524) ;; BOX DRAWINGS LIGHT VERTICAL AND LEFT
+ (#xB5 ?\u2561) ;; BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
+ (#xB6 ?\u2562) ;; BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
+ (#xB7 ?\u2556) ;; BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
+ (#xB8 ?\u2555) ;; BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
+ (#xB9 ?\u2563) ;; BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+ (#xBA ?\u2551) ;; BOX DRAWINGS DOUBLE VERTICAL
+ (#xBB ?\u2557) ;; BOX DRAWINGS DOUBLE DOWN AND LEFT
+ (#xBC ?\u255D) ;; BOX DRAWINGS DOUBLE UP AND LEFT
+ (#xBD ?\u255C) ;; BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
+ (#xBE ?\u255B) ;; BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
+ (#xBF ?\u2510) ;; BOX DRAWINGS LIGHT DOWN AND LEFT
+ (#xC0 ?\u2514) ;; BOX DRAWINGS LIGHT UP AND RIGHT
+ (#xC1 ?\u2534) ;; BOX DRAWINGS LIGHT UP AND HORIZONTAL
+ (#xC2 ?\u252C) ;; BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+ (#xC3 ?\u251C) ;; BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+ (#xC4 ?\u2500) ;; BOX DRAWINGS LIGHT HORIZONTAL
+ (#xC5 ?\u253C) ;; BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+ (#xC6 ?\u255E) ;; BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
+ (#xC7 ?\u255F) ;; BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
+ (#xC8 ?\u255A) ;; BOX DRAWINGS DOUBLE UP AND RIGHT
+ (#xC9 ?\u2554) ;; BOX DRAWINGS DOUBLE DOWN AND RIGHT
+ (#xCA ?\u2569) ;; BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+ (#xCB ?\u2566) ;; BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+ (#xCC ?\u2560) ;; BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+ (#xCD ?\u2550) ;; BOX DRAWINGS DOUBLE HORIZONTAL
+ (#xCE ?\u256C) ;; BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+ (#xCF ?\u2567) ;; BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
+ (#xD0 ?\u2568) ;; BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
+ (#xD1 ?\u2564) ;; BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
+ (#xD2 ?\u2565) ;; BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
+ (#xD3 ?\u2559) ;; BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
+ (#xD4 ?\u2558) ;; BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
+ (#xD5 ?\u2552) ;; BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
+ (#xD6 ?\u2553) ;; BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
+ (#xD7 ?\u256B) ;; BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
+ (#xD8 ?\u256A) ;; BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+ (#xD9 ?\u2518) ;; BOX DRAWINGS LIGHT UP AND LEFT
+ (#xDA ?\u250C) ;; BOX DRAWINGS LIGHT DOWN AND RIGHT
+ (#xDB ?\u2588) ;; FULL BLOCK
+ (#xDC ?\u2584) ;; LOWER HALF BLOCK
+ (#xDD ?\u258C) ;; LEFT HALF BLOCK
+ (#xDE ?\u2590) ;; RIGHT HALF BLOCK
+ (#xDF ?\u2580) ;; UPPER HALF BLOCK
+ (#xE0 ?\u0440) ;; CYRILLIC SMALL LETTER ER
+ (#xE1 ?\u0441) ;; CYRILLIC SMALL LETTER ES
+ (#xE2 ?\u0442) ;; CYRILLIC SMALL LETTER TE
+ (#xE3 ?\u0443) ;; CYRILLIC SMALL LETTER U
+ (#xE4 ?\u0444) ;; CYRILLIC SMALL LETTER EF
+ (#xE5 ?\u0445) ;; CYRILLIC SMALL LETTER HA
+ (#xE6 ?\u0446) ;; CYRILLIC SMALL LETTER TSE
+ (#xE7 ?\u0447) ;; CYRILLIC SMALL LETTER CHE
+ (#xE8 ?\u0448) ;; CYRILLIC SMALL LETTER SHA
+ (#xE9 ?\u0449) ;; CYRILLIC SMALL LETTER SHCHA
+ (#xEA ?\u044A) ;; CYRILLIC SMALL LETTER HARD SIGN
+ (#xEB ?\u044B) ;; CYRILLIC SMALL LETTER YERU
+ (#xEC ?\u044C) ;; CYRILLIC SMALL LETTER SOFT SIGN
+ (#xED ?\u044D) ;; CYRILLIC SMALL LETTER E
+ (#xEE ?\u044E) ;; CYRILLIC SMALL LETTER YU
+ (#xEF ?\u044F) ;; CYRILLIC SMALL LETTER YA
+ (#xF0 ?\u0401) ;; CYRILLIC CAPITAL LETTER IO
+ (#xF1 ?\u0451) ;; CYRILLIC SMALL LETTER IO
+ (#xF2 ?\u0404) ;; CYRILLIC CAPITAL LETTER UKRAINIAN IE
+ (#xF3 ?\u0454) ;; CYRILLIC SMALL LETTER UKRAINIAN IE
+ (#xF4 ?\u0407) ;; CYRILLIC CAPITAL LETTER YI
+ (#xF5 ?\u0457) ;; CYRILLIC SMALL LETTER YI
+ (#xF6 ?\u040E) ;; CYRILLIC CAPITAL LETTER SHORT U
+ (#xF7 ?\u045E) ;; CYRILLIC SMALL LETTER SHORT U
+ (#xF8 ?\u00B0) ;; DEGREE SIGN
+ (#xF9 ?\u2022) ;; BULLET
+ (#xFA ?\u00B7) ;; MIDDLE DOT
+ (#xFB ?\u221A) ;; SQUARE ROOT
+ (#xFC ?\u2116) ;; NUMERO SIGN
+ (#xFD ?\u00A4) ;; CURRENCY SIGN
+ (#xFE ?\u25A0) ;; BLACK SQUARE
+ (#xFF ?\u00A0)) ;; NO-BREAK SPACE
+ mnemonic "Cy.Alt"
aliases (cp866)))
(set-language-info-alist
@@ -892,257 +895,258 @@
(documentation . "Support for Cyrillic ALTERNATIVNYJ."))
'("Cyrillic"))
-(make-8-bit-coding-system
- 'koi8-ru
- '((#x80 ?\u2500) ;; BOX DRAWINGS LIGHT HORIZONTAL
- (#x81 ?\u2502) ;; BOX DRAWINGS LIGHT VERTICAL
- (#x82 ?\u250C) ;; BOX DRAWINGS LIGHT DOWN AND RIGHT
- (#x83 ?\u2510) ;; BOX DRAWINGS LIGHT DOWN AND LEFT
- (#x84 ?\u2514) ;; BOX DRAWINGS LIGHT UP AND RIGHT
- (#x85 ?\u2518) ;; BOX DRAWINGS LIGHT UP AND LEFT
- (#x86 ?\u251C) ;; BOX DRAWINGS LIGHT VERTICAL AND RIGHT
- (#x87 ?\u2524) ;; BOX DRAWINGS LIGHT VERTICAL AND LEFT
- (#x88 ?\u252C) ;; BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
- (#x89 ?\u2534) ;; BOX DRAWINGS LIGHT UP AND HORIZONTAL
- (#x8A ?\u253C) ;; BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
- (#x8B ?\u2580) ;; UPPER HALF BLOCK
- (#x8C ?\u2584) ;; LOWER HALF BLOCK
- (#x8D ?\u2588) ;; FULL BLOCK
- (#x8E ?\u258C) ;; LEFT HALF BLOCK
- (#x8F ?\u2590) ;; RIGHT HALF BLOCK
- (#x90 ?\u2591) ;; LIGHT SHADE
- (#x91 ?\u2592) ;; MEDIUM SHADE
- (#x92 ?\u2593) ;; DARK SHADE
- (#x93 ?\u2320) ;; TOP HALF INTEGRAL
- (#x94 ?\u25A0) ;; BLACK SQUARE
- (#x95 ?\u2219) ;; BULLET OPERATOR
- (#x96 ?\u221A) ;; SQUARE ROOT
- (#x97 ?\u2248) ;; ALMOST EQUAL TO
- (#x98 ?\u2264) ;; LESS-THAN OR EQUAL TO
- (#x99 ?\u2265) ;; GREATER-THAN OR EQUAL TO
- (#x9A ?\u00A0) ;; NO-BREAK SPACE
- (#x9B ?\u2321) ;; BOTTOM HALF INTEGRAL
- (#x9C ?\u00B0) ;; DEGREE SIGN
- (#x9D ?\u00B2) ;; SUPERSCRIPT TWO
- (#x9E ?\u00B7) ;; MIDDLE DOT
- (#x9F ?\u00F7) ;; DIVISION SIGN
- (#xA0 ?\u2550) ;; BOX DRAWINGS DOUBLE HORIZONTAL
- (#xA1 ?\u2551) ;; BOX DRAWINGS DOUBLE VERTICAL
- (#xA2 ?\u2552) ;; BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
- (#xA3 ?\u0451) ;; CYRILLIC SMALL LETTER IO
- (#xA4 ?\u0454) ;; CYRILLIC SMALL LETTER UKRAINIAN IE
- (#xA5 ?\u2554) ;; BOX DRAWINGS DOUBLE DOWN AND RIGHT
- (#xA6 ?\u0456) ;; CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
- (#xA7 ?\u0457) ;; CYRILLIC SMALL LETTER YI
- (#xA8 ?\u2557) ;; BOX DRAWINGS DOUBLE DOWN AND LEFT
- (#xA9 ?\u2558) ;; BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
- (#xAA ?\u2559) ;; BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
- (#xAB ?\u255A) ;; BOX DRAWINGS DOUBLE UP AND RIGHT
- (#xAC ?\u255B) ;; BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
- (#xAD ?\u0491) ;; CYRILLIC SMALL LETTER GHE WITH UPTURN
- (#xAE ?\u045E) ;; CYRILLIC SMALL LETTER SHORT U
- (#xAF ?\u255E) ;; BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
- (#xB0 ?\u255F) ;; BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
- (#xB1 ?\u2560) ;; BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
- (#xB2 ?\u2561) ;; BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
- (#xB3 ?\u0401) ;; CYRILLIC CAPITAL LETTER IO
- (#xB4 ?\u0404) ;; CYRILLIC CAPITAL LETTER UKRAINIAN IE
- (#xB5 ?\u2563) ;; BOX DRAWINGS DOUBLE VERTICAL AND LEFT
- (#xB6 ?\u0406) ;; CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
- (#xB7 ?\u0407) ;; CYRILLIC CAPITAL LETTER YI
- (#xB8 ?\u2566) ;; BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
- (#xB9 ?\u2567) ;; BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
- (#xBA ?\u2568) ;; BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
- (#xBB ?\u2569) ;; BOX DRAWINGS DOUBLE UP AND HORIZONTAL
- (#xBC ?\u256A) ;; BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
- (#xBD ?\u0490) ;; CYRILLIC CAPITAL LETTER GHE WITH UPTURN
- (#xBE ?\u040E) ;; CYRILLIC CAPITAL LETTER SHORT U
- (#xBF ?\u00A9) ;; COPYRIGHT SIGN
- (#xC0 ?\u044E) ;; CYRILLIC SMALL LETTER YU
- (#xC1 ?\u0430) ;; CYRILLIC SMALL LETTER A
- (#xC2 ?\u0431) ;; CYRILLIC SMALL LETTER BE
- (#xC3 ?\u0446) ;; CYRILLIC SMALL LETTER TSE
- (#xC4 ?\u0434) ;; CYRILLIC SMALL LETTER DE
- (#xC5 ?\u0435) ;; CYRILLIC SMALL LETTER IE
- (#xC6 ?\u0444) ;; CYRILLIC SMALL LETTER EF
- (#xC7 ?\u0433) ;; CYRILLIC SMALL LETTER GHE
- (#xC8 ?\u0445) ;; CYRILLIC SMALL LETTER HA
- (#xC9 ?\u0438) ;; CYRILLIC SMALL LETTER I
- (#xCA ?\u0439) ;; CYRILLIC SMALL LETTER SHORT I
- (#xCB ?\u043A) ;; CYRILLIC SMALL LETTER KA
- (#xCC ?\u043B) ;; CYRILLIC SMALL LETTER EL
- (#xCD ?\u043C) ;; CYRILLIC SMALL LETTER EM
- (#xCE ?\u043D) ;; CYRILLIC SMALL LETTER EN
- (#xCF ?\u043E) ;; CYRILLIC SMALL LETTER O
- (#xD0 ?\u043F) ;; CYRILLIC SMALL LETTER PE
- (#xD1 ?\u044F) ;; CYRILLIC SMALL LETTER YA
- (#xD2 ?\u0440) ;; CYRILLIC SMALL LETTER ER
- (#xD3 ?\u0441) ;; CYRILLIC SMALL LETTER ES
- (#xD4 ?\u0442) ;; CYRILLIC SMALL LETTER TE
- (#xD5 ?\u0443) ;; CYRILLIC SMALL LETTER U
- (#xD6 ?\u0436) ;; CYRILLIC SMALL LETTER ZHE
- (#xD7 ?\u0432) ;; CYRILLIC SMALL LETTER VE
- (#xD8 ?\u044C) ;; CYRILLIC SMALL LETTER SOFT SIGN
- (#xD9 ?\u044B) ;; CYRILLIC SMALL LETTER YERU
- (#xDA ?\u0437) ;; CYRILLIC SMALL LETTER ZE
- (#xDB ?\u0448) ;; CYRILLIC SMALL LETTER SHA
- (#xDC ?\u044D) ;; CYRILLIC SMALL LETTER E
- (#xDD ?\u0449) ;; CYRILLIC SMALL LETTER SHCHA
- (#xDE ?\u0447) ;; CYRILLIC SMALL LETTER CHE
- (#xDF ?\u044A) ;; CYRILLIC SMALL LETTER HARD SIGN
- (#xE0 ?\u042E) ;; CYRILLIC CAPITAL LETTER YU
- (#xE1 ?\u0410) ;; CYRILLIC CAPITAL LETTER A
- (#xE2 ?\u0411) ;; CYRILLIC CAPITAL LETTER BE
- (#xE3 ?\u0426) ;; CYRILLIC CAPITAL LETTER TSE
- (#xE4 ?\u0414) ;; CYRILLIC CAPITAL LETTER DE
- (#xE5 ?\u0415) ;; CYRILLIC CAPITAL LETTER IE
- (#xE6 ?\u0424) ;; CYRILLIC CAPITAL LETTER EF
- (#xE7 ?\u0413) ;; CYRILLIC CAPITAL LETTER GHE
- (#xE8 ?\u0425) ;; CYRILLIC CAPITAL LETTER HA
- (#xE9 ?\u0418) ;; CYRILLIC CAPITAL LETTER I
- (#xEA ?\u0419) ;; CYRILLIC CAPITAL LETTER SHORT I
- (#xEB ?\u041A) ;; CYRILLIC CAPITAL LETTER KA
- (#xEC ?\u041B) ;; CYRILLIC CAPITAL LETTER EL
- (#xED ?\u041C) ;; CYRILLIC CAPITAL LETTER EM
- (#xEE ?\u041D) ;; CYRILLIC CAPITAL LETTER EN
- (#xEF ?\u041E) ;; CYRILLIC CAPITAL LETTER O
- (#xF0 ?\u041F) ;; CYRILLIC CAPITAL LETTER PE
- (#xF1 ?\u042F) ;; CYRILLIC CAPITAL LETTER YA
- (#xF2 ?\u0420) ;; CYRILLIC CAPITAL LETTER ER
- (#xF3 ?\u0421) ;; CYRILLIC CAPITAL LETTER ES
- (#xF4 ?\u0422) ;; CYRILLIC CAPITAL LETTER TE
- (#xF5 ?\u0423) ;; CYRILLIC CAPITAL LETTER U
- (#xF6 ?\u0416) ;; CYRILLIC CAPITAL LETTER ZHE
- (#xF7 ?\u0412) ;; CYRILLIC CAPITAL LETTER VE
- (#xF8 ?\u042C) ;; CYRILLIC CAPITAL LETTER SOFT SIGN
- (#xF9 ?\u042B) ;; CYRILLIC CAPITAL LETTER YERU
- (#xFA ?\u0417) ;; CYRILLIC CAPITAL LETTER ZE
- (#xFB ?\u0428) ;; CYRILLIC CAPITAL LETTER SHA
- (#xFC ?\u042D) ;; CYRILLIC CAPITAL LETTER E
- (#xFD ?\u0429) ;; CYRILLIC CAPITAL LETTER SHCHA
- (#xFE ?\u0427) ;; CYRILLIC CAPITAL LETTER CHE
- (#xFF ?\u042A));; CYRILLIC CAPITAL LETTER HARD SIGN
- "KOI8-RU, a mostly-compatible superset of KOI8-R.
+(make-coding-system
+ 'koi8-ru 'fixed-width "КОИ-8 (Russian, Ukrainian)"
+ '(unicode-map
+ ((#x80 ?\u2500) ;; BOX DRAWINGS LIGHT HORIZONTAL
+ (#x81 ?\u2502) ;; BOX DRAWINGS LIGHT VERTICAL
+ (#x82 ?\u250C) ;; BOX DRAWINGS LIGHT DOWN AND RIGHT
+ (#x83 ?\u2510) ;; BOX DRAWINGS LIGHT DOWN AND LEFT
+ (#x84 ?\u2514) ;; BOX DRAWINGS LIGHT UP AND RIGHT
+ (#x85 ?\u2518) ;; BOX DRAWINGS LIGHT UP AND LEFT
+ (#x86 ?\u251C) ;; BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+ (#x87 ?\u2524) ;; BOX DRAWINGS LIGHT VERTICAL AND LEFT
+ (#x88 ?\u252C) ;; BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+ (#x89 ?\u2534) ;; BOX DRAWINGS LIGHT UP AND HORIZONTAL
+ (#x8A ?\u253C) ;; BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+ (#x8B ?\u2580) ;; UPPER HALF BLOCK
+ (#x8C ?\u2584) ;; LOWER HALF BLOCK
+ (#x8D ?\u2588) ;; FULL BLOCK
+ (#x8E ?\u258C) ;; LEFT HALF BLOCK
+ (#x8F ?\u2590) ;; RIGHT HALF BLOCK
+ (#x90 ?\u2591) ;; LIGHT SHADE
+ (#x91 ?\u2592) ;; MEDIUM SHADE
+ (#x92 ?\u2593) ;; DARK SHADE
+ (#x93 ?\u2320) ;; TOP HALF INTEGRAL
+ (#x94 ?\u25A0) ;; BLACK SQUARE
+ (#x95 ?\u2219) ;; BULLET OPERATOR
+ (#x96 ?\u221A) ;; SQUARE ROOT
+ (#x97 ?\u2248) ;; ALMOST EQUAL TO
+ (#x98 ?\u2264) ;; LESS-THAN OR EQUAL TO
+ (#x99 ?\u2265) ;; GREATER-THAN OR EQUAL TO
+ (#x9A ?\u00A0) ;; NO-BREAK SPACE
+ (#x9B ?\u2321) ;; BOTTOM HALF INTEGRAL
+ (#x9C ?\u00B0) ;; DEGREE SIGN
+ (#x9D ?\u00B2) ;; SUPERSCRIPT TWO
+ (#x9E ?\u00B7) ;; MIDDLE DOT
+ (#x9F ?\u00F7) ;; DIVISION SIGN
+ (#xA0 ?\u2550) ;; BOX DRAWINGS DOUBLE HORIZONTAL
+ (#xA1 ?\u2551) ;; BOX DRAWINGS DOUBLE VERTICAL
+ (#xA2 ?\u2552) ;; BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
+ (#xA3 ?\u0451) ;; CYRILLIC SMALL LETTER IO
+ (#xA4 ?\u0454) ;; CYRILLIC SMALL LETTER UKRAINIAN IE
+ (#xA5 ?\u2554) ;; BOX DRAWINGS DOUBLE DOWN AND RIGHT
+ (#xA6 ?\u0456) ;; CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
+ (#xA7 ?\u0457) ;; CYRILLIC SMALL LETTER YI
+ (#xA8 ?\u2557) ;; BOX DRAWINGS DOUBLE DOWN AND LEFT
+ (#xA9 ?\u2558) ;; BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
+ (#xAA ?\u2559) ;; BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
+ (#xAB ?\u255A) ;; BOX DRAWINGS DOUBLE UP AND RIGHT
+ (#xAC ?\u255B) ;; BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
+ (#xAD ?\u0491) ;; CYRILLIC SMALL LETTER GHE WITH UPTURN
+ (#xAE ?\u045E) ;; CYRILLIC SMALL LETTER SHORT U
+ (#xAF ?\u255E) ;; BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
+ (#xB0 ?\u255F) ;; BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
+ (#xB1 ?\u2560) ;; BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+ (#xB2 ?\u2561) ;; BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
+ (#xB3 ?\u0401) ;; CYRILLIC CAPITAL LETTER IO
+ (#xB4 ?\u0404) ;; CYRILLIC CAPITAL LETTER UKRAINIAN IE
+ (#xB5 ?\u2563) ;; BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+ (#xB6 ?\u0406) ;; CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
+ (#xB7 ?\u0407) ;; CYRILLIC CAPITAL LETTER YI
+ (#xB8 ?\u2566) ;; BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+ (#xB9 ?\u2567) ;; BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
+ (#xBA ?\u2568) ;; BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
+ (#xBB ?\u2569) ;; BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+ (#xBC ?\u256A) ;; BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+ (#xBD ?\u0490) ;; CYRILLIC CAPITAL LETTER GHE WITH UPTURN
+ (#xBE ?\u040E) ;; CYRILLIC CAPITAL LETTER SHORT U
+ (#xBF ?\u00A9) ;; COPYRIGHT SIGN
+ (#xC0 ?\u044E) ;; CYRILLIC SMALL LETTER YU
+ (#xC1 ?\u0430) ;; CYRILLIC SMALL LETTER A
+ (#xC2 ?\u0431) ;; CYRILLIC SMALL LETTER BE
+ (#xC3 ?\u0446) ;; CYRILLIC SMALL LETTER TSE
+ (#xC4 ?\u0434) ;; CYRILLIC SMALL LETTER DE
+ (#xC5 ?\u0435) ;; CYRILLIC SMALL LETTER IE
+ (#xC6 ?\u0444) ;; CYRILLIC SMALL LETTER EF
+ (#xC7 ?\u0433) ;; CYRILLIC SMALL LETTER GHE
+ (#xC8 ?\u0445) ;; CYRILLIC SMALL LETTER HA
+ (#xC9 ?\u0438) ;; CYRILLIC SMALL LETTER I
+ (#xCA ?\u0439) ;; CYRILLIC SMALL LETTER SHORT I
+ (#xCB ?\u043A) ;; CYRILLIC SMALL LETTER KA
+ (#xCC ?\u043B) ;; CYRILLIC SMALL LETTER EL
+ (#xCD ?\u043C) ;; CYRILLIC SMALL LETTER EM
+ (#xCE ?\u043D) ;; CYRILLIC SMALL LETTER EN
+ (#xCF ?\u043E) ;; CYRILLIC SMALL LETTER O
+ (#xD0 ?\u043F) ;; CYRILLIC SMALL LETTER PE
+ (#xD1 ?\u044F) ;; CYRILLIC SMALL LETTER YA
+ (#xD2 ?\u0440) ;; CYRILLIC SMALL LETTER ER
+ (#xD3 ?\u0441) ;; CYRILLIC SMALL LETTER ES
+ (#xD4 ?\u0442) ;; CYRILLIC SMALL LETTER TE
+ (#xD5 ?\u0443) ;; CYRILLIC SMALL LETTER U
+ (#xD6 ?\u0436) ;; CYRILLIC SMALL LETTER ZHE
+ (#xD7 ?\u0432) ;; CYRILLIC SMALL LETTER VE
+ (#xD8 ?\u044C) ;; CYRILLIC SMALL LETTER SOFT SIGN
+ (#xD9 ?\u044B) ;; CYRILLIC SMALL LETTER YERU
+ (#xDA ?\u0437) ;; CYRILLIC SMALL LETTER ZE
+ (#xDB ?\u0448) ;; CYRILLIC SMALL LETTER SHA
+ (#xDC ?\u044D) ;; CYRILLIC SMALL LETTER E
+ (#xDD ?\u0449) ;; CYRILLIC SMALL LETTER SHCHA
+ (#xDE ?\u0447) ;; CYRILLIC SMALL LETTER CHE
+ (#xDF ?\u044A) ;; CYRILLIC SMALL LETTER HARD SIGN
+ (#xE0 ?\u042E) ;; CYRILLIC CAPITAL LETTER YU
+ (#xE1 ?\u0410) ;; CYRILLIC CAPITAL LETTER A
+ (#xE2 ?\u0411) ;; CYRILLIC CAPITAL LETTER BE
+ (#xE3 ?\u0426) ;; CYRILLIC CAPITAL LETTER TSE
+ (#xE4 ?\u0414) ;; CYRILLIC CAPITAL LETTER DE
+ (#xE5 ?\u0415) ;; CYRILLIC CAPITAL LETTER IE
+ (#xE6 ?\u0424) ;; CYRILLIC CAPITAL LETTER EF
+ (#xE7 ?\u0413) ;; CYRILLIC CAPITAL LETTER GHE
+ (#xE8 ?\u0425) ;; CYRILLIC CAPITAL LETTER HA
+ (#xE9 ?\u0418) ;; CYRILLIC CAPITAL LETTER I
+ (#xEA ?\u0419) ;; CYRILLIC CAPITAL LETTER SHORT I
+ (#xEB ?\u041A) ;; CYRILLIC CAPITAL LETTER KA
+ (#xEC ?\u041B) ;; CYRILLIC CAPITAL LETTER EL
+ (#xED ?\u041C) ;; CYRILLIC CAPITAL LETTER EM
+ (#xEE ?\u041D) ;; CYRILLIC CAPITAL LETTER EN
+ (#xEF ?\u041E) ;; CYRILLIC CAPITAL LETTER O
+ (#xF0 ?\u041F) ;; CYRILLIC CAPITAL LETTER PE
+ (#xF1 ?\u042F) ;; CYRILLIC CAPITAL LETTER YA
+ (#xF2 ?\u0420) ;; CYRILLIC CAPITAL LETTER ER
+ (#xF3 ?\u0421) ;; CYRILLIC CAPITAL LETTER ES
+ (#xF4 ?\u0422) ;; CYRILLIC CAPITAL LETTER TE
+ (#xF5 ?\u0423) ;; CYRILLIC CAPITAL LETTER U
+ (#xF6 ?\u0416) ;; CYRILLIC CAPITAL LETTER ZHE
+ (#xF7 ?\u0412) ;; CYRILLIC CAPITAL LETTER VE
+ (#xF8 ?\u042C) ;; CYRILLIC CAPITAL LETTER SOFT SIGN
+ (#xF9 ?\u042B) ;; CYRILLIC CAPITAL LETTER YERU
+ (#xFA ?\u0417) ;; CYRILLIC CAPITAL LETTER ZE
+ (#xFB ?\u0428) ;; CYRILLIC CAPITAL LETTER SHA
+ (#xFC ?\u042D) ;; CYRILLIC CAPITAL LETTER E
+ (#xFD ?\u0429) ;; CYRILLIC CAPITAL LETTER SHCHA
+ (#xFE ?\u0427) ;; CYRILLIC CAPITAL LETTER CHE
+ (#xFF ?\u042A)) ;; CYRILLIC CAPITAL LETTER HARD SIGN
+ mnemonic "РУ"
+ documentation "KOI8-RU, a mostly-compatible superset of KOI8-R.
Also known as Windows code page 21866; has Ukrainian and Belarussian support. "
- '(mnemonic "РУ"
aliases (cp21866)))
;; We should provide an input method and the corresponding language
;; environments for the next three coding systems.
-(make-8-bit-coding-system
- 'koi8-t
- '((#x80 ?\u049B) ;; CYRILLIC SMALL LETTER KA WITH DESCENDER
- (#x81 ?\u0493) ;; CYRILLIC SMALL LETTER GHE WITH STROKE
- (#x82 ?\u201A) ;; SINGLE LOW-9 QUOTATION MARK
- (#x83 ?\u0492) ;; CYRILLIC CAPITAL LETTER GHE WITH STROKE
- (#x84 ?\u201E) ;; DOUBLE LOW-9 QUOTATION MARK
- (#x85 ?\u2026) ;; HORIZONTAL ELLIPSIS
- (#x86 ?\u2020) ;; DAGGER
- (#x87 ?\u2021) ;; DOUBLE DAGGER
- (#x89 ?\u2030) ;; PER MILLE SIGN
- (#x8A ?\u04B3) ;; CYRILLIC SMALL LETTER HA WITH DESCENDER
- (#x8B ?\u2039) ;; SINGLE LEFT-POINTING ANGLE QUOTATION MARK
- (#x8C ?\u04B2) ;; CYRILLIC CAPITAL LETTER HA WITH DESCENDER
- (#x8D ?\u04B7) ;; CYRILLIC SMALL LETTER CHE WITH DESCENDER
- (#x8E ?\u04B6) ;; CYRILLIC CAPITAL LETTER CHE WITH DESCENDER
- (#x90 ?\u049A) ;; CYRILLIC CAPITAL LETTER KA WITH DESCENDER
- (#x91 ?\u2018) ;; LEFT SINGLE QUOTATION MARK
- (#x92 ?\u2019) ;; RIGHT SINGLE QUOTATION MARK
- (#x93 ?\u201C) ;; LEFT DOUBLE QUOTATION MARK
- (#x94 ?\u201D) ;; RIGHT DOUBLE QUOTATION MARK
- (#x95 ?\u2022) ;; BULLET
- (#x96 ?\u2013) ;; EN DASH
- (#x97 ?\u2014) ;; EM DASH
- (#x99 ?\u2122) ;; TRADE MARK SIGN
- (#x9B ?\u203A) ;; SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
- (#xA1 ?\u04EF) ;; CYRILLIC SMALL LETTER U WITH MACRON
- (#xA2 ?\u04EE) ;; CYRILLIC CAPITAL LETTER U WITH MACRON
- (#xA3 ?\u0451) ;; CYRILLIC SMALL LETTER IO
- (#xA4 ?\u00A4) ;; CURRENCY SIGN
- (#xA5 ?\u04E3) ;; CYRILLIC SMALL LETTER I WITH MACRON
- (#xA6 ?\u00A6) ;; BROKEN BAR
- (#xA7 ?\u00A7) ;; SECTION SIGN
- (#xAB ?\u00AB) ;; LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- (#xAC ?\u00AC) ;; NOT SIGN
- (#xAD ?\u00AD) ;; SOFT HYPHEN
- (#xAE ?\u00AE) ;; REGISTERED SIGN
- (#xB0 ?\u00B0) ;; DEGREE SIGN
- (#xB1 ?\u00B1) ;; PLUS-MINUS SIGN
- (#xB2 ?\u00B2) ;; SUPERSCRIPT TWO
- (#xB3 ?\u0401) ;; CYRILLIC CAPITAL LETTER IO
- (#xB5 ?\u04E2) ;; CYRILLIC CAPITAL LETTER I WITH MACRON
- (#xB6 ?\u00B6) ;; PILCROW SIGN
- (#xB7 ?\u00B7) ;; MIDDLE DOT
- (#xB9 ?\u2116) ;; NUMERO SIGN
- (#xBB ?\u00BB) ;; RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- (#xBF ?\u00A9) ;; COPYRIGHT SIGN
- (#xC0 ?\u044E) ;; CYRILLIC SMALL LETTER YU
- (#xC1 ?\u0430) ;; CYRILLIC SMALL LETTER A
- (#xC2 ?\u0431) ;; CYRILLIC SMALL LETTER BE
- (#xC3 ?\u0446) ;; CYRILLIC SMALL LETTER TSE
- (#xC4 ?\u0434) ;; CYRILLIC SMALL LETTER DE
- (#xC5 ?\u0435) ;; CYRILLIC SMALL LETTER IE
- (#xC6 ?\u0444) ;; CYRILLIC SMALL LETTER EF
- (#xC7 ?\u0433) ;; CYRILLIC SMALL LETTER GHE
- (#xC8 ?\u0445) ;; CYRILLIC SMALL LETTER HA
- (#xC9 ?\u0438) ;; CYRILLIC SMALL LETTER I
- (#xCA ?\u0439) ;; CYRILLIC SMALL LETTER SHORT I
- (#xCB ?\u043A) ;; CYRILLIC SMALL LETTER KA
- (#xCC ?\u043B) ;; CYRILLIC SMALL LETTER EL
- (#xCD ?\u043C) ;; CYRILLIC SMALL LETTER EM
- (#xCE ?\u043D) ;; CYRILLIC SMALL LETTER EN
- (#xCF ?\u043E) ;; CYRILLIC SMALL LETTER O
- (#xD0 ?\u043F) ;; CYRILLIC SMALL LETTER PE
- (#xD1 ?\u044F) ;; CYRILLIC SMALL LETTER YA
- (#xD2 ?\u0440) ;; CYRILLIC SMALL LETTER ER
- (#xD3 ?\u0441) ;; CYRILLIC SMALL LETTER ES
- (#xD4 ?\u0442) ;; CYRILLIC SMALL LETTER TE
- (#xD5 ?\u0443) ;; CYRILLIC SMALL LETTER U
- (#xD6 ?\u0436) ;; CYRILLIC SMALL LETTER ZHE
- (#xD7 ?\u0432) ;; CYRILLIC SMALL LETTER VE
- (#xD8 ?\u044C) ;; CYRILLIC SMALL LETTER SOFT SIGN
- (#xD9 ?\u044B) ;; CYRILLIC SMALL LETTER YERU
- (#xDA ?\u0437) ;; CYRILLIC SMALL LETTER ZE
- (#xDB ?\u0448) ;; CYRILLIC SMALL LETTER SHA
- (#xDC ?\u044D) ;; CYRILLIC SMALL LETTER E
- (#xDD ?\u0449) ;; CYRILLIC SMALL LETTER SHCHA
- (#xDE ?\u0447) ;; CYRILLIC SMALL LETTER CHE
- (#xDF ?\u044A) ;; CYRILLIC SMALL LETTER HARD SIGN
- (#xE0 ?\u042E) ;; CYRILLIC CAPITAL LETTER YU
- (#xE1 ?\u0410) ;; CYRILLIC CAPITAL LETTER A
- (#xE2 ?\u0411) ;; CYRILLIC CAPITAL LETTER BE
- (#xE3 ?\u0426) ;; CYRILLIC CAPITAL LETTER TSE
- (#xE4 ?\u0414) ;; CYRILLIC CAPITAL LETTER DE
- (#xE5 ?\u0415) ;; CYRILLIC CAPITAL LETTER IE
- (#xE6 ?\u0424) ;; CYRILLIC CAPITAL LETTER EF
- (#xE7 ?\u0413) ;; CYRILLIC CAPITAL LETTER GHE
- (#xE8 ?\u0425) ;; CYRILLIC CAPITAL LETTER HA
- (#xE9 ?\u0418) ;; CYRILLIC CAPITAL LETTER I
- (#xEA ?\u0419) ;; CYRILLIC CAPITAL LETTER SHORT I
- (#xEB ?\u041A) ;; CYRILLIC CAPITAL LETTER KA
- (#xEC ?\u041B) ;; CYRILLIC CAPITAL LETTER EL
- (#xED ?\u041C) ;; CYRILLIC CAPITAL LETTER EM
- (#xEE ?\u041D) ;; CYRILLIC CAPITAL LETTER EN
- (#xEF ?\u041E) ;; CYRILLIC CAPITAL LETTER O
- (#xF0 ?\u041F) ;; CYRILLIC CAPITAL LETTER PE
- (#xF1 ?\u042F) ;; CYRILLIC CAPITAL LETTER YA
- (#xF2 ?\u0420) ;; CYRILLIC CAPITAL LETTER ER
- (#xF3 ?\u0421) ;; CYRILLIC CAPITAL LETTER ES
- (#xF4 ?\u0422) ;; CYRILLIC CAPITAL LETTER TE
- (#xF5 ?\u0423) ;; CYRILLIC CAPITAL LETTER U
- (#xF6 ?\u0416) ;; CYRILLIC CAPITAL LETTER ZHE
- (#xF7 ?\u0412) ;; CYRILLIC CAPITAL LETTER VE
- (#xF8 ?\u042C) ;; CYRILLIC CAPITAL LETTER SOFT SIGN
- (#xF9 ?\u042B) ;; CYRILLIC CAPITAL LETTER YERU
- (#xFA ?\u0417) ;; CYRILLIC CAPITAL LETTER ZE
- (#xFB ?\u0428) ;; CYRILLIC CAPITAL LETTER SHA
- (#xFC ?\u042D) ;; CYRILLIC CAPITAL LETTER E
- (#xFD ?\u0429) ;; CYRILLIC CAPITAL LETTER SHCHA
- (#xFE ?\u0427) ;; CYRILLIC CAPITAL LETTER CHE
- (#xFF ?\u042A));; CYRILLIC CAPITAL LETTER HARD SIGN
- "КОИ-8 for Tajik."
- '(mnemonic "ТҶ"
+(make-coding-system
+ 'koi8-t 'fixed-width "КОИ-8 for Tajik."
+ '(unicode-map
+ ((#x80 ?\u049B) ;; CYRILLIC SMALL LETTER KA WITH DESCENDER
+ (#x81 ?\u0493) ;; CYRILLIC SMALL LETTER GHE WITH STROKE
+ (#x82 ?\u201A) ;; SINGLE LOW-9 QUOTATION MARK
+ (#x83 ?\u0492) ;; CYRILLIC CAPITAL LETTER GHE WITH STROKE
+ (#x84 ?\u201E) ;; DOUBLE LOW-9 QUOTATION MARK
+ (#x85 ?\u2026) ;; HORIZONTAL ELLIPSIS
+ (#x86 ?\u2020) ;; DAGGER
+ (#x87 ?\u2021) ;; DOUBLE DAGGER
+ (#x89 ?\u2030) ;; PER MILLE SIGN
+ (#x8A ?\u04B3) ;; CYRILLIC SMALL LETTER HA WITH DESCENDER
+ (#x8B ?\u2039) ;; SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+ (#x8C ?\u04B2) ;; CYRILLIC CAPITAL LETTER HA WITH DESCENDER
+ (#x8D ?\u04B7) ;; CYRILLIC SMALL LETTER CHE WITH DESCENDER
+ (#x8E ?\u04B6) ;; CYRILLIC CAPITAL LETTER CHE WITH DESCENDER
+ (#x90 ?\u049A) ;; CYRILLIC CAPITAL LETTER KA WITH DESCENDER
+ (#x91 ?\u2018) ;; LEFT SINGLE QUOTATION MARK
+ (#x92 ?\u2019) ;; RIGHT SINGLE QUOTATION MARK
+ (#x93 ?\u201C) ;; LEFT DOUBLE QUOTATION MARK
+ (#x94 ?\u201D) ;; RIGHT DOUBLE QUOTATION MARK
+ (#x95 ?\u2022) ;; BULLET
+ (#x96 ?\u2013) ;; EN DASH
+ (#x97 ?\u2014) ;; EM DASH
+ (#x99 ?\u2122) ;; TRADE MARK SIGN
+ (#x9B ?\u203A) ;; SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+ (#xA1 ?\u04EF) ;; CYRILLIC SMALL LETTER U WITH MACRON
+ (#xA2 ?\u04EE) ;; CYRILLIC CAPITAL LETTER U WITH MACRON
+ (#xA3 ?\u0451) ;; CYRILLIC SMALL LETTER IO
+ (#xA4 ?\u00A4) ;; CURRENCY SIGN
+ (#xA5 ?\u04E3) ;; CYRILLIC SMALL LETTER I WITH MACRON
+ (#xA6 ?\u00A6) ;; BROKEN BAR
+ (#xA7 ?\u00A7) ;; SECTION SIGN
+ (#xAB ?\u00AB) ;; LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ (#xAC ?\u00AC) ;; NOT SIGN
+ (#xAD ?\u00AD) ;; SOFT HYPHEN
+ (#xAE ?\u00AE) ;; REGISTERED SIGN
+ (#xB0 ?\u00B0) ;; DEGREE SIGN
+ (#xB1 ?\u00B1) ;; PLUS-MINUS SIGN
+ (#xB2 ?\u00B2) ;; SUPERSCRIPT TWO
+ (#xB3 ?\u0401) ;; CYRILLIC CAPITAL LETTER IO
+ (#xB5 ?\u04E2) ;; CYRILLIC CAPITAL LETTER I WITH MACRON
+ (#xB6 ?\u00B6) ;; PILCROW SIGN
+ (#xB7 ?\u00B7) ;; MIDDLE DOT
+ (#xB9 ?\u2116) ;; NUMERO SIGN
+ (#xBB ?\u00BB) ;; RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ (#xBF ?\u00A9) ;; COPYRIGHT SIGN
+ (#xC0 ?\u044E) ;; CYRILLIC SMALL LETTER YU
+ (#xC1 ?\u0430) ;; CYRILLIC SMALL LETTER A
+ (#xC2 ?\u0431) ;; CYRILLIC SMALL LETTER BE
+ (#xC3 ?\u0446) ;; CYRILLIC SMALL LETTER TSE
+ (#xC4 ?\u0434) ;; CYRILLIC SMALL LETTER DE
+ (#xC5 ?\u0435) ;; CYRILLIC SMALL LETTER IE
+ (#xC6 ?\u0444) ;; CYRILLIC SMALL LETTER EF
+ (#xC7 ?\u0433) ;; CYRILLIC SMALL LETTER GHE
+ (#xC8 ?\u0445) ;; CYRILLIC SMALL LETTER HA
+ (#xC9 ?\u0438) ;; CYRILLIC SMALL LETTER I
+ (#xCA ?\u0439) ;; CYRILLIC SMALL LETTER SHORT I
+ (#xCB ?\u043A) ;; CYRILLIC SMALL LETTER KA
+ (#xCC ?\u043B) ;; CYRILLIC SMALL LETTER EL
+ (#xCD ?\u043C) ;; CYRILLIC SMALL LETTER EM
+ (#xCE ?\u043D) ;; CYRILLIC SMALL LETTER EN
+ (#xCF ?\u043E) ;; CYRILLIC SMALL LETTER O
+ (#xD0 ?\u043F) ;; CYRILLIC SMALL LETTER PE
+ (#xD1 ?\u044F) ;; CYRILLIC SMALL LETTER YA
+ (#xD2 ?\u0440) ;; CYRILLIC SMALL LETTER ER
+ (#xD3 ?\u0441) ;; CYRILLIC SMALL LETTER ES
+ (#xD4 ?\u0442) ;; CYRILLIC SMALL LETTER TE
+ (#xD5 ?\u0443) ;; CYRILLIC SMALL LETTER U
+ (#xD6 ?\u0436) ;; CYRILLIC SMALL LETTER ZHE
+ (#xD7 ?\u0432) ;; CYRILLIC SMALL LETTER VE
+ (#xD8 ?\u044C) ;; CYRILLIC SMALL LETTER SOFT SIGN
+ (#xD9 ?\u044B) ;; CYRILLIC SMALL LETTER YERU
+ (#xDA ?\u0437) ;; CYRILLIC SMALL LETTER ZE
+ (#xDB ?\u0448) ;; CYRILLIC SMALL LETTER SHA
+ (#xDC ?\u044D) ;; CYRILLIC SMALL LETTER E
+ (#xDD ?\u0449) ;; CYRILLIC SMALL LETTER SHCHA
+ (#xDE ?\u0447) ;; CYRILLIC SMALL LETTER CHE
+ (#xDF ?\u044A) ;; CYRILLIC SMALL LETTER HARD SIGN
+ (#xE0 ?\u042E) ;; CYRILLIC CAPITAL LETTER YU
+ (#xE1 ?\u0410) ;; CYRILLIC CAPITAL LETTER A
+ (#xE2 ?\u0411) ;; CYRILLIC CAPITAL LETTER BE
+ (#xE3 ?\u0426) ;; CYRILLIC CAPITAL LETTER TSE
+ (#xE4 ?\u0414) ;; CYRILLIC CAPITAL LETTER DE
+ (#xE5 ?\u0415) ;; CYRILLIC CAPITAL LETTER IE
+ (#xE6 ?\u0424) ;; CYRILLIC CAPITAL LETTER EF
+ (#xE7 ?\u0413) ;; CYRILLIC CAPITAL LETTER GHE
+ (#xE8 ?\u0425) ;; CYRILLIC CAPITAL LETTER HA
+ (#xE9 ?\u0418) ;; CYRILLIC CAPITAL LETTER I
+ (#xEA ?\u0419) ;; CYRILLIC CAPITAL LETTER SHORT I
+ (#xEB ?\u041A) ;; CYRILLIC CAPITAL LETTER KA
+ (#xEC ?\u041B) ;; CYRILLIC CAPITAL LETTER EL
+ (#xED ?\u041C) ;; CYRILLIC CAPITAL LETTER EM
+ (#xEE ?\u041D) ;; CYRILLIC CAPITAL LETTER EN
+ (#xEF ?\u041E) ;; CYRILLIC CAPITAL LETTER O
+ (#xF0 ?\u041F) ;; CYRILLIC CAPITAL LETTER PE
+ (#xF1 ?\u042F) ;; CYRILLIC CAPITAL LETTER YA
+ (#xF2 ?\u0420) ;; CYRILLIC CAPITAL LETTER ER
+ (#xF3 ?\u0421) ;; CYRILLIC CAPITAL LETTER ES
+ (#xF4 ?\u0422) ;; CYRILLIC CAPITAL LETTER TE
+ (#xF5 ?\u0423) ;; CYRILLIC CAPITAL LETTER U
+ (#xF6 ?\u0416) ;; CYRILLIC CAPITAL LETTER ZHE
+ (#xF7 ?\u0412) ;; CYRILLIC CAPITAL LETTER VE
+ (#xF8 ?\u042C) ;; CYRILLIC CAPITAL LETTER SOFT SIGN
+ (#xF9 ?\u042B) ;; CYRILLIC CAPITAL LETTER YERU
+ (#xFA ?\u0417) ;; CYRILLIC CAPITAL LETTER ZE
+ (#xFB ?\u0428) ;; CYRILLIC CAPITAL LETTER SHA
+ (#xFC ?\u042D) ;; CYRILLIC CAPITAL LETTER E
+ (#xFD ?\u0429) ;; CYRILLIC CAPITAL LETTER SHCHA
+ (#xFE ?\u0427) ;; CYRILLIC CAPITAL LETTER CHE
+ (#xFF ?\u042A)) ;; CYRILLIC CAPITAL LETTER HARD SIGN
+ mnemonic "ТҶ"
documentation
"Compatible in the alphabetic characters with KOI-8R for Russian,
this 8-bit Cyrillic coding system makes those characters available
@@ -1163,138 +1167,138 @@
(put-case-table-pair upper lower case-table))
;; Support fot the languages of the Caucasus.
-(make-8-bit-coding-system
- 'koi8-c
- '((#x80 ?\u0493) ;; CYRILLIC SMALL LETTER GHE WITH STROKE
- (#x81 ?\u0497) ;; CYRILLIC SMALL LETTER ZHE WITH DESCENDER
- (#x82 ?\u049B) ;; CYRILLIC SMALL LETTER KA WITH DESCENDER
- (#x83 ?\u049D) ;; CYRILLIC SMALL LETTER KA WITH VERTICAL STROKE
- (#x84 ?\u04A3) ;; CYRILLIC SMALL LETTER EN WITH DESCENDER
- (#x85 ?\u04AF) ;; CYRILLIC SMALL LETTER STRAIGHT U
- (#x86 ?\u04B1) ;; CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE
- (#x87 ?\u04B3) ;; CYRILLIC SMALL LETTER HA WITH DESCENDER
- (#x88 ?\u04B7) ;; CYRILLIC SMALL LETTER CHE WITH DESCENDER
- (#x89 ?\u04B9) ;; CYRILLIC SMALL LETTER CHE WITH VERTICAL STROKE
- (#x8A ?\u04BB) ;; CYRILLIC SMALL LETTER SHHA
- (#x8B ?\u2580) ;; UPPER HALF BLOCK
- (#x8C ?\u049D) ;; CYRILLIC SMALL LETTER KA WITH VERTICAL STROKE
- (#x8D ?\u04E3) ;; CYRILLIC SMALL LETTER I WITH MACRON
- (#x8E ?\u04E9) ;; CYRILLIC SMALL LETTER BARRED O
- (#x8F ?\u04EF) ;; CYRILLIC SMALL LETTER U WITH MACRON
- (#x90 ?\u0492) ;; CYRILLIC CAPITAL LETTER GHE WITH STROKE
- (#x91 ?\u0496) ;; CYRILLIC CAPITAL LETTER ZHE WITH DESCENDER
- (#x92 ?\u049A) ;; CYRILLIC CAPITAL LETTER KA WITH DESCENDER
- (#x93 ?\u049C) ;; CYRILLIC CAPITAL LETTER KA WITH VERTICAL STROKE
- (#x94 ?\u04A2) ;; CYRILLIC CAPITAL LETTER EN WITH DESCENDER
- (#x95 ?\u04AE) ;; CYRILLIC CAPITAL LETTER STRAIGHT U
- (#x96 ?\u04B0) ;; CYRILLIC CAPITAL LETTER STRAIGHT U WITH STROKE
- (#x97 ?\u04B2) ;; CYRILLIC CAPITAL LETTER HA WITH DESCENDER
- (#x98 ?\u04B6) ;; CYRILLIC CAPITAL LETTER CHE WITH DESCENDER
- (#x99 ?\u04B8) ;; CYRILLIC CAPITAL LETTER CHE WITH VERTICAL STROKE
- (#x9A ?\u04BA) ;; CYRILLIC CAPITAL LETTER SHHA
- (#x9B ?\u2321) ;; BOTTOM HALF INTEGRAL
- (#x9C ?\u04D8) ;; CYRILLIC CAPITAL LETTER SCHWA
- (#x9D ?\u04E2) ;; CYRILLIC CAPITAL LETTER I WITH MACRON
- (#x9E ?\u04E8) ;; CYRILLIC CAPITAL LETTER BARRED O
- (#x9F ?\u04EE) ;; CYRILLIC CAPITAL LETTER U WITH MACRON
- (#xA0 ?\u00A0) ;; NO-BREAK SPACE
- (#xA1 ?\u0452) ;; CYRILLIC SMALL LETTER DJE
- (#xA2 ?\u0453) ;; CYRILLIC SMALL LETTER GJE
- (#xA3 ?\u0451) ;; CYRILLIC SMALL LETTER IO
- (#xA4 ?\u0454) ;; CYRILLIC SMALL LETTER UKRAINIAN IE
- (#xA5 ?\u0455) ;; CYRILLIC SMALL LETTER DZE
- (#xA6 ?\u0456) ;; CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
- (#xA7 ?\u0457) ;; CYRILLIC SMALL LETTER YI
- (#xA8 ?\u0458) ;; CYRILLIC SMALL LETTER JE
- (#xA9 ?\u0459) ;; CYRILLIC SMALL LETTER LJE
- (#xAA ?\u045A) ;; CYRILLIC SMALL LETTER NJE
- (#xAB ?\u045B) ;; CYRILLIC SMALL LETTER TSHE
- (#xAC ?\u045C) ;; CYRILLIC SMALL LETTER KJE
- (#xAD ?\u0491) ;; CYRILLIC SMALL LETTER GHE WITH UPTURN
- (#xAE ?\u045E) ;; CYRILLIC SMALL LETTER SHORT U
- (#xAF ?\u045F) ;; CYRILLIC SMALL LETTER DZHE
- (#xB0 ?\u2116) ;; NUMERO SIGN
- (#xB1 ?\u0402) ;; CYRILLIC CAPITAL LETTER DJE
- (#xB2 ?\u0403) ;; CYRILLIC CAPITAL LETTER GJE
- (#xB3 ?\u0401) ;; CYRILLIC CAPITAL LETTER IO
- (#xB4 ?\u0404) ;; CYRILLIC CAPITAL LETTER UKRAINIAN IE
- (#xB5 ?\u0405) ;; CYRILLIC CAPITAL LETTER DZE
- (#xB6 ?\u0406) ;; CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
- (#xB7 ?\u0407) ;; CYRILLIC CAPITAL LETTER YI
- (#xB8 ?\u0408) ;; CYRILLIC CAPITAL LETTER JE
- (#xB9 ?\u0409) ;; CYRILLIC CAPITAL LETTER LJE
- (#xBA ?\u040A) ;; CYRILLIC CAPITAL LETTER NJE
- (#xBB ?\u040B) ;; CYRILLIC CAPITAL LETTER TSHE
- (#xBC ?\u040C) ;; CYRILLIC CAPITAL LETTER KJE
- (#xBD ?\u0490) ;; CYRILLIC CAPITAL LETTER GHE WITH UPTURN
- (#xBE ?\u040E) ;; CYRILLIC CAPITAL LETTER SHORT U
- (#xBF ?\u040F) ;; CYRILLIC CAPITAL LETTER DZHE
- (#xC0 ?\u044E) ;; CYRILLIC SMALL LETTER YU
- (#xC1 ?\u0430) ;; CYRILLIC SMALL LETTER A
- (#xC2 ?\u0431) ;; CYRILLIC SMALL LETTER BE
- (#xC3 ?\u0446) ;; CYRILLIC SMALL LETTER TSE
- (#xC4 ?\u0434) ;; CYRILLIC SMALL LETTER DE
- (#xC5 ?\u0435) ;; CYRILLIC SMALL LETTER IE
- (#xC6 ?\u0444) ;; CYRILLIC SMALL LETTER EF
- (#xC7 ?\u0433) ;; CYRILLIC SMALL LETTER GHE
- (#xC8 ?\u0445) ;; CYRILLIC SMALL LETTER HA
- (#xC9 ?\u0438) ;; CYRILLIC SMALL LETTER I
- (#xCA ?\u0439) ;; CYRILLIC SMALL LETTER SHORT I
- (#xCB ?\u043A) ;; CYRILLIC SMALL LETTER KA
- (#xCC ?\u043B) ;; CYRILLIC SMALL LETTER EL
- (#xCD ?\u043C) ;; CYRILLIC SMALL LETTER EM
- (#xCE ?\u043D) ;; CYRILLIC SMALL LETTER EN
- (#xCF ?\u043E) ;; CYRILLIC SMALL LETTER O
- (#xD0 ?\u043F) ;; CYRILLIC SMALL LETTER PE
- (#xD1 ?\u044F) ;; CYRILLIC SMALL LETTER YA
- (#xD2 ?\u0440) ;; CYRILLIC SMALL LETTER ER
- (#xD3 ?\u0441) ;; CYRILLIC SMALL LETTER ES
- (#xD4 ?\u0442) ;; CYRILLIC SMALL LETTER TE
- (#xD5 ?\u0443) ;; CYRILLIC SMALL LETTER U
- (#xD6 ?\u0436) ;; CYRILLIC SMALL LETTER ZHE
- (#xD7 ?\u0432) ;; CYRILLIC SMALL LETTER VE
- (#xD8 ?\u044C) ;; CYRILLIC SMALL LETTER SOFT SIGN
- (#xD9 ?\u044B) ;; CYRILLIC SMALL LETTER YERU
- (#xDA ?\u0437) ;; CYRILLIC SMALL LETTER ZE
- (#xDB ?\u0448) ;; CYRILLIC SMALL LETTER SHA
- (#xDC ?\u044D) ;; CYRILLIC SMALL LETTER E
- (#xDD ?\u0449) ;; CYRILLIC SMALL LETTER SHCHA
- (#xDE ?\u0447) ;; CYRILLIC SMALL LETTER CHE
- (#xDF ?\u044A) ;; CYRILLIC SMALL LETTER HARD SIGN
- (#xE0 ?\u042E) ;; CYRILLIC CAPITAL LETTER YU
- (#xE1 ?\u0410) ;; CYRILLIC CAPITAL LETTER A
- (#xE2 ?\u0411) ;; CYRILLIC CAPITAL LETTER BE
- (#xE3 ?\u0426) ;; CYRILLIC CAPITAL LETTER TSE
- (#xE4 ?\u0414) ;; CYRILLIC CAPITAL LETTER DE
- (#xE5 ?\u0415) ;; CYRILLIC CAPITAL LETTER IE
- (#xE6 ?\u0424) ;; CYRILLIC CAPITAL LETTER EF
- (#xE7 ?\u0413) ;; CYRILLIC CAPITAL LETTER GHE
- (#xE8 ?\u0425) ;; CYRILLIC CAPITAL LETTER HA
- (#xE9 ?\u0418) ;; CYRILLIC CAPITAL LETTER I
- (#xEA ?\u0419) ;; CYRILLIC CAPITAL LETTER SHORT I
- (#xEB ?\u041A) ;; CYRILLIC CAPITAL LETTER KA
- (#xEC ?\u041B) ;; CYRILLIC CAPITAL LETTER EL
- (#xED ?\u041C) ;; CYRILLIC CAPITAL LETTER EM
- (#xEE ?\u041D) ;; CYRILLIC CAPITAL LETTER EN
- (#xEF ?\u041E) ;; CYRILLIC CAPITAL LETTER O
- (#xF0 ?\u041F) ;; CYRILLIC CAPITAL LETTER PE
- (#xF1 ?\u042F) ;; CYRILLIC CAPITAL LETTER YA
- (#xF2 ?\u0420) ;; CYRILLIC CAPITAL LETTER ER
- (#xF3 ?\u0421) ;; CYRILLIC CAPITAL LETTER ES
- (#xF4 ?\u0422) ;; CYRILLIC CAPITAL LETTER TE
- (#xF5 ?\u0423) ;; CYRILLIC CAPITAL LETTER U
- (#xF6 ?\u0416) ;; CYRILLIC CAPITAL LETTER ZHE
- (#xF7 ?\u0412) ;; CYRILLIC CAPITAL LETTER VE
- (#xF8 ?\u042C) ;; CYRILLIC CAPITAL LETTER SOFT SIGN
- (#xF9 ?\u042B) ;; CYRILLIC CAPITAL LETTER YERU
- (#xFA ?\u0417) ;; CYRILLIC CAPITAL LETTER ZE
- (#xFB ?\u0428) ;; CYRILLIC CAPITAL LETTER SHA
- (#xFC ?\u042D) ;; CYRILLIC CAPITAL LETTER E
- (#xFD ?\u0429) ;; CYRILLIC CAPITAL LETTER SHCHA
- (#xFE ?\u0427) ;; CYRILLIC CAPITAL LETTER CHE
- (#xFF ?\u042A));; CYRILLIC CAPITAL LETTER HARD SIGN
- "KOI-8 for the Caucasus."
- '(documentation
+(make-coding-system
+ 'koi8-c 'fixed-width "KOI-8, Caucasus."
+ '(unicode-map
+ ((#x80 ?\u0493) ;; CYRILLIC SMALL LETTER GHE WITH STROKE
+ (#x81 ?\u0497) ;; CYRILLIC SMALL LETTER ZHE WITH DESCENDER
+ (#x82 ?\u049B) ;; CYRILLIC SMALL LETTER KA WITH DESCENDER
+ (#x83 ?\u049D) ;; CYRILLIC SMALL LETTER KA WITH VERTICAL STROKE
+ (#x84 ?\u04A3) ;; CYRILLIC SMALL LETTER EN WITH DESCENDER
+ (#x85 ?\u04AF) ;; CYRILLIC SMALL LETTER STRAIGHT U
+ (#x86 ?\u04B1) ;; CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE
+ (#x87 ?\u04B3) ;; CYRILLIC SMALL LETTER HA WITH DESCENDER
+ (#x88 ?\u04B7) ;; CYRILLIC SMALL LETTER CHE WITH DESCENDER
+ (#x89 ?\u04B9) ;; CYRILLIC SMALL LETTER CHE WITH VERTICAL STROKE
+ (#x8A ?\u04BB) ;; CYRILLIC SMALL LETTER SHHA
+ (#x8B ?\u2580) ;; UPPER HALF BLOCK
+ (#x8C ?\u049D) ;; CYRILLIC SMALL LETTER KA WITH VERTICAL STROKE
+ (#x8D ?\u04E3) ;; CYRILLIC SMALL LETTER I WITH MACRON
+ (#x8E ?\u04E9) ;; CYRILLIC SMALL LETTER BARRED O
+ (#x8F ?\u04EF) ;; CYRILLIC SMALL LETTER U WITH MACRON
+ (#x90 ?\u0492) ;; CYRILLIC CAPITAL LETTER GHE WITH STROKE
+ (#x91 ?\u0496) ;; CYRILLIC CAPITAL LETTER ZHE WITH DESCENDER
+ (#x92 ?\u049A) ;; CYRILLIC CAPITAL LETTER KA WITH DESCENDER
+ (#x93 ?\u049C) ;; CYRILLIC CAPITAL LETTER KA WITH VERTICAL STROKE
+ (#x94 ?\u04A2) ;; CYRILLIC CAPITAL LETTER EN WITH DESCENDER
+ (#x95 ?\u04AE) ;; CYRILLIC CAPITAL LETTER STRAIGHT U
+ (#x96 ?\u04B0) ;; CYRILLIC CAPITAL LETTER STRAIGHT U WITH STROKE
+ (#x97 ?\u04B2) ;; CYRILLIC CAPITAL LETTER HA WITH DESCENDER
+ (#x98 ?\u04B6) ;; CYRILLIC CAPITAL LETTER CHE WITH DESCENDER
+ (#x99 ?\u04B8) ;; CYRILLIC CAPITAL LETTER CHE WITH VERTICAL STROKE
+ (#x9A ?\u04BA) ;; CYRILLIC CAPITAL LETTER SHHA
+ (#x9B ?\u2321) ;; BOTTOM HALF INTEGRAL
+ (#x9C ?\u04D8) ;; CYRILLIC CAPITAL LETTER SCHWA
+ (#x9D ?\u04E2) ;; CYRILLIC CAPITAL LETTER I WITH MACRON
+ (#x9E ?\u04E8) ;; CYRILLIC CAPITAL LETTER BARRED O
+ (#x9F ?\u04EE) ;; CYRILLIC CAPITAL LETTER U WITH MACRON
+ (#xA0 ?\u00A0) ;; NO-BREAK SPACE
+ (#xA1 ?\u0452) ;; CYRILLIC SMALL LETTER DJE
+ (#xA2 ?\u0453) ;; CYRILLIC SMALL LETTER GJE
+ (#xA3 ?\u0451) ;; CYRILLIC SMALL LETTER IO
+ (#xA4 ?\u0454) ;; CYRILLIC SMALL LETTER UKRAINIAN IE
+ (#xA5 ?\u0455) ;; CYRILLIC SMALL LETTER DZE
+ (#xA6 ?\u0456) ;; CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
+ (#xA7 ?\u0457) ;; CYRILLIC SMALL LETTER YI
+ (#xA8 ?\u0458) ;; CYRILLIC SMALL LETTER JE
+ (#xA9 ?\u0459) ;; CYRILLIC SMALL LETTER LJE
+ (#xAA ?\u045A) ;; CYRILLIC SMALL LETTER NJE
+ (#xAB ?\u045B) ;; CYRILLIC SMALL LETTER TSHE
+ (#xAC ?\u045C) ;; CYRILLIC SMALL LETTER KJE
+ (#xAD ?\u0491) ;; CYRILLIC SMALL LETTER GHE WITH UPTURN
+ (#xAE ?\u045E) ;; CYRILLIC SMALL LETTER SHORT U
+ (#xAF ?\u045F) ;; CYRILLIC SMALL LETTER DZHE
+ (#xB0 ?\u2116) ;; NUMERO SIGN
+ (#xB1 ?\u0402) ;; CYRILLIC CAPITAL LETTER DJE
+ (#xB2 ?\u0403) ;; CYRILLIC CAPITAL LETTER GJE
+ (#xB3 ?\u0401) ;; CYRILLIC CAPITAL LETTER IO
+ (#xB4 ?\u0404) ;; CYRILLIC CAPITAL LETTER UKRAINIAN IE
+ (#xB5 ?\u0405) ;; CYRILLIC CAPITAL LETTER DZE
+ (#xB6 ?\u0406) ;; CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
+ (#xB7 ?\u0407) ;; CYRILLIC CAPITAL LETTER YI
+ (#xB8 ?\u0408) ;; CYRILLIC CAPITAL LETTER JE
+ (#xB9 ?\u0409) ;; CYRILLIC CAPITAL LETTER LJE
+ (#xBA ?\u040A) ;; CYRILLIC CAPITAL LETTER NJE
+ (#xBB ?\u040B) ;; CYRILLIC CAPITAL LETTER TSHE
+ (#xBC ?\u040C) ;; CYRILLIC CAPITAL LETTER KJE
+ (#xBD ?\u0490) ;; CYRILLIC CAPITAL LETTER GHE WITH UPTURN
+ (#xBE ?\u040E) ;; CYRILLIC CAPITAL LETTER SHORT U
+ (#xBF ?\u040F) ;; CYRILLIC CAPITAL LETTER DZHE
+ (#xC0 ?\u044E) ;; CYRILLIC SMALL LETTER YU
+ (#xC1 ?\u0430) ;; CYRILLIC SMALL LETTER A
+ (#xC2 ?\u0431) ;; CYRILLIC SMALL LETTER BE
+ (#xC3 ?\u0446) ;; CYRILLIC SMALL LETTER TSE
+ (#xC4 ?\u0434) ;; CYRILLIC SMALL LETTER DE
+ (#xC5 ?\u0435) ;; CYRILLIC SMALL LETTER IE
+ (#xC6 ?\u0444) ;; CYRILLIC SMALL LETTER EF
+ (#xC7 ?\u0433) ;; CYRILLIC SMALL LETTER GHE
+ (#xC8 ?\u0445) ;; CYRILLIC SMALL LETTER HA
+ (#xC9 ?\u0438) ;; CYRILLIC SMALL LETTER I
+ (#xCA ?\u0439) ;; CYRILLIC SMALL LETTER SHORT I
+ (#xCB ?\u043A) ;; CYRILLIC SMALL LETTER KA
+ (#xCC ?\u043B) ;; CYRILLIC SMALL LETTER EL
+ (#xCD ?\u043C) ;; CYRILLIC SMALL LETTER EM
+ (#xCE ?\u043D) ;; CYRILLIC SMALL LETTER EN
+ (#xCF ?\u043E) ;; CYRILLIC SMALL LETTER O
+ (#xD0 ?\u043F) ;; CYRILLIC SMALL LETTER PE
+ (#xD1 ?\u044F) ;; CYRILLIC SMALL LETTER YA
+ (#xD2 ?\u0440) ;; CYRILLIC SMALL LETTER ER
+ (#xD3 ?\u0441) ;; CYRILLIC SMALL LETTER ES
+ (#xD4 ?\u0442) ;; CYRILLIC SMALL LETTER TE
+ (#xD5 ?\u0443) ;; CYRILLIC SMALL LETTER U
+ (#xD6 ?\u0436) ;; CYRILLIC SMALL LETTER ZHE
+ (#xD7 ?\u0432) ;; CYRILLIC SMALL LETTER VE
+ (#xD8 ?\u044C) ;; CYRILLIC SMALL LETTER SOFT SIGN
+ (#xD9 ?\u044B) ;; CYRILLIC SMALL LETTER YERU
+ (#xDA ?\u0437) ;; CYRILLIC SMALL LETTER ZE
+ (#xDB ?\u0448) ;; CYRILLIC SMALL LETTER SHA
+ (#xDC ?\u044D) ;; CYRILLIC SMALL LETTER E
+ (#xDD ?\u0449) ;; CYRILLIC SMALL LETTER SHCHA
+ (#xDE ?\u0447) ;; CYRILLIC SMALL LETTER CHE
+ (#xDF ?\u044A) ;; CYRILLIC SMALL LETTER HARD SIGN
+ (#xE0 ?\u042E) ;; CYRILLIC CAPITAL LETTER YU
+ (#xE1 ?\u0410) ;; CYRILLIC CAPITAL LETTER A
+ (#xE2 ?\u0411) ;; CYRILLIC CAPITAL LETTER BE
+ (#xE3 ?\u0426) ;; CYRILLIC CAPITAL LETTER TSE
+ (#xE4 ?\u0414) ;; CYRILLIC CAPITAL LETTER DE
+ (#xE5 ?\u0415) ;; CYRILLIC CAPITAL LETTER IE
+ (#xE6 ?\u0424) ;; CYRILLIC CAPITAL LETTER EF
+ (#xE7 ?\u0413) ;; CYRILLIC CAPITAL LETTER GHE
+ (#xE8 ?\u0425) ;; CYRILLIC CAPITAL LETTER HA
+ (#xE9 ?\u0418) ;; CYRILLIC CAPITAL LETTER I
+ (#xEA ?\u0419) ;; CYRILLIC CAPITAL LETTER SHORT I
+ (#xEB ?\u041A) ;; CYRILLIC CAPITAL LETTER KA
+ (#xEC ?\u041B) ;; CYRILLIC CAPITAL LETTER EL
+ (#xED ?\u041C) ;; CYRILLIC CAPITAL LETTER EM
+ (#xEE ?\u041D) ;; CYRILLIC CAPITAL LETTER EN
+ (#xEF ?\u041E) ;; CYRILLIC CAPITAL LETTER O
+ (#xF0 ?\u041F) ;; CYRILLIC CAPITAL LETTER PE
+ (#xF1 ?\u042F) ;; CYRILLIC CAPITAL LETTER YA
+ (#xF2 ?\u0420) ;; CYRILLIC CAPITAL LETTER ER
+ (#xF3 ?\u0421) ;; CYRILLIC CAPITAL LETTER ES
+ (#xF4 ?\u0422) ;; CYRILLIC CAPITAL LETTER TE
+ (#xF5 ?\u0423) ;; CYRILLIC CAPITAL LETTER U
+ (#xF6 ?\u0416) ;; CYRILLIC CAPITAL LETTER ZHE
+ (#xF7 ?\u0412) ;; CYRILLIC CAPITAL LETTER VE
+ (#xF8 ?\u042C) ;; CYRILLIC CAPITAL LETTER SOFT SIGN
+ (#xF9 ?\u042B) ;; CYRILLIC CAPITAL LETTER YERU
+ (#xFA ?\u0417) ;; CYRILLIC CAPITAL LETTER ZE
+ (#xFB ?\u0428) ;; CYRILLIC CAPITAL LETTER SHA
+ (#xFC ?\u042D) ;; CYRILLIC CAPITAL LETTER E
+ (#xFD ?\u0429) ;; CYRILLIC CAPITAL LETTER SHCHA
+ (#xFE ?\u0427) ;; CYRILLIC CAPITAL LETTER CHE
+ (#xFF ?\u042A)) ;; CYRILLIC CAPITAL LETTER HARD SIGN
+ documentation
"Note that this does not support old Russian orthography;
for that, see koi8-o. "))
@@ -1315,138 +1319,138 @@
(put-case-table-pair upper lower case-table))
;; Archaic Russian support.
-(make-8-bit-coding-system
- 'koi8-o
- '((#x80 ?\u0402) ;; CYRILLIC CAPITAL LETTER DJE
- (#x81 ?\u0403) ;; CYRILLIC CAPITAL LETTER GJE
- (#x82 ?\u00B8) ;; CEDILLA
- (#x83 ?\u0453) ;; CYRILLIC SMALL LETTER GJE
- (#x84 ?\u201E) ;; DOUBLE LOW-9 QUOTATION MARK
- (#x85 ?\u2026) ;; HORIZONTAL ELLIPSIS
- (#x86 ?\u2020) ;; DAGGER
- (#x87 ?\u00A7) ;; SECTION SIGN
- (#x88 ?\u20AC) ;; EURO SIGN
- (#x89 ?\u00A8) ;; DIAERESIS
- (#x8A ?\u0409) ;; CYRILLIC CAPITAL LETTER LJE
- (#x8B ?\u2039) ;; SINGLE LEFT-POINTING ANGLE QUOTATION MARK
- (#x8C ?\u040A) ;; CYRILLIC CAPITAL LETTER NJE
- (#x8D ?\u040C) ;; CYRILLIC CAPITAL LETTER KJE
- (#x8E ?\u040B) ;; CYRILLIC CAPITAL LETTER TSHE
- (#x8F ?\u040F) ;; CYRILLIC CAPITAL LETTER DZHE
- (#x90 ?\u0452) ;; CYRILLIC SMALL LETTER DJE
- (#x91 ?\u2018) ;; LEFT SINGLE QUOTATION MARK
- (#x92 ?\u2019) ;; RIGHT SINGLE QUOTATION MARK
- (#x93 ?\u201C) ;; LEFT DOUBLE QUOTATION MARK
- (#x94 ?\u201D) ;; RIGHT DOUBLE QUOTATION MARK
- (#x95 ?\u2022) ;; BULLET
- (#x96 ?\u2013) ;; EN DASH
- (#x97 ?\u2014) ;; EM DASH
- (#x98 ?\u00A3) ;; POUND SIGN
- (#x99 ?\u00B7) ;; MIDDLE DOT
- (#x9A ?\u0459) ;; CYRILLIC SMALL LETTER LJE
- (#x9B ?\u203A) ;; SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
- (#x9C ?\u045A) ;; CYRILLIC SMALL LETTER NJE
- (#x9D ?\u045C) ;; CYRILLIC SMALL LETTER KJE
- (#x9E ?\u045B) ;; CYRILLIC SMALL LETTER TSHE
- (#x9F ?\u045F) ;; CYRILLIC SMALL LETTER DZHE
- (#xA0 ?\u00A0) ;; NO-BREAK SPACE
- (#xA1 ?\u0475) ;; CYRILLIC SMALL LETTER IZHITSA
- (#xA2 ?\u0463) ;; CYRILLIC SMALL LETTER YAT
- (#xA3 ?\u0451) ;; CYRILLIC SMALL LETTER IO
- (#xA4 ?\u0454) ;; CYRILLIC SMALL LETTER UKRAINIAN IE
- (#xA5 ?\u0455) ;; CYRILLIC SMALL LETTER DZE
- (#xA6 ?\u0456) ;; CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
- (#xA7 ?\u0457) ;; CYRILLIC SMALL LETTER YI
- (#xA8 ?\u0458) ;; CYRILLIC SMALL LETTER JE
- (#xA9 ?\u00AE) ;; REGISTERED SIGN
- (#xAA ?\u2122) ;; TRADE MARK SIGN
- (#xAB ?\u00AB) ;; LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- (#xAC ?\u0473) ;; CYRILLIC SMALL LETTER FITA
- (#xAD ?\u0491) ;; CYRILLIC SMALL LETTER GHE WITH UPTURN
- (#xAE ?\u045E) ;; CYRILLIC SMALL LETTER SHORT U
- (#xAF ?\u00B4) ;; ACUTE ACCENT
- (#xB0 ?\u00B0) ;; DEGREE SIGN
- (#xB1 ?\u0474) ;; CYRILLIC CAPITAL LETTER IZHITSA
- (#xB2 ?\u0462) ;; CYRILLIC CAPITAL LETTER YAT
- (#xB3 ?\u0401) ;; CYRILLIC CAPITAL LETTER IO
- (#xB4 ?\u0404) ;; CYRILLIC CAPITAL LETTER UKRAINIAN IE
- (#xB5 ?\u0405) ;; CYRILLIC CAPITAL LETTER DZE
- (#xB6 ?\u0406) ;; CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
- (#xB7 ?\u0407) ;; CYRILLIC CAPITAL LETTER YI
- (#xB8 ?\u0408) ;; CYRILLIC CAPITAL LETTER JE
- (#xB9 ?\u2116) ;; NUMERO SIGN
- (#xBA ?\u00A2) ;; CENT SIGN
- (#xBB ?\u00BB) ;; RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- (#xBC ?\u0472) ;; CYRILLIC CAPITAL LETTER FITA
- (#xBD ?\u0490) ;; CYRILLIC CAPITAL LETTER GHE WITH UPTURN
- (#xBE ?\u040E) ;; CYRILLIC CAPITAL LETTER SHORT U
- (#xBF ?\u00A9) ;; COPYRIGHT SIGN
- (#xC0 ?\u044E) ;; CYRILLIC SMALL LETTER YU
- (#xC1 ?\u0430) ;; CYRILLIC SMALL LETTER A
- (#xC2 ?\u0431) ;; CYRILLIC SMALL LETTER BE
- (#xC3 ?\u0446) ;; CYRILLIC SMALL LETTER TSE
- (#xC4 ?\u0434) ;; CYRILLIC SMALL LETTER DE
- (#xC5 ?\u0435) ;; CYRILLIC SMALL LETTER IE
- (#xC6 ?\u0444) ;; CYRILLIC SMALL LETTER EF
- (#xC7 ?\u0433) ;; CYRILLIC SMALL LETTER GHE
- (#xC8 ?\u0445) ;; CYRILLIC SMALL LETTER HA
- (#xC9 ?\u0438) ;; CYRILLIC SMALL LETTER I
- (#xCA ?\u0439) ;; CYRILLIC SMALL LETTER SHORT I
- (#xCB ?\u043A) ;; CYRILLIC SMALL LETTER KA
- (#xCC ?\u043B) ;; CYRILLIC SMALL LETTER EL
- (#xCD ?\u043C) ;; CYRILLIC SMALL LETTER EM
- (#xCE ?\u043D) ;; CYRILLIC SMALL LETTER EN
- (#xCF ?\u043E) ;; CYRILLIC SMALL LETTER O
- (#xD0 ?\u043F) ;; CYRILLIC SMALL LETTER PE
- (#xD1 ?\u044F) ;; CYRILLIC SMALL LETTER YA
- (#xD2 ?\u0440) ;; CYRILLIC SMALL LETTER ER
- (#xD3 ?\u0441) ;; CYRILLIC SMALL LETTER ES
- (#xD4 ?\u0442) ;; CYRILLIC SMALL LETTER TE
- (#xD5 ?\u0443) ;; CYRILLIC SMALL LETTER U
- (#xD6 ?\u0436) ;; CYRILLIC SMALL LETTER ZHE
- (#xD7 ?\u0432) ;; CYRILLIC SMALL LETTER VE
- (#xD8 ?\u044C) ;; CYRILLIC SMALL LETTER SOFT SIGN
- (#xD9 ?\u044B) ;; CYRILLIC SMALL LETTER YERU
- (#xDA ?\u0437) ;; CYRILLIC SMALL LETTER ZE
- (#xDB ?\u0448) ;; CYRILLIC SMALL LETTER SHA
- (#xDC ?\u044D) ;; CYRILLIC SMALL LETTER E
- (#xDD ?\u0449) ;; CYRILLIC SMALL LETTER SHCHA
- (#xDE ?\u0447) ;; CYRILLIC SMALL LETTER CHE
- (#xDF ?\u044A) ;; CYRILLIC SMALL LETTER HARD SIGN
- (#xE0 ?\u042E) ;; CYRILLIC CAPITAL LETTER YU
- (#xE1 ?\u0410) ;; CYRILLIC CAPITAL LETTER A
- (#xE2 ?\u0411) ;; CYRILLIC CAPITAL LETTER BE
- (#xE3 ?\u0426) ;; CYRILLIC CAPITAL LETTER TSE
- (#xE4 ?\u0414) ;; CYRILLIC CAPITAL LETTER DE
- (#xE5 ?\u0415) ;; CYRILLIC CAPITAL LETTER IE
- (#xE6 ?\u0424) ;; CYRILLIC CAPITAL LETTER EF
- (#xE7 ?\u0413) ;; CYRILLIC CAPITAL LETTER GHE
- (#xE8 ?\u0425) ;; CYRILLIC CAPITAL LETTER HA
- (#xE9 ?\u0418) ;; CYRILLIC CAPITAL LETTER I
- (#xEA ?\u0419) ;; CYRILLIC CAPITAL LETTER SHORT I
- (#xEB ?\u041A) ;; CYRILLIC CAPITAL LETTER KA
- (#xEC ?\u041B) ;; CYRILLIC CAPITAL LETTER EL
- (#xED ?\u041C) ;; CYRILLIC CAPITAL LETTER EM
- (#xEE ?\u041D) ;; CYRILLIC CAPITAL LETTER EN
- (#xEF ?\u041E) ;; CYRILLIC CAPITAL LETTER O
- (#xF0 ?\u041F) ;; CYRILLIC CAPITAL LETTER PE
- (#xF1 ?\u042F) ;; CYRILLIC CAPITAL LETTER YA
- (#xF2 ?\u0420) ;; CYRILLIC CAPITAL LETTER ER
- (#xF3 ?\u0421) ;; CYRILLIC CAPITAL LETTER ES
- (#xF4 ?\u0422) ;; CYRILLIC CAPITAL LETTER TE
- (#xF5 ?\u0423) ;; CYRILLIC CAPITAL LETTER U
- (#xF6 ?\u0416) ;; CYRILLIC CAPITAL LETTER ZHE
- (#xF7 ?\u0412) ;; CYRILLIC CAPITAL LETTER VE
- (#xF8 ?\u042C) ;; CYRILLIC CAPITAL LETTER SOFT SIGN
- (#xF9 ?\u042B) ;; CYRILLIC CAPITAL LETTER YERU
- (#xFA ?\u0417) ;; CYRILLIC CAPITAL LETTER ZE
- (#xFB ?\u0428) ;; CYRILLIC CAPITAL LETTER SHA
- (#xFC ?\u042D) ;; CYRILLIC CAPITAL LETTER E
- (#xFD ?\u0429) ;; CYRILLIC CAPITAL LETTER SHCHA
- (#xFE ?\u0427) ;; CYRILLIC CAPITAL LETTER CHE
- (#xFF ?\u042A));; CYRILLIC CAPITAL LETTER HARD SIGN
- "KOI-8 for old-orthography Russian; also known as KOI-C."
- '(mnemonic "КО"
+(make-coding-system
+ 'koi8-o 'fixed-width "Old-orthography Russian"
+ '(unicode-map
+ ((#x80 ?\u0402) ;; CYRILLIC CAPITAL LETTER DJE
+ (#x81 ?\u0403) ;; CYRILLIC CAPITAL LETTER GJE
+ (#x82 ?\u00B8) ;; CEDILLA
+ (#x83 ?\u0453) ;; CYRILLIC SMALL LETTER GJE
+ (#x84 ?\u201E) ;; DOUBLE LOW-9 QUOTATION MARK
+ (#x85 ?\u2026) ;; HORIZONTAL ELLIPSIS
+ (#x86 ?\u2020) ;; DAGGER
+ (#x87 ?\u00A7) ;; SECTION SIGN
+ (#x88 ?\u20AC) ;; EURO SIGN
+ (#x89 ?\u00A8) ;; DIAERESIS
+ (#x8A ?\u0409) ;; CYRILLIC CAPITAL LETTER LJE
+ (#x8B ?\u2039) ;; SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+ (#x8C ?\u040A) ;; CYRILLIC CAPITAL LETTER NJE
+ (#x8D ?\u040C) ;; CYRILLIC CAPITAL LETTER KJE
+ (#x8E ?\u040B) ;; CYRILLIC CAPITAL LETTER TSHE
+ (#x8F ?\u040F) ;; CYRILLIC CAPITAL LETTER DZHE
+ (#x90 ?\u0452) ;; CYRILLIC SMALL LETTER DJE
+ (#x91 ?\u2018) ;; LEFT SINGLE QUOTATION MARK
+ (#x92 ?\u2019) ;; RIGHT SINGLE QUOTATION MARK
+ (#x93 ?\u201C) ;; LEFT DOUBLE QUOTATION MARK
+ (#x94 ?\u201D) ;; RIGHT DOUBLE QUOTATION MARK
+ (#x95 ?\u2022) ;; BULLET
+ (#x96 ?\u2013) ;; EN DASH
+ (#x97 ?\u2014) ;; EM DASH
+ (#x98 ?\u00A3) ;; POUND SIGN
+ (#x99 ?\u00B7) ;; MIDDLE DOT
+ (#x9A ?\u0459) ;; CYRILLIC SMALL LETTER LJE
+ (#x9B ?\u203A) ;; SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+ (#x9C ?\u045A) ;; CYRILLIC SMALL LETTER NJE
+ (#x9D ?\u045C) ;; CYRILLIC SMALL LETTER KJE
+ (#x9E ?\u045B) ;; CYRILLIC SMALL LETTER TSHE
+ (#x9F ?\u045F) ;; CYRILLIC SMALL LETTER DZHE
+ (#xA0 ?\u00A0) ;; NO-BREAK SPACE
+ (#xA1 ?\u0475) ;; CYRILLIC SMALL LETTER IZHITSA
+ (#xA2 ?\u0463) ;; CYRILLIC SMALL LETTER YAT
+ (#xA3 ?\u0451) ;; CYRILLIC SMALL LETTER IO
+ (#xA4 ?\u0454) ;; CYRILLIC SMALL LETTER UKRAINIAN IE
+ (#xA5 ?\u0455) ;; CYRILLIC SMALL LETTER DZE
+ (#xA6 ?\u0456) ;; CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
+ (#xA7 ?\u0457) ;; CYRILLIC SMALL LETTER YI
+ (#xA8 ?\u0458) ;; CYRILLIC SMALL LETTER JE
+ (#xA9 ?\u00AE) ;; REGISTERED SIGN
+ (#xAA ?\u2122) ;; TRADE MARK SIGN
+ (#xAB ?\u00AB) ;; LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ (#xAC ?\u0473) ;; CYRILLIC SMALL LETTER FITA
+ (#xAD ?\u0491) ;; CYRILLIC SMALL LETTER GHE WITH UPTURN
+ (#xAE ?\u045E) ;; CYRILLIC SMALL LETTER SHORT U
+ (#xAF ?\u00B4) ;; ACUTE ACCENT
+ (#xB0 ?\u00B0) ;; DEGREE SIGN
+ (#xB1 ?\u0474) ;; CYRILLIC CAPITAL LETTER IZHITSA
+ (#xB2 ?\u0462) ;; CYRILLIC CAPITAL LETTER YAT
+ (#xB3 ?\u0401) ;; CYRILLIC CAPITAL LETTER IO
+ (#xB4 ?\u0404) ;; CYRILLIC CAPITAL LETTER UKRAINIAN IE
+ (#xB5 ?\u0405) ;; CYRILLIC CAPITAL LETTER DZE
+ (#xB6 ?\u0406) ;; CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
+ (#xB7 ?\u0407) ;; CYRILLIC CAPITAL LETTER YI
+ (#xB8 ?\u0408) ;; CYRILLIC CAPITAL LETTER JE
+ (#xB9 ?\u2116) ;; NUMERO SIGN
+ (#xBA ?\u00A2) ;; CENT SIGN
+ (#xBB ?\u00BB) ;; RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ (#xBC ?\u0472) ;; CYRILLIC CAPITAL LETTER FITA
+ (#xBD ?\u0490) ;; CYRILLIC CAPITAL LETTER GHE WITH UPTURN
+ (#xBE ?\u040E) ;; CYRILLIC CAPITAL LETTER SHORT U
+ (#xBF ?\u00A9) ;; COPYRIGHT SIGN
+ (#xC0 ?\u044E) ;; CYRILLIC SMALL LETTER YU
+ (#xC1 ?\u0430) ;; CYRILLIC SMALL LETTER A
+ (#xC2 ?\u0431) ;; CYRILLIC SMALL LETTER BE
+ (#xC3 ?\u0446) ;; CYRILLIC SMALL LETTER TSE
+ (#xC4 ?\u0434) ;; CYRILLIC SMALL LETTER DE
+ (#xC5 ?\u0435) ;; CYRILLIC SMALL LETTER IE
+ (#xC6 ?\u0444) ;; CYRILLIC SMALL LETTER EF
+ (#xC7 ?\u0433) ;; CYRILLIC SMALL LETTER GHE
+ (#xC8 ?\u0445) ;; CYRILLIC SMALL LETTER HA
+ (#xC9 ?\u0438) ;; CYRILLIC SMALL LETTER I
+ (#xCA ?\u0439) ;; CYRILLIC SMALL LETTER SHORT I
+ (#xCB ?\u043A) ;; CYRILLIC SMALL LETTER KA
+ (#xCC ?\u043B) ;; CYRILLIC SMALL LETTER EL
+ (#xCD ?\u043C) ;; CYRILLIC SMALL LETTER EM
+ (#xCE ?\u043D) ;; CYRILLIC SMALL LETTER EN
+ (#xCF ?\u043E) ;; CYRILLIC SMALL LETTER O
+ (#xD0 ?\u043F) ;; CYRILLIC SMALL LETTER PE
+ (#xD1 ?\u044F) ;; CYRILLIC SMALL LETTER YA
+ (#xD2 ?\u0440) ;; CYRILLIC SMALL LETTER ER
+ (#xD3 ?\u0441) ;; CYRILLIC SMALL LETTER ES
+ (#xD4 ?\u0442) ;; CYRILLIC SMALL LETTER TE
+ (#xD5 ?\u0443) ;; CYRILLIC SMALL LETTER U
+ (#xD6 ?\u0436) ;; CYRILLIC SMALL LETTER ZHE
+ (#xD7 ?\u0432) ;; CYRILLIC SMALL LETTER VE
+ (#xD8 ?\u044C) ;; CYRILLIC SMALL LETTER SOFT SIGN
+ (#xD9 ?\u044B) ;; CYRILLIC SMALL LETTER YERU
+ (#xDA ?\u0437) ;; CYRILLIC SMALL LETTER ZE
+ (#xDB ?\u0448) ;; CYRILLIC SMALL LETTER SHA
+ (#xDC ?\u044D) ;; CYRILLIC SMALL LETTER E
+ (#xDD ?\u0449) ;; CYRILLIC SMALL LETTER SHCHA
+ (#xDE ?\u0447) ;; CYRILLIC SMALL LETTER CHE
+ (#xDF ?\u044A) ;; CYRILLIC SMALL LETTER HARD SIGN
+ (#xE0 ?\u042E) ;; CYRILLIC CAPITAL LETTER YU
+ (#xE1 ?\u0410) ;; CYRILLIC CAPITAL LETTER A
+ (#xE2 ?\u0411) ;; CYRILLIC CAPITAL LETTER BE
+ (#xE3 ?\u0426) ;; CYRILLIC CAPITAL LETTER TSE
+ (#xE4 ?\u0414) ;; CYRILLIC CAPITAL LETTER DE
+ (#xE5 ?\u0415) ;; CYRILLIC CAPITAL LETTER IE
+ (#xE6 ?\u0424) ;; CYRILLIC CAPITAL LETTER EF
+ (#xE7 ?\u0413) ;; CYRILLIC CAPITAL LETTER GHE
+ (#xE8 ?\u0425) ;; CYRILLIC CAPITAL LETTER HA
+ (#xE9 ?\u0418) ;; CYRILLIC CAPITAL LETTER I
+ (#xEA ?\u0419) ;; CYRILLIC CAPITAL LETTER SHORT I
+ (#xEB ?\u041A) ;; CYRILLIC CAPITAL LETTER KA
+ (#xEC ?\u041B) ;; CYRILLIC CAPITAL LETTER EL
+ (#xED ?\u041C) ;; CYRILLIC CAPITAL LETTER EM
+ (#xEE ?\u041D) ;; CYRILLIC CAPITAL LETTER EN
+ (#xEF ?\u041E) ;; CYRILLIC CAPITAL LETTER O
+ (#xF0 ?\u041F) ;; CYRILLIC CAPITAL LETTER PE
+ (#xF1 ?\u042F) ;; CYRILLIC CAPITAL LETTER YA
+ (#xF2 ?\u0420) ;; CYRILLIC CAPITAL LETTER ER
+ (#xF3 ?\u0421) ;; CYRILLIC CAPITAL LETTER ES
+ (#xF4 ?\u0422) ;; CYRILLIC CAPITAL LETTER TE
+ (#xF5 ?\u0423) ;; CYRILLIC CAPITAL LETTER U
+ (#xF6 ?\u0416) ;; CYRILLIC CAPITAL LETTER ZHE
+ (#xF7 ?\u0412) ;; CYRILLIC CAPITAL LETTER VE
+ (#xF8 ?\u042C) ;; CYRILLIC CAPITAL LETTER SOFT SIGN
+ (#xF9 ?\u042B) ;; CYRILLIC CAPITAL LETTER YERU
+ (#xFA ?\u0417) ;; CYRILLIC CAPITAL LETTER ZE
+ (#xFB ?\u0428) ;; CYRILLIC CAPITAL LETTER SHA
+ (#xFC ?\u042D) ;; CYRILLIC CAPITAL LETTER E
+ (#xFD ?\u0429) ;; CYRILLIC CAPITAL LETTER SHCHA
+ (#xFE ?\u0427) ;; CYRILLIC CAPITAL LETTER CHE
+ (#xFF ?\u042A)) ;; CYRILLIC CAPITAL LETTER HARD SIGN
+ mnemonic "КО"
documentation
"KOI-8 for old-orthography Russian; also known as KOI-C.
diff -r 9c97a5a8c241 lisp/mule/greek.el
--- a/lisp/mule/greek.el Wed Feb 11 15:30:59 2009 +0000
+++ b/lisp/mule/greek.el Sat Apr 11 14:35:00 2009 +0100
@@ -118,254 +118,256 @@
(string (char-syntax (make-char 'latin-iso8859-1 latin-1)))
syntax-table))
-(make-8-bit-coding-system
- 'iso-8859-7
- '((#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 ?\u2018) ;; LEFT SINGLE QUOTATION MARK
- (#xA2 ?\u2019) ;; RIGHT SINGLE QUOTATION MARK
- (#xA3 ?\u00A3) ;; POUND SIGN
- (#xA4 ?\u20AC) ;; EURO SIGN
- (#xA5 ?\u20AF) ;; DRACHMA SIGN
- (#xA6 ?\u00A6) ;; BROKEN BAR
- (#xA7 ?\u00A7) ;; SECTION SIGN
- (#xA8 ?\u00A8) ;; DIAERESIS
- (#xA9 ?\u00A9) ;; COPYRIGHT SIGN
- (#xAA ?\u037A) ;; GREEK YPOGEGRAMMENI
- (#xAB ?\u00AB) ;; LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- (#xAC ?\u00AC) ;; NOT SIGN
- (#xAD ?\u00AD) ;; SOFT HYPHEN
- (#xAF ?\u2015) ;; HORIZONTAL BAR
- (#xB0 ?\u00B0) ;; DEGREE SIGN
- (#xB1 ?\u00B1) ;; PLUS-MINUS SIGN
- (#xB2 ?\u00B2) ;; SUPERSCRIPT TWO
- (#xB3 ?\u00B3) ;; SUPERSCRIPT THREE
- (#xB4 ?\u0384) ;; GREEK TONOS
- (#xB5 ?\u0385) ;; GREEK DIALYTIKA TONOS
- (#xB6 ?\u0386) ;; GREEK CAPITAL LETTER ALPHA WITH TONOS
- (#xB7 ?\u00B7) ;; MIDDLE DOT
- (#xB8 ?\u0388) ;; GREEK CAPITAL LETTER EPSILON WITH TONOS
- (#xB9 ?\u0389) ;; GREEK CAPITAL LETTER ETA WITH TONOS
- (#xBA ?\u038A) ;; GREEK CAPITAL LETTER IOTA WITH TONOS
- (#xBB ?\u00BB) ;; RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- (#xBC ?\u038C) ;; GREEK CAPITAL LETTER OMICRON WITH TONOS
- (#xBD ?\u00BD) ;; VULGAR FRACTION ONE HALF
- (#xBE ?\u038E) ;; GREEK CAPITAL LETTER UPSILON WITH TONOS
- (#xBF ?\u038F) ;; GREEK CAPITAL LETTER OMEGA WITH TONOS
- (#xC0 ?\u0390) ;; GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
- (#xC1 ?\u0391) ;; GREEK CAPITAL LETTER ALPHA
- (#xC2 ?\u0392) ;; GREEK CAPITAL LETTER BETA
- (#xC3 ?\u0393) ;; GREEK CAPITAL LETTER GAMMA
- (#xC4 ?\u0394) ;; GREEK CAPITAL LETTER DELTA
- (#xC5 ?\u0395) ;; GREEK CAPITAL LETTER EPSILON
- (#xC6 ?\u0396) ;; GREEK CAPITAL LETTER ZETA
- (#xC7 ?\u0397) ;; GREEK CAPITAL LETTER ETA
- (#xC8 ?\u0398) ;; GREEK CAPITAL LETTER THETA
- (#xC9 ?\u0399) ;; GREEK CAPITAL LETTER IOTA
- (#xCA ?\u039A) ;; GREEK CAPITAL LETTER KAPPA
- (#xCB ?\u039B) ;; GREEK CAPITAL LETTER LAMDA
- (#xCC ?\u039C) ;; GREEK CAPITAL LETTER MU
- (#xCD ?\u039D) ;; GREEK CAPITAL LETTER NU
- (#xCE ?\u039E) ;; GREEK CAPITAL LETTER XI
- (#xCF ?\u039F) ;; GREEK CAPITAL LETTER OMICRON
- (#xD0 ?\u03A0) ;; GREEK CAPITAL LETTER PI
- (#xD1 ?\u03A1) ;; GREEK CAPITAL LETTER RHO
- (#xD3 ?\u03A3) ;; GREEK CAPITAL LETTER SIGMA
- (#xD4 ?\u03A4) ;; GREEK CAPITAL LETTER TAU
- (#xD5 ?\u03A5) ;; GREEK CAPITAL LETTER UPSILON
- (#xD6 ?\u03A6) ;; GREEK CAPITAL LETTER PHI
- (#xD7 ?\u03A7) ;; GREEK CAPITAL LETTER CHI
- (#xD8 ?\u03A8) ;; GREEK CAPITAL LETTER PSI
- (#xD9 ?\u03A9) ;; GREEK CAPITAL LETTER OMEGA
- (#xDA ?\u03AA) ;; GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
- (#xDB ?\u03AB) ;; GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
- (#xDC ?\u03AC) ;; GREEK SMALL LETTER ALPHA WITH TONOS
- (#xDD ?\u03AD) ;; GREEK SMALL LETTER EPSILON WITH TONOS
- (#xDE ?\u03AE) ;; GREEK SMALL LETTER ETA WITH TONOS
- (#xDF ?\u03AF) ;; GREEK SMALL LETTER IOTA WITH TONOS
- (#xE0 ?\u03B0) ;; GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
- (#xE1 ?\u03B1) ;; GREEK SMALL LETTER ALPHA
- (#xE2 ?\u03B2) ;; GREEK SMALL LETTER BETA
- (#xE3 ?\u03B3) ;; GREEK SMALL LETTER GAMMA
- (#xE4 ?\u03B4) ;; GREEK SMALL LETTER DELTA
- (#xE5 ?\u03B5) ;; GREEK SMALL LETTER EPSILON
- (#xE6 ?\u03B6) ;; GREEK SMALL LETTER ZETA
- (#xE7 ?\u03B7) ;; GREEK SMALL LETTER ETA
- (#xE8 ?\u03B8) ;; GREEK SMALL LETTER THETA
- (#xE9 ?\u03B9) ;; GREEK SMALL LETTER IOTA
- (#xEA ?\u03BA) ;; GREEK SMALL LETTER KAPPA
- (#xEB ?\u03BB) ;; GREEK SMALL LETTER LAMDA
- (#xEC ?\u03BC) ;; GREEK SMALL LETTER MU
- (#xED ?\u03BD) ;; GREEK SMALL LETTER NU
- (#xEE ?\u03BE) ;; GREEK SMALL LETTER XI
- (#xEF ?\u03BF) ;; GREEK SMALL LETTER OMICRON
- (#xF0 ?\u03C0) ;; GREEK SMALL LETTER PI
- (#xF1 ?\u03C1) ;; GREEK SMALL LETTER RHO
- (#xF2 ?\u03C2) ;; GREEK SMALL LETTER FINAL SIGMA
- (#xF3 ?\u03C3) ;; GREEK SMALL LETTER SIGMA
- (#xF4 ?\u03C4) ;; GREEK SMALL LETTER TAU
- (#xF5 ?\u03C5) ;; GREEK SMALL LETTER UPSILON
- (#xF6 ?\u03C6) ;; GREEK SMALL LETTER PHI
- (#xF7 ?\u03C7) ;; GREEK SMALL LETTER CHI
- (#xF8 ?\u03C8) ;; GREEK SMALL LETTER PSI
- (#xF9 ?\u03C9) ;; GREEK SMALL LETTER OMEGA
- (#xFA ?\u03CA) ;; GREEK SMALL LETTER IOTA WITH DIALYTIKA
- (#xFB ?\u03CB) ;; GREEK SMALL LETTER UPSILON WITH DIALYTIKA
- (#xFC ?\u03CC) ;; GREEK SMALL LETTER OMICRON WITH TONOS
- (#xFD ?\u03CD) ;; GREEK SMALL LETTER UPSILON WITH TONOS
- (#xFE ?\u03CE));; GREEK SMALL LETTER OMEGA WITH TONOS
- "ISO-8859-7 (Greek)"
- '(mnemonic "Grk"
+(make-coding-system
+ 'iso-8859-7 'fixed-width "ISO-8859-7 (Greek)"
+ '(unicode-map
+ ((#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 ?\u2018) ;; LEFT SINGLE QUOTATION MARK
+ (#xA2 ?\u2019) ;; RIGHT SINGLE QUOTATION MARK
+ (#xA3 ?\u00A3) ;; POUND SIGN
+ (#xA4 ?\u20AC) ;; EURO SIGN
+ (#xA5 ?\u20AF) ;; DRACHMA SIGN
+ (#xA6 ?\u00A6) ;; BROKEN BAR
+ (#xA7 ?\u00A7) ;; SECTION SIGN
+ (#xA8 ?\u00A8) ;; DIAERESIS
+ (#xA9 ?\u00A9) ;; COPYRIGHT SIGN
+ (#xAA ?\u037A) ;; GREEK YPOGEGRAMMENI
+ (#xAB ?\u00AB) ;; LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ (#xAC ?\u00AC) ;; NOT SIGN
+ (#xAD ?\u00AD) ;; SOFT HYPHEN
+ (#xAF ?\u2015) ;; HORIZONTAL BAR
+ (#xB0 ?\u00B0) ;; DEGREE SIGN
+ (#xB1 ?\u00B1) ;; PLUS-MINUS SIGN
+ (#xB2 ?\u00B2) ;; SUPERSCRIPT TWO
+ (#xB3 ?\u00B3) ;; SUPERSCRIPT THREE
+ (#xB4 ?\u0384) ;; GREEK TONOS
+ (#xB5 ?\u0385) ;; GREEK DIALYTIKA TONOS
+ (#xB6 ?\u0386) ;; GREEK CAPITAL LETTER ALPHA WITH TONOS
+ (#xB7 ?\u00B7) ;; MIDDLE DOT
+ (#xB8 ?\u0388) ;; GREEK CAPITAL LETTER EPSILON WITH TONOS
+ (#xB9 ?\u0389) ;; GREEK CAPITAL LETTER ETA WITH TONOS
+ (#xBA ?\u038A) ;; GREEK CAPITAL LETTER IOTA WITH TONOS
+ (#xBB ?\u00BB) ;; RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ (#xBC ?\u038C) ;; GREEK CAPITAL LETTER OMICRON WITH TONOS
+ (#xBD ?\u00BD) ;; VULGAR FRACTION ONE HALF
+ (#xBE ?\u038E) ;; GREEK CAPITAL LETTER UPSILON WITH TONOS
+ (#xBF ?\u038F) ;; GREEK CAPITAL LETTER OMEGA WITH TONOS
+ (#xC0 ?\u0390) ;; GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
+ (#xC1 ?\u0391) ;; GREEK CAPITAL LETTER ALPHA
+ (#xC2 ?\u0392) ;; GREEK CAPITAL LETTER BETA
+ (#xC3 ?\u0393) ;; GREEK CAPITAL LETTER GAMMA
+ (#xC4 ?\u0394) ;; GREEK CAPITAL LETTER DELTA
+ (#xC5 ?\u0395) ;; GREEK CAPITAL LETTER EPSILON
+ (#xC6 ?\u0396) ;; GREEK CAPITAL LETTER ZETA
+ (#xC7 ?\u0397) ;; GREEK CAPITAL LETTER ETA
+ (#xC8 ?\u0398) ;; GREEK CAPITAL LETTER THETA
+ (#xC9 ?\u0399) ;; GREEK CAPITAL LETTER IOTA
+ (#xCA ?\u039A) ;; GREEK CAPITAL LETTER KAPPA
+ (#xCB ?\u039B) ;; GREEK CAPITAL LETTER LAMDA
+ (#xCC ?\u039C) ;; GREEK CAPITAL LETTER MU
+ (#xCD ?\u039D) ;; GREEK CAPITAL LETTER NU
+ (#xCE ?\u039E) ;; GREEK CAPITAL LETTER XI
+ (#xCF ?\u039F) ;; GREEK CAPITAL LETTER OMICRON
+ (#xD0 ?\u03A0) ;; GREEK CAPITAL LETTER PI
+ (#xD1 ?\u03A1) ;; GREEK CAPITAL LETTER RHO
+ (#xD3 ?\u03A3) ;; GREEK CAPITAL LETTER SIGMA
+ (#xD4 ?\u03A4) ;; GREEK CAPITAL LETTER TAU
+ (#xD5 ?\u03A5) ;; GREEK CAPITAL LETTER UPSILON
+ (#xD6 ?\u03A6) ;; GREEK CAPITAL LETTER PHI
+ (#xD7 ?\u03A7) ;; GREEK CAPITAL LETTER CHI
+ (#xD8 ?\u03A8) ;; GREEK CAPITAL LETTER PSI
+ (#xD9 ?\u03A9) ;; GREEK CAPITAL LETTER OMEGA
+ (#xDA ?\u03AA) ;; GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
+ (#xDB ?\u03AB) ;; GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
+ (#xDC ?\u03AC) ;; GREEK SMALL LETTER ALPHA WITH TONOS
+ (#xDD ?\u03AD) ;; GREEK SMALL LETTER EPSILON WITH TONOS
+ (#xDE ?\u03AE) ;; GREEK SMALL LETTER ETA WITH TONOS
+ (#xDF ?\u03AF) ;; GREEK SMALL LETTER IOTA WITH TONOS
+ (#xE0 ?\u03B0) ;; GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
+ (#xE1 ?\u03B1) ;; GREEK SMALL LETTER ALPHA
+ (#xE2 ?\u03B2) ;; GREEK SMALL LETTER BETA
+ (#xE3 ?\u03B3) ;; GREEK SMALL LETTER GAMMA
+ (#xE4 ?\u03B4) ;; GREEK SMALL LETTER DELTA
+ (#xE5 ?\u03B5) ;; GREEK SMALL LETTER EPSILON
+ (#xE6 ?\u03B6) ;; GREEK SMALL LETTER ZETA
+ (#xE7 ?\u03B7) ;; GREEK SMALL LETTER ETA
+ (#xE8 ?\u03B8) ;; GREEK SMALL LETTER THETA
+ (#xE9 ?\u03B9) ;; GREEK SMALL LETTER IOTA
+ (#xEA ?\u03BA) ;; GREEK SMALL LETTER KAPPA
+ (#xEB ?\u03BB) ;; GREEK SMALL LETTER LAMDA
+ (#xEC ?\u03BC) ;; GREEK SMALL LETTER MU
+ (#xED ?\u03BD) ;; GREEK SMALL LETTER NU
+ (#xEE ?\u03BE) ;; GREEK SMALL LETTER XI
+ (#xEF ?\u03BF) ;; GREEK SMALL LETTER OMICRON
+ (#xF0 ?\u03C0) ;; GREEK SMALL LETTER PI
+ (#xF1 ?\u03C1) ;; GREEK SMALL LETTER RHO
+ (#xF2 ?\u03C2) ;; GREEK SMALL LETTER FINAL SIGMA
+ (#xF3 ?\u03C3) ;; GREEK SMALL LETTER SIGMA
+ (#xF4 ?\u03C4) ;; GREEK SMALL LETTER TAU
+ (#xF5 ?\u03C5) ;; GREEK SMALL LETTER UPSILON
+ (#xF6 ?\u03C6) ;; GREEK SMALL LETTER PHI
+ (#xF7 ?\u03C7) ;; GREEK SMALL LETTER CHI
+ (#xF8 ?\u03C8) ;; GREEK SMALL LETTER PSI
+ (#xF9 ?\u03C9) ;; GREEK SMALL LETTER OMEGA
+ (#xFA ?\u03CA) ;; GREEK SMALL LETTER IOTA WITH DIALYTIKA
+ (#xFB ?\u03CB) ;; GREEK SMALL LETTER UPSILON WITH DIALYTIKA
+ (#xFC ?\u03CC) ;; GREEK SMALL LETTER OMICRON WITH TONOS
+ (#xFD ?\u03CD) ;; GREEK SMALL LETTER UPSILON WITH TONOS
+ (#xFE ?\u03CE)) ;; GREEK SMALL LETTER OMEGA WITH TONOS
+ mnemonic "Grk"
aliases (greek-iso-8bit)))
-(make-8-bit-coding-system
- 'windows-1253
- '((#x80 ?\u20AC) ;; EURO SIGN
- (#x82 ?\u201A) ;; SINGLE LOW-9 QUOTATION MARK
- (#x83 ?\u0192) ;; LATIN SMALL LETTER F WITH HOOK
- (#x84 ?\u201E) ;; DOUBLE LOW-9 QUOTATION MARK
- (#x85 ?\u2026) ;; HORIZONTAL ELLIPSIS
- (#x86 ?\u2020) ;; DAGGER
- (#x87 ?\u2021) ;; DOUBLE DAGGER
- (#x89 ?\u2030) ;; PER MILLE SIGN
- (#x8B ?\u2039) ;; SINGLE LEFT-POINTING ANGLE QUOTATION MARK
- (#x91 ?\u2018) ;; LEFT SINGLE QUOTATION MARK
- (#x92 ?\u2019) ;; RIGHT SINGLE QUOTATION MARK
- (#x93 ?\u201C) ;; LEFT DOUBLE QUOTATION MARK
- (#x94 ?\u201D) ;; RIGHT DOUBLE QUOTATION MARK
- (#x95 ?\u2022) ;; BULLET
- (#x96 ?\u2013) ;; EN DASH
- (#x97 ?\u2014) ;; EM DASH
- (#x99 ?\u2122) ;; TRADE MARK SIGN
- (#x9B ?\u203A) ;; SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
- (#xA0 ?\u00A0) ;; NO-BREAK SPACE
- (#xA1 ?\u0385) ;; GREEK DIALYTIKA TONOS
- (#xA2 ?\u0386) ;; GREEK CAPITAL LETTER ALPHA WITH TONOS
- (#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
- (#xAB ?\u00AB) ;; LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- (#xAC ?\u00AC) ;; NOT SIGN
- (#xAD ?\u00AD) ;; SOFT HYPHEN
- (#xAE ?\u00AE) ;; REGISTERED SIGN
- (#xAF ?\u2015) ;; HORIZONTAL BAR
- (#xB0 ?\u00B0) ;; DEGREE SIGN
- (#xB1 ?\u00B1) ;; PLUS-MINUS SIGN
- (#xB2 ?\u00B2) ;; SUPERSCRIPT TWO
- (#xB3 ?\u00B3) ;; SUPERSCRIPT THREE
- (#xB4 ?\u0384) ;; GREEK TONOS
- (#xB5 ?\u00B5) ;; MICRO SIGN
- (#xB6 ?\u00B6) ;; PILCROW SIGN
- (#xB7 ?\u00B7) ;; MIDDLE DOT
- (#xB8 ?\u0388) ;; GREEK CAPITAL LETTER EPSILON WITH TONOS
- (#xB9 ?\u0389) ;; GREEK CAPITAL LETTER ETA WITH TONOS
- (#xBA ?\u038A) ;; GREEK CAPITAL LETTER IOTA WITH TONOS
- (#xBB ?\u00BB) ;; RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- (#xBC ?\u038C) ;; GREEK CAPITAL LETTER OMICRON WITH TONOS
- (#xBD ?\u00BD) ;; VULGAR FRACTION ONE HALF
- (#xBE ?\u038E) ;; GREEK CAPITAL LETTER UPSILON WITH TONOS
- (#xBF ?\u038F) ;; GREEK CAPITAL LETTER OMEGA WITH TONOS
- (#xC0 ?\u0390) ;; GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
- (#xC1 ?\u0391) ;; GREEK CAPITAL LETTER ALPHA
- (#xC2 ?\u0392) ;; GREEK CAPITAL LETTER BETA
- (#xC3 ?\u0393) ;; GREEK CAPITAL LETTER GAMMA
- (#xC4 ?\u0394) ;; GREEK CAPITAL LETTER DELTA
- (#xC5 ?\u0395) ;; GREEK CAPITAL LETTER EPSILON
- (#xC6 ?\u0396) ;; GREEK CAPITAL LETTER ZETA
- (#xC7 ?\u0397) ;; GREEK CAPITAL LETTER ETA
- (#xC8 ?\u0398) ;; GREEK CAPITAL LETTER THETA
- (#xC9 ?\u0399) ;; GREEK CAPITAL LETTER IOTA
- (#xCA ?\u039A) ;; GREEK CAPITAL LETTER KAPPA
- (#xCB ?\u039B) ;; GREEK CAPITAL LETTER LAMDA
- (#xCC ?\u039C) ;; GREEK CAPITAL LETTER MU
- (#xCD ?\u039D) ;; GREEK CAPITAL LETTER NU
- (#xCE ?\u039E) ;; GREEK CAPITAL LETTER XI
- (#xCF ?\u039F) ;; GREEK CAPITAL LETTER OMICRON
- (#xD0 ?\u03A0) ;; GREEK CAPITAL LETTER PI
- (#xD1 ?\u03A1) ;; GREEK CAPITAL LETTER RHO
- (#xD3 ?\u03A3) ;; GREEK CAPITAL LETTER SIGMA
- (#xD4 ?\u03A4) ;; GREEK CAPITAL LETTER TAU
- (#xD5 ?\u03A5) ;; GREEK CAPITAL LETTER UPSILON
- (#xD6 ?\u03A6) ;; GREEK CAPITAL LETTER PHI
- (#xD7 ?\u03A7) ;; GREEK CAPITAL LETTER CHI
- (#xD8 ?\u03A8) ;; GREEK CAPITAL LETTER PSI
- (#xD9 ?\u03A9) ;; GREEK CAPITAL LETTER OMEGA
- (#xDA ?\u03AA) ;; GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
- (#xDB ?\u03AB) ;; GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
- (#xDC ?\u03AC) ;; GREEK SMALL LETTER ALPHA WITH TONOS
- (#xDD ?\u03AD) ;; GREEK SMALL LETTER EPSILON WITH TONOS
- (#xDE ?\u03AE) ;; GREEK SMALL LETTER ETA WITH TONOS
- (#xDF ?\u03AF) ;; GREEK SMALL LETTER IOTA WITH TONOS
- (#xE0 ?\u03B0) ;; GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
- (#xE1 ?\u03B1) ;; GREEK SMALL LETTER ALPHA
- (#xE2 ?\u03B2) ;; GREEK SMALL LETTER BETA
- (#xE3 ?\u03B3) ;; GREEK SMALL LETTER GAMMA
- (#xE4 ?\u03B4) ;; GREEK SMALL LETTER DELTA
- (#xE5 ?\u03B5) ;; GREEK SMALL LETTER EPSILON
- (#xE6 ?\u03B6) ;; GREEK SMALL LETTER ZETA
- (#xE7 ?\u03B7) ;; GREEK SMALL LETTER ETA
- (#xE8 ?\u03B8) ;; GREEK SMALL LETTER THETA
- (#xE9 ?\u03B9) ;; GREEK SMALL LETTER IOTA
- (#xEA ?\u03BA) ;; GREEK SMALL LETTER KAPPA
- (#xEB ?\u03BB) ;; GREEK SMALL LETTER LAMDA
- (#xEC ?\u03BC) ;; GREEK SMALL LETTER MU
- (#xED ?\u03BD) ;; GREEK SMALL LETTER NU
- (#xEE ?\u03BE) ;; GREEK SMALL LETTER XI
- (#xEF ?\u03BF) ;; GREEK SMALL LETTER OMICRON
- (#xF0 ?\u03C0) ;; GREEK SMALL LETTER PI
- (#xF1 ?\u03C1) ;; GREEK SMALL LETTER RHO
- (#xF2 ?\u03C2) ;; GREEK SMALL LETTER FINAL SIGMA
- (#xF3 ?\u03C3) ;; GREEK SMALL LETTER SIGMA
- (#xF4 ?\u03C4) ;; GREEK SMALL LETTER TAU
- (#xF5 ?\u03C5) ;; GREEK SMALL LETTER UPSILON
- (#xF6 ?\u03C6) ;; GREEK SMALL LETTER PHI
- (#xF7 ?\u03C7) ;; GREEK SMALL LETTER CHI
- (#xF8 ?\u03C8) ;; GREEK SMALL LETTER PSI
- (#xF9 ?\u03C9) ;; GREEK SMALL LETTER OMEGA
- (#xFA ?\u03CA) ;; GREEK SMALL LETTER IOTA WITH DIALYTIKA
- (#xFB ?\u03CB) ;; GREEK SMALL LETTER UPSILON WITH DIALYTIKA
- (#xFC ?\u03CC) ;; GREEK SMALL LETTER OMICRON WITH TONOS
- (#xFD ?\u03CD) ;; GREEK SMALL LETTER UPSILON WITH TONOS
- (#xFE ?\u03CE)) ;; GREEK SMALL LETTER OMEGA WITH TONOS
- "Microsoft's Code Page 1253, for monotonic Greek. "
- '(mnemonic "GrkW"
+(make-coding-system
+ 'windows-1253 'fixed-width "Microsoft's CP1253"
+ '(unicode-map
+ ((#x80 ?\u20AC) ;; EURO SIGN
+ (#x82 ?\u201A) ;; SINGLE LOW-9 QUOTATION MARK
+ (#x83 ?\u0192) ;; LATIN SMALL LETTER F WITH HOOK
+ (#x84 ?\u201E) ;; DOUBLE LOW-9 QUOTATION MARK
+ (#x85 ?\u2026) ;; HORIZONTAL ELLIPSIS
+ (#x86 ?\u2020) ;; DAGGER
+ (#x87 ?\u2021) ;; DOUBLE DAGGER
+ (#x89 ?\u2030) ;; PER MILLE SIGN
+ (#x8B ?\u2039) ;; SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+ (#x91 ?\u2018) ;; LEFT SINGLE QUOTATION MARK
+ (#x92 ?\u2019) ;; RIGHT SINGLE QUOTATION MARK
+ (#x93 ?\u201C) ;; LEFT DOUBLE QUOTATION MARK
+ (#x94 ?\u201D) ;; RIGHT DOUBLE QUOTATION MARK
+ (#x95 ?\u2022) ;; BULLET
+ (#x96 ?\u2013) ;; EN DASH
+ (#x97 ?\u2014) ;; EM DASH
+ (#x99 ?\u2122) ;; TRADE MARK SIGN
+ (#x9B ?\u203A) ;; SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+ (#xA0 ?\u00A0) ;; NO-BREAK SPACE
+ (#xA1 ?\u0385) ;; GREEK DIALYTIKA TONOS
+ (#xA2 ?\u0386) ;; GREEK CAPITAL LETTER ALPHA WITH TONOS
+ (#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
+ (#xAB ?\u00AB) ;; LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ (#xAC ?\u00AC) ;; NOT SIGN
+ (#xAD ?\u00AD) ;; SOFT HYPHEN
+ (#xAE ?\u00AE) ;; REGISTERED SIGN
+ (#xAF ?\u2015) ;; HORIZONTAL BAR
+ (#xB0 ?\u00B0) ;; DEGREE SIGN
+ (#xB1 ?\u00B1) ;; PLUS-MINUS SIGN
+ (#xB2 ?\u00B2) ;; SUPERSCRIPT TWO
+ (#xB3 ?\u00B3) ;; SUPERSCRIPT THREE
+ (#xB4 ?\u0384) ;; GREEK TONOS
+ (#xB5 ?\u00B5) ;; MICRO SIGN
+ (#xB6 ?\u00B6) ;; PILCROW SIGN
+ (#xB7 ?\u00B7) ;; MIDDLE DOT
+ (#xB8 ?\u0388) ;; GREEK CAPITAL LETTER EPSILON WITH TONOS
+ (#xB9 ?\u0389) ;; GREEK CAPITAL LETTER ETA WITH TONOS
+ (#xBA ?\u038A) ;; GREEK CAPITAL LETTER IOTA WITH TONOS
+ (#xBB ?\u00BB) ;; RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ (#xBC ?\u038C) ;; GREEK CAPITAL LETTER OMICRON WITH TONOS
+ (#xBD ?\u00BD) ;; VULGAR FRACTION ONE HALF
+ (#xBE ?\u038E) ;; GREEK CAPITAL LETTER UPSILON WITH TONOS
+ (#xBF ?\u038F) ;; GREEK CAPITAL LETTER OMEGA WITH TONOS
+ (#xC0 ?\u0390) ;; GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
+ (#xC1 ?\u0391) ;; GREEK CAPITAL LETTER ALPHA
+ (#xC2 ?\u0392) ;; GREEK CAPITAL LETTER BETA
+ (#xC3 ?\u0393) ;; GREEK CAPITAL LETTER GAMMA
+ (#xC4 ?\u0394) ;; GREEK CAPITAL LETTER DELTA
+ (#xC5 ?\u0395) ;; GREEK CAPITAL LETTER EPSILON
+ (#xC6 ?\u0396) ;; GREEK CAPITAL LETTER ZETA
+ (#xC7 ?\u0397) ;; GREEK CAPITAL LETTER ETA
+ (#xC8 ?\u0398) ;; GREEK CAPITAL LETTER THETA
+ (#xC9 ?\u0399) ;; GREEK CAPITAL LETTER IOTA
+ (#xCA ?\u039A) ;; GREEK CAPITAL LETTER KAPPA
+ (#xCB ?\u039B) ;; GREEK CAPITAL LETTER LAMDA
+ (#xCC ?\u039C) ;; GREEK CAPITAL LETTER MU
+ (#xCD ?\u039D) ;; GREEK CAPITAL LETTER NU
+ (#xCE ?\u039E) ;; GREEK CAPITAL LETTER XI
+ (#xCF ?\u039F) ;; GREEK CAPITAL LETTER OMICRON
+ (#xD0 ?\u03A0) ;; GREEK CAPITAL LETTER PI
+ (#xD1 ?\u03A1) ;; GREEK CAPITAL LETTER RHO
+ (#xD3 ?\u03A3) ;; GREEK CAPITAL LETTER SIGMA
+ (#xD4 ?\u03A4) ;; GREEK CAPITAL LETTER TAU
+ (#xD5 ?\u03A5) ;; GREEK CAPITAL LETTER UPSILON
+ (#xD6 ?\u03A6) ;; GREEK CAPITAL LETTER PHI
+ (#xD7 ?\u03A7) ;; GREEK CAPITAL LETTER CHI
+ (#xD8 ?\u03A8) ;; GREEK CAPITAL LETTER PSI
+ (#xD9 ?\u03A9) ;; GREEK CAPITAL LETTER OMEGA
+ (#xDA ?\u03AA) ;; GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
+ (#xDB ?\u03AB) ;; GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
+ (#xDC ?\u03AC) ;; GREEK SMALL LETTER ALPHA WITH TONOS
+ (#xDD ?\u03AD) ;; GREEK SMALL LETTER EPSILON WITH TONOS
+ (#xDE ?\u03AE) ;; GREEK SMALL LETTER ETA WITH TONOS
+ (#xDF ?\u03AF) ;; GREEK SMALL LETTER IOTA WITH TONOS
+ (#xE0 ?\u03B0) ;; GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
+ (#xE1 ?\u03B1) ;; GREEK SMALL LETTER ALPHA
+ (#xE2 ?\u03B2) ;; GREEK SMALL LETTER BETA
+ (#xE3 ?\u03B3) ;; GREEK SMALL LETTER GAMMA
+ (#xE4 ?\u03B4) ;; GREEK SMALL LETTER DELTA
+ (#xE5 ?\u03B5) ;; GREEK SMALL LETTER EPSILON
+ (#xE6 ?\u03B6) ;; GREEK SMALL LETTER ZETA
+ (#xE7 ?\u03B7) ;; GREEK SMALL LETTER ETA
+ (#xE8 ?\u03B8) ;; GREEK SMALL LETTER THETA
+ (#xE9 ?\u03B9) ;; GREEK SMALL LETTER IOTA
+ (#xEA ?\u03BA) ;; GREEK SMALL LETTER KAPPA
+ (#xEB ?\u03BB) ;; GREEK SMALL LETTER LAMDA
+ (#xEC ?\u03BC) ;; GREEK SMALL LETTER MU
+ (#xED ?\u03BD) ;; GREEK SMALL LETTER NU
+ (#xEE ?\u03BE) ;; GREEK SMALL LETTER XI
+ (#xEF ?\u03BF) ;; GREEK SMALL LETTER OMICRON
+ (#xF0 ?\u03C0) ;; GREEK SMALL LETTER PI
+ (#xF1 ?\u03C1) ;; GREEK SMALL LETTER RHO
+ (#xF2 ?\u03C2) ;; GREEK SMALL LETTER FINAL SIGMA
+ (#xF3 ?\u03C3) ;; GREEK SMALL LETTER SIGMA
+ (#xF4 ?\u03C4) ;; GREEK SMALL LETTER TAU
+ (#xF5 ?\u03C5) ;; GREEK SMALL LETTER UPSILON
+ (#xF6 ?\u03C6) ;; GREEK SMALL LETTER PHI
+ (#xF7 ?\u03C7) ;; GREEK SMALL LETTER CHI
+ (#xF8 ?\u03C8) ;; GREEK SMALL LETTER PSI
+ (#xF9 ?\u03C9) ;; GREEK SMALL LETTER OMEGA
+ (#xFA ?\u03CA) ;; GREEK SMALL LETTER IOTA WITH DIALYTIKA
+ (#xFB ?\u03CB) ;; GREEK SMALL LETTER UPSILON WITH DIALYTIKA
+ (#xFC ?\u03CC) ;; GREEK SMALL LETTER OMICRON WITH TONOS
+ (#xFD ?\u03CD) ;; GREEK SMALL LETTER UPSILON WITH TONOS
+ (#xFE ?\u03CE)) ;; GREEK SMALL LETTER OMEGA WITH TONOS
+ mnemonic "GrkW"
documentation
- "This ASCII-compatible encoding is slightly incompatibile with
+ "Microsoft's Code Page 1253, for monotonic Greek.
+
+This ASCII-compatible encoding is slightly incompatibile with
ISO-8859-7; it provides several widely-used punctuation marks in the C1
ISO-2022 area, which makes it incompatbile with the latter standard, but
that latter standard is not used in Greece, "
diff -r 9c97a5a8c241 lisp/mule/hebrew.el
--- a/lisp/mule/hebrew.el Wed Feb 11 15:30:59 2009 +0000
+++ b/lisp/mule/hebrew.el Sat Apr 11 14:35:00 2009 +0100
@@ -48,102 +48,102 @@
(modify-syntax-entry (make-char 'hebrew-iso8859-8 32) "w") ; no-break
space
-(make-8-bit-coding-system
- 'iso-8859-8
- '((#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
- (#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 ?\u00D7) ;; MULTIPLICATION SIGN
- (#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 ?\u00F7) ;; DIVISION SIGN
- (#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
- (#xDF ?\u2017) ;; DOUBLE LOW LINE
- (#xE0 ?\u05D0) ;; HEBREW LETTER ALEF
- (#xE1 ?\u05D1) ;; HEBREW LETTER BET
- (#xE2 ?\u05D2) ;; HEBREW LETTER GIMEL
- (#xE3 ?\u05D3) ;; HEBREW LETTER DALET
- (#xE4 ?\u05D4) ;; HEBREW LETTER HE
- (#xE5 ?\u05D5) ;; HEBREW LETTER VAV
- (#xE6 ?\u05D6) ;; HEBREW LETTER ZAYIN
- (#xE7 ?\u05D7) ;; HEBREW LETTER HET
- (#xE8 ?\u05D8) ;; HEBREW LETTER TET
- (#xE9 ?\u05D9) ;; HEBREW LETTER YOD
- (#xEA ?\u05DA) ;; HEBREW LETTER FINAL KAF
- (#xEB ?\u05DB) ;; HEBREW LETTER KAF
- (#xEC ?\u05DC) ;; HEBREW LETTER LAMED
- (#xED ?\u05DD) ;; HEBREW LETTER FINAL MEM
- (#xEE ?\u05DE) ;; HEBREW LETTER MEM
- (#xEF ?\u05DF) ;; HEBREW LETTER FINAL NUN
- (#xF0 ?\u05E0) ;; HEBREW LETTER NUN
- (#xF1 ?\u05E1) ;; HEBREW LETTER SAMEKH
- (#xF2 ?\u05E2) ;; HEBREW LETTER AYIN
- (#xF3 ?\u05E3) ;; HEBREW LETTER FINAL PE
- (#xF4 ?\u05E4) ;; HEBREW LETTER PE
- (#xF5 ?\u05E5) ;; HEBREW LETTER FINAL TSADI
- (#xF6 ?\u05E6) ;; HEBREW LETTER TSADI
- (#xF7 ?\u05E7) ;; HEBREW LETTER QOF
- (#xF8 ?\u05E8) ;; HEBREW LETTER RESH
- (#xF9 ?\u05E9) ;; HEBREW LETTER SHIN
- (#xFA ?\u05EA) ;; HEBREW LETTER TAV
- (#xFD ?\u200E) ;; LEFT-TO-RIGHT MARK
- (#xFE ?\u200F)) ;; RIGHT-TO-LEFT MARK
- "ISO-8859-8 (Hebrew)"
- '(mnemonic "MIME/Hbrw"))
+(make-coding-system
+ 'iso-8859-8 'fixed-width "ISO-8859-8 (Hebrew)"
+ '(unicode-map
+ ((#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
+ (#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 ?\u00D7) ;; MULTIPLICATION SIGN
+ (#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 ?\u00F7) ;; DIVISION SIGN
+ (#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
+ (#xDF ?\u2017) ;; DOUBLE LOW LINE
+ (#xE0 ?\u05D0) ;; HEBREW LETTER ALEF
+ (#xE1 ?\u05D1) ;; HEBREW LETTER BET
+ (#xE2 ?\u05D2) ;; HEBREW LETTER GIMEL
+ (#xE3 ?\u05D3) ;; HEBREW LETTER DALET
+ (#xE4 ?\u05D4) ;; HEBREW LETTER HE
+ (#xE5 ?\u05D5) ;; HEBREW LETTER VAV
+ (#xE6 ?\u05D6) ;; HEBREW LETTER ZAYIN
+ (#xE7 ?\u05D7) ;; HEBREW LETTER HET
+ (#xE8 ?\u05D8) ;; HEBREW LETTER TET
+ (#xE9 ?\u05D9) ;; HEBREW LETTER YOD
+ (#xEA ?\u05DA) ;; HEBREW LETTER FINAL KAF
+ (#xEB ?\u05DB) ;; HEBREW LETTER KAF
+ (#xEC ?\u05DC) ;; HEBREW LETTER LAMED
+ (#xED ?\u05DD) ;; HEBREW LETTER FINAL MEM
+ (#xEE ?\u05DE) ;; HEBREW LETTER MEM
+ (#xEF ?\u05DF) ;; HEBREW LETTER FINAL NUN
+ (#xF0 ?\u05E0) ;; HEBREW LETTER NUN
+ (#xF1 ?\u05E1) ;; HEBREW LETTER SAMEKH
+ (#xF2 ?\u05E2) ;; HEBREW LETTER AYIN
+ (#xF3 ?\u05E3) ;; HEBREW LETTER FINAL PE
+ (#xF4 ?\u05E4) ;; HEBREW LETTER PE
+ (#xF5 ?\u05E5) ;; HEBREW LETTER FINAL TSADI
+ (#xF6 ?\u05E6) ;; HEBREW LETTER TSADI
+ (#xF7 ?\u05E7) ;; HEBREW LETTER QOF
+ (#xF8 ?\u05E8) ;; HEBREW LETTER RESH
+ (#xF9 ?\u05E9) ;; HEBREW LETTER SHIN
+ (#xFA ?\u05EA) ;; HEBREW LETTER TAV
+ (#xFD ?\u200E) ;; LEFT-TO-RIGHT MARK
+ (#xFE ?\u200F)) ;; RIGHT-TO-LEFT MARK
+ mnemonic "MIME/Hbrw"))
(make-coding-system
'ctext-hebrew 'iso2022
diff -r 9c97a5a8c241 lisp/mule/latin.el
--- a/lisp/mule/latin.el Wed Feb 11 15:30:59 2009 +0000
+++ b/lisp/mule/latin.el Sat Apr 11 14:35:00 2009 +0100
@@ -124,270 +124,273 @@
(#xDD #xFD) ;; Y WITH ACUTE
(#xDE #xFE))) ;; T WITH CEDILLA
-(make-8-bit-coding-system
- 'iso-8859-2
- '((#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
- (#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
- (#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.
+(make-coding-system
+ 'iso-8859-2 'fixed-width "ISO-8859-2 (Latin-2)"
+ '(unicode-map
+ ((#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
+ (#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
+ (#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
+ documentation "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"
+ mnemonic "Latin 2"
aliases (iso-latin-2 latin-2)))
-(make-8-bit-coding-system
- 'windows-1250
- '((#x80 ?\u20AC) ;; EURO SIGN
- (#x82 ?\u201A) ;; SINGLE LOW-9 QUOTATION MARK
- (#x84 ?\u201E) ;; DOUBLE LOW-9 QUOTATION MARK
- (#x85 ?\u2026) ;; HORIZONTAL ELLIPSIS
- (#x86 ?\u2020) ;; DAGGER
- (#x87 ?\u2021) ;; DOUBLE DAGGER
- (#x89 ?\u2030) ;; PER MILLE SIGN
- (#x8A ?\u0160) ;; LATIN CAPITAL LETTER S WITH CARON
- (#x8B ?\u2039) ;; SINGLE LEFT-POINTING ANGLE QUOTATION MARK
- (#x8C ?\u015A) ;; LATIN CAPITAL LETTER S WITH ACUTE
- (#x8D ?\u0164) ;; LATIN CAPITAL LETTER T WITH CARON
- (#x8E ?\u017D) ;; LATIN CAPITAL LETTER Z WITH CARON
- (#x8F ?\u0179) ;; LATIN CAPITAL LETTER Z WITH ACUTE
- (#x91 ?\u2018) ;; LEFT SINGLE QUOTATION MARK
- (#x92 ?\u2019) ;; RIGHT SINGLE QUOTATION MARK
- (#x93 ?\u201C) ;; LEFT DOUBLE QUOTATION MARK
- (#x94 ?\u201D) ;; RIGHT DOUBLE QUOTATION MARK
- (#x95 ?\u2022) ;; BULLET
- (#x96 ?\u2013) ;; EN DASH
- (#x97 ?\u2014) ;; EM DASH
- (#x99 ?\u2122) ;; TRADE MARK SIGN
- (#x9A ?\u0161) ;; LATIN SMALL LETTER S WITH CARON
- (#x9B ?\u203A) ;; SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
- (#x9C ?\u015B) ;; LATIN SMALL LETTER S WITH ACUTE
- (#x9D ?\u0165) ;; LATIN SMALL LETTER T WITH CARON
- (#x9E ?\u017E) ;; LATIN SMALL LETTER Z WITH CARON
- (#x9F ?\u017A) ;; LATIN SMALL LETTER Z WITH ACUTE
- (#xA0 ?\u00A0) ;; NO-BREAK SPACE
- (#xA1 ?\u02C7) ;; CARON
- (#xA2 ?\u02D8) ;; BREVE
- (#xA3 ?\u0141) ;; LATIN CAPITAL LETTER L WITH STROKE
- (#xA4 ?\u00A4) ;; CURRENCY SIGN
- (#xA5 ?\u0104) ;; LATIN CAPITAL LETTER A WITH OGONEK
- (#xA6 ?\u00A6) ;; BROKEN BAR
- (#xA7 ?\u00A7) ;; SECTION SIGN
- (#xA8 ?\u00A8) ;; DIAERESIS
- (#xA9 ?\u00A9) ;; COPYRIGHT SIGN
- (#xAA ?\u015E) ;; LATIN CAPITAL LETTER S WITH CEDILLA
- (#xAB ?\u00AB) ;; LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- (#xAC ?\u00AC) ;; NOT SIGN
- (#xAD ?\u00AD) ;; SOFT HYPHEN
- (#xAE ?\u00AE) ;; REGISTERED SIGN
- (#xAF ?\u017B) ;; LATIN CAPITAL LETTER Z WITH DOT ABOVE
- (#xB0 ?\u00B0) ;; DEGREE SIGN
- (#xB1 ?\u00B1) ;; PLUS-MINUS SIGN
- (#xB2 ?\u02DB) ;; OGONEK
- (#xB3 ?\u0142) ;; LATIN SMALL LETTER L WITH STROKE
- (#xB4 ?\u00B4) ;; ACUTE ACCENT
- (#xB5 ?\u00B5) ;; MICRO SIGN
- (#xB6 ?\u00B6) ;; PILCROW SIGN
- (#xB7 ?\u00B7) ;; MIDDLE DOT
- (#xB8 ?\u00B8) ;; CEDILLA
- (#xB9 ?\u0105) ;; LATIN SMALL LETTER A WITH OGONEK
- (#xBA ?\u015F) ;; LATIN SMALL LETTER S WITH CEDILLA
- (#xBB ?\u00BB) ;; RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- (#xBC ?\u013D) ;; LATIN CAPITAL LETTER L WITH CARON
- (#xBD ?\u02DD) ;; DOUBLE ACUTE ACCENT
- (#xBE ?\u013E) ;; LATIN SMALL LETTER L 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
- "CP 1250, Microsoft's encoding for Central Europe.
+(make-coding-system
+ 'windows-1250 'fixed-width "Microsoft's CP1250"
+ '(unicode-map
+ ((#x80 ?\u20AC) ;; EURO SIGN
+ (#x82 ?\u201A) ;; SINGLE LOW-9 QUOTATION MARK
+ (#x84 ?\u201E) ;; DOUBLE LOW-9 QUOTATION MARK
+ (#x85 ?\u2026) ;; HORIZONTAL ELLIPSIS
+ (#x86 ?\u2020) ;; DAGGER
+ (#x87 ?\u2021) ;; DOUBLE DAGGER
+ (#x89 ?\u2030) ;; PER MILLE SIGN
+ (#x8A ?\u0160) ;; LATIN CAPITAL LETTER S WITH CARON
+ (#x8B ?\u2039) ;; SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+ (#x8C ?\u015A) ;; LATIN CAPITAL LETTER S WITH ACUTE
+ (#x8D ?\u0164) ;; LATIN CAPITAL LETTER T WITH CARON
+ (#x8E ?\u017D) ;; LATIN CAPITAL LETTER Z WITH CARON
+ (#x8F ?\u0179) ;; LATIN CAPITAL LETTER Z WITH ACUTE
+ (#x91 ?\u2018) ;; LEFT SINGLE QUOTATION MARK
+ (#x92 ?\u2019) ;; RIGHT SINGLE QUOTATION MARK
+ (#x93 ?\u201C) ;; LEFT DOUBLE QUOTATION MARK
+ (#x94 ?\u201D) ;; RIGHT DOUBLE QUOTATION MARK
+ (#x95 ?\u2022) ;; BULLET
+ (#x96 ?\u2013) ;; EN DASH
+ (#x97 ?\u2014) ;; EM DASH
+ (#x99 ?\u2122) ;; TRADE MARK SIGN
+ (#x9A ?\u0161) ;; LATIN SMALL LETTER S WITH CARON
+ (#x9B ?\u203A) ;; SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+ (#x9C ?\u015B) ;; LATIN SMALL LETTER S WITH ACUTE
+ (#x9D ?\u0165) ;; LATIN SMALL LETTER T WITH CARON
+ (#x9E ?\u017E) ;; LATIN SMALL LETTER Z WITH CARON
+ (#x9F ?\u017A) ;; LATIN SMALL LETTER Z WITH ACUTE
+ (#xA0 ?\u00A0) ;; NO-BREAK SPACE
+ (#xA1 ?\u02C7) ;; CARON
+ (#xA2 ?\u02D8) ;; BREVE
+ (#xA3 ?\u0141) ;; LATIN CAPITAL LETTER L WITH STROKE
+ (#xA4 ?\u00A4) ;; CURRENCY SIGN
+ (#xA5 ?\u0104) ;; LATIN CAPITAL LETTER A WITH OGONEK
+ (#xA6 ?\u00A6) ;; BROKEN BAR
+ (#xA7 ?\u00A7) ;; SECTION SIGN
+ (#xA8 ?\u00A8) ;; DIAERESIS
+ (#xA9 ?\u00A9) ;; COPYRIGHT SIGN
+ (#xAA ?\u015E) ;; LATIN CAPITAL LETTER S WITH CEDILLA
+ (#xAB ?\u00AB) ;; LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ (#xAC ?\u00AC) ;; NOT SIGN
+ (#xAD ?\u00AD) ;; SOFT HYPHEN
+ (#xAE ?\u00AE) ;; REGISTERED SIGN
+ (#xAF ?\u017B) ;; LATIN CAPITAL LETTER Z WITH DOT ABOVE
+ (#xB0 ?\u00B0) ;; DEGREE SIGN
+ (#xB1 ?\u00B1) ;; PLUS-MINUS SIGN
+ (#xB2 ?\u02DB) ;; OGONEK
+ (#xB3 ?\u0142) ;; LATIN SMALL LETTER L WITH STROKE
+ (#xB4 ?\u00B4) ;; ACUTE ACCENT
+ (#xB5 ?\u00B5) ;; MICRO SIGN
+ (#xB6 ?\u00B6) ;; PILCROW SIGN
+ (#xB7 ?\u00B7) ;; MIDDLE DOT
+ (#xB8 ?\u00B8) ;; CEDILLA
+ (#xB9 ?\u0105) ;; LATIN SMALL LETTER A WITH OGONEK
+ (#xBA ?\u015F) ;; LATIN SMALL LETTER S WITH CEDILLA
+ (#xBB ?\u00BB) ;; RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ (#xBC ?\u013D) ;; LATIN CAPITAL LETTER L WITH CARON
+ (#xBD ?\u02DD) ;; DOUBLE ACUTE ACCENT
+ (#xBE ?\u013E) ;; LATIN SMALL LETTER L 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
+ documentation
+ "CP 1250, Microsoft's encoding for Central Europe.
See also `iso-8859-2' and `window-1252' for Western Europe. "
- '(mnemonic "CP1250"
+ mnemonic "CP1250"
aliases (cp1250)))
@@ -460,131 +463,131 @@
(#xDD #xFD) ;; U WITH BREVE
(#xDE #xFE))) ;; S WITH CIRCUMFLEX
-(make-8-bit-coding-system
- 'iso-8859-3
- '((#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
- "ISO-8859-3 (Latin-3)"
- '(mnemonic "Latin 3"
+(make-coding-system
+ 'iso-8859-3 'fixed-width "ISO-8859-3 (Latin-3)"
+ '(unicode-map
+ ((#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
+ mnemonic "Latin 3"
documentation "Aimed at Turkish, Maltese and Esperanto. "
aliases (iso-latin-3 latin-3)))
@@ -660,138 +663,138 @@
(#xDD #xFD) ;; U WITH TILDE
(#xDE #xFE))) ;; U WITH MACRON
-(make-8-bit-coding-system
- 'iso-8859-4
- '((#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
- (#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
- (#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
- "ISO-8859-4 (Latin-4)"
- '(mnemonic "Latin 4"
+(make-coding-system
+ 'iso-8859-4 'fixed-width "ISO-8859-4 (Latin-4)"
+ '(unicode-map
+ ((#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
+ (#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
+ (#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
+ mnemonic "Latin 4"
aliases (iso-latin-4 latin-4)
documentation "Obsolete coding system for the Baltic rim. "))
@@ -873,138 +876,138 @@
(#xDD #xFD) ;; Y WITH ACUTE
(#xDE #xFE))) ;; Y WITH CIRCUMFLEX
-(make-8-bit-coding-system
- 'iso-8859-14
- '((#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
- (#xB2 ?\u0120) ;; LATIN CAPITAL LETTER G WITH DOT ABOVE
- (#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
- (#xBA ?\u1E83) ;; LATIN SMALL LETTER W WITH ACUTE
- (#xBB ?\u1E60) ;; LATIN CAPITAL LETTER S WITH DOT ABOVE
- (#xBC ?\u1EF3) ;; LATIN SMALL LETTER Y WITH GRAVE
- (#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
- (#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"
+(make-coding-system
+ 'iso-8859-14 'fixed-width "ISO-8859-14 (Latin-8)"
+ '(unicode-map
+ ((#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
+ (#xB2 ?\u0120) ;; LATIN CAPITAL LETTER G WITH DOT ABOVE
+ (#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
+ (#xBA ?\u1E83) ;; LATIN SMALL LETTER W WITH ACUTE
+ (#xBB ?\u1E60) ;; LATIN CAPITAL LETTER S WITH DOT ABOVE
+ (#xBC ?\u1EF3) ;; LATIN SMALL LETTER Y WITH GRAVE
+ (#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
+ (#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
+ mnemonic "Latin 8"
aliases (iso-latin-8 latin-8)))
@@ -1079,138 +1082,140 @@
(#xDD #xFD) ;; Y WITH ACUTE
(#xDE #xFE))) ;; THORN
-(make-8-bit-coding-system
- 'iso-8859-15
- '((#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
- (#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"
+(make-coding-system
+ 'iso-8859-15 'fixed-width "ISO-8859-15 (Latin-9"
+ '(unicode-map
+ ((#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
+ (#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
+ documentation "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.
@@ -1309,138 +1314,138 @@
(#xDE #xFE))) ;; T WITH COMMA BELOW
;; Add a coding system for ISO 8859-16.
-(make-8-bit-coding-system
- 'iso-8859-16
- '((#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
- (#xFF ?\u00FF)) ;; LATIN SMALL LETTER Y WITH DIAERESIS
- "ISO-8859-16 (Latin-10)"
- '(mnemonic "Latin 10"
+(make-coding-system
+ 'iso-8859-16 'fixed-width "ISO-8859-16 (Latin-10)"
+ '(unicode-map
+ ((#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
+ (#xFF ?\u00FF)) ;; LATIN SMALL LETTER Y WITH DIAERESIS
+ mnemonic "Latin 10"
aliases (iso-latin-10)))
;; end of ISO 8859-16.
@@ -1517,138 +1522,138 @@
(make-char 'latin-iso8859-9 #xfd)
?I (standard-case-table))
-(make-8-bit-coding-system
- 'iso-8859-9
- '((#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
- (#xFF ?\u00FF)) ;; LATIN SMALL LETTER Y WITH DIAERESIS
- "ISO-8859-9 (Latin-5)"
- '(mnemonic "Latin 5"
+(make-coding-system
+ 'iso-8859-9 'fixed-width "ISO-8859-9 (Latin-5)"
+ '(unicode-map
+ ((#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
+ (#xFF ?\u00FF)) ;; LATIN SMALL LETTER Y WITH DIAERESIS
+ mnemonic "Latin 5"
aliases (iso-latin-5 latin-5)))
;; end of ISO-8859-9
@@ -1734,8 +1739,7 @@
(invalid-sequence-coding-system ,(or invalid-sequence-coding-system
codesys))
(documentation . ,(if (listp supported-langs) (car supported-langs)
- (format "\
-Generic language environment for %s (%s)." nice-charset-1 nice-charset-2))))
+ (format "Generic language environment for %s (%s)." nice-charset-1
nice-charset-2))))
'("European"))
(loop for (name locale tutorial sample-text input-method) in langenvs
do
@@ -1752,8 +1756,7 @@
(tutorial-coding-system . ,codesys)))
,@(if sample-text `((sample-text . ,sample-text)))
(input-method . ,(or input-method default-input))
- (documentation . ,(format "\
-This language environment supports %s. " name)))
+ (documentation . ,(format "This language environment supports %s. "
name)))
'("European"))))
;; The case table for Turkish is special:
@@ -1776,268 +1779,270 @@
;; Restore the normal case mappings for the characters.
(put-case-table-pair ?I ?i (standard-case-table))))
-(make-8-bit-coding-system
- 'macintosh
- '((#x80 ?\u00C4) ;; LATIN CAPITAL LETTER A WITH DIAERESIS
- (#x81 ?\u00C5) ;; LATIN CAPITAL LETTER A WITH RING ABOVE
- (#x82 ?\u00C7) ;; LATIN CAPITAL LETTER C WITH CEDILLA
- (#x83 ?\u00C9) ;; LATIN CAPITAL LETTER E WITH ACUTE
- (#x84 ?\u00D1) ;; LATIN CAPITAL LETTER N WITH TILDE
- (#x85 ?\u00D6) ;; LATIN CAPITAL LETTER O WITH DIAERESIS
- (#x86 ?\u00DC) ;; LATIN CAPITAL LETTER U WITH DIAERESIS
- (#x87 ?\u00E1) ;; LATIN SMALL LETTER A WITH ACUTE
- (#x88 ?\u00E0) ;; LATIN SMALL LETTER A WITH GRAVE
- (#x89 ?\u00E2) ;; LATIN SMALL LETTER A WITH CIRCUMFLEX
- (#x8A ?\u00E4) ;; LATIN SMALL LETTER A WITH DIAERESIS
- (#x8B ?\u00E3) ;; LATIN SMALL LETTER A WITH TILDE
- (#x8C ?\u00E5) ;; LATIN SMALL LETTER A WITH RING ABOVE
- (#x8D ?\u00E7) ;; LATIN SMALL LETTER C WITH CEDILLA
- (#x8E ?\u00E9) ;; LATIN SMALL LETTER E WITH ACUTE
- (#x8F ?\u00E8) ;; LATIN SMALL LETTER E WITH GRAVE
- (#x90 ?\u00EA) ;; LATIN SMALL LETTER E WITH CIRCUMFLEX
- (#x91 ?\u00EB) ;; LATIN SMALL LETTER E WITH DIAERESIS
- (#x92 ?\u00ED) ;; LATIN SMALL LETTER I WITH ACUTE
- (#x93 ?\u00EC) ;; LATIN SMALL LETTER I WITH GRAVE
- (#x94 ?\u00EE) ;; LATIN SMALL LETTER I WITH CIRCUMFLEX
- (#x95 ?\u00EF) ;; LATIN SMALL LETTER I WITH DIAERESIS
- (#x96 ?\u00F1) ;; LATIN SMALL LETTER N WITH TILDE
- (#x97 ?\u00F3) ;; LATIN SMALL LETTER O WITH ACUTE
- (#x98 ?\u00F2) ;; LATIN SMALL LETTER O WITH GRAVE
- (#x99 ?\u00F4) ;; LATIN SMALL LETTER O WITH CIRCUMFLEX
- (#x9A ?\u00F6) ;; LATIN SMALL LETTER O WITH DIAERESIS
- (#x9B ?\u00F5) ;; LATIN SMALL LETTER O WITH TILDE
- (#x9C ?\u00FA) ;; LATIN SMALL LETTER U WITH ACUTE
- (#x9D ?\u00F9) ;; LATIN SMALL LETTER U WITH GRAVE
- (#x9E ?\u00FB) ;; LATIN SMALL LETTER U WITH CIRCUMFLEX
- (#x9F ?\u00FC) ;; LATIN SMALL LETTER U WITH DIAERESIS
- (#xA0 ?\u2020) ;; DAGGER
- (#xA1 ?\u00B0) ;; DEGREE SIGN
- (#xA2 ?\u00A2) ;; CENT SIGN
- (#xA3 ?\u00A3) ;; POUND SIGN
- (#xA4 ?\u00A7) ;; SECTION SIGN
- (#xA5 ?\u2022) ;; BULLET
- (#xA6 ?\u00B6) ;; PILCROW SIGN
- (#xA7 ?\u00DF) ;; LATIN SMALL LETTER SHARP S
- (#xA8 ?\u00AE) ;; REGISTERED SIGN
- (#xA9 ?\u00A9) ;; COPYRIGHT SIGN
- (#xAA ?\u2122) ;; TRADE MARK SIGN
- (#xAB ?\u00B4) ;; ACUTE ACCENT
- (#xAC ?\u00A8) ;; DIAERESIS
- (#xAD ?\u2260) ;; NOT EQUAL TO
- (#xAE ?\u00C6) ;; LATIN CAPITAL LETTER AE
- (#xAF ?\u00D8) ;; LATIN CAPITAL LETTER O WITH STROKE
- (#xB0 ?\u221E) ;; INFINITY
- (#xB1 ?\u00B1) ;; PLUS-MINUS SIGN
- (#xB2 ?\u2264) ;; LESS-THAN OR EQUAL TO
- (#xB3 ?\u2265) ;; GREATER-THAN OR EQUAL TO
- (#xB4 ?\u00A5) ;; YEN SIGN
- (#xB5 ?\u00B5) ;; MICRO SIGN
- (#xB6 ?\u2202) ;; PARTIAL DIFFERENTIAL
- (#xB7 ?\u2211) ;; N-ARY SUMMATION
- (#xB8 ?\u220F) ;; N-ARY PRODUCT
- (#xB9 ?\u03C0) ;; GREEK SMALL LETTER PI
- (#xBA ?\u222B) ;; INTEGRAL
- (#xBB ?\u00AA) ;; FEMININE ORDINAL INDICATOR
- (#xBC ?\u00BA) ;; MASCULINE ORDINAL INDICATOR
- (#xBD ?\u03A9) ;; GREEK CAPITAL LETTER OMEGA
- (#xBE ?\u00E6) ;; LATIN SMALL LETTER AE
- (#xBF ?\u00F8) ;; LATIN SMALL LETTER O WITH STROKE
- (#xC0 ?\u00BF) ;; INVERTED QUESTION MARK
- (#xC1 ?\u00A1) ;; INVERTED EXCLAMATION MARK
- (#xC2 ?\u00AC) ;; NOT SIGN
- (#xC3 ?\u221A) ;; SQUARE ROOT
- (#xC4 ?\u0192) ;; LATIN SMALL LETTER F WITH HOOK
- (#xC5 ?\u2248) ;; ALMOST EQUAL TO
- (#xC6 ?\u2206) ;; INCREMENT
- (#xC7 ?\u00AB) ;; LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- (#xC8 ?\u00BB) ;; RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- (#xC9 ?\u2026) ;; HORIZONTAL ELLIPSIS
- (#xCA ?\u00A0) ;; NO-BREAK SPACE
- (#xCB ?\u00C0) ;; LATIN CAPITAL LETTER A WITH GRAVE
- (#xCC ?\u00C3) ;; LATIN CAPITAL LETTER A WITH TILDE
- (#xCD ?\u00D5) ;; LATIN CAPITAL LETTER O WITH TILDE
- (#xCE ?\u0152) ;; LATIN CAPITAL LIGATURE OE
- (#xCF ?\u0153) ;; LATIN SMALL LIGATURE OE
- (#xD0 ?\u2013) ;; EN DASH
- (#xD1 ?\u2014) ;; EM DASH
- (#xD2 ?\u201C) ;; LEFT DOUBLE QUOTATION MARK
- (#xD3 ?\u201D) ;; RIGHT DOUBLE QUOTATION MARK
- (#xD4 ?\u2018) ;; LEFT SINGLE QUOTATION MARK
- (#xD5 ?\u2019) ;; RIGHT SINGLE QUOTATION MARK
- (#xD6 ?\u00F7) ;; DIVISION SIGN
- (#xD7 ?\u25CA) ;; LOZENGE
- (#xD8 ?\u00FF) ;; LATIN SMALL LETTER Y WITH DIAERESIS
- (#xD9 ?\u0178) ;; LATIN CAPITAL LETTER Y WITH DIAERESIS
- (#xDA ?\u2044) ;; FRACTION SLASH
- (#xDB ?\u20AC) ;; EURO SIGN
- (#xDC ?\u2039) ;; SINGLE LEFT-POINTING ANGLE QUOTATION MARK
- (#xDD ?\u203A) ;; SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
- (#xDE ?\uFB01) ;; LATIN SMALL LIGATURE FI
- (#xDF ?\uFB02) ;; LATIN SMALL LIGATURE FL
- (#xE0 ?\u2021) ;; DOUBLE DAGGER
- (#xE1 ?\u00B7) ;; MIDDLE DOT
- (#xE2 ?\u201A) ;; SINGLE LOW-9 QUOTATION MARK
- (#xE3 ?\u201E) ;; DOUBLE LOW-9 QUOTATION MARK
- (#xE4 ?\u2030) ;; PER MILLE SIGN
- (#xE5 ?\u00C2) ;; LATIN CAPITAL LETTER A WITH CIRCUMFLEX
- (#xE6 ?\u00CA) ;; LATIN CAPITAL LETTER E WITH CIRCUMFLEX
- (#xE7 ?\u00C1) ;; LATIN CAPITAL LETTER A WITH ACUTE
- (#xE8 ?\u00CB) ;; LATIN CAPITAL LETTER E WITH DIAERESIS
- (#xE9 ?\u00C8) ;; LATIN CAPITAL LETTER E WITH GRAVE
- (#xEA ?\u00CD) ;; LATIN CAPITAL LETTER I WITH ACUTE
- (#xEB ?\u00CE) ;; LATIN CAPITAL LETTER I WITH CIRCUMFLEX
- (#xEC ?\u00CF) ;; LATIN CAPITAL LETTER I WITH DIAERESIS
- (#xED ?\u00CC) ;; LATIN CAPITAL LETTER I WITH GRAVE
- (#xEE ?\u00D3) ;; LATIN CAPITAL LETTER O WITH ACUTE
- (#xEF ?\u00D4) ;; LATIN CAPITAL LETTER O WITH CIRCUMFLEX
- (#xF0 ?\uF8FF) ;; Apple logo
- (#xF1 ?\u00D2) ;; LATIN CAPITAL LETTER O WITH GRAVE
- (#xF2 ?\u00DA) ;; LATIN CAPITAL LETTER U WITH ACUTE
- (#xF3 ?\u00DB) ;; LATIN CAPITAL LETTER U WITH CIRCUMFLEX
- (#xF4 ?\u00D9) ;; LATIN CAPITAL LETTER U WITH GRAVE
- (#xF5 ?\u0131) ;; LATIN SMALL LETTER DOTLESS I
- (#xF6 ?\u02C6) ;; MODIFIER LETTER CIRCUMFLEX ACCENT
- (#xF7 ?\u02DC) ;; SMALL TILDE
- (#xF8 ?\u00AF) ;; MACRON
- (#xF9 ?\u02D8) ;; BREVE
- (#xFA ?\u02D9) ;; DOT ABOVE
- (#xFB ?\u02DA) ;; RING ABOVE
- (#xFC ?\u00B8) ;; CEDILLA
- (#xFD ?\u02DD) ;; DOUBLE ACUTE ACCENT
- (#xFE ?\u02DB) ;; OGONEK
- (#xFF ?\u02C7)) ;; CARON
- "The Macintosh encoding for Western Europe and the Americas"
- '(mnemonic "MR"
- documentation "MacRoman, MIME name macintosh"
+(make-coding-system
+ 'macintosh 'fixed-width "MacRoman"
+ '(unicode-map
+ ((#x80 ?\u00C4) ;; LATIN CAPITAL LETTER A WITH DIAERESIS
+ (#x81 ?\u00C5) ;; LATIN CAPITAL LETTER A WITH RING ABOVE
+ (#x82 ?\u00C7) ;; LATIN CAPITAL LETTER C WITH CEDILLA
+ (#x83 ?\u00C9) ;; LATIN CAPITAL LETTER E WITH ACUTE
+ (#x84 ?\u00D1) ;; LATIN CAPITAL LETTER N WITH TILDE
+ (#x85 ?\u00D6) ;; LATIN CAPITAL LETTER O WITH DIAERESIS
+ (#x86 ?\u00DC) ;; LATIN CAPITAL LETTER U WITH DIAERESIS
+ (#x87 ?\u00E1) ;; LATIN SMALL LETTER A WITH ACUTE
+ (#x88 ?\u00E0) ;; LATIN SMALL LETTER A WITH GRAVE
+ (#x89 ?\u00E2) ;; LATIN SMALL LETTER A WITH CIRCUMFLEX
+ (#x8A ?\u00E4) ;; LATIN SMALL LETTER A WITH DIAERESIS
+ (#x8B ?\u00E3) ;; LATIN SMALL LETTER A WITH TILDE
+ (#x8C ?\u00E5) ;; LATIN SMALL LETTER A WITH RING ABOVE
+ (#x8D ?\u00E7) ;; LATIN SMALL LETTER C WITH CEDILLA
+ (#x8E ?\u00E9) ;; LATIN SMALL LETTER E WITH ACUTE
+ (#x8F ?\u00E8) ;; LATIN SMALL LETTER E WITH GRAVE
+ (#x90 ?\u00EA) ;; LATIN SMALL LETTER E WITH CIRCUMFLEX
+ (#x91 ?\u00EB) ;; LATIN SMALL LETTER E WITH DIAERESIS
+ (#x92 ?\u00ED) ;; LATIN SMALL LETTER I WITH ACUTE
+ (#x93 ?\u00EC) ;; LATIN SMALL LETTER I WITH GRAVE
+ (#x94 ?\u00EE) ;; LATIN SMALL LETTER I WITH CIRCUMFLEX
+ (#x95 ?\u00EF) ;; LATIN SMALL LETTER I WITH DIAERESIS
+ (#x96 ?\u00F1) ;; LATIN SMALL LETTER N WITH TILDE
+ (#x97 ?\u00F3) ;; LATIN SMALL LETTER O WITH ACUTE
+ (#x98 ?\u00F2) ;; LATIN SMALL LETTER O WITH GRAVE
+ (#x99 ?\u00F4) ;; LATIN SMALL LETTER O WITH CIRCUMFLEX
+ (#x9A ?\u00F6) ;; LATIN SMALL LETTER O WITH DIAERESIS
+ (#x9B ?\u00F5) ;; LATIN SMALL LETTER O WITH TILDE
+ (#x9C ?\u00FA) ;; LATIN SMALL LETTER U WITH ACUTE
+ (#x9D ?\u00F9) ;; LATIN SMALL LETTER U WITH GRAVE
+ (#x9E ?\u00FB) ;; LATIN SMALL LETTER U WITH CIRCUMFLEX
+ (#x9F ?\u00FC) ;; LATIN SMALL LETTER U WITH DIAERESIS
+ (#xA0 ?\u2020) ;; DAGGER
+ (#xA1 ?\u00B0) ;; DEGREE SIGN
+ (#xA2 ?\u00A2) ;; CENT SIGN
+ (#xA3 ?\u00A3) ;; POUND SIGN
+ (#xA4 ?\u00A7) ;; SECTION SIGN
+ (#xA5 ?\u2022) ;; BULLET
+ (#xA6 ?\u00B6) ;; PILCROW SIGN
+ (#xA7 ?\u00DF) ;; LATIN SMALL LETTER SHARP S
+ (#xA8 ?\u00AE) ;; REGISTERED SIGN
+ (#xA9 ?\u00A9) ;; COPYRIGHT SIGN
+ (#xAA ?\u2122) ;; TRADE MARK SIGN
+ (#xAB ?\u00B4) ;; ACUTE ACCENT
+ (#xAC ?\u00A8) ;; DIAERESIS
+ (#xAD ?\u2260) ;; NOT EQUAL TO
+ (#xAE ?\u00C6) ;; LATIN CAPITAL LETTER AE
+ (#xAF ?\u00D8) ;; LATIN CAPITAL LETTER O WITH STROKE
+ (#xB0 ?\u221E) ;; INFINITY
+ (#xB1 ?\u00B1) ;; PLUS-MINUS SIGN
+ (#xB2 ?\u2264) ;; LESS-THAN OR EQUAL TO
+ (#xB3 ?\u2265) ;; GREATER-THAN OR EQUAL TO
+ (#xB4 ?\u00A5) ;; YEN SIGN
+ (#xB5 ?\u00B5) ;; MICRO SIGN
+ (#xB6 ?\u2202) ;; PARTIAL DIFFERENTIAL
+ (#xB7 ?\u2211) ;; N-ARY SUMMATION
+ (#xB8 ?\u220F) ;; N-ARY PRODUCT
+ (#xB9 ?\u03C0) ;; GREEK SMALL LETTER PI
+ (#xBA ?\u222B) ;; INTEGRAL
+ (#xBB ?\u00AA) ;; FEMININE ORDINAL INDICATOR
+ (#xBC ?\u00BA) ;; MASCULINE ORDINAL INDICATOR
+ (#xBD ?\u03A9) ;; GREEK CAPITAL LETTER OMEGA
+ (#xBE ?\u00E6) ;; LATIN SMALL LETTER AE
+ (#xBF ?\u00F8) ;; LATIN SMALL LETTER O WITH STROKE
+ (#xC0 ?\u00BF) ;; INVERTED QUESTION MARK
+ (#xC1 ?\u00A1) ;; INVERTED EXCLAMATION MARK
+ (#xC2 ?\u00AC) ;; NOT SIGN
+ (#xC3 ?\u221A) ;; SQUARE ROOT
+ (#xC4 ?\u0192) ;; LATIN SMALL LETTER F WITH HOOK
+ (#xC5 ?\u2248) ;; ALMOST EQUAL TO
+ (#xC6 ?\u2206) ;; INCREMENT
+ (#xC7 ?\u00AB) ;; LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ (#xC8 ?\u00BB) ;; RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ (#xC9 ?\u2026) ;; HORIZONTAL ELLIPSIS
+ (#xCA ?\u00A0) ;; NO-BREAK SPACE
+ (#xCB ?\u00C0) ;; LATIN CAPITAL LETTER A WITH GRAVE
+ (#xCC ?\u00C3) ;; LATIN CAPITAL LETTER A WITH TILDE
+ (#xCD ?\u00D5) ;; LATIN CAPITAL LETTER O WITH TILDE
+ (#xCE ?\u0152) ;; LATIN CAPITAL LIGATURE OE
+ (#xCF ?\u0153) ;; LATIN SMALL LIGATURE OE
+ (#xD0 ?\u2013) ;; EN DASH
+ (#xD1 ?\u2014) ;; EM DASH
+ (#xD2 ?\u201C) ;; LEFT DOUBLE QUOTATION MARK
+ (#xD3 ?\u201D) ;; RIGHT DOUBLE QUOTATION MARK
+ (#xD4 ?\u2018) ;; LEFT SINGLE QUOTATION MARK
+ (#xD5 ?\u2019) ;; RIGHT SINGLE QUOTATION MARK
+ (#xD6 ?\u00F7) ;; DIVISION SIGN
+ (#xD7 ?\u25CA) ;; LOZENGE
+ (#xD8 ?\u00FF) ;; LATIN SMALL LETTER Y WITH DIAERESIS
+ (#xD9 ?\u0178) ;; LATIN CAPITAL LETTER Y WITH DIAERESIS
+ (#xDA ?\u2044) ;; FRACTION SLASH
+ (#xDB ?\u20AC) ;; EURO SIGN
+ (#xDC ?\u2039) ;; SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+ (#xDD ?\u203A) ;; SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+ (#xDE ?\uFB01) ;; LATIN SMALL LIGATURE FI
+ (#xDF ?\uFB02) ;; LATIN SMALL LIGATURE FL
+ (#xE0 ?\u2021) ;; DOUBLE DAGGER
+ (#xE1 ?\u00B7) ;; MIDDLE DOT
+ (#xE2 ?\u201A) ;; SINGLE LOW-9 QUOTATION MARK
+ (#xE3 ?\u201E) ;; DOUBLE LOW-9 QUOTATION MARK
+ (#xE4 ?\u2030) ;; PER MILLE SIGN
+ (#xE5 ?\u00C2) ;; LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+ (#xE6 ?\u00CA) ;; LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+ (#xE7 ?\u00C1) ;; LATIN CAPITAL LETTER A WITH ACUTE
+ (#xE8 ?\u00CB) ;; LATIN CAPITAL LETTER E WITH DIAERESIS
+ (#xE9 ?\u00C8) ;; LATIN CAPITAL LETTER E WITH GRAVE
+ (#xEA ?\u00CD) ;; LATIN CAPITAL LETTER I WITH ACUTE
+ (#xEB ?\u00CE) ;; LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+ (#xEC ?\u00CF) ;; LATIN CAPITAL LETTER I WITH DIAERESIS
+ (#xED ?\u00CC) ;; LATIN CAPITAL LETTER I WITH GRAVE
+ (#xEE ?\u00D3) ;; LATIN CAPITAL LETTER O WITH ACUTE
+ (#xEF ?\u00D4) ;; LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+ (#xF0 ?\uF8FF) ;; Apple logo
+ (#xF1 ?\u00D2) ;; LATIN CAPITAL LETTER O WITH GRAVE
+ (#xF2 ?\u00DA) ;; LATIN CAPITAL LETTER U WITH ACUTE
+ (#xF3 ?\u00DB) ;; LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+ (#xF4 ?\u00D9) ;; LATIN CAPITAL LETTER U WITH GRAVE
+ (#xF5 ?\u0131) ;; LATIN SMALL LETTER DOTLESS I
+ (#xF6 ?\u02C6) ;; MODIFIER LETTER CIRCUMFLEX ACCENT
+ (#xF7 ?\u02DC) ;; SMALL TILDE
+ (#xF8 ?\u00AF) ;; MACRON
+ (#xF9 ?\u02D8) ;; BREVE
+ (#xFA ?\u02D9) ;; DOT ABOVE
+ (#xFB ?\u02DA) ;; RING ABOVE
+ (#xFC ?\u00B8) ;; CEDILLA
+ (#xFD ?\u02DD) ;; DOUBLE ACUTE ACCENT
+ (#xFE ?\u02DB) ;; OGONEK
+ (#xFF ?\u02C7)) ;; CARON
+ mnemonic "MR"
+ documentation "The Macintosh encoding for Western Europe and the Americas"
aliases (cp10000 MacRoman)))
-(make-8-bit-coding-system
- 'windows-1252
- '((#x80 ?\u20AC) ;; EURO SIGN
- (#x82 ?\u201A) ;; SINGLE LOW-9 QUOTATION MARK
- (#x83 ?\u0192) ;; LATIN SMALL LETTER F WITH HOOK
- (#x84 ?\u201E) ;; DOUBLE LOW-9 QUOTATION MARK
- (#x85 ?\u2026) ;; HORIZONTAL ELLIPSIS
- (#x86 ?\u2020) ;; DAGGER
- (#x87 ?\u2021) ;; DOUBLE DAGGER
- (#x88 ?\u02C6) ;; MODIFIER LETTER CIRCUMFLEX ACCENT
- (#x89 ?\u2030) ;; PER MILLE SIGN
- (#x8A ?\u0160) ;; LATIN CAPITAL LETTER S WITH CARON
- (#x8B ?\u2039) ;; SINGLE LEFT-POINTING ANGLE QUOTATION MARK
- (#x8C ?\u0152) ;; LATIN CAPITAL LIGATURE OE
- (#x8E ?\u017D) ;; LATIN CAPITAL LETTER Z WITH CARON
- (#x91 ?\u2018) ;; LEFT SINGLE QUOTATION MARK
- (#x92 ?\u2019) ;; RIGHT SINGLE QUOTATION MARK
- (#x93 ?\u201C) ;; LEFT DOUBLE QUOTATION MARK
- (#x94 ?\u201D) ;; RIGHT DOUBLE QUOTATION MARK
- (#x95 ?\u2022) ;; BULLET
- (#x96 ?\u2013) ;; EN DASH
- (#x97 ?\u2014) ;; EM DASH
- (#x98 ?\u02DC) ;; SMALL TILDE
- (#x99 ?\u2122) ;; TRADE MARK SIGN
- (#x9A ?\u0161) ;; LATIN SMALL LETTER S WITH CARON
- (#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
- (#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"
+(make-coding-system
+ 'windows-1252 'fixed-width "Microsoft's CP1252"
+ '(unicode-map
+ ((#x80 ?\u20AC) ;; EURO SIGN
+ (#x82 ?\u201A) ;; SINGLE LOW-9 QUOTATION MARK
+ (#x83 ?\u0192) ;; LATIN SMALL LETTER F WITH HOOK
+ (#x84 ?\u201E) ;; DOUBLE LOW-9 QUOTATION MARK
+ (#x85 ?\u2026) ;; HORIZONTAL ELLIPSIS
+ (#x86 ?\u2020) ;; DAGGER
+ (#x87 ?\u2021) ;; DOUBLE DAGGER
+ (#x88 ?\u02C6) ;; MODIFIER LETTER CIRCUMFLEX ACCENT
+ (#x89 ?\u2030) ;; PER MILLE SIGN
+ (#x8A ?\u0160) ;; LATIN CAPITAL LETTER S WITH CARON
+ (#x8B ?\u2039) ;; SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+ (#x8C ?\u0152) ;; LATIN CAPITAL LIGATURE OE
+ (#x8E ?\u017D) ;; LATIN CAPITAL LETTER Z WITH CARON
+ (#x91 ?\u2018) ;; LEFT SINGLE QUOTATION MARK
+ (#x92 ?\u2019) ;; RIGHT SINGLE QUOTATION MARK
+ (#x93 ?\u201C) ;; LEFT DOUBLE QUOTATION MARK
+ (#x94 ?\u201D) ;; RIGHT DOUBLE QUOTATION MARK
+ (#x95 ?\u2022) ;; BULLET
+ (#x96 ?\u2013) ;; EN DASH
+ (#x97 ?\u2014) ;; EM DASH
+ (#x98 ?\u02DC) ;; SMALL TILDE
+ (#x99 ?\u2122) ;; TRADE MARK SIGN
+ (#x9A ?\u0161) ;; LATIN SMALL LETTER S WITH CARON
+ (#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
+ (#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
+ documentation "Microsoft's extension of iso-8859-1 for Western Europe \
+and the Americas. "
+ mnemonic "cp1252"
aliases (cp1252)))
;; Provide language environments that prefer specific coding systems.
diff -r 9c97a5a8c241 lisp/mule/make-coding-system.el
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/lisp/mule/make-coding-system.el Sat Apr 11 14:35:00 2009 +0100
@@ -0,0 +1,985 @@
+;;; make-coding-system.el; Provides the #'make-coding-system function and
+;;; much of the implementation of the fixed-width coding system type.
+
+;; Copyright (C) 2009 Free Software Foundation
+
+;; Author: Aidan Kehoe
+
+;; 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., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
+
+;;; Commentary:
+
+;;; Code:
+
+(defvar fixed-width-private-use-start (decode-char 'ucs #xE000)
+ "Start of a 256 code private use area for fixed-width coding systems.
+
+This is used to ensure that distinct octets on disk for a given coding
+system map to distinct XEmacs characters, preventing a spurious changes when
+a file is read, not changed, and then written. ")
+
+(defun fixed-width-generate-helper (decode-table encode-table
+ encode-failure-octet)
+ "Helper function,
`fixed-width-generate-encode-program-and-skip-chars-strings',
+which see.
+
+Deals with the case where ASCII and another character set can both be
+encoded unambiguously and completely into the coding-system; if this is so,
+returns a list comprised of such a ccl-program and the character set in
+question. If not, it returns a list with both entries nil."
+ (let ((tentative-encode-program-parts
+ (eval-when-compile
+ (let* ((vec-len 128)
+ (compiled
+ (append
+ (ccl-compile
+ `(1
+ (loop
+ (read-multibyte-character r0 r1)
+ (if (r0 == ,(charset-id 'ascii))
+ (write r1)
+ ((if (r0 == #xABAB)
+ ;; #xBFFE is a sentinel in the compiled
+ ;; program.
+ ((r0 = r1 & #x7F)
+ (write r0 ,(make-vector vec-len #xBFFE)))
+ ((mule-to-unicode r0 r1)
+ (if (r0 == #xFFFD)
+ (write #xBEEF)
+ ((lookup-integer encode-table-sym r0 r3)
+ (if r7
+ (write-multibyte-character r0 r3)
+ (write #xBEEF))))))))
+ (repeat)))) nil))
+ (first-part compiled)
+ (last-part
+ (member-if-not (lambda (entr) (eq #xBFFE entr))
+ (member-if
+ (lambda (entr) (eq #xBFFE entr))
+ first-part))))
+ (while compiled
+ (when (eq #xBFFE (cadr compiled))
+ (assert (= vec-len (search '(#xBFFE) (cdr compiled)
+ :test #'/=)) nil
+ "Strange ccl vector length")
+ (setcdr compiled nil))
+ (setq compiled (cdr compiled)))
+ ;; Is the generated code as we expect it to be?
+ (assert (and (memq #xABAB first-part)
+ (memq #xBEEF14 last-part))
+ nil
+ "This code assumes that the constant #xBEEF is #xBEEF14 in \
+compiled CCL code,\nand that the constant #xABAB is #xABAB. If that is
+not the case, and it appears not to be--that's why you're getting this
+message--it will not work. ")
+ (list first-part last-part vec-len))))
+ (charset-lower -1)
+ (charset-upper -1)
+ worth-trying known-charsets encode-program
+ other-charset-vector ucs)
+
+ (loop for char across decode-table
+ do (pushnew (char-charset char) known-charsets))
+ (setq known-charsets (delq 'ascii known-charsets))
+
+ (loop for known-charset in known-charsets
+ do
+ ;; This is not possible for two dimensional charsets.
+ (when (eq 1 (charset-dimension known-charset))
+ (if (eq 'control-1 known-charset)
+ (setq charset-lower 0
+ charset-upper 31)
+ ;; There should be a nicer way to get the limits here.
+ (condition-case args-out-of-range
+ (make-char known-charset #x100)
+ (args-out-of-range
+ (setq charset-lower (third args-out-of-range)
+ charset-upper (fourth args-out-of-range)))))
+ (loop
+ for i from charset-lower to charset-upper
+ always (and (setq ucs
+ (encode-char (make-char known-charset i) 'ucs))
+ (gethash ucs encode-table))
+ finally (setq worth-trying known-charset))
+
+ ;; Only trying this for one charset at a time, the first find.
+ (when worth-trying (return))
+
+ ;; Okay, this charset is not worth trying, Try the next.
+ (setq charset-lower -1
+ charset-upper -1
+ worth-trying nil)))
+
+ (when worth-trying
+ (setq other-charset-vector
+ (make-vector (third tentative-encode-program-parts)
+ encode-failure-octet))
+ (loop for i from charset-lower to charset-upper
+ do (aset other-charset-vector i
+ (gethash (encode-char (make-char worth-trying i)
+ 'ucs) encode-table)))
+ (setq encode-program
+ (nsublis
+ (list (cons #xABAB (charset-id worth-trying)))
+ (nconc
+ (copy-list (first
+ tentative-encode-program-parts))
+ (append other-charset-vector nil)
+ (copy-tree (second
+ tentative-encode-program-parts))))))
+ (values encode-program worth-trying)))
+
+(defun fixed-width-generate-encode-program-and-skip-chars-strings
+ (decode-table encode-table encode-failure-octet)
+ "Generate a CCL program to encode a 8-bit fixed-width charset.
+
+DECODE-TABLE must have 256 non-cons entries, and will be regarded as
+describing a map from the octet corresponding to an offset in the
+table to the that entry in the table. ENCODE-TABLE is a hash table
+map from unicode values to characters in the range [0,255].
+ENCODE-FAILURE-OCTET describes an integer between 0 and 255
+\(inclusive) to write in the event that a character cannot be encoded. "
+ (check-argument-type #'vectorp decode-table)
+ (check-argument-range (length decode-table) #x100 #x100)
+ (check-argument-type #'hash-table-p encode-table)
+ (check-argument-type #'integerp encode-failure-octet)
+ (check-argument-range encode-failure-octet #x00 #xFF)
+ (let ((encode-program nil)
+ (general-encode-program
+ (eval-when-compile
+ (let ((prog (append
+ (ccl-compile
+ `(1
+ (loop
+ (read-multibyte-character r0 r1)
+ (mule-to-unicode r0 r1)
+ (if (r0 == #xFFFD)
+ (write #xBEEF)
+ ((lookup-integer encode-table-sym r0 r3)
+ (if r7
+ (write-multibyte-character r0 r3)
+ (write #xBEEF))))
+ (repeat)))) nil)))
+ (assert (memq #xBEEF14 prog)
+ nil
+ "This code assumes that the constant #xBEEF is #xBEEF14 \
+in compiled CCL code.\nIf that is not the case, and it appears not to
+be--that's why you're getting this message--it will not work. ")
+ prog)))
+ (encode-program-with-ascii-optimisation
+ (eval-when-compile
+ (let ((prog (append
+ (ccl-compile
+ `(1
+ (loop
+ (read-multibyte-character r0 r1)
+ (if (r0 == ,(charset-id 'ascii))
+ (write r1)
+ ((mule-to-unicode r0 r1)
+ (if (r0 == #xFFFD)
+ (write #xBEEF)
+ ((lookup-integer encode-table-sym r0 r3)
+ (if r7
+ (write-multibyte-character r0 r3)
+ (write #xBEEF))))))
+ (repeat)))) nil)))
+ (assert (memq #xBEEF14 prog)
+ nil
+ "This code assumes that the constant #xBEEF is #xBEEF14 \
+in compiled CCL code.\nIf that is not the case, and it appears not to
+be--that's why you're getting this message--it will not work. ")
+ prog)))
+ (ascii-encodes-as-itself nil)
+ (control-1-encodes-as-itself t)
+ (invalid-sequence-code-point-start
+ (eval-when-compile
+ (char-to-unicode
+ (aref (decode-coding-string "\xd8\x00\x00\x00" 'utf-16-be)
3))))
+ further-char-set skip-chars invalid-sequences-skip-chars)
+
+ ;; Is this coding system ASCII-compatible? If so, we can avoid the hash
+ ;; table lookup for those characters.
+ (loop
+ for i from #x00 to #x7f
+ always (eq (int-to-char i) (gethash i encode-table))
+ finally (setq ascii-encodes-as-itself t))
+
+ ;; Note that this logic handles EBCDIC badly. For example, CP037,
+ ;; MIME name ebcdic-na, has the entire repertoire of ASCII and
+ ;; Latin 1, and thus a more optimal ccl encode program would check
+ ;; for those character sets and use tables. But for now, we do a
+ ;; hash table lookup for every character.
+ (if (null ascii-encodes-as-itself)
+ ;; General encode program. Pros; general and correct. Cons;
+ ;; slow, a hash table lookup + mule-unicode conversion is done
+ ;; for every character encoding.
+ (setq encode-program general-encode-program)
+ (multiple-value-setq
+ (encode-program further-char-set)
+ ;; Encode program with ascii-ascii mapping (based on a
+ ;; character's mule character set), and one other mule
+ ;; character set using table-based encoding, other
+ ;; character sets using hash table lookups.
+ ;; fixed-width-non-ascii-completely-coveredp only returns
+ ;; such a mapping if some non-ASCII charset with
+ ;; characters in decode-table is entirely covered by
+ ;; encode-table.
+ (fixed-width-generate-helper decode-table encode-table
+ encode-failure-octet))
+ (unless encode-program
+ ;; If fixed-width-non-ascii-completely-coveredp returned nil,
+ ;; but ASCII still encodes as itself, do one-to-one mapping
+ ;; for ASCII, and a hash table lookup for everything else.
+ (setq encode-program encode-program-with-ascii-optimisation)))
+
+ (setq encode-program
+ (nsublis
+ (list (cons #xBEEF14
+ (logior (lsh encode-failure-octet 8)
+ #x14)))
+ (copy-tree encode-program)))
+ (loop
+ for i from #x80 to #x9f
+ do (unless (= i (aref decode-table i))
+ (setq control-1-encodes-as-itself nil)
+ (return)))
+ (loop
+ for i from #x00 to #xFF
+ initially (setq skip-chars
+ (cond
+ ((and ascii-encodes-as-itself
+ control-1-encodes-as-itself further-char-set)
+ (concat "\x00-\x9f" (charset-skip-chars-string
+ further-char-set)))
+ ((and ascii-encodes-as-itself
+ control-1-encodes-as-itself)
+ "\x00-\x9f")
+ ((null ascii-encodes-as-itself)
+ (skip-chars-quote (apply #'string
+ (append decode-table nil))))
+ (further-char-set
+ (concat (charset-skip-chars-string 'ascii)
+ (charset-skip-chars-string further-char-set)))
+ (t
+ (charset-skip-chars-string 'ascii)))
+ invalid-sequences-skip-chars "")
+ with decoded-ucs = nil
+ with decoded = nil
+ with no-ascii-transparency-skip-chars-list =
+ (unless ascii-encodes-as-itself (append decode-table nil))
+ ;; Can't use #'match-string here, see:
+ ;;
http://mid.gmane.org/18829.34118.709782.704574@parhasard.net
+ with skip-chars-test =
+ #'(lambda (skip-chars-string testing)
+ (with-temp-buffer
+ (insert testing)
+ (goto-char (point-min))
+ (skip-chars-forward skip-chars-string)
+ (= (point) (point-max))))
+ do
+ (setq decoded (aref decode-table i)
+ decoded-ucs (char-to-unicode decoded))
+ (cond
+ ((<= invalid-sequence-code-point-start decoded-ucs
+ (+ invalid-sequence-code-point-start #xFF))
+ (setq invalid-sequences-skip-chars
+ (concat (string decoded)
+ invalid-sequences-skip-chars))
+ (assert (not (funcall skip-chars-test skip-chars decoded))
+ "This char should only be skipped with \
+`invalid-sequences-skip-chars', not by `skip-chars'"))
+ ((not (funcall skip-chars-test skip-chars decoded))
+ (if ascii-encodes-as-itself
+ (setq skip-chars (concat skip-chars (string decoded)))
+ (push decoded no-ascii-transparency-skip-chars-list))))
+ finally (unless ascii-encodes-as-itself
+ (setq skip-chars
+ (skip-chars-quote
+ (apply #'string
+ no-ascii-transparency-skip-chars-list)))))
+ (values encode-program skip-chars invalid-sequences-skip-chars)))
+
+(defun fixed-width-create-decode-encode-tables (unicode-map)
+ "Return a list \(DECODE-TABLE ENCODE-TABLE) given UNICODE-MAP.
+UNICODE-MAP should be an alist mapping from integer octet values to
+characters with UCS code points; DECODE-TABLE will be a 256-element
+vector, and ENCODE-TABLE will be a hash table mapping from 256 numbers
+to 256 distinct characters. "
+ (check-argument-type #'listp unicode-map)
+ (let ((decode-table (make-vector 256 nil))
+ (encode-table (make-hash-table :size 256))
+ (private-use-start (encode-char fixed-width-private-use-start 'ucs))
+ (invalid-sequence-code-point-start
+ (eval-when-compile
+ (char-to-unicode
+ (aref (decode-coding-string "\xd8\x00\x00\x00" 'utf-16-be)
3))))
+ desired-ucs decode-table-entry)
+
+ (loop for (external internal)
+ in unicode-map
+ do
+ (aset decode-table external internal)
+ (assert (not (eq (encode-char internal 'ucs) -1))
+ nil
+ "Looks like you're creating a fixed-width coding system \
+in a dumped file, \nand you're either not providing a literal unicode map
+or PROPS. Don't do that; fixed-width coding systems rely on sensible
+Unicode mappings being available, which they are at compile time for
+dumped files (but this requires the mentioned literals), but not, for
+most of them, at run time. ")
+
+ (puthash (encode-char internal 'ucs)
+ ;; This is semantically an integer, but Dave Love's design
+ ;; for lookup-integer in CCL means we need to store it as a
+ ;; character.
+ (int-to-char external)
+ encode-table))
+
+ ;; Now, go through the decode table. For octet values above #x7f, if the
+ ;; decode table entry is nil, this means that they have an undefined
+ ;; mapping (= they map to XEmacs characters with keys in
+ ;; unicode-error-default-translation-table); for octet values below or
+ ;; equal to #x7f, it means that they map to ASCII.
+
+ ;; If any entry (whether below or above #x7f) in the decode-table
+ ;; already maps to some character with a key in
+ ;; unicode-error-default-translation-table, it is treated as an
+ ;; undefined octet by `query-coding-region'. That is, it is not
+ ;; necessary for an octet value to be above #x7f for this to happen.
+
+ (dotimes (i 256)
+ (setq decode-table-entry (aref decode-table i))
+ (if decode-table-entry
+ (when (get-char-table
+ decode-table-entry
+ unicode-error-default-translation-table)
+ ;; The caller is explicitly specifying that this octet
+ ;; corresponds to an invalid sequence on disk:
+ (assert (= (get-char-table
+ decode-table-entry
+ unicode-error-default-translation-table) i)
+ "Bad argument for a fixed-width coding system.
+If you're going to designate an octet with value below #x80 as invalid
+for this coding system, make sure to map it to the invalid sequence
+character corresponding to its octet value on disk. "))
+
+ ;; decode-table-entry is nil; either the octet is to be treated as
+ ;; contributing to an error sequence (when (> #x7f i)), or it should
+ ;; be attempted to treat it as ASCII-equivalent.
+ (setq desired-ucs (or (and (< i #x80) i)
+ (+ invalid-sequence-code-point-start i)))
+ (while (gethash desired-ucs encode-table)
+ (assert (not (< i #x80))
+ "UCS code point should not already be in encode-table!"
+ ;; There is one invalid sequence char per octet value;
+ ;; with fixed-width coding systems, it makes no sense
+ ;; for us to be multiply allocating them.
+ (gethash desired-ucs encode-table))
+ (setq desired-ucs (+ private-use-start desired-ucs)
+ private-use-start (+ private-use-start 1)))
+ (puthash desired-ucs (int-to-char i) encode-table)
+ (setq desired-ucs (if (> desired-ucs #xFF)
+ (unicode-to-char desired-ucs)
+ ;; So we get Latin-1 when run at dump time,
+ ;; instead of JIT-allocated characters.
+ (int-to-char desired-ucs)))
+ (aset decode-table i desired-ucs)))
+ (values decode-table encode-table)))
+
+(defun fixed-width-generate-decode-program (decode-table)
+ "Given DECODE-TABLE, generate a CCL program to decode an 8-bit charset.
+DECODE-TABLE must have 256 non-cons entries, and will be regarded as
+describing a map from the octet corresponding to an offset in the
+table to the that entry in the table. "
+ (check-argument-type #'vectorp decode-table)
+ (check-argument-range (length decode-table) #x100 #x100)
+ (let ((decode-program-parts
+ (eval-when-compile
+ (let* ((compiled
+ (append
+ (ccl-compile
+ `(3
+ ((read r0)
+ (loop
+ (write-read-repeat r0 ,(make-vector
+ 256 'sentinel)))))) nil))
+ (first-part compiled)
+ (last-part
+ (member-if-not #'symbolp
+ (member-if-not #'integerp first-part))))
+ ;; Chop off the sentinel sentinel sentinel [..] part.
+ (while compiled
+ (if (symbolp (cadr compiled))
+ (setcdr compiled nil))
+ (setq compiled (cdr compiled)))
+ (list first-part last-part)))))
+ (nconc
+ ;; copy-list needed, because the structure of the literal provided
+ ;; by our eval-when-compile hangs around.
+ (copy-list (first decode-program-parts))
+ (append decode-table nil)
+ (second decode-program-parts))))
+
+(defun fixed-width-choose-category (decode-table)
+ "Given DECODE-TABLE, return an appropriate coding category.
+DECODE-TABLE is a 256-entry vector describing the mapping from octets on
+disk to XEmacs characters for some fixed-width 8-bit coding system. "
+ (check-argument-type #'vectorp decode-table)
+ (check-argument-range (length decode-table) #x100 #x100)
+ (loop
+ named category
+ for i from #x80 to #x9F
+ do (unless (= i (aref decode-table i))
+ (return-from category 'no-conversion))
+ finally return 'iso-8-1))
+
+(defun fixed-width-rework-props-runtime (name props)
+ "Rework PROPS to a form understood by `make-coding-system-internal'.
+
+NAME must be a symbol, describing a fixed-width coding system that is
+about to be created. Much of the implementation of the fixed-width
+coding system is in Lisp, and this function allows us to rework the
+arguments that `make-coding-system-internal' sees accordingly.
+
+If you are calling this function from anywhere but
+`make-coding-system', you're probably doing something wrong."
+ (check-argument-type #'symbolp name)
+ (check-valid-plist props)
+ (let ((encode-failure-octet (or (plist-get props 'encode-failure-octet)
+ (char-to-int ?~)))
+ (unicode-map (plist-get props 'unicode-map))
+ (hash-table-sym (gentemp (format "%s-encode-table" name)))
+ encode-program decode-program decode-table encode-table skip-chars
+ invalid-sequences-skip-chars category)
+
+ (check-argument-range encode-failure-octet 0 #xFF)
+ ;; unicode-map must be a true list, and must be non-nil.
+ (check-argument-type #'true-list-p unicode-map)
+ (check-argument-type #'consp unicode-map)
+
+ ;; Don't pass on our extra data to make-coding-system-internal.
+ (setq props (plist-remprop props 'encode-failure-octet)
+ props (plist-remprop props 'unicode-map))
+
+ (multiple-value-setq
+ (decode-table encode-table)
+ (fixed-width-create-decode-encode-tables unicode-map))
+
+ ;; Register the decode-table.
+ (define-translation-hash-table hash-table-sym encode-table)
+
+ ;; Generate the programs and skip-chars strings.
+ (setq decode-program (fixed-width-generate-decode-program decode-table))
+ (multiple-value-setq
+ (encode-program skip-chars invalid-sequences-skip-chars)
+ (fixed-width-generate-encode-program-and-skip-chars-strings
+ decode-table encode-table encode-failure-octet))
+
+ (setq category (fixed-width-choose-category decode-table))
+
+ (unless (vectorp encode-program)
+ (setq encode-program
+ (apply #'vector
+ (nsublis (list (cons 'encode-table-sym hash-table-sym))
+ (copy-tree encode-program)))))
+ (unless (vectorp decode-program)
+ (setq decode-program
+ (apply #'vector decode-program)))
+
+ (loop for (symbol . value)
+ in `((decode . ,decode-program)
+ (encode . ,encode-program)
+ (from-unicode . ,encode-table)
+ (query-skip-chars . ,skip-chars)
+ (invalid-sequences-skip-chars . ,invalid-sequences-skip-chars)
+ (category . ,category))
+ with default = (gensym)
+ do
+ (unless (eq default (plist-get props symbol default))
+ (error
+ 'invalid-argument
+ "Explicit property not allowed for fixed-width coding systems"
+ symbol))
+ (setq props (nconc (list symbol value) props)))
+ props))
+
+;;;###autoload
+(defun make-coding-system (name type description props)
+ "Register symbol NAME as a coding system.
+
+TYPE describes the conversion method used and should be one of
+
+nil or `undecided'
+ Automatic conversion. XEmacs attempts to detect the coding system
+ used in the file.
+`chain'
+ Chain two or more coding systems together to make a combination coding
+ system.
+`no-conversion'
+ No conversion. Use this for binary files and such. On output,
+ graphic characters that are not in ASCII or Latin-1 will be
+ replaced by a ?. (For a no-conversion-encoded buffer, these
+ characters will only be present if you explicitly insert them.)
+`convert-eol'
+ Convert CRLF sequences or CR to LF.
+`shift-jis'
+ Shift-JIS (a Japanese encoding commonly used in PC operating systems).
+`unicode'
+ Any Unicode encoding (UCS-4, UTF-8, UTF-16, etc.).
+`mswindows-unicode-to-multibyte'
+ (MS Windows only) Converts from Windows Unicode to Windows Multibyte
+ (any code page encoding) upon encoding, and the other way upon decoding.
+`mswindows-multibyte'
+ Converts to or from Windows Multibyte (any code page encoding).
+ This is resolved into a chain of `mswindows-unicode' and
+ `mswindows-unicode-to-multibyte'.
+`iso2022'
+ Any ISO2022-compliant encoding. Among other things, this includes
+ JIS (the Japanese encoding commonly used for e-mail), EUC (the
+ standard Unix encoding for Japanese and other languages), and
+ Compound Text (the encoding used in X11). You can specify more
+ specific information about the conversion with the PROPS argument.
+`fixed-width'
+ A fixed-width eight bit encoding that is not necessarily compliant with
+ ISO 2022. This coding system assumes Unicode equivalency, that is,
+ that if two given XEmacs characters have the same Unicode mapping, they
+ will always map to the same octet on disk in the context of this coding
+ system
+`big5'
+ Big5 (the encoding commonly used for Mandarin Chinese in Taiwan).
+`ccl'
+ The conversion is performed using a user-written pseudo-code
+ program. CCL (Code Conversion Language) is the name of this
+ pseudo-code.
+`gzip'
+ GZIP compression format.
+`internal'
+ Write out or read in the raw contents of the memory representing
+ the buffer's text. This is primarily useful for debugging
+ purposes, and is only enabled when XEmacs has been compiled with
+ DEBUG_XEMACS defined (via the --debug configure option).
+ WARNING: Reading in a file using `internal' conversion can result
+ in an internal inconsistency in the memory representing a
+ buffer's text, which will produce unpredictable results and may
+ cause XEmacs to crash. Under normal circumstances you should
+ never use `internal' conversion.
+
+DESCRIPTION is a short English phrase describing the coding system,
+suitable for use as a menu item. (See also the `documentation' property
+below.)
+
+PROPS is a property list, describing the specific nature of the
+character set. Recognized properties are:
+
+`mnemonic'
+ String to be displayed in the modeline when this coding system is
+ active.
+
+`documentation'
+ Detailed documentation on the coding system.
+
+`aliases'
+ A list of aliases for the coding system. See
+ `define-coding-system-alias'.
+
+`eol-type'
+ End-of-line conversion to be used. It should be one of
+
+ nil
+ Automatically detect the end-of-line type (LF, CRLF,
+ or CR). Also generate subsidiary coding systems named
+ `NAME-unix', `NAME-dos', and `NAME-mac', that are
+ identical to this coding system but have an EOL-TYPE
+ value of `lf', `crlf', and `cr', respectively.
+ `lf'
+ The end of a line is marked externally using ASCII LF.
+ Since this is also the way that XEmacs represents an
+ end-of-line internally, specifying this option results
+ in no end-of-line conversion. This is the standard
+ format for Unix text files.
+ `crlf'
+ The end of a line is marked externally using ASCII
+ CRLF. This is the standard format for MS-DOS text
+ files.
+ `cr'
+ The end of a line is marked externally using ASCII CR.
+ This is the standard format for Macintosh text files.
+ t
+ Automatically detect the end-of-line type but do not
+ generate subsidiary coding systems. (This value is
+ converted to nil when stored internally, and
+ `coding-system-property' will return nil.)
+
+`post-read-conversion'
+ The value is a function to call after some text is inserted and
+ decoded by the coding system itself and before any functions in
+ `after-change-functions' are called. (#### Not actually true in
+ XEmacs. `after-change-functions' will be called twice if
+ `post-read-conversion' changes something.) The argument of this
+ function is the same as for a function in
+ `after-insert-file-functions', i.e. LENGTH of the text inserted,
+ with point at the head of the text to be decoded.
+
+`pre-write-conversion'
+ The value is a function to call after all functions in
+ `write-region-annotate-functions' and `buffer-file-format' are
+ called, and before the text is encoded by the coding system itself.
+ The arguments to this function are the same as those of a function
+ in `write-region-annotate-functions', i.e. FROM and TO, specifying
+ a region of text.
+
+The following properties are used by `default-query-coding-region',
+the default implementation of `query-coding-region'. This
+implementation and these properties are not used by the Unicode coding
+systems, nor by fixed-width coding systems.
+
+`safe-chars'
+ The value is a char table. If a character has non-nil value in it,
+ the character is safely supported by the coding system.
+ Under XEmacs, for the moment, this is used in addition to the
+ `safe-charsets' property. It does not override it as it does
+ under GNU Emacs. #### We need to consider if we should keep this
+ behaviour.
+
+`safe-charsets'
+ The value is a list of charsets safely supported by the coding
+ system. For coding systems based on ISO 2022, XEmacs may try to
+ encode characters outside these character sets, but outside of
+ East Asia and East Asian coding systems, it is unlikely that
+ consumers of the data will understand XEmacs' encoding.
+ The value t means that all XEmacs character sets handles are supported.
+
+The following properties are allowed for FSF compatibility but currently
+ignored:
+
+`translation-table-for-decode'
+ The value is a translation table to be applied on decoding. See
+ the function `make-translation-table' for the format of translation
+ table. This is not applicable to CCL-based coding systems.
+
+`translation-table-for-encode'
+ The value is a translation table to be applied on encoding. This is
+ not applicable to CCL-based coding systems.
+
+`mime-charset'
+ The value is a symbol of which name is `MIME-charset' parameter of
+ the coding system.
+
+`valid-codes' (meaningful only for a coding system based on CCL)
+ The value is a list to indicate valid byte ranges of the encoded
+ file. Each element of the list is an integer or a cons of integer.
+ In the former case, the integer value is a valid byte code. In the
+ latter case, the integers specifies the range of valid byte codes.
+
+The following additional property is recognized if TYPE is `convert-eol':
+
+`subtype'
+ One of `lf', `crlf', `cr' or nil (for autodetection). When decoding,
+ the corresponding sequence will be converted to LF. When encoding,
+ the opposite happens. This coding system converts characters to
+ characters.
+
+
+
+The following additional properties are recognized if TYPE is `iso2022':
+
+`charset-g0'
+`charset-g1'
+`charset-g2'
+`charset-g3'
+ The character set initially designated to the G0 - G3 registers.
+ The value should be one of
+
+ -- A charset object (designate that character set)
+ -- nil (do not ever use this register)
+ -- t (no character set is initially designated to
+ the register, but may be later on; this automatically
+ sets the corresponding `force-g*-on-output' property)
+
+`force-g0-on-output'
+`force-g1-on-output'
+`force-g2-on-output'
+`force-g2-on-output'
+ If non-nil, send an explicit designation sequence on output before
+ using the specified register.
+
+`short'
+ If non-nil, use the short forms \"ESC $ @\", \"ESC $ A\", and
+ \"ESC $ B\" on output in place of the full designation sequences
+ \"ESC $ ( @\", \"ESC $ ( A\", and \"ESC $ ( B\".
+
+`no-ascii-eol'
+ If non-nil, don't designate ASCII to G0 at each end of line on output.
+ Setting this to non-nil also suppresses other state-resetting that
+ normally happens at the end of a line.
+
+`no-ascii-cntl'
+ If non-nil, don't designate ASCII to G0 before control chars on output.
+
+`seven'
+ If non-nil, use 7-bit environment on output. Otherwise, use 8-bit
+ environment.
+
+`lock-shift'
+ If non-nil, use locking-shift (SO/SI) instead of single-shift
+ or designation by escape sequence.
+
+`no-iso6429'
+ If non-nil, don't use ISO6429's direction specification.
+
+`escape-quoted'
+ If non-nil, literal control characters that are the same as
+ the beginning of a recognized ISO2022 or ISO6429 escape sequence
+ (in particular, ESC (0x1B), SO (0x0E), SI (0x0F), SS2 (0x8E),
+ SS3 (0x8F), and CSI (0x9B)) are \"quoted\" with an escape character
+ so that they can be properly distinguished from an escape sequence.
+ (Note that doing this results in a non-portable encoding.) This
+ encoding flag is used for byte-compiled files. Note that ESC
+ is a good choice for a quoting character because there are no
+ escape sequences whose second byte is a character from the Control-0
+ or Control-1 character sets; this is explicitly disallowed by the
+ ISO2022 standard.
+
+`input-charset-conversion'
+ A list of conversion specifications, specifying conversion of
+ characters in one charset to another when decoding is performed.
+ Each specification is a list of two elements: the source charset,
+ and the destination charset.
+
+`output-charset-conversion'
+ A list of conversion specifications, specifying conversion of
+ characters in one charset to another when encoding is performed.
+ The form of each specification is the same as for
+ `input-charset-conversion'.
+
+The following additional properties are recognized if TYPE is
+`fixed-width':
+
+`unicode-map'
+ Required. A plist describing a map from octets in the coding system
+ NAME (as integers) to XEmacs characters. Those XEmacs characters will
+ be used explicitly on decoding, but for encoding (most relevantly, on
+ writing to disk) XEmacs characters that map to the same Unicode code
+ point will be unified. This means that the ISO-8859-? characters that
+ map to the same Unicode code point will not be distinct when written to
+ disk, which is normally what is intended; it also means that East Asian
+ Han characters from different XEmacs character sets will not be
+ distinct when written to disk, which is less often what is intended.
+
+ Any octets not mapped, and with values above #x7f, will be decoded into
+ XEmacs characters that reflect that their values are undefined. These
+ characters will be displayed in a language-environment-specific
+ way. See `unicode-error-default-translation-table' and the
+ `invalid-sequence-coding-system' argument to `set-language-info'.
+
+ These characters will normally be treated as invalid when checking
+ whether text can be encoded with `query-coding-region'--see the
+ IGNORE-INVALID-SEQUENCESP argument to that function to avoid this. It
+ is possible to specify that octets with values less than #x80 (or
+ indeed greater than it) be treated in this way, by specifying
+ explicitly that they correspond to the character mapping to that octet
+ in `unicode-error-default-translation-table'. Far fewer coding systems
+ override the ASCII mapping, though, so this is not the default.
+
+`encode-failure-octet'
+ An integer between 0 and 255 to write in place of XEmacs characters
+ that cannot be encoded, defaulting to the code for tilde `~'.
+
+The following additional properties are recognized (and required)
+if TYPE is `ccl':
+
+`decode'
+ CCL program used for decoding (converting to internal format).
+
+`encode'
+ CCL program used for encoding (converting to external format).
+
+
+The following additional properties are recognized if TYPE is `chain':
+
+`chain'
+ List of coding systems to be chained together, in decoding order.
+
+`canonicalize-after-coding'
+ Coding system to be returned by the detector routines in place of
+ this coding system.
+
+
+
+The following additional properties are recognized if TYPE is `unicode':
+
+`unicode-type'
+ One of `utf-16', `utf-8', `ucs-4', or `utf-7' (the latter is not
+ yet implemented). `utf-16' is the basic two-byte encoding;
+ `ucs-4' is the four-byte encoding; `utf-8' is an ASCII-compatible
+ variable-width 8-bit encoding; `utf-7' is a 7-bit encoding using
+ only characters that will safely pass through all mail gateways.
+ [[ This should be \"transformation format\". There should also be
+ `ucs-2' (or `bmp' -- no surrogates) and `utf-32' (range checked). ]]
+
+`little-endian'
+ If non-nil, `utf-16' and `ucs-4' will write out the groups of two
+ or four bytes little-endian instead of big-endian. This is required,
+ for example, under Windows.
+
+`need-bom'
+ If non-nil, a byte order mark (BOM, or Unicode FFFE) should be
+ written out at the beginning of the data. This serves both to
+ identify the endianness of the following data and to mark the
+ data as Unicode (at least, this is how Windows uses it).
+ [[ The correct term is \"signature\", since this technique may also
+ be used with UTF-8. That is the term used in the standard. ]]
+
+
+The following additional properties are recognized if TYPE is
+`mswindows-multibyte':
+
+`code-page'
+ Either a number (specifying a particular code page) or one of the
+ symbols `ansi', `oem', `mac', or `ebcdic', specifying the ANSI,
+ OEM, Macintosh, or EBCDIC code page associated with a particular
+ locale (given by the `locale' property). NOTE: EBCDIC code pages
+ only exist in Windows 2000 and later.
+
+`locale'
+ If `code-page' is a symbol, this specifies the locale whose code
+ page of the corresponding type should be used. This should be
+ one of the following: A cons of two strings, (LANGUAGE
+ . SUBLANGUAGE) (see `mswindows-set-current-locale'); a string (a
+ language; SUBLANG_DEFAULT, i.e. the default sublanguage, is
+ used); or one of the symbols `current', `user-default', or
+ `system-default', corresponding to the values of
+ `mswindows-current-locale', `mswindows-user-default-locale', or
+ `mswindows-system-default-locale', respectively.
+
+
+The following additional properties are recognized if TYPE is `undecided':
+\[[ Doesn't GNU use \"detect-*\" for the following two? ]]
+
+`do-eol'
+ Do EOL detection.
+
+`do-coding'
+ Do encoding detection.
+
+`coding-system'
+ If encoding detection is not done, use the specified coding system
+ to do decoding. This is used internally when implementing coding
+ systems with an EOL type that specifies autodetection (the default),
+ so that the detector routines return the proper subsidiary.
+
+
+
+The following additional property is recognized if TYPE is `gzip':
+
+`level'
+ Compression level: 0 through 9, or `default' (currently 6)."
+ (when (eq 'fixed-width type)
+ (setq props (fixed-width-rework-props-runtime name props)))
+ (make-coding-system-internal name type description props))
+
+(define-compiler-macro make-coding-system (&whole form name type
+ &optional description props)
+ (if (equal '(quote fixed-width) type)
+ (if (memq (car-safe props) '(quote eval-when-compile))
+ (let* ((props (if (eq 'eval-when-compile (car props))
+ (eval (cadr props))
+ (cadr props)))
+ (encode-failure-octet
+ (or (plist-get props 'encode-failure-octet) (char-to-int ?~)))
+ (unicode-map (plist-get props 'unicode-map))
+ (default-plist-entry (gensym))
+ encode-program decode-program
+ decode-table encode-table
+ skip-chars invalid-sequences-skip-chars category)
+
+ (check-argument-range encode-failure-octet 0 #xFF)
+ ;; unicode-map must be a true list, and must be non-nil.
+ (check-argument-type #'true-list-p unicode-map)
+ (check-argument-type #'consp unicode-map)
+
+ ;; Don't pass on our extra data to make-coding-system-internal.
+ (setq props (plist-remprop props 'encode-failure-octet)
+ props (plist-remprop props 'unicode-map))
+
+ (multiple-value-setq
+ (decode-table encode-table)
+ (fixed-width-create-decode-encode-tables unicode-map))
+
+ ;; Generate the decode and encode programs, and the skip-chars
+ ;; arguments.
+ (setq decode-program
+ (fixed-width-generate-decode-program decode-table)
+ category (fixed-width-choose-category decode-table))
+
+ (multiple-value-setq
+ (encode-program skip-chars invalid-sequences-skip-chars)
+ (fixed-width-generate-encode-program-and-skip-chars-strings
+ decode-table encode-table encode-failure-octet))
+
+ (unless (vectorp decode-program)
+ (setq decode-program
+ (apply #'vector decode-program)))
+
+ (unless (eq default-plist-entry (plist-get props 'encode
+ default-plist-entry))
+ (error
+ 'invalid-argument
+ "Explicit property not allowed for fixed-width coding system"
+ 'encode))
+ (loop for (symbol . value)
+ in `((decode . ,decode-program)
+ (from-unicode . ,encode-table)
+ (query-skip-chars . ,skip-chars)
+ (invalid-sequences-skip-chars .
+ ,invalid-sequences-skip-chars)
+ (category . ,category))
+ do
+ (unless (eq default-plist-entry (plist-get props symbol
+ default-plist-entry))
+ (error
+ 'invalid-argument
+ "Explicit property not allowed for \
+fixed-width coding systems"
+ symbol))
+ (setq props (nconc (list symbol value) props)))
+ `(let ((encode-table-sym (gentemp (format "%S-encode-table"
,name)))
+ (encode-table ,encode-table))
+ (define-translation-hash-table encode-table-sym encode-table)
+ (make-coding-system-internal
+ ,name ,type ,description
+ (nconc (list 'encode
+ (apply #'vector
+ (nsublis
+ (list (cons 'encode-table-sym
+ encode-table-sym))
+ ',encode-program)))
+ ',props))))
+ ;; The form does not use literals; call make-coding-system at
+ ;; run time.
+ form)
+ (if (byte-compile-constp type)
+ ;; This is not a fixed-width call; compile it to a form that 21.4
+ ;; can also understand.
+ `(funcall (or (and (fboundp 'make-coding-system-internal)
+ 'make-coding-system-internal)
+ 'make-coding-system)
+ ,@(cdr form))
+ ;; TYPE is not literal; work things out at runtime.
+ form)))
+
diff -r 9c97a5a8c241 lisp/mule/mule-coding.el
--- a/lisp/mule/mule-coding.el Wed Feb 11 15:30:59 2009 +0000
+++ b/lisp/mule/mule-coding.el Sat Apr 11 14:35:00 2009 +0100
@@ -27,9 +27,6 @@
;;; Commentary:
;;; split off of mule.el and mostly moved to coding.el
-
-;; Needed for make-8-bit-coding-system.
-(eval-when-compile (require 'ccl))
;;; Code:
@@ -222,730 +219,16 @@
(put symbol 'translation-hash-table-id id)
id))
-(defvar make-8-bit-private-use-start (decode-char 'ucs #xE000)
- "Start of a 256 code private use area for make-8-bit-coding-system.
-
-This is used to ensure that distinct octets on disk for a given coding
-system map to distinct XEmacs characters, preventing a spurious changes when
-a file is read, not changed, and then written. ")
-
-(defun make-8-bit-generate-helper (decode-table encode-table
- encode-failure-octet)
- "Helper function,
`make-8-bit-generate-encode-program-and-skip-chars-strings',
-which see.
-
-Deals with the case where ASCII and another character set can both be
-encoded unambiguously and completely into the coding-system; if this is so,
-returns a list comprised of such a ccl-program and the character set in
-question. If not, it returns a list with both entries nil."
- (let ((tentative-encode-program-parts
- (eval-when-compile
- (let* ((vec-len 128)
- (compiled
- (append
- (ccl-compile
- `(1
- (loop
- (read-multibyte-character r0 r1)
- (if (r0 == ,(charset-id 'ascii))
- (write r1)
- ((if (r0 == #xABAB)
- ;; #xBFFE is a sentinel in the compiled
- ;; program.
- ((r0 = r1 & #x7F)
- (write r0 ,(make-vector vec-len #xBFFE)))
- ((mule-to-unicode r0 r1)
- (if (r0 == #xFFFD)
- (write #xBEEF)
- ((lookup-integer encode-table-sym r0 r3)
- (if r7
- (write-multibyte-character r0 r3)
- (write #xBEEF))))))))
- (repeat)))) nil))
- (first-part compiled)
- (last-part
- (member-if-not (lambda (entr) (eq #xBFFE entr))
- (member-if
- (lambda (entr) (eq #xBFFE entr))
- first-part))))
- (while compiled
- (when (eq #xBFFE (cadr compiled))
- (assert (= vec-len (search '(#xBFFE) (cdr compiled)
- :test #'/=)) nil
- "Strange ccl vector length")
- (setcdr compiled nil))
- (setq compiled (cdr compiled)))
- ;; Is the generated code as we expect it to be?
- (assert (and (memq #xABAB first-part)
- (memq #xBEEF14 last-part))
- nil
- "This code assumes that the constant #xBEEF is #xBEEF14 in \
-compiled CCL code,\nand that the constant #xABAB is #xABAB. If that is
-not the case, and it appears not to be--that's why you're getting this
-message--it will not work. ")
- (list first-part last-part vec-len))))
- (charset-lower -1)
- (charset-upper -1)
- worth-trying known-charsets encode-program
- other-charset-vector ucs)
-
- (loop for char across decode-table
- do (pushnew (char-charset char) known-charsets))
- (setq known-charsets (delq 'ascii known-charsets))
-
- (loop for known-charset in known-charsets
- do
- ;; This is not possible for two dimensional charsets.
- (when (eq 1 (charset-dimension known-charset))
- (if (eq 'control-1 known-charset)
- (setq charset-lower 0
- charset-upper 31)
- ;; There should be a nicer way to get the limits here.
- (condition-case args-out-of-range
- (make-char known-charset #x100)
- (args-out-of-range
- (setq charset-lower (third args-out-of-range)
- charset-upper (fourth args-out-of-range)))))
- (loop
- for i from charset-lower to charset-upper
- always (and (setq ucs
- (encode-char (make-char known-charset i) 'ucs))
- (gethash ucs encode-table))
- finally (setq worth-trying known-charset))
-
- ;; Only trying this for one charset at a time, the first find.
- (when worth-trying (return))
-
- ;; Okay, this charset is not worth trying, Try the next.
- (setq charset-lower -1
- charset-upper -1
- worth-trying nil)))
-
- (when worth-trying
- (setq other-charset-vector
- (make-vector (third tentative-encode-program-parts)
- encode-failure-octet))
- (loop for i from charset-lower to charset-upper
- do (aset other-charset-vector i
- (gethash (encode-char (make-char worth-trying i)
- 'ucs) encode-table)))
- (setq encode-program
- (nsublis
- (list (cons #xABAB (charset-id worth-trying)))
- (nconc
- (copy-list (first
- tentative-encode-program-parts))
- (append other-charset-vector nil)
- (copy-tree (second
- tentative-encode-program-parts))))))
- (values encode-program worth-trying)))
-
-(defun make-8-bit-generate-encode-program-and-skip-chars-strings
- (decode-table encode-table encode-failure-octet)
- "Generate a CCL program to encode a 8-bit fixed-width charset.
-
-DECODE-TABLE must have 256 non-cons entries, and will be regarded as
-describing a map from the octet corresponding to an offset in the
-table to the that entry in the table. ENCODE-TABLE is a hash table
-map from unicode values to characters in the range [0,255].
-ENCODE-FAILURE-OCTET describes an integer between 0 and 255
-\(inclusive) to write in the event that a character cannot be encoded. "
- (check-argument-type #'vectorp decode-table)
- (check-argument-range (length decode-table) #x100 #x100)
- (check-argument-type #'hash-table-p encode-table)
- (check-argument-type #'integerp encode-failure-octet)
- (check-argument-range encode-failure-octet #x00 #xFF)
- (let ((encode-program nil)
- (general-encode-program
- (eval-when-compile
- (let ((prog (append
- (ccl-compile
- `(1
- (loop
- (read-multibyte-character r0 r1)
- (mule-to-unicode r0 r1)
- (if (r0 == #xFFFD)
- (write #xBEEF)
- ((lookup-integer encode-table-sym r0 r3)
- (if r7
- (write-multibyte-character r0 r3)
- (write #xBEEF))))
- (repeat)))) nil)))
- (assert (memq #xBEEF14 prog)
- nil
- "This code assumes that the constant #xBEEF is #xBEEF14 \
-in compiled CCL code.\nIf that is not the case, and it appears not to
-be--that's why you're getting this message--it will not work. ")
- prog)))
- (encode-program-with-ascii-optimisation
- (eval-when-compile
- (let ((prog (append
- (ccl-compile
- `(1
- (loop
- (read-multibyte-character r0 r1)
- (if (r0 == ,(charset-id 'ascii))
- (write r1)
- ((mule-to-unicode r0 r1)
- (if (r0 == #xFFFD)
- (write #xBEEF)
- ((lookup-integer encode-table-sym r0 r3)
- (if r7
- (write-multibyte-character r0 r3)
- (write #xBEEF))))))
- (repeat)))) nil)))
- (assert (memq #xBEEF14 prog)
- nil
- "This code assumes that the constant #xBEEF is #xBEEF14 \
-in compiled CCL code.\nIf that is not the case, and it appears not to
-be--that's why you're getting this message--it will not work. ")
- prog)))
- (ascii-encodes-as-itself nil)
- (control-1-encodes-as-itself t)
- (invalid-sequence-code-point-start
- (eval-when-compile
- (char-to-unicode
- (aref (decode-coding-string "\xd8\x00\x00\x00" 'utf-16-be)
3))))
- further-char-set skip-chars invalid-sequences-skip-chars)
-
- ;; Is this coding system ASCII-compatible? If so, we can avoid the hash
- ;; table lookup for those characters.
- (loop
- for i from #x00 to #x7f
- always (eq (int-to-char i) (gethash i encode-table))
- finally (setq ascii-encodes-as-itself t))
-
- ;; Note that this logic handles EBCDIC badly. For example, CP037,
- ;; MIME name ebcdic-na, has the entire repertoire of ASCII and
- ;; Latin 1, and thus a more optimal ccl encode program would check
- ;; for those character sets and use tables. But for now, we do a
- ;; hash table lookup for every character.
- (if (null ascii-encodes-as-itself)
- ;; General encode program. Pros; general and correct. Cons;
- ;; slow, a hash table lookup + mule-unicode conversion is done
- ;; for every character encoding.
- (setq encode-program general-encode-program)
- (multiple-value-setq
- (encode-program further-char-set)
- ;; Encode program with ascii-ascii mapping (based on a
- ;; character's mule character set), and one other mule
- ;; character set using table-based encoding, other
- ;; character sets using hash table lookups.
- ;; make-8-bit-non-ascii-completely-coveredp only returns
- ;; such a mapping if some non-ASCII charset with
- ;; characters in decode-table is entirely covered by
- ;; encode-table.
- (make-8-bit-generate-helper decode-table encode-table
- encode-failure-octet))
- (unless encode-program
- ;; If make-8-bit-non-ascii-completely-coveredp returned nil,
- ;; but ASCII still encodes as itself, do one-to-one mapping
- ;; for ASCII, and a hash table lookup for everything else.
- (setq encode-program encode-program-with-ascii-optimisation)))
-
- (setq encode-program
- (nsublis
- (list (cons #xBEEF14
- (logior (lsh encode-failure-octet 8)
- #x14)))
- (copy-tree encode-program)))
- (loop
- for i from #x80 to #x9f
- do (unless (= i (aref decode-table i))
- (setq control-1-encodes-as-itself nil)
- (return)))
- (loop
- for i from #x00 to #xFF
- initially (setq skip-chars
- (cond
- ((and ascii-encodes-as-itself
- control-1-encodes-as-itself further-char-set)
- (concat "\x00-\x9f" (charset-skip-chars-string
- further-char-set)))
- ((and ascii-encodes-as-itself
- control-1-encodes-as-itself)
- "\x00-\x9f")
- ((null ascii-encodes-as-itself)
- (skip-chars-quote (apply #'string
- (append decode-table nil))))
- (further-char-set
- (concat (charset-skip-chars-string 'ascii)
- (charset-skip-chars-string further-char-set)))
- (t
- (charset-skip-chars-string 'ascii)))
- invalid-sequences-skip-chars "")
- with decoded-ucs = nil
- with decoded = nil
- with no-ascii-transparency-skip-chars-list =
- (unless ascii-encodes-as-itself (append decode-table nil))
- ;; Can't use #'match-string here, see:
- ;;
http://mid.gmane.org/18829.34118.709782.704574@parhasard.net
- with skip-chars-test =
- #'(lambda (skip-chars-string testing)
- (with-temp-buffer
- (insert testing)
- (goto-char (point-min))
- (skip-chars-forward skip-chars-string)
- (= (point) (point-max))))
- do
- (setq decoded (aref decode-table i)
- decoded-ucs (char-to-unicode decoded))
- (cond
- ((<= invalid-sequence-code-point-start decoded-ucs
- (+ invalid-sequence-code-point-start #xFF))
- (setq invalid-sequences-skip-chars
- (concat (string decoded)
- invalid-sequences-skip-chars))
- (assert (not (funcall skip-chars-test skip-chars decoded))
- "This char should only be skipped with \
-`invalid-sequences-skip-chars', not by `skip-chars'"))
- ((not (funcall skip-chars-test skip-chars decoded))
- (if ascii-encodes-as-itself
- (setq skip-chars (concat skip-chars (string decoded)))
- (push decoded no-ascii-transparency-skip-chars-list))))
- finally (unless ascii-encodes-as-itself
- (setq skip-chars
- (skip-chars-quote
- (apply #'string
- no-ascii-transparency-skip-chars-list)))))
- (values encode-program skip-chars invalid-sequences-skip-chars)))
-
-(defun make-8-bit-create-decode-encode-tables (unicode-map)
- "Return a list \(DECODE-TABLE ENCODE-TABLE) given UNICODE-MAP.
-UNICODE-MAP should be an alist mapping from integer octet values to
-characters with UCS code points; DECODE-TABLE will be a 256-element
-vector, and ENCODE-TABLE will be a hash table mapping from 256 numbers
-to 256 distinct characters. "
- (check-argument-type #'listp unicode-map)
- (let ((decode-table (make-vector 256 nil))
- (encode-table (make-hash-table :size 256))
- (private-use-start (encode-char make-8-bit-private-use-start 'ucs))
- (invalid-sequence-code-point-start
- (eval-when-compile
- (char-to-unicode
- (aref (decode-coding-string "\xd8\x00\x00\x00" 'utf-16-be)
3))))
- desired-ucs decode-table-entry)
-
- (loop for (external internal)
- in unicode-map
- do
- (aset decode-table external internal)
- (assert (not (eq (encode-char internal 'ucs) -1))
- nil
- "Looks like you're calling make-8-bit-coding-system in a \
-dumped file, \nand you're either not providing a literal UNICODE-MAP
-or PROPS. Don't do that; make-8-bit-coding-system relies on sensible
-Unicode mappings being available, which they are at compile time for
-dumped files (but this requires the mentioned literals), but not, for
-most of them, at run time. ")
-
- (puthash (encode-char internal 'ucs)
- ;; This is semantically an integer, but Dave Love's design
- ;; for lookup-integer in CCL means we need to store it as a
- ;; character.
- (int-to-char external)
- encode-table))
-
- ;; Now, go through the decode table. For octet values above #x7f, if the
- ;; decode table entry is nil, this means that they have an undefined
- ;; mapping (= they map to XEmacs characters with keys in
- ;; unicode-error-default-translation-table); for octet values below or
- ;; equal to #x7f, it means that they map to ASCII.
-
- ;; If any entry (whether below or above #x7f) in the decode-table
- ;; already maps to some character with a key in
- ;; unicode-error-default-translation-table, it is treated as an
- ;; undefined octet by `query-coding-region'. That is, it is not
- ;; necessary for an octet value to be above #x7f for this to happen.
-
- (dotimes (i 256)
- (setq decode-table-entry (aref decode-table i))
- (if decode-table-entry
- (when (get-char-table
- decode-table-entry
- unicode-error-default-translation-table)
- ;; The caller is explicitly specifying that this octet
- ;; corresponds to an invalid sequence on disk:
- (assert (= (get-char-table
- decode-table-entry
- unicode-error-default-translation-table) i)
- "Bad argument to `make-8-bit-coding-system'.
-If you're going to designate an octet with value below #x80 as invalid
-for this coding system, make sure to map it to the invalid sequence
-character corresponding to its octet value on disk. "))
-
- ;; decode-table-entry is nil; either the octet is to be treated as
- ;; contributing to an error sequence (when (> #x7f i)), or it should
- ;; be attempted to treat it as ASCII-equivalent.
- (setq desired-ucs (or (and (< i #x80) i)
- (+ invalid-sequence-code-point-start i)))
- (while (gethash desired-ucs encode-table)
- (assert (not (< i #x80))
- "UCS code point should not already be in encode-table!"
- ;; There is one invalid sequence char per octet value;
- ;; with eight-bit-fixed coding systems, it makes no sense
- ;; for us to be multiply allocating them.
- (gethash desired-ucs encode-table))
- (setq desired-ucs (+ private-use-start desired-ucs)
- private-use-start (+ private-use-start 1)))
- (puthash desired-ucs (int-to-char i) encode-table)
- (setq desired-ucs (if (> desired-ucs #xFF)
- (unicode-to-char desired-ucs)
- ;; So we get Latin-1 when run at dump time,
- ;; instead of JIT-allocated characters.
- (int-to-char desired-ucs)))
- (aset decode-table i desired-ucs)))
- (values decode-table encode-table)))
-
-(defun make-8-bit-generate-decode-program (decode-table)
- "Given DECODE-TABLE, generate a CCL program to decode an 8-bit charset.
-DECODE-TABLE must have 256 non-cons entries, and will be regarded as
-describing a map from the octet corresponding to an offset in the
-table to the that entry in the table. "
- (check-argument-type #'vectorp decode-table)
- (check-argument-range (length decode-table) #x100 #x100)
- (let ((decode-program-parts
- (eval-when-compile
- (let* ((compiled
- (append
- (ccl-compile
- `(3
- ((read r0)
- (loop
- (write-read-repeat r0 ,(make-vector
- 256 'sentinel)))))) nil))
- (first-part compiled)
- (last-part
- (member-if-not #'symbolp
- (member-if-not #'integerp first-part))))
- ;; Chop off the sentinel sentinel sentinel [..] part.
- (while compiled
- (if (symbolp (cadr compiled))
- (setcdr compiled nil))
- (setq compiled (cdr compiled)))
- (list first-part last-part)))))
- (nconc
- ;; copy-list needed, because the structure of the literal provided
- ;; by our eval-when-compile hangs around.
- (copy-list (first decode-program-parts))
- (append decode-table nil)
- (second decode-program-parts))))
-
-(defun make-8-bit-choose-category (decode-table)
- "Given DECODE-TABLE, return an appropriate coding category.
-DECODE-TABLE is a 256-entry vector describing the mapping from octets on
-disk to XEmacs characters for some fixed-width 8-bit coding system. "
- (check-argument-type #'vectorp decode-table)
- (check-argument-range (length decode-table) #x100 #x100)
- (loop
- named category
- for i from #x80 to #x9F
- do (unless (= i (aref decode-table i))
- (return-from category 'no-conversion))
- finally return 'iso-8-1))
-
-(defun 8-bit-fixed-query-coding-region (begin end coding-system &optional
- buffer ignore-invalid-sequencesp
- errorp highlightp)
- "The `query-coding-region' implementation for 8-bit-fixed coding systems.
-
-Uses the `8-bit-fixed-query-from-unicode' and `8-bit-fixed-query-skip-chars'
-coding system properties. The former is a hash table mapping from valid
-Unicode code points to on-disk octets in the coding system; the latter a set
-of characters as used by `skip-chars-forward'. Both of these properties are
-generated automatically by `make-8-bit-coding-system'.
-
-See that the documentation of `query-coding-region'; see also
-`make-8-bit-coding-system'. "
- (check-argument-type #'coding-system-p
- (setq coding-system (find-coding-system coding-system)))
- (check-argument-type #'integer-or-marker-p begin)
- (check-argument-type #'integer-or-marker-p end)
- (let ((from-unicode
- (or (coding-system-get coding-system '8-bit-fixed-query-from-unicode)
- (coding-system-get (coding-system-base coding-system)
- '8-bit-fixed-query-from-unicode)))
- (skip-chars-arg
- (or (coding-system-get coding-system '8-bit-fixed-query-skip-chars)
- (coding-system-get (coding-system-base coding-system)
- '8-bit-fixed-query-skip-chars)))
- (invalid-sequences-skip-chars
- (or (coding-system-get coding-system
- '8-bit-fixed-invalid-sequences-skip-chars)
- (coding-system-get (coding-system-base coding-system)
- '8-bit-fixed-invalid-sequences-skip-chars)))
- (ranges (make-range-table))
- (case-fold-search nil)
- char-after fail-range-start fail-range-end extent
- failed invalid-sequences-looking-at failed-reason
- previous-failed-reason)
- (check-type from-unicode hash-table)
- (check-type skip-chars-arg string)
- (check-type invalid-sequences-skip-chars string)
- (setq invalid-sequences-looking-at
- (if (equal "" invalid-sequences-skip-chars)
- ;; Regexp that will never match.
- #r".\{0,0\}"
- (concat "[" invalid-sequences-skip-chars "]")))
- (when ignore-invalid-sequencesp
- (setq skip-chars-arg
- (concat skip-chars-arg invalid-sequences-skip-chars)))
- (save-excursion
- (when highlightp
- (query-coding-clear-highlights begin end buffer))
- (goto-char begin buffer)
- (skip-chars-forward skip-chars-arg end buffer)
- (while (< (point buffer) end)
- (setq char-after (char-after (point buffer) buffer)
- fail-range-start (point buffer))
- (while (and
- (< (point buffer) end)
- (or (and
- (not (gethash (encode-char char-after 'ucs) from-unicode))
- (setq failed-reason 'unencodable))
- (and (not ignore-invalid-sequencesp)
- (looking-at invalid-sequences-looking-at buffer)
- (setq failed-reason 'invalid-sequence)))
- (or (null previous-failed-reason)
- (eq previous-failed-reason failed-reason)))
- (forward-char 1 buffer)
- (setq char-after (char-after (point buffer) buffer)
- failed t
- previous-failed-reason failed-reason))
- (if (= fail-range-start (point buffer))
- ;; The character can actually be encoded by the coding
- ;; system; check the characters past it.
- (forward-char 1 buffer)
- ;; The character actually failed.
- (when errorp
- (error 'text-conversion-error
- (format "Cannot encode %s using coding system"
- (buffer-substring fail-range-start (point buffer)
- buffer))
- (coding-system-name coding-system)))
- (assert (not (null previous-failed-reason)) t
- "previous-failed-reason should always be non-nil here")
- (put-range-table fail-range-start
- ;; If char-after is non-nil, we're not at
- ;; the end of the buffer.
- (setq fail-range-end (if char-after
- (point buffer)
- (point-max buffer)))
- previous-failed-reason ranges)
- (setq previous-failed-reason nil)
- (when highlightp
- (setq extent (make-extent fail-range-start fail-range-end buffer))
- (set-extent-priority extent (+ mouse-highlight-priority 2))
- (set-extent-face extent 'query-coding-warning-face))
- (skip-chars-forward skip-chars-arg end buffer)))
- (if failed
- (values nil ranges)
- (values t nil)))))
-
-(defun make-8-bit-coding-system (name unicode-map &optional description props)
- "Make and return a fixed-width 8-bit CCL coding system named NAME.
-NAME must be a symbol, and UNICODE-MAP a list.
-
-UNICODE-MAP is a plist describing a map from octets in the coding
-system NAME (as integers) to XEmacs characters. Those XEmacs
-characters will be used explicitly on decoding, but for encoding (most
-relevantly, on writing to disk) XEmacs characters that map to the same
-Unicode code point will be unified. This means that the ISO-8859-?
-characters that map to the same Unicode code point will not be
-distinct when written to disk, which is normally what is intended; it
-also means that East Asian Han characters from different XEmacs
-character sets will not be distinct when written to disk, which is
-less often what is intended.
-
-Any octets not mapped, and with values above #x7f, will be decoded into
-XEmacs characters that reflect that their values are undefined. These
-characters will be displayed in a language-environment-specific way. See
-`unicode-error-default-translation-table' and the
-`invalid-sequence-coding-system' argument to `set-language-info'.
-
-These characters will normally be treated as invalid when checking whether
-text can be encoded with `query-coding-region'--see the
-IGNORE-INVALID-SEQUENCESP argument to that function to avoid this. It is
-possible to specify that octets with values less than #x80 (or indeed
-greater than it) be treated in this way, by specifying explicitly that they
-correspond to the character mapping to that octet in
-`unicode-error-default-translation-table'. Far fewer coding systems
-override the ASCII mapping, though, so this is not the default.
-
-DESCRIPTION and PROPS are as in `make-coding-system', which see. This
-function also accepts two additional (optional) properties in PROPS;
-`aliases', giving a list of aliases to be initialized for this
-coding-system, and `encode-failure-octet', an integer between 0 and 256 to
-write in place of XEmacs characters that cannot be encoded, defaulting to
-the code for tilde `~'. "
- (check-argument-type #'symbolp name)
- (check-argument-type #'listp unicode-map)
- (check-argument-type #'stringp
- (or description
- (setq description
- (format "Coding system used for %s." name))))
- (check-valid-plist props)
- (let ((encode-failure-octet (or (plist-get props 'encode-failure-octet)
- (char-to-int ?~)))
- (aliases (plist-get props 'aliases))
- (hash-table-sym (gentemp (format "%s-encode-table" name)))
- encode-program decode-program result decode-table encode-table
- skip-chars invalid-sequences-skip-chars)
-
- ;; Some more sanity checking.
- (check-argument-range encode-failure-octet 0 #xFF)
- (check-argument-type #'listp aliases)
-
- ;; Don't pass on our extra data to make-coding-system.
- (setq props (plist-remprop props 'encode-failure-octet)
- props (plist-remprop props 'aliases))
-
- (multiple-value-setq
- (decode-table encode-table)
- (make-8-bit-create-decode-encode-tables unicode-map))
-
- ;; Register the decode-table.
- (define-translation-hash-table hash-table-sym encode-table)
-
- ;; Generate the programs and skip-chars strings.
- (setq decode-program (make-8-bit-generate-decode-program decode-table))
- (multiple-value-setq
- (encode-program skip-chars invalid-sequences-skip-chars)
- (make-8-bit-generate-encode-program-and-skip-chars-strings
- decode-table encode-table encode-failure-octet))
-
- (unless (vectorp encode-program)
- (setq encode-program
- (apply #'vector
- (nsublis (list (cons 'encode-table-sym hash-table-sym))
- (copy-tree encode-program)))))
- (unless (vectorp decode-program)
- (setq decode-program
- (apply #'vector decode-program)))
-
- ;; And now generate the actual coding system.
- (setq result
- (make-coding-system
- name 'ccl
- description
- (plist-put (plist-put props 'decode decode-program)
- 'encode encode-program)))
- (coding-system-put name '8-bit-fixed t)
- (coding-system-put name 'category
- (make-8-bit-choose-category decode-table))
- (coding-system-put name '8-bit-fixed-query-skip-chars
- skip-chars)
- (coding-system-put name '8-bit-fixed-invalid-sequences-skip-chars
- invalid-sequences-skip-chars)
- (coding-system-put name '8-bit-fixed-query-from-unicode encode-table)
- (coding-system-put name 'query-coding-function
- #'8-bit-fixed-query-coding-region)
- (coding-system-put (intern (format "%s-unix" name))
- 'query-coding-function
- #'8-bit-fixed-query-coding-region)
- (coding-system-put (intern (format "%s-dos" name))
- 'query-coding-function
- #'8-bit-fixed-query-coding-region)
- (coding-system-put (intern (format "%s-mac" name))
- 'query-coding-function
- #'8-bit-fixed-query-coding-region)
- (loop for alias in aliases
- do (define-coding-system-alias alias name))
- result))
-
-(define-compiler-macro make-8-bit-coding-system (&whole form name unicode-map
- &optional description props)
- ;; We provide the compiler macro (= macro that is expanded only on
- ;; compilation, and that can punt to a runtime version of the
- ;; associate function if necessary) not for reasons of speed, though
- ;; it does speed up things at runtime a little, but because the
- ;; Unicode mappings are available at compile time in the dumped
- ;; files, but they are not available at run time for the vast
- ;; majority of them.
-
- (if (not (and (and (consp name) (eq (car name) 'quote))
- (and (consp unicode-map) (eq (car unicode-map) 'quote))
- (and (or (and (consp props) (eq (car props) 'quote))
- (null props)))))
- ;; The call does not use literals; do it at runtime.
- form
- (setq name (cadr name)
- unicode-map (cadr unicode-map)
- props (if props (cadr props)))
- (let ((encode-failure-octet
- (or (plist-get props 'encode-failure-octet) (char-to-int ?~)))
- (aliases (plist-get props 'aliases))
- encode-program decode-program
- decode-table encode-table
- skip-chars invalid-sequences-skip-chars)
-
- ;; Some sanity checking.
- (check-argument-range encode-failure-octet 0 #xFF)
- (check-argument-type #'listp aliases)
-
- ;; Don't pass on our extra data to make-coding-system.
- (setq props (plist-remprop props 'encode-failure-octet)
- props (plist-remprop props 'aliases))
-
- ;; Work out encode-table and decode-table
- (multiple-value-setq
- (decode-table encode-table)
- (make-8-bit-create-decode-encode-tables unicode-map))
-
- ;; Generate the decode and encode programs, and the skip-chars
- ;; arguments.
- (setq decode-program (make-8-bit-generate-decode-program decode-table))
- (multiple-value-setq
- (encode-program skip-chars invalid-sequences-skip-chars)
- (make-8-bit-generate-encode-program-and-skip-chars-strings
- decode-table encode-table encode-failure-octet))
-
- ;; And return the generated code.
- `(let ((encode-table-sym (gentemp (format "%s-encode-table"
',name)))
- (encode-table ,encode-table))
- (define-translation-hash-table encode-table-sym encode-table)
- (make-coding-system
- ',name 'ccl ,description
- (plist-put (plist-put ',props 'decode
- ,(apply #'vector decode-program))
- 'encode
- (apply #'vector
- (nsublis
- (list (cons
- 'encode-table-sym
- (symbol-value 'encode-table-sym)))
- ',encode-program))))
- (coding-system-put ',name '8-bit-fixed t)
- (coding-system-put ',name 'category
- ',(make-8-bit-choose-category decode-table))
- (coding-system-put ',name '8-bit-fixed-query-skip-chars
- ,skip-chars)
- (coding-system-put ',name '8-bit-fixed-invalid-sequences-skip-chars
- ,invalid-sequences-skip-chars)
- (coding-system-put ',name '8-bit-fixed-query-from-unicode encode-table)
- (coding-system-put ',name 'query-coding-function
- #'8-bit-fixed-query-coding-region)
- (coding-system-put ',(intern (format "%s-unix" name))
- 'query-coding-function
- #'8-bit-fixed-query-coding-region)
- (coding-system-put ',(intern (format "%s-dos" name))
- 'query-coding-function
- #'8-bit-fixed-query-coding-region)
- (coding-system-put ',(intern (format "%s-mac" name))
- 'query-coding-function
- #'8-bit-fixed-query-coding-region)
- ,(macroexpand `(loop for alias in ',aliases
- do (define-coding-system-alias alias
- ',name)))
- (find-coding-system ',name)))))
-
;; Ideally this would be in latin.el, but code-init.el uses it.
-(make-8-bit-coding-system
+(make-coding-system
'iso-8859-1
- (loop
- for i from #x80 to #xff
- collect (list i (int-char i))) ;; Identical to Latin-1.
+ 'fixed-width
"ISO-8859-1 (Latin-1)"
- '(mnemonic "Latin 1"
- documentation "The most used encoding of Western Europe and the Americas."
- aliases (iso-latin-1 latin-1)))
+ (eval-when-compile
+ `(unicode-map
+ ,(loop
+ for i from #x80 to #xff
+ collect (list i (int-char i))) ;; Identical to Latin-1.
+ mnemonic "Latin 1"
+ documentation "The most used encoding of Western Europe and the
Americas."
+ aliases (iso-latin-1 latin-1))))
diff -r 9c97a5a8c241 lisp/mule/thai-xtis.el
--- a/lisp/mule/thai-xtis.el Wed Feb 11 15:30:59 2009 +0000
+++ b/lisp/mule/thai-xtis.el Sat Apr 11 14:35:00 2009 +0100
@@ -347,23 +347,15 @@
(repeat))))
(write-read-repeat r0))))))
-(if (featurep 'xemacs)
- (progn
- (make-coding-system
- 'tis-620 'ccl
- "TIS620 (Thai)"
- `(mnemonic "TIS620"
- decode ccl-decode-thai-xtis
- encode ccl-encode-thai-xtis
- safe-charsets (ascii thai-xtis)
- documentation "external=tis620, internal=thai-xtis"))
- (coding-system-put 'tis-620 'category 'iso-8-1))
- (make-coding-system
- 'tis-620 4 ?T "external=tis620, internal=thai-xtis"
- '(ccl-decode-thai-xtis . ccl-encode-thai-xtis)
- '((safe-charsets . t)))
- )
-
+(make-coding-system
+ 'tis-620 'ccl
+ "TIS620 (Thai)"
+ `(mnemonic "TIS620"
+ decode ccl-decode-thai-xtis
+ encode ccl-encode-thai-xtis
+ safe-charsets (ascii thai-xtis)
+ documentation "external=tis620, internal=thai-xtis"))
+(coding-system-put 'tis-620 'category 'iso-8-1)
(set-language-info-alist
"Thai-XTIS"
diff -r 9c97a5a8c241 lisp/mule/vietnamese.el
--- a/lisp/mule/vietnamese.el Wed Feb 11 15:30:59 2009 +0000
+++ b/lisp/mule/vietnamese.el Sat Apr 11 14:35:00 2009 +0100
@@ -64,144 +64,144 @@
(modify-category-entry 'vietnamese-viscii-lower ?v)
(modify-category-entry 'vietnamese-viscii-upper ?v)
-(make-8-bit-coding-system
- 'viscii
- '((#x02 ?\u1EB2) ;; CAPITAL LETTER A WITH BREVE AND HOOK ABOVE
- (#x05 ?\u1EB4) ;; CAPITAL LETTER A WITH BREVE AND TILDE
- (#x06 ?\u1EAA) ;; CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE
- (#x14 ?\u1EF6) ;; CAPITAL LETTER Y WITH HOOK ABOVE
- (#x19 ?\u1EF8) ;; CAPITAL LETTER Y WITH TILDE
- (#x1E ?\u1EF4) ;; CAPITAL LETTER Y WITH DOT BELOW
- (#x80 ?\u1EA0) ;; CAPITAL LETTER A WITH DOT BELOW
- (#x81 ?\u1EAE) ;; CAPITAL LETTER A WITH BREVE AND ACUTE
- (#x82 ?\u1EB0) ;; CAPITAL LETTER A WITH BREVE AND GRAVE
- (#x83 ?\u1EB6) ;; CAPITAL LETTER A WITH BREVE AND DOT BELOW
- (#x84 ?\u1EA4) ;; CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE
- (#x85 ?\u1EA6) ;; CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE
- (#x86 ?\u1EA8) ;; CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
- (#x87 ?\u1EAC) ;; CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW
- (#x88 ?\u1EBC) ;; CAPITAL LETTER E WITH TILDE
- (#x89 ?\u1EB8) ;; CAPITAL LETTER E WITH DOT BELOW
- (#x8A ?\u1EBE) ;; CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
- (#x8B ?\u1EC0) ;; CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
- (#x8C ?\u1EC2) ;; CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
- (#x8D ?\u1EC4) ;; CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
- (#x8E ?\u1EC6) ;; CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
- (#x8F ?\u1ED0) ;; CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
- (#x90 ?\u1ED2) ;; CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
- (#x91 ?\u1ED4) ;; CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
- (#x92 ?\u1ED6) ;; CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
- (#x93 ?\u1ED8) ;; CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
- (#x94 ?\u1EE2) ;; CAPITAL LETTER O WITH HORN AND DOT BELOW
- (#x95 ?\u1EDA) ;; CAPITAL LETTER O WITH HORN AND ACUTE
- (#x96 ?\u1EDC) ;; CAPITAL LETTER O WITH HORN AND GRAVE
- (#x97 ?\u1EDE) ;; CAPITAL LETTER O WITH HORN AND HOOK ABOVE
- (#x98 ?\u1ECA) ;; CAPITAL LETTER I WITH DOT BELOW
- (#x99 ?\u1ECE) ;; CAPITAL LETTER O WITH HOOK ABOVE
- (#x9A ?\u1ECC) ;; CAPITAL LETTER O WITH DOT BELOW
- (#x9B ?\u1EC8) ;; CAPITAL LETTER I WITH HOOK ABOVE
- (#x9C ?\u1EE6) ;; CAPITAL LETTER U WITH HOOK ABOVE
- (#x9D ?\u0168) ;; CAPITAL LETTER U WITH TILDE
- (#x9E ?\u1EE4) ;; CAPITAL LETTER U WITH DOT BELOW
- (#x9F ?\u1EF2) ;; CAPITAL LETTER Y WITH GRAVE
- (#xA0 ?\u00D5) ;; CAPITAL LETTER O WITH TILDE
- (#xA1 ?\u1EAF) ;; SMALL LETTER A WITH BREVE AND ACUTE
- (#xA2 ?\u1EB1) ;; SMALL LETTER A WITH BREVE AND GRAVE
- (#xA3 ?\u1EB7) ;; SMALL LETTER A WITH BREVE AND DOT BELOW
- (#xA4 ?\u1EA5) ;; SMALL LETTER A WITH CIRCUMFLEX AND ACUTE
- (#xA5 ?\u1EA7) ;; SMALL LETTER A WITH CIRCUMFLEX AND GRAVE
- (#xA6 ?\u1EA8) ;; CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
- (#xA7 ?\u1EAD) ;; SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW
- (#xA8 ?\u1EBD) ;; SMALL LETTER E WITH TILDE
- (#xA9 ?\u1EB9) ;; SMALL LETTER E WITH DOT BELOW
- (#xAA ?\u1EBF) ;; SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
- (#xAB ?\u1EC1) ;; SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
- (#xAC ?\u1EC3) ;; SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
- (#xAD ?\u1EC5) ;; SMALL LETTER E WITH CIRCUMFLEX AND TILDE
- (#xAE ?\u1EC7) ;; SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
- (#xAF ?\u1ED1) ;; SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
- (#xB0 ?\u1ED3) ;; SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
- (#xB1 ?\u1ED5) ;; SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
- (#xB2 ?\u1ED7) ;; SMALL LETTER O WITH CIRCUMFLEX AND TILDE
- (#xB3 ?\u1EE0) ;; CAPITAL LETTER O WITH HORN AND TILDE
- (#xB4 ?\u01A0) ;; CAPITAL LETTER O WITH HORN
- (#xB5 ?\u1ED9) ;; SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
- (#xB6 ?\u1EDD) ;; SMALL LETTER O WITH HORN AND GRAVE
- (#xB7 ?\u1EDF) ;; SMALL LETTER O WITH HORN AND HOOK ABOVE
- (#xB8 ?\u1ECB) ;; SMALL LETTER I WITH DOT BELOW
- (#xB9 ?\u1EF0) ;; CAPITAL LETTER U WITH HORN AND DOT BELOW
- (#xBA ?\u1EE8) ;; CAPITAL LETTER U WITH HORN AND ACUTE
- (#xBB ?\u1EEA) ;; CAPITAL LETTER U WITH HORN AND GRAVE
- (#xBC ?\u1EEC) ;; CAPITAL LETTER U WITH HORN AND HOOK ABOVE
- (#xBD ?\u01A1) ;; SMALL LETTER O WITH HORN
- (#xBE ?\u1EDB) ;; SMALL LETTER O WITH HORN AND ACUTE
- (#xBF ?\u01AF) ;; CAPITAL LETTER U WITH HORN
- (#xC0 ?\u00C0) ;; CAPITAL LETTER A WITH GRAVE
- (#xC1 ?\u00C1) ;; CAPITAL LETTER A WITH ACUTE
- (#xC2 ?\u00C2) ;; CAPITAL LETTER A WITH CIRCUMFLEX
- (#xC3 ?\u00C3) ;; CAPITAL LETTER A WITH TILDE
- (#xC4 ?\u1EA2) ;; CAPITAL LETTER A WITH HOOK ABOVE
- (#xC5 ?\u0102) ;; CAPITAL LETTER A WITH BREVE
- (#xC6 ?\u1EB3) ;; SMALL LETTER A WITH BREVE AND HOOK ABOVE
- (#xC7 ?\u1EB5) ;; SMALL LETTER A WITH BREVE AND TILDE
- (#xC8 ?\u00C8) ;; CAPITAL LETTER E WITH GRAVE
- (#xC9 ?\u00C9) ;; CAPITAL LETTER E WITH ACUTE
- (#xCA ?\u00CA) ;; CAPITAL LETTER E WITH CIRCUMFLEX
- (#xCB ?\u1EBA) ;; CAPITAL LETTER E WITH HOOK ABOVE
- (#xCC ?\u00CC) ;; CAPITAL LETTER I WITH GRAVE
- (#xCD ?\u00CD) ;; CAPITAL LETTER I WITH ACUTE
- (#xCE ?\u0128) ;; CAPITAL LETTER I WITH TILDE
- (#xCF ?\u1EF3) ;; SMALL LETTER Y WITH GRAVE
- (#xD0 ?\u0110) ;; CAPITAL LETTER D WITH STROKE
- (#xD1 ?\u1EE9) ;; SMALL LETTER U WITH HORN AND ACUTE
- (#xD2 ?\u00D2) ;; CAPITAL LETTER O WITH GRAVE
- (#xD3 ?\u00D3) ;; CAPITAL LETTER O WITH ACUTE
- (#xD4 ?\u00D4) ;; CAPITAL LETTER O WITH CIRCUMFLEX
- (#xD5 ?\u1EA1) ;; SMALL LETTER A WITH DOT BELOW
- (#xD6 ?\u1EF7) ;; SMALL LETTER Y WITH HOOK ABOVE
- (#xD7 ?\u1EEB) ;; SMALL LETTER U WITH HORN AND GRAVE
- (#xD8 ?\u1EED) ;; SMALL LETTER U WITH HORN AND HOOK ABOVE
- (#xD9 ?\u00D9) ;; CAPITAL LETTER U WITH GRAVE
- (#xDA ?\u00DA) ;; CAPITAL LETTER U WITH ACUTE
- (#xDB ?\u1EF9) ;; SMALL LETTER Y WITH TILDE
- (#xDC ?\u1EF5) ;; SMALL LETTER Y WITH DOT BELOW
- (#xDD ?\u00DD) ;; CAPITAL LETTER Y WITH ACUTE
- (#xDE ?\u1EE1) ;; SMALL LETTER O WITH HORN AND TILDE
- (#xDF ?\u01B0) ;; SMALL LETTER U WITH HORN
- (#xE0 ?\u00E0) ;; SMALL LETTER A WITH GRAVE
- (#xE1 ?\u00E1) ;; SMALL LETTER A WITH ACUTE
- (#xE2 ?\u00E2) ;; SMALL LETTER A WITH CIRCUMFLEX
- (#xE3 ?\u00E3) ;; SMALL LETTER A WITH TILDE
- (#xE4 ?\u1EA3) ;; SMALL LETTER A WITH HOOK ABOVE
- (#xE5 ?\u0103) ;; SMALL LETTER A WITH BREVE
- (#xE6 ?\u1EEF) ;; SMALL LETTER U WITH HORN AND TILDE
- (#xE7 ?\u1EAB) ;; SMALL LETTER A WITH CIRCUMFLEX AND TILDE
- (#xE8 ?\u00E8) ;; SMALL LETTER E WITH GRAVE
- (#xE9 ?\u00E9) ;; SMALL LETTER E WITH ACUTE
- (#xEA ?\u00EA) ;; SMALL LETTER E WITH CIRCUMFLEX
- (#xEB ?\u1EBB) ;; SMALL LETTER E WITH HOOK ABOVE
- (#xEC ?\u00EC) ;; SMALL LETTER I WITH GRAVE
- (#xED ?\u00ED) ;; SMALL LETTER I WITH ACUTE
- (#xEE ?\u0129) ;; SMALL LETTER I WITH TILDE
- (#xEF ?\u1EC9) ;; SMALL LETTER I WITH HOOK ABOVE
- (#xF0 ?\u0111) ;; SMALL LETTER D WITH STROKE
- (#xF1 ?\u1EF1) ;; SMALL LETTER U WITH HORN AND DOT BELOW
- (#xF2 ?\u00F2) ;; SMALL LETTER O WITH GRAVE
- (#xF3 ?\u00F3) ;; SMALL LETTER O WITH ACUTE
- (#xF4 ?\u00F4) ;; SMALL LETTER O WITH CIRCUMFLEX
- (#xF5 ?\u00F5) ;; SMALL LETTER O WITH TILDE
- (#xF6 ?\u1ECF) ;; SMALL LETTER O WITH HOOK ABOVE
- (#xF7 ?\u1ECD) ;; SMALL LETTER O WITH DOT BELOW
- (#xF8 ?\u1EE5) ;; SMALL LETTER U WITH DOT BELOW
- (#xF9 ?\u00F9) ;; SMALL LETTER U WITH GRAVE
- (#xFA ?\u00FA) ;; SMALL LETTER U WITH ACUTE
- (#xFB ?\u0169) ;; SMALL LETTER U WITH TILDE
- (#xFC ?\u1EE7) ;; SMALL LETTER U WITH HOOK ABOVE
- (#xFD ?\u00FD) ;; SMALL LETTER Y WITH ACUTE
- (#xFE ?\u1EE3) ;; SMALL LETTER O WITH HORN AND DOT BELOW
- (#xFF ?\u1EEE)) ;; CAPITAL LETTER U WITH HORN AND TILDE
- "VISCII 1.1 (Vietnamese)"
- '(mnemonic "VISCII"))
+(make-coding-system
+ 'viscii 'fixed-width "VISCII 1.1 (Vietnamese)"
+ '(unicode-map
+ ((#x02 ?\u1EB2) ;; CAPITAL LETTER A WITH BREVE AND HOOK ABOVE
+ (#x05 ?\u1EB4) ;; CAPITAL LETTER A WITH BREVE AND TILDE
+ (#x06 ?\u1EAA) ;; CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE
+ (#x14 ?\u1EF6) ;; CAPITAL LETTER Y WITH HOOK ABOVE
+ (#x19 ?\u1EF8) ;; CAPITAL LETTER Y WITH TILDE
+ (#x1E ?\u1EF4) ;; CAPITAL LETTER Y WITH DOT BELOW
+ (#x80 ?\u1EA0) ;; CAPITAL LETTER A WITH DOT BELOW
+ (#x81 ?\u1EAE) ;; CAPITAL LETTER A WITH BREVE AND ACUTE
+ (#x82 ?\u1EB0) ;; CAPITAL LETTER A WITH BREVE AND GRAVE
+ (#x83 ?\u1EB6) ;; CAPITAL LETTER A WITH BREVE AND DOT BELOW
+ (#x84 ?\u1EA4) ;; CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE
+ (#x85 ?\u1EA6) ;; CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE
+ (#x86 ?\u1EA8) ;; CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
+ (#x87 ?\u1EAC) ;; CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW
+ (#x88 ?\u1EBC) ;; CAPITAL LETTER E WITH TILDE
+ (#x89 ?\u1EB8) ;; CAPITAL LETTER E WITH DOT BELOW
+ (#x8A ?\u1EBE) ;; CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+ (#x8B ?\u1EC0) ;; CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+ (#x8C ?\u1EC2) ;; CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+ (#x8D ?\u1EC4) ;; CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
+ (#x8E ?\u1EC6) ;; CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+ (#x8F ?\u1ED0) ;; CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
+ (#x90 ?\u1ED2) ;; CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
+ (#x91 ?\u1ED4) ;; CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+ (#x92 ?\u1ED6) ;; CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
+ (#x93 ?\u1ED8) ;; CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+ (#x94 ?\u1EE2) ;; CAPITAL LETTER O WITH HORN AND DOT BELOW
+ (#x95 ?\u1EDA) ;; CAPITAL LETTER O WITH HORN AND ACUTE
+ (#x96 ?\u1EDC) ;; CAPITAL LETTER O WITH HORN AND GRAVE
+ (#x97 ?\u1EDE) ;; CAPITAL LETTER O WITH HORN AND HOOK ABOVE
+ (#x98 ?\u1ECA) ;; CAPITAL LETTER I WITH DOT BELOW
+ (#x99 ?\u1ECE) ;; CAPITAL LETTER O WITH HOOK ABOVE
+ (#x9A ?\u1ECC) ;; CAPITAL LETTER O WITH DOT BELOW
+ (#x9B ?\u1EC8) ;; CAPITAL LETTER I WITH HOOK ABOVE
+ (#x9C ?\u1EE6) ;; CAPITAL LETTER U WITH HOOK ABOVE
+ (#x9D ?\u0168) ;; CAPITAL LETTER U WITH TILDE
+ (#x9E ?\u1EE4) ;; CAPITAL LETTER U WITH DOT BELOW
+ (#x9F ?\u1EF2) ;; CAPITAL LETTER Y WITH GRAVE
+ (#xA0 ?\u00D5) ;; CAPITAL LETTER O WITH TILDE
+ (#xA1 ?\u1EAF) ;; SMALL LETTER A WITH BREVE AND ACUTE
+ (#xA2 ?\u1EB1) ;; SMALL LETTER A WITH BREVE AND GRAVE
+ (#xA3 ?\u1EB7) ;; SMALL LETTER A WITH BREVE AND DOT BELOW
+ (#xA4 ?\u1EA5) ;; SMALL LETTER A WITH CIRCUMFLEX AND ACUTE
+ (#xA5 ?\u1EA7) ;; SMALL LETTER A WITH CIRCUMFLEX AND GRAVE
+ (#xA6 ?\u1EA8) ;; CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
+ (#xA7 ?\u1EAD) ;; SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW
+ (#xA8 ?\u1EBD) ;; SMALL LETTER E WITH TILDE
+ (#xA9 ?\u1EB9) ;; SMALL LETTER E WITH DOT BELOW
+ (#xAA ?\u1EBF) ;; SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+ (#xAB ?\u1EC1) ;; SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+ (#xAC ?\u1EC3) ;; SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+ (#xAD ?\u1EC5) ;; SMALL LETTER E WITH CIRCUMFLEX AND TILDE
+ (#xAE ?\u1EC7) ;; SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+ (#xAF ?\u1ED1) ;; SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
+ (#xB0 ?\u1ED3) ;; SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
+ (#xB1 ?\u1ED5) ;; SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+ (#xB2 ?\u1ED7) ;; SMALL LETTER O WITH CIRCUMFLEX AND TILDE
+ (#xB3 ?\u1EE0) ;; CAPITAL LETTER O WITH HORN AND TILDE
+ (#xB4 ?\u01A0) ;; CAPITAL LETTER O WITH HORN
+ (#xB5 ?\u1ED9) ;; SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+ (#xB6 ?\u1EDD) ;; SMALL LETTER O WITH HORN AND GRAVE
+ (#xB7 ?\u1EDF) ;; SMALL LETTER O WITH HORN AND HOOK ABOVE
+ (#xB8 ?\u1ECB) ;; SMALL LETTER I WITH DOT BELOW
+ (#xB9 ?\u1EF0) ;; CAPITAL LETTER U WITH HORN AND DOT BELOW
+ (#xBA ?\u1EE8) ;; CAPITAL LETTER U WITH HORN AND ACUTE
+ (#xBB ?\u1EEA) ;; CAPITAL LETTER U WITH HORN AND GRAVE
+ (#xBC ?\u1EEC) ;; CAPITAL LETTER U WITH HORN AND HOOK ABOVE
+ (#xBD ?\u01A1) ;; SMALL LETTER O WITH HORN
+ (#xBE ?\u1EDB) ;; SMALL LETTER O WITH HORN AND ACUTE
+ (#xBF ?\u01AF) ;; CAPITAL LETTER U WITH HORN
+ (#xC0 ?\u00C0) ;; CAPITAL LETTER A WITH GRAVE
+ (#xC1 ?\u00C1) ;; CAPITAL LETTER A WITH ACUTE
+ (#xC2 ?\u00C2) ;; CAPITAL LETTER A WITH CIRCUMFLEX
+ (#xC3 ?\u00C3) ;; CAPITAL LETTER A WITH TILDE
+ (#xC4 ?\u1EA2) ;; CAPITAL LETTER A WITH HOOK ABOVE
+ (#xC5 ?\u0102) ;; CAPITAL LETTER A WITH BREVE
+ (#xC6 ?\u1EB3) ;; SMALL LETTER A WITH BREVE AND HOOK ABOVE
+ (#xC7 ?\u1EB5) ;; SMALL LETTER A WITH BREVE AND TILDE
+ (#xC8 ?\u00C8) ;; CAPITAL LETTER E WITH GRAVE
+ (#xC9 ?\u00C9) ;; CAPITAL LETTER E WITH ACUTE
+ (#xCA ?\u00CA) ;; CAPITAL LETTER E WITH CIRCUMFLEX
+ (#xCB ?\u1EBA) ;; CAPITAL LETTER E WITH HOOK ABOVE
+ (#xCC ?\u00CC) ;; CAPITAL LETTER I WITH GRAVE
+ (#xCD ?\u00CD) ;; CAPITAL LETTER I WITH ACUTE
+ (#xCE ?\u0128) ;; CAPITAL LETTER I WITH TILDE
+ (#xCF ?\u1EF3) ;; SMALL LETTER Y WITH GRAVE
+ (#xD0 ?\u0110) ;; CAPITAL LETTER D WITH STROKE
+ (#xD1 ?\u1EE9) ;; SMALL LETTER U WITH HORN AND ACUTE
+ (#xD2 ?\u00D2) ;; CAPITAL LETTER O WITH GRAVE
+ (#xD3 ?\u00D3) ;; CAPITAL LETTER O WITH ACUTE
+ (#xD4 ?\u00D4) ;; CAPITAL LETTER O WITH CIRCUMFLEX
+ (#xD5 ?\u1EA1) ;; SMALL LETTER A WITH DOT BELOW
+ (#xD6 ?\u1EF7) ;; SMALL LETTER Y WITH HOOK ABOVE
+ (#xD7 ?\u1EEB) ;; SMALL LETTER U WITH HORN AND GRAVE
+ (#xD8 ?\u1EED) ;; SMALL LETTER U WITH HORN AND HOOK ABOVE
+ (#xD9 ?\u00D9) ;; CAPITAL LETTER U WITH GRAVE
+ (#xDA ?\u00DA) ;; CAPITAL LETTER U WITH ACUTE
+ (#xDB ?\u1EF9) ;; SMALL LETTER Y WITH TILDE
+ (#xDC ?\u1EF5) ;; SMALL LETTER Y WITH DOT BELOW
+ (#xDD ?\u00DD) ;; CAPITAL LETTER Y WITH ACUTE
+ (#xDE ?\u1EE1) ;; SMALL LETTER O WITH HORN AND TILDE
+ (#xDF ?\u01B0) ;; SMALL LETTER U WITH HORN
+ (#xE0 ?\u00E0) ;; SMALL LETTER A WITH GRAVE
+ (#xE1 ?\u00E1) ;; SMALL LETTER A WITH ACUTE
+ (#xE2 ?\u00E2) ;; SMALL LETTER A WITH CIRCUMFLEX
+ (#xE3 ?\u00E3) ;; SMALL LETTER A WITH TILDE
+ (#xE4 ?\u1EA3) ;; SMALL LETTER A WITH HOOK ABOVE
+ (#xE5 ?\u0103) ;; SMALL LETTER A WITH BREVE
+ (#xE6 ?\u1EEF) ;; SMALL LETTER U WITH HORN AND TILDE
+ (#xE7 ?\u1EAB) ;; SMALL LETTER A WITH CIRCUMFLEX AND TILDE
+ (#xE8 ?\u00E8) ;; SMALL LETTER E WITH GRAVE
+ (#xE9 ?\u00E9) ;; SMALL LETTER E WITH ACUTE
+ (#xEA ?\u00EA) ;; SMALL LETTER E WITH CIRCUMFLEX
+ (#xEB ?\u1EBB) ;; SMALL LETTER E WITH HOOK ABOVE
+ (#xEC ?\u00EC) ;; SMALL LETTER I WITH GRAVE
+ (#xED ?\u00ED) ;; SMALL LETTER I WITH ACUTE
+ (#xEE ?\u0129) ;; SMALL LETTER I WITH TILDE
+ (#xEF ?\u1EC9) ;; SMALL LETTER I WITH HOOK ABOVE
+ (#xF0 ?\u0111) ;; SMALL LETTER D WITH STROKE
+ (#xF1 ?\u1EF1) ;; SMALL LETTER U WITH HORN AND DOT BELOW
+ (#xF2 ?\u00F2) ;; SMALL LETTER O WITH GRAVE
+ (#xF3 ?\u00F3) ;; SMALL LETTER O WITH ACUTE
+ (#xF4 ?\u00F4) ;; SMALL LETTER O WITH CIRCUMFLEX
+ (#xF5 ?\u00F5) ;; SMALL LETTER O WITH TILDE
+ (#xF6 ?\u1ECF) ;; SMALL LETTER O WITH HOOK ABOVE
+ (#xF7 ?\u1ECD) ;; SMALL LETTER O WITH DOT BELOW
+ (#xF8 ?\u1EE5) ;; SMALL LETTER U WITH DOT BELOW
+ (#xF9 ?\u00F9) ;; SMALL LETTER U WITH GRAVE
+ (#xFA ?\u00FA) ;; SMALL LETTER U WITH ACUTE
+ (#xFB ?\u0169) ;; SMALL LETTER U WITH TILDE
+ (#xFC ?\u1EE7) ;; SMALL LETTER U WITH HOOK ABOVE
+ (#xFD ?\u00FD) ;; SMALL LETTER Y WITH ACUTE
+ (#xFE ?\u1EE3) ;; SMALL LETTER O WITH HORN AND DOT BELOW
+ (#xFF ?\u1EEE)) ;; CAPITAL LETTER U WITH HORN AND TILDE
+ mnemonic "VISCII"))
(set-language-info-alist
"Vietnamese" '((charset vietnamese-viscii-lower vietnamese-viscii-upper)
diff -r 9c97a5a8c241 lisp/unicode.el
--- a/lisp/unicode.el Wed Feb 11 15:30:59 2009 +0000
+++ b/lisp/unicode.el Sat Apr 11 14:35:00 2009 +0100
@@ -164,6 +164,68 @@
latin-jisx0201 chinese-cns11643-3 chinese-cns11643-4
chinese-cns11643-5 chinese-cns11643-6 chinese-cns11643-7)))))
+(defconst ccl-encode-to-ucs-2
+ (eval-when-compile
+ (let ((pre-existing
+ ;; This is the compiled CCL program from the assert
+ ;; below. Since this file is dumped and ccl.el isn't (and
+ ;; even when it was, it was dumped much later than this
+ ;; one), we can't compile the program at dump time. We can
+ ;; check at byte compile time that the program is as
+ ;; expected, though.
+ [1 16 131127 7 98872 65823 1307 5 -65536 65313 64833 1028
+ 147513 8 82009 255 22]))
+ (when (featurep 'mule)
+ ;; Check that the pre-existing constant reflects the intended
+ ;; CCL program.
+ (assert
+ (equal pre-existing
+ (ccl-compile
+ `(1
+ ( ;; mule-to-unicode's first argument is the
+ ;; charset ID, the second its first byte
+ ;; left shifted by 7 bits masked with its
+ ;; second byte.
+ (r1 = (r1 << 7))
+ (r1 = (r1 | r2))
+ (mule-to-unicode r0 r1)
+ (if (r0 & ,(lognot #xFFFF))
+ ;; Redisplay looks in r1 and r2 for the first
+ ;; and second bytes of the X11 font,
+ ;; respectively. For non-BMP characters we
+ ;; display U+FFFD.
+ ((r1 = #xFF)
+ (r2 = #xFD))
+ ((r1 = (r0 >> 8))
+ (r2 = (r0 & #xFF))))))))
+ nil
+ "The pre-compiled CCL program appears broken. "))
+ pre-existing))
+ "CCL program to transform Mule characters to UCS-2.")
+
+(when (featurep 'mule)
+ (put 'ccl-encode-to-ucs-2 'ccl-program-idx
+ (declare-fboundp
+ (register-ccl-program 'ccl-encode-to-ucs-2 ccl-encode-to-ucs-2))))
+
+(defun decode-char (quote-ucs code &optional restriction)
+ "FSF compatibility--return Mule character with Unicode codepoint CODE.
+The second argument must be 'ucs, the third argument is ignored. "
+ ;; We're prepared to accept invalid Unicode in unicode-to-char, but not in
+ ;; this function, which is the API that should actually be used, since
+ ;; it's available in GNU and in Mule-UCS.
+ (check-argument-range code #x0 #x10FFFF)
+ (assert (eq quote-ucs 'ucs) t
+ "Sorry, decode-char doesn't yet support anything but the UCS. ")
+ (unicode-to-char code))
+
+(defun encode-char (char quote-ucs &optional restriction)
+ "FSF compatibility--return the Unicode code point of CHAR.
+The second argument must be 'ucs, the third argument is ignored. "
+ (assert (eq quote-ucs 'ucs) t
+ "Sorry, encode-char doesn't yet support anything but the UCS. ")
+ (char-to-unicode char))
+
(make-coding-system
'utf-16 'unicode
"UTF-16"
@@ -308,68 +370,6 @@
unicode-type utf-8
little-endian t
need-bom t))
-
-(defun decode-char (quote-ucs code &optional restriction)
- "FSF compatibility--return Mule character with Unicode codepoint CODE.
-The second argument must be 'ucs, the third argument is ignored. "
- ;; We're prepared to accept invalid Unicode in unicode-to-char, but not in
- ;; this function, which is the API that should actually be used, since
- ;; it's available in GNU and in Mule-UCS.
- (check-argument-range code #x0 #x10FFFF)
- (assert (eq quote-ucs 'ucs) t
- "Sorry, decode-char doesn't yet support anything but the UCS. ")
- (unicode-to-char code))
-
-(defun encode-char (char quote-ucs &optional restriction)
- "FSF compatibility--return the Unicode code point of CHAR.
-The second argument must be 'ucs, the third argument is ignored. "
- (assert (eq quote-ucs 'ucs) t
- "Sorry, encode-char doesn't yet support anything but the UCS. ")
- (char-to-unicode char))
-
-(defconst ccl-encode-to-ucs-2
- (eval-when-compile
- (let ((pre-existing
- ;; This is the compiled CCL program from the assert
- ;; below. Since this file is dumped and ccl.el isn't (and
- ;; even when it was, it was dumped much later than this
- ;; one), we can't compile the program at dump time. We can
- ;; check at byte compile time that the program is as
- ;; expected, though.
- [1 16 131127 7 98872 65823 1307 5 -65536 65313 64833 1028
- 147513 8 82009 255 22]))
- (when (featurep 'mule)
- ;; Check that the pre-existing constant reflects the intended
- ;; CCL program.
- (assert
- (equal pre-existing
- (ccl-compile
- `(1
- ( ;; mule-to-unicode's first argument is the
- ;; charset ID, the second its first byte
- ;; left shifted by 7 bits masked with its
- ;; second byte.
- (r1 = (r1 << 7))
- (r1 = (r1 | r2))
- (mule-to-unicode r0 r1)
- (if (r0 & ,(lognot #xFFFF))
- ;; Redisplay looks in r1 and r2 for the first
- ;; and second bytes of the X11 font,
- ;; respectively. For non-BMP characters we
- ;; display U+FFFD.
- ((r1 = #xFF)
- (r2 = #xFD))
- ((r1 = (r0 >> 8))
- (r2 = (r0 & #xFF))))))))
- nil
- "The pre-compiled CCL program appears broken. "))
- pre-existing))
- "CCL program to transform Mule characters to UCS-2.")
-
-(when (featurep 'mule)
- (put 'ccl-encode-to-ucs-2 'ccl-program-idx
- (declare-fboundp
- (register-ccl-program 'ccl-encode-to-ucs-2 ccl-encode-to-ucs-2))))
;; Now, create jit-ucs-charset-0 entries for those characters in Windows
;; Glyph List 4 that would otherwise end up in East Asian character sets.
diff -r 9c97a5a8c241 lisp/update-elc.el
--- a/lisp/update-elc.el Wed Feb 11 15:30:59 2009 +0000
+++ b/lisp/update-elc.el Sat Apr 11 14:35:00 2009 +0100
@@ -122,9 +122,11 @@
Files in `additional-dump-dependencies' do not need to be listed here.")
(defvar additional-dump-dependencies
- '("loadup.el"
- "loadup-el.el"
- "update-elc.el")
+ (nconc '("loadup.el"
+ "loadup-el.el"
+ "update-elc.el")
+ (if (featurep 'mule)
+ '("mule/make-coding-system")))
"Lisp files that are not dumped but which the dump depends on.
If any of these files are changed, we need to redump.")
diff -r 9c97a5a8c241 src/extents.h
--- a/src/extents.h Wed Feb 11 15:30:59 2009 +0000
+++ b/src/extents.h Sat Apr 11 14:35:00 2009 +0100
@@ -147,6 +147,8 @@
extern int inside_undo;
extern int in_modeline_generation;
+extern Fixnum mouse_highlight_priority;
+
EXFUN (Fextent_at, 5);
EXFUN (Fextent_property, 3);
EXFUN (Fput_text_property, 5);
@@ -164,6 +166,9 @@
EXFUN (Fset_extent_endpoints, 4);
EXFUN (Fset_extent_parent, 2);
EXFUN (Fset_extent_property, 3);
+EXFUN (Fset_extent_priority, 2);
+EXFUN (Fset_extent_face, 2);
+EXFUN (Fmap_extents, 8);
enum extent_at_flag
{
diff -r 9c97a5a8c241 src/file-coding.c
--- a/src/file-coding.c Wed Feb 11 15:30:59 2009 +0000
+++ b/src/file-coding.c Sat Apr 11 14:35:00 2009 +0100
@@ -88,6 +88,10 @@
Lisp_Object Vcoding_system_for_read;
Lisp_Object Vcoding_system_for_write;
Lisp_Object Vfile_name_coding_system;
+
+Lisp_Object Qquery_coding_warning_face;
+Lisp_Object Qquery_coding_clear_highlights;
+Lisp_Object Qaliases;
#ifdef DEBUG_XEMACS
Lisp_Object Vdebug_coding_detection;
@@ -1030,7 +1034,7 @@
enum eol_type eol_wrapper = EOL_AUTODETECT;
struct coding_system_methods *meths;
Lisp_Object csobj;
- Lisp_Object defmnem = Qnil;
+ Lisp_Object defmnem = Qnil, aliases = Qnil;
if (NILP (type))
type = Qundecided;
@@ -1119,6 +1123,10 @@
CODING_SYSTEM_POST_READ_CONVERSION (cs) = value;
else if (EQ (key, Qpre_write_conversion))
CODING_SYSTEM_PRE_WRITE_CONVERSION (cs) = value;
+ else if (EQ (key, Qaliases))
+ {
+ aliases = value;
+ }
/* FSF compatibility */
else if (EQ (key, Qtranslation_table_for_decode))
;
@@ -1128,6 +1136,14 @@
CODING_SYSTEM_SAFE_CHARS (cs) = value;
else if (EQ (key, Qsafe_charsets))
CODING_SYSTEM_SAFE_CHARSETS (cs) = value;
+ else if (EQ (key, Qcategory))
+ {
+ Fput (name_or_existing, intern ("coding-system-property"),
+ Fplist_put (Fget (name_or_existing,
+ intern ("coding-system-property"),
+ Qnil),
+ Qcategory, value));
+ }
else if (EQ (key, Qmime_charset))
;
else if (EQ (key, Qvalid_codes))
@@ -1186,6 +1202,11 @@
csobj));
}
XCODING_SYSTEM_EOL_TYPE (csobj) = eol_wrapper;
+
+ {
+ EXTERNAL_LIST_LOOP_2 (alias, aliases)
+ Fdefine_coding_system_alias (alias, csobj);
+ }
}
return csobj;
@@ -1199,340 +1220,9 @@
return make_coding_system_1 (existing, prefix, type, description, props);
}
-DEFUN ("make-coding-system", Fmake_coding_system, 2, 4, 0, /*
-Register symbol NAME as a coding system.
-
-TYPE describes the conversion method used and should be one of
-
-nil or `undecided'
- Automatic conversion. XEmacs attempts to detect the coding system
- used in the file.
-`chain'
- Chain two or more coding systems together to make a combination coding
- system.
-`no-conversion'
- No conversion. Use this for binary files and such. On output,
- graphic characters that are not in ASCII or Latin-1 will be
- replaced by a ?. (For a no-conversion-encoded buffer, these
- characters will only be present if you explicitly insert them.)
-`convert-eol'
- Convert CRLF sequences or CR to LF.
-`shift-jis'
- Shift-JIS (a Japanese encoding commonly used in PC operating systems).
-`unicode'
- Any Unicode encoding (UCS-4, UTF-8, UTF-16, etc.).
-`mswindows-unicode-to-multibyte'
- (MS Windows only) Converts from Windows Unicode to Windows Multibyte
- (any code page encoding) upon encoding, and the other way upon decoding.
-`mswindows-multibyte'
- Converts to or from Windows Multibyte (any code page encoding).
- This is resolved into a chain of `mswindows-unicode' and
- `mswindows-unicode-to-multibyte'.
-`iso2022'
- Any ISO2022-compliant encoding. Among other things, this includes
- JIS (the Japanese encoding commonly used for e-mail), EUC (the
- standard Unix encoding for Japanese and other languages), and
- Compound Text (the encoding used in X11). You can specify more
- specific information about the conversion with the PROPS argument.
-`big5'
- Big5 (the encoding commonly used for Mandarin Chinese in Taiwan).
-`ccl'
- The conversion is performed using a user-written pseudo-code
- program. CCL (Code Conversion Language) is the name of this
- pseudo-code.
-`gzip'
- GZIP compression format.
-`internal'
- Write out or read in the raw contents of the memory representing
- the buffer's text. This is primarily useful for debugging
- purposes, and is only enabled when XEmacs has been compiled with
- DEBUG_XEMACS defined (via the --debug configure option).
- WARNING: Reading in a file using `internal' conversion can result
- in an internal inconsistency in the memory representing a
- buffer's text, which will produce unpredictable results and may
- cause XEmacs to crash. Under normal circumstances you should
- never use `internal' conversion.
-
-DESCRIPTION is a short English phrase describing the coding system,
-suitable for use as a menu item. (See also the `documentation' property
-below.)
-
-PROPS is a property list, describing the specific nature of the
-character set. Recognized properties are:
-
-`mnemonic'
- String to be displayed in the modeline when this coding system is
- active.
-
-`documentation'
- Detailed documentation on the coding system.
-
-`eol-type'
- End-of-line conversion to be used. It should be one of
-
- nil
- Automatically detect the end-of-line type (LF, CRLF,
- or CR). Also generate subsidiary coding systems named
- `NAME-unix', `NAME-dos', and `NAME-mac', that are
- identical to this coding system but have an EOL-TYPE
- value of `lf', `crlf', and `cr', respectively.
- `lf'
- The end of a line is marked externally using ASCII LF.
- Since this is also the way that XEmacs represents an
- end-of-line internally, specifying this option results
- in no end-of-line conversion. This is the standard
- format for Unix text files.
- `crlf'
- The end of a line is marked externally using ASCII
- CRLF. This is the standard format for MS-DOS text
- files.
- `cr'
- The end of a line is marked externally using ASCII CR.
- This is the standard format for Macintosh text files.
- t
- Automatically detect the end-of-line type but do not
- generate subsidiary coding systems. (This value is
- converted to nil when stored internally, and
- `coding-system-property' will return nil.)
-
-`post-read-conversion'
- The value is a function to call after some text is inserted and
- decoded by the coding system itself and before any functions in
- `after-change-functions' are called. (#### Not actually true in
- XEmacs. `after-change-functions' will be called twice if
- `post-read-conversion' changes something.) The argument of this
- function is the same as for a function in
- `after-insert-file-functions', i.e. LENGTH of the text inserted,
- with point at the head of the text to be decoded.
-
-`pre-write-conversion'
- The value is a function to call after all functions in
- `write-region-annotate-functions' and `buffer-file-format' are
- called, and before the text is encoded by the coding system itself.
- The arguments to this function are the same as those of a function
- in `write-region-annotate-functions', i.e. FROM and TO, specifying
- a region of text.
-
-
-
-The following properties are allowed for FSF compatibility but currently
-ignored:
-
-`translation-table-for-decode'
- The value is a translation table to be applied on decoding. See
- the function `make-translation-table' for the format of translation
- table. This is not applicable to CCL-based coding systems.
-
-`translation-table-for-encode'
- The value is a translation table to be applied on encoding. This is
- not applicable to CCL-based coding systems.
-
-`mime-charset'
- The value is a symbol of which name is `MIME-charset' parameter of
- the coding system.
-
-`valid-codes' (meaningful only for a coding system based on CCL)
- The value is a list to indicate valid byte ranges of the encoded
- file. Each element of the list is an integer or a cons of integer.
- In the former case, the integer value is a valid byte code. In the
- latter case, the integers specifies the range of valid byte codes.
-
-The following properties are used by `default-query-coding-region',
-the default implementation of `query-coding-region'. This
-implementation and these properties are not used by the Unicode coding
-systems, nor by those CCL coding systems created with
-`make-8-bit-coding-system'.
-
-`safe-chars'
- The value is a char table. If a character has non-nil value in it,
- the character is safely supported by the coding system.
- Under XEmacs, for the moment, this is used in addition to the
- `safe-charsets' property. It does not override it as it does
- under GNU Emacs. #### We need to consider if we should keep this
- behaviour.
-
-`safe-charsets'
- The value is a list of charsets safely supported by the coding
- system. For coding systems based on ISO 2022, XEmacs may try to
- encode characters outside these character sets, but outside of
- East Asia and East Asian coding systems, it is unlikely that
- consumers of the data will understand XEmacs' encoding.
- The value t means that all XEmacs character sets handles are supported.
-
-The following additional property is recognized if TYPE is `convert-eol':
-
-`subtype'
- One of `lf', `crlf', `cr' or nil (for autodetection). When decoding,
- the corresponding sequence will be converted to LF. When encoding,
- the opposite happens. This coding system converts characters to
- characters.
-
-
-
-The following additional properties are recognized if TYPE is `iso2022':
-
-`charset-g0'
-`charset-g1'
-`charset-g2'
-`charset-g3'
- The character set initially designated to the G0 - G3 registers.
- The value should be one of
-
- -- A charset object (designate that character set)
- -- nil (do not ever use this register)
- -- t (no character set is initially designated to
- the register, but may be later on; this automatically
- sets the corresponding `force-g*-on-output' property)
-
-`force-g0-on-output'
-`force-g1-on-output'
-`force-g2-on-output'
-`force-g2-on-output'
- If non-nil, send an explicit designation sequence on output before
- using the specified register.
-
-`short'
- If non-nil, use the short forms "ESC $ @", "ESC $ A", and
- "ESC $ B" on output in place of the full designation sequences
- "ESC $ ( @", "ESC $ ( A", and "ESC $ ( B".
-
-`no-ascii-eol'
- If non-nil, don't designate ASCII to G0 at each end of line on output.
- Setting this to non-nil also suppresses other state-resetting that
- normally happens at the end of a line.
-
-`no-ascii-cntl'
- If non-nil, don't designate ASCII to G0 before control chars on output.
-
-`seven'
- If non-nil, use 7-bit environment on output. Otherwise, use 8-bit
- environment.
-
-`lock-shift'
- If non-nil, use locking-shift (SO/SI) instead of single-shift
- or designation by escape sequence.
-
-`no-iso6429'
- If non-nil, don't use ISO6429's direction specification.
-
-`escape-quoted'
- If non-nil, literal control characters that are the same as
- the beginning of a recognized ISO2022 or ISO6429 escape sequence
- (in particular, ESC (0x1B), SO (0x0E), SI (0x0F), SS2 (0x8E),
- SS3 (0x8F), and CSI (0x9B)) are "quoted" with an escape character
- so that they can be properly distinguished from an escape sequence.
- (Note that doing this results in a non-portable encoding.) This
- encoding flag is used for byte-compiled files. Note that ESC
- is a good choice for a quoting character because there are no
- escape sequences whose second byte is a character from the Control-0
- or Control-1 character sets; this is explicitly disallowed by the
- ISO2022 standard.
-
-`input-charset-conversion'
- A list of conversion specifications, specifying conversion of
- characters in one charset to another when decoding is performed.
- Each specification is a list of two elements: the source charset,
- and the destination charset.
-
-`output-charset-conversion'
- A list of conversion specifications, specifying conversion of
- characters in one charset to another when encoding is performed.
- The form of each specification is the same as for
- `input-charset-conversion'.
-
-
-
-The following additional properties are recognized (and required)
-if TYPE is `ccl':
-
-`decode'
- CCL program used for decoding (converting to internal format).
-
-`encode'
- CCL program used for encoding (converting to external format).
-
-
-The following additional properties are recognized if TYPE is `chain':
-
-`chain'
- List of coding systems to be chained together, in decoding order.
-
-`canonicalize-after-coding'
- Coding system to be returned by the detector routines in place of
- this coding system.
-
-
-
-The following additional properties are recognized if TYPE is `unicode':
-
-`unicode-type'
- One of `utf-16', `utf-8', `ucs-4', or `utf-7' (the latter is not
- yet implemented). `utf-16' is the basic two-byte encoding;
- `ucs-4' is the four-byte encoding; `utf-8' is an ASCII-compatible
- variable-width 8-bit encoding; `utf-7' is a 7-bit encoding using
- only characters that will safely pass through all mail gateways.
- [[ This should be \"transformation format\". There should also be
- `ucs-2' (or `bmp' -- no surrogates) and `utf-32' (range checked). ]]
-
-`little-endian'
- If non-nil, `utf-16' and `ucs-4' will write out the groups of two
- or four bytes little-endian instead of big-endian. This is required,
- for example, under Windows.
-
-`need-bom'
- If non-nil, a byte order mark (BOM, or Unicode FFFE) should be
- written out at the beginning of the data. This serves both to
- identify the endianness of the following data and to mark the
- data as Unicode (at least, this is how Windows uses it).
- [[ The correct term is \"signature\", since this technique may also
- be used with UTF-8. That is the term used in the standard. ]]
-
-
-The following additional properties are recognized if TYPE is
-`mswindows-multibyte':
-
-`code-page'
- Either a number (specifying a particular code page) or one of the
- symbols `ansi', `oem', `mac', or `ebcdic', specifying the ANSI,
- OEM, Macintosh, or EBCDIC code page associated with a particular
- locale (given by the `locale' property). NOTE: EBCDIC code pages
- only exist in Windows 2000 and later.
-
-`locale'
- If `code-page' is a symbol, this specifies the locale whose code
- page of the corresponding type should be used. This should be
- one of the following: A cons of two strings, (LANGUAGE
- . SUBLANGUAGE) (see `mswindows-set-current-locale'); a string (a
- language; SUBLANG_DEFAULT, i.e. the default sublanguage, is
- used); or one of the symbols `current', `user-default', or
- `system-default', corresponding to the values of
- `mswindows-current-locale', `mswindows-user-default-locale', or
- `mswindows-system-default-locale', respectively.
-
-
-
-The following additional properties are recognized if TYPE is `undecided':
-\[[ Doesn't GNU use \"detect-*\" for the following two? ]]
-
-`do-eol'
- Do EOL detection.
-
-`do-coding'
- Do encoding detection.
-
-`coding-system'
- If encoding detection is not done, use the specified coding system
- to do decoding. This is used internally when implementing coding
- systems with an EOL type that specifies autodetection (the default),
- so that the detector routines return the proper subsidiary.
-
-
-
-The following additional property is recognized if TYPE is `gzip':
-
-`level'
- Compression level: 0 through 9, or `default' (currently 6).
-
+DEFUN ("make-coding-system-internal", Fmake_coding_system_internal, 2, 4, 0,
/*
+See `make-coding-system'. This does much of the work of that function.
+Without Mule support, it does all the work of that function.
*/
(name, type, description, props))
{
@@ -2475,6 +2165,99 @@
CODING_ENCODE);
}
+DEFUN ("query-coding-region", Fquery_coding_region, 3, 7, 0, /*
+Work out whether CODING-SYSTEM can losslessly encode a region.
+
+START and END are the beginning and end of the region to check.
+CODING-SYSTEM is the coding system to try.
+
+Optional argument BUFFER is the buffer to check, and defaults to the current
+buffer.
+
+IGNORE-INVALID-SEQUENCESP, also an optional argument, says to treat XEmacs
+characters which have an unambiguous encoded representation, despite being
+undefined in what they represent, as encodable. These chiefly arise with
+variable-length encodings like UTF-8 and UTF-16, where an invalid sequence
+is passed through to XEmacs as a sequence of characters with a defined
+correspondence to the octets on disk, but no non-error semantics; see the
+`invalid-sequence-coding-system' argument to `set-language-info'.
+
+They can also arise with fixed-length encodings like ISO 8859-7, where
+certain octets on disk have undefined values, and treating them as
+corresponding to the ISO 8859-1 characters with the same numerical values
+may lead to data that is not understood by other applications.
+
+Optional argument ERRORP says to signal a `text-conversion-error' if some
+character in the region cannot be encoded, and defaults to nil.
+
+Optional argument HIGHLIGHT says to display unencodable characters in the
+region using `query-coding-warning-face'. It defaults to nil.
+
+This function returns a list; the intention is that callers use
+`multiple-value-bind' or the related CL multiple value functions to deal
+with it. The first element is `t' if the region can be encoded using
+CODING-SYSTEM, or `nil' if not. The second element is `nil' if the region
+can be encoded using CODING-SYSTEM; otherwise, it is a range table
+describing the positions of the unencodable characters. Ranges that
+describe characters that would be ignored were IGNORE-INVALID-SEQUENCESP
+non-nil map to the symbol `invalid-sequence'; other ranges map to the symbol
+`unencodable'. If IGNORE-INVALID-SEQUENCESP is non-nil, all ranges will map
+to the symbol `unencodable'. See `make-range-table' for more details of
+range tables.
+*/
+ (start, end, coding_system, buffer, ignore_invalid_sequencesp,
+ errorp, highlight))
+{
+ Charbpos b, e;
+ struct buffer *buf = decode_buffer (buffer, 1);
+ Lisp_Object result, first;
+ int flags = 0, speccount = specpdl_depth ();
+
+ coding_system = Fget_coding_system (coding_system);
+
+ get_buffer_range_char (buf, start, end, &b, &e, 0);
+
+ if (buf != current_buffer)
+ {
+ record_unwind_protect (save_current_buffer_restore, Fcurrent_buffer ());
+ set_buffer_internal (buf);
+ }
+
+ record_unwind_protect (save_excursion_restore, save_excursion_save ());
+
+ BUF_SET_PT (buf, b);
+
+ if (!NILP (ignore_invalid_sequencesp))
+ {
+ flags |= QUERY_METHOD_IGNORE_INVALID_SEQUENCES;
+ }
+
+ if (!NILP (errorp))
+ {
+ flags |= QUERY_METHOD_ERRORP;
+ }
+
+ if (!NILP (highlight))
+ {
+ flags |= QUERY_METHOD_HIGHLIGHT;
+ }
+
+ result = XCODESYSMETH_OR_GIVEN (coding_system, query,
+ (coding_system, buf, e, flags), Qunbound);
+
+ if (UNBOUNDP (result))
+ {
+ signal_error (Qtext_conversion_error,
+ "Coding system doesn't say what it can encode",
+ coding_system);
+ }
+
+ first = (NILP (result)) ? Qt : Qnil;
+
+ return unbind_to_1 (speccount, values2 (first, result));
+}
+
+
/************************************************************************/
/* Chain methods */
@@ -4550,7 +4333,7 @@
DEFSUBR (Fget_coding_system);
DEFSUBR (Fcoding_system_list);
DEFSUBR (Fcoding_system_name);
- DEFSUBR (Fmake_coding_system);
+ DEFSUBR (Fmake_coding_system_internal);
DEFSUBR (Fcopy_coding_system);
DEFSUBR (Fcoding_system_canonical_name_p);
DEFSUBR (Fcoding_system_alias_p);
@@ -4573,6 +4356,7 @@
DEFSUBR (Fdetect_coding_region);
DEFSUBR (Fdecode_coding_region);
DEFSUBR (Fencode_coding_region);
+ DEFSUBR (Fquery_coding_region);
DEFSYMBOL_MULTIWORD_PREDICATE (Qcoding_systemp);
DEFSYMBOL (Qno_conversion);
DEFSYMBOL (Qconvert_eol);
@@ -4620,6 +4404,10 @@
DEFSYMBOL (Qposix_charset_to_coding_system_hash);
DEFSYMBOL (Qescape_quoted);
+
+ DEFSYMBOL (Qquery_coding_warning_face);
+ DEFSYMBOL (Qquery_coding_clear_highlights);
+ DEFSYMBOL (Qaliases);
#ifdef HAVE_ZLIB
DEFSYMBOL (Qgzip);
@@ -4851,7 +4639,7 @@
void
complex_vars_of_file_coding (void)
{
- Fmake_coding_system
+ Fmake_coding_system_internal
(Qconvert_eol_cr, Qconvert_eol,
build_msg_string ("Convert CR to LF"),
nconc2 (list6 (Qdocumentation,
@@ -4865,7 +4653,7 @@
to do so! */
list2 (Qeol_type, Qlf)));
- Fmake_coding_system
+ Fmake_coding_system_internal
(Qconvert_eol_lf, Qconvert_eol,
build_msg_string ("Convert LF to LF (do nothing)"),
nconc2 (list6 (Qdocumentation,
@@ -4878,7 +4666,7 @@
to do so! */
list2 (Qeol_type, Qlf)));
- Fmake_coding_system
+ Fmake_coding_system_internal
(Qconvert_eol_crlf, Qconvert_eol,
build_msg_string ("Convert CRLF to LF"),
nconc2 (list6 (Qdocumentation,
@@ -4892,7 +4680,7 @@
to do so! */
list2 (Qeol_type, Qlf)));
- Fmake_coding_system
+ Fmake_coding_system_internal
(Qconvert_eol_autodetect, Qconvert_eol,
build_msg_string ("Autodetect EOL type"),
nconc2 (list6 (Qdocumentation,
@@ -4905,7 +4693,7 @@
to do so! */
list2 (Qeol_type, Qlf)));
- Fmake_coding_system
+ Fmake_coding_system_internal
(Qundecided, Qundecided,
build_msg_string ("Undecided (auto-detect)"),
nconc2 (list4 (Qdocumentation,
@@ -4918,7 +4706,7 @@
though, I don't think.) */
Qeol_type, Qlf)));
- Fmake_coding_system
+ Fmake_coding_system_internal
(intern ("undecided-dos"), Qundecided,
build_msg_string ("Undecided (auto-detect) (CRLF)"),
nconc2 (list4 (Qdocumentation,
@@ -4928,7 +4716,7 @@
list4 (Qdo_coding, Qt,
Qeol_type, Qcrlf)));
- Fmake_coding_system
+ Fmake_coding_system_internal
(intern ("undecided-unix"), Qundecided,
build_msg_string ("Undecided (auto-detect) (LF)"),
nconc2 (list4 (Qdocumentation,
@@ -4938,7 +4726,7 @@
list4 (Qdo_coding, Qt,
Qeol_type, Qlf)));
- Fmake_coding_system
+ Fmake_coding_system_internal
(intern ("undecided-mac"), Qundecided,
build_msg_string ("Undecided (auto-detect) (CR)"),
nconc2 (list4 (Qdocumentation,
@@ -4949,14 +4737,14 @@
Qeol_type, Qcr)));
/* Need to create this here or we're really screwed. */
- Fmake_coding_system
+ Fmake_coding_system_internal
(Qraw_text, Qno_conversion,
build_msg_string ("Raw Text"),
list4 (Qdocumentation,
build_msg_string ("Raw text converts only line-break codes, and acts otherwise
like `binary'."),
Qmnemonic, build_string ("Raw")));
- Fmake_coding_system
+ Fmake_coding_system_internal
(Qbinary, Qno_conversion,
build_msg_string ("Binary"),
list6 (Qdocumentation,
diff -r 9c97a5a8c241 src/file-coding.h
--- a/src/file-coding.h Wed Feb 11 15:30:59 2009 +0000
+++ b/src/file-coding.h Sat Apr 11 14:35:00 2009 +0100
@@ -230,7 +230,8 @@
ccl_coding_system,
shift_jis_coding_system,
big5_coding_system,
- unicode_coding_system
+ unicode_coding_system,
+ fixed_width_coding_system
};
struct coding_system_methods
@@ -318,6 +319,26 @@
const unsigned char *src,
unsigned_char_dynarr *dst, Bytecount n);
+ /* Query method: Check whether the buffer text between point and END
+ can be encoded by this coding system. Returns
+ either nil (meaning the text can be encoded by the coding system) or a
+ range table object describing the stretches that the coding system
+ cannot encode.
+
+ Possible values for flags are below, search for
+ QUERY_METHOD_IGNORE_INVALID_SEQUENCES.
+
+ Coding systems are expected to be able to behave sensibly with all
+ possible octets on decoding, which is why this method is only available
+ for encoding. */
+ Lisp_Object (*query_method) (Lisp_Object coding_system, struct buffer *buf,
+ Charbpos end, int flags);
+
+ /* Same as the previous method, but this works in the context of
+ lstreams. (Where the data does need to be copied, unfortunately.) */
+ Lisp_Object (*query_lstream_method) (struct coding_stream *str,
+ const Ibyte *start, Bytecount n);
+
/* Coding mark method: Mark any Lisp objects in the type-specific data
attached to `struct coding_stream'. Optional. */
void (*mark_coding_stream_method) (struct coding_stream *str);
@@ -386,6 +407,22 @@
the coding system object. */
int coding_data_size;
};
+
+/* Values for flags, as passed to query_method. */
+
+#define QUERY_METHOD_IGNORE_INVALID_SEQUENCES 0x0001
+#define QUERY_METHOD_ERRORP 0x0002
+#define QUERY_METHOD_HIGHLIGHT 0x0004
+
+enum query_coding_failure_reasons
+ {
+ query_coding_succeeded = 0,
+ query_coding_unencodable = 1,
+ query_coding_invalid_sequence = 2
+ };
+
+extern Lisp_Object Qquery_coding_warning_face;
+extern Lisp_Object Qquery_coding_clear_highlights;
/***** Calling a coding-system method *****/
@@ -1029,6 +1066,7 @@
#ifdef MULE
DECLARE_CODING_SYSTEM_TYPE (iso2022);
DECLARE_CODING_SYSTEM_TYPE (ccl);
+DECLARE_CODING_SYSTEM_TYPE (fixed_width);
DECLARE_CODING_SYSTEM_TYPE (shift_jis);
DECLARE_CODING_SYSTEM_TYPE (big5);
#endif
diff -r 9c97a5a8c241 src/general-slots.h
--- a/src/general-slots.h Wed Feb 11 15:30:59 2009 +0000
+++ b/src/general-slots.h Sat Apr 11 14:35:00 2009 +0100
@@ -287,6 +287,8 @@
SYMBOL (Qtype);
SYMBOL (Qundecided);
SYMBOL (Qundefined);
+SYMBOL (Qunencodable);
+SYMBOL (Qinvalid_sequence);
SYMBOL (Qunimplemented);
SYMBOL (Qunicode_registries);
SYMBOL (Qunicode_type);
diff -r 9c97a5a8c241 src/intl-win32.c
--- a/src/intl-win32.c Wed Feb 11 15:30:59 2009 +0000
+++ b/src/intl-win32.c Sat Apr 11 14:35:00 2009 +0100
@@ -2349,7 +2349,7 @@
void
complex_vars_of_intl_win32 (void)
{
- Fmake_coding_system
+ Fmake_coding_system_internal
(Qmswindows_unicode, Qunicode,
build_msg_string ("MS Windows Unicode"),
nconc2 (list4 (Qdocumentation,
diff -r 9c97a5a8c241 src/lisp.h
--- a/src/lisp.h Wed Feb 11 15:30:59 2009 +0000
+++ b/src/lisp.h Sat Apr 11 14:35:00 2009 +0100
@@ -4625,7 +4625,7 @@
EXFUN (Fencode_shift_jis_char, 1);
EXFUN (Ffind_coding_system, 1);
EXFUN (Fget_coding_system, 1);
-EXFUN (Fmake_coding_system, 4);
+EXFUN (Fmake_coding_system_internal, 4);
EXFUN (Fset_coding_category_system, 2);
EXFUN (Fset_coding_priority_list, 1);
EXFUN (Fsubsidiary_coding_system, 2);
diff -r 9c97a5a8c241 src/mule-coding.c
--- a/src/mule-coding.c Wed Feb 11 15:30:59 2009 +0000
+++ b/src/mule-coding.c Sat Apr 11 14:35:00 2009 +0100
@@ -36,6 +36,10 @@
#include "charset.h"
#include "mule-ccl.h"
#include "file-coding.h"
+#include "elhash.h"
+#include "rangetab.h"
+#include "buffer.h"
+#include "extents.h"
Lisp_Object Qshift_jis, Qiso2022, Qbig5, Qccl;
@@ -47,6 +51,9 @@
Lisp_Object Qshort, Qno_ascii_eol, Qno_ascii_cntl, Qseven, Qlock_shift;
Lisp_Object Qiso_7, Qiso_8_designate, Qiso_8_1, Qiso_8_2, Qiso_lock_shift;
+
+Lisp_Object Qquery_coding_warning_face, Qfrom_unicode, Qquery_skip_chars,
+ Qinvalid_sequences_skip_chars, Qfixed_width, Qsucceeded;
/************************************************************************/
@@ -3388,6 +3395,500 @@
else
return Qunbound;
}
+
+/************************************************************************/
+/* FIXED_WIDTH methods */
+/************************************************************************/
+
+struct fixed_width_coding_system
+{
+ /* For a FIXED_WIDTH coding system, these specify the CCL programs
+ used for decoding (input) and encoding (output). */
+ Lisp_Object decode;
+ Lisp_Object encode;
+ Lisp_Object from_unicode;
+ Lisp_Object invalid_sequences_skip_chars;
+ Lisp_Object query_skip_chars;
+
+ /* This is not directly accessible from Lisp; it is a concatenation of the
+ previous two strings, used for simplicity of implementation. */
+ Lisp_Object invalid_and_query_skip_chars;
+};
+
+#define CODING_SYSTEM_FIXED_WIDTH_DECODE(codesys) \
+ (CODING_SYSTEM_TYPE_DATA (codesys, fixed_width)->decode)
+#define CODING_SYSTEM_FIXED_WIDTH_ENCODE(codesys) \
+ (CODING_SYSTEM_TYPE_DATA (codesys, fixed_width)->encode)
+#define CODING_SYSTEM_FIXED_WIDTH_FROM_UNICODE(codesys) \
+ (CODING_SYSTEM_TYPE_DATA (codesys, fixed_width)->from_unicode)
+#define CODING_SYSTEM_FIXED_WIDTH_INVALID_SEQUENCES_SKIP_CHARS(codesys) \
+ (CODING_SYSTEM_TYPE_DATA (codesys, \
+ fixed_width)->invalid_sequences_skip_chars)
+#define CODING_SYSTEM_FIXED_WIDTH_QUERY_SKIP_CHARS(codesys) \
+ (CODING_SYSTEM_TYPE_DATA (codesys, fixed_width)->query_skip_chars)
+#define CODING_SYSTEM_FIXED_WIDTH_INVALID_AND_QUERY_SKIP_CHARS(codesys) \
+ (CODING_SYSTEM_TYPE_DATA (codesys, \
+ fixed_width)->invalid_and_query_skip_chars)
+
+#define XCODING_SYSTEM_FIXED_WIDTH_DECODE(codesys) \
+ CODING_SYSTEM_FIXED_WIDTH_DECODE (XCODING_SYSTEM (codesys))
+#define XCODING_SYSTEM_FIXED_WIDTH_ENCODE(codesys) \
+ CODING_SYSTEM_FIXED_WIDTH_ENCODE (XCODING_SYSTEM (codesys))
+#define XCODING_SYSTEM_FIXED_WIDTH_FROM_UNICODE(codesys) \
+ (CODING_SYSTEM_FIXED_WIDTH_FROM_UNICODE (XCODING_SYSTEM (codesys)))
+#define XCODING_SYSTEM_FIXED_WIDTH_INVALID_SEQUENCES_SKIP_CHARS(codesys) \
+ (CODING_SYSTEM_FIXED_WIDTH_INVALID_SEQUENCES_SKIP_CHARS \
+ (XCODING_SYSTEM (codesys)))
+#define XCODING_SYSTEM_FIXED_WIDTH_QUERY_SKIP_CHARS(codesys) \
+ (CODING_SYSTEM_FIXED_WIDTH_QUERY_SKIP_CHARS (XCODING_SYSTEM (codesys)))
+#define XCODING_SYSTEM_FIXED_WIDTH_INVALID_AND_QUERY_SKIP_CHARS(codesys) \
+ (CODING_SYSTEM_FIXED_WIDTH_INVALID_AND_QUERY_SKIP_CHARS \
+ (XCODING_SYSTEM(codesys)))
+
+struct fixed_width_coding_stream
+{
+ /* state of the running CCL program */
+ struct ccl_program ccl;
+};
+
+static const struct memory_description
+fixed_width_coding_system_description[] = {
+ { XD_LISP_OBJECT, offsetof (struct fixed_width_coding_system, decode) },
+ { XD_LISP_OBJECT, offsetof (struct fixed_width_coding_system, encode) },
+ { XD_LISP_OBJECT, offsetof (struct fixed_width_coding_system,
+ from_unicode) },
+ { XD_LISP_OBJECT, offsetof (struct fixed_width_coding_system,
+ invalid_sequences_skip_chars) },
+ { XD_LISP_OBJECT, offsetof (struct fixed_width_coding_system,
+ query_skip_chars) },
+ { XD_LISP_OBJECT, offsetof (struct fixed_width_coding_system,
+ invalid_and_query_skip_chars) },
+ { XD_END }
+};
+
+DEFINE_CODING_SYSTEM_TYPE_WITH_DATA (fixed_width);
+
+static void
+fixed_width_mark (Lisp_Object codesys)
+{
+ mark_object (XCODING_SYSTEM_FIXED_WIDTH_DECODE (codesys));
+ mark_object (XCODING_SYSTEM_FIXED_WIDTH_ENCODE (codesys));
+ mark_object (XCODING_SYSTEM_FIXED_WIDTH_FROM_UNICODE (codesys));
+ mark_object
+ (XCODING_SYSTEM_FIXED_WIDTH_INVALID_SEQUENCES_SKIP_CHARS (codesys));
+ mark_object (XCODING_SYSTEM_FIXED_WIDTH_QUERY_SKIP_CHARS (codesys) );
+ mark_object
+ (XCODING_SYSTEM_FIXED_WIDTH_INVALID_AND_QUERY_SKIP_CHARS(codesys));
+}
+
+static Bytecount
+fixed_width_convert (struct coding_stream *str, const UExtbyte *src,
+ unsigned_char_dynarr *dst, Bytecount n)
+{
+ struct fixed_width_coding_stream *data =
+ CODING_STREAM_TYPE_DATA (str, fixed_width);
+ Bytecount orign = n;
+
+ data->ccl.last_block = str->eof;
+ /* When applying a CCL program to a stream, SRC must not be NULL -- this
+ is a special signal to the driver that read and write operations are
+ not allowed. The code does not actually look at what SRC points to if
+ N == 0. */
+ ccl_driver (&data->ccl, src ? src : (const unsigned char *) "",
+ dst, n, 0,
+ str->direction == CODING_DECODE ? CCL_MODE_DECODING :
+ CCL_MODE_ENCODING);
+ return orign;
+}
+
+static void
+fixed_width_init_coding_stream (struct coding_stream *str)
+{
+ struct fixed_width_coding_stream *data =
+ CODING_STREAM_TYPE_DATA (str, fixed_width);
+
+ setup_ccl_program (&data->ccl,
+ str->direction == CODING_DECODE ?
+ XCODING_SYSTEM_FIXED_WIDTH_DECODE (str->codesys) :
+ XCODING_SYSTEM_FIXED_WIDTH_ENCODE (str->codesys));
+}
+
+static void
+fixed_width_rewind_coding_stream (struct coding_stream *str)
+{
+ fixed_width_init_coding_stream (str);
+}
+
+static void
+fixed_width_init (Lisp_Object codesys)
+{
+ XCODING_SYSTEM_FIXED_WIDTH_DECODE (codesys) = Qnil;
+ XCODING_SYSTEM_FIXED_WIDTH_ENCODE (codesys) = Qnil;
+ XCODING_SYSTEM_FIXED_WIDTH_FROM_UNICODE (codesys) = Qnil;
+ XCODING_SYSTEM_FIXED_WIDTH_INVALID_SEQUENCES_SKIP_CHARS (codesys) = Qnil;
+ XCODING_SYSTEM_FIXED_WIDTH_QUERY_SKIP_CHARS (codesys) = Qnil;
+ XCODING_SYSTEM_FIXED_WIDTH_INVALID_AND_QUERY_SKIP_CHARS(codesys) = Qnil;
+}
+
+static int
+fixed_width_putprop (Lisp_Object codesys, Lisp_Object key,
+ Lisp_Object value)
+{
+ struct ccl_program test_ccl;
+
+ if (EQ (key, Qdecode) || EQ (key, Qencode))
+ {
+ /* Check if the CCL infrastructure thinks this is a sane CCL
+ program: */
+ if (setup_ccl_program (&test_ccl, value) < 0)
+ {
+ invalid_argument ("Invalid CCL program", value);
+ }
+
+ if (EQ (key, Qdecode))
+ {
+ XCODING_SYSTEM_FIXED_WIDTH_DECODE (codesys) = value;
+ }
+ else
+ {
+ XCODING_SYSTEM_FIXED_WIDTH_ENCODE (codesys) = value;
+ }
+ }
+ else if (EQ (key, Qfrom_unicode))
+ {
+ CHECK_HASH_TABLE (value);
+ XCODING_SYSTEM_FIXED_WIDTH_FROM_UNICODE (codesys) = value;
+ }
+ else if (EQ (key, Qinvalid_sequences_skip_chars))
+ {
+ CHECK_STRING (value);
+
+ /* Make sure Lisp can't make our data inconsistent: */
+ value = Fcopy_sequence (value);
+
+ XCODING_SYSTEM_FIXED_WIDTH_INVALID_SEQUENCES_SKIP_CHARS (codesys)
+ = value;
+
+ XCODING_SYSTEM_FIXED_WIDTH_INVALID_AND_QUERY_SKIP_CHARS (codesys)
+ = concat2 (value,
+ XCODING_SYSTEM_FIXED_WIDTH_QUERY_SKIP_CHARS (codesys));
+ }
+ else if (EQ (key, Qquery_skip_chars))
+ {
+ CHECK_STRING (value);
+
+ /* Make sure Lisp can't make our data inconsistent: */
+ value = Fcopy_sequence (value);
+
+ XCODING_SYSTEM_FIXED_WIDTH_QUERY_SKIP_CHARS (codesys) = value;
+
+ XCODING_SYSTEM_FIXED_WIDTH_INVALID_AND_QUERY_SKIP_CHARS (codesys)
+ = concat2 (value,
+ XCODING_SYSTEM_FIXED_WIDTH_INVALID_SEQUENCES_SKIP_CHARS
+ (codesys));
+ }
+ else
+ {
+ return 0;
+ }
+
+ return 1;
+}
+
+static Lisp_Object
+fixed_width_getprop (Lisp_Object codesys, Lisp_Object prop)
+{
+ if (EQ (prop, Qdecode))
+ {
+ return XCODING_SYSTEM_FIXED_WIDTH_DECODE (codesys);
+ }
+ else if (EQ (prop, Qencode))
+ {
+ return XCODING_SYSTEM_FIXED_WIDTH_ENCODE (codesys);
+ }
+ else if (EQ (prop, Qfrom_unicode))
+ {
+ return XCODING_SYSTEM_FIXED_WIDTH_FROM_UNICODE (codesys);
+ }
+ else if (EQ (prop, Qinvalid_sequences_skip_chars))
+ {
+ /* Make sure Lisp can't make our data inconsistent: */
+ return
+ Fcopy_sequence
+ (XCODING_SYSTEM_FIXED_WIDTH_INVALID_SEQUENCES_SKIP_CHARS (codesys));
+ }
+ else if (EQ (prop, Qquery_skip_chars))
+ {
+ return
+ Fcopy_sequence (XCODING_SYSTEM_FIXED_WIDTH_QUERY_SKIP_CHARS (codesys));
+ }
+
+ return Qunbound;
+}
+
+static Lisp_Object Vfixed_width_query_ranges_cache;
+
+static Lisp_Object
+fixed_width_skip_chars_data_given_strings (Lisp_Object string,
+ Lisp_Object query_skip_chars,
+ Lisp_Object
+ invalid_sequences_skip_chars,
+ Binbyte *fastmap,
+ int fastmap_len)
+{
+ Lisp_Object result = Fgethash (string,
+ Vfixed_width_query_ranges_cache,
+ Qnil);
+ REGISTER Ibyte *p, *pend;
+ REGISTER Ichar c;
+
+ memset (fastmap, query_coding_unencodable, fastmap_len);
+
+ if (!NILP (result))
+ {
+ int i;
+ Lisp_Object ranged;
+ assert (RANGE_TABLEP (result));
+ for (i = 0; i < fastmap_len; ++i)
+ {
+ ranged = Fget_range_table (make_int (i), result, Qnil);
+
+ if (EQ (ranged, Qsucceeded))
+ {
+ fastmap [i] = query_coding_succeeded;
+ }
+ else if (EQ (ranged, Qinvalid_sequence))
+ {
+ fastmap [i] = query_coding_invalid_sequence;
+ }
+ }
+ return result;
+ }
+
+ result = Fmake_range_table (Qstart_closed_end_closed);
+
+ p = XSTRING_DATA (query_skip_chars);
+ pend = p + XSTRING_LENGTH (query_skip_chars);
+
+ while (p != pend)
+ {
+ c = itext_ichar (p);
+
+ INC_IBYTEPTR (p);
+
+ if (c == '\\')
+ {
+ if (p == pend) break;
+ c = itext_ichar (p);
+ INC_IBYTEPTR (p);
+ }
+
+ if (p != pend && *p == '-')
+ {
+ Ichar cend;
+
+ /* Skip over the dash. */
+ p++;
+ if (p == pend) break;
+ cend = itext_ichar (p);
+
+ Fput_range_table (make_int (c), make_int (cend), Qsucceeded,
+ result);
+
+ while (c <= cend && c < fastmap_len)
+ {
+ fastmap[c] = query_coding_succeeded;
+ c++;
+ }
+
+ INC_IBYTEPTR (p);
+ }
+ else
+ {
+ if (c < fastmap_len)
+ fastmap[c] = query_coding_succeeded;
+
+ Fput_range_table (make_int (c), make_int (c), Qsucceeded, result);
+ }
+ }
+
+
+ p = XSTRING_DATA (invalid_sequences_skip_chars);
+ pend = p + XSTRING_LENGTH (invalid_sequences_skip_chars);
+
+ while (p != pend)
+ {
+ c = itext_ichar (p);
+
+ INC_IBYTEPTR (p);
+
+ if (c == '\\')
+ {
+ if (p == pend) break;
+ c = itext_ichar (p);
+ INC_IBYTEPTR (p);
+ }
+
+ if (p != pend && *p == '-')
+ {
+ Ichar cend;
+
+ /* Skip over the dash. */
+ p++;
+ if (p == pend) break;
+ cend = itext_ichar (p);
+
+ Fput_range_table (make_int (c), make_int (cend), Qinvalid_sequence,
+ result);
+
+ while (c <= cend && c < fastmap_len)
+ {
+ fastmap[c] = query_coding_invalid_sequence;
+ c++;
+ }
+
+ INC_IBYTEPTR (p);
+ }
+ else
+ {
+ if (c < fastmap_len)
+ fastmap[c] = query_coding_invalid_sequence;
+
+ Fput_range_table (make_int (c), make_int (c), Qinvalid_sequence,
+ result);
+ }
+ }
+
+ Fputhash (string, result, Vfixed_width_query_ranges_cache);
+
+ return result;
+}
+
+static Lisp_Object
+fixed_width_query (Lisp_Object codesys, struct buffer *buf,
+ Charbpos end, int flags)
+{
+ Charbpos pos = BUF_PT (buf), fail_range_start, fail_range_end;
+ Charbpos pos_byte = BYTE_BUF_PT (buf);
+ Lisp_Object skip_chars_range_table, from_unicode, checked_unicode,
+ result = Qnil;
+ enum query_coding_failure_reasons failed_reason,
+ previous_failed_reason = query_coding_succeeded;
+ Binbyte fastmap[0xff];
+
+ from_unicode = XCODING_SYSTEM_FIXED_WIDTH_FROM_UNICODE (codesys);
+
+ skip_chars_range_table =
+ fixed_width_skip_chars_data_given_strings
+ ((flags & QUERY_METHOD_IGNORE_INVALID_SEQUENCES ?
+ XCODING_SYSTEM_FIXED_WIDTH_INVALID_AND_QUERY_SKIP_CHARS
+ (codesys) :
+ XCODING_SYSTEM_FIXED_WIDTH_QUERY_SKIP_CHARS(codesys)),
+ XCODING_SYSTEM_FIXED_WIDTH_QUERY_SKIP_CHARS(codesys),
+ (flags & QUERY_METHOD_IGNORE_INVALID_SEQUENCES ?
+ XCODING_SYSTEM_FIXED_WIDTH_INVALID_SEQUENCES_SKIP_CHARS
+ (codesys) : build_string("")),
+ fastmap, (int)(sizeof (fastmap)));
+
+ if (flags & QUERY_METHOD_HIGHLIGHT)
+ {
+ /* It's okay to call Lisp here, the only non-stack object we may have
+ allocated up to this point is skip_chars_range_table, and that's
+ reachable from its entry in Vfixed_width_query_ranges_cache. */
+ call3 (Qquery_coding_clear_highlights, make_int (pos), make_int (end),
+ wrap_buffer (buf));
+ }
+
+ while (pos < end)
+ {
+ Ichar ch = BYTE_BUF_FETCH_CHAR (buf, pos_byte);
+ if ((ch < (int) (sizeof(fastmap))) ?
+ (fastmap[ch] == query_coding_succeeded) :
+ (EQ (Qsucceeded, Fget_range_table (make_int (ch),
+ skip_chars_range_table, Qnil))))
+ {
+ pos++;
+ INC_BYTEBPOS (buf, pos_byte);
+ }
+ else
+ {
+ fail_range_start = pos;
+ while ((pos < end) &&
+ ((!(flags & QUERY_METHOD_IGNORE_INVALID_SEQUENCES) &&
+ EQ (Qinvalid_sequence, Fget_range_table
+ (make_int (ch), skip_chars_range_table, Qnil))
+ && (failed_reason = query_coding_invalid_sequence))
+ || ((NILP ((checked_unicode =
+ Fgethash (Fchar_to_unicode (make_char (ch)),
+ from_unicode, Qnil))))
+ && (failed_reason = query_coding_unencodable)))
+ && (previous_failed_reason == query_coding_succeeded
+ || previous_failed_reason == failed_reason))
+ {
+ pos++;
+ INC_BYTEBPOS (buf, pos_byte);
+ ch = BYTE_BUF_FETCH_CHAR (buf, pos_byte);
+ previous_failed_reason = failed_reason;
+ }
+
+ if (fail_range_start == pos)
+ {
+ /* The character can actually be encoded; move on. */
+ pos++;
+ INC_BYTEBPOS (buf, pos_byte);
+ }
+ else
+ {
+ assert (previous_failed_reason == query_coding_invalid_sequence
+ || previous_failed_reason == query_coding_unencodable);
+
+ if (flags & QUERY_METHOD_ERRORP)
+ {
+ DECLARE_EISTRING (error_details);
+
+ eicpy_ascii (error_details, "Cannot encode ");
+ eicat_lstr (error_details,
+ make_string_from_buffer (buf, fail_range_start,
+ pos - fail_range_start));
+ eicat_ascii (error_details, " using coding system");
+
+ signal_error (Qtext_conversion_error,
+ (const CIbyte *)(eidata (error_details)),
+ XCODING_SYSTEM_NAME (codesys));
+ }
+
+ if (NILP (result))
+ {
+ result = Fmake_range_table (Qstart_open_end_closed);
+ }
+
+ fail_range_end = pos;
+
+ Fput_range_table (make_int (fail_range_start),
+ make_int (fail_range_end),
+ (previous_failed_reason
+ == query_coding_unencodable ?
+ Qunencodable : Qinvalid_sequence),
+ result);
+ previous_failed_reason = query_coding_succeeded;
+
+ if (flags & QUERY_METHOD_HIGHLIGHT)
+ {
+ Lisp_Object extent
+ = Fmake_extent (make_int (fail_range_start),
+ make_int (fail_range_end),
+ wrap_buffer (buf));
+
+ Fset_extent_priority
+ (extent, make_int (2 + mouse_highlight_priority));
+ Fset_extent_face (extent, Qquery_coding_warning_face);
+ }
+ }
+ }
+ }
+
+ return result;
+}
/************************************************************************/
@@ -3430,6 +3931,13 @@
DEFSYMBOL (Qiso_8_1);
DEFSYMBOL (Qiso_8_2);
DEFSYMBOL (Qiso_lock_shift);
+
+ DEFSYMBOL (Qquery_coding_warning_face);
+ DEFSYMBOL (Qfrom_unicode);
+ DEFSYMBOL (Qinvalid_sequences_skip_chars);
+ DEFSYMBOL (Qquery_skip_chars);
+ DEFSYMBOL (Qfixed_width);
+ DEFSYMBOL (Qsucceeded);
}
void
@@ -3465,6 +3973,17 @@
CODING_SYSTEM_HAS_METHOD (ccl, putprop);
CODING_SYSTEM_HAS_METHOD (ccl, getprop);
+ INITIALIZE_CODING_SYSTEM_TYPE_WITH_DATA (fixed_width,
+ "fixed-width-coding-system-p");
+ CODING_SYSTEM_HAS_METHOD (fixed_width, mark);
+ CODING_SYSTEM_HAS_METHOD (fixed_width, convert);
+ CODING_SYSTEM_HAS_METHOD (fixed_width, query);
+ CODING_SYSTEM_HAS_METHOD (fixed_width, init);
+ CODING_SYSTEM_HAS_METHOD (fixed_width, init_coding_stream);
+ CODING_SYSTEM_HAS_METHOD (fixed_width, rewind_coding_stream);
+ CODING_SYSTEM_HAS_METHOD (fixed_width, putprop);
+ CODING_SYSTEM_HAS_METHOD (fixed_width, getprop);
+
INITIALIZE_CODING_SYSTEM_TYPE (shift_jis, "shift-jis-coding-system-p");
CODING_SYSTEM_HAS_METHOD (shift_jis, convert);
@@ -3485,6 +4004,7 @@
{
REINITIALIZE_CODING_SYSTEM_TYPE (iso2022);
REINITIALIZE_CODING_SYSTEM_TYPE (ccl);
+ REINITIALIZE_CODING_SYSTEM_TYPE (fixed_width);
REINITIALIZE_CODING_SYSTEM_TYPE (shift_jis);
REINITIALIZE_CODING_SYSTEM_TYPE (big5);
}
@@ -3497,4 +4017,9 @@
void
vars_of_mule_coding (void)
{
-}
+ /* This needs to be HASH_TABLE_EQ, there's a corner case where
+ HASH_TABLE_EQUAL won't work. */
+ Vfixed_width_query_ranges_cache
+ = make_lisp_hash_table (32, HASH_TABLE_KEY_WEAK, HASH_TABLE_EQ);
+ staticpro (&Vfixed_width_query_ranges_cache);
+}
diff -r 9c97a5a8c241 src/symeval.h
--- a/src/symeval.h Wed Feb 11 15:30:59 2009 +0000
+++ b/src/symeval.h Sat Apr 11 14:35:00 2009 +0100
@@ -488,6 +488,8 @@
void flush_all_buffer_local_cache (void);
+#define values2 list2
+
END_C_DECLS
#endif /* INCLUDED_symeval_h_ */
diff -r 9c97a5a8c241 src/unicode.c
--- a/src/unicode.c Wed Feb 11 15:30:59 2009 +0000
+++ b/src/unicode.c Sat Apr 11 14:35:00 2009 +0100
@@ -2817,6 +2817,147 @@
write_c_string (printcharfun, ")");
}
+static Lisp_Object
+unicode_query (Lisp_Object codesys, struct buffer *buf,
+ Charbpos end, int flags)
+{
+ Charbpos pos = BUF_PT (buf), fail_range_start, fail_range_end;
+ Charbpos pos_byte = BYTE_BUF_PT (buf);
+ Lisp_Object skip_chars_range_table, result = Qnil;
+ enum query_coding_failure_reasons failed_reason,
+ previous_failed_reason = query_coding_succeeded;
+ Binbyte *fastmap;
+ int checked_unicode, invalid_lower_limit, invalid_upper_limit;
+
+ switch (XCODING_SYSTEM_UNICODE_TYPE (codesys))
+ {
+ case UNICODE_UTF_8:
+ invalid_lower_limit = UNICODE_ERROR_OCTET_RANGE_START + 0x80;
+ invalid_upper_limit = UNICODE_ERROR_OCTET_RANGE_START + 0xFF;
+ break;
+ case UNICODE_UTF_7:
+ /* #### Work out what to do here in reality, read the spec and decide
+ which octets are invalid. */
+ ABORT();
+ break;
+ default:
+ invalid_lower_limit = UNICODE_ERROR_OCTET_RANGE_START;
+ invalid_upper_limit = UNICODE_ERROR_OCTET_RANGE_START + 0xFF;
+ }
+
+ if (flags & QUERY_METHOD_HIGHLIGHT)
+ {
+ /* It's okay to call Lisp here, the only non-stack object we may have
+ allocated up to this point is skip_chars_range_table, and that's
+ reachable from its entry in Vfixed_width_query_ranges_cache. */
+ call3 (Qquery_coding_clear_highlights, make_int (pos), make_int (end),
+ wrap_buffer (buf));
+ }
+
+ if (flags & QUERY_METHOD_IGNORE_INVALID_SEQUENCES)
+ {
+ skip_chars_range_table = unicode_invalid_and_query_skip_chars;
+ fastmap = unicode_invalid_and_query_fastmap;
+ }
+ else
+ {
+ skip_chars_range_table = unicode_query_skip_chars;
+ fastmap = unicode_query_fastmap;
+ }
+
+ assert (countof(unicode_query_fastmap)
+ == countof (unicode_invalid_and_query_fastmap));
+
+ while (pos < end)
+ {
+ Ichar ch = BYTE_BUF_FETCH_CHAR (buf, pos_byte);
+ if ((ch < (int)countof(unicode_query_fastmap)) ?
+ (fastmap[ch] == query_coding_succeeded) :
+ (EQ (Qsucceeded, Fget_range_table (make_int (ch),
+ skip_chars_range_table, Qnil))))
+ {
+ pos++;
+ INC_BYTEBPOS (buf, pos_byte);
+ }
+ else
+ {
+ fail_range_start = pos;
+ while ((pos < end) &&
+ ((checked_unicode = ichar_to_unicode (make_char (ch)),
+ -1 == checked_unicode
+ && (failed_reason = query_coding_unencodable))
+ || (!(flags & QUERY_METHOD_IGNORE_INVALID_SEQUENCES) &&
+ (invalid_lower_limit <= checked_unicode) &&
+ (checked_unicode <= invalid_upper_limit)
+ && (failed_reason = query_coding_invalid_sequence)))
+ && (previous_failed_reason == query_coding_succeeded
+ || previous_failed_reason == failed_reason))
+ {
+ pos++;
+ INC_BYTEBPOS (buf, pos_byte);
+ ch = BYTE_BUF_FETCH_CHAR (buf, pos_byte);
+ previous_failed_reason = failed_reason;
+ }
+
+ if (fail_range_start == pos)
+ {
+ /* The character can actually be encoded; move on. */
+ pos++;
+ INC_BYTEBPOS (buf, pos_byte);
+ }
+ else
+ {
+ assert (previous_failed_reason == query_coding_invalid_sequence
+ || previous_failed_reason == query_coding_unencodable);
+
+ if (flags & QUERY_METHOD_ERRORP)
+ {
+ DECLARE_EISTRING (error_details);
+
+ eicpy_ascii (error_details, "Cannot encode ");
+ eicat_lstr (error_details,
+ make_string_from_buffer (buf, fail_range_start,
+ pos - fail_range_start));
+ eicat_ascii (error_details, " using coding system");
+
+ signal_error (Qtext_conversion_error,
+ (const CIbyte *)(eidata (error_details)),
+ XCODING_SYSTEM_NAME (codesys));
+ }
+
+ if (NILP (result))
+ {
+ result = Fmake_range_table (Qstart_open_end_closed);
+ }
+
+ fail_range_end = pos;
+
+ Fput_range_table (make_int (fail_range_start),
+ make_int (fail_range_end),
+ (previous_failed_reason
+ == query_coding_unencodable ?
+ Qunencodable : Qinvalid_sequence),
+ result);
+ previous_failed_reason = query_coding_succeeded;
+
+ if (flags & QUERY_METHOD_HIGHLIGHT)
+ {
+ Lisp_Object extent
+ = Fmake_extent (make_int (fail_range_start),
+ make_int (fail_range_end),
+ wrap_buffer (buf));
+
+ Fset_extent_priority
+ (extent, make_int (2 + mouse_highlight_priority));
+ Fset_extent_face (extent, Qquery_coding_warning_face);
+ }
+ }
+ }
+ }
+
+ return result;
+}
+
int
dfc_coding_system_is_unicode (
#ifdef WIN32_ANY
@@ -2889,6 +3030,7 @@
INITIALIZE_CODING_SYSTEM_TYPE_WITH_DATA (unicode,
"unicode-coding-system-p");
CODING_SYSTEM_HAS_METHOD (unicode, print);
CODING_SYSTEM_HAS_METHOD (unicode, convert);
+ CODING_SYSTEM_HAS_METHOD (unicode, query);
CODING_SYSTEM_HAS_METHOD (unicode, init_coding_stream);
CODING_SYSTEM_HAS_METHOD (unicode, rewind_coding_stream);
CODING_SYSTEM_HAS_METHOD (unicode, putprop);
--
¿Dónde estará ahora mi sobrino Yoghurtu Nghe, que tuvo que huir
precipitadamente de la aldea por culpa de la escasez de rinocerontes?
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-patches