Update approval test for text 07/295107/14
authorBowon Ryu <bowon.ryu@samsung.com>
Mon, 3 Jul 2023 02:41:44 +0000 (11:41 +0900)
committerBowon Ryu <bowon.ryu@samsung.com>
Tue, 4 Jul 2023 09:09:24 +0000 (18:09 +0900)
Due to the patch below, there are some changes to the text placement position.
https://review.tizen.org/gerrit/#/c/platform/core/uifw/dali-adaptor/+/294254/

Change-Id: Ia1c79209405beedd6c26a63ebcbfee9928b31725
Signed-off-by: Bowon Ryu <bowon.ryu@samsung.com>
13 files changed:
automated-tests/src/dali-toolkit-internal/utc-Dali-DebugRendering.cpp
automated-tests/src/dali-toolkit-internal/utc-Dali-Text-CharacterSpacing.cpp
automated-tests/src/dali-toolkit-internal/utc-Dali-Text-Controller.cpp
automated-tests/src/dali-toolkit-internal/utc-Dali-Text-Cursor.cpp
automated-tests/src/dali-toolkit-internal/utc-Dali-Text-Ellipsis.cpp
automated-tests/src/dali-toolkit-internal/utc-Dali-Text-Hyphen-Wrapping.cpp
automated-tests/src/dali-toolkit-internal/utc-Dali-Text-Layout.cpp
automated-tests/src/dali-toolkit-internal/utc-Dali-Text-Shaping.cpp
automated-tests/src/dali-toolkit-internal/utc-Dali-Text-ViewModel.cpp
automated-tests/src/dali-toolkit/utc-Dali-TextEditor.cpp
automated-tests/src/dali-toolkit/utc-Dali-TextField.cpp
automated-tests/src/dali-toolkit/utc-Dali-TextGeometry.cpp
automated-tests/src/dali-toolkit/utc-Dali-TextLabel.cpp

index d9fe5b7..69365fb 100755 (executable)
@@ -200,10 +200,10 @@ int UtcDaliDebugRenderingGetVisual1(void)
 
   Vector2 naturalSize;
   textVisual.GetNaturalSize(naturalSize);
-  DALI_TEST_EQUALS(naturalSize, Vector2(82.f, 20.f), Math::MACHINE_EPSILON_1000, TEST_LOCATION);
+  DALI_TEST_EQUALS(naturalSize, Vector2(80.f, 20.f), Math::MACHINE_EPSILON_1000, TEST_LOCATION);
 
   const float height = textVisual.GetHeightForWidth(40.f);
-  DALI_TEST_EQUALS(height, 60.f, Math::MACHINE_EPSILON_1000, TEST_LOCATION);
+  DALI_TEST_EQUALS(height, 40.f, Math::MACHINE_EPSILON_1000, TEST_LOCATION);
 
   // Test that NPatchVisual is replaced with debug visual
   // TEST_NPATCH_FILE_NAME: image_01.9.jpg
index 8e84bc4..1c45e02 100644 (file)
@@ -310,7 +310,6 @@ bool LayoutTextTest(const LayoutTextData& data)
       Print(expectedLine);
       return false;
     }
-
     // Do not compare the alignment offset as it's not calculated in the layout.
     // Do not compare the line direction as it's not set in the layout.
   }
@@ -359,16 +358,18 @@ int UtcDaliTextCharacterSpacingSingleLineTextArea1(void)
   Size textArea(1.f, 1.f);
 
   //******* characterSpacing = 0.0f *******//
