Re: text and compositing
Keith Packard <[email protected]> Fri, 23 Apr 2004 13:35:03 -0700
| Newsgroups | gmane.comp.freedesktop.xserver |
|---|---|
| Message-ID | <[email protected]> |
Around 13 o'clock on Apr 23, Jon Smirl wrote: > xserver implemented on top of OpenGL doesn't have the identity transform > requirement. I don't follow this; the idea is to have an identity transformation between the X protocol and some place where pixels are stored so that the X protocol semantics are honored. Any non-identitiy transform would have to be applied in a texturing operation that was not visible to the X application. > Does the Cairo architecture for text allow text generation for a > transformed destination buffer? Yes, cairo has no precise pixelization specification, so we should feel free to ammend the backend to apply a transformation to the input of the font rasterization algorithm. Note that I've never seen a font system capable of dealing with non-affine transforms, so the actual results may still not be ideal in all cases. > Does freetype support a 3D projection martix or is it contrained to 2D? We can extract vector data from FreeType and transform it ourselves, but the rasterizer within FreeType (and in fact the Type1 and TrueType hinting specifications) deal solely with affine transformations. > The font caching system will need to track the transformation matrix too. > Although non-distorted transformed glyphs could be reused at different scaling > factors (points). Any transformation will distort the glyphs when hinting is applied. The existing FreeType rasterization cache does handle the affine transformation case correctly, but again, we'll have to do projective transformations ourselves. -keith _______________________________________________ xserver mailing list [email protected] http://freedesktop.org/mailman/listinfo/xserver
signature.asc
(application/pgp-signature, 228 B)
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.4 (GNU/Linux) Comment: Exmh version 2.3.1 11/28/2001 iD8DBQFAiX33Qp8BWwlsTdMRAt8mAJ0YJsBdSllPXSv8sOaD0yHDmPBLPACgpUEt 3kur1bd5GKN4FjZNV7pYRPo= =tu3O -----END PGP SIGNATURE-----