summaryrefslogtreecommitdiff
path: root/src/export
diff options
context:
space:
mode:
Diffstat (limited to 'src/export')
-rw-r--r--src/export/pdf.rs9
-rw-r--r--src/export/render.rs4
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(());