QtBase  v6.3.1
Public Types | Public Member Functions | Static Public Member Functions | List of all members
QFontDatabase Class Reference

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
}
 
enum  SystemFont { GeneralFont , FixedFont , TitleFont , SmallestReadableFont }
 

Public Member Functions

 QFontDatabase ()=delete
 

Static Public Member Functions

static QList< int > standardSizes ()
 
static QList< WritingSystemwritingSystems ()
 
static QList< WritingSystemwritingSystems (const QString &family)
 
static QStringList families (WritingSystem writingSystem=Any)
 
static QStringList styles (const QString &family)
 
static QList< int > pointSizes (const QString &family, const QString &style=QString())
 
static QList< int > smoothSizes (const QString &family, const QString &style)
 
static QString styleString (const QFont &font)
 
static QString styleString (const QFontInfo &fontInfo)
 
static QFont font (const QString &family, const QString &style, int pointSize)
 
static bool isBitmapScalable (const QString &family, const QString &style=QString())
 
static bool isSmoothlyScalable (const QString &family, const QString &style=QString())
 
static bool isScalable (const QString &family, const QString &style=QString())
 
static bool isFixedPitch (const QString &family, const QString &style=QString())
 
static bool italic (const QString &family, const QString &style)
 
static bool bold (const QString &family, const QString &style)
 
static int weight (const QString &family, const QString &style)
 
static bool hasFamily (const QString &family)
 
static bool isPrivateFamily (const QString &family)
 
static QString writingSystemName (WritingSystem writingSystem)
 
