CopperSpice API  1.9.1
QFontDatabase Class Reference

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

Public Types

enum  WritingSystem
 

Public Methods

 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 isPrivateFamily (const QString &family) 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)
 
QStringList styles (const QString &family) const
 
QString styleString (const QFont &font) const
 
QString styleString (const QFontInfo &fontInfo) const
 
int weight (const QString &family, const QString &style) const
 
QList< WritingSystemwritingSystems () const
 
QList< WritingSystemwritingSystems (const QString &family) const
 

Static Public Methods

static int addApplicationFont (const QString &fileName)
 
static int addApplicationFontFromData (const QByteArray &fontData)
 
static QStringList applicationFontFamilies (int id)
 
static bool removeAllApplicationFonts ()
 
static bool removeApplicationFont (int id)
 
static QList< int > standardSizes ()
 
static QFont systemFont (SystemFont type)
 
static QString writingSystemName (WritingSystem writingSystem)
 
static QString writingSystemSample (WritingSystem writingSystem)
 

Friends

class QFontDialog
 

Detailed Description

The QFontDatabase class provides information about the fonts available in the underlying window system. The most common use of this class is to query for a list of font families such as Helvetica, Verdana, or Times New Roman. Each family will have multiple entries for each supported point size and style. Font styles specify characteristics like bold or italic. The term foundry refers to a company which designs or distributes a particular font file. In QFontDatabase if a given font family is available from more than one foundry the name of the company is appended to the family name.

Foundry

There are multiple foundries who have designed fonts in the Helvetica family. Calling the method families() will return one entry for each foundry installed on the current computer. The following is an example of a possible return value.

  • "Helvetica [Adobe]"
  • "Helvetica [Cronyx]"

Fonts

The font() method returns a QFont given a family, style, and point size.

There are methods in QFontDatabase called italic() and bold() which returns true if this style is available in the specified family. Calling isBitmapScalable(), isSmoothlyScalable(), isScalable(), and isFixedPitch() retrieves other properties about the given family.

Static Methods

The QFontDatabase class contains several static functions. The method writingSystemName() returns a description of a writing system and a sample of characters in a writing system is retrieved by calling writingSystemSample().

Example

This example obtains the list of font families installed on the current system by calling database.families(). The code then walks each of these entries and obtains a list of the supported styles and point sizes. The results are displayed in a tree view.

QFontDatabase database;
QTreeWidget fontTree;
fontTree.setColumnCount(2);
fontTree.setHeaderLabels(QStringList() << "Font Name" << "Smooth Sizes");
for (const QString &family : database.families()) {
QTreeWidgetItem *familyItem = new QTreeWidgetItem(&fontTree);
familyItem->setText(0, family);
for (const QString &style : database.styles(family)) {
QTreeWidgetItem *styleItem = new QTreeWidgetItem(familyItem);
styleItem->setText(0, style);
QString sizes;
for (int points : database.smoothSizes(family, style)) {
sizes += QString::number(points) + " ";
}
styleItem->setText(1, sizes.trimmed());
}
}
See also
QFont, QFontInfo, QFontMetrics, QFontComboBox

Member Enumeration Documentation

ConstantValueDescription
QFontDatabase::Any0 
QFontDatabase::Latin1 
QFontDatabase::Greek2 
QFontDatabase::Cyrillic3 
QFontDatabase::Armenian4 
QFontDatabase::Hebrew5 
QFontDatabase::Arabic6 
QFontDatabase::Syriac7 
QFontDatabase::Thaana8 
QFontDatabase::Devanagari9 
QFontDatabase::Bengali10 
QFontDatabase::Gurmukhi11 
QFontDatabase::Gujarati12 
QFontDatabase::Oriya13 
QFontDatabase::Tamil14 
QFontDatabase::Telugu15 
QFontDatabase::Kannada16 
QFontDatabase::Malayalam17 
QFontDatabase::Sinhala18 
QFontDatabase::Thai19 
QFontDatabase::Lao20 
QFontDatabase::Tibetan21 
QFontDatabase::Myanmar22 
QFontDatabase::Georgian23 
QFontDatabase::Khmer24 
QFontDatabase::SimplifiedChinese25 
QFontDatabase::TraditionalChinese26 
QFontDatabase::Japanese27 
QFontDatabase::Korean28 
QFontDatabase::Vietnamese29 
QFontDatabase::Symbol30 
QFontDatabase::OtherSymbol(the same as Symbol)
QFontDatabase::Ogham? 
QFontDatabase::Runic? 
QFontDatabase::Nko? 

