findFontFiles method

List<String> findFontFiles(
  1. String fontFamily,
  2. String packagePath,
  3. YamlMap pubspecYaml
)

Implementation

List<String> findFontFiles(
    String fontFamily, String packagePath, YamlMap pubspecYaml) {
  final fonts = pubspecYaml['flutter']?['fonts'] as List? ?? [];
  final fontPaths = <String>[];

  for (var font in fonts) {
    if (font['family'] == fontFamily) {
      final fontAssets = font['fonts'] as List? ?? [];
      for (var fontAsset in fontAssets) {
        String assetPath = fontAsset['asset'] as String;
        assetPath = assetPath.replaceFirst('packages/fontresoft/', 'lib/');
        fontPaths.add(path.join(packagePath, assetPath).fixPath);
      }
      break;
    }
  }

  return fontPaths;
}