osgText.Font是OpenSceneGraph中用于渲染文本的字体类。它从字体文件中读取字形信息,并以一种方便的方式对文本进行渲染。
osgText::Font::Font()
默认构造函数。创建一个未初始化的字体对象。
osgText::Font::Font(const std::string& fileName, float pixelSize)
根据指定的字体文件名创建一个字体对象,并指定字体大小(以像素为单位)。字体文件应该是.ttf或.otf等可缩放字体文件格式。
bool osgText::Font::readFontFile(const std::string& fileName)
根据指定的字体文件名读取字形信息。字体文件应该是.ttf或.otf等可缩放字体文件格式。
bool osgText::Font::readFontStream(std::istream& fin)
从指定的输入流中读取字形信息。字形信息应该采用FreeType的字形数据格式。
osgText::Glyph* osgText::Font::getGlyph(unsigned int charcode)
获取指定字符的字形信息。如果字形信息不存在,则返回NULL。
void osgText::Font::setMinimumGlyphCacheSize(unsigned int value)
设置缓存区最小大小(以字形个数为单位)。缓存区包含了最常用的字形信息,以提高渲染速度。
void osgText::Font::setMaximumGlyphCacheSize(unsigned int value)
设置缓存区最大大小(以字形个数为单位)。当字形数量超过最大缓存区限制时,最早使用的字形将被删除。
void osgText::Font::setTextureWidth(unsigned int value)
设置文本纹理的宽度。默认值是1024。
void osgText::Font::setTextureHeight(unsigned int value)
设置文本纹理的高度。默认值是1024。
void osgText::Font::setGlyphImageMargin(unsigned int value)
设置字形图像的边距。
void osgText::Font::setGlyphImageUseOutline(bool enable)
是否使用字形图像的轮廓线绘制字体。默认值为true。
osg::Texture2D* osgText::Font::getTexture()
获取用于渲染文本的纹理对象。当字形信息发生变化时,纹理对象会被更新。
osg::Vec2 osgText::Font::getKerning(unsigned int left, unsigned int right)
获取左右两个字符之间的字距信息向量。