That is correct.  Matplotlib doesn't have font substitution support -- it only ever uses a single font for each text object.  You will need to use separate text objects to do this kind of multi-lingual text, unless you can find a single font with all of the glyphs.


On 11/24/2010 10:19 PM, honglei junan wrote:

i get matplotlib from Sourceforge ,it's matplotlib-1.0.0.win32-py2.6.exe

here is the code:

# -*- coding: utf-8 -*-
import matplotlib.pyplot as plt
a = plt.text(0.05, 0.05, u"Default Font缺省字体조선어にほんごภาษาไทย")#multi language ,some cann't display
plt.text(0.05, 0.45, u"Microsoft YaHei微软雅黑", fontproperties='Microsoft YaHei')#Chinese OK
plt.text(0.05, 0.25, u"LilyUPCภาษาไทย", fontproperties='LilyUPC')#Tai OK
plt.xlabel(u"xlabelにほん ご",fontproperties='STXihei')#Japanese ,OK
plt.ylabel(u"ylabel조선 어",fontproperties='Malgun Gothic')#Korea,OK

C:\Python26\Lib\site-packages\matplotlib\mpl-data\matplotlibrc: : sans-serif
font.sans-serif : Microsoft YaHei,Malgun Gothic,LilyUPC,FangSong,YouYuan,SimHei,STKaiti,STSong,SimSun-ExtB,Webdings,Bitstream Vera Sans, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif

it seems if a default font doesn't have all char's in the "Default Font缺省字体조선어にほんごภาษาไทย" string,it won't display correctly.
------------------------------------------------------------------------------ Increase Visibility of Your 3D Game App & Earn a Chance To Win $500! Tap into the largest installed PC base & get more eyes on your game by optimizing for Intel(R) Graphics Technology. Get started today with the Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs.
_______________________________________________ Matplotlib-users mailing list