mathtext and fonts under Windows 8

Hi, All,

I am encountering a thorny problem when trying to run matplotlib under Windows 8. If I label an axis using a command like

ax.set_ylabel(r’time (s)’, name=‘Arial’),

all is well. But if try to add mathtext to that, as in

ax.set_ylabel(r’time ($s$)’, name=‘Arial’),

mathtext.py throws an error (a very long stream) ending in “RuntimeError: Face has no glyph names”. If I remove the “name=‘Arial’” above and let the program default to Bitstream Vera Sans, the mathtext works.

This problem does not occur under Windows 7 or XP; only under two different Windows 8 installations. Any ideas what’s going
on?

Chad

Sounds like it might have something to do with your Latex installation (if any) or the barebones Latex-rendering done by MPL alone. Namely, they simply don’t have the characters for mathematical Arial available.

Not too sure though. Hopefully someone more knowledgeable responds.

-paul

···

On Tue, Jan 8, 2013 at 9:31 PM, CAB <cabraut@…9…> wrote:

Hi, All,

I am encountering a thorny problem when trying to run matplotlib under Windows 8. If I label an axis using a command like

ax.set_ylabel(r’time (s)’, name=‘Arial’),

all is well. But if try to add mathtext to that, as in

ax.set_ylabel(r’time ($s$)’, name=‘Arial’),

mathtext.py throws an error (a very long stream) ending in “RuntimeError: Face has no glyph names”. If I remove the “name=‘Arial’” above and let the program default to Bitstream Vera Sans, the mathtext works.

This problem does not occur under Windows 7 or XP; only under two different Windows 8 installations. Any ideas what’s going
on?

Chad


Master Java SE, Java EE, Eclipse, Spring, Hibernate, JavaScript, jQuery

and much more. Keep your Java skills current with LearnJavaNow -

200+ hours of step-by-step video tutorials by Java experts.

SALE $49.99 this month only – learn more at:

http://p.sf.net/sfu/learnmore_122612


Matplotlib-users mailing list

Matplotlib-users@lists.sourceforge.net

https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Since this is specific to Windows 8, I wonder if the Arial font has been updated in that version. If it's a newer OTF font, rather than a TTF font, it's possible matplotlib can't read it correctly.

You can see what font file is on each platform by starting up a Python prompt and doing:

   >>> from matplotlib import font_manager
   >>> font_manager.findfont("Arial")

It should display the path to the font. From that, you should be able to get the Arial file on each of your platforms and see if they are different. To get more details, you could open them up in the open source "fontforge" tool. Sorry I can't do this myself, as I don't have access to anything past XP.

If the fonts turn out to be different, as a workaround, you could try backing up and then replacing the Arial font on your Windows 8 machine with the one on your Windows 7 machine.

Cheers,
Mike

···

On 01/09/2013 11:59 PM, Paul Hobson wrote:

Sounds like it might have something to do with your Latex installation (if any) or the barebones Latex-rendering done by MPL alone. Namely, they simply don't have the characters for mathematical Arial available.

Not too sure though. Hopefully someone more knowledgeable responds.
-paul

On Tue, Jan 8, 2013 at 9:31 PM, CAB <cabraut@…9… > <mailto:cabraut@…9…>> wrote:

    Hi, All,

    I am encountering a thorny problem when trying to run matplotlib
    under Windows 8. If I label an axis using a command like

    ax.set_ylabel(r'time (s)', name='Arial'),

    all is well. But if try to add mathtext to that, as in

    ax.set_ylabel(r'time ($s$)', name='Arial'),

    mathtext.py throws an error (a very long stream) ending in
    "RuntimeError: Face has no glyph names". If I remove the
    "name='Arial'" above and let the program default to Bitstream Vera
    Sans, the mathtext works.

    This problem does not occur under Windows 7 or XP; only under two
    different Windows 8 installations. Any ideas what's going on?

    Chad

    ------------------------------------------------------------------------------
    Master Java SE, Java EE, Eclipse, Spring, Hibernate, JavaScript,
    jQuery
    and much more. Keep your Java skills current with LearnJavaNow -
    200+ hours of step-by-step video tutorials by Java experts.
    SALE $49.99 this month only -- learn more at:
    http://p.sf.net/sfu/learnmore_122612
    _______________________________________________
    Matplotlib-users mailing list
    Matplotlib-users@lists.sourceforge.net
    <mailto:Matplotlib-users@lists.sourceforge.net>
    https://lists.sourceforge.net/lists/listinfo/matplotlib-users

