OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2014 Google Inc. | 2 * Copyright 2014 Google Inc. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
6 */ | 6 */ |
7 | 7 |
8 #include "SkDataTable.h" | 8 #include "SkDataTable.h" |
9 #include "SkFontDescriptor.h" | 9 #include "SkFontDescriptor.h" |
10 #include "SkFontHost_FreeType_common.h" | 10 #include "SkFontHost_FreeType_common.h" |
(...skipping 788 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
799 return NULL; | 799 return NULL; |
800 } | 800 } |
801 | 801 |
802 return createTypefaceFromFcPattern(font); | 802 return createTypefaceFromFcPattern(font); |
803 } | 803 } |
804 | 804 |
805 virtual SkTypeface* onMatchFaceStyle(const SkTypeface* typeface, | 805 virtual SkTypeface* onMatchFaceStyle(const SkTypeface* typeface, |
806 const SkFontStyle& style) const SK_OVER
RIDE | 806 const SkFontStyle& style) const SK_OVER
RIDE |
807 { | 807 { |
808 //TODO: should the SkTypeface_fontconfig know its family? | 808 //TODO: should the SkTypeface_fontconfig know its family? |
809 const char* name = NULL; | 809 const SkTypeface_fontconfig* fcTypeface = |
810 if (typeface) { | |
811 const SkTypeface_fontconfig* fcTypeface = | |
812 static_cast<const SkTypeface_fontconfig*>(typeface); | 810 static_cast<const SkTypeface_fontconfig*>(typeface); |
813 name = get_string(fcTypeface->fPattern, FC_FAMILY); | 811 return this->matchFamilyStyle(get_string(fcTypeface->fPattern, FC_FAMILY
), style); |
814 } | |
815 return this->matchFamilyStyle(name, style); | |
816 } | 812 } |
817 | 813 |
818 /** @param stream does not take ownership of the reference. */ | 814 /** @param stream does not take ownership of the reference. */ |
819 virtual SkTypeface* onCreateFromStream(SkStream* stream, int ttcIndex) const
SK_OVERRIDE { | 815 virtual SkTypeface* onCreateFromStream(SkStream* stream, int ttcIndex) const
SK_OVERRIDE { |
820 const size_t length = stream->getLength(); | 816 const size_t length = stream->getLength(); |
821 if (length <= 0 || (1u << 30) < length) { | 817 if (length <= 0 || (1u << 30) < length) { |
822 return NULL; | 818 return NULL; |
823 } | 819 } |
824 | 820 |
825 SkTypeface::Style style = SkTypeface::kNormal; | 821 SkTypeface::Style style = SkTypeface::kNormal; |
(...skipping 30 matching lines...) Expand all Loading... |
856 return typeface.detach(); | 852 return typeface.detach(); |
857 } | 853 } |
858 | 854 |
859 return this->matchFamilyStyle(NULL, style); | 855 return this->matchFamilyStyle(NULL, style); |
860 } | 856 } |
861 }; | 857 }; |
862 | 858 |
863 SkFontMgr* SkFontMgr::Factory() { | 859 SkFontMgr* SkFontMgr::Factory() { |
864 return SkNEW(SkFontMgr_fontconfig); | 860 return SkNEW(SkFontMgr_fontconfig); |
865 } | 861 } |
OLD | NEW |