view etc/unicode/mule-ucs/README @ 5913:1b2fdcc3cc5c

Remove an old, buggy attempt to preserve East Asian chars, encode_unicode_char src/ChangeLog addition: 2015-05-11 Aidan Kehoe <kehoea@parhasard.net> * unicode.c (encode_unicode_char): If we have no information on the Unicode mapping of a character, write U+FFFD unconditionally. Remove an old, incomplete, inappropriate attempt to preserve certain East Asian characters. tests/ChangeLog addition: 2015-05-11 Aidan Kehoe <kehoea@parhasard.net> * automated/mule-tests.el: Assert that a character which we know has no Unicode mapping is represented as REPLACEMENT CHARACTER in UTF-8, rather than as a character corresponding to a very large codepoint.
author Aidan Kehoe <kehoea@parhasard.net>
date Mon, 11 May 2015 18:04:58 +0100
parents a29c4eef8f00
children
line wrap: on
line source

The files in this directory were converted from data in the mule-ucs
package (mule-ucs/lisp/reldata/*), using this code:

(defun convert-mule-ucs-file (start end)
  (interactive "r")
  (with-output-to-temp-buffer "*mule-ucs-convert*"
    (save-excursion
      (goto-char start)
      (while (re-search-forward "(\\?\\(.\\) \\. \"\\(.*\\)\") ;+ \\(.*\\)$"
				end t)
	(let ((ch (string-to-char (match-string 1)))
	      (codepoint (match-string 2))
	      (name (match-string 3)))
	  (if (= 1 (charset-dimension (char-charset ch)))
	      (princ (format "0x%x   %s  #   %s\n" (char-octet ch) codepoint name))
	    (princ (format "0x%x%x   %s  #   %s\n" (char-octet ch 0) (char-octet ch 1) codepoint name))))))))

Each file is named after the XEmacs charset it represents.  The CNS files
contain more codepoints than those in unicode-consortium/ because they list
codepoints above 0xFFFF, those handled by surrogates (supported starting in
Windows 2000, I think, but not yet by XEmacs).