All pastes #1793838 Raw Edit

number banner

public text v1 · immutable
#1793838 ·published 2010-02-11 13:13 UTC
rendered paste body
#include <stdio.h>
#include <string.h>

void
init_font_5x5(char **n)
{
  int h = 5;

  n[1 * h + 0] = "  #  ";   n[6 * h + 0] = "#####";
  n[1 * h + 1] = " ##  ";   n[6 * h + 1] = "#    ";
  n[1 * h + 2] = "# #  ";   n[6 * h + 2] = "#####";
  n[1 * h + 3] = "  #  ";   n[6 * h + 3] = "#   #";
  n[1 * h + 4] = "#####";   n[6 * h + 4] = "#####";

  n[2 * h + 0] = "#####";   n[7 * h + 0] = "#####";
  n[2 * h + 1] = "    #";   n[7 * h + 1] = "    #";
  n[2 * h + 2] = "#####";   n[7 * h + 2] = "   # ";
  n[2 * h + 3] = "#    ";   n[7 * h + 3] = "  #  ";
  n[2 * h + 4] = "#####";   n[7 * h + 4] = " #   ";

  n[3 * h + 0] = "#####";   n[8 * h + 0] = "#####";
  n[3 * h + 1] = "    #";   n[8 * h + 1] = "#   #";
  n[3 * h + 2] = "#####";   n[8 * h + 2] = "#####";
  n[3 * h + 3] = "    #";   n[8 * h + 3] = "#   #";
  n[3 * h + 4] = "#####";   n[8 * h + 4] = "#####";

  n[4 * h + 0] = "#   #";   n[9 * h + 0] = "#####";
  n[4 * h + 1] = "#   #";   n[9 * h + 1] = "#   #";
  n[4 * h + 2] = "#####";   n[9 * h + 2] = "#####";
  n[4 * h + 3] = "    #";   n[9 * h + 3] = "    #";
  n[4 * h + 4] = "    #";   n[9 * h + 4] = "#####";

  n[5 * h + 0] = "#####";   n[0 * h + 0] = "#####";
  n[5 * h + 1] = "#    ";   n[0 * h + 1] = "#   #";
  n[5 * h + 2] = "#####";   n[0 * h + 2] = "#   #";
  n[5 * h + 3] = "    #";   n[0 * h + 3] = "#   #";
  n[5 * h + 4] = "#####";   n[0 * h + 4] = "#####";
}

void
display_number(FILE *out, int num, char *space, int letter_h, char **font)
{
  char s[16], *ps;
  int i, j, len;

  snprintf(s, sizeof(s), "%d", num);
  len = strlen(s);

  for (j = 0; j < letter_h; ++j) {
    for (ps = s; *ps; ++ps) {
      fputs(font[(*ps - '0') * letter_h + j], out);
      fputs(space, out);
    }
    fputs("\n", out);
  }
}

int
main()
{
  char *font[50];
  init_font_5x5(font);
  display_number(stdout, 65536, " ", 5, font);
  return 0;
}