emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/lisp/international/utf-8.el


From: Miles Bader
Subject: [Emacs-diffs] Changes to emacs/lisp/international/utf-8.el
Date: Fri, 04 Apr 2003 01:22:24 -0500

Index: emacs/lisp/international/utf-8.el
diff -c emacs/lisp/international/utf-8.el:1.27 
emacs/lisp/international/utf-8.el:1.28
*** emacs/lisp/international/utf-8.el:1.27      Wed Mar 19 18:34:36 2003
--- emacs/lisp/international/utf-8.el   Sat Mar 29 12:11:42 2003
***************
*** 190,196 ****
    :type 'boolean
    :group 'mule)
  
! (defcustom utf-translate-cjk nil
    "Whether the UTF based coding systems should decode/encode CJK characters.
  Enabling this loads tables which allow the coding systems mule-utf-8,
  mule-utf-16-le and mule-utf-16-be to encode characters in the charsets
--- 190,196 ----
    :type 'boolean
    :group 'mule)
  
! (define-minor-mode utf-translate-cjk-mode
    "Whether the UTF based coding systems should decode/encode CJK characters.
  Enabling this loads tables which allow the coding systems mule-utf-8,
  mule-utf-16-le and mule-utf-16-be to encode characters in the charsets
***************
*** 205,263 ****
  
  The tables are large (over 40000 entries), so this option is not the
  default.  Also, installing them may be rather slow."
!   :set (lambda (s v)
!        (if v
!            ;; Fixme: Allow the use of the CJK charsets to be
!            ;; customized by reordering and possible omission.
!            (progn
!              ;; Redefine them with realistic initial sizes and a
!              ;; smallish rehash size to avoid wasting significant
!              ;; space after they're built.
!              (setq ucs-mule-cjk-to-unicode
!                    (make-hash-table :test 'eq :size 43000 :rehash-size 1000)
!                    ucs-unicode-to-mule-cjk
!                    (make-hash-table :test 'eq :size 43000 :rehash-size 1000))
!              ;; Load the files explicitly, to avoid having to keep
!              ;; around the large tables they contain (as well as the
!              ;; ones which get built).
!              (cond
!               ((string= "Korean" current-language-environment)
!                (load "subst-jis")
!                (load "subst-big5")
!                (load "subst-gb2312")
!                (load "subst-ksc"))
!               ((string= "Chinese-BIG5" current-language-environment)
!                (load "subst-jis")
!                (load "subst-ksc")
!                (load "subst-gb2312")
!                (load "subst-big5"))
!               ((string= "Chinese-GB" current-language-environment)
!                (load "subst-jis")
!                (load "subst-ksc")
!                (load "subst-big5")
!                (load "subst-gb2312"))
!               (t
!                (load "subst-ksc")
!                (load "subst-gb2312")
!                (load "subst-big5")
!                (load "subst-jis")))   ; jis covers as much as big5, gb2312
!              (let ((table (make-char-table 'translation-table)))
!                (maphash (lambda (k v)
!                           (aset table k t))
!                         ucs-mule-cjk-to-unicode)
!              (define-translation-hash-table 'utf-subst-table-for-decode
!                ucs-unicode-to-mule-cjk)
!              (define-translation-hash-table 'utf-subst-table-for-encode
!                ucs-mule-cjk-to-unicode))
!          (define-translation-hash-table 'utf-subst-table-for-decode
!            (make-hash-table :test 'eq))
!          (define-translation-hash-table 'utf-subst-table-for-encode
!            (make-hash-table :test 'eq))))
!        (set-default s v))
    :version "21.4"
    :type 'boolean
    :set-after '(current-language-environment)
!   :group 'mule)
  
  (define-ccl-program ccl-decode-mule-utf-8
    ;;
--- 205,263 ----
  
  The tables are large (over 40000 entries), so this option is not the
  default.  Also, installing them may be rather slow."
!   :init-value nil
    :version "21.4"
    :type 'boolean
    :set-after '(current-language-environment)
!   :group 'mule
!   :global t
!   (if utf-translate-cjk-mode
!       ;; Fixme: Allow the use of the CJK charsets to be
!       ;; customized by reordering and possible omission.
!       (progn
!       ;; Redefine them with realistic initial sizes and a
!       ;; smallish rehash size to avoid wasting significant
!       ;; space after they're built.
!       (setq ucs-mule-cjk-to-unicode
!             (make-hash-table :test 'eq :size 43000 :rehash-size 1000)
!             ucs-unicode-to-mule-cjk
!             (make-hash-table :test 'eq :size 43000 :rehash-size 1000))
!       ;; Load the files explicitly, to avoid having to keep
!       ;; around the large tables they contain (as well as the
!       ;; ones which get built).
!       (cond
!        ((string= "Korean" current-language-environment)
!         (load "subst-jis")
!         (load "subst-big5")
!         (load "subst-gb2312")
!         (load "subst-ksc"))
!        ((string= "Chinese-BIG5" current-language-environment)
!         (load "subst-jis")
!         (load "subst-ksc")
!         (load "subst-gb2312")
!         (load "subst-big5"))
!        ((string= "Chinese-GB" current-language-environment)
!         (load "subst-jis")
!         (load "subst-ksc")
!         (load "subst-big5")
!         (load "subst-gb2312"))
!        (t
!         (load "subst-ksc")
!         (load "subst-gb2312")
!         (load "subst-big5")
!         (load "subst-jis")))    ; jis covers as much as big5, gb2312
!       (let ((table (make-char-table 'translation-table)))
!         (maphash (lambda (k v)
!                    (aset table k t))
!                  ucs-mule-cjk-to-unicode)
!         (define-translation-hash-table 'utf-subst-table-for-decode
!           ucs-unicode-to-mule-cjk)
!         (define-translation-hash-table 'utf-subst-table-for-encode
!           ucs-mule-cjk-to-unicode))
!       (define-translation-hash-table 'utf-subst-table-for-decode
!         (make-hash-table :test 'eq))
!       (define-translation-hash-table 'utf-subst-table-for-encode
!         (make-hash-table :test 'eq)))))
  
  (define-ccl-program ccl-decode-mule-utf-8
    ;;




reply via email to

[Prev in Thread] Current Thread [Next in Thread]