Re: Xft version 2 patches for gtk+ and pango



Hi Keith,

I'm very eager to look at these patches. Unfortunately, with the
GTK+-2.0.0 release 1 week and change off, I'll have to hold my
horses for a bit.

At a quick look there doesn't seem anything that should cause
major compatibility problems.

-FT_Face       pango_xft_font_get_face          (PangoFont *font);
+FT_Face       pango_xft_font_lock_face         (PangoFont *font);
+void	      pango_xft_font_unlock_face       (PangoFont *font);

Is in a portion of the Pango API protected as unstable, and even
if we need to maintain compatibility, we can provide a compatibility
pango_xft_font_get_face() that locks the font and leaves it lock.

(There will be typically a fairly limited number of PangoFont objects
around at one time in any case... they aren't something an application
gets a handle to and holds on to.)

We should be able to get a Pango-1.0.x release out with these changes
well before 4.3 is released.

Thanks,
                                        Owen

Keith Packard <keithp keithp com> writes:

> I've redesigned the insides of Xft to solve many problems uncovered by
> Gtk+, Qt and Mozilla.  Some of those solutions have caused some
> source-level incompatibilities, others have offered ways to solve problems
> currently kludged around with ugly hacks.
> 
> One important change is that when using the XftDraw API, applications can
> use client-side text on all X servers, not just those supporting the Render
> extension.  This means that Pango layout can take advantage of the local
> font data on every desktop, not just modern XFree86-based X servers.
> 
> I've patched Gtk+ and Pango to work with the new API; it might also 
> compile against the old headers, but I haven't tested that.
> 
> XFree86 will not install old Xft headers with XFree86 4.3, although we 
> will continue to provide the old shared library.
> 
> The patch is available at
> 
> 	http://keithp.com/~keithp/download/pango-gtk-xft.diff
> 
> It's against CVS from yesterday evening.



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]