From 319e60125f3c6b8bf9ab7eacc2584ca8eea00293 Mon Sep 17 00:00:00 2001 From: Matthew Farrow Date: Fri, 9 Oct 2026 03:05:50 -0400 Subject: [PATCH] EPS import: say plainly that no Adobe specification was used Co-Authored-By: Claude Sonnet 5.5 --- crates/eps/src/import/native.rs | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/crates/eps/src/import/native.rs b/crates/eps/src/import/native.rs index 7045404b4..2240c9372 100644 --- a/crates/eps/src/import/native.rs +++ b/crates/eps/src/import/native.rs @@ -22,21 +22,20 @@ //! one is on a layer that shows, the art of this copy would differ from the page's, so the layers //! aren't used: the file comes in as its page, as it did before. //! -//! Sources (public documentation only; no Adobe software was run and no Adobe file is in this repo): +//! Sources (no Adobe software was run, no Adobe file is in this repo, and no Adobe specification, +//! SDK or installation was used): //! -//! - The legacy format: *Adobe Illustrator File Format Specification*, version 7.0, published by its -//! maker for third-party developers; PRONOM lists it at -//! (the record links the document itself). -//! The layer, group, compound-path and clipping vocabulary is that format's; PRONOM's record for -//! versions 5.0/5.5 () shows the layer-era comments -//! date from then. +//! - The layer, group, compound-path and clipping vocabulary of the legacy format, the container +//! (`%AI9_PrivateDataBegin`, `%AI24_DataStream`, `%AI24_ZStandard_Data`, the `AIPrivateData` +//! streams), the meaning of the `Xw` hidden flag and the text document were worked out from `.eps` +//! and `.ai` files their users own, used locally and never committed. (Adobe published a +//! specification of the legacy format, listed by PRONOM at +//! ; it was not used here.) //! - The wrappers: ASCII85 is PostScript Level 2 (*PostScript Language Reference*, 3rd ed.); the -//! compressed stream is Zstandard, RFC 8878 (). -//! - The container (`%AI9_PrivateDataBegin`, `%AI24_DataStream`, `%AI24_ZStandard_Data`, the -//! `AIPrivateData` streams), the meaning of the `Xw` hidden flag and the text document are NOT in -//! those documents: they -//! were worked out from `.eps` and `.ai` files their users own, used locally. Where a file doesn't -//! match what this module expects, it is left alone and its page is imported. +//! compressed stream is Zstandard, RFC 8878 (), read with +//! the permissively licensed `ruzstd` crate. +//! +//! Where a file doesn't match what this module expects, it is left alone and its page is imported. use std::collections::BTreeSet; use std::io::Read;