Re: Say goodbye to core X fonts



On Tue, 2003-04-15 at 21:07, Sander Vesik wrote:
>  --- Jody Goldberg <jody gnome org> wrote: > On Wed, Apr 16, 2003 at 10:56:00AM
> +1200, Mark McLoughlin wrote:
> > > 
> > > 	Are you then effectively saying "although we said we were going to be
> > > fully ABI compatible we're breaking it now" ?
> > > 
> > > 	I'm not criticising, I'm honestly just curious as to whether or not 
> > > this breaks previous guarantees about ABI stability ...
> > 
> > An interesting question.  We've begun discussion on what ABI and
> > API stability means (releng/policy/abi-stability-changes.txt).  My
> > best guess would be that the answer to your question depends on
> > whether or not the pango backends are considered part of the public
> > interface to pango.  If something choses to muck with an
> > implementation detail they're on their own.
> 
> pango packends install the libraries in a non-private directory, distribute a 
> .pc file and the header (whish is also distributed) doesn't cointain any hints 
> about privacy / deprecation - the same applies to all backends. Going just by that,
> its very unobvious how one would know to consider this a private API.

Well, it's pretty clear that if you used the PangoX backend directly,
you were saying "I don't care about anything but the core X font
backend"

Normally to use Pango and GTK+ you include <pango/pango.h> and
<gtk/gtk.h>. In order to use PangoX, you had to include another
header so there was *some* indication you were doing something
special.

I don't know if adding a:

 #define PANGO_ENABLE_X_BACKEND_USAGE

like the PANGO_ENABLE_ENGINE PANGO_ENABLE_BACKEND defines we use for
unstable parts of the Pango API would actually have helped any. You
already had to declare that you wanted to use the X backend. Declaring
it with a #define isn't that much stronger than declaring it
with an #include.

Documentation notes? Sure, with hindsight, it would be nice to go
back and add some.  

More important perhaps than the above, the PangoX using app was:

 * Partially broken with GTK+-2.0 where GTK+ could be configured 
   not to use core X fonts.

 * Mostly broken with GTK+-2.2 where GTK+ doesn't use core X fonts 
   unless that is specifically specified.

So, this is just one more step in that process.
     
But to some extent, yes, this is an "ends justify the means" decision.
I think it will make things better for everyone, and if the result
is technically breaking the ABI, so be it. My hope is that nobody
will notice in practice.

Regards,
                                        Owen
b




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