diff options
author | Fabrice Di Meglio <fdimeglio@google.com> | 2012-05-07 14:51:24 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2012-05-07 14:51:24 -0700 |
commit | d9aab5432e48211b1b89410ec290db5d9c511bf3 (patch) | |
tree | 4b0da4631098fd146059f2f3ae053f1edc2596b2 /core | |
parent | 7ca37df0e4832dfa06f46850b0ddc80db4bc66dc (diff) | |
parent | 6162876067cbaa93b870aee6e62c682104935fde (diff) | |
download | frameworks_base-d9aab5432e48211b1b89410ec290db5d9c511bf3.zip frameworks_base-d9aab5432e48211b1b89410ec290db5d9c511bf3.tar.gz frameworks_base-d9aab5432e48211b1b89410ec290db5d9c511bf3.tar.bz2 |
Merge "Fix bug #6318791 Replace the Lohit Devanagari and Tamil with Droid versions" into jb-dev
Diffstat (limited to 'core')
-rw-r--r-- | core/jni/android/graphics/TextLayoutCache.cpp | 44 | ||||
-rw-r--r-- | core/jni/android/graphics/TextLayoutCache.h | 5 |
2 files changed, 37 insertions, 12 deletions
diff --git a/core/jni/android/graphics/TextLayoutCache.cpp b/core/jni/android/graphics/TextLayoutCache.cpp index 2c38893..16f377d 100644 --- a/core/jni/android/graphics/TextLayoutCache.cpp +++ b/core/jni/android/graphics/TextLayoutCache.cpp @@ -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); @@ -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; @@ -364,8 +366,9 @@ TextLayoutShaper::~TextLayoutShaper() { SkSafeUnref(mHebrewBoldTypeface); SkSafeUnref(mBengaliTypeface); SkSafeUnref(mThaiTypeface); - SkSafeUnref(mDevanagariTypeface); - SkSafeUnref(mTamilTypeface); + SkSafeUnref(mDevanagariRegularTypeface); + SkSafeUnref(mTamilRegularTypeface); + SkSafeUnref(mTamilBoldTypeface); deleteShaperItemGlyphArrays(); } @@ -801,17 +804,38 @@ 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: diff --git a/core/jni/android/graphics/TextLayoutCache.h b/core/jni/android/graphics/TextLayoutCache.h index 7d7caac..0be61c6 100644 --- a/core/jni/android/graphics/TextLayoutCache.h +++ b/core/jni/android/graphics/TextLayoutCache.h @@ -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 |