mirror of
https://github.com/storytold/pdfcraft.git
synced 2026-11-09 04:22:20 +00:00
M7: review follow-up, attribute the ICU4X word dictionaries
icu_segmenter_data compiles the Thai, Lao, Khmer and Burmese word dictionaries (data/segmenter_dictionary_extended_v1.rs.data, 1,773,172 bytes by the file's own count) into the binary, so they get a [[bundled]] entry per AGENTS.md §1.3, and NOTICE carries the Unicode licence's copyright and permission notice, which it requires in the documentation. The line segmenter loads only these dictionaries; the Chinese and Japanese one is not linked. The data is under Unicode-3.0, which deny.toml already allows for code but the asset allowlist (AGENTS.md §1.2, xtask ALLOWED_LICENCES) did not list, so this adds it there. That is a policy change for the maintainers to accept; without it `cargo xtask assets` refuses the entry. Requested in FredApps' review of #3492. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018cECVMvRnc9mHNFfVp7nXd
This commit is contained in:
1 parent
ff556b537e
commit
f8c29bf262
5 files changed
+44
-2
No files matched your search
@@ -30,7 +30,7 @@ An **asset** is any non-code material that the project includes, ships, embeds,
|
||||
### 1.2 Only open, provable licences
|
||||
|
||||
Every asset must be one of:
|
||||
- **Open source:** ISC, MIT, BSD-2-Clause, BSD-3-Clause, Apache-2.0, OFL-1.1, Ubuntu-Font-1.0 or Bitstream-Vera.
|
||||
- **Open source:** ISC, MIT, BSD-2-Clause, BSD-3-Clause, Apache-2.0, OFL-1.1, Ubuntu-Font-1.0, Bitstream-Vera or Unicode-3.0 (Unicode, Inc. data such as ICU4X's line-breaking dictionaries; already allowed for code in `deny.toml`).
|
||||
- **Creative Commons:** CC0-1.0, CC-BY-4.0 or CC-BY-SA-4.0.
|
||||
- **Public domain.**
|
||||
- **Contributor-original:** created, photographed or generated by a contributor who owns it and licenses it under the project licence (`MIT OR Apache-2.0`).
|
||||
|
||||
+2
-1
@@ -298,7 +298,7 @@ Every asset PdfCraft includes, bundles or uses to build its published material,
|
||||
| `crates/ui-egui/src/i18n/th.tsv` | Thai interface translation catalog | PdfCraft contributors | MIT OR Apache-2.0 | Contributor-original: clean-room translations of PdfCraft's English UI labels, no proprietary localisation resources; 2026-10-22 page-gap labels are contributor-original AI-assisted translations from English, not separately native-reviewed; 2026-10-22 secured-document notice labels are contributor-original AI-assisted translations from English, not separately native-reviewed; the 2026-10-22 reply-count label is an AI-assisted translation from English, not separately native-reviewed | Thai UI strings, compiled in by crates/ui-egui/src/i18n.rs |
|
||||
| `crates/ui-egui/src/i18n/ca.tsv` | Catalan interface translation catalog | PdfCraft contributors | MIT OR Apache-2.0 | Contributor-original: clean-room translations of PdfCraft's English UI labels, written from their meaning; no proprietary localisation resources; 2026-10-22 page-gap labels are contributor-original AI-assisted translations from English, not separately native-reviewed; 2026-10-22 text-field-table labels are contributor-original AI-assisted translations from English, not separately native-reviewed; 2026-10-22 secured-document notice labels are contributor-original AI-assisted translations from English, not separately native-reviewed; the 2026-10-22 reply-count label is an AI-assisted translation from English, not separately native-reviewed | Catalan UI strings, compiled in by crates/ui-egui/src/i18n.rs |
|
||||
|
||||
## Compiled in through dependencies (6)
|
||||
## Compiled in through dependencies (7)
|
||||
|
||||
| Crate | File | Title | Author | Licence | Source | Used for |
|
||||
|---|---|---|---|---|---|---|
|
||||
@@ -308,6 +308,7 @@ Every asset PdfCraft includes, bundles or uses to build its published material,
|
||||
| `epaint_default_fonts` 0.37.0 | `fonts/emoji-icon-font.ttf` | emoji-icon-font | John Slegers | MIT | https://github.com/jslegers/emoji-icon-font | egui monochrome fallback font (egui feature monochrome_emoji_fonts) |
|
||||
| `epaint_default_fonts` 0.37.0 | `fonts/egui-icons.ttf` | egui icons (monochrome emoji-icon-font subset) | John Slegers | MIT | https://github.com/jslegers/emoji-icon-font | Small special-icon subset embedded by egui default_fonts; retained in FontDefinitions::default(). Provenance: https://github.com/storytold/egui/blob/6d518fc799681571963842f95b55a6b68431b15a/crates/epaint_default_fonts/fonts/egui-icons.txt; complete MIT copyright and permission text in NOTICE. |
|
||||
| `hayro-interpret` 0.7.0 | `src/font/generated/metrics.rs` | Standard-14 font metrics and encodings (as Rust tables) (non-visual data, AGENTS.md §1.1) | Adobe (Core 14 AFM metrics, PDF specification encodings); tables by The Hayro Authors | MIT OR Apache-2.0 | ISO 32000-2 Annex D; Adobe Core14 AFM files (via vendored hayro-interpret) | Glyph widths and encodings for non-embedded standard fonts. Non-visual data, allowed by AGENTS.md §1.1 |
|
||||
| `icu_segmenter_data` 2.3.0 | `data/segmenter_dictionary_extended_v1.rs.data` | Southeast Asian word dictionaries for line breaking (Thai, Lao, Khmer, Burmese) | The ICU4X Project Developers; word lists from the ICU project (Unicode, Inc.) | Unicode-3.0 | https://github.com/unicode-org/icu4x (via icu_segmenter_data) | Word boundaries for wrapping Thai text in Edit text and Add text (crates/edit/src/linebreak.rs). Non-visual data; the line segmenter loads only these dictionaries, not the Chinese and Japanese one |
|
||||
|
||||
## Downloaded at build time (22)
|
||||
|
||||
|
||||
@@ -2522,6 +2522,18 @@ adobe_data = true
|
||||
usage = "Glyph widths and encodings for non-embedded standard fonts. Non-visual data, allowed by AGENTS.md §1.1"
|
||||
sha256 = "2ec9e608573eda459de1e1d9bda3bb494315e36bee885acc88912a11fe0caa41"
|
||||
|
||||
[[bundled]]
|
||||
crate = "icu_segmenter_data"
|
||||
version = "2.3.0"
|
||||
path = "data/segmenter_dictionary_extended_v1.rs.data"
|
||||
title = "Southeast Asian word dictionaries for line breaking (Thai, Lao, Khmer, Burmese)"
|
||||
author = "The ICU4X Project Developers; word lists from the ICU project (Unicode, Inc.)"
|
||||
source = "https://github.com/unicode-org/icu4x (via icu_segmenter_data)"
|
||||
licence = "Unicode-3.0"
|
||||
kind = "data"
|
||||
usage = "Word boundaries for wrapping Thai text in Edit text and Add text (crates/edit/src/linebreak.rs). Non-visual data; the line segmenter loads only these dictionaries, not the Chinese and Japanese one"
|
||||
sha256 = "cad3821ca44fdb88ed856ff3336444aa200afe7b9d19e34ac28ae6a4459d4c6d"
|
||||
|
||||
[[fetched]]
|
||||
file = "PlayfairDisplay[wght].ttf"
|
||||
url = "https://raw.githubusercontent.com/google/fonts/9710da1eacb3be272583c3224dcb70f9da6eadbb/ofl/playfairdisplay/PlayfairDisplay%5Bwght%5D.ttf"
|
||||
|
||||
@@ -36,6 +36,8 @@ list (author, source, license) is in ATTRIBUTION.md.
|
||||
- egui default fonts (epaint_default_fonts, via eframe) — Ubuntu Light (Ubuntu Font Licence 1.0),
|
||||
Hack (MIT / Bitstream Vera licence), Noto Emoji (SIL OFL 1.1), emoji-icon-font (MIT).
|
||||
- Colour profile in hayro-interpret — CGATS001Compat-v2-micro.icc (CC0-1.0, Clinton Ingram).
|
||||
- ICU4X line-breaking data (icu_segmenter_data, via crates.io) — Unicode-3.0. Its Thai, Lao, Khmer
|
||||
and Burmese word dictionaries are compiled in for wrapping Thai text; notice below.
|
||||
|
||||
Required notices:
|
||||
|
||||
@@ -48,6 +50,32 @@ Required notices:
|
||||
(https://github.com/adobe-type-tools/cmap-resources/blob/master/LICENSE.txt). Neither the name of
|
||||
Adobe nor the names of its contributors are used to endorse or promote this product.
|
||||
|
||||
ICU4X segmenter data (bundled by icu_segmenter_data 2.3.0; word lists, not visual assets):
|
||||
Copyright © 2020-2024 Unicode, Inc. Portions adapted from ICU4C and/or ICU4J:
|
||||
ICU 1.8.1 to ICU 57.1 © 1995-2016 International Business Machines Corporation and others.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of data files and any
|
||||
associated documentation (the "Data Files") or software and any associated documentation (the
|
||||
"Software") to deal in the Data Files or Software without restriction, including without
|
||||
limitation the rights to use, copy, modify, merge, publish, distribute, and/or sell copies of the
|
||||
Data Files or Software, and to permit persons to whom the Data Files or Software are furnished to
|
||||
do so, provided that either (a) this copyright and permission notice appear with all copies of
|
||||
the Data Files or Software, or (b) this copyright and permission notice appear in associated
|
||||
Documentation.
|
||||
|
||||
THE DATA FILES AND SOFTWARE ARE 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 OF THIRD PARTY RIGHTS.
|
||||
|
||||
IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM,
|
||||
OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
|
||||
USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
|
||||
ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA FILES OR SOFTWARE.
|
||||
|
||||
Except as contained in this notice, the name of a copyright holder shall not be used in
|
||||
advertising or otherwise to promote the sale, use or other dealings in these Data Files or
|
||||
Software without prior written authorization of the copyright holder.
|
||||
|
||||
Showcase PDF (built by `cargo xtask demo-pdf`, not committed): fonts are downloaded at build time from
|
||||
google/fonts at a pinned commit, verified by SHA-256, all under the SIL Open Font License 1.1 — see the
|
||||
"Downloaded at build time" table in ATTRIBUTION.md.
|
||||
|
||||
@@ -30,6 +30,7 @@ pub const ALLOWED_LICENCES: &[&str] = &[
|
||||
"OFL-1.1",
|
||||
"Ubuntu-font-1.0",
|
||||
"Bitstream-Vera",
|
||||
"Unicode-3.0",
|
||||
"CC0-1.0",
|
||||
"CC-BY-4.0",
|
||||
"CC-BY-SA-4.0",
|
||||
|
||||
Reference in new issue
Block a user