------------------------------------------------------------------------------
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. ON SALE this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122712

_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

For what it's worth, I checked this out on my Windows 8 machine and
didn't have any problems.

···

On Thu, Jan 10, 2013 at 8:35 AM, Michael Droettboom <mdroe@...86...> wrote:

Since this is specific to Windows 8, I wonder if the Arial font has been
updated in that version. If it's a newer OTF font, rather than a TTF font,
it's possible matplotlib can't read it correctly.

You can see what font file is on each platform by starting up a Python
prompt and doing:

  >>> from matplotlib import font_manager
  >>> font_manager.findfont("Arial")

It should display the path to the font. From that, you should be able to
get the Arial file on each of your platforms and see if they are different.
To get more details, you could open them up in the open source "fontforge"
tool. Sorry I can't do this myself, as I don't have access to anything past
XP.

If the fonts turn out to be different, as a workaround, you could try
backing up and then replacing the Arial font on your Windows 8 machine with
the one on your Windows 7 machine.

Cheers,
Mike

On 01/09/2013 11:59 PM, Paul Hobson wrote:

Sounds like it might have something to do with your Latex installation (if
any) or the barebones Latex-rendering done by MPL alone. Namely, they simply
don't have the characters for mathematical Arial available.

Not too sure though. Hopefully someone more knowledgeable responds.
-paul

On Tue, Jan 8, 2013 at 9:31 PM, CAB <cabraut@...9...> wrote:

Hi, All,

I am encountering a thorny problem when trying to run matplotlib under
Windows 8. If I label an axis using a command like

ax.set_ylabel(r'time (s)', name='Arial'),

all is well. But if try to add mathtext to that, as in

ax.set_ylabel(r'time ($s$)', name='Arial'),

mathtext.py throws an error (a very long stream) ending in "RuntimeError:
Face has no glyph names". If I remove the "name='Arial'" above and let the
program default to Bitstream Vera Sans, the mathtext works.

This problem does not occur under Windows 7 or XP; only under two
different Windows 8 installations. Any ideas what's going on?

Chad

------------------------------------------------------------------------------
Master Java SE, Java EE, Eclipse, Spring, Hibernate, JavaScript, jQuery
and much more. Keep your Java skills current with LearnJavaNow -
200+ hours of step-by-step video tutorials by Java experts.
SALE $49.99 this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122612
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

------------------------------------------------------------------------------
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. ON SALE this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122712

_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

------------------------------------------------------------------------------
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. ON SALE this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122712
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

--
Daniel Hyams
dhyams@...287...

Dear Mike & Paul,

Thanks for your replies. I tried Mike’s protocol, and I found that font_manager found the Arial font (“C:\Windows\fonts\Arial.ttf”) in the right place. I don’t have fontforge yet, so I guess I need to install and check it out.

But the thing that bothers me about this error is that it only occurs if I try to mix mathtext and non-matplotlib font. So matplotlib finds Arial just fine. And it finds the mathtext font fine. Only the mixture is fatal. It’s as if the parser loses track of the Arial font, or it looks for a mathtext glyph in Arial. Very strange that it occurs only in Windows 8.

Regarding Paul’s response, I don’t have LaTeX on the W8 computer, and my impression is that mathtext doesn’t look for “mathematical Arial”, instead there are some packaged fonts that it uses for this purpose, like Computer Modern and STIX.

I’ll try to hunt this down further, and let you know if I find anything.

Best,

Chad

···

From: Michael Droettboom <mdroe@…86…>
To: matplotlib-users@lists.sourceforge.net
Sent: Thursday, January 10, 2013 7:35 AM
Subject: Re: [Matplotlib-users] mathtext and fonts under Windows 8

