本文整理汇总了C++中FTFont::CharMapList方法的典型用法代码示例。如果您正苦于以下问题:C++ FTFont::CharMapList方法的具体用法?C++ FTFont::CharMapList怎么用?C++ FTFont::CharMapList使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类FTFont
的用法示例。
在下文中一共展示了FTFont::CharMapList方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: FTGLPixmapFont
// ----------------------------------------------------------------------------
FTFont*
GSystemGL::SetupFont( const char * inPath, int inFontSize ) const
{
FTFont * font = 0;
char faceName2[40];
strcpy(faceName2, inPath);
#ifdef WIN32
if( !strcmp(inPath,"Times") )
strcpy(faceName2, "times.ttf");
#endif
switch (fFontType) {
case kPixmapFont:
// font = new FTGLPixmapFont(inPath);
font = new FTGLPixmapFont((const char*)faceName2);
break;
case kBitmapFont:
font = new FTGLBitmapFont((const char*)faceName2);
break;
case kOutlineFont:
font = new FTGLOutlineFont((const char*)faceName2);
break;
case kPolygonFont:
font = new FTGLPolygonFont((const char*)faceName2);
glEnable( GL_TEXTURE_2D);
// glBindTexture(GL_TEXTURE_2D, textureID);
glDisable( GL_BLEND);
break;
case kExtrudeFont:
font = new FTGLExtrdFont((const char*)faceName2);
break;
case kTextureFont:
font = new FTGLTextureFont((const char*)faceName2);
glEnable( GL_TEXTURE_2D);
glDisable( GL_DEPTH_TEST);
break;
}
if( !font || font->Error()) {
cerr << "Failed to open font " << inPath << endl;
delete font;
return 0;
}
else {
// font->Depth(20); // extrusion distance for the font. Only for FTGLExtrdFont
int cmc = font->CharMapCount();
FT_Encoding encoding = ft_encoding_none;
FT_Encoding* cml = font->CharMapList();
for (int i=0; i<cmc; i++) {
if (i==0) encoding = cml[i];
if (cml[i] == ft_encoding_apple_roman) {
encoding = ft_encoding_apple_roman;
break;
}
}
font->CharMap(encoding);
font->FaceSize(inFontSize);
}
return font;
}