Configuration
CSSBuilder exposes layout knobs as exported fields. They are seeded
to sensible defaults in New(); override them after construction.
Footnote layout
| Field | Type | Default | Effect |
|---|---|---|---|
FootnoteSeparatorHeight |
bag.ScaledPoint |
0.4pt | thickness of the rule above the footnote stack |
FootnoteSeparatorSkip |
bag.ScaledPoint |
6pt | gap between body content and the rule |
FootnoteInterSkip |
bag.ScaledPoint |
2pt | gap between consecutive footnote bodies |
FootnoteCallSizeRatio |
float64 |
0.7 | superscript call font size relative to surrounding body size |
FootnoteCallRiseRatio |
float64 |
0.4 | superscript call PDF rise (Ts) relative to surrounding body size |
Float layout
| Field | Type | Default | Effect |
|---|---|---|---|
FloatTopInterSkip |
bag.ScaledPoint |
6pt | gap between consecutive top-floats and below the stack |
FloatBottomInterSkip |
bag.ScaledPoint |
6pt | gap between consecutive bottom-floats and above the stack |
Counters
CSSBuilder.Counters is a map[string]int reading and writing CSS
counters. The footnote counter is incremented automatically per
extracted footnote; the page counter is set during shipout.
Other counters (e.g. pages for total page count) are set by the
caller before OutputPages*.
Page dimensions
The current page geometry comes from @page rules in the CSS. Read
the active PageDimensions via CSSBuilder.PageSize() (returns
width, height, margins, and content area). The struct is also stored
on the current frontend.Page.Userdata[PageDimensionsKey] so
callbacks can access it.
PDF outline (bookmarks)
CSSBuilder.GenerateOutline (bool, default true) controls whether
OutputPages / OutputPagesFromText emit a PDF outline built from the
document’s headings and -bag-bookmark elements (see
PDF bookmarks). Set it to false to suppress the
outline — for byte-deterministic output, or when you assemble your own tree
on frontend.Doc.PDFWriter.Outlines.
Callbacks
See Callbacks.
PDF/UA
See PDF/UA tagging.