diff --git a/src/pretix/base/pdf.py b/src/pretix/base/pdf.py index 5dfd5e7380..cb2d946168 100644 --- a/src/pretix/base/pdf.py +++ b/src/pretix/base/pdf.py @@ -52,7 +52,6 @@ import reportlab.rl_config from bidi.algorithm import get_display from django.conf import settings from django.contrib.staticfiles import finders -from django.core.cache import cache from django.core.exceptions import ValidationError from django.db.models import Max, Min from django.db.models.fields.files import FieldFile @@ -739,6 +738,7 @@ class Renderer: else: self.bg_bytes = None self.bg_pdf = None + self.event_fonts = list(get_fonts(event, pdf_support_required=True).keys()) + ['Open Sans'] @classmethod def _register_fonts(cls, event: Event = None): @@ -942,11 +942,7 @@ class Renderer: # Since pdfmetrics.registerFont is global, we want to make sure that no one tries to sneak in a font, they # should not have access to. - event_fonts = cache.get(f'event_fonts_pdf_support_required_{order.event.pk}') - if not event_fonts: - event_fonts = list(get_fonts(order.event, pdf_support_required=True).keys()) + ['Open Sans'] - cache.set(f'event_fonts_pdf_support_required_{order.event.pk}', event_fonts, 30) - if font not in event_fonts: + if font not in self.event_fonts: logger.warning(f'Unauthorized use of font "{font}"') font = 'Open Sans'