summaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
authorFabrice Di Meglio <fdimeglio@google.com>2012-05-07 14:51:24 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2012-05-07 14:51:24 -0700
commitd9aab5432e48211b1b89410ec290db5d9c511bf3 (patch)
tree4b0da4631098fd146059f2f3ae053f1edc2596b2 /core
parent7ca37df0e4832dfa06f46850b0ddc80db4bc66dc (diff)
parent6162876067cbaa93b870aee6e62c682104935fde (diff)
downloadframeworks_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.cpp44
-rw-r--r--core/jni/android/graphics/TextLayoutCache.h5
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