Skip to content

Releases: nathanielfernandes/imagetext-py

Character Bound text wrapping

29 Jan 06:46
Compare
Choose a tag to compare
  • added support for character or word-bound text wrapping
  • overhaul to underlying text layout and wrapping for emojis resulting in some great speedups
  • fixed incorrect text size being returned.

Font Database

25 Jan 04:41
Compare
Choose a tag to compare

Added a new global font databse

from PIL import Image
from imagetext_py import *

FontDB.SetDefaultEmojiOptions(EmojiOptions(allow_discord=True))
FontDB.LoadFromDir(".")

font = FontDB.Query("coolvetica japanese")

with Image.new("RGBA", (512, 512), "white") as im:
    with Writer(im) as w:
        w.draw_text_wrapped(
            text="hello from python 😓 lol, <:blobpain:739614945045643447> " \
                 "ほまみ <:chad:682819256173461522><:bigbrain:744344773229543495> " \
                 "emojis workin",
            x=256, y=256,
            ax=0.5, ay=0.5,
            width=512,
            size=90,
            font=font,
            fill=Paint.Color((0, 0, 0, 255)),
            align=TextAlign.Center,
            stroke=2.0,
            stroke_color=Paint.Rainbow((0.0,0.0), (256.0,256.0)),
            draw_emojis=True
        )
    im.save("test.png")

Emojis!

24 Jan 02:42
Compare
Choose a tag to compare

Added support for drawing emojis, from multiple sources including discord!

Example use case with Writer

from PIL import Image
from imagetext_py import *

e_options = EmojiOptions(allow_discord=True)
font = Font("coolvetica.ttf", fallbacks=["japanese.otf"], emoji_options=e_options)

black = Paint.Color((0, 0, 0, 255))
rainbow = Paint.Rainbow((0.0,0.0), (256.0,256.0))
im = Image.open("unknown.png").convert("RGBA")


with Writer(im) as w:
    w.draw_text_wrapped(
        text="hello from python 😓 lol, s<:blobpain:739614945045643447><:chad:682819256173461522><:bigbrain:744344773229543495> emojis workin",
        x=256, y=256,
        ax=0.5, ay=0.5,
        width=512,
        size=67,
        font=font,
        fill=black,
        align=TextAlign.Center,
        stroke=2.0,
        stroke_color=rainbow,
        draw_emojis=True
    )

im.save("test.png")

Bug Fixes:

  • Fixed text wrapping algo (no more missing words)
  • Fixed some incorrect python types

Initial Release

18 Jan 23:52
Compare
Choose a tag to compare