首页 > 解决方案 > OpenSceneGraph:如何检查 ogsText::Font 是否支持提供的字符?

问题描述

我正在尝试检查字体是否包含给定字符的字形。为此,我加载了字体readFontFile()并获得了字符的字形。然后,我想检查字形纹理是否可用。我尝试了下一个代码

osg::ref_ptr<osgText::Font> font = osgText::readFontFile("path_to_fft_font_file");
auto glyph = font->getGlyph(std::make_pair(32.0f, 32.0f), charcode);
auto texture_info = glyph->getTextureInfo(osgText::ShaderTechnique::GREYSCALE);

对于所有字符代码(字体真正支持而不是),texture_infois nullptr.

我也试过检查glyph->getTotalDataSize()。如果字体不支持该字符但该字体包含Unicode 字形(通常看起来像 ▯) ,则它不会给出零值。none

有没有办法检查osgText::Font对象是否包含给定字符的非无字形?

标签: unicodefontsopenscenegraph

解决方案


推荐阅读