Since this is specific to Windows 8, I wonder if the Arial font has been updated in that version. If it’s a newer OTF font, rather than a TTF font, it’s possible matplotlib can’t read it correctly.

You can see what font file is on each platform by starting up a Python prompt and doing:

from matplotlib import font_manager
font_manager.findfont(“Arial”)

It should display the path to the font. From that, you should be able to get the Arial file on each of your platforms and see if they are different. To get more details, you could open them up in the open source “fontforge” tool. Sorry I can’t do this myself, as I don’t have access to anything past XP.

If the fonts turn out to be different, as a workaround, you could try backing up and then replacing the Arial font on your Windows 8 machine with the one on
your Windows 7 machine.

Cheers,
Mike

On 01/09/2013 11:59 PM, Paul Hobson wrote:

Sounds like it might have something to do with your Latex installation (if any) or the barebones Latex-rendering done by MPL alone. Namely, they simply don’t have the characters for mathematical Arial available.

Not too sure though. Hopefully someone more knowledgeable responds.

-paul

On Tue, Jan 8, 2013 at 9:31 PM, CAB <cabraut@…120…9…> wrote:

Hi, All,

I am encountering a thorny problem when trying to run matplotlib under Windows 8. If I label an axis using a command like

ax.set_ylabel(r’time (s)’, name=‘Arial’),

all is well. But if try to add mathtext to that, as in

ax.set_ylabel(r’time ($s$)’, name=‘Arial’),

mathtext.py throws an error (a very long stream) ending in “RuntimeError: Face has no glyph names”. If I remove the “name=‘Arial’” above and let the program default to Bitstream Vera Sans, the mathtext works.

This problem does not occur under Windows 7 or XP; only under two different Windows 8 installations. Any ideas what’s going on?

Chad


Master Java SE, Java EE, Eclipse, Spring, Hibernate, JavaScript, jQuery
and much more. Keep your Java skills current with LearnJavaNow -
200+ hours of step-by-step video tutorials by Java experts.
SALE $49.99 this month only – learn more at:
http://p.sf.net/sfu/learnmore_122612


Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

