diff options
Diffstat (limited to 'src/export')
| -rw-r--r-- | src/export/pdf.rs | 9 | ||||
| -rw-r--r-- | src/export/render.rs | 4 |
2 files changed, 7 insertions, 6 deletions
diff --git a/src/export/pdf.rs b/src/export/pdf.rs index b39f47ea..2550519b 100644 --- a/src/export/pdf.rs +++ b/src/export/pdf.rs @@ -90,9 +90,10 @@ impl<'a> PdfExporter<'a> { let glyphs = &self.glyph_sets[&face_id]; let face = self.fonts.get(face_id); + let metrics = face.metrics(); let ttf = face.ttf(); - let postscript_name = find_name(ttf.names(), name_id::POST_SCRIPT_NAME) + let postscript_name = find_name(ttf, name_id::POST_SCRIPT_NAME) .unwrap_or_else(|| "unknown".to_string()); let base_font = format_eco!("ABCDEF+{}", postscript_name); @@ -155,9 +156,9 @@ impl<'a> PdfExporter<'a> { ); let italic_angle = ttf.italic_angle().unwrap_or(0.0); - let ascender = face.ascender.to_font_units(); - let descender = face.descender.to_font_units(); - let cap_height = face.cap_height.to_font_units(); + let ascender = metrics.ascender.to_font_units(); + let descender = metrics.descender.to_font_units(); + let cap_height = metrics.cap_height.to_font_units(); let stem_v = 10.0 + 0.244 * (f32::from(ttf.weight().to_number()) - 50.0); // Write the font descriptor (contains metrics about the font). diff --git a/src/export/render.rs b/src/export/render.rs index ff35390e..89a17eea 100644 --- a/src/export/render.rs +++ b/src/export/render.rs @@ -160,7 +160,7 @@ fn render_svg_glyph( // If there's no viewbox defined, use the em square for our scale // transformation ... - let upem = face.units_per_em as f32; + let upem = face.units_per_em() as f32; let (mut width, mut height) = (upem, upem); // ... but if there's a viewbox or width, use that. @@ -232,7 +232,7 @@ fn render_outline_glyph( // Flip vertically because font design coordinate // system is Y-up. - let scale = text.size.to_f32() / face.units_per_em as f32; + let scale = text.size.to_f32() / face.units_per_em() as f32; let ts = ts.pre_scale(scale, -scale); canvas.fill_path(&path, &paint, rule, ts, mask)?; return Some(()); |
