import type { Tag } from "../../types.ts"; import type { Reader } from "../binary/reader.ts"; import { type ItemVariationStore } from "./hvar.ts"; /** * Metrics Variations table (MVAR) * Provides variations for global font metrics */ export interface MvarTable { majorVersion: number; minorVersion: number; itemVariationStore: ItemVariationStore; valueRecords: MvarValueRecord[]; } export interface MvarValueRecord { valueTag: Tag; deltaSetOuterIndex: number; deltaSetInnerIndex: number; } /** * Common MVAR value tags */ export declare const MvarTags: { readonly hasc: number; readonly hdsc: number; readonly hlgp: number; readonly hcla: number; readonly hcld: number; readonly hcof: number; readonly hcrn: number; readonly hcrs: number; readonly vasc: number; readonly vdsc: number; readonly vlgp: number; readonly vcof: number; readonly vcrn: number; readonly vcrs: number; readonly xhgt: number; readonly cpht: number; readonly sbxs: number; readonly sbys: number; readonly sbxo: number; readonly sbyo: number; readonly spxs: number; readonly spys: number; readonly spxo: number; readonly spyo: number; readonly strs: number; readonly stro: number; readonly undo: number; readonly unds: number; readonly gsp0: number; readonly gsp1: number; readonly gsp2: number; readonly gsp3: number; }; /** * Parse MVAR table */ export declare function parseMvar(reader: Reader): MvarTable; /** * Get metric delta by tag */ export declare function getMetricDelta(mvar: MvarTable, valueTag: Tag, coords: number[]): number; /** * Get horizontal ascender delta */ export declare function getHAscenderDelta(mvar: MvarTable, coords: number[]): number; /** * Get horizontal descender delta */ export declare function getHDescenderDelta(mvar: MvarTable, coords: number[]): number; /** * Get horizontal line gap delta */ export declare function getHLineGapDelta(mvar: MvarTable, coords: number[]): number; /** * Get x-height delta */ export declare function getXHeightDelta(mvar: MvarTable, coords: number[]): number; /** * Get cap height delta */ export declare function getCapHeightDelta(mvar: MvarTable, coords: number[]): number; /** * Get underline offset delta */ export declare function getUnderlineOffsetDelta(mvar: MvarTable, coords: number[]): number; /** * Get underline size delta */ export declare function getUnderlineSizeDelta(mvar: MvarTable, coords: number[]): number; /** * Get strikeout offset delta */ export declare function getStrikeoutOffsetDelta(mvar: MvarTable, coords: number[]): number; /** * Get strikeout size delta */ export declare function getStrikeoutSizeDelta(mvar: MvarTable, coords: number[]): number;