1 /*
2 * Copyright (c) 2024 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 * http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15 #include "../../dtk_test_ext.h"
16 #include "text/font.h"
17 #include "recording/mem_allocator.h"
18 #include "text/font_mgr.h"
19 #include "text/font_style_set.h"
20 #include "text/rs_xform.h"
21 #include "utils/point.h"
22 #include "utils/rect.h"
23 #include "text/typeface.h"
24
25 /*
26 测试类:FontMgr
27 测试接口:LoadDynamicFont
28 测试内容:对接口入参familyName、data和size取值组合,构造typeface字体格式,并指定在font上,最终通过drawtextblob接口将text内容绘制在画布上
29 */
30
31 namespace OHOS {
32 namespace Rosen {
33
MakeData(std::shared_ptr<Drawing::FontMgr> & fontMgr,bool createstyleset)34 static std::shared_ptr<Drawing::Data> MakeData(std::shared_ptr<Drawing::FontMgr>& fontMgr, bool createstyleset)
35 {
36 std::shared_ptr<Drawing::Typeface> typeface;
37
38 if (createstyleset) {
39 std::shared_ptr<Drawing::FontStyleSet> fontStyleSet(fontMgr->CreateStyleSet(0));
40 typeface = std::shared_ptr<Drawing::Typeface>(fontStyleSet->CreateTypeface(0));
41 } else {
42 std::string emoji_familyName = "HMOS Color Emoji";
43 std::shared_ptr<Drawing::FontStyleSet> fontStyleSet(fontMgr->MatchFamily(emoji_familyName.c_str()));
44 typeface = std::shared_ptr<Drawing::Typeface>(fontStyleSet->CreateTypeface(0));
45 }
46
47 auto data = typeface->Serialize();
48 return data;
49 }
50
DrawTexts(TestPlaybackCanvas * playbackCanvas,std::shared_ptr<Drawing::Typeface> & typeface)51 static void DrawTexts(TestPlaybackCanvas* playbackCanvas, std::shared_ptr<Drawing::Typeface>& typeface)
52 {
53 auto font = Drawing::Font(typeface, 50.f, 1.0f, 0.f);
54 std::string text1 = "DDGR ddgr 鸿蒙 !@#%¥^&*;:,。";
55 std::string text2 = "-_=+()123`.---~|{}【】,./?、?<>《》";
56 std::string text3 = "\xE2\x99\x88\xE2\x99\x8A\xE2\x99\x88\xE2\x99\x8C\xE2\x99\x8D\xE2\x99\x8D";
57 std::string texts[] = {text1, text2, text3};
58 int line = 200;
59 int interval2 = 200;
60 for (auto text :texts) {
61 std::shared_ptr<Drawing::TextBlob> textBlob = Drawing::TextBlob::MakeFromText(text.c_str(), text.size(), font);
62 Drawing::Brush brush;
63 playbackCanvas->AttachBrush(brush);
64 playbackCanvas->DrawTextBlob(textBlob.get(), interval2, line);
65 line += interval2;
66 playbackCanvas->DetachBrush();
67 Drawing::Pen pen;
68 playbackCanvas->AttachPen(pen);
69 playbackCanvas->DrawTextBlob(textBlob.get(), interval2, line);
70 line += interval2;
71 playbackCanvas->DetachPen();
72 }
73 }
74
75 //对应用例 FontMgr_LoadDynamicFont_3001
76 DEF_DTK(fontmgr_loaddynamicfont_1, TestLevel::L1, 1)
77 {
78 std::shared_ptr<Drawing::FontMgr> fontMgr(Drawing::FontMgr::CreateDefaultFontMgr());
79 std::string familyName = "abcd";
80
81 auto emoji_data = MakeData(fontMgr, false);
82 auto data1 = MakeData(fontMgr, true);
83
84 auto typeface = std::shared_ptr<Drawing::Typeface>(fontMgr->LoadDynamicFont(
85 familyName, std::move((uint8_t *)emoji_data->GetData()), emoji_data->GetSize()
86 ));
87
88 DrawTexts(playbackCanvas_, typeface);
89 }
90
91 //对应用例 FontMgr_LoadDynamicFont_3002
92 DEF_DTK(fontmgr_loaddynamicfont_1, TestLevel::L1, 2)
93 {
94 std::shared_ptr<Drawing::FontMgr> fontMgr(Drawing::FontMgr::CreateDefaultFontMgr());
95 std::string familyName = "";
96
97 auto emoji_data = MakeData(fontMgr, false);
98 auto data1 = MakeData(fontMgr, true);
99
100 auto typeface = std::shared_ptr<Drawing::Typeface>(fontMgr->LoadDynamicFont(
101 familyName, std::move((uint8_t *)data1->GetData()), 0
102 ));
103
104 DrawTexts(playbackCanvas_, typeface);
105 }
106
107 //对应用例 FontMgr_LoadDynamicFont_3003
108 DEF_DTK(fontmgr_loaddynamicfont_1, TestLevel::L1, 3)
109 {
110 std::shared_ptr<Drawing::FontMgr> fontMgr(Drawing::FontMgr::CreateDefaultFontMgr());
111 std::string familyName = "";
112
113 auto emoji_data = MakeData(fontMgr, false);
114 auto data1 = MakeData(fontMgr, true);
115
116 auto typeface = std::shared_ptr<Drawing::Typeface>(fontMgr->LoadDynamicFont(
117 familyName, std::move((uint8_t *)data1->GetData()), emoji_data->GetSize()
118 ));
119
120 DrawTexts(playbackCanvas_, typeface);
121 }
122
123 //对应用例 FontMgr_LoadDynamicFont_3004
124 DEF_DTK(fontmgr_loaddynamicfont_1, TestLevel::L1, 4)
125 {
126 std::shared_ptr<Drawing::FontMgr> fontMgr(Drawing::FontMgr::CreateDefaultFontMgr());
127 std::string familyName = "abcd";
128
129 auto emoji_data = MakeData(fontMgr, false);
130 auto data1 = MakeData(fontMgr, true);
131
132 auto typeface = std::shared_ptr<Drawing::Typeface>(fontMgr->LoadDynamicFont(
133 familyName, nullptr, data1->GetSize()
134 ));
135
136 DrawTexts(playbackCanvas_, typeface);
137 }
138
139 //对应用例 FontMgr_LoadDynamicFont_3005
140 DEF_DTK(fontmgr_loaddynamicfont_1, TestLevel::L1, 5)
141 {
142 std::shared_ptr<Drawing::FontMgr> fontMgr(Drawing::FontMgr::CreateDynamicFontMgr());
143 std::string familyName = "abcd";
144
145 auto emoji_data = MakeData(fontMgr, false);
146 auto data1 = MakeData(fontMgr, true);
147
148 auto typeface = std::shared_ptr<Drawing::Typeface>(fontMgr->LoadDynamicFont(
149 familyName, std::move((uint8_t *)emoji_data->GetData()), data1->GetSize()
150 ));
151
152 DrawTexts(playbackCanvas_, typeface);
153 }
154
155 //对应用例 FontMgr_LoadDynamicFont_3006
156 DEF_DTK(fontmgr_loaddynamicfont_1, TestLevel::L1, 6)
157 {
158 std::shared_ptr<Drawing::FontMgr> fontMgr(Drawing::FontMgr::CreateDynamicFontMgr());
159 std::string familyName = "";
160
161 auto emoji_data = MakeData(fontMgr, false);
162 auto data1 = MakeData(fontMgr, true);
163
164 auto typeface = std::shared_ptr<Drawing::Typeface>(fontMgr->LoadDynamicFont(
165 familyName, std::move((uint8_t *)data1->GetData()), data1->GetSize()
166 ));
167
168 DrawTexts(playbackCanvas_, typeface);
169 }
170
171 //对应用例 FontMgr_LoadDynamicFont_3007
172 DEF_DTK(fontmgr_loaddynamicfont_1, TestLevel::L1, 7)
173 {
174 std::shared_ptr<Drawing::FontMgr> fontMgr(Drawing::FontMgr::CreateDynamicFontMgr());
175 std::string familyName = "abcd";
176
177 auto emoji_data = MakeData(fontMgr, false);
178 auto data1 = MakeData(fontMgr, true);
179
180 auto typeface = std::shared_ptr<Drawing::Typeface>(fontMgr->LoadDynamicFont(
181 familyName, std::move((uint8_t *)data1->GetData()), 0
182 ));
183
184 DrawTexts(playbackCanvas_, typeface);
185 }
186
187 //对应用例 FontMgr_LoadDynamicFont_3008
188 DEF_DTK(fontmgr_loaddynamicfont_1, TestLevel::L1, 8)
189 {
190 std::shared_ptr<Drawing::FontMgr> fontMgr(Drawing::FontMgr::CreateDefaultFontMgr());
191 std::string familyName = "HMOS Color Emoji";
192
193 auto emoji_data = MakeData(fontMgr, false);
194 auto data1 = MakeData(fontMgr, true);
195
196 auto typeface = std::shared_ptr<Drawing::Typeface>(fontMgr->LoadDynamicFont(
197 familyName, std::move((uint8_t *)data1->GetData()), 0
198 ));
199
200 DrawTexts(playbackCanvas_, typeface);
201 }
202
203 //对应用例 FontMgr_LoadDynamicFont_3009
204 DEF_DTK(fontmgr_loaddynamicfont_1, TestLevel::L1, 9)
205 {
206 std::shared_ptr<Drawing::FontMgr> fontMgr(Drawing::FontMgr::CreateDefaultFontMgr());
207 std::string familyName = "";
208
209 auto emoji_data = MakeData(fontMgr, false);
210 auto data1 = MakeData(fontMgr, true);
211
212 auto typeface = std::shared_ptr<Drawing::Typeface>(fontMgr->LoadDynamicFont(
213 familyName, nullptr, data1->GetSize()
214 ));
215
216 DrawTexts(playbackCanvas_, typeface);
217 }
218
219 //对应用例 FontMgr_LoadDynamicFont_3010
220 DEF_DTK(fontmgr_loaddynamicfont_1, TestLevel::L1, 10)
221 {
222 std::shared_ptr<Drawing::FontMgr> fontMgr(Drawing::FontMgr::CreateDefaultFontMgr());
223 std::string familyName = "HMOS Color Emoji";
224
225 auto emoji_data = MakeData(fontMgr, false);
226 auto data1 = MakeData(fontMgr, true);
227
228 auto typeface = std::shared_ptr<Drawing::Typeface>(fontMgr->LoadDynamicFont(
229 familyName, nullptr, 0
230 ));
231
232 DrawTexts(playbackCanvas_, typeface);
233 }
234
235 //对应用例 FontMgr_LoadDynamicFont_3011
236 DEF_DTK(fontmgr_loaddynamicfont_1, TestLevel::L1, 11)
237 {
238 std::shared_ptr<Drawing::FontMgr> fontMgr(Drawing::FontMgr::CreateDefaultFontMgr());
239 std::string familyName = "abcd";
240
241 auto emoji_data = MakeData(fontMgr, false);
242 auto data1 = MakeData(fontMgr, true);
243
244 auto typeface = std::shared_ptr<Drawing::Typeface>(fontMgr->LoadDynamicFont(
245 familyName, std::move((uint8_t *)data1->GetData()), emoji_data->GetSize()
246 ));
247
248 DrawTexts(playbackCanvas_, typeface);
249 }
250
251 //对应用例 FontMgr_LoadDynamicFont_3012
252 DEF_DTK(fontmgr_loaddynamicfont_1, TestLevel::L1, 12)
253 {
254 std::shared_ptr<Drawing::FontMgr> fontMgr(Drawing::FontMgr::CreateDynamicFontMgr());
255 std::string familyName = "abcd";
256
257 auto emoji_data = MakeData(fontMgr, false);
258 auto data1 = MakeData(fontMgr, true);
259
260 auto typeface = std::shared_ptr<Drawing::Typeface>(fontMgr->LoadDynamicFont(
261 familyName, nullptr, emoji_data->GetSize()
262 ));
263
264 DrawTexts(playbackCanvas_, typeface);
265 }
266
267 //对应用例 FontMgr_LoadDynamicFont_3013
268 DEF_DTK(fontmgr_loaddynamicfont_1, TestLevel::L1, 13)
269 {
270 std::shared_ptr<Drawing::FontMgr> fontMgr(Drawing::FontMgr::CreateDefaultFontMgr());
271 std::string familyName = "HMOS Color Emoji";
272
273 auto emoji_data = MakeData(fontMgr, false);
274 auto data1 = MakeData(fontMgr, true);
275
276 auto typeface = std::shared_ptr<Drawing::Typeface>(fontMgr->LoadDynamicFont(
277 familyName, std::move((uint8_t *)data1->GetData()), data1->GetSize()
278 ));
279
280 DrawTexts(playbackCanvas_, typeface);
281 }
282
283 //对应用例 FontMgr_LoadDynamicFont_3014
284 DEF_DTK(fontmgr_loaddynamicfont_1, TestLevel::L1, 14)
285 {
286 std::shared_ptr<Drawing::FontMgr> fontMgr(Drawing::FontMgr::CreateDynamicFontMgr());
287 std::string familyName = "";
288 fontMgr->GetFamilyName(0, familyName);
289
290 auto emoji_data = MakeData(fontMgr, false);
291 auto data1 = MakeData(fontMgr, true);
292
293 auto typeface = std::shared_ptr<Drawing::Typeface>(fontMgr->LoadDynamicFont(
294 familyName, std::move((uint8_t *)emoji_data->GetData()), 0
295 ));
296
297 DrawTexts(playbackCanvas_, typeface);
298 }
299
300 //对应用例 FontMgr_LoadDynamicFont_3015
301 DEF_DTK(fontmgr_loaddynamicfont_1, TestLevel::L1, 15)
302 {
303 std::shared_ptr<Drawing::FontMgr> fontMgr(Drawing::FontMgr::CreateDynamicFontMgr());
304 std::string familyName = "abcd";
305
306 auto emoji_data = MakeData(fontMgr, false);
307 auto data1 = MakeData(fontMgr, true);
308
309 auto typeface = std::shared_ptr<Drawing::Typeface>(fontMgr->LoadDynamicFont(
310 familyName, std::move((uint8_t *)data1->GetData()), data1->GetSize()
311 ));
312
313 DrawTexts(playbackCanvas_, typeface);
314 }
315
316 //对应用例 FontMgr_LoadDynamicFont_3016
317 DEF_DTK(fontmgr_loaddynamicfont_1, TestLevel::L1, 16)
318 {
319 std::shared_ptr<Drawing::FontMgr> fontMgr(Drawing::FontMgr::CreateDefaultFontMgr());
320 std::string familyName = "";
321 fontMgr->GetFamilyName(0, familyName);
322
323 auto emoji_data = MakeData(fontMgr, false);
324 auto data1 = MakeData(fontMgr, true);
325
326 auto typeface = std::shared_ptr<Drawing::Typeface>(fontMgr->LoadDynamicFont(
327 familyName, std::move((uint8_t *)data1->GetData()), emoji_data->GetSize()
328 ));
329
330 DrawTexts(playbackCanvas_, typeface);
331 }
332
333 //对应用例 FontMgr_LoadDynamicFont_3017
334 DEF_DTK(fontmgr_loaddynamicfont_1, TestLevel::L1, 17)
335 {
336 std::shared_ptr<Drawing::FontMgr> fontMgr(Drawing::FontMgr::CreateDefaultFontMgr());
337 std::string familyName = "abcd";
338
339 auto emoji_data = MakeData(fontMgr, false);
340 auto data1 = MakeData(fontMgr, true);
341
342 auto typeface = std::shared_ptr<Drawing::Typeface>(fontMgr->LoadDynamicFont(
343 familyName, std::move((uint8_t *)data1->GetData()), 0
344 ));
345
346 DrawTexts(playbackCanvas_, typeface);
347 }
348
349 //对应用例 FontMgr_LoadDynamicFont_3018
350 DEF_DTK(fontmgr_loaddynamicfont_1, TestLevel::L1, 18)
351 {
352 std::shared_ptr<Drawing::FontMgr> fontMgr(Drawing::FontMgr::CreateDynamicFontMgr());
353 std::string familyName = "HMOS Color Emoji";
354
355 auto emoji_data = MakeData(fontMgr, false);
356 auto data1 = MakeData(fontMgr, true);
357
358 auto typeface = std::shared_ptr<Drawing::Typeface>(fontMgr->LoadDynamicFont(
359 familyName, nullptr, 0
360 ));
361
362 DrawTexts(playbackCanvas_, typeface);
363 }
364
365 //对应用例 FontMgr_LoadDynamicFont_3019
366 DEF_DTK(fontmgr_loaddynamicfont_1, TestLevel::L1, 19)
367 {
368 std::shared_ptr<Drawing::FontMgr> fontMgr(Drawing::FontMgr::CreateDefaultFontMgr());
369 std::string familyName = "";
370
371 auto emoji_data = MakeData(fontMgr, false);
372 auto data1 = MakeData(fontMgr, true);
373
374 auto typeface = std::shared_ptr<Drawing::Typeface>(fontMgr->LoadDynamicFont(
375 familyName, std::move((uint8_t *)emoji_data->GetData()), emoji_data->GetSize()
376 ));
377
378 DrawTexts(playbackCanvas_, typeface);
379 }
380
381 //对应用例 FontMgr_LoadDynamicFont_3020
382 DEF_DTK(fontmgr_loaddynamicfont_1, TestLevel::L1, 20)
383 {
384 std::shared_ptr<Drawing::FontMgr> fontMgr(Drawing::FontMgr::CreateDynamicFontMgr());
385 std::string familyName = "abcd";
386
387 auto emoji_data = MakeData(fontMgr, false);
388 auto data1 = MakeData(fontMgr, true);
389
390 auto typeface = std::shared_ptr<Drawing::Typeface>(fontMgr->LoadDynamicFont(
391 familyName, nullptr, 0
392 ));
393
394 DrawTexts(playbackCanvas_, typeface);
395 }
396
397 //对应用例 FontMgr_LoadDynamicFont_3021
398 DEF_DTK(fontmgr_loaddynamicfont_1, TestLevel::L1, 21)
399 {
400 std::shared_ptr<Drawing::FontMgr> fontMgr(Drawing::FontMgr::CreateDynamicFontMgr());
401 std::string familyName = "HMOS Color Emoji";
402
403 auto emoji_data = MakeData(fontMgr, false);
404 auto data1 = MakeData(fontMgr, true);
405
406 auto typeface = std::shared_ptr<Drawing::Typeface>(fontMgr->LoadDynamicFont(
407 familyName, std::move((uint8_t *)data1->GetData()), emoji_data->GetSize()
408 ));
409
410 DrawTexts(playbackCanvas_, typeface);
411 }
412
413 //对应用例 FontMgr_LoadDynamicFont_3022
414 DEF_DTK(fontmgr_loaddynamicfont_1, TestLevel::L1, 22)
415 {
416 std::shared_ptr<Drawing::FontMgr> fontMgr(Drawing::FontMgr::CreateDynamicFontMgr());
417 std::string familyName = "";
418
419 auto emoji_data = MakeData(fontMgr, false);
420 auto data1 = MakeData(fontMgr, true);
421
422 auto typeface = std::shared_ptr<Drawing::Typeface>(fontMgr->LoadDynamicFont(
423 familyName, nullptr, data1->GetSize()
424 ));
425
426 DrawTexts(playbackCanvas_, typeface);
427 }
428
429 //对应用例 FontMgr_LoadDynamicFont_3023
430 DEF_DTK(fontmgr_loaddynamicfont_1, TestLevel::L1, 23)
431 {
432 std::shared_ptr<Drawing::FontMgr> fontMgr(Drawing::FontMgr::CreateDefaultFontMgr());
433 std::string familyName = "";
434 fontMgr->GetFamilyName(0, familyName);
435
436 auto emoji_data = MakeData(fontMgr, false);
437 auto data1 = MakeData(fontMgr, true);
438
439 auto typeface = std::shared_ptr<Drawing::Typeface>(fontMgr->LoadDynamicFont(
440 familyName, std::move((uint8_t *)emoji_data->GetData()), data1->GetSize()
441 ));
442
443 DrawTexts(playbackCanvas_, typeface);
444 }
445
446 //对应用例 FontMgr_LoadDynamicFont_3024
447 DEF_DTK(fontmgr_loaddynamicfont_1, TestLevel::L1, 24)
448 {
449 std::shared_ptr<Drawing::FontMgr> fontMgr(Drawing::FontMgr::CreateDynamicFontMgr());
450 std::string familyName = "";
451 fontMgr->GetFamilyName(0, familyName);
452
453 auto emoji_data = MakeData(fontMgr, false);
454 auto data1 = MakeData(fontMgr, true);
455
456 auto typeface = std::shared_ptr<Drawing::Typeface>(fontMgr->LoadDynamicFont(
457 familyName, std::move((uint8_t *)data1->GetData()), 0
458 ));
459
460 DrawTexts(playbackCanvas_, typeface);
461 }
462
463 //对应用例 FontMgr_LoadDynamicFont_3025
464 DEF_DTK(fontmgr_loaddynamicfont_1, TestLevel::L1, 25)
465 {
466 std::shared_ptr<Drawing::FontMgr> fontMgr(Drawing::FontMgr::CreateDynamicFontMgr());
467 std::string familyName = "abcd";
468
469 auto emoji_data = MakeData(fontMgr, false);
470 auto data1 = MakeData(fontMgr, true);
471
472 auto typeface = std::shared_ptr<Drawing::Typeface>(fontMgr->LoadDynamicFont(
473 familyName, std::move((uint8_t *)emoji_data->GetData()), emoji_data->GetSize()
474 ));
475
476 DrawTexts(playbackCanvas_, typeface);
477 }
478
479 //对应用例 FontMgr_LoadDynamicFont_3026
480 DEF_DTK(fontmgr_loaddynamicfont_1, TestLevel::L1, 26)
481 {
482 std::shared_ptr<Drawing::FontMgr> fontMgr(Drawing::FontMgr::CreateDynamicFontMgr());
483 std::string familyName = "HMOS Color Emoji";
484
485 auto emoji_data = MakeData(fontMgr, false);
486 auto data1 = MakeData(fontMgr, true);
487
488 auto typeface = std::shared_ptr<Drawing::Typeface>(fontMgr->LoadDynamicFont(
489 familyName, std::move((uint8_t *)emoji_data->GetData()), data1->GetSize()
490 ));
491
492 DrawTexts(playbackCanvas_, typeface);
493 }
494
495 //对应用例 FontMgr_LoadDynamicFont_3027
496 DEF_DTK(fontmgr_loaddynamicfont_1, TestLevel::L1, 27)
497 {
498 std::shared_ptr<Drawing::FontMgr> fontMgr(Drawing::FontMgr::CreateDefaultFontMgr());
499 std::string familyName = "abcd";
500
501 auto emoji_data = MakeData(fontMgr, false);
502 auto data1 = MakeData(fontMgr, true);
503
504 auto typeface = std::shared_ptr<Drawing::Typeface>(fontMgr->LoadDynamicFont(
505 familyName, std::move((uint8_t *)emoji_data->GetData()), 0
506 ));
507
508 DrawTexts(playbackCanvas_, typeface);
509 }
510
511 //对应用例 FontMgr_LoadDynamicFont_3028
512 DEF_DTK(fontmgr_loaddynamicfont_1, TestLevel::L1, 28)
513 {
514 std::shared_ptr<Drawing::FontMgr> fontMgr(Drawing::FontMgr::CreateDefaultFontMgr());
515 std::string familyName = "HMOS Color Emoji";
516
517 auto emoji_data = MakeData(fontMgr, false);
518 auto data1 = MakeData(fontMgr, true);
519
520 auto typeface = std::shared_ptr<Drawing::Typeface>(fontMgr->LoadDynamicFont(
521 familyName, std::move((uint8_t *)emoji_data->GetData()), 0
522 ));
523
524 DrawTexts(playbackCanvas_, typeface);
525 }
526
527 //对应用例 FontMgr_LoadDynamicFont_3029
528 DEF_DTK(fontmgr_loaddynamicfont_1, TestLevel::L1, 29)
529 {
530 std::shared_ptr<Drawing::FontMgr> fontMgr(Drawing::FontMgr::CreateDynamicFontMgr());
531 std::string familyName = "";
532 fontMgr->GetFamilyName(0, familyName);
533
534 auto emoji_data = MakeData(fontMgr, false);
535 auto data1 = MakeData(fontMgr, true);
536
537 auto typeface = std::shared_ptr<Drawing::Typeface>(fontMgr->LoadDynamicFont(
538 familyName, std::move((uint8_t *)data1->GetData()), data1->GetSize()
539 ));
540
541 DrawTexts(playbackCanvas_, typeface);
542 }
543
544 //对应用例 FontMgr_LoadDynamicFont_3030
545 DEF_DTK(fontmgr_loaddynamicfont_1, TestLevel::L1, 30)
546 {
547 std::shared_ptr<Drawing::FontMgr> fontMgr(Drawing::FontMgr::CreateDynamicFontMgr());
548 std::string familyName = "";
549
550 auto emoji_data = MakeData(fontMgr, false);
551 auto data1 = MakeData(fontMgr, true);
552
553 auto typeface = std::shared_ptr<Drawing::Typeface>(fontMgr->LoadDynamicFont(
554 familyName, nullptr, emoji_data->GetSize()
555 ));
556
557 DrawTexts(playbackCanvas_, typeface);
558 }
559
560 //对应用例 FontMgr_LoadDynamicFont_3031
561 DEF_DTK(fontmgr_loaddynamicfont_1, TestLevel::L1, 31)
562 {
563 std::shared_ptr<Drawing::FontMgr> fontMgr(Drawing::FontMgr::CreateDynamicFontMgr());
564 std::string familyName = "";
565 fontMgr->GetFamilyName(0, familyName);
566
567 auto emoji_data = MakeData(fontMgr, false);
568 auto data1 = MakeData(fontMgr, true);
569
570 auto typeface = std::shared_ptr<Drawing::Typeface>(fontMgr->LoadDynamicFont(
571 familyName, nullptr, data1->GetSize()
572 ));
573
574 DrawTexts(playbackCanvas_, typeface);
575 }
576
577 //对应用例 FontMgr_LoadDynamicFont_3032
578 DEF_DTK(fontmgr_loaddynamicfont_1, TestLevel::L1, 32)
579 {
580 std::shared_ptr<Drawing::FontMgr> fontMgr(Drawing::FontMgr::CreateDynamicFontMgr());
581 std::string familyName = "abcd";
582
583 auto emoji_data = MakeData(fontMgr, false);
584 auto data1 = MakeData(fontMgr, true);
585
586 auto typeface = std::shared_ptr<Drawing::Typeface>(fontMgr->LoadDynamicFont(
587 familyName, std::move((uint8_t *)data1->GetData()), emoji_data->GetSize()
588 ));
589
590 DrawTexts(playbackCanvas_, typeface);
591 }
592
593 //对应用例 FontMgr_LoadDynamicFont_3033
594 DEF_DTK(fontmgr_loaddynamicfont_1, TestLevel::L1, 33)
595 {
596 std::shared_ptr<Drawing::FontMgr> fontMgr(Drawing::FontMgr::CreateDefaultFontMgr());
597 std::string familyName = "";
598 fontMgr->GetFamilyName(0, familyName);
599
600 auto emoji_data = MakeData(fontMgr, false);
601 auto data1 = MakeData(fontMgr, true);
602
603 auto typeface = std::shared_ptr<Drawing::Typeface>(fontMgr->LoadDynamicFont(
604 familyName, std::move((uint8_t *)data1->GetData()), data1->GetSize()
605 ));
606
607 DrawTexts(playbackCanvas_, typeface);
608 }
609
610 //对应用例 FontMgr_LoadDynamicFont_3034
611 DEF_DTK(fontmgr_loaddynamicfont_1, TestLevel::L1, 34)
612 {
613 std::shared_ptr<Drawing::FontMgr> fontMgr(Drawing::FontMgr::CreateDynamicFontMgr());
614 std::string familyName = "HMOS Color Emoji";
615
616 auto emoji_data = MakeData(fontMgr, false);
617 auto data1 = MakeData(fontMgr, true);
618
619 auto typeface = std::shared_ptr<Drawing::Typeface>(fontMgr->LoadDynamicFont(
620 familyName, nullptr, emoji_data->GetSize()
621 ));
622
623 DrawTexts(playbackCanvas_, typeface);
624 }
625
626 //对应用例 FontMgr_LoadDynamicFont_3035
627 DEF_DTK(fontmgr_loaddynamicfont_1, TestLevel::L1, 35)
628 {
629 std::shared_ptr<Drawing::FontMgr> fontMgr(Drawing::FontMgr::CreateDefaultFontMgr());
630 std::string familyName = "";
631
632 auto emoji_data = MakeData(fontMgr, false);
633 auto data1 = MakeData(fontMgr, true);
634
635 auto typeface = std::shared_ptr<Drawing::Typeface>(fontMgr->LoadDynamicFont(
636 familyName, nullptr, 0
637 ));
638
639 DrawTexts(playbackCanvas_, typeface);
640 }
641
642 //对应用例 FontMgr_LoadDynamicFont_3036
643 DEF_DTK(fontmgr_loaddynamicfont_1, TestLevel::L1, 36)
644 {
645 std::shared_ptr<Drawing::FontMgr> fontMgr(Drawing::FontMgr::CreateDefaultFontMgr());
646 std::string familyName = "abcd";
647
648 auto emoji_data = MakeData(fontMgr, false);
649 auto data1 = MakeData(fontMgr, true);
650
651 auto typeface = std::shared_ptr<Drawing::Typeface>(fontMgr->LoadDynamicFont(
652 familyName, nullptr, 0
653 ));
654
655 DrawTexts(playbackCanvas_, typeface);
656 }
657
658 //对应用例 FontMgr_LoadDynamicFont_3037
659 DEF_DTK(fontmgr_loaddynamicfont_1, TestLevel::L1, 37)
660 {
661 std::shared_ptr<Drawing::FontMgr> fontMgr(Drawing::FontMgr::CreateDynamicFontMgr());
662 std::string familyName = "";
663
664 auto emoji_data = MakeData(fontMgr, false);
665 auto data1 = MakeData(fontMgr, true);
666
667 auto typeface = std::shared_ptr<Drawing::Typeface>(fontMgr->LoadDynamicFont(
668 familyName, std::move((uint8_t *)emoji_data->GetData()), 0
669 ));
670
671 DrawTexts(playbackCanvas_, typeface);
672 }
673
674 //对应用例 FontMgr_LoadDynamicFont_3038
675 DEF_DTK(fontmgr_loaddynamicfont_1, TestLevel::L1, 38)
676 {
677 std::shared_ptr<Drawing::FontMgr> fontMgr(Drawing::FontMgr::CreateDefaultFontMgr());
678 std::string familyName = "HMOS Color Emoji";
679
680 auto emoji_data = MakeData(fontMgr, false);
681 auto data1 = MakeData(fontMgr, true);
682
683 auto typeface = std::shared_ptr<Drawing::Typeface>(fontMgr->LoadDynamicFont(
684 familyName, std::move((uint8_t *)emoji_data->GetData()), emoji_data->GetSize()
685 ));
686
687 DrawTexts(playbackCanvas_, typeface);
688 }
689
690 //对应用例 FontMgr_LoadDynamicFont_3039
691 DEF_DTK(fontmgr_loaddynamicfont_1, TestLevel::L1, 39)
692 {
693 std::shared_ptr<Drawing::FontMgr> fontMgr(Drawing::FontMgr::CreateDynamicFontMgr());
694 std::string familyName = "";
695 fontMgr->GetFamilyName(0, familyName);
696
697 auto emoji_data = MakeData(fontMgr, false);
698 auto data1 = MakeData(fontMgr, true);
699
700 auto typeface = std::shared_ptr<Drawing::Typeface>(fontMgr->LoadDynamicFont(
701 familyName, std::move((uint8_t *)data1->GetData()), emoji_data->GetSize()
702 ));
703
704 DrawTexts(playbackCanvas_, typeface);
705 }
706
707 //对应用例 FontMgr_LoadDynamicFont_3040
708 DEF_DTK(fontmgr_loaddynamicfont_1, TestLevel::L1, 40)
709 {
710 std::shared_ptr<Drawing::FontMgr> fontMgr(Drawing::FontMgr::CreateDefaultFontMgr());
711 std::string familyName = "HMOS Color Emoji";
712
713 auto emoji_data = MakeData(fontMgr, false);
714 auto data1 = MakeData(fontMgr, true);
715
716 auto typeface = std::shared_ptr<Drawing::Typeface>(fontMgr->LoadDynamicFont(
717 familyName, nullptr, data1->GetSize()
718 ));
719
720 DrawTexts(playbackCanvas_, typeface);
721 }
722
723 //对应用例 FontMgr_LoadDynamicFont_3041
724 DEF_DTK(fontmgr_loaddynamicfont_1, TestLevel::L1, 41)
725 {
726 std::shared_ptr<Drawing::FontMgr> fontMgr(Drawing::FontMgr::CreateDefaultFontMgr());
727 std::string familyName = "";
728 fontMgr->GetFamilyName(0, familyName);
729
730 auto emoji_data = MakeData(fontMgr, false);
731 auto data1 = MakeData(fontMgr, true);
732
733 auto typeface = std::shared_ptr<Drawing::Typeface>(fontMgr->LoadDynamicFont(
734 familyName, nullptr, 0
735 ));
736
737 DrawTexts(playbackCanvas_, typeface);
738 }
739
740 //对应用例 FontMgr_LoadDynamicFont_3042
741 DEF_DTK(fontmgr_loaddynamicfont_1, TestLevel::L1, 42)
742 {
743 std::shared_ptr<Drawing::FontMgr> fontMgr(Drawing::FontMgr::CreateDefaultFontMgr());
744 std::string familyName = "";
745
746 auto emoji_data = MakeData(fontMgr, false);
747 auto data1 = MakeData(fontMgr, true);
748
749 auto typeface = std::shared_ptr<Drawing::Typeface>(fontMgr->LoadDynamicFont(
750 familyName, std::move((uint8_t *)emoji_data->GetData()), 0
751 ));
752
753 DrawTexts(playbackCanvas_, typeface);
754 }
755
756 //对应用例 FontMgr_LoadDynamicFont_3043
757 DEF_DTK(fontmgr_loaddynamicfont_1, TestLevel::L1, 43)
758 {
759 std::shared_ptr<Drawing::FontMgr> fontMgr(Drawing::FontMgr::CreateDynamicFontMgr());
760 std::string familyName = "HMOS Color Emoji";
761
762 auto emoji_data = MakeData(fontMgr, false);
763 auto data1 = MakeData(fontMgr, true);
764
765 auto typeface = std::shared_ptr<Drawing::Typeface>(fontMgr->LoadDynamicFont(
766 familyName, std::move((uint8_t *)data1->GetData()), 0
767 ));
768
769 DrawTexts(playbackCanvas_, typeface);
770 }
771
772 //对应用例 FontMgr_LoadDynamicFont_3044
773 DEF_DTK(fontmgr_loaddynamicfont_2, TestLevel::L1, 44)
774 {
775 std::shared_ptr<Drawing::FontMgr> fontMgr(Drawing::FontMgr::CreateDynamicFontMgr());
776 std::string familyName = "";
777
778 auto emoji_data = MakeData(fontMgr, false);
779 auto data1 = MakeData(fontMgr, true);
780
781 auto typeface = std::shared_ptr<Drawing::Typeface>(fontMgr->LoadDynamicFont(
782 familyName, std::move((uint8_t *)data1->GetData()), 0
783 ));
784
785 DrawTexts(playbackCanvas_, typeface);
786 }
787
788 //对应用例 FontMgr_LoadDynamicFont_3045
789 DEF_DTK(fontmgr_loaddynamicfont_2, TestLevel::L1, 45)
790 {
791 std::shared_ptr<Drawing::FontMgr> fontMgr(Drawing::FontMgr::CreateDefaultFontMgr());
792 std::string familyName = "";
793 fontMgr->GetFamilyName(0, familyName);
794
795 auto emoji_data = MakeData(fontMgr, false);
796 auto data1 = MakeData(fontMgr, true);
797
798 auto typeface = std::shared_ptr<Drawing::Typeface>(fontMgr->LoadDynamicFont(
799 familyName, std::move((uint8_t *)emoji_data->GetData()), emoji_data->GetSize()
800 ));
801
802 DrawTexts(playbackCanvas_, typeface);
803 }
804
805 //对应用例 FontMgr_LoadDynamicFont_3046
806 DEF_DTK(fontmgr_loaddynamicfont_2, TestLevel::L1, 46)
807 {
808 std::shared_ptr<Drawing::FontMgr> fontMgr(Drawing::FontMgr::CreateDynamicFontMgr());
809 std::string familyName = "abcd";
810
811 auto emoji_data = MakeData(fontMgr, false);
812 auto data1 = MakeData(fontMgr, true);
813
814 auto typeface = std::shared_ptr<Drawing::Typeface>(fontMgr->LoadDynamicFont(
815 familyName, nullptr, data1->GetSize()
816 ));
817
818 DrawTexts(playbackCanvas_, typeface);
819 }
820
821 //对应用例 FontMgr_LoadDynamicFont_3047
822 DEF_DTK(fontmgr_loaddynamicfont_2, TestLevel::L1, 47)
823 {
824 std::shared_ptr<Drawing::FontMgr> fontMgr(Drawing::FontMgr::CreateDefaultFontMgr());
825 std::string familyName = "";
826
827 auto emoji_data = MakeData(fontMgr, false);
828 auto data1 = MakeData(fontMgr, true);
829
830 auto typeface = std::shared_ptr<Drawing::Typeface>(fontMgr->LoadDynamicFont(
831 familyName, nullptr, emoji_data->GetSize()
832 ));
833
834 DrawTexts(playbackCanvas_, typeface);
835 }
836
837 //对应用例 FontMgr_LoadDynamicFont_3048
838 DEF_DTK(fontmgr_loaddynamicfont_2, TestLevel::L1, 48)
839 {
840 std::shared_ptr<Drawing::FontMgr> fontMgr(Drawing::FontMgr::CreateDynamicFontMgr());
841 std::string familyName = "";
842
843 auto emoji_data = MakeData(fontMgr, false);
844 auto data1 = MakeData(fontMgr, true);
845
846 auto typeface = std::shared_ptr<Drawing::Typeface>(fontMgr->LoadDynamicFont(
847 familyName, std::move((uint8_t *)data1->GetData()), emoji_data->GetSize()
848 ));
849
850 DrawTexts(playbackCanvas_, typeface);
851 }
852
853 //对应用例 FontMgr_LoadDynamicFont_3049
854 DEF_DTK(fontmgr_loaddynamicfont_2, TestLevel::L1, 49)
855 {
856 std::shared_ptr<Drawing::FontMgr> fontMgr(Drawing::FontMgr::CreateDefaultFontMgr());
857 std::string familyName = "";
858 fontMgr->GetFamilyName(0, familyName);
859
860 auto emoji_data = MakeData(fontMgr, false);
861 auto data1 = MakeData(fontMgr, true);
862
863 auto typeface = std::shared_ptr<Drawing::Typeface>(fontMgr->LoadDynamicFont(
864 familyName, std::move((uint8_t *)data1->GetData()), 0
865 ));
866
867 DrawTexts(playbackCanvas_, typeface);
868 }
869
870 //对应用例 FontMgr_LoadDynamicFont_3050
871 DEF_DTK(fontmgr_loaddynamicfont_2, TestLevel::L1, 50)
872 {
873 std::shared_ptr<Drawing::FontMgr> fontMgr(Drawing::FontMgr::CreateDynamicFontMgr());
874 std::string familyName = "HMOS Color Emoji";
875
876 auto emoji_data = MakeData(fontMgr, false);
877 auto data1 = MakeData(fontMgr, true);
878
879 auto typeface = std::shared_ptr<Drawing::Typeface>(fontMgr->LoadDynamicFont(
880 familyName, std::move((uint8_t *)data1->GetData()), data1->GetSize()
881 ));
882
883 DrawTexts(playbackCanvas_, typeface);
884 }
885
886 //对应用例 FontMgr_LoadDynamicFont_3051
887 DEF_DTK(fontmgr_loaddynamicfont_2, TestLevel::L1, 51)
888 {
889 std::shared_ptr<Drawing::FontMgr> fontMgr(Drawing::FontMgr::CreateDefaultFontMgr());
890 std::string familyName = "";
891 fontMgr->GetFamilyName(0, familyName);
892
893 auto emoji_data = MakeData(fontMgr, false);
894 auto data1 = MakeData(fontMgr, true);
895
896 auto typeface = std::shared_ptr<Drawing::Typeface>(fontMgr->LoadDynamicFont(
897 familyName, std::move((uint8_t *)emoji_data->GetData()), 0
898 ));
899
900 DrawTexts(playbackCanvas_, typeface);
901 }
902
903 //对应用例 FontMgr_LoadDynamicFont_3052
904 DEF_DTK(fontmgr_loaddynamicfont_2, TestLevel::L1, 52)
905 {
906 std::shared_ptr<Drawing::FontMgr> fontMgr(Drawing::FontMgr::CreateDefaultFontMgr());
907 std::string familyName = "";
908
909 auto emoji_data = MakeData(fontMgr, false);
910 auto data1 = MakeData(fontMgr, true);
911
912 auto typeface = std::shared_ptr<Drawing::Typeface>(fontMgr->LoadDynamicFont(
913 familyName, std::move((uint8_t *)emoji_data->GetData()), data1->GetSize()
914 ));
915
916 DrawTexts(playbackCanvas_, typeface);
917 }
918
919 //对应用例 FontMgr_LoadDynamicFont_3053
920 DEF_DTK(fontmgr_loaddynamicfont_2, TestLevel::L1, 53)
921 {
922 std::shared_ptr<Drawing::FontMgr> fontMgr(Drawing::FontMgr::CreateDynamicFontMgr());
923 std::string familyName = "";
924
925 auto emoji_data = MakeData(fontMgr, false);
926 auto data1 = MakeData(fontMgr, true);
927
928 auto typeface = std::shared_ptr<Drawing::Typeface>(fontMgr->LoadDynamicFont(
929 familyName, nullptr, 0
930 ));
931
932 DrawTexts(playbackCanvas_, typeface);
933 }
934
935 //对应用例 FontMgr_LoadDynamicFont_3054
936 DEF_DTK(fontmgr_loaddynamicfont_2, TestLevel::L1, 54)
937 {
938 std::shared_ptr<Drawing::FontMgr> fontMgr(Drawing::FontMgr::CreateDefaultFontMgr());
939 std::string familyName = "abcd";
940
941 auto emoji_data = MakeData(fontMgr, false);
942 auto data1 = MakeData(fontMgr, true);
943
944 auto typeface = std::shared_ptr<Drawing::Typeface>(fontMgr->LoadDynamicFont(
945 familyName, nullptr, emoji_data->GetSize()
946 ));
947
948 DrawTexts(playbackCanvas_, typeface);
949 }
950
951 //对应用例 FontMgr_LoadDynamicFont_3055
952 DEF_DTK(fontmgr_loaddynamicfont_2, TestLevel::L1, 55)
953 {
954 std::shared_ptr<Drawing::FontMgr> fontMgr(Drawing::FontMgr::CreateDynamicFontMgr());
955 std::string familyName = "abcd";
956
957 auto emoji_data = MakeData(fontMgr, false);
958 auto data1 = MakeData(fontMgr, true);
959
960 auto typeface = std::shared_ptr<Drawing::Typeface>(fontMgr->LoadDynamicFont(
961 familyName, std::move((uint8_t *)emoji_data->GetData()), 0
962 ));
963
964 DrawTexts(playbackCanvas_, typeface);
965 }
966
967 //对应用例 FontMgr_LoadDynamicFont_3056
968 DEF_DTK(fontmgr_loaddynamicfont_2, TestLevel::L1, 56)
969 {
970 std::shared_ptr<Drawing::FontMgr> fontMgr(Drawing::FontMgr::CreateDynamicFontMgr());
971 std::string familyName = "";
972
973 auto emoji_data = MakeData(fontMgr, false);
974 auto data1 = MakeData(fontMgr, true);
975
976 auto typeface = std::shared_ptr<Drawing::Typeface>(fontMgr->LoadDynamicFont(
977 familyName, std::move((uint8_t *)emoji_data->GetData()), data1->GetSize()
978 ));
979
980 DrawTexts(playbackCanvas_, typeface);
981 }
982
983 //对应用例 FontMgr_LoadDynamicFont_3057
984 DEF_DTK(fontmgr_loaddynamicfont_2, TestLevel::L1, 57)
985 {
986 std::shared_ptr<Drawing::FontMgr> fontMgr(Drawing::FontMgr::CreateDynamicFontMgr());
987 std::string familyName = "HMOS Color Emoji";
988
989 auto emoji_data = MakeData(fontMgr, false);
990 auto data1 = MakeData(fontMgr, true);
991
992 auto typeface = std::shared_ptr<Drawing::Typeface>(fontMgr->LoadDynamicFont(
993 familyName, std::move((uint8_t *)emoji_data->GetData()), emoji_data->GetSize()
994 ));
995
996 DrawTexts(playbackCanvas_, typeface);
997 }
998
999 //对应用例 FontMgr_LoadDynamicFont_3058
1000 DEF_DTK(fontmgr_loaddynamicfont_2, TestLevel::L1, 58)
1001 {
1002 std::shared_ptr<Drawing::FontMgr> fontMgr(Drawing::FontMgr::CreateDynamicFontMgr());
1003 std::string familyName = "HMOS Color Emoji";
1004
1005 auto emoji_data = MakeData(fontMgr, false);
1006 auto data1 = MakeData(fontMgr, true);
1007
1008 auto typeface = std::shared_ptr<Drawing::Typeface>(fontMgr->LoadDynamicFont(
1009 familyName, nullptr, data1->GetSize()
1010 ));
1011
1012 DrawTexts(playbackCanvas_, typeface);
1013 }
1014
1015 //对应用例 FontMgr_LoadDynamicFont_3059
1016 DEF_DTK(fontmgr_loaddynamicfont_2, TestLevel::L1, 59)
1017 {
1018 std::shared_ptr<Drawing::FontMgr> fontMgr(Drawing::FontMgr::CreateDynamicFontMgr());
1019 std::string familyName = "";
1020 fontMgr->GetFamilyName(0, familyName);
1021
1022 auto emoji_data = MakeData(fontMgr, false);
1023 auto data1 = MakeData(fontMgr, true);
1024
1025 auto typeface = std::shared_ptr<Drawing::Typeface>(fontMgr->LoadDynamicFont(
1026 familyName, std::move((uint8_t *)emoji_data->GetData()), emoji_data->GetSize()
1027 ));
1028
1029 DrawTexts(playbackCanvas_, typeface);
1030 }
1031
1032 //对应用例 FontMgr_LoadDynamicFont_3060
1033 DEF_DTK(fontmgr_loaddynamicfont_2, TestLevel::L1, 60)
1034 {
1035 std::shared_ptr<Drawing::FontMgr> fontMgr(Drawing::FontMgr::CreateDynamicFontMgr());
1036 std::string familyName = "HMOS Color Emoji";
1037
1038 auto emoji_data = MakeData(fontMgr, false);
1039 auto data1 = MakeData(fontMgr, true);
1040
1041 auto typeface = std::shared_ptr<Drawing::Typeface>(fontMgr->LoadDynamicFont(
1042 familyName, std::move((uint8_t *)emoji_data->GetData()), 0
1043 ));
1044
1045 DrawTexts(playbackCanvas_, typeface);
1046 }
1047
1048 //对应用例 FontMgr_LoadDynamicFont_3061
1049 DEF_DTK(fontmgr_loaddynamicfont_2, TestLevel::L1, 61)
1050 {
1051 std::shared_ptr<Drawing::FontMgr> fontMgr(Drawing::FontMgr::CreateDefaultFontMgr());
1052 std::string familyName = "HMOS Color Emoji";
1053
1054 auto emoji_data = MakeData(fontMgr, false);
1055 auto data1 = MakeData(fontMgr, true);
1056
1057 auto typeface = std::shared_ptr<Drawing::Typeface>(fontMgr->LoadDynamicFont(
1058 familyName, nullptr, emoji_data->GetSize()
1059 ));
1060
1061 DrawTexts(playbackCanvas_, typeface);
1062 }
1063
1064 //对应用例 FontMgr_LoadDynamicFont_3062
1065 DEF_DTK(fontmgr_loaddynamicfont_2, TestLevel::L1, 62)
1066 {
1067 std::shared_ptr<Drawing::FontMgr> fontMgr(Drawing::FontMgr::CreateDefaultFontMgr());
1068 std::string familyName = "abcd";
1069
1070 auto emoji_data = MakeData(fontMgr, false);
1071 auto data1 = MakeData(fontMgr, true);
1072
1073 auto typeface = std::shared_ptr<Drawing::Typeface>(fontMgr->LoadDynamicFont(
1074 familyName, std::move((uint8_t *)data1->GetData()), data1->GetSize()
1075 ));
1076
1077 DrawTexts(playbackCanvas_, typeface);
1078 }
1079
1080 //对应用例 FontMgr_LoadDynamicFont_3063
1081 DEF_DTK(fontmgr_loaddynamicfont_2, TestLevel::L1, 63)
1082 {
1083 std::shared_ptr<Drawing::FontMgr> fontMgr(Drawing::FontMgr::CreateDynamicFontMgr());
1084 std::string familyName = "";
1085 fontMgr->GetFamilyName(0, familyName);
1086
1087 auto emoji_data = MakeData(fontMgr, false);
1088 auto data1 = MakeData(fontMgr, true);
1089
1090 auto typeface = std::shared_ptr<Drawing::Typeface>(fontMgr->LoadDynamicFont(
1091 familyName, nullptr, emoji_data->GetSize()
1092 ));
1093
1094 DrawTexts(playbackCanvas_, typeface);
1095 }
1096
1097 //对应用例 FontMgr_LoadDynamicFont_3064
1098 DEF_DTK(fontmgr_loaddynamicfont_2, TestLevel::L1, 64)
1099 {
1100 std::shared_ptr<Drawing::FontMgr> fontMgr(Drawing::FontMgr::CreateDefaultFontMgr());
1101 std::string familyName = "";
1102 fontMgr->GetFamilyName(0, familyName);
1103
1104 auto emoji_data = MakeData(fontMgr, false);
1105 auto data1 = MakeData(fontMgr, true);
1106
1107 auto typeface = std::shared_ptr<Drawing::Typeface>(fontMgr->LoadDynamicFont(
1108 familyName, nullptr, data1->GetSize()
1109 ));
1110
1111 DrawTexts(playbackCanvas_, typeface);
1112 }
1113
1114 //对应用例 FontMgr_LoadDynamicFont_3065
1115 DEF_DTK(fontmgr_loaddynamicfont_2, TestLevel::L1, 65)
1116 {
1117 std::shared_ptr<Drawing::FontMgr> fontMgr(Drawing::FontMgr::CreateDefaultFontMgr());
1118 std::string familyName = "HMOS Color Emoji";
1119
1120 auto emoji_data = MakeData(fontMgr, false);
1121 auto data1 = MakeData(fontMgr, true);
1122
1123 auto typeface = std::shared_ptr<Drawing::Typeface>(fontMgr->LoadDynamicFont(
1124 familyName, std::move((uint8_t *)data1->GetData()), emoji_data->GetSize()
1125 ));
1126
1127 DrawTexts(playbackCanvas_, typeface);
1128 }
1129
1130 //对应用例 FontMgr_LoadDynamicFont_3066
1131 DEF_DTK(fontmgr_loaddynamicfont_2, TestLevel::L1, 66)
1132 {
1133 std::shared_ptr<Drawing::FontMgr> fontMgr(Drawing::FontMgr::CreateDynamicFontMgr());
1134 std::string familyName = "";
1135
1136 auto emoji_data = MakeData(fontMgr, false);
1137 auto data1 = MakeData(fontMgr, true);
1138
1139 auto typeface = std::shared_ptr<Drawing::Typeface>(fontMgr->LoadDynamicFont(
1140 familyName, std::move((uint8_t *)emoji_data->GetData()), emoji_data->GetSize()
1141 ));
1142
1143 DrawTexts(playbackCanvas_, typeface);
1144 }
1145
1146 //对应用例 FontMgr_LoadDynamicFont_3067
1147 DEF_DTK(fontmgr_loaddynamicfont_2, TestLevel::L1, 67)
1148 {
1149 std::shared_ptr<Drawing::FontMgr> fontMgr(Drawing::FontMgr::CreateDynamicFontMgr());
1150 std::string familyName = "";
1151 fontMgr->GetFamilyName(0, familyName);
1152
1153 auto emoji_data = MakeData(fontMgr, false);
1154 auto data1 = MakeData(fontMgr, true);
1155
1156 auto typeface = std::shared_ptr<Drawing::Typeface>(fontMgr->LoadDynamicFont(
1157 familyName, std::move((uint8_t *)emoji_data->GetData()), data1->GetSize()
1158 ));
1159
1160 DrawTexts(playbackCanvas_, typeface);
1161 }
1162
1163 //对应用例 FontMgr_LoadDynamicFont_3068
1164 DEF_DTK(fontmgr_loaddynamicfont_2, TestLevel::L1, 68)
1165 {
1166 std::shared_ptr<Drawing::FontMgr> fontMgr(Drawing::FontMgr::CreateDefaultFontMgr());
1167 std::string familyName = "HMOS Color Emoji";
1168
1169 auto emoji_data = MakeData(fontMgr, false);
1170 auto data1 = MakeData(fontMgr, true);
1171
1172 auto typeface = std::shared_ptr<Drawing::Typeface>(fontMgr->LoadDynamicFont(
1173 familyName, std::move((uint8_t *)emoji_data->GetData()), data1->GetSize()
1174 ));
1175
1176 DrawTexts(playbackCanvas_, typeface);
1177 }
1178
1179 //对应用例 FontMgr_LoadDynamicFont_3069
1180 DEF_DTK(fontmgr_loaddynamicfont_2, TestLevel::L1, 69)
1181 {
1182 std::shared_ptr<Drawing::FontMgr> fontMgr(Drawing::FontMgr::CreateDefaultFontMgr());
1183 std::string familyName = "";
1184 fontMgr->GetFamilyName(0, familyName);
1185
1186 auto emoji_data = MakeData(fontMgr, false);
1187 auto data1 = MakeData(fontMgr, true);
1188
1189 auto typeface = std::shared_ptr<Drawing::Typeface>(fontMgr->LoadDynamicFont(
1190 familyName, nullptr, emoji_data->GetSize()
1191 ));
1192
1193 DrawTexts(playbackCanvas_, typeface);
1194 }
1195
1196 //对应用例 FontMgr_LoadDynamicFont_3070
1197 DEF_DTK(fontmgr_loaddynamicfont_2, TestLevel::L1, 70)
1198 {
1199 std::shared_ptr<Drawing::FontMgr> fontMgr(Drawing::FontMgr::CreateDefaultFontMgr());
1200 std::string familyName = "abcd";
1201
1202 auto emoji_data = MakeData(fontMgr, false);
1203 auto data1 = MakeData(fontMgr, true);
1204
1205 auto typeface = std::shared_ptr<Drawing::Typeface>(fontMgr->LoadDynamicFont(
1206 familyName, std::move((uint8_t *)emoji_data->GetData()), data1->GetSize()
1207 ));
1208
1209 DrawTexts(playbackCanvas_, typeface);
1210 }
1211
1212 //对应用例 FontMgr_LoadDynamicFont_3071
1213 DEF_DTK(fontmgr_loaddynamicfont_2, TestLevel::L1, 71)
1214 {
1215 std::shared_ptr<Drawing::FontMgr> fontMgr(Drawing::FontMgr::CreateDynamicFontMgr());
1216 std::string familyName = "";
1217 fontMgr->GetFamilyName(0, familyName);
1218
1219 auto emoji_data = MakeData(fontMgr, false);
1220 auto data1 = MakeData(fontMgr, true);
1221
1222 auto typeface = std::shared_ptr<Drawing::Typeface>(fontMgr->LoadDynamicFont(
1223 familyName, nullptr, 0
1224 ));
1225
1226 DrawTexts(playbackCanvas_, typeface);
1227 }
1228
1229 //对应用例 FontMgr_LoadDynamicFont_3072
1230 DEF_DTK(fontmgr_loaddynamicfont_2, TestLevel::L1, 72)
1231 {
1232 std::shared_ptr<Drawing::FontMgr> fontMgr(Drawing::FontMgr::CreateDefaultFontMgr());
1233 std::string familyName = "";
1234
1235 auto emoji_data = MakeData(fontMgr, false);
1236 auto data1 = MakeData(fontMgr, true);
1237
1238 auto typeface = std::shared_ptr<Drawing::Typeface>(fontMgr->LoadDynamicFont(
1239 familyName, std::move((uint8_t *)data1->GetData()), data1->GetSize()
1240 ));
1241
1242 DrawTexts(playbackCanvas_, typeface);
1243 }
1244
1245 }
1246 }
1247