feat(pdf): searchable text layer with per-style subset font embedding

Real BT/Tj text objects ride alongside the vector outlines (Tr 3,
zero visual change): runs preserved at layout time, TTF styles embedded
as allsorts subsets with ToUnicode, width-matched Tm, clip-culled.
WireModel literals moved to ..Default::default() tails.
This commit is contained in:
Karim Jerbi committed 2026-10-01 23:30:35 +01:00
1 parent 443b935a3f
commit 02c470aac7
44 files changed
+1534 -127

No files matched your search

+3 -1
View File
@@ -235,7 +235,9 @@ impl CadCommand for AttdefCommand {
plinegen: true,
fill_tris: vec![],
fill_tris_low: Vec::new(),
})
..Default::default()
})
}
}
+3 -1
View File
@@ -213,7 +213,9 @@ impl MlineCommand {
plinegen: true,
fill_tris,
fill_tris_low,
})
..Default::default()
})
}
}
+3 -1
View File
@@ -202,7 +202,9 @@ impl CadCommand for ImageCommand {
plinegen: true,
fill_tris: vec![],
fill_tris_low: Vec::new(),
})
..Default::default()
})
}
}
+6 -2
View File
@@ -119,7 +119,9 @@ impl CadCommand for RayCommand {
plinegen: true,
fill_tris: vec![],
fill_tris_low: Vec::new(),
})
..Default::default()
})
}
}
@@ -408,7 +410,9 @@ impl CadCommand for XLineCommand {
plinegen: true,
fill_tris: vec![],
fill_tris_low: Vec::new(),
})
..Default::default()
})
}
}
+3 -1
View File
@@ -401,7 +401,9 @@ impl CadCommand for AreaCommand {
plinegen: true,
fill_tris: Vec::new(),
fill_tris_low: Vec::new(),
})
..Default::default()
})
}
fn area_preview_regions(&self) -> Option<Vec<AreaPreviewRegion>> {
+3 -1
View File
@@ -124,7 +124,9 @@ impl CadCommand for DistCommand {
plinegen: true,
fill_tris: vec![],
fill_tris_low: Vec::new(),
})
..Default::default()
})
}
}
+3 -1
View File
@@ -103,7 +103,9 @@ impl MeasureGeomCommand {
plinegen: true,
fill_tris: vec![],
fill_tris_low: Vec::new(),
}
..Default::default()
}
}
/// Extract (radius) from a Circle or Arc; `None` for anything else.
+3 -1
View File
@@ -4870,7 +4870,9 @@ fn preview_wire(points: Vec<[f32; 3]>, color: [f32; 4], name: &str) -> WireModel
plinegen: true,
fill_tris: vec![],
fill_tris_low: Vec::new(),
}
..Default::default()
}
}
/// Insert the exact boundary crossings between consecutive samples so a