[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/lisp/international/fontset.el
From: |
Kenichi Handa |
Subject: |
[Emacs-diffs] Changes to emacs/lisp/international/fontset.el |
Date: |
Wed, 12 Oct 2005 22:24:26 -0400 |
Index: emacs/lisp/international/fontset.el
diff -c emacs/lisp/international/fontset.el:1.66
emacs/lisp/international/fontset.el:1.67
*** emacs/lisp/international/fontset.el:1.66 Mon Jul 4 17:22:27 2005
--- emacs/lisp/international/fontset.el Thu Oct 13 02:24:23 2005
***************
*** 173,211 ****
((if (r2 >= 0)
;; This is a 2D charset.
(r1 = ((r1 << 7) | r2)))
! (lookup-character ucs-mule-cjk-to-unicode r0 r1)
(if r7
;; We got it!
((r1 = (r0 >> 8))
(r2 = (r0 & #xFF)))
;; Look for a translation for non-ASCII chars.
((translate-character ucs-mule-to-mule-unicode r0 r1)
! (if (r0 == ,(charset-id 'latin-iso8859-1))
! ((r2 = (r1 + 128))
(r1 = 0))
! ((r2 = (r1 & #x7F))
! (r1 >>= 7)
! (if (r0 == ,(charset-id 'mule-unicode-0100-24ff))
! ((r1 *= 96)
! (r1 += r2)
! (r1 += ,(- #x100 (* 32 96) 32))
! (r1 >8= 0)
! (r2 = r7))
! (if (r0 == ,(charset-id 'mule-unicode-2500-33ff))
! ((r1 *= 96)
! (r1 += r2)
! (r1 += ,(- #x2500 (* 32 96) 32))
! (r1 >8= 0)
! (r2 = r7))
! (if (r0 == ,(charset-id 'mule-unicode-e000-ffff))
! ((r1 *= 96)
! (r1 += r2)
! (r1 += ,(- #xe000 (* 32 96) 32))
! (r1 >8= 0)
! (r2 = r7))
! ;; No way, use the glyph for U+FFFD.
! ((r1 = #xFF)
! (r2 = #xFD)))))))))))))
"Encode characters for display with iso10646 font.
Translate through the translation-hash-table named
`ucs-mule-cjk-to-unicode' and the translation-table named
--- 173,214 ----
((if (r2 >= 0)
;; This is a 2D charset.
(r1 = ((r1 << 7) | r2)))
! (lookup-character utf-subst-table-for-encode r0 r1)
(if r7
;; We got it!
((r1 = (r0 >> 8))
(r2 = (r0 & #xFF)))
;; Look for a translation for non-ASCII chars.
((translate-character ucs-mule-to-mule-unicode r0 r1)
! (if (r0 == ,(charset-id 'ascii))
! ((r2 = r1)
(r1 = 0))
! ((if (r0 == ,(charset-id 'latin-iso8859-1))
! ((r2 = (r1 + 128))
! (r1 = 0))
! ((r2 = (r1 & #x7F))
! (r1 >>= 7)
! (if (r0 == ,(charset-id 'mule-unicode-0100-24ff))
! ((r1 *= 96)
! (r1 += r2)
! (r1 += ,(- #x100 (* 32 96) 32))
! (r1 >8= 0)
! (r2 = r7))
! (if (r0 == ,(charset-id 'mule-unicode-2500-33ff))
! ((r1 *= 96)
! (r1 += r2)
! (r1 += ,(- #x2500 (* 32 96) 32))
! (r1 >8= 0)
! (r2 = r7))
! (if (r0 == ,(charset-id 'mule-unicode-e000-ffff))
! ((r1 *= 96)
! (r1 += r2)
! (r1 += ,(- #xe000 (* 32 96) 32))
! (r1 >8= 0)
! (r2 = r7))
! ;; No way, use the glyph for U+FFFD.
! ((r1 = #xFF)
! (r2 = #xFD)))))))))))))))
"Encode characters for display with iso10646 font.
Translate through the translation-hash-table named
`ucs-mule-cjk-to-unicode' and the translation-table named
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] Changes to emacs/lisp/international/fontset.el,
Kenichi Handa <=