/*
- * Copyright (c) 2017 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.
{
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
Vector<Character> utf32;
utf32.Resize( data.text.size() );
- const uint32_t numberOfCharacters = Utf8ToUtf32( reinterpret_cast<const uint8_t* const>( data.text.c_str() ),
- data.text.size(),
- &utf32[0u] );
+ const uint32_t numberOfCharacters = ( data.text.size() == 0 ) ? 0 :
+ Utf8ToUtf32( reinterpret_cast<const uint8_t* const>( data.text.c_str() ),
+ data.text.size(),
+ &utf32[0u] );
+
utf32.Resize( numberOfCharacters );
// 2) Set the script info.
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;
}
}
Vector<Character> utf32;
utf32.Resize( data.text.size() );
- const uint32_t numberOfCharacters = Utf8ToUtf32( reinterpret_cast<const uint8_t* const>( data.text.c_str() ),
+ const uint32_t numberOfCharacters = (data.text.size() == 0 ) ? 0 :
+ Utf8ToUtf32( reinterpret_cast<const uint8_t* const>( data.text.c_str() ),
data.text.size(),
&utf32[0u] );
utf32.Resize( numberOfCharacters );
0u,
3u,
},
- TextAbstraction::LATIN
+ TextAbstraction::UNKNOWN
};
ScriptRun scriptRun1101 =
{
3u,
3u,
},
- TextAbstraction::LATIN
+ TextAbstraction::UNKNOWN
};
ScriptRun scriptRun1102 =
{
25u,
3u,
},
- TextAbstraction::LATIN
+ TextAbstraction::UNKNOWN
};
ScriptRun scriptRun1104 =
{
28u,
3u,
},
- TextAbstraction::LATIN
+ TextAbstraction::UNKNOWN
};
ScriptRun scriptRun1105 =
{
46u,
2u,
},
- TextAbstraction::LATIN
+ TextAbstraction::UNKNOWN
};
ScriptRun scriptRun1107 =
{
48u,
2u,
},
- TextAbstraction::LATIN
+ TextAbstraction::UNKNOWN
};
ScriptRun scriptRun1108 =
{
50u,
2u,
},
- TextAbstraction::LATIN
+ TextAbstraction::UNKNOWN
};
scriptRuns11.PushBack( scriptRun1100 );
scriptRuns11.PushBack( scriptRun1101 );
0u,
3u,
},
- TextAbstraction::LATIN
+ TextAbstraction::UNKNOWN
};
ScriptRun scriptRun1201 =
{
3u,
3u,
},
- TextAbstraction::LATIN
+ TextAbstraction::UNKNOWN
};
ScriptRun scriptRun1202 =
{
6u,
3u,
},
- TextAbstraction::LATIN
+ TextAbstraction::UNKNOWN
};
ScriptRun scriptRun1203 =
{
9u,
2u,
},
- TextAbstraction::LATIN
+ TextAbstraction::UNKNOWN
};
scriptRuns12.PushBack( scriptRun1200 );
scriptRuns12.PushBack( scriptRun1201 );
0u,
4u,
},
- TextAbstraction::LATIN // An unknown script is transformed to LATIN
+ TextAbstraction::UNKNOWN
};
scriptRuns13.PushBack( scriptRun1301 );
// 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 );
// Font id 1 --> TizenSansArabicRegular.ttf
// Font id 2 --> TizenSansHebrewRegular.ttf
- // Font id 3 --> TizenColorEmoji.ttf
+ // 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
0u,
4u
},
- const_cast<char*>( "TizenColorEmoji" ),
- 15u,
+ const_cast<char*>( "BreezeColorEmoji" ),
+ 16u,
TextAbstraction::FontWeight::NORMAL,
TextAbstraction::FontWidth::NORMAL,
TextAbstraction::FontSlant::NORMAL,
fontDescriptions10.PushBack( fontDescription1003 );
fontDescriptions10.PushBack( fontDescription1004 );
+ FontRun fontRun1101 =
+ {
+ {
+ 0u,
+ 22u
+ },
+ 5u
+ };
+ Vector<FontRun> fontRuns11;
+ fontRuns11.PushBack( fontRun1101 );
+
+ FontDescriptionRun fontDescription1101 =
+ {
+ {
+ 0,
+ 22u
+ },
+ const_cast<char*>( "TizenSans" ),
+ 9u,
+ TextAbstraction::FontWeight::NORMAL,
+ TextAbstraction::FontWidth::NORMAL,
+ TextAbstraction::FontSlant::NORMAL,
+ pointSize02,
+ true,
+ false,
+ false,
+ false,
+ true
+ };
+ Vector<FontDescriptionRun> fontDescriptions11;
+ fontDescriptions11.PushBack( fontDescription1101 );
+
+ FontRun fontRun1201 =
+ {
+ {
+ 0u,
+ 6u
+ },
+ 8u
+ };
+ FontRun fontRun1202 =
+ {
+ {
+ 6u,
+ 1u
+ },
+ 9u
+ };
+ FontRun fontRun1203 =
+ {
+ {
+ 7u,
+ 5u
+ },
+ 8u
+ };
+ Vector<FontRun> fontRuns12;
+ fontRuns12.PushBack( fontRun1201 );
+ fontRuns12.PushBack( fontRun1202 );
+ fontRuns12.PushBack( fontRun1203 );
+
+ FontDescriptionRun fontDescription1201 =
+ {
+ {
+ 0u,
+ 6u
+ },
+ const_cast<char*>( "TizenSans" ),
+ 9u,
+ TextAbstraction::FontWeight::NORMAL,
+ TextAbstraction::FontWidth::NORMAL,
+ TextAbstraction::FontSlant::NORMAL,
+ 0u,
+ true,
+ false,
+ false,
+ false,
+ false
+ };
+ FontDescriptionRun fontDescription1202 =
+ {
+ {
+ 6u,
+ 1u
+ },
+ const_cast<char*>( "TizenSans" ),
+ 9u,
+ TextAbstraction::FontWeight::NORMAL,
+ TextAbstraction::FontWidth::NORMAL,
+ TextAbstraction::FontSlant::NORMAL,
+ 0u,
+ true,
+ false,
+ false,
+ false,
+ false
+ };
+ FontDescriptionRun fontDescription1203 =
+ {
+ {
+ 7u,
+ 5u
+ },
+ const_cast<char*>( "TizenSans" ),
+ 9u,
+ TextAbstraction::FontWeight::NORMAL,
+ TextAbstraction::FontWidth::NORMAL,
+ TextAbstraction::FontSlant::NORMAL,
+ 0u,
+ true,
+ false,
+ false,
+ false,
+ false
+ };
+ Vector<FontDescriptionRun> fontDescriptions12;
+ fontDescriptions12.PushBack( fontDescription1201 );
+ fontDescriptions12.PushBack( fontDescription1202 );
+ fontDescriptions12.PushBack( fontDescription1203 );
+
const ValidateFontsData data[] =
{
{
{
"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,
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 = 10u;
+ const unsigned int numberOfTests = 12u;
for( unsigned int index = 0u; index < numberOfTests; ++index )
{