INNER CODE UNIT · Python

text_layer

utopia-rise/godot-jvm · logo/export.py:165

def text_layer(text, fnt, fill, tracking=0.0):
    """Render text with letter tracking (fraction of font size) into a tightly cropped layer."""
    layer = Image.new('RGBA', (CANVAS_W, fnt.size * 2), (0, 0, 0, 0))
    draw = ImageDraw.Draw(layer)
    x = 0
    for character in text:
        draw.text((x, fnt.size * 1.2), character, font=fnt, fill=fill, anchor='ls')
        x += fnt.getlength(character) + tracking * fnt.size
    return layer.crop(layer.getbbox())

def badge_row(fnt, height=100, icon_box=50, gap=20, pad_x=36, icon_gap=20):
    """Render the language badges into a tightly cropped layer."""
    row = Image.new('RGBA', (CANVAS_W, height), (0, 0, 0, 0))
    x = 0
    for name, label in LANGUAGES:
        with Image.open(LANGUAGE / f'{name}.png') as image:
            icon = image.convert('RGBA')
        icon = icon.crop(icon.getbbox())

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…