home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1994 March / Source_Code_CD-ROM_Walnut_Creek_March_1994.iso / compsrcs / x / volume19 / xpt / part01 < prev    next >
Encoding:
Text File  |  1993-04-27  |  70.7 KB  |  1,705 lines

  1. Newsgroups: comp.sources.x
  2. From: lordj@rpi.edu (<lordj@rpi.edu>)
  3. Subject: v19i069:  xpt - An X Periodic Table, Part01/01
  4. Message-ID: <1993Mar29.150835.28804@sparky.imd.sterling.com>
  5. X-Md4-Signature: cc6d9b22330363a403f9eb7968855901
  6. Date: Mon, 29 Mar 1993 15:08:35 GMT
  7. Approved: chris@sparky.imd.sterling.com
  8.  
  9. Submitted-by: lordj@rpi.edu (<lordj@rpi.edu>)
  10. Posting-number: Volume 19, Issue 69
  11. Archive-name: xpt/part01
  12. Environment: X11
  13.  
  14. [There is no man page for this program.  It really doesn't need one.]
  15. [            -- Chris Olson                                         ]
  16.  
  17. xpt is a simple X-based periodic table, providing a bunch of useful,
  18. basic information at a click.
  19.  
  20. Joel Lord (lordj@rpi.edu)
  21. ---- cut here ----
  22. #! /bin/sh
  23. # This is a shell archive.  Remove anything before this line, then unpack
  24. # it by saving it into a file and typing "sh file".  To overwrite existing
  25. # files, type "sh file -c".  You can also feed this as standard input via
  26. # unshar, or by typing "sh <file", e.g..  If this archive is complete, you
  27. # will see the following message at the end:
  28. #        "End of shell archive."
  29. # Contents:  Imakefile Makefile Xprogs.c Xprogs.h fontlist.h init.c
  30. #   package table.c xpt.c xpt.h
  31. # Wrapped by lordj@vccsouth29.its.rpi.edu on Thu Mar 25 17:29:00 1993
  32. PATH=/bin:/usr/bin:/usr/ucb ; export PATH
  33. if test -f 'Imakefile' -a "${1}" != "-c" ; then 
  34.   echo shar: Will not clobber existing file \"'Imakefile'\"
  35. else
  36. echo shar: Extracting \"'Imakefile'\" \(331 characters\)
  37. sed "s/^X//" >'Imakefile' <<'END_OF_FILE'
  38. X# @(#)Imakefile 23.7 91/06/11
  39. X# Imakefile - xlock
  40. X#
  41. XTARGETS = xpt
  42. X
  43. XSRCS = xpt.c init.c Xprogs.c table.c
  44. X
  45. XOBJS = xpt.o init.o Xprogs.o table.o
  46. X
  47. XLCL_LIB = XawClientLibs
  48. XDEPLIBS = XawClientDepLibs
  49. XSYS_LIBRARIES = -lm
  50. X
  51. XAllTarget($(TARGETS))
  52. X
  53. XNormalProgramTarget($(TARGETS), $(OBJS), $(DEPLIBS), $(LCL_LIB), $(SYS_LIB))
  54. X
  55. XDependTarget()
  56. END_OF_FILE
  57. if test 331 -ne `wc -c <'Imakefile'`; then
  58.     echo shar: \"'Imakefile'\" unpacked with wrong size!
  59. fi
  60. # end of 'Imakefile'
  61. fi
  62. if test -f 'Makefile' -a "${1}" != "-c" ; then 
  63.   echo shar: Will not clobber existing file \"'Makefile'\"
  64. else
  65. echo shar: Extracting \"'Makefile'\" \(9984 characters\)
  66. sed "s/^X//" >'Makefile' <<'END_OF_FILE'
  67. X# Makefile generated by imake - do not edit!
  68. X# $XConsortium: imake.c,v 1.65 91/07/25 17:50:17 rws Exp $
  69. X#
  70. X# The cpp used on this machine replaces all newlines and multiple tabs and
  71. X# spaces in a macro expansion with a single space.  Imake tries to compensate
  72. X# for this, but is not always successful.
  73. X#
  74. X
  75. X# -------------------------------------------------------------------------
  76. X# Makefile generated from "Imake.tmpl" and </tmp/IIf.sYUBmj>
  77. X# $XConsortium: Imake.tmpl,v 1.139 91/09/16 08:52:48 rws Exp $
  78. X#
  79. X# Platform-specific parameters may be set in the appropriate <vendor>.cf
  80. X# configuration files.  Site-specific parameters should be set in the file
  81. X# site.def.  Full rebuilds are recommended if any parameters are changed.
  82. X#
  83. X# If your C preprocessor does not define any unique symbols, you will need
  84. X# to set BOOTSTRAPCFLAGS when rebuilding imake (usually when doing
  85. X# "make World" the first time).
  86. X#
  87. X
  88. X# -------------------------------------------------------------------------
  89. X# site-specific configuration parameters that need to come before
  90. X# the platform-specific parameters - edit site.def to change
  91. X
  92. X# site:  $XConsortium: site.def,v 1.2 91/07/30 20:26:44 rws Exp $
  93. X
  94. X# -------------------------------------------------------------------------
  95. X# platform-specific configuration parameters - edit ibm.cf to change
  96. X
  97. X# platform:  $XConsortium: ibm.cf,v 1.29 91/07/28 22:39:58 rws Exp $
  98. X
  99. X# operating system:  AIX 3.2
  100. X
  101. X# $XConsortium: ibmLib.rules,v 1.5 91/05/10 09:27:27 jap Exp $
  102. X
  103. X# -------------------------------------------------------------------------
  104. X# site-specific configuration parameters that go after
  105. X# the platform-specific parameters - edit site.def to change
  106. X
  107. X# site:  $XConsortium: site.def,v 1.2 91/07/30 20:26:44 rws Exp $
  108. X
  109. X            SHELL = /bin/sh
  110. X
  111. X              TOP = .
  112. X      CURRENT_DIR = .
  113. X
  114. X               AR = ar clq
  115. X  BOOTSTRAPCFLAGS =
  116. X               CC = cc
  117. X               AS = as
  118. X
  119. X         COMPRESS = compress
  120. X              CPP = /usr/lpp/X11/Xamples/util/cpp/cpp $(STD_CPP_DEFINES)
  121. X    PREPROCESSCMD = cc -E $(STD_CPP_DEFINES)
  122. X          INSTALL = /usr/ucb/install
  123. X               LD = ld
  124. X             LINT = lint
  125. X      LINTLIBFLAG = -o
  126. X         LINTOPTS = -ax
  127. X               LN = ln -s
  128. X             MAKE = make
  129. X               MV = mv
  130. X               CP = cp
  131. X
  132. X               RM = rm -f
  133. X            TROFF = psroff
  134. X         MSMACROS = -ms
  135. X              TBL = tbl
  136. X              EQN = eqn
  137. X     STD_INCLUDES =
  138. X  STD_CPP_DEFINES = -DSYSV -DAIXV3
  139. X      STD_DEFINES = -DSYSV -DAIXV3
  140. X EXTRA_LOAD_FLAGS = -bnodelcsect
  141. X  EXTRA_LIBRARIES =
  142. X             TAGS = ctags
  143. X
  144. X           MFLAGS = -$(MAKEFLAGS)
  145. X
  146. X    SHAREDCODEDEF = -DSHAREDCODE
  147. X         SHLIBDEF = -DAIXSHLIB
  148. X
  149. X    PROTO_DEFINES =
  150. X
  151. X     INSTPGMFLAGS =
  152. X
  153. X     INSTBINFLAGS = -m 0755
  154. X     INSTUIDFLAGS = -m 4755
  155. X     INSTLIBFLAGS = -m 0644
  156. X     INSTINCFLAGS = -m 0444
  157. X     INSTMANFLAGS = -m 0444
  158. X     INSTDATFLAGS = -m 0444
  159. X    INSTKMEMFLAGS = -m 4755
  160. X
  161. X      PROJECTROOT = /campus/X11/R5/core/1.0/@sys
  162. X
  163. X     TOP_INCLUDES = -I$(INCROOT)
  164. X
  165. X      CDEBUGFLAGS = -O
  166. X        CCOPTIONS =
  167. X
  168. X      ALLINCLUDES = $(INCLUDES) $(EXTRA_INCLUDES) $(TOP_INCLUDES) $(STD_INCLUDES)
  169. X       ALLDEFINES = $(ALLINCLUDES) $(STD_DEFINES) $(EXTRA_DEFINES) $(PROTO_DEFINES) $(DEFINES)
  170. X           CFLAGS = $(CDEBUGFLAGS) $(CCOPTIONS) $(ALLDEFINES)
  171. X        LINTFLAGS = $(LINTOPTS) -DLINT $(ALLDEFINES)
  172. X
  173. X           LDLIBS = $(SYS_LIBRARIES) $(EXTRA_LIBRARIES)
  174. X
  175. X        LDOPTIONS = $(CDEBUGFLAGS) $(CCOPTIONS) $(LOCAL_LDFLAGS) -L$(USRLIBDIR)
  176. X
  177. X   LDCOMBINEFLAGS = -r
  178. X      DEPENDFLAGS =
  179. X
  180. X        MACROFILE = ibm.cf
  181. X           RM_CMD = $(RM) *.CKP *.ln *.BAK *.bak *.o core errs ,* *~ *.a .emacs_* tags TAGS make.log MakeOut
  182. X
  183. X    IMAKE_DEFINES =
  184. X
  185. X         IRULESRC = $(CONFIGDIR)
  186. X        IMAKE_CMD = $(IMAKE) -DUseInstalled -I$(IRULESRC) $(IMAKE_DEFINES)
  187. X
  188. X     ICONFIGFILES = $(IRULESRC)/Imake.tmpl $(IRULESRC)/Imake.rules \
  189. X            $(IRULESRC)/Project.tmpl $(IRULESRC)/site.def \
  190. X            $(IRULESRC)/$(MACROFILE) $(EXTRA_ICONFIGFILES)
  191. X
  192. X# -------------------------------------------------------------------------
  193. X# X Window System Build Parameters
  194. X# $XConsortium: Project.tmpl,v 1.138.1.1 92/11/11 09:49:19 rws Exp $
  195. X
  196. X# -------------------------------------------------------------------------
  197. X# X Window System make variables; this need to be coordinated with rules
  198. X
  199. X          PATHSEP = /
  200. X        USRLIBDIR = /campus/X11/R5/core/1.0/@sys/lib
  201. X           BINDIR = /campus/X11/R5/core/1.0/@sys/bin
  202. X          INCROOT = /campus/X11/R5/core/1.0/@sys/include
  203. X     BUILDINCROOT = $(TOP)
  204. X      BUILDINCDIR = $(BUILDINCROOT)/X11
  205. X      BUILDINCTOP = ..
  206. X           INCDIR = $(INCROOT)/X11
  207. X           ADMDIR = /usr/adm
  208. X           LIBDIR = $(USRLIBDIR)/X11
  209. X        CONFIGDIR = $(LIBDIR)/config
  210. X       LINTLIBDIR = $(USRLIBDIR)/lint
  211. X
  212. X          FONTDIR = $(LIBDIR)/fonts
  213. X         XINITDIR = $(LIBDIR)/xinit
  214. X           XDMDIR = $(LIBDIR)/xdm
  215. X           TWMDIR = $(LIBDIR)/twm
  216. X          MANPATH = /campus/X11/R5/core/1.0/@sys/man
  217. X    MANSOURCEPATH = $(MANPATH)/man
  218. X        MANSUFFIX = 1
  219. X     LIBMANSUFFIX = 3
  220. X           MANDIR = $(MANSOURCEPATH)$(MANSUFFIX)
  221. X        LIBMANDIR = $(MANSOURCEPATH)$(LIBMANSUFFIX)
  222. X           NLSDIR = $(LIBDIR)/nls
  223. X        PEXAPIDIR = $(LIBDIR)/PEX
  224. X      XAPPLOADDIR = $(LIBDIR)/app-defaults
  225. X       FONTCFLAGS = -t
  226. X
  227. X     INSTAPPFLAGS = $(INSTDATFLAGS)
  228. X
  229. X            IMAKE = imake
  230. X           DEPEND = makedepend
  231. X              RGB = rgb
  232. X
  233. X            FONTC = bdftopcf
  234. X
  235. X        MKFONTDIR = mkfontdir
  236. X        MKDIRHIER = /bin/sh $(BINDIR)/mkdirhier
  237. X
  238. X        CONFIGSRC = $(TOP)/config
  239. X       DOCUTILSRC = $(TOP)/doc/util
  240. X        CLIENTSRC = $(TOP)/clients
  241. X          DEMOSRC = $(TOP)/demos
  242. X           LIBSRC = $(TOP)/lib
  243. X          FONTSRC = $(TOP)/fonts
  244. X       INCLUDESRC = $(TOP)/X11
  245. X        SERVERSRC = $(TOP)/server
  246. X          UTILSRC = $(TOP)/util
  247. X        SCRIPTSRC = $(UTILSRC)/scripts
  248. X       EXAMPLESRC = $(TOP)/examples
  249. X       CONTRIBSRC = $(TOP)/../contrib
  250. X           DOCSRC = $(TOP)/doc
  251. X           RGBSRC = $(TOP)/rgb
  252. X        DEPENDSRC = $(UTILSRC)/makedepend
  253. X         IMAKESRC = $(CONFIGSRC)
  254. X         XAUTHSRC = $(LIBSRC)/Xau
  255. X          XLIBSRC = $(LIBSRC)/X
  256. X           XMUSRC = $(LIBSRC)/Xmu
  257. X       TOOLKITSRC = $(LIBSRC)/Xt
  258. X       AWIDGETSRC = $(LIBSRC)/Xaw
  259. X       OLDXLIBSRC = $(LIBSRC)/oldX
  260. X      XDMCPLIBSRC = $(LIBSRC)/Xdmcp
  261. X      BDFTOSNFSRC = $(FONTSRC)/bdftosnf
  262. X      BDFTOSNFSRC = $(FONTSRC)/clients/bdftosnf
  263. X      BDFTOPCFSRC = $(FONTSRC)/clients/bdftopcf
  264. X     MKFONTDIRSRC = $(FONTSRC)/clients/mkfontdir
  265. X         FSLIBSRC = $(FONTSRC)/lib/fs
  266. X    FONTSERVERSRC = $(FONTSRC)/server
  267. X     EXTENSIONSRC = $(TOP)/extensions
  268. X         XILIBSRC = $(EXTENSIONSRC)/lib/xinput
  269. X        PEXLIBSRC = $(EXTENSIONSRC)/lib/PEXlib
  270. X      PHIGSLIBSRC = $(EXTENSIONSRC)/lib/PEX
  271. X
  272. X# $XConsortium: ibmLib.tmpl,v 1.2.1.1 92/11/11 09:50:49 rws Exp $
  273. X
  274. XPICFLAGS = -bM\:SRE
  275. X
  276. X  DEPEXTENSIONLIB =
  277. X     EXTENSIONLIB = -lXext
  278. X
  279. X          DEPXLIB = $(DEPEXTENSIONLIB)
  280. X             XLIB = $(EXTENSIONLIB) -lX11
  281. X
  282. X        DEPXMULIB =
  283. X           XMULIB = -lXmu
  284. X
  285. X       DEPOLDXLIB =
  286. X          OLDXLIB = -loldX
  287. X
  288. X      DEPXTOOLLIB = $(USRLIBDIR)/libXt.a
  289. X         XTOOLLIB = -lXt
  290. X
  291. X        DEPXAWLIB =
  292. X           XAWLIB = -lXaw
  293. X
  294. X        DEPXILIB =
  295. X           XILIB = -lXi
  296. X
  297. X        DEPPEXLIB =
  298. X           PEXLIB = -lPEX5
  299. X
  300. X        SOXLIBREV = SharedXlibRev
  301. X          SOXTREV = SharedXtRev
  302. X         SOXAWREV = SharedXawRev
  303. X        SOOLDXREV = SharedOldXRev
  304. X         SOXMUREV = SharedXmuRev
  305. X        SOXEXTREV = SharedXextRev
  306. X      SOXINPUTREV = SharedXinputRev
  307. X         SOPEXREV = SharedPexRev
  308. X
  309. X      DEPXAUTHLIB = $(USRLIBDIR)/libXau.a
  310. X         XAUTHLIB =  -lXau
  311. X      DEPXDMCPLIB = $(USRLIBDIR)/libXdmcp.a
  312. X         XDMCPLIB =  -lXdmcp
  313. X
  314. X        DEPPHIGSLIB = $(USRLIBDIR)/libphigs.a
  315. X           PHIGSLIB =  -lphigs
  316. X
  317. X       DEPXBSDLIB = $(USRLIBDIR)/libXbsd.a
  318. X          XBSDLIB =  -lXbsd
  319. X
  320. X LINTEXTENSIONLIB = $(LINTLIBDIR)/llib-lXext.ln
  321. X         LINTXLIB = $(LINTLIBDIR)/llib-lX11.ln
  322. X          LINTXMU = $(LINTLIBDIR)/llib-lXmu.ln
  323. X        LINTXTOOL = $(LINTLIBDIR)/llib-lXt.ln
  324. X          LINTXAW = $(LINTLIBDIR)/llib-lXaw.ln
  325. X           LINTXI = $(LINTLIBDIR)/llib-lXi.ln
  326. X          LINTPEX = $(LINTLIBDIR)/llib-lPEX5.ln
  327. X        LINTPHIGS = $(LINTLIBDIR)/llib-lphigs.ln
  328. X
  329. X          DEPLIBS = $(DEPXAWLIB) $(DEPXMULIB) $(DEPXTOOLLIB) $(DEPXLIB)
  330. X
  331. X         DEPLIBS1 = $(DEPLIBS)
  332. X         DEPLIBS2 = $(DEPLIBS)
  333. X         DEPLIBS3 = $(DEPLIBS)
  334. X
  335. X# -------------------------------------------------------------------------
  336. X# Imake rules for building libraries, programs, scripts, and data files
  337. X# rules:  $XConsortium: Imake.rules,v 1.123 91/09/16 20:12:16 rws Exp $
  338. X
  339. X# -------------------------------------------------------------------------
  340. X# start of Imakefile
  341. X
  342. X# @(#)Imakefile 23.7 91/06/11
  343. X# Imakefile - xlock
  344. X#
  345. XTARGETS = xpt
  346. X
  347. XSRCS = xpt.c init.c Xprogs.c table.c
  348. X
  349. XOBJS = xpt.o init.o Xprogs.o table.o
  350. X
  351. XLCL_LIB = $(XAWLIB) $(XMULIB) $(XTOOLLIB) $(XLIB)
  352. XDEPLIBS = $(DEPXAWLIB) $(DEPXMULIB) $(DEPXTOOLLIB) $(DEPXLIB)
  353. XSYS_LIBRARIES = -lm
  354. X
  355. Xall:: $(TARGETS)
  356. X
  357. X$(TARGETS):  $(OBJS)  $(DEPLIBS)
  358. X    $(RM) $@
  359. X    $(CC) -o $@  $(OBJS) $(LDOPTIONS)  $(LCL_LIB) $(LDLIBS)  $(SYS_LIB) $(EXTRA_LOAD_FLAGS)
  360. X
  361. Xclean::
  362. X    $(RM) $(TARGETS)
  363. X
  364. Xdepend::
  365. X    $(DEPEND) $(DEPENDFLAGS) -s "# DO NOT DELETE" -- $(ALLDEFINES) -- $(SRCS)
  366. X
  367. X# -------------------------------------------------------------------------
  368. X# common rules for all Makefiles - do not edit
  369. X
  370. Xemptyrule::
  371. X
  372. Xclean::
  373. X    $(RM_CMD) "#"*
  374. X
  375. XMakefile::
  376. X    -@if [ -f Makefile ]; then set -x; \
  377. X    $(RM) Makefile.bak; $(MV) Makefile Makefile.bak; \
  378. X    else exit 0; fi
  379. X    $(IMAKE_CMD) -DTOPDIR=$(TOP) -DCURDIR=$(CURRENT_DIR)
  380. X
  381. Xtags::
  382. X    $(TAGS) -w *.[ch]
  383. X    $(TAGS) -xw *.[ch] > TAGS
  384. X
  385. X# -------------------------------------------------------------------------
  386. X# empty rules for directories that do not have SUBDIRS - do not edit
  387. X
  388. Xinstall::
  389. X    @echo "install in $(CURRENT_DIR) done"
  390. X
  391. Xinstall.man::
  392. X    @echo "install.man in $(CURRENT_DIR) done"
  393. X
  394. XMakefiles::
  395. X
  396. Xincludes::
  397. X
  398. X# -------------------------------------------------------------------------
  399. X# dependencies generated by makedepend
  400. X
  401. END_OF_FILE
  402. if test 9984 -ne `wc -c <'Makefile'`; then
  403.     echo shar: \"'Makefile'\" unpacked with wrong size!
  404. fi
  405. # end of 'Makefile'
  406. fi
  407. if test -f 'Xprogs.c' -a "${1}" != "-c" ; then 
  408.   echo shar: Will not clobber existing file \"'Xprogs.c'\"
  409. else
  410. echo shar: Extracting \"'Xprogs.c'\" \(1678 characters\)
  411. sed "s/^X//" >'Xprogs.c' <<'END_OF_FILE'
  412. X/**
  413. X *
  414. X * xpt -- An X Periodic Table
  415. X *
  416. X *  Modularized X Windows functions
  417. X *
  418. X * GetColors(name, cmap, def)
  419. X *  Allocates color "name", or uses color "def" if "name" is unavailable
  420. X *  char *name        name of color to be allocated
  421. X *  Colormap cmap    colormap to get "name" from
  422. X *  unsigned long def    default color to use if "name" is unavailable
  423. X *                probably the output from a function like "BlackPixel"
  424. X *
  425. X * XFontStruct *GetFont(fontname)
  426. X *  Load a font for use in X Windows
  427. X *  char *fontname    name of font to load
  428. X *
  429. X * GC CreateGC(window, font, fgcolor, bgcolor)
  430. X *  Create a Graphics Context for a window
  431. X *  Window window;        the window to create the graphics context for
  432. X *  XFontStruct font;        The default font for the window
  433. X *  unsigned long fgcolor, bgcolor;
  434. X *
  435. X *  Joel P. Lord 03/05/93
  436. X *
  437. X**/
  438. X
  439. X#define Xprogs
  440. X#include "Xprogs.h"
  441. X
  442. Xunsigned long GetColors(name, cmap, def)
  443. Xchar *name;
  444. XColormap cmap;
  445. Xunsigned long def;
  446. X{
  447. X  XColor color;
  448. X  unsigned long retval;
  449. X
  450. X  if (XParseColor(p_disp, cmap, name, &color) == 0 || 
  451. X      XAllocColor(p_disp, cmap, &color) == 0)
  452. X    retval = def;
  453. X  else
  454. X    retval = color.pixel;
  455. X  return retval;
  456. X}
  457. X
  458. XXFontStruct *GetFont(fname)
  459. Xchar *fname;
  460. X{
  461. X  XFontStruct *tempfont;
  462. X
  463. X  if ((tempfont = XLoadQueryFont(p_disp,fname)) == NULL)
  464. X    {
  465. X      fputs("Can't open font",stderr);
  466. X      fputs(fname,stderr);
  467. X      exit(1);
  468. X    }
  469. X  return tempfont;
  470. X}
  471. X
  472. XGC CreateGC(wind, fntstruct, fgpix, bgpix)
  473. XWindow wind;
  474. XXFontStruct *fntstruct;
  475. Xunsigned long fgpix, bgpix;
  476. X{
  477. X  XGCValues gcv;
  478. X
  479. X  gcv.font = fntstruct->fid;
  480. X  gcv.foreground = fgpix;
  481. X  gcv.background = bgpix;
  482. X
  483. X  return(XCreateGC(p_disp, wind, (GCFont | GCForeground | GCBackground), &gcv));
  484. X}
  485. END_OF_FILE
  486. if test 1678 -ne `wc -c <'Xprogs.c'`; then
  487.     echo shar: \"'Xprogs.c'\" unpacked with wrong size!
  488. fi
  489. # end of 'Xprogs.c'
  490. fi
  491. if test -f 'Xprogs.h' -a "${1}" != "-c" ; then 
  492.   echo shar: Will not clobber existing file \"'Xprogs.h'\"
  493. else
  494. echo shar: Extracting \"'Xprogs.h'\" \(1242 characters\)
  495. sed "s/^X//" >'Xprogs.h' <<'END_OF_FILE'
  496. X/**
  497. X *
  498. X *  Definitions of some useful data types for Xlib programming,
  499. X *    as well as a few necessary variables (display name, etc)
  500. X *
  501. X *
  502. X *  Joel P. Lord 2/6/93
  503. X *
  504. X**/
  505. X
  506. X#include <stdio.h>
  507. X#include <string.h>
  508. X#include <X11/Xlib.h>
  509. X#include <X11/Xutil.h>
  510. X#include <X11/Xresource.h>
  511. X#include <X11/cursorfont.h>
  512. X#include <X11/keysym.h>
  513. X#include "fontlist.h"
  514. X
  515. X#define WP    WhitePixel(p_disp, DefaultScreen(p_disp))
  516. X#define BP    BlackPixel(p_disp, DefaultScreen(p_disp))
  517. X
  518. Xtypedef struct XWIN
  519. X{
  520. X  Window    xid;
  521. X  Window    parent;
  522. X  void        *data;
  523. X  void        (*event_handler)();
  524. X  GC        button_gc;
  525. X} XWIN;
  526. X
  527. Xtypedef struct Pix
  528. X{
  529. X  Pixmap    image;
  530. X  unsigned    width;
  531. X  unsigned    height;
  532. X} Pix;
  533. X
  534. Xtypedef struct D_BUTTON
  535. X{
  536. X  char        *label;
  537. X  int        (*action)();
  538. X  caddr_t    action_args;
  539. X  Pix        *pix;
  540. X} D_BUTTON;
  541. X
  542. X#ifdef MAIN
  543. X
  544. XXFontStruct *mfontstruct;
  545. Xunsigned mfontheight;
  546. XDisplay *p_disp;
  547. XWindow Main;
  548. XGC theGC;
  549. XXEvent theEvent;
  550. Xchar default_geometry[80];
  551. Xunsigned long mbgpix, mfgpix;
  552. XXContext xwin_context;
  553. X
  554. X#else
  555. X
  556. Xextern XFontStruct *mfontstruct;
  557. Xextern unsigned mfontheight;
  558. Xextern Display *p_disp;
  559. Xextern Window Main;
  560. Xextern GC theGC;
  561. Xextern XEvent theEvent;
  562. Xextern char default_geometry[80];
  563. Xextern unsigned long mbgpix, mfgpix;
  564. Xextern XContext xwin_context;
  565. X
  566. X#endif
  567. END_OF_FILE
  568. if test 1242 -ne `wc -c <'Xprogs.h'`; then
  569.     echo shar: \"'Xprogs.h'\" unpacked with wrong size!
  570. fi
  571. # end of 'Xprogs.h'
  572. fi
  573. if test -f 'fontlist.h' -a "${1}" != "-c" ; then 
  574.   echo shar: Will not clobber existing file \"'fontlist.h'\"
  575. else
  576. echo shar: Extracting \"'fontlist.h'\" \(29524 characters\)
  577. sed "s/^X//" >'fontlist.h' <<'END_OF_FILE'
  578. X#define COURIER_ITALIC_BOLD_10    "-adobe-courier-bold-o-normal--10-100-75-75-m-60-iso8859-1"
  579. X#define COURIER_ITALIC_BOLD_11    "-adobe-courier-bold-o-normal--11-80-100-100-m-60-iso8859-1"
  580. X#define COURIER_ITALIC_BOLD_12    "-adobe-courier-bold-o-normal--12-120-75-75-m-70-iso8859-1"
  581. X#define COURIER_ITALIC_BOLD_14    "-adobe-courier-bold-o-normal--14-100-100-100-m-90-iso8859-1"
  582. X#define COURIER_ITALIC_BOLD_14a    "-adobe-courier-bold-o-normal--14-140-75-75-m-90-iso8859-1"
  583. X#define COURIER_ITALIC_BOLD_17    "-adobe-courier-bold-o-normal--17-120-100-100-m-100-iso8859-1"
  584. X#define COURIER_ITALIC_BOLD_18    "-adobe-courier-bold-o-normal--18-180-75-75-m-110-iso8859-1"
  585. X#define COURIER_ITALIC_BOLD_20    "-adobe-courier-bold-o-normal--20-140-100-100-m-110-iso8859-1"
  586. X#define COURIER_ITALIC_BOLD_24    "-adobe-courier-bold-o-normal--24-240-75-75-m-150-iso8859-1"
  587. X#define COURIER_ITALIC_BOLD_25    "-adobe-courier-bold-o-normal--25-180-100-100-m-150-iso8859-1"
  588. X#define COURIER_ITALIC_BOLD_34    "-adobe-courier-bold-o-normal--34-240-100-100-m-200-iso8859-1"
  589. X#define COURIER_ITALIC_BOLD_8    "-adobe-courier-bold-o-normal--8-80-75-75-m-50-iso8859-1"
  590. X#define COURIER_BOLD_10        "-adobe-courier-bold-r-normal--10-100-75-75-m-60-iso8859-1"
  591. X#define COURIER_BOLD_11        "-adobe-courier-bold-r-normal--11-80-100-100-m-60-iso8859-1"
  592. X#define COURIER_BOLD_12        "-adobe-courier-bold-r-normal--12-120-75-75-m-70-iso8859-1"
  593. X#define COURIER_BOLD_14        "-adobe-courier-bold-r-normal--14-100-100-100-m-90-iso8859-1"
  594. X#define COURIER_BOLD_14a    "-adobe-courier-bold-r-normal--14-140-75-75-m-90-iso8859-1"
  595. X#define COURIER_BOLD_17        "-adobe-courier-bold-r-normal--17-120-100-100-m-100-iso8859-1"
  596. X#define COURIER_BOLD_18        "-adobe-courier-bold-r-normal--18-180-75-75-m-110-iso8859-1"
  597. X#define COURIER_BOLD_20        "-adobe-courier-bold-r-normal--20-140-100-100-m-110-iso8859-1"
  598. X#define COURIER_BOLD_24        "-adobe-courier-bold-r-normal--24-240-75-75-m-150-iso8859-1"
  599. X#define COURIER_BOLD_25        "-adobe-courier-bold-r-normal--25-180-100-100-m-150-iso8859-1"
  600. X#define COURIER_BOLD_34        "-adobe-courier-bold-r-normal--34-240-100-100-m-200-iso8859-1"
  601. X#define COURIER_BOLD_8        "-adobe-courier-bold-r-normal--8-80-75-75-m-50-iso8859-1"
  602. X#define COURIER_ITALIC_MEDIUM_10    "-adobe-courier-medium-o-normal--10-100-75-75-m-60-iso8859-1"
  603. X#define COURIER_ITALIC_MEDIUM_11    "-adobe-courier-medium-o-normal--11-80-100-100-m-60-iso8859-1"
  604. X#define COURIER_ITALIC_MEDIUM_12    "-adobe-courier-medium-o-normal--12-120-75-75-m-70-iso8859-1"
  605. X#define COURIER_ITALIC_MEDIUM_14    "-adobe-courier-medium-o-normal--14-100-100-100-m-90-iso8859-1"
  606. X#define COURIER_ITALIC_MEDIUM_14a    "-adobe-courier-medium-o-normal--14-140-75-75-m-90-iso8859-1"
  607. X#define COURIER_ITALIC_MEDIUM_17    "-adobe-courier-medium-o-normal--17-120-100-100-m-100-iso8859-1"
  608. X#define COURIER_ITALIC_MEDIUM_18    "-adobe-courier-medium-o-normal--18-180-75-75-m-110-iso8859-1"
  609. X#define COURIER_ITALIC_MEDIUM_20    "-adobe-courier-medium-o-normal--20-140-100-100-m-110-iso8859-1"
  610. X#define COURIER_ITALIC_MEDIUM_24    "-adobe-courier-medium-o-normal--24-240-75-75-m-150-iso8859-1"
  611. X#define COURIER_ITALIC_MEDIUM_25    "-adobe-courier-medium-o-normal--25-180-100-100-m-150-iso8859-1"
  612. X#define COURIER_ITALIC_MEDIUM_34    "-adobe-courier-medium-o-normal--34-240-100-100-m-200-iso8859-1"
  613. X#define COURIER_ITALIC_MEDIUM_8    "-adobe-courier-medium-o-normal--8-80-75-75-m-50-iso8859-1"
  614. X#define COURIER_MEDIUM_10    "-adobe-courier-medium-r-normal--10-100-75-75-m-60-iso8859-1"
  615. X#define COURIER_MEDIUM_11    "-adobe-courier-medium-r-normal--11-80-100-100-m-60-iso8859-1"
  616. X#define COURIER_MEDIUM_12    "-adobe-courier-medium-r-normal--12-120-75-75-m-70-iso8859-1"
  617. X#define COURIER_MEDIUM_14    "-adobe-courier-medium-r-normal--14-100-100-100-m-90-iso8859-1"
  618. X#define COURIER_MEDIUM_14a    "-adobe-courier-medium-r-normal--14-140-75-75-m-90-iso8859-1"
  619. X#define COURIER_MEDIUM_17    "-adobe-courier-medium-r-normal--17-120-100-100-m-100-iso8859-1"
  620. X#define COURIER_MEDIUM_18    "-adobe-courier-medium-r-normal--18-180-75-75-m-110-iso8859-1"
  621. X#define COURIER_MEDIUM_20    "-adobe-courier-medium-r-normal--20-140-100-100-m-110-iso8859-1"
  622. X#define COURIER_MEDIUM_24    "-adobe-courier-medium-r-normal--24-240-75-75-m-150-iso8859-1"
  623. X#define COURIER_MEDIUM_25    "-adobe-courier-medium-r-normal--25-180-100-100-m-150-iso8859-1"
  624. X#define COURIER_MEDIUM_34    "-adobe-courier-medium-r-normal--34-240-100-100-m-200-iso8859-1"
  625. X#define COURIER_MEDIUM_8    "-adobe-courier-medium-r-normal--8-80-75-75-m-50-iso8859-1"
  626. X#define HELV_ITALIC_BOLD_10    "-adobe-helvetica-bold-o-normal--10-100-75-75-p-60-iso8859-1"
  627. X#define HELV_ITALIC_BOLD_11    "-adobe-helvetica-bold-o-normal--11-80-100-100-p-60-iso8859-1"
  628. X#define HELV_ITALIC_BOLD_12    "-adobe-helvetica-bold-o-normal--12-120-75-75-p-69-iso8859-1"
  629. X#define HELV_ITALIC_BOLD_14    "-adobe-helvetica-bold-o-normal--14-100-100-100-p-82-iso8859-1"
  630. X#define HELV_ITALIC_BOLD_14a    "-adobe-helvetica-bold-o-normal--14-140-75-75-p-82-iso8859-1"
  631. X#define HELV_ITALIC_BOLD_17    "-adobe-helvetica-bold-o-normal--17-120-100-100-p-92-iso8859-1"
  632. X#define HELV_ITALIC_BOLD_18    "-adobe-helvetica-bold-o-normal--18-180-75-75-p-104-iso8859-1"
  633. X#define HELV_ITALIC_BOLD_20    "-adobe-helvetica-bold-o-normal--20-140-100-100-p-103-iso8859-1"
  634. X#define HELV_ITALIC_BOLD_24    "-adobe-helvetica-bold-o-normal--24-240-75-75-p-138-iso8859-1"
  635. X#define HELV_ITALIC_BOLD_25    "-adobe-helvetica-bold-o-normal--25-180-100-100-p-138-iso8859-1"
  636. X#define HELV_ITALIC_BOLD_34    "-adobe-helvetica-bold-o-normal--34-240-100-100-p-182-iso8859-1"
  637. X#define HELV_ITALIC_BOLD_8    "-adobe-helvetica-bold-o-normal--8-80-75-75-p-50-iso8859-1"
  638. X#define HELV_BOLD_10    "-adobe-helvetica-bold-r-normal--10-100-75-75-p-60-iso8859-1"
  639. X#define HELV_BOLD_11    "-adobe-helvetica-bold-r-normal--11-80-100-100-p-60-iso8859-1"
  640. X#define HELV_BOLD_12    "-adobe-helvetica-bold-r-normal--12-120-75-75-p-70-iso8859-1"
  641. X#define HELV_BOLD_14    "-adobe-helvetica-bold-r-normal--14-100-100-100-p-82-iso8859-1"
  642. X#define HELV_BOLD_14a    "-adobe-helvetica-bold-r-normal--14-140-75-75-p-82-iso8859-1"
  643. X#define HELV_BOLD_17    "-adobe-helvetica-bold-r-normal--17-120-100-100-p-92-iso8859-1"
  644. X#define HELV_BOLD_18    "-adobe-helvetica-bold-r-normal--18-180-75-75-p-103-iso8859-1"
  645. X#define HELV_BOLD_20    "-adobe-helvetica-bold-r-normal--20-140-100-100-p-105-iso8859-1"
  646. X#define HELV_BOLD_24    "-adobe-helvetica-bold-r-normal--24-240-75-75-p-138-iso8859-1"
  647. X#define HELV_BOLD_25    "-adobe-helvetica-bold-r-normal--25-180-100-100-p-138-iso8859-1"
  648. X#define HELV_BOLD_34    "-adobe-helvetica-bold-r-normal--34-240-100-100-p-182-iso8859-1"
  649. X#define HELV_BOLD_8    "-adobe-helvetica-bold-r-normal--8-80-75-75-p-50-iso8859-1"
  650. X#define HELV_ITALIC_MEDIUM_10    "-adobe-helvetica-medium-o-normal--10-100-75-75-p-57-iso8859-1"
  651. X#define HELV_ITALIC_MEDIUM_11    "-adobe-helvetica-medium-o-normal--11-80-100-100-p-57-iso8859-1"
  652. X#define HELV_ITALIC_MEDIUM_12    "-adobe-helvetica-medium-o-normal--12-120-75-75-p-67-iso8859-1"
  653. X#define HELV_ITALIC_MEDIUM_14    "-adobe-helvetica-medium-o-normal--14-100-100-100-p-78-iso8859-1"
  654. X#define HELV_ITALIC_MEDIUM_14a    "-adobe-helvetica-medium-o-normal--14-140-75-75-p-78-iso8859-1"
  655. X#define HELV_ITALIC_MEDIUM_17    "-adobe-helvetica-medium-o-normal--17-120-100-100-p-88-iso8859-1"
  656. X#define HELV_ITALIC_MEDIUM_18    "-adobe-helvetica-medium-o-normal--18-180-75-75-p-98-iso8859-1"
  657. X#define HELV_ITALIC_MEDIUM_20    "-adobe-helvetica-medium-o-normal--20-140-100-100-p-98-iso8859-1"
  658. X#define HELV_ITALIC_MEDIUM_24    "-adobe-helvetica-medium-o-normal--24-240-75-75-p-130-iso8859-1"
  659. X#define HELV_ITALIC_MEDIUM_25    "-adobe-helvetica-medium-o-normal--25-180-100-100-p-130-iso8859-1"
  660. X#define HELV_ITALIC_MEDIUM_34    "-adobe-helvetica-medium-o-normal--34-240-100-100-p-176-iso8859-1"
  661. X#define HELV_ITALIC_MEDIUM_8    "-adobe-helvetica-medium-o-normal--8-80-75-75-p-47-iso8859-1"
  662. X#define HELV_MEDIUM_10    "-adobe-helvetica-medium-r-normal--10-100-75-75-p-56-iso8859-1"
  663. X#define HELV_MEDIUM_11    "-adobe-helvetica-medium-r-normal--11-80-100-100-p-56-iso8859-1"
  664. X#define HELV_MEDIUM_12    "-adobe-helvetica-medium-r-normal--12-120-75-75-p-67-iso8859-1"
  665. X#define HELV_MEDIUM_14    "-adobe-helvetica-medium-r-normal--14-100-100-100-p-76-iso8859-1"
  666. X#define HELV_MEDIUM_14a    "-adobe-helvetica-medium-r-normal--14-140-75-75-p-77-iso8859-1"
  667. X#define HELV_MEDIUM_17    "-adobe-helvetica-medium-r-normal--17-120-100-100-p-88-iso8859-1"
  668. X#define HELV_MEDIUM_18    "-adobe-helvetica-medium-r-normal--18-180-75-75-p-98-iso8859-1"
  669. X#define HELV_MEDIUM_20    "-adobe-helvetica-medium-r-normal--20-140-100-100-p-100-iso8859-1"
  670. X#define HELV_MEDIUM_24    "-adobe-helvetica-medium-r-normal--24-240-75-75-p-130-iso8859-1"
  671. X#define HELV_MEDIUM_25    "-adobe-helvetica-medium-r-normal--25-180-100-100-p-130-iso8859-1"
  672. X#define HELV_MEDIUM_34    "-adobe-helvetica-medium-r-normal--34-240-100-100-p-176-iso8859-1"
  673. X#define HELV_MEDIUM_8    "-adobe-helvetica-medium-r-normal--8-80-75-75-p-46-iso8859-1"
  674. X#define SCHOOLBOOK_ITALIC_BOLD_10    "-adobe-new century schoolbook-bold-i-normal--10-100-75-75-p-66-iso8859-1"
  675. X#define SCHOOLBOOK_ITALIC_BOLD_11    "-adobe-new century schoolbook-bold-i-normal--11-80-100-100-p-66-iso8859-1"
  676. X#define SCHOOLBOOK_ITALIC_BOLD_12    "-adobe-new century schoolbook-bold-i-normal--12-120-75-75-p-76-iso8859-1"
  677. X#define SCHOOLBOOK_ITALIC_BOLD_14    "-adobe-new century schoolbook-bold-i-normal--14-100-100-100-p-88-iso8859-1"
  678. X#define SCHOOLBOOK_ITALIC_BOLD_14a    "-adobe-new century schoolbook-bold-i-normal--14-140-75-75-p-88-iso8859-1"
  679. X#define SCHOOLBOOK_ITALIC_BOLD_17    "-adobe-new century schoolbook-bold-i-normal--17-120-100-100-p-99-iso8859-1"
  680. X#define SCHOOLBOOK_ITALIC_BOLD_18    "-adobe-new century schoolbook-bold-i-normal--18-180-75-75-p-111-iso8859-1"
  681. X#define SCHOOLBOOK_ITALIC_BOLD_20    "-adobe-new century schoolbook-bold-i-normal--20-140-100-100-p-111-iso8859-1"
  682. X#define SCHOOLBOOK_ITALIC_BOLD_24    "-adobe-new century schoolbook-bold-i-normal--24-240-75-75-p-148-iso8859-1"
  683. X#define SCHOOLBOOK_ITALIC_BOLD_25    "-adobe-new century schoolbook-bold-i-normal--25-180-100-100-p-148-iso8859-1"
  684. X#define SCHOOLBOOK_ITALIC_BOLD_34    "-adobe-new century schoolbook-bold-i-normal--34-240-100-100-p-193-iso8859-1"
  685. X#define SCHOOLBOOK_ITALIC_BOLD_8    "-adobe-new century schoolbook-bold-i-normal--8-80-75-75-p-56-iso8859-1"
  686. X#define SCHOOLBOOK_BOLD_10    "-adobe-new century schoolbook-bold-r-normal--10-100-75-75-p-66-iso8859-1"
  687. X#define SCHOOLBOOK_BOLD_11    "-adobe-new century schoolbook-bold-r-normal--11-80-100-100-p-66-iso8859-1"
  688. X#define SCHOOLBOOK_BOLD_12    "-adobe-new century schoolbook-bold-r-normal--12-120-75-75-p-77-iso8859-1"
  689. X#define SCHOOLBOOK_BOLD_14    "-adobe-new century schoolbook-bold-r-normal--14-100-100-100-p-87-iso8859-1"
  690. X#define SCHOOLBOOK_BOLD_14a    "-adobe-new century schoolbook-bold-r-normal--14-140-75-75-p-87-iso8859-1"
  691. X#define SCHOOLBOOK_BOLD_17    "-adobe-new century schoolbook-bold-r-normal--17-120-100-100-p-99-iso8859-1"
  692. X#define SCHOOLBOOK_BOLD_18    "-adobe-new century schoolbook-bold-r-normal--18-180-75-75-p-113-iso8859-1"
  693. X#define SCHOOLBOOK_BOLD_20    "-adobe-new century schoolbook-bold-r-normal--20-140-100-100-p-113-iso8859-1"
  694. X#define SCHOOLBOOK_BOLD_24    "-adobe-new century schoolbook-bold-r-normal--24-240-75-75-p-149-iso8859-1"
  695. X#define SCHOOLBOOK_BOLD_25    "-adobe-new century schoolbook-bold-r-normal--25-180-100-100-p-149-iso8859-1"
  696. X#define SCHOOLBOOK_BOLD_34    "-adobe-new century schoolbook-bold-r-normal--34-240-100-100-p-193-iso8859-1"
  697. X#define SCHOOLBOOK_BOLD_8    "-adobe-new century schoolbook-bold-r-normal--8-80-75-75-p-56-iso8859-1"
  698. X#define SCHOOLBOOK_ITALIC_MEDIUM_10    "-adobe-new century schoolbook-medium-i-normal--10-100-75-75-p-60-iso8859-1"
  699. X#define SCHOOLBOOK_ITALIC_MEDIUM_11    "-adobe-new century schoolbook-medium-i-normal--11-80-100-100-p-60-iso8859-1"
  700. X#define SCHOOLBOOK_ITALIC_MEDIUM_12    "-adobe-new century schoolbook-medium-i-normal--12-120-75-75-p-70-iso8859-1"
  701. X#define SCHOOLBOOK_ITALIC_MEDIUM_14    "-adobe-new century schoolbook-medium-i-normal--14-100-100-100-p-81-iso8859-1"
  702. X#define SCHOOLBOOK_ITALIC_MEDIUM_14a    "-adobe-new century schoolbook-medium-i-normal--14-140-75-75-p-81-iso8859-1"
  703. X#define SCHOOLBOOK_ITALIC_MEDIUM_17    "-adobe-new century schoolbook-medium-i-normal--17-120-100-100-p-92-iso8859-1"
  704. X#define SCHOOLBOOK_ITALIC_MEDIUM_18    "-adobe-new century schoolbook-medium-i-normal--18-180-75-75-p-104-iso8859-1"
  705. X#define SCHOOLBOOK_ITALIC_MEDIUM_20    "-adobe-new century schoolbook-medium-i-normal--20-140-100-100-p-104-iso8859-1"
  706. X#define SCHOOLBOOK_ITALIC_MEDIUM_24    "-adobe-new century schoolbook-medium-i-normal--24-240-75-75-p-136-iso8859-1"
  707. X#define SCHOOLBOOK_ITALIC_MEDIUM_25    "-adobe-new century schoolbook-medium-i-normal--25-180-100-100-p-136-iso8859-1"
  708. X#define SCHOOLBOOK_ITALIC_MEDIUM_34    "-adobe-new century schoolbook-medium-i-normal--34-240-100-100-p-182-iso8859-1"
  709. X#define SCHOOLBOOK_ITALIC_MEDIUM_8    "-adobe-new century schoolbook-medium-i-normal--8-80-75-75-p-50-iso8859-1"
  710. X#define SCHOOLBOOK_MEDIUM_10    "-adobe-new century schoolbook-medium-r-normal--10-100-75-75-p-60-iso8859-1"
  711. X#define SCHOOLBOOK_MEDIUM_11    "-adobe-new century schoolbook-medium-r-normal--11-80-100-100-p-60-iso8859-1"
  712. X#define SCHOOLBOOK_MEDIUM_12    "-adobe-new century schoolbook-medium-r-normal--12-120-75-75-p-70-iso8859-1"
  713. X#define SCHOOLBOOK_MEDIUM_14    "-adobe-new century schoolbook-medium-r-normal--14-100-100-100-p-82-iso8859-1"
  714. X#define SCHOOLBOOK_MEDIUM_14a    "-adobe-new century schoolbook-medium-r-normal--14-140-75-75-p-82-iso8859-1"
  715. X#define SCHOOLBOOK_MEDIUM_17    "-adobe-new century schoolbook-medium-r-normal--17-120-100-100-p-91-iso8859-1"
  716. X#define SCHOOLBOOK_MEDIUM_18    "-adobe-new century schoolbook-medium-r-normal--18-180-75-75-p-103-iso8859-1"
  717. X#define SCHOOLBOOK_MEDIUM_20    "-adobe-new century schoolbook-medium-r-normal--20-140-100-100-p-103-iso8859-1"
  718. X#define SCHOOLBOOK_MEDIUM_24    "-adobe-new century schoolbook-medium-r-normal--24-240-75-75-p-137-iso8859-1"
  719. X#define SCHOOLBOOK_MEDIUM_25    "-adobe-new century schoolbook-medium-r-normal--25-180-100-100-p-136-iso8859-1"
  720. X#define SCHOOLBOOK_MEDIUM_34    "-adobe-new century schoolbook-medium-r-normal--34-240-100-100-p-181-iso8859-1"
  721. X#define SCHOOLBOOK_MEDIUM_8    "-adobe-new century schoolbook-medium-r-normal--8-80-75-75-p-50-iso8859-1"
  722. X#define SYMBOL_MEDIUM_10    "-adobe-symbol-medium-r-normal--10-100-75-75-p-61-adobe-fontspecific"
  723. X#define SYMBOL_MEDIUM_11    "-adobe-symbol-medium-r-normal--11-80-100-100-p-61-adobe-fontspecific"
  724. X#define SYMBOL_MEDIUM_12    "-adobe-symbol-medium-r-normal--12-120-75-75-p-74-adobe-fontspecific"
  725. X#define SYMBOL_MEDIUM_14    "-adobe-symbol-medium-r-normal--14-100-100-100-p-85-adobe-fontspecific"
  726. X#define SYMBOL_MEDIUM_14a    "-adobe-symbol-medium-r-normal--14-140-75-75-p-85-adobe-fontspecific"
  727. X#define SYMBOL_MEDIUM_17    "-adobe-symbol-medium-r-normal--17-120-100-100-p-95-adobe-fontspecific"
  728. X#define SYMBOL_MEDIUM_18    "-adobe-symbol-medium-r-normal--18-180-75-75-p-107-adobe-fontspecific"
  729. X#define SYMBOL_MEDIUM_20    "-adobe-symbol-medium-r-normal--20-140-100-100-p-107-adobe-fontspecific"
  730. X#define SYMBOL_MEDIUM_24    "-adobe-symbol-medium-r-normal--24-240-75-75-p-142-adobe-fontspecific"
  731. X#define SYMBOL_MEDIUM_25    "-adobe-symbol-medium-r-normal--25-180-100-100-p-142-adobe-fontspecific"
  732. X#define SYMBOL_MEDIUM_34    "-adobe-symbol-medium-r-normal--34-240-100-100-p-191-adobe-fontspecific"
  733. X#define SYMBOL_MEDIUM_8    "-adobe-symbol-medium-r-normal--8-80-75-75-p-51-adobe-fontspecific"
  734. X#define TIMES_ITALIC_BOLD_10    "-adobe-times-bold-i-normal--10-100-75-75-p-57-iso8859-1"
  735. X#define TIMES_ITALIC_BOLD_11    "-adobe-times-bold-i-normal--11-80-100-100-p-57-iso8859-1"
  736. X#define TIMES_ITALIC_BOLD_12    "-adobe-times-bold-i-normal--12-120-75-75-p-68-iso8859-1"
  737. X#define TIMES_ITALIC_BOLD_14    "-adobe-times-bold-i-normal--14-100-100-100-p-77-iso8859-1"
  738. X#define TIMES_ITALIC_BOLD_14a    "-adobe-times-bold-i-normal--14-140-75-75-p-77-iso8859-1"
  739. X#define TIMES_ITALIC_BOLD_17    "-adobe-times-bold-i-normal--17-120-100-100-p-86-iso8859-1"
  740. X#define TIMES_ITALIC_BOLD_18    "-adobe-times-bold-i-normal--18-180-75-75-p-98-iso8859-1"
  741. X#define TIMES_ITALIC_BOLD_20    "-adobe-times-bold-i-normal--20-140-100-100-p-98-iso8859-1"
  742. X#define TIMES_ITALIC_BOLD_24    "-adobe-times-bold-i-normal--24-240-75-75-p-128-iso8859-1"
  743. X#define TIMES_ITALIC_BOLD_25    "-adobe-times-bold-i-normal--25-180-100-100-p-128-iso8859-1"
  744. X#define TIMES_ITALIC_BOLD_34    "-adobe-times-bold-i-normal--34-240-100-100-p-170-iso8859-1"
  745. X#define TIMES_ITALIC_BOLD_8    "-adobe-times-bold-i-normal--8-80-75-75-p-47-iso8859-1"
  746. X#define TIMES_BOLD_10    "-adobe-times-bold-r-normal--10-100-75-75-p-57-iso8859-1"
  747. X#define TIMES_BOLD_11    "-adobe-times-bold-r-normal--11-80-100-100-p-57-iso8859-1"
  748. X#define TIMES_BOLD_12    "-adobe-times-bold-r-normal--12-120-75-75-p-67-iso8859-1"
  749. X#define TIMES_BOLD_14    "-adobe-times-bold-r-normal--14-100-100-100-p-76-iso8859-1"
  750. X#define TIMES_BOLD_14a    "-adobe-times-bold-r-normal--14-140-75-75-p-77-iso8859-1"
  751. X#define TIMES_BOLD_17    "-adobe-times-bold-r-normal--17-120-100-100-p-88-iso8859-1"
  752. X#define TIMES_BOLD_18    "-adobe-times-bold-r-normal--18-180-75-75-p-99-iso8859-1"
  753. X#define TIMES_BOLD_20    "-adobe-times-bold-r-normal--20-140-100-100-p-100-iso8859-1"
  754. X#define TIMES_BOLD_24    "-adobe-times-bold-r-normal--24-240-75-75-p-132-iso8859-1"
  755. X#define TIMES_BOLD_25    "-adobe-times-bold-r-normal--25-180-100-100-p-132-iso8859-1"
  756. X#define TIMES_BOLD_34    "-adobe-times-bold-r-normal--34-240-100-100-p-177-iso8859-1"
  757. X#define TIMES_BOLD_8    "-adobe-times-bold-r-normal--8-80-75-75-p-47-iso8859-1"
  758. X#define TIMES_ITALIC_MEDIUM_10    "-adobe-times-medium-i-normal--10-100-75-75-p-52-iso8859-1"
  759. X#define TIMES_ITALIC_MEDIUM_11    "-adobe-times-medium-i-normal--11-80-100-100-p-52-iso8859-1"
  760. X#define TIMES_ITALIC_MEDIUM_12    "-adobe-times-medium-i-normal--12-120-75-75-p-63-iso8859-1"
  761. X#define TIMES_ITALIC_MEDIUM_14    "-adobe-times-medium-i-normal--14-100-100-100-p-73-iso8859-1"
  762. X#define TIMES_ITALIC_MEDIUM_14a    "-adobe-times-medium-i-normal--14-140-75-75-p-73-iso8859-1"
  763. X#define TIMES_ITALIC_MEDIUM_17    "-adobe-times-medium-i-normal--17-120-100-100-p-84-iso8859-1"
  764. X#define TIMES_ITALIC_MEDIUM_18    "-adobe-times-medium-i-normal--18-180-75-75-p-94-iso8859-1"
  765. X#define TIMES_ITALIC_MEDIUM_20    "-adobe-times-medium-i-normal--20-140-100-100-p-94-iso8859-1"
  766. X#define TIMES_ITALIC_MEDIUM_24    "-adobe-times-medium-i-normal--24-240-75-75-p-125-iso8859-1"
  767. X#define TIMES_ITALIC_MEDIUM_25    "-adobe-times-medium-i-normal--25-180-100-100-p-125-iso8859-1"
  768. X#define TIMES_ITALIC_MEDIUM_34    "-adobe-times-medium-i-normal--34-240-100-100-p-168-iso8859-1"
  769. X#define TIMES_ITALIC_MEDIUM_8    "-adobe-times-medium-i-normal--8-80-75-75-p-42-iso8859-1"
  770. X#define TIMES_MEDIUM_10    "-adobe-times-medium-r-normal--10-100-75-75-p-54-iso8859-1"
  771. X#define TIMES_MEDIUM_11    "-adobe-times-medium-r-normal--11-80-100-100-p-54-iso8859-1"
  772. X#define TIMES_MEDIUM_12    "-adobe-times-medium-r-normal--12-120-75-75-p-64-iso8859-1"
  773. X#define TIMES_MEDIUM_14    "-adobe-times-medium-r-normal--14-100-100-100-p-74-iso8859-1"
  774. X#define TIMES_MEDIUM_14a    "-adobe-times-medium-r-normal--14-140-75-75-p-74-iso8859-1"
  775. X#define TIMES_MEDIUM_17    "-adobe-times-medium-r-normal--17-120-100-100-p-84-iso8859-1"
  776. X#define TIMES_MEDIUM_18    "-adobe-times-medium-r-normal--18-180-75-75-p-94-iso8859-1"
  777. X#define TIMES_MEDIUM_20    "-adobe-times-medium-r-normal--20-140-100-100-p-96-iso8859-1"
  778. X#define TIMES_MEDIUM_24    "-adobe-times-medium-r-normal--24-240-75-75-p-124-iso8859-1"
  779. X#define TIMES_MEDIUM_25    "-adobe-times-medium-r-normal--25-180-100-100-p-125-iso8859-1"
  780. X#define TIMES_MEDIUM_34    "-adobe-times-medium-r-normal--34-240-100-100-p-170-iso8859-1"
  781. X#define TIMES_MEDIUM_8    "-adobe-times-medium-r-normal--8-80-75-75-p-44-iso8859-1"
  782. X#define LUCIDABRIGHT_ITALIC_BOLD_10    "-b&h-lucidabright-demibold-i-normal--10-100-75-75-p-59-iso8859-1"
  783. X#define LUCIDABRIGHT_ITALIC_BOLD_11    "-b&h-lucidabright-demibold-i-normal--11-80-100-100-p-66-iso8859-1"
  784. X#define LUCIDABRIGHT_ITALIC_BOLD_12    "-b&h-lucidabright-demibold-i-normal--12-120-75-75-p-72-iso8859-1"
  785. X#define LUCIDABRIGHT_ITALIC_BOLD_14    "-b&h-lucidabright-demibold-i-normal--14-100-100-100-p-84-iso8859-1"
  786. X#define LUCIDABRIGHT_ITALIC_BOLD_14a    "-b&h-lucidabright-demibold-i-normal--14-140-75-75-p-84-iso8859-1"
  787. X#define LUCIDABRIGHT_ITALIC_BOLD_17    "-b&h-lucidabright-demibold-i-normal--17-120-100-100-p-101-iso8859-1"
  788. X#define LUCIDABRIGHT_ITALIC_BOLD_18    "-b&h-lucidabright-demibold-i-normal--18-180-75-75-p-107-iso8859-1"
  789. X#define LUCIDABRIGHT_ITALIC_BOLD_19    "-b&h-lucidabright-demibold-i-normal--19-190-75-75-p-114-iso8859-1"
  790. X#define LUCIDABRIGHT_ITALIC_BOLD_20    "-b&h-lucidabright-demibold-i-normal--20-140-100-100-p-119-iso8859-1"
  791. X#define LUCIDABRIGHT_ITALIC_BOLD_24    "-b&h-lucidabright-demibold-i-normal--24-240-75-75-p-143-iso8859-1"
  792. X#define LUCIDABRIGHT_ITALIC_BOLD_25    "-b&h-lucidabright-demibold-i-normal--25-180-100-100-p-149-iso8859-1"
  793. X#define LUCIDABRIGHT_ITALIC_BOLD_26    "-b&h-lucidabright-demibold-i-normal--26-190-100-100-p-156-iso8859-1"
  794. X#define LUCIDABRIGHT_ITALIC_BOLD_34    "-b&h-lucidabright-demibold-i-normal--34-240-100-100-p-203-iso8859-1"
  795. X#define LUCIDABRIGHT_ITALIC_BOLD_8    "-b&h-lucidabright-demibold-i-normal--8-80-75-75-p-48-iso8859-1"
  796. X#define LUCIDABRIGHT_BOLD_10    "-b&h-lucidabright-demibold-r-normal--10-100-75-75-p-59-iso8859-1"
  797. X#define LUCIDABRIGHT_BOLD_11    "-b&h-lucidabright-demibold-r-normal--11-80-100-100-p-66-iso8859-1"
  798. X#define LUCIDABRIGHT_BOLD_12    "-b&h-lucidabright-demibold-r-normal--12-120-75-75-p-71-iso8859-1"
  799. X#define LUCIDABRIGHT_BOLD_14    "-b&h-lucidabright-demibold-r-normal--14-100-100-100-p-84-iso8859-1"
  800. X#define LUCIDABRIGHT_BOLD_14a    "-b&h-lucidabright-demibold-r-normal--14-140-75-75-p-84-iso8859-1"
  801. X#define LUCIDABRIGHT_BOLD_17    "-b&h-lucidabright-demibold-r-normal--17-120-100-100-p-101-iso8859-1"
  802. X#define LUCIDABRIGHT_BOLD_18    "-b&h-lucidabright-demibold-r-normal--18-180-75-75-p-107-iso8859-1"
  803. X#define LUCIDABRIGHT_BOLD_19    "-b&h-lucidabright-demibold-r-normal--19-190-75-75-p-114-iso8859-1"
  804. X#define LUCIDABRIGHT_BOLD_20    "-b&h-lucidabright-demibold-r-normal--20-140-100-100-p-118-iso8859-1"
  805. X#define LUCIDABRIGHT_BOLD_24    "-b&h-lucidabright-demibold-r-normal--24-240-75-75-p-143-iso8859-1"
  806. X#define LUCIDABRIGHT_BOLD_25    "-b&h-lucidabright-demibold-r-normal--25-180-100-100-p-149-iso8859-1"
  807. X#define LUCIDABRIGHT_BOLD_26    "-b&h-lucidabright-demibold-r-normal--26-190-100-100-p-155-iso8859-1"
  808. X#define LUCIDABRIGHT_BOLD_34    "-b&h-lucidabright-demibold-r-normal--34-240-100-100-p-202-iso8859-1"
  809. X#define LUCIDABRIGHT_BOLD_8    "-b&h-lucidabright-demibold-r-normal--8-80-75-75-p-47-iso8859-1"
  810. X#define LUCIDABRIGHT_ITALIC_MEDIUM_10    "-b&h-lucidabright-medium-i-normal--10-100-75-75-p-57-iso8859-1"
  811. X#define LUCIDABRIGHT_ITALIC_MEDIUM_11    "-b&h-lucidabright-medium-i-normal--11-80-100-100-p-63-iso8859-1"
  812. X#define LUCIDABRIGHT_ITALIC_MEDIUM_12    "-b&h-lucidabright-medium-i-normal--12-120-75-75-p-67-iso8859-1"
  813. X#define LUCIDABRIGHT_ITALIC_MEDIUM_14    "-b&h-lucidabright-medium-i-normal--14-100-100-100-p-80-iso8859-1"
  814. X#define LUCIDABRIGHT_ITALIC_MEDIUM_14a    "-b&h-lucidabright-medium-i-normal--14-140-75-75-p-80-iso8859-1"
  815. X#define LUCIDABRIGHT_ITALIC_MEDIUM_17    "-b&h-lucidabright-medium-i-normal--17-120-100-100-p-96-iso8859-1"
  816. X#define LUCIDABRIGHT_ITALIC_MEDIUM_18    "-b&h-lucidabright-medium-i-normal--18-180-75-75-p-102-iso8859-1"
  817. X#define LUCIDABRIGHT_ITALIC_MEDIUM_19    "-b&h-lucidabright-medium-i-normal--19-190-75-75-p-109-iso8859-1"
  818. X#define LUCIDABRIGHT_ITALIC_MEDIUM_20    "-b&h-lucidabright-medium-i-normal--20-140-100-100-p-113-iso8859-1"
  819. X#define LUCIDABRIGHT_ITALIC_MEDIUM_24    "-b&h-lucidabright-medium-i-normal--24-240-75-75-p-136-iso8859-1"
  820. X#define LUCIDABRIGHT_ITALIC_MEDIUM_25    "-b&h-lucidabright-medium-i-normal--25-180-100-100-p-142-iso8859-1"
  821. X#define LUCIDABRIGHT_ITALIC_MEDIUM_26    "-b&h-lucidabright-medium-i-normal--26-190-100-100-p-148-iso8859-1"
  822. X#define LUCIDABRIGHT_ITALIC_MEDIUM_34    "-b&h-lucidabright-medium-i-normal--34-240-100-100-p-194-iso8859-1"
  823. X#define LUCIDABRIGHT_ITALIC_MEDIUM_8    "-b&h-lucidabright-medium-i-normal--8-80-75-75-p-45-iso8859-1"
  824. X#define LUCIDABRIGHT_MEDIUM_10    "-b&h-lucidabright-medium-r-normal--10-100-75-75-p-56-iso8859-1"
  825. X#define LUCIDABRIGHT_MEDIUM_11    "-b&h-lucidabright-medium-r-normal--11-80-100-100-p-63-iso8859-1"
  826. X#define LUCIDABRIGHT_MEDIUM_12    "-b&h-lucidabright-medium-r-normal--12-120-75-75-p-68-iso8859-1"
  827. X#define LUCIDABRIGHT_MEDIUM_14    "-b&h-lucidabright-medium-r-normal--14-100-100-100-p-80-iso8859-1"
  828. X#define LUCIDABRIGHT_MEDIUM_14a    "-b&h-lucidabright-medium-r-normal--14-140-75-75-p-80-iso8859-1"
  829. X#define LUCIDABRIGHT_MEDIUM_17    "-b&h-lucidabright-medium-r-normal--17-120-100-100-p-96-iso8859-1"
  830. X#define LUCIDABRIGHT_MEDIUM_18    "-b&h-lucidabright-medium-r-normal--18-180-75-75-p-103-iso8859-1"
  831. X#define LUCIDABRIGHT_MEDIUM_19    "-b&h-lucidabright-medium-r-normal--19-190-75-75-p-109-iso8859-1"
  832. X#define LUCIDABRIGHT_MEDIUM_20    "-b&h-lucidabright-medium-r-normal--20-140-100-100-p-114-iso8859-1"
  833. X#define LUCIDABRIGHT_MEDIUM_24    "-b&h-lucidabright-medium-r-normal--24-240-75-75-p-137-iso8859-1"
  834. X#define LUCIDABRIGHT_MEDIUM_25    "-b&h-lucidabright-medium-r-normal--25-180-100-100-p-142-iso8859-1"
  835. X#define LUCIDABRIGHT_MEDIUM_26    "-b&h-lucidabright-medium-r-normal--26-190-100-100-p-149-iso8859-1"
  836. X#define LUCIDABRIGHT_MEDIUM_34    "-b&h-lucidabright-medium-r-normal--34-240-100-100-p-193-iso8859-1"
  837. X#define LUCIDABRIGHT_MEDIUM_8    "-b&h-lucidabright-medium-r-normal--8-80-75-75-p-45-iso8859-1"
  838. X#define CHARTER_ITALIC_BOLD_10    "-bitstream-charter-bold-i-normal--10-100-75-75-p-62-iso8859-1"
  839. X#define CHARTER_ITALIC_BOLD_11    "-bitstream-charter-bold-i-normal--11-80-100-100-p-68-iso8859-1"
  840. X#define CHARTER_ITALIC_BOLD_12    "-bitstream-charter-bold-i-normal--12-120-75-75-p-74-iso8859-1"
  841. X#define CHARTER_ITALIC_BOLD_14    "-bitstream-charter-bold-i-normal--14-100-100-100-p-86-iso8859-1"
  842. X#define CHARTER_ITALIC_BOLD_15    "-bitstream-charter-bold-i-normal--15-140-75-75-p-93-iso8859-1"
  843. X#define CHARTER_ITALIC_BOLD_17    "-bitstream-charter-bold-i-normal--17-120-100-100-p-105-iso8859-1"
  844. X#define CHARTER_ITALIC_BOLD_19    "-bitstream-charter-bold-i-normal--19-140-100-100-p-117-iso8859-1"
  845. X#define CHARTER_ITALIC_BOLD_19a    "-bitstream-charter-bold-i-normal--19-180-75-75-p-117-iso8859-1"
  846. X#define CHARTER_ITALIC_BOLD_25    "-bitstream-charter-bold-i-normal--25-180-100-100-p-154-iso8859-1"
  847. X#define CHARTER_ITALIC_BOLD_25a    "-bitstream-charter-bold-i-normal--25-240-75-75-p-154-iso8859-1"
  848. X#define CHARTER_ITALIC_BOLD_33    "-bitstream-charter-bold-i-normal--33-240-100-100-p-203-iso8859-1"
  849. X#define CHARTER_ITALIC_BOLD_8    "-bitstream-charter-bold-i-normal--8-80-75-75-p-50-iso8859-1"
  850. X#define CHARTER_BOLD_10    "-bitstream-charter-bold-r-normal--10-100-75-75-p-63-iso8859-1"
  851. X#define CHARTER_BOLD_11    "-bitstream-charter-bold-r-normal--11-80-100-100-p-69-iso8859-1"
  852. X#define CHARTER_BOLD_12    "-bitstream-charter-bold-r-normal--12-120-75-75-p-75-iso8859-1"
  853. X#define CHARTER_BOLD_14    "-bitstream-charter-bold-r-normal--14-100-100-100-p-88-iso8859-1"
  854. X#define CHARTER_BOLD_15    "-bitstream-charter-bold-r-normal--15-140-75-75-p-94-iso8859-1"
  855. X#define CHARTER_BOLD_17    "-bitstream-charter-bold-r-normal--17-120-100-100-p-107-iso8859-1"
  856. X#define CHARTER_BOLD_19    "-bitstream-charter-bold-r-normal--19-140-100-100-p-119-iso8859-1"
  857. X#define CHARTER_BOLD_19a    "-bitstream-charter-bold-r-normal--19-180-75-75-p-119-iso8859-1"
  858. X#define CHARTER_BOLD_25    "-bitstream-charter-bold-r-normal--25-180-100-100-p-157-iso8859-1"
  859. X#define CHARTER_BOLD_25a    "-bitstream-charter-bold-r-normal--25-240-75-75-p-157-iso8859-1"
  860. X#define CHARTER_BOLD_33    "-bitstream-charter-bold-r-normal--33-240-100-100-p-206-iso8859-1"
  861. X#define CHARTER_BOLD_8    "-bitstream-charter-bold-r-normal--8-80-75-75-p-50-iso8859-1"
  862. X#define CHARTER_ITALIC_MEDIUM_10    "-bitstream-charter-medium-i-normal--10-100-75-75-p-55-iso8859-1"
  863. X#define CHARTER_ITALIC_MEDIUM_11    "-bitstream-charter-medium-i-normal--11-80-100-100-p-60-iso8859-1"
  864. X#define CHARTER_ITALIC_MEDIUM_12    "-bitstream-charter-medium-i-normal--12-120-75-75-p-65-iso8859-1"
  865. X#define CHARTER_ITALIC_MEDIUM_14    "-bitstream-charter-medium-i-normal--14-100-100-100-p-76-iso8859-1"
  866. X#define CHARTER_ITALIC_MEDIUM_15    "-bitstream-charter-medium-i-normal--15-140-75-75-p-82-iso8859-1"
  867. X#define CHARTER_ITALIC_MEDIUM_17    "-bitstream-charter-medium-i-normal--17-120-100-100-p-92-iso8859-1"
  868. X#define CHARTER_ITALIC_MEDIUM_19    "-bitstream-charter-medium-i-normal--19-140-100-100-p-103-iso8859-1"
  869. X#define CHARTER_ITALIC_MEDIUM_19a    "-bitstream-charter-medium-i-normal--19-180-75-75-p-103-iso8859-1"
  870. X#define CHARTER_ITALIC_MEDIUM_25    "-bitstream-charter-medium-i-normal--25-180-100-100-p-136-iso8859-1"
  871. X#define CHARTER_ITALIC_MEDIUM_25a    "-bitstream-charter-medium-i-normal--25-240-75-75-p-136-iso8859-1"
  872. X#define CHARTER_ITALIC_MEDIUM_33    "-bitstream-charter-medium-i-normal--33-240-100-100-p-179-iso8859-1"
  873. X#define CHARTER_ITALIC_MEDIUM_8    "-bitstream-charter-medium-i-normal--8-80-75-75-p-44-iso8859-1"
  874. X#define CHARTER_MEDIUM_10    "-bitstream-charter-medium-r-normal--10-100-75-75-p-56-iso8859-1"
  875. X#define CHARTER_MEDIUM_11    "-bitstream-charter-medium-r-normal--11-80-100-100-p-61-iso8859-1"
  876. X#define CHARTER_MEDIUM_12    "-bitstream-charter-medium-r-normal--12-120-75-75-p-67-iso8859-1"
  877. X#define CHARTER_MEDIUM_14    "-bitstream-charter-medium-r-normal--14-100-100-100-p-78-iso8859-1"
  878. X#define CHARTER_MEDIUM_15    "-bitstream-charter-medium-r-normal--15-140-75-75-p-84-iso8859-1"
  879. X#define CHARTER_MEDIUM_17    "-bitstream-charter-medium-r-normal--17-120-100-100-p-95-iso8859-1"
  880. X#define CHARTER_MEDIUM_19    "-bitstream-charter-medium-r-normal--19-140-100-100-p-106-iso8859-1"
  881. X#define CHARTER_MEDIUM_19a    "-bitstream-charter-medium-r-normal--19-180-75-75-p-106-iso8859-1"
  882. X#define CHARTER_MEDIUM_25    "-bitstream-charter-medium-r-normal--25-180-100-100-p-139-iso8859-1"
  883. X#define CHARTER_MEDIUM_25a    "-bitstream-charter-medium-r-normal--25-240-75-75-p-139-iso8859-1"
  884. X#define CHARTER_MEDIUM_33    "-bitstream-charter-medium-r-normal--33-240-100-100-p-183-iso8859-1"
  885. X#define CHARTER_MEDIUM_8    "-bitstream-charter-medium-r-normal--8-80-75-75-p-45-iso8859-1"
  886. X#define XMAHJONGG        "xmahjongg"
  887. X#define XTREK            "xtrek"
  888. X#define GLYPH            "olglyph-10"
  889. X#define CURSOR            "cursor"
  890. X#define ULTIMA_FONT        "k14"
  891. END_OF_FILE
  892. if test 29524 -ne `wc -c <'fontlist.h'`; then
  893.     echo shar: \"'fontlist.h'\" unpacked with wrong size!
  894. fi
  895. # end of 'fontlist.h'
  896. fi
  897. if test -f 'init.c' -a "${1}" != "-c" ; then 
  898.   echo shar: Will not clobber existing file \"'init.c'\"
  899. else
  900. echo shar: Extracting \"'init.c'\" \(1047 characters\)
  901. sed "s/^X//" >'init.c' <<'END_OF_FILE'
  902. X/**
  903. X *
  904. X * xpt -- An X Periodic Table
  905. X *
  906. X * init.c -- initialize the colors needed
  907. X *
  908. X * Written by Joel P. Lord 03/05/93
  909. X *
  910. X *    This software is available for free distribution,
  911. X * under the condition that this not be removed from the
  912. X * source code.
  913. X *
  914. X**/
  915. X
  916. X
  917. X#include "xpt.h"
  918. X
  919. Xunsigned long GetNumColor();
  920. X
  921. Xinit_colors()
  922. X{
  923. X  default_cmap = DefaultColormap(p_disp, DefaultScreen(p_disp));
  924. X
  925. X  mbgpix = GetColors("NavyBlue", default_cmap, BP);
  926. X  mfgpix = GetColors("white", default_cmap, WP);
  927. X  red = GetColors("red", default_cmap, WP);
  928. X  white = mfgpix;
  929. X  slate_grey = GetColors("slategrey", default_cmap, BP);
  930. X}
  931. X
  932. Xunsigned long GetNumColor(num, cmap, def)
  933. Xunsigned long num;
  934. XColormap cmap;
  935. Xunsigned long def;
  936. X{
  937. X  XColor color;
  938. X  unsigned long retval;
  939. X
  940. X  color.pixel = num;
  941. X  color.red = ((num >> 16) * 256);
  942. X  color.green = ((num >> 8) & 0xFF) * 256;
  943. X  color.blue = (num & 0xFF) * 256;
  944. X  color.flags = DoBlue | DoGreen | DoRed;
  945. X
  946. X  if (XAllocColor(p_disp, cmap, &color) == 0)
  947. X    retval = def;
  948. X  else
  949. X    retval = color.pixel;
  950. X
  951. X  return retval;
  952. X}
  953. END_OF_FILE
  954. if test 1047 -ne `wc -c <'init.c'`; then
  955.     echo shar: \"'init.c'\" unpacked with wrong size!
  956. fi
  957. # end of 'init.c'
  958. fi
  959. if test -f 'package' -a "${1}" != "-c" ; then 
  960.   echo shar: Will not clobber existing file \"'package'\"
  961. else
  962. echo shar: Extracting \"'package'\" \(93 characters\)
  963. sed "s/^X//" >'package' <<'END_OF_FILE'
  964. Xtar -cvf xpt.tar *.c *.h Makefile Imakefile
  965. Xsetup mtools
  966. Xmwrite xpt.tar a:xpt.tar
  967. Xrm xpt.tar
  968. END_OF_FILE
  969. if test 93 -ne `wc -c <'package'`; then
  970.     echo shar: \"'package'\" unpacked with wrong size!
  971. fi
  972. chmod +x 'package'
  973. # end of 'package'
  974. fi
  975. if test -f 'table.c' -a "${1}" != "-c" ; then 
  976.   echo shar: Will not clobber existing file \"'table.c'\"
  977. else
  978. echo shar: Extracting \"'table.c'\" \(10040 characters\)
  979. sed "s/^X//" >'table.c' <<'END_OF_FILE'
  980. X/**
  981. X *
  982. X * xpt -- An X Periodic Table
  983. X *
  984. X * table.c - Create the periodic table, and handle data requests
  985. X *
  986. X * Written bu Joel P. Lord 03/05/93
  987. X *
  988. X *    This software is available for free distribution,
  989. X * under the condition that this not be removed from the
  990. X * source code.
  991. X *
  992. X**/
  993. X
  994. X#include "xpt.h"
  995. X#include <X11/Xaw/AsciiText.h>
  996. X
  997. Xvoid init_table()
  998. X{
  999. X  Widget elements[104];
  1000. X  Widget quit_button;
  1001. X  int n = 0, i = 0, j = 0, k = 0, horiz_offset = 0;
  1002. X  Arg args[20];
  1003. X  char title[3];
  1004. X  void element_choice(), quit();
  1005. X  XEvent tevent;
  1006. X  static char *table[] = {
  1007. X"H                                 He",
  1008. X"LiBe                    B C N O F Ne",
  1009. X"NaMg                    AlSiP S ClAr",
  1010. X"K CaScTiVaCrMnFeCoNiCuZnGaGeAsSeBrKr",
  1011. X"RbSrY ZrNbMoTcRuRhPdAgCdInSnSbTeI Xe",
  1012. X"CsBaLaHfTaW ReOsIrPtAuHgTlPbBiPoAtRn",
  1013. X"FrRaAc                              ",
  1014. X"                                    ",
  1015. X"        CePrNdPmSmEuGdTbDyHoErTmTbLu",
  1016. X"        ThPaU NpPuAmCmBkCfEsFmMdNoLr"
  1017. X};
  1018. X
  1019. X  n = 0;
  1020. X  XtSetArg(args[n], XtNfromHoriz, NULL);
  1021. X  n++;
  1022. X  XtSetArg(args[n], XtNfromVert, NULL);
  1023. X  n++;
  1024. X  XtSetArg(args[n], XtNhorizDistance, 5);
  1025. X  n++;
  1026. X  XtSetArg(args[n], XtNvertDistance, 5);
  1027. X  n++;
  1028. X  XtSetArg(args[n], XtNwidth, 24);
  1029. X  n++;
  1030. X  XtSetArg(args[n], XtNheight, 32);
  1031. X  n++;
  1032. X  mbgpix = GetColors("NavyBlue", default_cmap, BP);
  1033. X  XtSetArg(args[n], XtNbackground, slate_grey);
  1034. X  n++;
  1035. X  XtSetArg(args[n], XtNforeground, mfgpix);
  1036. X  n++;
  1037. X  XtSetArg(args[n], XtNfont, mfontstruct);
  1038. X  n++;
  1039. X
  1040. X  title[2] = 0;
  1041. X  for (j = 0; j < 10; j++)
  1042. X    {
  1043. X      for(i = 0; i < 36; i += 2)
  1044. X    {
  1045. X      title[0] = table[j][i];
  1046. X      title[1] = table[j][i+1];
  1047. X      if (title[0] != ' ')
  1048. X        {
  1049. X          elements[k] = XtCreateWidget(title, commandWidgetClass,
  1050. X                       MainW, args, n);
  1051. X          XtAddCallback(elements[k], XtNcallback, element_choice, k);
  1052. X          XtRealizeWidget(elements[k]);
  1053. X          XtManageChild(elements[k]);
  1054. X          k++;
  1055. X          horiz_offset = 0;
  1056. X          XtSetArg(args[0], XtNfromHoriz, elements[k - 1]);
  1057. X          XtSetArg(args[2], XtNhorizDistance, 0);
  1058. X        }
  1059. X      else
  1060. X        {
  1061. X          horiz_offset += 26;
  1062. X          XtSetArg(args[2], XtNhorizDistance, horiz_offset);
  1063. X        }
  1064. X    }
  1065. X      horiz_offset = 0;
  1066. X      XtSetArg(args[0], XtNfromHoriz, NULL);
  1067. X      XtSetArg(args[1], XtNfromVert, elements[k-1]);
  1068. X      XtSetArg(args[2], XtNhorizDistance, 5);
  1069. X      XtSetArg(args[3], XtNvertDistance, 0);
  1070. X    }
  1071. X
  1072. X  XtSetArg(args[0], XtNfromHoriz, NULL);
  1073. X  XtSetArg(args[1], XtNfromVert, NULL);
  1074. X  XtSetArg(args[2], XtNhorizDistance, 160);
  1075. X  XtSetArg(args[3], XtNvertDistance, 5);
  1076. X  XtSetArg(args[4], XtNwidth, 49);
  1077. X  XtSetArg(args[5], XtNheight, 32);
  1078. X  XtSetArg(args[6], XtNbackground, red);
  1079. X  XtSetArg(args[7], XtNforeground, white);
  1080. X  XtSetArg(args[9], XtNborderColor, red);
  1081. X  
  1082. X  quit_button = XtCreateManagedWidget("Quit", commandWidgetClass, MainW,
  1083. X                      args, n + 1);
  1084. X  XtRealizeWidget(quit_button);
  1085. X  XtAddCallback(quit_button, XtNcallback, quit, 0);
  1086. X}
  1087. X
  1088. Xstatic destroy_info;
  1089. X
  1090. Xvoid element_choice(w, element, event)
  1091. XWidget w;
  1092. Xint element;
  1093. XXEvent *event;
  1094. X{
  1095. X  Widget element_info, ok_button, help_button;
  1096. X  Arg args[20];
  1097. X  char *data_buf;
  1098. X  void ok(), help();
  1099. X
  1100. X  destroy_info = 0;
  1101. X
  1102. X  data_buf = (char *)malloc(1000);
  1103. X
  1104. X  element_info = XtVaCreateManagedWidget("Element Info",formWidgetClass, MainW,
  1105. X                       XtNfromHoriz, NULL,
  1106. X                       XtNfromVert, NULL,
  1107. X                       XtNwidth, 200,
  1108. X                       XtNheight, 250,
  1109. X                       XtNvertDistance, 60,
  1110. X                       XtNhorizDistance, 240,
  1111. X                       XtNbackground, mbgpix,
  1112. X                       XtNforeground, mfgpix,
  1113. X                       XtNfont, mfontstruct,
  1114. X                       XtNborderColor, slate_grey, NULL);
  1115. X  display_info(element_info, element);
  1116. X
  1117. X  ok_button = XtVaCreateManagedWidget("Done", commandWidgetClass, element_info,
  1118. X                    XtNfromHoriz, NULL,
  1119. X                    XtNfromVert, NULL,
  1120. X                    XtNwidth, 40,
  1121. X                    XtNheight, 32,
  1122. X                    XtNvertDistance, 210,
  1123. X                    XtNhorizDistance, 100,
  1124. X                    XtNbackground, slate_grey,
  1125. X                    XtNforeground, mfgpix,
  1126. X                    XtNfont, mfontstruct,
  1127. X                    XtNborderColor, mbgpix, NULL);
  1128. X
  1129. X  XtAddCallback(ok_button, XtNcallback, ok, 0);
  1130. X
  1131. X  help_button = XtVaCreateManagedWidget("Help", commandWidgetClass,
  1132. X                    element_info,
  1133. X                    XtNfromHoriz, NULL,
  1134. X                    XtNfromVert, NULL,
  1135. X                    XtNwidth, 40,
  1136. X                    XtNheight, 32,
  1137. X                    XtNvertDistance, 210,
  1138. X                    XtNhorizDistance, 60,
  1139. X                    XtNbackground, slate_grey,
  1140. X                    XtNforeground, mfgpix,
  1141. X                    XtNfont, mfontstruct,
  1142. X                    XtNborderColor, mbgpix, NULL);
  1143. X  XtAddCallback(help_button, XtNcallback, help, 0);
  1144. X
  1145. X  while (!destroy_info && !done)
  1146. X    {
  1147. X      XtNextEvent(&theEvent);
  1148. X      XtDispatchEvent(&theEvent);
  1149. X      if (theEvent.type == Expose)
  1150. X    display_info(element_info, element);
  1151. X    }
  1152. X  XtDestroyWidget(element_info);
  1153. X  free(data_buf);
  1154. X}
  1155. X
  1156. Xvoid ok(w, client_data, call_data)
  1157. XWidget w;
  1158. XXtPointer client_data, call_data;
  1159. X{
  1160. X  destroy_info = 1;
  1161. X}
  1162. X
  1163. Xvoid quit(w, client_data, call_data)
  1164. XWidget w;
  1165. XXtPointer client_data;
  1166. XXtPointer call_data;
  1167. X{
  1168. X  done = 1;
  1169. X}
  1170. X
  1171. Xstatic unsigned destroy_help = 1;
  1172. Xstatic Widget help_window;
  1173. X
  1174. Xvoid help(w, client_data, call_data)
  1175. XWidget w;
  1176. XXtPointer client_data, call_data;
  1177. X{
  1178. X  if (!destroy_help)
  1179. X    {
  1180. X      XtDestroyWidget(help_window);
  1181. X      destroy_help = 1;
  1182. X    }
  1183. X  else
  1184. X    {
  1185. X      destroy_help = 0;
  1186. X
  1187. X      help_window = XtVaCreateManagedWidget("Element Info",formWidgetClass,
  1188. X                        MainW,
  1189. X                        XtNfromHoriz, NULL,
  1190. X                        XtNfromVert, NULL,
  1191. X                        XtNwidth, 200,
  1192. X                        XtNheight, 250,
  1193. X                        XtNvertDistance, 60,
  1194. X                        XtNhorizDistance, 40,
  1195. X                        XtNbackground, mbgpix,
  1196. X                        XtNforeground, mfgpix,
  1197. X                        XtNfont, mfontstruct,
  1198. X                        XtNborderColor, slate_grey, NULL);
  1199. X      display_help(help_window);
  1200. X      
  1201. X      while (!destroy_info && !done && !destroy_help)
  1202. X    {
  1203. X      XtNextEvent(&theEvent);
  1204. X      XtDispatchEvent(&theEvent);
  1205. X      if(theEvent.type == Expose)
  1206. X        display_help();
  1207. X    }
  1208. X      XtDestroyWidget(help_window);
  1209. X      destroy_help = 1;
  1210. X    }
  1211. X}
  1212. X
  1213. Xdisplay_help(w)
  1214. XWidget w;
  1215. X{
  1216. X  XDrawString(p_disp, XtWindow(w), theGC, 10, 10 + mfontheight, "Number", 6);
  1217. X  XDrawString(p_disp, XtWindow(w), BigGC,
  1218. X          100 - XTextWidth(BigFont, "Sy", 2) / 2, 110 + mfontheight,
  1219. X          "Sy", 2);
  1220. X  XDrawString(p_disp, XtWindow(w), theGC, 
  1221. X          190 - XTextWidth(mfontstruct, "Mass", 4),
  1222. X          10 + mfontheight, "Mass", 4);
  1223. X  XDrawString(p_disp, XtWindow(w), theGC, 10, 60 + mfontheight, "BP", 2);
  1224. X  XDrawString(p_disp, XtWindow(w), theGC, 10, 100 + mfontheight, "MP", 2);
  1225. X  XDrawString(p_disp, XtWindow(w), theGC, 10, 140 + mfontheight, "Density", 7);
  1226. X
  1227. X  XDrawString(p_disp, XtWindow(w), theGC,
  1228. X          185 - XTextWidth(mfontstruct, "Atomic", 6),
  1229. X          55 + mfontheight, "Atomic", 6);
  1230. X  XDrawString(p_disp, XtWindow(w), theGC,
  1231. X          190 - XTextWidth(mfontstruct, "Radius", 6),
  1232. X          55 + 2 * mfontheight, "Radius", 6);
  1233. X
  1234. X  XDrawString(p_disp, XtWindow(w), theGC,
  1235. X          185 - XTextWidth(mfontstruct, "Covalent", 8),
  1236. X          95 + mfontheight, "Covalent", 8);
  1237. X  XDrawString(p_disp, XtWindow(w), theGC,
  1238. X          190 - XTextWidth(mfontstruct, "Radius", 6),
  1239. X          95 + 2 * mfontheight, "Radius", 6);
  1240. X
  1241. X  XDrawString(p_disp, XtWindow(w), theGC,
  1242. X          185 - XTextWidth(mfontstruct, "Atomic", 6),
  1243. X          135 + mfontheight, "Atomic", 6);
  1244. X  XDrawString(p_disp, XtWindow(w), theGC,
  1245. X          190 - XTextWidth(mfontstruct, "Volume", 6),
  1246. X          135 + 2 * mfontheight, "Volume", 6);
  1247. X
  1248. X  XDrawString(p_disp, XtWindow(w), theGC,
  1249. X          100 - XTextWidth(mfontstruct, "Name", 4) / 2,
  1250. X          190 + mfontheight, "Name", 4);
  1251. X}
  1252. X
  1253. Xdisplay_info(w, element)
  1254. XWidget w;
  1255. Xunsigned element;
  1256. X{
  1257. X  char *temp_buf, *temp2;
  1258. X
  1259. X  temp_buf = (char *)malloc(100);
  1260. X
  1261. X  sprintf(temp_buf, "%d", p_table[element].atomic_number);
  1262. X  XDrawString(p_disp, XtWindow(w), theGC, 10, 10 + mfontheight, temp_buf,
  1263. X        strlen(temp_buf));
  1264. X
  1265. X  sprintf(temp_buf, "%s", p_table[element].symbol);
  1266. X  temp2 = strchr(temp_buf, ' ');
  1267. X  *temp2 = 0;
  1268. X  XDrawString(p_disp, XtWindow(w), BigGC,
  1269. X          100 - XTextWidth(BigFont, temp_buf, strlen(temp_buf)) / 2,
  1270. X          110 + mfontheight, temp_buf, strlen(temp_buf));
  1271. X
  1272. X  sprintf(temp_buf, "%1.4lf", p_table[element].atomic_mass);
  1273. X  XDrawString(p_disp, XtWindow(w), theGC,
  1274. X          190 - XTextWidth(mfontstruct, temp_buf, strlen(temp_buf)),
  1275. X          10 + mfontheight, temp_buf, strlen(temp_buf));
  1276. X
  1277. X  if (p_table[element].boiling_pt > 0.0)
  1278. X    sprintf(temp_buf, "%.2lf", p_table[element].boiling_pt);
  1279. X  else
  1280. X    strcpy(temp_buf, "--");
  1281. X  XDrawString(p_disp, XtWindow(w), theGC, 10, 60 + mfontheight, temp_buf,
  1282. X          strlen(temp_buf));
  1283. X
  1284. X  if (p_table[element].melting_pt > 0.0)
  1285. X    sprintf(temp_buf, "%.2lf", p_table[element].melting_pt);
  1286. X  else
  1287. X    strcpy(temp_buf, "--");
  1288. X  XDrawString(p_disp, XtWindow(w), theGC, 10, 100 + mfontheight, temp_buf,
  1289. X          strlen(temp_buf));
  1290. X
  1291. X
  1292. X  if (p_table[element].density > 0.0)
  1293. X    sprintf(temp_buf, "%.2lf", p_table[element].density);
  1294. X  else
  1295. X    strcpy(temp_buf, "--");
  1296. X  XDrawString(p_disp, XtWindow(w), theGC, 10, 140 + mfontheight, temp_buf,
  1297. X          strlen(temp_buf));
  1298. X
  1299. X  if (p_table[element].atomic_radius > 0.0)
  1300. X    sprintf(temp_buf, "%.2lf", p_table[element].atomic_radius);
  1301. X  else
  1302. X    strcpy(temp_buf, "--");
  1303. X  XDrawString(p_disp, XtWindow(w), theGC,
  1304. X          190 - XTextWidth(mfontstruct, temp_buf, strlen(temp_buf)),
  1305. X          60 + mfontheight, temp_buf, strlen(temp_buf));
  1306. X
  1307. X  if (p_table[element].covalent_radius > 0.0)
  1308. X    sprintf(temp_buf, "%.2lf", p_table[element].covalent_radius);
  1309. X  else
  1310. X    strcpy(temp_buf, "--");
  1311. X  XDrawString(p_disp, XtWindow(w), theGC,
  1312. X          190 - XTextWidth(mfontstruct, temp_buf, strlen(temp_buf)),
  1313. X          100 + mfontheight, temp_buf, strlen(temp_buf));
  1314. X
  1315. X  if (p_table[element].atomic_volume > 0.0)
  1316. X    sprintf(temp_buf, "%.2lf", p_table[element].atomic_volume);
  1317. X  else
  1318. X    strcpy(temp_buf, "--");
  1319. X  XDrawString(p_disp, XtWindow(w), theGC,
  1320. X          190 - XTextWidth(mfontstruct, temp_buf, strlen(temp_buf)),
  1321. X          140 + mfontheight, temp_buf, strlen(temp_buf));
  1322. X
  1323. X  strcpy(temp_buf, p_table[element].name);
  1324. X  temp2 = strchr(temp_buf, ' ');
  1325. X  *temp2 = 0;
  1326. X  XDrawString(p_disp, XtWindow(w), theGC,
  1327. X          100 - XTextWidth(mfontstruct, temp_buf, strlen(temp_buf)) / 2,
  1328. X          190 + mfontheight, temp_buf, strlen(temp_buf));
  1329. X
  1330. X  free(temp_buf);
  1331. X}
  1332. END_OF_FILE
  1333. if test 10040 -ne `wc -c <'table.c'`; then
  1334.     echo shar: \"'table.c'\" unpacked with wrong size!
  1335. fi
  1336. # end of 'table.c'
  1337. fi
  1338. if test -f 'xpt.c' -a "${1}" != "-c" ; then 
  1339.   echo shar: Will not clobber existing file \"'xpt.c'\"
  1340. else
  1341. echo shar: Extracting \"'xpt.c'\" \(1291 characters\)
  1342. sed "s/^X//" >'xpt.c' <<'END_OF_FILE'
  1343. X/**
  1344. X *
  1345. X *  xpt -- An X Periodic Table
  1346. X *
  1347. X * Written by Joel P. Lord 03/05/93
  1348. X *
  1349. X *    This software is available for free distribution,
  1350. X * under the condition that this not be removed from the
  1351. X * source code.
  1352. X *
  1353. X**/
  1354. X
  1355. X#define MAIN
  1356. X#include <stdio.h>
  1357. X#include "xpt.h"
  1358. X
  1359. Xmain(argc, argv)
  1360. Xint argc;
  1361. Xchar *argv[];
  1362. X{
  1363. X  Arg args[20];
  1364. X  int n = 0;
  1365. X  XGCValues gcv;
  1366. X
  1367. X  toplevel = XtInitialize("xpt", "X Periodic Table",
  1368. X              NULL, 0, &argc, argv);
  1369. X
  1370. X  p_disp = XtDisplay(toplevel);
  1371. X
  1372. X  mfontstruct = (XFontStruct *)GetFont(HELV_MEDIUM_12);
  1373. X  BigFont = (XFontStruct *)GetFont(HELV_BOLD_24);
  1374. X  mfontheight = mfontstruct->max_bounds.ascent +
  1375. X    mfontstruct->max_bounds.descent;
  1376. X
  1377. X  init_colors();
  1378. X
  1379. X  XtSetArg(args[n], XtNfont, mfontstruct);
  1380. X  n++;
  1381. X  XtSetArg(args[n], XtNheight, 320);
  1382. X  n++;
  1383. X  XtSetArg(args[n], XtNwidth, 480);
  1384. X  n++;
  1385. X  XtSetArg(args[n], XtNbackground, mbgpix);
  1386. X  n++;
  1387. X  XtSetArg(args[n], XtNforeground, mfgpix);
  1388. X  n++;
  1389. X
  1390. X  MainW = XtCreateManagedWidget("Xpt", formWidgetClass, toplevel, args, n);
  1391. X
  1392. X  XtRealizeWidget(toplevel);
  1393. X
  1394. X  theGC = (GC)CreateGC(XtWindow(MainW), mfontstruct, mfgpix, mbgpix);
  1395. X  BigGC = (GC)CreateGC(XtWindow(MainW), BigFont, mfgpix, mbgpix);
  1396. X
  1397. X  init_table();
  1398. X
  1399. X  done = 0;
  1400. X
  1401. X  while (!done)
  1402. X    {
  1403. X      XtNextEvent(&theEvent);
  1404. X      XtDispatchEvent(&theEvent);
  1405. X    }
  1406. X}
  1407. END_OF_FILE
  1408. if test 1291 -ne `wc -c <'xpt.c'`; then
  1409.     echo shar: \"'xpt.c'\" unpacked with wrong size!
  1410. fi
  1411. # end of 'xpt.c'
  1412. fi
  1413. if test -f 'xpt.h' -a "${1}" != "-c" ; then 
  1414.   echo shar: Will not clobber existing file \"'xpt.h'\"
  1415. else
  1416. echo shar: Extracting \"'xpt.h'\" \(10551 characters\)
  1417. sed "s/^X//" >'xpt.h' <<'END_OF_FILE'
  1418. X/**
  1419. X *
  1420. X * xpt -- An X Periodic Table
  1421. X *
  1422. X * xpt.h -- some necessary global variables, data types, and LOTS of info
  1423. X *
  1424. X * Written by Joel P. Lord 03/05/93
  1425. X *
  1426. X *    This software is available for free distribution,
  1427. X * under the condition that this not be removed from the
  1428. X * source code.
  1429. X *
  1430. X**/
  1431. X
  1432. X#include <X11/Intrinsic.h>
  1433. X#include <X11/StringDefs.h>
  1434. X#include <X11/Xaw/XawInit.h>
  1435. X#include <X11/Xaw/Simple.h>
  1436. X#include <X11/Xaw/Command.h>
  1437. X#include <X11/extensions/Xext.h>
  1438. X#include <X11/Xaw/Command.h>
  1439. X#include <X11/Xaw/Box.h>
  1440. X#include <X11/Xaw/Form.h>
  1441. X#include <X11/Xaw/Dialog.h>
  1442. X#include <X11/Xaw/Scrollbar.h>
  1443. X#include <X11/Xaw/List.h>
  1444. X#include <X11/Xaw/Label.h>
  1445. X#include "Xprogs.h"
  1446. X#include "fontlist.h"
  1447. X
  1448. Xstruct element_stats {
  1449. X  double        atomic_radius;
  1450. X  double        covalent_radius;
  1451. X  unsigned      atomic_number;
  1452. X  double        atomic_mass;
  1453. X  char          symbol[4];
  1454. X  double    boiling_pt;
  1455. X  double    melting_pt;
  1456. X  double    density;
  1457. X  double    atomic_volume;
  1458. X  char        name[14];
  1459. X};
  1460. X
  1461. X#ifdef MAIN
  1462. X
  1463. XWidget toplevel, MainW;
  1464. Xint done;
  1465. XColormap default_cmap;
  1466. Xunsigned long red, white, slate_grey;
  1467. XXFontStruct *BigFont;
  1468. XGC BigGC;
  1469. X
  1470. Xstruct element_stats p_table[] = {
  1471. X0.79, 0.32,   1, 1.00794    , "H  ", 20.268, 14.025 , 0.0899 , 14.4 ,
  1472. X  "Hydrogen     ",
  1473. X0.49, 0.93,   2, 4.002602   , "He ", 4.215 , 0.95   , 0.1787 , 0.0  ,
  1474. X  "Helium       ",
  1475. X2.05, 1.23,   3, 6.941      , "Li ", 1615  , 453.7  , 0.53   , 13.10,
  1476. X  "Lithium      ",
  1477. X1.40, 0.90,   4, 9.012182   , "Be ", 2745  , 1560.0 , 1.85   , 5.0  ,
  1478. X  "Beryllium    ",
  1479. X1.17, 0.82,   5, 10.811     , "B  ", 4275  , 2300.0 , 2.34   , 4.6  ,
  1480. X  "Boron        ",
  1481. X0.91, 0.77,   6, 12.011     , "C  ", 4470.0, 4100.0 , 2.62   , 4.58 ,
  1482. X  "Carbon       ",
  1483. X0.75, 0.75,   7, 14.00674   , "N  ", 77.35 , 63.14  , 1.251  , 17.3 ,
  1484. X  "Nitrogen     ",
  1485. X0.65, 0.73,   8, 15.9994    , "O  ", 90.18 , 50.35  , 1.429  , 14.0 ,
  1486. X  "Oxygen       ",
  1487. X0.57, 0.72,   9, 18.9984032 , "F  ", 84.95 , 53.48  , 1.696  , 17.1 ,
  1488. X  "Fluorine     ",
  1489. X0.51, 0.71,  10, 20.1797    , "Ne ", 27.096, 24.553 , 0.901  , 16.7 ,
  1490. X  "Neon         ",
  1491. X2.23, 1.54,  11, 22.989768  , "Na ", 1156  , 371.0  , 0.97   , 23.7 ,
  1492. X  "Sodium       ",
  1493. X1.72, 1.36,  12, 24.3050    , "Mg ", 1363  , 922    , 1.74   , 13.97,
  1494. X  "Magnesium    ",
  1495. X1.82, 1.18,  13, 26.981539  , "Al ", 2793  , 933.25 , 2.70   , 10.0 ,
  1496. X  "Aluminum     ",
  1497. X1.46, 1.11,  14, 28.0855    , "Si ", 3540.0, 1685   , 2.33   , 12.1 ,
  1498. X  "Silicon      ",
  1499. X1.23, 1.06,  15, 30.97362   , "P  ", 550.0 , 317.30 , 1.82   , 17.0 ,
  1500. X  "Phosphorus   ",
  1501. X1.09, 1.02,  16, 32.066     , "S  ", 717.75, 388.36 , 2.07   , 15.5 ,
  1502. X  "Sulfur       ",
  1503. X0.97, 0.99,  17, 35.4527    , "Cl ", 239.1 , 172.16 , 3.17   , 22.7 ,
  1504. X  "Chlorine     ",
  1505. X0.88, 0.98,  18, 39.948     , "Ar ", 87.30 , 83.81  , 1.784  , 28.5 ,
  1506. X  "Argon        ",
  1507. X2.77, 2.03,  19, 39.0983    , "K  ", 1032  , 336.35 , 0.86   , 45.46,
  1508. X  "Potassium    ",
  1509. X2.23, 1.91,  20, 40.078     , "Ca ", 1757  , 1112   , 1.55   , 29.9 ,
  1510. X  "Calcium      ",
  1511. X2.09, 1.62,  21, 44.955910  , "Sc ", 3104  , 1812   , 3.0    , 15.0 ,
  1512. X  "Scandium     ",
  1513. X2.00, 1.45,  22, 47.88      , "Ti ", 3562  , 1943   , 4.50   , 10.64,
  1514. X  "Titanium     ",
  1515. X1.92, 1.34,  23, 50.9415    , "V  ", 3682  , 2175   , 5.8    , 8.78 ,
  1516. X  "Vanadium     ",
  1517. X1.85, 1.18,  24, 51.9961    , "Cr ", 2945  , 2130.0 , 7.19   , 7.23 ,
  1518. X  "Chromium     ",
  1519. X1.79, 1.17,  25, 54.93085   , "Mn ", 2335  , 1517   , 7.43   , 1.39 ,
  1520. X  "Manganese    ",
  1521. X1.72, 1.17,  26, 55.847     , "Fe ", 3135  , 1809   , 7.86   , 7.1  ,
  1522. X  "Iron         ",
  1523. X1.67, 1.16,  27, 58.93320   , "Co ", 3201  , 1768   , 8.90   , 6.7  ,
  1524. X  "Cobalt       ",
  1525. X1.62, 1.15,  28, 58.69      , "Ni ", 3187  , 1726   , 8.90   , 6.59 ,
  1526. X  "Nickel       ",
  1527. X1.57, 1.17,  29, 63.546     , "Cu ", 2836  , 1357.6 , 8.96   , 7.1  ,
  1528. X  "Copper       ",
  1529. X1.53, 1.25,  30, 65.39      , "Zn ", 1180.0, 692.73 , 7.14   , 9.2  ,
  1530. X  "Zinc         ",
  1531. X1.81, 1.26,  31, 69.723     , "Ga ", 2478  , 302.90 , 5.91   , 11.8 ,
  1532. X  "Gallium      ",
  1533. X1.52, 1.22,  32, 72.61      , "Ge ", 3107  , 1210.4 , 5.32   , 13.6 ,
  1534. X  "Germanium    ",
  1535. X1.33, 1.20,  33, 74.92159   , "As ", 876   , 1081   , 5.72   , 13.1 ,
  1536. X  "Arsenic      ",
  1537. X1.22, 1.16,  34, 78.96      , "Se ", 958   , 494    , 4.80   , 16.45,
  1538. X  "Selenium     ",
  1539. X1.12, 1.14,  35, 79.904     , "Br ", 332.25, 265.90 , 3.12   , 23.5 ,
  1540. X  "Bromine      ",
  1541. X1.03, 1.12,  36, 83.80      , "Kr ", 119.80, 115.78 , 3.74   , 38.9 ,
  1542. X  "Krypton      ",
  1543. X2.98, 2.16,  37, 85.4678    , "Rb ", 961   , 312.64 , 1.53   , 55.9 ,
  1544. X  "Rubidium     ",
  1545. X2.45, 1.91,  38, 87.62      , "Sr ", 1650.0, 1041   , 2.6    , 33.7 ,
  1546. X  "Strontium    ",
  1547. X2.27, 1.62,  39, 88.90585   , "Y  ", 3611  , 1799   , 4.5    , 19.8 ,
  1548. X  "Yttrium      ",
  1549. X2.16, 1.45,  40, 91.224     , "Zr ", 4682  , 2125   , 6.49   , 14.1 ,
  1550. X  "Zirconium    ",
  1551. X2.09, 1.34,  41, 92.90638   , "Nb ", 5017  , 2740.0 , 8.55   , 10.87,
  1552. X  "Niobium      ",
  1553. X2.01, 1.30,  42, 95.94      , "Mo ", 4912  , 2890.0 , 10.2   , 9.4  ,
  1554. X  "Molybdenum   ",
  1555. X1.95, 1.27,  43, 98         , "Tc ", 4538  , 2473   , 11.5   , 8.5  ,
  1556. X  "Technetium   ",
  1557. X1.89, 1.25,  44, 101.07     , "Ru ", 4423  , 2523   , 12.2   , 8.3  ,
  1558. X  "Ruthenium    ",
  1559. X1.83, 1.25,  45, 102.90550  , "Rh ", 3970.0, 2236   , 12.4   , 8.3  ,
  1560. X  "Rhodium      ",
  1561. X1.79, 1.28,  46, 106.42     , "Pd ", 3237  , 1825   , 12.0   , 8.9  ,
  1562. X  "Palladium    ",
  1563. X1.75, 1.34,  47, 107.8682   , "Ag ", 2436  , 1234   , 10.5   , 10.3 ,
  1564. X  "Silver       ",
  1565. X1.71, 1.48,  48, 112.411    , "Cd ", 1040.0, 594.18 , 8.65   , 13.1 ,
  1566. X  "Cadmium      ",
  1567. X2.00, 1.44,  49, 114.82     , "In ", 2346  , 429.76 , 7.31   , 15.7 ,
  1568. X  "Indium       ",
  1569. X1.72, 1.41,  50, 118.710    , "Sn ", 2876  , 505.06 , 7.30   , 16.3 ,
  1570. X  "Tin          ",
  1571. X1.53, 1.40,  51, 121.75     , "Sb ", 1860.0, 904    , 6.68   , 18.23,
  1572. X  "Antimony     ",
  1573. X1.42, 1.36,  52, 127.60     , "Te ", 1261  , 722.65 , 6.24   , 20.5 ,
  1574. X  "Tellurium    ",
  1575. X1.32, 1.33,  53, 126.90447  , "I  ", 458.4 , 386.7  , 4.92   , 25.74,
  1576. X  "Iodine       ",
  1577. X1.24, 1.31,  54, 131.29     , "Xe ", 165.03, 161.36 , 5.89   , 37.3 ,
  1578. X  "Xenon        ",
  1579. X3.34, 2.35,  55, 132.90543  , "Cs ", 944   , 301.55 , 1.87   , 71.07,
  1580. X  "Cesium       ",
  1581. X2.78, 1.98,  56, 137.327    , "Ba ", 2171  , 1002   , 3.5    , 39.24,
  1582. X  "Barium       ",
  1583. X2.74, 1.69,  57, 138.9055   , "La ", 3730.0, 1193   , 6.7    , 20.73,
  1584. X  "Lanthanum    ",
  1585. X2.16, 1.44,  72, 178.49     , "Hf ", 4876  , 2500.0 , 13.1   , 13.6 ,
  1586. X  "Hafnium      ",
  1587. X2.09, 1.34,  73, 180.9479   , "Ta ", 5731  , 3287   , 16.6   , 10.90,
  1588. X  "Tantalum     ",
  1589. X2.02, 1.30,  74, 183.85     , "W  ", 5828  , 3680.0 , 19.3   , 9.53 ,
  1590. X  "Tungsten     ",
  1591. X1.97, 1.28,  75, 186.207    , "Re ", 5869  , 3453   , 21.0   , 8.85 ,
  1592. X  "Rhenium      ",
  1593. X1.92, 1.26,  76, 190.2      , "Os ", 5285  , 3300.0 , 22.4   , 8.49 ,
  1594. X  "Osmium       ",
  1595. X1.87, 1.27,  77, 192.22     , "Ir ", 4701  , 2716   , 22.5   , 8.54 ,
  1596. X  "Iridium      ",
  1597. X1.83, 1.30,  78, 195.08     , "Pt ", 4100.0, 2045   , 21.4   , 9.10 ,
  1598. X  "Platinum     ",
  1599. X1.79, 1.34,  79, 196.96654  , "Au ", 3130.0, 1337.58, 19.3   , 10.2 ,
  1600. X  "Gold         ",
  1601. X1.76, 1.49,  80, 200.59     , "Hg ", 630.0 , 234.28 , 13.53  , 14.82,
  1602. X  "Mercury      ",
  1603. X2.08, 1.48,  81, 204.3833   , "Tl ", 1746  , 577    , 11.85  , 17.2 ,
  1604. X  "Thallium     ",
  1605. X1.81, 1.47,  82, 207.2      , "Pb ", 2023  , 600.6  , 11.4   , 18.17,
  1606. X  "Lead         ",
  1607. X1.63, 1.46,  83, 208.98037  , "Bi ", 1837  , 544.52 , 9.8    , 21.3 ,
  1608. X  "Bismuth      ",
  1609. X1.53, 1.46,  84, 209        , "Po ", 1235  , 527    , 9.4    , 22.23,
  1610. X  "Polonium     ",
  1611. X1.43, 1.45,  85, 210.0      , "At ", 610.0 , 575    , 0.0    , 0.0  ,
  1612. X  "Astatine     ",
  1613. X1.34, 1.43,  86, 222        , "Rn ", 211   , 202    , 9.91   , 50.5 ,
  1614. X  "Radon        ",
  1615. X3.50, 2.50,  87, 223        , "Fr ", 950.0 , 300.0  , 0.0    , 0.0  ,
  1616. X  "Francium     ",
  1617. X3.00, 2.40,  88, 226.025    , "Ra ", 1809  , 973    , 5      , 45.20,
  1618. X  "Radium       ",
  1619. X3.20, 2.20,  89, 227.028    , "Ac ", 3473  , 1323   , 10.07  , 22.54,
  1620. X  "Actinium     ",
  1621. X2.70, 1.65,  58, 140.115    , "Ce ", 3699  , 1071   , 6.78   , 20.67,
  1622. X  "Cerium       ",
  1623. X2.67, 1.65,  59, 140.90765  , "Pr ", 3785  , 1204   , 6.77   , 20.8 ,
  1624. X  "Praseodymium ",
  1625. X2.64, 1.64,  60, 144.24     , "Nd ", 3341  , 1289   , 7.00   , 20.6 ,
  1626. X  "Neodymium    ",
  1627. X2.62, 1.63,  61, 145        , "Pm ", 3785  , 1204   , 6.475  , 22.39,
  1628. X  "Promethium   ",
  1629. X2.59, 1.62,  62, 150.36     , "Sm ", 2064  , 1345   , 7.54   , 19.95,
  1630. X  "Samarium     ",
  1631. X2.56, 1.85,  63, 151.965    , "Eu ", 1870.0, 1090.0 , 5.26   , 28.9 ,
  1632. X  "Europium     ",
  1633. X2.54, 1.61,  64, 157.25     , "Gd ", 3539  , 1585   , 7.89   , 19.9 ,
  1634. X  "Gadolinium   ",
  1635. X2.51, 1.59,  65, 158.92534  , "Tb ", 3496  , 1630.0 , 8.27   , 19.2 ,
  1636. X  "Terbium      ",
  1637. X2.49, 1.59,  66, 162.50     , "Dy ", 2835  , 1682   , 8.54   , 19.0 ,
  1638. X  "Dysprosium   ",
  1639. X2.47, 1.58,  67, 164.93032  , "Ho ", 2968  , 1743   , 8.80   , 18.7 ,
  1640. X  "Holmium      ",
  1641. X2.45, 1.57,  68, 167.26     , "Er ", 3136  , 1795   , 9.05   , 18.4 ,
  1642. X  "Erbium       ",
  1643. X2.42, 1.56,  69, 168.93421  , "Tm ", 2220.0, 1818   , 9.33   , 18.1 ,
  1644. X  "Thulium      ",
  1645. X2.40, 1.74,  70, 173.04     , "Yb ", 1467  , 1097   , 6.98   , 24.79,
  1646. X  "Ytterbium    ",
  1647. X2.25, 1.56,  71, 174.967    , "Lu ", 3668  , 1936   , 9.84   , 17.78,
  1648. X  "Lutetium     ",
  1649. X3.16, 1.65,  90, 232.0381   , "Th ", 5061  , 2028   , 11.7   , 19.9 ,
  1650. X  "Thorium      ",
  1651. X3.14, 0.0 ,  91, 231.03588  , "Pa ", 0.0   , 0.0    , 15.4   , 15.0 ,
  1652. X  "Protactinium ",
  1653. X3.11, 1.42,  92, 238.0289   , "U  ", 4407  , 1405   , 18.90  , 12.59,
  1654. X  "Uranium      ",
  1655. X3.08, 0.0 ,  93, 237.048    , "Np ", 0.0   , 910.0  , 20.4   , 11.62,
  1656. X  "Neptunium    ",
  1657. X3.05, 0.0 ,  94, 244        , "Pu ", 3503  , 913    , 19.8   , 12.32,
  1658. X  "Plutonium    ",
  1659. X3.02, 0.0 ,  95, 243        , "Am ", 2880.0, 1268   , 13.6   , 17.86,
  1660. X  "Americium    ",
  1661. X2.99, 0.0 ,  96, 247        , "Cm ", 0.0   , 1340.0 , 13.511 , 18.28,
  1662. X  "Curium       ",
  1663. X2.97, 0.0 ,  97, 247        , "Bk ", 0.0   , 0.0    , 0.0    , 0.0  ,
  1664. X  "Berkelium    ",
  1665. X2.95, 0.0 ,  98, 251        , "Cf ", 0.0   , 900.0  , 0.0    , 0.0  ,
  1666. X  "Californium  ",
  1667. X2.92, 0.0 ,  99, 252        , "Es ", 0.0   , 0.0    , 0.0    , 0.0  ,
  1668. X  "Einsteinium  ",
  1669. X2.90, 0.0 , 100, 257        , "Fm ", 0.0   , 0.0    , 0.0    , 0.0  ,
  1670. X  "Fermium      ",
  1671. X2.87, 0.0 , 101, 258        , "Md ", 0.0   , 0.0    , 0.0    , 0.0  ,
  1672. X  "Mendelevium  ",
  1673. X2.85, 0.0 , 102, 259        , "No ", 0.0   , 0.0    , 0.0    , 0.0  ,
  1674. X  "Nobelium     ",
  1675. X2.82, 0.0 , 103, 260.0      , "Lr ", 0.0   , 0.0    , 0.0    , 0.0  ,
  1676. X  "Lawrencium   "
  1677. X};
  1678. X
  1679. X#else
  1680. X
  1681. Xextern Widget toplevel, MainW;
  1682. Xextern Colormap default_cmap;
  1683. Xextern unsigned long red, white, slate_grey;
  1684. Xextern struct element_stats p_table[];
  1685. Xextern int done;
  1686. Xextern XFontStruct *BigFont;
  1687. Xextern GC BigGC;
  1688. X
  1689. X#endif
  1690. END_OF_FILE
  1691. if test 10551 -ne `wc -c <'xpt.h'`; then
  1692.     echo shar: \"'xpt.h'\" unpacked with wrong size!
  1693. fi
  1694. # end of 'xpt.h'
  1695. fi
  1696. echo shar: End of shell archive.
  1697. exit 0
  1698.  
  1699. exit 0 # Just in case...
  1700. -- 
  1701.   // chris@IMD.Sterling.COM            | Send comp.sources.x submissions to:
  1702. \X/  Amiga - The only way to fly!      |
  1703.  "It's intuitively obvious to the most |    sources-x@imd.sterling.com
  1704.   casual observer..."                  |
  1705.