[reportlab-users] Some of the ttf font can't be registered
robin at reportlab.com
Wed Sep 16 11:57:31 EDT 2009
Tony Gu wrote:
> 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.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 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.
More information about the reportlab-users