[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/lisp/international/mule.el
From: |
Kenichi Handa |
Subject: |
[Emacs-diffs] Changes to emacs/lisp/international/mule.el |
Date: |
Mon, 30 Sep 2002 02:39:09 -0400 |
Index: emacs/lisp/international/mule.el
diff -c emacs/lisp/international/mule.el:1.163
emacs/lisp/international/mule.el:1.164
*** emacs/lisp/international/mule.el:1.163 Wed Sep 11 17:16:28 2002
--- emacs/lisp/international/mule.el Mon Sep 30 02:39:07 2002
***************
*** 308,346 ****
Return nil if such a character is not supported.
Currently the only supported coded character set is `ucs' (ISO/IEC
10646: Universal Multi-Octet Coded Character Set), and the result is
! translated through the char table `utf-8-translation-table-for-decode'.
Optional argument RESTRICTION specifies a way to map the pair of CCS
and CODE-POINT to a character. Currently not supported and just ignored."
(cond
((eq ccs 'ucs)
! (let ((c (cond
! ((< code-point 160)
! code-point)
! ((< code-point 256)
! (make-char 'latin-iso8859-1 code-point))
! ((< code-point #x2500)
! (setq code-point (- code-point #x0100))
! (make-char 'mule-unicode-0100-24ff
! (+ (/ code-point 96) 32) (+ (% code-point 96) 32)))
! ((< code-point #x3400)
! (setq code-point (- code-point #x2500))
! (make-char 'mule-unicode-2500-33ff
! (+ (/ code-point 96) 32) (+ (% code-point 96) 32)))
! ((and (>= code-point #xe000) (< code-point #x10000))
! (setq code-point (- code-point #xe000))
! (make-char 'mule-unicode-e000-ffff
! (+ (/ code-point 96) 32) (+ (% code-point 96) 32))))))
! (if (and c (aref utf-8-translation-table-for-decode c))
! (aref utf-8-translation-table-for-decode c)
! c)))))
(defun encode-char (char ccs &optional restriction)
"Return code-point in coded character set CCS that corresponds to CHAR.
Return nil if CHAR is not included in CCS.
Currently the only supported coded character set is `ucs' (ISO/IEC
10646: Universal Multi-Octet Coded Character Set), and CHAR is first
! translated through the char-table `ucs-mule-to-mule-unicode'.
CHAR should be in one of these charsets:
ascii, latin-iso8859-1, mule-unicode-0100-24ff, mule-unicode-2500-33ff,
--- 308,354 ----
Return nil if such a character is not supported.
Currently the only supported coded character set is `ucs' (ISO/IEC
10646: Universal Multi-Octet Coded Character Set), and the result is
! translated through the translation-table named
! `utf-translation-table-for-decode' or the translation-hash-table named
! `utf-subst-table-for-decode'.
Optional argument RESTRICTION specifies a way to map the pair of CCS
and CODE-POINT to a character. Currently not supported and just ignored."
(cond
((eq ccs 'ucs)
! (or (gethash code-point
! (get 'utf-subst-table-for-decode 'translation-hash-table))
! (let ((c (cond
! ((< code-point 160)
! code-point)
! ((< code-point 256)
! (make-char 'latin-iso8859-1 code-point))
! ((< code-point #x2500)
! (setq code-point (- code-point #x0100))
! (make-char 'mule-unicode-0100-24ff
! (+ (/ code-point 96) 32) (+ (% code-point 96)
32)))
! ((< code-point #x3400)
! (setq code-point (- code-point #x2500))
! (make-char 'mule-unicode-2500-33ff
! (+ (/ code-point 96) 32) (+ (% code-point 96)
32)))
! ((and (>= code-point #xe000) (< code-point #x10000))
! (setq code-point (- code-point #xe000))
! (make-char 'mule-unicode-e000-ffff
! (+ (/ code-point 96) 32)
! (+ (% code-point 96) 32))))))
! (when c
! (or (aref (get 'utf-translation-table-for-decode
! 'translation-table) c)
! c)))))))
(defun encode-char (char ccs &optional restriction)
"Return code-point in coded character set CCS that corresponds to CHAR.
Return nil if CHAR is not included in CCS.
Currently the only supported coded character set is `ucs' (ISO/IEC
10646: Universal Multi-Octet Coded Character Set), and CHAR is first
! translated through the translation-table named
! `utf-translation-table-for-encode' or the translation-hash-table named
! `utf-subst-table-for-encode'.
CHAR should be in one of these charsets:
ascii, latin-iso8859-1, mule-unicode-0100-24ff, mule-unicode-2500-33ff,
***************
*** 353,377 ****
(charset (car split))
trans)
(cond ((eq ccs 'ucs)
! (setq trans (aref ucs-mule-to-mule-unicode char))
! (if trans
! (setq split (split-char trans)
! charset (car split)))
! (cond ((eq charset 'ascii)
! char)
! ((eq charset 'latin-iso8859-1)
! (+ (nth 1 split) 128))
! ((eq charset 'mule-unicode-0100-24ff)
! (+ #x0100 (+ (* (- (nth 1 split) 32) 96)
! (- (nth 2 split) 32))))
! ((eq charset 'mule-unicode-2500-33ff)
! (+ #x2500 (+ (* (- (nth 1 split) 32) 96)
! (- (nth 2 split) 32))))
! ((eq charset 'mule-unicode-e000-ffff)
! (+ #xe000 (+ (* (- (nth 1 split) 32) 96)
! (- (nth 2 split) 32))))
! ((eq charset 'eight-bit-control)
! char))))))
;; Coding system stuff
--- 361,389 ----
(charset (car split))
trans)
(cond ((eq ccs 'ucs)
! (or (gethash char (get 'utf-subst-table-for-encode
! 'translation-hash-table))
! (let ((table (get 'utf-translation-table-for-encode
! 'translation-table)))
! (setq trans (aref table char))
! (if trans
! (setq split (split-char trans)
! charset (car split)))
! (cond ((eq charset 'ascii)
! char)
! ((eq charset 'latin-iso8859-1)
! (+ (nth 1 split) 128))
! ((eq charset 'mule-unicode-0100-24ff)
! (+ #x0100 (+ (* (- (nth 1 split) 32) 96)
! (- (nth 2 split) 32))))
! ((eq charset 'mule-unicode-2500-33ff)
! (+ #x2500 (+ (* (- (nth 1 split) 32) 96)
! (- (nth 2 split) 32))))
! ((eq charset 'mule-unicode-e000-ffff)
! (+ #xe000 (+ (* (- (nth 1 split) 32) 96)
! (- (nth 2 split) 32))))
! ((eq charset 'eight-bit-control)
! char))))))))
;; Coding system stuff
- [Emacs-diffs] Changes to emacs/lisp/international/mule.el, Kenichi Handa, 2002/09/04
- [Emacs-diffs] Changes to emacs/lisp/international/mule.el, Kenichi Handa, 2002/09/04
- [Emacs-diffs] Changes to emacs/lisp/international/mule.el, Juanma Barranquero, 2002/09/06
- [Emacs-diffs] Changes to emacs/lisp/international/mule.el, Juanma Barranquero, 2002/09/06
- [Emacs-diffs] Changes to emacs/lisp/international/mule.el, Dave Love, 2002/09/11
- [Emacs-diffs] Changes to emacs/lisp/international/mule.el, Kenichi Handa, 2002/09/12
- [Emacs-diffs] Changes to emacs/lisp/international/mule.el,
Kenichi Handa <=