The current implementation extracts the ReadingOrder from the top-level parents of all WORD blocks (in the order of these word blocks). This seems to be necessary for cases with TABLE results.
However, for LAYOUT_* blocks, the results look much better if the top-level blocks are directly taken as the order – as implemented in #23.
For example, here is how both implementations compare:
| current (WORD-based) |
#23 (top-level based) |
 |
 |
 |
 |
 |
 |
The first page is a typical newspaper page (added to the tests in #23) and shows how #23 is better.
The 2nd and 3rd example are taken from the test suite. The 2nd shows that the current implementation is better, because #23 places the table after all the other regions.
In the 3rd example (nd1969 test case) has AWS results which obviously look bad either way, with 2 false tables and many highly overlapping column regions.
The current implementation extracts the ReadingOrder from the top-level parents of all
WORDblocks (in the order of these word blocks). This seems to be necessary for cases withTABLEresults.However, for
LAYOUT_*blocks, the results look much better if the top-level blocks are directly taken as the order – as implemented in #23.For example, here is how both implementations compare:
The first page is a typical newspaper page (added to the tests in #23) and shows how #23 is better.
The 2nd and 3rd example are taken from the test suite. The 2nd shows that the current implementation is better, because #23 places the table after all the other regions.
In the 3rd example (
nd1969test case) has AWS results which obviously look bad either way, with 2 false tables and many highly overlapping column regions.