CopperSpice API  1.9.1
QFont Class Reference

Specifies a font used for drawing text. More...

Public Types

enum  Capitalization
 
enum  HintingPreference
 
enum  SpacingType
 
enum  Stretch
 
enum  Style
 
enum  StyleHint
 
enum  StyleStrategy
 
enum  Weight
 

Public Methods

 QFont ()
 
 QFont (const QFont &font, QPaintDevice *pd)
 
 QFont (const QFont &other)
 
 QFont (const QString &family, int pointSize=-1, int weight=-1, bool italic=false)
 
 ~QFont ()
 
bool bold () const
 
Capitalization capitalization () const
 
QString defaultFamily () const
 
bool exactMatch () const
 
QString family () const
 
bool fixedPitch () const
 
bool fromString (const QString &description)
 
HintingPreference hintingPreference () const
 
bool isCopyOf (const QFont &font) const
 
bool italic () const
 
bool kerning () const
 
QString key () const
 
QString lastResortFamily () const
 
QString lastResortFont () const
 
qreal letterSpacing () const
 
SpacingType letterSpacingType () const
 
 operator QVariant () const
 
bool operator!= (const QFont &other) const
 
bool operator< (const QFont &other) const
 
QFont & operator= (const QFont &other)
 
QFont & operator= (QFont &&other)
 
bool operator== (const QFont &other) const
 
bool overline () const
 
int pixelSize () const
 
int pointSize () const
 
qreal pointSizeF () const
 
QFont resolve (const QFont &other) const
 
void setBold (bool bold)
 
void setCapitalization (Capitalization caps)
 
void setFamily (const QString &family)
 
void setFixedPitch (bool fixedPitch)
 
void setHintingPreference (HintingPreference hintingPreference)
 
void setItalic (bool italic)
 
void setKerning (bool kerning)
 
void setLetterSpacing (SpacingType type, qreal spacing)
 
void setOverline (bool overline)
 
void setPixelSize (int size)
 
void setPointSize (int size)
 
void setPointSizeF (qreal size)
 
void setStretch (int factor)
 
void setStrikeOut (bool strikeout)
 
void setStyle (Style style)
 
void setStyleHint (StyleHint hint, StyleStrategy strategy=PreferDefault)
 
void setStyleName (const QString &styleName)
 
void setStyleStrategy (StyleStrategy strategy)
 
void setUnderline (bool underline)
 
void setWeight (int weight)
 
void setWordSpacing (qreal spacing)
 
int stretch () const
 
bool strikeOut () const
 
Style style () const
 
StyleHint styleHint () const
 
QString styleName () const
 
StyleStrategy styleStrategy () const
 
void swap (QFont &other)
 
QString toString () const
 
bool underline () const
 
int weight () const
 
qreal wordSpacing () const
 

Static Public Methods

static void insertSubstitution (const QString &familyName, const QString &newName)
 
static void insertSubstitutions (const QString &familyName, const QStringList &newNameList)
 
static void removeSubstitutions (const QString &familyName)
 
static QString substitute (const QString &familyName)
 
static QStringList substitutes (const QString &familyName)
 
static QStringList substitutions ()
 

Friends

QDataStreamoperator<< (QDataStream &stream, const QFont &font)
 
QDataStreamoperator>> (QDataStream &stream, QFont &font)
 
class QApplication
 
class QFontInfo
 
class QFontMetrics
 
class QFontMetricsF
 
class QOpenGLContext
 
class QPainter
 
class QPainterPath
 
class QTextLayout
 
class QTextLine
 
class QWidget
 

Detailed Description

The QFont class specifies a font used for drawing text. When creating a QFont object you can specify various attributes. If no matching font exists, CopperSpice will use the closest matching installed font.

The attributes of the font are retrievable from a QFontInfo object. If the window system provides an exact match then exactMatch() returns true. Use QFontMetrics to get measurements. For example the pixel length of a string can be retrieved using QFontMetrics::width().

A QApplication instance must exist before a QFont can be used. The application's default font can be set using QApplication::setFont(). If the chosen font does not include all the characters, QFont will try to find these characters in the nearest equivalent font. When a QPainter draws a character using a font, QFont will report whether or not it has the character. If it does not then QPainter will draw an unfilled square.

