@getsolara/solara.canvas
Version:
Optional canvas and image manipulation functionality for @getsolara/solara.js
27 lines • 1.4 kB
JavaScript
const fs = require('fs');
module.exports = {
name: "$registerFont",
description: "Registers a font file for use on the canvas. Args: fontPath;fontFamily",
takesBrackets: true,
execute: async (context, args) => {
if (context.client.canvasInitialized === false) {
return "[Error: $registerFont requires canvas features to be enabled. Ensure @getsolara/solara.canvas is installed and configured correctly.]";
}
if (args.length < 2) return "[Error: $registerFont requires fontPath and fontFamily name]";
const fontPath = args[0];
const family = args[1];
try {
if (!fs.existsSync(fontPath)) return `[Error: Font file not found at path: ${fontPath} for $registerFont]`;
const { registerFont } = require('canvas');
registerFont(fontPath, { family: family });
return "";
} catch (e) {
if (e.code === 'MODULE_NOT_FOUND' && e.message.includes('canvas')) {
console.error("Solara.canvas ($registerFont): 'canvas' module not found. This is a dependency of @getsolara/solara.canvas.");
return "[Error: $registerFont - canvas module missing.]";
}
console.error("Solara.canvas Error ($registerFont):", e);
return `[Error registering font: ${e.message}]`;
}
}
};