posted on 2022-07-25, 00:40authored byN Hurst, K Marriott
Tables are one of the most powerful and useful design elements in current web document standards such as (X)HTML, CSS and XSL. Importantly, designers do not need to precisely specify the width of the table columns, instead the designer may allow these to adapt to the viewing context while still preserving the general design intended by the document author. Unfortunately, however, the adaptive layout provided by tables is still not powerful enough. We present a new approach to table layout that extends the current standard by allowing the designer to specify arbitrary linear equality and inequality constraints over the column widths and row heights. These may be strict (required) or preferred with weights indicating their relative importance. We also allow cells to be non-rectangular regions and we allow text to flow between arbitrary cells. We view table layout as a constrained optimisation problem. In addition to the designer’s constraints there are implicit constraints reflecting the structure of the table and a constraint that each cell must be large enough to contain its content. Accurately and efficiently handling this containment constraint is the main source of difficulty. We present and evaluate two possible approaches, both of which are based on quadratic programming techniques.