------------------------------------------------------------------------------
Master Visual Studio, SharePoint, SQL, [ASP.NET](http://asp.net/), C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. ON SALE this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122712
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@...2982...e.net
[https://lists.sourceforge.net/lists/listinfo/matplotlib-users](https://lists.sourceforge.net/lists/listinfo/matplotlib-users)

Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. ON SALE this month only – learn more at:
http://p.sf.net/sfu/learnmore_122712


Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

But the thing that bothers me about this error is that it only occurs if I try to mix mathtext and non-matplotlib font. So matplotlib finds Arial just fine. And it finds the mathtext font fine. Only the mixture is fatal. It’s as if the parser loses track of the Arial font, or it looks for a mathtext glyph in Arial. Very strange that it occurs only in Windows 8.

Regarding Paul’s response, I don’t have LaTeX on the W8 computer, and my impression is that mathtext doesn’t look for “mathematical Arial”, instead there are some packaged fonts that it uses for this purpose, like Computer Modern and STIX.

I can confirm this behavior on my Windows 8 box as well. Everything is fine until you try to mix mathtext and Arial (and a bunch of other fonts too, but Arial is the easiest one to test). I also do not have latex on the Windows 8 computer. Identical code works on a Windows 7 machine.

Is the Arial font file different on Windows 8 vs. Windows 7? (Just a difference in file size would be enough to know). If so, it's probably the nature of those differences that we need to look into.

Mike

···

On 01/16/2013 10:04 AM, CAB wrote:

Dear Mike & Paul,
Thanks for your replies. I tried Mike's protocol, and I found that font_manager found the Arial font ("C:\\Windows\\fonts\\Arial.ttf") in the right place. I don't have fontforge yet, so I guess I need to install and check it out.
But the thing that bothers me about this error is that it only occurs if I try to mix mathtext and non-matplotlib font. So matplotlib finds Arial just fine. And it finds the mathtext font fine. Only the mixture is fatal. It's as if the parser loses track of the Arial font, or it looks for a mathtext glyph in Arial. Very strange that it occurs only in Windows 8.
Regarding Paul's response, I don't have LaTeX on the W8 computer, and my impression is that mathtext doesn't look for "mathematical Arial", instead there are some packaged fonts that it uses for this purpose, like Computer Modern and STIX.
I'll try to hunt this down further, and let you know if I find anything.
Best,
Chad

*From:* Michael Droettboom <mdroe@...86...>
*To:* matplotlib-users@lists.sourceforge.net
*Sent:* Thursday, January 10, 2013 7:35 AM
*Subject:* Re: [Matplotlib-users] mathtext and fonts under Windows 8

Since this is specific to Windows 8, I wonder if the Arial font has been updated in that version. If it's a newer OTF font, rather than a TTF font, it's possible matplotlib can't read it correctly.

You can see what font file is on each platform by starting up a Python prompt and doing:

  >>> from matplotlib import font_manager
  >>> font_manager.findfont("Arial")

It should display the path to the font. From that, you should be able to get the Arial file on each of your platforms and see if they are different. To get more details, you could open them up in the open source "fontforge" tool. Sorry I can't do this myself, as I don't have access to anything past XP.

If the fonts turn out to be different, as a workaround, you could try backing up and then replacing the Arial font on your Windows 8 machine with the one on your Windows 7 machine.

Cheers,
Mike

On 01/09/2013 11:59 PM, Paul Hobson wrote:

Sounds like it might have something to do with your Latex installation (if any) or the barebones Latex-rendering done by MPL alone. Namely, they simply don't have the characters for mathematical Arial available.

Not too sure though. Hopefully someone more knowledgeable responds.
-paul

On Tue, Jan 8, 2013 at 9:31 PM, CAB <cabraut@…9… >> <mailto:cabraut@…9…>> wrote:

    Hi, All,

    I am encountering a thorny problem when trying to run matplotlib
    under Windows 8. If I label an axis using a command like

    ax.set_ylabel(r'time (s)', name='Arial'),

    all is well. But if try to add mathtext to that, as in

    ax.set_ylabel(r'time ($s$)', name='Arial'),

    mathtext.py <http://mathtext.py/> throws an error (a very long
    stream) ending in "RuntimeError: Face has no glyph names". If I
    remove the "name='Arial'" above and let the program default to
    Bitstream Vera Sans, the mathtext works.

    This problem does not occur under Windows 7 or XP; only under two
    different Windows 8 installations. Any ideas what's going on?

    Chad

    ------------------------------------------------------------------------------
    Master Java SE, Java EE, Eclipse, Spring, Hibernate, JavaScript,
    jQuery
    and much more. Keep your Java skills current with LearnJavaNow -
    200+ hours of step-by-step video tutorials by Java experts.
    SALE $49.99 this month only -- learn more at:
    http://p.sf.net/sfu/learnmore_122612
    _______________________________________________
    Matplotlib-users mailing list
    Matplotlib-users@lists.sourceforge.net
    <mailto:Matplotlib-users@lists.sourceforge.net>
    https://lists.sourceforge.net/lists/listinfo/matplotlib-users

------------------------------------------------------------------------------
Master Visual Studio, SharePoint, SQL,ASP.NET <http://asp.net/>, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. ON SALE this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122712

_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net <mailto:Matplotlib-users@lists.sourceforge.net>
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

------------------------------------------------------------------------------
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. ON SALE this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122712
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net <mailto:Matplotlib-users@lists.sourceforge.net>
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

------------------------------------------------------------------------------
Master Java SE, Java EE, Eclipse, Spring, Hibernate, JavaScript, jQuery
and much more. Keep your Java skills current with LearnJavaNow -
200+ hours of step-by-step video tutorials by Java experts.
SALE $49.99 this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122612

_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

I can reproduce this. The Windows 8 Arial font is different from the one in Windows 7. It seems other projects encountered and fixed the same issue: <http://code.google.com/p/sumatrapdf/issues/detail?id=2056>

Christoph

···

On 1/17/2013 7:20 AM, Michael Droettboom wrote:

Is the Arial font file different on Windows 8 vs. Windows 7? (Just a
difference in file size would be enough to know). If so, it's probably
the nature of those differences that we need to look into.

Mike

On 01/16/2013 10:04 AM, CAB wrote:

Dear Mike & Paul,
Thanks for your replies. I tried Mike's protocol, and I found that
font_manager found the Arial font ("C:\\Windows\\fonts\\Arial.ttf") in
the right place. I don't have fontforge yet, so I guess I need to
install and check it out.
But the thing that bothers me about this error is that it only occurs
if I try to mix mathtext and non-matplotlib font. So matplotlib finds
Arial just fine. And it finds the mathtext font fine. Only the
mixture is fatal. It's as if the parser loses track of the Arial
font, or it looks for a mathtext glyph in Arial. Very strange that it
occurs only in Windows 8.
Regarding Paul's response, I don't have LaTeX on the W8 computer, and
my impression is that mathtext doesn't look for "mathematical Arial",
instead there are some packaged fonts that it uses for this purpose,
like Computer Modern and STIX.
I'll try to hunt this down further, and let you know if I find anything.
Best,
Chad

*From:* Michael Droettboom <mdroe@...86...>
*To:* matplotlib-users@lists.sourceforge.net
*Sent:* Thursday, January 10, 2013 7:35 AM
*Subject:* Re: [Matplotlib-users] mathtext and fonts under Windows 8

Since this is specific to Windows 8, I wonder if the Arial font has
been updated in that version. If it's a newer OTF font, rather than a
TTF font, it's possible matplotlib can't read it correctly.

You can see what font file is on each platform by starting up a Python
prompt and doing:

  >>> from matplotlib import font_manager
  >>> font_manager.findfont("Arial")

It should display the path to the font. From that, you should be able
to get the Arial file on each of your platforms and see if they are
different. To get more details, you could open them up in the open
source "fontforge" tool. Sorry I can't do this myself, as I don't
have access to anything past XP.

If the fonts turn out to be different, as a workaround, you could try
backing up and then replacing the Arial font on your Windows 8 machine
with the one on your Windows 7 machine.

Cheers,
Mike

On 01/09/2013 11:59 PM, Paul Hobson wrote:

Sounds like it might have something to do with your Latex
installation (if any) or the barebones Latex-rendering done by MPL
alone. Namely, they simply don't have the characters for mathematical
Arial available.

Not too sure though. Hopefully someone more knowledgeable responds.
-paul

On Tue, Jan 8, 2013 at 9:31 PM, CAB <cabraut@…9… >>> <mailto:cabraut@…9…>> wrote:

    Hi, All,

    I am encountering a thorny problem when trying to run matplotlib
    under Windows 8. If I label an axis using a command like

    ax.set_ylabel(r'time (s)', name='Arial'),

    all is well. But if try to add mathtext to that, as in

    ax.set_ylabel(r'time ($s$)', name='Arial'),

    mathtext.py <http://mathtext.py/> throws an error (a very long
    stream) ending in "RuntimeError: Face has no glyph names". If I
    remove the "name='Arial'" above and let the program default to
    Bitstream Vera Sans, the mathtext works.

    This problem does not occur under Windows 7 or XP; only under two
    different Windows 8 installations. Any ideas what's going on?

    Chad

    ------------------------------------------------------------------------------
    Master Java SE, Java EE, Eclipse, Spring, Hibernate, JavaScript,
    jQuery
    and much more. Keep your Java skills current with LearnJavaNow -
    200+ hours of step-by-step video tutorials by Java experts.
    SALE $49.99 this month only -- learn more at:
    http://p.sf.net/sfu/learnmore_122612
    _______________________________________________
    Matplotlib-users mailing list
    Matplotlib-users@lists.sourceforge.net
    <mailto:Matplotlib-users@lists.sourceforge.net>
    https://lists.sourceforge.net/lists/listinfo/matplotlib-users

