メインコンテンツまでスキップ
バージョン: 20 R7 BETA

FONT LIST

FONT LIST ( fonts {; listType | *} )

引数説明
fontsText arrayフォント名の配列
listType | *倍長整数, 演算子取得したいフォント型のリスト、フォント名を取得するために*を指定(OS Xのみ)

説明

FONT LISTコマンドは、テキスト配列のfonts引数を作成し、システム上で使用可能なスケーラブルなフォントの名前を格納します。引数は取得したいフォントリストの型を指定します。指定するためには、 "Font Type List"テーマ内の以下の定数のいづれかを listType 引数に渡して下さい:

定数コメント
Favorite fonts倍長整数1fonts にはお気に入りのフォント(マシン上で最もよく使われているフォント)のリストが返されます。
- Windows 環境下では、Windowsコントロールパネル内のアクティブなフォントファミリー名のリストが表示されます。
- OS X 環境下では、コントロールパネル内にフォントファミリー名のリストが表示されます。英語では"Favorites" 、フランス語では "Favoris" 、ドイツ語では"Favoriten" というように名前がついています。このコレクションは、ユーザーがお気に入りのフォントを何も追加していない場合には空であることがあります。
Recent fonts倍長整数2fonts には最近のフォント(4Dセッション中に使用されたフォント)のリストが含まれます。このリストは特にマルチスタイルテキストエリアによって使用されます。
System fonts倍長整数0fonts 全てのシステムフォントのリストが含まれます。listType が省略されていた場合のデフォルトのオプションです。

OS X環境下では、任意の * 引数を渡す事によって fonts 配列を作成し、フォントファミリーの名前ではなくフォント自身の名前を入れます。デフォルトの操作ではリッチテキストエリアのプログラムの管理を簡略化し、フォントファミリーを使用します。つまり * 引数を渡すと、"Arial"、 "Arial black" や "Arial narrow" といったフォントファミリー名ではなく、 "Arial bold"、 "Arial italic"、 "Arial narrow italic" といったフォント名が返されるようになります。
Windows 環境下では、 * 引数は何の効力も持ちません。渡したとしてもコマンドはフォントファミリー名を返します。

注: Mac OS上で、このコマンドから返される結果をマルチスタイルテキストエリア内にてST SET ATTRIBUTESコマンドで使用する場合、 * 引数を渡してはなりません(フォントファミリーはAttribute font name としてのみサポートされています)。この制約は4D Write Proエリア内では適用されません。4D Write Proエリアではフォントもフォントファミリー名も受け付けるからです。

スケーラブルフォントについて

このコマンドはスケーラブルなフォントのみを返します。スケーラブルでないフォント(ビットマップフォントなど)は古いテクノロジーに基づいており、サイズ変化における制約が問題となりうることから、デザインインターフェースでの使用は推奨されていません。4D Write Proエリアなどの4Dの最新機能ではこれらはサポートされていません。

OS X環境下では、OS X 10.4からこの原理が採用されています(このバージョンからQuickDrawビットマップフォントが廃止予定となっています)。

Windows環境下では、この原理は4D v15 R4から採用されています。デベロッパーがインターフェースにおいて現代的なフォントのみを選択できるように、"trueType"または"openType"スケーラブルフォントのみが表示されています。例えば、"ASI_Mono"、"MS Sans Serif"、"System"フォントは表示されなくなっています。これに加えて、GDI名も表示されないようになり、DirectWriteフォントファミリー名前のみがサポートされるようになりました。例えば、"Arial Black"、"Segoe UI Black"フォントファミリーはリストには含まれず、"Arial"と"Segoe"のみが返されるようになります。

Windowsでの互換性上の注意:

  • ビットマップフォントは、4Dフォームにおいて引き続きご利用いただけます(ただし4D Write Proエリアは除く)。このコマンドで返される一覧からは除外されているだけということです。しかしながら、将来のバージョンにおける4DとWindowsでの互換性の確保のためには、DirectWriteフォントファミリーを使用することが推奨されます。
  • Windows上ではビットマップフォントはfonts引数からフィルターされているため、以前のリリースと比較すると4D v15 R4以降のアプリケーションで返されるリストは異なります。このコマンドを使用してスケーラブルでないフォントを選択していた場合には、必ずコードを修正するようにして下さい。

例題 1

フォーム上に、システム上で使用可能なフォントリストを表示するドロップダウンリストを作成したいとします。その場合、以下のようなドロップダウンリストのメソッドを記述します。

 Case of
    :(Form event code=On Load) //v17 以前ではForm event を使用
       ARRAY TEXT(asFont;0)
       FONT LIST(asFont)
  // ...
 
 End case

例題 2

最近使用したフォントのリストを取得したい場合:

 FONT LIST($arrFonts;Recent fonts)

参照

FONT STYLE LIST
Font Type List
OBJECT SET FONT
SET RECENT FONTS
ST SET ATTRIBUTES

プロパティ

コマンド番号460
スレッドセーフである