home *** CD-ROM | disk | FTP | other *** search
/ Il CD di internet / CD.iso / SOURCE / D / CLISP / CLISPSRC.TAR / clisp-1995-01-01 / utils / charset / cv-to-ibmpc.c < prev    next >
Encoding:
C/C++ Source or Header  |  1994-07-23  |  4.1 KB  |  148 lines

  1. /* Konversionsprogramm SUN4-Zeichensatz -> IBMPC-Zeichensatz */
  2. /* Bruno Haible 15.1.1992 */
  3.  
  4. #include <stdio.h>
  5. #ifdef __EMX__
  6. #include <fcntl.h>
  7. #endif
  8.  
  9. main ()
  10. { static int tabelle[256];
  11.   /* Tabelle initialisieren: */
  12.   int ibmpc, sun4;
  13. #define IBMPC(x) ibmpc=x;
  14. #define SUN4(y) sun4=y;
  15. #define _ tabelle[sun4]=ibmpc;
  16.   { int i;
  17.     for (i=0;i<32;i++) { SUN4(i) IBMPC(i) _ }
  18.   }
  19.   { int i;
  20.     for (i=32;i<128;i++) { SUN4(i) IBMPC(i) _ }
  21.   }
  22.   { int i;
  23.     for (i=0;i<32;i++) { SUN4(128+i) IBMPC(i) _ }
  24.   }
  25.   SUN4(15) IBMPC(-1) _
  26.   SUN4(20) IBMPC(-1) _
  27.   SUN4(21) IBMPC(-1) _
  28.   SUN4(143) IBMPC(-1) _
  29.   SUN4(148) IBMPC(-1) _
  30.   SUN4(149) IBMPC(-1) _
  31.   SUN4(160) IBMPC(32) _ /*   */
  32.   SUN4(161) IBMPC(173) _ /* í */
  33.   SUN4(162) IBMPC(155) _ /* ó */
  34.   SUN4(163) IBMPC(156) _ /* ú */
  35.   SUN4(164) IBMPC(15) _ /*  */
  36.   SUN4(165) IBMPC(157) _ /* Ñ */
  37.   SUN4(166) IBMPC(124) _ /* | */
  38.   SUN4(167) IBMPC(21) _ /* º */
  39.   SUN4(168) IBMPC(34) _ /* ¿ */
  40.   SUN4(169) IBMPC(-1) _ /* ⌐ */
  41.   SUN4(170) IBMPC(166) _ /* ¬ */
  42.   SUN4(171) IBMPC(174) _ /* ½ */
  43.   SUN4(172) IBMPC(170) _ /* ¼ */
  44.   SUN4(173) IBMPC(45) _ /* - */
  45.   SUN4(174) IBMPC(-1) _ /* « */
  46.   SUN4(175) IBMPC(-1) _ /* » */
  47.   SUN4(176) IBMPC(248) _ /* ░ */
  48.   SUN4(177) IBMPC(241) _ /* ▒ */
  49.   SUN4(178) IBMPC(253) _ /* ▓ */
  50.   SUN4(179) IBMPC(-1) _ /* │ */
  51.   SUN4(180) IBMPC(39) _ /* ┤ */
  52.   SUN4(181) IBMPC(230) _ /* ╡ */
  53.   SUN4(182) IBMPC(20) _ /* ╢ */
  54.   SUN4(183) IBMPC(250) _ /*  */
  55.   SUN4(184) IBMPC(44) _ /* , */
  56.   SUN4(185) IBMPC(-1) _ /*  */
  57.   SUN4(186) IBMPC(167) _ /* ║ */
  58.   SUN4(187) IBMPC(175) _ /* ╗ */
  59.   SUN4(188) IBMPC(172) _ /* ╝ */
  60.   SUN4(189) IBMPC(171) _ /* ╜ */
  61.   SUN4(190) IBMPC(-1) _ /*  */
  62.   SUN4(191) IBMPC(168) _ /* ┐ */
  63.   SUN4(192) IBMPC(65) _ /* └ */
  64.   SUN4(193) IBMPC(-1) _ /*  */
  65.   SUN4(194) IBMPC(-1) _ /*  */
  66.   SUN4(195) IBMPC(-1) _ /* ├ */
  67.   SUN4(196) IBMPC(142) _ /* ─ */
  68.   SUN4(197) IBMPC(143) _ /* ┼ */
  69.   SUN4(198) IBMPC(146) _ /* ╞ */
  70.   SUN4(199) IBMPC(128) _ /* ╟ */
  71.   SUN4(200) IBMPC(-1) _ /*  */
  72.   SUN4(201) IBMPC(144) _ /* ╔ */
  73.   SUN4(202) IBMPC(-1) _ /*  */
  74.   SUN4(203) IBMPC(-1) _ /*  */
  75.   SUN4(204) IBMPC(-1) _ /*  */
  76.   SUN4(205) IBMPC(-1) _ /*  */
  77.   SUN4(206) IBMPC(-1) _ /*  */
  78.   SUN4(207) IBMPC(-1) _ /*  */
  79.   SUN4(208) IBMPC(-1) _ /*  */
  80.   SUN4(209) IBMPC(165) _ /* ╤ */
  81.   SUN4(210) IBMPC(-1) _ /*  */
  82.   SUN4(211) IBMPC(-1) _ /*  */
  83.   SUN4(212) IBMPC(-1) _ /*  */
  84.   SUN4(213) IBMPC(-1) _ /* ╒ */
  85.   SUN4(214) IBMPC(153) _ /* ╓ */
  86.   SUN4(215) IBMPC(-1) _ /*  */
  87.   SUN4(216) IBMPC(-1) _ /* ╪ */
  88.   SUN4(217) IBMPC(-1) _ /*  */
  89.   SUN4(218) IBMPC(-1) _ /*  */
  90.   SUN4(219) IBMPC(-1) _ /*  */
  91.   SUN4(220) IBMPC(154) _ /* ▄ */
  92.   SUN4(221) IBMPC(-1) _ /*  */
  93.   SUN4(222) IBMPC(-1) _ /*  */
  94.   SUN4(223) IBMPC(225) _ /* ▀ */
  95.   SUN4(224) IBMPC(133) _ /* α */
  96.   SUN4(225) IBMPC(160) _ /* ß */
  97.   SUN4(226) IBMPC(131) _ /* Γ */
  98.   SUN4(227) IBMPC(-1) _ /* π */
  99.   SUN4(228) IBMPC(132) _ /* Σ */
  100.   SUN4(229) IBMPC(134) _ /* σ */
  101.   SUN4(230) IBMPC(145) _ /* µ */
  102.   SUN4(231) IBMPC(135) _ /* τ */
  103.   SUN4(232) IBMPC(138) _ /* Φ */
  104.   SUN4(233) IBMPC(130) _ /* Θ */
  105.   SUN4(234) IBMPC(136) _ /* Ω */
  106.   SUN4(235) IBMPC(137) _ /* δ */
  107.   SUN4(236) IBMPC(141) _ /* ∞ */
  108.   SUN4(237) IBMPC(161) _ /* φ */
  109.   SUN4(238) IBMPC(140) _ /* ε */
  110.   SUN4(239) IBMPC(139) _ /* ∩ */
  111.   SUN4(240) IBMPC(-1) _ /*  */
  112.   SUN4(241) IBMPC(164) _ /* ± */
  113.   SUN4(242) IBMPC(149) _ /* ≥ */
  114.   SUN4(243) IBMPC(162) _ /* ≤ */
  115.   SUN4(244) IBMPC(147) _ /* ⌠ */
  116.   SUN4(245) IBMPC(-1) _ /* ⌡ */
  117.   SUN4(246) IBMPC(148) _ /* ÷ */
  118.   SUN4(247) IBMPC(246) _ /* ≈ */
  119.   SUN4(248) IBMPC(-1) _ /* ° */
  120.   SUN4(249) IBMPC(151) _ /* ∙ */
  121.   SUN4(250) IBMPC(163) _ /* · */
  122.   SUN4(251) IBMPC(150) _ /* √ */
  123.   SUN4(252) IBMPC(129) _ /* ⁿ */
  124.   SUN4(253) IBMPC(-1) _ /*  */
  125.   SUN4(254) IBMPC(-1) _ /*  */
  126.   SUN4(255) IBMPC(152) _ /*   */
  127. #undef _
  128. #undef SUN4
  129. #undef IBMPC
  130. #ifdef __EMX__
  131.   setmode(0,O_BINARY);
  132.   setmode(1,O_TEXT);
  133. #endif
  134.   { int fehler = 0;
  135.     int c;
  136.     while (!((c = getchar()) == EOF))
  137.       { c = tabelle[c];
  138.         if (c < 0) { fehler++; } else putchar(c);
  139.       }
  140.     if (!(fehler == 0))
  141.       { fprintf(stderr,"%d illegal characters\n",fehler); exit(1); }
  142.       else
  143.       if (ferror(stdin) || ferror(stdout))
  144.         { exit(1); }
  145.         else
  146.         { exit(0); }
  147. } }
  148.