OpenInventor中文字符的显示和解决方法
2011-06-10 08:51
447 查看
很多人问我如何显示汉字,总是一个一个地说,很麻烦,特此写在这里——
原因:OpenInventor支持Freetype字体,但汉字采用Unicode编码,故而无法直接正确显示
解决:使用Freetype字体,或者,将Unicode编码转换为Freetype可以识别的字体(使用内置的Freetype引擎)
本文采用第二种方法。
效果两个:
1 楷体
2 微软雅黑 字体
关键代码:
工程编辑的时候可能会出现错误:
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
原因: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
相关文章推荐
- deepin 安装idea(社区版),NetBeans 等开发软件无法正常显示中文字符的解决方法
- SQLServer乱码问题的分析及解决方法(中文字符被存入数据库后,显示为乱码)
- SQLServer乱码问题的分析及解决方法(中文字符被存入数据库后,显示为乱码)
- php 中文字符入库或显示乱码问题的解决方法
- mysql插入表中的中文字符显示为乱码或问号的解决方法
- mysql插入表中的中文字符显示为乱码或问号的解决方法
- php 中文字符入库或显示乱码问题的解决方法
- mysql插入表中的中文字符显示为乱码或问号的解决方法
- Fedora 18 vim编辑器中文字符显示乱码问题的解决方法
- SSH、VIM显示中文乱码解决方法
- 中文显示为方块解决方法
- 读取txt的中文字符出现乱码的解决方法
- DTK串口重定向(SOL)时中文显示问题解决方法
- P_004.Eclipse+pydev解决中文显示和注释问题的方法大全
- 【MySql】MySql数据库中插入中文字符,显示乱码解决办法
- Linux显示中文乱码解决方法
- JSP字符中文乱码问题解决方法汇总
- Zabbix显示中文或图片为乱码--解决方法
- Android Studio程序在真机上运行中文显示乱码的解决方法
- Python 3下Matplotlib画图中文显示乱码的解决方法