home *** CD-ROM | disk | FTP | other *** search
/ Gold Fish 3 / goldfish_volume_3.bin / files / text / print / hwgpost / readme.first < prev    next >
Encoding:
Text File  |  1995-09-18  |  20.2 KB  |  532 lines

  1.  
  2. HWGPOST is not PD or 'free' SW!
  3. *******************************
  4.  
  5. Users of previous HWGPOST versions, please note: This text has changed in
  6. some places. Please read it again.
  7.  
  8.  
  9. What is this?
  10. =============
  11.  
  12. What you get here is the seventh version of HWGPOST that is publically
  13. available. It is still rather raw. My intention is to abuse you as beta
  14. tester. ;^)
  15.  
  16. HWGPOST is project that I started because I had some problems with
  17. post.library 1.7 (and 1.86 where post.library stayed the same) not
  18. handling some PostScript code correctly. So I built on the post 1.7
  19. source. HWGPOST is IMHO a major step towards PostScript Level 2
  20. already and as time and motivation permits it will hopefully become a
  21. R&W book compliant PostScript Level 2 interpreter library with maybe
  22. some Display PostScript extensions.
  23.  
  24. Currently this archive is probably mostly useful to users of
  25. post.library up to 1.7 or users of applications like AmigaTeX which
  26. rely on post.library.
  27.  
  28.  
  29. Major new features for HWGPOST beta 7
  30. =====================================
  31.  
  32.     - No longer math rounding errors due to different application
  33.       math standards. MAJOR CHANGE!
  34.     - The interpreter now has its own process. MAJOR CHANGE!
  35.     - Improved datatype screen mode setting.
  36.     - enumfonts.ps for easy font installation.
  37.     - more compatibility hacks for lousy fonts.
  38.     - A _very_ simple, no thrills, untested B&W PRTPS: handler. It
  39.       depends on a working PIPE: to conserver memory. So you might
  40.       want to get HWGQueue.lha from Aminet to replace the broken C=
  41.       queue-handler in any OS version up to and including 3.1.
  42.  
  43. Sorry, setsystemparams and setpagedevice still have to wait.
  44.  
  45.  
  46. Requirements
  47. ============
  48.  
  49. OS:      >=V37 (= KS2.04)
  50.  
  51. Memory: As much as possible. HWGPOST tends to need noticeable more
  52.         memory than post.library 1.7 for complex PostScript files. You
  53.         should have at least 2MB to have fun with it.
  54.  
  55. HD:     Suggested
  56.  
  57.  
  58. Compatibility
  59. =============
  60.  
  61. HWGPOST should be compatible to all applications using post.library
  62. version 1.7 with the exception of the "callextfunc" and some other
  63. special non standard operators, e.g. I have found no problems with
  64. PostView. If you have any compatibility problems, please report them
  65. to me.
  66.  
  67.     AmigaTeX
  68.  
  69.         The AmigaTeX postscript files installPSfont.pro, and pstopk.pro (in
  70.         TEX:ps) contain redefinitions of the "findfont" operator. If you
  71.         comment out these definitions and replace the init.ps, AmigaTeX
  72.         works well with HWGPOST.
  73.  
  74.  
  75. Legal stuff/Distribution/bla
  76. ============================
  77.  
  78. I need to explain something first. I started out with the post 1.7
  79. sources by Adrian Aylward. He did an amazing job with post up to
  80. and including 1.7. I do not claim to have put it all together
  81. myself from the the very first byte. But I have thrown out or
  82. reworked almost every single line of it and there is not much left
  83. that is not replaced or truly unchanged. Adrian Aylward set up many
  84. useful concepts. I reworked most of them and threw some out
  85. completely for going towards PostScript Level 2.
  86.  
  87. While it may not look so from the outside, HWGPOST is a major step
  88. away from its origins, and so I claim the right to have something new
  89. here. Note that I did not take over any code from other sources than
  90. post 1.7 except for some fixes to post 1.7 that people sent me (Thanks
  91. especially to Tom Rokicki for his fixes and other unrelated things).
  92. No GNU code, no IBM code, nor anything else. To be honest, I tried to
  93. look at some ghostscript code once for a particular feature, but I
  94. found it so ugly that I threw it out faster than you can say "out" (I
  95. never even found the code for the feature I was looking for). This
  96. means, that all that you read in the history file is only related to
  97. my work.
  98.  
  99. ***************************************************************************
  100.     Because of all the above, there will be different rules on HWGPOST
  101.     that start out right _now_ even with this beta version:
  102. ***************************************************************************
  103.  
  104.     - Unlike with post 1.7, I am restricting use somewhat:
  105.  
  106.           For use in other products, commercial or not, or claims of
  107.           compatibility to HWGPOST to enhance the value of a product, you
  108.           need to contact me first to work something out.
  109.  
  110.           (Except for Tom Rokicki. He may use HWGPOST whenever he
  111.            finds it acceptable for AmigaTeX)
  112.  
  113.     - If you are just a user of HWGPOST, consider it Giftware. I like
  114.       money, too, but it doesn't have to be money. Anything nice will
  115.       do. Books, A3k-Accelerator/Networking boards, Ax000s, HDs, SW,
  116.       non technical things, whatever. If you intend to use HWGPOST and
  117.       forget about me intentionally, don't expect any support or bug
  118.       fixes.
  119.  
  120.     - If you want to use HWGPOST commercially (e.g. to make money by
  121.       using it in your office), I feel that you should consider this
  122.       very fact when thinking about a gift. If you think HWGPOST to be
  123.       good enough to support you making a living, you should value it
  124.       as such.
  125.  
  126.     - This archive may be distributed only free of charge. It may
  127.       not be modified or ripped apart without my permission.
  128.  
  129. !!  - ANY USER OF HWGPOST IS REQUIRED TO REGISTER the use of HWGPOST
  130. !!    with me via email or smail.
  131. ***************************************************************************
  132.  
  133. All (important) rights reserved, so to speak. This is currently a
  134. private undertaking for fun, but I have not yet lost hope that there
  135. is maybe some reward in it for me, too. :-)
  136.  
  137. If you don't like the above, I don't want you to use HWGPOST. In fact
  138. I dare to declare use of HWGPOST then outright illegal. You should
  139. live with post 1.7 or something else then.
  140.  
  141. Oh well, if you are one of those using pirated [KS/WB] SW, don't
  142. bother asking for help. I won't help you and I specifically _don't_
  143. allow you to use HWGPOST either in this case.
  144.  
  145. Some legal mumbo jumbo I should not forget: "PostScript" is copyrighted by
  146. Adobe Systems Incorporated.
  147.  
  148. If I forgot to point to any other important trademarks or copyrights, it is
  149. not out of malice, but just an oversight. Please point it out to me and I
  150. will correct it for the next public release. All
  151. trademarks/copyrights belong to their owner and should be
  152. respected.
  153.  
  154.  
  155. Why this beta?
  156. ==============
  157.  
  158. A lot of stuff is in place within HWGPOST already even though it is
  159. probably still far from completion. Actually it is so much that I hope
  160. to find bugs with your help now. I do not have test cases and
  161. PostScript files anymore to test all that PostScript Level 2. You will
  162. read some "untested" comments in the history file. I have checked for
  163. basic functionality with all my changes, but nobody knows where the
  164. bugs hide yet. So I am asking you for bug reports to make HWGPOST get
  165. better.
  166.  
  167. I am interested in:
  168.  
  169.     - Enforcer hits, mungwall problems, reproducable crashes
  170.     - deviation of behaviour compared to Adobe Level 2 products
  171.     - _Short_ and precise PostScript example files that break with HWGPOST
  172.  
  173. and I need your complete computer and OS configuration with any bug
  174. report including any non C= WB things that you run like
  175. MagicMenu/ReqTools/CpuBlit.
  176.  
  177. I am also interested in a short note if you have files using specific
  178. Level 2 features available with HWGPOST that _don't_ break.
  179.  
  180. Thank you for your help!
  181.  
  182.  
  183. ************************
  184. * Common Problems, Q&A *
  185. ************************
  186.  
  187. This will evolve into a list of problems people run into that are
  188. definitely not bugs in HWGPOST.
  189.  
  190.     Problem: PS files fail because the name "SymbolEncoding" is not known.
  191.  
  192.     Solution: Throw out the "Symbol" font you have, buy the Adobe Type
  193.               Manager and/or install a working Symbol font. You are
  194.               using a Symbol font that violates Adobe PostScript specs
  195.               by relying on an external definition of SymbolEncoding.
  196.               This name does not exist in the standard. Your current
  197.               Symbol font is broken.
  198.  
  199.  
  200.     Problem: A font does not work right or causes errors.
  201.  
  202.     Solution: Have you preregistered it correctly in HWGPOSTResources? If
  203.               you depend on the PATH_FONT feature, is the file name truly
  204.               correct including case? Have you double checked?
  205.  
  206.               NOTE: If there is a bug with a font, I will need the font
  207.                     to fix it. If it is a commercial font, you have to
  208.                     smail me one legal copy for my own use if I don't
  209.                     have it already. I won't and can't buy fonts just
  210.                     to get your problems fixed.
  211.  
  212.  
  213.     Problem: A PS file causes "undefinedresource" errors.
  214.  
  215.     Solution: The most likely cause is that a font could not be found.
  216.  
  217.               Depending on your setup do some of this:
  218.  
  219.                 - Check what fonts are needed (by reading the PS file
  220.                   or checking on the font search with a tool like
  221.                   SnoopDos)
  222.  
  223.                 - If you don't have the font, you need to get it.
  224.  
  225.                 - Check if the HWGPOSTResources entry is correct if
  226.                   applicable.
  227.  
  228.                 - Check if ENV:HWGPOST/PATH_FONT is set up correctly
  229.                   if applicable.
  230.  
  231.                 - Set /@DefaultFontName (as in init.ps) to a default
  232.                   font name of your choice. Of course this font must
  233.                   exists!
  234.  
  235.               Always remember that _file_names can be changed,
  236.               PostScript _font_names must match.
  237.  
  238.     Problem: The error "page size not set in preferences" pops up.
  239.  
  240.     Solution: You need to run the "PrinterGfx" prefs editor and set
  241.               the limits to something other than "Ignore or
  242.               "Multiply".
  243.  
  244.  
  245.     Problem: I got new type 1 fonts and it is a a hassle to set
  246.              them up in HWGPOSTResources. Is there some easy way?
  247.  
  248.     Solution: Yes. Copy your new fonts into PSFONTS:. Then do the
  249.               steps outlined below.
  250.  
  251.               - Run the frontend and the C:sort command
  252.  
  253.                 post init.ps enumfonts.ps >t:allfonts
  254.                 sort t:allfonts t:sortedfonts
  255.  
  256.               - Now check t:sortedfonts and HWGPOSTResources for
  257.                 duplicate fonts or fonts that you don't want to have
  258.                 installed.
  259.  
  260.               - Insert whatever is left of t:sortedfonts into your
  261.                 HWGPOSTResource file.
  262.  
  263.               That's it. If it doesn't work then, it's most likely
  264.               the font or the document that is broken.
  265.  
  266.  
  267.     Problem: I only get dots printed instead of letters.
  268.  
  269.     Solution: Quite likely you don't have the font needed
  270.               installed. At least it isn't installed correctly. So
  271.               HWGPOST reverts to its default setting of a dummy dot
  272.               font. This default setting is done in init.ps.
  273.               it can be changed of course. Check which fonts are
  274.               needed with e.g. the SnoopDos tool and install them
  275.               as described above. This should get you going.
  276.  
  277.  
  278.     Problem: Somehow I can't find the right solution to my problem
  279.              here. What should I do?
  280.  
  281.     Solution: I admit that the documentation is not that great.
  282.               You get what you pay for. ;^) Search through the
  283.               "History" file as well. Among all the technical stuff
  284.               you'll find quite a few hints on how to do things
  285.               right. If even this doesn't help, just send some
  286.               email.
  287.  
  288.  
  289. What should a bug report look like?
  290. ===================================
  291.  
  292. I prefer bug reports created with the C= 'report' tool. You can find
  293. this tool on Fish Disk 920. Any bug report _must_ contain step by step
  294. instructions to reproduce the bug on a standard WB setup. Telling me "You
  295. need to install this pack of special OS hacks to make the bug appear or
  296. those non standard libraries from somewhere" usually leads to no result. If
  297. it is a bug related to a PostScript program, I'd need a short example
  298. program to reproduce it. If the bug is dependent on the exact layout of the
  299. program (e.g. with eexec problems), you should think about using lha and
  300. uuencode to preserve any spaces, tabs, newlines, or other special
  301. characters in the file that might otherwise be lost in email.
  302.  
  303. _AN_ABSOLUTE_MUST_ is the output of C:VERSION FULL (or a version
  304. comment in the file or printed in a window if C:VERSION does not yield
  305. useful results) _and_ C:LIST for any program involved. This includes
  306. but is not limited to:
  307.  
  308.     - The OS (Use ShowConfig)
  309.     - The frontend (post, postband, postview, etc)
  310.     - The library post.library
  311.     - The support files init.ps, HWGPOSTResources
  312.     - For printing, the printer driver
  313.  
  314. If you don't give me this information with each bug report, I might
  315. decline to look at it.
  316.  
  317. Oh, and please don't swamp me with hundreds of kilobytes of email
  318. without asking first. Thank you.
  319.  
  320.  
  321. What is included?
  322. =================
  323.  
  324.     - README.FIRST      (This file)
  325.  
  326.     - post.library      (Using C= IEEE libs for all Amigas)
  327.  
  328.     - post.library.20   (Compiled for >=68020 using inline coprocessor math)
  329.  
  330.     - History           (Informal overview on the changes since post 1.7)
  331.  
  332.     - init.ps           (A new init.ps. You _will_ have to use it)
  333.  
  334.     - HWGPOSTResources  (Example declaration of available external
  335.                          resources, e.g. fonts. Referenced by init.ps)
  336.  
  337.     - PATH_FONT         (Example file to demonstrate automatic font lookup
  338.                          by the resource mechanism. This should be copied
  339.                          into a directory "ENV:HWGPOST".)
  340.  
  341.     - postlib.h         (The include file with some infos on how to use
  342.                          new features of HWGPOST)
  343.  
  344.     - hwgpostlib.doc    (Docs on how to use the programmers interface of
  345.                          HWGPOST for your own programs)
  346.  
  347.     - post              (A hacked up post 1.7 frontend to try out HWGPOST.
  348.                          Nothing fancy)
  349.  
  350.     - devs/datatypes/PostScript
  351.     - devs/datatypes/PostScript.info
  352.     - devs/datatypes/PostScriptBIN
  353.     - devs/datatypes/PostScriptBIN.info
  354.  
  355.                         (The datatype descriptor files for >= OS 3.0.
  356.                          To be placed into DEVS:datatypes)
  357.  
  358.     - classes/datatypes/HWGPOST.datatype
  359.  
  360.                         (The datatype for >= OS 3.0. To be placed into
  361.                          SYS:classes/datatypes)
  362.  
  363.     - devs/dosdrivers/PRTPS
  364.     - devs/dosdrivers/PRTPS.info
  365.  
  366.                         (Driver files for >= OS 2.1 to mount the PRTPS:
  367.                          handler. To be placed into DEVS:DosDrivers)
  368.  
  369.     - l/prtpost-handler (The PRTPS: handler itself. To be placed into L:)
  370.  
  371.  
  372.  
  373. Don't ask me for my sources. Currently I have no plans whatsoever to
  374. release them in full or part to anyone. After reading through the History
  375. you might understand why.
  376.  
  377.  
  378. Special note on the 'post' frontend
  379. ===================================
  380.  
  381. The included 'post' frontend is a major (ugly) hackup of the original
  382. (ugly) source to suit my testing needs. It may or may not do what you
  383. expect and it might or might not be compatible to the original 'post'.
  384. Anything can happen. If you don't get the output you expect, please
  385. send me a detailed bug report and fall back on PostView or the old
  386. 'post' frontend for now.
  387.  
  388. To get more information on the supported options try 'post ?' and type
  389. another '?' at the command line template. For gray scale displays,
  390. play with the MAXDEPTH option. On an A2024, 'MAXDEPTH=2' and
  391. 'DISPLAYID 0x41000' give rather nice results compared to the standard
  392. B&W setup.
  393.  
  394. You won't be able to use your display HW to the fullest as the hacked
  395. up frontend does not check the display database at all.
  396.  
  397.  
  398. Special note on the HWGPOST.datatype
  399. ====================================
  400.  
  401. To make the datatype work, you need to have post.library available,
  402. and an assign POST: to where init.ps is located for best results.
  403.  
  404. The datatype will render all PS files per default with 75 dpi in B&W.
  405. If no BoundingBox comment can be found in the file header the data
  406. type will currently default to an A4 page size (this might change
  407. though). You should read the History file for now to find out what
  408. kind of PostScript files the datatype will accept. Reading the History
  409. file might not be a bad idea in any case.
  410.  
  411. You can override this behaviour by setting an environment variable.
  412. These are the docs taken straight from the History file:
  413.  
  414.         - The datatype now optionally handles color displays,
  415.           densities and other default sizes. How? Via a new
  416.           environment variable: "ENV:HWGPOST/DATATYPECONFIG"
  417.  
  418.           The first line of this environment variable is evaluated in
  419.           DOS ReadArgs() style with this template:
  420.  
  421.               COLORS/K/N,BPC/K/N,XDEN/K/N,YDEN/K/N,DENSITY/K/N,
  422.               DEFWIDTH/K/N,DEFHEIGHT/K/N,MODEID/K
  423.  
  424.             COLORS:     Either 1 or 3. Only B&W or RGB supported!
  425.             BPC:        Bits per color. Anything from 1 to 8. Note
  426.                         that BPC*COLORS must be <= 8 or strange things
  427.                         may happen due to the OS limit of 8 bitplanes.
  428.             XDEN,YDEN:  Densities (dpi). Default is 75 dpi.
  429.             DENSITY:    Convenience operator to set both densities.
  430.             DEFWIDTH,
  431.             DEFHEIGHT:  If no bounding box is specified in the file,
  432.                         these values are used. You need to specify
  433.                         them in units of 1/100 inch though, not in
  434.                         1/72 inch like PostScript likes it. The
  435.                         default values for these parameters will give
  436.                         an A4 like bitmap size.
  437.             MODEID:     A hex screen mode id (e.g. 41000 for an A2024)
  438.                         to override the OS settings or the default
  439.                         monitor.
  440.  
  441.            This environment variable should do the job for a while.
  442.  
  443. Note that the datatype will always display only the first page of any
  444. file. This is intentional as there is no reliable, easy, or fast way
  445. to render an arbitrary page.
  446.  
  447. I tested the datatype only with OS 3.1.
  448.  
  449.  
  450. Special note on PSPRT:
  451. ======================
  452.  
  453. I haven't much to say about this one. If it works for you, fine. I
  454. hacked it up as better test bed for my replacement queue-handler
  455. quite a while ago even though the date doesn't show it. It might
  456. not even work for you. Currently I see it as a major hack. There
  457. are no config options whatsoever and is B&W only. Colour would eat
  458. some amount of memory and it doesn't do strip printing. I included
  459. a simple mount file for OS >=2.1 to be placed into DEVS:DOSDrivers.
  460.  
  461.  
  462. Installation
  463. ============
  464.  
  465. 0. Check out the "History" file. Even if you are not a PostScript
  466.    wizard, there is probably useful information for you in there.
  467.  
  468. 1. Save your existing post.library, init.ps, and post. HWGPOST might
  469.    break your setup and I don't want you to be out in the cold.
  470.  
  471. 2. I am sure you have the POST: and PSFONTS: assigns that are needed
  472.    for post 1.7. If not, create them, and put all your type 1 fonts
  473.    into PSFONTS: While neither assign is truly needed by post.library
  474.    itself, they are a somewhat useful standard by now. The datatype likes
  475.    to find init.ps in POST: and the default font lookup configurations are
  476.    set up up for PSFONTS:.
  477.  
  478. 3. Put init.ps, HWGPOSTResources, and (if you want to) post into POST:
  479.  
  480. 3.1 Edit HWGPOSTResources for _your_ font setup in PSFONTS: You'll
  481.     probably need to throw out and add some lines.
  482.  
  483. 3.2 Put PATH_FONT into "ENV:HWGPOST". Edit it to suit your needs. For
  484.     a permanent setup, copy it into ENVARC:HWGPOST, too!
  485.  
  486. 4. Copy your choice of post.library[.020] into LIBS:
  487.  
  488. 5. Shut down any running applications using post.library and do an
  489.    "avail flush".
  490.  
  491. 6. If you run >= OS 3.0, you can install the datatype files. You might
  492.    want to reboot after doing so to be on the safe side.
  493.  
  494. 7. If you want to, you might want ot install the PRTPS: handler
  495.    now. for OS 2.04, you'll need to hack up a mount file from the
  496.    included driver file. Let mes suggest that you upgrade to 3.1.
  497.  
  498. 8. Try HWGPOST and send me detailed bug reports with reproducable
  499.    examples!
  500.  
  501.  
  502. My TODO list
  503. ============
  504.  
  505. Well, lots of stuff as time permits:
  506.  
  507.     - Finish up Binary Object Sequences
  508.     - User path operators
  509.     - missing filters
  510.     - device parameters
  511.     - insideness operators
  512.     - missing color spaces
  513.     - rest of the Level 2 graphics stuff
  514.     - VM garbage collection
  515.     - whatever else is needed for a languagelevel of 2
  516.  
  517.  
  518. My Address
  519. ==========
  520.  
  521.  *  Heinz Wrobel
  522.  *  Karlstr. 16
  523.  *  82131 Gauting
  524.  *  Germany
  525.  *  FAX +49 89 850 51 25 (I don't like phone calls)
  526.  *  <heinz@hwg.muc.de>
  527.  
  528. Have fun!
  529.  
  530. Heinz Wrobel
  531.  
  532.