2 * Copyright (c) 2014 Samsung Electronics Co., Ltd.
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
20 #include <dali-test-suite-utils.h>
21 #include <dali/dali.h>
22 #include <dali/devel-api/text-abstraction/font-client.h>
23 #include <dali/internal/text/text-abstraction/plugin/font-client-utils.h>
31 int UtcDaliFontClient(void)
33 const int ORDERED_VALUES[] = {-1, 50, 63, 75, 87, 100, 113, 125, 150, 200};
35 const unsigned int NUM_OF_ORDERED_VALUES = sizeof(ORDERED_VALUES) / sizeof(int);
37 TestApplication application;
40 tet_infoline("UtcDaliFontClient No table");
41 result = TextAbstraction::Internal::ValueToIndex(100, NULL, 0u);
42 DALI_TEST_EQUALS(-1, result, TEST_LOCATION);
44 tet_infoline("UtcDaliFontClient Non defined values");
45 result = TextAbstraction::Internal::ValueToIndex(-1, ORDERED_VALUES, NUM_OF_ORDERED_VALUES - 1u);
46 DALI_TEST_EQUALS(0, result, TEST_LOCATION);
47 result = TextAbstraction::Internal::ValueToIndex(-3, ORDERED_VALUES, NUM_OF_ORDERED_VALUES - 1u);
48 DALI_TEST_EQUALS(0, result, TEST_LOCATION);
50 tet_infoline("UtcDaliFontClient Between non defined and first of range.");
51 result = TextAbstraction::Internal::ValueToIndex(0, ORDERED_VALUES, NUM_OF_ORDERED_VALUES - 1u);
52 DALI_TEST_EQUALS(1, result, TEST_LOCATION);
53 result = TextAbstraction::Internal::ValueToIndex(30, ORDERED_VALUES, NUM_OF_ORDERED_VALUES - 1u);
54 DALI_TEST_EQUALS(1, result, TEST_LOCATION);
55 result = TextAbstraction::Internal::ValueToIndex(49, ORDERED_VALUES, NUM_OF_ORDERED_VALUES - 1u);
56 DALI_TEST_EQUALS(1, result, TEST_LOCATION);
58 tet_infoline("UtcDaliFontClient Defined in range");
59 for(unsigned int index = 1u; index < NUM_OF_ORDERED_VALUES; ++index)
61 result = TextAbstraction::Internal::ValueToIndex(ORDERED_VALUES[index], ORDERED_VALUES, NUM_OF_ORDERED_VALUES - 1u);
62 DALI_TEST_EQUALS(index, result, TEST_LOCATION);
65 tet_infoline("UtcDaliFontClient Non defined in range");
66 result = TextAbstraction::Internal::ValueToIndex(51, ORDERED_VALUES, NUM_OF_ORDERED_VALUES - 1u);
67 DALI_TEST_EQUALS(1, result, TEST_LOCATION);
68 result = TextAbstraction::Internal::ValueToIndex(55, ORDERED_VALUES, NUM_OF_ORDERED_VALUES - 1u);
69 DALI_TEST_EQUALS(1, result, TEST_LOCATION);
70 result = TextAbstraction::Internal::ValueToIndex(62, ORDERED_VALUES, NUM_OF_ORDERED_VALUES - 1u);
71 DALI_TEST_EQUALS(2, result, TEST_LOCATION);
72 result = TextAbstraction::Internal::ValueToIndex(64, ORDERED_VALUES, NUM_OF_ORDERED_VALUES - 1u);
73 DALI_TEST_EQUALS(2, result, TEST_LOCATION);
74 result = TextAbstraction::Internal::ValueToIndex(151, ORDERED_VALUES, NUM_OF_ORDERED_VALUES - 1u);
75 DALI_TEST_EQUALS(8, result, TEST_LOCATION);
76 result = TextAbstraction::Internal::ValueToIndex(175, ORDERED_VALUES, NUM_OF_ORDERED_VALUES - 1u);
77 DALI_TEST_EQUALS(9, result, TEST_LOCATION);
78 result = TextAbstraction::Internal::ValueToIndex(176, ORDERED_VALUES, NUM_OF_ORDERED_VALUES - 1u);
79 DALI_TEST_EQUALS(9, result, TEST_LOCATION);
80 result = TextAbstraction::Internal::ValueToIndex(199, ORDERED_VALUES, NUM_OF_ORDERED_VALUES - 1u);
81 DALI_TEST_EQUALS(9, result, TEST_LOCATION);
83 tet_infoline("UtcDaliFontClient above of range");
84 result = TextAbstraction::Internal::ValueToIndex(220, ORDERED_VALUES, NUM_OF_ORDERED_VALUES - 1u);
85 DALI_TEST_EQUALS(9, result, TEST_LOCATION);
86 result = TextAbstraction::Internal::ValueToIndex(500, ORDERED_VALUES, NUM_OF_ORDERED_VALUES - 1u);
87 DALI_TEST_EQUALS(9, result, TEST_LOCATION);
92 int UtcDaliFontClientAtlasLimitation(void)
94 TestApplication application;
96 TextAbstraction::FontClient fontClient = TextAbstraction::FontClient::Get();
98 tet_infoline("UtcDaliFontClientAtlasLimitation Default");
99 result = fontClient.IsAtlasLimitationEnabled();
100 DALI_TEST_EQUALS(TextAbstraction::FontClient::DEFAULT_ATLAS_LIMITATION_ENABLED, result, TEST_LOCATION);
102 tet_infoline("UtcDaliFontClientAtlasLimitation Enabled");
103 fontClient.EnableAtlasLimitation(true);
104 result = fontClient.IsAtlasLimitationEnabled();
105 DALI_TEST_EQUALS(true, result, TEST_LOCATION);
107 tet_infoline("UtcDaliFontClientAtlasLimitation Disabled");
108 fontClient.EnableAtlasLimitation(false);
109 result = fontClient.IsAtlasLimitationEnabled();
110 DALI_TEST_EQUALS(false, result, TEST_LOCATION);
114 const std::string DEFAULT_FONT_DIR("/resources/fonts");
115 const uint32_t MAX_WIDTH_FIT_IN_ATLAS = TextAbstraction::FontClient::MAX_TEXT_ATLAS_WIDTH - TextAbstraction::FontClient::PADDING_TEXT_ATLAS_BLOCK;
116 const uint32_t MAX_HEIGHT_FIT_IN_ATLAS = TextAbstraction::FontClient::MAX_TEXT_ATLAS_HEIGHT - TextAbstraction::FontClient::PADDING_TEXT_ATLAS_BLOCK;
118 int UtcDaliFontClientAtlasLimitationEnabled(void)
120 TestApplication application;
122 char* pathNamePtr = get_current_dir_name();
123 const std::string pathName(pathNamePtr);
126 TextAbstraction::FontClient fontClient = TextAbstraction::FontClient::Get();
127 fontClient.EnableAtlasLimitation(true);
129 // The font file "DejaVuSans.ttf" is copied from Toolkit to Adaptor to make test-case of specific font-family.
130 // Note the block size depends on font-family.
131 // This is to create FontDescription and pass it to GetFontId with point-size (various cases).
132 TextAbstraction::FontDescription fontDescription;
133 fontDescription.path = pathName + DEFAULT_FONT_DIR + "/dejavu/DejaVuSans.ttf";
134 fontDescription.family = "DejaVuSans";
135 fontDescription.width = TextAbstraction::FontWidth::NONE;
136 fontDescription.weight = TextAbstraction::FontWeight::NORMAL;
137 fontDescription.slant = TextAbstraction::FontSlant::NONE;
139 // Block's width or height are less than 512
140 tet_infoline("UtcDaliFontClientAtlasLimitationEnabled PointSize=200");
141 uint32_t pointSize200 = 200 * TextAbstraction::FontClient::NUMBER_OF_POINTS_PER_ONE_UNIT_OF_POINT_SIZE;
142 TextAbstraction::FontId fontId200 = fontClient.GetFontId(fontDescription, pointSize200);
143 TextAbstraction::FontClient::GlyphBufferData glyphBufferData200;
144 glyphBufferData200.width = 0;
145 glyphBufferData200.height = 0;
146 fontClient.CreateBitmap(fontId200, 68, false, false, glyphBufferData200, 0);
148 DALI_TEST_GREATER(MAX_WIDTH_FIT_IN_ATLAS, glyphBufferData200.width, TEST_LOCATION);
149 DALI_TEST_GREATER(MAX_HEIGHT_FIT_IN_ATLAS, glyphBufferData200.height, TEST_LOCATION);
151 // Block's width or height are greater than 512 and less than 1024
152 uint32_t pointSize1000 = 1000 * TextAbstraction::FontClient::NUMBER_OF_POINTS_PER_ONE_UNIT_OF_POINT_SIZE;
153 tet_infoline("UtcDaliFontClientAtlasLimitationEnabled PointSize=1000");
154 TextAbstraction::FontId fontId1000 = fontClient.GetFontId(fontDescription, pointSize1000);
155 TextAbstraction::FontClient::GlyphBufferData glyphBufferData1000;
156 glyphBufferData1000.width = 0;
157 glyphBufferData1000.height = 0;
158 fontClient.CreateBitmap(fontId1000, 68, false, false, glyphBufferData1000, 0);
160 DALI_TEST_GREATER(MAX_WIDTH_FIT_IN_ATLAS, glyphBufferData1000.width, TEST_LOCATION);
161 DALI_TEST_GREATER(MAX_HEIGHT_FIT_IN_ATLAS, glyphBufferData1000.height, TEST_LOCATION);
163 // Block's width or height are greater than 1024 and less than 2048
164 uint32_t pointSize2000 = 2000 * TextAbstraction::FontClient::NUMBER_OF_POINTS_PER_ONE_UNIT_OF_POINT_SIZE;
165 tet_infoline("UtcDaliFontClientAtlasLimitationEnabled PointSize=2000");
166 TextAbstraction::FontId fontId2000 = fontClient.GetFontId(fontDescription, pointSize2000);
167 TextAbstraction::FontClient::GlyphBufferData glyphBufferData2000;
168 glyphBufferData2000.width = 0;
169 glyphBufferData2000.height = 0;
170 fontClient.CreateBitmap(fontId2000, 68, false, false, glyphBufferData2000, 0);
172 DALI_TEST_GREATER(MAX_WIDTH_FIT_IN_ATLAS, glyphBufferData2000.width, TEST_LOCATION);
173 DALI_TEST_GREATER(MAX_HEIGHT_FIT_IN_ATLAS, glyphBufferData2000.height, TEST_LOCATION);
178 int UtcDaliFontClientAtlasLimitationDisabled(void)
180 TestApplication application;
182 char* pathNamePtr = get_current_dir_name();
183 const std::string pathName(pathNamePtr);
186 TextAbstraction::FontClient fontClient = TextAbstraction::FontClient::Get();
187 fontClient.EnableAtlasLimitation(false);
189 TextAbstraction::FontDescription fontDescription;
190 fontDescription.path = pathName + DEFAULT_FONT_DIR + "/dejavu/DejaVuSans.ttf";
191 fontDescription.family = "DejaVuSans";
192 fontDescription.width = TextAbstraction::FontWidth::NONE;
193 fontDescription.weight = TextAbstraction::FontWeight::NORMAL;
194 fontDescription.slant = TextAbstraction::FontSlant::NONE;
196 // Block's width or height are less than 512
197 tet_infoline("UtcDaliFontClientAtlasLimitationDisabled PointSize=200");
198 uint32_t pointSize200 = 200 * TextAbstraction::FontClient::NUMBER_OF_POINTS_PER_ONE_UNIT_OF_POINT_SIZE;
199 TextAbstraction::FontId fontId200 = fontClient.GetFontId(fontDescription, pointSize200);
200 TextAbstraction::FontClient::GlyphBufferData glyphBufferData200;
201 glyphBufferData200.width = 0;
202 glyphBufferData200.height = 0;
203 fontClient.CreateBitmap(fontId200, 68, false, false, glyphBufferData200, 0);
205 DALI_TEST_GREATER(512u, glyphBufferData200.width, TEST_LOCATION); //93u
206 DALI_TEST_GREATER(512u, glyphBufferData200.height, TEST_LOCATION); //115u
208 // Block's width or height are greater than 512 and less than 1024
209 tet_infoline("UtcDaliFontClientAtlasLimitationDisabled PointSize=1000");
210 uint32_t pointSize1000 = 1000 * TextAbstraction::FontClient::NUMBER_OF_POINTS_PER_ONE_UNIT_OF_POINT_SIZE;
211 TextAbstraction::FontId fontId1000 = fontClient.GetFontId(fontDescription, pointSize1000);
212 TextAbstraction::FontClient::GlyphBufferData glyphBufferData1000;
213 glyphBufferData1000.width = 0;
214 glyphBufferData1000.height = 0;
215 fontClient.CreateBitmap(fontId1000, 68, false, false, glyphBufferData1000, 0);
217 DALI_TEST_GREATER(512u, glyphBufferData1000.width, TEST_LOCATION); //462u
218 DALI_TEST_GREATER(glyphBufferData1000.height, 512u, TEST_LOCATION); //574u
220 // Block's width or height are greater than 1024 and less than 2048
221 tet_infoline("UtcDaliFontClientAtlasLimitationDisabled PointSize=2000");
222 uint32_t pointSize2000 = 2000 * TextAbstraction::FontClient::NUMBER_OF_POINTS_PER_ONE_UNIT_OF_POINT_SIZE;
223 TextAbstraction::FontId fontId2000 = fontClient.GetFontId(fontDescription, pointSize2000);
224 TextAbstraction::FontClient::GlyphBufferData glyphBufferData2000;
225 glyphBufferData2000.width = 0;
226 glyphBufferData2000.height = 0;
227 fontClient.CreateBitmap(fontId2000, 68, false, false, glyphBufferData2000, 0);
229 DALI_TEST_GREATER(1024u, glyphBufferData2000.width, TEST_LOCATION); //924u
230 DALI_TEST_GREATER(glyphBufferData2000.height, 1024u, TEST_LOCATION); //1148u
235 int UtcDaliFontClientCurrentMaximumBlockSizeFitInAtlas(void)
237 TestApplication application;
238 tet_infoline(" UtcDaliFontClientCurrentMaximumBlockSizeFitInAtlas ");
241 TextAbstraction::FontClient fontClient;
242 fontClient = TextAbstraction::FontClient::Get();
244 Size defaultTextAtlasSize = fontClient.GetDefaultTextAtlasSize();
245 Size maximumTextAtlasSize = fontClient.GetMaximumTextAtlasSize();
246 Size currentMaximumBlockSizeFitInAtlas = fontClient.GetCurrentMaximumBlockSizeFitInAtlas();
248 tet_infoline("CurrentMaximumBlockSizeFitInAtlas start with default ");
249 DALI_TEST_EQUALS(currentMaximumBlockSizeFitInAtlas, defaultTextAtlasSize, TEST_LOCATION);
251 tet_infoline("SetCurrentMaximumBlockSizeFitInAtlas is changed with current ");
252 isChanged = fontClient.SetCurrentMaximumBlockSizeFitInAtlas(currentMaximumBlockSizeFitInAtlas);
253 DALI_TEST_CHECK(isChanged);
255 Size decreaseOnlyWidth(currentMaximumBlockSizeFitInAtlas.width - 1u, currentMaximumBlockSizeFitInAtlas.height);
256 tet_infoline("SetCurrentMaximumBlockSizeFitInAtlas is changed with width < current ");
257 isChanged = fontClient.SetCurrentMaximumBlockSizeFitInAtlas(decreaseOnlyWidth);
258 DALI_TEST_CHECK(isChanged);
260 Size decreaseOnlyHeigth(currentMaximumBlockSizeFitInAtlas.width, currentMaximumBlockSizeFitInAtlas.height - 1u);
261 tet_infoline("SetCurrentMaximumBlockSizeFitInAtlas is changed with height < current ");
262 isChanged = fontClient.SetCurrentMaximumBlockSizeFitInAtlas(decreaseOnlyHeigth);
263 DALI_TEST_CHECK(isChanged);
265 Size decreaseBoth(currentMaximumBlockSizeFitInAtlas.width - 1u, currentMaximumBlockSizeFitInAtlas.height - 1u);
266 tet_infoline("SetCurrentMaximumBlockSizeFitInAtlas is changed with size < current ");
267 isChanged = fontClient.SetCurrentMaximumBlockSizeFitInAtlas(decreaseBoth);
268 DALI_TEST_CHECK(isChanged);
270 Size increaseOnlyWidth(maximumTextAtlasSize.width + 1u, currentMaximumBlockSizeFitInAtlas.height);
271 tet_infoline("SetCurrentMaximumBlockSizeFitInAtlas is not changed with width > max ");
272 isChanged = fontClient.SetCurrentMaximumBlockSizeFitInAtlas(increaseOnlyWidth);
273 DALI_TEST_CHECK(!isChanged);
275 Size increaseOnlyHeigth(currentMaximumBlockSizeFitInAtlas.width, maximumTextAtlasSize.height + 1u);
276 tet_infoline("SetCurrentMaximumBlockSizeFitInAtlas is not changed with height > max ");
277 isChanged = fontClient.SetCurrentMaximumBlockSizeFitInAtlas(increaseOnlyHeigth);
278 DALI_TEST_CHECK(!isChanged);
280 Size increaseBoth(maximumTextAtlasSize.width + 1u, maximumTextAtlasSize.height + 1u);
281 tet_infoline("SetCurrentMaximumBlockSizeFitInAtlas is not changed with size > max ");
282 isChanged = fontClient.SetCurrentMaximumBlockSizeFitInAtlas(increaseBoth);
283 DALI_TEST_CHECK(!isChanged);
285 currentMaximumBlockSizeFitInAtlas = fontClient.GetCurrentMaximumBlockSizeFitInAtlas();
286 if(currentMaximumBlockSizeFitInAtlas.width < maximumTextAtlasSize.width && currentMaximumBlockSizeFitInAtlas.height < maximumTextAtlasSize.height)
288 tet_infoline("SetCurrentMaximumBlockSizeFitInAtlas is changed with current < size < max ");
289 Size increaseWidth = Size(currentMaximumBlockSizeFitInAtlas.width + 1u, currentMaximumBlockSizeFitInAtlas.height);
290 isChanged = fontClient.SetCurrentMaximumBlockSizeFitInAtlas(increaseWidth);
291 DALI_TEST_CHECK(isChanged);
292 currentMaximumBlockSizeFitInAtlas = fontClient.GetCurrentMaximumBlockSizeFitInAtlas();
294 Size increaseHeigth = Size(currentMaximumBlockSizeFitInAtlas.width, currentMaximumBlockSizeFitInAtlas.height + 1u);
295 isChanged = fontClient.SetCurrentMaximumBlockSizeFitInAtlas(increaseHeigth);
296 DALI_TEST_CHECK(isChanged);
297 currentMaximumBlockSizeFitInAtlas = fontClient.GetCurrentMaximumBlockSizeFitInAtlas();
299 Size sizeLessThanMax = Size(currentMaximumBlockSizeFitInAtlas.width + 1u, currentMaximumBlockSizeFitInAtlas.height + 1u);
300 isChanged = fontClient.SetCurrentMaximumBlockSizeFitInAtlas(sizeLessThanMax);
302 if(currentMaximumBlockSizeFitInAtlas.width < maximumTextAtlasSize.width && currentMaximumBlockSizeFitInAtlas.height < maximumTextAtlasSize.height)
304 DALI_TEST_CHECK(isChanged);
308 DALI_TEST_CHECK(!isChanged);
311 currentMaximumBlockSizeFitInAtlas = fontClient.GetCurrentMaximumBlockSizeFitInAtlas();
313 DALI_TEST_NOT_EQUALS(currentMaximumBlockSizeFitInAtlas, defaultTextAtlasSize, 0.0f, TEST_LOCATION);
314 DALI_TEST_EQUALS(currentMaximumBlockSizeFitInAtlas, sizeLessThanMax, TEST_LOCATION);
316 tet_infoline("SetCurrentMaximumBlockSizeFitInAtlas is not changed with size == max ");
317 isChanged = fontClient.SetCurrentMaximumBlockSizeFitInAtlas(maximumTextAtlasSize);
318 DALI_TEST_CHECK(!isChanged);
321 currentMaximumBlockSizeFitInAtlas = fontClient.GetCurrentMaximumBlockSizeFitInAtlas();
322 DALI_TEST_NOT_EQUALS(currentMaximumBlockSizeFitInAtlas, maximumTextAtlasSize, 0.0f, TEST_LOCATION);
327 int UtcDaliFontClientTextAtlasConstants(void)
329 TestApplication application;
330 tet_infoline(" UtcDaliFontClientTextAtlasConstants ");
332 TextAbstraction::FontClient fontClient;
333 fontClient = TextAbstraction::FontClient::Get();
335 Size defaultTextAtlasSize = fontClient.GetDefaultTextAtlasSize();
336 Size defaultTextAtlasWidthHeight(TextAbstraction::FontClient::DEFAULT_TEXT_ATLAS_WIDTH, TextAbstraction::FontClient::DEFAULT_TEXT_ATLAS_HEIGHT);
337 DALI_TEST_EQUALS(defaultTextAtlasSize, TextAbstraction::FontClient::DEFAULT_TEXT_ATLAS_SIZE, TEST_LOCATION);
338 DALI_TEST_EQUALS(defaultTextAtlasSize, defaultTextAtlasWidthHeight, TEST_LOCATION);
340 Size maximumTextAtlasSize = fontClient.GetMaximumTextAtlasSize();
341 Size maxTextAtlasWidthHeight(TextAbstraction::FontClient::MAX_TEXT_ATLAS_WIDTH, TextAbstraction::FontClient::MAX_TEXT_ATLAS_HEIGHT);
342 DALI_TEST_EQUALS(maximumTextAtlasSize, TextAbstraction::FontClient::MAX_TEXT_ATLAS_SIZE, TEST_LOCATION);
343 DALI_TEST_EQUALS(maximumTextAtlasSize, maxTextAtlasWidthHeight, TEST_LOCATION);
345 uint32_t numberOfPointsPerOneUnitOfPointSize = fontClient.GetNumberOfPointsPerOneUnitOfPointSize();
346 DALI_TEST_EQUALS(numberOfPointsPerOneUnitOfPointSize, TextAbstraction::FontClient::NUMBER_OF_POINTS_PER_ONE_UNIT_OF_POINT_SIZE, TEST_LOCATION);
351 using namespace Dali::TextAbstraction;
353 int UtcDaliFontClientGetDefaultFonts(void)
355 TestApplication application;
356 tet_infoline(" UtcDaliFontClientGetDefaultFonts ");
358 FontClient fontClient;
359 fontClient = FontClient::Get();
362 fontClient.GetDefaultFonts(fontList);
364 std::ostringstream oss;
365 oss << fontList << std::endl;
367 tet_printf("FontList: %s", oss.str().c_str());
368 DALI_TEST_CHECK(fontList.size() > 0);
373 int UtcDaliFontClientGetSystemFonts(void)
375 TestApplication application;
376 tet_infoline(" UtcDaliFontClientGetSystemFonts ");
378 FontClient fontClient;
379 fontClient = FontClient::Get();
382 fontClient.GetSystemFonts(fontList);
384 std::ostringstream oss;
385 oss << fontList << std::endl;
387 tet_printf("FontList: %s", oss.str().c_str());
388 DALI_TEST_CHECK(fontList.size() > 0);
390 const PointSize26Dot6 pointSize = fontClient.GetPointSize(fontList.size());
391 DALI_TEST_EQUALS(pointSize, FontClient::DEFAULT_POINT_SIZE, TEST_LOCATION);
396 std::ostream& operator<<(std::ostream& o, const FontDescription& description)
398 o << "Font path: " << description.path << " family: "
399 << " width : " << description.width << " weight : " << description.weight << " slant : " << description.slant << std::endl;
403 int UtcDaliFontClientFindFallbackFont(void)
405 TestApplication application;
406 tet_infoline(" UtcDaliFontClientFindFallbackFont ");
408 FontClient fontClient;
409 fontClient = FontClient::Get();
412 fontClient.GetSystemFonts(fontList);
413 DALI_TEST_CHECK(fontList.size() > 0);
415 const std::string emptyString;
416 FontDescription fontDescription;
417 fontDescription.width = FontWidth::NORMAL;
418 fontDescription.weight = FontWeight::NORMAL;
419 fontDescription.slant = FontSlant::NORMAL;
420 fontDescription.type = FontDescription::BITMAP_FONT;
422 std::ostringstream oss;
423 oss << fontDescription;
424 tet_printf("Looking for: %s", oss.str().c_str());
426 FontId fontId = fontClient.FindFallbackFont('A',
428 FontClient::DEFAULT_POINT_SIZE,
430 DALI_TEST_CHECK(fontId != 0);
432 fontClient.GetDescription(fontId, fontDescription);
434 oss << fontDescription;
435 tet_printf("Found: %d: %s", fontId, oss.str().c_str());
437 bool color = fontClient.IsColorGlyph(fontId, fontClient.GetGlyphIndex(fontId, 'A'));
438 DALI_TEST_CHECK(color || 1);
442 int UtcDaliFontClientGetDefaultPlatformFontDescription(void)
444 TestApplication application;
445 tet_infoline(" UtcDaliFontClientGetDefaultPlatformFontDescription");
447 FontClient fontClient;
448 fontClient = FontClient::Get();
450 FontDescription fontDescription;
451 fontClient.GetDefaultPlatformFontDescription(fontDescription);
453 std::ostringstream oss;
454 oss << fontDescription;
455 tet_printf("%s", oss.str().c_str());
457 DALI_TEST_CHECK(fontDescription.path.empty() == false);
459 FontId fontId = fontClient.FindFallbackFont('A',
461 FontClient::DEFAULT_POINT_SIZE,
464 bool supported = fontClient.IsCharacterSupportedByFont(fontId, 'A');
465 DALI_TEST_EQUALS(supported, true, TEST_LOCATION);