![]() |
Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
|
\threadsafe \inmodule QtGui 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 } |
\value Any \value Latin \value Greek \value Cyrillic \value Armenian \value Hebrew \value Arabic \value Syriac \value Thaana \value Devanagari \value Bengali \value Gurmukhi \value Gujarati \value Oriya \value Tamil \value Telugu \value Kannada \value Malayalam \value Sinhala \value Thai \value Lao \value Tibetan \value Myanmar \value Georgian \value Khmer \value SimplifiedChinese \value TraditionalChinese \value Japanese \value Korean \value Vietnamese \value Symbol \value Other (the same as Symbol) \value Ogham \value Runic \value Nko More... | |
enum | SystemFont { GeneralFont , FixedFont , TitleFont , SmallestReadableFont } |
\value GeneralFont The default system font. More... |
Public Member Functions | |
QFontDatabase ()=delete |
Static Public Member Functions | |
static QList< int > | standardSizes () |
Returns a list of standard font sizes. | |
static QList< WritingSystem > | writingSystems () |
Returns a sorted list of the available writing systems. | |
static QList< WritingSystem > | writingSystems (const QString &family) |
Returns a sorted list of the writing systems supported by a given font family. | |
static QStringList | families (WritingSystem writingSystem=Any) |
Returns a sorted list of the available font families which support the writingSystem. | |
static QStringList | styles (const QString &family) |
Returns a list of the styles available for the font family family. | |
static QList< int > | pointSizes (const QString &family, const QString &style=QString()) |
Returns a list of the point sizes available for the font that has family family and style styleName. | |
static QList< int > | smoothSizes (const QString &family, const QString &style) |
Returns the point sizes of a font that has family family and style styleName that will look attractive. | |
static QString | styleString (const QFont &font) |
Returns a string that describes the style of the font. | |
static QString | styleString (const QFontInfo &fontInfo) |
Returns a string that describes the style of the fontInfo. | |
static QFont | font (const QString &family, const QString &style, int pointSize) |
Returns a QFont object that has family family, style style and point size pointSize. | |
static bool | isBitmapScalable (const QString &family, const QString &style=QString()) |
Returns true if the font that has family family and style style is a scalable bitmap font; otherwise returns false . | |
static bool | isSmoothlyScalable (const QString &family, const QString &style=QString()) |
Returns true if the font that has family family and style style is smoothly scalable; otherwise returns false . | |
static bool | isScalable (const QString &family, const QString &style=QString()) |
Returns true if the font that has family family and style style is scalable; otherwise returns false . | |
static bool | isFixedPitch (const QString &family, const QString &style=QString()) |
Returns true if the font that has family family and style style is fixed pitch; otherwise returns false . | |
static bool | italic (const QString &family, const QString &style) |
Returns true if the font that has family family and style style is italic; otherwise returns false . | |
static bool | bold (const QString &family, const QString &style) |
Returns true if the font that has family family and style style is bold; otherwise returns false . | |
static int | weight (const QString &family, const QString &style) |
Returns the weight of the font that has family family and style style. | |
static bool | hasFamily (const QString &family) |
static bool | isPrivateFamily (const QString &family) |
static QString | writingSystemName (WritingSystem writingSystem) |
Returns the names the writingSystem (e.g. | |
static QString | writingSystemSample (WritingSystem writingSystem) |
Returns a string with sample characters from writingSystem. | |
static int | addApplicationFont (const QString &fileName) |
static int | addApplicationFontFromData (const QByteArray &fontData) |
static QStringList | applicationFontFamilies (int id) |
static bool | removeApplicationFont (int id) |
static bool | removeAllApplicationFonts () |
static void | addApplicationFallbackFontFamily (QChar::Script script, const QString &familyName) |
static bool | removeApplicationFallbackFontFamily (QChar::Script script, const QString &familyName) |
static void | setApplicationFallbackFontFamilies (QChar::Script, const QStringList &familyNames) |
static QStringList | applicationFallbackFontFamilies (QChar::Script script) |
static void | addApplicationEmojiFontFamily (const QString &familyName) |
static bool | removeApplicationEmojiFontFamily (const QString &familyName) |
static void | setApplicationEmojiFontFamilies (const QStringList &familyNames) |
static QStringList | applicationEmojiFontFamilies () |
static QFont | systemFont (SystemFont type) |
\threadsafe \inmodule QtGui
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 provides some helper 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 18 of file qfontdatabase.h.
\value GeneralFont The default system font.
\value FixedFont The fixed font that the system recommends. \value TitleFont The system standard font for titles. \value SmallestReadableFont The smallest readable system font.
Enumerator | |
---|---|
GeneralFont | |
FixedFont | |
TitleFont | |
SmallestReadableFont |
Definition at line 66 of file qfontdatabase.h.
\value Any \value Latin \value Greek \value Cyrillic \value Armenian \value Hebrew \value Arabic \value Syriac \value Thaana \value Devanagari \value Bengali \value Gurmukhi \value Gujarati \value Oriya \value Tamil \value Telugu \value Kannada \value Malayalam \value Sinhala \value Thai \value Lao \value Tibetan \value Myanmar \value Georgian \value Khmer \value SimplifiedChinese \value TraditionalChinese \value Japanese \value Korean \value Vietnamese \value Symbol \value Other (the same as Symbol) \value Ogham \value Runic \value Nko
\omitvalue WritingSystemsCount
Definition at line 22 of file qfontdatabase.h.
|
delete |
Creates a font database object.
Creates a font database object.
Adds familyName as an application-defined emoji font.
For displaying multi-color emojis or emoji sequences, Qt will by default prefer the system default emoji font. Sometimes the application may want to override the default, either to achieve a specific visual style or to show emojis that are not supported by the system.
Definition at line 2578 of file qfontdatabase.cpp.
|
static |
Adds familyName as an application-defined fallback font for script.
When Qt encounters characters that are not supported by the selected font, it will search through a list of fallback fonts to find a match for them. This ensures that combining multiple scripts in a single string is possible, even if the main font does not support them.
The list of fallback fonts is selected based on the script of the string as well as other conditions, such as system language.
While the system fallback list is usually sufficient, there are cases where it is useful to override the default behavior. One such case is for using application fonts as fallback to ensure cross-platform consistency.
In another case the application may be written in a script with regional differences and want to run it untranslated in multiple regions. In this case, it might be useful to override the local region's fallback with one that matches the language of the application.
By passing familyName to addApplicationFallbackFontFamily(), this will become the preferred family when matching missing characters from script. The script must be a valid script (QChar::Script_Latin
or higher). When adding multiple fonts for the same script, they will be prioritized in reverse order, so that the last family added will be checked first and so on.
{QChar::Script_Common} (undetermined script) and
{QChar::Script_Latin} the same. Adding a fallback for either of these will also apply to the other.Definition at line 2470 of file qfontdatabase.cpp.
|
static |
\since 4.2 Loads the font from the file specified by \a 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.
! [add-application-font-doc] The function returns -1 if the font could not be loaded.
Currently only TrueType fonts, TrueType font collections, and OpenType fonts are supported. ! [add-application-font-doc]
\sa addApplicationFontFromData(), applicationFontFamilies(), removeApplicationFont()
Definition at line 2295 of file qfontdatabase.cpp.
|
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.
add-application-font-doc
Definition at line 2323 of file qfontdatabase.cpp.
|
static |
Returns the list of application-defined emoji font families.
Definition at line 2625 of file qfontdatabase.cpp.
|
static |
Returns the list of application-defined fallback font families previously added for script by the \l{addApplicationFallbackFontFamily()} function.
Definition at line 2551 of file qfontdatabase.cpp.
|
static |
Returns a list of font families for the given application font identified by id.
Definition at line 2337 of file qfontdatabase.cpp.
Returns true
if the font that has family family and style style is bold; otherwise returns false
.
Definition at line 1869 of file qfontdatabase.cpp.
|
static |
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 1462 of file qfontdatabase.cpp.
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 1725 of file qfontdatabase.cpp.
|
static |
Definition at line 1939 of file qfontdatabase.cpp.
|
static |
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 1570 of file qfontdatabase.cpp.
|
static |
Returns true
if the font that has family family and style style is fixed pitch; otherwise returns false
.
Definition at line 1545 of file qfontdatabase.cpp.
|
static |
Returns true
if and only if the family font family is private.
This happens, for instance, on \macos and iOS, where the system UI fonts are not accessible to the user. For completeness, QFontDatabase::families() returns all font families, including the private ones. You should use this function if you are developing a font selection control in order to keep private fonts hidden.
Definition at line 1972 of file qfontdatabase.cpp.
Returns true
if the font that has family family and style style is scalable; otherwise returns false
.
Definition at line 1657 of file qfontdatabase.cpp.
|
static |
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 1608 of file qfontdatabase.cpp.
Returns true
if the font that has family family and style style is italic; otherwise returns false
.
Definition at line 1834 of file qfontdatabase.cpp.
|
static |
Returns a list of the point sizes available for the font that has family family and style styleName.
The list may be empty.
Definition at line 1673 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 2425 of file qfontdatabase.cpp.
|
static |
Removes familyName from the list of application-defined emoji fonts, provided that it has previously been added with \l{addApplicationEmojiFontFamily()}.
Returns true if the family name was in the list and false if it was not.
Definition at line 2595 of file qfontdatabase.cpp.
|
static |
Removes familyName from the list of application-defined fallback fonts for script, provided that it has previously been added with \l{addApplicationFallbackFontFamily()}.
Returns true if the family name was in the list and false if it was not.
Definition at line 2496 of file qfontdatabase.cpp.
|
static |
Removes the previously loaded application font identified by id. Returns true
if unloading of the font succeeded; otherwise returns false
.
Definition at line 2399 of file qfontdatabase.cpp.
|
static |
Sets the list of application-defined emoji fonts to familyNames.
Definition at line 2610 of file qfontdatabase.cpp.
|
static |
Sets the list of application-defined fallback fonts for script to familyNames.
When Qt encounters a character in script which is not supported by the current font, it will check the families in familyNames, in order from first to last, until it finds a match. See \l{addApplicationFallbackFontFamily()} for more details.
This function overwrites the current list of application-defined fallback fonts for script.
Definition at line 2526 of file qfontdatabase.cpp.
|
static |
Returns the point sizes of a font that has family family and style styleName 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 1770 of file qfontdatabase.cpp.
|
static |
Returns a list of standard font sizes.
Definition at line 1822 of file qfontdatabase.cpp.
|
static |
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 1503 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 1169 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 1180 of file qfontdatabase.cpp.
|
static |
Returns the most adequate font for a given type case for proper integration with the system's look and feel.
Definition at line 2360 of file qfontdatabase.cpp.
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 1907 of file qfontdatabase.cpp.
|
static |
Returns the names the writingSystem (e.g.
for displaying to the user in a dialog).
Definition at line 1982 of file qfontdatabase.cpp.
|
static |
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 1390 of file qfontdatabase.cpp.
|
static |
Returns a sorted list of the writing systems supported by a given font family.
Definition at line 1430 of file qfontdatabase.cpp.
|
static |
Returns a string with sample characters from writingSystem.
Definition at line 2098 of file qfontdatabase.cpp.