Panda3D中文设置

要想在Panda3D中支持中文,需要通过配置文件进行设置,一种方法是使用默认字体,在$PANDA3D_HOME/etc/Config.prc最后添加

text-encoding utf8
text-default-font /c/Windows/Fonts/simsun.ttc

后者是windows系统下的一种默认中文字体,也可将字体放在程序目录中如Fonts目录,将其改为“$MAIN_DIR/../Fonts/simsun.ttc”。

只修改本地的配置文件只能保证本机可以运行,如果想发布版本可以直接运行的话可以通过在入口程序中添加如下代码进行配置:

        loadPrcFileData('', 'text-encoding utf8')
        loadPrcFileData('', 'textures-power-2 none')

这在panda3d官方手册中有描述。

如果害怕发布的版本没有默认字体,可以通过手动载入并给每一个控件设置font的方法进行,载入字体的方法和为控件设置字体的代码如下:

font = loader.loadFont('jianti.TTF')
bk_text = '登录'
textObject = OnscreenText(text = bk_text, pos = (0.95,-0.95), 
                          scale = 0.07,fg=(1,0.5,0.5,1),align=TextNode.ACenter,
                          mayChange=1)
textObject.setFont(font)

另外,一个重要问题是现在Panda3D的DirectEntry控件在切换输入法后无法输入中文,而且切换回输入法也无法继续正常输入。还请有了解的人指导下能够解决这个问题,谢谢~

原文地址:https://www.cnblogs.com/funnydavid/p/2666434.html