Re: text and compositing
Keith Packard <[email protected]> Fri, 23 Apr 2004 15:40:37 -0700
| Newsgroups | gmane.comp.freedesktop.xserver |
|---|---|
| Message-ID | <[email protected]> |
Around 15 o'clock on Apr 23, Jon Smirl wrote: > What is the plan for text generation, is it client or server side? Server side > can pick up the transformation matrix and share the caching of gyph bitmaps > between multiple clients. In the Render extension model, all glyphs are rasterized by the client and transmitted as bitmaps. The X server shares these bitmaps among multiple applications (yes, by brute-force comparison of the images). That's been a very successful model for eliminating unnecessary complexity from the X server, and I'd like to make sure we don't accidentally roll-back the clock to server-side fonts here... We could transmit glyph outlines to the server, but that begs the question of how to deal with hinting. TrueType hinting involves the interpretation of a low-level language embedded within the TrueType font file which adjusts the position of the glyph outline control points. Type1 hinting involves the interpretation of a set of suggestions included with the font; the code for that changes wildly with each FreeType release. If there were a notion of 'nominal' pixel size for the window, then we could hint the glyphs to that size, transmit them as outlines and fill them in the server. This would optimize them for presentation at the nominal size, and preserve their shape as the window was transformed. To a great extent, that's a desirable attribute; the alternative is to have the glyphs (and spacing) jump about as the window is transformed. This would also provide a clear definition for how projective transformations would affect the appearance of the glyphs. Now, all of this raises many questions about where tesselation occurs and where the 'flatness' value is applied to spline decomposition. The PostScript specification requires that a flattened path rasterize the same as the unflattened path. That's a nice invarient to include, but that would mean that the client-side decomposition visible through the path walking mechanism would have to produce the same answers as the server-side path decomposition algorithm. There are also questions about the cairo stroke algorithm which currently assumes a constant pen shape and an affine transformation which preserves flatness computations across translation. -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 iD8DBQFAiZtkQp8BWwlsTdMRApLyAKCeS8PTpEXdF5in28bpmMX0kfnFSwCdGJ2E 2+FrZ0r7JjgrFhSJ4mse92U= =wQXJ -----END PGP SIGNATURE-----