Around 8 o'clock on Nov 19, Brian Stell wrote:

> An important feature in browsers is that the page display
> begins *before* the entire page is received. This is important
> for systems with phone modems where it can take a while for 
> larger documents.

Which is precisely why the Xft mechanism is designed to be incremental.  

Applications provide a pattern to Xft and then slowly increase the set of
glyphs needed to present the entire document.  There is no way to know the
complete set of glyphs needed to display any document, so the Xft mechanism
provides for a list of fonts which can be dynamically adjusted as
additional glyphs are discovered in the document.

The hardest part of this is to make the selection of fonts for a particular
section of the document not depend on the order in which glyph requirements
are presented to the library.  Xft does this by listing all of the fonts 
in the system in according to how closely they match the original pattern. 

Applications can walk this list to find the closest matching font which 
contains the necessary glyphs.  Precisely how they select fonts is not 
specified by Xft; presumably they'll want to try to find fonts which can 
display relatively large contiguous sections of text to avoid the ransom 
note effect.  As Xft has no access to the underlying application data, 
there's no way it can make reasonable choices.

Note that this list is only a list of font *names*, not the fonts 
themselves -- placing the Unicode coverage in the name allows the 
application to delay opening each font until it decides to present some 
glyphs with it.

Suggestions on precise interfaces are welcome; I'm still pondering the 
structure of this code.

[EMAIL PROTECTED]        XFree86 Core Team              SuSE, Inc.


_______________________________________________
Fonts mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/fonts

Reply via email to