From ed33b29c280843b48670d510a07e80a629bbcb9e Mon Sep 17 00:00:00 2001 From: Kaalleen <36401965+kaalleen@users.noreply.github.com> Date: Sat, 27 Apr 2024 10:02:20 +0200 Subject: Font sampling extension (#2858) --- lib/lettering/utils.py | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 lib/lettering/utils.py (limited to 'lib/lettering/utils.py') diff --git a/lib/lettering/utils.py b/lib/lettering/utils.py new file mode 100644 index 00000000..f4e2b0a7 --- /dev/null +++ b/lib/lettering/utils.py @@ -0,0 +1,35 @@ +# Authors: see git history +# +# Copyright (c) 2024 Authors +# Licensed under the GNU GPL version 3.0 or later. See the file LICENSE for details. + +import os + +import appdirs + +from ..extensions.lettering_custom_font_dir import get_custom_font_dir +from ..lettering import Font +from ..utils import get_bundled_dir + + +def get_font_list(): + fonts = [] + font_paths = { + get_bundled_dir("fonts"), + os.path.expanduser("~/.inkstitch/fonts"), + os.path.join(appdirs.user_config_dir('inkstitch'), 'fonts'), + get_custom_font_dir() + } + + 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.marked_custom_font_name == "" or font.marked_custom_font_id == "": + continue + fonts.append(font) + return fonts -- cgit v1.2.3