summaryrefslogtreecommitdiffstats
path: root/core/jni/android/graphics
diff options
context:
space:
mode:
authorRomain Guy <romainguy@android.com>2009-05-12 13:22:18 -0700
committerRomain Guy <romainguy@android.com>2009-05-12 13:22:18 -0700
commita87a132ebf1c2dd733cf52feff6e44525257c961 (patch)
tree683a3803f2b3704db73a56a769fcd0f19f912b52 /core/jni/android/graphics
parentda33d0d139531ff184a1a339b734de00f1cc0743 (diff)
downloadframeworks_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/graphics')
-rw-r--r--core/jni/android/graphics/Typeface.cpp16
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));
}
-