Пытаюсь зарегистрировать шрифт в холсте, чтобы загрузить бота на хостинг, ошибок не выдает, но шрифт просто не отображается на хосте. Вот код
const { AttachmentBuilder } = require('discord.js');
const { SlashCommandBuilder } = require('@discordjs/builders');
const Canvas = require('@napi-rs/canvas');
const { registerFont } = require('canvas');
registerFont('./Comic Sans MS.ttf', { family: 'Comic Sans' })
const canvas = Canvas.createCanvas(1150, 800);
const ctx = canvas.getContext('2d');
const background = await Canvas.loadImage('./image.png');
ctx.drawImage(background, 0, 0, canvas.width, canvas.height);
ctx.fillStyle = '#270a1f';
ctx.fillRect(0, canvas.height - 400, canvas.width, 400);
ctx.strokeStyle = '#ff033e';
ctx.strokeRect(0, 0, canvas.width, canvas.height);
ctx.fillStyle = '#0000ff'
ctx.beginPath();
что мне ввести, чтобы появился шрифт
ctx.font = '50px "Comic Sans"';
ctx.fillStyle = '#412227';
Я просмотрел документацию и не нашел явных ошибок.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Попробуйте импортировать GlobalFonts из @napi-rs/canvas, а затем использовать GlobalFonts.registerFromPath().
Это мой код, который у меня отлично работает:
import { GlobalFonts } from '@napi-rs/canvas';
// or require for JS
const __dirname = dirname(fileURLToPath(import.meta.url));
GlobalFonts.registerFromPath(
resolve(__dirname, '..', 'assets', 'Segoe_UI.ttf'),
'Segoe UI'
);
ctx.font = '700 20px Segoe UI';
В некоторых системах ./ — это current working directory вместо каталога файлов.
Вместо этого используйте process.cwd() или модуль path.
registerFont(`${process.cwd()}/path/Comic Sans MS.ttf`, { family: 'Comic Sans' })
const { resolve } = require("path")
registerFont(resolve('./Comic Sans MS.ttf'), { family: 'Comic Sans' })