Hi Hin-Tak,

Are there any stable distributions of the
prebuilt Skia binary, especially for Linux?
The skia-python package has its own Skia
binary (plus libbz2, libfreetype, libfontconfig,
libpng, and libuuid).

Once, I was involved in developing SVG Native
Viewer, which has the backend to Skia.
Checking the availability and compatibility
of the Skia was a difficult problem. To test
the features, I had to build the Skia binary
by myself for testing, and it was too hard to
incorporate into the CI testing because I don't
believe in the reliability of a huge homegrown
binary, and building the Skia binary consumes
so long time for the CI platforms.

In addition, even if there is an individual
Skia package in some Linux distributions,
maybe the Chromium browser would not use it
- Chromium binary may merge the Skia into
its binary, and there is no separate library.

The skin-python can wrap up such issues, but
I wonder whether the API of the prebuilt Skia
binary in the PIP package is stable. And even
if it is stable, I'm still wondering whether
it is a good idea to link the binary content
of the PIP package from the external (non-PIP)
binaries. Are there any applications providing
the Skia library as an individual component?

Regards,
mpsuzuki

On 2023/07/05 3:14, Hin-Tak Leung wrote:
(Cross-posted to freetype-devel)

It seems that skia itself has all the rsvg equivalent to implement the ot-svg 
renderer callback hooks in freetype, but skia-python is missing the python 
equivalent of SKSVGDOM::renderNode() . This means that if I re-write the 
rsvg-based python svgrender hooks with skia-python, it would only work with 
Adobe/Mozilla OT-SVG fonts, but not Google OT-SVG fonts (until skia-python 
improves).

I think I'll give it a go and try to put an example out under freetype-py/examples (probably will 
call it "ot-svg-example-skia.py", after the other "ot-svg-example.py") . If the 
Freetype folks want to port to freetype2-demos, and add the missing renderNode() to support all 
OT-SVG (I mean Google OT-SVG fonts...) with a different svg rendering engine than rsvg, they can 
fish it out of freetype-py/examples ... :-).

On Tuesday, 4 July 2023 at 21:58:10 GMT+8, Hin-Tak Leung 
<ht...@users.sourceforge.net> wrote:


On Tuesday, 4 July 2023 at 21:30:56 GMT+8, Dominik Röttsches <dr...@google.com> 
wrote:

... I don't think it would be the right architectural choice to redundantly 
repeat these concepts inside FreeType itself. Even more so, as fast compositing 
and gradient implementations require time and effort to make them reasonably 
fast.


It isn't repeating these concepts in Freetype. Currently, in one (actually two, 
c and python) implementation, Freetype farms off rendering of OT-SVG glyphs to 
rsvg, which in turn is cairo-based, to do the actual rendering. FreeType just 
provides a plug-in system which allows an external library to do the rendering. 
Basically Freetype gives out the glyph svg outlines etc, and the external 
library fill in the extent and the actual buffer of a rendered bitmap. This 
allows any freetype-based applications to use OT-SVG fonts.
_______________________________________________
mpeg-otspec mailing list
mpeg-ots...@lists.aau.at<mailto:mpeg-ots...@lists.aau.at>
https://lists.aau.at/mailman/listinfo/mpeg-otspec



Reply via email to