From 3eb6e87af1d8870a38cc5914e345d07373e1e8c1 Mon Sep 17 00:00:00 2001 From: frozolotl <44589151+frozolotl@users.noreply.github.com> Date: Fri, 31 Jan 2025 10:56:25 +0100 Subject: [PATCH] Include images from raw pixmaps and more (#5632) Co-authored-by: PgBiel <9021226+PgBiel@users.noreply.github.com> Co-authored-by: Laurenz --- Cargo.lock | 5 +- Cargo.toml | 2 +- crates/typst-layout/src/image.rs | 41 ++- crates/typst-library/src/text/font/color.rs | 22 +- .../typst-library/src/visualize/image/mod.rs | 216 ++++++++++----- .../src/visualize/image/raster.rs | 261 ++++++++++++++---- .../typst-library/src/visualize/image/svg.rs | 2 + crates/typst-pdf/src/image.rs | 163 ++++++----- crates/typst-render/src/image.rs | 40 ++- crates/typst-svg/Cargo.toml | 1 + crates/typst-svg/src/image.rs | 48 +++- crates/typst-svg/src/text.rs | 10 +- tests/ref/baseline-box.png | Bin 3896 -> 4021 bytes tests/ref/box-clip-outset.png | Bin 1442 -> 1492 bytes tests/ref/box-clip-radius-without-stroke.png | Bin 1225 -> 1255 bytes tests/ref/box-clip-radius.png | Bin 1245 -> 1250 bytes .../closure-path-resolve-in-layout-phase.png | Bin 2193 -> 2256 bytes tests/ref/coma.png | Bin 28740 -> 28615 bytes tests/ref/footnote-in-caption.png | Bin 6111 -> 6154 bytes tests/ref/footnote-in-table.png | Bin 12380 -> 12727 bytes tests/ref/image-baseline-with-box.png | Bin 6375 -> 6375 bytes tests/ref/image-decode-detect-format.png | Bin 10648 -> 11032 bytes tests/ref/image-decode-specify-format.png | Bin 10648 -> 11032 bytes tests/ref/image-fit.png | Bin 10302 -> 10390 bytes tests/ref/image-pixmap-luma8.png | Bin 0 -> 321 bytes tests/ref/image-pixmap-lumaa8.png | Bin 0 -> 299 bytes tests/ref/image-pixmap-rgb8.png | Bin 0 -> 1220 bytes tests/ref/image-pixmap-rgba8.png | Bin 0 -> 854 bytes tests/ref/image-scaling-methods.png | Bin 0 -> 1539 bytes tests/ref/image-sizing.png | Bin 8662 -> 8925 bytes tests/ref/issue-4361-transparency-leak.png | Bin 3515 -> 3738 bytes tests/ref/pad-followed-by-content.png | Bin 11897 -> 12071 bytes tests/suite/visualize/image.typ | 128 +++++++++ 33 files changed, 689 insertions(+), 250 deletions(-) create mode 100644 tests/ref/image-pixmap-luma8.png create mode 100644 tests/ref/image-pixmap-lumaa8.png create mode 100644 tests/ref/image-pixmap-rgb8.png create mode 100644 tests/ref/image-pixmap-rgba8.png create mode 100644 tests/ref/image-scaling-methods.png diff --git a/Cargo.lock b/Cargo.lock index 3343c246b..ada3a3d4e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1122,9 +1122,9 @@ checksum = "cb56e1aa765b4b4f3aadfab769793b7087bb03a4ea4920644a6d238e2df5b9ed" [[package]] name = "image" -version = "0.25.2" +version = "0.25.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99314c8a2152b8ddb211f924cdae532d8c5e4c8bb54728e12fff1b0cd5963a10" +checksum = "cd6f44aed642f18953a158afeb30206f4d50da59fbc66ecb53c66488de73563b" dependencies = [ "bytemuck", "byteorder-lite", @@ -3036,6 +3036,7 @@ dependencies = [ "comemo", "ecow", "flate2", + "image", "ttf-parser", "typst-library", "typst-macros", diff --git a/Cargo.toml b/Cargo.toml index 6b592cd39..d03bfa6d1 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -67,7 +67,7 @@ icu_provider_adapters = "1.4" icu_provider_blob = "1.4" icu_segmenter = { version = "1.4", features = ["serde"] } if_chain = "1" -image = { version = "0.25.2", default-features = false, features = ["png", "jpeg", "gif"] } +image = { version = "0.25.5", default-features = false, features = ["png", "jpeg", "gif"] } indexmap = { version = "2", features = ["serde"] } kamadak-exif = "0.5" kurbo = "0.11" diff --git a/crates/typst-layout/src/image.rs b/crates/typst-layout/src/image.rs index e521b993f..503c30820 100644 --- a/crates/typst-layout/src/image.rs +++ b/crates/typst-layout/src/image.rs @@ -10,7 +10,8 @@ use typst_library::layout::{ use typst_library::loading::DataSource; use typst_library::text::families; use typst_library::visualize::{ - Curve, Image, ImageElem, ImageFit, ImageFormat, RasterFormat, VectorFormat, + Curve, ExchangeFormat, Image, ImageElem, ImageFit, ImageFormat, ImageKind, + RasterImage, SvgImage, VectorFormat, }; /// Layout the image. @@ -49,15 +50,27 @@ pub fn layout_image( } // Construct the image itself. - let image = Image::with_fonts( - data.clone(), - format, - elem.alt(styles), - engine.world, - &families(styles).map(|f| f.as_str()).collect::>(), - elem.flatten_text(styles), - ) - .at(span)?; + let kind = match format { + ImageFormat::Raster(format) => ImageKind::Raster( + RasterImage::new( + data.clone(), + format, + elem.icc(styles).as_ref().map(|icc| icc.derived.clone()), + ) + .at(span)?, + ), + ImageFormat::Vector(VectorFormat::Svg) => ImageKind::Svg( + SvgImage::with_fonts( + data.clone(), + engine.world, + elem.flatten_text(styles), + &families(styles).map(|f| f.as_str()).collect::>(), + ) + .at(span)?, + ), + }; + + let image = Image::new(kind, elem.alt(styles), elem.scaling(styles)); // Determine the image's pixel aspect ratio. let pxw = image.width(); @@ -129,10 +142,10 @@ fn determine_format(source: &DataSource, data: &Bytes) -> StrResult .to_lowercase(); match ext.as_str() { - "png" => return Ok(ImageFormat::Raster(RasterFormat::Png)), - "jpg" | "jpeg" => return Ok(ImageFormat::Raster(RasterFormat::Jpg)), - "gif" => return Ok(ImageFormat::Raster(RasterFormat::Gif)), - "svg" | "svgz" => return Ok(ImageFormat::Vector(VectorFormat::Svg)), + "png" => return Ok(ExchangeFormat::Png.into()), + "jpg" | "jpeg" => return Ok(ExchangeFormat::Jpg.into()), + "gif" => return Ok(ExchangeFormat::Gif.into()), + "svg" | "svgz" => return Ok(VectorFormat::Svg.into()), _ => {} } } diff --git a/crates/typst-library/src/text/font/color.rs b/crates/typst-library/src/text/font/color.rs index e3183e885..0a7b13c97 100644 --- a/crates/typst-library/src/text/font/color.rs +++ b/crates/typst-library/src/text/font/color.rs @@ -10,7 +10,9 @@ use xmlwriter::XmlWriter; use crate::foundations::Bytes; use crate::layout::{Abs, Frame, FrameItem, Point, Size}; use crate::text::{Font, Glyph}; -use crate::visualize::{FixedStroke, Geometry, Image, RasterFormat, VectorFormat}; +use crate::visualize::{ + ExchangeFormat, FixedStroke, Geometry, Image, RasterImage, SvgImage, +}; /// Whether this glyph should be rendered via simple outlining instead of via /// `glyph_frame`. @@ -102,12 +104,8 @@ fn draw_raster_glyph( upem: Abs, raster_image: ttf_parser::RasterGlyphImage, ) -> Option<()> { - let image = Image::new( - Bytes::new(raster_image.data.to_vec()), - RasterFormat::Png.into(), - None, - ) - .ok()?; + let data = Bytes::new(raster_image.data.to_vec()); + let image = Image::plain(RasterImage::plain(data, ExchangeFormat::Png).ok()?); // Apple Color emoji doesn't provide offset information (or at least // not in a way ttf-parser understands), so we artificially shift their @@ -178,9 +176,8 @@ fn draw_colr_glyph( ttf.paint_color_glyph(glyph_id, 0, RgbaColor::new(0, 0, 0, 255), &mut glyph_painter)?; svg.end_element(); - let data = svg.end_document().into_bytes(); - - let image = Image::new(Bytes::new(data), VectorFormat::Svg.into(), None).ok()?; + let data = Bytes::from_string(svg.end_document()); + let image = Image::plain(SvgImage::new(data).ok()?); let y_shift = Abs::pt(upem.to_pt() - y_max); let position = Point::new(Abs::pt(x_min), y_shift); @@ -255,9 +252,8 @@ fn draw_svg_glyph( ty = -top, ); - let image = - Image::new(Bytes::new(wrapper_svg.into_bytes()), VectorFormat::Svg.into(), None) - .ok()?; + let data = Bytes::from_string(wrapper_svg); + let image = Image::plain(SvgImage::new(data).ok()?); let position = Point::new(Abs::pt(left), Abs::pt(top) + upem); let size = Size::new(Abs::pt(width), Abs::pt(height)); diff --git a/crates/typst-library/src/visualize/image/mod.rs b/crates/typst-library/src/visualize/image/mod.rs index 77f8426e4..0e5c9e329 100644 --- a/crates/typst-library/src/visualize/image/mod.rs +++ b/crates/typst-library/src/visualize/image/mod.rs @@ -3,13 +3,14 @@ mod raster; mod svg; -pub use self::raster::{RasterFormat, RasterImage}; +pub use self::raster::{ + ExchangeFormat, PixelEncoding, PixelFormat, RasterFormat, RasterImage, +}; pub use self::svg::SvgImage; use std::fmt::{self, Debug, Formatter}; use std::sync::Arc; -use comemo::Tracked; use ecow::EcoString; use typst_syntax::{Span, Spanned}; use typst_utils::LazyHash; @@ -24,7 +25,6 @@ use crate::layout::{BlockElem, Length, Rel, Sizing}; use crate::loading::{DataSource, Load, Readable}; use crate::model::Figurable; use crate::text::LocalName; -use crate::World; /// A raster or vector graphic. /// @@ -46,7 +46,8 @@ use crate::World; /// ``` #[elem(scope, Show, LocalName, Figurable)] pub struct ImageElem { - /// A path to an image file or raw bytes making up an encoded image. + /// A path to an image file or raw bytes making up an image in one of the + /// supported [formats]($image.format). /// /// For more details about paths, see the [Paths section]($syntax/#paths). #[required] @@ -57,10 +58,50 @@ pub struct ImageElem { )] pub source: Derived, - /// The image's format. Detected automatically by default. + /// The image's format. /// - /// Supported formats are PNG, JPEG, GIF, and SVG. Using a PDF as an image - /// is [not currently supported](https://github.com/typst/typst/issues/145). + /// By default, the format is detected automatically. Typically, you thus + /// only need to specify this when providing raw bytes as the + /// [`source`]($image.source) (even then, Typst will try to figure out the + /// format automatically, but that's not always possible). + /// + /// Supported formats are `{"png"}`, `{"jpg"}`, `{"gif"}`, `{"svg"}` as well + /// as raw pixel data. Embedding PDFs as images is + /// [not currently supported](https://github.com/typst/typst/issues/145). + /// + /// When providing raw pixel data as the `source`, you must specify a + /// dictionary with the following keys as the `format`: + /// - `encoding` ([str]): The encoding of the pixel data. One of: + /// - `{"rgb8"}` (three 8-bit channels: red, green, blue) + /// - `{"rgba8"}` (four 8-bit channels: red, green, blue, alpha) + /// - `{"luma8"}` (one 8-bit channel) + /// - `{"lumaa8"}` (two 8-bit channels: luma and alpha) + /// - `width` ([int]): The pixel width of the image. + /// - `height` ([int]): The pixel height of the image. + /// + /// The pixel width multiplied by the height multiplied by the channel count + /// for the specified encoding must then match the `source` data. + /// + /// ```example + /// #image( + /// read( + /// "tetrahedron.svg", + /// encoding: none, + /// ), + /// format: "svg", + /// width: 2cm, + /// ) + /// + /// #image( + /// bytes(range(16).map(x => x * 16)), + /// format: ( + /// encoding: "luma8", + /// width: 4, + /// height: 4, + /// ), + /// width: 2cm, + /// ) + /// ``` pub format: Smart, /// The width of the image. @@ -86,6 +127,30 @@ pub struct ImageElem { #[default(ImageFit::Cover)] pub fit: ImageFit, + /// A hint to viewers how they should scale the image. + /// + /// When set to `{auto}`, the default is left up to the viewer. For PNG + /// export, Typst will default to smooth scaling, like most PDF and SVG + /// viewers. + /// + /// _Note:_ The exact look may differ across PDF viewers. + pub scaling: Smart, + + /// An ICC profile for the image. + /// + /// ICC profiles define how to interpret the colors in an image. When set + /// to `{auto}`, Typst will try to extract an ICC profile from the image. + #[parse(match args.named::>>("icc")? { + Some(Spanned { v: Smart::Custom(source), span }) => Some(Smart::Custom({ + let data = Spanned::new(&source, span).load(engine.world)?; + Derived::new(source, data) + })), + Some(Spanned { v: Smart::Auto, .. }) => Some(Smart::Auto), + None => None, + })] + #[borrowed] + pub icc: Smart>, + /// Whether text in SVG images should be converted into curves before /// embedding. This will result in the text becoming unselectable in the /// output. @@ -94,6 +159,7 @@ pub struct ImageElem { } #[scope] +#[allow(clippy::too_many_arguments)] impl ImageElem { /// Decode a raster or vector graphic from bytes or a string. /// @@ -130,6 +196,13 @@ impl ImageElem { /// How the image should adjust itself to a given area. #[named] fit: Option, + /// A hint to viewers how they should scale the image. + #[named] + scaling: Option>, + /// Whether text in SVG images should be converted into curves before + /// embedding. + #[named] + flatten_text: Option, ) -> StrResult { let bytes = data.into_bytes(); let source = Derived::new(DataSource::Bytes(bytes.clone()), bytes); @@ -149,6 +222,12 @@ impl ImageElem { if let Some(fit) = fit { elem.push_fit(fit); } + if let Some(scaling) = scaling { + elem.push_scaling(scaling); + } + if let Some(flatten_text) = flatten_text { + elem.push_flatten_text(flatten_text); + } Ok(elem.pack().spanned(span)) } } @@ -199,15 +278,8 @@ struct Repr { kind: ImageKind, /// A text describing the image. alt: Option, -} - -/// A kind of image. -#[derive(Hash)] -pub enum ImageKind { - /// A raster image. - Raster(RasterImage), - /// An SVG image. - Svg(SvgImage), + /// The scaling algorithm to use. + scaling: Smart, } impl Image { @@ -218,55 +290,29 @@ impl Image { /// Should always be the same as the default DPI used by usvg. pub const USVG_DEFAULT_DPI: f64 = 96.0; - /// Create an image from a buffer and a format. - #[comemo::memoize] - #[typst_macros::time(name = "load image")] + /// Create an image from a `RasterImage` or `SvgImage`. pub fn new( - data: Bytes, - format: ImageFormat, + kind: impl Into, alt: Option, - ) -> StrResult { - let kind = match format { - ImageFormat::Raster(format) => { - ImageKind::Raster(RasterImage::new(data, format)?) - } - ImageFormat::Vector(VectorFormat::Svg) => { - ImageKind::Svg(SvgImage::new(data)?) - } - }; - - Ok(Self(Arc::new(LazyHash::new(Repr { kind, alt })))) + scaling: Smart, + ) -> Self { + Self::new_impl(kind.into(), alt, scaling) } - /// Create a possibly font-dependent image from a buffer and a format. + /// Create an image with optional properties set to the default. + pub fn plain(kind: impl Into) -> Self { + Self::new(kind, None, Smart::Auto) + } + + /// The internal, non-generic implementation. This is memoized to reuse + /// the `Arc` and `LazyHash`. #[comemo::memoize] - #[typst_macros::time(name = "load image")] - pub fn with_fonts( - data: Bytes, - format: ImageFormat, + fn new_impl( + kind: ImageKind, alt: Option, - world: Tracked, - families: &[&str], - flatten_text: bool, - ) -> StrResult { - let kind = match format { - ImageFormat::Raster(format) => { - ImageKind::Raster(RasterImage::new(data, format)?) - } - ImageFormat::Vector(VectorFormat::Svg) => { - ImageKind::Svg(SvgImage::with_fonts(data, world, flatten_text, families)?) - } - }; - - Ok(Self(Arc::new(LazyHash::new(Repr { kind, alt })))) - } - - /// The raw image data. - pub fn data(&self) -> &Bytes { - match &self.0.kind { - ImageKind::Raster(raster) => raster.data(), - ImageKind::Svg(svg) => svg.data(), - } + scaling: Smart, + ) -> Image { + Self(Arc::new(LazyHash::new(Repr { kind, alt, scaling }))) } /// The format of the image. @@ -306,6 +352,11 @@ impl Image { self.0.alt.as_deref() } + /// The image scaling algorithm to use for this image. + pub fn scaling(&self) -> Smart { + self.0.scaling + } + /// The decoded image. pub fn kind(&self) -> &ImageKind { &self.0.kind @@ -319,10 +370,32 @@ impl Debug for Image { .field("width", &self.width()) .field("height", &self.height()) .field("alt", &self.alt()) + .field("scaling", &self.scaling()) .finish() } } +/// A kind of image. +#[derive(Clone, Hash)] +pub enum ImageKind { + /// A raster image. + Raster(RasterImage), + /// An SVG image. + Svg(SvgImage), +} + +impl From for ImageKind { + fn from(image: RasterImage) -> Self { + Self::Raster(image) + } +} + +impl From for ImageKind { + fn from(image: SvgImage) -> Self { + Self::Svg(image) + } +} + /// A raster or vector image format. #[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)] pub enum ImageFormat { @@ -335,8 +408,8 @@ pub enum ImageFormat { impl ImageFormat { /// Try to detect the format of an image from data. pub fn detect(data: &[u8]) -> Option { - if let Some(format) = RasterFormat::detect(data) { - return Some(Self::Raster(format)); + if let Some(format) = ExchangeFormat::detect(data) { + return Some(Self::Raster(RasterFormat::Exchange(format))); } // SVG or compressed SVG. @@ -355,9 +428,12 @@ pub enum VectorFormat { Svg, } -impl From for ImageFormat { - fn from(format: RasterFormat) -> Self { - Self::Raster(format) +impl From for ImageFormat +where + R: Into, +{ + fn from(format: R) -> Self { + Self::Raster(format.into()) } } @@ -371,8 +447,18 @@ cast! { ImageFormat, self => match self { Self::Raster(v) => v.into_value(), - Self::Vector(v) => v.into_value() + Self::Vector(v) => v.into_value(), }, v: RasterFormat => Self::Raster(v), v: VectorFormat => Self::Vector(v), } + +/// The image scaling algorithm a viewer should use. +#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash, Cast)] +pub enum ImageScaling { + /// Scale with a smoothing algorithm such as bilinear interpolation. + Smooth, + /// Scale with nearest neighbor or a similar algorithm to preserve the + /// pixelated look of the image. + Pixelated, +} diff --git a/crates/typst-library/src/visualize/image/raster.rs b/crates/typst-library/src/visualize/image/raster.rs index 098843a25..d43b15486 100644 --- a/crates/typst-library/src/visualize/image/raster.rs +++ b/crates/typst-library/src/visualize/image/raster.rs @@ -7,10 +7,12 @@ use ecow::{eco_format, EcoString}; use image::codecs::gif::GifDecoder; use image::codecs::jpeg::JpegDecoder; use image::codecs::png::PngDecoder; -use image::{guess_format, DynamicImage, ImageDecoder, ImageResult, Limits}; +use image::{ + guess_format, DynamicImage, ImageBuffer, ImageDecoder, ImageResult, Limits, Pixel, +}; use crate::diag::{bail, StrResult}; -use crate::foundations::{Bytes, Cast}; +use crate::foundations::{cast, dict, Bytes, Cast, Dict, Smart, Value}; /// A decoded raster image. #[derive(Clone, Hash)] @@ -21,43 +23,118 @@ struct Repr { data: Bytes, format: RasterFormat, dynamic: image::DynamicImage, - icc: Option>, + icc: Option, dpi: Option, } impl RasterImage { /// Decode a raster image. + pub fn new( + data: Bytes, + format: impl Into, + icc: Smart, + ) -> StrResult { + Self::new_impl(data, format.into(), icc) + } + + /// Create a raster image with optional properties set to the default. + pub fn plain(data: Bytes, format: impl Into) -> StrResult { + Self::new(data, format, Smart::Auto) + } + + /// The internal, non-generic implementation. #[comemo::memoize] - pub fn new(data: Bytes, format: RasterFormat) -> StrResult { - fn decode_with( - decoder: ImageResult, - ) -> ImageResult<(image::DynamicImage, Option>)> { - let mut decoder = decoder?; - let icc = decoder.icc_profile().ok().flatten().filter(|icc| !icc.is_empty()); - decoder.set_limits(Limits::default())?; - let dynamic = image::DynamicImage::from_decoder(decoder)?; - Ok((dynamic, icc)) - } + #[typst_macros::time(name = "load raster image")] + fn new_impl( + data: Bytes, + format: RasterFormat, + icc: Smart, + ) -> StrResult { + let (dynamic, icc, dpi) = match format { + RasterFormat::Exchange(format) => { + fn decode( + decoder: ImageResult, + icc: Smart, + ) -> ImageResult<(image::DynamicImage, Option)> { + let mut decoder = decoder?; + let icc = icc.custom().or_else(|| { + decoder + .icc_profile() + .ok() + .flatten() + .filter(|icc| !icc.is_empty()) + .map(Bytes::new) + }); + decoder.set_limits(Limits::default())?; + let dynamic = image::DynamicImage::from_decoder(decoder)?; + Ok((dynamic, icc)) + } - let cursor = io::Cursor::new(&data); - let (mut dynamic, icc) = match format { - RasterFormat::Jpg => decode_with(JpegDecoder::new(cursor)), - RasterFormat::Png => decode_with(PngDecoder::new(cursor)), - RasterFormat::Gif => decode_with(GifDecoder::new(cursor)), - } - .map_err(format_image_error)?; + let cursor = io::Cursor::new(&data); + let (mut dynamic, icc) = match format { + ExchangeFormat::Jpg => decode(JpegDecoder::new(cursor), icc), + ExchangeFormat::Png => decode(PngDecoder::new(cursor), icc), + ExchangeFormat::Gif => decode(GifDecoder::new(cursor), icc), + } + .map_err(format_image_error)?; - let exif = exif::Reader::new() - .read_from_container(&mut std::io::Cursor::new(&data)) - .ok(); + let exif = exif::Reader::new() + .read_from_container(&mut std::io::Cursor::new(&data)) + .ok(); - // Apply rotation from EXIF metadata. - if let Some(rotation) = exif.as_ref().and_then(exif_rotation) { - apply_rotation(&mut dynamic, rotation); - } + // Apply rotation from EXIF metadata. + if let Some(rotation) = exif.as_ref().and_then(exif_rotation) { + apply_rotation(&mut dynamic, rotation); + } - // Extract pixel density. - let dpi = determine_dpi(&data, exif.as_ref()); + // Extract pixel density. + let dpi = determine_dpi(&data, exif.as_ref()); + + (dynamic, icc, dpi) + } + + RasterFormat::Pixel(format) => { + if format.width == 0 || format.height == 0 { + bail!("zero-sized images are not allowed"); + } + + let channels = match format.encoding { + PixelEncoding::Rgb8 => 3, + PixelEncoding::Rgba8 => 4, + PixelEncoding::Luma8 => 1, + PixelEncoding::Lumaa8 => 2, + }; + + let Some(expected_size) = format + .width + .checked_mul(format.height) + .and_then(|size| size.checked_mul(channels)) + else { + bail!("pixel dimensions are too large"); + }; + + if expected_size as usize != data.len() { + bail!("pixel dimensions and pixel data do not match"); + } + + fn to>( + data: &Bytes, + format: PixelFormat, + ) -> ImageBuffer> { + ImageBuffer::from_raw(format.width, format.height, data.to_vec()) + .unwrap() + } + + let dynamic = match format.encoding { + PixelEncoding::Rgb8 => to::>(&data, format).into(), + PixelEncoding::Rgba8 => to::>(&data, format).into(), + PixelEncoding::Luma8 => to::>(&data, format).into(), + PixelEncoding::Lumaa8 => to::>(&data, format).into(), + }; + + (dynamic, icc.custom(), None) + } + }; Ok(Self(Arc::new(Repr { data, format, dynamic, icc, dpi }))) } @@ -93,60 +170,141 @@ impl RasterImage { } /// Access the ICC profile, if any. - pub fn icc(&self) -> Option<&[u8]> { - self.0.icc.as_deref() + pub fn icc(&self) -> Option<&Bytes> { + self.0.icc.as_ref() } } impl Hash for Repr { fn hash(&self, state: &mut H) { - // The image is fully defined by data and format. + // The image is fully defined by data, format, and ICC profile. self.data.hash(state); self.format.hash(state); + self.icc.hash(state); } } /// A raster graphics format. -#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash, Cast)] +#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)] pub enum RasterFormat { + /// A format typically used in image exchange. + Exchange(ExchangeFormat), + /// A format of raw pixel data. + Pixel(PixelFormat), +} + +impl From for RasterFormat { + fn from(format: ExchangeFormat) -> Self { + Self::Exchange(format) + } +} + +impl From for RasterFormat { + fn from(format: PixelFormat) -> Self { + Self::Pixel(format) + } +} + +cast! { + RasterFormat, + self => match self { + Self::Exchange(v) => v.into_value(), + Self::Pixel(v) => v.into_value(), + }, + v: ExchangeFormat => Self::Exchange(v), + v: PixelFormat => Self::Pixel(v), +} + +/// A raster format typically used in image exchange, with efficient encoding. +#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash, Cast)] +pub enum ExchangeFormat { /// Raster format for illustrations and transparent graphics. Png, /// Lossy raster format suitable for photos. Jpg, - /// Raster format that is typically used for short animated clips. + /// Raster format that is typically used for short animated clips. Typst can + /// load GIFs, but they will become static. Gif, } -impl RasterFormat { +impl ExchangeFormat { /// Try to detect the format of data in a buffer. pub fn detect(data: &[u8]) -> Option { guess_format(data).ok().and_then(|format| format.try_into().ok()) } } -impl From for image::ImageFormat { - fn from(format: RasterFormat) -> Self { +impl From for image::ImageFormat { + fn from(format: ExchangeFormat) -> Self { match format { - RasterFormat::Png => image::ImageFormat::Png, - RasterFormat::Jpg => image::ImageFormat::Jpeg, - RasterFormat::Gif => image::ImageFormat::Gif, + ExchangeFormat::Png => image::ImageFormat::Png, + ExchangeFormat::Jpg => image::ImageFormat::Jpeg, + ExchangeFormat::Gif => image::ImageFormat::Gif, } } } -impl TryFrom for RasterFormat { +impl TryFrom for ExchangeFormat { type Error = EcoString; fn try_from(format: image::ImageFormat) -> StrResult { Ok(match format { - image::ImageFormat::Png => RasterFormat::Png, - image::ImageFormat::Jpeg => RasterFormat::Jpg, - image::ImageFormat::Gif => RasterFormat::Gif, - _ => bail!("Format not yet supported."), + image::ImageFormat::Png => ExchangeFormat::Png, + image::ImageFormat::Jpeg => ExchangeFormat::Jpg, + image::ImageFormat::Gif => ExchangeFormat::Gif, + _ => bail!("format not yet supported"), }) } } +/// Information that is needed to understand a pixmap buffer. +#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)] +pub struct PixelFormat { + /// The channel encoding. + encoding: PixelEncoding, + /// The pixel width. + width: u32, + /// The pixel height. + height: u32, +} + +/// Determines the channel encoding of raw pixel data. +#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash, Cast)] +pub enum PixelEncoding { + /// Three 8-bit channels: Red, green, blue. + Rgb8, + /// Four 8-bit channels: Red, green, blue, alpha. + Rgba8, + /// One 8-bit channel. + Luma8, + /// Two 8-bit channels: Luma and alpha. + Lumaa8, +} + +cast! { + PixelFormat, + self => Value::Dict(self.into()), + mut dict: Dict => { + let format = Self { + encoding: dict.take("encoding")?.cast()?, + width: dict.take("width")?.cast()?, + height: dict.take("height")?.cast()?, + }; + dict.finish(&["encoding", "width", "height"])?; + format + } +} + +impl From for Dict { + fn from(format: PixelFormat) -> Self { + dict! { + "encoding" => format.encoding, + "width" => format.width, + "height" => format.height, + } + } +} + /// Try to get the rotation from the EXIF metadata. fn exif_rotation(exif: &exif::Exif) -> Option { exif.get_field(exif::Tag::Orientation, exif::In::PRIMARY)? @@ -266,21 +424,20 @@ fn format_image_error(error: image::ImageError) -> EcoString { #[cfg(test)] mod tests { - use super::{RasterFormat, RasterImage}; - use crate::foundations::Bytes; + use super::*; #[test] fn test_image_dpi() { #[track_caller] - fn test(path: &str, format: RasterFormat, dpi: f64) { + fn test(path: &str, format: ExchangeFormat, dpi: f64) { let data = typst_dev_assets::get(path).unwrap(); let bytes = Bytes::new(data); - let image = RasterImage::new(bytes, format).unwrap(); + let image = RasterImage::plain(bytes, format).unwrap(); assert_eq!(image.dpi().map(f64::round), Some(dpi)); } - test("images/f2t.jpg", RasterFormat::Jpg, 220.0); - test("images/tiger.jpg", RasterFormat::Jpg, 72.0); - test("images/graph.png", RasterFormat::Png, 144.0); + test("images/f2t.jpg", ExchangeFormat::Jpg, 220.0); + test("images/tiger.jpg", ExchangeFormat::Jpg, 72.0); + test("images/graph.png", ExchangeFormat::Png, 144.0); } } diff --git a/crates/typst-library/src/visualize/image/svg.rs b/crates/typst-library/src/visualize/image/svg.rs index 089f05430..dcc55077b 100644 --- a/crates/typst-library/src/visualize/image/svg.rs +++ b/crates/typst-library/src/visualize/image/svg.rs @@ -30,6 +30,7 @@ struct Repr { impl SvgImage { /// Decode an SVG image without fonts. #[comemo::memoize] + #[typst_macros::time(name = "load svg")] pub fn new(data: Bytes) -> StrResult { let tree = usvg::Tree::from_data(&data, &base_options()).map_err(format_usvg_error)?; @@ -44,6 +45,7 @@ impl SvgImage { /// Decode an SVG image with access to fonts. #[comemo::memoize] + #[typst_macros::time(name = "load svg")] pub fn with_fonts( data: Bytes, world: Tracked, diff --git a/crates/typst-pdf/src/image.rs b/crates/typst-pdf/src/image.rs index bff7bfefa..550f60a4b 100644 --- a/crates/typst-pdf/src/image.rs +++ b/crates/typst-pdf/src/image.rs @@ -5,8 +5,10 @@ use ecow::eco_format; use image::{DynamicImage, GenericImageView, Rgba}; use pdf_writer::{Chunk, Filter, Finish, Ref}; use typst_library::diag::{At, SourceResult, StrResult}; +use typst_library::foundations::Smart; use typst_library::visualize::{ - ColorSpace, Image, ImageKind, RasterFormat, RasterImage, SvgImage, + ColorSpace, ExchangeFormat, Image, ImageKind, ImageScaling, RasterFormat, + RasterImage, SvgImage, }; use typst_utils::Deferred; @@ -32,11 +34,13 @@ pub fn write_images( EncodedImage::Raster { data, filter, - has_color, + color_space, + bits_per_component, width, height, - icc, + compressed_icc, alpha, + interpolate, } => { let image_ref = chunk.alloc(); out.insert(image.clone(), image_ref); @@ -45,23 +49,18 @@ pub fn write_images( image.filter(*filter); image.width(*width as i32); image.height(*height as i32); - image.bits_per_component(8); + image.bits_per_component(i32::from(*bits_per_component)); + image.interpolate(*interpolate); let mut icc_ref = None; let space = image.color_space(); - if icc.is_some() { + if compressed_icc.is_some() { let id = chunk.alloc.bump(); space.icc_based(id); icc_ref = Some(id); - } else if *has_color { - color::write( - ColorSpace::Srgb, - space, - &context.globals.color_functions, - ); } else { color::write( - ColorSpace::D65Gray, + *color_space, space, &context.globals.color_functions, ); @@ -79,20 +78,27 @@ pub fn write_images( mask.width(*width as i32); mask.height(*height as i32); mask.color_space().device_gray(); - mask.bits_per_component(8); + mask.bits_per_component(i32::from(*bits_per_component)); + mask.interpolate(*interpolate); } else { image.finish(); } - if let (Some(icc), Some(icc_ref)) = (icc, icc_ref) { - let mut stream = chunk.icc_profile(icc_ref, icc); + if let (Some(compressed_icc), Some(icc_ref)) = + (compressed_icc, icc_ref) + { + let mut stream = chunk.icc_profile(icc_ref, compressed_icc); stream.filter(Filter::FlateDecode); - if *has_color { - stream.n(3); - stream.alternate().srgb(); - } else { - stream.n(1); - stream.alternate().d65_gray(); + match color_space { + ColorSpace::Srgb => { + stream.n(3); + stream.alternate().srgb(); + } + ColorSpace::D65Gray => { + stream.n(1); + stream.alternate().d65_gray(); + } + _ => unimplemented!(), } } } @@ -122,35 +128,17 @@ pub fn deferred_image( ) -> (Deferred>, Option) { let color_space = match image.kind() { ImageKind::Raster(raster) if raster.icc().is_none() => { - if raster.dynamic().color().channel_count() > 2 { - Some(ColorSpace::Srgb) - } else { - Some(ColorSpace::D65Gray) - } + Some(to_color_space(raster.dynamic().color())) } _ => None, }; + // PDF/A does not appear to allow interpolation. + // See https://github.com/typst/typst/issues/2942. + let interpolate = !pdfa && image.scaling() == Smart::Custom(ImageScaling::Smooth); + let deferred = Deferred::new(move || match image.kind() { - ImageKind::Raster(raster) => { - let raster = raster.clone(); - let (width, height) = (raster.width(), raster.height()); - let (data, filter, has_color) = encode_raster_image(&raster); - let icc = raster.icc().map(deflate); - - let alpha = - raster.dynamic().color().has_alpha().then(|| encode_alpha(&raster)); - - Ok(EncodedImage::Raster { - data, - filter, - has_color, - width, - height, - icc, - alpha, - }) - } + ImageKind::Raster(raster) => Ok(encode_raster_image(raster, interpolate)), ImageKind::Svg(svg) => { let (chunk, id) = encode_svg(svg, pdfa) .map_err(|err| eco_format!("failed to convert SVG to PDF: {err}"))?; @@ -161,42 +149,51 @@ pub fn deferred_image( (deferred, color_space) } -/// Encode an image with a suitable filter and return the data, filter and -/// whether the image has color. -/// -/// Skips the alpha channel as that's encoded separately. +/// Encode an image with a suitable filter. #[typst_macros::time(name = "encode raster image")] -fn encode_raster_image(image: &RasterImage) -> (Vec, Filter, bool) { +fn encode_raster_image(image: &RasterImage, interpolate: bool) -> EncodedImage { let dynamic = image.dynamic(); - let channel_count = dynamic.color().channel_count(); - let has_color = channel_count > 2; + let color_space = to_color_space(dynamic.color()); - if image.format() == RasterFormat::Jpg { - let mut data = Cursor::new(vec![]); - dynamic.write_to(&mut data, image::ImageFormat::Jpeg).unwrap(); - (data.into_inner(), Filter::DctDecode, has_color) - } else { - // TODO: Encode flate streams with PNG-predictor? - let data = match (dynamic, channel_count) { - (DynamicImage::ImageLuma8(luma), _) => deflate(luma.as_raw()), - (DynamicImage::ImageRgb8(rgb), _) => deflate(rgb.as_raw()), - // Grayscale image - (_, 1 | 2) => deflate(dynamic.to_luma8().as_raw()), - // Anything else - _ => deflate(dynamic.to_rgb8().as_raw()), + let (filter, data, bits_per_component) = + if image.format() == RasterFormat::Exchange(ExchangeFormat::Jpg) { + let mut data = Cursor::new(vec![]); + dynamic.write_to(&mut data, image::ImageFormat::Jpeg).unwrap(); + (Filter::DctDecode, data.into_inner(), 8) + } else { + // TODO: Encode flate streams with PNG-predictor? + let (data, bits_per_component) = match (dynamic, color_space) { + // RGB image. + (DynamicImage::ImageRgb8(rgb), _) => (deflate(rgb.as_raw()), 8), + // Grayscale image + (DynamicImage::ImageLuma8(luma), _) => (deflate(luma.as_raw()), 8), + (_, ColorSpace::D65Gray) => (deflate(dynamic.to_luma8().as_raw()), 8), + // Anything else + _ => (deflate(dynamic.to_rgb8().as_raw()), 8), + }; + (Filter::FlateDecode, data, bits_per_component) }; - (data, Filter::FlateDecode, has_color) + + let compressed_icc = image.icc().map(|data| deflate(data)); + let alpha = dynamic.color().has_alpha().then(|| encode_alpha(dynamic)); + + EncodedImage::Raster { + data, + filter, + color_space, + bits_per_component, + width: image.width(), + height: image.height(), + compressed_icc, + alpha, + interpolate, } } /// Encode an image's alpha channel if present. #[typst_macros::time(name = "encode alpha")] -fn encode_alpha(raster: &RasterImage) -> (Vec, Filter) { - let pixels: Vec<_> = raster - .dynamic() - .pixels() - .map(|(_, _, Rgba([_, _, _, a]))| a) - .collect(); +fn encode_alpha(image: &DynamicImage) -> (Vec, Filter) { + let pixels: Vec<_> = image.pixels().map(|(_, _, Rgba([_, _, _, a]))| a).collect(); (deflate(&pixels), Filter::FlateDecode) } @@ -224,19 +221,33 @@ pub enum EncodedImage { data: Vec, /// The filter to use for the image. filter: Filter, - /// Whether the image has color. - has_color: bool, + /// Which color space this image is encoded in. + color_space: ColorSpace, + /// How many bits of each color component are stored. + bits_per_component: u8, /// The image's width. width: u32, /// The image's height. height: u32, - /// The image's ICC profile, pre-deflated, if any. - icc: Option>, + /// The image's ICC profile, deflated, if any. + compressed_icc: Option>, /// The alpha channel of the image, pre-deflated, if any. alpha: Option<(Vec, Filter)>, + /// Whether image interpolation should be enabled. + interpolate: bool, }, /// A vector graphic. /// /// The chunk is the SVG converted to PDF objects. Svg(Chunk, Ref), } + +/// Matches an [`image::ColorType`] to [`ColorSpace`]. +fn to_color_space(color: image::ColorType) -> ColorSpace { + use image::ColorType::*; + match color { + L8 | La8 | L16 | La16 => ColorSpace::D65Gray, + Rgb8 | Rgba8 | Rgb16 | Rgba16 | Rgb32F | Rgba32F => ColorSpace::Srgb, + _ => unimplemented!(), + } +} diff --git a/crates/typst-render/src/image.rs b/crates/typst-render/src/image.rs index 27b039113..7425bdd2f 100644 --- a/crates/typst-render/src/image.rs +++ b/crates/typst-render/src/image.rs @@ -3,8 +3,9 @@ use std::sync::Arc; use image::imageops::FilterType; use image::{GenericImageView, Rgba}; use tiny_skia as sk; +use typst_library::foundations::Smart; use typst_library::layout::Size; -use typst_library::visualize::{Image, ImageKind}; +use typst_library::visualize::{Image, ImageKind, ImageScaling}; use crate::{AbsExt, State}; @@ -34,7 +35,7 @@ pub fn render_image( let w = (scale_x * view_width.max(aspect * view_height)).ceil() as u32; let h = ((w as f32) / aspect).ceil() as u32; - let pixmap = scaled_texture(image, w, h)?; + let pixmap = build_texture(image, w, h)?; let paint_scale_x = view_width / pixmap.width() as f32; let paint_scale_y = view_height / pixmap.height() as f32; @@ -57,29 +58,42 @@ pub fn render_image( /// Prepare a texture for an image at a scaled size. #[comemo::memoize] -fn scaled_texture(image: &Image, w: u32, h: u32) -> Option> { - let mut pixmap = sk::Pixmap::new(w, h)?; +fn build_texture(image: &Image, w: u32, h: u32) -> Option> { + let mut texture = sk::Pixmap::new(w, h)?; match image.kind() { ImageKind::Raster(raster) => { - let downscale = w < raster.width(); - let filter = - if downscale { FilterType::Lanczos3 } else { FilterType::CatmullRom }; - let buf = raster.dynamic().resize(w, h, filter); - for ((_, _, src), dest) in buf.pixels().zip(pixmap.pixels_mut()) { + let w = texture.width(); + let h = texture.height(); + + let buf; + let dynamic = raster.dynamic(); + let resized = if (w, h) == (dynamic.width(), dynamic.height()) { + // Small optimization to not allocate in case image is not resized. + dynamic + } else { + let upscale = w > dynamic.width(); + let filter = match image.scaling() { + Smart::Custom(ImageScaling::Pixelated) => FilterType::Nearest, + _ if upscale => FilterType::CatmullRom, + _ => FilterType::Lanczos3, // downscale + }; + buf = dynamic.resize_exact(w, h, filter); + &buf + }; + + for ((_, _, src), dest) in resized.pixels().zip(texture.pixels_mut()) { let Rgba([r, g, b, a]) = src; *dest = sk::ColorU8::from_rgba(r, g, b, a).premultiply(); } } - // Safety: We do not keep any references to tree nodes beyond the scope - // of `with`. ImageKind::Svg(svg) => { let tree = svg.tree(); let ts = tiny_skia::Transform::from_scale( w as f32 / tree.size().width(), h as f32 / tree.size().height(), ); - resvg::render(tree, ts, &mut pixmap.as_mut()) + resvg::render(tree, ts, &mut texture.as_mut()); } } - Some(Arc::new(pixmap)) + Some(Arc::new(texture)) } diff --git a/crates/typst-svg/Cargo.toml b/crates/typst-svg/Cargo.toml index 41d355659..5416621e5 100644 --- a/crates/typst-svg/Cargo.toml +++ b/crates/typst-svg/Cargo.toml @@ -21,6 +21,7 @@ base64 = { workspace = true } comemo = { workspace = true } ecow = { workspace = true } flate2 = { workspace = true } +image = { workspace = true } ttf-parser = { workspace = true } xmlparser = { workspace = true } xmlwriter = { workspace = true } diff --git a/crates/typst-svg/src/image.rs b/crates/typst-svg/src/image.rs index ede4e76e3..d74432026 100644 --- a/crates/typst-svg/src/image.rs +++ b/crates/typst-svg/src/image.rs @@ -1,7 +1,11 @@ use base64::Engine; use ecow::{eco_format, EcoString}; +use image::{codecs::png::PngEncoder, ImageEncoder}; +use typst_library::foundations::Smart; use typst_library::layout::{Abs, Axes}; -use typst_library::visualize::{Image, ImageFormat, RasterFormat, VectorFormat}; +use typst_library::visualize::{ + ExchangeFormat, Image, ImageKind, ImageScaling, RasterFormat, +}; use crate::SVGRenderer; @@ -14,6 +18,17 @@ impl SVGRenderer { self.xml.write_attribute("width", &size.x.to_pt()); self.xml.write_attribute("height", &size.y.to_pt()); self.xml.write_attribute("preserveAspectRatio", "none"); + match image.scaling() { + Smart::Auto => {} + Smart::Custom(ImageScaling::Smooth) => { + // This is still experimental and not implemented in all major browsers. + // https://developer.mozilla.org/en-US/docs/Web/CSS/image-rendering#browser_compatibility + self.xml.write_attribute("style", "image-rendering: smooth") + } + Smart::Custom(ImageScaling::Pixelated) => { + self.xml.write_attribute("style", "image-rendering: pixelated") + } + } self.xml.end_element(); } } @@ -22,19 +37,32 @@ impl SVGRenderer { /// `data:image/{format};base64,`. #[comemo::memoize] pub fn convert_image_to_base64_url(image: &Image) -> EcoString { - let format = match image.format() { - ImageFormat::Raster(f) => match f { - RasterFormat::Png => "png", - RasterFormat::Jpg => "jpeg", - RasterFormat::Gif => "gif", - }, - ImageFormat::Vector(f) => match f { - VectorFormat::Svg => "svg+xml", + let mut buf; + let (format, data): (&str, &[u8]) = match image.kind() { + ImageKind::Raster(raster) => match raster.format() { + RasterFormat::Exchange(format) => ( + match format { + ExchangeFormat::Png => "png", + ExchangeFormat::Jpg => "jpeg", + ExchangeFormat::Gif => "gif", + }, + raster.data(), + ), + RasterFormat::Pixel(_) => ("png", { + buf = vec![]; + let mut encoder = PngEncoder::new(&mut buf); + if let Some(icc_profile) = raster.icc() { + encoder.set_icc_profile(icc_profile.to_vec()).ok(); + } + raster.dynamic().write_with_encoder(encoder).unwrap(); + buf.as_slice() + }), }, + ImageKind::Svg(svg) => ("svg+xml", svg.data()), }; let mut url = eco_format!("data:image/{format};base64,"); - let data = base64::engine::general_purpose::STANDARD.encode(image.data()); + let data = base64::engine::general_purpose::STANDARD.encode(data); url.push_str(&data); url } diff --git a/crates/typst-svg/src/text.rs b/crates/typst-svg/src/text.rs index fa471b2ae..e6620a59e 100644 --- a/crates/typst-svg/src/text.rs +++ b/crates/typst-svg/src/text.rs @@ -6,7 +6,9 @@ use ttf_parser::GlyphId; use typst_library::foundations::Bytes; use typst_library::layout::{Abs, Point, Ratio, Size, Transform}; use typst_library::text::{Font, TextItem}; -use typst_library::visualize::{FillRule, Image, Paint, RasterFormat, RelativeTo}; +use typst_library::visualize::{ + ExchangeFormat, FillRule, Image, Paint, RasterImage, RelativeTo, +}; use typst_utils::hash128; use crate::{SVGRenderer, State, SvgMatrix, SvgPathBuilder}; @@ -244,9 +246,9 @@ fn convert_bitmap_glyph_to_image(font: &Font, id: GlyphId) -> Option<(Image, f64 if raster.format != ttf_parser::RasterImageFormat::PNG { return None; } - let image = - Image::new(Bytes::new(raster.data.to_vec()), RasterFormat::Png.into(), None) - .ok()?; + let image = Image::plain( + RasterImage::plain(Bytes::new(raster.data.to_vec()), ExchangeFormat::Png).ok()?, + ); Some((image, raster.x as f64, raster.y as f64)) } diff --git a/tests/ref/baseline-box.png b/tests/ref/baseline-box.png index 2a9e517580cc73174735d95d87244c7dc8196845..e07e22ea75b069488b4f62d1df1ab6aeabb4d349 100644 GIT binary patch literal 4021 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 bo$KELgpN8z--biX00000NkvXXu0mjf7N69W literal 3896 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 Eg2srySpWb4 delta 1393 zcmV-%1&;dE3!)2H-i^9*tLHk?ACFUaZhW5`GgH(Ae9*4TRK~31 zrouNRY1;uo?|*>aZj8r=2Z6}jJ#}UcM!Kvw7!6i#K0?cE-469ZTNtVpt4*0=K^IB} zBs3Aw$zz2|!%EJYOwdH{HPMdaq{9J~FRKDE)}@XB+FYS4QGHbyX-z|^K_aPg88#JS za~C?K`ZA-5S9LtfWzU+G1W#ZHdN1fm=s?6{<@gDed4F4q20=V@&0tNY*lDn;NEYK~ zWIk4Se{$}Bl?(@9CEHi{p<3%nBpnYBm;P~^uK*lD?|}9^FL{1QCQh-)VHJy&Kb#iA z{z4>JynI7sV;~a|Kt|yKq%o$H1nIC?PN`fe{Vpi8MG!y2BL|R3eI9EFdIz*+SprDo zu^<*b%70(HF2|2sECz{89i&7eOXZ@Lp?vDKMp{FIqF)Qvc;NYQu75t~@Z<1%9_Jh}G0=`}r2;{xVI%7O z_2UabQ$Vl9qT9(Omwwn|QY_oGZlio7;*Ge8t<>_jPsz==pKKJL*Mpl;??%|OoqYZC z>(-LPxVGZrV{~~xFTUd1Oa?zBf&fhcy&76cxQ%wD(5{w*TxOqH8Fmx%lOtY>dOhTR zzkj+IuUes~sZbeWsUPR$L-%V-gBs)NPJ9O>V=8b$n1eIv^GB#-x2S`Z0$I_s>u9 z*$n_q{ns&X(GxG)`OK>HOBZp)u%v_4+ke97#OQr2x*eC$@@_rDYUd{9B3^So3dvI{j-_5Tr&3jaOr@4Zb zmvt@s`V|pY&aJ+ib@kGP^XJM6b85;zOfpd>aF33TTumm9(NT+ka*u z(AMYm+{{QT%DKVA>iRpmtOmNctwF}C=ho1&Gt){6^TY%Fnh9Jj6ZLQ!RYSr~E)$?B zpifUv$<_R7yoQ#m)8MEmlZrFaFW=6}Tz`{7l~^R~(mWsL)i;#orjiL%4EPs1Sas4~ zj*yQ5GzB!8D9u_7SXHqWSEHiCK7U=DpUrNnMRQa%N_7&rZKR9GC=K`*$?fs+F}Z5h zN*3b**+T%D0va`CrHIFTSX6tTc2;a{W(@Uk;?XerGa=VREaFrP*cAn<(a6~wBEx^m z>R>Yfni~4(=!h`r#e%K{uZR42(TJJPWwka|^>UlO@9dz*7F-UWULxku2~DF8js3{B zgC1rx0s7xgSpKe@oSf|K?HwK-l3y+YotvJrs3ZyjM>Q%#&HZf3`g?a5pyA9ApaB}7 z0UDqI8ZJ2kG+ac705m`YGz6fNk_96e3FirrB!8|+L_t(|+U?rOZyQw{!13Ab8QWvWv9r`mlQe0Yghm|b5{ksq zR4GVY5Moiqa^S!fi3>L_{0j()10W7ikN~j=Di8t{6g42WNNt+Nj^iYr+GCGB&di(b zy%`4iQmIH}4jd4_uY9n78ecvd{bWCz4uXJ!{{0vr0BC@Q0Dl^w0U82mfQA72zYa|Z zp>FG&uRj0cqf3gS+&*+1XLa=|nEq|_LB4`xj5&_m+}y0!stiq~Q{s_{l4GI1VYj;b zj)&uMi4YuP{fXiz!Pv8{;_OMljRrkX-rn9u?cHLrKnU?^+OnO%4>*pIwl_p^8Dj~8v)w)eTHGeCtrX1;nC?SnvZ!la$Vaeo)Ay)LX2Tp*ERxT z2rOqAri%kk5IxUR8}+3pUj*NS?&yK?rMKT0%Vi9NScbBZVRT#A^RVZJ57)7~YSTrQ zQm?n$8qLM2z^AAn783yX_BiUFdjFj_OSxoYZ-=4$Mt_y!I4(CjPAEDED93Vkc4`bA zG+VZ+s`AiqENN$kvV1^j3Qk`mLK90zD6lPSXgJ@~I*w)cO~mrCL^4GPrh-69r5RSp z3^P74;Yp$OdV_Y^z2Y(a^@J|Mu09)PT&0TdVjOks??PuhYKU)hqO+|LFT%$CkVVC zCe>TYk%_|u6IE>?%i5_`Jzi`y_9)*6+z6{tWBc zO@pQUYn7dit?lfgV)^J?CO@hp8=0oo)um(-aHDTBV<_sbdG`87wQt%yP5t)!+OIciG{Y{Re^572JOR)V50xHRTILgJrP+G=;&W#f z7hihi)wxsm_w*3cUb*^nP8J*Wns#e%ET1jpGrF!{`C(;mPr13d1-Q}fXrAYtfVC`} z7x=*>KRSM+rsT8fbLTGW2t$fL3>18xLpLI@j{NQ;t4 z2p$YK)~^WyA5ipTPdzg?KOauk*8ZrjeCGT9WYM_z?DMD3EP`yb)e!{2;KU;y6OdsJ zhNlLG)9M7J-_r8It z=Xr4{QQd8|J73N&+_=12hEC01W~3{~elA zdh>G>MJJ9PI{f*k^?IGVCD(O-`S}!>{%ibtzJe!7f-ydK?rd}Anut+8o2gEgdtvB@ zy_V&A0pSIdrfDG~O^l87Z;nYYF}(wD2ZN5|SQN$ixjB`2!^I5=O&Bi_5;2xygffO9 zA}%Hl&vA}rnSZ7&XYx+_`i}jN0`36Nlv0F{)#=Rr_ETkQ3M+c(Iicq=mMEGbN-`3q z(6a>=U|tA)pE4vMk*2KKs6Ft+i{QK79gPrbx7#Pa{8(3Iv)v?~<=bXLTtN`hl+q+| z9m`z3<~nZekA;DDUMHR#hhb(YXWGu_=&0j*fIGkwP2eLvW|b=K;-Nt%qq>VFvM^)8B{Lm#}myma;Cnaf#Cn%y=d z>$(-gmXD@bxo@V6c&tJH>Sm$|u`}SGWcBisAz#Z)MZr?+X z9Dn)nJt6CV_wY^zS(?>~y_)?Mh?S3PPeA*|66G z+`*tnMn))BE!)|%c}xGYP$=BHbN8_$-xRXOonzCxs+*cE6Km4Ap5b_e@s*UrGk4!J zT-*S-13;%~DhNU<=@?_*^VWtJ&d-rJ34fyG@u#1^f7kB*1aeA)MwJc!$XFUAL5q_KnXb7MI8lWM7 z251PN0UDqofCgv?paB}7A%F&G2ri%j8lWM7251PN0UDqofCgv?paB}7q1)Y`D5x~g Tolg_V00000NkvXXu0mjfE04gI)zM_2k>Z;tEnk)3Ra}MOO>E*_DlHUYnODnPf8W&pbX5 z5ZOc92rC|bUy^}5Jip6_VTL3_V~i>2(Z>J*Km#-c&;Sk45Pv`eH1r6d_xARdmX?CS zAbpO=HnN$Ffb7HJQ`_9!r2bW85JUfnChybFWl56a@%ZZMYPDL;q*Dw{Nj`C6G-_yS zQ_;)ymSNd$w+A8H#X6%y17Cjg!}|KVEX#>RVsUX1PUTLgK@+C^{r#=2EdqCRbfi{u zLqidSkVDg&Zhv40a~$LM2RO#j)dr2R(ri{w>MpPJ{p~;2*4ARN7+gcn1x+rvjYgwh zuLlBwufO>0@k`@0@3M5&G<64Ag4@drE{0)EUBO5ZSWZ*grj0p4v@C1(xtGWknFZpr zZ-zvf9EsN_+wWfp1r$|f8A?|brCzoz%eGANG7Y_6DSw%&R?K9o)f&yYDeO=b?u>)) z-*MDgef;4E(NIqzpJgbgkfJz_3k?h+ipH2SG$Wf$Gc+!h^-87U5B9lw^gyte#|UJ* zhDMsKs#w>wU|+aVJ25o9*;ZNJd=kS7fj-8u4Yl3oS*|9_Alo%`Unq=B zm1ekRy?^Ew-Q=Tb+O~r%Q%5!$zw{WxvbJp*x=zrMgH1zCA02^g*I!r$FZ8RbYFiev z?RKjvdc3^Ahx@~k=&;}K;{|~xn;e@$mcR?XKyS0943CV0Y}aSB+Nc`s7Av@VLj7{B z+G;iHCsiBSfj-vl5le*}whgVVIu2%7HZuN1wSOV^1_L15HFTp|DV56)GR29JNdMr) z+R2Hbwv)xYAn=0NQ#me9jE*21RVrmw)3WK5#fybP9%Q?RRy8+E*P6=V?*8(#SA3G6 z<#@`m9Lo?z&z%QZgsErd=EY#>xR8_O7R5QWI@}DqhwdAl(d)IrP;aJGTYmNJgT3A4 z;eRitWib@>

}NeyZ8ld78TY+u^VG(lo=aTw9VA6=b`<87?lb@Ls7{D!+c?t@(w8 zjrZb{S7HsBVCn}y{v7g)g-p73oWBt6jf4ZTEZ_R>AfGRSY}aQr&+`UmHBILQzOxb@ z7`&G*hI^&wuU(HshwBa5XcYaXa(OJO8-Lc+(^pqseEH^X0&u&7rfHh>N}@+Z$nLD% zPu>v(9#ixyue~ujHAPkq4}VV`+;kjgY)HBB=IY%10?2l8>5wF;^OFU`Fm9KiD(%kt z+``q!#ewOW8KP|4wqY34(=)md9EwIfqF6dEl9A3h_?`=Tc6OE=x3{+|eHUH7*~kwVbET$*YQumMSp_3FEn0EOy+bteLmlI zyVZ4#V;Mbw*WfMl@8(brs2ZSzR37n5i8e4_9rbaC`16@T$7wXD@|PLV{Q4~9-%9M`W- z>DaMIC#qjh3z4HjEKt1s%w!XQia|j2n?PyMTqy-I5xJU1LMams5a@%UA;^>y0Xlw? z4}Yj8KMiUQ(`)3q^{gs^x%szUyZcEhjN<_QCveeSTbo@tTQk>M zZZUHwrHNu|rYK>WGD3yr@nxohq>wME3_WL>AaVp8qJW^~+IUeTb9L9X-Ehms#^92d zQJs0#eaEZXzTbzjeWBp86UNx~%4)dkxUMp#zo~THD*&Q1hZiykZ!#ne^MM zGtA=n#@i7mZPfL5GbUZsZ;yC4{Oj}1rK#10$!RSKXx`Af4h!>UaG+aSR&tFt%^8PO zV}HHv!%Eq>O6I1GV&dLQrF_S_s3#TD#@g0LqFMd$pjrWF-q6Wp(q+;qTk7@NQMOE_ zQWLKRcUr1IIsutwD>GxT@Pk{y~hv460lv_V7|CMN)W8EE^vr8aT(+6v9}v(tw1 zvg`LNE6%>0a?Noh>|1#~M|N~JR-b;3u??Uv1HJ87S4!(wX^QJT?ydS7VNaKwoqt}0 z9lQ+fnjazCC5P`10L>4Y+jhp|akHN6eo`lYEdKQ;eTw#(QT0hQ%+9%7j{U}tBY$2> z+tXZo6pf_QX>Pv?Uw&&+X5C`Yj_e2axXW886b3Y^zUR_0P1ld}bMElI&l9v54Qd%< zTf>@^|Kk556h*O@lq)&wY&M%nBr=&yKA$fZi)^#Awdq(knzU-C)5$JKvG~VR)<66> zOAv%WAov?!_85B@cNxDM02{00000NkvXXu0mjfkSAtV diff --git a/tests/ref/closure-path-resolve-in-layout-phase.png b/tests/ref/closure-path-resolve-in-layout-phase.png index baaed3564387f4f7ccd5ee63d3f9f7e9055d6a94..a3d6999813b88ef0eb23b49054b8793d1dc6a4d2 100644 GIT binary patch delta 2244 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 diff --git a/tests/ref/coma.png b/tests/ref/coma.png index 2c59ae87039f7de3576f41b8c1e46b6b32145d41..a1d743a49f71209e12f4ee5be99b69bf86e9be55 100644 GIT binary patch delta 28237 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 E0PbK?-T(jq delta 28370 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 DeS~A_ diff --git a/tests/ref/footnote-in-caption.png b/tests/ref/footnote-in-caption.png index 12a5fde5e965edf996b1fdfd5bff04e160077c56..79b2b5d0f955479b46cdab66ffcfb4f936beb893 100644 GIT binary patch literal 6154 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 literal 6111 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 diff --git a/tests/ref/footnote-in-table.png b/tests/ref/footnote-in-table.png index 062a6fc7104e0e4e89de9cb676bc0cd48b0860bb..e110eac6d4cbe9fb78c999cecc4b801cbe2e58ee 100644 GIT binary patch literal 12727 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¥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 Q*8r5fw6av?C)3dX4;RwKWB>pF diff --git a/tests/ref/image-baseline-with-box.png b/tests/ref/image-baseline-with-box.png index dc8e8bc5714b8850a9aae75adeef261f1c77718f..ade90e2f559608c317f3b99b442ebd6b63b12ae1 100644 GIT binary patch literal 6375 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 diff --git a/tests/ref/image-decode-detect-format.png b/tests/ref/image-decode-detect-format.png index 6ecb7dcdaeed44fe450d98c7f2efcefdd98f47ab..cee71bb934d4688812dd42e9bb6b0df697eea8ec 100644 GIT binary patch literal 11032 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 yJ?$y001amNklQzBWmxVT=b5VQX4< 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

    e{DNB=+`MAN;jyhK+PLE4Es72h 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 T?NNt1D{%MD6jvub#*(9r{Y#lSZ^pIU? zR{znuhgyr9eA&AHT)DB;c}H25%*+SB{pJ=0+iJyZEVi1+b+0BhtEzwL-6wkYuQILD vSfG`fr1c}LHdvf-N70sN|389U|9`Fc!u1hl7w(;j0EL35tDnm{r-UW|UEhBi literal 0 HcmV?d00001 diff --git a/tests/ref/image-pixmap-rgb8.png b/tests/ref/image-pixmap-rgb8.png new file mode 100644 index 0000000000000000000000000000000000000000..d905c1eee9a68a63c5f9908784f60cb451608c75 GIT binary patch literal 1220 zcmV;#1UvhQP)TWFhww$L^U{lA8W6Rz3)|_47n&ei<;y}VcrAoX6jDMWIiLYN z#CnFKjx>$8m->Rx3d;dy%{U>%Lh^`1*8&U0t%6U*#ejISL(4sD{pZjE4#vtXEW#QK z!4Vy@kSBD4f-onRhzkTyT#IJfZhH_5eSUkc4)kzfIFK0=b7b{6M_5QRGNMEKLYNXu zDB7>Y1)0zhn%+ZSNf!F+IvQ79>m()g7+E~)N|;F_c|dz82t#5DEDpa^Jyo~g=nh!u zGuv%+EtS#>Q)I58{Y)H@9xV>~OyB;4D>_W10h-(KNwm;k_vg?qHKW|tZ6J!C84fAQd8vzh6zwj$mZJOZiVCzr>?F3tDK&mVUJ@1kE%118U>Lf# zKMsfyX^6ink4^N2(8u znMdZsS}%hwIoD(^167y>!nF#T@Gkme`~eqSgM?>%Og?Enq}tvTtCn4|lkp*#Qa$84 z6(5S{LOOur4WSBv=PvqlBt(mVLIM*h%4kfPO{Ux68kQNcHc)B!T2Kw;>AlkQ|hMraHxGC*l4Ibr6FRL}udWTmK=L~dPX>w`6L4KzRxR6rB#X@ea-utT(gr~$D9e8*1iI5%jLph!sP*RM#? zXL<3-I`(J=e`%g2c+xyeRJ4j#(Ha%4qE)miP|+${^Y29i?E53ax0mqsHGFytAKt^e zkMQOTy!s9=es1{Z3;6yDzPy2t@8JChc>4)ne}(v?v0XoZR?!+2t)ew5`hOB_%v9i3 zB!g%O4MXd_cwPK zA13F0A!m%4mTW?{E_;)O@`5?R8K;a(CdtNUXLB%lp`07rmsv&MO)2|AE|>}}g{3%O zf+-7^1SR(sxj-ts6cdVfMYt?fGF4|>ujD|mreFz&jW;E_*G%g)G({Tcw(N~C$@uEuvi4-EcXl-;H14e7O|izD%{UvXwu%$cD`$D=CxFzb5Jx?)*5twvVw z*I?JkYsR&7Tvp60$JK_0#jJ_fI_;q|`Y_hcH5S++TO!M78LT;33mbzYJa3@iupEYY zU!Yzj24n;#V21q)X1HP4Fm*htqOTCWb(q9q^2F2`wE{6x!`LmW=qp4cPKEPd7;XPd z_=as@u8O`!^w4<1Tgx!xu?SB`uJz{zhXFY3$Rn_x=)>HrYV>bRE$c6pRJ4lLsAv_f gQPC<|MQfgt-{x1c2u5nq3IG5A07*qoM6N<$f){{|;s5{u literal 0 HcmV?d00001 diff --git a/tests/ref/image-scaling-methods.png b/tests/ref/image-scaling-methods.png new file mode 100644 index 0000000000000000000000000000000000000000..9d543e114fc5578525babe90f004745905aa5e6e GIT binary patch literal 1539 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 z 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 diff --git a/tests/ref/issue-4361-transparency-leak.png b/tests/ref/issue-4361-transparency-leak.png index 4060d43ac442e67e674245685f3fbfbe1d555157..660798166355dfb1e8afb091f76ea3dc0b585ff2 100644 GIT binary patch literal 3738 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 delta 3514 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 diff --git a/tests/ref/pad-followed-by-content.png b/tests/ref/pad-followed-by-content.png index 90b48232a9febcfe2c6920848fb21ba1ce8ff659..534a97870e937fef7b91e964c2bbe8588714ecdb 100644 GIT binary patch literal 12071 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 literal 11897 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 x * 16)), + format: ( + encoding: "luma8", + width: 4, + height: 4, + ), + width: 1cm, +) + +--- image-pixmap-lumaa8 --- +#image( + bytes(range(16).map(x => (0x80, x * 16)).flatten()), + format: ( + encoding: "lumaa8", + width: 4, + height: 4, + ), + width: 1cm, +) + +--- image-scaling-methods --- +#let img(scaling) = image( + bytes(( + 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, + 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, + 0x80, 0x80, 0x00, 0x00, 0x80, 0x80, 0x80, 0x00, 0x80, + )), + format: ( + encoding: "rgb8", + width: 3, + height: 3, + ), + width: 1cm, + scaling: scaling, +) + +#stack( + dir: ltr, + spacing: 4pt, + img(auto), + img("smooth"), + img("pixelated"), +) + --- image-natural-dpi-sizing --- // Test that images aren't upscaled. // Image is just 48x80 at 220dpi. It should not be scaled to fit the page @@ -103,6 +179,58 @@ A #box(image("/assets/images/tiger.jpg", height: 1cm, width: 80%)) B // Error: 2-91 failed to decode image (Format error decoding Png: Invalid PNG signature.) #image.decode(read("/assets/images/tiger.jpg", encoding: none), format: "png", width: 80%) +--- image-pixmap-empty --- +// Error: 1:2-8:2 zero-sized images are not allowed +#image( + bytes(()), + format: ( + encoding: "rgb8", + width: 0, + height: 0, + ), +) + +--- image-pixmap-invalid-size --- +// Error: 1:2-8:2 pixel dimensions and pixel data do not match +#image( + bytes((0x00, 0x00, 0x00)), + format: ( + encoding: "rgb8", + width: 16, + height: 16, + ), +) + +--- image-pixmap-unknown-attribute --- +#image( + bytes((0x00, 0x00, 0x00)), + // Error: 1:11-6:4 unexpected key "stowaway", valid keys are "encoding", "width", and "height" + format: ( + encoding: "rgb8", + width: 1, + height: 1, + stowaway: "I do work here, promise", + ), +) + +--- image-pixmap-but-png-format --- +#image( + bytes((0x00, 0x00, 0x00)), + // Error: 1:11-5:4 expected "rgb8", "rgba8", "luma8", or "lumaa8" + format: ( + encoding: "png", + width: 1, + height: 1, + ), +) + +--- image-png-but-pixmap-format --- +#image( + read("/assets/images/tiger.jpg", encoding: none), + // Error: 11-18 expected "png", "jpg", "gif", dictionary, "svg", or auto + format: "rgba8", +) + --- issue-870-image-rotation --- // Ensure that EXIF rotation is applied. // https://github.com/image-rs/image/issues/1045