このページでは

font QML Value Type

QFont のプロパティを持つフォント値。 font 型は、QFont のプロパティを持つフォント値を指します。詳細...

Import Statement: import QtQuick

プロパティ

詳細な説明

font 型のプロパティは、デフォルトでアプリケーションのデフォルト値であるfont が設定されます。

例:

    Text {
        font.family: "Helvetica"
        font.pointSize: 13
        font.bold: true
    }

font はstructured value 型であるため、JavaScriptオブジェクトを使用してインスタンス化することも可能です:

    readonly property font myFont: ({
        family: "Helvetica",
        pointSize: 13,
        bold: true
    })

C++と統合する際は、C++からQMLに渡される QFont の値は自動的にfont の値に変換され、その逆も同様である点に注意してください。

この値型は、QtQuick インポートによって提供されます。

「QMLの値型」も参照してください 。

プロパティのドキュメント

bold : bool

フォントの太さが太字かどうか。

capitalization : enumeration

テキストの大文字表記。

定数説明
Font.MixedCase通常の場合:大文字化の変更は行われない
Font.AllUppercaseテキストをすべて大文字で表示されるように変更する
Font.AllLowercaseテキストをすべて小文字で表示するように変更します
Font.SmallCapsテキストをスモールキャップスで表示するように変更します
Font.Capitalize各単語の最初の文字を大文字にしてテキストを表示するように変更する
Text { text: "Hello"; font.capitalization: Font.AllLowercase }

contextFontMerging : bool [since 6.8]

選択したフォントに特定の文字が含まれていない場合、Qt はその文字を含む、見た目が似ている代替フォントを自動的に選択します。デフォルトでは、これは文字単位で行われます。

つまり、ごくまれなケースでは、たとえ同じ文字体系のテキストであっても、1つの文字列を表現するために多くの異なるフォントが使用される可能性があります。contextFontMerging をtrueに設定すると、代わりに、入力文字列の最大の部分集合に一致するフォールバックフォントを検索するようになります。これは、欠落しているグリフが含まれる文字列では処理負荷が高くなりますが、より一貫性のある結果が得られる可能性があります。 デフォルトでは、contextFontMerging はfalse に設定されています。

このプロパティは Qt 6.8 で導入されました。

QFont::StyleStrategyも参照してください 。

family : string

フォントのファミリー名。

ファミリー名は大文字小文字を区別せず、必要に応じてフォントメーカー名を含めることもできます(例:「Helvetica [Cronyx]」)。 そのフォントファミリーが複数のフォントメーカーから提供されており、かつフォントメーカーが指定されていない場合は、任意のフォントメーカーが選択されます。そのフォントファミリーが利用できない場合は、フォントマッチングアルゴリズムを使用してフォントファミリーが設定されます。

features : object [since 6.6]

テキストの内容に基づいてテキストの形状を調整する際、特定の OpenType 機能に整数値を適用します。これにより、フォントの形状調整プロセスへの高度なアクセスが可能となり、API では通常サポートされていないフォント機能をサポートするために使用できます。

フォント機能は、4文字のタグと整数値の対応関係によって表されます。ほとんどの場合、タグとともに渡されるこの整数値はブール値を表します。つまり、値が0の場合はその機能が無効であり、0以外の値の場合は有効であることを意味します。ただし、特定のフォント機能については、別の解釈が適用される場合があります。 たとえば、「salt 」機能に適用する場合、その値は使用するスタイルの代替案を指定するインデックスとなります。

例えば、「frac 」フォント機能は、スラッシュで区切られた斜体の分数(1/2 など)を、異なる表現に変換します。通常、これは分数全体を単一の文字幅に収めることを意味します(½ など)。

フォントがfrac 機能をサポートしている場合、以下のコードのようにシェイパーで有効にすることができます:

Text {
    text: "One divided by two is 1/2"
    font.family: "MyFractionFont"
    font.features: { "frac": 1 }
}

同じマッピング内で複数の機能に値を割り当てることができます。たとえば、そのフォントのカーニングも無効にしたい場合は、次のように明示的に無効にすることができます:

Text {
    text: "One divided by two is 1/2"
    font.family: "MyFractionFont"
    font.features: { "frac": 1, "kern": 0 }
}

また、フォントプロパティをオブジェクトにまとめて取得することもできます:

Text {
    text: "One divided by two is 1/2"
    font: {
        family: "MyFractionFont"
        features: { "frac": 1, "kern": 0 }
    }
}

