This code always used the widths of rules at the left or top side of the
table, even in cases where the spanned cells were not at the top of left
side of the table. This obviously made the calculations wrong sometimes.
params->ops->measure_cell_width (params->aux, &cell,
&w[MIN], &w[MAX]);
for (int i = 0; i < 2; i++)
params->ops->measure_cell_width (params->aux, &cell,
&w[MIN], &w[MAX]);
for (int i = 0; i < 2; i++)
- distribute_spanned_width (w[i], &columns[i][cell.d[H][0]],
- rules[H], table_cell_colspan (&cell));
+ distribute_spanned_width (w[i],
+ &columns[i][cell.d[H][0]],
+ &rules[H][cell.d[H][0]],
+ table_cell_colspan (&cell));
{
int w = joined_width (page, H, cell.d[H][0], cell.d[H][1]);
int h = params->ops->measure_cell_height (params->aux, &cell, w);
{
int w = joined_width (page, H, cell.d[H][0], cell.d[H][1]);
int h = params->ops->measure_cell_height (params->aux, &cell, w);
- distribute_spanned_width (h, &rows[cell.d[V][0]], rules[V],
+ distribute_spanned_width (h,
+ &rows[cell.d[V][0]],
+ &rules[V][cell.d[V][0]],
table_cell_rowspan (&cell));
}
x = cell.d[H][1];
table_cell_rowspan (&cell));
}
x = cell.d[H][1];
│ had too Somewhat│ .│ 38.3%│ 41.9%│ 38.6%│ 37.5%│ 36.4%│ 23.8%│
│ much to likely │ │ │ │ │ │ │ │
│ drink to │ │ │ │ │ │ │ │
│ had too Somewhat│ .│ 38.3%│ 41.9%│ 38.6%│ 37.5%│ 36.4%│ 23.8%│
│ much to likely │ │ │ │ │ │ │ │
│ drink to │ │ │ │ │ │ │ │
-│ drive │ │ │ │ │ │ │ │
-│ safely Somewhat│ .│ 18.1%│ 21.7%│ 16.8%│ 16.7%│ 10.9%│ 9.5%│
-│ will A. unlikely│ │ │ │ │ │ │ │
+│ drive Somewhat│ .│ 18.1%│ 21.7%│ 16.8%│ 16.7%│ 10.9%│ 9.5%│
+│ safely unlikely│ │ │ │ │ │ │ │
+│ will A. │ │ │ │ │ │ │ │
│ Get │ │ │ │ │ │ │ │
│ stopped Very │ .│ 9.2%│ 9.7%│ 8.2%│ 9.4%│ 7.3%│ 9.5%│
│ by the unlikely│ │ │ │ │ │ │ │
│ Get │ │ │ │ │ │ │ │
│ stopped Very │ .│ 9.2%│ 9.7%│ 8.2%│ 9.4%│ 7.3%│ 9.5%│
│ by the unlikely│ │ │ │ │ │ │ │