+/* Cells. */
+void table_text (struct table *, int c, int r, unsigned opt, const char *);
+void table_text_format (struct table *, int c, int r, unsigned opt,
+ const char *, ...)
+ PRINTF_FORMAT (5, 6);
+void table_joint_text (struct table *, int x1, int y1, int x2, int y2,
+ unsigned opt, const char *);
+
+void table_add_subscripts (struct table *, int x, int y,
+ char **subscripts, size_t n_subscripts);
+
+/* Footnotes.
+
+ Use table_create_footnote() to create the footnotes themselves, then use
+ table_add_footnote() to create a reference from a table cell to a footnote.
+ There are two steps because a footnote may have multiple references. */
+struct footnote *table_create_footnote (struct table *, size_t idx,
+ const char *content,
+ const char *marker,
+ struct table_area_style *);
+void table_add_footnote (struct table *, int x, int y,
+ const struct footnote *);
+
+void table_add_style (struct table *, int x, int y,
+ const struct table_area_style *);
+
+bool table_cell_is_empty (const struct table *, int c, int r);
+
+#endif /* output/table.h */