From 9f91470ac779dd13e9bbb2b3357c6d3a89c08ae5 Mon Sep 17 00:00:00 2001 From: Kaalleen <36401965+kaalleen@users.noreply.github.com> Date: Fri, 21 Mar 2025 19:31:25 +0100 Subject: Add batch lettering extension (#3589) --- lib/lettering/__init__.py | 3 +-- lib/lettering/utils.py | 14 ++++++++++++++ 2 files changed, 15 insertions(+), 2 deletions(-) (limited to 'lib/lettering') 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 -- cgit v1.2.3