Created
May 26, 2018 01:03
-
-
Save tedivm/7567365bf6944da4dc9fbcc7b66afd6a to your computer and use it in GitHub Desktop.
GridText
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// http://www.urbanfonts.com/fonts/Arcade.htm | |
var font = {} | |
font['a'] = [ | |
[0,0,0,0,0,0,0], | |
[0,0,0,0,0,0,0], | |
[0,1,1,1,1,1,0], | |
[0,0,0,0,0,1,1], | |
[0,1,1,1,1,1,1], | |
[1,1,0,0,0,1,1], | |
[0,1,1,1,1,1,1] | |
] | |
font['b'] = [ | |
[1,1,0,0,0,0,0], | |
[1,1,0,0,0,0,0], | |
[1,1,1,1,1,1,0], | |
[1,1,0,0,0,1,1], | |
[1,1,0,0,0,1,1], | |
[1,1,0,0,0,1,1], | |
[1,1,1,1,1,1,0] | |
] | |
font['c'] = [ | |
[0,0,0,0,0,0,0], | |
[0,0,0,0,0,0,0], | |
[0,1,1,1,1,1,0], | |
[1,1,0,0,0,1,1], | |
[1,1,0,0,0,0,0], | |
[1,1,0,0,0,1,1], | |
[0,1,1,1,1,1,0], | |
] | |
font['d'] = [ | |
[0,0,0,0,0,1,1], | |
[0,0,0,0,0,1,1], | |
[0,1,1,1,1,1,1], | |
[1,1,0,0,0,1,1], | |
[1,1,0,0,0,1,1], | |
[1,1,0,0,0,1,1], | |
[0,1,1,1,1,1,1], | |
] | |
font['e'] = [ | |
[0,0,0,0,0,0,0], | |
[0,0,0,0,0,0,0], | |
[0,1,1,1,1,1,0], | |
[1,1,0,0,0,1,1], | |
[1,1,1,1,1,1,1], | |
[1,1,0,0,0,0,0], | |
[0,1,1,1,1,1,0] | |
] | |
font['f'] = [ | |
[0,0,1,1,1], | |
[0,1,1,0,0], | |
[1,1,1,1,0], | |
[0,1,1,0,0], | |
[0,1,1,0,0], | |
[0,1,1,0,0], | |
[0,1,1,0,0], | |
] | |
font['g'] = [ | |
[0,0,0,0,0,0,0], | |
[0,0,0,0,0,0,0], | |
[0,1,1,1,1,1,0], | |
[1,1,0,0,0,1,1], | |
[1,1,0,0,0,1,1], | |
[1,1,0,0,0,1,1], | |
[0,1,1,1,1,1,1], | |
[0,0,0,0,0,1,1], | |
[0,1,1,1,1,1,0] | |
] | |
font['h'] = [ | |
[1,1,0,0,0,0,0], | |
[1,1,0,0,0,0,0], | |
[1,1,1,1,1,1,0], | |
[1,1,0,0,0,1,1], | |
[1,1,0,0,0,1,1], | |
[1,1,0,0,0,1,1], | |
[1,1,0,0,0,1,1], | |
] | |
font['i'] = [ | |
[1,1], | |
[0,0], | |
[1,1], | |
[1,1], | |
[1,1], | |
[1,1], | |
[1,1], | |
] | |
font['j'] = [ | |
[0,0,1,1], | |
[0,0,0,0], | |
[0,1,1,1], | |
[0,0,1,1], | |
[0,0,1,1], | |
[0,0,1,1], | |
[0,0,1,1], | |
[0,0,1,1], | |
[1,1,1,0] | |
] | |
font['k'] = [ | |
[1,1,0,0,0,0], | |
[1,1,0,0,0,0], | |
[1,1,0,0,1,1], | |
[1,1,0,1,1,0], | |
[1,1,1,0,0,0], | |
[1,1,0,1,1,0], | |
[1,1,0,0,1,1], | |
] | |
font['l'] = [ | |
[1,1], | |
[1,1], | |
[1,1], | |
[1,1], | |
[1,1], | |
[1,1], | |
[1,1], | |
] | |
font['m'] = [ | |
[0,0,0,0,0,0,0], | |
[0,0,0,0,0,0,0], | |
[1,1,1,0,1,1,0], | |
[1,1,0,1,0,1,1], | |
[1,1,0,1,0,1,1], | |
[1,1,0,1,0,1,1], | |
[1,1,0,1,0,1,1], | |
] | |
font['n'] = [ | |
[0,0,0,0,0,0], | |
[0,0,0,0,0,0], | |
[1,1,1,1,1,0], | |
[1,1,0,0,1,1], | |
[1,1,0,0,1,1], | |
[1,1,0,0,1,1], | |
[1,1,0,0,1,1], | |
] | |
font['o'] = [ | |
[0,0,0,0,0,0,0], | |
[0,0,0,0,0,0,0], | |
[0,1,1,1,1,1,0], | |
[1,1,0,0,0,1,1], | |
[1,1,0,0,0,1,1], | |
[1,1,0,0,0,1,1], | |
[0,1,1,1,1,1,0], | |
] | |
font['p'] = [ | |
[0,0,0,0,0,0,0], | |
[0,0,0,0,0,0,0], | |
[1,1,1,1,1,1,0], | |
[1,1,0,0,0,1,1], | |
[1,1,0,0,0,1,1], | |
[1,1,0,0,0,1,1], | |
[1,1,1,1,1,1,0], | |
[1,1,0,0,0,0,0], | |
[1,1,0,0,0,0,0] | |
] | |
font['q'] = [ | |
[0,0,0,0,0,0,0], | |
[0,0,0,0,0,0,0], | |
[0,1,1,1,1,1,1], | |
[1,1,0,0,0,1,1], | |
[1,1,0,0,0,1,1], | |
[1,1,0,0,0,1,1], | |
[0,1,1,1,1,1,1], | |
[0,0,0,0,0,1,1], | |
[0,0,0,0,0,1,1] | |
] | |
font['r'] = [ | |
[0,0,0,0,0], | |
[0,0,0,0,0], | |
[1,1,0,1,1], | |
[1,1,1,0,0], | |
[1,1,0,0,0], | |
[1,1,0,0,0], | |
[1,1,0,0,0], | |
] | |
font['s'] = [ | |
[0,0,0,0,0,0,0], | |
[0,0,0,0,0,0,0], | |
[0,1,1,1,1,1,0], | |
[1,1,0,0,0,0,0], | |
[0,1,1,1,1,1,0], | |
[0,0,0,0,0,1,1], | |
[0,1,1,1,1,1,0] | |
] | |
font['t'] = [ | |
[0,0,0,0,0], | |
[0,1,1,0,0], | |
[1,1,1,1,0], | |
[0,1,1,0,0], | |
[0,1,1,0,0], | |
[0,1,1,0,0], | |
[0,0,1,1,1], | |
] | |
font['u'] = [ | |
[0,0,0,0,0,0,0], | |
[0,0,0,0,0,0,0], | |
[1,1,0,0,0,1,1], | |
[1,1,0,0,0,1,1], | |
[1,1,0,0,0,1,1], | |
[1,1,0,0,0,1,1], | |
[0,1,1,1,1,1,1], | |
] | |
font['v'] = [ | |
[0,0,0,0,0,0,0], | |
[0,0,0,0,0,0,0], | |
[1,1,0,0,0,1,1], | |
[1,1,0,0,0,1,1], | |
[1,1,0,0,0,1,1], | |
[0,1,1,0,1,1,0], | |
[0,0,1,1,1,0,0] | |
] | |
font['w'] = [ | |
[0,0,0,0,0,0,0], | |
[0,0,0,0,0,0,0], | |
[1,1,0,0,0,1,1], | |
[1,1,0,0,0,1,1], | |
[1,1,0,0,0,1,1], | |
[1,1,0,1,0,1,1], | |
[0,0,1,1,0,1,1] | |
] | |
font['x'] = [ | |
[0,0,0,0,0,0,0], | |
[0,0,0,0,0,0,0], | |
[1,1,0,0,0,1,1], | |
[0,1,1,0,1,1,0], | |
[0,0,1,1,1,0,0], | |
[0,1,1,0,1,1,0], | |
[1,1,0,0,0,1,1], | |
] | |
font['y'] = [ | |
[0,0,0,0,0,0,0], | |
[0,0,0,0,0,0,0], | |
[1,1,0,0,0,1,1], | |
[1,1,0,0,0,1,1], | |
[1,1,0,0,0,1,1], | |
[1,1,0,0,0,1,1], | |
[0,1,1,1,1,1,1], | |
[0,0,0,0,0,1,1], | |
[0,1,1,1,1,1,0] | |
] | |
font['z'] = [ | |
[0,0,0,0,0,0,0], | |
[0,0,0,0,0,0,0], | |
[1,1,1,1,1,1,1], | |
[0,0,0,0,1,1,0], | |
[0,0,0,1,1,0,0], | |
[0,0,1,1,0,0,0], | |
[0,1,1,0,0,0,0], | |
[1,1,1,1,1,1,1] | |
] | |
font['-'] = [ | |
[0,0,0,0,0,0,0], | |
[0,0,0,0,0,0,0], | |
[0,0,0,0,0,0,0], | |
[0,0,0,0,0,0,0], | |
[1,1,1,1,1,1,1], | |
[0,0,0,0,0,0,0], | |
[0,0,0,0,0,0,0], | |
[0,0,0,0,0,0,0] | |
] | |
font[' '] = [ | |
[0,0], | |
[0,0], | |
[0,0], | |
[0,0], | |
[0,0], | |
[0,0], | |
[0,0], | |
] | |
font['.'] = [ | |
[0,0], | |
[0,0], | |
[0,0], | |
[0,0], | |
[0,0], | |
[1,1], | |
[1,1] | |
] | |
font['spacer'] = [ | |
[0], | |
[0], | |
[0], | |
[0], | |
[0], | |
[0], | |
[0], | |
] | |
class GridText { | |
getText(string) { | |
var grid = [] | |
this.appendPattern(grid, this.getCharacter('spacer')) | |
for(var i = 0; i < string.length; i++) { | |
var char = string[i] | |
this.appendPattern(grid, this.getCharacter(char)) | |
if(i+1 < string.length) { | |
this.appendPattern(grid, this.getCharacter('spacer')) | |
} | |
} | |
return grid | |
} | |
getCharacter(char) { | |
return font[char] | |
} | |
appendPattern(grid, pattern) { | |
var grid_columns = grid.length | |
for(var y = 0; y < pattern.length; y++) { | |
for(var x = 0; x < pattern[0].length; x++) { | |
var grid_x = x + grid_columns | |
if(!grid[grid_x]) { | |
grid[grid_x] = [] | |
} | |
grid[grid_x][y] = pattern[y][x] == 1 ? 1 : 0 | |
} | |
} | |
return grid | |
} | |
drawToConsole(grid) { | |
var string = '' | |
for(var y = 0; y < grid[0].length; y++) { | |
var section = '' | |
for(var x = 0; x < grid.length; x++) { | |
section += grid[x][y] > 0 ? "1" : " " | |
} | |
console.log(section) | |
string += section + "\n" | |
} | |
// /console.log(string) | |
} | |
} | |
module.exports = new GridText() | |
var runningAsScript = require.main === module; | |
if(runningAsScript) { | |
var grid = new GridText() | |
grid.drawToConsole(grid.getText('test')) | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment