4D-jp 4D Japan Technical Support Team

CSSでシステムフォントを指定するには

2024-10-14

プロジェクトモードでは,フォームオブジェクトのプロパティをCSSファイルで管理することができます。CSSは,HTMLを修飾するための言語として有名ですが,4Dの場合,フォームオブジェクトの属性つまりプロパティ全般をCSSで設定します。

developer.4d.com

たとえば,下記の要領でボタン・テキスト・入力オブジェクトのフォント名をまとめて設定することができます。

button,text,input {
	font-family: Helvetica Neue;
	font-size: 20px;
}

CSSのルールによれば,オブジェクトタイプ(HTMLの要素セレクターに相当)よりもオブジェクト名(HTMLのIDセレクターに相当)のほうがスペシフィシティ(詳細度)が高いので,プロパティリストに値が入力されていると,CSSはオーバーライドされ,レンダリングに反映されません。プロパティリストに入力された値はcontrol キーを押しながら項目名をクリックすることでクリアできます。

フォント名はfont-familyで指定しますが,システムフォントは自動スタイル経由で,つまりfont-themenormal を指定することにより,間接的に指定します。

button,text,input {
	font-theme: normal;
}

つまり「システムフォント」「system font」などの”フォント名”をfont-familyに指定するのは間違いです。ただし,CSSやプロパティリスト(.4DForm ファイル)でフォント名が特に指定されていなければ,結果的にシステムフォントが採用されます(ACI0104997の注記を参照)。


関連記事

リンク