查看: 508|回复: 4

osgEarth earthfile 加载汉字lable问题

[复制链接]

该用户从未签到

发表于 2019-3-13 21:28:31 | 显示全部楼层 |阅读模式
本帖最后由 pcsms_YV05bkic 于 2019-3-13 21:30 编辑

osgEarth 代码显示汉字问题可以设置Encoing 为UTF-8解决,但是earth file Style样式文件中text-encoing:utf-8不起作用,为何,如何解决?

该用户从未签到

发表于 2019-3-13 21:52:11 | 显示全部楼层
//中文字体设置
osg::ref_ptr<osgText::Font> font = osgText::readFontFile("Fonts/msyh.ttc");

//2. 设置标题
LabelControl* title = new LabelControl("ViewPoint", 14, osg::Vec4f(1, 1, 0, 1));
title->setEncoding(osgText::String::ENCODING_UTF8);
title->setFont(font.get());
title->setText(unicodeToUTF8(L"信息"));

3. 转换函数
string unicodeToUTF8(const wstring &src)
{
        string result = "";
        int n = WideCharToMultiByte(CP_UTF8, 0, src.c_str(), -1, 0, 0, 0, 0);
        result.resize(n);
        ::WideCharToMultiByte(CP_UTF8, 0, src.c_str(), -1, (char*)result.c_str(), (int)result.length(), 0, 0);
        return result;
}

4. 哦啦.

该用户从未签到

 楼主| 发表于 2019-3-13 21:57:58 | 显示全部楼层
本帖最后由 pcsms_YV05bkic 于 2019-3-13 22:04 编辑
yxuef 发表于 2019-3-13 21:52
//中文字体设置
osg::ref_ptr font = osgText::readFontFile("Fonts/msyh.ttc");


你好,这是代码加载,我的意思earthfile中遇到加载中文字体shapefile如何解决!

<style type="text/css">              
                cities {
                    icon:           "../data/downarrow.png";
                    icon-placement: centroid;
                    icon-declutter: true;
                    icon-align:     center-bottom;
                    text-content:   [name];
                    text-encoding:  utf-8;
                    text-font:      "Fonts/msyh.ttc"

                    text-priority:  [rank_max];
                    text-align:     center-bottom;
                    text-halo:      #1f1f1f;
                    text-size:      6+2*[rank_max];
                }     
            </style>

不起作用!

该用户从未签到

 楼主| 发表于 2019-3-14 17:09:05 | 显示全部楼层
本帖最后由 pcsms_YV05bkic 于 2019-3-14 17:10 编辑

通过修改并编译源代码解决了,也许不是最好的解决办法,谢谢!

该用户从未签到

发表于 2019-9-8 01:21:11 | 显示全部楼层
pcsms_YV05bkic 发表于 2019-3-14 17:09
通过修改并编译源代码解决了,也许不是最好的解决办法,谢谢!

请问怎么解决的?能把编译好的分享吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

OSG中国官方论坛-有您OSG在中国才更好

网站简介:osgChina是国内首个三维相关技术开源社区,旨在为国内更多的技术开发人员提供最前沿的技术资讯,为更多的三维从业者提供一个学习、交流的技术平台。

联系我们

  • 工作时间:09:00--18:00
  • 反馈邮箱:1315785073@qq.com
快速回复 返回顶部 返回列表