@readium/navigator
Version:
Next generation SDK for publications in Web Apps
55 lines (54 loc) • 1.52 kB
TypeScript
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;
}