[reportlab-users] Some of the ttf font can't be registered

Robin Becker robin at reportlab.com
Wed Sep 16 11:57:31 EDT 2009

Tony Gu wrote:

> Hi,

> I'm trying to register ttf font as stated below. It does work for many

> fonts that I tested, but for certain fonts, it just throw AttributeError

> as below:


> pdfmetrics.registerFont(TTFont('hei', 'Heiti.ttf'))


> in extractInfo

> psName = names[6].replace(" ", "-") #Dinu Gherman's fix for font names

> with spaces

> AttributeError: 'NoneType' object has no attribute 'replace'


> Also, I tested on reportlab.lib.fontfinder module, it will return empty

> list when I do the search in the folder where those above mentioned

> 'Problematic' fonts located.


> so far the 'Problematic' fonts that I tested on are all Chinese fonts,

> and probably they contain Chinese type face name. Will this be the

> source of the problem? Is there anyway I can workaround this problem?


> Thanks and best regards,


> Tony Gu


that sounds like it might be right. Can you send me one of the fonts that fails
then I can look at exactly what the problem is.

I suppose that the names[6] is being determined as None which implies that the
postscript name is unset or in some unknown character set.

Dinu's fix is actually hiding the true error I think as it comes immediately before

if not psName:
raise TTFError, "Could not find PostScript font name"

which would get done if psName is None.
Robin Becker

More information about the reportlab-users mailing list