Swap all files to new font system

This commit is contained in:
Dragon Fire
2021-02-20 10:41:45 -05:00
parent 1eb843f1b2
commit 96f5e73f6f
70 changed files with 220 additions and 387 deletions
+2 -3
View File
@@ -1,8 +1,7 @@
const Command = require('../../structures/Command');
const { createCanvas, loadImage, registerFont } = require('canvas');
const { createCanvas, loadImage } = require('canvas');
const path = require('path');
const { wrapText } = require('../../util/Canvas');
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'SF-Pro-Display-Medium.otf'), { family: 'SF Pro' });
module.exports = class AlertCommand extends Command {
constructor(client) {
@@ -48,7 +47,7 @@ module.exports = class AlertCommand extends Command {
const canvas = createCanvas(base.width, base.height);
const ctx = canvas.getContext('2d');
ctx.drawImage(base, 0, 0);
ctx.font = '30px SF Pro';
ctx.font = this.client.fonts.get('SF-Pro-Display-Medium.otf').toCanvasString(30);
ctx.fillStyle = '#1f1f1f';
ctx.textBaseline = 'top';
let text = await wrapText(ctx, message, 540);
+2 -3
View File
@@ -1,8 +1,7 @@
const Command = require('../../structures/Command');
const { createCanvas, loadImage, registerFont } = require('canvas');
const { createCanvas, loadImage } = require('canvas');
const path = require('path');
const { shortenText } = require('../../util/Canvas');
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'akbar.ttf'), { family: 'Akbar' });
module.exports = class LisaPresentationCommand extends Command {
constructor(client) {
@@ -48,7 +47,7 @@ module.exports = class LisaPresentationCommand extends Command {
const ctx = canvas.getContext('2d');
ctx.drawImage(base, 0, 0);
ctx.textBaseline = 'top';
ctx.font = '19px Akbar';
ctx.font = this.client.fonts.get('akbar.ttf').toCanvasString(19);
ctx.fillStyle = 'white';
const shortened = shortenText(ctx, text.toUpperCase(), 500);
const arr = [];
+2 -3
View File
@@ -1,10 +1,9 @@
const Command = require('../../structures/Command');
const { createCanvas, loadImage, registerFont } = require('canvas');
const { createCanvas, loadImage } = require('canvas');
const { stripIndents } = require('common-tags');
const path = require('path');
const { wrapText } = require('../../util/Canvas');
const texts = require('../../assets/json/be-like-bill');
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'arialbd.ttf'), { family: 'Arial', weight: 'bold' });
module.exports = class BeLikeBillCommand extends Command {
constructor(client) {
@@ -50,7 +49,7 @@ module.exports = class BeLikeBillCommand extends Command {
const canvas = createCanvas(base.width, base.height);
const ctx = canvas.getContext('2d');
ctx.drawImage(base, 0, 0);
ctx.font = 'normal bold 23px Arial';
ctx.font = this.client.fonts.get('arialbd.ttf').toCanvasString(23);
const text = await wrapText(ctx, texts[Math.floor(Math.random() * texts.length)].replaceAll('{{name}}', name), 569);
ctx.fillText(stripIndents`
This is ${name}.
+3 -6
View File
@@ -1,9 +1,6 @@
const Command = require('../../structures/Command');
const { createCanvas, loadImage, registerFont } = require('canvas');
const { createCanvas, loadImage } = require('canvas');
const path = require('path');
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'Noto-Regular.ttf'), { family: 'Noto' });
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'Noto-CJK.otf'), { family: 'Noto' });
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'Noto-Emoji.ttf'), { family: 'Noto' });
module.exports = class BoardroomMeetingCommand extends Command {
constructor(client) {
@@ -70,9 +67,9 @@ module.exports = class BoardroomMeetingCommand extends Command {
const ctx = canvas.getContext('2d');
ctx.drawImage(base, 0, 0);
ctx.textBaseline = 'top';
ctx.font = '25px Noto';
ctx.font = this.client.fonts.get('Noto-Regular.ttf').toCanvasString(25);
ctx.fillText(question, 153, 8, 300);
ctx.font = '15px Noto';
ctx.font = this.client.fonts.get('Noto-Regular.ttf').toCanvasString(15);
ctx.fillText(suggestion1, 30, 251, 90);
ctx.fillText(suggestion2, 167, 258, 75);
ctx.fillText(final, 310, 269, 130);
+2 -5
View File
@@ -1,10 +1,7 @@
const Command = require('../../structures/Command');
const { createCanvas, loadImage, registerFont } = require('canvas');
const { createCanvas, loadImage } = require('canvas');
const path = require('path');
const { delay } = require('../../util/Util');
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'Noto-Regular.ttf'), { family: 'Noto' });
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'Noto-CJK.otf'), { family: 'Noto' });
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'Noto-Emoji.ttf'), { family: 'Noto' });
module.exports = class CatchCommand extends Command {
constructor(client) {
@@ -53,7 +50,7 @@ module.exports = class CatchCommand extends Command {
ctx.drawImage(base, 0, 0);
ctx.textBaseline = 'top';
ctx.fillStyle = 'red';
ctx.font = '25px Noto';
ctx.font = this.client.fonts.get('Noto-Regular.ttf').toCanvasString(25);
ctx.fillText('EVERYONE CAUGHT IS', 18, 165);
ctx.textAlign = 'center';
ctx.fillText(is.toUpperCase(), 163, 202);
+3 -6
View File
@@ -1,10 +1,7 @@
const Command = require('../../structures/Command');
const { createCanvas, loadImage, registerFont } = require('canvas');
const { createCanvas, loadImage } = require('canvas');
const path = require('path');
const { wrapText } = require('../../util/Canvas');
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'Noto-Regular.ttf'), { family: 'Noto' });
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'Noto-CJK.otf'), { family: 'Noto' });
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'Noto-Emoji.ttf'), { family: 'Noto' });
module.exports = class ChangeMyMindCommand extends Command {
constructor(client) {
@@ -51,11 +48,11 @@ module.exports = class ChangeMyMindCommand extends Command {
ctx.textBaseline = 'top';
ctx.drawImage(base, 0, 0);
ctx.rotate(-24 * (Math.PI / 180));
ctx.font = '35px Noto';
ctx.font = this.client.fonts.get('Noto-Regular.ttf').toCanvasString(35);
let fontSize = 35;
while (ctx.measureText(text).width > 843) {
fontSize--;
ctx.font = `${fontSize}px Noto`;
ctx.font = this.client.fonts.get('Noto-Regular.ttf').toCanvasString(fontSize);
}
const lines = await wrapText(ctx, text, 337);
ctx.fillText(lines.join('\n'), 142, 430, 337);
+3 -4
View File
@@ -1,8 +1,7 @@
const Command = require('../../structures/Command');
const { createCanvas, loadImage, registerFont } = require('canvas');
const { createCanvas, loadImage } = require('canvas');
const path = require('path');
const { wrapText } = require('../../util/Canvas');
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'wildwordsroman.ttf'), { family: 'Wild Words' });
module.exports = class ChiIdeaCommand extends Command {
constructor(client) {
@@ -55,11 +54,11 @@ module.exports = class ChiIdeaCommand extends Command {
ctx.drawImage(base, 0, 0);
ctx.textAlign = 'center';
ctx.textBaseline = 'top';
ctx.font = '15px Wild Words';
ctx.font = this.client.fonts.get('wildwordsroman.ttf').toCanvasString(15);
let fontSize = 15;
while (ctx.measureText(text).width > 500) {
fontSize--;
ctx.font = `${fontSize}px Wild Words`;
ctx.font = this.client.fonts.get('wildwordsroman.ttf').toCanvasString(fontSize);
}
const lines = await wrapText(ctx, text, 83);
const topMost = 137 - (((fontSize * lines.length) / 2) + ((5 * (lines.length - 1)) / 2));
+3 -4
View File
@@ -1,8 +1,7 @@
const Command = require('../../structures/Command');
const { createCanvas, loadImage, registerFont } = require('canvas');
const { createCanvas, loadImage } = require('canvas');
const path = require('path');
const { wrapText } = require('../../util/Canvas');
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'Oswald-SemiBold.ttf'), { family: 'Oswald' });
module.exports = class DearLiberalsCommand extends Command {
constructor(client) {
@@ -65,12 +64,12 @@ module.exports = class DearLiberalsCommand extends Command {
ctx.drawImage(base, 0, 0);
ctx.fillStyle = 'white';
ctx.textBaseline = 'top';
ctx.font = '20px Oswald SemiBold';
ctx.font = this.client.fonts.get('Oswald-SemiBold.ttf').toCanvasString(20);
ctx.rotate(12.30 * (Math.PI / 180));
ctx.fillText(`#${hashtag}`, 200, 210);
ctx.rotate(-12.30 * (Math.PI / 180));
ctx.fillStyle = '#002046';
ctx.font = '27px Oswald SemiBold';
ctx.font = this.client.fonts.get('Oswald-SemiBold.ttf').toCanvasString(27);
const blueLines = await wrapText(ctx, blueText, 270);
ctx.fillText(blueLines.join('\n'), 207, 90);
ctx.fillStyle = '#c31a41';
+3 -7
View File
@@ -1,11 +1,7 @@
const Command = require('../../structures/Command');
const { createCanvas, loadImage, registerFont } = require('canvas');
const { createCanvas, loadImage } = require('canvas');
const request = require('node-superfetch');
const path = require('path');
const { shortenText, centerImagePart } = require('../../util/Canvas');
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'Noto-Regular.ttf'), { family: 'Noto' });
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'Noto-CJK.otf'), { family: 'Noto' });
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'Noto-Emoji.ttf'), { family: 'Noto' });
module.exports = class DemotivationalCommand extends Command {
constructor(client) {
@@ -70,10 +66,10 @@ module.exports = class DemotivationalCommand extends Command {
ctx.fillRect(x, y, width, height);
ctx.drawImage(data, x, y, width, height);
ctx.textAlign = 'center';
ctx.font = '60px Noto';
ctx.font = this.client.fonts.get('Noto-Regular.ttf').toCanvasString(60);
ctx.fillStyle = 'aquamarine';
ctx.fillText(shortenText(ctx, title, 610), 375, 518);
ctx.font = '27px Noto';
ctx.font = this.client.fonts.get('Noto-Regular.ttf').toCanvasString(27);
ctx.fillStyle = 'white';
ctx.fillText(shortenText(ctx, text, 610), 375, 565);
return msg.say({ files: [{ attachment: canvas.toBuffer(), name: 'demotivational-poster.png' }] });
+5 -8
View File
@@ -1,10 +1,7 @@
const Command = require('../../structures/Command');
const { createCanvas, loadImage, registerFont } = require('canvas');
const { createCanvas, loadImage } = require('canvas');
const path = require('path');
const { wrapText } = require('../../util/Canvas');
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'Noto-Regular.ttf'), { family: 'Noto' });
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'Noto-CJK.otf'), { family: 'Noto' });
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'Noto-Emoji.ttf'), { family: 'Noto' });
module.exports = class DrakepostingCommand extends Command {
constructor(client) {
@@ -58,11 +55,11 @@ module.exports = class DrakepostingCommand extends Command {
ctx.drawImage(base, 0, 0);
ctx.textAlign = 'center';
ctx.textBaseline = 'top';
ctx.font = '50px Noto';
ctx.font = this.client.fonts.get('Noto-Regular.ttf').toCanvasString(50);
let fontSize = 50;
while (ctx.measureText(nah).width > 3003) {
fontSize--;
ctx.font = `${fontSize}px Noto`;
ctx.font = this.client.fonts.get('Noto-Regular.ttf').toCanvasString(fontSize);
}
const nahLines = await wrapText(ctx, nah, 462);
const nahTopMost = 256 - (((fontSize * nahLines.length) / 2) + ((10 * (nahLines.length - 1)) / 2));
@@ -70,11 +67,11 @@ module.exports = class DrakepostingCommand extends Command {
const height = nahTopMost + ((fontSize + 10) * i);
ctx.fillText(nahLines[i], 768, height);
}
ctx.font = '50px Noto';
ctx.font = this.client.fonts.get('Noto-Regular.ttf').toCanvasString(50);
fontSize = 50;
while (ctx.measureText(yeah).width > 3003) {
fontSize--;
ctx.font = `${fontSize}px Noto`;
ctx.font = this.client.fonts.get('Noto-Regular.ttf').toCanvasString(fontSize);
}
const yeahLines = await wrapText(ctx, yeah, 462);
const yeahTopMost = 768 - (((fontSize * yeahLines.length) / 2) + ((10 * (yeahLines.length - 1)) / 2));
+3 -6
View File
@@ -1,10 +1,7 @@
const Command = require('../../structures/Command');
const { createCanvas, loadImage, registerFont } = require('canvas');
const { createCanvas, loadImage } = require('canvas');
const path = require('path');
const { wrapText } = require('../../util/Canvas');
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'Noto-Regular.ttf'), { family: 'Noto' });
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'Noto-CJK.otf'), { family: 'Noto' });
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'Noto-Emoji.ttf'), { family: 'Noto' });
module.exports = class EddFactsBookCommand extends Command {
constructor(client) {
@@ -51,11 +48,11 @@ module.exports = class EddFactsBookCommand extends Command {
ctx.textBaseline = 'top';
ctx.drawImage(base, 0, 0);
ctx.rotate(15 * (Math.PI / 180));
ctx.font = '30px Noto';
ctx.font = this.client.fonts.get('Noto-Regular.ttf').toCanvasString(30);
let fontSize = 30;
while (ctx.measureText(fact).width > 458) {
fontSize--;
ctx.font = `${fontSize}px Noto`;
ctx.font = this.client.fonts.get('Noto-Regular.ttf').toCanvasString(fontSize);
}
const lines = await wrapText(ctx, fact, 183);
ctx.fillText(lines.join('\n'), 119, 306, 183);
+2 -5
View File
@@ -1,11 +1,8 @@
const Command = require('../../structures/Command');
const { createCanvas, loadImage, registerFont } = require('canvas');
const { createCanvas, loadImage } = require('canvas');
const request = require('node-superfetch');
const path = require('path');
const { centerImagePart } = require('../../util/Canvas');
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'Noto-Regular.ttf'), { family: 'Noto' });
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'Noto-CJK.otf'), { family: 'Noto' });
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'Noto-Emoji.ttf'), { family: 'Noto' });
module.exports = class EnslavedCommand extends Command {
constructor(client) {
@@ -58,7 +55,7 @@ module.exports = class EnslavedCommand extends Command {
ctx.textBaseline = 'top';
ctx.textAlign = 'center';
ctx.fillStyle = 'white';
ctx.font = '50px Noto';
ctx.font = this.client.fonts.get('Noto-Regular.ttf').toCanvasString(50);
ctx.fillText(name.toLowerCase(), 365, 400, 240);
return msg.say({ files: [{ attachment: canvas.toBuffer(), name: 'enslaved.png' }] });
} catch (err) {
+3 -6
View File
@@ -1,10 +1,7 @@
const Command = require('../../structures/Command');
const { createCanvas, loadImage, registerFont } = require('canvas');
const { createCanvas, loadImage } = require('canvas');
const path = require('path');
const { wrapText } = require('../../util/Canvas');
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'Noto-Regular.ttf'), { family: 'Noto' });
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'Noto-CJK.otf'), { family: 'Noto' });
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'Noto-Emoji.ttf'), { family: 'Noto' });
module.exports = class GenieRulesCommand extends Command {
constructor(client) {
@@ -52,11 +49,11 @@ module.exports = class GenieRulesCommand extends Command {
ctx.drawImage(base, 0, 0);
ctx.textAlign = 'center';
ctx.textBaseline = 'top';
ctx.font = '40px Noto';
ctx.font = this.client.fonts.get('Noto-Regular.ttf').toCanvasString(40);
let fontSize = 40;
while (ctx.measureText(text).width > 1143) {
fontSize--;
ctx.font = `${fontSize}px Noto`;
ctx.font = this.client.fonts.get('Noto-Regular.ttf').toCanvasString(fontSize);
}
const lines = await wrapText(ctx, text, 381);
const topMost = 580 - (((fontSize * lines.length) / 2) + ((20 * (lines.length - 1)) / 2));
+3 -6
View File
@@ -1,10 +1,7 @@
const Command = require('../../structures/Command');
const { createCanvas, loadImage, registerFont } = require('canvas');
const { createCanvas, loadImage } = require('canvas');
const path = require('path');
const { wrapText } = require('../../util/Canvas');
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'Noto-Regular.ttf'), { family: 'Noto' });
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'Noto-CJK.otf'), { family: 'Noto' });
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'Noto-Emoji.ttf'), { family: 'Noto' });
const coord = [[450, 129], [1200, 134], [450, 627], [1200, 627]];
module.exports = class GruPlanCommand extends Command {
@@ -70,12 +67,12 @@ module.exports = class GruPlanCommand extends Command {
ctx.textBaseline = 'top';
let i = 0;
for (const [x, y] of coord) {
ctx.font = '35px Noto';
ctx.font = this.client.fonts.get('Noto-Regular.ttf').toCanvasString(35);
const step = steps[i];
let fontSize = 35;
while (ctx.measureText(step).width > 1100) {
fontSize--;
ctx.font = `${fontSize}px Noto`;
ctx.font = this.client.fonts.get('Noto-Regular.ttf').toCanvasString(fontSize);
}
const lines = await wrapText(ctx, step, 252);
ctx.fillText(lines.join('\n'), x, y);
@@ -1,10 +1,7 @@
const Command = require('../../structures/Command');
const { createCanvas, loadImage, registerFont } = require('canvas');
const { createCanvas, loadImage } = require('canvas');
const path = require('path');
const { wrapText } = require('../../util/Canvas');
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'Noto-Regular.ttf'), { family: 'Noto' });
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'Noto-CJK.otf'), { family: 'Noto' });
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'Noto-Emoji.ttf'), { family: 'Noto' });
module.exports = class IfThoseKidsCouldReadCommand extends Command {
constructor(client) {
@@ -50,11 +47,11 @@ module.exports = class IfThoseKidsCouldReadCommand extends Command {
ctx.drawImage(base, 0, 0);
ctx.textAlign = 'center';
ctx.textBaseline = 'top';
ctx.font = '40px Noto';
ctx.font = this.client.fonts.get('Noto-Regular.ttf').toCanvasString(40);
let fontSize = 40;
while (ctx.measureText(text).width > 560) {
fontSize--;
ctx.font = `${fontSize}px Noto`;
ctx.font = this.client.fonts.get('Noto-Regular.ttf').toCanvasString(fontSize);
}
const lines = await wrapText(ctx, text, 160);
const topMost = 140 - (((fontSize * lines.length) / 2) + ((20 * (lines.length - 1)) / 2));
+3 -6
View File
@@ -1,10 +1,7 @@
const Command = require('../../structures/Command');
const { createCanvas, loadImage, registerFont } = require('canvas');
const { createCanvas, loadImage } = require('canvas');
const path = require('path');
const { wrapText } = require('../../util/Canvas');
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'Noto-Regular.ttf'), { family: 'Noto' });
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'Noto-CJK.otf'), { family: 'Noto' });
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'Noto-Emoji.ttf'), { family: 'Noto' });
module.exports = class LisaPresentationCommand extends Command {
constructor(client) {
@@ -51,11 +48,11 @@ module.exports = class LisaPresentationCommand extends Command {
ctx.drawImage(base, 0, 0);
ctx.textAlign = 'center';
ctx.textBaseline = 'top';
ctx.font = '40px Noto';
ctx.font = this.client.fonts.get('Noto-Regular.ttf').toCanvasString(40);
let fontSize = 40;
while (ctx.measureText(text).width > 1320) {
fontSize--;
ctx.font = `${fontSize}px Noto`;
ctx.font = this.client.fonts.get('Noto-Regular.ttf').toCanvasString(fontSize);
}
const lines = await wrapText(ctx, text, 330);
const topMost = 185 - (((fontSize * lines.length) / 2) + ((20 * (lines.length - 1)) / 2));
+6 -9
View File
@@ -1,10 +1,7 @@
const Command = require('../../structures/Command');
const { createCanvas, loadImage, registerFont } = require('canvas');
const { createCanvas, loadImage } = require('canvas');
const path = require('path');
const { wrapText } = require('../../util/Canvas');
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'Noto-Regular.ttf'), { family: 'Noto' });
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'Noto-CJK.otf'), { family: 'Noto' });
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'Noto-Emoji.ttf'), { family: 'Noto' });
module.exports = class MarioBrosViewsCommand extends Command {
constructor(client) {
@@ -63,14 +60,14 @@ module.exports = class MarioBrosViewsCommand extends Command {
ctx.drawImage(base, 0, 0);
ctx.textBaseline = 'top';
ctx.textAlign = 'center';
ctx.font = '47px Noto';
ctx.font = this.client.fonts.get('Noto-Regular.ttf').toCanvasString(47);
ctx.fillText(thing, 420, 108, 180);
ctx.fillStyle = 'white';
ctx.font = '36px Noto';
ctx.font = this.client.fonts.get('Noto-Regular.ttf').toCanvasString(36);
let fontSize = 36;
while (ctx.measureText(mario).width > 800) {
fontSize--;
ctx.font = `${fontSize}px Noto`;
ctx.font = this.client.fonts.get('Noto-Regular.ttf').toCanvasString(fontSize);
}
const marioLines = await wrapText(ctx, mario, 200);
const marioTopMost = 450 - (((fontSize * marioLines.length) / 2) + ((20 * (marioLines.length - 1)) / 2));
@@ -81,11 +78,11 @@ module.exports = class MarioBrosViewsCommand extends Command {
ctx.strokeText(marioLines[i], 205, height);
ctx.fillText(marioLines[i], 205, height);
}
ctx.font = '36px Noto';
ctx.font = this.client.fonts.get('Noto-Regular.ttf').toCanvasString(36);
fontSize = 36;
while (ctx.measureText(luigi).width > 800) {
fontSize--;
ctx.font = `${fontSize}px Noto`;
ctx.font = this.client.fonts.get('Noto-Regular.ttf').toCanvasString(fontSize);
}
const luigiLines = await wrapText(ctx, luigi, 200);
const luigiTopMost = 450 - (((fontSize * luigiLines.length) / 2) + ((20 * (luigiLines.length - 1)) / 2));
+2 -4
View File
@@ -1,9 +1,7 @@
const Command = require('../../structures/Command');
const { createCanvas, loadImage, registerFont } = require('canvas');
const { createCanvas, loadImage } = require('canvas');
const request = require('node-superfetch');
const path = require('path');
const { wrapText } = require('../../util/Canvas');
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'Impact.ttf'), { family: 'Impact' });
module.exports = class MemeGenClassicCommand extends Command {
constructor(client) {
@@ -70,7 +68,7 @@ module.exports = class MemeGenClassicCommand extends Command {
const ctx = canvas.getContext('2d');
ctx.drawImage(base, 0, 0);
const fontSize = Math.round(base.height / 10);
ctx.font = `${fontSize}px Impact`;
ctx.font = this.client.fonts.get('Impact.ttf').toCanvasString(fontSize);
ctx.fillStyle = 'white';
ctx.textAlign = 'center';
ctx.textBaseline = 'top';
+3 -7
View File
@@ -1,11 +1,7 @@
const Command = require('../../structures/Command');
const { createCanvas, loadImage, registerFont } = require('canvas');
const { createCanvas, loadImage } = require('canvas');
const request = require('node-superfetch');
const path = require('path');
const { wrapText } = require('../../util/Canvas');
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'Noto-Regular.ttf'), { family: 'Noto' });
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'Noto-CJK.otf'), { family: 'Noto' });
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'Noto-Emoji.ttf'), { family: 'Noto' });
module.exports = class MemeGenModernCommand extends Command {
constructor(client) {
@@ -66,7 +62,7 @@ module.exports = class MemeGenModernCommand extends Command {
const base = await loadImage(body);
const canvas = createCanvas(base.width, base.height);
const ctx = canvas.getContext('2d');
ctx.font = '40px Noto';
ctx.font = this.client.fonts.get('Noto-Regular.ttf').toCanvasString(40);
const lines = await wrapText(ctx, text, base.width - 10);
const lineBreakLen = text.split('\n').length;
const linesLen = (40 * lines.length)
@@ -75,7 +71,7 @@ module.exports = class MemeGenModernCommand extends Command {
+ (14 * (lineBreakLen - 1))
+ 14;
canvas.height += linesLen;
ctx.font = '40px Noto';
ctx.font = this.client.fonts.get('Noto-Regular.ttf').toCanvasString(40);
ctx.textBaseline = 'top';
ctx.fillStyle = 'white';
ctx.fillRect(0, 0, base.width, linesLen);
+2 -5
View File
@@ -1,11 +1,8 @@
const Command = require('../../structures/Command');
const { createCanvas, loadImage, registerFont } = require('canvas');
const { createCanvas, loadImage } = require('canvas');
const request = require('node-superfetch');
const path = require('path');
const { centerImagePart } = require('../../util/Canvas');
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'Noto-Regular.ttf'), { family: 'Noto' });
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'Noto-CJK.otf'), { family: 'Noto' });
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'Noto-Emoji.ttf'), { family: 'Noto' });
module.exports = class MetamorphosisCommand extends Command {
constructor(client) {
@@ -62,7 +59,7 @@ module.exports = class MetamorphosisCommand extends Command {
const { x, y, width, height } = centerImagePart(data, 200, 200, 412, 257);
ctx.drawImage(data, x, y, width, height);
ctx.textBaseline = 'top';
ctx.font = '20px Noto';
ctx.font = this.client.fonts.get('Noto-Regular.ttf').toCanvasString(20);
ctx.fillText(`le ${name.toLowerCase()}`, 345, 466, 330);
return msg.say({ files: [{ attachment: canvas.toBuffer(), name: 'metamorphosis.png' }] });
} catch (err) {
+2 -5
View File
@@ -1,10 +1,7 @@
const Command = require('../../structures/Command');
const { createCanvas, loadImage, registerFont } = require('canvas');
const { createCanvas, loadImage } = require('canvas');
const path = require('path');
const { shortenText } = require('../../util/Canvas');
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'Noto-Regular.ttf'), { family: 'Noto' });
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'Noto-CJK.otf'), { family: 'Noto' });
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'Noto-Emoji.ttf'), { family: 'Noto' });
module.exports = class NewPasswordCommand extends Command {
constructor(client) {
@@ -49,7 +46,7 @@ module.exports = class NewPasswordCommand extends Command {
const canvas = createCanvas(base.width, base.height);
const ctx = canvas.getContext('2d');
ctx.drawImage(base, 0, 0);
ctx.font = '60px Noto';
ctx.font = this.client.fonts.get('Noto-Regular.ttf').toCanvasString(60);
ctx.fillText(shortenText(ctx, weak, 780), 70, 191);
ctx.fillText(shortenText(ctx, strong, 780), 70, 667);
return msg.say({ files: [{ attachment: canvas.toBuffer(), name: 'new-password.png' }] });
+2 -5
View File
@@ -1,11 +1,8 @@
const Command = require('../../structures/Command');
const { createCanvas, loadImage, registerFont } = require('canvas');
const { createCanvas, loadImage } = require('canvas');
const request = require('node-superfetch');
const path = require('path');
const { wrapText, greyscale, drawImageWithTint } = require('../../util/Canvas');
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'Noto-Regular.ttf'), { family: 'Noto' });
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'Noto-CJK.otf'), { family: 'Noto' });
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'Noto-Emoji.ttf'), { family: 'Noto' });
module.exports = class NikeAdCommand extends Command {
constructor(client) {
@@ -70,7 +67,7 @@ module.exports = class NikeAdCommand extends Command {
const height = Math.round(width / ratio);
ctx.drawImage(base, (data.width / 2) - (width / 2), data.height - height, width, height);
const fontSize = Math.round(data.height / 25);
ctx.font = `${fontSize}px Noto`;
ctx.font = this.client.fonts.get('Noto-Regular.ttf').toCanvasString(fontSize);
ctx.fillStyle = 'white';
ctx.textAlign = 'center';
const lines = await wrapText(ctx, `Believe in ${something}. Even if it means ${sacrifice}.`, data.width - 20);
+7 -10
View File
@@ -1,10 +1,7 @@
const Command = require('../../structures/Command');
const { createCanvas, loadImage, registerFont } = require('canvas');
const { createCanvas, loadImage } = require('canvas');
const path = require('path');
const { wrapText } = require('../../util/Canvas');
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'Noto-Regular.ttf'), { family: 'Noto' });
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'Noto-CJK.otf'), { family: 'Noto' });
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'Noto-Emoji.ttf'), { family: 'Noto' });
module.exports = class PanikKalmPanikCommand extends Command {
constructor(client) {
@@ -59,11 +56,11 @@ module.exports = class PanikKalmPanikCommand extends Command {
ctx.drawImage(base, 0, 0);
ctx.textAlign = 'center';
ctx.textBaseline = 'top';
ctx.font = '40px Noto';
ctx.font = this.client.fonts.get('Noto-Regular.ttf').toCanvasString(40);
let fontSize = 40;
while (ctx.measureText(panik).width > 1136) {
fontSize--;
ctx.font = `${fontSize}px Noto`;
ctx.font = this.client.fonts.get('Noto-Regular.ttf').toCanvasString(fontSize);
}
const panikLines = await wrapText(ctx, panik, 284);
const panikTopMost = 130 - (((fontSize * panikLines.length) / 2) + ((10 * (panikLines.length - 1)) / 2));
@@ -71,11 +68,11 @@ module.exports = class PanikKalmPanikCommand extends Command {
const height = panikTopMost + ((fontSize + 10) * i);
ctx.fillText(panikLines[i], 150, height);
}
ctx.font = '40px Noto';
ctx.font = this.client.fonts.get('Noto-Regular.ttf').toCanvasString(40);
fontSize = 40;
while (ctx.measureText(kalm).width > 1136) {
fontSize--;
ctx.font = `${fontSize}px Noto`;
ctx.font = this.client.fonts.get('Noto-Regular.ttf').toCanvasString(fontSize);
}
const kalmLines = await wrapText(ctx, kalm, 284);
const kalmTopMost = 430 - (((fontSize * kalmLines.length) / 2) + ((10 * (kalmLines.length - 1)) / 2));
@@ -83,11 +80,11 @@ module.exports = class PanikKalmPanikCommand extends Command {
const height = kalmTopMost + ((fontSize + 10) * i);
ctx.fillText(kalmLines[i], 150, height);
}
ctx.font = '40px Noto';
ctx.font = this.client.fonts.get('Noto-Regular.ttf').toCanvasString(40);
fontSize = 40;
while (ctx.measureText(panik2).width > 1136) {
fontSize--;
ctx.font = `${fontSize}px Noto`;
ctx.font = this.client.fonts.get('Noto-Regular.ttf').toCanvasString(fontSize);
}
const panik2Lines = await wrapText(ctx, panik2, 284);
const panik2TopMost = 730 - (((fontSize * panik2Lines.length) / 2) + ((10 * (panik2Lines.length - 1)) / 2));
+3 -6
View File
@@ -1,9 +1,6 @@
const Command = require('../../structures/Command');
const { createCanvas, loadImage, registerFont } = require('canvas');
const { createCanvas, loadImage } = require('canvas');
const path = require('path');
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'Noto-Regular.ttf'), { family: 'Noto' });
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'Noto-CJK.otf'), { family: 'Noto' });
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'Noto-Emoji.ttf'), { family: 'Noto' });
const coord = [
[[136, 135], [416, 135]],
[[136, 328], [416, 328]],
@@ -82,13 +79,13 @@ module.exports = class PhoebeTeachingJoeyCommand extends Command {
for (const coords of coord) {
let j = 0;
for (const [x, y] of coords) {
ctx.font = '20px Noto';
ctx.font = this.client.fonts.get('Noto-Regular.ttf').toCanvasString(20);
let step = steps[i];
if (step === incorrect && j === 0) step = correct.join(' ');
let fontSize = 20;
while (ctx.measureText(step).width > 260) {
fontSize--;
ctx.font = `${fontSize}px Noto`;
ctx.font = this.client.fonts.get('Noto-Regular.ttf').toCanvasString(fontSize);
}
ctx.strokeText(step, x, y, 260);
ctx.fillText(step, x, y, 260);
+3 -6
View File
@@ -1,10 +1,7 @@
const Command = require('../../structures/Command');
const { createCanvas, loadImage, registerFont } = require('canvas');
const { createCanvas, loadImage } = require('canvas');
const path = require('path');
const { wrapText } = require('../../util/Canvas');
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'Noto-Regular.ttf'), { family: 'Noto' });
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'Noto-CJK.otf'), { family: 'Noto' });
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'Noto-Emoji.ttf'), { family: 'Noto' });
module.exports = class PillsCommand extends Command {
constructor(client) {
@@ -45,11 +42,11 @@ module.exports = class PillsCommand extends Command {
ctx.drawImage(base, 0, 0);
ctx.textAlign = 'center';
ctx.textBaseline = 'top';
ctx.font = '32px Noto';
ctx.font = this.client.fonts.get('Noto-Regular.ttf').toCanvasString(32);
let fontSize = 32;
while (ctx.measureText(text).width > 1260) {
fontSize--;
ctx.font = `${fontSize}px Noto`;
ctx.font = this.client.fonts.get('Noto-Regular.ttf').toCanvasString(fontSize);
}
const lines = await wrapText(ctx, text, 280);
const topMost = 455 - (((fontSize * lines.length) / 2) + ((10 * (lines.length - 1)) / 2));
+3 -6
View File
@@ -1,10 +1,7 @@
const Command = require('../../structures/Command');
const { createCanvas, loadImage, registerFont } = require('canvas');
const { createCanvas, loadImage } = require('canvas');
const path = require('path');
const { wrapText } = require('../../util/Canvas');
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'Noto-Regular.ttf'), { family: 'Noto' });
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'Noto-CJK.otf'), { family: 'Noto' });
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'Noto-Emoji.ttf'), { family: 'Noto' });
const coord = [[240, 63], [689, 63], [705, 383], [220, 380]];
module.exports = class PlanktonPlanCommand extends Command {
@@ -70,12 +67,12 @@ module.exports = class PlanktonPlanCommand extends Command {
ctx.textBaseline = 'top';
let i = 0;
for (const [x, y] of coord) {
ctx.font = '35px Noto';
ctx.font = this.client.fonts.get('Noto-Regular.ttf').toCanvasString(35);
const step = steps[i];
let fontSize = 35;
while (ctx.measureText(step).width > 420) {
fontSize--;
ctx.font = `${fontSize}px Noto`;
ctx.font = this.client.fonts.get('Noto-Regular.ttf').toCanvasString(fontSize);
}
const lines = await wrapText(ctx, step, 155);
ctx.fillText(lines.join('\n'), x, y);
+3 -6
View File
@@ -1,10 +1,7 @@
const Command = require('../../structures/Command');
const { createCanvas, loadImage, registerFont } = require('canvas');
const { createCanvas, loadImage } = require('canvas');
const path = require('path');
const { wrapText } = require('../../util/Canvas');
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'Noto-Regular.ttf'), { family: 'Noto' });
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'Noto-CJK.otf'), { family: 'Noto' });
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'Noto-Emoji.ttf'), { family: 'Noto' });
module.exports = class ScrollOfTruthCommand extends Command {
constructor(client) {
@@ -51,11 +48,11 @@ module.exports = class ScrollOfTruthCommand extends Command {
ctx.drawImage(base, 0, 0);
ctx.textAlign = 'center';
ctx.textBaseline = 'top';
ctx.font = '60px Noto';
ctx.font = this.client.fonts.get('Noto-Regular.ttf').toCanvasString(60);
let fontSize = 60;
while (ctx.measureText(text).width > 542) {
fontSize--;
ctx.font = `${fontSize}px Noto`;
ctx.font = this.client.fonts.get('Noto-Regular.ttf').toCanvasString(fontSize);
}
const lines = await wrapText(ctx, text, 217);
const topMost = 850 - (((fontSize * lines.length) / 2) + ((20 * (lines.length - 1)) / 2));
+2 -3
View File
@@ -1,8 +1,7 @@
const Command = require('../../structures/Command');
const { createCanvas, loadImage, registerFont } = require('canvas');
const { createCanvas, loadImage } = require('canvas');
const request = require('node-superfetch');
const path = require('path');
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'Futura Condensed.ttf'), { family: 'Futura' });
module.exports = class SkyrimSkillCommand extends Command {
constructor(client) {
@@ -60,7 +59,7 @@ module.exports = class SkyrimSkillCommand extends Command {
const ctx = canvas.getContext('2d');
ctx.drawImage(base, 0, 0, plate.width, height);
ctx.drawImage(plate, 0, height + 1);
ctx.font = '77px Futura';
ctx.font = this.client.fonts.get('Futura Condensed.ttf').toCanvasString(77);
ctx.textAlign = 'center';
ctx.textBaseline = 'top';
ctx.fillStyle = 'black';
+3 -6
View File
@@ -1,10 +1,7 @@
const Command = require('../../structures/Command');
const { createCanvas, loadImage, registerFont } = require('canvas');
const { createCanvas, loadImage } = require('canvas');
const path = require('path');
const { wrapText } = require('../../util/Canvas');
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'Noto-Regular.ttf'), { family: 'Noto' });
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'Noto-CJK.otf'), { family: 'Noto' });
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'Noto-Emoji.ttf'), { family: 'Noto' });
module.exports = class SonicSaysCommand extends Command {
constructor(client) {
@@ -50,11 +47,11 @@ module.exports = class SonicSaysCommand extends Command {
const ctx = canvas.getContext('2d');
ctx.textBaseline = 'top';
ctx.drawImage(base, 0, 0);
ctx.font = '24px Noto';
ctx.font = this.client.fonts.get('Noto-Regular.ttf').toCanvasString(24);
let fontSize = 24;
while (ctx.measureText(text).width > 648) {
fontSize--;
ctx.font = `${fontSize}px Noto`;
ctx.font = this.client.fonts.get('Noto-Regular.ttf').toCanvasString(fontSize);
}
const lines = await wrapText(ctx, text, 185);
ctx.fillStyle = 'white';
+3 -4
View File
@@ -1,7 +1,6 @@
const Command = require('../../structures/Command');
const { createCanvas, loadImage, registerFont } = require('canvas');
const { createCanvas, loadImage } = require('canvas');
const path = require('path');
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'SunDried.ttf'), { family: 'Sun Dried' });
module.exports = class SosCommand extends Command {
constructor(client) {
@@ -45,7 +44,7 @@ module.exports = class SosCommand extends Command {
const canvas = createCanvas(base.width, base.height);
const ctx = canvas.getContext('2d');
ctx.drawImage(base, 0, 0);
ctx.font = '90px Sun Dried';
ctx.font = this.client.fonts.get('SunDried.ttf').toCanvasString(90);
ctx.fillStyle = 'black';
ctx.textAlign = 'center';
ctx.textBaseline = 'middle';
@@ -53,7 +52,7 @@ module.exports = class SosCommand extends Command {
let fontSize = 90;
while (ctx.measureText(message).width > 140) {
fontSize--;
ctx.font = `${fontSize}px Sun Dried`;
ctx.font = this.client.fonts.get('SunDried.ttf').toCanvasString(fontSize);
}
ctx.fillText(message.toUpperCase(), 362, 522);
ctx.rotate(-15 * (Math.PI / 180));
+5 -8
View File
@@ -1,10 +1,7 @@
const Command = require('../../structures/Command');
const { createCanvas, loadImage, registerFont } = require('canvas');
const { createCanvas, loadImage } = require('canvas');
const path = require('path');
const { wrapText } = require('../../util/Canvas');
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'Noto-Regular.ttf'), { family: 'Noto' });
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'Noto-CJK.otf'), { family: 'Noto' });
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'Noto-Emoji.ttf'), { family: 'Noto' });
module.exports = class SpidermanPointingCommand extends Command {
constructor(client) {
@@ -57,12 +54,12 @@ module.exports = class SpidermanPointingCommand extends Command {
ctx.drawImage(base, 0, 0);
ctx.textAlign = 'center';
ctx.textBaseline = 'top';
ctx.font = '50px Noto';
ctx.font = this.client.fonts.get('Noto-Regular.ttf').toCanvasString(50);
ctx.fillStyle = 'white';
let fontSize = 50;
while (ctx.measureText(first).width > 725) {
fontSize--;
ctx.font = `${fontSize}px Noto`;
ctx.font = this.client.fonts.get('Noto-Regular.ttf').toCanvasString(fontSize);
}
const lines = await wrapText(ctx, first, 290);
const topMost = 189 - (((fontSize * lines.length) / 2) + ((10 * (lines.length - 1)) / 2));
@@ -73,11 +70,11 @@ module.exports = class SpidermanPointingCommand extends Command {
ctx.strokeText(lines[i], 222, height);
ctx.fillText(lines[i], 222, height);
}
ctx.font = '50px Noto';
ctx.font = this.client.fonts.get('Noto-Regular.ttf').toCanvasString(50);
fontSize = 50;
while (ctx.measureText(second).width > 725) {
fontSize--;
ctx.font = `${fontSize}px Noto`;
ctx.font = this.client.fonts.get('Noto-Regular.ttf').toCanvasString(fontSize);
}
const lines2 = await wrapText(ctx, second, 290);
const topMost2 = 190 - (((fontSize * lines2.length) / 2) + ((10 * (lines2.length - 1)) / 2));
+5 -8
View File
@@ -1,10 +1,7 @@
const Command = require('../../structures/Command');
const { createCanvas, loadImage, registerFont } = require('canvas');
const { createCanvas, loadImage } = require('canvas');
const path = require('path');
const { wrapText } = require('../../util/Canvas');
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'Noto-Regular.ttf'), { family: 'Noto' });
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'Noto-CJK.otf'), { family: 'Noto' });
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'Noto-Emoji.ttf'), { family: 'Noto' });
module.exports = class SpongebobBurnCommand extends Command {
constructor(client) {
@@ -58,17 +55,17 @@ module.exports = class SpongebobBurnCommand extends Command {
ctx.drawImage(base, 0, 0);
ctx.fillStyle = 'black';
ctx.textBaseline = 'top';
ctx.font = '35px Noto';
ctx.font = this.client.fonts.get('Noto-Regular.ttf').toCanvasString(35);
let fontSize = 35;
while (ctx.measureText(burn).width > 400) {
fontSize--;
ctx.font = `${fontSize}px Noto`;
ctx.font = this.client.fonts.get('Noto-Regular.ttf').toCanvasString(fontSize);
}
const lines = await wrapText(ctx, burn, 180);
ctx.fillText(lines.join('\n'), 55, 103);
ctx.font = '25px Noto';
ctx.font = this.client.fonts.get('Noto-Regular.ttf').toCanvasString(25);
ctx.fillText(person, 382, 26);
ctx.font = '20px Noto';
ctx.font = this.client.fonts.get('Noto-Regular.ttf').toCanvasString(20);
ctx.fillText(person, 119, 405);
ctx.fillText(person, 439, 434);
return msg.say({ files: [{ attachment: canvas.toBuffer(), name: 'spongebob-burn.png' }] });
+5 -6
View File
@@ -1,8 +1,7 @@
const Command = require('../../structures/Command');
const { createCanvas, loadImage, registerFont } = require('canvas');
const { createCanvas, loadImage } = require('canvas');
const path = require('path');
const { wrapText } = require('../../util/Canvas');
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'TragicMarker.otf'), { family: 'Tragic Marker' });
module.exports = class ThatSignWontStopMeCommand extends Command {
constructor(client) {
@@ -49,11 +48,11 @@ module.exports = class ThatSignWontStopMeCommand extends Command {
ctx.drawImage(base, 0, 0);
ctx.textAlign = 'center';
ctx.textBaseline = 'top';
ctx.font = '62px Tragic Marker';
ctx.font = this.client.fonts.get('TragicMarker.otf').toCanvasString(62);
let fontSize = 62;
while (ctx.measureText(text).width > 1002) {
fontSize--;
ctx.font = `${fontSize}px Tragic Marker`;
ctx.font = this.client.fonts.get('TragicMarker.otf').toCanvasString(fontSize);
}
const lines = await wrapText(ctx, text, 334);
const topMost = 240 - (((fontSize * lines.length) / 2) + ((10 * (lines.length - 1)) / 2));
@@ -61,11 +60,11 @@ module.exports = class ThatSignWontStopMeCommand extends Command {
const height = topMost + ((fontSize + 10) * i);
ctx.fillText(lines[i], 210, height);
}
ctx.font = '16px Tragic Marker';
ctx.font = this.client.fonts.get('TragicMarker.otf').toCanvasString(16);
fontSize = 16;
while (ctx.measureText(text).width > 264) {
fontSize--;
ctx.font = `${fontSize}px Tragic Marker`;
ctx.font = this.client.fonts.get('TragicMarker.otf').toCanvasString(fontSize);
}
const bLines = await wrapText(ctx, text, 88);
const bTopMost = 645 - (((fontSize * bLines.length) / 2) + ((2 * (bLines.length - 1)) / 2));
+5 -8
View File
@@ -1,10 +1,7 @@
const Command = require('../../structures/Command');
const { createCanvas, loadImage, registerFont } = require('canvas');
const { createCanvas, loadImage } = require('canvas');
const path = require('path');
const { wrapText } = require('../../util/Canvas');
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'Noto-Regular.ttf'), { family: 'Noto' });
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'Noto-CJK.otf'), { family: 'Noto' });
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'Noto-Emoji.ttf'), { family: 'Noto' });
module.exports = class TuxedoPoohCommand extends Command {
constructor(client) {
@@ -58,11 +55,11 @@ module.exports = class TuxedoPoohCommand extends Command {
ctx.drawImage(base, 0, 0);
ctx.textAlign = 'center';
ctx.textBaseline = 'top';
ctx.font = '50px Noto';
ctx.font = this.client.fonts.get('Noto-Regular.ttf').toCanvasString(50);
let fontSize = 50;
while (ctx.measureText(normal).width > 1320) {
fontSize--;
ctx.font = `${fontSize}px Noto`;
ctx.font = this.client.fonts.get('Noto-Regular.ttf').toCanvasString(fontSize);
}
const normalLines = await wrapText(ctx, normal, 440);
const normalTopMost = 145 - (((fontSize * normalLines.length) / 2) + ((10 * (normalLines.length - 1)) / 2));
@@ -70,11 +67,11 @@ module.exports = class TuxedoPoohCommand extends Command {
const height = normalTopMost + ((fontSize + 10) * i);
ctx.fillText(normalLines[i], 570, height);
}
ctx.font = '50px Noto';
ctx.font = this.client.fonts.get('Noto-Regular.ttf').toCanvasString(50);
fontSize = 50;
while (ctx.measureText(tuxedo).width > 1320) {
fontSize--;
ctx.font = `${fontSize}px Noto`;
ctx.font = this.client.fonts.get('Noto-Regular.ttf').toCanvasString(fontSize);
}
const tuxedoLines = await wrapText(ctx, tuxedo, 440);
const tuxedoTopMost = 436 - (((fontSize * tuxedoLines.length) / 2) + ((10 * (tuxedoLines.length - 1)) / 2));
+5 -8
View File
@@ -1,10 +1,7 @@
const Command = require('../../structures/Command');
const { createCanvas, loadImage, registerFont } = require('canvas');
const { createCanvas, loadImage } = require('canvas');
const path = require('path');
const { wrapText } = require('../../util/Canvas');
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'Noto-Regular.ttf'), { family: 'Noto' });
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'Noto-CJK.otf'), { family: 'Noto' });
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'Noto-Emoji.ttf'), { family: 'Noto' });
module.exports = class TwoButtonsCommand extends Command {
constructor(client) {
@@ -57,11 +54,11 @@ module.exports = class TwoButtonsCommand extends Command {
ctx.textBaseline = 'top';
ctx.drawImage(base, 0, 0);
ctx.rotate(-12 * (Math.PI / 180));
ctx.font = '34px Noto';
ctx.font = this.client.fonts.get('Noto-Regular.ttf').toCanvasString(34);
let fontSize = 34;
while (ctx.measureText(first).width > 366) {
fontSize--;
ctx.font = `${fontSize}px Noto`;
ctx.font = this.client.fonts.get('Noto-Regular.ttf').toCanvasString(fontSize);
}
const firstLines = await wrapText(ctx, first, 183);
let lineOffset = 0;
@@ -69,11 +66,11 @@ module.exports = class TwoButtonsCommand extends Command {
ctx.fillText(firstLines[i], 25 + lineOffset, 116 + (fontSize * i) + (10 * i), 183);
lineOffset += 5;
}
ctx.font = '34px Noto';
ctx.font = this.client.fonts.get('Noto-Regular.ttf').toCanvasString(34);
fontSize = 34;
while (ctx.measureText(second).width > 244) {
fontSize--;
ctx.font = `${fontSize}px Noto`;
ctx.font = this.client.fonts.get('Noto-Regular.ttf').toCanvasString(fontSize);
}
const secondLines = await wrapText(ctx, second, 118);
lineOffset = 0;