am d9aab543: Merge "Fix bug #6318791 Replace the Lohit Devanagari and Tamil with Droid versions" into jb-dev

* commit 'd9aab5432e48211b1b89410ec290db5d9c511bf3':
  Fix bug #6318791 Replace the Lohit Devanagari and Tamil with Droid versions
This commit is contained in:
Fabrice Di Meglio
2012-05-07 14:54:23 -07:00
committed by Android Git Automerger
2 changed files with 37 additions and 12 deletions

View File

@@ -34,8 +34,9 @@ namespace android {
#define TYPE_FACE_HEBREW_REGULAR "/system/fonts/DroidSansHebrew-Regular.ttf" #define TYPE_FACE_HEBREW_REGULAR "/system/fonts/DroidSansHebrew-Regular.ttf"
#define TYPE_FACE_HEBREW_BOLD "/system/fonts/DroidSansHebrew-Bold.ttf" #define TYPE_FACE_HEBREW_BOLD "/system/fonts/DroidSansHebrew-Bold.ttf"
#define TYPEFACE_BENGALI "/system/fonts/Lohit-Bengali.ttf" #define TYPEFACE_BENGALI "/system/fonts/Lohit-Bengali.ttf"
#define TYPEFACE_DEVANAGARI "/system/fonts/Lohit-Devanagari.ttf" #define TYPEFACE_DEVANAGARI_REGULAR "/system/fonts/DroidSansDevanagari-Regular.ttf"
#define TYPEFACE_TAMIL "/system/fonts/Lohit-Tamil.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" #define TYPEFACE_THAI "/system/fonts/DroidSansThai.ttf"
ANDROID_SINGLETON_STATIC_INSTANCE(TextLayoutEngine); ANDROID_SINGLETON_STATIC_INSTANCE(TextLayoutEngine);
@@ -337,8 +338,9 @@ TextLayoutShaper::TextLayoutShaper() : mShaperItemGlyphArraySize(0) {
mHebrewBoldTypeface = NULL; mHebrewBoldTypeface = NULL;
mBengaliTypeface = NULL; mBengaliTypeface = NULL;
mThaiTypeface = NULL; mThaiTypeface = NULL;
mDevanagariTypeface = NULL; mDevanagariRegularTypeface = NULL;
mTamilTypeface = NULL; mTamilRegularTypeface = NULL;
mTamilBoldTypeface = NULL;
mFontRec.klass = &harfbuzzSkiaClass; mFontRec.klass = &harfbuzzSkiaClass;
mFontRec.userData = 0; mFontRec.userData = 0;
@@ -364,8 +366,9 @@ TextLayoutShaper::~TextLayoutShaper() {
SkSafeUnref(mHebrewBoldTypeface); SkSafeUnref(mHebrewBoldTypeface);
SkSafeUnref(mBengaliTypeface); SkSafeUnref(mBengaliTypeface);
SkSafeUnref(mThaiTypeface); SkSafeUnref(mThaiTypeface);
SkSafeUnref(mDevanagariTypeface); SkSafeUnref(mDevanagariRegularTypeface);
SkSafeUnref(mTamilTypeface); SkSafeUnref(mTamilRegularTypeface);
SkSafeUnref(mTamilBoldTypeface);
deleteShaperItemGlyphArrays(); deleteShaperItemGlyphArrays();
} }
@@ -801,17 +804,38 @@ SkTypeface* TextLayoutShaper::typefaceForUnichar(const SkPaint* paint, SkTypefac
break; break;
case HB_Script_Devanagari: case HB_Script_Devanagari:
typeface = getCachedTypeface(&mDevanagariTypeface, TYPEFACE_DEVANAGARI); typeface = getCachedTypeface(&mDevanagariRegularTypeface, TYPEFACE_DEVANAGARI_REGULAR);
#if DEBUG_GLYPHS #if DEBUG_GLYPHS
ALOGD("Using Devanagari Typeface"); ALOGD("Using Devanagari Regular Typeface");
#endif #endif
break; break;
case HB_Script_Tamil: 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 #if DEBUG_GLYPHS
ALOGD("Using Tamil Typeface"); ALOGD("Using Tamil Bold Typeface");
#endif #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; break;
default: default:

View File

@@ -194,8 +194,9 @@ private:
SkTypeface* mHebrewBoldTypeface; SkTypeface* mHebrewBoldTypeface;
SkTypeface* mBengaliTypeface; SkTypeface* mBengaliTypeface;
SkTypeface* mThaiTypeface; SkTypeface* mThaiTypeface;
SkTypeface* mDevanagariTypeface; SkTypeface* mDevanagariRegularTypeface;
SkTypeface* mTamilTypeface; SkTypeface* mTamilRegularTypeface;
SkTypeface* mTamilBoldTypeface;
/** /**
* Cache of Harfbuzz faces * Cache of Harfbuzz faces