no_interactive_config.diff 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414
  1. diff -Naur a/data/m_ps.fnt b/data/m_ps.fnt
  2. --- a/data/m_ps.fnt 1969-12-31 19:00:00.000000000 -0500
  3. +++ b/data/m_ps.fnt 2017-12-19 22:33:27.691556645 -0500
  4. @@ -0,0 +1,35 @@
  5. + 1 0013 1947 1 5 5 1 4.5.1 0 0 0 1 Times-Roman
  6. + 2 0013 1947 1 7 5 1 4.5.1 0 0 0 1 Times-Bold
  7. + 3 0013 1947 2 5 5 1 4.5.1 0 0 0 1 Times-Italic
  8. + 4 0013 1947 2 7 5 1 4.5.1 0 0 0 1 Times-BoldItalic
  9. + 5 0013 1921 1 5 5 1 5.1.2 0 0 0 1 Helvetica
  10. + 6 0013 1921 1 7 5 1 5.1.2 0 0 0 1 Helvetica-Bold
  11. + 7 0013 1921 2 5 5 1 5.1.2 0 0 0 1 Helvetica-Oblique
  12. + 8 0013 1921 2 7 5 1 5.1.2 0 0 0 1 Helvetica-BoldOblique
  13. + 9 0013 1970 1 5 5 1 4.6.5 0 0 0 1 Courier
  14. + 10 0013 1970 1 7 5 1 4.6.5 0 0 0 1 Courier-Bold
  15. + 11 0013 1970 2 5 5 1 4.6.5 0 0 0 1 Courier-Oblique
  16. + 12 0013 1970 2 7 5 1 4.6.5 0 0 0 1 Courier-BoldOblique
  17. + 13 0013 1650 1 5 5 1 8.2.0 0 0 0 91 Symbol
  18. + 14 0013 1087 1 5 5 1 4.4.2 0 0 0 1 AvantGarde-Book
  19. + 15 0013 1087 2 5 5 1 4.4.2 0 0 0 1 AvantGarde-BookOblique
  20. + 16 0013 1087 1 6 5 1 4.4.2 0 0 0 1 AvantGarde-Demi
  21. + 17 0013 1087 2 6 5 1 4.4.2 0 0 0 1 AvantGarde-DemiOblique
  22. + 18 0013 1097 1 6 5 1 4.5.2 0 0 0 1 Bookman-Demi
  23. + 19 0013 1097 2 6 5 1 4.5.2 0 0 0 1 Bookman-DemiItalic
  24. + 20 0013 1097 1 4 5 1 4.5.2 0 0 0 1 Bookman-Light
  25. + 21 0013 1097 2 4 5 1 4.5.2 0 0 0 1 Bookman-LightItalic
  26. + 22 0013 1921 1 5 3 1 5.1.2 0 0 0 1 Helvetica-Narrow
  27. + 23 0013 1921 2 7 3 1 5.1.2 0 0 0 1 Helvetica-Narrow-Bold
  28. + 24 0013 1921 1 7 3 1 5.1.2 0 0 0 1 Helvetica-Narrow-BoldOblique
  29. + 25 0013 1921 2 5 3 1 5.1.2 0 0 0 1 Helvetica-Narrow-Oblique
  30. + 26 0013 1106 1 5 5 1 4.1.3 0 0 0 1 NewCenturySchlbk-Roman
  31. + 27 0013 1106 2 5 5 1 4.1.3 0 0 0 1 NewCenturySchlbk-Italic
  32. + 28 0013 1106 1 7 5 1 4.1.3 0 0 0 1 NewCenturySchlbk-Bold
  33. + 29 0013 1106 2 7 5 1 4.1.3 0 0 0 1 NewCenturySchlbk-BoldItalic
  34. + 30 0013 1276 1 5 5 1 4.4.2 0 0 0 1 Palatino-Roman
  35. + 31 0013 1276 2 5 5 1 4.4.2 0 0 0 1 Palatino-Italic
  36. + 32 0013 1276 1 7 5 1 4.4.2 0 0 0 1 Palatino-Bold
  37. + 33 0013 1276 2 7 5 1 4.4.2 0 0 0 1 Palatino-BoldItalic
  38. + 34 0013 1810 1 5 5 1 8.0.0 0 0 0 92 ZapfDingbats
  39. + 35 0013 1193 2 5 5 1 6.1.1 0 0 0 1 ZapfChancery-MediumItalic
  40. diff -Naur a/include/mach.h b/include/mach.h
  41. --- a/include/mach.h 1969-12-31 19:00:00.000000000 -0500
  42. +++ b/include/mach.h 2017-12-19 22:34:41.145556770 -0500
  43. @@ -0,0 +1,33 @@
  44. +/* RAL-CGM Interpreter header file
  45. + *
  46. + * Linux specific setting for CGM interpreter
  47. + */
  48. +
  49. +/* Define Machine */
  50. +
  51. +#define LINUX
  52. +
  53. +/* Define Graphics system(s) */
  54. +
  55. +#define POSTSCRIPT
  56. +#define BEZIER
  57. +#define HERSHEY
  58. +#define XW
  59. +
  60. +#define DATADIR "../data/"
  61. +
  62. +#define NAMELGTH 32
  63. +#define EXTLGTH 8
  64. +
  65. +#define Posint64 unsigned long long
  66. +#define MALLOCH
  67. +#include <stdlib.h>
  68. +
  69. +#ifdef CGMOXW_C /* X-Window specific settings */
  70. +
  71. +#include <X11/cursorfont.h>
  72. +#include <X11/Xlib.h>
  73. +#include <X11/Xutil.h>
  74. +#include <X11/Xatom.h>
  75. +
  76. +#endif
  77. diff -Naur a/src/Makefile b/src/Makefile
  78. --- a/src/Makefile 1969-12-31 19:00:00.000000000 -0500
  79. +++ b/src/Makefile 2017-12-19 22:35:58.377556901 -0500
  80. @@ -0,0 +1,333 @@
  81. +# RAL-CGM Interpreter source Makefile: @(#) Makebase version 3.4
  82. +#
  83. +# Name of executable module (usually ../bin/ralcgm)
  84. +#
  85. +MODULE = ../bin/ralcgm
  86. +#
  87. +# Name of callable library (Optional) (usually ../bin/libcgm.a)
  88. +#
  89. +LIB = ../bin/libcgm.a
  90. +#
  91. +# Include file directory (usually ../include)
  92. +#
  93. +INCLUDE = ../include
  94. +#
  95. +# Data files directory (usually ../data)
  96. +#
  97. +DATADIR = ../data
  98. +#
  99. +# Main Interpreter object file (usually cgmmain.o)
  100. +#
  101. +MAIN = cgmmain.o
  102. +#
  103. +#
  104. +#
  105. +MAKEFILE = Makefile
  106. +#
  107. +# CGM input encoding - Object files
  108. +# Include here files for each encoding that
  109. +# may need to be processed; usually
  110. +# cgmichar.o cgmitext.o cgmibin.o
  111. +#
  112. +INPUT = cgmichar.o cgmitext.o cgmibin.o
  113. +#
  114. +# CGM output encoding - Object files
  115. +# Include here files for each encoding that
  116. +# may be generated; usually
  117. +# cgmochar.o cgmotext.o cgmobin.o
  118. +#
  119. +OUTPUT = cgmochar.o cgmotext.o cgmobin.o
  120. +#
  121. +# User callable Library (comment out if not required)
  122. +#
  123. +CGMLIB = cgmlib.o
  124. +#
  125. +# Optional Drivers
  126. +#
  127. +# IGL - Iris Graphics Library
  128. +# PS - PostScript
  129. +# XW - X-Windows
  130. +# VID - Topaz Library
  131. +#
  132. +IGL = cgmoigl.o
  133. +PS = cgmops.o
  134. +XW = cgmoxw.o
  135. +VID = cgmotpz.o
  136. +TEK = cgmotek.o
  137. +HPGL = cgmohpgl.o
  138. +#
  139. +# List of driver files to be used in generating the $(MODULE).
  140. +#
  141. +# The possible candidates are:
  142. +#
  143. +# $(OUTPUT) list of CGM output encodings defined above
  144. +# $(IGL) Iris graphics library
  145. +# $(XW) X-Windows
  146. +# $(PS) PostScript
  147. +# $(HPGL) HPGL
  148. +# $(TEK) Tektronix 4200
  149. +# $(VID) Video system
  150. +#
  151. +DRIVERS = $(PS) $(XW) $(HPGL) $(TEK)
  152. +#
  153. +# Input utilities Object files
  154. +# These provides random access input and convenient
  155. +# handling of input attributes
  156. +#
  157. +ERRUTILS = cgmerr.o
  158. +ERRINCLUDES = $(INCLUDE)/cgmerr.h
  159. +
  160. +FILEUTILS = cgmfile.o
  161. +FILEINCLUDES = $(INCLUDE)/cgmfile.h
  162. +
  163. +GENUTILS = $(FILEUTILS) $(ERRUTILS)
  164. +GENINCS = $(FILEINCLUDES) \
  165. + $(ERRINCLUDES)
  166. +
  167. +RANUTILS = cgmrand.o cgmprof.o
  168. +INPUTILS = cgminput.o
  169. +#
  170. +# Output utility Object files (only needed with output drivers)
  171. +# These provide emulation of GDPs, filled areas
  172. +# and other graphical operations. Not needed by all drivers
  173. +# currently cgmgdp.o is used by XW, IGL & VID
  174. +# cgmfill.o & cgmgraph.o are used by IGL only
  175. +#
  176. +ATTUTILS = cgmatt.o
  177. +GDPUTILS = cgmgdp.o
  178. +FILUTILS = cgmpoly.o cgmtrap.o cgmfill.o cgmgraph.o
  179. +COLRUTILS = cgmcolr.o
  180. +CELLUTILS = cgmcell.o
  181. +PTSUTILS = cgmpts.o
  182. +#
  183. +OUTUTILS = $(ATTUTILS) $(GDPUTILS) $(FILUTILS) $(COLRUTILS) $(CELLUTILS) $(PTSUTILS)
  184. +#
  185. +# Text utility Object files
  186. +# These provide software emulation of text and
  187. +# generally useful text facilities.
  188. +#
  189. +# cgmtext.o - general text utility - PS & XW
  190. +# cgmfont.o - general font utility - PS & XW
  191. +# cgmbez.o - Bezier text - if wanted
  192. +# cgmher.o - Hershey text - if wanted
  193. +#
  194. +FNTUTILS = cgmfont.o
  195. +FNTINCLUDES = $(INCLUDE)/cgmfont.h
  196. +TEXTUTILS = cgmtext.o
  197. +TEXTINCLUDES = $(INCLUDE)/cgmtext.h
  198. +#
  199. +BEZIER = genbez
  200. +BEZUTILS = cgmbez.o
  201. +BEZLINK = $(BEZIER).o
  202. +BEZDATA = $(DATADIR)/*.bfs
  203. +BEZINCLUDES = $(INCLUDE)/cgmbez.h
  204. +#
  205. +HERSHEY = genher
  206. +HERUTILS = cgmher.o
  207. +HERLINK = $(HERSHEY).o
  208. +HERDATA = $(DATADIR)/*.hfs
  209. +HERINCLUDES = $(INCLUDE)/cgmher.h
  210. +#
  211. +# TXTSYS settings, supported text systems are:
  212. +#
  213. +# $(HERSHEY)
  214. +# $(BEZIER)
  215. +#
  216. +TXTSYS = $(BEZIER) $(HERSHEY)
  217. +#
  218. +# TXTUTILS settings, supported text utilities are:
  219. +#
  220. +# $(HERUTILS)
  221. +# $(BEZUTILS)
  222. +# List of utility modules required;
  223. +#
  224. +TXTUTILS = $(BEZUTILS) $(HERUTILS)
  225. +#
  226. +#
  227. +CGMUTILS = $(RANUTILS)\
  228. + $(INPUTILS)\
  229. + $(GENUTILS)\
  230. + $(OUTUTILS)\
  231. + $(TXTUTILS)\
  232. + $(TEXTUTILS)\
  233. + $(FNTUTILS)
  234. +#
  235. +# Set up names for the modules that make up `ralcgm' and `cgmlib'.
  236. +#
  237. +RALCGM = $(INPUT)\
  238. + $(OUTPUT)\
  239. + $(DRIVERS)\
  240. + $(CGMUTILS)
  241. +
  242. +LIBCGM = $(CGMLIB)\
  243. + $(OUTPUT)\
  244. + $(DRIVERS)\
  245. + $(INPUTILS)\
  246. + $(GENUTILS)\
  247. + $(OUTUTILS)\
  248. + $(TXTUTILS)\
  249. + $(TEXTUTILS)\
  250. + $(FNTUTILS)
  251. +#
  252. +# Local flags for Compiler (system dependent)
  253. +#
  254. +# Examples: (Iris 3130) -Zf -g -p
  255. +# (Iris 4D) -O
  256. +# (GNU C on Topaz) -O -m68881 -g
  257. +# (Sun 3) -O -fswitch
  258. +# (Sun 4) -O
  259. +# (Unicos) -O -g
  260. +#
  261. +CFLAGS = -c -DPOSTSCRIPT="" -DXW="" -DHPGL="" -DTEK4200="" -DBEZIER="" -DHERSHEY=""
  262. +#
  263. +# Local flags for Linker (system dependent)
  264. +# For X-windows, add some extra libraries (comment out otherwise)
  265. +#
  266. +# Examples: (Iris 3130) -Zg -lm
  267. +# (Iris 4D) -lm -lgl_s -lX11_s -lc_s
  268. +# (Topaz) -lE -lmalloc -lm
  269. +# (Sun 3 or 4) -lm -lX11 -lc
  270. +# (Unicos) -lm -lX11 -lnet -lc
  271. +# (Unicos - scc) -lm -lX11 -lnet -lsc
  272. +#
  273. +LFLAGS = -lm -lX11
  274. +#
  275. +# Common include files
  276. +#
  277. +GENINCLUDES = $(INCLUDE)/cgmmach.h $(INCLUDE)/mach.h \
  278. + $(INCLUDE)/cgmtypes.h \
  279. + $(INCLUDE)/cgmstruc.h \
  280. + $(INCLUDE)/cgmelem.h \
  281. + $(INCLUDE)/cgmpar.h \
  282. + $(INCLUDE)/cgmtran.h \
  283. + $(INCLUDE)/cgmatt.h
  284. +#
  285. +# List of includes for the text system; must match the text utility
  286. +# .o files given above.
  287. +#
  288. +INCLUDES = $(GENINCLUDES) $(TXTINCLUDES) $(FNTINCLUDES) \
  289. + $(BEZINCLUDES) $(HERINCLUDES) $(GENINCS)
  290. +#
  291. +# Define various commands in just one place.
  292. +#
  293. +# for Unicos LINK = segldr
  294. +# AR = bld rv
  295. +# all others LINK = cc $(LFLAGS)
  296. +# AR = ar rv
  297. +#
  298. +COMPILE = cc
  299. +LINK = cc
  300. +AR = ar crs
  301. +#
  302. +# Main dependencies (should not need altering)
  303. +
  304. +ralcgm: $(MODULE) $(TXTSYS)
  305. + @echo "$(MODULE) is now made"
  306. +
  307. +cgmlib: $(LIB) $(TXTSYS)
  308. + @echo "$(LIB) is now made"
  309. +
  310. +iutils: $(INPUTILS) $(GENUTILS)
  311. +
  312. +outils: $(OUTUTILS)
  313. +
  314. +tutils: $(TXTUTILS)
  315. +
  316. +clean:
  317. + rm -f *.o core a.out $(TXTSYS)
  318. +
  319. +$(MODULE): $(MAIN) $(RALCGM)
  320. + $(LINK) $(MAIN) $(RALCGM) $(LFLAGS) -o $(MODULE)
  321. + chmod 755 $(MODULE)
  322. +
  323. +$(LIB): $(LIBCGM)
  324. + $(AR) $(LIB) $(LIBCGM)
  325. + chmod 644 $(LIB)
  326. +
  327. +# include file dependencies
  328. +
  329. +$(MAIN): $(INCLUDE)/cgminit.h $(GENINCLUDES) $(MAKEFILE)
  330. +
  331. +$(CGMLIB): $(INCLUDE)/cgmlib.h $(INCLUDE)/cgminit.h $(INCLUDE)/cgmin.h \
  332. + $(GENINCLUDES) $(MAKEFILE)
  333. +
  334. +$(INPUT) $(INPUTILS) $(RANUTILS): $(INCLUDE)/cgmin.h $(GENINCLUDES) $(MAKEFILE)
  335. +
  336. +$(GENUTILS): $(GENINCLUDES)
  337. +
  338. +$(OUTPUT) $(OUTUTILS): $(GENINCLUDES) $(MAKEFILE)
  339. +
  340. +$(DRIVERS): $(INCLUDE)/cgmout.h \
  341. + $(INCLUDES) \
  342. + $(MAKEFILE)
  343. +
  344. +$(FNTUTILS): $(FNTINCLUDES) \
  345. + $(INCLUDE)/cgmufont.h \
  346. + $(TXTINCLUDES) \
  347. + $(MAKEFILE)
  348. +
  349. +$(TEXTUTILS): $(TEXTINCLUDES) \
  350. + $(FNTINCLUDES) \
  351. + $(MAKEFILE)
  352. +
  353. +$(ERRUTILS): $(ERRINCLUDES) \
  354. + $(GENINCLUDES) \
  355. + $(MAKEFILE)
  356. +
  357. +$(BEZUTILS): $(BEZINCLUDES) \
  358. + $(INCLUDE)/cgmubez.h \
  359. + $(GENINCLUDES) \
  360. + $(MAKEFILE)
  361. +
  362. +$(BEZIER): $(BEZLINK) \
  363. + $(GENINCS) \
  364. + $(INCLUDE)/cgmubez.h \
  365. + $(BEZDATA) \
  366. + $(MAKEFILE)
  367. + $(LINK) $(BEZLINK) $(GENUTILS) $(LFLAGS) -o $(BEZIER)
  368. + ./$(BEZIER)
  369. + chmod 644 $(DATADIR)/*.bfb $(DATADIR)/fontdir.bez
  370. +
  371. +$(HERUTILS): $(HERINCLUDES) \
  372. + $(INCLUDE)/cgmuher.h \
  373. + $(GENINCLUDES) \
  374. + $(MAKEFILE)
  375. +
  376. +$(HERSHEY): $(HERLINK) \
  377. + $(GENINCS) \
  378. + $(INCLUDE)/cgmuher.h \
  379. + $(HERDATA) \
  380. + $(MAKEFILE)
  381. + $(LINK) $(HERLINK) $(GENUTILS) $(LFLAGS) -o $(HERSHEY)
  382. + ./$(HERSHEY)
  383. + chmod 644 $(DATADIR)/*.hfb $(DATADIR)/fontdir.her
  384. +
  385. +$(IGL): $(INCLUDE)/cgmigl.h \
  386. + $(INCLUDE)/cgmgdp.h \
  387. + $(INCLUDE)/cgmfill.h \
  388. + $(INCLUDE)/cgmgraph.h \
  389. + $(INCLUDE)/cgmpoly.h \
  390. + $(INCLUDE)/cgmtrap.h
  391. +
  392. +$(PS): $(INCLUDE)/cgmps.h \
  393. + $(INCLUDE)/cgmgdp.h \
  394. + $(INCLUDE)/cgmpoly.h \
  395. + $(INCLUDE)/cgmtrap.h
  396. +
  397. +$(XW): $(INCLUDE)/cgmxw.h \
  398. + $(INCLUDE)/cgmgdp.h
  399. +
  400. +$(HPGL): $(INCLUDE)/cgmhpgl.h \
  401. + $(INCLUDE)/cgmgdp.h \
  402. + $(INCLUDE)/cgmcolr.h
  403. +
  404. +$(TEK): $(INCLUDE)/cgmtek.h \
  405. + $(INCLUDE)/cgmgdp.h \
  406. + $(INCLUDE)/cgmcolr.h \
  407. + $(INCLUDE)/cgmcell.h \
  408. + $(INCLUDE)/cgmpts.h
  409. +
  410. +.c.o:
  411. + $(COMPILE) $(CFLAGS) -I$(INCLUDE) $<
  412. +
  413. +.SUFFIXES: .c .o