X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=automated-tests%2Fsrc%2Fdali-toolkit-internal%2Futc-Dali-Text-MultiLanguage.cpp;h=559e34e1be3eed51d6776b9a8d77312cd362b316;hp=f602e8a8261e8c24868896a4514e0a624c35c5c9;hb=b85254b482e88b8f05b66e3656a1a29a7a7ea5fa;hpb=cdefdbdee1cb3fd4051e220bb185d97b6000a037 diff --git a/automated-tests/src/dali-toolkit-internal/utc-Dali-Text-MultiLanguage.cpp b/automated-tests/src/dali-toolkit-internal/utc-Dali-Text-MultiLanguage.cpp old mode 100644 new mode 100755 index f602e8a..559e34e --- a/automated-tests/src/dali-toolkit-internal/utc-Dali-Text-MultiLanguage.cpp +++ b/automated-tests/src/dali-toolkit-internal/utc-Dali-Text-MultiLanguage.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015 Samsung Electronics Co., Ltd. + * Copyright (c) 2018 Samsung Electronics Co., Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -36,11 +36,12 @@ using namespace Text; // Tests the following functions with different scripts. // // void MergeFontDescriptions( const Vector& fontDescriptions, -// Vector& fontIds, // const TextAbstraction::FontDescription& defaultFontDescription, // TextAbstraction::PointSize26Dot6 defaultPointSize, -// CharacterIndex startIndex, -// Length numberOfCharacters ); +// CharacterIndex characterIndex, +// TextAbstraction::FontDescription& fontDescription, +// TextAbstraction::PointSize26Dot6& fontPointSize, +// bool& isDefaultFont ); // // Script GetScript( Length index, // Vector::ConstIterator& scriptRunIt, @@ -56,7 +57,8 @@ using namespace Text; // void MultilanguageSupport::ValidateFonts( const Vector& text, // const Vector& scripts, // const Vector& fontDescriptions, -// FontId defaultFontId, +// const TextAbstraction::FontDescription& defaultFontDescription, +// TextAbstraction::PointSize26Dot6 defaultFontPointSize, // CharacterIndex startIndex, // Length numberOfCharacters, // Vector& fonts ); @@ -67,7 +69,7 @@ namespace { const std::string DEFAULT_FONT_DIR( "/resources/fonts" ); -const unsigned int EMOJI_FONT_SIZE = 3968u; +const unsigned int EMOJI_FONT_SIZE = 3840u; // 60 * 64 const unsigned int NON_DEFAULT_FONT_SIZE = 40u; struct MergeFontDescriptionsData @@ -79,6 +81,7 @@ struct MergeFontDescriptionsData unsigned int startIndex; ///< The start index. unsigned int numberOfCharacters; ///< The number of characters. Vector expectedFontIds; ///< The expected font ids. + Vector expectedIsDefault; ///< The expected font ids. }; struct ScriptsData @@ -103,18 +106,33 @@ struct ValidateFontsData }; ////////////////////////////////////////////////////////// - bool MergeFontDescriptionsTest( const MergeFontDescriptionsData& data ) { + TextAbstraction::FontClient fontClient = TextAbstraction::FontClient::Get(); + Vector fontIds; fontIds.Resize( data.startIndex + data.numberOfCharacters, 0u ); + Vector isDefaultFont; + isDefaultFont.Resize( data.startIndex + data.numberOfCharacters, true ); + + for( unsigned int index = data.startIndex; index < data.startIndex + data.numberOfCharacters; ++index ) + { + TextAbstraction::FontDescription fontDescription; + TextAbstraction::PointSize26Dot6 fontPointSize = TextAbstraction::FontClient::DEFAULT_POINT_SIZE; - MergeFontDescriptions( data.fontDescriptionRuns, - fontIds, - data.defaultFontDescription, - data.defaultPointSize, - data.startIndex, - data.numberOfCharacters ); + MergeFontDescriptions( data.fontDescriptionRuns, + data.defaultFontDescription, + data.defaultPointSize, + index, + fontDescription, + fontPointSize, + isDefaultFont[index] ); + + if( !isDefaultFont[index] ) + { + fontIds[index] = fontClient.GetFontId( fontDescription, fontPointSize ); + } + } if( fontIds.Count() != data.expectedFontIds.Count() ) { @@ -141,6 +159,12 @@ bool MergeFontDescriptionsTest( const MergeFontDescriptionsData& data ) std::cout << std::endl; return false; } + + if( isDefaultFont[index] != data.expectedIsDefault[index] ) + { + std::cout << data.description << " Different 'is font default' at index : " << index << ", is font default : " << isDefaultFont[index] << ", expected : " << data.expectedIsDefault[index] << std::endl; + return false; + } } return true; @@ -154,9 +178,11 @@ bool ScriptsTest( const ScriptsData& data ) Vector utf32; utf32.Resize( data.text.size() ); - const uint32_t numberOfCharacters = Utf8ToUtf32( reinterpret_cast( data.text.c_str() ), - data.text.size(), - &utf32[0u] ); + const uint32_t numberOfCharacters = ( data.text.size() == 0 ) ? 0 : + Utf8ToUtf32( reinterpret_cast( data.text.c_str() ), + data.text.size(), + &utf32[0u] ); + utf32.Resize( numberOfCharacters ); // 2) Set the script info. @@ -186,6 +212,12 @@ bool ScriptsTest( const ScriptsData& data ) if( scripts.Count() != data.scriptRuns.Count() ) { tet_printf("ScriptsTest FAIL: different number of scripts. %d, should be %d\n", scripts.Count(), data.scriptRuns.Count() ); + for( Vector::ConstIterator it = scripts.Begin(); it != scripts.End(); ++it) + { + const ScriptRun& run = *it; + + std::cout << " index : " << run.characterRun.characterIndex << ", num chars : " << run.characterRun.numberOfCharacters << ", script : [" << TextAbstraction::ScriptName[run.script] << "]" << std::endl; + } return false; } @@ -208,7 +240,7 @@ bool ScriptsTest( const ScriptsData& data ) if( scriptRun1.script != scriptRun2.script ) { - tet_printf("ScriptsTest FAIL: different script. %s, should be %s\n", TextAbstraction::ScriptName[scriptRun1.script], TextAbstraction::ScriptName[scriptRun2.script] ); + tet_printf("ScriptsTest FAIL: script index: %u, different script. %s, should be %s\n", index, TextAbstraction::ScriptName[scriptRun1.script], TextAbstraction::ScriptName[scriptRun2.script] ); return false; } } @@ -225,7 +257,8 @@ bool ValidateFontTest( const ValidateFontsData& data ) Vector utf32; utf32.Resize( data.text.size() ); - const uint32_t numberOfCharacters = Utf8ToUtf32( reinterpret_cast( data.text.c_str() ), + const uint32_t numberOfCharacters = (data.text.size() == 0 ) ? 0 : + Utf8ToUtf32( reinterpret_cast( data.text.c_str() ), data.text.size(), &utf32[0u] ); utf32.Resize( numberOfCharacters ); @@ -244,15 +277,19 @@ bool ValidateFontTest( const ValidateFontsData& data ) // Get the default font id. const FontId defaultFontId = fontClient.GetFontId( pathName + DEFAULT_FONT_DIR + data.defaultFont, data.defaultFontSize ); + TextAbstraction::FontDescription defaultFontDescription; + fontClient.GetDescription( defaultFontId, defaultFontDescription ); + + const TextAbstraction::PointSize26Dot6 defaultPointSize = fontClient.GetPointSize( defaultFontId ); - // To be completed ... Vector fontRuns; // 3) Validate the fonts. multilanguageSupport.ValidateFonts( utf32, scripts, data.fontDescriptionRuns, - defaultFontId, + defaultFontDescription, + defaultPointSize, 0u, numberOfCharacters, fontRuns ); @@ -268,7 +305,8 @@ bool ValidateFontTest( const ValidateFontsData& data ) multilanguageSupport.ValidateFonts( utf32, scripts, data.fontDescriptionRuns, - defaultFontId, + defaultFontDescription, + defaultPointSize, data.index, data.numberOfCharacters, fontRuns ); @@ -414,12 +452,16 @@ int UtcDaliTextMergeFontDescriptions(void) TextAbstraction::FontDescription defaultFontDescription01; Vector fontDescriptionRuns01; Vector expectedFontIds01; + Vector expectedIsFontDefault01; TextAbstraction::FontDescription defaultFontDescription02; Vector fontDescriptionRuns02; Vector expectedFontIds02; expectedFontIds02.PushBack( 0u ); expectedFontIds02.PushBack( 0u ); + Vector expectedIsFontDefault02; + expectedIsFontDefault02.PushBack( true ); + expectedIsFontDefault02.PushBack( true ); TextAbstraction::FontDescription defaultFontDescription03; defaultFontDescription03.family = "DejaVu Serif"; @@ -433,9 +475,9 @@ int UtcDaliTextMergeFontDescriptions(void) }, const_cast( "DejaVu Sans" ), 11u, - TextAbstraction::FontWeight::NORMAL, - TextAbstraction::FontWidth::NORMAL, - TextAbstraction::FontSlant::NORMAL, + TextAbstraction::FontWeight::NONE, + TextAbstraction::FontWidth::NONE, + TextAbstraction::FontSlant::NONE, TextAbstraction::FontClient::DEFAULT_POINT_SIZE, true, false, @@ -451,8 +493,8 @@ int UtcDaliTextMergeFontDescriptions(void) }, NULL, 0u, - TextAbstraction::FontWeight::NORMAL, - TextAbstraction::FontWidth::NORMAL, + TextAbstraction::FontWeight::NONE, + TextAbstraction::FontWidth::NONE, TextAbstraction::FontSlant::ITALIC, TextAbstraction::FontClient::DEFAULT_POINT_SIZE, false, @@ -470,8 +512,8 @@ int UtcDaliTextMergeFontDescriptions(void) NULL, 0u, TextAbstraction::FontWeight::BOLD, - TextAbstraction::FontWidth::NORMAL, - TextAbstraction::FontSlant::NORMAL, + TextAbstraction::FontWidth::NONE, + TextAbstraction::FontSlant::NONE, TextAbstraction::FontClient::DEFAULT_POINT_SIZE, false, true, @@ -487,9 +529,9 @@ int UtcDaliTextMergeFontDescriptions(void) }, NULL, 0u, - TextAbstraction::FontWeight::NORMAL, - TextAbstraction::FontWidth::NORMAL, - TextAbstraction::FontSlant::NORMAL, + TextAbstraction::FontWeight::NONE, + TextAbstraction::FontWidth::NONE, + TextAbstraction::FontSlant::NONE, NON_DEFAULT_FONT_SIZE, false, false, @@ -505,9 +547,9 @@ int UtcDaliTextMergeFontDescriptions(void) }, NULL, 0u, - TextAbstraction::FontWeight::NORMAL, + TextAbstraction::FontWeight::NONE, TextAbstraction::FontWidth::EXPANDED, - TextAbstraction::FontSlant::NORMAL, + TextAbstraction::FontSlant::NONE, TextAbstraction::FontClient::DEFAULT_POINT_SIZE, false, false, @@ -533,6 +575,17 @@ int UtcDaliTextMergeFontDescriptions(void) expectedFontIds03.PushBack( 3u ); expectedFontIds03.PushBack( 6u ); expectedFontIds03.PushBack( 6u ); + Vector expectedIsFontDefault03; + expectedIsFontDefault03.PushBack( false ); + expectedIsFontDefault03.PushBack( false ); + expectedIsFontDefault03.PushBack( false ); + expectedIsFontDefault03.PushBack( false ); + expectedIsFontDefault03.PushBack( false ); + expectedIsFontDefault03.PushBack( false ); + expectedIsFontDefault03.PushBack( false ); + expectedIsFontDefault03.PushBack( false ); + expectedIsFontDefault03.PushBack( false ); + expectedIsFontDefault03.PushBack( false ); const MergeFontDescriptionsData data[] = { @@ -543,7 +596,8 @@ int UtcDaliTextMergeFontDescriptions(void) TextAbstraction::FontClient::DEFAULT_POINT_SIZE, 0u, 0u, - expectedFontIds01 + expectedFontIds01, + expectedIsFontDefault01 }, { "No description runs.", @@ -552,7 +606,8 @@ int UtcDaliTextMergeFontDescriptions(void) TextAbstraction::FontClient::DEFAULT_POINT_SIZE, 0u, 2u, - expectedFontIds02 + expectedFontIds02, + expectedIsFontDefault02 }, { "Some description runs.", @@ -561,7 +616,8 @@ int UtcDaliTextMergeFontDescriptions(void) TextAbstraction::FontClient::DEFAULT_POINT_SIZE, 0u, 10u, - expectedFontIds03 + expectedFontIds03, + expectedIsFontDefault03 } }; const unsigned int numberOfTests = 3u; @@ -667,7 +723,7 @@ int UtcDaliTextMultiLanguageSetScripts(void) { { 0u, - 16u, + 15u, }, TextAbstraction::LATIN }; @@ -679,7 +735,7 @@ int UtcDaliTextMultiLanguageSetScripts(void) { { 0u, - 16u, + 15u, }, TextAbstraction::LATIN }; @@ -691,7 +747,7 @@ int UtcDaliTextMultiLanguageSetScripts(void) { { 0u, - 16u, + 15u, }, TextAbstraction::LATIN }; @@ -906,7 +962,7 @@ int UtcDaliTextMultiLanguageSetScripts(void) 0u, 3u, }, - TextAbstraction::LATIN + TextAbstraction::UNKNOWN }; ScriptRun scriptRun1101 = { @@ -914,7 +970,7 @@ int UtcDaliTextMultiLanguageSetScripts(void) 3u, 3u, }, - TextAbstraction::LATIN + TextAbstraction::UNKNOWN }; ScriptRun scriptRun1102 = { @@ -930,7 +986,7 @@ int UtcDaliTextMultiLanguageSetScripts(void) 25u, 3u, }, - TextAbstraction::LATIN + TextAbstraction::UNKNOWN }; ScriptRun scriptRun1104 = { @@ -938,7 +994,7 @@ int UtcDaliTextMultiLanguageSetScripts(void) 28u, 3u, }, - TextAbstraction::LATIN + TextAbstraction::UNKNOWN }; ScriptRun scriptRun1105 = { @@ -954,7 +1010,7 @@ int UtcDaliTextMultiLanguageSetScripts(void) 46u, 2u, }, - TextAbstraction::LATIN + TextAbstraction::UNKNOWN }; ScriptRun scriptRun1107 = { @@ -962,7 +1018,7 @@ int UtcDaliTextMultiLanguageSetScripts(void) 48u, 2u, }, - TextAbstraction::LATIN + TextAbstraction::UNKNOWN }; ScriptRun scriptRun1108 = { @@ -970,7 +1026,7 @@ int UtcDaliTextMultiLanguageSetScripts(void) 50u, 2u, }, - TextAbstraction::LATIN + TextAbstraction::UNKNOWN }; scriptRuns11.PushBack( scriptRun1100 ); scriptRuns11.PushBack( scriptRun1101 ); @@ -990,7 +1046,7 @@ int UtcDaliTextMultiLanguageSetScripts(void) 0u, 3u, }, - TextAbstraction::LATIN + TextAbstraction::UNKNOWN }; ScriptRun scriptRun1201 = { @@ -998,7 +1054,7 @@ int UtcDaliTextMultiLanguageSetScripts(void) 3u, 3u, }, - TextAbstraction::LATIN + TextAbstraction::UNKNOWN }; ScriptRun scriptRun1202 = { @@ -1006,7 +1062,7 @@ int UtcDaliTextMultiLanguageSetScripts(void) 6u, 3u, }, - TextAbstraction::LATIN + TextAbstraction::UNKNOWN }; ScriptRun scriptRun1203 = { @@ -1014,7 +1070,7 @@ int UtcDaliTextMultiLanguageSetScripts(void) 9u, 2u, }, - TextAbstraction::LATIN + TextAbstraction::UNKNOWN }; scriptRuns12.PushBack( scriptRun1200 ); scriptRuns12.PushBack( scriptRun1201 ); @@ -1028,7 +1084,7 @@ int UtcDaliTextMultiLanguageSetScripts(void) 0u, 4u, }, - TextAbstraction::LATIN // An unknown script is transformed to LATIN + TextAbstraction::UNKNOWN }; scriptRuns13.PushBack( scriptRun1301 ); @@ -1092,23 +1148,23 @@ int UtcDaliTextMultiLanguageSetScripts(void) }, { "White spaces. At the beginning of the text.", - " Hello world.", + " Hello world", 0u, - 16u, + 15u, scriptRuns04, }, { "White spaces. At the end of the text.", - "Hello world. ", + "Hello world ", 0u, - 16u, + 15u, scriptRuns05, }, { "White spaces. At the middle of the text.", - "Hello world.", + "Hello world", 0u, - 16u, + 15u, scriptRuns06, }, { @@ -1244,15 +1300,26 @@ int UtcDaliTextMultiLanguageValidateFonts01(void) const std::string pathName( pathNamePtr ); free( pathNamePtr ); + const PointSize26Dot6 pointSize01 = static_cast( 21.f * 64.f ); + const PointSize26Dot6 pointSize02 = static_cast( 35.f * 64.f ); + // Load some fonts. fontClient.GetFontId( pathName + DEFAULT_FONT_DIR + "/tizen/TizenSansArabicRegular.ttf" ); fontClient.GetFontId( pathName + DEFAULT_FONT_DIR + "/tizen/TizenSansHebrewRegular.ttf" ); - fontClient.GetFontId( pathName + DEFAULT_FONT_DIR + "/tizen/TizenColorEmoji.ttf", EMOJI_FONT_SIZE ); + fontClient.GetFontId( pathName + DEFAULT_FONT_DIR + "/tizen/BreezeColorEmoji.ttf", EMOJI_FONT_SIZE ); + fontClient.GetFontId( pathName + DEFAULT_FONT_DIR + "/tizen/TizenSansRegular.ttf", pointSize01 ); + fontClient.GetFontId( pathName + DEFAULT_FONT_DIR + "/tizen/TizenSansRegular.ttf", pointSize02 ); + fontClient.GetFontId( pathName + DEFAULT_FONT_DIR + "/tizen/TizenSansHebrewRegular.ttf", pointSize01 ); + fontClient.GetFontId( pathName + DEFAULT_FONT_DIR + "/tizen/TizenSansHebrewRegular.ttf", pointSize02 ); // Font id 1 --> TizenSansArabicRegular.ttf // Font id 2 --> TizenSansHebrewRegular.ttf - // Font id 3 --> TizenColorEmoji.ttf - // Font id 4 --> (default) + // Font id 3 --> BreezeColorEmoji.ttf + // Font id 4 --> TizenSansRegular.ttf, size 8 + // Font id 5 --> TizenSansRegular.ttf, size 16 + // Font id 6 --> TizenSansHebrewRegular.ttf, size 8 + // Font id 7 --> TizenSansHebrewRegular.ttf, size 16 + // Font id 8 --> (default) Vector fontRuns01; Vector fontDescriptions01; @@ -1263,7 +1330,7 @@ int UtcDaliTextMultiLanguageValidateFonts01(void) 0u, 11u }, - 4u + 8u }; Vector fontRuns02; fontRuns02.PushBack( fontRun0201 ); @@ -1295,7 +1362,7 @@ int UtcDaliTextMultiLanguageValidateFonts01(void) 0u, 12u }, - 4u + 8u }; FontRun fontRun0302 = { @@ -1303,7 +1370,7 @@ int UtcDaliTextMultiLanguageValidateFonts01(void) 12u, 12u }, - 4u + 8u }; FontRun fontRun0303 = { @@ -1311,7 +1378,7 @@ int UtcDaliTextMultiLanguageValidateFonts01(void) 24u, 4u }, - 4u + 8u }; Vector fontRuns03; fontRuns03.PushBack( fontRun0301 ); @@ -1334,7 +1401,7 @@ int UtcDaliTextMultiLanguageValidateFonts01(void) 4u, 1u }, - 4u + 8u }; FontRun fontRun0703 = { @@ -1420,8 +1487,8 @@ int UtcDaliTextMultiLanguageValidateFonts01(void) 0u, 4u }, - const_cast( "TizenColorEmoji" ), - 15u, + const_cast( "BreezeColorEmoji" ), + 16u, TextAbstraction::FontWeight::NORMAL, TextAbstraction::FontWidth::NORMAL, TextAbstraction::FontSlant::NORMAL, @@ -1434,6 +1501,242 @@ int UtcDaliTextMultiLanguageValidateFonts01(void) }; fontDescriptions09.PushBack( fontDescription0901 ); + FontRun fontRun1001 = + { + { + 0u, + 13u + }, + 4u + }; + FontRun fontRun1002 = + { + { + 13u, + 9u + }, + 6u + }; + FontRun fontRun1003 = + { + { + 22u, + 15u + }, + 5u + }; + FontRun fontRun1004 = + { + { + 37u, + 9u + }, + 7u + }; + Vector fontRuns10; + fontRuns10.PushBack( fontRun1001 ); + fontRuns10.PushBack( fontRun1002 ); + fontRuns10.PushBack( fontRun1003 ); + fontRuns10.PushBack( fontRun1004 ); + + FontDescriptionRun fontDescription1001 = + { + { + 0u, + 13u + }, + const_cast( "TizenSans" ), + 9u, + TextAbstraction::FontWeight::NORMAL, + TextAbstraction::FontWidth::NORMAL, + TextAbstraction::FontSlant::NORMAL, + pointSize01, + true, + false, + false, + false, + true + }; + FontDescriptionRun fontDescription1002 = + { + { + 13u, + 9u + }, + const_cast( "TizenSansHebrew" ), + 15u, + TextAbstraction::FontWeight::NORMAL, + TextAbstraction::FontWidth::NORMAL, + TextAbstraction::FontSlant::NORMAL, + pointSize01, + true, + false, + false, + false, + true + }; + FontDescriptionRun fontDescription1003 = + { + { + 22u, + 15u + }, + const_cast( "TizenSans" ), + 9u, + TextAbstraction::FontWeight::NORMAL, + TextAbstraction::FontWidth::NORMAL, + TextAbstraction::FontSlant::NORMAL, + pointSize02, + true, + false, + false, + false, + true + }; + FontDescriptionRun fontDescription1004 = + { + { + 37u, + 9u + }, + const_cast( "TizenSansHebrew" ), + 15u, + TextAbstraction::FontWeight::NORMAL, + TextAbstraction::FontWidth::NORMAL, + TextAbstraction::FontSlant::NORMAL, + pointSize02, + true, + false, + false, + false, + true + }; + Vector fontDescriptions10; + fontDescriptions10.PushBack( fontDescription1001 ); + fontDescriptions10.PushBack( fontDescription1002 ); + fontDescriptions10.PushBack( fontDescription1003 ); + fontDescriptions10.PushBack( fontDescription1004 ); + + FontRun fontRun1101 = + { + { + 0u, + 22u + }, + 5u + }; + Vector fontRuns11; + fontRuns11.PushBack( fontRun1101 ); + + FontDescriptionRun fontDescription1101 = + { + { + 0, + 22u + }, + const_cast( "TizenSans" ), + 9u, + TextAbstraction::FontWeight::NORMAL, + TextAbstraction::FontWidth::NORMAL, + TextAbstraction::FontSlant::NORMAL, + pointSize02, + true, + false, + false, + false, + true + }; + Vector fontDescriptions11; + fontDescriptions11.PushBack( fontDescription1101 ); + + FontRun fontRun1201 = + { + { + 0u, + 6u + }, + 8u + }; + FontRun fontRun1202 = + { + { + 6u, + 1u + }, + 9u + }; + FontRun fontRun1203 = + { + { + 7u, + 5u + }, + 8u + }; + Vector fontRuns12; + fontRuns12.PushBack( fontRun1201 ); + fontRuns12.PushBack( fontRun1202 ); + fontRuns12.PushBack( fontRun1203 ); + + FontDescriptionRun fontDescription1201 = + { + { + 0u, + 6u + }, + const_cast( "TizenSans" ), + 9u, + TextAbstraction::FontWeight::NORMAL, + TextAbstraction::FontWidth::NORMAL, + TextAbstraction::FontSlant::NORMAL, + 0u, + true, + false, + false, + false, + false + }; + FontDescriptionRun fontDescription1202 = + { + { + 6u, + 1u + }, + const_cast( "TizenSans" ), + 9u, + TextAbstraction::FontWeight::NORMAL, + TextAbstraction::FontWidth::NORMAL, + TextAbstraction::FontSlant::NORMAL, + 0u, + true, + false, + false, + false, + false + }; + FontDescriptionRun fontDescription1203 = + { + { + 7u, + 5u + }, + const_cast( "TizenSans" ), + 9u, + TextAbstraction::FontWeight::NORMAL, + TextAbstraction::FontWidth::NORMAL, + TextAbstraction::FontSlant::NORMAL, + 0u, + true, + false, + false, + false, + false + }; + Vector fontDescriptions12; + fontDescriptions12.PushBack( fontDescription1201 ); + fontDescriptions12.PushBack( fontDescription1202 ); + fontDescriptions12.PushBack( fontDescription1203 ); + const ValidateFontsData data[] = { { @@ -1519,15 +1822,45 @@ int UtcDaliTextMultiLanguageValidateFonts01(void) { "Emojis", "\xF0\x9F\x98\x81\xF0\x9F\x98\x82\xF0\x9F\x98\x83\xF0\x9F\x98\x84", - "/tizen/TizenColorEmoji.ttf", + "/tizen/BreezeColorEmoji.ttf", EMOJI_FONT_SIZE, 0u, 4u, fontDescriptions09, fontRuns09 }, + { + "Mix text. Default font: latin. Different font sizes", + "Hello world, שלום עולם, hello world, שלום עולם", + "/tizen/TizenSansRegular.ttf", + TextAbstraction::FontClient::DEFAULT_POINT_SIZE, + 0u, + 46u, + fontDescriptions10, + fontRuns10 + }, + { + "Unknown script -> changed to LATIN", + "WRC – The Official App", + "/tizen/TizenSansRegular.ttf", + TextAbstraction::FontClient::DEFAULT_POINT_SIZE, + 0u, + 22u, + fontDescriptions11, + fontRuns11 + }, + { + "Common script.", + "Hello \tworld", + "/tizen/TizenSansRegular.ttf", + TextAbstraction::FontClient::DEFAULT_POINT_SIZE, + 0u, + 12u, + fontDescriptions12, + fontRuns12 + }, }; - const unsigned int numberOfTests = 9u; + const unsigned int numberOfTests = 12u; for( unsigned int index = 0u; index < numberOfTests; ++index ) {