Pull request #44: Fix annotating single letter entities

Merge in RED/redaction-service from bugfix/single-letter-annotations to master

* commit '8e5ff318106e700e28abd14a0eb1337d3a44c109':
  Fix annotating single letter entities
This commit is contained in:
Dominique Eiflaender 2020-09-29 15:17:51 +02:00
commit 384cd1d0dc

View File

@ -130,18 +130,22 @@ public class AnnotationHighlightService {
private List<Rectangle> getRectanglesPerLine(List<TextPosition> textPositions, int page) { private List<Rectangle> getRectanglesPerLine(List<TextPosition> textPositions, int page) {
List<Rectangle> rectangles = new ArrayList<>(); List<Rectangle> rectangles = new ArrayList<>();
float y = textPositions.get(0).getYDirAdj(); if (textPositions.size() == 1) {
int startIndex = 0; rectangles.add(new TextPositionSequence(textPositions, page).getRectangle());
for (int i = 1; i < textPositions.size(); i++) { } else {
float yDirAdj = textPositions.get(i).getYDirAdj(); float y = textPositions.get(0).getYDirAdj();
if (yDirAdj != y) { int startIndex = 0;
rectangles.add(new TextPositionSequence(textPositions.subList(startIndex, i), page).getRectangle()); for (int i = 1; i < textPositions.size(); i++) {
y = yDirAdj; float yDirAdj = textPositions.get(i).getYDirAdj();
startIndex = i; if (yDirAdj != y) {
rectangles.add(new TextPositionSequence(textPositions.subList(startIndex, i), page).getRectangle());
y = yDirAdj;
startIndex = i;
}
}
if (startIndex != textPositions.size() - 1) {
rectangles.add(new TextPositionSequence(textPositions.subList(startIndex, textPositions.size()), page).getRectangle());
} }
}
if (startIndex != textPositions.size() - 1) {
rectangles.add(new TextPositionSequence(textPositions.subList(startIndex, textPositions.size()), page).getRectangle());
} }
return rectangles; return rectangles;