diff options
author | tobrun <tobrun.van.nuland@gmail.com> | 2019-07-30 17:14:26 +0300 |
---|---|---|
committer | Łukasz Paczos <lukasz.paczos@mapbox.com> | 2019-08-12 14:30:07 +0300 |
commit | 58d773472274e06cab65a55842ce9ba5a6a7e140 (patch) | |
tree | 8ef5f1238fa113fe36d14d49619ea8cc11804382 /platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/snapshotter/MapSnapshotter.java | |
parent | bc09cdbf76ffa50ccdd8dc8df7997fdd3a0eb0d6 (diff) | |
download | qtlocation-mapboxgl-58d773472274e06cab65a55842ce9ba5a6a7e140.tar.gz |
[android] add fallback support to local ideograph font families, allow setting a collection of fonts
Diffstat (limited to 'platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/snapshotter/MapSnapshotter.java')
-rw-r--r-- | platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/snapshotter/MapSnapshotter.java | 30 |
1 files changed, 25 insertions, 5 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/snapshotter/MapSnapshotter.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/snapshotter/MapSnapshotter.java index e8e38c4f4e..4c70d13b17 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/snapshotter/MapSnapshotter.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/snapshotter/MapSnapshotter.java @@ -18,17 +18,20 @@ import android.util.DisplayMetrics; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; + import com.mapbox.mapboxsdk.Mapbox; import com.mapbox.mapboxsdk.R; import com.mapbox.mapboxsdk.attribution.AttributionLayout; import com.mapbox.mapboxsdk.attribution.AttributionMeasure; import com.mapbox.mapboxsdk.attribution.AttributionParser; import com.mapbox.mapboxsdk.camera.CameraPosition; +import com.mapbox.mapboxsdk.constants.MapboxConstants; import com.mapbox.mapboxsdk.geometry.LatLngBounds; import com.mapbox.mapboxsdk.log.Logger; import com.mapbox.mapboxsdk.maps.Style; import com.mapbox.mapboxsdk.maps.TelemetryDefinition; import com.mapbox.mapboxsdk.storage.FileSource; +import com.mapbox.mapboxsdk.utils.FontUtils; import com.mapbox.mapboxsdk.utils.ThreadUtils; /** @@ -98,7 +101,7 @@ public class MapSnapshotter { private LatLngBounds region; private CameraPosition cameraPosition; private boolean showLogo = true; - private String localIdeographFontFamily = "sans-serif"; + private String localIdeographFontFamily = MapboxConstants.DEFAULT_FONT; private String apiBaseUrl; /** @@ -182,14 +185,31 @@ public class MapSnapshotter { * <p> * The font family argument is passed to {@link android.graphics.Typeface#create(String, int)}. * Default system fonts are defined in '/system/etc/fonts.xml' - * Default font for local ideograph font family is "sans-serif". - * + * Default font for local ideograph font family is {@link MapboxConstants#DEFAULT_FONT}. + * </p> * @param fontFamily font family for local ideograph generation. * @return the mutated {@link Options} */ @NonNull public Options withLocalIdeographFontFamily(String fontFamily) { - this.localIdeographFontFamily = fontFamily; + this.localIdeographFontFamily = FontUtils.extractValidFont(fontFamily); + return this; + } + + /** + * Set a font family from range of font families for generating glyphs locally for ideographs in the + * 'CJK Unified Ideographs' and 'Hangul Syllables' ranges. + * <p> + * The font families are checked against the default system fonts defined in + * '/system/etc/fonts.xml'. Default font for local ideograph font family is + * {@link MapboxConstants#DEFAULT_FONT}. + * </p> + * @param fontFamilies font families for local ideograph generation. + * @return the mutated {@link Options} + */ + @NonNull + public Options withLocalIdeographFontFamily(String... fontFamilies) { + this.localIdeographFontFamily = FontUtils.extractValidFont(fontFamilies); return this; } @@ -274,7 +294,7 @@ public class MapSnapshotter { /** * @return the font family used for locally generating ideographs, - * Default font for local ideograph font family is "sans-serif". + * Default font for local ideograph font family is {@link MapboxConstants#DEFAULT_FONT}. */ public String getLocalIdeographFontFamily() { return localIdeographFontFamily; |