summaryrefslogtreecommitdiffstats
path: root/vcl
diff options
context:
space:
mode:
Diffstat (limited to 'vcl')
-rw-r--r--vcl/win/source/gdi/winlayout.cxx4
1 files changed, 3 insertions, 1 deletions
diff --git a/vcl/win/source/gdi/winlayout.cxx b/vcl/win/source/gdi/winlayout.cxx
index 5d0611b48b8a..1039526e9a4b 100644
--- a/vcl/win/source/gdi/winlayout.cxx
+++ b/vcl/win/source/gdi/winlayout.cxx
@@ -1861,6 +1861,8 @@ int UniscribeLayout::GetNextGlyphs( int nLen, sal_GlyphId* pGlyphs, Point& rPos,
//position so that iterating over glyph slots one at a time for
//glyph fallback can keep context as to what characters are the
//inputs that caused a missing glyph in a given font.
+ //
+ //See: fdo#46923/fdo#46750 for extra complexities
{
int dir = 1;
int out = rVI.mnMinCharPos;
@@ -1871,7 +1873,7 @@ int UniscribeLayout::GetNextGlyphs( int nLen, sal_GlyphId* pGlyphs, Point& rPos,
}
for(c = rVI.mnMinCharPos; c < rVI.mnEndCharPos; ++c)
{
- int i = out;
+ int i = out - mnSubStringMin;
mpGlyphs2Chars[i] = c;
out += dir;
}