diff options
Diffstat (limited to 'lib/lettering')
| -rw-r--r-- | lib/lettering/__init__.py | 3 | ||||
| -rw-r--r-- | lib/lettering/utils.py | 14 |
2 files changed, 15 insertions, 2 deletions
diff --git a/lib/lettering/__init__.py b/lib/lettering/__init__.py index 60d47581..679ce23a 100644 --- a/lib/lettering/__init__.py +++ b/lib/lettering/__init__.py @@ -4,5 +4,4 @@ # Licensed under the GNU GPL version 3.0 or later. See the file LICENSE for details. from .font import Font, FontError -from .utils import get_font_list -from .utils import get_font_by_id +from .utils import get_font_by_id, get_font_by_name, get_font_list diff --git a/lib/lettering/utils.py b/lib/lettering/utils.py index 99997643..f643dfa7 100644 --- a/lib/lettering/utils.py +++ b/lib/lettering/utils.py @@ -52,3 +52,17 @@ def get_font_by_id(font_id): if font.id == font_id: return font return None + + +def get_font_by_name(font_name): + font_paths = get_font_paths() + for font_path in font_paths: + try: + font_dirs = os.listdir(font_path) + except OSError: + continue + for font_dir in font_dirs: + font = Font(os.path.join(font_path, font_dir)) + if font.name == font_name: + return font + return None |
