home *** CD-ROM | disk | FTP | other *** search
/ Meeting Pearls 3 / Meeting_Pearls_III.iso / Pearls / texmf / doc / dvips / README.amiga < prev    next >
Encoding:
Text File  |  1995-01-08  |  15.0 KB  |  462 lines

  1. *
  2. * dvips v5.58 revision 1
  3. *
  4. * Amiga port by Giuseppe Ghibò <ghibo@galileo.polito.it>, based on
  5. * the official Unix v5.58 distribution released on 13rd Sep 1994.
  6. *
  7. * Last revised 8th Jan 1995.
  8.  
  9. ---------------
  10. About this port
  11. ---------------
  12.  
  13. This is the Amiga port of dvips v5.58.
  14.  
  15. All original directories are left unchanged from the official Unix
  16. distribution, except for dvips/contrib/psfig which has been substituted
  17. with the latest version (1.10) of Trevor Darrel's 'psfig.sty' (look at
  18. dvips/contrib/psfig-tex).
  19.  
  20. All Amiga changes are enclosed in #ifdef AMIGA ... #endif pairs.
  21.  
  22.  
  23. ----------
  24. Path rules
  25. ----------
  26.  
  27. Amiga paths (in environment variables and config files) follow this
  28. rules yet used on others PD version of TeX, and different from the ones
  29. described in dvips.tex):
  30.  
  31.  - a period "." indicates the current directory.
  32.  - a comma "," is the paths separator (instead of Unix ":").
  33.  - two adjacent commas ",," includes the default pathname into
  34.    that path.
  35.  
  36. Starting from dvips 5.58 revision 1, dvips supports the
  37. EVPaths path routines for the following environment variables:
  38.  
  39. Env Var        config        Path
  40. -------        option        ----
  41.         ------
  42.  
  43. TEXCONFIG            specifies path for config files
  44. TEXINPUTS    S        specifies path for postscript figures
  45. TEXFONTS    T        specifies path for .tfm files
  46. VFFONTS        V        specifies path for .vf files
  47. DVIPSHEADERS    H        specifies path for postscript prologues
  48.  
  49. The other environment variables PK font searching rules
  50. are still the same of the previous version 5.58, and don't support the
  51. new behaviour.
  52.  
  53. The EVPaths routines allow the following behaviour for the environment
  54. variables above (path rules are compatible with the old one, but there are
  55. also some imprevements):
  56.  
  57. - Recursively path searching.
  58.   ---------------------------
  59.  
  60.   - Appending the char * to a path element extend the searching into its
  61.     subdirectories (one-level). For instance specifying:
  62.  
  63.     setenv TEXFONTS TeX:texfonts/tfm/*,CD0:texfonts/tfm
  64.  
  65.     the subdirectories contained into the directory `TeX:texfonts/tfm/'
  66.     will be used as search path.
  67.    
  68.   - Appending ** to a path element, the searching will be extended to ALL the
  69.     subdirectories of such path. Since the directory's scan is performed at
  70.     startup time, this could slightly slow down the startup if the directory
  71.     contains many subdirectories. Up to ten-level subdirectories are
  72.     supported.
  73.  
  74.   Note that there are also some synonymous for * and **:
  75.  
  76.     ---------------------------------
  77.     | Char |       searching        |
  78.     ---------------------------------
  79.     |  *   | one-level directories  |
  80.     | **   | all sub-directories    |
  81.     | #?   | one-level directories  |
  82.     | #?>  | all sub-directories    |
  83.     | *>   | all sub-directories    |
  84.     ---------------------------------
  85.  
  86.   Note also that the chars * and ** (or their synonymous) don't specifies
  87.   wildcards; e.g. specifying TeX:macro/ltx*my we DON'T include every
  88.   directory which matches the string `ltx*my' into the path.
  89.   
  90. - Recursively environment variables searching
  91.   -------------------------------------------
  92.  
  93.   Speficifying the name of another environment variables we may include
  94.   its contents into the path. For instance with:
  95.  
  96.     setenv TEXINPUTS TeX:texinputs,"$"MYTFM
  97.  
  98.   then the contents of the environment variables MYTFM will be added to
  99.   the path list. Note that MYTFM may contain other environment variables
  100.   and so on. Up to 5 level of environment variables recursion are
  101.   allowed. Closed loop and duplicated entries are ignored.
  102.   Double quotes (i.e. "$"MYTFM)are needed because otherwise the shell
  103.   will expand the MYTFM var.
  104.  
  105. - Environment variables may have any length
  106.   -----------------------------------------
  107.  
  108.   The environment variable used to specify a path may have any lenght
  109.   (according to the memory size specified into DVIPS).
  110.   Entries may also be separated by a LF.
  111.  
  112.  
  113. EVPaths routines are Copyright © 1994-95 by Giuseppe Ghibò. The sources
  114. and the full documentation of EVPaths are available on Aminet and its
  115. mirror sites.
  116.  
  117.  
  118. ----------------
  119. Backtick support
  120. ----------------
  121.  
  122. The backtick special "`" (see §4.7 of dvips manual) is also supported,
  123. either through the Bojsen's APipe-Handler (you can find it on AmiNet in
  124. util/shell/APipe-XX.X.lha) or through a very rough implementation of a
  125. read only pipe (the latter will be used in the case you haven't installed the
  126. APipe-Handler).
  127.  
  128. This version supports pipes to printers (e.g., dvips -o!lpr ...) only through
  129. the APipe-Handler. If you want, instead, to send the output directly to a
  130. PostScript printer connected, for instance, to the parallel port, you may use
  131. "dvips -opar: dvifile". Note that `dvips -o!lpr' is just an example, the
  132. Amiga doesn't have really the 'lpr' program (as far as I know...).
  133.  
  134. The backtick special "`" is supported also by the 'psfig' package (provided).
  135. Using this feature you may keep your Encapsulated PostScript files in a
  136. crunched form. To use this feature you must have the 'GZip' program (look in
  137. Aminet) renamed to 'ZCat'.
  138.  
  139.  
  140. -----------
  141. Amiga files
  142. -----------
  143.  
  144. This distribuition of dvips contains the following Amiga files:
  145.  
  146. README.Amiga      this file.
  147. afm2tfm           binary version of afm2tfm.
  148. dvips             binary version of dvips for any users.
  149. dvips040          binary version of dvips for 68040 users.
  150. smakefile         Makefile for SAS/C v6.x. (EVPaths support)
  151. smakefile-old     Makefile for old path behaviour.
  152. ps/config.ps      config.ps for 300 dpi laser printer (Canon engine).
  153. ps/config.ljfour  a config file for HP LaseJet IV (600×600 dpi²).
  154. ps/config.nechi   a config file for Nec 24pin (360×360 dpi²).
  155. ps/config.nec     a config file for Nec 24pin (180×180 dpi²).
  156. ps/config.generic a config file for generic PostScript printer.
  157. ps/*.map          extra maps file to use Paradissa fonts collection.
  158. ps/*.pro          PostScript prologue files.
  159. chfiles/*.ch      Changes files to implement the EVPaths support.
  160. MakeTeXPK         a shell script file for automatic pk fonts creation.
  161. texc.rexx         ARexx script to convert tex.lpro to texc.lpro.
  162. pipe.c            code to implement 'popen' and 'pclose' functions.
  163. rexx.c            ARexx interface to make dvips compatible with PasTeX.
  164. include/          directory with prototypical headers.
  165. env-vars          a shell script to set some environment variable.
  166. dvips.dvi         DVI documentation of dvips.
  167. EVPaths.lib       Link library for the EVPaths routines.
  168.  
  169.  
  170. ---------
  171. Compiling
  172. ---------
  173.  
  174. To compile source files on your Amiga, CD on dvips directory then type from
  175. your current shell `smake -f amiga/smakefile all'. If you want to
  176. compile dvips without the new EVPaths support, use instead
  177. `smake -f amiga/smakefile-old'.
  178. Note that to compile dvips with the EVPaths support you need the utility
  179. WMERGE. This utility is distributed with the CWEB package which excellent
  180. Amiga port, done by Andreas Scherer, is available on Aminet
  181. (file dev/c/cweb33pXXX.lha) and in the CTAN archives.
  182.  
  183. To compile sources on CPUs different from 68000, you can use instead
  184. `smake -f amiga/smakefile CPU=68040 MATH=8'.
  185.  
  186. To compile sources with the optimization disabled you can use for instance
  187. `smake -f amiga/smakefile dvips OPTMZ='
  188.  
  189. To install the compiled sources and PostScript prologue files into TeX
  190. directories type `smake -f amiga/smakefile install'.
  191.  
  192.  
  193. ------------
  194. Installation
  195. ------------
  196.  
  197. If you don't intend to recreate all binaries and prologue files using
  198. the smakefile, copy the following files:
  199.  
  200.     dvips/amiga/ps/#?
  201.     dvips/psfonts.map
  202.     dvips/psdraft.ps
  203.  
  204. to your TeX-PostScript directory (e.g., TeX:ps/) and then edit the file
  205. config.ps according to your paths (pk, tfm, vf, ...). An alternative to change
  206. the config file(s) is to set the environment variables. In fact some
  207. environment variables override paths and options specified in the config
  208. file(s). To do this you can modify the file `dvips/amiga/env-var' to match
  209. your own paths.
  210. Note that directory `dvips/amiga/ps/' contains the latest version of the
  211. PostScript prologue files (*.pro) used by dvips. *BE SURE* you have installed
  212. these files on your TeX PostScript directory, otherwise dvips will produce
  213. fault PostScript files.
  214.  
  215. Then copy the binary version of 'dvips' (according to your CPU) and 'afm2tfm'
  216. and 'squeeze' into your TeX-binary directory (e.g., TeX:bin/).
  217.  
  218. Finally copy the file 'MakeTeXPK' into your TeX-scripts directory
  219. (e.g., TeX:s).
  220.  
  221. For further information process the dvips manual `dvips.tex' (using
  222. plain TeX) or see the dvi file `amiga/dvips.dvi'.
  223.  
  224.  
  225. -------------------------
  226. Automatic font generation 
  227. -------------------------
  228.  
  229. For automatic font generation (see §10 on page 35 of dvips manual), it is
  230. provided a shell script file named 'MakeTeXPK'.
  231.  
  232. Note that this port of dvips has new features (not available in the
  233. Rokicki's Unix version) for the MakeTeXPK env var.
  234.  
  235. On page 37 of the dvips manual are explained the standard arguments
  236. supported by MakeTeXPK env var. This port now supports also four new
  237. arguments:
  238.  
  239.   %x = horizontal base resolution (dpi), i.e. the one specified after the
  240.        `X' in the config file.
  241.  
  242.   %y = vertical base resolution (dpi), i.e. the one specified after the
  243.        `Y' in the config file.
  244.  
  245.   %p = a %p will be replaced by the first expansion of the pk path. For
  246.        instance, if you have these lines in your config file:
  247.  
  248.            D 600
  249.            M ljfour
  250.            P TeX:texfonts/pk/%m/%d/%f.%dpk,TeX:pk/%d/%f.%dpk,%f.%dpk
  251.  
  252.        and, for instance, the font cmssbx10 at magstep(0.9) isn't found,
  253.        then %p will be replaced by the following string:
  254.  
  255.            TeX:texfonts/pk/ljfour/540
  256.  
  257.   %P = a %P is like %p except the path has truncated also the directory
  258.        before the font name. If we consider the example above, a %P will
  259.        be replaced by:
  260.  
  261.            TeX:texfonts/pk/ljfour
  262.  
  263. Note that the %w (available in the port of version 5.55) used to
  264. substitute the MF mode is no longer supported. In fact, now, the the official
  265. dvips has the %o argument, which performs the same things of the old %w.
  266.  
  267. Note, if dvips doesn't found more than one pk font, then the file
  268. 'missfont.log' will be created/appended. In this case just execute that
  269. file by typing from your shell 'execute missfont.log'.
  270.  
  271. If you have the ARexx script 'MakeBatch.rexx' and 'MakeTeXFont.rexx'
  272. provided with PasTeX you can set the environment variable MAKETEXPK to
  273.  
  274.     rx MF:rexx/MakeBatch %n %d %x %y PS %d/%n.%dpk %P/
  275. or
  276.     rx MF:rexx/MakeTexFont %n %d %x %y PS %d/%n.%dpk %P/
  277.  
  278. to do the automatic font creation.
  279.  
  280. Starting from v5.55 rev 2, it is supported the CALLMF env var. If the
  281. environment MAKETEXPK is setted to the value "CALLMF" (without quotes) or
  282. it is not at all setted, then will be called the ARexx script specified
  283. by the environment variable CALLMF itself. For instance let's consider:
  284.  
  285.     setenv MAKETEXPK CALLMF
  286.     setenv CALLMF MF:rexx/MakeBatch.rexx
  287.  
  288. then the ARexx script `MF:rexx/MakeBatch.rexx' will be called if
  289. a fonts isn't found. The arguments passed to the ARexx script
  290. are the ones needed by the PasTeX's ARexx scripts `MakeBatch.rexx'
  291. or `MakeTeXFont.rexx'. The advantage to use of CALLMF with respect to
  292. set the enviroment variable MAKETEXPK to `rx MF:rexx/MakeBatch ...',
  293. is that if the ARexx server isn't active then the ARexx script
  294. isn't executed, while `rx' command starts anyway the ARexx server.
  295.  
  296.  
  297. ----------
  298. Some notes
  299. ----------
  300.  
  301. If you are using dvips with a PostScript interpreter like Post, keep in
  302. mind that the PostScript files produced by dvips using pk fonts aren't
  303. 'device indipendent'. For instance, if you want to print on a 180dpi dot
  304. matrix printer you must have the correct pk size fonts. An alternative is to
  305. use Type 1 PostScript fonts. For this purpose you may retrieve all the
  306. CM and AMS fonts in Type 1 format (Paradissa Font Collection and
  307. Bakoma Font Collection) from any CTAN archive. To use such fonts, there is
  308. the config file 'config.generic'. You may use it typing 'dvips -Pgeneric
  309. -Dres  myfile'.
  310. The PostScript files produced in this way are bigger than the ones created
  311. using the pk fonts only, but they're ``device indipendent''.
  312.  
  313. -----------------
  314. Changes (summary)
  315. -----------------
  316.  
  317. - v5.58 revision 1 (8th Jan 1994)
  318.  
  319.         - Made dvips EVPaths compliant.
  320.  
  321.  
  322. - v5.58 (29 Sep 1994)
  323.  
  324.     - Changes according to the original 5.58 version.
  325.  
  326.  
  327. - v5.55 rev 2 (19 Sep 1994) - internal
  328.  
  329.     - Support for CALLMF rexx script (compatibility with PasTeX).
  330.  
  331.  
  332. - v5.55 rev 1 (12 Sep 1994) - internal
  333.  
  334.     - Support for %x and %y argument in the MAKETEXPK env var.
  335.     - Now current directory isn't changed if a user break is hitted
  336.           during dirs scan.
  337.     - changed config files to support K. Berry's `modes.mf' v2.0.
  338.  
  339.  
  340. - v5.528 (12-Feb-94)
  341.  
  342.     - Added full support of pipes.
  343.  
  344.  
  345. - v5.526 (21-Jan-94)
  346.  
  347.  
  348. - v5.525 (17-Jan-94)
  349.  
  350.     - Fixed a bug dued to conversion of all float to double.
  351.     - Added a rough read only pipe (allows backtick "`" in specials).
  352.  
  353.  
  354. - v5.523 (11-Jan-94)
  355.  
  356.     - Fixed units conversion in "emspecial.c": now units cc and dd
  357.       work right.
  358.  
  359.     - Added support for EM font libraries.
  360.  
  361. - v5.521 (17-Dec-93)
  362.  
  363.     - Enhanced paths: now volume name (like TeX:) and directories
  364.           ending in '/' (like 'TeX:texfonts/') can also be used in enviroment
  365.           variables for paths.
  366.  
  367.  
  368. - v5.518 (22-Sep-93)
  369.  
  370.     - First public release of the Amiga port of dvips.
  371.  
  372.  
  373. =========
  374. ChangeLog 
  375. =========
  376.  
  377. ---------------------------------
  378. 8 Jan 1994 -- changes since v5.58
  379. ---------------------------------
  380.  
  381.     chfiles/*.ch:    added change files to support EVPaths routines.
  382.  
  383.  
  384. ----------------------------------------
  385. 29 Sep 1994 -- changes since v5.55 rev 2
  386. ----------------------------------------
  387.  
  388.     makefont.c:    removed %w for mfmode in MAKETEXPK. Now there is
  389.             the %o (with the same behaviour of the old %w) also
  390.             in the original dvips.
  391.  
  392.     afm2tfm.c:    - changed afm2tfm_protos.h
  393.             - changes some scanf("...%f...") to scanf("...%lf..."),
  394.               according to FLTTODBL.
  395.  
  396.     squeeze.c:    - changed squeeze_protos.h
  397.  
  398. The following files are instead changed according to the changes introduced
  399. in the original 5.58 version.
  400.  
  401.     bbox.c
  402.     dvips.h
  403.     dvips.c
  404.     dopage.c
  405.     dospecial.c
  406.     emspecial.c
  407.     loadfont.c
  408.     makefont.c
  409.     output.c
  410.     paths.h
  411.     resident.c
  412.     scalewidth.c
  413.     search.c
  414.     virtualfonts.c
  415.  
  416. -----------------------------------------
  417. 19 Sep 1994 -- changes since v5.55 rev 1.
  418. -----------------------------------------
  419.  
  420. (sch) denotes changes done by Andreas Scherer <scherer@genesis.informatik.rwth-aachen.de>
  421. none or (ghi) denotes changes done by Giuseppe Ghibò <ghibo@galileo.polito.it>
  422.  
  423.     makefont.c:    - (sch) added CallMF support according to the PasTeX behaviour.
  424.             - (ghi) changed MF modes according to K. Berry's modes.mf 2.0.
  425.             - (ghi) made CALLMF a modal option.
  426.  
  427.     afm2tfm.c:    (sch) made ANSI compliant.
  428.  
  429.     squeeze.c:    (sch) made ANSI compliant.
  430.  
  431.     rexx.c:        (ghi), (sch) added to call the ARexx script specified by CALLMF env var.
  432.  
  433.     search.c:    changed MF modes according to K. Berry's modes.mf v2.0.
  434.  
  435.  
  436. -------
  437. Credits
  438. -------
  439.  
  440. The author of this port wishes to thanks:
  441.  
  442. - Andreas Scherer for the ARexx (rexx.c) interface and for the others
  443.   improvements and suggestions.
  444.  
  445. - Georg Heßmann for the original 'rexx.c'.
  446.  
  447.  
  448. ----
  449. TODO
  450. ----
  451.  
  452.  o A GUI/MUI version of dvips.
  453.  
  454.  
  455. -------------------------
  456. QUESTIONS ABOUT THIS PORT
  457. -------------------------
  458.  
  459. If you have any question, comment, suggestion, enhancement requests,
  460. bug report, about this port, please feel free to contact me via e-mail
  461. at <ghibo@galileo.polito.it>.
  462.