void QFont::setRawName(const QString &name) { detach(); // from qfontdatabase_x11.cpp extern bool qt_fillFontDef(const QByteArray &xlfd, QFontDef *fd, int dpi, QtFontDesc *desc); if (!qt_fillFontDef(qt_fixXLFD(name.toLatin1()), &d->request, d->dpi, 0)) { qWarning("QFont::setRawName: Invalid XLFD: \"%s\"", name.toLatin1().constData()); setFamily(name); setRawMode(true); } else { resolve_mask = QFont::AllPropertiesResolved; } }
/*! Sets a font by its system specific name. The function is particularly useful under X, where system font settings (for example X resources) are usually available in XLFD (X Logical Font Description) form only. You can pass an XLFD as \a name to this function. A font set with setRawName() is still a full-featured QFont. It can be queried (for example with italic()) or modified (for example with setItalic()) and is therefore also suitable for rendering rich text. If Qt's internal font database cannot resolve the raw name, the font becomes a raw font with \a name as its family. Note that the present implementation does not handle wildcards in XLFDs well, and that font aliases (file \c fonts.alias in the font directory on X11) are not supported. \sa rawName(), setRawMode(), setFamily() */ void QFont::setRawName( const QString &name ) { detach(); // from qfontdatabase_x11.cpp extern bool qt_fillFontDef( const QCString &xlfd, QFontDef *fd, int screen ); if ( ! qt_fillFontDef( qt_fixXLFD( name.latin1() ), &d->request, d->screen ) ) { #ifdef QT_CHECK_STATE qWarning("QFont::setRawName(): Invalid XLFD: \"%s\"", name.latin1()); #endif // QT_CHECK_STATE setFamily( name ); setRawMode( TRUE ); } else { d->mask = QFontPrivate::Complete; } }