Re: API freeze for GNOME 2

On Tue, 13 Nov 2001, Maciej Stachowiak wrote:

> On 13Nov2001 07:38PM (-0500), Alex Larsson wrote:
> > 
> > Hmm. I have an important outstanding patch that changes the API 
> > for PangoFT2. Only users are GtkFB (me), Canvas (me) and the Gimp (sven 
> > seemed ok with this change, although he has not commented on the details 
> > yet). The normal parts of the pango API are unchanged.
> > 
> > I'm awaiting review by owen on this though.
> OK. Please jump through the hoops of explaining the nature of this
> change this change and why it is needed. I think gnome-2-0-list is an
> OK place for such discussion, there is no need to keep it hidden on
> the private release team list. You should probably also Cc interested
> parties who may not be on gnome-2-0-list.

The patch has two parts. First of all it adds generic support for named 
aliases inside Pango. Currently this is done ad-hoc inside some backends 
by making one PangoFont wrap a set of fonts, and is not availible for 
other backends. This part requires no externally visible API changes.

The second part involves rewriting PangoFT2 to handle fonts in the same 
way as PangoXft. This means PangoFT2 (gimp, canvas etc) don't need an 
extra non-standard duplicated font configuration file, it just reads the 
Xft config. It also means that the same set of fonts, with the same names, 
metrics and aliases are availible with the Xft and the FT2 backends.

Unfortunately, the FT2 change changes the backend specific API. 
This is because the old FT2 backed wrapped a fontset, and was 
overly complicated, while the new one just uses one font per 
PangoFT2Font, like the Xft backend. There was also an additional dpi 
parameter needed in the PangoFT2Context constructor, in order to make the 
Xft and the FT2 backend render the same pixels.

Note that the backend specific API is very seldom used by apps, and very 
little external code changes are necessary. 

/ Alex

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