import { type DataWriter } from '../data-writer.ts'; import { TableBuilder } from '../table-builder.ts'; import { type HeadTable } from '../tables/head.ts'; import { type MaxpTable } from '../tables/maxp.ts'; /** * The `loca` table stores the offsets of the glyphs, relative to the * beginning of the glyph data table. * * There are two versions of this table, a long version that stores the * offsets as uint32, and a short version that stores offsets divided by * 2 as uint16. The version is specified in the `indexToLocFormat` field * in the 'head' table. * * The number of entries in the `loca` table is `numGlyphs + 1`, where * `numGlyphs` is the number of glyphs in the font, defined in the * `maxp` table. The first entry always refers to the "missing * character" glyph. */ export declare class LocaTable { readonly offsets: number[]; /** * Reads a 'loca' table from the given DataView. */ static read(data: DataView, head: HeadTable, maxp: MaxpTable): LocaTable; private constructor(); } /** * Builder for the 'loca' table. */ export declare class LocaTableBuilder extends TableBuilder { readonly format: 'short' | 'long'; offsets: readonly number[]; /** * Creates a builder for a 'loca' table using the short format (uint16 offsets). */ static shortFormat(offsets?: Iterable): LocaTableBuilder; /** * Creates a builder for a 'loca' table using the long format (uint32 offsets). */ static longFormat(offsets?: Iterable): LocaTableBuilder; /** * Creates a builder for a 'loca' table based on the given offsets. */ static forOffsets(offsets: Iterable): LocaTableBuilder; private constructor(); writeTable(writer: DataWriter): void; }