Bidi segmentation BEFORE anything else
Change-Id: I94637e663bc1ffc7d9d6e1c0fb0b28509af45f60
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/266200
Commit-Queue: Julia Lavrova <jlavrova@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
diff --git a/modules/skparagraph/src/ParagraphImpl.h b/modules/skparagraph/src/ParagraphImpl.h
index 374a00b..fd39e10 100644
--- a/modules/skparagraph/src/ParagraphImpl.h
+++ b/modules/skparagraph/src/ParagraphImpl.h
@@ -49,6 +49,13 @@
TextIndex fTextStart;
};
+struct BidiRegion {
+ BidiRegion(size_t start, size_t end, uint8_t dir)
+ : text(start, end), direction(dir) { }
+ TextRange text;
+ uint8_t direction;
+};
+
class TextBreaker {
public:
TextBreaker() : fInitialized(false), fPos(-1) {}
@@ -218,6 +225,8 @@
void computeEmptyMetrics();
+ bool calculateBidiRegions(SkTArray<BidiRegion>* regions);
+
// Input
SkTArray<StyleBlock<SkScalar>> fLetterSpaceStyles;
SkTArray<StyleBlock<SkScalar>> fWordSpaceStyles;