Change to output in priority order. 65/208265/2
authorJoogab Yun <joogab.yun@samsung.com>
Fri, 21 Jun 2019 02:19:14 +0000 (11:19 +0900)
committerjoogab yun <joogab.yun@samsung.com>
Mon, 24 Jun 2019 00:43:47 +0000 (00:43 +0000)
ex)
The current character(0x2665) is emoji script.
'UIFont' and 'EMOJI' font have '0x2665' unicode.
The priority of font is 'UIFont' -> 'EMOJI'.
The now behavior is that we find and output glyphs in EMOJI fonts. because the current character is an emoji script.
However, we want to be output from a high priority 'UIFont'.
so modified it.

and If you want to print emoji fonts, you can add variation unicode.
0x2665+variation unicode = at 'EMOJI' font file
The logic to check variation unicode will be added later.

Change-Id: Id5b54a75280d1678874665a42291facdbce72042

dali-toolkit/internal/text/multi-language-support-impl.cpp

index 81d815c..a8834b9 100755 (executable)
@@ -585,16 +585,6 @@ void MultilanguageSupport::ValidateFonts( const Vector<Character>& text,
         // Checks if the current character is supported by the selected font.
         isValidFont = fontClient.IsCharacterSupportedByFont( fontId, character );
 
-        // Emojis are present in many monochrome fonts; prefer color by default.
-        if( isValidFont &&
-            isEmojiScript )
-        {
-          const GlyphIndex glyphIndex = fontClient.GetGlyphIndex( fontId, character );
-
-          // For color emojis, the font is valid if the glyph is a color glyph (the bitmap is RGBA).
-          isValidFont = fontClient.IsColorGlyph( fontId, glyphIndex );
-        }
-
         // If there is a valid font, cache it.
         if( isValidFont && !isCommonScript )
         {
@@ -630,14 +620,11 @@ void MultilanguageSupport::ValidateFonts( const Vector<Character>& text,
 
             DefaultFonts* defaultFontsPerScript = NULL;
 
-            // Emojis are present in many monochrome fonts; prefer color by default.
-            const bool preferColor = ( TextAbstraction::EMOJI == script );
-
             // Find a fallback-font.
             fontId = fontClient.FindFallbackFont( character,
                                                   currentFontDescription,
                                                   currentFontPointSize,
-                                                  preferColor );
+                                                  false );
 
             if( 0u == fontId )
             {