mirror of
https://github.com/storytold/wordcraft.git
synced 2026-10-22 19:08:48 +00:00
* #778: .xls and legacy-encoding recipient lists; filter and sort recipients - Recipient lists: legacy Excel 97-2003 .xls (BIFF8 reader on the cfb crate already in the tree); Excel 5.0/95 and password-protected .xls refused with a clear message; a CSV named .xls reads as text, an HTML one gets an error. .xls added to the picker filters (desktop, web, built-in browser) and drop handling. - Text lists (and plain-text import) detect legacy encodings when not UTF-8/UTF-16: GBK/GB18030, Big5, Shift_JIS, EUC-KR, Windows code pages (encoding_rs + chardetng, MIT/Apache); an `encoding` param overrides. - mailings.filterRecipients / mailings.sortRecipients: field, comparison (equal, notEqual, less, greater, lessOrEqual, greaterOrEqual, blank, notBlank, contains, notContains), value, And/Or joins; sort keys. Preview, Finish & Merge and labels use only the matching records in sort order. Edit Recipient List edits every record and keeps the filter. - Recipient List dialog: Filter and Sort section and a merge-order column; catalog rows; strings in every catalog; docs. Co-Authored-By: Claude Opus 5.5 <[email protected]> * i18n: Hungarian and French strings for this change Co-Authored-By: Claude Opus 5.5 <[email protected]> * Review fixes for #885: total order for recipient sort, Bulgarian strings - compare_cells now ranks numbers (compared numerically) before text (compared case-insensitively), so it is a total order; a column mixing 9, 10 and 1a could make slice::sort_by panic. Regression test sorts mixed columns. - Bulgarian catalog: the 24 Filter and Sort strings. Co-Authored-By: Claude Opus 5.5 <[email protected]> * vi: mail merge Filter and Sort strings Co-Authored-By: Claude Opus 5.5 <[email protected]> --------- Co-authored-by: Dmitrii Khlapov <[email protected]> Co-authored-by: Claude Opus 5.5 <[email protected]> Co-authored-by: Brandon Thomas <[email protected]>
28 lines
740 B
TOML
28 lines
740 B
TOML
[package]
|
|
name = "wordcraft-formats"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
description = "WordCraft import/export: plain text, Markdown, HTML, RTF, OpenDocument Text and LaTeX"
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[dependencies]
|
|
wordcraft-doc = { workspace = true }
|
|
wordcraft-geom = { workspace = true }
|
|
image = { workspace = true }
|
|
quick-xml = { workspace = true }
|
|
zip = { workspace = true }
|
|
cfb = { workspace = true }
|
|
encoding_rs = { workspace = true }
|
|
chardetng = { workspace = true }
|
|
log = { workspace = true }
|
|
|
|
[target.'cfg(target_arch = "wasm32")'.dependencies]
|
|
# The browser clock (`SystemTime::now()` panics on wasm32): ODT change dates.
|
|
js-sys = "0.3"
|
|
|
|
[dev-dependencies]
|
|
proptest = { workspace = true }
|