Re: GdkPangoRenderer



On Sun, 2004-11-21 at 16:43 +0100, Hans Breuer wrote:
> On 20.11.2004 22:56, Owen Taylor wrote:
> > [...]
> > The main remaining issue for getting the GTK+ changes into CVS is Win32
> > support. Possible steps in that direction:
> > 
> >  - Simply implement drawable.draw_glyphs_transformed by calling
> >    drawable.draw_glyphs. That would at least keep what works currently
> >    working, but rotated text wouldn't work. Approximate time - 10 minutes.
> > 
> >  - Implement support in PangoWin32Font for loading fonts with transformation
> >    matrices and implement pango_win32_render_transformed(). This is
> >    sufficient to get rotated text working. Approximate time - 2-3 hours(?)
> > 
> Although I think your scheduling is overly optimistic I can try to get 
> this into cvs today.

Heh, well, with that offer on the table, I guess I can't stall on
committing to CVS... done.

> >  - Implement a PangoWin32Renderer. Not really needed for GDK, but would
> >    clean up duplicated code and provide some new capabilities.
> >    Approximate time - 2-3 hours(???)
> > 
> Not that it is a precondition for me working at this, but it would be
> nice to get the capabilities described in
> http://bugzilla.gnome.org/show_bug.cgi?id=94791
> and
> http://bugzilla.gnome.org/show_bug.cgi?id=107668
> (bitmap rendering and font outlines) into the pango renderer as well;
> and not only for the FT2 case ...

While with PangoRenderer it's a whole lot easier to write alternate
rendering paths, some of the basic problems haven't changed:

 - The right interfaces likely involve introducing a number of
   abstractions that go away with Cairo; it's a lot of new
   API in general.

 - This stuff isn't actually implementable with the Xft backend
   without a lot of work, since the Xft library doesn't expose
   the necessary pieces... it doesn't expose the bits it renders
   to the application.

   (Plus the metrics and bits it is using may be for subpixel
   rendering.)

   That spoils the obvious ways of hooking it up; even with the
   core X backend gone, we still can't easily provide it for
   all backends.

I've been thinking quite a bit about this area recently; I agree
there are problems here that need to be solved:
 
 - Needing the FT2 backend on Windows for bitmap rendering
   is clearly a big pain.

 - Outline decomposition isn't really even possible with the 
   FT2 backend without duplicating code from inside Pango to
   get the right load flags.

 - People want to use the FT2 backend to do colored bitmap rendering

 - Everybody has to write their own render-FT_Bitmap-to-a-GdkPixbuf.
   while that's only 30-40 lines of code, it's not an obvious
   30-40 lines of code.

But it's just not clear to me that pre-Cairo baby steps are worthwhile
at this point.

Regards,
						Owen

Attachment: signature.asc
Description: This is a digitally signed message part



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