@itwin/core-backend
Version:
iTwin.js backend components
34 lines • 1.72 kB
TypeScript
import { FontFace, FontType, LocalFileName } from "@itwin/core-common";
import type { IModelJsNative } from "@bentley/imodeljs-native";
import { CreateFontFileFromRscBlobArgs, CreateFontFileFromShxBlobArgs, FontFile } from "../FontFile";
import { _faceProps, _getData, _implementationProhibited, _key } from "./Symbols";
import { IModelDb } from "../IModelDb";
declare abstract class FontFileImpl implements FontFile {
readonly [_implementationProhibited]: undefined;
readonly faces: ReadonlyArray<Readonly<FontFace>>;
abstract get type(): FontType;
get isEmbeddable(): boolean;
readonly [_key]: string;
readonly [_faceProps]: IModelJsNative.FontFaceProps[];
protected constructor(faces: IModelJsNative.FontFaceProps[]);
abstract [_getData](): Uint8Array;
}
/** Holds the binary representation of a SHX or RSC font in memory. */
export declare class CadFontFile extends FontFileImpl {
#private;
constructor(data: Uint8Array, type: FontType.Shx | FontType.Rsc, faces: IModelJsNative.FontFaceProps[]);
get type(): FontType;
[_getData](): Uint8Array;
}
/** Points to a font file in any format embedded in an iModel. */
export declare class EmbeddedFontFile extends FontFileImpl {
#private;
constructor(db: IModelDb, id: number, type: FontType, faces: IModelJsNative.FontFaceProps[]);
get type(): FontType;
[_getData](): Uint8Array;
}
export declare function shxFontFileFromBlob(args: CreateFontFileFromShxBlobArgs): FontFile;
export declare function rscFontFileFromBlob(args: CreateFontFileFromRscBlobArgs): FontFile;
export declare function trueTypeFontFileFromFileName(fileName: LocalFileName): FontFile;
export {};
//# sourceMappingURL=FontFileImpl.d.ts.map