Example

The following example shows how to create a QFont object.

QFont serifFont("Times", 10, QFont::Bold);
QFont sansFont("Helvetica [Cronyx]", 12);

Attributes

The attributes set in the constructor can also be set later using setFamily(), setPointSize(), setPointSizeFloat(), setWeight(), or setItalic(). The remaining attributes must be set after construction of a QFont. For example, setBold(), setUnderline(), setOverline(), setStrikeOut() and setFixedPitch().

QFontInfo objects should be created after the font's attributes have been set. A QFontInfo object will not change, even if you change the font's attributes. The corresponding "get" methods such as family() and pointSize() will return the values which were set, even though the values used may differ. The actual values are available from a QFontInfo object.

If the requested font family is unavailable you can influence the font matching algorithm by choosing a particular QFont::StyleHint and QFont::StyleStrategy with setStyleHint(). The default family (corresponding to the current style hint) is returned by defaultFamily().

The font-matching algorithm has a lastResortFamily() and lastResortFont() in cases where a suitable match can not be found. You can provide substitutions for font family names using insertSubstitution() and insertSubstitutions(). Substitutions can be removed with removeSubstitutions(). Use substitute() to retrieve a family's first substitute, or the family name itself if it has no substitutes. Use substitutes() to retrieve a list of a family's substitutes (which may be empty).

Every QFont has a key() which you can use, for example, as the key in a cache or dictionary. If you want to store a user's font preferences you could use QSettings, writing the font information with toString() and reading it back with fromString(). The operator<<() and operator>>() functions are also available, but they work on a data stream.

It is possible to set the height of characters shown on the screen to a specified number of pixels with setPixelSize(), Using setPointSize() has a similar effect and provides device independence.

Loading Fonts

The font matching algorithm used in this class varies by platform and loading fonts can be expensive, especially on X11. QFont contains extensive optimizations to make the copying of QFont objects fast, and to cache the results of the slow window system functions it depends upon.

The font matching algorithm works as follows.

  1. Specified font family is searched for
  2. If not found, the styleHint() is used to select a replacement family
  3. Each replacement font family is searched for
  4. If none of these are found or there was no styleHint(), "helvetica" will be searched for
  5. If "helvetica" is not found CopperSpice will try the lastResortFamily()
  6. If the lastResortFamily() is not found then the lastResortFont() which will always return some valid font

In Windows a request for the "Courier" font is automatically changed to "Courier New". This is an improved version of Courier which allows for smooth scaling. The older "Courier" bitmap font can be selected by setting the PreferBitmap style strategy (see setStyleStrategy()).

Once a font is found the remaining attributes are matched in order of priority:

  1. fixedPitch()
  2. pointSize() (see below)
  3. weight()
  4. style()

If you have a font which matches on family, even if none of the other attributes match, this font will be chosen in preference to a font which does not match on family but which does match on the other attributes. This is because font family is the dominant search criteria.

The point size is defined to match if it is within 20% of the requested point size. When several fonts match and are only distinguished by point size, the font with the closest point size to the one requested will be chosen.

The actual family, font size, weight and other font attributes used for drawing text will depend on what's available for the chosen family under the window system. A QFontInfo object can be used to determine the actual values used for drawing the text.

QFont f("Helvetica");

If you had both an Adobe and a Cronyx Helvetica, you might get either.

QFont f("Helvetica [Cronyx]");

You can specify the foundry you want in the family name. The font f in the above example will be set to "Helvetica [Cronyx]". To determine the attributes of the font actually used in the window system, use a QFontInfo object.

QFontInfo info(f1);
QString family = info.family();

To find out font metrics use a QFontMetrics object.

QFontMetrics fm(f1);
int textWidthInPixels = fm.width("How many pixels wide is this text?");
int textHeightInPixels = fm.height();
See also
QFontComboBox, QFontMetrics, QFontInfo, QFontDatabase

Member Enumeration Documentation

Rendering option for text this font applies to.

ConstantValueDescription
QFont::MixedCase0 This is the normal text rendering option where no capitalization change is applied.
QFont::AllUppercase1 Alters the text to be rendered in all uppercase type.
QFont::AllLowercase2 Alters the text to be rendered in all lowercase type.
QFont::SmallCaps3 Alters the text to be rendered in small-caps type.
QFont::Capitalize4 This alters the text to be rendered with the first character of each word as an uppercase character.

