1つの流し込みオブジェクトをフォーマットした結果が複数の領域になることがあります。これは、1つのオブジェクトが複数の領域に分割されて流し込まれたということです。以下の図に、段落がページ末で分割された例を示します。
(a) 行内領域と行外領域
領域には、行内領域と行外領域の2種類があります。
行内領域とは、1行の中の部分となる領域です。つまり、複数の行内領域が集まって1行が成り立っています。たとえば、1行中に含まれる1つ1つの文字がそれぞれ行内領域に当たります。
行外領域とは、行の中におさまらないものです。簡単に言えば、行内領域でないものはすべて行外領域と考えられます。たとえば、段落は行外領域です。
オブジェクトが行内領域になるか行外領域になるかはクラスごとに決められています。オブジェクトによっては、行内にも行外にもなり得るものがあります。
例1 外部グラフィック流し込みオブジェクトクラス
テキスト何行分かにわたる一般的な大きさのグラフィックは行外ですが、1行中に配置する小さなグラフィックは行内になります。
例2 数式列流し込みオブジェクトクラス
グラフィックと同じく、行外になる数式列と行内になる数式列とがあります。
(b) 添付領域
添付領域とは行外領域に添付する行内領域のことです。行外領域内のオブジェクトに関連する情報をつけ加えるときに使います。たとえば行番号がこれに当たります。
添付領域は、行外領域の表記方向で前か後のどちらかに配置します。たとえば段落につける場合、表記方向において前なら行頭側、後なら行末側になります。これは添付するオブジェクトの特質により指定します。
(c) 領域の配置
フォーマット処理では、まずページの枠組みを決め、その中に内容をおさめます。つまり、外側から内側へという順で配置が行われます。ここでもその順にならい、外枠の領域コンテナから行外領域、行内領域、添付領域の順に説明します。
<1>領域コンテナ
ページ上での配置の際に、一番外側の枠となる領域コンテナについて説明します。領域コンテナは行外領域を中に含み、その位置決めをするものです。たいていは複数の行外領域を含みます。これは、ページ上の配置を決定する一番外側の枠に当たります。
領域コンテナ自体の配置は、紙面の枠組みを表す流し込みオブジェクトによって決定します。以下のものが、ページ上の枠組みを表す流し込みオブジェクトクラスです。
- 単純ページ:単純なページレイアウト
- ページ列:柔軟なページレイアウト
領域コンテナの配置と大きさは、単純ページでは、特質で上下左右の余白を指定して決めます。ページ列では、ページモデルというレイアウト指定の中のページ区画が領域コンテナに相当します。ページ区画に対しては起点の座標および幅と高さを指定します。
領域コンテナは、流し込み方向(Filling−direction)という方向を持ちます。この方向によって領域コンテナの開始端と終了端が決まります。開始端と終了端は行外領域の配置を決める基準線となります。
領域コンテナの流し込み方向の大きさは、中に入る領域の大きさに応じて増えることがあります。流し込み方向に垂直な方向での大きさ(つまり開始端および終了端の長さ)は固定です。
<2>行外領域(Display area)
行外領域は、領域コンテナ内に入れることによって配置します。配置方向は領域コンテナの流し込み方向に従います。位置決めは領域コンテナの開始端および終了端を基準とします。コンテナに入れる最初の行外領域は、開始端をコンテナの開始端に合わせます。次に入れる行外領域は、開始端を前の領域の終了端に合わせます。最後に入れる行外領域は、開始端を前の領域の終了端に合わせ、終了端をコンテナの終了端に合わせます。
行外領域の大きさは、幅・高さ共に固定されています。流し込み方向に垂直な方向の大きさ(行外サイズ)は、領域コンテナと同じです。
<3>行内領域(Inline area)
行内領域は、段落オブジェクトの表記方向を送り方向とし、配置パスという基準線に沿って配置します。配置パス自体の位置は、段落オブジェクトの特質によって決まります。
行内領域は位置決め点を持ちます。この点を配置パス上に揃えることによって配置を行います。
基準線
- 配置パス(Placement path):配置の基準線
- 配置パスの位置を決める特質(段落流し込みオブジェクトの特質)
- 1行目の配置パスspace−before:領域コンテナの辺からのスペース
配置パス前の行領域の大きさ - 2行目以降の配置パスline−spacing:行送り量
基準点
- 位置決め点(Position point) : オブジェクトの基準点
- 送り点(Escapement point) : オブジェクトの送り量を表す点。位置決め点がある辺と向かい合った辺にある
- 配置点(Placement point) : 配置先の基準点。前に配置された行内領域の送り点が次に配置する行内領域の配置点に当たる
方向
- 行内進行方向
(Inline−progression direction):外枠となる段落の表記方向と同じ - 送り方向
(Escapement direction):行内領域を配置する方向(=行内進行方向) - 行進行方向
(Line−progression direction):行送り方向(行を配置する方向)
1行の長さは段落内での行分割法と行揃え法によって異なります。行の最大の長さは、行外サイズから行頭インデントと行末インデントの量を引いた長さです。これらは特質によって指定します。
行長を決める段落オブジェクトの特質
- 行分割lines:
- 行揃えquadding:
- 行頭インデントstart−indent:
- 行末インデントend−indent:
<4>添付領域(Attachment area)
添付領域は、行外領域の(表記方向での)始め側か終わり側のどちらかに配置します。どちら側に配置するかは、添付するオブジェクトの特質によって指定します。
- line−number−side:(段落オブジェクトの特質)
- sideline−side:(側線オブジェクトの特質)
- marginalia−side:(余注オブジェクトの特質)
配置の際には基準点として以下のものを使います。
- 添付領域側の基準点:揃え点(Alignment point)
- 行外領域側の基準点:添付点(Attachment point)
揃え点を添付点と配置方向において揃えることによって配置します。
揃え点と添付点との距離は、添付するオブジェクトの特質によって指定します。
- line−number−sep:(段落オブジェクトの特質)
- sideline−sep:(側線オブジェクトの特質)
- marginalia−sep:(余注オブジェクトの特質)
距離にはマイナス値も指定できます。その場合には添付領域が行外領域の中に配置されることになります。