Function: hfy-face-or-def-to-name
hfy-face-or-def-to-name is a byte-compiled function defined in
htmlfontify.el.gz.
Signature
(hfy-face-or-def-to-name FN)
Documentation
Render a font symbol or defface font spec FN into a name (string).
Source Code
;; Defined in /usr/src/emacs/lisp/htmlfontify.el.gz
;; strip redundant bits from a name. Technically, this could result in
;; a collision, but it is pretty unlikely - will fix later...
;; also handle ephemeral fonts created by overlays, which don't actually
;; have names:
(defun hfy-face-or-def-to-name (fn)
"Render a font symbol or `defface' font spec FN into a name (string)."
;;(message "generating name for %s" fn)
(if (not (listp fn))
(format "%s" fn)
(let* ((key (format "%s" fn))
(entry (assoc key hfy-tmpfont-stack))
(base (cadr (memq :inherit fn)))
(tag (cdr entry)))
;;(message "checking for key «%s» in font stack [%d]"
;; key (if entry 1 0))
(if entry nil ;; noop
(setq tag (format "%04d" (length hfy-tmpfont-stack))
entry (cons key tag)
hfy-tmpfont-stack (cons entry hfy-tmpfont-stack)))
;;(message " -> name: %s-%s" (or base 'default) tag)
(format "%s-%s" (or base 'default) tag)) ))