794 |
(cdr (assq 'width (frame-parameters frame)))) |
(cdr (assq 'width (frame-parameters frame)))) |
795 |
|
|
796 |
(defalias 'set-default-font 'set-frame-font) |
(defalias 'set-default-font 'set-frame-font) |
797 |
(defun set-frame-font (font-name) |
(defun set-frame-font (font-name &optional keep-size) |
798 |
"Set the font of the selected frame to FONT-NAME. |
"Set the font of the selected frame to FONT-NAME. |
799 |
When called interactively, prompt for the name of the font to use. |
When called interactively, prompt for the name of the font to use. |
800 |
To get the frame's current default font, use `frame-parameters'." |
To get the frame's current default font, use `frame-parameters'. |
801 |
|
|
802 |
|
The default behavior is to keep the numbers of lines and columns in |
803 |
|
the frame, thus may change its pixel size. If optional KEEP-SIZE is |
804 |
|
non-nil (interactively, prefix argument) the current frame size (in |
805 |
|
pixels) is kept by adjusting the numbers of the lines and columns." |
806 |
(interactive |
(interactive |
807 |
(list |
(let* ((completion-ignore-case t) |
808 |
(let ((completion-ignore-case t)) |
(font (completing-read "Font name: " |
809 |
(completing-read "Font name: " |
(mapcar #'list |
810 |
(mapcar #'list |
;; x-list-fonts will fail with an error |
811 |
;; x-list-fonts will fail with an error |
;; if this frame doesn't support fonts. |
812 |
;; if this frame doesn't support fonts. |
(x-list-fonts "*" nil (selected-frame)))))) |
813 |
(x-list-fonts "*" nil (selected-frame))))))) |
(list font current-prefix-arg))) |
814 |
(modify-frame-parameters (selected-frame) |
(let (fht fwd) |
815 |
(list (cons 'font font-name))) |
(if keep-size |
816 |
|
(setq fht (* (frame-parameter nil 'height) (frame-char-height)) |
817 |
|
fwd (* (frame-parameter nil 'width) (frame-char-width)))) |
818 |
|
(modify-frame-parameters (selected-frame) |
819 |
|
(list (cons 'font font-name))) |
820 |
|
(if keep-size |
821 |
|
(modify-frame-parameters |
822 |
|
(selected-frame) |
823 |
|
(list (cons 'height (round fht (frame-char-height))) |
824 |
|
(cons 'width (round fwd (frame-char-width))))))) |
825 |
(run-hooks 'after-setting-font-hook 'after-setting-font-hooks)) |
(run-hooks 'after-setting-font-hook 'after-setting-font-hooks)) |
826 |
|
|
827 |
(defun set-frame-parameter (frame parameter value) |
(defun set-frame-parameter (frame parameter value) |