Around 16 o'clock on Feb 26, Arun Sharma wrote:

> Is there a plan to build a client side font rendering library that's
> capable of supporting complex scripts and that will be a part of the 
> base X distribution ? I really think that font rendering framework 
> is basic functionality that should be a part of X, without which it'd
> be incomplete.

We have several examples of how such functionality might work; it's clear 
that Pango and ST have much in common -- they both "own" your text and 
perform paragraph level layout.  I don't believe they've answered all of 
the questions about document layout and flow; I suspect there are lots of 
interesting problems still to be solved here.

When, in the past, we've promoted a standard within the X community before 
it was ready, we've seen stagnation of other efforts.  That means I'll be 
unwilling to help champion a standard solution until I see rough concensus 
around one particular implementation.

I'm not quite sure why you believe there should be only one implementation 
though; the two fundemental toolkits (Qt3, Gtk+ 2.0) both support 
sophisticated text layout, and we've a new system (ST) which may well 
provide a interface for applications using non-standard toolkits.

> Also, it'd be helpful to have a single API, for GUI toolkits such as gtk
> and Qt to use to handle the fonts, that abstracts out the implementation
> details (client side vs server side) from the toolkit.

That we have today -- Xft is the fundemental font API used by Qt3, Gtk+ 
2.0, Mozilla (eventually) and I've got ports for fltk, Tcl/Tk and a few 
other applications.

The original Xft implementation tried to provide an abstraction to hide 
the differences between server-side and client-side fonts, using the core 
X font management.  It was a disaster -- applications really need the 
capabilities that only client-side fonts can provide, like access to the 
GSUB/GPOS tables, access to outlines for conversion to Type42/Type3 and 
inclusion in Postscript output, font selection based on Unicode coverage 
and language group information found in the TrueType OS/2 tables.  The 
list goes on.  Attempting to provide *all* of this information server-side 
means that the protocol will never be finished, making it very difficult 
for applications to ever take advantage of most of the capabilities of the 
system.

Xft now provides a uniform client-side font API, performance on legacy X 
servers is adequate if not stunning.  Performance with the Render 
extension is not limited by the wire in most environments, and will 
increase as acceleration becomes standard for X servers.

I believe the ST API can be easily ported to Xft so that it too can join 
the remaining X environments and standardize on a common API and 
configuration mechanism.

Keith Packard        XFree86 Core Team        Compaq Cambridge Research Lab


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

Reply via email to