------------------------------------------------------------------------------
Master Visual Studio, SharePoint, SQL,ASP.NET <http://asp.net/>, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. ON SALE this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122712

_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net <mailto:Matplotlib-users@lists.sourceforge.net>
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

------------------------------------------------------------------------------
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. ON SALE this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122712
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
<mailto:Matplotlib-users@lists.sourceforge.net>
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

------------------------------------------------------------------------------
Master Java SE, Java EE, Eclipse, Spring, Hibernate, JavaScript, jQuery
and much more. Keep your Java skills current with LearnJavaNow -
200+ hours of step-by-step video tutorials by Java experts.
SALE $49.99 this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122612

_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

------------------------------------------------------------------------------
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. ON SALE this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122712

_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Christoph,

The patch you attach looks like it might be helpful to us. I'll investigate further.

Mike

···

On 01/17/2013 12:10 PM, Christoph Gohlke wrote:

I can reproduce this. The Windows 8 Arial font is different from the one
in Windows 7. It seems other projects encountered and fixed the same
issue: <http://code.google.com/p/sumatrapdf/issues/detail?id=2056>

Christoph

On 1/17/2013 7:20 AM, Michael Droettboom wrote:

Is the Arial font file different on Windows 8 vs. Windows 7? (Just a
difference in file size would be enough to know). If so, it's probably
the nature of those differences that we need to look into.

