+ TextAbstraction::FontClient fontClient = TextAbstraction::FontClient::Get();
+
+ char* pathNamePtr = get_current_dir_name();
+ const std::string pathName( pathNamePtr );
+ free( pathNamePtr );
+
+ const PointSize26Dot6 pointSize01 = static_cast<PointSize26Dot6>( 21.f * 64.f );
+ const PointSize26Dot6 pointSize02 = static_cast<PointSize26Dot6>( 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/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 --> 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<FontRun> fontRuns01;
+ Vector<FontDescriptionRun> fontDescriptions01;
+
+ FontRun fontRun0201 =
+ {
+ {
+ 0u,
+ 11u
+ },
+ 8u
+ };
+ Vector<FontRun> fontRuns02;
+ fontRuns02.PushBack( fontRun0201 );
+
+ FontDescriptionRun fontDescription0201 =
+ {
+ {
+ 0u,
+ 11u
+ },
+ const_cast<char*>( "TizenSans" ),
+ 9u,
+ TextAbstraction::FontWeight::NORMAL,
+ TextAbstraction::FontWidth::NORMAL,
+ TextAbstraction::FontSlant::NORMAL,
+ 0u,
+ true,
+ false,
+ false,
+ false,
+ false
+ };
+ Vector<FontDescriptionRun> fontDescriptions02;
+ fontDescriptions02.PushBack( fontDescription0201 );
+
+ FontRun fontRun0301 =
+ {
+ {
+ 0u,
+ 12u
+ },
+ 8u
+ };
+ FontRun fontRun0302 =
+ {
+ {
+ 12u,
+ 12u
+ },
+ 8u
+ };
+ FontRun fontRun0303 =
+ {
+ {
+ 24u,
+ 4u
+ },
+ 8u
+ };
+ Vector<FontRun> fontRuns03;
+ fontRuns03.PushBack( fontRun0301 );
+ fontRuns03.PushBack( fontRun0302 );
+ fontRuns03.PushBack( fontRun0303 );
+
+ Vector<FontDescriptionRun> fontDescriptions03;
+
+ FontRun fontRun0701 =
+ {
+ {
+ 0u,
+ 4u
+ },
+ 2u
+ };
+ FontRun fontRun0702 =
+ {
+ {
+ 4u,
+ 1u
+ },
+ 8u
+ };
+ FontRun fontRun0703 =
+ {
+ {
+ 5u,
+ 4u
+ },
+ 2u
+ };
+ Vector<FontRun> fontRuns07;
+ fontRuns07.PushBack( fontRun0701 );
+ fontRuns07.PushBack( fontRun0702 );
+ fontRuns07.PushBack( fontRun0703 );
+
+ FontDescriptionRun fontDescription0701 =
+ {
+ {
+ 0u,
+ 4u
+ },
+ const_cast<char*>( "TizenSansHebrew" ),
+ 15u,
+ TextAbstraction::FontWeight::NORMAL,
+ TextAbstraction::FontWidth::NORMAL,
+ TextAbstraction::FontSlant::NORMAL,
+ 0u,
+ true,
+ false,
+ false,
+ false,
+ false
+ };
+ FontDescriptionRun fontDescription0702 =
+ {
+ {
+ 5u,
+ 4u
+ },
+ const_cast<char*>( "TizenSansHebrew" ),
+ 15u,
+ TextAbstraction::FontWeight::NORMAL,
+ TextAbstraction::FontWidth::NORMAL,
+ TextAbstraction::FontSlant::NORMAL,
+ 0u,
+ true,
+ false,
+ false,
+ false,
+ false
+ };
+ Vector<FontDescriptionRun> fontDescriptions07;
+ fontDescriptions07.PushBack( fontDescription0701 );
+ fontDescriptions07.PushBack( fontDescription0702 );
+
+ FontRun fontRun0801 =
+ {
+ {
+ 0u,
+ 9u
+ },
+ 2u
+ };
+ Vector<FontRun> fontRuns08;
+ fontRuns08.PushBack( fontRun0801 );
+
+ Vector<FontDescriptionRun> fontDescriptions08;
+
+ FontRun fontRun0901 =
+ {
+ {
+ 0u,
+ 4u
+ },
+ 3u
+ };
+ Vector<FontRun> fontRuns09;
+ fontRuns09.PushBack( fontRun0901 );
+
+ Vector<FontDescriptionRun> fontDescriptions09;
+ FontDescriptionRun fontDescription0901 =
+ {
+ {
+ 0u,
+ 4u
+ },
+ const_cast<char*>( "BreezeColorEmoji" ),
+ 16u,
+ TextAbstraction::FontWeight::NORMAL,
+ TextAbstraction::FontWidth::NORMAL,
+ TextAbstraction::FontSlant::NORMAL,
+ EMOJI_FONT_SIZE,
+ true,
+ false,
+ false,
+ false,
+ true
+ };
+ fontDescriptions09.PushBack( fontDescription0901 );
+
+ FontRun fontRun1001 =
+ {
+ {
+ 0u,
+ 13u
+ },
+ 4u
+ };
+ FontRun fontRun1002 =
+ {
+ {
+ 13u,
+ 9u
+ },
+ 6u
+ };
+ FontRun fontRun1003 =
+ {
+ {
+ 22u,
+ 15u
+ },
+ 5u
+ };
+ FontRun fontRun1004 =
+ {
+ {
+ 37u,
+ 9u
+ },
+ 7u
+ };
+ Vector<FontRun> fontRuns10;
+ fontRuns10.PushBack( fontRun1001 );
+ fontRuns10.PushBack( fontRun1002 );
+ fontRuns10.PushBack( fontRun1003 );
+ fontRuns10.PushBack( fontRun1004 );
+
+ FontDescriptionRun fontDescription1001 =
+ {
+ {
+ 0u,
+ 13u
+ },
+ const_cast<char*>( "TizenSans" ),
+ 9u,
+ TextAbstraction::FontWeight::NORMAL,
+ TextAbstraction::FontWidth::NORMAL,
+ TextAbstraction::FontSlant::NORMAL,
+ pointSize01,
+ true,
+ false,
+ false,
+ false,
+ true
+ };
+ FontDescriptionRun fontDescription1002 =
+ {
+ {
+ 13u,
+ 9u
+ },
+ const_cast<char*>( "TizenSansHebrew" ),
+ 15u,
+ TextAbstraction::FontWeight::NORMAL,
+ TextAbstraction::FontWidth::NORMAL,
+ TextAbstraction::FontSlant::NORMAL,
+ pointSize01,
+ true,
+ false,
+ false,
+ false,
+ true
+ };
+ FontDescriptionRun fontDescription1003 =
+ {
+ {
+ 22u,
+ 15u
+ },
+ const_cast<char*>( "TizenSans" ),
+ 9u,
+ TextAbstraction::FontWeight::NORMAL,
+ TextAbstraction::FontWidth::NORMAL,
+ TextAbstraction::FontSlant::NORMAL,
+ pointSize02,
+ true,
+ false,
+ false,
+ false,
+ true
+ };
+ FontDescriptionRun fontDescription1004 =
+ {
+ {
+ 37u,
+ 9u
+ },
+ const_cast<char*>( "TizenSansHebrew" ),
+ 15u,
+ TextAbstraction::FontWeight::NORMAL,
+ TextAbstraction::FontWidth::NORMAL,
+ TextAbstraction::FontSlant::NORMAL,
+ pointSize02,
+ true,
+ false,
+ false,
+ false,
+ true
+ };
+ Vector<FontDescriptionRun> fontDescriptions10;
+ fontDescriptions10.PushBack( fontDescription1001 );
+ fontDescriptions10.PushBack( fontDescription1002 );
+ 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 );
+