#include #include /* * After sysvbanner.c from FreeBSD's ports, which is public domain; * https://github.com/uffejakobsen/sysvbanner/blob/master/banner.c */ char *glyphs[] = { " ### ### ### # # ##### ### # ## ### ", " ### ### ### # # # # ## # # # # ### ", " ### # # ######## # ### # ## # ", " # # # ##### # ### # ", " ####### # # # #### # # ", " ### # # # # # # # ## # ", " ### # # ##### # ### #### # ", " ## ## #", " # # # # # # ", " # # # # # # ", " # # ### ### ##### ### ##### # ", " # # # # # ### ### # ", " # # # # # # ### # ", " ## ## # ### # ", " ### # ##### ##### # ####### ##### #######", " # # ## # ## ## # # # ## # ", "# # # # # # ## # # # # ", "# # # # ##### ##### ####### ##### ###### # ", "# # # # # # # ## # # ", " # # # # # # # # ## # # ", " ### ##### ####### ##### # ##### ##### # ", " ##### ##### # ### # # ##### ", "# ## # # # ### # # # #", "# ## # # # ##### # #", " ##### ###### ### # # ## ", "# # # # ### # ##### # # ", "# ## # # # # # # ", " ##### ##### # # # # # ", " ##### # ###### ##### ###### ############## ##### ", "# # # # # ## ## ## # # #", "# ### # # # # ## # ## # # ", "# # # ## ####### # # ###### ##### # ####", "# #### ######## ## # ## # # #", "# ## ## ## ## ## # # #", " ##### # ####### ##### ###### ######## ##### ", "# # ### ## # # # ## ########", "# # # ## # # ## #### ## #", "# # # ## # # # # # ## # ## #", "####### # #### # # # ## # ## #", "# # # # ## # # # ## # ## #", "# # # # ## # # # ## ### #", "# # ### ##### # # ######## ## ########", "###### ##### ###### ##### ######## ## ## #", "# ## ## ## # # # ## ## # #", "# ## ## ## # # ## ## # #", "###### # ####### ##### # # ## ## # #", "# # # ## # # # # # # # # # #", "# # # # # # # # # # # # # # #", "# #### ## # ##### # ##### # ## ## ", "# ## ######## ##### # ##### # ", " # # # # # # # # # # ", " # # # # # # # # # # ", " # # # # # # ", " # # # # # # # ", " # # # # # # # ", "# # # ####### ##### # ##### #######", " ### ", " ### ## ##### #### ##### ###### ###### #### ", " # # # # # # # # # # # # #", " # # # ##### # # # ##### ##### # ", " ###### # # # # # # # # ###", " # # # # # # # # # # # #", " # # ##### #### ##### ###### # #### ", " ", " # # # # # # # # # # # #### ", " # # # # # # # ## ## ## # # #", " ###### # # #### # # ## # # # # # #", " # # # # # # # # # # # # # #", " # # # # # # # # # # # ## # #", " # # # #### # # ###### # # # # #### ", " ", " ##### #### ##### #### ##### # # # # # #", " # # # # # # # # # # # # # #", " # # # # # # #### # # # # # # #", " ##### # # # ##### # # # # # # # ## #", " # # # # # # # # # # # # ## ##", " # ### # # # #### # #### ## # #", " ### # ### ## # # # #", " # # # # ###### # # # # # # # # # ", " # # # # # # # # ## # # # #", " ## # # ## ## # # # ", " ## # # # # # # # # #", " # # # # # # # # # # ", " # # # ###### ### # ### # # # #"}; int main(int argc, char **argv) { int a, b, c, len, ind; char line[80]; for (argv++; --argc; argv++) { len = strlen(*argv); if (len > 10) len = 10; for (a = 0; a < 7; a++) { for (b = 0; b < len; b++) { if ((ind = (*argv)[b] - ' ') < 0) ind = 0; for (c = 0; c < 7; c++) line[b * 8 + c] = glyphs[(ind / 8 * 7) + a][(ind % 8 * 7) + c]; line[b * 8 + 7] = ' '; } for (b = len * 8 - 1; b >= 0; b--) { if (line[b] != ' ') break; line[b] = '\0'; } print("%s\n", line); } // print("\n"); } return 0; }