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 
<ht...@users.sourceforge.net> 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

      

Reply via email to