From bab3e086271a310029e9f10f2f0fffbab505ef96 Mon Sep 17 00:00:00 2001 From: Gregory Marco Date: Sat, 12 Jul 2025 06:15:53 -0500 Subject: [PATCH] Add improved dynamic text scaling function. --- yagicard/__init__.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/yagicard/__init__.py b/yagicard/__init__.py index 308b089..7fe0939 100755 --- a/yagicard/__init__.py +++ b/yagicard/__init__.py @@ -80,8 +80,18 @@ def draw_image (image, draw, field): image.paste(source_image, (field.get("x"), field.get("y"))) +def rescale_text_for_sizes (*args): + def scaler (value): + for arg in args: + if isinstance(arg, int): + arg = [0, arg] + + if len(value) >= arg[0]: + return arg[1] + return scaler + def rescale_text_for_size (threshold, minimum, maximum): - return lambda value: maximum if len(value) < threshold else minimum + return rescale_text_for_sizes([threshold, minimum], [0, maximum]) def merge_dicts (dicts): fusion = {}