UNPKG

led-canvas-text

Version:

Generate text matrices compatible with led-canvas

34 lines (24 loc) 959 B
"use strict"; var LedCanvasMatrix = require("led-canvas-matrix"); var LedCanvasText = function LedCanvasText(str, font, ledFactory) { var matrices = []; str.split("").forEach(function (character) { var fontCharacter = font.chars[character]; var lineHeight = font.meta.lineHeight; if (!fontCharacter) { return matrices.push(new LedCanvasMatrix(0, 0, 4, lineHeight, ledFactory)); } var charWidth = fontCharacter.width || font.meta.charWidth; var pixelOffset = fontCharacter.offset || 0; var matrix = new LedCanvasMatrix(0, 0, charWidth, lineHeight, ledFactory); fontCharacter.data.forEach(function (pixel) { matrix.index(pixel + pixelOffset).set(true); }); matrices.push(matrix); matrices.push(new LedCanvasMatrix(0, 0, font.meta.charSpacing, lineHeight, ledFactory)); }); return matrices.reduce(function (base, next) { return base.add(next); }); }; module.exports = LedCanvasText;