[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: How to set the font of a region?
From: |
Oliver Scholz |
Subject: |
Re: How to set the font of a region? |
Date: |
Thu, 05 Aug 2004 10:12:55 +0200 |
User-agent: |
Gnus/5.1006 (Gnus v5.10.6) Emacs/21.3.50 (windows-nt) |
Pascal Bourguignon <spam@thalassa.informatimago.com> writes:
> I tried this (on X, emacs 21.3.1):
>
> (let* ((default-font "-*-console-medium-r-normal-*-16-*-*-*-*-*-*-*")
> (default-face (gensym "face")))
> (make-face default-face)
> (set-face-font default-face default-font)
> (dolist (font font-list)
> (let ((face (gensym "face")))
> (make-face face)
> (set-face-font face font)
> (let ((start (point)))
> (insert font)
> (insert "\n")
> (facemenu-add-face 'default start (point))
> (facemenu-set-face default-face start (point)))
> (let ((start (point)))
> (insert "The lazy dog jumped over the fast fox! (let [it {be} and]
> say) no.more;\n")
> (facemenu-add-face 'default start (point))
> (facemenu-set-face face start (point))))))
>
[...]
> but all the text generated keeps the same default font. Why my
> facemenu-set-face calls are without effect?
What major mode had the buffer in which you tried it? If font-lock
mode is on, it removes all faces from buffer text before it adds its
own. (In CVS Emacs you can use the text property `font-lock-face' to
deal with that.)
Also, I'd use `put-text-property' to add faces programmatically. And
for cases like the above, I'd use an anonymous face---a list of the
form:
(face . PROPERTIES)
(progn
(switch-to-buffer (generate-new-buffer "*tmp*"))
(fundamental-mode)
(let ((start (point)))
(insert "The quick brown fox jumps over the lazy dog.\n")
;; (facemenu-add-face 'font-lock-warning-face start (point))
(put-text-property start (point)
'face
'(face :family "times new roman" :foreground "blue"))
))
Oliver
--
19 Thermidor an 212 de la Révolution
Liberté, Egalité, Fraternité!
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: How to set the font of a region?,
Oliver Scholz <=