static QString writingSystemSample (WritingSystem 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 QFont systemFont (SystemFont type)
 

Detailed Description

The QFontDatabase class provides information about the fonts available in the underlying window system.

\threadsafe \inmodule QtGui

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.

See also
QFont, QFontInfo, QFontMetrics, {Character Map Example}

Definition at line 54 of file qfontdatabase.h.

Member Enumeration Documentation

◆ SystemFont

\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.

Since
5.2
Enumerator
GeneralFont 
FixedFont 
TitleFont 
SmallestReadableFont 

Definition at line 102 of file qfontdatabase.h.

◆ WritingSystem

\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

Enumerator
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 
Ogham 
Runic 
Nko 
WritingSystemsCount 

Definition at line 58 of file qfontdatabase.h.

Constructor & Destructor Documentation

◆ QFontDatabase()

QFontDatabase::QFontDatabase ( )
delete
Deprecated:
[6.0] Call the class methods as static functions instead.

Creates a font database object.

Member Function Documentation

◆ addApplicationFont()

int QFontDatabase::addApplicationFont ( const QString fileName)
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 2211 of file qfontdatabase.cpp.

◆ addApplicationFontFromData()

int QFontDatabase::addApplicationFontFromData ( const QByteArray fontData)
static
Since
4.2

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

See also
addApplicationFont(), applicationFontFamilies(), removeApplicationFont()

Definition at line 2239 of file qfontdatabase.cpp.

◆ applicationFontFamilies()

QStringList QFontDatabase::applicationFontFamilies ( int  id)
static
Since
4.2

Returns a list of font families for the given application font identified by id.

See also
addApplicationFont(), addApplicationFontFromData()

Definition at line 2253 of file qfontdatabase.cpp.

◆ bold()

bool QFontDatabase::bold ( const QString family,
const QString style 
)
static

Returns true if the font that has family family and style style is bold; otherwise returns false.

See also
italic(), weight()

Definition at line 1841 of file qfontdatabase.cpp.

◆ families()

QStringList QFontDatabase::families ( WritingSystem  writingSystem = Any)
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".

See also
writingSystems()

Definition at line 1412 of file qfontdatabase.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ font()

QFont QFontDatabase::font ( const QString family,
const QString style,
int  pointSize 
)
static

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 1692 of file qfontdatabase.cpp.

Here is the caller graph for this function:

◆ hasFamily()

bool QFontDatabase::hasFamily ( const QString family)
static

Definition at line 1909 of file qfontdatabase.cpp.

◆ isBitmapScalable()

bool QFontDatabase::isBitmapScalable ( const QString family,
const QString style = QString() 
)
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().

See also
isScalable(), isSmoothlyScalable()

Definition at line 1523 of file qfontdatabase.cpp.

◆ isFixedPitch()

bool QFontDatabase::isFixedPitch ( const QString family,
const QString style = QString() 
)
static

Returns true if the font that has family family and style style is fixed pitch; otherwise returns false.

Definition at line 1496 of file qfontdatabase.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ isPrivateFamily()

bool QFontDatabase::isPrivateFamily ( const QString family)
static
Since
5.5

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.

See also
families()

Definition at line 1930 of file qfontdatabase.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ isScalable()

bool QFontDatabase::isScalable ( const QString family,
const QString style = QString() 
)
static

Returns true if the font that has family family and style style is scalable; otherwise returns false.

See also
isBitmapScalable(), isSmoothlyScalable()

Definition at line 1617 of file qfontdatabase.cpp.

◆ isSmoothlyScalable()

bool QFontDatabase::isSmoothlyScalable ( const QString family,
const QString style = QString() 
)
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.

See also
isScalable(), isBitmapScalable()

Definition at line 1565 of file qfontdatabase.cpp.

Here is the caller graph for this function:

◆ italic()

bool QFontDatabase::italic ( const QString family,
const QString style 
)
static

Returns true if the font that has family family and style style is italic; otherwise returns false.

See also
weight(), bold()

Definition at line 1807 of file qfontdatabase.cpp.

◆ pointSizes()

QList< int > QFontDatabase::pointSizes ( const QString family,
const QString styleName = QString() 
)
static

Returns a list of the point sizes available for the font that has family family and style styleName. The list may be empty.

See also
smoothSizes(), standardSizes()

Definition at line 1633 of file qfontdatabase.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ removeAllApplicationFonts()

bool QFontDatabase::removeAllApplicationFonts ( )
static
Since
4.2

Removes all application-local fonts previously added using addApplicationFont() and addApplicationFontFromData().

Returns true if unloading of the fonts succeeded; otherwise returns false.

See also
removeApplicationFont(), addApplicationFont(), addApplicationFontFromData()

Definition at line 2340 of file qfontdatabase.cpp.

Here is the caller graph for this function:

◆ removeApplicationFont()

bool QFontDatabase::removeApplicationFont ( int  id)
static
Since
4.2

Removes the previously loaded application font identified by id. Returns true if unloading of the font succeeded; otherwise returns false.

See also
removeAllApplicationFonts(), addApplicationFont(), addApplicationFontFromData()

Definition at line 2314 of file qfontdatabase.cpp.

◆ smoothSizes()

QList< int > QFontDatabase::smoothSizes ( const QString family,
const QString styleName 
)
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().

See also
pointSizes(), standardSizes()

Definition at line 1736 of file qfontdatabase.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ standardSizes()

QList< int > QFontDatabase::standardSizes ( )
static

Returns a list of standard font sizes.

See also
smoothSizes(), pointSizes()

Definition at line 1795 of file qfontdatabase.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ styles()

QStringList QFontDatabase::styles ( const QString family)
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.

See also
families()

Definition at line 1454 of file qfontdatabase.cpp.

Here is the caller graph for this function:

◆ styleString() [1/2]

QString QFontDatabase::styleString ( const QFont font)
static

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 1183 of file qfontdatabase.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ styleString() [2/2]

QString QFontDatabase::styleString ( const QFontInfo fontInfo)
static

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 1194 of file qfontdatabase.cpp.

Here is the call graph for this function:

◆ systemFont()

QFont QFontDatabase::systemFont ( QFontDatabase::SystemFont  type)
static
Since
5.2

Returns the most adequate font for a given type case for proper integration with the system's look and feel.

See also
QGuiApplication::font()

Definition at line 2275 of file qfontdatabase.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ weight()

int QFontDatabase::weight ( const QString family,
const QString style 
)
static

Returns the weight of the font that has family family and style style. If there is no such family and style combination, returns -1.

See also
italic(), bold()

Definition at line 1878 of file qfontdatabase.cpp.

◆ writingSystemName()

QString QFontDatabase::writingSystemName ( WritingSystem  writingSystem)
static

Returns the names the writingSystem (e.g. for displaying to the user in a dialog).

Definition at line 1940 of file qfontdatabase.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ writingSystems() [1/2]

QList< QFontDatabase::WritingSystem > QFontDatabase::writingSystems ( )
static

Returns a sorted list of the available writing systems. This is list generated from information about all installed fonts on the system.

See also
families()

Definition at line 1337 of file qfontdatabase.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ writingSystems() [2/2]

QList< QFontDatabase::WritingSystem > QFontDatabase::writingSystems ( const QString family)
static

Returns a sorted list of the writing systems supported by a given font family.

See also
families()

Definition at line 1378 of file qfontdatabase.cpp.

◆ writingSystemSample()

QString QFontDatabase::writingSystemSample ( WritingSystem  writingSystem)
static

Returns a string with sample characters from writingSystem.

Definition at line 2134 of file qfontdatabase.cpp.

Here is the caller graph for this function:

The documentation for this class was generated from the following files: