I’ve been wondering why FreeType uses only 2×2 matrices, so it has to
express translations with a separate vector. It is common in
graphics libraries to use homogeneous matrices (3×3 for 2D, 4×4 for 3D)
so all linear transformations can be encapsulated in a single matrix.

I know FreeType can’t handle non-affine transformations—presumably
that is by design. But you could do what PostScript did, and have a 3×2
matrix that can only express affine transformations.

In any case, I’m thinking of changing my Python binding so its Matrix
type becomes a homogeneous 3×3 matrix. Then my wrapper methods will
decompose this into a non-homogeneous matrix and a separate vector, as
appropriate (and simply discard any non-affine part).

And maybe make my Vector type homogeneous as well...

Thoughts?

_______________________________________________
Freetype mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/freetype

Reply via email to