mirror of
https://github.com/storytold/wordcraft.git
synced 2026-10-24 10:27:44 -06:00
* #816: copied equations reach other programs as MathML A copy or cut whose selection holds an equation now also puts HTML on the system clipboard, with each equation as Presentation MathML (wrapped in <semantics> with the linear format as an application/x-unicodemath annotation), so Word, LibreOffice, Google Docs and browsers paste a formatted equation instead of `y=2x_s`. - formats: new mathml module, a writer from the equation tree (runs, fractions, scripts and pre-scripts, radicals, n-ary operators, delimiters, functions, limits, accents, bars, border boxes, group characters, equation arrays, matrices, phantoms) and a bounded reader (our annotation, else the presentation elements, else a TeX annotation). HTML export writes equations as MathML; HTML import (open and paste) reads <math> back. - engine: edit.copy/edit.cut (and column copy) return `html` and keep Session::clipboard_html when the fragment holds an equation. - ui-egui: Services::set_clipboard_html; copy sites put HTML with the text through it, falling back to egui's text copy. - wordcraft: arboard set().html() with the text alternative; on Wayland without data-control the text-only path is kept. OMML on the clipboard (Word's "Office Open XML") needs custom clipboard formats arboard can't set; left as a follow-up. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * #816: honest clipboard docs; MathML reader fixes (token cap, function names, column vectors) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Dmitrii Khlapov <19991457+dkhlapov@users.noreply.github.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Brandon Thomas <echelon@gmail.com>