Repository navigation
Keep fills, square frames, and handwriting from older Microsoft Whiteboard boards (1.7.2) - #173
Merged
Merged
Conversation
…board boards (1.7.2) Boards made with older versions of Microsoft Whiteboard imported without their highlighter fills, with rounded frames, and with handwritten titles split in two. Highlighter strokes that the page keeps only as an outline become SVG pictures of that outline. A Rectangle shape with square corners joins the Insert row, and imported rectangles use it. Ink Free joins the label fonts, and imported text is broken into lines by measuring in the family the page names. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Compared with Edge, boards made with older versions of Microsoft Whiteboard imported with three differences: highlighter fills were missing, frames had rounded corners, and handwritten titles were split onto two lines.
Missing fills. Older boards keep some highlighter strokes as an outline only: the
polylineis empty and the scale is not 1/128. The outline is a square tip followed by the sweep, as overlapping pieces, and the path cannot be recovered from it reliably, so the importer treated the stroke as empty and dropped it without a message. Such a stroke now becomes an SVG picture of its outline, in its color and opacity, at its place in the drawing order. Seven such strokes on three sample boards (FEvsSE, Venn diagrams, Whiteboard 1) are back. They move and delete as pictures, and they keep the few small gaps Edge shows where the outline's pieces overlap.Square frames. The board had no square-cornered shape.
ShapeKind.Rectangleis added at the end of the enum, because a board stores the kind by name and an older release opens an unknown kind as a rounded rectangle. It comes first on the Insert row and palette (now three rows of three), and PowerPoint export writes it asrect. Imported rectangles of either form use it. Notes and note grids stay rounded.Handwriting. Text boxes on older boards use Ink Free, which was mapped to Segoe Print, a wider font. The line breaks were worked out in Segoe Print, so single-line titles split in two. Ink Free is now a label font, embedded in PDF export from its one regular file. Imported text is now broken into lines by measuring in the family the page names, so Aptos text keeps its breaks too.
Verified by rendering FEvsSE, Venn diagrams, and Whiteboard 1 in headless Edge and in the application at the same fit; the fills, frames, and titles match. All 21 sample boards import with nothing left out. New Core smoke tests cover the outline picture, the Rectangle kind on both import paths, and the line-break font. The existing per-shape and per-font export tests now include Rectangle and Ink Free. The solution builds clean and both harnesses pass.
The Insert row and palette with the new button were not checked on screen.
The version goes to 1.7.2, with a CHANGELOG entry; README, the guide, the shortcuts page, the Preferences description, and the design, export, and import docs are updated.
🤖 Generated with Claude Code