Loading core/jni/android/graphics/TextLayoutCache.cpp +34 −10 Original line number Diff line number Diff line Loading @@ -34,8 +34,9 @@ namespace android { #define TYPE_FACE_HEBREW_REGULAR "/system/fonts/DroidSansHebrew-Regular.ttf" #define TYPE_FACE_HEBREW_BOLD "/system/fonts/DroidSansHebrew-Bold.ttf" #define TYPEFACE_BENGALI "/system/fonts/Lohit-Bengali.ttf" #define TYPEFACE_DEVANAGARI "/system/fonts/Lohit-Devanagari.ttf" #define TYPEFACE_TAMIL "/system/fonts/Lohit-Tamil.ttf" #define TYPEFACE_DEVANAGARI_REGULAR "/system/fonts/DroidSansDevanagari-Regular.ttf" #define TYPEFACE_TAMIL_REGULAR "/system/fonts/DroidSansTamil-Regular.ttf" #define TYPEFACE_TAMIL_BOLD "/system/fonts/DroidSansTamil-Bold.ttf" #define TYPEFACE_THAI "/system/fonts/DroidSansThai.ttf" ANDROID_SINGLETON_STATIC_INSTANCE(TextLayoutEngine); Loading Loading @@ -337,8 +338,9 @@ TextLayoutShaper::TextLayoutShaper() : mShaperItemGlyphArraySize(0) { mHebrewBoldTypeface = NULL; mBengaliTypeface = NULL; mThaiTypeface = NULL; mDevanagariTypeface = NULL; mTamilTypeface = NULL; mDevanagariRegularTypeface = NULL; mTamilRegularTypeface = NULL; mTamilBoldTypeface = NULL; mFontRec.klass = &harfbuzzSkiaClass; mFontRec.userData = 0; Loading @@ -364,8 +366,9 @@ TextLayoutShaper::~TextLayoutShaper() { SkSafeUnref(mHebrewBoldTypeface); SkSafeUnref(mBengaliTypeface); SkSafeUnref(mThaiTypeface); SkSafeUnref(mDevanagariTypeface); SkSafeUnref(mTamilTypeface); SkSafeUnref(mDevanagariRegularTypeface); SkSafeUnref(mTamilRegularTypeface); SkSafeUnref(mTamilBoldTypeface); deleteShaperItemGlyphArrays(); } Loading Loading @@ -801,19 +804,40 @@ SkTypeface* TextLayoutShaper::typefaceForUnichar(const SkPaint* paint, SkTypefac break; case HB_Script_Devanagari: typeface = getCachedTypeface(&mDevanagariTypeface, TYPEFACE_DEVANAGARI); typeface = getCachedTypeface(&mDevanagariRegularTypeface, TYPEFACE_DEVANAGARI_REGULAR); #if DEBUG_GLYPHS ALOGD("Using Devanagari Typeface"); ALOGD("Using Devanagari Regular Typeface"); #endif break; case HB_Script_Tamil: typeface = getCachedTypeface(&mTamilTypeface, TYPEFACE_TAMIL); if (typeface) { switch (typeface->style()) { case SkTypeface::kBold: case SkTypeface::kBoldItalic: typeface = getCachedTypeface(&mTamilBoldTypeface, TYPEFACE_TAMIL_BOLD); #if DEBUG_GLYPHS ALOGD("Using Tamil Typeface"); ALOGD("Using Tamil Bold Typeface"); #endif break; case SkTypeface::kNormal: case SkTypeface::kItalic: default: typeface = getCachedTypeface(&mTamilRegularTypeface, TYPEFACE_TAMIL_REGULAR); #if DEBUG_GLYPHS ALOGD("Using Tamil Regular Typeface"); #endif break; } } else { typeface = getCachedTypeface(&mTamilRegularTypeface, TYPEFACE_TAMIL_REGULAR); #if DEBUG_GLYPHS ALOGD("Using Tamil Regular Typeface"); #endif } break; default: #if DEBUG_GLYPHS if (typeface) { Loading core/jni/android/graphics/TextLayoutCache.h +3 −2 Original line number Diff line number Diff line Loading @@ -194,8 +194,9 @@ private: SkTypeface* mHebrewBoldTypeface; SkTypeface* mBengaliTypeface; SkTypeface* mThaiTypeface; SkTypeface* mDevanagariTypeface; SkTypeface* mTamilTypeface; SkTypeface* mDevanagariRegularTypeface; SkTypeface* mTamilRegularTypeface; SkTypeface* mTamilBoldTypeface; /** * Cache of Harfbuzz faces Loading Loading
core/jni/android/graphics/TextLayoutCache.cpp +34 −10 Original line number Diff line number Diff line Loading @@ -34,8 +34,9 @@ namespace android { #define TYPE_FACE_HEBREW_REGULAR "/system/fonts/DroidSansHebrew-Regular.ttf" #define TYPE_FACE_HEBREW_BOLD "/system/fonts/DroidSansHebrew-Bold.ttf" #define TYPEFACE_BENGALI "/system/fonts/Lohit-Bengali.ttf" #define TYPEFACE_DEVANAGARI "/system/fonts/Lohit-Devanagari.ttf" #define TYPEFACE_TAMIL "/system/fonts/Lohit-Tamil.ttf" #define TYPEFACE_DEVANAGARI_REGULAR "/system/fonts/DroidSansDevanagari-Regular.ttf" #define TYPEFACE_TAMIL_REGULAR "/system/fonts/DroidSansTamil-Regular.ttf" #define TYPEFACE_TAMIL_BOLD "/system/fonts/DroidSansTamil-Bold.ttf" #define TYPEFACE_THAI "/system/fonts/DroidSansThai.ttf" ANDROID_SINGLETON_STATIC_INSTANCE(TextLayoutEngine); Loading Loading @@ -337,8 +338,9 @@ TextLayoutShaper::TextLayoutShaper() : mShaperItemGlyphArraySize(0) { mHebrewBoldTypeface = NULL; mBengaliTypeface = NULL; mThaiTypeface = NULL; mDevanagariTypeface = NULL; mTamilTypeface = NULL; mDevanagariRegularTypeface = NULL; mTamilRegularTypeface = NULL; mTamilBoldTypeface = NULL; mFontRec.klass = &harfbuzzSkiaClass; mFontRec.userData = 0; Loading @@ -364,8 +366,9 @@ TextLayoutShaper::~TextLayoutShaper() { SkSafeUnref(mHebrewBoldTypeface); SkSafeUnref(mBengaliTypeface); SkSafeUnref(mThaiTypeface); SkSafeUnref(mDevanagariTypeface); SkSafeUnref(mTamilTypeface); SkSafeUnref(mDevanagariRegularTypeface); SkSafeUnref(mTamilRegularTypeface); SkSafeUnref(mTamilBoldTypeface); deleteShaperItemGlyphArrays(); } Loading Loading @@ -801,19 +804,40 @@ SkTypeface* TextLayoutShaper::typefaceForUnichar(const SkPaint* paint, SkTypefac break; case HB_Script_Devanagari: typeface = getCachedTypeface(&mDevanagariTypeface, TYPEFACE_DEVANAGARI); typeface = getCachedTypeface(&mDevanagariRegularTypeface, TYPEFACE_DEVANAGARI_REGULAR); #if DEBUG_GLYPHS ALOGD("Using Devanagari Typeface"); ALOGD("Using Devanagari Regular Typeface"); #endif break; case HB_Script_Tamil: typeface = getCachedTypeface(&mTamilTypeface, TYPEFACE_TAMIL); if (typeface) { switch (typeface->style()) { case SkTypeface::kBold: case SkTypeface::kBoldItalic: typeface = getCachedTypeface(&mTamilBoldTypeface, TYPEFACE_TAMIL_BOLD); #if DEBUG_GLYPHS ALOGD("Using Tamil Typeface"); ALOGD("Using Tamil Bold Typeface"); #endif break; case SkTypeface::kNormal: case SkTypeface::kItalic: default: typeface = getCachedTypeface(&mTamilRegularTypeface, TYPEFACE_TAMIL_REGULAR); #if DEBUG_GLYPHS ALOGD("Using Tamil Regular Typeface"); #endif break; } } else { typeface = getCachedTypeface(&mTamilRegularTypeface, TYPEFACE_TAMIL_REGULAR); #if DEBUG_GLYPHS ALOGD("Using Tamil Regular Typeface"); #endif } break; default: #if DEBUG_GLYPHS if (typeface) { Loading
core/jni/android/graphics/TextLayoutCache.h +3 −2 Original line number Diff line number Diff line Loading @@ -194,8 +194,9 @@ private: SkTypeface* mHebrewBoldTypeface; SkTypeface* mBengaliTypeface; SkTypeface* mThaiTypeface; SkTypeface* mDevanagariTypeface; SkTypeface* mTamilTypeface; SkTypeface* mDevanagariRegularTypeface; SkTypeface* mTamilRegularTypeface; SkTypeface* mTamilBoldTypeface; /** * Cache of Harfbuzz faces Loading