68. Avalonia UI Real World Python Helpers


00:00 Кроссплатформенность Avalonia Avalonia поддерживает кроссплатформенность ранее использовалась только в Windows. Переход на Mac M3 Ultra для тестирования. Программа скомпилирована и запускается но шрифты выглядят неправильно. 00:58 Проблемы с путями Различия в использовании косой черты в путях: прямая косая черта на Mac против обратной на Windows. Необходимость исправления путей для корректной работы приложения. 01:13 Анализ сбоев Обнаружение аварийного сбоя и попытки его устранения. Переключение внешнего кода для временного решения проблемы. 01:47 Проблемы с кэшированием Проблема с кэшированием в отладчике. Повторные запуски приложения для выявления проблемы. 02:47 Решение проблем с путями Использование комбинации точек пути для совместимости с разными системами. Введение параметров разделённых запятыми для корректного указания путей. 04:06 Проблемы со шрифтами Шрифты выглядят неправильно на Mac по сравнению с Windows. Проверка шрифтов в Finder и обнаружение проблем с выравниванием. 06:08 Изменяемые шрифты Объяснение концепции изменяемых шрифтов и их особенностей. Подозрение что Avalonia пока не поддерживает изменяемые шрифты. 08:18 Преобразование шрифтов Необходимость преобразования изменяемого шрифта в отдельные шрифты. Решение написать скрипт на Python для решения проблемы. 10:04 Установка Python и библиотек Установка Python и необходимых библиотек включая fonttools. Использование pip для установки fonttools. 11:00 Импорт библиотек и определение метода Импортируем ttfont из font tools в tt lib. Из font tools.vlib.instancer импортируем переменный шрифт для создания экземпляра. Определяем метод для извлечения экземпляров шрифтов. 12:02 Работа с путями и весами шрифтов Используем переменный путь к шрифту. Определяем веса шрифтов: тонкие сверхлёгкие лёгкие обычные средние. Создаём массив для хранения весов шрифтов. 13:00 Проверка и создание экземпляров шрифтов Настраиваем try-catch для обработки ошибок. Устанавливаем переменную font равной шрифту tt. Проверяем является ли объект шрифтом и создаём экземпляры шрифтов. 14:35 Создание кортежей и экспорт шрифтов Создаём кортежи с ключами и значениями для экспорта шрифтов. Экспортируем шрифты с именами и свойствами веса. 15:09 Создание статического шрифта Создаём экземпляр переменного шрифта. Вызываем метод для создания статического шрифта. Сохраняем шрифт в выходной директории. 16:06 Настройка пути вывода Задаём путь вывода для шрифтов. Настраиваем название шрифта и каталог вывода. 18:11 Сохранение статического шрифта Вызываем функцию сохранения статического шрифта. Возвращаем значение true для успешного завершения метода. 19:09 Запуск сценария Определяем переменную _main для запуска сценария. Проверяем количество переменных и распечатываем информацию о сценарии. 21:17 Извлечение шрифтов из Python Копирование и вставка примера для извлечения шрифтов из Python. Создание нового варианта шрифта с префиксом веса. Настройка переменных и вызов метода для работы со шрифтами. 22:07 Работа с параметрами в Python Объяснение работы с переменными в Python включая нулевой индекс. Упоминание о возможных ошибках из-за долгого отсутствия практики работы с Python. 23:16 Запуск сценария Открытие терминала и переход в папку со шрифтами. Запуск программы для извлечения шрифтов с указанием параметров. Проверка результатов извлечения шрифтов. 24:19 Анализ размеров шрифтов Обсуждение размеров шрифтов и их влияния на размер библиотеки. Размышления о причинах большого размера шрифтов. 25:55 Загрузка шрифтов в приложение Проверка компиляции и запуска приложения с новыми шрифтами. Проблемы с загрузкой шрифтов и необходимость указания их названий. 28:07 Настройка семейства шрифтов Объяснение проблем с использованием веса шрифта и необходимость создания семейства шрифтов. Использование динамического ресурса для настройки семейства шрифтов. 29:25 Замена веса шрифта на семейство Поиск и замена веса шрифта на семейство шрифтов в коде приложения. Применение поиска и замены для всех случаев использования веса шрифта. 30:25 Проблемы с пользовательскими свойствами и шрифтами Не удаётся установить шрифт без семейства шрифтов. Необходимо изменить семейство шрифтов и использовать конвертер логического значения в шрифт. Возникают сложности с доступом к приложению. 31:24 Поиск ресурсов и жёсткое кодирование Использование вопросительного знака для поиска ресурса. Жёсткое кодирование строк которые будут заменены в новой версии. Проверка работы конвертера и оценка результатов. 32:24 Преобразование переменных шрифтов в статические Преобразование переменных шрифтов в статические требует больше усилий. В Avalonia невозможно чётко использовать изменяемые шрифты. Обнаружение проблем с выравниванием текста и значком приложения. 33:17 Проверка значка приложения и макета 34:19 Переход по ссылкам и баги

Источник: rutube.ru

Сообщение от Commenton: Необходимо стартовать сессию