From 9bccac2ec3fabbafd3151e19fb98e16830948d65 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20W=C3=BCrtz?= Date: Fri, 21 Feb 2014 15:36:38 +0100 Subject: [PATCH] (fix #2097) PGF: get fonts from fc-list, use builtin fonts for tests --- lib/matplotlib/backends/backend_pgf.py | 24 ++++++++++++------ .../test_backend_pgf/pgf_bbox_inches.pdf | Bin 15514 -> 5391 bytes .../test_backend_pgf/pgf_mixedmode.pdf | Bin 24408 -> 14373 bytes lib/matplotlib/tests/test_backend_pgf.py | 12 +++++++++ 4 files changed, 28 insertions(+), 8 deletions(-) diff --git a/lib/matplotlib/backends/backend_pgf.py b/lib/matplotlib/backends/backend_pgf.py index 4c634938706a..87fd7adceac7 100644 --- a/lib/matplotlib/backends/backend_pgf.py +++ b/lib/matplotlib/backends/backend_pgf.py @@ -22,8 +22,6 @@ from matplotlib.text import Text from matplotlib.path import Path from matplotlib import _png, rcParams -from matplotlib import font_manager -from matplotlib.ft2font import FT2Font from matplotlib.cbook import is_string_like, is_writable_file_like from matplotlib.compat import subprocess from matplotlib.compat.subprocess import check_output @@ -33,14 +31,24 @@ # create a list of system fonts, all of these should work with xe/lua-latex system_fonts = [] -for f in font_manager.findSystemFonts(): +if sys.platform.startswith('win'): + from matplotlib import font_manager + from matplotlib.ft2font import FT2Font + for f in font_manager.win32InstalledFonts(): + try: + system_fonts.append(FT2Font(str(f)).family_name) + except: + pass # unknown error, skip this font +else: + # assuming fontconfig is installed and the command 'fc-list' exists try: - system_fonts.append(FT2Font(f).family_name) - except RuntimeError: - pass # some fonts on osx are known to fail, print? + # list scalable (non-bitmap) fonts + fc_list = check_output(['fc-list', ':outline,scalable', 'family']) + fc_list = fc_list.decode('utf8') + system_fonts = [f.split(',')[0] for f in fc_list.splitlines()] + system_fonts = list(set(system_fonts)) except: - pass # unknown error, skip this font - + warnings.warn('error getting fonts from fc-list', UserWarning) def get_texcommand(): """Get chosen TeX system from rc.""" diff --git a/lib/matplotlib/tests/baseline_images/test_backend_pgf/pgf_bbox_inches.pdf b/lib/matplotlib/tests/baseline_images/test_backend_pgf/pgf_bbox_inches.pdf index dcc0f56c998be68f113503c582b3015def751878..dcd7455e718b9d30796e1387a9068fe9a249f866 100644 GIT binary patch literal 5391 zcmb7IWl&t%)Vp^EN~;mFYo9Qjh{YxQ6Q27^ggbOeB_96q2WWcV=tEh* zOn_|fM)xbivsbs*B-c#WCWLqUiN<^1;W?bBH;QuV-7+4_38#L}xz0%!Sb34Z0pYt-e5aTrJc73Et*8Fe$5_g=g?%S@FF6<7gH&wrm;gCF)kA zzXZRl!Gn(KydYzkhFtbb0$F_ARVB6k&~8s_1s#e`|Hn05r<02kGUkIiZl#C~DL?`2 zH2a)#II(A~;| zVM#F02N}r(k`#V2piykrjvCXKR8Q-9*pc8T7#Z(N3EHTyJk$(Uw-sQXziU3|WfV1R zX&j4PBK5z2oH%D3r5xBUl7V{vxM*Ic$c0zlR~>KRv|G6&QgGuCCQ{xyx9&uuc5q7b zj&#kW;vpj@47ebm_S$Y89D4sQ#EG-(QhWR|>l3YQp)IO#>)2xbpF zXN}ZHlcLGl8eu8+bWzf)I<*c@&X?Vek$G}xf<+4ivO1e85e(wX)wOalv!kTou8~zk ziSmdXNlQ-uBo}Dgk2c9QHsQIRaZ_3K&yP(FATu z_eftIr7}($l`^(Esf4<;e%jdLwYSu2@iY)7-a0`p>G6m4NfPQ(Y+WyyRo}NqJ_qoo zDQvKo#^@?SggjsOzhg>yGwkmFhx&0Ne&J|DVHBld7>Yt9Z4zo>b-UKokTPEMeX-}e zI(HtMF;;VI!<=Oi4#=^LjV~bncpZJkC3^Vr1ur65QzHia>d*gO)S_d{KUaQwwRfsv- zJ<}&_8S%xh#4a%^nWnGgP9oUBn&1^>5JqVUG^9xZV*MH+q^D{1mwo)!j+TRN2d}-T zRM28tSU~!y$A+1@%$wll6A5#q_=F zfeU=fukquJrLq))9mO)gkA6GC*LAK)ev4ERhvD6GBXc7~VeFFulS(QjMEcdd3G|+7 zjgj%x`(MDW_msg%yuav^$f>s`Bjexjp@%)*p?S^m#jm=BowcrXG6tdw>$0bAoS3(v zH5Jmic#P9epT#Q%CrYh5@%62h)eq``$o0CL0}%{c-7cw}V=T!8?C||&8VH=XMydd+ zELL9*%@QSn6zGb~$&i&O2&+lw!SmoN9`&z&ZCx*PvHSA>kr5h-GsptwQjEaiX12RU215;_BsFx zquKzdb6TgYI$+6n>7LIDl`(wd1|=xK6gH$oOA$;*-_o@dHte0#V{&0Unih*rjHQSd zN8eJl-2QBa%s_@caI)14tQ<^=TjN~w==ntqVQ1DW%fh`T9&IMwck-TR^WK!=`!zs> zt?7T<{J#2g1%P?~yIsH|$o<f$D9y<$I2k%0I6CecRZFyfz&U^`x-*Vdr` zlm3Z#gNvFPN(5wahMK%(sU?IrHO|c9H}d)fDPq(`f8-g+F+>PaYVy0Q$`n>SYpi2{ zoh(BFoQ)n@HAor%lqISSXxHG~(+eBGcGx102}EQ>n!X=QZzZc-j(GdpOq}rLmiv(K z)ywQO7S-Y^|KU{ZtBU>TE+*!>wsG2-28`nN+NhLGj1Q02Wm|RJ>GESD(hbi%DHP1L zBvMArC_Bn3*;mubNVdp&=o#bQl4#gWc8FT2xH^)FoE&(XM7}mlXTSU@oF}~4PJTRT z;A$<c^VpcDO-3i?!)wg$od4rG1rs&4C;`jamc7eaZuI^~;;QAH;l9ZQ{LE1XN z?rUzzf6Y650zALn210Gvnnav5OTHm&Pph7u!DigNM0)hbXu^Ntjhvz)RlOc~%Er0& zgQ+NqnOSHXP8Q?$375k)rq7bBS+M8s#L>67es{hJ9EI4rMIxowHhy3fQeNGG#*r>lEX{j92GQ}f^L zpv6HC6RqY2A!M#tkFvh^@{QrCNR18rIIa)o*Qv5iV6V>%%gJK1c#F;jS0++eUF_!P zI?W_P6hGqC;UQH;H?grhHga>A7XI`qI_&AyPIt~@Ze}JEOyS1_SY2Zdw=qXs9NI%3 z($4nw?SoP`b=S6^7fvsW6ynnczortTiey}aCk}e%h4w#&uC9qbIe5j=)|AZnb!UMc zbqbm^&w2I_WD)ucS^g~r|4s^PLmz)EG^_}8^uLef;r`3W|DAte9=_jA76C&lscVw9 zM>mib)JB?{PZk}_Q~tP?H4=&p!CB45S-NZ`|7nyfh$#^P*7Z1q{rQ08ut!?WuHE?>F;cmY#-0nUEVtIwZn&?9x zqKTTMm^4Lj39L~yL*E}oeinLaZ7(|Dac);Hq?6&#S0{%V`$X!QL;&z7yda@cEn|$e zNJ9bhJ^Y$io*x@6cRR3p@rpQVbRZGg2jV;Wgx&Ci(y#E`69A} zyfS96p;|e49-dmPBIm-J$zHa$*I@ieNl8wtg>g6DFpYL2C0s!$TGcq%tO&5NX;ewO zVMi-$6^tvy!eJUdNWi{UKJvLT*w%L)V6iIfoLa3)2vyx3 zMy{LB%#0>QFPNLs>|5S->VFmikoR`DbHis-;4i}7>t z&Wc9WAa6Hi?KtnzFWwWbD%{t?w6C?2zwZ+r-$63I{46lTjhUPiRcT5q^8&9UKcd25e!I?u zb#9a>J;NzlI*Ar4*oVm2pl^xA4fBiB(+e`$n|GzoAtJMy)%A&6b$sO2BIK0K5I)Lj zV|$(RL73A}@)Ucjo42BW_BLLF=h(sgux65`PLhFk0GZawriu~|m^EN4hSlYd>k~wv zR!Dq(&c%w1qu?)O)z2In{yGQSzCzT>4UUzyC!A`}PDbElPT~f3hb;aWjN|%k>tn-k z3XY?b9Q%ayiilm10v1_xFjrs796YetTX;sZ;C~r@GgH zkvI{{*$O3zg~VoL8&9m`-QnjEPbff&M0xZ!*3HI_#q(_BVyAuEmMN0M?FBz5lDVWY zEb5!X12<6uIm4=!=#Qv3#1|#LigX;um%lP~QpN_I474RlUHMhF)opBwt&1n& z7iy0@MScy{40Ml`m#_Fm%D+g?#KY+vozJNhr*U;MFJ3`oNkE#D926Jh zefX3{gJmuuH@~6wkjFoPeTzWn*k)C*) z0``+{P%?v}yCM&m8oD!6Gv8>FcdTV}*@XCT~nXYxD%lt0kC2<*CN-n9Hi+Q8j4()jcr{1!6(-(uW@!x75 zPSx6)RXwce8|x0>-;$0U8%RzBFb2anf~UiLQWkuh8z#jVU+7t`@QueXi}2k*9h^<# zTe~?2BOzZz`O^G5Jt3U8FCdUX&cQUwm0;fNp|M-sZ4rFMfACG7zxd|ASTWD<_GoR0 z=8uVo2gJw2!XrQIm6 zSYr9fP*$oiuemcN07!l=kkZi*A7n9V z-eQHu6}@lCdU7>Y=G~}<_%&p|t`w=X5!j4dStwRv!VYZFP1JgM3_>s{D#js#sq{}H z{JwtD%~#OW-8+tTBSTqu03G;I0a zGeVzBg6RlrF1(}(Tf4Lz*1`6kXm(>a;(Ouu^1kT4z+UQ|O{TB8MH5uCRCRj|H^FB1 z)XcG#bksAO*_PgY!sA2VUKZ>IjKyzonM=DG=)$Ezuw`fu)k7Ek4n5?{SKo>Yz`gk% zFfymC~& z(a^O#u}gy^xixtz!Jvny!fNS-%E<`DnlTYr3!LLJS8Gi^h-Umt#mZtf`dLh`Qg+Xt zrLeKrAy}?RYtx6;aYXG~IQbE$Qt-8x&+5~8?hoYh*R6q$`YYPRCFa$f?aZSSVGSJd z65&^*DS@Gst6adBp9Pr1m8n30T4sL)#iOOo&Gdp|_v}82jPd#Et3UfZ~?f(Z4VRZZ2^kLNl@M%%Z< zJOoO4@lWDMNSHF5m{=g`noF*;m_r^-r#Z*DRxF*x+ubpm?DbwhU^w6D`nzIy{`y7u z|BBIqBFumwC=%&F|EHRuK#;tx8It}_(cahUmTm}oo_i^2>VWTiJbM2sB_Z%{N@D7( z!S~@Nl2j8FBNifJgMu;LM{6Ih)?h+H90$i6P0=a<6wKf-de%6tZUzBkY?$FiD^^e5 zu*22BK$T`b9F(W0&)YvfeDc7nzX@CD@29bMFhV)FpzaUA4;J79GBHW3$N>KjBS+-r literal 15514 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 delta 14602 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 O{P*dRTueb6_WuAzNLFD0 diff --git a/lib/matplotlib/tests/test_backend_pgf.py b/lib/matplotlib/tests/test_backend_pgf.py index 2703c4ca5809..2fbbea02d036 100644 --- a/lib/matplotlib/tests/test_backend_pgf.py +++ b/lib/matplotlib/tests/test_backend_pgf.py @@ -148,6 +148,10 @@ def test_pathclip(): if not check_for('xelatex'): raise SkipTest('xelatex + pgf is required') + rc_xelatex = {'font.family': 'serif', + 'pgf.rcfonts': False} + mpl.rcParams.update(rc_xelatex) + plt.figure() plt.plot([0., 1e100], [0., 1e100]) plt.xlim(0, 1) @@ -162,6 +166,10 @@ def test_mixedmode(): if not check_for('xelatex'): raise SkipTest('xelatex + pgf is required') + rc_xelatex = {'font.family': 'serif', + 'pgf.rcfonts': False} + mpl.rcParams.update(rc_xelatex) + Y, X = np.ogrid[-1:1:40j, -1:1:40j] plt.figure() plt.pcolor(X**2 + Y**2).set_rasterized(True) @@ -174,6 +182,10 @@ def test_bbox_inches(): if not check_for('xelatex'): raise SkipTest('xelatex + pgf is required') + rc_xelatex = {'font.family': 'serif', + 'pgf.rcfonts': False} + mpl.rcParams.update(rc_xelatex) + Y, X = np.ogrid[-1:1:40j, -1:1:40j] fig = plt.figure() ax1 = fig.add_subplot(121)