aboutsummaryrefslogtreecommitdiffhomepage
path: root/tools/shape/SkShaper_harfbuzz.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tools/shape/SkShaper_harfbuzz.cpp')
-rw-r--r--tools/shape/SkShaper_harfbuzz.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/tools/shape/SkShaper_harfbuzz.cpp b/tools/shape/SkShaper_harfbuzz.cpp
index 6315a96a02..c5f437ea22 100644
--- a/tools/shape/SkShaper_harfbuzz.cpp
+++ b/tools/shape/SkShaper_harfbuzz.cpp
@@ -134,16 +134,16 @@ public:
SkASSERT(fUTF16LogicalPosition < ubidi_getLength(fBidi.get()));
int32_t endPosition = ubidi_getLength(fBidi.get());
fLevel = ubidi_getLevelAt(fBidi.get(), fUTF16LogicalPosition);
- ++fUTF16LogicalPosition;
- SkUTF8_NextUnichar(&fEndOfCurrentRun);
+ SkUnichar u = SkUTF8_NextUnichar(&fEndOfCurrentRun);
+ fUTF16LogicalPosition += SkUTF16_FromUnichar(u);
UBiDiLevel level;
while (fUTF16LogicalPosition < endPosition) {
level = ubidi_getLevelAt(fBidi.get(), fUTF16LogicalPosition);
if (level != fLevel) {
break;
}
- ++fUTF16LogicalPosition;
- SkUTF8_NextUnichar(&fEndOfCurrentRun);
+ u = SkUTF8_NextUnichar(&fEndOfCurrentRun);
+ fUTF16LogicalPosition += SkUTF16_FromUnichar(u);
}
}
const char* endOfCurrentRun() const override {