6.1.1. page-model の定義

 page-model はスタイル言語に用意されている特殊なデータ型です。あるオブジェクトが page-model かどうかを調べるには、page-model? 述語手続きを使用します。

(page-model? obj)

 page-model を定義するには、次の構文を用います。

(define-page-model page-model-name page-region
                                   width
                                   height
                                   [filling-direction]
                                   [decoration])

 以下に、この構文の引数について説明します。

page-model-name

 定義したpage-model を後から参照するために、page-model の名前を指定します。指定できる値は式言語の識別子として有効なものになります。必須です。

page-region

 ページ区画を指定します。page-model は少なくとも一つ以上の page-region を含んでいなければいけません。ページ区画を指定するための構文については後述します。

width

 ページ領域の幅を次の構文で指定します。必須です。

(width length-spec)
height

 ページ領域の高さを次の構文で指定します。必須です。

(height length-spec)
filling-direction

 フロー・オブジェクトの埋め込み方向を指定します(p.66参照)。トップレベルにおける指定値は各ページ区画に継承されます。トップレベルでの指定を省略した場合は各ページ区画の filling-direction を指定する必要があります。

(filling-direction  ’left-to-right または
                    ’right-to-left または ’top-to-bottom)
decoration

 装飾を指定します。装飾指定は省略可能、かつ複数指定が可能です。装飾指定には次の構文を用います。

(decorate obj)

obj は装飾領域で、次の構文で生成される特殊な領域です。

(decoration-area sosofo
  placement-x: length-spec
  placement-y: length-spec
  placement-direction:  ’left-to-right または
                        ’right-to-left または’top-to-bottom)

 なお、この decoration-area に指定できる sosofo はインライン領域に限られます。また、装飾領域の原点は常に左下になることに注意してください。

<<prev      next>>