Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как в библиотеке fontdue для rust получить baseline символа чтобы понять где начать отрисовку

badyIoUiy Профи (597), на голосовании 2 недели назад
Голосование за лучший ответ
Рустам Абдрашитов Мыслитель (9508) 1 месяц назад
Чтобы получить базовую линию символа в библиотеке fontdue, используйте метод metrics для получения метрик символа. Этот метод возвращает структуру Metrics, содержащую информацию о восходящей и нисходящей частях шрифта.
Пример кода:
 let metrics = font.metrics(character, font_size); 
let baseline = metrics.ascent; // Базовая линия
Здесь ascent указывает, где начинается отрисовка символа относительно базовой линии.
badyIoUiyПрофи (597) 1 месяц назад
нет поле ascent в metrics. какая версия fontdue у вас? у меня 0.9.2
Рустам Абдрашитов Мыслитель (9508) badyIoUiy, В версии 0.9.2 библиотеки fontdue действительно нет поля ascent в структуре Metrics. Вместо этого, для определения базовой линии символа можно использовать поля ymin и height: ymin: указывает на нижнюю границу символа, что позволяет определить, насколько он опускается ниже базовой линии. height: дает высоту символа. Для получения вертикальных метрик используйте метод metrics(character, px), который вернет нужные значения.
Похожие вопросы