6.1.3. page-model の例

 説明が長くなりましたが、ここで page-model の例を見てみることにしましょう。まず最初にどのようなレイアウト構成になるかを図6.1に示します。


図 6.1 ページレイアウト例


 図の点線の部分が page-region に相当します。つまり、

  • 原点が(30,30)、幅が 150mm、高さが 30mm の下部ページ区域
  • 原点が(30,70)、幅が 150mm、高さが 197mm の上部ページ区域

の 2 つの page-region を持っていることになります。これをスタイル言語で定義したものが次の例です。

例 6.1
(define-page-model two-regions
  (width 210mm)
  (height 297mm)
  (filling-direction ’top-to-bottom)
  (region
    (x-origin 30mm)
    (y-origin 70mm)
    (width 150mm)
    (height 197mm)
    (header
      (width 150mm)
      (height (+ 9pt 2.5mm))
      (generate
        (make sequence
          (make paragraph
            font-size: 9pt
            quadding: ’end
            space-after: 2mm
            (page-number-sosofo))
          (make rule
            orientation: ’horizontal
            length: 150mm
            line-thickness: 0.2mm
            display-alignment: ’start)))))
  (region
    (x-origin 30mm)
    (y-origin 30mm)
    (width 150mm)
    (height 30mm)
    (flow not-exist-port)))

 この例では、上部の page-region にヘッダを設け、右肩にページ番号を表示、その下に罫線を引くよう指定を行っています。
 これで、two-regions という識別子を持つ page-model を参照できるようになったわけですが、page-model はあくまでもデータ型の一つであり、フロー・オブジェクト・クラスではありません。つまり、定義したページを生成するにはフロー・オブジェクト・クラスを介する必要があります。この役割を果たすのが、次に説明する page-sequenceフロー・オブジェクト・クラスです。
 

<<prev      next>>