解决在 Ubuntu 下 OpenDX Data Explorer 的字体问题

OpenDX Logo
OpenDX Logo

缘起

最近一直在学习使用李若老师的 AFEPack 软件包,其中这个包输出的图形格式一般为 OpenDX,但据网上的一些评论,它基本上处于类似渡渡鸟的境地了。但自己能力有限,还不能更改它输出为 Vtk 等现在主流的图像格式,所以还是先用着吧。

现在读取 OpenDX 格式的软件好像就只有 OpenDX Data Explorer 了。自从 IBM 开源了 OpenDX 后,就没有多少官方的支持,现在它的开发主要由一个名为 Visualization and Imagery Solutions, Inc. 的公司负责。在 Ubuntu 中,可以直接通过软件源安装编译好的 dx 软件。

安装后,可以在终端中使用 dx 命令来启动 OpenDX Data Explorer。但终端始终会出现类似如下的警告:

Cannot convert string "-*-helvetica-bold-r-*-*-16-*" to type FontStruct

于是乎,便利用网络来搜索答案。下面是解决办法。

解决方法

搜索的过程就不说了,反正还是 Google 强。

最开始说的是先确认下有没有安装这些字体。一般是先建议你安装两个字体包,使用的命令是:

sudo apt-get install xfonts-75dpi xfonts-100dpi

它们默认是安装在 /usr/share/fonts/X11/ 目录中。

然后可以使用下面的命令来查看是否安装了上面警告中的字体:

xlsfonts -fn "-*-helvetica-bold-r-*-*-10-*-*-*-*-*-*-*"

其中的 * 都是一些匹配。可以类似地修改匹配格式。

但是安装完后还是没有解决问题。于是又搜。

最后在这个网页里面找到了解决办法。

原来,在安装完这些字体后,我们还需要一些设置,具体的命令是:

xset +fp /usr/share/fonts/X11/75dpi/
xset +fp /usr/share/fonts/X11/100dpi/

至于上面的命令具体执行了什么步骤,可以 man xset 。随后问题便解决了。遇到类似的问题(例如某个软件中文乱码,呈现出方框),似乎都可以这样解决。

后话

最后说说我对 OpenDX 的看法吧。

刚开始入门的时候,总感觉资料很少,这个软件不太好使用。相比于 ViSit 或 ParaView 等软件,dx 太难用了,什么都要自己定义,而且找到的资料也不是很多;所以对它的印象不好。

现在由于导师分配的任务,我需要使用 AFEPack 来求解方程,最后需要用 dx 来展示结果。通过这几天的摸索,感觉了它的强大。现在基本明白了为什么李若老师喜欢这种数据格式和这个软件的原因了。说到底,还是需要折腾。

至于学习资料。安装好 dx 后,一般可以在 /usr/share/dx/samples 找到示例代码;文档说明的话,可以看 /usr/share/dx/html 里面的东西,这些 html 文件里面包含的内容其实很多的。一步一步的看下去还是有很多收获的。

至于 Visualization and Imagery Solutions, Inc. 公司出的那本名为 OpenDX---Paths to Visualization 的书,我觉得自带的 html 文件内容或许更多一些,当然看看还是不错的。

以前我在这个网站找到了很多关于 OpenDX 的资料,现在仍然推荐去看看那里的东西。

TODO: 通过 Ubuntu 仓库安装 dx 软件有一个问题:

在经过一段时间的使用后, dx 会吃掉 100% 的 CPU。根据我的搜索,现在还没有找到解决办法,自编译的 dx 就好像没有这个问题。后面再搜索一下吧。