view etc/unicode/mule-ucs/README @ 5602:c9e5612f5424

Support the MP library on recent FreeBSD, have it pass relevant tests. src/ChangeLog addition: 2011-11-26 Aidan Kehoe <kehoea@parhasard.net> * number-mp.c (bignum_to_string): Don't overwrite the accumulator we've just set up for this function. * number-mp.c (BIGNUM_TO_TYPE): mp_itom() doesn't necessarily do what this code used to think with negative numbers, it can treat them as unsigned ints. Subtract numbers from bignum_zero instead of multiplying them by -1 to convert them to their negative equivalents. * number-mp.c (bignum_to_int): * number-mp.c (bignum_to_uint): * number-mp.c (bignum_to_long): * number-mp.c (bignum_to_ulong): * number-mp.c (bignum_to_double): Use the changed BIGNUM_TO_TYPE() in these functions. * number-mp.c (bignum_ceil): * number-mp.c (bignum_floor): In these functions, be more careful about rounding to positive and negative infinity, respectively. Don't use the sign of QUOTIENT when working out out whether to add or subtract one, rather use the sign QUOTIENT would have if arbitrary-precision division were done. * number-mp.h: * number-mp.h (MP_GCD): Wrap #include <mp.h> in BEGIN_C_DECLS/END_C_DECLS. * number.c (Fbigfloat_get_precision): * number.c (Fbigfloat_set_precision): Don't attempt to call XBIGFLOAT_GET_PREC if this build doesn't support big floats.
author Aidan Kehoe <kehoea@parhasard.net>
date Sat, 26 Nov 2011 17:59:14 +0000
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).