RazrFalcon / resvg

An SVG rendering library.
Mozilla Public License 2.0
2.74k stars 220 forks source link

Support for user-provided font loading callbacks #769

Closed laurmaedje closed 4 months ago

laurmaedje commented 4 months ago

This PR adds support for user-provided font loading callbacks.

Here is small overview of the changes:

One small change in fontdb is necessary to make writing a custom FontResolver possible, or at least convenient: The best function to add a new font is push_face_info, but it doesn't return the new ID it assigned. I've opened https://github.com/RazrFalcon/fontdb/pull/66 to change that. As it is a breaking change, resvg would need to update to a new release of fontdb. (Alternatively, we could make it non-breaking with a new function.)

Supersedes https://github.com/RazrFalcon/resvg/pull/754

RazrFalcon commented 4 months ago

Bumped fontdb

laurmaedje commented 4 months ago

Bumped fontdb

Thanks, that was quick! Since this PR doesn't directly depend on the fontdb changes (only users need it), the dependency can be updated separately from this PR, but if you want I can also update it here.

RazrFalcon commented 4 months ago

Let update fontdb as well.

laurmaedje commented 4 months ago

Done

RazrFalcon commented 4 months ago

I guess we're ready for a new resvg release?

LaurenzV commented 4 months ago

More than ready! 😄