| 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 |