Bug 729993 - Use finer HarfBuzz cluster level. r=jfkthame
authorKhaled Hosny <khaledhosny@eglug.org>
Sun, 09 Aug 2015 22:01:32 +0100
changeset 257035 c2183af62a8d095b43ae3b34e535a72a79696b4a
parent 257034 00887edc40ba14b9251eb52284898b855e07b93d
child 257036 a6f105aba8d22e793d853bced35605258b4fa936
push idunknown
push userunknown
push dateunknown
reviewersjfkthame
bugs729993
milestone42.0a1
Bug 729993 - Use finer HarfBuzz cluster level. r=jfkthame
gfx/thebes/gfxHarfBuzzShaper.cpp
--- a/gfx/thebes/gfxHarfBuzzShaper.cpp
+++ b/gfx/thebes/gfxHarfBuzzShaper.cpp
@@ -1563,16 +1563,18 @@ gfxHarfBuzzShaper::ShapeText(gfxContext 
     }
     hb_buffer_set_language(buffer, language);
 
     uint32_t length = aLength;
     hb_buffer_add_utf16(buffer,
                         reinterpret_cast<const uint16_t*>(aText),
                         length, 0, length);
 
+    hb_buffer_set_cluster_level(buffer, HB_BUFFER_CLUSTER_LEVEL_MONOTONE_CHARACTERS);
+
     hb_shape(mHBFont, buffer, features.Elements(), features.Length());
 
     if (isRightToLeft) {
         hb_buffer_reverse(buffer);
     }
 
     nsresult rv = SetGlyphsFromRun(aContext, aShapedText, aOffset, aLength,
                                    aText, buffer, aVertical);