Page Layout Subsystem

From Open Watcom

Jump to: navigation, search

Scope and Status

This page discusses the Page Layout Subsystem, that is, it will eventually gather together in one place all available information on Page Layout as done by wgml.

At the moment, this is a preliminary effort, based mainly on investigation of the :PAGESTART, :PAGEOFFSET and :PAGEADDRESS blocks. It exists because that investigation produced results which transcended the intended scope of the discussion of those blocks in the context of binary device files.

Participating Actors

At the moment, the only known actors are these binary device file definition blocks:

  • The Attributes: page_width, page_depth, horizontal_base_units, and vertical_base_units.
  • The :PAGESTART block.
  • The :PAGEOFFSET block.
  • The :PAGEADDRESS block.

It is likely that other definition blocks and also various document tags will eventually be identified.

Patterns of Interaction

Very little is known at this time. The only documentation of the :PAGEOFFSET block (:CMT. Position past the unprintable region of the page) is suggestive, but hardly complete.

This presents these items for two device/driver pairs:

Item                      PS/PSDRV            ASA/ASADRV
page_width                 8500               132
page_depth                10920                66
horizontal_base_units      1000                10
vertical_base_units        1000                 6
x_start (:PAGESTART)        200                 0
y_start (:PAGESTART)      10800                 1
x_start (:PAGEOFFSET)       200                (0)
y_start (:PAGEOFFSET)       200                (0)
x_positive (:PAGEADDRESS)   yes              (yes)
y_positive (:PAGEADDRESS)   no               (yes)

The parenthesized values in the last column are the defaults placed in the binary file when the corresponding block is not present in the source.

These values must interact with any number of wgml tags dealing with headers, footers, pagination, and so forth. All of this will need to be explored in some way.

Personal tools