[prev in list] [next in list] [prev in thread] [next in thread]
List: cairo
Subject: Re: [cairo] OpenType font variations and cairo
From: Adrian Johnson <ajohnson () redneon ! com>
Date: 2017-09-28 23:41:03
Message-ID: 896e37bd-3204-3fc8-b3da-a6c076b0df2a () redneon ! com
[Download RAW message or body]
On 29/09/17 08:31, Behdad Esfahbod wrote:
> On Thu, Sep 28, 2017 at 6:09 PM, Adrian Johnson <ajohnson@redneon.com
> <mailto:ajohnson@redneon.com>> wrote:
>
> On 29/09/17 06:06, Matthias Clasen wrote:
> 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
> commit.
>
>
> Thanks Adrian for all the help.
>
> 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.
>
>
> Humm. This sounds very much like what might happen with old FreeType .
> If not, can you elaborate what happens again? Can you reproduce? What
> FreeType exactly? Does `fc-query AdobeVFPrototype.ttf` work?
FreeType 2.8.0. I can reproduce. fc-query AdobeVFPrototype.ttf also
produces the same error.
I looked into it and it seems to be the same problem Matthias fixed in
a827d7e515c7c. I applied a similar patch to fontconfig (see attached)
and fc-cache and fc-query now work.
>
> I can probably replace assert with a less harsh mode of failure.
>
>
>
> 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
>
>
>
>
>
>
>
>
> --
> behdad
> http://behdad.org/
>
>
["fc.diff" (text/x-patch)]
diff --git a/src/fcfreetype.c b/src/fcfreetype.c
index cddd3a1..f8c81ee 100644
--- a/src/fcfreetype.c
+++ b/src/fcfreetype.c
@@ -2139,7 +2139,10 @@ FcFreeTypeQueryAll(const FcChar8 *file,
num_instances = face->style_flags >> 16;
if (num_instances && (!index_set || instance_num))
{
- FT_Get_MM_Var (face, &mm_var);
+ FT_Error ret;
+ ret = FT_Get_MM_Var (face, &mm_var);
+ if (ret != 0)
+ FT_Get_MM_Var (face, &mm_var);
assert (mm_var);
}
[Attachment #4 (text/plain)]
--
cairo mailing list
cairo@cairographics.org
https://lists.cairographics.org/mailman/listinfo/cairo
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic