unicode - 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_info
is nullptr
.
我也试过检查glyph->getTotalDataSize()
。如果字体不支持该字符但该字体包含Unicode 字形(通常看起来像 ▯) ,则它不会给出零值。none
有没有办法检查osgText::Font
对象是否包含给定字符的非无字形?
解决方案
推荐阅读
- reactjs - React useState 导致性能问题 - 处理菜单交互的正确方法
- vuejs2 - 为单个组件添加活动状态,页面上有 4 个相同组件的副本
- swift - 使用 SKStoreReviewController 请求审核时出错
- java - 具有重试和交付的属性的 kafka 生产者行为.timeout.ms
- scheme - 从与我的 char 方案匹配的列表中过滤单词
- flutter - 如果出现错误,如何用任何小部件替换 Facebook 原生广告小部件,我可以在 Flutter 应用程序中预加载 Facebook 原生广告吗?
- r - 手动提取 OLS 估计器
- javascript - 填充字段文本区域不同的选择
- ios - 示例 HERE 创建一个简单的 HERE SDK 应用程序 使用 Swift 会产生错误
- javascript - 将已编译的 Typescript 文件相互导入时出现“未捕获的语法错误:无法在模块外使用 import 语句”