Tag Struct

struct QFont::Tag

The QFont::Tag type provides access to advanced font features. More...

This struct was introduced in Qt 6.7.

Public Functions

Tag()
Tag(const char (&)[N] str)
bool isValid() const
QByteArray toString() const
quint32 value() const

Static Public Members

std::optional<QFont::Tag> fromString(QAnyStringView view)
std::optional<QFont::Tag> fromValue(quint32 value)
Qt::strong_ordering compareThreeWay(const QFont::Tag &lhs, const QFont::Tag &rhs)
bool comparesEqual(const QFont::Tag &lhs, const QFont::Tag &rhs)
size_t qHash(QFont::Tag key, size_t seed = 0)

Detailed Description

QFont provides access to advanced features when shaping text. A feature is defined by a tag, which can be represented as a four-character string, or as a 32bit integer value. This type represents such a tag in a type-safe way. It can be constructed from a four-character, 8bit string literal, or from a corresponding 32bit integer value. Using a shorter or longer string literal will result in a compile-time error.

QFont font;
// Correct
font.setFeature("frac");

// Wrong - won't compile
font.setFeature("fraction");

// Wrong - will produce runtime warning and fail
font.setFeature(u"fraction"_s);

The named constructors allow to create a tag from an 32bit integer or string value, and will return a std::nullopt when the input is invalid.

See also QFont::setFeature() and QFont::featureTags().

Member Function Documentation

[constexpr noexcept] Tag::Tag()

Default constructor, producing an invalid tag.

[constexpr noexcept] template <size_t N> Tag::Tag(const char (&)[N] str)

Constructs a tag from a string literal, str. The literal must be exactly four characters long.

font.setFeature("frac", 1);

See also fromString() and fromValue().

[static noexcept] std::optional<QFont::Tag> Tag::fromString(QAnyStringView view)

Returns a tag constructed from the string in view. The string must be exactly four characters long.

Returns std::nullopt if the input is not four characters long, or if the tag produced would be invalid.

See also isValid() and fromValue().

[static constexpr noexcept] std::optional<QFont::Tag> Tag::fromValue(quint32 value)

Returns a tag constructed from value, or std::nullopt if the tag produced would be invalid.

See also isValid().

[constexpr noexcept] bool Tag::isValid() const

Returns whether the tag is valid. A tag is valid if its value is not zero.

See also value(), fromValue(), and fromString().

QByteArray Tag::toString() const

Returns the string representation of this tag as a byte array.

See also fromString().

[constexpr noexcept] quint32 Tag::value() const

Returns the numerical value of this tag.

See also isValid() and fromValue().

Related Non-Members

[constexpr noexcept] Qt::strong_ordering compareThreeWay(const QFont::Tag &lhs, const QFont::Tag &rhs)

[constexpr noexcept] bool comparesEqual(const QFont::Tag &lhs, const QFont::Tag &rhs)

Compare lhs with rhs for equality and ordering.

[constexpr noexcept] size_t qHash(QFont::Tag key, size_t seed = 0)

Returns the hash value for key, using seed to seed the calculation.

© 2024 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.