On Thu, Jul 11, 2013 at 08:54:17AM -0700, Metallicow wrote: > For a portable font install tool. > > Finding if a particular font exists, > useful when testing apps in virtual environent, > rendering text from a font, > Font file manipulations, > etc.. > -- > http://mail.python.org/mailman/listinfo/python-list
Then do a nice little `if` checking the user’s OS. http://docs.python.org/2/library/sys.html#sys.platform hints what to use, and you need to do: if sys.platform.startswith('win') or sys.platform.startswith('cygwin'): FONTDIRS = [os.path.join(os.environ['WINDIR'], 'Fonts') elif sys.platform.startswith('darwin'): # [see below and devise it yourself] else: # linux, *bsd and everything else # [see below, commit suicide and develop this bit] Windows: The easiest of those three, all the fonts are in %WINDIR%/Fonts. In Python: os.path.join(os.environ['WINDIR'], 'Fonts') Mac OS X: http://support.apple.com/kb/ht2435 (and not all of them are guaranteed to exist). `os.expanduser()` may be useful for that first one. Linux, and everything else running that fancy open stuff (eg. *BSD): Hardcore. You just need to parse a nice tiny 155-line XML file. It’s /etc/fonts/fonts.conf, and it has some <dir> tags. Some of them may have a `prefix="xdg"` attribute which makes you prepend the value with $XDG_DATA_HOME (~/.local/share if that is empty). You also need `os.expanduser()`. Oh: and you need to go recursively through them, as subdirectories are also checked for fonts (and it probably goes further) -- Kwpolska <http://kwpolska.tk> | GPG KEY: 5EAAEA16 stop html mail | always bottom-post http://asciiribbon.org | http://caliburn.nl/topposting.html
pgpyE7rGDxSU2.pgp
Description: PGP signature
-- http://mail.python.org/mailman/listinfo/python-list