-/* Joins cells (X1,X2)-(Y1,Y2) inclusive in TABLE, and sets them with
- options OPT to have text value TEXT. */
-void
-table_joint_text (struct table *table, int x1, int y1, int x2, int y2,
- unsigned opt, const char *text)
-{
- char *s = pool_strdup (table->container, text);
- if (x1 == x2 && y1 == y2)
- do_table_text (table, x1, y1, opt, s);
- else
- add_joined_cell (table, x1, y1, x2, y2, opt)->text = s;
-}
-
-static struct table_cell *
-get_joined_cell (struct table *table, int x, int y)
-{
- int index = x + y * table->n[H];
- unsigned short opt = table->ct[index];
- struct table_cell *cell;
-
- if (opt & TAB_JOIN)
- cell = table->cc[index];
- else
- {
- char *text = table->cc[index];
-
- cell = add_joined_cell (table, x, y, x, y, table->ct[index]);
- cell->text = text ? text : pool_strdup (table->container, "");
- }
- return cell;
-}
-
-/* Sets the subscripts for column X, row Y in TABLE. */
-void
-table_add_subscripts (struct table *table, int x, int y,
- char **subscripts, size_t n_subscripts)
-{
- struct table_cell *cell = get_joined_cell (table, x, y);
-
- cell->n_subscripts = n_subscripts;
- cell->subscripts = pool_nalloc (table->container, n_subscripts,
- sizeof *cell->subscripts);
- for (size_t i = 0; i < n_subscripts; i++)
- cell->subscripts[i] = pool_strdup (table->container, subscripts[i]);
-}
-
-/* Create a footnote in TABLE with MARKER (e.g. "a") as its marker and CONTENT
- as its content. The footnote will be styled as STYLE, which is mandatory.
- IDX must uniquely identify the footnote within TABLE.
-
- Returns the new footnote. The return value is the only way to get to the
- footnote later, so it is important for the caller to remember it. */
-struct footnote *
-table_create_footnote (struct table *table, size_t idx, const char *content,
- const char *marker, struct table_area_style *style)
-{
- assert (style);
-
- struct footnote *f = pool_alloc (table->container, sizeof *f);
- f->idx = idx;
- f->content = pool_strdup (table->container, content);
- f->marker = pool_strdup (table->container, marker);
- f->style = style;
- return f;
-}
-
-/* Attaches a reference to footnote F to the cell at column X, row Y in
- TABLE. */
-void
-table_add_footnote (struct table *table, int x, int y,
- const struct footnote *f)