Qt 4.8
|
The QFontDatabase class provides information about the fonts available in the underlying window system. More...
#include <qfontdatabase.h>
Public Types | |
enum | WritingSystem { Any, Latin, Greek, Cyrillic, Armenian, Hebrew, Arabic, Syriac, Thaana, Devanagari, Bengali, Gurmukhi, Gujarati, Oriya, Tamil, Telugu, Kannada, Malayalam, Sinhala, Thai, Lao, Tibetan, Myanmar, Georgian, Khmer, SimplifiedChinese, TraditionalChinese, Japanese, Korean, Vietnamese, Symbol, Other = Symbol, Ogham, Runic, Nko, WritingSystemsCount } |
Public Functions | |
bool | bold (const QString &family, const QString &style) const |
Returns true if the font that has family family and style style is bold; otherwise returns false. More... | |
QStringList | families (WritingSystem writingSystem=Any) const |
Returns a sorted list of the available font families which support the writingSystem. More... | |
QFont | font (const QString &family, const QString &style, int pointSize) const |
Returns a QFont object that has family family, style style and point size pointSize. More... | |
bool | hasFamily (const QString &family) const |
bool | isBitmapScalable (const QString &family, const QString &style=QString()) const |
Returns true if the font that has family family and style style is a scalable bitmap font; otherwise returns false. More... | |
bool | isFixedPitch (const QString &family, const QString &style=QString()) const |
Returns true if the font that has family family and style style is fixed pitch; otherwise returns false. More... | |
bool | isScalable (const QString &family, const QString &style=QString()) const |
Returns true if the font that has family family and style style is scalable; otherwise returns false. More... | |
bool | isSmoothlyScalable (const QString &family, const QString &style=QString()) const |
Returns true if the font that has family family and style style is smoothly scalable; otherwise returns false. More... | |
bool | italic (const QString &family, const QString &style) const |
Returns true if the font that has family family and style style is italic; otherwise returns false. More... | |
QList< int > | pointSizes (const QString &family, const QString &style=QString()) |
Returns a list of the point sizes available for the font with the given family and style. More... | |
QFontDatabase () | |
Creates a font database object. More... | |
QList< int > | smoothSizes (const QString &family, const QString &style) |
Returns the point sizes of a font with the given family and style that will look attractive. More... | |
QStringList | styles (const QString &family) const |
Returns a list of the styles available for the font family family. More... | |
QString | styleString (const QFont &font) |
Returns a string that describes the style of the font. More... | |
QString | styleString (const QFontInfo &fontInfo) |
Returns a string that describes the style of the fontInfo. More... | |
int | weight (const QString &family, const QString &style) const |
Returns the weight of the font that has family family and style style. More... | |
QList< WritingSystem > | writingSystems () const |
Returns a sorted list of the available writing systems. More... | |
QList< WritingSystem > | writingSystems (const QString &family) const |
Returns a sorted list of the writing systems supported by a given font family. More... | |
Static Public Functions | |
static int | addApplicationFont (const QString &fileName) |
Loads the font from the file specified by fileName and makes it available to the application. More... | |
static int | addApplicationFontFromData (const QByteArray &fontData) |
Loads the font from binary data specified by fontData and makes it available to the application. More... | |
static QStringList | applicationFontFamilies (int id) |
Returns a list of font families for the given application font identified by id. More... | |
static bool | removeAllApplicationFonts () |
Removes all application-local fonts previously added using addApplicationFont() and addApplicationFontFromData(). More... | |
static bool | removeApplicationFont (int id) |
Removes the previously loaded application font identified by id. More... | |
static QList< int > | standardSizes () |
Returns a list of standard font sizes. More... | |
static bool | supportsThreadedFontRendering () |
Returns true if font rendering is supported outside the GUI thread, false otherwise. More... | |
static QString | writingSystemName (WritingSystem writingSystem) |
Returns the names the writingSystem (e.g. More... | |
static QString | writingSystemSample (WritingSystem writingSystem) |
Returns a string with sample characters from writingSystem. More... | |
Static Private Functions | |
static void | createDatabase () |
static QFontEngine * | findFont (int script, const QFontPrivate *fp, const QFontDef &request) |
static void | load (const QFontPrivate *d, int script) |
Loads a QFontEngine for the specified script that matches the QFontDef request member variable. More... | |
static QFontEngine * | loadXlfd (int screen, int script, const QFontDef &request, int force_encoding_id=-1) |
static void | parseFontName (const QString &name, QString &foundry, QString &family) |
static QString | resolveFontFamilyAlias (const QString &family) |
Properties | |
QFontDatabasePrivate * | d |
Friends | |
struct | QFontDef |
class | QFontDialog |
class | QFontDialogPrivate |
class | QFontEngineMultiQPA |
class | QFontEngineMultiQWS |
class | QFontEngineMultiS60 |
class | QFontEngineMultiXLFD |
class | QFontPrivate |
The QFontDatabase class provides information about the fonts available in the underlying window system.
The most common uses of this class are to query the database for the list of font families() and for the pointSizes() and styles() that are available for each family. An alternative to pointSizes() is smoothSizes() which returns the sizes at which a given family and style will look attractive.
If the font family is available from two or more foundries the foundry name is included in the family name; for example: "Helvetica [Adobe]" and "Helvetica [Cronyx]". When you specify a family, you can either use the old hyphenated "foundry-family" format or the bracketed "family [foundry]" format; for example: "Cronyx-Helvetica" or "Helvetica [Cronyx]". If the family has a foundry it is always returned using the bracketed format, as is the case with the value returned by families().
The font() function returns a QFont given a family, style and point size.
A family and style combination can be checked to see if it is italic() or bold(), and to retrieve its weight(). Similarly we can call isBitmapScalable(), isSmoothlyScalable(), isScalable() and isFixedPitch().
Use the styleString() to obtain a text version of a style.
The QFontDatabase class also supports some static functions, for example, standardSizes(). You can retrieve the description of a writing system using writingSystemName(), and a sample of characters in a writing system with writingSystemSample().
Example:
This example gets the list of font families, the list of styles for each family, and the point sizes that are available for each combination of family and style, displaying this information in a tree view.
Definition at line 66 of file qfontdatabase.h.
Definition at line 73 of file qfontdatabase.h.
QFontDatabase::QFontDatabase | ( | ) |
Creates a font database object.
Definition at line 1606 of file qfontdatabase.cpp.
|
static |
Loads the font from the file specified by fileName and makes it available to the application.
An ID is returned that can be used to remove the font again with removeApplicationFont() or to retrieve the list of family names contained in the font.
The function returns -1 if the font could not be loaded.
Currently only TrueType fonts, TrueType font collections, and OpenType fonts are supported.
Definition at line 2659 of file qfontdatabase.cpp.
Referenced by QDeclarativeFontLoader::setSource().
|
static |
Loads the font from binary data specified by fontData and makes it available to the application.
An ID is returned that can be used to remove the font again with removeApplicationFont() or to retrieve the list of family names contained in the font.
The function returns -1 if the font could not be loaded.
Currently only TrueType fonts and TrueType font collections are supported.
Note: Adding application fonts on Unix/X11 platforms without fontconfig is currently not supported.
Definition at line 2694 of file qfontdatabase.cpp.
Referenced by QDeclarativeFontObject::replyFinished().
|
static |
Returns a list of font families for the given application font identified by id.
Definition at line 2711 of file qfontdatabase.cpp.
Referenced by QDeclarativeFontObject::replyFinished(), and QDeclarativeFontLoader::setSource().
Returns true if the font that has family family and style style is bold; otherwise returns false.
Definition at line 2172 of file qfontdatabase.cpp.
|
staticprivate |
Definition at line 2590 of file qfontdatabase.cpp.
QStringList QFontDatabase::families | ( | WritingSystem | writingSystem = Any | ) | const |
Returns a sorted list of the available font families which support the writingSystem.
If a family exists in several foundries, the returned name for that font is in the form "family [foundry]". Examples: "Times [Adobe]", "Times [Cronyx]", "Palatino".
Definition at line 1731 of file qfontdatabase.cpp.
Referenced by QFontComboBoxPrivate::_q_updateModel(), QDeclarativeEnginePrivate::fontFamilies(), and loadEngine().
|
staticprivate |
Definition at line 255 of file qfontdatabase_qpa.cpp.
Referenced by QFontEngineMultiQPA::loadEngine(), QFontEngineMultiQWS::loadEngine(), and registerFont().
Returns a QFont object that has family family, style style and point size pointSize.
If no matching font could be created, a QFont object that uses the application's default font is returned.
Definition at line 2008 of file qfontdatabase.cpp.
Referenced by getFamiliesAndSignatures(), qfontForCocoaFont(), registerFont(), and resolveFontFamilyAlias().
bool QFontDatabase::hasFamily | ( | const QString & | family | ) | const |
Definition at line 2238 of file qfontdatabase.cpp.
bool QFontDatabase::isBitmapScalable | ( | const QString & | family, |
const QString & | style = QString() |
||
) | const |
Returns true if the font that has family family and style style is a scalable bitmap font; otherwise returns false.
Scaling a bitmap font usually produces an unattractive hardly readable result, because the pixels of the font are scaled. If you need to scale a bitmap font it is better to scale it to one of the fixed sizes returned by smoothSizes().
Definition at line 1842 of file qfontdatabase.cpp.
bool QFontDatabase::isFixedPitch | ( | const QString & | family, |
const QString & | style = QString() |
||
) | const |
Returns true if the font that has family family and style style is fixed pitch; otherwise returns false.
Definition at line 1813 of file qfontdatabase.cpp.
Referenced by QFontComboBoxPrivate::_q_updateModel().
Returns true if the font that has family family and style style is scalable; otherwise returns false.
Definition at line 1921 of file qfontdatabase.cpp.
bool QFontDatabase::isSmoothlyScalable | ( | const QString & | family, |
const QString & | style = QString() |
||
) | const |
Returns true if the font that has family family and style style is smoothly scalable; otherwise returns false.
If this function returns true, it's safe to scale this font to any size, and the result will always look attractive.
Definition at line 1884 of file qfontdatabase.cpp.
Referenced by QFontComboBoxPrivate::_q_updateModel(), and QFontFamilyDelegate::paint().
Returns true if the font that has family family and style style is italic; otherwise returns false.
Definition at line 2139 of file qfontdatabase.cpp.
|
staticprivate |
Loads a QFontEngine for the specified script that matches the QFontDef request member variable.
Definition at line 366 of file qfontdatabase_mac.cpp.
Referenced by QFontPrivate::engineForScript(), findFont(), loadWin(), loadXlfd(), and registerFont().
|
staticprivate |
Definition at line 1797 of file qfontdatabase_x11.cpp.
Referenced by QFontEngineMultiXLFD::loadEngine().
|
staticprivate |
Definition at line 2585 of file qfontdatabase.cpp.
Referenced by QFontDef::exactMatch(), findFont(), and QFontDialogPrivate::updateFamilies().
QList< int > QFontDatabase::pointSizes | ( | const QString & | family, |
const QString & | style = QString() |
||
) |
Returns a list of the point sizes available for the font with the given family and style.
The list may be empty.
Definition at line 1941 of file qfontdatabase.cpp.
|
static |
Removes all application-local fonts previously added using addApplicationFont() and addApplicationFontFromData().
Returns true if unloading of the fonts succeeded; otherwise returns false.
Definition at line 530 of file qfontdatabase_mac.cpp.
Referenced by registerFont().
|
static |
Removes the previously loaded application font identified by id.
Returns true if unloading of the font succeeded; otherwise returns false.
Definition at line 511 of file qfontdatabase_mac.cpp.
Referenced by registerFont(), and removeAllApplicationFonts().
Definition at line 547 of file qfontdatabase_mac.cpp.
Referenced by QFontDef::exactMatch(), qt_fontdatabase_mutex(), and registerFont().
Returns the point sizes of a font with the given family and style that will look attractive.
The list may be empty. For non-scalable fonts and bitmap scalable fonts, this function is equivalent to pointSizes().
Definition at line 2056 of file qfontdatabase.cpp.
|
static |
Returns a list of standard font sizes.
Definition at line 2122 of file qfontdatabase.cpp.
Referenced by smoothSizes().
QStringList QFontDatabase::styles | ( | const QString & | family | ) | const |
Returns a list of the styles available for the font family family.
Some example styles: "Light", "Light Italic", "Bold", "Oblique", "Demi". The list may be empty.
Definition at line 1773 of file qfontdatabase.cpp.
Returns a string that describes the style of the font.
For example, "Bold Italic", "Bold", "Italic" or "Normal". An empty string may be returned.
Definition at line 1531 of file qfontdatabase.cpp.
Returns a string that describes the style of the fontInfo.
For example, "Bold Italic", "Bold", "Italic" or "Normal". An empty string may be returned.
Definition at line 1542 of file qfontdatabase.cpp.
|
static |
Returns true if font rendering is supported outside the GUI thread, false otherwise.
In other words, a return value of false means that all QPainter::drawText() calls outside the GUI thread will not produce readable output.
Definition at line 542 of file qfontdatabase_mac.cpp.
Referenced by QPainter::drawTextItem(), and registerFont().
Returns the weight of the font that has family family and style style.
If there is no such family and style combination, returns -1.
Definition at line 2208 of file qfontdatabase.cpp.
|
static |
Returns the names the writingSystem (e.g.
for displaying to the user in a dialog).
Definition at line 2251 of file qfontdatabase.cpp.
Referenced by QFontDialogPrivate::init(), initializeDb(), and initWritingSystems().
QList< QFontDatabase::WritingSystem > QFontDatabase::writingSystems | ( | ) | const |
Returns a sorted list of the available writing systems.
This is list generated from information about all installed fonts on the system.
Definition at line 1662 of file qfontdatabase.cpp.
Referenced by writingSystemForFont().
QList< QFontDatabase::WritingSystem > QFontDatabase::writingSystems | ( | const QString & | family | ) | const |
Returns a sorted list of the writing systems supported by a given font family.
Definition at line 1695 of file qfontdatabase.cpp.
|
static |
Returns a string with sample characters from writingSystem.
Definition at line 2368 of file qfontdatabase.cpp.
Referenced by QRawFont::fromFont(), and QFontFamilyDelegate::paint().
|
friend |
Definition at line 166 of file qfontdatabase.h.
Referenced by loadWin().
|
friend |
Definition at line 168 of file qfontdatabase.h.
|
friend |
Definition at line 169 of file qfontdatabase.h.
|
friend |
Definition at line 173 of file qfontdatabase.h.
|
friend |
Definition at line 171 of file qfontdatabase.h.
|
friend |
Definition at line 172 of file qfontdatabase.h.
|
friend |
Definition at line 170 of file qfontdatabase.h.
|
friend |
Definition at line 167 of file qfontdatabase.h.
|
private |
Definition at line 175 of file qfontdatabase.h.
Referenced by findFont().