很多人问我如何显示汉字,总是一个一个地说,很麻烦,特此写在这里——
原因:OpenInventor支持Freetype字体,但汉字采用Unicode编码,故而无法直接正确显示
解决:使用Freetype字体,或者,将Unicode编码转换为Freetype可以识别的字体(使用内置的Freetype引擎)
本文采用第二种方法。
效果两个:
1 楷体
2微软雅黑字体
关键代码:
SoSeparator *textSep = new SoSeparator;
textSep->ref();
SoFont *fontType = new SoFont;
fontType->name = "Times New Roman : Italic";
//fontType->name = "微软雅黑.ttf";
fontType->name = "SIMKAI.TTF";
fontType->size = 30;
textSep->addChild(fontType);
// Chinese text
const wchar_t *str = L"Open Inventor程序设计从入门到精通";
SoText2 *textProp = new SoText2;
textProp->justification = SoText2::CENTER;
textProp->string.setValue(str);
textSep->addChild(textProp);
// Build up
root->addChild(textSep);
工程编辑的时候可能会出现错误:
error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: void __thiscall SoMFString::setValue(unsigned short const *)
这是因为 wchar_t 的问题,解决:
工程属性 C/C++语言 将……视为内置类型yes
http://blog.sina.com.cn/s/blog_3fd731da0100s10z.html
分享到:
相关推荐
Open Inventor Open Inventor7
基于Open Inventor技术的事件和选择
阎锋欣等编写OpenInventor程序设计——从入门到精通的源代码,由于只能上传小于20M的文件,所以我将整个源代码分为2次上传的。分别命名为:OpenInventor_code1.rar OpenInventor_code2.rar 其中OpenInventor_code1....
Open Inventor是目前世界上应用最为广泛的面向对象和交互式的三维图形软件开发包。它是在OpenGL的基础上开发而成的,因而也是一种相对独立的图形系统,并可方便地移植到不同操作系统的硬件平台上。由于Open Inventor...
Open Inventor是目前世界上应用最为广泛的面向对象和交互式的三维图形软件开发包。它是在OpenGL的基础上开发而成的,因而也是一种相对独立的图形系统,并可方便地移植到不同操作系统的硬件平台上。由于Open Inventor...
Open Inventor C++参考手册,英文版的!Open Inventor C++参考手册Open Inventor C++参考手册Open Inventor C++参考手册Open Inventor C++参考手册Open Inventor C++参考手册
open inventor mentor 讲基本概念 open inventor toolmaker open inventor reference manual 实用手册
Open Inventor是目前世界上应用最为广泛的面向对象和交互式的三维图形软件开发包。它是在OpenGL的基础上开发而成的,因而也是一种相对独立的图形系统,并可方便地移植到不同操作系统的硬件平台上。由于Open Inventor...
Open Inventor 7 by Mercury
elf.tga elf.tga elf.tga elf.tga 用于Open Inventor纹理显示
Open Inventor是目前世界上应用最为广泛的面向对象和交互式的三维图形软件开发包。它是在OpenGL的基础上开发而成的,因而也是一种相对独立的图形系统,并可方便地移植到不同操作系统的硬件平台上。由于Open Inventor...
Open Inventor是目前世界上应用最为广泛的面向对象和交互式的三维图形软件开发包。它是在OpenGL的基础上开发而成的,因而也是一种相对独立的图形系统,并可方便地移植到不同操作系统的硬件平台上。由于Open Inventor...
Open Inventor triangle_meshfilled
Open Inventor是目前世界上应用最为广泛的面向对象和交互式的三维图形软件开发包。它是在OpenGL的基础上开发而成的,因而也是一种相对独立的图形系统,并可方便地移植到不同操作系统的硬件平台上。由于Open Inventor...
本程序是利用open inventor的核心组件库coin3d编写平台是vc实现选择功能
OpenInventor Mentor Example Code
Open Inventor aircar Open Inventor aircar
Open Inventor OIV7.2补丁更新中文说明