define-text-proc (マクロ)
パッケージ: CURL.LANGUAGE.COMPILER

シグネチャ

{define-text-proc [access] {text-proc-name argument-list }:return-type
     expressions
     {return return-value}
}

テキスト プロシージャを定義します。これは、ドキュメント コンテンツの外見を指定するために使用します。

access: 保護属性。このテキスト プロシージャにアクセス可能なアイテムを指定します。保護属性は public または package です。このテキスト プロシージャをすべての Curl コードで呼び出し可能にするには、public を指定します。このテキスト プロシージャを同じパッケージ内の Curl コードのみで呼び出し可能にするには、package を指定します。アクセス コントロールの詳細については、『Curl 開発者ガイド』の「Curl クラス」の章を参照してください。access の指定がない場合、既定の保護属性は package です。
text-proc-name: テキスト プロシージャの名前。これは、テキスト プロシージャの呼び出しに使用する名前です。Curl 命名規則におけるテキスト プロシージャ名は、小文字のみ使用で複数単語間のスペースの代わりにハイフンを使用します。 たとえば、first-namelast-nameaddress などです。
argument-list: テキスト プロシージャの引数のリストです。引数がある場合は、各引数の名前と型を指定します。各引数について次のフォーマットを使用します。: name[:type] = valuename には引数名、type は引数のデータ型で指定されていない場合の既定は anyvalue は引数の既定値です。複数の引数がある場合、連続する引数を分けるためにカンマを使用してください。通常、リストの最後の引数として ... を指定します。これは、テキスト プロシージャが残余引数を取ることを示しています。残余引数は、通常フォーマットされたまたはフォーマットされていないテキストを含みます。しかし、表示されたり他のプロシージャに渡される他のコンテンツを含むことがあります。残余引数では、データ型を指定する必要はありません。通常のプロシージャとは異なるテキスト プロシージャでは、位置引数を宣言してはいけないことに注意してください。全ての入力は残余引数を通じてプロセス上に展開されます。引数に関する詳細情報については、プロシージャクラス の章を参照してください。
return-type: テキスト プロシージャで返される値のデータ型。テキスト プロシージャではほとんどの場合、 return-typeany です。テキスト プロシージャが値を返さない場合は、 return-typevoid です。
expressions: 引数を処理する Curl 式。通常、残余引数は個別には処理されずに {value ...} のフォームで渡されます。
return-value: テキスト プロシージャが返す値。ほとんどの場合、テキスト プロシージャの戻り値は、残余引数を {value ...} のフォームで他のテキスト プロシージャまたはグラフィック オブジェクトのコンストラクタに、追加のオプション設定やコンテンツと共に渡す動作を伴います。

説明

組み込みのテキスト書式とテキスト オプションの組み合わせを使用して、テキスト プロシージャを定義できます。これにより、テキスト プロシージャが使用されるたびに、コンテンツが一貫して同じレイアウトとフォント特性を持ちます。 開発者ガイドの テキスト プロシージャの定義 も参照してください。


例: テキスト プロシージャの定義
{define-text-proc {my-text-proc ...}:any
    {return
        {text
            font-weight="bold",
            color="green",
            font-family="sans-serif",
            {value ...}
        }
    }
}
{my-text-proc Hello there {italic everyone}.}