aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Aspinall2007-06-10 12:57:59 +0000
committerDavid Aspinall2007-06-10 12:57:59 +0000
commit34e0c59a3c50d55fa6a34f8d109714a8aeeadac6 (patch)
tree44ac931288d9b33688fbbca3be319d925dc88c57
parent32dce0bc78563c4b60fb11eeeae3be88a6555f7a (diff)
Cleanup mac init, make it compile safe
-rw-r--r--x-symbol/lisp/x-symbol.el93
1 files changed, 53 insertions, 40 deletions
diff --git a/x-symbol/lisp/x-symbol.el b/x-symbol/lisp/x-symbol.el
index 55a3a6a2..abc51c94 100644
--- a/x-symbol/lisp/x-symbol.el
+++ b/x-symbol/lisp/x-symbol.el
@@ -4876,9 +4876,54 @@ uses it with TOKEN and CHARSYM."
;;;===========================================================================
+;; Patch added by DA for Proof General with Carbon Emacs, with help from
+;; YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>.
+;;;===========================================================================
+
+(defun x-symbol-mac-setup1 ()
+ ;; Use David Aspinall's xsymb1.ttf font
+ ;; (setq x-symbol-xsymb1-name "xsymb1_ttf")
+ ;; Use Norbert Voelker's isaxsymb1.ttf font
+ (progn
+ (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")))))
+
+(eval-and-compile ;; da: tricky to compile this; define-ccl-program is a macro
+'(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"))
+
+(defun x-symbol-mac-setup2 ()
+ (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)))
+
+
+;;;===========================================================================
;;; Calling the init code
;;;===========================================================================
+
(unless noninteractive
;; necessary for batch compilation of x-symbol-image.el etc. CW: maybe
;; calling the init code here isn't that good after all (see info node
@@ -4909,28 +4954,13 @@ uses it with TOKEN and CHARSYM."
(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")))))
+ (setq x-symbol-xsymb1-fonts nil)))
+
+ (if (eq window-system 'mac)
+ (x-symbol-mac-setup1))
(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
@@ -4946,26 +4976,9 @@ uses it with TOKEN and CHARSYM."
(x-symbol-init-cset x-symbol-xsymb1-cset x-symbol-xsymb1-fonts
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))))
+ (if (eq window-system 'mac)
+ (x-symbol-mac-setup2)))
+
;; (when x-symbol-mule-change-default-face
;; (set-face-font 'default (face-attribute 'x-symbol-face :font)))