Fix UTC after stopping hb_buffer_set_invisible_glyph when Shape
[platform/core/uifw/dali-toolkit.git] / automated-tests / src / dali-toolkit-internal / utc-Dali-Text-Shaping.cpp
index 80624a8..bc52a6f 100755 (executable)
@@ -87,7 +87,7 @@ bool IsEqualGlyph(const GlyphInfoData& glyphData, const GlyphInfo& glyph)
   {
     return false;
   }
-  if(fabsf(glyphData.advance - floor(glyph.advance)) > Math::MACHINE_EPSILON_1000)
+  if(glyphData.advance >= 0.0f && fabsf(glyphData.advance - floor(glyph.advance)) > Math::MACHINE_EPSILON_1000)
   {
     return false;
   }
@@ -961,9 +961,10 @@ int UtcDaliTextShapeEmojiSequences(void)
   bool sizeDefined   = false;
 
   // variation selector 16 (Emoji)
+  // Note : Non-scalable font's advance value is undefined. See https://github.com/harfbuzz/harfbuzz/discussions/3023. 2022-06-03 updated.
   struct GlyphInfoData glyphsVS16[] =
     {
-      {2u, 74u, 0.f, 0.f, 0.f, 0.f, 39.0f, 0.f, false, false},
+      {2u, 74u, 0.f, 0.f, 0.f, 0.f, -1.0f /* Special value that we don't check it */, 0.f, false, false},
     };
   CharacterIndex characterIndicesVS16[]   = {0u, 1u};
   Length         charactersPerGlyphVS16[] = {2u};
@@ -972,7 +973,7 @@ int UtcDaliTextShapeEmojiSequences(void)
   struct GlyphInfoData glyphsVS15[] =
     {
       {1u, 3842u, 0.f, 0.f, 0.f, 0.f, 14.0f, 0.f, false, false},
-      {1u, 8203u, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, false, false},
+      {1u, 3u, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, false, false},
     };
   CharacterIndex characterIndicesVS15[]   = {0u, 0u};
   Length         charactersPerGlyphVS15[] = {0u, 2u};