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