
We bake cookies in your browser for a better experience. Using this site means that you consent.Read More
TheQFontDatabase class provides information about the fonts available in the underlying window system.More...
| Header: | #include <QFontDatabase> |
Note: All functions in this class arethread-safe.
| enum | WritingSystem { Any, Latin, Greek, Cyrillic, ..., Nko } |
| QFontDatabase() | |
| bool | bold(const QString & family, const QString & style) const |
| QStringList | families(WritingSystem writingSystem = Any) const |
| QFont | font(const QString & family, const QString & style, int pointSize) const |
| bool | isBitmapScalable(const QString & family, const QString & style = QString()) const |
| bool | isFixedPitch(const QString & family, const QString & style = QString()) const |
| bool | isScalable(const QString & family, const QString & style = QString()) const |
| bool | isSmoothlyScalable(const QString & family, const QString & style = QString()) const |
| bool | italic(const QString & family, const QString & style) const |
| QList<int> | pointSizes(const QString & family, const QString & style = QString()) |
| QList<int> | smoothSizes(const QString & family, const QString & style) |
| QString | styleString(const QFont & font) |
| QString | styleString(const QFontInfo & fontInfo) |
| QStringList | styles(const QString & family) const |
| int | weight(const QString & family, const QString & style) const |
| QList<WritingSystem> | writingSystems() const |
| QList<WritingSystem> | writingSystems(const QString & family) const |
| int | addApplicationFont(const QString & fileName) |
| int | addApplicationFontFromData(const QByteArray & fontData) |
| QStringList | applicationFontFamilies(int id) |
| bool | removeAllApplicationFonts() |
| bool | removeApplicationFont(int id) |
| QList<int> | standardSizes() |
| bool | supportsThreadedFontRendering() |
| QString | writingSystemName(WritingSystem writingSystem) |
| QString | writingSystemSample(WritingSystem writingSystem) |
TheQFontDatabase 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 fontfamilies() and for thepointSizes() andstyles() that are available for each family. An alternative topointSizes() issmoothSizes() 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 byfamilies().
Thefont() function returns aQFont given a family, style and point size.
A family and style combination can be checked to see if it isitalic() orbold(), and to retrieve itsweight(). Similarly we can callisBitmapScalable(),isSmoothlyScalable(),isScalable() andisFixedPitch().
Use thestyleString() to obtain a text version of a style.
TheQFontDatabase class also supports some static functions, for example,standardSizes(). You can retrieve the description of a writing system usingwritingSystemName(), and a sample of characters in a writing system withwritingSystemSample().
Example:
QFontDatabase database;QTreeWidget fontTree; fontTree.setColumnCount(2); fontTree.setHeaderLabels(QStringList()<<"Font"<<"Smooth Sizes"); foreach (constQString&family, database.families()) {QTreeWidgetItem*familyItem=newQTreeWidgetItem(&fontTree); familyItem->setText(0, family); foreach (constQString&style, database.styles(family)) {QTreeWidgetItem*styleItem=newQTreeWidgetItem(familyItem); styleItem->setText(0, style);QString sizes; foreach (int points, database.smoothSizes(family, style)) sizes+=QString::number(points)+" "; styleItem->setText(1, sizes.trimmed()); } }
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.
See alsoQFont,QFontInfo,QFontMetrics,QFontComboBox, andCharacter Map Example.
| Constant | Value | Description |
|---|---|---|
QFontDatabase::Any | 0 | |
QFontDatabase::Latin | 1 | |
QFontDatabase::Greek | 2 | |
QFontDatabase::Cyrillic | 3 | |
QFontDatabase::Armenian | 4 | |
QFontDatabase::Hebrew | 5 | |
QFontDatabase::Arabic | 6 | |
QFontDatabase::Syriac | 7 | |
QFontDatabase::Thaana | 8 | |
QFontDatabase::Devanagari | 9 | |
QFontDatabase::Bengali | 10 | |
QFontDatabase::Gurmukhi | 11 | |
QFontDatabase::Gujarati | 12 | |
QFontDatabase::Oriya | 13 | |
QFontDatabase::Tamil | 14 | |
QFontDatabase::Telugu | 15 | |
QFontDatabase::Kannada | 16 | |
QFontDatabase::Malayalam | 17 | |
QFontDatabase::Sinhala | 18 | |
QFontDatabase::Thai | 19 | |
QFontDatabase::Lao | 20 | |
QFontDatabase::Tibetan | 21 | |
QFontDatabase::Myanmar | 22 | |
QFontDatabase::Georgian | 23 | |
QFontDatabase::Khmer | 24 | |
QFontDatabase::SimplifiedChinese | 25 | |
QFontDatabase::TraditionalChinese | 26 | |
QFontDatabase::Japanese | 27 | |
QFontDatabase::Korean | 28 | |
QFontDatabase::Vietnamese | 29 | |
QFontDatabase::Symbol | 30 | |
QFontDatabase::Other | Symbol | (the same as Symbol) |
QFontDatabase::Ogham | ? | |
QFontDatabase::Runic | ? | |
QFontDatabase::Nko | ? |
Creates a font database object.
[static]int QFontDatabase::addApplicationFont(constQString & fileName)Loads the font from the file specified byfileName and makes it available to the application. An ID is returned that can be used to remove the font again withremoveApplicationFont() 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.
Note:Adding application fonts on Unix/X11 platforms without fontconfig is currently not supported.
Note:On Symbian, the font family names get truncated to a length of 20 characters.
This function was introduced in Qt 4.2.
See alsoaddApplicationFontFromData(),applicationFontFamilies(), andremoveApplicationFont().
[static]int QFontDatabase::addApplicationFontFromData(constQByteArray & fontData)Loads the font from binary data specified byfontData and makes it available to the application. An ID is returned that can be used to remove the font again withremoveApplicationFont() 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.
Note:On Symbian, the font family names get truncated to a length of 20 characters.
This function was introduced in Qt 4.2.
See alsoaddApplicationFont(),applicationFontFamilies(), andremoveApplicationFont().
[static]QStringList QFontDatabase::applicationFontFamilies(int id)Returns a list of font families for the given application font identified byid.
This function was introduced in Qt 4.2.
See alsoaddApplicationFont() andaddApplicationFontFromData().
Returns true if the font that has familyfamily and stylestyle is bold; otherwise returns false.
Returns a sorted list of the available font families which support thewritingSystem.
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".
See alsowritingSystems().
Returns aQFont object that has familyfamily, stylestyle and point sizepointSize. If no matching font could be created, aQFont object that uses the application's default font is returned.
Returns true if the font that has familyfamily and stylestyle 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 bysmoothSizes().
See alsoisScalable() andisSmoothlyScalable().
Returns true if the font that has familyfamily and stylestyle is fixed pitch; otherwise returns false.
Returns true if the font that has familyfamily and stylestyle is scalable; otherwise returns false.
See alsoisBitmapScalable() andisSmoothlyScalable().
Returns true if the font that has familyfamily and stylestyle 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.
See alsoisScalable() andisBitmapScalable().
Returns true if the font that has familyfamily and stylestyle is italic; otherwise returns false.
Returns a list of the point sizes available for the font with the givenfamily andstyle. The list may be empty.
See alsosmoothSizes() andstandardSizes().
[static]bool QFontDatabase::removeAllApplicationFonts()Removes all application-local fonts previously added usingaddApplicationFont() andaddApplicationFontFromData().
Returns true if unloading of the fonts succeeded; otherwise returns false.
This function was introduced in Qt 4.2.
See alsoremoveApplicationFont(),addApplicationFont(), andaddApplicationFontFromData().
[static]bool QFontDatabase::removeApplicationFont(int id)Removes the previously loaded application font identified byid. Returns true if unloading of the font succeeded; otherwise returns false.
This function was introduced in Qt 4.2.
See alsoremoveAllApplicationFonts(),addApplicationFont(), andaddApplicationFontFromData().
Returns the point sizes of a font with the givenfamily andstyle that will look attractive. The list may be empty. For non-scalable fonts and bitmap scalable fonts, this function is equivalent topointSizes().
See alsopointSizes() andstandardSizes().
[static]QList<int> QFontDatabase::standardSizes()Returns a list of standard font sizes.
See alsosmoothSizes() andpointSizes().
Returns a string that describes the style of thefont. For example, "Bold Italic", "Bold", "Italic" or "Normal". An empty string may be returned.
Returns a string that describes the style of thefontInfo. For example, "Bold Italic", "Bold", "Italic" or "Normal". An empty string may be returned.
Returns a list of the styles available for the font familyfamily. Some example styles: "Light", "Light Italic", "Bold", "Oblique", "Demi". The list may be empty.
See alsofamilies().
[static]bool QFontDatabase::supportsThreadedFontRendering()Returns true if font rendering is supported outside the GUI thread, false otherwise. In other words, a return value of false means that allQPainter::drawText() calls outside the GUI thread will not produce readable output.
This function was introduced in Qt 4.4.
See alsoPainting In Threads.
Returns the weight of the font that has familyfamily and stylestyle. If there is no such family and style combination, returns -1.
[static]QString QFontDatabase::writingSystemName(WritingSystem writingSystem)Returns the names thewritingSystem (e.g. for displaying to the user in a dialog).
[static]QString QFontDatabase::writingSystemSample(WritingSystem writingSystem)Returns a string with sample characters fromwritingSystem.
Returns a sorted list of the available writing systems. This is list generated from information about all installed fonts on the system.
See alsofamilies().
Returns a sorted list of the writing systems supported by a given fontfamily.
See alsofamilies().
© 2016 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of theGNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.