This enum describes the different levels of hinting that can be applied to glyphs to improve legibility on displays where it might be warranted by the density of pixels.

ConstantValueDescription
QFont::PreferDefaultHinting0 Use the default hinting level for the target platform.
QFont::PreferNoHinting1 If possible, render text without hinting the outlines of the glyphs. The text layout will be typographically accurate and scalable, using the same metrics as are used e.g. when printing.
QFont::PreferVerticalHinting2 If possible, render text with no horizontal hinting, but align glyphs to the pixel grid in the vertical direction. The text will appear crisper on displays where the density is too low to give an accurate rendering of the glyphs. But since the horizontal metrics of the glyphs are unhinted, the text's layout will be scalable to higher density devices (such as printers) without impacting details such as line breaks.
QFont::PreferFullHinting3 If possible, render text with hinting in both horizontal and vertical directions. The text will be altered to optimize legibility on the target device, but since the metrics will depend on the target size of the text, the positions of glyphs, line breaks, and other typographical detail will not scale, meaning that a text layout may look different on devices with different pixel densities.

This enum only describes a preference, as the full range of hinting levels are not supported on all of the CopperSpice supported platforms. The following table details the effect of a given hinting preference on a selected set of target platforms.

PlatformPreferDefaultHintingPreferNoHinting PreferVerticalHintingPreferFullHinting
Windows with DirectWrite Enabled Full hintingVertical hintingVertical hintingFull hinting
FreeTypeOperating System setting No hintingVertical hinting (light)Full hinting
Cocoa on Mac OS XNo hinting No hintingNo hintingNo hinting

This enum specifies how the spacing between characters is interpreted.

ConstantValueDescription
QFont::PercentageSpacing0 A value of 100 will keep the spacing unchanged; a value of 200 will enlarge the spacing after a character by the width of the character itself.
QFont::AbsoluteSpacing1 A positive value increases the letter spacing by the corresponding pixels; a negative value decreases the spacing.

Predefined stretch values that follow the CSS naming convention. The higher the value, the more stretched the text is.

ConstantValueDescription
QFont::UltraCondensed5050
QFont::ExtraCondensed6262
QFont::Condensed7575
QFont::SemiCondensed8787
QFont::Unstretched100100
QFont::SemiExpanded112112
QFont::Expanded125125
QFont::ExtraExpanded150150
QFont::UltraExpanded200200
See also
setStretch(), stretch()

This enum describes the different styles of glyphs that are used to display text.

ConstantValueDescription
QFont::StyleNormal0Normal glyphs used in unstyled text.
QFont::StyleItalic1 Italic glyphs that are specifically designed for the purpose of representing italicized text.
QFont::StyleOblique2 Glyphs with an italic appearance that are typically based on the unstyled glyphs, but are not fine-tuned for the purpose of representing italicized text.
See also
Weight

Style hints are used by the font matching algorithm to find an appropriate default family if a selected font family is not available.

ConstantValueDescription
QFont::Helvetica 0 Synonym for SansSerif.
QFont::SansSerif Helvetica Font matcher prefer sans serif fonts.
QFont::Times 1 Synonym for Serif.
QFont::Serif Times Font matcher prefers serif fonts.
QFont::Courier 2 Synonym for TypeWriter.
QFont::TypeWriter Courier Font matcher prefers fixed pitch fonts.
QFont::OldEnglish 3 Font matcher prefers decorative fonts.
QFont::Decorative OldEnglish Synonym for OldEnglish.
QFont::System 4 Font matcher prefers system fonts.
QFont::AnyStyle 5 Leaves the font matching algorithm to choose the family. This is the default.
QFont::Cursive 6 Font matcher prefers fonts that map to the CSS generic font-family 'cursive'.
QFont::Monospace 7 Font matcher prefers fonts that map to the CSS generic font-family 'monospace'.
QFont::Fantasy 8 Font matcher prefers fonts that map to the CSS generic font-family 'fantasy'.

The style strategy tells the font matching algorithm what type of fonts should be used to find an appropriate default family. The following strategies are available.