-  float positions[] = {
-    0.f, -12.f, 10.f, -9.f, 19.875f, -13.f, 23.8906f, -13.f, 26.9062f, -9.f, 36.1875f, -0.f, 40.1875f, -9.f, 52.1562f, -9.f, 62.4375f, -9.f, 68.5f, -13.f, 71.5156f, -13.f};
-  Size layoutSize(81.f, 20.f);
+  float positions[] =
+   {
+    0.f, -12.f, 10.f, -9.f, 19.f, -13.f, 23.f, -13.f, 26.f, -9.f, 35.f, -0.f, 39.f, -9.f, 51.f, -9.f, 61.f, -9.f, 67.f, -13.f, 70.f, -13.f
+   };
+  Size layoutSize(79.f, 20.f);
   //************************************//
 
   struct LineRun line =
     {
       {0u, 11u},
       {0u, 11u},
-      81.f,
+      79.f,
       15.f,
       -5.f,
       0.f,
@@ -434,16 +435,18 @@ int UtcDaliTextCharacterSpacingSingleLineTextArea2(void)
   Size textArea(1.f, 1.f);
 
   //******* characterSpacing = 2.0f *******//
-  float positions[] = {
-    0.f, -12.f, 12.f, -9.f, 23.875f, -13.f, 29.8906f, -13.f, 34.9062f, -9.f, 46.1875f, -0.f, 52.1875f, -9.f, 66.1562f, -9.f, 78.4375f, -9.f, 86.5f, -13.f, 91.5156f, -13.f};
-  Size layoutSize(101.f, 20.f);
+  float positions[] =
+   {
+     0.f, -12.f, 12.f, -9.f, 23.f, -13.f, 29.f, -13.f, 34.f, -9.f, 45.f, -0.f, 51.f, -9.f, 65.f, -9.f, 77.f, -9.f, 85.f, -13.f, 90.f, -13.f
+   };
+  Size layoutSize(99.f, 20.f);
   //************************************//
 
   struct LineRun line =
     {
       {0u, 11u},
       {0u, 11u},
-      101.f,
+      99.f,
       15.f,
       -5.f,
       0.f,
@@ -509,16 +512,18 @@ int UtcDaliTextCharacterSpacingSingleLineTextArea3(void)
   Size textArea(1.f, 1.f);
 
   //******* characterSpacing = 4.0f *******//
-  float positions[] = {
-    0.f, -12.f, 14.f, -9.f, 27.875f, -13.f, 35.8906f, -13.f, 42.9062f, -9.f, 56.1875f, -0.f, 64.1875f, -9.f, 80.1562f, -9.f, 94.4375f, -9.f, 104.5f, -13.f, 111.5156f, -13.f};
-  Size layoutSize(121.f, 20.f);
+  float positions[] =
+   {
+     0.f, -12.f, 14.f, -9.f, 27.f, -13.f, 35.f, -13.f, 42.f, -9.f, 55.f, -0.f, 63.f, -9.f, 79.f, -9.f, 93.f, -9.f, 103.f, -13.f, 110.f, -13.f
+   };
+  Size layoutSize(119.f, 20.f);
   //************************************//
 
   struct LineRun line =
     {
       {0u, 11u},
       {0u, 11u},
-      121.f,
+      119.f,
       15.f,
       -5.f,
       0.f,
@@ -595,15 +600,16 @@ int UtcDaliTextCharacterSpacingMultilineText1(void)
   fontDescriptionRuns.PushBack(fontDescriptionRun1);
   fontDescriptionRuns.PushBack(fontDescriptionRun2);
   Size  textArea(100.f, 300.f);
-  Size  layoutSize(98.f, 97.f);
+  Size  layoutSize(96.f, 97.f);
   float positions[] =
     {
-      0.f, -12.f, 10.f, -9.f, 20.f, -13.f, 24.f, -13.f, 27.f, -9.f, 36.f, -0.f, 40.f, -9.f, 52.f, -9.f, 62.f, -9.f, 69.f, -13.f, 72.f, -13.f, 81.f, -0.f, 0.f, -13.f, 9.f, -9.f, 19.f, -9.f, 32.f, -9.f, 41.f, -2.f, 45.f, -12.f, 0.f, -12.f, 7.92188f, -9.f, 18.f, -9.f, 27.2031f, -9.f, 38.f, -9.f, 47.f, -11.f, 53.f, -0.f, 0.f, -12.f, 11.1562f, -12.f, 15.f, -12.f, 26.f, -9.f, 36.4844f, -9.f, 42.f, -9.f, 52.5469f, -9.f, 61.6875f, -11.f, 67.9688f, -0.f, 0.f, -12.f, 4.f, -12.f, 9.f, -9.f, 18.0469f, -9.f, 27.8906f, -9.f, 36.f, -0.f, 41.3281f, -9.f, 51.125f, -12.f, 57.f, -0.f, 62.f, -11.f, 68.1406f, -9.f, 77.7031f, -9.f, 87.f, -11.f, 94.4531f, -2.f};
+      0.f, -12.f, 10.f, -9.f, 19.f, -13.f, 23.f, -13.f, 26.f, -9.f, 35.f, -0.f, 39.f, -9.f, 51.f, -9.f, 61.f, -9.f, 67.f, -13.f, 70.f, -13.f, 79.f, -0.f, 0.f, -13.f, 9.f, -9.f, 18.f, -9.f, 31.f, -9.f, 40.f, -2.f, 44.f, -12.f, 0.f, -12.f, 8.f, -9.f, 18.f, -9.f, 27.f, -9.f, 38.f, -9.f, 47.f, -11.f, 53.f, -0.f, 0.f, -12.f, 11.f, -12.f, 14.f, -12.f, 25.f, -9.f, 36.f, -9.f, 41.f, -9.f, 52.f, -9.f, 61.f, -11.f, 67.f, -0.f, 0.f, -12.f, 4.f, -12.f, 8.f, -9.f, 17.f, -9.f, 27.f, -9.f, 35.f, -0.f, 40.f, -9.f, 50.f, -12.f, 56.f, -0.f, 61.f, -11.f, 67.f, -9.f, 77.f, -9.f, 86.f, -11.f, 93.f, -2.f
+    };
   struct LineRun line0 =
     {
       {0u, 12u},
       {0u, 12u},
-      81.f,
+      79.f,
       15.f,
       -5.f,
       4.f,
@@ -615,7 +621,7 @@ int UtcDaliTextCharacterSpacingMultilineText1(void)
     {
       {12u, 6u},
       {12u, 6u},
-      44.f,
+      43.f,
       15.f,
       -5.f,
       0.f,
@@ -627,10 +633,10 @@ int UtcDaliTextCharacterSpacingMultilineText1(void)
     {
       {18u, 7u},
       {18u, 7u},
-      54.f,
+      53.f,
       15.f,
       -4.f,
-      6.f,
+      5.f,
       0.f,
       0.f,
       false,
@@ -639,10 +645,10 @@ int UtcDaliTextCharacterSpacingMultilineText1(void)
     {
       {25u, 9u},
       {25u, 10u},
-      68.f,
+      67.f,
       15.f,
       -4.f,
-      6.f,
+      5.f,
       0.f,
       0.f,
       false,
@@ -651,7 +657,7 @@ int UtcDaliTextCharacterSpacingMultilineText1(void)
     {
       {34u, 14u},
       {35u, 14u},
-      98.f,
+      96.f,
       15.f,
       -4.f,
       0.f,
@@ -733,15 +739,16 @@ int UtcDaliTextCharacterSpacingMultilineText2(void)
   fontDescriptionRuns.PushBack(fontDescriptionRun1);
   fontDescriptionRuns.PushBack(fontDescriptionRun2);
   Size  textArea(100.f, 300.f);
-  Size  layoutSize(82.f, 136.f);
+  Size  layoutSize(99.f, 116.f);
   float positions[] =
     {
-      0.f, -12.f, 12.f, -9.f, 24.f, -13.f, 30.f, -13.f, 35.f, -9.f, 46.f, -0.f, 0.f, -9.f, 13.9688f, -9.f, 26.25f, -9.f, 34.3125f, -13.f, 39.3281f, -13.f, 50.6406f, -0.f, 0.f, -13.f, 11.3125f, -9.f, 22.7031f, -9.f, 37.5625, -9.f, 48.8438f, -2.f, 54.8125, -12.f, 0.f, -12.f, 9.92188f, -9.f, 21.7344, -9.f, 33.2031f, -9.f, 46.f, -9.f, 57.1406f, -11.f, 65.4219f, -0.f, 0.f, -12.f, 13.1562f, -12.f, 18.6094f, -12.f, 31.6406f, -9.f, 44.4844f, -9.f, 51.7031f, -9.f, 64.5469f, -9.f, 75.6875f, -11.f, 83.9688, -0.f, 0.f, -12.f, 6.45312f, -12.f, 12.9062f, -9.f, 24.0469f, -9.f, 35.8906f, -9.f, 46.2344f, -0.f, 53.3281f, -9.f, 65.125f, -12.f, 72.7656f, -0.f, 0.f, -11.f, 8.28125f, -9.f, 19.8438f, -9.f, 31.3125f, -11.f, 40.5938f, -2.f};
+      0.f, -12.f, 12.f, -9.f, 23.f, -13.f, 29.f, -13.f, 34.f, -9.f, 45.f, -0.f, 51.f, -9.f, 65.f, -9.f, 77.f, -9.f, 85.f, -13.f, 90.f, -13.f, 101.f, -0.f, 0.f, -13.f, 11.f, -9.f, 22.f, -9.f, 37.f, -9.f, 48.f, -2.f, 54.f, -12.f, 0.f, -12.f, 10.f, -9.f, 22.f, -9.f, 33.f, -9.f, 46.f, -9.f, 57.f, -11.f, 65.f, -0.f, 0.f, -12.f, 13.f, -12.f, 18.f, -12.f, 31.f, -9.f, 44.f, -9.f, 51.f, -9.f, 64.f, -9.f, 75.f, -11.f, 83.f, -0.f, 0.f, -12.f, 6.f, -12.f, 12.f, -9.f, 23.f, -9.f, 35.f, -9.f, 45.f, -0.f, 52.f, -9.f, 64.f, -12.f, 72.f, -0.f, 0.f, -11.f, 8.f, -9.f, 20.f, -9.f, 31.f, -11.f, 40.f, -2.f
+    };
   struct LineRun line0 =
     {
-      {0u, 6u},
-      {0u, 6u},
-      44.f,
+      {0u, 12u},
+      {0u, 12u},
+      99.f,
       15.f,
       -5.f,
       6.f,
@@ -751,21 +758,9 @@ int UtcDaliTextCharacterSpacingMultilineText2(void)
       false};
   struct LineRun line1 =
     {
-      {6u, 6u},
-      {6u, 6u},
-      49.f,
-      15.f,
-      -5.f,
-      6.f,
-      0.f,
-      0.f,
-      false,
-      false};
-  struct LineRun line2 =
-    {
       {12u, 6u},
       {12u, 6u},
-      52.f,
+      51.f,
       15.f,
       -5.f,
       0.f,
@@ -773,47 +768,47 @@ int UtcDaliTextCharacterSpacingMultilineText2(void)
       0.f,
       false,
       false};
-  struct LineRun line3 =
+  struct LineRun line2 =
     {
       {18u, 7u},
       {18u, 7u},
-      64.f,
+      63.f,
       15.f,
       -4.f,
-      8.f,
+      7.f,
       0.f,
       0.f,
       false,
       false};
-  struct LineRun line4 =
+  struct LineRun line3 =
     {
       {25u, 9u},
       {25u, 10u},
-      82.f,
+      81.f,
       15.f,
       -4.f,
-      8.f,
+      7.f,
       0.f,
       0.f,
       false,
       false};
-  struct LineRun line5 =
+  struct LineRun line4 =
     {
       {34u, 9u},
       {35u, 9u},
-      72.f,
+      70.f,
       15.f,
       -4.f,
-      8.f,
+      7.f,
       0.f,
       0.f,
       false,
       false};
-  struct LineRun line6 =
+  struct LineRun line5 =
     {
       {43u, 5u},
       {44u, 5u},
-      44.f,
+      43.f,
       15.f,
       -4.f,
       0.f,
@@ -828,7 +823,6 @@ int UtcDaliTextCharacterSpacingMultilineText2(void)
   lines.PushBack(line3);
   lines.PushBack(line4);
   lines.PushBack(line5);
-  lines.PushBack(line6);
 
   LayoutTextData data =
     {
@@ -841,7 +835,7 @@ int UtcDaliTextCharacterSpacingMultilineText2(void)
       layoutSize,
       48u,
       positions,
-      7u,
+      6u,
       lines.Begin(),
       Layout::Engine::MULTI_LINE_BOX,
       0u,
index dd5ec2f..7c4636d 100644 (file)
@@ -737,7 +737,7 @@ int UtcDaliTextControllerSetGetLineSpacingProperty(void)
   // single line, line spacing = 0px
   {
     const float   EXPECTED_SPACING = 0.0f;
-    const Vector2 EXPECTED_LAYOUT_SIZE(349.0f, 19.0f);
+    const Vector2 EXPECTED_LAYOUT_SIZE(350.0f, 19.0f);
     const Vector3 EXPECTED_NATURAL_SIZE(350.0f, 20.0f, 0.0f);
 
     controller->SetText(textSingle);
@@ -756,7 +756,7 @@ int UtcDaliTextControllerSetGetLineSpacingProperty(void)
   // single line, line spacing = 20px
   {
     const float   EXPECTED_SPACING = 20.0f;
-    const Vector2 EXPECTED_LAYOUT_SIZE(349.0f, 19.0f);
+    const Vector2 EXPECTED_LAYOUT_SIZE(350.0f, 19.0f);
     const Vector3 EXPECTED_NATURAL_SIZE(350.0f, 40.0f, 0.0f);
 
     controller->SetText(textSingle);
@@ -776,7 +776,7 @@ int UtcDaliTextControllerSetGetLineSpacingProperty(void)
   // multi-line, line spacing = 0px
   {
     const float   EXPECTED_SPACING = 0.0f;
-    const Vector2 EXPECTED_LAYOUT_SIZE(339.0f, 39.0f);
+    const Vector2 EXPECTED_LAYOUT_SIZE(340.0f, 39.0f);
     const Vector3 EXPECTED_NATURAL_SIZE(122.0f, 58.0f, 0.0f);
 
     controller->SetText(textMulti);
index cd1abcb..765025a 100755 (executable)
@@ -195,7 +195,6 @@ bool GetClosestCursorIndexTest(const GetClosestCursorIndexData& data)
                                                                     data.visualY[index],
                                                                     data.mode[index],
                                                                     isCharacterHit);
-
     if(logicalCursorIndex != data.logicalIndex[index])
     {
       std::cout << "  test " << index << " failed. Different logical cursor index : " << logicalCursorIndex << ", expected : " << data.logicalIndex[index] << std::endl;
@@ -509,7 +508,7 @@ int UtcDaliGetClosestCursorIndex(void)
   float                  visualX02[]        = {-100.f, 1000.f, 60.f, 79.f, 83.f, 148.f, 99.f};
   float                  visualY02[]        = {-100.f, 1000.f, 12.f, 12.f, 12.f, 12.f, 12.f};
   CharacterHitTest::Mode mode02[]           = {CharacterHitTest::TAP, CharacterHitTest::TAP, CharacterHitTest::TAP, CharacterHitTest::TAP, CharacterHitTest::TAP, CharacterHitTest::TAP, CharacterHitTest::TAP};
-  CharacterIndex         logicalIndex02[]   = {0, 21u, 7u, 10u, 10u, 14u, 12u};
+  CharacterIndex         logicalIndex02[]   = {0, 21u, 7u, 10u, 11u, 14u, 20u};
   bool                   isCharacterHit02[] = {false, false, true, true, true, true, true};
 
   float                  visualX03[]        = {19.f, 104.f, -2.f, 127.f};
@@ -527,7 +526,7 @@ int UtcDaliGetClosestCursorIndex(void)
   float                  visualX04[]        = {-100.f, 40.f, 44.f, 85.f, 500.f, 500.f, 367.f, 359.f, 329.f, -100.f, -100.f, 19.f, 64.f, 72.f, 104.f, 111.f, 500.f};
   float                  visualY04[]        = {-100.f, 12.f, 12.f, 12.f, 12.f, 30.f, 30.f, 30.f, 30.f, 30.f, 50.f, 50.f, 50.f, 50.f, 50.f, 50.f, 50.f};
   CharacterHitTest::Mode mode04[]           = {CharacterHitTest::TAP, CharacterHitTest::TAP, CharacterHitTest::TAP, CharacterHitTest::TAP, CharacterHitTest::TAP, CharacterHitTest::TAP, CharacterHitTest::TAP, CharacterHitTest::TAP, CharacterHitTest::TAP, CharacterHitTest::TAP, CharacterHitTest::TAP, CharacterHitTest::TAP, CharacterHitTest::TAP, CharacterHitTest::TAP, CharacterHitTest::TAP, CharacterHitTest::TAP, CharacterHitTest::TAP};
-  CharacterIndex         logicalIndex04[]   = {0, 5u, 6u, 11u, 11u, 12u, 16u, 17u, 21u, 21u, 22u, 25u, 30u, 32u, 35u, 34u, 40u, 41u};
+  CharacterIndex         logicalIndex04[]   = {0, 5u, 6u, 11u, 11u, 12u, 16u, 17u, 21u, 21u, 22u, 25u, 31u, 32u, 35u, 34u, 40u, 41u};
   bool                   isCharacterHit04[] = {false, true, true, true, false, false, true, true, true, false, false, true, true, true, true, true, false};
 
   //   0           10           20            30           40      46
@@ -546,7 +545,7 @@ int UtcDaliGetClosestCursorIndex(void)
   float                  visualX05[]        = {-100.f, 96.f, 155.f, 250.f, 344.f, 500.f, -100.f, 36.f, 124.f, 190.f, 280.f, 500.f, -100.f, 56.f, 158.f, 237.f, 303.f, 500.f, -100.f, 98.f, 184.f, 261.f, 337.f, 500.f, -100.f, 40.f, 113.f, 223.f, 302.f, 500.f, -100.f, 82.f, 160.f, 253.f, 500.f};
   float                  visualY05[]        = {-100.f, 12.f, 12.f, 12.f, 12.f, 12.f, 30.f, 30.f, 30.f, 30.f, 30.f, 30.f, 50.f, 50.f, 50.f, 50.f, 50.f, 50.f, 67.f, 67.f, 67.f, 67.f, 67.f, 67.f, 87.f, 87.f, 87.f, 87.f, 87.f, 87.f, 107.f, 107.f, 107.f, 107.f, 107.f};
   CharacterHitTest::Mode mode05[]           = {CharacterHitTest::TAP, CharacterHitTest::TAP, CharacterHitTest::TAP, CharacterHitTest::TAP, CharacterHitTest::TAP, CharacterHitTest::TAP, CharacterHitTest::TAP, CharacterHitTest::TAP, CharacterHitTest::TAP, CharacterHitTest::TAP, CharacterHitTest::TAP, CharacterHitTest::TAP, CharacterHitTest::TAP, CharacterHitTest::TAP, CharacterHitTest::TAP, CharacterHitTest::TAP, CharacterHitTest::TAP, CharacterHitTest::TAP, CharacterHitTest::TAP, CharacterHitTest::TAP, CharacterHitTest::TAP, CharacterHitTest::TAP, CharacterHitTest::TAP, CharacterHitTest::TAP, CharacterHitTest::TAP, CharacterHitTest::TAP, CharacterHitTest::TAP, CharacterHitTest::TAP, CharacterHitTest::TAP, CharacterHitTest::TAP, CharacterHitTest::TAP, CharacterHitTest::TAP, CharacterHitTest::TAP, CharacterHitTest::TAP, CharacterHitTest::TAP};
-  CharacterIndex         logicalIndex05[]   = {0, 10u, 19u, 28u, 39u, 44u, 45u, 48u, 59u, 66u, 78u, 87u, 89u, 96u, 106u, 115u, 124u, 133u, 134u, 145u, 154u, 162u, 171u, 179u, 180u, 184u, 191u, 203u, 212u, 221u, 222u, 233u, 241u, 251u, 265u};
+  CharacterIndex         logicalIndex05[]   = {0, 10u, 19u, 28u, 41u, 44u, 45u, 49u, 59u, 66u, 78u, 89u, 90u, 97u, 107u, 117u, 126u, 134u, 135u, 147u, 155u, 163u, 172u, 180u, 181u, 185u, 192u, 204u, 213u, 222u, 223u, 234u, 242u, 252u, 265u};
   bool                   isCharacterHit05[] = {false, true, true, true, true, false, false, true, true, true, true, false, false, true, true, true, true, false, false, true, true, true, true, false, false, true, true, true, true, false, false, true, true, true, false};
 
   //   0            10           20           30           40        46
@@ -565,7 +564,7 @@ int UtcDaliGetClosestCursorIndex(void)
   float                  visualX06[]        = {500.f, 307.f, 237.f, 148.f, 55.f, -100.f, 500.f, 362.f, 276.f, 213.f, 121.f, -100.f, 500.f, 344.f, 238.f, 167.f, 93.f, -100.f, 500.f, 306.f, 216.f, 142.f, 58.f, -100.f, 500.f, 355.f, 279.f, 182.f, 92.f, -100.f, 500.f, 326.f, 238.f, 150.f, -100.f};
   float                  visualY06[]        = {-100.f, 12.f, 12.f, 12.f, 12.f, 12.f, 30.f, 30.f, 30.f, 30.f, 30.f, 30.f, 50.f, 50.f, 50.f, 50.f, 50.f, 50.f, 67.f, 67.f, 67.f, 67.f, 67.f, 67.f, 87.f, 87.f, 87.f, 87.f, 87.f, 87.f, 107.f, 107.f, 107.f, 107.f, 107.f};
   CharacterHitTest::Mode mode06[]           = {CharacterHitTest::TAP, CharacterHitTest::TAP, CharacterHitTest::TAP, CharacterHitTest::TAP, CharacterHitTest::TAP, CharacterHitTest::TAP, CharacterHitTest::TAP, CharacterHitTest::TAP, CharacterHitTest::TAP, CharacterHitTest::TAP, CharacterHitTest::TAP, CharacterHitTest::TAP, CharacterHitTest::TAP, CharacterHitTest::TAP, CharacterHitTest::TAP, CharacterHitTest::TAP, CharacterHitTest::TAP, CharacterHitTest::TAP, CharacterHitTest::TAP, CharacterHitTest::TAP, CharacterHitTest::TAP, CharacterHitTest::TAP, CharacterHitTest::TAP, CharacterHitTest::TAP, CharacterHitTest::TAP, CharacterHitTest::TAP, CharacterHitTest::TAP, CharacterHitTest::TAP, CharacterHitTest::TAP, CharacterHitTest::TAP, CharacterHitTest::TAP, CharacterHitTest::TAP, CharacterHitTest::TAP, CharacterHitTest::TAP, CharacterHitTest::TAP};
-  CharacterIndex         logicalIndex06[]   = {0, 11u, 19u, 28u, 39u, 44u, 45u, 48u, 57u, 65u, 78u, 87u, 89u, 96u, 107u, 114u, 124u, 133u, 134u, 144u, 154u, 162u, 171u, 178u, 179u, 185u, 192u, 203u, 212u, 221u, 222u, 232u, 240u, 251u, 265u};
+  CharacterIndex         logicalIndex06[]   = {0, 10u, 19u, 28u, 39u, 44u, 45u, 49u, 59u, 66u, 78u, 89u, 90u, 97u, 108u, 117u, 126u, 134u, 135u, 145u, 155u, 163u, 174u, 180u, 181u, 186u, 194u, 204u, 214u, 222u, 224u, 235u, 243u, 252u, 265u};
   bool                   isCharacterHit06[] = {false, true, true, true, true, false, false, true, true, true, true, false, false, true, true, true, true, false, false, true, true, true, true, false, false, true, true, true, true, false, false, true, true, true, false};
 
   float                  visualX07[]        = {395.f};
index a0a27c9..ed5ba45 100755 (executable)
@@ -425,118 +425,118 @@ int UtcDaliTextLabelElideTextLocation(void)
   Size textSize00( 100.f, 100.f );
 
   Size  textSize01( 120.0f, 50.0f );
-  float positions01[] = { 0.0f, 11.0f, 21.0f, 31.0f, 41.0f, 50.0f, 60.0f, 70.0f, 80.0f, 91.0f };
+  float positions01[] = { 0.0f, 12.0f, 22.0f, 32.0f, 42.0f, 51.0f, 62.0f, 72.0f, 82.0f, 93.0f };
 
   Size  textSize02( 120.0f, 50.0f );
-  float positions02[] = { 0.0f, 11.0f, 21.0f, 31.0f, 41.0f, 50.0f, 60.0f, 70.0f, 80.0f, 90.0f, 100.0f, 109.0f, 0.0f, 10.0f, 20.0f, 30.0f, 40.0f, 49.0f, 59.0f, 69.0f, 79.0f, 90.0f };
+  float positions02[] = { 0.0f, 12.0f, 22.0f, 32.0f, 42.0f, 51.0f, 62.0f, 72.0f, 82.0f, 92.0f, 102.0f, 111.0f, 0.0f, 11.0f, 21.0f, 31.0f, 41.0f, 50.0f, 61.0f, 71.0f, 81.0f, 92.0f };
 
   Size  textSize03( 120.0f, 60.0f );
-  float positions03[] = { 0.0f, 10.0f, 21.0f, 25.0f, 28.0f, 38.0f, 44.0f, 55.0f, 59.0f, 0.0f, 8.0f, 18.0f, 27.0f, 38.0f, 44.0f, 49.0f, 63.0f, 73.0f, 82.0f, 0.0f, 14.0f, 24.0f, 28.0f, 36.0f, 47.0f, 61.0f, 70.0f, 76.0f, 88.0f };
+  float positions03[] = { 0.0f, 11.0f, 22.0f, 26.0f, 29.0f, 38.0f, 44.0f, 56.0f, 59.0f, 0.0f, 9.0f, 19.0f, 28.0f, 39.0f, 45.0f, 49.0f, 63.0f, 74.0f, 83.0f, 0.0f, 14.0f, 25.0f, 28.0f, 37.0f, 47.0f, 61.0f, 71.0f, 77.0f, 89.0f };
 
   Size  textSize04( 120.0f, 60.0f );
-  float positions04[] = { 0.0f, 10.0f, 21.0f, 25.0f, 28.0f, 38.0f, 44.0f, 55.0f, 59.0f, 65.0f, 73.0f, 84.0f, 92.0f, 103.0f, 109.0f, 0.0f, 14.0f, 24.0f, 33.0f, 38.0f, 52.0f, 63.0f, 66.0f, 75.0f, 85.0f, 99.0f, 109.0f, 0.0f, 10.0f, 21.0f, 25.0f, 28.0f, 38.0f, 44.0f, 55.0f, 59.0f, 65.0f, 73.0f, 84.0f, 93.0f };
+  float positions04[] = { 0.0f, 11.0f, 22.0f, 26.0f, 29.0f, 38.0f, 44.0f, 56.0f, 59.0f, 65.0f, 74.0f, 84.0f, 93.0f, 104.0f, 110.0f, 0.0f, 14.0f, 25.0f, 34.0f, 39.0f, 53.0f, 64.0f, 67.0f, 76.0f, 86.0f, 100.0f, 110.0f, 0.0f, 11.0f, 22.0f, 26.0f, 29.0f, 38.0f, 44.0f, 56.0f, 59.0f, 65.0f, 74.0f, 84.0f, 94.0f };
 
   Size  textSize05( 110.0f, 60.0f );
-  float positions05[] = { 0.0f, 10.0f, 21.0f, 25.0f, 28.0f, 38.0f, 44.0f, 55.0f, 59.0f, 65.0f, 73.0f, 0.0f, 8.0f, 19.0f, 25.0f, 30.0f, 44.0f, 54.0f, 63.0f, 68.0f, 82.0f, 93.0f, 0.0f, 8.0f, 19.0f, 33.0f, 42.0f, 48.0f, 59.0f, 69.0f, 74.0f, 78.0f };
+  float positions05[] = { 0.0f, 11.0f, 22.0f, 26.0f, 29.0f, 38.0f, 44.0f, 56.0f, 59.0f, 65.0f, 74.0f, 0.0f, 9.0f, 20.0f, 26.0f, 30.0f, 44.0f, 55.0f, 64.0f, 69.0f, 83.0f, 94.0f, 0.0f, 9.0f, 19.0f, 33.0f, 43.0f, 49.0f, 60.0f, 71.0f, 75.0f, 79.0f };
 
   Size  textSize06( 110.0f, 60.0f );
-  float positions06[] = { 0.0f, 10.0f, 21.0f, 25.0f, 28.0f, 38.0f, 44.0f, 55.0f, 59.0f, 0.0f, 8.0f, 18.0f, 27.0f, 38.0f, 44.0f, 49.0f, 63.0f, 73.0f, 82.0f, 0.0f, 14.0f, 24.0f, 28.0f, 36.0f, 47.0f, 61.0f, 70.0f, 77.0f };
+  float positions06[] = { 0.0f, 11.0f, 22.0f, 26.0f, 29.0f, 38.0f, 44.0f, 56.0f, 59.0f, 0.0f, 9.0f, 19.0f, 28.0f, 39.0f, 45.0f, 49.0f, 63.0f, 74.0f, 83.0f, 0.0f, 14.0f, 25.0f, 28.0f, 37.0f, 47.0f, 61.0f, 71.0f, 78.0f };
 
   Size  textSize07( 120.0f, 50.0f );
-  float positions07[] = { 5.0f, 21.0f, 31.0f, 41.0f, 50.0f, 61.0f, 71.0f, 80.0f, 90.0f, 100.0f, 109.0f };
+  float positions07[] = { 6.0f, 22.0f, 32.0f, 42.0f, 51.0f, 62.0f, 72.0f, 82.0f, 92.0f, 102.0f, 111.0f };
 
   Size  textSize08( 120.0f, 50.0f );
-  float positions08[] = { 5.0f, 21.0f, 31.0f, 41.0f, 50.0f, 61.0f, 70.0f, 80.0f, 90.0f, 100.0f, 109.0f };
+  float positions08[] = { 6.0f, 22.0f, 32.0f, 42.0f, 51.0f, 62.0f, 72.0f, 82.0f, 92.0f, 102.0f, 111.0f };
 
   Size  textSize09( 120.0f, 60.0f );
-  float positions09[] = { 8.0f, 24.0f, 28.0f, 36.0f, 47.0f, 61.0f, 70.0f, 76.0f, 87.0f, 97.0f, 102.0f, 105.0f, 115.0f };
+  float positions09[] = { 8.0f, 25.0f, 28.0f, 37.0f, 47.0f, 61.0f, 71.0f, 77.0f, 88.0f, 99.0f, 103.0f, 106.0f, 115.0f };
 
   Size  textSize10( 120.0f, 60.0f );
-  float positions10[] = { 8.0f, 24.0f, 33.0f, 38.0f, 52.0f, 63.0f, 66.0f, 75.0f, 85.0f, 99.0f, 109.0f };
+  float positions10[] = { 8.0f, 25.0f, 34.0f, 39.0f, 53.0f, 64.0f, 67.0f, 76.0f, 86.0f, 100.0f, 110.0f };
 
   Size  textSize11( 100.0f, 60.0f );
-  float positions11[] = { 4.0f, 21.0f, 25.0f, 28.0f, 38.0f, 44.0f, 55.0f, 59.0f, 65.0f, 73.0f };
+  float positions11[] = { 4.0f, 22.0f, 26.0f, 29.0f, 38.0f, 44.0f, 56.0f, 59.0f, 65.0f, 74.0f };
 
   Size  textSize12( 100.0f, 60.0f );
-  float positions12[] = { 4.0f, 21.0f, 25.0f, 28.0f, 38.0f, 44.0f, 55.0f, 59.0f };
+  float positions12[] = { 4.0f, 22.0f, 26.0f, 29.0f, 38.0f, 44.0f, 56.0f, 59.0f };
 
   Size  textSize13( 120.0f, 60.0f );
-  float positions13[] = { 118.0f, 111.0f, 97.0f, 89.0f, 80.0f, 74.0f, 64.0f, 59.0f, 54.0f, 46.0f, 37.0f, 31.0f, 22.0f, 7.0f };
+  float positions13[] = { 118.0f, 111.0f, 97.0f, 89.0f, 80.0f, 74.0f, 64.0f, 59.0f, 54.0f, 45.0f, 37.0f, 31.0f, 22.0f, 7.0f };
 
   Size  textSize14( 120.0f, 60.0f );
-  float positions14[] = { 115.0f, 108.0f, 94.0f, 86.0f, 77.0f, 71.0f, 61.0f, 56.0f, 51.0f, 43.0f, 34.0f, 30.0f, 112.0f, 104.0f, 94.0f, 89.0f, 87.0f, 81.0f, 77.0f, 67.0f, 59.0f, 54.0f, 45.0f, 38.0f, 34.0f, 30.0f, 142.0f, 131.0f, 126.0f, 121.0f, 119.0f, 109.0f, 105.0f, 91.0f, 83.0f, 74.0f, 72.0f, 66.0f, 60.0f, 55.0f, 46.0f, 32.0f };
+  float positions14[] = { 116.0f, 109.0f, 95.0f, 87.0f, 78.0f, 72.0f, 62.0f, 57.0f, 52.0f, 43.0f, 35.0f, 30.0f, 113.0f, 104.0f, 94.0f, 89.0f, 86.0f, 80.0f, 77.0f, 67.0f, 59.0f, 54.0f, 45.0f, 38.0f, 35.0f, 30.0f, 145.0f, 133.0f, 128.0f, 123.0f, 120.0f, 111.0f, 107.0f, 93.0f, 84.0f, 75.0f, 73.0f, 67.0f, 61.0f, 56.0f, 47.0f, 33.0f };
 
   Size  textSize15( 110.0f, 60.0f );
-  float positions15[] = { 108.0f, 101.0f, 87.0f, 79.0f, 70.0f, 64.0f, 54.0f, 49.0f, 44.0f, 36.0f, 27.0f, 21.0f, 12.0f, 4.0f, 96.0f, 91.0f, 89.0f, 83.0f, 79.0f, 69.0f, 61.0f, 56.0f, 47.0f, 40.0f, 36.0f, 30.0f, 27.0f, 16.0f, 11.0f, 6.0f, 4.0f, 102.0f, 98.0f, 84.0f, 75.0f, 66.0f, 64.0f, 58.0f, 53.0f, 47.0f, 38.0f, 25.0f, 22.0f, 5.0f };
+  float positions15[] = { 108.0f, 101.0f, 87.0f, 79.0f, 70.0f, 64.0f, 54.0f, 49.0f, 44.0f, 35.0f, 27.0f, 21.0f, 12.0f, 3.0f, 96.0f, 91.0f, 88.0f, 82.0f, 79.0f, 69.0f, 61.0f, 56.0f, 47.0f, 40.0f, 37.0f, 31.0f, 28.0f, 16.0f, 11.0f, 6.0f, 3.0f, 102.0f, 98.0f, 84.0f, 75.0f, 66.0f, 64.0f, 58.0f, 52.0f, 47.0f, 38.0f, 24.0f, 9.0f };
 
   Size  textSize16( 110.0f, 60.0f );
-  float positions16[] = { 105.0f, 98.0f, 84.0f, 76.0f, 67.0f, 61.0f, 51.0f, 46.0f, 41.0f, 33.0f, 24.0f, 20.0f, 102.0f, 94.0f, 84.0f, 79.0f, 77.0f, 71.0f, 67.0f, 57.0f, 49.0f, 44.0f, 35.0f, 28.0f, 24.0f, 20.0f, 116.0f, 104.0f, 99.0f, 95.0f, 92.0f, 83.0f, 79.0f, 65.0f, 56.0f, 48.0f, 45.0f, 39.0f, 24.0f };
+  float positions16[] = { 106.0f, 99.0f, 85.0f, 77.0f, 68.0f, 62.0f, 52.0f, 47.0f, 42.0f, 33.0f, 25.0f, 20.0f, 103.0f, 94.0f, 84.0f, 79.0f, 76.0f, 70.0f, 67.0f, 57.0f, 49.0f, 44.0f, 35.0f, 28.0f, 25.0f, 20.0f, 118.0f, 106.0f, 101.0f, 96.0f, 93.0f, 84.0f, 80.0f, 66.0f, 57.0f, 48.0f, 46.0f, 40.0f, 24.0f };
 
   Size  textSize17( 110.0f, 60.0f );
-  float positions17[] = { 105.0f, 98.0f, 84.0f, 76.0f, 67.0f, 61.0f, 51.0f, 46.0f, 41.0f, 33.0f, 24.0f, 20.0f, 102.0f, 94.0f, 84.0f, 79.0f, 77.0f, 71.0f, 67.0f, 57.0f, 49.0f, 44.0f, 35.0f, 28.0f, 24.0f, 20.0f, 116.0f, 104.0f, 99.0f, 95.0f, 92.0f, 83.0f, 79.0f, 65.0f, 56.0f, 48.0f, 45.0f, 39.0f, 24.0f };
+  float positions17[] = { 106.0f, 99.0f, 85.0f, 77.0f, 68.0f, 62.0f, 52.0f, 47.0f, 42.0f, 33.0f, 25.0f, 20.0f, 103.0f, 94.0f, 84.0f, 79.0f, 76.0f, 70.0f, 67.0f, 57.0f, 49.0f, 44.0f, 35.0f, 28.0f, 25.0f, 20.0f, 118.0f, 106.0f, 101.0f, 96.0f, 93.0f, 84.0f, 80.0f, 66.0f, 57.0f, 48.0f, 46.0f, 40.0f, 24.0f };
 
   Size  textSize18( 120.0f, 60.0f );
-  float positions18[] = { 89.0f, 79.0f, 70.0f, 68.0f, 62.0f, 56.0f, 51.0f, 42.0f, 28.0f, 25.0f, 14.0f, 7.0f, 0.0f };
+  float positions18[] = { 90.0f, 79.0f, 70.0f, 68.0f, 62.0f, 56.0f, 51.0f, 42.0f, 28.0f, 25.0f, 14.0f, 7.0f, 0.0f };
 
   Size  textSize19( 120.0f, 60.0f );
-  float positions19[] = { 103.0f, 91.0f, 86.0f, 84.0f, 78.0f, 74.0f, 64.0f, 56.0f, 51.0f, 42.0f, 35.0f, 31.0f, 27.0f };
+  float positions19[] = { 103.0f, 91.0f, 86.0f, 83.0f, 77.0f, 74.0f, 64.0f, 56.0f, 51.0f, 42.0f, 35.0f, 32.0f, 27.0f };
 
   Size  textSize20( 110.0f, 60.0f );
-  float positions20[] = { 89.0f, 82.0f, 78.0f, 68.0f, 60.0f, 55.0f, 46.0f, 39.0f, 35.0f, 29.0f, 26.0f, 15.0f, 10.0f, 5.0f, 3.0f };
+  float positions20[] = { 89.0f, 82.0f, 79.0f, 69.0f, 61.0f, 56.0f, 47.0f, 40.0f, 37.0f, 31.0f, 28.0f, 16.0f, 11.0f, 6.0f, 3.0f };
 
   Size  textSize21( 110.0f, 60.0f );
-  float positions21[] = { 93.0f, 81.0f, 76.0f, 74.0f, 68.0f, 64.0f, 54.0f, 46.0f, 41.0f, 32.0f, 25.0f, 21.0f, 17.0f };
+  float positions21[] = { 93.0f, 81.0f, 76.0f, 73.0f, 67.0f, 64.0f, 54.0f, 46.0f, 41.0f, 32.0f, 25.0f, 22.0f, 17.0f };
 
   Size  textSize22( 110.0f, 60.0f );
-  float positions22[] = { 93.0f, 81.0f, 76.0f, 74.0f, 68.0f, 64.0f, 54.0f, 46.0f, 41.0f, 32.0f, 25.0f, 21.0f, 17.0f };
+  float positions22[] = { 93.0f, 81.0f, 76.0f, 73.0f, 67.0f, 64.0f, 54.0f, 46.0f, 41.0f, 32.0f, 25.0f, 22.0f, 17.0f };
 
   Size  textSize23( 120.0f, 50.0f );
-  float positions23[] = { 0.0f, 11.0f, 20.0f, 32.0f, 44.0f };
+  float positions23[] = { 0.0f, 12.0f, 21.0f, 33.0f, 45.0f };
 
   Size  textSize24( 120.0f, 50.0f );
-  float positions24[] = { 0.0f, 11.0f, 21.0f, 31.0f, 41.0f, 50.0f, 60.0f, 70.0f, 80.0f, 91.0f };
+  float positions24[] = { 0.0f, 12.0f, 22.0f, 32.0f, 42.0f, 51.0f, 62.0f, 72.0f, 82.0f, 93.0f };
 
   Size  textSize25( 120.0f, 60.0f );
-  float positions25[] = { 0.0f, 10.0f, 21.0f, 25.0f, 28.0f, 38.0f, 44.0f, 55.0f, 59.0f, 0.0f, 8.0f, 18.0f, 27.0f, 38.0f, 44.0f, 49.0f, 64.0f };
+  float positions25[] = { 0.0f, 11.0f, 22.0f, 26.0f, 29.0f, 38.0f, 44.0f, 56.0f, 59.0f, 0.0f, 9.0f, 19.0f, 28.0f, 39.0f, 45.0f, 49.0f, 64.0f };
 
   Size  textSize26( 120.0f, 60.0f );
-  float positions26[] = { 0.0f, 10.0f, 21.0f, 25.0f, 28.0f, 38.0f, 44.0f, 55.0f, 59.0f, 65.0f, 73.0f, 84.0f, 92.0f, 103.0f, 109.0f, 0.0f, 14.0f, 24.0f, 33.0f, 38.0f, 52.0f, 63.0f, 66.0f, 75.0f, 86.0f };
+  float positions26[] = { 0.0f, 11.0f, 22.0f, 26.0f, 29.0f, 38.0f, 44.0f, 56.0f, 59.0f, 65.0f, 74.0f, 84.0f, 93.0f, 104.0f, 110.0f, 0.0f, 14.0f, 25.0f, 34.0f, 39.0f, 53.0f, 64.0f, 67.0f, 76.0f, 87.0f };
 
   Size  textSize27( 110.0f, 60.0f );
-  float positions27[] = { 0.0f, 10.0f, 21.0f, 25.0f, 28.0f, 38.0f, 44.0f, 55.0f, 59.0f, 65.0f, 73.0f, 0.0f, 8.0f, 19.0f, 25.0f, 30.0f, 44.0f, 54.0f, 63.0f, 69.0f };
+  float positions27[] = { 0.0f, 11.0f, 22.0f, 26.0f, 29.0f, 38.0f, 44.0f, 56.0f, 59.0f, 65.0f, 74.0f, 0.0f, 9.0f, 20.0f, 26.0f, 30.0f, 44.0f, 55.0f, 64.0f, 70.0f };
 
   Size  textSize28( 110.0f, 60.0f );
-  float positions28[] = { 0.0f, 10.0f, 21.0f, 25.0f, 28.0f, 38.0f, 44.0f, 55.0f, 59.0f, 0.0f, 8.0f, 18.0f, 27.0f, 38.0f, 44.0f, 49.0f, 64.0f };
+  float positions28[] = { 0.0f, 11.0f, 22.0f, 26.0f, 29.0f, 38.0f, 44.0f, 56.0f, 59.0f, 0.0f, 9.0f, 19.0f, 28.0f, 39.0f, 45.0f, 49.0f, 64.0f };
 
   Size  textSize29( 120.0f, 60.0f );
-  float positions29[] = { 115.0f, 108.0f, 94.0f, 86.0f, 78.0f, 72.0f, 61.0f };
+  float positions29[] = { 116.0f, 109.0f, 95.0f, 87.0f, 78.0f, 72.0f, 62.0f };
 
   Size  textSize30( 120.0f, 60.0f );
-  float positions30[] = { 115.0f, 108.0f, 94.0f, 86.0f, 77.0f, 71.0f, 61.0f, 56.0f, 51.0f, 43.0f, 34.0f, 30.0f, 112.0f, 104.0f, 94.0f, 89.0f, 87.0f, 81.0f, 77.0f, 67.0f, 59.0f, 54.0f, 34.0f };
+  float positions30[] = { 116.0f, 109.0f, 95.0f, 87.0f, 78.0f, 72.0f, 62.0f, 57.0f, 52.0f, 43.0f, 35.0f, 30.0f, 113.0f, 104.0f, 94.0f, 89.0f, 86.0f, 80.0f, 77.0f, 67.0f, 59.0f, 54.0f, 34.0f };
 
   Size  textSize31( 110.0f, 60.0f );
-  float positions31[] = { 108.0f, 101.0f, 87.0f, 79.0f, 70.0f, 64.0f, 54.0f, 49.0f, 44.0f, 36.0f, 27.0f, 21.0f, 12.0f, 4.0f, 96.0f, 91.0f, 89.0f, 83.0f, 79.0f, 69.0f, 61.0f, 56.0f, 47.0f, 40.0f, 36.0f, 30.0f, 27.0f, 11.0f };
+  float positions31[] = { 108.0f, 101.0f, 87.0f, 79.0f, 70.0f, 64.0f, 54.0f, 49.0f, 44.0f, 35.0f, 27.0f, 21.0f, 12.0f, 3.0f, 96.0f, 91.0f, 88.0f, 82.0f, 79.0f, 69.0f, 61.0f, 56.0f, 47.0f, 40.0f, 37.0f, 31.0f, 28.0f, 11.0f };
 
   Size  textSize32( 110.0f, 60.0f );
-  float positions32[] = { 105.0f, 98.0f, 84.0f, 76.0f, 67.0f, 61.0f, 51.0f, 46.0f, 41.0f, 33.0f, 24.0f, 20.0f, 102.0f, 94.0f, 84.0f, 79.0f, 77.0f, 71.0f, 67.0f, 57.0f, 49.0f, 44.0f, 24.0f };
+  float positions32[] = { 106.0f, 99.0f, 85.0f, 77.0f, 68.0f, 62.0f, 52.0f, 47.0f, 42.0f, 33.0f, 25.0f, 20.0f, 103.0f, 94.0f, 84.0f, 79.0f, 76.0f, 70.0f, 67.0f, 57.0f, 49.0f, 44.0f, 24.0f };
 
   Size  textSize33( 110.0f, 60.0f );
-  float positions33[] = { 105.0f, 98.0f, 84.0f, 76.0f, 67.0f, 61.0f, 51.0f, 46.0f, 41.0f, 33.0f, 24.0f, 20.0f, 102.0f, 94.0f, 84.0f, 79.0f, 77.0f, 71.0f, 67.0f, 57.0f, 49.0f, 44.0f, 24.0f };
+  float positions33[] = { 106.0f, 99.0f, 85.0f, 77.0f, 68.0f, 62.0f, 52.0f, 47.0f, 42.0f, 33.0f, 25.0f, 20.0f, 103.0f, 94.0f, 84.0f, 79.0f, 76.0f, 70.0f, 67.0f, 57.0f, 49.0f, 44.0f, 24.0f };
 
   Size  textSize34( 120.0f, 30.0f );
-  float positions34[] = { 0.0f, 10.0f, 21.0f, 25.0f, 28.0f, 38.0f, 44.0f, 55.0f, 59.0f, 65.0f, 73.0f, 84.0f, 93.0f };
+  float positions34[] = { 0.0f, 11.0f, 22.0f, 26.0f, 29.0f, 38.0f, 44.0f, 56.0f, 59.0f, 65.0f, 74.0f, 84.0f, 94.0f };
 
   Size  textSize35( 120.0f, 30.0f );
-  float positions35[] = { 8.0f, 24.0f, 35.0f, 44.0f, 49.0f, 63.0f, 74.0f, 77.0f, 85.0f, 96.0f, 110.0f };
+  float positions35[] = { 8.0f, 24.0f, 35.0f, 44.0f, 49.0f, 63.0f, 74.0f, 77.0f, 86.0f, 96.0f, 110.0f };
 
   Size  textSize36( 120.0f, 30.0f );
-  float positions36[] = { 0.0f, 10.0f, 21.0f, 25.0f, 28.0f, 38.0f, 44.0f, 55.0f };
+  float positions36[] = { 0.0f, 11.0f, 22.0f, 26.0f, 29.0f, 38.0f, 44.0f, 56.0f };
 
   Size  textSize37(145.0f, 30.0f);
-  float positions37[] = {131.0f, 126.0f, 121.0f, 116.0f, 108.0f, 103.0f, 93.0f, 88.0f, 20.0f, 29.0f, 34.0f, 42.0f, 48.0f, 57.0f, 67.0f};
+  float positions37[] = { 128.0f, 123.0f, 118.0f, 113.0f, 104.0f, 99.0f, 89.0f, 83.0f, 16.0f, 25.0f, 30.0f, 38.0f, 43.0f, 53.0f, 63.0f };
 
   Size  textSize38(145.0f, 30.0f);
-  float positions38[] = {51.0f, 66.0f, 71.0f, 79.0f, 85.0f, 94.0f, 103.0f, 109.0f, 119.0f, 51.0f, 37.0f, 32.0f, 27.0f, 23.0f, 14.0f, 10.0f, 0.0f};
+  float positions38[] = { 77.0f, 92.0f, 97.0f, 107.0f, 116.0f, 122.0f, 132.0f, 64.0f, 50.0f, 45.0f, 40.0f, 35.0f, 26.0f, 21.0f, 11.0f };
 
   struct ElideData data[] =
     {
@@ -743,7 +743,7 @@ int UtcDaliTextLabelElideTextLocation(void)
        false,
        textSize15,
        3u,
-       44u,
+       43u,
        positions15},
 
       {"EllipsisPosition: TextLabel: Mulitlines LineWrap-HYPHENATION RTL END",
@@ -991,7 +991,7 @@ int UtcDaliTextLabelElideTextLocation(void)
        false,
        textSize37,
        1u,
-       16u,
+       15u,
        positions37},
 
       {"EllipsisPosition: TextLabel: Mixed Directions Languages START",
@@ -1002,7 +1002,7 @@ int UtcDaliTextLabelElideTextLocation(void)
        false,
        textSize38,
        1u,
-       17u,
+       15u,
        positions38},
 
     };
@@ -1029,46 +1029,46 @@ int UtcDaliTextFieldlElideTextLocation(void)
   Size textSize00( 100.f, 100.f );
 
   Size  textSize01( 120.0f, 50.0f );
-  float positions01[] = { 0.0f, 11.0f, 21.0f, 31.0f, 41.0f, 50.0f, 60.0f, 70.0f, 80.0f, 91.0f };
+  float positions01[] = { 0.0f, 12.0f, 22.0f, 32.0f, 42.0f, 51.0f, 62.0f, 72.0f, 82.0f, 93.0f };
 
   Size  textSize02( 120.0f, 50.0f );
-  float positions02[] = { 0.0f, 10.0f, 21.0f, 25.0f, 28.0f, 38.0f, 44.0f, 55.0f, 59.0f, 65.0f, 73.0f, 84.0f, 93.0f };
+  float positions02[] = { 0.0f, 11.0f, 22.0f, 26.0f, 29.0f, 38.0f, 44.0f, 56.0f, 59.0f, 65.0f, 74.0f, 84.0f, 94.0f };
 
   Size  textSize03( 120.0f, 50.0f );
-  float positions03[] = { 117.0f, 111.0f, 97.0f, 88.0f, 80.0f, 74.0f, 64.0f, 59.0f, 54.0f, 45.0f, 37.0f, 31.0f, 22.0f, 7.0f };
+  float positions03[] = { 121.0f, 114.0f, 100.0f, 92.0f, 83.0f, 77.0f, 67.0f, 62.0f, 57.0f, 48.0f, 40.0f, 34.0f, 25.0f, 10.0f };
 
   Size  textSize04( 120.0f, 50.0f );
-  float positions04[] = { 5.0f, 21.0f, 31.0f, 41.0f, 50.0f, 61.0f, 71.0f, 80.0f, 90.0f, 100.0f, 109.0f };
+  float positions04[] = { 6.0f, 22.0f, 32.0f, 42.0f, 51.0f, 62.0f, 72.0f, 82.0f, 92.0f, 102.0f, 111.0f };
 
   Size  textSize05( 120.0f, 50.0f );
-  float positions05[] = { 8.0f, 24.0f, 35.0f, 44.0f, 49.0f, 63.0f, 74.0f, 77.0f, 85.0f, 96.0f, 110.0f };
+  float positions05[] = { 8.0f, 24.0f, 35.0f, 44.0f, 49.0f, 63.0f, 74.0f, 77.0f, 86.0f, 96.0f, 110.0f };
 
   Size  textSize06( 120.0f, 50.0f );
-  float positions06[] = { 90.0f, 79.0f, 70.0f, 68.0f, 62.0f, 56.0f, 51.0f, 42.0f, 29.0f, 26.0f, 15.0f, 7.0f, 0.0f };
+  float positions06[] = { 90.0f, 79.0f, 70.0f, 68.0f, 62.0f, 56.0f, 51.0f, 42.0f, 28.0f, 25.0f, 14.0f, 7.0f, 0.0f };
 
   Size  textSize07( 120.0f, 50.0f );
-  float positions07[] = { 0.0f, 11.0f, 21.0f, 31.0f, 41.0f, 53.0f };
+  float positions07[] = { 0.0f, 12.0f, 22.0f, 32.0f, 42.0f, 55.0f };
 
   Size  textSize08( 120.0f, 50.0f );
-  float positions08[] = { 0.0f, 10.0f, 21.0f, 25.0f, 28.0f, 38.0f, 44.0f, 55.0f };
+  float positions08[] = { 0.0f, 11.0f, 22.0f, 26.0f, 29.0f, 38.0f, 44.0f, 56.0f };
 
   Size  textSize09( 120.0f, 50.0f );
-  float positions09[] = { 116.0f, 109.0f, 96.0f, 87.0f, 79.0f, 73.0f, 63.0f };
+  float positions09[] = { 117.0f, 110.0f, 96.0f, 88.0f, 79.0f, 73.0f, 63.0f };
 
   Size  textSize10( 120.0f, 50.0f );
-  float positions10[] = { 121.0f, 116.0f, 111.0f, 106.0f, 101.0f, 96.0f, 92.0f, 87.0f, 83.0f, 77.0f, 63.0f, 55.0f, 46.0f, 40.0f, 30.0f, 16.0f };
+  float positions10[] = { 121.0f, 116.0f, 111.0f, 106.0f, 101.0f, 96.0f, 91.0f, 86.0f, 83.0f, 76.0f, 62.0f, 54.0f, 45.0f, 39.0f, 29.0f, 15.0f };
 
   Size  textSize11( 120.0f, 50.0f );
-  float positions11[] = { 93.0f, 77.0f, 74.0f, 63.0f, 56.0f, 49.0f, 44.0f, 39.0f, 34.0f, 29.0f, 24.0f, 19.0f, 14.0f, 9.0f, 5.0f };
+  float positions11[] = { 95.0f, 79.0f, 76.0f, 65.0f, 58.0f, 51.0f, 46.0f, 41.0f, 36.0f, 31.0f, 26.0f, 21.0f, 16.0f, 11.0f, 6.0f };
 
   Size  textSize12( 120.0f, 50.0f );
-  float positions12[] = { 117.0f, 112.0f, 107.0f, 102.0f, 97.0f, 92.0f, 87.0f, 82.0f, 79.0f, 72.0f };
+  float positions12[] = { 118.0f, 113.0f, 108.0f, 103.0f, 98.0f, 93.0f, 88.0f, 83.0f, 80.0f, 73.0f };
 
   Size  textSize13(145.0f, 30.0f);
-  float positions13[] = {131.0f, 126.0f, 121.0f, 117.0f, 108.0f, 104.0f, 94.0f, 88.0f, 20.0f, 29.0f, 34.0f, 42.0f, 48.0f, 57.0f, 67.0f};
+  float positions13[] = { 139.0f, 134.0f, 129.0f, 124.0f, 115.0f, 110.0f, 100.0f, 94.0f, 27.0f, 36.0f, 41.0f, 49.0f, 54.0f, 64.0f, 74.0f };
 
   Size  textSize14(145.0f, 30.0f);
-  float positions14[] = {51.0f, 66.0f, 71.0f, 80.0f, 85.0f, 94.0f, 103.0f, 109.0f, 119.0f, 51.0f, 37.0f, 32.0f, 28.0f, 23.0f, 14.0f, 10.0f, 0.0f};
+  float positions14[] = { 88.0f, 103.0f, 108.0f, 118.0f, 127.0f, 133.0f, 143.0f, 75.0f, 61.0f, 56.0f, 51.0f, 46.0f, 37.0f, 32.0f, 22.0f };
 
   struct ElideData data[] =
     {
@@ -1234,7 +1234,7 @@ int UtcDaliTextFieldlElideTextLocation(void)
        false,
        textSize12,
        1u,
-       20u,
+       11u,
        positions12},
 
       {"EllipsisPosition: TextField: Mixed Directions Languages END",
@@ -1245,7 +1245,7 @@ int UtcDaliTextFieldlElideTextLocation(void)
        false,
        textSize13,
        1u,
-       16,
+       15,
        positions13},
 
       {"EllipsisPosition: TextField: Mixed Directions Languages START",
@@ -1256,7 +1256,7 @@ int UtcDaliTextFieldlElideTextLocation(void)
        false,
        textSize14,
        1u,
-       17,
+       15,
        positions14},
 
     };
@@ -1284,94 +1284,94 @@ int UtcDaliTextEditorElideTextLocation(void)
   Size textSize00( 100.f, 100.f );
 
   Size  textSize01( 120.0f, 50.0f );
-  float positions01[] =  { 0.0f, 11.0f, 21.0f, 31.0f, 41.0f, 50.0f, 60.0f, 70.0f, 80.0f, 90.0f };
+  float positions01[] =  { 0.0f, 12.0f, 22.0f, 32.0f, 42.0f, 51.0f, 62.0f, 72.0f, 82.0f, 92.0f };
 
   Size  textSize02( 120.0f, 60.0f );
-  float positions02[] = { 0.0f, 10.0f, 21.0f, 25.0f, 28.0f, 38.0f, 44.0f, 55.0f, 59.0f, 0.0f };
+  float positions02[] = { 0.0f, 11.0f, 22.0f, 26.0f, 29.0f, 38.0f, 44.0f, 56.0f, 59.0f, 0.0f };
 
   Size  textSize03( 120.0f, 60.0f );
-  float positions03[] = { 0.0f, 10.0f, 21.0f, 25.0f, 28.0f, 38.0f, 44.0f, 55.0f, 59.0f, 65.0f, 73.0f, 84.0f, 92.0f };
+  float positions03[] = { 0.0f, 11.0f, 22.0f, 26.0f, 29.0f, 38.0f, 44.0f, 56.0f, 59.0f, 65.0f, 74.0f, 84.0f, 93.0f };
 
   Size  textSize04( 110.0f, 60.0f );
-  float positions04[] = { 0.0f, 10.0f, 21.0f, 25.0f, 28.0f, 38.0f, 44.0f, 55.0f, 59.0f, 65.0f };
+  float positions04[] = { 0.0f, 11.0f, 22.0f, 26.0f, 29.0f, 38.0f, 44.0f, 56.0f, 59.0f, 65.0f };
 
   Size  textSize05( 110.0f, 60.0f );
-  float positions05[] = { 0.0f, 10.0f, 21.0f, 25.0f, 28.0f, 38.0f, 44.0f, 55.0f, 59.0f };
+  float positions05[] = { 0.0f, 11.0f, 22.0f, 26.0f, 29.0f, 38.0f, 44.0f, 56.0f, 59.0f };
 
   Size  textSize06( 120.0f, 50.0f );
-  float positions06[] = { 5.0f, 21.0f, 31.0f, 41.0f, 50.0f, 61.0f, 70.0f, 80.0f, 90.0f, 100.0f, 109.0f };
+  float positions06[] = { 6.0f, 22.0f, 32.0f, 42.0f, 51.0f, 62.0f, 72.0f, 82.0f, 92.0f, 102.0f, 111.0f };
 
   Size  textSize07( 120.0f, 60.0f );
-  float positions07[] = { 8.0f, 24.0f, 28.0f, 36.0f, 47.0f, 61.0f, 70.0f, 76.0f, 87.0f, 97.0f, 102.0f, 105.0f, 115.0f };
+  float positions07[] = { 8.0f, 25.0f, 28.0f, 37.0f, 47.0f, 61.0f, 71.0f, 77.0f, 88.0f, 99.0f, 103.0f, 106.0f, 115.0f };
 
   Size  textSize08( 120.0f, 60.0f );
-  float positions08[] = { 8.0f, 24.0f, 33.0f, 38.0f, 52.0f, 63.0f, 66.0f, 75.0f, 85.0f, 99.0f, 109.0f };
+  float positions08[] = { 8.0f, 25.0f, 34.0f, 39.0f, 53.0f, 64.0f, 67.0f, 76.0f, 86.0f, 100.0f, 110.0f };
 
   Size  textSize09( 100.0f, 60.0f );
-  float positions09[] = { 4.0f, 21.0f, 25.0f, 28.0f, 38.0f, 44.0f, 55.0f, 59.0f, 65.0f, 73.0f };
+  float positions09[] = { 4.0f, 22.0f, 26.0f, 29.0f, 38.0f, 44.0f, 56.0f, 59.0f, 65.0f, 74.0f };
 
   Size  textSize10( 100.0f, 60.0f );
-  float positions10[] = { 4.0f, 21.0f, 25.0f, 28.0f, 38.0f, 44.0f, 55.0f, 59.0f };
+  float positions10[] = { 4.0f, 22.0f, 26.0f, 29.0f, 38.0f, 44.0f, 56.0f, 59.0f };
 
   Size  textSize11( 120.0f, 60.0f );
-  float positions11[] = { 117.0f, 111.0f, 97.0f, 89.0f, 80.0f, 74.0f, 64.0f, 59.0f, 54.0f, 45.0f, 37.0f, 32.0f, 112.0f, 103.0f, 94.0f, 89.0f };
+  float positions11[] = { 117.0f, 110.0f, 96.0f, 88.0f, 79.0f, 73.0f, 63.0f, 58.0f, 53.0f, 44.0f, 36.0f, 31.0f, 111.0f, 102.0f, 92.0f, 87.0f };
 
   Size  textSize12( 110.0f, 60.0f );
-  float positions12[] = { 109.0f, 102.0f, 89.0f, 80.0f, 72.0f, 66.0f, 56.0f, 50.0f, 46.0f, 37.0f, 29.0f, 23.0f, 14.0f };
+  float positions12[] = { 109.0f, 102.0f, 88.0f, 80.0f, 71.0f, 65.0f, 55.0f, 50.0f, 45.0f, 36.0f, 28.0f, 22.0f };
 
   Size  textSize13( 110.0f, 60.0f );
-  float positions13[] = { 116.0f, 109.0f, 96.0f, 87.0f, 79.0f, 73.0f, 63.0f, 57.0f, 53.0f, 44.0f, 36.0f, 31.0f, 111.0f };
+  float positions13[] = { 116.0f, 109.0f, 95.0f, 87.0f, 78.0f, 72.0f, 62.0f, 57.0f, 52.0f, 43.0f, 35.0f, 30.0f, 110.0f };
 
   Size  textSize14( 110.0f, 60.0f );
-  float positions14[] = { 116.0f, 109.0f, 96.0f, 87.0f, 79.0f, 73.0f, 63.0f, 57.0f, 53.0f, 44.0f, 36.0f, 31.0f, 111.0f };
+  float positions14[] = { 116.0f, 109.0f, 95.0f, 87.0f, 78.0f, 72.0f, 62.0f, 57.0f, 52.0f, 43.0f, 35.0f, 30.0f, 110.0f };
 
   Size  textSize15( 120.0f, 60.0f );
-  float positions15[] = { 130.0f, 118.0f, 113.0f, 111.0f, 105.0f, 101.0f, 91.0f, 83.0f, 78.0f, 69.0f, 62.0f, 58.0f, 54.0f };
+  float positions15[] = { 130.0f, 118.0f, 113.0f, 110.0f, 104.0f, 101.0f, 91.0f, 83.0f, 78.0f, 69.0f, 62.0f, 59.0f, 54.0f };
 
   Size  textSize16( 110.0f, 60.0f );
-  float positions16[] = { 92.0f, 85.0f, 81.0f, 71.0f, 63.0f, 58.0f, 49.0f, 42.0f, 38.0f, 32.0f, 29.0f, 18.0f, 13.0f, 8.0f, 6.0f };
+  float positions16[] = { 92.0f, 85.0f, 82.0f, 72.0f, 64.0f, 59.0f, 50.0f, 43.0f, 40.0f, 34.0f, 31.0f, 19.0f, 14.0f, 9.0f, 6.0f };
 
   Size  textSize17( 110.0f, 60.0f );
-  float positions17[] = { 110.0f, 98.0f, 93.0f, 91.0f, 85.0f, 81.0f, 71.0f, 63.0f, 58.0f, 49.0f, 42.0f, 38.0f, 34.0f };
+  float positions17[] = { 110.0f, 98.0f, 93.0f, 90.0f, 84.0f, 81.0f, 71.0f, 63.0f, 58.0f, 49.0f, 42.0f, 39.0f, 34.0f };
 
   Size  textSize18( 110.0f, 60.0f );
-  float positions18[] = { 110.0f, 98.0f, 93.0f, 91.0f, 85.0f, 81.0f, 71.0f, 63.0f, 58.0f, 49.0f, 42.0f, 38.0f, 34.0f };
+  float positions18[] = { 110.0f, 98.0f, 93.0f, 90.0f, 84.0f, 81.0f, 71.0f, 63.0f, 58.0f, 49.0f, 42.0f, 39.0f, 34.0f };
 
   Size  textSize19( 120.0f, 50.0f );
-  float positions19[] = { 0.0f, 11.0f, 21.0f, 31.0f, 41.0f, 50.0f, 60.0f, 70.0f, 80.0f, 91.0f };
+  float positions19[] = { 0.0f, 12.0f, 22.0f, 32.0f, 42.0f, 51.0f, 62.0f, 72.0f, 82.0f, 93.0f };
 
   Size  textSize20( 120.0f, 60.0f );
-  float positions20[] = { 0.0f, 10.0f, 21.0f, 25.0f, 28.0f, 38.0f, 44.0f, 55.0f };
+  float positions20[] = { 0.0f, 11.0f, 22.0f, 26.0f, 29.0f, 38.0f, 44.0f, 56.0f };
 
   Size  textSize21( 120.0f, 60.0f );
-  float positions21[] = { 0.0f, 10.0f, 21.0f, 25.0f, 28.0f, 38.0f, 44.0f, 55.0f, 59.0f, 65.0f };
+  float positions21[] = { 0.0f, 11.0f, 22.0f, 26.0f, 29.0f, 38.0f, 44.0f, 56.0f, 59.0f, 65.0f };
 
   Size  textSize22( 110.0f, 60.0f );
-  float positions22[] = { 0.0f, 10.0f, 21.0f, 25.0f, 28.0f, 38.0f, 44.0f, 55.0f, 59.0f };
+  float positions22[] = { 0.0f, 11.0f, 22.0f, 26.0f, 29.0f, 38.0f, 44.0f, 56.0f, 59.0f };
 
   Size  textSize23( 110.0f, 60.0f );
-  float positions23[] = { 0.0f, 10.0f, 21.0f, 25.0f, 28.0f, 38.0f, 44.0f, 55.0f };
+  float positions23[] = { 0.0f, 11.0f, 22.0f, 26.0f, 29.0f, 38.0f, 44.0f, 56.0f };
 
   Size  textSize24( 120.0f, 60.0f );
-  float positions24[] = { 142.0f, 135.0f, 121.0f, 113.0f, 104.0f, 98.0f, 88.0f, 83.0f, 78.0f, 70.0f, 61.0f };
+  float positions24[] = { 143.0f, 136.0f, 122.0f, 114.0f, 105.0f, 99.0f, 89.0f, 84.0f, 79.0f, 70.0f, 62.0f };
 
   Size  textSize25( 110.0f, 60.0f );
-  float positions25[] = { 111.0f, 104.0f, 90.0f, 82.0f, 73.0f, 67.0f, 57.0f, 52.0f, 47.0f, 39.0f, 30.0f, 24.0f, 15.0f, 7.0f };
+  float positions25[] = { 111.0f, 104.0f, 90.0f, 82.0f, 73.0f, 67.0f, 57.0f, 52.0f, 47.0f, 38.0f, 30.0f, 24.0f, 15.0f, 6.0f };
 
   Size  textSize26( 110.0f, 60.0f );
-  float positions26[] = { 122.0f, 115.0f, 101.0f, 93.0f, 84.0f, 78.0f, 68.0f, 63.0f, 58.0f, 50.0f, 41.0f };
+  float positions26[] = { 123.0f, 116.0f, 102.0f, 94.0f, 85.0f, 79.0f, 69.0f, 64.0f, 59.0f, 50.0f, 42.0f };
 
   Size  textSize27( 110.0f, 60.0f );
-  float positions27[] = { 122.0f, 115.0f, 101.0f, 93.0f, 84.0f, 78.0f, 68.0f, 63.0f, 58.0f, 50.0f, 41.0f };
+  float positions27[] = { 123.0f, 116.0f, 102.0f, 94.0f, 85.0f, 79.0f, 69.0f, 64.0f, 59.0f, 50.0f, 42.0f };
 
   Size  textSize28( 120.0f, 30.0f );
-  float positions28[] = { 0.0f, 10.0f, 21.0f, 25.0f, 28.0f, 38.0f, 44.0f, 55.0f, 59.0f, 65.0f, 73.0f, 84.0f, 93.0f };
+  float positions28[] = { 0.0f, 11.0f, 22.0f, 26.0f, 29.0f, 38.0f, 44.0f, 56.0f, 59.0f, 65.0f, 74.0f, 84.0f, 94.0f };
 
   Size  textSize29( 120.0f, 30.0f );
-  float positions29[] = { 8.0f, 24.0f, 35.0f, 44.0f, 49.0f, 63.0f, 74.0f, 77.0f, 85.0f, 96.0f, 110.0f };
+  float positions29[] = { 8.0f, 24.0f, 35.0f, 44.0f, 49.0f, 63.0f, 74.0f, 77.0f, 86.0f, 96.0f, 110.0f };
 
   Size  textSize30( 120.0f, 30.0f );
-  float positions30[] = { 0.0f, 10.0f, 21.0f, 25.0f, 28.0f, 38.0f, 44.0f, 55.0f };
+  float positions30[] = { 0.0f, 11.0f, 22.0f, 26.0f, 29.0f, 38.0f, 44.0f, 56.0f };
 
 
   struct ElideData data[] =
@@ -1573,7 +1573,7 @@ int UtcDaliTextEditorElideTextLocation(void)
       false,
       textSize12,
       3u,
-      44u,
+      43u,
       positions12
     },
 
index 60781d0..41e0636 100755 (executable)
@@ -162,8 +162,8 @@ int UtcDaliTextHyphenWrapping(void)
 
   LineRun line1 =
     {
-      {0u, 5u},
-      {0u, 5u},
+      {0u, 8u},
+      {0u, 8u},
       0.f,
       0.f,
       0.f,
@@ -174,8 +174,8 @@ int UtcDaliTextHyphenWrapping(void)
       false};
   LineRun line2 =
     {
-      {5u, 8u},
-      {5u, 8u},
+      {8u, 5u},
+      {8u, 5u},
       0.f,
       0.f,
       0.f,
index 9792612..ef83bc0 100644 (file)
@@ -310,7 +310,6 @@ bool LayoutTextTest(const LayoutTextData& data)
       Print(expectedLine);
       return false;
     }
-
     // Do not compare the alignment offset as it's not calculated in the layout.
     // Do not compare the line direction as it's not set in the layout.
   }
@@ -607,13 +606,13 @@ int UtcDaliTextLayoutSmallTextArea02(void)
   Vector<FontDescriptionRun> fontDescriptionRuns;
   fontDescriptionRuns.PushBack(fontDescriptionRun);
   Size           textArea(1.f, 1.f);
-  Size           layoutSize(81.f, 20.f);
-  float          positions[] = {0.f, -12.f, 10.f, -9.f, 20.f, -13.f, 24.f, -13.f, 27.f, -9.f, 36.f, -0.f, 40.f, -9.f, 52.f, -9.f, 62.f, -9.f, 69.f, -13.f, 72.f, -13.f};
+  Size           layoutSize(79.f, 20.f);
+  float          positions[] = {0.f, -12.f, 10.f, -9.f, 19.f, -13.f, 23.f, -13.f, 26.f, -9.f, 35.f, -0.f, 39.f, -9.f, 51.f, -9.f, 61.f, -9.f, 67.f, -13.f, 70.f, -13.f};
   struct LineRun line =
     {
       {0u, 11u},
       {0u, 11u},
-      81.f,
+      79.f,
       15.f,
       -5.f,
       0.f,
@@ -690,15 +689,17 @@ int UtcDaliTextLayoutMultilineText01(void)
   fontDescriptionRuns.PushBack(fontDescriptionRun1);
   fontDescriptionRuns.PushBack(fontDescriptionRun2);
   Size  textArea(100.f, 300.f);
-  Size  layoutSize(98.f, 97.f);
+  Size  layoutSize(96.f, 97.f);
   float positions[] =
     {
-      0.f, -12.f, 10.f, -9.f, 20.f, -13.f, 24.f, -13.f, 27.f, -9.f, 36.f, -0.f, 40.f, -9.f, 52.f, -9.f, 62.f, -9.f, 69.f, -13.f, 72.f, -13.f, 81.f, -0.f, 0.f, -13.f, 9.f, -9.f, 19.f, -9.f, 32.f, -9.f, 41.f, -2.f, 45.f, -12.f, 0.f, -12.f, 8.f, -9.f, 18.f, -9.f, 27.f, -9.f, 38.f, -9.f, 47.f, -11.f, 53.f, -0.f, 0.f, -12.f, 11.f, -12.f, 15.f, -12.f, 26.f, -9.f, 36.f, -9.f, 42.f, -9.f, 53.f, -9.f, 62.f, -11.f, 68.f, -0.f, 0.f, -12.f, 4.f, -12.f, 9.f, -9.f, 18.f, -9.f, 28.f, -9.f, 36.f, -0.f, 41.f, -9.f, 51.f, -12.f, 57.f, -0.f, 62.f, -11.f, 68.f, -9.f, 78.f, -9.f, 87.f, -11.f, 94.f, -2.f};
+      0.f, -12.f, 10.f, -9.f, 19.f, -13.f, 23.f, -13.f, 26.f, -9.f, 35.f, -0.f, 39.f, -9.f, 51.f, -9.f, 61.f, -9.f, 67.f, -13.f, 70.f, -13.f, 79.f, -0.f, 0.f, -13.f, 9.f, -9.f, 18.f, -9.f, 31.f, -9.f, 40.f, -2.f, 44.f, -12.f, 0.f, -12.f, 8.f, -9.f, 18.f, -9.f, 27.f, -9.f, 38.f, -9.f, 47.f, -11.f, 53.f, -0.f, 0.f, -12.f, 11.f, -12.f, 14.f, -12.f, 25.f, -9.f, 36.f, -9.f, 41.f, -9.f, 52.f, -9.f, 61.f, -11.f, 67.f, -0.f, 0.f, -12.f, 4.f, -12.f, 8.f, -9.f, 17.f, -9.f, 27.f, -9.f, 35.f, -0.f, 40.f, -9.f, 50.f, -12.f, 56.f, -0.f, 61.f, -11.f, 67.f, -9.f, 77.f, -9.f, 86.f, -11.f, 93.f, -2.f
+    };
+
   struct LineRun line0 =
     {
       {0u, 12u},
       {0u, 12u},
-      81.f,
+      79.f,
       15.f,
       -5.f,
       4.f,
@@ -710,7 +711,7 @@ int UtcDaliTextLayoutMultilineText01(void)
     {
       {12u, 6u},
       {12u, 6u},
-      44.f,
+      43.f,
       15.f,
       -5.f,
       0.f,
@@ -722,10 +723,10 @@ int UtcDaliTextLayoutMultilineText01(void)
     {
       {18u, 7u},
       {18u, 7u},
-      54.f,
+      53.f,
       15.f,
       -4.f,
-      6.f,
+      5.f,
       0.f,
       0.f,
       false,
@@ -734,10 +735,10 @@ int UtcDaliTextLayoutMultilineText01(void)
     {
       {25u, 9u},
       {25u, 10u},
-      68.f,
+      67.f,
       15.f,
       -4.f,
-      6.f,
+      5.f,
       0.f,
       0.f,
       false,
@@ -746,7 +747,7 @@ int UtcDaliTextLayoutMultilineText01(void)
     {
       {34u, 14u},
       {35u, 14u},
-      98.f,
+      96.f,
       15.f,
       -4.f,
       0.f,
@@ -879,102 +880,16 @@ int UtcDaliTextLayoutMultilineText02(void)
   fontDescriptionRuns.PushBack(fontDescriptionRun4);
   fontDescriptionRuns.PushBack(fontDescriptionRun5);
   Size  textArea(100.f, 300.f);
-  Size  layoutSize(81.f, 120.f);
+  Size  layoutSize(79.f, 120.f);
   float positions[] =
-    {
-      0.f, -12.f, 10.f, -9.f, 20.f, -13.f, 24.f, -13.f, 27.f, -9.f, 36.f, -0.f, 40.f, -9.f, 52.f, -9.f, 62.f, -9.f, 69.f, -13.f, 72.f, -13.f, 81.f, -0.f, //  0 .. 11
-      0.f,
-      -13.f,
-      9.f,
-      -9.f,
-      19.f,
-      -9.f,
-      32.f,
-      -9.f,
-      41.f,
-      -0.f,
-      68.f,
-      -10.f,
-      59.f,
-      -13.f,
-      54.f,
-      -10.f,
-      45.f,
-      -10.f,
-      79.f,
-      -0.f, // 12 .. 21
-      23.f,
-      -10.f,
-      19.f,
-      -10.f,
-      10.f,
-      -13.f,
-      0.f,
-      -10.f,
-      32.f,
-      -2.f,
-      36.f,
-      -12.f, // 22 .. 27
-      63.f,
-      -10.f,
-      54.f,
-      -13.f,
-      50.f,
-      -10.f,
-      41.f,
-      -10.f,
-      36.f,
-      -0.f,
-      27.f,
-      -10.f,
-      23.f,
-      -10.f,
-      14.f,
-      -13.f,
-      4.f,
-      -10.f,
-      0.f,
-      -0.f, // 28 .. 37
-      4.f,
-      -13.f,
-      12.f,
-      -9.f,
-      22.f,
-      -13.f,
-      26.f,
-      -13.f,
-      29.f,
-      -9.f,
-      38.f,
-      -0.f,
-      42.f,
-      -9.f,
-      54.f,
-      -9.f,
-      64.f,
-      -9.f,
-      70.f,
-      -13.f,
-      73.f,
-      -13.f,
-      0.f,
-      -0.f, // 38 .. 49
-      4.f,
-      -13.f,
-      13.f,
-      -9.f,
-      23.f,
-      -9.f,
-      36.f,
-      -9.f,
-      0.f,
-      -2.f, // 50 .. 54
-    };
+  {
+    0.f, -12.f, 10.f, -9.f, 19.f, -13.f, 23.f, -13.f, 26.f, -9.f, 35.f, -0.f, 39.f, -9.f, 51.f, -9.f, 61.f, -9.f, 67.f, -13.f, 70.f, -13.f, 79.f, -0.f, 0.f, -13.f, 9.f, -9.f, 18.f, -9.f, 31.f, -9.f, 40.f, -0.f, 67.f, -10.f, 58.f, -13.f, 54.f, -10.f, 44.f, -10.f, 78.f, -0.f, 23.f, -10.f, 19.f, -10.f, 10.f, -13.f, 0.f, -10.f, 32.f, -2.f, 36.f, -12.f, 63.f, -10.f, 54.f, -13.f, 50.f, -10.f, 40.f, -10.f, 36.f, -0.f, 27.f, -10.f, 23.f, -10.f, 14.f, -13.f, 4.f, -10.f, 0.f, -0.f, 4.f, -13.f, 12.f, -9.f, 21.f, -13.f, 25.f, -13.f, 28.f, -9.f, 37.f, -0.f, 41.f, -9.f, 53.f, -9.f, 63.f, -9.f, 69.f, -13.f, 72.f, -13.f, 0.f, -0.f, 4.f, -13.f, 13.f, -9.f, 22.f, -9.f, 35.f, -9.f, 0.f, -2.f
+  };
   struct LineRun line0 =
     {
       {0u, 12u},
       {0u, 12u},
-      81.f,
+      79.f,
       15.f,
       -5.f,
       4.f,
@@ -986,10 +901,10 @@ int UtcDaliTextLayoutMultilineText02(void)
     {
       {12u, 10u},
       {12u, 10u},
-      79.f,
+      78.f,
       15.f,
       -5.f,
-      5.f,
+      4.f,
       0.f,
       0.f,
       false,
@@ -1013,34 +928,34 @@ int UtcDaliTextLayoutMultilineText02(void)
       70.f,
       15.f,
       -5.f,
-      5.f,
+      4.f,
       0.f,
       0.f,
-      false,
+      true,
       false};
   struct LineRun line4 =
     {
       {38u, 12u},
       {38u, 12u},
-      79.f,
+      77.f,
       15.f,
       -5.f,
       4.f,
       0.f,
       0.f,
-      false,
+      true,
       false};
   struct LineRun line5 =
     {
       {50u, 5u},
       {50u, 5u},
-      45.f,
+      44.f,
       15.f,
       -5.f,
       0.f,
       0.f,
       0.f,
-      false,
+      true,
       false};
   Vector<LineRun> lines;
   lines.PushBack(line0);
@@ -1104,73 +1019,16 @@ int UtcDaliTextLayoutMultilineText03(void)
   Vector<FontDescriptionRun> fontDescriptionRuns;
   fontDescriptionRuns.PushBack(fontDescriptionRun);
   Size  textArea(100.f, 300.f);
-  Size  layoutSize(98.f, 60.f);
+  Size  layoutSize(96.f, 60.f);
   float positions[] =
     {
-      0.f,
-      -12.f,
-      10.f,
-      -9.f,
-      20.f,
-      -13.f,
-      24.f,
-      -13.f,
-      27.f,
-      -9.f,
-      36.f,
-      -9.f,
-      48.f,
-      -9.f,
-      58.f,
-      -9.f,
-      65.f,
-      -13.f,
-      68.f,
-      -13.f,
-      77.f,
-      -13.f,
-      86.f,
-      -9.f,
-      0.f,
-      -9.f,
-      13.f,
-      -9.f,
-      23.f,
-      -13.f,
-      31.f,
-      -9.f,
-      41.f,
-      -13.f,
-      45.f,
-      -13.f,
-      48.f,
-      -9.f,
-      57.f,
-      -9.f,
-      69.f,
-      -9.f,
-      79.f,
-      -9.f,
-      85.f,
-      -13.f,
-      88.f,
-      -13.f,
-      0.f,
-      -13.f,
-      9.f,
-      -9.f,
-      19.f,
-      -9.f,
-      32.f,
-      -9.f,
-      41.f,
-      -2.f,
+      0.f, -12.f, 10.f, -9.f, 19.f, -13.f, 23.f, -13.f, 26.f, -9.f, 35.f, -9.f, 47.f, -9.f, 57.f, -9.f, 63.f, -13.f, 66.f, -13.f, 75.f, -13.f, 84.f, -9.f, 0.f, -9.f, 13.f, -9.f, 23.f, -13.f, 31.f, -9.f, 40.f, -13.f, 44.f, -13.f, 47.f, -9.f, 56.f, -9.f, 68.f, -9.f, 78.f, -9.f, 84.f, -13.f, 87.f, -13.f, 0.f, -13.f, 9.f, -9.f, 18.f, -9.f, 31.f, -9.f, 40.f, -2.f
     };
   struct LineRun line0 =
     {
       {0u, 12u},
       {0u, 12u},
-      95.f,
+      92.f,
       15.f,
       -5.f,
       0.f,
@@ -1182,7 +1040,7 @@ int UtcDaliTextLayoutMultilineText03(void)
     {
       {12u, 12u},
       {12u, 12u},
-      98.f,
+      96.f,
       15.f,
       -5.f,
       0.f,
@@ -1194,7 +1052,7 @@ int UtcDaliTextLayoutMultilineText03(void)
     {
       {24u, 5u},
       {24u, 5u},
-      44.f,
+      43.f,
       15.f,
       -5.f,
       0.f,
@@ -1260,15 +1118,15 @@ int UtcDaliTextLayoutMultilineText04(void)
   Vector<FontDescriptionRun> fontDescriptionRuns;
   fontDescriptionRuns.PushBack(fontDescriptionRun);
   Size  textArea(100.f, 300.f);
-  Size  layoutSize(84.f, 40.f);
+  Size  layoutSize(82.f, 40.f);
   float positions[] =
     {
-      0.f, -12.f, 10.f, -9.f, 20.f, -13.f, 24.f, -13.f, 27.f, -9.f, 36.f, -0.f, 40.f, -9.f, 52.f, -9.f, 62.f, -9.f, 69.f, -13.f, 72.f, -13.f, 81.f, -2.f, 85.f, -12.f};
+      0.f, -12.f, 10.f, -9.f, 19.f, -13.f, 23.f, -13.f, 26.f, -9.f, 35.f, -0.f, 39.f, -9.f, 51.f, -9.f, 61.f, -9.f, 67.f, -13.f, 70.f, -13.f, 79.f, -2.f, 83.f, -12.f};
   struct LineRun line0 =
     {
       {0u, 13u},
       {0u, 13u},
-      84.f,
+      82.f,
       15.f,
       -5.f,
       0.f,
@@ -1371,15 +1229,16 @@ int UtcDaliTextLayoutMultilineText05(void)
   fontDescriptionRuns.PushBack(fontDescriptionRun2);
   fontDescriptionRuns.PushBack(fontDescriptionRun3);
   Size  textArea(100.f, 300.f);
-  Size  layoutSize(89.f, 53.f);
+  Size  layoutSize(87.f, 53.f);
   float positions[] =
     {
-      0.f, -12.f, 10.f, -9.f, 20.f, -13.f, 24.f, -13.f, 27.f, -9.f, 36.f, -0.f, 40.f, -14.f, 60.f, -9.f, 70.f, -9.f, 76.f, -13.f, 80.f, -13.f, 89.f, -0.f, 0.f, -13.f, 9.f, -9.f, 19.f, -9.f, 32.f, -9.f, 41.f, -2.f};
+      0.f, -12.f, 10.f, -9.f, 19.f, -13.f, 23.f, -13.f, 26.f, -9.f, 35.f, -0.f, 39.f, -14.f, 59.f, -9.f, 69.f, -9.f, 75.f, -13.f, 78.f, -13.f, 87.f, -0.f, 0.f, -13.f, 9.f, -9.f, 18.f, -9.f, 31.f, -9.f, 40.f, -2.f
+    };
   struct LineRun line0 =
     {
       {0u, 12u},
       {0u, 12u},
-      89.f,
+      87.f,
       25.f,
       -8.f,
       4.f,
@@ -1391,7 +1250,7 @@ int UtcDaliTextLayoutMultilineText05(void)
     {
       {12u, 5u},
       {12u, 5u},
-      44.f,
+      43.f,
       15.f,
       -5.f,
       0.f,
@@ -1455,10 +1314,10 @@ int UtcDaliTextLayoutMultilineText06(void)
   fontDescriptionRuns.PushBack(fontDescriptionRun);
 
   Size  textArea(64.f, 100.f);
-  Size  layoutSize(34.f, 40.f);
+  Size  layoutSize(33.f, 40.f);
   float positions[] =
     {
-      27.f, -13.f, 18.f, -10.f, 9.f, -10.f, 4.f, -10.f, 0.f, -0.f, 22.f, -10.f, 17.f, -10.f, 12.f, -10.f, 4.f, -10.f, 0.f, -10.f};
+      27.f, -13.f, 18.f, -10.f, 8.f, -10.f, 4.f, -10.f, 0.f, -0.f, 22.f, -10.f, 16.f, -10.f, 12.f, -10.f, 4.f, -10.f, 0.f, -10.f};
   struct LineRun line0 =
     {
       {0u, 5u},
@@ -1466,7 +1325,7 @@ int UtcDaliTextLayoutMultilineText06(void)
       32.f,
       15.f,
       -5.f,
-      5.f,
+      4.f,
       0.f,
       0.f,
       true,
@@ -1475,7 +1334,7 @@ int UtcDaliTextLayoutMultilineText06(void)
     {
       {5u, 5u},
       {5u, 5u},
-      34.f,
+      33.f,
       15.f,
       -5.f,
       0.f,
@@ -1539,7 +1398,7 @@ int UtcDaliTextLayoutMultilineText07(void)
   fontDescriptionRuns.PushBack(fontDescriptionRun);
 
   Size  textArea(26.f, 100.f);
-  Size  layoutSize(24.f, 60.f);
+  Size  layoutSize(23.f, 60.f);
   float positions[] =
     {
       10.f, -10.f, 4.f, -10.f, 0.f, -10.f, 13.f, -10.f, 9.f, -10.f, 0.f, -13.f, 14.f, -10.f, 4.f, -10.f, 0.f, -10.f};
@@ -1559,7 +1418,7 @@ int UtcDaliTextLayoutMultilineText07(void)
     {
       {3u, 3u},
       {3u, 3u},
-      22.f,
+      21.f,
       15.f,
       -5.f,
       0.f,
@@ -1571,7 +1430,7 @@ int UtcDaliTextLayoutMultilineText07(void)
     {
       {6u, 3u},
       {6u, 3u},
-      24.f,
+      23.f,
       15.f,
       -5.f,
       0.f,
@@ -1863,415 +1722,54 @@ int UtcDaliTextUpdateLayout01(void)
   fontDescriptionRuns.PushBack(fontDescriptionRun16);
   fontDescriptionRuns.PushBack(fontDescriptionRun17);
   Size  textArea(100.f, 300.f);
-  Size  layoutSize(100.f, 380.f);
+  Size  layoutSize(99.f, 380.f);
   float positions[] =
     {
-      0.f, -12.f, 10.f, -9.f, 20.f, -13.f, 24.f, -13.f, 27.f, -9.f, 36.f, -0.f, 40.f, -9.f, 52.f, -9.f, 62.f, -9.f, 69.f, -13.f, 72.f, -13.f, 81.f, -0.f, //   0 ..  11
-      0.f,
-      -13.f,
-      9.f,
-      -9.f,
-      19.f,
-      -9.f,
-      32.f,
-      -9.f,
-      41.f,
-      -0.f,
-      68.f,
-      -10.f,
-      59.f,
-      -13.f,
-      54.f,
-      -10.f,
-      45.f,
-      -10.f,
+      0.f, -12.f, 10.f, -9.f, 19.f, -13.f, 23.f, -13.f, 26.f, -9.f, 35.f, -0.f, 39.f, -9.f, 51.f, -9.f, 61.f, -9.f, 67.f, -13.f, 70.f, -13.f, 79.f, -0.f, 0.f, -13.f, 9.f, -9.f, 18.f, -9.f, 31.f, -9.f, 40.f, -0.f, 67.f, -10.f, 58.f, -13.f, 54.f, -10.f, 44.f, -10.f, 78.f, -0.f, 23.f, -10.f, 19.f, -10.f, 10.f, -13.f, 0.f, -10.f, 32.f, -2.f, 36.f, -12.f, 94.f, -8.f, 89.f, -6.f, 81.f, -8.f, 77.f, -7.f, 76.f, -11.f, 71.f, -0.f, 66.f, -7.f, 65.f, -11.f, 59.f, -11.f, 53.f, -8.f, 52.f, -11.f, 46.f, -11.f, 41.f, -8.f, 37.f, -0.f, 4.f, -13.f, 12.f, -9.f, 21.f, -13.f, 25.f, -13.f, 28.f, -9.f, 0.f, -0.f, 42.f, -9.f, 54.f, -9.f, 64.f, -9.f, 70.f, -13.f, 73.f, -13.f, 38.f, -0.f, 27.f, -10.f, 18.f, -13.f, 14.f, -10.f, 4.f, -10.f, 0.f, -0.f, 23.f, -10.f, 19.f, -10.f, 10.f, -13.f, 0.f, -10.f, 0.f, -0.f, 63.f, -10.f, 54.f, -13.f, 50.f, -10.f, 40.f, -10.f, 36.f, -0.f, 27.f, -10.f, 23.f, -10.f, 14.f, -13.f, 4.f, -10.f, 0.f, -0.f, 4.f, -13.f, 12.f, -9.f, 21.f, -13.f, 25.f, -13.f, 28.f, -9.f, 37.f, -0.f, 41.f, -9.f, 53.f, -9.f, 63.f, -9.f, 69.f, -13.f, 72.f, -13.f, 0.f, -0.f, 4.f, -13.f, 13.f, -9.f, 22.f, -9.f, 35.f, -9.f, 0.f, -2.f, 0.f, -12.f, 0.f, -13.f, 8.f, -9.f, 17.f, -13.f, 21.f, -13.f, 24.f, -9.f, 33.f, -0.f, 37.f, -9.f, 49.f, -9.f, 59.f, -9.f, 65.f, -13.f, 68.f, -13.f, 77.f, -0.f, 91.f, -8.f, 86.f, -6.f, 78.f, -8.f, 74.f, -7.f, 73.f, -11.f, 68.f, -0.f, 63.f, -7.f, 62.f, -11.f, 56.f, -11.f, 50.f, -8.f, 49.f, -11.f, 43.f, -11.f, 38.f, -8.f, 34.f, -0.f, 23.f, -10.f, 14.f, -13.f, 10.f, -10.f, 0.f, -10.f, 98.f, -0.f, 23.f, -10.f, 19.f, -10.f, 10.f, -13.f, 0.f, -10.f, 32.f, -0.f, 0.f, -12.f, 10.f, -9.f, 19.f, -13.f, 23.f, -13.f, 26.f, -9.f, 35.f, -0.f, 39.f, -9.f, 51.f, -9.f, 61.f, -9.f, 67.f, -13.f, 70.f, -13.f, 79.f, -0.f, 0.f, -13.f, 9.f, -9.f, 18.f, -9.f, 31.f, -9.f, 40.f, -0.f, 67.f, -10.f, 58.f, -13.f, 54.f, -10.f, 44.f, -10.f, 78.f, -0.f, 23.f, -10.f, 19.f, -10.f, 10.f, -13.f, 0.f, -10.f, 32.f, -2.f, 36.f, -12.f, 63.f, -10.f, 54.f, -13.f, 50.f, -10.f, 40.f, -10.f, 36.f, -0.f, 27.f, -10.f, 23.f, -10.f, 14.f, -13.f, 4.f, -10.f, 0.f, -0.f, 4.f, -13.f, 12.f, -9.f, 21.f, -13.f, 25.f, -13.f, 28.f, -9.f, 37.f, -0.f, 41.f, -9.f, 53.f, -9.f, 63.f, -9.f, 69.f, -13.f, 72.f, -13.f, 0.f, -0.f, 53.f, -8.f, 48.f, -6.f, 40.f, -8.f, 36.f, -7.f, 35.f, -11.f, 30.f, -0.f, 25.f, -7.f, 24.f, -11.f, 18.f, -11.f, 12.f, -8.f, 11.f, -11.f, 5.f, -11.f, 0.f, -8.f, 0.f, -0.f
+    };
+  struct LineRun line01 =
+    {
+      {0u, 12u},
+      {0u, 12u},
       79.f,
-      -0.f, //  12 ..  21
-      23.f,
-      -10.f,
-      19.f,
-      -10.f,
-      10.f,
-      -13.f,
-      0.f,
-      -10.f,
-      32.f,
-      -2.f,
-      36.f,
-      -12.f, //  22 ..  27
-      58.f,
-      -8.f,
-      52.f,
-      -6.f,
-      45.f,
-      -8.f,
-      41.f,
-      -7.f,
-      39.f,
-      -11.f,
-      34.f,
-      -0.f,
-      30.f,
-      -7.f,
-      28.f,
-      -11.f,
-      23.f,
-      -11.f,
-      16.f,
-      -8.f,
       15.f,
-      -11.f,
-      9.f,
-      -11.f,
+      -5.f,
       4.f,
-      -8.f,
       0.f,
-      -0.f,
+      0.f,
+      false,
+      false};
+  struct LineRun line02 =
+    {
+      {12u, 10u},
+      {12u, 10u},
+      78.f,
+      15.f,
+      -5.f,
       4.f,
-      -13.f,
-      12.f,
-      -9.f,
-      22.f,
-      -13.f,
-      26.f,
-      -13.f,
-      29.f,
-      -9.f,
-      38.f,
-      -0.f, //  28 ..  47
-      42.f,
-      -9.f,
-      54.f,
-      -9.f,
-      64.f,
-      -9.f,
-      70.f,
-      -13.f,
-      73.f,
-      -13.f,
       0.f,
-      -0.f,
-      59.f,
-      -10.f,
-      50.f,
-      -13.f,
-      46.f,
-      -10.f,
-      36.f,
-      -10.f,
-      32.f,
-      -0.f, //  48 ..  58
-      23.f,
-      -10.f,
-      19.f,
-      -10.f,
-      10.f,
-      -13.f,
       0.f,
-      -10.f,
+      false,
+      false};
+  struct LineRun line03 =
+    {
+      {22u, 6u},
+      {22u, 6u},
+      35.f,
+      15.f,
+      -5.f,
       0.f,
-      -0.f, //  59 ..  63
-      63.f,
-      -10.f,
-      54.f,
-      -13.f,
-      50.f,
-      -10.f,
-      41.f,
-      -10.f,
-      36.f,
-      -0.f,
-      27.f,
-      -10.f,
-      23.f,
-      -10.f,
-      14.f,
-      -13.f,
-      4.f,
-      -10.f,
       0.f,
-      -0.f, //  64 ..  73
-      4.f,
-      -13.f,
-      12.f,
-      -9.f,
-      22.f,
-      -13.f,
-      26.f,
-      -13.f,
-      29.f,
-      -9.f,
-      38.f,
-      -0.f,
-      42.f,
-      -9.f,
-      54.f,
-      -9.f,
-      64.f,
-      -9.f,
-      70.f,
-      -13.f,
-      73.f,
-      -13.f,
-      0.f,
-      -0.f, //  74 ..  85
-      4.f,
-      -13.f,
-      13.f,
-      -9.f,
-      23.f,
-      -9.f,
-      36.f,
-      -9.f,
-      0.f,
-      -2.f,
-      0.f,
-      -12.f, //  86 ..  91
-      0.f,
-      -13.f,
-      8.f,
-      -9.f,
-      18.f,
-      -13.f,
-      22.f,
-      -13.f,
-      25.f,
-      -9.f,
-      34.f,
-      -0.f,
-      38.f,
-      -9.f,
-      50.f,
-      -9.f,
-      60.f,
-      -9.f,
-      66.f,
-      -13.f,
-      69.f,
-      -13.f,
-      79.f,
-      -0.f, //  92 .. 103
-      92.f,
-      -8.f,
-      86.f,
-      -6.f,
-      79.f,
-      -8.f,
-      75.f,
-      -7.f,
-      73.f,
-      -11.f,
-      68.f,
-      -0.f,
-      64.f,
-      -7.f,
-      62.f,
-      -11.f,
-      57.f,
-      -11.f,
-      50.f,
-      -8.f,
-      49.f,
-      -11.f,
-      43.f,
-      -11.f,
-      38.f,
-      -8.f,
-      34.f,
-      -0.f,
-      23.f,
-      -10.f,
-      14.f,
-      -13.f,
-      10.f,
-      -10.f,
-      0.f,
-      -10.f,
-      99.f,
-      -0.f, // 104 .. 122
-      23.f,
-      -10.f,
-      19.f,
-      -10.f,
-      10.f,
-      -13.f,
-      0.f,
-      -10.f,
-      32.f,
-      -0.f, // 123 .. 127
-      0.f,
-      -12.f,
-      10.f,
-      -9.f,
-      20.f,
-      -13.f,
-      24.f,
-      -13.f,
-      27.f,
-      -9.f,
-      36.f,
-      -0.f,
-      40.f,
-      -9.f,
-      52.f,
-      -9.f,
-      62.f,
-      -9.f,
-      69.f,
-      -13.f,
-      72.f,
-      -13.f,
-      81.f,
-      -0.f, // 128 .. 139
-      0.f,
-      -13.f,
-      9.f,
-      -9.f,
-      19.f,
-      -9.f,
-      32.f,
-      -9.f,
-      41.f,
-      -0.f,
-      68.f,
-      -10.f,
-      59.f,
-      -13.f,
-      54.f,
-      -10.f,
-      45.f,
-      -10.f,
-      79.f,
-      -0.f, // 140 .. 149
-      23.f,
-      -10.f,
-      19.f,
-      -10.f,
-      10.f,
-      -13.f,
-      0.f,
-      -10.f,
-      32.f,
-      -2.f,
-      36.f,
-      -12.f, // 150 .. 155
-      63.f,
-      -10.f,
-      54.f,
-      -13.f,
-      50.f,
-      -10.f,
-      41.f,
-      -10.f,
-      36.f,
-      -0.f,
-      27.f,
-      -10.f,
-      23.f,
-      -10.f,
-      14.f,
-      -13.f,
-      4.f,
-      -10.f,
-      0.f,
-      -0.f, // 156 .. 165
-      4.f,
-      -13.f,
-      12.f,
-      -9.f,
-      22.f,
-      -13.f,
-      26.f,
-      -13.f,
-      29.f,
-      -9.f,
-      38.f,
-      -0.f,
-      42.f,
-      -9.f,
-      54.f,
-      -9.f,
-      64.f,
-      -9.f,
-      70.f,
-      -13.f,
-      73.f,
-      -13.f,
-      0.f,
-      -0.f, // 166 .. 177
-      54.f,
-      -8.f,
-      49.f,
-      -6.f,
-      41.f,
-      -8.f,
-      37.f,
-      -7.f,
-      35.f,
-      -11.f,
-      31.f,
-      -0.f,
-      26.f,
-      -7.f,
-      24.f,
-      -11.f,
-      19.f,
-      -11.f,
-      12.f,
-      -8.f,
-      11.f,
-      -11.f,
-      5.f,
-      -11.f,
-      0.f,
-      -8.f,
-      0.f,
-      -0.f, // 178 .. 191
-    };
-
-  struct LineRun line01 =
-    {
-      {0u, 12u},
-      {0u, 12u},
-      81.f,
-      15.f,
-      -5.f,
-      4.f,
-      0.f,
-      0.f,
-      false,
-      false};
-  struct LineRun line02 =
-    {
-      {12u, 10u},
-      {12u, 10u},
-      79.f,
-      15.f,
-      -5.f,
-      5.f,
-      0.f,
-      0.f,
-      false,
-      false};
-  struct LineRun line03 =
-    {
-      {22u, 6u},
-      {22u, 6u},
-      35.f,
-      15.f,
-      -5.f,
-      0.f,
-      0.f,
-      0.f,
-      false,
-      false};
-  struct LineRun line04 =
-    {
-      {28u, 14u},
-      {28u, 14u},
-      63.f,
-      15.f,
-      -5.f,
+      0.f,
+      false,
+      false};
+  struct LineRun line04 =
+    {
+      {28u, 20u},
+      {28u, 20u},
+      99.f,
+      15.f,
+      -5.f,
       4.f,
       0.f,
       0.f,
@@ -2279,9 +1777,9 @@ int UtcDaliTextUpdateLayout01(void)
       false};
   struct LineRun line05 =
     {
-      {42, 12u},
-      {42, 12u},
-      79.f,
+      {48, 11u},
+      {48, 11u},
+      78.f,
       15.f,
       -5.f,
       4.f,
@@ -2291,15 +1789,15 @@ int UtcDaliTextUpdateLayout01(void)
       false};
   struct LineRun line06 =
     {
-      {54u, 10u},
-      {54u, 10u},
-      70.f,
+      {59u, 5u},
+      {59u, 5u},
+      32.f,
       15.f,
       -5.f,
       0.f,
       0.f,
       0.f,
-      false,
+      true,
       false};
   struct LineRun line07 =
     {
@@ -2308,7 +1806,7 @@ int UtcDaliTextUpdateLayout01(void)
       70.f,
       15.f,
       -5.f,
-      5.f,
+      4.f,
       0.f,
       0.f,
       true,
@@ -2317,7 +1815,7 @@ int UtcDaliTextUpdateLayout01(void)
     {
       {74u, 12u},
       {74u, 12u},
-      79.f,
+      77.f,
       15.f,
       -5.f,
       4.f,
@@ -2329,7 +1827,7 @@ int UtcDaliTextUpdateLayout01(void)
     {
       {86u, 6u},
       {86u, 6u},
-      45.f,
+      44.f,
       15.f,
       -5.f,
       0.f,
@@ -2341,7 +1839,7 @@ int UtcDaliTextUpdateLayout01(void)
     {
       {92u, 12u},
       {92u, 12u},
-      79.f,
+      77.f,
       15.f,
       -5.f,
       4.f,
@@ -2353,10 +1851,10 @@ int UtcDaliTextUpdateLayout01(void)
     {
       {104u, 19u},
       {104u, 19u},
-      100.f,
+      98.f,
       15.f,
       -5.f,
-      5.f,
+      4.f,
       0.f,
       0.f,
       false,
@@ -2377,7 +1875,7 @@ int UtcDaliTextUpdateLayout01(void)
     {
       {128u, 12u},
       {128u, 12u},
-      81.f,
+      79.f,
       15.f,
       -5.f,
       4.f,
@@ -2389,10 +1887,10 @@ int UtcDaliTextUpdateLayout01(void)
     {
       {140u, 10u},
       {140u, 10u},
-      79.f,
+      78.f,
       15.f,
       -5.f,
-      5.f,
+      4.f,
       0.f,
       0.f,
       false,
@@ -2416,7 +1914,7 @@ int UtcDaliTextUpdateLayout01(void)
       70.f,
       15.f,
       -5.f,
-      5.f,
+      4.f,
       0.f,
       0.f,
       true,
@@ -2425,7 +1923,7 @@ int UtcDaliTextUpdateLayout01(void)
     {
       {166u, 12u},
       {166u, 12u},
-      79.f,
+      77.f,
       15.f,
       -5.f,
       4.f,
@@ -2437,7 +1935,7 @@ int UtcDaliTextUpdateLayout01(void)
     {
       {178u, 14u},
       {178u, 14u},
-      63.f,
+      62.f,
       15.f,
       -5.f,
       0.f,
@@ -2762,377 +2260,16 @@ int UtcDaliTextUpdateLayout02(void)
   fontDescriptionRuns.PushBack(fontDescriptionRun16);
   fontDescriptionRuns.PushBack(fontDescriptionRun17);
   Size  textArea(100.f, 300.f);
-  Size  layoutSize(100.f, 380.f);
+  Size  layoutSize(99.f, 380.f);
   float positions[] =
     {
-      0.f, -12.f, 10.f, -9.f, 20.f, -13.f, 24.f, -13.f, 27.f, -9.f, 36.f, -0.f, 40.f, -9.f, 52.f, -9.f, 62.f, -9.f, 69.f, -13.f, 72.f, -13.f, 81.f, -0.f, //   0 ..  11
-      0.f,
-      -13.f,
-      9.f,
-      -9.f,
-      19.f,
-      -9.f,
-      32.f,
-      -9.f,
-      41.f,
-      -0.f,
-      68.f,
-      -10.f,
-      59.f,
-      -13.f,
-      54.f,
-      -10.f,
-      45.f,
-      -10.f,
+      0.f, -12.f, 10.f, -9.f, 19.f, -13.f, 23.f, -13.f, 26.f, -9.f, 35.f, -0.f, 39.f, -9.f, 51.f, -9.f, 61.f, -9.f, 67.f, -13.f, 70.f, -13.f, 79.f, -0.f, 0.f, -13.f, 9.f, -9.f, 18.f, -9.f, 31.f, -9.f, 40.f, -0.f, 67.f, -10.f, 58.f, -13.f, 54.f, -10.f, 44.f, -10.f, 78.f, -0.f, 23.f, -10.f, 19.f, -10.f, 10.f, -13.f, 0.f, -10.f, 32.f, -2.f, 36.f, -12.f, 94.f, -8.f, 89.f, -6.f, 81.f, -8.f, 77.f, -7.f, 76.f, -11.f, 71.f, -0.f, 66.f, -7.f, 65.f, -11.f, 59.f, -11.f, 53.f, -8.f, 52.f, -11.f, 46.f, -11.f, 41.f, -8.f, 37.f, -0.f, 4.f, -13.f, 12.f, -9.f, 21.f, -13.f, 25.f, -13.f, 28.f, -9.f, 0.f, -0.f, 42.f, -9.f, 54.f, -9.f, 64.f, -9.f, 70.f, -13.f, 73.f, -13.f, 38.f, -0.f, 27.f, -10.f, 18.f, -13.f, 14.f, -10.f, 4.f, -10.f, 0.f, -0.f, 23.f, -10.f, 19.f, -10.f, 10.f, -13.f, 0.f, -10.f, 0.f, -0.f, 63.f, -10.f, 54.f, -13.f, 50.f, -10.f, 40.f, -10.f, 36.f, -0.f, 27.f, -10.f, 23.f, -10.f, 14.f, -13.f, 4.f, -10.f, 0.f, -0.f, 4.f, -13.f, 12.f, -9.f, 21.f, -13.f, 25.f, -13.f, 28.f, -9.f, 37.f, -0.f, 41.f, -9.f, 53.f, -9.f, 63.f, -9.f, 69.f, -13.f, 72.f, -13.f, 0.f, -0.f, 4.f, -13.f, 13.f, -9.f, 22.f, -9.f, 35.f, -9.f, 0.f, -2.f, 0.f, -12.f, 0.f, -13.f, 8.f, -9.f, 17.f, -13.f, 21.f, -13.f, 24.f, -9.f, 33.f, -0.f, 37.f, -9.f, 49.f, -9.f, 59.f, -9.f, 65.f, -13.f, 68.f, -13.f, 77.f, -0.f, 91.f, -8.f, 86.f, -6.f, 78.f, -8.f, 74.f, -7.f, 73.f, -11.f, 68.f, -0.f, 63.f, -7.f, 62.f, -11.f, 56.f, -11.f, 50.f, -8.f, 49.f, -11.f, 43.f, -11.f, 38.f, -8.f, 34.f, -0.f, 23.f, -10.f, 14.f, -13.f, 10.f, -10.f, 0.f, -10.f, 98.f, -0.f, 23.f, -10.f, 19.f, -10.f, 10.f, -13.f, 0.f, -10.f, 32.f, -0.f, 0.f, -12.f, 10.f, -9.f, 19.f, -13.f, 23.f, -13.f, 26.f, -9.f, 35.f, -0.f, 39.f, -9.f, 51.f, -9.f, 61.f, -9.f, 67.f, -13.f, 70.f, -13.f, 79.f, -0.f, 0.f, -13.f, 9.f, -9.f, 18.f, -9.f, 31.f, -9.f, 40.f, -0.f, 67.f, -10.f, 58.f, -13.f, 54.f, -10.f, 44.f, -10.f, 78.f, -0.f, 23.f, -10.f, 19.f, -10.f, 10.f, -13.f, 0.f, -10.f, 32.f, -2.f, 36.f, -12.f, 63.f, -10.f, 54.f, -13.f, 50.f, -10.f, 40.f, -10.f, 36.f, -0.f, 27.f, -10.f, 23.f, -10.f, 14.f, -13.f, 4.f, -10.f, 0.f, -0.f, 4.f, -13.f, 12.f, -9.f, 21.f, -13.f, 25.f, -13.f, 28.f, -9.f, 37.f, -0.f, 41.f, -9.f, 53.f, -9.f, 63.f, -9.f, 69.f, -13.f, 72.f, -13.f, 0.f, -0.f, 53.f, -8.f, 48.f, -6.f, 40.f, -8.f, 36.f, -7.f, 35.f, -11.f, 30.f, -0.f, 25.f, -7.f, 24.f, -11.f, 18.f, -11.f, 12.f, -8.f, 11.f, -11.f, 5.f, -11.f, 0.f, -8.f, 0.f, -0.f
+    };
+  struct LineRun line01 =
+    {
+      {0u, 12u},
+      {0u, 12u},
       79.f,
-      -0.f, //  12 ..  21
-      23.f,
-      -10.f,
-      19.f,
-      -10.f,
-      10.f,
-      -13.f,
-      0.f,
-      -10.f,
-      32.f,
-      -2.f,
-      36.f,
-      -12.f, //  22 ..  27
-      58.f,
-      -8.f,
-      52.f,
-      -6.f,
-      45.f,
-      -8.f,
-      41.f,
-      -7.f,
-      39.f,
-      -11.f,
-      34.f,
-      -0.f,
-      30.f,
-      -7.f,
-      28.f,
-      -11.f,
-      23.f,
-      -11.f,
-      16.f,
-      -8.f,
-      15.f,
-      -11.f,
-      9.f,
-      -11.f,
-      4.f,
-      -8.f,
-      0.f,
-      -0.f,
-      4.f,
-      -13.f,
-      12.f,
-      -9.f,
-      22.f,
-      -13.f,
-      26.f,
-      -13.f,
-      29.f,
-      -9.f,
-      38.f,
-      -0.f, //  28 ..  47
-      42.f,
-      -9.f,
-      54.f,
-      -9.f,
-      64.f,
-      -9.f,
-      70.f,
-      -13.f,
-      73.f,
-      -13.f,
-      0.f,
-      -0.f,
-      59.f,
-      -10.f,
-      50.f,
-      -13.f,
-      46.f,
-      -10.f,
-      36.f,
-      -10.f,
-      32.f,
-      -0.f, //  48 ..  58
-      23.f,
-      -10.f,
-      19.f,
-      -10.f,
-      10.f,
-      -13.f,
-      0.f,
-      -10.f,
-      0.f,
-      -0.f, //  59 ..  63
-      63.f,
-      -10.f,
-      54.f,
-      -13.f,
-      50.f,
-      -10.f,
-      41.f,
-      -10.f,
-      36.f,
-      -0.f,
-      27.f,
-      -10.f,
-      23.f,
-      -10.f,
-      14.f,
-      -13.f,
-      4.f,
-      -10.f,
-      0.f,
-      -0.f, //  64 ..  73
-      4.f,
-      -13.f,
-      12.f,
-      -9.f,
-      22.f,
-      -13.f,
-      26.f,
-      -13.f,
-      29.f,
-      -9.f,
-      38.f,
-      -0.f,
-      42.f,
-      -9.f,
-      54.f,
-      -9.f,
-      64.f,
-      -9.f,
-      70.f,
-      -13.f,
-      73.f,
-      -13.f,
-      0.f,
-      -0.f, //  74 ..  85
-      4.f,
-      -13.f,
-      13.f,
-      -9.f,
-      23.f,
-      -9.f,
-      36.f,
-      -9.f,
-      0.f,
-      -2.f,
-      0.f,
-      -12.f, //  86 ..  91
-      0.f,
-      -13.f,
-      8.f,
-      -9.f,
-      18.f,
-      -13.f,
-      22.f,
-      -13.f,
-      25.f,
-      -9.f,
-      34.f,
-      -0.f,
-      38.f,
-      -9.f,
-      50.f,
-      -9.f,
-      60.f,
-      -9.f,
-      66.f,
-      -13.f,
-      69.f,
-      -13.f,
-      79.f,
-      -0.f, //  92 .. 103
-      92.f,
-      -8.f,
-      86.f,
-      -6.f,
-      79.f,
-      -8.f,
-      75.f,
-      -7.f,
-      73.f,
-      -11.f,
-      68.f,
-      -0.f,
-      64.f,
-      -7.f,
-      62.f,
-      -11.f,
-      57.f,
-      -11.f,
-      50.f,
-      -8.f,
-      49.f,
-      -11.f,
-      43.f,
-      -11.f,
-      38.f,
-      -8.f,
-      34.f,
-      -0.f,
-      23.f,
-      -10.f,
-      14.f,
-      -13.f,
-      10.f,
-      -10.f,
-      0.f,
-      -10.f,
-      99.f,
-      -0.f, // 104 .. 122
-      23.f,
-      -10.f,
-      19.f,
-      -10.f,
-      10.f,
-      -13.f,
-      0.f,
-      -10.f,
-      32.f,
-      -0.f, // 123 .. 127
-      0.f,
-      -12.f,
-      10.f,
-      -9.f,
-      20.f,
-      -13.f,
-      24.f,
-      -13.f,
-      27.f,
-      -9.f,
-      36.f,
-      -0.f,
-      40.f,
-      -9.f,
-      52.f,
-      -9.f,
-      62.f,
-      -9.f,
-      69.f,
-      -13.f,
-      72.f,
-      -13.f,
-      81.f,
-      -0.f, // 128 .. 139
-      0.f,
-      -13.f,
-      9.f,
-      -9.f,
-      19.f,
-      -9.f,
-      32.f,
-      -9.f,
-      41.f,
-      -0.f,
-      68.f,
-      -10.f,
-      59.f,
-      -13.f,
-      54.f,
-      -10.f,
-      45.f,
-      -10.f,
-      79.f,
-      -0.f, // 140 .. 149
-      23.f,
-      -10.f,
-      19.f,
-      -10.f,
-      10.f,
-      -13.f,
-      0.f,
-      -10.f,
-      32.f,
-      -2.f,
-      36.f,
-      -12.f, // 150 .. 155
-      63.f,
-      -10.f,
-      54.f,
-      -13.f,
-      50.f,
-      -10.f,
-      41.f,
-      -10.f,
-      36.f,
-      -0.f,
-      27.f,
-      -10.f,
-      23.f,
-      -10.f,
-      14.f,
-      -13.f,
-      4.f,
-      -10.f,
-      0.f,
-      -0.f, // 156 .. 165
-      4.f,
-      -13.f,
-      12.f,
-      -9.f,
-      22.f,
-      -13.f,
-      26.f,
-      -13.f,
-      29.f,
-      -9.f,
-      38.f,
-      -0.f,
-      42.f,
-      -9.f,
-      54.f,
-      -9.f,
-      64.f,
-      -9.f,
-      70.f,
-      -13.f,
-      73.f,
-      -13.f,
-      0.f,
-      -0.f, // 166 .. 177
-      54.f,
-      -8.f,
-      49.f,
-      -6.f,
-      41.f,
-      -8.f,
-      37.f,
-      -7.f,
-      35.f,
-      -11.f,
-      31.f,
-      -0.f,
-      26.f,
-      -7.f,
-      24.f,
-      -11.f,
-      19.f,
-      -11.f,
-      12.f,
-      -8.f,
-      11.f,
-      -11.f,
-      5.f,
-      -11.f,
-      0.f,
-      -8.f,
-      0.f,
-      -0.f, // 178 .. 191
-    };
-
-  struct LineRun line01 =
-    {
-      {0u, 12u},
-      {0u, 12u},
-      81.f,
       15.f,
       -5.f,
       4.f,
@@ -3144,10 +2281,10 @@ int UtcDaliTextUpdateLayout02(void)
     {
       {12u, 10u},
       {12u, 10u},
-      79.f,
+      78.f,
       15.f,
       -5.f,
-      5.f,
+      4.f,
       0.f,
       0.f,
       false,
@@ -3166,9 +2303,9 @@ int UtcDaliTextUpdateLayout02(void)
       false};
   struct LineRun line04 =
     {
-      {28u, 14u},
-      {28u, 14u},
-      63.f,
+      {28u, 20u},
+      {28u, 20u},
+      99.f,
       15.f,
       -5.f,
       4.f,
@@ -3178,27 +2315,27 @@ int UtcDaliTextUpdateLayout02(void)
       false};
   struct LineRun line05 =
     {
-      {42u, 12u},
-      {42u, 12u},
-      79.f,
+      {48u, 11u},
+      {48u, 11u},
+      78.f,
       15.f,
       -5.f,
       4.f,
       0.f,
       0.f,
-      false,
+      true,
       false};
   struct LineRun line06 =
     {
-      {54u, 10u},
-      {54u, 10u},
-      70.f,
+      {59u, 5u},
+      {59u, 5u},
+      32.f,
       15.f,
       -5.f,
       0.f,
       0.f,
       0.f,
-      false,
+      true,
       false};
   struct LineRun line07 =
     {
@@ -3207,40 +2344,40 @@ int UtcDaliTextUpdateLayout02(void)
       70.f,
       15.f,
       -5.f,
-      5.f,
+      4.f,
       0.f,
       0.f,
-      false,
+      true,
       false};
   struct LineRun line08 =
     {
       {74u, 12u},
       {74u, 12u},
-      79.f,
+      77.f,
       15.f,
       -5.f,
       4.f,
-      1.f,
       0.f,
-      false,
+      0.f,
+      true,
       false};
   struct LineRun line09 =
     {
       {86u, 6u},
       {86u, 6u},
-      45.f,
+      44.f,
       15.f,
       -5.f,
       0.f,
       0.f,
       0.f,
-      false,
+      true,
       false};
   struct LineRun line10 =
     {
       {92u, 12u},
       {92u, 12u},
-      79.f,
+      77.f,
       15.f,
       -5.f,
       4.f,
@@ -3252,10 +2389,10 @@ int UtcDaliTextUpdateLayout02(void)
     {
       {104u, 19u},
       {104u, 19u},
-      100.f,
+      98.f,
       15.f,
       -5.f,
-      5.f,
+      4.f,
       0.f,
       0.f,
       false,
@@ -3276,7 +2413,7 @@ int UtcDaliTextUpdateLayout02(void)
     {
       {128u, 12u},
       {128u, 12u},
-      81.f,
+      79.f,
       15.f,
       -5.f,
       4.f,
@@ -3288,10 +2425,10 @@ int UtcDaliTextUpdateLayout02(void)
     {
       {140u, 10u},
       {140u, 10u},
-      79.f,
+      78.f,
       15.f,
       -5.f,
-      5.f,
+      4.f,
       0.f,
       0.f,
       false,
@@ -3315,7 +2452,7 @@ int UtcDaliTextUpdateLayout02(void)
       70.f,
       15.f,
       -5.f,
-      5.f,
+      4.f,
       0.f,
       0.f,
       false,
@@ -3324,25 +2461,25 @@ int UtcDaliTextUpdateLayout02(void)
     {
       {166u, 12u},
       {166u, 12u},
-      79.f,
+      77.f,
       15.f,
       -5.f,
       4.f,
       0.f,
       0.f,
-      false,
+      true,
       false};
   struct LineRun line18 =
     {
       {178u, 14u},
       {178u, 14u},
-      63.f,
+      62.f,
       15.f,
       -5.f,
       0.f,
       0.f,
       0.f,
-      false,
+      true,
       false};
   struct LineRun line19 =
     {
@@ -3582,456 +2719,96 @@ int UtcDaliTextUpdateLayout03(void)
   fontDescriptionRun13.characterRun.characterIndex     = 145u;
   fontDescriptionRun13.characterRun.numberOfCharacters = 9u;
   fontDescriptionRun13.familyLength                    = fontHebrew.size();
-  fontDescriptionRun13.familyName                      = new char[fontDescriptionRun13.familyLength];
-  memcpy(fontDescriptionRun13.familyName, fontHebrew.c_str(), fontDescriptionRun13.familyLength);
-  fontDescriptionRun13.familyDefined = true;
-  fontDescriptionRun13.weightDefined = false;
-  fontDescriptionRun13.widthDefined  = false;
-  fontDescriptionRun13.slantDefined  = false;
-  fontDescriptionRun13.sizeDefined   = false;
-
-  // Set a known font description
-  FontDescriptionRun fontDescriptionRun14;
-  fontDescriptionRun14.characterRun.characterIndex     = 154u;
-  fontDescriptionRun14.characterRun.numberOfCharacters = 2u;
-  fontDescriptionRun14.familyLength                    = fontLatin.size();
-  fontDescriptionRun14.familyName                      = new char[fontDescriptionRun14.familyLength];
-  memcpy(fontDescriptionRun14.familyName, fontLatin.c_str(), fontDescriptionRun14.familyLength);
-  fontDescriptionRun14.familyDefined = true;
-  fontDescriptionRun14.weightDefined = false;
-  fontDescriptionRun14.widthDefined  = false;
-  fontDescriptionRun14.slantDefined  = false;
-  fontDescriptionRun14.sizeDefined   = false;
-
-  // Set a known font description
-  FontDescriptionRun fontDescriptionRun15;
-  fontDescriptionRun15.characterRun.characterIndex     = 156u;
-  fontDescriptionRun15.characterRun.numberOfCharacters = 10u;
-  fontDescriptionRun15.familyLength                    = fontHebrew.size();
-  fontDescriptionRun15.familyName                      = new char[fontDescriptionRun15.familyLength];
-  memcpy(fontDescriptionRun15.familyName, fontHebrew.c_str(), fontDescriptionRun15.familyLength);
-  fontDescriptionRun15.familyDefined = true;
-  fontDescriptionRun15.weightDefined = false;
-  fontDescriptionRun15.widthDefined  = false;
-  fontDescriptionRun15.slantDefined  = false;
-  fontDescriptionRun15.sizeDefined   = false;
-
-  // Set a known font description
-  FontDescriptionRun fontDescriptionRun16;
-  fontDescriptionRun16.characterRun.characterIndex     = 166u;
-  fontDescriptionRun16.characterRun.numberOfCharacters = 12u;
-  fontDescriptionRun16.familyLength                    = fontLatin.size();
-  fontDescriptionRun16.familyName                      = new char[fontDescriptionRun16.familyLength];
-  memcpy(fontDescriptionRun16.familyName, fontLatin.c_str(), fontDescriptionRun16.familyLength);
-  fontDescriptionRun16.familyDefined = true;
-  fontDescriptionRun16.weightDefined = false;
-  fontDescriptionRun16.widthDefined  = false;
-  fontDescriptionRun16.slantDefined  = false;
-  fontDescriptionRun16.sizeDefined   = false;
-
-  // Set a known font description
-  FontDescriptionRun fontDescriptionRun17;
-  fontDescriptionRun17.characterRun.characterIndex     = 178u;
-  fontDescriptionRun17.characterRun.numberOfCharacters = 14u;
-  fontDescriptionRun17.familyLength                    = fontArabic.size();
-  fontDescriptionRun17.familyName                      = new char[fontDescriptionRun17.familyLength];
-  memcpy(fontDescriptionRun17.familyName, fontArabic.c_str(), fontDescriptionRun17.familyLength);
-  fontDescriptionRun17.familyDefined = true;
-  fontDescriptionRun17.weightDefined = false;
-  fontDescriptionRun17.widthDefined  = false;
-  fontDescriptionRun17.slantDefined  = false;
-  fontDescriptionRun17.sizeDefined   = false;
-
-  Vector<FontDescriptionRun> fontDescriptionRuns;
-  fontDescriptionRuns.PushBack(fontDescriptionRun01);
-  fontDescriptionRuns.PushBack(fontDescriptionRun02);
-  fontDescriptionRuns.PushBack(fontDescriptionRun03);
-  fontDescriptionRuns.PushBack(fontDescriptionRun04);
-  fontDescriptionRuns.PushBack(fontDescriptionRun05);
-  fontDescriptionRuns.PushBack(fontDescriptionRun06);
-  fontDescriptionRuns.PushBack(fontDescriptionRun07);
-  fontDescriptionRuns.PushBack(fontDescriptionRun08);
-  fontDescriptionRuns.PushBack(fontDescriptionRun09);
-  fontDescriptionRuns.PushBack(fontDescriptionRun10);
-  fontDescriptionRuns.PushBack(fontDescriptionRun11);
-  fontDescriptionRuns.PushBack(fontDescriptionRun12);
-  fontDescriptionRuns.PushBack(fontDescriptionRun13);
-  fontDescriptionRuns.PushBack(fontDescriptionRun14);
-  fontDescriptionRuns.PushBack(fontDescriptionRun15);
-  fontDescriptionRuns.PushBack(fontDescriptionRun16);
-  fontDescriptionRuns.PushBack(fontDescriptionRun17);
-  Size  textArea(100.f, 300.f);
-  Size  layoutSize(100.f, 380.f);
-  float positions[] =
-    {
-      0.f, -12.f, 10.f, -9.f, 20.f, -13.f, 24.f, -13.f, 27.f, -9.f, 36.f, -0.f, 40.f, -9.f, 52.f, -9.f, 62.f, -9.f, 69.f, -13.f, 72.f, -13.f, 81.f, -0.f, //   0 ..  11
-      0.f,
-      -13.f,
-      9.f,
-      -9.f,
-      19.f,
-      -9.f,
-      32.f,
-      -9.f,
-      41.f,
-      -0.f,
-      68.f,
-      -10.f,
-      59.f,
-      -13.f,
-      54.f,
-      -10.f,
-      45.f,
-      -10.f,
-      79.f,
-      -0.f, //  12 ..  21
-      23.f,
-      -10.f,
-      19.f,
-      -10.f,
-      10.f,
-      -13.f,
-      0.f,
-      -10.f,
-      32.f,
-      -2.f,
-      36.f,
-      -12.f, //  22 ..  27
-      58.f,
-      -8.f,
-      52.f,
-      -6.f,
-      45.f,
-      -8.f,
-      41.f,
-      -7.f,
-      39.f,
-      -11.f,
-      34.f,
-      -0.f,
-      30.f,
-      -7.f,
-      28.f,
-      -11.f,
-      23.f,
-      -11.f,
-      16.f,
-      -8.f,
-      15.f,
-      -11.f,
-      9.f,
-      -11.f,
-      4.f,
-      -8.f,
-      0.f,
-      -0.f,
-      4.f,
-      -13.f,
-      12.f,
-      -9.f,
-      22.f,
-      -13.f,
-      26.f,
-      -13.f,
-      29.f,
-      -9.f,
-      38.f,
-      -0.f, //  28 ..  47
-      42.f,
-      -9.f,
-      54.f,
-      -9.f,
-      64.f,
-      -9.f,
-      70.f,
-      -13.f,
-      73.f,
-      -13.f,
-      0.f,
-      -0.f,
-      59.f,
-      -10.f,
-      50.f,
-      -13.f,
-      46.f,
-      -10.f,
-      36.f,
-      -10.f,
-      32.f,
-      -0.f, //  48 ..  58
-      23.f,
-      -10.f,
-      19.f,
-      -10.f,
-      10.f,
-      -13.f,
-      0.f,
-      -10.f,
-      0.f,
-      -0.f, //  59 ..  63
-      63.f,
-      -10.f,
-      54.f,
-      -13.f,
-      50.f,
-      -10.f,
-      41.f,
-      -10.f,
-      36.f,
-      -0.f,
-      27.f,
-      -10.f,
-      23.f,
-      -10.f,
-      14.f,
-      -13.f,
-      4.f,
-      -10.f,
-      0.f,
-      -0.f, //  64 ..  73
-      4.f,
-      -13.f,
-      12.f,
-      -9.f,
-      22.f,
-      -13.f,
-      26.f,
-      -13.f,
-      29.f,
-      -9.f,
-      38.f,
-      -0.f,
-      42.f,
-      -9.f,
-      54.f,
-      -9.f,
-      64.f,
-      -9.f,
-      70.f,
-      -13.f,
-      73.f,
-      -13.f,
-      0.f,
-      -0.f, //  74 ..  85
-      4.f,
-      -13.f,
-      13.f,
-      -9.f,
-      23.f,
-      -9.f,
-      36.f,
-      -9.f,
-      0.f,
-      -2.f,
-      0.f,
-      -12.f, //  86 ..  91
-      0.f,
-      -13.f,
-      8.f,
-      -9.f,
-      18.f,
-      -13.f,
-      22.f,
-      -13.f,
-      25.f,
-      -9.f,
-      34.f,
-      -0.f,
-      38.f,
-      -9.f,
-      50.f,
-      -9.f,
-      60.f,
-      -9.f,
-      66.f,
-      -13.f,
-      69.f,
-      -13.f,
-      79.f,
-      -0.f, //  92 .. 103
-      92.f,
-      -8.f,
-      86.f,
-      -6.f,
-      79.f,
-      -8.f,
-      75.f,
-      -7.f,
-      73.f,
-      -11.f,
-      68.f,
-      -0.f,
-      64.f,
-      -7.f,
-      62.f,
-      -11.f,
-      57.f,
-      -11.f,
-      50.f,
-      -8.f,
-      49.f,
-      -11.f,
-      43.f,
-      -11.f,
-      38.f,
-      -8.f,
-      34.f,
-      -0.f,
-      23.f,
-      -10.f,
-      14.f,
-      -13.f,
-      10.f,
-      -10.f,
-      0.f,
-      -10.f,
-      99.f,
-      -0.f, // 104 .. 122
-      23.f,
-      -10.f,
-      19.f,
-      -10.f,
-      10.f,
-      -13.f,
-      0.f,
-      -10.f,
-      32.f,
-      -0.f, // 123 .. 127
-      0.f,
-      -12.f,
-      10.f,
-      -9.f,
-      20.f,
-      -13.f,
-      24.f,
-      -13.f,
-      27.f,
-      -9.f,
-      36.f,
-      -0.f,
-      40.f,
-      -9.f,
-      52.f,
-      -9.f,
-      62.f,
-      -9.f,
-      69.f,
-      -13.f,
-      72.f,
-      -13.f,
-      81.f,
-      -0.f, // 128 .. 139
-      0.f,
-      -13.f,
-      9.f,
-      -9.f,
-      19.f,
-      -9.f,
-      32.f,
-      -9.f,
-      41.f,
-      -0.f,
-      68.f,
-      -10.f,
-      59.f,
-      -13.f,
-      54.f,
-      -10.f,
-      45.f,
-      -10.f,
-      79.f,
-      -0.f, // 140 .. 149
-      23.f,
-      -10.f,
-      19.f,
-      -10.f,
-      10.f,
-      -13.f,
-      0.f,
-      -10.f,
-      32.f,
-      -2.f,
-      36.f,
-      -12.f, // 150 .. 155
-      63.f,
-      -10.f,
-      54.f,
-      -13.f,
-      50.f,
-      -10.f,
-      41.f,
-      -10.f,
-      36.f,
-      -0.f,
-      27.f,
-      -10.f,
-      23.f,
-      -10.f,
-      14.f,
-      -13.f,
-      4.f,
-      -10.f,
-      0.f,
-      -0.f, // 156 .. 165
-      4.f,
-      -13.f,
-      12.f,
-      -9.f,
-      22.f,
-      -13.f,
-      26.f,
-      -13.f,
-      29.f,
-      -9.f,
-      38.f,
-      -0.f,
-      42.f,
-      -9.f,
-      54.f,
-      -9.f,
-      64.f,
-      -9.f,
-      70.f,
-      -13.f,
-      73.f,
-      -13.f,
-      0.f,
-      -0.f, // 166 .. 177
-      54.f,
-      -8.f,
-      49.f,
-      -6.f,
-      41.f,
-      -8.f,
-      37.f,
-      -7.f,
-      35.f,
-      -11.f,
-      31.f,
-      -0.f,
-      26.f,
-      -7.f,
-      24.f,
-      -11.f,
-      19.f,
-      -11.f,
-      12.f,
-      -8.f,
-      11.f,
-      -11.f,
-      5.f,
-      -11.f,
-      0.f,
-      -8.f,
-      0.f,
-      -0.f, // 178 .. 191
+  fontDescriptionRun13.familyName                      = new char[fontDescriptionRun13.familyLength];
+  memcpy(fontDescriptionRun13.familyName, fontHebrew.c_str(), fontDescriptionRun13.familyLength);
+  fontDescriptionRun13.familyDefined = true;
+  fontDescriptionRun13.weightDefined = false;
+  fontDescriptionRun13.widthDefined  = false;
+  fontDescriptionRun13.slantDefined  = false;
+  fontDescriptionRun13.sizeDefined   = false;
+
+  // Set a known font description
+  FontDescriptionRun fontDescriptionRun14;
+  fontDescriptionRun14.characterRun.characterIndex     = 154u;
+  fontDescriptionRun14.characterRun.numberOfCharacters = 2u;
+  fontDescriptionRun14.familyLength                    = fontLatin.size();
+  fontDescriptionRun14.familyName                      = new char[fontDescriptionRun14.familyLength];
+  memcpy(fontDescriptionRun14.familyName, fontLatin.c_str(), fontDescriptionRun14.familyLength);
+  fontDescriptionRun14.familyDefined = true;
+  fontDescriptionRun14.weightDefined = false;
+  fontDescriptionRun14.widthDefined  = false;
+  fontDescriptionRun14.slantDefined  = false;
+  fontDescriptionRun14.sizeDefined   = false;
+
+  // Set a known font description
+  FontDescriptionRun fontDescriptionRun15;
+  fontDescriptionRun15.characterRun.characterIndex     = 156u;
+  fontDescriptionRun15.characterRun.numberOfCharacters = 10u;
+  fontDescriptionRun15.familyLength                    = fontHebrew.size();
+  fontDescriptionRun15.familyName                      = new char[fontDescriptionRun15.familyLength];
+  memcpy(fontDescriptionRun15.familyName, fontHebrew.c_str(), fontDescriptionRun15.familyLength);
+  fontDescriptionRun15.familyDefined = true;
+  fontDescriptionRun15.weightDefined = false;
+  fontDescriptionRun15.widthDefined  = false;
+  fontDescriptionRun15.slantDefined  = false;
+  fontDescriptionRun15.sizeDefined   = false;
+
+  // Set a known font description
+  FontDescriptionRun fontDescriptionRun16;
+  fontDescriptionRun16.characterRun.characterIndex     = 166u;
+  fontDescriptionRun16.characterRun.numberOfCharacters = 12u;
+  fontDescriptionRun16.familyLength                    = fontLatin.size();
+  fontDescriptionRun16.familyName                      = new char[fontDescriptionRun16.familyLength];
+  memcpy(fontDescriptionRun16.familyName, fontLatin.c_str(), fontDescriptionRun16.familyLength);
+  fontDescriptionRun16.familyDefined = true;
+  fontDescriptionRun16.weightDefined = false;
+  fontDescriptionRun16.widthDefined  = false;
+  fontDescriptionRun16.slantDefined  = false;
+  fontDescriptionRun16.sizeDefined   = false;
+
+  // Set a known font description
+  FontDescriptionRun fontDescriptionRun17;
+  fontDescriptionRun17.characterRun.characterIndex     = 178u;
+  fontDescriptionRun17.characterRun.numberOfCharacters = 14u;
+  fontDescriptionRun17.familyLength                    = fontArabic.size();
+  fontDescriptionRun17.familyName                      = new char[fontDescriptionRun17.familyLength];
+  memcpy(fontDescriptionRun17.familyName, fontArabic.c_str(), fontDescriptionRun17.familyLength);
+  fontDescriptionRun17.familyDefined = true;
+  fontDescriptionRun17.weightDefined = false;
+  fontDescriptionRun17.widthDefined  = false;
+  fontDescriptionRun17.slantDefined  = false;
+  fontDescriptionRun17.sizeDefined   = false;
+
+  Vector<FontDescriptionRun> fontDescriptionRuns;
+  fontDescriptionRuns.PushBack(fontDescriptionRun01);
+  fontDescriptionRuns.PushBack(fontDescriptionRun02);
+  fontDescriptionRuns.PushBack(fontDescriptionRun03);
+  fontDescriptionRuns.PushBack(fontDescriptionRun04);
+  fontDescriptionRuns.PushBack(fontDescriptionRun05);
+  fontDescriptionRuns.PushBack(fontDescriptionRun06);
+  fontDescriptionRuns.PushBack(fontDescriptionRun07);
+  fontDescriptionRuns.PushBack(fontDescriptionRun08);
+  fontDescriptionRuns.PushBack(fontDescriptionRun09);
+  fontDescriptionRuns.PushBack(fontDescriptionRun10);
+  fontDescriptionRuns.PushBack(fontDescriptionRun11);
+  fontDescriptionRuns.PushBack(fontDescriptionRun12);
+  fontDescriptionRuns.PushBack(fontDescriptionRun13);
+  fontDescriptionRuns.PushBack(fontDescriptionRun14);
+  fontDescriptionRuns.PushBack(fontDescriptionRun15);
+  fontDescriptionRuns.PushBack(fontDescriptionRun16);
+  fontDescriptionRuns.PushBack(fontDescriptionRun17);
+  Size  textArea(100.f, 300.f);
+  Size  layoutSize(99.f, 380.f);
+  float positions[] =
+    {
+      0.f, -12.f, 10.f, -9.f, 19.f, -13.f, 23.f, -13.f, 26.f, -9.f, 35.f, -0.f, 39.f, -9.f, 51.f, -9.f, 61.f, -9.f, 67.f, -13.f, 70.f, -13.f, 79.f, -0.f, 0.f, -13.f, 9.f, -9.f, 18.f, -9.f, 31.f, -9.f, 40.f, -0.f, 67.f, -10.f, 58.f, -13.f, 54.f, -10.f, 44.f, -10.f, 78.f, -0.f, 23.f, -10.f, 19.f, -10.f, 10.f, -13.f, 0.f, -10.f, 32.f, -2.f, 36.f, -12.f, 94.f, -8.f, 89.f, -6.f, 81.f, -8.f, 77.f, -7.f, 76.f, -11.f, 71.f, -0.f, 66.f, -7.f, 65.f, -11.f, 59.f, -11.f, 53.f, -8.f, 52.f, -11.f, 46.f, -11.f, 41.f, -8.f, 37.f, -0.f, 4.f, -13.f, 12.f, -9.f, 21.f, -13.f, 25.f, -13.f, 28.f, -9.f, 0.f, -0.f, 42.f, -9.f, 54.f, -9.f, 64.f, -9.f, 70.f, -13.f, 73.f, -13.f, 38.f, -0.f, 27.f, -10.f, 18.f, -13.f, 14.f, -10.f, 4.f, -10.f, 0.f, -0.f, 23.f, -10.f, 19.f, -10.f, 10.f, -13.f, 0.f, -10.f, 0.f, -0.f, 63.f, -10.f, 54.f, -13.f, 50.f, -10.f, 40.f, -10.f, 36.f, -0.f, 27.f, -10.f, 23.f, -10.f, 14.f, -13.f, 4.f, -10.f, 0.f, -0.f, 4.f, -13.f, 12.f, -9.f, 21.f, -13.f, 25.f, -13.f, 28.f, -9.f, 37.f, -0.f, 41.f, -9.f, 53.f, -9.f, 63.f, -9.f, 69.f, -13.f, 72.f, -13.f, 0.f, -0.f, 4.f, -13.f, 13.f, -9.f, 22.f, -9.f, 35.f, -9.f, 0.f, -2.f, 0.f, -12.f, 0.f, -13.f, 8.f, -9.f, 17.f, -13.f, 21.f, -13.f, 24.f, -9.f, 33.f, -0.f, 37.f, -9.f, 49.f, -9.f, 59.f, -9.f, 65.f, -13.f, 68.f, -13.f, 77.f, -0.f, 91.f, -8.f, 86.f, -6.f, 78.f, -8.f, 74.f, -7.f, 73.f, -11.f, 68.f, -0.f, 63.f, -7.f, 62.f, -11.f, 56.f, -11.f, 50.f, -8.f, 49.f, -11.f, 43.f, -11.f, 38.f, -8.f, 34.f, -0.f, 23.f, -10.f, 14.f, -13.f, 10.f, -10.f, 0.f, -10.f, 98.f, -0.f, 23.f, -10.f, 19.f, -10.f, 10.f, -13.f, 0.f, -10.f, 32.f, -0.f, 0.f, -12.f, 10.f, -9.f, 19.f, -13.f, 23.f, -13.f, 26.f, -9.f, 35.f, -0.f, 39.f, -9.f, 51.f, -9.f, 61.f, -9.f, 67.f, -13.f, 70.f, -13.f, 79.f, -0.f, 0.f, -13.f, 9.f, -9.f, 18.f, -9.f, 31.f, -9.f, 40.f, -0.f, 67.f, -10.f, 58.f, -13.f, 54.f, -10.f, 44.f, -10.f, 78.f, -0.f, 23.f, -10.f, 19.f, -10.f, 10.f, -13.f, 0.f, -10.f, 32.f, -2.f, 36.f, -12.f, 63.f, -10.f, 54.f, -13.f, 50.f, -10.f, 40.f, -10.f, 36.f, -0.f, 27.f, -10.f, 23.f, -10.f, 14.f, -13.f, 4.f, -10.f, 0.f, -0.f, 4.f, -13.f, 12.f, -9.f, 21.f, -13.f, 25.f, -13.f, 28.f, -9.f, 37.f, -0.f, 41.f, -9.f, 53.f, -9.f, 63.f, -9.f, 69.f, -13.f, 72.f, -13.f, 0.f, -0.f, 53.f, -8.f, 48.f, -6.f, 40.f, -8.f, 36.f, -7.f, 35.f, -11.f, 30.f, -0.f, 25.f, -7.f, 24.f, -11.f, 18.f, -11.f, 12.f, -8.f, 11.f, -11.f, 5.f, -11.f, 0.f, -8.f, 0.f, -0.f
     };
 
   struct LineRun line01 =
     {
       {0u, 12u},
       {0u, 12u},
-      81.f,
+      79.f,
       15.f,
       -5.f,
       4.f,
@@ -4043,10 +2820,10 @@ int UtcDaliTextUpdateLayout03(void)
     {
       {12u, 10u},
       {12u, 10u},
-      79.f,
+      78.f,
       15.f,
       -5.f,
-      5.f,
+      4.f,
       0.f,
       0.f,
       false,
@@ -4065,39 +2842,39 @@ int UtcDaliTextUpdateLayout03(void)
       false};
   struct LineRun line04 =
     {
-      {28u, 14u},
-      {28u, 14u},
-      63.f,
+      {28u, 20u},
+      {28u, 20u},
+      99.f,
       15.f,
       -5.f,
       4.f,
       0.f,
       0.f,
-      false,
+      true,
       false};
   struct LineRun line05 =
     {
-      {42u, 12u},
-      {42u, 12u},
-      79.f,
+      {48u, 11u},
+      {48u, 11u},
+      78.f,
       15.f,
       -5.f,
       4.f,
       0.f,
       0.f,
-      false,
+      true,
       false};
   struct LineRun line06 =
     {
-      {54u, 10u},
-      {54u, 10u},
-      70.f,
+      {59u, 5u},
+      {59u, 5u},
+      32.f,
       15.f,
       -5.f,
       0.f,
       0.f,
       0.f,
-      false,
+      true,
       false};
   struct LineRun line07 =
     {
@@ -4106,40 +2883,40 @@ int UtcDaliTextUpdateLayout03(void)
       70.f,
       15.f,
       -5.f,
-      5.f,
+      4.f,
       0.f,
       0.f,
-      false,
+      true,
       false};
   struct LineRun line08 =
     {
       {74u, 12u},
       {74u, 12u},
-      79.f,
+      77.f,
       15.f,
       -5.f,
       4.f,
-      1.f,
       0.f,
-      false,
+      0.f,
+      true,
       false};
   struct LineRun line09 =
     {
       {86u, 6u},
       {86u, 6u},
-      45.f,
+      44.f,
       15.f,
       -5.f,
       0.f,
       0.f,
       0.f,
-      false,
+      true,
       false};
   struct LineRun line10 =
     {
       {92u, 12u},
       {92u, 12u},
-      79.f,
+      77.f,
       15.f,
       -5.f,
       4.f,
@@ -4151,10 +2928,10 @@ int UtcDaliTextUpdateLayout03(void)
     {
       {104u, 19u},
       {104u, 19u},
-      100.f,
+      98.f,
       15.f,
       -5.f,
-      5.f,
+      4.f,
       0.f,
       0.f,
       false,
@@ -4175,7 +2952,7 @@ int UtcDaliTextUpdateLayout03(void)
     {
       {128u, 12u},
       {128u, 12u},
-      81.f,
+      79.f,
       15.f,
       -5.f,
       4.f,
@@ -4187,10 +2964,10 @@ int UtcDaliTextUpdateLayout03(void)
     {
       {140u, 10u},
       {140u, 10u},
-      79.f,
+      78.f,
       15.f,
       -5.f,
-      5.f,
+      4.f,
       0.f,
       0.f,
       false,
@@ -4214,34 +2991,34 @@ int UtcDaliTextUpdateLayout03(void)
       70.f,
       15.f,
       -5.f,
-      5.f,
+      4.f,
       0.f,
       0.f,
-      false,
+      true,
       false};
   struct LineRun line17 =
     {
       {166u, 12u},
       {166u, 12u},
-      79.f,
+      77.f,
       15.f,
       -5.f,
       4.f,
       0.f,
       0.f,
-      false,
+      true,
       false};
   struct LineRun line18 =
     {
       {178u, 14u},
       {178u, 14u},
-      63.f,
+      62.f,
       15.f,
       -5.f,
       0.f,
       0.f,
       0.f,
-      false,
+      true,
       false};
   struct LineRun line19 =
     {
@@ -4336,9 +3113,9 @@ int UtcDaliTextLayoutEllipsis01(void)
 
   struct LineRun line01 =
     {
-      {0u, 13u},
-      {0u, 13u},
-      93.f,
+      {0u, 14u},
+      {0u, 14u},
+      100.f,
       15.f,
       -5.f,
       0.f,
@@ -4355,27 +3132,27 @@ int UtcDaliTextLayoutEllipsis01(void)
       -12.f,
       10.f,
       -9.f,
-      20.f,
+      19.f,
       -13.f,
-      24.f,
+      23.f,
       -13.f,
-      27.f,
+      26.f,
       -9.f,
-      36.f,
+      35.f,
       -0.f,
-      40.f,
+      39.f,
       -9.f,
-      52.f,
+      51.f,
       -9.f,
-      62.f,
+      61.f,
       -9.f,
-      69.f,
+      67.f,
       -13.f,
-      72.f,
+      70.f,
       -13.f,
-      81.f,
+      79.f,
       -0.f,
-      85.f,
+      83.f,
       -13.f,
     };
 
@@ -4439,7 +3216,7 @@ int UtcDaliTextLayoutEllipsis02(void)
     {
       {0u, 12u},
       {0u, 12u},
-      81.f,
+      79.f,
       15.f,
       -5.f,
       4.f,
@@ -4451,7 +3228,7 @@ int UtcDaliTextLayoutEllipsis02(void)
     {
       {12u, 12u},
       {12u, 12u},
-      95.f,
+      94.f,
       15.f,
       -5.f,
       0.f,
@@ -4465,54 +3242,7 @@ int UtcDaliTextLayoutEllipsis02(void)
 
   float positions[] =
     {
-      0.f,
-      -12.f,
-      10.f,
-      -9.f,
-      20.f,
-      -13.f,
-      24.f,
-      -13.f,
-      27.f,
-      -9.f,
-      36.f,
-      -0.f,
-      40.f,
-      -9.f,
-      52.f,
-      -9.f,
-      62.f,
-      -9.f,
-      69.f,
-      -13.f,
-      72.f,
-      -13.f,
-      81.f,
-      -0.f,
-      0.f,
-      -13.f,
-      9.f,
-      -9.f,
-      19.f,
-      -9.f,
-      32.f,
-      -9.f,
-      41.f,
-      -0.f,
-      46.f,
-      -13.f,
-      54.f,
-      -9.f,
-      64.f,
-      -13.f,
-      68.f,
-      -13.f,
-      71.f,
-      -9.f,
-      80.f,
-      -0.f,
-      84.f,
-      -9.f,
+      0.f, -12.f, 10.f, -9.f, 19.f, -13.f, 23.f, -13.f, 26.f, -9.f, 35.f, -0.f, 39.f, -9.f, 51.f, -9.f, 61.f, -9.f, 67.f, -13.f, 70.f, -13.f, 79.f, -0.f, 0.f, -13.f, 9.f, -9.f, 18.f, -9.f, 31.f, -9.f, 40.f, -0.f, 45.f, -13.f, 53.f, -9.f, 62.f, -13.f, 66.f, -13.f, 69.f, -9.f, 78.f, -0.f, 82.f, -9.f
     };
 
   Size textArea(100.f, 50.f);
@@ -4656,11 +3386,11 @@ int UtcDaliTextLayoutEllipsis03(void)
     {
       87.f,
       -10.f,
-      79.f,
+      78.f,
       -13.f,
       74.f,
       -10.f,
-      65.f,
+      64.f,
       -10.f,
       60.f,
       -0.f,
@@ -4670,7 +3400,7 @@ int UtcDaliTextLayoutEllipsis03(void)
       -10.f,
       38.f,
       -13.f,
-      29.f,
+      28.f,
       -10.f,
       24.f,
       -0.f,
@@ -4682,9 +3412,9 @@ int UtcDaliTextLayoutEllipsis03(void)
       -8.f,
       0.f,
       -7.f,
-      78.f,
+      77.f,
       -11.f,
-      73.f,
+      72.f,
       -0.f,
     };
 
@@ -4817,22 +3547,22 @@ int UtcDaliTextLayoutEllipsis04(void)
       70.f,
       15.f,
       -5.f,
-      5.f,
+      4.f,
       0.f,
       0.f,
-      false,
+      true,
       false};
   struct LineRun line02 =
     {
       {10u, 19u},
       {10u, 19u},
-      99.f,
+      98.f,
       15.f,
       -5.f,
-      5.f,
+      4.f,
       0.f,
       0.f,
-      false,
+      true,
       true};
   Vector<LineRun> lines;
   lines.PushBack(line01);
@@ -4840,74 +3570,7 @@ int UtcDaliTextLayoutEllipsis04(void)
 
   float positions[] =
     {
-      63.f,
-      -10.f,
-      54.f,
-      -13.f,
-      50.f,
-      -10.f,
-      41.f,
-      -10.f,
-      36.f,
-      -0.f,
-      27.f,
-      -10.f,
-      23.f,
-      -10.f,
-      14.f,
-      -13.f,
-      4.f,
-      -10.f,
-      0.f,
-      -0.f,
-      96.f,
-      -8.f,
-      91.f,
-      -6.f,
-      83.f,
-      -8.f,
-      79.f,
-      -7.f,
-      78.f,
-      -11.f,
-      73.f,
-      -0.f,
-      68.f,
-      -7.f,
-      67.f,
-      -11.f,
-      61.f,
-      -11.f,
-      55.f,
-      -8.f,
-      53.f,
-      -11.f,
-      47.f,
-      -11.f,
-      42.f,
-      -8.f,
-      38.f,
-      -0.f,
-      27.f,
-      -10.f,
-      18.f,
-      -13.f,
-      14.f,
-      -10.f,
-      4.f,
-      -10.f,
-      0.f,
-      -0.f,
-      92.f,
-      -10.f,
-      88.f,
-      -10.f,
-      79.f,
-      -13.f,
-      70.f,
-      -10.f,
-      65.f,
-      -0.f,
+      63.f, -10.f, 54.f, -13.f, 50.f, -10.f, 40.f, -10.f, 36.f, -0.f, 27.f, -10.f, 23.f, -10.f, 14.f, -13.f, 4.f, -10.f, 0.f, -0.f, 95.f, -8.f, 90.f, -6.f, 82.f, -8.f, 78.f, -7.f, 77.f, -11.f, 72.f, -0.f, 67.f, -7.f, 66.f, -11.f, 60.f, -11.f, 54.f, -8.f, 53.f, -11.f, 47.f, -11.f, 42.f, -8.f, 38.f, -0.f, 27.f, -10.f, 18.f, -13.f, 14.f, -10.f, 4.f, -10.f, 0.f, -0.f, 91.f, -10.f, 87.f, -10.f, 78.f, -13.f, 68.f, -10.f, 64.f, -0.f
     };
 
   Size textArea(100.f, 50.f);
@@ -4968,7 +3631,7 @@ int UtcDaliTextLayoutEllipsis05(void)
     {
       {0u, 11u},
       {0u, 11u},
-      80.f,
+      79.f,
       15.f,
       -5.f,
       0.f,
@@ -5226,7 +3889,7 @@ int UtcDaliTextAlign02(void)
   fontDescriptionRuns.PushBack(fontDescriptionRun05);
   fontDescriptionRuns.PushBack(fontDescriptionRun06);
 
-  float positions[] = {0.f, 0.f, 33.f, 19.f, 0.f, 0.f};
+  float positions[] = {0.f, 0.f, 34.f, 21.f, 0.f, 0.f};
 
   Size      textArea(100.f, 300.f);
   AlignData data =
@@ -5466,7 +4129,7 @@ int UtcDaliTextAlign04(void)
   fontDescriptionRuns.PushBack(fontDescriptionRun05);
   fontDescriptionRuns.PushBack(fontDescriptionRun06);
 
-  float positions[] = {9.f, 15.f, 0.f, 0.f, 0.f, 0.f};
+  float positions[] = {10.f, 15.f, 0.f, 0.f, 0.f, 0.f};
 
   Size      textArea(100.f, 300.f);
   AlignData data =
@@ -5586,7 +4249,7 @@ int UtcDaliTextAlign05(void)
   fontDescriptionRuns.PushBack(fontDescriptionRun05);
   fontDescriptionRuns.PushBack(fontDescriptionRun06);
 
-  float positions[] = {0.f, 0.f, 14.f, 9.f, 0.f, 0.f};
+  float positions[] = {0.f, 0.f, 15.f, 10.f, 0.f, 0.f};
 
   Size      textArea(100.f, 300.f);
   AlignData data =
@@ -5706,7 +4369,7 @@ int UtcDaliTextAlign06(void)
   fontDescriptionRuns.PushBack(fontDescriptionRun05);
   fontDescriptionRuns.PushBack(fontDescriptionRun06);
 
-  float positions[] = {0.f, 0.f, 0.f, 0.f, 9.f, 16.f};
+  float positions[] = {0.f, 0.f, 0.f, 0.f, 10.f, 17.f};
 
   Size      textArea(100.f, 300.f);
   AlignData data =
@@ -5826,7 +4489,7 @@ int UtcDaliTextAlign07(void)
   fontDescriptionRuns.PushBack(fontDescriptionRun05);
   fontDescriptionRuns.PushBack(fontDescriptionRun06);
 
-  float positions[] = {19.f, 30.f, 0.f, 0.f, 0.f, 0.f};
+  float positions[] = {21.f, 30.f, 0.f, 0.f, 0.f, 0.f};
 
   Size      textArea(100.f, 300.f);
   AlignData data =
@@ -6066,7 +4729,7 @@ int UtcDaliTextAlign09(void)
   fontDescriptionRuns.PushBack(fontDescriptionRun05);
   fontDescriptionRuns.PushBack(fontDescriptionRun06);
 
-  float positions[] = {0.f, 0.f, 0.f, 0.f, 19.f, 33.f};
+  float positions[] = {0.f, 0.f, 0.f, 0.f, 21.f, 35.f};
 
   Size      textArea(100.f, 300.f);
   AlignData data =
@@ -6306,7 +4969,7 @@ int UtcDaliTextAlign11(void)
   fontDescriptionRuns.PushBack(fontDescriptionRun05);
   fontDescriptionRuns.PushBack(fontDescriptionRun06);
 
-  float positions[] = {19.f, 30.f, 33.f, 0.f, 0.f, 0.f};
+  float positions[] = {21.f, 30.f, 34.f, 0.f, 0.f, 0.f};
 
   Size      textArea(100.f, 300.f);
   AlignData data =
@@ -6503,6 +5166,7 @@ int UtcDaliTextLayoutGetGlyphMetrics(void)
   fontDescriptionRun02.slantDefined  = false;
   fontDescriptionRun02.sizeDefined   = false;
 
+
   // Set a known font description
   FontDescriptionRun fontDescriptionRun03;
   fontDescriptionRun03.characterRun.characterIndex     = 0u;
@@ -6516,6 +5180,7 @@ int UtcDaliTextLayoutGetGlyphMetrics(void)
   fontDescriptionRun03.slantDefined  = false;
   fontDescriptionRun03.sizeDefined   = false;
 
+
   Vector<FontDescriptionRun> fontDescriptionRuns01;
   fontDescriptionRuns01.PushBack(fontDescriptionRun01);
 
@@ -6560,7 +5225,7 @@ int UtcDaliTextLayoutGetGlyphMetrics(void)
     {
       {0u, 2u},
       {0u, 2u},
-      16.f,
+      15.f,
       15.f,
       -5.f,
       0.f,
@@ -6571,7 +5236,7 @@ int UtcDaliTextLayoutGetGlyphMetrics(void)
   Vector<LineRun> lines02;
   lines02.PushBack(line02);
 
-  Size layoutSize02 = Vector2(16.f, 20.f);
+  Size layoutSize02 = Vector2(15.f, 20.f);
 
   // Group: second glyph doesn't exceed the width of the first glyph
   float positions03[] = {0.f, -11.f, 2.f, -15.f};
index bc52a6f..774c1cb 100755 (executable)
@@ -87,7 +87,7 @@ bool IsEqualGlyph(const GlyphInfoData& glyphData, const GlyphInfo& glyph)
   {
     return false;
   }
-  if(glyphData.advance >= 0.0f && fabsf(glyphData.advance - floor(glyph.advance)) > Math::MACHINE_EPSILON_1000)
+  if(glyphData.advance >= 0.0f && fabsf(glyphData.advance - round(glyph.advance)) > Math::MACHINE_EPSILON_1000)
   {
     return false;
   }
@@ -253,7 +253,7 @@ bool ShapeInfoTest(const ShapeInfoData& data)
       std::cout << "            height : " << glyphInfo.height << std::endl;
       std::cout << "          xBearing : " << glyphInfo.xBearing << std::endl;
       std::cout << "          yBearing : " << glyphInfo.yBearing << std::endl;
-      std::cout << "           advance : " << floor(glyphInfo.advance) << std::endl;
+      std::cout << "           advance : " << round(glyphInfo.advance) << std::endl;
       std::cout << "       scaleFactor : " << glyphInfo.scaleFactor << std::endl;
       std::cout << "  isItalicRequired : " << glyphInfo.isItalicRequired << std::endl;
       std::cout << "    isBoldRequired : " << glyphInfo.isBoldRequired << std::endl;
@@ -382,7 +382,7 @@ int UtcDaliTextShape(void)
       {1u, 306u, 0.f, 0.f, 0.f, 0.f, 4.f, 0.f},
       {1u, 309u, 0.f, 0.f, 0.f, 0.f, 9.f, 0.f},
       {1u, 3u, 0.f, 0.f, 0.f, 0.f, 4.f, 0.f},
-      {1u, 317u, 0.f, 0.f, 0.f, 0.f, 11.f, 0.f},
+      {1u, 317u, 0.f, 0.f, 0.f, 0.f, 12.f, 0.f},
       {1u, 309u, 0.f, 0.f, 0.f, 0.f, 9.f, 0.f},
       {1u, 312u, 0.f, 0.f, 0.f, 0.f, 6.f, 0.f},
       {1u, 306u, 0.f, 0.f, 0.f, 0.f, 4.f, 0.f},
@@ -400,7 +400,7 @@ int UtcDaliTextShape(void)
       {1u, 306u, 0.f, 0.f, 0.f, 0.f, 4.f, 0.f},
       {1u, 309u, 0.f, 0.f, 0.f, 0.f, 9.f, 0.f},
       {1u, 3u, 0.f, 0.f, 0.f, 0.f, 4.f, 0.f},
-      {1u, 317u, 0.f, 0.f, 0.f, 0.f, 11.f, 0.f},
+      {1u, 317u, 0.f, 0.f, 0.f, 0.f, 12.f, 0.f},
       {1u, 309u, 0.f, 0.f, 0.f, 0.f, 9.f, 0.f},
       {1u, 312u, 0.f, 0.f, 0.f, 0.f, 6.f, 0.f},
       {1u, 306u, 0.f, 0.f, 0.f, 0.f, 4.f, 0.f},
@@ -408,7 +408,7 @@ int UtcDaliTextShape(void)
       {1u, 0u, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f},
       {1u, 298u, 0.f, 0.f, 0.f, 0.f, 9.f, 0.f},
       {1u, 299u, 0.f, 0.f, 0.f, 0.f, 8.f, 0.f},
-      {1u, 307u, 0.f, 0.f, 0.f, 0.f, 13.f, 0.f},
+      {1u, 307u, 0.f, 0.f, 0.f, 0.f, 14.f, 0.f},
       {1u, 309u, 0.f, 0.f, 0.f, 0.f, 9.f, 0.f},
       {1u, 0u, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f},
     };
@@ -419,16 +419,16 @@ int UtcDaliTextShape(void)
 
   struct GlyphInfoData glyphs04[] =
     {
-      {2u, 67u, 0.f, 0.f, 0.f, 0.f, 9.f, 0.f},
+      {2u, 67u, 0.f, 0.f, 0.f, 0.f, 10.f, 0.f},
       {2u, 27u, 0.f, 0.f, 0.f, 0.f, 15.f, 0.f},
       {2u, 59u, 0.f, 0.f, 0.f, 0.f, 8.f, 0.f},
-      {2u, 67u, 0.f, 0.f, 0.f, 0.f, 9.f, 0.f},
-      {2u, 55u, 0.f, 0.f, 0.f, 0.f, 19.f, 0.f},
+      {2u, 67u, 0.f, 0.f, 0.f, 0.f, 10.f, 0.f},
+      {2u, 55u, 0.f, 0.f, 0.f, 0.f, 20.f, 0.f},
       {2u, 59u, 0.f, 0.f, 0.f, 0.f, 8.f, 0.f},
-      {2u, 67u, 0.f, 0.f, 0.f, 0.f, 9.f, 0.f},
+      {2u, 67u, 0.f, 0.f, 0.f, 0.f, 10.f, 0.f},
       {2u, 56u, 0.f, 0.f, 0.f, 0.f, 19.f, 0.f},
       {2u, 59u, 0.f, 0.f, 0.f, 0.f, 8.f, 0.f},
-      {2u, 67u, 0.f, 0.f, 0.f, 0.f, 9.f, 0.f},
+      {2u, 67u, 0.f, 0.f, 0.f, 0.f, 10.f, 0.f},
       {2u, 52u, 0.f, 0.f, 0.f, 0.f, 15.f, 0.f},
       {2u, 59u, 0.f, 0.f, 0.f, 0.f, 8.f, 0.f},
     };
@@ -438,17 +438,17 @@ int UtcDaliTextShape(void)
 
   struct GlyphInfoData glyphs05[] =
     {
-      {1u, 280u, 0.f, 0.f, 0.f, 0.f, 8.f, 0.f},
+      {1u, 280u, 0.f, 0.f, 0.f, 0.f, 9.f, 0.f},
       {1u, 309u, 0.f, 0.f, 0.f, 0.f, 9.f, 0.f},
-      {1u, 312u, 0.f, 0.f, 0.f, 0.f, 5.f, 0.f},
+      {1u, 312u, 0.f, 0.f, 0.f, 0.f, 6.f, 0.f},
       {1u, 299u, 0.f, 0.f, 0.f, 0.f, 8.f, 0.f},
-      {1u, 307u, 0.f, 0.f, 0.f, 0.f, 13.f, 0.f},
+      {1u, 307u, 0.f, 0.f, 0.f, 0.f, 14.f, 0.f},
       {1u, 3u, 0.f, 0.f, 0.f, 0.f, 4.f, 0.f},
       {1u, 303u, 0.f, 0.f, 0.f, 0.f, 4.f, 0.f},
       {1u, 310u, 0.f, 0.f, 0.f, 0.f, 9.f, 0.f},
       {1u, 313u, 0.f, 0.f, 0.f, 0.f, 7.f, 0.f},
-      {1u, 315u, 0.f, 0.f, 0.f, 0.f, 8.f, 0.f},
-      {1u, 307u, 0.f, 0.f, 0.f, 0.f, 13.f, 0.f},
+      {1u, 315u, 0.f, 0.f, 0.f, 0.f, 9.f, 0.f},
+      {1u, 307u, 0.f, 0.f, 0.f, 0.f, 14.f, 0.f},
       {1u, 3u, 0.f, 0.f, 0.f, 0.f, 4.f, 0.f},
       {1u, 298u, 0.f, 0.f, 0.f, 0.f, 9.f, 0.f},
       {1u, 309u, 0.f, 0.f, 0.f, 0.f, 9.f, 0.f},
@@ -461,19 +461,19 @@ int UtcDaliTextShape(void)
       {1u, 314u, 0.f, 0.f, 0.f, 0.f, 6.f, 0.f},
       {1u, 3u, 0.f, 0.f, 0.f, 0.f, 4.f, 0.f},
       {1u, 295u, 0.f, 0.f, 0.f, 0.f, 8.f, 0.f},
-      {1u, 307u, 0.f, 0.f, 0.f, 0.f, 13.f, 0.f},
+      {1u, 307u, 0.f, 0.f, 0.f, 0.f, 14.f, 0.f},
       {1u, 299u, 0.f, 0.f, 0.f, 0.f, 8.f, 0.f},
       {1u, 314u, 0.f, 0.f, 0.f, 0.f, 6.f, 0.f},
       {1u, 0u, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f},
       {1u, 295u, 0.f, 0.f, 0.f, 0.f, 8.f, 0.f},
       {1u, 299u, 0.f, 0.f, 0.f, 0.f, 8.f, 0.f},
       {1u, 311u, 0.f, 0.f, 0.f, 0.f, 9.f, 0.f},
-      {1u, 315u, 0.f, 0.f, 0.f, 0.f, 8.f, 0.f},
+      {1u, 315u, 0.f, 0.f, 0.f, 0.f, 9.f, 0.f},
       {1u, 299u, 0.f, 0.f, 0.f, 0.f, 8.f, 0.f},
       {1u, 3u, 0.f, 0.f, 0.f, 0.f, 4.f, 0.f},
       {1u, 298u, 0.f, 0.f, 0.f, 0.f, 9.f, 0.f},
       {1u, 299u, 0.f, 0.f, 0.f, 0.f, 8.f, 0.f},
-      {1u, 403u, 0.f, 0.f, 0.f, 0.f, 9.f, 0.f},
+      {1u, 403u, 0.f, 0.f, 0.f, 0.f, 10.f, 0.f},
       {1u, 308u, 0.f, 0.f, 0.f, 0.f, 9.f, 0.f},
       {1u, 303u, 0.f, 0.f, 0.f, 0.f, 4.f, 0.f},
       {1u, 299u, 0.f, 0.f, 0.f, 0.f, 8.f, 0.f},
@@ -484,7 +484,7 @@ int UtcDaliTextShape(void)
       {1u, 299u, 0.f, 0.f, 0.f, 0.f, 8.f, 0.f},
       {1u, 295u, 0.f, 0.f, 0.f, 0.f, 8.f, 0.f},
       {1u, 3u, 0.f, 0.f, 0.f, 0.f, 4.f, 0.f},
-      {1u, 307u, 0.f, 0.f, 0.f, 0.f, 13.f, 0.f},
+      {1u, 307u, 0.f, 0.f, 0.f, 0.f, 14.f, 0.f},
       {1u, 299u, 0.f, 0.f, 0.f, 0.f, 8.f, 0.f},
       {1u, 303u, 0.f, 0.f, 0.f, 0.f, 4.f, 0.f},
       {1u, 0u, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f},
@@ -495,10 +495,10 @@ int UtcDaliTextShape(void)
       {1u, 299u, 0.f, 0.f, 0.f, 0.f, 8.f, 0.f},
       {1u, 3u, 0.f, 0.f, 0.f, 0.f, 4.f, 0.f},
       {1u, 303u, 0.f, 0.f, 0.f, 0.f, 4.f, 0.f},
-      {1u, 312u, 0.f, 0.f, 0.f, 0.f, 5.f, 0.f},
+      {1u, 312u, 0.f, 0.f, 0.f, 0.f, 6.f, 0.f},
       {1u, 295u, 0.f, 0.f, 0.f, 0.f, 8.f, 0.f},
-      {1u, 297u, 0.f, 0.f, 0.f, 0.f, 7.f, 0.f},
-      {1u, 315u, 0.f, 0.f, 0.f, 0.f, 8.f, 0.f},
+      {1u, 297u, 0.f, 0.f, 0.f, 0.f, 8.f, 0.f},
+      {1u, 315u, 0.f, 0.f, 0.f, 0.f, 9.f, 0.f},
       {1u, 308u, 0.f, 0.f, 0.f, 0.f, 9.f, 0.f},
       {1u, 298u, 0.f, 0.f, 0.f, 0.f, 9.f, 0.f},
       {1u, 303u, 0.f, 0.f, 0.f, 0.f, 4.f, 0.f},
@@ -507,10 +507,10 @@ int UtcDaliTextShape(void)
       {1u, 308u, 0.f, 0.f, 0.f, 0.f, 9.f, 0.f},
       {1u, 299u, 0.f, 0.f, 0.f, 0.f, 8.f, 0.f},
       {1u, 3u, 0.f, 0.f, 0.f, 0.f, 4.f, 0.f},
-      {1u, 297u, 0.f, 0.f, 0.f, 0.f, 7.f, 0.f},
-      {1u, 315u, 0.f, 0.f, 0.f, 0.f, 8.f, 0.f},
-      {1u, 307u, 0.f, 0.f, 0.f, 0.f, 13.f, 0.f},
-      {1u, 4u, 0.f, 0.f, 0.f, 0.f, 3.f, 0.f},
+      {1u, 297u, 0.f, 0.f, 0.f, 0.f, 8.f, 0.f},
+      {1u, 315u, 0.f, 0.f, 0.f, 0.f, 9.f, 0.f},
+      {1u, 307u, 0.f, 0.f, 0.f, 0.f, 14.f, 0.f},
+      {1u, 4u, 0.f, 0.f, 0.f, 0.f, 4.f, 0.f},
       {1u, 0u, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f},
     };
 
@@ -769,8 +769,8 @@ int UtcDaliTextSoftwareStyling(void)
 
   struct GlyphInfoData glyphs01[] =
     {
-      {4u, 38u, 0.f, 0.f, 0.f, 0.f, 10.f, 0.f, true, true},
-      {4u, 39u, 0.f, 0.f, 0.f, 0.f, 9.f, 0.f, true, true},
+      {4u, 38u, 0.f, 0.f, 0.f, 0.f, 11.f, 0.f, true, true},
+      {4u, 39u, 0.f, 0.f, 0.f, 0.f, 10.f, 0.f, true, true},
       {4u, 40u, 0.f, 0.f, 0.f, 0.f, 10.f, 0.f, true, true},
       {4u, 41u, 0.f, 0.f, 0.f, 0.f, 10.f, 0.f, true, true},
     };
index 964b379..dc3f714 100644 (file)
@@ -59,7 +59,7 @@ const Length  LOREM_NUMBER_OF_CHARACTERS        = 633u;
 const Length  LOREM_NUMBER_OF_CHARACTERS_ELIDED = 633u;
 
 // The expected layout size for UtcDaliTextViewModelGetLayoutSize
-const Size LAYOUT_SIZE(181.f, 48.f);
+const Size LAYOUT_SIZE(182.f, 48.f);
 
 // The expected color indices for UtcDaliTextViewModelGetColors
 const ColorIndex COLOR_INDICES[]  = {0u, 0u, 0u, 0u, 0u, 0u, 1u, 1u, 1u, 2u, 2u, 2u, 2u, 2u, 1u, 1u, 1u, 1u, 1u, 3u, 1u, 1u, 1u, 0u, 0u, 0u, 0u};
@@ -644,13 +644,13 @@ int UtcDaliTextViewModelElideText02(void)
   Size textSize00(100.f, 100.f);
 
   Size  textSize01(80.f, 100.f);
-  float positions01[] = {0.f, 7.f, 16.f, 26.f, 33.f, 41.f, 45.f, 55.f, 64.0f};
+  float positions01[] = {0.0f, 8.0f, 16.0f, 26.0f, 34.0f, 42.0f, 46.0f, 56.0f, 64.0f};
 
   Size  textSize02(80.f, 100.f);
-  float positions02[] = {68.f, 62.f, 58.f, 50.f, 46.f, 42.f, 32.f, 24.f, 5.f};
+  float positions02[] = {69.0f, 63.0f, 59.0f, 51.0f, 47.0f, 43.0f, 34.0f, 26.0f, 7.0f};
 
   Size  textSize03(80.f, 100.f);
-  float positions03[] = {78.f, 72.f, 66.f, 62.f, 57.f, 50.f, 45.f, 41.f, 39.f, 33.f, 30.f, 24.f, 5.0f};
+  float positions03[] = {78.0f, 72.0f, 66.0f, 62.0f, 57.0f, 50.0f, 45.0f, 41.0f, 39.0f, 33.0f, 29.0f, 23.0f, 3.0f};
 
   Size  textSize04(80.f, 10.f);
   float positions04[] = {1.f};
index 389143b..81f69a7 100644 (file)
@@ -4867,11 +4867,11 @@ int utcDaliTextEditorGeometryEllipsisStart(void)
   Vector<Vector2> expectedSizes;
   Vector<Vector2> expectedPositions;
 
-  expectedPositions.PushBack(Vector2(37, 0));
-  expectedSizes.PushBack(Vector2(20, 25));
+  expectedPositions.PushBack(Vector2(38, 0));
+  expectedSizes.PushBack(Vector2(21, 25));
 
   expectedPositions.PushBack(Vector2(-1, 25));
-  expectedSizes.PushBack(Vector2(52, 25));
+  expectedSizes.PushBack(Vector2(53, 25));
 
   TestTextGeometryUtils::CheckGeometryResult(positionsList, sizeList, expectedPositions, expectedSizes);
 
@@ -4919,10 +4919,10 @@ int utcDaliTextEditorGeometryEllipsisMiddle(void)
   Vector<Vector2> expectedPositions;
 
   expectedPositions.PushBack(Vector2(-1, 0));
-  expectedSizes.PushBack(Vector2(25, 25));
+  expectedSizes.PushBack(Vector2(26, 25));
 
   expectedPositions.PushBack(Vector2(-1, 25));
-  expectedSizes.PushBack(Vector2(52, 25));
+  expectedSizes.PushBack(Vector2(53, 25));
 
   TestTextGeometryUtils::CheckGeometryResult(positionsList, sizeList, expectedPositions, expectedSizes);
 
@@ -4970,10 +4970,10 @@ int utcDaliTextEditorGeometryEllipsisEnd(void)
   Vector<Vector2> expectedPositions;
 
   expectedPositions.PushBack(Vector2(-1, 0));
-  expectedSizes.PushBack(Vector2(59, 25));
+  expectedSizes.PushBack(Vector2(60, 25));
 
   expectedPositions.PushBack(Vector2(-1, 25));
-  expectedSizes.PushBack(Vector2(38, 25));
+  expectedSizes.PushBack(Vector2(39, 25));
 
   TestTextGeometryUtils::CheckGeometryResult(positionsList, sizeList, expectedPositions, expectedSizes);
 
@@ -5017,16 +5017,16 @@ int utcDaliTextEditorGeometryRTL(void)
   Vector<Vector2> expectedSizes;
   Vector<Vector2> expectedPositions;
 
-  expectedPositions.PushBack(Vector2(24, 0));
-  expectedSizes.PushBack(Vector2(33, 25));
+  expectedPositions.PushBack(Vector2(25, 0));
+  expectedSizes.PushBack(Vector2(34, 25));
 
   expectedPositions.PushBack(Vector2(-1, 25));
-  expectedSizes.PushBack(Vector2(52, 25));
+  expectedSizes.PushBack(Vector2(53, 25));
 
   expectedPositions.PushBack(Vector2(-1, 50));
-  expectedSizes.PushBack(Vector2(59, 25));
+  expectedSizes.PushBack(Vector2(60, 25));
 
-  expectedPositions.PushBack(Vector2(61, 75));
+  expectedPositions.PushBack(Vector2(63, 75));
   expectedSizes.PushBack(Vector2(37, 25));
 
   TestTextGeometryUtils::CheckGeometryResult(positionsList, sizeList, expectedPositions, expectedSizes);
@@ -5072,7 +5072,7 @@ int utcDaliTextEditorGeometryGlyphMiddle(void)
   Vector<Vector2> expectedPositions;
 
   expectedPositions.PushBack(Vector2(6, 0));
-  expectedSizes.PushBack(Vector2(124, 25));
+  expectedSizes.PushBack(Vector2(125, 25));
 
   TestTextGeometryUtils::CheckGeometryResult(positionsList, sizeList, expectedPositions, expectedSizes);
 
index 357e456..5375a59 100644 (file)
@@ -4789,7 +4789,7 @@ int utcDaliTextFieldGeometryEllipsisStart(void)
   Vector<Vector2> expectedPositions;
 
   expectedPositions.PushBack(Vector2(14, 0));
-  expectedSizes.PushBack(Vector2(106, 25));
+  expectedSizes.PushBack(Vector2(107, 25));
 
   TestTextGeometryUtils::CheckGeometryResult(positionsList, sizeList, expectedPositions, expectedSizes);
 
@@ -4836,7 +4836,7 @@ int utcDaliTextFieldGeometryEllipsisEnd(void)
   Vector<Vector2> expectedPositions;
 
   expectedPositions.PushBack(Vector2(-2, 0));
-  expectedSizes.PushBack(Vector2(122, 25));
+  expectedSizes.PushBack(Vector2(123, 25));
 
   TestTextGeometryUtils::CheckGeometryResult(positionsList, sizeList, expectedPositions, expectedSizes);
 
@@ -4881,7 +4881,7 @@ int utcDaliTextFieldGeometryRTL(void)
   Vector<Vector2> expectedPositions;
 
   expectedPositions.PushBack(Vector2(38, 0));
-  expectedSizes.PushBack(Vector2(73, 25));
+  expectedSizes.PushBack(Vector2(75, 25));
 
   TestTextGeometryUtils::CheckGeometryResult(positionsList, sizeList, expectedPositions, expectedSizes);
 
@@ -4926,7 +4926,7 @@ int utcDaliTextFieldGeometryGlyphMiddle(void)
   Vector<Vector2> expectedPositions;
 
   expectedPositions.PushBack(Vector2(6, 0));
-  expectedSizes.PushBack(Vector2(124, 25));
+  expectedSizes.PushBack(Vector2(125, 25));
 
   TestTextGeometryUtils::CheckGeometryResult(positionsList, sizeList, expectedPositions, expectedSizes);
 
index 634d85c..13e8dee 100644 (file)
@@ -70,7 +70,7 @@ int UtcDaliTextGeometryGetLineBoundingRectangleLabel(void)
 
   Rect<> lineGeometry = TextGeometry::GetLineBoundingRectangle(label, 1);
 
-  Rect<> expectedLineGeometry = {0, 16, 420, 16};
+  Rect<> expectedLineGeometry = {0, 16, 418, 16};
 
   TestTextGeometryUtils::CheckRectGeometryResult(lineGeometry, expectedLineGeometry);
 
@@ -123,7 +123,7 @@ int UtcDaliTextGeometryGetLineBoundingRectangleField(void)
 
   Rect<> lineGeometry = TextGeometry::GetLineBoundingRectangle(field, 0);
 
-  Rect<> expectedLineGeometry = {0, 0, 163, 36};
+  Rect<> expectedLineGeometry = {0, 0, 162, 36};
 
   TestTextGeometryUtils::CheckRectGeometryResult(lineGeometry, expectedLineGeometry);
 
@@ -179,7 +179,7 @@ int UtcDaliTextGeometryLineSpacingPositiveGetLineBoundingRectangleLabel(void)
 
   Rect<> lineGeometry = TextGeometry::GetLineBoundingRectangle(label, 1);
 
-  Rect<> expectedLineGeometry = {0, 56, 420, 56};
+  Rect<> expectedLineGeometry = {0, 56, 418, 56};
 
   TestTextGeometryUtils::CheckRectGeometryResult(lineGeometry, expectedLineGeometry);
 
@@ -207,7 +207,7 @@ int UtcDaliTextGeometryWithVerticalLineAlignmentTopGetLineBoundingRectangleLabel
 
   Rect<> lineGeometry = TextGeometry::GetLineBoundingRectangle(label, 1);
 
-  Rect<> expectedLineGeometry = {0, 36, 420, 36};
+  Rect<> expectedLineGeometry = {0, 36, 418, 36};
 
   TestTextGeometryUtils::CheckRectGeometryResult(lineGeometry, expectedLineGeometry);
 
@@ -235,7 +235,7 @@ int UtcDaliTextGeometryWithVerticalLineAlignmentBottomGetLineBoundingRectangleLa
 
   Rect<> lineGeometry = TextGeometry::GetLineBoundingRectangle(label, 1);
 
-  Rect<> expectedLineGeometry = {0, 36, 420, 36};
+  Rect<> expectedLineGeometry = {0, 36, 418, 36};
 
   TestTextGeometryUtils::CheckRectGeometryResult(lineGeometry, expectedLineGeometry);
 
@@ -263,7 +263,7 @@ int UtcDaliTextGeometryWithEllipsisMiddleGetLineBoundingRectangleLabel(void)
 
   Rect<> lineGeometry = TextGeometry::GetLineBoundingRectangle(label, 1);
 
-  Rect<> expectedLineGeometry = {0, 36, 420, 36};
+  Rect<> expectedLineGeometry = {0, 36, 418, 36};
 
   TestTextGeometryUtils::CheckRectGeometryResult(lineGeometry, expectedLineGeometry);
 
@@ -292,7 +292,7 @@ int UtcDaliTextGeometryWithEllipsisStartGetLineBoundingRectangleLabel(void)
 
   Rect<> lineGeometry = TextGeometry::GetLineBoundingRectangle(label, 1);
 
-  Rect<> expectedLineGeometry = {0, 36, 420, 36};
+  Rect<> expectedLineGeometry = {0, 36, 418, 36};
 
   TestTextGeometryUtils::CheckRectGeometryResult(lineGeometry, expectedLineGeometry);
 
@@ -321,7 +321,7 @@ int UtcDaliTextGeometryWithEllipsisEndGetLineBoundingRectangleLabel(void)
 
   Rect<> lineGeometry = TextGeometry::GetLineBoundingRectangle(label, 1);
 
-  Rect<> expectedLineGeometry = {0, 36, 420, 36};
+  Rect<> expectedLineGeometry = {0, 36, 418, 36};
 
   TestTextGeometryUtils::CheckRectGeometryResult(lineGeometry, expectedLineGeometry);
 
@@ -353,7 +353,7 @@ int UtcDaliTextGeometryGetCharacterBoundingRectangleLabel(void)
 
   std::cout << " characterGeometry "<< characterGeometry <<std::endl;
 
-  Rect<> expectedCharacterGeometry = {13.4844f, 16.0f, 18.7031f, 16.0f};
+  Rect<> expectedCharacterGeometry = {13.0f, 16.0f, 19.0f, 16.0f};
   std::cout<< " expectedCharacterGeometry " << characterGeometry <<std::endl;
 
   std:: cout << "if" << (characterGeometry == expectedCharacterGeometry) <<std::endl;
@@ -381,7 +381,7 @@ int UtcDaliTextGeometryGetCharacterBoundingRectangleEditor(void)
 
   Rect<> characterGeometry = TextGeometry::GetCharacterBoundingRectangle(editor, 1);
 
-  Rect<> expectedCharacterGeometry = {13.4844f, 16.0f, 18.7031f, 16.0f};
+  Rect<> expectedCharacterGeometry = {13.0f, 16.0f, 19.0f, 16.0f};
 
   TestTextGeometryUtils::CheckRectGeometryResult(characterGeometry, expectedCharacterGeometry);
 
@@ -408,7 +408,7 @@ int UtcDaliTextGeometryGetCharacterBoundingRectangleField(void)
 
   Rect<> characterGeometry = TextGeometry::GetCharacterBoundingRectangle(field, 0);
 
-  Rect<> expectedCharacterGeometry = {142.844f, 10.0f, 16.375f, 11.0f};
+  Rect<> expectedCharacterGeometry = {142.0f, 10.0f, 16.0f, 11.0f};
 
   TestTextGeometryUtils::CheckRectGeometryResult(characterGeometry, expectedCharacterGeometry);
 
@@ -465,7 +465,7 @@ int UtcDaliTextGeometryLineSpacingPositiveGetCharacterBoundingRectangleLabel(voi
 
   Rect<> charGeometry = TextGeometry::GetCharacterBoundingRectangle(label, 1);
 
-  Rect<> expectedCharGeometry = {13.4844f, 16.0f, 18.7031f, 16.0f};
+  Rect<> expectedCharGeometry = {13.0f, 16.0f, 19.0f, 16.0f};
 
   TestTextGeometryUtils::CheckRectGeometryResult(charGeometry, expectedCharGeometry);
 
@@ -493,7 +493,7 @@ int UtcDaliTextGeometryWithVerticalLineAlignmentTopGetCharacterBoundingRectangle
 
   Rect<> charGeometry = TextGeometry::GetCharacterBoundingRectangle(label, 1);
 
-  Rect<> expectedCharGeometry = {13.4844f, 16.0f, 18.7031f, 16.0f};
+  Rect<> expectedCharGeometry = {13.0, 16.0f, 19.0f, 16.0f};
 
   TestTextGeometryUtils::CheckRectGeometryResult(charGeometry, expectedCharGeometry);
 
@@ -521,7 +521,7 @@ int UtcDaliTextGeometryWithVerticalLineAlignmentBottomGetCharacterBoundingRectan
 
   Rect<> charGeometry = TextGeometry::GetCharacterBoundingRectangle(label, 1);
 
-  Rect<> expectedCharGeometry = {13.4844f, 16.0f, 18.7031f, 16.0f};
+  Rect<> expectedCharGeometry = {13.0, 16.0f, 19.0f, 16.0f};
 
   TestTextGeometryUtils::CheckRectGeometryResult(charGeometry, expectedCharGeometry);
 
index 1aecd89..bdaeb5b 100644 (file)
@@ -2013,7 +2013,7 @@ int UtcDaliToolkitTextlabelTextFit(void)
   application.SendNotification();
   application.Render();
 
-  const Vector3 EXPECTED_NATURAL_SIZE(450.0f, 96.0f, 0.0f);
+  const Vector3 EXPECTED_NATURAL_SIZE(448.0f, 96.0f, 0.0f);
   DALI_TEST_EQUALS(EXPECTED_NATURAL_SIZE, label.GetNaturalSize(), TEST_LOCATION);
 
   DALI_TEST_CHECK(gTextFitChangedCallBackCalled);
@@ -2069,7 +2069,7 @@ int UtcDaliToolkitTextlabelTextFitStressTest(void)
   application.SendNotification();
   application.Render();
 
-  const Vector3 EXPECTED_NATURAL_SIZE(450.0f, 96.0f, 0.0f);
+  const Vector3 EXPECTED_NATURAL_SIZE(448.0f, 96.0f, 0.0f);
   DALI_TEST_EQUALS(EXPECTED_NATURAL_SIZE, label.GetNaturalSize(), TEST_LOCATION);
 
   DALI_TEST_CHECK(gTextFitChangedCallBackCalled);
@@ -2587,7 +2587,6 @@ int utcDaliTextLabelGeometryRTL(void)
   label.SetProperty(TextLabel::Property::ENABLE_MARKUP, true);
   label.SetProperty(TextLabel::Property::MULTI_LINE, true);
   label.SetProperty(TextLabel::Property::TEXT, "line1 \nline2\nline 3\nالاخيرالسطر");
-
   // Avoid a crash when core load gl resources.
   application.GetGlAbstraction().SetCheckFramebufferStatusResult(GL_FRAMEBUFFER_COMPLETE);
 
@@ -2608,16 +2607,16 @@ int utcDaliTextLabelGeometryRTL(void)
   Vector<Vector2> expectedSizes;
   Vector<Vector2> expectedPositions;
 
-  expectedPositions.PushBack(Vector2(24, 0));
-  expectedSizes.PushBack(Vector2(33, 25));
+  expectedPositions.PushBack(Vector2(25, 0));
+  expectedSizes.PushBack(Vector2(34, 25));
 
   expectedPositions.PushBack(Vector2(-1, 25));
-  expectedSizes.PushBack(Vector2(52, 25));
+  expectedSizes.PushBack(Vector2(53, 25));
 
   expectedPositions.PushBack(Vector2(-1, 50));
-  expectedSizes.PushBack(Vector2(59, 25));
+  expectedSizes.PushBack(Vector2(60, 25));
 
-  expectedPositions.PushBack(Vector2(73, 75));
+  expectedPositions.PushBack(Vector2(75, 75));
   expectedSizes.PushBack(Vector2(37, 25));
 
   TestTextGeometryUtils::CheckGeometryResult(positionsList, sizeList, expectedPositions, expectedSizes);
@@ -2663,7 +2662,7 @@ int utcDaliTextLabelGeometryGlyphMiddle(void)
   Vector<Vector2> expectedPositions;
 
   expectedPositions.PushBack(Vector2(6, 0));
-  expectedSizes.PushBack(Vector2(124, 25));
+  expectedSizes.PushBack(Vector2(125, 25));
 
   TestTextGeometryUtils::CheckGeometryResult(positionsList, sizeList, expectedPositions, expectedSizes);