import type { int16, uint16, uint32 } from "../../types.ts"; import type { Reader } from "../binary/reader.ts"; /** * Tracking table (trak) * Apple Advanced Typography tracking */ export interface TrakTable { version: number; format: uint16; horizData: TrackData | null; vertData: TrackData | null; } /** * Track data for one direction */ export interface TrackData { nTracks: uint16; nSizes: uint16; sizeTableOffset: uint32; trackTable: TrackTableEntry[]; sizeTable: number[]; } /** * Track table entry */ export interface TrackTableEntry { track: number; nameIndex: uint16; offset: uint16; perSizeTracking: int16[]; } /** * Parse trak table */ export declare function parseTrak(reader: Reader): TrakTable; /** * Get tracking value for a given track and point size */ export declare function getTrackingValue(trackData: TrackData, track: number, pointSize: number): number; /** * Apply tracking to advance widths */ export declare function applyTracking(trak: TrakTable, advances: number[], pointSize: number, track?: number, vertical?: boolean): void;