ConstantValueDescription
QFont::PreferDefault0x0001 the default style strategy. It does not prefer any type of font.
QFont::PreferBitmap0x0002Prefers bitmap fonts (as opposed to outline fonts).
QFont::PreferDevice0x0004Prefers device fonts.
QFont::PreferOutline0x0008Pprefers outline fonts (as opposed to bitmap fonts).
QFont::ForceOutline0x0010Forces the use of outline fonts.
QFont::NoAntialias0x0100Do not antialias the fonts.
QFont::PreferAntialias0x0080Antialias if possible.
QFont::OpenGLCompatible0x0200Forces the use of OpenGL compatible fonts.
QFont::NoFontMerging0x8000 If the font selected for a certain writing system does not contain a character requested to draw, then CopperSpice automatically chooses a similar looking font that contains the character. The NoFontMerging flag disables this feature. Enabling this flag will not prevent CopperSpice from automatically picking a suitable font when the selected font does not support the writing system of the text.

Any of these may be OR-ed with one of these flags.

ConstantValueDescription
QFont::PreferMatch0x0020 Prefer an exact match. The font matcher will try to use the exact font size that has been specified.
QFont::PreferQuality0x0040 Prefer the best quality font. The font matcher will use the nearest standard point size that the font supports.
QFont::ForceIntegerMetrics0x0400 Forces the use of integer values in font engines that support fractional font metrics.

CopperSpice uses a weighting scale from 0 to 99 similar to, but not the same as, the scales used in Windows or CSS. A weight of 0 is ultralight, whilst 99 will be an extremely black.

This enum contains the predefined font weights:

ConstantValueDescription
QFont::Thin 00
QFont::ExtraLight 1212
QFont::Light 2525
QFont::Normal 5050
QFont::Medium 5757
QFont::DemiBold 6363
QFont::Bold 7575
QFont::ExtraBold 8181
QFont::Black 8787

Constructor & Destructor Documentation

QFont::QFont ( )

Constructs a font object that uses the application's default font.

See also
QApplication::setFont(), QApplication::font()
QFont::QFont ( const QString family,
int  pointSize = -1,
int  weight = -1,
bool  italic = false 
)

Constructs a font object with the specified family, pointSize, weight and italic settings. If pointSize is zero or negative, the point size of the font is set to a system-dependent default value. Generally this is 12 points.

The family name may optionally also include a foundry name. If the family is available from more than one foundry and the foundry is not specified, an arbitrary foundry is chosen. If the family is not available a family will be set using the font matching algorithm.

See also
Weight, setFamily(), setPointSize(), setWeight(), setItalic(), setStyleHint(), QApplication::font()
QFont::QFont ( const QFont &  font,
QPaintDevice pd 
)

Constructs a font from font for use on the paint device pd.

QFont::QFont ( const QFont &  other)

Copy constructs a new QFont from other.

QFont::~QFont ( )

Destroys the font object and frees all allocated resources.

Method Documentation

bool QFont::bold ( ) const
inline

Returns true if weight() is a value greater than QFont::Normal, otherwise returns false.

See also
weight(), setBold(), QFontInfo::bold()
Capitalization QFont::capitalization ( ) const

Returns the current capitalization type of the font.

See also
setCapitalization()
QString QFont::defaultFamily ( ) const

Returns the family name that corresponds to the current style hint.

See also
StyleHint, styleHint(), setStyleHint()
bool QFont::exactMatch ( ) const

Returns true if a window system font exactly matching the settings of this font is available.

See also
QFontInfo
QString QFont::family ( ) const

Returns the requested font family name, i.e. the name set in the constructor or the last setFont() call.

See also
setFamily(), substitutes(), substitute()
bool QFont::fixedPitch ( ) const

Returns true if fixed pitch has been set, otherwise returns false.

See also
setFixedPitch(), QFontInfo::fixedPitch()
bool QFont::fromString ( const QString description)

Sets this font to match the given description. The description is a comma separated list of the font attributes as returned by toString().

See also
toString()
HintingPreference QFont::hintingPreference ( ) const

Returns the currently preferred hinting level for glyphs rendered with this font.

See also
setHintingPreference()
void QFont::insertSubstitution ( const QString familyName,
const QString newName 
)
static

