+/* Returns the horizontal rule at the given column and row. */
+static int
+get_hrule (int c, int r)
+{
+ return t->rh[c + r * t->cf];
+}
+
+/* Returns the vertical rule at the given column and row. */
+static int
+get_vrule (int c, int r)
+{
+ return t->rv[c + r * (t->cf + 1)];
+}
+
+/* Renders the horizontal rule at the given column and row
+ at (X,Y) on the page. */
+static void
+render_horz_rule (int x, int y, int c, int r)
+{
+ enum outp_line_style style = rule_to_draw_type (get_hrule (c, r));
+ if (style != OUTP_L_NONE)
+ d->class->line (d, x, y, x + t->w[c], y + t->hrh[r],
+ OUTP_L_NONE, style, OUTP_L_NONE, style);
+}
+
+/* Renders the vertical rule at the given column and row
+ at (X,Y) on the page. */
+static void
+render_vert_rule (int x, int y, int c, int r)
+{
+ enum outp_line_style style = rule_to_draw_type (get_vrule (c, r));
+ if (style != OUTP_L_NONE)
+ d->class->line (d, x, y, x + t->wrv[c], y + t->h[r],
+ style, OUTP_L_NONE, style, OUTP_L_NONE);
+}