fix: кириллический шрифт DejaVu в пакете для экспорта PDF без системных шрифтов

This commit is contained in:
gglamer 2026-09-26 20:47:10 +00:00
commit 93c5f063f3
4 changed files with 103 additions and 0 deletions

View file

@ -88,7 +88,11 @@ def _font_paths() -> tuple[Path, Path | None]:
if not path.is_file():
raise RuntimeError(f"LCT_PDF_FONT не найден: {path}")
return path, None
# DejaVu лежит в пакете: демо без Docker идёт на хосте, где системного шрифта
# может не быть, а экспорт PDF должен работать офлайн без доустановки.
bundled = Path(__file__).resolve().parent.parent / "assets" / "fonts"
candidates = (
(str(bundled / "DejaVuSans.ttf"), str(bundled / "DejaVuSans-Bold.ttf")),
("/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf", "/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf"),
("/usr/share/fonts/truetype/liberation2/LiberationSans-Regular.ttf", "/usr/share/fonts/truetype/liberation2/LiberationSans-Bold.ttf"),
("/System/Library/Fonts/Supplemental/Arial.ttf", "/System/Library/Fonts/Supplemental/Arial Bold.ttf"),