javascript - Text to ASCI Font generator -


and sorry vague question title. please read on mental impression of thoughts.

i want create program takes string input , outputs asci images

example- string "say hi"

output:

-------------------------------------------------------------------------------|      ------      /-------\     |||     |||   ------                             |      ||        |||     |||    |||     |||   ||                                 |      \\        |||__ __|||    |||__ _ |||   \\                                 |         ==\\    ||| _ _ |||        |||         ==\\                             |            ||    |||     |||        |||            ||                            |       ------     |||     |||        |||       ------                             | -------------------------------------------------------------------------------|  --------------------------------------------------------------------------------|                                                                                 |                      |||    |||  [=========]       |||                          |                       |||_ __|||      |||           |||                          |                      |||__ _|||      |||           |||                          |                      |||    |||      |||           |||                          |                      |||    |||      |||           ___                          |                       |||    |||  [=========]       |__|                         |  --------------------------------------------------------------------------------| 

possible approach achieve this.

1) (naive approach) convinced myself creating 2-d character array possible characters, store them, , upon entering input string check individual characters , cout stored 2-d array respective character, till reach string's end.

for example: store char as.  char[][] =    .----------------.  | .--------------. | | |      __      | | | |     /  \     | | | |    / /\ \    | | | |   / ____ \   | | | | _/ /    \ \_ | | | ||____|  |____|| | | |              | | | '--------------' |  '----------------'  possible logic approach is. foreach(str[i].....str [n])    identifycharacter();    identifythecorrespondingcharacter2-darray();       iteratethrougheachrowintheidentifiedarray.          printeachrowin2-darryinnewline  same goes b-z , 0..9 

lets not talk efficiency , optimality, above approach far far away optimal, not scalable, if @ all, if want generate fonts of different sizes , all, approach surely won't help.

2)bombarded enough confusions, , non-efficient-logic, not knowing call them, searched "text asci font generator", tried web , browsing first few links, got me towards similar project on git.

https://github.com/patorjk/figlet.js

which appeared scalable, , looks preety cool

http://patorjk.com/software/taag/#p=display&f=graffiti&t=type%20something%20

what meant solution is, possible if use specific language, might make job easier, saying. i'm ready learn new tool this.

there, want create program outputs asci images netered string, same 1 in link provided.

the idea create asci garden, user enters string , generate asci images, furthermore provide them option choose, if user enters string "house", create asci house, , not asci clone of string house. hope understand i'm trying say.

a house         /\         /  \               |....|       |  []|       ------ 

well, not awesomely innovative brilliant breakthrough, want free time, , motivation learn new tools, if not possible present arsenal. (c++, php, javascript).

please let me know if have sincere suggestions this, , have courtesy let me know if question not appropriate here, i'll happy move it. i'm not sure appropriate tags question belongs, i'm in suggestions.

thanks

you along these lines:

var letters = {      : [          ' /-------\\ ',          '|||     |||',          '|||__ __|||',          '||| _ _ |||',          '|||     |||',          '|||     |||'      ],      s : [          ' ------',          ' ||    ',          ' \\\\    ',          '   ==\\\\',          '     ||',          '------ '      ],       y :  [          '|||     |||',          '|||     |||',          '|||__ _ |||',          '    |||    ',          '    |||    ',          '    |||    '      ]  };    var text = "say";  var lines = ['', '', '', '', '', ''];    for(var = 0; < text.length; i++){    // each letter,      var letter = text[i].tolowercase();    // current letter,      for(var j = 0; j < 6; j++){              // each line letters high,          lines[j] += letters[letter][j] + '   ';// add current line result.      }            // spacer between letters ^  };  document.getelementbyid("result").innerhtml = lines.join("\n"); // output result.
<pre id="result"></pre>

you'd have add checks check non-existant characters, not mention adding rest of characters manually, idea.

keep in mind "\\" in js translates "\" in output. you'll need double backslashes, because they're escaping themselves.


Comments