| OLD | NEW |
| 1 | 1 |
| 2 /* | 2 /* |
| 3 * Copyright 2013 The Android Open Source Project | 3 * Copyright 2013 The Android Open Source Project |
| 4 * | 4 * |
| 5 * Use of this source code is governed by a BSD-style license that can be | 5 * Use of this source code is governed by a BSD-style license that can be |
| 6 * found in the LICENSE file. | 6 * found in the LICENSE file. |
| 7 */ | 7 */ |
| 8 | 8 |
| 9 #include "SkFontConfigInterface.h" | 9 #include "SkFontConfigInterface.h" |
| 10 #include "SkTypeface_android.h" | 10 #include "SkTypeface_android.h" |
| (...skipping 495 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 506 // store the result for subsequent lookups | 506 // store the result for subsequent lookups |
| 507 fontRec.fTypeface = face; | 507 fontRec.fTypeface = face; |
| 508 } | 508 } |
| 509 SkASSERT(face); | 509 SkASSERT(face); |
| 510 return face; | 510 return face; |
| 511 } | 511 } |
| 512 | 512 |
| 513 bool SkFontConfigInterfaceAndroid::getFallbackFamilyNameForChar(SkUnichar uni, | 513 bool SkFontConfigInterfaceAndroid::getFallbackFamilyNameForChar(SkUnichar uni, |
| 514 const char* lang
, | 514 const char* lang
, |
| 515 SkString* name)
{ | 515 SkString* name)
{ |
| 516 FallbackFontList* fallbackFontList = this->findFallbackFontList(lang); | 516 FallbackFontList* fallbackFontList = NULL; |
| 517 const SkString langTag(lang); |
| 518 if (langTag.isEmpty()) { |
| 519 fallbackFontList = this->getCurrentLocaleFallbackFontList(); |
| 520 } else { |
| 521 fallbackFontList = this->findFallbackFontList(langTag); |
| 522 } |
| 523 |
| 517 for (int i = 0; i < fallbackFontList->count(); i++) { | 524 for (int i = 0; i < fallbackFontList->count(); i++) { |
| 518 FamilyRecID familyRecID = fallbackFontList->getAt(i); | 525 FamilyRecID familyRecID = fallbackFontList->getAt(i); |
| 519 | 526 |
| 520 // if it is not one of the accepted variants then move to the next famil
y | 527 // if it is not one of the accepted variants then move to the next famil
y |
| 521 int32_t acceptedVariants = SkPaintOptionsAndroid::kDefault_Variant | | 528 int32_t acceptedVariants = SkPaintOptionsAndroid::kDefault_Variant | |
| 522 SkPaintOptionsAndroid::kElegant_Variant; | 529 SkPaintOptionsAndroid::kElegant_Variant; |
| 523 if (!(fFontFamilies[familyRecID].fPaintOptions.getFontVariant() & accept
edVariants)) { | 530 if (!(fFontFamilies[familyRecID].fPaintOptions.getFontVariant() & accept
edVariants)) { |
| 524 continue; | 531 continue; |
| 525 } | 532 } |
| 526 | 533 |
| (...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 726 if (uBounds) { | 733 if (uBounds) { |
| 727 *uBounds = upperBounds; | 734 *uBounds = upperBounds; |
| 728 } | 735 } |
| 729 } | 736 } |
| 730 return currentTypeface; | 737 return currentTypeface; |
| 731 } | 738 } |
| 732 | 739 |
| 733 /////////////////////////////////////////////////////////////////////////////// | 740 /////////////////////////////////////////////////////////////////////////////// |
| 734 | 741 |
| 735 bool SkGetFallbackFamilyNameForChar(SkUnichar uni, SkString* name) { | 742 bool SkGetFallbackFamilyNameForChar(SkUnichar uni, SkString* name) { |
| 736 SkString locale = SkFontConfigParser::GetLocale(); | |
| 737 SkFontConfigInterfaceAndroid* fontConfig = getSingletonInterface(); | 743 SkFontConfigInterfaceAndroid* fontConfig = getSingletonInterface(); |
| 738 return fontConfig->getFallbackFamilyNameForChar(uni, locale.c_str(), name); | 744 return fontConfig->getFallbackFamilyNameForChar(uni, NULL, name); |
| 739 } | 745 } |
| 740 | 746 |
| 741 bool SkGetFallbackFamilyNameForChar(SkUnichar uni, const char* lang, SkString* n
ame) { | 747 bool SkGetFallbackFamilyNameForChar(SkUnichar uni, const char* lang, SkString* n
ame) { |
| 742 SkFontConfigInterfaceAndroid* fontConfig = getSingletonInterface(); | 748 SkFontConfigInterfaceAndroid* fontConfig = getSingletonInterface(); |
| 743 return fontConfig->getFallbackFamilyNameForChar(uni, lang, name); | 749 return fontConfig->getFallbackFamilyNameForChar(uni, lang, name); |
| 744 } | 750 } |
| 745 | 751 |
| 746 void SkUseTestFontConfigFile(const char* mainconf, const char* fallbackconf, | 752 void SkUseTestFontConfigFile(const char* mainconf, const char* fallbackconf, |
| 747 const char* fontsdir) { | 753 const char* fontsdir) { |
| 748 gTestMainConfigFile = mainconf; | 754 gTestMainConfigFile = mainconf; |
| (...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 919 return SkCreateTypefaceForScriptNG(getHBScriptFromHBScriptOld(script), style
, fontVariant); | 925 return SkCreateTypefaceForScriptNG(getHBScriptFromHBScriptOld(script), style
, fontVariant); |
| 920 } | 926 } |
| 921 | 927 |
| 922 #endif | 928 #endif |
| 923 | 929 |
| 924 /////////////////////////////////////////////////////////////////////////////// | 930 /////////////////////////////////////////////////////////////////////////////// |
| 925 | 931 |
| 926 SkFontMgr* SkFontMgr::Factory() { | 932 SkFontMgr* SkFontMgr::Factory() { |
| 927 return NULL; | 933 return NULL; |
| 928 } | 934 } |
| OLD | NEW |