Index: include/ports/SkTypeface_android.h |
diff --git a/include/ports/SkTypeface_android.h b/include/ports/SkTypeface_android.h |
index 1ee923c4e66b7f62073e18b2ed1d60c8d3330755..2166e08394a66cd11aa3210e0e93e5902f5a9b45 100644 |
--- a/include/ports/SkTypeface_android.h |
+++ b/include/ports/SkTypeface_android.h |
@@ -68,6 +68,22 @@ SK_API void SkUseTestFontConfigFile(const char* mainconf, const char* fallbackco |
SkTypeface* SkAndroidNextLogicalTypeface(SkFontID currFontID, SkFontID origFontID, |
const SkPaintOptionsAndroid& options); |
+/** |
+ * Given a glyphID (built using fallback font chaining) and its origin typeface |
+ * return the actual typeface within the fallback chain that this glyphID |
+ * resolves to. If no suitable typeface is found then NULL is returned. However, |
+ * if returned typeface is not NULL it is assumed to be globally cached so the |
+ * caller need not ref it. |
+ * |
+ * Optionally, if lower/upper bound params are provided and the returned |
+ * typeface is not NULL, then these params are populated with the range of |
+ * glyphIDs that this typeface is capable of resolving. The lower bound is |
+ * inclusive while the upper bound is exclusive. |
+ */ |
+SkTypeface* SkGetTypefaceForGlyphID(uint16_t glyphID, const SkTypeface* origTypeface, |
+ const SkPaintOptionsAndroid& options, |
+ int* lowerBounds = NULL, int* upperBounds = NULL); |
+ |
#endif // #ifdef SK_BUILD_FOR_ANDROID |
#ifdef SK_BUILD_FOR_ANDROID_FRAMEWORK |