mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-11-01 13:47:21 -06:00
File > Place reads a Word 97-2003 document (a compound file named .doc, or one that holds a WordDocument stream) and sets its main text as area type, as it does for .rtf and .docx files. The text comes from the piece table, in 16-bit Unicode or compressed 8-bit pieces. Formatting is resolved from the style sheet's default font, the paragraph style, the character style and the direct character and paragraph properties, and keeps the same properties the .docx reader maps. Table cells are separated by tabs and each row is a paragraph, and a field places as its result. Hidden and deleted text, pictures, headers, footers, notes, comments and text boxes are left out, and the reply's warnings name each kind of content left out or changed once. Word 6.0 and Word 95 documents, encrypted documents and documents last saved with fast save are refused, and so are structures that lie outside their streams. The compound file is read with the cfb crate (MIT), which adds one package to Cargo.lock.
66 lines
2.5 KiB
TOML
66 lines
2.5 KiB
TOML
[package]
|
|
name = "vectorcraft-engine"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
description = "VectorCraft engine: sessions, history, selection, the command registry"
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[features]
|
|
default = ["bundled-fonts"]
|
|
# The fonts vectorcraft-text bundles (see its `bundled-fonts`). Embedders that supply every font at
|
|
# run time (`vectorcraft_text::FontDb::add_font`) build with `default-features = false`.
|
|
bundled-fonts = ["vectorcraft-text/bundled-fonts"]
|
|
|
|
[dependencies]
|
|
# Which paths stored in documents may be opened.
|
|
craft-docpath = { workspace = true }
|
|
vectorcraft-geom = { workspace = true }
|
|
vectorcraft-color = { workspace = true }
|
|
vectorcraft-doc = { workspace = true }
|
|
vectorcraft-tools = { workspace = true }
|
|
vectorcraft-text = { workspace = true }
|
|
vectorcraft-render = { workspace = true }
|
|
vectorcraft-pathops = { workspace = true }
|
|
vectorcraft-brush = { workspace = true }
|
|
vectorcraft-trace = { workspace = true }
|
|
vectorcraft-svg = { workspace = true }
|
|
vectorcraft-format = { workspace = true }
|
|
vectorcraft-pdf = { workspace = true }
|
|
vectorcraft-cad = { workspace = true }
|
|
vectorcraft-eps = { workspace = true }
|
|
vectorcraft-metafile = { workspace = true }
|
|
vectorcraft-plugins = { workspace = true }
|
|
vectorcraft-affinity = { workspace = true }
|
|
vectorcraft-scriptcheck = { workspace = true }
|
|
image = { workspace = true }
|
|
hayro-jpeg2000 = { version = "=0.3.5", default-features = false, features = ["std", "simd"] }
|
|
flate2 = { workspace = true }
|
|
# The XML parts of Word documents placed as type (place/docx.rs).
|
|
roxmltree = "0.21"
|
|
# The compound file that holds a Word 97-2003 document placed as type (place/doc.rs).
|
|
cfb = "0.15"
|
|
kurbo = { workspace = true }
|
|
serde = { workspace = true }
|
|
serde_json = { workspace = true }
|
|
thiserror = { workspace = true }
|
|
log = { workspace = true }
|
|
|
|
# Whether a recovery area folder is this account's own (`FolderStore::own_area`). Already in
|
|
# Cargo.lock (tempfile, ui-egui), so this adds no new crate.
|
|
[target.'cfg(unix)'.dependencies]
|
|
rustix = { workspace = true, features = ["std", "process"] }
|
|
|
|
[dev-dependencies]
|
|
vectorcraft-affinity = { workspace = true, features = ["synth"] }
|
|
crc32fast = { workspace = true }
|
|
vectorcraft-testkit = { workspace = true }
|
|
proptest = { workspace = true }
|
|
# A variable font built in code (no font file is committed).
|
|
vectorcraft-text = { workspace = true, features = ["test-fonts"] }
|
|
wat = { workspace = true }
|
|
# Zstandard streams for the Illustrator editing data fuzz tests.
|
|
ruzstd = { workspace = true }
|