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