123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414 |
- diff -Naur a/data/m_ps.fnt b/data/m_ps.fnt
- --- a/data/m_ps.fnt 1969-12-31 19:00:00.000000000 -0500
- +++ b/data/m_ps.fnt 2017-12-19 22:33:27.691556645 -0500
- @@ -0,0 +1,35 @@
- + 1 0013 1947 1 5 5 1 4.5.1 0 0 0 1 Times-Roman
- + 2 0013 1947 1 7 5 1 4.5.1 0 0 0 1 Times-Bold
- + 3 0013 1947 2 5 5 1 4.5.1 0 0 0 1 Times-Italic
- + 4 0013 1947 2 7 5 1 4.5.1 0 0 0 1 Times-BoldItalic
- + 5 0013 1921 1 5 5 1 5.1.2 0 0 0 1 Helvetica
- + 6 0013 1921 1 7 5 1 5.1.2 0 0 0 1 Helvetica-Bold
- + 7 0013 1921 2 5 5 1 5.1.2 0 0 0 1 Helvetica-Oblique
- + 8 0013 1921 2 7 5 1 5.1.2 0 0 0 1 Helvetica-BoldOblique
- + 9 0013 1970 1 5 5 1 4.6.5 0 0 0 1 Courier
- + 10 0013 1970 1 7 5 1 4.6.5 0 0 0 1 Courier-Bold
- + 11 0013 1970 2 5 5 1 4.6.5 0 0 0 1 Courier-Oblique
- + 12 0013 1970 2 7 5 1 4.6.5 0 0 0 1 Courier-BoldOblique
- + 13 0013 1650 1 5 5 1 8.2.0 0 0 0 91 Symbol
- + 14 0013 1087 1 5 5 1 4.4.2 0 0 0 1 AvantGarde-Book
- + 15 0013 1087 2 5 5 1 4.4.2 0 0 0 1 AvantGarde-BookOblique
- + 16 0013 1087 1 6 5 1 4.4.2 0 0 0 1 AvantGarde-Demi
- + 17 0013 1087 2 6 5 1 4.4.2 0 0 0 1 AvantGarde-DemiOblique
- + 18 0013 1097 1 6 5 1 4.5.2 0 0 0 1 Bookman-Demi
- + 19 0013 1097 2 6 5 1 4.5.2 0 0 0 1 Bookman-DemiItalic
- + 20 0013 1097 1 4 5 1 4.5.2 0 0 0 1 Bookman-Light
- + 21 0013 1097 2 4 5 1 4.5.2 0 0 0 1 Bookman-LightItalic
- + 22 0013 1921 1 5 3 1 5.1.2 0 0 0 1 Helvetica-Narrow
- + 23 0013 1921 2 7 3 1 5.1.2 0 0 0 1 Helvetica-Narrow-Bold
- + 24 0013 1921 1 7 3 1 5.1.2 0 0 0 1 Helvetica-Narrow-BoldOblique
- + 25 0013 1921 2 5 3 1 5.1.2 0 0 0 1 Helvetica-Narrow-Oblique
- + 26 0013 1106 1 5 5 1 4.1.3 0 0 0 1 NewCenturySchlbk-Roman
- + 27 0013 1106 2 5 5 1 4.1.3 0 0 0 1 NewCenturySchlbk-Italic
- + 28 0013 1106 1 7 5 1 4.1.3 0 0 0 1 NewCenturySchlbk-Bold
- + 29 0013 1106 2 7 5 1 4.1.3 0 0 0 1 NewCenturySchlbk-BoldItalic
- + 30 0013 1276 1 5 5 1 4.4.2 0 0 0 1 Palatino-Roman
- + 31 0013 1276 2 5 5 1 4.4.2 0 0 0 1 Palatino-Italic
- + 32 0013 1276 1 7 5 1 4.4.2 0 0 0 1 Palatino-Bold
- + 33 0013 1276 2 7 5 1 4.4.2 0 0 0 1 Palatino-BoldItalic
- + 34 0013 1810 1 5 5 1 8.0.0 0 0 0 92 ZapfDingbats
- + 35 0013 1193 2 5 5 1 6.1.1 0 0 0 1 ZapfChancery-MediumItalic
- diff -Naur a/include/mach.h b/include/mach.h
- --- a/include/mach.h 1969-12-31 19:00:00.000000000 -0500
- +++ b/include/mach.h 2017-12-19 22:34:41.145556770 -0500
- @@ -0,0 +1,33 @@
- +/* RAL-CGM Interpreter header file
- + *
- + * Linux specific setting for CGM interpreter
- + */
- +
- +/* Define Machine */
- +
- +#define LINUX
- +
- +/* Define Graphics system(s) */
- +
- +#define POSTSCRIPT
- +#define BEZIER
- +#define HERSHEY
- +#define XW
- +
- +#define DATADIR "../data/"
- +
- +#define NAMELGTH 32
- +#define EXTLGTH 8
- +
- +#define Posint64 unsigned long long
- +#define MALLOCH
- +#include <stdlib.h>
- +
- +#ifdef CGMOXW_C /* X-Window specific settings */
- +
- +#include <X11/cursorfont.h>
- +#include <X11/Xlib.h>
- +#include <X11/Xutil.h>
- +#include <X11/Xatom.h>
- +
- +#endif
- diff -Naur a/src/Makefile b/src/Makefile
- --- a/src/Makefile 1969-12-31 19:00:00.000000000 -0500
- +++ b/src/Makefile 2017-12-19 22:35:58.377556901 -0500
- @@ -0,0 +1,333 @@
- +# RAL-CGM Interpreter source Makefile: @(#) Makebase version 3.4
- +#
- +# Name of executable module (usually ../bin/ralcgm)
- +#
- +MODULE = ../bin/ralcgm
- +#
- +# Name of callable library (Optional) (usually ../bin/libcgm.a)
- +#
- +LIB = ../bin/libcgm.a
- +#
- +# Include file directory (usually ../include)
- +#
- +INCLUDE = ../include
- +#
- +# Data files directory (usually ../data)
- +#
- +DATADIR = ../data
- +#
- +# Main Interpreter object file (usually cgmmain.o)
- +#
- +MAIN = cgmmain.o
- +#
- +#
- +#
- +MAKEFILE = Makefile
- +#
- +# CGM input encoding - Object files
- +# Include here files for each encoding that
- +# may need to be processed; usually
- +# cgmichar.o cgmitext.o cgmibin.o
- +#
- +INPUT = cgmichar.o cgmitext.o cgmibin.o
- +#
- +# CGM output encoding - Object files
- +# Include here files for each encoding that
- +# may be generated; usually
- +# cgmochar.o cgmotext.o cgmobin.o
- +#
- +OUTPUT = cgmochar.o cgmotext.o cgmobin.o
- +#
- +# User callable Library (comment out if not required)
- +#
- +CGMLIB = cgmlib.o
- +#
- +# Optional Drivers
- +#
- +# IGL - Iris Graphics Library
- +# PS - PostScript
- +# XW - X-Windows
- +# VID - Topaz Library
- +#
- +IGL = cgmoigl.o
- +PS = cgmops.o
- +XW = cgmoxw.o
- +VID = cgmotpz.o
- +TEK = cgmotek.o
- +HPGL = cgmohpgl.o
- +#
- +# List of driver files to be used in generating the $(MODULE).
- +#
- +# The possible candidates are:
- +#
- +# $(OUTPUT) list of CGM output encodings defined above
- +# $(IGL) Iris graphics library
- +# $(XW) X-Windows
- +# $(PS) PostScript
- +# $(HPGL) HPGL
- +# $(TEK) Tektronix 4200
- +# $(VID) Video system
- +#
- +DRIVERS = $(PS) $(XW) $(HPGL) $(TEK)
- +#
- +# Input utilities Object files
- +# These provides random access input and convenient
- +# handling of input attributes
- +#
- +ERRUTILS = cgmerr.o
- +ERRINCLUDES = $(INCLUDE)/cgmerr.h
- +
- +FILEUTILS = cgmfile.o
- +FILEINCLUDES = $(INCLUDE)/cgmfile.h
- +
- +GENUTILS = $(FILEUTILS) $(ERRUTILS)
- +GENINCS = $(FILEINCLUDES) \
- + $(ERRINCLUDES)
- +
- +RANUTILS = cgmrand.o cgmprof.o
- +INPUTILS = cgminput.o
- +#
- +# Output utility Object files (only needed with output drivers)
- +# These provide emulation of GDPs, filled areas
- +# and other graphical operations. Not needed by all drivers
- +# currently cgmgdp.o is used by XW, IGL & VID
- +# cgmfill.o & cgmgraph.o are used by IGL only
- +#
- +ATTUTILS = cgmatt.o
- +GDPUTILS = cgmgdp.o
- +FILUTILS = cgmpoly.o cgmtrap.o cgmfill.o cgmgraph.o
- +COLRUTILS = cgmcolr.o
- +CELLUTILS = cgmcell.o
- +PTSUTILS = cgmpts.o
- +#
- +OUTUTILS = $(ATTUTILS) $(GDPUTILS) $(FILUTILS) $(COLRUTILS) $(CELLUTILS) $(PTSUTILS)
- +#
- +# Text utility Object files
- +# These provide software emulation of text and
- +# generally useful text facilities.
- +#
- +# cgmtext.o - general text utility - PS & XW
- +# cgmfont.o - general font utility - PS & XW
- +# cgmbez.o - Bezier text - if wanted
- +# cgmher.o - Hershey text - if wanted
- +#
- +FNTUTILS = cgmfont.o
- +FNTINCLUDES = $(INCLUDE)/cgmfont.h
- +TEXTUTILS = cgmtext.o
- +TEXTINCLUDES = $(INCLUDE)/cgmtext.h
- +#
- +BEZIER = genbez
- +BEZUTILS = cgmbez.o
- +BEZLINK = $(BEZIER).o
- +BEZDATA = $(DATADIR)/*.bfs
- +BEZINCLUDES = $(INCLUDE)/cgmbez.h
- +#
- +HERSHEY = genher
- +HERUTILS = cgmher.o
- +HERLINK = $(HERSHEY).o
- +HERDATA = $(DATADIR)/*.hfs
- +HERINCLUDES = $(INCLUDE)/cgmher.h
- +#
- +# TXTSYS settings, supported text systems are:
- +#
- +# $(HERSHEY)
- +# $(BEZIER)
- +#
- +TXTSYS = $(BEZIER) $(HERSHEY)
- +#
- +# TXTUTILS settings, supported text utilities are:
- +#
- +# $(HERUTILS)
- +# $(BEZUTILS)
- +# List of utility modules required;
- +#
- +TXTUTILS = $(BEZUTILS) $(HERUTILS)
- +#
- +#
- +CGMUTILS = $(RANUTILS)\
- + $(INPUTILS)\
- + $(GENUTILS)\
- + $(OUTUTILS)\
- + $(TXTUTILS)\
- + $(TEXTUTILS)\
- + $(FNTUTILS)
- +#
- +# Set up names for the modules that make up `ralcgm' and `cgmlib'.
- +#
- +RALCGM = $(INPUT)\
- + $(OUTPUT)\
- + $(DRIVERS)\
- + $(CGMUTILS)
- +
- +LIBCGM = $(CGMLIB)\
- + $(OUTPUT)\
- + $(DRIVERS)\
- + $(INPUTILS)\
- + $(GENUTILS)\
- + $(OUTUTILS)\
- + $(TXTUTILS)\
- + $(TEXTUTILS)\
- + $(FNTUTILS)
- +#
- +# Local flags for Compiler (system dependent)
- +#
- +# Examples: (Iris 3130) -Zf -g -p
- +# (Iris 4D) -O
- +# (GNU C on Topaz) -O -m68881 -g
- +# (Sun 3) -O -fswitch
- +# (Sun 4) -O
- +# (Unicos) -O -g
- +#
- +CFLAGS = -c -DPOSTSCRIPT="" -DXW="" -DHPGL="" -DTEK4200="" -DBEZIER="" -DHERSHEY=""
- +#
- +# Local flags for Linker (system dependent)
- +# For X-windows, add some extra libraries (comment out otherwise)
- +#
- +# Examples: (Iris 3130) -Zg -lm
- +# (Iris 4D) -lm -lgl_s -lX11_s -lc_s
- +# (Topaz) -lE -lmalloc -lm
- +# (Sun 3 or 4) -lm -lX11 -lc
- +# (Unicos) -lm -lX11 -lnet -lc
- +# (Unicos - scc) -lm -lX11 -lnet -lsc
- +#
- +LFLAGS = -lm -lX11
- +#
- +# Common include files
- +#
- +GENINCLUDES = $(INCLUDE)/cgmmach.h $(INCLUDE)/mach.h \
- + $(INCLUDE)/cgmtypes.h \
- + $(INCLUDE)/cgmstruc.h \
- + $(INCLUDE)/cgmelem.h \
- + $(INCLUDE)/cgmpar.h \
- + $(INCLUDE)/cgmtran.h \
- + $(INCLUDE)/cgmatt.h
- +#
- +# List of includes for the text system; must match the text utility
- +# .o files given above.
- +#
- +INCLUDES = $(GENINCLUDES) $(TXTINCLUDES) $(FNTINCLUDES) \
- + $(BEZINCLUDES) $(HERINCLUDES) $(GENINCS)
- +#
- +# Define various commands in just one place.
- +#
- +# for Unicos LINK = segldr
- +# AR = bld rv
- +# all others LINK = cc $(LFLAGS)
- +# AR = ar rv
- +#
- +COMPILE = cc
- +LINK = cc
- +AR = ar crs
- +#
- +# Main dependencies (should not need altering)
- +
- +ralcgm: $(MODULE) $(TXTSYS)
- + @echo "$(MODULE) is now made"
- +
- +cgmlib: $(LIB) $(TXTSYS)
- + @echo "$(LIB) is now made"
- +
- +iutils: $(INPUTILS) $(GENUTILS)
- +
- +outils: $(OUTUTILS)
- +
- +tutils: $(TXTUTILS)
- +
- +clean:
- + rm -f *.o core a.out $(TXTSYS)
- +
- +$(MODULE): $(MAIN) $(RALCGM)
- + $(LINK) $(MAIN) $(RALCGM) $(LFLAGS) -o $(MODULE)
- + chmod 755 $(MODULE)
- +
- +$(LIB): $(LIBCGM)
- + $(AR) $(LIB) $(LIBCGM)
- + chmod 644 $(LIB)
- +
- +# include file dependencies
- +
- +$(MAIN): $(INCLUDE)/cgminit.h $(GENINCLUDES) $(MAKEFILE)
- +
- +$(CGMLIB): $(INCLUDE)/cgmlib.h $(INCLUDE)/cgminit.h $(INCLUDE)/cgmin.h \
- + $(GENINCLUDES) $(MAKEFILE)
- +
- +$(INPUT) $(INPUTILS) $(RANUTILS): $(INCLUDE)/cgmin.h $(GENINCLUDES) $(MAKEFILE)
- +
- +$(GENUTILS): $(GENINCLUDES)
- +
- +$(OUTPUT) $(OUTUTILS): $(GENINCLUDES) $(MAKEFILE)
- +
- +$(DRIVERS): $(INCLUDE)/cgmout.h \
- + $(INCLUDES) \
- + $(MAKEFILE)
- +
- +$(FNTUTILS): $(FNTINCLUDES) \
- + $(INCLUDE)/cgmufont.h \
- + $(TXTINCLUDES) \
- + $(MAKEFILE)
- +
- +$(TEXTUTILS): $(TEXTINCLUDES) \
- + $(FNTINCLUDES) \
- + $(MAKEFILE)
- +
- +$(ERRUTILS): $(ERRINCLUDES) \
- + $(GENINCLUDES) \
- + $(MAKEFILE)
- +
- +$(BEZUTILS): $(BEZINCLUDES) \
- + $(INCLUDE)/cgmubez.h \
- + $(GENINCLUDES) \
- + $(MAKEFILE)
- +
- +$(BEZIER): $(BEZLINK) \
- + $(GENINCS) \
- + $(INCLUDE)/cgmubez.h \
- + $(BEZDATA) \
- + $(MAKEFILE)
- + $(LINK) $(BEZLINK) $(GENUTILS) $(LFLAGS) -o $(BEZIER)
- + ./$(BEZIER)
- + chmod 644 $(DATADIR)/*.bfb $(DATADIR)/fontdir.bez
- +
- +$(HERUTILS): $(HERINCLUDES) \
- + $(INCLUDE)/cgmuher.h \
- + $(GENINCLUDES) \
- + $(MAKEFILE)
- +
- +$(HERSHEY): $(HERLINK) \
- + $(GENINCS) \
- + $(INCLUDE)/cgmuher.h \
- + $(HERDATA) \
- + $(MAKEFILE)
- + $(LINK) $(HERLINK) $(GENUTILS) $(LFLAGS) -o $(HERSHEY)
- + ./$(HERSHEY)
- + chmod 644 $(DATADIR)/*.hfb $(DATADIR)/fontdir.her
- +
- +$(IGL): $(INCLUDE)/cgmigl.h \
- + $(INCLUDE)/cgmgdp.h \
- + $(INCLUDE)/cgmfill.h \
- + $(INCLUDE)/cgmgraph.h \
- + $(INCLUDE)/cgmpoly.h \
- + $(INCLUDE)/cgmtrap.h
- +
- +$(PS): $(INCLUDE)/cgmps.h \
- + $(INCLUDE)/cgmgdp.h \
- + $(INCLUDE)/cgmpoly.h \
- + $(INCLUDE)/cgmtrap.h
- +
- +$(XW): $(INCLUDE)/cgmxw.h \
- + $(INCLUDE)/cgmgdp.h
- +
- +$(HPGL): $(INCLUDE)/cgmhpgl.h \
- + $(INCLUDE)/cgmgdp.h \
- + $(INCLUDE)/cgmcolr.h
- +
- +$(TEK): $(INCLUDE)/cgmtek.h \
- + $(INCLUDE)/cgmgdp.h \
- + $(INCLUDE)/cgmcolr.h \
- + $(INCLUDE)/cgmcell.h \
- + $(INCLUDE)/cgmpts.h
- +
- +.c.o:
- + $(COMPILE) $(CFLAGS) -I$(INCLUDE) $<
- +
- +.SUFFIXES: .c .o
|