aboutsummaryrefslogtreecommitdiffhomepage
path: root/x-symbol
diff options
context:
space:
mode:
authorGravatar David Aspinall <da@inf.ed.ac.uk>2007-05-11 08:05:40 +0000
committerGravatar David Aspinall <da@inf.ed.ac.uk>2007-05-11 08:05:40 +0000
commitab233d035f71ef3409df617031479dcf3f26d884 (patch)
treecec0d715c45c1acd5e8955a7d7e2f1fa408b5226 /x-symbol
parent425b5e5e4c9c2a466317e12270b73d74062c1cde (diff)
Experimental patch for unicode/mac support
Diffstat (limited to 'x-symbol')
-rw-r--r--x-symbol/lisp/x-symbol.el63
1 files changed, 57 insertions, 6 deletions
diff --git a/x-symbol/lisp/x-symbol.el b/x-symbol/lisp/x-symbol.el
index 093fcc89..55a3a6a2 100644
--- a/x-symbol/lisp/x-symbol.el
+++ b/x-symbol/lisp/x-symbol.el
@@ -4886,8 +4886,9 @@ uses it with TOKEN and CHARSYM."
(x-symbol-initialize)
(setq x-symbol-all-charsyms nil)
- ;; temp hack for console. TODO: find better ways to prevent warnings etc
- (unless (console-type)
+ (cond
+ ;; temp hack for console. TODO: find better ways to prevent warnings etc
+ ((not (console-type))
(unless x-symbol-default-coding
(warn "X-Symbol: only limited support on a console"))
(unless (eq x-symbol-latin-force-use 'console-user)
@@ -4898,9 +4899,38 @@ uses it with TOKEN and CHARSYM."
(setq x-symbol-latin9-fonts nil)
(setq x-symbol-xsymb0-fonts nil)
(setq x-symbol-xsymb1-fonts nil)))
-
+
+ ;; da: similar crude hack to disable other fonts in case of unicode.
+ (x-symbol-use-unicode
+ (require 'x-symbol-unicode)
+ (setq x-symbol-latin1-fonts nil)
+ (setq x-symbol-latin2-fonts nil)
+ (setq x-symbol-latin3-fonts nil)
+ (setq x-symbol-latin5-fonts nil)
+ (setq x-symbol-latin9-fonts nil)
+ (setq x-symbol-xsymb0-fonts nil)
+ (setq x-symbol-xsymb1-fonts nil))
+
+ ;; Patch with help from YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
+ ;; for Carbon Emacs.
+ ((eq window-system 'mac)
+; Use David Aspinall's xsymb1.ttf font
+; (setq x-symbol-xsymb1-name "xsymb1_ttf")
+; Use Norbert Voelker's isaxsymb1.ttf font
+ (setq x-symbol-xsymb1-name "isaxsym")
+ (setq x-symbol-latin1-fonts nil)
+ (setq x-symbol-latin2-fonts nil)
+ (setq x-symbol-latin3-fonts nil)
+ (setq x-symbol-latin5-fonts nil)
+ (setq x-symbol-latin9-fonts nil)
+ (setq x-symbol-xsymb0-fonts
+ '("-apple-symbol-medium-r-normal--%d-%d0-*-*-*-*-adobe-fontspecific"))
+ (setq x-symbol-xsymb1-fonts
+ (list (concat "-apple-" x-symbol-xsymb1-name
+ "-medium-r-normal--%d-%d0-*-*-*-*-iso10646-1")))))
+
(x-symbol-init-cset x-symbol-latin1-cset x-symbol-latin1-fonts
- x-symbol-latin1-table)
+ x-symbol-latin1-table)
(x-symbol-init-cset x-symbol-latin2-cset x-symbol-latin2-fonts
x-symbol-latin2-table)
(x-symbol-init-cset x-symbol-latin3-cset x-symbol-latin3-fonts
@@ -4914,8 +4944,29 @@ uses it with TOKEN and CHARSYM."
(x-symbol-init-cset x-symbol-xsymb0-cset x-symbol-xsymb0-fonts
x-symbol-xsymb0-table)
(x-symbol-init-cset x-symbol-xsymb1-cset x-symbol-xsymb1-fonts
- x-symbol-xsymb1-table))
-
+ x-symbol-xsymb1-table)
+
+ ;; Patch from YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
+ ;; continued.
+ (when (eq window-system 'mac)
+ (define-ccl-program ccl-encode-fake-xsymb1-font
+ `(0
+ ((r2 = r1)
+ (r1 = 0)
+ (if (r0 == ,(charset-id 'xsymb1-right))
+ (r2 |= 128))))
+ "CCL program for fake xsymb1 font")
+ (setq font-ccl-encoder-alist
+ (cons (cons x-symbol-xsymb1-name ccl-encode-fake-xsymb1-font)
+ font-ccl-encoder-alist))
+ (set-fontset-font nil 'xsymb1-left
+ (cons x-symbol-xsymb1-name "iso10646-1"))
+ (set-fontset-font nil 'xsymb1-right
+ (cons x-symbol-xsymb1-name "iso10646-1"))
+ (dolist (face '(x-symbol-face x-symbol-sub-face x-symbol-sup-face))
+ (set-face-attribute face nil
+ :family 'unspecified :font 'unspecified))))
+
;; (when x-symbol-mule-change-default-face
;; (set-face-font 'default (face-attribute 'x-symbol-face :font)))