diff options
Diffstat (limited to 'lisp/faces.el')
-rw-r--r-- | lisp/faces.el | 62 |
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)))) |