home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / x / volume8 / xfig2.8 / part14 < prev    next >
SHell self-extracting ARchive  |  1990-07-03  |  44.7 KB

view JSON data     |     view as text     |     open on a Mac     |     open on a PC

This file was processed as: SHell self-extracting ARchive (archive/shar).

You can browse this item here: part14

ConfidenceProgramDetectionMatch TypeSupport
100% dexvert Newsgroup Content (archive/news) magic Supported
100% dexvert SHell self-extracting ARchive (archive/shar) magic Supported
1% dexvert Text File (text/txt) fallback Supported
100% file news text default
99% file C source, ASCII text default
100% checkBytes Printable ASCII default
100% dexmagic PrintFox/Pagefox WEAK default
100% perlTextCheck Likely Text (Perl) default
100% siegfried fmt/329 Shell Archive Format default
100% detectItEasy Format: plain text[LF] default (weak)
100% xdgMime message/news default



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 50 61 74 68 3a 20 75 75 | 6e 65 74 21 63 73 2e 75 |Path: uu|net!cs.u|
|00000010| 74 65 78 61 73 2e 65 64 | 75 21 73 75 6e 2d 62 61 |texas.ed|u!sun-ba|
|00000020| 72 72 21 6e 65 77 73 74 | 6f 70 21 73 75 6e 21 65 |rr!newst|op!sun!e|
|00000030| 70 62 32 2e 6c 62 6c 2e | 67 6f 76 0a 46 72 6f 6d |pb2.lbl.|gov.From|
|00000040| 3a 20 65 6e 76 62 76 73 | 40 65 70 62 32 2e 6c 62 |: envbvs|@epb2.lb|
|00000050| 6c 2e 67 6f 76 20 28 42 | 72 69 61 6e 20 56 2e 20 |l.gov (B|rian V. |
|00000060| 53 6d 69 74 68 29 0a 4e | 65 77 73 67 72 6f 75 70 |Smith).N|ewsgroup|
|00000070| 73 3a 20 63 6f 6d 70 2e | 73 6f 75 72 63 65 73 2e |s: comp.|sources.|
|00000080| 78 0a 53 75 62 6a 65 63 | 74 3a 20 76 30 38 69 30 |x.Subjec|t: v08i0|
|00000090| 32 33 3a 20 78 66 69 67 | 20 2d 2d 20 58 20 44 72 |23: xfig| -- X Dr|
|000000a0| 61 77 69 6e 67 20 54 6f | 6f 6c 2c 20 50 61 72 74 |awing To|ol, Part|
|000000b0| 31 34 2f 32 31 0a 4d 65 | 73 73 61 67 65 2d 49 44 |14/21.Me|ssage-ID|
|000000c0| 3a 20 3c 31 33 38 33 30 | 30 40 73 75 6e 2e 45 6e |: <13830|0@sun.En|
|000000d0| 67 2e 53 75 6e 2e 43 4f | 4d 3e 0a 44 61 74 65 3a |g.Sun.CO|M>.Date:|
|000000e0| 20 33 20 4a 75 6c 20 39 | 30 20 31 38 3a 30 31 3a | 3 Jul 9|0 18:01:|
|000000f0| 34 33 20 47 4d 54 0a 53 | 65 6e 64 65 72 3a 20 6e |43 GMT.S|ender: n|
|00000100| 65 77 73 40 73 75 6e 2e | 45 6e 67 2e 53 75 6e 2e |ews@sun.|Eng.Sun.|
|00000110| 43 4f 4d 0a 4c 69 6e 65 | 73 3a 20 31 35 35 31 0a |COM.Line|s: 1551.|
|00000120| 41 70 70 72 6f 76 65 64 | 3a 20 61 72 67 76 40 73 |Approved|: argv@s|
|00000130| 75 6e 2e 63 6f 6d 0a 0a | 53 75 62 6d 69 74 74 65 |un.com..|Submitte|
|00000140| 64 2d 62 79 3a 20 65 6e | 76 62 76 73 40 65 70 62 |d-by: en|vbvs@epb|
|00000150| 32 2e 6c 62 6c 2e 67 6f | 76 20 28 42 72 69 61 6e |2.lbl.go|v (Brian|
|00000160| 20 56 2e 20 53 6d 69 74 | 68 29 0a 50 6f 73 74 69 | V. Smit|h).Posti|
|00000170| 6e 67 2d 6e 75 6d 62 65 | 72 3a 20 56 6f 6c 75 6d |ng-numbe|r: Volum|
|00000180| 65 20 38 2c 20 49 73 73 | 75 65 20 32 33 0a 41 72 |e 8, Iss|ue 23.Ar|
|00000190| 63 68 69 76 65 2d 6e 61 | 6d 65 3a 20 78 66 69 67 |chive-na|me: xfig|
|000001a0| 32 2e 38 2f 70 61 72 74 | 31 34 0a 0a 23 21 20 2f |2.8/part|14..#! /|
|000001b0| 62 69 6e 2f 73 68 0a 23 | 20 54 68 69 73 20 69 73 |bin/sh.#| This is|
|000001c0| 20 61 20 73 68 65 6c 6c | 20 61 72 63 68 69 76 65 | a shell| archive|
|000001d0| 2e 20 20 52 65 6d 6f 76 | 65 20 61 6e 79 74 68 69 |. Remov|e anythi|
|000001e0| 6e 67 20 62 65 66 6f 72 | 65 20 74 68 69 73 20 6c |ng befor|e this l|
|000001f0| 69 6e 65 2c 20 74 68 65 | 6e 20 75 6e 70 61 63 6b |ine, the|n unpack|
|00000200| 0a 23 20 69 74 20 62 79 | 20 73 61 76 69 6e 67 20 |.# it by| saving |
|00000210| 69 74 20 69 6e 74 6f 20 | 61 20 66 69 6c 65 20 61 |it into |a file a|
|00000220| 6e 64 20 74 79 70 69 6e | 67 20 22 73 68 20 66 69 |nd typin|g "sh fi|
|00000230| 6c 65 22 2e 20 20 54 6f | 20 6f 76 65 72 77 72 69 |le". To| overwri|
|00000240| 74 65 20 65 78 69 73 74 | 69 6e 67 0a 23 20 66 69 |te exist|ing.# fi|
|00000250| 6c 65 73 2c 20 74 79 70 | 65 20 22 73 68 20 66 69 |les, typ|e "sh fi|
|00000260| 6c 65 20 2d 63 22 2e 20 | 20 59 6f 75 20 63 61 6e |le -c". | You can|
|00000270| 20 61 6c 73 6f 20 66 65 | 65 64 20 74 68 69 73 20 | also fe|ed this |
|00000280| 61 73 20 73 74 61 6e 64 | 61 72 64 20 69 6e 70 75 |as stand|ard inpu|
|00000290| 74 20 76 69 61 0a 23 20 | 75 6e 73 68 61 72 2c 20 |t via.# |unshar, |
|000002a0| 6f 72 20 62 79 20 74 79 | 70 69 6e 67 20 22 73 68 |or by ty|ping "sh|
|000002b0| 20 3c 66 69 6c 65 22 2c | 20 65 2e 67 2e 2e 20 20 | <file",| e.g.. |
|000002c0| 49 66 20 74 68 69 73 20 | 61 72 63 68 69 76 65 20 |If this |archive |
|000002d0| 69 73 20 63 6f 6d 70 6c | 65 74 65 2c 20 79 6f 75 |is compl|ete, you|
|000002e0| 0a 23 20 77 69 6c 6c 20 | 73 65 65 20 74 68 65 20 |.# will |see the |
|000002f0| 66 6f 6c 6c 6f 77 69 6e | 67 20 6d 65 73 73 61 67 |followin|g messag|
|00000300| 65 20 61 74 20 74 68 65 | 20 65 6e 64 3a 0a 23 09 |e at the| end:.#.|
|00000310| 09 22 45 6e 64 20 6f 66 | 20 61 72 63 68 69 76 65 |."End of| archive|
|00000320| 20 31 34 20 28 6f 66 20 | 32 31 29 2e 22 0a 23 20 | 14 (of |21).".# |
|00000330| 43 6f 6e 74 65 6e 74 73 | 3a 20 20 66 32 70 73 2e |Contents|: f2ps.|
|00000340| 63 20 78 66 69 67 2e 6d | 61 6e 0a 23 20 57 72 61 |c xfig.m|an.# Wra|
|00000350| 70 70 65 64 20 62 79 20 | 65 6e 76 62 76 73 40 65 |pped by |envbvs@e|
|00000360| 70 62 32 2e 6c 62 6c 2e | 67 6f 76 20 6f 6e 20 54 |pb2.lbl.|gov on T|
|00000370| 68 75 20 4a 75 6e 20 32 | 38 20 30 38 3a 35 32 3a |hu Jun 2|8 08:52:|
|00000380| 35 36 20 31 39 39 30 0a | 50 41 54 48 3d 2f 62 69 |56 1990.|PATH=/bi|
|00000390| 6e 3a 2f 75 73 72 2f 62 | 69 6e 3a 2f 75 73 72 2f |n:/usr/b|in:/usr/|
|000003a0| 75 63 62 20 3b 20 65 78 | 70 6f 72 74 20 50 41 54 |ucb ; ex|port PAT|
|000003b0| 48 0a 69 66 20 74 65 73 | 74 20 2d 66 20 27 66 32 |H.if tes|t -f 'f2|
|000003c0| 70 73 2e 63 27 20 2d 61 | 20 22 24 7b 31 7d 22 20 |ps.c' -a| "${1}" |
|000003d0| 21 3d 20 22 2d 63 22 20 | 3b 20 74 68 65 6e 20 0a |!= "-c" |; then .|
|000003e0| 20 20 65 63 68 6f 20 73 | 68 61 72 3a 20 57 69 6c | echo s|har: Wil|
|000003f0| 6c 20 6e 6f 74 20 63 6c | 6f 62 62 65 72 20 65 78 |l not cl|obber ex|
|00000400| 69 73 74 69 6e 67 20 66 | 69 6c 65 20 5c 22 27 66 |isting f|ile \"'f|
|00000410| 32 70 73 2e 63 27 5c 22 | 0a 65 6c 73 65 0a 65 63 |2ps.c'\"|.else.ec|
|00000420| 68 6f 20 73 68 61 72 3a | 20 45 78 74 72 61 63 74 |ho shar:| Extract|
|00000430| 69 6e 67 20 5c 22 27 66 | 32 70 73 2e 63 27 5c 22 |ing \"'f|2ps.c'\"|
|00000440| 20 5c 28 32 30 34 30 38 | 20 63 68 61 72 61 63 74 | \(20408| charact|
|00000450| 65 72 73 5c 29 0a 73 65 | 64 20 22 73 2f 5e 58 2f |ers\).se|d "s/^X/|
|00000460| 2f 22 20 3e 27 66 32 70 | 73 2e 63 27 20 3c 3c 27 |/" >'f2p|s.c' <<'|
|00000470| 45 4e 44 5f 4f 46 5f 46 | 49 4c 45 27 0a 58 2f 2a |END_OF_F|ILE'.X/*|
|00000480| 20 0a 58 20 2a 09 46 32 | 70 73 20 3a 20 46 69 67 | .X *.F2|ps : Fig|
|00000490| 2d 74 6f 2d 50 6f 73 74 | 53 63 72 69 70 74 20 74 |-to-Post|Script t|
|000004a0| 72 61 6e 73 6c 61 74 6f | 72 0a 58 20 2a 0a 58 20 |ranslato|r.X *.X |
|000004b0| 2a 09 43 6f 70 79 72 69 | 67 68 74 20 28 63 29 20 |*.Copyri|ght (c) |
|000004c0| 31 39 38 36 20 62 79 20 | 53 75 70 6f 6a 20 53 75 |1986 by |Supoj Su|
|000004d0| 74 61 6e 74 68 61 76 69 | 62 75 6c 20 28 73 75 70 |tanthavi|bul (sup|
|000004e0| 6f 6a 40 73 61 6c 6c 79 | 2e 55 54 45 58 41 53 2e |oj@sally|.UTEXAS.|
|000004f0| 45 44 55 29 0a 58 20 2a | 09 4a 75 6e 65 20 31 39 |EDU).X *|.June 19|
|00000500| 38 36 2e 0a 58 20 2a 09 | 31 73 74 20 72 65 76 69 |86..X *.|1st revi|
|00000510| 73 69 6f 6e 20 3a 20 4d | 61 72 63 68 20 31 39 38 |sion : M|arch 198|
|00000520| 38 20 2d 20 72 65 61 64 | 20 66 69 67 20 31 2e 34 |8 - read| fig 1.4|
|00000530| 20 6f 72 20 31 2e 34 58 | 20 66 6f 72 6d 61 74 0a | or 1.4X| format.|
|00000540| 58 20 2a 0a 58 20 2a 09 | 56 65 72 73 69 6f 6e 20 |X *.X *.|Version |
|00000550| 32 2e 30 20 61 64 64 69 | 74 69 6f 6e 73 20 28 70 |2.0 addi|tions (p|
|00000560| 72 6f 74 6f 63 6f 6c 20 | 31 2e 34 58 29 20 62 79 |rotocol |1.4X) by|
|00000570| 20 42 2e 56 2e 20 53 6d | 69 74 68 20 32 2f 39 30 | B.V. Sm|ith 2/90|
|00000580| 0a 58 20 2a 0a 58 20 2a | 09 25 57 25 09 25 47 25 |.X *.X *|.%W%.%G%|
|00000590| 0a 58 2a 2f 0a 58 23 69 | 6e 63 6c 75 64 65 20 22 |.X*/.X#i|nclude "|
|000005a0| 66 69 67 2e 68 22 0a 58 | 23 69 6e 63 6c 75 64 65 |fig.h".X|#include|
|000005b0| 20 22 6f 62 6a 65 63 74 | 2e 68 22 0a 58 23 69 6e | "object|.h".X#in|
|000005c0| 63 6c 75 64 65 20 22 72 | 65 73 6f 75 72 63 65 73 |clude "r|esources|
|000005d0| 2e 68 22 0a 58 23 69 6e | 63 6c 75 64 65 20 22 70 |.h".X#in|clude "p|
|000005e0| 73 66 6f 6e 74 73 2e 68 | 22 0a 58 0a 58 23 64 65 |sfonts.h|".X.X#de|
|000005f0| 66 69 6e 65 09 09 50 41 | 47 45 5f 57 49 44 54 48 |fine..PA|GE_WIDTH|
|00000600| 09 09 36 31 32 09 2f 2a | 20 70 6f 69 6e 74 73 3b |..612./*| points;|
|00000610| 20 38 2e 35 22 20 2a 2f | 0a 58 23 64 65 66 69 6e | 8.5" */|.X#defin|
|00000620| 65 09 09 50 41 47 45 5f | 48 45 49 47 48 54 09 09 |e..PAGE_|HEIGHT..|
|00000630| 37 39 32 09 2f 2a 20 70 | 6f 69 6e 74 73 3b 20 31 |792./* p|oints; 1|
|00000640| 31 22 20 2a 2f 0a 58 23 | 64 65 66 69 6e 65 09 09 |1" */.X#|define..|
|00000650| 50 4f 49 4e 54 5f 50 45 | 52 5f 49 4e 43 48 09 09 |POINT_PE|R_INCH..|
|00000660| 37 32 0a 58 23 64 65 66 | 69 6e 65 09 09 44 45 46 |72.X#def|ine..DEF|
|00000670| 41 55 4c 54 5f 46 4f 4e | 54 5f 53 49 5a 45 09 31 |AULT_FON|T_SIZE.1|
|00000680| 31 0a 58 23 64 65 66 69 | 6e 65 09 09 44 45 46 41 |1.X#defi|ne..DEFA|
|00000690| 55 4c 54 5f 46 4f 4e 54 | 09 09 22 54 69 6d 65 73 |ULT_FONT|.."Times|
|000006a0| 2d 52 6f 6d 61 6e 22 0a | 58 0a 58 65 78 74 65 72 |-Roman".|X.Xexter|
|000006b0| 6e 09 73 74 72 75 63 74 | 20 5f 66 73 74 72 75 63 |n.struct| _fstruc|
|000006c0| 74 20 66 6f 6e 74 6e 61 | 6d 65 73 5b 5d 3b 09 2f |t fontna|mes[];./|
|000006d0| 2a 20 70 72 69 6e 74 65 | 72 20 66 6f 6e 74 20 6e |* printe|r font n|
|000006e0| 61 6d 65 73 20 2a 2f 0a | 58 0a 58 63 68 61 72 09 |ames */.|X.Xchar.|
|000006f0| 09 55 73 61 67 65 5b 5d | 20 3d 20 22 55 73 61 67 |.Usage[]| = "Usag|
|00000700| 65 3a 20 25 73 20 5b 2d | 50 5d 5b 2d 4c 5d 5b 2d |e: %s [-|P][-L][-|
|00000710| 66 20 66 6f 6e 74 5d 5b | 2d 73 20 73 69 7a 65 5d |f font][|-s size]|
|00000720| 5b 2d 65 20 73 63 61 6c | 65 5d 5b 2d 4e 5d 5b 2d |[-e scal|e][-N][-|
|00000730| 63 5d 20 5b 69 6e 70 75 | 74 20 5b 6f 75 74 70 75 |c] [inpu|t [outpu|
|00000740| 74 5d 5d 5c 6e 22 3b 0a | 58 63 68 61 72 09 09 2a |t]]\n";.|Xchar..*|
|00000750| 70 72 6f 67 3b 0a 58 63 | 68 61 72 09 09 2a 66 6f |prog;.Xc|har..*fo|
|00000760| 6e 74 20 3d 20 44 45 46 | 41 55 4c 54 5f 46 4f 4e |nt = DEF|AULT_FON|
|00000770| 54 3b 0a 58 69 6e 74 09 | 09 66 6f 6e 74 5f 73 69 |T;.Xint.|.font_si|
|00000780| 7a 65 20 3d 20 44 45 46 | 41 55 4c 54 5f 46 4f 4e |ze = DEF|AULT_FON|
|00000790| 54 5f 53 49 5a 45 3b 0a | 58 69 6e 74 09 09 63 75 |T_SIZE;.|Xint..cu|
|000007a0| 72 5f 74 68 69 63 6b 6e | 65 73 73 3b 0a 58 69 6e |r_thickn|ess;.Xin|
|000007b0| 74 09 09 63 75 72 5f 61 | 72 65 61 66 69 6c 6c 3d |t..cur_a|reafill=|
|000007c0| 30 3b 0a 58 69 6e 74 09 | 09 73 68 6f 77 5f 70 61 |0;.Xint.|.show_pa|
|000007d0| 67 65 20 3d 20 31 3b 0a | 58 69 6e 74 09 09 63 65 |ge = 1;.|Xint..ce|
|000007e0| 6e 74 65 72 20 3d 20 30 | 3b 0a 58 69 6e 74 09 09 |nter = 0|;.Xint..|
|000007f0| 6c 61 6e 64 73 63 61 70 | 65 20 3d 20 31 3b 0a 58 |landscap|e = 1;.X|
|00000800| 64 6f 75 62 6c 65 09 09 | 73 63 61 6c 65 20 3d 20 |double..|scale = |
|00000810| 31 2e 30 3b 0a 58 64 6f | 75 62 6c 65 09 09 72 65 |1.0;.Xdo|uble..re|
|00000820| 64 75 63 74 69 6f 6e 3b | 09 2f 2a 20 63 6f 6e 76 |duction;|./* conv|
|00000830| 65 72 74 73 20 73 63 72 | 65 65 6e 20 70 70 69 20 |erts scr|een ppi |
|00000840| 74 6f 20 70 72 69 6e 74 | 65 72 20 70 6f 69 6e 74 |to print|er point|
|00000850| 73 20 2a 2f 0a 58 65 78 | 74 65 72 6e 20 69 6e 74 |s */.Xex|tern int|
|00000860| 09 6e 75 6d 5f 6f 62 6a | 65 63 74 3b 0a 58 63 68 |.num_obj|ect;.Xch|
|00000870| 61 72 09 09 2a 66 72 6f | 6d 20 3d 20 4e 55 4c 4c |ar..*fro|m = NULL|
|00000880| 2c 20 2a 74 6f 20 3d 20 | 4e 55 4c 4c 3b 0a 58 46 |, *to = |NULL;.XF|
|00000890| 49 4c 45 09 09 2a 74 66 | 70 20 3d 20 4e 55 4c 4c |ILE..*tf|p = NULL|
|000008a0| 3b 0a 58 63 68 61 72 09 | 09 45 72 72 5f 69 6e 63 |;.Xchar.|.Err_inc|
|000008b0| 6f 6d 70 5b 5d 20 3d 20 | 22 49 6e 63 6f 6d 70 6c |omp[] = |"Incompl|
|000008c0| 65 74 65 20 25 73 20 6f | 62 6a 65 63 74 20 61 74 |ete %s o|bject at|
|000008d0| 20 6c 69 6e 65 20 25 64 | 2e 22 3b 0a 58 63 68 61 | line %d|.";.Xcha|
|000008e0| 72 09 09 45 72 72 5f 6d | 65 6d 5b 5d 20 3d 20 22 |r..Err_m|em[] = "|
|000008f0| 52 75 6e 6e 69 6e 67 20 | 6f 75 74 20 6f 66 20 6d |Running |out of m|
|00000900| 65 6d 6f 72 79 2e 22 3b | 0a 58 0a 58 69 6e 74 09 |emory.";|.X.Xint.|
|00000910| 09 6c 69 6e 65 5f 74 68 | 69 63 6b 6e 65 73 73 3b |.line_th|ickness;|
|00000920| 20 2f 2a 20 6e 6f 74 20 | 6e 65 65 64 65 64 20 66 | /* not |needed f|
|00000930| 6f 72 20 66 32 70 73 2c | 20 61 72 72 6f 77 2e 63 |or f2ps,| arrow.c|
|00000940| 20 6e 65 65 64 73 20 69 | 74 20 66 6f 72 20 66 69 | needs i|t for fi|
|00000950| 67 20 2a 2f 0a 58 0a 58 | 67 65 74 5f 61 72 67 73 |g */.X.X|get_args|
|00000960| 28 61 72 67 63 2c 20 61 | 72 67 76 29 0a 58 69 6e |(argc, a|rgv).Xin|
|00000970| 74 09 20 61 72 67 63 3b | 0a 58 63 68 61 72 09 2a |t. argc;|.Xchar.*|
|00000980| 61 72 67 76 5b 5d 3b 0a | 58 7b 0a 58 09 63 68 61 |argv[];.|X{.X.cha|
|00000990| 72 09 2a 61 3b 0a 58 09 | 69 6e 74 09 66 69 72 73 |r.*a;.X.|int.firs|
|000009a0| 74 20 3d 20 31 3b 0a 58 | 0a 58 09 70 72 6f 67 20 |t = 1;.X|.X.prog |
|000009b0| 3d 20 2a 61 72 67 76 3b | 0a 58 09 77 68 69 6c 65 |= *argv;|.X.while|
|000009c0| 20 28 2d 2d 61 72 67 63 | 29 20 7b 0a 58 09 20 20 | (--argc|) {.X. |
|000009d0| 20 20 61 20 3d 20 2a 2b | 2b 61 72 67 76 3b 0a 58 | a = *+|+argv;.X|
|000009e0| 09 20 20 20 20 69 66 20 | 28 2a 61 20 3d 3d 20 27 |. if |(*a == '|
|000009f0| 2d 27 29 20 7b 0a 58 09 | 09 69 66 20 28 2a 2b 2b |-') {.X.|.if (*++|
|00000a00| 61 20 3d 3d 20 27 66 27 | 29 20 7b 09 2f 2a 20 46 |a == 'f'|) {./* F|
|00000a10| 6f 6e 74 20 6e 61 6d 65 | 20 66 6f 6c 6c 6f 77 65 |ont name| followe|
|00000a20| 64 20 2a 2f 0a 58 09 09 | 20 20 20 20 69 66 20 28 |d */.X..| if (|
|00000a30| 2d 2d 61 72 67 63 29 0a | 58 09 09 09 66 6f 6e 74 |--argc).|X...font|
|00000a40| 20 3d 20 2a 2b 2b 61 72 | 67 76 3b 0a 58 09 09 20 | = *++ar|gv;.X.. |
|00000a50| 20 20 20 65 6c 73 65 0a | 58 09 09 09 67 6f 74 6f | else.|X...goto|
|00000a60| 20 65 72 72 6f 72 5f 65 | 78 69 74 3b 0a 58 09 09 | error_e|xit;.X..|
|00000a70| 20 20 20 20 7d 0a 58 09 | 09 65 6c 73 65 20 69 66 | }.X.|.else if|
|00000a80| 20 28 2a 61 20 3d 3d 20 | 27 63 27 29 20 7b 09 2f | (*a == |'c') {./|
|00000a90| 2a 20 43 65 6e 74 65 72 | 69 6e 67 20 2a 2f 0a 58 |* Center|ing */.X|
|00000aa0| 09 09 20 20 20 20 63 65 | 6e 74 65 72 20 3d 20 31 |.. ce|nter = 1|
|00000ab0| 3b 0a 58 09 09 20 20 20 | 20 7d 0a 58 09 09 65 6c |;.X.. | }.X..el|
|00000ac0| 73 65 20 69 66 20 28 2a | 61 20 3d 3d 20 27 6c 27 |se if (*|a == 'l'|
|00000ad0| 20 7c 7c 20 2a 61 20 3d | 3d 20 27 4c 27 29 20 7b | || *a =|= 'L') {|
|00000ae0| 09 2f 2a 20 4c 61 6e 64 | 73 63 61 70 65 20 2a 2f |./* Land|scape */|
|00000af0| 0a 58 09 09 20 20 20 20 | 6c 61 6e 64 73 63 61 70 |.X.. |landscap|
|00000b00| 65 20 3d 20 31 3b 0a 58 | 09 09 20 20 20 20 7d 0a |e = 1;.X|.. }.|
|00000b10| 58 09 09 65 6c 73 65 20 | 69 66 20 28 2a 61 20 3d |X..else |if (*a =|
|00000b20| 3d 20 27 70 27 20 7c 7c | 20 2a 61 20 3d 3d 20 27 |= 'p' ||| *a == '|
|00000b30| 50 27 29 20 7b 09 2f 2a | 20 50 6f 72 74 72 61 69 |P') {./*| Portrai|
|00000b40| 74 20 2a 2f 0a 58 09 09 | 20 20 20 20 6c 61 6e 64 |t */.X..| land|
|00000b50| 73 63 61 70 65 20 3d 20 | 30 3b 0a 58 09 09 20 20 |scape = |0;.X.. |
|00000b60| 20 20 7d 0a 58 09 09 65 | 6c 73 65 20 69 66 20 28 | }.X..e|lse if (|
|00000b70| 2a 61 20 3d 3d 20 27 73 | 27 29 20 7b 09 2f 2a 20 |*a == 's|') {./* |
|00000b80| 46 6f 6e 74 20 73 69 7a | 65 20 66 6f 6c 6c 6f 77 |Font siz|e follow|
|00000b90| 65 64 20 2a 2f 0a 58 09 | 09 20 20 20 20 69 66 20 |ed */.X.|. if |
|00000ba0| 28 2d 2d 61 72 67 63 29 | 20 7b 0a 58 09 09 09 66 |(--argc)| {.X...f|
|00000bb0| 6f 6e 74 5f 73 69 7a 65 | 20 3d 20 61 74 6f 69 28 |ont_size| = atoi(|
|00000bc0| 2a 2b 2b 61 72 67 76 29 | 3b 0a 58 09 09 09 7d 0a |*++argv)|;.X...}.|
|00000bd0| 58 09 09 20 20 20 20 65 | 6c 73 65 0a 58 09 09 09 |X.. e|lse.X...|
|00000be0| 67 6f 74 6f 20 65 72 72 | 6f 72 5f 65 78 69 74 3b |goto err|or_exit;|
|00000bf0| 0a 58 09 09 20 20 20 20 | 7d 0a 58 09 09 65 6c 73 |.X.. |}.X..els|
|00000c00| 65 20 69 66 20 28 2a 61 | 20 3d 3d 20 27 65 27 29 |e if (*a| == 'e')|
|00000c10| 20 7b 09 2f 2a 20 45 6e | 6c 61 72 67 69 6e 67 20 | {./* En|larging |
|00000c20| 66 61 63 74 6f 72 20 66 | 6f 6c 6c 6f 77 65 64 20 |factor f|ollowed |
|00000c30| 2a 2f 0a 58 09 09 20 20 | 20 20 69 66 20 28 2d 2d |*/.X.. | if (--|
|00000c40| 61 72 67 63 29 0a 58 09 | 09 09 73 63 61 6c 65 20 |argc).X.|..scale |
|00000c50| 3d 20 61 74 6f 66 28 2a | 2b 2b 61 72 67 76 29 3b |= atof(*|++argv);|
|00000c60| 0a 58 09 09 20 20 20 20 | 65 6c 73 65 0a 58 09 09 |.X.. |else.X..|
|00000c70| 09 67 6f 74 6f 20 65 72 | 72 6f 72 5f 65 78 69 74 |.goto er|ror_exit|
|00000c80| 3b 0a 58 09 09 20 20 20 | 20 7d 0a 58 09 09 65 6c |;.X.. | }.X..el|
|00000c90| 73 65 20 69 66 20 28 2a | 61 20 3d 3d 20 27 4e 27 |se if (*|a == 'N'|
|00000ca0| 29 20 7b 09 2f 2a 20 4e | 6f 20 22 73 68 6f 77 70 |) {./* N|o "showp|
|00000cb0| 61 67 65 22 20 2a 2f 0a | 58 09 09 20 20 20 20 73 |age" */.|X.. s|
|00000cc0| 68 6f 77 5f 70 61 67 65 | 20 3d 20 30 3b 0a 58 09 |how_page| = 0;.X.|
|00000cd0| 09 20 20 20 20 7d 0a 58 | 09 09 65 6c 73 65 0a 58 |. }.X|..else.X|
|00000ce0| 09 09 20 20 20 20 67 6f | 74 6f 20 65 72 72 6f 72 |.. go|to error|
|00000cf0| 5f 65 78 69 74 3b 0a 58 | 09 09 7d 0a 58 09 20 20 |_exit;.X|..}.X. |
|00000d00| 20 20 65 6c 73 65 20 69 | 66 20 28 66 69 72 73 74 | else i|f (first|
|00000d10| 29 20 7b 0a 58 09 09 66 | 72 6f 6d 20 3d 20 61 3b |) {.X..f|rom = a;|
|00000d20| 09 2f 2a 20 20 66 72 6f | 6d 20 66 69 6c 65 20 20 |./* fro|m file |
|00000d30| 2a 2f 0a 58 09 09 66 69 | 72 73 74 20 3d 20 30 3b |*/.X..fi|rst = 0;|
|00000d40| 0a 58 09 09 7d 0a 58 09 | 20 20 20 20 65 6c 73 65 |.X..}.X.| else|
|00000d50| 20 69 66 20 28 66 69 72 | 73 74 20 3d 3d 20 30 29 | if (fir|st == 0)|
|00000d60| 20 7b 0a 58 09 09 74 6f | 20 3d 20 61 3b 09 09 2f | {.X..to| = a;../|
|00000d70| 2a 20 20 74 6f 20 66 69 | 6c 65 20 20 2a 2f 0a 58 |* to fi|le */.X|
|00000d80| 09 09 66 69 72 73 74 20 | 3d 20 2d 31 3b 0a 58 09 |..first |= -1;.X.|
|00000d90| 09 7d 0a 58 09 20 20 20 | 20 65 6c 73 65 0a 58 09 |.}.X. | else.X.|
|00000da0| 09 67 6f 74 6f 20 65 72 | 72 6f 72 5f 65 78 69 74 |.goto er|ror_exit|
|00000db0| 3b 0a 58 09 20 20 20 20 | 7d 0a 58 09 72 65 74 75 |;.X. |}.X.retu|
|00000dc0| 72 6e 3b 0a 58 0a 58 20 | 20 20 20 65 72 72 6f 72 |rn;.X.X | error|
|00000dd0| 5f 65 78 69 74 3a 0a 58 | 09 66 70 72 69 6e 74 66 |_exit:.X|.fprintf|
|00000de0| 28 73 74 64 65 72 72 2c | 20 55 73 61 67 65 2c 20 |(stderr,| Usage, |
|00000df0| 70 72 6f 67 29 3b 0a 58 | 09 65 78 69 74 28 31 29 |prog);.X|.exit(1)|
|00000e00| 3b 0a 58 09 7d 0a 58 0a | 58 6d 61 69 6e 28 61 72 |;.X.}.X.|Xmain(ar|
|00000e10| 67 63 2c 20 61 72 67 76 | 29 0a 58 69 6e 74 09 20 |gc, argv|).Xint. |
|00000e20| 61 72 67 63 3b 0a 58 63 | 68 61 72 09 2a 61 72 67 |argc;.Xc|har.*arg|
|00000e30| 76 5b 5d 3b 0a 58 7b 0a | 58 09 46 5f 63 6f 6d 70 |v[];.X{.|X.F_comp|
|00000e40| 6f 75 6e 64 09 6f 62 6a | 65 63 74 73 3b 0a 58 09 |ound.obj|ects;.X.|
|00000e50| 69 6e 74 09 09 73 74 61 | 74 75 73 3b 0a 58 0a 58 |int..sta|tus;.X.X|
|00000e60| 09 67 65 74 5f 61 72 67 | 73 28 61 72 67 63 2c 20 |.get_arg|s(argc, |
|00000e70| 61 72 67 76 29 3b 0a 58 | 0a 58 09 69 66 20 28 74 |argv);.X|.X.if (t|
|00000e80| 6f 20 3d 3d 20 4e 55 4c | 4c 29 0a 58 09 20 20 20 |o == NUL|L).X. |
|00000e90| 20 74 66 70 20 3d 20 73 | 74 64 6f 75 74 3b 0a 58 | tfp = s|tdout;.X|
|00000ea0| 09 65 6c 73 65 20 69 66 | 20 28 28 74 66 70 20 3d |.else if| ((tfp =|
|00000eb0| 20 66 6f 70 65 6e 28 74 | 6f 2c 20 22 77 22 29 29 | fopen(t|o, "w"))|
|00000ec0| 20 3d 3d 20 4e 55 4c 4c | 29 20 7b 0a 58 09 20 20 | == NULL|) {.X. |
|00000ed0| 20 20 66 70 72 69 6e 74 | 66 28 73 74 64 65 72 72 | fprint|f(stderr|
|00000ee0| 2c 20 22 25 73 3a 20 43 | 6f 75 6c 64 6e 27 74 20 |, "%s: C|ouldn't |
|00000ef0| 6f 70 65 6e 20 25 73 22 | 2c 20 70 72 6f 67 2c 20 |open %s"|, prog, |
|00000f00| 74 6f 29 3b 0a 58 09 20 | 20 20 20 66 70 72 69 6e |to);.X. | fprin|
|00000f10| 74 66 28 73 74 64 65 72 | 72 2c 20 55 73 61 67 65 |tf(stder|r, Usage|
|00000f20| 2c 20 70 72 6f 67 29 3b | 0a 58 09 20 20 20 20 65 |, prog);|.X. e|
|00000f30| 78 69 74 28 31 29 3b 0a | 58 09 20 20 20 20 7d 0a |xit(1);.|X. }.|
|00000f40| 58 0a 58 09 69 66 20 28 | 66 72 6f 6d 29 0a 58 09 |X.X.if (|from).X.|
|00000f50| 20 20 20 20 73 74 61 74 | 75 73 20 3d 20 72 65 61 | stat|us = rea|
|00000f60| 64 5f 66 69 67 28 66 72 | 6f 6d 2c 20 26 6f 62 6a |d_fig(fr|om, &obj|
|00000f70| 65 63 74 73 29 3b 0a 58 | 09 65 6c 73 65 20 09 2f |ects);.X|.else ./|
|00000f80| 2a 20 72 65 61 64 20 66 | 72 6f 6d 20 73 74 64 69 |* read f|rom stdi|
|00000f90| 6e 20 2a 2f 0a 58 09 20 | 20 20 20 73 74 61 74 75 |n */.X. | statu|
|00000fa0| 73 20 3d 20 72 65 61 64 | 66 70 5f 66 69 67 28 73 |s = read|fp_fig(s|
|00000fb0| 74 64 69 6e 2c 20 26 6f | 62 6a 65 63 74 73 29 3b |tdin, &o|bjects);|
|00000fc0| 0a 58 0a 58 09 69 66 20 | 28 73 74 61 74 75 73 20 |.X.X.if |(status |
|00000fd0| 21 3d 20 30 29 20 7b 0a | 58 09 20 20 20 20 69 66 |!= 0) {.|X. if|
|00000fe0| 20 28 66 72 6f 6d 29 20 | 72 65 61 64 5f 66 61 69 | (from) |read_fai|
|00000ff0| 6c 5f 6d 65 73 73 61 67 | 65 28 66 72 6f 6d 2c 20 |l_messag|e(from, |
|00001000| 73 74 61 74 75 73 29 3b | 0a 58 09 20 20 20 20 65 |status);|.X. e|
|00001010| 78 69 74 28 31 29 3b 0a | 58 09 20 20 20 20 7d 0a |xit(1);.|X. }.|
|00001020| 58 09 67 65 6e 70 73 5f | 6f 62 6a 65 63 74 73 28 |X.genps_|objects(|
|00001030| 26 6f 62 6a 65 63 74 73 | 29 3b 0a 58 09 69 66 20 |&objects|);.X.if |
|00001040| 28 74 66 70 20 21 3d 20 | 73 74 64 6f 75 74 29 20 |(tfp != |stdout) |
|00001050| 28 76 6f 69 64 29 66 63 | 6c 6f 73 65 28 74 66 70 |(void)fc|lose(tfp|
|00001060| 29 3b 0a 58 09 65 78 69 | 74 28 30 29 3b 20 7d 0a |);.X.exi|t(0); }.|
|00001070| 58 0a 58 23 64 65 66 69 | 6e 65 09 09 42 45 47 49 |X.X#defi|ne..BEGI|
|00001080| 4e 5f 50 52 4f 4c 4f 47 | 09 22 5c 0a 58 2f 24 46 |N_PROLOG|."\.X/$F|
|00001090| 32 70 73 44 69 63 74 20 | 33 32 20 64 69 63 74 20 |2psDict |32 dict |
|000010a0| 64 65 66 20 5c 0a 58 24 | 46 32 70 73 44 69 63 74 |def \.X$|F2psDict|
|000010b0| 20 62 65 67 69 6e 5c 0a | 58 20 24 46 32 70 73 44 | begin\.|X $F2psD|
|000010c0| 69 63 74 20 2f 6d 74 72 | 78 20 6d 61 74 72 69 78 |ict /mtr|x matrix|
|000010d0| 20 70 75 74 5c 0a 58 22 | 0a 58 23 64 65 66 69 6e | put\.X"|.X#defin|
|000010e0| 65 09 09 45 4c 4c 49 50 | 53 45 5f 50 53 09 22 20 |e..ELLIP|SE_PS." |
|000010f0| 5c 0a 58 2f 44 72 61 77 | 45 6c 6c 69 70 73 65 20 |\.X/Draw|Ellipse |
|00001100| 7b 5c 0a 58 20 2f 65 6e | 64 61 6e 67 6c 65 20 65 |{\.X /en|dangle e|
|00001110| 78 63 68 20 64 65 66 5c | 0a 58 20 2f 73 74 61 72 |xch def\|.X /star|
|00001120| 74 61 6e 67 6c 65 20 65 | 78 63 68 20 64 65 66 5c |tangle e|xch def\|
|00001130| 0a 58 20 2f 79 72 61 64 | 20 65 78 63 68 20 64 65 |.X /yrad| exch de|
|00001140| 66 5c 0a 58 20 2f 78 72 | 61 64 20 65 78 63 68 20 |f\.X /xr|ad exch |
|00001150| 64 65 66 5c 0a 58 20 2f | 79 20 65 78 63 68 20 64 |def\.X /|y exch d|
|00001160| 65 66 5c 0a 58 20 2f 78 | 20 65 78 63 68 20 64 65 |ef\.X /x| exch de|
|00001170| 66 5c 0a 58 20 2f 73 61 | 76 65 6d 61 74 72 69 78 |f\.X /sa|vematrix|
|00001180| 20 6d 74 72 78 20 63 75 | 72 72 65 6e 74 6d 61 74 | mtrx cu|rrentmat|
|00001190| 72 69 78 20 64 65 66 5c | 0a 58 20 78 20 79 20 74 |rix def\|.X x y t|
|000011a0| 72 61 6e 73 6c 61 74 65 | 20 78 72 61 64 20 79 72 |ranslate| xrad yr|
|000011b0| 61 64 20 73 63 61 6c 65 | 20 30 20 30 20 31 20 73 |ad scale| 0 0 1 s|
|000011c0| 74 61 72 74 61 6e 67 6c | 65 20 65 6e 64 61 6e 67 |tartangl|e endang|
|000011d0| 6c 65 20 61 72 63 5c 0a | 58 20 73 61 76 65 6d 61 |le arc\.|X savema|
|000011e0| 74 72 69 78 20 73 65 74 | 6d 61 74 72 69 78 5c 0a |trix set|matrix\.|
|000011f0| 58 20 7d 20 64 65 66 5c | 0a 58 22 0a 58 23 64 65 |X } def\|.X".X#de|
|00001200| 66 69 6e 65 09 09 53 50 | 4c 49 4e 45 5f 50 53 09 |fine..SP|LINE_PS.|
|00001210| 22 20 5c 0a 58 2f 44 72 | 61 77 53 70 6c 69 6e 65 |" \.X/Dr|awSpline|
|00001220| 53 65 63 74 69 6f 6e 20 | 7b 5c 0a 58 20 2f 79 33 |Section |{\.X /y3|
|00001230| 20 65 78 63 68 20 64 65 | 66 5c 0a 58 20 2f 78 33 | exch de|f\.X /x3|
|00001240| 20 65 78 63 68 20 64 65 | 66 5c 0a 58 20 2f 79 32 | exch de|f\.X /y2|
|00001250| 20 65 78 63 68 20 64 65 | 66 5c 0a 58 20 2f 78 32 | exch de|f\.X /x2|
|00001260| 20 65 78 63 68 20 64 65 | 66 5c 0a 58 20 2f 79 31 | exch de|f\.X /y1|
|00001270| 20 65 78 63 68 20 64 65 | 66 5c 0a 58 20 2f 78 31 | exch de|f\.X /x1|
|00001280| 20 65 78 63 68 20 64 65 | 66 5c 0a 58 20 2f 78 61 | exch de|f\.X /xa|
|00001290| 20 78 31 20 78 32 20 61 | 64 64 20 32 20 64 69 76 | x1 x2 a|dd 2 div|
|000012a0| 20 64 65 66 5c 0a 58 20 | 2f 79 61 20 79 31 20 79 | def\.X |/ya y1 y|
|000012b0| 32 20 61 64 64 20 32 20 | 64 69 76 20 64 65 66 5c |2 add 2 |div def\|
|000012c0| 0a 58 20 2f 78 62 20 78 | 32 20 78 33 20 61 64 64 |.X /xb x|2 x3 add|
|000012d0| 20 32 20 64 69 76 20 64 | 65 66 5c 0a 58 20 2f 79 | 2 div d|ef\.X /y|
|000012e0| 62 20 79 32 20 79 33 20 | 61 64 64 20 32 20 64 69 |b y2 y3 |add 2 di|
|000012f0| 76 20 64 65 66 5c 0a 58 | 20 2f 78 32 20 78 61 20 |v def\.X| /x2 xa |
|00001300| 78 62 20 61 64 64 20 32 | 20 64 69 76 20 64 65 66 |xb add 2| div def|
|00001310| 5c 0a 58 20 2f 79 32 20 | 79 61 20 79 62 20 61 64 |\.X /y2 |ya yb ad|
|00001320| 64 20 32 20 64 69 76 20 | 64 65 66 20 78 31 20 78 |d 2 div |def x1 x|
|00001330| 32 20 73 75 62 20 61 62 | 73 20 32 20 6c 74 20 79 |2 sub ab|s 2 lt y|
|00001340| 31 20 79 32 20 73 75 62 | 20 61 62 73 20 32 20 6c |1 y2 sub| abs 2 l|
|00001350| 74 20 61 6e 64 5c 0a 58 | 20 20 7b 20 78 32 20 79 |t and\.X| { x2 y|
|00001360| 32 20 6c 69 6e 65 74 6f | 20 7d 5c 0a 58 20 20 7b |2 lineto| }\.X {|
|00001370| 20 78 32 20 79 32 20 78 | 62 20 79 62 20 78 33 20 | x2 y2 x|b yb x3 |
|00001380| 79 33 20 78 31 20 79 31 | 20 78 61 20 79 61 20 78 |y3 x1 y1| xa ya x|
|00001390| 32 20 79 32 20 44 72 61 | 77 53 70 6c 69 6e 65 53 |2 y2 Dra|wSplineS|
|000013a0| 65 63 74 69 6f 6e 5c 0a | 58 20 20 2f 79 33 20 65 |ection\.|X /y3 e|
|000013b0| 78 63 68 20 64 65 66 5c | 0a 58 20 20 2f 78 33 20 |xch def\|.X /x3 |
|000013c0| 65 78 63 68 20 64 65 66 | 5c 0a 58 20 20 2f 79 62 |exch def|\.X /yb|
|000013d0| 20 65 78 63 68 20 64 65 | 66 5c 0a 58 20 20 2f 78 | exch de|f\.X /x|
|000013e0| 62 20 65 78 63 68 20 64 | 65 66 5c 0a 58 20 20 2f |b exch d|ef\.X /|
|000013f0| 79 32 20 65 78 63 68 20 | 64 65 66 5c 0a 58 20 20 |y2 exch |def\.X |
|00001400| 2f 78 32 20 65 78 63 68 | 20 64 65 66 7d 5c 0a 58 |/x2 exch| def}\.X|
|00001410| 20 69 66 65 6c 73 65 5c | 0a 58 20 78 32 20 78 33 | ifelse\|.X x2 x3|
|00001420| 20 73 75 62 20 61 62 73 | 20 32 20 6c 74 20 79 32 | sub abs| 2 lt y2|
|00001430| 20 79 33 20 73 75 62 20 | 61 62 73 20 32 20 6c 74 | y3 sub |abs 2 lt|
|00001440| 20 61 6e 64 20 7b 20 78 | 33 20 79 33 20 6c 69 6e | and { x|3 y3 lin|
|00001450| 65 74 6f 20 7d 5c 0a 58 | 20 7b 20 78 32 20 79 32 |eto }\.X| { x2 y2|
|00001460| 20 78 62 20 79 62 20 78 | 33 20 79 33 20 44 72 61 | xb yb x|3 y3 Dra|
|00001470| 77 53 70 6c 69 6e 65 53 | 65 63 74 69 6f 6e 20 7d |wSplineS|ection }|
|00001480| 20 69 66 65 6c 73 65 5c | 0a 58 20 7d 20 64 65 66 | ifelse\|.X } def|
|00001490| 5c 0a 58 22 0a 58 23 64 | 65 66 69 6e 65 09 09 45 |\.X".X#d|efine..E|
|000014a0| 4e 44 5f 50 52 4f 4c 4f | 47 09 22 5c 0a 58 20 65 |ND_PROLO|G."\.X e|
|000014b0| 6e 64 5c 0a 58 20 2f 24 | 46 32 70 73 42 65 67 69 |nd\.X /$|F2psBegi|
|000014c0| 6e 20 7b 24 46 32 70 73 | 44 69 63 74 20 62 65 67 |n {$F2ps|Dict beg|
|000014d0| 69 6e 20 2f 24 46 32 70 | 73 45 6e 74 65 72 65 64 |in /$F2p|sEntered|
|000014e0| 53 74 61 74 65 20 73 61 | 76 65 20 64 65 66 7d 20 |State sa|ve def} |
|000014f0| 64 65 66 5c 0a 58 20 2f | 24 46 32 70 73 45 6e 64 |def\.X /|$F2psEnd|
|00001500| 20 7b 24 46 32 70 73 45 | 6e 74 65 72 65 64 53 74 | {$F2psE|nteredSt|
|00001510| 61 74 65 20 72 65 73 74 | 6f 72 65 20 65 6e 64 7d |ate rest|ore end}|
|00001520| 20 64 65 66 5c 0a 58 5c | 6e 25 25 45 6e 64 50 72 | def\.X\|n%%EndPr|
|00001530| 6f 6c 6f 67 5c 0a 58 22 | 0a 58 0a 58 23 64 65 66 |olog\.X"|.X.X#def|
|00001540| 69 6e 65 09 09 4d 41 58 | 09 33 32 30 30 30 0a 58 |ine..MAX|.32000.X|
|00001550| 23 64 65 66 69 6e 65 09 | 09 4d 49 4e 09 2d 33 32 |#define.|.MIN.-32|
|00001560| 30 30 30 0a 58 73 74 61 | 74 69 63 20 69 6e 74 09 |000.Xsta|tic int.|
|00001570| 63 6f 6f 72 64 5f 73 79 | 73 74 65 6d 3b 0a 58 73 |coord_sy|stem;.Xs|
|00001580| 74 61 74 69 63 20 69 6e | 74 09 6c 6c 78 20 3d 20 |tatic in|t.llx = |
|00001590| 4d 41 58 2c 20 6c 6c 79 | 20 3d 20 4d 41 58 2c 20 |MAX, lly| = MAX, |
|000015a0| 75 72 78 20 3d 20 4d 49 | 4e 2c 20 75 72 79 20 3d |urx = MI|N, ury =|
|000015b0| 20 4d 49 4e 3b 0a 58 0a | 58 70 72 6f 6c 6f 67 28 | MIN;.X.|Xprolog(|
|000015c0| 6f 62 6a 65 63 74 73 29 | 0a 58 46 5f 63 6f 6d 70 |objects)|.XF_comp|
|000015d0| 6f 75 6e 64 09 2a 6f 62 | 6a 65 63 74 73 3b 0a 58 |ound.*ob|jects;.X|
|000015e0| 7b 0a 58 09 63 68 61 72 | 09 09 68 6f 73 74 5b 32 |{.X.char|..host[2|
|000015f0| 35 36 5d 3b 0a 58 09 73 | 74 72 75 63 74 20 70 61 |56];.X.s|truct pa|
|00001600| 73 73 77 64 09 2a 77 68 | 6f 3b 0a 58 09 6c 6f 6e |sswd.*wh|o;.X.lon|
|00001610| 67 09 09 77 68 65 6e 3b | 0a 58 09 65 78 74 65 72 |g..when;|.X.exter|
|00001620| 6e 20 63 68 61 72 09 2a | 63 74 69 6d 65 28 29 2c |n char.*|ctime(),|
|00001630| 20 2a 73 74 72 63 70 79 | 28 29 3b 0a 58 09 65 78 | *strcpy|();.X.ex|
|00001640| 74 65 72 6e 20 6c 6f 6e | 67 09 74 69 6d 65 28 29 |tern lon|g.time()|
|00001650| 3b 0a 58 0a 58 09 66 70 | 72 69 6e 74 66 28 74 66 |;.X.X.fp|rintf(tf|
|00001660| 70 2c 20 22 25 25 21 5c | 6e 22 29 3b 09 2f 2a 20 |p, "%%!\|n");./* |
|00001670| 50 6f 73 74 53 63 72 69 | 70 74 20 6d 61 67 69 63 |PostScri|pt magic|
|00001680| 20 73 74 72 69 6e 67 73 | 20 2a 2f 0a 58 09 77 68 | strings| */.X.wh|
|00001690| 6f 20 3d 20 67 65 74 70 | 77 75 69 64 28 67 65 74 |o = getp|wuid(get|
|000016a0| 75 69 64 28 29 29 3b 0a | 58 09 69 66 20 28 2d 31 |uid());.|X.if (-1|
|000016b0| 20 3d 3d 20 67 65 74 68 | 6f 73 74 6e 61 6d 65 28 | == geth|ostname(|
|000016c0| 68 6f 73 74 2c 20 73 69 | 7a 65 6f 66 28 68 6f 73 |host, si|zeof(hos|
|000016d0| 74 29 29 29 0a 58 09 20 | 20 20 20 28 76 6f 69 64 |t))).X. | (void|
|000016e0| 29 73 74 72 63 70 79 28 | 68 6f 73 74 2c 20 22 75 |)strcpy(|host, "u|
|000016f0| 6e 6b 6e 6f 77 6e 2d 68 | 6f 73 74 21 3f 21 3f 22 |nknown-h|ost!?!?"|
|00001700| 29 3b 0a 58 09 28 76 6f | 69 64 29 20 74 69 6d 65 |);.X.(vo|id) time|
|00001710| 28 26 77 68 65 6e 29 3b | 0a 58 09 66 70 72 69 6e |(&when);|.X.fprin|
|00001720| 74 66 28 74 66 70 2c 20 | 22 25 25 25 25 54 69 74 |tf(tfp, |"%%%%Tit|
|00001730| 6c 65 3a 20 25 73 5c 6e | 22 2c 20 28 28 66 72 6f |le: %s\n|", ((fro|
|00001740| 6d 29 20 3f 20 66 72 6f | 6d 20 3a 20 22 73 74 64 |m) ? fro|m : "std|
|00001750| 69 6e 22 29 29 3b 0a 58 | 09 66 70 72 69 6e 74 66 |in"));.X|.fprintf|
|00001760| 28 74 66 70 2c 20 22 25 | 25 25 25 43 72 65 61 74 |(tfp, "%|%%%Creat|
|00001770| 6f 72 3a 20 25 73 5c 6e | 22 2c 20 70 72 6f 67 29 |or: %s\n|", prog)|
|00001780| 3b 0a 58 09 66 70 72 69 | 6e 74 66 28 74 66 70 2c |;.X.fpri|ntf(tfp,|
|00001790| 20 22 25 25 25 25 43 72 | 65 61 74 69 6f 6e 44 61 | "%%%%Cr|eationDa|
|000017a0| 74 65 3a 20 25 73 22 2c | 20 63 74 69 6d 65 28 26 |te: %s",| ctime(&|
|000017b0| 77 68 65 6e 29 29 3b 0a | 58 09 66 70 72 69 6e 74 |when));.|X.fprint|
|000017c0| 66 28 74 66 70 2c 20 22 | 25 25 25 25 46 6f 72 3a |f(tfp, "|%%%%For:|
|000017d0| 20 25 73 40 25 73 20 28 | 25 73 29 5c 6e 22 2c 0a | %s@%s (|%s)\n",.|
|000017e0| 58 09 09 09 77 68 6f 2d | 3e 70 77 5f 6e 61 6d 65 |X...who-|>pw_name|
|000017f0| 2c 20 68 6f 73 74 2c 20 | 77 68 6f 2d 3e 70 77 5f |, host, |who->pw_|
|00001800| 67 65 63 6f 73 29 3b 0a | 58 09 66 70 72 69 6e 74 |gecos);.|X.fprint|
|00001810| 66 28 74 66 70 2c 20 22 | 25 25 25 25 50 61 67 65 |f(tfp, "|%%%%Page|
|00001820| 73 3a 20 25 64 5c 6e 22 | 2c 20 73 68 6f 77 5f 70 |s: %d\n"|, show_p|
|00001830| 61 67 65 29 3b 0a 58 20 | 20 20 20 20 20 66 70 72 |age);.X | fpr|
|00001840| 69 6e 74 66 28 74 66 70 | 2c 20 22 25 25 25 25 42 |intf(tfp|, "%%%%B|
|00001850| 6f 75 6e 64 69 6e 67 42 | 6f 78 3a 20 25 64 20 25 |oundingB|ox: %d %|
|00001860| 64 20 25 64 20 25 64 5c | 6e 22 2c 20 6c 6c 78 2c |d %d %d\|n", llx,|
|00001870| 20 6c 6c 79 2c 20 75 72 | 78 2c 20 75 72 79 29 3b | lly, ur|x, ury);|
|00001880| 0a 58 09 66 70 72 69 6e | 74 66 28 74 66 70 2c 20 |.X.fprin|tf(tfp, |
|00001890| 22 25 25 25 25 45 6e 64 | 43 6f 6d 6d 65 6e 74 73 |"%%%%End|Comments|
|000018a0| 5c 6e 22 29 3b 0a 58 09 | 66 70 72 69 6e 74 66 28 |\n");.X.|fprintf(|
|000018b0| 74 66 70 2c 20 22 25 73 | 5c 6e 22 2c 20 42 45 47 |tfp, "%s|\n", BEG|
|000018c0| 49 4e 5f 50 52 4f 4c 4f | 47 29 3b 0a 58 09 69 66 |IN_PROLO|G);.X.if|
|000018d0| 20 28 65 6c 6c 69 70 73 | 65 5f 65 78 69 73 74 28 | (ellips|e_exist(|
|000018e0| 6f 62 6a 65 63 74 73 29 | 29 20 0a 58 09 09 66 70 |objects)|) .X..fp|
|000018f0| 72 69 6e 74 66 28 74 66 | 70 2c 20 22 25 73 5c 6e |rintf(tf|p, "%s\n|
|00001900| 22 2c 20 45 4c 4c 49 50 | 53 45 5f 50 53 29 3b 0a |", ELLIP|SE_PS);.|
|00001910| 58 09 69 66 20 28 6e 6f | 72 6d 61 6c 5f 73 70 6c |X.if (no|rmal_spl|
|00001920| 69 6e 65 5f 65 78 69 73 | 74 28 6f 62 6a 65 63 74 |ine_exis|t(object|
|00001930| 73 29 29 20 0a 58 09 09 | 66 70 72 69 6e 74 66 28 |s)) .X..|fprintf(|
|00001940| 74 66 70 2c 20 22 25 73 | 5c 6e 22 2c 20 53 50 4c |tfp, "%s|\n", SPL|
|00001950| 49 4e 45 5f 50 53 29 3b | 0a 58 09 66 70 72 69 6e |INE_PS);|.X.fprin|
|00001960| 74 66 28 74 66 70 2c 20 | 22 25 73 5c 6e 22 2c 20 |tf(tfp, |"%s\n", |
|00001970| 45 4e 44 5f 50 52 4f 4c | 4f 47 29 3b 0a 58 09 66 |END_PROL|OG);.X.f|
|00001980| 70 72 69 6e 74 66 28 74 | 66 70 2c 20 22 24 46 32 |printf(t|fp, "$F2|
|00001990| 70 73 42 65 67 69 6e 5c | 6e 22 29 3b 0a 58 09 7d |psBegin\|n");.X.}|
|000019a0| 0a 58 0a 58 65 70 69 6c | 6f 67 28 29 0a 58 7b 0a |.X.Xepil|og().X{.|
|000019b0| 58 09 69 66 20 28 73 68 | 6f 77 5f 70 61 67 65 29 |X.if (sh|ow_page)|
|000019c0| 20 66 70 72 69 6e 74 66 | 28 74 66 70 2c 20 22 73 | fprintf|(tfp, "s|
|000019d0| 68 6f 77 70 61 67 65 5c | 6e 22 29 3b 0a 58 09 66 |howpage\|n");.X.f|
|000019e0| 70 72 69 6e 74 66 28 74 | 66 70 2c 20 22 24 46 32 |printf(t|fp, "$F2|
|000019f0| 70 73 45 6e 64 5c 6e 22 | 29 3b 0a 58 09 7d 0a 58 |psEnd\n"|);.X.}.X|
|00001a00| 0a 58 67 65 6e 70 73 5f | 6f 62 6a 65 63 74 73 28 |.Xgenps_|objects(|
|00001a10| 6f 62 6a 65 63 74 73 29 | 0a 58 46 5f 63 6f 6d 70 |objects)|.XF_comp|
|00001a20| 6f 75 6e 64 09 2a 6f 62 | 6a 65 63 74 73 3b 0a 58 |ound.*ob|jects;.X|
|00001a30| 7b 0a 58 20 20 20 20 20 | 20 64 6f 75 62 6c 65 20 |{.X | double |
|00001a40| 20 20 20 20 20 20 20 20 | 20 73 63 61 6c 65 78 2c | | scalex,|
|00001a50| 20 73 63 61 6c 65 79 3b | 0a 58 20 20 20 20 20 20 | scaley;|.X |
|00001a60| 64 6f 75 62 6c 65 20 20 | 20 20 20 20 20 20 20 20 |double | |
|00001a70| 6f 72 69 67 78 2c 20 6f | 72 69 67 79 2c 20 64 78 |origx, o|rigy, dx|
|00001a80| 2c 20 64 79 3b 0a 58 09 | 46 5f 61 72 63 09 09 2a |, dy;.X.|F_arc..*|
|00001a90| 61 3b 0a 58 09 46 5f 63 | 6f 6d 70 6f 75 6e 64 09 |a;.X.F_c|ompound.|
|00001aa0| 2a 63 3b 0a 58 09 46 5f | 65 6c 6c 69 70 73 65 09 |*c;.X.F_|ellipse.|
|00001ab0| 2a 65 3b 0a 58 09 46 5f | 6c 69 6e 65 09 09 2a 6c |*e;.X.F_|line..*l|
|00001ac0| 3b 0a 58 09 46 5f 73 70 | 6c 69 6e 65 09 2a 73 3b |;.X.F_sp|line.*s;|
|00001ad0| 0a 58 09 46 5f 74 65 78 | 74 09 09 2a 74 3b 0a 58 |.X.F_tex|t..*t;.X|
|00001ae0| 09 69 6e 74 09 09 66 69 | 6c 6c 3b 0a 58 09 69 6e |.int..fi|ll;.X.in|
|00001af0| 74 09 09 69 74 6d 70 3b | 0a 58 0a 58 09 2f 2a 20 |t..itmp;|.X.X./* |
|00001b00| 43 6f 6d 70 75 74 65 20 | 62 6f 75 6e 64 69 6e 67 |Compute |bounding|
|00001b10| 20 62 6f 78 20 6f 66 20 | 6f 62 6a 65 63 74 73 20 | box of |objects |
|00001b20| 2a 2f 0a 58 09 63 6f 6d | 70 6f 75 6e 64 5f 62 6f |*/.X.com|pound_bo|
|00001b30| 75 6e 64 28 6f 62 6a 65 | 63 74 73 2c 20 26 6c 6c |und(obje|cts, &ll|
|00001b40| 78 2c 20 26 6c 6c 79 2c | 20 26 75 72 78 2c 20 26 |x, &lly,| &urx, &|
|00001b50| 75 72 79 29 3b 0a 58 09 | 69 66 20 28 6c 6c 78 20 |ury);.X.|if (llx |
|00001b60| 3e 20 75 72 78 29 20 7b | 0a 58 09 20 20 20 20 66 |> urx) {|.X. f|
|00001b70| 70 72 69 6e 74 66 28 73 | 74 64 65 72 72 2c 20 22 |printf(s|tderr, "|
|00001b80| 25 73 3a 20 4e 6f 20 6f | 62 6a 65 63 74 22 2c 70 |%s: No o|bject",p|
|00001b90| 72 6f 67 29 3b 0a 58 09 | 20 20 20 20 72 65 74 75 |rog);.X.| retu|
|00001ba0| 72 6e 3b 0a 58 09 20 20 | 20 20 7d 0a 58 20 20 20 |rn;.X. | }.X |
|00001bb0| 20 20 20 2f 2a 20 63 61 | 6c 63 75 6c 61 74 65 20 | /* ca|lculate |
|00001bc0| 72 65 64 75 63 74 69 6f | 6e 3a 0a 58 20 20 20 20 |reductio|n:.X |
|00001bd0| 20 20 20 20 20 20 20 20 | 20 20 63 6f 6e 76 65 72 | | conver|
|00001be0| 74 20 73 63 72 65 65 6e | 20 70 6f 69 6e 74 73 2d |t screen| points-|
|00001bf0| 70 65 72 2d 69 6e 63 68 | 20 74 6f 20 70 72 69 6e |per-inch| to prin|
|00001c00| 74 65 72 20 70 6f 69 6e | 74 73 20 2a 2f 0a 58 09 |ter poin|ts */.X.|
|00001c10| 72 65 64 75 63 74 69 6f | 6e 20 3d 20 50 4f 49 4e |reductio|n = POIN|
|00001c20| 54 5f 50 45 52 5f 49 4e | 43 48 20 2f 20 28 66 6c |T_PER_IN|CH / (fl|
|00001c30| 6f 61 74 29 6f 62 6a 65 | 63 74 73 2d 3e 6e 77 63 |oat)obje|cts->nwc|
|00001c40| 6f 72 6e 65 72 2e 78 3b | 0a 58 09 73 63 61 6c 65 |orner.x;|.X.scale|
|00001c50| 78 20 3d 20 73 63 61 6c | 65 79 20 3d 20 73 63 61 |x = scal|ey = sca|
|00001c60| 6c 65 20 2a 20 72 65 64 | 75 63 74 69 6f 6e 3b 0a |le * red|uction;.|
|00001c70| 58 20 20 20 20 20 20 63 | 6f 6f 72 64 5f 73 79 73 |X c|oord_sys|
|00001c80| 74 65 6d 20 3d 20 6f 62 | 6a 65 63 74 73 2d 3e 6e |tem = ob|jects->n|
|00001c90| 77 63 6f 72 6e 65 72 2e | 79 3b 0a 58 20 20 20 20 |wcorner.|y;.X |
|00001ca0| 20 20 69 66 20 28 63 6f | 6f 72 64 5f 73 79 73 74 | if (co|ord_syst|
|00001cb0| 65 6d 20 3d 3d 20 32 29 | 20 7b 0a 58 20 20 20 20 |em == 2)| {.X |
|00001cc0| 20 20 20 20 20 20 20 20 | 20 20 73 63 61 6c 65 79 | | scaley|
|00001cd0| 20 3d 20 2d 73 63 61 6c | 65 79 3b 0a 58 20 20 20 | = -scal|ey;.X |
|00001ce0| 20 20 20 20 20 20 20 20 | 20 20 20 69 74 6d 70 20 | | itmp |
|00001cf0| 3d 20 6c 6c 79 3b 20 6c | 6c 79 20 3d 20 75 72 79 |= lly; l|ly = ury|
|00001d00| 3b 20 75 72 79 20 3d 20 | 69 74 6d 70 3b 0a 58 20 |; ury = |itmp;.X |
|00001d10| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 7d 0a 58 | | }.X|
|00001d20| 09 2f 2a 20 63 6f 6e 76 | 65 72 74 20 74 6f 20 70 |./* conv|ert to p|
|00001d30| 6f 69 6e 74 20 75 6e 69 | 74 20 2a 2f 0a 58 09 6c |oint uni|t */.X.l|
|00001d40| 6c 78 20 3d 20 28 69 6e | 74 29 63 65 69 6c 28 6c |lx = (in|t)ceil(l|
|00001d50| 6c 78 20 2a 20 73 63 61 | 6c 65 78 29 3b 0a 58 09 |lx * sca|lex);.X.|
|00001d60| 6c 6c 79 20 3d 20 28 69 | 6e 74 29 63 65 69 6c 28 |lly = (i|nt)ceil(|
|00001d70| 6c 6c 79 20 2a 20 73 63 | 61 6c 65 79 29 3b 0a 58 |lly * sc|aley);.X|
|00001d80| 09 75 72 78 20 3d 20 28 | 69 6e 74 29 63 65 69 6c |.urx = (|int)ceil|
|00001d90| 28 75 72 78 20 2a 20 73 | 63 61 6c 65 78 29 3b 0a |(urx * s|calex);.|
|00001da0| 58 09 75 72 79 20 3d 20 | 28 69 6e 74 29 63 65 69 |X.ury = |(int)cei|
|00001db0| 6c 28 75 72 79 20 2a 20 | 73 63 61 6c 65 79 29 3b |l(ury * |scaley);|
|00001dc0| 0a 58 20 20 20 20 20 20 | 2f 2a 20 72 6f 74 61 74 |.X |/* rotat|
|00001dd0| 65 20 62 6f 75 6e 64 69 | 6e 67 20 62 6f 78 20 69 |e boundi|ng box i|
|00001de0| 66 20 6c 61 6e 64 73 63 | 61 70 65 20 6d 6f 64 65 |f landsc|ape mode|
|00001df0| 20 2a 2f 0a 58 20 20 20 | 20 20 20 69 66 20 28 6c | */.X | if (l|
|00001e00| 61 6e 64 73 63 61 70 65 | 29 20 7b 0a 58 20 20 20 |andscape|) {.X |
|00001e10| 20 20 20 20 20 20 20 20 | 20 20 20 69 74 6d 70 20 | | itmp |
|00001e20| 3d 20 75 72 79 3b 20 75 | 72 79 20 3d 20 2d 6c 6c |= ury; u|ry = -ll|
|00001e30| 78 3b 20 6c 6c 78 20 3d | 20 6c 6c 79 3b 0a 58 20 |x; llx =| lly;.X |
|00001e40| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 6c 6c 79 | | lly|
|00001e50| 20 3d 20 2d 75 72 78 3b | 20 75 72 78 20 3d 20 69 | = -urx;| urx = i|
|00001e60| 74 6d 70 3b 0a 58 09 09 | 7d 0a 58 20 20 20 20 20 |tmp;.X..|}.X |
|00001e70| 20 2f 2a 20 63 65 6e 74 | 65 72 20 62 6f 75 6e 64 | /* cent|er bound|
|00001e80| 69 6e 67 20 62 6f 78 20 | 69 6e 20 70 61 67 65 20 |ing box |in page |
|00001e90| 2a 2f 0a 58 09 69 66 20 | 28 63 65 6e 74 65 72 29 |*/.X.if |(center)|
|00001ea0| 20 7b 0a 58 20 20 20 20 | 20 20 20 20 20 20 20 20 | {.X | |
|00001eb0| 20 20 6f 72 69 67 78 20 | 3d 20 2d 6c 6c 78 3b 0a | origx |= -llx;.|
|00001ec0| 58 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 6f |X | o|
|00001ed0| 72 69 67 79 20 3d 20 2d | 6c 6c 79 3b 0a 58 0a 58 |rigy = -|lly;.X.X|
|00001ee0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 64 78 | | dx|
|00001ef0| 20 3d 20 61 62 73 20 28 | 75 72 78 20 2d 20 6c 6c | = abs (|urx - ll|
|00001f00| 78 29 3b 0a 58 20 20 20 | 20 20 20 20 20 20 20 20 |x);.X | |
|00001f10| 20 20 20 64 79 20 3d 20 | 61 62 73 20 28 75 72 79 | dy = |abs (ury|
|00001f20| 20 2d 20 6c 6c 79 29 3b | 0a 58 20 20 20 20 20 20 | - lly);|.X |
|00001f30| 20 20 20 20 20 20 20 20 | 6c 6c 78 20 3d 20 28 50 | |llx = (P|
|00001f40| 41 47 45 5f 57 49 44 54 | 48 20 2d 20 64 78 29 20 |AGE_WIDT|H - dx) |
|00001f50| 2f 20 32 2e 30 3b 0a 58 | 20 20 20 20 20 20 20 20 |/ 2.0;.X| |
|00001f60| 20 20 20 20 20 20 6c 6c | 79 20 3d 20 28 50 41 47 | ll|y = (PAG|
|00001f70| 45 5f 48 45 49 47 48 54 | 20 2d 20 64 79 29 20 2f |E_HEIGHT| - dy) /|
|00001f80| 20 32 2e 30 3b 0a 58 20 | 20 20 20 20 20 20 20 20 | 2.0;.X | |
|00001f90| 20 20 20 20 20 75 72 78 | 20 3d 20 6c 6c 78 20 2b | urx| = llx +|
|00001fa0| 20 64 78 3b 0a 58 20 20 | 20 20 20 20 20 20 20 20 | dx;.X | |
|00001fb0| 20 20 20 20 75 72 79 20 | 3d 20 6c 6c 79 20 2b 20 | ury |= lly + |
|00001fc0| 64 79 3b 0a 58 20 20 20 | 20 20 20 20 20 20 20 20 |dy;.X | |
|00001fd0| 20 20 20 6f 72 69 67 78 | 20 2b 3d 20 6c 6c 78 3b | origx| += llx;|
|00001fe0| 0a 58 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |.X | |
|00001ff0| 6f 72 69 67 79 20 2b 3d | 20 6c 6c 79 3b 0a 58 20 |origy +=| lly;.X |
|00002000| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 7d 0a 58 | | }.X|
|00002010| 09 70 72 6f 6c 6f 67 28 | 6f 62 6a 65 63 74 73 29 |.prolog(|objects)|
|00002020| 3b 0a 58 0a 58 20 20 20 | 20 20 20 2f 2a 20 63 65 |;.X.X | /* ce|
|00002030| 6e 74 65 72 20 69 6d 61 | 67 65 20 6f 6e 20 70 61 |nter ima|ge on pa|
|00002040| 67 65 20 2a 2f 0a 58 20 | 20 20 20 20 20 69 66 20 |ge */.X | if |
|00002050| 28 63 65 6e 74 65 72 29 | 0a 58 20 20 20 20 20 20 |(center)|.X |
|00002060| 20 20 20 20 20 20 20 20 | 66 70 72 69 6e 74 66 28 | |fprintf(|
|00002070| 74 66 70 2c 20 22 25 66 | 20 25 66 20 74 72 61 6e |tfp, "%f| %f tran|
|00002080| 73 6c 61 74 65 5c 6e 22 | 2c 20 6f 72 69 67 78 2c |slate\n"|, origx,|
|00002090| 20 6f 72 69 67 79 29 3b | 0a 58 0a 58 20 20 20 20 | origy);|.X.X |
|000020a0| 20 20 2f 2a 20 73 63 61 | 6c 65 20 69 6d 61 67 65 | /* sca|le image|
|000020b0| 20 28 3d 3e 20 22 66 6c | 69 70 22 20 69 66 20 6f | (=> "fl|ip" if o|
|000020c0| 72 69 67 69 6e 20 63 68 | 61 6e 67 69 6e 67 29 20 |rigin ch|anging) |
|000020d0| 2a 2f 0a 58 20 20 20 20 | 20 20 66 70 72 69 6e 74 |*/.X | fprint|
|000020e0| 66 28 74 66 70 2c 20 22 | 25 66 20 25 66 20 73 63 |f(tfp, "|%f %f sc|
|000020f0| 61 6c 65 5c 6e 22 2c 20 | 73 63 61 6c 65 78 2c 20 |ale\n", |scalex, |
|00002100| 73 63 61 6c 65 79 29 3b | 0a 58 20 20 20 20 20 20 |scaley);|.X |
|00002110| 2f 2a 20 72 6f 74 61 74 | 65 20 69 6d 61 67 65 20 |/* rotat|e image |
|00002120| 69 66 20 6c 61 6e 64 73 | 63 61 70 65 20 6d 6f 64 |if lands|cape mod|
|00002130| 65 20 2a 2f 0a 58 20 20 | 20 20 20 20 69 66 20 28 |e */.X | if (|
|00002140| 6c 61 6e 64 73 63 61 70 | 65 29 0a 58 20 20 20 20 |landscap|e).X |
|00002150| 20 20 20 20 20 20 20 20 | 20 20 66 70 72 69 6e 74 | | fprint|
|00002160| 66 28 74 66 70 2c 20 22 | 39 30 20 72 6f 74 61 74 |f(tfp, "|90 rotat|
|00002170| 65 5c 6e 22 29 3b 0a 58 | 0a 58 09 2f 2a 20 6d 61 |e\n");.X|.X./* ma|
|00002180| 6b 65 20 66 69 72 73 74 | 20 70 61 73 73 20 77 69 |ke first| pass wi|
|00002190| 74 68 20 61 72 65 61 2d | 66 69 6c 6c 65 64 20 6f |th area-|filled o|
|000021a0| 62 6a 65 63 74 73 3b 20 | 73 65 63 6f 6e 64 20 77 |bjects; |second w|
|000021b0| 69 74 68 20 6e 6f 6e 2d | 66 69 6c 6c 65 64 20 2a |ith non-|filled *|
|000021c0| 2f 0a 58 09 66 6f 72 20 | 28 66 69 6c 6c 3d 31 3b |/.X.for |(fill=1;|
|000021d0| 20 66 69 6c 6c 3e 3d 30 | 3b 20 66 69 6c 6c 2d 2d | fill>=0|; fill--|
|000021e0| 29 0a 58 09 09 7b 0a 58 | 09 09 66 6f 72 20 28 61 |).X..{.X|..for (a|
|000021f0| 20 3d 20 6f 62 6a 65 63 | 74 73 2d 3e 61 72 63 73 | = objec|ts->arcs|
|00002200| 3b 20 61 20 21 3d 20 4e | 55 4c 4c 3b 20 61 20 3d |; a != N|ULL; a =|
|00002210| 20 61 2d 3e 6e 65 78 74 | 29 20 0a 58 09 09 09 67 | a->next|) .X...g|
|00002220| 65 6e 70 73 5f 61 72 63 | 28 61 2c 66 69 6c 6c 29 |enps_arc|(a,fill)|
|00002230| 3b 0a 58 09 09 66 6f 72 | 20 28 63 20 3d 20 6f 62 |;.X..for| (c = ob|
|00002240| 6a 65 63 74 73 2d 3e 63 | 6f 6d 70 6f 75 6e 64 73 |jects->c|ompounds|
|00002250| 3b 20 63 20 21 3d 20 4e | 55 4c 4c 3b 20 63 20 3d |; c != N|ULL; c =|
|00002260| 20 63 2d 3e 6e 65 78 74 | 29 20 0a 58 09 09 09 67 | c->next|) .X...g|
|00002270| 65 6e 70 73 5f 63 6f 6d | 70 6f 75 6e 64 28 63 2c |enps_com|pound(c,|
|00002280| 66 69 6c 6c 29 3b 0a 58 | 09 09 66 6f 72 20 28 65 |fill);.X|..for (e|
|00002290| 20 3d 20 6f 62 6a 65 63 | 74 73 2d 3e 65 6c 6c 69 | = objec|ts->elli|
|000022a0| 70 73 65 73 3b 20 65 20 | 21 3d 20 4e 55 4c 4c 3b |pses; e |!= NULL;|
|000022b0| 20 65 20 3d 20 65 2d 3e | 6e 65 78 74 29 20 0a 58 | e = e->|next) .X|
|000022c0| 09 09 09 67 65 6e 70 73 | 5f 65 6c 6c 69 70 73 65 |...genps|_ellipse|
|000022d0| 28 65 2c 66 69 6c 6c 29 | 3b 0a 58 09 09 66 6f 72 |(e,fill)|;.X..for|
|000022e0| 20 28 6c 20 3d 20 6f 62 | 6a 65 63 74 73 2d 3e 6c | (l = ob|jects->l|
|000022f0| 69 6e 65 73 3b 20 6c 20 | 21 3d 20 4e 55 4c 4c 3b |ines; l |!= NULL;|
|00002300| 20 6c 20 3d 20 6c 2d 3e | 6e 65 78 74 29 20 0a 58 | l = l->|next) .X|
|00002310| 09 09 09 67 65 6e 70 73 | 5f 6c 69 6e 65 28 6c 2c |...genps|_line(l,|
|00002320| 66 69 6c 6c 29 3b 0a 58 | 09 09 66 6f 72 20 28 73 |fill);.X|..for (s|
|00002330| 20 3d 20 6f 62 6a 65 63 | 74 73 2d 3e 73 70 6c 69 | = objec|ts->spli|
|00002340| 6e 65 73 3b 20 73 20 21 | 3d 20 4e 55 4c 4c 3b 20 |nes; s !|= NULL; |
|00002350| 73 20 3d 20 73 2d 3e 6e | 65 78 74 29 20 0a 58 09 |s = s->n|ext) .X.|
|00002360| 09 09 67 65 6e 70 73 5f | 73 70 6c 69 6e 65 28 73 |..genps_|spline(s|
|00002370| 2c 66 69 6c 6c 29 3b 0a | 58 09 09 7d 0a 58 09 2f |,fill);.|X..}.X./|
|00002380| 2a 20 64 6f 20 74 65 78 | 74 20 61 66 74 65 72 20 |* do tex|t after |
|00002390| 65 76 65 72 79 74 68 69 | 6e 67 20 65 6c 73 65 20 |everythi|ng else |
|000023a0| 2a 2f 0a 58 09 66 6f 72 | 20 28 74 20 3d 20 6f 62 |*/.X.for| (t = ob|
|000023b0| 6a 65 63 74 73 2d 3e 74 | 65 78 74 73 3b 20 74 20 |jects->t|exts; t |
|000023c0| 21 3d 20 4e 55 4c 4c 3b | 20 74 20 3d 20 74 2d 3e |!= NULL;| t = t->|
|000023d0| 6e 65 78 74 29 20 0a 58 | 09 09 67 65 6e 70 73 5f |next) .X|..genps_|
|000023e0| 74 65 78 74 28 74 29 3b | 0a 58 09 65 70 69 6c 6f |text(t);|.X.epilo|
|000023f0| 67 28 29 3b 0a 58 09 7d | 0a 58 0a 58 73 65 74 5f |g();.X.}|.X.Xset_|
|00002400| 73 74 79 6c 65 28 73 2c | 20 76 29 0a 58 69 6e 74 |style(s,| v).Xint|
|00002410| 09 73 3b 0a 58 66 6c 6f | 61 74 09 76 3b 0a 58 7b |.s;.Xflo|at.v;.X{|
|00002420| 0a 58 09 69 66 20 28 73 | 20 3d 3d 20 44 41 53 48 |.X.if (s| == DASH|
|00002430| 5f 4c 49 4e 45 29 20 7b | 0a 58 09 20 20 20 20 69 |_LINE) {|.X. i|
|00002440| 66 20 28 76 20 3e 20 30 | 2e 30 29 20 66 70 72 69 |f (v > 0|.0) fpri|
|00002450| 6e 74 66 28 74 66 70 2c | 20 22 5c 74 5b 25 66 5d |ntf(tfp,| "\t[%f]|
|00002460| 20 30 20 73 65 74 64 61 | 73 68 5c 6e 22 2c 20 76 | 0 setda|sh\n", v|
|00002470| 29 3b 0a 58 09 20 20 20 | 20 7d 0a 58 09 65 6c 73 |);.X. | }.X.els|
|00002480| 65 20 69 66 20 28 73 20 | 3d 3d 20 44 4f 54 54 45 |e if (s |== DOTTE|
|00002490| 44 5f 4c 49 4e 45 29 20 | 7b 0a 58 09 20 20 20 20 |D_LINE) |{.X. |
|000024a0| 69 66 20 28 76 20 3e 20 | 30 2e 30 29 20 66 70 72 |if (v > |0.0) fpr|
|000024b0| 69 6e 74 66 28 74 66 70 | 2c 20 22 5c 74 5b 31 20 |intf(tfp|, "\t[1 |
|000024c0| 25 66 5d 20 30 20 73 65 | 74 64 61 73 68 5c 6e 22 |%f] 0 se|tdash\n"|
|000024d0| 2c 20 76 29 3b 0a 58 09 | 20 20 20 20 7d 0a 58 09 |, v);.X.| }.X.|
|000024e0| 7d 0a 58 0a 58 72 65 73 | 65 74 5f 73 74 79 6c 65 |}.X.Xres|et_style|
|000024f0| 28 73 2c 20 76 29 0a 58 | 69 6e 74 09 73 3b 0a 58 |(s, v).X|int.s;.X|
|00002500| 66 6c 6f 61 74 09 76 3b | 0a 58 7b 0a 58 09 69 66 |float.v;|.X{.X.if|
|00002510| 20 28 73 20 3d 3d 20 44 | 41 53 48 5f 4c 49 4e 45 | (s == D|ASH_LINE|
|00002520| 29 20 7b 0a 58 09 20 20 | 20 20 69 66 20 28 76 20 |) {.X. | if (v |
|00002530| 3e 20 30 2e 30 29 20 66 | 70 72 69 6e 74 66 28 74 |> 0.0) f|printf(t|
|00002540| 66 70 2c 20 22 5c 74 5b | 5d 20 30 20 73 65 74 64 |fp, "\t[|] 0 setd|
|00002550| 61 73 68 5c 6e 22 29 3b | 0a 58 09 20 20 20 20 7d |ash\n");|.X. }|
|00002560| 0a 58 09 65 6c 73 65 20 | 69 66 20 28 73 20 3d 3d |.X.else |if (s ==|
|00002570| 20 44 4f 54 54 45 44 5f | 4c 49 4e 45 29 20 7b 0a | DOTTED_|LINE) {.|
|00002580| 58 09 20 20 20 20 69 66 | 20 28 76 20 3e 20 30 2e |X. if| (v > 0.|
|00002590| 30 29 20 66 70 72 69 6e | 74 66 28 74 66 70 2c 20 |0) fprin|tf(tfp, |
|000025a0| 22 5c 74 5b 5d 20 30 20 | 73 65 74 64 61 73 68 5c |"\t[] 0 |setdash\|
|000025b0| 6e 22 29 3b 0a 58 09 20 | 20 20 20 7d 0a 58 09 7d |n");.X. | }.X.}|
|000025c0| 0a 58 0a 58 73 65 74 5f | 61 72 65 61 66 69 6c 6c |.X.Xset_|areafill|
|000025d0| 28 61 29 0a 58 69 6e 74 | 20 61 3b 0a 58 7b 0a 58 |(a).Xint| a;.X{.X|
|000025e0| 09 69 66 20 28 63 75 72 | 5f 61 72 65 61 66 69 6c |.if (cur|_areafil|
|000025f0| 6c 20 21 3d 20 61 29 0a | 58 09 09 7b 0a 58 09 09 |l != a).|X..{.X..|
|00002600| 63 75 72 5f 61 72 65 61 | 66 69 6c 6c 20 3d 20 61 |cur_area|fill = a|
|00002610| 3b 0a 58 09 09 66 70 72 | 69 6e 74 66 28 74 66 70 |;.X..fpr|intf(tfp|
|00002620| 2c 20 22 25 2e 32 66 20 | 73 65 74 67 72 61 79 5c |, "%.2f |setgray\|
|00002630| 6e 22 2c 31 2e 30 2d 28 | 61 2d 31 2e 30 29 2f 28 |n",1.0-(|a-1.0)/(|
|00002640| 4e 55 4d 46 49 4c 4c 50 | 41 54 53 2d 31 2e 30 29 |NUMFILLP|ATS-1.0)|
|00002650| 29 3b 0a 58 09 09 7d 0a | 58 09 7d 0a 58 0a 58 73 |);.X..}.|X.}.X.Xs|
|00002660| 65 74 5f 6c 69 6e 65 77 | 69 64 74 68 28 77 29 0a |et_linew|idth(w).|
|00002670| 58 69 6e 74 09 77 3b 0a | 58 7b 0a 58 09 65 78 74 |Xint.w;.|X{.X.ext|
|00002680| 65 72 6e 20 69 6e 74 09 | 63 75 72 5f 74 68 69 63 |ern int.|cur_thic|
|00002690| 6b 6e 65 73 73 3b 0a 58 | 0a 58 09 69 66 20 28 77 |kness;.X|.X.if (w|
|000026a0| 20 21 3d 20 63 75 72 5f | 74 68 69 63 6b 6e 65 73 | != cur_|thicknes|
|000026b0| 73 29 20 7b 0a 58 09 20 | 20 20 20 63 75 72 5f 74 |s) {.X. | cur_t|
|000026c0| 68 69 63 6b 6e 65 73 73 | 20 3d 20 77 3b 0a 58 09 |hickness| = w;.X.|
|000026d0| 20 20 20 20 66 70 72 69 | 6e 74 66 28 74 66 70 2c | fpri|ntf(tfp,|
|000026e0| 20 22 25 2e 33 66 20 73 | 65 74 6c 69 6e 65 77 69 | "%.3f s|etlinewi|
|000026f0| 64 74 68 5c 6e 22 2c 20 | 2f 2a 20 30 2e 37 20 2a |dth\n", |/* 0.7 *|
|00002700| 20 2a 2f 20 31 2e 30 20 | 2a 20 63 75 72 5f 74 68 | */ 1.0 |* cur_th|
|00002710| 69 63 6b 6e 65 73 73 29 | 3b 0a 58 09 20 20 20 20 |ickness)|;.X. |
|00002720| 7d 0a 58 09 7d 0a 58 0a | 58 67 65 6e 70 73 5f 63 |}.X.}.X.|Xgenps_c|
|00002730| 6f 6d 70 6f 75 6e 64 28 | 63 6f 6d 2c 66 69 6c 6c |ompound(|com,fill|
|00002740| 29 0a 58 46 5f 63 6f 6d | 70 6f 75 6e 64 09 2a 63 |).XF_com|pound.*c|
|00002750| 6f 6d 3b 0a 58 69 6e 74 | 20 66 69 6c 6c 3b 0a 58 |om;.Xint| fill;.X|
|00002760| 7b 0a 58 09 46 5f 61 72 | 63 09 09 2a 61 3b 0a 58 |{.X.F_ar|c..*a;.X|
|00002770| 09 46 5f 63 6f 6d 70 6f | 75 6e 64 09 2a 63 3b 0a |.F_compo|und.*c;.|
|00002780| 58 09 46 5f 65 6c 6c 69 | 70 73 65 09 2a 65 3b 0a |X.F_elli|pse.*e;.|
|00002790| 58 09 46 5f 6c 69 6e 65 | 09 09 2a 6c 3b 0a 58 09 |X.F_line|..*l;.X.|
|000027a0| 46 5f 73 70 6c 69 6e 65 | 09 2a 73 3b 0a 58 09 46 |F_spline|.*s;.X.F|
|000027b0| 5f 74 65 78 74 09 09 2a | 74 3b 0a 58 0a 58 09 66 |_text..*|t;.X.X.f|
|000027c0| 6f 72 20 28 61 20 3d 20 | 63 6f 6d 2d 3e 61 72 63 |or (a = |com->arc|
|000027d0| 73 3b 20 61 20 21 3d 20 | 4e 55 4c 4c 3b 20 61 20 |s; a != |NULL; a |
|000027e0| 3d 20 61 2d 3e 6e 65 78 | 74 29 20 0a 58 09 09 67 |= a->nex|t) .X..g|
|000027f0| 65 6e 70 73 5f 61 72 63 | 28 61 2c 66 69 6c 6c 29 |enps_arc|(a,fill)|
|00002800| 3b 0a 58 09 66 6f 72 20 | 28 63 20 3d 20 63 6f 6d |;.X.for |(c = com|
|00002810| 2d 3e 63 6f 6d 70 6f 75 | 6e 64 73 3b 20 63 20 21 |->compou|nds; c !|
|00002820| 3d 20 4e 55 4c 4c 3b 20 | 63 20 3d 20 63 2d 3e 6e |= NULL; |c = c->n|
|00002830| 65 78 74 29 20 0a 58 09 | 09 67 65 6e 70 73 5f 63 |ext) .X.|.genps_c|
|00002840| 6f 6d 70 6f 75 6e 64 28 | 63 2c 66 69 6c 6c 29 3b |ompound(|c,fill);|
|00002850| 0a 58 09 66 6f 72 20 28 | 65 20 3d 20 63 6f 6d 2d |.X.for (|e = com-|
|00002860| 3e 65 6c 6c 69 70 73 65 | 73 3b 20 65 20 21 3d 20 |>ellipse|s; e != |
|00002870| 4e 55 4c 4c 3b 20 65 20 | 3d 20 65 2d 3e 6e 65 78 |NULL; e |= e->nex|
|00002880| 74 29 20 0a 58 09 09 67 | 65 6e 70 73 5f 65 6c 6c |t) .X..g|enps_ell|
|00002890| 69 70 73 65 28 65 2c 66 | 69 6c 6c 29 3b 0a 58 09 |ipse(e,f|ill);.X.|
|000028a0| 66 6f 72 20 28 6c 20 3d | 20 63 6f 6d 2d 3e 6c 69 |for (l =| com->li|
|000028b0| 6e 65 73 3b 20 6c 20 21 | 3d 20 4e 55 4c 4c 3b 20 |nes; l !|= NULL; |
|000028c0| 6c 20 3d 20 6c 2d 3e 6e | 65 78 74 29 20 0a 58 09 |l = l->n|ext) .X.|
|000028d0| 09 67 65 6e 70 73 5f 6c | 69 6e 65 28 6c 2c 66 69 |.genps_l|ine(l,fi|
|000028e0| 6c 6c 29 3b 0a 58 09 66 | 6f 72 20 28 73 20 3d 20 |ll);.X.f|or (s = |
|000028f0| 63 6f 6d 2d 3e 73 70 6c | 69 6e 65 73 3b 20 73 20 |com->spl|ines; s |
|00002900| 21 3d 20 4e 55 4c 4c 3b | 20 73 20 3d 20 73 2d 3e |!= NULL;| s = s->|
|00002910| 6e 65 78 74 29 20 0a 58 | 09 09 67 65 6e 70 73 5f |next) .X|..genps_|
|00002920| 73 70 6c 69 6e 65 28 73 | 2c 66 69 6c 6c 29 3b 0a |spline(s|,fill);.|
|00002930| 58 09 69 66 20 28 66 69 | 6c 6c 3d 3d 30 29 09 2f |X.if (fi|ll==0)./|
|00002940| 2a 20 6e 6f 20 66 69 6c | 6c 65 64 20 74 65 78 74 |* no fil|led text|
|00002950| 2c 20 6a 75 73 74 20 64 | 6f 20 74 65 78 74 20 6f |, just d|o text o|
|00002960| 6e 20 74 68 65 20 6e 6f | 6e 2d 66 69 6c 6c 65 64 |n the no|n-filled|
|00002970| 20 70 61 73 73 20 2a 2f | 0a 58 09 09 66 6f 72 20 | pass */|.X..for |
|00002980| 28 74 20 3d 20 63 6f 6d | 2d 3e 74 65 78 74 73 3b |(t = com|->texts;|
|00002990| 20 74 20 21 3d 20 4e 55 | 4c 4c 3b 20 74 20 3d 20 | t != NU|LL; t = |
|000029a0| 74 2d 3e 6e 65 78 74 29 | 20 0a 58 09 09 09 67 65 |t->next)| .X...ge|
|000029b0| 6e 70 73 5f 74 65 78 74 | 28 74 29 3b 0a 58 09 7d |nps_text|(t);.X.}|
|000029c0| 0a 58 0a 58 67 65 6e 70 | 73 5f 6c 69 6e 65 28 6c |.X.Xgenp|s_line(l|
|000029d0| 2c 66 69 6c 6c 29 0a 58 | 46 5f 6c 69 6e 65 09 2a |,fill).X|F_line.*|
|000029e0| 6c 3b 0a 58 69 6e 74 20 | 66 69 6c 6c 3b 0a 58 7b |l;.Xint |fill;.X{|
|000029f0| 0a 58 09 46 5f 70 6f 69 | 6e 74 09 09 2a 70 2c 20 |.X.F_poi|nt..*p, |
|00002a00| 2a 71 3b 0a 58 09 69 6e | 74 09 09 72 61 64 69 75 |*q;.X.in|t..radiu|
|00002a10| 73 3b 0a 58 0a 58 09 69 | 66 20 28 28 66 69 6c 6c |s;.X.X.i|f ((fill|
|00002a20| 20 26 26 20 6c 2d 3e 61 | 72 65 61 5f 66 69 6c 6c | && l->a|rea_fill|
|00002a30| 3d 3d 30 29 20 7c 7c 0a | 58 09 20 20 20 20 28 66 |==0) ||.|X. (f|
|00002a40| 69 6c 6c 3d 3d 30 20 26 | 26 20 6c 2d 3e 61 72 65 |ill==0 &|& l->are|
|00002a50| 61 5f 66 69 6c 6c 29 29 | 0a 58 09 09 72 65 74 75 |a_fill))|.X..retu|
|00002a60| 72 6e 3b 0a 58 0a 58 09 | 73 65 74 5f 6c 69 6e 65 |rn;.X.X.|set_line|
|00002a70| 77 69 64 74 68 28 6c 2d | 3e 74 68 69 63 6b 6e 65 |width(l-|>thickne|
|00002a80| 73 73 29 3b 0a 58 09 72 | 61 64 69 75 73 20 3d 20 |ss);.X.r|adius = |
|00002a90| 6c 2d 3e 72 61 64 69 75 | 73 3b 09 09 2f 2a 20 72 |l->radiu|s;../* r|
|00002aa0| 61 64 69 75 73 20 6f 66 | 20 72 6f 75 6e 64 65 64 |adius of| rounded|
|00002ab0| 2d 63 6f 72 6e 65 72 20 | 62 6f 78 65 73 20 2a 2f |-corner |boxes */|
|00002ac0| 0a 58 09 70 20 3d 20 6c | 2d 3e 70 6f 69 6e 74 73 |.X.p = l|->points|
|00002ad0| 3b 0a 58 09 71 20 3d 20 | 70 2d 3e 6e 65 78 74 3b |;.X.q = |p->next;|
|00002ae0| 0a 58 09 69 66 20 28 71 | 20 3d 3d 20 4e 55 4c 4c |.X.if (q| == NULL|
|00002af0| 29 20 7b 20 2f 2a 20 41 | 20 73 69 6e 67 6c 65 20 |) { /* A| single |
|00002b00| 70 6f 69 6e 74 20 6c 69 | 6e 65 20 2a 2f 0a 58 09 |point li|ne */.X.|
|00002b10| 20 20 20 20 69 66 20 28 | 6c 2d 3e 74 68 69 63 6b | if (|l->thick|
|00002b20| 6e 65 73 73 20 3e 20 30 | 29 0a 58 09 09 66 70 72 |ness > 0|).X..fpr|
|00002b30| 69 6e 74 66 28 74 66 70 | 2c 20 22 6e 65 77 70 61 |intf(tfp|, "newpa|
|00002b40| 74 68 20 25 64 20 25 64 | 20 6d 6f 76 65 74 6f 20 |th %d %d| moveto |
|00002b50| 25 64 20 25 64 20 6c 69 | 6e 65 74 6f 20 73 74 72 |%d %d li|neto str|
|00002b60| 6f 6b 65 5c 6e 22 2c 0a | 58 09 09 09 70 2d 3e 78 |oke\n",.|X...p->x|
|00002b70| 2c 20 70 2d 3e 79 2c 20 | 70 2d 3e 78 2c 20 70 2d |, p->y, |p->x, p-|
|00002b80| 3e 79 29 3b 0a 58 09 20 | 20 20 20 65 6c 73 65 0a |>y);.X. | else.|
|00002b90| 58 09 09 66 70 72 69 6e | 74 66 28 74 66 70 2c 20 |X..fprin|tf(tfp, |
|00002ba0| 22 6e 65 77 70 61 74 68 | 20 25 64 20 25 64 20 6d |"newpath| %d %d m|
|00002bb0| 6f 76 65 74 6f 20 25 64 | 20 25 64 20 6c 69 6e 65 |oveto %d| %d line|
|00002bc0| 74 6f 5c 6e 22 2c 0a 58 | 09 09 09 70 2d 3e 78 2c |to\n",.X|...p->x,|
|00002bd0| 20 70 2d 3e 79 2c 20 70 | 2d 3e 78 2c 20 70 2d 3e | p->y, p|->x, p->|
|00002be0| 79 29 3b 0a 58 09 20 20 | 20 20 72 65 74 75 72 6e |y);.X. | return|
|00002bf0| 3b 0a 58 09 20 20 20 20 | 7d 0a 58 09 69 66 20 28 |;.X. |}.X.if (|
|00002c00| 6c 2d 3e 62 61 63 6b 5f | 61 72 72 6f 77 29 0a 58 |l->back_|arrow).X|
|00002c10| 09 20 20 20 20 64 72 61 | 77 5f 61 72 72 6f 77 5f |. dra|w_arrow_|
|00002c20| 68 65 61 64 28 28 66 6c | 6f 61 74 29 71 2d 3e 78 |head((fl|oat)q->x|
|00002c30| 2c 20 28 66 6c 6f 61 74 | 29 71 2d 3e 79 2c 20 28 |, (float|)q->y, (|
|00002c40| 66 6c 6f 61 74 29 70 2d | 3e 78 2c 0a 58 09 09 09 |float)p-|>x,.X...|
|00002c50| 28 66 6c 6f 61 74 29 70 | 2d 3e 79 2c 20 6c 2d 3e |(float)p|->y, l->|
|00002c60| 62 61 63 6b 5f 61 72 72 | 6f 77 2d 3e 68 74 2c 20 |back_arr|ow->ht, |
|00002c70| 6c 2d 3e 62 61 63 6b 5f | 61 72 72 6f 77 2d 3e 77 |l->back_|arrow->w|
|00002c80| 69 64 29 3b 0a 58 09 73 | 65 74 5f 73 74 79 6c 65 |id);.X.s|et_style|
|00002c90| 28 6c 2d 3e 73 74 79 6c | 65 2c 20 6c 2d 3e 73 74 |(l->styl|e, l->st|
|00002ca0| 79 6c 65 5f 76 61 6c 29 | 3b 0a 58 09 66 70 72 69 |yle_val)|;.X.fpri|
|00002cb0| 6e 74 66 28 74 66 70 2c | 20 22 25 25 20 50 6f 6c |ntf(tfp,| "%% Pol|
|00002cc0| 79 6c 69 6e 65 5c 6e 22 | 29 3b 0a 58 09 69 66 20 |yline\n"|);.X.if |
|00002cd0| 28 6c 2d 3e 74 79 70 65 | 20 3d 3d 20 54 5f 41 52 |(l->type| == T_AR|
|00002ce0| 43 5f 42 4f 58 29 09 2f | 2a 20 72 6f 75 6e 64 65 |C_BOX)./|* rounde|
|00002cf0| 64 2d 63 6f 72 6e 65 72 | 20 62 6f 78 20 2a 2f 0a |d-corner| box */.|
|00002d00| 58 09 09 7b 0a 58 09 09 | 72 65 67 69 73 74 65 72 |X..{.X..|register|
|00002d10| 20 69 6e 74 20 78 6d 69 | 6e 2c 78 6d 61 78 2c 79 | int xmi|n,xmax,y|
|00002d20| 6d 69 6e 2c 79 6d 61 78 | 3b 0a 58 0a 58 09 09 78 |min,ymax|;.X.X..x|
|00002d30| 6d 69 6e 20 3d 20 78 6d | 61 78 20 3d 20 70 2d 3e |min = xm|ax = p->|
|00002d40| 78 3b 0a 58 09 09 79 6d | 69 6e 20 3d 20 79 6d 61 |x;.X..ym|in = yma|
|00002d50| 78 20 3d 20 70 2d 3e 79 | 3b 0a 58 09 09 77 68 69 |x = p->y|;.X..whi|
|00002d60| 6c 65 20 28 70 2d 3e 6e | 65 78 74 20 21 3d 20 4e |le (p->n|ext != N|
|00002d70| 55 4c 4c 29 09 2f 2a 20 | 66 69 6e 64 20 6c 6f 77 |ULL)./* |find low|
|00002d80| 65 72 20 6c 65 66 74 20 | 61 6e 64 20 75 70 70 65 |er left |and uppe|
|00002d90| 72 20 72 69 67 68 74 20 | 63 6f 72 6e 65 72 73 20 |r right |corners |
|00002da0| 2a 2f 0a 58 09 09 09 7b | 0a 58 09 09 09 70 3d 70 |*/.X...{|.X...p=p|
|00002db0| 2d 3e 6e 65 78 74 3b 0a | 58 09 09 09 69 66 20 28 |->next;.|X...if (|
|00002dc0| 78 6d 69 6e 20 3e 20 70 | 2d 3e 78 29 0a 58 09 09 |xmin > p|->x).X..|
|00002dd0| 09 09 78 6d 69 6e 20 3d | 20 70 2d 3e 78 3b 0a 58 |..xmin =| p->x;.X|
|00002de0| 09 09 09 65 6c 73 65 20 | 69 66 20 28 78 6d 61 78 |...else |if (xmax|
|00002df0| 20 3c 20 70 2d 3e 78 29 | 0a 58 09 09 09 09 78 6d | < p->x)|.X....xm|
|00002e00| 61 78 20 3d 20 70 2d 3e | 78 3b 0a 58 09 09 09 69 |ax = p->|x;.X...i|
|00002e10| 66 20 28 79 6d 69 6e 20 | 3e 20 70 2d 3e 79 29 0a |f (ymin |> p->y).|
|00002e20| 58 09 09 09 09 79 6d 69 | 6e 20 3d 20 70 2d 3e 79 |X....ymi|n = p->y|
|00002e30| 3b 0a 58 09 09 09 65 6c | 73 65 20 69 66 20 28 79 |;.X...el|se if (y|
|00002e40| 6d 61 78 20 3c 20 70 2d | 3e 79 29 0a 58 09 09 09 |max < p-|>y).X...|
|00002e50| 09 79 6d 61 78 20 3d 20 | 70 2d 3e 79 3b 0a 58 09 |.ymax = |p->y;.X.|
|00002e60| 09 09 7d 0a 58 09 09 66 | 70 72 69 6e 74 66 28 74 |..}.X..f|printf(t|
|00002e70| 66 70 2c 20 22 6e 65 77 | 70 61 74 68 20 25 64 20 |fp, "new|path %d |
|00002e80| 25 64 20 6d 6f 76 65 74 | 6f 22 2c 78 6d 69 6e 2b |%d movet|o",xmin+|
|00002e90| 72 61 64 69 75 73 2c 20 | 79 6d 69 6e 29 3b 0a 58 |radius, |ymin);.X|
|00002ea0| 09 09 66 70 72 69 6e 74 | 66 28 74 66 70 2c 20 22 |..fprint|f(tfp, "|
|00002eb0| 20 25 64 20 25 64 20 25 | 64 20 25 64 20 25 64 20 | %d %d %|d %d %d |
|00002ec0| 61 72 63 74 6f 20 34 20 | 7b 70 6f 70 7d 20 72 65 |arcto 4 |{pop} re|
|00002ed0| 70 65 61 74 22 2c 0a 58 | 09 09 09 09 78 6d 69 6e |peat",.X|....xmin|
|00002ee0| 2c 20 79 6d 69 6e 2c 20 | 78 6d 69 6e 2c 20 79 6d |, ymin, |xmin, ym|
|00002ef0| 61 78 2d 72 61 64 69 75 | 73 2c 20 72 61 64 69 75 |ax-radiu|s, radiu|
|00002f00| 73 29 3b 0a 58 09 09 66 | 70 72 69 6e 74 66 28 74 |s);.X..f|printf(t|
|00002f10| 66 70 2c 20 22 20 25 64 | 20 25 64 20 25 64 20 25 |fp, " %d| %d %d %|
|00002f20| 64 20 25 64 20 61 72 63 | 74 6f 20 34 20 7b 70 6f |d %d arc|to 4 {po|
|00002f30| 70 7d 20 72 65 70 65 61 | 74 22 2c 20 2f 2a 20 61 |p} repea|t", /* a|
|00002f40| 72 63 20 74 68 72 6f 75 | 67 68 20 62 6c 20 74 6f |rc throu|gh bl to|
|00002f50| 20 62 72 20 2a 2f 0a 58 | 09 09 09 09 78 6d 69 6e | br */.X|....xmin|
|00002f60| 2c 20 79 6d 61 78 2c 20 | 78 6d 61 78 2d 72 61 64 |, ymax, |xmax-rad|
|00002f70| 69 75 73 2c 20 79 6d 61 | 78 2c 20 72 61 64 69 75 |ius, yma|x, radiu|
|00002f80| 73 29 3b 0a 58 09 09 66 | 70 72 69 6e 74 66 28 74 |s);.X..f|printf(t|
|00002f90| 66 70 2c 20 22 20 25 64 | 20 25 64 20 25 64 20 25 |fp, " %d| %d %d %|
|00002fa0| 64 20 25 64 20 61 72 63 | 74 6f 20 34 20 7b 70 6f |d %d arc|to 4 {po|
|00002fb0| 70 7d 20 72 65 70 65 61 | 74 22 2c 20 2f 2a 20 61 |p} repea|t", /* a|
|00002fc0| 72 63 20 74 68 72 6f 75 | 67 68 20 62 72 20 74 6f |rc throu|gh br to|
|00002fd0| 20 74 72 20 2a 2f 0a 58 | 09 09 09 09 78 6d 61 78 | tr */.X|....xmax|
|00002fe0| 2c 20 79 6d 61 78 2c 20 | 78 6d 61 78 2c 20 79 6d |, ymax, |xmax, ym|
|00002ff0| 69 6e 2b 72 61 64 69 75 | 73 2c 20 72 61 64 69 75 |in+radiu|s, radiu|
|00003000| 73 29 3b 0a 58 09 09 66 | 70 72 69 6e 74 66 28 74 |s);.X..f|printf(t|
|00003010| 66 70 2c 20 22 20 25 64 | 20 25 64 20 25 64 20 25 |fp, " %d| %d %d %|
|00003020| 64 20 25 64 20 61 72 63 | 74 6f 20 34 20 7b 70 6f |d %d arc|to 4 {po|
|00003030| 70 7d 20 72 65 70 65 61 | 74 22 2c 20 2f 2a 20 61 |p} repea|t", /* a|
|00003040| 72 63 20 74 68 72 6f 75 | 67 68 20 74 72 20 74 6f |rc throu|gh tr to|
|00003050| 20 74 6c 20 2a 2f 0a 58 | 09 09 09 09 78 6d 61 78 | tl */.X|....xmax|
|00003060| 2c 20 79 6d 69 6e 2c 20 | 78 6d 69 6e 2b 72 61 64 |, ymin, |xmin+rad|
|00003070| 69 75 73 2c 20 79 6d 69 | 6e 2c 20 72 61 64 69 75 |ius, ymi|n, radiu|
|00003080| 73 29 3b 0a 58 09 09 7d | 0a 58 09 65 6c 73 65 0a |s);.X..}|.X.else.|
|00003090| 58 09 09 7b 0a 58 09 09 | 66 70 72 69 6e 74 66 28 |X..{.X..|fprintf(|
|000030a0| 74 66 70 2c 20 22 6e 65 | 77 70 61 74 68 20 25 64 |tfp, "ne|wpath %d|
|000030b0| 20 25 64 20 6d 6f 76 65 | 74 6f 22 2c 20 70 2d 3e | %d move|to", p->|
|000030c0| 78 2c 20 70 2d 3e 79 29 | 3b 0a 58 09 09 77 68 69 |x, p->y)|;.X..whi|
|000030d0| 6c 65 20 28 71 2d 3e 6e | 65 78 74 20 21 3d 20 4e |le (q->n|ext != N|
|000030e0| 55 4c 4c 29 20 7b 0a 58 | 09 09 20 20 20 20 70 20 |ULL) {.X|.. p |
|000030f0| 3d 20 71 3b 0a 58 09 09 | 20 20 20 20 71 20 3d 20 |= q;.X..| q = |
|00003100| 71 2d 3e 6e 65 78 74 3b | 0a 58 09 09 20 20 20 20 |q->next;|.X.. |
|00003110| 66 70 72 69 6e 74 66 28 | 74 66 70 2c 20 22 20 25 |fprintf(|tfp, " %|
|00003120| 64 20 25 64 20 6c 69 6e | 65 74 6f 22 2c 20 70 2d |d %d lin|eto", p-|
|00003130| 3e 78 2c 20 70 2d 3e 79 | 29 3b 0a 58 09 09 20 20 |>x, p->y|);.X.. |
|00003140| 20 20 7d 0a 58 09 09 7d | 0a 58 09 69 66 20 28 6c | }.X..}|.X.if (l|
|00003150| 2d 3e 74 79 70 65 20 3d | 3d 20 54 5f 50 4f 4c 59 |->type =|= T_POLY|
|00003160| 4c 49 4e 45 29 0a 58 09 | 20 20 20 20 7b 0a 58 09 |LINE).X.| {.X.|
|00003170| 20 20 20 20 69 66 20 28 | 6c 2d 3e 74 68 69 63 6b | if (|l->thick|
|00003180| 6e 65 73 73 20 3e 20 30 | 29 0a 58 09 09 66 70 72 |ness > 0|).X..fpr|
|00003190| 69 6e 74 66 28 74 66 70 | 2c 20 22 20 25 64 20 25 |intf(tfp|, " %d %|
|000031a0| 64 20 6c 69 6e 65 74 6f | 20 73 74 72 6f 6b 65 5c |d lineto| stroke\|
|000031b0| 6e 22 2c 20 71 2d 3e 78 | 2c 20 71 2d 3e 79 29 3b |n", q->x|, q->y);|
|000031c0| 0a 58 09 20 20 20 20 65 | 6c 73 65 0a 58 09 09 66 |.X. e|lse.X..f|
|000031d0| 70 72 69 6e 74 66 28 74 | 66 70 2c 20 22 20 25 64 |printf(t|fp, " %d|
|000031e0| 20 25 64 20 6c 69 6e 65 | 74 6f 5c 6e 22 2c 20 71 | %d line|to\n", q|
|000031f0| 2d 3e 78 2c 20 71 2d 3e | 79 29 3b 0a 58 09 20 20 |->x, q->|y);.X. |
|00003200| 20 20 7d 0a 58 09 65 6c | 73 65 0a 58 09 20 20 20 | }.X.el|se.X. |
|00003210| 20 7b 0a 58 09 20 20 20 | 20 66 70 72 69 6e 74 66 | {.X. | fprintf|
|00003220| 28 74 66 70 2c 20 22 20 | 63 6c 6f 73 65 70 61 74 |(tfp, " |closepat|
|00003230| 68 20 22 29 3b 0a 58 09 | 20 20 20 20 69 66 20 28 |h ");.X.| if (|
|00003240| 6c 2d 3e 61 72 65 61 5f | 66 69 6c 6c 29 0a 58 09 |l->area_|fill).X.|
|00003250| 09 7b 0a 58 09 09 73 65 | 74 5f 61 72 65 61 66 69 |.{.X..se|t_areafi|
|00003260| 6c 6c 28 6c 2d 3e 61 72 | 65 61 5f 66 69 6c 6c 29 |ll(l->ar|ea_fill)|
|00003270| 3b 0a 58 09 09 66 70 72 | 69 6e 74 66 28 74 66 70 |;.X..fpr|intf(tfp|
|00003280| 2c 20 22 20 67 73 61 76 | 65 20 66 69 6c 6c 20 67 |, " gsav|e fill g|
|00003290| 72 65 73 74 6f 72 65 20 | 22 29 3b 0a 58 09 09 73 |restore |");.X..s|
|000032a0| 65 74 5f 61 72 65 61 66 | 69 6c 6c 28 4e 55 4d 46 |et_areaf|ill(NUMF|
|000032b0| 49 4c 4c 50 41 54 53 29 | 3b 09 2f 2a 20 62 61 63 |ILLPATS)|;./* bac|
|000032c0| 6b 20 74 6f 20 62 6c 61 | 63 6b 20 6c 69 6e 65 20 |k to bla|ck line |
|000032d0| 2a 2f 0a 58 09 09 7d 0a | 58 09 20 20 20 20 69 66 |*/.X..}.|X. if|
|000032e0| 20 28 6c 2d 3e 74 68 69 | 63 6b 6e 65 73 73 20 3e | (l->thi|ckness >|
|000032f0| 20 30 29 0a 58 09 09 66 | 70 72 69 6e 74 66 28 74 | 0).X..f|printf(t|
|00003300| 66 70 2c 20 22 20 73 74 | 72 6f 6b 65 5c 6e 22 29 |fp, " st|roke\n")|
|00003310| 3b 0a 58 09 20 20 20 20 | 7d 0a 58 0a 58 09 72 65 |;.X. |}.X.X.re|
|00003320| 73 65 74 5f 73 74 79 6c | 65 28 6c 2d 3e 73 74 79 |set_styl|e(l->sty|
|00003330| 6c 65 2c 20 6c 2d 3e 73 | 74 79 6c 65 5f 76 61 6c |le, l->s|tyle_val|
|00003340| 29 3b 0a 58 09 69 66 20 | 28 6c 2d 3e 66 6f 72 5f |);.X.if |(l->for_|
|00003350| 61 72 72 6f 77 20 26 26 | 20 6c 2d 3e 74 68 69 63 |arrow &&| l->thic|
|00003360| 6b 6e 65 73 73 20 3e 20 | 30 29 0a 58 09 20 20 20 |kness > |0).X. |
|00003370| 20 64 72 61 77 5f 61 72 | 72 6f 77 5f 68 65 61 64 | draw_ar|row_head|
|00003380| 28 28 66 6c 6f 61 74 29 | 70 2d 3e 78 2c 20 28 66 |((float)|p->x, (f|
|00003390| 6c 6f 61 74 29 70 2d 3e | 79 2c 20 28 66 6c 6f 61 |loat)p->|y, (floa|
|000033a0| 74 29 71 2d 3e 78 2c 0a | 58 09 09 09 28 66 6c 6f |t)q->x,.|X...(flo|
|000033b0| 61 74 29 71 2d 3e 79 2c | 20 6c 2d 3e 66 6f 72 5f |at)q->y,| l->for_|
|000033c0| 61 72 72 6f 77 2d 3e 68 | 74 2c 20 6c 2d 3e 66 6f |arrow->h|t, l->fo|
|000033d0| 72 5f 61 72 72 6f 77 2d | 3e 77 69 64 29 3b 0a 58 |r_arrow-|>wid);.X|
|000033e0| 09 7d 0a 58 0a 58 67 65 | 6e 70 73 5f 73 70 6c 69 |.}.X.Xge|nps_spli|
|000033f0| 6e 65 28 73 2c 66 69 6c | 6c 29 0a 58 46 5f 73 70 |ne(s,fil|l).XF_sp|
|00003400| 6c 69 6e 65 09 2a 73 3b | 0a 58 69 6e 74 20 66 69 |line.*s;|.Xint fi|
|00003410| 6c 6c 3b 0a 58 7b 0a 58 | 09 69 66 20 28 69 6e 74 |ll;.X{.X|.if (int|
|00003420| 5f 73 70 6c 69 6e 65 28 | 73 29 29 0a 58 09 20 20 |_spline(|s)).X. |
|00003430| 20 20 67 65 6e 70 73 5f | 69 74 70 5f 73 70 6c 69 | genps_|itp_spli|
|00003440| 6e 65 28 73 2c 66 69 6c | 6c 29 3b 0a 58 09 65 6c |ne(s,fil|l);.X.el|
|00003450| 73 65 0a 58 09 20 20 20 | 20 67 65 6e 70 73 5f 63 |se.X. | genps_c|
|00003460| 74 6c 5f 73 70 6c 69 6e | 65 28 73 2c 66 69 6c 6c |tl_splin|e(s,fill|
|00003470| 29 3b 0a 58 09 7d 0a 58 | 0a 58 67 65 6e 70 73 5f |);.X.}.X|.Xgenps_|
|00003480| 69 74 70 5f 73 70 6c 69 | 6e 65 28 73 2c 66 69 6c |itp_spli|ne(s,fil|
|00003490| 6c 29 0a 58 46 5f 73 70 | 6c 69 6e 65 09 2a 73 3b |l).XF_sp|line.*s;|
|000034a0| 0a 58 69 6e 74 20 66 69 | 6c 6c 3b 0a 58 7b 0a 58 |.Xint fi|ll;.X{.X|
|000034b0| 09 46 5f 70 6f 69 6e 74 | 09 09 2a 70 2c 20 2a 71 |.F_point|..*p, *q|
|000034c0| 3b 0a 58 09 46 5f 63 6f | 6e 74 72 6f 6c 09 2a 61 |;.X.F_co|ntrol.*a|
|000034d0| 2c 20 2a 62 3b 0a 58 0a | 58 09 69 66 20 28 28 66 |, *b;.X.|X.if ((f|
|000034e0| 69 6c 6c 20 26 26 20 73 | 2d 3e 61 72 65 61 5f 66 |ill && s|->area_f|
|000034f0| 69 6c 6c 3d 3d 30 29 20 | 7c 7c 0a 58 09 20 20 20 |ill==0) |||.X. |
|00003500| 20 28 66 69 6c 6c 3d 3d | 30 20 26 26 20 73 2d 3e | (fill==|0 && s->|
|00003510| 61 72 65 61 5f 66 69 6c | 6c 29 29 0a 58 09 09 72 |area_fil|l)).X..r|
|00003520| 65 74 75 72 6e 3b 0a 58 | 0a 58 09 73 65 74 5f 6c |eturn;.X|.X.set_l|
|00003530| 69 6e 65 77 69 64 74 68 | 28 73 2d 3e 74 68 69 63 |inewidth|(s->thic|
|00003540| 6b 6e 65 73 73 29 3b 0a | 58 09 61 20 3d 20 73 2d |kness);.|X.a = s-|
|00003550| 3e 63 6f 6e 74 72 6f 6c | 73 3b 0a 58 09 62 20 3d |>control|s;.X.b =|
|00003560| 20 61 2d 3e 6e 65 78 74 | 3b 0a 58 09 70 20 3d 20 | a->next|;.X.p = |
|00003570| 73 2d 3e 70 6f 69 6e 74 | 73 3b 0a 58 09 69 66 20 |s->point|s;.X.if |
|00003580| 28 73 2d 3e 62 61 63 6b | 5f 61 72 72 6f 77 20 26 |(s->back|_arrow &|
|00003590| 26 20 73 2d 3e 74 68 69 | 63 6b 6e 65 73 73 20 3e |& s->thi|ckness >|
|000035a0| 20 30 29 0a 58 09 20 20 | 20 20 64 72 61 77 5f 61 | 0).X. | draw_a|
|000035b0| 72 72 6f 77 5f 68 65 61 | 64 28 62 2d 3e 6c 78 2c |rrow_hea|d(b->lx,|
|000035c0| 20 62 2d 3e 6c 79 2c 20 | 28 66 6c 6f 61 74 29 70 | b->ly, |(float)p|
|000035d0| 2d 3e 78 2c 0a 58 09 09 | 09 28 66 6c 6f 61 74 29 |->x,.X..|.(float)|
|000035e0| 70 2d 3e 79 2c 20 73 2d | 3e 62 61 63 6b 5f 61 72 |p->y, s-|>back_ar|
|000035f0| 72 6f 77 2d 3e 68 74 2c | 20 73 2d 3e 62 61 63 6b |row->ht,| s->back|
|00003600| 5f 61 72 72 6f 77 2d 3e | 77 69 64 29 3b 0a 58 0a |_arrow->|wid);.X.|
|00003610| 58 09 73 65 74 5f 73 74 | 79 6c 65 28 73 2d 3e 73 |X.set_st|yle(s->s|
|00003620| 74 79 6c 65 2c 20 73 2d | 3e 73 74 79 6c 65 5f 76 |tyle, s-|>style_v|
|00003630| 61 6c 29 3b 0a 58 09 66 | 70 72 69 6e 74 66 28 74 |al);.X.f|printf(t|
|00003640| 66 70 2c 20 22 25 25 20 | 49 6e 74 65 72 70 6f 6c |fp, "%% |Interpol|
|00003650| 61 74 65 64 20 73 70 6c | 69 6e 65 5c 6e 22 29 3b |ated spl|ine\n");|
|00003660| 0a 58 09 66 70 72 69 6e | 74 66 28 74 66 70 2c 20 |.X.fprin|tf(tfp, |
|00003670| 22 6e 65 77 70 61 74 68 | 20 25 64 20 25 64 20 6d |"newpath| %d %d m|
|00003680| 6f 76 65 74 6f 5c 6e 22 | 2c 20 70 2d 3e 78 2c 20 |oveto\n"|, p->x, |
|00003690| 70 2d 3e 79 29 3b 0a 58 | 09 66 6f 72 20 28 71 20 |p->y);.X|.for (q |
|000036a0| 3d 20 70 2d 3e 6e 65 78 | 74 3b 20 71 20 21 3d 20 |= p->nex|t; q != |
|000036b0| 4e 55 4c 4c 3b 20 70 20 | 3d 20 71 2c 20 71 20 3d |NULL; p |= q, q =|
|000036c0| 20 71 2d 3e 6e 65 78 74 | 29 20 7b 0a 58 09 20 20 | q->next|) {.X. |
|000036d0| 20 20 62 20 3d 20 61 2d | 3e 6e 65 78 74 3b 0a 58 | b = a-|>next;.X|
|000036e0| 09 20 20 20 20 66 70 72 | 69 6e 74 66 28 74 66 70 |. fpr|intf(tfp|
|000036f0| 2c 20 22 5c 74 25 2e 33 | 66 20 25 2e 33 66 20 25 |, "\t%.3|f %.3f %|
|00003700| 2e 33 66 20 25 2e 33 66 | 20 25 64 20 25 64 20 63 |.3f %.3f| %d %d c|
|00003710| 75 72 76 65 74 6f 5c 6e | 22 2c 0a 58 09 09 09 61 |urveto\n|",.X...a|
|00003720| 2d 3e 72 78 2c 20 61 2d | 3e 72 79 2c 20 62 2d 3e |->rx, a-|>ry, b->|
|00003730| 6c 78 2c 20 62 2d 3e 6c | 79 2c 20 71 2d 3e 78 2c |lx, b->l|y, q->x,|
|00003740| 20 71 2d 3e 79 29 3b 0a | 58 09 20 20 20 20 61 20 | q->y);.|X. a |
|00003750| 3d 20 62 3b 0a 58 09 20 | 20 20 20 7d 0a 58 09 69 |= b;.X. | }.X.i|
|00003760| 66 20 28 63 6c 6f 73 65 | 64 5f 73 70 6c 69 6e 65 |f (close|d_spline|
|00003770| 28 73 29 29 20 0a 58 09 | 09 7b 0a 58 09 09 66 70 |(s)) .X.|.{.X..fp|
|00003780| 72 69 6e 74 66 28 74 66 | 70 2c 20 22 20 63 6c 6f |rintf(tf|p, " clo|
|00003790| 73 65 70 61 74 68 20 22 | 29 3b 0a 58 09 09 69 66 |sepath "|);.X..if|
|000037a0| 20 28 73 2d 3e 61 72 65 | 61 5f 66 69 6c 6c 29 0a | (s->are|a_fill).|
|000037b0| 58 09 09 09 7b 0a 58 09 | 09 09 73 65 74 5f 61 72 |X...{.X.|..set_ar|
|000037c0| 65 61 66 69 6c 6c 28 73 | 2d 3e 61 72 65 61 5f 66 |eafill(s|->area_f|
|000037d0| 69 6c 6c 29 3b 0a 58 09 | 09 09 66 70 72 69 6e 74 |ill);.X.|..fprint|
|000037e0| 66 28 74 66 70 2c 20 22 | 20 67 73 61 76 65 20 66 |f(tfp, "| gsave f|
|000037f0| 69 6c 6c 20 67 72 65 73 | 74 6f 72 65 20 22 29 3b |ill gres|tore ");|
|00003800| 0a 58 09 09 09 73 65 74 | 5f 61 72 65 61 66 69 6c |.X...set|_areafil|
|00003810| 6c 28 4e 55 4d 46 49 4c | 4c 50 41 54 53 29 3b 09 |l(NUMFIL|LPATS);.|
|00003820| 2f 2a 20 62 61 63 6b 20 | 74 6f 20 62 6c 61 63 6b |/* back |to black|
|00003830| 20 66 6f 72 20 6c 69 6e | 65 20 2a 2f 0a 58 09 09 | for lin|e */.X..|
|00003840| 09 7d 0a 58 09 09 7d 0a | 58 09 69 66 20 28 73 2d |.}.X..}.|X.if (s-|
|00003850| 3e 74 68 69 63 6b 6e 65 | 73 73 20 3e 20 30 29 0a |>thickne|ss > 0).|
|00003860| 58 09 20 20 20 20 66 70 | 72 69 6e 74 66 28 74 66 |X. fp|rintf(tf|
|00003870| 70 2c 20 22 20 73 74 72 | 6f 6b 65 5c 6e 22 29 3b |p, " str|oke\n");|
|00003880| 0a 58 09 72 65 73 65 74 | 5f 73 74 79 6c 65 28 73 |.X.reset|_style(s|
|00003890| 2d 3e 73 74 79 6c 65 2c | 20 73 2d 3e 73 74 79 6c |->style,| s->styl|
|000038a0| 65 5f 76 61 6c 29 3b 0a | 58 0a 58 09 69 66 20 28 |e_val);.|X.X.if (|
|000038b0| 73 2d 3e 66 6f 72 5f 61 | 72 72 6f 77 20 26 26 20 |s->for_a|rrow && |
|000038c0| 73 2d 3e 74 68 69 63 6b | 6e 65 73 73 20 3e 20 30 |s->thick|ness > 0|
|000038d0| 29 0a 58 09 20 20 20 20 | 64 72 61 77 5f 61 72 72 |).X. |draw_arr|
|000038e0| 6f 77 5f 68 65 61 64 28 | 61 2d 3e 6c 78 2c 20 61 |ow_head(|a->lx, a|
|000038f0| 2d 3e 6c 79 2c 20 28 66 | 6c 6f 61 74 29 70 2d 3e |->ly, (f|loat)p->|
|00003900| 78 2c 0a 58 09 09 09 28 | 66 6c 6f 61 74 29 70 2d |x,.X...(|float)p-|
|00003910| 3e 79 2c 20 73 2d 3e 66 | 6f 72 5f 61 72 72 6f 77 |>y, s->f|or_arrow|
|00003920| 2d 3e 68 74 2c 20 73 2d | 3e 66 6f 72 5f 61 72 72 |->ht, s-|>for_arr|
|00003930| 6f 77 2d 3e 77 69 64 29 | 3b 0a 58 09 7d 0a 58 0a |ow->wid)|;.X.}.X.|
|00003940| 58 67 65 6e 70 73 5f 63 | 74 6c 5f 73 70 6c 69 6e |Xgenps_c|tl_splin|
|00003950| 65 28 73 2c 66 69 6c 6c | 29 0a 58 46 5f 73 70 6c |e(s,fill|).XF_spl|
|00003960| 69 6e 65 09 2a 73 3b 0a | 58 69 6e 74 20 66 69 6c |ine.*s;.|Xint fil|
|00003970| 6c 3b 0a 58 7b 0a 58 09 | 66 6c 6f 61 74 09 09 61 |l;.X{.X.|float..a|
|00003980| 2c 20 62 2c 20 63 2c 20 | 64 2c 20 78 31 2c 20 79 |, b, c, |d, x1, y|
|00003990| 31 2c 20 78 32 2c 20 79 | 32 2c 20 78 33 2c 20 79 |1, x2, y|2, x3, y|
|000039a0| 33 3b 0a 58 09 46 5f 70 | 6f 69 6e 74 09 09 2a 70 |3;.X.F_p|oint..*p|
|000039b0| 2c 20 2a 71 3b 0a 58 0a | 58 09 2f 2a 0a 58 09 69 |, *q;.X.|X./*.X.i|
|000039c0| 66 20 28 66 69 72 73 74 | 29 20 7b 0a 58 09 20 20 |f (first|) {.X. |
|000039d0| 20 20 66 69 72 73 74 20 | 3d 20 46 41 4c 53 45 3b | first |= FALSE;|
|000039e0| 0a 58 09 20 20 20 20 66 | 70 72 69 6e 74 66 28 74 |.X. f|printf(t|
|000039f0| 66 70 2c 20 22 25 73 5c | 6e 22 2c 20 53 50 4c 49 |fp, "%s\|n", SPLI|
|00003a00| 4e 45 5f 50 53 29 3b 0a | 58 09 20 20 20 20 7d 0a |NE_PS);.|X. }.|
|00003a10| 58 09 2a 2f 0a 58 0a 58 | 09 69 66 20 28 28 66 69 |X.*/.X.X|.if ((fi|
|00003a20| 6c 6c 20 26 26 20 73 2d | 3e 61 72 65 61 5f 66 69 |ll && s-|>area_fi|
|00003a30| 6c 6c 3d 3d 30 29 20 7c | 7c 0a 58 09 20 20 20 20 |ll==0) |||.X. |
|00003a40| 28 66 69 6c 6c 3d 3d 30 | 20 26 26 20 73 2d 3e 61 |(fill==0| && s->a|
|00003a50| 72 65 61 5f 66 69 6c 6c | 29 29 0a 58 09 09 72 65 |rea_fill|)).X..re|
|00003a60| 74 75 72 6e 3b 0a 58 0a | 58 09 70 20 3d 20 73 2d |turn;.X.|X.p = s-|
|00003a70| 3e 70 6f 69 6e 74 73 3b | 0a 58 09 78 31 20 3d 20 |>points;|.X.x1 = |
|00003a80| 70 2d 3e 78 3b 20 79 31 | 20 3d 20 70 2d 3e 79 3b |p->x; y1| = p->y;|
|00003a90| 0a 58 09 70 20 3d 20 70 | 2d 3e 6e 65 78 74 3b 0a |.X.p = p|->next;.|
|00003aa0| 58 09 63 20 3d 20 70 2d | 3e 78 3b 20 64 20 3d 20 |X.c = p-|>x; d = |
|00003ab0| 70 2d 3e 79 3b 0a 58 09 | 73 65 74 5f 6c 69 6e 65 |p->y;.X.|set_line|
|00003ac0| 77 69 64 74 68 28 73 2d | 3e 74 68 69 63 6b 6e 65 |width(s-|>thickne|
|00003ad0| 73 73 29 3b 0a 58 09 78 | 33 20 3d 20 61 20 3d 20 |ss);.X.x|3 = a = |
|00003ae0| 28 78 31 20 2b 20 63 29 | 20 2f 20 32 3b 0a 58 09 |(x1 + c)| / 2;.X.|
|00003af0| 79 33 20 3d 20 62 20 3d | 20 28 79 31 20 2b 20 64 |y3 = b =| (y1 + d|
|00003b00| 29 20 2f 20 32 3b 0a 58 | 09 69 66 20 28 73 2d 3e |) / 2;.X|.if (s->|
|00003b10| 62 61 63 6b 5f 61 72 72 | 6f 77 20 26 26 20 73 2d |back_arr|ow && s-|
|00003b20| 3e 74 68 69 63 6b 6e 65 | 73 73 20 3e 20 30 29 20 |>thickne|ss > 0) |
|00003b30| 7b 0a 58 09 20 20 20 20 | 64 72 61 77 5f 61 72 72 |{.X. |draw_arr|
|00003b40| 6f 77 5f 68 65 61 64 28 | 63 2c 20 64 2c 20 78 31 |ow_head(|c, d, x1|
|00003b50| 2c 20 79 31 2c 20 73 2d | 3e 62 61 63 6b 5f 61 72 |, y1, s-|>back_ar|
|00003b60| 72 6f 77 2d 3e 68 74 2c | 20 73 2d 3e 62 61 63 6b |row->ht,| s->back|
|00003b70| 5f 61 72 72 6f 77 2d 3e | 77 69 64 29 3b 0a 58 09 |_arrow->|wid);.X.|
|00003b80| 20 20 20 20 7d 0a 58 09 | 73 65 74 5f 73 74 79 6c | }.X.|set_styl|
|00003b90| 65 28 73 2d 3e 73 74 79 | 6c 65 2c 20 73 2d 3e 73 |e(s->sty|le, s->s|
|00003ba0| 74 79 6c 65 5f 76 61 6c | 29 3b 0a 58 09 69 66 20 |tyle_val|);.X.if |
|00003bb0| 28 21 20 63 6c 6f 73 65 | 64 5f 73 70 6c 69 6e 65 |(! close|d_spline|
|00003bc0| 28 73 29 29 20 7b 0a 58 | 09 20 20 20 20 66 70 72 |(s)) {.X|. fpr|
|00003bd0| 69 6e 74 66 28 74 66 70 | 2c 20 22 25 25 20 4f 70 |intf(tfp|, "%% Op|
|00003be0| 65 6e 20 73 70 6c 69 6e | 65 5c 6e 22 29 3b 0a 58 |en splin|e\n");.X|
|00003bf0| 09 20 20 20 20 66 70 72 | 69 6e 74 66 28 74 66 70 |. fpr|intf(tfp|
|00003c00| 2c 20 22 6e 65 77 70 61 | 74 68 20 25 2e 33 66 20 |, "newpa|th %.3f |
|00003c10| 25 2e 33 66 20 6d 6f 76 | 65 74 6f 20 25 2e 33 66 |%.3f mov|eto %.3f|
|00003c20| 20 25 2e 33 66 20 6c 69 | 6e 65 74 6f 5c 6e 22 2c | %.3f li|neto\n",|
|00003c30| 0a 58 09 09 09 78 31 2c | 20 79 31 2c 20 78 33 2c |.X...x1,| y1, x3,|
|00003c40| 20 79 33 29 3b 0a 58 09 | 20 20 20 20 7d 0a 58 09 | y3);.X.| }.X.|
|00003c50| 65 6c 73 65 20 7b 0a 58 | 09 20 20 20 20 66 70 72 |else {.X|. fpr|
|00003c60| 69 6e 74 66 28 74 66 70 | 2c 20 22 25 25 20 43 6c |intf(tfp|, "%% Cl|
|00003c70| 6f 73 65 64 20 73 70 6c | 69 6e 65 5c 6e 22 29 3b |osed spl|ine\n");|
|00003c80| 0a 58 09 20 20 20 20 66 | 70 72 69 6e 74 66 28 74 |.X. f|printf(t|
|00003c90| 66 70 2c 20 22 6e 65 77 | 70 61 74 68 20 25 2e 33 |fp, "new|path %.3|
|00003ca0| 66 20 25 2e 33 66 20 6d | 6f 76 65 74 6f 5c 6e 22 |f %.3f m|oveto\n"|
|00003cb0| 2c 20 61 2c 20 62 29 3b | 0a 58 09 20 20 20 20 7d |, a, b);|.X. }|
|00003cc0| 0a 58 09 66 6f 72 20 28 | 71 20 3d 20 70 2d 3e 6e |.X.for (|q = p->n|
|00003cd0| 65 78 74 3b 20 71 20 21 | 3d 20 4e 55 4c 4c 3b 20 |ext; q !|= NULL; |
|00003ce0| 71 20 3d 20 71 2d 3e 6e | 65 78 74 29 20 7b 0a 58 |q = q->n|ext) {.X|
|00003cf0| 09 20 20 20 20 78 31 20 | 3d 20 78 33 3b 20 79 31 |. x1 |= x3; y1|
|00003d00| 20 3d 20 79 33 3b 0a 58 | 09 20 20 20 20 78 32 20 | = y3;.X|. x2 |
|00003d10| 3d 20 63 3b 20 20 79 32 | 20 3d 20 64 3b 0a 58 09 |= c; y2| = d;.X.|
|00003d20| 20 20 20 20 63 20 3d 20 | 71 2d 3e 78 3b 20 64 20 | c = |q->x; d |
|00003d30| 3d 20 71 2d 3e 79 3b 0a | 58 09 20 20 20 20 78 33 |= q->y;.|X. x3|
|00003d40| 20 3d 20 28 78 32 20 2b | 20 63 29 20 2f 20 32 3b | = (x2 +| c) / 2;|
|00003d50| 0a 58 09 20 20 20 20 79 | 33 20 3d 20 28 79 32 20 |.X. y|3 = (y2 |
|00003d60| 2b 20 64 29 20 2f 20 32 | 3b 0a 58 09 20 20 20 20 |+ d) / 2|;.X. |
|00003d70| 66 70 72 69 6e 74 66 28 | 74 66 70 2c 20 22 5c 74 |fprintf(|tfp, "\t|
|00003d80| 25 2e 33 66 20 25 2e 33 | 66 20 25 2e 33 66 20 25 |%.3f %.3|f %.3f %|
|00003d90| 2e 33 66 20 25 2e 33 66 | 20 25 2e 33 66 20 44 72 |.3f %.3f| %.3f Dr|
|00003da0| 61 77 53 70 6c 69 6e 65 | 53 65 63 74 69 6f 6e 5c |awSpline|Section\|
|00003db0| 6e 22 2c 0a 58 09 09 09 | 78 31 2c 20 79 31 2c 20 |n",.X...|x1, y1, |
|00003dc0| 78 32 2c 20 79 32 2c 20 | 78 33 2c 20 79 33 29 3b |x2, y2, |x3, y3);|
|00003dd0| 0a 58 09 20 20 20 20 7d | 0a 58 09 2f 2a 0a 58 09 |.X. }|.X./*.X.|
|00003de0| 2a 20 41 74 20 74 68 69 | 73 20 70 6f 69 6e 74 2c |* At thi|s point,|
|00003df0| 20 28 78 32 2c 79 32 29 | 20 61 6e 64 20 28 63 2c | (x2,y2)| and (c,|
|00003e00| 64 29 20 61 72 65 20 74 | 68 65 20 70 6f 73 69 74 |d) are t|he posit|
|00003e10| 69 6f 6e 20 6f 66 20 74 | 68 65 20 0a 58 09 2a 20 |ion of t|he .X.* |
|00003e20| 6e 65 78 74 2d 74 6f 2d | 6c 61 73 74 20 61 6e 64 |next-to-|last and|
|00003e30| 20 6c 61 73 74 20 70 6f | 69 6e 74 20 72 65 73 70 | last po|int resp|
|00003e40| 65 63 74 69 76 65 6c 79 | 2c 20 69 6e 20 74 68 65 |ectively|, in the|
|00003e50| 20 70 6f 69 6e 74 20 6c | 69 73 74 0a 58 09 2a 2f | point l|ist.X.*/|
|00003e60| 0a 58 09 69 66 20 28 63 | 6c 6f 73 65 64 5f 73 70 |.X.if (c|losed_sp|
|00003e70| 6c 69 6e 65 28 73 29 29 | 20 7b 0a 58 09 20 20 20 |line(s))| {.X. |
|00003e80| 20 66 70 72 69 6e 74 66 | 28 74 66 70 2c 20 22 5c | fprintf|(tfp, "\|
|00003e90| 74 25 2e 33 66 20 25 2e | 33 66 20 25 2e 33 66 20 |t%.3f %.|3f %.3f |
|00003ea0| 25 2e 33 66 20 25 2e 33 | 66 20 25 2e 33 66 20 44 |%.3f %.3|f %.3f D|
|00003eb0| 72 61 77 53 70 6c 69 6e | 65 53 65 63 74 69 6f 6e |rawSplin|eSection|
|00003ec0| 20 63 6c 6f 73 65 70 61 | 74 68 20 22 2c 0a 58 09 | closepa|th ",.X.|
|00003ed0| 09 09 78 33 2c 20 79 33 | 2c 20 63 2c 20 64 2c 20 |..x3, y3|, c, d, |
|00003ee0| 61 2c 20 62 29 3b 0a 58 | 09 20 20 20 20 69 66 20 |a, b);.X|. if |
|00003ef0| 28 73 2d 3e 61 72 65 61 | 5f 66 69 6c 6c 29 0a 58 |(s->area|_fill).X|
|00003f00| 09 09 7b 0a 58 09 09 73 | 65 74 5f 61 72 65 61 66 |..{.X..s|et_areaf|
|00003f10| 69 6c 6c 28 73 2d 3e 61 | 72 65 61 5f 66 69 6c 6c |ill(s->a|rea_fill|
|00003f20| 29 3b 0a 58 09 09 66 70 | 72 69 6e 74 66 28 74 66 |);.X..fp|rintf(tf|
|00003f30| 70 2c 20 22 20 67 73 61 | 76 65 20 66 69 6c 6c 20 |p, " gsa|ve fill |
|00003f40| 67 72 65 73 74 6f 72 65 | 5c 6e 22 29 3b 0a 58 09 |grestore|\n");.X.|
|00003f50| 09 73 65 74 5f 61 72 65 | 61 66 69 6c 6c 28 4e 55 |.set_are|afill(NU|
|00003f60| 4d 46 49 4c 4c 50 41 54 | 53 29 3b 09 2f 2a 20 62 |MFILLPAT|S);./* b|
|00003f70| 61 63 6b 20 74 6f 20 62 | 6c 61 63 6b 20 66 6f 72 |ack to b|lack for|
|00003f80| 20 6c 69 6e 65 20 2a 2f | 0a 58 09 09 7d 0a 58 09 | line */|.X..}.X.|
|00003f90| 20 20 20 20 69 66 20 28 | 73 2d 3e 74 68 69 63 6b | if (|s->thick|
|00003fa0| 6e 65 73 73 20 3e 20 30 | 29 0a 58 09 09 66 70 72 |ness > 0|).X..fpr|
|00003fb0| 69 6e 74 66 28 74 66 70 | 2c 20 22 20 73 74 72 6f |intf(tfp|, " stro|
|00003fc0| 6b 65 5c 6e 22 29 3b 0a | 58 09 20 20 20 20 7d 0a |ke\n");.|X. }.|
|00003fd0| 58 09 65 6c 73 65 20 7b | 0a 58 09 20 20 20 20 69 |X.else {|.X. i|
|00003fe0| 66 20 28 73 2d 3e 74 68 | 69 63 6b 6e 65 73 73 20 |f (s->th|ickness |
|00003ff0| 3e 20 30 29 0a 58 09 09 | 66 70 72 69 6e 74 66 28 |> 0).X..|fprintf(|
|00004000| 74 66 70 2c 20 22 5c 74 | 25 2e 33 66 20 25 2e 33 |tfp, "\t|%.3f %.3|
|00004010| 66 20 6c 69 6e 65 74 6f | 20 73 74 72 6f 6b 65 5c |f lineto| stroke\|
|00004020| 6e 22 2c 20 63 2c 20 64 | 29 3b 0a 58 09 20 20 20 |n", c, d|);.X. |
|00004030| 20 65 6c 73 65 0a 58 09 | 09 66 70 72 69 6e 74 66 | else.X.|.fprintf|
|00004040| 28 74 66 70 2c 20 22 5c | 74 25 2e 33 66 20 25 2e |(tfp, "\|t%.3f %.|
|00004050| 33 66 20 6c 69 6e 65 74 | 6f 5c 6e 22 2c 20 63 2c |3f linet|o\n", c,|
|00004060| 20 64 29 3b 0a 58 09 20 | 20 20 20 7d 0a 58 09 72 | d);.X. | }.X.r|
|00004070| 65 73 65 74 5f 73 74 79 | 6c 65 28 73 2d 3e 73 74 |eset_sty|le(s->st|
|00004080| 79 6c 65 2c 20 73 2d 3e | 73 74 79 6c 65 5f 76 61 |yle, s->|style_va|
|00004090| 6c 29 3b 0a 58 09 69 66 | 20 28 73 2d 3e 66 6f 72 |l);.X.if| (s->for|
|000040a0| 5f 61 72 72 6f 77 20 26 | 26 20 73 2d 3e 74 68 69 |_arrow &|& s->thi|
|000040b0| 63 6b 6e 65 73 73 20 3e | 20 30 29 20 0a 58 09 20 |ckness >| 0) .X. |
|000040c0| 20 20 20 7b 0a 58 09 20 | 20 20 20 64 72 61 77 5f | {.X. | draw_|
|000040d0| 61 72 72 6f 77 5f 68 65 | 61 64 28 78 32 2c 20 79 |arrow_he|ad(x2, y|
|000040e0| 32 2c 20 63 2c 20 64 2c | 20 73 2d 3e 66 6f 72 5f |2, c, d,| s->for_|
|000040f0| 61 72 72 6f 77 2d 3e 68 | 74 2c 0a 58 09 09 09 09 |arrow->h|t,.X....|
|00004100| 73 2d 3e 66 6f 72 5f 61 | 72 72 6f 77 2d 3e 77 69 |s->for_a|rrow->wi|
|00004110| 64 29 3b 0a 58 09 20 20 | 20 20 7d 0a 58 09 7d 0a |d);.X. | }.X.}.|
|00004120| 58 0a 58 67 65 6e 70 73 | 5f 65 6c 6c 69 70 73 65 |X.Xgenps|_ellipse|
|00004130| 28 65 2c 66 69 6c 6c 29 | 0a 58 46 5f 65 6c 6c 69 |(e,fill)|.XF_elli|
|00004140| 70 73 65 09 2a 65 3b 0a | 58 69 6e 74 20 66 69 6c |pse.*e;.|Xint fil|
|00004150| 6c 3b 0a 58 7b 0a 58 09 | 69 66 20 28 28 66 69 6c |l;.X{.X.|if ((fil|
|00004160| 6c 20 26 26 20 65 2d 3e | 61 72 65 61 5f 66 69 6c |l && e->|area_fil|
|00004170| 6c 3d 3d 30 29 20 7c 7c | 0a 58 09 20 20 20 20 28 |l==0) |||.X. (|
|00004180| 66 69 6c 6c 3d 3d 30 20 | 26 26 20 65 2d 3e 61 72 |fill==0 |&& e->ar|
|00004190| 65 61 5f 66 69 6c 6c 29 | 29 0a 58 09 09 72 65 74 |ea_fill)|).X..ret|
|000041a0| 75 72 6e 3b 0a 58 0a 58 | 09 73 65 74 5f 6c 69 6e |urn;.X.X|.set_lin|
|000041b0| 65 77 69 64 74 68 28 65 | 2d 3e 74 68 69 63 6b 6e |ewidth(e|->thickn|
|000041c0| 65 73 73 29 3b 0a 58 09 | 73 65 74 5f 73 74 79 6c |ess);.X.|set_styl|
|000041d0| 65 28 65 2d 3e 73 74 79 | 6c 65 2c 20 65 2d 3e 73 |e(e->sty|le, e->s|
|000041e0| 74 79 6c 65 5f 76 61 6c | 29 3b 0a 58 09 66 70 72 |tyle_val|);.X.fpr|
|000041f0| 69 6e 74 66 28 74 66 70 | 2c 20 22 25 25 20 45 6c |intf(tfp|, "%% El|
|00004200| 6c 69 70 73 65 5c 6e 22 | 29 3b 0a 58 09 66 70 72 |lipse\n"|);.X.fpr|
|00004210| 69 6e 74 66 28 74 66 70 | 2c 20 22 6e 65 77 70 61 |intf(tfp|, "newpa|
|00004220| 74 68 20 25 64 20 25 64 | 20 25 64 20 25 64 20 30 |th %d %d| %d %d 0|
|00004230| 20 33 36 30 20 44 72 61 | 77 45 6c 6c 69 70 73 65 | 360 Dra|wEllipse|
|00004240| 5c 6e 22 2c 0a 58 09 09 | 65 2d 3e 63 65 6e 74 65 |\n",.X..|e->cente|
|00004250| 72 2e 78 2c 20 65 2d 3e | 63 65 6e 74 65 72 2e 79 |r.x, e->|center.y|
|00004260| 2c 20 65 2d 3e 72 61 64 | 69 75 73 65 73 2e 78 2c |, e->rad|iuses.x,|
|00004270| 20 65 2d 3e 72 61 64 69 | 75 73 65 73 2e 79 29 3b | e->radi|uses.y);|
|00004280| 0a 58 09 69 66 20 28 65 | 2d 3e 61 72 65 61 5f 66 |.X.if (e|->area_f|
|00004290| 69 6c 6c 29 0a 58 09 09 | 7b 0a 58 09 09 73 65 74 |ill).X..|{.X..set|
|000042a0| 5f 61 72 65 61 66 69 6c | 6c 28 65 2d 3e 61 72 65 |_areafil|l(e->are|
|000042b0| 61 5f 66 69 6c 6c 29 3b | 0a 58 09 09 66 70 72 69 |a_fill);|.X..fpri|
|000042c0| 6e 74 66 28 74 66 70 2c | 20 22 20 67 73 61 76 65 |ntf(tfp,| " gsave|
|000042d0| 20 66 69 6c 6c 20 67 72 | 65 73 74 6f 72 65 5c 6e | fill gr|estore\n|
|000042e0| 22 29 3b 0a 58 09 09 73 | 65 74 5f 61 72 65 61 66 |");.X..s|et_areaf|
|000042f0| 69 6c 6c 28 4e 55 4d 46 | 49 4c 4c 50 41 54 53 29 |ill(NUMF|ILLPATS)|
|00004300| 3b 09 2f 2a 20 62 61 63 | 6b 20 74 6f 20 62 6c 61 |;./* bac|k to bla|
|00004310| 63 6b 20 66 6f 72 20 6c | 69 6e 65 20 2a 2f 0a 58 |ck for l|ine */.X|
|00004320| 09 09 7d 0a 58 09 69 66 | 20 28 65 2d 3e 74 68 69 |..}.X.if| (e->thi|
|00004330| 63 6b 6e 65 73 73 20 3e | 20 30 29 0a 58 09 20 20 |ckness >| 0).X. |
|00004340| 20 20 66 70 72 69 6e 74 | 66 28 74 66 70 2c 20 22 | fprint|f(tfp, "|
|00004350| 20 73 74 72 6f 6b 65 5c | 6e 22 29 3b 0a 58 09 72 | stroke\|n");.X.r|
|00004360| 65 73 65 74 5f 73 74 79 | 6c 65 28 65 2d 3e 73 74 |eset_sty|le(e->st|
|00004370| 79 6c 65 2c 20 65 2d 3e | 73 74 79 6c 65 5f 76 61 |yle, e->|style_va|
|00004380| 6c 29 3b 0a 58 09 7d 0a | 58 0a 58 23 64 65 66 69 |l);.X.}.|X.X#defi|
|00004390| 6e 65 09 54 45 58 54 5f | 53 45 54 5f 50 53 09 22 |ne.TEXT_|SET_PS."|
|000043a0| 5c 0a 58 66 6e 25 64 2e | 25 64 20 73 65 74 66 6f |\.Xfn%d.|%d setfo|
|000043b0| 6e 74 5c 6e 5c 0a 58 22 | 0a 58 23 64 65 66 69 6e |nt\n\.X"|.X#defin|
|000043c0| 65 20 54 45 58 54 5f 44 | 45 46 5f 50 53 09 22 5c |e TEXT_D|EF_PS."\|
|000043d0| 0a 58 2f 66 6e 25 64 2e | 25 64 20 2f 25 73 20 66 |.X/fn%d.|%d /%s f|
|000043e0| 69 6e 64 66 6f 6e 74 20 | 25 66 20 73 63 61 6c 65 |indfont |%f scale|
|000043f0| 66 6f 6e 74 20 64 65 66 | 5c 6e 5c 0a 58 22 0a 58 |font def|\n\.X".X|
|00004400| 0a 58 23 64 65 66 69 6e | 65 20 4d 41 58 5f 46 4f |.X#defin|e MAX_FO|
|00004410| 4e 54 5f 53 49 5a 45 53 | 20 32 30 0a 58 0a 58 67 |NT_SIZES| 20.X.Xg|
|00004420| 65 6e 70 73 5f 74 65 78 | 74 28 74 29 0a 58 46 5f |enps_tex|t(t).XF_|
|00004430| 74 65 78 74 09 2a 74 3b | 0a 58 09 7b 0a 58 09 63 |text.*t;|.X.{.X.c|
|00004440| 68 61 72 09 2a 63 3b 0a | 58 09 73 74 61 74 69 63 |har.*c;.|X.static|
|00004450| 09 69 6e 74 20 63 75 72 | 72 65 6e 74 5f 66 6f 6e |.int cur|rent_fon|
|00004460| 74 20 3d 20 2d 31 3b 0a | 58 09 73 74 61 74 69 63 |t = -1;.|X.static|
|00004470| 09 69 6e 74 20 63 75 72 | 72 65 6e 74 5f 73 69 7a |.int cur|rent_siz|
|00004480| 65 20 3d 20 2d 31 3b 0a | 58 09 73 74 61 74 69 63 |e = -1;.|X.static|
|00004490| 09 69 6e 74 20 66 69 72 | 73 74 5b 4e 55 4d 46 4f |.int fir|st[NUMFO|
|000044a0| 4e 54 53 5d 5b 4d 41 58 | 5f 46 4f 4e 54 5f 53 49 |NTS][MAX|_FONT_SI|
|000044b0| 5a 45 53 5d 3b 0a 58 09 | 69 6e 74 09 69 2c 6a 2c |ZES];.X.|int.i,j,|
|000044c0| 66 6f 75 6e 64 3b 0a 58 | 0a 58 09 69 66 20 28 63 |found;.X|.X.if (c|
|000044d0| 75 72 72 65 6e 74 5f 66 | 6f 6e 74 20 3d 3d 20 2d |urrent_f|ont == -|
|000044e0| 31 29 0a 58 09 09 66 6f | 72 20 28 69 3d 30 3b 20 |1).X..fo|r (i=0; |
|000044f0| 69 3c 4e 55 4d 46 4f 4e | 54 53 3b 20 69 2b 2b 29 |i<NUMFON|TS; i++)|
|00004500| 0a 58 09 09 20 20 20 20 | 66 6f 72 20 28 6a 3d 30 |.X.. |for (j=0|
|00004510| 3b 20 6a 3c 4d 41 58 5f | 46 4f 4e 54 5f 53 49 5a |; j<MAX_|FONT_SIZ|
|00004520| 45 53 3b 20 6a 2b 2b 29 | 0a 58 09 09 09 66 69 72 |ES; j++)|.X...fir|
|00004530| 73 74 5b 69 5d 5b 6a 5d | 20 3d 20 30 3b 0a 58 0a |st[i][j]| = 0;.X.|
|00004540| 58 09 2f 2a 20 69 66 20 | 64 69 66 66 65 72 65 6e |X./* if |differen|
|00004550| 74 20 66 6f 6e 74 20 6f | 72 20 64 69 66 66 65 72 |t font o|r differ|
|00004560| 65 6e 74 20 73 69 7a 65 | 2c 20 63 68 6f 6f 73 65 |ent size|, choose|
|00004570| 20 6e 65 77 20 2a 2f 0a | 58 09 69 66 20 28 63 75 | new */.|X.if (cu|
|00004580| 72 72 65 6e 74 5f 66 6f | 6e 74 20 21 3d 20 74 2d |rrent_fo|nt != t-|
|00004590| 3e 66 6f 6e 74 20 7c 7c | 20 63 75 72 72 65 6e 74 |>font ||| current|
|000045a0| 5f 73 69 7a 65 20 21 3d | 20 74 2d 3e 73 69 7a 65 |_size !=| t->size|
|000045b0| 29 0a 58 09 20 20 20 20 | 7b 0a 58 09 20 20 20 20 |).X. |{.X. |
|000045c0| 66 6f 75 6e 64 20 3d 20 | 46 41 4c 53 45 3b 0a 58 |found = |FALSE;.X|
|000045d0| 09 20 20 20 20 66 6f 72 | 20 28 69 3d 30 3b 20 28 |. for| (i=0; (|
|000045e0| 66 69 72 73 74 5b 74 2d | 3e 66 6f 6e 74 5d 5b 69 |first[t-|>font][i|
|000045f0| 5d 21 3d 30 20 26 26 20 | 69 3c 4d 41 58 5f 46 4f |]!=0 && |i<MAX_FO|
|00004600| 4e 54 5f 53 49 5a 45 53 | 29 3b 20 69 2b 2b 29 0a |NT_SIZES|); i++).|
|00004610| 58 09 09 69 66 20 28 66 | 69 72 73 74 5b 74 2d 3e |X..if (f|irst[t->|
|00004620| 66 6f 6e 74 5d 5b 69 5d | 20 3d 3d 20 74 2d 3e 73 |font][i]| == t->s|
|00004630| 69 7a 65 29 09 2f 2a 20 | 6c 6f 6f 6b 20 66 6f 72 |ize)./* |look for|
|00004640| 20 74 68 69 73 20 73 69 | 7a 65 20 2a 2f 0a 58 09 | this si|ze */.X.|
|00004650| 09 20 20 20 20 7b 0a 58 | 09 09 20 20 20 20 66 6f |. {.X|.. fo|
|00004660| 75 6e 64 20 3d 20 54 52 | 55 45 3b 0a 58 09 09 20 |und = TR|UE;.X.. |
|00004670| 20 20 20 62 72 65 61 6b | 3b 0a 58 09 09 20 20 20 | break|;.X.. |
|00004680| 20 7d 0a 58 09 20 20 20 | 20 69 66 20 28 21 66 6f | }.X. | if (!fo|
|00004690| 75 6e 64 29 09 09 2f 2a | 20 69 66 20 77 65 20 68 |und)../*| if we h|
|000046a0| 61 76 65 6e 27 74 20 61 | 6c 72 65 61 64 79 20 64 |aven't a|lready d|
|000046b0| 6f 6e 65 20 61 20 27 66 | 69 6e 64 66 6f 6e 74 27 |one a 'f|indfont'|
|000046c0| 2e 2e 2e 20 2a 2f 0a 58 | 09 09 7b 0a 58 09 09 66 |... */.X|..{.X..f|
|000046d0| 70 72 69 6e 74 66 28 74 | 66 70 2c 20 54 45 58 54 |printf(t|fp, TEXT|
|000046e0| 5f 44 45 46 5f 50 53 2c | 20 74 2d 3e 66 6f 6e 74 |_DEF_PS,| t->font|
|000046f0| 2c 20 74 2d 3e 73 69 7a | 65 2c 20 66 6f 6e 74 6e |, t->siz|e, fontn|
|00004700| 61 6d 65 73 5b 74 2d 3e | 66 6f 6e 74 5d 2e 70 73 |ames[t->|font].ps|
|00004710| 66 6f 6e 74 2c 20 0a 58 | 09 09 09 09 09 74 2d 3e |font, .X|.....t->|
|00004720| 73 69 7a 65 2f 72 65 64 | 75 63 74 69 6f 6e 29 3b |size/red|uction);|
|00004730| 0a 58 09 09 69 66 20 28 | 69 20 3c 20 4d 41 58 5f |.X..if (|i < MAX_|
|00004740| 46 4f 4e 54 5f 53 49 5a | 45 53 29 09 09 2f 2a 20 |FONT_SIZ|ES)../* |
|00004750| 69 6e 73 65 72 74 20 74 | 68 69 73 20 73 69 7a 65 |insert t|his size|
|00004760| 20 69 6e 20 74 61 62 6c | 65 20 2a 2f 0a 58 09 09 | in tabl|e */.X..|
|00004770| 20 20 20 20 66 69 72 73 | 74 5b 74 2d 3e 66 6f 6e | firs|t[t->fon|
|00004780| 74 5d 5b 69 5d 20 3d 20 | 74 2d 3e 73 69 7a 65 3b |t][i] = |t->size;|
|00004790| 0a 58 09 09 7d 0a 58 09 | 20 20 20 20 66 70 72 69 |.X..}.X.| fpri|
|000047a0| 6e 74 66 28 74 66 70 2c | 20 54 45 58 54 5f 53 45 |ntf(tfp,| TEXT_SE|
|000047b0| 54 5f 50 53 2c 20 74 2d | 3e 66 6f 6e 74 2c 20 74 |T_PS, t-|>font, t|
|000047c0| 2d 3e 73 69 7a 65 29 3b | 20 2f 2a 20 6e 6f 77 20 |->size);| /* now |
|000047d0| 73 65 6c 65 63 74 20 74 | 68 65 20 66 6f 6e 74 20 |select t|he font |
|000047e0| 2a 2f 0a 58 09 20 20 20 | 20 7d 0a 58 09 63 75 72 |*/.X. | }.X.cur|
|000047f0| 72 65 6e 74 5f 66 6f 6e | 74 20 3d 20 74 2d 3e 66 |rent_fon|t = t->f|
|00004800| 6f 6e 74 3b 0a 58 09 63 | 75 72 72 65 6e 74 5f 73 |ont;.X.c|urrent_s|
|00004810| 69 7a 65 20 3d 20 74 2d | 3e 73 69 7a 65 3b 0a 58 |ize = t-|>size;.X|
|00004820| 0a 58 09 66 70 72 69 6e | 74 66 28 74 66 70 2c 22 |.X.fprin|tf(tfp,"|
|00004830| 28 22 29 3b 0a 58 09 66 | 6f 72 20 28 63 20 3d 20 |(");.X.f|or (c = |
|00004840| 74 2d 3e 63 73 74 72 69 | 6e 67 3b 20 2a 63 3b 20 |t->cstri|ng; *c; |
|00004850| 63 2b 2b 29 20 09 09 2f | 2a 20 70 75 73 68 20 74 |c++) ../|* push t|
|00004860| 68 65 20 73 74 72 69 6e | 67 20 6f 6e 20 74 68 65 |he strin|g on the|
|00004870| 20 73 74 61 63 6b 20 2a | 2f 0a 58 09 20 20 20 20 | stack *|/.X. |
|00004880| 7b 0a 58 09 20 20 20 20 | 69 66 20 28 2a 63 20 3d |{.X. |if (*c =|
|00004890| 3d 20 27 5c 5c 27 20 7c | 7c 20 2a 63 20 3d 3d 20 |= '\\' ||| *c == |
|000048a0| 27 28 27 20 7c 7c 20 2a | 63 20 3d 3d 20 27 29 27 |'(' || *|c == ')'|
|000048b0| 29 20 0a 58 09 09 70 75 | 74 63 28 27 5c 5c 27 2c |) .X..pu|tc('\\',|
|000048c0| 20 74 66 70 29 3b 0a 58 | 09 20 20 20 20 70 75 74 | tfp);.X|. put|
|000048d0| 63 28 2a 63 2c 20 74 66 | 70 29 3b 0a 58 09 20 20 |c(*c, tf|p);.X. |
|000048e0| 20 20 7d 0a 58 0a 58 09 | 69 66 20 28 74 2d 3e 74 | }.X.X.|if (t->t|
|000048f0| 79 70 65 20 3d 3d 20 54 | 5f 43 45 4e 54 45 52 5f |ype == T|_CENTER_|
|00004900| 4a 55 53 54 49 46 49 45 | 44 20 7c 7c 20 74 2d 3e |JUSTIFIE|D || t->|
|00004910| 74 79 70 65 20 3d 3d 20 | 54 5f 52 49 47 48 54 5f |type == |T_RIGHT_|
|00004920| 4a 55 53 54 49 46 49 45 | 44 29 0a 58 09 09 7b 0a |JUSTIFIE|D).X..{.|
|00004930| 58 09 09 2f 2a 20 64 75 | 70 20 74 68 65 20 73 74 |X../* du|p the st|
|00004940| 72 69 6e 67 20 61 6e 64 | 20 73 75 62 74 72 61 63 |ring and| subtrac|
|00004950| 74 20 68 61 6c 66 28 61 | 6c 6c 29 20 6f 66 20 74 |t half(a|ll) of t|
|00004960| 68 65 20 77 69 64 74 68 | 20 66 72 6f 6d 20 74 68 |he width| from th|
|00004970| 65 20 78 20 70 6f 73 69 | 74 69 6f 6e 20 2a 2f 0a |e x posi|tion */.|
|00004980| 58 09 09 66 70 72 69 6e | 74 66 28 74 66 70 2c 22 |X..fprin|tf(tfp,"|
|00004990| 29 20 64 75 70 20 73 74 | 72 69 6e 67 77 69 64 74 |) dup st|ringwidt|
|000049a0| 68 20 70 6f 70 20 25 73 | 20 25 64 20 65 78 63 68 |h pop %s| %d exch|
|000049b0| 20 73 75 62 20 22 2c 0a | 58 09 09 09 09 28 74 2d | sub ",.|X....(t-|
|000049c0| 3e 74 79 70 65 20 3d 3d | 20 54 5f 43 45 4e 54 45 |>type ==| T_CENTE|
|000049d0| 52 5f 4a 55 53 54 49 46 | 49 45 44 3f 20 22 32 20 |R_JUSTIF|IED? "2 |
|000049e0| 64 69 76 22 3a 20 22 22 | 29 2c 74 2d 3e 62 61 73 |div": ""|),t->bas|
|000049f0| 65 5f 78 29 3b 09 0a 58 | 09 09 66 70 72 69 6e 74 |e_x);..X|..fprint|
|00004a00| 66 28 74 66 70 2c 22 25 | 64 20 6d 6f 76 65 74 6f |f(tfp,"%|d moveto|
|00004a10| 20 22 2c 74 2d 3e 62 61 | 73 65 5f 79 29 3b 0a 58 | ",t->ba|se_y);.X|
|00004a20| 09 09 7d 0a 58 09 65 6c | 73 65 0a 58 09 09 66 70 |..}.X.el|se.X..fp|
|00004a30| 72 69 6e 74 66 28 74 66 | 70 2c 22 29 20 25 64 20 |rintf(tf|p,") %d |
|00004a40| 25 64 20 6d 6f 76 65 74 | 6f 20 22 2c 74 2d 3e 62 |%d movet|o ",t->b|
|00004a50| 61 73 65 5f 78 2c 74 2d | 3e 62 61 73 65 5f 79 29 |ase_x,t-|>base_y)|
|00004a60| 3b 0a 58 0a 58 09 69 66 | 20 28 63 6f 6f 72 64 5f |;.X.X.if| (coord_|
|00004a70| 73 79 73 74 65 6d 20 3d | 3d 20 32 29 20 09 2f 2a |system =|= 2) ./*|
|00004a80| 20 75 70 70 65 72 20 6c | 65 66 74 20 69 73 20 30 | upper l|eft is 0|
|00004a90| 2c 30 20 2a 2f 0a 58 09 | 20 20 20 20 66 70 72 69 |,0 */.X.| fpri|
|00004aa0| 6e 74 66 28 74 66 70 2c | 20 22 31 20 2d 31 20 73 |ntf(tfp,| "1 -1 s|
|00004ab0| 63 61 6c 65 20 73 68 6f | 77 20 31 20 2d 31 20 73 |cale sho|w 1 -1 s|
|00004ac0| 63 61 6c 65 5c 6e 22 29 | 3b 0a 58 09 65 6c 73 65 |cale\n")|;.X.else|
|00004ad0| 0a 58 09 20 20 20 20 66 | 70 72 69 6e 74 66 28 74 |.X. f|printf(t|
|00004ae0| 66 70 2c 20 22 73 68 6f | 77 5c 6e 22 29 3b 0a 58 |fp, "sho|w\n");.X|
|00004af0| 09 7d 0a 58 0a 58 67 65 | 6e 70 73 5f 61 72 63 28 |.}.X.Xge|nps_arc(|
|00004b00| 61 2c 66 69 6c 6c 29 0a | 58 46 5f 61 72 63 09 2a |a,fill).|XF_arc.*|
|00004b10| 61 3b 0a 58 69 6e 74 20 | 66 69 6c 6c 3b 0a 58 7b |a;.Xint |fill;.X{|
|00004b20| 0a 58 09 64 6f 75 62 6c | 65 09 09 61 6e 67 6c 65 |.X.doubl|e..angle|
|00004b30| 31 2c 20 61 6e 67 6c 65 | 32 2c 20 64 78 2c 20 64 |1, angle|2, dx, d|
|00004b40| 79 2c 20 72 61 64 69 75 | 73 2c 20 78 2c 20 79 3b |y, radiu|s, x, y;|
|00004b50| 0a 58 09 64 6f 75 62 6c | 65 09 09 63 78 2c 20 63 |.X.doubl|e..cx, c|
|00004b60| 79 2c 20 73 78 2c 20 73 | 79 2c 20 65 78 2c 20 65 |y, sx, s|y, ex, e|
|00004b70| 79 3b 0a 58 09 69 6e 74 | 09 09 64 69 72 65 63 74 |y;.X.int|..direct|
|00004b80| 69 6f 6e 3b 0a 58 0a 58 | 09 69 66 20 28 28 66 69 |ion;.X.X|.if ((fi|
|00004b90| 6c 6c 20 26 26 20 61 2d | 3e 61 72 65 61 5f 66 69 |ll && a-|>area_fi|
|00004ba0| 6c 6c 3d 3d 30 29 20 7c | 7c 0a 58 09 20 20 20 20 |ll==0) |||.X. |
|00004bb0| 28 66 69 6c 6c 3d 3d 30 | 20 26 26 20 61 2d 3e 61 |(fill==0| && a->a|
|00004bc0| 72 65 61 5f 66 69 6c 6c | 29 29 0a 58 09 09 72 65 |rea_fill|)).X..re|
|00004bd0| 74 75 72 6e 3b 0a 58 0a | 58 09 63 78 20 3d 20 61 |turn;.X.|X.cx = a|
|00004be0| 2d 3e 63 65 6e 74 65 72 | 2e 78 3b 20 63 79 20 3d |->center|.x; cy =|
|00004bf0| 20 61 2d 3e 63 65 6e 74 | 65 72 2e 79 3b 0a 58 09 | a->cent|er.y;.X.|
|00004c00| 73 78 20 3d 20 61 2d 3e | 70 6f 69 6e 74 5b 30 5d |sx = a->|point[0]|
|00004c10| 2e 78 3b 20 73 79 20 3d | 20 61 2d 3e 70 6f 69 6e |.x; sy =| a->poin|
|00004c20| 74 5b 30 5d 2e 79 3b 0a | 58 09 65 78 20 3d 20 61 |t[0].y;.|X.ex = a|
|00004c30| 2d 3e 70 6f 69 6e 74 5b | 32 5d 2e 78 3b 20 65 79 |->point[|2].x; ey|
|00004c40| 20 3d 20 61 2d 3e 70 6f | 69 6e 74 5b 32 5d 2e 79 | = a->po|int[2].y|
|00004c50| 3b 0a 58 0a 58 09 69 66 | 20 28 63 6f 6f 72 64 5f |;.X.X.if| (coord_|
|00004c60| 73 79 73 74 65 6d 20 3d | 3d 20 32 29 0a 58 09 20 |system =|= 2).X. |
|00004c70| 20 20 20 64 69 72 65 63 | 74 69 6f 6e 20 3d 20 21 | direc|tion = !|
|00004c80| 61 2d 3e 64 69 72 65 63 | 74 69 6f 6e 3b 0a 58 09 |a->direc|tion;.X.|
|00004c90| 65 6c 73 65 0a 58 09 20 | 20 20 20 64 69 72 65 63 |else.X. | direc|
|00004ca0| 74 69 6f 6e 20 3d 20 61 | 2d 3e 64 69 72 65 63 74 |tion = a|->direct|
|00004cb0| 69 6f 6e 3b 0a 58 09 73 | 65 74 5f 6c 69 6e 65 77 |ion;.X.s|et_linew|
|00004cc0| 69 64 74 68 28 61 2d 3e | 74 68 69 63 6b 6e 65 73 |idth(a->|thicknes|
|00004cd0| 73 29 3b 0a 58 09 69 66 | 20 28 61 2d 3e 66 6f 72 |s);.X.if| (a->for|
|00004ce0| 5f 61 72 72 6f 77 20 26 | 26 20 61 2d 3e 74 68 69 |_arrow &|& a->thi|
|00004cf0| 63 6b 6e 65 73 73 20 3e | 20 30 29 20 7b 0a 58 09 |ckness >| 0) {.X.|
|00004d00| 20 20 20 20 61 72 63 5f | 74 61 6e 67 65 6e 74 28 | arc_|tangent(|
|00004d10| 63 78 2c 20 63 79 2c 20 | 65 78 2c 20 65 79 2c 20 |cx, cy, |ex, ey, |
|00004d20| 64 69 72 65 63 74 69 6f | 6e 2c 20 26 78 2c 20 26 |directio|n, &x, &|
|00004d30| 79 29 3b 0a 58 09 20 20 | 20 20 64 72 61 77 5f 61 |y);.X. | draw_a|
|00004d40| 72 72 6f 77 5f 68 65 61 | 64 28 78 2c 20 79 2c 20 |rrow_hea|d(x, y, |
|00004d50| 65 78 2c 20 65 79 2c 20 | 61 2d 3e 66 6f 72 5f 61 |ex, ey, |a->for_a|
|00004d60| 72 72 6f 77 2d 3e 68 74 | 2c 20 61 2d 3e 66 6f 72 |rrow->ht|, a->for|
|00004d70| 5f 61 72 72 6f 77 2d 3e | 77 69 64 29 3b 0a 58 09 |_arrow->|wid);.X.|
|00004d80| 20 20 20 20 7d 0a 58 09 | 69 66 20 28 61 2d 3e 62 | }.X.|if (a->b|
|00004d90| 61 63 6b 5f 61 72 72 6f | 77 20 26 26 20 61 2d 3e |ack_arro|w && a->|
|00004da0| 74 68 69 63 6b 6e 65 73 | 73 20 3e 20 30 29 20 7b |thicknes|s > 0) {|
|00004db0| 0a 58 09 20 20 20 20 61 | 72 63 5f 74 61 6e 67 65 |.X. a|rc_tange|
|00004dc0| 6e 74 28 63 78 2c 20 63 | 79 2c 20 73 78 2c 20 73 |nt(cx, c|y, sx, s|
|00004dd0| 79 2c 20 21 64 69 72 65 | 63 74 69 6f 6e 2c 20 26 |y, !dire|ction, &|
|00004de0| 78 2c 20 26 79 29 3b 0a | 58 09 20 20 20 20 64 72 |x, &y);.|X. dr|
|00004df0| 61 77 5f 61 72 72 6f 77 | 5f 68 65 61 64 28 78 2c |aw_arrow|_head(x,|
|00004e00| 20 79 2c 20 73 78 2c 20 | 73 79 2c 20 61 2d 3e 62 | y, sx, |sy, a->b|
|00004e10| 61 63 6b 5f 61 72 72 6f | 77 2d 3e 68 74 2c 20 61 |ack_arro|w->ht, a|
|00004e20| 2d 3e 62 61 63 6b 5f 61 | 72 72 6f 77 2d 3e 77 69 |->back_a|rrow->wi|
|00004e30| 64 29 3b 0a 58 09 20 20 | 20 20 7d 0a 58 09 64 78 |d);.X. | }.X.dx|
|00004e40| 20 3d 20 63 78 20 2d 20 | 73 78 3b 0a 58 09 64 79 | = cx - |sx;.X.dy|
|00004e50| 20 3d 20 63 79 20 2d 20 | 73 79 3b 0a 58 09 72 61 | = cy - |sy;.X.ra|
|00004e60| 64 69 75 73 20 3d 20 73 | 71 72 74 28 64 78 2a 64 |dius = s|qrt(dx*d|
|00004e70| 78 20 2b 20 64 79 2a 64 | 79 29 3b 0a 58 09 61 6e |x + dy*d|y);.X.an|
|00004e80| 67 6c 65 31 20 3d 20 61 | 74 61 6e 32 28 73 79 2d |gle1 = a|tan2(sy-|
|00004e90| 63 79 2c 20 73 78 2d 63 | 78 29 20 2a 20 31 38 30 |cy, sx-c|x) * 180|
|00004ea0| 20 2f 20 4d 5f 50 49 3b | 0a 58 09 61 6e 67 6c 65 | / M_PI;|.X.angle|
|00004eb0| 32 20 3d 20 61 74 61 6e | 32 28 65 79 2d 63 79 2c |2 = atan|2(ey-cy,|
|00004ec0| 20 65 78 2d 63 78 29 20 | 2a 20 31 38 30 20 2f 20 | ex-cx) |* 180 / |
|00004ed0| 4d 5f 50 49 3b 0a 58 09 | 2f 2a 20 64 69 72 65 63 |M_PI;.X.|/* direc|
|00004ee0| 74 69 6f 6e 20 3d 20 31 | 20 2d 3e 20 43 6f 75 6e |tion = 1| -> Coun|
|00004ef0| 74 65 72 63 6c 6f 63 6b | 77 69 73 65 20 2a 2f 0a |terclock|wise */.|
|00004f00| 58 09 73 65 74 5f 73 74 | 79 6c 65 28 61 2d 3e 73 |X.set_st|yle(a->s|
|00004f10| 74 79 6c 65 2c 20 61 2d | 3e 73 74 79 6c 65 5f 76 |tyle, a-|>style_v|
|00004f20| 61 6c 29 3b 0a 58 09 66 | 70 72 69 6e 74 66 28 74 |al);.X.f|printf(t|
|00004f30| 66 70 2c 20 22 6e 65 77 | 70 61 74 68 20 25 2e 33 |fp, "new|path %.3|
|00004f40| 66 20 25 2e 33 66 20 25 | 2e 33 66 20 25 2e 33 66 |f %.3f %|.3f %.3f|
|00004f50| 20 25 2e 33 66 20 25 73 | 5c 6e 22 2c 0a 58 09 09 | %.3f %s|\n",.X..|
|00004f60| 63 78 2c 20 63 79 2c 20 | 72 61 64 69 75 73 2c 20 |cx, cy, |radius, |
|00004f70| 61 6e 67 6c 65 31 2c 20 | 61 6e 67 6c 65 32 2c 0a |angle1, |angle2,.|
|00004f80| 58 09 09 28 28 64 69 72 | 65 63 74 69 6f 6e 20 3d |X..((dir|ection =|
|00004f90| 3d 20 31 29 20 3f 20 22 | 61 72 63 22 20 3a 20 22 |= 1) ? "|arc" : "|
|00004fa0| 61 72 63 6e 22 29 29 3b | 0a 58 09 69 66 20 28 61 |arcn"));|.X.if (a|
|00004fb0| 2d 3e 61 72 65 61 5f 66 | 69 6c 6c 29 0a 58 09 09 |->area_f|ill).X..|
|00004fc0| 7b 0a 58 09 09 73 65 74 | 5f 61 72 65 61 66 69 6c |{.X..set|_areafil|
|00004fd0| 6c 28 61 2d 3e 61 72 65 | 61 5f 66 69 6c 6c 29 3b |l(a->are|a_fill);|
|00004fe0| 0a 58 09 09 66 70 72 69 | 6e 74 66 28 74 66 70 2c |.X..fpri|ntf(tfp,|
|00004ff0| 20 22 20 63 6c 6f 73 65 | 70 61 74 68 20 67 73 61 | " close|path gsa|
|00005000| 76 65 20 66 69 6c 6c 20 | 67 72 65 73 74 6f 72 65 |ve fill |grestore|
|00005010| 5c 6e 22 29 3b 0a 58 09 | 09 73 65 74 5f 61 72 65 |\n");.X.|.set_are|
|00005020| 61 66 69 6c 6c 28 4e 55 | 4d 46 49 4c 4c 50 41 54 |afill(NU|MFILLPAT|
|00005030| 53 29 3b 09 2f 2a 20 62 | 61 63 6b 20 74 6f 20 62 |S);./* b|ack to b|
|00005040| 6c 61 63 6b 20 66 6f 72 | 20 6c 69 6e 65 20 2a 2f |lack for| line */|
|00005050| 0a 58 09 09 7d 0a 58 09 | 69 66 20 28 61 2d 3e 74 |.X..}.X.|if (a->t|
|00005060| 68 69 63 6b 6e 65 73 73 | 20 3e 20 30 29 0a 58 09 |hickness| > 0).X.|
|00005070| 09 66 70 72 69 6e 74 66 | 28 74 66 70 2c 22 20 73 |.fprintf|(tfp," s|
|00005080| 74 72 6f 6b 65 5c 6e 22 | 29 3b 0a 58 09 72 65 73 |troke\n"|);.X.res|
|00005090| 65 74 5f 73 74 79 6c 65 | 28 61 2d 3e 73 74 79 6c |et_style|(a->styl|
|000050a0| 65 2c 20 61 2d 3e 73 74 | 79 6c 65 5f 76 61 6c 29 |e, a->st|yle_val)|
|000050b0| 3b 0a 58 09 7d 0a 58 0a | 58 61 72 63 5f 74 61 6e |;.X.}.X.|Xarc_tan|
|000050c0| 67 65 6e 74 28 78 31 2c | 20 79 31 2c 20 78 32 2c |gent(x1,| y1, x2,|
|000050d0| 20 79 32 2c 20 64 69 72 | 65 63 74 69 6f 6e 2c 20 | y2, dir|ection, |
|000050e0| 78 2c 20 79 29 0a 58 64 | 6f 75 62 6c 65 09 78 31 |x, y).Xd|ouble.x1|
|000050f0| 2c 20 79 31 2c 20 78 32 | 2c 20 79 32 2c 20 2a 78 |, y1, x2|, y2, *x|
|00005100| 2c 20 2a 79 3b 0a 58 69 | 6e 74 09 64 69 72 65 63 |, *y;.Xi|nt.direc|
|00005110| 74 69 6f 6e 3b 0a 58 7b | 0a 58 09 69 66 20 28 64 |tion;.X{|.X.if (d|
|00005120| 69 72 65 63 74 69 6f 6e | 29 20 7b 20 2f 2a 20 63 |irection|) { /* c|
|00005130| 6f 75 6e 74 65 72 20 63 | 6c 6f 63 6b 77 69 73 65 |ounter c|lockwise|
|00005140| 20 20 2a 2f 0a 58 09 20 | 20 20 20 2a 78 20 3d 20 | */.X. | *x = |
|00005150| 78 32 20 2b 20 28 79 32 | 20 2d 20 79 31 29 3b 0a |x2 + (y2| - y1);.|
|00005160| 58 09 20 20 20 20 2a 79 | 20 3d 20 79 32 20 2d 20 |X. *y| = y2 - |
|00005170| 28 78 32 20 2d 20 78 31 | 29 3b 0a 58 09 20 20 20 |(x2 - x1|);.X. |
|00005180| 20 7d 0a 58 09 65 6c 73 | 65 20 7b 0a 58 09 20 20 | }.X.els|e {.X. |
|00005190| 20 20 2a 78 20 3d 20 78 | 32 20 2d 20 28 79 32 20 | *x = x|2 - (y2 |
|000051a0| 2d 20 79 31 29 3b 0a 58 | 09 20 20 20 20 2a 79 20 |- y1);.X|. *y |
|000051b0| 3d 20 79 32 20 2b 20 28 | 78 32 20 2d 20 78 31 29 |= y2 + (|x2 - x1)|
|000051c0| 3b 0a 58 09 20 20 20 20 | 7d 0a 58 09 7d 0a 58 0a |;.X. |}.X.}.X.|
|000051d0| 58 2f 2a 09 64 72 61 77 | 20 61 72 72 6f 77 20 68 |X/*.draw| arrow h|
|000051e0| 65 61 64 69 6e 67 20 66 | 72 6f 6d 20 28 78 31 2c |eading f|rom (x1,|
|000051f0| 20 79 31 29 20 74 6f 20 | 28 78 32 2c 20 79 32 29 | y1) to |(x2, y2)|
|00005200| 09 2a 2f 0a 58 0a 58 64 | 72 61 77 5f 61 72 72 6f |.*/.X.Xd|raw_arro|
|00005210| 77 5f 68 65 61 64 28 78 | 31 2c 20 79 31 2c 20 78 |w_head(x|1, y1, x|
|00005220| 32 2c 20 79 32 2c 20 61 | 72 72 6f 77 68 74 2c 20 |2, y2, a|rrowht, |
|00005230| 61 72 72 6f 77 77 69 64 | 29 0a 58 66 6c 6f 61 74 |arrowwid|).Xfloat|
|00005240| 09 78 31 2c 20 79 31 2c | 20 78 32 2c 20 79 32 2c |.x1, y1,| x2, y2,|
|00005250| 20 61 72 72 6f 77 68 74 | 2c 20 61 72 72 6f 77 77 | arrowht|, arroww|
|00005260| 69 64 3b 0a 58 7b 0a 58 | 09 66 6c 6f 61 74 09 78 |id;.X{.X|.float.x|
|00005270| 2c 20 79 2c 20 78 62 2c | 20 79 62 2c 20 64 78 2c |, y, xb,| yb, dx,|
|00005280| 20 64 79 2c 20 6c 2c 20 | 73 69 6e 61 2c 20 63 6f | dy, l, |sina, co|
|00005290| 73 61 3b 0a 58 09 66 6c | 6f 61 74 09 78 63 2c 20 |sa;.X.fl|oat.xc, |
|000052a0| 79 63 2c 20 78 64 2c 20 | 79 64 3b 0a 58 0a 58 09 |yc, xd, |yd;.X.X.|
|000052b0| 64 78 20 3d 20 78 32 20 | 2d 20 78 31 3b 20 20 64 |dx = x2 |- x1; d|
|000052c0| 79 20 3d 20 79 31 20 2d | 20 79 32 3b 0a 58 09 6c |y = y1 -| y2;.X.l|
|000052d0| 20 3d 20 73 71 72 74 28 | 28 64 6f 75 62 6c 65 29 | = sqrt(|(double)|
|000052e0| 28 64 78 2a 64 78 20 2b | 20 64 79 2a 64 79 29 29 |(dx*dx +| dy*dy))|
|000052f0| 3b 09 2f 2a 20 6c 65 6e | 67 74 68 20 6f 66 20 6c |;./* len|gth of l|
|00005300| 69 6e 65 20 2a 2f 0a 58 | 09 73 69 6e 61 20 3d 20 |ine */.X|.sina = |
|00005310| 64 79 20 2f 20 6c 3b 20 | 20 63 6f 73 61 20 3d 20 |dy / l; | cosa = |
|00005320| 64 78 20 2f 20 6c 3b 0a | 58 09 78 62 20 3d 20 78 |dx / l;.|X.xb = x|
|00005330| 32 2a 63 6f 73 61 20 2d | 20 79 32 2a 73 69 6e 61 |2*cosa -| y2*sina|
|00005340| 3b 0a 58 09 79 62 20 3d | 20 78 32 2a 73 69 6e 61 |;.X.yb =| x2*sina|
|00005350| 20 2b 20 79 32 2a 63 6f | 73 61 3b 0a 58 09 78 20 | + y2*co|sa;.X.x |
|00005360| 3d 20 78 62 20 2d 20 61 | 72 72 6f 77 68 74 3b 0a |= xb - a|rrowht;.|
|00005370| 58 09 79 20 3d 20 79 62 | 20 2d 20 61 72 72 6f 77 |X.y = yb| - arrow|
|00005380| 77 69 64 20 2f 20 32 3b | 0a 58 09 78 63 20 3d 20 |wid / 2;|.X.xc = |
|00005390| 78 2a 63 6f 73 61 20 2b | 20 79 2a 73 69 6e 61 3b |x*cosa +| y*sina;|
|000053a0| 09 09 09 2f 2a 20 6f 6e | 65 20 74 61 69 6c 20 6f |.../* on|e tail o|
|000053b0| 66 20 61 72 72 6f 77 20 | 2a 2f 0a 58 09 79 63 20 |f arrow |*/.X.yc |
|000053c0| 3d 20 2d 78 2a 73 69 6e | 61 20 2b 20 79 2a 63 6f |= -x*sin|a + y*co|
|000053d0| 73 61 3b 0a 58 09 79 20 | 3d 20 79 62 20 2b 20 61 |sa;.X.y |= yb + a|
|000053e0| 72 72 6f 77 77 69 64 20 | 2f 20 32 3b 0a 58 09 78 |rrowwid |/ 2;.X.x|
|000053f0| 64 20 3d 20 78 2a 63 6f | 73 61 20 2b 20 79 2a 73 |d = x*co|sa + y*s|
|00005400| 69 6e 61 3b 09 09 09 2f | 2a 20 6f 74 68 65 72 20 |ina;.../|* other |
|00005410| 74 61 69 6c 20 6f 66 20 | 61 72 72 6f 77 20 2a 2f |tail of |arrow */|
|00005420| 0a 58 09 79 64 20 3d 20 | 2d 78 2a 73 69 6e 61 20 |.X.yd = |-x*sina |
|00005430| 2b 20 79 2a 63 6f 73 61 | 3b 0a 58 09 66 70 72 69 |+ y*cosa|;.X.fpri|
|00005440| 6e 74 66 28 74 66 70 2c | 20 22 6e 65 77 70 61 74 |ntf(tfp,| "newpat|
|00005450| 68 20 25 2e 33 66 20 25 | 2e 33 66 20 6d 6f 76 65 |h %.3f %|.3f move|
|00005460| 74 6f 20 25 2e 33 66 20 | 25 2e 33 66 20 6c 69 6e |to %.3f |%.3f lin|
|00005470| 65 74 6f 20 25 2e 33 66 | 20 25 2e 33 66 20 6c 69 |eto %.3f| %.3f li|
|00005480| 6e 65 74 6f 20 73 74 72 | 6f 6b 65 5c 6e 22 2c 0a |neto str|oke\n",.|
|00005490| 58 09 09 78 63 2c 20 79 | 63 2c 20 78 32 2c 20 79 |X..xc, y|c, x2, y|
|000054a0| 32 2c 20 78 64 2c 20 79 | 64 29 3b 0a 58 09 7d 0a |2, xd, y|d);.X.}.|
|000054b0| 58 0a 58 65 6c 6c 69 70 | 73 65 5f 65 78 69 73 74 |X.Xellip|se_exist|
|000054c0| 28 6f 62 29 0a 58 46 5f | 63 6f 6d 70 6f 75 6e 64 |(ob).XF_|compound|
|000054d0| 09 2a 6f 62 3b 0a 58 7b | 0a 58 09 46 5f 63 6f 6d |.*ob;.X{|.X.F_com|
|000054e0| 70 6f 75 6e 64 09 2a 63 | 3b 0a 58 0a 58 09 69 66 |pound.*c|;.X.X.if|
|000054f0| 20 28 4e 55 4c 4c 20 21 | 3d 20 6f 62 2d 3e 65 6c | (NULL !|= ob->el|
|00005500| 6c 69 70 73 65 73 29 20 | 72 65 74 75 72 6e 28 31 |lipses) |return(1|
|00005510| 29 3b 0a 58 0a 58 09 66 | 6f 72 20 28 63 20 3d 20 |);.X.X.f|or (c = |
|00005520| 6f 62 2d 3e 63 6f 6d 70 | 6f 75 6e 64 73 3b 20 63 |ob->comp|ounds; c|
|00005530| 20 21 3d 20 4e 55 4c 4c | 3b 20 63 20 3d 20 63 2d | != NULL|; c = c-|
|00005540| 3e 6e 65 78 74 29 20 7b | 0a 58 09 20 20 20 20 69 |>next) {|.X. i|
|00005550| 66 20 28 65 6c 6c 69 70 | 73 65 5f 65 78 69 73 74 |f (ellip|se_exist|
|00005560| 28 63 29 29 20 72 65 74 | 75 72 6e 28 31 29 3b 0a |(c)) ret|urn(1);.|
|00005570| 58 09 20 20 20 20 7d 0a | 58 0a 58 09 72 65 74 75 |X. }.|X.X.retu|
|00005580| 72 6e 28 30 29 3b 0a 58 | 09 7d 0a 58 0a 58 6e 6f |rn(0);.X|.}.X.Xno|
|00005590| 72 6d 61 6c 5f 73 70 6c | 69 6e 65 5f 65 78 69 73 |rmal_spl|ine_exis|
|000055a0| 74 28 6f 62 29 0a 58 46 | 5f 63 6f 6d 70 6f 75 6e |t(ob).XF|_compoun|
|000055b0| 64 09 2a 6f 62 3b 0a 58 | 7b 0a 58 09 46 5f 73 70 |d.*ob;.X|{.X.F_sp|
|000055c0| 6c 69 6e 65 09 2a 73 3b | 0a 58 09 46 5f 63 6f 6d |line.*s;|.X.F_com|
|000055d0| 70 6f 75 6e 64 09 2a 63 | 3b 0a 58 0a 58 09 66 6f |pound.*c|;.X.X.fo|
|000055e0| 72 20 28 73 20 3d 20 6f | 62 2d 3e 73 70 6c 69 6e |r (s = o|b->splin|
|000055f0| 65 73 3b 20 73 20 21 3d | 20 4e 55 4c 4c 3b 20 73 |es; s !=| NULL; s|
|00005600| 20 3d 20 73 2d 3e 6e 65 | 78 74 29 20 7b 0a 58 09 | = s->ne|xt) {.X.|
|00005610| 20 20 20 20 69 66 20 28 | 6e 6f 72 6d 61 6c 5f 73 | if (|normal_s|
|00005620| 70 6c 69 6e 65 28 73 29 | 29 20 72 65 74 75 72 6e |pline(s)|) return|
|00005630| 28 31 29 3b 0a 58 09 20 | 20 20 20 7d 0a 58 0a 58 |(1);.X. | }.X.X|
|00005640| 09 66 6f 72 20 28 63 20 | 3d 20 6f 62 2d 3e 63 6f |.for (c |= ob->co|
|00005650| 6d 70 6f 75 6e 64 73 3b | 20 63 20 21 3d 20 4e 55 |mpounds;| c != NU|
|00005660| 4c 4c 3b 20 63 20 3d 20 | 63 2d 3e 6e 65 78 74 29 |LL; c = |c->next)|
|00005670| 20 7b 0a 58 09 20 20 20 | 20 69 66 20 28 6e 6f 72 | {.X. | if (nor|
|00005680| 6d 61 6c 5f 73 70 6c 69 | 6e 65 5f 65 78 69 73 74 |mal_spli|ne_exist|
|00005690| 28 63 29 29 20 72 65 74 | 75 72 6e 28 31 29 3b 0a |(c)) ret|urn(1);.|
|000056a0| 58 09 20 20 20 20 7d 0a | 58 0a 58 09 72 65 74 75 |X. }.|X.X.retu|
|000056b0| 72 6e 28 30 29 3b 0a 58 | 09 7d 0a 58 0a 58 2f 2a |rn(0);.X|.}.X.X/*|
|000056c0| 56 41 52 41 52 47 53 31 | 2a 2f 0a 58 70 75 74 5f |VARARGS1|*/.Xput_|
|000056d0| 6d 73 67 28 66 6f 72 6d | 61 74 2c 20 61 72 67 31 |msg(form|at, arg1|
|000056e0| 2c 20 61 72 67 32 2c 20 | 61 72 67 33 2c 20 61 72 |, arg2, |arg3, ar|
|000056f0| 67 34 2c 20 61 72 67 35 | 29 0a 58 09 63 68 61 72 |g4, arg5|).X.char|
|00005700| 20 20 20 20 2a 66 6f 72 | 6d 61 74 3b 0a 58 09 69 | *for|mat;.X.i|
|00005710| 6e 74 20 20 20 20 20 61 | 72 67 31 2c 20 61 72 67 |nt a|rg1, arg|
|00005720| 32 2c 20 61 72 67 33 2c | 20 61 72 67 34 2c 20 61 |2, arg3,| arg4, a|
|00005730| 72 67 35 3b 0a 58 7b 0a | 58 09 66 70 72 69 6e 74 |rg5;.X{.|X.fprint|
|00005740| 66 28 73 74 64 65 72 72 | 2c 20 66 6f 72 6d 61 74 |f(stderr|, format|
|00005750| 2c 20 61 72 67 31 2c 20 | 61 72 67 32 2c 20 61 72 |, arg1, |arg2, ar|
|00005760| 67 33 2c 20 61 72 67 34 | 2c 20 61 72 67 35 29 3b |g3, arg4|, arg5);|
|00005770| 0a 58 7d 0a 45 4e 44 5f | 4f 46 5f 46 49 4c 45 0a |.X}.END_|OF_FILE.|
|00005780| 69 66 20 74 65 73 74 20 | 32 30 34 30 38 20 2d 6e |if test |20408 -n|
|00005790| 65 20 60 77 63 20 2d 63 | 20 3c 27 66 32 70 73 2e |e `wc -c| <'f2ps.|
|000057a0| 63 27 60 3b 20 74 68 65 | 6e 0a 20 20 20 20 65 63 |c'`; the|n. ec|
|000057b0| 68 6f 20 73 68 61 72 3a | 20 5c 22 27 66 32 70 73 |ho shar:| \"'f2ps|
|000057c0| 2e 63 27 5c 22 20 75 6e | 70 61 63 6b 65 64 20 77 |.c'\" un|packed w|
|000057d0| 69 74 68 20 77 72 6f 6e | 67 20 73 69 7a 65 21 0a |ith wron|g size!.|
|000057e0| 66 69 0a 23 20 65 6e 64 | 20 6f 66 20 27 66 32 70 |fi.# end| of 'f2p|
|000057f0| 73 2e 63 27 0a 66 69 0a | 69 66 20 74 65 73 74 20 |s.c'.fi.|if test |
|00005800| 2d 66 20 27 78 66 69 67 | 2e 6d 61 6e 27 20 2d 61 |-f 'xfig|.man' -a|
|00005810| 20 22 24 7b 31 7d 22 20 | 21 3d 20 22 2d 63 22 20 | "${1}" |!= "-c" |
|00005820| 3b 20 74 68 65 6e 20 0a | 20 20 65 63 68 6f 20 73 |; then .| echo s|
|00005830| 68 61 72 3a 20 57 69 6c | 6c 20 6e 6f 74 20 63 6c |har: Wil|l not cl|
|00005840| 6f 62 62 65 72 20 65 78 | 69 73 74 69 6e 67 20 66 |obber ex|isting f|
|00005850| 69 6c 65 20 5c 22 27 78 | 66 69 67 2e 6d 61 6e 27 |ile \"'x|fig.man'|
|00005860| 5c 22 0a 65 6c 73 65 0a | 65 63 68 6f 20 73 68 61 |\".else.|echo sha|
|00005870| 72 3a 20 45 78 74 72 61 | 63 74 69 6e 67 20 5c 22 |r: Extra|cting \"|
|00005880| 27 78 66 69 67 2e 6d 61 | 6e 27 5c 22 20 5c 28 32 |'xfig.ma|n'\" \(2|
|00005890| 31 36 32 34 20 63 68 61 | 72 61 63 74 65 72 73 5c |1624 cha|racters\|
|000058a0| 29 0a 73 65 64 20 22 73 | 2f 5e 58 2f 2f 22 20 3e |).sed "s|/^X//" >|
|000058b0| 27 78 66 69 67 2e 6d 61 | 6e 27 20 3c 3c 27 45 4e |'xfig.ma|n' <<'EN|
|000058c0| 44 5f 4f 46 5f 46 49 4c | 45 27 0a 58 2e 54 48 20 |D_OF_FIL|E'.X.TH |
|000058d0| 58 46 49 47 20 31 20 22 | 52 65 6c 65 61 73 65 20 |XFIG 1 "|Release |
|000058e0| 32 2e 30 20 28 50 72 6f | 74 6f 63 6f 6c 20 31 2e |2.0 (Pro|tocol 1.|
|000058f0| 34 58 29 22 0a 58 2e 53 | 48 20 4e 41 4d 45 0a 58 |4X)".X.S|H NAME.X|
|00005900| 78 66 69 67 20 5c 2d 20 | 46 61 63 69 6c 69 74 79 |xfig \- |Facility|
|00005910| 20 66 6f 72 20 49 6e 74 | 65 72 61 63 74 69 76 65 | for Int|eractive|
|00005920| 20 47 65 6e 65 72 61 74 | 69 6f 6e 20 6f 66 20 66 | Generat|ion of f|
|00005930| 69 67 75 72 65 73 20 75 | 6e 64 65 72 20 58 31 31 |igures u|nder X11|
|00005940| 0a 58 2e 53 48 20 53 59 | 4e 4f 50 53 49 53 0a 58 |.X.SH SY|NOPSIS.X|
|00005950| 2e 42 20 78 66 69 67 0a | 58 5b 20 5c 66 42 2d 72 |.B xfig.|X[ \fB-r|
|00005960| 69 5b 67 68 74 5d 5c 66 | 50 20 5d 20 0a 58 5b 20 |i[ght]\f|P ] .X[ |
|00005970| 5c 66 42 2d 6c 65 5b 66 | 74 5d 5c 66 50 20 5d 0a |\fB-le[f|t]\fP ].|
|00005980| 58 5b 20 5c 66 42 2d 4c | 5b 61 6e 64 73 63 61 70 |X[ \fB-L|[andscap|
|00005990| 65 5d 5c 66 50 20 5d 0a | 58 5b 20 5c 66 42 2d 50 |e]\fP ].|X[ \fB-P|
|000059a0| 5b 6f 72 74 72 61 69 74 | 5d 5c 66 50 20 5d 0a 58 |[ortrait|]\fP ].X|
|000059b0| 5b 20 5c 66 42 2d 70 77 | 5b 69 64 74 68 5d 5c 66 |[ \fB-pw|[idth]\f|
|000059c0| 50 20 5c 66 49 75 6e 69 | 74 73 5c 66 50 20 5d 0a |P \fIuni|ts\fP ].|
|000059d0| 58 5b 20 5c 66 42 2d 70 | 68 5b 65 69 67 68 74 5d |X[ \fB-p|h[eight]|
|000059e0| 5c 66 50 20 5c 66 49 75 | 6e 69 74 73 5c 66 50 20 |\fP \fIu|nits\fP |
|000059f0| 5d 0a 58 5b 20 5c 66 42 | 2d 6e 6f 74 5b 72 61 63 |].X[ \fB|-not[rac|
|00005a00| 6b 5d 5c 66 50 20 5d 0a | 58 5b 20 5c 66 42 2d 74 |k]\fP ].|X[ \fB-t|
|00005a10| 72 5b 61 63 6b 5d 5c 66 | 50 20 5d 0a 58 5b 20 5c |r[ack]\f|P ].X[ \|
|00005a20| 66 42 2d 69 6e 63 5b 68 | 65 73 5d 5c 66 50 20 5d |fB-inc[h|es]\fP ]|
|00005a30| 0a 58 5b 20 5c 66 42 2d | 6d 65 5b 74 72 69 63 5d |.X[ \fB-|me[tric]|
|00005a40| 5c 66 50 20 5d 0a 58 5b | 20 5c 66 42 2d 69 6e 76 |\fP ].X[| \fB-inv|
|00005a50| 5b 65 72 73 65 5d 5c 66 | 50 20 5d 0a 58 5b 20 5c |[erse]\f|P ].X[ \|
|00005a60| 66 42 2d 64 65 5b 62 75 | 67 5d 5c 66 50 20 5d 0a |fB-de[bu|g]\fP ].|
|00005a70| 58 5b 20 5c 66 49 66 69 | 6c 65 5c 66 50 20 5d 0a |X[ \fIfi|le\fP ].|
|00005a80| 58 5b 20 5c 66 42 2d 6e | 6f 72 6d 61 6c 5b 46 6f |X[ \fB-n|ormal[Fo|
|00005a90| 6e 74 5d 5c 66 50 20 5c | 66 49 66 6f 6e 74 5c 66 |nt]\fP \|fIfont\f|
|00005aa0| 50 20 5d 0a 58 5b 20 5c | 66 42 2d 62 6f 6c 64 5b |P ].X[ \|fB-bold[|
|00005ab0| 46 6f 6e 74 5d 5c 66 50 | 20 5c 66 49 66 6f 6e 74 |Font]\fP| \fIfont|
|00005ac0| 5c 66 50 20 5d 0a 58 2e | 53 48 20 44 45 53 43 52 |\fP ].X.|SH DESCR|
|00005ad0| 49 50 54 49 4f 4e 0a 58 | 2e 49 20 58 66 69 67 20 |IPTION.X|.I Xfig |
|00005ae0| 0a 58 69 73 20 61 20 6d | 65 6e 75 2d 64 72 69 76 |.Xis a m|enu-driv|
|00005af0| 65 6e 20 74 6f 6f 6c 20 | 74 68 61 74 20 61 6c 6c |en tool |that all|
|00005b00| 6f 77 73 20 74 68 65 20 | 75 73 65 72 20 74 6f 20 |ows the |user to |
|00005b10| 64 72 61 77 20 61 6e 64 | 20 6d 61 6e 69 70 75 6c |draw and| manipul|
|00005b20| 61 74 65 20 6f 62 6a 65 | 63 74 73 0a 58 69 6e 74 |ate obje|cts.Xint|
|00005b30| 65 72 61 63 74 69 76 65 | 6c 79 20 69 6e 20 61 6e |eractive|ly in an|
|00005b40| 20 58 20 77 69 6e 64 6f | 77 2e 20 20 0a 58 2e 42 | X windo|w. .X.B|
|00005b50| 20 49 74 20 72 75 6e 73 | 20 75 6e 64 65 72 20 58 | It runs| under X|
|00005b60| 20 76 65 72 73 69 6f 6e | 20 31 31 20 72 65 6c 65 | version| 11 rele|
|00005b70| 61 73 65 20 34 20 6f 6e | 6c 79 0a 58 61 6e 64 20 |ase 4 on|ly.Xand |
|00005b80| 72 65 71 75 69 72 65 73 | 20 61 20 74 68 72 65 65 |requires| a three|
|00005b90| 2d 62 75 74 74 6f 6e 20 | 6d 6f 75 73 65 2e 0a 58 |-button |mouse..X|
|00005ba0| 2e 49 20 46 69 6c 65 20 | 0a 58 73 70 65 63 69 66 |.I File |.Xspecif|
|00005bb0| 69 65 73 20 74 68 65 20 | 6e 61 6d 65 20 6f 66 20 |ies the |name of |
|00005bc0| 61 20 66 69 6c 65 20 74 | 6f 20 62 65 20 65 64 69 |a file t|o be edi|
|00005bd0| 74 65 64 2e 20 54 68 65 | 20 64 65 73 63 72 69 70 |ted. The| descrip|
|00005be0| 74 69 6f 6e 20 6f 66 20 | 6f 62 6a 65 63 74 73 20 |tion of |objects |
|00005bf0| 69 6e 0a 58 74 68 65 20 | 66 69 6c 65 20 77 69 6c |in.Xthe |file wil|
|00005c00| 6c 20 62 65 20 72 65 61 | 64 20 61 74 20 74 68 65 |l be rea|d at the|
|00005c10| 20 73 74 61 72 74 20 6f | 66 20 5c 66 49 78 66 69 | start o|f \fIxfi|
|00005c20| 67 5c 66 50 2e 20 0a 58 | 2e 50 50 0a 58 54 68 65 |g\fP. .X|.PP.XThe|
|00005c30| 20 6f 75 74 70 75 74 20 | 66 72 6f 6d 20 5c 66 49 | output |from \fI|
|00005c40| 78 66 69 67 5c 66 50 20 | 63 61 6e 20 62 65 20 70 |xfig\fP |can be p|
|00005c50| 72 69 6e 74 65 64 20 69 | 6e 20 73 65 76 65 72 61 |rinted i|n severa|
|00005c60| 6c 20 77 61 79 73 3a 0a | 58 2e 50 50 0a 58 2e 42 |l ways:.|X.PP.X.B|
|00005c70| 20 50 6f 73 74 73 63 72 | 69 70 74 20 2d 0a 58 66 | Postscr|ipt -.Xf|
|00005c80| 32 70 73 20 28 5c 66 49 | 78 66 69 67 5c 66 50 20 |2ps (\fI|xfig\fP |
|00005c90| 74 6f 20 5c 66 49 70 6f | 73 74 73 63 72 69 70 74 |to \fIpo|stscript|
|00005ca0| 5c 66 50 20 74 72 61 6e | 73 6c 61 74 6f 72 29 20 |\fP tran|slator) |
|00005cb0| 69 73 20 75 73 65 64 20 | 74 6f 20 70 72 6f 64 75 |is used |to produ|
|00005cc0| 63 65 0a 58 5c 66 49 70 | 6f 73 74 73 63 72 69 70 |ce.X\fIp|ostscrip|
|00005cd0| 74 5c 66 50 20 66 72 6f | 6d 20 61 6e 20 5c 66 49 |t\fP fro|m an \fI|
|00005ce0| 78 66 69 67 5c 66 50 20 | 66 69 6c 65 2e 0a 58 54 |xfig\fP |file..XT|
|00005cf0| 68 69 73 20 63 61 6e 20 | 62 65 20 73 65 6e 74 20 |his can |be sent |
|00005d00| 64 69 72 65 63 74 6c 79 | 20 74 6f 20 61 20 70 6f |directly| to a po|
|00005d10| 73 74 73 63 72 69 70 74 | 20 70 72 69 6e 74 65 72 |stscript| printer|
|00005d20| 20 6f 72 20 61 20 66 69 | 6c 65 2e 0a 58 2e 50 50 | or a fi|le..X.PP|
|00005d30| 0a 58 2e 42 20 54 72 6f | 66 66 20 2d 0a 58 66 32 |.X.B Tro|ff -.Xf2|
|00005d40| 70 20 28 5c 66 49 78 66 | 69 67 5c 66 50 20 74 6f |p (\fIxf|ig\fP to|
|00005d50| 20 5c 66 49 70 69 63 5c | 66 50 28 31 29 20 74 72 | \fIpic\|fP(1) tr|
|00005d60| 61 6e 73 6c 61 74 6f 72 | 2c 20 61 6c 73 6f 20 6b |anslator|, also k|
|00005d70| 6e 6f 77 6e 20 62 79 20 | 69 74 73 20 70 72 65 76 |nown by |its prev|
|00005d80| 69 6f 75 73 0a 58 6e 61 | 6d 65 20 5c 66 49 66 32 |ious.Xna|me \fIf2|
|00005d90| 66 70 5c 66 50 28 31 4c | 29 29 20 69 73 20 75 73 |fp\fP(1L|)) is us|
|00005da0| 65 64 20 74 6f 20 74 72 | 61 6e 73 6c 61 74 65 20 |ed to tr|anslate |
|00005db0| 5c 66 49 78 66 69 67 5c | 66 50 20 66 69 6c 65 73 |\fIxfig\|fP files|
|00005dc0| 20 69 6e 74 6f 0a 58 2e | 49 52 20 70 69 63 20 28 | into.X.|IR pic (|
|00005dd0| 31 29 0a 58 6c 61 6e 67 | 75 61 67 65 2e 0a 58 54 |1).Xlang|uage..XT|
|00005de0| 68 65 20 72 65 73 75 6c | 74 69 6e 67 20 6f 75 74 |he resul|ting out|
|00005df0| 70 75 74 20 6d 61 79 20 | 74 68 65 6e 20 62 65 20 |put may |then be |
|00005e00| 70 72 6f 63 65 73 73 65 | 64 20 69 6e 20 74 68 65 |processe|d in the|
|00005e10| 20 73 61 6d 65 20 6d 61 | 6e 6e 65 72 20 61 73 20 | same ma|nner as |
|00005e20| 61 6e 79 20 6f 74 68 65 | 72 0a 58 2e 49 20 70 69 |any othe|r.X.I pi|
|00005e30| 63 0a 58 66 69 6c 65 2e | 20 20 4e 6f 74 65 20 74 |c.Xfile.| Note t|
|00005e40| 68 61 74 20 61 72 65 61 | 20 66 69 6c 6c 20 69 73 |hat area| fill is|
|00005e50| 20 6e 6f 74 20 73 75 70 | 70 6f 72 74 65 64 20 62 | not sup|ported b|
|00005e60| 79 20 5c 66 49 66 32 70 | 5c 66 50 2e 0a 58 2e 50 |y \fIf2p|\fP..X.P|
|00005e70| 50 0a 58 2e 42 20 4e 6f | 74 65 3a 20 0a 58 54 68 |P.X.B No|te: .XTh|
|00005e80| 65 20 5c 66 49 66 32 70 | 5c 66 50 20 61 6e 64 20 |e \fIf2p|\fP and |
|00005e90| 5c 66 49 66 32 70 73 5c | 66 50 20 74 72 61 6e 73 |\fIf2ps\|fP trans|
|00005ea0| 6c 61 74 6f 72 73 20 77 | 69 6c 6c 20 62 65 20 65 |lators w|ill be e|
|00005eb0| 76 65 6e 74 75 61 6c 6c | 79 20 70 68 61 73 65 64 |ventuall|y phased|
|00005ec0| 20 6f 75 74 0a 58 62 65 | 63 61 75 73 65 20 74 68 | out.Xbe|cause th|
|00005ed0| 65 20 5c 66 49 54 72 61 | 6e 73 46 69 67 5c 66 50 |e \fITra|nsFig\fP|
|00005ee0| 20 70 61 63 6b 61 67 65 | 20 66 72 6f 6d 20 4d 69 | package| from Mi|
|00005ef0| 63 61 68 20 42 65 63 6b | 20 69 73 20 61 20 6d 6f |cah Beck| is a mo|
|00005f00| 72 65 20 67 65 6e 65 72 | 61 6c 0a 58 70 75 72 70 |re gener|al.Xpurp|
|00005f10| 6f 73 65 20 74 72 61 6e | 73 6c 61 74 6f 72 20 66 |ose tran|slator f|
|00005f20| 6f 72 20 6d 6f 72 65 20 | 67 72 61 70 68 69 63 73 |or more |graphics|
|00005f30| 20 6c 61 6e 67 75 61 67 | 65 73 2e 0a 58 54 68 65 | languag|es..XThe|
|00005f40| 20 5c 66 49 54 72 61 6e | 73 46 69 67 5c 66 50 20 | \fITran|sFig\fP |
|00005f50| 70 61 63 6b 61 67 65 20 | 63 61 6e 20 62 65 20 75 |package |can be u|
|00005f60| 73 65 64 20 61 73 20 61 | 20 62 61 63 6b 2d 65 6e |sed as a| back-en|
|00005f70| 64 20 70 72 6f 63 65 73 | 73 6f 72 20 74 6f 20 78 |d proces|sor to x|
|00005f80| 66 69 67 20 0a 58 74 6f | 20 70 72 6f 64 75 63 65 |fig .Xto| produce|
|00005f90| 20 76 61 72 69 6f 75 73 | 20 74 79 70 65 73 20 6f | various| types o|
|00005fa0| 66 20 6f 75 74 70 75 74 | 3a 0a 58 2e 49 50 20 22 |f output|:.X.IP "|
|00005fb0| 4c 61 54 65 58 20 2d 20 | 22 31 32 20 0a 58 5c 66 |LaTeX - |"12 .X\f|
|00005fc0| 49 66 69 67 32 64 65 76 | 20 2d 4c 20 6c 61 74 65 |Ifig2dev| -L late|
|00005fd0| 78 5c 66 50 20 74 72 61 | 6e 73 6c 61 74 65 73 20 |x\fP tra|nslates |
|00005fe0| 5c 66 49 78 66 69 67 5c | 66 50 20 74 6f 20 5c 66 |\fIxfig\|fP to \f|
|00005ff0| 49 4c 61 54 65 58 5c 66 | 50 0a 58 70 69 63 74 75 |ILaTeX\f|P.Xpictu|
|00006000| 72 65 20 65 6e 76 69 72 | 6f 6e 6d 65 6e 74 20 63 |re envir|onment c|
|00006010| 6f 6d 6d 61 6e 64 73 20 | 77 68 69 63 68 20 63 61 |ommands |which ca|
|00006020| 6e 20 62 65 0a 58 70 72 | 6f 63 65 73 73 65 64 20 |n be.Xpr|ocessed |
|00006030| 61 6c 6f 6e 67 20 77 69 | 74 68 20 6f 74 68 65 72 |along wi|th other|
|00006040| 0a 58 2e 49 20 4c 61 54 | 65 58 0a 58 63 6f 6d 6d |.X.I LaT|eX.Xcomm|
|00006050| 61 6e 64 73 2e 0a 58 2e | 49 50 20 22 50 6f 73 74 |ands..X.|IP "Post|
|00006060| 73 63 72 69 70 74 20 2d | 0a 58 5c 66 49 66 69 67 |script -|.X\fIfig|
|00006070| 32 64 65 76 20 2d 4c 20 | 70 73 5c 66 50 20 70 72 |2dev -L |ps\fP pr|
|00006080| 6f 64 75 63 65 73 20 61 | 20 70 6f 73 74 73 63 72 |oduces a| postscr|
|00006090| 69 70 74 20 6f 75 74 70 | 75 74 2e 0a 58 2e 49 50 |ipt outp|ut..X.IP|
|000060a0| 20 22 50 69 63 20 2d 0a | 58 5c 66 49 66 69 67 32 | "Pic -.|X\fIfig2|
|000060b0| 64 65 76 20 2d 4c 20 70 | 69 63 5c 66 50 20 70 72 |dev -L p|ic\fP pr|
|000060c0| 6f 64 75 63 65 73 20 61 | 20 70 69 63 20 6f 75 74 |oduces a| pic out|
|000060d0| 70 75 74 2e 0a 58 2e 49 | 50 20 22 50 69 43 54 65 |put..X.I|P "PiCTe|
|000060e0| 58 20 2d 0a 58 5c 66 49 | 66 69 67 32 64 65 76 20 |X -.X\fI|fig2dev |
|000060f0| 2d 4c 20 70 69 63 74 65 | 78 5c 66 50 20 70 72 6f |-L picte|x\fP pro|
|00006100| 64 75 63 65 73 0a 58 2e | 49 20 50 69 43 54 65 58 |duces.X.|I PiCTeX|
|00006110| 0a 58 6f 75 74 70 75 74 | 2e 0a 58 54 68 69 73 20 |.Xoutput|..XThis |
|00006120| 63 6f 6e 74 61 69 6e 73 | 20 6d 61 63 72 6f 73 20 |contains| macros |
|00006130| 74 68 61 74 20 63 61 6e | 20 62 65 20 75 73 65 64 |that can| be used|
|00006140| 20 77 69 74 68 20 74 68 | 65 0a 58 2e 49 20 50 69 | with th|e.X.I Pi|
|00006150| 43 54 65 58 0a 58 65 6e | 76 69 72 6f 6e 6d 65 6e |CTeX.Xen|vironmen|
|00006160| 74 20 75 6e 64 65 72 0a | 58 2e 49 20 54 65 58 0a |t under.|X.I TeX.|
|00006170| 58 6f 72 0a 58 2e 49 20 | 4c 61 54 65 58 2e 0a 58 |Xor.X.I |LaTeX..X|
|00006180| 2e 49 50 20 22 4f 74 68 | 65 72 73 20 2d 0a 58 66 |.IP "Oth|ers -.Xf|
|00006190| 69 67 32 64 65 76 20 68 | 61 73 20 6f 70 74 69 6f |ig2dev h|as optio|
|000061a0| 6e 73 20 66 6f 72 20 74 | 68 65 73 65 20 6f 74 68 |ns for t|hese oth|
|000061b0| 65 72 20 6c 61 6e 67 75 | 61 67 65 73 3a 0a 58 5c |er langu|ages:.X\|
|000061c0| 66 49 62 6f 78 5c 66 50 | 2c 0a 58 5c 66 49 65 70 |fIbox\fP|,.X\fIep|
|000061d0| 69 63 5c 66 50 2c 0a 58 | 5c 66 49 65 65 70 69 63 |ic\fP,.X|\fIeepic|
|000061e0| 5c 66 50 2c 0a 58 61 6e | 64 20 5c 66 49 65 65 70 |\fP,.Xan|d \fIeep|
|000061f0| 69 63 65 6d 75 5c 66 50 | 2e 0a 58 2e 50 50 0a 58 |icemu\fP|..X.PP.X|
|00006200| 54 68 65 20 5c 66 49 54 | 72 61 6e 73 46 69 67 5c |The \fIT|ransFig\|
|00006210| 66 50 20 70 61 63 6b 61 | 67 65 20 69 73 20 61 76 |fP packa|ge is av|
|00006220| 61 69 6c 61 62 6c 65 20 | 66 72 6f 6d 0a 58 73 76 |ailable |from.Xsv|
|00006230| 61 78 2e 63 73 2e 63 6f | 72 6e 65 6c 6c 2e 65 64 |ax.cs.co|rnell.ed|
|00006240| 75 20 28 64 69 72 65 63 | 74 6f 72 79 20 2f 70 75 |u (direc|tory /pu|
|00006250| 62 2f 66 69 67 29 20 61 | 6e 64 20 66 72 6f 6d 20 |b/fig) a|nd from |
|00006260| 0a 58 73 75 6e 2e 73 6f | 65 2e 63 6c 61 72 6b 73 |.Xsun.so|e.clarks|
|00006270| 6f 6e 2e 65 64 75 20 28 | 64 69 72 65 63 74 6f 72 |on.edu (|director|
|00006280| 79 20 2f 70 75 62 2f 74 | 72 61 6e 73 66 69 67 29 |y /pub/t|ransfig)|
|00006290| 20 76 69 61 20 61 6e 6f | 6e 79 6d 6f 75 73 20 66 | via ano|nymous f|
|000062a0| 74 70 2e 0a 58 49 74 20 | 69 73 20 61 6c 73 6f 20 |tp..XIt |is also |
|000062b0| 61 76 61 69 6c 61 62 6c | 65 20 62 79 20 6d 61 69 |availabl|e by mai|
|000062c0| 6c 20 66 72 6f 6d 20 74 | 68 65 20 43 6c 61 72 6b |l from t|he Clark|
|000062d0| 73 6f 6e 20 61 72 63 68 | 69 76 65 20 73 65 72 76 |son arch|ive serv|
|000062e0| 65 72 2e 0a 58 54 6f 20 | 66 69 6e 64 20 6f 75 74 |er..XTo |find out|
|000062f0| 20 61 62 6f 75 74 20 75 | 73 69 6e 67 20 74 68 65 | about u|sing the|
|00006300| 20 73 65 72 76 65 72 2c | 20 73 65 6e 64 20 74 68 | server,| send th|
|00006310| 65 20 6f 6e 65 2d 6c 69 | 6e 65 20 6d 65 73 73 61 |e one-li|ne messa|
|00006320| 67 65 20 22 68 65 6c 70 | 22 20 74 6f 0a 58 61 72 |ge "help|" to.Xar|
|00006330| 63 68 69 76 65 2d 73 65 | 72 76 65 72 40 73 75 6e |chive-se|rver@sun|
|00006340| 2e 73 6f 65 2e 63 6c 61 | 72 6b 73 6f 6e 2e 65 64 |.soe.cla|rkson.ed|
|00006350| 75 2e 0a 58 2e 53 48 20 | 4f 50 54 49 4f 4e 53 0a |u..X.SH |OPTIONS.|
|00006360| 58 2e 54 50 0a 58 2e 42 | 20 5c 2d 72 69 0a 58 43 |X.TP.X.B| \-ri.XC|
|00006370| 68 61 6e 67 65 20 74 68 | 65 20 70 6f 73 69 74 69 |hange th|e positi|
|00006380| 6f 6e 20 6f 66 20 74 68 | 65 20 73 69 64 65 20 70 |on of th|e side p|
|00006390| 61 6e 65 6c 20 77 69 6e | 64 6f 77 20 74 6f 20 74 |anel win|dow to t|
|000063a0| 68 65 20 72 69 67 68 74 | 20 6f 66 20 74 68 65 20 |he right| of the |
|000063b0| 63 61 6e 76 61 73 20 77 | 69 6e 64 6f 77 0a 58 28 |canvas w|indow.X(|
|000063c0| 64 65 66 61 75 6c 74 3a | 20 6c 65 66 74 29 2e 0a |default:| left)..|
|000063d0| 58 2e 54 50 0a 58 2e 42 | 20 5c 2d 6c 65 0a 58 43 |X.TP.X.B| \-le.XC|
|000063e0| 68 61 6e 67 65 20 74 68 | 65 20 70 6f 73 69 74 69 |hange th|e positi|
|000063f0| 6f 6e 20 6f 66 20 74 68 | 65 20 73 69 64 65 20 70 |on of th|e side p|
+--------+-------------------------+-------------------------+--------+--------+
Only 25.0 KB of data is shown above.