From c7e4d6a19cf0c116ed2bc01f9a8d5aa85fe3a771 Mon Sep 17 00:00:00 2001 From: vangel76 Date: Tue, 20 Oct 2026 01:35:46 +0200 Subject: [PATCH] shape.setText: apply the WordArt length limit Co-Authored-By: Claude Sonnet 5.5 --- crates/engine/src/cmd/insert.rs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/crates/engine/src/cmd/insert.rs b/crates/engine/src/cmd/insert.rs index 41b8fd37a..35daaea25 100644 --- a/crates/engine/src/cmd/insert.rs +++ b/crates/engine/src/cmd/insert.rs @@ -1079,6 +1079,9 @@ fn shape_set_text(s: &mut Session, p: &Json) -> Result { if shape.kind == ShapeKind::WordArt && text.is_empty() { return Err(bad("shape.setText", "WordArt text must not be empty")); } + if shape.kind == ShapeKind::WordArt && text.chars().nth(super::wordart::MAX_CHARS).is_some() { + return Err(bad("shape.setText", format!("`text` is longer than {} characters", super::wordart::MAX_CHARS))); + } // Sheet protection locks drawing objects (there is no "edit objects" allowance yet). if sh.is_protected() { return Err(EngineError::Other(PROTECTED.into()));