mirror of
https://github.com/storytold/craft-libs.git
synced 2026-10-31 15:49:54 +00:00
The branch gained review commits after the port (chrono for a date conversion that this crate does not contain, a test skip macro); the decoder and the clean-room record are the same at both revisions, so the notes name the tip and the ported revision. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
216 lines
15 KiB
Plaintext
216 lines
15 KiB
Plaintext
craft-libs
|
|
Copyright (c) 2026 ArtCraft Team and the craft-libs contributors.
|
|
Licensed under the MIT License or the Apache License, Version 2.0, at your option
|
|
(LICENSE-MIT, LICENSE-APACHE).
|
|
|
|
Third-party material
|
|
|
|
This product bundles third-party material under its own licenses, listed below. The per-file
|
|
list (author, source, license) is in ATTRIBUTION.md.
|
|
|
|
crates/cms/profiles/photocraft-coated-cmyk.icc: CC0-1.0, generated by crates/cms (see below).
|
|
crates/cms/profiles/craft-coated-fogra39.icc: CC0-1.0, generated by crates/cms from the FOGRA39
|
|
characterisation data below.
|
|
crates/cms/tests/data/FOGRA39.txt: FOGRA39 characterisation data, distributed unmodified.
|
|
Source: Fogra (Fogra Forschungsinstitut für Medientechnologien e.V.), www.fogra.org, from
|
|
https://fogra.org/fileadmin/files/7_downloads/Charakterisierungsdaten/FOGRA39_to_FOGRA60_v2.zip
|
|
Fogra's terms: "Free use and redistribution of the Fogra characterisation data is permitted,
|
|
including redistribution as part of commercial and non-commercial software, provided that
|
|
the data are distributed unmodified and Fogra is identified as the source. The designation
|
|
FOGRAxx may be used solely to identify the respective reference data. Such use does not
|
|
imply certification, approval or endorsement by Fogra."
|
|
crates/text/assets/hyphen/en-us.dic: public domain, derived from the Moby Hyphenator II list by
|
|
Grady Ward (Project Gutenberg eBook #3204).
|
|
crates/text/assets/hyphen/en-us.pat: CC0-1.0, trained from en-us.dic by DesignCraft's trainer.
|
|
Hyphenation patterns for other languages, embedded through the hypher crate only when the
|
|
matching craft-text feature is enabled (none are by default). They come from hyph-utf8,
|
|
https://github.com/hyphenation/tex-hyphen, as packaged in https://github.com/typst/hypher
|
|
(patterns/). Each file is under the license stated in its header: LPPL, MIT, BSD-3-Clause, the
|
|
Unlicense, a notice permitting any use, or a choice of licenses that includes one of these. An
|
|
application that enables a language ships that file's copyright and license notice. The
|
|
exception is Slovak (hyph-sk.tex, Copyright (C) 1992 Jana Chlebíková), under the GNU General
|
|
Public License, version 2 or later (SPDX: GPL-2.0-or-later). craft-text asks for it through the
|
|
feature "slovak-gpl", which "all-languages" does not include; an application that enables it
|
|
ships GPL-licensed data. Cargo unifies features, so another dependency that enables hypher's
|
|
"slovak" feature (hypher's default features do) embeds the same data; a build that must exclude
|
|
it checks its dependency graph. The Spanish patterns (feature "spanish") are hyph-es.tex 5.0.
|
|
Copyright (C) 1993, 1997 Javier Bezos, 2001-2019 Javier Bezos, CervanTeX. MIT License:
|
|
Permission is hereby granted, free of charge, to any person obtaining a copy of this software
|
|
and associated documentation files (the "Software"), to deal in the Software without
|
|
restriction, including without limitation the rights to use, copy, modify, merge, publish,
|
|
distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the
|
|
Software is furnished to do so, subject to the following conditions: The above copyright notice
|
|
and this permission notice shall be included in all copies or substantial portions of the
|
|
Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
|
|
INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE
|
|
AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
|
|
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
- Word-break dictionaries and LSTM models for Thai, Lao, Khmer and Burmese, embedded through the
|
|
icu_segmenter_data crate only when craft-text's "thai", "lao", "khmer" or "burmese" feature is
|
|
enabled (none are by default). From ICU4X, https://github.com/unicode-org/icu4x.
|
|
Copyright (c) 2020-2024 Unicode, Inc. Unicode License v3 (SPDX: Unicode-3.0); portions adapted
|
|
from ICU4C, (c) 1995-2016 International Business Machines Corporation and others. An
|
|
application that enables one of these features ships the Unicode License v3 copyright and
|
|
permission notice, https://www.unicode.org/license.txt.
|
|
|
|
The optional PDF writer bundles four CC0 ICC profiles by Clinton Ingram. See ATTRIBUTION.md for per-file sources and hashes.
|
|
|
|
Source provenance
|
|
|
|
The SVG icon preparation in crates/ui is adapted from:
|
|
- PhotoCraft, crates/ui-egui/src/icons.rs, revision e7a83ca342cdff568254f85f442b9cc8afb08066.
|
|
https://github.com/storytold/photocraft
|
|
Copyright (c) 2026 ArtCraft Team and the PhotoCraft contributors.
|
|
- VectorCraft, crates/ui-egui/src/icons.rs, revision 825d4fdb8b527c597855d273fb4bcc1971855b6a.
|
|
https://github.com/storytold/vectorcraft
|
|
Copyright (c) 2026 ArtCraft Team and the VectorCraft contributors.
|
|
The icon-button interaction/style boundary is adapted from PhotoCraft (above) and:
|
|
- PdfCraft, crates/ui-egui/src/icons.rs, revision f626db25cca2c89f8fa3f7e30d22bf59faea65ec.
|
|
https://github.com/storytold/pdfcraft
|
|
Copyright (c) 2026 ArtCraft Team and the PdfCraft contributors.
|
|
The tab fitting in crates/ui/src/tabs is adapted from PhotoCraft's tab_strip.rs (above).
|
|
Tab interaction adapters also use VectorCraft's dock.rs and floating.rs (above).
|
|
The pane sizing and resize boundaries in crates/ui/src/layout draw on:
|
|
- FilmCraft, crates/ui-egui/src/dock.rs, revision 7b6c134472287db4367fca80bcb498240ba36567.
|
|
https://github.com/storytold/filmcraft
|
|
Copyright (c) 2026 ArtCraft Team and the FilmCraft contributors.
|
|
- EffectCraft, crates/ui-egui/src/dock.rs, revision 2a460986ee7a4b32656a3d434849693904b486bc.
|
|
https://github.com/storytold/effectcraft
|
|
Copyright (c) 2026 ArtCraft Team and the EffectCraft contributors.
|
|
The widget-state styling in crates/ui/src/theme is adapted from VectorCraft (above),
|
|
crates/ui-egui/src/theme.rs, and:
|
|
- DesignCraft, crates/ui-egui/src/theme.rs, revision 66c7ce7e96ec286a091878cc2541ee8369aa79d6.
|
|
https://github.com/storytold/designcraft
|
|
Copyright (c) 2026 ArtCraft Team and the DesignCraft contributors.
|
|
The transactional panel model and drop-zone semantics in crates/ui/src/docking draw on the
|
|
FilmCraft/EffectCraft split, tab and accordion layouts and VectorCraft floating groups listed
|
|
above. The generic transaction validation, optional renderer and workspace-location helpers
|
|
are implemented here without dependencies on application engines or native window helpers.
|
|
The hyphenation code, data and generator in crates/text (src/hyphen/, assets/hyphen/ and
|
|
examples/hyphgen.rs) are adapted from:
|
|
- DesignCraft, crates/compose/src/hyphen/, crates/compose/examples/hyphgen.rs and
|
|
assets/hyphenation/, revision e161878e4c7744fa06f9a2eede8103cb4c296355 (above).
|
|
- WordCraft, crates/proof/src/hyphen.rs, revision e4b7d155f15a7784197ba34eeea0b54490d70eb2.
|
|
https://github.com/storytold/wordcraft
|
|
Copyright (c) 2026 ArtCraft Team and the WordCraft contributors.
|
|
All sources listed above are licensed MIT OR Apache-2.0. No icon artwork is copied here.
|
|
|
|
The PDF spooler in crates/print is extracted from:
|
|
- PdfCraft, crates/print/src/spool.rs, windows_print.ps1 and spooler tests,
|
|
revision 33c14e07cfd742a82bf03baa6b103c01008fa68c.
|
|
https://github.com/storytold/pdfcraft
|
|
Copyright (c) 2026 ArtCraft Team and the PdfCraft contributors.
|
|
Licensed MIT OR Apache-2.0. PDF composition and application code are not copied.
|
|
|
|
The Windows printer duplex-capability query and parser additionally draw on PdfCraft,
|
|
crates/print/src/spool.rs, revision fb97ce958dfe92b6762ce40615c7836551710139 (PR #1154), under the same licenses above.
|
|
|
|
The native Windows backend (crates/print/src/windows.rs, ticket.rs and the printer-list and
|
|
Windows spooler tests) is ported from PdfCraft's native printing work, which carries the
|
|
approach of PdfCraft PR #599 (Win32 printer list, Windows.Data.Pdf into the XPS print API, the
|
|
PrintTicket and its driver-paper preference):
|
|
- PdfCraft, crates/print/src/spool/windows.rs, spool.rs and tests.rs, branch
|
|
claude/native-windows-print-826c99 of PR #1132, revision a435117 (jcl-bit/printcraft).
|
|
https://github.com/storytold/pdfcraft
|
|
Copyright (c) 2026 ArtCraft Team and the PdfCraft contributors.
|
|
Licensed MIT OR Apache-2.0.
|
|
|
|
The menu layout and native-menu driver in crates/menu are extracted from:
|
|
- PhotoCraft, crates/ui-egui/src/native_menu.rs, revision 6f85054288a564f9fbbccb99268ffdb34e581584.
|
|
https://github.com/storytold/photocraft
|
|
Copyright (c) 2026 ArtCraft Team and the PhotoCraft contributors.
|
|
Licensed MIT OR Apache-2.0. PhotoCraft's menus, translations and command handling are not copied.
|
|
The macOS backend in crates/menu/src/mac.rs is adapted from:
|
|
- PhotoCraft, apps/photocraft/src/mac_menu.rs, revision 6f85054288a564f9fbbccb99268ffdb34e581584.
|
|
https://github.com/storytold/photocraft
|
|
Copyright (c) 2026 ArtCraft Team and the PhotoCraft contributors.
|
|
- VectorCraft, apps/vectorcraft/src/mac_menu.rs, revision 0d0ea352df99044589a7ce0efc7004f7a5b6b7c0
|
|
(closing an open menu on a click or Escape, and its tests, in crates/menu/src/driver.rs).
|
|
https://github.com/storytold/vectorcraft
|
|
Copyright (c) 2026 ArtCraft Team and the VectorCraft contributors.
|
|
Both licensed MIT OR Apache-2.0.
|
|
The egui menu bar in crates/menu/src/bar (its menu navigation, scrolling, submenu hover
|
|
intent, keyboard access and mnemonics, and their tests) is ported from:
|
|
- PhotoCraft, crates/ui-egui/src/menu_nav.rs and menu_nav_tests.rs, menu_keys.rs and
|
|
menu_keys_tests.rs, and the menu bar in crates/ui-egui/src/menus.rs, revision
|
|
c36e46c3873ee39f299cc50a3dcd28494c78366d.
|
|
https://github.com/storytold/photocraft
|
|
Copyright (c) 2026 ArtCraft Team and the PhotoCraft contributors, among them aiongg, artman67,
|
|
BFlat, Brandon Thomas, Brennan Stehling, Daniel Lošák, David Mann, Fabio Lissi, FredApps,
|
|
Higgs32584, itsF4LCON, jason4short, Korg1ch, MarekSpodBiedry and Nigel Ihza Firdausy.
|
|
Licensed MIT OR Apache-2.0. PhotoCraft's menus, theme and Help search are not copied.
|
|
|
|
The colour management module in crates/cms is extracted from:
|
|
- PhotoCraft, crates/cms, revision b3222ee8e7e6bcb4799c37f904c595f20f9baf5e.
|
|
https://github.com/storytold/photocraft
|
|
Copyright (c) 2026 ArtCraft Team and the PhotoCraft contributors.
|
|
Licensed MIT OR Apache-2.0. Its generated ICC profile is dedicated to the public domain
|
|
(CC0-1.0); see ATTRIBUTION.md.
|
|
|
|
Optional PDF writer
|
|
|
|
Krilla 0.8.2 (https://github.com/LaurenzV/krilla), MIT OR Apache-2.0.
|
|
Upstream licence texts are retained in licenses/pdf-writer.
|
|
The optional writer embeds Compact ICC Profiles by Clinton Ingram
|
|
(https://github.com/saucecontrol/Compact-ICC-Profiles), under CC0-1.0.
|
|
See licenses/pdf-writer/LICENSE-ICC.txt and ATTRIBUTION.md for sources and hashes.
|
|
The writer adds no font files. Its four existing ICC profiles are retained under vendor/krilla/icc.
|
|
|
|
Krilla is vendored with the local patches in vendor/krilla/patches; see vendor/krilla/README.craft.md
|
|
and vendor/krilla/SOURCE.json. Its upstream MIT/Apache-2.0 licences and CC0 profiles are unchanged.
|
|
|
|
Optional PDF reader
|
|
|
|
Hayro 0.7.1, hayro-interpret 0.7.0, hayro-syntax 0.7.2, hayro-jbig2 0.3.0, hayro-cmap 0.1.0
|
|
and hayro-postscript 0.1.0 (https://github.com/LaurenzV/hayro), MIT OR Apache-2.0, retain their
|
|
upstream licence files. The first five are patched sources transferred from PdfCraft
|
|
(https://github.com/storytold/pdfcraft): hayro-cmap from revision
|
|
a2ec27b4775f53c40cad3456936d9406611e3a8d, the others from revision
|
|
ec0a965074f376a5bf610435948e4e5184bf3299. hayro-postscript is the crates.io 0.1.0 package
|
|
(upstream revision a2354aebaf86f5ab13e5fd6b6b0521306488bf9d) with one local patch.
|
|
See vendor/README.craft-reader.md and each crate's SOURCE.json for provenance and local changes.
|
|
The hayro-interpret plate mode (separations, overprint and output-intent simulation) is ported
|
|
from PdfCraft pull request #2770 by Guillem Hermida, commit
|
|
6fcf2a4aca29e943e28cb69017ff8f87d00656c6 (https://github.com/storytold/pdfcraft/pull/2770),
|
|
MIT OR Apache-2.0; crates/pdf/tests/plates.rs and tests/support/synthetic_icc.rs adapt its tests.
|
|
Knockout transparency groups in hayro-interpret and hayro are ported from PdfCraft pull request
|
|
#2974 by mtlcl410, commit bae69819594a6385a027fec1f67e6b3c36c259b4
|
|
(https://github.com/storytold/pdfcraft/pull/2974), MIT OR Apache-2.0;
|
|
crates/pdf/tests/knockout.rs adapts its test.
|
|
The reader retains the existing Foxit/PDFium standard-14 font assets (BSD-3-Clause),
|
|
Compact ICC Profiles by Clinton Ingram (CC0-1.0), and dependency CMaps (BSD-3-Clause).
|
|
Their licences and per-file hashes are retained in vendor/hayro-interpret/assets,
|
|
vendor/hayro-cmap/assets, licenses/pdf-backend and ATTRIBUTION.md. These are existing reader dependency assets;
|
|
applications retain their own document-font selection and licensing policy.
|
|
|
|
Platform lifecycle source provenance
|
|
|
|
The optional crates/platform services adapt the preserved local platform candidate
|
|
9b135779a1e7136438a217c18afe1693ea23f1ab (dialog outcomes and browser resource ownership),
|
|
and current application implementations:
|
|
- PdfCraft crates/platform/src/desktop_theme.rs, a8cd797a917b1007544575c7280c9a0ce6a17e8f.
|
|
- CADCraft apps/cadcraft/src/desktop_theme.rs, 0cc66ad3066e71f2c3d4cacb7de905e79ba1c95b.
|
|
- ArtCraft Launcher apps/artcraft-launcher/src/system_theme.rs, f1676dfb41c226b5be490721f486ee6427419d80.
|
|
- Earlier PhotoCraft, FilmCraft and EffectCraft appearance services at revisions
|
|
0c72d95425dece90ef9a1cceb49e3315c96e22d5, 794a25fc9ed2e3f6fab51a254625bc9b99a88015
|
|
and 1b4d47f34f2b1c1b4a89f4b7348889def8fd648b respectively.
|
|
Sources: https://github.com/storytold/pdfcraft, https://github.com/storytold/cadcraft,
|
|
https://github.com/storytold/craft-launcher, https://github.com/storytold/photocraft,
|
|
https://github.com/storytold/filmcraft, https://github.com/storytold/effectcraft.
|
|
Copyright (c) 2026 ArtCraft Team and the respective application and craft-libs contributors.
|
|
All adapted source is licensed MIT OR Apache-2.0.
|
|
|
|
The Canon CRW decoder in crates/crw (src/lib.rs, src/tables.rs, src/tests.rs, tests/) and its
|
|
derivation record (crates/crw/clean-room/) come from:
|
|
- LightCraft, crates/raw/src/vendor/crw.rs, crates/raw/src/vendor/crw_tables.rs,
|
|
crates/raw/tests/crw_oracle.rs, crates/raw/tests/it/vendor_robust.rs and clean-room/crw/,
|
|
branch clean-room-crw-format-decode, revision 6ca439b5155820d2befeacd81ec0c6a80b2bd3bc
|
|
(decoder ported at 70c755e42a65661401142819278d51b0c5977f7f; the record is identical at both).
|
|
https://github.com/storytold/lightcraft
|
|
Copyright (c) 2026 ArtCraft Team and the LightCraft contributors.
|
|
Its white-level plateau estimate (saturation_plateau) is LightCraft's vendor::white_from_data at the
|
|
same revision. The CRW compression was derived clean-room from CC0 sample files and the
|
|
maintainer's own photographs by black-box comparison with a reference decoder's command-line
|
|
output; no raw-decoder source was consulted (crates/crw/clean-room/sources.md).
|