home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / unix / volume12 / postscript / part06 < prev    next >
Text File  |  1987-11-05  |  52KB  |  4,546 lines

  1. Subject:  v12i055:  A PostScript interpreter, Part06/18
  2. Newsgroups: comp.sources.unix
  3. Sender: sources
  4. Approved: rs@uunet.UU.NET
  5.  
  6. Submitted-by: Crispin Goswell <caag@vd.rl.ac.uk>
  7. Posting-number: Volume 12, Issue 55
  8. Archive-name: postscript/part06
  9.  
  10. [  Sorry for the delays; when the net was free, I was  busy.  --r$  ]
  11.  
  12. #! /bin/sh
  13. # This is a shell archive.  Remove anything before this line, then unpack
  14. # it by saving it into a file and typing "sh file".  To overwrite existing
  15. # files, type "sh file -c".  You can also feed this as standard input via
  16. # unshar, or by typing "sh <file", e.g..  If this archive is complete, you
  17. # will see the following message at the end:
  18. #        "End of archive 6 (of 18)."
  19. PATH=/bin:/usr/bin:/usr/ucb ; export PATH
  20. if test -f 'postscript/fonts/Times/greek.r' -a "${1}" != "-c" ; then 
  21.   echo shar: Will not clobber existing file \"'postscript/fonts/Times/greek.r'\"
  22. else
  23. echo shar: Extracting \"'postscript/fonts/Times/greek.r'\" \(8441 characters\)
  24. sed "s/^X//" >'postscript/fonts/Times/greek.r' <<'END_OF_FILE'
  25. XCharStrings
  26. X/2027
  27. X<CA34
  28. X4349
  29. XCA34
  30. X5149
  31. XCA37
  32. X5049
  33. XC543
  34. X4E43
  35. XC149
  36. X4749
  37. XCD49
  38. X5349
  39. X>
  40. Xput
  41. XMetrics
  42. X/2027
  43. X[2
  44. X20]
  45. Xput
  46. XCharStrings
  47. X/2028
  48. X<C534
  49. X4549
  50. XC634
  51. X4649
  52. XC234
  53. X4E34
  54. X5135
  55. X5236
  56. X5338
  57. X533A
  58. X523C
  59. X513D
  60. X4E3E
  61. XCE34
  62. X5035
  63. X5136
  64. X5238
  65. X523A
  66. X513C
  67. X503D
  68. X4E3E
  69. XC63E
  70. X4E3E
  71. X513F
  72. X5240
  73. X5342
  74. X5345
  75. X5247
  76. X5148
  77. X4E49
  78. X4249
  79. XCE3E
  80. X503F
  81. X5140
  82. X5242
  83. X5245
  84. X5147
  85. X5048
  86. X4E49
  87. X>
  88. Xput
  89. XMetrics
  90. X/2028
  91. X[1
  92. X22]
  93. Xput
  94. XCharStrings
  95. X/2029
  96. X<C534
  97. X4549
  98. XC634
  99. X4649
  100. XC234
  101. X5134
  102. X513A
  103. X5034
  104. XC249
  105. X4949
  106. X>
  107. Xput
  108. XMetrics
  109. X/2029
  110. X[3
  111. X18]
  112. Xput
  113. XCharStrings
  114. X/2030
  115. X<CA34
  116. X4249
  117. XCA34
  118. X5249
  119. XCA37
  120. X5149
  121. XC348
  122. X5148
  123. XC249
  124. X5249
  125. X>
  126. Xput
  127. XMetrics
  128. X/2030
  129. X[2
  130. X20]
  131. Xput
  132. XCharStrings
  133. X/2031
  134. X<C534
  135. X4549
  136. XC634
  137. X4649
  138. XCC3A
  139. X4C42
  140. XC234
  141. X5234
  142. X523A
  143. X5134
  144. XC63E
  145. X4C3E
  146. XC249
  147. X5249
  148. X5243
  149. X5149
  150. X>
  151. Xput
  152. XMetrics
  153. X/2031
  154. X[1
  155. X21]
  156. Xput
  157. XCharStrings
  158. X/2032
  159. X<D034
  160. X4349
  161. XD134
  162. X4449
  163. XC434
  164. X433A
  165. X4334
  166. X5134
  167. XC349
  168. X5149
  169. X5143
  170. X5049
  171. X>
  172. Xput
  173. XMetrics
  174. X/2032
  175. X[2
  176. X20]
  177. Xput
  178. XCharStrings
  179. X/2033
  180. X<C534
  181. X4549
  182. XC634
  183. X4649
  184. XD234
  185. X5249
  186. XD334
  187. X5349
  188. XC234
  189. X4934
  190. XCF34
  191. X5634
  192. XC63E
  193. X523E
  194. XC249
  195. X4949
  196. XCF49
  197. X5649
  198. X>
  199. Xput
  200. XMetrics
  201. X/2033
  202. X[0
  203. X24]
  204. Xput
  205. XCharStrings
  206. X/2034
  207. X<CA34
  208. X4735
  209. X4537
  210. X4439
  211. X433D
  212. X4340
  213. X4444
  214. X4546
  215. X4748
  216. X4A49
  217. X4C49
  218. X4F48
  219. X5146
  220. X5244
  221. X5340
  222. X533D
  223. X5239
  224. X5137
  225. X4F35
  226. X4C34
  227. X4A34
  228. XCA34
  229. X4835
  230. X4637
  231. X4539
  232. X443D
  233. X4440
  234. X4544
  235. X4646
  236. X4848
  237. X4A49
  238. XCC49
  239. X4E48
  240. X5046
  241. X5144
  242. X5240
  243. X523D
  244. X5139
  245. X5037
  246. X4E35
  247. X4C34
  248. XC83B
  249. X4842
  250. XCE3B
  251. X4E42
  252. XC83E
  253. X4E3E
  254. XC83F
  255. X4E3F
  256. X>
  257. Xput
  258. XMetrics
  259. X/2034
  260. X[1
  261. X22]
  262. Xput
  263. XCharStrings
  264. X/2035
  265. X<C534
  266. X4549
  267. XC634
  268. X4649
  269. XC234
  270. X4934
  271. XC249
  272. X4949
  273. X>
  274. Xput
  275. XMetrics
  276. X/2035
  277. X[7
  278. X11]
  279. Xput
  280. XCharStrings
  281. X/2036
  282. X<C534
  283. X4549
  284. XC634
  285. X4649
  286. XD334
  287. X4641
  288. XCB3D
  289. X5349
  290. XCA3D
  291. X5249
  292. XC234
  293. X4934
  294. XCF34
  295. X5534
  296. XC249
  297. X4949
  298. XCF49
  299. X5549
  300. X>
  301. Xput
  302. XMetrics
  303. X/2036
  304. X[0
  305. X22]
  306. Xput
  307. XCharStrings
  308. X/2037
  309. X<CA34
  310. X4349
  311. XCA34
  312. X5149
  313. XCA37
  314. X5049
  315. XC149
  316. X4749
  317. XCD49
  318. X5349
  319. X>
  320. Xput
  321. XMetrics
  322. X/2037
  323. X[2
  324. X20]
  325. Xput
  326. XCharStrings
  327. X/2038
  328. X<C534
  329. X4549
  330. XC634
  331. X4C46
  332. XC534
  333. X4C49
  334. XD334
  335. X4C49
  336. XD334
  337. X5349
  338. XD434
  339. X5449
  340. XC234
  341. X4634
  342. XD334
  343. X5734
  344. XC249
  345. X4849
  346. XD049
  347. X5749
  348. X>
  349. Xput
  350. XMetrics
  351. X/2038
  352. X[0
  353. X25]
  354. Xput
  355. XCharStrings
  356. X/2039
  357. X<C534
  358. X4549
  359. XC634
  360. X5247
  361. XC636
  362. X5249
  363. XD234
  364. X5249
  365. XC234
  366. X4634
  367. XCF34
  368. X5534
  369. XC249
  370. X4849
  371. X>
  372. Xput
  373. XMetrics
  374. X/2039
  375. X[1
  376. X23]
  377. Xput
  378. XCharStrings
  379. X/2040
  380. X<C433
  381. X4338
  382. XD333
  383. X5238
  384. XC83C
  385. X4741
  386. XCF3C
  387. X4E41
  388. XC445
  389. X434A
  390. XD345
  391. X524A
  392. XC435
  393. X5235
  394. XC436
  395. X5236
  396. XC83E
  397. X4E3E
  398. XC83F
  399. X4E3F
  400. XC447
  401. X5247
  402. XC448
  403. X5248
  404. X>
  405. Xput
  406. XMetrics
  407. X/2040
  408. X[2
  409. X22]
  410. Xput
  411. XCharStrings
  412. X/2041
  413. X<CA34
  414. X4735
  415. X4537
  416. X4439
  417. X433D
  418. X4340
  419. X4444
  420. X4546
  421. X4748
  422. X4A49
  423. X4C49
  424. X4F48
  425. X5146
  426. X5244
  427. X5340
  428. X533D
  429. X5239
  430. X5137
  431. X4F35
  432. X4C34
  433. X4A34
  434. XCA34
  435. X4835
  436. X4637
  437. X4539
  438. X443D
  439. X4440
  440. X4544
  441. X4646
  442. X4848
  443. X4A49
  444. XCC49
  445. X4E48
  446. X5046
  447. X5144
  448. X5240
  449. X523D
  450. X5139
  451. X5037
  452. X4E35
  453. X4C34
  454. X>
  455. Xput
  456. XMetrics
  457. X/2041
  458. X[1
  459. X22]
  460. Xput
  461. XCharStrings
  462. X/2042
  463. X<C534
  464. X4549
  465. XC634
  466. X4649
  467. XD234
  468. X5249
  469. XD334
  470. X5349
  471. XC234
  472. X5634
  473. XC249
  474. X4949
  475. XCF49
  476. X5649
  477. X>
  478. Xput
  479. XMetrics
  480. X/2042
  481. X[0
  482. X24]
  483. Xput
  484. XCharStrings
  485. X/2043
  486. X<C534
  487. X4549
  488. XC634
  489. X4649
  490. XC234
  491. X4E34
  492. X5135
  493. X5236
  494. X5338
  495. X533B
  496. X523D
  497. X513E
  498. X4E3F
  499. X463F
  500. XCE34
  501. X5035
  502. X5136
  503. X5238
  504. X523B
  505. X513D
  506. X503E
  507. X4E3F
  508. XC249
  509. X4949
  510. X>
  511. Xput
  512. XMetrics
  513. X/2043
  514. X[1
  515. X22]
  516. Xput
  517. XCharStrings
  518. X/2044
  519. X<C334
  520. X4A3E
  521. X4249
  522. XC234
  523. X493E
  524. XC234
  525. X5134
  526. X523A
  527. X5034
  528. XC348
  529. X5048
  530. XC249
  531. X5149
  532. X5243
  533. X5049
  534. X>
  535. Xput
  536. XMetrics
  537. X/2044
  538. X[2
  539. X21]
  540. Xput
  541. XCharStrings
  542. X/2045
  543. X<C934
  544. X4949
  545. XCA34
  546. X4A49
  547. XC334
  548. X423A
  549. X4234
  550. X5134
  551. X513A
  552. X5034
  553. XC649
  554. X4D49
  555. X>
  556. Xput
  557. XMetrics
  558. X/2045
  559. X[3
  560. X19]
  561. Xput
  562. XCharStrings
  563. X/2046
  564. X<C239
  565. X4237
  566. X4335
  567. X4434
  568. X4634
  569. X4735
  570. X4837
  571. X493B
  572. X4949
  573. XC237
  574. X4435
  575. X4635
  576. X4837
  577. XD139
  578. X5137
  579. X5035
  580. X4F34
  581. X4D34
  582. X4C35
  583. X4B37
  584. X4A3B
  585. X4A49
  586. XD137
  587. X4F35
  588. X4D35
  589. X4B37
  590. XC649
  591. X4D49
  592. X>
  593. Xput
  594. XMetrics
  595. X/2046
  596. X[3
  597. X19]
  598. Xput
  599. XCharStrings
  600. X/2047
  601. X<CA34
  602. X4A49
  603. XCB34
  604. X4B49
  605. XC839
  606. X453A
  607. X443B
  608. X433D
  609. X4340
  610. X4442
  611. X4543
  612. X4844
  613. X4D44
  614. X5043
  615. X5142
  616. X5240
  617. X523D
  618. X513B
  619. X503A
  620. X4D39
  621. X4839
  622. XC839
  623. X463A
  624. X453B
  625. X443D
  626. X4440
  627. X4542
  628. X4643
  629. X4844
  630. XCD44
  631. X4F43
  632. X5042
  633. X5140
  634. X513D
  635. X503B
  636. X4F3A
  637. X4D39
  638. XC734
  639. X4E34
  640. XC749
  641. X4E49
  642. X>
  643. Xput
  644. XMetrics
  645. X/2047
  646. X[2
  647. X21]
  648. Xput
  649. XCharStrings
  650. X/2048
  651. X<C334
  652. X5049
  653. XC434
  654. X5149
  655. XD134
  656. X4349
  657. XC134
  658. X4734
  659. XCD34
  660. X5334
  661. XC149
  662. X4749
  663. XCD49
  664. X5349
  665. X>
  666. Xput
  667. XMetrics
  668. X/2048
  669. X[2
  670. X20]
  671. Xput
  672. XCharStrings
  673. X/2049
  674. X<CB34
  675. X4B49
  676. XCC34
  677. X4C49
  678. XC23B
  679. X433A
  680. X453B
  681. X463F
  682. X4741
  683. X4842
  684. X4A43
  685. XC33A
  686. X443B
  687. X453F
  688. X4641
  689. X4742
  690. X4A43
  691. X4D43
  692. X5042
  693. X5141
  694. X523F
  695. X533B
  696. X543A
  697. XCD43
  698. X4F42
  699. X5041
  700. X513F
  701. X523B
  702. X543A
  703. X553B
  704. XC834
  705. X4F34
  706. XC849
  707. X4F49
  708. X>
  709. Xput
  710. XMetrics
  711. X/2049
  712. X[1
  713. X23]
  714. Xput
  715. XCharStrings
  716. X/2050
  717. X<C346
  718. X4449
  719. X4849
  720. X4645
  721. X4441
  722. X433E
  723. X433A
  724. X4437
  725. X4635
  726. X4934
  727. X4D34
  728. X5035
  729. X5237
  730. X533A
  731. X533E
  732. X5241
  733. X5045
  734. X4E49
  735. X5249
  736. X5346
  737. XC645
  738. X4542
  739. X443E
  740. X443A
  741. X4537
  742. X4735
  743. X4934
  744. XCD34
  745. X4F35
  746. X5137
  747. X523A
  748. X523E
  749. X5142
  750. X5045
  751. XC448
  752. X4748
  753. XCF48
  754. X5248
  755. X>
  756. Xput
  757. XMetrics
  758. X/2050
  759. X[1
  760. X22]
  761. Xput
  762. XCharStrings
  763. X/2127
  764. X<CA3B
  765. X473C
  766. X453E
  767. X4440
  768. X4343
  769. X4346
  770. X4448
  771. X4749
  772. X4949
  773. X4B48
  774. X4E45
  775. X5042
  776. X523E
  777. X533B
  778. XCA3B
  779. X483C
  780. X463E
  781. X4540
  782. X4443
  783. X4446
  784. X4548
  785. X4749
  786. XCA3B
  787. X4C3B
  788. X4E3C
  789. X4F3E
  790. X5146
  791. X5248
  792. X5349
  793. XCC3B
  794. X4D3C
  795. X4E3E
  796. X5046
  797. X5148
  798. X5349
  799. X5449
  800. X>
  801. Xput
  802. XMetrics
  803. X/2127
  804. X[-3
  805. X23]
  806. Xput
  807. XCharStrings
  808. X/2128
  809. X<CD34
  810. X4A35
  811. X4837
  812. X463B
  813. X453E
  814. X4442
  815. X4348
  816. X4250
  817. XCD34
  818. X4B35
  819. X4937
  820. X473B
  821. X463E
  822. X4542
  823. X4448
  824. X4350
  825. XCD34
  826. X4F34
  827. X5135
  828. X5236
  829. X5239
  830. X513B
  831. X503C
  832. X4D3D
  833. X493D
  834. XCF34
  835. X5136
  836. X5139
  837. X503B
  838. X4F3C
  839. X4D3D
  840. XC93D
  841. X4D3E
  842. X4F40
  843. X5042
  844. X5045
  845. X4F47
  846. X4E48
  847. X4B49
  848. X4949
  849. X4748
  850. X4647
  851. X4544
  852. XC93D
  853. X4C3E
  854. X4E40
  855. X4F42
  856. X4F45
  857. X4E47
  858. X4D48
  859. X4B49
  860. X>
  861. Xput
  862. XMetrics
  863. X/2128
  864. X[1
  865. X21]
  866. Xput
  867. XCharStrings
  868. X/2129
  869. X<C13E
  870. X433C
  871. X453B
  872. X473B
  873. X493C
  874. X4A3D
  875. X4B40
  876. X4B44
  877. X4A48
  878. X4750
  879. XC23D
  880. X443C
  881. X483C
  882. X4A3D
  883. XD23B
  884. X513E
  885. X5040
  886. X4B47
  887. X484C
  888. X4650
  889. XD13B
  890. X503E
  891. X4F40
  892. X4B47
  893. X>
  894. Xput
  895. XMetrics
  896. X/2129
  897. X[-1
  898. X20]
  899. Xput
  900. XCharStrings
  901. X/2130
  902. X<CD3C
  903. X4B3B
  904. X493B
  905. X463C
  906. X443F
  907. X4342
  908. X4345
  909. X4447
  910. X4548
  911. X4749
  912. X4949
  913. X4C48
  914. X4E45
  915. X4F42
  916. X4F3F
  917. X4E3D
  918. X4A38
  919. X4936
  920. X4934
  921. X4A33
  922. X4C33
  923. X4E34
  924. X5036
  925. XC93B
  926. X473C
  927. X453F
  928. X4442
  929. X4446
  930. X4548
  931. XC949
  932. X4B48
  933. X4D45
  934. X4E42
  935. X4E3E
  936. X4D3C
  937. X4B39
  938. X4A37
  939. X4A35
  940. X4B34
  941. X4D34
  942. X5036
  943. X>
  944. Xput
  945. XMetrics
  946. X/2130
  947. X[4
  948. X19]
  949. Xput
  950. XCharStrings
  951. X/2131
  952. X<CF3E
  953. X4D3C
  954. X4B3B
  955. X473B
  956. X453C
  957. X453E
  958. X4740
  959. X4A41
  960. XC73B
  961. X463C
  962. X463E
  963. X4840
  964. X4A41
  965. XCA41
  966. X4542
  967. X4344
  968. X4346
  969. X4448
  970. X4749
  971. X4A49
  972. X4C48
  973. X4E46
  974. XCA41
  975. X4642
  976. X4444
  977. X4446
  978. X4548
  979. X4749
  980. X>
  981. Xput
  982. XMetrics
  983. X/2131
  984. X[-3
  985. X18]
  986. Xput
  987. XCharStrings
  988. X/2132
  989. X<CB34
  990. X4935
  991. X4836
  992. X4837
  993. X4938
  994. X4C39
  995. X5139
  996. X5138
  997. X4E39
  998. X4A3B
  999. X473D
  1000. X4440
  1001. X4343
  1002. X4345
  1003. X4447
  1004. X4749
  1005. X4A4B
  1006. X4B4D
  1007. X4B4F
  1008. X4A50
  1009. X4850
  1010. X474F
  1011. XCC3A
  1012. X483D
  1013. X4540
  1014. X4443
  1015. X4445
  1016. X4547
  1017. X4749
  1018. X>
  1019. Xput
  1020. XMetrics
  1021. X/2132
  1022. X[3
  1023. X18]
  1024. Xput
  1025. XCharStrings
  1026. X/2133
  1027. X<C13F
  1028. X423D
  1029. X443B
  1030. X473B
  1031. X483C
  1032. X483E
  1033. X4742
  1034. X4549
  1035. XC63B
  1036. X473C
  1037. X473E
  1038. X4642
  1039. X4449
  1040. XC742
  1041. X493E
  1042. X4B3C
  1043. X4D3B
  1044. X4F3B
  1045. X513C
  1046. X523D
  1047. X5240
  1048. X5145
  1049. X4E50
  1050. XCF3B
  1051. X513D
  1052. X5140
  1053. X5045
  1054. X4D50
  1055. X>
  1056. Xput
  1057. XMetrics
  1058. X/2133
  1059. X[-1
  1060. X22]
  1061. Xput
  1062. XCharStrings
  1063. X/2134
  1064. X<C13F
  1065. X423D
  1066. X443B
  1067. X473B
  1068. X483C
  1069. X483E
  1070. X4743
  1071. X4746
  1072. X4848
  1073. X4949
  1074. XC63B
  1075. X473C
  1076. X473E
  1077. X4643
  1078. X4646
  1079. X4748
  1080. X4949
  1081. X4B49
  1082. X4D48
  1083. X4F46
  1084. X5143
  1085. X5240
  1086. X533B
  1087. X5337
  1088. X5235
  1089. X5034
  1090. X4E34
  1091. X4C36
  1092. X4C38
  1093. X4D3B
  1094. X4F3E
  1095. X5140
  1096. X5442
  1097. XCD48
  1098. X4F45
  1099. X5043
  1100. X5140
  1101. X523B
  1102. X5237
  1103. X5135
  1104. X5034
  1105. X>
  1106. Xput
  1107. XMetrics
  1108. X/2134
  1109. X[0
  1110. X23]
  1111. Xput
  1112. XCharStrings
  1113. X/2135
  1114. X<C63B
  1115. X4442
  1116. X4346
  1117. X4348
  1118. X4449
  1119. X4749
  1120. X4947
  1121. X4A45
  1122. XC73B
  1123. X4542
  1124. X4446
  1125. X4448
  1126. X4549
  1127. X>
  1128. Xput
  1129. XMetrics
  1130. X/2135
  1131. X[-1
  1132. X12]
  1133. Xput
  1134. XCharStrings
  1135. X/2136
  1136. X<C63B
  1137. X4249
  1138. XC73B
  1139. X4349
  1140. XD03B
  1141. X513C
  1142. X523C
  1143. X513B
  1144. X4F3B
  1145. X4D3C
  1146. X4940
  1147. X4741
  1148. X4541
  1149. XC741
  1150. X4942
  1151. X4B48
  1152. X4C49
  1153. XC741
  1154. X4842
  1155. X4A48
  1156. X4B49
  1157. X4D49
  1158. X4F48
  1159. X5145
  1160. X>
  1161. Xput
  1162. XMetrics
  1163. X/2136
  1164. X[-2
  1165. X20]
  1166. Xput
  1167. XCharStrings
  1168. X/2137
  1169. X<C334
  1170. X4534
  1171. X4735
  1172. X4836
  1173. X4938
  1174. X4F46
  1175. X5048
  1176. X5149
  1177. XC534
  1178. X4736
  1179. X4838
  1180. X4E46
  1181. X4F48
  1182. X5149
  1183. X5249
  1184. XCA3B
  1185. X4249
  1186. XCA3B
  1187. X4349
  1188. X>
  1189. Xput
  1190. XMetrics
  1191. X/2137
  1192. X[2
  1193. X20]
  1194. Xput
  1195. XCharStrings
  1196. X/2138
  1197. X<C73B
  1198. X4150
  1199. XC83B
  1200. X4250
  1201. XC73E
  1202. X4644
  1203. X4647
  1204. X4849
  1205. X4A49
  1206. X4C48
  1207. X4E46
  1208. X5043
  1209. XD23B
  1210. X4F46
  1211. X4F48
  1212. X5049
  1213. X5349
  1214. X5547
  1215. X5645
  1216. XD33B
  1217. X5046
  1218. X5048
  1219. X5149
  1220. X>
  1221. Xput
  1222. XMetrics
  1223. X/2138
  1224. X[-1
  1225. X23]
  1226. Xput
  1227. XCharStrings
  1228. X/2139
  1229. X<C63B
  1230. X4449
  1231. XC73B
  1232. X4641
  1233. X4546
  1234. X4449
  1235. XD13B
  1236. X503F
  1237. X4E43
  1238. XD23B
  1239. X513E
  1240. X5040
  1241. X4E43
  1242. X4C45
  1243. X4947
  1244. X4748
  1245. X4449
  1246. XC33B
  1247. X473B
  1248. X>
  1249. Xput
  1250. XMetrics
  1251. X/2139
  1252. X[-3
  1253. X20]
  1254. Xput
  1255. XCharStrings
  1256. X/2140
  1257. X<CB34
  1258. X4935
  1259. X4836
  1260. X4837
  1261. X4938
  1262. X4C39
  1263. X4F39
  1264. XCC39
  1265. X483A
  1266. X463B
  1267. X453D
  1268. X453F
  1269. X4741
  1270. X4A42
  1271. X4D42
  1272. XCC39
  1273. X493A
  1274. X473B
  1275. X463D
  1276. X463F
  1277. X4841
  1278. X4A42
  1279. XCA42
  1280. X4643
  1281. X4444
  1282. X4346
  1283. X4348
  1284. X454A
  1285. X4A4C
  1286. X4B4D
  1287. X4B4F
  1288. X4950
  1289. X4750
  1290. XCA42
  1291. X4743
  1292. X4544
  1293. X4446
  1294. X4448
  1295. X464A
  1296. X4A4C
  1297. X>
  1298. Xput
  1299. XMetrics
  1300. X/2140
  1301. X[3
  1302. X17]
  1303. Xput
  1304. XCharStrings
  1305. X/2141
  1306. X<C93B
  1307. X463C
  1308. X443F
  1309. X4342
  1310. X4345
  1311. X4447
  1312. X4548
  1313. X4749
  1314. X4949
  1315. X4C48
  1316. X4E45
  1317. X4F42
  1318. X4F3F
  1319. X4E3D
  1320. X4D3C
  1321. X4B3B
  1322. X493B
  1323. XC93B
  1324. X473C
  1325. X453F
  1326. X4442
  1327. X4446
  1328. X4548
  1329. XC949
  1330. X4B48
  1331. X4D45
  1332. X4E42
  1333. X4E3E
  1334. X4D3C
  1335. X>
  1336. Xput
  1337. XMetrics
  1338. X/2141
  1339. X[-3
  1340. X18]
  1341. Xput
  1342. XCharStrings
  1343. X/2142
  1344. X<C93C
  1345. X4549
  1346. XC93C
  1347. X4649
  1348. XCF3C
  1349. X4F49
  1350. XCF3C
  1351. X5049
  1352. XC23E
  1353. X443C
  1354. X473B
  1355. X543B
  1356. XC23E
  1357. X443D
  1358. X473C
  1359. X543C
  1360. X>
  1361. Xput
  1362. XMetrics
  1363. X/2142
  1364. X[-2
  1365. X22]
  1366. Xput
  1367. XCharStrings
  1368. X/2143
  1369. X<C444
  1370. X4547
  1371. X4648
  1372. X4849
  1373. X4A49
  1374. X4D48
  1375. X4F45
  1376. X5042
  1377. X503F
  1378. X4F3D
  1379. X4E3C
  1380. X4C3B
  1381. X4A3B
  1382. X473C
  1383. X453F
  1384. X4442
  1385. X4050
  1386. XCA49
  1387. X4C48
  1388. X4E45
  1389. X4F42
  1390. X4F3E
  1391. X4E3C
  1392. XCA3B
  1393. X483C
  1394. X463F
  1395. X4542
  1396. X4150
  1397. X>
  1398. Xput
  1399. XMetrics
  1400. X/2143
  1401. X[0
  1402. X19]
  1403. Xput
  1404. XCharStrings
  1405. X/2144
  1406. X<D33B
  1407. X493B
  1408. X463C
  1409. X443F
  1410. X4342
  1411. X4345
  1412. X4447
  1413. X4548
  1414. X4749
  1415. X4949
  1416. X4C48
  1417. X4E45
  1418. X4F42
  1419. X4F3F
  1420. X4E3D
  1421. X4D3C
  1422. X4B3B
  1423. XC93B
  1424. X473C
  1425. X453F
  1426. X4442
  1427. X4446
  1428. X4548
  1429. XC949
  1430. X4B48
  1431. X4D45
  1432. X4E42
  1433. X4E3E
  1434. X4D3C
  1435. XCD3C
  1436. X533C
  1437. X>
  1438. Xput
  1439. XMetrics
  1440. X/2144
  1441. X[-3
  1442. X21]
  1443. Xput
  1444. XCharStrings
  1445. X/2145
  1446. X<CB3C
  1447. X4849
  1448. XCB3C
  1449. X4949
  1450. XC23E
  1451. X443C
  1452. X473B
  1453. X523B
  1454. XC23E
  1455. X443D
  1456. X473C
  1457. X523C
  1458. X>
  1459. Xput
  1460. XMetrics
  1461. X/2145
  1462. X[-2
  1463. X20]
  1464. Xput
  1465. XCharStrings
  1466. X/2146
  1467. X<C13F
  1468. X423D
  1469. X443B
  1470. X473B
  1471. X483C
  1472. X483E
  1473. X4644
  1474. X4647
  1475. X4849
  1476. XC63B
  1477. X473C
  1478. X473E
  1479. X4544
  1480. X4547
  1481. X4648
  1482. X4849
  1483. X4949
  1484. X4C48
  1485. X4E46
  1486. X5043
  1487. X5140
  1488. X513D
  1489. X503B
  1490. X4F3C
  1491. X503D
  1492. X5140
  1493. XD043
  1494. X513D
  1495. X>
  1496. Xput
  1497. XMetrics
  1498. X/2146
  1499. X[-1
  1500. X20]
  1501. Xput
  1502. XCharStrings
  1503. X/2147
  1504. X<C83C
  1505. X463D
  1506. X443F
  1507. X4342
  1508. X4345
  1509. X4447
  1510. X4548
  1511. X4749
  1512. X4A49
  1513. X4D48
  1514. X5046
  1515. X5243
  1516. X5340
  1517. X533D
  1518. X513B
  1519. X4F3B
  1520. X4D3D
  1521. X4B41
  1522. X4946
  1523. X4650
  1524. XC345
  1525. X4547
  1526. X4748
  1527. X4A48
  1528. X4D47
  1529. X5045
  1530. X5243
  1531. XD33D
  1532. X513C
  1533. X4F3C
  1534. X4D3E
  1535. X4B41
  1536. X4947
  1537. X4750
  1538. X>
  1539. Xput
  1540. XMetrics
  1541. X/2147
  1542. X[-3
  1543. X22]
  1544. Xput
  1545. XCharStrings
  1546. X/2148
  1547. X<C23B
  1548. X443B
  1549. X463C
  1550. X473E
  1551. X4C4D
  1552. X4D4F
  1553. X4E50
  1554. XC43B
  1555. X453C
  1556. X463E
  1557. X4B4D
  1558. X4C4F
  1559. X4E50
  1560. X5050
  1561. XD13B
  1562. X503D
  1563. X4E40
  1564. X444B
  1565. X424E
  1566. X4150
  1567. X>
  1568. Xput
  1569. XMetrics
  1570. X/2148
  1571. X[-1
  1572. X18]
  1573. Xput
  1574. XCharStrings
  1575. X/2149
  1576. X<CF34
  1577. X4950
  1578. XD034
  1579. X4850
  1580. XC13F
  1581. X423D
  1582. X443B
  1583. X473B
  1584. X483C
  1585. X483E
  1586. X4743
  1587. X4746
  1588. X4948
  1589. X4C48
  1590. X4E47
  1591. X5144
  1592. X5341
  1593. XC63B
  1594. X473C
  1595. X473E
  1596. X4643
  1597. X4646
  1598. X4748
  1599. X4949
  1600. X4C49
  1601. X4E48
  1602. X5046
  1603. X5243
  1604. X5341
  1605. X553B
  1606. X>
  1607. Xput
  1608. XMetrics
  1609. X/2149
  1610. X[0
  1611. X23]
  1612. Xput
  1613. XCharStrings
  1614. X/2150
  1615. X<C43F
  1616. X463D
  1617. X493C
  1618. X483B
  1619. X463C
  1620. X443F
  1621. X4342
  1622. X4345
  1623. X4448
  1624. X4549
  1625. X4749
  1626. X4948
  1627. X4B45
  1628. X4C42
  1629. XC345
  1630. X4447
  1631. X4548
  1632. X4748
  1633. X4947
  1634. X4B45
  1635. XCB42
  1636. X4B45
  1637. X4C48
  1638. X4D49
  1639. X4F49
  1640. X5148
  1641. X5345
  1642. X5442
  1643. X543F
  1644. X533C
  1645. X523B
  1646. X513C
  1647. X533D
  1648. X543F
  1649. XCB45
  1650. X4C47
  1651. X4D48
  1652. X4F48
  1653. X5147
  1654. X5345
  1655. X>
  1656. Xput
  1657. XMetrics
  1658. X/2150
  1659. X[-3
  1660. X23]
  1661. Xput
  1662. END_OF_FILE
  1663. if test 8441 -ne `wc -c <'postscript/fonts/Times/greek.r'`; then
  1664.     echo shar: \"'postscript/fonts/Times/greek.r'\" unpacked with wrong size!
  1665. fi
  1666. # end of 'postscript/fonts/Times/greek.r'
  1667. fi
  1668. if test -f 'postscript/fonts/Times/roman.r' -a "${1}" != "-c" ; then 
  1669.   echo shar: Will not clobber existing file \"'postscript/fonts/Times/roman.r'\"
  1670. else
  1671. echo shar: Extracting \"'postscript/fonts/Times/roman.r'\" \(9406 characters\)
  1672. sed "s/^X//" >'postscript/fonts/Times/roman.r' <<'END_OF_FILE'
  1673. XCharStrings
  1674. X/a
  1675. X<C53D
  1676. X453E
  1677. X443E
  1678. X443D
  1679. X453C
  1680. X473B
  1681. X4B3B
  1682. X4D3C
  1683. X4E3D
  1684. X4F3F
  1685. X4F46
  1686. X5048
  1687. X5149
  1688. XCE3D
  1689. X4E46
  1690. X4F48
  1691. X5149
  1692. X5249
  1693. XCE3F
  1694. X4D40
  1695. X4741
  1696. X4442
  1697. X4344
  1698. X4346
  1699. X4448
  1700. X4749
  1701. X4A49
  1702. X4C48
  1703. X4E46
  1704. XC741
  1705. X4542
  1706. X4444
  1707. X4446
  1708. X4548
  1709. X4749
  1710. X>
  1711. Xput
  1712. XMetrics
  1713. X/a
  1714. X[-3
  1715. X20]
  1716. Xput
  1717. XCharStrings
  1718. X/b
  1719. X<C534
  1720. X4549
  1721. XC634
  1722. X4649
  1723. XC63E
  1724. X483C
  1725. X4A3B
  1726. X4C3B
  1727. X4F3C
  1728. X513E
  1729. X5241
  1730. X5243
  1731. X5146
  1732. X4F48
  1733. X4C49
  1734. X4A49
  1735. X4848
  1736. X4646
  1737. XCC3B
  1738. X4E3C
  1739. X503E
  1740. X5141
  1741. X5143
  1742. X5046
  1743. X4E48
  1744. X4C49
  1745. XC234
  1746. X4634
  1747. X>
  1748. Xput
  1749. XMetrics
  1750. X/b
  1751. X[1
  1752. X21]
  1753. Xput
  1754. XCharStrings
  1755. X/c
  1756. X<CF3E
  1757. X4E3F
  1758. X4F40
  1759. X503F
  1760. X503E
  1761. X4E3C
  1762. X4C3B
  1763. X493B
  1764. X463C
  1765. X443E
  1766. X4341
  1767. X4343
  1768. X4446
  1769. X4648
  1770. X4949
  1771. X4B49
  1772. X4E48
  1773. X5046
  1774. XC93B
  1775. X473C
  1776. X453E
  1777. X4441
  1778. X4443
  1779. X4546
  1780. X4748
  1781. X4949
  1782. X>
  1783. Xput
  1784. XMetrics
  1785. X/c
  1786. X[-3
  1787. X19]
  1788. Xput
  1789. XCharStrings
  1790. X/d
  1791. X<CF34
  1792. X4F49
  1793. XD034
  1794. X5049
  1795. XCF3E
  1796. X4D3C
  1797. X4B3B
  1798. X493B
  1799. X463C
  1800. X443E
  1801. X4341
  1802. X4343
  1803. X4446
  1804. X4648
  1805. X4949
  1806. X4B49
  1807. X4D48
  1808. X4F46
  1809. XC93B
  1810. X473C
  1811. X453E
  1812. X4441
  1813. X4443
  1814. X4546
  1815. X4748
  1816. X4949
  1817. XCC34
  1818. X5034
  1819. XCF49
  1820. X5349
  1821. X>
  1822. Xput
  1823. XMetrics
  1824. X/d
  1825. X[2
  1826. X21]
  1827. Xput
  1828. XCharStrings
  1829. X/e
  1830. X<C441
  1831. X5041
  1832. X503F
  1833. X4F3D
  1834. X4E3C
  1835. X4C3B
  1836. X493B
  1837. X463C
  1838. X443E
  1839. X4341
  1840. X4343
  1841. X4446
  1842. X4648
  1843. X4949
  1844. X4B49
  1845. X4E48
  1846. X5046
  1847. XCF41
  1848. X4F3E
  1849. X4E3C
  1850. XC93B
  1851. X473C
  1852. X453E
  1853. X4441
  1854. X4443
  1855. X4546
  1856. X4748
  1857. X4949
  1858. X>
  1859. Xput
  1860. XMetrics
  1861. X/e
  1862. X[-3
  1863. X19]
  1864. Xput
  1865. XCharStrings
  1866. X/f
  1867. X<CA35
  1868. X4936
  1869. X4A37
  1870. X4B36
  1871. X4B35
  1872. X4A34
  1873. X4834
  1874. X4635
  1875. X4537
  1876. X4549
  1877. XC834
  1878. X4735
  1879. X4637
  1880. X4649
  1881. XC23B
  1882. X4A3B
  1883. XC249
  1884. X4949
  1885. X>
  1886. Xput
  1887. XMetrics
  1888. X/f
  1889. X[5
  1890. X13]
  1891. Xput
  1892. XCharStrings
  1893. X/g
  1894. X<C83B
  1895. X463C
  1896. X453D
  1897. X443F
  1898. X4441
  1899. X4543
  1900. X4644
  1901. X4845
  1902. X4A45
  1903. X4C44
  1904. X4D43
  1905. X4E41
  1906. X4E3F
  1907. X4D3D
  1908. X4C3C
  1909. X4A3B
  1910. X483B
  1911. XC63C
  1912. X453E
  1913. X4542
  1914. X4644
  1915. XCC44
  1916. X4D42
  1917. X4D3E
  1918. X4C3C
  1919. XCD3D
  1920. X4E3C
  1921. X503B
  1922. X503C
  1923. X4E3C
  1924. XC543
  1925. X4444
  1926. X4346
  1927. X4347
  1928. X4449
  1929. X474A
  1930. X4C4A
  1931. X4F4B
  1932. X504C
  1933. XC347
  1934. X4448
  1935. X4749
  1936. X4C49
  1937. X4F4A
  1938. X504C
  1939. X504D
  1940. X4F4F
  1941. X4C50
  1942. X4650
  1943. X434F
  1944. X424D
  1945. X424C
  1946. X434A
  1947. X4649
  1948. X>
  1949. Xput
  1950. XMetrics
  1951. X/g
  1952. X[-2
  1953. X19]
  1954. Xput
  1955. XCharStrings
  1956. X/h
  1957. X<C534
  1958. X4549
  1959. XC634
  1960. X4649
  1961. XC63E
  1962. X483C
  1963. X4B3B
  1964. X4D3B
  1965. X503C
  1966. X513E
  1967. X5149
  1968. XCD3B
  1969. X4F3C
  1970. X503E
  1971. X5049
  1972. XC234
  1973. X4634
  1974. XC249
  1975. X4949
  1976. XCD49
  1977. X5449
  1978. X>
  1979. Xput
  1980. XMetrics
  1981. X/h
  1982. X[1
  1983. X22]
  1984. Xput
  1985. XCharStrings
  1986. X/i
  1987. X<C534
  1988. X4435
  1989. X4536
  1990. X4635
  1991. X4534
  1992. XC53B
  1993. X4549
  1994. XC63B
  1995. X4649
  1996. XC23B
  1997. X463B
  1998. XC249
  1999. X4949
  2000. X>
  2001. Xput
  2002. XMetrics
  2003. X/i
  2004. X[7
  2005. X11]
  2006. Xput
  2007. XCharStrings
  2008. X/j
  2009. X<C634
  2010. X4535
  2011. X4636
  2012. X4735
  2013. X4634
  2014. XC73B
  2015. X474D
  2016. X464F
  2017. X4450
  2018. X4250
  2019. X414F
  2020. X414E
  2021. X424D
  2022. X434E
  2023. X424F
  2024. XC63B
  2025. X464D
  2026. X454F
  2027. X4450
  2028. XC33B
  2029. X473B
  2030. X>
  2031. Xput
  2032. XMetrics
  2033. X/j
  2034. X[7
  2035. X11]
  2036. Xput
  2037. XCharStrings
  2038. X/k
  2039. X<C534
  2040. X4549
  2041. XC634
  2042. X4649
  2043. XD03B
  2044. X4645
  2045. XCB41
  2046. X5149
  2047. XCA41
  2048. X5049
  2049. XC234
  2050. X4634
  2051. XCD3B
  2052. X533B
  2053. XC249
  2054. X4949
  2055. XCD49
  2056. X5349
  2057. X>
  2058. Xput
  2059. XMetrics
  2060. X/k
  2061. X[1
  2062. X21]
  2063. Xput
  2064. XCharStrings
  2065. X/l
  2066. X<C534
  2067. X4549
  2068. XC634
  2069. X4649
  2070. XC234
  2071. X4634
  2072. XC249
  2073. X4949
  2074. X>
  2075. Xput
  2076. XMetrics
  2077. X/l
  2078. X[7
  2079. X11]
  2080. Xput
  2081. XCharStrings
  2082. X/m
  2083. X<C53B
  2084. X4549
  2085. XC63B
  2086. X4649
  2087. XC63E
  2088. X483C
  2089. X4B3B
  2090. X4D3B
  2091. X503C
  2092. X513E
  2093. X5149
  2094. XCD3B
  2095. X4F3C
  2096. X503E
  2097. X5049
  2098. XD13E
  2099. X533C
  2100. X563B
  2101. X583B
  2102. X5B3C
  2103. X5C3E
  2104. X5C49
  2105. XD83B
  2106. X5A3C
  2107. X5B3E
  2108. X5B49
  2109. XC23B
  2110. X463B
  2111. XC249
  2112. X4949
  2113. XCD49
  2114. X5449
  2115. XD849
  2116. X5F49
  2117. X>
  2118. Xput
  2119. XMetrics
  2120. X/m
  2121. X[-2
  2122. X33]
  2123. Xput
  2124. XCharStrings
  2125. X/n
  2126. X<C53B
  2127. X4549
  2128. XC63B
  2129. X4649
  2130. XC63E
  2131. X483C
  2132. X4B3B
  2133. X4D3B
  2134. X503C
  2135. X513E
  2136. X5149
  2137. XCD3B
  2138. X4F3C
  2139. X503E
  2140. X5049
  2141. XC23B
  2142. X463B
  2143. XC249
  2144. X4949
  2145. XCD49
  2146. X5449
  2147. X>
  2148. Xput
  2149. XMetrics
  2150. X/n
  2151. X[-2
  2152. X22]
  2153. Xput
  2154. XCharStrings
  2155. X/o
  2156. X<C93B
  2157. X463C
  2158. X443E
  2159. X4341
  2160. X4343
  2161. X4446
  2162. X4648
  2163. X4949
  2164. X4B49
  2165. X4E48
  2166. X5046
  2167. X5143
  2168. X5141
  2169. X503E
  2170. X4E3C
  2171. X4B3B
  2172. X493B
  2173. XC93B
  2174. X473C
  2175. X453E
  2176. X4441
  2177. X4443
  2178. X4546
  2179. X4748
  2180. X4949
  2181. XCB49
  2182. X4D48
  2183. X4F46
  2184. X5043
  2185. X5041
  2186. X4F3E
  2187. X4D3C
  2188. X4B3B
  2189. X>
  2190. Xput
  2191. XMetrics
  2192. X/o
  2193. X[-3
  2194. X20]
  2195. Xput
  2196. XCharStrings
  2197. X/p
  2198. X<C53B
  2199. X4550
  2200. XC63B
  2201. X4650
  2202. XC63E
  2203. X483C
  2204. X4A3B
  2205. X4C3B
  2206. X4F3C
  2207. X513E
  2208. X5241
  2209. X5243
  2210. X5146
  2211. X4F48
  2212. X4C49
  2213. X4A49
  2214. X4848
  2215. X4646
  2216. XCC3B
  2217. X4E3C
  2218. X503E
  2219. X5141
  2220. X5143
  2221. X5046
  2222. X4E48
  2223. X4C49
  2224. XC23B
  2225. X463B
  2226. XC250
  2227. X4950
  2228. X>
  2229. Xput
  2230. XMetrics
  2231. X/p
  2232. X[-2
  2233. X21]
  2234. Xput
  2235. XCharStrings
  2236. X/q
  2237. X<CF3B
  2238. X4F50
  2239. XD03B
  2240. X5050
  2241. XCF3E
  2242. X4D3C
  2243. X4B3B
  2244. X493B
  2245. X463C
  2246. X443E
  2247. X4341
  2248. X4343
  2249. X4446
  2250. X4648
  2251. X4949
  2252. X4B49
  2253. X4D48
  2254. X4F46
  2255. XC93B
  2256. X473C
  2257. X453E
  2258. X4441
  2259. X4443
  2260. X4546
  2261. X4748
  2262. X4949
  2263. XCC50
  2264. X5350
  2265. X>
  2266. Xput
  2267. XMetrics
  2268. X/q
  2269. X[-3
  2270. X20]
  2271. Xput
  2272. XCharStrings
  2273. X/r
  2274. X<C53B
  2275. X4549
  2276. XC63B
  2277. X4649
  2278. XC641
  2279. X473E
  2280. X493C
  2281. X4B3B
  2282. X4E3B
  2283. X4F3C
  2284. X4F3D
  2285. X4E3E
  2286. X4D3D
  2287. X4E3C
  2288. XC23B
  2289. X463B
  2290. XC249
  2291. X4949
  2292. X>
  2293. Xput
  2294. XMetrics
  2295. X/r
  2296. X[-2
  2297. X17]
  2298. Xput
  2299. XCharStrings
  2300. X/s
  2301. X<CD3D
  2302. X4E3B
  2303. X4E3F
  2304. X4D3D
  2305. X4C3C
  2306. X4A3B
  2307. X463B
  2308. X443C
  2309. X433D
  2310. X433F
  2311. X4440
  2312. X4641
  2313. X4B43
  2314. X4D44
  2315. X4E45
  2316. XC33E
  2317. X443F
  2318. X4640
  2319. X4B42
  2320. X4D43
  2321. X4E44
  2322. X4E47
  2323. X4D48
  2324. X4B49
  2325. X4749
  2326. X4548
  2327. X4447
  2328. X4345
  2329. X4349
  2330. X4447
  2331. X>
  2332. Xput
  2333. XMetrics
  2334. X/s
  2335. X[-3
  2336. X17]
  2337. Xput
  2338. XCharStrings
  2339. X/t
  2340. X<C534
  2341. X4545
  2342. X4648
  2343. X4849
  2344. X4A49
  2345. X4C48
  2346. X4D46
  2347. XC634
  2348. X4645
  2349. X4748
  2350. X4849
  2351. XC23B
  2352. X4A3B
  2353. X>
  2354. Xput
  2355. XMetrics
  2356. X/t
  2357. X[5
  2358. X15]
  2359. Xput
  2360. XCharStrings
  2361. X/u
  2362. X<C53B
  2363. X4546
  2364. X4648
  2365. X4949
  2366. X4B49
  2367. X4E48
  2368. X5046
  2369. XC63B
  2370. X4646
  2371. X4748
  2372. X4949
  2373. XD03B
  2374. X5049
  2375. XD13B
  2376. X5149
  2377. XC23B
  2378. X463B
  2379. XCD3B
  2380. X513B
  2381. XD049
  2382. X5449
  2383. X>
  2384. Xput
  2385. XMetrics
  2386. X/u
  2387. X[-2
  2388. X22]
  2389. Xput
  2390. XCharStrings
  2391. X/v
  2392. X<C33B
  2393. X4949
  2394. XC43B
  2395. X4947
  2396. XCF3B
  2397. X4949
  2398. XC13B
  2399. X473B
  2400. XCB3B
  2401. X513B
  2402. X>
  2403. Xput
  2404. XMetrics
  2405. X/v
  2406. X[-1
  2407. X18]
  2408. Xput
  2409. XCharStrings
  2410. X/w
  2411. X<C43B
  2412. X4849
  2413. XC53B
  2414. X4846
  2415. XCC3B
  2416. X4849
  2417. XCC3B
  2418. X5049
  2419. XCD3B
  2420. X5046
  2421. XD43B
  2422. X5049
  2423. XC13B
  2424. X483B
  2425. XD13B
  2426. X573B
  2427. X>
  2428. Xput
  2429. XMetrics
  2430. X/w
  2431. X[-1
  2432. X24]
  2433. Xput
  2434. XCharStrings
  2435. X/x
  2436. X<C43B
  2437. X4F49
  2438. XC53B
  2439. X5049
  2440. XD03B
  2441. X4449
  2442. XC23B
  2443. X483B
  2444. XCC3B
  2445. X523B
  2446. XC249
  2447. X4849
  2448. XCC49
  2449. X5249
  2450. X>
  2451. Xput
  2452. XMetrics
  2453. X/x
  2454. X[-2
  2455. X20]
  2456. Xput
  2457. XCharStrings
  2458. X/y
  2459. X<C43B
  2460. X4A49
  2461. XC53B
  2462. X4A47
  2463. XD03B
  2464. X4A49
  2465. X484D
  2466. X464F
  2467. X4450
  2468. X4350
  2469. X424F
  2470. X434E
  2471. X444F
  2472. XC23B
  2473. X483B
  2474. XCC3B
  2475. X523B
  2476. X>
  2477. Xput
  2478. XMetrics
  2479. X/y
  2480. X[-2
  2481. X19]
  2482. Xput
  2483. XCharStrings
  2484. X/z
  2485. X<CE3B
  2486. X4349
  2487. XCF3B
  2488. X4449
  2489. XC43B
  2490. X433F
  2491. X433B
  2492. X4F3B
  2493. XC349
  2494. X4F49
  2495. X4F45
  2496. X4E49
  2497. X>
  2498. Xput
  2499. XMetrics
  2500. X/z
  2501. X[-3
  2502. X18]
  2503. Xput
  2504. XCharStrings
  2505. X/space
  2506. X()
  2507. Xput
  2508. XMetrics
  2509. X/space
  2510. X[0
  2511. X20]
  2512. Xput
  2513. XCharStrings
  2514. X/A
  2515. X<CA34
  2516. X4349
  2517. XCA34
  2518. X5149
  2519. XCA37
  2520. X5049
  2521. XC543
  2522. X4E43
  2523. XC149
  2524. X4749
  2525. XCD49
  2526. X5349
  2527. X>
  2528. Xput
  2529. XMetrics
  2530. X/A
  2531. X[2
  2532. X20]
  2533. Xput
  2534. XCharStrings
  2535. X/B
  2536. X<C534
  2537. X4549
  2538. XC634
  2539. X4649
  2540. XC234
  2541. X4E34
  2542. X5135
  2543. X5236
  2544. X5338
  2545. X533A
  2546. X523C
  2547. X513D
  2548. X4E3E
  2549. XCE34
  2550. X5035
  2551. X5136
  2552. X5238
  2553. X523A
  2554. X513C
  2555. X503D
  2556. X4E3E
  2557. XC63E
  2558. X4E3E
  2559. X513F
  2560. X5240
  2561. X5342
  2562. X5345
  2563. X5247
  2564. X5148
  2565. X4E49
  2566. X4249
  2567. XCE3E
  2568. X503F
  2569. X5140
  2570. X5242
  2571. X5245
  2572. X5147
  2573. X5048
  2574. X4E49
  2575. X>
  2576. Xput
  2577. XMetrics
  2578. X/B
  2579. X[1
  2580. X22]
  2581. Xput
  2582. XCharStrings
  2583. X/C
  2584. X<D137
  2585. X523A
  2586. X5234
  2587. X5137
  2588. X4F35
  2589. X4C34
  2590. X4A34
  2591. X4735
  2592. X4537
  2593. X4439
  2594. X433C
  2595. X4341
  2596. X4444
  2597. X4546
  2598. X4748
  2599. X4A49
  2600. X4C49
  2601. X4F48
  2602. X5146
  2603. X5244
  2604. XCA34
  2605. X4835
  2606. X4637
  2607. X4539
  2608. X443C
  2609. X4441
  2610. X4544
  2611. X4646
  2612. X4848
  2613. X4A49
  2614. X>
  2615. Xput
  2616. XMetrics
  2617. X/C
  2618. X[1
  2619. X21]
  2620. Xput
  2621. XCharStrings
  2622. X/D
  2623. X<C534
  2624. X4549
  2625. XC634
  2626. X4649
  2627. XC234
  2628. X4C34
  2629. X4F35
  2630. X5137
  2631. X5239
  2632. X533C
  2633. X5341
  2634. X5244
  2635. X5146
  2636. X4F48
  2637. X4C49
  2638. X4249
  2639. XCC34
  2640. X4E35
  2641. X5037
  2642. X5139
  2643. X523C
  2644. X5241
  2645. X5144
  2646. X5046
  2647. X4E48
  2648. X4C49
  2649. X>
  2650. Xput
  2651. XMetrics
  2652. X/D
  2653. X[1
  2654. X22]
  2655. Xput
  2656. XCharStrings
  2657. X/E
  2658. X<C534
  2659. X4549
  2660. XC634
  2661. X4649
  2662. XCC3A
  2663. X4C42
  2664. XC234
  2665. X5234
  2666. X523A
  2667. X5134
  2668. XC63E
  2669. X4C3E
  2670. XC249
  2671. X5249
  2672. X5243
  2673. X5149
  2674. X>
  2675. Xput
  2676. XMetrics
  2677. X/E
  2678. X[1
  2679. X21]
  2680. Xput
  2681. XCharStrings
  2682. X/F
  2683. X<C534
  2684. X4549
  2685. XC634
  2686. X4649
  2687. XCC3A
  2688. X4C42
  2689. XC234
  2690. X5234
  2691. X523A
  2692. X5134
  2693. XC63E
  2694. X4C3E
  2695. XC249
  2696. X4949
  2697. X>
  2698. Xput
  2699. XMetrics
  2700. X/F
  2701. X[1
  2702. X20]
  2703. Xput
  2704. XCharStrings
  2705. X/G
  2706. X<D137
  2707. X523A
  2708. X5234
  2709. X5137
  2710. X4F35
  2711. X4C34
  2712. X4A34
  2713. X4735
  2714. X4537
  2715. X4439
  2716. X433C
  2717. X4341
  2718. X4444
  2719. X4546
  2720. X4748
  2721. X4A49
  2722. X4C49
  2723. X4F48
  2724. X5146
  2725. XCA34
  2726. X4835
  2727. X4637
  2728. X4539
  2729. X443C
  2730. X4441
  2731. X4544
  2732. X4646
  2733. X4848
  2734. X4A49
  2735. XD141
  2736. X5149
  2737. XD241
  2738. X5249
  2739. XCE41
  2740. X5541
  2741. X>
  2742. Xput
  2743. XMetrics
  2744. X/G
  2745. X[1
  2746. X23]
  2747. Xput
  2748. XCharStrings
  2749. X/H
  2750. X<C534
  2751. X4549
  2752. XC634
  2753. X4649
  2754. XD234
  2755. X5249
  2756. XD334
  2757. X5349
  2758. XC234
  2759. X4934
  2760. XCF34
  2761. X5634
  2762. XC63E
  2763. X523E
  2764. XC249
  2765. X4949
  2766. XCF49
  2767. X5649
  2768. X>
  2769. Xput
  2770. XMetrics
  2771. X/H
  2772. X[0
  2773. X24]
  2774. Xput
  2775. XCharStrings
  2776. X/I
  2777. X<C534
  2778. X4549
  2779. XC634
  2780. X4649
  2781. XC234
  2782. X4934
  2783. XC249
  2784. X4949
  2785. X>
  2786. Xput
  2787. XMetrics
  2788. X/I
  2789. X[7
  2790. X11]
  2791. Xput
  2792. XCharStrings
  2793. X/J
  2794. X<CA34
  2795. X4A45
  2796. X4948
  2797. X4749
  2798. X4549
  2799. X4348
  2800. X4246
  2801. X4244
  2802. X4343
  2803. X4444
  2804. X4345
  2805. XC934
  2806. X4945
  2807. X4848
  2808. X4749
  2809. XC634
  2810. X4D34
  2811. X>
  2812. Xput
  2813. XMetrics
  2814. X/J
  2815. X[5
  2816. X15]
  2817. Xput
  2818. XCharStrings
  2819. X/K
  2820. X<C534
  2821. X4549
  2822. XC634
  2823. X4649
  2824. XD334
  2825. X4641
  2826. XCB3D
  2827. X5349
  2828. XCA3D
  2829. X5249
  2830. XC234
  2831. X4934
  2832. XCF34
  2833. X5534
  2834. XC249
  2835. X4949
  2836. XCF49
  2837. X5549
  2838. X>
  2839. Xput
  2840. XMetrics
  2841. X/K
  2842. X[0
  2843. X22]
  2844. Xput
  2845. XCharStrings
  2846. X/L
  2847. X<C534
  2848. X4549
  2849. XC634
  2850. X4649
  2851. XC234
  2852. X4934
  2853. XC249
  2854. X5149
  2855. X5143
  2856. X5049
  2857. X>
  2858. Xput
  2859. XMetrics
  2860. X/L
  2861. X[3
  2862. X18]
  2863. Xput
  2864. XCharStrings
  2865. X/M
  2866. X<C534
  2867. X4549
  2868. XC634
  2869. X4C46
  2870. XC534
  2871. X4C49
  2872. XD334
  2873. X4C49
  2874. XD334
  2875. X5349
  2876. XD434
  2877. X5449
  2878. XC234
  2879. X4634
  2880. XD334
  2881. X5734
  2882. XC249
  2883. X4849
  2884. XD049
  2885. X5749
  2886. X>
  2887. Xput
  2888. XMetrics
  2889. X/M
  2890. X[0
  2891. X25]
  2892. Xput
  2893. XCharStrings
  2894. X/N
  2895. X<C534
  2896. X4549
  2897. XC634
  2898. X5247
  2899. XC636
  2900. X5249
  2901. XD234
  2902. X5249
  2903. XC234
  2904. X4634
  2905. XCF34
  2906. X5534
  2907. XC249
  2908. X4849
  2909. X>
  2910. Xput
  2911. XMetrics
  2912. X/N
  2913. X[1
  2914. X23]
  2915. Xput
  2916. XCharStrings
  2917. X/O
  2918. X<CA34
  2919. X4735
  2920. X4537
  2921. X4439
  2922. X433D
  2923. X4340
  2924. X4444
  2925. X4546
  2926. X4748
  2927. X4A49
  2928. X4C49
  2929. X4F48
  2930. X5146
  2931. X5244
  2932. X5340
  2933. X533D
  2934. X5239
  2935. X5137
  2936. X4F35
  2937. X4C34
  2938. X4A34
  2939. XCA34
  2940. X4835
  2941. X4637
  2942. X4539
  2943. X443D
  2944. X4440
  2945. X4544
  2946. X4646
  2947. X4848
  2948. X4A49
  2949. XCC49
  2950. X4E48
  2951. X5046
  2952. X5144
  2953. X5240
  2954. X523D
  2955. X5139
  2956. X5037
  2957. X4E35
  2958. X4C34
  2959. X>
  2960. Xput
  2961. XMetrics
  2962. X/O
  2963. X[1
  2964. X22]
  2965. Xput
  2966. XCharStrings
  2967. X/P
  2968. X<C534
  2969. X4549
  2970. XC634
  2971. X4649
  2972. XC234
  2973. X4E34
  2974. X5135
  2975. X5236
  2976. X5338
  2977. X533B
  2978. X523D
  2979. X513E
  2980. X4E3F
  2981. X463F
  2982. XCE34
  2983. X5035
  2984. X5136
  2985. X5238
  2986. X523B
  2987. X513D
  2988. X503E
  2989. X4E3F
  2990. XC249
  2991. X4949
  2992. X>
  2993. Xput
  2994. XMetrics
  2995. X/P
  2996. X[1
  2997. X22]
  2998. Xput
  2999. XCharStrings
  3000. X/Q
  3001. X<CA34
  3002. X4735
  3003. X4537
  3004. X4439
  3005. X433D
  3006. X4340
  3007. X4444
  3008. X4546
  3009. X4748
  3010. X4A49
  3011. X4C49
  3012. X4F48
  3013. X5146
  3014. X5244
  3015. X5340
  3016. X533D
  3017. X5239
  3018. X5137
  3019. X4F35
  3020. X4C34
  3021. X4A34
  3022. XCA34
  3023. X4835
  3024. X4637
  3025. X4539
  3026. X443D
  3027. X4440
  3028. X4544
  3029. X4646
  3030. X4848
  3031. X4A49
  3032. XCC49
  3033. X4E48
  3034. X5046
  3035. X5144
  3036. X5240
  3037. X523D
  3038. X5139
  3039. X5037
  3040. X4E35
  3041. X4C34
  3042. XC747
  3043. X4746
  3044. X4844
  3045. X4A43
  3046. X4B43
  3047. X4D44
  3048. X4E46
  3049. X4F4D
  3050. X504E
  3051. X524E
  3052. X534C
  3053. X534B
  3054. XCE46
  3055. X4F4A
  3056. X504C
  3057. X514D
  3058. X524D
  3059. X534C
  3060. X>
  3061. Xput
  3062. XMetrics
  3063. X/Q
  3064. X[1
  3065. X22]
  3066. Xput
  3067. XCharStrings
  3068. X/R
  3069. X<C534
  3070. X4549
  3071. XC634
  3072. X4649
  3073. XC234
  3074. X4E34
  3075. X5135
  3076. X5236
  3077. X5338
  3078. X533A
  3079. X523C
  3080. X513D
  3081. X4E3E
  3082. X463E
  3083. XCE34
  3084. X5035
  3085. X5136
  3086. X5238
  3087. X523A
  3088. X513C
  3089. X503D
  3090. X4E3E
  3091. XC249
  3092. X4949
  3093. XCB3E
  3094. X4D3F
  3095. X4E40
  3096. X5147
  3097. X5248
  3098. X5348
  3099. X5447
  3100. XCD3F
  3101. X4E41
  3102. X5048
  3103. X5149
  3104. X5349
  3105. X5447
  3106. X5446
  3107. X>
  3108. Xput
  3109. XMetrics
  3110. X/R
  3111. X[1
  3112. X22]
  3113. Xput
  3114. XCharStrings
  3115. X/S
  3116. X<D037
  3117. X5134
  3118. X513A
  3119. X5037
  3120. X4E35
  3121. X4B34
  3122. X4834
  3123. X4535
  3124. X4337
  3125. X4339
  3126. X443B
  3127. X453C
  3128. X473D
  3129. X4D3F
  3130. X4F40
  3131. X5142
  3132. XC339
  3133. X453B
  3134. X473C
  3135. X4D3E
  3136. X4F3F
  3137. X5040
  3138. X5142
  3139. X5146
  3140. X4F48
  3141. X4C49
  3142. X4949
  3143. X4648
  3144. X4446
  3145. X4343
  3146. X4349
  3147. X4446
  3148. X>
  3149. Xput
  3150. XMetrics
  3151. X/S
  3152. X[2
  3153. X20]
  3154. Xput
  3155. XCharStrings
  3156. X/T
  3157. X<C934
  3158. X4949
  3159. XCA34
  3160. X4A49
  3161. XC334
  3162. X423A
  3163. X4234
  3164. X5134
  3165. X513A
  3166. X5034
  3167. XC649
  3168. X4D49
  3169. X>
  3170. Xput
  3171. XMetrics
  3172. X/T
  3173. X[3
  3174. X19]
  3175. Xput
  3176. XCharStrings
  3177. X/U
  3178. X<C534
  3179. X4543
  3180. X4646
  3181. X4848
  3182. X4B49
  3183. X4D49
  3184. X5048
  3185. X5246
  3186. X5343
  3187. X5334
  3188. XC634
  3189. X4643
  3190. X4746
  3191. X4948
  3192. X4B49
  3193. XC234
  3194. X4934
  3195. XD034
  3196. X5634
  3197. X>
  3198. Xput
  3199. XMetrics
  3200. X/U
  3201. X[0
  3202. X24]
  3203. Xput
  3204. XCharStrings
  3205. X/V
  3206. X<C334
  3207. X4A49
  3208. XC434
  3209. X4A46
  3210. XD134
  3211. X4A49
  3212. XC134
  3213. X4734
  3214. XCD34
  3215. X5334
  3216. X>
  3217. Xput
  3218. XMetrics
  3219. X/V
  3220. X[2
  3221. X20]
  3222. Xput
  3223. XCharStrings
  3224. X/W
  3225. X<C434
  3226. X4849
  3227. XC534
  3228. X4844
  3229. XCC34
  3230. X4849
  3231. XCC34
  3232. X5049
  3233. XCD34
  3234. X5044
  3235. XD434
  3236. X5049
  3237. XC134
  3238. X4834
  3239. XD134
  3240. X5734
  3241. X>
  3242. Xput
  3243. XMetrics
  3244. X/W
  3245. X[0
  3246. X24]
  3247. Xput
  3248. XCharStrings
  3249. X/X
  3250. X<C334
  3251. X5049
  3252. XC434
  3253. X5149
  3254. XD134
  3255. X4349
  3256. XC134
  3257. X4734
  3258. XCD34
  3259. X5334
  3260. XC149
  3261. X4749
  3262. XCD49
  3263. X5349
  3264. X>
  3265. Xput
  3266. XMetrics
  3267. X/X
  3268. X[2
  3269. X20]
  3270. Xput
  3271. XCharStrings
  3272. X/Y
  3273. X<C334
  3274. X4A3F
  3275. X4A49
  3276. XC434
  3277. X4B3F
  3278. X4B49
  3279. XD234
  3280. X4B3F
  3281. XC134
  3282. X4734
  3283. XCE34
  3284. X5434
  3285. XC749
  3286. X4E49
  3287. X>
  3288. Xput
  3289. XMetrics
  3290. X/Y
  3291. X[2
  3292. X21]
  3293. Xput
  3294. XCharStrings
  3295. X/Z
  3296. X<D034
  3297. X4349
  3298. XD134
  3299. X4449
  3300. XC434
  3301. X433A
  3302. X4334
  3303. X5134
  3304. XC349
  3305. X5149
  3306. X5143
  3307. X5049
  3308. X>
  3309. Xput
  3310. XMetrics
  3311. X/Z
  3312. X[2
  3313. X20]
  3314. Xput
  3315. XCharStrings
  3316. X/ff
  3317. X<CF35
  3318. X4E36
  3319. X4F37
  3320. X5036
  3321. X5035
  3322. X4E34
  3323. X4B34
  3324. X4835
  3325. X4637
  3326. X453A
  3327. X4549
  3328. XCB34
  3329. X4935
  3330. X4737
  3331. X463A
  3332. X4649
  3333. XD535
  3334. X5436
  3335. X5537
  3336. X5636
  3337. X5635
  3338. X5534
  3339. X5334
  3340. X5135
  3341. X5037
  3342. X5049
  3343. XD334
  3344. X5235
  3345. X5137
  3346. X5149
  3347. XC23B
  3348. X543B
  3349. XC249
  3350. X4949
  3351. XCD49
  3352. X5449
  3353. X>
  3354. Xput
  3355. XMetrics
  3356. X/ff
  3357. X[1
  3358. X23]
  3359. Xput
  3360. XCharStrings
  3361. X/fi
  3362. X<D035
  3363. X4F36
  3364. X5037
  3365. X5136
  3366. X5035
  3367. X4E34
  3368. X4B34
  3369. X4835
  3370. X4637
  3371. X453A
  3372. X4549
  3373. XCB34
  3374. X4935
  3375. X4737
  3376. X463A
  3377. X4649
  3378. XD03B
  3379. X5049
  3380. XD13B
  3381. X5149
  3382. XC23B
  3383. X513B
  3384. XC249
  3385. X4949
  3386. XCD49
  3387. X5449
  3388. X>
  3389. Xput
  3390. XMetrics
  3391. X/fi
  3392. X[1
  3393. X22]
  3394. Xput
  3395. XCharStrings
  3396. X/fl
  3397. X<CF35
  3398. X4E36
  3399. X4F37
  3400. X5036
  3401. X5035
  3402. X4E34
  3403. XD134
  3404. X4B34
  3405. X4835
  3406. X4637
  3407. X453A
  3408. X4549
  3409. XCB34
  3410. X4935
  3411. X4737
  3412. X463A
  3413. X4649
  3414. XD036
  3415. X5049
  3416. XD134
  3417. X5149
  3418. XC23B
  3419. X503B
  3420. XC249
  3421. X4949
  3422. XCD49
  3423. X5449
  3424. X>
  3425. Xput
  3426. XMetrics
  3427. X/fl
  3428. X[1
  3429. X22]
  3430. Xput
  3431. XCharStrings
  3432. X/ffi
  3433. X<D035
  3434. X4F36
  3435. X5037
  3436. X5136
  3437. X5035
  3438. X4E34
  3439. X4B34
  3440. X4835
  3441. X4637
  3442. X453A
  3443. X4549
  3444. XCB34
  3445. X4935
  3446. X4737
  3447. X463A
  3448. X4649
  3449. XDB35
  3450. X5A36
  3451. X5B37
  3452. X5C36
  3453. X5B35
  3454. X5934
  3455. X5634
  3456. X5335
  3457. X5137
  3458. X503A
  3459. X5049
  3460. XD634
  3461. X5435
  3462. X5237
  3463. X513A
  3464. X5149
  3465. XDB3B
  3466. X5B49
  3467. XDC3B
  3468. X5C49
  3469. XC23B
  3470. X5C3B
  3471. XC249
  3472. X4949
  3473. XCD49
  3474. X5449
  3475. XD849
  3476. X5F49
  3477. X>
  3478. Xput
  3479. XMetrics
  3480. X/ffi
  3481. X[-2
  3482. X33]
  3483. Xput
  3484. XCharStrings
  3485. X/ffl
  3486. X<D035
  3487. X4F36
  3488. X5037
  3489. X5136
  3490. X5035
  3491. X4E34
  3492. X4B34
  3493. X4835
  3494. X4637
  3495. X453A
  3496. X4549
  3497. XCB34
  3498. X4935
  3499. X4737
  3500. X463A
  3501. X4649
  3502. XDA35
  3503. X5936
  3504. X5A37
  3505. X5B36
  3506. X5B35
  3507. X5934
  3508. XDC34
  3509. X5634
  3510. X5335
  3511. X5137
  3512. X503A
  3513. X5049
  3514. XD634
  3515. X5435
  3516. X5237
  3517. X513A
  3518. X5149
  3519. XDB36
  3520. X5B49
  3521. XDC34
  3522. X5C49
  3523. XC23B
  3524. X5B3B
  3525. XC249
  3526. X4949
  3527. XCD49
  3528. X5449
  3529. XD849
  3530. X5F49
  3531. X>
  3532. Xput
  3533. XMetrics
  3534. X/ffl
  3535. X[-2
  3536. X33]
  3537. Xput
  3538. XCharStrings
  3539. X/dotlessi
  3540. X<C53B
  3541. X4549
  3542. XC63B
  3543. X4649
  3544. XC23B
  3545. X463B
  3546. XC249
  3547. X4949
  3548. X>
  3549. Xput
  3550. XMetrics
  3551. X/dotlessi
  3552. X[0
  3553. X11]
  3554. Xput
  3555. END_OF_FILE
  3556. if test 9406 -ne `wc -c <'postscript/fonts/Times/roman.r'`; then
  3557.     echo shar: \"'postscript/fonts/Times/roman.r'\" unpacked with wrong size!
  3558. fi
  3559. # end of 'postscript/fonts/Times/roman.r'
  3560. fi
  3561. if test -f 'source/colour-ww.c' -a "${1}" != "-c" ; then 
  3562.   echo shar: Will not clobber existing file \"'source/colour-ww.c'\"
  3563. else
  3564. echo shar: Extracting \"'source/colour-ww.c'\" \(9048 characters\)
  3565. sed "s/^X//" >'source/colour-ww.c' <<'END_OF_FILE'
  3566. X/*
  3567. X * Copyright (C) Rutherford Appleton Laboratory 1987
  3568. X * 
  3569. X * This source may be copied, distributed, altered or used, but not sold for profit
  3570. X * or incorporated into a product except under licence from the author.
  3571. X * It is not in the public domain.
  3572. X * This notice should remain in the source unaltered, and any changes to the source
  3573. X * made by persons other than the author should be marked as such.
  3574. X * 
  3575. X *    Crispin Goswell @ Rutherford Appleton Laboratory caag@uk.ac.rl.vd
  3576. X */
  3577. X#include "main.h"
  3578. X#include "graphics.h"
  3579. X#include "canon.h"
  3580. X#include "wwinfo.h"
  3581. X
  3582. Xstatic void xxrasterop ();
  3583. X
  3584. Xstatic struct hardware *NewHardware ();
  3585. X
  3586. X#define COLOURS 256
  3587. X
  3588. Xstatic unsigned char reds[COLOURS], greens[COLOURS], blues[COLOURS];
  3589. Xstatic int colours_used = 0;
  3590. X
  3591. Xstruct hardware *InitHardware ()
  3592. X {
  3593. X    wwstartup (COLOURS);
  3594. X     InitTransfer (wwask (ASKXPPI));
  3595. X     
  3596. X     return NULL;
  3597. X }
  3598. X
  3599. Xint HardColour (h, colour) struct hardware *h; Colour colour;
  3600. X {
  3601. X    float r, g, b;
  3602. X    unsigned char red, green, blue;
  3603. X    int i;
  3604. X    
  3605. X    ColourRGB (colour, &r, &g, &b);
  3606. X    
  3607. X    red = 255 * r; green = 255 * g; blue = 255 * b;
  3608. X    for (i = 0; i < colours_used; i++)
  3609. X        if (reds[i] == red && greens[i] == green && blues[i] == blue)
  3610. X            return i;
  3611. X    if (colours_used == COLOURS)
  3612. X        return 0;
  3613. X    reds[colours_used] = red; greens[colours_used] = green; blues[colours_used] = blue;
  3614. X    colours_used++;
  3615. X    
  3616. X    InstallColour (h, i);
  3617. X    return i;
  3618. X }
  3619. X
  3620. Xvoid Paint  (from, to, fromPoint, toPoint, extent, colour)
  3621. X    struct hardware *from, *to;
  3622. X    DevicePoint fromPoint, toPoint, extent;
  3623. X    Colour colour;
  3624. X {
  3625. X    dd->d_fore = HardColour (to, colour);
  3626. X    BitBlt (from, to, fromPoint, toPoint, extent, ROP_OR);
  3627. X }
  3628. X
  3629. Xvoid PaintLine (h, fromPoint, toPoint, colour)
  3630. X    struct hardware *h;
  3631. X    DevicePoint fromPoint, toPoint;
  3632. X    Colour colour;
  3633. X {
  3634. X    dd->d_fore = HardColour (h, colour);
  3635. X    BitBltLine (h, fromPoint, toPoint, ROP_TRUE);
  3636. X }
  3637. X
  3638. Xvoid PaintTrapezoid (to, lefttop, leftbottom, righttop, rightbottom, top, bottom, colour)
  3639. X    struct hardware *to;
  3640. X    DevicePoint lefttop, leftbottom, righttop, rightbottom;
  3641. X    int top, bottom;
  3642. X    Colour colour;
  3643. X {
  3644. X    dd->d_fore = HardColour (to, colour);
  3645. X    BitBltTrapezoid (to, lefttop, leftbottom, righttop, rightbottom, top, bottom, ROP_TRUE);
  3646. X }
  3647. X
  3648. X#define TRANSFER_SIZE    256
  3649. X
  3650. Xstatic int transfer [TRANSFER_SIZE];
  3651. X
  3652. Xvoid InitTransfer (ppi) int ppi;
  3653. X {
  3654. X     int i;
  3655. X     
  3656. X     pixels_per_inch = ppi;
  3657. X     for (i = 0; i < TRANSFER_SIZE; i++)
  3658. X         transfer [i] = i;
  3659. X }
  3660. X
  3661. Xint TransferSize ()
  3662. X {
  3663. X    return TRANSFER_SIZE;
  3664. X }
  3665. X
  3666. Xvoid SetTransfer (tran) float *tran;
  3667. X {
  3668. X     int i;
  3669. X     
  3670. X     for (i = 0; i < TRANSFER_SIZE; i++)
  3671. X         transfer [i] = (TRANSFER_SIZE - 1) * tran[i] + .5;
  3672. X }
  3673. X
  3674. Xint ScreenSize (freq, rot) float freq, rot;
  3675. X {
  3676. X     return 0;
  3677. X }
  3678. X
  3679. Xvoid BuildScreen (freq, rotation, x, y) float freq, rotation, *x, *y;
  3680. X {
  3681. X }
  3682. X
  3683. Xvoid SetScreen (freq, rotation, thresh) float freq, rotation, *thresh;
  3684. X {
  3685. X }
  3686. X
  3687. Xstruct hardware *NewWindowHardware (width, height) int width, height;
  3688. X {
  3689. X     DevicePoint real_extent;
  3690. X     window *w;
  3691. X     
  3692. X     real_extent = NewDevicePoint (width, height);
  3693. X     
  3694. X     if (width == 0)
  3695. X         width = 1;
  3696. X     if (height == 0)
  3697. X         height = 1;
  3698. X     
  3699. X     if ((w = wwxget (boxbuild (0, 0, width, height), COLOURS, "PostScript", 0)) == NULL)
  3700. X         return NULL;
  3701. X     return NewHardware (w->w_bm, real_extent, ISWIN);
  3702. X }
  3703. X
  3704. Xstruct hardware *NewBitmapHardware (width, height) int width, height;
  3705. X {
  3706. X     DevicePoint real_extent;
  3707. X     bitmap *bm;
  3708. X     
  3709. X     real_extent = NewDevicePoint (width, height);
  3710. X     
  3711. X     if (width == 0)
  3712. X         width = 1;
  3713. X     if (height == 0)
  3714. X         height = 1;
  3715. X     if ((bm = bmxget (width, height, 2)) == NULL)
  3716. X         return NULL;
  3717. X     
  3718. X     return NewHardware (bm, real_extent, 0);
  3719. X }
  3720. X
  3721. X#define DeviceBitmap(h) ((bitmap *) ((h)->hard.addr))
  3722. X
  3723. XInstallColour (h, col) struct hardware *h; int col;
  3724. X {
  3725. X    corep (DeviceBitmap (h), &reds[col], &greens[col], &blues[col], 0, col, 1, COSET);
  3726. X }
  3727. X
  3728. Xstatic void DestroyHard (dev) struct hardware *dev;
  3729. X {
  3730. X     bitmap *bm = DeviceBitmap (dev);
  3731. X     
  3732. X     if (bm)
  3733. X      {
  3734. X          if (bm->bm_window)
  3735. X              wwfree (bm->bm_window);
  3736. X         else
  3737. X             bmfree (bm);
  3738. X      }
  3739. X }
  3740. X
  3741. Xvoid DestroyHardware (dev) struct hardware *dev;
  3742. X {
  3743. X     if (dev == NULL)
  3744. X         return;
  3745. X     DestroyHard (dev);
  3746. X     if (dev->aux)
  3747. X         DestroyHardware (dev->aux);
  3748. X     Free ((char *) dev);
  3749. X }
  3750. X
  3751. Xstatic struct hardware *NewHardware (bm, extent, flags) bitmap *bm; DevicePoint extent; int flags;
  3752. X {
  3753. X     struct hardware *d = (struct hardware *) Malloc (sizeof (struct hardware));
  3754. X     
  3755. X     d->flags = flags;
  3756. X     d->hard.addr = (char *) bm;
  3757. X     d->aux = d->clip = NULL;
  3758. X     d->extent = extent;
  3759. X     
  3760. X     return d;
  3761. X }
  3762. X
  3763. Xstruct hardware *HardwareFromString (st, width, height) char *st; int width, height;
  3764. X {
  3765. X     unsigned size = height * (width + 7) / 8;
  3766. X     char *s = Malloc (size + 4);
  3767. X     struct hardware *h;
  3768. X     
  3769. X     s[0] = height >> 8; s[1] = height;
  3770. X     s[2] = width >> 8;  s[3] = width;
  3771. X     Bcopy (s + 4, st, size);
  3772. X     
  3773. X     h = NewHardware (bmdecode (s, ENWWSTYLE), NewDevicePoint (width, height), 0);
  3774. X     Free ((char *) s);
  3775. X     
  3776. X     return h;
  3777. X }
  3778. X
  3779. Xchar *StringFromHardware (dev) struct hardware *dev;
  3780. X {
  3781. X     int length;
  3782. X     
  3783. X     return bmencode (DeviceBitmap (dev), ENWWSTYLE, &length) + 4;
  3784. X }
  3785. X
  3786. Xvoid UpdateControl (h, flag) struct hardware *h; int flag;
  3787. X {
  3788. X     window *oldddwin = ddwin;
  3789. X     
  3790. X     if (h == NULL)
  3791. X         return;
  3792. X     ddwin = DeviceBitmap (h)->bm_window;
  3793. X     if (ddwin)
  3794. X        wwstack (flag ? WWPOP : WWPUSHOFF);
  3795. X    ddwin = oldddwin;
  3796. X }
  3797. X
  3798. Xvoid RasterTile (from, to, toPoint, extent, rop)
  3799. X    struct hardware *from, *to;
  3800. X    DevicePoint toPoint, extent;
  3801. X    int rop;
  3802. X {
  3803. X     if (to == NULL || DeviceBitmap (to) == NULL || extent.dx == 0 || extent.dy == 0)
  3804. X         return;
  3805. X     bmclip (DeviceBitmap (to), boxbuild (toPoint.dx, toPoint.dy, toPoint.dx + extent.dx - 1, toPoint.dy + extent.dy - 1));
  3806. X     xxrasterop (DeviceBitmap (from), DeviceBitmap (from)->bm_box, DeviceBitmap (to), DeviceBitmap (to)->bm_box, rop);
  3807. X     bmclip (DeviceBitmap (to), noclipbox);
  3808. X }
  3809. X
  3810. Xvoid BitBlt (from, to, fromPoint, toPoint, extent, rop)
  3811. X    struct hardware *from, *to;
  3812. X    DevicePoint fromPoint, toPoint, extent;
  3813. X    int rop;
  3814. X {
  3815. X    box frombox, tobox;
  3816. X    
  3817. X    if (to == NULL || DeviceBitmap (to) == NULL || extent.dx == 0 || extent.dy == 0)
  3818. X         return;
  3819. X    
  3820. X     if (from == NULL || DeviceBitmap (from) == NULL)
  3821. X         rop = single_rop [rop];
  3822. X     else
  3823. X         frombox = boxbuild (fromPoint.dx, fromPoint.dy, fromPoint.dx + extent.dx - 1, fromPoint.dy + extent.dy - 1);
  3824. X     
  3825. X      tobox = boxbuild (toPoint.dx, toPoint.dy, toPoint.dx + extent.dx - 1, toPoint.dy + extent.dy - 1);
  3826. X    
  3827. X    xxrasterop ((from == NULL ? NULL : DeviceBitmap (from)), frombox, DeviceBitmap (to), tobox, rop);
  3828. X }
  3829. X
  3830. Xvoid BitBltLine (h, fromPoint, toPoint, rop) 
  3831. X      struct hardware *h;
  3832. X    DevicePoint fromPoint, toPoint;
  3833. X    int rop;
  3834. X {
  3835. X     if (h == NULL || DeviceBitmap (h) == NULL)
  3836. X         return;
  3837. X     
  3838. X    switch (single_rop [rop])
  3839. X     {
  3840. X         case ROP_FALSE:     rop = WWAND;     break;
  3841. X         case ROP_TRUE:      rop = WWOR;      break;
  3842. X         case ROP_NOTDEST:     rop = WWXOR;     break;
  3843. X         case ROP_DEST:         return;     break;
  3844. X         
  3845. X         default:
  3846. X             fprintf (stderr, "illegal rasterop\n");
  3847. X             exit (1);
  3848. X     }
  3849. X    
  3850. X    ddbm = DeviceBitmap (h);
  3851. X     dd->d_line = rop;
  3852. X     
  3853. X    line (fromPoint.dx, fromPoint.dy, LNMOVEABS);
  3854. X     line (toPoint.dx, toPoint.dy, LNDRAWABS);
  3855. X }
  3856. X
  3857. Xvoid BitBltBlob (to, top, height, left, right, rop) struct hardware *to; int top, height, *left, *right, rop;
  3858. X {
  3859. X     int i, op, offset = top;
  3860. X     height += top;
  3861. X     switch (rop)
  3862. X      {
  3863. X          case ROP_FALSE:     op = BMCLEARALL; break;
  3864. X          case ROP_DEST:         return;
  3865. X          case ROP_NOTDEST:     op = BMNOTALL; break;
  3866. X          case ROP_TRUE:         op = BMNOTALL | BMCLEARALL; break;
  3867. X      }
  3868. X     ddbm = DeviceBitmap (to);
  3869. X     wwstack (WWPUSHOFF);
  3870. X     for (i = top; i < height; i++)
  3871. X         bmbox (boxbuild (left[i - offset], i, right[i - offset], i), op);
  3872. X     wwstack (WWPOP);
  3873. X }
  3874. X
  3875. Xstatic void xxrasterop (from, frombox, to, tobox, rop) bitmap *from, *to; box frombox, tobox; int rop;
  3876. X {
  3877. X    switch (rop)
  3878. X      {
  3879. X          case ROP_FALSE:                                 bmxbox (to, tobox, BMCLEARALL);    break;
  3880. X          case ROP_AND:         bmxcopy (from, frombox, to, tobox, WWAND);                         break;
  3881. X          case ROP_ANDNOT:    bmxcopy (from, frombox, to, tobox, WWOR | WWNOT);   bmxbox (to, tobox, BMNOTALL);     break;
  3882. X         case ROP_SOURCE:     bmxcopy (from, frombox, to, tobox, WWCOPY);                         break;
  3883. X         case ROP_NOTAND:     bmxcopy (from, frombox, to, tobox, WWAND | WWNOT);                     break;
  3884. X          case ROP_DEST:                                                     break;
  3885. X          case ROP_XOR:        bmxcopy (from, frombox, to, tobox, WWXOR);                         break;
  3886. X           case ROP_OR:        bmxcopy (from, frombox, to, tobox, WWOR);                         break;
  3887. X           case ROP_NOR:        bmxcopy (from, frombox, to, tobox, WWOR);         bmxbox (to, tobox, BMNOTALL);     break;
  3888. X           case ROP_NXOR:        bmxcopy (from, frombox, to, tobox, WWXOR);         bmxbox (to, tobox, BMNOTALL);     break;
  3889. X         case ROP_NOTDEST:                                 bmxbox (to, tobox, BMNOTALL);     break;
  3890. X         case ROP_ORNOT:        bmxcopy (from, frombox, to, tobox, WWAND | WWNOT);  bmxbox (to, tobox, BMNOTALL);    break;
  3891. X         case ROP_NOTSOURCE:    bmxcopy (from, frombox, to, tobox, WWCOPY | WWNOT);                     break;
  3892. X           case ROP_NOTOR:        bmxcopy (from, frombox, to, tobox, WWOR | WWNOT);                     break;
  3893. X         case ROP_NAND:        bmxcopy (from, frombox, to, tobox, WWAND);         bmxbox (to, tobox, BMNOTALL);     break;
  3894. X          case ROP_TRUE:                             bmxbox (to, tobox, BMCLEARALL | BMNOTALL);     break;
  3895. X          
  3896. X          default:
  3897. X              fprintf (stderr, "Illegal rasterop %d (hex 0x%x)\n", rop, rop);
  3898. X              exit (1);
  3899. X      }
  3900. X }
  3901. END_OF_FILE
  3902. if test 9048 -ne `wc -c <'source/colour-ww.c'`; then
  3903.     echo shar: \"'source/colour-ww.c'\" unpacked with wrong size!
  3904. fi
  3905. # end of 'source/colour-ww.c'
  3906. fi
  3907. if test -f 'source/integer.c' -a "${1}" != "-c" ; then 
  3908.   echo shar: Will not clobber existing file \"'source/integer.c'\"
  3909. else
  3910. echo shar: Extracting \"'source/integer.c'\" \(8759 characters\)
  3911. sed "s/^X//" >'source/integer.c' <<'END_OF_FILE'
  3912. X/*
  3913. X * Copyright (C) Rutherford Appleton Laboratory 1987
  3914. X * 
  3915. X * This source may be copied, distributed, altered or used, but not sold for profit
  3916. X * or incorporated into a product except under licence from the author.
  3917. X * It is not in the public domain.
  3918. X * This notice should remain in the source unaltered, and any changes to the source
  3919. X * made by persons other than the author should be marked as such.
  3920. X * 
  3921. X *    Crispin Goswell @ Rutherford Appleton Laboratory caag@uk.ac.rl.vd
  3922. X */
  3923. X#include <signal.h>
  3924. X#include "main.h"
  3925. X
  3926. Xstatic Object OpFor;
  3927. X    
  3928. Xstatic int For (), PFor (), Eq (), Lt (), Le (), Gt (), Ge (), Not (), And (), Or (), Xor (), BitShift ();
  3929. Xstatic int Abs (), Add (), Sub (), Mul (), Div (), Mod (), Neg ();
  3930. Xstatic int Exp (), Sqrt (), Sin (), Cos (), Atan (), Ln (), Log (), Identity ();
  3931. Xstatic int Cvr (), Cvs (), EqEq ();
  3932. X
  3933. Xstatic int WordSize, Word2, LowMask;
  3934. X
  3935. XInitInteger ()
  3936. X {
  3937. X     unsigned word;
  3938. X     
  3939. X     OpFor = MakeOp ("(forinteger)", For, 0, 1, 5, 6);
  3940. X     
  3941. X    TypeInstallOp (Integer, "cvi",         Identity,    1, 1, 0, 0, Integer);
  3942. X     TypeInstallOp (Integer, "cvr",         Cvr,        1, 1, 0, 0, Integer);
  3943. X      TypeInstallOp (Integer, "cvs",         Cvs,        2, 1, 0, 0, Integer, String);
  3944. X    TypeInstallOp (Integer, "==",         EqEq,        1, 0, 0, 0, Integer);
  3945. X     TypeInstallOp (Integer, "for",         PFor,         4, 0, 0, 6, Integer, Integer, Integer, Array);
  3946. X      TypeInstallOp (Integer, "eq",         Eq,        2, 1, 0, 0, Integer, Integer);
  3947. X      TypeInstallOp (Integer, "lt",         Lt,        2, 1, 0, 0, Integer, Integer);
  3948. X     TypeInstallOp (Integer, "le",         Le,        2, 1, 0, 0, Integer, Integer);
  3949. X     TypeInstallOp (Integer, "gt",         Gt,        2, 1, 0, 0, Integer, Integer);
  3950. X     TypeInstallOp (Integer, "ge",         Ge,        2, 1, 0, 0, Integer, Integer);
  3951. X     TypeInstallOp (Integer, "not",         Not,        1, 1, 0, 0, Integer);
  3952. X     TypeInstallOp (Integer, "and",         And,        2, 1, 0, 0, Integer, Integer);
  3953. X     TypeInstallOp (Integer, "or",         Or,        2, 1, 0, 0, Integer, Integer);
  3954. X     TypeInstallOp (Integer, "xor",         Xor,        2, 1, 0, 0, Integer, Integer);
  3955. X     TypeInstallOp (Integer, "bitshift",     BitShift,    2, 1, 0, 0, Integer, Integer);
  3956. X     TypeInstallOp (Integer, "abs",         Abs,        1, 1, 0, 0, Integer);
  3957. X     TypeInstallOp (Integer, "add",         Add,        2, 1, 0, 0, Integer, Integer);
  3958. X     TypeInstallOp (Integer, "sub",         Sub,        2, 1, 0, 0, Integer, Integer);
  3959. X     TypeInstallOp (Integer, "mul",         Mul,        2, 1, 0, 0, Integer, Integer);
  3960. X     TypeInstallOp (Integer, "div",         Div,        2, 1, 0, 0, Integer, Integer);
  3961. X     TypeInstallOp (Integer, "mod",         Mod,        2, 1, 0, 0, Integer, Integer);
  3962. X     TypeInstallOp (Integer, "neg",         Neg,        1, 1, 0, 0, Integer);
  3963. X     TypeInstallOp (Integer, "exp",         Exp,        2, 1, 0, 0, Integer, Integer);
  3964. X     TypeInstallOp (Integer, "sqrt",     Sqrt,        1, 1, 0, 0, Integer);
  3965. X     TypeInstallOp (Integer, "sin",         Sin,        1, 1, 0, 0, Integer);
  3966. X     TypeInstallOp (Integer, "cos",         Cos,        1, 1, 0, 0, Integer);
  3967. X     TypeInstallOp (Integer, "atan",     Atan,        2, 1, 0, 0, Integer, Integer);
  3968. X     TypeInstallOp (Integer, "ln",         Ln,        1, 1, 0, 0, Integer);
  3969. X     TypeInstallOp (Integer, "log",         Log,        1, 1, 0, 0, Integer);
  3970. X     TypeInstallOp (Integer, "ceiling",     Identity,    1, 1, 0, 0, Integer);
  3971. X     TypeInstallOp (Integer, "floor",     Identity,    1, 1, 0, 0, Integer);
  3972. X     TypeInstallOp (Integer, "round",     Identity,    1, 1, 0, 0, Integer);
  3973. X     TypeInstallOp (Integer, "truncate",     Identity,    1, 1, 0, 0, Integer);
  3974. X     
  3975. X     word = -1;
  3976. X     PanicIf (word != ~0, "Need 2's complement machine! Sorry.");
  3977. X     
  3978. X     for (WordSize = 0; word != 0; WordSize++)
  3979. X         word >>= 1;
  3980. X     Word2 = WordSize / 2;
  3981. X     LowMask = (1<<Word2) - 1;
  3982. X}
  3983. X
  3984. Xint StrictMul (a, b) int a, b;
  3985. X {
  3986. X     int atop, abot, btop, bbot, sum, signed;
  3987. X     
  3988. X     signed = (a < 0) != (b < 0);
  3989. X     a = a < 0 ? -a : a;
  3990. X     b = b < 0 ? -b : b;
  3991. X     abot = a & LowMask;
  3992. X     bbot = b & LowMask;
  3993. X     atop = a >> Word2;
  3994. X     btop = b >> Word2;
  3995. X     sum = abot * btop + atop * bbot;
  3996. X     sum += ((unsigned) (abot * bbot) >> Word2);
  3997. X     sum = ((unsigned) sum >> Word2) + atop * btop;
  3998. X     if (sum != 0 || a * b < 0)
  3999. X         kill (getpid (), SIGFPE);
  4000. X     return signed ? -a * b : a * b;
  4001. X }
  4002. X
  4003. Xint StrictAdd (a, b) int a, b;
  4004. X {
  4005. X    if ((a < 0) == (b < 0) && (a < 0) != (a + b < 0))
  4006. X        kill (getpid (), SIGFPE);
  4007. X    return a + b;
  4008. X }
  4009. X
  4010. Xint BodyInteger (item) Object item;
  4011. X {
  4012. X     return item.u.Integer;
  4013. X }
  4014. X
  4015. Xstatic int Body (item) Object item;
  4016. X {
  4017. X     return item.u.Integer;
  4018. X }
  4019. X
  4020. XObject MakeInteger (i) int i;
  4021. X {
  4022. X     Object res;
  4023. X     
  4024. X     res = MakeObject (Integer);
  4025. X     res.u.Integer = i;
  4026. X     
  4027. X     return res;
  4028. X }
  4029. X
  4030. Xstatic Object Make (i) int i;
  4031. X {
  4032. X     Object res;
  4033. X     
  4034. X     res = MakeObject (Integer);
  4035. X     res.u.Integer = i;
  4036. X     
  4037. X     return res;
  4038. X }
  4039. X
  4040. Xstatic int Cvr (item) Object item;
  4041. X {
  4042. X    return Push (OpStack, RealInteger (item));
  4043. X }
  4044. X
  4045. Xstatic int Cvs (v, string) Object v, string;
  4046. X {
  4047. X    int length;
  4048. X    char buf [BUFSIZE];
  4049. X     
  4050. X    VOID sprintf (buf, "%d", BodyInteger (v));
  4051. X    if ((length = strlen (buf)) > lengthString (string))
  4052. X        return Error (PRangeCheck);
  4053. X    VOID Bcopy (BodyString (string), buf, length);
  4054. X    return Push (OpStack, getIString (string, 0, length));
  4055. X }
  4056. X
  4057. Xstatic int EqEq (v) Object v;
  4058. X {
  4059. X    printf ("%d", BodyInteger (v));
  4060. X    return TRUE;
  4061. X }
  4062. X
  4063. XObject IntReal (o) Object o;
  4064. X {
  4065. X     return Make ((int) BodyReal (o));
  4066. X }
  4067. X
  4068. Xstatic int PFor (initial, increment, limit, proc) Object initial, increment, limit, proc;
  4069. X {
  4070. X     VOID Push (ExecStack, Nil);
  4071. X    VOID Push (ExecStack, increment);
  4072. X    VOID Push (ExecStack, limit);
  4073. X    VOID Push (ExecStack, initial);
  4074. X    VOID Push (ExecStack, proc);
  4075. X    VOID Push (ExecStack, OpFor);
  4076. X    
  4077. X    return TRUE;
  4078. X }
  4079. X
  4080. Xstatic int For ()
  4081. X {
  4082. X    Object current, limit, increment, proc;
  4083. X    
  4084. X    proc      = Pop (ExecStack);
  4085. X    current   = Pop (ExecStack);
  4086. X    limit      = Pop (ExecStack);
  4087. X    increment = Pop (ExecStack);
  4088. X    
  4089. X    if (Body (increment) > 0
  4090. X                ? Body (current) > Body (limit)
  4091. X                : Body (current) < Body (limit))
  4092. X         VOID Pop (ExecStack);
  4093. X    else
  4094. X     {
  4095. X         VOID Push (ExecStack, increment);
  4096. X         VOID Push (ExecStack, limit);
  4097. X         VOID Push (ExecStack, Make (StrictAdd (Body (current), Body (increment))));
  4098. X         VOID Push (ExecStack, proc);
  4099. X         VOID Push (ExecStack, OpFor);
  4100. X         VOID Push (ExecStack, proc);
  4101. X         VOID Push (OpStack, current);
  4102. X     }
  4103. X    return TRUE;
  4104. X }
  4105. X
  4106. Xstatic int Eq (a, b) Object a, b;
  4107. X {
  4108. X     return Push (OpStack, MakeBoolean (Body (a) == Body (b)));
  4109. X }
  4110. X
  4111. Xstatic int Lt (a, b) Object a, b;
  4112. X {
  4113. X     return Push (OpStack, MakeBoolean (Body (a) < Body (b)));
  4114. X }
  4115. X
  4116. Xstatic int Le (a, b) Object a, b;
  4117. X {
  4118. X     return Push (OpStack, MakeBoolean (Body (a) <= Body (b)));
  4119. X }
  4120. X
  4121. Xstatic int Gt (a, b) Object a, b;
  4122. X {
  4123. X     return Push (OpStack, MakeBoolean (Body (a) > Body (b)));
  4124. X }
  4125. X
  4126. Xstatic int Ge (a, b) Object a, b;
  4127. X {
  4128. X     return Push (OpStack, MakeBoolean (Body (a) >= Body (b)));
  4129. X }
  4130. X
  4131. Xstatic int Not (integer) Object integer;
  4132. X {
  4133. X      return Push (OpStack, Make (~ Body (integer)));
  4134. X }
  4135. X
  4136. Xstatic int And (a, b) Object a, b;
  4137. X {
  4138. X     return Push (OpStack, Make (Body (a) & Body (b)));
  4139. X }
  4140. X
  4141. Xstatic int Or (a, b) Object a, b;
  4142. X {
  4143. X     return Push (OpStack, Make (Body (a) | Body (b)));
  4144. X }
  4145. X
  4146. Xstatic int Xor (a, b) Object a, b;
  4147. X {
  4148. X     return Push (OpStack, Make (Body (a) ^ Body (b)));
  4149. X }
  4150. X
  4151. Xstatic int BitShift (a, b) Object a, b;
  4152. X {
  4153. X     if (Body (b) > 0)
  4154. X         return Push (OpStack, Make ((int) ((unsigned) Body (a) << Body (b))));
  4155. X     else
  4156. X         return Push (OpStack, Make ((int) ((unsigned) Body (a) >> (-Body (b)))));
  4157. X }
  4158. X
  4159. Xstatic int Abs (v) Object v;
  4160. X {
  4161. X     return Push (OpStack, Make (Body (v) >= 0 ? Body (v) : -Body (v)));
  4162. X }
  4163. X
  4164. Xstatic int Add (a, b) Object a, b;
  4165. X {
  4166. X     return Push (OpStack, Make (StrictAdd (Body (a), Body (b))));
  4167. X }
  4168. X
  4169. Xstatic int Sub (a, b) Object a, b;
  4170. X {
  4171. X     return Push (OpStack, Make (StrictAdd (Body (a), -Body (b))));
  4172. X }
  4173. X
  4174. Xstatic int Mul (a, b) Object a, b;
  4175. X {
  4176. X     return Push (OpStack, Make (StrictMul (Body (a), Body (b))));
  4177. X }
  4178. X
  4179. Xstatic int Div (a, b) Object a, b;
  4180. X {
  4181. X     if (Body (b) == 0)
  4182. X         return Error (PUnResult);
  4183. X     return Push (OpStack, MakeReal ((float) Body (a) / (float) Body (b)));
  4184. X }
  4185. X
  4186. Xstatic int Mod (a, b) Object a, b;
  4187. X {
  4188. X     if (Body (b) == 0)
  4189. X         return Error (PUnResult);
  4190. X     return Push (OpStack, Make (Body (a) % Body (b)));
  4191. X }
  4192. X
  4193. Xstatic int Neg (a) Object a;
  4194. X {
  4195. X    return Push (OpStack, Make (-Body (a)));
  4196. X }
  4197. X
  4198. Xstatic int Sqrt (v) Object v;
  4199. X {
  4200. X      if (Body (v) < 0)
  4201. X         return Error (PUnResult);
  4202. X    return Push (OpStack, MakeReal ((float) sqrt ((double) Body (v))));
  4203. X }
  4204. X
  4205. Xstatic int Exp (a, b) Object a, b;
  4206. X {
  4207. X    return Push (OpStack, MakeReal ((float) pow ((double) Body (a), (double) Body (b))));
  4208. X }
  4209. X
  4210. Xstatic int Identity (v) Object v;
  4211. X {
  4212. X     return Push (OpStack, v);
  4213. X }
  4214. X
  4215. Xstatic int Sin (v) Object v;
  4216. X {
  4217. X     return Push (OpStack, MakeReal ((float) sin (Rad ((double) Body (v)))));
  4218. X }
  4219. X
  4220. Xstatic int Cos (v) Object v;
  4221. X {
  4222. X     return Push (OpStack, MakeReal ((float) cos (Rad ((double) Body (v)))));
  4223. X }
  4224. X
  4225. Xstatic int Atan (a, b) Object a, b;
  4226. X {
  4227. X     return Push (OpStack, MakeReal ((float) Deg (atan2 ((double) Body (a), (double) Body (b)))));
  4228. X }
  4229. X
  4230. Xstatic int Ln (v) Object v;
  4231. X {
  4232. X     return Push (OpStack, MakeReal ((float) log ((double) Body (v))));
  4233. X }
  4234. X
  4235. Xstatic int Log (v) Object v;
  4236. X {
  4237. X     return Push (OpStack, MakeReal ((float) log10 ((double) Body (v))));
  4238. X }
  4239. END_OF_FILE
  4240. if test 8759 -ne `wc -c <'source/integer.c'`; then
  4241.     echo shar: \"'source/integer.c'\" unpacked with wrong size!
  4242. fi
  4243. # end of 'source/integer.c'
  4244. fi
  4245. if test -f 'source/operator.c' -a "${1}" != "-c" ; then 
  4246.   echo shar: Will not clobber existing file \"'source/operator.c'\"
  4247. else
  4248. echo shar: Extracting \"'source/operator.c'\" \(8110 characters\)
  4249. sed "s/^X//" >'source/operator.c' <<'END_OF_FILE'
  4250. X/*
  4251. X * Copyright (C) Rutherford Appleton Laboratory 1987
  4252. X * 
  4253. X * This source may be copied, distributed, altered or used, but not sold for profit
  4254. X * or incorporated into a product except under licence from the author.
  4255. X * It is not in the public domain.
  4256. X * This notice should remain in the source unaltered, and any changes to the source
  4257. X * made by persons other than the author should be marked as such.
  4258. X * 
  4259. X *    Crispin Goswell @ Rutherford Appleton Laboratory caag@uk.ac.rl.vd
  4260. X */
  4261. X#include "main.h"
  4262. X
  4263. Xstruct op_struct
  4264. X {
  4265. X     Object name;
  4266. X     int (*fn)(), arguments, results, execpop, execpush;
  4267. X     Type *argtypes;
  4268. X };
  4269. X
  4270. Xint ExecOperator ();
  4271. Xstatic int EqEq (), Cvs (), Eq (), Signature ();
  4272. X
  4273. XInitOperator ()
  4274. X {
  4275. X     
  4276. X    TypeInstallOp (Operator, "==",     EqEq,            1, 0, 0, 0, Operator);
  4277. X      TypeInstallOp (Operator, "cvs", Cvs,            2, 1, 0, 0, Operator, String);
  4278. X      TypeInstallOp (Operator, "exec",ExecOperator,        1, 0, 0, 0, Operator);
  4279. X      TypeInstallOp (Operator, "eq",    Eq,            2, 1, 0, 0, Operator, Operator);
  4280. X      TypeInstallOp (Operator, "signature",    Signature,    1, 0, 0, 0, Operator);
  4281. X }
  4282. X
  4283. X/*VARARGS6*/
  4284. X/*ARGSUSED*/
  4285. XObject MakeOp (name, fn, arguments, results, execpop, execpush, arg1, arg2, arg3, arg4, arg5, arg6, arg7)
  4286. X        char *name;
  4287. X        int (*fn)(), arguments, results, execpop, execpush;
  4288. X        Type arg1, arg2, arg3, arg4, arg5, arg6, arg7;
  4289. X {
  4290. X     Object res;
  4291. X     struct op_struct *op;
  4292. X     int i;
  4293. X     
  4294. X     res = Cvx (MakeObject (Operator));
  4295. X     res.u.Operator = op = (struct op_struct *) Malloc (sizeof (struct op_struct));
  4296. X    
  4297. X    op->name    = NameFrom (name);
  4298. X    op->fn        = fn;
  4299. X     op->arguments    = arguments;
  4300. X     op->results    = results;
  4301. X     op->execpop    = execpop;
  4302. X     op->execpush    = execpush;
  4303. X     
  4304. X     op->argtypes = (Type *) Malloc ((unsigned) sizeof (Type) * arguments);
  4305. X     
  4306. X     for (i = 0; i < arguments; i++)
  4307. X         op->argtypes[i] = (&arg1)[i];
  4308. X     
  4309. X     return res;
  4310. X }
  4311. X
  4312. X/*VARARGS6*/
  4313. X/*ARGSUSED*/
  4314. XInstallOp (name, fn, arguments, results, execpop, execpush, arg1, arg2, arg3, arg4, arg5, arg6, arg7)
  4315. X        char *name;
  4316. X        int (*fn)(), arguments, results, execpop, execpush;
  4317. X        Type arg1, arg2, arg3, arg4, arg5, arg6, arg7;
  4318. X {
  4319. X     Object res;
  4320. X     struct op_struct *op;
  4321. X     int i;
  4322. X     res = Cvx (MakeObject (Operator));
  4323. X     res.u.Operator = op = (struct op_struct *) Malloc (sizeof (struct op_struct));
  4324. X    
  4325. X    op->name    = NameFrom (name);
  4326. X    op->fn        = fn;
  4327. X     op->arguments    = arguments;
  4328. X     op->results    = results;
  4329. X     op->execpop    = execpop;
  4330. X     op->execpush    = execpush;
  4331. X     
  4332. X     op->argtypes = (Type *) Malloc ((unsigned) sizeof (Type) * arguments);
  4333. X    
  4334. X/*     for (i = 0; i < arguments; i++)
  4335. X         op->argtypes[i] = (&arg1)[i];
  4336. X */    switch (arguments)
  4337. X      {
  4338. X          default:
  4339. X              Panic ("too many arguments in InstallOp");
  4340. X              break;
  4341. X          case 7: op->argtypes[6] = arg7;
  4342. X         case 6: op->argtypes[5] = arg6;
  4343. X         case 5: op->argtypes[4] = arg5;
  4344. X         case 4: op->argtypes[3] = arg4;
  4345. X         case 3: op->argtypes[2] = arg3;
  4346. X         case 2: op->argtypes[1] = arg2;
  4347. X         case 1: op->argtypes[0] = arg1;
  4348. X         case 0: break;
  4349. X      }
  4350. X    DictStore (SysDict, NameOperator (res), res);
  4351. X }
  4352. X
  4353. X/*VARARGS7*/
  4354. X/*ARGSUSED*/
  4355. XTypeInstallOp (type, name, fn, arguments, results, execpop, execpush, arg1, arg2, arg3, arg4, arg5, arg6, arg7)
  4356. X        char *name;
  4357. X        int (*fn)(), arguments, results, execpop, execpush;
  4358. X        Type type, arg1, arg2, arg3, arg4, arg5, arg6, arg7;
  4359. X {
  4360. X     Object res;
  4361. X     struct op_struct *op;
  4362. X     int i;
  4363. X     
  4364. X     res = Cvx (MakeObject (Operator));
  4365. X     res.u.Operator = op = (struct op_struct *) Malloc (sizeof (struct op_struct));
  4366. X    
  4367. X    op->name    = NameFrom (name);
  4368. X    op->fn        = fn;
  4369. X     op->arguments    = arguments;
  4370. X     op->results    = results;
  4371. X     op->execpop    = execpop;
  4372. X     op->execpush    = execpush;
  4373. X     
  4374. X     op->argtypes = (Type *) Malloc ((unsigned) sizeof (Type) * arguments);
  4375. X     
  4376. X     for (i = 0; i < arguments; i++)
  4377. X         op->argtypes[i] = (&arg1)[i];
  4378. X     
  4379. X     TypeInstall (type, name, res);
  4380. X }
  4381. X
  4382. Xstatic struct op_struct *Body (item) Object item;
  4383. X {
  4384. X     return item.u.Operator;
  4385. X }
  4386. X
  4387. X#define Body(op)    ((op).u.Operator)
  4388. X
  4389. Xstatic int Eq (a, b) Object a, b;
  4390. X {
  4391. X     return Push (OpStack, MakeBoolean (Body (a) == Body (b)));
  4392. X }
  4393. X
  4394. XObject NameOperator (item) Object item;
  4395. X {
  4396. X     return Body (item)->name;
  4397. X }
  4398. X
  4399. X#define NameOperator(op)    ((op).u.Operator->name)
  4400. X
  4401. Xstatic int Cvs (v, string) Object v, string;
  4402. X {
  4403. X     Object vv;
  4404. X     int length;
  4405. X     
  4406. X     vv = NameOperator (v);
  4407. X     
  4408. X    if (lengthString (string) < (length = lengthName (vv)))
  4409. X        return Error (PRangeCheck);
  4410. X    VOID strncpy (BodyString (string), BodyName (vv), length);
  4411. X    return Push (OpStack, getIString (string, 0, length));
  4412. X }
  4413. X
  4414. Xstatic int EqEq (v) Object v;
  4415. X {
  4416. X     VOID Push (OpStack, NameOperator (v));
  4417. X     VOID Push (ExecStack, Cvx (NameFrom ("==")));
  4418. X    return TRUE;
  4419. X }
  4420. X
  4421. X/*
  4422. X * Operator types.
  4423. X *
  4424. X *    PostScript has 200 or so operators which can be divided into groups by the
  4425. X *    arguments required.
  4426. X *
  4427. X *    The type Real         causes an Integer argument to get floated.
  4428. X *    The type Unchecked     causes an argument to be passed through whatever type it has.
  4429. X *    The type Number        causes all Number arguments to be Integer or Real
  4430. X *
  4431. X *    An operator object comprises several pieces of information:
  4432. X *
  4433. X *    1    Number of arguments required
  4434. X *    2    Number of results which may be returned
  4435. X *    3    Number of items required on the ExecStack
  4436. X *    4    Number of items added to the ExecStack
  4437. X *    5    A List of argument types
  4438. X *
  4439. X *    Functions requiring strange arguments can declare themselves to take few
  4440. X *    arguments and then use some directly from the OpStack.
  4441. X *
  4442. X *    The first four arguments are only required for checking Stack over and underflow,
  4443. X *    thus operators are not required to hold to their requests.
  4444. X *
  4445. X *    After resolving any peculiar type rules, Exec will lookup the operator name in the type
  4446. X *    dictionary for the argument type which is specified as being the controlling argument.
  4447. X *    The operator will receive the correct number of arguments and will be expected to stack
  4448. X *    its own results. There will be a fixed maximum limit of the number of arguments an operator
  4449. X *    can declare for itself. This is likely to be the maximum that PostScript uses, i.e. 6 or 7.
  4450. X *
  4451. X */
  4452. X
  4453. Xint ExecOperator (item) Object item;
  4454. X {
  4455. X    struct op_struct *op = Body (item);
  4456. X    int i, res, (*fn)() = op->fn;
  4457. X    Object arg[7];
  4458. X    
  4459. X    Self = NameOperator (item);
  4460. X         if (op->results    > MaxStack (OpStack)   - Height (OpStack))    return Error (POpOverflow);
  4461. X    else if (op->execpush    > MaxStack (ExecStack) - Height (ExecStack))    return Error (PExecOverflow);
  4462. X    else if (op->arguments  > Height   (OpStack))                return Error (POpUnderflow);
  4463. X    else if (op->execpop    > Height   (ExecStack))                return Error (PExecUnderflow);
  4464. X    
  4465. X    for (i = op->arguments - 1; i >= 0; i--)
  4466. X        arg[i] = Pop (OpStack);
  4467. X    for (i = op->arguments - 1; i >= 0; i--)
  4468. X     {
  4469. X         Type formal = op->argtypes[i], actual = TypeOf (arg[i]);
  4470. X         
  4471. X         if (formal == Float && actual == Integer)
  4472. X              arg[i] = RealInteger (arg[i]);
  4473. X        if (formal == actual ||
  4474. X                formal == Poly ||
  4475. X                formal == Float &&
  4476. X                    (actual == Integer || actual == Real))
  4477. X              continue;
  4478. X         for (i = 0; i < op->arguments; i++)
  4479. X            VOID Push (OpStack, arg[i]);
  4480. X        return Error (PTypeCheck);
  4481. X     }
  4482. X    
  4483. X    /*if (setjmp (env))
  4484. X         res = Error (PUnResult);
  4485. X    else */
  4486. X        switch (op->arguments)
  4487. X         {
  4488. X             case 0: res = (*fn) (); break;
  4489. X             case 1: res = (*fn) (arg[0]); break;
  4490. X             case 2: res = (*fn) (arg[0], arg[1]); break;
  4491. X             case 3: res = (*fn) (arg[0], arg[1], arg[2]); break;
  4492. X             case 4: res = (*fn) (arg[0], arg[1], arg[2], arg[3]); break;
  4493. X             case 5: res = (*fn) (arg[0], arg[1], arg[2], arg[3], arg[4]); break;
  4494. X             case 6: res = (*fn) (arg[0], arg[1], arg[2], arg[3], arg[4], arg[5]); break;
  4495. X             case 7: res = (*fn) (arg[0], arg[1], arg[2], arg[3], arg[4], arg[5], arg[6]); break;
  4496. X             
  4497. X             default: Panic ("primitve with too many arguments");
  4498. X         }
  4499. X         /*    res = (*fn) (arg[0], arg[1], arg[2], arg[3], arg[4], arg[5], arg[6]);    */
  4500. X    
  4501. X    if (!res)
  4502. X        for (i = 0; i < op->arguments; i++)
  4503. X            VOID Push (OpStack, arg[i]);
  4504. X    return res;
  4505. X }
  4506. X
  4507. Xstatic int Signature (op) Object op;
  4508. X {
  4509. X    Object tn;
  4510. X     struct op_struct *ops = Body (op);
  4511. X     int i;
  4512. X     
  4513. X     tn = NameFrom ("type");
  4514. X     if (!OpCheck (0, ops->arguments + 1))
  4515. X         return FALSE;
  4516. X     for (i = 0; i < ops->arguments; i++)
  4517. X         VOID Push (OpStack, Lookup (ops->argtypes[i], tn));
  4518. X     VOID Push (OpStack, MakeInteger (ops->arguments));
  4519. X     VOID Push (OpStack, MakeInteger (ops->results));
  4520. X     
  4521. X     return TRUE;
  4522. X }
  4523. END_OF_FILE
  4524. if test 8110 -ne `wc -c <'source/operator.c'`; then
  4525.     echo shar: \"'source/operator.c'\" unpacked with wrong size!
  4526. fi
  4527. # end of 'source/operator.c'
  4528. fi
  4529. echo shar: End of archive 6 \(of 18\).
  4530. cp /dev/null ark6isdone
  4531. MISSING=""
  4532. for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 ; do
  4533.     if test ! -f ark${I}isdone ; then
  4534.     MISSING="${MISSING} ${I}"
  4535.     fi
  4536. done
  4537. if test "${MISSING}" = "" ; then
  4538.     echo You have unpacked all 18 archives.
  4539.     rm -f ark[1-9]isdone ark[1-9][0-9]isdone
  4540. else
  4541.     echo You still need to unpack the following archives:
  4542.     echo "        " ${MISSING}
  4543. fi
  4544. ##  End of shell archive.
  4545. exit 0
  4546.