Loading api/current.txt +7 −0 Original line number Diff line number Diff line Loading @@ -15218,6 +15218,9 @@ package android.graphics.fonts { public final class Font { method public android.graphics.fonts.FontVariationAxis[] getAxes(); method public java.nio.ByteBuffer getBuffer(); method public java.io.File getFile(); method public android.os.LocaleList getLocaleList(); method public int getTtcIndex(); method public int getWeight(); method public boolean isItalic(); Loading Loading @@ -15266,6 +15269,10 @@ package android.graphics.fonts { method public static java.lang.String toFontVariationSettings(android.graphics.fonts.FontVariationAxis[]); } public class SystemFonts { method public static java.util.Set<android.graphics.fonts.Font> getAvailableFonts(); } } package android.graphics.pdf { core/java/android/text/FontConfig.java +5 −4 Original line number Diff line number Diff line Loading @@ -181,7 +181,8 @@ public final class FontConfig { public static final class Family { private final @NonNull String mName; private final @NonNull Font[] mFonts; private final @NonNull String[] mLanguages; // Comma separated BCP47 complient locale strings private final @NonNull String mLanguages; /** @hide */ @Retention(SOURCE) Loading Loading @@ -219,7 +220,7 @@ public final class FontConfig { // See frameworks/minikin/include/minikin/FontFamily.h private final @Variant int mVariant; public Family(@NonNull String name, @NonNull Font[] fonts, @NonNull String[] languages, public Family(@NonNull String name, @NonNull Font[] fonts, @NonNull String languages, @Variant int variant) { mName = name; mFonts = fonts; Loading @@ -244,9 +245,9 @@ public final class FontConfig { } /** * Returns the languages for this family. May be null. * Returns the comma separated BCP47 complient languages for this family. May be null. */ public @Nullable String[] getLanguages() { public @NonNull String getLanguages() { return mLanguages; } Loading core/tests/coretests/src/android/graphics/TypefaceSystemFallbackTest.java +7 −3 Original line number Diff line number Diff line Loading @@ -23,6 +23,7 @@ import static org.junit.Assert.assertTrue; import android.content.Context; import android.content.res.AssetManager; import android.graphics.fonts.Font; import android.graphics.fonts.FontFamily; import android.graphics.fonts.SystemFonts; import android.support.test.InstrumentationRegistry; Loading @@ -43,6 +44,7 @@ import java.io.InputStream; import java.nio.charset.Charset; import java.nio.file.Files; import java.nio.file.StandardCopyOption; import java.util.HashSet; import java.util.Locale; @SmallTest Loading Loading @@ -110,13 +112,14 @@ public class TypefaceSystemFallbackTest { private static void buildSystemFallback(String xml, ArrayMap<String, Typeface> fontMap, ArrayMap<String, FontFamily[]> fallbackMap) { final HashSet<Font> availableFonts = new HashSet<>(); try (FileOutputStream fos = new FileOutputStream(TEST_FONTS_XML)) { fos.write(xml.getBytes(Charset.forName("UTF-8"))); } catch (IOException e) { throw new RuntimeException(e); } final FontConfig.Alias[] aliases = SystemFonts.buildSystemFallback(TEST_FONTS_XML, TEST_FONT_DIR, fallbackMap); TEST_FONT_DIR, fallbackMap, availableFonts); Typeface.initSystemDefaultTypefaces(fontMap, fallbackMap, aliases); } Loading @@ -124,9 +127,10 @@ public class TypefaceSystemFallbackTest { public void testBuildSystemFallback() { final ArrayMap<String, Typeface> fontMap = new ArrayMap<>(); final ArrayMap<String, FontFamily[]> fallbackMap = new ArrayMap<>(); final HashSet<Font> availableFonts = new HashSet<>(); final FontConfig.Alias[] aliases = SystemFonts.buildSystemFallback(SYSTEM_FONTS_XML, SYSTEM_FONT_DIR, fallbackMap); SYSTEM_FONT_DIR, fallbackMap, availableFonts); assertNotNull(aliases); assertFalse(fallbackMap.isEmpty()); Loading Loading @@ -487,7 +491,7 @@ public class TypefaceSystemFallbackTest { + " <family lang='de'>" + " <font weight='400' style='normal'>a3em.ttf</font>" + " </family>" + " <family lang='it fr'>" + " <family lang='it,fr'>" + " <font weight='400' style='normal'>b3em.ttf</font>" + " </family>" + "</familyset>"; Loading core/tests/coretests/src/android/text/FontFallbackSetup.java +4 −1 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import android.annotation.NonNull; import android.content.Context; import android.content.res.AssetManager; import android.graphics.Typeface; import android.graphics.fonts.Font; import android.graphics.fonts.FontFamily; import android.graphics.fonts.SystemFonts; import android.support.test.InstrumentationRegistry; Loading @@ -32,6 +33,7 @@ import java.io.InputStream; import java.nio.charset.Charset; import java.nio.file.Files; import java.nio.file.StandardCopyOption; import java.util.HashSet; public class FontFallbackSetup implements AutoCloseable { private final String[] mTestFontFiles; Loading Loading @@ -74,8 +76,9 @@ public class FontFallbackSetup implements AutoCloseable { } final ArrayMap<String, FontFamily[]> fallbackMap = new ArrayMap<>(); final HashSet<Font> availableFonts = new HashSet<>(); final FontConfig.Alias[] aliases = SystemFonts.buildSystemFallback(testFontsXml, mTestFontsDir, fallbackMap); mTestFontsDir, fallbackMap, availableFonts); Typeface.initSystemDefaultTypefaces(mFontMap, fallbackMap, aliases); } Loading data/fonts/fonts.xml +2 −2 Original line number Diff line number Diff line Loading @@ -137,7 +137,7 @@ <font weight="400" style="normal" fallbackFor="serif">NotoSerifArmenian-Regular.otf</font> <font weight="700" style="normal" fallbackFor="serif">NotoSerifArmenian-Bold.otf</font> </family> <family lang="und-Geor und-Geok"> <family lang="und-Geor,und-Geok"> <font weight="400" style="normal">NotoSansGeorgian-Regular.otf</font> <font weight="500" style="normal">NotoSansGeorgian-Medium.otf</font> <font weight="700" style="normal">NotoSansGeorgian-Bold.otf</font> Loading Loading @@ -538,7 +538,7 @@ <font weight="400" style="normal" index="2">NotoSansCJK-Regular.ttc</font> <font weight="400" style="normal" index="2" fallbackFor="serif">NotoSerifCJK-Regular.ttc</font> </family> <family lang="zh-Hant zh-Bopo"> <family lang="zh-Hant,zh-Bopo"> <font weight="400" style="normal" index="3">NotoSansCJK-Regular.ttc</font> <font weight="400" style="normal" index="3" fallbackFor="serif">NotoSerifCJK-Regular.ttc</font> </family> Loading Loading
api/current.txt +7 −0 Original line number Diff line number Diff line Loading @@ -15218,6 +15218,9 @@ package android.graphics.fonts { public final class Font { method public android.graphics.fonts.FontVariationAxis[] getAxes(); method public java.nio.ByteBuffer getBuffer(); method public java.io.File getFile(); method public android.os.LocaleList getLocaleList(); method public int getTtcIndex(); method public int getWeight(); method public boolean isItalic(); Loading Loading @@ -15266,6 +15269,10 @@ package android.graphics.fonts { method public static java.lang.String toFontVariationSettings(android.graphics.fonts.FontVariationAxis[]); } public class SystemFonts { method public static java.util.Set<android.graphics.fonts.Font> getAvailableFonts(); } } package android.graphics.pdf {
core/java/android/text/FontConfig.java +5 −4 Original line number Diff line number Diff line Loading @@ -181,7 +181,8 @@ public final class FontConfig { public static final class Family { private final @NonNull String mName; private final @NonNull Font[] mFonts; private final @NonNull String[] mLanguages; // Comma separated BCP47 complient locale strings private final @NonNull String mLanguages; /** @hide */ @Retention(SOURCE) Loading Loading @@ -219,7 +220,7 @@ public final class FontConfig { // See frameworks/minikin/include/minikin/FontFamily.h private final @Variant int mVariant; public Family(@NonNull String name, @NonNull Font[] fonts, @NonNull String[] languages, public Family(@NonNull String name, @NonNull Font[] fonts, @NonNull String languages, @Variant int variant) { mName = name; mFonts = fonts; Loading @@ -244,9 +245,9 @@ public final class FontConfig { } /** * Returns the languages for this family. May be null. * Returns the comma separated BCP47 complient languages for this family. May be null. */ public @Nullable String[] getLanguages() { public @NonNull String getLanguages() { return mLanguages; } Loading
core/tests/coretests/src/android/graphics/TypefaceSystemFallbackTest.java +7 −3 Original line number Diff line number Diff line Loading @@ -23,6 +23,7 @@ import static org.junit.Assert.assertTrue; import android.content.Context; import android.content.res.AssetManager; import android.graphics.fonts.Font; import android.graphics.fonts.FontFamily; import android.graphics.fonts.SystemFonts; import android.support.test.InstrumentationRegistry; Loading @@ -43,6 +44,7 @@ import java.io.InputStream; import java.nio.charset.Charset; import java.nio.file.Files; import java.nio.file.StandardCopyOption; import java.util.HashSet; import java.util.Locale; @SmallTest Loading Loading @@ -110,13 +112,14 @@ public class TypefaceSystemFallbackTest { private static void buildSystemFallback(String xml, ArrayMap<String, Typeface> fontMap, ArrayMap<String, FontFamily[]> fallbackMap) { final HashSet<Font> availableFonts = new HashSet<>(); try (FileOutputStream fos = new FileOutputStream(TEST_FONTS_XML)) { fos.write(xml.getBytes(Charset.forName("UTF-8"))); } catch (IOException e) { throw new RuntimeException(e); } final FontConfig.Alias[] aliases = SystemFonts.buildSystemFallback(TEST_FONTS_XML, TEST_FONT_DIR, fallbackMap); TEST_FONT_DIR, fallbackMap, availableFonts); Typeface.initSystemDefaultTypefaces(fontMap, fallbackMap, aliases); } Loading @@ -124,9 +127,10 @@ public class TypefaceSystemFallbackTest { public void testBuildSystemFallback() { final ArrayMap<String, Typeface> fontMap = new ArrayMap<>(); final ArrayMap<String, FontFamily[]> fallbackMap = new ArrayMap<>(); final HashSet<Font> availableFonts = new HashSet<>(); final FontConfig.Alias[] aliases = SystemFonts.buildSystemFallback(SYSTEM_FONTS_XML, SYSTEM_FONT_DIR, fallbackMap); SYSTEM_FONT_DIR, fallbackMap, availableFonts); assertNotNull(aliases); assertFalse(fallbackMap.isEmpty()); Loading Loading @@ -487,7 +491,7 @@ public class TypefaceSystemFallbackTest { + " <family lang='de'>" + " <font weight='400' style='normal'>a3em.ttf</font>" + " </family>" + " <family lang='it fr'>" + " <family lang='it,fr'>" + " <font weight='400' style='normal'>b3em.ttf</font>" + " </family>" + "</familyset>"; Loading
core/tests/coretests/src/android/text/FontFallbackSetup.java +4 −1 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import android.annotation.NonNull; import android.content.Context; import android.content.res.AssetManager; import android.graphics.Typeface; import android.graphics.fonts.Font; import android.graphics.fonts.FontFamily; import android.graphics.fonts.SystemFonts; import android.support.test.InstrumentationRegistry; Loading @@ -32,6 +33,7 @@ import java.io.InputStream; import java.nio.charset.Charset; import java.nio.file.Files; import java.nio.file.StandardCopyOption; import java.util.HashSet; public class FontFallbackSetup implements AutoCloseable { private final String[] mTestFontFiles; Loading Loading @@ -74,8 +76,9 @@ public class FontFallbackSetup implements AutoCloseable { } final ArrayMap<String, FontFamily[]> fallbackMap = new ArrayMap<>(); final HashSet<Font> availableFonts = new HashSet<>(); final FontConfig.Alias[] aliases = SystemFonts.buildSystemFallback(testFontsXml, mTestFontsDir, fallbackMap); mTestFontsDir, fallbackMap, availableFonts); Typeface.initSystemDefaultTypefaces(mFontMap, fallbackMap, aliases); } Loading
data/fonts/fonts.xml +2 −2 Original line number Diff line number Diff line Loading @@ -137,7 +137,7 @@ <font weight="400" style="normal" fallbackFor="serif">NotoSerifArmenian-Regular.otf</font> <font weight="700" style="normal" fallbackFor="serif">NotoSerifArmenian-Bold.otf</font> </family> <family lang="und-Geor und-Geok"> <family lang="und-Geor,und-Geok"> <font weight="400" style="normal">NotoSansGeorgian-Regular.otf</font> <font weight="500" style="normal">NotoSansGeorgian-Medium.otf</font> <font weight="700" style="normal">NotoSansGeorgian-Bold.otf</font> Loading Loading @@ -538,7 +538,7 @@ <font weight="400" style="normal" index="2">NotoSansCJK-Regular.ttc</font> <font weight="400" style="normal" index="2" fallbackFor="serif">NotoSerifCJK-Regular.ttc</font> </family> <family lang="zh-Hant zh-Bopo"> <family lang="zh-Hant,zh-Bopo"> <font weight="400" style="normal" index="3">NotoSansCJK-Regular.ttc</font> <font weight="400" style="normal" index="3" fallbackFor="serif">NotoSerifCJK-Regular.ttc</font> </family> Loading