From 27f4323610f3913590a1135b3e3325374bcd8fea Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Wed, 21 Nov 2007 17:22:20 +0000 Subject: [PATCH] Add support for embedding fonts to the GUI --- src/libprs500/__init__.py | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/src/libprs500/__init__.py b/src/libprs500/__init__.py index 83e48e5060..2905d8b35f 100644 --- a/src/libprs500/__init__.py +++ b/src/libprs500/__init__.py @@ -22,6 +22,8 @@ import sys, os, logging, mechanize, locale, cStringIO from gettext import GNUTranslations from math import floor +from ttfquery import findsystem, describe + from libprs500.translations.msgfmt import make iswindows = 'win32' in sys.platform.lower() @@ -132,4 +134,22 @@ def set_translator(): t = GNUTranslations(buf) t.install(unicode=True) -set_translator() \ No newline at end of file +set_translator() + +font_families = {} +def get_font_families(): + global font_families + if font_families: + return font_families + ffiles = findsystem.findFonts() + zlist = [] + for ff in ffiles: + font = describe.openFont(ff) + try: + wt, italic = describe.modifiers(font) + except: + wt, italic = 0, 0 + if wt == 400 and italic == 0: + family = describe.shortName(font)[1].strip() + zlist.append((family, ff)) + return dict(zlist) \ No newline at end of file