Kerning text in Python PIL

Viewed 18

I have some code to produce an image with text on it, using PIL:

from PIL import Image, ImageDraw, ImageFont

width = 2480
height = 3071
message = "Hello"
font = ImageFont.truetype("Arial.ttf", size=900)

img = Image.new('RGB', (width, height), color='black')

imgDraw = ImageDraw.Draw(img)

textWidth, textHeight = imgDraw.textsize(message, font=font)
xText = (width - textWidth) / 2
yText = (height - textHeight) / 2

imgDraw.text((152, 2100), message, font=font, fill=(255, 255, 255))

img.save('result.png') 

I get a result like this: Example

But I need the text to have less space between letters. I intend to use this code for a batch of 40+ words located in a CSV file. How can I automatically adjust the kerning? I've seen other articles pointing to a related problem but they haven't helped.

0 Answers
Related