Прочитать на английском

Поделиться через


Сплайн-записи

Сплайн-записи представляют квадратичных кривых (т. е. квадратичных b-сплайнов), используемые TrueType. Запись сплайна начинается с последней точки в предыдущей записи (или для первой записи в контуре с начальной точкой). Для первой сплайн-записи начальная точка и последняя точка в записи находятся в контуре глифа. Для всех остальных записей сплайна только последняя точка находится в структуре глифа. Все остальные точки в сплайновых записях находятся вне структуры глифа и должны отображаться в качестве контрольных точек b-сплайнов.

Последняя сплайновая или ломаная запись в контуре всегда заканчивается начальной точкой контура. Такое расположение гарантирует, что каждый контур будет закрыт.

Так как для b-сплайнов требуется три точки (одна точка от контура глифа между двумя точками на контуре), необходимо выполнить некоторые вычисления, если запись сплайна содержит более одной точки вне кривой.

Например, если сплайновая запись содержит три точки (A, B и C) и не является первой записью, точки A и B находятся вне структуры глифа. Чтобы интерпретировать точку A, используйте текущую позицию (которая всегда находится на контуре глифа) и точку на контуре глифа между точками A и B. Чтобы найти середину (M) между A и B, можно выполнить следующее вычисление.

M = A + (B A)/2

Средняя точка между последовательными точками вне контура в сплайновой записи — это точка на контуре глифа в соответствии с определением формата сплайна, используемого в шрифтах TrueType.

Если текущая позиция обозначается P, то две квадратичных сплайна, определенные этой сплайновой записью: (P, A, M) и (M, B, C).