diff options
author | Romain Guy <romainguy@android.com> | 2009-05-12 13:22:18 -0700 |
---|---|---|
committer | Romain Guy <romainguy@android.com> | 2009-05-12 13:22:18 -0700 |
commit | a87a132ebf1c2dd733cf52feff6e44525257c961 (patch) | |
tree | 683a3803f2b3704db73a56a769fcd0f19f912b52 /core/jni/android | |
parent | da33d0d139531ff184a1a339b734de00f1cc0743 (diff) | |
download | frameworks_base-a87a132ebf1c2dd733cf52feff6e44525257c961.zip frameworks_base-a87a132ebf1c2dd733cf52feff6e44525257c961.tar.gz frameworks_base-a87a132ebf1c2dd733cf52feff6e44525257c961.tar.bz2 |
Fixes #1847219. Add a new API to load fonts from arbitrary files: Typeface.createFromFile(String/File).
Diffstat (limited to 'core/jni/android')
-rw-r--r-- | core/jni/android/graphics/Typeface.cpp | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/core/jni/android/graphics/Typeface.cpp b/core/jni/android/graphics/Typeface.cpp index e951431..4f23f65 100644 --- a/core/jni/android/graphics/Typeface.cpp +++ b/core/jni/android/graphics/Typeface.cpp @@ -133,6 +133,14 @@ static SkTypeface* Typeface_createFromAsset(JNIEnv* env, jobject, return SkTypeface::CreateFromStream(new AssetStream(asset, true)); } +static SkTypeface* Typeface_createFromFile(JNIEnv* env, jobject, jstring jpath) { + NPE_CHECK_RETURN_ZERO(env, jpath); + + AutoJavaStringToUTF8 str(env, jpath); + + return SkTypeface::CreateFromFile(str.c_str()); +} + /////////////////////////////////////////////////////////////////////////////// static JNINativeMethod gTypefaceMethods[] = { @@ -140,9 +148,10 @@ static JNINativeMethod gTypefaceMethods[] = { { "nativeCreateFromTypeface", "(II)I", (void*)Typeface_createFromTypeface }, { "nativeUnref", "(I)V", (void*)Typeface_unref }, { "nativeGetStyle", "(I)I", (void*)Typeface_getStyle }, - { "nativeCreateFromAsset", - "(Landroid/content/res/AssetManager;Ljava/lang/String;)I", - (void*)Typeface_createFromAsset } + { "nativeCreateFromAsset", "(Landroid/content/res/AssetManager;Ljava/lang/String;)I", + (void*)Typeface_createFromAsset }, + { "nativeCreateFromFile", "(Ljava/lang/String)I", + (void*)Typeface_createFromFile } }; int register_android_graphics_Typeface(JNIEnv* env); @@ -153,4 +162,3 @@ int register_android_graphics_Typeface(JNIEnv* env) gTypefaceMethods, SK_ARRAY_COUNT(gTypefaceMethods)); } - |