diff --git a/src/core/text-rendering/font-face-types/WebTrFontFace.ts b/src/core/text-rendering/font-face-types/WebTrFontFace.ts index aa7ba600..3dd42e97 100644 --- a/src/core/text-rendering/font-face-types/WebTrFontFace.ts +++ b/src/core/text-rendering/font-face-types/WebTrFontFace.ts @@ -49,7 +49,7 @@ export class WebTrFontFace extends TrFontFace { const determinedDescriptors = this.descriptors; // Convert TrFontFaceDescriptors to CSS FontFaceDescriptors - const cssDescriptors: FontFaceDescriptors = { + let cssDescriptors: FontFaceDescriptors = { style: determinedDescriptors.style, weight: typeof determinedDescriptors.weight === 'number' @@ -61,6 +61,13 @@ export class WebTrFontFace extends TrFontFace { display: determinedDescriptors.display, }; + for (const k in cssDescriptors) { + const key = k as keyof FontFaceDescriptors; + if (cssDescriptors[key] === undefined) { + delete cssDescriptors[key]; + } + } + const fontFace = new FontFace( fontFamily, `url(${fontUrlWithoutParentheses})`, @@ -71,14 +78,12 @@ export class WebTrFontFace extends TrFontFace { fontFace .load() .then(() => { - // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion (this.loaded as boolean) = true; this.emit('loaded'); }) .catch(console.error); } else { // Default font - // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion (this.loaded as boolean) = true; this.emit('loaded'); }