CopperSpice API  1.7.4
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 removeSubstitution(). 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(); however using setPointSize() has a similar effect and provides device independence.

In X11 you can set a font using its system specific name with setRawName(). 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

The actual font matching algorithm varies by platform.

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

PreferDefaultHintingPreferNoHintingPreferVerticalHintingPreferFullHinting
Windows Vista and earlier Full hintingFull hintingFull hintingFull hinting
Windows 7 or newer and 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
Note
Setting the hinting preference on Windows requires the DirectWrite font engine. This is available on Windows Vista after installing the platform update and is built into Windows 7 or newer.

In order to use this extension, configure CopperSpice using -directwrite. The target application will then depend on the availability of DirectWrite on the target system.
 enum QFont::SpacingType

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.
 enum QFont::Stretch

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
setStretch(), stretch()
 enum QFont::Style

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.
Weight
 enum QFont::StyleHint

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::AnyStyle?leaves the font matching algorithm to choose the family. This is the default.
QFont::SansSerifHelveticathe font matcher prefer sans serif fonts.
QFont::Helvetica0is a synonym for SansSerif.
QFont::SerifTimesthe font matcher prefers serif fonts.
QFont::Times?is a synonym for Serif.
QFont::TypeWriterCourierthe font matcher prefers fixed pitch fonts.
QFont::Courier?a synonym for TypeWriter.
QFont::OldEnglish?the font matcher prefers decorative fonts.
QFont::DecorativeOldEnglishis a synonym for OldEnglish.
QFont::Monospace?the font matcher prefers fonts that map to the CSS generic font-family 'monospace'.
QFont::Fantasy?the font matcher prefers fonts that map to the CSS generic font-family 'fantasy'.
QFont::Cursive?the font matcher prefers fonts that map to the CSS generic font-family 'cursive'.
QFont::System?the font matcher prefers system fonts.
 enum QFont::StyleStrategy

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::PreferDefault0x0001the 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::PreferOutline0x0008prefers 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. Please note that 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::PreferMatch0x0020prefer an exact match. The font matcher will try to use the exact font size that has been specified.
QFont::PreferQuality0x0040prefer the best quality font. The font matcher will use the nearest standard point size that the font supports.
QFont::ForceIntegerMetrics0x0400forces the use of integer values in font engines that support fractional font metrics.
 enum QFont::Weight

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.

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.

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.

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

Returns the current capitalization type of the font.

setCapitalization()
 QString QFont::defaultFamily ( ) const

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

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

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

QFontInfo
 QString QFont::family ( ) const

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

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

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

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

toString()
 HintingPreference QFont::hintingPreference ( ) const

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

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

Inserts newName into the substitution table for the family familyName.

insertSubstitutions(), removeSubstitution(), 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.

insertSubstitution(), removeSubstitution(), 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.

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

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

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

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

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.

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.

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

lastResortFamily(), rawName()
 qreal QFont::letterSpacing ( ) const

Returns the letter spacing for the font.

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

Returns the spacing type used for letter spacing.

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.

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.

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.

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

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

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

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.

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

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

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

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.

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

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

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

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.

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.

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.

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.

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

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

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.

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

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

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.

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.

NOTE: 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.

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

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

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

Sets the style of the font to style.

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.

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.

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

Sets the style strategy for the font to strategy.

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

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

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

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

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.

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

Returns the stretch factor for the font.

setStretch()
 bool QFont::strikeOut ( ) const

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

setStrikeOut()
 Style QFont::style ( ) const

Returns the style of the font.

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.

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.

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.

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

setFamily(), insertSubstitutions(), insertSubstitution(), removeSubstitution()
 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.

substitute(), insertSubstitutions(), insertSubstitution(), removeSubstitution()
 QStringList QFont::substitutions ( )
static

Returns a sorted list of substituted family names.

insertSubstitution(), removeSubstitution(), 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.

fromString()
 bool QFont::underline ( ) const

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

setUnderline()
 int QFont::weight ( ) const

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

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

Returns the word spacing for the font.

setWordSpacing(), setLetterSpacing()

Friends And Related Function Documentation

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

Writes the font to the stream.