I'm running a 21.5 build from CVS on Cygwin. Unlike my long-time
standby 21.4.13, this new XEmacs uses Lucida Console as the default
font family, whereas all previous XEmacs versions I've seen used
Courier New. This change would be harmless, but I can't figure out how
to specify my font preferences "early enough" to prevent certain basic
faces from taking on the default Lucida Console family.
The two examples troubling me so far are the "bold" and "italic"
faces. It seems that I can coerce the "default" face to the Courier New
family, but the "bold" and "italic" faces get stuck. I notice that
these faces appear early as part of the splash screen. My assumption
is that my face specification code gets run after the splash screen is
created. My specifications then get read, but by then the "bold" and
"italic" faces already exist and don't change in response to my
request for a different font family.
>From my ~/.xemacs/init.el, I load another file in that directory,
fonts.el, that contains forms like:
,----[ ~/.xemacs/fonts.el extract ]
| (custom-set-faces
| '(default
| ((t
| (:family "Courier New"))) t)
|
| '(default
| ((((class color))
| (:family "Courier New" :foreground "gray90" :background "black"))) t)
|
| '(bold
| ((t
| (:family "Courier New"))) t)
|
| '(italic
| ((t
| (:family "Courier New"))) t)
|
| ;;:* selecting w/ mouse
| '(zmacs-region
| ((((class color) (background dark))
| (:foreground "yellow" :background "gray30"))) t)
|
| ; [Many more faces ...]
`----
The "default" 't' entry is new, as are the "bold" and "italic"
entries. What I'd like to specify is, "In all cases, the default font
family is Courier New." I had assumed that the "bold" and "italic"
faces would just inherit the family from the "default" face; that
doesn't seem to be working here.
Maybe custom-set-faces is the wrong way to go here. I don't use the
custom interface much; my use of custom-set-faces here came from
snooping on Robin Socha's public XEmacs configuration files.
What is the /right/ way to overrule the default font family?
--
Steven E. Harris