[cairo] OpenType font variations and cairo

Adrian Johnson ajohnson at redneon.com
Thu Sep 28 22:09:30 UTC 2017

On 29/09/17 06:06, Matthias Clasen wrote:
> On Fri, Sep 22, 2017 at 7:10 AM, Matthias Clasen
> <matthias.clasen at gmail.com <mailto:matthias.clasen at gmail.com>> wrote:
>     a) not cache a changing object
>     b) take the named instanceness into account for caching
>     c) ignore the named instanceness when applying font options
>     Behdad ?
> Behdad and I stuck our heads together for a while today, and came up
> with a simple fix that I've pushed here:
> https://github.com/matthiasclasen/cairo/tree/wip/matthiasc/font-variations
> With this, the cairo tests pass, and my gtk example works as expected as
> well.

I pulled your latest changes and tested with various combinations of
freetype and fontconfig - see below. All good on the cairo side, except
for the build fail with FT 2.6.3 but I mentioned that needs fixing in my
review comments.

There appears to be a bug in fontconfig master when using freetype 2.8.

If you cleanup and rebase your commits to master with all review
comments addressed, I'll do a final check and then it should be good to

freetype 2.6.3: build failed - FT_Get_Var_Design_Coordinates not found

freetype 2.8, fontconfig 2.11.0 : pass

freetype 2.8, fontconfig 2.12.5 : pass

freetype 2.8, fontconfig master :

When running the fc-cache built from master I get:
  fc-cache: fcfreetype.c:2143: IA__FcFreeTypeQueryAll: Assertion
  `mm_var' failed.

fc-cache succeeds after removing AdobeVFPrototype.ttf from ~/.fonts

I tried again with AdobeVFPrototype.otf. fc-cache ran successfully and
the cairo test passed.

freetype 2.8.1, fontconfig 2.11.0 : pass

freetype 2.8.1, fontconfig 2.12.5 : pass

freetype 2.8.1, fontconfig master : pass

freetype master, fontconfig master : pass

More information about the cairo mailing list