Hi Werner,

On Fri, Jun 11, 2021 at 5:44 PM Werner LEMBERG <w...@gnu.org> wrote:

> > These are not implemented on the FreeType side yet.  I plan to
> > implement them soon.  I need to decide whether it would make sense
> > to consolidate the API and only return transformation matrices
> > instead of the individual structs for rotate, translate, etc.  If I
> > keep the structs, I may need to add values for center positions for
> > the newer tables Paint*AroundCenter.
>
> Sounds reasonable.  Shall I wait for this to happen?
>

I can't promise a tight timeline, but I expect to have that ready in a pull
request next week.

The API changes seem to be only the addition of a PaintScale struct - the
other structs already have center coordinates, so no changes seem to be
needed there - that's what I can say when no starting to implement these
parts.

> I am not sure what the definition of "experimental" is - but I can't
> > guarantee API stability yet.  If that's not required for
> > experimental, I am okay with releasing this as "experimental".
>
> If we decide to do a release earlier, I will
>
>   (a) add 'experimental' to the `@since` field, and
>   (b) add to the `CHANGES` file that API stability isn't guaranteed:
>       both functions and structures might change without notice, and
>       the major version number of FreeType gets not increased if there
>       are changes to the ABI that are not backward-compatible.
>
> > Also, variations support is not in the COLRv1 implementation yet.
>
> Do you expect API changes for this, too?
>

No, I do not expect changes, with the caveat of not having looked into it
in detail. However, generally, variations are configured on the FT_Face and
all values returned from the COLR v1 API work based on the FT_Face
configured to a certain axis position. So the values returned from the API
are static/interpolated until the axis configuration on the FT_Face is
changed. So the API surface does not need to change. The approach for
getting new interpolated data would be: change axis coords on FT_Face,
query for COLR data again, get new interpolated results.

> I plan to familiarize myself with the built-in variations
> > interpolation capabilities that FT has - pointers to welcome.
>
> The essential code is in file `src/truetype/ttgxvar.c`.  I think it is
> quite well documented.  If you find problems or hard-to-read code,
> please add comments and submit them as merge requests :-)
>

Ack, thanks, I'll look into that.

Dominik

Reply via email to