/*
  ascii.c.  Produce a table for ISO 646, French-Canadian variant.
  F. da Cruz, Columbia University, 1991.
*/
char *name[] = {
    "SPACE",
    "EXCLAMATION MARK",
    "QUOTATION MARK",
    "NUMBER SIGN",
    "DOLLAR SIGN",
    "PERCENT SIGN",
    "AMPERSAND",
    "APOSTROPHE",
    "LEFT PARENTHESIS",
    "RIGHT PARENTHESIS",
    "ASTERISK",
    "PLUS SIGN",
    "COMMA",
    "HYPHEN, MINUS SIGN",
    "PERIOD, FULL STOP",
    "SOLIDUS, SLASH",
    "DIGIT ZERO",
    "DIGIT ONE",
    "DIGIT TWO",
    "DIGIT THREE",
    "DIGIT FOUR",
    "DIGIT FIVE",
    "DIGIT SIX",
    "DIGIT SEVEN",
    "DIGIT EIGHT",
    "DIGIT NINE",
    "COLON",
    "SEMICOLON",
    "LESS-THAN SIGN, LEFT ANGLE BRACKET",
    "EQUALS SIGN",
    "GREATER-THAN SIGN, RIGHT ANGLE BRACKET",
    "QUESTION MARK",
    "SMALL LETTER a WITH GRAVE ACCENT",
    "CAPITAL LETTER A",
    "CAPITAL LETTER B",
    "CAPITAL LETTER C",
    "CAPITAL LETTER D",
    "CAPITAL LETTER E",
    "CAPITAL LETTER F",
    "CAPITAL LETTER G",
    "CAPITAL LETTER H",
    "CAPITAL LETTER I",
    "CAPITAL LETTER J",
    "CAPITAL LETTER K",
    "CAPITAL LETTER L",
    "CAPITAL LETTER M",
    "CAPITAL LETTER N",
    "CAPITAL LETTER O",
    "CAPITAL LETTER P",
    "CAPITAL LETTER Q",
    "CAPITAL LETTER R",
    "CAPITAL LETTER S",
    "CAPITAL LETTER T",
    "CAPITAL LETTER U",
    "CAPITAL LETTER V",
    "CAPITAL LETTER W",
    "CAPITAL LETTER X",
    "CAPITAL LETTER Y",
    "CAPITAL LETTER Z",
    "SMALL LETTER a WITH CIRCUMFLEX ACCENT",
    "SMALL LETTER c WITH CEDILLA",
    "SMALL LETTER e WITH CIRCUMFLEX ACCENT",
    "SMALL LETTER i WITH CIRCUMFLEX ACCENT",
    "LOW LINE, UNDERLINE",
    "SMALL LETTER o WITH CIRCUMFLEX ACCENT",
    "SMALL LETTER a",
    "SMALL LETTER b",
    "SMALL LETTER c",
    "SMALL LETTER d",
    "SMALL LETTER e",
    "SMALL LETTER f",
    "SMALL LETTER g",
    "SMALL LETTER h",
    "SMALL LETTER i",
    "SMALL LETTER j",
    "SMALL LETTER k",
    "SMALL LETTER l",
    "SMALL LETTER m",
    "SMALL LETTER n",
    "SMALL LETTER o",
    "SMALL LETTER p",
    "SMALL LETTER q",
    "SMALL LETTER r",
    "SMALL LETTER s",
    "SMALL LETTER t",
    "SMALL LETTER u",
    "SMALL LETTER v",
    "SMALL LETTER w",
    "SMALL LETTER x",
    "SMALL LETTER y",
    "SMALL LETTER z",
    "SMALL LETTER e WITH ACUTE ACCENT",
    "SMALL LETTER u WITH GRAVE ACCENT",
    "SMALL LETTER e WITH GRAVE ACCENT",
    "SMALL LETTER u WITH CIRCUMFLEX ACCENT",
    "RUBOUT, DELETE"
};


main() {
    int i, j;
    char c;

    printf("ISO 646 French Canadian Variant\n");
    printf("char dec col/row oct hex  description\n");
    for (i = 32; i < 128; i++) {
	j = i - 32;
	c = (i == 127) ? 32 : i;
	printf("(%c)  %3d  %02d/%02d  %3o  %2X  %s\n",
	       c, i, i/16, i%16, i, i, name[j]);
    }
}