Re: some XFree86 5.0 questions...
Alexander Gelfenbain <[email protected]>
| Newsgroups | gmane.comp.xfree86.forum |
|---|---|
| Message-ID | <[email protected]> |
On Fri, Mar 21, 2003 at 11:04:03PM +0800, Wu Jian Feng wrote: > Martijn Sipkema writes: > > > - fonts don't need to be local. > > - better caching of fonts > > - access to fonts only by server. this also removes searching for > > available fonts from applications. > > > > --ms > > Thanks for your explaination, but some applications need glyph metrics > information to do their own text layout. That is true only within assumptions of the current text rendering model. When applications use an encapsulated API like STSF, they do not require glyph metric data. The advantage of encapsulated APIs is that the only thing applications need to do is to create a single object that represent a fragment of displayable text. Such an object: - manages its highlighted regions - can position a caret without external intervention - can be rendered in an atomic operation Different encapsulated APIs tend to call such an object differently: STSF calls it a "Line Object." ATSUI and Java2D calls it a "Text Layout Object." Once such an object is created, the application does not need to know any low-level details about text that it used to create it, including metric data, font technology, etc. > And there are PDF embedded > fonts only avaliable on the client side. Having a centric font server > to share font is good, but some font vendors may not allow you to > distribute font data to other machines. Having a font server is not the same as sharing the font. This is more an implementation detail, but a reasonably simple architecture that combines the server-centric model with the security of embedded fonts can be easily created. > Also fontconfig has done an excellent job on searching/caching. Indeed. Nobody argues about that. There is nothing in fontconfig that precludes its integration with client-server text rendeirng architectures. AG -- Alexander Gelfenbain, Sun Microsystems, Inc. +1 (408) 635-0612