fontjs
Version:
FontJS (Font.js) is a packages for TrueType font parsing and manipulation
57 lines (56 loc) • 1.72 kB
TypeScript
import { SeqStream } from "bytestreamjs";
import { FontTable } from "../../Table";
import { KERNFormat } from "./Format";
import { KERNFormat2 } from "./Format2";
export interface KERNTableCoverageV0 {
horizontal: number;
minimum: number;
crossStream: number;
override: number;
format: number;
}
export interface KERNTableV0 {
version: number;
length: number;
coverage: KERNTableCoverageV0;
value?: KERNFormat;
}
export interface KERNTableCoverageV1 {
kernVertical: number;
kernCrossStream: number;
kernVariation: number;
format: number;
}
export interface KERNTableV1 {
table: KERNFormat2;
length: number;
tupleIndex: number;
coverage: KERNTableCoverageV1;
value: KERNFormat;
}
export declare type KERNTableType = KERNTableV0 | KERNTableV1;
export interface KERNParameters {
version?: number;
tables?: KERNTableType[];
}
export declare class KERN extends FontTable {
version: number;
tables: KERNTableType[];
constructor(parameters?: KERNParameters);
static get tag(): number;
toStream(stream: SeqStream): boolean;
static fromStream(stream: SeqStream): KERN;
/**
* Find kerning value for pair of glyph indexes
* @param leftIndex Index of glyph from left side
* @param rightIndex Index of glyph from right side
* @param table Index of kerning table to find kerning value
*/
find(leftIndex: number, rightIndex: number, table?: number): number;
/**
* Find kerning values for array of glyph indexes
* @param array Array of glyph indexes
* @param table Index of kerning table to find kerning value
*/
findForArray(array: number[], table?: number): number[];
}