[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Testing that a font is installed
From: |
Sébastien Vauban |
Subject: |
Re: Testing that a font is installed |
Date: |
Tue, 26 Feb 2008 11:52:05 +0100 |
User-agent: |
Gnus/5.110007 (No Gnus v0.7) Emacs/23.0.60 (gnu/linux) |
Hi Kevin,
>> Could someone tell me which function I could use to test
>> (under Ubuntu or under Windows) that a font is installed?
>>
>> For example, I would like to test, in my `.emacs', if
>> "Consolas" has been added to my system.
>
> (x-family-fonts "Consolas")
Being bootstrapped by that piece of information, I also found
the appropriate section about this on EmacsWiki:
"Testing if fonts are available?"
http://www.emacswiki.org/cgi-bin/wiki/SetFonts#toc4
Thank you for this.
Though, I must admit it behaves very very weirdly... I explain
myself:
1. --[ on Ubuntu ]-------------------------------------------------
--8<---------------cut here---------------start------------->8---
ELISP> (x-family-fonts "Consolas")
nil
ELISP> (x-family-fonts "consolas")
nil
--8<---------------cut here---------------end--------------->8---
The function returns an empty list of available fonts of
family "Consolas", though this is the one I'm currently
using in Emacs itself!!
I've installed it, following the "How To Install Vista
Fonts in Ubuntu" available at
http://ubuntu.wordpress.com/2007/09/16/installing-vista-fonts-in-ubuntu/
and I've put this in my `.emacs':
--8<---------------cut here---------------start------------->8---
(set-default-font "Consolas-8")))
--8<---------------cut here---------------end--------------->8---
And *it works*: I'm currently using Consolas for writing
this, but Emacs sort of tells he's unaware of it!??
But Emacs still finds information about Consolas via the
function `describe-font':
--8<---------------cut here---------------start------------->8---
ELISP> (describe-font "consolas")
"\n"
--8<---------------cut here---------------end--------------->8---
,----[ *Help* ]
| name (opened by):
consolas:pixelsize=17:foundry=microsoft:weight=medium:slant=r:width=normal
| full name:
consolas:pixelsize=17:foundry=microsoft:weight=medium:slant=r:width=normal
| size: 9
| height: 20
| baseline-offset: 0
| relative-compose: 0
`----
BTW, I've setted Consolas to 8pt and Emacs tells that
it's 9pt?
2. --[ on Windows XP ]---------------------------------------------
I've installed Consolas "manually" (by copying the .ttf
files in the fonts directory).
--8<---------------cut here---------------start------------->8---
(set-default-font
"-outline-Consolas-normal-r-normal-normal-11-82-96-96-c-*-*-*")
--8<---------------cut here---------------end--------------->8---
is what I've in my `.emacs' file [¹] to tell him to use
Consolas.
--8<---------------cut here---------------start------------->8---
ELISP> (x-family-fonts "Consolas")
(["consolas" normal 0 normal normal t
"-outline-consolas-normal-r-normal-normal-*-*-96-96-c-*-iso8859-9" "iso8859-9"]
["consolas" normal 0 normal normal t
"-outline-consolas-normal-r-normal-normal-*-*-96-96-c-*-iso8859-7" "iso8859-7"]
["consolas" normal 0 normal normal t
"-outline-consolas-normal-r-normal-normal-*-*-96-96-c-*-iso8859-13"
"iso8859-13"]
["consolas" normal 0 normal normal t
"-outline-consolas-normal-r-normal-normal-*-*-96-96-c-*-iso8859-5" "iso8859-5"]
["consolas" normal 0 normal normal t
"-outline-consolas-normal-r-normal-normal-*-*-96-96-c-*-koi8-r" "koi8-r"]
["consolas" normal 0 normal normal t
"-outline-consolas-normal-r-normal-normal-*-*-96-96-c-*-iso8859-2" "iso8859-2"]
["consolas" normal 0 normal normal t
"-outline-consolas-normal-r-normal-normal-*-*-96-96-c-*-iso8859-15"
"iso8859-15"]
["consolas" normal 0 normal normal t
"-outline-consolas-normal-r-normal-normal-*-*-96-96-c-*-iso10646-1"
"iso10646-1"]
["consolas" normal 0 normal normal t
"-outline-consolas-normal-r-normal-normal-*-*-96-96-c-*-iso8859-1" "iso8859-1"]
["consolas" normal 0 normal normal t
"-outline-consolas-normal-r-normal-normal-*-*-96-96-c-*-iso8859-4" "iso8859-4"]
["consolas" normal 0 normal italic t
"-outline-consolas-normal-i-normal-normal-*-*-96-96-c-*-iso8859-2" "iso8859-2"]
["consolas" normal 0 normal italic t
"-outline-consolas-normal-i-normal-normal-*-*-96-96-c-*-iso8859-7" "iso8859-7"]
["consolas" normal 0 normal italic t
"-outline-consolas-normal-i-normal-normal-*-*-96-96-c-*-iso8859-1" "iso8859-1"]
["consolas" normal 0 normal italic t
"-outline-consolas-normal-i-normal-normal-*-*-96-96-c-*-iso10646-1"
"iso10646-1"]
["consolas" normal 0 normal italic t
"-outline-consolas-normal-i-normal-normal-*-*-96-96-c-*-iso8859-5" "iso8859-5"]
["consolas" normal 0 normal italic t
"-outline-consolas-normal-i-normal-normal-*-*-96-96-c-*-koi8-r" "koi8-r"]
["consolas" normal 0 normal italic t
"-outline-consolas-normal-i-normal-normal-*-*-96-96-c-*-iso8859-9" "iso8859-9"]
["consolas" normal 0 normal italic t
"-outline-consolas-normal-i-normal-normal-*-*-96-96-c-*-iso8859-13"
"iso8859-13"]
["consolas" normal 0 normal italic t
"-outline-consolas-normal-i-normal-normal-*-*-96-96-c-*-iso8859-15"
"iso8859-15"]
["consolas" normal 0 normal italic t
"-outline-consolas-normal-i-normal-normal-*-*-96-96-c-*-iso8859-4" "iso8859-4"]
["consolas" normal 0 bold normal t
"-outline-consolas-bold-r-normal-normal-*-*-96-96-c-*-iso8859-9" "iso8859-9"]
["consolas" normal 0 bold normal t
"-outline-consolas-bold-r-normal-normal-*-*-96-96-c-*-koi8-r" "koi8-r"]
["consolas" normal 0 bold normal t
"-outline-consolas-bold-r-normal-normal-*-*-96-96-c-*-iso8859-15" "iso8859-15"]
["consolas" normal 0 bold normal t
"-outline-consolas-bold-r-normal-normal-*-*-96-96-c-*-iso8859-2" "iso8859-2"]
["consolas" normal 0 bold normal t
"-outline-consolas-bold-r-normal-normal-*-*-96-96-c-*-iso8859-7" "iso8859-7"]
["consolas" normal 0 bold normal t
"-outline-consolas-bold-r-normal-normal-*-*-96-96-c-*-iso10646-1" "iso10646-1"]
["consolas" normal 0 bold normal t
"-outline-consolas-bold-r-normal-normal-*-*-96-96-c-*-iso8859-4" "iso8859-4"]
["consolas" normal 0 bold normal t
"-outline-consolas-bold-r-normal-normal-*-*-96-96-c-*-iso8859-13" "iso8859-13"]
["consolas" normal 0 bold normal t
"-outline-consolas-bold-r-normal-normal-*-*-96-96-c-*-iso8859-1" "iso8859-1"]
["consolas" normal 0 bold normal t
"-outline-consolas-bold-r-normal-normal-*-*-96-96-c-*-iso8859-5" "iso8859-5"]
["consolas" normal 0 bold italic t
"-outline-consolas-bold-i-normal-normal-*-*-96-96-c-*-iso8859-7" "iso8859-7"]
["consolas" normal 0 bold italic t
"-outline-consolas-bold-i-normal-normal-*-*-96-96-c-*-iso8859-13" "iso8859-13"]
["consolas" normal 0 bold italic t
"-outline-consolas-bold-i-normal-normal-*-*-96-96-c-*-iso8859-4" "iso8859-4"]
["consolas" normal 0 bold italic t
"-outline-consolas-bold-i-normal-normal-*-*-96-96-c-*-iso8859-1" "iso8859-1"]
["consolas" normal 0 bold italic t
"-outline-consolas-bold-i-normal-normal-*-*-96-96-c-*-koi8-r" "koi8-r"]
["consolas" normal 0 bold italic t
"-outline-consolas-bold-i-normal-normal-*-*-96-96-c-*-iso8859-5" "iso8859-5"]
["consolas" normal 0 bold italic t
"-outline-consolas-bold-i-normal-normal-*-*-96-96-c-*-iso10646-1" "iso10646-1"]
["consolas" normal 0 bold italic t
"-outline-consolas-bold-i-normal-normal-*-*-96-96-c-*-iso8859-15" "iso8859-15"]
["consolas" normal 0 bold italic t
"-outline-consolas-bold-i-normal-normal-*-*-96-96-c-*-iso8859-9" "iso8859-9"]
["consolas" normal 0 bold italic t
"-outline-consolas-bold-i-normal-normal-*-*-96-96-c-*-iso8859-2" "iso8859-2"])
--8<---------------cut here---------------end--------------->8---
Emacs finds thus information about Consolas.
Weirdly enough, the function which more or less worked
under Ubuntu (to find me information about Consolas)
does not work in this case, under Windows!?
--8<---------------cut here---------------start------------->8---
ELISP> (describe-font "Consolas")
"No matching font being used"
ELISP> (describe-font "consolas")
"No matching font being used"
--8<---------------cut here---------------end--------------->8---
I'm lost. Both functions do not appear to work correctly,
neither under Ubuntu, neither under Windows.
What I'd like to have in my `.emacs' is something just like
this:
--8<---------------cut here---------------start------------->8---
(if (font-existsp "Consolas")
(if running-ms-windows
(set-default-font
"-outline-Consolas-normal-r-normal-normal-11-82-96-96-c-*-*-*")
(set-default-font "Consolas-8"))
(set-default-font "-*-Courier New-*-*-*-*-12-90-*-*-*-*-*-*"))
--8<---------------cut here---------------end--------------->8---
Any hints?
Best regards,
Seb
[¹] Just writing `(set-default-font "Consolas-8")))' is not
successfull under Windows. Dunno why.
--
Sébastien Vauban