C
font QML Value Type
フォントの設定。もっと...
- font はQt Quick Ultralite QML Basic Types の一部です。
列挙
プロパティ
- bold : bool
- family : string
- italic : bool
- letterSpacing : int
(since Qt Quick Ultralite 2.11) - pixelSize : int
- pointSize : int
- quality : Quality
(since Qt Quick Ultralite 1.9) - unicodeCoverage : var
(since Qt Quick Ultralite 1.1) - unicodeCoverageIncludeUpperCase : bool
(since Qt Quick Ultralite 2.9) - weight : Weight
詳細
フォント構成を記述するフォントタイプ。
Monotype Spark フォントエンジンを使用する場合、フォント設定はフォントクラスのマッピングルールを使用します。関連項目:テキストレンダリングとフォント、Qt.font ()。
使用例
Text { font.family: "Helvetica"; font.pixelSize: 24; font.bold: true }
一定のフォント設定
注 : 静的 フ ォ ン ト エン ジ ンとStaticText 項目は、 定数フ ォ ン ト 構成にのみ対応 し てい ます。
定数フ ォ ン ト 構成と は、qmltocpp に よ っ てすべてのサブプ ロ パテ ィ が定数値に解決で き る フ ォ ン ト 設定の こ と を指 し ます。letterSpacing プロパテ ィ は、 フ ォ ン ト 構成が定数 と 見な さ れ る か ど う かには影響 し ません。こ のため、静的フ ォ ン ト エン ジ ンやStaticText 項目を使っ てい る と き で も 、letterSpacing に対 し て動的値 (バ イ ンデ ィ ン グ) を用い る こ と が許 さ れます。
下記の例では、qmltocpp に よ っ てすべての フ ォ ン ト プ ロ パテ ィ が定数値に解決 さ れてい ます。なお、バインディングはreadonly プロパティを参照しています。
readonly property int titlePixelSize: 40 readonly property font myFontConfig: Qt.font({ pixelSize: titlePixelSize }) Text { text: "hello world" font.pixelSize: titlePixelSize } Text { text: "hello world 2" font: myFontConfig } Text { text: "hello world 3" font.italic: true }
Qt Quick Ultralite またはフォントエンジン固有の詳細
バインディング
バージョン1.7から、Sparkフォントエンジンでフォントのサブプロパティにバインディングを定義できるようになりました。
Text { text: "Hello world from Qt" font.italic: italicSwitch.checked font.pixelSize: pixelSizeSlider.value }
バインディング評価とフォントマップファイル内のフォントクラス名の対応付けの詳細については、フォントバインディングの例を参照してください。
どちらのフ ォ ン ト エン ジ ン も フ ォ ン ト プ ロ パテ ィ へのバ イ ンデ ィ ン グ を許 し てい ます。たとえば
readonly property font fontConf1: Qt.font({ pixelSize: 30 }) readonly property font fontConf2: Qt.font({ pixelSize: 50 }) Text { // Binding on font property. font: someCondition ? fontConf1 : fontConf2 text: "some text" }
これにより、静的エンジンでは実行時にフォントを変更できますが、スパークエンジンではフォントのサブプロパティのバインディングを細かく制御することはできません。
最適化
テキストが同じスタイルを使用するフォント設定(Text.font)を共有することで、メモリ使用量を最適化できます。Qt.font() も参照してください。
Text { // Sharing the font configuration with other Text element through a binding. font: myText.font text: "some text" }
Constant font configurations は、 生成された C++ コ ー ド 内で自動的に共有 さ れます。
代入
Qt Quick Ultralite のfont 基本型は定数値なので、フォントのサブプロパティへの代入には対応していません。
// error: Assigning to properties of 'font' is not supported, use bindings onClicked: myText.font.italic = false
エラーメッセージが示唆するように、バインディングを使って同じ結果を得ることができます。
property bool isItalic: true Text { text: "hello world" font.italic: isItalic } MouseArea { anchors.fill: parent onClicked: isItalic = false }
読み方
フォントのサブプロパティの読み込みは実装されていません。
列挙ドキュメント
Quality |
フォント品質の選択肢のリストを提供します。
要求された品質は、定義済みの値のいずれかでなければなりません:
| 定数 | 説明 |
|---|---|
Font.QualityVeryLow | 低品質のグリフを使う。 |
Font.QualityVeryHigh | 高品質のグリフを使います。 |
Weight |
選択可能なフォントの太さのリストを提供します。
| 定数 | 説明 |
|---|---|
Font.Thin | 100 |
Font.ExtraLight | 200 |
Font.Light | 300 |
Font.Normal | 400 |
Font.Medium | 500 |
Font.DemiBold | 600 |
Font.Bold | 700 |
Font.ExtraBold | 800 |
Font.Black | 900 |
物件資料
bold : bool |
フォントの太さを設定します。
family : string |
フォントのファミリー名を設定します。デフォルトのフォント・ファミリはMCU.Config.defaultFontFamilyで設定されます。
静的フォント・エンジン
ファミリー名は大文字と小文字を区別せず、例えば "Helvetica [Cronyx]" のようにファウンドリ名を含む場合があります。ファミリが複数のファウンドリから利用可能で、ファウンドリが指定されていない場合、任意のファウンドリが選択されます。ファミリが利用できない場合は、フォントマッチングアルゴリズムを使ってファミリが設定されます。
Spark フォントエンジン
Fontmapファイル形式を使用する場合、MCU.Config.defaultFontFamilyQmlProjectプロパティの値が読み込まれます。それ以外の場合は、font.pixelSize フォント設定のみが使用されます。
italic : bool |
フォントにイタリック体があるかどうかを設定します。
letterSpacing : int |
テキスト レイアウトの文字間隔を設定します。
文字間隔は、テキストレイアウトの個々の文字のデフォルトの間隔を変更します。正の値を指定すると、文字間隔は対応するピクセル分大きくなり、負の値を指定すると、文字間隔は小さくなります。
注: Qt Quick Ultraliteはアラビア文字のカシダサポートを実装していません。その代わりに空白が使用されますが、これはアラビア語のテキストに対するタイポグラフィの期待には適合しません。要件やコンテキストによっては、アイテムがアラビア語のコンテンツを表示しているときに文字間隔を無効にしたい場合があります。
このプロパティはQt Quick Ultralite 2.11 で導入されました。
pixelSize : int |
フォントサイズをピクセル単位で設定します。
pointSize : int |
pointSize プロパティは、既知の問題または制限のページで文書化されているように、スクリーンDPIを尊重しません。現在、設定値は1.5倍にスケーリングされます。代わりにfont.pixelSize 。
quality : Quality |
フォントのレンダリング品質。
font.quality プロパティは、低品質のグリフをレンダリングするためのヒントを提供することで、よりきめ細かい最適化を可能にする。
例
Text { font: Qt.font({ quality: Font.QualityVeryHigh }) text: "..." }
注意: quality プロパティはQt.font() 関数の中でしか設定できません。
注 :この機能は、すべてのリファレンス・ボードのハードウェアでサポートされていない可能性があります。詳細については、サポートされる機能の表を参照してください。
最適化
デフォルトでは、フォントコンパイラは、使用されるすべてのフォント構成において、使用されるすべてのキャラクタに対してグリフを生成します。その結果、冗長なグリフが生成されることがあります。例えば
Text { font: Qt.font({ quality: Font.QualityVeryHigh }) text: "a" } Text { font: Qt.font({ quality: Font.QualityVeryLow }) text: "b" }
先述の例では、 「ab」 キ ャ ラ ク タ に対す る グ リ フ が、VeryHigh 用 とVeryLow 用の 2 回生成 さ れてい ます。こ れに よ り 、 既存のテ キ ス ト 項目間でテ キ ス ト プ ロ パテ ィ をバ イ ン ド す る こ と がで き ます。この動作を無効にするには、MCU.Config.autoGenerateGlyphsをOFF に設定します。
アプリケーションのデフォルトのフォント品質を設定するには、MCU.Config.defaultFontQualityQmlProjectプロパティを参照してください。
このプロパティはQt Quick Ultralite 1.9 で導入されました。
unicodeCoverage : var |
このプロパティはQt.font() コンテキストでのみサポートされています。
注意: unicodeCoverage プロパティは、使用するフォントエンジンによって意味が異なります。フォント・エンジン固有の詳細については、テキスト・レンダリングとフォントを参照してください。
ROMの使用を最適化するには、このプロパティをMCU.Config.autoGenerateGlyphsと組み合わせて使用します。
配列には
- 追加するグリフを含む文字列リテラル。
Font.UnicodeBlock_Kannadaのような Unicode ブロック列挙値。対応する enum 値の一覧はunicode ブロック名 を参照してください。[0x600, 0x61F]の よ う な、 Unicode 範囲を示す対の リ ス ト 。
例
Text { font: Qt.font({ family: "DejaVu Sans", unicodeCoverage: [Font.UnicodeBlock_Kannada, "ᜠᜡ\u1722", [0x600, 0x61F]] }) text: CppSingleton.retrieveText() }
例: 先ほどの例では、Text 項目で使われているフォント構成に対して、多くの余分なユニコードコードポイントのグリフがプリレンダリングされています。こ の情報はアプ リ ケーシ ョ ンのバ イ ナ リ に コ ンパ イ ル さ れます。Kannada" Unicode ブ ロ ッ ク 内の コ ー ド ポ イ ン ト 、 コ ー ド ポ イ ン ト 範囲 0x600 ~ 0x61F(含む)、 個々のキ ャ ラ ク タ ᜠ ・ ᜡ ・ U+1722 が含まれます。
コ ー ド ポ イ ン ト ご と に生成 さ れ る グ リ フ は 1 個だけ です。コードの構成やカプセル化に役立つのであれば、同じカバレッジをさまざまな場所で繰り返すことができます。ツールは重複グリフを除外します。
このプロパティはQt Quick Ultralite 1.1 で導入されました。
unicodeCoverageIncludeUpperCase : bool |
このプロパティはQt.font() コンテキストでのみサポートされています。
こ のプ ロ パテ ィ をfont.unicodeCoverage と 組み合わせて用い る と 、font.unicodeCoverage に挙げ ら れてい る コ ー ド ポ イ ン ト の大文字バ リ ア ン ト を含め る こ と がで き ます。 コ ー ド ポ イ ン ト が Unicode で大文字バ リ ア ン ト を持たない と き は、 その特定の コ ー ド ポ イ ン ト に対す る アプ リ ケーシ ョ ンには小文字グ リ フのみがバ ン ド さ れます。こ の関数は、 アプ リ ケーシ ョ ンが JSstring.toUpperCase() を利用す る 場合に便利です。バンドルされたグリフを準備するアルゴリズムは、toUpperCase() を使って何をバンドルするかを決定します。toUpperCase() アルゴ リ ズ ムは、 い く つかの状況で期待どお り に動作 し ません。 こ れを回避す る には、unicodeCoverageIncludeUpperCase を用いて確実な結果を得 る こ と がで き ます。
デフ ォル ト 値はfalse です。
このプロパティはQt Quick Ultralite 2.9 で導入されました。
weight : Weight |
フ ォ ン ト の太 さ を設定 し ます。以下の列挙に対応しています: