diff options
author | ru <ru@FreeBSD.org> | 2005-10-20 10:47:26 +0000 |
---|---|---|
committer | ru <ru@FreeBSD.org> | 2005-10-20 10:47:26 +0000 |
commit | a46effd45406e471462ec7bf493d86451cfa6e6a (patch) | |
tree | 0cc226b6c08790482f5bf91217129863d419b66c /contrib/groff/src | |
parent | b22adb8e7c253c75fb05127eeeaef2968232b32a (diff) | |
download | FreeBSD-src-a46effd45406e471462ec7bf493d86451cfa6e6a.zip FreeBSD-src-a46effd45406e471462ec7bf493d86451cfa6e6a.tar.gz |
This commit was generated by cvs2svn to compensate for changes in r151500,
which included commits to RCS files with non-trunk default branches.
Diffstat (limited to 'contrib/groff/src')
47 files changed, 0 insertions, 9746 deletions
diff --git a/contrib/groff/src/include/groff-getopt.h b/contrib/groff/src/include/groff-getopt.h deleted file mode 100644 index a30e197..0000000 --- a/contrib/groff/src/include/groff-getopt.h +++ /dev/null @@ -1,68 +0,0 @@ -// -*- C++ -*- -/* Copyright (C) 2000, 2001 Free Software Foundation, Inc. - Written by Werner Lemberg (wl@gnu.org) - -This file is part of groff. - -groff is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 2, or (at your option) any later -version. - -groff is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License along -with groff; see the file COPYING. If not, write to the Free Software -Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -/* - This file has to be included from within lib.h instead of getopt.h - to avoid problems with picky C++ compilers. -*/ - -#ifndef _GROFF_GETOPT_H -#define _GROFF_GETOPT_H - -#ifdef __cplusplus -extern "C" { -#endif - -extern char *optarg; -extern int optind; -extern int opterr; -extern int optopt; - -struct option -{ - const char *name; - int has_arg; - int *flag; - int val; -}; - -#define no_argument 0 -#define required_argument 1 -#define optional_argument 2 - -extern int getopt(int, // __argc - char *const *, // __argv - const char *); // __shortopts -extern int getopt_long(int, // __argc - char *const *, // __argv - const char *, // __shortopts - const struct option *, // __longopts - int *); // __longind -extern int getopt_long_only(int, // __argc - char *const *, // __argv - const char *, // __shortopts - const struct option *, // __longopts - int *); // __longind - -#ifdef __cplusplus -} -#endif - -#endif /* _GROFF_GETOPT_H */ diff --git a/contrib/groff/src/libs/libgroff/progname.cpp b/contrib/groff/src/libs/libgroff/progname.cpp deleted file mode 100644 index a70e341..0000000 --- a/contrib/groff/src/libs/libgroff/progname.cpp +++ /dev/null @@ -1 +0,0 @@ -const char *program_name = 0; diff --git a/contrib/groff/src/roff/troff/glyphuni.cpp b/contrib/groff/src/roff/troff/glyphuni.cpp deleted file mode 100644 index 7e242ce..0000000 --- a/contrib/groff/src/roff/troff/glyphuni.cpp +++ /dev/null @@ -1,503 +0,0 @@ -// -*- C++ -*- -/* Copyright (C) 2002, 2003 - Free Software Foundation, Inc. - Written by Werner Lemberg <wl@gnu.org> - -This file is part of groff. - -groff is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 2, or (at your option) any later -version. - -groff is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License along -with groff; see the file COPYING. If not, write to the Free Software -Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -#include "lib.h" -#include "stringclass.h" -#include "ptable.h" - -#include "unicode.h" - -struct glyph_to_unicode { - char *value; -}; - -declare_ptable(glyph_to_unicode) -implement_ptable(glyph_to_unicode) - -PTABLE(glyph_to_unicode) glyph_to_unicode_table; - -struct { - const char *key; - const char *value; -} glyph_to_unicode_list[] = { - { "!", "0021" }, - { "\"", "0022" }, - { "dq", "0022" }, - { "#", "0023" }, - { "sh", "0023" }, - { "$", "0024" }, - { "Do", "0024" }, - { "%", "0025" }, - { "&", "0026" }, - { "aq", "0027" }, - { "(", "0028" }, - { ")", "0029" }, - { "*", "002A" }, - { "+", "002B" }, - { "pl", "002B" }, - { ",", "002C" }, - { ".", "002E" }, - { "/", "002F" }, - { "sl", "002F" }, - { "0", "0030" }, - { "1", "0031" }, - { "2", "0032" }, - { "3", "0033" }, - { "4", "0034" }, - { "5", "0035" }, - { "6", "0036" }, - { "7", "0037" }, - { "8", "0038" }, - { "9", "0039" }, - { ":", "003A" }, - { ";", "003B" }, - { "<", "003C" }, - { "=", "003D" }, - { "eq", "003D" }, - { ">", "003E" }, - { "?", "003F" }, - { "@", "0040" }, - { "at", "0040" }, - { "A", "0041" }, - { "B", "0042" }, - { "C", "0043" }, - { "D", "0044" }, - { "E", "0045" }, - { "F", "0046" }, - { "G", "0047" }, - { "H", "0048" }, - { "I", "0049" }, - { "J", "004A" }, - { "K", "004B" }, - { "L", "004C" }, - { "M", "004D" }, - { "N", "004E" }, - { "O", "004F" }, - { "P", "0050" }, - { "Q", "0051" }, - { "R", "0052" }, - { "S", "0053" }, - { "T", "0054" }, - { "U", "0055" }, - { "V", "0056" }, - { "W", "0057" }, - { "X", "0058" }, - { "Y", "0059" }, - { "Z", "005A" }, -//{ "[", "005B" }, - { "lB", "005B" }, -//{ "\\", "005C" }, - { "rs", "005C" }, -//{ "]", "005D" }, - { "rB", "005D" }, - { "a^", "005E" }, - { "^", "005E" }, - { "ha", "005E" }, - { "_", "005F" }, - { "ru", "005F" }, - { "ul", "005F" }, -//{ "\\`", "0060" }, - { "ga", "0060" }, - { "a", "0061" }, - { "b", "0062" }, - { "c", "0063" }, - { "d", "0064" }, - { "e", "0065" }, - { "f", "0066" }, - { "ff", "0066_0066" }, - { "Fi", "0066_0066_0069" }, - { "Fl", "0066_0066_006C" }, - { "fi", "0066_0069" }, - { "fl", "0066_006C" }, - { "g", "0067" }, - { "h", "0068" }, - { "i", "0069" }, - { "j", "006A" }, - { "k", "006B" }, - { "l", "006C" }, - { "m", "006D" }, - { "n", "006E" }, - { "o", "006F" }, - { "p", "0070" }, - { "q", "0071" }, - { "r", "0072" }, - { "s", "0073" }, - { "t", "0074" }, - { "u", "0075" }, - { "v", "0076" }, - { "w", "0077" }, - { "x", "0078" }, - { "y", "0079" }, - { "z", "007A" }, - { "lC", "007B" }, - { "{", "007B" }, - { "ba", "007C" }, - { "or", "007C" }, - { "|", "007C" }, - { "rC", "007D" }, - { "}", "007D" }, - { "a~", "007E" }, - { "~", "007E" }, - { "ti", "007E" }, - { "r!", "00A1" }, - { "ct", "00A2" }, - { "Po", "00A3" }, - { "Cs", "00A4" }, - { "Ye", "00A5" }, - { "bb", "00A6" }, - { "sc", "00A7" }, - { "ad", "00A8" }, - { "co", "00A9" }, - { "Of", "00AA" }, - { "Fo", "00AB" }, - { "no", "00AC" }, - { "tno", "00AC" }, - { "shc", "00AD" }, - { "rg", "00AE" }, - { "a-", "00AF" }, - { "de", "00B0" }, - { "+-", "00B1" }, - { "t+-", "00B1" }, - { "S2", "00B2" }, - { "S3", "00B3" }, - { "aa", "00B4" }, -//{ "\\'", "00B4" }, - { "mc", "00B5" }, - { "ps", "00B6" }, - { "pc", "00B7" }, - { "ac", "00B8" }, - { "S1", "00B9" }, - { "Om", "00BA" }, - { "Fc", "00BB" }, - { "14", "00BC" }, - { "12", "00BD" }, - { "34", "00BE" }, - { "r?", "00BF" }, - { "`A", "00C0" }, - { "'A", "00C1" }, - { "^A", "00C2" }, - { "~A", "00C3" }, - { ":A", "00C4" }, - { "oA", "00C5" }, - { "AE", "00C6" }, - { ",C", "00C7" }, - { "`E", "00C8" }, - { "'E", "00C9" }, - { "^E", "00CA" }, - { ":E", "00CB" }, - { "`I", "00CC" }, - { "'I", "00CD" }, - { "^I", "00CE" }, - { ":I", "00CF" }, - { "-D", "00D0" }, - { "~N", "00D1" }, - { "`O", "00D2" }, - { "'O", "00D3" }, - { "^O", "00D4" }, - { "~O", "00D5" }, - { ":O", "00D6" }, - { "mu", "00D7" }, - { "tmu", "00D7" }, - { "/O", "00D8" }, - { "`U", "00D9" }, - { "'U", "00DA" }, - { "^U", "00DB" }, - { ":U", "00DC" }, - { "'Y", "00DD" }, - { "TP", "00DE" }, - { "ss", "00DF" }, - { "`a", "00E0" }, - { "'a", "00E1" }, - { "^a", "00E2" }, - { "~a", "00E3" }, - { ":a", "00E4" }, - { "oa", "00E5" }, - { "ae", "00E6" }, - { ",c", "00E7" }, - { "`e", "00E8" }, - { "'e", "00E9" }, - { "^e", "00EA" }, - { ":e", "00EB" }, - { "`i", "00EC" }, - { "'i", "00ED" }, - { "^i", "00EE" }, - { ":i", "00EF" }, - { "Sd", "00F0" }, - { "~n", "00F1" }, - { "`o", "00F2" }, - { "'o", "00F3" }, - { "^o", "00F4" }, - { "~o", "00F5" }, - { ":o", "00F6" }, - { "di", "00F7" }, - { "tdi", "00F7" }, - { "/o", "00F8" }, - { "`u", "00F9" }, - { "'u", "00FA" }, - { "^u", "00FB" }, - { ":u", "00FC" }, - { "'y", "00FD" }, - { "Tp", "00FE" }, - { ":y", "00FF" }, - { "'C", "0106" }, - { "'c", "0107" }, - { ".i", "0131" }, - { "IJ", "0132" }, - { "ij", "0133" }, - { "/L", "0141" }, - { "/l", "0142" }, - { "OE", "0152" }, - { "oe", "0153" }, - { "vS", "0160" }, - { "vs", "0161" }, - { ":Y", "0178" }, - { "vZ", "017D" }, - { "vz", "017E" }, - { "Fn", "0192" }, - { "ah", "02C7" }, - { "ab", "02D8" }, - { "a.", "02D9" }, - { "ao", "02DA" }, - { "ho", "02DB" }, - { "a\"", "02DD" }, - { "*A", "0391" }, - { "*B", "0392" }, - { "*G", "0393" }, - { "*D", "0394" }, - { "*E", "0395" }, - { "*Z", "0396" }, - { "*Y", "0397" }, - { "*H", "0398" }, - { "*I", "0399" }, - { "*K", "039A" }, - { "*L", "039B" }, - { "*M", "039C" }, - { "*N", "039D" }, - { "*C", "039E" }, - { "*O", "039F" }, - { "*P", "03A0" }, - { "*R", "03A1" }, - { "*S", "03A3" }, - { "*T", "03A4" }, - { "*U", "03A5" }, - { "*F", "03A6" }, - { "*X", "03A7" }, - { "*Q", "03A8" }, - { "*W", "03A9" }, - { "*a", "03B1" }, - { "*b", "03B2" }, - { "*g", "03B3" }, - { "*d", "03B4" }, - { "*e", "03B5" }, - { "*z", "03B6" }, - { "*y", "03B7" }, - { "*h", "03B8" }, - { "*i", "03B9" }, - { "*k", "03BA" }, - { "*l", "03BB" }, - { "*m", "03BC" }, - { "*n", "03BD" }, - { "*c", "03BE" }, - { "*o", "03BF" }, - { "*p", "03C0" }, - { "*r", "03C1" }, - { "ts", "03C2" }, - { "*s", "03C3" }, - { "*t", "03C4" }, - { "*u", "03C5" }, - { "*f", "03C6" }, - { "*x", "03C7" }, - { "*q", "03C8" }, - { "*w", "03C9" }, - { "+h", "03D1" }, - { "+f", "03D5" }, - { "+p", "03D6" }, - { "+e", "03F5" }, - { "-", "2010" }, - { "hy", "2010" }, - { "en", "2013" }, - { "em", "2014" }, - { "`", "2018" }, - { "oq", "2018" }, - { "'", "2019" }, - { "cq", "2019" }, - { "bq", "201A" }, - { "lq", "201C" }, - { "rq", "201D" }, - { "Bq", "201E" }, - { "dg", "2020" }, - { "dd", "2021" }, - { "bu", "2022" }, - { "%0", "2030" }, - { "fm", "2032" }, - { "sd", "2033" }, - { "fo", "2039" }, - { "fc", "203A" }, - { "rn", "203E" }, - { "f/", "2044" }, - { "eu", "20AC" }, - { "Eu", "20AC" }, - { "-h", "210F" }, - { "hbar", "210F" }, - { "Im", "2111" }, - { "wp", "2118" }, - { "Re", "211C" }, - { "tm", "2122" }, - { "Ah", "2135" }, - { "18", "215B" }, - { "38", "215C" }, - { "58", "215D" }, - { "78", "215E" }, - { "<-", "2190" }, - { "ua", "2191" }, - { "->", "2192" }, - { "da", "2193" }, - { "<>", "2194" }, - { "va", "2195" }, - { "CR", "21B5" }, - { "lA", "21D0" }, - { "uA", "21D1" }, - { "rA", "21D2" }, - { "dA", "21D3" }, - { "hA", "21D4" }, - { "vA", "21D5" }, - { "fa", "2200" }, - { "pd", "2202" }, - { "te", "2203" }, - { "es", "2205" }, - { "gr", "2207" }, - { "mo", "2208" }, - { "nm", "2209" }, - { "st", "220B" }, - { "product", "220F" }, - { "sum", "2211" }, -//{ "\\-", "2212" }, - { "mi", "2212" }, - { "-+", "2213" }, - { "**", "2217" }, - { "sr", "221A" }, - { "pt", "221D" }, - { "if", "221E" }, - { "/_", "2220" }, - { "AN", "2227" }, - { "OR", "2228" }, - { "ca", "2229" }, - { "cu", "222A" }, - { "is", "222B" }, - { "integral", "222B" }, - { "tf", "2234" }, - { "3d", "2234" }, - { "ap", "223C" }, - { "|=", "2243" }, - { "=~", "2245" }, - { "~~", "2248" }, - { "~=", "2248" }, - { "!=", "2260" }, - { "==", "2261" }, - { "ne", "2262" }, - { "<=", "2264" }, - { ">=", "2265" }, - { ">>", "226A" }, - { "<<", "226B" }, - { "sb", "2282" }, - { "sp", "2283" }, - { "nb", "2284" }, - { "nc", "2285" }, - { "ib", "2286" }, - { "ip", "2287" }, - { "c+", "2295" }, - { "c*", "2297" }, - { "pp", "22A5" }, - { "md", "22C5" }, - { "lc", "2308" }, - { "rc", "2309" }, - { "lf", "230A" }, - { "rf", "230B" }, - { "parenlefttp", "239B" }, - { "parenleftex", "239C" }, - { "parenleftbt", "239D" }, - { "parenrighttp", "239E" }, - { "parenrightex", "239F" }, - { "parenrightbt", "23A0" }, - { "bracketlefttp", "23A1" }, - { "bracketleftex", "23A2" }, - { "bracketleftbt", "23A3" }, - { "bracketrighttp", "23A4" }, - { "bracketrightex", "23A5" }, - { "bracketrightbt", "23A6" }, - { "lt", "23A7" }, - { "bracelefttp", "23A7" }, - { "lk", "23A8" }, - { "braceleftmid", "23A8" }, - { "lb", "23A9" }, - { "braceleftbt", "23A9" }, - { "bv", "23AA" }, - { "braceex", "23AA" }, - { "braceleftex", "23AA" }, - { "bracerightex", "23AA" }, - { "rt", "23AB" }, - { "bracerighttp", "23AB" }, - { "rk", "23AC" }, - { "bracerightmid", "23AC" }, - { "rb", "23AD" }, - { "bracerightbt", "23AD" }, - { "an", "23AF" }, - { "br", "2502" }, - { "rk", "251D" }, - { "lk", "2525" }, - { "lt", "256D" }, - { "rt", "256E" }, - { "rb", "256F" }, - { "lb", "2570" }, - { "sq", "25A1" }, - { "lz", "25CA" }, - { "ci", "25CB" }, - { "lh", "261C" }, - { "rh", "261E" }, - { "SP", "2660" }, - { "CL", "2663" }, - { "HE", "2665" }, - { "DI", "2666" }, - { "OK", "2713" }, - { "la", "27E8" }, - { "ra", "27E9" }, -}; - -// global constructor -static struct glyph_to_unicode_init { - glyph_to_unicode_init(); -} _glyph_to_unicode_init; - -glyph_to_unicode_init::glyph_to_unicode_init() { - for (unsigned int i = 0; - i < sizeof(glyph_to_unicode_list)/sizeof(glyph_to_unicode_list[0]); - i++) { - glyph_to_unicode *gtu = new glyph_to_unicode[1]; - gtu->value = (char *)glyph_to_unicode_list[i].value; - glyph_to_unicode_table.define(glyph_to_unicode_list[i].key, gtu); - } -} - -const char *glyph_name_to_unicode(const char *s) -{ - glyph_to_unicode *result = glyph_to_unicode_table.lookup(s); - return result ? result->value : 0; -} diff --git a/contrib/groff/src/roff/troff/symbol.cpp b/contrib/groff/src/roff/troff/symbol.cpp deleted file mode 100644 index 09f4c98..0000000 --- a/contrib/groff/src/roff/troff/symbol.cpp +++ /dev/null @@ -1,154 +0,0 @@ -// -*- C++ -*- -/* Copyright (C) 1989, 1990, 1991, 1992, 2002 Free Software Foundation, Inc. - Written by James Clark (jjc@jclark.com) - -This file is part of groff. - -groff is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 2, or (at your option) any later -version. - -groff is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License along -with groff; see the file COPYING. If not, write to the Free Software -Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - - -#include "troff.h" -#include "symbol.h" - -const char **symbol::table = 0; -int symbol::table_used = 0; -int symbol::table_size = 0; -char *symbol::block = 0; -int symbol::block_size = 0; - -const symbol NULL_SYMBOL; -const symbol EMPTY_SYMBOL(""); - -#ifdef BLOCK_SIZE -#undef BLOCK_SIZE -#endif - -const int BLOCK_SIZE = 1024; -// the table will increase in size as necessary -// the size will be chosen from the following array -// add some more if you want -static const unsigned int table_sizes[] = { - 101, 503, 1009, 2003, 3001, 4001, 5003, 10007, 20011, 40009, 80021, - 160001, 500009, 1000003, 1500007, 2000003, 0 -}; -const double FULL_MAX = 0.3; // don't let the table get more than this full - -static unsigned int hash_string(const char *p) -{ - // compute a hash code; this assumes 32-bit unsigned ints - // see p436 of Compilers by Aho, Sethi & Ullman - // give special treatment to two-character names - unsigned int hc = 0, g; - if (*p != 0) { - hc = *p++; - if (*p != 0) { - hc <<= 7; - hc += *p++; - for (; *p != 0; p++) { - hc <<= 4; - hc += *p; - if ((g = (hc & 0xf0000000)) == 0) { - hc ^= g >> 24; - hc ^= g; - } - } - } - } - return hc; -} - -// Tell compiler that a variable is intentionally unused. -inline void unused(void *) { } - -symbol::symbol(const char *p, int how) -{ - if (p == 0) { - s = 0; - return; - } - if (*p == 0) { - s = ""; - return; - } - if (table == 0) { - table_size = table_sizes[0]; - table = (const char **)new char*[table_size]; - for (int i = 0; i < table_size; i++) - table[i] = 0; - table_used = 0; - } - unsigned int hc = hash_string(p); - const char **pp; - for (pp = table + hc % table_size; - *pp != 0; - (pp == table ? pp = table + table_size - 1 : --pp)) - if (strcmp(p, *pp) == 0) { - s = *pp; - return; - } - if (how == MUST_ALREADY_EXIST) { - s = 0; - return; - } - if (table_used >= table_size - 1 || table_used >= table_size*FULL_MAX) { - const char **old_table = table; - unsigned int old_table_size = table_size; - int i; - for (i = 1; table_sizes[i] <= old_table_size; i++) - if (table_sizes[i] == 0) - fatal("too many symbols"); - table_size = table_sizes[i]; - table_used = 0; - table = (const char **)new char*[table_size]; - for (i = 0; i < table_size; i++) - table[i] = 0; - for (pp = old_table + old_table_size - 1; - pp >= old_table; - --pp) { - symbol temp(*pp, 1); /* insert it into the new table */ - unused(&temp); - } - a_delete old_table; - for (pp = table + hc % table_size; - *pp != 0; - (pp == table ? pp = table + table_size - 1 : --pp)) - ; - } - ++table_used; - if (how == DONT_STORE) { - s = *pp = p; - } - else { - int len = strlen(p)+1; - if (block == 0 || block_size < len) { - block_size = len > BLOCK_SIZE ? len : BLOCK_SIZE; - block = new char [block_size]; - } - (void)strcpy(block, p); - s = *pp = block; - block += len; - block_size -= len; - } -} - -symbol concat(symbol s1, symbol s2) -{ - char *buf = new char [strlen(s1.contents()) + strlen(s2.contents()) + 1]; - strcpy(buf, s1.contents()); - strcat(buf, s2.contents()); - symbol res(buf); - a_delete buf; - return res; -} diff --git a/contrib/groff/src/roff/troff/symbol.h b/contrib/groff/src/roff/troff/symbol.h deleted file mode 100644 index 5b7c9b1..0000000 --- a/contrib/groff/src/roff/troff/symbol.h +++ /dev/null @@ -1,80 +0,0 @@ -// -*- C++ -*- -/* Copyright (C) 1989, 1990, 1991, 1992, 2002 Free Software Foundation, Inc. - Written by James Clark (jjc@jclark.com) - -This file is part of groff. - -groff is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 2, or (at your option) any later -version. - -groff is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License along -with groff; see the file COPYING. If not, write to the Free Software -Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -#define DONT_STORE 1 -#define MUST_ALREADY_EXIST 2 - -class symbol { - static const char **table; - static int table_used; - static int table_size; - static char *block; - static int block_size; - const char *s; -public: - symbol(const char *p, int how = 0); - symbol(); - unsigned long hash() const; - int operator ==(symbol) const; - int operator !=(symbol) const; - const char *contents() const; - int is_null() const; - int is_empty() const; -}; - - -extern const symbol NULL_SYMBOL; -extern const symbol EMPTY_SYMBOL; - -inline symbol::symbol() : s(0) -{ -} - -inline int symbol::operator==(symbol p) const -{ - return s == p.s; -} - -inline int symbol::operator!=(symbol p) const -{ - return s != p.s; -} - -inline unsigned long symbol::hash() const -{ - return (unsigned long)s; -} - -inline const char *symbol::contents() const -{ - return s; -} - -inline int symbol::is_null() const -{ - return s == 0; -} - -inline int symbol::is_empty() const -{ - return s != 0 && *s == 0; -} - -symbol concat(symbol, symbol); diff --git a/contrib/groff/src/roff/troff/unicode.cpp b/contrib/groff/src/roff/troff/unicode.cpp deleted file mode 100644 index 2117463..0000000 --- a/contrib/groff/src/roff/troff/unicode.cpp +++ /dev/null @@ -1,67 +0,0 @@ -// -*- C++ -*- -/* Copyright (C) 2002 - Free Software Foundation, Inc. - Written by Werner Lemberg <wl@gnu.org> - -This file is part of groff. - -groff is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 2, or (at your option) any later -version. - -groff is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License along -with groff; see the file COPYING. If not, write to the Free Software -Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -#include "lib.h" -#include "cset.h" -#include "stringclass.h" - -#include "unicode.h" - -const char *check_unicode_name(const char *u) -{ - if (*u != 'u') - return 0; - const char *p = ++u; - for (;;) { - int val = 0; - const char *start = p; - for (;;) { - // only uppercase hex digits allowed - if (!csxdigit(*p)) - return 0; - if (csdigit(*p)) - val = val*0x10 + (*p-'0'); - else if (csupper(*p)) - val = val*0x10 + (*p-'A'+10); - else - return 0; - // biggest Unicode value is U+10FFFF - if (val > 0x10FFFF) - return 0; - p++; - if (*p == '\0' || *p == '_') - break; - } - // surrogates not allowed - if ((val >= 0xD800 && val <= 0xDBFF) || (val >= 0xDC00 && val <= 0xDFFF)) - return 0; - if (val > 0xFFFF) { - if (*start == '0') // no leading zeros allowed if > 0xFFFF - return 0; - } - else if (p - start != 4) // otherwise, check for exactly 4 hex digits - return 0; - if (*p == '\0') - break; - p++; - } - return u; -} diff --git a/contrib/groff/src/roff/troff/unicode.h b/contrib/groff/src/roff/troff/unicode.h deleted file mode 100644 index 846a70e..0000000 --- a/contrib/groff/src/roff/troff/unicode.h +++ /dev/null @@ -1,26 +0,0 @@ -// -*- C++ -*- -/* Copyright (C) 2002 - Free Software Foundation, Inc. - Written by Werner Lemberg <wl@gnu.org> - -This file is part of groff. - -groff is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 2, or (at your option) any later -version. - -groff is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License along -with groff; see the file COPYING. If not, write to the Free Software -Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -extern const char *glyph_name_to_unicode(const char *); -extern const char *unicode_to_glyph_name(const char *); -extern const char *decompose_unicode(const char *); - -extern const char *check_unicode_name(const char *); diff --git a/contrib/groff/src/roff/troff/uniglyph.cpp b/contrib/groff/src/roff/troff/uniglyph.cpp deleted file mode 100644 index 3428605..0000000 --- a/contrib/groff/src/roff/troff/uniglyph.cpp +++ /dev/null @@ -1,503 +0,0 @@ -// -*- C++ -*- -/* Copyright (C) 2002, 2003 - Free Software Foundation, Inc. - Written by Werner Lemberg <wl@gnu.org> - -This file is part of groff. - -groff is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 2, or (at your option) any later -version. - -groff is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License along -with groff; see the file COPYING. If not, write to the Free Software -Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -#include "lib.h" -#include "stringclass.h" -#include "ptable.h" - -#include "unicode.h" - -struct unicode_to_glyph { - char *value; -}; - -declare_ptable(unicode_to_glyph) -implement_ptable(unicode_to_glyph) - -PTABLE(unicode_to_glyph) unicode_to_glyph_table; - -struct { - const char *key; - const char *value; -} unicode_to_glyph_list[] = { - { "0021", "!" }, -//{ "0022", "\"" }, - { "0022", "dq" }, -//{ "0023", "#" }, - { "0023", "sh" }, -//{ "0024", "$" }, - { "0024", "Do" }, - { "0025", "%" }, - { "0026", "&" }, - { "0027", "aq" }, - { "0028", "(" }, - { "0029", ")" }, - { "002A", "*" }, -//{ "002B", "+" }, - { "002B", "pl" }, - { "002C", "," }, - { "002E", "." }, -//{ "002F", "/" }, - { "002F", "sl" }, - { "0030", "0" }, - { "0031", "1" }, - { "0032", "2" }, - { "0033", "3" }, - { "0034", "4" }, - { "0035", "5" }, - { "0036", "6" }, - { "0037", "7" }, - { "0038", "8" }, - { "0039", "9" }, - { "003A", ":" }, - { "003B", ";" }, - { "003C", "<" }, -//{ "003D", "=" }, - { "003D", "eq" }, - { "003D_0338", "!=" }, - { "003E", ">" }, - { "003F", "?" }, -//{ "0040", "@" }, - { "0040", "at" }, - { "0041", "A" }, - { "0041_0300", "`A" }, - { "0041_0301", "'A" }, - { "0041_0302", "^A" }, - { "0041_0303", "~A" }, - { "0041_0308", ":A" }, - { "0041_030A", "oA" }, - { "0042", "B" }, - { "0043", "C" }, - { "0043_0301", "'C" }, - { "0043_0327", ",C" }, - { "0044", "D" }, - { "0045", "E" }, - { "0045_0300", "`E" }, - { "0045_0301", "'E" }, - { "0045_0302", "^E" }, - { "0045_0308", ":E" }, - { "0046", "F" }, - { "0047", "G" }, - { "0048", "H" }, - { "0049", "I" }, - { "0049_0300", "`I" }, - { "0049_0301", "'I" }, - { "0049_0302", "^I" }, - { "0049_0308", ":I" }, - { "004A", "J" }, - { "004B", "K" }, - { "004C", "L" }, - { "004D", "M" }, - { "004E", "N" }, - { "004E_0303", "~N" }, - { "004F", "O" }, - { "004F_0300", "`O" }, - { "004F_0301", "'O" }, - { "004F_0302", "^O" }, - { "004F_0303", "~O" }, - { "004F_0308", ":O" }, - { "0050", "P" }, - { "0051", "Q" }, - { "0052", "R" }, - { "0053", "S" }, - { "0053_030C", "vS" }, - { "0054", "T" }, - { "0055", "U" }, - { "0055_0300", "`U" }, - { "0055_0301", "'U" }, - { "0055_0302", "^U" }, - { "0055_0308", ":U" }, - { "0056", "V" }, - { "0057", "W" }, - { "0058", "X" }, - { "0059", "Y" }, - { "0059_0301", "'Y" }, - { "0059_0308", ":Y" }, - { "005A", "Z" }, - { "005A_030C", "vZ" }, - { "005B", "lB" }, -//{ "005B", "[" }, - { "005C", "rs" }, -//{ "005C", "\\" }, - { "005D", "rB" }, -//{ "005D", "]" }, -//{ "005E", "^" }, -//{ "005E", "a^" }, - { "005E", "ha" }, -//{ "005F", "_" }, -//{ "005F", "ru" }, - { "005F", "ul" }, - { "0060", "ga" }, -//{ "0060", "\\`" }, - { "0061", "a" }, - { "0061_0300", "`a" }, - { "0061_0301", "'a" }, - { "0061_0302", "^a" }, - { "0061_0303", "~a" }, - { "0061_0308", ":a" }, - { "0061_030A", "oa" }, - { "0062", "b" }, - { "0063", "c" }, - { "0063_0301", "'c" }, - { "0063_0327", ",c" }, - { "0064", "d" }, - { "0065", "e" }, - { "0065_0300", "`e" }, - { "0065_0301", "'e" }, - { "0065_0302", "^e" }, - { "0065_0308", ":e" }, - { "0066", "f" }, - { "0066_0066", "ff" }, - { "0066_0066_0069", "Fi" }, - { "0066_0066_006C", "Fl" }, - { "0066_0069", "fi" }, - { "0066_006C", "fl" }, - { "0067", "g" }, - { "0068", "h" }, - { "0069", "i" }, - { "0069_0300", "`i" }, - { "0069_0301", "'i" }, - { "0069_0302", "^i" }, - { "0069_0308", ":i" }, - { "006A", "j" }, - { "006B", "k" }, - { "006C", "l" }, - { "006D", "m" }, - { "006E", "n" }, - { "006E_0303", "~n" }, - { "006F", "o" }, - { "006F_0300", "`o" }, - { "006F_0301", "'o" }, - { "006F_0302", "^o" }, - { "006F_0303", "~o" }, - { "006F_0308", ":o" }, - { "0070", "p" }, - { "0071", "q" }, - { "0072", "r" }, - { "0073", "s" }, - { "0073_030C", "vs" }, - { "0074", "t" }, - { "0075", "u" }, - { "0075_0300", "`u" }, - { "0075_0301", "'u" }, - { "0075_0302", "^u" }, - { "0075_0308", ":u" }, - { "0076", "v" }, - { "0077", "w" }, - { "0078", "x" }, - { "0079", "y" }, - { "0079_0301", "'y" }, - { "0079_0308", ":y" }, - { "007A", "z" }, - { "007A_030C", "vz" }, - { "007B", "lC" }, -//{ "007B", "{" }, - { "007C", "ba" }, -//{ "007C", "or" }, -//{ "007C", "|" }, - { "007D", "rC" }, -//{ "007D", "}" }, -//{ "007E", "a~" }, - { "007E", "ti" }, -//{ "007E", "~" }, - { "00A1", "r!" }, - { "00A2", "ct" }, - { "00A3", "Po" }, - { "00A4", "Cs" }, - { "00A5", "Ye" }, - { "00A6", "bb" }, - { "00A7", "sc" }, - { "00A8", "ad" }, - { "00A9", "co" }, - { "00AA", "Of" }, - { "00AB", "Fo" }, - { "00AC", "no" }, -//{ "00AC", "tno" }, - { "00AD", "shc" }, - { "00AE", "rg" }, - { "00AF", "a-" }, - { "00B0", "de" }, - { "00B1", "+-" }, -//{ "00B1", "t+-" }, - { "00B2", "S2" }, - { "00B3", "S3" }, - { "00B4", "aa" }, -//{ "00B4", "\\'" }, - { "00B5", "mc" }, - { "00B6", "ps" }, - { "00B7", "pc" }, - { "00B8", "ac" }, - { "00B9", "S1" }, - { "00BA", "Om" }, - { "00BB", "Fc" }, - { "00BC", "14" }, - { "00BD", "12" }, - { "00BE", "34" }, - { "00BF", "r?" }, - { "00C6", "AE" }, - { "00D0", "-D" }, - { "00D7", "mu" }, -//{ "00D7", "tmu" }, - { "00D8", "/O" }, - { "00DE", "TP" }, - { "00DF", "ss" }, - { "00E6", "ae" }, - { "00F0", "Sd" }, - { "00F7", "di" }, -//{ "00F7", "tdi" }, - { "00F8", "/o" }, - { "00FE", "Tp" }, - { "0131", ".i" }, - { "0132", "IJ" }, - { "0133", "ij" }, - { "0141", "/L" }, - { "0142", "/l" }, - { "0152", "OE" }, - { "0153", "oe" }, - { "0192", "Fn" }, - { "02C7", "ah" }, - { "02D8", "ab" }, - { "02D9", "a." }, - { "02DA", "ao" }, - { "02DB", "ho" }, - { "02DD", "a\"" }, - { "0391", "*A" }, - { "0392", "*B" }, - { "0393", "*G" }, - { "0394", "*D" }, - { "0395", "*E" }, - { "0396", "*Z" }, - { "0397", "*Y" }, - { "0398", "*H" }, - { "0399", "*I" }, - { "039A", "*K" }, - { "039B", "*L" }, - { "039C", "*M" }, - { "039D", "*N" }, - { "039E", "*C" }, - { "039F", "*O" }, - { "03A0", "*P" }, - { "03A1", "*R" }, - { "03A3", "*S" }, - { "03A4", "*T" }, - { "03A5", "*U" }, - { "03A6", "*F" }, - { "03A7", "*X" }, - { "03A8", "*Q" }, - { "03A9", "*W" }, - { "03B1", "*a" }, - { "03B2", "*b" }, - { "03B3", "*g" }, - { "03B4", "*d" }, - { "03B5", "*e" }, - { "03B6", "*z" }, - { "03B7", "*y" }, - { "03B8", "*h" }, - { "03B9", "*i" }, - { "03BA", "*k" }, - { "03BB", "*l" }, - { "03BC", "*m" }, - { "03BD", "*n" }, - { "03BE", "*c" }, - { "03BF", "*o" }, - { "03C0", "*p" }, - { "03C1", "*r" }, - { "03C2", "ts" }, - { "03C3", "*s" }, - { "03C4", "*t" }, - { "03C5", "*u" }, - { "03C6", "*f" }, - { "03C7", "*x" }, - { "03C8", "*q" }, - { "03C9", "*w" }, - { "03D1", "+h" }, - { "03D5", "+f" }, - { "03D6", "+p" }, - { "03F5", "+e" }, -//{ "2010", "-" }, - { "2010", "hy" }, - { "2013", "en" }, - { "2014", "em" }, -//{ "2018", "`" }, - { "2018", "oq" }, -//{ "2019", "'" }, - { "2019", "cq" }, - { "201A", "bq" }, - { "201C", "lq" }, - { "201D", "rq" }, - { "201E", "Bq" }, - { "2020", "dg" }, - { "2021", "dd" }, - { "2022", "bu" }, - { "2030", "%0" }, - { "2032", "fm" }, - { "2033", "sd" }, - { "2039", "fo" }, - { "203A", "fc" }, - { "203E", "rn" }, - { "2044", "f/" }, - { "20AC", "Eu" }, -//{ "20AC", "eu" }, - { "210F", "-h" }, -//{ "210F", "hbar" }, - { "2111", "Im" }, - { "2118", "wp" }, - { "211C", "Re" }, - { "2122", "tm" }, - { "2135", "Ah" }, - { "215B", "18" }, - { "215C", "38" }, - { "215D", "58" }, - { "215E", "78" }, - { "2190", "<-" }, - { "2191", "ua" }, - { "2192", "->" }, - { "2193", "da" }, - { "2194", "<>" }, - { "2195", "va" }, - { "21B5", "CR" }, - { "21D0", "lA" }, - { "21D1", "uA" }, - { "21D2", "rA" }, - { "21D3", "dA" }, - { "21D4", "hA" }, - { "21D5", "vA" }, - { "2200", "fa" }, - { "2202", "pd" }, - { "2203", "te" }, - { "2205", "es" }, - { "2207", "gr" }, - { "2208", "mo" }, - { "2208_0338", "nm" }, - { "220B", "st" }, - { "220F", "product" }, - { "2211", "sum" }, - { "2212", "mi" }, -//{ "2212", "\\-" }, - { "2213", "-+" }, - { "2217", "**" }, - { "221A", "sr" }, - { "221D", "pt" }, - { "221E", "if" }, - { "2220", "/_" }, - { "2227", "AN" }, - { "2228", "OR" }, - { "2229", "ca" }, - { "222A", "cu" }, - { "222B", "is" }, -//{ "222B", "integral" }, -//{ "2234", "3d" }, - { "2234", "tf" }, - { "223C", "ap" }, - { "2243", "|=" }, - { "2245", "=~" }, -//{ "2248", "~=" }, - { "2248", "~~" }, - { "2261", "==" }, - { "2261_0338", "ne" }, - { "2264", "<=" }, - { "2265", ">=" }, - { "226A", ">>" }, - { "226B", "<<" }, - { "2282", "sb" }, - { "2282_0338", "nb" }, - { "2283", "sp" }, - { "2283_0338", "nc" }, - { "2286", "ib" }, - { "2287", "ip" }, - { "2295", "c+" }, - { "2297", "c*" }, - { "22A5", "pp" }, - { "22C5", "md" }, - { "2308", "lc" }, - { "2309", "rc" }, - { "230A", "lf" }, - { "230B", "rf" }, - { "239B", "parenlefttp" }, - { "239C", "parenleftex" }, - { "239D", "parenleftbt" }, - { "239E", "parenrighttp" }, - { "239F", "parenrightex" }, - { "23A0", "parenrightbt" }, -//{ "23A1", "bracketlefttp" }, - { "23A2", "bracketleftex" }, -//{ "23A3", "bracketleftbt" }, -//{ "23A4", "bracketrighttp" }, - { "23A5", "bracketrightex" }, -//{ "23A6", "bracketrightbt" }, - { "23A7", "lt" }, -//{ "23A7", "bracelefttp" }, - { "23A8", "lk" }, -//{ "23A8", "braceleftmid" }, - { "23A9", "lb" }, -//{ "23A9", "braceleftbt" }, - { "23AA", "bv" }, -//{ "23AA", "braceex" }, -//{ "23AA", "braceleftex" }, -//{ "23AA", "bracerightex" }, - { "23AB", "rt" }, -//{ "23AB", "bracerighttp" }, - { "23AC", "rk" }, -//{ "23AC", "bracerightmid" }, - { "23AD", "rb" }, -//{ "23AD", "bracerightbt" }, - { "23AF", "an" }, - { "2502", "br" }, - { "251D", "rk" }, - { "2525", "lk" }, - { "256D", "lt" }, - { "256E", "rt" }, - { "256F", "rb" }, - { "2570", "lb" }, - { "25A1", "sq" }, - { "25CA", "lz" }, - { "25CB", "ci" }, - { "261C", "lh" }, - { "261E", "rh" }, - { "2660", "SP" }, - { "2663", "CL" }, - { "2665", "HE" }, - { "2666", "DI" }, - { "2713", "OK" }, - { "27E8", "la" }, - { "27E9", "ra" }, -}; - -// global constructor -static struct unicode_to_glyph_init { - unicode_to_glyph_init(); -} _unicode_to_glyph_init; - -unicode_to_glyph_init::unicode_to_glyph_init() { - for (unsigned int i = 0; - i < sizeof(unicode_to_glyph_list)/sizeof(unicode_to_glyph_list[0]); - i++) { - unicode_to_glyph *utg = new unicode_to_glyph[1]; - utg->value = (char *)unicode_to_glyph_list[i].value; - unicode_to_glyph_table.define(unicode_to_glyph_list[i].key, utg); - } -} - -const char *unicode_to_glyph_name(const char *s) -{ - unicode_to_glyph *result = unicode_to_glyph_table.lookup(s); - return result ? result->value : 0; -} diff --git a/contrib/groff/src/roff/troff/uniuni.cpp b/contrib/groff/src/roff/troff/uniuni.cpp deleted file mode 100644 index 3f4baa4..0000000 --- a/contrib/groff/src/roff/troff/uniuni.cpp +++ /dev/null @@ -1,1994 +0,0 @@ -// -*- C++ -*- -/* Copyright (C) 2002, 2003 - Free Software Foundation, Inc. - Written by Werner Lemberg <wl@gnu.org> - -This file is part of groff. - -groff is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 2, or (at your option) any later -version. - -groff is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License along -with groff; see the file COPYING. If not, write to the Free Software -Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -// This code has been algorithmically derived from the file -// UnicodeData-3.2.0.txt, available from unicode.org. - -#include "lib.h" -#include "stringclass.h" -#include "ptable.h" - -#include "unicode.h" - -struct unicode_decompose { - char *value; -}; - -declare_ptable(unicode_decompose) -implement_ptable(unicode_decompose) - -PTABLE(unicode_decompose) unicode_decompose_table; - -// the first digit in the composite string gives the number of composites - -struct { - const char *key; - const char *value; -} unicode_decompose_list[] = { - { "00C0", "20041_0300" }, - { "00C1", "20041_0301" }, - { "00C2", "20041_0302" }, - { "00C3", "20041_0303" }, - { "00C4", "20041_0308" }, - { "00C5", "20041_030A" }, - { "00C7", "20043_0327" }, - { "00C8", "20045_0300" }, - { "00C9", "20045_0301" }, - { "00CA", "20045_0302" }, - { "00CB", "20045_0308" }, - { "00CC", "20049_0300" }, - { "00CD", "20049_0301" }, - { "00CE", "20049_0302" }, - { "00CF", "20049_0308" }, - { "00D1", "2004E_0303" }, - { "00D2", "2004F_0300" }, - { "00D3", "2004F_0301" }, - { "00D4", "2004F_0302" }, - { "00D5", "2004F_0303" }, - { "00D6", "2004F_0308" }, - { "00D9", "20055_0300" }, - { "00DA", "20055_0301" }, - { "00DB", "20055_0302" }, - { "00DC", "20055_0308" }, - { "00DD", "20059_0301" }, - { "00E0", "20061_0300" }, - { "00E1", "20061_0301" }, - { "00E2", "20061_0302" }, - { "00E3", "20061_0303" }, - { "00E4", "20061_0308" }, - { "00E5", "20061_030A" }, - { "00E7", "20063_0327" }, - { "00E8", "20065_0300" }, - { "00E9", "20065_0301" }, - { "00EA", "20065_0302" }, - { "00EB", "20065_0308" }, - { "00EC", "20069_0300" }, - { "00ED", "20069_0301" }, - { "00EE", "20069_0302" }, - { "00EF", "20069_0308" }, - { "00F1", "2006E_0303" }, - { "00F2", "2006F_0300" }, - { "00F3", "2006F_0301" }, - { "00F4", "2006F_0302" }, - { "00F5", "2006F_0303" }, - { "00F6", "2006F_0308" }, - { "00F9", "20075_0300" }, - { "00FA", "20075_0301" }, - { "00FB", "20075_0302" }, - { "00FC", "20075_0308" }, - { "00FD", "20079_0301" }, - { "00FF", "20079_0308" }, - { "0100", "20041_0304" }, - { "0101", "20061_0304" }, - { "0102", "20041_0306" }, - { "0103", "20061_0306" }, - { "0104", "20041_0328" }, - { "0105", "20061_0328" }, - { "0106", "20043_0301" }, - { "0107", "20063_0301" }, - { "0108", "20043_0302" }, - { "0109", "20063_0302" }, - { "010A", "20043_0307" }, - { "010B", "20063_0307" }, - { "010C", "20043_030C" }, - { "010D", "20063_030C" }, - { "010E", "20044_030C" }, - { "010F", "20064_030C" }, - { "0112", "20045_0304" }, - { "0113", "20065_0304" }, - { "0114", "20045_0306" }, - { "0115", "20065_0306" }, - { "0116", "20045_0307" }, - { "0117", "20065_0307" }, - { "0118", "20045_0328" }, - { "0119", "20065_0328" }, - { "011A", "20045_030C" }, - { "011B", "20065_030C" }, - { "011C", "20047_0302" }, - { "011D", "20067_0302" }, - { "011E", "20047_0306" }, - { "011F", "20067_0306" }, - { "0120", "20047_0307" }, - { "0121", "20067_0307" }, - { "0122", "20047_0327" }, - { "0123", "20067_0327" }, - { "0124", "20048_0302" }, - { "0125", "20068_0302" }, - { "0128", "20049_0303" }, - { "0129", "20069_0303" }, - { "012A", "20049_0304" }, - { "012B", "20069_0304" }, - { "012C", "20049_0306" }, - { "012D", "20069_0306" }, - { "012E", "20049_0328" }, - { "012F", "20069_0328" }, - { "0130", "20049_0307" }, - { "0134", "2004A_0302" }, - { "0135", "2006A_0302" }, - { "0136", "2004B_0327" }, - { "0137", "2006B_0327" }, - { "0139", "2004C_0301" }, - { "013A", "2006C_0301" }, - { "013B", "2004C_0327" }, - { "013C", "2006C_0327" }, - { "013D", "2004C_030C" }, - { "013E", "2006C_030C" }, - { "0143", "2004E_0301" }, - { "0144", "2006E_0301" }, - { "0145", "2004E_0327" }, - { "0146", "2006E_0327" }, - { "0147", "2004E_030C" }, - { "0148", "2006E_030C" }, - { "014C", "2004F_0304" }, - { "014D", "2006F_0304" }, - { "014E", "2004F_0306" }, - { "014F", "2006F_0306" }, - { "0150", "2004F_030B" }, - { "0151", "2006F_030B" }, - { "0154", "20052_0301" }, - { "0155", "20072_0301" }, - { "0156", "20052_0327" }, - { "0157", "20072_0327" }, - { "0158", "20052_030C" }, - { "0159", "20072_030C" }, - { "015A", "20053_0301" }, - { "015B", "20073_0301" }, - { "015C", "20053_0302" }, - { "015D", "20073_0302" }, - { "015E", "20053_0327" }, - { "015F", "20073_0327" }, - { "0160", "20053_030C" }, - { "0161", "20073_030C" }, - { "0162", "20054_0327" }, - { "0163", "20074_0327" }, - { "0164", "20054_030C" }, - { "0165", "20074_030C" }, - { "0168", "20055_0303" }, - { "0169", "20075_0303" }, - { "016A", "20055_0304" }, - { "016B", "20075_0304" }, - { "016C", "20055_0306" }, - { "016D", "20075_0306" }, - { "016E", "20055_030A" }, - { "016F", "20075_030A" }, - { "0170", "20055_030B" }, - { "0171", "20075_030B" }, - { "0172", "20055_0328" }, - { "0173", "20075_0328" }, - { "0174", "20057_0302" }, - { "0175", "20077_0302" }, - { "0176", "20059_0302" }, - { "0177", "20079_0302" }, - { "0178", "20059_0308" }, - { "0179", "2005A_0301" }, - { "017A", "2007A_0301" }, - { "017B", "2005A_0307" }, - { "017C", "2007A_0307" }, - { "017D", "2005A_030C" }, - { "017E", "2007A_030C" }, - { "01A0", "2004F_031B" }, - { "01A1", "2006F_031B" }, - { "01AF", "20055_031B" }, - { "01B0", "20075_031B" }, - { "01CD", "20041_030C" }, - { "01CE", "20061_030C" }, - { "01CF", "20049_030C" }, - { "01D0", "20069_030C" }, - { "01D1", "2004F_030C" }, - { "01D2", "2006F_030C" }, - { "01D3", "20055_030C" }, - { "01D4", "20075_030C" }, - { "01D5", "30055_0308_0304" }, - { "01D6", "30075_0308_0304" }, - { "01D7", "30055_0308_0301" }, - { "01D8", "30075_0308_0301" }, - { "01D9", "30055_0308_030C" }, - { "01DA", "30075_0308_030C" }, - { "01DB", "30055_0308_0300" }, - { "01DC", "30075_0308_0300" }, - { "01DE", "30041_0308_0304" }, - { "01DF", "30061_0308_0304" }, - { "01E0", "30041_0307_0304" }, - { "01E1", "30061_0307_0304" }, - { "01E2", "200C6_0304" }, - { "01E3", "200E6_0304" }, - { "01E6", "20047_030C" }, - { "01E7", "20067_030C" }, - { "01E8", "2004B_030C" }, - { "01E9", "2006B_030C" }, - { "01EA", "2004F_0328" }, - { "01EB", "2006F_0328" }, - { "01EC", "3004F_0328_0304" }, - { "01ED", "3006F_0328_0304" }, - { "01EE", "201B7_030C" }, - { "01EF", "20292_030C" }, - { "01F0", "2006A_030C" }, - { "01F4", "20047_0301" }, - { "01F5", "20067_0301" }, - { "01F8", "2004E_0300" }, - { "01F9", "2006E_0300" }, - { "01FA", "30041_030A_0301" }, - { "01FB", "30061_030A_0301" }, - { "01FC", "200C6_0301" }, - { "01FD", "200E6_0301" }, - { "01FE", "200D8_0301" }, - { "01FF", "200F8_0301" }, - { "0200", "20041_030F" }, - { "0201", "20061_030F" }, - { "0202", "20041_0311" }, - { "0203", "20061_0311" }, - { "0204", "20045_030F" }, - { "0205", "20065_030F" }, - { "0206", "20045_0311" }, - { "0207", "20065_0311" }, - { "0208", "20049_030F" }, - { "0209", "20069_030F" }, - { "020A", "20049_0311" }, - { "020B", "20069_0311" }, - { "020C", "2004F_030F" }, - { "020D", "2006F_030F" }, - { "020E", "2004F_0311" }, - { "020F", "2006F_0311" }, - { "0210", "20052_030F" }, - { "0211", "20072_030F" }, - { "0212", "20052_0311" }, - { "0213", "20072_0311" }, - { "0214", "20055_030F" }, - { "0215", "20075_030F" }, - { "0216", "20055_0311" }, - { "0217", "20075_0311" }, - { "0218", "20053_0326" }, - { "0219", "20073_0326" }, - { "021A", "20054_0326" }, - { "021B", "20074_0326" }, - { "021E", "20048_030C" }, - { "021F", "20068_030C" }, - { "0226", "20041_0307" }, - { "0227", "20061_0307" }, - { "0228", "20045_0327" }, - { "0229", "20065_0327" }, - { "022A", "3004F_0308_0304" }, - { "022B", "3006F_0308_0304" }, - { "022C", "3004F_0303_0304" }, - { "022D", "3006F_0303_0304" }, - { "022E", "2004F_0307" }, - { "022F", "2006F_0307" }, - { "0230", "3004F_0307_0304" }, - { "0231", "3006F_0307_0304" }, - { "0232", "20059_0304" }, - { "0233", "20079_0304" }, - { "0340", "10300" }, - { "0341", "10301" }, - { "0343", "10313" }, - { "0344", "20308_0301" }, - { "0374", "102B9" }, - { "037E", "1003B" }, - { "0385", "200A8_0301" }, - { "0386", "20391_0301" }, - { "0387", "100B7" }, - { "0388", "20395_0301" }, - { "0389", "20397_0301" }, - { "038A", "20399_0301" }, - { "038C", "2039F_0301" }, - { "038E", "203A5_0301" }, - { "038F", "203A9_0301" }, - { "0390", "303B9_0308_0301" }, - { "03AA", "20399_0308" }, - { "03AB", "203A5_0308" }, - { "03AC", "203B1_0301" }, - { "03AD", "203B5_0301" }, - { "03AE", "203B7_0301" }, - { "03AF", "203B9_0301" }, - { "03B0", "303C5_0308_0301" }, - { "03CA", "203B9_0308" }, - { "03CB", "203C5_0308" }, - { "03CC", "203BF_0301" }, - { "03CD", "203C5_0301" }, - { "03CE", "203C9_0301" }, - { "03D3", "203D2_0301" }, - { "03D4", "203D2_0308" }, - { "0400", "20415_0300" }, - { "0401", "20415_0308" }, - { "0403", "20413_0301" }, - { "0407", "20406_0308" }, - { "040C", "2041A_0301" }, - { "040D", "20418_0300" }, - { "040E", "20423_0306" }, - { "0419", "20418_0306" }, - { "0439", "20438_0306" }, - { "0450", "20435_0300" }, - { "0451", "20435_0308" }, - { "0453", "20433_0301" }, - { "0457", "20456_0308" }, - { "045C", "2043A_0301" }, - { "045D", "20438_0300" }, - { "045E", "20443_0306" }, - { "0476", "20474_030F" }, - { "0477", "20475_030F" }, - { "04C1", "20416_0306" }, - { "04C2", "20436_0306" }, - { "04D0", "20410_0306" }, - { "04D1", "20430_0306" }, - { "04D2", "20410_0308" }, - { "04D3", "20430_0308" }, - { "04D6", "20415_0306" }, - { "04D7", "20435_0306" }, - { "04DA", "204D8_0308" }, - { "04DB", "204D9_0308" }, - { "04DC", "20416_0308" }, - { "04DD", "20436_0308" }, - { "04DE", "20417_0308" }, - { "04DF", "20437_0308" }, - { "04E2", "20418_0304" }, - { "04E3", "20438_0304" }, - { "04E4", "20418_0308" }, - { "04E5", "20438_0308" }, - { "04E6", "2041E_0308" }, - { "04E7", "2043E_0308" }, - { "04EA", "204E8_0308" }, - { "04EB", "204E9_0308" }, - { "04EC", "2042D_0308" }, - { "04ED", "2044D_0308" }, - { "04EE", "20423_0304" }, - { "04EF", "20443_0304" }, - { "04F0", "20423_0308" }, - { "04F1", "20443_0308" }, - { "04F2", "20423_030B" }, - { "04F3", "20443_030B" }, - { "04F4", "20427_0308" }, - { "04F5", "20447_0308" }, - { "04F8", "2042B_0308" }, - { "04F9", "2044B_0308" }, - { "0622", "20627_0653" }, - { "0623", "20627_0654" }, - { "0624", "20648_0654" }, - { "0625", "20627_0655" }, - { "0626", "2064A_0654" }, - { "06C0", "206D5_0654" }, - { "06C2", "206C1_0654" }, - { "06D3", "206D2_0654" }, - { "0929", "20928_093C" }, - { "0931", "20930_093C" }, - { "0934", "20933_093C" }, - { "0958", "20915_093C" }, - { "0959", "20916_093C" }, - { "095A", "20917_093C" }, - { "095B", "2091C_093C" }, - { "095C", "20921_093C" }, - { "095D", "20922_093C" }, - { "095E", "2092B_093C" }, - { "095F", "2092F_093C" }, - { "09CB", "209C7_09BE" }, - { "09CC", "209C7_09D7" }, - { "09DC", "209A1_09BC" }, - { "09DD", "209A2_09BC" }, - { "09DF", "209AF_09BC" }, - { "0A33", "20A32_0A3C" }, - { "0A36", "20A38_0A3C" }, - { "0A59", "20A16_0A3C" }, - { "0A5A", "20A17_0A3C" }, - { "0A5B", "20A1C_0A3C" }, - { "0A5E", "20A2B_0A3C" }, - { "0B48", "20B47_0B56" }, - { "0B4B", "20B47_0B3E" }, - { "0B4C", "20B47_0B57" }, - { "0B5C", "20B21_0B3C" }, - { "0B5D", "20B22_0B3C" }, - { "0B94", "20B92_0BD7" }, - { "0BCA", "20BC6_0BBE" }, - { "0BCB", "20BC7_0BBE" }, - { "0BCC", "20BC6_0BD7" }, - { "0C48", "20C46_0C56" }, - { "0CC0", "20CBF_0CD5" }, - { "0CC7", "20CC6_0CD5" }, - { "0CC8", "20CC6_0CD6" }, - { "0CCA", "20CC6_0CC2" }, - { "0CCB", "30CC6_0CC2_0CD5" }, - { "0D4A", "20D46_0D3E" }, - { "0D4B", "20D47_0D3E" }, - { "0D4C", "20D46_0D57" }, - { "0DDA", "20DD9_0DCA" }, - { "0DDC", "20DD9_0DCF" }, - { "0DDD", "30DD9_0DCF_0DCA" }, - { "0DDE", "20DD9_0DDF" }, - { "0F43", "20F42_0FB7" }, - { "0F4D", "20F4C_0FB7" }, - { "0F52", "20F51_0FB7" }, - { "0F57", "20F56_0FB7" }, - { "0F5C", "20F5B_0FB7" }, - { "0F69", "20F40_0FB5" }, - { "0F73", "20F71_0F72" }, - { "0F75", "20F71_0F74" }, - { "0F76", "20FB2_0F80" }, - { "0F78", "20FB3_0F80" }, - { "0F81", "20F71_0F80" }, - { "0F93", "20F92_0FB7" }, - { "0F9D", "20F9C_0FB7" }, - { "0FA2", "20FA1_0FB7" }, - { "0FA7", "20FA6_0FB7" }, - { "0FAC", "20FAB_0FB7" }, - { "0FB9", "20F90_0FB5" }, - { "1026", "21025_102E" }, - { "1E00", "20041_0325" }, - { "1E01", "20061_0325" }, - { "1E02", "20042_0307" }, - { "1E03", "20062_0307" }, - { "1E04", "20042_0323" }, - { "1E05", "20062_0323" }, - { "1E06", "20042_0331" }, - { "1E07", "20062_0331" }, - { "1E08", "30043_0327_0301" }, - { "1E09", "30063_0327_0301" }, - { "1E0A", "20044_0307" }, - { "1E0B", "20064_0307" }, - { "1E0C", "20044_0323" }, - { "1E0D", "20064_0323" }, - { "1E0E", "20044_0331" }, - { "1E0F", "20064_0331" }, - { "1E10", "20044_0327" }, - { "1E11", "20064_0327" }, - { "1E12", "20044_032D" }, - { "1E13", "20064_032D" }, - { "1E14", "30045_0304_0300" }, - { "1E15", "30065_0304_0300" }, - { "1E16", "30045_0304_0301" }, - { "1E17", "30065_0304_0301" }, - { "1E18", "20045_032D" }, - { "1E19", "20065_032D" }, - { "1E1A", "20045_0330" }, - { "1E1B", "20065_0330" }, - { "1E1C", "30045_0327_0306" }, - { "1E1D", "30065_0327_0306" }, - { "1E1E", "20046_0307" }, - { "1E1F", "20066_0307" }, - { "1E20", "20047_0304" }, - { "1E21", "20067_0304" }, - { "1E22", "20048_0307" }, - { "1E23", "20068_0307" }, - { "1E24", "20048_0323" }, - { "1E25", "20068_0323" }, - { "1E26", "20048_0308" }, - { "1E27", "20068_0308" }, - { "1E28", "20048_0327" }, - { "1E29", "20068_0327" }, - { "1E2A", "20048_032E" }, - { "1E2B", "20068_032E" }, - { "1E2C", "20049_0330" }, - { "1E2D", "20069_0330" }, - { "1E2E", "30049_0308_0301" }, - { "1E2F", "30069_0308_0301" }, - { "1E30", "2004B_0301" }, - { "1E31", "2006B_0301" }, - { "1E32", "2004B_0323" }, - { "1E33", "2006B_0323" }, - { "1E34", "2004B_0331" }, - { "1E35", "2006B_0331" }, - { "1E36", "2004C_0323" }, - { "1E37", "2006C_0323" }, - { "1E38", "3004C_0323_0304" }, - { "1E39", "3006C_0323_0304" }, - { "1E3A", "2004C_0331" }, - { "1E3B", "2006C_0331" }, - { "1E3C", "2004C_032D" }, - { "1E3D", "2006C_032D" }, - { "1E3E", "2004D_0301" }, - { "1E3F", "2006D_0301" }, - { "1E40", "2004D_0307" }, - { "1E41", "2006D_0307" }, - { "1E42", "2004D_0323" }, - { "1E43", "2006D_0323" }, - { "1E44", "2004E_0307" }, - { "1E45", "2006E_0307" }, - { "1E46", "2004E_0323" }, - { "1E47", "2006E_0323" }, - { "1E48", "2004E_0331" }, - { "1E49", "2006E_0331" }, - { "1E4A", "2004E_032D" }, - { "1E4B", "2006E_032D" }, - { "1E4C", "3004F_0303_0301" }, - { "1E4D", "3006F_0303_0301" }, - { "1E4E", "3004F_0303_0308" }, - { "1E4F", "3006F_0303_0308" }, - { "1E50", "3004F_0304_0300" }, - { "1E51", "3006F_0304_0300" }, - { "1E52", "3004F_0304_0301" }, - { "1E53", "3006F_0304_0301" }, - { "1E54", "20050_0301" }, - { "1E55", "20070_0301" }, - { "1E56", "20050_0307" }, - { "1E57", "20070_0307" }, - { "1E58", "20052_0307" }, - { "1E59", "20072_0307" }, - { "1E5A", "20052_0323" }, - { "1E5B", "20072_0323" }, - { "1E5C", "30052_0323_0304" }, - { "1E5D", "30072_0323_0304" }, - { "1E5E", "20052_0331" }, - { "1E5F", "20072_0331" }, - { "1E60", "20053_0307" }, - { "1E61", "20073_0307" }, - { "1E62", "20053_0323" }, - { "1E63", "20073_0323" }, - { "1E64", "30053_0301_0307" }, - { "1E65", "30073_0301_0307" }, - { "1E66", "30053_030C_0307" }, - { "1E67", "30073_030C_0307" }, - { "1E68", "30053_0323_0307" }, - { "1E69", "30073_0323_0307" }, - { "1E6A", "20054_0307" }, - { "1E6B", "20074_0307" }, - { "1E6C", "20054_0323" }, - { "1E6D", "20074_0323" }, - { "1E6E", "20054_0331" }, - { "1E6F", "20074_0331" }, - { "1E70", "20054_032D" }, - { "1E71", "20074_032D" }, - { "1E72", "20055_0324" }, - { "1E73", "20075_0324" }, - { "1E74", "20055_0330" }, - { "1E75", "20075_0330" }, - { "1E76", "20055_032D" }, - { "1E77", "20075_032D" }, - { "1E78", "30055_0303_0301" }, - { "1E79", "30075_0303_0301" }, - { "1E7A", "30055_0304_0308" }, - { "1E7B", "30075_0304_0308" }, - { "1E7C", "20056_0303" }, - { "1E7D", "20076_0303" }, - { "1E7E", "20056_0323" }, - { "1E7F", "20076_0323" }, - { "1E80", "20057_0300" }, - { "1E81", "20077_0300" }, - { "1E82", "20057_0301" }, - { "1E83", "20077_0301" }, - { "1E84", "20057_0308" }, - { "1E85", "20077_0308" }, - { "1E86", "20057_0307" }, - { "1E87", "20077_0307" }, - { "1E88", "20057_0323" }, - { "1E89", "20077_0323" }, - { "1E8A", "20058_0307" }, - { "1E8B", "20078_0307" }, - { "1E8C", "20058_0308" }, - { "1E8D", "20078_0308" }, - { "1E8E", "20059_0307" }, - { "1E8F", "20079_0307" }, - { "1E90", "2005A_0302" }, - { "1E91", "2007A_0302" }, - { "1E92", "2005A_0323" }, - { "1E93", "2007A_0323" }, - { "1E94", "2005A_0331" }, - { "1E95", "2007A_0331" }, - { "1E96", "20068_0331" }, - { "1E97", "20074_0308" }, - { "1E98", "20077_030A" }, - { "1E99", "20079_030A" }, - { "1E9B", "2017F_0307" }, - { "1EA0", "20041_0323" }, - { "1EA1", "20061_0323" }, - { "1EA2", "20041_0309" }, - { "1EA3", "20061_0309" }, - { "1EA4", "30041_0302_0301" }, - { "1EA5", "30061_0302_0301" }, - { "1EA6", "30041_0302_0300" }, - { "1EA7", "30061_0302_0300" }, - { "1EA8", "30041_0302_0309" }, - { "1EA9", "30061_0302_0309" }, - { "1EAA", "30041_0302_0303" }, - { "1EAB", "30061_0302_0303" }, - { "1EAC", "30041_0323_0302" }, - { "1EAD", "30061_0323_0302" }, - { "1EAE", "30041_0306_0301" }, - { "1EAF", "30061_0306_0301" }, - { "1EB0", "30041_0306_0300" }, - { "1EB1", "30061_0306_0300" }, - { "1EB2", "30041_0306_0309" }, - { "1EB3", "30061_0306_0309" }, - { "1EB4", "30041_0306_0303" }, - { "1EB5", "30061_0306_0303" }, - { "1EB6", "30041_0323_0306" }, - { "1EB7", "30061_0323_0306" }, - { "1EB8", "20045_0323" }, - { "1EB9", "20065_0323" }, - { "1EBA", "20045_0309" }, - { "1EBB", "20065_0309" }, - { "1EBC", "20045_0303" }, - { "1EBD", "20065_0303" }, - { "1EBE", "30045_0302_0301" }, - { "1EBF", "30065_0302_0301" }, - { "1EC0", "30045_0302_0300" }, - { "1EC1", "30065_0302_0300" }, - { "1EC2", "30045_0302_0309" }, - { "1EC3", "30065_0302_0309" }, - { "1EC4", "30045_0302_0303" }, - { "1EC5", "30065_0302_0303" }, - { "1EC6", "30045_0323_0302" }, - { "1EC7", "30065_0323_0302" }, - { "1EC8", "20049_0309" }, - { "1EC9", "20069_0309" }, - { "1ECA", "20049_0323" }, - { "1ECB", "20069_0323" }, - { "1ECC", "2004F_0323" }, - { "1ECD", "2006F_0323" }, - { "1ECE", "2004F_0309" }, - { "1ECF", "2006F_0309" }, - { "1ED0", "3004F_0302_0301" }, - { "1ED1", "3006F_0302_0301" }, - { "1ED2", "3004F_0302_0300" }, - { "1ED3", "3006F_0302_0300" }, - { "1ED4", "3004F_0302_0309" }, - { "1ED5", "3006F_0302_0309" }, - { "1ED6", "3004F_0302_0303" }, - { "1ED7", "3006F_0302_0303" }, - { "1ED8", "3004F_0323_0302" }, - { "1ED9", "3006F_0323_0302" }, - { "1EDA", "3004F_031B_0301" }, - { "1EDB", "3006F_031B_0301" }, - { "1EDC", "3004F_031B_0300" }, - { "1EDD", "3006F_031B_0300" }, - { "1EDE", "3004F_031B_0309" }, - { "1EDF", "3006F_031B_0309" }, - { "1EE0", "3004F_031B_0303" }, - { "1EE1", "3006F_031B_0303" }, - { "1EE2", "3004F_031B_0323" }, - { "1EE3", "3006F_031B_0323" }, - { "1EE4", "20055_0323" }, - { "1EE5", "20075_0323" }, - { "1EE6", "20055_0309" }, - { "1EE7", "20075_0309" }, - { "1EE8", "30055_031B_0301" }, - { "1EE9", "30075_031B_0301" }, - { "1EEA", "30055_031B_0300" }, - { "1EEB", "30075_031B_0300" }, - { "1EEC", "30055_031B_0309" }, - { "1EED", "30075_031B_0309" }, - { "1EEE", "30055_031B_0303" }, - { "1EEF", "30075_031B_0303" }, - { "1EF0", "30055_031B_0323" }, - { "1EF1", "30075_031B_0323" }, - { "1EF2", "20059_0300" }, - { "1EF3", "20079_0300" }, - { "1EF4", "20059_0323" }, - { "1EF5", "20079_0323" }, - { "1EF6", "20059_0309" }, - { "1EF7", "20079_0309" }, - { "1EF8", "20059_0303" }, - { "1EF9", "20079_0303" }, - { "1F00", "203B1_0313" }, - { "1F01", "203B1_0314" }, - { "1F02", "303B1_0313_0300" }, - { "1F03", "303B1_0314_0300" }, - { "1F04", "303B1_0313_0301" }, - { "1F05", "303B1_0314_0301" }, - { "1F06", "303B1_0313_0342" }, - { "1F07", "303B1_0314_0342" }, - { "1F08", "20391_0313" }, - { "1F09", "20391_0314" }, - { "1F0A", "30391_0313_0300" }, - { "1F0B", "30391_0314_0300" }, - { "1F0C", "30391_0313_0301" }, - { "1F0D", "30391_0314_0301" }, - { "1F0E", "30391_0313_0342" }, - { "1F0F", "30391_0314_0342" }, - { "1F10", "203B5_0313" }, - { "1F11", "203B5_0314" }, - { "1F12", "303B5_0313_0300" }, - { "1F13", "303B5_0314_0300" }, - { "1F14", "303B5_0313_0301" }, - { "1F15", "303B5_0314_0301" }, - { "1F18", "20395_0313" }, - { "1F19", "20395_0314" }, - { "1F1A", "30395_0313_0300" }, - { "1F1B", "30395_0314_0300" }, - { "1F1C", "30395_0313_0301" }, - { "1F1D", "30395_0314_0301" }, - { "1F20", "203B7_0313" }, - { "1F21", "203B7_0314" }, - { "1F22", "303B7_0313_0300" }, - { "1F23", "303B7_0314_0300" }, - { "1F24", "303B7_0313_0301" }, - { "1F25", "303B7_0314_0301" }, - { "1F26", "303B7_0313_0342" }, - { "1F27", "303B7_0314_0342" }, - { "1F28", "20397_0313" }, - { "1F29", "20397_0314" }, - { "1F2A", "30397_0313_0300" }, - { "1F2B", "30397_0314_0300" }, - { "1F2C", "30397_0313_0301" }, - { "1F2D", "30397_0314_0301" }, - { "1F2E", "30397_0313_0342" }, - { "1F2F", "30397_0314_0342" }, - { "1F30", "203B9_0313" }, - { "1F31", "203B9_0314" }, - { "1F32", "303B9_0313_0300" }, - { "1F33", "303B9_0314_0300" }, - { "1F34", "303B9_0313_0301" }, - { "1F35", "303B9_0314_0301" }, - { "1F36", "303B9_0313_0342" }, - { "1F37", "303B9_0314_0342" }, - { "1F38", "20399_0313" }, - { "1F39", "20399_0314" }, - { "1F3A", "30399_0313_0300" }, - { "1F3B", "30399_0314_0300" }, - { "1F3C", "30399_0313_0301" }, - { "1F3D", "30399_0314_0301" }, - { "1F3E", "30399_0313_0342" }, - { "1F3F", "30399_0314_0342" }, - { "1F40", "203BF_0313" }, - { "1F41", "203BF_0314" }, - { "1F42", "303BF_0313_0300" }, - { "1F43", "303BF_0314_0300" }, - { "1F44", "303BF_0313_0301" }, - { "1F45", "303BF_0314_0301" }, - { "1F48", "2039F_0313" }, - { "1F49", "2039F_0314" }, - { "1F4A", "3039F_0313_0300" }, - { "1F4B", "3039F_0314_0300" }, - { "1F4C", "3039F_0313_0301" }, - { "1F4D", "3039F_0314_0301" }, - { "1F50", "203C5_0313" }, - { "1F51", "203C5_0314" }, - { "1F52", "303C5_0313_0300" }, - { "1F53", "303C5_0314_0300" }, - { "1F54", "303C5_0313_0301" }, - { "1F55", "303C5_0314_0301" }, - { "1F56", "303C5_0313_0342" }, - { "1F57", "303C5_0314_0342" }, - { "1F59", "203A5_0314" }, - { "1F5B", "303A5_0314_0300" }, - { "1F5D", "303A5_0314_0301" }, - { "1F5F", "303A5_0314_0342" }, - { "1F60", "203C9_0313" }, - { "1F61", "203C9_0314" }, - { "1F62", "303C9_0313_0300" }, - { "1F63", "303C9_0314_0300" }, - { "1F64", "303C9_0313_0301" }, - { "1F65", "303C9_0314_0301" }, - { "1F66", "303C9_0313_0342" }, - { "1F67", "303C9_0314_0342" }, - { "1F68", "203A9_0313" }, - { "1F69", "203A9_0314" }, - { "1F6A", "303A9_0313_0300" }, - { "1F6B", "303A9_0314_0300" }, - { "1F6C", "303A9_0313_0301" }, - { "1F6D", "303A9_0314_0301" }, - { "1F6E", "303A9_0313_0342" }, - { "1F6F", "303A9_0314_0342" }, - { "1F70", "203B1_0300" }, - { "1F71", "203B1_0301" }, - { "1F72", "203B5_0300" }, - { "1F73", "203B5_0301" }, - { "1F74", "203B7_0300" }, - { "1F75", "203B7_0301" }, - { "1F76", "203B9_0300" }, - { "1F77", "203B9_0301" }, - { "1F78", "203BF_0300" }, - { "1F79", "203BF_0301" }, - { "1F7A", "203C5_0300" }, - { "1F7B", "203C5_0301" }, - { "1F7C", "203C9_0300" }, - { "1F7D", "203C9_0301" }, - { "1F80", "303B1_0313_0345" }, - { "1F81", "303B1_0314_0345" }, - { "1F82", "403B1_0313_0300_0345" }, - { "1F83", "403B1_0314_0300_0345" }, - { "1F84", "403B1_0313_0301_0345" }, - { "1F85", "403B1_0314_0301_0345" }, - { "1F86", "403B1_0313_0342_0345" }, - { "1F87", "403B1_0314_0342_0345" }, - { "1F88", "30391_0313_0345" }, - { "1F89", "30391_0314_0345" }, - { "1F8A", "40391_0313_0300_0345" }, - { "1F8B", "40391_0314_0300_0345" }, - { "1F8C", "40391_0313_0301_0345" }, - { "1F8D", "40391_0314_0301_0345" }, - { "1F8E", "40391_0313_0342_0345" }, - { "1F8F", "40391_0314_0342_0345" }, - { "1F90", "303B7_0313_0345" }, - { "1F91", "303B7_0314_0345" }, - { "1F92", "403B7_0313_0300_0345" }, - { "1F93", "403B7_0314_0300_0345" }, - { "1F94", "403B7_0313_0301_0345" }, - { "1F95", "403B7_0314_0301_0345" }, - { "1F96", "403B7_0313_0342_0345" }, - { "1F97", "403B7_0314_0342_0345" }, - { "1F98", "30397_0313_0345" }, - { "1F99", "30397_0314_0345" }, - { "1F9A", "40397_0313_0300_0345" }, - { "1F9B", "40397_0314_0300_0345" }, - { "1F9C", "40397_0313_0301_0345" }, - { "1F9D", "40397_0314_0301_0345" }, - { "1F9E", "40397_0313_0342_0345" }, - { "1F9F", "40397_0314_0342_0345" }, - { "1FA0", "303C9_0313_0345" }, - { "1FA1", "303C9_0314_0345" }, - { "1FA2", "403C9_0313_0300_0345" }, - { "1FA3", "403C9_0314_0300_0345" }, - { "1FA4", "403C9_0313_0301_0345" }, - { "1FA5", "403C9_0314_0301_0345" }, - { "1FA6", "403C9_0313_0342_0345" }, - { "1FA7", "403C9_0314_0342_0345" }, - { "1FA8", "303A9_0313_0345" }, - { "1FA9", "303A9_0314_0345" }, - { "1FAA", "403A9_0313_0300_0345" }, - { "1FAB", "403A9_0314_0300_0345" }, - { "1FAC", "403A9_0313_0301_0345" }, - { "1FAD", "403A9_0314_0301_0345" }, - { "1FAE", "403A9_0313_0342_0345" }, - { "1FAF", "403A9_0314_0342_0345" }, - { "1FB0", "203B1_0306" }, - { "1FB1", "203B1_0304" }, - { "1FB2", "303B1_0300_0345" }, - { "1FB3", "203B1_0345" }, - { "1FB4", "303B1_0301_0345" }, - { "1FB6", "203B1_0342" }, - { "1FB7", "303B1_0342_0345" }, - { "1FB8", "20391_0306" }, - { "1FB9", "20391_0304" }, - { "1FBA", "20391_0300" }, - { "1FBB", "20391_0301" }, - { "1FBC", "20391_0345" }, - { "1FBE", "103B9" }, - { "1FC1", "200A8_0342" }, - { "1FC2", "303B7_0300_0345" }, - { "1FC3", "203B7_0345" }, - { "1FC4", "303B7_0301_0345" }, - { "1FC6", "203B7_0342" }, - { "1FC7", "303B7_0342_0345" }, - { "1FC8", "20395_0300" }, - { "1FC9", "20395_0301" }, - { "1FCA", "20397_0300" }, - { "1FCB", "20397_0301" }, - { "1FCC", "20397_0345" }, - { "1FCD", "21FBF_0300" }, - { "1FCE", "21FBF_0301" }, - { "1FCF", "21FBF_0342" }, - { "1FD0", "203B9_0306" }, - { "1FD1", "203B9_0304" }, - { "1FD2", "303B9_0308_0300" }, - { "1FD3", "303B9_0308_0301" }, - { "1FD6", "203B9_0342" }, - { "1FD7", "303B9_0308_0342" }, - { "1FD8", "20399_0306" }, - { "1FD9", "20399_0304" }, - { "1FDA", "20399_0300" }, - { "1FDB", "20399_0301" }, - { "1FDD", "21FFE_0300" }, - { "1FDE", "21FFE_0301" }, - { "1FDF", "21FFE_0342" }, - { "1FE0", "203C5_0306" }, - { "1FE1", "203C5_0304" }, - { "1FE2", "303C5_0308_0300" }, - { "1FE3", "303C5_0308_0301" }, - { "1FE4", "203C1_0313" }, - { "1FE5", "203C1_0314" }, - { "1FE6", "203C5_0342" }, - { "1FE7", "303C5_0308_0342" }, - { "1FE8", "203A5_0306" }, - { "1FE9", "203A5_0304" }, - { "1FEA", "203A5_0300" }, - { "1FEB", "203A5_0301" }, - { "1FEC", "203A1_0314" }, - { "1FED", "200A8_0300" }, - { "1FEE", "200A8_0301" }, - { "1FEF", "10060" }, - { "1FF2", "303C9_0300_0345" }, - { "1FF3", "203C9_0345" }, - { "1FF4", "303C9_0301_0345" }, - { "1FF6", "203C9_0342" }, - { "1FF7", "303C9_0342_0345" }, - { "1FF8", "2039F_0300" }, - { "1FF9", "2039F_0301" }, - { "1FFA", "203A9_0300" }, - { "1FFB", "203A9_0301" }, - { "1FFC", "203A9_0345" }, - { "1FFD", "100B4" }, - { "2000", "12002" }, - { "2001", "12003" }, - { "2126", "103A9" }, - { "212A", "1004B" }, - { "212B", "20041_030A" }, - { "219A", "22190_0338" }, - { "219B", "22192_0338" }, - { "21AE", "22194_0338" }, - { "21CD", "221D0_0338" }, - { "21CE", "221D4_0338" }, - { "21CF", "221D2_0338" }, - { "2204", "22203_0338" }, - { "2209", "22208_0338" }, - { "220C", "2220B_0338" }, - { "2224", "22223_0338" }, - { "2226", "22225_0338" }, - { "2241", "2223C_0338" }, - { "2244", "22243_0338" }, - { "2247", "22245_0338" }, - { "2249", "22248_0338" }, - { "2260", "2003D_0338" }, - { "2262", "22261_0338" }, - { "226D", "2224D_0338" }, - { "226E", "2003C_0338" }, - { "226F", "2003E_0338" }, - { "2270", "22264_0338" }, - { "2271", "22265_0338" }, - { "2274", "22272_0338" }, - { "2275", "22273_0338" }, - { "2278", "22276_0338" }, - { "2279", "22277_0338" }, - { "2280", "2227A_0338" }, - { "2281", "2227B_0338" }, - { "2284", "22282_0338" }, - { "2285", "22283_0338" }, - { "2288", "22286_0338" }, - { "2289", "22287_0338" }, - { "22AC", "222A2_0338" }, - { "22AD", "222A8_0338" }, - { "22AE", "222A9_0338" }, - { "22AF", "222AB_0338" }, - { "22E0", "2227C_0338" }, - { "22E1", "2227D_0338" }, - { "22E2", "22291_0338" }, - { "22E3", "22292_0338" }, - { "22EA", "222B2_0338" }, - { "22EB", "222B3_0338" }, - { "22EC", "222B4_0338" }, - { "22ED", "222B5_0338" }, - { "2329", "13008" }, - { "232A", "13009" }, - { "2ADC", "22ADD_0338" }, - { "304C", "2304B_3099" }, - { "304E", "2304D_3099" }, - { "3050", "2304F_3099" }, - { "3052", "23051_3099" }, - { "3054", "23053_3099" }, - { "3056", "23055_3099" }, - { "3058", "23057_3099" }, - { "305A", "23059_3099" }, - { "305C", "2305B_3099" }, - { "305E", "2305D_3099" }, - { "3060", "2305F_3099" }, - { "3062", "23061_3099" }, - { "3065", "23064_3099" }, - { "3067", "23066_3099" }, - { "3069", "23068_3099" }, - { "3070", "2306F_3099" }, - { "3071", "2306F_309A" }, - { "3073", "23072_3099" }, - { "3074", "23072_309A" }, - { "3076", "23075_3099" }, - { "3077", "23075_309A" }, - { "3079", "23078_3099" }, - { "307A", "23078_309A" }, - { "307C", "2307B_3099" }, - { "307D", "2307B_309A" }, - { "3094", "23046_3099" }, - { "309E", "2309D_3099" }, - { "30AC", "230AB_3099" }, - { "30AE", "230AD_3099" }, - { "30B0", "230AF_3099" }, - { "30B2", "230B1_3099" }, - { "30B4", "230B3_3099" }, - { "30B6", "230B5_3099" }, - { "30B8", "230B7_3099" }, - { "30BA", "230B9_3099" }, - { "30BC", "230BB_3099" }, - { "30BE", "230BD_3099" }, - { "30C0", "230BF_3099" }, - { "30C2", "230C1_3099" }, - { "30C5", "230C4_3099" }, - { "30C7", "230C6_3099" }, - { "30C9", "230C8_3099" }, - { "30D0", "230CF_3099" }, - { "30D1", "230CF_309A" }, - { "30D3", "230D2_3099" }, - { "30D4", "230D2_309A" }, - { "30D6", "230D5_3099" }, - { "30D7", "230D5_309A" }, - { "30D9", "230D8_3099" }, - { "30DA", "230D8_309A" }, - { "30DC", "230DB_3099" }, - { "30DD", "230DB_309A" }, - { "30F4", "230A6_3099" }, - { "30F7", "230EF_3099" }, - { "30F8", "230F0_3099" }, - { "30F9", "230F1_3099" }, - { "30FA", "230F2_3099" }, - { "30FE", "230FD_3099" }, - { "F900", "18C48" }, - { "F901", "166F4" }, - { "F902", "18ECA" }, - { "F903", "18CC8" }, - { "F904", "16ED1" }, - { "F905", "14E32" }, - { "F906", "153E5" }, - { "F907", "19F9C" }, - { "F908", "19F9C" }, - { "F909", "15951" }, - { "F90A", "191D1" }, - { "F90B", "15587" }, - { "F90C", "15948" }, - { "F90D", "161F6" }, - { "F90E", "17669" }, - { "F90F", "17F85" }, - { "F910", "1863F" }, - { "F911", "187BA" }, - { "F912", "188F8" }, - { "F913", "1908F" }, - { "F914", "16A02" }, - { "F915", "16D1B" }, - { "F916", "170D9" }, - { "F917", "173DE" }, - { "F918", "1843D" }, - { "F919", "1916A" }, - { "F91A", "199F1" }, - { "F91B", "14E82" }, - { "F91C", "15375" }, - { "F91D", "16B04" }, - { "F91E", "1721B" }, - { "F91F", "1862D" }, - { "F920", "19E1E" }, - { "F921", "15D50" }, - { "F922", "16FEB" }, - { "F923", "185CD" }, - { "F924", "18964" }, - { "F925", "162C9" }, - { "F926", "181D8" }, - { "F927", "1881F" }, - { "F928", "15ECA" }, - { "F929", "16717" }, - { "F92A", "16D6A" }, - { "F92B", "172FC" }, - { "F92C", "190CE" }, - { "F92D", "14F86" }, - { "F92E", "151B7" }, - { "F92F", "152DE" }, - { "F930", "164C4" }, - { "F931", "16AD3" }, - { "F932", "17210" }, - { "F933", "176E7" }, - { "F934", "18001" }, - { "F935", "18606" }, - { "F936", "1865C" }, - { "F937", "18DEF" }, - { "F938", "19732" }, - { "F939", "19B6F" }, - { "F93A", "19DFA" }, - { "F93B", "1788C" }, - { "F93C", "1797F" }, - { "F93D", "17DA0" }, - { "F93E", "183C9" }, - { "F93F", "19304" }, - { "F940", "19E7F" }, - { "F941", "18AD6" }, - { "F942", "158DF" }, - { "F943", "15F04" }, - { "F944", "17C60" }, - { "F945", "1807E" }, - { "F946", "17262" }, - { "F947", "178CA" }, - { "F948", "18CC2" }, - { "F949", "196F7" }, - { "F94A", "158D8" }, - { "F94B", "15C62" }, - { "F94C", "16A13" }, - { "F94D", "16DDA" }, - { "F94E", "16F0F" }, - { "F94F", "17D2F" }, - { "F950", "17E37" }, - { "F951", "1964B" }, - { "F952", "152D2" }, - { "F953", "1808B" }, - { "F954", "151DC" }, - { "F955", "151CC" }, - { "F956", "17A1C" }, - { "F957", "17DBE" }, - { "F958", "183F1" }, - { "F959", "19675" }, - { "F95A", "18B80" }, - { "F95B", "162CF" }, - { "F95C", "16A02" }, - { "F95D", "18AFE" }, - { "F95E", "14E39" }, - { "F95F", "15BE7" }, - { "F960", "16012" }, - { "F961", "17387" }, - { "F962", "17570" }, - { "F963", "15317" }, - { "F964", "178FB" }, - { "F965", "14FBF" }, - { "F966", "15FA9" }, - { "F967", "14E0D" }, - { "F968", "16CCC" }, - { "F969", "16578" }, - { "F96A", "17D22" }, - { "F96B", "153C3" }, - { "F96C", "1585E" }, - { "F96D", "17701" }, - { "F96E", "18449" }, - { "F96F", "18AAA" }, - { "F970", "16BBA" }, - { "F971", "18FB0" }, - { "F972", "16C88" }, - { "F973", "162FE" }, - { "F974", "182E5" }, - { "F975", "163A0" }, - { "F976", "17565" }, - { "F977", "14EAE" }, - { "F978", "15169" }, - { "F979", "151C9" }, - { "F97A", "16881" }, - { "F97B", "17CE7" }, - { "F97C", "1826F" }, - { "F97D", "18AD2" }, - { "F97E", "191CF" }, - { "F97F", "152F5" }, - { "F980", "15442" }, - { "F981", "15973" }, - { "F982", "15EEC" }, - { "F983", "165C5" }, - { "F984", "16FFE" }, - { "F985", "1792A" }, - { "F986", "195AD" }, - { "F987", "19A6A" }, - { "F988", "19E97" }, - { "F989", "19ECE" }, - { "F98A", "1529B" }, - { "F98B", "166C6" }, - { "F98C", "16B77" }, - { "F98D", "18F62" }, - { "F98E", "15E74" }, - { "F98F", "16190" }, - { "F990", "16200" }, - { "F991", "1649A" }, - { "F992", "16F23" }, - { "F993", "17149" }, - { "F994", "17489" }, - { "F995", "179CA" }, - { "F996", "17DF4" }, - { "F997", "1806F" }, - { "F998", "18F26" }, - { "F999", "184EE" }, - { "F99A", "19023" }, - { "F99B", "1934A" }, - { "F99C", "15217" }, - { "F99D", "152A3" }, - { "F99E", "154BD" }, - { "F99F", "170C8" }, - { "F9A0", "188C2" }, - { "F9A1", "18AAA" }, - { "F9A2", "15EC9" }, - { "F9A3", "15FF5" }, - { "F9A4", "1637B" }, - { "F9A5", "16BAE" }, - { "F9A6", "17C3E" }, - { "F9A7", "17375" }, - { "F9A8", "14EE4" }, - { "F9A9", "156F9" }, - { "F9AA", "15BE7" }, - { "F9AB", "15DBA" }, - { "F9AC", "1601C" }, - { "F9AD", "173B2" }, - { "F9AE", "17469" }, - { "F9AF", "17F9A" }, - { "F9B0", "18046" }, - { "F9B1", "19234" }, - { "F9B2", "196F6" }, - { "F9B3", "19748" }, - { "F9B4", "19818" }, - { "F9B5", "14F8B" }, - { "F9B6", "179AE" }, - { "F9B7", "191B4" }, - { "F9B8", "196B8" }, - { "F9B9", "160E1" }, - { "F9BA", "14E86" }, - { "F9BB", "150DA" }, - { "F9BC", "15BEE" }, - { "F9BD", "15C3F" }, - { "F9BE", "16599" }, - { "F9BF", "16A02" }, - { "F9C0", "171CE" }, - { "F9C1", "17642" }, - { "F9C2", "184FC" }, - { "F9C3", "1907C" }, - { "F9C4", "19F8D" }, - { "F9C5", "16688" }, - { "F9C6", "1962E" }, - { "F9C7", "15289" }, - { "F9C8", "1677B" }, - { "F9C9", "167F3" }, - { "F9CA", "16D41" }, - { "F9CB", "16E9C" }, - { "F9CC", "17409" }, - { "F9CD", "17559" }, - { "F9CE", "1786B" }, - { "F9CF", "17D10" }, - { "F9D0", "1985E" }, - { "F9D1", "1516D" }, - { "F9D2", "1622E" }, - { "F9D3", "19678" }, - { "F9D4", "1502B" }, - { "F9D5", "15D19" }, - { "F9D6", "16DEA" }, - { "F9D7", "18F2A" }, - { "F9D8", "15F8B" }, - { "F9D9", "16144" }, - { "F9DA", "16817" }, - { "F9DB", "17387" }, - { "F9DC", "19686" }, - { "F9DD", "15229" }, - { "F9DE", "1540F" }, - { "F9DF", "15C65" }, - { "F9E0", "16613" }, - { "F9E1", "1674E" }, - { "F9E2", "168A8" }, - { "F9E3", "16CE5" }, - { "F9E4", "17406" }, - { "F9E5", "175E2" }, - { "F9E6", "17F79" }, - { "F9E7", "188CF" }, - { "F9E8", "188E1" }, - { "F9E9", "191CC" }, - { "F9EA", "196E2" }, - { "F9EB", "1533F" }, - { "F9EC", "16EBA" }, - { "F9ED", "1541D" }, - { "F9EE", "171D0" }, - { "F9EF", "17498" }, - { "F9F0", "185FA" }, - { "F9F1", "196A3" }, - { "F9F2", "19C57" }, - { "F9F3", "19E9F" }, - { "F9F4", "16797" }, - { "F9F5", "16DCB" }, - { "F9F6", "181E8" }, - { "F9F7", "17ACB" }, - { "F9F8", "17B20" }, - { "F9F9", "17C92" }, - { "F9FA", "172C0" }, - { "F9FB", "17099" }, - { "F9FC", "18B58" }, - { "F9FD", "14EC0" }, - { "F9FE", "18336" }, - { "F9FF", "1523A" }, - { "FA00", "15207" }, - { "FA01", "15EA6" }, - { "FA02", "162D3" }, - { "FA03", "17CD6" }, - { "FA04", "15B85" }, - { "FA05", "16D1E" }, - { "FA06", "166B4" }, - { "FA07", "18F3B" }, - { "FA08", "1884C" }, - { "FA09", "1964D" }, - { "FA0A", "1898B" }, - { "FA0B", "15ED3" }, - { "FA0C", "15140" }, - { "FA0D", "155C0" }, - { "FA10", "1585A" }, - { "FA12", "16674" }, - { "FA15", "151DE" }, - { "FA16", "1732A" }, - { "FA17", "176CA" }, - { "FA18", "1793C" }, - { "FA19", "1795E" }, - { "FA1A", "17965" }, - { "FA1B", "1798F" }, - { "FA1C", "19756" }, - { "FA1D", "17CBE" }, - { "FA1E", "17FBD" }, - { "FA20", "18612" }, - { "FA22", "18AF8" }, - { "FA25", "19038" }, - { "FA26", "190FD" }, - { "FA2A", "198EF" }, - { "FA2B", "198FC" }, - { "FA2C", "19928" }, - { "FA2D", "19DB4" }, - { "FA30", "14FAE" }, - { "FA31", "150E7" }, - { "FA32", "1514D" }, - { "FA33", "152C9" }, - { "FA34", "152E4" }, - { "FA35", "15351" }, - { "FA36", "1559D" }, - { "FA37", "15606" }, - { "FA38", "15668" }, - { "FA39", "15840" }, - { "FA3A", "158A8" }, - { "FA3B", "15C64" }, - { "FA3C", "15C6E" }, - { "FA3D", "16094" }, - { "FA3E", "16168" }, - { "FA3F", "1618E" }, - { "FA40", "161F2" }, - { "FA41", "1654F" }, - { "FA42", "165E2" }, - { "FA43", "16691" }, - { "FA44", "16885" }, - { "FA45", "16D77" }, - { "FA46", "16E1A" }, - { "FA47", "16F22" }, - { "FA48", "1716E" }, - { "FA49", "1722B" }, - { "FA4A", "17422" }, - { "FA4B", "17891" }, - { "FA4C", "1793E" }, - { "FA4D", "17949" }, - { "FA4E", "17948" }, - { "FA4F", "17950" }, - { "FA50", "17956" }, - { "FA51", "1795D" }, - { "FA52", "1798D" }, - { "FA53", "1798E" }, - { "FA54", "17A40" }, - { "FA55", "17A81" }, - { "FA56", "17BC0" }, - { "FA57", "17DF4" }, - { "FA58", "17E09" }, - { "FA59", "17E41" }, - { "FA5A", "17F72" }, - { "FA5B", "18005" }, - { "FA5C", "181ED" }, - { "FA5D", "18279" }, - { "FA5E", "18279" }, - { "FA5F", "18457" }, - { "FA60", "18910" }, - { "FA61", "18996" }, - { "FA62", "18B01" }, - { "FA63", "18B39" }, - { "FA64", "18CD3" }, - { "FA65", "18D08" }, - { "FA66", "18FB6" }, - { "FA67", "19038" }, - { "FA68", "196E3" }, - { "FA69", "197FF" }, - { "FA6A", "1983B" }, - { "FB1D", "205D9_05B4" }, - { "FB1F", "205F2_05B7" }, - { "FB2A", "205E9_05C1" }, - { "FB2B", "205E9_05C2" }, - { "FB2C", "305E9_05BC_05C1" }, - { "FB2D", "305E9_05BC_05C2" }, - { "FB2E", "205D0_05B7" }, - { "FB2F", "205D0_05B8" }, - { "FB30", "205D0_05BC" }, - { "FB31", "205D1_05BC" }, - { "FB32", "205D2_05BC" }, - { "FB33", "205D3_05BC" }, - { "FB34", "205D4_05BC" }, - { "FB35", "205D5_05BC" }, - { "FB36", "205D6_05BC" }, - { "FB38", "205D8_05BC" }, - { "FB39", "205D9_05BC" }, - { "FB3A", "205DA_05BC" }, - { "FB3B", "205DB_05BC" }, - { "FB3C", "205DC_05BC" }, - { "FB3E", "205DE_05BC" }, - { "FB40", "205E0_05BC" }, - { "FB41", "205E1_05BC" }, - { "FB43", "205E3_05BC" }, - { "FB44", "205E4_05BC" }, - { "FB46", "205E6_05BC" }, - { "FB47", "205E7_05BC" }, - { "FB48", "205E8_05BC" }, - { "FB49", "205E9_05BC" }, - { "FB4A", "205EA_05BC" }, - { "FB4B", "205D5_05B9" }, - { "FB4C", "205D1_05BF" }, - { "FB4D", "205DB_05BF" }, - { "FB4E", "205E4_05BF" }, - { "1D15E", "21D157_1D165" }, - { "1D15F", "21D158_1D165" }, - { "1D160", "31D158_1D165_1D16E" }, - { "1D161", "31D158_1D165_1D16F" }, - { "1D162", "31D158_1D165_1D170" }, - { "1D163", "31D158_1D165_1D171" }, - { "1D164", "31D158_1D165_1D172" }, - { "1D1BB", "21D1B9_1D165" }, - { "1D1BC", "21D1BA_1D165" }, - { "1D1BD", "31D1B9_1D165_1D16E" }, - { "1D1BE", "31D1BA_1D165_1D16E" }, - { "1D1BF", "31D1B9_1D165_1D16F" }, - { "1D1C0", "31D1BA_1D165_1D16F" }, - { "2F800", "14E3D" }, - { "2F801", "14E38" }, - { "2F802", "14E41" }, - { "2F803", "120122" }, - { "2F804", "14F60" }, - { "2F805", "14FAE" }, - { "2F806", "14FBB" }, - { "2F807", "15002" }, - { "2F808", "1507A" }, - { "2F809", "15099" }, - { "2F80A", "150E7" }, - { "2F80B", "150CF" }, - { "2F80C", "1349E" }, - { "2F80D", "12063A" }, - { "2F80E", "1514D" }, - { "2F80F", "15154" }, - { "2F810", "15164" }, - { "2F811", "15177" }, - { "2F812", "12051C" }, - { "2F813", "134B9" }, - { "2F814", "15167" }, - { "2F815", "1518D" }, - { "2F816", "12054B" }, - { "2F817", "15197" }, - { "2F818", "151A4" }, - { "2F819", "14ECC" }, - { "2F81A", "151AC" }, - { "2F81B", "151B5" }, - { "2F81C", "1291DF" }, - { "2F81D", "151F5" }, - { "2F81E", "15203" }, - { "2F81F", "134DF" }, - { "2F820", "1523B" }, - { "2F821", "15246" }, - { "2F822", "15272" }, - { "2F823", "15277" }, - { "2F824", "13515" }, - { "2F825", "152C7" }, - { "2F826", "152C9" }, - { "2F827", "152E4" }, - { "2F828", "152FA" }, - { "2F829", "15305" }, - { "2F82A", "15306" }, - { "2F82B", "15317" }, - { "2F82C", "15349" }, - { "2F82D", "15351" }, - { "2F82E", "1535A" }, - { "2F82F", "15373" }, - { "2F830", "1537D" }, - { "2F831", "1537F" }, - { "2F832", "1537F" }, - { "2F833", "1537F" }, - { "2F834", "120A2C" }, - { "2F835", "17070" }, - { "2F836", "153CA" }, - { "2F837", "153DF" }, - { "2F838", "120B63" }, - { "2F839", "153EB" }, - { "2F83A", "153F1" }, - { "2F83B", "15406" }, - { "2F83C", "1549E" }, - { "2F83D", "15438" }, - { "2F83E", "15448" }, - { "2F83F", "15468" }, - { "2F840", "154A2" }, - { "2F841", "154F6" }, - { "2F842", "15510" }, - { "2F843", "15553" }, - { "2F844", "15563" }, - { "2F845", "15584" }, - { "2F846", "15584" }, - { "2F847", "15599" }, - { "2F848", "155AB" }, - { "2F849", "155B3" }, - { "2F84A", "155C2" }, - { "2F84B", "15716" }, - { "2F84C", "15606" }, - { "2F84D", "15717" }, - { "2F84E", "15651" }, - { "2F84F", "15674" }, - { "2F850", "15207" }, - { "2F851", "158EE" }, - { "2F852", "157CE" }, - { "2F853", "157F4" }, - { "2F854", "1580D" }, - { "2F855", "1578B" }, - { "2F856", "15832" }, - { "2F857", "15831" }, - { "2F858", "158AC" }, - { "2F859", "1214E4" }, - { "2F85A", "158F2" }, - { "2F85B", "158F7" }, - { "2F85C", "15906" }, - { "2F85D", "1591A" }, - { "2F85E", "15922" }, - { "2F85F", "15962" }, - { "2F860", "1216A8" }, - { "2F861", "1216EA" }, - { "2F862", "159EC" }, - { "2F863", "15A1B" }, - { "2F864", "15A27" }, - { "2F865", "159D8" }, - { "2F866", "15A66" }, - { "2F867", "136EE" }, - { "2F868", "12136A" }, - { "2F869", "15B08" }, - { "2F86A", "15B3E" }, - { "2F86B", "15B3E" }, - { "2F86C", "1219C8" }, - { "2F86D", "15BC3" }, - { "2F86E", "15BD8" }, - { "2F86F", "15BE7" }, - { "2F870", "15BF3" }, - { "2F871", "121B18" }, - { "2F872", "15BFF" }, - { "2F873", "15C06" }, - { "2F874", "15F33" }, - { "2F875", "15C22" }, - { "2F876", "13781" }, - { "2F877", "15C60" }, - { "2F878", "15C6E" }, - { "2F879", "15CC0" }, - { "2F87A", "15C8D" }, - { "2F87B", "121DE4" }, - { "2F87C", "15D43" }, - { "2F87D", "121DE6" }, - { "2F87E", "15D6E" }, - { "2F87F", "15D6B" }, - { "2F880", "15D7C" }, - { "2F881", "15DE1" }, - { "2F882", "15DE2" }, - { "2F883", "1382F" }, - { "2F884", "15DFD" }, - { "2F885", "15E28" }, - { "2F886", "15E3D" }, - { "2F887", "15E69" }, - { "2F888", "13862" }, - { "2F889", "122183" }, - { "2F88A", "1387C" }, - { "2F88B", "15EB0" }, - { "2F88C", "15EB3" }, - { "2F88D", "15EB6" }, - { "2F88E", "15ECA" }, - { "2F88F", "12A392" }, - { "2F890", "15EFE" }, - { "2F891", "122331" }, - { "2F892", "122331" }, - { "2F893", "18201" }, - { "2F894", "15F22" }, - { "2F895", "15F22" }, - { "2F896", "138C7" }, - { "2F897", "1232B8" }, - { "2F898", "1261DA" }, - { "2F899", "15F62" }, - { "2F89A", "15F6B" }, - { "2F89B", "138E3" }, - { "2F89C", "15F9A" }, - { "2F89D", "15FCD" }, - { "2F89E", "15FD7" }, - { "2F89F", "15FF9" }, - { "2F8A0", "16081" }, - { "2F8A1", "1393A" }, - { "2F8A2", "1391C" }, - { "2F8A3", "16094" }, - { "2F8A4", "1226D4" }, - { "2F8A5", "160C7" }, - { "2F8A6", "16148" }, - { "2F8A7", "1614C" }, - { "2F8A8", "1614E" }, - { "2F8A9", "1614C" }, - { "2F8AA", "1617A" }, - { "2F8AB", "1618E" }, - { "2F8AC", "161B2" }, - { "2F8AD", "161A4" }, - { "2F8AE", "161AF" }, - { "2F8AF", "161DE" }, - { "2F8B0", "161F2" }, - { "2F8B1", "161F6" }, - { "2F8B2", "16210" }, - { "2F8B3", "1621B" }, - { "2F8B4", "1625D" }, - { "2F8B5", "162B1" }, - { "2F8B6", "162D4" }, - { "2F8B7", "16350" }, - { "2F8B8", "122B0C" }, - { "2F8B9", "1633D" }, - { "2F8BA", "162FC" }, - { "2F8BB", "16368" }, - { "2F8BC", "16383" }, - { "2F8BD", "163E4" }, - { "2F8BE", "122BF1" }, - { "2F8BF", "16422" }, - { "2F8C0", "163C5" }, - { "2F8C1", "163A9" }, - { "2F8C2", "13A2E" }, - { "2F8C3", "16469" }, - { "2F8C4", "1647E" }, - { "2F8C5", "1649D" }, - { "2F8C6", "16477" }, - { "2F8C7", "13A6C" }, - { "2F8C8", "1654F" }, - { "2F8C9", "1656C" }, - { "2F8CA", "12300A" }, - { "2F8CB", "165E3" }, - { "2F8CC", "166F8" }, - { "2F8CD", "16649" }, - { "2F8CE", "13B19" }, - { "2F8CF", "16691" }, - { "2F8D0", "13B08" }, - { "2F8D1", "13AE4" }, - { "2F8D2", "15192" }, - { "2F8D3", "15195" }, - { "2F8D4", "16700" }, - { "2F8D5", "1669C" }, - { "2F8D6", "180AD" }, - { "2F8D7", "143D9" }, - { "2F8D8", "16717" }, - { "2F8D9", "1671B" }, - { "2F8DA", "16721" }, - { "2F8DB", "1675E" }, - { "2F8DC", "16753" }, - { "2F8DD", "1233C3" }, - { "2F8DE", "13B49" }, - { "2F8DF", "167FA" }, - { "2F8E0", "16785" }, - { "2F8E1", "16852" }, - { "2F8E2", "16885" }, - { "2F8E3", "12346D" }, - { "2F8E4", "1688E" }, - { "2F8E5", "1681F" }, - { "2F8E6", "16914" }, - { "2F8E7", "13B9D" }, - { "2F8E8", "16942" }, - { "2F8E9", "169A3" }, - { "2F8EA", "169EA" }, - { "2F8EB", "16AA8" }, - { "2F8EC", "1236A3" }, - { "2F8ED", "16ADB" }, - { "2F8EE", "13C18" }, - { "2F8EF", "16B21" }, - { "2F8F0", "1238A7" }, - { "2F8F1", "16B54" }, - { "2F8F2", "13C4E" }, - { "2F8F3", "16B72" }, - { "2F8F4", "16B9F" }, - { "2F8F5", "16BBA" }, - { "2F8F6", "16BBB" }, - { "2F8F7", "123A8D" }, - { "2F8F8", "121D0B" }, - { "2F8F9", "123AFA" }, - { "2F8FA", "16C4E" }, - { "2F8FB", "123CBC" }, - { "2F8FC", "16CBF" }, - { "2F8FD", "16CCD" }, - { "2F8FE", "16C67" }, - { "2F8FF", "16D16" }, - { "2F900", "16D3E" }, - { "2F901", "16D77" }, - { "2F902", "16D41" }, - { "2F903", "16D69" }, - { "2F904", "16D78" }, - { "2F905", "16D85" }, - { "2F906", "123D1E" }, - { "2F907", "16D34" }, - { "2F908", "16E2F" }, - { "2F909", "16E6E" }, - { "2F90A", "13D33" }, - { "2F90B", "16ECB" }, - { "2F90C", "16EC7" }, - { "2F90D", "123ED1" }, - { "2F90E", "16DF9" }, - { "2F90F", "16F6E" }, - { "2F910", "123F5E" }, - { "2F911", "123F8E" }, - { "2F912", "16FC6" }, - { "2F913", "17039" }, - { "2F914", "1701E" }, - { "2F915", "1701B" }, - { "2F916", "13D96" }, - { "2F917", "1704A" }, - { "2F918", "1707D" }, - { "2F919", "17077" }, - { "2F91A", "170AD" }, - { "2F91B", "120525" }, - { "2F91C", "17145" }, - { "2F91D", "124263" }, - { "2F91E", "1719C" }, - { "2F91F", "143AB" }, - { "2F920", "17228" }, - { "2F921", "17235" }, - { "2F922", "17250" }, - { "2F923", "124608" }, - { "2F924", "17280" }, - { "2F925", "17295" }, - { "2F926", "124735" }, - { "2F927", "124814" }, - { "2F928", "1737A" }, - { "2F929", "1738B" }, - { "2F92A", "13EAC" }, - { "2F92B", "173A5" }, - { "2F92C", "13EB8" }, - { "2F92D", "13EB8" }, - { "2F92E", "17447" }, - { "2F92F", "1745C" }, - { "2F930", "17471" }, - { "2F931", "17485" }, - { "2F932", "174CA" }, - { "2F933", "13F1B" }, - { "2F934", "17524" }, - { "2F935", "124C36" }, - { "2F936", "1753E" }, - { "2F937", "124C92" }, - { "2F938", "17570" }, - { "2F939", "12219F" }, - { "2F93A", "17610" }, - { "2F93B", "124FA1" }, - { "2F93C", "124FB8" }, - { "2F93D", "125044" }, - { "2F93E", "13FFC" }, - { "2F93F", "14008" }, - { "2F940", "176F4" }, - { "2F941", "1250F3" }, - { "2F942", "1250F2" }, - { "2F943", "125119" }, - { "2F944", "125133" }, - { "2F945", "1771E" }, - { "2F946", "1771F" }, - { "2F947", "1771F" }, - { "2F948", "1774A" }, - { "2F949", "14039" }, - { "2F94A", "1778B" }, - { "2F94B", "14046" }, - { "2F94C", "14096" }, - { "2F94D", "12541D" }, - { "2F94E", "1784E" }, - { "2F94F", "1788C" }, - { "2F950", "178CC" }, - { "2F951", "140E3" }, - { "2F952", "125626" }, - { "2F953", "17956" }, - { "2F954", "12569A" }, - { "2F955", "1256C5" }, - { "2F956", "1798F" }, - { "2F957", "179EB" }, - { "2F958", "1412F" }, - { "2F959", "17A40" }, - { "2F95A", "17A4A" }, - { "2F95B", "17A4F" }, - { "2F95C", "12597C" }, - { "2F95D", "125AA7" }, - { "2F95E", "125AA7" }, - { "2F95F", "17AAE" }, - { "2F960", "14202" }, - { "2F961", "125BAB" }, - { "2F962", "17BC6" }, - { "2F963", "17BC9" }, - { "2F964", "14227" }, - { "2F965", "125C80" }, - { "2F966", "17CD2" }, - { "2F967", "142A0" }, - { "2F968", "17CE8" }, - { "2F969", "17CE3" }, - { "2F96A", "17D00" }, - { "2F96B", "125F86" }, - { "2F96C", "17D63" }, - { "2F96D", "14301" }, - { "2F96E", "17DC7" }, - { "2F96F", "17E02" }, - { "2F970", "17E45" }, - { "2F971", "14334" }, - { "2F972", "126228" }, - { "2F973", "126247" }, - { "2F974", "14359" }, - { "2F975", "1262D9" }, - { "2F976", "17F7A" }, - { "2F977", "12633E" }, - { "2F978", "17F95" }, - { "2F979", "17FFA" }, - { "2F97A", "18005" }, - { "2F97B", "1264DA" }, - { "2F97C", "126523" }, - { "2F97D", "18060" }, - { "2F97E", "1265A8" }, - { "2F97F", "18070" }, - { "2F980", "12335F" }, - { "2F981", "143D5" }, - { "2F982", "180B2" }, - { "2F983", "18103" }, - { "2F984", "1440B" }, - { "2F985", "1813E" }, - { "2F986", "15AB5" }, - { "2F987", "1267A7" }, - { "2F988", "1267B5" }, - { "2F989", "123393" }, - { "2F98A", "12339C" }, - { "2F98B", "18201" }, - { "2F98C", "18204" }, - { "2F98D", "18F9E" }, - { "2F98E", "1446B" }, - { "2F98F", "18291" }, - { "2F990", "1828B" }, - { "2F991", "1829D" }, - { "2F992", "152B3" }, - { "2F993", "182B1" }, - { "2F994", "182B3" }, - { "2F995", "182BD" }, - { "2F996", "182E6" }, - { "2F997", "126B3C" }, - { "2F998", "182E5" }, - { "2F999", "1831D" }, - { "2F99A", "18363" }, - { "2F99B", "183AD" }, - { "2F99C", "18323" }, - { "2F99D", "183BD" }, - { "2F99E", "183E7" }, - { "2F99F", "18457" }, - { "2F9A0", "18353" }, - { "2F9A1", "183CA" }, - { "2F9A2", "183CC" }, - { "2F9A3", "183DC" }, - { "2F9A4", "126C36" }, - { "2F9A5", "126D6B" }, - { "2F9A6", "126CD5" }, - { "2F9A7", "1452B" }, - { "2F9A8", "184F1" }, - { "2F9A9", "184F3" }, - { "2F9AA", "18516" }, - { "2F9AB", "1273CA" }, - { "2F9AC", "18564" }, - { "2F9AD", "126F2C" }, - { "2F9AE", "1455D" }, - { "2F9AF", "14561" }, - { "2F9B0", "126FB1" }, - { "2F9B1", "1270D2" }, - { "2F9B2", "1456B" }, - { "2F9B3", "18650" }, - { "2F9B4", "1865C" }, - { "2F9B5", "18667" }, - { "2F9B6", "18669" }, - { "2F9B7", "186A9" }, - { "2F9B8", "18688" }, - { "2F9B9", "1870E" }, - { "2F9BA", "186E2" }, - { "2F9BB", "18779" }, - { "2F9BC", "18728" }, - { "2F9BD", "1876B" }, - { "2F9BE", "18786" }, - { "2F9BF", "14D57" }, - { "2F9C0", "187E1" }, - { "2F9C1", "18801" }, - { "2F9C2", "145F9" }, - { "2F9C3", "18860" }, - { "2F9C4", "18863" }, - { "2F9C5", "127667" }, - { "2F9C6", "188D7" }, - { "2F9C7", "188DE" }, - { "2F9C8", "14635" }, - { "2F9C9", "188FA" }, - { "2F9CA", "134BB" }, - { "2F9CB", "1278AE" }, - { "2F9CC", "127966" }, - { "2F9CD", "146BE" }, - { "2F9CE", "146C7" }, - { "2F9CF", "18AA0" }, - { "2F9D0", "18AED" }, - { "2F9D1", "18B8A" }, - { "2F9D2", "18C55" }, - { "2F9D3", "127CA8" }, - { "2F9D4", "18CAB" }, - { "2F9D5", "18CC1" }, - { "2F9D6", "18D1B" }, - { "2F9D7", "18D77" }, - { "2F9D8", "127F2F" }, - { "2F9D9", "120804" }, - { "2F9DA", "18DCB" }, - { "2F9DB", "18DBC" }, - { "2F9DC", "18DF0" }, - { "2F9DD", "1208DE" }, - { "2F9DE", "18ED4" }, - { "2F9DF", "18F38" }, - { "2F9E0", "1285D2" }, - { "2F9E1", "1285ED" }, - { "2F9E2", "19094" }, - { "2F9E3", "190F1" }, - { "2F9E4", "19111" }, - { "2F9E5", "12872E" }, - { "2F9E6", "1911B" }, - { "2F9E7", "19238" }, - { "2F9E8", "192D7" }, - { "2F9E9", "192D8" }, - { "2F9EA", "1927C" }, - { "2F9EB", "193F9" }, - { "2F9EC", "19415" }, - { "2F9ED", "128BFA" }, - { "2F9EE", "1958B" }, - { "2F9EF", "14995" }, - { "2F9F0", "195B7" }, - { "2F9F1", "128D77" }, - { "2F9F2", "149E6" }, - { "2F9F3", "196C3" }, - { "2F9F4", "15DB2" }, - { "2F9F5", "19723" }, - { "2F9F6", "129145" }, - { "2F9F7", "12921A" }, - { "2F9F8", "14A6E" }, - { "2F9F9", "14A76" }, - { "2F9FA", "197E0" }, - { "2F9FB", "12940A" }, - { "2F9FC", "14AB2" }, - { "2F9FD", "129496" }, - { "2F9FE", "1980B" }, - { "2F9FF", "1980B" }, - { "2FA00", "19829" }, - { "2FA01", "1295B6" }, - { "2FA02", "198E2" }, - { "2FA03", "14B33" }, - { "2FA04", "19929" }, - { "2FA05", "199A7" }, - { "2FA06", "199C2" }, - { "2FA07", "199FE" }, - { "2FA08", "14BCE" }, - { "2FA09", "129B30" }, - { "2FA0A", "19B12" }, - { "2FA0B", "19C40" }, - { "2FA0C", "19CFD" }, - { "2FA0D", "14CCE" }, - { "2FA0E", "14CED" }, - { "2FA0F", "19D67" }, - { "2FA10", "12A0CE" }, - { "2FA11", "14CF8" }, - { "2FA12", "12A105" }, - { "2FA13", "12A20E" }, - { "2FA14", "12A291" }, - { "2FA15", "19EBB" }, - { "2FA16", "14D56" }, - { "2FA17", "19EF9" }, - { "2FA18", "19EFE" }, - { "2FA19", "19F05" }, - { "2FA1A", "19F0F" }, - { "2FA1B", "19F16" }, - { "2FA1C", "19F3B" }, - { "2FA1D", "12A600" }, -}; - -// global constructor - -static struct unicode_decompose_init { - unicode_decompose_init(); -} _unicode_decompose_init; - -unicode_decompose_init::unicode_decompose_init() { - for (unsigned int i = 0; - i < sizeof(unicode_decompose_list)/sizeof(unicode_decompose_list[0]); - i++) { - unicode_decompose *dec = new unicode_decompose[1]; - dec->value = (char *)unicode_decompose_list[i].value; - unicode_decompose_table.define(unicode_decompose_list[i].key, dec); - } -} - -const char *decompose_unicode(const char *s) -{ - unicode_decompose *result = unicode_decompose_table.lookup(s); - return result ? result->value : 0; -} diff --git a/contrib/groff/src/xditview/ChangeLog b/contrib/groff/src/xditview/ChangeLog deleted file mode 100644 index a63d984..0000000 --- a/contrib/groff/src/xditview/ChangeLog +++ /dev/null @@ -1,520 +0,0 @@ -Version 1.19 released -===================== - -2003-03-03 Werner LEMBERG <wl@gnu.org> - - * Imakefile.in (extraclean): Added gxditview._man. - -2003-01-28 Werner LEMBERG <wl@gnu.org> - - * Imakefile.in (SEP): New variable; set to @PATH_SEPARATOR@. - (GROFF_FONTPATH): Use it. - -2003-01-07 Werner LEMBERG <wl@gnu.org> - - * DviChar.c (Adobe_Symbol_map): Add `sqrt'. - -2003-01-06 Werner LEMBERG <wl@gnu.org> - - * DviChar.c (Adobe_Symbol_map): Add `integral'. - -2002-12-29 Werner LEMBERG <wl@gnu.org> - - * DviChar.c (ISO_8859_1_map): Remove `ap' and `eq'. - -2002-12-20 Werner LEMBERG <wl@gnu.org> - - * DviChar.c (Adobe_Symbol_map): Don't include `or'. - * draw.c (AdjustCharDeltas): Apply correction only if nadj > 1. - (DoCharacter): Call FlushCharCache if font size and font number - differ. - Reset `dw->dvi.cache.adjustable' properly. - -2002-12-09 Werner LEMBERG <wl@gnu.org> - - * DviChar.c (ISO_8859_1_map): Use `tno' symbol instead of `no'. - -2002-12-01 Werner LEMBERG <wl@gnu.org> - - * Imakefile.in: Use `InstallAppDefaultsLong' instead of - `InstallAppDefaults' to make it work if build directory isn't - $srcdir. - -2002-11-24 Werner LEMBERG <wl@gnu.org> - - * DviChar.c (Adobe_Symbol_map): Add glyph `braceex'. - -2002-11-14 Werner LEMBERG <wl@gnu.org> - - * DviChar.c (ISO_8859_1_map): Don't include `or'. - -Version 1.18.1 released -======================= - -2002-09-16 Werner LEMBERG <wl@gnu.org> - - * Imakefile.in (GROFF_LOCALFONTDIR): New variable. - (GROFF_FONTPATH): Use it. - Remove /usr/local/lib/font. - -Version 1.18.0 released -======================= - -2002-06-22 Werner LEMBERG <wl@gnu.org> - - * gxditview.c (main): Handle `-help' and `--help' correctly. - -2002-06-17 Colin Watson <cjwatson@debian.org> - - * Imakefile.in: s/@top_builddir@/@groff_top_builddir@/. - -2002-04-06 Werner LEMBERG <wl@gnu.org> - - * DviChar.c (ISO_8859_1_map, Adobe_Symbol_map): Remove all - characters > 0x80. - * parse.c (ParseInput): Ignore `m' command. - (ParseDrawFunction): Don't move for unknown drawing functions. - Don't move for `f' drawing function. - -2002-03-25 Werner LEMBERG <wl@gnu.org> - - * DviChar.c (ISO_8859_1_map): Use `t+-', `tmu', and `tdi' symbols - instead of `+-', `mu', and `di', respectively. - -2002-02-23 Werner LEMBERG <wl@gnu.org> - - * DviChar.c (ISO_8859_1_map): Add `mc' symbol. - -2001-09-22 Werner LEMBERG <wl@gnu.org> - - * Imakefile.in: Redefine `ProgramTargetHelper' as - `ProgramTargetHelperNoMan' and add a call to `InstallManPageLong' - to make the `install.man' target work if the build directory isn't - $srcdir. - -Version 1.17.2 released -======================= - -Version 1.17.1 released -======================= - -2001-04-21 Albert Chin-A-Young <china@thewrittenword.com> - - * Imakefile.in: Add support for recent HP architectures. - -Version 1.17 released -===================== - -2001-01-04 Rob Daasch <daasch@ece.pdx.edu> - - * parse.c (ParseInput): Added 'F' to command switch to swallow - filename strings as ignored comments. - -2000-12-02 Werner LEMBERG <wl@gnu.org> - - * device.c (find_file): Remove home directory in search path. - -2000-11-14 Werner LEMBERG <wl@gnu.org> - - * device.c (open_device_file): Remove `path' parameter. - (find_file): Construct font path similar to groff: First the contents - of GROFF_FONT_PATH, then the home directory, and finally the default - font path. - * Imakefile.in: Fix GROFF_DATAPROGRAMDIR and GROFF_FONTPATH. - -2000-10-23 Werner LEMBERG <wl@gnu.org> - - Change installation structure for data files from .../groff/... to - .../groff/<version><revision>/... to be conform with other GNU - programs. - - * Imakefile.in: Implement it. - -Version 1.16.1 released -======================= - -Version 1.16 released -===================== - -2000-05-18 Werner LEMBERG <wl@gnu.org> - - * DviChar.c: Adding `cq' as an alias for "'" in latin-1 map. - -2000-05-03 Werner LEMBERG <wl@gnu.org> - - * DviChar.c: Adding `dq' as an alias for `"' in latin-1 map. - -2000-04-28 Werner LEMBERG <wl@gnu.org> - - * DviChar.c: Replacing `md' glyph name with `pc' in latin-1 map to - make it distinct from the `md' glyph in the symbol font. - -2000-03-03 Werner LEMBERG <wl@gnu.org> - - * Imakefile replaced with Imakefile.in which will be configured by - the main configure script of groff. This will set the correct font - path, and it will make it possible to build xditview in a directory - different from $srcdir. - -2000-03-01 Colin Phipps <crp22@cam.ac.uk> - - * Dvi.c (OpenFile): Use tmpdir() for security reasons. - * xtotroff.c (MapFont): Avoid race while opening file. - -2000-02-06 Werner LEMBERG <wl@gnu.org> - - * Imakefile: Adapted to new directory structure. - - * README: Updated. - -Version 1.15 released -===================== - -1999-12-21 Werner LEMBERG <wl@gnu.org> - - * README: Fixed ftp GNU address. - -1999-12-13 Werner LEMBERG <wl@gnu.org> - - * device.c: Use extern declarations of strtok(), strchr(), and - getenv() only if not defined as macros. - -1999-11-18 Larry Jones <larry.jones@sdrc.com> - - * xditview.c: Add fallback_resources to allow running without - access to the app-defaults file. - - * Imakefile: Added rule to create app-defaults to a C header file. - - * GXditview-ad.h: New file containing fallback default resources. - - * ad2c: New file to do the app-defaults -> C header file - conversion. - -1999-10-27 Larry Jones <larry.jones@sdrc.com> - - * font.c (DisposeFontSizes): If there's a problem loading a font, - xditview will fall-back and use the default font, but it hasn't - checked before unloading fonts which could result in unloading the - default font (possibly multiple times) and then X errors. - -1999-09-13 Werner LEMBERG <wl@gnu.org> - - * Imakefile (extraclean): Added Makefile. - - * xditview.c (main, MakePrompt): Fixing compilation warnings. - - * TODO: Imakefile should be replaced with a configure script. - -1999-09-13 Werner LEMBERG <wl@gnu.org> - - * Makefile: Removed. - -1999-09-12 Werner LEMBERG <wl@gnu.org> - - * Imakefile (GROFF_FONTPATH): Another addition. - - * device.c (FONTPATH): Update to match current groff version. - -1999-09-11 Larry Jones <larry.jones@sdrc.com> - - * Imakefile (GROFF_LIBDIR, GROFF_FONTPATH): Update to match - current groff version. - - * Dvi.c (Realize, Destroy), DviP.h, draw.c (setFillGC), gray*.bm: - Allow 8 levels of gray rather than just 1. - - * draw.c (DrawFilledCircle, DrawFilledEllipse, DrawFilledPolygon): - Draw outlines to prevent gaps between abutting figures. - -1999-05-27 Werner LEMBERG <wl@gnu.org> - - * xtotroff.c (usage): Fixed typo. - -Mon Sep 11 10:40:33 1995 James Clark <jjc@jclark.com> - - * device.c (INT_MIN, INT_MAX): Don't define if already defined. - -Mon Aug 8 11:14:11 1994 James Clark (jjc@jclark.com) - - * DviChar.c (Adobe_Symbol_map): Use \(nb for notsubset. - -Tue Apr 19 04:41:16 1994 James Clark (jjc@jclark.com) - - * Dvi.c (resources): Change default for background and foreground - to "XtDefaultBackground" and "XtDefaultForeground". - -Sat Feb 12 10:38:47 1994 James Clark (jjc@jclark.com) - - * DviChar.c (Adobe_Symbol_map): Rename radicalex to rn. - -Thu May 27 20:30:12 1993 James Clark (jjc@jclark.com) - - * device.c (isascii): Define if necessary. - (canonicalize_name): Cast argument to isdigit() to unsigned char. - -Thu Apr 29 18:36:57 1993 James Clark (jjc at jclark.com) - - * xditview.c: Include <X11/Xos.h>. - (NewFile): Don't declare rindex(). Use strrchr() rather than - rindex(). - -Tue Mar 30 15:12:09 1993 James Clark (jjc at jclark) - - * draw.c (charExists): Check that fi->per_char is not NULL. - -Sat Dec 12 17:42:40 1992 James Clark (jjc at jclark) - - * Dvi.c (SetGeometry): Cast XtMakeGeometryRequest arguments. - - * draw.c (DrawPolygon, DrawFilledPolygon): Cast Xtfree argument. - - * font.c (DisposeFontSizes): Add declaration. - - * draw.c (FakeCharacter): Add declaration. - -Wed Oct 28 13:24:00 1992 James Clark (jjc at jclark) - - * Imakefile (install.dev): Deleted. - (fonts): New target. - -Mon Oct 12 10:50:44 1992 James Clark (jjc at jclark) - - * Imakefile (install.dev): Say when we're installing devX*-12. - - * Imakefile (install.dev): Depends on DESC and FontMap. - -Thu Oct 1 20:03:45 1992 James Clark (jjc at jclark) - - * xditview.c (Syntax): Mention -filename option. - -Sat Aug 15 12:56:39 1992 James Clark (jjc at jclark) - - * GXditview.ad: Bind space and return to NextPage. Bind backspace - and delete to previous page. - - * DviChar.c (Adobe_Symbol_map): Add `an'. - - * DviChar.c (Adobe_Symbol_map): Add arrowvertex, arrowverttp, and - arrowvertbt. - -Mon Aug 10 11:54:27 1992 James Clark (jjc at jclark) - - * FontMap: Add m/p fields to the fonts names. - -Sat Aug 8 12:00:28 1992 James Clark (jjc at jclark) - - * DESC: Leave font positions 5-9 blank. - -Tue Jul 28 11:37:05 1992 James Clark (jjc at jclark) - - * Imakefile: Don't use gendef. Pass definition of FONTPATH using - DEFINES. - (path.h): Deleted. - (device.c): Don't include path.h. Provide default definition of - FONTPATH. - -Mon Jul 6 14:06:53 1992 James Clark (jjc at jclark) - - * Imakefile: Don't install tmac.X and tmac.Xps. - * tmac.X, tmac.Xps: Moved to ../macros. - - * Imakefile: Don't install eqnchar. - * eqnchar: Deleted. - -Sun Jun 14 12:55:02 1992 James Clark (jjc@jclark) - - * tmac.Xps: Handle OE, oe, lq, rq. - * draw.c (FakeCharacter): Don't handle these. - - * draw.c (FakeCharacter): Don't handle f/. - -Mon Jun 8 11:46:37 1992 James Clark (jjc@jclark) - - * tmac.X: Translate char160 to space. - -Sun Jun 7 14:39:53 1992 James Clark (jjc@jclark) - - * tmac.X: Do `mso tmac.psic' before restoring compatibility mode. - - * tmac.X: Add \(OE, \(oe, \(ah, \(ao, \(ho. - - * tmac.Xps: Make it work in compatibility mode. - Redo existing character definitions with .Xps-char. - Add more character definitions. - (Xps-char): New macro. - -Sat Jun 6 21:46:03 1992 James Clark (jjc@jclark) - - * DviChar.c (Adobe_Symbol_map): Add +h, +f, +p, Fn, lz. - * tmac.X: Add \(bq, \(Bq, \(aq. - * tmac.Xps: Handle \(aq, \(bq, \(Bq, \(Fn. - -Wed Jun 3 11:11:15 1992 James Clark (jjc@jclark) - - * DviChar.c (Adobe_Symbol_map): Add wp. - -Tue Apr 21 09:21:59 1992 James Clark (jjc at jclark) - - * GXditview.ad: Bind n, p, q keys to NextPage, PreviousPage and - Quit actions. - - * xditview.c (RerasterizeAction): New function. - (xditview_actions): Add RerasterizeAction. - * GXditview.ad: Bind r key to Rerasterize action. - -Fri Apr 17 08:25:36 1992 James Clark (jjc at jclark) - - * xditview.c: Add -filename option. - (main): Copy any -filename argument into current_file_name. - -Mon Mar 16 10:21:58 1992 James Clark (jjc at jclark) - - * tmac.X: Load tmac.pspic. - -Sun Mar 8 11:27:19 1992 James Clark (jjc at jclark) - - * Lex.c (GetLine, GetWord, GetNumber): Rewrite. - -Sat Oct 12 22:58:52 1991 James Clark (jjc at jclark) - - * Dvi.c (SetDevice): If the size change request is refused but a - larger geometry is offered, request that. - -Wed Oct 9 12:27:48 1991 James Clark (jjc at jclark) - - * font.c (InstallFontSizes): Ignore FontNameAverageWidth component. - - * Dvi.c (default_font_map): Add `adobe' to font names to avoid - ambiguity. - - * FontMap: New file. - * FontMap.X100, FontMap.X75: Deleted. - * xtotroff.c (main, usage): Add -s and -r options. - (MapFont): Change the font pattern to have the selected resolution and - size. - * Imakefile (install.dev): Use FontMap and supply appropriate -s - and -r options. - - * xtotroff.c (MapFont): Check for ambiguity by comparing canonicalized - font names. - - * DviP.h (DviFontList): Add initialized and scalable members. - (font.c): Add support for scalable fonts based on R5 xditview. - - * DviChar.c: Use xmalloc rather than malloc. - * xditview.c (xmalloc): New function. - * xtotroff.c (xmalloc): New function. - * other files: Use XtMalloc and XtFree instead of malloc and free. - -Thu Aug 29 20:15:31 1991 James Clark (jjc at jclark) - - * draw.c (setGC): Do multiplication in floating point to avoid - overflow. - -Tue Aug 13 12:04:41 1991 James Clark (jjc at jclark) - - * draw.c (FakeCharacter): Remove casts in defintion of pack2. - -Tue Jul 30 11:42:39 1991 James Clark (jjc at jclark) - - * tmac.Xps: New file. - * Imakefile (install): Install tmac.Xps. - -Tue Jul 2 09:31:37 1991 James Clark (jjc at jclark) - - * xtotroff.c (main): Pass argv[0] to usage(). - -Sun Jun 30 12:34:06 1991 James Clark (jjc at jclark) - - * xtotroff.c (MapFont): Handle the case where XLoadQueryFont - returns NULL. - -Sat Jun 29 12:32:52 1991 James Clark (jjc at jclark) - - * Imakefile: Use ../gendef to generate path.h. - -Sun Jun 16 13:26:34 1991 James Clark (jjc at jclark) - - * Imakefile (depend.o): Change to device.o. - -Sun Jun 2 12:17:56 1991 James Clark (jjc at jclark) - - * Imakefile: Remove spaces from the beginning of variable - assignment lines. - -Sun May 26 14:14:01 1991 James Clark (jjc at jclark) - - * xditview.c (Syntax): Update. - - * Dvi.c (DviSaveToFile, SaveToFile): New functions. - (FindPage): Check that we're not readingTmp before checking for - end of file of normal input file. - (ClassPartInitialize): New function. - * Dvi.h: Add declaration of DviSaveToFile. - * DviP.h: Add save method to DviClassPart. Declare - InheritSaveToFile. - * xditview.c (DoPrint, Print, PrintAction): New functions. - * xditview.c: Add print menu entry. - * xditview.c: Provide printCommand application resource. - * lex.c: Don't output EOF to temporary file. - - * Dvi.c (QueryGeometry): Check request->request_mode. - - * Dvi.c (SetDevice): New function. - (SetDeviceResolution): Deleted. - - * Dvi.c: Add resolution resource. - * DviP.h: Add definitions of XtNResolution and XtCResolution. - * xditview.c: Add -resolution argument. - * GXditview.ad: Add default for GXditview.height. - * Dvi.c (Initialize, SetDevice): Use default_resolution. - - * Dvi.c: Make MY_HEIGHT and MY_WIDTH use the paperlength and - paperwidth commands in the DESC file. - - * Dvi.c: Add SS font to default font map. - - * draw.c: Rewritten so as not to assume device and display - resolution is the same. - * DviP.h: Include device.h. Add device_font member to DviFontList. - Add adjustable array to DviCharCache. Add text_x_width, - text_device_width, word_flag, device_font, device_font_number, - device, native, device_resolution, display_resolution, - paperlength, paperwidth, scale_factor, sizescale members. - * Dvi.c (Initialize): Initialize new variable used by draw.c. - (Destroy): Call device_destroy. - * font.c (MaxFontPosition): New function. - (LookupFontSizeBySize): Handle sizescale. - (InstallFont): Load the device font. - (ForgetFonts): New function. - (QueryDeviceFont): New function. - * parse.c (ParseInput): Handle t and u commands. Split off - character output into draw.c. - (ParseDeviceControl): Ignore res command. Use the device argument - to the T command. - - * font.c (MapXNameToDviName): Ifdefed out. - - * path.h: New file. - * device.c, device.h: New files. - - * DviChar.c: Add entries for lB, rB, oq, lC, rC, md. - - * INSTALL: New file. - - * libxdvi: Merged into main directory. - * xtotroff.c, xditview.c: Change includes accordingly. - - * devX75, devX100: Merged into main directory. - * xditview.man: Renamed to gxditview.man. - - * Xditview.ad: Renamed to GXditview.ad. - * xditview.c (main): Use class of GXditview rather than xditview. - - * Imakefile: New file. - * Makefile: Deleted. - - * xtotroff.c (MapFont): Unlink output file before opening it. - - * Started separate ChangeLog. diff --git a/contrib/groff/src/xditview/DESC b/contrib/groff/src/xditview/DESC deleted file mode 100644 index 172170c..0000000 --- a/contrib/groff/src/xditview/DESC +++ /dev/null @@ -1,9 +0,0 @@ -styles R I B BI -fonts 6 0 0 0 0 0 S -sizes 8 10 12 14 18 24 0 -res 75 -X11 -hor 1 -vert 1 -unitwidth 10 -postpro gxditview diff --git a/contrib/groff/src/xditview/Dvi.c b/contrib/groff/src/xditview/Dvi.c deleted file mode 100644 index 08eb810..0000000 --- a/contrib/groff/src/xditview/Dvi.c +++ /dev/null @@ -1,573 +0,0 @@ -#ifndef SABER -#ifndef lint -static char Xrcsid[] = "$XConsortium: Dvi.c,v 1.9 89/12/10 16:12:25 rws Exp $"; -#endif /* lint */ -#endif /* SABER */ - -/* - * Dvi.c - Dvi display widget - * - */ - -#define XtStrlen(s) ((s) ? strlen(s) : 0) - - /* The following are defined for the reader's convenience. Any - Xt..Field macro in this code just refers to some field in - one of the substructures of the WidgetRec. */ - -#include <X11/IntrinsicP.h> -#include <X11/StringDefs.h> -#include <X11/Xmu/Converters.h> -#include <stdio.h> -#include <ctype.h> -#include "DviP.h" - -/**************************************************************** - * - * Full class record constant - * - ****************************************************************/ - -/* Private Data */ - -static char default_font_map[] = "\ -TR -adobe-times-medium-r-normal--*-100-*-*-*-*-iso8859-1\n\ -TI -adobe-times-medium-i-normal--*-100-*-*-*-*-iso8859-1\n\ -TB -adobe-times-bold-r-normal--*-100-*-*-*-*-iso8859-1\n\ -TBI -adobe-times-bold-i-normal--*-100-*-*-*-*-iso8859-1\n\ -CR -adobe-courier-medium-r-normal--*-100-*-*-*-*-iso8859-1\n\ -CI -adobe-courier-medium-o-normal--*-100-*-*-*-*-iso8859-1\n\ -CB -adobe-courier-bold-r-normal--*-100-*-*-*-*-iso8859-1\n\ -CBI -adobe-courier-bold-o-normal--*-100-*-*-*-*-iso8859-1\n\ -HR -adobe-helvetica-medium-r-normal--*-100-*-*-*-*-iso8859-1\n\ -HI -adobe-helvetica-medium-o-normal--*-100-*-*-*-*-iso8859-1\n\ -HB -adobe-helvetica-bold-r-normal--*-100-*-*-*-*-iso8859-1\n\ -HBI -adobe-helvetica-bold-o-normal--*-100-*-*-*-*-iso8859-1\n\ -NR -adobe-new century schoolbook-medium-r-normal--*-100-*-*-*-*-iso8859-1\n\ -NI -adobe-new century schoolbook-medium-i-normal--*-100-*-*-*-*-iso8859-1\n\ -NB -adobe-new century schoolbook-bold-r-normal--*-100-*-*-*-*-iso8859-1\n\ -NBI -adobe-new century schoolbook-bold-i-normal--*-100-*-*-*-*-iso8859-1\n\ -S -adobe-symbol-medium-r-normal--*-100-*-*-*-*-adobe-fontspecific\n\ -SS -adobe-symbol-medium-r-normal--*-100-*-*-*-*-adobe-fontspecific\n\ -"; - -#define offset(field) XtOffset(DviWidget, field) - -#define MY_WIDTH(dw) ((int)(dw->dvi.paperwidth * dw->dvi.scale_factor + .5)) -#define MY_HEIGHT(dw) ((int)(dw->dvi.paperlength * dw->dvi.scale_factor + .5)) - -static XtResource resources[] = { - {XtNfontMap, XtCFontMap, XtRString, sizeof (char *), - offset(dvi.font_map_string), XtRString, default_font_map}, - {XtNforeground, XtCForeground, XtRPixel, sizeof (unsigned long), - offset(dvi.foreground), XtRString, "XtDefaultForeground"}, - {XtNbackground, XtCBackground, XtRPixel, sizeof (unsigned long), - offset(dvi.background), XtRString, "XtDefaultBackground"}, - {XtNpageNumber, XtCPageNumber, XtRInt, sizeof (int), - offset(dvi.requested_page), XtRString, "1"}, - {XtNlastPageNumber, XtCLastPageNumber, XtRInt, sizeof (int), - offset (dvi.last_page), XtRString, "0"}, - {XtNfile, XtCFile, XtRFile, sizeof (FILE *), - offset (dvi.file), XtRFile, (char *) 0}, - {XtNseek, XtCSeek, XtRBoolean, sizeof (Boolean), - offset(dvi.seek), XtRString, "false"}, - {XtNfont, XtCFont, XtRFontStruct, sizeof (XFontStruct *), - offset(dvi.default_font), XtRString, "xtdefaultfont"}, - {XtNbackingStore, XtCBackingStore, XtRBackingStore, sizeof (int), - offset(dvi.backing_store), XtRString, "default"}, - {XtNnoPolyText, XtCNoPolyText, XtRBoolean, sizeof (Boolean), - offset(dvi.noPolyText), XtRString, "false"}, - {XtNresolution, XtCResolution, XtRInt, sizeof(int), - offset(dvi.default_resolution), XtRString, "75"}, -}; - -#undef offset - -static void ClassInitialize (); -static void ClassPartInitialize(); -static void Initialize(), Realize (), Destroy (), Redisplay (); -static Boolean SetValues (), SetValuesHook (); -static XtGeometryResult QueryGeometry (); -static void ShowDvi (); -static void CloseFile (), OpenFile (); -static void FindPage (); - -static void SaveToFile (); - -DviClassRec dviClassRec = { -{ - &widgetClassRec, /* superclass */ - "Dvi", /* class_name */ - sizeof(DviRec), /* size */ - ClassInitialize, /* class_initialize */ - ClassPartInitialize, /* class_part_initialize */ - FALSE, /* class_inited */ - Initialize, /* initialize */ - NULL, /* initialize_hook */ - Realize, /* realize */ - NULL, /* actions */ - 0, /* num_actions */ - resources, /* resources */ - XtNumber(resources), /* resource_count */ - NULLQUARK, /* xrm_class */ - FALSE, /* compress_motion */ - TRUE, /* compress_exposure */ - TRUE, /* compress_enterleave */ - FALSE, /* visible_interest */ - Destroy, /* destroy */ - NULL, /* resize */ - Redisplay, /* expose */ - SetValues, /* set_values */ - SetValuesHook, /* set_values_hook */ - NULL, /* set_values_almost */ - NULL, /* get_values_hook */ - NULL, /* accept_focus */ - XtVersion, /* version */ - NULL, /* callback_private */ - 0, /* tm_table */ - QueryGeometry, /* query_geometry */ - NULL, /* display_accelerator */ - NULL /* extension */ -},{ - SaveToFile, /* save */ -}, -}; - -WidgetClass dviWidgetClass = (WidgetClass) &dviClassRec; - -static void ClassInitialize () -{ - XtAddConverter( XtRString, XtRBackingStore, XmuCvtStringToBackingStore, - NULL, 0 ); -} - -/**************************************************************** - * - * Private Procedures - * - ****************************************************************/ - -/* ARGSUSED */ -static void Initialize(request, new) - Widget request, new; -{ - DviWidget dw = (DviWidget) new; - - dw->dvi.current_page = 0; - dw->dvi.font_map = 0; - dw->dvi.cache.index = 0; - dw->dvi.text_x_width = 0; - dw->dvi.text_device_width = 0; - dw->dvi.word_flag = 0; - dw->dvi.file = 0; - dw->dvi.tmpFile = 0; - dw->dvi.state = 0; - dw->dvi.readingTmp = 0; - dw->dvi.cache.char_index = 0; - dw->dvi.cache.font_size = -1; - dw->dvi.cache.font_number = -1; - dw->dvi.cache.adjustable[0] = 0; - dw->dvi.file_map = 0; - dw->dvi.fonts = 0; - dw->dvi.seek = False; - dw->dvi.device_resolution = dw->dvi.default_resolution; - dw->dvi.display_resolution = dw->dvi.default_resolution; - dw->dvi.paperlength = dw->dvi.default_resolution*11; - dw->dvi.paperwidth = (dw->dvi.default_resolution*8 - + dw->dvi.default_resolution/2); - dw->dvi.scale_factor = 1.0; - dw->dvi.sizescale = 1; - dw->dvi.line_thickness = -1; - dw->dvi.line_width = 1; - dw->dvi.fill = DVI_FILL_MAX; - dw->dvi.device_font = 0; - dw->dvi.device_font_number = -1; - dw->dvi.device = 0; - dw->dvi.native = 0; -} - -#include "gray1.bm" -#include "gray2.bm" -#include "gray3.bm" -#include "gray4.bm" -#include "gray5.bm" -#include "gray6.bm" -#include "gray7.bm" -#include "gray8.bm" - -static void -Realize (w, valueMask, attrs) - Widget w; - XtValueMask *valueMask; - XSetWindowAttributes *attrs; -{ - DviWidget dw = (DviWidget) w; - XGCValues values; - - if (dw->dvi.backing_store != Always + WhenMapped + NotUseful) { - attrs->backing_store = dw->dvi.backing_store; - *valueMask |= CWBackingStore; - } - XtCreateWindow (w, (unsigned)InputOutput, (Visual *) CopyFromParent, - *valueMask, attrs); - values.foreground = dw->dvi.foreground; - values.cap_style = CapRound; - values.join_style = JoinRound; - values.line_width = dw->dvi.line_width; - dw->dvi.normal_GC = XCreateGC (XtDisplay (w), XtWindow (w), - GCForeground|GCCapStyle|GCJoinStyle - |GCLineWidth, - &values); - dw->dvi.gray[0] = XCreateBitmapFromData(XtDisplay (w), XtWindow (w), - gray1_bits, - gray1_width, gray1_height); - dw->dvi.gray[1] = XCreateBitmapFromData(XtDisplay (w), XtWindow (w), - gray2_bits, - gray2_width, gray2_height); - dw->dvi.gray[2] = XCreateBitmapFromData(XtDisplay (w), XtWindow (w), - gray3_bits, - gray3_width, gray3_height); - dw->dvi.gray[3] = XCreateBitmapFromData(XtDisplay (w), XtWindow (w), - gray4_bits, - gray4_width, gray4_height); - dw->dvi.gray[4] = XCreateBitmapFromData(XtDisplay (w), XtWindow (w), - gray5_bits, - gray5_width, gray5_height); - dw->dvi.gray[5] = XCreateBitmapFromData(XtDisplay (w), XtWindow (w), - gray6_bits, - gray6_width, gray6_height); - dw->dvi.gray[6] = XCreateBitmapFromData(XtDisplay (w), XtWindow (w), - gray7_bits, - gray7_width, gray7_height); - dw->dvi.gray[7] = XCreateBitmapFromData(XtDisplay (w), XtWindow (w), - gray8_bits, - gray8_width, gray8_height); - values.background = dw->dvi.background; - values.stipple = dw->dvi.gray[5]; - dw->dvi.fill_GC = XCreateGC (XtDisplay (w), XtWindow (w), - GCForeground|GCBackground|GCStipple, - &values); - - dw->dvi.fill_type = 9; - - if (dw->dvi.file) - OpenFile (dw); - ParseFontMap (dw); -} - -static void -Destroy(w) - Widget w; -{ - DviWidget dw = (DviWidget) w; - - XFreeGC (XtDisplay (w), dw->dvi.normal_GC); - XFreeGC (XtDisplay (w), dw->dvi.fill_GC); - XFreePixmap (XtDisplay (w), dw->dvi.gray[0]); - XFreePixmap (XtDisplay (w), dw->dvi.gray[1]); - XFreePixmap (XtDisplay (w), dw->dvi.gray[2]); - XFreePixmap (XtDisplay (w), dw->dvi.gray[3]); - XFreePixmap (XtDisplay (w), dw->dvi.gray[4]); - XFreePixmap (XtDisplay (w), dw->dvi.gray[5]); - XFreePixmap (XtDisplay (w), dw->dvi.gray[6]); - XFreePixmap (XtDisplay (w), dw->dvi.gray[7]); - DestroyFontMap (dw->dvi.font_map); - DestroyFileMap (dw->dvi.file_map); - device_destroy (dw->dvi.device); -} - -/* - * Repaint the widget window - */ - -/* ARGSUSED */ -static void -Redisplay(w, event, region) - Widget w; - XEvent *event; - Region region; -{ - DviWidget dw = (DviWidget) w; - XRectangle extents; - - XClipBox (region, &extents); - dw->dvi.extents.x1 = extents.x; - dw->dvi.extents.y1 = extents.y; - dw->dvi.extents.x2 = extents.x + extents.width; - dw->dvi.extents.y2 = extents.y + extents.height; - ShowDvi (dw); -} - -/* - * Set specified arguments into widget - */ -/* ARGSUSED */ -static Boolean -SetValues (current, request, new) - DviWidget current, request, new; -{ - Boolean redisplay = FALSE; - char *new_map; - int cur, req; - - if (current->dvi.font_map_string != request->dvi.font_map_string) { - new_map = XtMalloc (strlen (request->dvi.font_map_string) + 1); - if (new_map) { - redisplay = TRUE; - strcpy (new_map, request->dvi.font_map_string); - new->dvi.font_map_string = new_map; - if (current->dvi.font_map_string) - XtFree (current->dvi.font_map_string); - current->dvi.font_map_string = 0; - ParseFontMap (new); - } - } - - req = request->dvi.requested_page; - cur = current->dvi.requested_page; - if (cur != req) { - if (!request->dvi.file) - req = 0; - else { - if (req < 1) - req = 1; - if (current->dvi.last_page != 0 && - req > current->dvi.last_page) - req = current->dvi.last_page; - } - if (cur != req) - redisplay = TRUE; - new->dvi.requested_page = req; - if (current->dvi.last_page == 0 && req > cur) - FindPage (new); - } - - return redisplay; -} - -/* - * use the set_values_hook entry to check when - * the file is set - */ - -static Boolean -SetValuesHook (dw, args, num_argsp) - DviWidget dw; - ArgList args; - Cardinal *num_argsp; -{ - Cardinal i; - - for (i = 0; i < *num_argsp; i++) { - if (!strcmp (args[i].name, XtNfile)) { - CloseFile (dw); - OpenFile (dw); - return TRUE; - } - } - return FALSE; -} - -static void CloseFile (dw) - DviWidget dw; -{ - if (dw->dvi.tmpFile) - fclose (dw->dvi.tmpFile); - ForgetPagePositions (dw); -} - -static void OpenFile (dw) - DviWidget dw; -{ - dw->dvi.tmpFile = 0; - if (!dw->dvi.seek) - dw->dvi.tmpFile = tmpfile(); - dw->dvi.requested_page = 1; - dw->dvi.last_page = 0; -} - -static XtGeometryResult -QueryGeometry (w, request, geometry_return) - Widget w; - XtWidgetGeometry *request, *geometry_return; -{ - XtGeometryResult ret; - DviWidget dw = (DviWidget) w; - - ret = XtGeometryYes; - if (((request->request_mode & CWWidth) - && request->width < MY_WIDTH(dw)) - || ((request->request_mode & CWHeight) - && request->height < MY_HEIGHT(dw))) - ret = XtGeometryAlmost; - geometry_return->width = MY_WIDTH(dw); - geometry_return->height = MY_HEIGHT(dw); - geometry_return->request_mode = CWWidth|CWHeight; - return ret; -} - -SetDevice (dw, name) - DviWidget dw; - char *name; -{ - XtWidgetGeometry request, reply; - XtGeometryResult ret; - - ForgetFonts (dw); - dw->dvi.device = device_load (name); - if (!dw->dvi.device) - return; - dw->dvi.sizescale = dw->dvi.device->sizescale; - dw->dvi.device_resolution = dw->dvi.device->res; - dw->dvi.native = dw->dvi.device->X11; - dw->dvi.paperlength = dw->dvi.device->paperlength; - dw->dvi.paperwidth = dw->dvi.device->paperwidth; - if (dw->dvi.native) { - dw->dvi.display_resolution = dw->dvi.device_resolution; - dw->dvi.scale_factor = 1.0; - } - else { - dw->dvi.display_resolution = dw->dvi.default_resolution; - dw->dvi.scale_factor = ((double)dw->dvi.display_resolution - / dw->dvi.device_resolution); - } - request.request_mode = CWWidth|CWHeight; - request.width = MY_WIDTH(dw); - request.height = MY_HEIGHT(dw); - ret = XtMakeGeometryRequest ((Widget)dw, &request, &reply); - if (ret == XtGeometryAlmost - && reply.height >= request.height - && reply.width >= request.width) { - request.width = reply.width; - request.height = reply.height; - XtMakeGeometryRequest ((Widget)dw, &request, &reply); - } -} - -static void -ShowDvi (dw) - DviWidget dw; -{ - if (!dw->dvi.file) { - static char Error[] = "No file selected"; - - XSetFont (XtDisplay(dw), dw->dvi.normal_GC, - dw->dvi.default_font->fid); - XDrawString (XtDisplay (dw), XtWindow (dw), dw->dvi.normal_GC, - 20, 20, Error, strlen (Error)); - return; - } - - FindPage (dw); - - dw->dvi.display_enable = 1; - ParseInput (dw); - if (dw->dvi.last_page && dw->dvi.requested_page > dw->dvi.last_page) - dw->dvi.requested_page = dw->dvi.last_page; -} - -static void -FindPage (dw) - DviWidget dw; -{ - int i; - long file_position; - - if (dw->dvi.requested_page < 1) - dw->dvi.requested_page = 1; - - if (dw->dvi.last_page != 0 && dw->dvi.requested_page > dw->dvi.last_page) - dw->dvi.requested_page = dw->dvi.last_page; - - file_position = SearchPagePosition (dw, dw->dvi.requested_page); - if (file_position != -1) { - FileSeek(dw, file_position); - dw->dvi.current_page = dw->dvi.requested_page; - } else { - for (i=dw->dvi.requested_page; i > 0; i--) { - file_position = SearchPagePosition (dw, i); - if (file_position != -1) - break; - } - if (file_position == -1) - file_position = 0; - FileSeek (dw, file_position); - - dw->dvi.current_page = i; - - dw->dvi.display_enable = 0; - while (dw->dvi.current_page != dw->dvi.requested_page) { - dw->dvi.current_page = ParseInput (dw); - /* - * at EOF, seek back to the beginning of this page. - */ - if (!dw->dvi.readingTmp && feof (dw->dvi.file)) { - file_position = SearchPagePosition (dw, - dw->dvi.current_page); - if (file_position != -1) - FileSeek (dw, file_position); - dw->dvi.requested_page = dw->dvi.current_page; - break; - } - } - } -} - -void DviSaveToFile(w, fp) - Widget w; - FILE *fp; -{ - XtCheckSubclass(w, dviWidgetClass, NULL); - (*((DviWidgetClass) XtClass(w))->command_class.save)(w, fp); -} - -static -void SaveToFile(w, fp) - Widget w; - FILE *fp; -{ - DviWidget dw = (DviWidget)w; - long pos; - int c; - - if (dw->dvi.tmpFile) { - pos = ftell(dw->dvi.tmpFile); - if (dw->dvi.ungot) { - pos--; - dw->dvi.ungot = 0; - /* The ungot character is in the tmpFile, so we don't - want to read it from file. */ - (void)getc(dw->dvi.file); - } - } - else - pos = ftell(dw->dvi.file); - FileSeek(dw, 0L); - while (DviGetC(dw, &c) != EOF) - if (putc(c, fp) == EOF) { - /* XXX print error message */ - break; - } - FileSeek(dw, pos); -} - -static -void ClassPartInitialize(widget_class) - WidgetClass widget_class; -{ - DviWidgetClass wc = (DviWidgetClass)widget_class; - DviWidgetClass super = (DviWidgetClass) wc->core_class.superclass; - if (wc->command_class.save == InheritSaveToFile) - wc->command_class.save = super->command_class.save; -} - -/* -Local Variables: -c-indent-level: 8 -c-continued-statement-offset: 8 -c-brace-offset: -8 -c-argdecl-indent: 8 -c-label-offset: -8 -c-tab-always-indent: nil -End: -*/ diff --git a/contrib/groff/src/xditview/Dvi.h b/contrib/groff/src/xditview/Dvi.h deleted file mode 100644 index 5aab7d8..0000000 --- a/contrib/groff/src/xditview/Dvi.h +++ /dev/null @@ -1,46 +0,0 @@ -/* -* $XConsortium: Dvi.h,v 1.4 89/07/21 14:22:06 jim Exp $ -*/ - -#ifndef _XtDvi_h -#define _XtDvi_h - -/*********************************************************************** - * - * Dvi Widget - * - ***********************************************************************/ - -/* Parameters: - - Name Class RepType Default Value - ---- ----- ------- ------------- - background Background pixel White - foreground Foreground Pixel Black - fontMap FontMap char * ... - pageNumber PageNumber int 1 -*/ - -#define XtNfontMap "fontMap" -#define XtNpageNumber "pageNumber" -#define XtNlastPageNumber "lastPageNumber" -#define XtNnoPolyText "noPolyText" -#define XtNseek "seek" -#define XtNresolution "resolution" - -#define XtCFontMap "FontMap" -#define XtCPageNumber "PageNumber" -#define XtCLastPageNumber "LastPageNumber" -#define XtCNoPolyText "NoPolyText" -#define XtCSeek "Seek" -#define XtCResolution "Resolution" - -typedef struct _DviRec *DviWidget; /* completely defined in DviPrivate.h */ -typedef struct _DviClassRec *DviWidgetClass; /* completely defined in DviPrivate.h */ - -extern WidgetClass dviWidgetClass; - -extern void DviSaveToFile(); - -#endif /* _XtDvi_h */ -/* DON'T ADD STUFF AFTER THIS #endif */ diff --git a/contrib/groff/src/xditview/DviChar.c b/contrib/groff/src/xditview/DviChar.c deleted file mode 100644 index ac4d7ce..0000000 --- a/contrib/groff/src/xditview/DviChar.c +++ /dev/null @@ -1,662 +0,0 @@ -/* - * DviChar.c - * - * Map DVI (ditroff output) character names to - * font indexes and back - */ - -#include "DviChar.h" - -extern char *xmalloc(); - -#define allocHash() ((DviCharNameHash *) xmalloc (sizeof (DviCharNameHash))) - -struct map_list { - struct map_list *next; - DviCharNameMap *map; -}; - -static struct map_list *world; - -static int standard_maps_loaded = 0; -static void load_standard_maps (); -static int hash_name (); -static dispose_hash(), compute_hash(); - -DviCharNameMap * -DviFindMap (encoding) - char *encoding; -{ - struct map_list *m; - - if (!standard_maps_loaded) - load_standard_maps (); - for (m = world; m; m=m->next) - if (!strcmp (m->map->encoding, encoding)) - return m->map; - return 0; -} - -void -DviRegisterMap (map) - DviCharNameMap *map; -{ - struct map_list *m; - - if (!standard_maps_loaded) - load_standard_maps (); - for (m = world; m; m = m->next) - if (!strcmp (m->map->encoding, map->encoding)) - break; - if (!m) { - m = (struct map_list *) xmalloc (sizeof *m); - m->next = world; - world = m; - } - dispose_hash (map); - m->map = map; - compute_hash (map); -} - -static -dispose_hash (map) - DviCharNameMap *map; -{ - DviCharNameHash **buckets; - DviCharNameHash *h, *next; - int i; - - buckets = map->buckets; - for (i = 0; i < DVI_HASH_SIZE; i++) { - for (h = buckets[i]; h; h=next) { - next = h->next; - free (h); - } - } -} - -static int -hash_name (name) - char *name; -{ - int i = 0; - - while (*name) - i = (i << 1) ^ *name++; - if (i < 0) - i = -i; - return i; -} - -static -compute_hash (map) - DviCharNameMap *map; -{ - DviCharNameHash **buckets; - int c, s, i; - DviCharNameHash *h; - - buckets = map->buckets; - for (i = 0; i < DVI_HASH_SIZE; i++) - buckets[i] = 0; - for (c = 0; c < DVI_MAP_SIZE; c++) - for (s = 0; s < DVI_MAX_SYNONYMS; s++) { - if (!map->dvi_names[c][s]) - break; - i = hash_name (map->dvi_names[c][s]) % DVI_HASH_SIZE; - h = allocHash (); - h->next = buckets[i]; - buckets[i] = h; - h->name = map->dvi_names[c][s]; - h->position = c; - } - -} - -int -DviCharIndex (map, name) - DviCharNameMap *map; - char *name; -{ - int i; - DviCharNameHash *h; - - i = hash_name (name) % DVI_HASH_SIZE; - for (h = map->buckets[i]; h; h=h->next) - if (!strcmp (h->name, name)) - return h->position; - return -1; -} - -static DviCharNameMap ISO8859_1_map = { - "iso8859-1", - 0, -{ -{ 0, /* 0 */}, -{ 0, /* 1 */}, -{ 0, /* 2 */}, -{ 0, /* 3 */}, -{ 0, /* 4 */}, -{ 0, /* 5 */}, -{ 0, /* 6 */}, -{ 0, /* 7 */}, -{ 0, /* 8 */}, -{ 0, /* 9 */}, -{ 0, /* 10 */}, -{ 0, /* 11 */}, -{ 0, /* 12 */}, -{ 0, /* 13 */}, -{ 0, /* 14 */}, -{ 0, /* 15 */}, -{ 0, /* 16 */}, -{ 0, /* 17 */}, -{ 0, /* 18 */}, -{ 0, /* 19 */}, -{ 0, /* 20 */}, -{ 0, /* 21 */}, -{ 0, /* 22 */}, -{ 0, /* 23 */}, -{ 0, /* 24 */}, -{ 0, /* 25 */}, -{ 0, /* 26 */}, -{ 0, /* 27 */}, -{ 0, /* 28 */}, -{ 0, /* 29 */}, -{ 0, /* 30 */}, -{ 0, /* 31 */}, -{ 0, /* 32 */}, -{ "!", /* 33 */}, -{ "\"", "dq", /* 34 */}, -{ "#", "sh", /* 35 */}, -{ "$", "Do", /* 36 */}, -{ "%", /* 37 */}, -{ "&", /* 38 */}, -{ "'", "cq", /* 39 */}, -{ "(", /* 40 */}, -{ ")", /* 41 */}, -{ "*", /* 42 */}, -{ "+", /* 43 */}, -{ ",", /* 44 */}, -{ "\\-", /* 45 */}, -{ ".", /* 46 */}, -{ "/", "sl", /* 47 */}, -{ "0", /* 48 */}, -{ "1", /* 49 */}, -{ "2", /* 50 */}, -{ "3", /* 51 */}, -{ "4", /* 52 */}, -{ "5", /* 53 */}, -{ "6", /* 54 */}, -{ "7", /* 55 */}, -{ "8", /* 56 */}, -{ "9", /* 57 */}, -{ ":", /* 58 */}, -{ ";", /* 59 */}, -{ "<", /* 60 */}, -{ "=", /* 61 */}, -{ ">", /* 62 */}, -{ "?", /* 63 */}, -{ "@", "at", /* 64 */}, -{ "A", /* 65 */}, -{ "B", /* 66 */}, -{ "C", /* 67 */}, -{ "D", /* 68 */}, -{ "E", /* 69 */}, -{ "F", /* 70 */}, -{ "G", /* 71 */}, -{ "H", /* 72 */}, -{ "I", /* 73 */}, -{ "J", /* 74 */}, -{ "K", /* 75 */}, -{ "L", /* 76 */}, -{ "M", /* 77 */}, -{ "N", /* 78 */}, -{ "O", /* 79 */}, -{ "P", /* 80 */}, -{ "Q", /* 81 */}, -{ "R", /* 82 */}, -{ "S", /* 83 */}, -{ "T", /* 84 */}, -{ "U", /* 85 */}, -{ "V", /* 86 */}, -{ "W", /* 87 */}, -{ "X", /* 88 */}, -{ "Y", /* 89 */}, -{ "Z", /* 90 */}, -{ "[", "lB", /* 91 */}, -{ "\\", "rs", /* 92 */}, -{ "]", "rB", /* 93 */}, -{ "^", "a^", "ha", /* 94 */}, -{ "_", /* 95 */}, -{ "`", "oq", /* 96 */}, -{ "a", /* 97 */}, -{ "b", /* 98 */}, -{ "c", /* 99 */}, -{ "d", /* 100 */}, -{ "e", /* 101 */}, -{ "f", /* 102 */}, -{ "g", /* 103 */}, -{ "h", /* 104 */}, -{ "i", /* 105 */}, -{ "j", /* 106 */}, -{ "k", /* 107 */}, -{ "l", /* 108 */}, -{ "m", /* 109 */}, -{ "n", /* 110 */}, -{ "o", /* 111 */}, -{ "p", /* 112 */}, -{ "q", /* 113 */}, -{ "r", /* 114 */}, -{ "s", /* 115 */}, -{ "t", /* 116 */}, -{ "u", /* 117 */}, -{ "v", /* 118 */}, -{ "w", /* 119 */}, -{ "x", /* 120 */}, -{ "y", /* 121 */}, -{ "z", /* 122 */}, -{ "{", "lC", /* 123 */}, -{ "|", "ba", /* 124 */}, -{ "}", "rC", /* 125 */}, -{ "~", "a~", "ti", /* 126 */}, -{ 0, /* 127 */}, -{ 0, /* 128 */}, -{ 0, /* 129 */}, -{ 0, /* 130 */}, -{ 0, /* 131 */}, -{ 0, /* 132 */}, -{ 0, /* 133 */}, -{ 0, /* 134 */}, -{ 0, /* 135 */}, -{ 0, /* 136 */}, -{ 0, /* 137 */}, -{ 0, /* 138 */}, -{ 0, /* 139 */}, -{ 0, /* 140 */}, -{ 0, /* 141 */}, -{ 0, /* 142 */}, -{ 0, /* 143 */}, -{ 0, /* 144 */}, -{ 0, /* 145 */}, -{ 0, /* 146 */}, -{ 0, /* 147 */}, -{ 0, /* 148 */}, -{ 0, /* 149 */}, -{ 0, /* 150 */}, -{ 0, /* 151 */}, -{ 0, /* 152 */}, -{ 0, /* 153 */}, -{ 0, /* 154 */}, -{ 0, /* 155 */}, -{ 0, /* 156 */}, -{ 0, /* 157 */}, -{ 0, /* 158 */}, -{ 0, /* 159 */}, -{ 0, /* 160 */}, -{ "r!", /* 161 */}, -{ "ct", /* 162 */}, -{ "Po", /* 163 */}, -{ "Cs", /* 164 */}, -{ "Ye", /* 165 */}, -{ "bb", /* 166 */}, -{ "sc", /* 167 */}, -{ "ad", /* 168 */}, -{ "co", /* 169 */}, -{ "Of", /* 170 */}, -{ "Fo", /* 171 */}, -{ "tno", /* 172 */}, -{ "-", "hy", /* 173 */}, -{ "rg", /* 174 */}, -{ "a-", /* 175 */}, -{ "de", /* 176 */}, -{ "t+-", /* 177 */}, -{ "S2", /* 178 */}, -{ "S3", /* 179 */}, -{ "aa", /* 180 */}, -{ "mc", /* 181 */}, -{ "ps", /* 182 */}, -{ "pc", /* 183 */}, -{ "ac", /* 184 */}, -{ "S1", /* 185 */}, -{ "Om", /* 186 */}, -{ "Fc", /* 187 */}, -{ "14", /* 188 */}, -{ "12", /* 189 */}, -{ "34", /* 190 */}, -{ "r?", /* 191 */}, -{ "`A", /* 192 */}, -{ "'A", /* 193 */}, -{ "^A", /* 194 */}, -{ "~A", /* 195 */}, -{ ":A", /* 196 */}, -{ "oA", /* 197 */}, -{ "AE", /* 198 */}, -{ ",C", /* 199 */}, -{ "`E", /* 200 */}, -{ "'E", /* 201 */}, -{ "^E", /* 202 */}, -{ ":E", /* 203 */}, -{ "`I", /* 204 */}, -{ "'I", /* 205 */}, -{ "^I", /* 206 */}, -{ ":I", /* 207 */}, -{ "-D", /* 208 */}, -{ "~N", /* 209 */}, -{ "`O", /* 210 */}, -{ "'O", /* 211 */}, -{ "^O", /* 212 */}, -{ "~O", /* 213 */}, -{ ":O", /* 214 */}, -{ "tmu", /* 215 */}, -{ "/O", /* 216 */}, -{ "`U", /* 217 */}, -{ "'U", /* 218 */}, -{ "^U", /* 219 */}, -{ ":U", /* 220 */}, -{ "'Y", /* 221 */}, -{ "TP", /* 222 */}, -{ "ss", /* 223 */}, -{ "`a", /* 224 */}, -{ "'a", /* 225 */}, -{ "^a", /* 226 */}, -{ "~a", /* 227 */}, -{ ":a", /* 228 */}, -{ "oa", /* 229 */}, -{ "ae", /* 230 */}, -{ ",c", /* 231 */}, -{ "`e", /* 232 */}, -{ "'e", /* 233 */}, -{ "^e", /* 234 */}, -{ ":e", /* 235 */}, -{ "`i", /* 236 */}, -{ "'i", /* 237 */}, -{ "^i", /* 238 */}, -{ ":i", /* 239 */}, -{ "Sd", /* 240 */}, -{ "~n", /* 241 */}, -{ "`o", /* 242 */}, -{ "'o", /* 243 */}, -{ "^o", /* 244 */}, -{ "~o", /* 245 */}, -{ ":o", /* 246 */}, -{ "tdi", /* 247 */}, -{ "/o", /* 248 */}, -{ "`u", /* 249 */}, -{ "'u", /* 250 */}, -{ "^u", /* 251 */}, -{ ":u", /* 252 */}, -{ "'y", /* 253 */}, -{ "Tp", /* 254 */}, -{ ":y", /* 255 */}, -}}; - -static DviCharNameMap Adobe_Symbol_map = { - "adobe-fontspecific", - 1, -{ -{ 0, /* 0 */}, -{ 0, /* 1 */}, -{ 0, /* 2 */}, -{ 0, /* 3 */}, -{ 0, /* 4 */}, -{ 0, /* 5 */}, -{ 0, /* 6 */}, -{ 0, /* 7 */}, -{ 0, /* 8 */}, -{ 0, /* 9 */}, -{ 0, /* 10 */}, -{ 0, /* 11 */}, -{ 0, /* 12 */}, -{ 0, /* 13 */}, -{ 0, /* 14 */}, -{ 0, /* 15 */}, -{ 0, /* 16 */}, -{ 0, /* 17 */}, -{ 0, /* 18 */}, -{ 0, /* 19 */}, -{ 0, /* 20 */}, -{ 0, /* 21 */}, -{ 0, /* 22 */}, -{ 0, /* 23 */}, -{ 0, /* 24 */}, -{ 0, /* 25 */}, -{ 0, /* 26 */}, -{ 0, /* 27 */}, -{ 0, /* 28 */}, -{ 0, /* 29 */}, -{ 0, /* 30 */}, -{ 0, /* 31 */}, -{ 0, /* 32 */}, -{ "!", /* 33 */}, -{ "fa", /* 34 */}, -{ "#", "sh", /* 35 */}, -{ "te", /* 36 */}, -{ "%", /* 37 */}, -{ "&", /* 38 */}, -{ "st", /* 39 */}, -{ "(", /* 40 */}, -{ ")", /* 41 */}, -{ "**", /* 42 */}, -{ "+", "pl", /* 43 */}, -{ ",", /* 44 */}, -{ "\\-", "mi", /* 45 */}, -{ ".", /* 46 */}, -{ "/", "sl", /* 47 */}, -{ "0", /* 48 */}, -{ "1", /* 49 */}, -{ "2", /* 50 */}, -{ "3", /* 51 */}, -{ "4", /* 52 */}, -{ "5", /* 53 */}, -{ "6", /* 54 */}, -{ "7", /* 55 */}, -{ "8", /* 56 */}, -{ "9", /* 57 */}, -{ ":", /* 58 */}, -{ ";", /* 59 */}, -{ "<", /* 60 */}, -{ "=", "eq", /* 61 */}, -{ ">", /* 62 */}, -{ "?", /* 63 */}, -{ "=~", /* 64 */}, -{ "*A", /* 65 */}, -{ "*B", /* 66 */}, -{ "*X", /* 67 */}, -{ "*D", /* 68 */}, -{ "*E", /* 69 */}, -{ "*F", /* 70 */}, -{ "*G", /* 71 */}, -{ "*Y", /* 72 */}, -{ "*I", /* 73 */}, -{ "+h", /* 74 */}, -{ "*K", /* 75 */}, -{ "*L", /* 76 */}, -{ "*M", /* 77 */}, -{ "*N", /* 78 */}, -{ "*O", /* 79 */}, -{ "*P", /* 80 */}, -{ "*H", /* 81 */}, -{ "*R", /* 82 */}, -{ "*S", /* 83 */}, -{ "*T", /* 84 */}, -{ 0, /* 85 */}, -{ "ts", /* 86 */}, -{ "*W", /* 87 */}, -{ "*C", /* 88 */}, -{ "*Q", /* 89 */}, -{ "*Z", /* 90 */}, -{ "[", "lB", /* 91 */}, -{ "tf", "3d", /* 92 */}, -{ "]", "rB", /* 93 */}, -{ "pp", /* 94 */}, -{ "_", /* 95 */}, -{ "radicalex", /* 96 */}, -{ "*a", /* 97 */}, -{ "*b", /* 98 */}, -{ "*x", /* 99 */}, -{ "*d", /* 100 */}, -{ "*e", /* 101 */}, -{ "*f", /* 102 */}, -{ "*g", /* 103 */}, -{ "*y", /* 104 */}, -{ "*i", /* 105 */}, -{ "+f", /* 106 */}, -{ "*k", /* 107 */}, -{ "*l", /* 108 */}, -{ "*m", /* 109 */}, -{ "*n", /* 110 */}, -{ "*o", /* 111 */}, -{ "*p", /* 112 */}, -{ "*h", /* 113 */}, -{ "*r", /* 114 */}, -{ "*s", /* 115 */}, -{ "*t", /* 116 */}, -{ "*u", /* 117 */}, -{ "+p", /* 118 */}, -{ "*w", /* 119 */}, -{ "*c", /* 120 */}, -{ "*q", /* 121 */}, -{ "*z", /* 122 */}, -{ "lC", "{", /* 123 */}, -{ "ba", "|", /* 124 */}, -{ "rC", "}", /* 125 */}, -{ "ap", /* 126 */}, -{ 0, /* 127 */}, -{ 0, /* 128 */}, -{ 0, /* 129 */}, -{ 0, /* 130 */}, -{ 0, /* 131 */}, -{ 0, /* 132 */}, -{ 0, /* 133 */}, -{ 0, /* 134 */}, -{ 0, /* 135 */}, -{ 0, /* 136 */}, -{ 0, /* 137 */}, -{ 0, /* 138 */}, -{ 0, /* 139 */}, -{ 0, /* 140 */}, -{ 0, /* 141 */}, -{ 0, /* 142 */}, -{ 0, /* 143 */}, -{ 0, /* 144 */}, -{ 0, /* 145 */}, -{ 0, /* 146 */}, -{ 0, /* 147 */}, -{ 0, /* 148 */}, -{ 0, /* 149 */}, -{ 0, /* 150 */}, -{ 0, /* 151 */}, -{ 0, /* 152 */}, -{ 0, /* 153 */}, -{ 0, /* 154 */}, -{ 0, /* 155 */}, -{ 0, /* 156 */}, -{ 0, /* 157 */}, -{ 0, /* 158 */}, -{ 0, /* 159 */}, -{ 0, /* 160 */}, -{ "*U", /* 161 */}, -{ "fm", /* 162 */}, -{ "<=", /* 163 */}, -{ "f/", /* 164 */}, -{ "if", /* 165 */}, -{ "Fn", /* 166 */}, -{ "CL", /* 167 */}, -{ "DI", /* 168 */}, -{ "HE", /* 169 */}, -{ "SP", /* 170 */}, -{ "<>", /* 171 */}, -{ "<-", /* 172 */}, -{ "ua", "arrowverttp", /* 173 */}, -{ "->", /* 174 */}, -{ "da", "arrowvertbt", /* 175 */}, -{ "de", /* 176 */}, -{ "+-", /* 177 */}, -{ "sd", /* 178 */}, -{ ">=", /* 179 */}, -{ "mu", /* 180 */}, -{ "pt", /* 181 */}, -{ "pd", /* 182 */}, -{ "bu", /* 183 */}, -{ "di", /* 184 */}, -{ "!=", /* 185 */}, -{ "==", /* 186 */}, -{ "~=", "~~", /* 187 */}, -{ 0, /* 188 */}, -{ "arrowvertex", /* 189 */}, -{ "an", /* 190 */}, -{ "CR", /* 191 */}, -{ "Ah", /* 192 */}, -{ "Im", /* 193 */}, -{ "Re", /* 194 */}, -{ "wp", /* 195 */}, -{ "c*", /* 196 */}, -{ "c+", /* 197 */}, -{ "es", /* 198 */}, -{ "ca", /* 199 */}, -{ "cu", /* 200 */}, -{ "sp", /* 201 */}, -{ "ip", /* 202 */}, -{ "nb", /* 203 */}, -{ "sb", /* 204 */}, -{ "ib", /* 205 */}, -{ "mo", /* 206 */}, -{ "nm", /* 207 */}, -{ "/_", /* 208 */}, -{ "gr", /* 209 */}, -{ "rg", /* 210 */}, -{ "co", /* 211 */}, -{ "tm", /* 212 */}, -{ 0, /* 213 */}, -{ "sr", "sqrt", /* 214 */}, -{ "md", /* 215 */}, -{ "no", /* 216 */}, -{ "AN", /* 217 */}, -{ "OR", /* 218 */}, -{ "hA", /* 219 */}, -{ "lA", /* 220 */}, -{ "uA", /* 221 */}, -{ "rA", /* 222 */}, -{ "dA", /* 223 */}, -{ "lz", /* 224 */}, -{ "la", /* 225 */}, -{ 0, /* 226 */}, -{ 0, /* 227 */}, -{ 0, /* 228 */}, -{ 0, /* 229 */}, -{ "parenlefttp", /* 230 */}, -{ "parenleftex", /* 231 */}, -{ "parenleftbt", /* 232 */}, -{ "bracketlefttp", "lc", /* 233 */}, -{ "bracketleftex", /* 234 */}, -{ "bracketleftbt", "lf", /* 235 */}, -{ "bracelefttp", "lt", /* 236 */}, -{ "braceleftmid", "lk", /* 237 */}, -{ "braceleftbt", "lb", /* 238 */}, -{ "bracerightex", "braceleftex", "braceex", "bv", /* 239 */}, -{ 0, /* 240 */}, -{ "ra", /* 241 */}, -{ "is", "integral", /* 242 */}, -{ 0, /* 243 */}, -{ 0, /* 244 */}, -{ 0, /* 245 */}, -{ "parenrighttp", /* 246 */}, -{ "parenrightex", /* 247 */}, -{ "parenrightbt", /* 248 */}, -{ "bracketrighttp", "rc", /* 249 */}, -{ "bracketrightex", /* 250 */}, -{ "bracketrightbt", "rf", /* 251 */}, -{ "bracerighttp", "rt", /* 252 */}, -{ "bracerightmid", "rk", /* 253 */}, -{ "bracerightbt", "rb", /* 254 */}, -{ 0, /* 255 */}, -}}; - - -static void -load_standard_maps () -{ - standard_maps_loaded = 1; - DviRegisterMap (&ISO8859_1_map); - DviRegisterMap (&Adobe_Symbol_map); -} diff --git a/contrib/groff/src/xditview/DviChar.h b/contrib/groff/src/xditview/DviChar.h deleted file mode 100644 index b075240..0000000 --- a/contrib/groff/src/xditview/DviChar.h +++ /dev/null @@ -1,37 +0,0 @@ -/* - * DviChar.h - * - * descriptions for mapping dvi names to - * font indexes and back. Dvi fonts are all - * 256 elements (actually only 256-32 are usable). - * - * The encoding names are taken from X - - * case insensitive, a dash separating the - * CharSetRegistry from the CharSetEncoding - */ - -# define DVI_MAX_SYNONYMS 10 -# define DVI_MAP_SIZE 256 -# define DVI_HASH_SIZE 256 - -typedef struct _dviCharNameHash { - struct _dviCharNameHash *next; - char *name; - int position; -} DviCharNameHash; - -typedef struct _dviCharNameMap { - char *encoding; - int special; - char *dvi_names[DVI_MAP_SIZE][DVI_MAX_SYNONYMS]; - DviCharNameHash *buckets[DVI_HASH_SIZE]; -} DviCharNameMap; - -extern DviCharNameMap *DviFindMap ( /* char *encoding */ ); -extern void DviRegisterMap ( /* DviCharNameMap *map */ ); -#ifdef NOTDEF -extern char *DviCharName ( /* DviCharNameMap *map, int index, int synonym */ ); -#else -#define DviCharName(map,index,synonym) ((map)->dvi_names[index][synonym]) -#endif -extern int DviCharIndex ( /* DviCharNameMap *map, char *name */ ); diff --git a/contrib/groff/src/xditview/DviP.h b/contrib/groff/src/xditview/DviP.h deleted file mode 100644 index 851fdfe..0000000 --- a/contrib/groff/src/xditview/DviP.h +++ /dev/null @@ -1,233 +0,0 @@ -/* - * $XConsortium: DviP.h,v 1.5 89/07/22 19:44:08 keith Exp $ - */ - -/* - * DviP.h - Private definitions for Dvi widget - */ - -#ifndef _XtDviP_h -#define _XtDviP_h - -#include "Dvi.h" -#include "DviChar.h" -#include "device.h" - -/*********************************************************************** - * - * Dvi Widget Private Data - * - ***********************************************************************/ - -/************************************ - * - * Class structure - * - ***********************************/ - -/* Type for save method. */ - -typedef void (*DviSaveProc)(); - -/* - * New fields for the Dvi widget class record - */ - - -typedef struct _DviClass { - DviSaveProc save; -} DviClassPart; - -/* - * Full class record declaration - */ - -typedef struct _DviClassRec { - CoreClassPart core_class; - DviClassPart command_class; -} DviClassRec; - -extern DviClassRec dviClassRec; - -/*************************************** - * - * Instance (widget) structure - * - **************************************/ - -/* - * a list of fonts we've used for this widget - */ - -typedef struct _dviFontSizeList { - struct _dviFontSizeList *next; - int size; - char *x_name; - XFontStruct *font; - int doesnt_exist; -} DviFontSizeList; - -typedef struct _dviFontList { - struct _dviFontList *next; - char *dvi_name; - char *x_name; - int dvi_number; - Boolean initialized; - Boolean scalable; - DviFontSizeList *sizes; - DviCharNameMap *char_map; - DeviceFont *device_font; -} DviFontList; - -typedef struct _dviFontMap { - struct _dviFontMap *next; - char *dvi_name; - char *x_name; -} DviFontMap; - -#define DVI_TEXT_CACHE_SIZE 256 -#define DVI_CHAR_CACHE_SIZE 1024 - -typedef struct _dviCharCache { - XTextItem cache[DVI_TEXT_CACHE_SIZE]; - char adjustable[DVI_TEXT_CACHE_SIZE]; - char char_cache[DVI_CHAR_CACHE_SIZE]; - int index; - int max; - int char_index; - int font_size; - int font_number; - XFontStruct *font; - int start_x, start_y; - int x, y; -} DviCharCache; - -typedef struct _dviState { - struct _dviState *next; - int font_size; - int font_number; - int x; - int y; -} DviState; - -typedef struct _dviFileMap { - struct _dviFileMap *next; - long position; - int page_number; -} DviFileMap; - -/* - * New fields for the Dvi widget record - */ - -typedef struct { - /* - * resource specifiable items - */ - char *font_map_string; - unsigned long foreground; - unsigned long background; - int requested_page; - int last_page; - XFontStruct *default_font; - FILE *file; - Boolean noPolyText; - Boolean seek; /* file is "seekable" */ - int default_resolution; - /* - * private state - */ - FILE *tmpFile; /* used when reading stdin */ - char readingTmp; /* reading now from tmp */ - char ungot; /* have ungetc'd a char */ - GC normal_GC; - GC fill_GC; - DviFileMap *file_map; - DviFontList *fonts; - DviFontMap *font_map; - int current_page; - int font_size; - int font_number; - DeviceFont *device_font; - int device_font_number; - Device *device; - int native; - int device_resolution; - int display_resolution; - int paperlength; - int paperwidth; - double scale_factor; /* display res / device res */ - int sizescale; - int line_thickness; - int line_width; - -#define DVI_FILL_MAX 1000 - - int fill; -#define DVI_FILL_WHITE 0 -#define DVI_FILL_GRAY 1 -#define DVI_FILL_BLACK 2 - int fill_type; - Pixmap gray[8]; - int backing_store; - XFontStruct *font; - int display_enable; - struct ExposedExtents { - int x1, y1, x2, y2; - } extents; - DviState *state; - DviCharCache cache; - int text_x_width; - int text_device_width; - int word_flag; -} DviPart; - -#define DviGetIn(dw,cp)\ - (dw->dvi.tmpFile ? (\ - DviGetAndPut (dw, cp) \ - ) :\ - (*cp = getc (dw->dvi.file))\ -) - -#define DviGetC(dw, cp)\ - (dw->dvi.readingTmp ? (\ - ((*cp = getc (dw->dvi.tmpFile)) == EOF) ? (\ - fseek (dw->dvi.tmpFile, 0l, 2),\ - (dw->dvi.readingTmp = 0),\ - DviGetIn (dw,cp)\ - ) : (\ - *cp\ - )\ - ) : (\ - DviGetIn(dw,cp)\ - )\ -) - -#define DviUngetC(dw, c)\ - (dw->dvi.readingTmp ? (\ - ungetc (c, dw->dvi.tmpFile)\ - ) : ( \ - (dw->dvi.ungot = 1),\ - ungetc (c, dw->dvi.file))) - -/* - * Full widget declaration - */ - -typedef struct _DviRec { - CorePart core; - DviPart dvi; -} DviRec; - -#define InheritSaveToFile ((DviSaveProc)_XtInherit) - -extern XFontStruct *QueryFont (); - -extern DviCharNameMap *QueryFontMap (); - -extern DeviceFont *QueryDeviceFont (); - -extern char *GetWord(), *GetLine(); -#endif /* _XtDviP_h */ - - diff --git a/contrib/groff/src/xditview/FontMap b/contrib/groff/src/xditview/FontMap deleted file mode 100644 index 90911f0..0000000 --- a/contrib/groff/src/xditview/FontMap +++ /dev/null @@ -1,17 +0,0 @@ -TR -adobe-times-medium-r-normal--*-*-*-*-p-*-iso8859-1 -TI -adobe-times-medium-i-normal--*-*-*-*-p-*-iso8859-1 -TB -adobe-times-bold-r-normal--*-*-*-*-p-*-iso8859-1 -TBI -adobe-times-bold-i-normal--*-*-*-*-p-*-iso8859-1 -CR -adobe-courier-medium-r-normal--*-*-*-*-m-*-iso8859-1 -CI -adobe-courier-medium-o-normal--*-*-*-*-m-*-iso8859-1 -CB -adobe-courier-bold-r-normal--*-*-*-*-m-*-iso8859-1 -CBI -adobe-courier-bold-o-normal--*-*-*-*-m-*-iso8859-1 -HR -adobe-helvetica-medium-r-normal--*-*-*-*-p-*-iso8859-1 -HI -adobe-helvetica-medium-o-normal--*-*-*-*-p-*-iso8859-1 -HB -adobe-helvetica-bold-r-normal--*-*-*-*-p-*-iso8859-1 -HBI -adobe-helvetica-bold-o-normal--*-*-*-*-p-*-iso8859-1 -NR -adobe-new century schoolbook-medium-r-normal--*-*-*-*-p-*-iso8859-1 -NI -adobe-new century schoolbook-medium-i-normal--*-*-*-*-p-*-iso8859-1 -NB -adobe-new century schoolbook-bold-r-normal--*-*-*-*-p-*-iso8859-1 -NBI -adobe-new century schoolbook-bold-i-normal--*-*-*-*-p-*-iso8859-1 -S -adobe-symbol-medium-r-normal--*-*-*-*-p-*-adobe-fontspecific diff --git a/contrib/groff/src/xditview/GXditview-ad.h b/contrib/groff/src/xditview/GXditview-ad.h deleted file mode 100644 index d9be3da..0000000 --- a/contrib/groff/src/xditview/GXditview-ad.h +++ /dev/null @@ -1,52 +0,0 @@ -"GXditview.height: 840", -"GXditview.paned.allowResize: true", -"GXditview.paned.viewport.allowVert: true", -"GXditview.paned.viewport.allowHoriz: true", -"GXditview.paned.viewport.skipAdjust: false", -"GXditview.paned.viewport.width: 600", -"GXditview.paned.viewport.height: 800", -"GXditview.paned.viewport.showGrip: false", -"GXditview.paned.label.skipAdjust: true", -"GXditview.paned.viewport.dvi.translations: #augment \ - <Btn1Down>: XawPositionSimpleMenu(menu) MenuPopup(menu)\\n\ - <Key>Next: NextPage()\\n\ - <Key>n: NextPage()\\n\ - <Key>space: NextPage()\\n\ - <Key>Return: NextPage()\\n\ - <Key>Prior: PreviousPage()\\n\ - <Key>p: PreviousPage()\\n\ - <Key>BackSpace: PreviousPage()\\n\ - <Key>Delete: PreviousPage()\\n\ - <Key>Select: SelectPage()\\n\ - <Key>Find: OpenFile()\\n\ - <Key>r: Rerasterize()\\n\ - <Key>q: Quit()", -"GXditview.paned.label.translations: #augment \ - <Btn1Down>: XawPositionSimpleMenu(menu) MenuPopup(menu)\\n\ - <Key>Next: NextPage()\\n\ - <Key>n: NextPage()\\n\ - <Key>space: NextPage()\\n\ - <Key>Return: NextPage()\\n\ - <Key>Prior: PreviousPage()\\n\ - <Key>p: PreviousPage()\\n\ - <Key>BackSpace: PreviousPage()\\n\ - <Key>Delete: PreviousPage()\\n\ - <Key>Select: SelectPage()\\n\ - <Key>Find: OpenFile()\\n\ - <Key>r: Rerasterize()\\n\ - <Key>q: Quit()", -"GXditview.menu.nextPage.label: Next Page", -"GXditview.menu.previousPage.label: Previous Page", -"GXditview.menu.selectPage.label: Select Page", -"GXditview.menu.print.label: Print", -"GXditview.menu.openFile.label: Open", -"GXditview.menu.quit.label: Quit", -"GXditview.promptShell.allowShellResize: true", -"GXditview.promptShell.promptDialog.value.translations: #override \ - <Key>Return: Accept()", -"GXditview.promptShell.promptDialog.accept.label: Accept", -"GXditview.promptShell.promptDialog.accept.translations: #override \ - <BtnUp>: Accept() unset()", -"GXditview.promptShell.promptDialog.cancel.label: Cancel", -"GXditview.promptShell.promptDialog.cancel.translations: #override \ - <BtnUp>: Cancel() unset()", diff --git a/contrib/groff/src/xditview/GXditview.ad b/contrib/groff/src/xditview/GXditview.ad deleted file mode 100644 index e99ff5e..0000000 --- a/contrib/groff/src/xditview/GXditview.ad +++ /dev/null @@ -1,57 +0,0 @@ -GXditview.height: 840 - -GXditview.paned.allowResize: true -GXditview.paned.viewport.allowVert: true -GXditview.paned.viewport.allowHoriz: true -GXditview.paned.viewport.skipAdjust: false -GXditview.paned.viewport.width: 600 -GXditview.paned.viewport.height: 800 -GXditview.paned.viewport.showGrip: false -GXditview.paned.label.skipAdjust: true - -GXditview.paned.viewport.dvi.translations: #augment \ - <Btn1Down>: XawPositionSimpleMenu(menu) MenuPopup(menu)\n\ - <Key>Next: NextPage()\n\ - <Key>n: NextPage()\n\ - <Key>space: NextPage()\n\ - <Key>Return: NextPage()\n\ - <Key>Prior: PreviousPage()\n\ - <Key>p: PreviousPage()\n\ - <Key>BackSpace: PreviousPage()\n\ - <Key>Delete: PreviousPage()\n\ - <Key>Select: SelectPage()\n\ - <Key>Find: OpenFile()\n\ - <Key>r: Rerasterize()\n\ - <Key>q: Quit() -GXditview.paned.label.translations: #augment \ - <Btn1Down>: XawPositionSimpleMenu(menu) MenuPopup(menu)\n\ - <Key>Next: NextPage()\n\ - <Key>n: NextPage()\n\ - <Key>space: NextPage()\n\ - <Key>Return: NextPage()\n\ - <Key>Prior: PreviousPage()\n\ - <Key>p: PreviousPage()\n\ - <Key>BackSpace: PreviousPage()\n\ - <Key>Delete: PreviousPage()\n\ - <Key>Select: SelectPage()\n\ - <Key>Find: OpenFile()\n\ - <Key>r: Rerasterize()\n\ - <Key>q: Quit() -GXditview.menu.nextPage.label: Next Page -GXditview.menu.previousPage.label: Previous Page -GXditview.menu.selectPage.label: Select Page -GXditview.menu.print.label: Print -GXditview.menu.openFile.label: Open -GXditview.menu.quit.label: Quit - -GXditview.promptShell.allowShellResize: true -GXditview.promptShell.promptDialog.value.translations: #override \ - <Key>Return: Accept() - -GXditview.promptShell.promptDialog.accept.label: Accept -GXditview.promptShell.promptDialog.accept.translations: #override \ - <BtnUp>: Accept() unset() - -GXditview.promptShell.promptDialog.cancel.label: Cancel -GXditview.promptShell.promptDialog.cancel.translations: #override \ - <BtnUp>: Cancel() unset() diff --git a/contrib/groff/src/xditview/INSTALL b/contrib/groff/src/xditview/INSTALL deleted file mode 100644 index 144118f..0000000 --- a/contrib/groff/src/xditview/INSTALL +++ /dev/null @@ -1,20 +0,0 @@ -This version of gxditview uses imake. - -Here are the steps needed to install gxditview: - -- edit the Imakefile if necessary - -- xmkmf - -- make depend - -- make - -- make install - -- make install.man (installs the man page) - -The gxditview binary will be installed in the usual place for X -binaries (eg /usr/bin/X11). Previous versions of gxditview were -installed along with the other groff binaries (eg in /usr/local/bin); -you will need to remove these by hand. diff --git a/contrib/groff/src/xditview/Imakefile.in b/contrib/groff/src/xditview/Imakefile.in deleted file mode 100644 index 1f64fe0..0000000 --- a/contrib/groff/src/xditview/Imakefile.in +++ /dev/null @@ -1,120 +0,0 @@ -srcdir=@srcdir@ -top_srcdir=@top_srcdir@ -VPATH=@srcdir@ -top_builddir=@groff_top_builddir@ -SEP=@PATH_SEPARATOR@ - -version=`cat $(top_srcdir)/VERSION` -# No additional number if revision is zero -revision=`sed -e 's/^0$$//' -e 's/^[1-9].*$$/.&/' $(top_srcdir)/REVISION` - -GROFF_PREFIX = @prefix@ -GROFF_DATADIR = $(GROFF_PREFIX)/share -GROFF_DATAPROGRAMDIR = $(GROFF_DATADIR)/groff -GROFF_DATASUBDIR = $(GROFF_DATAPROGRAMDIR)/$(version)$(revision) -GROFF_FONTDIR = $(GROFF_DATASUBDIR)/font -GROFF_LOCALFONTDIR = $(GROFF_DATAPROGRAMDIR)/site-font -GROFF_FONTPATH = $(GROFF_FONTDIR)$(SEP)$(GROFF_LOCALFONTDIR)$(SEP)/usr/lib/font -DPIS = 75 100 - -PROGRAMS = \ - gxditview \ - xtotroff -DEPLIBS = XawClientDepLibs -#if defined(HPArchitecture) && (OSMajorVersion > 9) -LOCAL_LIBRARIES = -L/usr/contrib/X11R6/lib XawClientLibs -#else -LOCAL_LIBRARIES = XawClientLibs -#endif -SRCS1 = \ - $(srcdir)/xditview.c \ - $(srcdir)/Dvi.c \ - $(srcdir)/draw.c \ - $(srcdir)/font.c \ - $(srcdir)/lex.c \ - $(srcdir)/page.c \ - $(srcdir)/parse.c \ - $(srcdir)/XFontName.c \ - $(srcdir)/DviChar.c \ - $(srcdir)/device.c -OBJS1 = \ - xditview.o \ - Dvi.o \ - draw.o \ - font.o \ - lex.o \ - page.o \ - parse.o \ - XFontName.o \ - DviChar.o \ - device.o -SRCS2 = \ - $(srcdir)/xtotroff.c \ - $(srcdir)/XFontName.c \ - $(srcdir)/DviChar.c -OBJS2 = \ - xtotroff.o \ - XFontName.o \ - DviChar.o -#if defined(HPArchitecture) && (OSMajorVersion > 9) -INCLUDES = \ - -I/usr/contrib/X11R6/include \ - -I$(TOOLKITSRC) \ - -I$(TOP) -#else -INCLUDES = \ - -I$(TOOLKITSRC) \ - -I$(TOP) -#endif -MATHLIB = -lm -DEFINES = \ - $(SIGNAL_DEFINES) \ - -DFONTPATH=\"$(GROFF_FONTPATH)\" # -DX_NOT_STDC_ENV - -DEVDIR = $(top_builddir)/font -MKINSTALLDIRS = $(top_srcdir)/mkinstalldirs - -#undef ProgramTargetHelper -#define ProgramTargetHelper ProgramTargetHelperNoMan -ComplexProgramTarget_1(gxditview,$(LOCAL_LIBRARIES),$(MATHLIB)) -InstallManPageLong($(srcdir)/gxditview,$(MANDIR),gxditview) -NormalProgramTarget(xtotroff,$(OBJS2),$(DEPXLIB),$(XLIB), /**/) - -InstallAppDefaultsLong($(srcdir)/GXditview,GXditview) - -fonts: xtotroff $(srcdir)/DESC $(srcdir)/FontMap - @dir=`pwd`; \ - fonts=`sed -e 's/[ ].*//' $(srcdir)/FontMap`; \ - for dpi in $(DPIS); do \ - echo Making devX$$dpi; \ - test -d $(DEVDIR)/devX$$dpi || \ - $(MKINSTALLDIRS) $(DEVDIR)/devX$$dpi; \ - rm -f $(DEVDIR)/devX$$dpi/DESC; \ - sed -e "s/res 75/res $$dpi/" $(srcdir)/DESC \ - >$(DEVDIR)/devX$$dpi/DESC; \ - (cd $(DEVDIR)/devX$$dpi; \ - rm -f Makefile.sub; \ - echo DEV=X$$dpi >Makefile.sub; \ - echo DEVFILES=DESC $$fonts >>Makefile.sub; \ - $$dir/xtotroff -g -r $$dpi -s 10 $(srcdir)/FontMap); \ - echo Making devX$$dpi-12; \ - test -d $(DEVDIR)/devX$$dpi-12 || \ - $(MKINSTALLDIRS) $(DEVDIR)/devX$$dpi-12; \ - rm -f $(DEVDIR)/devX$$dpi-12/DESC; \ - sed -e "s/res 75/res $$dpi/" \ - -e 's/unitwidth 10/unitwidth 12/' $(srcdir)/DESC \ - >$(DEVDIR)/devX$$dpi-12/DESC; \ - (cd $(DEVDIR)/devX$$dpi-12; \ - rm -f Makefile.sub; \ - echo DEV=X$$dpi-12 >Makefile.sub; \ - echo DEVFILES=DESC $$fonts >>Makefile.sub; \ - $$dir/xtotroff -g -r $$dpi -s 12 $(srcdir)/FontMap); \ - done - -GXditview-ad.h: $(srcdir)/GXditview.ad - /bin/sh $(srcdir)/ad2c $(srcdir)/GXditview.ad >GXditview-ad.h - -extraclean: clean - -rm -f junk tmp grot old Makefile Imakefile $(srcdir)/gxditview._man - -FORCE: diff --git a/contrib/groff/src/xditview/Menu.h b/contrib/groff/src/xditview/Menu.h deleted file mode 100644 index c306b27..0000000 --- a/contrib/groff/src/xditview/Menu.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * $XConsortium: Menu.h,v 1.2 89/07/21 14:22:10 jim Exp $ - */ - -#ifndef _XtMenu_h -#define _XtMenu_h - -/*********************************************************************** - * - * Menu Widget - * - ***********************************************************************/ - -/* Parameters: - - Name Class RepType Default Value - ---- ----- ------- ------------- - background Background pixel White - border BorderColor pixel Black - borderWidth BorderWidth int 1 - height Height int 120 - mappedWhenManaged MappedWhenManaged Boolean True - reverseVideo ReverseVideo Boolean False - width Width int 120 - x Position int 0 - y Position int 0 - -*/ - -#define XtNmenuEntries "menuEntries" -#define XtNhorizontalPadding "horizontalPadding" -#define XtNverticalPadding "verticalPadding" -#define XtNselection "Selection" - -#define XtCMenuEntries "MenuEntries" -#define XtCPadding "Padding" -#define XtCSelection "Selection" - -typedef struct _MenuRec *MenuWidget; /* completely defined in MenuPrivate.h */ -typedef struct _MenuClassRec *MenuWidgetClass; /* completely defined in MenuPrivate.h */ - -extern WidgetClass menuWidgetClass; - -extern Widget XawMenuCreate (); -#endif /* _XtMenu_h */ -/* DON'T ADD STUFF AFTER THIS #endif */ diff --git a/contrib/groff/src/xditview/README b/contrib/groff/src/xditview/README deleted file mode 100644 index b18f64a..0000000 --- a/contrib/groff/src/xditview/README +++ /dev/null @@ -1,14 +0,0 @@ -This is gxditview, a X11 previewer for groff based on MIT's xditview. -This version can be used with the output of gtroff -Tps as well as -with -TX75 and -TX100. You will need X11R5 or newer to install it (it -might work on X11R4, but I haven't tested it.) - -See the file INSTALL in this directory for installation instructions. - -xditview is copyrighted by MIT under the usual X terms (see -gxditview.man); my changes to it are in the public domain. - -Please report bugs to bug-groff@gnu.org. - -James Clark -jjc@jclark.com diff --git a/contrib/groff/src/xditview/TODO b/contrib/groff/src/xditview/TODO deleted file mode 100644 index 161a7cf..0000000 --- a/contrib/groff/src/xditview/TODO +++ /dev/null @@ -1,17 +0,0 @@ -Replace Imakefile with a configure script. - -Better error handling. - -Resource and command-line option to specify font path. - -Resource to specify name of environment variable from which to get the -font path. - -Have character substitutions (currently done in draw.c:FakeCharacter) -specified in a resource (similar format to FontMap). - -The initial width of the dialog box should expand to accommodate the -default value. - -Option in Print dialog to specify that only the current page should be -printed. diff --git a/contrib/groff/src/xditview/XFontName.c b/contrib/groff/src/xditview/XFontName.c deleted file mode 100644 index 5ca9bb8..0000000 --- a/contrib/groff/src/xditview/XFontName.c +++ /dev/null @@ -1,256 +0,0 @@ -/* - * XFontName.c - * - * build/parse X Font name strings - */ - -#include <X11/Xlib.h> -#include <X11/Xos.h> -#include "XFontName.h" -#include <ctype.h> - -static char * -extractStringField (name, buffer, size, attrp, bit) - char *name; - char *buffer; - int size; - unsigned int *attrp; - unsigned int bit; -{ - char *buf = buffer; - - if (!*name) - return 0; - while (*name && *name != '-' && size > 0) { - *buf++ = *name++; - --size; - } - if (size <= 0) - return 0; - *buf = '\0'; - if (buffer[0] != '*' || buffer[1] != '\0') - *attrp |= bit; - if (*name == '-') - return name+1; - return name; -} - -static char * -extractUnsignedField (name, result, attrp, bit) - char *name; - unsigned int *result; - unsigned int *attrp; - unsigned int bit; -{ - char buf[256]; - char *c; - unsigned int i; - - name = extractStringField (name, buf, sizeof (buf), attrp, bit); - if (!name) - return 0; - if (!(*attrp & bit)) - return name; - i = 0; - for (c = buf; *c; c++) { - if (!isdigit (*c)) - return 0; - i = i * 10 + (*c - '0'); - } - *result = i; - return name; -} - -Bool -XParseFontName (fontNameString, fontName, fontNameAttributes) - XFontNameString fontNameString; - XFontName *fontName; - unsigned int *fontNameAttributes; -{ - char *name = fontNameString; - XFontName temp; - unsigned int attributes = 0; - -#define GetString(field,bit)\ - if (!(name = extractStringField \ - (name, temp.field, sizeof (temp.field),\ - &attributes, bit))) \ - return False; - -#define GetUnsigned(field,bit)\ - if (!(name = extractUnsignedField \ - (name, &temp.field, \ - &attributes, bit))) \ - return False; - - GetString (Registry, FontNameRegistry) - GetString (Foundry, FontNameFoundry) - GetString (FamilyName, FontNameFamilyName) - GetString (WeightName, FontNameWeightName) - GetString (Slant, FontNameSlant) - GetString (SetwidthName, FontNameSetwidthName) - GetString (AddStyleName, FontNameAddStyleName) - GetUnsigned (PixelSize, FontNamePixelSize) - GetUnsigned (PointSize, FontNamePointSize) - GetUnsigned (ResolutionX, FontNameResolutionX) - GetUnsigned (ResolutionY, FontNameResolutionY) - GetString (Spacing, FontNameSpacing) - GetUnsigned (AverageWidth, FontNameAverageWidth) - GetString (CharSetRegistry, FontNameCharSetRegistry) - if (!*name) { - temp.CharSetEncoding[0] = '\0'; - attributes |= FontNameCharSetEncoding; - } else { - GetString (CharSetEncoding, FontNameCharSetEncoding) - } - *fontName = temp; - *fontNameAttributes = attributes; - return True; -} - -static char * -utoa (u, s, size) - unsigned int u; - char *s; - int size; -{ - char *t; - - t = s + size; - *--t = '\0'; - do - *--t = (u % 10) + '0'; - while (u /= 10); - return t; -} - -Bool -XFormatFontName (fontName, fontNameAttributes, fontNameString) - XFontName *fontName; - unsigned int fontNameAttributes; - XFontNameString fontNameString; -{ - XFontNameString tmp; - char *name = tmp, *f; - int left = sizeof (tmp) - 1; - char number[32]; - -#define PutString(field, bit)\ - f = (fontNameAttributes & bit) ? \ - fontName->field \ - : "*"; \ - if ((left -= strlen (f)) < 0) \ - return False; \ - while (*f) \ - if ((*name++ = *f++) == '-') \ - return False; -#define PutHyphen()\ - if (--left < 0) \ - return False; \ - *name++ = '-'; - -#define PutUnsigned(field, bit) \ - f = (fontNameAttributes & bit) ? \ - utoa (fontName->field, number, sizeof (number)) \ - : "*"; \ - if ((left -= strlen (f)) < 0) \ - return False; \ - while (*f) \ - *name++ = *f++; - - PutString (Registry, FontNameRegistry) - PutHyphen (); - PutString (Foundry, FontNameFoundry) - PutHyphen (); - PutString (FamilyName, FontNameFamilyName) - PutHyphen (); - PutString (WeightName, FontNameWeightName) - PutHyphen (); - PutString (Slant, FontNameSlant) - PutHyphen (); - PutString (SetwidthName, FontNameSetwidthName) - PutHyphen (); - PutString (AddStyleName, FontNameAddStyleName) - PutHyphen (); - PutUnsigned (PixelSize, FontNamePixelSize) - PutHyphen (); - PutUnsigned (PointSize, FontNamePointSize) - PutHyphen (); - PutUnsigned (ResolutionX, FontNameResolutionX) - PutHyphen (); - PutUnsigned (ResolutionY, FontNameResolutionY) - PutHyphen (); - PutString (Spacing, FontNameSpacing) - PutHyphen (); - PutUnsigned (AverageWidth, FontNameAverageWidth) - PutHyphen (); - PutString (CharSetRegistry, FontNameCharSetRegistry) - PutHyphen (); - PutString (CharSetEncoding, FontNameCharSetEncoding) - *name = '\0'; - strcpy (fontNameString, tmp); - return True; -} - -Bool -XCompareFontName (name1, name2, fontNameAttributes) - XFontName *name1, *name2; - unsigned int fontNameAttributes; -{ -#define CompareString(field,bit) \ - if (fontNameAttributes & bit) \ - if (strcmp (name1->field, name2->field)) \ - return False; - -#define CompareUnsigned(field,bit) \ - if (fontNameAttributes & bit) \ - if (name1->field != name2->field) \ - return False; - - CompareString (Registry, FontNameRegistry) - CompareString (Foundry, FontNameFoundry) - CompareString (FamilyName, FontNameFamilyName) - CompareString (WeightName, FontNameWeightName) - CompareString (Slant, FontNameSlant) - CompareString (SetwidthName, FontNameSetwidthName) - CompareString (AddStyleName, FontNameAddStyleName) - CompareUnsigned (PixelSize, FontNamePixelSize) - CompareUnsigned (PointSize, FontNamePointSize) - CompareUnsigned (ResolutionX, FontNameResolutionX) - CompareUnsigned (ResolutionY, FontNameResolutionY) - CompareString (Spacing, FontNameSpacing) - CompareUnsigned (AverageWidth, FontNameAverageWidth) - CompareString (CharSetRegistry, FontNameCharSetRegistry) - CompareString (CharSetEncoding, FontNameCharSetEncoding) - return True; -} - -XCopyFontName (name1, name2, fontNameAttributes) - XFontName *name1, *name2; - unsigned int fontNameAttributes; -{ -#define CopyString(field,bit) \ - if (fontNameAttributes & bit) \ - strcpy (name2->field, name1->field); - -#define CopyUnsigned(field,bit) \ - if (fontNameAttributes & bit) \ - name2->field = name1->field; - - CopyString (Registry, FontNameRegistry) - CopyString (Foundry, FontNameFoundry) - CopyString (FamilyName, FontNameFamilyName) - CopyString (WeightName, FontNameWeightName) - CopyString (Slant, FontNameSlant) - CopyString (SetwidthName, FontNameSetwidthName) - CopyString (AddStyleName, FontNameAddStyleName) - CopyUnsigned (PixelSize, FontNamePixelSize) - CopyUnsigned (PointSize, FontNamePointSize) - CopyUnsigned (ResolutionX, FontNameResolutionX) - CopyUnsigned (ResolutionY, FontNameResolutionY) - CopyString (Spacing, FontNameSpacing) - CopyUnsigned (AverageWidth, FontNameAverageWidth) - CopyString (CharSetRegistry, FontNameCharSetRegistry) - CopyString (CharSetEncoding, FontNameCharSetEncoding) - return True; -} diff --git a/contrib/groff/src/xditview/XFontName.h b/contrib/groff/src/xditview/XFontName.h deleted file mode 100644 index efe9eb1..0000000 --- a/contrib/groff/src/xditview/XFontName.h +++ /dev/null @@ -1,45 +0,0 @@ -typedef struct _xFontName { - char Registry[256]; - char Foundry[256]; - char FamilyName[256]; - char WeightName[256]; - char Slant[3]; - char SetwidthName[256]; - char AddStyleName[256]; - unsigned int PixelSize; - unsigned int PointSize; - unsigned int ResolutionX; - unsigned int ResolutionY; - char Spacing[2]; - unsigned int AverageWidth; - char CharSetRegistry[256]; - char CharSetEncoding[256]; -} XFontName; - -#define FontNameRegistry (1<<0) -#define FontNameFoundry (1<<1) -#define FontNameFamilyName (1<<2) -#define FontNameWeightName (1<<3) -#define FontNameSlant (1<<4) -#define FontNameSetwidthName (1<<5) -#define FontNameAddStyleName (1<<6) -#define FontNamePixelSize (1<<7) -#define FontNamePointSize (1<<8) -#define FontNameResolutionX (1<<9) -#define FontNameResolutionY (1<<10) -#define FontNameSpacing (1<<11) -#define FontNameAverageWidth (1<<12) -#define FontNameCharSetRegistry (1<<13) -#define FontNameCharSetEncoding (1<<14) - -#define SlantRoman "R" -#define SlantItalic "I" -#define SlantOblique "O" -#define SlantReverseItalic "RI" -#define SlantReverseOblique "RO" - -#define SpacingMonoSpaced "M" -#define SpacingProportional "P" -#define SpacingCharacterCell "C" - -typedef char XFontNameString[256]; diff --git a/contrib/groff/src/xditview/ad2c b/contrib/groff/src/xditview/ad2c deleted file mode 100644 index 651ab8c..0000000 --- a/contrib/groff/src/xditview/ad2c +++ /dev/null @@ -1,62 +0,0 @@ -#!/bin/sh -# -# ad2c : Convert app-defaults file to C strings decls. -# -# George Ferguson, ferguson@cs.rcohester.edu, 12 Nov 1990. -# 19 Mar 1991: gf -# Made it self-contained. -# 6 Jan 1992: mycroft@gnu.ai.mit.edu (Charles Hannum) -# Removed use of "-n" and ":read" label since Gnu and -# IBM sed print pattern space on "n" command. Still works -# with Sun sed, of course. -# 7 Jan 1992: matthew@sunpix.East.Sun.COM (Matthew Stier) -# Escape quotes after escaping backslashes. -# 8 Jul 1992: Version 1.6 -# Manpage fixes. -# 19 Apr 1993: Version 1.7 -# Remove comments that were inside the sed command since -# some versions of sed don't like them. The comments are -# now given here in the header. -# -# Comments on the script by line: -# /^!/d Remove comments -# /^$/d Remove blanks -# s/\\/\\\\/g Escape backslashes... -# s/\\$//g ...except the line continuation ones -# s/"/\\"/g Escape quotes -# s/^/"/ Add leading quote -# : test Establish label for later branch -# /\\$/b slash Branch to label "slash" if line ends in backslash -# s/$/",/ Otherwise add closing quote and comma... -# p ...output the line... -# d ...and clear the pattern space so it's not printed again -# : slash Branch comes here if line ends in backslash -# n Read next line, append to pattern space -# [...] The "d" and "s" commands that follow just delete -# comments and blank lines and escape control sequences -# b test Branch up to see if the line ends in backslash or not -# - -sed ' -/^!/d -/^$/d -s/\\/\\\\/g -s/\\$//g -s/"/\\"/g -s/^/"/ -: test -/\\$/b slash -s/$/",/ -p -d -: slash -n -/^!/d -/^$/d -s/"/\\"/g -s/\\\\/\\/g -s/\\n/\\\\n/g -s/\\t/\\\\t/g -s/\\f/\\\\f/g -s/\\b/\\\\b/g -b test' "$@" diff --git a/contrib/groff/src/xditview/device.c b/contrib/groff/src/xditview/device.c deleted file mode 100644 index 264f681..0000000 --- a/contrib/groff/src/xditview/device.c +++ /dev/null @@ -1,600 +0,0 @@ -/* device.c */ - -#include <stdio.h> -#include <ctype.h> - -#include <X11/Xos.h> -#include <X11/Intrinsic.h> - -#include "device.h" - -#ifndef FONTPATH -#define FONTPATH "/usr/local/share/groff/font:/usr/local/lib/font:/usr/lib/font" -#endif - -#ifndef isascii -#define isascii(c) (1) -#endif - -extern void exit(); -#ifndef strtok -extern char *strtok(); -#endif -#ifndef strchr -extern char *strchr(); -#endif -#ifndef getenv -extern char *getenv(); -#endif - -/* Name of environment variable containing path to be used for -searching for device and font description files. */ -#define FONTPATH_ENV_VAR "GROFF_FONT_PATH" - -#define WS " \t\r\n" - -#ifndef INT_MIN -/* Minimum and maximum values a `signed int' can hold. */ -#define INT_MIN (-INT_MAX-1) -#define INT_MAX 2147483647 -#endif - -#define CHAR_TABLE_SIZE 307 - -struct _DeviceFont { - char *name; - int special; - DeviceFont *next; - Device *dev; - struct charinfo *char_table[CHAR_TABLE_SIZE]; - struct charinfo *code_table[256]; -}; - -struct charinfo { - int width; - int code; - struct charinfo *next; - struct charinfo *code_next; - char name[1]; -}; - -static char *current_filename = 0; -static int current_lineno = -1; - -static void error(); -static FILE *open_device_file(); -static DeviceFont *load_font(); -static Device *new_device(); -static DeviceFont *new_font(); -static void delete_font(); -static unsigned hash_name(); -static struct charinfo *add_char(); -static int read_charset_section(); -static char *canonicalize_name(); - -static -Device *new_device(name) - char *name; -{ - Device *dev; - - dev = XtNew(Device); - dev->sizescale = 1; - dev->res = 0; - dev->unitwidth = 0; - dev->fonts = 0; - dev->X11 = 0; - dev->paperlength = 0; - dev->paperwidth = 0; - dev->name = XtNewString(name); - return dev; -} - -void device_destroy(dev) - Device *dev; -{ - DeviceFont *f; - - if (!dev) - return; - f = dev->fonts; - while (f) { - DeviceFont *tem = f; - f = f->next; - delete_font(tem); - } - - XtFree(dev->name); - XtFree((char *)dev); -} - -Device *device_load(name) - char *name; -{ - Device *dev; - FILE *fp; - int err = 0; - char buf[256]; - - fp = open_device_file(name, "DESC", ¤t_filename); - if (!fp) - return 0; - dev = new_device(name); - current_lineno = 0; - while (fgets(buf, sizeof(buf), fp)) { - char *p; - current_lineno++; - p = strtok(buf, WS); - if (p) { - int *np = 0; - char *q; - - if (strcmp(p, "charset") == 0) - break; - if (strcmp(p, "X11") == 0) - dev->X11 = 1; - else if (strcmp(p, "sizescale") == 0) - np = &dev->sizescale; - else if (strcmp(p, "res") == 0) - np = &dev->res; - else if (strcmp(p, "unitwidth") == 0) - np = &dev->unitwidth; - else if (strcmp(p, "paperwidth") == 0) - np = &dev->paperwidth; - else if (strcmp(p, "paperlength") == 0) - np = &dev->paperlength; - - if (np) { - q = strtok((char *)0, WS); - if (!q || sscanf(q, "%d", np) != 1 || *np <= 0) { - error("bad argument"); - err = 1; - break; - } - } - } - } - fclose(fp); - current_lineno = -1; - if (!err) { - if (dev->res == 0) { - error("missing res line"); - err = 1; - } - else if (dev->unitwidth == 0) { - error("missing unitwidth line"); - err = 1; - } - } - if (dev->paperlength == 0) - dev->paperlength = dev->res*11; - if (dev->paperwidth == 0) - dev->paperwidth = dev->res*8 + dev->res/2; - if (err) { - device_destroy(dev); - dev = 0; - } - XtFree(current_filename); - current_filename = 0; - return dev; -} - - -DeviceFont *device_find_font(dev, name) - Device *dev; - char *name; -{ - DeviceFont *f; - - if (!dev) - return 0; - for (f = dev->fonts; f; f = f->next) - if (strcmp(f->name, name) == 0) - return f; - return load_font(dev, name); -} - -static -DeviceFont *load_font(dev, name) - Device *dev; - char *name; -{ - FILE *fp; - char buf[256]; - DeviceFont *f; - int special = 0; - - fp = open_device_file(dev->name, name, ¤t_filename); - if (!fp) - return 0; - current_lineno = 0; - for (;;) { - char *p; - - if (!fgets(buf, sizeof(buf), fp)) { - error("no charset line"); - return 0; - } - current_lineno++; - p = strtok(buf, WS); - /* charset must be on a line by itself */ - if (p && strcmp(p, "charset") == 0 && strtok((char *)0, WS) == 0) - break; - if (p && strcmp(p, "special") == 0) - special = 1; - } - f = new_font(name, dev); - f->special = special; - if (!read_charset_section(f, fp)) { - delete_font(f); - f = 0; - } - else { - f->next = dev->fonts; - dev->fonts = f; - } - fclose(fp); - XtFree(current_filename); - current_filename = 0; - return f; -} - -static -DeviceFont *new_font(name, dev) - char *name; - Device *dev; -{ - int i; - DeviceFont *f; - - f = XtNew(DeviceFont); - f->name = XtNewString(name); - f->dev = dev; - f->special = 0; - f->next = 0; - for (i = 0; i < CHAR_TABLE_SIZE; i++) - f->char_table[i] = 0; - for (i = 0; i < 256; i++) - f->code_table[i] = 0; - return f; -} - -static -void delete_font(f) - DeviceFont *f; -{ - int i; - - if (!f) - return; - XtFree(f->name); - for (i = 0; i < CHAR_TABLE_SIZE; i++) { - struct charinfo *ptr = f->char_table[i]; - while (ptr) { - struct charinfo *tem = ptr; - ptr = ptr->next; - XtFree((char *)tem); - } - } - XtFree((char *)f); -} - - -static -unsigned hash_name(name) - char *name; -{ - unsigned n = 0; - /* XXX do better than this */ - while (*name) - n = (n << 1) ^ *name++; - - return n; -} - -static -int scale_round(n, x, y) - int n, x, y; -{ - int y2; - - if (x == 0) - return 0; - y2 = y/2; - if (n >= 0) { - if (n <= (INT_MAX - y2)/x) - return (n*x + y2)/y; - } - else if (-(unsigned)n <= (-(unsigned)INT_MIN - y2)/x) - return (n*x - y2)/y; - return (int)(n*(double)x/(double)y + .5); -} - -static -char *canonicalize_name(s) - char *s; -{ - static char ch[2]; - if (s[0] == 'c' && s[1] == 'h' && s[2] == 'a' && s[3] == 'r') { - char *p; - int n; - - for (p = s + 4; *p; p++) - if (!isascii(*p) || !isdigit((unsigned char)*p)) - return s; - n = atoi(s + 4); - if (n >= 0 && n <= 0xff) { - ch[0] = (char)n; - return ch; - } - } - return s; -} - -/* Return 1 if the character is present in the font; widthp gets the -width if non-null. */ - -int device_char_width(f, ps, name, widthp) - DeviceFont *f; - int ps; - char *name; - int *widthp; -{ - struct charinfo *p; - - name = canonicalize_name(name); - for (p = f->char_table[hash_name(name) % CHAR_TABLE_SIZE];; p = p->next) { - if (!p) - return 0; - if (strcmp(p->name, name) == 0) - break; - } - *widthp = scale_round(p->width, ps, f->dev->unitwidth); - return 1; -} - -int device_code_width(f, ps, code, widthp) - DeviceFont *f; - int ps; - int code; - int *widthp; -{ - struct charinfo *p; - - for (p = f->code_table[code & 0xff];; p = p->code_next) { - if (!p) - return 0; - if (p->code == code) - break; - } - *widthp = scale_round(p->width, ps, f->dev->unitwidth); - return 1; -} - -char *device_name_for_code(f, code) - DeviceFont *f; - int code; -{ - static struct charinfo *state = 0; - if (f) - state = f->code_table[code & 0xff]; - for (; state; state = state->code_next) - if (state->code == code && state->name[0] != '\0') { - char *name = state->name; - state = state->code_next; - return name; - } - return 0; -} - -int device_font_special(f) - DeviceFont *f; -{ - return f->special; -} - -static -struct charinfo *add_char(f, name, width, code) - DeviceFont *f; - char *name; - int width, code; -{ - struct charinfo **pp; - struct charinfo *ci; - - name = canonicalize_name(name); - if (strcmp(name, "---") == 0) - name = ""; - - ci = (struct charinfo *)XtMalloc(XtOffsetOf(struct charinfo, name[0]) - + strlen(name) + 1); - - strcpy(ci->name, name); - ci->width = width; - ci->code = code; - - if (*name != '\0') { - pp = &f->char_table[hash_name(name) % CHAR_TABLE_SIZE]; - ci->next = *pp; - *pp = ci; - } - pp = &f->code_table[code & 0xff]; - ci->code_next = *pp; - *pp = ci; - return ci; -} - -/* Return non-zero for success. */ - -static -int read_charset_section(f, fp) - DeviceFont *f; - FILE *fp; -{ - struct charinfo *last_charinfo = 0; - char buf[256]; - - while (fgets(buf, sizeof(buf), fp)) { - char *name; - int width; - int code; - char *p; - - current_lineno++; - name = strtok(buf, WS); - if (!name) - continue; /* ignore blank lines */ - p = strtok((char *)0, WS); - if (!p) /* end of charset section */ - break; - if (strcmp(p, "\"") == 0) { - if (!last_charinfo) { - error("first line of charset section cannot use `\"'"); - return 0; - } - else - (void)add_char(f, name, - last_charinfo->width, last_charinfo->code); - } - else { - char *q; - if (sscanf(p, "%d", &width) != 1) { - error("bad width field"); - return 0; - } - p = strtok((char *)0, WS); - if (!p) { - error("missing type field"); - return 0; - } - p = strtok((char *)0, WS); - if (!p) { - error("missing code field"); - return 0; - } - code = (int)strtol(p, &q, 0); - if (q == p) { - error("bad code field"); - return 0; - } - last_charinfo = add_char(f, name, width, code); - } - } - return 1; -} - -static -FILE *find_file(file, result) - char *file, **result; -{ - char *buf = NULL; - int bufsiz = 0; - int flen; - FILE *fp; - char *path; - char *env; - - env = getenv(FONTPATH_ENV_VAR); - path = XtMalloc(((env && *env) ? strlen(env) + 1 : 0) - + strlen(FONTPATH) + 1); - *path = '\0'; - if (env && *env) { - strcat(path, env); - strcat(path, ":"); - } - strcat(path, FONTPATH); - - *result = NULL; - - if (file == NULL) - return NULL; - if (*file == '\0') - return NULL; - - if (*file == '/') { - fp = fopen(file, "r"); - if (fp) - *result = XtNewString(file); - return fp; - } - - flen = strlen(file); - - while (*path) { - int len; - char *start, *end; - - start = path; - end = strchr(path, ':'); - if (end) - path = end + 1; - else - path = end = strchr(path, '\0'); - if (start >= end) - continue; - if (end[-1] == '/') - --end; - len = (end - start) + 1 + flen + 1; - if (len > bufsiz) { - if (buf) - buf = XtRealloc(buf, len); - else - buf = XtMalloc(len); - bufsiz = len; - } - memcpy(buf, start, end - start); - buf[end - start] = '/'; - strcpy(buf + (end - start) + 1, file); - fp = fopen(buf, "r"); - if (fp) { - *result = buf; - return fp; - } - } - XtFree(buf); - return NULL; -} - -static -FILE *open_device_file(device_name, file_name, result) - char *device_name, *file_name, **result; -{ - char *buf, *path; - FILE *fp; - - buf = XtMalloc(3 + strlen(device_name) + 1 + strlen(file_name) + 1); - sprintf(buf, "dev%s/%s", device_name, file_name); - fp = find_file(buf, result); - if (!fp) { - fprintf(stderr, "can't find device file `%s'\n", file_name); - fflush(stderr); - } - XtFree(buf); - return fp; -} - -static -void error(s) - char *s; -{ - if (current_filename) { - fprintf(stderr, "%s:", current_filename); - if (current_lineno > 0) - fprintf(stderr, "%d:", current_lineno); - putc(' ', stderr); - } - fputs(s, stderr); - putc('\n', stderr); - fflush(stderr); -} - -/* -Local Variables: -c-indent-level: 4 -c-continued-statement-offset: 4 -c-brace-offset: -4 -c-argdecl-indent: 4 -c-label-offset: -4 -c-tab-always-indent: nil -End: -*/ diff --git a/contrib/groff/src/xditview/device.h b/contrib/groff/src/xditview/device.h deleted file mode 100644 index 2b9a64b..0000000 --- a/contrib/groff/src/xditview/device.h +++ /dev/null @@ -1,21 +0,0 @@ - -typedef struct _DeviceFont DeviceFont; - -typedef struct _Device { - char *name; - int sizescale; - int res; - int unitwidth; - int paperlength; - int paperwidth; - int X11; - DeviceFont *fonts; -} Device; - -extern void device_destroy(); -extern Device *device_load(); -extern DeviceFont *device_find_font(); -extern int device_char_width(); -extern char *device_name_for_code(); -extern int device_code_width(); -extern int device_font_special(); diff --git a/contrib/groff/src/xditview/draw.c b/contrib/groff/src/xditview/draw.c deleted file mode 100644 index fe7c80f..0000000 --- a/contrib/groff/src/xditview/draw.c +++ /dev/null @@ -1,725 +0,0 @@ -/* - * draw.c - * - * accept dvi function calls and translate to X - */ - -#include <X11/Xos.h> -#include <X11/IntrinsicP.h> -#include <X11/StringDefs.h> -#include <stdio.h> -#include <ctype.h> -#include <math.h> - -/* math.h on a Sequent doesn't define M_PI, apparently */ -#ifndef M_PI -#define M_PI 3.14159265358979323846 -#endif - -#include "DviP.h" - -#define DeviceToX(dw, n) ((int)((n) * (dw)->dvi.scale_factor + .5)) -#define XPos(dw) (DeviceToX((dw), (dw)->dvi.state->x - \ - (dw)->dvi.text_device_width) + (dw)->dvi.text_x_width) -#define YPos(dw) (DeviceToX((dw), (dw)->dvi.state->y)) - -static int FakeCharacter(); - -HorizontalMove(dw, delta) - DviWidget dw; - int delta; -{ - dw->dvi.state->x += delta; -} - -HorizontalGoto(dw, NewPosition) - DviWidget dw; - int NewPosition; -{ - dw->dvi.state->x = NewPosition; -} - -VerticalMove(dw, delta) - DviWidget dw; - int delta; -{ - dw->dvi.state->y += delta; -} - -VerticalGoto(dw, NewPosition) - DviWidget dw; - int NewPosition; -{ - dw->dvi.state->y = NewPosition; -} - -AdjustCacheDeltas (dw) - DviWidget dw; -{ - int extra; - int nadj; - int i; - - nadj = 0; - extra = DeviceToX(dw, dw->dvi.text_device_width) - - dw->dvi.text_x_width; - if (extra == 0) - return; - for (i = 0; i <= dw->dvi.cache.index; i++) - if (dw->dvi.cache.adjustable[i]) - ++nadj; - dw->dvi.text_x_width += extra; - if (nadj <= 1) - return; - for (i = 0; i <= dw->dvi.cache.index; i++) - if (dw->dvi.cache.adjustable[i]) { - int x; - int *deltap; - - x = extra/nadj; - deltap = &dw->dvi.cache.cache[i].delta; -#define MIN_DELTA 2 - if (*deltap > 0 && x + *deltap < MIN_DELTA) { - x = MIN_DELTA - *deltap; - if (x <= 0) - *deltap = MIN_DELTA; - else - x = 0; - } - else - *deltap += x; - extra -= x; - --nadj; - dw->dvi.cache.adjustable[i] = 0; - } -} - -FlushCharCache (dw) - DviWidget dw; -{ - if (dw->dvi.cache.char_index != 0) { - AdjustCacheDeltas (dw); - XDrawText (XtDisplay (dw), XtWindow (dw), dw->dvi.normal_GC, - dw->dvi.cache.start_x, dw->dvi.cache.start_y, - dw->dvi.cache.cache, dw->dvi.cache.index + 1); - } - dw->dvi.cache.index = 0; - dw->dvi.cache.max = DVI_TEXT_CACHE_SIZE; -#if 0 - if (dw->dvi.noPolyText) - dw->dvi.cache.max = 1; -#endif - dw->dvi.cache.char_index = 0; - dw->dvi.cache.cache[0].nchars = 0; - dw->dvi.cache.start_x = dw->dvi.cache.x = XPos (dw); - dw->dvi.cache.start_y = dw->dvi.cache.y = YPos (dw); -} - -Newline (dw) - DviWidget dw; -{ - FlushCharCache (dw); - dw->dvi.text_x_width = dw->dvi.text_device_width = 0; - dw->dvi.word_flag = 0; -} - -Word (dw) - DviWidget dw; -{ - dw->dvi.word_flag = 1; -} - -#define charWidth(fi,c) (\ - (fi)->per_char ?\ - (fi)->per_char[(c) - (fi)->min_char_or_byte2].width\ - :\ - (fi)->max_bounds.width\ -) - - -static -int charExists (fi, c) - XFontStruct *fi; - int c; -{ - XCharStruct *p; - - if (fi->per_char == NULL || - c < fi->min_char_or_byte2 || c > fi->max_char_or_byte2) - return 0; - p = fi->per_char + (c - fi->min_char_or_byte2); - return (p->lbearing != 0 || p->rbearing != 0 || p->width != 0 - || p->ascent != 0 || p->descent != 0 || p->attributes != 0); -} - -static -DoCharacter (dw, c, wid) - DviWidget dw; - int c; - int wid; /* width in device units */ -{ - register XFontStruct *font; - register XTextItem *text; - int x, y; - - x = XPos(dw); - y = YPos(dw); - - /* - * quick and dirty extents calculation: - */ - if (!(y + 24 >= dw->dvi.extents.y1 - && y - 24 <= dw->dvi.extents.y2 -#if 0 - && x + 24 >= dw->dvi.extents.x1 - && x - 24 <= dw->dvi.extents.x2 -#endif - )) - return; - - if (y != dw->dvi.cache.y - || dw->dvi.cache.char_index >= DVI_CHAR_CACHE_SIZE) { - FlushCharCache (dw); - x = dw->dvi.cache.x; - dw->dvi.cache.adjustable[dw->dvi.cache.index] = 0; - } - /* - * load a new font, if the current block is not empty, - * step to the next. - */ - if (dw->dvi.cache.font_size != dw->dvi.state->font_size || - dw->dvi.cache.font_number != dw->dvi.state->font_number) - { - FlushCharCache (dw); - x = dw->dvi.cache.x; - dw->dvi.cache.font_size = dw->dvi.state->font_size; - dw->dvi.cache.font_number = dw->dvi.state->font_number; - dw->dvi.cache.font = QueryFont (dw, - dw->dvi.cache.font_number, - dw->dvi.cache.font_size); - if (dw->dvi.cache.cache[dw->dvi.cache.index].nchars != 0) { - ++dw->dvi.cache.index; - if (dw->dvi.cache.index >= dw->dvi.cache.max) - FlushCharCache (dw); - dw->dvi.cache.cache[dw->dvi.cache.index].nchars = 0; - dw->dvi.cache.adjustable[dw->dvi.cache.index] = 0; - } - } - if (x != dw->dvi.cache.x || dw->dvi.word_flag) { - if (dw->dvi.cache.cache[dw->dvi.cache.index].nchars != 0) { - ++dw->dvi.cache.index; - if (dw->dvi.cache.index >= dw->dvi.cache.max) - FlushCharCache (dw); - dw->dvi.cache.cache[dw->dvi.cache.index].nchars = 0; - dw->dvi.cache.adjustable[dw->dvi.cache.index] = 0; - } - dw->dvi.cache.adjustable[dw->dvi.cache.index] - = dw->dvi.word_flag; - dw->dvi.word_flag = 0; - } - font = dw->dvi.cache.font; - text = &dw->dvi.cache.cache[dw->dvi.cache.index]; - if (text->nchars == 0) { - text->chars = &dw->dvi.cache.char_cache[dw->dvi.cache.char_index]; - text->delta = x - dw->dvi.cache.x; - if (font != dw->dvi.font) { - text->font = font->fid; - dw->dvi.font = font; - } else - text->font = None; - dw->dvi.cache.x += text->delta; - } - if (charExists(font, c)) { - int w; - dw->dvi.cache.char_cache[dw->dvi.cache.char_index++] = (char) c; - ++text->nchars; - w = charWidth(font, c); - dw->dvi.cache.x += w; - if (wid != 0) { - dw->dvi.text_x_width += w; - dw->dvi.text_device_width += wid; - } - } -} - -static -int FindCharWidth (dw, buf, widp) - DviWidget dw; - char *buf; - int *widp; -{ - int maxpos; - int i; - - if (dw->dvi.device_font == 0 - || dw->dvi.state->font_number != dw->dvi.device_font_number) { - dw->dvi.device_font_number = dw->dvi.state->font_number; - dw->dvi.device_font - = QueryDeviceFont (dw, dw->dvi.device_font_number); - } - if (dw->dvi.device_font - && device_char_width (dw->dvi.device_font, - dw->dvi.state->font_size, buf, widp)) - return 1; - - maxpos = MaxFontPosition (dw); - for (i = 1; i <= maxpos; i++) { - DeviceFont *f = QueryDeviceFont (dw, i); - if (f && device_font_special (f) - && device_char_width (f, dw->dvi.state->font_size, - buf, widp)) { - dw->dvi.state->font_number = i; - return 1; - } - } - return 0; -} - -/* Return the width of the character in device units. */ - -int PutCharacter (dw, buf) - DviWidget dw; - char *buf; -{ - int prevFont; - int c = -1; - int wid = 0; - DviCharNameMap *map; - - if (!dw->dvi.display_enable) - return 0; /* The width doesn't matter in this case. */ - prevFont = dw->dvi.state->font_number; - if (!FindCharWidth (dw, buf, &wid)) - return 0; - map = QueryFontMap (dw, dw->dvi.state->font_number); - if (map) - c = DviCharIndex (map, buf); - if (c >= 0) - DoCharacter (dw, c, wid); - else - (void) FakeCharacter (dw, buf, wid); - dw->dvi.state->font_number = prevFont; - return wid; -} - -/* Return 1 if we can fake it; 0 otherwise. */ - -static -int FakeCharacter (dw, buf, wid) - DviWidget dw; - char *buf; - int wid; -{ - int oldx, oldw; - char ch[2]; - char *chars = 0; - - if (buf[0] == '\0' || buf[1] == '\0' || buf[2] != '\0') - return 0; -#define pack2(c1, c2) (((c1) << 8) | (c2)) - - switch (pack2(buf[0], buf[1])) { - case pack2('f', 'i'): - chars = "fi"; - break; - case pack2('f', 'l'): - chars = "fl"; - break; - case pack2('f', 'f'): - chars = "ff"; - break; - case pack2('F', 'i'): - chars = "ffi"; - break; - case pack2('F', 'l'): - chars = "ffl"; - break; - } - if (!chars) - return 0; - oldx = dw->dvi.state->x; - oldw = dw->dvi.text_device_width; - ch[1] = '\0'; - for (; *chars; chars++) { - ch[0] = *chars; - dw->dvi.state->x += PutCharacter (dw, ch); - } - dw->dvi.state->x = oldx; - dw->dvi.text_device_width = oldw + wid; - return 1; -} - -PutNumberedCharacter (dw, c) - DviWidget dw; - int c; -{ - char *name; - int wid; - DviCharNameMap *map; - - if (!dw->dvi.display_enable) - return; - - if (dw->dvi.device_font == 0 - || dw->dvi.state->font_number != dw->dvi.device_font_number) { - dw->dvi.device_font_number = dw->dvi.state->font_number; - dw->dvi.device_font - = QueryDeviceFont (dw, dw->dvi.device_font_number); - } - - if (dw->dvi.device_font == 0 - || !device_code_width (dw->dvi.device_font, - dw->dvi.state->font_size, c, &wid)) - return; - if (dw->dvi.native) { - DoCharacter (dw, c, wid); - return; - } - map = QueryFontMap (dw, dw->dvi.state->font_number); - if (!map) - return; - for (name = device_name_for_code (dw->dvi.device_font, c); - name; - name = device_name_for_code ((DeviceFont *)0, c)) { - int code = DviCharIndex (map, name); - if (code >= 0) { - DoCharacter (dw, code, wid); - break; - } - if (FakeCharacter (dw, name, wid)) - break; - } -} - -ClearPage (dw) - DviWidget dw; -{ - XClearWindow (XtDisplay (dw), XtWindow (dw)); -} - -static -setGC (dw) - DviWidget dw; -{ - int desired_line_width; - - if (dw->dvi.line_thickness < 0) - desired_line_width = (int)(((double)dw->dvi.device_resolution - * dw->dvi.state->font_size) - / (10.0*72.0*dw->dvi.sizescale)); - else - desired_line_width = dw->dvi.line_thickness; - - if (desired_line_width != dw->dvi.line_width) { - XGCValues values; - values.line_width = DeviceToX(dw, desired_line_width); - if (values.line_width == 0) - values.line_width = 1; - XChangeGC(XtDisplay (dw), dw->dvi.normal_GC, - GCLineWidth, &values); - dw->dvi.line_width = desired_line_width; - } -} - -static -setFillGC (dw) - DviWidget dw; -{ - int fill_type; - unsigned long mask = GCFillStyle | GCForeground; - - fill_type = (dw->dvi.fill * 10) / (DVI_FILL_MAX + 1); - if (dw->dvi.fill_type != fill_type) { - XGCValues values; - if (fill_type <= 0) { - values.foreground = dw->dvi.background; - values.fill_style = FillSolid; - } else if (fill_type >= 9) { - values.foreground = dw->dvi.foreground; - values.fill_style = FillSolid; - } else { - values.foreground = dw->dvi.foreground; - values.fill_style = FillOpaqueStippled; - values.stipple = dw->dvi.gray[fill_type - 1]; - mask |= GCStipple; - } - XChangeGC(XtDisplay (dw), dw->dvi.fill_GC, mask, &values); - dw->dvi.fill_type = fill_type; - } -} - -DrawLine (dw, x, y) - DviWidget dw; - int x, y; -{ - int xp, yp; - - AdjustCacheDeltas (dw); - setGC (dw); - xp = XPos (dw); - yp = YPos (dw); - XDrawLine (XtDisplay (dw), XtWindow (dw), dw->dvi.normal_GC, - xp, yp, - xp + DeviceToX (dw, x), yp + DeviceToX (dw, y)); -} - -DrawCircle (dw, diam) - DviWidget dw; - int diam; -{ - int d; - - AdjustCacheDeltas (dw); - setGC (dw); - d = DeviceToX (dw, diam); - XDrawArc (XtDisplay (dw), XtWindow (dw), dw->dvi.normal_GC, - XPos (dw), YPos (dw) - d/2, - d, d, 0, 64*360); -} - -DrawFilledCircle (dw, diam) - DviWidget dw; - int diam; -{ - int d; - - AdjustCacheDeltas (dw); - setFillGC (dw); - d = DeviceToX (dw, diam); - XFillArc (XtDisplay (dw), XtWindow (dw), dw->dvi.fill_GC, - XPos (dw), YPos (dw) - d/2, - d, d, 0, 64*360); - XDrawArc (XtDisplay (dw), XtWindow (dw), dw->dvi.fill_GC, - XPos (dw), YPos (dw) - d/2, - d, d, 0, 64*360); -} - -DrawEllipse (dw, a, b) - DviWidget dw; - int a, b; -{ - AdjustCacheDeltas (dw); - setGC (dw); - XDrawArc (XtDisplay (dw), XtWindow (dw), dw->dvi.normal_GC, - XPos (dw), YPos (dw) - DeviceToX (dw, b/2), - DeviceToX (dw, a), DeviceToX (dw, b), 0, 64*360); -} - -DrawFilledEllipse (dw, a, b) - DviWidget dw; - int a, b; -{ - AdjustCacheDeltas (dw); - setFillGC (dw); - XFillArc (XtDisplay (dw), XtWindow (dw), dw->dvi.fill_GC, - XPos (dw), YPos (dw) - DeviceToX (dw, b/2), - DeviceToX (dw, a), DeviceToX (dw, b), 0, 64*360); - XDrawArc (XtDisplay (dw), XtWindow (dw), dw->dvi.fill_GC, - XPos (dw), YPos (dw) - DeviceToX (dw, b/2), - DeviceToX (dw, a), DeviceToX (dw, b), 0, 64*360); -} - -DrawArc (dw, x0, y0, x1, y1) - DviWidget dw; - int x0, y0, x1, y1; -{ - int angle1, angle2; - int rad = (int)((sqrt ((double)x0*x0 + (double)y0*y0) - + sqrt ((double)x1*x1 + (double)y1*y1) + 1.0)/2.0); - if ((x0 == 0 && y0 == 0) || (x1 == 0 && y1 == 0)) - return; - angle1 = (int)(atan2 ((double)y0, (double)-x0)*180.0*64.0/M_PI); - angle2 = (int)(atan2 ((double)-y1, (double)x1)*180.0*64.0/M_PI); - - angle2 -= angle1; - if (angle2 < 0) - angle2 += 64*360; - - AdjustCacheDeltas (dw); - setGC (dw); - - rad = DeviceToX (dw, rad); - XDrawArc (XtDisplay (dw), XtWindow (dw), dw->dvi.normal_GC, - XPos (dw) + DeviceToX (dw, x0) - rad, - YPos (dw) + DeviceToX (dw, y0) - rad, - rad*2, rad*2, angle1, angle2); -} - -DrawPolygon (dw, v, n) - DviWidget dw; - int *v; - int n; -{ - XPoint *p; - int i; - int dx, dy; - - n /= 2; - - AdjustCacheDeltas (dw); - setGC (dw); - p = (XPoint *)XtMalloc((n + 2)*sizeof(XPoint)); - p[0].x = XPos (dw); - p[0].y = YPos (dw); - dx = 0; - dy = 0; - for (i = 0; i < n; i++) { - dx += v[2*i]; - p[i + 1].x = DeviceToX (dw, dx) + p[0].x; - dy += v[2*i + 1]; - p[i + 1].y = DeviceToX (dw, dy) + p[0].y; - } - p[n+1].x = p[0].x; - p[n+1].y = p[0].y; - XDrawLines (XtDisplay (dw), XtWindow (dw), dw->dvi.normal_GC, - p, n + 2, CoordModeOrigin); - XtFree((char *)p); -} - - -DrawFilledPolygon (dw, v, n) - DviWidget dw; - int *v; - int n; -{ - XPoint *p; - int i; - int dx, dy; - - n /= 2; - if (n < 2) - return; - - AdjustCacheDeltas (dw); - setFillGC (dw); - p = (XPoint *)XtMalloc((n + 2)*sizeof(XPoint)); - p[0].x = p[n+1].x = XPos (dw); - p[0].y = p[n+1].y = YPos (dw); - dx = 0; - dy = 0; - for (i = 0; i < n; i++) { - dx += v[2*i]; - p[i + 1].x = DeviceToX (dw, dx) + p[0].x; - dy += v[2*i + 1]; - p[i + 1].y = DeviceToX (dw, dy) + p[0].y; - } - XFillPolygon (XtDisplay (dw), XtWindow (dw), dw->dvi.fill_GC, - p, n + 1, Complex, CoordModeOrigin); - XDrawLines (XtDisplay (dw), XtWindow (dw), dw->dvi.fill_GC, - p, n + 2, CoordModeOrigin); - XtFree((char *)p); -} - -#define POINTS_MAX 10000 - -static -appendPoint(points, pointi, x, y) - XPoint *points; - int *pointi; - int x, y; -{ - if (*pointi < POINTS_MAX) { - points[*pointi].x = x; - points[*pointi].y = y; - *pointi += 1; - } -} - -#define FLATNESS 1 - -static -flattenCurve(points, pointi, x2, y2, x3, y3, x4, y4) - XPoint *points; - int *pointi; - int x2, y2, x3, y3, x4, y4; -{ - int x1, y1, dx, dy, n1, n2, n; - - x1 = points[*pointi - 1].x; - y1 = points[*pointi - 1].y; - - dx = x4 - x1; - dy = y4 - y1; - - n1 = dy*(x2 - x1) - dx*(y2 - y1); - n2 = dy*(x3 - x1) - dx*(y3 - y1); - if (n1 < 0) - n1 = -n1; - if (n2 < 0) - n2 = -n2; - n = n1 > n2 ? n1 : n2; - - if (n*n / (dy*dy + dx*dx) <= FLATNESS*FLATNESS) - appendPoint (points, pointi, x4, y4); - else { - flattenCurve (points, pointi, - (x1 + x2)/2, (y1 + y2)/2, - (x1 + x2*2 + x3)/4, (y1 + y2*2 + y3)/4, - (x1 +3*x2 + 3*x3 + x4)/8, (y1 +3*y2 + 3*y3 + y4)/8); - flattenCurve (points, pointi, - (x2 + x3*2 + x4)/4, (y2 + y3*2 + y4)/4, - (x3 + x4)/2, (y3 + y4)/2, - x4, y4); - } -} - - -DrawSpline (dw, v, n) - DviWidget dw; - int *v; - int n; -{ - int sx, sy, tx, ty; - int ox, oy, dx, dy; - int i; - int pointi; - XPoint points[POINTS_MAX]; - - if (n == 0 || (n & 1) != 0) - return; - AdjustCacheDeltas (dw); - setGC (dw); - ox = XPos (dw); - oy = YPos (dw); - dx = v[0]; - dy = v[1]; - sx = ox; - sy = oy; - tx = sx + DeviceToX (dw, dx); - ty = sy + DeviceToX (dw, dy); - - pointi = 0; - - appendPoint (points, &pointi, sx, sy); - appendPoint (points, &pointi, (sx + tx)/2, (sy + ty)/2); - - for (i = 2; i < n; i += 2) { - int ux = ox + DeviceToX (dw, dx += v[i]); - int uy = oy + DeviceToX (dw, dy += v[i+1]); - flattenCurve (points, &pointi, - (sx + tx*5)/6, (sy + ty*5)/6, - (tx*5 + ux)/6, (ty*5 + uy)/6, - (tx + ux)/2, (ty + uy)/2); - sx = tx; - sy = ty; - tx = ux; - ty = uy; - } - - appendPoint (points, &pointi, tx, ty); - - XDrawLines (XtDisplay (dw), XtWindow (dw), dw->dvi.normal_GC, - points, pointi, CoordModeOrigin); -} - - -/* -Local Variables: -c-indent-level: 8 -c-continued-statement-offset: 8 -c-brace-offset: -8 -c-argdecl-indent: 8 -c-label-offset: -8 -c-tab-always-indent: nil -End: -*/ diff --git a/contrib/groff/src/xditview/font.c b/contrib/groff/src/xditview/font.c deleted file mode 100644 index 2e028aa..0000000 --- a/contrib/groff/src/xditview/font.c +++ /dev/null @@ -1,471 +0,0 @@ -/* - * font.c - * - * map dvi fonts to X fonts - */ - -#include <X11/Xos.h> -#include <X11/IntrinsicP.h> -#include <X11/StringDefs.h> -#include <stdio.h> -#include <ctype.h> -#include "DviP.h" -#include "XFontName.h" - -static DisposeFontSizes(); - -static char * -savestr (s) - char *s; -{ - char *n; - - if (!s) - return 0; - n = XtMalloc (strlen (s) + 1); - if (n) - strcpy (n, s); - return n; -} - -static DviFontList * -LookupFontByPosition (dw, position) - DviWidget dw; - int position; -{ - DviFontList *f; - - for (f = dw->dvi.fonts; f; f = f->next) - if (f->dvi_number == position) - break; - return f; -} - -int -MaxFontPosition (dw) - DviWidget dw; -{ - DviFontList *f; - int n = -1; - - for (f = dw->dvi.fonts; f; f = f->next) - if (f->dvi_number > n) - n = f->dvi_number; - return n; -} - -static DviFontSizeList * -LookupFontSizeBySize (dw, f, size) - DviWidget dw; - DviFontList *f; - int size; -{ - DviFontSizeList *fs, *best = 0, *smallest = 0; - int bestsize = 0; - XFontName fontName; - unsigned int fontNameAttributes; - char fontNameString[2048]; - int decipointsize; - - if (f->scalable) { - decipointsize = (10*size)/dw->dvi.sizescale; - for (best = f->sizes; best; best = best->next) - if (best->size == decipointsize) - return best; - best = (DviFontSizeList *) XtMalloc(sizeof *best); - best->next = f->sizes; - best->size = decipointsize; - f->sizes = best; - XParseFontName (f->x_name, &fontName, &fontNameAttributes); - fontNameAttributes &= ~(FontNamePixelSize|FontNameAverageWidth); - fontNameAttributes |= FontNameResolutionX; - fontNameAttributes |= FontNameResolutionY; - fontNameAttributes |= FontNamePointSize; - fontName.ResolutionX = dw->dvi.display_resolution; - fontName.ResolutionY = dw->dvi.display_resolution; - fontName.PointSize = decipointsize; - XFormatFontName (&fontName, fontNameAttributes, fontNameString); - best->x_name = savestr (fontNameString); - best->doesnt_exist = 0; - best->font = 0; - return best; - } - for (fs = f->sizes; fs; fs=fs->next) { - if (dw->dvi.sizescale*fs->size <= 10*size - && fs->size >= bestsize) { - best = fs; - bestsize = fs->size; - } - if (smallest == 0 || fs->size < smallest->size) - smallest = fs; - } - return best ? best : smallest; -} - -static char * -SkipFontNameElement (n) - char *n; -{ - while (*n != '-') - if (!*++n) - return 0; - return n+1; -} - -# define SizePosition 8 -# define EncodingPosition 13 - -static -ConvertFontNameToSize (n) - char *n; -{ - int i, size; - - for (i = 0; i < SizePosition; i++) { - n = SkipFontNameElement (n); - if (!n) - return -1; - } - size = atoi (n); - return size; -} - -static char * -ConvertFontNameToEncoding (n) - char *n; -{ - int i; - for (i = 0; i < EncodingPosition; i++) { - n = SkipFontNameElement (n); - if (!n) - return 0; - } - return n; -} - -DviFontSizeList * -InstallFontSizes (dw, x_name, scalablep) - DviWidget dw; - char *x_name; - Boolean *scalablep; -{ - char fontNameString[2048]; - char **fonts; - int i, count; - int size; - DviFontSizeList *sizes, *new; - XFontName fontName; - unsigned int fontNameAttributes; - - *scalablep = FALSE; - if (!XParseFontName (x_name, &fontName, &fontNameAttributes)) - return 0; - fontNameAttributes &= ~(FontNamePixelSize|FontNamePointSize - |FontNameAverageWidth); - fontNameAttributes |= FontNameResolutionX; - fontNameAttributes |= FontNameResolutionY; - fontName.ResolutionX = dw->dvi.display_resolution; - fontName.ResolutionY = dw->dvi.display_resolution; - XFormatFontName (&fontName, fontNameAttributes, fontNameString); - fonts = XListFonts (XtDisplay (dw), fontNameString, 10000000, &count); - sizes = 0; - for (i = 0; i < count; i++) { - size = ConvertFontNameToSize (fonts[i]); - if (size == 0) { - DisposeFontSizes (dw, sizes); - sizes = 0; - *scalablep = TRUE; - break; - } - if (size != -1) { - new = (DviFontSizeList *) XtMalloc (sizeof *new); - new->next = sizes; - new->size = size; - new->x_name = savestr (fonts[i]); - new->doesnt_exist = 0; - new->font = 0; - sizes = new; - } - } - XFreeFontNames (fonts); - return sizes; -} - -static -DisposeFontSizes (dw, fs) - DviWidget dw; - DviFontSizeList *fs; -{ - DviFontSizeList *next; - - for (; fs; fs=next) { - next = fs->next; - if (fs->x_name) - XtFree (fs->x_name); - if (fs->font && fs->font != dw->dvi.default_font) { - XUnloadFont (XtDisplay (dw), fs->font->fid); - XFree ((char *)fs->font); - } - XtFree ((char *) fs); - } -} - -static DviFontList * -InstallFont (dw, position, dvi_name, x_name) - DviWidget dw; - int position; - char *dvi_name; - char *x_name; -{ - DviFontList *f; - char *encoding; - - if ((f = LookupFontByPosition (dw, position)) != NULL) { - /* - * ignore gratuitous font loading - */ - if (!strcmp (f->dvi_name, dvi_name) && - !strcmp (f->x_name, x_name)) - return f; - - DisposeFontSizes (dw, f->sizes); - if (f->dvi_name) - XtFree (f->dvi_name); - if (f->x_name) - XtFree (f->x_name); - f->device_font = 0; - } else { - f = (DviFontList *) XtMalloc (sizeof (*f)); - f->next = dw->dvi.fonts; - dw->dvi.fonts = f; - } - f->initialized = FALSE; - f->dvi_name = savestr (dvi_name); - f->device_font = device_find_font (dw->dvi.device, dvi_name); - f->x_name = savestr (x_name); - f->dvi_number = position; - f->sizes = 0; - f->scalable = FALSE; - if (f->x_name) { - encoding = ConvertFontNameToEncoding (f->x_name); - f->char_map = DviFindMap (encoding); - } else - f->char_map = 0; - /* - * force requery of fonts - */ - dw->dvi.font = 0; - dw->dvi.font_number = -1; - dw->dvi.cache.font = 0; - dw->dvi.cache.font_number = -1; - dw->dvi.device_font = 0; - dw->dvi.device_font_number = -1; - return f; -} - -ForgetFonts (dw) - DviWidget dw; -{ - DviFontList *f = dw->dvi.fonts; - - while (f) { - DviFontList *tem = f; - - if (f->sizes) - DisposeFontSizes (dw, f->sizes); - if (f->dvi_name) - XtFree (f->dvi_name); - if (f->x_name) - XtFree (f->x_name); - f = f->next; - XtFree ((char *) tem); - } - - /* - * force requery of fonts - */ - dw->dvi.font = 0; - dw->dvi.font_number = -1; - dw->dvi.cache.font = 0; - dw->dvi.cache.font_number = -1; - dw->dvi.device_font = 0; - dw->dvi.device_font_number = -1; - dw->dvi.fonts = 0; -} - - -static char * -MapDviNameToXName (dw, dvi_name) - DviWidget dw; - char *dvi_name; -{ - DviFontMap *fm; - - for (fm = dw->dvi.font_map; fm; fm=fm->next) - if (!strcmp (fm->dvi_name, dvi_name)) - return fm->x_name; - return 0; -} - -#if 0 -static char * -MapXNameToDviName (dw, x_name) - DviWidget dw; - char *x_name; -{ - DviFontMap *fm; - - for (fm = dw->dvi.font_map; fm; fm=fm->next) - if (!strcmp (fm->x_name, x_name)) - return fm->dvi_name; - return 0; -} -#endif - -ParseFontMap (dw) - DviWidget dw; -{ - char dvi_name[1024]; - char x_name[2048]; - char *m, *s; - DviFontMap *fm, *new; - - if (dw->dvi.font_map) - DestroyFontMap (dw->dvi.font_map); - fm = 0; - m = dw->dvi.font_map_string; - while (*m) { - s = m; - while (*m && !isspace (*m)) - ++m; - strncpy (dvi_name, s, m-s); - dvi_name[m-s] = '\0'; - while (isspace (*m)) - ++m; - s = m; - while (*m && *m != '\n') - ++m; - strncpy (x_name, s, m-s); - x_name[m-s] = '\0'; - new = (DviFontMap *) XtMalloc (sizeof *new); - new->x_name = savestr (x_name); - new->dvi_name = savestr (dvi_name); - new->next = fm; - fm = new; - ++m; - } - dw->dvi.font_map = fm; -} - -DestroyFontMap (font_map) - DviFontMap *font_map; -{ - DviFontMap *next; - - for (; font_map; font_map = next) { - next = font_map->next; - if (font_map->x_name) - XtFree (font_map->x_name); - if (font_map->dvi_name) - XtFree (font_map->dvi_name); - XtFree ((char *) font_map); - } -} - -/* ARGSUSED */ - -SetFontPosition (dw, position, dvi_name, extra) - DviWidget dw; - int position; - char *dvi_name; - char *extra; /* unused */ -{ - char *x_name; - - x_name = MapDviNameToXName (dw, dvi_name); - if (x_name) - (void) InstallFont (dw, position, dvi_name, x_name); -} - -XFontStruct * -QueryFont (dw, position, size) - DviWidget dw; - int position; - int size; -{ - DviFontList *f; - DviFontSizeList *fs; - - f = LookupFontByPosition (dw, position); - if (!f) - return dw->dvi.default_font; - if (!f->initialized) { - f->sizes = InstallFontSizes (dw, f->x_name, &f->scalable); - f->initialized = TRUE; - } - fs = LookupFontSizeBySize (dw, f, size); - if (!fs) - return dw->dvi.default_font; - if (!fs->font) { - if (fs->x_name) - fs->font = XLoadQueryFont (XtDisplay (dw), fs->x_name); - if (!fs->font) - fs->font = dw->dvi.default_font; - } - return fs->font; -} - -DeviceFont * -QueryDeviceFont (dw, position) - DviWidget dw; - int position; -{ - DviFontList *f; - - f = LookupFontByPosition (dw, position); - if (!f) - return 0; - return f->device_font; -} - -DviCharNameMap * -QueryFontMap (dw, position) - DviWidget dw; - int position; -{ - DviFontList *f; - - f = LookupFontByPosition (dw, position); - if (f) - return f->char_map; - else - return 0; -} - -#if 0 -LoadFont (dw, position, size) - DviWidget dw; - int position; - int size; -{ - XFontStruct *font; - - font = QueryFont (dw, position, size); - dw->dvi.font_number = position; - dw->dvi.font_size = size; - dw->dvi.font = font; - XSetFont (XtDisplay (dw), dw->dvi.normal_GC, font->fid); - return; -} -#endif - -/* -Local Variables: -c-indent-level: 8 -c-continued-statement-offset: 8 -c-brace-offset: -8 -c-argdecl-indent: 8 -c-label-offset: -8 -c-tab-always-indent: nil -End: -*/ diff --git a/contrib/groff/src/xditview/gray1.bm b/contrib/groff/src/xditview/gray1.bm deleted file mode 100644 index c40a95e..0000000 --- a/contrib/groff/src/xditview/gray1.bm +++ /dev/null @@ -1,4 +0,0 @@ -#define gray1_width 3 -#define gray1_height 3 -static char gray1_bits[] = { - 0x00, 0x02, 0x00}; diff --git a/contrib/groff/src/xditview/gray2.bm b/contrib/groff/src/xditview/gray2.bm deleted file mode 100644 index e87a1bc..0000000 --- a/contrib/groff/src/xditview/gray2.bm +++ /dev/null @@ -1,4 +0,0 @@ -#define gray2_width 3 -#define gray2_height 3 -static char gray2_bits[] = { - 0x00, 0x03, 0x00}; diff --git a/contrib/groff/src/xditview/gray3.bm b/contrib/groff/src/xditview/gray3.bm deleted file mode 100644 index d9313eb..0000000 --- a/contrib/groff/src/xditview/gray3.bm +++ /dev/null @@ -1,4 +0,0 @@ -#define gray3_width 3 -#define gray3_height 3 -static char gray3_bits[] = { - 0x00, 0x03, 0x02}; diff --git a/contrib/groff/src/xditview/gray4.bm b/contrib/groff/src/xditview/gray4.bm deleted file mode 100644 index dad142a..0000000 --- a/contrib/groff/src/xditview/gray4.bm +++ /dev/null @@ -1,4 +0,0 @@ -#define gray4_width 3 -#define gray4_height 3 -static char gray4_bits[] = { - 0x00, 0x07, 0x02}; diff --git a/contrib/groff/src/xditview/gray5.bm b/contrib/groff/src/xditview/gray5.bm deleted file mode 100644 index 5f57618..0000000 --- a/contrib/groff/src/xditview/gray5.bm +++ /dev/null @@ -1,4 +0,0 @@ -#define gray5_width 3 -#define gray5_height 3 -static char gray5_bits[] = { - 0x04, 0x07, 0x02}; diff --git a/contrib/groff/src/xditview/gray6.bm b/contrib/groff/src/xditview/gray6.bm deleted file mode 100644 index b76701d..0000000 --- a/contrib/groff/src/xditview/gray6.bm +++ /dev/null @@ -1,4 +0,0 @@ -#define gray6_width 3 -#define gray6_height 3 -static char gray6_bits[] = { - 0x04, 0x07, 0x03}; diff --git a/contrib/groff/src/xditview/gray7.bm b/contrib/groff/src/xditview/gray7.bm deleted file mode 100644 index ef47bc6..0000000 --- a/contrib/groff/src/xditview/gray7.bm +++ /dev/null @@ -1,4 +0,0 @@ -#define gray7_width 3 -#define gray7_height 3 -static char gray7_bits[] = { - 0x05, 0x07, 0x03}; diff --git a/contrib/groff/src/xditview/gray8.bm b/contrib/groff/src/xditview/gray8.bm deleted file mode 100644 index 12de7cb..0000000 --- a/contrib/groff/src/xditview/gray8.bm +++ /dev/null @@ -1,4 +0,0 @@ -#define gray8_width 3 -#define gray8_height 3 -static char gray8_bits[] = { - 0x05, 0x07, 0x07}; diff --git a/contrib/groff/src/xditview/gxditview.man b/contrib/groff/src/xditview/gxditview.man deleted file mode 100644 index 8680001..0000000 --- a/contrib/groff/src/xditview/gxditview.man +++ /dev/null @@ -1,249 +0,0 @@ -.TH GXDITVIEW 1 "Release 5" "X Version 11" -.SH NAME -gxditview \- display gtroff output files -.SH SYNOPSIS -.B gxditview -.RI [\fB\- toolkitoption\ .\|.\|.\|] -.RI [\fB\- option\ .\|.\|.\|] -.RI [ filename ] -.SH DESCRIPTION -The -.I gxditview -program displays gtroff output on an X display. -It uses the standard X11 fonts, -so it does not require access to the server machine for font loading. -.PP -If -.I filename -is -.BR \- , -.I gxditview -will read the standard input. -.PP -The left mouse button brings up a menu with the following entries: -.TP 8 -.B "Next Page" -Display the next page. -.TP -.B "Previous Page" -Display the previous page. -.TP -.B "Select Page" -Select a particular numbered page specified by a dialog box. -.TP -.B Print -Print the gtroff output using a command specified by a dialog box. -The default command initially displayed is controlled by the -.B printCommand -application resource, and by the -.B \-printCommand -option. -.TP -.B Open -Open for display a new file specified by a dialog box. -The file should contain gtroff output. -If the filename starts with -.B | -it will be taken to be a command to read from. -.TP -.B Quit -Exit from -.IR gxditview . -.PP -The -.BR n , -Space -and Return keys are bound to the -.B Next\ Page -action. -The -.BR p , -BackSpace -and -Delete -keys are bound to the -.B Previous\ Page -action. -The -.B q -key is bound to the -.B Quit -action. -The -.B r -key is bound to the -.B Rerasterize -action which rereads the current file, and redisplays the current page; -if the current file is a command, the command will be reexecuted. -.PP -The -.B paperlength -and -.B paperwidth -commands in the DESC file specify the length and width in machine units -of the virtual page displayed by -.IR gxditview . -.SH OPTIONS -.I Gxditview -accepts all of the standard X Toolkit command line options along with the -additional options listed below: -.TP 8 -.B \-help -This option indicates that a brief summary of the allowed options should be -printed. -.TP -.B \-page -This option specifies the page number of the document to be displayed. -.TP -.BI \-backingStore\ backing-store-type -Redisplay of the gtroff output window can take upto a second or so, -this option causes the server to save the window contents so that when -it is scrolled around the viewport, the window is painted from -contents saved in backing store. -.I backing-store-type -can be one of -.BR Always , -.B WhenMapped -or -.BR NotUseful . -.TP -.BI \-printCommand\ command -The default command displayed in the dialog box for the -.B Print -menu entry will be -.IR command . -.TP -.BI \-resolution\ res -The gtroff output file will be displayed at a resolution of -.I res -dpi, -unless the DESC file contains the -.B X11 -command, in which case the device resolution will be used. -This corresponds the -.I Dvi -widget's -.B resolution -resource. -The default is 75. -.TP -.BI \-filename\ string -The default filename displayed in the dialog box for the -.B Open -menu entry will be -.IR string . -This can be either a filename, or a command starting with -.BR | . -.PP -The following standard X Toolkit command line arguments are commonly used with -.IR gxditview : -.TP 8 -.BI \-bg\ color -This option specifies the color to use for the background of the window. -The default is \fIwhite\fP. -.TP -.BI \-bd\ color -This option specifies the color to use for the border of the window. -The default is \fIblack\fP. -.TP -.BI \-bw\ number -This option specifies the width in pixels of the border surrounding the window. -.TP -.BI \-fg\ color -This option specifies the color to use for displaying text. The default is -\fIblack\fP. -.TP -.BI \-fn\ font -This option specifies the font to be used for displaying widget text. The -default is \fIfixed\fP. -.TP -.B \-rv -This option indicates that reverse video should be simulated by swapping -the foreground and background colors. -.TP -.BI \-geometry\ geometry -This option specifies the preferred size and position of the window. -.TP -.BI \-display\ host : display -This option specifies the X server to contact. -.TP -.BI \-xrm\ resourcestring -This option specifies a resource string to be used. -.SH X DEFAULTS -This program uses the -.I Dvi -widget in the X Toolkit. It understands all of the core resource names and -classes as well as: -.PP -.TP 8 -.BR width\ (class\ Width ) -Specifies the width of the window. -.TP -.BR height\ (class\ Height ) -Specifies the height of the window. -.TP -.BR foreground\ (class\ Foreground ) -Specifies the default foreground color. -.TP -.BR font\ (class\ Font ) -Specifies the font to be used for error messages. -.TP -.BR fontMap\ (class\ FontMap ) -Specifies the mapping from groff font names to X font names. This -must be a string containing a sequence of lines. Each line contains -two whitespace separated fields: first the groff font name, and -secondly the X font name. The default is -.nf -"\e -TR -adobe-times-medium-r-normal--*-100-*-*-*-*-iso8859-1\en\e -TI -adobe-times-medium-i-normal--*-100-*-*-*-*-iso8859-1\en\e -TB -adobe-times-bold-r-normal--*-100-*-*-*-*-iso8859-1\en\e -TBI -adobe-times-bold-i-normal--*-100-*-*-*-*-iso8859-1\en\e -CR -adobe-courier-medium-r-normal--*-100-*-*-*-*-iso8859-1\en\e -CI -adobe-courier-medium-o-normal--*-100-*-*-*-*-iso8859-1\en\e -CB -adobe-courier-bold-r-normal--*-100-*-*-*-*-iso8859-1\en\e -CBI -adobe-courier-bold-o-normal--*-100-*-*-*-*-iso8859-1\en\e -HR -adobe-helvetica-medium-r-normal--*-100-*-*-*-*-iso8859-1\en\e -HI -adobe-helvetica-medium-o-normal--*-100-*-*-*-*-iso8859-1\en\e -HB -adobe-helvetica-bold-r-normal--*-100-*-*-*-*-iso8859-1\en\e -HBI -adobe-helvetica-bold-o-normal--*-100-*-*-*-*-iso8859-1\en\e -NR -adobe-new century schoolbook-medium-r-normal--*-100-*-*-*-*-iso8859-1\en\e -NI -adobe-new century schoolbook-medium-i-normal--*-100-*-*-*-*-iso8859-1\en\e -NB -adobe-new century schoolbook-bold-r-normal--*-100-*-*-*-*-iso8859-1\en\e -NBI -adobe-new century schoolbook-bold-i-normal--*-100-*-*-*-*-iso8859-1\en\e -S -adobe-symbol-medium-r-normal--*-100-*-*-*-*-adobe-fontspecific\en\e -SS -adobe-symbol-medium-r-normal--*-100-*-*-*-*-adobe-fontspecific\en\e -" -.fi - -.SH "SEE ALSO" -.IR X (1), -.IR xrdb (1), -.IR gtroff (1), -.IR groff (1) -.SH ORIGIN -This program is derived from xditview; -portions of xditview originated in xtroff which was derived -from suntroff. -.SH COPYRIGHT -Copyright 1989, Massachusetts Institute of Technology. -.br -See -.IR X (1) -for a full statement of rights and permissions. -.SH AUTHORS -Keith Packard (MIT X Consortium) -.br -Richard L. Hyde (Purdue) -.br -David Slattengren (Berkeley) -.br -Malcolm Slaney (Schlumberger Palo Alto Research) -.br -Mark Moraes (University of Toronto) -.br -James Clark -. -.\" Local Variables: -.\" mode: nroff -.\" End: diff --git a/contrib/groff/src/xditview/lex.c b/contrib/groff/src/xditview/lex.c deleted file mode 100644 index 32831bd..0000000 --- a/contrib/groff/src/xditview/lex.c +++ /dev/null @@ -1,103 +0,0 @@ -#include <X11/Xos.h> -#include <X11/IntrinsicP.h> -#include <X11/StringDefs.h> -#include <stdio.h> -#include "DviP.h" - -DviGetAndPut(dw, cp) - DviWidget dw; - int *cp; -{ - if (dw->dvi.ungot) { - dw->dvi.ungot = 0; - *cp = getc (dw->dvi.file); - } - else { - *cp = getc (dw->dvi.file); - if (*cp != EOF) - putc (*cp, dw->dvi.tmpFile); - } - return *cp; -} - -char * -GetLine(dw, Buffer, Length) - DviWidget dw; - char *Buffer; - int Length; -{ - int i = 0, c; - - Length--; /* Save room for final '\0' */ - - while (DviGetC (dw, &c) != EOF) { - if (Buffer && i < Length) - Buffer[i++] = c; - if (c == '\n') { - DviUngetC(dw, c); - break; - } - } - if (Buffer) - Buffer[i] = '\0'; - return Buffer; -} - -char * -GetWord(dw, Buffer, Length) - DviWidget dw; - char *Buffer; - int Length; -{ - int i = 0, c; - - Length--; /* Save room for final '\0' */ - while (DviGetC(dw, &c) == ' ' || c == '\n') - ; - while (c != EOF) { - if (Buffer && i < Length) - Buffer[i++] = c; - if (DviGetC(dw, &c) == ' ' || c == '\n') { - DviUngetC(dw, c); - break; - } - } - if (Buffer) - Buffer[i] = '\0'; - return Buffer; -} - -GetNumber(dw) - DviWidget dw; -{ - int i = 0, c; - int negative = 0; - - while (DviGetC(dw, &c) == ' ' || c == '\n') - ; - if (c == '-') { - negative = 1; - DviGetC(dw, &c); - } - - for (; c >= '0' && c <= '9'; DviGetC(dw, &c)) { - if (negative) - i = i*10 - (c - '0'); - else - i = i*10 + c - '0'; - } - if (c != EOF) - DviUngetC(dw, c); - return i; -} - -/* -Local Variables: -c-indent-level: 8 -c-continued-statement-offset: 8 -c-brace-offset: -8 -c-argdecl-indent: 8 -c-label-offset: -8 -c-tab-always-indent: nil -End: -*/ diff --git a/contrib/groff/src/xditview/page.c b/contrib/groff/src/xditview/page.c deleted file mode 100644 index 9284199..0000000 --- a/contrib/groff/src/xditview/page.c +++ /dev/null @@ -1,88 +0,0 @@ -/* - * page.c - * - * map page numbers to file position - */ - -#include <X11/Xos.h> -#include <X11/IntrinsicP.h> -#include <X11/StringDefs.h> -#include <stdio.h> -#include <ctype.h> -#include "DviP.h" - -#ifdef X_NOT_STDC_ENV -extern long ftell(); -#endif - -static DviFileMap * -MapPageNumberToFileMap (dw, number) - DviWidget dw; - int number; -{ - DviFileMap *m; - - for (m = dw->dvi.file_map; m; m=m->next) - if (m->page_number == number) - break; - return m; -} - -DestroyFileMap (m) - DviFileMap *m; -{ - DviFileMap *next; - - for (; m; m = next) { - next = m->next; - XtFree ((char *) m); - } -} - -ForgetPagePositions (dw) - DviWidget dw; -{ - DestroyFileMap (dw->dvi.file_map); - dw->dvi.file_map = 0; -} - -RememberPagePosition(dw, number) - DviWidget dw; - int number; -{ - DviFileMap *m; - - if (!(m = MapPageNumberToFileMap (dw, number))) { - m = (DviFileMap *) XtMalloc (sizeof *m); - m->page_number = number; - m->next = dw->dvi.file_map; - dw->dvi.file_map = m; - } - if (dw->dvi.tmpFile) - m->position = ftell (dw->dvi.tmpFile); - else - m->position = ftell (dw->dvi.file); -} - -SearchPagePosition (dw, number) - DviWidget dw; - int number; -{ - DviFileMap *m; - - if (!(m = MapPageNumberToFileMap (dw, number))) - return -1; - return m->position; -} - -FileSeek(dw, position) -DviWidget dw; -long position; -{ - if (dw->dvi.tmpFile) { - dw->dvi.readingTmp = 1; - fseek (dw->dvi.tmpFile, position, 0); - } else - fseek (dw->dvi.file, position, 0); -} - diff --git a/contrib/groff/src/xditview/parse.c b/contrib/groff/src/xditview/parse.c deleted file mode 100644 index d763268..0000000 --- a/contrib/groff/src/xditview/parse.c +++ /dev/null @@ -1,340 +0,0 @@ -/* - * parse.c - * - * parse dvi input - */ - -#include <X11/Xos.h> -#include <X11/IntrinsicP.h> -#include <X11/StringDefs.h> -#include <stdio.h> -#include <ctype.h> -#include "DviP.h" - -static int StopSeen = 0; -static ParseDrawFunction(), ParseDeviceControl(); -static push_env(), pop_env(); - -#define HorizontalMove(dw, delta) ((dw)->dvi.state->x += (delta)) - - -ParseInput(dw) - register DviWidget dw; -{ - int n, k; - int c; - char Buffer[BUFSIZ]; - int NextPage; - int otherc; - - StopSeen = 0; - - /* - * make sure some state exists - */ - - if (!dw->dvi.state) - push_env (dw); - for (;;) { - switch (DviGetC(dw, &c)) { - case '\n': - break; - case ' ': /* when input is text */ - case 0: /* occasional noise creeps in */ - break; - case '{': /* push down current environment */ - push_env(dw); - break; - case '}': - pop_env(dw); - break; - /* - * two motion digits plus a character - */ - case '0': case '1': case '2': case '3': case '4': - case '5': case '6': case '7': case '8': case '9': - HorizontalMove(dw, (c-'0')*10 + - DviGetC(dw,&otherc)-'0'); - /* fall through */ - case 'c': /* single ascii character */ - DviGetC(dw,&c); - if (c == ' ') - break; - Buffer[0] = c; - Buffer[1] = '\0'; - (void) PutCharacter (dw, Buffer); - break; - case 'C': - GetWord (dw, Buffer, BUFSIZ); - (void) PutCharacter (dw, Buffer); - break; - case 't': - Buffer[1] = '\0'; - while (DviGetC (dw, &c) != EOF - && c != ' ' && c != '\n') { - Buffer[0] = c; - HorizontalMove (dw, PutCharacter (dw, Buffer)); - } - break; - case 'u': - n = GetNumber(dw); - Buffer[1] = '\0'; - while (DviGetC (dw, &c) == ' ') - ; - while (c != EOF && c != ' ' && c != '\n') { - Buffer[0] = c; - HorizontalMove (dw, - PutCharacter (dw, Buffer) + n); - DviGetC (dw, &c); - } - break; - - case 'D': /* draw function */ - (void) GetLine(dw, Buffer, BUFSIZ); - if (dw->dvi.display_enable) - ParseDrawFunction(dw, Buffer); - break; - case 's': /* ignore fractional sizes */ - n = GetNumber(dw); - dw->dvi.state->font_size = n; - break; - case 'f': - n = GetNumber(dw); - dw->dvi.state->font_number = n; - break; - case 'H': /* absolute horizontal motion */ - k = GetNumber(dw); - HorizontalGoto(dw, k); - break; - case 'h': /* relative horizontal motion */ - k = GetNumber(dw); - HorizontalMove(dw, k); - break; - case 'w': /* word space */ - Word (dw); - break; - case 'V': - n = GetNumber(dw); - VerticalGoto(dw, n); - break; - case 'v': - n = GetNumber(dw); - VerticalMove(dw, n); - break; - case 'P': /* new spread */ - break; - case 'p': /* new page */ - (void) GetNumber(dw); - NextPage = dw->dvi.current_page + 1; - RememberPagePosition(dw, NextPage); - FlushCharCache (dw); - return(NextPage); - case 'N': - n = GetNumber(dw); - PutNumberedCharacter (dw, n); - break; - case 'n': /* end of line */ - GetNumber(dw); - GetNumber(dw); - Newline (dw); - HorizontalGoto(dw, 0); - break; - case 'F': /* input files */ - case '+': /* continuation of X device control */ - case 'm': /* color */ - case '#': /* comment */ - GetLine(dw, NULL, 0); - break; - case 'x': /* device control */ - ParseDeviceControl(dw); - break; - case EOF: - dw->dvi.last_page = dw->dvi.current_page; - FlushCharCache (dw); - return dw->dvi.current_page; - default: - break; - } - } -} - -static -push_env(dw) - DviWidget dw; -{ - DviState *new; - - new = (DviState *) XtMalloc (sizeof (*new)); - if (dw->dvi.state) - *new = *(dw->dvi.state); - else { - new->font_size = 10; - new->font_number = 1; - new->x = 0; - new->y = 0; - } - new->next = dw->dvi.state; - dw->dvi.state = new; -} - -static -pop_env(dw) - DviWidget dw; -{ - DviState *old; - - old = dw->dvi.state; - dw->dvi.state = old->next; - XtFree ((char *) old); -} - -static -InitTypesetter (dw) - DviWidget dw; -{ - while (dw->dvi.state) - pop_env (dw); - push_env (dw); - FlushCharCache (dw); -} - -#define DRAW_ARGS_MAX 128 - -static -ParseDrawFunction(dw, buf) -DviWidget dw; -char *buf; -{ - int v[DRAW_ARGS_MAX]; - int i, no_move = 0; - char *ptr; - - v[0] = v[1] = v[2] = v[3] = 0; - - if (buf[0] == '\0') - return; - ptr = buf+1; - - for (i = 0; i < DRAW_ARGS_MAX; i++) { - if (sscanf(ptr, "%d", v + i) != 1) - break; - while (*ptr == ' ') - ptr++; - while (*ptr != '\0' && *ptr != ' ') - ptr++; - } - - switch (buf[0]) { - case 'l': /* draw a line */ - DrawLine(dw, v[0], v[1]); - break; - case 'c': /* circle */ - DrawCircle(dw, v[0]); - break; - case 'C': - DrawFilledCircle(dw, v[0]); - break; - case 'e': /* ellipse */ - DrawEllipse(dw, v[0], v[1]); - break; - case 'E': - DrawFilledEllipse(dw, v[0], v[1]); - break; - case 'a': /* arc */ - DrawArc(dw, v[0], v[1], v[2], v[3]); - break; - case 'p': - DrawPolygon(dw, v, i); - break; - case 'P': - DrawFilledPolygon(dw, v, i); - break; - case '~': /* wiggly line */ - DrawSpline(dw, v, i); - break; - case 't': - dw->dvi.line_thickness = v[0]; - break; - case 'f': - if (i > 0 && v[0] >= 0 && v[0] <= DVI_FILL_MAX) - dw->dvi.fill = v[0]; - no_move = 1; - break; - default: -#if 0 - warning("unknown drawing function %s", buf); -#endif - no_move = 1; - break; - } - - if (!no_move) { - if (buf[0] == 'e') { - if (i > 0) - dw->dvi.state->x += v[0]; - } - else { - while (--i >= 0) { - if (i & 1) - dw->dvi.state->y += v[i]; - else - dw->dvi.state->x += v[i]; - } - } - } -} - -static -ParseDeviceControl(dw) /* Parse the x commands */ - DviWidget dw; -{ - char str[20], str1[50]; - int c, n; - extern int LastPage, CurrentPage; - - GetWord (dw, str, 20); - switch (str[0]) { /* crude for now */ - case 'T': /* output device */ - GetWord (dw, str, 20); - SetDevice (dw, str); - break; - case 'i': /* initialize */ - InitTypesetter (dw); - break; - case 't': /* trailer */ - break; - case 'p': /* pause -- can restart */ - break; - case 's': /* stop */ - StopSeen = 1; - return; - case 'r': /* resolution when prepared */ - break; - case 'f': /* font used */ - n = GetNumber (dw); - GetWord (dw, str, 20); - GetLine (dw, str1, 50); - SetFontPosition (dw, n, str, str1); - break; - case 'H': /* char height */ - break; - case 'S': /* slant */ - break; - } - while (DviGetC (dw, &c) != '\n') /* skip rest of input line */ - if (c == EOF) - return; - return; -} - - -/* -Local Variables: -c-indent-level: 8 -c-continued-statement-offset: 8 -c-brace-offset: -8 -c-argdecl-indent: 8 -c-label-offset: -8 -c-tab-always-indent: nil -End: -*/ diff --git a/contrib/groff/src/xditview/xdit.bm b/contrib/groff/src/xditview/xdit.bm deleted file mode 100644 index 67b9c8a..0000000 --- a/contrib/groff/src/xditview/xdit.bm +++ /dev/null @@ -1,14 +0,0 @@ -#define xdit_width 32 -#define xdit_height 32 -static char xdit_bits[] = { - 0x00, 0x00, 0x00, 0x00, 0xfe, 0xff, 0xff, 0x03, 0x02, 0x00, 0x00, 0x02, - 0x8a, 0xa2, 0xfc, 0x03, 0x52, 0x14, 0x03, 0x04, 0x02, 0x80, 0x00, 0x08, - 0x52, 0x54, 0x00, 0x10, 0x8a, 0x22, 0x8f, 0x23, 0x02, 0x20, 0x06, 0x21, - 0x8a, 0x12, 0x8c, 0x40, 0x52, 0x14, 0x8c, 0x40, 0x02, 0x10, 0x58, 0x40, - 0x52, 0x14, 0x30, 0x40, 0x8a, 0x12, 0x30, 0x40, 0x02, 0x10, 0x70, 0x40, - 0x8a, 0x12, 0xc8, 0x40, 0x52, 0x24, 0xc4, 0xe0, 0x02, 0x20, 0x84, 0xe1, - 0x52, 0x54, 0xce, 0xf3, 0x8a, 0xa2, 0x00, 0xf8, 0x02, 0x00, 0x03, 0xfc, - 0x8a, 0x22, 0xfc, 0xf3, 0x52, 0x14, 0x00, 0xc2, 0x02, 0x00, 0x00, 0x02, - 0x52, 0x14, 0x45, 0x02, 0x8a, 0xa2, 0x28, 0x02, 0x02, 0x00, 0x00, 0x02, - 0x02, 0x00, 0x00, 0x02, 0xfe, 0xff, 0xff, 0x03, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; diff --git a/contrib/groff/src/xditview/xdit_mask.bm b/contrib/groff/src/xditview/xdit_mask.bm deleted file mode 100644 index f34a4f8..0000000 --- a/contrib/groff/src/xditview/xdit_mask.bm +++ /dev/null @@ -1,14 +0,0 @@ -#define xdit_mask_width 32 -#define xdit_mask_height 32 -static char xdit_mask_bits[] = { - 0xff, 0xff, 0xff, 0x07, 0xff, 0xff, 0xff, 0x07, 0xff, 0xff, 0xff, 0x07, - 0xff, 0xff, 0xff, 0x07, 0xff, 0xff, 0xff, 0x0f, 0xff, 0xff, 0xff, 0x1f, - 0xff, 0xff, 0xff, 0x3f, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0x7f, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xff, 0xff, 0xff, 0xc7, - 0xff, 0xff, 0xff, 0x07, 0xff, 0xff, 0xff, 0x07, 0xff, 0xff, 0xff, 0x07, - 0xff, 0xff, 0xff, 0x07, 0xff, 0xff, 0xff, 0x07, 0xff, 0xff, 0xff, 0x07, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; diff --git a/contrib/groff/src/xditview/xditview.c b/contrib/groff/src/xditview/xditview.c deleted file mode 100644 index 75b7fd1..0000000 --- a/contrib/groff/src/xditview/xditview.c +++ /dev/null @@ -1,596 +0,0 @@ -/* - * Copyright 1991 Massachusetts Institute of Technology - * - * Permission to use, copy, modify, distribute, and sell this software and its - * documentation for any purpose is hereby granted without fee, provided that - * the above copyright notice appear in all copies and that both that - * copyright notice and this permission notice appear in supporting - * documentation, and that the name of M.I.T. not be used in advertising or - * publicity pertaining to distribution of the software without specific, - * written prior permission. M.I.T. makes no representations about the - * suitability of this software for any purpose. It is provided "as is" - * without express or implied warranty. - * - * M.I.T. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL M.I.T. - * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION - * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN - * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - * - */ -/* - * xditview -- - * - * Display ditroff output in an X window - */ - -#ifndef SABER -#ifndef lint -static char rcsid[] = "$XConsortium: xditview.c,v 1.17 89/12/10 17:05:08 rws Exp $"; -#endif /* lint */ -#endif /* SABER */ - -#include <X11/Xatom.h> -#include <X11/Xlib.h> -#include <X11/Xos.h> -#include <X11/Intrinsic.h> -#include <X11/StringDefs.h> -#include <X11/Shell.h> -#include <X11/Xaw/Paned.h> -#include <X11/Xaw/Viewport.h> -#include <X11/Xaw/Box.h> -#include <X11/Xaw/Command.h> -#include <X11/Xaw/Dialog.h> -#include <X11/Xaw/Label.h> -#include <X11/Xaw/SimpleMenu.h> -#include <X11/Xaw/SmeBSB.h> - -#include <signal.h> - -#include "Dvi.h" - -#include "xdit.bm" -#include "xdit_mask.bm" -#include "stdio.h" - -extern FILE *popen(); -extern void exit(); - -static String fallback_resources[] = { -#include "GXditview-ad.h" - NULL -}; - -static struct app_resources { - char *print_command; - char *filename; -} app_resources; - -#define offset(field) XtOffset(struct app_resources *, field) - -/* Application resources. */ - -static XtResource resources[] = { - {"printCommand", "PrintCommand", XtRString, sizeof(char*), - offset(print_command), XtRString, NULL}, - {"filename", "Filename", XtRString, sizeof(char*), - offset(filename), XtRString, NULL}, -}; - -#undef offset - -/* Command line options table. Only resources are entered here...there is a - pass over the remaining options after XtParseCommand is let loose. */ - -static XrmOptionDescRec options[] = { -{"-page", "*dvi.pageNumber", XrmoptionSepArg, NULL}, -{"-backingStore", "*dvi.backingStore", XrmoptionSepArg, NULL}, -{"-resolution", "*dvi.resolution", XrmoptionSepArg, NULL}, -{"-printCommand", ".printCommand", XrmoptionSepArg, NULL}, -{"-filename", ".filename", XrmoptionSepArg, NULL}, -{"-noPolyText", "*dvi.noPolyText", XrmoptionNoArg, "TRUE"}, -}; - -static char current_print_command[1024]; - -static char current_file_name[1024]; -static FILE *current_file; - -/* - * Report the syntax for calling xditview. - */ - -static -Syntax(call) - char *call; -{ - (void) printf ("Usage: %s [-fg <color>] [-bg <color>]\n", call); - (void) printf (" [-bd <color>] [-bw <pixels>] [-help]\n"); - (void) printf (" [-display displayname] [-geometry geom]\n"); - (void) printf (" [-page <page-number>] [-backing <backing-store>]\n"); - (void) printf (" [-resolution <res>] [-print <command>]\n"); - (void) printf (" [-filename <file>] [filename]\n\n"); - exit(1); -} - -static void NewFile (), SetPageNumber (); -static Widget toplevel, paned, viewport, dvi; -static Widget page; -static Widget simpleMenu; - -static void NextPage(), PreviousPage(), SelectPage(), OpenFile(), Quit(); -static void Print(); - -static struct menuEntry { - char *name; - void (*function)(); -} menuEntries[] = { - "nextPage", NextPage, - "previousPage", PreviousPage, - "selectPage", SelectPage, - "print", Print, - "openFile", OpenFile, - "quit", Quit, -}; - -static void NextPageAction(), PreviousPageAction(), SelectPageAction(); -static void OpenFileAction(), QuitAction(); -static void AcceptAction(), CancelAction(); -static void PrintAction(); -static void RerasterizeAction(); - -XtActionsRec xditview_actions[] = { - "NextPage", NextPageAction, - "PreviousPage", PreviousPageAction, - "SelectPage", SelectPageAction, - "Print", PrintAction, - "OpenFile", OpenFileAction, - "Rerasterize", RerasterizeAction, - "Quit", QuitAction, - "Accept", AcceptAction, - "Cancel", CancelAction, -}; - -#define MenuNextPage 0 -#define MenuPreviousPage 1 -#define MenuSelectPage 2 -#define MenuPrint 3 -#define MenuOpenFile 4 -#define MenuQuit 5 - -static char pageLabel[256] = "Page <none>"; - -int main(argc, argv) - int argc; - char **argv; -{ - char *file_name = 0; - int i; - static Arg labelArgs[] = { - {XtNlabel, (XtArgVal) pageLabel}, - }; - XtAppContext xtcontext; - Arg topLevelArgs[2]; - Widget entry; - Arg pageNumberArgs[1]; - int page_number; - - toplevel = XtAppInitialize(&xtcontext, "GXditview", - options, XtNumber (options), - &argc, argv, fallback_resources, NULL, 0); - if (argc > 2 - || (argc == 2 && (!strcmp(argv[1], "-help") - || !strcmp(argv[1], "--help")))) - Syntax(argv[0]); - - XtGetApplicationResources(toplevel, (XtPointer)&app_resources, - resources, XtNumber(resources), - NULL, (Cardinal) 0); - if (app_resources.print_command) - strcpy(current_print_command, app_resources.print_command); - - XtAppAddActions(xtcontext, xditview_actions, XtNumber (xditview_actions)); - - XtSetArg (topLevelArgs[0], XtNiconPixmap, - XCreateBitmapFromData (XtDisplay (toplevel), - XtScreen(toplevel)->root, - xdit_bits, xdit_width, xdit_height)); - - XtSetArg (topLevelArgs[1], XtNiconMask, - XCreateBitmapFromData (XtDisplay (toplevel), - XtScreen(toplevel)->root, - xdit_mask_bits, - xdit_mask_width, xdit_mask_height)); - XtSetValues (toplevel, topLevelArgs, 2); - if (argc > 1) - file_name = argv[1]; - - /* - * create the menu and insert the entries - */ - simpleMenu = XtCreatePopupShell ("menu", simpleMenuWidgetClass, toplevel, - NULL, 0); - for (i = 0; i < XtNumber (menuEntries); i++) { - entry = XtCreateManagedWidget(menuEntries[i].name, - smeBSBObjectClass, simpleMenu, - NULL, (Cardinal) 0); - XtAddCallback(entry, XtNcallback, menuEntries[i].function, NULL); - } - - paned = XtCreateManagedWidget("paned", panedWidgetClass, toplevel, - NULL, (Cardinal) 0); - viewport = XtCreateManagedWidget("viewport", viewportWidgetClass, paned, - NULL, (Cardinal) 0); - dvi = XtCreateManagedWidget ("dvi", dviWidgetClass, viewport, NULL, 0); - page = XtCreateManagedWidget ("label", labelWidgetClass, paned, - labelArgs, XtNumber (labelArgs)); - XtSetArg (pageNumberArgs[0], XtNpageNumber, &page_number); - XtGetValues (dvi, pageNumberArgs, 1); - if (file_name) - NewFile (file_name); - /* NewFile modifies current_file_name, so do this here. */ - if (app_resources.filename) - strcpy(current_file_name, app_resources.filename); - XtRealizeWidget (toplevel); - if (file_name) - SetPageNumber (page_number); - XtAppMainLoop(xtcontext); - return 0; -} - -static void -SetPageNumber (number) -{ - Arg arg[2]; - int actual_number, last_page; - - XtSetArg (arg[0], XtNpageNumber, number); - XtSetValues (dvi, arg, 1); - XtSetArg (arg[0], XtNpageNumber, &actual_number); - XtSetArg (arg[1], XtNlastPageNumber, &last_page); - XtGetValues (dvi, arg, 2); - if (actual_number == 0) - sprintf (pageLabel, "Page <none>"); - else if (last_page > 0) - sprintf (pageLabel, "Page %d of %d", actual_number, last_page); - else - sprintf (pageLabel, "Page %d", actual_number); - XtSetArg (arg[0], XtNlabel, pageLabel); - XtSetValues (page, arg, 1); -} - -static void -SelectPageNumber (number_string) -char *number_string; -{ - SetPageNumber (atoi(number_string)); -} - -static int hadFile = 0; - -static void -NewFile (name) -char *name; -{ - Arg arg[2]; - char *n; - FILE *new_file; - Boolean seek = 0; - - if (current_file) { - if (!strcmp (current_file_name, "-")) - ; - else if (current_file_name[0] == '|') - pclose (current_file); - else - fclose (current_file); - } - if (!strcmp (name, "-")) - new_file = stdin; - else if (name[0] == '|') - new_file = popen (name+1, "r"); - else { - new_file = fopen (name, "r"); - seek = 1; - } - if (!new_file) { - /* XXX display error message */ - return; - } - XtSetArg (arg[0], XtNfile, new_file); - XtSetArg (arg[1], XtNseek, seek); - XtSetValues (dvi, arg, 2); - if (hadFile || name[0] != '-' || name[1] != '\0') { - XtSetArg (arg[0], XtNtitle, name); - if (name[0] != '/' && (n = strrchr (name, '/'))) - n = n + 1; - else - n = name; - XtSetArg (arg[1], XtNiconName, n); - XtSetValues (toplevel, arg, 2); - } - hadFile = 1; - SelectPageNumber ("1"); - strcpy (current_file_name, name); - current_file = new_file; -} - -static char fileBuf[1024]; - -ResetMenuEntry (entry) - Widget entry; -{ - Arg arg[1]; - - XtSetArg (arg[0], XtNpopupOnEntry, entry); - XtSetValues (XtParent(entry) , arg, (Cardinal) 1); -} - -/*ARGSUSED*/ - -static void -NextPage (entry, name, data) - Widget entry; - caddr_t name, data; -{ - NextPageAction(); - ResetMenuEntry (entry); -} - -static void -NextPageAction () -{ - Arg args[1]; - int number; - - XtSetArg (args[0], XtNpageNumber, &number); - XtGetValues (dvi, args, 1); - SetPageNumber (number+1); -} - -/*ARGSUSED*/ - -static void -PreviousPage (entry, name, data) - Widget entry; - caddr_t name, data; -{ - PreviousPageAction (); - ResetMenuEntry (entry); -} - -static void -PreviousPageAction () -{ - Arg args[1]; - int number; - - XtSetArg (args[0], XtNpageNumber, &number); - XtGetValues (dvi, args, 1); - SetPageNumber (number-1); -} - -/* ARGSUSED */ - -static void -SelectPage (entry, name, data) - Widget entry; - caddr_t name, data; -{ - SelectPageAction (); - ResetMenuEntry (entry); -} - -static void -SelectPageAction () -{ - MakePrompt (toplevel, "Page number", SelectPageNumber, ""); -} - - -static void -DoPrint (name) - char *name; -{ - FILE *print_file; -#ifdef SIGNALRETURNSINT - int (*handler)(); -#else - void (*handler)(); -#endif - /* Avoid dieing because of an invalid command. */ - handler = signal(SIGPIPE, SIG_IGN); - - print_file = popen(name, "w"); - if (!print_file) - /* XXX print error message */ - return; - DviSaveToFile(dvi, print_file); - pclose(print_file); - signal(SIGPIPE, handler); - strcpy(current_print_command, name); -} - -static void -RerasterizeAction() -{ - Arg args[1]; - int number; - - if (current_file_name[0] == 0) { - /* XXX display an error message */ - return; - } - XtSetArg (args[0], XtNpageNumber, &number); - XtGetValues (dvi, args, 1); - NewFile(current_file_name); - SetPageNumber (number); -} - -/* ARGSUSED */ - -static void -Print (entry, name, data) - Widget entry; - caddr_t name, data; -{ - PrintAction (); - ResetMenuEntry (entry); -} - -static void -PrintAction () -{ - if (current_print_command[0]) - strcpy (fileBuf, current_print_command); - else - fileBuf[0] = '\0'; - MakePrompt (toplevel, "Print command:", DoPrint, fileBuf); -} - - -/* ARGSUSED */ - -static void -OpenFile (entry, name, data) - Widget entry; - caddr_t name, data; -{ - OpenFileAction (); - ResetMenuEntry (entry); -} - -static void -OpenFileAction () -{ - if (current_file_name[0]) - strcpy (fileBuf, current_file_name); - else - fileBuf[0] = '\0'; - MakePrompt (toplevel, "File to open:", NewFile, fileBuf); -} - -/* ARGSUSED */ - -static void -Quit (entry, closure, data) - Widget entry; - caddr_t closure, data; -{ - QuitAction (); -} - -static void -QuitAction () -{ - exit (0); -} - -Widget promptShell, promptDialog; -void (*promptfunction)(); - -/* ARGSUSED */ -static -void CancelAction (widget, event, params, num_params) - Widget widget; - XEvent *event; - String *params; - Cardinal *num_params; -{ - if (promptShell) { - XtSetKeyboardFocus(toplevel, (Widget) None); - XtDestroyWidget(promptShell); - promptShell = (Widget) 0; - } -} - -static -void AcceptAction (widget, event, params, num_params) - Widget widget; - XEvent *event; - String *params; - Cardinal *num_params; -{ - (*promptfunction)(XawDialogGetValueString(promptDialog)); - CancelAction (widget, event, params, num_params); -} - -MakePrompt(centerw, prompt, func, def) -Widget centerw; -char *prompt; -void (*func)(); -char *def; -{ - static Arg dialogArgs[] = { - {XtNlabel, 0}, - {XtNvalue, 0}, - }; - Arg valueArgs[1]; - Arg centerArgs[2]; - Position source_x, source_y; - Position dest_x, dest_y; - Dimension center_width, center_height; - Dimension prompt_width, prompt_height; - Widget valueWidget; - - CancelAction ((Widget)NULL, (XEvent *) 0, (String *) 0, (Cardinal *) 0); - promptShell = XtCreatePopupShell ("promptShell", transientShellWidgetClass, - toplevel, NULL, (Cardinal) 0); - dialogArgs[0].value = (XtArgVal)prompt; - dialogArgs[1].value = (XtArgVal)def; - promptDialog = XtCreateManagedWidget( "promptDialog", dialogWidgetClass, - promptShell, dialogArgs, XtNumber (dialogArgs)); - XawDialogAddButton(promptDialog, "accept", NULL, (caddr_t) 0); - XawDialogAddButton(promptDialog, "cancel", NULL, (caddr_t) 0); - valueWidget = XtNameToWidget (promptDialog, "value"); - if (valueWidget) { - XtSetArg (valueArgs[0], XtNresizable, TRUE); - XtSetValues (valueWidget, valueArgs, 1); - /* - * as resizable isn't set until just above, the - * default value will be displayed incorrectly. - * rectify the situation by resetting the values - */ - XtSetValues (promptDialog, dialogArgs, XtNumber (dialogArgs)); - } - XtSetKeyboardFocus (promptDialog, valueWidget); - XtSetKeyboardFocus (toplevel, valueWidget); - XtRealizeWidget (promptShell); - /* - * place the widget in the center of the "parent" - */ - XtSetArg (centerArgs[0], XtNwidth, ¢er_width); - XtSetArg (centerArgs[1], XtNheight, ¢er_height); - XtGetValues (centerw, centerArgs, 2); - XtSetArg (centerArgs[0], XtNwidth, &prompt_width); - XtSetArg (centerArgs[1], XtNheight, &prompt_height); - XtGetValues (promptShell, centerArgs, 2); - source_x = (center_width - prompt_width) / 2; - source_y = (center_height - prompt_height) / 3; - XtTranslateCoords (centerw, source_x, source_y, &dest_x, &dest_y); - XtSetArg (centerArgs[0], XtNx, dest_x); - XtSetArg (centerArgs[1], XtNy, dest_y); - XtSetValues (promptShell, centerArgs, 2); - XtMapWidget(promptShell); - promptfunction = func; -} - -/* For DviChar.c */ - -char *xmalloc(n) - int n; -{ - return XtMalloc(n); -} - -/* -Local Variables: -c-indent-level: 4 -c-continued-statement-offset: 4 -c-brace-offset: -4 -c-argdecl-indent: 4 -c-label-offset: -4 -c-tab-always-indent: nil -End: -*/ diff --git a/contrib/groff/src/xditview/xtotroff.c b/contrib/groff/src/xditview/xtotroff.c deleted file mode 100644 index 97cac0a..0000000 --- a/contrib/groff/src/xditview/xtotroff.c +++ /dev/null @@ -1,311 +0,0 @@ -/* - * xtotroff - * - * convert X font metrics into troff font metrics - */ - -#include <X11/Xlib.h> -#include <stdio.h> -#include <ctype.h> -#include <unistd.h> -#include <stdlib.h> -#include <fcntl.h> -#include "XFontName.h" -#include "DviChar.h" - -#ifdef X_NOT_STDC_ENV -char *malloc(); -#else -#include <stdlib.h> -#endif - -#define charWidth(fi,c) ((fi)->per_char[(c) - (fi)->min_char_or_byte2].width) -#define charHeight(fi,c) ((fi)->per_char[(c) - (fi)->min_char_or_byte2].ascent) -#define charDepth(fi,c) ((fi)->per_char[(c) - (fi)->min_char_or_byte2].descent) -#define charLBearing(fi,c) ((fi)->per_char[(c) - (fi)->min_char_or_byte2].lbearing) -#define charRBearing(fi,c) ((fi)->per_char[(c) - (fi)->min_char_or_byte2].rbearing) - -Display *dpy; -int groff_flag = 0; -unsigned resolution = 75; -unsigned point_size = 10; - -int charExists (fi, c) - XFontStruct *fi; - int c; -{ - XCharStruct *p; - - if (c < fi->min_char_or_byte2 || c > fi->max_char_or_byte2) - return 0; - p = fi->per_char + (c - fi->min_char_or_byte2); - return (p->lbearing != 0 || p->rbearing != 0 || p->width != 0 - || p->ascent != 0 || p->descent != 0 || p->attributes != 0); -} - -/* Canonicalize the font name by replacing scalable parts by *s. */ - -CanonicalizeFontName (font_name, canon_font_name) - char *font_name, *canon_font_name; -{ - unsigned int attributes; - XFontName parsed; - - if (!XParseFontName(font_name, &parsed, &attributes)) { - fprintf (stderr, "not a standard name: %s\n", font_name); - return 0; - } - - attributes &= ~(FontNamePixelSize|FontNameAverageWidth - |FontNamePointSize - |FontNameResolutionX|FontNameResolutionY); - XFormatFontName(&parsed, attributes, canon_font_name); - return 1; -} - -int FontNamesAmbiguous(font_name, names, count) -char *font_name; -char **names; -int count; -{ - char name1[2048], name2[2048]; - int i; - - if (count == 1) - return 0; - - for (i = 0; i < count; i++) { - if (!CanonicalizeFontName(names[i], i == 0 ? name1 : name2)) { - fprintf(stderr, "bad font name: %s\n", names[i]); - return 1; - } - if (i > 0 && strcmp(name1, name2) != 0) { - fprintf(stderr, "ambiguous font name: %s\n", font_name); - fprintf(stderr, " matches %s\n", names[0]); - fprintf(stderr, " and %s\n", names[i]); - return 1; - } - - } - return 0; -} - -MapFont (font_name, troff_name) - char *font_name; - char *troff_name; -{ - XFontStruct *fi; - int count; - char **names; - FILE *out; - int c; - unsigned int attributes; - XFontName parsed; - int j, k; - DviCharNameMap *char_map; - char encoding[256]; - char *s; - int wid; - char name_string[2048]; - - if (!XParseFontName(font_name, &parsed, &attributes)) { - fprintf (stderr, "not a standard name: %s\n", font_name); - return 0; - } - - attributes &= ~(FontNamePixelSize|FontNameAverageWidth); - attributes |= FontNameResolutionX; - attributes |= FontNameResolutionY; - attributes |= FontNamePointSize; - parsed.ResolutionX = resolution; - parsed.ResolutionY = resolution; - parsed.PointSize = point_size*10; - XFormatFontName(&parsed, attributes, name_string); - - names = XListFonts (dpy, name_string, 100000, &count); - if (count < 1) { - fprintf (stderr, "bad font name: %s\n", font_name); - return 0; - } - - if (FontNamesAmbiguous(font_name, names, count)) - return 0; - - XParseFontName(names[0], &parsed, &attributes); - sprintf (encoding, "%s-%s", parsed.CharSetRegistry, - parsed.CharSetEncoding); - for (s = encoding; *s; s++) - if (isupper (*s)) - *s = tolower (*s); - char_map = DviFindMap (encoding); - if (!char_map) { - fprintf (stderr, "not a standard encoding: %s\n", encoding); - return 0; - } - - fi = XLoadQueryFont (dpy, names[0]); - if (!fi) { - fprintf (stderr, "font does not exist: %s\n", names[0]); - return 0; - } - - printf ("%s -> %s\n", names[0], troff_name); - - { /* Avoid race while opening file */ - int fd; - (void) unlink (troff_name); - fd = open (troff_name, O_WRONLY | O_CREAT | O_EXCL, 0600); - out = fdopen (fd, "w"); - } - - if (!out) { - perror (troff_name); - return 0; - } - fprintf (out, "name %s\n", troff_name); - if (!strcmp (char_map->encoding, "adobe-fontspecific")) - fprintf (out, "special\n"); - if (charExists (fi, ' ')) { - int w = charWidth (fi, ' '); - if (w > 0) - fprintf (out, "spacewidth %d\n", w); - } - fprintf (out, "charset\n"); - for (c = fi->min_char_or_byte2; c <= fi->max_char_or_byte2; c++) { - char *name = DviCharName (char_map,c,0); - if (charExists (fi, c) && (groff_flag || name)) { - - wid = charWidth (fi, c); - - fprintf (out, "%s\t%d", - name ? name : "---", - wid); - if (groff_flag) { - int param[5]; - param[0] = charHeight (fi, c); - param[1] = charDepth (fi, c); - param[2] = 0 /* charRBearing (fi, c) - wid */; - param[3] = 0 /* charLBearing (fi, c) */; - param[4] = 0; /* XXX */ - for (j = 0; j < 5; j++) - if (param[j] < 0) - param[j] = 0; - for (j = 4; j >= 0; j--) - if (param[j] != 0) - break; - for (k = 0; k <= j; k++) - fprintf (out, ",%d", param[k]); - } - fprintf (out, "\t0\t0%o\n", c); - - if (name) { - for (k = 1; DviCharName(char_map,c,k); k++) { - fprintf (out, "%s\t\"\n", - DviCharName (char_map,c,k)); - } - } - } - } - XUnloadFont (dpy, fi->fid); - fclose (out); - return 1; -} - -static usage(prog) - char *prog; -{ - fprintf (stderr, - "usage: %s [-g] [-r resolution] [-s pointsize] FontMap\n", - prog); - exit (1); -} - - -/* For use by DviChar.c */ - -char *xmalloc(n) -int n; -{ - char *p = malloc(n); - if (!p) { - fprintf(stderr, "Out of memory\n"); - exit(1); - } - return p; -} - -main (argc, argv) - char **argv; -{ - char troff_name[1024]; - char font_name[1024]; - char line[1024]; - char *a, *b, c; - int position; - FILE *map; - int opt; - extern int optind; - extern char *optarg; - - while ((opt = getopt(argc, argv, "gr:s:")) != EOF) { - switch (opt) { - case 'g': - groff_flag = 1; - break; - case 'r': - sscanf(optarg, "%u", &resolution); - break; - case 's': - sscanf(optarg, "%u", &point_size); - break; - default: - usage(argv[0]); - } - } - if (argc - optind != 1) - usage(argv[0]); - - dpy = XOpenDisplay (0); - if (!dpy) { - fprintf (stderr, "Can't connect to the X server.\n"); - fprintf (stderr, "Make sure the DISPLAY environment variable is set correctly.\n"); - exit (1); - } - position = 1; - - map = fopen (argv[optind], "r"); - if (map == NULL) { - perror (argv[optind]); - exit (1); - } - - while (fgets (line, sizeof (line), map)) { - for (a=line,b=troff_name; *a; a++,b++) { - c = (*b = *a); - if (c == ' ' || c == '\t') - break; - } - *b = '\0'; - while (*a && (*a == ' ' || *a == '\t')) - ++a; - for (b=font_name; *a; a++,b++) - if ((*b = *a) == '\n') - break; - *b = '\0'; - if (!MapFont (font_name, troff_name)) - exit (1); - ++position; - } - exit (0); -} - -/* -Local Variables: -c-indent-level: 8 -c-continued-statement-offset: 8 -c-brace-offset: -8 -c-argdecl-indent: 8 -c-label-offset: -8 -c-tab-always-indent: nil -End: -*/ |