Dismiss
InnovationQ will be updated on Sunday, Oct. 22, from 10am ET - noon. You may experience brief service interruptions during that time.
Browse Prior Art Database

Nested Descriptor Blocks for Defining the Layout of a Formatted Page

IP.com Disclosure Number: IPCOM000075620D
Original Publication Date: 1971-Oct-01
Included in the Prior Art Database: 2005-Feb-24
Document File: 5 page(s) / 50K

Publishing Venue

IBM

Related People

Norton, HT: AUTHOR [+2]

Abstract

When formatting a page of text elements by a computer program, many decisions must be made dynamically regarding the placement of the individual elements. To iteratively modify the retained information determining the placement of the text elements may be a significant portion of the page-layout processing.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 30% of the total text.

Page 1 of 5

Nested Descriptor Blocks for Defining the Layout of a Formatted Page

When formatting a page of text elements by a computer program, many decisions must be made dynamically regarding the placement of the individual elements. To iteratively modify the retained information determining the placement of the text elements may be a significant portion of the page-layout processing.

The technique described herein is predicated, first of all, on the idea of descriptor blocks, separated physically from but logically related to the actual- character strings that are to appear on the formatted page. These descriptor blocks are of a fixed size, generally much smaller than the text elements they describe and are, therefore, inherently easier to manipulate.

Four different types of blocks are defined to facilitate the page layout of the various text elements. The four types of descriptor blocks are (1) text blocks, (2) reserved-space blocks, (3) unformatted-space blocks, and (4) page-section blocks.

A page-section block describes the total formatted space occupancy of a collection of other descriptor blocks. This collection of descriptor blocks may contain one or more page-section blocks and thereby the "nesting" aspect of the text element descriptors is manifested.

Many elements of a formatted page may be looked upon as page sections
(i.e., footnotes, a section of kept text, a table, a running heading, etc.). The relation of the various descriptor blocks is retained through logical chaining of related blocks in "same level, and "next lower-level" chains.

Page-section blocks do not necessarily describe only real formatted space, but may also describe a formatted block of text not yet included in the current page. To do this, the status of the page is not disturbed. A "fictional page section," chained as an entry in the current page, is created. Text is then formatted within the fictional page section. (Fictional page sections may also be nested, if necessary). When the formatting is done, an attempt may be made to fit the fictional page section in the next outer page section. If the section fits, it is already appropriately chained. If not, it is readily isolated until it can be placed on a subsequent page. Formatting may then continue as if the fictional section had never been formatted.

The following points further describe this page-layout technique: 1) A "page description table" is defined as the total collection of descriptor blocks for a page. The four types of descriptor blocks may be intermixed, as necessary, within the logical chain of entries. The descriptor blocks are stored in buffers so that the total number of descriptor blocks that can be constructed is not limited by available core memory. 2) At the beginning of a page, a single page-section block is created defining the dimensions of the page. Unformatted space blocks are not created, except to define unusable space remaining at the end of a formatted column. 3) Each page-section...