Mike

On 01/16/2013 10:04 AM, CAB wrote:

Dear Mike & Paul,
Thanks for your replies. I tried Mike's protocol, and I found that
font_manager found the Arial font ("C:\\Windows\\fonts\\Arial.ttf") in
the right place. I don't have fontforge yet, so I guess I need to
install and check it out.
But the thing that bothers me about this error is that it only occurs
if I try to mix mathtext and non-matplotlib font. So matplotlib finds
Arial just fine. And it finds the mathtext font fine. Only the
mixture is fatal. It's as if the parser loses track of the Arial
font, or it looks for a mathtext glyph in Arial. Very strange that it
occurs only in Windows 8.
Regarding Paul's response, I don't have LaTeX on the W8 computer, and
my impression is that mathtext doesn't look for "mathematical Arial",
instead there are some packaged fonts that it uses for this purpose,
like Computer Modern and STIX.
I'll try to hunt this down further, and let you know if I find anything.
Best,
Chad

*From:* Michael Droettboom <mdroe@...86...>
*To:* matplotlib-users@lists.sourceforge.net
*Sent:* Thursday, January 10, 2013 7:35 AM
*Subject:* Re: [Matplotlib-users] mathtext and fonts under Windows 8

Since this is specific to Windows 8, I wonder if the Arial font has
been updated in that version. If it's a newer OTF font, rather than a
TTF font, it's possible matplotlib can't read it correctly.

You can see what font file is on each platform by starting up a Python
prompt and doing:

   >>> from matplotlib import font_manager
   >>> font_manager.findfont("Arial")

It should display the path to the font. From that, you should be able
to get the Arial file on each of your platforms and see if they are
different. To get more details, you could open them up in the open
source "fontforge" tool. Sorry I can't do this myself, as I don't
have access to anything past XP.

If the fonts turn out to be different, as a workaround, you could try
backing up and then replacing the Arial font on your Windows 8 machine
with the one on your Windows 7 machine.

Cheers,
Mike

On 01/09/2013 11:59 PM, Paul Hobson wrote:

Sounds like it might have something to do with your Latex
installation (if any) or the barebones Latex-rendering done by MPL
alone. Namely, they simply don't have the characters for mathematical
Arial available.

Not too sure though. Hopefully someone more knowledgeable responds.
-paul

