Skip to content

Conversation

@jrmoulton
Copy link

@jrmoulton jrmoulton commented Feb 25, 2025

This is basically just a direct port of the swash implementation of font embolden.

It does seem to have about twice the "strength" of the swash implementation though and I haven't been able to figure out why.

@jrmoulton
Copy link
Author

jrmoulton commented Feb 27, 2025

Need to investigate:

  • Strength double
  • Doing embolden in stroke expansion on the GPU

@jrmoulton jrmoulton force-pushed the push-nwztnvrqyyux branch 6 times, most recently from 3e7d17e to 420d99d Compare March 18, 2025 07:32
@jrmoulton
Copy link
Author

jrmoulton commented Mar 18, 2025

This is now working.

It has path expansion/stem darkening working on the GPU and properly works with Bevel, Miter, and Round joins. These are all configurable.

The changes are implemented in both the cpu and gpu flatten shader.

@raphlinus
Copy link
Contributor

A quick update, this was discussed in Renderer office hours, also see transcript of the discussion.

This would be great to have in some form, but the big question is review bandwidth as it's a fairly major change and has a risk of breaking things. We haven't forgotten about it, but need to decide what to do.

@nicoburns nicoburns added the C-classic Applies to the classic `vello` crate label Jun 22, 2025
@jrmoulton
Copy link
Author

I have updated this PR to allow the embolden to take a vec2 for separate emboldening of x and y.

I will add some comments to the PR to highlight parts that need particular review and open questions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

C-classic Applies to the classic `vello` crate

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants