UNPKG

@readium/navigator

Version:

Next generation SDK for publications in Web Apps

55 lines (54 loc) 1.52 kB
export interface ICustomFontFace { name: string; url: string; } export interface ILineLengthsConfig { optimalChars: number; minChars?: number | null; maxChars?: number | null; baseFontSize?: number | null; sample?: string | null; pageGutter?: number | null; fontFace?: string | ICustomFontFace | null; letterSpacing?: number | null; wordSpacing?: number | null; isCJK?: boolean | null; getRelative?: boolean | null; } export interface ILineLengths { min: number | null; max: number | null; optimal: number; baseFontSize: number; } export declare class LineLengths { private _canvas; private _optimalChars; private _minChars?; private _maxChars?; private _baseFontSize; private _fontFace; private _sample; private _pageGutter; private _letterSpacing; private _wordSpacing; private _isCJK; private _getRelative; private _padding; private _minDivider; private _maxMultiplier; private _approximatedWordSpaces; private _optimalLineLength; constructor(config: ILineLengthsConfig); private updateMultipliers; update(props: Partial<ILineLengthsConfig>): void; get baseFontSize(): number; get minimalLineLength(): number | null; get maximalLineLength(): number | null; get optimalLineLength(): number; get all(): ILineLengths; private static approximateWordSpaces; private getLineLengthFallback; private getOptimalLineLength; private measureText; }