QRawFont Class
QRawFont クラスはフォントの物理的なインスタンスへのアクセスを提供します。詳細...
ヘッダー | #include <QRawFont> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
qmake: | QT += gui |
- 継承メンバを含む全メンバのリスト
- QRawFontは暗黙の共有クラスに属しています。
パブリックタイプ
enum | AntialiasingType { PixelAntialiasing, SubPixelAntialiasing } |
enum | LayoutFlag { SeparateAdvances, KernedAdvances, UseDesignMetrics } |
flags | LayoutFlags |
パブリック関数
QRawFont() | |
QRawFont(const QByteArray &fontData, qreal pixelSize, QFont::HintingPreference hintingPreference = QFont::PreferDefaultHinting) | |
QRawFont(const QString &fileName, qreal pixelSize, QFont::HintingPreference hintingPreference = QFont::PreferDefaultHinting) | |
QRawFont(const QRawFont &other) | |
~QRawFont() | |
QList<QPointF> | advancesForGlyphIndexes(const QList<quint32> &glyphIndexes, QRawFont::LayoutFlags layoutFlags) const |
bool | advancesForGlyphIndexes(const quint32 *glyphIndexes, QPointF *advances, int numGlyphs, QRawFont::LayoutFlags layoutFlags) const |
QList<QPointF> | advancesForGlyphIndexes(const QList<quint32> &glyphIndexes) const |
bool | advancesForGlyphIndexes(const quint32 *glyphIndexes, QPointF *advances, int numGlyphs) const |
QImage | alphaMapForGlyph(quint32 glyphIndex, QRawFont::AntialiasingType antialiasingType = SubPixelAntialiasing, const QTransform &transform = QTransform()) const |
qreal | ascent() const |
qreal | averageCharWidth() const |
QRectF | boundingRect(quint32 glyphIndex) const |
qreal | capHeight() const |
qreal | descent() const |
QString | familyName() const |
(since 6.7) QByteArray | fontTable(QFont::Tag tag) const |
QByteArray | fontTable(const char *tag) const |
bool | glyphIndexesForChars(const QChar *chars, int numChars, quint32 *glyphIndexes, int *numGlyphs) const |
QList<quint32> | glyphIndexesForString(const QString &text) const |
QFont::HintingPreference | hintingPreference() const |
bool | isValid() const |
qreal | leading() const |
qreal | lineThickness() const |
void | loadFromData(const QByteArray &fontData, qreal pixelSize, QFont::HintingPreference hintingPreference) |
void | loadFromFile(const QString &fileName, qreal pixelSize, QFont::HintingPreference hintingPreference) |
qreal | maxCharWidth() const |
QPainterPath | pathForGlyph(quint32 glyphIndex) const |
qreal | pixelSize() const |
void | setPixelSize(qreal pixelSize) |
QFont::Style | style() const |
QString | styleName() const |
QList<QFontDatabase::WritingSystem> | supportedWritingSystems() const |
bool | supportsCharacter(QChar character) const |
bool | supportsCharacter(uint ucs4) const |
void | swap(QRawFont &other) |
qreal | underlinePosition() const |
qreal | unitsPerEm() const |
int | weight() const |
qreal | xHeight() const |
bool | operator!=(const QRawFont &other) const |
QRawFont & | operator=(const QRawFont &other) |
bool | operator==(const QRawFont &other) const |
静的パブリックメンバー
QRawFont | fromFont(const QFont &font, QFontDatabase::WritingSystem writingSystem = QFontDatabase::Any) |
関連する非メンバー
size_t | qHash(const QRawFont &key, size_t seed = 0) |
詳細説明
注意: QRawFontは低レベルのクラスです。ほとんどの目的には、QFont がより適切なクラスです。
ほとんどの場合、ユーザーインターフェイスでテキストを表示する場合、文字を表示するために使用される正確なフォントはある程度不明です。これにはいくつかの理由があります:例えば、ターゲットシステム上に存在する実際の物理的なフォントが開発者にとって予想外のものであったり、コードで選択されたフォントではサポートされていない、ユーザーが選択したスタイルやサイズ、文字体系がテキストに含まれていたりします。
そのため、Qt のQFont クラスはフォントのクエリを表しています。テキストが解釈されるとき、Qt はテキストをクエリに一致させるために最善を尽くしますが、サポートによっては、裏で異なるフォントが使用されることがあります。
ほとんどの使用例では、ユーザーインターフェイスのテキストが表示されない可能性を最小限に抑えるため、これは予想されることであり、また必要なことでもあります。しかし、場合によっては、プロセスをより直接的に制御することが有用なこともある。このようなユースケースのためにQRawFontクラスが存在します。
QRawFontオブジェクトは、指定されたフォントの、指定されたピクセルサイズにおける単一の物理的なインスタンスを表します。つまり、典型的なケースでは、TrueTypeまたはOpenTypeフォント・テーブルのセットを表し、ユーザーが指定したピクセル・サイズを使用して、メトリクスを論理ピクセル単位に変換します。これはQGlyphRun クラスと組み合わせて使用することで、特定のグリフインデックスを特定の位置に描画することができ、また物理フォント内のいくつかの関連データへのアクセッサを持つこともできます。
QRawFont は主要なフォント技術にのみ対応しています:WindowsプラットフォームではGDIとDirectWrite、LinuxプラットフォームではFreeType、macOSではCoreTextです。その他のフォントのバックエンドについては、APIは無効になります。
QRawFontは様々な方法で構築することができます:
- QTextLayout::glyphs() または QTextFragment::glyphs() を呼び出すことで構築できます。返される QGlyphs オブジェクトは QRawFont オブジェクトを含み、これはテキストの各部分のレンダリングに使われる実際のフォントを表します。
- これはQRawFont::fromFont() にQFont オブジェクトを渡すことで構築できます。この関数は、QFont のクエリに対する応答として選択されるフォントと、選択された書記体系を表す QRawFont オブジェクトを返します。
- QRawFont オブジェクトは、ファイル名やQByteArray を QRawFont コンストラクタに直接渡したり、loadFromFile() やloadFromData() を呼び出すことで構築することができます。こ の場合、 フ ォ ン ト はQFontDatabase には登録 さ れず、 通常の フ ォ ン ト 選択の一部 と し ては利用で き ません。
QRawFont は、それが構築されたスレッド(コンストラクタを使用するか、loadFromData ()またはloadFromFile ()を呼び出す)に対してローカルであるとみなされます。QRawFontを別のスレッドに移動することはできませんが、問題のスレッドで再作成する必要があります。
注: 静的テキストのグリフインデックスとフォント選択をキャッシュし、アプリケーションの内部ループでのリシェイプとリレイアウトを回避する必要がある場合は、QStaticText クラスを使用するのがよいでしょう。これはキャッシュのメモリコストを最適化し、さらに高速化のためにペイントエンジン固有のキャッシュを使用することができるからです。
メンバ型ドキュメント
enum QRawFont::AntialiasingType
この列挙型は、関数alphaMapForGlyph() でグリフをラスタライズするさまざまな方法を表します。
定数 | 値 | 説明 |
---|---|---|
QRawFont::PixelAntialiasing | 0 | 全ピクセルにおける形状のカバー率を測定することによってラスタライズする。返される画像は、グリフ形状のカバー率に基づく各ピクセルのアルファ値を含みます。 |
QRawFont::SubPixelAntialiasing | 1 | 各サブピクセルのカバー率を測定してラスタライズし、各ピクセルの赤、緑、青の各成分について個別のアルファ値を返します。 |
enum QRawFont::LayoutFlag
flags QRawFont::LayoutFlags
この enum は、関数advancesForGlyphIndexes() に進みの計算方法を指示します。
定数 | 値 | 説明 |
---|---|---|
QRawFont::SeparateAdvances | 0 | 各グリフの前進を個別に計算する。 |
QRawFont::KernedAdvances | 1 | 隣接するグリフ間にカーニングを適用する。OpenType GPOS ベースのカーニングは現在サポートされていないことに注意。 |
QRawFont::UseDesignMetrics | 2 | ペ イ ン ト デバ イ ス の解像度に合わせて調整 さ れた ヒ ン ト メ ト リ ッ ク のかわ り に、 デザ イ ン メ ト リ ッ ク を用います。上記のいずれかのオプシ ョ ン と OR にする こ と がで き ます。 |
LayoutFlags 型はQFlags<LayoutFlag> の typedef です。LayoutFlag値のORの組み合わせを格納する。
メンバー関数ドキュメント
QRawFont::QRawFont()
無効な QRawFont を構築します。
QRawFont::QRawFont(const QByteArray &fontData, qreal pixelSize, QFont::HintingPreference hintingPreference = QFont::PreferDefaultHinting)
与え ら れたfontData に含まれる フ ォ ン ト を、pixelSize で与えたサ イ ズ (単位 ピ ク セル) に対 し て、hintingPreference で指定 し た ヒ ン ト 化優先順位を用いて表現 し た QRawFont を構築 し ます。
注: データは TrueType または OpenType フ ォ ン ト を含んでいなければな り ません。
QRawFont::QRawFont(const QString &fileName, qreal pixelSize, QFont::HintingPreference hintingPreference = QFont::PreferDefaultHinting)
fileName で参照 さ れてい る フ ァ イ ル内に含まれてい る フ ォ ン ト を、pixelSize で与え ら れたサ イ ズ (単位 ピ ク セル) に対 し て、hintingPreference で指定 さ れた ヒ ン ト 化優先順位を用いて表現 し た QRawFont を構築 し ます。
注意 : 参照 さ れた フ ァ イ ルは TrueType か OpenType フ ォ ン ト を含んでいなければな り ません。
QRawFont::QRawFont(const QRawFont &other)
other のコピーである QRawFont を作成します。
[noexcept]
QRawFont::~QRawFont()
を破壊する。QRawFont
QList<QPointF> QRawFont::advancesForGlyphIndexes(const QList<quint32> &glyphIndexes, QRawFont::LayoutFlags layoutFlags) const
glyphIndexes それぞれのQRawFont の進み具合をピクセル単位で返す。進みは、与えられたグリフの位置から、次のグリフが描画されるべき位置までの距離を与え、あたかも 2 つのグリフの間隔が空いているかのように見せる。どのようにアドバンスが計算されるかはlayoutFlags で制御される。
注意: KernedAdvances
が要求されたとき、この関数は、TrueType テーブルKERN
からカーニング規則を適用します。多 く の最近のフ ォ ン ト では、 カーニ ン グは OpenType 規則ま たは AAT 規則に よ っ て処理 さ れますが、 こ れは完全なシ ェーピ ン グ段階を適用す る 必要があ り ます。テ キ ス ト を完全にシ ェーピ ン グ し た結果を得 る には、QTextLayout を用います。
QTextLine::horizontalAdvance(),QFontMetricsF::horizontalAdvance(),QTextLayout::glyphRuns()も参照 。
bool QRawFont::advancesForGlyphIndexes(const quint32 *glyphIndexes, QPointF *advances, int numGlyphs, QRawFont::LayoutFlags layoutFlags) const
glyphIndexes それぞれのQRawFont の進み具合をピクセル単位で返す。進みは、与えられたグリフの位置から、次のグリフが描画されるべき位置までの距離を与え、あたかも 2 つのグリフの間隔が空いているかのように見せる。numGlyphs グリフのインデックスは配列glyphIndexes で与えられ、結果はadvances で返される。進みの計算方法はlayoutFlags で制御されます。
注: KernedAdvances
が要求されたとき、この関数は、TrueType テーブルKERN
からカーニング規則を適用します。多 く の最近のフ ォ ン ト では、 カーニ ン グは OpenType 規則ま たは AAT 規則に よ っ て処理 さ れますが、 こ れは完全なシ ェーピ ン グ段階を適用す る 必要があ り ます。テ キ ス ト を完全にシ ェーピ ン グ し た結果を得 る には、QTextLayout を用います。
QTextLine::horizontalAdvance(),QFontMetricsF::horizontalAdvance(),QTextLayout::glyphRuns()も参照 。
QList<QPointF> QRawFont::advancesForGlyphIndexes(const QList<quint32> &glyphIndexes) const
これはオーバーロードされた関数である。
各glyphIndexes に対するQRawFont の進み量をピクセル単位で返す。アドバンスは、与えられたグリフの位置から、次のグリフが描画されるべき位置までの距離を与え、2つのグリフが間隔を空けていないように見えるようにする。各グリフの前進は個別に計算される。
QTextLine::horizontalAdvance() およびQFontMetricsF::horizontalAdvance()も参照のこと 。
bool QRawFont::advancesForGlyphIndexes(const quint32 *glyphIndexes, QPointF *advances, int numGlyphs) const
これはオーバーロードされた関数である。
各glyphIndexes に対するQRawFont の進み量をピクセル単位で返す。advanceは、与えられたグリフの位置から、次のグリフが描画されるべき位置までの距離を与え、あたかも2つのグリフの間隔が空いているかのように見せます。numGlyphs グリフのインデックスは配列glyphIndexes で与えられ、結果はadvances で返される。各グリフの前進は個別に計算されます
QTextLine::horizontalAdvance() およびQFontMetricsF::horizontalAdvance()も参照 。
QImage QRawFont::alphaMapForGlyph(quint32 glyphIndex, QRawFont::AntialiasingType antialiasingType = SubPixelAntialiasing, const QTransform &transform = QTransform()) const
こ の関数は、 下地フ ォ ン ト 内で与え ら れたglyphIndex にあ る グ リ フ の ラ ス タライズ画像を、 指定 さ れたtransform を用いて返 し ます。QRawFont が有効でない場合、 この関数は無効なQImage を返します。
フ ォ ン ト がカ ラ ー フ ォ ン ト の と き は、 結果画像は、 カ レ ン ト ピ ク セルサ イ ズでのレ ン ダ リ ング さ れたグ リ フ を内容 と し ます。こ の場合、antialiasingType は無視 さ れます。
そ う でない と きは、antialiasingType がQRawFont::SubPixelAntialiasing に設定 さ れていれば、 結果画像はQImage::Format_RGB32 にな り 、 各ピ ク セルの RGB 値は、 グ リ フ の ラ ス タ リ ゼーシ ョ ンにおけるそのピ ク セルのサブピ ク セルオプシ ョ ン を表 し ます。そうでない場合、画像はQImage::Format_Indexed8 の形式になり、各ピクセルはラスタライズにおけるピクセルの不透明度を含みます。
pathForGlyph() およびQPainter::drawGlyphRun()も参照 。
qreal QRawFont::ascent() const
このQRawFont のアセントをピクセル単位で返します。
フォントのアセントとは、ベースラインから文字が伸びる最も高い位置までの距離のことです。実際には、フォントデザイナーの中にはこのルールを破る人もいます。たとえば、文字の上に複数のアクセントを置いたり、エキゾチックな言語の珍しい文字に対応させたりする場合などです。
QFontMetricsF::ascent()も参照のこと 。
qreal QRawFont::averageCharWidth() const
このQRawFont の平均文字幅をピクセル単位で返します。
QFontMetricsF::averageCharWidth()も参照 。
QRectF QRawFont::boundingRect(quint32 glyphIndex) const
与えられたglyphIndex を持つグリフを含む最小の矩形を返します。
qreal QRawFont::capHeight() const
このQRawFont のキャップの高さをピクセル単位で返します。
フォントのキャップハイトとは、ベースラインから見た大文字の高さのことです。具体的には、O のような丸い文字や A のような尖った文字とは対照的に、H や I のような平らな大文字の高さです。
QFontMetricsF::capHeight()も参照 。
qreal QRawFont::descent() const
このQRawFont の降下をピクセル単位で返します。
下降は、ベースラインから文字が伸びる最下点までの距離です。実際には、フォントデザイナーの中には、異国語の珍しい文字に対応するためなど、このルールを破る人もいるので、この値が小さすぎる可能性もあります (まれですが)。
QFontMetricsF::descent()も参照 。
QString QRawFont::familyName() const
QRawFont の姓を返します。
[since 6.7]
QByteArray QRawFont::fontTable(QFont::Tag tag) const
tag で指定された sfnt テーブルを基礎となる物理フォントから取得します。 そのようなテーブルが見つからなかった場合は空のバイト配列を返します。返されるフォントテーブルのバイトオーダーは、sfnt フォーマットが指定するようにビッグエンディアンです。
この関数は Qt 6.7 で導入されました。
QByteArray QRawFont::fontTable(const char *tag) const
この関数はfontTable(QFont::Tag) をオーバーロードします。
名前は 4 文字の文字列でなければなりません。
[static]
QRawFont QRawFont::fromFont(const QFont &font, QFontDatabase::WritingSystem writingSystem = QFontDatabase::Any)
font ク エ リ に基づいて物理表現を取得 し ます。返される物理フォントは、選択されたwritingSystem でテキストを表示するために Qt が優先するフォントです。
警告: 警告 : こ の関数は高 コ ス ト にな る 可能性があ り ますので、 パフ ォーマ ン ス を重視す る コ ー ド では呼び出 し てはいけ ません。
bool QRawFont::glyphIndexesForChars(const QChar *chars, int numChars, quint32 *glyphIndexes, int *numGlyphs) const
グ リ フ イ ンデ ッ ク スへの Unicode 点列の変換 Unicode 点列を、 ベース と な っ てい る フ ォ ン ト 内の CMAP テーブルを用いてグ リ フ イ ンデ ッ ク スへ変換 し ます。この関数はglyphIndexesForString() のように動作しますが、配列 (chars) を受け取ります。結果はglyphIndexes 配列として返され、グリフの数はnumGlyphs に設定されます。glyphIndexes 配列のサイズはnumChars 以上でなければなりません。それでも足りない場合はこの関数は false を返し、numGlyphs で返されたサイズからglyphIndexes のサイズを変更することができます。
glyphIndexesForString(),advancesForGlyphIndexes(),QGlyphRun,QTextLayout::glyphRuns(),QTextFragment::glyphRuns()も参照の こと。
QList<quint32> QRawFont::glyphIndexesForString(const QString &text) const
text で与えられた unicode ポイントの文字列を、基礎となるフォント内の CMAP テーブルを用いてグリフインデックスに変換し、その結果を含むリストを返します。
テ キ ス ト の形に影響を与え る テーブルが フ ォ ン ト 内に他にあ る 場合には、 返 さ れ る グ リ フ イ ンデ ッ ク ス はテ キ ス ト のレ ン ダ リ ングを正 し く 表 し ていない こ と に留意 し て く だ さ い。正しく整形されたテキストを得るには、QTextLayout を使ってテキストをレイアウトして整形し、QTextLayout::glyphs() を呼び出してグリフインデックスリストとQRawFont のペアのセットを取得します。
advancesForGlyphIndexes(),glyphIndexesForChars(),QGlyphRun,QTextLayout::glyphRuns(),QTextFragment::glyphRuns()も参照してください 。
QFont::HintingPreference QRawFont::hintingPreference() const
このQRawFont を構築するために使用されたヒンティングの優先順位を返します。
QFont::hintingPreference()も参照 。
bool QRawFont::isValid() const
QRawFont が有効であればtrue
を返し、そうでなければ false を返す。
qreal QRawFont::leading() const
QRawFont の行頭をピクセル単位で返す。
これは自然な行間です。
QFontMetricsF::leading()も参照 。
qreal QRawFont::lineThickness() const
このフォントで描画されたテキストに沿った線 (下線、上線など) を描画するための太さを返します。
void QRawFont::loadFromData(const QByteArray &fontData, qreal pixelSize, QFont::HintingPreference hintingPreference)
カ レ ン トQRawFont を、 与えたfontData に含まれる フ ォ ン ト で、pixelSize で与えたサ イ ズ (単位 ピ ク セル) に対 し て、hintingPreference で指定 し た ヒ ン ト 化優先順位を用いて置 き 換え ます。
fontData は TrueType か OpenType フ ォ ン ト を含んでいなければな り ません。
loadFromFile ()も参照してください 。
void QRawFont::loadFromFile(const QString &fileName, qreal pixelSize, QFont::HintingPreference hintingPreference)
カ レ ン トQRawFont を、fileName で参照 さ れてい る フ ァ イ ルの内容へ、pixelSize で与えたサ イ ズ (単位 ピ ク セル) に対 し て、hintingPreference で指定 し た ヒ ン ト 化優先順位を用いて置き換えます。
フ ァ イ ルは TrueType か OpenType フ ォ ン ト を参照 し てい る 必要があ り ます。
loadFromData ()も参照 。
qreal QRawFont::maxCharWidth() const
フォント内で最も幅の広い文字の幅を返します。
QFontMetricsF::maxWidth()も参照 。
QPainterPath QRawFont::pathForGlyph(quint32 glyphIndex) const
こ の関数は、 下地フ ォ ン ト 内の与え ら れたglyphIndex におけ る グ リ フ の形を、 そのQRawFont が有効であれば返 し ます。そうでない場合は、空のQPainterPath を返します。
返されるグリフは常にヒントなしとなります。
alphaMapForGlyph() およびQPainterPath::addText()も参照して ください。
qreal QRawFont::pixelSize() const
こ のQRawFont に設定 さ れてい る ピ ク セルサ イ ズ を返 し ます。ピクセルサイズは、グリフのラスタライズ方法や、pathForGlyph() が返すグリフのサイズに影響し、内部メトリクスをデザイン単位から論理ピクセル単位に変換するために使用されます。
setPixelSize()も参照してください 。
void QRawFont::setPixelSize(qreal pixelSize)
このフォントをレンダリングするピクセルサイズをpixelSize に設定します。
pixelSize()も参照 。
QFont::Style QRawFont::style() const
このQRawFont のスタイルを返します。
QFont::style()も参照 。
QString QRawFont::styleName() const
このQRawFont のスタイル名を返します。
QFont::styleName()も参照 。
QList<QFontDatabase::WritingSystem> QRawFont::supportedWritingSystems() const
フ ォ ン ト が対応 し てい る 書 き 方の リ ス ト を、 フ ォ ン ト フ ァ イ ル内のデザイナが与え る 情報に従っ て返 し ます。こ れは、 フ ォ ン ト 内の特定の unicode 点への対応を保証す る も のではない こ と に留意 し て く だ さ い。supportsCharacter() を使えば、単一の特定の文字への対応を調べることができます。
注 : こ の リ ス ト は、 フ ォ ン ト の OS/2 テーブル内に設定 さ れてい る unicode 範囲 と コ ー ド ページ範囲に基づいて決定 さ れますので、 その よ う なテーブルが基 と な る フ ォ ン ト フ ァ イ ル内に存在 し てい る 必要があ り ます。
supportsCharacter()も参照 。
bool QRawFont::supportsCharacter(QChar character) const
与えられたcharacter に対応するグリフをフォントが持っていればtrue
を返します。
supportedWritingSystems()も参照して ください。
bool QRawFont::supportsCharacter(uint ucs4) const
これはオーバーロードされた関数です。
UCS-4 でエンコードされたキャラクタucs4 に対応するグリフがフォントにあればtrue
を返します。
supportedWritingSystems()も参照してください 。
[noexcept]
void QRawFont::swap(QRawFont &other)
この生フォントをother と交換する。この操作は非常に高速で、失敗することはない。
qreal QRawFont::underlinePosition() const
このフォントでレンダリングされたテキストの下にアンダーラインを引くためのベースラインからの位置を返します。
qreal QRawFont::unitsPerEm() const
このQRawFont の em 正方形の幅と高さを定義するデザイン単位の数を返します。内部 メ ト リ ッ ク はデザ イ ン単位で指定 さ れ、 ピ ク セルサ イ ズは 1 em のサ イ ズ を ピ ク セル単位で与え る ので、 こ の値はデザ イ ン メ ト リ ッ ク を ピ ク セル単位に変換す る 際に ピ ク セルサ イ ズ と と も に用い ら れます。
pixelSize() とsetPixelSize()も参照 。
int QRawFont::weight() const
このQRawFont の重さを返す。
QFont::weight()も参照 。
qreal QRawFont::xHeight() const
このQRawFont の xHeight をピクセル単位で返す。
これは文字 'x' の高さと同じであることが多いが、 必ずしもそうとは限らない。
QFontMetricsF::xHeight()も参照 。
bool QRawFont::operator!=(const QRawFont &other) const
QRawFont がother と等しくない場合はtrue
を返す。そうでない場合はfalse
を返す。
QRawFont &QRawFont::operator=(const QRawFont &other)
QRawFont にother を割り当てる。
bool QRawFont::operator==(const QRawFont &other) const
このQRawFont がother と等しい場合はtrue
を返す。そうでない場合はfalse
を返す。
関連する非会員
[noexcept]
size_t qHash(const QRawFont &key, size_t seed = 0)
key のハッシュ値を返す。計算のシードにはseed を使用する。
© 2025 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.