mirror of
https://github.com/storytold/designcraft.git
synced 2026-10-24 02:06:54 -06:00
IDML import: ignore non-finite Minimum First Baseline offsets, clamp to 0..8640
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
08ce444054
commit
8981d5e4cd
@@ -1190,7 +1190,7 @@ impl<'r> Importer<'r> {
|
||||
}
|
||||
cs.vj = e.get("VerticalJustification").map(names::vj_in);
|
||||
cs.first_baseline = e.get("FirstBaselineOffset").map(names::first_baseline_in);
|
||||
cs.first_baseline_min = e.num("MinimumFirstBaselineOffset").map(|v| v.max(0.0));
|
||||
cs.first_baseline_min = e.num("MinimumFirstBaselineOffset").filter(|v| v.is_finite()).map(|v| v.clamp(0.0, 8640.0));
|
||||
cs.strokes = ["TopEdge", "LeftEdge", "BottomEdge", "RightEdge"].map(|side| self.cell_stroke_attrs(e, side));
|
||||
if let Some(stroke) = uniform_cell_stroke(&cs.strokes) {
|
||||
cs.stroke = Some(stroke);
|
||||
@@ -2218,8 +2218,8 @@ impl<'r> Importer<'r> {
|
||||
if let Some(fb) = ce.get("FirstBaselineOffset") {
|
||||
cell.first_baseline = names::first_baseline_in(fb);
|
||||
}
|
||||
if let Some(min) = ce.num("MinimumFirstBaselineOffset") {
|
||||
cell.first_baseline_min = min.max(0.0);
|
||||
if let Some(min) = ce.num("MinimumFirstBaselineOffset").filter(|v| v.is_finite()) {
|
||||
cell.first_baseline_min = min.clamp(0.0, 8640.0);
|
||||
}
|
||||
cell.rotation = ce.num("RotationAngle").unwrap_or(cell.rotation);
|
||||
for (i, side) in ["TopEdge", "LeftEdge", "BottomEdge", "RightEdge"].iter().enumerate() {
|
||||
|
||||
Reference in New Issue
Block a user