diff options
| author | Daniel Schadt <kingdread@gmx.de> | 2026-08-20 23:52:02 +0200 |
|---|---|---|
| committer | Daniel Schadt <kingdread@gmx.de> | 2026-08-20 23:52:02 +0200 |
| commit | 2f5f7c76180570291237fc21343db412f4989dd0 (patch) | |
| tree | dee37a0326cb5a4d31924614f5ba4b401ffb333f | |
| parent | ad7d00612d744ec1e1a5b63c4d214e7e4ce3eaa7 (diff) | |
| download | fietsboek-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.ttf | bin | 0 -> 1474284 bytes | |||
| -rw-r--r-- | fietsboek/pdf-assets/overview.typ | 2 | ||||
| -rw-r--r-- | fietsboek/pdf.py | 12 |
3 files changed, 8 insertions, 6 deletions
diff --git a/fietsboek/pdf-assets/Twemoji.Mozilla.ttf b/fietsboek/pdf-assets/Twemoji.Mozilla.ttf Binary files differnew file mode 100644 index 0000000..9f45178 --- /dev/null +++ b/fietsboek/pdf-assets/Twemoji.Mozilla.ttf 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"] |
