| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "ui/gfx/font_list.h" | 5 #include "ui/gfx/font_list.h" |
| 6 | 6 |
| 7 #include "base/lazy_instance.h" | 7 #include "base/lazy_instance.h" |
| 8 #include "base/strings/string_number_conversions.h" | 8 #include "base/strings/string_number_conversions.h" |
| 9 #include "base/strings/string_split.h" | 9 #include "base/strings/string_split.h" |
| 10 #include "base/strings/string_util.h" | 10 #include "base/strings/string_util.h" |
| 11 #include "third_party/skia/include/core/SkTypeface.h" | 11 #include "third_party/skia/include/core/SkTypeface.h" |
| 12 #include "third_party/skia/include/ports/SkFontMgr.h" | 12 #include "third_party/skia/include/ports/SkFontMgr.h" |
| 13 #include "ui/gfx/font_list_impl.h" | 13 #include "ui/gfx/font_list_impl.h" |
| 14 | 14 |
| 15 namespace { | 15 namespace { |
| 16 | 16 |
| 17 // Font description of the default font set. | 17 // Font description of the default font set. |
| 18 base::LazyInstance<std::string>::Leaky g_default_font_description = | 18 base::LazyInstance<std::string>::Leaky g_default_font_description = |
| 19 LAZY_INSTANCE_INITIALIZER; | 19 LAZY_INSTANCE_INITIALIZER; |
| 20 | 20 |
| 21 // The default instance of gfx::FontListImpl. | 21 // The default instance of gfx::FontListImpl. |
| 22 base::LazyInstance<scoped_refptr<gfx::FontListImpl> >::Leaky g_default_impl = | 22 base::LazyInstance<scoped_refptr<gfx::FontListImpl>>::Leaky g_default_impl = |
| 23 LAZY_INSTANCE_INITIALIZER; | 23 LAZY_INSTANCE_INITIALIZER; |
| 24 bool g_default_impl_initialized = false; | 24 bool g_default_impl_initialized = false; |
| 25 | 25 |
| 26 bool IsFontFamilyAvailable(const std::string& family, SkFontMgr* fontManager) { | 26 bool IsFontFamilyAvailable(const std::string& family, SkFontMgr* fontManager) { |
| 27 #if defined(OS_LINUX) | 27 #if defined(OS_LINUX) |
| 28 sk_sp<SkTypeface> typeface( | 28 sk_sp<SkTypeface> typeface( |
| 29 fontManager->legacyCreateTypeface(family.c_str(), SkFontStyle())); | 29 fontManager->legacyCreateTypeface(family.c_str(), SkFontStyle())); |
| 30 return typeface; | 30 return typeface; |
| 31 #else | 31 #else |
| 32 sk_sp<SkFontStyleSet> set(fontManager->matchFamily(family.c_str())); | 32 sk_sp<SkFontStyleSet> set(fontManager->matchFamily(family.c_str())); |
| (...skipping 213 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 246 return families[0]; | 246 return families[0]; |
| 247 sk_sp<SkFontMgr> fm(SkFontMgr::RefDefault()); | 247 sk_sp<SkFontMgr> fm(SkFontMgr::RefDefault()); |
| 248 for (const auto& family : families) { | 248 for (const auto& family : families) { |
| 249 if (IsFontFamilyAvailable(family, fm.get())) | 249 if (IsFontFamilyAvailable(family, fm.get())) |
| 250 return family; | 250 return family; |
| 251 } | 251 } |
| 252 return families[0]; | 252 return families[0]; |
| 253 } | 253 } |
| 254 | 254 |
| 255 } // namespace gfx | 255 } // namespace gfx |
| OLD | NEW |