mathtext in wx widgets

Hi,

It would be great to be able to display math markup in other parts of my
application, such as labels, tables, lists and menus. Has anyone ever
tried doing this for wx or gtk?

Thanks in advance,

  - Paul

Cool idea. I don't know if anyone has tried this. I assume you'd want to get something that you could pass to wx.ImageFromBuffer() (and the equivalent in Gtk). It would just be a matter of or'ing together all of the greyscale ft2font buffers (which aren't currently exposed to Python) and converting them to an RGB buffer and Alpha buffer. Not that difficult, but it would require some additional C routines in ft2font.cpp.

(And long term, as cool as matplotlib is, it would be nice to refactor this out as a separate library for apps that don't do any plotting...)

Cheers,
Mike

Paul Kienzle wrote:

···

Hi,

It would be great to be able to display math markup in other parts of my
application, such as labels, tables, lists and menus. Has anyone ever
tried doing this for wx or gtk?

Thanks in advance,

  - Paul

-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
matplotlib-devel List Signup and Options

I agree, the mathtext stuff is becoming really good, and will be
really good when we have a good set of fonts to work with. I can see
it being useful in lots of contexts, and more users in other contexts
will make it more useful for us down the road.

JDH

···

On 8/30/07, Michael Droettboom <mdroe@...31...> wrote:

(And long term, as cool as matplotlib is, it would be nice to refactor
this out as a separate library for apps that don't do any plotting...)

Paul Kienzle wrote:

It would be great to be able to display math markup in other parts of my
application, such as labels, tables, lists and menus. Has anyone ever
tried doing this for wx or gtk?

It's worth a post to the wxPython-users list -- it gets talked about now and again.

It shouldn't be too hard to use the ustex stuff from MPL -- doesn't that use TeX, etc to make a png or something? If so, it could be stuck on a wx.widget easily.

Michael Droettboom wrote:

(And long term, as cool as matplotlib is, it would be nice to refactor this out as a separate library for apps that don't do any plotting...)

Yes, that would be great -- a kind of mini-TeX that's embeddable. Another plus to that is you'd expand the user base, and with that hopefully the developer base, so it could get fuller featured faster.

How tied in with MPL is the code? Could it just be it's own module?

-Chris

···

--
Christopher Barker, Ph.D.
Oceanographer

Emergency Response Division
NOAA/NOS/OR&R (206) 526-6959 voice
7600 Sand Point Way NE (206) 526-6329 fax
Seattle, WA 98115 (206) 526-6317 main reception

Chris.Barker@...236...

There is now preliminary support for getting a mathtext bitmap to transfer to a GUI widget in SVN, along with a toy wxPython example in examples/mathtext_wx.py. I've only tested this on Linux/wxGTK2/wxPython-2.8. I'd appreciate help with testing (and screenshots) on any other platforms you may care about.

Gtk+ and Qt should also be theoretically possible. Tk will be more difficult, because a) it doesn't support an alpha channel (which would mainly be a quality problem), and b) you have to use the _tkagg C++ bridge to get the image data into a widget.

Be aware that the API for this may change due to my planned mathtext/backend communication refactoring. If you do plan on relying on this functionality, I recommend wrapping it in a function (like mathtext_to_wxbitmap in the example) so any future changes will be localized.

Cheers,
Mike

Michael Droettboom wrote:

···

Cool idea. I don't know if anyone has tried this. I assume you'd want to get something that you could pass to wx.ImageFromBuffer() (and the equivalent in Gtk). It would just be a matter of or'ing together all of the greyscale ft2font buffers (which aren't currently exposed to Python) and converting them to an RGB buffer and Alpha buffer. Not that difficult, but it would require some additional C routines in ft2font.cpp.

(And long term, as cool as matplotlib is, it would be nice to refactor this out as a separate library for apps that don't do any plotting...)

Cheers,
Mike

Paul Kienzle wrote:

Hi,

It would be great to be able to display math markup in other parts of my
application, such as labels, tables, lists and menus. Has anyone ever
tried doing this for wx or gtk?

Thanks in advance,

  - Paul

-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
matplotlib-devel List Signup and Options

-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
matplotlib-devel List Signup and Options

I should also mention my mathtext_wx.py example reveals a [possible] bug in wxPython-2.8 and/or the underlying Gtk. When you put a bitmap on a menu item, the *height* of the menu item is determined by the *width* of the bitmap.

And placing bitmaps in menu items reportedly doesn't work at all on wxCocoa. -- so maybe it's best to stay away from that altogether.

Cheers,
Mike

Michael Droettboom wrote:

···

There is now preliminary support for getting a mathtext bitmap to transfer to a GUI widget in SVN, along with a toy wxPython example in examples/mathtext_wx.py. I've only tested this on Linux/wxGTK2/wxPython-2.8. I'd appreciate help with testing (and screenshots) on any other platforms you may care about.

Gtk+ and Qt should also be theoretically possible. Tk will be more difficult, because a) it doesn't support an alpha channel (which would mainly be a quality problem), and b) you have to use the _tkagg C++ bridge to get the image data into a widget.

Be aware that the API for this may change due to my planned mathtext/backend communication refactoring. If you do plan on relying on this functionality, I recommend wrapping it in a function (like mathtext_to_wxbitmap in the example) so any future changes will be localized.

Cheers,
Mike

Michael Droettboom wrote:

Cool idea. I don't know if anyone has tried this. I assume you'd want to get something that you could pass to wx.ImageFromBuffer() (and the equivalent in Gtk). It would just be a matter of or'ing together all of the greyscale ft2font buffers (which aren't currently exposed to Python) and converting them to an RGB buffer and Alpha buffer. Not that difficult, but it would require some additional C routines in ft2font.cpp.

(And long term, as cool as matplotlib is, it would be nice to refactor this out as a separate library for apps that don't do any plotting...)

Cheers,
Mike

Paul Kienzle wrote:

Hi,

It would be great to be able to display math markup in other parts of my
application, such as labels, tables, lists and menus. Has anyone ever
tried doing this for wx or gtk?

Thanks in advance,

    - Paul

-------------------------------------------------------------------------

This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
matplotlib-devel List Signup and Options

-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
matplotlib-devel List Signup and Options