void QGLContext::generateFontDisplayLists( const QFont & fnt, int listBase ) { QFont f(fnt); QFontEngine *engine = f.d->engineForScript(QFont::Latin); #ifndef QT_NO_XFTFREETYPE if(engine->type() == QFontEngine::Xft) { qgl_use_font((QFontEngineXft *) engine, 0, 256, listBase); return; } #endif // glXUseXFont() only works with XLFD font structures and a few GL // drivers crash if 0 is passed as the font handle f.setStyleStrategy(QFont::OpenGLCompatible); if (f.handle() && (engine->type() == QFontEngine::XLFD || engine->type() == QFontEngine::LatinXLFD)) { glXUseXFont((Font) f.handle(), 0, 256, listBase); } }
void QGLContext::generateFontDisplayLists(const QFont & fnt, int listBase) { QFont f(fnt); QFontEngine *engine = f.d->engineForScript(QUnicodeTables::Common); if (engine->type() == QFontEngine::Multi) engine = static_cast<QFontEngineMulti *>(engine)->engine(0); #ifndef QT_NO_FONTCONFIG if(engine->type() == QFontEngine::Freetype) { qgl_use_font(static_cast<QFontEngineFT *>(engine), 0, 256, listBase); return; } #endif // glXUseXFont() only works with XLFD font structures and a few GL // drivers crash if 0 is passed as the font handle f.setStyleStrategy(QFont::OpenGLCompatible); if (f.handle() && engine->type() == QFontEngine::XLFD) glXUseXFont(static_cast<Font>(f.handle()), 0, 256, listBase); }