From eb5ed2bdf93469dc6347e5c0d0a2076ae2f400f3 Mon Sep 17 00:00:00 2001 From: Raphael Michel Date: Sun, 13 Jun 2021 20:59:56 +0200 Subject: [PATCH] Performance: Do not load the same TTF font multiple times --- src/pretix/base/pdf.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/pretix/base/pdf.py b/src/pretix/base/pdf.py index 68f4ec80ec..43474fe398 100644 --- a/src/pretix/base/pdf.py +++ b/src/pretix/base/pdf.py @@ -568,6 +568,8 @@ class Renderer: @classmethod def _register_fonts(cls): + if hasattr(cls, '_fonts_registered'): + return pdfmetrics.registerFont(TTFont('Open Sans', finders.find('fonts/OpenSans-Regular.ttf'))) pdfmetrics.registerFont(TTFont('Open Sans I', finders.find('fonts/OpenSans-Italic.ttf'))) pdfmetrics.registerFont(TTFont('Open Sans B', finders.find('fonts/OpenSans-Bold.ttf'))) @@ -582,6 +584,8 @@ class Renderer: if 'bolditalic' in styles: pdfmetrics.registerFont(TTFont(family + ' B I', finders.find(styles['bolditalic']['truetype']))) + cls._fonts_registered = True + def _draw_poweredby(self, canvas: Canvas, op: OrderPosition, o: dict): content = o.get('content', 'dark') if content not in ('dark', 'white'):