Inserts newName into the substitution table for the family familyName.

See also
insertSubstitutions(), removeSubstitutions(), substitutions(), substitute(), substitutes()
void QFont::insertSubstitutions ( const QString familyName,
const QStringList newNameList 
)
static

Inserts the list of families newNameList into the substitution list for familyName.

See also
insertSubstitution(), removeSubstitutions(), substitutions(), substitute()
bool QFont::isCopyOf ( const QFont &  font) const

Returns true if the current QFont and font are copies of each other. For example, one of them was created as a copy of the other and neither has been modified since. This is much stricter than equality.

See also
operator=(), operator==()
bool QFont::italic ( ) const
inline

Returns true if the style() of the font is not QFont::StyleNormal

See also
setItalic(), style()
bool QFont::kerning ( ) const

Returns true if kerning should be used when drawing text with this font.

See also
setKerning()
QString QFont::key ( ) const

Returns the font's key, a textual representation of a font. It is typically used as the key for a cache or dictionary of fonts.

See also
QMap
QString QFont::lastResortFamily ( ) const

Returns the "last resort" font family name. The current implementation tries a wide variety of common fonts, returning the first one it finds. Is is possible that no family is found in which case an empty string is returned.

See also
lastResortFont()
QString QFont::lastResortFont ( ) const

Returns a "last resort" font name for the font matching algorithm. This is used if the last resort family is not available. It will always return a name, if necessary returning something like "fixed" or "system".

The current implementation tries a wide variety of common fonts, returning the first one it finds. The implementation may change at any time, but this method will always return a string containing something. It is theoretically possible that there really is not a lastResortFont() in which case your application will abort with an error message.

See also
lastResortFamily()
qreal QFont::letterSpacing ( ) const

Returns the letter spacing for the font.

See also
setLetterSpacing(), letterSpacingType(), setWordSpacing()
SpacingType QFont::letterSpacingType ( ) const

Returns the spacing type used for letter spacing.

See also
letterSpacing(), setLetterSpacing(), setWordSpacing()
QFont::operator QVariant ( ) const

Returns the font as a QVariant.

bool QFont::operator!= ( const QFont &  other) const

Returns true if the current QFont is different from other, otherwise returns false.

Two QFonts are considered to be different if their font attributes are different. If rawMode() is enabled for both fonts, only the family fields are compared.

See also
operator==()
bool QFont::operator< ( const QFont &  other) const

Provides an arbitrary comparison of the current QFont and other. All that is guaranteed is that the operator returns false if both fonts are equal and that (f1 < f2) == !(f2 < f1) if the fonts are not equal.

This method is useful in some circumstances, for example if you want to use QFont objects as keys in a QMap.

See also
operator==(), operator!=(), isCopyOf()
QFont & QFont::operator= ( const QFont &  other)

Copy assigns from other and returns a reference to this object.

QFont & QFont::operator= ( QFont &&  other)
inline

Move assigns from other and returns a reference to this object.

bool QFont::operator== ( const QFont &  other) const

Returns true if the current QFont is equal to other, otherwise returns false. Two QFonts are considered equal if their font attributes are equal. If rawMode() is enabled for both fonts, only the family fields are compared.

See also
operator!=(), isCopyOf()
bool QFont::overline ( ) const

Returns true if overline has been set, otherwise returns false.

See also
setOverline()
int QFont::pixelSize ( ) const

Returns the pixel size of the font if it was set with setPixelSize(). Returns -1 if the size was set with setPointSize() or setPointSizeF().

See also
setPixelSize(), pointSize(), QFontInfo::pointSize(), QFontInfo::pixelSize()
int QFont::pointSize ( ) const

Returns the point size of the font. Returns -1 if the font size was specified in pixels.

See also
setPointSize(), pointSizeF()
qreal QFont::pointSizeF ( ) const

Returns the point size of the font. Returns -1 if the font size was specified in pixels.

See also
pointSize(), setPointSizeF(), pixelSize(), QFontInfo::pointSize(), QFontInfo::pixelSize()
void QFont::removeSubstitutions ( const QString familyName)
static

Removes all the substitutions for the given familyName.

QFont QFont::resolve ( const QFont &  other) const

