diff --git a/src/pretix/base/settings.py b/src/pretix/base/settings.py
index 20d8bca077..3c7d20b9cc 100644
--- a/src/pretix/base/settings.py
+++ b/src/pretix/base/settings.py
@@ -411,6 +411,10 @@ Your {event} team"""))
'default': '#8E44B3',
'type': str
},
+ 'primary_font': {
+ 'default': 'Open Sans',
+ 'type': str
+ },
'presale_css_file': {
'default': None,
'type': str
diff --git a/src/pretix/control/forms/event.py b/src/pretix/control/forms/event.py
index 549d10c57f..bce55e7b05 100644
--- a/src/pretix/control/forms/event.py
+++ b/src/pretix/control/forms/event.py
@@ -13,6 +13,7 @@ from pretix.base.models import Event, Organizer, TaxRule
from pretix.base.reldate import RelativeDateField, RelativeDateTimeField
from pretix.control.forms import ExtFileField, SlugWidget
from pretix.multidomain.urlreverse import build_absolute_uri
+from pretix.presale.style import get_fonts
class EventWizardFoundationForm(forms.Form):
@@ -722,6 +723,13 @@ class DisplaySettingsForm(SettingsForm):
help_text=_('If you provide a logo image, we will by default not show your events name and date '
'in the page header. We will show your logo with a maximal height of 120 pixels.')
)
+ primary_font = forms.ChoiceField(
+ label=_('Font'),
+ choices=[
+ ('Open Sans', 'Open Sans')
+ ],
+ help_text=_('Only respected by modern browsers.')
+ )
frontpage_text = I18nFormField(
label=_("Frontpage text"),
required=False,
@@ -732,6 +740,12 @@ class DisplaySettingsForm(SettingsForm):
required=False
)
+ def __init__(self, *args, **kwargs):
+ super().__init__(*args, **kwargs)
+ self.fields['primary_font'].choices += [
+ (a, a) for a in get_fonts()
+ ]
+
class TicketSettingsForm(SettingsForm):
ticket_download = forms.BooleanField(
diff --git a/src/pretix/control/templates/pretixcontrol/event/display.html b/src/pretix/control/templates/pretixcontrol/event/display.html
index a62b48622f..f8c350b7db 100644
--- a/src/pretix/control/templates/pretixcontrol/event/display.html
+++ b/src/pretix/control/templates/pretixcontrol/event/display.html
@@ -8,6 +8,7 @@