From 350513a699ee3211283013dc9cfb0e3fea9b407a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominique=20Eifl=C3=A4nder?= Date: Tue, 19 Mar 2024 11:16:07 +0100 Subject: [PATCH] RED-8627: Fixed scrambled text after sorting --- .../model/text/TextPositionSequence.java | 6 ++++ .../utils/TextPositionSequenceComparator.java | 28 +++++++------------ 2 files changed, 16 insertions(+), 18 deletions(-) diff --git a/layoutparser-service/layoutparser-service-processor/src/main/java/com/knecon/fforesight/service/layoutparser/processor/model/text/TextPositionSequence.java b/layoutparser-service/layoutparser-service-processor/src/main/java/com/knecon/fforesight/service/layoutparser/processor/model/text/TextPositionSequence.java index 82829c6..94df962 100644 --- a/layoutparser-service/layoutparser-service-processor/src/main/java/com/knecon/fforesight/service/layoutparser/processor/model/text/TextPositionSequence.java +++ b/layoutparser-service/layoutparser-service-processor/src/main/java/com/knecon/fforesight/service/layoutparser/processor/model/text/TextPositionSequence.java @@ -190,6 +190,12 @@ public class TextPositionSequence implements CharSequence { } + public float getTextHeightNoPadding() { + + return textPositions.get(0).getHeightDir(); + } + + public float getTextHeight() { return textPositions.get(0).getHeightDir() + HEIGHT_PADDING; diff --git a/layoutparser-service/layoutparser-service-processor/src/main/java/com/knecon/fforesight/service/layoutparser/processor/utils/TextPositionSequenceComparator.java b/layoutparser-service/layoutparser-service-processor/src/main/java/com/knecon/fforesight/service/layoutparser/processor/utils/TextPositionSequenceComparator.java index 40dce07..b002dbc 100644 --- a/layoutparser-service/layoutparser-service-processor/src/main/java/com/knecon/fforesight/service/layoutparser/processor/utils/TextPositionSequenceComparator.java +++ b/layoutparser-service/layoutparser-service-processor/src/main/java/com/knecon/fforesight/service/layoutparser/processor/utils/TextPositionSequenceComparator.java @@ -28,15 +28,13 @@ import com.knecon.fforesight.service.layoutparser.processor.model.text.TextPosit * * @author Ben Litchfield */ -public class TextPositionSequenceComparator implements Comparator -{ +public class TextPositionSequenceComparator implements Comparator { + @Override - public int compare(TextPositionSequence pos1, TextPositionSequence pos2) - { + public int compare(TextPositionSequence pos1, TextPositionSequence pos2) { // only compare text that is in the same direction int cmp1 = Float.compare(pos1.getDir().getDegrees(), pos2.getDir().getDegrees()); - if (cmp1 != 0) - { + if (cmp1 != 0) { return cmp1; } @@ -48,25 +46,19 @@ public class TextPositionSequenceComparator implements Comparator= pos1YTop && pos2YBottom <= pos1YBottom || - pos1YBottom >= pos2YTop && pos1YBottom <= pos2YBottom) - { + if (yDifference < .1 || pos2YBottom >= pos1YTop && pos2YBottom <= pos1YBottom || pos1YBottom >= pos2YTop && pos1YBottom <= pos2YBottom) { return Float.compare(x1, x2); - } - else if (pos1YBottom < pos2YBottom) - { + } else if (pos1YBottom < pos2YBottom) { return -1; - } - else - { + } else { return 1; } } + }