    11-Jan-93  08:44:35
Sb: RDLL.DLL = Text Wrap
Fm: David Satz (Sysop) 76702,606
To: All

Dear All,

A couple of weeks ago I moved RDLL.DLL into public view in LIB 4.  I have to
apologize for not announcing it at the time, but I wanted to prepare some
documentation for it first.  It turns out that I still haven't had time to do
so, but I wanted to let people know that what this file is, is a Text Wrap
module for Ventura Publisher (version 4.0 or later).  It has limited but I
hope useful capabilities.  Further updates are a distinct possibility.

To install the module, download it and copy it into your Windows \VENTURA
directory.  If you have versions 4.0 or 4.1, Text Wrap is accessed by clicking
on the blank spot at the bottom of the Frame Menu.  If you have version 4.1,
once you have copied this file into \VENTURA, a menu item for "Text Wrap"
should actually appear in the Frame Menu as a normal item.

What the module does is simply to automate the well-known process of drawing
numerous small frames around the (possibly irregular) outline of a graphic. It
does not create irregular-shaped frames--this is simply not possible in
Ventura Publisher as we now know it.  But it is able to read almost all types
of graphics files, "sense" the outline shape of the "objects" in the file, and
build its wrap frames accordingly.  Any text surrounding the graphic will thus
appear to flow around the shape of the graphic rather than around the
rectangular frame that it occupies.

This has historically been the most frequently requested new feature for
Ventura Publisher, to the best of my knowledge, and was originally intended
for release in the 4.0 version.  Some of the technical problems which
prevented its release at that time have been solved; others have not.  As a
result, there are two very important limitations which I would like to set
forth as plainly as possible.

The limitations can be explained best if we consider the most common way in
which a text wrap would be applied in Ventura Publisher:  text is set to flow
on the base page, and a frame is added to the page, with a graphic placed in
the frame so that the graphic frame (initially at least) displaces the base
page text.

The first limitation is that if the text is set in a single column, Ventura
Publisher is quite fussy about where you can place an intervening frame so
that the flow of text is not severely disturbed.  You can see this by setting
up a single-column text page and adding frames of various sizes; sometimes the
results are not pretty.  In general the least disturbance will occur if the
height of the added frame is _exactly_ equal to the interline spacing of the
text which it interrupts, and if the upper edge of the frame is aligned with
the top of the imaginary rectangle in which the surrounding text is drawn.

In RDLL.DLL, I have tried to accomodate this situation by making the height of
the wrap frames adjustable.  In the Text Wrap dialog box, the "Interline
spacing" control at the bottom of the dialog is what determines the default
height of the wrap frames.  At the moment there is no direct control for
aligning the upper edge of the wrap frames; this may come later.

In general, however, it remains difficult to wrap a graphic in the middle of a
column of text in Ventura Publisher--just as it is when the same technique is
applied manually.  Since this situation is rooted in the "formatter" code that
Ventura Publisher has used since its inception, it will change only in a
future version of Ventura Publisher (which I imagine will have an integral
text wrap function anyway).  For the time being, it is far easier to get good
results when wrapping graphics that are positioned between two columns. (The
interline spacing control should still be used in that situation.)

The other important limitation is documented by RDLL.DLL itself--if you try to
go against it, the module will detect the situation and bring up a message box
as a warning.

To understand it, please recall that graphics files are divided into two
general classes:  _bitmap graphics_ and _vector graphics_ (or in Ventura
Publisher jargon, "images" and "line art").  Examples of bitmap graphics are
files in PCX, IMG, and TIF formats; they may be monochrome, grayscale, or
color.  Examples of vector graphics are _most_ files in GEM and EPS format;
these, too, may be monochrome, grayscale, or color.

Again referring to our example of the chapter with text on the base page and a
graphic in a frame superimposed on the base page:  the logical requirement for
a text wrap to "work" is that the frame containing the graphic needs to be set
so that it no longer displaces the text; the displacement of text will instead
be done by the little "wrap frames."  That's easy enough--RDLL will
automatically twiddle the graphic frame's "Flow Text Around" setting. As a
result, some of the text will enter the boundaries of the graphic frame so
that it can snuggle up next to those adorable wrap frames.

On the screen, this works perfectly well.  Unfortunately, there is a problem
in the print routine of Ventura Publisher that has been there so long that I
think many people aren't aware of it as a problem.  That is that when you
place a bitmap image in a frame, that frame's background always prints as if
it were opaque, regardless of what you may set in the Frame menu's "Frame
Background" dialog.  Thus with bitmap images--PCX, IMG, or TIF--you can set up
this type of page layout and you can do a nice text wrap, but it won't print
correctly.  ("You can dress it up but you can't take it out.")  Any text that
falls beneath the image frame will be clipped and invisible.

As I said, the Text Wrap module will sense this situation if it occurs and
will warn you about it.  You may wish to proceed anyway.  A future version of
Ventura Publisher may fix this problem; also, the Text Wrap dialog box gives
you the option to set the padding for the wrap frames, and in this manner you
can set up a perfectly printable text wrap by setting the padding large enough
that none of the text falls within the image frame.  Sometimes this is, in
fact, exactly what the designer wants, so RDLL allows you to ignore the
warning.

In other situations, however, the only way to arrange a text wrap around a
bitmap image is to set up the page differently:  have the text flow in a frame
that is on a _higher_ level of the page ("Z-level") than the frame containing
the image file.  In this situation, the transparency or opacity of the image
frame background will not matter; the page will print as it appears on the
screen, and the text wrap will work normally too.  (It doesn't matter to the
wrap frames whether the text is on a higher or a lower Z-level.  The text will
flow around them equally well in either case.)

--One of the more unusual features of the Text Wrap module is that once you
have set up a text wrap with it, you can move or adjust the graphic frame, and
the wrap frames will adjust themselves to match.  You can reposition, resize,
or rescale the graphic, change its internal margins, or change its cropping in
the Sizing and Scaling dialog box, and the wrap will update itself
automatically.

The one exception--which again could be fixed in a future version of Ventura
Publisher--is that the wrap will not update itself automatically if you change
the cropping with the "Alt+mouse move" method.  To update the text wrap after
an "Alt+mouse move", open the Text Wrap or the Sizing and Scaling or the
Margins and Columns dialog and simply click on OK.

I hope that even with these limitations, the module will be useful.
