Размеры шрифтов в базовой графике
-
22-08-2019 - |
Вопрос
Я пытаюсь визуализировать небольшой текст с помощью API-интерфейсов Core Graphics и столкнулся с некоторыми концептуальными трудностями.
Я пытаюсь указать размер шрифта, используя CGContextSetFontSize.Параметр размера находится в чем-то под названием "единицы текстового пространства".Что это такое?Как это соотносится с "Эм" единицы измерения?
Спасибо
Решение
Я пытаюсь указать размер шрифта, используя CGContextSetFontSize.Параметр размера находится в так называемых «единицах текстового пространства».Что это такое?Как это соотносится с единицами «em»?
Чтобы сначала ответить на второй вопрос, 1 em (после определение CSS) будет равна сумме, которую вы там укажете.
«Текстовое пространство» Core Graphics является производным от пользовательского пространства.Существует дополнительная матрица преобразования — текстовая матрица, которая преобразует пользовательское пространство в текстовое пространство.Видеть CGContextSetTextMatrix
, Как Quartz 2D рисует текст, и Рисование текста.
По умолчанию текстовая матрица является идентификационной матрицей, поэтому текстовое пространство = пользовательское пространство.