[reportlab-users] Font size, baseline and typography stuff

Dinu Gherman gherman at darwin.in-berlin.de
Wed Aug 10 05:44:32 EDT 2011

"Robin Becker" <robin at reportlab.com>:

> for what it's worth I have fixed (hopefully) Path.getBounds so it

> doesn't use the simplistic assumption from the original code.


> Testing using some rather extreme paths eg



>> from reportlab.graphics.shapes import Drawing, _DrawingEditorMixin,

>> definePath, String, Rect

>> from reportlab.lib.colors import red, blue, green


>> class TPathBounds_002(_DrawingEditorMixin,Drawing):

>> def __init__(self,width=400,height=200,*args,**kw):

>> Drawing.__init__(self,width,height,*args,**kw)

>> self._add(self,definePath([('moveTo',10,100),('curveTo',70,160,160,40,100,100)],strokeWidth=1,strokeColor=red),name='p',validate=None,desc=None)

>> sb = self.p.getBounds()

>> self._add(self,String(10,self.height-12,'bounds:

>> '+str(sb),fillColor=blue),name=None,validate=None,desc=None)

>> self._add(self,Rect(sb[0],sb[1],sb[2]-sb[0],sb[3]-sb[1],strokeColor=blue,strokeDashArray=(1,1),fillColor=None),name='b',validate=None,desc=None)


>> if __name__=="__main__": #NORUNTESTS

>> TPathBounds_002().save(formats=['pdf'],outDir='.',fnRoot=None)


> revealed an error in renderPM (caused by the old version of

> libart_lgpl); the bounds were good, but the _renderPM bpath to vpath

> conversion left out the extreme point.


> It should now be fixed.

Sounds great, except that I didn't have the time yet to trace
your changes in your SVN repository. Isn't there any nicer
overview (with change dates etc) than this:


OTOH, I wrote another test, showing single characters' bound-
ding boxes and splitting them into glyphs and showing their
individual bounding boxes, too. See attached script (I'm not
adding a PDF since I remember some tight size limitations on
this list...).

I found that for the TT fonts I checked the boxes seemed more
correct than for the standard Type1 fonts. And I found an
issue with Unicode when trying to display letters with dia-
critical marks.

Robin, maybe you can have a look at that? Or point me to the
list of changes and files I need to download to check myself?


-------------- next part --------------
A non-text attachment was scrubbed...
Name: test_nanotypometrics.py
Type: text/x-python
Size: 3582 bytes
Desc: not available
Url : <http://two.pairlist.net/pipermail/reportlab-users/attachments/20110810/1d7d1951/attachment.py>

More information about the reportlab-users mailing list