import type { Fixed, FWord, int16, uint16, uint32 } from "../../types.ts"; import type { Reader } from "../binary/reader.ts"; /** Font header table */ export interface HeadTable { majorVersion: uint16; minorVersion: uint16; fontRevision: Fixed; checksumAdjustment: uint32; magicNumber: uint32; flags: uint16; unitsPerEm: uint16; created: bigint; modified: bigint; xMin: FWord; yMin: FWord; xMax: FWord; yMax: FWord; macStyle: uint16; lowestRecPPEM: uint16; fontDirectionHint: int16; /** 0 = short offsets (uint16), 1 = long offsets (uint32) in loca table */ indexToLocFormat: int16; glyphDataFormat: int16; } /** Head table flags */ export declare const HeadFlags: { readonly BaselineAtY0: 1; readonly LeftSidebearingAtX0: 2; readonly InstructionsDependOnPointSize: 4; readonly ForcePPEMToInteger: 8; readonly InstructionsAlterAdvanceWidth: 16; readonly Lossless: 2048; readonly Converted: 4096; readonly OptimizedForClearType: 8192; readonly LastResortFont: 16384; }; /** Mac style flags */ export declare const MacStyle: { readonly Bold: 1; readonly Italic: 2; readonly Underline: 4; readonly Outline: 8; readonly Shadow: 16; readonly Condensed: 32; readonly Extended: 64; }; /** * Parse head table - font header with global metrics * @param reader - Reader positioned at start of head table * @returns Parsed head table */ export declare function parseHead(reader: Reader): HeadTable;