4-hook patch (Re: Adobe Native + cairo (Re: Adobe's SVG native as ft2 renderer hook (Re: Bug in rsvg+cairo hook with Nabla?)

Hin-Tak Leung <[email protected]>
Newsgroups gmane.comp.fonts.freetype.devel
Message-ID <[email protected]>
 I have combined all of the 3 svg hook diff and made a 4-hook patch, it only increases the size of the skia hook patch from about 24k to 34k. I use a -DUSE_ADOBE to make 4 object files from 2 source files, and change the "-s" switch to take a number 1,2,3 for the 3 new hooks. And all 4 now write a single line at svg_init() to say what it is. I imagine the Adobe+cairo part will be extracted and upstream first, as it is not too difficult/slow/hard to build. It is better at rendering some *cough* google color *cough* fonts than librsvg. There is an open issue at my harfbuzz-python-demos repo (where the diff is) collecting the rendering issue numbers I filed at librsvg, Adobe svg, and inkscape.
The patch has some harmless colrv1 in the Makefile diff that I don't want to remove; and the small part on static prototype changes to rsvg-port.c/.h can be upstreamed now. (The internal hook routines are only called via the individual hook, so there is no need for their names to be public - hiding them allow me to build 4 object files out of 2 source files, and the result is probably marginally smaller and faster, having fewer public symbols; 3 benefits for one change). Rsvg-port.c/.h probably should be renamed cairo-port.c/.h as it now does both librsvg+cairo and adobe+cairo.
(some can go upstream, some are posted for public review/fun, some are too ugly to be shown in public yet - trying to minimise the differences between the 3 "active" branches I have...)
Pretty-sure some of you want to hear less often from me now :-). I'll update my system binaries with the 4-hook diff at some point(goes to FontVal-extras/binary-archive/), and carry on with colrv1.

    On Thursday, 20 July 2023 at 15:01:54 BST, Hin-Tak Leung <[email protected]> wrote:  
 
  It took less than an hour of quick hack to get rid of librsvg and replace it with Adobe Native + its cairo backend from Suziki san.
There is a rendering bug filed ashttps://github.com/adobe/svg-native-viewer/issues/185

I said it is between librsvg and skia.
The code diff is athttps://github.com/HinTak/harfbuzz-python-demos/blob/master/svg-native/ft2-demos-Adobe-SVG-Cairo.diff

(Since I did configure --with-librsvg=no, had to have cairo headers and libs manually... you cam figure out better way of doing that...)
So we have 5 svg-hooks now (in history order):
librsvg + cairopycairo + librsvg gobject introspection (python)skia m103+Adobe Native + skia (any/older version)Adobe Native + cairo
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.