summaryrefslogtreecommitdiff
path: root/src/gfx_layout.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gfx_layout.cpp')
-rw-r--r--src/gfx_layout.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/gfx_layout.cpp b/src/gfx_layout.cpp
index 6a3d1ee96..0c4c1f23f 100644
--- a/src/gfx_layout.cpp
+++ b/src/gfx_layout.cpp
@@ -653,6 +653,9 @@ Layouter::Layouter(const char *str, int maxw, TextColour colour, FontSize fontsi
} else {
/* Line is new, layout it */
#ifdef WITH_ICU
+ FontState old_state = state;
+ const char *old_str = str;
+
GetLayouter<ICUParagraphLayout>(line, str, state);
if (line.layout == NULL) {
static bool warned = false;
@@ -660,6 +663,9 @@ Layouter::Layouter(const char *str, int maxw, TextColour colour, FontSize fontsi
DEBUG(misc, 0, "ICU layouter bailed on the font. Falling back to the fallback layouter");
warned = true;
}
+
+ state = old_state;
+ str = old_str;
GetLayouter<FallbackParagraphLayout>(line, str, state);
}
#else