blob: e5a70a9bf080596986684a034941e82f8b51f3d7 [file]
<!DOCTYPE html>
<html>
<head>
<script>
let fontLoadResult;
let fontWorkerSource = new Blob([`
self.onmessage = function(e) {
const { fontFamily, fontUrl, options } = e.data;
async function loadFont(fontFamily, fontUrl, options = {}) {
try {
const fontFace = new FontFace(fontFamily, fontUrl, options);
const loadedFont = await fontFace.load();
fonts.add(loadedFont);
return { success: true, fontFamily };
} catch (error) {
return { success: false, fontFamily, error: error.message };
}
}
loadFont(fontFamily, fontUrl, options)
.then(result => {
self.postMessage(result);
}).catch(error => {
self.postMessage({
success: false,
fontFamily,
error: error.message
});
});
};`], {type: 'application/javascript'});
let fontWorker = new Worker(URL.createObjectURL(fontWorkerSource));
fontWorker.onmessage = function(e) {
const { success, fontFamily, error } = e.data;
if (success) {
fontLoadResult = "success";
} else {
fontLoadResult = error;
}
console.log(fontLoadResult);
};
fontWorker.onerror = function(error) {
fontLoadResult = error.message;
console.log(fontLoadResult);
};
</script>
</head>
<body>
</body>
</html>