From 81ff34d80dac76c345c54e36b7bd203efa3be710 Mon Sep 17 00:00:00 2001 From: Wenzhuo Liu Date: Tue, 19 Dec 2023 17:36:18 +0800 Subject: [PATCH] Add stroke for text (#2970) --- crates/typst-pdf/src/color.rs | 17 +++-- crates/typst-pdf/src/gradient.rs | 9 ++- crates/typst-pdf/src/page.rs | 28 ++++++-- crates/typst-pdf/src/pattern.rs | 9 ++- crates/typst-render/src/lib.rs | 84 ++++++++++++++++------ crates/typst-svg/src/lib.rs | 7 ++ crates/typst/src/layout/inline/shaping.rs | 2 + crates/typst/src/math/fragment.rs | 1 + crates/typst/src/text/item.rs | 4 +- crates/typst/src/text/mod.rs | 11 ++- tests/ref/text/stroke.png | Bin 0 -> 97009 bytes tests/typ/text/stroke.typ | 21 ++++++ 12 files changed, 151 insertions(+), 42 deletions(-) create mode 100644 tests/ref/text/stroke.png create mode 100644 tests/typ/text/stroke.typ diff --git a/crates/typst-pdf/src/color.rs b/crates/typst-pdf/src/color.rs index 3d90926f9..f0d483cf3 100644 --- a/crates/typst-pdf/src/color.rs +++ b/crates/typst-pdf/src/color.rs @@ -205,7 +205,7 @@ pub(super) trait PaintEncode { fn set_as_fill(&self, ctx: &mut PageContext, on_text: bool, transforms: Transforms); /// Set the paint as the stroke color. - fn set_as_stroke(&self, ctx: &mut PageContext, transforms: Transforms); + fn set_as_stroke(&self, ctx: &mut PageContext, on_text: bool, transforms: Transforms); } impl PaintEncode for Paint { @@ -217,11 +217,16 @@ impl PaintEncode for Paint { } } - fn set_as_stroke(&self, ctx: &mut PageContext, transforms: Transforms) { + fn set_as_stroke( + &self, + ctx: &mut PageContext, + on_text: bool, + transforms: Transforms, + ) { match self { - Self::Solid(c) => c.set_as_stroke(ctx, transforms), - Self::Gradient(gradient) => gradient.set_as_stroke(ctx, transforms), - Self::Pattern(pattern) => pattern.set_as_stroke(ctx, transforms), + Self::Solid(c) => c.set_as_stroke(ctx, on_text, transforms), + Self::Gradient(gradient) => gradient.set_as_stroke(ctx, on_text, transforms), + Self::Pattern(pattern) => pattern.set_as_stroke(ctx, on_text, transforms), } } } @@ -267,7 +272,7 @@ impl PaintEncode for Color { } } - fn set_as_stroke(&self, ctx: &mut PageContext, _: Transforms) { + fn set_as_stroke(&self, ctx: &mut PageContext, _: bool, _: Transforms) { match self { Color::Luma(_) => { ctx.parent.colors.d65_gray(&mut ctx.parent.alloc); diff --git a/crates/typst-pdf/src/gradient.rs b/crates/typst-pdf/src/gradient.rs index 0882a70ee..523d67b90 100644 --- a/crates/typst-pdf/src/gradient.rs +++ b/crates/typst-pdf/src/gradient.rs @@ -225,10 +225,15 @@ impl PaintEncode for Gradient { .insert(PageResource::new(ResourceKind::Gradient, id), index); } - fn set_as_stroke(&self, ctx: &mut PageContext, transforms: Transforms) { + fn set_as_stroke( + &self, + ctx: &mut PageContext, + on_text: bool, + transforms: Transforms, + ) { ctx.reset_stroke_color_space(); - let index = register_gradient(ctx, self, false, transforms); + let index = register_gradient(ctx, self, on_text, transforms); let id = eco_format!("Gr{index}"); let name = Name(id.as_bytes()); diff --git a/crates/typst-pdf/src/page.rs b/crates/typst-pdf/src/page.rs index 05501d2c0..56d3fd832 100644 --- a/crates/typst-pdf/src/page.rs +++ b/crates/typst-pdf/src/page.rs @@ -504,7 +504,12 @@ impl PageContext<'_, '_> { self.state.fill_space = None; } - fn set_stroke(&mut self, stroke: &FixedStroke, transforms: Transforms) { + fn set_stroke( + &mut self, + stroke: &FixedStroke, + on_text: bool, + transforms: Transforms, + ) { if self.state.stroke.as_ref() != Some(stroke) || matches!( self.state.stroke.as_ref().map(|s| &s.paint), @@ -520,7 +525,7 @@ impl PageContext<'_, '_> { miter_limit, } = stroke; - paint.set_as_stroke(self, transforms); + paint.set_as_stroke(self, on_text, transforms); self.content.set_line_width(thickness.to_f32()); if self.state.stroke.as_ref().map(|s| &s.line_cap) != Some(line_cap) { @@ -620,13 +625,18 @@ fn write_text(ctx: &mut PageContext, pos: Point, text: &TextItem) { let segment = &text.text[g.range()]; glyph_set.entry(g.id).or_insert_with(|| segment.into()); } - - ctx.set_fill(&text.fill, true, ctx.state.transforms(Size::zero(), pos)); + let fill_transform = ctx.state.transforms(Size::zero(), pos); + ctx.set_fill(&text.fill, true, fill_transform); + if let Some(stroke) = &text.stroke { + ctx.set_stroke(stroke, true, fill_transform); + ctx.content + .set_text_rendering_mode(pdf_writer::types::TextRenderingMode::FillStroke); + } ctx.set_font(&text.font, text.size); - ctx.set_opacities(None, Some(&text.fill)); + ctx.set_opacities(text.stroke.as_ref(), Some(&text.fill)); ctx.content.begin_text(); - // Positiosn the text. + // Position the text. ctx.content.set_text_matrix([1.0, 0.0, 0.0, -1.0, x, y]); let mut positioned = ctx.content.show_positioned(); @@ -690,7 +700,11 @@ fn write_shape(ctx: &mut PageContext, pos: Point, shape: &Shape) { } if let Some(stroke) = stroke { - ctx.set_stroke(stroke, ctx.state.transforms(shape.geometry.bbox_size(), pos)); + ctx.set_stroke( + stroke, + false, + ctx.state.transforms(shape.geometry.bbox_size(), pos), + ); } ctx.set_opacities(stroke, shape.fill.as_ref()); diff --git a/crates/typst-pdf/src/pattern.rs b/crates/typst-pdf/src/pattern.rs index ea7d48e01..0829ef32d 100644 --- a/crates/typst-pdf/src/pattern.rs +++ b/crates/typst-pdf/src/pattern.rs @@ -140,10 +140,15 @@ impl PaintEncode for Pattern { .insert(PageResource::new(ResourceKind::Pattern, id), index); } - fn set_as_stroke(&self, ctx: &mut PageContext, transforms: Transforms) { + fn set_as_stroke( + &self, + ctx: &mut PageContext, + on_text: bool, + transforms: Transforms, + ) { ctx.reset_stroke_color_space(); - let index = register_pattern(ctx, self, false, transforms); + let index = register_pattern(ctx, self, on_text, transforms); let id = eco_format!("P{index}"); let name = Name(id.as_bytes()); diff --git a/crates/typst-render/src/lib.rs b/crates/typst-render/src/lib.rs index 393f86cf8..e8633f55e 100644 --- a/crates/typst-render/src/lib.rs +++ b/crates/typst-render/src/lib.rs @@ -15,8 +15,8 @@ use typst::layout::{ }; use typst::text::{Font, TextItem}; use typst::visualize::{ - Color, FixedStroke, Geometry, Gradient, Image, ImageKind, LineCap, LineJoin, Paint, - Path, PathItem, Pattern, RasterFormat, RelativeTo, Shape, + Color, DashPattern, FixedStroke, Geometry, Gradient, Image, ImageKind, LineCap, + LineJoin, Paint, Path, PathItem, Pattern, RasterFormat, RelativeTo, Shape, }; use usvg::{NodeExt, TreeParsing}; @@ -377,7 +377,12 @@ fn render_outline_glyph( // Render a glyph directly as a path. This only happens when the fast glyph // rasterization can't be used due to very large text size or weird // scale/skewing transforms. - if ppem > 100.0 || ts.kx != 0.0 || ts.ky != 0.0 || ts.sx != ts.sy { + if ppem > 100.0 + || ts.kx != 0.0 + || ts.ky != 0.0 + || ts.sx != ts.sy + || text.stroke.is_some() + { let path = { let mut builder = WrappedPathBuilder(sk::PathBuilder::new()); text.font.ttf().outline_glyph(id, &mut builder)?; @@ -387,22 +392,56 @@ fn render_outline_glyph( let scale = text.size.to_f32() / text.font.units_per_em() as f32; let mut pixmap = None; - let paint = to_sk_paint( - &text.fill, - state.pre_concat(sk::Transform::from_scale(scale, -scale)), - Size::zero(), - true, - None, - &mut pixmap, - None, - ); let rule = sk::FillRule::default(); // Flip vertically because font design coordinate // system is Y-up. let ts = ts.pre_scale(scale, -scale); + let state_ts = state.pre_concat(sk::Transform::from_scale(scale, -scale)); + let paint = to_sk_paint( + &text.fill, + state_ts, + Size::zero(), + true, + None, + &mut pixmap, + None, + ); canvas.fill_path(&path, &paint, rule, ts, state.mask); + + if let Some(FixedStroke { + paint, + thickness, + line_cap, + line_join, + dash_pattern, + miter_limit, + }) = &text.stroke + { + if thickness.to_f32() > 0.0 { + let dash = dash_pattern.as_ref().and_then(to_sk_dash_pattern); + + let paint = to_sk_paint( + paint, + state_ts, + Size::zero(), + true, + None, + &mut pixmap, + None, + ); + let stroke = sk::Stroke { + width: thickness.to_f32() / scale, // When we scale the path, we need to scale the stroke width, too. + line_cap: to_sk_line_cap(*line_cap), + line_join: to_sk_line_join(*line_join), + dash, + miter_limit: miter_limit.get() as f32, + }; + + canvas.stroke_path(&path, &paint, &stroke, ts, state.mask); + } + } return Some(()); } @@ -581,17 +620,7 @@ fn render_shape(canvas: &mut sk::Pixmap, state: State, shape: &Shape) -> Option< // Don't draw zero-pt stroke. if width > 0.0 { - let dash = dash_pattern.as_ref().and_then(|pattern| { - // tiny-skia only allows dash patterns with an even number of elements, - // while pdf allows any number. - let pattern_len = pattern.array.len(); - let len = - if pattern_len % 2 == 1 { 2 * pattern_len } else { pattern_len }; - let dash_array = - pattern.array.iter().map(|l| l.to_f32()).cycle().take(len).collect(); - - sk::StrokeDash::new(dash_array, pattern.phase.to_f32()) - }); + let dash = dash_pattern.as_ref().and_then(to_sk_dash_pattern); let bbox = shape.geometry.bbox_size(); let offset_bbox = (!matches!(shape.geometry, Geometry::Line(..))) @@ -1045,6 +1074,15 @@ fn to_sk_transform(transform: &Transform) -> sk::Transform { ) } +fn to_sk_dash_pattern(pattern: &DashPattern) -> Option { + // tiny-skia only allows dash patterns with an even number of elements, + // while pdf allows any number. + let pattern_len = pattern.array.len(); + let len = if pattern_len % 2 == 1 { 2 * pattern_len } else { pattern_len }; + let dash_array = pattern.array.iter().map(|l| l.to_f32()).cycle().take(len).collect(); + sk::StrokeDash::new(dash_array, pattern.phase.to_f32()) +} + /// Allows to build tiny-skia paths from glyph outlines. struct WrappedPathBuilder(sk::PathBuilder); diff --git a/crates/typst-svg/src/lib.rs b/crates/typst-svg/src/lib.rs index 92168fc69..b81431220 100644 --- a/crates/typst-svg/src/lib.rs +++ b/crates/typst-svg/src/lib.rs @@ -452,6 +452,13 @@ impl SVGRenderer { Size::new(Abs::pt(width), Abs::pt(height)), self.text_paint_transform(state, &text.fill), ); + if let Some(stroke) = &text.stroke { + self.write_stroke( + stroke, + Size::new(Abs::pt(width), Abs::pt(height)), + self.text_paint_transform(state, &stroke.paint), + ); + } self.xml.end_element(); Some(()) diff --git a/crates/typst/src/layout/inline/shaping.rs b/crates/typst/src/layout/inline/shaping.rs index b715f6648..07be8c68c 100644 --- a/crates/typst/src/layout/inline/shaping.rs +++ b/crates/typst/src/layout/inline/shaping.rs @@ -230,6 +230,7 @@ impl<'a> ShapedText<'a> { let lang = TextElem::lang_in(self.styles); let decos = TextElem::deco_in(self.styles); let fill = TextElem::fill_in(self.styles); + let stroke = TextElem::stroke_in(self.styles); for ((font, y_offset), group) in self.glyphs.as_ref().group_by_key(|g| (g.font.clone(), g.y_offset)) @@ -302,6 +303,7 @@ impl<'a> ShapedText<'a> { size: self.size, lang, fill: fill.clone(), + stroke: stroke.clone().map(|s| s.unwrap_or_default()), text: self.text[range.start - self.base..range.end - self.base].into(), glyphs, }; diff --git a/crates/typst/src/math/fragment.rs b/crates/typst/src/math/fragment.rs index d176dd962..6131f663d 100644 --- a/crates/typst/src/math/fragment.rs +++ b/crates/typst/src/math/fragment.rs @@ -308,6 +308,7 @@ impl GlyphFragment { fill: self.fill, lang: self.lang, text: self.c.into(), + stroke: None, glyphs: vec![Glyph { id: self.id.0, x_advance: Em::from_length(self.width, self.font_size), diff --git a/crates/typst/src/text/item.rs b/crates/typst/src/text/item.rs index 49ed78517..44d8e63a1 100644 --- a/crates/typst/src/text/item.rs +++ b/crates/typst/src/text/item.rs @@ -6,7 +6,7 @@ use ecow::EcoString; use crate::layout::{Abs, Em}; use crate::syntax::Span; use crate::text::{Font, Lang}; -use crate::visualize::Paint; +use crate::visualize::{FixedStroke, Paint}; /// A run of shaped text. #[derive(Clone, Eq, PartialEq, Hash)] @@ -17,6 +17,8 @@ pub struct TextItem { pub size: Abs, /// Glyph color. pub fill: Paint, + /// Glyph stroke. + pub stroke: Option, /// The natural language of the text. pub lang: Lang, /// The item's plain text. diff --git a/crates/typst/src/text/mod.rs b/crates/typst/src/text/mod.rs index dfbf328fc..06e347a35 100644 --- a/crates/typst/src/text/mod.rs +++ b/crates/typst/src/text/mod.rs @@ -43,7 +43,7 @@ use crate::foundations::{ use crate::layout::{Abs, Axis, Dir, Length, Rel}; use crate::model::ParElem; use crate::syntax::Spanned; -use crate::visualize::{Color, Paint, RelativeTo}; +use crate::visualize::{Color, Paint, RelativeTo, Stroke}; /// Text styling. /// @@ -240,6 +240,15 @@ pub struct TextElem { #[ghost] pub fill: Paint, + /// How to stroke the text. + /// + /// ```example + /// #text(stroke: 0.5pt + red)[Stroked] + /// ``` + #[resolve] + #[ghost] + pub stroke: Option, + /// The amount of space that should be added between characters. /// /// ```example diff --git a/tests/ref/text/stroke.png b/tests/ref/text/stroke.png new file mode 100644 index 0000000000000000000000000000000000000000..d6d85c28e70dd1e0613b0b0fb3c4d89678fe0d9a GIT binary patch literal 97009 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 literal 0 HcmV?d00001 diff --git a/tests/typ/text/stroke.typ b/tests/typ/text/stroke.typ new file mode 100644 index 000000000..713bbe2f4 --- /dev/null +++ b/tests/typ/text/stroke.typ @@ -0,0 +1,21 @@ +#set text(size: 20pt) +#set page(width: auto) +测试字体 #lorem(5) + +#text(stroke: 0.3pt + red)[测试字体#lorem(5)] + +#text(stroke: 0.5pt + red)[测试字体#lorem(5)] + +#text(stroke: 0.7pt + red)[测试字体#lorem(5)] + +#text(stroke: 1pt + red)[测试字体#lorem(5)] + +#text(stroke: 2pt + red)[测试字体#lorem(5)] + +#text(stroke: 5pt + red)[测试字体#lorem(5)] + +#text(stroke: 7pt + red)[测试字体#lorem(5)] + +#text(stroke: (paint: blue, thickness: 1pt, dash: "dashed"))[测试字体#lorem(5)] + +#text(stroke: 1pt + gradient.linear(..color.map.rainbow))[测试字体#lorem(5)] // gradient doesn't work now