Chinese character display with VPtyhon

VPython到底能不能显示中文字符?能显示哪些中文字体?下面的code给出答案。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
from visual import *
label(pos=(0,0,0), text=u'测试')
#print shapes.findSystemFonts()
#pl = shapes.text(text=u'测试')

#凡是ttf字体文件用windows字体查看器查看typeface name不乱码的(显示中文)字体都可以使用
text(text=u'中文',
align='center', depth=-0.3, color=color.green,
font=u'C:\\WINDOWS\\Fonts\\simkai.ttf')
text(text=u'字体',
align='center', depth=-0.3, color=color.yellow,
font=u'C:\\WINDOWS\\Fonts\\msyh.ttf',pos=(0,-1,0),height=0.5)
text(text=u'字体',
align='left', depth=-0.3, color=color.red,
font=u'C:\\WINDOWS\\Fonts\\jianhuangcao.ttf',pos=(0,-1,0))

可见VPython不仅支持中文3D字体生成,而且也支持不同字体。但是我发现并不是所有中文字体都能使用,至少在我的英文版WinXP上是这样。一个技巧是,在windows中双击字体ttf文件用字体查看器查看字体,如果显示的typeface name是正确的中文字符,那么这个字体可以使用,如果是乱码则不能。
最近VPython又加入了extrusion的功能,因此生成的中文字形也可以经过挤出形成其它复杂造型,会有很多不同用途。

Share this:
Facebook Linkedin Twitter Digg Email

Leave a Reply