diff --git a/crates/idml/src/import.rs b/crates/idml/src/import.rs index 3493d60a7..7490218cb 100644 --- a/crates/idml/src/import.rs +++ b/crates/idml/src/import.rs @@ -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() {