As a point solution I thought this might do the trick (read on):
Index: faces.el
===================================================================
RCS file: /usr/CVSroot/XEmacs/xemacs-20/lisp/faces.el,v
retrieving revision 1.15
diff -u -u -r1.15 faces.el
--- faces.el 1998/05/27 20:41:50 1.15
+++ faces.el 1998/06/12 20:24:32
@@ -336,8 +336,13 @@
(setq face (get-face face))
(if (memq property built-in-face-specifiers)
- (set-specifier (get face property) value locale tag-set how-to-add)
-
+ (and (set-specifier (get face property) value locale tag-set
how-to-add)
+ (eq property 'font)
+ (eq face (get-face 'default))
+ (set-specifier (get (get-face 'bold) 'font) value locale tag-set
how-to-add)
+ (set-specifier (get (get-face 'italic) 'font) value locale tag-set
how-to-add)
+ (set-specifier (get (get-face 'bold-italic) 'font) value locale
tag-set how-to-add))
+; (init-other-random-faces (selected-device)))
;; This section adds user defined properties.
(if (not locale)
(put face property value)
However although the spec list then looks ok for 'bold etc the font still
comes out as courier. FI the spec list looks like this:
#<font-specifier global=("Arial:Regular:10" ((default mswindows) .
"Arial:Regular:10")) fallback=#<font-specifier
global=("Arial:Regular:10"
((default mswindows) . "Arial:Regular:10")) fallback=(((mswindows) .
"Courier New") ((tty) . "normal") ((x) .
"-*-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-*") ((x) .
"-*-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-*") ((x) .
"-*-courier-*-r-*-*-*-120-*-*-*-*-iso8859-*") ...) 0x19e> 0x71e>
But edit-faces still shows:
Courier New:Bold:10::ansi
Which isn't in the spec list. What is going on?
andy
---------------------------------------------------------------------------
" .sigs are like your face - rarely seen by you and uglier than you think"
Dr Andy Piper, Technical Architect, Parallax Solutions Ltd
mail: andyp(a)parallax.co.uk web:
www.parallax.co.uk/~andyp