Program.cs 933 B

12345678910111213141516171819202122232425262728293031
  1. // See https://aka.ms/new-console-template for more information
  2. Console.WriteLine("Subtitle Font Collection");
  3. Console.Write("Path:");
  4. var p = Console.ReadLine();
  5. var files = Directory.GetFiles(p);
  6. var fontSet = new HashSet<string>();
  7. foreach (var file in files)
  8. {
  9. Console.Write(file);
  10. switch (Path.GetExtension(file).ToLower())
  11. {
  12. default:
  13. Console.WriteLine(" NO SUPPORT");
  14. break;
  15. case ".ass":
  16. var fonts = File.ReadAllLines(file)
  17. .Where(p => p.StartsWith("Style: ")).Select(p => p.Split(',')[1]).Distinct().ToArray();
  18. Console.WriteLine($" -> {fonts.Length}");
  19. foreach (var font in fonts)
  20. {
  21. fontSet.Add(font);
  22. }
  23. break;
  24. }
  25. }
  26. Console.WriteLine("=========================");
  27. foreach (var f in fontSet) Console.WriteLine(f);
  28. Console.WriteLine("=========================");