-/* FIXME: `n' modifier doesn't always do the right thing. */
-/* FIXME: `n' modifier doesn't use the cell-spacing buffer. */
-
-static inline void tbl_char(struct termp *, char, int);
-static void tbl_hframe(struct termp *,
- const struct tbl_span *);
-static void tbl_data_number(struct termp *,
- const struct tbl *,
- const struct tbl_dat *, int);
-static void tbl_data_literal(struct termp *,
- const struct tbl_dat *, int);
-static void tbl_data_spanner(struct termp *,
- const struct tbl_dat *, int);
-static void tbl_data(struct termp *, const struct tbl *,
- const struct tbl_dat *, int);
-static void tbl_spanner(struct termp *,
- const struct tbl_head *);
-static void tbl_hrule(struct termp *,
- const struct tbl_span *);
-static void tbl_vframe(struct termp *, const struct tbl *);
+static size_t term_tbl_len(size_t, void *);
+static size_t term_tbl_strlen(const char *, void *);
+static void tbl_char(struct termp *, char, size_t);
+static void tbl_data(struct termp *, const struct tbl *,
+ const struct tbl_dat *,
+ const struct roffcol *);
+static size_t tbl_rulewidth(struct termp *, const struct tbl_head *);
+static void tbl_hframe(struct termp *, const struct tbl_span *, int);
+static void tbl_literal(struct termp *, const struct tbl_dat *,
+ const struct roffcol *);
+static void tbl_number(struct termp *, const struct tbl *,
+ const struct tbl_dat *,
+ const struct roffcol *);
+static void tbl_hrule(struct termp *, const struct tbl_span *);
+static void tbl_vrule(struct termp *, const struct tbl_head *);
+
+
+static size_t
+term_tbl_strlen(const char *p, void *arg)
+{
+
+ return(term_strlen((const struct termp *)arg, p));
+}
+
+static size_t
+term_tbl_len(size_t sz, void *arg)
+{
+
+ return(term_len((const struct termp *)arg, sz));
+}