summaryrefslogtreecommitdiff
path: root/crates/typst-pdf
diff options
context:
space:
mode:
authorLaurenz <laurmaedje@gmail.com>2023-11-23 16:25:49 +0100
committerLaurenz <laurmaedje@gmail.com>2023-11-24 12:30:02 +0100
commit7eebafa7837ec173a7b2064ae60fd45b5413d17c (patch)
treeb63b302b6d7747bcbb28571713745b9ca1aa83a4 /crates/typst-pdf
parent76e173b78b511b506b928c27ac360f75fa455747 (diff)
Merge `typst` and `typst-library`
Diffstat (limited to 'crates/typst-pdf')
-rw-r--r--crates/typst-pdf/src/color.rs2
-rw-r--r--crates/typst-pdf/src/font.rs2
-rw-r--r--crates/typst-pdf/src/gradient.rs15
-rw-r--r--crates/typst-pdf/src/image.rs5
-rw-r--r--crates/typst-pdf/src/lib.rs12
-rw-r--r--crates/typst-pdf/src/outline.rs8
-rw-r--r--crates/typst-pdf/src/page.rs29
7 files changed, 38 insertions, 35 deletions
diff --git a/crates/typst-pdf/src/color.rs b/crates/typst-pdf/src/color.rs
index e23e7cbe..17c4686a 100644
--- a/crates/typst-pdf/src/color.rs
+++ b/crates/typst-pdf/src/color.rs
@@ -1,7 +1,7 @@
use once_cell::sync::Lazy;
use pdf_writer::types::DeviceNSubtype;
use pdf_writer::{writers, Chunk, Dict, Filter, Name, Ref};
-use typst::geom::{Color, ColorSpace, Paint};
+use typst::visualize::{Color, ColorSpace, Paint};
use crate::deflate;
use crate::page::{PageContext, Transforms};
diff --git a/crates/typst-pdf/src/font.rs b/crates/typst-pdf/src/font.rs
index a358f9ea..ce3913f7 100644
--- a/crates/typst-pdf/src/font.rs
+++ b/crates/typst-pdf/src/font.rs
@@ -5,7 +5,7 @@ use ecow::{eco_format, EcoString};
use pdf_writer::types::{CidFontType, FontFlags, SystemInfo, UnicodeCmap};
use pdf_writer::{Filter, Finish, Name, Rect, Str};
use ttf_parser::{name_id, GlyphId, Tag};
-use typst::font::Font;
+use typst::text::Font;
use typst::util::SliceExt;
use unicode_properties::{GeneralCategory, UnicodeGeneralCategory};
diff --git a/crates/typst-pdf/src/gradient.rs b/crates/typst-pdf/src/gradient.rs
index ecb01ee6..5e7e5f3d 100644
--- a/crates/typst-pdf/src/gradient.rs
+++ b/crates/typst-pdf/src/gradient.rs
@@ -5,9 +5,10 @@ use ecow::{eco_format, EcoString};
use pdf_writer::types::{ColorSpaceOperand, FunctionShadingType};
use pdf_writer::writers::StreamShadingType;
use pdf_writer::{Filter, Finish, Name, Ref};
-use typst::geom::{
- Abs, Angle, Color, ColorSpace, ConicGradient, Gradient, Numeric, Point, Quadrant,
- Ratio, Relative, Transform, WeightedColor,
+use typst::layout::{Abs, Angle, Point, Quadrant, Ratio, Transform};
+use typst::util::Numeric;
+use typst::visualize::{
+ Color, ColorSpace, ConicGradient, Gradient, GradientRelative, WeightedColor,
};
use crate::color::{ColorSpaceExt, PaintEncode, QuantizedColor};
@@ -301,8 +302,8 @@ fn register_gradient(
transforms.size.y = Abs::pt(1.0);
}
let size = match gradient.unwrap_relative(on_text) {
- Relative::Self_ => transforms.size,
- Relative::Parent => transforms.container_size,
+ GradientRelative::Self_ => transforms.size,
+ GradientRelative::Parent => transforms.container_size,
};
let (offset_x, offset_y) = match gradient {
@@ -316,8 +317,8 @@ fn register_gradient(
let rotation = gradient.angle().unwrap_or_else(Angle::zero);
let transform = match gradient.unwrap_relative(on_text) {
- Relative::Self_ => transforms.transform,
- Relative::Parent => transforms.container_transform,
+ GradientRelative::Self_ => transforms.transform,
+ GradientRelative::Parent => transforms.container_transform,
};
let scale_offset = match gradient {
diff --git a/crates/typst-pdf/src/image.rs b/crates/typst-pdf/src/image.rs
index 63329b42..2e99eef5 100644
--- a/crates/typst-pdf/src/image.rs
+++ b/crates/typst-pdf/src/image.rs
@@ -3,9 +3,10 @@ use std::io::Cursor;
use image::{DynamicImage, GenericImageView, Rgba};
use pdf_writer::{Chunk, Filter, Finish, Ref};
-use typst::geom::ColorSpace;
-use typst::image::{Image, ImageKind, RasterFormat, RasterImage, SvgImage};
use typst::util::Deferred;
+use typst::visualize::{
+ ColorSpace, Image, ImageKind, RasterFormat, RasterImage, SvgImage,
+};
use crate::{deflate, PdfContext};
diff --git a/crates/typst-pdf/src/lib.rs b/crates/typst-pdf/src/lib.rs
index 628129b6..c753315c 100644
--- a/crates/typst-pdf/src/lib.rs
+++ b/crates/typst-pdf/src/lib.rs
@@ -16,13 +16,13 @@ use base64::Engine;
use ecow::{eco_format, EcoString};
use pdf_writer::types::Direction;
use pdf_writer::{Finish, Name, Pdf, Ref, TextStr};
-use typst::doc::{Document, Lang};
-use typst::eval::Datetime;
-use typst::font::Font;
-use typst::geom::{Abs, Dir, Em};
-use typst::image::Image;
-use typst::model::Introspector;
+use typst::foundations::Datetime;
+use typst::introspection::Introspector;
+use typst::layout::{Abs, Dir, Em};
+use typst::model::Document;
+use typst::text::{Font, Lang};
use typst::util::Deferred;
+use typst::visualize::Image;
use xmp_writer::{DateTime, LangId, RenditionClass, Timezone, XmpWriter};
use crate::color::ColorSpaces;
diff --git a/crates/typst-pdf/src/outline.rs b/crates/typst-pdf/src/outline.rs
index 4fd072b6..aafaa5b9 100644
--- a/crates/typst-pdf/src/outline.rs
+++ b/crates/typst-pdf/src/outline.rs
@@ -1,9 +1,9 @@
use std::num::NonZeroUsize;
use pdf_writer::{Finish, Ref, TextStr};
-use typst::eval::{item, Smart};
-use typst::geom::Abs;
-use typst::model::Content;
+use typst::foundations::{Content, NativeElement, Smart};
+use typst::layout::Abs;
+use typst::model::HeadingElem;
use crate::{AbsExt, PdfContext};
@@ -18,7 +18,7 @@ pub(crate) fn write_outline(ctx: &mut PdfContext) -> Option<Ref> {
// Therefore, its next descendant must be added at its level, which is
// enforced in the manner shown below.
let mut last_skipped_level = None;
- for heading in ctx.introspector.query(&item!(heading_elem).select()).iter() {
+ for heading in ctx.introspector.query(&HeadingElem::elem().select()).iter() {
let leaf = HeadingNode::leaf((**heading).clone());
if leaf.bookmarked {
diff --git a/crates/typst-pdf/src/page.rs b/crates/typst-pdf/src/page.rs
index 74b32302..545380da 100644
--- a/crates/typst-pdf/src/page.rs
+++ b/crates/typst-pdf/src/page.rs
@@ -8,16 +8,17 @@ use pdf_writer::types::{
};
use pdf_writer::writers::PageLabel;
use pdf_writer::{Content, Filter, Finish, Name, Rect, Ref, Str, TextStr};
-use typst::doc::{
- Destination, Frame, FrameItem, GroupItem, Meta, PdfPageLabel, PdfPageLabelStyle,
- TextItem,
+use typst::introspection::Meta;
+use typst::layout::{
+ Abs, Em, Frame, FrameItem, GroupItem, PdfPageLabel, PdfPageLabelStyle, Point, Ratio,
+ Size, Transform,
};
-use typst::font::Font;
-use typst::geom::{
- self, Abs, Em, FixedStroke, Geometry, LineCap, LineJoin, Numeric, Paint, Point,
- Ratio, Shape, Size, Transform,
+use typst::model::Destination;
+use typst::text::{Font, TextItem};
+use typst::util::Numeric;
+use typst::visualize::{
+ FixedStroke, Geometry, Image, LineCap, LineJoin, Paint, Path, PathItem, Shape,
};
-use typst::image::Image;
use crate::color::PaintEncode;
use crate::extg::ExtGState;
@@ -581,7 +582,7 @@ fn write_text(ctx: &mut PageContext, pos: Point, text: &TextItem) {
adjustment = Em::zero();
}
- let cid = super::font::glyph_cid(&text.font, glyph.id);
+ let cid = crate::font::glyph_cid(&text.font, glyph.id);
encoded.push((cid >> 8) as u8);
encoded.push((cid & 0xff) as u8);
@@ -656,16 +657,16 @@ fn write_shape(ctx: &mut PageContext, pos: Point, shape: &Shape) {
}
/// Encode a bezier path into the content stream.
-fn write_path(ctx: &mut PageContext, x: f32, y: f32, path: &geom::Path) {
+fn write_path(ctx: &mut PageContext, x: f32, y: f32, path: &Path) {
for elem in &path.0 {
match elem {
- geom::PathItem::MoveTo(p) => {
+ PathItem::MoveTo(p) => {
ctx.content.move_to(x + p.x.to_f32(), y + p.y.to_f32())
}
- geom::PathItem::LineTo(p) => {
+ PathItem::LineTo(p) => {
ctx.content.line_to(x + p.x.to_f32(), y + p.y.to_f32())
}
- geom::PathItem::CubicTo(p1, p2, p3) => ctx.content.cubic_to(
+ PathItem::CubicTo(p1, p2, p3) => ctx.content.cubic_to(
x + p1.x.to_f32(),
y + p1.y.to_f32(),
x + p2.x.to_f32(),
@@ -673,7 +674,7 @@ fn write_path(ctx: &mut PageContext, x: f32, y: f32, path: &geom::Path) {
x + p3.x.to_f32(),
y + p3.y.to_f32(),
),
- geom::PathItem::ClosePath => ctx.content.close_path(),
+ PathItem::ClosePath => ctx.content.close_path(),
};
}
}