Эти значения предназначены для правильного набора типа, а не для рисования глифов, поэтому вы не можете получить точный размер пикселя каждого глифа из этих атрибутов.Единственный способ получить точные размеры глифа в пикселях - нарисовать глиф в изображение и проанализировать его.
FontBBox (ограничивающий шрифт) блок - это наименьшее поле, в котором будет содержаться каждый глиф.Массив ширины содержит информацию о том, как далеко друг от друга должен быть нарисован символ, а не фактический размер изображения глифа.Некоторые шрифты нарисуют некоторые глифы, превышающие эту ширину.
Когда вы выделяете текст в обычном текстовом редакторе, подсветкой будет полная высота шрифта и ширина каждого отдельного символа.Это выделение достигается путем получения высоты FontBBox и ширины каждого символа из массива Widths и преобразования этих значений в соответствии с атрибутами текущего шрифта (размером и т. Д.).Этой информации достаточно, чтобы тип вашего приложения отображался как типичные приложения.