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

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

Re: Help in querying xlsfonts for a particular font from elisp


From: Andrew M. Scott
Subject: Re: Help in querying xlsfonts for a particular font from elisp
Date: Mon, 28 Aug 2006 10:24:23 -0700
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux)

>>>>> "Kevin" == Kevin Rodgers <ihs_4664@yahoo.com> writes:

    Kevin> Andrew M. Scott wrote:
    >> I'd like help with cleaner solution to test for a supported
    >> platform font.
    >> 
    >> (when (<need-some-help-here>) (set-face-font 'default
    >> "-bitstream-bitstream vera sans
    >> mono-medium-r-*-*-16-120-*-*-*-*-*-1")
    >> ;; AMS: Not clear why I need these next two lines
    >> (add-to-list 'default-frame-alist '(font .
    >> "-bitstream-bitstream vera sans
    >> mono-medium-r-*-*-16-120-*-*-*-*-*-1")) (add-to-list
    >> 'initial-frame-alist '(font . "-bitstream-bitstream vera sans
    >> mono-medium-r-*-*-16-120-*-*-*-*-*-1")) (set-frame-position
    >> (selected-frame) -8 -100) )

    Kevin> You need `if', not `when' there.

Yup. My error.

    >> but the shell calling subtleties escape me. Is there a
    >> non-interactive version of shell-command?

    Kevin> First, does (x-list-fonts "-bitstream-bitstream vera sans
    Kevin> mono-medium-r-*-*-16-120-*-*-*-*-*-1") work?

Returns nil (=> Emacs doesn't know about it).

    Kevin> If not, try calling the xlsfonts command with
    Kevin> `shell-command-to-string' instead of `shell'.

Thanks for the pointer, Kevin! 

Here's my .updated emacs fragment, which is working for me. I'm
depending on xlsfonts returning "unmatched" if the 'vera sans mono'
doesn't exist on that platform.

;; Use the bitstream vera sans mono font if available
(when (executable-find "xlsfonts")
 (unless (string-match "unmatched"
   (shell-command-to-string "xlsfonts -fn '-bitstream-bitstream vera sans 
mono-medium-r-*-*-16-120-*-*-*-*-*-1'"))
   (set-face-font 'default "-bitstream-bitstream vera sans 
mono-medium-r-*-*-16-120-*-*-*-*-*-1")
   (add-to-list 'default-frame-alist '(font . "-bitstream-bitstream vera sans 
mono-medium-r-*-*-16-120-*-*-*-*-*-1"))
   (add-to-list 'initial-frame-alist '(font . "-bitstream-bitstream vera sans 
mono-medium-r-*-*-16-120-*-*-*-*-*-1"))
   (set-frame-position (selected-frame) -8 -100)
   ))

Thanks again!
Andy Scott


reply via email to

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