fontjs
Version:
FontJS (Font.js) is a packages for TrueType font parsing and manipulation
48 lines (47 loc) • 1.55 kB
TypeScript
import { SeqStream } from "bytestreamjs";
import { Glyph } from "../GLYF/Glyph";
import { CMAPLanguage, CMAPSubTable, CMAPSubTableParameters, GlyphMap } from "./CMAPSubTable";
export interface Segment {
codeToGID: Map<number, number>;
gidToCode: Map<number, number>;
delta?: number;
offset?: number;
}
export interface Format4Parameters extends CMAPSubTableParameters {
/**
* Format number is set to 4
*/
format?: 4;
language?: number;
segments?: Segment[];
}
/**
* Representation of Format 4. Segment mapping to delta values
* @see https://docs.microsoft.com/en-us/typography/opentype/spec/cmap#format-4-segment-mapping-to-delta-values
*/
export declare class Format4 extends CMAPSubTable implements CMAPLanguage {
/**
* Format number is set to 4
*/
get format(): 4;
language: number;
segments: Segment[];
constructor(parameters?: Format4Parameters);
protected onGetGlyphMap(): GlyphMap;
static get className(): string;
toStream(stream: SeqStream): boolean;
static fromStream(stream: SeqStream): Format4;
/**
* Make Format4 table directly from array of code points
*
* @param language
* @param glyphs Array of glyphs.
*
* !!! MUST BE WITH "MISSING" AND "NULL" GLYPHS !!!
* @param [platformID=3]
* @param [platformSpecificID=1]
*/
static fromGlyphs(language: number, glyphs: Glyph[], platformID?: number, platformSpecificID?: number): Format4;
gid(code: number): number;
code(gid: number): number[];
}