Returns a new QFont which has attributes copied from other, which have not been previously set on this font.

void QFont::setBold ( bool  bold)
inline

If bold is true sets the font's weight to QFont::Bold, otherwise sets the weight to QFont::Normal. For finer boldness control use setWeight().

See also
bold(), setWeight()
void QFont::setCapitalization ( Capitalization  caps)

Sets the capitalization of the text in this font to caps. A font's capitalization makes the text appear in the selected capitalization mode.

See also
capitalization()
void QFont::setFamily ( const QString family)

Sets the family name of the font. The name is case insensitive and may include a foundry name.

The given family name may optionally also include a foundry name such as "Helvetica [Cronyx]". If the family is available from more than one foundry and the foundry is not specified, an arbitrary foundry is chosen. If the family is not available a family will be set using the font matching algorithm.

See also
family(), setStyleHint(), QFontInfo
void QFont::setFixedPitch ( bool  fixedPitch)

If fixedPitch is true, sets fixed pitch on, otherwise sets fixed pitch off.

See also
fixedPitch(), QFontInfo
void QFont::setHintingPreference ( HintingPreference  hintingPreference)

Set the preference for the hinting level of the glyphs to hintingPreference. This is a hint to the underlying font rendering system to use a certain level of hinting, and has varying support across platforms. Refer to the table in the documentation for QFont::HintingPreference for more details.

The default hinting preference is QFont::PreferDefaultHinting.

See also
hintingPreference()
void QFont::setItalic ( bool  italic)
inline

Sets the style of the font to QFont::StyleItalic if italic is true, otherwise the style is set to QFont::StyleNormal.

See also
italic(), QFontInfo
void QFont::setKerning ( bool  kerning)

Enables kerning for this font if kerning is true, otherwise disables it. By default kerning is enabled.

When kerning is enabled, glyph metrics do not add up anymore, even for Latin text. In other words, the assumption that width('a') + width('b') is equal to width("ab") is not necessarily true.

See also
kerning(), QFontMetrics
void QFont::setLetterSpacing ( SpacingType  type,
qreal  spacing 
)

Sets the letter spacing for the font to spacing and the type of spacing to type. Letter spacing changes the default spacing between individual letters in the font. The spacing between the letters can be made smaller as well as larger.

See also
letterSpacing(), letterSpacingType(), setWordSpacing()
void QFont::setOverline ( bool  overline)

If overline is true, sets overline on, otherwise sets overline off.

See also
overline(), QFontInfo
void QFont::setPixelSize ( int  size)

Sets the font size to size pixels. Using this method makes the font device dependent. Use setPointSize() or setPointSizeF() to set the size of the font in a device independent manner.

See also
pixelSize()
void QFont::setPointSize ( int  size)

Sets the point size to size. The point size must be greater than zero.

See also
pointSize(), setPointSizeF()
void QFont::setPointSizeF ( qreal  size)

Sets the point size to size. The point size must be greater than zero. The requested precision may not be achieved on all platforms.

See also
pointSizeF(), setPointSize(), setPixelSize()
void QFont::setStretch ( int  factor)

Sets the stretch factor for the font. The stretch factor changes the width of all characters in the font by factor percent. For example, setting factor to 150 results in all characters in the font being 1.5 times (ie. 150%) wider. The default stretch factor is 100. The minimum stretch factor is 1 and the maximum stretch factor is 4000.

The stretch factor is only applied to outline fonts. The stretch factor is ignored for bitmap fonts. QFont can not stretch XLFD fonts. When loading XLFD fonts on X11, the stretch factor is matched against a predefined set of values for the SETWIDTH_NAME field of the XLFD.

See also
stretch(), QFont::Stretch
void QFont::setStrikeOut ( bool  strikeout)

If strikeout is true, sets strikeout on, otherwise sets strikeout off.

See also
strikeOut(), QFontInfo
void QFont::setStyle ( Style  style)

Sets the style of the font to style.

See also
style(), italic(), QFontInfo
void QFont::setStyleHint ( StyleHint  hint,
StyleStrategy  strategy = PreferDefault 
)

Sets the style hint and strategy to hint and strategy, respectively. If these are not set explicitly the style hint will default to AnyStyle and the style strategy to PreferDefault.

