diff --git a/ietf/doc/models.py b/ietf/doc/models.py index 2e6db02a6..8779ffb2a 100644 --- a/ietf/doc/models.py +++ b/ietf/doc/models.py @@ -14,6 +14,7 @@ from pathlib import Path from lxml import etree from typing import Optional, TYPE_CHECKING from weasyprint import HTML as wpHTML +from weasyprint.text.fonts import FontConfiguration from django.db import models from django.core import checks @@ -626,6 +627,7 @@ class DocumentInfo(models.Model): stylesheets.append(finders.find("ietf/css/document_html_txt.css")) else: text = self.htmlized() + stylesheets.append("https://static.ietf.org/fonts/noto-sans-mono/import.css") cache = caches["pdfized"] cache_key = name.split(".")[0] @@ -635,10 +637,12 @@ class DocumentInfo(models.Model): pdf = None if not pdf: try: + font_config = FontConfiguration() pdf = wpHTML( string=text, base_url=settings.IDTRACKER_BASE_URL ).write_pdf( stylesheets=stylesheets, + font_config=font_config, presentational_hints=True, optimize_size=("fonts", "images"), )