home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 24 / CD_ASCQ_24_0995.iso / vrac / imagefaq.zip / FAQ01.TXT next >
Internet Message Format  |  1995-06-10  |  70KB

  1. From news.alpha.net!news.mathworks.com!gatech!news.sprintlink.net!noc.netcom.net!netcom.com!jdm Sat Jun 10 11:31:32 1995
  2. Newsgroups: comp.graphics,comp.answers,news.answers
  3. Path: news.alpha.net!news.mathworks.com!gatech!news.sprintlink.net!noc.netcom.net!netcom.com!jdm
  4. From: jdm@netcom.com
  5. Subject: Graphics File Formats FAQ (Part 1 of 4): General Graphics Format Questions
  6. Message-ID: <graphics/fileformats-faq-1-802022477@netcom.com>
  7. Followup-To: poster
  8. Summary: This document answers many of the most frequently asked 
  9.     questions about graphics file formats on Usenet.
  10. Keywords: FAQ, GRAPHICS, FORMAT, IMAGE
  11. Sender: jdm@netcom9.netcom.com
  12. Supersedes: <graphics/fileformats-faq-1-799731112@netcom.com>
  13. Reply-To: jdm@netcom.com (James D. Murray)
  14. Organization: None Whatsoever
  15. Date: Thu, 1 Jun 1995 16:01:20 GMT
  16. Approved: news-answers-request@MIT.EDU
  17. Expires: Sat, 1 Jul 1995 16:01:17 GMT
  18. Lines: 1582
  19. Xref: news.alpha.net comp.graphics:77821 comp.answers:12189 news.answers:45352
  20.  
  21. Posted-By: auto-faq 3.1.1.2
  22. Archive-name: graphics/fileformats-faq/part1
  23. Posting-Frequency: monthly
  24. Last-modified: 01Jun95
  25.  
  26. This FAQ (Frequently Asked Questions) list contains information on graphics
  27. file formats, including, raster, vector, metafile, Page Description Language,
  28. 3D object, animation, and multimedia formats.
  29.  
  30. This FAQ is divided into four parts, each covering a different area of
  31. graphics file format information:
  32.  
  33.   Graphics File Formats FAQ: General Graphics Format Questions (Part 1 of 4)
  34.   Graphics File Formats FAQ: Image Conversion and Display Programs (Part 2 of 4)
  35.   Graphics File Formats FAQ: Where to Get File Format Specifications (Part 3 of 4)
  36.   Graphics File Formats FAQ: Tips and Tricks of the Trade (Part 4 of 4)
  37.  
  38. Please email contributions, corrections, and suggestions about this FAQ to
  39. jdm@netcom.com. Relevant information posted to newsgroups will not
  40. automatically make it into this FAQ.
  41.  
  42. -- James D. Murray <jdm@netcom.com>  ;-{)>>>>
  43.  
  44. ----------------------------------------------------------------------
  45.  
  46. Subject: 0. Contents of General Graphics Format Questions
  47.  
  48. Subjects marked with <NEW> are new to this FAQ.
  49. Subjects marked with <UPD> have been updated since the last release
  50.  of this FAQ.
  51.  
  52. I. General questions about this FAQ
  53.  
  54. 0. Maintainer's Comments
  55. 1. What's new in this latest FAQ release?
  56. 2. Why does a graphics formats FAQ exist?
  57. 3. Where can I get the latest copy of this FAQ? <UPD>
  58. 4. Are there other related FAQs I should read as well?
  59. 5. I have a question, correction, or some information concerning this FAQ.
  60. 6. This FAQ doesn't contain enough detail!
  61. 7. Why isn't the XXX file format covered?
  62. 8. Why aren't audio file formats covered?
  63. 9. Why aren't word processing formats covered?
  64. 10. What about multimedia file formats? 
  65.  
  66. II. General Graphics File Questions
  67.  
  68. 0. Who cares about graphics file formats?
  69. 1. What is raster, vector, metafile, PDL, VRML, and so forth? <UPD>
  70. 2. Why should I care about previous versions of a file format?
  71. 3. Can graphics files be infected with a virus?
  72. 4. Can graphics files be encrypted? 
  73. 5. Can a graphics file be copyrighted? <UPD>
  74. 6. How can I convert the XXX format to the YYY format? 
  75. 7. Do I really need the specification of the format I'm using?
  76. 8. How can I tell if a graphics file is corrupt?
  77. 9. What do I put in my own graphics file format specification?
  78. 10. How do I submit a file format specification to an archive?
  79.  
  80. V. Graphics Formats Misnomers, Misgivings, and Miscellany
  81.  
  82. 0. Why aren't JPEG, MPEG, LZW, and CCITT Group 3 & 4 file formats?
  83. 1. Why aren't IGES, GKS, NAPLPS, PCL, and HPGL file formats either?
  84. 2. Is it "Tag" or "Tagged" Image File Format?
  85. 3. Whaddya mean there's no "Targa" file format?
  86. 4. Choosy programmers choose "gif" or "jif"?
  87. 5. Why are there so many ".PIC" and ".IMG" formats?
  88. 6. Is it now illegal to use CompuServe's GIF format? <UPD>
  89.  
  90. III. Graphics File Resources
  91.  
  92. 0. File Format Specifications FTP Archives and WWW Pages <UPD>
  93. 1. Graphics and Image File FTP Archives and WWW Pages <UPD>
  94. 2. Internet Mailing Lists for Graphics and Imaging
  95. 3. Books on Graphics File Formats
  96. 4. Magazine Articles on Graphics File Formats
  97. 5. U.S. Government and Military Standards Sources
  98. 6. Other Standards Document Sources
  99.  
  100. VII. Kudos and Assertions
  101.  
  102. 0. Acknowledgments 
  103. 1. About The Author 
  104. 2. Disclaimer 
  105. 3. Copyright Notice
  106.  
  107. ------------------------------
  108.  
  109. Subject: I. General questions about this FAQ
  110.  
  111. ------------------------------
  112.  
  113. Subject: 0. Maintainer's Comments
  114.  
  115. Welcome to another monthly release of the Graphics File Format FAQ!
  116.  
  117. More tidbits of information added here and there. Because of the LZW
  118. licensing controversy, I've added more information on patents and coprights.
  119. I'm also including more information on VRML-type formats, especially in Part
  120. 3 of this FAQ.
  121.  
  122. And it looks as though I'll be in the O'Reilly & Associates booth at SIGGRAPH
  123. in Los Angles on August 8th, 9th, and 10th. I'll be the long-haired computer
  124. nerd with the long, braided beard. ;-{)>>>>
  125.  
  126. ------------------------------
  127.  
  128. Subject: 1. What's new in this latest FAQ release?
  129.  
  130.   o Added more info to the GIF/LZW patent section
  131.   o Added a WWW site for 3D object file format information
  132.   o Another file format archive included (a mirror, really)
  133.   o Added another WWW FAQ server listing
  134.   o Added a reference to the Copyright FAQ
  135.  
  136. ------------------------------
  137.  
  138. Subject: 2. Why does a graphics formats FAQ exist?
  139.  
  140. The purpose of this FAQ is to answer many of the frequently asked questions
  141. about graphics file formats posted on Usenet. You will find definitions of
  142. terms, references to format information, very general descriptions of many
  143. formats, information on programs which read, write, convert, and display
  144. graphics files, and some handy programming tips for writing your own code. 
  145. This FAQ is not a substitute for actual file format specifications, nor can
  146. it possibly go into a great amount of specific detail on graphics file
  147. formats.
  148.  
  149. ------------------------------
  150.  
  151. Subject: 3. Where can I get the latest copy of this FAQ?
  152.  
  153. This FAQ is distributed monthly on the Usenet newsgroups comp.graphics
  154. comp.answers, and news.answers as four separate files. It may also be
  155. obtained via anonymous FTP from:
  156.  
  157.   ftp://rtfm.mit.edu/pub/usenet/news.answers/graphics/fileformats-faq
  158.   ftp://rtfm.mit.edu/pub/usenet/comp.graphics
  159.  
  160. To receive a copy of this FAQ via email, send an email message to
  161. mail-server@rtfm.mit.edu with the body:
  162.  
  163.   send usenet/news.answers/graphics/fileformats-faq/part1
  164.   send usenet/news.answers/graphics/fileformats-faq/part2
  165.   send usenet/news.answers/graphics/fileformats-faq/part3
  166.   send usenet/news.answers/graphics/fileformats-faq/part4
  167.  
  168. or via UUCP:
  169.  
  170.   uunet!/archive/usenet/news.answers/graphics/fileformats-faq/part1
  171.   uunet!/archive/usenet/news.answers/graphics/fileformats-faq/part2
  172.   uunet!/archive/usenet/news.answers/graphics/fileformats-faq/part3
  173.   uunet!/archive/usenet/news.answers/graphics/fileformats-faq/part4
  174.  
  175. To access this FAQ on the World Wide Web, use the address:
  176.  
  177.   http://www.cis.ohio-state.edu/hypertext/faq/usenet/graphics/fileformats-faq/top.html
  178.   http://www.cs.ruu.nl/wais/html/na-dir/graphics/fileformats-faq/
  179.  
  180. And you can access all of the FAQs associated with the comp.graphics 
  181. newsgroup via the WWW page:
  182.  
  183.   http://www.cis.ohio-state.edu/hypertext/faq/usenet/graphics/top.html
  184.   http://www.cs.ruu.nl/wais/html/na-dir/graphics/
  185.  
  186. ------------------------------
  187.  
  188. Subject: 4. Are there other related FAQs I should read as well?
  189.  
  190. Information related to file formats not covered by this FAQ may be
  191. found in the following FAQs:
  192.  
  193.   Newsgroup                Archive-name
  194.  
  195.   alt.binaries.pictures    pictures-faq/part[1-2]
  196.   alt.graphics.pixutils    pixutils-faq
  197.   alt.image.medical        medical-image-faq/part[1-3]
  198.   comp.compression         compression-faq/part[1-3]
  199.                            mpeg-faq[1-6]
  200.   comp.dsp                 dsp-faq[1-4]
  201.                            audio-fmts[1-2]
  202.   comp.fonts               fonts-faq/part[1-2]
  203.   comp.graphics            graphics/faq
  204.                            graphics/colorspace-faq
  205.                            graphics/resources-list/part[1-3]
  206.                            jpeg-faq/part[1-2]
  207.   comp.graphics.animation  graphics/animation-faq
  208.   comp.infosystems.gis     geography/infosystems-faq
  209.   comp.multimedia          comp-multimedia-faq
  210.   comp.speech              comp-speech-faq/
  211.   comp.sys.sgi.misc        sgi/faq/
  212.   sci.data.formats         sci-data-formats
  213.   sci.image.processing     image-processing/Macintosh
  214.                            image-processing/Medical_Image_Volume_Visualization
  215.  
  216. These FAQs may also be found the newsgroups alt.answers, comp.answers,
  217. sci.answers, and news.answers, and in the FAQ archives at rtfm.mit.edu
  218. and mirror sites. 
  219.  
  220. To FTP any of these FAQs use the listed Archive-name with the following FTP
  221. address:
  222.  
  223.   ftp://rtfm.mit.edu/pub/usenet/news.answers/ [Archive-name]
  224.  
  225. To receive a copy of these FAQs via email, send an email message to
  226. mail-server@rtfm.mit.edu with the body:
  227.  
  228.   send usenet/news.answers/[Archive-name]
  229.  
  230. ------------------------------
  231.  
  232. Subject: 5. I have a question, correction, or some information concerning this FAQ.
  233.  
  234. All questions, comments, additions, and corrections should be sent to the
  235. author of this FAQ at jdm@netcom.com. I don't always read the newsgroups this
  236. FAQ is posted to, so please contact me directly via email rather than
  237. attempting to reach me by posting to a newsgroup. All suggestions and
  238. contributions within the scope of this FAQ are welcome and contributors
  239. receive full credit in the Acknowledgments section of this FAQ.
  240.  
  241. ------------------------------
  242.  
  243. Subject: 6. This FAQ doesn't contain enough detail!
  244.  
  245. This FAQ only attempts to answer Frequently Asked Questions. It is not a book
  246. on graphics file formats. It is instead a thick source of information that
  247. will help you obtain more information that you need. Or perhaps even clear
  248. up a few of your misconceptions and thereby saving you from wasting some
  249. time.
  250.  
  251. ------------------------------
  252.  
  253. Subject: 7. Why isn't the XXX file format covered?
  254.  
  255. If you have read and/or grepped this FAQ and not found information on the
  256. format you need the reason might be that:
  257.  
  258.   * You are looking for the format under the wrong name.
  259.  
  260.   * This FAQ is new and the information you need hasn't been included yet.
  261.  
  262.   * I don't know about the format and I need you to email me information
  263.     on it (See Subject: 4.).
  264.  
  265.   * The format is proprietary and its caretakers do not wish information
  266.     on the format distributed in this FAQ.
  267.  
  268. ------------------------------
  269.  
  270. Subject: 8. Why aren't audio file formats covered?
  271.  
  272. Information on file formats used specifically for storing audio data are
  273. already covered quite nicely by a FAQ posted to comp.dsp. You may obtain
  274. this FAQ from the Usenet newsgroups comp.dsp, comp.answers, and news.answers,
  275. or from the FTP archive site (and mirrors):
  276.  
  277.   ftp://rtfm.mit.edu/pub/usenet/news.answers/comp.dsp/
  278.  
  279. The FAQ for comp.speech may of also be of interest to audio people. It is
  280. available at:
  281.  
  282.   ftp://rtfm.mit.edu/pub/usenet/news.answers/comp-speech-faq/
  283.   ftp://svr-ftp.eng.cam.ac.uk/pub/comp.speech/FAQ-complete
  284.  
  285. ------------------------------
  286.  
  287. Subject: 9. Why aren't word processing formats covered?
  288.  
  289. It is true that there are many types of file formats that cannot store
  290. graphics data (older word processor and spreadsheet formats, and so forth). 
  291. These formats are not within the scope of this FAQ and are therefore not
  292. covered. Perhaps someone who works in the biz of writing file translators for
  293. these formats will put together such a FAQ one day.
  294.  
  295. ------------------------------
  296.  
  297. Subject: 10. What about multimedia file formats?
  298.  
  299. Multimedia file formats store more than just graphics data. They may also
  300. contain audio, video, animation, and textual data in addition to bitmapped
  301. and vectored graphics. Such formats, although a superset of graphics formats,
  302. are considered to be within the scope of this FAQ and are therefore covered.
  303. Also check the comp.multimedia FAQ for additional information you may
  304. require.
  305.  
  306. ------------------------------
  307.  
  308. Subject: II. General Graphics File Questions
  309.  
  310. ------------------------------
  311.  
  312. Subject: 0. Who cares about graphics file formats?
  313.  
  314. Well, programmers do mostly. But end-users (that is, non-programmers) do too.
  315.  
  316. The typical end-user only cares about storing their graphics information
  317. using a format that most graphics programs and filters can read. End-users
  318. are typically not concerned with the internal arrangement of the data within
  319. the graphics file itself. They only want the format to do its job by
  320. representing their data correctly in a permanent form.
  321.  
  322. Programmers, on the other hand, are that rare breed of human that just can't
  323. leave information well enough alone. They need to know how every byte is
  324. arranged to see if someone knows something that they don't (and often snicker
  325. contentedly to themselves when they find that it is really they that know
  326. more). Programmers will then use this information to write code that may
  327. never see the light of distribution, but nevertheless, they will have had fun
  328. and gained enlightenment from writing it.
  329.  
  330. It doesn't matter which of these two types of people you are. If you have
  331. even the slightest interest in graphics file formats then you may be counted
  332. as one who cares.
  333.  
  334. ------------------------------
  335.  
  336. Subject: 1. What is raster, vector, metafile, PDL, VRML, and so forth?
  337.  
  338. These terms are used to classify the type of data a graphics file contains. 
  339. Raster files (also called bitmapped files) contain graphics information
  340. described as pixels, such as photographic images. Vector files contain data
  341. described as mathematical equations and are typically used to store line art
  342. and CAD information. Metafiles are formats that may contain either raster or
  343. vector graphics data. Page Description Languages (PDL) are used to describe
  344. the layout of a printed page of graphics and text. Animation formats are
  345. usually collections of raster data that is displayed in a sequence. 
  346. Multi-dimensional object formats store graphics data as a collection of
  347. objects (data and the code that manipulates it) that may be rendered
  348. (displayed) in a variety of perspectives. Virtual Reality Modeling Language
  349. (VRML) is a 3D, object-oriented language used for describing "virtual
  350. worlds"  networked via the Internet and hyperlinked within the World Wide
  351. Web. Multimedia file formats are capable of storing any of the previously
  352. mentioned types of data, including sound and video information. 
  353.  
  354. ------------------------------
  355.  
  356. Subject: 2. Why should I care about previous versions of a file format?
  357.  
  358. When version 2.0 of the XXX format is released all of the thousands of files
  359. created using version 1.0 of the XXX format don't magically disappear or
  360. transform to version 2.0 overnight. Although version 2.0 might claim to be
  361. fully backwards compatible, the new specification may obfuscate or even omit
  362. details of the previous version of the format. In short, never throw away
  363. older information just because you have something newer. At one point in time
  364. that "out dated" format spec was state-of-the-art, and it may still contain a
  365. singular precious tid-bit of information that the caretakers of the format
  366. didn't carry over to the new spec (but Murphy will make sure you desperately
  367. need to know).
  368.  
  369. ------------------------------
  370.  
  371. Subject: 3. Can graphics files be infected with a virus?
  372.  
  373. For most types of graphics file formats currently available the answer is
  374. "no". A virus (or worm, Trojan horse, and so forth) is fundamentally a
  375. collection of code (that is, a program) that contains instructions which are
  376. executed by a CPU. Most graphics files, however, contain only static data
  377. and no executable code. The code that reads, writes, and displays graphics
  378. data is found in translation and display programs and not in the graphics
  379. files themselves. If reading or writing a graphics file caused a system
  380. malfunction is it most likely the fault of the program reading the file and
  381. not of the graphics file data itself.
  382.  
  383. With the introduction of multimedia we have seen new formats appear, and
  384. modifications to older formats made, that allow executable instructions to be
  385. stored within a file format. These instructions are used to direct multimedia
  386. applications to play sounds or music, prompt the user for information, or
  387. display other graphics and video information. And such multimedia display
  388. programs may perform these functions by interfacing with their environment
  389. via an API, or by direct interaction with the operating system. One might
  390. also imagine a truly object-oriented graphics file as containing the code
  391. required to read, write, and display itself.
  392.  
  393. Once again, any catastrophes that result from using these multimedia
  394. application is most like the result of unfound bugs in the software and not
  395. some sinister instructions in the graphics file data. Such "logic bombs" are
  396. typically exorcised through the use of testing using a wide variety of
  397. different image files for test cases.
  398.  
  399. If you have a virus scanning program that indicates a specific graphics file
  400. is infected by virus, then it is very possible that the file coincidentally
  401. contains a byte pattern that the scanning programming recognizes as a key
  402. byte signature identifying a virus. Contact the author (or even read the
  403. documentation!) of the virus scanning program to discuss the probability of
  404. the mis-identification of a clean file as being infected by a virus. Save the
  405. graphics file, as the author will most likely wish to examine it as well.
  406.  
  407. If you suspect a graphics file to be at the heart of a virus problem you are
  408. experiencing, then also consider the possibility that the graphics file's
  409. transport mechanism (floppy disk, tape or shell archive file, compressed
  410. archive file, and so forth) might be the original source of the virus and not
  411. the graphics file itself.
  412.  
  413. ------------------------------
  414.  
  415. Subject: 4. Can graphics files be encrypted?
  416.  
  417. Of course you can encrypt a graphics file. After all, most encryption
  418. algorithms don't care about the intellectual content of a file. All they chew
  419. on is a series of byte values. Therefore, most any encryption program that
  420. works on ordinary text files will work on graphics files as well.
  421.  
  422. Why would you want to encrypt a graphics file? Mostly to control who can view
  423. its contents. You can invent a proprietary file format and that might slow a
  424. file format hack down for, say, five or ten minutes. You could add a
  425. proprietary data compression scheme, possibly a twisted variation of an
  426. already public algorithm. But there are so many people out there with nothing
  427. better to do than hack at unknown data formats that your data would probably
  428. be exposed in little time. But suppose we top off all this effort by
  429. encrypting the graphics file itself as we would an ordinary text file. Would
  430. your data then be safe?
  431.  
  432. Realize that an encrypted graphics file still might not be very secure. For
  433. every data encryption algorithm there exists at least one method of getting
  434. around it, although it may take hundreds of computers and many years to fully
  435. employ and execute that method!
  436.  
  437. For example, one of the more popular methods used to encrypt data is the
  438. Vernam or XOR cipher. This cipher Exclusive ORs the plain-text data with a
  439. single, random, fixed-length key. The longer the key the harder it is to
  440. break the cipher. A totally random key the length of your data is impossible
  441. to break. Shorter and less-random keys are easier to break.
  442.  
  443. XOR is very simple and fast, which is a must for a graphics file
  444. translators/viewers that must decrypt a file on the fly. A problem, however,
  445. is that most graphics files contain fixed size headers which vary only
  446. slightly in content from file to file. If you knew the approximate contents
  447. of the header of an encrypted file you could XOR a "decrypted" header with
  448. the encrypted file and possibly produce the key used to encrypt the file. A
  449. short key might be very easily discovered in this way.
  450.  
  451. If you really need to make the contents of a graphics file secure, then I'd
  452. suggest not only using some form of data encryption, but also create an
  453. unconventional and proprietary file format and do not publish its format
  454. specification.
  455.  
  456. For more info on data encryption:
  457.  
  458.   Bruce Schneier, "Applied Cryptography: Protocols, Algorithms,
  459.     and Source Code in C", John Wiley & Sons, 1994.
  460.  
  461. ------------------------------
  462.  
  463. Subject: 5. Can a graphics file be copyrighted?
  464.  
  465. No. A graphics file cannot normally be copyrighted under United States
  466. copyright laws (although the rulings of some judges may disagree on this). The
  467. specification of a format and the contents of a graphics file, however, are
  468. subject to copyright.
  469.  
  470. For anything to be copyrighted it must be:
  471.  
  472.   1) A work of authorship
  473.   2) Fixed in a tangible medium of expression
  474.  
  475. The description of a graphics format does meet both of these criteria (it is
  476. fixed in a medium and a work of authorship) and is therefore protected under
  477. the copyright laws. A graphics file created using the format description,
  478. however, meets the second criteria, but not the first (that is, it is not
  479. considered to be a work of authorship). The format itself is considered
  480. instead to be an idea or system, and is therefore not protected by copyright.
  481.  
  482. So the description of a file format is copyrightable, but the format as it
  483. exists in its medium is not. What about the graphics data that the file
  484. contains?
  485.  
  486. If the graphical data written to a graphics file also meets the above two
  487. criteria, then it is also protected by the copyright laws as intellectual
  488. property. You will not wave your copyright protection by storing any original
  489. information using a graphics file format.
  490.  
  491. For more information on copyright, please refer to the copyright FAQs found
  492. on the misc.legal, misc.legal.computing, misc.int-property, and comp.patents 
  493. newsgroups: 
  494.  
  495.   ftp://rtfm.mit.edu/pub/usenet/news.answers/law/Copyright-FAQ/
  496.   ftp://rtfm.mit.edu/pub/usenet/news.answers/law/Copyright-FAQ/myths/
  497.  
  498. Apparently, quite a number of copyright discussions also occur on the
  499. comp.www.infosystems.* newsgroups as well.
  500.  
  501. Information on patents, copyrights, and intellectual property may be found at:
  502.  
  503.   http://www.questel.orbit.com/patents/readings.html
  504.  
  505. ------------------------------
  506.  
  507. Subject: 6. How can I convert the XXX format to the YYY format?
  508.  
  509. With a file conversion program, of course! Without a doubt one of the most
  510. frequently asked categories of questions on comp.graphics is how to convert
  511. one format to another. In every case the answer is some type of conversion
  512. program or filter, but which one?
  513.  
  514. Section IV of the FAQ is an attempt to list every known graphics file display
  515. and conversion program and application. Although far from complete, this list
  516. may contain the program you need. Go to the subsection of the particular
  517. operating system you are using and scan through Imports: and Exports: formats
  518. listed and see if the formats you needs to use are there.
  519.  
  520. In some cases the information in a listing may make the conversion
  521. capabilities of a program a bit misleading. For example, a program that can
  522. import a vector .DWG file and export a raster .BMP file may not necessarily
  523. be able to perform a .DWG->.BMP (vector->raster) conversion (AutoCAD R12 can,
  524. BTW). And just because a program can both import and export TIFF files
  525. doesn't mean it's capable of a TIFF(CMYK)->TIFF(RGB) conversion (as Adobe
  526. Photoshop can do). As always, read the documentation, contact and ask the
  527. author of the program, or find a user of the program and ask them.
  528.  
  529. ------------------------------
  530.  
  531. Subject: 7. Do I really need the specification of the format I'm using?
  532.  
  533. It depends upon the results you are trying to obtain. If you have code that
  534. supports the XXX format and you find it easy (and legal) to integrate that
  535. code into your program, then you may be tempted to do so. But realize that
  536. your program will support the XXX format in just the same way as the previous
  537. program did. In other words, your program will now work the same, but it will
  538. really be no better.
  539.  
  540. By obtaining the format specification you can make an attempt to fully
  541. support all of the features and capabilities a graphics or multimedia file
  542. format has to offer. If you use pre-written code that only supports a small
  543. subset of the format's features then you are not doing justice to the
  544. format and cheating your users out of functionality they might need.
  545.  
  546. Always strive to create the best programs possible within reason of time and
  547. money. Obtain the specs, look at code, and talk to programmers who have
  548. worked with the format before. You might gain some insight and save yourself
  549. some hair-pulling by supporting a feature that someone didn't think to
  550. include in the original requirements for your program.
  551.  
  552. ------------------------------
  553.  
  554. Subject: 8. How can I tell if a graphics file is corrupt?
  555.  
  556. The easiest way is to display the file and decide if what you see on the
  557. screen or the printer is correct. This method is not fool-proof, however,
  558. because not all information stored in a graphics file is used for displaying
  559. the data it contains. Textual comments, alternate color maps, and unused
  560. fields in the header might be munged and go undetected.
  561.  
  562. A frequent source of corruption occurs when 8-bit graphics data is
  563. transported via a 7-bit communications channel. The 8th bit of each byte is
  564. cleared (set to zero) and you are left with garbage. The PNG file format
  565. supports an elegant solution to the quick detection of this type of
  566. corruption. The First character of every PNG file is the 8-bit value 89h. If
  567. this value is read as 09h, the 8th bit has been zeroed and you know the file
  568. is corrupt.
  569.  
  570. Most graphics files do not contain any real, built-in error detection
  571. features. The standard way to check for corruption of any type of data file
  572. is to perform some sort of error-detection scheme on the file. Such schemes
  573. commonly used are Checksum calculations and the Cyclic Redundancy Check
  574. (CRC).  These algorithms are commonly used in the world of synchronous serial
  575. communications for detecting errors in data streams.
  576.  
  577. If you only wanted to provide error detection for the graphical data
  578. contained in a file, but not the header, then a 2- or 4-byte field in the
  579. header could be used to store the CRC-16 or CRC-32 value of the data. But
  580. what good is pure data if the header is possibly corrupt? 
  581.  
  582. If we calculate the CRC value of the entire file and then store that
  583. calculated value in the header we will have just "corrupted" the file! You
  584. could initialize the CRC field with zeros, calculate the value, store the
  585. value, and specify that the entire file need be read into memory and the CRC
  586. value field set to all zeros before the CRC calculation is made. 
  587.  
  588. File formats that segment their data into blocks or chunks would be able to
  589. perform a CRC on each section individually (another feature found in the PNG
  590. file format). Each section would store the CRC value as the last 2 or 4 bytes
  591. of the block and the CRC value field would never be read for the purpose of
  592. the CRC calculation. This method makes it easier to find the location of the
  593. error(s) in a file. If the CRC error occured in an unnecessary block of data,
  594. the file might still be useful anyway. This block-style CRC checking also
  595. saves the reader from performing a time-consuming CRC calculation an entire,
  596. possibly very large, graphics file.
  597.  
  598. But all this can be quite a pain. Can't we avoid modifying a file and just
  599. store the CRC value externally to the file? Maybe using some sort of
  600. encapsulating "wrapper"?
  601.  
  602. If you want to make sure a graphics file (or any file for that matter) has
  603. been transported through a communications channel without sustaining any
  604. corruption, first store it using a file archiving program that supports error
  605. checking of the files contained in the archive. (Several good error-checking
  606. file archiving programs include PKZIP, gzip, and zoo. The ar and tar Unix
  607. archiving programs do not support error checking). When the graphics file is
  608. stored, the archival program calculates the CRC value of the file. If the CRC
  609. value does not match the file's calculated CRC after it is unarchived after
  610. transport, you know that the file has been corrupted.
  611.  
  612. Note: make sure you turn compression OFF when archiving many types of
  613. graphics files. File archival programs use compression by default and will
  614. attempt to make your compressed data even smaller (which usually results in
  615. larger data, unless the archiver is smart enough to detect the negative
  616. compression and not attempt to compress the file). ASCII-based files (such as
  617. PostScript and DXF) and some RLE-encoded files (such as PCX) will be
  618. compressed, while other formats supporting more advanced data compression
  619. methods (such as JPEG and LZW) will surely grow in size.
  620.  
  621. ------------------------------
  622.  
  623. Subject: 9. What do I put in my own graphics file format specification?
  624.  
  625. For people that are faced with the task of writing up a specification for
  626. their own format (or perhaps to better document someone else's), a few
  627. suggestions are hereby offered.
  628.  
  629.   A large spec needs a table of contents, bibliography, and an index.
  630.   Most specs do not fall into this category though.
  631.  
  632.   On the cover sheet give the full information of your company, products
  633.   associated with the format, the format version, date of release, 
  634.   where the latest copy of the spec may be obtained, and how developers
  635.   may get in contact with you to ask questions.
  636.  
  637.   Detail the full history of the spec and not just the dates of its
  638.   revision. Tell why the format was created. Detail some insights of
  639.   how it was designed. Speculate on what features future version might
  640.   contain. And give the names of your developers and other people
  641.   involved. Show the human thought that exists behind the cold chunk of
  642.   data that is your format.
  643.  
  644.   List the features of your format and explain how you intend that it
  645.   should be used and not used (tell what your format is and is not).
  646.   Give the developer your reasons that they should use your format (and
  647.   why they should not bother with others).
  648.   
  649.   Include both block diagrams and ANSI C code examples of the format's
  650.   internal data structures. Illustrate actual examples of ASCII file
  651.   format data and hexadecimal dumps of binary format data (very useful
  652.   to programmers, I might say).
  653.  
  654.   If your format includes one or more forms of data compression, error
  655.   checking, encryption, etc., place this information in a separate
  656.   section and give plenty of examples (both written and code) of how
  657.   these algorithms work. Include mathematical formulas if you believe it
  658.   makes your concepts clearer.
  659.  
  660.   Make the specification available both in hardcopy and electronic
  661.   form. The hardcopy version should be formatted as a technical
  662.   document and using a font that won't degrade badly when the spec is
  663.   photocopied or faxed. Use a standard sized page layout so the spec
  664.   isn't a hassle to fit in an envelope when mailed. The electronic
  665.   version should be available as both ASCII text and PostScript files.
  666.   Making the spec available in a word processing format (such as
  667.   Microsoft Word or Framemaker) is nice, but not absolutely necessary.
  668.  
  669.   Consider making a developer's toolkit for your format. A collection
  670.   of benchmark graphics files (one of each flavor of your format), and
  671.   a parser written in ANSI C that reads and writes your format, is of
  672.   tremendous help to programmers. Such a kit will allow developers to
  673.   implement your format quickly in their products and helps minimize
  674.   the chances of numerous software packages appearing which create
  675.   graphics files that don't meet your spec. Examples of formats with
  676.   toolkits include TIFF, TGA (Truevision), and WordPerfect Graphics
  677.   (WPG).
  678.  
  679.   Submit your specification to every FTP/Gopher/WWW site and BBS that
  680.   archives file format specs. Notify the maintainers of related FAQs
  681.   (graphics, animation, multimedia, audio, medical, etc.) that your
  682.   format exists and ask for a mention. Send your literature to graphics
  683.   and imaging software companies to sell support of your format and/or
  684.   software products.
  685.  
  686. And a few guidelines on good technical writing in general:
  687.  
  688.   Write in a tutorial style with explanations and examples of your
  689.   topics. Don't just give a terse, dictionary description of a topic
  690.   which often leaves the readers confused and needing more.
  691.  
  692.   Write in simple terms. Don't assume your readers enjoy 70-word
  693.   sentences, or have advanced degrees in mathematics or computer
  694.   graphics. 
  695.  
  696.   Have other people read and attempt to understand your spec. Don't
  697.   assume that just because you understand what you've written that
  698.   every reader will too. You, as the file format specification's
  699.   author, understand the format inside and out. Your readers, however,
  700.   do not. An explanation that may seem clear to you may be just
  701.   another confusing paragraph to your readers.
  702.  
  703.   Write for a world-wide audience of programmers. Omit slang or regional
  704.   expressions that a developer living on the other side of the planet
  705.   might not understand.
  706.  
  707.   Programs that check spelling and grammar are our friends. Use them.
  708.  
  709. ------------------------------
  710.  
  711. Subject: 10. How do I submit a file format specification to an archive?
  712.  
  713. There are several FTP and WWW sites which act as archives for graphics file
  714. format specifications (see the section "Graphics and Image File FTP Archives
  715. and WWW Pages"). If you have a file format specification that is legal to
  716. share with the rest of the world-wide Internet community, then you may wish
  717. to submit it to one or more of these archives.
  718.  
  719. There are generally two ways to submit a file format specification to an
  720. FTP archive:
  721.  
  722.   1) Upload (or "put") the file in the /incoming or /pub/incoming directory.
  723.   2) Email the file to the archive maintainer (the email address is usually
  724.      in the README or similar file in the root FTP directory).
  725.  
  726. Realize that most FTP sites don't allow unsolicited uploads and instead
  727. require you to contact the archive maintainer to make a submission. Many
  728. sites are simply mirrors for other archives and don't accepts any kind of
  729. submissions at all. 
  730.  
  731. In any case, it's usually good form to include a description file with your
  732. submission to describe in a few words what you have uploaded and where it
  733. originated. If your upload is named foo.doc then the description file should
  734. be named foo.txt.
  735.  
  736. ------------------------------
  737.  
  738. Subject: III. Graphics File Resources
  739.  
  740. ------------------------------
  741.  
  742. Subject: 0. File Format Specifications FTP Archives and WWW Pages
  743.  
  744. The following anonymous FTP and WWW sites are known to archive file format
  745. specifications and information. These documents may be official releases of
  746. specifications by the creator/caretaker of the formats, or information
  747. transcribed by people from various sources and released onto the net,
  748. possibly without permission from the format's owner.
  749.  
  750.   ftp://avalon.chinalake.navy.mil/pub/format_specs
  751.   ftp://avalon.vislab.navy.mil/pub/format_specs
  752.   ftp://cs.columbia.edu/archives/mirror2/world-info/obi/Standards/Graphics/Formats
  753.   ftp://ftp.nau.edu/graphics/formats
  754.   ftp://ftp.ncsa.uiuc.edu/misc/file.formats/graphics.formats
  755.   ftp://ftp.std.com/obi/Standards/Graphics/Formats
  756.   ftp://ftp.uu.net/doc/literary/obi/Standards/Graphics/Formats
  757.   ftp://ftp.wustl.edu/doc/graphic-formats
  758.   ftp://peipa.essex.ac.uk/ipa/file.formats
  759.   ftp://telva.ccu.uniovi.es/pub/graphics/file.formats
  760.   ftp://x2ftp.oulu.fi/pub/msdos/programming/formats
  761.   ftp://zamenhof.cs.rice.edu/pub/graphics.formats
  762.  
  763.   http://speckle.ncsl.nist.gov/~lsr/cgm_std.html
  764.   http://www.cica.indiana.edu/graphics/3D.objects.html
  765.   http://www.dcs.ed.ac.uk/home/iat/index.html
  766.   http://www.tnt.uni-hannover.de/data/info/www/tnt/soft/sci/sig/image/fileformats/overview.html
  767.   http://www.tnt.uni-hannover.de/data/info/www/tnt/soft/sci/vis/compgraph/fileformats/overview.html
  768.  
  769. ------------------------------
  770.  
  771. Subject: 1. Graphics and Image File FTP Archives and WWW Pages
  772.  
  773. The following anonymous FTP sites are known to archive image, graphics, and
  774. multimedia files and information:
  775.  
  776.   ftp://ames.arc.nasa.gov/pub/SPACE
  777.     NASA/Ames Archives. Space images in GIF format.
  778.  
  779.   ftp://amiga.physik.unizh.ch/amiga/gfx/misc
  780.     VistaPro graphics
  781.  
  782.   ftp://asterix.inescn.pt/pub/PC/flidemos
  783.     FLI and FLC animations
  784.  
  785.   ftp://ftp.catt.ncsu.edu/pub/graphics
  786.     FLIC and QuickTime movies and many GIF and JPG images
  787.       
  788.   ftp://ftp.cdrom.com/pub/aminet/pix
  789.     JPG, GIF, and Multimedia files
  790.  
  791.   ftp://ftp.cnam.fr/Fractals/anim
  792.     Fractal animation files
  793.  
  794.   ftp://edcftp.cr.usgs.gov/pub/data/DEM/250
  795.   ftp://edcftp.cr.usgs.gov/pub/data/DLG/{2M,100K}
  796.     Digital Elevation Model (DEM) and Digital Line Graph (DLG) archives
  797.  
  798.   ftp://ftp.povray.org/pub/povray/images
  799.   ftp://ftp.povray.org/pub/povray/scenes
  800.     GIF, JPEG, and POV scene files rendered using PovRAY
  801.  
  802.   ftp://ftp.sdsc.edu/pub/sdsc/images
  803.   ftp://ftp.sdsc.edupub/sdsc/sound
  804.     San Diego Supercomputer Center sound and image file archives
  805.  
  806.   ftp://ftp.sunet.se/pub/graphics
  807.   ftp://ftp.sunet.se/pub/multimedia
  808.     MPEG, JPEG, FLC, HDF, AF, VR, and GIF files.
  809.     Also /pub/pictures and /pub/comics contain many images
  810.  
  811.   ftp://ftp.tcp.com/pub/anime
  812.   ftp://ftp.tcp.com/pub/anime-manga/anim
  813.     Animation and multimedia files in MPEG, QuickTime, AVI, and FLI formats
  814.  
  815.   ftp://omicron.cs.unc.edu/pub/softlab/CHVRTD
  816.     MRI and CT scan volume data of human anatomy
  817.  
  818.   ftp://photo1.si.edu/images
  819.     Smithsonian Institution photoimage archives
  820.  
  821.   ftp://ftp.povray.org
  822.      POV animation files
  823.  
  824.   ftp://src.doc.ic.ac.uk:/pub/packages/faces
  825.      USENIX faces archive (contains 5592 different faces)
  826.  
  827.   ftp://ftp.uni-erlangen.de/pub/pictures/mpeg/LOCAL/RedsNightmare.tar
  828.     Red's Nightmare (a ray-traced animation)
  829.  
  830.   ftp://ftp.univ-rennes1.fr/Images/ASTRO/anim
  831.     Space animation files
  832.  
  833.   ftp://ftp.wustl.edu/pub/aminet/gfx/anim
  834.     Various Amiga anims (also on other aminet sites)
  835.  
  836.   ftp://pubinfo.jpl.nasa.gov/images
  837.     Space images in GIF format
  838.  
  839.   ftp://spectrum.xerox.com/pub/map/dem
  840.   ftp://spectrum.xerox.compub/map/dlg
  841.     Digital Elevation Model (DEM) and Digital Line Graph (DLG) archives
  842.  
  843.   ftp://src.doc.ic.ac.uk/gfx/misc
  844.     Digital Elevation Model (DEM) and Digital Line Graph (DLG) archives
  845.  
  846.   ftp://sunsite.unc.edu/pub/multimedia/pictures
  847.   ftp://sunsite.unc.edu/pub/multimedia/animation
  848.     Graphics and MPEG file collection
  849.  
  850.   ftp://toybox.gsfc.nasa.gov/pub/images
  851.     NASA images in GIF, JPEG, PostScript, Sun Raster, and X Bitmap formats
  852.  
  853. The following WWW sites are known to archive image, graphics, and multimedia
  854. files:
  855.  
  856.   http://afrodite.lira.dist.unige.it/
  857.     European Network of Excellence in Computer Vision
  858.  
  859.   http://archpropplan.auckland.ac.nz/People/Mat/gallery/animations.html
  860.     Mat Carr's animations
  861.  
  862.   http://cui_www.unige.ch:80/OSG/MultimediaInfo/
  863.     Index to Multimedia Information Resources
  864.  
  865.   http://found.cs.nyu.edu/
  866.     NYU State Center for Advanced Technology
  867.  
  868.   http://fuzine.mt.cs.cmu.edu/im/informedia.html
  869.     Informedia Digital Video Library Project
  870.  
  871.   http://mambo.ucsc.edu:80/psl/thant/thant.html
  872.     Thant's Animation index
  873.  
  874.   http://netlab.itd.nrl.navy.mil/imaging.html
  875.     Listings of imaging resources and archive sites
  876.  
  877.   http://scorch.doc.ic.ac.uk/~np2/multimedia/
  878.  
  879.   http://sunsite.unc.edu/louvre/about/tech.html
  880.   http://mistral.enst.fr/louvre/about/tech.html
  881.     WebLouvre - Using and troubleshooting the web
  882.  
  883.   http://w3.eeb.ele.tue.nl/mpeg/index.html
  884.     Various MPEG animations
  885.  
  886.   http://web.msi.umn.edu/WWW/SciVis/umnscivis.html
  887.     Scientific visualization and graphics
  888.  
  889.   http://www.best.com/~bryanw/index.html
  890.     The Graphics Archive
  891.   
  892.   http://www.cs.ubc.ca/nest/imager/imager.html
  893.     MPEG animations done using hierarchical b-splines
  894.  
  895.   http://www.delphi.com/fx/fxscreen.html
  896.     fX Networks' Download Goodies promo videoclips in AVI and QT formats
  897.  
  898.   http://www.demon.co.uk/
  899.     Demon Internet 
  900.  
  901.   http://www.infomedia.com:8600
  902.     Liquid Mercury's new WWW Site designed for "New Media" professionals.
  903.     Current industry data and product profiles. Email: info@infomedia.com
  904.  
  905.   http://www.kodak.com/digitalImages/samples/samples.shtml
  906.     Kodak Sample Digital Images archive
  907.  
  908.   http://www.lightside.com/~dani/cgi/images-index.html
  909.     3DWEB - World Wide Web site for 3D Computer Graphics
  910.  
  911.   http://www.picker.com/pgw
  912.     Picker Graphic Workstations
  913.  
  914.   http://www.sd.tgs.com/~template
  915.     Web3D - World Wide Web site for 3D Graphics
  916.  
  917.   http://www.state51.co.uk/state51/
  918.     State51 Interactive Media
  919.  
  920.   http://www.univ.trieste.it/mmwwwpc/mmwwwpc.html
  921.     MultiMedia WWW PC v1.1
  922.  
  923. ---------------------
  924.  
  925. Subject: 2. Internet Mailing Lists for Graphics and Imaging
  926.  
  927. This section contains a listing of Internet mailing lists that often contain
  928. discussions and information on graphics and image file formats. Mailing lists
  929. are a good alternative form of communication for those netters that do not
  930. have Usenet access.
  931.  
  932.   agocg-ip@mailbase.ac.uk
  933.     Discussion of all aspects of image processing. To subscribe:
  934.     send an email message to mailbase@mailbase.ac.uk with the body
  935.     "join agocg-ip yourfirstname yourlastname".
  936.  
  937.   digvid-l@ucdavis.edu
  938.     Discussion of digital video, mostly of the desktop variety.
  939.     To subscribe: send an email message to listserv@ucdavis.edu
  940.     with the body: "subscribe digvid-l yourfirstname yourlastname".
  941.  
  942.   geotiff@tazboy.jpl.nasa.gov.
  943.     Discussion regarding the establishment of a set of TIFF tags for
  944.     storing geographic map projection information, such as UTM zones,
  945.     Lambert Standard parallels, etc. Participants include
  946.     representatives from SPOT, Intergraph, ERDAS, ESRI, and USGS. To
  947.     subscribe: send an email message to geotiff-request@tazboy.jpl.nasa.gov.
  948.  
  949.   graphuk@cs.man.ac.uk
  950.     GraphUK mailing list. Discussion of graphics systems such as PHIGS 
  951.     and GKS, and training in the area of graphics. To subscribe: send an
  952.     email message to graphuk-request@cs.man.ac.uk with the body "subscribe
  953.     graphuk".
  954.  
  955.   listserv@info.kodak.com
  956.     Information on the Kodak Photo-CD format. To subscribe: send an
  957.     email message to listserv@info.kodak.com with the body:
  958.     "INFO PHOTO-CD".
  959.  
  960.   listserv@soils.umn.edu
  961.     NIH image processing discussion. To subscribe: send an email message
  962.     to listserv@soils.umn.edu with the body "subscribe nih-image 
  963.     yourfirstname yourlastname".
  964.  
  965.   medimage@polygraf
  966.     Medical imaging discussion. To subscribe: send an email message
  967.     to listserv%polygraf.bitnet@mitvma.mit.edu with the body
  968.     "subscribe medimage".
  969.  
  970.   nucmed@uwovax.uwo.ca
  971.     Nuclear medicine and medical imaging discussion. To subscribe: 
  972.     send an email message to nucmed-request@uwovax.uwo.ca with the
  973.     body "subscribe nucmed".
  974.  
  975.   pixel@essex.ac.uk
  976.     British Machine Vision Association newsletter for machine vision,
  977.     image processing, pattern recognition, remote sensing, etc. To
  978.     subscribe: send an email message to pixel-request@essex.ac.uk.
  979.  
  980.   ximage@expo.lcs.mit.edu
  981.     Discussion of image processing using The X Window System. To 
  982.     subscribe send an email message to ximage-request@expo.lcs.mit.edu
  983.     with the body "subscribe ximage".
  984.         
  985. ------------------------------
  986.  
  987. Subject: 3. Books on Graphics File Formats
  988.  
  989. This section contains bibliographical listing of books containing information
  990. on graphics file formats. This list is alphabetized by title and information
  991. on how to order each book is included where known.
  992.  
  993.   The AutoCAD Database Book, F.H. Jones and L. Martin, Ventana Press,
  994.     ISBN 0-940087-04-9. Order: 919.490.0062 voice.
  995.  
  996.   Bit-mapped graphics (2nd ed.), Steve Rimmer, Windcrest/McGraw-Hill
  997.     1993. 484 pages.
  998.  
  999.   CGM and CGI: Metafile and Interface Standards for Computer 
  1000.     Graphics, David B. Arnold and Peter R. Bono, Springer-Verlag
  1001.     1988. ISBN 3-540-18950-5, 279 pages.
  1002.  
  1003.   The CGM Handbook, Lofton R. Henderson and Anne M. Mumford,
  1004.     Academic Press 1993. ISBN 0-12-510560-6, $59.95 hardcover, 
  1005.     446 pages.
  1006.  
  1007.   Encyclopedia of Graphics File Formats, James D. Murray and 
  1008.     William vanRyper, O'Reilly & Associates Inc. 1994.
  1009.     ISBN 1-56592-058-9, $59.95 softcover, 928 pages.
  1010.     Order: order@ora.com, 800.998.9938 voice, 707.829.014 fax.
  1011.  
  1012.   File Formats for Popular PC Software: A Programmer's Reference,
  1013.     Walden, Jeff, John Wiley & Sons, Inc. 1986. ISBN 0-471-83671-0, 
  1014.     287 pages.
  1015.  
  1016.   Graphics File Formats (2nd ed.), David C. Kay and John R. Levine, 
  1017.     Windcrest Books/McGraw-Hill 1995. ISBN 0-07-034025-0, $26.95 
  1018.     softcover, 476 pages.
  1019.     Order: Tab Software Department, Blue Ridge Summit, PA 17294-0850.
  1020.  
  1021.   The Graphic File Toolkit: Converting and Using Graphic Files,
  1022.     Steve Rimmer, Addison-Wesley, 1992. 335 pages.
  1023.  
  1024.   Inside Windows File Formats, Tom Swan, Sams Publishing 1993.
  1025.     ISBN 0-672-30338-8 $24.95 softcover, 337 pages.
  1026.     Order: Sams Publishing, 2201 West 103rd Street, Indianapolis,
  1027.     IN 46290
  1028.  
  1029.   More File Formats for Popular PC Software: A Programmer's Reference,
  1030.     Jeff Walden, John Wiley and Sons 1987. 369 pages.
  1031.  
  1032.   PC Graphics with GKS, P.R. Bono, J.L. Encarnacao and W.R. Herzner,
  1033.     Prentice-Hall, 1990.
  1034.  
  1035.   PostScript Language Reference Manual, Adobe Systems Inc. (2nd ed.), 
  1036.     Ed Taft and Jeff Walden, Addison-Wesley 1990.
  1037.  
  1038.   Programming for Graphics Files in C and C++, by John R. Levine, 
  1039.     John Wiley & Sons 1994. ISBN 0-471-59854-2, $29.95 softcover,
  1040.     494 pages. 
  1041.  
  1042. ------------------------------
  1043.  
  1044. Subject: 4. Magazine Articles on Graphics File Formats
  1045.  
  1046. This section contains bibliographical listings of periodicals containing
  1047. information on graphics file formats. This list is alphabetized by title.
  1048.  
  1049.   .mrb and .shg File Formats, Windows/DOS Developer's Journal, Pete Davis,
  1050.     February 1994 (Vol 5, No 4), pp. 37-46.
  1051.  
  1052.   The BMP File Format, Dr. Dobb's Journal, Marv Luse, #219 September
  1053.     1994 (Vol 9, Issue 10), pp. 18-22.
  1054.  
  1055.   The BMP File Format: Part I, Dr. Dobb's Journal, David Charlap, #228
  1056.     March 1995 (Vol. 20, Issue 3).
  1057.  
  1058.   The BMP File Format: Part II, Dr. Dobb's Journal, David Charlap, #229
  1059.     April 1995 (Vol. 20, Issue 4).
  1060.  
  1061.   PCX Graphics, C Users Journal, Ian Ashdown, Vol 9, Num 8, August 1991,
  1062.     pp. 89-96.
  1063.  
  1064.   Printing PCX Files, C Gazette, Marv Luse, Vol 5, Num 2, Winter 1990-91,
  1065.     pp. 11-22.
  1066.  
  1067.   Reading GIF Files, Dr. Dobb's Journal, Wilson MacGyver Liaw, #227 
  1068.     February 1995 (Vol 20, Issue 2), pp. 56-60.
  1069.     
  1070.   TIFF File Format, C Gazette, James Murray, Vol 5, Num 2, Winter 1990-91,
  1071.     pp. 27-42.
  1072.  
  1073.   Translating PCX Files, Dr. Dobb's Journal, K. Quirk, Vol 14, Num 8, 
  1074.     August 1989, pp. 30-36, 105-108.
  1075.  
  1076.   Working with PCX files, Microcornucopia, Number 42, July-August 1988,
  1077.     p. 42.
  1078.  
  1079. ------------------------------
  1080.  
  1081. Subject: 5. U.S. Government and Military Standards Sources
  1082.  
  1083. The following organizations provide U.S. Government and Military documents
  1084. concerning graphics formats and standards:
  1085.  
  1086.   Department of Defense
  1087.   Joint Interoperability Engineering Organization
  1088.   Center for Standards
  1089.   10701 Parkridge Boulevard
  1090.   Reston, VA 22091-4398 USA
  1091.  
  1092.   Standardization Documents Ordering Desk
  1093.   700 Robbins Avenue
  1094.   Building 4D
  1095.   Philadelphia, PA 19111-5094 USA
  1096.  
  1097.   Naval Publications & Forms Center
  1098.   Code 3051
  1099.   5801 Tabot Ave.
  1100.   Philadelphia, PA 19120 USA
  1101.  
  1102.   Defense Information Systems Agency
  1103.   Center for Standards
  1104.   Attn: TBCE, Rm 3304
  1105.   10701 Parkridge Blvd
  1106.   Reston, VA 22091 USA
  1107.   Voice: 703.487.3536
  1108.   Email: edi@itsi.disa.mil
  1109.  
  1110.   Department of Defense Single Stock Point (DODSSP)
  1111.   Special Assistance Desk
  1112.   Open 7:30AM to 4PM EST Mon-Fri
  1113.   Voice: 215.697.2667
  1114.   Voice: 215.697.2179
  1115.  
  1116.   Department of Defense Single Stock Point (DODSSP)
  1117.   Subscription Services Desk
  1118.   700 Robbins Avenue
  1119.   Building 4D
  1120.   Philadelphia, PA 19111-5094 USA
  1121.   Voice: 215.697.2569
  1122.  
  1123.   Navy Print On Demand System (NPODS)
  1124.   Telespecs automated document ordering system
  1125.   Open 7AM to 10PM EST Mon-Fri
  1126.   Voice: 215.697.1187 thru .1198
  1127.  
  1128.   Global Engineering Documents
  1129.   2805 McGaw Avenue
  1130.   Irvine, CA 92714 USA
  1131.   Voice: 800.854.7179
  1132.   Voice: 714.261.1455
  1133.  
  1134.   Global Info Center
  1135.   18201 McDurmott West
  1136.   Suite B
  1137.   Irvine, CA 92714 USA
  1138.   Voice: 714.474.5070
  1139.   Fax:   714.474.4066
  1140.  
  1141. ------------------------------
  1142.  
  1143. Subject: 6. Other Standards Document Sources
  1144.  
  1145. Many graphics file formats and graphical information transfer protocols are
  1146. ANSI/ISO standards and may be obtained through the following offices:
  1147.  
  1148.   International Standards Organization (ISO)
  1149.   1 rue de Varembe
  1150.   Case Postal 56
  1151.   CH-1211 Geneva 20 Switzerland
  1152.   Voice: +41 22 749 01 11
  1153.   Fax:   +41 22 733 34 30
  1154.  
  1155.   American National Standards Institute (ANSI)
  1156.   Sales Department
  1157.   11 West 42nd Street
  1158.   New York, NY 10036
  1159.   Voice: 212.642.4900
  1160.  
  1161.   Canadian Standards Association (CSA)
  1162.   Sales Group
  1163.   178 Rexdale Blvd.
  1164.   Rexdale, Ontario, M9W 1R3
  1165.   Voice: 416.747.444
  1166.  
  1167. ------------------------------
  1168.  
  1169. Subject: V. Graphics Formats Misnomers, Misgivings, and Miscellany
  1170.  
  1171. ------------------------------
  1172.  
  1173. Subject: 0. Why aren't JPEG, MPEG, LZW, and CCITT Group 3 & 4 file formats?
  1174.  
  1175. One of the most commonly confused concepts found in file formats is the
  1176. difference between the file format and the method(s) of data encoding that
  1177. has been used to reduce the size of the data the file contains. JPEG, MPEG,
  1178. LZW, and CCITT are all algorithms, or algorithm toolkits, which encode a
  1179. stream of data to a physically smaller size. None of these data compression
  1180. methods define a specific format used to store data. 
  1181.  
  1182. Several formats have become popular based on their use of one or more of
  1183. these methods of compression, such as GIF (LZW), JFIF (JPEG), and TIFF (CCITT
  1184. Group 3 and Group 4). So if you ask for a "CCITT Group 3" image file you will
  1185. most likely get a file containing only CCITT Group 3 data and not a TIFF file
  1186. containing bitmapped data compressed using the CCITT Group 3 algorithm, which
  1187. might have been what you were expecting.
  1188.  
  1189. ------------------------------
  1190.  
  1191. Subject: 1. Why aren't IGES, GKS, NAPLPS, PCL, and HPGL file formats either?
  1192.  
  1193. IGES (Initial Graphics Exchange Specification), GKS (Graphics Kernel System),
  1194. and NAPLPS (North American Presentation Layer Protocol Syntax) are not
  1195. actually file formats. They are instead protocols which specify how graphical
  1196. data should be transmitted over a communications link (such as a telephone
  1197. line) to a remote device (such as a graphical workstation).  HPGL  
  1198. (Hewlett-Packard Graphics Language) and PCL (Printer Control Language) are
  1199. data stream definition standards used to transfer and manipulate data used by
  1200. printers and plotters.
  1201.  
  1202. In most cases, each of these protocols define a previously existing file
  1203. format, such as CGM or JFIF, to be the actual format used to store the
  1204. graphics data (HPGL uses a raw or compressed bitmap). Occasionally the
  1205. transmitted data stream may be stored to a file for buffering or archival
  1206. purposes. This file is then often identified as using the
  1207. "{IGES,GKS,NAPLPS,PCL,HPGL} file format".
  1208.  
  1209. Descriptions of each of these standards may be found in Part 3 (Where to Get
  1210. File Format Specifications) of this FAQ.
  1211.  
  1212. ------------------------------
  1213.  
  1214. Subject: 2. Is it "Tag" or "Tagged" Image File Format?
  1215.  
  1216. Revision 5.0 of TIFF specification specifically states the acronym "TIFF" is
  1217. "Tag Image File Format". The majority of people, however, intuitively say
  1218. "Tagged" rather than "Tag". Interestingly enough, the TIFF 6.0 specification
  1219. does not spell out the acronym TIFF.
  1220.  
  1221. ------------------------------
  1222.  
  1223. Subject: 3. Whaddya mean there's no "Targa" file format?
  1224.  
  1225. The popular "Targa" file format is really the "TGA format". "Targa" is the
  1226. name of the Truevision graphics display adapter which first used the TGA
  1227. format. Specifically, Revision 1.0 of TGA is designated the "Original TGA
  1228. format" and Revision 2.0 is the "New TGA Format".
  1229.  
  1230. ------------------------------
  1231.  
  1232. Subject: 4. Choosy programmers choose "gif" or "jif"?
  1233.  
  1234. The pronunciation of "GIF" is specified in the GIF specification to be "jif",
  1235. as in "jiffy", rather then "gif", which most people seem to prefer. This does
  1236. seem strange because the "G" is from the word "Graphics" and not "Jraphics".
  1237.  
  1238. ------------------------------
  1239.  
  1240. Subject: 5. Why are there so many ".PIC" and ".IMG" formats?
  1241.  
  1242. Because people with very little imagination are allowed to choose file
  1243. extensions for graphics files, that's why.
  1244.  
  1245. But seriously, there does seem to be a proliferation of file formats with the
  1246. file extension ".PIC" (for "picture") and ".IMG" (for "image"). Other popular
  1247. extensions (in both upper and lower case) are ".RGB", ".RAW", ".ASC", and
  1248. ".MAP".
  1249.  
  1250. My advise to you is never assume the format of a data file based only on it's
  1251. file extension. The name and the extension of any file are completely
  1252. arbitrary and therefore could be anything. This is why the most graphics file
  1253. conversion and display programs attempt to recognize graphics files based on
  1254. their internal structure and not their file name or extension.
  1255.  
  1256. ------------------------------
  1257.  
  1258. Subject: 6. Is it now illegal to use CompuServe's GIF format?
  1259.  
  1260. It is not illegal to own, transmit, or receive GIF files (provided that no
  1261. unlicensed compression and/or decompression of the files occurs). You must
  1262. realize, however, that GIF files are not the issue. The issue is, in fact,
  1263. the LZW data compression algorithm.
  1264.  
  1265. In 1984, while working for Sperry Corporation, Terry Welch modified the
  1266. Lempel-Ziv 78 (LZ78) compression algorithm for greater efficiency for
  1267. implementation in high-performance disk controllers. The result was the LZW
  1268. algorithm. The world was informed of the existence of LZW by the following
  1269. journal article, published by Mr. Welch after he left the employment of
  1270. Sperry:
  1271.  
  1272.   Welch, T. A., "A Technique for High Performance Data Compression,"
  1273.   IEEE Computer, Volume 17, Number 6, June 1984.
  1274.  
  1275. In 1985, Sperry Corporation was granted a patent (4,558,302) for the Welch
  1276. invention and implementation of the LZW data compression algorithm. Since
  1277. that time, this LZW patent has been publicly available for all to see in the
  1278. US Patent Office and many public libraries, and is available through many
  1279. on-line services.
  1280.  
  1281. In 1987, CompuServe Corporation created the GIF (Graphical Interchange
  1282. Format) file format to be used for the storage and on-line retrieval of
  1283. bitmapped graphical data. The GIF specification required the use the LZW
  1284. algorithm to compress the data stored in each GIF file. It is very possible
  1285. that CompuServe did not check the patent files to determine whether the GIF
  1286. format infringed on any patents. Such a check would have found the Welch LZW
  1287. patent, which was then owned by Unisys as a result of their having purchased
  1288. Sperry in 1986. At that time, Unisys also did not know that LZW was the
  1289. method of compression used by the very popular GIF file format.
  1290.  
  1291. In 1988, Aldus Corporation released Revision 5 the TIFF file format. This
  1292. revision added a new feature giving TIFF the ability to store RGB bitmapped
  1293. data using either a raw format, or a compressed format using the LZW
  1294. algorithm. (Although the LZW algorithm used by TIFF is considered to be
  1295. "broken", it is still covered by the Unisys patent). Since 1991, in
  1296. accordance with their agreement with Unisys, Aldus has been required to place
  1297. a notice regarding the Unisys patent and its applicability to TIFF, in Aldus
  1298. documentation. The 1992 release of Revision 6 of the TIFF specification
  1299. includes this notice of the Unisys patent regarding LZW. The TIFF Revision 6
  1300. specification also recommends against using LZW to compress RGB bitmaps
  1301. stored using the TIFF format.
  1302.  
  1303. In 1990, Unisys licensed Adobe for the use of the Unisys LZW patent for
  1304. PostScript.
  1305.  
  1306. In 1991, Unisys licensed Aldus for the use of the Unisys LZW patent in TIFF.
  1307.  
  1308. In 1994, Unisys and CompuServe came to an understanding whereby the use of
  1309. the LZW algorithm would be licensed for the application of the GIF file
  1310. format in software. 
  1311.  
  1312. In 1995, America Online Services and Prodigy Services Company also entered
  1313. license agreements with Unisys for the utilization of LZW.  Published
  1314. information indicates that Unisys' licensing policies are as follows:
  1315.  
  1316.  1) Unisys considers all software created or modified before January 1, 1995
  1317.     that supports the GIF and/or TIFF-LZW formats to be inadvertently
  1318.     infringing upon its patent; Unisys will therefore not require a license
  1319.     for GIF software products delivered before January 1, 1995. Unisys will
  1320.     therefore not pursue legal actions against such pre-1995 software 
  1321.     products.
  1322.  
  1323.  2) However, Unisys expects developers of commercial or for-profit software
  1324.     to obtain a GIF-LZW license agreement from Unisys if, after December 31,
  1325.     1994, the developer creates new software or updates or modifies existing
  1326.     software, or issues a new release of software that supports the GIF file
  1327.     format.
  1328.  
  1329.  3) Unisys does not require licensing of non-commercial, not-for-profit
  1330.     software applications that support the GIF file format.
  1331.  
  1332.  4) With respect to TIFF, if a license is entered before July 1, 1995, there
  1333.     will be no liability for pre-1995 software with respect to that software's
  1334.     support of TIFF which uses LZW.
  1335.  
  1336. Unisys has drafted licenses for several different applications of the LZW
  1337. algorithm. The two license agreements of most interest in this FAQ are
  1338. applicable to software supporting the GIF file format alone and the agreement
  1339. applicable to software supporting both GIF and the TIFF file format's LZW
  1340. compression feature.
  1341.  
  1342.  
  1343. Realizing that you have many questions about GIF-LZW and TIFF-LZW licensing,
  1344. the remainder of this section is arranged in a Question/Answer format to help
  1345. convey information about this subject more clearly.
  1346.  
  1347. Q: Just what is this all about?
  1348. A: Unisys has asserted its claim to the ownership of the LZW compression and
  1349.    decompression algorithm. If you wish to implement LZW in a software or
  1350.    firmware application, you must arrange to pay a small royalty to Unisys
  1351.    for every software package that you sell. You do this by applying to
  1352.    Unisys for an LZW license agreement for your software.
  1353.  
  1354. Q: What file formats are effected?
  1355. A: GIF, TIFF, PDF, and PostScript Level II. All of these formats use, or
  1356.    can use, LZW compression. For example, a TIFF or PostScript Level II file
  1357.    may or may not use the LZW algorithm to compress the data it contains. 
  1358.    GIF files, and most PDF files, always store bitmap data that is compressed
  1359.    using LZW.
  1360.  
  1361. Q: How does this agreement affect my use of GIF and TIFF files?
  1362. A: It does not affect the ownership, transmission, or reception of GIF and
  1363.    TIFF-LZW files themselves. Only the software that performs compression
  1364.    and/or decompression of GIF may be effected in any way by license
  1365.    agreements. You are free to store and transport GIF and TIFF-LZW files
  1366.    without fear of legalities or cost from the Unisys licenses provided that
  1367.    any compression and/or decompression on GIF files is performed by licensed
  1368.    software, or by software products delivered prior to 1995.
  1369.  
  1370. Q: Which agreement do I need?
  1371. A: If your software supports only GIF then you need the GIF-LZW agreement.
  1372.    If it supports TIFF-LZW or both GIF and TIFF-LZW then you need the TIFF-LZW
  1373.    and GIF-LZW agreement.
  1374.  
  1375. Q: My software supports TIFF-LZW, but not GIF.
  1376. A: You still need to obtain the TIFF-LZW and GIF-LZW agreement.
  1377.  
  1378. Q: So if my software only supports non-LZW versions of TIFF and PS Level II
  1379.    I don't need to worry about obtaining a license agreement?
  1380. A: That is correct. Only software that is capable of using the LZW 
  1381.    algorithm requires an agreement. This includes all software that supports
  1382.    the GIF file format.
  1383.  
  1384. Q: What about file compression programs such as compress, PKZIP, zoo, and
  1385.    lha? Don't they use LZW too?
  1386. A: Most file compression programs use the LZ77 algorithm for compressing
  1387.    text. The LZ77 compression algorithms (and several of its derivatives)
  1388.    predates LZW by several years and is covered by its own series of patents.
  1389.    The predecessor to LZW, LZ78, is used primarily for compressing binary
  1390.    data and bitmaps. Any software that uses the LZ77 and/or LZ78 algorithms 
  1391.    without the LZW improvement is not affected by the Unisys LZW patent.
  1392.    Of the mentioned software packages, the Unix compress utility does use LZW
  1393.    and therefore requires a license.
  1394.  
  1395. Q: Doesn't IBM also hold a patent on LZW?
  1396. A: IBM was granted a patent (4,814,746) for use of LZW in disk drive 
  1397.    technology. This patent does not award ownership of LZW to IBM.
  1398.  
  1399. Q: Is there a chance that the Unisys patent is actually invalid?
  1400. A: In 1994, the U.S Patent Office reexamined the Welch patent and, on
  1401.    January 4th of that year, not only confirmed the patentability of the
  1402.    original 181 patent claims, but also confirmed that 51 claims added
  1403.    during the reexamination were also patentable.
  1404.  
  1405. Q: But you can't patent a mathematical abstraction. Doesn't this also
  1406.    include algorithms implemented as computer software?
  1407. A: A patent grants the exclusive rights, title, or license to produce,
  1408.    use, or sell an invention or process. One or more algorithms may be
  1409.    applied using software to create an invention. It is this invention
  1410.    whose use is restricted by the patent and not the algorithm(s) involved.
  1411.    In the case of software, it seems that it is not very easy to separate
  1412.    the algorithm(s) from the invention itself. Use of the algorithm(s) would
  1413.    seem to imply use of the invention as well.
  1414.  
  1415. Q: I use LZW in my programs, but not for GIF or TIFF graphics. What should
  1416.    I do?
  1417. A: If you are not a business, and the programs are for your own personal
  1418.    non-commercial or not-for-profit use, Unisys does not require you to 
  1419.    obtain a license. If they are used as part of a business and/or you sell 
  1420.    the programs for commercial or for-profit purposes, then you must contact 
  1421.    the Welch Patent Licensing Department at Unisys and explain your 
  1422.    circumstances. They will have a license agreement for your application of
  1423.    their LZW algorithm.
  1424.  
  1425. Q: Where can I apply for a GIF-LZW, TIFF-LZW and GIF-LZW, PDF, PostScript 
  1426.    Level II, or any other LZW license?
  1427. A: You can write to:
  1428.  
  1429.      Welch Patent Licensing Department
  1430.      Unisys Corporation 
  1431.      Mail Stop C1SW19
  1432.      P.O. Box 500
  1433.      Blue Bell, PA 19424 USA
  1434.  
  1435.    Or fax:    215.986.3090
  1436.  
  1437.    Or email:  lzw_info@unisys.com
  1438.  
  1439.    General licensing information may also be obtained from the home page of
  1440.    the Unisys Web Server:
  1441.  
  1442.      http://www.unisys.com
  1443.  
  1444. Q: How much does a license cost?
  1445. A: For a GIF-LZW license there is a $25US non-refundable registration fee to
  1446.    start. You will then pay 0.45% of the selling price of your software per 
  1447.    unit sold per calendar quarter with a minimum of $0.10US and a maximum
  1448.    $10US per unit. For a TIFF-LZW and GIF-LZW license, the non-refundable 
  1449.    registration fee is $50US and you will pay 0.65% of the selling price of
  1450.    your software per unit sold per calendar quarter, with a minimum of
  1451.    $0.20US and a maximum of $25US per unit. The license agreement contains
  1452.    various other terms and conditions, such as those which define the field
  1453.    of use.
  1454.  
  1455. Q: Do I need a separate license for each GIF-using software product I sell?
  1456. A: If you sell three products that all use the GIF format, for example, then
  1457.    you will need only one license. License fees must be paid for each product
  1458.    sold.
  1459.  
  1460. Q: Do I need to obtain a new license if I release a new version of my
  1461.    software?
  1462. A: No. However, a license fee is required for each update, improvement, or
  1463.    enhancement of your software that is sold.
  1464.  
  1465. Q: What if I give my software away?
  1466. A: If you distribute for free your product directly to end-users for their
  1467.    personal use and your distributing the software is non-commercial and
  1468.    not-for-profit use and you receive no financial gain (such as Shareware
  1469.    donations, royalties for CD-ROM distributions, or as advertising to 
  1470.    attract for-profit business), then you do not need a license.
  1471.  
  1472. Q: But what about Shareware donations?
  1473. A: Each Shareware "payment" you receive is considered the selling price of
  1474.    that unit. Whatever a user pays to you for your GIF-using software is
  1475.    required to be included in your quarterly license fee payment to Unisys.
  1476.    However, minimum license fees per unit must be always paid.
  1477.  
  1478. Q: My Shareware GIF software is being sold for-profit on a CD-ROM, but I do
  1479.    not make any profit from its sale. Can I get in trouble? Do I need a 
  1480.    license?
  1481. A: The person/business that is selling your program for profit on their CD-ROM
  1482.    is responsible for obtaining the proper license. You would only need a
  1483.    license if you received any payments from the CD-ROM vendor or from users
  1484.    of your Shareware.
  1485.  
  1486. Q: I do not live in the United States and my software is not available there.
  1487.    Do I still need to obtain a license agreement?
  1488. A: Yes, you do. The Unisys patent has many foreign counterparts and the
  1489.    legalities of using LZW apply to most other countries in addition the US.
  1490.  
  1491. Q: What will happen to me if I continue to revise my GIF-using software,
  1492.    sell it for profit, and yet not bother to obtain a license?
  1493. A: Most likely, when your unlicensed program is discovered by Unisys,
  1494.    you will be notified of your need to obtain a license for your product.
  1495.    If you then fail to obtain the proper license, Unisys may seek an 
  1496.    injunction against your product including damages. You could also be 
  1497.    charged with willful infringement, which could result in treble damages.
  1498.  
  1499. Q: On what Usenet newsgroups is this LZW agreement being discussed?
  1500. A: You will find threads appearing on comp.graphics and other related
  1501.    graphical newsgroups. The official newsgroup where much discussion
  1502.    takes place is alt.gif-agreement. You might also find information on
  1503.    the misc.legal.computing, misc.int-property, and comp.patents newsgroups.
  1504.  
  1505. Q: Where can I get a copy of the Unisys patent?
  1506. A: Copies of patents may be found in public libraries or be obtained directly
  1507.    from the U.S. Patent Office. The patent is also available at many Internet
  1508.    sites, including:
  1509.  
  1510.      ftp://cs.columbia.edu/archives/mirror2/world-info/obi/USPatents/lzw-patent.gz
  1511.      ftp://ftp.std.com/obi/USPatents/lzw-patent.Z
  1512.      ftp://ftp.uu.net/doc/literary/obi/USPatents/lzw-patent.Z
  1513.      ftp://gatekeeper.dec.com/.8/misc/lzw-patent.Z
  1514.  
  1515. Q: What are my alternatives to GIF and TIFF-LZW file formats?
  1516. A: The most popular alternative is JPEG compression and the JFIF file format.
  1517.    JFIF-JPEG files are smaller and store far more colors than GIF files.
  1518.    Another newer alternative is the PNG format, which is currently under
  1519.    development (see the section "PNG - Portable Network Graphics" in Part 3
  1520.    of this FAQ). PNG is unencumbered by patent licenses and has much 
  1521.    potential and promise in replacing GIF. But, most software that supports 
  1522.    PNG will likely have been written after January 1, 1995, so make sure that
  1523.    your GIF-to-PNG conversion program has the proper Unisys license.
  1524.  
  1525. Q: This agreement is bogus! I refuse to ever use GIF again!
  1526. A: As an end-user you are free never to read, write, or archive another
  1527.    LZW-encoded file as long as you live. As a developer you are only
  1528.    free of the legal implications of the Unisys patent if you remove any
  1529.    LZW code from your programs, including those shipped to your customers
  1530.    after 1994.
  1531.  
  1532. Q: Wait! I have more questions!
  1533. A: Contact the Welch Patent Licensing Department at the aforementioned
  1534.    addresses. I (the author of this FAQ) am not an employee nor legal
  1535.    representative of Unisys.
  1536.  
  1537. Disclaimer: The information in this FAQ regarding the Unisys LZW licensing
  1538. agreement has been presented in an attempt to allow the reader to understand
  1539. some of the legalities they may face by the use of the LZW algorithm. The
  1540. author has rendered this explanation and example questions using the most
  1541. accurate information available to him at the date of this FAQ. In no regard
  1542. should this text be considered an official publication of Unisys Corporation
  1543. or a legal representation of the policies of Unisys, or in any way obligating
  1544. Unisys to enter into a license agreement based upon the terms,
  1545. interpretations, and/or answers to question provided in this text.
  1546.  
  1547. ------------------------------
  1548.  
  1549. Subject: VII. Kudos and Assertions
  1550.  
  1551. ------------------------------
  1552.  
  1553. Subject: 0. Acknowledgments
  1554.  
  1555. The following people have made this FAQ take just a little bit longer to read
  1556. since the last time you looked at it (blame them and not me):
  1557.  
  1558.   Bruce Garner <garner@tis.llnl.gov>
  1559.   Oliver Grau <grau@tnt.uni-hannover.de>
  1560.   John T. Grieggs <grieggs@netcom.com>
  1561.   Lee Kimmelman <lee.kimmelman@twwde.com>
  1562.   David Kuo <dkuo@dabulls.kodak.com>
  1563.   Tom Lane <tgl@netcom.com>
  1564.   Angus Montgomery <angus@cgl.citri.edu.au>
  1565.   Glen Ozymok <oz@ludwig.virtualprototypes.ca>
  1566.   Daniel Sears <sears@netcom.com>
  1567.   Marc Soucy <msoucy@imetric.qc.ca>
  1568.   Bjoern Stabell <bjoerns@acm.org>
  1569.   Mark T. Starr <StarrMT@po4.bb.unisys.com>
  1570.  
  1571. ------------------------------
  1572.  
  1573. Subject: 1. About The Author
  1574.  
  1575. The author of this FAQ, James D. Murray, lives in the City of Orange, Orange
  1576. County, California, USA. He is the co-author of the book Encyclopedia of
  1577. Graphics File Formats published by O'Reilly and Associates, makes a passable
  1578. living writing Microsoft Windows applications in C++, and may be reached as
  1579. jdm@netcom.com, or via U.S. Snail at: P.O. Box 70, Orange, CA 92666-0070 USA.
  1580.  
  1581. GCS d-- H++ s g- p? au+ a w+ v++ C+++(++++) US+++ p++>++++ L>++ 3 E--- N++ K-
  1582. W---$ M-@ V-- po Y+ t++ 5-- j>x R+>-- G' tv-->! b+++ D++ B e- u* h- f r-->+++
  1583. n++ y*(**)
  1584.  
  1585. ------------------------------
  1586.  
  1587. Subject: 2. Disclaimer
  1588.  
  1589. While every effort has been taken to insure the accuracy of the information
  1590. contained in this FAQ list compilation, the author and contributors assume no
  1591. responsibility for errors or omissions, or for damages resulting from the use
  1592. of the information contained herein.
  1593.  
  1594. ------------------------------
  1595.  
  1596. Subject: 3. Copyright Notice
  1597.  
  1598. This FAQ is Copyright (C) 1994-95 by James D. Murray. All Rights Reserved. 
  1599. This work may be reproduced, in whole or in part, using any medium,
  1600. including, but not limited to, electronic transmission, CD-ROM, or published
  1601. in print, under the condition that this copyright notice remains intact.
  1602.  
  1603.  
  1604.