第二人生的源码分析(五十八)使用FreeType字体

对于第二人生来说是跨平台运行的,那么显示文字就成为一个问题了。特别在3D环境里显示文字,更加是比较困难的问题。因为在图形界面里显示的字体,都是图片,并且每个字是一个图片,可以随着不同的字体大小而改变的。第二人生里是使用FreeType来实现文字显示的,而不是基于WINDOWS平台的显示字体技术。下面就来看看FreeType的字体管理器类,如下:
#001 class LLFontManager
#002 {
#003 public:
#004       static void initClass();
#005       static void cleanupClass();
#006      
#007 public:
#008       LLFontManager();
#009       virtual ~LLFontManager();
#010 };
#011 
 
在类的初始化函数里创建字体管理器。
#012 //static
#013 void LLFontManager::initClass()
#014 {
#015       gFontManagerp = new LLFontManager;
#016 }
#017 
 
在清除函数删除分配的资源。
#018 //static
#019 void LLFontManager::cleanupClass()
#020 {
#021       delete gFontManagerp;
#022       gFontManagerp = NULL;
#023 }
#024 
 
在构造函数初始化FreeType。
#025 LLFontManager::LLFontManager()
#026 {
#027       int error;
#028       error = FT_Init_FreeType(&gFTLibrary);
#029       if (error)
#030       {
#031              // Clean up freetype libs.
#032              llerrs << "Freetype initialization failure!" << llendl;
#033              FT_Done_FreeType(gFTLibrary);
#034       }
#035 }
#036 
#037 
 
在析构函数里删除FreeType。
#038 LLFontManager::~LLFontManager()
#039 {
#040       FT_Done_FreeType(gFTLibrary);
#041 }
 
FreeType支持很多字体显示,支持TrueType类型的字体,比如Windows里的字体文件。
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

caimouse

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值