Constructor & Destructor Documentation

QFontDatabase::QFontDatabase ( )

Creates a font database object.

Method Documentation

int QFontDatabase::addApplicationFont ( const QString fileName)
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. This method 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.
See also
addApplicationFontFromData(), applicationFontFamilies(), removeApplicationFont()
int QFontDatabase::addApplicationFontFromData ( const QByteArray fontData)
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. This method 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.
See also
addApplicationFont(), applicationFontFamilies(), removeApplicationFont()
QStringList QFontDatabase::applicationFontFamilies ( int  id)
static

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

See also
addApplicationFont(), addApplicationFontFromData()
bool QFontDatabase::bold ( const QString family,
const QString style 
) const

Returns true if the font family and style is bold, otherwise returns false.

See also
italic(), weight()
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".

See also
writingSystems()
QFont QFontDatabase::font ( const QString family,
const QString style,
int  pointSize 
) const

Returns a QFont object which has the given family, style, and pointSize. If no matching font could be created, a QFont object that uses the application's default font is returned.

bool QFontDatabase::isBitmapScalable ( const QString family,
const QString style = QString() 
) const

Returns true if the font which has the given family, 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()
bool QFontDatabase::isFixedPitch ( const QString family,
const QString style = QString() 
) const

Returns true if the font with the given family and style is fixed pitch, otherwise returns false.

bool QFontDatabase::isPrivateFamily ( const QString family) const

Returns true if and only if the family font family is private.

This happens on Mac OS X 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()
bool QFontDatabase::isScalable ( const QString family,
const QString style = QString() 
) const

Returns true if the font which has the given family and style is scalable, otherwise returns false.

See also
isBitmapScalable(), isSmoothlyScalable()
bool QFontDatabase::isSmoothlyScalable ( const QString family,
const QString style = QString() 
) const

Returns true if the font which has the given family and style is smoothly scalable, otherwise returns false. If this method returns true, it is safe to scale this font to any size and the result will always look attractive.

See also
isScalable(), isBitmapScalable()
bool QFontDatabase::italic ( const QString family,
const QString style 
) const

Returns true if the font which has the given family and style is italic, otherwise returns false.

See also
weight(), bold()
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.

See also
smoothSizes(), standardSizes()
bool QFontDatabase::removeAllApplicationFonts ( )
static

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()
bool QFontDatabase::removeApplicationFont ( int  id)
static

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

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().

See also
pointSizes(), standardSizes()
QList< int > QFontDatabase::standardSizes ( )
static

Returns a list of standard font sizes.

See also
smoothSizes(), pointSizes()
QStringList QFontDatabase::styles ( const QString family) const

Returns a list of the styles available for the font family. Some example styles: "Light", "Light Italic", "Bold", "Oblique", "Demi". The list may be empty.

See also
families()
QString QFontDatabase::styleString ( const QFont font) const

Returns a string that describes the style of the font. For example, "Bold Italic", "Bold", "Italic" or "Normal". An empty string may be returned.

QString QFontDatabase::styleString ( const QFontInfo fontInfo) const

Returns a string that describes the style of the fontInfo. For example, "Bold Italic", "Bold", "Italic" or "Normal". An empty string may be returned.

QFont QFontDatabase::systemFont ( SystemFont  type)
static

Returns the closest font for the given type according to the system theme.

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

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

See also
italic(), bold()
QString QFontDatabase::writingSystemName ( WritingSystem  writingSystem)
static

Returns the name for the given writingSystem.

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

See also
families()
QList< WritingSystem > QFontDatabase::writingSystems ( const QString family) const

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

See also
families()
QString QFontDatabase::writingSystemSample ( WritingSystem  writingSystem)
static

Returns a string with sample characters from writingSystem.