Re: OpenType font variations and cairo

Adrian Johnson <[email protected]>
Newsgroups gmane.comp.lib.cairo
Message-ID <[email protected]>
On 15/09/17 09:29, Matthias Clasen wrote:
> On Thu, Sep 14, 2017 at 5:54 PM, Adrian Johnson <[email protected]
> <mailto:[email protected]>> wrote:
> 
>     On 15/09/17 05:52, Matthias Clasen wrote:
>     > On Thu, Sep 14, 2017 at 12:37 PM, Behdad Esfahbod
>     > <[email protected] <mailto:[email protected]>
>     <mailto:[email protected]
>     <mailto:[email protected]>>> wrote:
>     >
>     >     Thanks Matthias.  I took a look at the patch.  Looks good!  Minor
>     >     comments:
>     >
>     >     - Moving the format towards CSS by default (no comma, no equal sign;
>     >     just spaces!) while accepting both is what I do in HarfBuzz. Maybe
>     >     advertise the same here,  UPDATE: I was wrong.  CSS uses comma as
>     >     well.  It's the equal sign that they don't use, they use space.  We
>     >     should accept both.
>     >
>     >
>     > I've made the parser a bit more flexible. It now accepts variations like
>     >
>     > wdth=200,wght=300
>     > wdth 200, wght=300
>     > wdth 200 , wght 300
> 
>     Does it work with decimal commas?
> 
> 
> The patch currently uses strtod, so yes, it will parse floating point
> numbers, but decimal separators spell trouble.
> I could rewrite it to use strtod_l, if that is ok to use in cairo.

So what happens on platforms where strtod_l is not available?

The function decode_real() in cairo-cff-subset.c has code for locale
independent parsing of floating-point numbers. Maybe that could be
factored out into separate function and reused.

Where is the variations text string normally expected to come from? I
can see the code reading the FC_FONT_VARIATIONS property but I can't
find this in the current fontconfig git. Where is this documented?

Is the text string supplied to cairo_font_options_set_variations()
likely to be generated by sprintf or is it always read from an external
source in C locale format?

We really need a test case for this. It is hard to review code I can't test.
-- 
cairo mailing list
[email protected]
https://lists.cairographics.org/mailman/listinfo/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.