From 746679e186c1dfa50b799407d315e8fd030374a9 Mon Sep 17 00:00:00 2001 From: Aric Stewart Date: Wed, 7 Dec 2011 08:30:49 -0600 Subject: [PATCH] usp10: Handle dangling joiners when processing Indic GlyphProps. --- dlls/usp10/shape.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/dlls/usp10/shape.c b/dlls/usp10/shape.c index 5b9bb56faa2..4ee658e7aad 100644 --- a/dlls/usp10/shape.c +++ b/dlls/usp10/shape.c @@ -3302,7 +3302,11 @@ static void ShapeCharGlyphProp_BaseIndic( HDC hdc, ScriptCache *psc, SCRIPT_ANAL break; case lex_ZWJ: case lex_ZWNJ: - k = char_count; + /* check for dangling joiners */ + if (pwcChars[char_index[k]-1] == 0x0020 || pwcChars[char_index[k]+1] == 0x0020) + pGlyphProp[i].sva.fClusterStart = 1; + else + k = char_count; break; default: pGlyphProp[i].sva.fClusterStart = 1; -- 2.11.4.GIT