/* apl-plus.c Make table of the APL-Plus character set. Unicode mappings according to ISO-IEC / JTC 1 / SC 22 N 3067, 1999-12-28. Confusion with TACK symbols reflects confusion in the various APL sets as to whether the head or the point is the top. F. da Cruz, Columbia University, July 2000. */ struct charinfo { unsigned short uc; char * name } info[] = { 0x20ac, "EURO SIGN", 0x22a3, "RIGHT (LEFT) TACK", 0x22a4, "UP (DOWN) TACK", 0x22a5, "DOWN (UP) TACK", 0x2190, "LEFT ARROW", 0x2192, "RIGHT ARROW", 0x2191, "UP ARROW", 0x2193, "DOWN ARROW", 0x2264, "LESS THAN OR EQUAL SIGN", 0x2265, "GREATER THAN OR EQUAL SIGN", 0x2372, "UP CARET TILDE", 0x2371, "DOWN CARET TILDE", 0x25af, "QUAD", 0x235e, "QUOTE QUAD", 0x2339, "QUAD DIVIDE", 0x2359, "DELTA UNDERBAR", 0x236b, "DEL TILDE", 0x2206, "DELTA", 0x2207, "DEL", 0x234b, "DELTA STILE", 0x2352, "DEL STILE", 0x2355, "UP (DOWN) TACK JOT", 0x234e, "DOWN (UP) TACK JOT", 0x2308, "UP STILE", 0x230a, "DOWN STILE", 0x2340, "BACKSLASH BAR", 0x233f, "SLASH BAR", 0x2282, "LEFT SHOE", 0x2283, "RIGHT SHOE", 0x2229, "UP SHOE", 0x222a, "DOWN SHOE", 0x2228, "DOWN CARET", 0x00a0, "NO-BREAK SPACE", 0x00a1, "INVERTED EXCLAMATION MARK", 0x00a2, "CENT SIGN", 0x00a3, "POUND SIGN", 0x22a2, "LEFT (RIGHT) TACK", 0x00a5, "YEN SIGN", 0x00a6, "BROKEN BAR", 0x00a7, "PARAGRAPH SIGN", 0x00a8, "DIAERESIS", 0x235d, "UP SHOE JOT", 0x22c4, "DIAMOND", 0x00ab, "LEFT ANGLE QUOTATION MARK", 0x2260, "NOT-EQUAL SIGN", 0x2261, "MATCH", 0x236a, "COMMA BAR", 0x00af, "OVERBAR, MACRON", 0x2218, "JOT", 0x25cb, "CIRCLE", 0x233d, "CIRCLE STILE", 0x2349, "CIRCLE BACKSLASH", 0x2296, "CIRCLE BAR", 0x235f, "CIRCLE STAR", 0x00b6, "PILCROW SIGN", 0x00b7, "MIDDLE DOT", 0x237a, "ALPHA", 0x220a, "EPSILON", 0x2377, "EPSILON UNDERBAR", 0x00bb, "RIGHT ANGLE QUOTATION MARK", 0x2373, "IOTA", 0x2374, "RHO", 0x2375, "OMEGA", 0x00bf, "INVERTED QUESTION MARK", 0x00c0, "LATIN CAPITAL LETTER A WITH GRAVE ACCENT", 0x00c1, "LATIN CAPITAL LETTER A WITH ACUTE ACCENT", 0x00c2, "LATIN CAPITAL LETTER A WITH CIRCUMFLEX", 0x00c3, "LATIN CAPITAL LETTER A WITH TILDE", 0x00c4, "LATIN CAPITAL LETTER A WITH DIAERESIS", 0x00c5, "LATIN CAPITAL LETTER A WITH RING ABOVE", 0x00c6, "LATIN CAPITAL LETTER AE", 0x00c7, "LATIN CAPITAL LETTER C WITH CEDILLA", 0x00c8, "LATIN CAPITAL LETTER E WITH GRAVE ACCENT", 0x00c9, "LATIN CAPITAL LETTER E WITH ACUTE ACCENT", 0x00ca, "LATIN CAPITAL LETTER E WITH CIRCUMFLEX", 0x00cb, "LATIN CAPITAL LETTER E WITH DIAERESIS", 0x00cc, "LATIN CAPITAL LETTER I WITH GRAVE ACCENT", 0x00cd, "LATIN CAPITAL LETTER I WITH ACUTE ACCENT", 0x00ce, "LATIN CAPITAL LETTER I WITH CIRCUMFLEX", 0x00cf, "LATIN CAPITAL LETTER I WITH DIAERESIS", 0x236c, "ZILDE", 0x00d1, "LATIN CAPITAL LETTER N WITH TILDE", 0x00d2, "LATIN CAPITAL LETTER O WITH GRAVE ACCENT", 0x00d3, "LATIN CAPITAL LETTER O WITH ACUTE ACCENT", 0x00d4, "LATIN CAPITAL LETTER O WITH CIRCUMFLEX", 0x00d5, "LATIN CAPITAL LETTER O WITH TILDE", 0x00d6, "LATIN CAPITAL LETTER O WITH DIAERESIS", 0x00d7, "MULTIPLICATION SIGN", 0x00d8, "LATIN CAPITAL LETTER O WITH OBLIQUE STROKE", 0x00d9, "LATIN CAPITAL LETTER U WITH GRAVE ACCENT", 0x00da, "LATIN CAPITAL LETTER U WITH ACUTE ACCENT", 0x00db, "LATIN CAPITAL LETTER U WITH CIRCUMFLEX", 0x00dc, "LATIN CAPITAL LETTER U WITH DIAERESIS", 0x00dd, "LATIN CAPITAL LETTER Y WITH ACUTE ACCENT", 0x2337, "SQUISH QUAD", 0x00df, "LATIN SMALL LETTER SHARP S", 0x00e0, "LATIN SMALL LETTER A WITH GRAVE ACCENT", 0x00e1, "LATIN SMALL LETTER A WITH ACUTE ACCENT", 0x00e2, "LATIN SMALL LETTER A WITH CIRCUMFLEX ACCENT", 0x00e3, "LATIN SMALL LETTER A WITH TILDE", 0x00e4, "LATIN SMALL LETTER A WITH DIAERESIS", 0x00e5, "LATIN SMALL LETTER A WITH RING ABOVE", 0x00e6, "LATIN SMALL LETTER AE", 0x00e7, "LATIN SMALL LETTER C WITH CEDILLA", 0x00e8, "LATIN SMALL LETTER E WITH GRAVE ACCENT", 0x00e9, "LATIN SMALL LETTER E WITH ACUTE ACCENT", 0x00ea, "LATIN SMALL LETTER E WITH CIRCUMFLEX ACCENT", 0x00eb, "LATIN SMALL LETTER E WITH DIAERESIS", 0x00ec, "LATIN SMALL LETTER I WITH GRAVE ACCENT", 0x00ed, "LATIN SMALL LETTER I WITH ACUTE ACCENT", 0x00ee, "LATIN SMALL LETTER I WITH CIRCUMFLEX", 0x00ef, "LATIN SMALL LETTER I WITH DIAERESIS", 0x2364, "JOT DIAERESIS", 0x00f1, "LATIN SMALL LETTER N WITH TILDE", 0x00f2, "LATIN SMALL LETTER O WITH GRAVE ACCENT", 0x00f3, "LATIN SMALL LETTER O WITH ACUTE ACCENT", 0x00f4, "LATIN SMALL LETTER O WITH CIRCUMFLEX", 0x00f5, "LATIN SMALL LETTER O WITH TILDE", 0x00f6, "LATIN SMALL LETTER O WITH DIAERESIS", 0x00f7, "DIVIDE SIGN", 0x2205, "CIRCLE SLASH", 0x00f9, "LATIN SMALL LETTER U WITH GRAVE ACCENT", 0x00fa, "LATIN SMALL LETTER U WITH ACUTE ACCENT", 0x00fb, "LATIN SMALL LETTER U WITH CIRCUMFLEX", 0x00fc, "LATIN SMALL LETTER U WITH DIAERESIS", 0x00fd, "LATIN SMALL LETTER Y WITH ACUTE ACCENT", 0x2368, "TILDE DIAERESIS", 0x00ff, "LATIN SMALL LETTER Y WITH DIAERESIS", 0, "" }; main() { int i, j; printf("APL-Plus (APL-2000)\n"); printf("char dec col/row oct hex unicod description\n"); for (i = 128; i < 256; i++) { j = i - 128; printf("[%c] %3d %02d/%02d %3o %2X %04X %s\n", i, i, i/16, i%16, i, i, (unsigned int)info[j].uc, info[j].name); } }