Subject: bug#12000: 24.1.50; do not hard-code `bold' font for help output

From: "Drew Adams" <[email-masked]>
Date: Fri, 20 Jul 2012 11:37:26 -0700

Please, please, please stop hard-coding faces.  You take power and
control away from users, and such an approach is short-sighted (if not
lazy). 
 
Look at the attached screenshot, which shows the links to minor-mode
sections of the *Help* buffer in the output of `describe-mode'.  Do you
find it readable with all that bold text?  No, of course not.  And the
annoyance is multiplied by the fact that a huge, run-on paragraph of
consecutive links is all in bold.  (That run-on paragraph of links is
itself bad design, but that's another story.)
 
Yet the font used in the screenshot is a very good one in general - just
contrast the non-bold words in the screenshot with the NOISYUGLINESS of
the rest.  The font is good, but it does not support boldness well.  And
that is actually pretty common.
 
Bold is a bad choice even for a default face, because many good fonts do
not support it well.  But especially is it horrible to hard-code the
choice.  Hard-coding faces in Emacs code should be verboten, requiring a
special dispensation from the UN Secretary General or RMS.
 
This is the font used in the screen shot, FYI:
"-outline-Lucida
Console-normal-normal-normal-mono-14-*-*-*-c-*-iso8859-1"
 
Please give users a new face intended to be appropriate to the
particular use, so they can customize just that use case.  Here, the use
is as a link in *Help* text, and the hard-coded face is `bold'.
 
Providing specific faces for given use cases means more faces, in
general.  But that does not stop you from providing a default appearance
for a new face that, say, inherits from an existing face.  Even (GNU
forbid!) from face `bold'.
 
The important thing is for users to be able to customize one use case,
without affecting other use cases all over the place.  You should not
require a user to customize face `bold' just for this particular use,
with the attendant side effect that it also changes the appearance in
other, unrelated contexts.

In GNU Emacs 24.1.50.1 (i386-mingw-nt5.1.2600)
 of 2012-07-16 on MARVIN
Bzr revision: 109106 [email-masked]
Windowing system distributor `Microsoft Corp.', version 5.1.2600
Configured using:
 `configure --with-gcc (4.6) --no-opt --enable-checking --cflags
 -ID:/devel/emacs/libs/libXpm-3.5.8/include
 -ID:/devel/emacs/libs/libXpm-3.5.8/src
 -ID:/devel/emacs/libs/libpng-dev_1.4.3-1/include
 -ID:/devel/emacs/libs/zlib-dev_1.2.5-2/include
 -ID:/devel/emacs/libs/giflib-4.1.4-1/include
 -ID:/devel/emacs/libs/jpeg-6b-4/include
 -ID:/devel/emacs/libs/tiff-3.8.2-1/include
 -ID:/devel/emacs/libs/gnutls-3.0.9/include
 -ID:/devel/emacs/libs/libiconv-1.13.1-1-dev/include
 -ID:/devel/emacs/libs/libxml2-2.7.8/include/libxml2'