loadSystemFonts function

Future<List<String>> loadSystemFonts()

Implementation

Future<List<String>> loadSystemFonts() async {
  if (kIsWeb) return [];
  if (Platform.isLinux) {
    try {
      final result = await Process.run('fc-list', [':', 'family']);
      if (result.exitCode == 0) {
        final stdout = result.stdout as String;
        final families = <String>{};
        for (final line in stdout.split('\n')) {
          final trimmed = line.trim();
          if (trimmed.isEmpty) continue;
          final mainFamily = trimmed.split(',').first.trim();
          if (mainFamily.isNotEmpty) families.add(mainFamily);
        }
        return families.toList()..sort();
      }
    } catch (e) {
      // ignore: fc-list not available
    }
  }
  return _fallbackFonts;
}