summaryrefslogtreecommitdiff
path: root/lisp/faces.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/faces.el')
-rw-r--r--lisp/faces.el62
1 files changed, 60 insertions, 2 deletions
diff --git a/lisp/faces.el b/lisp/faces.el
index c44bee322a2..a7b93568f13 100644
--- a/lisp/faces.el
+++ b/lisp/faces.el
@@ -103,6 +103,63 @@ REGISTRY, ALTERNATIVE1, ALTERNATIVE2, and etc."
(internal-set-alternative-font-registry-alist value)))
+(defcustom font-weight-table
+ '((thin . 0)
+ (ultralight . 40) (ultra-light . 40) (extra-light . 40)
+ (light . 50)
+ (semilight . 65) (semi-light . 65)
+ (book . 75)
+ (medium . 100) (regular . 100) (normal . 100)
+ (semibold . 180) (semi-bold . 180) (demibold . 180) (demi . 180)
+ (bold . 200)
+ (extrabold . 205) (extra-bold . 205)
+ (ultrabold . 205) (ultra-bold . 205)
+ (black . 210) (heavy . 210))
+ "*Alist of font weight symbols vs the corresponding numeric values."
+ :tag "Font weight table"
+ :version "23.1"
+ :group 'font-selection
+ :type '(repeat (cons symbol integer))
+ :set #'(lambda (symbol value)
+ (set-default symbol value)
+ (if (fboundp 'internal-set-font-style-table)
+ (internal-set-font-style-table :weight value))))
+
+(defcustom font-slant-table
+ '((ro . 0)
+ (ri . 10)
+ (r . 100) (roman . 100) (normal . 100)
+ (i . 200) (italic . 200) (ot . 200)
+ (o . 210) (oblique . 210))
+ "*Alist of font slant symbols vs the corresponding numeric values."
+ :tag "Font slant table"
+ :version "23.1"
+ :group 'font-selection
+ :type '(repeat (cons symbol integer))
+ :set #'(lambda (symbol value)
+ (set-default symbol value)
+ (if (fboundp 'internal-set-font-style-table)
+ (internal-set-font-style-table :slant value))))
+
+(defcustom font-swidth-table
+ '((ultracondensed . 50) (ultra-condensed . 50)
+ (extracondensed . 63) (extra-condensed . 63)
+ (condensed . 75) (compressed . 75) (narrow . 75)
+ (semicondensed . 87) (semi-condensed . 87)
+ (normal . 100) (medium . 100) (regular . 100)
+ (semiexpanded . 113) (semi-expanded . 113) (demiexpanded . 113)
+ (expanded . 125)
+ (extraexpanded . 150) (extra-expanded . 150)
+ (ultraexpanded . 200) (ultra-expanded . 200) (wide . 200))
+ "*Alist of font swidth symbols vs the corresponding numeric values."
+ :tag "Font swidth table"
+ :version "23.1"
+ :group 'font-selection
+ :type '(repeat (cons symbol integer))
+ :set #'(lambda (symbol value)
+ (set-default symbol value)
+ (if (fboundp 'internal-set-font-style-table)
+ (internal-set-font-style-table :width value))))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; Creation, copying.
@@ -1101,7 +1158,7 @@ of a global face. Value is the new attribute value."
If optional argument FRAME is nil or omitted, use the selected frame."
(let ((completion-ignore-case t))
(completing-read (format "Set font attributes of face `%s' from font: " face)
- (x-list-fonts "*" nil frame))))
+ (append (fontset-list) (x-list-fonts "*" nil frame)))))
(defun read-all-face-attributes (face &optional frame)
@@ -1275,7 +1332,8 @@ If FRAME is omitted or nil, use the selected frame."
(:box . "Box")
(:inverse-video . "Inverse")
(:stipple . "Stipple")
- (:font . "Font or fontset")
+ (:font . "Font")
+ (:fontset . "Fontset")
(:inherit . "Inherit")))
(max-width (apply #'max (mapcar #'(lambda (x) (length (cdr x)))
attrs))))