freetype-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

4-hook patch (Re: Adobe Native + cairo (Re: Adobe's SVG native as ft2 re


From: Hin-Tak Leung
Subject: 4-hook patch (Re: Adobe Native + cairo (Re: Adobe's SVG native as ft2 renderer hook (Re: Bug in rsvg+cairo hook with Nabla?)
Date: Fri, 21 Jul 2023 08:15:35 +0000 (UTC)

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 <htl10@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 as
https://github.com/adobe/svg-native-viewer/issues/185

I said it is between librsvg and skia.

The code diff is at
https://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 + cairo
pycairo + librsvg gobject introspection (python)
skia m103+
Adobe Native + skia (any/older version)
Adobe Native + cairo



reply via email to

[Prev in Thread] Current Thread [Next in Thread]