painbrush
1.0.21.1.0
dist/src-packer/pipeline.js−
dist/src-packer/pipeline.jsDeleted−77
Index: package/dist/src-packer/pipeline.js
===================================================================
--- package/dist/src-packer/pipeline.js
+++ package/dist/src-packer/pipeline.js
@@ -1,77 +0,0 @@
-import path from "path/posix";
-import { decode } from "fast-bmp";
-import { solidFillBrush } from "../src/color.js";
-import { toImage } from "../src/image.js";
-import { padLayer, makeTextLayer, overlayLayerOver, makeRectangleLayer, } from "../src/layer.js";
-import { useFont } from "../src/typography.js";
-export const generateCharacters = async ({ img, fontMeta, }) => {
- const { metrics } = fontMeta;
- const data = decode(img);
- const rawCharacters = [[]];
- const colspan = fontMeta.cols * metrics.width;
- data.data.forEach((item, index) => {
- const pixelX = index % colspan;
- const pixelY = ~~(index / colspan);
- const charX = ~~(pixelX / metrics.width);
- const charY = ~~(pixelY / metrics.height);
- const charXPixelOffset = pixelX - charX * metrics.width;
- const charYPixelOffset = pixelY - charY * metrics.height;
- const charPos = charX + charY * fontMeta.cols;
- if (!rawCharacters[charPos]) {
- rawCharacters[charPos] = [];
- }
- const charPixelPos = charXPixelOffset + charYPixelOffset * metrics.width;
- rawCharacters[charPos][charPixelPos] = item;
- });
- const alphabet = fontMeta.alphabet.join("");
- return rawCharacters.map((char, index) => {
- const letter = alphabet[index];
- const maybeTrim = fontMeta.trim[letter] ?? fontMeta.trim["__DEFAULT__"];
- if (!maybeTrim) {
- return [metrics.width, char];
- }
- let newChar = [];
- for (let i = 0; i < char.length; i++) {
- const pos = i % metrics.width;
- if (pos < metrics.width - maybeTrim) {
- newChar.push(char[i]);
- }
- }
- return [metrics.width - maybeTrim, newChar];
- });
-};
-export const generatePxFontFile = (characters, { fontName, fontMeta, cwd, outDir }) => {
- const fontFileAt = path.join(cwd, outDir, fontName + ".pxfont");
- const alphabet = fontMeta.alphabet.join("");
- const metrics = fontMeta.metrics;
- return [
- fontFileAt,
- JSON.stringify({
- metrics,
- alphabet,
- characters,
- }, null, 2),
- ];
-};
-export const generateSpecimenImage = async ([_, pxFontFile], { fontName, fontMeta, cwd, outDir }) => {
- const alphabet = fontMeta.alphabet.join("");
- const specimenImgPd = padLayer(await makeTextLayer(fontName.toUpperCase() +
- "\n" +
- "\n" +
- "? " +
- alphabet
- .split("")
- .map((s) => s.trim())
- .filter(Boolean)
- .sort()
- .join(""), await useFont(Promise.resolve(pxFontFile)), solidFillBrush(fontMeta.specimen?.color ?? [0, 0, 0]), {
- maxLengthPx: fontMeta.metrics.width * 12,
- breakLinesOn: "", // break on anything
- }), { x: fontMeta.metrics.width, y: fontMeta.metrics.height });
- const specimenImg = overlayLayerOver(makeRectangleLayer({
- x: specimenImgPd.width,
- y: specimenImgPd.height,
- }, solidFillBrush(fontMeta.specimen?.background ?? [255, 255, 255])), specimenImgPd);
- const specimenFileAt = path.join(cwd, outDir, fontName + "-specimen.bmp");
- return [specimenFileAt, toImage(specimenImg)];
-};