/* next2iso.c - convert text file from NeXT 8 bit to ISO8859-Latin1 */
/* Neil Franklin, Morgenweg 8, 8404 Winterthur */
/* version (last revision) 14.4.96 */
/* written in ANSI C */

#include <stdio.h>

void main (int argc, char *argv[]) {
  int i, c, convert[256], c2, used[256];
  for (i=0; i<256; i++) convert[i] = -1;
  for (i=0; i<256; i++) used[i] = 0;
  convert[9] = 9; /* TAB */
  convert[10] = 10; /* LF */
  convert[13] = 13; /* CR */
  convert[22] = 22; /* .rtf in NiCE nat_person */
  convert[27] = 27; /* .rtf in NiCE nat_person */
  for (i=32; i<=126; i++) convert[i] = i; /* printable ASCIIs */
  convert[128] = 32; /* SPC */
  convert[133] = 196; /* Adiaeresis */
  convert[150] = 214; /* Odiaeresis */
  convert[154] = 220; /* Udiaeresis */
  convert[169] = 39; /* apostrophe */
  convert[170] = 34; /* open quote */
  convert[172] = 172; /* .rtfd binary for pictures */
  convert[177] = 45; /* dash -> minus */
  convert[186] = 34; /* close quote */
  convert[193] = 96; /* grave accent */
  convert[195] = 94; /* circumflex accent */
  convert[213] = 224; /* agrave */
  convert[217] = 228; /* adiaeresis */
  convert[221] = 233; /* eacute */
  convert[240] = 246; /* odiaeresis */
  convert[246] = 252; /* udiaeresis */
  while ((c = getchar()) != EOF) {
    if ((c2 = convert[c]) != -1) {
      putchar(c2); }
    else {
      used[c] = 1; } }
  for (i=0; i<256; i++) {
    if (used[i]) {
      fprintf(stderr, "%i %c\n", i, i); } } }
