Many thanks for the fix as well as for the info!
I didn't know, there are built in fonts like this in matplotlib; this
would explain the issue - the character support of Bitstream Vera Sans
is indeed rather limited;
morover the special "defaulting" status of this font hopefully means,
that this shouldn't happen with other fonts, hence, I won't need to
account for other unknown fonts, as I was worried about initially.
Thanks again and regards
   vbr


2014-01-27 Michael Droettboom <md...@stsci.edu>:
> Thanks for the report.
>
> Indeed, you are correct in that the root of this problem is that "Bitstream
> Vera Sans" does not contain these characters, yet it is being selected
> erroneously.
>
> It does appear that there is a bug in the font selection algorithm, that
> "Bitstream Vera Sans" gets selected as a perfect match even when it is not
> the first font in the requested list.  Vera Sans ships with matplotlib and
> is the "default fallback font", even though it is not installed as a system
> font on your computer.
>
> I have a fix here: https://github.com/matplotlib/matplotlib/pull/2771
>
> In the meantime, the solution you arrived at is the probably the best we can
> do for now.
>
> Mike
>
>
> On 01/27/2014 11:21 AM, Phil Elson wrote:
>
> Thanks for this Vlastimil, looks like there is either a subtlety beyond my
> font knowledge or a bug here - mdboom, did you have any ideas? Otherwise I
> think we need a github issue for this.
>
> Cheers,
>
>
> On 4 January 2014 19:37, Vlastimil Brom <vlastimil.b...@gmail.com> wrote:
>>
>> Hi all,
>> after upgrading to matplotlib 1.3.1, I noticed some display errors on
>> the plots with regard to accented characters (such as carons etc.).
>> As I recall, I had similar problem in the past and could work around
>> them by modifying rcParams, however, this fix doesn't work as expected
>> in 1.3.1. (with python 2.7.6, 32bit on Win 7, Czech - with both WXAgg
>> and TKAgg backends).
>> >From the usual Czech diacritics   áčďéěíňóřšťúůýž some are not
>> displayed  (ďěňřťů) - replacement squares are shown instead.
>>
>> Simply prepending a suitable font at the beginning of the list
>> rcParams['font.sans-serif'] doesn't help in 1.3.1.
>> I eventually found out, that "Bitstream Vera Sans" (which is not
>> installed on this computer) is somehow offending - as long as this
>> item is in the list (even at the end), the mentioned characters aren't
>> displayed.
>>
>> The problem can be observed in the following simple pylab script:
>> ==============
>> #! Python
>> # -*- coding: utf-8 -*-
>>
>> # with implicit fonts "ďěňřťů" are not displayed properly in the plot
>> title
>> from matplotlib import rcParams
>> rcParams['font.family'] = 'sans-serif'
>> if "Bitstream Vera Sans" in rcParams['font.sans-serif']:
>>     rcParams['font.sans-serif'].remove("Bitstream Vera Sans")
>>
>> # after appending the "offending" font even at the end of the list (by
>> uncommenting the following line), ďěňřťů are not displayed again
>> # rcParams['font.sans-serif'].append("Bitstream Vera Sans")
>>
>> import pylab
>> pylab.title(u"abcd áčďéěíňóřšťúůýž äöüß ê xyz")
>> pylab.show()
>> ==============
>>
>> Is there something special in the resolution of the font items in
>> rcParams?
>> This individual issue seems to be fixed with removing the single font,
>> but I'd like to understand this more generally, as the installed fonts
>> on different computers differ.
>>
>> Thanks in advance
>>               Vlastimil Brom
>>
>>
>> ------------------------------------------------------------------------------
>> Rapidly troubleshoot problems before they affect your business. Most IT
>> organizations don't have a clear picture of how application performance
>> affects their revenue. With AppDynamics, you get 100% visibility into your
>> Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics
>> Pro!
>>
>> http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk
>> _______________________________________________
>> Matplotlib-users mailing list
>> Matplotlib-users@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>
>
>
>
> ------------------------------------------------------------------------------
> CenturyLink Cloud: The Leader in Enterprise Cloud Services.
> Learn Why More Businesses Are Choosing CenturyLink Cloud For
> Critical Workloads, Development Environments & Everything In Between.
> Get a Quote or Start a Free Trial Today.
> http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk
>
>
>
> _______________________________________________
> Matplotlib-users mailing list
> Matplotlib-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>
>
>
> --
>                    _
> |\/|o _|_  _. _ | | \.__  __|__|_|_  _  _ ._ _
> |  ||(_| |(_|(/_| |_/|(_)(/_|_ |_|_)(_)(_)| | |
>
> http://www.droettboom.com
>
>
> ------------------------------------------------------------------------------
> CenturyLink Cloud: The Leader in Enterprise Cloud Services.
> Learn Why More Businesses Are Choosing CenturyLink Cloud For
> Critical Workloads, Development Environments & Everything In Between.
> Get a Quote or Start a Free Trial Today.
> http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk
> _______________________________________________
> Matplotlib-users mailing list
> Matplotlib-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>

------------------------------------------------------------------------------
CenturyLink Cloud: The Leader in Enterprise Cloud Services.
Learn Why More Businesses Are Choosing CenturyLink Cloud For
Critical Workloads, Development Environments & Everything In Between.
Get a Quote or Start a Free Trial Today. 
http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Reply via email to