UNPKG

@sutton-signwriting/font-ttf

Version:

a javascript package for node that generates SVG and PNG images for individual symbols, complete signs, and structured text. The package covers the entire set of the International SignWritnig Alphabet 2010 (ISWA 2010).

373 lines (372 loc) 9.38 kB
export const __esModule: boolean; /** The font module contains functions for handing the TrueType fonts. * @module font */ declare var index$2: Readonly<{ __proto__: any; cssAppend: (dir?: string) => void; cssLoaded: (callback: Function) => void; cssLoadedLine: (callback: Function) => void; cssLoadedFill: (callback: Function) => void; symbolSize: (id: number) => number[]; symbolLine: (id: number) => string; symbolFill: (id: number) => string; symbolText: (id: number) => string; }>; /** The fsw module contains functions for handling Formal SignWriitng in ASCII (FSW) characters. * [FSW characters definition](https://tools.ietf.org/id/draft-slevinski-formal-signwriting-09.html#name-formal-signwriting-in-ascii) * @module fsw */ declare var index$1: Readonly<{ __proto__: any; symbolSize: (fsw: string) => number[]; symbolLine: (fsw: string) => string; symbolFill: (fsw: string) => string; symbolText: (fsw: string) => string; symbolSvgBody: (fswSym: string) => string; symbolSvg: (fswSym: string) => string; symbolPng: (fswSym: string) => string; symbolNormalize: (fswSym: string) => string; symbolMirror: (fswSym: string) => string; symbolInvert: (fswSym: string) => string; symbolRotate: (fswSym: string, clockwise?: boolean) => string; symbolFlop: (fswSym: string, positive?: boolean) => string; symbolScroll: (fswSym: string, positive?: boolean) => string; signSvgBody: (fswSign: string) => string; signSvg: (fswSign: string) => string; signPng: (fswSign: string) => string; signNormalize: (fswSign: string) => string; columnSvg: (fswColumn: ColumnData, options: ColumnOptions) => string; columnsSvg: (fswText: string, options: ColumnOptions) => string[]; columnPng: (fswColumn: ColumnData, options: ColumnOptions) => string; columnsPng: (fswText: string, options: ColumnOptions) => string[]; }>; /** The swu module contains functions for handling SignWriting in Unicode (SWU) characters. * [SWU characters definition](https://tools.ietf.org/id/draft-slevinski-formal-signwriting-09.html#name-signwriting-in-unicode-swu) * @module swu */ declare var index: Readonly<{ __proto__: any; symbolSize: (swu: string) => number[]; symbolLine: (swu: string) => string; symbolFill: (swu: string) => string; symbolText: (swu: string) => string; symbolSvgBody: (swuSym: string) => string; symbolSvg: (swuSym: string) => string; symbolPng: (swuSym: string) => string; symbolNormalize: (swuSym: string) => string; symbolMirror: (swuSym: string) => string; symbolInvert: (swuSym: string) => string; symbolRotate: (swuSym: string, clockwise?: boolean) => string; symbolFlop: (swuSym: string, positive?: boolean) => string; symbolScroll: (swuSym: string, positive?: boolean) => string; signSvgBody: (swuSign: string) => string; signSvg: (swuSign: string) => string; signPng: (swuSign: string) => string; signNormalize: (swuSign: string) => string; columnSvg: (swuColumn: ColumnData, options: ColumnOptions) => string; columnsSvg: (swuText: string, options: ColumnOptions) => string[]; columnPng: (swuColumn: ColumnData, options: ColumnOptions) => string; columnsPng: (swuText: string, options: ColumnOptions) => string[]; }>; export { index$2 as font, index$1 as fsw, index as swu }; /** * Object of query elements with regular expression identification. */ type QueryObject = { /** * - required true for query object */ query: boolean; /** * - an object for prefix elements */ prefix?: { required: boolean; parts?: (string | string[] | (string | string[])[])[]; }; /** * - array of objects for symbols, ranges, and list of symbols or ranges, with optional coordinates */ signbox?: (QuerySignboxSymbol | QuerySignboxRange | QuerySignboxOr)[]; /** * - amount that x or y coordinates can vary and find a match, defaults to 20 */ variance?: number; /** * - boolean value for including style string in matches */ style?: boolean; }; type QuerySignboxSymbol = { /** * - a symbol */ symbol: string; /** * - an optional coordinate */ coord?: number[]; }; type QuerySignboxRange = { /** * - an array of two symbols */ range: string[]; /** * - an optional coordinate */ coord?: number[]; }; type QuerySignboxOr = { /** * - an array of symbol strings and range arrays */ or: (string | string[])[]; /** * - an optional coordinate */ coord?: number[]; }; type ColumnOptions = { /** * - the height of the columns */ height?: number; /** * - the widths of the columns */ width?: number; /** * - the lane offset for left and right lanes */ offset?: number; /** * - amount of padding before and after signs as well as at top, left, and right of columns */ pad?: number; /** * - amount of space at bottom of column that is not available */ margin?: number; /** * - enables variable width columns */ dynamic?: boolean; /** * - background color for columns */ background?: string; /** * - an object of style options */ style?: StyleObject; /** * - an object of punctuation options */ punctuation?: { spacing?: boolean; pad?: number; pull?: boolean; }; }; type ColumnData = ColumnSegment[]; type ColumnSegment = { /** * - the x position in the column */ x: number; /** * - the y position in the column */ y: number; /** * - the min x value within the segment */ minX: number; /** * - the min y value within the segment */ minY: number; /** * - the width of the text segment */ width: number; /** * - the height of the text segment */ height: number; /** * - Left as -1, Middle as 0, Right as 1 */ lane: number; /** * - the padding of the text segment affects colored background */ padding: number; /** * - "sign" or "symbol" */ segment: string; /** * - the text of the sign or symbol with optional style string */ text: string; /** * - the zoom size of the segment */ zoom: number; }; type SegmentInfo = { /** * - the min x value within the segment */ minX: number; /** * - the min y value within the segment */ minY: number; /** * - the width of the text segment */ width: number; /** * - the height of the text segment */ height: number; /** * - Left as -1, Middle as 0, Right as 1 */ lane: number; /** * - the padding of the text segment affects colored background */ padding: number; /** * - "sign" or "symbol" */ segment: string; /** * - the zoom size of the segment */ zoom: number; }; /** * The elements of a style string */ type StyleObject = { /** * - boolean to use standardized colors for symbol groups */ colorize?: boolean; /** * - integer value for padding around symbol or sign */ padding?: number; /** * - css name or hex color for background */ background?: string; /** * - array for css name or hex color for line and optional fill */ detail?: string[]; /** * - decimal value for zoom level */ zoom?: number; /** * - custom colors for individual symbols */ detailsym?: { index: number; detail: string[]; }; /** * - list of class names separated with spaces used for SVG */ classes?: string; /** * - id name used for SVG */ id?: string; }; /** * The elements of a symbol string */ type SymbolObject = { /** * - symbol identifier */ symbol?: string; /** * - x,y coordinate */ coord?: number[]; /** * - style string */ style?: string; }; /** * The elements of a sign string */ type SignObject = { /** * - array of symbols */ sequence?: string[]; /** * - signbox marker or lane */ box?: string; /** * - preprocessed x,y coordinate */ max?: number[]; /** * - array of symbols with coordinates */ spatials?: { symbol: string; coord: number[]; }[]; /** * - style string */ style?: string; }; type TokenizerObject = { /** * - Index to string mapping */ i2s: any; /** * - String to index mapping */ s2i: any; /** * - Total number of tokens */ length: number; /** * - Returns array of all tokens */ vocab: Function; /** * - Encodes a string of SignWriting to token indices */ encode: Function; /** * - Decodes token indices to a string of SignWriting */ decode: Function; /** * - Encodes an array of token strings to token indices */ encodeTokens: Function; /** * - Decodes an array of token indices to token strings */ decodeTokens: Function; };