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>
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
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.
}
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,
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,
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,
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,
{
{12u, 6u},
{12u, 6u},
- 44.f,
+ 43.f,
15.f,
-5.f,
0.f,
{
{18u, 7u},
{18u, 7u},
- 54.f,
+ 53.f,
15.f,
-4.f,
- 6.f,
+ 5.f,
0.f,
0.f,
false,
{
{25u, 9u},
{25u, 10u},
- 68.f,
+ 67.f,
15.f,
-4.f,
- 6.f,
+ 5.f,
0.f,
0.f,
false,
{
{34u, 14u},
{35u, 14u},
- 98.f,
+ 96.f,
15.f,
-4.f,
0.f,
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,
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,
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,
lines.PushBack(line3);
lines.PushBack(line4);
lines.PushBack(line5);
- lines.PushBack(line6);
LayoutTextData data =
{
layoutSize,
48u,
positions,
- 7u,
+ 6u,
lines.Begin(),
Layout::Engine::MULTI_LINE_BOX,
0u,
// 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);
// 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);
// 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);
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;
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};
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
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
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};
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[] =
{
false,
textSize15,
3u,
- 44u,
+ 43u,
positions15},
{"EllipsisPosition: TextLabel: Mulitlines LineWrap-HYPHENATION RTL END",
false,
textSize37,
1u,
- 16u,
+ 15u,
positions37},
{"EllipsisPosition: TextLabel: Mixed Directions Languages START",
false,
textSize38,
1u,
- 17u,
+ 15u,
positions38},
};
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[] =
{
false,
textSize12,
1u,
- 20u,
+ 11u,
positions12},
{"EllipsisPosition: TextField: Mixed Directions Languages END",
false,
textSize13,
1u,
- 16,
+ 15,
positions13},
{"EllipsisPosition: TextField: Mixed Directions Languages START",
false,
textSize14,
1u,
- 17,
+ 15,
positions14},
};
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[] =
false,
textSize12,
3u,
- 44u,
+ 43u,
positions12
},
LineRun line1 =
{
- {0u, 5u},
- {0u, 5u},
+ {0u, 8u},
+ {0u, 8u},
0.f,
0.f,
0.f,
false};
LineRun line2 =
{
- {5u, 8u},
- {5u, 8u},
+ {8u, 5u},
+ {8u, 5u},
0.f,
0.f,
0.f,
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.
}
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,
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,
{
{12u, 6u},
{12u, 6u},
- 44.f,
+ 43.f,
15.f,
-5.f,
0.f,
{
{18u, 7u},
{18u, 7u},
- 54.f,
+ 53.f,
15.f,
-4.f,
- 6.f,
+ 5.f,
0.f,
0.f,
false,
{
{25u, 9u},
{25u, 10u},
- 68.f,
+ 67.f,
15.f,
-4.f,
- 6.f,
+ 5.f,
0.f,
0.f,
false,
{
{34u, 14u},
{35u, 14u},
- 98.f,
+ 96.f,
15.f,
-4.f,
0.f,
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,
{
{12u, 10u},
{12u, 10u},
- 79.f,
+ 78.f,
15.f,
-5.f,
- 5.f,
+ 4.f,
0.f,
0.f,
false,
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);
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,
{
{12u, 12u},
{12u, 12u},
- 98.f,
+ 96.f,
15.f,
-5.f,
0.f,
{
{24u, 5u},
{24u, 5u},
- 44.f,
+ 43.f,
15.f,
-5.f,
0.f,
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,
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,
{
{12u, 5u},
{12u, 5u},
- 44.f,
+ 43.f,
15.f,
-5.f,
0.f,
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},
32.f,
15.f,
-5.f,
- 5.f,
+ 4.f,
0.f,
0.f,
true,
{
{5u, 5u},
{5u, 5u},
- 34.f,
+ 33.f,
15.f,
-5.f,
0.f,
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};
{
{3u, 3u},
{3u, 3u},
- 22.f,
+ 21.f,
15.f,
-5.f,
0.f,
{
{6u, 3u},
{6u, 3u},
- 24.f,
+ 23.f,
15.f,
-5.f,
0.f,
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,
false};
struct LineRun line05 =
{
- {42, 12u},
- {42, 12u},
- 79.f,
+ {48, 11u},
+ {48, 11u},
+ 78.f,
15.f,
-5.f,
4.f,
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 =
{
70.f,
15.f,
-5.f,
- 5.f,
+ 4.f,
0.f,
0.f,
true,
{
{74u, 12u},
{74u, 12u},
- 79.f,
+ 77.f,
15.f,
-5.f,
4.f,
{
{86u, 6u},
{86u, 6u},
- 45.f,
+ 44.f,
15.f,
-5.f,
0.f,
{
{92u, 12u},
{92u, 12u},
- 79.f,
+ 77.f,
15.f,
-5.f,
4.f,
{
{104u, 19u},
{104u, 19u},
- 100.f,
+ 98.f,
15.f,
-5.f,
- 5.f,
+ 4.f,
0.f,
0.f,
false,
{
{128u, 12u},
{128u, 12u},
- 81.f,
+ 79.f,
15.f,
-5.f,
4.f,
{
{140u, 10u},
{140u, 10u},
- 79.f,
+ 78.f,
15.f,
-5.f,
- 5.f,
+ 4.f,
0.f,
0.f,
false,
70.f,
15.f,
-5.f,
- 5.f,
+ 4.f,
0.f,
0.f,
true,
{
{166u, 12u},
{166u, 12u},
- 79.f,
+ 77.f,
15.f,
-5.f,
4.f,
{
{178u, 14u},
{178u, 14u},
- 63.f,
+ 62.f,
15.f,
-5.f,
0.f,
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,
{
{12u, 10u},
{12u, 10u},
- 79.f,
+ 78.f,
15.f,
-5.f,
- 5.f,
+ 4.f,
0.f,
0.f,
false,
false};
struct LineRun line04 =
{
- {28u, 14u},
- {28u, 14u},
- 63.f,
+ {28u, 20u},
+ {28u, 20u},
+ 99.f,
15.f,
-5.f,
4.f,
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 =
{
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,
{
{104u, 19u},
{104u, 19u},
- 100.f,
+ 98.f,
15.f,
-5.f,
- 5.f,
+ 4.f,
0.f,
0.f,
false,
{
{128u, 12u},
{128u, 12u},
- 81.f,
+ 79.f,
15.f,
-5.f,
4.f,
{
{140u, 10u},
{140u, 10u},
- 79.f,
+ 78.f,
15.f,
-5.f,
- 5.f,
+ 4.f,
0.f,
0.f,
false,
70.f,
15.f,
-5.f,
- 5.f,
+ 4.f,
0.f,
0.f,
false,
{
{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 =
{
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,
{
{12u, 10u},
{12u, 10u},
- 79.f,
+ 78.f,
15.f,
-5.f,
- 5.f,
+ 4.f,
0.f,
0.f,
false,
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 =
{
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,
{
{104u, 19u},
{104u, 19u},
- 100.f,
+ 98.f,
15.f,
-5.f,
- 5.f,
+ 4.f,
0.f,
0.f,
false,
{
{128u, 12u},
{128u, 12u},
- 81.f,
+ 79.f,
15.f,
-5.f,
4.f,
{
{140u, 10u},
{140u, 10u},
- 79.f,
+ 78.f,
15.f,
-5.f,
- 5.f,
+ 4.f,
0.f,
0.f,
false,
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 =
{
struct LineRun line01 =
{
- {0u, 13u},
- {0u, 13u},
- 93.f,
+ {0u, 14u},
+ {0u, 14u},
+ 100.f,
15.f,
-5.f,
0.f,
-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,
};
{
{0u, 12u},
{0u, 12u},
- 81.f,
+ 79.f,
15.f,
-5.f,
4.f,
{
{12u, 12u},
{12u, 12u},
- 95.f,
+ 94.f,
15.f,
-5.f,
0.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,
- -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);
{
87.f,
-10.f,
- 79.f,
+ 78.f,
-13.f,
74.f,
-10.f,
- 65.f,
+ 64.f,
-10.f,
60.f,
-0.f,
-10.f,
38.f,
-13.f,
- 29.f,
+ 28.f,
-10.f,
24.f,
-0.f,
-8.f,
0.f,
-7.f,
- 78.f,
+ 77.f,
-11.f,
- 73.f,
+ 72.f,
-0.f,
};
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);
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);
{
{0u, 11u},
{0u, 11u},
- 80.f,
+ 79.f,
15.f,
-5.f,
0.f,
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 =
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 =
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 =
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 =
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 =
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 =
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 =
fontDescriptionRun02.slantDefined = false;
fontDescriptionRun02.sizeDefined = false;
+
// Set a known font description
FontDescriptionRun fontDescriptionRun03;
fontDescriptionRun03.characterRun.characterIndex = 0u;
fontDescriptionRun03.slantDefined = false;
fontDescriptionRun03.sizeDefined = false;
+
Vector<FontDescriptionRun> fontDescriptionRuns01;
fontDescriptionRuns01.PushBack(fontDescriptionRun01);
{
{0u, 2u},
{0u, 2u},
- 16.f,
+ 15.f,
15.f,
-5.f,
0.f,
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};
{
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;
}
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;
{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},
{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},
{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},
};
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},
};
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},
{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},
{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},
{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},
{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},
};
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},
};
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};
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};
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);
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);
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);
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);
Vector<Vector2> expectedPositions;
expectedPositions.PushBack(Vector2(6, 0));
- expectedSizes.PushBack(Vector2(124, 25));
+ expectedSizes.PushBack(Vector2(125, 25));
TestTextGeometryUtils::CheckGeometryResult(positionsList, sizeList, expectedPositions, expectedSizes);
Vector<Vector2> expectedPositions;
expectedPositions.PushBack(Vector2(14, 0));
- expectedSizes.PushBack(Vector2(106, 25));
+ expectedSizes.PushBack(Vector2(107, 25));
TestTextGeometryUtils::CheckGeometryResult(positionsList, sizeList, expectedPositions, expectedSizes);
Vector<Vector2> expectedPositions;
expectedPositions.PushBack(Vector2(-2, 0));
- expectedSizes.PushBack(Vector2(122, 25));
+ expectedSizes.PushBack(Vector2(123, 25));
TestTextGeometryUtils::CheckGeometryResult(positionsList, sizeList, expectedPositions, expectedSizes);
Vector<Vector2> expectedPositions;
expectedPositions.PushBack(Vector2(38, 0));
- expectedSizes.PushBack(Vector2(73, 25));
+ expectedSizes.PushBack(Vector2(75, 25));
TestTextGeometryUtils::CheckGeometryResult(positionsList, sizeList, expectedPositions, expectedSizes);
Vector<Vector2> expectedPositions;
expectedPositions.PushBack(Vector2(6, 0));
- expectedSizes.PushBack(Vector2(124, 25));
+ expectedSizes.PushBack(Vector2(125, 25));
TestTextGeometryUtils::CheckGeometryResult(positionsList, sizeList, expectedPositions, expectedSizes);
Rect<> lineGeometry = TextGeometry::GetLineBoundingRectangle(label, 1);
- Rect<> expectedLineGeometry = {0, 16, 420, 16};
+ Rect<> expectedLineGeometry = {0, 16, 418, 16};
TestTextGeometryUtils::CheckRectGeometryResult(lineGeometry, expectedLineGeometry);
Rect<> lineGeometry = TextGeometry::GetLineBoundingRectangle(field, 0);
- Rect<> expectedLineGeometry = {0, 0, 163, 36};
+ Rect<> expectedLineGeometry = {0, 0, 162, 36};
TestTextGeometryUtils::CheckRectGeometryResult(lineGeometry, expectedLineGeometry);
Rect<> lineGeometry = TextGeometry::GetLineBoundingRectangle(label, 1);
- Rect<> expectedLineGeometry = {0, 56, 420, 56};
+ Rect<> expectedLineGeometry = {0, 56, 418, 56};
TestTextGeometryUtils::CheckRectGeometryResult(lineGeometry, expectedLineGeometry);
Rect<> lineGeometry = TextGeometry::GetLineBoundingRectangle(label, 1);
- Rect<> expectedLineGeometry = {0, 36, 420, 36};
+ Rect<> expectedLineGeometry = {0, 36, 418, 36};
TestTextGeometryUtils::CheckRectGeometryResult(lineGeometry, expectedLineGeometry);
Rect<> lineGeometry = TextGeometry::GetLineBoundingRectangle(label, 1);
- Rect<> expectedLineGeometry = {0, 36, 420, 36};
+ Rect<> expectedLineGeometry = {0, 36, 418, 36};
TestTextGeometryUtils::CheckRectGeometryResult(lineGeometry, expectedLineGeometry);
Rect<> lineGeometry = TextGeometry::GetLineBoundingRectangle(label, 1);
- Rect<> expectedLineGeometry = {0, 36, 420, 36};
+ Rect<> expectedLineGeometry = {0, 36, 418, 36};
TestTextGeometryUtils::CheckRectGeometryResult(lineGeometry, expectedLineGeometry);
Rect<> lineGeometry = TextGeometry::GetLineBoundingRectangle(label, 1);
- Rect<> expectedLineGeometry = {0, 36, 420, 36};
+ Rect<> expectedLineGeometry = {0, 36, 418, 36};
TestTextGeometryUtils::CheckRectGeometryResult(lineGeometry, expectedLineGeometry);
Rect<> lineGeometry = TextGeometry::GetLineBoundingRectangle(label, 1);
- Rect<> expectedLineGeometry = {0, 36, 420, 36};
+ Rect<> expectedLineGeometry = {0, 36, 418, 36};
TestTextGeometryUtils::CheckRectGeometryResult(lineGeometry, expectedLineGeometry);
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;
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);
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);
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);
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);
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);
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);
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);
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);
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);
Vector<Vector2> expectedPositions;
expectedPositions.PushBack(Vector2(6, 0));
- expectedSizes.PushBack(Vector2(124, 25));
+ expectedSizes.PushBack(Vector2(125, 25));
TestTextGeometryUtils::CheckGeometryResult(positionsList, sizeList, expectedPositions, expectedSizes);