2026-04-03 14:44:06 +03:00
|
|
|
/**
|
2026-04-03 15:24:14 +03:00
|
|
|
* Thrown by {@link FontBufferCache} when a font file cannot be retrieved from the network or cache.
|
2026-04-03 14:44:06 +03:00
|
|
|
*
|
|
|
|
|
* @property url - The URL that was requested.
|
|
|
|
|
* @property cause - The underlying error, if any.
|
|
|
|
|
* @property status - HTTP status code. Present on HTTP errors, absent on network failures.
|
|
|
|
|
*/
|
|
|
|
|
export class FontFetchError extends Error {
|
|
|
|
|
readonly name = 'FontFetchError';
|
|
|
|
|
|
|
|
|
|
constructor(
|
|
|
|
|
public readonly url: string,
|
|
|
|
|
public readonly cause?: unknown,
|
|
|
|
|
public readonly status?: number,
|
|
|
|
|
) {
|
|
|
|
|
super(status ? `HTTP ${status} fetching font: ${url}` : `Network error fetching font: ${url}`);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Thrown by {@link loadFont} when a font buffer cannot be parsed into a {@link FontFace}.
|
|
|
|
|
*
|
|
|
|
|
* @property fontName - The display name of the font that failed to parse.
|
|
|
|
|
* @property cause - The underlying error from the FontFace API.
|
|
|
|
|
*/
|
|
|
|
|
export class FontParseError extends Error {
|
|
|
|
|
readonly name = 'FontParseError';
|
|
|
|
|
|
|
|
|
|
constructor(
|
|
|
|
|
public readonly fontName: string,
|
|
|
|
|
public readonly cause?: unknown,
|
|
|
|
|
) {
|
|
|
|
|
super(`Failed to parse font: ${fontName}`);
|
|
|
|
|
}
|
|
|
|
|
}
|