;;;###autoload
(defun describe-font (fontname)
- "Display information about a font whose name is FONTNAME.
-The font must be already used by Emacs."
- (interactive "sFont name (default current choice for ASCII chars): ")
+ "Display information about a font whose name is FONTNAME."
+ (interactive
+ (list (completing-read
+ "Font name (default current choice for ASCII chars): "
+ (and window-system
+ (fboundp 'fontset-list)
+ ;; The final element in `fontset-list' is a default
+ ;; (generic) one, so don't include that.
+ (nconc (butlast (fontset-list))
+ (x-list-fonts "*"))))))
(or (and window-system (fboundp 'fontset-list))
(error "No fonts being used"))
(let ((xref-item (list #'describe-font fontname))
(setq font-info (font-info fontname))
(if (null font-info)
(if (fontp fontname 'font-object)
- ;; The font should be surely used. So, there's some
- ;; problem about getting information about it. It is
- ;; better to print the fontname to show which font has
+ ;; If there's some problem with getting information about
+ ;; the font, print the font name to show which font has
;; this problem.
(message "No information about \"%s\"" (font-xlfd-name fontname))
(message "No matching font found"))
FEATURE is a symbol representing OpenType feature tag.
If the font is not an OpenType font, there are no elements
- in CAPABILITY except the font format symbol.
-
-If the named font is not yet loaded, return nil. */)
+ in CAPABILITY except the font format symbol. */)
(Lisp_Object name, Lisp_Object frame)
{
struct frame *f;