注:デフォルトでは 、Qtは他のフォントプロパティに基づいて特定のフォント機能を有効または無効にします。特に、kern 機能は、font::kerning プロパティに応じて有効または無効になります。さらに、すべての合字機能(liga 、clig 、

dlig、hlig )は、`font.letterSpacing`が設定されている場合に無効化されますが、これは合字の使用が装飾的な目的のみである文字体系に限られます。合字が必須とされる文字体系では、これらの機能はデフォルトの状態のまま維持されます。font.features を使用して設定された値は、デフォルトの動作を上書きします。たとえば、"kern" が 1 に設定されている場合、font::kerning プロパティが false に設定されているかどうかに関係なく、カーニングは常に有効になります。同様に、

0 に設定された場合、カーニングは常に無効になります。

このプロパティは Qt 6.6 で導入されました。

QFont::setFeature()も参照してください 。

hintingPreference : enumeration

テキストに適用する推奨ヒンティング。

これは、基盤となるテキストレンダリングシステムに対して、特定のレベルのヒンティングを使用するよう指示するものであり、プラットフォームによってサポート状況が異なります。詳細については、QFont::HintingPreference のドキュメントにある表を参照してください。

注:この プロパティは、レンダリングタイプText.NativeRendering と組み合わせて使用した場合にのみ効果があります。

定数説明
Font.PreferDefaultHintingターゲットプラットフォームのデフォルトのヒンティングレベルを使用します。
Font.PreferNoHinting可能であれば、グリフのアウトラインにヒンティングを適用せずにテキストをレンダリングします。テキストのレイアウトは、たとえば印刷時と同じメトリクスを使用することで、タイポグラフィ的に正確なものになります。
Font.PreferVerticalHinting可能であれば、水平方向のヒンティングを行わずにテキストをレンダリングしますが、垂直方向にはグリフをピクセルグリッドに揃えます。 ディスプレイの密度が低すぎてグリフを正確にレンダリングできない場合、テキストはより鮮明に表示されます。しかし、グリフの水平メトリックにはヒンティングが適用されていないため、改行などの細部に影響を与えることなく、高密度のデバイス(プリンタなど)に合わせてテキストのレイアウトをスケーリングすることができます。
Font.PreferFullHinting可能であれば、水平方向と垂直方向の両方にヒンティングを適用してテキストをレンダリングしてください。 テキストは、ターゲットデバイスでの可読性を最適化するために変更されますが、メトリクスはテキストのターゲットサイズに依存するため、グリフの位置、改行、その他の組版上の詳細はスケーリングされません。つまり、ピクセル密度が異なるデバイスでは、テキストのレイアウトが異なって見える可能性があります。
Text { text: "Hello"; renderType: Text.NativeRendering; font.hintingPreference: Font.PreferVerticalHinting }

italic : bool

そのフォントにイタリック体があるかどうか。

kerning : bool

テキストの整形時に、OpenTypeのカーニング機能を有効または無効にします。これを無効にすると、テキストの作成や変更時のパフォーマンスが向上する可能性がありますが、その代わりに一部の視覚的な機能が犠牲になります。デフォルト値はtrue です。

Text { text: "OATS FLAVOUR WAY"; font.kerning: false }

letterSpacing : real

フォントの文字間隔。

文字間隔は、フォント内の個々の文字間のデフォルトの間隔を変更します。正の値を設定すると、文字間隔が対応するピクセル数だけ広がり、負の値を設定すると狭くなります。

pixelSize : int

ピクセル単位のフォントサイズ。

フォントをデバイス依存にします。デバイス非依存の方法でフォントサイズを設定するには、pointSize を使用してください。

pointSize : real

フォントサイズ(ポイント単位)。ポイントサイズは0より大きくなければなりません。

preferShaping : bool

フォントによっては、文字を正しく表示するために、特定の文字群に対して複雑なルールを適用する場合があります。 ブラフミー文字系などの一部の文字体系では、テキストを読みやすくするためにこれが不可欠ですが、例えばラテン文字系では、これはあくまで見た目を整えるための機能に過ぎません。preferShaping プロパティをfalseに設定すると、必要のない場合にこうした機能をすべて無効にすることができ、ほとんどの場合、パフォーマンスが向上します。

デフォルト値は `true` です。

Text { text: "Some text"; font.preferShaping: false }

