PIL cutting off letters

M

Matt Haggard

I'm using PIL (Python Imaging Library) to generate button images.
They consist of a left end image, a middle, repeating image and a
right side image.... anyway, that's not important

I'm using a TTF font for the text of the button (Verdana.TTF) and it
keeps cutting the bottom part of the the g's q's and y's off.

Here's the important parts of my code (options contains command-line
params):

im = Image.new("RGB",(1,1))
font = ImageFont.truetype(options.font,options.fontsize)
draw = ImageDraw.Draw(im)
textsize = draw.textsize(options.text, font=font)
im = im.resize( (totalwidth, maxheight) )
draw = ImageDraw.Draw(im)
thecolor = "rgb(0,0,0)"
x = (totalwidth - textsize[0]) / 2
y = (maxheight - textsize[1]) / 2 + options.offsetY
draw.text((x, y), options.text, font=font, fill=thecolor )
im.save(savefile, quality=100)

If I increase the font-size to larger than about 16, the tails
appear... any clue as to why this happens or what I can do to fix it?
 
P

Pierre Hanser

Matt Haggard a écrit :
I'm using PIL (Python Imaging Library) to generate button images.
They consist of a left end image, a middle, repeating image and a
right side image.... anyway, that's not important

I'm using a TTF font for the text of the button (Verdana.TTF) and it
keeps cutting the bottom part of the the g's q's and y's off.

hello

may be the problem is in your code, but it is also possibly
in PIL which clips caracters at the top and bottom line;
that's not the typographic names, but these are *font* values,
not characters ones.
There are fonts with caracters far higher than these
conventionnal lines (try Liorah.ttf or any swashed font for
exemple)!
I don't remember for sure but may be there is the same problem
horizontally.
 
P

peter

Matt Haggard a écrit :



hello

may be the problem is in your code, but it is also possibly
in PIL which clips caracters at the top and bottom line;
that's not the typographic names, but these are *font* values,
not characters ones.
There are fonts with caracters far higher than these
conventionnal lines (try Liorah.ttf or any swashed font for
exemple)!
I don't remember for sure but may be there is the same problem
horizontally.

I've had this problem horizontally, and solved it by the high tech
method of adding a leading and trailing space!!!

Peter
 
M

Mitja Trampus

Matt said:
I'm using PIL (Python Imaging Library) to generate button images.
They consist of a left end image, a middle, repeating image and a
right side image.... anyway, that's not important

I'm using a TTF font for the text of the button (Verdana.TTF) and it
keeps cutting the bottom part of the the g's q's and y's off.

I've had the same problems. What worked for me was to use
aggdraw instead of PIL's Draw class.
http://effbot.org/zone/aggdraw-index.htm

Mitja
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,765
Messages
2,569,568
Members
45,042
Latest member
icassiem

Latest Threads

Top