CopperSpice does not support style hints on X11 since this information is not provided by the window system.

See also
StyleHint, styleHint(), StyleStrategy, styleStrategy(), QFontInfo
void QFont::setStyleName ( const QString styleName)

Sets the style name of the font to the given styleName. When set, other style properties like style() and weight() will be ignored for font matching.

See also
styleName()
void QFont::setStyleStrategy ( StyleStrategy  strategy)

Sets the style strategy for the font to strategy.

See also
styleStrategy(), QFont::StyleStrategy
void QFont::setUnderline ( bool  underline)

If underline is true, sets underline on, otherwise sets underline off.

See also
underline(), QFontInfo
void QFont::setWeight ( int  weight)

Sets the weight the font to weight, which should be a value from the QFont::Weight enumeration.

See also
weight(), QFontInfo
void QFont::setWordSpacing ( qreal  spacing)

Sets the word spacing for the font to spacing.

Word spacing changes the default spacing between individual words. A positive value increases the word spacing by a corresponding amount of pixels, while a negative value decreases the inter-word spacing accordingly.

Word spacing will not apply to writing systems, where individual words are not separated by white space.

See also
wordSpacing(), setLetterSpacing()
int QFont::stretch ( ) const

Returns the stretch factor for the font.

See also
setStretch()
bool QFont::strikeOut ( ) const

Returns true if strikeout has been set, otherwise returns false.

See also
setStrikeOut()
Style QFont::style ( ) const

Returns the style of the font.

See also
setStyle()
StyleHint QFont::styleHint ( ) const

Returns the StyleHint. The style hint affects the font matching algorithm. See QFont::StyleHint for the list of available hints.

See also
setStyleHint(), QFont::StyleStrategy, QFontInfo::styleHint()
QString QFont::styleName ( ) const

Returns the requested font style name, it will be used to match the font with irregular styles (that can not be normalized in other style properties). It depends on system font support, thus only works for Mac OS X and X11 so far. On Windows irregular styles will be added as separate font families so there is no need for this.

See also
setStyleName(), setFamily(), setStyle()
StyleStrategy QFont::styleStrategy ( ) const

Returns the StyleStrategy. The style strategy affects the font matching algorithm. Refer to QFont::StyleStrategy for the list of available strategies.

See also
setStyleStrategy(), setStyleHint(), QFont::StyleHint
QString QFont::substitute ( const QString familyName)
static

Returns the family name which should be used instead of the given familyName. The lookup is case insensitive. If there is no substitution registered then the original value for the given familyName is returned.

To obtain a list of substitutions use substitutes().

See also
setFamily(), insertSubstitutions(), insertSubstitution(), removeSubstitutions()
QStringList QFont::substitutes ( const QString familyName)
static

Returns a list of family names which should be used instead of the given familyName. The lookup is case insensitive. If there is no substitution registered then an empty list is returned.

See also
substitute(), insertSubstitutions(), insertSubstitution(), removeSubstitutions()
QStringList QFont::substitutions ( )
static

Returns a sorted list of substituted family names.

See also
insertSubstitution(), removeSubstitutions(), substitute()
void QFont::swap ( QFont &  other)
inline

Swaps the font other with this font. This operation is very fast and never fails.

QString QFont::toString ( ) const

Returns a description of the font. The description is a comma-separated list of the attributes, perfectly suited for use in QSettings.

See also
fromString()
bool QFont::underline ( ) const

Returns true if underline has been set, otherwise returns false.

See also
setUnderline()
int QFont::weight ( ) const

Returns the weight of the font which is one of the enumerated values from QFont::Weight.

See also
setWeight(), Weight, QFontInfo
qreal QFont::wordSpacing ( ) const

Returns the word spacing for the font.

See also
setWordSpacing(), setLetterSpacing()

Friends And Related Function Documentation

QDataStream & operator<< ( QDataStream stream,
const QFont &  font 
)
friend

Writes the font to the stream and returns a reference to the stream.

Refer to Serializing Data Types for additional information.

QDataStream & operator>> ( QDataStream stream,
QFont &  font 
)
friend

Reads the font from the stream and returns a reference to the stream.

Refer to Serializing Data Types for additional information.