/*----------------------------------------------------------------------*\ | Entity substitution for SGML output. | | | | Peter N. Schweitzer (U.S. Geological Survey, Reston, VA 20192) | \*----------------------------------------------------------------------*/ #include #define CONVERT_WINDOWS_1252 1 char *iso8859_1[256] = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, NULL,NULL, "quot", /* */ NULL,NULL,NULL, "amp", /* */ "apos", /* */ NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, NULL,NULL,NULL,NULL, "lt", /* */ NULL, "gt", /* */ NULL, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, #ifdef CONVERT_WINDOWS_1252 /*------------------------------------------------------------------*\ | Microsoft Windows 1252 special characters can be converted, when | | they appear, to the appropriate character entity. | \*------------------------------------------------------------------*/ "euro" , NULL , "sbquo" , "fnof" , "bdquo" , "hellip", "dagger", "Dagger", "circ" , "permil", "Scaron", "lsaquo", "OElig" , NULL , NULL , NULL , NULL , "lsquo" , "rsquo" , "ldquo" , "rdquo" , "bull" , "ndash" , "mdash" , "tilde" , "trade" , "scaron", "rsaquo", "oelig" , NULL , NULL , "Yuml" , /*------------------------------------------------------------------*\ | End of Microsoft Windows 1252 characters | \*------------------------------------------------------------------*/ #else NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, #endif "nbsp" , /* */ "iexcl" , /* */ "cent" , /* */ "pound" , /* */ "curren", /* */ "yen" , /* */ "brvbar", /* */ "sect" , /* */ "uml" , /* */ "copy" , /* */ "ordf" , /* */ "laquo" , /* */ "not" , /* */ "shy" , /* */ "reg" , /* */ "macr" , /* */ "deg" , /* */ "plusmn", /* */ "sup2" , /* */ "sup3" , /* */ "acute" , /* */ "micro" , /* */ "para" , /* */ "middot", /* */ "cedil" , /* */ "sup1" , /* */ "ordm" , /* */ "raquo" , /* */ "frac14", /* */ "frac12", /* */ "frac34", /* */ "iquest", /* */ "Agrave", /* */ "Aacute", /* */ "Acirc" , /* */ "Atilde", /* */ "Auml" , /* */ "Aring" , /* */ "AElig" , /* */ "Ccedil", /* */ "Egrave", /* */ "Eacute", /* */ "Ecirc" , /* */ "Euml" , /* */ "Igrave", /* */ "Iacute", /* */ "Icirc" , /* */ "Iuml" , /* */ "ETH" , /* */ "Ntilde", /* */ "Ograve", /* */ "Oacute", /* */ "Ocirc" , /* */ "Otilde", /* */ "Ouml" , /* */ "times" , /* */ "Oslash", /* */ "Ugrave", /* */ "Uacute", /* */ "Ucirc" , /* */ "Uuml" , /* */ "Yacute", /* */ "THORN" , /* */ "szlig" , /* */ "agrave", /* */ "aacute", /* */ "acirc" , /* */ "atilde", /* */ "auml" , /* */ "aring" , /* */ "aelig" , /* */ "ccedil", /* */ "egrave", /* */ "eacute", /* */ "ecirc" , /* */ "euml" , /* */ "igrave", /* */ "iacute", /* */ "icirc" , /* */ "iuml" , /* */ "eth" , /* */ "ntilde", /* */ "ograve", /* */ "oacute", /* */ "ocirc" , /* */ "otilde", /* */ "ouml" , /* */ "divide", /* */ "oslash", /* */ "ugrave", /* */ "uacute", /* */ "ucirc" , /* */ "uuml" , /* */ "yacute", /* */ "thorn" , /* */ "yuml" /* */ }; char *entity_list = "\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ ]>\n"; char *iso8859_1_numeric [256] = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, NULL,NULL,NULL,NULL,NULL,NULL, "amp", /* */ NULL, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, NULL,NULL,NULL,NULL, "lt", /* */ NULL, "gt", /* */ NULL, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, "#160", "#161", "#162", "#163", "#164", "#165", "#166", "#167", "#168", "#169", "#170", "#171", "#172", "#173", "#174", "#175", "#176", "#177", "#178", "#179", "#180", "#181", "#182", "#183", "#184", "#185", "#186", "#187", "#188", "#189", "#190", "#191", "#192", "#193", "#194", "#195", "#196", "#197", "#198", "#199", "#200", "#201", "#202", "#203", "#204", "#205", "#206", "#207", "#208", "#209", "#210", "#211", "#212", "#213", "#214", "#215", "#216", "#217", "#218", "#219", "#220", "#221", "#222", "#223", "#224", "#225", "#226", "#227", "#228", "#229", "#230", "#231", "#232", "#233", "#234", "#235", "#236", "#237", "#238", "#239", "#240", "#241", "#242", "#243", "#244", "#245", "#246", "#247", "#248", "#249", "#250", "#251", "#252" "#253", "#254", "#255" }; char *dos_codeset[256] = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, NULL,NULL,NULL,NULL,NULL,NULL, "amp", /* */ NULL, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, NULL,NULL,NULL,NULL, "lt", /* */ NULL, "gt", /* */ NULL, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, "nbsp" , /* */ "iexcl" , /* */ "cent" , /* */ "pound" , /* */ "curren", /* */ "yen" , /* */ "brvbar", /* */ "sect" , /* */ "uml" , /* */ "copy" , /* */ "ordf" , /* */ "laquo" , /* */ "not" , /* */ "shy" , /* */ "reg" , /* */ "macr" , /* */ "deg" , /* */ "plusmn", /* */ "sup2" , /* */ "sup3" , /* */ "acute" , /* */ "micro" , /* */ "para" , /* */ "middot", /* */ "cedil" , /* */ "sup1" , /* */ "ordm" , /* */ "raquo" , /* */ "frac14", /* */ "frac12", /* */ "frac34", /* */ "iquest", /* */ "Agrave", /* */ "Aacute", /* */ "Acirc" , /* */ "Atilde", /* */ "Auml" , /* */ "Aring" , /* */ "AElig" , /* */ "Ccedil", /* */ "Egrave", /* */ "Eacute", /* */ "Ecirc" , /* */ "Euml" , /* */ "Igrave", /* */ "Iacute", /* */ "Icirc" , /* */ "Iuml" , /* */ "ETH" , /* */ "Ntilde", /* */ "Ograve", /* */ "Oacute", /* */ "Ocirc" , /* */ "Otilde", /* */ "Ouml" , /* */ "times" , /* */ "Oslash", /* */ "Ugrave", /* */ "Uacute", /* */ "Ucirc" , /* */ "Uuml" , /* */ "Yacute", /* */ "THORN" , /* */ "szlig" , /* */ "agrave", /* */ "aacute", /* */ "acirc" , /* */ "atilde", /* */ "auml" , /* */ "aring" , /* */ "aelig" , /* */ "ccedil", /* */ "egrave", /* */ "eacute", /* */ "ecirc" , /* */ "euml" , /* */ "igrave", /* */ "iacute", /* */ "icirc" , /* */ "iuml" , /* */ "eth" , /* */ "ntilde", /* */ "ograve", /* */ "oacute", /* */ "ocirc" , /* */ "otilde", /* */ "ouml" , /* */ "divide", /* */ "oslash", /* */ "ugrave", /* */ "uacute", /* */ "ucirc" , /* */ "uuml" , /* */ "yacute", /* */ "thorn" , /* */ "yuml" /* */ }; char *mac_codeset[256] = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, NULL,NULL,NULL,NULL,NULL,NULL, "amp", /* */ NULL, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, NULL,NULL,NULL,NULL, "lt", /* */ NULL, "gt", /* */ NULL, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, "nbsp" , /* */ "iexcl" , /* */ "cent" , /* */ "pound" , /* */ "curren", /* */ "yen" , /* */ "brvbar", /* */ "sect" , /* */ "uml" , /* */ "copy" , /* */ "ordf" , /* */ "laquo" , /* */ "not" , /* */ "shy" , /* */ "reg" , /* */ "macr" , /* */ "deg" , /* */ "plusmn", /* */ "sup2" , /* */ "sup3" , /* */ "acute" , /* */ "micro" , /* */ "para" , /* */ "middot", /* */ "cedil" , /* */ "sup1" , /* */ "ordm" , /* */ "raquo" , /* */ "frac14", /* */ "frac12", /* */ "frac34", /* */ "iquest", /* */ "Agrave", /* */ "Aacute", /* */ "Acirc" , /* */ "Atilde", /* */ "Auml" , /* */ "Aring" , /* */ "AElig" , /* */ "Ccedil", /* */ "Egrave", /* */ "Eacute", /* */ "Ecirc" , /* */ "Euml" , /* */ "Igrave", /* */ "Iacute", /* */ "Icirc" , /* */ "Iuml" , /* */ "ETH" , /* */ "Ntilde", /* */ "Ograve", /* */ "Oacute", /* */ "Ocirc" , /* */ "Otilde", /* */ "Ouml" , /* */ "times" , /* */ "Oslash", /* */ "Ugrave", /* */ "Uacute", /* */ "Ucirc" , /* */ "Uuml" , /* */ "Yacute", /* */ "THORN" , /* */ "szlig" , /* */ "agrave", /* */ "aacute", /* */ "acirc" , /* */ "atilde", /* */ "auml" , /* */ "aring" , /* */ "aelig" , /* */ "ccedil", /* */ "egrave", /* */ "eacute", /* */ "ecirc" , /* */ "euml" , /* */ "igrave", /* */ "iacute", /* */ "icirc" , /* */ "iuml" , /* */ "eth" , /* */ "ntilde", /* */ "ograve", /* */ "oacute", /* */ "ocirc" , /* */ "otilde", /* */ "ouml" , /* */ "divide", /* */ "oslash", /* */ "ugrave", /* */ "uacute", /* */ "ucirc" , /* */ "uuml" , /* */ "yacute", /* */ "thorn" , /* */ "yuml" /* */ }; #ifdef TEST int main (int argc, char *argv[]) { int k; for (k=0; k < sizeof(iso8859_1)/sizeof(char *); k++) { if (iso8859_1[k]) printf ("\n",iso8859_1[k],k); else printf ("\n",k); } } #endif /*----------------------------------------------------------------------*\ \*----------------------------------------------------------------------*/