aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--x-symbol/lisp/x-symbol-mule.el21
1 files changed, 17 insertions, 4 deletions
diff --git a/x-symbol/lisp/x-symbol-mule.el b/x-symbol/lisp/x-symbol-mule.el
index 7c25b5e7..478a3210 100644
--- a/x-symbol/lisp/x-symbol-mule.el
+++ b/x-symbol/lisp/x-symbol-mule.el
@@ -183,16 +183,29 @@ when character is presented in the grid."
(unless (char-table-p x-symbol-mule-char-table)
(setq x-symbol-mule-char-table (make-char-table 'generic))
(put-char-table t nil x-symbol-mule-char-table))
- (let* ((char (if (< encoding 128)
- (make-char (caadr cset) encoding)
- (make-char (caddr cset) (- encoding 128)))))
+ (let* ((char (cond
+ ((and (not x-symbol-use-unicode) (< encoding 128))
+ (make-char (caadr cset) encoding))
+ ((and (not x-symbol-use-unicode) (< encoding 256))
+ (make-char (caddr cset) (- encoding 128)))
+ (t
+ ;; it must be Unicode...
+ (decode-char 'ucs encoding)))))
+; (make-char (caddr cset)
+; (mod encoding 256)
+; (/ encoding 256))))))
(put-char-table char charsym x-symbol-mule-char-table)
(x-symbol-set-cstrings charsym coding char
- (and coding (>= encoding 160)
+ (and coding
+ (>= encoding 160)
+ (not x-symbol-use-unicode)
(make-char x-symbol-mule-default-charset
(- encoding 128)))
face)))
+;; (format "#x%x" (+ (* 3 256) 147)) = 0x393
+;; (make-char 'mule-unicode-2500-33ff 147 3)
+
(defun x-symbol-mule-init-charsym-syntax (charsyms)
"Initialize the syntax for the characters represented by CHARSYMS.
See `x-symbol-init-cset' and `x-symbol-group-syntax-alist'."