[comp.text] New dvi2ps with on-line help and continuous font sizes

jbw@cisunx.UUCP (Jingbai Wang) (05/02/89)

As I said, I have a version of dvi2ps to release. For those who can wait
I put it in ~/tmp anonymous (password=guest) june.cs.washington.edu for
ftp. It is in .arc format (sorry about that). To unarc it, use
$arc dvi2ps
$sh unarc.sh

This program has many features that never existed before this date. The 
following is part of the dvi2ps.doc in the package.

_________________________

                          1.  Description and Syntax

 dvi2ps  is  a  popular  TeX  dvi->PostScript  device  driver (or translator)
 (PostScript is a trademark of Adobe Systems, Inc) for UNIX  systems.    This
 program  converts  a  TeX DVI file to PostScript, and writes the result to a
 more standard output.

 However, this particular version of dvi2ps is not the same as the ones  that
 are  already  in  many  sites.  THIS  dvi2ps  IS  ONE  OF THE FEW PostScript
 TRANSLATORS THAT DO THINGS THAT CAN  BE  CALLED  PostScript.  The  following
 features make this program unique.

    - All  the  fonts, including raster-type bitmap fonts (like cmfonts)
      and built-in Adobe fonts (like  Times-Roman),  can  be  scaled  on
      continuous basis. For instance,
      \font\cmrforty=cmr17 at 40pt
      \cmrforty{The font size is exacty 40 points.}
      will give 40 points fonts of cmfonts in Roman.

    - It  has three \special features to allow you to include PostScript
      files of any kind,  such  as  well-behaved  PostScript  file  with
      bounding  box  (with  \psfig),  poor  nonstandard PostScript files
      (with   \special{psfile   filename}),   and   full-page/multi-page
      PostScript image files (with \special{pspage filename}).

    - You  can  use  PostScript commands directly in your TeX/LaTeX with
      \special{ps-string PostScript commands}.

    - This dvi2ps is  has  a  built-in  on-line  help  viewer  for  ANSI
      terminals.   The   help  files  available  with  the  package  are
      dvi2ps.doc (this file) and texint.doc (Introduction to TeX/LaTeX).
      To view the former, use
      $dvi2ps -H
      and for the latter, use,
      $dvi2ps -H tex

    - This  program  uses TeX fonts (like cmfonts) in PK format (such as
      cmr10.300pk for cmr10, 300 dpi at mag=1000),  and  built-in  Adobe
      fonts  that only need TFM files (such as t-rom.tfm for Times-Roman
      font). They can all be used at any point size. When TeX fonts  are
      used,  the  closest  PK file will be loaded and if the size is not
      exactly the same as specified by TFM file, PostScript  scaling  is
      used  to  scale the font.  PXL files can also be used, but greatly
      discouraged.

    - It can look for PK files in predefined  system  directory  and(not
      or) user's directory.

    - ...


 Thus,  even  if there is only one mag set of *.*pk files, such as *.300pk in
 your system, it can still give an acceptable output most of times  (but,  of
 course, if scaled too much, bitmap fonts don't look good). Also, this dvi2ps
 will make the existence of SliTeX redundant.

 Example: the simplest syntax is,

 $dvi2ps foo.dvi>foo.ps

1.1  SYNOPSIS

 $dvi2ps [-=] [-H tex/latex/dvi2ps] [-a pxldirs] [-d] [-f n] [-h]  [-i  file]
 [-m  n]  [-o  str] [-q] [-r] [-s] [-t n] [-F n] [-x pages] [-K userfontpath]
 [-M] dvifile[.dvi]

...

                              TABLE OF CONTENTS



     1.   Description and Syntax  . . . . . . . . . . . . . . . . . . .     2
          1.1    SYNOPSIS . . . . . . . . . . . . . . . . . . . . . . .     3
          1.2    ARGUMENTS  . . . . . . . . . . . . . . . . . . . . . .     3
     2.   NOTES . . . . . . . . . . . . . . . . . . . . . . . . . . . .     6
     3.   Adobe Fonts . . . . . . . . . . . . . . . . . . . . . . . . .     6
     4.   Specials  . . . . . . . . . . . . . . . . . . . . . . . . . .     6
     5.   Greek Letters . . . . . . . . . . . . . . . . . . . . . . . .     6
     6.   FILES . . . . . . . . . . . . . . . . . . . . . . . . . . . .     7
     7.   Bugs  . . . . . . . . . . . . . . . . . . . . . . . . . . . .     7
     8.   See Also  . . . . . . . . . . . . . . . . . . . . . . . . . .     7
     9.   AUTHOR(s) . . . . . . . . . . . . . . . . . . . . . . . . . .     8

__________________________


JB Wang


p.s. A newer version with more features may be released soon.

ken@cs.rochester.edu (Ken Yap) (05/04/89)

| Thus,  even  if there is only one mag set of *.*pk files, such as *.300pk in
| your system, it can still give an acceptable output most of times  (but,  of
| course, if scaled too much, bitmap fonts don't look good). Also, this dvi2ps
| will make the existence of SliTeX redundant.

Not quite. SliTeX has some nice features, like fiducial marks, color layers,
etc. In any case on our systems slitex means having just one more fmt file.

knapp@cs.utexas.edu (Edgar Knapp) (05/04/89)

In article <17892@cisunx.UUCP> jbw@cisunx.UUCP (Jingbai  Wang) writes:
>[..]
>ftp. It is in .arc format (sorry about that). To unarc it, use
>$arc dvi2ps
>$sh unarc.sh
>
Neither arc nor unarc are available on our local UNIX machines. Are
they public domain, and if so, can I ftp them from somewhere?

What do these programs do, anyway? Some sort of arc-hiving or
compresssion? 

Edgar Knapp

(knapp@cs.utexas.edu)

jbw@cisunx.UUCP (Jingbai Wang) (05/04/89)

In article <1989May3.204353.29194@cs.rochester.edu> ken@cs.rochester.edu (Ken Yap) writes:
>| Thus,  even  if there is only one mag set of *.*pk files, such as *.300pk in
>| your system, it can still give an acceptable output most of times  (but,  of
>| course, if scaled too much, bitmap fonts don't look good). Also, this dvi2ps
>| will make the existence of SliTeX redundant.
>
>Not quite. SliTeX has some nice features, like fiducial marks, color layers,
>etc. In any case on our systems slitex means having just one more fmt file.


I am a little confused. slitex.fmt is dumped by initex and used by virtex
to create slitex binary that will read this particular slitex.fmt when
used. slitex.sty and slitex.tex do have some things plain TeX and LaTeX
do not have, but the key point of slitex is to produce larger fonts and
blacker characters useable on overhead projector, etc..

As far as device drivers are concerned, fmt files do mean anything to them.
They have to find suitable PK (or GF or PXL) files for the fonts defined
in fmt, and some of those fonts are not commonly used by regular TeX
and LaTeX files. Thus, a fmt is not sufficient for the use of SliTeX.

Why I said this dvi2ps may make SliTeX obsolete? Try this, use TeX/LaTeX
as usual, when time comes to make slides, reduce the text body height
and widthe a little bit, by , e.g.,

\textheight=5.5in
\textwidth=4in
...


Then,

$dvi2ps -m3 foo -=

If the slides turn out to be unpresentable, let me know.

As far as colors are concerned, bitmap fonts can not change gray levels
(use half-tune fonts instead), and affordable PostScript printers
do not have colors (only gray levels that is certainly fewer than 256).
Most of Adobe fonts can be printed at gray levels (see next release
of this dvi2ps).

In academic environments, I can imagine the need to have too many fancy
features for slides, instead, time is the most precious thing. Is is
always easy to convert a LaTeX file into a SliTeX file?

JB

ken@cs.rochester.edu (Ken Yap) (05/05/89)

|I am a little confused. slitex.fmt is dumped by initex and used by virtex
|to create slitex binary that will read this particular slitex.fmt when
|used. slitex.sty and slitex.tex do have some things plain TeX and LaTeX
|do not have, but the key point of slitex is to produce larger fonts and
|blacker characters useable on overhead projector, etc..

At this site virtex, tex, latex, and slitex are all links to one file.
All that is needed to run slitex is slitex.fmt (a.k.a. splain.fmt).

|As far as device drivers are concerned, fmt files do mean anything to them.
|They have to find suitable PK (or GF or PXL) files for the fonts defined
|in fmt, and some of those fonts are not commonly used by regular TeX
|and LaTeX files. Thus, a fmt is not sufficient for the use of SliTeX.

No, of course not. Sorry if I gave the wrong impression. But the disk
space taken is negligible especially as it is spread over all the
workstations served by one file server. Here is the disk usage
for slitex fonts:

943	pk

Actually this is an overestimate because this includes lasy, line and
circle fonts. A mere 1 Mb.

|As far as colors are concerned, bitmap fonts can not change gray levels
|(use half-tune fonts instead), and affordable PostScript printers
|do not have colors (only gray levels that is certainly fewer than 256).
|Most of Adobe fonts can be printed at gray levels (see next release
|of this dvi2ps).

The color layers of SliTeX are for overlays, not color printers.
Overlays can be used independent of whether you actually have color
transparencies.  We can also use the Adobe fonts in our dvi2ps. Both
features are useful.

|In academic environments, I can imagine the need to have too many fancy
|features for slides, instead, time is the most precious thing. Is is
|always easy to convert a LaTeX file into a SliTeX file?

Fiducial marks are very useful when you want to quickly align overlaid
slides.

Slides are usually done separately anyway because of the telegraphic
style of communication. It is generally a mistake to put more than 10
to 12 lines of text on a slide and some people would say even that is
too much. So many times I have seen illegible tables of results at
presentations. Who can read those anyway? Make graphs or say "trust me,
I did get these results".  So making a slide file afresh is easier than
trying to reuse some nice sentences out of the paper.

Besides using standard slitex saves maintainers time because we don't
have to document how to bend latex to do slides. Slitex is documented
in the book.

I'm not saying magnified and/or PS fonts are a bad thing, but it isn't
necessary to promote them by saying that you do away with slitex. Our
ditroff users use 24-36 pt ditroff fonts for slides and they are happy
too.

jbw@cisunx.UUCP (Jingbai Wang) (05/05/89)

In article <5457@cs.utexas.edu> knapp@cs.utexas.edu (Edgar Knapp) writes:
>In article <17892@cisunx.UUCP> jbw@cisunx.UUCP (Jingbai  Wang) writes:
>>[..]
>>ftp. It is in .arc format (sorry about that). To unarc it, use
>>$arc dvi2ps
>>$sh unarc.sh
>>
>Neither arc nor unarc are available on our local UNIX machines. Are
>they public domain, and if so, can I ftp them from somewhere?
>
>What do these programs do, anyway? Some sort of arc-hiving or
>compresssion? 
>
>Edgar Knapp
>
>(knapp@cs.utexas.edu)


I think arc or pkarc are public domain or at list shareware. They work
almost exactly the same way as PKARC and PKXARC on DOS PC, and the *.arc
file I had can be down-loaded to PC to unarc. (PKARC are freely distributed
and can be ftped from many sites like simtel20.arpa, but I do not know
about unix one, for VMS there is a ZOO).

However, you do not need that trouble for dvi2ps and TeXGuide, since I
made the .tar.Z files, and they are also in ~/tmp anonymous, 
june.cs.washington.edu. Those .tar.Z files are more up to the date than
the *.arc files too. To handle these files, ftp in binary mode, and

$uncompress *.Z
$tar -xmf dvi2ps

...


JB Wang

jbw@cisunx.UUCP (Jingbai Wang) (05/06/89)

...

>At this site virtex, tex, latex, and slitex are all links to one file.
>All that is needed to run slitex is slitex.fmt (a.k.a. splain.fmt).

That's a kind of strange setup, but by-and-by.

>space taken is negligible especially as it is spread over all the
>workstations served by one file server. Here is the disk usage
>for slitex fonts:
>
>943	pk
>
>Actually this is an overestimate because this includes lasy, line and
>circle fonts. A mere 1 Mb.

Your SliTeX might not be the most up to the date. My resent experience
seem to indicate taht i*.tfm files are also used in SliTeX. splain.fmt and
slitex binary seem to be the biggest files among TeX/LaTeX package.

Disk space is indeed cheap nowadays. It is why TeX can afford PK files at
numerous mag steps. Older fashioned packages would magnify each individual
pixels (which can not reduce font size and may make large fonts ugly),
instead of Metafont's way to scale (linearly) the character contour and
refill it with new bitmap. But, no one can afford the the disk space
for fonts from 1pt size to 1000pt size, say 1pt as the step. Try your
dvi2ps (not my version) with

\font\Rfive=cmr10 at 5pt
\font\Rseven=cmr10 at 7pt
\font\Rten=cmr10
\font\Rtwelve=cmr10 at 12pt
...
\font\Rxxvi=cmr10 at 24pt
\font\Rxxx=cmr10 at 30pt

\Rfive{
cmfonts at 5pt
}
\Rseven{
 cmfonts at 7pt
}
\Rten{
 cmfonts at 10pt
}
\Rtwelve{
 cmfonts at 12pt
}
...
\Rxxvi{
 cmfonts at 24pt
}
\Rxxx{
 cmfonts at 30pt
}
\end

And, then try mine. Of course, this is not a clever way of using fonts,
for instance, for 5pt you might use "cmr5 at magstep0" instead of
cmr10 at 5pt (that's what people said about nonlinearity). The example
is just to show that no one can have ALL the PK files for all the fonts.

>Slides are usually done separately anyway because of the telegraphic
>style of communication. It is generally a mistake to put more than 10
>to 12 lines of text on a slide and some people would say even that is
>too much. 

That's too bad, too time consuming and frustrating.

>So many times I have seen illegible tables of results at
>presentations. Who can read those anyway? ...

Indeed, but users would not read a book on how to make  efficient
slides.

>Besides using standard slitex saves maintainers time because we don't ...

Our sites have hesitated on supporting SliTeX, we can't affort a whole
crew of system analysts supporting everything from TeX tape. But a device
driver is must.

>ditroff users use 24-36 pt ditroff fonts for slides and they are happy
>too.

That's right, no one needs to be taught to make slides as long as he can
get visible fonts when projected (the result of presentation is a separate
topic).

SliTeX is a recognized piece of work. I did not try to promote this verison
of dvi2ps by doing way with it. This is only a dvi->ps, SliTeX can be used
for many many other devices. In the mean time, it is worth pointing out
many features in SliTeX can be defined in TeX and LaTeX as well.
My point, really, is that PostScript printers should be made better use
of by taking advantage of its powerful page description features. 


Scaling bitmap fonts is only a remedy, and it works most of times and
produces much much better results than the best-substituted fonts (
as most of dvi derivers do -- try the TeX code shown above). However,
if I could find time, I would get rid of bitmap fonts completely for
PostScript, and merge MetaFont program and *.base into the device driver
to make analytical TeX fonts on top of Adobe fonts.



JB Wang

ken@cs.rochester.edu (Ken Yap) (05/06/89)

|>At this site virtex, tex, latex, and slitex are all links to one file.
|>All that is needed to run slitex is slitex.fmt (a.k.a. splain.fmt).
|
|That's a kind of strange setup, but by-and-by.
|
|>space taken is negligible especially as it is spread over all the
|>workstations served by one file server. Here is the disk usage
|>for slitex fonts:
|>
|>943	pk
|>
|>Actually this is an overestimate because this includes lasy, line and
|>circle fonts. A mere 1 Mb.
|
|Your SliTeX might not be the most up to the date. My resent experience
|seem to indicate taht i*.tfm files are also used in SliTeX. splain.fmt and
|slitex binary seem to be the biggest files among TeX/LaTeX package.

As I mentioned, slitex is the same as virtex.

-rwxr-xr-x  4 ken        163840 Apr 15 06:02 /usr/staff/bin/slitex

And it's even big TeX, with over 250k memory words. The beauty of
on-the-fly loading. As for the fmt file:

-rw-r--r--  2 ken        539245 Apr 15 21:05 /usr/lib/tex/macros/slitex.fmt

The tfm files are only about 1k each and there are only 10 or 20 of them.

All this has been standard since about 2.93 or so I think.

|>Besides using standard slitex saves maintainers time because we don't ...
|
|Our sites have hesitated on supporting SliTeX, we can't affort a whole
|crew of system analysts supporting everything from TeX tape. But a device
|driver is must.

A whole crew of SAs? Oh dear, I must be underpaid. :-) To make a slitex
after having made the initex and virtex binaries,

	initex splain '\dump'
	ln splain.fmt slitex.fmt
	ln virtex slitex
	rdist as necessary

All of 3 minutes. And I don't have to recompile initex and virtex
if Lamport changes SliTeX, only if Knuth upgrades tex.web.

|Scaling bitmap fonts is only a remedy, and it works most of times and
|produces much much better results than the best-substituted fonts (
|as most of dvi derivers do -- try the TeX code shown above). However,
|if I could find time, I would get rid of bitmap fonts completely for
|PostScript, and merge MetaFont program and *.base into the device driver
|to make analytical TeX fonts on top of Adobe fonts.

No disagreement here. Turning to more interesting topics perhaps you
can tell us how you smooth the scaled bitmap fonts (I assume you do).
It would be a nice thing for future dvi2ps's to have.

Sideline: There was a lot discussion on TeXHax a while back on METAFONT
vs PS. What more or less emerged from the dust is that one can see the
difference in quality between MF's tailored fonts and PS's optically
scaled fonts if one is fussy. Indeed, I can see some ugliness in the
lower point sized PS fonts. But the pressure of wanting to save on disk
space is in favour of PS fonts at the moment.  It remains to be seen if
some new storage proposals can retain the quality of MF fonts with a
single font description, a la PS.

jbw@cisunx.UUCP (Jingbai Wang) (05/08/89)

In article <1989May5.230959.19926@cs.rochester.edu> ken@cs.rochester.edu (Ken Yap) writes:

>The tfm files are only about 1k each and there are only 10 or 20 of them.

Once tfm are preloaded in *.fmt, there is no importance for its existence
unless some smart users would use them by \font command. The key point is
that for a single TFM file, there need to be a dozen of PK files at different
mag's for device drivers to use.

>A whole crew of SAs? Oh dear, I must be underpaid. :-) To make a slitex
>after having made the initex and virtex binaries,
...
>All of 3 minutes.

Supporting does not solely mean setting up the binaries and path. In
a university as big as ours, there can be thousands of users, smart, dull
or in between. They ask you all kinds of questions, especially because
they can get nothing out of Knuth's books. Consulting is much more
important here than maintenance. It is why I was asked to write TeXGuide.tar.Z.

>No disagreement here. Turning to more interesting topics perhaps you
>can tell us how you smooth the scaled bitmap fonts (I assume you do).
>It would be a nice thing for future dvi2ps's to have.

Actually I have only done the best to the availability of time, for the
time being this version of dvi2ps does not smooth the scaled bitmap fonts,
instead, it finds the bitmap font of closest size to reduce scaling factor
to minimum possible. As far as I can see, the results are so far so good.
There was a conference here, people try to make Posters 

MEN's 
-->

Ladies
<--

the font size should be no less than 480pt. Then this version of dvi2ps
was not ready yet. I told them to forget about TeX, use Scribe instead. In
this particular case, smoothness is not so important.

>Sideline: There was a lot discussion on TeXHax a while back on METAFONT
>vs PS. What more or less emerged from the dust is that one can see the
>difference in quality between MF's tailored fonts and PS's optically
>scaled fonts if one is fussy. Indeed, I can see some ugliness in the
>lower point sized PS fonts. But the pressure of wanting to save on disk
>space is in favour of PS fonts at the moment.  It remains to be seen if
>some new storage proposals can retain the quality of MF fonts with a
>single font description, a la PS.


Sure, I remember that, and I actually critisized it. Adobe could have
suited them for spreading their unthoughtful remarks. Actually most of
Adobe fonts are not bitmap fonts, they are either outline fonts or
stroke fonts (like Courier). Scaling is done analytically (by computing)
the contours first, and then fill the interiors with grids (instead of
dots). If you want to see more primary fonts of this type, check
out DISSPLA and TEL-A-GRAF vector fonts (when you use a plotter with
pen movements, vector fonts are the best) which in turn appeared in Turbo
Pascal (exactly the same vectors as far as I can see). Of course, the
plotter do not fill the interiors, but printers can (and so can the
screen display as in Turbo Pascal). Adobe fonts are not optically scaled as
would a Xerox copier. MF uses about the same principle. In other words,
cmr10.300pk, cmr10.360pk, cmr10.432pk, ..., are generated from the
same description of font outlines, but the dimensions are different and
the bitmap information is different.  Some people said Adobe fonts
are linearly scaled (and hence ugly), and MF is not (and thus beautiful).
I could not see any non-linearity from cmr10.300pk to cmr10.360pk, but
of course, cmr10.300pk and cmr12.300pk are not proportional to each other.
Well, I do not feel it is the right comparison, this is really like 
comparing Times-Roman with Helvetica, because strictly speaking cmr10
and cmr12 do not have the same font style.

Returning to the smoothing issue, there are standard methods
to smooth curves (see Numerical Recipe) that can be used to smooth
font contours, but it is not smart to pick up the data from PK files
to make such outline fonts. Instead, one has to come one step back to 
MF itself.

I personally use Scribe to write everything, because font support is
good and I have my own version of database. I once communicated with
Leslie Lamport for a while, he does not seem to favor TeX fonts either and
he advised me to devote time to support Adobe fonts instead. When you
feel that the small Adobe fonts appeared ugly, that's because you are
misled by those messages.

JB