home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / unix / volume12 / postscript / part07 < prev    next >
Encoding:
Internet Message Format  |  1987-11-05  |  56.0 KB

  1. Subject:  v12i056:  A PostScript interpreter, Part07/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 56
  8. Archive-name: postscript/part07
  9.  
  10. #! /bin/sh
  11. # This is a shell archive.  Remove anything before this line, then unpack
  12. # it by saving it into a file and typing "sh file".  To overwrite existing
  13. # files, type "sh file -c".  You can also feed this as standard input via
  14. # unshar, or by typing "sh <file", e.g..  If this archive is complete, you
  15. # will see the following message at the end:
  16. #        "End of archive 7 (of 18)."
  17. if test -f 'doc/hard-interface.c' -a "${1}" != "-c" ; then 
  18.   echo shar: Will not clobber existing file \"'doc/hard-interface.c'\"
  19. else
  20. echo shar: Extracting \"'doc/hard-interface.c'\" \(10105 characters\)
  21. sed "s/^X//" >'doc/hard-interface.c' <<'END_OF_FILE'
  22. X#include "main.h"
  23. X#include "graphics.h"
  24. X
  25. Xstruct hardware
  26. X {
  27. X     /*
  28. X      * Each driver is expected to provide its own definition of this structure.
  29. X      * It is only ever used as a pointer and is never dereferenced outside the driver.
  30. X      */
  31. X     int pad;
  32. X };
  33. X
  34. X/*
  35. X *    This file describes the interface that PostScript requires to the graphics system at Version 1.4.
  36. X *    
  37. X *    ''Hardware'' in this context refers to a pointer to windows and/or bitmaps and is the lowest level
  38. X *    of access that PostScript is interested in. Any Hardware parameter may be expected to be NULL.
  39. X */
  40. X
  41. X/*********************************** CREATION OF WINDOWS AND BITMAPS *******************/
  42. X
  43. Xstruct hardware *InitHardware () {}
  44. X/*
  45. X *    InitHardware () returns a default device which PostScript may use immediately (or NULL if not appropriate).
  46. X *    Its size and shape are not defined. Most typically the user will want to start up another device
  47. X *    before it is used anyway. No attempt will be made by PostScript to Destroy the resulting
  48. X *    device.
  49. X */
  50. X
  51. Xstruct hardware *NewBitmapHardware (width, height) int width, height; {}
  52. X
  53. Xstruct hardware *NewWindowHardware (width, height) int width, height; {}
  54. X/*
  55. X *    NewBitmapHardware () is expected to create a new bitmap. Only one plane will be needed.
  56. X *    
  57. X *    NewWindowHardware () is expected to create a window on the screen. On a colour system this will
  58. X *    be expected to support full colour.
  59. X */
  60. X
  61. Xint IsWindowHardware (h) struct hardware *h; {}
  62. X/*
  63. X *    IsWindowHardware () should return TRUE if the hardware is a window, FALSE otherwise.
  64. X *    NULL is a window.
  65. X */
  66. X
  67. Xvoid DestroyHardware (h) struct hardware *h; {}
  68. X/*    
  69. X *    DestroyHardware () should release the resources required by the hardware, bitmap or window.
  70. X *    This should cause a window device to vanish. NULL is not an error (does nothing).
  71. X */
  72. X
  73. X
  74. XMatrix DeviceMatrix (width, height) int width, height; {}
  75. X
  76. X/*
  77. X *
  78. X *    DeviceMatrix () should return a matrix appropriate to a device of the given height and width.
  79. X *    For a typical display with a graphics origin at the top left of a window,
  80. X *    an appropriate definition would be:
  81. X *    
  82. X *    Matrix DeviceMatrix (width, height) int width, height;
  83. X *     {
  84. X *         return NewMatrix (PIXELS_PER_INCH / 72.0, 0.0, 0.0, -PIXELS_PER_INCH / 72.0, 0.0, (float) height);
  85. X *     }
  86. X */
  87. X
  88. XDevicePoint HardwareExtent (h) struct hardware *h; {}
  89. X/*    HardwareExtent () returns a DevicePoint describing the width and height of the argument.
  90. X *    NULL has extent NewDevicePoint (0, 0).
  91. X */
  92. X
  93. X/******************************************* OUTPUT PRIMITIVES ******************************/    
  94. X
  95. Xvoid BitBlt (from, to, fromPoint, toPoint, extent, rop)
  96. X    struct hardware *from, *to;
  97. X    DevicePoint toPoint, fromPoint, extent;
  98. X    int rop;
  99. X {}
  100. X
  101. Xvoid Paint (from, to, fromPoint, toPoint, extent, colour)
  102. X    struct hardware *from, *to;
  103. X    DevicePoint toPoint, fromPoint, extent;
  104. X    Colour colour;
  105. X {}
  106. X
  107. X/*    
  108. X *    BitBlt () is a full function RasterOp. The 'rop' argument
  109. X *    will have values as described in the header file hard.h. If the from argument is NULL it is taken to be
  110. X *    a bitmap full of ones the shape of the fromPoint and extent. If the to argument is NULL, this is a no-op.
  111. X *    
  112. X *    Paint () is an addition to BitBlt. Bits that are set in the source are Painted into the destination
  113. X *    in the given colour with a copying rasterop so that they replace pixels previously there. If the
  114. X *    machine does not support colour windows, half-toning should be performed. 
  115. X *    Colour values have hue, saturation and brightness components. on a black and white or greyscale
  116. X *    system the brightness value will be a FP value between 0.0 (black) and 1.1 (white), which can be
  117. X *    used as a grey level.
  118. X *    
  119. X *    Paint is expected to mask with the clip mask. BitBlt is not,
  120. X */
  121. X
  122. Xvoid BitBltTrapezoid (to, lefttop, leftbottom, righttop, rightbottom, top, bottom, rop)
  123. X    struct hardware *to;
  124. X    DevicePoint lefttop, leftbottom, righttop, rightbottom;
  125. X    int top, bottom, rop;
  126. X {}
  127. X
  128. Xvoid PaintTrapezoid (to, lefttop, leftbottom, righttop, rightbottom, top, bottom, colour)
  129. X    struct hardware *to;
  130. X    DevicePoint lefttop, leftbottom, righttop, rightbottom;
  131. X    int top, bottom;
  132. X    Colour colour;
  133. X {}
  134. X
  135. X/*
  136. X *     BitBltTrapezoid () and PaintTrapezoid () render a complete trapezoidal shape.
  137. X *    The corners of the trapezoid may lie far outside the range of interesting scan-lines, but the slope
  138. X *    of the line should be clipped by the top and bottom. The coordinates are half-open.
  139. X */
  140. X
  141. Xvoid BitBltLine (h, fromPoint, toPoint, rop)
  142. X    struct hardware *h;
  143. X    DevicePoint fromPoint, toPoint;
  144. X    int rop;
  145. X {}
  146. X
  147. Xvoid PaintLine (h, fromPoint, toPoint, colour)
  148. X    struct hardware *h;
  149. X    DevicePoint fromPoint, toPoint;
  150. X    Colour colour;
  151. X {}
  152. X
  153. X/*    
  154. X *    BitBltLine () is expected to draw a line between the given points
  155. X *    with the given RasterOp and colour masking.
  156. X *    The line should be one pixel wide and half-open.
  157. X *    [Thicker lines are done with BitBlt.]
  158. X *    
  159. X *    PaintLine () is expected to Paint a line by analogy with Paint and BitBlt.
  160. X */
  161. X
  162. Xvoid BitBltBlob (to, top, height, left, right, rop)
  163. X    struct hardware *to;
  164. X    int top, height, *left, *right, rop;
  165. X {}
  166. X
  167. X /*
  168. X  *    BitBltBlob () takes a set of pixel coordinates and fills the trapezon figure
  169. X  *    half open.
  170. X  */
  171. X
  172. Xvoid RasterTile (from, to, toPoint, extent, rop)
  173. X    struct hardware *from, *to;
  174. X    DevicePoint toPoint, extent;
  175. X    int rop;
  176. X {}
  177. X
  178. X/*
  179. X *    RasterTile () replicates the whole of ``from'' over ``to'', but clipped by the
  180. X *    rectangle bounded by ``toPoint'' and ``extent''.
  181. X */
  182. X
  183. X/*********************************** BRIGHTNESS TRANSFER FUNCTION ************************/
  184. X
  185. Xint TransferSize () {}
  186. X
  187. Xvoid SetTransfer (vec) float *vec; {}
  188. X/*    
  189. X *    TransferSize () and SetTransfer () control the mapping function between user brightnesses
  190. X *    and device brightnesses. The interface is expected to perform this mapping of brightnesses
  191. X *    to a sufficient resolution. SetTransfer takes a table of floating point numbers between
  192. X *    0 and 1. User brightnesses are scaled to the size of this table and mapped through it.
  193. X *    The argument table given to SetTransfer () will be deleted after use. TransferSize () simply
  194. X *    enquires the required size of the table.
  195. X *    
  196. X *    It may be appropriate to half-tone on a grayscale or colour device to improve rendering if it is not too
  197. X *    expensive. TransferSize () returns the size of the pattern table.
  198. X */
  199. X
  200. X/********************************** BITMAP CONVERSION ********************************/
  201. X
  202. Xchar *StringFromHardware (h) struct hardware *h; {}
  203. X
  204. Xstruct hardware *HardwareFromString (s, width, height) char *s; int width, height; {}
  205. X/*    
  206. X *    StringFromHardware () produces a string from its argument which describes the bitmap.
  207. X *    The bitmap is returned in row-major order with the leftmost bit of each byte in the most significant
  208. X *    position. Rows are padded to byte boundaries. Only single plane bitmaps are used.
  209. X *    
  210. X *    HardwareFromString () performs the inverse mapping, generating a bitmap from a set of bits, given
  211. X *    a width and height. Only single plane bitmaps are used.
  212. X */
  213. X
  214. X/************************************* HALF-TONE SCREEN ***********************************/
  215. X
  216. Xint ScreenSize (freq, rotation) float freq, rotation; {}
  217. X
  218. Xvoid BuildScreen (freq, rotation, x, y) float freq, rotation, *x, *y; {}
  219. X
  220. Xvoid SetScreen (freq, rotation, thresh) float freq, rotation, *thresh; {}
  221. X/*
  222. X *    ScreenSize () allows PostScript to determine how large an array of sample points to expect.
  223. X *    It should return the length of the side of the sample square.
  224. X *    
  225. X *    BuildScreen () returns a set of sampling coordinates to PostScript to hand to the users spot-function
  226. X *    
  227. X *    SetScreen () allows PostScript to set the thresholds for each sample point so that half-tone bitmaps
  228. X *    can be made.
  229. X */
  230. X
  231. X/************************************* CLIPPING **********************************************/
  232. X
  233. Xvoid SetClipHardware (h, clip) struct hardware *h, *clip; {}
  234. X/*    
  235. X *    SetClipHardware sets hardware which is a clip mask for BitBlt. This mask should be ANDed with any output
  236. X *    operation. If clip is NULL, masking will not be needed.
  237. X */
  238. X
  239. X/**************************************** UPDATE CONTROLS ******************************************/
  240. X
  241. Xvoid HardUpdate () {}
  242. X/*
  243. X *    HardUpdate is a hook to allow devices which do output buffering to flush that buffering when appropriate.
  244. X *    This allows an interactive user to see completed graphics between prompts (it is called as a side-effect
  245. X *    of the PostScript flush operator). Typically is is a no-op.
  246. X */
  247. X
  248. Xvoid UpdateControl (h, on) struct hardware *h; int on; {}
  249. X/*
  250. X *     This call can be used to enable batching of output operations. UpdateControl (h, FALSE) means ``start of
  251. X *    batching'' UpdateControl (h, TRUE) means ``end of batching''. It is used to improve performance on machines
  252. X *    where screen updates have a high locking overhead. It may be a no-op.
  253. X *    The operation should nest if batching is already in progress: FALSE increments a counter,
  254. X *    TRUE decrements a counter. Display changes are allowed when the counter is non-zero.
  255. X */
  256. X
  257. X/********************************** CANONICAL IMPLEMENTATION LIBRARY ******************************/
  258. X
  259. X/*
  260. X *    Some parts of the above interface can be supported by a canonical library.
  261. X *    This library contains:
  262. X
  263. XSetClipHardware
  264. XHardUpdate
  265. XIsWindowHardware
  266. XHardwareExtent
  267. X
  268. XPaintTrapezoid
  269. XBitBltTrapezoid
  270. X
  271. XPaint
  272. XPaintLine
  273. X
  274. XDeviceMatrix
  275. XInitTransfer
  276. XTransferSize
  277. XSetTransfer
  278. XScreenSize
  279. XBuildScreen
  280. XSetScreen
  281. X
  282. X *
  283. X *    As the driver matures, the user may provide his own versions of the canonical routines.
  284. X *    This leaves the following for implementation by the user.
  285. X *
  286. X
  287. XInitHardware
  288. XNewBitmapHardware
  289. XNewWindowHardware
  290. XDestroyHardware
  291. XHardwareFromString
  292. XStringFromHardware
  293. XUpdateControl
  294. XRasterTile
  295. XBitBlt
  296. XBitBltLine
  297. XBitBltBlob
  298. X
  299. X *    There is a pedagogical implementation in null.c
  300. X *    
  301. X *    There are a number of interface issues concerning the canonical driver.
  302. X *    Firstly, a canonical struct hardware is defined, which contains a union of
  303. X *    a char * and an int handle. The remainder are expected to use this to store
  304. X *    device specific information.
  305. X *
  306. X *    InitTransfer() should be called during InitHardware with the number of pixels
  307. X *    per inch on the display as an argument.
  308. X */
  309. END_OF_FILE
  310. if test 10105 -ne `wc -c <'doc/hard-interface.c'`; then
  311.     echo shar: \"'doc/hard-interface.c'\" unpacked with wrong size!
  312. fi
  313. # end of 'doc/hard-interface.c'
  314. fi
  315. if test -f 'postscript/fonts/Sans/italic.r' -a "${1}" != "-c" ; then 
  316.   echo shar: Will not clobber existing file \"'postscript/fonts/Sans/italic.r'\"
  317. else
  318. echo shar: Extracting \"'postscript/fonts/Sans/italic.r'\" \(9970 characters\)
  319. sed "s/^X//" >'postscript/fonts/Sans/italic.r' <<'END_OF_FILE'
  320. XCharStrings
  321. X/651
  322. X<C943
  323. X4841
  324. X4640
  325. X4440
  326. X4241
  327. X4142
  328. X4044
  329. X4046
  330. X4148
  331. X4349
  332. X4549
  333. X4748
  334. X4846
  335. X4A40
  336. X4945
  337. X4948
  338. X4A49
  339. X4B49
  340. X4D48
  341. X4E47
  342. X5044
  343. X>
  344. Xput
  345. XMetrics
  346. X/651
  347. X[0
  348. X16]
  349. Xput
  350. XCharStrings
  351. X/652
  352. X<C044
  353. X4241
  354. X453C
  355. X463A
  356. X4737
  357. X4735
  358. X4634
  359. X4435
  360. X4337
  361. X423B
  362. X4142
  363. X4148
  364. X4249
  365. X4349
  366. X4548
  367. X4746
  368. X4843
  369. X4840
  370. X4944
  371. X4A45
  372. X4C45
  373. X4E44
  374. X>
  375. Xput
  376. XMetrics
  377. X/652
  378. X[7
  379. X14]
  380. Xput
  381. XCharStrings
  382. X/653
  383. X<C742
  384. X4741
  385. X4640
  386. X4440
  387. X4241
  388. X4142
  389. X4044
  390. X4046
  391. X4148
  392. X4349
  393. X4649
  394. X4947
  395. X4B44
  396. X>
  397. Xput
  398. XMetrics
  399. X/653
  400. X[0
  401. X11]
  402. Xput
  403. XCharStrings
  404. X/654
  405. X<C943
  406. X4841
  407. X4640
  408. X4440
  409. X4241
  410. X4142
  411. X4044
  412. X4046
  413. X4148
  414. X4349
  415. X4549
  416. X4748
  417. X4846
  418. X4E34
  419. XCA40
  420. X4945
  421. X4948
  422. X4A49
  423. X4B49
  424. X4D48
  425. X4E47
  426. X5044
  427. X>
  428. Xput
  429. XMetrics
  430. X/654
  431. X[6
  432. X16]
  433. Xput
  434. XCharStrings
  435. X/655
  436. X<C147
  437. X4346
  438. X4445
  439. X4543
  440. X4541
  441. X4440
  442. X4340
  443. X4141
  444. X4043
  445. X4046
  446. X4148
  447. X4349
  448. X4549
  449. X4748
  450. X4847
  451. X4A44
  452. X>
  453. Xput
  454. XMetrics
  455. X/655
  456. X[0
  457. X10]
  458. Xput
  459. XCharStrings
  460. X/656
  461. X<C044
  462. X443F
  463. X463C
  464. X473A
  465. X4837
  466. X4835
  467. X4734
  468. X4535
  469. X4437
  470. X423F
  471. X3F48
  472. X3C4F
  473. X3B52
  474. X3B54
  475. X3C55
  476. X3E54
  477. X3F51
  478. X4048
  479. X4149
  480. X4349
  481. X4548
  482. X4647
  483. X4844
  484. X>
  485. Xput
  486. XMetrics
  487. X/656
  488. X[9
  489. X8]
  490. Xput
  491. XCharStrings
  492. X/657
  493. X<C943
  494. X4841
  495. X4640
  496. X4440
  497. X4241
  498. X4142
  499. X4044
  500. X4046
  501. X4148
  502. X4349
  503. X4549
  504. X4748
  505. X4847
  506. XCA40
  507. X4847
  508. X4452
  509. X4354
  510. X4155
  511. X4054
  512. X4052
  513. X414F
  514. X444C
  515. X474A
  516. X4949
  517. X4C47
  518. X4F44
  519. X>
  520. Xput
  521. XMetrics
  522. X/657
  523. X[0
  524. X15]
  525. Xput
  526. XCharStrings
  527. X/658
  528. X<C044
  529. X4241
  530. X453C
  531. X463A
  532. X4737
  533. X4735
  534. X4634
  535. X4435
  536. X4337
  537. X423B
  538. X4141
  539. X4049
  540. XC049
  541. X4146
  542. X4244
  543. X4441
  544. X4640
  545. X4840
  546. X4941
  547. X4943
  548. X4846
  549. X4848
  550. X4949
  551. X4A49
  552. X4C48
  553. X4D47
  554. X4F44
  555. X>
  556. Xput
  557. XMetrics
  558. X/658
  559. X[7
  560. X15]
  561. Xput
  562. XCharStrings
  563. X/659
  564. X<C33B
  565. X433C
  566. X443C
  567. X443B
  568. X433B
  569. XC044
  570. X4240
  571. X4046
  572. X4048
  573. X4149
  574. X4249
  575. X4448
  576. X4547
  577. X4744
  578. X>
  579. Xput
  580. XMetrics
  581. X/659
  582. X[3
  583. X7]
  584. Xput
  585. XCharStrings
  586. X/660
  587. X<C33B
  588. X433C
  589. X443C
  590. X443B
  591. X433B
  592. XC044
  593. X4240
  594. X3C52
  595. X3B54
  596. X3955
  597. X3854
  598. X3852
  599. X394F
  600. X3C4C
  601. X3F4A
  602. X4149
  603. X4447
  604. X4744
  605. X>
  606. Xput
  607. XMetrics
  608. X/660
  609. X[8
  610. X7]
  611. Xput
  612. XCharStrings
  613. X/661
  614. X<C044
  615. X4241
  616. X453C
  617. X463A
  618. X4737
  619. X4735
  620. X4634
  621. X4435
  622. X4337
  623. X423B
  624. X4141
  625. X4049
  626. XC049
  627. X4146
  628. X4244
  629. X4441
  630. X4640
  631. X4840
  632. X4941
  633. X4943
  634. X4744
  635. X4444
  636. XC444
  637. X4645
  638. X4748
  639. X4849
  640. X4949
  641. X4B48
  642. X4C47
  643. X4E44
  644. X>
  645. Xput
  646. XMetrics
  647. X/661
  648. X[7
  649. X14]
  650. Xput
  651. XCharStrings
  652. X/662
  653. X<C044
  654. X4241
  655. X453C
  656. X463A
  657. X4737
  658. X4735
  659. X4634
  660. X4435
  661. X4337
  662. X423B
  663. X4142
  664. X4148
  665. X4249
  666. X4349
  667. X4548
  668. X4647
  669. X4844
  670. X>
  671. Xput
  672. XMetrics
  673. X/662
  674. X[9
  675. X8]
  676. Xput
  677. XCharStrings
  678. X/663
  679. X<C044
  680. X4241
  681. X4440
  682. X4541
  683. X4542
  684. X4446
  685. X4349
  686. XC446
  687. X4544
  688. X4741
  689. X4940
  690. X4B40
  691. X4C41
  692. X4C42
  693. X4B46
  694. X4A49
  695. XCB46
  696. X4C44
  697. X4E41
  698. X5040
  699. X5240
  700. X5341
  701. X5343
  702. X5246
  703. X5248
  704. X5349
  705. X5449
  706. X5648
  707. X5747
  708. X5944
  709. X>
  710. Xput
  711. XMetrics
  712. X/663
  713. X[0
  714. X25]
  715. Xput
  716. XCharStrings
  717. X/664
  718. X<C044
  719. X4241
  720. X4440
  721. X4541
  722. X4542
  723. X4446
  724. X4349
  725. XC446
  726. X4544
  727. X4741
  728. X4940
  729. X4B40
  730. X4C41
  731. X4C43
  732. X4B46
  733. X4B48
  734. X4C49
  735. X4D49
  736. X4F48
  737. X5047
  738. X5244
  739. X>
  740. Xput
  741. XMetrics
  742. X/664
  743. X[0
  744. X18]
  745. Xput
  746. XCharStrings
  747. X/665
  748. X<C640
  749. X4440
  750. X4241
  751. X4142
  752. X4044
  753. X4046
  754. X4148
  755. X4349
  756. X4549
  757. X4748
  758. X4847
  759. X4945
  760. X4943
  761. X4841
  762. X4640
  763. X4541
  764. X4543
  765. X4645
  766. X4846
  767. X4B46
  768. X4D45
  769. X4E44
  770. X>
  771. Xput
  772. XMetrics
  773. X/665
  774. X[0
  775. X14]
  776. Xput
  777. XCharStrings
  778. X/666
  779. X<C044
  780. X4241
  781. X433F
  782. X4243
  783. X3C55
  784. XC243
  785. X4341
  786. X4540
  787. X4740
  788. X4941
  789. X4A43
  790. X4A45
  791. X4947
  792. X4848
  793. X4649
  794. XC248
  795. X4449
  796. X4749
  797. X4A48
  798. X4C47
  799. X4F44
  800. X>
  801. Xput
  802. XMetrics
  803. X/666
  804. X[4
  805. X15]
  806. Xput
  807. XCharStrings
  808. X/667
  809. X<C943
  810. X4841
  811. X4640
  812. X4440
  813. X4241
  814. X4142
  815. X4044
  816. X4046
  817. X4148
  818. X4349
  819. X4549
  820. X4748
  821. XCA40
  822. X4943
  823. X4748
  824. X444F
  825. X4352
  826. X4354
  827. X4455
  828. X4654
  829. X4751
  830. X474A
  831. X4949
  832. X4C47
  833. X4F44
  834. X>
  835. Xput
  836. XMetrics
  837. X/667
  838. X[0
  839. X15]
  840. Xput
  841. XCharStrings
  842. X/668
  843. X<C044
  844. X4241
  845. X433F
  846. X4341
  847. X4641
  848. X4742
  849. X4744
  850. X4647
  851. X4648
  852. X4749
  853. X4849
  854. X4A48
  855. X4B47
  856. X4D44
  857. X>
  858. Xput
  859. XMetrics
  860. X/668
  861. X[0
  862. X13]
  863. Xput
  864. XCharStrings
  865. X/669
  866. X<C044
  867. X4241
  868. X433F
  869. X4341
  870. X4544
  871. X4646
  872. X4648
  873. X4449
  874. XC048
  875. X4249
  876. X4649
  877. X4848
  878. X4947
  879. X4B44
  880. X>
  881. Xput
  882. XMetrics
  883. X/669
  884. X[0
  885. X11]
  886. Xput
  887. XCharStrings
  888. X/670
  889. X<C044
  890. X4241
  891. X443D
  892. XC734
  893. X4146
  894. X4148
  895. X4249
  896. X4449
  897. X4648
  898. X4747
  899. X4944
  900. XC13C
  901. X483C
  902. X>
  903. Xput
  904. XMetrics
  905. X/670
  906. X[9
  907. X9]
  908. Xput
  909. XCharStrings
  910. X/671
  911. X<C044
  912. X4240
  913. X4046
  914. X4048
  915. X4149
  916. X4349
  917. X4548
  918. X4746
  919. X4943
  920. XCA40
  921. X4846
  922. X4848
  923. X4949
  924. X4A49
  925. X4C48
  926. X4D47
  927. X4F44
  928. X>
  929. Xput
  930. XMetrics
  931. X/671
  932. X[0
  933. X15]
  934. Xput
  935. XCharStrings
  936. X/672
  937. X<C044
  938. X4240
  939. X4145
  940. X4148
  941. X4249
  942. X4349
  943. X4648
  944. X4846
  945. X4943
  946. X4940
  947. XC940
  948. X4A44
  949. X4B45
  950. X4D45
  951. X4F44
  952. X>
  953. Xput
  954. XMetrics
  955. X/672
  956. X[0
  957. X15]
  958. Xput
  959. XCharStrings
  960. X/673
  961. X<C340
  962. X4142
  963. X4045
  964. X4047
  965. X4149
  966. X4349
  967. X4548
  968. X4746
  969. XC940
  970. X4746
  971. X4748
  972. X4849
  973. X4A49
  974. X4C48
  975. X4E46
  976. X4F43
  977. X4F40
  978. XCF40
  979. X5044
  980. X5145
  981. X5345
  982. X5544
  983. X>
  984. Xput
  985. XMetrics
  986. X/673
  987. X[0
  988. X21]
  989. Xput
  990. XCharStrings
  991. X/674
  992. X<C044
  993. X4241
  994. X4440
  995. X4640
  996. X4741
  997. X4748
  998. X4849
  999. X4B49
  1000. X4E47
  1001. X5044
  1002. XCD41
  1003. X4C40
  1004. X4A40
  1005. X4941
  1006. X4548
  1007. X4449
  1008. X4249
  1009. X4148
  1010. X>
  1011. Xput
  1012. XMetrics
  1013. X/674
  1014. X[0
  1015. X16]
  1016. Xput
  1017. XCharStrings
  1018. X/675
  1019. X<C044
  1020. X4240
  1021. X4046
  1022. X4048
  1023. X4149
  1024. X4349
  1025. X4548
  1026. X4746
  1027. X4943
  1028. XCA40
  1029. X4452
  1030. X4354
  1031. X4155
  1032. X4054
  1033. X4052
  1034. X414F
  1035. X444C
  1036. X474A
  1037. X4949
  1038. X4C47
  1039. X4F44
  1040. X>
  1041. Xput
  1042. XMetrics
  1043. X/675
  1044. X[0
  1045. X15]
  1046. Xput
  1047. XCharStrings
  1048. X/676
  1049. X<C044
  1050. X4241
  1051. X4440
  1052. X4640
  1053. X4842
  1054. X4844
  1055. X4746
  1056. X4548
  1057. X4249
  1058. X444A
  1059. X454C
  1060. X454F
  1061. X4452
  1062. X4354
  1063. X4155
  1064. X4054
  1065. X4052
  1066. X414F
  1067. X444C
  1068. X474A
  1069. X4B47
  1070. X4E44
  1071. X>
  1072. Xput
  1073. XMetrics
  1074. X/676
  1075. X[0
  1076. X14]
  1077. Xput
  1078. XCharStrings
  1079. X/677
  1080. X<C149
  1081. X4448
  1082. X4746
  1083. X4944
  1084. X4B41
  1085. X4D3D
  1086. X4E39
  1087. X4E37
  1088. X4D35
  1089. X4B34
  1090. X4935
  1091. X4836
  1092. X4738
  1093. X463D
  1094. X4642
  1095. X4746
  1096. X4848
  1097. X4A49
  1098. X4C49
  1099. X4E48
  1100. X4F47
  1101. X>
  1102. Xput
  1103. XMetrics
  1104. X/677
  1105. X[4
  1106. X18]
  1107. Xput
  1108. XCharStrings
  1109. X/683
  1110. X<CE43
  1111. X4E40
  1112. X4D3D
  1113. X4C3C
  1114. X4A3B
  1115. X483B
  1116. X463C
  1117. X443E
  1118. X4341
  1119. X4344
  1120. X4447
  1121. X4548
  1122. X4749
  1123. X4949
  1124. X4B48
  1125. X4D46
  1126. X4E43
  1127. X4F3E
  1128. X4F39
  1129. X4E36
  1130. X4D35
  1131. X4B34
  1132. X4934
  1133. X4735
  1134. X4537
  1135. X>
  1136. Xput
  1137. XMetrics
  1138. X/683
  1139. X[3
  1140. X18]
  1141. Xput
  1142. XCharStrings
  1143. X/684
  1144. X<CD3C
  1145. X4B3B
  1146. X483B
  1147. X463C
  1148. X443E
  1149. X4341
  1150. X4344
  1151. X4447
  1152. X4548
  1153. X4749
  1154. X4A49
  1155. X4C48
  1156. XC342
  1157. X4B42
  1158. X>
  1159. Xput
  1160. XMetrics
  1161. X/684
  1162. X[-3
  1163. X16]
  1164. Xput
  1165. XCharStrings
  1166. X/685
  1167. X<CA34
  1168. X4835
  1169. X4638
  1170. X453A
  1171. X443D
  1172. X4342
  1173. X4346
  1174. X4448
  1175. X4549
  1176. X4749
  1177. X4948
  1178. X4B45
  1179. X4C43
  1180. X4D40
  1181. X4E3B
  1182. X4E37
  1183. X4D35
  1184. X4C34
  1185. X4A34
  1186. XC43E
  1187. X4D3E
  1188. X>
  1189. Xput
  1190. XMetrics
  1191. X/685
  1192. X[4
  1193. X17]
  1194. Xput
  1195. XCharStrings
  1196. X/686
  1197. X<CE34
  1198. X4650
  1199. XC93B
  1200. X463C
  1201. X443E
  1202. X4341
  1203. X4344
  1204. X4446
  1205. X4648
  1206. X4949
  1207. X4B49
  1208. X4E48
  1209. X5046
  1210. X5143
  1211. X5140
  1212. X503E
  1213. X4E3C
  1214. X4B3B
  1215. X493B
  1216. X>
  1217. Xput
  1218. XMetrics
  1219. X/686
  1220. X[2
  1221. X20]
  1222. Xput
  1223. XCharStrings
  1224. X/687
  1225. X<CF3D
  1226. X4E3C
  1227. X4B3B
  1228. X483B
  1229. X453C
  1230. X443D
  1231. X433F
  1232. X4341
  1233. X4443
  1234. X4645
  1235. X4A48
  1236. X4B4A
  1237. X4B4C
  1238. X4A4D
  1239. X484D
  1240. X>
  1241. Xput
  1242. XMetrics
  1243. X/687
  1244. X[-3
  1245. X18]
  1246. Xput
  1247. XCharStrings
  1248. X/697
  1249. X<8000
  1250. X27A3C
  1251. X4400
  1252. X002FB
  1253. X3848
  1254. X>
  1255. Xput
  1256. XMetrics
  1257. X/697
  1258. X[64
  1259. X0]
  1260. Xput
  1261. XCharStrings
  1262. X/551
  1263. X<C049
  1264. X4248
  1265. X4545
  1266. X4841
  1267. X4C3A
  1268. X4F34
  1269. X4F49
  1270. X4E46
  1271. X4C43
  1272. X4A41
  1273. X473F
  1274. X453F
  1275. X4440
  1276. X4442
  1277. X4544
  1278. X4746
  1279. X4A48
  1280. X4D49
  1281. X5249
  1282. X>
  1283. Xput
  1284. XMetrics
  1285. X/551
  1286. X[1
  1287. X20]
  1288. Xput
  1289. XCharStrings
  1290. X/552
  1291. X<CD36
  1292. X4E37
  1293. X4E3A
  1294. X4D3E
  1295. X4C41
  1296. X4B43
  1297. X4946
  1298. X4748
  1299. X4549
  1300. X4449
  1301. X4348
  1302. X4345
  1303. X4440
  1304. X453D
  1305. X463B
  1306. X4838
  1307. X4A36
  1308. X4C35
  1309. X4F34
  1310. X5234
  1311. X5435
  1312. X5537
  1313. X5539
  1314. X543B
  1315. X533C
  1316. X513D
  1317. X4E3E
  1318. XCD3E
  1319. X4E3E
  1320. X513F
  1321. X5240
  1322. X5342
  1323. X5345
  1324. X5247
  1325. X5148
  1326. X4F49
  1327. X4C49
  1328. X4A48
  1329. X4946
  1330. X>
  1331. Xput
  1332. XMetrics
  1333. X/552
  1334. X[0
  1335. X23]
  1336. Xput
  1337. XCharStrings
  1338. X/553
  1339. X<CC3A
  1340. X4C3B
  1341. X4D3C
  1342. X4F3C
  1343. X513B
  1344. X5239
  1345. X5237
  1346. X5135
  1347. X4F34
  1348. X4C34
  1349. X4935
  1350. X4737
  1351. X453A
  1352. X443C
  1353. X4340
  1354. X4344
  1355. X4447
  1356. X4548
  1357. X4749
  1358. X4949
  1359. X4C48
  1360. X4E46
  1361. X4F44
  1362. X>
  1363. Xput
  1364. XMetrics
  1365. X/553
  1366. X[2
  1367. X20]
  1368. Xput
  1369. XCharStrings
  1370. X/554
  1371. X<CD34
  1372. X4B35
  1373. X4A37
  1374. X493B
  1375. X4841
  1376. X4744
  1377. X4646
  1378. X4448
  1379. X4249
  1380. X4049
  1381. X3F48
  1382. X3F46
  1383. X4045
  1384. X4245
  1385. X4446
  1386. X4648
  1387. X4949
  1388. X4C49
  1389. X4F48
  1390. X5146
  1391. X5342
  1392. X543D
  1393. X5439
  1394. X5336
  1395. X5235
  1396. X5034
  1397. X4D34
  1398. X4B36
  1399. X4B38
  1400. X4C3B
  1401. X4E3E
  1402. X5040
  1403. X5342
  1404. X5543
  1405. X>
  1406. Xput
  1407. XMetrics
  1408. X/554
  1409. X[1
  1410. X23]
  1411. Xput
  1412. XCharStrings
  1413. X/555
  1414. X<CE38
  1415. X4E39
  1416. X4F3A
  1417. X513A
  1418. X5239
  1419. X5237
  1420. X5135
  1421. X4E34
  1422. X4A34
  1423. X4735
  1424. X4637
  1425. X463A
  1426. X473C
  1427. X483D
  1428. X4B3E
  1429. X483E
  1430. X453F
  1431. X4440
  1432. X4342
  1433. X4345
  1434. X4447
  1435. X4548
  1436. X4849
  1437. X4B49
  1438. X4E48
  1439. X5046
  1440. X5144
  1441. X>
  1442. Xput
  1443. XMetrics
  1444. X/555
  1445. X[2
  1446. X20]
  1447. Xput
  1448. XCharStrings
  1449. X/556
  1450. X<CA3A
  1451. X483A
  1452. X4639
  1453. X4537
  1454. X4635
  1455. X4934
  1456. X4C34
  1457. X5035
  1458. X5335
  1459. X5534
  1460. XD035
  1461. X4E3C
  1462. X4C42
  1463. X4A46
  1464. X4848
  1465. X4649
  1466. X4449
  1467. X4248
  1468. X4146
  1469. X4144
  1470. X4243
  1471. X4443
  1472. X4644
  1473. XC93E
  1474. X523E
  1475. X>
  1476. Xput
  1477. XMetrics
  1478. X/556
  1479. X[2
  1480. X20]
  1481. Xput
  1482. XCharStrings
  1483. X/557
  1484. X<C049
  1485. X4248
  1486. X4644
  1487. X493F
  1488. X4A3C
  1489. X4B38
  1490. X4B35
  1491. X4A34
  1492. X4934
  1493. X4835
  1494. X4737
  1495. X473A
  1496. X483C
  1497. X4A3D
  1498. X4E3D
  1499. X513C
  1500. X523B
  1501. X5339
  1502. X533F
  1503. X5244
  1504. X5146
  1505. X4F48
  1506. X4C49
  1507. X4849
  1508. X4548
  1509. X4346
  1510. X4244
  1511. X4242
  1512. X>
  1513. Xput
  1514. XMetrics
  1515. X/557
  1516. X[1
  1517. X23]
  1518. Xput
  1519. XCharStrings
  1520. X/558
  1521. X<C73B
  1522. X453A
  1523. X4438
  1524. X4437
  1525. X4535
  1526. X4734
  1527. X4834
  1528. X4A35
  1529. X4B37
  1530. X4B39
  1531. X4A3D
  1532. X4843
  1533. X4647
  1534. X4449
  1535. X4249
  1536. X4148
  1537. X4146
  1538. XC740
  1539. X503D
  1540. X523C
  1541. X553A
  1542. X5738
  1543. X5836
  1544. X5835
  1545. X5734
  1546. X5634
  1547. X5436
  1548. X523A
  1549. X5040
  1550. X4F45
  1551. X4F48
  1552. X5049
  1553. X5149
  1554. X5348
  1555. X5447
  1556. X5644
  1557. X>
  1558. Xput
  1559. XMetrics
  1560. X/558
  1561. X[0
  1562. X24]
  1563. Xput
  1564. XCharStrings
  1565. X/559
  1566. X<CE44
  1567. X4C42
  1568. X4A3F
  1569. X493D
  1570. X483A
  1571. X4837
  1572. X4935
  1573. X4A34
  1574. X4C34
  1575. X4D35
  1576. X4E37
  1577. X4E3A
  1578. X4D3F
  1579. X4B44
  1580. X4A46
  1581. X4848
  1582. X4649
  1583. X4449
  1584. X4248
  1585. X4146
  1586. X4144
  1587. X4243
  1588. X4443
  1589. X4644
  1590. X>
  1591. Xput
  1592. XMetrics
  1593. X/559
  1594. X[3
  1595. X17]
  1596. Xput
  1597. XCharStrings
  1598. X/560
  1599. X<CA4C
  1600. X4849
  1601. X4644
  1602. X453E
  1603. X4538
  1604. X4635
  1605. X4834
  1606. X4A34
  1607. X4B35
  1608. X4C38
  1609. X4C3B
  1610. X4B40
  1611. X4849
  1612. X464F
  1613. X4552
  1614. X4454
  1615. X4255
  1616. X4154
  1617. X4152
  1618. X424F
  1619. X444C
  1620. X464A
  1621. X4948
  1622. X4D46
  1623. X>
  1624. Xput
  1625. XMetrics
  1626. X/560
  1627. X[4
  1628. X15]
  1629. Xput
  1630. XCharStrings
  1631. X/561
  1632. X<C73B
  1633. X453A
  1634. X4438
  1635. X4437
  1636. X4535
  1637. X4734
  1638. X4834
  1639. X4A35
  1640. X4B37
  1641. X4B39
  1642. X4A3D
  1643. X4843
  1644. X4647
  1645. X4449
  1646. X4249
  1647. X4148
  1648. X4146
  1649. XD837
  1650. X5835
  1651. X5734
  1652. X5634
  1653. X5435
  1654. X5237
  1655. X503A
  1656. X4E3C
  1657. X4C3D
  1658. X4A3D
  1659. XCC3D
  1660. X4D3F
  1661. X4D46
  1662. X4E48
  1663. X4F49
  1664. X5049
  1665. X5248
  1666. X5347
  1667. X5544
  1668. X>
  1669. Xput
  1670. XMetrics
  1671. X/561
  1672. X[0
  1673. X24]
  1674. Xput
  1675. XCharStrings
  1676. X/562
  1677. X<C440
  1678. X4640
  1679. X4A3F
  1680. X4D3D
  1681. X4F3B
  1682. X5039
  1683. X5036
  1684. X4F34
  1685. X4D34
  1686. X4C35
  1687. X4B37
  1688. X4A3C
  1689. X4941
  1690. X4844
  1691. X4746
  1692. X4548
  1693. X4349
  1694. X4149
  1695. X4048
  1696. X4046
  1697. X4145
  1698. X4345
  1699. X4546
  1700. X4848
  1701. X4B49
  1702. X4D49
  1703. X5048
  1704. X5246
  1705. X>
  1706. Xput
  1707. XMetrics
  1708. X/562
  1709. X[3
  1710. X19]
  1711. Xput
  1712. XCharStrings
  1713. X/563
  1714. X<C53B
  1715. X433A
  1716. X4238
  1717. X4237
  1718. X4335
  1719. X4534
  1720. X4634
  1721. X4835
  1722. X4937
  1723. X4939
  1724. X483E
  1725. X4742
  1726. X4549
  1727. XC742
  1728. X4A3A
  1729. X4C36
  1730. X4D35
  1731. X4F34
  1732. X5034
  1733. X5235
  1734. X5337
  1735. X5339
  1736. X523E
  1737. X5142
  1738. X4F49
  1739. XD142
  1740. X543A
  1741. X5636
  1742. X5735
  1743. X5934
  1744. X5A34
  1745. X5C35
  1746. X5D37
  1747. X5D39
  1748. X5C3E
  1749. X5A45
  1750. X5A48
  1751. X5B49
  1752. X5C49
  1753. X5E48
  1754. X5F47
  1755. X6144
  1756. X>
  1757. Xput
  1758. XMetrics
  1759. X/563
  1760. X[-2
  1761. X33]
  1762. Xput
  1763. XCharStrings
  1764. X/564
  1765. X<C53B
  1766. X433A
  1767. X4238
  1768. X4237
  1769. X4335
  1770. X4534
  1771. X4634
  1772. X4835
  1773. X4937
  1774. X4939
  1775. X483E
  1776. X4742
  1777. X4549
  1778. XC742
  1779. X4A3A
  1780. X4C36
  1781. X4D35
  1782. X4F34
  1783. X5134
  1784. X5335
  1785. X5437
  1786. X5439
  1787. X533E
  1788. X5145
  1789. X5148
  1790. X5249
  1791. X5349
  1792. X5548
  1793. X5647
  1794. X5844
  1795. X>
  1796. Xput
  1797. XMetrics
  1798. X/564
  1799. X[-1
  1800. X24]
  1801. Xput
  1802. XCharStrings
  1803. X/565
  1804. X<CC34
  1805. X4935
  1806. X4737
  1807. X453A
  1808. X443C
  1809. X4340
  1810. X4344
  1811. X4447
  1812. X4548
  1813. X4749
  1814. X4949
  1815. X4C48
  1816. X4E46
  1817. X5043
  1818. X5141
  1819. X523D
  1820. X5239
  1821. X5136
  1822. X5035
  1823. X4E34
  1824. X4C34
  1825. X4A36
  1826. X4A39
  1827. X4B3C
  1828. X4D3F
  1829. X4F41
  1830. X5243
  1831. X5444
  1832. X>
  1833. Xput
  1834. XMetrics
  1835. X/565
  1836. X[2
  1837. X21]
  1838. Xput
  1839. XCharStrings
  1840. X/566
  1841. X<CD36
  1842. X4E37
  1843. X4E3A
  1844. X4D3E
  1845. X4C41
  1846. X4B43
  1847. X4946
  1848. X4748
  1849. X4549
  1850. X4449
  1851. X4348
  1852. X4345
  1853. X4440
  1854. X453D
  1855. X463B
  1856. X4838
  1857. X4A36
  1858. X4C35
  1859. X4F34
  1860. X5434
  1861. X5635
  1862. X5736
  1863. X5838
  1864. X583B
  1865. X573D
  1866. X563E
  1867. X543F
  1868. X513F
  1869. X4F3E
  1870. X4E3D
  1871. X>
  1872. Xput
  1873. XMetrics
  1874. X/566
  1875. X[0
  1876. X25]
  1877. Xput
  1878. XCharStrings
  1879. X/567
  1880. X<CD3A
  1881. X4C3C
  1882. X4B3D
  1883. X493E
  1884. X473E
  1885. X463C
  1886. X463A
  1887. X4737
  1888. X4935
  1889. X4C34
  1890. X4F34
  1891. X5135
  1892. X5237
  1893. X523B
  1894. X513E
  1895. X4F41
  1896. X4B45
  1897. X4847
  1898. X4648
  1899. X4349
  1900. X4149
  1901. X4048
  1902. X4046
  1903. X4145
  1904. X4345
  1905. X4546
  1906. X4848
  1907. X4B49
  1908. X4E49
  1909. X5148
  1910. X5346
  1911. X>
  1912. Xput
  1913. XMetrics
  1914. X/567
  1915. X[2
  1916. X22]
  1917. Xput
  1918. XCharStrings
  1919. X/568
  1920. X<CD36
  1921. X4E37
  1922. X4E3A
  1923. X4D3E
  1924. X4C41
  1925. X4B43
  1926. X4946
  1927. X4748
  1928. X4549
  1929. X4449
  1930. X4348
  1931. X4345
  1932. X4440
  1933. X453D
  1934. X463B
  1935. X4838
  1936. X4A36
  1937. X4C35
  1938. X4F34
  1939. X5334
  1940. X5535
  1941. X5636
  1942. X5738
  1943. X573B
  1944. X563D
  1945. X553E
  1946. X533F
  1947. X503F
  1948. X4D3E
  1949. X4E3F
  1950. X4F41
  1951. X4F46
  1952. X5048
  1953. X5249
  1954. X5448
  1955. X5547
  1956. X5744
  1957. X>
  1958. Xput
  1959. XMetrics
  1960. X/568
  1961. X[0
  1962. X25]
  1963. Xput
  1964. XCharStrings
  1965. X/569
  1966. X<C049
  1967. X4248
  1968. X4446
  1969. X4742
  1970. X493F
  1971. X4B3B
  1972. X4C38
  1973. X4C35
  1974. X4B34
  1975. X4A34
  1976. X4935
  1977. X4837
  1978. X4839
  1979. X493B
  1980. X4B3D
  1981. X4E3F
  1982. X5041
  1983. X5143
  1984. X5145
  1985. X5047
  1986. X4F48
  1987. X4C49
  1988. X4849
  1989. X4548
  1990. X4346
  1991. X4244
  1992. X4242
  1993. X>
  1994. Xput
  1995. XMetrics
  1996. X/569
  1997. X[2
  1998. X20]
  1999. Xput
  2000. XCharStrings
  2001. X/570
  2002. X<CA3A
  2003. X483A
  2004. X4639
  2005. X4537
  2006. X4635
  2007. X4934
  2008. X4C34
  2009. X5035
  2010. X5335
  2011. X5534
  2012. XD035
  2013. X4E3C
  2014. X4C42
  2015. X4A46
  2016. X4848
  2017. X4649
  2018. X4449
  2019. X4248
  2020. X4146
  2021. X4144
  2022. X4243
  2023. X4443
  2024. X4644
  2025. X>
  2026. Xput
  2027. XMetrics
  2028. X/570
  2029. X[2
  2030. X19]
  2031. Xput
  2032. XCharStrings
  2033. X/571
  2034. X<C53B
  2035. X433A
  2036. X4238
  2037. X4237
  2038. X4335
  2039. X4534
  2040. X4634
  2041. X4835
  2042. X4937
  2043. X4939
  2044. X483D
  2045. X4740
  2046. X4644
  2047. X4646
  2048. X4748
  2049. X4949
  2050. X4B49
  2051. X4D48
  2052. X4E47
  2053. X5043
  2054. X533B
  2055. X5534
  2056. XD33B
  2057. X523F
  2058. X5145
  2059. X5148
  2060. X5249
  2061. X5349
  2062. X5548
  2063. X5647
  2064. X5844
  2065. X>
  2066. Xput
  2067. XMetrics
  2068. X/571
  2069. X[-1
  2070. X24]
  2071. Xput
  2072. XCharStrings
  2073. X/572
  2074. X<C53B
  2075. X433A
  2076. X4238
  2077. X4237
  2078. X4335
  2079. X4534
  2080. X4634
  2081. X4835
  2082. X4937
  2083. X4939
  2084. X483D
  2085. X4740
  2086. X4644
  2087. X4647
  2088. X4749
  2089. X4949
  2090. X4B48
  2091. X4E45
  2092. X5042
  2093. X523E
  2094. X533B
  2095. X5437
  2096. X5435
  2097. X5334
  2098. X5234
  2099. X5135
  2100. X5037
  2101. X5039
  2102. X513C
  2103. X533E
  2104. X553F
  2105. X>
  2106. Xput
  2107. XMetrics
  2108. X/572
  2109. X[0
  2110. X23]
  2111. Xput
  2112. XCharStrings
  2113. X/573
  2114. X<C53B
  2115. X433A
  2116. X4238
  2117. X4237
  2118. X4335
  2119. X4534
  2120. X4634
  2121. X4835
  2122. X4937
  2123. X493A
  2124. X4849
  2125. XD234
  2126. X4849
  2127. XD234
  2128. X5049
  2129. XDE34
  2130. X5C35
  2131. X5938
  2132. X563C
  2133. X5342
  2134. X5049
  2135. X>
  2136. Xput
  2137. XMetrics
  2138. X/573
  2139. X[-2
  2140. X28]
  2141. Xput
  2142. XCharStrings
  2143. X/574
  2144. X<C83A
  2145. X463A
  2146. X4539
  2147. X4537
  2148. X4635
  2149. X4834
  2150. X4A34
  2151. X4C35
  2152. X4D37
  2153. X4D3A
  2154. X4B43
  2155. X4B46
  2156. X4C48
  2157. X4E49
  2158. X5049
  2159. X5248
  2160. X5346
  2161. X5344
  2162. X5243
  2163. X5043
  2164. XD737
  2165. X5735
  2166. X5634
  2167. X5434
  2168. X5235
  2169. X5037
  2170. X4E3A
  2171. X4A43
  2172. X4846
  2173. X4648
  2174. X4449
  2175. X4249
  2176. X4148
  2177. X4146
  2178. X>
  2179. Xput
  2180. XMetrics
  2181. X/574
  2182. X[0
  2183. X24]
  2184. Xput
  2185. XCharStrings
  2186. X/575
  2187. X<C53B
  2188. X433A
  2189. X4238
  2190. X4237
  2191. X4335
  2192. X4534
  2193. X4634
  2194. X4835
  2195. X4937
  2196. X4939
  2197. X483D
  2198. X4740
  2199. X4644
  2200. X4646
  2201. X4748
  2202. X4849
  2203. X4A49
  2204. X4C48
  2205. X4E46
  2206. X5043
  2207. X5141
  2208. X533B
  2209. XD534
  2210. X533B
  2211. X5045
  2212. X4E4B
  2213. X4C50
  2214. X4A54
  2215. X4855
  2216. X4754
  2217. X4752
  2218. X484F
  2219. X4A4C
  2220. X4D49
  2221. X5047
  2222. X5544
  2223. X>
  2224. Xput
  2225. XMetrics
  2226. X/575
  2227. X[0
  2228. X23]
  2229. Xput
  2230. XCharStrings
  2231. X/576
  2232. X<CD3A
  2233. X4C3C
  2234. X4B3D
  2235. X493E
  2236. X473E
  2237. X463C
  2238. X463A
  2239. X4737
  2240. X4935
  2241. X4C34
  2242. X4F34
  2243. X5135
  2244. X5237
  2245. X523B
  2246. X513E
  2247. X4F42
  2248. X4C45
  2249. X4848
  2250. X4649
  2251. X4349
  2252. X4248
  2253. X4246
  2254. X4345
  2255. X4645
  2256. X4846
  2257. X4947
  2258. X4A49
  2259. X4A4C
  2260. X494F
  2261. X4851
  2262. X4654
  2263. X4455
  2264. X4354
  2265. X4352
  2266. X444F
  2267. X464C
  2268. X4949
  2269. X4C47
  2270. X5244
  2271. X>
  2272. Xput
  2273. XMetrics
  2274. X/576
  2275. X[2
  2276. X21]
  2277. Xput
  2278. END_OF_FILE
  2279. if test 9970 -ne `wc -c <'postscript/fonts/Sans/italic.r'`; then
  2280.     echo shar: \"'postscript/fonts/Sans/italic.r'\" unpacked with wrong size!
  2281. fi
  2282. # end of 'postscript/fonts/Sans/italic.r'
  2283. fi
  2284. if test -f 'postscript/fonts/times/italic.r' -a "${1}" != "-c" ; then 
  2285.   echo shar: Will not clobber existing file \"'postscript/fonts/times/italic.r'\"
  2286. else
  2287. echo shar: Extracting \"'postscript/fonts/times/italic.r'\" \(9432 characters\)
  2288. sed "s/^X//" >'postscript/fonts/times/italic.r' <<'END_OF_FILE'
  2289. XCharStrings
  2290. X/a<CB3D
  2291. X4944
  2292. X4945
  2293. X4A46
  2294. X4C46
  2295. X4D45
  2296. X4E43
  2297. XCC3D
  2298. X4A44
  2299. X4A45
  2300. X4B46
  2301. XCA41
  2302. X4A3F
  2303. X483D
  2304. X463D
  2305. X443E
  2306. X433F
  2307. X4241
  2308. X4243
  2309. X4345
  2310. X4546
  2311. X4746
  2312. X4944
  2313. XC63D
  2314. X443F
  2315. X4341
  2316. X4344
  2317. X4546
  2318. X>
  2319. Xput
  2320. XMetrics
  2321. X/a[-2
  2322. X15]
  2323. Xput
  2324. XCharStrings
  2325. X/b<C539
  2326. X4340
  2327. XC639
  2328. X4440
  2329. X4444
  2330. X4646
  2331. XC440
  2332. X453E
  2333. X473D
  2334. X493D
  2335. X4B3E
  2336. X4C40
  2337. X4C42
  2338. X4B44
  2339. X4A45
  2340. X4846
  2341. X4646
  2342. X4445
  2343. X4343
  2344. X4340
  2345. XC93D
  2346. X4B3F
  2347. X4B42
  2348. X4A44
  2349. X4846
  2350. XC339
  2351. X4639
  2352. X>
  2353. Xput
  2354. XMetrics
  2355. X/b[-1
  2356. X14]
  2357. Xput
  2358. XCharStrings
  2359. X/c<CA3E
  2360. X4A3F
  2361. X4B3F
  2362. X4A3E
  2363. X483D
  2364. X463D
  2365. X443E
  2366. X433F
  2367. X4241
  2368. X4243
  2369. X4345
  2370. X4546
  2371. X4746
  2372. X4945
  2373. X4A44
  2374. XC63D
  2375. X443F
  2376. X4341
  2377. X4344
  2378. X4546
  2379. X>
  2380. Xput
  2381. XMetrics
  2382. X/c[-2
  2383. X13]
  2384. Xput
  2385. XCharStrings
  2386. X/d<CC39
  2387. X4944
  2388. X4945
  2389. X4A46
  2390. X4C46
  2391. X4D45
  2392. X4E43
  2393. XCD39
  2394. X4A44
  2395. X4A45
  2396. X4B46
  2397. XCA41
  2398. X4A3F
  2399. X483D
  2400. X463D
  2401. X443E
  2402. X433F
  2403. X4241
  2404. X4243
  2405. X4345
  2406. X4546
  2407. X4746
  2408. X4944
  2409. XC63D
  2410. X443F
  2411. X4341
  2412. X4344
  2413. X4546
  2414. XCA39
  2415. X4D39
  2416. X>
  2417. Xput
  2418. XMetrics
  2419. X/d[0
  2420. X15]
  2421. Xput
  2422. XCharStrings
  2423. X/e<C343
  2424. X4742
  2425. X4941
  2426. X4A40
  2427. X4A3E
  2428. X483D
  2429. X463D
  2430. X443E
  2431. X433F
  2432. X4241
  2433. X4243
  2434. X4345
  2435. X4546
  2436. X4746
  2437. X4945
  2438. X4A44
  2439. XC63D
  2440. X443F
  2441. X4341
  2442. X4344
  2443. X4546
  2444. X>
  2445. Xput
  2446. XMetrics
  2447. X/e[-2
  2448. X12]
  2449. Xput
  2450. XCharStrings
  2451. X/f<CA39
  2452. X4B3A
  2453. X4B39
  2454. X4939
  2455. X473A
  2456. X463C
  2457. X4347
  2458. X4249
  2459. X414A
  2460. XC939
  2461. X483A
  2462. X473C
  2463. X4447
  2464. X4349
  2465. X414A
  2466. X3F4A
  2467. X3F49
  2468. X404A
  2469. XC33D
  2470. X493D
  2471. X>
  2472. Xput
  2473. XMetrics
  2474. X/f[2
  2475. X11]
  2476. Xput
  2477. XCharStrings
  2478. X/g<CB3D
  2479. X4944
  2480. X4847
  2481. X4749
  2482. XCC3D
  2483. X4A44
  2484. X4947
  2485. X4749
  2486. X454A
  2487. X424A
  2488. X4149
  2489. X4249
  2490. X434A
  2491. XCA41
  2492. X4A3F
  2493. X483D
  2494. X463D
  2495. X443E
  2496. X433F
  2497. X4241
  2498. X4243
  2499. X4345
  2500. X4546
  2501. X4746
  2502. X4944
  2503. XC63D
  2504. X443F
  2505. X4341
  2506. X4344
  2507. X4546
  2508. X>
  2509. Xput
  2510. XMetrics
  2511. X/g[-1
  2512. X14]
  2513. Xput
  2514. XCharStrings
  2515. X/h<C539
  2516. X4146
  2517. XC639
  2518. X4246
  2519. XC43F
  2520. X453E
  2521. X473D
  2522. X493D
  2523. X4B3E
  2524. X4B40
  2525. X4A43
  2526. X4A45
  2527. X4B46
  2528. XC93D
  2529. X4A3E
  2530. X4A40
  2531. X4943
  2532. X4945
  2533. X4A46
  2534. X4C46
  2535. X4D45
  2536. X4E43
  2537. XC339
  2538. X4639
  2539. X>
  2540. Xput
  2541. XMetrics
  2542. X/h[0
  2543. X15]
  2544. Xput
  2545. XCharStrings
  2546. X/i<C639
  2547. X463A
  2548. X473A
  2549. X4739
  2550. X4639
  2551. XC140
  2552. X423E
  2553. X433D
  2554. X453D
  2555. X463E
  2556. X4640
  2557. X4543
  2558. X4545
  2559. X4646
  2560. XC43D
  2561. X453E
  2562. X4540
  2563. X4443
  2564. X4445
  2565. X4546
  2566. X4746
  2567. X4845
  2568. X4943
  2569. X>
  2570. Xput
  2571. XMetrics
  2572. X/i[2
  2573. X10]
  2574. Xput
  2575. XCharStrings
  2576. X/j<C739
  2577. X473A
  2578. X483A
  2579. X4839
  2580. X4739
  2581. XC240
  2582. X433E
  2583. X443D
  2584. X463D
  2585. X473E
  2586. X4740
  2587. X4547
  2588. X4449
  2589. X424A
  2590. X404A
  2591. X4049
  2592. X414A
  2593. XC53D
  2594. X463E
  2595. X4640
  2596. X4447
  2597. X4349
  2598. X424A
  2599. X>
  2600. Xput
  2601. XMetrics
  2602. X/j[2
  2603. X10]
  2604. Xput
  2605. XCharStrings
  2606. X/k<C539
  2607. X4146
  2608. XC639
  2609. X4246
  2610. XCB3E
  2611. X4A3F
  2612. X4B3F
  2613. X4B3E
  2614. X4A3D
  2615. X493D
  2616. X473F
  2617. X4540
  2618. X4440
  2619. XC440
  2620. X4541
  2621. X4645
  2622. X4746
  2623. X4946
  2624. X4A45
  2625. X4B43
  2626. XC440
  2627. X4641
  2628. X4745
  2629. X4846
  2630. XC339
  2631. X4639
  2632. X>
  2633. Xput
  2634. XMetrics
  2635. X/k[0
  2636. X13]
  2637. Xput
  2638. XCharStrings
  2639. X/l<C539
  2640. X4244
  2641. X4245
  2642. X4346
  2643. X4546
  2644. X4645
  2645. X4743
  2646. XC639
  2647. X4344
  2648. X4345
  2649. X4446
  2650. XC339
  2651. X4639
  2652. X>
  2653. Xput
  2654. XMetrics
  2655. X/l[3
  2656. X8]
  2657. Xput
  2658. XCharStrings
  2659. X/m<C140
  2660. X423E
  2661. X433D
  2662. X453D
  2663. X463E
  2664. X463F
  2665. X4446
  2666. XC43D
  2667. X453E
  2668. X453F
  2669. X4346
  2670. XC63F
  2671. X473E
  2672. X493D
  2673. X4B3D
  2674. X4D3E
  2675. X4D3F
  2676. X4B46
  2677. XCB3D
  2678. X4C3E
  2679. X4C3F
  2680. X4A46
  2681. XCD3F
  2682. X4E3E
  2683. X503D
  2684. X523D
  2685. X543E
  2686. X5440
  2687. X5343
  2688. X5345
  2689. X5446
  2690. XD23D
  2691. X533E
  2692. X5340
  2693. X5243
  2694. X5245
  2695. X5346
  2696. X5546
  2697. X5645
  2698. X5743
  2699. X>
  2700. Xput
  2701. XMetrics
  2702. X/m[-1
  2703. X24]
  2704. Xput
  2705. XCharStrings
  2706. X/n<C140
  2707. X423E
  2708. X433D
  2709. X453D
  2710. X463E
  2711. X463F
  2712. X4446
  2713. XC43D
  2714. X453E
  2715. X453F
  2716. X4346
  2717. XC63F
  2718. X473E
  2719. X493D
  2720. X4B3D
  2721. X4D3E
  2722. X4D40
  2723. X4C43
  2724. X4C45
  2725. X4D46
  2726. XCB3D
  2727. X4C3E
  2728. X4C40
  2729. X4B43
  2730. X4B45
  2731. X4C46
  2732. X4E46
  2733. X4F45
  2734. X5043
  2735. X>
  2736. Xput
  2737. XMetrics
  2738. X/n[-1
  2739. X17]
  2740. Xput
  2741. XCharStrings
  2742. X/o<C63D
  2743. X443E
  2744. X433F
  2745. X4241
  2746. X4243
  2747. X4345
  2748. X4546
  2749. X4746
  2750. X4945
  2751. X4A44
  2752. X4B42
  2753. X4B40
  2754. X4A3E
  2755. X483D
  2756. X463D
  2757. XC63D
  2758. X443F
  2759. X4341
  2760. X4344
  2761. X4546
  2762. XC746
  2763. X4944
  2764. X4A42
  2765. X4A3F
  2766. X483D
  2767. X>
  2768. Xput
  2769. XMetrics
  2770. X/o[-2
  2771. X13]
  2772. Xput
  2773. XCharStrings
  2774. X/p<C140
  2775. X423E
  2776. X433D
  2777. X453D
  2778. X463E
  2779. X463F
  2780. X434A
  2781. XC43D
  2782. X453E
  2783. X453F
  2784. X424A
  2785. XC63F
  2786. X483D
  2787. X4A3D
  2788. X4C3E
  2789. X4D40
  2790. X4D42
  2791. X4C44
  2792. X4B45
  2793. X4946
  2794. X4746
  2795. X4544
  2796. X4542
  2797. XCA3D
  2798. X4C3F
  2799. X4C42
  2800. X4B44
  2801. X4946
  2802. XC04A
  2803. X454A
  2804. X>
  2805. Xput
  2806. XMetrics
  2807. X/p[0
  2808. X15]
  2809. Xput
  2810. XCharStrings
  2811. X/q<CB3D
  2812. X474A
  2813. XCC3D
  2814. X484A
  2815. XCA41
  2816. X4A3F
  2817. X483D
  2818. X463D
  2819. X443E
  2820. X433F
  2821. X4241
  2822. X4243
  2823. X4345
  2824. X4546
  2825. X4746
  2826. X4944
  2827. XC63D
  2828. X443F
  2829. X4341
  2830. X4344
  2831. X4546
  2832. XC54A
  2833. X4A4A
  2834. X>
  2835. Xput
  2836. XMetrics
  2837. X/q[-2
  2838. X14]
  2839. Xput
  2840. XCharStrings
  2841. X/r<C140
  2842. X423E
  2843. X433D
  2844. X453D
  2845. X463E
  2846. X463F
  2847. X4446
  2848. XC43D
  2849. X453E
  2850. X453F
  2851. X4346
  2852. XC63F
  2853. X473E
  2854. X493D
  2855. X4A3D
  2856. X4B3E
  2857. X4B3F
  2858. X4A3F
  2859. X4B3E
  2860. X>
  2861. Xput
  2862. XMetrics
  2863. X/r[-1
  2864. X12]
  2865. Xput
  2866. XCharStrings
  2867. X/s<CA3E
  2868. X4A3F
  2869. X4B3F
  2870. X4A3E
  2871. X483D
  2872. X453D
  2873. X433E
  2874. X4340
  2875. X4541
  2876. X4842
  2877. X4A43
  2878. XC33F
  2879. X4540
  2880. X4841
  2881. X4A42
  2882. X4A45
  2883. X4846
  2884. X4546
  2885. X4345
  2886. X4244
  2887. X4344
  2888. X4345
  2889. X>
  2890. Xput
  2891. XMetrics
  2892. X/s[-2
  2893. X13]
  2894. Xput
  2895. XCharStrings
  2896. X/t<C539
  2897. X4244
  2898. X4245
  2899. X4346
  2900. X4546
  2901. X4645
  2902. X4743
  2903. XC639
  2904. X4344
  2905. X4345
  2906. X4446
  2907. XC23D
  2908. X473D
  2909. X>
  2910. Xput
  2911. XMetrics
  2912. X/t[3
  2913. X9]
  2914. Xput
  2915. XCharStrings
  2916. X/u<C140
  2917. X423E
  2918. X433D
  2919. X453D
  2920. X463E
  2921. X4640
  2922. X4543
  2923. X4545
  2924. X4646
  2925. XC43D
  2926. X453E
  2927. X4540
  2928. X4443
  2929. X4445
  2930. X4646
  2931. X4846
  2932. X4A45
  2933. X4B44
  2934. XCD3D
  2935. X4B44
  2936. X4B45
  2937. X4C46
  2938. X4E46
  2939. X4F45
  2940. X5043
  2941. XCE3D
  2942. X4C44
  2943. X4C45
  2944. X4D46
  2945. X>
  2946. Xput
  2947. XMetrics
  2948. X/u[-1
  2949. X17]
  2950. Xput
  2951. XCharStrings
  2952. X/v<C140
  2953. X423E
  2954. X433D
  2955. X453D
  2956. X463E
  2957. X4640
  2958. X4543
  2959. X4545
  2960. X4646
  2961. XC43D
  2962. X453E
  2963. X4540
  2964. X4443
  2965. X4445
  2966. X4646
  2967. X4746
  2968. X4945
  2969. X4B43
  2970. X4C40
  2971. X4C3D
  2972. X4B3D
  2973. X4C3E
  2974. X>
  2975. Xput
  2976. XMetrics
  2977. X/v[-1
  2978. X14]
  2979. Xput
  2980. XCharStrings
  2981. X/w<C140
  2982. X423E
  2983. X433D
  2984. X453D
  2985. X463E
  2986. X4640
  2987. X4543
  2988. X4545
  2989. X4646
  2990. XC43D
  2991. X453E
  2992. X4540
  2993. X4443
  2994. X4445
  2995. X4646
  2996. X4746
  2997. X4945
  2998. X4A44
  2999. XCC3D
  3000. X4A44
  3001. X4A45
  3002. X4C46
  3003. XCD3D
  3004. X4B44
  3005. X4B45
  3006. X4C46
  3007. X4D46
  3008. X4F45
  3009. X5143
  3010. X5240
  3011. X523D
  3012. X513D
  3013. X523E
  3014. X>
  3015. Xput
  3016. XMetrics
  3017. X/w[-1
  3018. X20]
  3019. Xput
  3020. XCharStrings
  3021. X/x<C340
  3022. X443E
  3023. X463D
  3024. X483D
  3025. X493E
  3026. X4940
  3027. XC73D
  3028. X483E
  3029. X4840
  3030. X4743
  3031. X4645
  3032. X4446
  3033. X4346
  3034. X4245
  3035. X4244
  3036. X4344
  3037. X4245
  3038. XCE3E
  3039. X4D3F
  3040. X4E3F
  3041. X4E3E
  3042. X4D3D
  3043. X4C3D
  3044. X4A3E
  3045. X4940
  3046. X4843
  3047. X4845
  3048. X4946
  3049. XC743
  3050. X4745
  3051. X4846
  3052. X4A46
  3053. X4C45
  3054. X4D43
  3055. X>
  3056. Xput
  3057. XMetrics
  3058. X/x[-2
  3059. X16]
  3060. Xput
  3061. XCharStrings
  3062. X/y<C140
  3063. X423E
  3064. X433D
  3065. X453D
  3066. X463E
  3067. X4640
  3068. X4543
  3069. X4545
  3070. X4646
  3071. XC43D
  3072. X453E
  3073. X4540
  3074. X4443
  3075. X4445
  3076. X4646
  3077. X4846
  3078. X4A45
  3079. X4B44
  3080. XCD3D
  3081. X4B44
  3082. X4A47
  3083. X4949
  3084. XCE3D
  3085. X4C44
  3086. X4B47
  3087. X4949
  3088. X474A
  3089. X444A
  3090. X4349
  3091. X4449
  3092. X454A
  3093. X>
  3094. Xput
  3095. XMetrics
  3096. X/y[-1
  3097. X16]
  3098. Xput
  3099. XCharStrings
  3100. X/z<CC3D
  3101. X4C3E
  3102. X4B3F
  3103. X4344
  3104. X4245
  3105. X4246
  3106. XC33F
  3107. X443D
  3108. X473D
  3109. X4A3F
  3110. XC43E
  3111. X473E
  3112. X4A3F
  3113. X4B3F
  3114. XC344
  3115. X4444
  3116. X4745
  3117. X4A45
  3118. XC444
  3119. X4746
  3120. X4A46
  3121. X4B44
  3122. X>
  3123. Xput
  3124. XMetrics
  3125. X/z[-2
  3126. X14]
  3127. Xput
  3128. XCharStrings
  3129. X/A<C939
  3130. X4046
  3131. XC83B
  3132. X4946
  3133. XC939
  3134. X4A46
  3135. XC342
  3136. X4942
  3137. XBE46
  3138. X4346
  3139. XC746
  3140. X4C46
  3141. X>
  3142. Xput
  3143. XMetrics
  3144. X/A[2
  3145. X14]
  3146. Xput
  3147. XCharStrings
  3148. X/B<C639
  3149. X4246
  3150. XC739
  3151. X4346
  3152. XC439
  3153. X4B39
  3154. X4D3A
  3155. X4D3C
  3156. X4C3E
  3157. X493F
  3158. XCB39
  3159. X4C3A
  3160. X4C3C
  3161. X4B3E
  3162. X493F
  3163. XC53F
  3164. X483F
  3165. X4A40
  3166. X4B41
  3167. X4B43
  3168. X4A45
  3169. X4746
  3170. X4046
  3171. XC83F
  3172. X4A41
  3173. X4A43
  3174. X4945
  3175. X4746
  3176. X>
  3177. Xput
  3178. XMetrics
  3179. X/B[0
  3180. X15]
  3181. Xput
  3182. XCharStrings
  3183. X/C<CB3A
  3184. X4C3A
  3185. X4D39
  3186. X4C3C
  3187. X4B3A
  3188. X4939
  3189. X4739
  3190. X453A
  3191. X443B
  3192. X433D
  3193. X4240
  3194. X4243
  3195. X4345
  3196. X4546
  3197. X4746
  3198. X4945
  3199. X4A43
  3200. XC739
  3201. X453B
  3202. X443D
  3203. X4340
  3204. X4344
  3205. X4546
  3206. X>
  3207. Xput
  3208. XMetrics
  3209. X/C[0
  3210. X13]
  3211. Xput
  3212. XCharStrings
  3213. X/D<C639
  3214. X4246
  3215. XC739
  3216. X4346
  3217. XC439
  3218. X4A39
  3219. X4C3A
  3220. X4D3C
  3221. X4D3F
  3222. X4C42
  3223. X4B44
  3224. X4A45
  3225. X4746
  3226. X4046
  3227. XCA39
  3228. X4B3A
  3229. X4C3C
  3230. X4C3F
  3231. X4B42
  3232. X4A44
  3233. X4945
  3234. X4746
  3235. X>
  3236. Xput
  3237. XMetrics
  3238. X/D[0
  3239. X15]
  3240. Xput
  3241. XCharStrings
  3242. X/E<C639
  3243. X4246
  3244. XC739
  3245. X4346
  3246. XC93D
  3247. X4841
  3248. XC439
  3249. X4E39
  3250. X4D3C
  3251. X4D39
  3252. XC53F
  3253. X483F
  3254. XC046
  3255. X4A46
  3256. X4B43
  3257. X4946
  3258. X>
  3259. Xput
  3260. XMetrics
  3261. X/E[0
  3262. X15]
  3263. Xput
  3264. XCharStrings
  3265. X/F<C639
  3266. X4246
  3267. XC739
  3268. X4346
  3269. XC93D
  3270. X4841
  3271. XC439
  3272. X4E39
  3273. X4D3C
  3274. X4D39
  3275. XC53F
  3276. X483F
  3277. XC046
  3278. X4546
  3279. X>
  3280. Xput
  3281. XMetrics
  3282. X/F[0
  3283. X14]
  3284. Xput
  3285. XCharStrings
  3286. X/G<CB3A
  3287. X4C3A
  3288. X4D39
  3289. X4C3C
  3290. X4B3A
  3291. X4939
  3292. X4739
  3293. X453A
  3294. X443B
  3295. X433D
  3296. X4240
  3297. X4243
  3298. X4345
  3299. X4546
  3300. X4746
  3301. X4945
  3302. X4A44
  3303. X4B41
  3304. XC739
  3305. X453B
  3306. X443D
  3307. X4340
  3308. X4344
  3309. X4546
  3310. XC746
  3311. X4944
  3312. X4A41
  3313. XC841
  3314. X4D41
  3315. X>
  3316. Xput
  3317. XMetrics
  3318. X/G[0
  3319. X14]
  3320. Xput
  3321. XCharStrings
  3322. X/H<C639
  3323. X4246
  3324. XC739
  3325. X4346
  3326. XCE39
  3327. X4A46
  3328. XCF39
  3329. X4B46
  3330. XC439
  3331. X4939
  3332. XCC39
  3333. X5139
  3334. XC53F
  3335. X4C3F
  3336. XC046
  3337. X4546
  3338. XC846
  3339. X4D46
  3340. X>
  3341. Xput
  3342. XMetrics
  3343. X/H[0
  3344. X17]
  3345. Xput
  3346. XCharStrings
  3347. X/I<C639
  3348. X4246
  3349. XC739
  3350. X4346
  3351. XC439
  3352. X4939
  3353. XC046
  3354. X4546
  3355. X>
  3356. Xput
  3357. XMetrics
  3358. X/I[3
  3359. X9]
  3360. Xput
  3361. XCharStrings
  3362. X/J<C939
  3363. X4643
  3364. X4545
  3365. X4446
  3366. XCA39
  3367. X4743
  3368. X4645
  3369. X4446
  3370. X4346
  3371. X4145
  3372. X4043
  3373. X4142
  3374. X4243
  3375. X4144
  3376. XC739
  3377. X4C39
  3378. X>
  3379. Xput
  3380. XMetrics
  3381. X/J[1
  3382. X12]
  3383. Xput
  3384. XCharStrings
  3385. X/K<C639
  3386. X4246
  3387. XC739
  3388. X4346
  3389. XCF39
  3390. X4540
  3391. XC83E
  3392. X4A46
  3393. XC93E
  3394. X4B46
  3395. XC439
  3396. X4939
  3397. XCC39
  3398. X5139
  3399. XC046
  3400. X4546
  3401. XC846
  3402. X4D46
  3403. X>
  3404. Xput
  3405. XMetrics
  3406. X/K[0
  3407. X16]
  3408. Xput
  3409. XCharStrings
  3410. X/L<C639
  3411. X4246
  3412. XC739
  3413. X4346
  3414. XC439
  3415. X4939
  3416. XC046
  3417. X4A46
  3418. X4B43
  3419. X4946
  3420. X>
  3421. Xput
  3422. XMetrics
  3423. X/L[0
  3424. X13]
  3425. Xput
  3426. XCharStrings
  3427. X/M<C639
  3428. X4246
  3429. XC63B
  3430. X4746
  3431. XC739
  3432. X4844
  3433. XD039
  3434. X4746
  3435. XD039
  3436. X4C46
  3437. XD139
  3438. X4D46
  3439. XC439
  3440. X4739
  3441. XD039
  3442. X5339
  3443. XC046
  3444. X4446
  3445. XCA46
  3446. X4F46
  3447. X>
  3448. Xput
  3449. XMetrics
  3450. X/M[0
  3451. X19]
  3452. Xput
  3453. XCharStrings
  3454. X/N<C639
  3455. X4246
  3456. XC639
  3457. X4A46
  3458. XC739
  3459. X4A43
  3460. XCE39
  3461. X4A46
  3462. XC439
  3463. X4739
  3464. XCC39
  3465. X5039
  3466. XC046
  3467. X4446
  3468. X>
  3469. Xput
  3470. XMetrics
  3471. X/N[0
  3472. X16]
  3473. Xput
  3474. XCharStrings
  3475. X/O<C739
  3476. X453A
  3477. X443B
  3478. X433D
  3479. X4240
  3480. X4243
  3481. X4345
  3482. X4546
  3483. X4746
  3484. X4945
  3485. X4A44
  3486. X4B42
  3487. X4C3F
  3488. X4C3C
  3489. X4B3A
  3490. X4939
  3491. X4739
  3492. XC739
  3493. X453B
  3494. X443D
  3495. X4340
  3496. X4344
  3497. X4546
  3498. XC746
  3499. X4944
  3500. X4A42
  3501. X4B3F
  3502. X4B3B
  3503. X4939
  3504. X>
  3505. Xput
  3506. XMetrics
  3507. X/O[0
  3508. X14]
  3509. Xput
  3510. XCharStrings
  3511. X/P<C639
  3512. X4246
  3513. XC739
  3514. X4346
  3515. XC439
  3516. X4B39
  3517. X4D3A
  3518. X4E3B
  3519. X4E3D
  3520. X4D3F
  3521. X4A40
  3522. X4540
  3523. XCB39
  3524. X4D3B
  3525. X4D3D
  3526. X4C3F
  3527. X4A40
  3528. XC046
  3529. X4546
  3530. X>
  3531. Xput
  3532. XMetrics
  3533. X/P[0
  3534. X15]
  3535. Xput
  3536. XCharStrings
  3537. X/Q<C739
  3538. X453A
  3539. X443B
  3540. X433D
  3541. X4240
  3542. X4243
  3543. X4345
  3544. X4546
  3545. X4746
  3546. X4945
  3547. X4A44
  3548. X4B42
  3549. X4C3F
  3550. X4C3C
  3551. X4B3A
  3552. X4939
  3553. X4739
  3554. XC739
  3555. X453B
  3556. X443D
  3557. X4340
  3558. X4344
  3559. X4546
  3560. XC746
  3561. X4944
  3562. X4A42
  3563. X4B3F
  3564. X4B3B
  3565. X4939
  3566. XC445
  3567. X4444
  3568. X4543
  3569. X4643
  3570. X4744
  3571. X4748
  3572. X4849
  3573. X4949
  3574. X4A48
  3575. XC744
  3576. X4848
  3577. X4949
  3578. X>
  3579. Xput
  3580. XMetrics
  3581. X/Q[0
  3582. X14]
  3583. Xput
  3584. XCharStrings
  3585. X/R<C639
  3586. X4246
  3587. XC739
  3588. X4346
  3589. XC439
  3590. X4B39
  3591. X4D3A
  3592. X4E3B
  3593. X4E3D
  3594. X4D3F
  3595. X4A40
  3596. X4540
  3597. XCB39
  3598. X4D3B
  3599. X4D3D
  3600. X4C3F
  3601. X4A40
  3602. XC940
  3603. X4A45
  3604. X4B46
  3605. X4C46
  3606. X4D45
  3607. XC940
  3608. X4A41
  3609. X4B45
  3610. X4C46
  3611. XC046
  3612. X4546
  3613. X>
  3614. Xput
  3615. XMetrics
  3616. X/R[0
  3617. X16]
  3618. Xput
  3619. XCharStrings
  3620. X/S<CC3A
  3621. X4D3A
  3622. X4E39
  3623. X4D3C
  3624. X4C3A
  3625. X4A39
  3626. X4739
  3627. X453A
  3628. X443B
  3629. X443D
  3630. X453E
  3631. X4A41
  3632. X4B42
  3633. XC43C
  3634. X453D
  3635. X4A40
  3636. X4B41
  3637. X4B44
  3638. X4A45
  3639. X4846
  3640. X4546
  3641. X4345
  3642. X4243
  3643. X4146
  3644. X4245
  3645. X4345
  3646. X>
  3647. Xput
  3648. XMetrics
  3649. X/S[0
  3650. X15]
  3651. Xput
  3652. XCharStrings
  3653. X/T<C939
  3654. X4546
  3655. XCA39
  3656. X4646
  3657. XC539
  3658. X433C
  3659. X4439
  3660. X4F39
  3661. X4E3C
  3662. X4E39
  3663. XC346
  3664. X4846
  3665. X>
  3666. Xput
  3667. XMetrics
  3668. X/T[0
  3669. X15]
  3670. Xput
  3671. XCharStrings
  3672. X/U<C639
  3673. X4343
  3674. X4345
  3675. X4546
  3676. X4946
  3677. X4B45
  3678. X4C43
  3679. X4F39
  3680. XC739
  3681. X4443
  3682. X4445
  3683. X4546
  3684. XC439
  3685. X4939
  3686. XCD39
  3687. X5139
  3688. X>
  3689. Xput
  3690. XMetrics
  3691. X/U[-1
  3692. X17]
  3693. Xput
  3694. XCharStrings
  3695. X/V<C439
  3696. X4546
  3697. XC539
  3698. X4644
  3699. XCE39
  3700. X4546
  3701. XC239
  3702. X4739
  3703. XCB39
  3704. X5039
  3705. X>
  3706. Xput
  3707. XMetrics
  3708. X/V[0
  3709. X14]
  3710. Xput
  3711. XCharStrings
  3712. X/W<C539
  3713. X4446
  3714. XC639
  3715. X4544
  3716. XCB39
  3717. X4446
  3718. XCB39
  3719. X4A46
  3720. XCC39
  3721. X4B44
  3722. XD139
  3723. X4A46
  3724. XC339
  3725. X4839
  3726. XCF39
  3727. X5339
  3728. X>
  3729. Xput
  3730. XMetrics
  3731. X/W[-2
  3732. X18]
  3733. Xput
  3734. XCharStrings
  3735. X/X<C539
  3736. X4946
  3737. XC639
  3738. X4A46
  3739. XCE39
  3740. X4146
  3741. XC339
  3742. X4839
  3743. XCB39
  3744. X5039
  3745. XBF46
  3746. X4446
  3747. XC746
  3748. X4C46
  3749. X>
  3750. Xput
  3751. XMetrics
  3752. X/X[1
  3753. X15]
  3754. Xput
  3755. XCharStrings
  3756. X/Y<C439
  3757. X463F
  3758. X4446
  3759. XC539
  3760. X473F
  3761. XCD39
  3762. X473F
  3763. X4546
  3764. XC239
  3765. X4739
  3766. XCA39
  3767. X4F39
  3768. XC246
  3769. X4746
  3770. X>
  3771. Xput
  3772. XMetrics
  3773. X/Y[1
  3774. X13]
  3775. Xput
  3776. XCharStrings
  3777. X/Z<CC39
  3778. X4046
  3779. XCD39
  3780. X4146
  3781. XC539
  3782. X433C
  3783. X4439
  3784. X4D39
  3785. XC046
  3786. X4946
  3787. X4A43
  3788. X4846
  3789. X>
  3790. Xput
  3791. XMetrics
  3792. X/Z[1
  3793. X13]
  3794. Xput
  3795. XCharStrings
  3796. X/ff
  3797. X<CD39
  3798. X4E3A
  3799. X4F3A
  3800. X4D39
  3801. X4A39
  3802. X483A
  3803. X473B
  3804. X463D
  3805. X4347
  3806. X4249
  3807. X414A
  3808. XCA39
  3809. X483B
  3810. X473D
  3811. X4447
  3812. X4349
  3813. X414A
  3814. X3F4A
  3815. X3F49
  3816. X404A
  3817. XD139
  3818. X523A
  3819. X5239
  3820. X5039
  3821. X4E3A
  3822. X4D3C
  3823. X4A47
  3824. X4949
  3825. X484A
  3826. XD039
  3827. X4F3A
  3828. X4E3C
  3829. X4B47
  3830. X4A49
  3831. X484A
  3832. X464A
  3833. X4649
  3834. X474A
  3835. XC33D
  3836. X503D
  3837. X>
  3838. Xput
  3839. XMetrics
  3840. X/ff
  3841. X[1
  3842. X18]
  3843. Xput
  3844. XCharStrings
  3845. X/fi
  3846. X<CD39
  3847. X4E3A
  3848. X4F3A
  3849. X4F39
  3850. X4A39
  3851. X483A
  3852. X473B
  3853. X463D
  3854. X4347
  3855. X4249
  3856. X414A
  3857. XCA39
  3858. X483B
  3859. X473D
  3860. X4447
  3861. X4349
  3862. X414A
  3863. X3F4A
  3864. X3F49
  3865. X404A
  3866. XCD3D
  3867. X4B44
  3868. X4B45
  3869. X4C46
  3870. X4E46
  3871. X4F45
  3872. X5043
  3873. XCE3D
  3874. X4C44
  3875. X4C45
  3876. X4D46
  3877. XC33D
  3878. X4E3D
  3879. X>
  3880. Xput
  3881. XMetrics
  3882. X/fi
  3883. X[1
  3884. X17]
  3885. Xput
  3886. XCharStrings
  3887. X/fl
  3888. X<CD39
  3889. X4E3A
  3890. XCF39
  3891. X4A39
  3892. X483A
  3893. X473B
  3894. X463D
  3895. X4347
  3896. X4249
  3897. X414A
  3898. XCA39
  3899. X483B
  3900. X473D
  3901. X4447
  3902. X4349
  3903. X414A
  3904. X3F4A
  3905. X3F49
  3906. X404A
  3907. XCE39
  3908. X4B44
  3909. X4B45
  3910. X4C46
  3911. X4E46
  3912. X4F45
  3913. X5043
  3914. XCF39
  3915. X4C44
  3916. X4C45
  3917. X4D46
  3918. XC33D
  3919. X4D3D
  3920. X>
  3921. Xput
  3922. XMetrics
  3923. X/fl
  3924. X[1
  3925. X17]
  3926. Xput
  3927. XCharStrings
  3928. X/ffi
  3929. X<CD39
  3930. X4E3A
  3931. X4E3B
  3932. XCF3A
  3933. X4D39
  3934. X4A39
  3935. X483A
  3936. X473B
  3937. X463D
  3938. X4347
  3939. X4249
  3940. X414A
  3941. XCA39
  3942. X483B
  3943. X473D
  3944. X4447
  3945. X4349
  3946. X414A
  3947. X3F4A
  3948. X3F49
  3949. X404A
  3950. XD439
  3951. X553A
  3952. X563A
  3953. X5639
  3954. X5139
  3955. X4F3A
  3956. XCE3B
  3957. X4D3D
  3958. X4A47
  3959. X4949
  3960. X484A
  3961. XD139
  3962. X4F3B
  3963. X4E3D
  3964. X4B47
  3965. X4A49
  3966. X484A
  3967. X464A
  3968. X4649
  3969. X474A
  3970. XD43D
  3971. X5244
  3972. X5245
  3973. X5346
  3974. X5546
  3975. X5645
  3976. X5743
  3977. XD53D
  3978. X5344
  3979. X5345
  3980. X5446
  3981. XC33D
  3982. X553D
  3983. X>
  3984. Xput
  3985. XMetrics
  3986. X/ffi
  3987. X[1
  3988. X24]
  3989. Xput
  3990. XCharStrings
  3991. X/ffl
  3992. X<CD39
  3993. X4E3A
  3994. X4E3B
  3995. XCF3A
  3996. X4D39
  3997. X4A39
  3998. X483A
  3999. X473B
  4000. X463D
  4001. X4347
  4002. X4249
  4003. X414A
  4004. XCA39
  4005. X483B
  4006. X473D
  4007. X4447
  4008. X4349
  4009. X414A
  4010. X3F4A
  4011. X3F49
  4012. X404A
  4013. XD439
  4014. X553A
  4015. XD639
  4016. X5139
  4017. X4F3A
  4018. XCE3B
  4019. X4D3D
  4020. X4A47
  4021. X4949
  4022. X484A
  4023. XD139
  4024. X4F3B
  4025. X4E3D
  4026. X4B47
  4027. X4A49
  4028. X484A
  4029. X464A
  4030. X4649
  4031. X474A
  4032. XD539
  4033. X5244
  4034. X5245
  4035. X5346
  4036. X5546
  4037. X5645
  4038. X5743
  4039. XD639
  4040. X5344
  4041. X5345
  4042. X5446
  4043. XC33D
  4044. X543D
  4045. X>
  4046. Xput
  4047. XMetrics
  4048. X/ffl
  4049. X[1
  4050. X24]
  4051. Xput
  4052. XCharStrings
  4053. X/dotlessi
  4054. X<C140
  4055. X423E
  4056. X433D
  4057. X453D
  4058. X463E
  4059. X4640
  4060. X4543
  4061. X4545
  4062. X4646
  4063. XC43D
  4064. X453E
  4065. X4540
  4066. X4443
  4067. X4445
  4068. X4546
  4069. X4746
  4070. X4845
  4071. X4943
  4072. X>
  4073. Xput
  4074. XMetrics
  4075. X/dotlessi
  4076. X[-1
  4077. X10]
  4078. Xput
  4079. XCharStrings
  4080. X/space
  4081. X<8000
  4082. X46E3D
  4083. X4300
  4084. X004EF
  4085. X3A46
  4086. X>
  4087. Xput
  4088. XMetrics
  4089. X/space
  4090. X[64
  4091. X0]
  4092. Xput
  4093. END_OF_FILE
  4094. if test 9432 -ne `wc -c <'postscript/fonts/times/italic.r'`; then
  4095.     echo shar: \"'postscript/fonts/times/italic.r'\" unpacked with wrong size!
  4096. fi
  4097. # end of 'postscript/fonts/times/italic.r'
  4098. fi
  4099. if test -f 'source/array.c' -a "${1}" != "-c" ; then 
  4100.   echo shar: Will not clobber existing file \"'source/array.c'\"
  4101. else
  4102. echo shar: Extracting \"'source/array.c'\" \(9489 characters\)
  4103. sed "s/^X//" >'source/array.c' <<'END_OF_FILE'
  4104. X/*
  4105. X * Copyright (C) Rutherford Appleton Laboratory 1987
  4106. X * 
  4107. X * This source may be copied, distributed, altered or used, but not sold for profit
  4108. X * or incorporated into a product except under licence from the author.
  4109. X * It is not in the public domain.
  4110. X * This notice should remain in the source unaltered, and any changes to the source
  4111. X * made by persons other than the author should be marked as such.
  4112. X * 
  4113. X *    Crispin Goswell @ Rutherford Appleton Laboratory caag@uk.ac.rl.vd
  4114. X */
  4115. X#include "main.h"
  4116. X
  4117. Xstatic Object OpForAll;
  4118. X
  4119. Xstatic int PLength (), PArray (), PRBracket (), PAload (), PAstore ();
  4120. X
  4121. Xstatic int forAll (), ForAll (), PReadOnly (), PExecOnly (), PrCheck (), PwCheck ();
  4122. Xstatic int PutInterval (), GetInterval (), Put (), Get (), Length (), Copy (), Eq ();
  4123. X
  4124. Xint ExecArray ();
  4125. XObject Marker;
  4126. X
  4127. Xstatic int autobind = 0;
  4128. X
  4129. Xstatic int PSetAutoBind (), PGetAutoBind ();
  4130. X
  4131. XInitArray ()
  4132. X {
  4133. X    TypeInstallOp (Mark,     "eq", EqTrue, 2, 1, 0, 0, Mark, Mark);
  4134. X    
  4135. X    Marker = MakeObject (Mark);
  4136. X     
  4137. X     OpForAll = MakeOp ("(forallarray)", forAll, 0, 0, 3, 5);
  4138. X     
  4139. X     Install ("[",        Marker);
  4140. X     Install ("null",    Nil);
  4141. X     
  4142. X     InstallOp ("array",     PArray,        1, 1, 0, 0, Integer);
  4143. X     InstallOp ("]",     PRBracket,    0, 1, 0, 0);
  4144. X     InstallOp ("aload",     PAload,        1, 0, 0, 0, Array);
  4145. X     InstallOp ("astore",    PAstore,    1, 1, 0, 0, Array);
  4146. X     
  4147. X     InstallOp ("setautobind",    PSetAutoBind,    1, 0, 0, 0, Boolean);
  4148. X     InstallOp ("getautobind",    PGetAutoBind,    0, 1, 0, 0);
  4149. X    
  4150. X     TypeInstallOp (Array, "exec",        ExecArray,    1, 1, 0, 2, Array);
  4151. X     TypeInstallOp (Array, "eq",         Eq,        2, 1, 0, 0, Array, Array);
  4152. X     TypeInstallOp (Array, "put",         Put,        3, 0, 0, 0, Array, Integer, Poly);
  4153. X     TypeInstallOp (Array, "get",         Get,        2, 1, 0, 0, Array, Integer);
  4154. X     TypeInstallOp (Array, "putinterval",     PutInterval,    3, 0, 0, 0, Array, Integer, Array);
  4155. X     TypeInstallOp (Array, "getinterval",     GetInterval,    3, 1, 0, 0, Array, Integer, Integer);
  4156. X     TypeInstallOp (Array, "length",         PLength,    1, 1, 0, 0, Array);
  4157. X     TypeInstallOp (Array, "copy",         Copy,        2, 0, 0, 0, Array, Array);
  4158. X     TypeInstallOp (Array, "forall",     ForAll,        2, 0, 0, 4, Array, Array);
  4159. X     TypeInstallOp (Array, "executeonly",     PExecOnly,    1, 1, 0, 0, Array);
  4160. X     TypeInstallOp (Array, "readonly",     PReadOnly,    1, 1, 0, 0, Array);
  4161. X     TypeInstallOp (Array, "rcheck",     PrCheck,    1, 1, 0, 0, Array);
  4162. X     TypeInstallOp (Array, "wcheck",     PwCheck,    1, 1, 0, 0, Array);
  4163. X }
  4164. X
  4165. X
  4166. XObject MakeArray (p, length) Object *p; int length;
  4167. X {
  4168. X     Object res;
  4169. X     
  4170. X     res = MakeObject (Array);
  4171. X     res.u.Array = p;
  4172. X     res.Length = length;
  4173. X     
  4174. X     return res;
  4175. X }
  4176. X
  4177. X
  4178. Xstatic Object Make (p, length) Object *p; int length;
  4179. X {
  4180. X     Object res;
  4181. X     
  4182. X     res = MakeObject (Array);
  4183. X     res.u.Array = p;
  4184. X     res.Length = length;
  4185. X     
  4186. X     return res;
  4187. X }
  4188. X
  4189. Xstatic Object *Body (item) Object item;
  4190. X {
  4191. X     return item.u.Array;
  4192. X }
  4193. X
  4194. X#define Body(a) ((a).u.Array)
  4195. X
  4196. XObject *BodyArray (item) Object item;
  4197. X {
  4198. X     return item.u.Array;
  4199. X }
  4200. X
  4201. Xstatic Object ArrayStore (n) int n;
  4202. X {
  4203. X     Object *body = (Object *) Malloc ((unsigned) sizeof (Object) * n);
  4204. X     int i, h = Height (OpStack);
  4205. X     
  4206. X     for (i = h - n; i < h; i++)
  4207. X         body[i-h+n] = OpStack->stack_body[i];
  4208. X     OpStack->stack_fill -= n;
  4209. X     return Make (body, n);
  4210. X }
  4211. X
  4212. X/*VARARGS
  4213. XObject ArrayFrom (length, args) int length; Object args;
  4214. X {
  4215. X     Object *argv = &args, *array = (Object *) Malloc ((unsigned) (sizeof (Object) * length));
  4216. X     int i;
  4217. X     
  4218. X     for (i = 0; i < length; i++)
  4219. X         array[i] = argv[i];
  4220. X     return Cvx (Make (array, length));
  4221. X }
  4222. X*/
  4223. X
  4224. XlengthArray (item) Object item;
  4225. X {
  4226. X     return item.Length;
  4227. X }
  4228. X
  4229. Xstatic int Length (object) Object object;
  4230. X {
  4231. X     return object.Length;
  4232. X }
  4233. X
  4234. X#define lengthArray(a) ((a).Length)
  4235. X
  4236. Xstatic int PLength (object) Object object;
  4237. X {
  4238. X     return Push (OpStack, MakeInteger (Length (object)));
  4239. X }
  4240. X
  4241. Xint ExecArray (item) Object item;
  4242. X {
  4243. X     int l = lengthArray (item);
  4244. X     
  4245. X    if (l == 0)
  4246. X         return TRUE;
  4247. X     Push (ExecStack, SameFlags (item, Make (Body (item) + 1, l - 1)));
  4248. X     if (TypeOf (Body (item) [0]) == Name || TypeOf (Body (item) [0]) == Operator)
  4249. X         Push (ExecStack, Body (item) [0]);
  4250. X     else
  4251. X          Push (OpStack, Body (item) [0]);
  4252. X        
  4253. X     return TRUE;
  4254. X }
  4255. X
  4256. Xstatic int Get (object, key) Object object, key;
  4257. X {
  4258. X     int index;
  4259. X     
  4260. X    if (TypeOf (key) == Integer)
  4261. X        index = BodyInteger (key);
  4262. X    else if (TypeOf (key) == Real)
  4263. X        index = (int) BodyReal (key);
  4264. X    else
  4265. X         return Error (PTypeCheck);
  4266. X    if (index >= 0 && index < Length (object))
  4267. X     {
  4268. X         Object t;
  4269. X         
  4270. X         t = Body (object) [index]; /* VAX Compiler Broken */
  4271. X        return Push (OpStack, t);
  4272. X     }
  4273. X    else
  4274. X         return Error (PRangeCheck);
  4275. X  }
  4276. X
  4277. XObject getArray (o, index) Object o; int index;
  4278. X {
  4279. X     return Body (o)[index];
  4280. X }
  4281. X
  4282. Xstatic int GetInterval (object, begin, length) Object object, begin, length;
  4283. X {
  4284. X    int b = BodyInteger (begin), l = BodyInteger (length);
  4285. X    
  4286. X    if (l < 0 || b < 0 || b + l > Length (object))
  4287. X        return Error (PRangeCheck);
  4288. X    return Push (OpStack, Make (Body (object) + b, l));
  4289. X }
  4290. X
  4291. XObject getIArray (object, begin, length) Object object; int begin, length;
  4292. X {
  4293. X    return Make (Body (object) + begin, length);
  4294. X }
  4295. X
  4296. Xstatic int Put (object, key, value) Object object, key, value;
  4297. X {
  4298. X    int index = BodyInteger (key);
  4299. X    
  4300. X    if (index < 0 || index >= Length (object))
  4301. X        return Error (PRangeCheck);
  4302. X     Body (object) [index] = value;
  4303. X    return TRUE;
  4304. X }
  4305. Xint putArray (object, index, value) Object object, value; int index;
  4306. X {
  4307. X    if (index < 0 || index >= Length (object))
  4308. X        return Error (PRangeCheck);
  4309. X     Body (object) [index] = value;
  4310. X     return TRUE;
  4311. X
  4312. X }
  4313. Xstatic int PutInterval (object1, begin, object2) Object object1, begin, object2;
  4314. X {
  4315. X     int i, l1 = Length (object1), l2 = Length (object2), b = BodyInteger (begin);
  4316. X     
  4317. X    if (b < 0 || l2 + b > l1)
  4318. X        return Error (PRangeCheck);
  4319. X     for (i = b; i < b + l2; i++)
  4320. X         Body (object1) [i] = Body (object2) [i - b];
  4321. X    return TRUE;
  4322. X }
  4323. X
  4324. Xstatic int Copy (object1, object2) Object object1, object2;
  4325. X {
  4326. X    if (Length (object1) <= Length (object2))
  4327. X        return PutInterval (object2, MakeInteger (0), object1)
  4328. X            && Push (OpStack, Make (Body (object2), Length (object1)));
  4329. X    else
  4330. X        return Error (PRangeCheck);
  4331. X }
  4332. X
  4333. Xstatic Eq (a, b) Object a, b;
  4334. X {
  4335. X    return Push (OpStack, MakeBoolean (Length (a) == Length (b) && (Length (a) == 0 || Body (a) == Body (b))));
  4336. X }
  4337. X
  4338. Xstatic int ForAll (array, proc) Object array, proc;
  4339. X {
  4340. X     return Push (ExecStack, array)
  4341. X     && Push (ExecStack, MakeInteger (0))
  4342. X     && Push (ExecStack, proc)
  4343. X    && Push (ExecStack, OpForAll);
  4344. X }
  4345. X
  4346. Xstatic forAll ()
  4347. X {
  4348. X     Object array, index, proc;
  4349. X     
  4350. X     proc  = Pop (ExecStack);
  4351. X     index = Pop (ExecStack);
  4352. X     array = Pop (ExecStack);
  4353. X     
  4354. X     if (BodyInteger (index) >= lengthArray (array))
  4355. X         return TRUE;
  4356. X     return Push (ExecStack, array)
  4357. X     && Push (ExecStack, MakeInteger (BodyInteger (index) + 1))
  4358. X     && Push (ExecStack, proc)
  4359. X     && Push (ExecStack, OpForAll)
  4360. X     && Push (ExecStack, proc)
  4361. X     && Push (OpStack, Body (array) [BodyInteger (index)]);
  4362. X }
  4363. X
  4364. Xstatic int PSetAutoBind (bool) Object bool;
  4365. X {
  4366. X     autobind = BodyBoolean (bool);
  4367. X     
  4368. X     return TRUE;
  4369. X }
  4370. X
  4371. Xstatic int PGetAutoBind ()
  4372. X {
  4373. X     return Push (OpStack, MakeBoolean (autobind));
  4374. X }
  4375. X
  4376. XObject ParseArray (o) Object o;
  4377. X {
  4378. X     Object res, *array;
  4379. X      int i, length = 0;
  4380. X    struct acc
  4381. X      {
  4382. X          Object item;
  4383. X          struct acc *prev;
  4384. X      } *p = NULL;
  4385. X     
  4386. X    for (;;)
  4387. X     {
  4388. X         struct acc *item = (struct acc *) Malloc (sizeof (struct acc));
  4389. X         res = Parse (o);
  4390. X         
  4391. X         if (TypeOf (res) == Condition)
  4392. X             return Absent;
  4393. X         if (TypeOf (res) == Boolean)
  4394. X             if (BodyBoolean (res))
  4395. X                 break;
  4396. X             else
  4397. X                 return Absent;
  4398. X         else if (TypeOf (res) == Null)
  4399. X             return res;
  4400. X         
  4401. X         if (autobind && TypeOf (res) == Name && xCheck (res))
  4402. X          {
  4403. X             Object binding;
  4404. X             
  4405. X             binding = Load (res);
  4406. X             
  4407. X             if (TypeOf (binding) == Operator)
  4408. X                 res = binding;
  4409. X          }
  4410. X         item->item = res;
  4411. X         item->prev = p;
  4412. X         p = item;
  4413. X         ++length;
  4414. X      }
  4415. X    array = (Object *) Malloc ((unsigned) sizeof (Object) * length);
  4416. X    
  4417. X    for (i = length - 1; i >= 0; i--)
  4418. X     {
  4419. X         struct acc *prev = p->prev;
  4420. X         
  4421. X         array[i] = p->item;
  4422. X         Free ((char *)p);
  4423. X         p = prev;
  4424. X     }
  4425. X    PanicIf (p != NULL, "Something badly wrong in Array literal parser\n");
  4426. X    return Make (array, length);
  4427. X }
  4428. X
  4429. Xstatic int PArray (size) Object size;
  4430. X {
  4431. X    if (BodyInteger (size) < 0)
  4432. X        return Error (PRangeCheck);
  4433. X    else
  4434. X     {
  4435. X         int i, s = BodyInteger (size);
  4436. X         Object *body = (Object *) Malloc ((unsigned) sizeof (Object) * s);
  4437. X         
  4438. X         for (i = 0; i < s; i++)
  4439. X             body[i] = Nil;
  4440. X         return Push (OpStack, Make (body, s));
  4441. X     }
  4442. X }
  4443. X
  4444. Xstatic int PRBracket ()    /* [ a1 ... an --- array */
  4445. X {
  4446. X     int n = CountTo (Mark, OpStack);
  4447. X     
  4448. X     if (n < 0)
  4449. X         return Error (PUnMatched);
  4450. X     else
  4451. X      {
  4452. X          Object res;
  4453. X          
  4454. X         res = ArrayStore (n);
  4455. X         VOID Pop (OpStack);
  4456. X         return Push (OpStack, res);
  4457. X      }
  4458. X }
  4459. X
  4460. Xstatic int PAload (array) Object array;
  4461. X {
  4462. X     Object *body = Body (array);
  4463. X    int i, l = lengthArray (array);
  4464. X    
  4465. X    if (MaxStack (OpStack) - Height (OpStack) < l + 1)
  4466. X        return Error (POpOverflow);
  4467. X    else
  4468. X     {
  4469. X        for (i = 0; i < l; i++)
  4470. X            if (!Push (OpStack, body[i]))
  4471. X                break;
  4472. X        return Push (OpStack, array);
  4473. X     }
  4474. X }
  4475. X
  4476. Xstatic int PAstore (array) Object array;
  4477. X {
  4478. X    if (lengthArray (array) > Height (OpStack))
  4479. X         return Error (POpUnderflow);
  4480. X     else
  4481. X      {
  4482. X          Object *body = Body (array);
  4483. X          int i, l = lengthArray (array);
  4484. X          
  4485. X          for (i = l-1; i >= 0; i--)
  4486. X              body[i] = Pop (OpStack);
  4487. X          return Push (OpStack, array);
  4488. X      }
  4489. X }
  4490. X
  4491. Xstatic int PExecOnly (item) Object item;
  4492. X {
  4493. X     return Push (OpStack, ExecOnly (item));
  4494. X }
  4495. X
  4496. Xstatic int PReadOnly (item) Object item;
  4497. X {
  4498. X     return Push (OpStack, ReadOnly (item));
  4499. X }
  4500. X
  4501. Xstatic int PrCheck (v) Object v;
  4502. X {
  4503. X     return Push (OpStack, MakeBoolean (rCheck (v)));
  4504. X }
  4505. X
  4506. Xstatic int PwCheck (v) Object v;
  4507. X {
  4508. X     return Push (OpStack, MakeBoolean (wCheck (v)));
  4509. X }
  4510. END_OF_FILE
  4511. if test 9489 -ne `wc -c <'source/array.c'`; then
  4512.     echo shar: \"'source/array.c'\" unpacked with wrong size!
  4513. fi
  4514. # end of 'source/array.c'
  4515. fi
  4516. if test -f 'source/viewer.c' -a "${1}" != "-c" ; then 
  4517.   echo shar: Will not clobber existing file \"'source/viewer.c'\"
  4518. else
  4519. echo shar: Extracting \"'source/viewer.c'\" \(10083 characters\)
  4520. sed "s/^X//" >'source/viewer.c' <<'END_OF_FILE'
  4521. X/*
  4522. X * Copyright (C) Rutherford Appleton Laboratory 1987
  4523. X * 
  4524. X * This source may be copied, distributed, altered or used, but not sold for profit
  4525. X * or incorporated into a product except under licence from the author.
  4526. X * It is not in the public domain.
  4527. X * This notice should remain in the source unaltered, and any changes to the source
  4528. X * made by persons other than the author should be marked as such.
  4529. X * 
  4530. X *    Crispin Goswell @ Rutherford Appleton Laboratory caag@uk.ac.rl.vd
  4531. X */
  4532. X#include <stdio.h>
  4533. X#include <signal.h>
  4534. X
  4535. X#include "main.h"
  4536. X#include "graphics.h"
  4537. X#include "protocol.h"
  4538. X
  4539. X#define CHUNK 500
  4540. X
  4541. Xstruct hardware **hards, *get_hard ();
  4542. Xchar *malloc (), *realloc ();
  4543. Xvoid set_hard ();
  4544. X
  4545. Xint nhard = 0;
  4546. X
  4547. XColour Black, White;
  4548. X
  4549. Xint monitor;
  4550. X
  4551. Xmain (argc, argv) int argc; char **argv;
  4552. X {
  4553. X     int c;
  4554. X     struct hardware *res;
  4555. X     DevicePoint ex;
  4556. X     
  4557. X     signal (SIGINT, SIG_IGN);
  4558. X     
  4559. X     monitor = !strcmp (argv[0], "monitor");
  4560. X     
  4561. X     if (monitor)
  4562. X         fprintf (stderr, "Monitoring\n");
  4563. X     slave_protocol ();
  4564. X      Black = NewColour (0.0, 0.0, 0.0);
  4565. X      White = NewColour (0.0, 0.0, 1.0);
  4566. X    
  4567. X     hards = (struct hardware **) malloc (sizeof (struct hardware *) * CHUNK);
  4568. X     nhard = CHUNK;
  4569. X     (void) set_hard (1, res = InitHardware ());
  4570. X     ex = HardwareExtent (res);
  4571. X     send_short (ex.dx);
  4572. X     send_short (ex.dy);
  4573. X     flush_protocol ();
  4574. X     
  4575. X    while ((c = recv_byte ()) != 255)
  4576. X     {
  4577. X         if (monitor)
  4578. X             fprintf (stderr, "command = %d\n", c);
  4579. X        switch (c)
  4580. X         {
  4581. X             case NEW_WINDOW:     DoNewWindow ();     break;
  4582. X             case NEW_BITMAP:     DoNewBitmap ();     break;
  4583. X             case BITBLT:        DoBitBlt ();         break;
  4584. X             case PAINT:        DoPaint ();         break;
  4585. X             case SEND_BITMAP:    DoSendBitmap ();     break;
  4586. X             case GET_BITMAP:    DoGetBitmap ();     break;
  4587. X             case DESTROY_HARDWARE:    DoDestroyHardware ();     break;
  4588. X             case GET_MATRIX:    DoGetMatrix ();     break;
  4589. X             case LINE:        DoLine ();         break;
  4590. X             case PAINT_LINE:    DoPaintLine ();     break;
  4591. X             case GET_TRANSFERSIZE:    DoGetTransferSize ();     break;
  4592. X             case SET_TRANSFER:    DoSetTransfer ();     break;
  4593. X            case HARD_FLUSH:    HardUpdate ();        break;
  4594. X            case SCREEN_SIZE:    DoScreenSize ();    break;
  4595. X            case BUILD_SCREEN:    DoBuildScreen ();    break;
  4596. X            case SET_SCREEN:    DoSetScreen ();        break;
  4597. X            case SET_CLIP_HARDWARE:    DoSetClipHardware ();    break;
  4598. X             case BITBLT_TRAPEZOID:    DoBitBltTrapezoid ();    break;
  4599. X             case PAINT_TRAPEZOID:    DoPaintTrapezoid ();    break;
  4600. X             case SET_UPDATE_CONTROL:DoSetUpdateControl ();    break;
  4601. X             
  4602. X             default:
  4603. X                 fprintf (stderr, "Unknown request type %d\n", c);
  4604. X                 exit (1);
  4605. X         }
  4606. X     }
  4607. X }
  4608. X
  4609. XDoNewWindow ()
  4610. X {
  4611. X     int h = recv_hardware ();
  4612. X     int width = recv_short ();
  4613. X     int height = recv_short ();
  4614. X     
  4615. X     if (monitor)
  4616. X         fprintf (stderr, "%d = NewWindowHardware (%d, %d)\n", h, width, height);
  4617. X    set_hard (h, NewWindowHardware (width, height));
  4618. X }
  4619. X
  4620. XDoNewBitmap ()
  4621. X {
  4622. X     int h = recv_hardware ();
  4623. X     int width = recv_short ();
  4624. X     int height = recv_short ();
  4625. X     
  4626. X     if (monitor)
  4627. X         fprintf (stderr, "%d = NewBitmapHardware (%d, %d)\n", h, width, height);
  4628. X     set_hard (h, NewBitmapHardware (width, height));
  4629. X }
  4630. X
  4631. XDoBitBlt ()
  4632. X {
  4633. X     int rop, f, t;
  4634. X     DevicePoint fromPoint, toPoint, extent;
  4635. X     struct hardware *from = get_hard (f = recv_hardware ());
  4636. X     struct hardware *to = get_hard (t = recv_hardware ());
  4637. X    
  4638. X    fromPoint = recv_point ();
  4639. X    toPoint = recv_point ();
  4640. X    extent = recv_point ();
  4641. X    rop = recv_byte ();
  4642. X    
  4643. X     if (monitor)
  4644. X         fprintf (stderr, "BitBlt (%d, %d, (%d, %d), (%d, %d), (%d, %d), %d)\n",
  4645. X         f, t,
  4646. X         fromPoint.dx, fromPoint.dy, toPoint.dx, toPoint.dy,
  4647. X         extent.dx, extent.dy,
  4648. X         rop);
  4649. X    BitBlt (from, to, fromPoint, toPoint, extent, rop);
  4650. X }
  4651. X
  4652. XDoPaint ()
  4653. X {
  4654. X     int f, t;
  4655. X     Colour colour;
  4656. X     DevicePoint fromPoint, toPoint, extent;
  4657. X     struct hardware *from = get_hard (f = recv_hardware ());
  4658. X     struct hardware *to = get_hard (t = recv_hardware ());
  4659. X    
  4660. X    fromPoint = recv_point ();
  4661. X    toPoint = recv_point ();
  4662. X    extent = recv_point ();
  4663. X    colour = recv_colour ();
  4664. X    
  4665. X     if (monitor)
  4666. X         fprintf (stderr, "Paint (%d, %d, (%d, %d), (%d, %d), (%d, %d), [%g, %g, %g])\n",
  4667. X         f, t,
  4668. X         fromPoint.dx, fromPoint.dy, toPoint.dx, toPoint.dy,
  4669. X         extent.dx, extent.dy,
  4670. X         colour.hue, colour.saturation, colour.brightness);
  4671. X    Paint (from, to, fromPoint, toPoint, extent, colour);
  4672. X }
  4673. X
  4674. Xint size (width, height) int width, height;
  4675. X {
  4676. X     return (width + 7) / 8 * height;
  4677. X }
  4678. X
  4679. XDoSendBitmap ()        /* actually receives this end */
  4680. X {
  4681. X     int h = recv_hardware ();
  4682. X     int width = recv_short ();
  4683. X     int height = recv_short ();
  4684. X    int len = size (width, height);
  4685. X     char *s;
  4686. X     
  4687. X     recv_string ((s = malloc (len)), len);
  4688. X     if (monitor)
  4689. X         fprintf (stderr, "%d = HardwareFromString (<string>, %d, %d)\n", h, width, height);
  4690. X     set_hard (h, HardwareFromString (s, width, height));
  4691. X     free (s);
  4692. X }
  4693. X
  4694. XDoGetBitmap ()
  4695. X {
  4696. X     struct hardware *h = get_hard (recv_hardware ());
  4697. X     char *s = StringFromHardware (h);
  4698. X     DevicePoint ex;
  4699. X     
  4700. X     ex = HardwareExtent (h);
  4701. X     
  4702. X     if (monitor)
  4703. X         fprintf (stderr, "StringFromHardware (%d)\n", h);
  4704. X     send_string (s, size (ex.dx, ex.dy));
  4705. X     flush_protocol ();
  4706. X     free (s);
  4707. X }
  4708. X
  4709. XDoDestroyHardware ()
  4710. X {
  4711. X     int n = recv_hardware ();
  4712. X     
  4713. X     if (monitor)
  4714. X         fprintf (stderr, "DestroyHardware (%d)\n", n);
  4715. X     DestroyHardware (get_hard (n));
  4716. X     set_hard (n, NULL);
  4717. X }
  4718. X
  4719. XDoGetMatrix ()
  4720. X {
  4721. X    int width = recv_short ();
  4722. X    int height = recv_short ();
  4723. X    Matrix m;
  4724. X    
  4725. X     if (monitor)
  4726. X         fprintf (stderr, "DeviceMatrix (%d, %d)\n", width, height);
  4727. X    m = DeviceMatrix (width, height);
  4728. X    send_float (m.A);
  4729. X    send_float (m.B);
  4730. X    send_float (m.C);
  4731. X    send_float (m.D);
  4732. X    send_float (m.tx);
  4733. X    send_float (m.ty);
  4734. X    flush_protocol ();
  4735. X }
  4736. X
  4737. XDoLine ()
  4738. X {
  4739. X     DevicePoint fromPoint, toPoint;
  4740. X     int rop;
  4741. X     struct hardware *h = get_hard (recv_hardware ());
  4742. X     
  4743. X    fromPoint = recv_point ();
  4744. X    toPoint = recv_point ();
  4745. X    rop = recv_byte ();
  4746. X    
  4747. X     if (monitor)
  4748. X         fprintf (stderr, "BitBltLine ((%d, %d), (%d, %d), %d)\n",
  4749. X         fromPoint.dx, fromPoint.dy, toPoint.dx, toPoint.dy,
  4750. X         rop);
  4751. X    BitBltLine (h, fromPoint, toPoint, rop);
  4752. X }
  4753. X
  4754. XDoPaintLine ()
  4755. X {
  4756. X     DevicePoint fromPoint, toPoint;
  4757. X     Colour colour;
  4758. X     struct hardware *h = get_hard (recv_hardware ());
  4759. X     
  4760. X    fromPoint = recv_point ();
  4761. X    toPoint = recv_point ();
  4762. X    colour = recv_colour ();
  4763. X    
  4764. X     if (monitor)
  4765. X         fprintf (stderr, "PaintLine ((%d, %d), (%d, %d), [%g, %g, %g])\n",
  4766. X         fromPoint.dx, fromPoint.dy, toPoint.dx, toPoint.dy,
  4767. X         colour.hue, colour.saturation, colour.brightness);
  4768. X    PaintLine (h, fromPoint, toPoint, colour);
  4769. X }
  4770. X
  4771. Xint recv_hardware ()
  4772. X {
  4773. X     return recv_short ();
  4774. X }
  4775. X
  4776. Xstruct hardware *get_hard (h) int h;
  4777. X {
  4778. X     if (nhard <= h)
  4779. X      {
  4780. X         fprintf (stderr, "%d is not a valid device\n", h);
  4781. X         return NULL;
  4782. X      }
  4783. X     return hards [h];
  4784. X }
  4785. X
  4786. Xvoid set_hard (n, h) int n; struct hardware *h;
  4787. X {
  4788. X     if (nhard <= n)
  4789. X        hards = (struct hardware **) realloc ((char *) hards, sizeof (struct hardware *) * (nhard += CHUNK));
  4790. X     hards [n] = h;
  4791. X }
  4792. X
  4793. Xint Max (a, b) int a, b;
  4794. X {
  4795. X     return a > b ? a : b;
  4796. X }
  4797. X
  4798. Xint Min (a, b) int a, b;
  4799. X {
  4800. X     return a < b ? a : b;
  4801. X }
  4802. X
  4803. XMatrix NewMatrix (a, b, c, d, e, f) float a, b, c, d, e, f;
  4804. X {
  4805. X     Matrix res;
  4806. X     
  4807. X     res.A = a; res.B = b; res.C = c; res.D = d; res.tx = e; res.ty = f;
  4808. X     
  4809. X     return res;
  4810. X }
  4811. X
  4812. Xchar *Malloc (i) unsigned i;
  4813. X {
  4814. X     return malloc (i);
  4815. X }
  4816. X
  4817. XFree (s) char *s;
  4818. X {
  4819. X     free (s);
  4820. X }
  4821. X
  4822. Xunsigned char *Bcopy (to, from, count) unsigned char *from, *to; int count;
  4823. X {
  4824. X     unsigned char *res = to;
  4825. X     
  4826. X     while (count --)
  4827. X         *to++ = *from++;
  4828. X     
  4829. X     return res;
  4830. X }
  4831. X
  4832. XPanicIf (flag, s) int flag; char *s;
  4833. X {
  4834. X     if (flag)
  4835. X         fprintf (stderr, "Viewer panic: %s\n", s),
  4836. X         exit (1);
  4837. X }
  4838. X
  4839. XDevicePoint NewDevicePoint (x, y) int x, y;
  4840. X {
  4841. X     DevicePoint res;
  4842. X     
  4843. X     res.dx = x; res.dy = y;
  4844. X     
  4845. X     return res;
  4846. X }
  4847. X
  4848. XColour NewColour (h, s, b) float h, s, b;
  4849. X {
  4850. X     Colour res;
  4851. X     
  4852. X     res.hue = h;
  4853. X     res.saturation = s;
  4854. X     res.brightness = b;
  4855. X     
  4856. X     return res;
  4857. X }
  4858. X
  4859. XDoGetTransferSize ()
  4860. X {
  4861. X     send_short (TransferSize ());
  4862. X     flush_protocol ();
  4863. X }
  4864. X
  4865. XDoSetTransfer ()
  4866. X {
  4867. X     int i, size = TransferSize ();
  4868. X     float *val = (float *) malloc (sizeof (float) * size);
  4869. X     
  4870. X     for (i = 0; i < size; i++)
  4871. X         val [i] = recv_small ();
  4872. X     
  4873. X     SetTransfer (val);
  4874. X     Free ((char *) val);
  4875. X }
  4876. X
  4877. XDoScreenSize ()
  4878. X {
  4879. X     float freq = recv_float (), rotation = recv_float ();
  4880. X     
  4881. X     send_short (ScreenSize (freq, rotation));
  4882. X     flush_protocol ();
  4883. X }
  4884. X
  4885. XDoBuildScreen ()
  4886. X {
  4887. X     float freq = recv_float (), rotation = recv_float ();
  4888. X     int i, size = ScreenSize (freq, rotation);
  4889. X     float *x, *y;
  4890. X     
  4891. X     send_short (size);
  4892. X     x = (float *) malloc (sizeof (float) * size);
  4893. X     y = (float *) malloc (sizeof (float) * size);
  4894. X     
  4895. X     BuildScreen (freq, rotation, x, y);
  4896. X     for (i = 0; i < size; i++)
  4897. X          send_small (x[i]),
  4898. X          send_small (y[i]);
  4899. X     flush_protocol ();
  4900. X     free ((char *) x);
  4901. X     free ((char *) y);
  4902. X }
  4903. X
  4904. XDoSetScreen ()
  4905. X {
  4906. X     float freq = recv_float (), rotation = recv_float ();
  4907. X      int i, size = ScreenSize (freq, rotation);
  4908. X    float *th = (float *) malloc (sizeof (float) * size);
  4909. X    
  4910. X    for (i = 0; i < size; i++)
  4911. X        th[i] = recv_small ();
  4912. X    SetScreen (freq, rotation, th);
  4913. X    free ((char *) th);
  4914. X }
  4915. X
  4916. XDoSetClipHardware ()
  4917. X {
  4918. X     struct hardware *h = get_hard (recv_hardware ());
  4919. X     
  4920. X     if (monitor)
  4921. X         fprintf (stderr, "SetClipHardware ()\n");
  4922. X    SetClipHardware (h, get_hard (recv_hardware ()));
  4923. X }
  4924. X
  4925. XDoBitBltTrapezoid ()
  4926. X {
  4927. X     DevicePoint lefttop, leftbottom, righttop, rightbottom;
  4928. X     int top, bottom, rop;
  4929. X     struct hardware *h = get_hard (recv_hardware ());
  4930. X     
  4931. X     lefttop = recv_point ();
  4932. X     leftbottom = recv_point ();
  4933. X     righttop = recv_point ();
  4934. X     rightbottom = recv_point ();
  4935. X     top = recv_short ();
  4936. X     bottom = recv_short ();
  4937. X     rop = recv_byte ();
  4938. X     
  4939. X     if (monitor)
  4940. X         fprintf (stderr, "BitBltTrapezoid ()\n");
  4941. X     BitBltTrapezoid (h, lefttop, leftbottom, righttop, rightbottom, rop);
  4942. X }
  4943. X
  4944. XDoPaintTrapezoid ()
  4945. X {
  4946. X     DevicePoint lefttop, leftbottom, righttop, rightbottom;
  4947. X     int top, bottom;
  4948. X     Colour colour;
  4949. X     struct hardware *h = get_hard (recv_hardware ());
  4950. X     
  4951. X     lefttop = recv_point ();
  4952. X     leftbottom = recv_point ();
  4953. X     righttop = recv_point ();
  4954. X     rightbottom = recv_point ();
  4955. X     top = recv_short ();
  4956. X     bottom = recv_short ();
  4957. X     colour = recv_colour ();
  4958. X     
  4959. X      if (monitor)
  4960. X         fprintf (stderr, "PaintTrapezoid ()\n");
  4961. X    PaintTrapezoid (h, lefttop, leftbottom, righttop, rightbottom, top, bottom, colour);
  4962. X }
  4963. X
  4964. XDoSetUpdateControl ()
  4965. X {
  4966. X     struct hardware *h = get_hard (recv_hardware ());
  4967. X     UpdateControl (h, recv_byte ());
  4968. X }
  4969. END_OF_FILE
  4970. if test 10083 -ne `wc -c <'source/viewer.c'`; then
  4971.     echo shar: \"'source/viewer.c'\" unpacked with wrong size!
  4972. fi
  4973. # end of 'source/viewer.c'
  4974. fi
  4975. echo shar: End of archive 7 \(of 18\).
  4976. cp /dev/null ark7isdone
  4977. MISSING=""
  4978. for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 ; do
  4979.     if test ! -f ark${I}isdone ; then
  4980.     MISSING="${MISSING} ${I}"
  4981.     fi
  4982. done
  4983. if test "${MISSING}" = "" ; then
  4984.     echo You have unpacked all 18 archives.
  4985.     rm -f ark[1-9]isdone ark[1-9][0-9]isdone
  4986. else
  4987.     echo You still need to unpack the following archives:
  4988.     echo "        " ${MISSING}
  4989. fi
  4990. ##  End of shell archive.
  4991. exit 0
  4992.