OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "content/renderer/renderer_font_platform_win.h" | 5 #include "content/renderer/renderer_font_platform_win.h" |
6 | 6 |
7 #include <dwrite.h> | 7 #include <dwrite.h> |
8 #include <string> | 8 #include <string> |
9 #include <vector> | 9 #include <vector> |
10 #include <wrl/implements.h> | 10 #include <wrl/implements.h> |
(...skipping 277 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
288 } | 288 } |
289 } | 289 } |
290 UMA_HISTOGRAM_COUNTS("DirectWrite.Fonts.Loaded", reg_fonts_.size()); | 290 UMA_HISTOGRAM_COUNTS("DirectWrite.Fonts.Loaded", reg_fonts_.size()); |
291 UMA_HISTOGRAM_COUNTS("DirectWrite.Fonts.Ignored", | 291 UMA_HISTOGRAM_COUNTS("DirectWrite.Fonts.Ignored", |
292 regkey.GetValueCount() - reg_fonts_.size()); | 292 regkey.GetValueCount() - reg_fonts_.size()); |
293 return true; | 293 return true; |
294 } | 294 } |
295 | 295 |
296 // This list is mainly based on prefs/prefs_tab_helper.cc kFontDefaults. | 296 // This list is mainly based on prefs/prefs_tab_helper.cc kFontDefaults. |
297 const wchar_t* kRestrictedFontSet[] = { | 297 const wchar_t* kRestrictedFontSet[] = { |
| 298 // These are the "Web Safe" fonts. |
298 L"times.ttf", // IDS_STANDARD_FONT_FAMILY | 299 L"times.ttf", // IDS_STANDARD_FONT_FAMILY |
299 L"timesbd.ttf", // IDS_STANDARD_FONT_FAMILY | 300 L"timesbd.ttf", // IDS_STANDARD_FONT_FAMILY |
300 L"timesbi.ttf", // IDS_STANDARD_FONT_FAMILY | 301 L"timesbi.ttf", // IDS_STANDARD_FONT_FAMILY |
301 L"timesi.ttf", // IDS_STANDARD_FONT_FAMILY | 302 L"timesi.ttf", // IDS_STANDARD_FONT_FAMILY |
302 L"cour.ttf", // IDS_FIXED_FONT_FAMILY | 303 L"cour.ttf", // IDS_FIXED_FONT_FAMILY |
303 L"courbd.ttf", // IDS_FIXED_FONT_FAMILY | 304 L"courbd.ttf", // IDS_FIXED_FONT_FAMILY |
304 L"courbi.ttf", // IDS_FIXED_FONT_FAMILY | 305 L"courbi.ttf", // IDS_FIXED_FONT_FAMILY |
305 L"couri.ttf", // IDS_FIXED_FONT_FAMILY | 306 L"couri.ttf", // IDS_FIXED_FONT_FAMILY |
306 L"consola.ttf", // IDS_FIXED_FONT_FAMILY_ALT_WIN | 307 L"consola.ttf", // IDS_FIXED_FONT_FAMILY_ALT_WIN |
307 L"consolab.ttf", // IDS_FIXED_FONT_FAMILY_ALT_WIN | 308 L"consolab.ttf", // IDS_FIXED_FONT_FAMILY_ALT_WIN |
(...skipping 10 matching lines...) Expand all Loading... |
318 L"impact.ttf", // IDS_FANTASY_FONT_FAMILY | 319 L"impact.ttf", // IDS_FANTASY_FONT_FAMILY |
319 L"segoeui.ttf", // IDS_PICTOGRAPH_FONT_FAMILY | 320 L"segoeui.ttf", // IDS_PICTOGRAPH_FONT_FAMILY |
320 L"segoeuib.ttf", // IDS_PICTOGRAPH_FONT_FAMILY | 321 L"segoeuib.ttf", // IDS_PICTOGRAPH_FONT_FAMILY |
321 L"segoeuii.ttf", // IDS_PICTOGRAPH_FONT_FAMILY | 322 L"segoeuii.ttf", // IDS_PICTOGRAPH_FONT_FAMILY |
322 L"msgothic.ttc", // IDS_STANDARD_FONT_FAMILY_JAPANESE | 323 L"msgothic.ttc", // IDS_STANDARD_FONT_FAMILY_JAPANESE |
323 L"msmincho.ttc", // IDS_SERIF_FONT_FAMILY_JAPANESE | 324 L"msmincho.ttc", // IDS_SERIF_FONT_FAMILY_JAPANESE |
324 L"gulim.ttc", // IDS_FIXED_FONT_FAMILY_KOREAN | 325 L"gulim.ttc", // IDS_FIXED_FONT_FAMILY_KOREAN |
325 L"batang.ttc", // IDS_SERIF_FONT_FAMILY_KOREAN | 326 L"batang.ttc", // IDS_SERIF_FONT_FAMILY_KOREAN |
326 L"simsun.ttc", // IDS_STANDARD_FONT_FAMILY_SIMPLIFIED_HAN | 327 L"simsun.ttc", // IDS_STANDARD_FONT_FAMILY_SIMPLIFIED_HAN |
327 L"mingliu.ttc", // IDS_SERIF_FONT_FAMILY_TRADITIONAL_HAN | 328 L"mingliu.ttc", // IDS_SERIF_FONT_FAMILY_TRADITIONAL_HAN |
| 329 |
| 330 // These are from the Blink fallback list. |
| 331 L"david.ttf", // USCRIPT_HEBREW |
| 332 L"davidbd.ttf", // USCRIPT_HEBREW |
| 333 L"euphemia.ttf", // USCRIPT_CANADIAN_ABORIGINAL |
| 334 L"gautami.ttf", // USCRIPT_TELUGU |
| 335 L"gautamib.ttf", // USCRIPT_TELUGU |
| 336 L"latha.ttf", // USCRIPT_TAMIL |
| 337 L"lathab.ttf", // USCRIPT_TAMIL |
| 338 L"mangal.ttf", // USCRIPT_DEVANAGARI |
| 339 L"mangalb.ttf", // USCRIPT_DEVANAGARI |
| 340 L"monbaiti.ttf", // USCRIPT_MONGOLIAN |
| 341 L"mvboli.ttf", // USCRIPT_THAANA |
| 342 L"plantc.ttf", // USCRIPT_CHEROKEE |
| 343 L"raavi.ttf", // USCRIPT_GURMUKHI |
| 344 L"raavib.ttf", // USCRIPT_GURMUKHI |
| 345 L"shruti.ttf", // USCRIPT_GUJARATI |
| 346 L"shrutib.ttf", // USCRIPT_GUJARATI |
| 347 L"sylfaen.ttf", // USCRIPT_GEORGIAN and USCRIPT_ARMENIAN |
| 348 L"tahoma.ttf", // USCRIPT_ARABIC, |
| 349 L"tahomabd.ttf", // USCRIPT_ARABIC, |
| 350 L"tunga.ttf", // USCRIPT_KANNADA |
| 351 L"tungab.ttf", // USCRIPT_KANNADA |
| 352 L"vrinda.ttf", // USCRIPT_BENGALI |
| 353 L"vrindab.ttf", // USCRIPT_BENGALI |
328 }; | 354 }; |
329 | 355 |
330 bool FontCollectionLoader::LoadRestrictedFontList() { | 356 bool FontCollectionLoader::LoadRestrictedFontList() { |
331 reg_fonts_.clear(); | 357 reg_fonts_.clear(); |
332 reg_fonts_.assign(kRestrictedFontSet, | 358 reg_fonts_.assign(kRestrictedFontSet, |
333 kRestrictedFontSet + _countof(kRestrictedFontSet)); | 359 kRestrictedFontSet + _countof(kRestrictedFontSet)); |
334 return true; | 360 return true; |
335 } | 361 } |
336 | 362 |
337 } // namespace | 363 } // namespace |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
376 CHECK(g_font_collection.Get() != NULL); | 402 CHECK(g_font_collection.Get() != NULL); |
377 | 403 |
378 UMA_HISTOGRAM_TIMES("DirectWrite.Fonts.LoadTime", time_delta); | 404 UMA_HISTOGRAM_TIMES("DirectWrite.Fonts.LoadTime", time_delta); |
379 | 405 |
380 base::debug::ClearCrashKey(kFontKeyName); | 406 base::debug::ClearCrashKey(kFontKeyName); |
381 | 407 |
382 return g_font_collection.Get(); | 408 return g_font_collection.Get(); |
383 } | 409 } |
384 | 410 |
385 } // namespace content | 411 } // namespace content |
OLD | NEW |