diff --git a/scripts/pack_epub.py b/scripts/pack_epub.py index c6295e4..9304704 100644 --- a/scripts/pack_epub.py +++ b/scripts/pack_epub.py @@ -77,7 +77,10 @@ def build(src, out, meta): imgdir = src.parent / "images" used, files = [], [] - with zipfile.ZipFile(out, "w") as z: + # ZIP_DEFLATED обязателен явно: у zipfile умолчание — ZIP_STORED, и книга + # выходит втрое толще (у Брикмана 1.42 МБ против 0.43 при том же тексте). + # Первым файлом всё равно идёт несжатый mimetype — этого требует формат. + with zipfile.ZipFile(out, "w", zipfile.ZIP_DEFLATED) as z: # mimetype обязан идти первым и без сжатия — иначе часть читалок # не опознаёт архив как EPUB z.writestr(zipfile.ZipInfo("mimetype"), "application/epub+zip",