Integrate remaining six PdfCraft parity PRs with conflict resolutions

Includes #4325 #1952 #4180 #2529 #4320 #4805, preserving their original histories.
Keep paragraph alignment and hard/soft wrap metadata together; retain CCITT/downsampling/RGB ownership guards with bounded JBIG2 export and exact-copy symbol encoding.
Combined interaction regressions added. Validation pending.
This commit is contained in:
FredApps
2026-10-30 11:02:07 +01:00
129 changed files with 7949 additions and 415 deletions
+1
View File
@@ -82,6 +82,7 @@ pub use pdfcraft_edit::added::{
CHAR_SPACING_LIMIT as ADDED_CHAR_SPACING_LIMIT, paste_place as added_paste_place, paste_rect as added_paste_rect, text_rect as added_text_rect,
text_width as added_text_width,
};
pub use pdfcraft_edit::paragraph_align;
pub use pdfcraft_edit::{
Added, AddedImage, AddedText, Align as TextAlign, Background, Content as AddedContent, Family as FontFamily, HeaderFooter, MarkKind, Watermark,
};
+3
View File
@@ -3936,6 +3936,7 @@ fn pasted_added_content_keeps_its_style_and_picture() {
size: 12.0,
color: [0.8, 0.1, 0.2],
align: TextAlign::Center,
aligns: Vec::new(),
char_spacing: 0.0,
};
s.apply(id, Edit::AddText { page: 0, text: text.clone() }).unwrap();
@@ -7855,6 +7856,7 @@ fn content_edit_keeps_pages_annotations_fields_and_links() {
size: 12.0,
color: [0.0, 0.0, 0.0],
align: TextAlign::Left,
aligns: Vec::new(),
char_spacing: 0.0,
};
session.apply(id, Edit::AddText { page: 1, text }).unwrap();
@@ -7895,6 +7897,7 @@ fn content_refresh_lists_match_the_storages_an_edit_touches() {
size: 12.0,
color: [0.0, 0.0, 0.0],
align: TextAlign::Left,
aligns: Vec::new(),
char_spacing: 0.0,
},
},