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