From e2308c2a912a255584da29e0fbc62360129956e1 Mon Sep 17 00:00:00 2001 From: Isaiah Odhner Date: Tue, 18 Jul 2023 13:48:11 -0400 Subject: [PATCH] Add font names for macOS --- cspell.json | 2 ++ src/textual_paint/rasterize_ansi_art.py | 9 +++++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/cspell.json b/cspell.json index 5725a0e..91177c8 100644 --- a/cspell.json +++ b/cspell.json @@ -22,6 +22,7 @@ "**/*.egg-info/**/*" ], "words": [ + "Andale", "APNG", "appcode", "appscript", @@ -65,6 +66,7 @@ "llpaper", "lrgb", "Lucida", + "Menlo", "mirc", "modd", "mspaint", diff --git a/src/textual_paint/rasterize_ansi_art.py b/src/textual_paint/rasterize_ansi_art.py index daf7018..2e970a9 100644 --- a/src/textual_paint/rasterize_ansi_art.py +++ b/src/textual_paint/rasterize_ansi_art.py @@ -44,20 +44,25 @@ font_names = [ "CourierNew", "LucidaConsole", "Monaco", + "Menlo", + "Andale Mono", + "Courier New", ] font = None for font_dir in font_dirs: path = Path(os.path.expandvars(os.path.expanduser(font_dir))) files = path.glob("**/*.ttf") + # files = list(files) # printing consumes the generator without this! + # print("path", path, "files", "\n".join(map(str, files))) for file in files: - # print(file.stem) + # print(f"stem {file.stem!r}", file.stem in font_names) if file.stem in font_names: font = ImageFont.truetype(str(file), size=16, layout_engine=ImageFont.LAYOUT_BASIC) break if font: break if not font: - print("Font not found, using default (built-in) font.") + print("Font not found, falling back to built-in font for rasterization.") font = ImageFont.load_default() ch_width: int