[coretext] Don't generate notdef glyph for default-ignorables
authorBehdad Esfahbod <behdad@behdad.org>
Wed, 28 Jan 2015 18:51:33 +0000 (10:51 -0800)
committerBehdad Esfahbod <behdad@behdad.org>
Wed, 28 Jan 2015 18:51:33 +0000 (10:51 -0800)
As discovered on Chrome Mac:
https://code.google.com/p/chromium/issues/detail?id=452326

src/hb-coretext.cc
src/hb-ot-shape.cc

index 4a1e14c..4a45175 100644 (file)
@@ -897,6 +897,8 @@ retry:
                   * for this one. */
                  continue;
              }
+             if (buffer->unicode->is_default_ignorable (ch))
+               continue;
 
              info->codepoint = notdef;
              info->cluster = log_clusters[j];
index a0b503a..07adb04 100644 (file)
@@ -676,7 +676,7 @@ hb_ot_hide_default_ignorables (hb_ot_shape_context_t *c)
        pos[i].y_advance = 0;
       }
       else
-       continue; /* Delete it. */
+       continue; /* Delete it. XXX Merge clusters? */
     }
     if (j != i)
     {