help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Need Help on Whitespace-mode in Emacs 24.1.1


From: Peter Dyballa
Subject: Re: Need Help on Whitespace-mode in Emacs 24.1.1
Date: Sun, 26 Aug 2012 17:57:03 +0200

Am 26.08.2012 um 17:17 schrieb Drew Adams:

> I've just posted my version on Emacs Wiki, as font-menus-da.el.  But I will
> probably tweak it a bit more today.

The output is a list of XLFD names – do they enable GNU Emacs 24 to load these 
fonts via libfontconfig (and not via the X server), apply libotf and libm17n-* 
to get full font support and complex type layout? If not, than the fontconfig 
names (and features as if from fc-list/fc-match) would be a better choice.

And another output could be possible, that from this function by Miles Bader:

;;; ----------------------------------------------------------------
;;; list-fonts-display via font-config
(defun list-fonts-display (&optional matching)
     "Display a list of font-families available via font-config, in a new 
buffer.
   If the optional argument MATCHING is non-nil, only font families
   matching that regexp are displayed; interactively, a prefix
   argument will prompt for the regexp.
   The name of each font family is displayed using that family, as
   well as in the default font (to handle the case where a font
   cannot be used to display its own name)."
     (interactive
      (list
       (and current-prefix-arg
            (read-string "Display font families matching regexp: "))))
     (let (families)
       (with-temp-buffer
         (shell-command "fc-list : family" t)
         (goto-char (point-min))
         (while (not (eobp))
           (let ((fam (buffer-substring (line-beginning-position)
                                        (line-end-position))))
             (when (or (null matching) (string-match matching fam))
               (push fam families)))
           (forward-line)))
       (setq families
             (sort families
                   (lambda (x y) (string-lessp (downcase x) (downcase y)))))
       (let ((buf (get-buffer-create "*Font Families*")))
         (with-current-buffer buf
           (erase-buffer)
           (dolist (family families)
             ;; We need to pick one of the comma-separated names to
             ;; actually use the font; choose the longest one because some
             ;; fonts have ambiguous general names as well as specific
             ;; ones.
             (let ((family-name
                    (car (sort (split-string family ",")
                               (lambda (x y) (> (length x) (length y))))))
                   (nice-family (replace-regexp-in-string "," ", " family)))
               (insert (concat (propertize nice-family
                                           'face (list :family family-name))
                               " (" nice-family ")"))
               (newline)))
           (goto-char (point-min)))
         (display-buffer buf))))
;; --------------------------------------------------------

--
Greetings

  Pete

No project was ever completed on time and within budget. 
                                – Cheops Law




reply via email to

[Prev in Thread] Current Thread [Next in Thread]