export type uint8 = number; export type int8 = number; export type uint16 = number; export type int16 = number; export type uint32 = number; export type int32 = number; export type Fixed = number; export type F2Dot14 = number; export type FWord = number; export type UFWord = number; export type Offset16 = number; export type Offset32 = number; export type GlyphId = number; /** 4-character ASCII tag (packed as uint32 for efficiency) */ export type Tag = number; /** Text direction */ export declare enum Direction { Invalid = 0, LTR = 4, RTL = 5, TTB = 6, BTT = 7 } /** Cluster level for glyph-character mapping */ export declare enum ClusterLevel { MonotoneGraphemes = 0, MonotoneCharacters = 1, Characters = 2 } /** Buffer flags */ export declare enum BufferFlags { Default = 0, BeginningOfText = 1, EndOfText = 2, PreserveDefaultIgnorables = 4, RemoveDefaultIgnorables = 8, DoNotInsertDottedCircle = 16 } /** Glyph classification from GDEF */ export declare enum GlyphClass { Base = 1, Ligature = 2, Mark = 3, Component = 4 } /** Feature specification for shaping */ export interface Feature { tag: Tag; value: number; start: number; end: number; } /** Variation axis value */ export interface Variation { tag: Tag; value: number; } /** Glyph info during shaping */ export interface GlyphInfo { glyphId: GlyphId; cluster: number; mask: number; /** Unicode codepoint (before shaping) */ codepoint: number; } /** Glyph position after shaping */ export interface GlyphPosition { xAdvance: number; yAdvance: number; xOffset: number; yOffset: number; } /** Table record from font directory */ export interface TableRecord { tag: Tag; checksum: uint32; offset: Offset32; length: uint32; } /** Lookup flags for controlling glyph matching */ export interface LookupFlags { rightToLeft: boolean; ignoreBaseGlyphs: boolean; ignoreLigatures: boolean; ignoreMarks: boolean; useMarkFilteringSet: boolean; markAttachmentType: number; markFilteringSet?: number; } export declare function tag(str: string): Tag; export declare function tagToString(t: Tag): string; export declare const Tags: { readonly head: number; readonly hhea: number; readonly hmtx: number; readonly maxp: number; readonly cmap: number; readonly loca: number; readonly glyf: number; readonly name: number; readonly OS2: number; readonly post: number; readonly GDEF: number; readonly GSUB: number; readonly GPOS: number; readonly BASE: number; readonly JSTF: number; readonly MATH: number; readonly CFF: number; readonly CFF2: number; readonly fvar: number; readonly gvar: number; readonly avar: number; readonly HVAR: number; readonly VVAR: number; readonly MVAR: number; readonly morx: number; readonly kerx: number; readonly kern: number; readonly trak: number; readonly feat: number; readonly COLR: number; readonly CPAL: number; readonly SVG: number; readonly sbix: number; readonly CBDT: number; readonly CBLC: number; readonly STAT: number; readonly vhea: number; readonly vmtx: number; readonly VORG: number; readonly fpgm: number; readonly prep: number; readonly cvt: number; readonly gasp: number; }; export declare const FeatureTags: { readonly ccmp: number; readonly locl: number; readonly rlig: number; readonly liga: number; readonly clig: number; readonly calt: number; readonly rclt: number; readonly dlig: number; readonly smcp: number; readonly c2sc: number; readonly isol: number; readonly init: number; readonly medi: number; readonly fina: number; readonly kern: number; readonly mark: number; readonly mkmk: number; readonly curs: number; readonly dist: number; };