* Giacomo Boffi <giacomo.boffi(a)polimi.it> writes:
Julian Bradfield writes:
> Can somebody tell me how to find which font instance is being used
> to display the character at point in the current frame?
this is in my init.el, it's not mine, i cannot remember where it
come from
(defun describe-face-at-point ()
"Return face used at point."
(interactive)
(hyper-describe-face (get-char-property (point) 'face)))
There are a couple small shortcomings with this. Firstly, the default
face doesn't have a `face' property (funnily enough, neither does
whitespace:-P). Second... `(get-char-property (point) 'face)' might
return a list of faces.
In the first scenario (default face/whitespace) you'll get a "Sorry,
nothing to describe" back from #'hyper-describe-face.
In the 2nd scenario (list of faces) you'll get a Wrong type argument,
symbolp error.
This might be better...
(defun font-instance-at-point ()
"Return a list of font instances of char at point.
If there is no char \(whitespace for example\) then a list of font
instances for the default face are returned."
(let ((default (list (face-font-instance 'default)))
(faces (get-char-property (point) 'face)))
(cond ((and faces (listp faces))
(mapcar
#'(lambda (f)
(face-font-instance f)) faces))
(faces
(list (face-font-instance faces)))
(t
default))))
HTH.
--
|---<Steve Youngs>---------------<GnuPG KeyID: A94B3003>---|
| SXEmacs - The only _______ you'll ever need. |
| Fill in the blank, yes, it's THAT good! |
|------------------------------------<steve(a)sxemacs.org>---|
_______________________________________________
XEmacs-Beta mailing list
XEmacs-Beta(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-beta