This commit is contained in:
baptistelmng44 2024-10-07 14:01:06 +02:00
commit b716769d0f
3 changed files with 21 additions and 20 deletions

View File

@ -8,9 +8,9 @@
TODO: params parsing and so on
#*/
'use strict';
const config = require('./src/config');
/*const config = require('./src/config');
const Mapscii = require('./src/Mapscii');
const argv = require('yargs')
const argv = require('yargs')*/
.option('latitude', {
alias: 'lat',
description: 'Latitude of initial centre',

View File

@ -19,11 +19,11 @@ const utils = require('./utils');
const asciiMap = {
// '▬': [2+32, 4+64],
// '¯': [1+16],
'▀': [1+2+16+32],
'▄': [4+8+64+128],
'■': [2+4+32+64],
'▌': [1+2+4+8],
'▐': [16+32+64+128],
'8': [1 + 2 + 16 + 32],
'▄': [4 + 8 + 64 + 128],
'■': [2 + 4 + 32 + 64],
'▌': [1 + 2 + 4 + 8],
'▐': [16 + 32 + 64 + 128],
// '▓': [1+4+32+128, 2+8+16+64],
'█': [255],
};
@ -31,7 +31,7 @@ const termReset = '\x1B[39;49m';
class BrailleBuffer {
constructor(width, height) {
this.brailleMap = [[0x1, 0x8],[0x2, 0x10],[0x4, 0x20],[0x40, 0x80]];
this.brailleMap = [[0x1, 0x8], [0x2, 0x10], [0x4, 0x20], [0x40, 0x80]];
this.pixelBuffer = null;
this.charBuffer = null;
@ -45,7 +45,7 @@ class BrailleBuffer {
this.width = width;
this.height = height;
const size = width*height/8;
const size = width * height / 8;
this.pixelBuffer = Buffer.alloc(size);
this.foregroundBuffer = Buffer.alloc(size);
this.backgroundBuffer = Buffer.alloc(size);
@ -86,7 +86,7 @@ class BrailleBuffer {
}
_project(x, y) {
return (x>>1) + (this.width>>1)*(y>>2);
return (x >> 1) + (this.width >> 1) * (y >> 2);
}
_locate(x, y, cb) {
@ -118,7 +118,7 @@ class BrailleBuffer {
const results = [];
for (i = k = 1; k <= 255; i = ++k) {
const braille = (i & 7) + ((i & 56) << 1) + ((i & 64) >> 3) + (i & 128);
results.push(this.asciiToBraille[i] = masks.reduce((function(best, mask) {
results.push(this.asciiToBraille[i] = masks.reduce((function (best, mask) {
const covered = utils.population(mask.mask & braille);
if (!best || best.covered < covered) {
return {
@ -151,11 +151,11 @@ class BrailleBuffer {
let currentColor = null;
let skip = 0;
for (let y = 0; y < this.height/4; y++) {
for (let y = 0; y < this.height / 4; y++) {
skip = 0;
for (let x = 0; x < this.width/2; x++) {
const idx = y*this.width/2 + x;
for (let x = 0; x < this.width / 2; x++) {
const idx = y * this.width / 2 + x;
if (idx && !x) {
output.push(config.delimeter);
@ -168,14 +168,14 @@ class BrailleBuffer {
const char = this.charBuffer[idx];
if (char) {
skip += stringWidth(char)-1;
if (skip+x < this.width/2) {
skip += stringWidth(char) - 1;
if (skip + x < this.width / 2) {
output.push(char);
}
} else {
if (!skip) {
if (config.useBraille) {
output.push(String.fromCharCode(0x2800+this.pixelBuffer[idx]));
output.push(String.fromCharCode(0x2800 + this.pixelBuffer[idx]));
} else {
output.push(this.asciiToBraille[this.pixelBuffer[idx]]);
}
@ -186,7 +186,7 @@ class BrailleBuffer {
}
}
output.push(termReset+config.delimeter);
output.push(termReset + config.delimeter);
return output.join('');
}
@ -200,10 +200,10 @@ class BrailleBuffer {
writeText(text, x, y, color, center = true) {
if (center) {
x -= text.length/2+1;
x -= text.length / 2 + 1;
}
for (let i = 0; i < text.length; i++) {
this.setChar(text.charAt(i), x+i*2, y, color);
this.setChar(text.charAt(i), x + i * 2, y, color);
}
}
}

1
toto.txt Normal file
View File

@ -0,0 +1 @@
youhou