The document layout represents the physical model of the document, constructed by the Layout Engine from the logical Document Model. The hierarchical structure of the document layout is illustrated in the picture below.
You can explore the document layout using Layout API.
Page settings are specified for each document section via the Section.Page and the Section.Margins properties. The Section.Columns property provides access to columns defined in the current section via the SectionColumns interface. To divide a section into columns, use the SectionColumns.CreateUniformColumns method to create a columns layout and the SectionColumns.SetColumns method to apply the layout.
To determine the correspondence between logical and physical document structures, the RichEditControl.GetPositionFromPoint and the RichEditControl.GetBoundsFromPosition methods can be helpful. The RichEditView.GetCursorBounds method enables you to determine the location and dimensions of the rectangle, which encompasses the cursor in the current view.
The visual appearance of text characters, especially at small font sizes, is dependent on the units of measurement used for internal calculations when symbols are rendered. Rounding errors may lead to font artifacts, irregular font spacing and other minor glitches. You can modify the RichEditControl.LayoutUnit property value to make the document look its best.