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