Генерация шрифтов профиля, экшен рандомизации шрифтов

LitePanda

Client
Регистрация
11.04.2025
Сообщения
7
Благодарностей
3
Баллы
3
Для CEF Chrome - Генерация шрифтов. Переделанный Вариант 1. Делает все тоже самое, но работает раза в 3 быстрее.
Всегда показывает базовые шрифты Windows 10 из тех что установлены + добавляет рандомные шрифты в случайном количестве.


С#:
{
    var predefinedSystemFonts = new List<string>
    {
        "Arial", "Arial Black", "Bahnschrift", "Calibri", "Cambria", "Cambria Math",
        "Candara", "Comic Sans MS", "Consolas", "Constantia", "Corbel", "Courier New",
        "Ebrima", "Franklin Gothic Medium", "Gabriola", "Gadugi", "Georgia", "HoloLens MDL2 Assets",
        "Impact", "Ink Free", "Javanese Text", "Leelawadee UI", "Lucida Console", "Lucida Sans Unicode",
        "Malgun Gothic", "Marlett", "Microsoft Himalaya", "Microsoft JhengHei", "Microsoft New Tai Lue",
        "Microsoft PhagsPa", "Microsoft Sans Serif", "Microsoft Tai Le", "Microsoft YaHei",
        "Microsoft Yi Baiti", "MingLiU-ExtB", "Mongolian Baiti", "MS Gothic", "MV Boli",
        "Myanmar Text", "Nirmala UI", "Palatino Linotype", "Segoe MDL2 Assets", "Segoe Print",
        "Segoe Script", "Segoe UI", "Segoe UI Historic", "Segoe UI Emoji", "Segoe UI Symbol",
        "SimSun", "Sitka", "Sylfaen", "Symbol", "Tahoma", "Times New Roman", "Trebuchet MS",
        "Verdana", "Webdings", "Wingdings", "Yu Gothic"
    };

    var fonts = instance.GetFonts().ToList();
    
    var nonSystemFonts = fonts
        .Where(f => !predefinedSystemFonts.Contains(f))
        .ToList();
    
    var rnd = new Random();
    
    // Генерируем случайное количество шрифтов для скрытия (от 0 до всех несистемных)
    int hideCount = rnd.Next(0, nonSystemFonts.Count + 1);
    
    // Случайно выбираем шрифты для скрытия
    var fontsToHide = nonSystemFonts
        .OrderBy(f => rnd.Next())
        .Take(hideCount)
        .ToList();

    // Скрываем выбранные несистемные шрифты
    foreach (var font in fontsToHide)
    {
        instance.HideFont(font);
    }
}
 

Кто просматривает тему: (Всего: 3, Пользователи: 0, Гости: 3)