diff --git a/bin/report/render/rml2pdf/trml2pdf.py b/bin/report/render/rml2pdf/trml2pdf.py index d01317f8257..043814a6854 100644 --- a/bin/report/render/rml2pdf/trml2pdf.py +++ b/bin/report/render/rml2pdf/trml2pdf.py @@ -65,7 +65,7 @@ def _open_image(filename, path=None): except IOError: pass raise IOError("File %s cannot be found in image path" % filename) - + class NumberedCanvas(canvas.Canvas): def __init__(self, *args, **kwargs): canvas.Canvas.__init__(self, *args, **kwargs) @@ -243,7 +243,8 @@ class _rml_doc(object): for font in node.findall('registerFont'): name = font.get('fontName').encode('ascii') fname = font.get('fontFile').encode('ascii') - pdfmetrics.registerFont(TTFont(name, fname )) + if name not in pdfmetrics._fonts: + pdfmetrics.registerFont(TTFont(name, fname )) addMapping(name, 0, 0, name) #normal addMapping(name, 0, 1, name) #italic addMapping(name, 1, 0, name) #bold @@ -254,6 +255,8 @@ class _rml_doc(object): from reportlab.pdfbase import pdfmetrics from reportlab.pdfbase.ttfonts import TTFont + if fontname not in pdfmetrics._fonts: + pdfmetrics.registerFont(TTFont(name, fname )) pdfmetrics.registerFont(TTFont(fontname, filename )) if (mode == 'all'): addMapping(face, 0, 0, fontname) #normal