diff options
Diffstat (limited to 'vcl/generic/glyphs/gcach_layout.cxx')
-rw-r--r-- | vcl/generic/glyphs/gcach_layout.cxx | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/vcl/generic/glyphs/gcach_layout.cxx b/vcl/generic/glyphs/gcach_layout.cxx index bc65eafc8c89..7bab5fe0d9f0 100644 --- a/vcl/generic/glyphs/gcach_layout.cxx +++ b/vcl/generic/glyphs/gcach_layout.cxx @@ -488,6 +488,12 @@ bool HbLayoutEngine::Layout(ServerFontLayout& rLayout, ImplLayoutArgs& rArgs) int32_t nGlyphIndex = pHbGlyphInfos[i].codepoint; int32_t nCharPos = pHbGlyphInfos[i].cluster; + // tdf#89231 if it's just a missing non-breaking space, then use a normal space + if (!nGlyphIndex && (SalLayoutFlags::ForFallback & rArgs.mnFlags) && nCharPos >= 0 && rArgs.mpStr[nCharPos] == 0x202F) + { + nGlyphIndex = rFont.GetGlyphIndex(' '); + } + // if needed request glyph fallback by updating LayoutArgs if (!nGlyphIndex) { |