Sébastien Barthélemy wrote: > Hello, > > I'm using the matplotlib Sphinx extension which automatically includes > the source > code and the figures it produces into the Sphinx document. This is a > very handy > feature whose use goes far beyond documenting matplotlib itself. > (thanks for that by the way) > > However I have trouble when the python file passed to the plot > directive contains > non-ascii characters. I set up a simple example located there : > http://github.com/sbarthelemy/SphinxEncoding > > running "make html" on it raises: > Exception occurred: > File "/usr/lib/pymodules/python2.6/sphinx/highlighting.py", line > 167, in highlight_block > source = source.decode() > UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position > 37: ordinal not in range(128) > The full traceback has been saved in /tmp/sphinx-err-5kW6ih.log, if > you want to report the issue to the author. > > So, I've got a few questions: > > - is this expected ? > - is there a workaround ? > - if not, how hard would it be to fix this problem, maybe I could help > a bit (with proper guidance). > > Thank you for any help ! > > PS: I use sphinx 0.6.2-1 and matplotlib 0.99.0-1ubuntu1, both shipped > from ubuntu karmic This is a bug -- but it has a fairly straightforward fix: to use Sphinx's "include" directive rather than roll our own as we currently do. This has been fixed in SVN r7972. plot-directive now takes an "encoding" option, exactly like the Sphinx include directive. It does not do automatic encoding detection (meaning it ignores the "# coding: latin1" comments), just as the Sphinx include directive does.
I'm not sure if there's a workaround "outside" of matplotlib, other than to ensure the source files are encoding in pure ascii (by using unicode escapes in literals instead of the real characters). But that's not a great workaround. Mike -- Michael Droettboom Science Software Branch Operations and Engineering Division Space Telescope Science Institute Operated by AURA for NASA ------------------------------------------------------------------------------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users