preferTypoLineMetrics : bool [since 6.8]

フォントのascent 、descent 、leading を指定する、互いに競合する一連の垂直線メトリック。これらは、しばしば「win(Windows)メトリック」と「typo(組版)メトリック」と呼ばれます。 仕様では行間隔に「typo 」メトリクスの使用が推奨されていますが、多くのアプリケーションでは、フォントのfsSelectionフィールドに USE_TYPO_METRICS フラグが設定されていない限り、「win 」メトリクスを優先します。下位互換性の理由から、Qtアプリケーションでも同様です。 これは、USE_TYPO_METRICS フラグを設定してtypo メトリクスが有効であることを示しているフォントや、win メトリクスとtypo メトリクスが一致しているフォントについては問題になりません。しかし、特定のフォントでは、win メトリクスが望ましい行間よりも大きくなる場合があり、USE_TYPO_METRICS フラグが誤って設定されていないことがあります。そのようなフォントの場合、font.preferTypoLineMetrics を設定することで、より良い結果が得られる可能性があります。

デフォルトでは、preferTypoLineMetrics はfalse に設定されています。

このプロパティは Qt 6.8 で導入されました。

「QFont::StyleStrategy」も参照してください 。

strikeout : bool

そのフォントに打ち消し線スタイルがあるかどうか。

styleName : string

フォントのスタイル名。

スタイル名は大文字と小文字を区別しません。これを設定すると、フォントはfont.weight 、font.bold 、font.italic といったフォントプロパティではなく、スタイル名に基づいて照合されます。

underline : bool

そのテキストに下線が引かれているかどうか。

variableAxes : object [since 6.7]

可変フォントの可変軸に浮動小数点値を適用します。

可変フォントは、同じフォントファイル内に複数のバリエーション(太さ、幅、スタイルが異なるもの)を格納する方法を提供します。これらのバリエーションは、「可変軸」と呼ばれる事前定義されたパラメータセットに対する浮動小数点値として指定されます。 特定のインスタンスには通常、フォントデザイナーによって名前が付けられており、Qtでは、従来のサブファミリーと同様にsetStyleName()を使用してこれらを選択できます。

場合によっては、さまざまな軸に任意の値を指定することも有用です。たとえば、フォントに「Regular」と「Bold」のサブファミリーがある場合、その中間の太さを指定したいことがあるでしょう。その場合は、フォントの「wght」軸にカスタム値を指定することで、手動でこれを要求することができます。

Text {
    text: "Foobar"
    font.family: "MyVariableFont"
    font.variableAxes: { "wght": (Font.Normal + Font.Bold) / 2.0 }
}

フォントが「wght」軸をサポートしており、指定された値がその定義された範囲内にある場合、ウェイト550.0に対応するフォントが提供されます。

多くのフォントが提供する標準的な軸として、「wght」(ウェイト)、「wdth」(幅)、「ital」(イタリック)、「opsz」(光学サイズ)などがあります。これらにはそれぞれ、フォント自体で定義された個別の範囲があります。 たとえば、「wght」の範囲は 100 から 900(QFont::Thin からQFont::Black )であるのに対し、「ital」の範囲は 0 から 1(イタリックなしから完全なイタリック)である場合があります。

フォントはカスタム軸を定義することも可能です。唯一の制限は、その名前がQFont::Tag (4 文字の Latin-1 文字のシーケンス)の要件を満たす必要があるという点です。

デフォルトでは、可変軸は設定されていません。

注: Windowsでは 、オプションの GDI フォントバックエンドが使用されている場合、可変軸はサポートされません。

このプロパティは Qt 6.7 で導入されました。

QFont::setVariableAxis()も参照してください 。

weight : int

指定するフォントのウェイト。指定するウェイトは、1 から 1000 までの整数、または以下の事前定義値のいずれかでなければなりません。

定数説明
Font.Thin100
Font.ExtraLight200
Font.Light300
Font.Normal400(デフォルト)
Font.Medium500
Font.DemiBold600
Font.Bold700
Font.ExtraBold800
Font.Black900
Text { text: "Hello"; font.weight: Font.DemiBold }

wordSpacing : real

フォントの単語間隔。

単語間隔を設定すると、個々の単語間のデフォルトの間隔が変更されます。正の値を設定すると、単語間隔がそれに対応するピクセル数だけ広がり、負の値を設定すると、それに対応して単語間隔が狭くなります。

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