On Tue, Jan 8, 2013 at 9:31 PM, CAB <cabraut@…9… >>>> <mailto:cabraut@…9…>> wrote:

     Hi, All,

     I am encountering a thorny problem when trying to run matplotlib
     under Windows 8. If I label an axis using a command like

     ax.set_ylabel(r'time (s)', name='Arial'),

     all is well. But if try to add mathtext to that, as in

     ax.set_ylabel(r'time ($s$)', name='Arial'),

     mathtext.py <http://mathtext.py/> throws an error (a very long
     stream) ending in "RuntimeError: Face has no glyph names". If I
     remove the "name='Arial'" above and let the program default to
     Bitstream Vera Sans, the mathtext works.

     This problem does not occur under Windows 7 or XP; only under two
     different Windows 8 installations. Any ideas what's going on?

     Chad

     ------------------------------------------------------------------------------
     Master Java SE, Java EE, Eclipse, Spring, Hibernate, JavaScript,
     jQuery
     and much more. Keep your Java skills current with LearnJavaNow -
     200+ hours of step-by-step video tutorials by Java experts.
     SALE $49.99 this month only -- learn more at:
     http://p.sf.net/sfu/learnmore_122612
     _______________________________________________
     Matplotlib-users mailing list
     Matplotlib-users@lists.sourceforge.net
     <mailto:Matplotlib-users@lists.sourceforge.net>
     https://lists.sourceforge.net/lists/listinfo/matplotlib-users

------------------------------------------------------------------------------
Master Visual Studio, SharePoint, SQL,ASP.NET <http://asp.net/>, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. ON SALE this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122712

_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net <mailto:Matplotlib-users@lists.sourceforge.net>
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

------------------------------------------------------------------------------
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. ON SALE this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122712
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
<mailto:Matplotlib-users@lists.sourceforge.net>
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

------------------------------------------------------------------------------
Master Java SE, Java EE, Eclipse, Spring, Hibernate, JavaScript, jQuery
and much more. Keep your Java skills current with LearnJavaNow -
200+ hours of step-by-step video tutorials by Java experts.
SALE $49.99 this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122612

_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

------------------------------------------------------------------------------
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. ON SALE this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122712

_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

------------------------------------------------------------------------------
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. ON SALE this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122712
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Dear Michael and Christoph,

Many thanks for looking into this. I am away from my W8 virtual machine right now, so I couldn’t look into relative file sizes on the fonts. I’d appreciate being informed on any fixes.

Chad

···

From: Michael Droettboom <mdroe@…86…>
To: matplotlib-users@lists.sourceforge.net
Sent: Thursday, January 17, 2013 1:08 PM
Subject: Re: [Matplotlib-users] mathtext and fonts under Windows 8

Christoph,

The patch you attach looks like it might be helpful to us. I’ll
investigate further.

Mike

On 01/17/2013 12:10 PM, Christoph Gohlke wrote:

I can reproduce this. The Windows 8 Arial
font is different from the one
in Windows 7. It seems other projects encountered and fixed the same
issue: http://code.google.com/p/sumatrapdf/issues/detail?id=2056

Christoph

On 1/17/2013 7:20 AM, Michael Droettboom wrote:

Is the Arial font file different on Windows 8 vs. Windows 7? (Just a
difference in file size would be enough to know). If so, it’s probably
the nature of those differences that we need to look into.

Mike

On 01/16/2013 10:04 AM, CAB wrote:

Dear Mike & Paul,
Thanks for your replies. I tried Mike’s protocol, and I found that
font_manager found the Arial font (“C:\Windows\fonts\Arial.ttf”) in
the right place. I don’t have fontforge yet, so I guess I need to
install and check it
out.

But the thing that bothers me about this error is that it only occurs
if I try to mix mathtext and non-matplotlib font. So matplotlib finds
Arial just fine. And it finds the mathtext font fine. Only the
mixture is fatal. It’s as if the parser loses track of the Arial
font, or it looks for a mathtext glyph in Arial. Very strange that it
occurs only in Windows 8.
Regarding Paul’s response, I don’t have LaTeX on the W8 computer, and
my impression is that mathtext doesn’t look for “mathematical Arial”,
instead there are some packaged fonts that it uses for this purpose,
like Computer Modern and STIX.
I’ll try to hunt this down further, and let you know if I find anything.
Best,
Chad

From: Michael Droettboom <mdroe@…86…>

