[IMP]register custom fonts once only
bzr revid: tony@wonderland-20101220055040-lti41w3qq5xi3dtp
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user