[Mono-winforms-list] GDI+ and Pango.

Jonathan Anderson jonathan.l.anderson at gmail.com
Wed May 13 23:52:50 EDT 2009

Sebastien Pouliot wrote:
> On Tue, 2009-05-12 at 20:06 -0400, Miguel de Icaza wrote:
>> Hello,
>>     There was a discussion today on IRC about Winforms and Pango, and I
>> was wondering if this patch ever got committed, 
> No, it's not committed. But like I offered in a later email I don't have
> any issue committing this* (well the most up to date patch) into SVN.

I'm pretty sure the last patch I posted to the list has my latest 
changes to libgdiplus.  I can double check that over the weekend.

>> and in general what was the status of using Pango for GDI+
> Even with the great work from Jonathan this Pango-enabling does not
> cover all the cases already supported by libgdiplus (unless he has a
> newer patch with additional features). 
> * As such it's not possible at this stage to switch to a pango backend
> without loosing features that existing applications depends on. Which
> means it will, for the time being, be an option (getting the new
> features) that reduce compatibility.
> The "big deal" is that the current work (old mine in SVN and Jonathan
> new patch) use the high-level pango API which is not complete enough for
> some of the options offered by GDI+ (including many supported by
> libgdiplus). This means that the code needs to be re-written in the
> low-level API before being ready for general consumption.

Yes, this is the case.  There may be a kind of hybrid high and low level 
approach, but in any case, the low-level API will need to be used.  I 
did some work with it, and it does have some of its own challenges, but 
I definitely think it will be possible.

More recently, I've done a lot of work in the winforms code on the 
TextBox (and its cousins).  There are several issues with the current 
implementation there that prevent nice text editing with non-Roman 
languages even with the libgdiplus pango support enabled.  I've done my 
best to preserve as much of the old architecture as possible, so in my 
changes to the TextBox it is possible to easily select the old rendering 
code or the new rendering code at run-time or compile time.  It needs a 
little more cleaning up before I submit a patch here, however.

I've recently taken a new job, so I won't be able to spend as much time 
working on this project as I have before, but I'd definitely like to see 
development continue.  Some of my former colleagues I think will be 
taking on some development in this area as well as it is very important 
to the group I was with.

Jonathan Anderson

More information about the Mono-winforms-list mailing list