summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2016-05-13 13:30:33 -0700
committerPaul Eggert <eggert@cs.ucla.edu>2016-05-13 13:32:29 -0700
commit36906806ccfc0e53f1d8c365ab0d7151288b7833 (patch)
treec21972d551a2727eb9834173658d4147f0dbbccd
parent536ddf40cc30fbf68c4e6afb2d3d2d8e53458381 (diff)
Improve display of tex-verbatim and Info quoted
Problem reported by Glenn Morris (Bug#19889). * doc/emacs/display.texi (Standard Faces): * doc/lispref/display.texi (Basic Faces): * etc/NEWS: Mention fixed-pitch-serif. * lisp/faces.el (face-font-family-alternatives): New family alias Monospace Serif. (fixed-pitch-serif): New face, which uses the new family. * lisp/info.el (Info-quoted): * lisp/textmodes/tex-mode.el (tex-verbatim): Use the new face. * test/lisp/legacy/font-parse-tests.el (font-parse-tests--data): Add test case for Monospace Serif.
-rw-r--r--doc/emacs/display.texi3
-rw-r--r--doc/lispref/display.texi1
-rw-r--r--etc/NEWS4
-rw-r--r--lisp/faces.el29
-rw-r--r--lisp/info.el2
-rw-r--r--lisp/textmodes/tex-mode.el3
-rw-r--r--test/lisp/legacy/font-parse-tests.el1
7 files changed, 40 insertions, 3 deletions
diff --git a/doc/emacs/display.texi b/doc/emacs/display.texi
index 89f5bec363..3f5aac1c2f 100644
--- a/doc/emacs/display.texi
+++ b/doc/emacs/display.texi
@@ -613,6 +613,9 @@ This face underlines text.
This face forces use of a fixed-width font. It's reasonable to
customize this face to use a different fixed-width font, if you like,
but you should not make it a variable-width font.
+@item fixed-pitch-serif
+This face is like @code{fixed-pitch}, except the font has serifs and
+looks more like traditional typewriting.
@cindex variable-pitch face
@item variable-pitch
This face forces use of a variable-width font.
diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi
index 87126f9167..1956ee5503 100644
--- a/doc/lispref/display.texi
+++ b/doc/lispref/display.texi
@@ -3017,6 +3017,7 @@ attribute on this face (@pxref{Face Attributes}).
@itemx bold-italic
@itemx underline
@itemx fixed-pitch
+@itemx fixed-pitch-serif
@itemx variable-pitch
These have the attributes indicated by their names (e.g., @code{bold}
has a bold @code{:weight} attribute), with all other attributes
diff --git a/etc/NEWS b/etc/NEWS
index 31229f11e5..a910eafa62 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -470,6 +470,10 @@ ABBR is a time zone abbreviation. The affected functions are
'current-time-string', 'current-time-zone', 'decode-time',
'format-time-string', and 'set-time-zone-rule'.
++++
+*** New basic face 'fixed-pitch-serif', for a fixed-width font with serifs.
+The Info-quoted and tex-verbatim faces now default to inheriting from it.
+
* Changes in Emacs 25.2 on Non-Free Operating Systems
diff --git a/lisp/faces.el b/lisp/faces.el
index 71c94e563c..4193c1e27e 100644
--- a/lisp/faces.el
+++ b/lisp/faces.el
@@ -98,7 +98,31 @@ a font height that isn't optimal."
(defcustom face-font-family-alternatives
(mapcar (lambda (arg) (mapcar 'purecopy arg))
'(("Monospace" "courier" "fixed")
+
+ ;; Monospace Serif is an Emacs invention, intended to work around
+ ;; portability problems when using Courier. It should work well
+ ;; when combined with Monospaced and with other standard fonts.
+ ("Monospace Serif"
+
+ ;; This looks good on GNU/Linux.
+ "Courier 10 Pitch"
+ ;; This looks good on MS-Windows and OS X.
+ "Consolas"
+ ;; This looks good on OS X. "Courier" looks good too, but is
+ ;; jagged on GNU/Linux and so is listed later as "courier".
+ "Courier Std"
+ ;; Although these are anti-aliased, they are a bit faint compared
+ ;; to the above.
+ "FreeMono" "Nimbus Mono L"
+ ;; These are aliased and look jagged.
+ "courier" "fixed"
+ ;; Omit Courier New, as it is the default MS-Windows font and so
+ ;; would look no different, and is pretty faint on other platforms.
+ )
+
+ ;; This is present for backward compatibility.
("courier" "CMU Typewriter Text" "fixed")
+
("Sans Serif" "helv" "helvetica" "arial" "fixed")
("helv" "helvetica" "arial" "fixed")))
"Alist of alternative font family names.
@@ -2318,6 +2342,11 @@ If you set `term-file-prefix' to nil, this function does nothing."
"The basic fixed-pitch face."
:group 'basic-faces)
+(defface fixed-pitch-serif
+ '((t :family "Monospace Serif"))
+ "The basic fixed-pitch face with serifs."
+ :group 'basic-faces)
+
(defface variable-pitch
'((((type w32))
;; This is a kludgy workaround for an issue discussed in
diff --git a/lisp/info.el b/lisp/info.el
index 6426cfcf9e..ae46fba25b 100644
--- a/lisp/info.el
+++ b/lisp/info.el
@@ -4236,7 +4236,7 @@ With a zero prefix arg, put the name inside a function call to `info'."
"Syntax table used in `Info-mode'.")
(defface Info-quoted
- '((t :family "courier"))
+ '((t :inherit fixed-pitch-serif))
"Face used for quoted elements.")
(defvar Info-mode-font-lock-keywords
diff --git a/lisp/textmodes/tex-mode.el b/lisp/textmodes/tex-mode.el
index 973b2d373d..b38b147b3e 100644
--- a/lisp/textmodes/tex-mode.el
+++ b/lisp/textmodes/tex-mode.el
@@ -804,8 +804,7 @@ Not smaller than the value set by `tex-suscript-height-minimum'."
(defvar tex-math-face 'tex-math)
(defface tex-verbatim
- ;; '((t :inherit font-lock-string-face))
- '((t :family "courier"))
+ '((t :inherit fixed-pitch-serif))
"Face used to highlight TeX verbatim environments."
:group 'tex)
(define-obsolete-face-alias 'tex-verbatim-face 'tex-verbatim "22.1")
diff --git a/test/lisp/legacy/font-parse-tests.el b/test/lisp/legacy/font-parse-tests.el
index 6274253360..9f730d3148 100644
--- a/test/lisp/legacy/font-parse-tests.el
+++ b/test/lisp/legacy/font-parse-tests.el
@@ -32,6 +32,7 @@
(defvar font-parse-tests--data
`((" " ,(intern " ") nil nil nil nil)
("Monospace" Monospace nil nil nil nil)
+ ("Monospace Serif" ,(intern "Monospace Serif") nil nil nil nil)
("Foo1" Foo1 nil nil nil nil)
("12" nil 12.0 nil nil nil)
("12 " ,(intern "12 ") nil nil nil nil)