Canvas не поддерживает символы в узле js - PullRequest
0 голосов
/ 22 октября 2018

Я пытаюсь использовать canvas сейчас для моего Discord Bot.Но холст не поддерживает символы (๑; ₪; ۩; ≡; для примера).Когда кто-то использует команду, бот вылетает без ошибок ...

        if (message.content === prefix + "idcard") {

          let sender = message.author

          console.log(`\n[COMMAND] &idcard by ${sender.tag} [` + new Date() + `]`);

          const applyText = (canvas, text) => {
            const ctx = canvas.getContext('2d');

            let fontSize = 40;

            do {
              ctx.font = `${fontSize -= 10}px Janda Manatee Solid`;
            } while (ctx.measureText(text).width > canvas.width - 300);

            return ctx.font;
          };
            const canvas = Canvas.createCanvas(700, 350);
            const ctx = canvas.getContext('2d');
        
            const background = await Canvas.loadImage('./wallpaper.jpg');
            ctx.drawImage(background, 0, 0, canvas.width, canvas.height);

            ctx.font = applyText(canvas, "๑₪۩≡ Mina Mina Sama ≡۩₪๑");
            ctx.fillStyle = '#585858'; 
            ctx.textAlign = 'center';
            ctx.fillText("๑₪۩≡ Mina Mina Sama ≡۩₪๑", 420, 75);
            //normally it's "sender.username" but for exemple we will use this username
            const attachment = new Discord.Attachment(canvas.toBuffer(), `${sender.username}'s-idcard.png`);
        
            message.channel.send(attachment);
    
        }

Когда мы используем код.

И я попытался использовать шрифт Arial и шрифт без засечек.Та же ошибка ...

...