Highlights
- MText inline format codes everywhere. A new run-aware MText pipeline (
text_support::layout_mtext) replaces the legacystrip_mtext_codespath. Every text-bearing entity — MTEXT, TABLE cells, MLEADER MText content, ATTRIB / ATTDEF withmtext_flagset, and DIMENSIONtext_override— now honours\f,\C/\c,\H,\W,\Q,\T,\A,\p…(paragraph align + indents + tab stops),\Sstacked fractions,\L/\O/\Kdecorations, brace-scoped state, and\U+XXXXunicode. - Hatch + wipeout export to PDF. The PDF / print pipeline previously dropped every solid fill — sheets came out with hollow polygons.
pdf_export::export_pdfandprint_to_printer::print_wiresnow consume the same hatch / wipeout list as the on-screen canvas and emit each as a filled polygon (EvenOdd winding so islands / holes work). - PAT pattern rasteriser.
HatchModel::pattern_segments()clips each PAT line family against the boundary on the CPU so ANSI31, ANSI37 and friends render as actual ruled fill in both paper canvas and PDF — not just an outline. Dash phase is preserved across clipped spans to match the GPU shader.
Fixes
- mtext:
\pxqc;/\pxqr;/\pxql;paragraph alignment was being lost when wrapped in a{…}font block; paragraph properties now persist across braces (only character state scopes). - mtext: trailing whitespace no longer skews centre / right alignment by half a space-width.
- table:
\C7;Red-style codes inside cell text used to render as literal backslash glyphs; cells now go through the MText pipeline. - multileader: silent loss of
\f,\C,\H,\pinside the MText content is gone — both the snap / truck path and the LOD ladder route throughlayout_mtext. - dimension:
text_overridecarrying MText escapes (font / colour / stacked tolerances) now builds a synthetic MText instead of a Text, so the codes reach the renderer.
Full Changelog: v0.3.6...v0.3.7