Spline Records
Os registros spline representam as curvas quadráticas (ou seja, b-splines quadráticas) usadas por TrueType. Um registro spline começa com o último ponto no registro anterior (ou para o primeiro registro no contorno, com o ponto de partida). Para o primeiro registro spline, o ponto de partida e o último ponto no registro estão na estrutura de tópicos do glifo. Para todos os outros registros de spline, apenas o último ponto está na estrutura de tópicos do glifo. Todos os outros pontos nos registros spline estão fora do contorno do glifo e devem ser renderizados como pontos de controle de b-splines.
O último registro spline ou poliline em um contorno sempre termina com o ponto de partida do contorno. Essa disposição garante que todos os contornos sejam fechados.
Como as b-splines exigem três pontos (um ponto fora do contorno do glifo entre dois pontos que estão na estrutura de tópicos), você deve executar alguns cálculos quando um registro de spline contiver mais de um ponto fora da curva.
Por exemplo, se um registro spline contiver três pontos (A, B e C) e não for o primeiro registro, os pontos A e B estarão fora do contorno do glifo. Para interpretar o ponto A, use a posição atual (que está sempre na estrutura de tópicos do glifo) e o ponto na estrutura de tópicos do glifo entre os pontos A e B. Para localizar o ponto médio (M) entre A e B, você pode executar o cálculo a seguir.
M = A + (B A)/2
O ponto médio entre pontos fora da estrutura de tópicos consecutivos em um registro spline é um ponto na estrutura de tópicos do glifo, de acordo com a definição do formato spline usado em fontes TrueType.
Se a posição atual for designada por P, as duas splines quadráticas definidas por esse registro de spline serão (P, A, M) e (M, B, C).