summaryrefslogtreecommitdiff
path: root/src/export
diff options
context:
space:
mode:
Diffstat (limited to 'src/export')
-rw-r--r--src/export/pdf/page.rs16
-rw-r--r--src/export/render.rs2
2 files changed, 16 insertions, 2 deletions
diff --git a/src/export/pdf/page.rs b/src/export/pdf/page.rs
index d6ead124..94650a3f 100644
--- a/src/export/pdf/page.rs
+++ b/src/export/pdf/page.rs
@@ -483,7 +483,21 @@ fn write_image(ctx: &mut PageContext, x: f32, y: f32, image: &Image, size: Size)
let h = size.y.to_f32();
ctx.content.save_state();
ctx.content.transform([w, 0.0, 0.0, -h, x, y + h]);
- ctx.content.x_object(Name(name.as_bytes()));
+
+ if let Some(alt) = image.alt() {
+ let mut image_span =
+ ctx.content.begin_marked_content_with_properties(Name(b"Span"));
+ let mut image_alt = image_span.properties_direct();
+ image_alt.pair(Name(b"Alt"), pdf_writer::Str(alt.as_bytes()));
+ image_alt.finish();
+ image_span.finish();
+
+ ctx.content.x_object(Name(name.as_bytes()));
+ ctx.content.end_marked_content();
+ } else {
+ ctx.content.x_object(Name(name.as_bytes()));
+ }
+
ctx.content.restore_state();
}
diff --git a/src/export/render.rs b/src/export/render.rs
index 3c2cea8d..b3a8f5ce 100644
--- a/src/export/render.rs
+++ b/src/export/render.rs
@@ -238,7 +238,7 @@ fn render_bitmap_glyph(
let size = text.size.to_f32();
let ppem = size * ts.sy;
let raster = text.font.ttf().glyph_raster_image(id, ppem as u16)?;
- let image = Image::new(raster.data.into(), raster.format.into()).ok()?;
+ let image = Image::new(raster.data.into(), raster.format.into(), None).ok()?;
// FIXME: Vertical alignment isn't quite right for Apple Color Emoji,
// and maybe also for Noto Color Emoji. And: Is the size calculation