mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-02-10 01:34:36 -08:00
* faces.el (set-face-font): Call x-resolve-font-name on the font
before including it in the face. (x-resolve-font-name): New function.
This commit is contained in:
parent
db176f55de
commit
281dc1c259
1 changed files with 15 additions and 1 deletions
|
|
@ -85,7 +85,8 @@ Otherwise report on the defaults for face FACE (for new frames)."
|
|||
If the optional FRAME argument is provided, change only
|
||||
in that frame; otherwise change each frame."
|
||||
(interactive (internal-face-interactive "font"))
|
||||
(internal-set-face-1 face 'font font 3 frame))
|
||||
(internal-set-face-1 face 'font (x-resolve-font-name font face frame)
|
||||
3 frame))
|
||||
|
||||
(defsubst set-face-foreground (face color &optional frame)
|
||||
"Change the foreground color of face FACE to COLOR (a string).
|
||||
|
|
@ -412,6 +413,19 @@ set its foreground and background to the default background and foreground."
|
|||
(setq x-font-regexp-weight (concat - weight -))
|
||||
nil)
|
||||
|
||||
(defun x-resolve-font-name (pattern &optional face frame)
|
||||
"Return a font name matching PATTERN.
|
||||
All wildcards in PATTERN become substantiated.
|
||||
Given optional arguments FACE and FRAME, try to return a font which is
|
||||
also the same size as FACE on FRAME,"
|
||||
(let ((fonts (x-list-fonts pattern face frame)))
|
||||
(or fonts
|
||||
(if face
|
||||
(error "no fonts match `%S'." pattern)
|
||||
(error "no fonts matching pattern are the same size as `%s'."
|
||||
pattern face)))
|
||||
(car fonts)))
|
||||
|
||||
(defun x-frob-font-weight (font which)
|
||||
(if (or (string-match x-font-regexp font)
|
||||
(string-match x-font-regexp-head font)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue