Hi all,

I'm free for a few months and I'd like to finalize the OT-SVG project. I'd
be sending more emails to this list discussing things soon however there's
one thing on which I want to hear your opinion first.

I'm relatively new to fonts, FreeType, and the whole font stack, so I don't
know much about the "users" of FreeType and the way they "use" FreeType.
I'd like to know how applications/libraries will be using the OT-SVG
support of FreeType. Inkscape, for example, directly reads the SVG
documents using Harfbuzz's APIs and renders them by its own SVG renderer. I
think Firefox does something similar. I don't think Chromium supports SVG
glyphs right now. I'm wondering what approach would let
applications/libraries benefit the most from FreeType's OT-SVG support.

Skia uses FreeType to render glyphs and I think once OT-SVG support is
released in FreeType, with few additions to Skia code, it should be able to
render OT-SVG glyphs directly. Perhaps Chromium and other applications that
rely on Skia can benefit from this?

One more thing that I wanted to ask is, which graphics rendering engines
(Skia, Cairo, QT, CoreGraphics, GDI+, etc) and SVG rendering libraries
(librsvg, resvg, svg-native-viewer, etc) would be favored by what kind of
users of FreeType?

Once the support is released, applications like Chromium (that have their
own SVG renderers) will have the option to do it the way Inkscape does, or
use FreeType for the rendering too. One advantage to letting FreeType
render it would be that features that are not a part of SVG Native (or say
the restricted subset of SVG that's used in OT-SVG glyphs) will be
automatically restricted. Otherwise, they'd have to write code to handle
that themselves (if restricting is important to them, of course). SVG
Native Viewer already restricts such features and I'm grateful that
Federico, the maintainer of librsvg, is willing to incorporate SVG Native
support to librsvg. He also mentioned that they'd be willing to provide a
separate build option that can remove the whole font stack from the
compilation process and lead to a small binary size.

Warm Regards,
Moazin

Reply via email to