paged.IDML Reference
Typography

Drop caps and tabs

DropCapCharacters and DropCapLines, the tab character U+0009 in Content, and the TabList records — Alignment, AlignmentCharacter, Leader, Position.

Tier: ProProIIIreference

A drop cap enlarges a paragraph's first characters down several lines; a tab moves the text after it to the next tab stop in the paragraph's TabList.

In short A drop cap is two paragraph attributes: DropCapCharacters (how many characters) and DropCapLines (how many lines tall). The text stays in Content unchanged. A tab is the character U+0009 inside <Content>, usually written &#9;; there is no tab element. Where it moves the text is set by the paragraph's tab stops: a <TabList> of typed <ListItem> records inside the paragraph's <Properties>, each with an Alignment, an AlignmentCharacter, a Leader and a Position. Past the last stop, tabs fall on a default grid.

Drop caps

Attribute · ParagraphStyleValuesPagedpaged.set
DropCapCharactersintegerread · written
DropCapLinesintegerread · written
Selected attributes. All 331 attributes of ParagraphStyle →

DropCapCharacters is the number of characters at the start of the paragraph that drop, and DropCapLines the number of lines they span; 0 for either means no drop cap. The drop cap is scaled so its top aligns with the cap height of the first line and its baseline with the baseline of the last line it spans, and the lines beside it are indented around it. The characters remain part of the text: a drop cap is not a separate run or frame.

InDesign can also give the drop cap a character style of its own, chosen with the drop cap settings, so that the large letter takes a different font or colour. No document in the census uses one.

One paragraph whose first character drops three lines.

Stories/Story_ustory.xml
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<idPkg:Story xmlns:idPkg="http://ns.adobe.com/AdobeInDesign/idml/1.0/packaging" DOMVersion="20.0">
  <Story Self="ustory">
    <ParagraphStyleRange AppliedParagraphStyle="ParagraphStyle/$ID/[No paragraph style]" DropCapCharacters="1" DropCapLines="3" DropCapDetail="0">
      <CharacterStyleRange AppliedCharacterStyle="CharacterStyle/$ID/[No character style]">
        <Content>Once a paragraph carries DropCapCharacters and DropCapLines, the renderer lifts the leading characters into an enlarged drop cap that hangs down the named number of lines while the body text wraps around it.</Content>
      </CharacterStyleRange>
    </ParagraphStyleRange>
  </Story>
</idPkg:Story>

In Paged: drop caps are set from DropCapCharacters and DropCapLines. DropCapDetail, which InDesign-authored files in the census do not carry, is read and kept as an integer. A drop cap's own character style is not parsed: the drop cap takes the formatting of the characters it is made of. Supported · verified

The tab character

A tab is U+0009 inside <Content>. XML allows a literal tab character, but writers usually escape it as &#9; so that it survives editors and formatters. There is no tab element: the character itself moves the text after it to the next tab stop.

Tab stops

A paragraph's tab stops are a typed list in its <Properties> block, on a <ParagraphStyleRange> or a paragraph style. Each stop is a <ListItem type="record"> with four typed children:

ChildTypeMeaning
<Alignment>enumerationLeftAlign, CenterAlign, RightAlign or CharacterAlign
<AlignmentCharacter>stringfor CharacterAlign, the character that lines up on the stop, usually .
<Leader>stringcharacters repeated across the gap the tab opens, such as . or . ; empty for none
<Position>unitthe stop's position in points from the left edge of the text column

The alignments place the text after the tab:

  • LeftAlign — the text starts at the stop.
  • RightAlign — the text ends at the stop.
  • CenterAlign — the text is centred on the stop.
  • CharacterAlign — the first occurrence of the alignment character lands on the stop, which lines up a column of decimal numbers.

When the text is already past the last stop, or the paragraph has none, each further tab moves to the next position on a default grid of every 36 pt (half an inch). In a paragraph with a hanging indent (a positive LeftIndent and a negative FirstLineIndent), the left indent acts as a stop, so a tab after a list number lands on the text edge.

A table-of-contents line: a left stop at 144 pt, then a right stop at 432 pt with a dot leader. Each &#9; in the Content moves the text after it to the next stop.

Stories/Story_ustory.xml
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<idPkg:Story xmlns:idPkg="http://ns.adobe.com/AdobeInDesign/idml/1.0/packaging" DOMVersion="20.0">
  <Story Self="ustory">
    <ParagraphStyleRange AppliedParagraphStyle="ParagraphStyle/$ID/[No paragraph style]">
      <Properties>
        <TabList type="list">
          <ListItem type="record">
            <Alignment type="enumeration">LeftAlign</Alignment>
            <AlignmentCharacter type="string">.</AlignmentCharacter>
            <Leader type="string"></Leader>
            <Position type="unit">144</Position>
          </ListItem>
          <ListItem type="record">
            <Alignment type="enumeration">RightAlign</Alignment>
            <AlignmentCharacter type="string">.</AlignmentCharacter>
            <Leader type="string">.</Leader>
            <Position type="unit">432</Position>
          </ListItem>
        </TabList>
      </Properties>
      <CharacterStyleRange AppliedCharacterStyle="CharacterStyle/$ID/[No character style]">
        <Content>Chapter&#9;Typography&#9;261</Content>
      </CharacterStyleRange>
    </ParagraphStyleRange>
  </Story>
</idPkg:Story>

In Paged: tab stops are honoured with all four alignments, leaders and the hanging-indent stop; leaders are drawn as whole copies of the leader string. A RightAlign or CenterAlign segment that would collide with the text before it falls back to left alignment for that tab.

Supported · verified

Frequently asked questions

How is a tab written in IDML? As the character U+0009 inside <Content>, normally escaped as &#9;. There is no separate tab element.

How are tab stops written? As <Properties><TabList type="list"> on the paragraph or its style, with one <ListItem type="record"> per stop holding typed <Alignment>, <AlignmentCharacter>, <Leader> and <Position> children.

Where do tabs go when there are no tab stops? To a default grid every 36 pt, measured from the left edge of the column.

How do I make a drop cap in IDML? Set DropCapCharacters and DropCapLines on the paragraph or its style, for example 1 and 3 for a single letter three lines tall. The text itself does not change.

On this page