Version 5.9.2

# `DefineTextformat`

Define text formatting instructions. A textformat is used to align and indent text and create margins and rules before and after the text.

## Child elements

(none)

## Parent elements

`AtPageCreation`, `AtPageShipout`, `Case`, `Contents`, `ForAll`, `Include`, `Layout`, `Loop`, `Otherwise`, `Record`, `SavePages`, `Section`, `Until`, `While`

## Attributes

`alignment` (optional)
  Determines the formatting of the text. It defaults to justified.
  - `justified`: Textblock has a rectangular shape.
  - `leftaligned`: The text is ragged at the right margin.
  - `rightaligned`: The text is ragged right at the left margin.
  - `centered`: The text is ragged at the left and the right margin.
  - `start`: The text is ragged at the right margin for left-to-right texts and at the left margin for right-to-left texts.
  - `end`: The text is ragged at the left margin for left-to-right texts and at the right margin for right-to-left texts.
`border-bottom` (length, optional)
  The thickness of the rule below the text.
`border-top` (length, optional)
  The thickness of the rule above the text.
`break-before` (optional, since version 4.21.15)
  Force break before the text. This only works within an `Output` container.
  - `auto`: Default: don’t force a page break.
  - `page`: Force page break above
`break-below` (optional)
  (Dis-)Allow break below the text. This only works within an `Output` container.
  - `yes`: Allow a break below this text (default).
  - `no`: Prevent a page break below this text.
`column-padding-top` (optional, since version 3.2.1)
  The height of the padding that is inserted in a column (at the top) with Output/Text.
`cssfontsize` (yes or no, optional, since version 5.3.9)
  If yes, the fontsize is interpreted as CSS fontsize (e.g. 1.2em, 150%, etc.). If no, the font size is taken from the font family setting. Default is no.
`fill-last-line` (0 up to 100, optional, since version 3.3.11)
  Ensure the length of the last line in a paragraph. Values from 0 (no change) to 100 (last line is full). Handle with care. Default is 0.
`html-vertical-spacing` (optional, since version 4.1.6)
  Set the vertical spacing for HTML contents. Defaults to “off”.
  - `all`: Allow each vertical spacing.
  - `inner`: Discard first and last vertical spacing.
  - `off`: Ignore all vertical spacing.
`hyphenate` (optional)
  Enable or disable hyphenation (default: on).
  - `yes`: Enable hyphenation (default).
  - `no`: Disable hyphenation.
`hyphenchar` (text, optional)
  The character used for hyphenation (default: -)
`indentation` (length, optional)
  The amount of indentation.
`letter-spacing` (number, optional, since version 5.3.18)
  Additional space between characters in 1/1000 em. For example, a value of 50 adds 0.05 em between each character. This is font-size independent and scales with the text.
`margin-bottom` (length, optional)
  Distance between the bottom rule and the text of the next paragraph.
`margin-top` (length, optional)
  Distance between the top rule and the text of the previous paragraph.
`margin-top-box-start` (optional, since version 3.9.7)
  The top margin at the beginning of a page or column with `Output`. Defaults to the value of `margin-top`.
`name` (text)
  Name of the textformat that is used later in the layout.
`orphan` (yesnonumber, optional)
  If yes, allow orphans (first line of paragraph is on the previous page). If you provide a number, it is the number of lines that must be kept together. Default: no.
`padding-top` (length, optional)
  Distance between the top of the text and the top rule.
`rows` (number, optional)
  The number of rows with indentation given in the attribute `indentation`. If the number is negative, this determines the number of rows that are not indented.
`tab` (optional, since version 3.1.5)
  What to do on the tab (& #09;) character.
  - `space`: Use tab as space
  - `hspace`: Use tab as a stretching space
`widow` (yesnonumber, optional)
  If yes, allow widows (last line of paragraph is on the next page). If you provide a number, it is the number of lines that must be kept together. Default: no.

## Remarks

The textformats `text`, `centered`, `left` and `right` are predefined. They stand for justified, centered, left aligned and right aligned text.

Indentation with negative values for rows do not work with HTML text.

## Example

    <DefineTextformat name="text with indentation" alignment="justified" indentation="1cm"/>

    <Record element="...">
      <PlaceObject>
        <Textblock textformat="text with indentation">
        <Paragraph>
          <Value>Text ...</Value>
        </Paragraph>
      </Textblock>
      </PlaceObject>
    </Record>

#### On this page