aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Schadt <kingdread@gmx.de>2026-08-20 23:52:02 +0200
committerDaniel Schadt <kingdread@gmx.de>2026-08-20 23:52:02 +0200
commit2f5f7c76180570291237fc21343db412f4989dd0 (patch)
treedee37a0326cb5a4d31924614f5ba4b401ffb333f
parentad7d00612d744ec1e1a5b63c4d214e7e4ce3eaa7 (diff)
downloadfietsboek-2f5f7c76180570291237fc21343db412f4989dd0.tar.gz
fietsboek-2f5f7c76180570291237fc21343db412f4989dd0.tar.bz2
fietsboek-2f5f7c76180570291237fc21343db412f4989dd0.zip
include emoji font for PDF generation
useful for servers which don't have many fonts installed we use Mozilla's Twemoji here because it is smaller than Noto Color Emoji
-rw-r--r--fietsboek/pdf-assets/Twemoji.Mozilla.ttfbin0 -> 1474284 bytes
-rw-r--r--fietsboek/pdf-assets/overview.typ2
-rw-r--r--fietsboek/pdf.py12
3 files changed, 8 insertions, 6 deletions
diff --git a/fietsboek/pdf-assets/Twemoji.Mozilla.ttf b/fietsboek/pdf-assets/Twemoji.Mozilla.ttf
new file mode 100644
index 0000000..9f45178
--- /dev/null
+++ b/fietsboek/pdf-assets/Twemoji.Mozilla.ttf
Binary files differ
diff --git a/fietsboek/pdf-assets/overview.typ b/fietsboek/pdf-assets/overview.typ
index 8628c81..dd0d3b0 100644
--- a/fietsboek/pdf-assets/overview.typ
+++ b/fietsboek/pdf-assets/overview.typ
@@ -1,5 +1,5 @@
#set page(margin: 1cm)
-#set text(font: "Nunito")
+#set text(font: ("Nunito", "Twemoji Mozilla"))
#show heading.where(level: 1): set align(center)
#show heading.where(level: 1): set text(size: 20pt)
diff --git a/fietsboek/pdf.py b/fietsboek/pdf.py
index de6e50d..5b2a3ba 100644
--- a/fietsboek/pdf.py
+++ b/fietsboek/pdf.py
@@ -261,11 +261,8 @@ def generate(
temp_dir = Path(temp_dir_name)
LOGGER.debug("New PDF generation in %s", temp_dir)
- # importlib.resources.read_bytes cannot handle subdirs in 3.11
- font_data = (
- importlib.resources.files("fietsboek").joinpath("pdf-assets/Nunito.ttf").read_bytes()
- )
- (temp_dir / "Nunito.ttf").write_bytes(font_data)
+ _copy_font("Nunito.ttf", temp_dir)
+ _copy_font("Twemoji.Mozilla.ttf", temp_dir)
draw_map(track, requester, tile_layer, temp_dir / "mapimage.png")
LOGGER.debug("%s: map drawn", temp_dir)
@@ -286,4 +283,9 @@ def generate(
return pdf_bytes
+def _copy_font(name: str, outdir: Path):
+ data = importlib.resources.files("fietsboek").joinpath(f"pdf-assets/{name}").read_bytes()
+ (outdir / name).write_bytes(data)
+
+
__all__ = ["generate"]