To: matplotlib-users@…1064…t
Sent: Thursday, January 10, 2013 7:35 AM
Subject: Re: [Matplotlib-users] mathtext and fonts under Windows 8

Since this is specific to Windows 8, I wonder if the Arial font has
been updated in that version. If it’s a newer OTF font, rather than a
TTF font, it’s possible matplotlib can’t read it correctly.

You can see what font file is on each platform by starting up a Python
prompt and doing:

from matplotlib import font_manager

font_manager.findfont(“Arial”)

It should display the path to the font. From that, you should be able
to get the Arial file on each of your platforms and see if they are
different. To get more details, you could open them up in the open
source “fontforge” tool. Sorry I can’t do this myself, as I don’t
have access to anything past XP.

If the fonts turn out to be different, as a workaround, you could try
backing up and then replacing the Arial font on your Windows 8 machine
with the one on your Windows 7 machine.

Cheers,
Mike

On 01/09/2013 11:59 PM, Paul Hobson wrote:

Sounds like it might have something to do with your Latex
installation (if
any) or the barebones Latex-rendering done by MPL

alone. Namely, they simply don’t have the characters for mathematical
Arial available.

Not too sure though. Hopefully someone more knowledgeable responds.
-paul

On Tue, Jan 8, 2013 at 9:31 PM, CAB <cabraut@…9… >>>> mailto:cabraut@...9...> wrote:

 Hi, All,

 I am encountering a thorny problem when trying to run matplotlib
 under Windows 8. If I label an axis using a command

like

 ax.set_ylabel(r'time (s)', name='Arial'),

 all is well.  But if  try to add mathtext to that, as in

 ax.set_ylabel(r'time ($s$)', name='Arial'),

 [mathtext.py](http://mathtext.py/) <http://mathtext.py/> throws an error (a very long
 stream) ending in "RuntimeError: Face has no glyph names". If I
 remove the "name='Arial'" above and let the program default to
 Bitstream Vera Sans, the mathtext works.

 This problem does not occur under Windows 7 or XP; only under two

different Windows 8 installations. Any ideas what’s going on?

 Chad

 ------------------------------------------------------------------------------
 Master Java SE, Java EE, Eclipse, Spring, Hibernate, JavaScript,
 jQuery
 and much more. Keep your Java skills current with LearnJavaNow -
 200+ hours of step-by-step video tutorials by Java experts.
 SALE $49.99 this month only -- learn more at:
 [http://p.sf.net/sfu/learnmore_122612](http://p.sf.net/sfu/learnmore_122612)

 Matplotlib-users mailing list
 Matplotlib-users@...813...ourceforge.net
 <mailto:Matplotlib-users@lists.sourceforge.net>
 [https://lists.sourceforge.net/lists/listinfo/matplotlib-users](https://lists.sourceforge.net/lists/listinfo/matplotlib-users)

Master Visual Studio, SharePoint, SQL,ASP.NET
<http://asp.net/>, C# 2012, HTML5, CSS,

MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. ON SALE this month only – learn more at:
http://p.sf.net/sfu/learnmore_122712


Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net mailto:Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. ON SALE this month only – learn more at:
http://p.sf.net/sfu/learnmore_122712


Matplotlib-users mailing list
Matplotlib-users@…504…et
mailto:Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Master Java SE, Java EE, Eclipse, Spring, Hibernate, JavaScript, jQuery
and much more. Keep your Java skills current with LearnJavaNow -
200+ hours of step-by-step video tutorials by Java experts.
SALE $49.99 this month only – learn more
at:

http://p.sf.net/sfu/learnmore_122612


Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by
Microsoft

MVPs and experts. ON SALE this month only – learn more at:
http://p.sf.net/sfu/learnmore_122712


Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step
video tutorials by Microsoft
MVPs and experts. ON SALE this month only – learn more at:
http://p.sf.net/sfu/learnmore_122712


Matplotlib-users mailing list
Matplotlib-users@…642…ts.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. ON SALE this
month only – learn more at:
http://p.sf.net/sfu/learnmore_122712


Matplotlib-users mailing list
Matplotlib-users@…2982…e.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users