text/qfontdatabase_qpa.cpp

Switch to Source codePreprocessed file
LineSource CodeCoverage
1 -
2 -
3 -
4 -
5 -
6 -
7__attribute__((visibility("default"))) void qt_registerFont(const QString &familyName, const QString &stylename, -
8 const QString &foundryname, int weight, -
9 QFont::Style style, int stretch, bool antialiased, -
10 bool scalable, int pixelSize, bool fixedPitch, -
11 const QSupportedWritingSystems &writingSystems, void *handle) -
12{ -
13 QFontDatabasePrivate *d = privateDb(); -
14 -
15 QtFontStyle::Key styleKey; -
16 styleKey.style = style; -
17 styleKey.weight = weight; -
18 styleKey.stretch = stretch; -
19 QtFontFamily *f = d->family(familyName, true); -
20 f->fixedPitch = fixedPitch; -
21 -
22 for (int i = 0; i < QFontDatabase::WritingSystemsCount; ++i) {
evaluated: i < QFontDatabase::WritingSystemsCount
TRUEFALSE
yes
Evaluation Count:1728968
yes
Evaluation Count:50852
50852-1728968
23 if (writingSystems.supported(QFontDatabase::WritingSystem(i))) {
evaluated: writingSystems.supported(QFontDatabase::WritingSystem(i))
TRUEFALSE
yes
Evaluation Count:88570
yes
Evaluation Count:1640398
88570-1640398
24 f->writingSystems[i] = QtFontFamily::Supported; -
25 } else {
executed: }
Execution Count:88570
88570
26 f->writingSystems[i] = QtFontFamily::Unsupported; -
27 }
executed: }
Execution Count:1640398
1640398
28 } -
29 -
30 QtFontFoundry *foundry = f->foundry(foundryname, true); -
31 QtFontStyle *fontStyle = foundry->style(styleKey, stylename, true); -
32 fontStyle->smoothScalable = scalable; -
33 fontStyle->antialiased = antialiased; -
34 QtFontSize *size = fontStyle->pixelSize(pixelSize ? pixelSize : 0xffff, true); -
35 if (size->handle) {
evaluated: size->handle
TRUEFALSE
yes
Evaluation Count:15949
yes
Evaluation Count:34903
15949-34903
36 QPlatformIntegration *integration = QGuiApplicationPrivate::platformIntegration(); -
37 if (integration)
partially evaluated: integration
TRUEFALSE
yes
Evaluation Count:15949
no
Evaluation Count:0
0-15949
38 integration->fontDatabase()->releaseHandle(size->handle);
executed: integration->fontDatabase()->releaseHandle(size->handle);
Execution Count:15949
15949
39 }
executed: }
Execution Count:15949
15949
40 size->handle = handle; -
41}
executed: }
Execution Count:50852
50852
42 -
43__attribute__((visibility("default"))) void qt_registerAliasToFontFamily(const QString &familyName, const QString &alias) -
44{ -
45 if (alias.isEmpty())
never evaluated: alias.isEmpty()
0
46 return;
never executed: return;
0
47 -
48 QFontDatabasePrivate *d = privateDb(); -
49 QtFontFamily *f = d->family(familyName, false); -
50 if (!f)
never evaluated: !f
0
51 return;
never executed: return;
0
52 -
53 if (f->aliases.contains(alias, Qt::CaseInsensitive))
never evaluated: f->aliases.contains(alias, Qt::CaseInsensitive)
0
54 return;
never executed: return;
0
55 -
56 f->aliases.push_back(alias); -
57}
never executed: }
0
58 -
59static QStringList fallbackFamilies(const QString &family, const QFont::Style &style, const QFont::StyleHint &styleHint, const QUnicodeTables::Script &script) -
60{ -
61 QStringList retList = QGuiApplicationPrivate::platformIntegration()->fontDatabase()->fallbacksForFamily(family,style,styleHint,script); -
62 QFontDatabasePrivate *db = privateDb(); -
63 -
64 QStringList::iterator i; -
65 for (i = retList.begin(); i != retList.end(); ++i) {
evaluated: i != retList.end()
TRUEFALSE
yes
Evaluation Count:51045
yes
Evaluation Count:584
584-51045
66 bool contains = false; -
67 for (int j = 0; j < db->count; j++) {
partially evaluated: j < db->count
TRUEFALSE
yes
Evaluation Count:2303007
no
Evaluation Count:0
0-2303007
68 QtFontFamily *qtFamily = db->families[j]; -
69 if (!(i->compare(qtFamily->name,Qt::CaseInsensitive))) {
evaluated: !(i->compare(qtFamily->name,Qt::CaseInsensitive))
TRUEFALSE
yes
Evaluation Count:51045
yes
Evaluation Count:2251962
51045-2251962
70 contains = true; -
71 break;
executed: break;
Execution Count:51045
51045
72 } -
73 }
executed: }
Execution Count:2251962
2251962
74 if (!contains) {
partially evaluated: !contains
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:51045
0-51045
75 i = retList.erase(i); -
76 i--; -
77 }
never executed: }
0
78 }
executed: }
Execution Count:51045
51045
79 return retList;
executed: return retList;
Execution Count:584
584
80} -
81 -
82static void registerFont(QFontDatabasePrivate::ApplicationFont *fnt); -
83 -
84static void initializeDb() -
85{ -
86 QFontDatabasePrivate *db = privateDb(); -
87 -
88 -
89 if (!db->count)
evaluated: !db->count
TRUEFALSE
yes
Evaluation Count:149
yes
Evaluation Count:352
149-352
90 QGuiApplicationPrivate::platformIntegration()->fontDatabase()->populateFontDatabase();
executed: QGuiApplicationPrivate::platformIntegration()->fontDatabase()->populateFontDatabase();
Execution Count:149
149
91 -
92 if (db->reregisterAppFonts) {
evaluated: db->reregisterAppFonts
TRUEFALSE
yes
Evaluation Count:41
yes
Evaluation Count:460
41-460
93 for (int i = 0; i < db->applicationFonts.count(); i++) {
evaluated: i < db->applicationFonts.count()
TRUEFALSE
yes
Evaluation Count:41
yes
Evaluation Count:41
41
94 if (!db->applicationFonts.at(i).families.isEmpty())
evaluated: !db->applicationFonts.at(i).families.isEmpty()
TRUEFALSE
yes
Evaluation Count:21
yes
Evaluation Count:20
20-21
95 registerFont(&db->applicationFonts[i]);
executed: registerFont(&db->applicationFonts[i]);
Execution Count:21
21
96 }
executed: }
Execution Count:41
41
97 db->reregisterAppFonts = false; -
98 }
executed: }
Execution Count:41
41
99}
executed: }
Execution Count:501
501
100 -
101static inline void load(const QString & = QString(), int = -1) -
102{ -
103 -
104 if (!privateDb()->count)
evaluated: !privateDb()->count
TRUEFALSE
yes
Evaluation Count:4
yes
Evaluation Count:4293
4-4293
105 initializeDb();
executed: initializeDb();
Execution Count:4
4
106}
executed: }
Execution Count:4297
4297
107 -
108static -
109QFontEngine *loadSingleEngine(int script, -
110 const QFontDef &request, -
111 QtFontFoundry *foundry, -
112 QtFontStyle *style, QtFontSize *size) -
113{ -
114 (void)foundry;; -
115 -
116 qt_noop(); -
117 QPlatformFontDatabase *pfdb = QGuiApplicationPrivate::platformIntegration()->fontDatabase(); -
118 int pixelSize = size->pixelSize; -
119 if (!pixelSize || (style->smoothScalable && pixelSize == 0xffff)
partially evaluated: !pixelSize
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:877
partially evaluated: style->smoothScalable
TRUEFALSE
yes
Evaluation Count:877
no
Evaluation Count:0
partially evaluated: pixelSize == 0xffff
TRUEFALSE
yes
Evaluation Count:877
no
Evaluation Count:0
0-877
120 || pfdb->fontsAlwaysScalable()) {
never evaluated: pfdb->fontsAlwaysScalable()
0
121 pixelSize = request.pixelSize; -
122 }
executed: }
Execution Count:877
877
123 -
124 QFontDef def = request; -
125 def.pixelSize = pixelSize; -
126 -
127 QFontCache::Key key(def,script); -
128 QFontEngine *engine = QFontCache::instance()->findEngine(key); -
129 if (!engine) {
partially evaluated: !engine
TRUEFALSE
yes
Evaluation Count:877
no
Evaluation Count:0
0-877
130 engine = pfdb->fontEngine(def,QUnicodeTables::Script(script),size->handle); -
131 if (engine) {
evaluated: engine
TRUEFALSE
yes
Evaluation Count:618
yes
Evaluation Count:259
259-618
132 QFontCache::Key key(def,script); -
133 QFontCache::instance()->instance()->insertEngine(key,engine); -
134 }
executed: }
Execution Count:618
618
135 }
executed: }
Execution Count:877
877
136 return engine;
executed: return engine;
Execution Count:877
877
137} -
138 -
139static -
140QFontEngine *loadEngine(int script, const QFontDef &request, -
141 QtFontFamily *family, QtFontFoundry *foundry, -
142 QtFontStyle *style, QtFontSize *size) -
143{ -
144 -
145 QFontEngine *engine = loadSingleEngine(script, request, foundry, style, size); -
146 -
147 if (engine && engine->type() != QFontEngine::Multi
evaluated: engine
TRUEFALSE
yes
Evaluation Count:618
yes
Evaluation Count:259
partially evaluated: engine->type() != QFontEngine::Multi
TRUEFALSE
yes
Evaluation Count:618
no
Evaluation Count:0
0-618
148 && !(request.styleStrategy & QFont::NoFontMerging) && !engine->symbol ) {
evaluated: !(request.styleStrategy & QFont::NoFontMerging)
TRUEFALSE
yes
Evaluation Count:616
yes
Evaluation Count:2
evaluated: !engine->symbol
TRUEFALSE
yes
Evaluation Count:592
yes
Evaluation Count:24
2-616
149 -
150 if (family && !family->askedForFallback) {
partially evaluated: family
TRUEFALSE
yes
Evaluation Count:592
no
Evaluation Count:0
evaluated: !family->askedForFallback
TRUEFALSE
yes
Evaluation Count:385
yes
Evaluation Count:207
0-592
151 QFont::Style fontStyle = QFont::Style(style->key.style); -
152 QFont::StyleHint styleHint = QFont::StyleHint(request.styleHint); -
153 if (styleHint == QFont::AnyStyle && request.fixedPitch)
partially evaluated: styleHint == QFont::AnyStyle
TRUEFALSE
yes
Evaluation Count:385
no
Evaluation Count:0
partially evaluated: request.fixedPitch
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:385
0-385
154 styleHint = QFont::TypeWriter;
never executed: styleHint = QFont::TypeWriter;
0
155 family->fallbackFamilies = fallbackFamilies(family->name,fontStyle,styleHint,QUnicodeTables::Script(script)); -
156 -
157 family->askedForFallback = true; -
158 }
executed: }
Execution Count:385
385
159 -
160 QStringList fallbacks = privateDb()->fallbackFamilies; -
161 if (family && !family->fallbackFamilies.isEmpty())
partially evaluated: family
TRUEFALSE
yes
Evaluation Count:592
no
Evaluation Count:0
partially evaluated: !family->fallbackFamilies.isEmpty()
TRUEFALSE
yes
Evaluation Count:592
no
Evaluation Count:0
0-592
162 fallbacks = family->fallbackFamilies;
executed: fallbacks = family->fallbackFamilies;
Execution Count:592
592
163 -
164 QPlatformFontDatabase *pfdb = QGuiApplicationPrivate::platformIntegration()->fontDatabase(); -
165 QFontEngineMulti *pfMultiEngine = pfdb->fontEngineMulti(engine, QUnicodeTables::Script(script)); -
166 pfMultiEngine->setFallbackFamiliesList(fallbacks); -
167 engine = pfMultiEngine; -
168 -
169 -
170 -
171 QFontCache::Key key(request, script, 1); -
172 QFontCache::instance()->instance()->insertEngine(key, engine); -
173 }
executed: }
Execution Count:592
592
174 -
175 return engine;
executed: return engine;
Execution Count:877
877
176} -
177 -
178static void registerFont(QFontDatabasePrivate::ApplicationFont *fnt) -
179{ -
180 QFontDatabasePrivate *db = privateDb(); -
181 -
182 fnt->families = QGuiApplicationPrivate::platformIntegration()->fontDatabase()->addApplicationFont(fnt->data,fnt->fileName); -
183 -
184 db->reregisterAppFonts = true; -
185}
executed: }
Execution Count:42
42
186 -
187bool QFontDatabase::removeApplicationFont(int handle) -
188{ -
189 QMutexLocker locker(fontDatabaseMutex()); -
190 -
191 QFontDatabasePrivate *db = privateDb(); -
192 if (handle < 0 || handle >= db->applicationFonts.count())
partially evaluated: handle < 0
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:21
partially evaluated: handle >= db->applicationFonts.count()
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:21
0-21
193 return false;
never executed: return false;
0
194 -
195 db->applicationFonts[handle] = QFontDatabasePrivate::ApplicationFont(); -
196 -
197 db->reregisterAppFonts = true; -
198 db->invalidate(); -
199 return true;
executed: return true;
Execution Count:21
21
200} -
201 -
202bool QFontDatabase::removeAllApplicationFonts() -
203{ -
204 QMutexLocker locker(fontDatabaseMutex()); -
205 -
206 QFontDatabasePrivate *db = privateDb(); -
207 if (db->applicationFonts.isEmpty())
never evaluated: db->applicationFonts.isEmpty()
0
208 return false;
never executed: return false;
0
209 -
210 db->applicationFonts.clear(); -
211 db->invalidate(); -
212 return true;
never executed: return true;
0
213} -
214 -
215bool QFontDatabase::supportsThreadedFontRendering() -
216{ -
217 return true;
executed: return true;
Execution Count:1
1
218} -
219 -
220 -
221 -
222 -
223QFontEngine * -
224QFontDatabase::findFont(int script, const QFontPrivate *fp, -
225 const QFontDef &request, bool multi) -
226{ -
227 QMutexLocker locker(fontDatabaseMutex()); -
228 -
229 const int force_encoding_id = -1; -
230 -
231 if (!privateDb()->count)
evaluated: !privateDb()->count
TRUEFALSE
yes
Evaluation Count:124
yes
Evaluation Count:514
124-514
232 initializeDb();
executed: initializeDb();
Execution Count:124
124
233 -
234 QFontEngine *engine; -
235 QFontCache::Key key(request, script, multi ? 1 : 0); -
236 engine = QFontCache::instance()->findEngine(key); -
237 if (engine) {
evaluated: engine
TRUEFALSE
yes
Evaluation Count:7
yes
Evaluation Count:631
7-631
238 if (false) QMessageLogger("text/qfontdatabase_qpa.cpp", 286, __PRETTY_FUNCTION__).debug("Cache hit level 1");
never executed: QMessageLogger("text/qfontdatabase_qpa.cpp", 286, __PRETTY_FUNCTION__).debug("Cache hit level 1");
partially evaluated: false
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:7
0-7
239 return engine;
executed: return engine;
Execution Count:7
7
240 } -
241 -
242 QString family_name, foundry_name; -
243 -
244 parseFontName(request.family, foundry_name, family_name); -
245 -
246 if (qt_enable_test_font && request.family == QLatin1String("__Qt__Box__Engine__")) {
partially evaluated: qt_enable_test_font
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:631
never evaluated: request.family == QLatin1String("__Qt__Box__Engine__")
0-631
247 engine =new QTestFontEngine(request.pixelSize); -
248 engine->fontDef = request; -
249 }
never executed: }
0
250 -
251 QtFontDesc desc; -
252 match(script, request, family_name, foundry_name, force_encoding_id, &desc); -
253 if (desc.family != 0 && desc.foundry != 0 && desc.style != 0) {
evaluated: desc.family != 0
TRUEFALSE
yes
Evaluation Count:601
yes
Evaluation Count:30
partially evaluated: desc.foundry != 0
TRUEFALSE
yes
Evaluation Count:601
no
Evaluation Count:0
partially evaluated: desc.style != 0
TRUEFALSE
yes
Evaluation Count:601
no
Evaluation Count:0
0-601
254 engine = loadEngine(script, request, desc.family, desc.foundry, desc.style, desc.size); -
255 } else {
executed: }
Execution Count:601
601
256 if (false) QMessageLogger("text/qfontdatabase_qpa.cpp", 304, __PRETTY_FUNCTION__).debug(" NO MATCH FOUND\n");
never executed: QMessageLogger("text/qfontdatabase_qpa.cpp", 304, __PRETTY_FUNCTION__).debug(" NO MATCH FOUND\n");
partially evaluated: false
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:30
0-30
257 }
executed: }
Execution Count:30
30
258 -
259 if (engine && engine->type() != QFontEngine::TestFontEngine) {
evaluated: engine
TRUEFALSE
yes
Evaluation Count:430
yes
Evaluation Count:201
partially evaluated: engine->type() != QFontEngine::TestFontEngine
TRUEFALSE
yes
Evaluation Count:430
no
Evaluation Count:0
0-430
260 initFontDef(desc, request, &engine->fontDef, engine->type() == QFontEngine::Multi); -
261 -
262 if (fp) {
evaluated: fp
TRUEFALSE
yes
Evaluation Count:428
yes
Evaluation Count:2
2-428
263 QFontDef def = request; -
264 if (def.family.isEmpty()) {
partially evaluated: def.family.isEmpty()
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:428
0-428
265 def.family = fp->request.family; -
266 def.family = def.family.left(def.family.indexOf(QLatin1Char(','))); -
267 }
never executed: }
0
268 }
executed: }
Execution Count:428
428
269 }
executed: }
Execution Count:430
430
270 -
271 if (!engine) {
evaluated: !engine
TRUEFALSE
yes
Evaluation Count:201
yes
Evaluation Count:430
201-430
272 if (!request.family.isEmpty()) {
evaluated: !request.family.isEmpty()
TRUEFALSE
yes
Evaluation Count:199
yes
Evaluation Count:2
2-199
273 QStringList fallbacks = request.fallBackFamilies -
274 + fallbackFamilies(request.family, -
275 QFont::Style(request.style), -
276 QFont::StyleHint(request.styleHint), -
277 QUnicodeTables::Script(script)); -
278 -
279 for (int i = 0; !engine && i < fallbacks.size(); i++) {
evaluated: !engine
TRUEFALSE
yes
Evaluation Count:410
yes
Evaluation Count:197
evaluated: i < fallbacks.size()
TRUEFALSE
yes
Evaluation Count:408
yes
Evaluation Count:2
2-410
280 QFontDef def = request; -
281 def.family = fallbacks.at(i); -
282 QFontCache::Key key(def, script, multi ? 1 : 0); -
283 engine = QFontCache::instance()->findEngine(key); -
284 if (!engine) {
evaluated: !engine
TRUEFALSE
yes
Evaluation Count:399
yes
Evaluation Count:9
9-399
285 QtFontDesc desc; -
286 match(script, def, def.family, QLatin1String(""), 0, &desc); -
287 if (desc.family == 0 && desc.foundry == 0 && desc.style == 0) {
evaluated: desc.family == 0
TRUEFALSE
yes
Evaluation Count:123
yes
Evaluation Count:276
partially evaluated: desc.foundry == 0
TRUEFALSE
yes
Evaluation Count:123
no
Evaluation Count:0
partially evaluated: desc.style == 0
TRUEFALSE
yes
Evaluation Count:123
no
Evaluation Count:0
0-276
288 continue;
executed: continue;
Execution Count:123
123
289 } -
290 engine = loadEngine(script, def, desc.family, desc.foundry, desc.style, desc.size); -
291 if (engine) {
evaluated: engine
TRUEFALSE
yes
Evaluation Count:188
yes
Evaluation Count:88
88-188
292 initFontDef(desc, def, &engine->fontDef, engine->type() == QFontEngine::Multi); -
293 }
executed: }
Execution Count:188
188
294 }
executed: }
Execution Count:276
276
295 }
executed: }
Execution Count:285
285
296 }
executed: }
Execution Count:199
199
297 -
298 if (!engine)
evaluated: !engine
TRUEFALSE
yes
Evaluation Count:4
yes
Evaluation Count:197
4-197
299 engine = new QFontEngineBox(request.pixelSize);
executed: engine = new QFontEngineBox(request.pixelSize);
Execution Count:4
4
300 -
301 if (false) QMessageLogger("text/qfontdatabase_qpa.cpp", 349, __PRETTY_FUNCTION__).debug("returning box engine");
never executed: QMessageLogger("text/qfontdatabase_qpa.cpp", 349, __PRETTY_FUNCTION__).debug("returning box engine");
partially evaluated: false
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:201
0-201
302 }
executed: }
Execution Count:201
201
303 -
304 if (fp && fp->dpi > 0) {
evaluated: fp
TRUEFALSE
yes
Evaluation Count:629
yes
Evaluation Count:2
evaluated: fp->dpi > 0
TRUEFALSE
yes
Evaluation Count:627
yes
Evaluation Count:2
2-629
305 engine->fontDef.pointSize = qreal(double((engine->fontDef.pixelSize * 72) / fp->dpi)); -
306 } else {
executed: }
Execution Count:627
627
307 engine->fontDef.pointSize = request.pointSize; -
308 }
executed: }
Execution Count:4
4
309 -
310 return engine;
executed: return engine;
Execution Count:631
631
311} -
312 -
313void QFontDatabase::load(const QFontPrivate *d, int script) -
314{ -
315 QFontDef req = d->request; -
316 -
317 if (req.pixelSize == -1) {
evaluated: req.pixelSize == -1
TRUEFALSE
yes
Evaluation Count:25538
yes
Evaluation Count:106
106-25538
318 req.pixelSize = floor(((req.pointSize * d->dpi) / 72) * 100 + 0.5) / 100; -
319 req.pixelSize = qRound(req.pixelSize); -
320 }
executed: }
Execution Count:25538
25538
321 if (req.pointSize < 0)
evaluated: req.pointSize < 0
TRUEFALSE
yes
Evaluation Count:106
yes
Evaluation Count:25538
106-25538
322 req.pointSize = req.pixelSize*72.0/d->dpi;
executed: req.pointSize = req.pixelSize*72.0/d->dpi;
Execution Count:106
106
323 if (req.weight == 0)
partially evaluated: req.weight == 0
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:25644
0-25644
324 req.weight = QFont::Normal;
never executed: req.weight = QFont::Normal;
0
325 if (req.stretch == 0)
partially evaluated: req.stretch == 0
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:25644
0-25644
326 req.stretch = 100;
never executed: req.stretch = 100;
0
327 -
328 -
329 -
330 -
331 bool multi = !(req.styleStrategy & QFont::NoFontMerging); -
332 QFontCache::Key key(req, script, multi ? 1 : 0); -
333 -
334 if (!d->engineData)
evaluated: !d->engineData
TRUEFALSE
yes
Evaluation Count:25626
yes
Evaluation Count:18
18-25626
335 getEngineData(d, req);
executed: getEngineData(d, req);
Execution Count:25626
25626
336 -
337 -
338 if (d->engineData->engines[script])
evaluated: d->engineData->engines[script]
TRUEFALSE
yes
Evaluation Count:25015
yes
Evaluation Count:629
629-25015
339 return;
executed: return;
Execution Count:25015
25015
340 -
341 QFontEngine *fe = QFontCache::instance()->findEngine(key); -
342 -
343 -
344 QStringList family_list; -
345 -
346 if (!req.family.isEmpty()) {
partially evaluated: !req.family.isEmpty()
TRUEFALSE
yes
Evaluation Count:629
no
Evaluation Count:0
0-629
347 QStringList familiesForRequest = familyList(req); -
348 -
349 -
350 family_list << familiesForRequest.takeFirst(); -
351 -
352 -
353 req.fallBackFamilies = familiesForRequest; -
354 -
355 -
356 QString defaultFamily = QGuiApplication::font().family(); -
357 if (! family_list.contains(defaultFamily))
evaluated: ! family_list.contains(defaultFamily)
TRUEFALSE
yes
Evaluation Count:459
yes
Evaluation Count:170
170-459
358 family_list << defaultFamily;
executed: family_list << defaultFamily;
Execution Count:459
459
359 -
360 }
executed: }
Execution Count:629
629
361 -
362 -
363 family_list << QString(); -
364 -
365 QStringList::ConstIterator it = family_list.constBegin(), end = family_list.constEnd(); -
366 for (; !fe && it != end; ++it) {
evaluated: !fe
TRUEFALSE
yes
Evaluation Count:629
yes
Evaluation Count:629
partially evaluated: it != end
TRUEFALSE
yes
Evaluation Count:629
no
Evaluation Count:0
0-629
367 req.family = *it; -
368 -
369 fe = QFontDatabase::findFont(script, d, req, multi); -
370 if (fe && (fe->type()==QFontEngine::Box) && !req.family.isEmpty()) {
partially evaluated: fe
TRUEFALSE
yes
Evaluation Count:629
no
Evaluation Count:0
evaluated: (fe->type()==QFontEngine::Box)
TRUEFALSE
yes
Evaluation Count:4
yes
Evaluation Count:625
evaluated: !req.family.isEmpty()
TRUEFALSE
yes
Evaluation Count:2
yes
Evaluation Count:2
0-629
371 if (fe->ref.load() == 0)
partially evaluated: fe->ref.load() == 0
TRUEFALSE
yes
Evaluation Count:2
no
Evaluation Count:0
0-2
372 delete fe;
executed: delete fe;
Execution Count:2
2
373 -
374 fe = 0; -
375 }
executed: }
Execution Count:2
2
376 -
377 -
378 req.fallBackFamilies.clear(); -
379 }
executed: }
Execution Count:629
629
380 -
381 if (fe->symbol || (d->request.styleStrategy & QFont::NoFontMerging)) {
evaluated: fe->symbol
TRUEFALSE
yes
Evaluation Count:24
yes
Evaluation Count:605
partially evaluated: (d->request.styleStrategy & QFont::NoFontMerging)
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:605
0-605
382 for (int i = 0; i < QUnicodeTables::ScriptCount; ++i) {
evaluated: i < QUnicodeTables::ScriptCount
TRUEFALSE
yes
Evaluation Count:672
yes
Evaluation Count:24
24-672
383 if (!d->engineData->engines[i]) {
partially evaluated: !d->engineData->engines[i]
TRUEFALSE
yes
Evaluation Count:672
no
Evaluation Count:0
0-672
384 d->engineData->engines[i] = fe; -
385 fe->ref.ref(); -
386 }
executed: }
Execution Count:672
672
387 }
executed: }
Execution Count:672
672
388 } else {
executed: }
Execution Count:24
24
389 d->engineData->engines[script] = fe; -
390 fe->ref.ref(); -
391 }
executed: }
Execution Count:605
605
392} -
393 -
394QString QFontDatabase::resolveFontFamilyAlias(const QString &family) -
395{ -
396 return QGuiApplicationPrivate::platformIntegration()->fontDatabase()->resolveFontFamilyAlias(family);
executed: return QGuiApplicationPrivate::platformIntegration()->fontDatabase()->resolveFontFamilyAlias(family);
Execution Count:9
9
397} -
398 -
399 -
400 -
Switch to Source codePreprocessed file

Generated by Squish Coco Non-Commercial