Attach Underlay ribbon menu, DWF/DGN attach dialog, DGN true colours

- Insert > Reference: the PDF Attach button becomes an Attach Underlay menu
  (PDF / DWF / DGN); its face runs the last one chosen.
- DWFATTACH, DGNATTACH and ATTACH on a .dwf/.dwfx/.dgn open the Attach
  dialog for that kind: sheets or models with thumbnails (one chosen),
  placement, path type, file details with the sheet / model size, and for
  DGN the conversion units (sub units offer 1 / sub units per master as the
  scale).
- DGN V8 true colours come from the ExtendedColors record packed in the
  non-model attributes stream; the colour word's high part numbers them.
- A DGN model's extent includes each text's box (its length along the
  baseline and 1.5 x its height), as the reference sizes a model.
- DWFx text uses the family named in its embedded (deobfuscated) font.
- DWF contrast pivots at 0.73 once colours are turned over for a dark
  background.
- Hairline strokes are drawn solid one pixel wide, and underlay rasters are
  made at or below their size on screen so those lines stay unbroken.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
ramox81andClaude Opus 5.5 committed 2026-09-28 17:08:06 +03:00
1 parent fecbcd8138
commit 5b6cbff5b2
33 files changed
+745 -59

No files matched your search

+19
View File
@@ -2983,6 +2983,25 @@ pub(super) fn message_attribute(source: &str) -> Option<(&'static str, &'static
"Import PDF" => Some(("insert", "pdfui-import-pdf")),
"Select one or more pages from the PDF file:" => Some(("insert", "pdfui-select-one-or-more-pages-from-the-pdf-file")),
"Page size:" => Some(("insert", "pdfui-page-size")),
"Attach Underlay" => Some(("insert", "ul-attach-underlay")),
"Attach DWF" => Some(("insert", "ul-attach-dwf")),
"Attach DGN" => Some(("insert", "ul-attach-dgn")),
"Attach DWF Underlay" => Some(("insert", "ul-attach-dwf-underlay")),
"Attach DGN Underlay" => Some(("insert", "ul-attach-dgn-underlay")),
"{count} sheets" => Some(("insert", "ul-sheet-count")),
"{count} models" => Some(("insert", "ul-model-count")),
"Sheets" => Some(("insert", "ul-sheets")),
"Models" => Some(("insert", "ul-models")),
"Selected sheet: {sheet}" => Some(("insert", "ul-selected-sheet")),
"Selected model: {model}" => Some(("insert", "ul-selected-model")),
"Sheet size:" => Some(("insert", "ul-sheet-size")),
"Model size:" => Some(("insert", "ul-model-size")),
"Conversion units" => Some(("insert", "ul-conversion-units")),
"Master units" => Some(("insert", "ul-master-units")),
"Sub units" => Some(("insert", "ul-sub-units")),
"Sub units make the default scale {scale}" => Some(("insert", "ul-sub-units-scale")),
"Attaches a DWF or DWFx file as an underlay." => Some(("insert", "ul-attaches-dwf")),
"Attaches a DGN file as an underlay." => Some(("insert", "ul-attaches-dgn")),
"Reference name:" => Some(("insert", "pdfui-reference-name")),
"Search for layer" => Some(("insert", "pdfui-search-for-layer")),
"This file does not contain any layers" => Some(("insert", "pdfui-this-file-does-not-contain-any-layers")),