public static Map<String, Typeface> loadFontsFromAssets(AssetManager assetManager, String assetsDir) { Map<String, Typeface> typefaceMap = new HashMap<>(); try { String[] files = assetManager.list(assetsDir); for (String filename : files) { String fontPath = assetsDir + File.separatorChar + filename; String fontFamily = FontUtils.getFontFamily(assetManager, fontPath); final Typeface typeface = Typeface.createFromAsset(assetManager, fontPath); if (fontFamily != null && typeface != null) { typefaceMap.put(fontFamily, typeface); } } } catch (IOException e) { Log.e("FontUtils", "Failed to list fonts from assets", e); return null; } return typefaceMap; }