import os import unicodedata from PIL import Image, ImageDraw, ImageFont def get_fonts(default_size=20): fonts = [] for root, dirs, files in os.walk('/usr/share/fonts/truetype/'): for file in files: if file.endswith('.ttf'): fonts.append(ImageFont.truetype(os.path.join(root, file), default_size)) return fonts TARGET_ALPHABET = [c for c in map(chr, range(128)) if not unicodedata.category(c).startswith('C')] FONTS = get_fonts() WIDTH = 500 out = Image.new("RGB", (WIDTH, 2000), (255, 255, 255)) d = ImageDraw.Draw(out) x = 0 y = 0 for c in TARGET_ALPHABET: for font in FONTS: d.text((x, y), c, font=font, fill=(0, 0, 0)) left, top, right, bottom = d.textbbox((x, y), c, font=font) if right < WIDTH - 20: x = right + 5 else: x = 0 y = bottom + 5 out.show()UNICODE CHARACTER DATABASE: General_Category Values ImageDraw.textbbox
An occasionally updated blog, mostly related to programming. (Views are my own, not my employer's.)
Saturday, June 3, 2023
Drawing with all the fonts available in Colab
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment