11/10/98
Version 1.100-1.107
* I made the "Next Descriptive Name" field in the Paper Size Database
"BlankAllowed" so you can enter an empty string (which is the usual case).
* I changed the ClassPag outext generation option so you can select records
for pages, class headers, line ads, display ads, banners and fillers.
You can set default values for the choices in the configuration database,
and then change them when you make the outext.
* I added a ClassPag option to write the outext in Unix LF or MSDOS CR/LF
format. Geac systems need MSDOS format.
* I changed the ClassPag "Save Work Area" option so you can select whether you
want it to lock your pages. ClassPag only saves locked pages, so this option
used to always lock all of your pages, but locking pages does an unflow which
can mess things up.
* I added options to scanps.sh to use the fonts.site fonts if the rip fonts
are not available. -site uses the fonts.site fonts are not available.
-buildsite rebuilds the list of fonts constructed from fonts.site.
-forcesite uses the list of fonts from fonts.site even if the rip fonts
list exists.
-init starts a fresh run. scanps.sh is meant to be run by scanall.sh
through find and xargs, so it usually appends to its output files.
* I added hotkeys to toggle the active flag in the printer names, paper
sizes and spreads lists. This makes it easier to remove unused entries.
* I changed ClassPag so when it produces a composite page (color ads but
separations = NO), it writes the plate names and registration marks in
each color. It staggers the plate names so they do not overlap.
It must place the registration marks in the same place on each plate,
* I added a ClassPag configuration parameters to specify the box expansion
when ClassPag draws a black box for an ad missing EPS. This allows you to
make the clear window on the film larger than the ad to provide some slack.
* I changed the "Load As Banner" option in the "View Ad Directories" window
so you can load an EPS file into a banner even if another banner already
uses the same EPS file. This makes it easier to share common banner elements
among banners for different editions.
* I changed the "Page Names" window so it only shows square-offs for the
current edition when you are in a pagination session. This makes it easier
to find the correct square-off when you have entries for several editions.
* I added a hotkey for the classification name database into the classification
selection list (the one that you see when you select "Paginate" from the main
menu). This makes it easier to fix and update classification names.
* I changed the initscr.sh setup script to ignore colons to avoid doing extra
work due to different formatting styles in different versions of makespc.
* I updates the manual about "undefined in I" PostScript errors for bad
tiff previews.
* I added an insert hotkey to the "Save Work Areas" list so you can make
new save areas without the need to drop into unix and do a "mkdir" command.
* I changed ClassPag to treat work areas starting Sun, Mon, etc., the
same as import areas starting "imp".
* I changed ClassPag to add a work area type field into the control database.
The field has the values "IMP", "WEEK", "ALT", "TTY", and "SAVE".
IMP is a normal import directory.
WEEK is an import directory for weekly products.
ALT is an import directory for products that print less often than weekly.
TTY is a work area that a person can log in to.
SAVE is a directory that holds a saved work area.
If the field is empty, ClassPag guesses the work area type from its name
as before.
On the ClassPag lists that let you import from a work area, ClassPag
initially shows just the IMP areas, but has hot keys to let you see the
WEEK and the ALT areas.
Since AdMax creates a product for every day of the week for almost every
product (even products that only publish once a year), the complete list
has about 250 entries, so hiding WEEK and ALT areas makes it a lot easier
to locate the correct area for the daily publications.
They must remember to use the WEEK hotkey once a week when they do their
one weekly publication.
ClassPag needs to read files over the network to show information in the
list window, so reducing the number of entries also makes the window open
much faster.
The "makelong.sh" script generates a control.trn transaction file that
sets the work area type in control database records (in addition to
setting the product and edition).
* When ClassPag makes entries in the control database, it no longer ads
"/dev/" to the terminal name string for WebTermX entries with IP addresses.
* I added a configuration parameter to select the first and last positions
of the ad number in the cardex to use when generating an EPS file name.
Longmont passes 10 character ad numbers in their cardex file.
The first 6 characters are the true ad number (what they use when they
save the ads), and the last 4 characters are an insertion code (that
changes every insertion).
Loveland has a similar scheme, except they use a 5 character ad number and
always set 6th character of the ad number to an "A". When Loveland creates
an EPS file for an ad, they must use their 5 character ad number plus an "A".
* I changed ClassPag to look for files with the extension ".eps".
Their method of creating EPS files made files with the extension ".eps",
while ClassPag used to look only for EPS files with no extension or with
the extension ".EPS" (in upper case).
When ClassPag looks for a display ad or a house ad, it now uses
1) the file name given for the ad
for house ads, this is what you key into the ImageName field;
for ads in the sort file, this is the file name field in columns 72-101;
for ads in the cardex file, this is the ad number with no extension.
2) the file name without any extension
3) the file name with the extension ".EPS"
4) the file name with the extension ".eps" [This is the only new step.]
* I changed ClassPag to look for the cardex file as "CARDEX.TXT" if it does not
find "cardex.txt". It seems like MSDOS and Win95 generate uppercase file names
while WinNT generates lowercase file names. When they make the cardex,
they use a Win95 system with the ClassPag server /u2 share mounted as "Y:".
* I added an option to copy the classification names from one product to
another. This saves entering the classification list in each product.
* I added a sample cleanads script in /u/cpag/interface/cleanex.sh
to show how to purge files older than a given number of days.
* I added a sample backup script in /u/cpag/interface/backex.sh
to show how to do a cpio backup.
* I added a sample copy script in /u/cpag/interface/crossex.sh
to show how to copy new house ads from one system to another.
* I added sample cron lines in /u/cpag/interface/cronex.sh to show how
to run nightly scripts to do backups and to maintain ad directories.
* I changed the ClassPag status area to show the node name in addition
to the user name and the work area. This helps sites with more than
one server tell which server they are connected to.
* I added a ClassPag configuration option to kill up to three classes during
the import step. The kills happen after nesting the classes, so each entry
can potentially kill a whole range of classes. Papers can use this option
to kill house ad entries that they can not delete from their front-end.
* I added checks to the ClassPag banner setup to detect duplicate banner names.
ClassPag builds banner names from the name of the banner family plus the
name of the banner image, and it is easy to make banner images that are
not unique to enough places. ClassPag now displays warnings when you enter
and leave the banner setup, and the banner list has a hotkey to redo the scan.
* I changed ClassPag to parse "%%CMYKCustomColor:" lines.
They saved an EPS file in Quark (possibly with a spot red color) that produced
a comment like this instead of a "%%DocumentProcessColors:" comment.
* I added a boolean "Final Output Device" field to the ClassPag paper database.
When you select a paper entry with this field set, ClassPag shows only full
scale spread entries. This should make it harder to send unscaled proof
pages to imagers.
* I added -k and -v options to the unload.sh script to select the key number
and key value. These options make it easier to dump selected records from a
database. I used them to dump the printer name database by node name for
copying entries between lonthr and lovthr.
* I added a preview hotkey to the banner, filler and paste list windows in
the pagination page display. This makes it easier to select the correct item.
* I changed the banner and filler list windows in the pagination page
display to include as much of the descriptive name as possible instead
of just showing the banner or filler name. This makes it easier to select
the correct banner or filler.
* I added configuration parameters for legal ads to specify the cut rules
before and after them and the minimum flow depth. The fields values default
to the ones for line ads. Longmont wants at least 3" before flowing legal ads.
One of the first days, ClassPag divided a legal ad into seven parts over a large
display ad. The person who purchased the legal ad then had to cut it out and
paste it together.
* When you select a print option that prints pages as it makes them,
the View/Print/Done popup shows a message that says that the pages are queued
for printing.
* I changed the print dialog to show the print time in the message instead
of opening a second popup with the time. This makes one less annoying
window to close when you print pages.
* I changed the scanps.sh preflight script to check that the badads, displayads
and missingads directories exist. The "cmd.txt" script that it generates
depends on moving files into those directories, so if they are missing,
it will end up trashing all of the ads.
* I changed the import copy formula to do a chmod +rw after copying files.
* I changed the rundate to default to the later of the sort file date,
the cardex date, and the current date. When you copy from an import area,
ClassPag picks up the date field of that area, which should be empty.
ClassPag used to default to the current date so you always had to change it,
but now it should pick up the correct date automatically.
I also set the first page to default to 1.
It was coming in empty for the same reason.
* I changed ClassPag to avoid placing fillers after parts of segmented legal
ads. It can confuse readers to see a filler below a segmented legal ad,
even at the bottom of a column.
* I changed the "Change Leading" command to reflow the line ads if you had them
flowed when you changed the leading. This saves having to reflow each time you
change the leading.
* I changed the ad movement rules so that under X, you can only move ads by
dragging them. Clicking on ads only sets the current ad, and the second
click no longer tries to move an ad. This makes it much easier to view
ad information.
* I fixed ClassPag so the option to place class headers over display ads works
when you paginate front-to-back. It used to work only for back-to-front.
Making it work front-to-back required tracking the current classification
and the classification of the top display ad in order to keep enough space
free to place the class header.
* I added an option in the "Set Class Colors" setup window to copy the colors
from another product. This made it easier to copy the colors from product 60
into the other products.
* I changed where ClassPag places fillers so if the bottom of a column has
a display ad with a class header, ClassPag now places the filler over the
class header instead of under it.
* I changed the "Load Banner" option in the "View Ad Directories" window
so that it tells ClassPag to reload the banner database.
* I fixed a test that prevented you from placing a banner over an ad
if there would not be enough room to place class headers over the ad.
* I changed ClassPag so if you disable "Justify Last Page", and a column has
just a display ad and a class header, ClassPag places the reservation filler
above the header instead of below it. Otherwise, ClassPag still pushes all
liners and class headers to the top and inserts the filler in the middle.
* I added a mail checking feature into ClassPag because the SCO print queue
manager sends mail when print jobs fail. ClassPag remembers the size
of your mail file in /usr/spool/mail and checks it when you run some commands.
If the size increases, ClassPag prompts you to read mail.
ClassPag uses "scomail" on X, and "mail" otherwise.
* I changed ClassPag to mark that you need to rebuild the folios if you change
any entries in the Book Sizes database.
* I added additional checks that dates in the headers of the sort file,
the merged sort file and the cardex file all match (when you have the
configuration parameter to check them enabled).
* I added an option to the Ads->DisplayAds window to hide class headers.
This makes it easier to locate the display ads.
* I added an option to the lock database window to remove entries
for inactive processes. This makes it easier to purge old records.
* I added a sort by date option to the directory list in the import window.
This makes it easier to find the most recent work areas.
* I changed the setup for display fillers, agate fillers and banner images
to scan for color in the EPS files.
* I changed the pagination formula to reload the folios and reinitialize its
formula variables each time you enter. It used to reload them only when you
changed the product or edition and would not pick up the changes when you
copied a work area with the same product and edition into your area.
* I added a -fast option to the loadtape.sh script to skip the step that
runs inscrall.sh on all of the work areas. This option is safe as long
as the formats for databases in the work files remain the same and saves
rebuilding about 250 work areas. Most sites will have only a fraction of
that number of work areas.
* I added the user name to the ClassPag slug line.
NOTE: This version has 5457 lines of changes from the previous version,
not including some scripts only in the new version.
12/8/98
Versions 1.108 to 1.113:
ClassPag has a new "Scatter Fillers in Column" configuration parameter
to place fillers higher on the page. ClassPag normally places fillers
at the bottom of columns. If you enable this parameter, ClassPag scans
up the column and places fillers above classification headers.
It tries to avoid placing two fillers directly on top of each other or
placing fillers at the bottoms of adjacent columns.
If a square-off banner has multiple versions of the banner for the same width,
you can now change the version by unplacing the one that ClassPag positioned
and pasting in a different one. The previous version of ClassPag only
recognized one version of each width, and you had to make sure that only
one version of each size had the "Active" field set to "Y" or else if you
placed a banner with the mouse, ClassPag might still place its banner, and
the square-off would end up with two banners.
In Setup->Banners, you can use the Enable and Disable Square-Off hot keys on
type "P" (Primary) and "B" (Bottom) banners in addition to type
"R" (Square-off Request) banners.
In Setup->Banners, the banner images window now has a Toggle Active Flag
hot key to change the value of the "Active" flag.
A problem with square-offs should be fixed where a service directory on the
left side of the page would sometimes not pack well.
You can now set different colors for conflicts to differentiate missing-eps
conflict, badly-sized-eps conflicts, zone conflicts, color conflicts and
classification conflicts.
In Setup->SetAdColors, you can assign the new context values
EPSCONF for missing-eps conflicts,
SIZECONF for badly-sized-eps conflicts,
ZONECONF for zone conflicts, and
COLORCONF for color conflicts.
If you do not have entries set, the colors default to the values for the
CONFLICT context, which includes all other conflicts including classification
conflicts.
On the page preview display, the ad status area on the upper right of the
screen now shows the current ad number and its size. It used to show just
the ad number.
On the page preview display, ClassPag can switch to a smaller font to fit
more information into the ad boxes.
The setup script is smarter about setting a font size if the WebTermX
command line does not specify a value for XFontSize.
The page preview display now shows the colors each page next to the page
number. The display shows the first letter of the color name.
The display shows both the colors allowed on the page and the colors of
the ads placed on the page. If an ad has a color that is not allowed on
the page, the color shows in reverse. The "Page Information" window
shows a slash (/) before color names allowed on a page but not used by
any ads and a star (*) before color names used by ads but not allowed on
the page.
ClassPag has new "Show Requested Colors", "Show Colors of Placed Ads" and
"Invert if Conflict" configuration parameters to control the color status
area next to the page number. You can change the defaults to show only the
allowed colors or only the colors of ads you have placed.
You can also set whether you want to show colors that are used on a page
but not allowed in reverse video.
When you change the allowed colors from the page preview window using
Cmd->Pages...->ModifyTheColor, the "Colors" form no longer switches to the
status window and the changes happen immediately instead of waiting until
you repaginate.
ClassPag has a new "Interface has .idx files" configuration parameter
to copy idx files from interface directories for sites that place
pre-built databases in their import areas.
ClassPag has a new "Sort File Pts/Inch" configuration parameter for reading
interface files that use a measure different from the 7227 centi-points per
inch value that AdMax uses.
ClassPag has a new "Width of Ad Borders in Pixels" and "Width of Page Borders
in Pixels" configuration parameters to set the number of pixels to draw the
borders around ads and pages. You can decrease the width for a more "precise"
look.
ClassPag has a new "Minimum Drag Distance in Pixels" configuration parameter
to control the number of pixels that you must move the mouse over an ad with
the button down before ClassPag starts moving the ad. If you have problems
with accidentally moving ads when you only want to click on them, you can
increase this value to allow yourself to jiggle the mouse during clicks.
ClassPag has a new "Check for New Mail" configuration parameter to control
whether it should check for mail when you run commands. If you print using
unix print queues (as opposed to using ftp or nfs to copy files to a spool
folder on a RIP), the unix queue manager will send email when print jobs fail.
If you enable this option, ClassPag will open a dialog box when it sees that
you have new mail.
ClassPag has new configuration parameters to set additional bottom and left
adjustments for inverted pages when printing inverted tab spreads.
In Setup for Printer Names, Paper Sizes and Spreads, you now get a chance
to change the printer, paper or spread name if you try to create a new entry
and the name you selected already exists. This makes it easier to add new
entries.
In Setup for Printer Names, ClassPag has a new hot key to copy entries for
one node name to another node name. This makes it easier to setup ClassPag
on a new system.
2/3/99
Version 1.115:
EPS output now works (including a tiff preview)
This should help papers that need to import slop pages into Quark.
Classification reordering
You can now reorder classifications during a pagination session by
selecting Command->Ads->PositionAfter (or PositionBefore) and then
dragging the classification header.
You can now edit the classification database during a pagination session
with Command->Ads->ModifyClassifications.
Parameters to set limits on the maximum and minimum scaling for EPS files
This can prevent ClassPag from messing up bitmaps by attempting to rescale
an ad that is just slightly too small or large.
Parameters to set minimum depth limits of segmented ads
You can now set the minimum amount in the first and last columns plus an
alternate minimum amount for the last column when it is on a different page.
Segmented ad justification
ClassPag has new ad modifiers to indicate which segments end with hard breaks.
ClassPag has a configuration option to add leading between segments that
adds the most space between ads, less space after segments with hard breaks,
and still less space after other segments.
ClassPag has a configuration option to stretch columns of segmented ads if
it can not place leading between any segments.
ClassPag has a configuration option to place cut rules at the bottoms of
columns even if the columns ends in the middle of a segmented ad.
Level first page now works
The configuration option to square off the first page now works for both
back-to-front and front-to-back pagination. In addition, you can now
square off the last page (for a slop page at the end) or
all pages (to distribute the ads over all of the pages).
Layout requests
ClassPag now supports two-letter Layout position requests from AdMax:
BP, TP, CT, IP, OP, LS, RS, TL, TR, BL, BR, MP, MC and PH.
It treats CT (Cartouche) as TP, PH (Position Header) as TR, and does not
center ads on half-columns with MP or MC, but otherwise handles the requests.
IP (outside position), OP (inside position) and MP (middle position) are
new requests. The ClassPag internals would support additional requests like
outside top if AdMax would have a way to pass them. (While we were there,
IBD had a make-good with an ad that requested an outside top position
because they could enter the request only as outside or top but not as both
at once.)
Multi-column classification headers
ClassPag now supports multi-column class headers. When it needs to place a
class header over an ad, it will try to place a header with the same width
of the ad. Otherwise, it will revert to repeating one-column class headers
as before. ClassPag supports several class headers per classification,
but AdMax can currently send only one.
Banners image segments with variable EPS names
A banner image segment can now have the type "F" which means that the
text is an expression that should produce a file name.
This allows ClassPag to pick up items like crossword puzzles that are
saved ahead of time with a file name that depends on the run date, for
example, as "/comics/nyt-01-23". This might help Escondido with the
puzzles and comics on their classified pages, but they would need to
scan those items in more carefully.
Banner page numbers
The new CPagGetIncBookName and CPagGetIncBookPage formulas allow composition
formats to compose a page number different from the page number of the
banner. This allows you to make jump blocks.
The formulas expect the banner name in "v10" and the page offset in "v11".
The page offset may be negative. Escondido and Longmont both want to use
jump blocks.
Banner text copying
From the banner text window, you can now copy a banner text entry from any
other one in the system. This makes it easier to start a new banner.
Filler positioning
ClassPag does a better job of rotating agate fillers.
Zero size ad warning
ClassPag has a configuration option to show a popup if any ads have a zero
size. With AdMax at IBD, it indicates an incorrectly entered ad.
Rebuild class areas popup
ClassPag has a configuration option to rebuild the classification areas
without asking after applying a saved classification setup. This eliminates
an popup message.
OPI filters on printers
The printer database can now run the output PostScript file through a filter.
At Escondido, the filter runs the OPI includer so ghostscript previews can
show the high res versions of ads.
Unflow popup on delete key
When you press the delete key in the page preview, ClassPag now unpositions
the ad without asking if you want to unflow the line ads.
4/10/99
Version 1.133:
1)
For IBD, the "Position Before" and "Position After" position modifiers now
work on newswire (i.e. segmented) ads. They change the sort key of all of
the parts of the ad. Also, they create sort key either larger or smaller
than the target ad instead of always copying its sort key.
I increased the length of the agate ad sort key field from 4 characters to 8.
This requires rebuilding all of the agate ad databases in all work areas.
The "loadtape.sh" ClassPag script to install the update should do this
automatically. In addition, the "runcpag.sh" script will double check each
time it runs.
The second line of the ad status area at the upper right of the page
display window now shows the sort key of the current ad if there is room.
When ClassPag changes the sort key, it tries to make a new key with the
format <4 character new key> + "/" + <first 3 characters of original key>.
When you move an ad, if ClassPag will try to build a new key starting with
the saved original values. This lets you move ads back and forth without
losing complete track of the original keys.
If you move a segmented ad and the classification has a non-zero look-ahead,
ClassPag will prompt you if it should change the value to 0. If you leave
the look-ahead enabled for the class, changes to the sort key will probably
have no effect.
2)
For Waterloo (and other sites that will enter legal ads in ClassPag),
the sort file header has two additional fields with the merged date and
edition. My program to merge sort files enters header information from
the secondary sort file into these fields. The "mapclass" formula for
legal ad entry checks these fields to tell the difference between a fresh
sort file and a sort file with legal ads merged in.
I8 merge run dt 62-69 DDMMYYYY, run date of merged sort file (or empty)
I10 merge eds 70-79 five two-digit edition codes of merged sort file
Also, on the legal ad entry form in the "mapclass" formula, type 8 is a
class header with an external EPS file and type 9 is a class header with
internal text.
3)
For TMM (and other sites that want to place multi-column class headers
but have a front-end that does not support them), the Position->AddHeaders
command looks for a banner or display filler with
<the name of the classification> + "-" + <the width of the ad>.
The width may be one or two digits; ClassPag will try with and without a
leading 0 if the width is less than 10. The screen shot below shows an
example header for class "9810". I used type "P" (for Primary),
entered the class in the "Class" field (although nothing checks it for now),
and set the "Default Count" to "0" so ClassPag does not try to place it.
________________________[ SCS Classified Pagination ]_________________________
| _________________[ Banners ]_________________ _____[ Banner Images ]_____ |
| | Number Class Type Description || Name WdXDep Pos | |
| |_____________________________________________||___________________________| |
| | Book3Index 0983 P Book 3 Index ^| 03 3x2.54 Top | |
| | gallo15 0986 P 15 aniversario #| *2 2x2.54 Top | |
| | Remates 0988 R Remates y licitaci|| | |
| | Interi 0989 R Interior del Pais || | |
| ____________________________[ Banner Ad Setup ]____________________________=|
| | ||
| | Banner Number 9810______ ||
| | Type P P-Primary (Page Top) B-Base (Page Bot) R-Request Page||
| | S-Secondary (Service Directory) W-Wide (A Head) ||
| | Description 9810 header___________________ ||
| | Class 9810__ Request Name ____ Include Liners N Displays N ||
| | Default Image ID 2____________ Edition __ ||
| | Default Count __0 Page Number ____ From F Col Number __ Ord M ||
| | Position F F-First, E-Every, A-Anywhere once, L-Last Spacer N ||
| | Overflow F S-Split next page, F-Full next page ||
| | Split Overflow H H-Horizontally, V-Vertically ||
| | Overflow Position L F-First, L-Last ||
| | ||
| |___________________________________________________________________________||
|______________________________________________________________________________|
4)
For High Point, I fixed a bug where print all pages tiled would print an
extra copy of the last page.
5)
For High Point, I fixed a bug where paginating back to front would sometimes
start a segmented ad when there was not enough room left at the top of a
column to satisfy the minimum length specified in the configuration file.
6)
For Escondido, I fixed (for the last time, I hope) a bug in the square-off
calculations that would make their square-offs with borders fail of the
square-off was on the leftmost edge of page 1.
7)
For Clarin, I reorganized the sort file format to make room for a color
field for line ads and class headers.
Sort file records that could contain a target ad now have a 10 character
field instead of a 6 character field.
A10 Target 108-117 TargetAd
Most sort file lines can have a two-character color code.
Use C, M, Y, CM and MY for various permutations of Cyan, Magenta
and Yellow and FL for process color.
This is the only way to specify color for internal ads.
For ads with external EPS files, the values stored within Document Structuring
Comments takes precedence.
A2 118-119 ColorCode
The special ad number of "*TEXTHDR*" defines class header records with a field
layout similar to that for line ads. If a class header contains color or
other information that does not exist in the standard class header record
formats, send a group header record first to define the classification and
then send a "*TEXTHDR*" record to define the text of the header itself.
8)
For Clarin, the "Column Header Style" of "COPYALL" places "COPY" class headers
at the top of every column, even if the copy header would be directly above the
normal header for its class.
5/99
New features through version 1.149
* Improved the color separation code.
It should now support pages with both color line ads created by SCS
Composition and color display ads that use Level 2 PostScript.
Doing color separation on the RIP instead of in software is always
more efficient and produces better results. Can we try this?
* Added a PostScript debugging option to the page output.
The option displays each ad number in a scrolling window as you view
a page to make it easier to locate ads with bad eps files.
* Created unix print queues for the Lexmark and HP 8100 printers.
I also moved the queues from the system disk to the user disk
which is much larger.
* Increased the length of classification names from 6 to 8 characters.
This required changing the structure of 33 databases, 14 report
files, and a number of windows. I also changed the interface
program to support the longer names.
* Added a second extension to try when copying product information.
This allows the copy to work with both upper and lower case dump
file names, although I would prefer the dump files in lower case
as 'clasifld.txt' and 'clasifsu.txt'.
* Added a 'revisando clasificaciones' message during the import step
when ClassPag checks that the classification database is consistent.
* Added separate site definable colors for ads in the wrong column and
for ads in the wrong page for their classification.
This should make it easier to place the display ads correctly.
* Added more information to the pagination statistics report.
It now shows the node and more ad totals.
* Changed the colors of the window for the interface program.
Instead of black on white, it is now black, blue and red on gray.
* Changed the 'Paginating...' message when ClassPag is loading ads at
the start of a pagination session to 'Loading ads...'.
* Added the 'Multi-paginate' command into the horizontal menu on the
pagination statistics screen.
* Removed a dialog message when ClassPag creates folios for the first
time in a new work area.
* Changed the import procedure so it stores the import information
the first time in a new work area.
* Translated the text in the Box, Page and News Information windows
to Spanish.
* Changed the ClassPag login script to change the interrupt from
Delete to Control-C.
* Added better warning messages to the Clarin interface program that reads
the dump files.
It now shows the line from the dump and sometimes an arrow pointing to
the position of the error in the line.
* Changed the Clarin interface program to use the four-letter classification
name abbreviations in the dump file.
It prints a warning if two classifications in the same rubro above the
same abbreviation.
* Added a 'lineanull' format to the SCS composition formats database.
I had been using format called 'linea' which added some extra
leading to each add. The lineanull format is empty.
* Improved the positioning of display ads to avoid placing them before
the line ads for their classification.
* Fixed a test with the positioning of segmented ads.
If a segmented ad was 4 cm and the configuration parameters for the
smallest first and last parts were 2 cm and a column had 5 cm, ClassPag
would leave the column open. It now places 2 cm of the ad in the column
and another 2 cm in the next column.
* Fixed an error message in the fixlogos.sh conversion script run
during the interface step if there are no new logos to convert.
* Added a check to avoid placing TIFF, JPEG and GIF files in the page output.
* I added a configuration parameter to set the maximum height of a stack
of display ads. This ensures that ClassPag leaves enough room to place
class headers at the tops of columns.
* I made the display ad positioning smarter so ClassPag should leave
enough room above the first column of the classification for the
class header and at least one line ad.
* I improved the display ad dummying. When ClassPag dummies display ads,
it now checks the amount of line ads in the classification. If the
classification has enough line ads to fill the page, ClassPag will
try to obey the requested pyramid style for the page.
* I added an option to force the line ad look-ahead to preserve the
position of the last ad in each classification. The last ad in each
classification has a thicker rule than the other ads. I had to disable
the line ad column optimization when you were here for training in order
to keep the ad with the thicker rule last. With this change, I can enable
the line ad column optimization which will allow ClassPag to pack the
columns better.
* I added a configuration option to run the interface procedures
automatically (which suppresses the dialog about running mapclass.sh)
and another option to run the read procedure automatically (which
eliminates the need to select the option "Leer texto de avisos").
* I extended the "Position Before" and "Position After" ad dragging
commands so they can change the ad type and classification.
This makes it easier to place a one-column display ad between a class header
and the first line ad. I also added configuration parameters to disable
the ability to change the ad type or classification.
* I added a numeric auto-save configuration parameter. The value is the
number of ad positioning commands between saves. ClassPag keeps a counter
of the number of ads you move and whenever the number reaches the auto-save
value, ClassPag writes the position of every ad to its ad position database.
* I added a posting directory option for printing pages. On any ClassPag
printer, you can have ClassPag post the pages to a posting directory
for that printer plus a subdirectory based on the date and edition
information plus a file name with the page number. This is the first half
of the procedure to split an edition among several people. I am still need
to write the procedures to pair and print pages from the posting directory.
* I removed the borders from the page display. This makes the pages about
ten percent larger.
* I fixed a problem with line ad formatting where fractions used the
"section" character (a curly "S" with a circle in the middle) instead
of a slash. The FranklinGothic fonts that you sent had a non-standard
encoding of the slash character, but I found a work-around for it.
* I made the Clarin interface procedures copy the date of the text from
the <FR0> line. This will allow ClassPag to display a warning if
someone imports an old dump file.
* I wrote a program to generate SCS Composition font metrics from AFM files
to replace the Mac Font Creator program.
* I added an option in the "View Ad Directories" window to preview a PS font.
* Improved the procedures for making a ClassPag distribution kit
to avoid including new files for Clarin test data.
* Show the dates of the clasifld.txt files in the import copy window.
* Translated the ad importing count-down window into Spanish.
* Added a command to flow the next classification.
* The command to pair and print posted EPS pages no longer prompts for a
posting directory if there is only one.
* Added horizontal cut rules between display ads.
* Translated the status window to rescan ads into Spanish and
added color text.
* Improved the ad spacing.
The test to fill the bottom column included space for the
column header, even though the column headers are needed only at
the top of the page. This created extra space in some columns.
* The Change Ad Type command no longer locks the page when
you convert a line ad to a display ad.
* The window that shows ads with missing or incorrectly sized
EPS images now includes the page number of the ad.
This makes it easier to locate the ads.
* Created an option to select only pages with no missing ads.
This makes it easier to locate and print just the complete pages.
* Added a configuration parameter to prevent moving parts of segmented ads.
This should prevent users from scrambling the parts.
* Improved line ad conflict checking.
If you drag a line ad out of its classification, it now shows as a conflict.
* Changed the "sort file has dump date" configuration parameter from Y to N.
This makes ClassPag do more checking if you enter
a run date different from the date of the dump files.
* Changed the setup script to add the node name to the prompt.
This makes it less confusing if you have windows open from
more than one server at once.
* Locking by columns.
I added commands to save, lock and free columns by either the column of
the current ad or by a range of columns. "Saved" columns remember their
ads but allow new ads to flow into them. "Locked" columns do not allow
any additional ads.
* Freeing ads by classification.
I added commands to free all ads from the classification of the current
ad to the front or back of the paper.
* Dividing columns.
I added a command to equalize the ads on a range of columns.
* Procedures to create a classification square-off.
a) Create a column-save-lock on the range of columns you wish to square-off.
b) Use the free-by-classification command to free any ads from the next
rubro in the last column.
c) Use the divide-column command to square-off the end of the ads.
d) Position a display ad or filler under the squared-off line ads.
e) Reflow.
* Pagination by classification.
I added a command to select the next unselected classification.
This makes it easier to paginate by classification.
* Queued classifications.
When you paginate by classification, is it too easy to select a
classification from another session by mistake.
I added the ability to make classifications as "queued".
ClassPag does not flow ads in queued classifications.
I added a command to select the next queued classification.
* Safe procedures to paginate by classification.
a) Mark the classifications that you wish to paginate as "queued".
b) Unselect all of the other classifications.
c) Use the select-next-queued-classification command repeatedly until
it no longer finds additional queued classifications.
* Improved control over leading.
ClassPag used to have a fixed amount of leading based on the ad type.
I added support for setting leading between different types of ads.
You can now specify the leading between combinations of column headers,
classification headers, line ads and display ads.
This allows you to set 5.6 points of leading from column headers to class
headers but only 2 points of leading between two class headers.
* Added a default spread leading value.
The leading between line ads must be 0 for Clarin because Pablo builds
all of the leading into the EPS of the line ads when he adds the cut-rules.
ClassPag can not add the cut-rules automatically because they do not all
have the same width rules. With a leading of 0, nothing will happen if you
try increasing the leading percentage in order to increase the size of the
edition. ClassPag uses the new default leading value when you increase the
leading more than 100%.
* Posting classification pages.
I added a procedure to enter the classification page ranges to a shared
database in the same directory as the shared EPS page posting directory.
I also added a configuration parameter that tells ClassPag that when it
makes the index, it should read page numbers from the shared database
instead of the one in the current work area.
* New method for creating complicated classification indices.
I wrote a procedure to generate the Clarin real estate index.
The new method allows you to create an index with page numbers for each
classification with only a minimal amount of SCS Composition code.
An "Index Style" database contains Composition templates.
An "Index Line" database has an entry for each line of the index with a
classification and an index style.
The "Banner Text" database contains a set of index lines for a banner ad.
ClassPag treats the index as a "banner" ad.
Banner ads are now have the structure
Banner ->
Banner Image ->
Banner Text ->
Index Line
I made a Banner element called "Indice".
"Indice" has a Banner Image called "a8".
"a8" has three Banner Text entries, "1", "2" and "3".
"1" places the tapainmu.eps file with the fixed part of the heading and map.
"2" contains expression interpreter code that calculates the EPS for the
date in the header.
"3" contains a list of Index Lines.
The Index Lines contain the rules to draw each class name and page number.
Each line of the index has a "titlepage" entry to generate the class name
and first page number, a "page" entry to generate the second page number,
a "firstpage" entry to generate the third page number, and a "page" entry
to generate the fourth page number.
There are also entries for inserting the eps headings and the spaces when
the first letter changes.
The Clarin index requires several thousand "Index Line" entries.
I wrote a "Load barrios file" command in the Index Line F12 command window
that creates the entries from a dump that Pablo made called "tablabar.txt".
The "Index Styles" database contains expressions that convert "Index Line"
entries into sequences of composition codes.
* Procedures to create the index.
a) Each session must run Misc -> Post Class Results
to publish their pages in the posting area.
b) The session with the index must run
Misc -> Edit Banner Text -> F12 -> Recompose All Ads
to generate the EPS of the index in their work area.
* Banner debugging option.
I added a debugging option to view the composition codes generated by the
banner expressions and the composition output. This makes it easier to
locate problems in the rules to generate the index.
* Faster selection of tab pages to print.
When you exit the window to select the pages to print from the posting
directory, if you have selected only one page of a pair, ClassPag will
ask if you want to select the other page also.
* Color comments for line ads.
I changed the ClassPag PostScript output to include colors used by line
ads in the color list in the PostScript Document Structuring Comments.
* Color information in posted pages.
ClassPag now reads and writes PostScript Document Structuring Comments for
color usage when you print pages from the posting directory. This provides
ClassPag with the information it needs to do software color separations.
* Reformatted the configuration screens.
I reformatted the screens of the product configuration databases so all of
the headings have the same format. This makes it easier to find the
different screens.
* Configuring a Harlequin RIP for registration marks.
On the RIP, I copied the "cropmarks" file from the
"C:\ECRM RIP 4.5\SW\Page Features\Examples" directory into the
"C:\ECRM RIP 4.5\SW" directory. Then for each of the page setups for
ClassPag, I checked the "features" box in the lower left, and then opened
the "Additional Features" drop-down list and selected "crop marks".
* Resize ads with the mouse.
I made a command to resize ads with the mouse, but it is tricky to use.
* Manual placement of top-level class headers.
I created a command to place top-level class headers manually.
This will let you place rubro headers for rubros with no line ads.
* Improved the modem setup script.
I improved the setmodem.sh script to recognize the higher baud rates on
SCO Unix v5.0.5. I also changed the script to avoid opening a port that
another process has open. This makes it less likely that it will break
the Sentinel mirror if you give aim it at the Sentinel port instead of the
modem port.
7/8/99
New features for version 1.151:
* New "Combine Cut Rules" configuration parameter to generate solid
horizontal cut rules between multi-column ads instead of drawing a
separate rule for each column. This was requested by the Clarin
(and I think by some other sites also).
* New "Warn if external" configuration parameters for class headers and
line ads to generate a warning during imports on external class headers
and line ads and a new "Warn if internal" configuration parameter for
display ads to generate a warning during imports on internal display ads.
These warnings can indicate problems with the dump files.
Munster requested this to help locate problems in their VisionData dumps.
* Ability to scale line ads and display ads. You can use this to reduce
the page count if you must make all of the ads fit and you can not reduce
the leading any further. The configuration screens for line ads and display
ads have new fields to set the default, minimum and maximum scale percentages.
The pagination setup screen, which I renamed from "Main Menu" to "Edition
Parameters", now contains fields to set the scale percentage for line and
display ads. It does not let you enter values outside the range specified
in the configuration database. The initial percentage fields on the right
are read-only and show the default percentage from the configuration database.
ClassPag currently does not scale class headers or banners (to keep bitmapped
graphics from getting strange effects). It also does not scale fillers
(since they have no effect on the page count). This was requested by
the Clarin.
I also changed this screen so it is in EDIT mode instead of ENTRY mode
which allows you to use the arrow keys.
+-----------------[ SCS Classified Pagination Version 1.151 ]------------------+
| +-----------[ Current Product ]------------+ +--------[ Today is ]---------+ |
| | Clarin (Buenos Aires) | | Wednesday | |
| | Saturday, May 15, 1999 | | July 7, 1999 | |
| | | |william/clarin-26may99/mip486| |
| +------------------------------------------+ +-----------------------------+ |
| +--------------------------[ Edition Parameters ]--------------------------* |
| | Run Date 05/15/1999 Sort File Date 05/15/1999 _1 _0 | |
| | End Date 05/15/1999 Cardex Date __________ _0 _0 | |
| | | |
| | Classified Section __________ Class Setup _______________ | |
| | Edition __ | |
| | Zone __ | |
| | | |
| | First Page __1 Last Page _90 | |
| | | |
| | Leading Percentage 100 Initial Percentage 100 | |
| | Agate Scale Percentage 100 Initial Percentage 100 | |
| |Display Scale Percentage 100 Initial Percentage 100 | |
| | Pagination Direction FRONTTOBACK Import Direction FRONTTOBACK | |
| | +[ Ctrl+F,1 ]+ | |
| | Color Page Info? _ Specify Page Names? _ | Accept | | |
| | Restriction Info? _ Page Reservation Info? _ +------------+ | |
+-+--------------------------------------------------------------------------+-+
* New "Center horizontally" and "Center vertically" configuration parameters
to control the positioning of EPS images that do not match their space
reservations. These fields only have an effect if the EPS image does not
match the reservation and other configuration parameters prevent ClassPag
from shrinking or expanding the EPS image as required. By default, ClassPag
aligns ad images at the upper left of their reservations. Portland requested
this in order to center display ads vertically in columns.
* New "Add Font Comments" paper option to generate PostScript Document
Structuring Comments that list all of the fonts listed in comments by
EPS files on the page. ClassPag reads fonts comments at both the top and
bottom of EPS files, but writes all of its font comments at the top
for the benefit of programs that do not read comments at the end.
Gathering the font list requires opening all of the EPS files on the page
an extra time, so this option adds a few seconds to the time to print each
page, and you should use it only when required, which is probably only
when creating EPS files at sites that do not keep all of their fonts on
their RIP. Times Mirror will need this option to print ClassPag EPS files
from Quark.
* New "PS run OK" printer option to mark printers that accept the
PostScript "run" command. The "run" command is like a source level file
include. ClassPag uses it when you set the paper "PS Type" field to "FPS".
Pages made this way come up much faster in ghostview but will not print.
ClassPag now knows that they will not print and does not display a "Print"
option when you view them unless you have set the "PS run OK" flag for the
printer. You should only need this if the print queue sends the page to
ghostscript to create a PDF or a bitmapped image.
* New "Add PS Comments" spread option to add PostScript debug print lines
before each ad. ghostview shows the debug lines in a scrolling text window.
This can help locate ads with bad EPS.
* I fixed the default color separation prolog (when you use "T" or "YES"
in the paper database "Create Separations" field) to work better with
SCS Composition and to handle the "sethsbcolor" operator.
For SCS Composition, I changed the prolog to use sequences like "bind def"
directly instead of using user-defined operators like "B" to avoid conflicts
with the SCS Composition prolog.
The "sethsbcolor" change fixes a problem where the separation code would
drop out colors set through the "sethsbcolor" operator.
* The print command in the printer database can now contain an expression,
and the second line of the command is now a blob to allow longer printer
command lines. If the first character of the print command is a quote,
ClassPag runs the command through the expression interpreter with the same
variables available as for folios. For example, the print command
"pstoepsf.sh -pnmraw -rev -keep cpag" // RunDate // "-E" //
EditionId // "-Z" // ZoneId // "-" // BookName // BookPageNumber // ".epsf"
creates an eps file with the rundate, edition number, zone number, section
and page number in the file name. Longmont requested this for better
control over the EPS files for partial pages that they send to GoodNews.
* The banner setup now checks for banners without default banner images.
ClassPag ignores some types of banners when they do not have default images,
and this warning should make it easier to track down bad banners.
* The display filler and line filler setup windows now have a hotkey to
cross-check that there are no display fillers and line fillers with the
same name. If you position a display filler on a page and if you have
a line filler with the same ad number, ClassPag can confuse the two fillers,
and if it thinks that a page has a locked line filler, it thinks that you
locked the line ads on the page. This should make it easier to track down
the duplicate fillers.
* The formula to rebuild the banners now shows the names of the banners
as it builds them. Since the rebuild can sometimes take close to a minute,
this gives you something to watch and lets you see that it is working.
* The ClassPag import now prints a warning on empty cardex files.
Other items:
* Most (probably all sites) will need a new version of the "spice" executable.
A version from the "spicedvl" mace area on or after June 23 should work.
The one in /mip486/u/scs/tools/bin/spice should be OK.
I had to switch to a newer version of "compform", and as a result,
the version of "spice" in the standard distribution can no longer
read ClassPag formula files.
* I made a new "cpagh" kit with Jeff's indexed versions of the manuals.
7/10/99
New features for version 1.152:
* The minimum and maximum agate and display ad percentage now default to 100
instead of 1 and 999 when they are empty. This will prevent people from
accidentally scaling ads until they have set the scale limits in the
configuration database.
* ClassPag now supports 4 line cardex files made by Layout-8000 v7.5 and
higher (in addition to the older 3 line cardex format). ClassPag checks
the lines-per-record field in the cardex header so it should be able to
read future versions of the cardex as well. With a four line cardex,
ClassPag reads the position request from columns 17-20 of the fourth line.
ClassPag has supported the requests since Feb 99, but before this change,
it could only read them from the positiion request field of the sort file.
ClassPag accepts the requests BP (Bottom), TP (Top), CT (Cartouche),
IP (Inside Edge), OP (Outer Edge), LS (Left Side), RS (Right Side),
TL (Top Left), TR (Top Right), BL (Bottom Left), BR (Bottom Right),
MP (Middle), MC (Middle Center) and PH (Header), although it treats
CT (Cartouche) as TP, PH (Position Header) as TR, and does not center
ads on half-columns with MP or MC.
* ClassPag handles left and right side requests better. The dummying routines
would sometimes mirror the page if that would improve the dummying style.
For example, they could mirror a page with pyramid right style but a single
ad that requested the left side. The dummying routines no longer mirror
pages that have ads with left or right side requests.
* ClassPag handles middle requests and inner and outer edge requests better.
All of the dummying routines now support these requests.
* The loaddb.sh script (which rebuilds the database after installing a
new version of ClassPag) and the update.sh script (which rebuilds a single
database from a transaction file) run the "update" program in single user
mode. This makes them run about twice as fast.
* The "mapclass" formula used by sites that send dump files in text now
opens its work databases in single user mode. This should make it run
a little faster.
* The classification scan that updates the area of ads in each classification
now shows messages before each step instead of a single "Scanning
Classifications..." message.
* The ImportAds->ReadClassPagFiles command that builds work databases from
the sort and eps interface files now opens the work files in single user mode.
(This change is in the previous version but not documented.) This makes it
run about 30% faster under unix. Under NT, this reduces the time from several
minutes to a few seconds, about a 100 times improvement, and brings the time
closer to the time on unix.
* The maintenance scripts update.sh and updprod.sh now both unload the
database before doing anything and save several versions of transactions.
This makes it easier to recover from problems.
7/16/99
Version 1.153:
* The "Combine Cut Rules" configuration parameter no longer combines
horizontal cut rules below line ads. To combine them, you must also
set the new "Under Agates" configuration parameter.
* ClassPag has new commands in the position list to move segmented ads as
a unit. The segmented ads may be more than one column, but the commands
require that the ads fit entirely on a page.
The Command->Columns... window has three new options.
"Lock ad in column" keeps the current ad from unflowing and keeps other ads
from flowing into its columns.
"Save ad in column" keeps the current ad from unflowing but allows other ads
to flow into its columns.
"Free ad in columns" clears the "lock" or "save" flag for the current ad and
allows it to unflow.
The Command->Position... windows has a new option.
"Position all segments" tells ClassPag that the next drag should move all of
the segments, not just the one that you drag.
To move a segmented ad, you must
click on any segment and then select "Command->Columns...->Save ad in column"
to keep the ad from unflowing, then
click on "Command->Position..." and then one of the four options
"Position next on top", "Position next on bot", "Position at top edge" or
"Position at bot edge" (depending on where you want to place the ad), and then
click on "Command->Position...->Position all segments", and then
drag any segment of the ad to the column where you want to place it.
The two position-on-top commands flow the ad forward from the column you
select, while the two position-on-bottom commands flow the ad backwards.
* When ClassPag flows segmented ads, it knows not to flow ads around other
ads that you have placed manually. For example, if you place a segmented that
takes half of column 2, ClassPag will avoid flowing a multi-column ad from
column 1 through columns 2 and 3.
* The legal and segmented ad configuration screen has the new fields
"Max Normal Leading" and "Max Paragraph Leading" to control the amount
of space between segments when the "Add Leading Between Segs" configuration
parameter is enabled. When ClassPag adds space between segments in order
to justify a column, it will not separate normal segments by more than the
"Max Normal Leading" and paragraph break segments by more than the
"Max Paragraph Leading". The values for these fields should be a few points,
and the paragraph limit should be at least the normal limit.
These parameters allow ClassPag to justify almost complete columns of
segmented ads without excessively stretching partial columns.
* ClassPag could sometimes make the final column of the last segmented ad
in a classification too small.
* The Command->Columns... commands that require ranges now allow you to
make the first and last column of the range the same.
* When rebuilding banners, the banner names show at the bottom of the screen
so dialog windows do not cover them.
* The spread database has a new "Pair as Tab Spreads" value of "ROTPAIR"
that works like "INVPAIR" except that it inverts spreads where the even
numbered page is smaller (while "INVPAIR" inverts spreads where the odd
numbered page is smaller).
* ClassPag no longer removes the ends of line ads if you have clipping
regions enabled for internal ads and then set "Agate Scale Percentage"
edition parameter field to a value under 100%.
* The WindowsNT version now stamps a DEMO message on output pages.
* The wtxcpag.bat script starts WindowsNT ClassPag with WebTermX.
7/22/99
Changes in version 1.155:
* The interface program accepts the new command COLHDR for setting the
text on the top-of-column headers and an extended version of the MARCA
command for setting the text of the brand-name headers in the auto
section. The Clarin dumps now have full control over the formatting of
all of the headers, either by sending the text or naming an EPS file.
* ClassPag should now place class headers over all columns of display ads.
It would sometimes place a header only over the first column.
* ClassPag should now be smarter about not placing display ads before line
ads. It did not account for the height of the top-of-column class header
when calculating how much room it needed to leave free for line ads before
placing display ads.
* ClassPag can now draw thicker vertical rules between ads and news areas
(marked by page reservations). ClassPag writes a thick rule if the
reservation has no name (which includes the ones that ClassPag creates
automatically) or has a name that starts with a space or a dash (-).
ClassPag has a new configuration field "Thickness if Touches News"/
"Grosor si toca noticias" to set the rule width on the screen
"Vertical Spacing Specifications"/"Especificaciones de Espaciado Vertical".
* ClassPag has new configuration parameters to search for EPS files in
upper case and lower case when it does not find a file with the original
name. This option causes ClassPag to do more work when importing dump
files and when printing pages, so you should only use it when necessary.
It might be useful at sites that copy EPS files from PCs, where some
versions of MSDOS and Windows create upper case names while others
create lower case names. The fields are
"Check for EPS files in lower case"/"Probar avisos en minusculos"
and "upper case"/"en mayusculos" on the screen
"Ad Import Restrictions"/"Restricciones de Importacion de Avisos".
ClassPag modifies only the file name and not the directory name.
* The procedure to print posted pages now supports the INVPAIR and ROTPAIR
options to print pages inverted. It used to ignore these options and
print all pages normal.
* When you print posted pages, ClassPag no longer opens the "last minute
check" window since the state of the pages in the current work area
has no effect on the posted EPS files.
* When the install script detects that copies of ClassPag are running,
the "Kill those sessions now: [y/n/c] > " questions has a new "c" reply
to continue without killing the other copies. This is useful for sites
with more than one ClassPag account (for example, /u/cpag for production
and /u/cpagtest for testing) when you need to install a new version in
one account without logging out the users in the other account.
* Fixed a compile error in the Spanish version of the statistics
history screen.
7/24/99
Changes in version 1.156:
* The interface program now accepts CHAPA lines (which have headings for
rubros in other books). The syntax is
</CHAPA/filename/K1/T#/adnumber>
For example, the line
</CHAPA/CHAPA05/K1/T50/CHAPA5-6>
creates a CHAPA block called "CHAPA5-6" using the EPS file
"/u/logo/CHAPA05.eps". If the EPS file is missing, the interface program
will write a text message. The interface ignores the width and height,
since the width must be 1 and the EPS file sets the height.
* If the configuration parameter "Can Shift Last Ad"/
"Poder Trasladar Aviso Ćltimo" is "N" and the last ad has a sort key
with at least three Z's, ClassPag will not shift the second-last ad
either. When the CHAPA header comes into ClassPag as a line ad for the
last classification in the previous rubro, this prevents ClassPag from
shifting the real last ad.
* The new configuration screen "Folios and Banners"/"Folios y Carteles"
has a field "Warn if banners not found during page number search"/
"Avisar si carteles faltan durante busqueda para nĆŗmeros de pĆ”ginas"
that can be set to "N" to suppress warnings about not finding page numbers
when you rebuild banners. This prevents lots of popup warnings if you
have many versions of jump blocks and rarely use them all.
* The final statistics screen after rebuilding banners is now in Spanish.
* I wrote formats for the jump banners. I called the banner entry "salto".
It has an image called "continue" with fixed text.
The other eight images form four pairs.
The first image of each pair has the name
"p" (for "pasa a") plus
"c" (for going from clasifieds) or "s" (for going from the supplement) plus
"pasa" (for a generic target), "diario" (for going to the main body),
"suplemento" (for going to the supplement).
The other image of each pair has an initial "v" (for "viene de") and then
the name of the matching image.
Each image shows the page number of its pair.
In order to update the page numbers, you must paginate (if the ads are
currently unflowed and you have moved a jump banner since the last time
you paginated) and then run Command -> Misc ... -> Edit Banner Text ->
F12 -> Rebuild All Ads for This Edition.
* ClassPag can now suppress up to two folios on each side of the page
depending on the presence of ads at the top of the column. This allows
you to define folios in the paginated area of the page that only cover
fillers or empty space but not ads. The folio text screen now has
two additional fields to set the first and last columns to scan.
The configuration screen "Page Numbers"/"NĆŗmeros de PĆ”ginas" has a new
field "Place before ads"/"Poner antes avisos" that you can set to "N"
to write the folios after the ads. This allows folios to cover ads.
The configuration screen "Folios and Banners"/"Folios y Carteles" has
six new fields "Folios can cover/Class Headers/Agate Ads/Display Ads/
Banners/Fillers/Leading"/"Folios pueden cubrir/Cabezales//Lineales/
"Destacados/Carteles/Rellenos/Interlineado" that specify the types
of ads that folios can overwrite.
* I wrote the folio formats for the new style folios. I saved them
in edition 2 so I did not have to delete the original folios.
I built the both the left and right folios as four parts:
the horizontal line with the page number and CLARIN*clasificados
inside rules, the vertical line with PAG in reverse that sits after
the page number in the first line,
the vertical line with the date inside rules, and
a template that inserts /u/clarinlogo/mun.eps.
I did not have the correct mun.eps so I used M0.eps, which is too large.
* When printing inverted pages, the configuration fields
"Adjustments for Inverted Pages"/"Adjustes para Paginas Invertidas"
now affect the registration marks in addition to the pages.
This prevents inverted pages from running into the registration marks.
7/28/99
Changes in version 1.157:
* Display ads can request pages and positions.
The CLSCD line has two additional fields for passing a page number
and a two-letter position request. The format is
</CLSCD/seq/adnumber/width/depth/sort/page/position>
For example,
</CLSCD/21/0TopLeft/K2/T150/TopLeft//TL>
</CLSCD/22/0TopRIght/K2/T150/TopRight//TR>
</CLSCD/23/0Bottom/K2/T150/Bottom//BP>
</CLSCD/24/0Page4/K2/T150/Page4/4A/>
</CLSCD/25/0Page5Left/K2/T150/Page5/5A/LS>
The page request can be up to four characters in the format specified
in the ClassPag interfacing guide. The format is an optional "-" (minus sign)
to request a page from the end, then digits for the page number,
then one of the optional modifiers "L" (for liner-level request relative to
the classification of the ad), "G" (for a group-level request relative to
the classification that contains the classification of the ad),
"R" (for a relative page number from the top-level classification) or
"A" (for an absolute page number). The configuration database has a field
for the default modifier.
The two-letter position requests below are the same as Layout-8000 v8.
BP = bottom
TP = top
IP = inside edge
OP = outside edge
LS = left side
RS = right side
TL = top left
TR = top right
BL = bottom left
BR = bottom right
MP = middle of page
* Classifications can request starting on a new page.
The CLSHD line has a new field to set the starting request.
The format is
</CLSHD/logo/class/left/right/startrequest>
The possible values are
T = start on the next page
E = start on the next even page
O = start on the next odd page
C = start at the top of the next column
F or empty = no request
For example, to start class 1510 on a new page, use
</CLSCAB/1510ALFA/1510/ALFA ROMEO>
</COLHDR/G1510/1510/AUTOMOTORES/15 VENTA>
<cf/FGBC/6.0/6.0/5.6><scs/el 0/cl 0/ql/bv/ql/ql/el 2.4>
...
</RUB15A23/R15A23X8/K08/T201.5/CABEZALAUTOS>
</CLSHD/G1510/1510/AUTOMOTORES/15 VENTA/T>
</MARCA/ALFA ROMEO/1510ALFA/1510>
<cf/FGBC/6.0/6.0/5.6>
...
</CLSAD/4654/03595827>...
* ClassPag has a new conflict type to detect display ads with invalid
size reservations. When ClassPag imports ads, it automatically limits
the ad widths and heights to a range that will fit on the paper.
When ClassPag fixes the size of an ad, it writes a line to the log file
of the current work area. In addition, ClassPag now shows the ad as
a conflict on the preview screen. The box information message and
the conflict report show the text "BAD_RES_SIZE"/"RES_TAMAĆO".
The "Set Ad Colors"/"Fijar Colores Avisos" configuration database
has a new "RESCONF" conflict type to set the color to show on the screen.
The color defaults to the color of the "SIZECONF" conflict type.
* The interface program now numbers the real estate classes differently.
It reserves classes 1 through 26 for zones and starts the first barrio
as class 31. Each barrio now has a class number 30 larger than before.
The renumbering requires rebuilding the index lines from a barrios file,
but otherwise should cause no incompatibilities. This change makes it
possible to write the starting page of each zone in the index.
* The interface program now makes better names for the real estate classes.
The top level window shows classes for just the 13 zones and calls them
"ZA" through "ZM". The next level under the zones has the different
categories, for example "ZAD1", "ZAC1", etc., and the next level has
the barrios, for example "ZAD1:B.NORTE", "ZAD1:RECOLETA", etc.
* ClassPag now supports multiple index styles for testing.
When you build an index from a barrio table file, ClassPag now asks
for a prefix for the style names. The prefix should be just one letter.
You should have index styles with the prefix plus "initial" (the first
style called), "initial1" (called to start the first group), "initial2"
(called to start the second group), "final" (the last style called),
"space" (called before the first letter changes), "titlepage" (called
to write the title and first page number), "page" (called to write the
second and fourth page numbers), and "firstpage" (called to write the
third page number).
* Index line expressions now have access to the variable "LastClassTitle"
which contains the title of the classification of the previous index line
record. Expressions can compare this value to the current class title
to detect when the first letter of the titles changes, for example to
write the first letter in bold.
* When you rebuild the index banner, ClassPag now shows a message for the
different phases of building the EPS file. Also, ClassPag generates
the index a little faster by caching information about the last class
name and page number.
* The window to view the index lines of a banner text element has a new
command to construct a barrio table file from the currently loaded classes.
Since most classes do not have ads every day, the index generated from
this file will have missing classes. This is only for testing the index
until Pablo can make a new version of the file.
* I made a new set of index styles with the prefix "b" for the new index.
I still need an EPS of the new map to finish positioning the zone page
numbers. Also, the map has room for only about 80 classifications on
each side, but there are about 200 barrios.
* The "Load"/"Cargar" command of the "View Ad Directories"/"Ver Avisos"
window now supports loading all of the EPS files in a directory as a
versions of a banner. This should make it easier to load groups of
page elements (like jump blocks). Before, you either had to load them
all as fillers or load them as banners one at a time.
* The "Remove"/"Eliminar" command of the "View Ad Directories"/"Ver Avisos"
window now allows you to delete directories of posted pages. It checks
that the directory is contained in one of the posting directories in the
printer database.
* When a class header is near the top of the page, ClassPag will now pull
the header to the top instead of floating it. On a page with a class header
above a display ad on the stack that grows from the top, ClassPag used to
float the header between the display ad and the top of the column.
It now places the header at the top of the column.
7/29/99
Changes in version 1.158:
* The configuration parameter "Repeat heading of parent class"/
"Repetir cab. de padre" on the screen "Classified Heading Specifications"/
"Especificaciones de Encabezados de Clasificaciones" has a new value "COL"
which means to copy only column headers from parent classifications to their
subclasifications. This eliminates the need to repeat the column headings
for every subclassification in the dump files. Pablo had problems repeating
the column header formats in classifications with only display ads.
"COL" differs from "COPY" by only taking headers marked as column headers.
"COPY" will take a normal header if the class does not have a column header.
In the sort file, the page request "COPY" marks a header as a column header.
* The interface program no longer generates column headers before <RUB> lines.
This should make the ordering of the class headers less restrictive.
* The interface program now writes headers only for classes without
letter modifiers. This reduces the size of the sort file by about 10%
and the size of the eps file by about 3%.
* The interface program stops parsing fields at a "<" (the character
that starts a command sequence) to limit the damage done by commands
that do not end correctly.
* The interface program allows all letters in the edition field of the
"FR" date line. It used to think that the date line was invalid and
default to the current date.
7/30/99
Changes in version 1.159:
* The "Side"/"Lado" field of the "Folio Text"/"Texto de folio" screen has
the new values "FINALEVEN" and "FINALODD" to mark templates that ClassPag
should place last on the page. This allows you to draw an EPS file over
the page or folios.
* The "Type"/"Tipo" field of the "Folio Text"/"Texto de folio" screen has
the new value "FILEEXPR". Items of the types "TEMPEVEN", "TEMPODD",
"FINALEVEN" and "FINALODD" can use the type "FILEEXPR" instead of "IMAGE"
to specify that the file name is an expression in the text part of the
entry instead of a fixed string in the "Image"/"ImƔgen" field.
ClassPag evaluates the expression for each page just before printing the
page. The expression has access to the same variables as expressions
in the print command (PageNumber (absolute page number), SectionName,
EditionId, EditionName, ZoneId, ZoneName, RunDate, EndingDate (all from the
parameters screen), StartDate, EndDate (both from the folio page screen),
BookName and BookPageNumber (both calculated from the secion size database)).
The expression can return an empty string to avoid writing a template.
For example, you can now set different templates depending on the
page number or section name.
* Folio templates (types "TEMPEVEN", "TEMPODD", "FINALEVEN" and "FINALODD")
now check the first and last column fields.
* The configuration database has a new field "Folio Depth"/"Largo de folios"
on the "Folios and Banners"/"Folios y Carteles" screen to set the maximum
depth to scan from the top of the page when checking whether a folio will
cover ads.
* Before the folio template changes, you could always have used a composition
PC command to include EPS blocks, but this requires ClassPag to make a copy
of the EPS in the folio database for each page. For example, the foliopag
database currently specifies creating folios for 100 pages and the folio.eps
file is about 150 KB. The Clarin logo is about 30 KB, so including it in
a format instead of naming it as a template would increase the size of the
folio.eps file by 100 X 30 KB or 3 MB, about 20 times its current size.
* The setup windows for the user and privilege databases is finished.
The privilege database defines profiles for restricting access to database.
The user database assigns profiles to users.
* When a column had only display ads, ClassPag would cover them with the
class header of the next class of line ads instead of the class of the
display ads.
* ClassPag would sometimes not account for the depth of the column header
when calculating how high it could stack display ads. The result would
be a column of display ads before the first column with line ads, and the
column of display ads would have almost enough space for the class header.
* When ClassPag floats display ads, it now tries to keep them below the
display ad flow depth specified in the configuration database.
* When ClassPag squeezed a page to force the placement of a column header,
it would sometimes not re-justify some of the columns on the left.
* When ClassPag generates PostScript output, it now calculates scale
factors as double precision real numbers instead of integers scaled by
1000. Using integers never cause a problem in for full-size output because
the value was exactly 1000. It did cause problems with proofs.
For example, 14 inches is 1008 points. ClassPag would position the ads
more accurately than the folios, so the position of the folios could be
off by half a point. This could make it confusing to place the folios
because their position could differ depending on whether you create
a full scale page or a letter-sized page. This should no longer happen.
Also, ClassPag now positions page elements in points with 6 decimal places
instead of 3.
* ClassPag no longer scales EPS images that are between 99.95 and 100.05
of their size reservation. When the scale factor was an integer, ClassPag
would not have scaled them. Now that the scale factor is a real number,
ClassPag sees much smaller size differences, and this prevents it from
scaling every ad.
* ClassPag should be smarter about drawing thick rules between ads and
news area. It now treats completely empty columns as news.
* The Cmd->"Add main headers"/"AƱadir prim cabezales" command now places
only the class header on the left column of the ad and no longer places
any column headers.
* When a class had display ads but no line ads, ClassPag would allow
placing the display ads with any line ads in a class under the class
that contained the display ad. For example, if class 620 only had
display ads and classes are nested by 100's, ClassPag could have place
the display ads with line ads from classes 600 to 699 without considering
it a conflict. ClassPag now looks for the previous and next classes with
line ads. For example, if classes 610 and 630 have line ads, ClassPag
would require placing the display ads from 620 near line ads from 610
and 630.
8/2/99
Changes in version 1.160:
* When the configuration parameter "Repeat heading of parent class"/
"Repetir cab. de padre" on the screen "Classified Heading Specifications"/
"Especificaciones de Encabezados de Clasificaciones" is set to "COL"
(for ClassPag to copy column headers of parent classes to their children),
if a parent class does not have a column header, ClassPag will copy the
column header from the first child (if it has one). This should fix
problems with missing column headers when a classification requests
starting on a new column or page.
* RUBRO lines can now specify a page number and position similar to CLSCD
lines for display ads. The syntax is
</RUB#/adnumber/width/depth/desc/page/position>
For example, the line
</RUB15A23/R15A23X8/K08/T201.5/CABEZALAUTOS/5A/BL>
creates an 8 column by 201.5 point banner at the bottom left of page 5.
* The interface no longer logs a warning when a RUBRO line is in a
class different from the digits after the RUB text. The dumps do this
intentionally to place tapas on the first few pages.
8/3/99
Changes in version 1.161:
* Modified the folios to add a raised "o" after the "1" for the first
day of the month.
* Changed the index to avoid showing lines barrios with no entries
in any of the four fields.
* Fixed another problem where ClassPag would not place column headers
above the main header of a class that started on a new column or page
when the classification with the start request (for example, 1510)
did not contain any line ads.
* The new configuration parameter "Always center when scaling equally"/
"Siempre centrar si escalado iqualmente" on the screen "Ad Image Scaling"/
"Escalado de la Imagen del Aviso" controls how ClassPag positions ads when
the field "Scale width and depth equally"/"Escalar el ancho y la profundidad
igualmente" is enabled. When ClassPag scales the dimensions equally, it
sets the size of the ad so that the larger dimension of the ad matches the
size of the reservation and the smaller dimension is smaller than the
reservation. This creates empty space between the image and the reservation
in the direction of the smaller dimension. ClassPag used to always center
the space. Setting the new parameter to "N" tells ClassPag to use the
normal centering rules specified by the fields "Center horizontally"/
"Centrar horizontalmente" and "Center vertically"/"Centrar verticalmente".
* Created a banner "s" with images "paseeco", "paseinclas", "paseclas",
"vieneclas", "pasaclas", "clastapa" and "claseco" that match the current
jump blocks. I made them pull the page numbers from the previous or next
page instead of working in pairs.
* Added a CPagCompText formula that banner formats can call to compose the
text in composition user variable 10. This makes it easier to parameterize
items in banners.
* New version of the index with a "ZONA" column and page numbers in reverse
under the letter for each zone in the map.
* More database windows obey the privilege values.
8/6/99
Changes in version 1.162:
* Fixed the interface program to avoid writing class information for RUBRO
lines that create 1 column headers. The RUBRO lines do not have all the
fields to generate a correct class header. In particular, they do not
have a classification start column request.
* Changed the interface procedure to handle classes 1 to 199 normally if it
does not find a class with a Z in its name. For the clarin.* dumps,
the interface maps classes for zones with Z + letter + C or D + 1 to 4
into numbers from 1 to 199 and groups them by zone. For the interiors.*
dumps that use class numbers 1 to 199 and no classes with letters,
it groups the classes by 100. The interiors.* dumps must not contain
any classes with a Z in their name.
* Changed ClassPag to save the name of the directory containing the EPS of the
display ads that was selected during the import step. The name is available
as the variable "AdsDirectory" when building banners. This allows ClassPag
to locate EPS files for banners that are passed like ads (like the tapas).
* The banner file name lookup now searches for the file name in the original
case in the configuration, plus upper case and then lower case.
* ClassPag now allows color ads to specify in postscript the gray level when
they are printed on a gray scale page. For example, an ad with cyan text
could be hard to read on a gray scale page because the RIP would convert
100% cyan into 30% black. (Most RIPs calculate convert CMY values to
a black level using the formula black = 0.299*C + 0.587*M + 0.114*Y.)
In order to make what would have been the cyan stand out, you can now
set a separate gray level to use when the ad is on a gray scale page.
ClassPag defines a postscript operator cp_setcmykgcolor to set the color
that takes five parameters for cyan, magenta, yellow, black and gray.
On color pages, ClassPag defines the operator with
/cp_setcmykgcolor { pop setcmykcolor } def
to use the first four values as CMYK colors.
On gray scale pages, ClassPag defines the operator with
/cp_setcmykgcolor { setgray pop pop pop pop } def
to use the final value as a gray level.
Applications that wish to use these operators should include a sequence in
their prolog similar to
/cp_setcmykgcolor where
{ pop }
{ /cp_setcmykgcolor { pop setcmykcolor } def }
ifelse
and then use cp_setcmykgcolor instead of setcmykcolor.
For example, to show 100% cyan, instead of the standard
1 0 0 0 setcmykcolor
which would become about 30% black on gray scale pages, you could use
1 0 0 0 0.3 cp_setcmykgcolor
which would become 70% black on gray scale pages. (They gray level
is percent white, so 0.3 is 30% white which means 70% black ink.)
* The interface program allows an additional gray level parameter on the
"CMYK" command. For example, the line
<cf/HVB/7/8.3/9.7>Test <cmyk/0/1/1/0/0.7>in Helvetica <gray/0>bold <QJ>
draws the text "in Helvetica" in 100% red on color pages and in 30% black
on black and white pages. If the gray scale field is empty, the interface
calculates a value automatically by adding the four cyan, magenta, yellow
and black values, subtracting the result from 1, and then adjusting values
less than 0 or greater than 1. For example, text in 60% cyan plus 20% black
would default to 80% black on gray scaled pages. If the RIP gray scaled the
ad instead, it might translate 60% cyan into 10% black, so cyan text that
was meant to stand out would become harder to read.
* When ClassPag prints black and white pages using a "Paper Definition"/
"Definicion de Papel" entry with "Create Separations"/"Crear Separaciones"
set to "GRAY", it uses the gray levels specified by the interface program
for ad text. The changes do not affect EPS images and logos in order to
continue allowing the RIP to select appropriate gray scale levels for them.
(For stand-alone EPS files for ads, banners and fillers, the "GRAY" option
also tells ClassPag to look for EPS files with the extension "-BW".
For example, if the color ad "345" has color text on a color background
that becomes unreadable in gray scale, you can save a special gray scale
version as "345-BW" that ClassPag will use in its place on black and white
pages.)
* The field "PS Type"/"Tipo PS" on the screen "Paper Definition"/
"Definicion de Papel" has a new value "CEPS" that creates an EPS file with
unused columns cropped out.
* At Pablo's request, I changed the inmuebles index to preserve the case of
the class titles in the tablabar.txt file. This leaves the names in upper
case.
* Added a "Delete Text"/"Borrar texto" command to the command window to
edit banner image text lines. This allows you to clear text buffers for
text segments with index lines if you open the text window by accident.
* The banner image text screen shows more information on entries with
index lines.
* The "Vertical Spacing Specifications"/"Especificaciones de Espaciado
Vertical" has a new field "Min Depth if Touches News"/"Prof. MĆn. si toca
not." to control whether ClassPag places a cut rule to the right of the
final column if the column has an automatically placed reservation filler
under the last line ad. If the filler (i.e. empty space under the last
line ad) is less than this value, ClassPag continues the vertical cut
rule to the right of the filler. Otherwise, ClassPag does not continue
the cut. If the field is empty, ClassPag defaults it to the value of
the field "Minimum Depth"/"Profundidad MĆnima" with the minimum vertical
cut rule depth.
* The pstoepsf.sh script has a new "-mkdir" flag to create the directory
for the EPSF file if it does not exists.
* I made a new printer entry "EPS with a preview to /u/eps,
page number in name" that sends EPS files with 1-bit previews to the
directory /u/eps. The name of the EPS file is the first letter of the
edition name plus the page number plus a dash plus the day of the month
plus the extension ".epsf".
* I made a paper entry "EPS con prever a editorial" that uses the printer
entry above. It also sets a "PS Type" of "CEPS" to crop unused columns
from the bounding box of the page.
* Rebuilt the index from Pablo's new tablabar.txt file.
* Built the miercoles tapa for inmuebles. The original without page numbers
should be called /u/clarin.ads/mie/tapamie.eps. The tapas for other days
should be called /u/clarin.ads/{lun,mar,etc.}/tapagral.eps.
8/7/99
Changes in version 1.163:
* The configuration screen "Ad Importing"/"Importacion de Avisos"
has three new fields "Directory sort order for Import, Copy and Save"/
"Ordenar directorios para importar, Copiar y Guardar" with the
values "DIR", "DATE" and "PROD" to set the initial order of the
directories in the selection list when you import, copy or save a work area.
* More databases check the user privileges including folios, unix shell
access, and the composition databases.
* When printing pages with a thick cut rule between the ads and news,
if the rightmost column had a filler, ClassPag now places the thick rule
on the right side of the filler instead of the left side.
8/26/99
Changes in version 1.164:
* Every database window now checks the privilege system.
The privilege system has a database for user profiles and a database
that assigns users to profiles.
To create profiles, use Setup->PrivilegeSets.
For each database, you can set the access to View, Edit, Insert, Delete
or All. The values are ordered, so Insert access allows you
to view and edit records but not to delete records.
The special "Default Priv" field is the privilege for empty fields.
You should always enter a value in this field because new versions of
ClassPag may add new databases, and if the "Default Priv" field is empty,
you will not be able to access the new databases until you update the
privilege field. Here is a sample access privilege screen for an
administrator:
+--[ Sets ]--* +-----------------------[ Privileges ]-----------------------*
| Name | | Group Name ADMIN_____ |
|------------| | |
| ADMIN | | Configuration A Control A |
| TEST | | Editions A Zones A |
| USER | | Units A |
| | | Class Names A Class Colors A Ad Colors A |
| | | Formats A Photodef A Environment A |
| | | Shell A Debug A Privilege Sets A |
| | | Users A |
| | | Printers A Paper Sizes A Spreads A |
| | | Folios A Index Lines A Index Styles A |
| | | Ads A Classes A Class Seq Num A |
| | | Images A Fonts A Stats A |
| | | Banners A Display Fillers A Agate Fillers A |
| | | Corner Ads A Policy Ads A |
| | | Pages A Columns A |
| | | Square Offs A Section Names A |
| | | Default Priv A |
| | | |
| | | (V view E edit I insert D delete A all) |
+------------+ +------------------------------------------------------------+
To assign privilege profiles to users, use Setup->Users.
This screen does not create operating-system level accounts.
You must still create each user using utilities with the operating system.
This screen tells ClassPag how to find the privileges of a user.
ClassPag gets the user name from the LOGNAME environment variable.
ClassPag ignores upper and lower case differences when checking user names.
If the user database has no entries, ClassPag gives every user full access
to all databases.
If the user database has any entries, and if a user logs in that does not
have an entry in the database, ClassPag denies the user access to any
database.
ClassPag currently gives users full access if their user name starts
with "CP" and ends with "ADMIN", "ADM" or "ROOT". This provides an
escape if you accidentally deny yourself access to the privilege database.
In the example below, accounts "CPAG" and "USER" have the privileges
assigned in the "USER" profile, while accounts "ROOT" and "WILLIAM"
have the privileges assigned in the "ADMIN" profiles. The star (*)
shows the current user.
+----------------------[ SCS Classified Pagination ]-----------------------+
| +---------------------[ Sets ]---------------------* |
| | Name Privileges | |
| |--------------------------------------------------| |
| | CPAG USER | |
| | ROOT ADMIN | |
| | USER USER | |
| | *WILLIAM ADMIN | |
| | | |
* Folio and banner segments have a new type for expressions that generate
PostScript. This allows ClassPag to run on operating systems that do not
support SCS Composition, although some effects are much more difficult to
create with PostScript than with SCS Composition.
Folio PostScript expressions have the Type/Tipo of "PSEXPR".
The configuration field "Folios use Composition"/"Folios usan Comp."
tells ClassPag whether any folio lines need composition.
If the field is "Y" (the default), when ClassPag rebuilds the folios,
it will start a new copy of "spice". This is usually what you want.
If none of the folios need Composition, you may set the field to "N".
Banner PostScript expressions have the Type/Tipo of "S".
The configuration field "Banners use composition"/"Carteles usan composicion"
tells ClassPag whether any banner text segments need composition.
If the field is "Y" (the default), when ClassPag rebuilds the banners,
it will start a new copy of "spice". This is usually what you want.
If none of the banners need Composition, you may set the field to "N".
* Folios now allow a combination of up to 5 templates and postscript segments
per side. The previous limit was 3.
* Expressions for banners that produce PostScript (type "S") or file names
(type "F") now have access to the additional variables PageNumber (the
absolute page number of the banner), ColumnNumber (the leftmost column number
of the banner), BookName (the section name from the "book sizes" window)
and BookPageNumber (the page number relative to BookName). If the banner
is not positioned on a page, ClassPag sets PageNumber, ColumnNumber and
BookPageNumber to 0.
* ClassPag has more control with the placement of headers under display ads.
The "Classified Heading Specifications"/"Especificaciones de Encabezados
de Clasificaciones" screen of the configuration database has a new field
"Flow headers under display ads"/"Fluir abajo de destacados" with the
values "ALWAYS", "NEVER" and "CLASS".
This field controls the placement of column headers on columns with a
display ad at the top and line ads below. "ALWAYS" forces a class header
between the display ad and the line ads. "NEVER" prevents placing class
headers. "CLASS" places a class header only when the display ad and
the top line ad have different classifications. "CLASS" is the default.
* On output pages, ClassPag can draw an X over boxes with missing EPS files.
The configuration screen ""Margins between Pages when Printing"/
"Margenes entre Paginas cuando se Imprime" has a new field
"Thickness of X"/"Grosor de X" that sets the width of the lines of the cross.
0, the default value, does not add the cross.
* ClassPag handles island ads better at sites that place class headers over
display ads. Island ads are ads that you have positioned in the middle
of a page using the right mouse button. If ClassPag placed a header over
an island ad, it would sometimes not continue flowing line ads below
the island ad. When you move ads around, ClassPag sometimes places
class headers automatically. If you have island ads, you may sometimes
still need to remove some of the headers (click on the header and then
the DELETE key) before reflowing the line ads.
* When ClassPag must place class headers at the top of every column and a
line ad is too large to fit with a class header, ClassPag will place the
line ad on the first open column where it fits. This fixes a recent
change where ClassPag would place class headers as soon as it started
a new column, so it would never find a column with enough space to place
the line ad.
* When you use Command->Ads->ConvertAdToEPS to convert a line ad into a
stand-alone EPS file, ClassPag now uses different variables to save the
PostScript context than when placing ads on pages. This should correct
PostScript errors at sites that do not use SCS Composition when they
create EPS pages containing ads converted into EPS files with this command.
* When ClassPag converts an internal ad into a stand-alone EPS file,
it uses the ad directory that you specified when you ran the Import step.
* When you use Command->Ads->ConvertAdType to convert between line ads
and display ads, ClassPag now allows you to select a line ad in the
line ad database without first converting it to the display ad database.
This allows you to convert line ads to display ads while keeping them
internal to the ceps.out file. You previously had to convert line ads
to display ads with stand-alone EPS files.
* ClassPag can now download fonts required by the display ads on a page.
First, in the "Printer Definitions"/"Definiciones de la Impresora" database,
set the field "Include Fonts"/"Incluir Fuentes" to "Y".
Second, in the "Paper Definition"/"Definicion de Papel" database,
set the field "Add Font Comments"/"DSCs de Fuentes" to "Y".
Third, in the directory "/u/scs/gs/fonts.site", create a file for each font.
You must save each font in a file with the exact name of the font.
For example, if an EPS file needs the font "Helvetica-Black", ClassPag will
search for the file "/u/scs/gs/fonts.site/Helvetica-Black".
ClassPag sets the "%%DocumentNeededFonts" and "%%DocumentSuppliedFonts"
comments to reflect the fonts required by the ads and the fonts that it
included, so if you create an EPS page and some ads use fonts not present
in the fonts.site directory, and you include the EPS page in another program
(like Quark), it will be able to tell which fonts are still missing.
ClassPag builds the list of fonts from the first page in its output file,
so you should only use this option when printing single pages.
When possible, you should install all fonts on your RIP and request
that any people that supply EPS files for ads include all of the fonts
when they save their EPS files.
* ClassPag is smarter about checking ad types when it draws vertical
cut rules between ads and news.
* ClassPag should now correctly pick up zone information from cardex files
with four-line records.
8/26/99
Version 1.165:
* ClassPag no longer adds spaces to the end of the outext file name.
* When ClassPag can not find an EPS file, it checks the directories in the
CPAG_EPS environment variable. CPAG_EPS should contain a colon (:) separated
list of directory names (or semi-colon (;) separated under Windows).
If the directory name ends with a plus (+), ClassPag prefixes it to the
directory name of the ad, otherwise, ClassPag replaces the directory name
of the ad. For example, if you have a ClassPag work area that was imported
with ads in /u/displayads, and you move some of the files into /u1/displayads
and /u2/displayads, you can set
CPAG_EPS=/u1/displayads:/u2/displayads
For another example, if you moved the EPS files into a CD but preserved the
directory structure and then mounted the CD as /cdrom, you can set
CPAG_EPS=/cdrom+
ClassPag always looks in the current directory first.
For each directory in CPAG_EPS, ClassPag performs the usual trials for
upper and lower case name, with and without .EPS extensions, and
with -BW, as specified in the configuration.
This variable is meant to aid in viewing old work area and is not meant for
regular use.
* The batch file unloadsh.bat dumps databases to text transactions and
the batch file updatesh.bat rebuilds databases from text transactions.
They are similar to the unix unload.sh and update.sh scripts without any
options. unloadsh.bat calls unload1.bat for each file, and updatesh.sh
calls update1.sh for each file. The batch file tntcpes.bat runs the
Spanish version of ClassPag under the MI/X server. The batch file setup.sh
now looks on both C: and D:.
* Under Windows, ClassPag opens the HTML help files under the default browser.
9/3/99
Version 1.166:
* Spanish sites can control the spelling of September on their folios and
banners by using L$SPANISH$SPA or L$SPANISH$CAS with f$monthname().
f$monthname(9,l$spanish$spa) is "septiembre", while
f$monthname(9,l$spanish$cas) is "setiembre".
[ Using the new language dialect features in folios and banners requires
a new "spice" executable dated after mid-September, 1999. ]
* The ClassPag setup scripts allow es:cas and es:spa options to set
SPICE_LANGUAGE. Note that you will need a new version of all of the
SCS tools if you use one of those values. Old versions of the tools will
reject the dialect modifier and revert to English.
You should leave SPICE_LANGUAGE set to "es" and use the new L$SPANISH$*
options to create the correct spellings.
[ Using a dialect modifier requires a tools distribution dated after
mid-September, 1999. ]
* Spanish sites can remove accents on their folios and banners by using
the UNACCENTVOWELS option on f$edit(). For example,
f$edit(f$dayname(3,L$SPANISH),"RAISE,UNACCENTVOWELS") is "MIERCOLES".
* The commands "Ads->Edit the ad EPS" and "Ads->Convert ad to EPS" should
work again. Changes in 1.164 broke these commands.
* The command "Position->Paste a banner" no longer shows wide (type 'W')
banners with a zero insertion count. These banners square-off the first
page of line ads for a classification when paginating back to front.
* The command "Help" that shows the hot keys on the page preview screen
now itself has a hot key to save the hot key list to a file. Is also
has hot keys to view the manuals and to view the keyboard mappings.
* When ClassPag is in demo mode, it does not allow you to enter the SetUp
window. ClassPag currently sets demo mode if the user name matches the
pattern CP*DEMO or if ClassPag is running under Windows.
Under demo mode, only privileged users can enter the Setup window.
* The Windows setup.bat script now sets additional system variables if they
are empty and if directories under %CPAG_HOME% exist.
It will set SCS_ROOT to %CPAG_HOME%\scs (to allow ClassPag to use its own
set of the SCS tools), GS_LIB to %CPAG_HOME%\fonts.site (to add additional
fonts), and CPAG_EPS to %CPAG_HOME%\ads (to set an EPS file search path).
This makes ClassPag more self-contained.
9/13/99
Version 1.167:
* runcpag.sh and menprof.sh now handle "es" arguments with dialects.
* The configuration field "Default Spanish Dialect"/"Dialecto de espan~ol
por defecto" on the screen "Screen Display Preferences"/"Preferencias de
Visualizacion" can be "cas" or "spa" to override the dialect when
SPICE_LANGUAGE has a base language of "es". This controls only strings
displayed on the screen and not text composed into folios or banners.
* The ClassPag import now reads the sort file (classsrt.out) from the current
directory. It used to read the sort file from the $DATA search path, which
contains $CPAG_HOME (usually /u/cpag) before the current directory.
This could be confusing if you copied a classsrt.out file into /u/cpag.
* The expression interpreter now treats 2-byte packed character sequences
for 9-bit characters (the 0x8E PCH_HSHIFT and the following character)
as whitespace in expressions. This allows you to embed quads in
expressions to control how the editor re-wraps them.
The HSHIFT was illegal in expressions, so this should not break
any existing expressions.
You can still place 9-bit characters in quoted strings.
Adding quads to long expressions makes them much easier to understand.
* Spanish sites can remove accents on their folios and banners by using
the UNACCENTUCVOWELS or UNMARKALL options on f$edit(). UNACCENTUCVOWELS
is like UNACCENTVOWELS, but only removes accents from upper-case vowels.
UNMARKALL removes marks from all characters. For example, it changes "n~"
to "n".
* ClassPag now tracks the depth of the text that it composes in each
component of banner images. Windows that view banners records now have
a "Show depth"/"Mostrar alto" command on the command-key (F12) window.
It shows the banner name, image id and text id,
the maximum depth (the maximum depth of all of the columns (in !s24)),
the final depth (the depth of the last column (in !s22)),
the banner depth (the depth entered in the ClassPag Banner Image record),
the position (the Y Position of this component in the banner image),
the scaled depth (the final depth multiplied by the vertical scale factor
of the component times the cosine of the rotation), and
the free space (the position minus the scaled depth).
On the setup window of banner images, the command shows the information from
the text segment with the largest maximum depth.
On the setup window of banners, the command shows the information for the
default image.
| Indice b8 1LR-Corner AdsDirectory // "/tabla.eps"? |
| Indice b8 ___________________________________ ,8,10.4>" // ?f$rai|
| Indice b8 | Banner Indice-b8-3LEFT | #
| Indice b8 | Maximum depth: 26.89 cm | |
| Indice b8 | Final depth: 7.04 cm | |
| Indice b8 | Banner depth: 36.15 cm | |
| Indice b8 | Position: 27.13 cm | |
| Indice b8 | Scaled depth: 7.04 cm | |
| Indice b8 | Free space: 20.09 cm | v
|__________________| |___________________|
__________________| Continue |___________________
| Banner Number: In|___________________________________|8 |
| Id: 4B Format: lineanull |
* Fix for a problem when printing a page with a template in DCS format.
* setup.bat now works under Windows95.
9/24/99
Version 1.168:
* The scanps.sh script takes several new options:
-adsroot=dir sets the root for badads, missingads and displayads.
The default is ".." (relative to the scanned directory).
-keepgoodads avoids moving good EPS files to the display ads directory.
-movegoodads moves good EPS files [the default].
-keepmissingads avoids moving EPS files with missing fonts.
-movemissingads moves EPS files with missing fonts [the default].
-xx runs "set -x" in the cmd.txt script [the default].
+xx omits "set -x" in the cmd.txt script.
* The new scanlogos.sh script processes each directory in COMP_LOGO with
fixlogos.sh to remove tiff previews and then with scanps.sh to remove EPS
files with binary data or that have PostScript errors. It places the bad
EPS files in a "badads" directory at the same level as each logo directory.
* The makeesc6.sh interface script for the North County Times now asks
if you want Car Country when you select the Saturday Coastal dump.
When "tac" exists, the script uses it to display the most recent dumps last.
* Editor windows now have a hotkey to move to matching parentheses, braces,
brackets, composition marks, or single or double composition quotes.
This makes it much easier to validate long expressions.
Internally, routines that call the editor now include "editproc.ifm" for
editor-related declarations and "editform.ifm" for editor-related hotkey
formulas. The editor windows to enter banner text and folio text now all
use the same procedure instead of their own copy and should all work the
same way. Currently, F1, LKEY-B and LKEY-M execute the brace matching
function. In addition, LKEY-L shows the number of characters inside the
braces.
* ClassPag has a new configuration parameter to make moving segmented ads
as easy as moving display ads. The parameter "Lock Legal Ad Segments when
Dragged"/"Bloquear segmentos de avisos cuando traidos" on the screen
"Screen Display Preferences"/"Preferencias de Visualizacion"
makes it easier to move segmented ads. The default value for this parameter
is "N". If you set it to "Y", when you drag any segment of a segmented ad,
ClassPag will automatically mark the ad to prevent it from unflowing
(as if you selected the command "Save ad in column"/"Recordar aviso"),
and it will automatically move all of the segments (as if you selected
the command "Position all segments"/"Posicion todas partes").
* ClassPag has a new configuration parameter to make the initial parts
of segmented ads more visible. The parameter "Marked Depth on Screen"/
"Alto a Marcar en Pantalla" on the screen
"Legal and Segmented Ad Specifications"/
"Especificaciones de Avisos Legales y Segmentados"
sets the way ClassPag draws the first few segments of segmented ads.
Before this change, if you set the color for a classification, ClassPag
would draw all of the segments in that color. Otherwise, ClassPag would
draw the first segment in the color for ads with position requests and
the other segments in the default color for agate ads.
Now, ClassPag always draws the first segment in the color for ads with
position requests. In addition, if the new parameter has a value greater
than zero, ClassPag will draw the segments that start within that depth
from the top of the ad in the color for position requests.
A good value for this parameter is about an inch.
* If you apply the "Add headers"/"An~adir cabezales" command to a segmented ad,
ClassPag will add the headers above the top segment of that ad in the column
instead of above the current segment. This makes it easier to place headers
over segmented ads when the first segment is small.
* Added the script "addfonts.sh" to prepend fonts to a PostScript file.
ClassPag and Track can use this when printing files.
The font files must be in /u/scs/gs/fonts.site with the same file name
as the PostScript font name.
The script uses fontlist and addcr in $TOOLS.
The syntax is
addfonts.sh input-file [ output-file ]
If output-file is missing, the input-file is over-written.
If output-file is "-", the output is written to standard output.
The script adds some of the initial comment lines of the input file before
adding the fonts, so printer queues looking for "%!PS-Adobe" or programs
looking for a "%%BoundingBox" will still work correctly on the output.
When the script over-writes the input file (in the one-argument mode),
it creates a work file in the same directory as the input file, and it
uses shell "trap" commands to restore the input file and delete the work
file if you abort the script.
* Added the script makefont.sh to create a ghostscript Fontmap file from
the fonts in a directory. For example, in a directory with font files,
you can use the command
makefont.sh * > Fontmap
Recent versions of ghostscript can automatically locate fonts on its
search path as long as the font file has the same name as the PostScript
font name. Since ghostscript must read all of the Fontmap files at
start-up, sites with many fonts should enter only commonly used fonts
(for example, fonts in line ads or class headers) in the Fontmap file.
* The readtxt interface program @LOGO command now takes three additional
optional parameters with an x-offset, top margin and bottom margin.
All three parameters are real numbers in points, can be negative and
default to 0 when they are missing.
Also, readtxt now centers the logo horizontally. The new syntax is
@LOGO:name,x-scale,y-scale,x-offset,top-margin,bottom-margin
For example, the line
@LOGO:star,200,200,-2,5.5,3
adds the logo star.eps at twice its normal size, centered two points to the
left of the center of the column, with 5.5 points of extra space above and
3 points of empty space below. The centering code extracts the column width
(minus any indents) from composition variable s14, so it should work with
any column width or indent.
* The formula to create index line records from a "tablabar.txt" file now
asks if you want to sort the index lines by the classification number or
by the classification title. It used to sort only by classification number.
* Fixed a problem in the generated PostScript where printing gray-scale
pages with folios that used cp_setcmykgcolor could cause PostScript errors.
* The banner text hotkey to delete text from a banner text record now
asks you if you want to delete the text in the initial and final text
areas as well (if those areas are not empty).
9/27/99
Version 1.169:
* When the parameter "Lock Legal Ad Segments when Dragged"/"Bloquear
segmentos de avisos cuando traidos" is set, more commands now work on all
of the segments instead of just the current segment.
The <DELETE> key unpositions all of the segments and writes only one
entry to the paste list. If you position the entry from the paste list,
ClassPag positions all of the segments.
The commands to delete and unselect the current ad now unselect all of
the segments. The "KILL" flag overwrites the segment information, so you
need to re-import in order to restore the ad.
* The configuration parameter "Same Ad Prefix Length"/"Largo de Prefijo de Nom."
on the screen "Legal and Segmented Ad Specifications"/
"Especificaciones de Avisos Legales y Segmentados" sets the common prefix
for segments of the same ad. The default is 4, which is compatible with the
AdMax naming scheme with the first four characters of the ad number, an "S",
and a five digit segment number. ClassPag uses this value to locate the
segments of an ad when you delete or unselect a segmented ad.
If you set the value too large, ClassPag might not find all of the segments.
If you set the value too small, ClassPag might remove other segmented ads
in the same class that have the same sort key.
* On the preview display, you can now view an entire segmented ad.
This makes it easier to identify the ad.
Clicking on the "boX" view button or pressing "X" now displays the entire ad.
Pressing "x" (lower case) displays only the current segment.
The commands work as before for other types of ads.
* The ad list windows on the statistics screen under Ads->DisplayAds and
Ads->AgateAds have new options for segmented ads.
"View all segments"/"Ver todos los segmentos" displays all of the segments
of the current ad. ClassPag scales the ad to fit on the screen.
"Print all segments"/"Imprimir todos los segmentos" prints all of the segments.
* The preview window has a new option "Command->Ads->Print All Segments"
to print all of the segments of the current ad.
* When you use the "view box" button on the preview window and the ad
does not have an image, ClassPag now displays a warning that shows the
type of ad and whether it has an internal or external image.
It used to show "Internal ad has no image." even for fillers.
* When you select an option to print an internal ad, ClassPag always adds an
initial "%!PS-Adobe" line for printers that need this to auto-detect PostScript.
* The preview window has the new commands
"Cmd->Columns...->Lock col range/no fill" and
"Cmd->Columns...->Save col range/no fill" and
that save the position of ads like "Lock column range" and
"Save column range" except for ignoring agate fillers.
If you "save" several pages, you should save them in the reverse order that
you paginate. For example, if you paginate front to back, you should save
the last page first and then work your way towards page 1.
The "save" commands do not prevent ClassPag from placing other ads on the
page, so if you save page 1 first, and some columns on page 1 have large
enough spaces, ClassPag might flow in ads from page 2.
The "lock" commands prevent ClassPag from squeezing other ads into holes on
the page.
Use the "save" commands if you will position only a few ads by hand and
want ClassPag to flow the rest automatically.
Use the "lock" commands if you will position every ads by hand.
* The preview window command "Ads...->Convert ad to EPS" now preserves
segment and color information. The ClassPag import now handles segmented
ads with external segments as long as the ad numbers of the segments are
in increasing alphabetic order.
* The script initscr.sh now ignores the den version number when comparing
fdf files. This prevents it from rebuilding the databases in work areas
after an upgrade if only the version of the tools changed.
9/28/99
Version 1.170:
* When you drag an ad over a segmented ad, ClassPag now places your ad above
the top segment of the segmented ad. This makes it easier to place headers
and fillers in columns with segmented ads.
* When you position segmented ads, ClassPag no longer allows you to place
a segmented ad so that it breaks or is broken by another segmented ad.
When it does not let you place the ad, it displays a popup message showing
the other ad and the column number with the problem.
9/30/99
Version 1.171:
* The makeesc6.sh interface script for the North County Times now has options
to copy only the cardex or only the sort and eps files.
* When you try to move a segmented ad that crosses a page boundary,
ClassPag now shows a warning and does not do anything. It used to move
just the half of the ad on the page with the selected segment.
* When the preview commands "Command->Position...->Position before" and
"Position after" update the classification of a segmented ad, they now
modify all of the segments instead of just the selected one.
10/4/99
Version 1.172:
* The banner setup window now has a hot key to copy banners from other
products. The hot key copies the banner record you select, plus all of
its images, text segments, index lines, and any index styles referenced
by the index lines. When you select a banner, it opens a form that lets
you change the banner name if you want. The copy does not modify any records
that already exist. After the copy completes, ClassPag shows a status window
with the number of each type of banner component that it copied.
This command makes it easier to create and maintain test products.
* Banner text records now have an active flag, and the banner text setup
window has a hot key to toggle the flag. This makes it easier to test
changes to banner text lines without deleting the original lines.
* The index line hot key to load a "tablabar.txt" file now asks if you
want to delete all of the old index lines before loading the new ones.
This eliminates the need to select the "delete all" hot key first.
In addition, status window after the load shows classifications with
possible errors. The load procedure is also smarter about creating
unique key names. For key names based on classification numbers, it now
adds the zone letter, and for key names based on classification titles,
it now modifies the last few letters.
* The index style setup window now has a hot key to delete all of the records.
* Fixed a problem where ClassPag could start segmented ads in columns
without enough space for the minimum initial length when the look ahead
was less than two.
* Possibly fixed a problem that could cause segmented ads with an island
request to have their segments placed in reverse order.
* The setup.sh initialization script sets DISPLAY=mci17:0 for user names
containing the substring "m17".
10/11/99
Version 1.173:
* The mouse drag command can now flow segmented ads across pages.
* The delete command can now unposition segmented ads with parts on more
than one page.
* When ClassPag unflows ads, if a column starts with the middle of a segmented
ad, ClassPag shifts the segments up instead of down. This makes it harder to
accidentally place another ad above the segments. Also, it prevents ClassPag
from placing a class header over the segments when it reflows the other ads.
* The preview window commands Cmd->Columns... to lock and save column ranges
without saving fillers now also do not save leading fillers.
* The preview window commands "Position at top edge"/"Posicion a la cabeza"
and "Position at bot edge"/"Posicion al pie" now clear the island flag.
* The makeesc6.sh interface script now has a "-esc" to work as before for
Escondido and a "-fls" option to work for the Free-Lance Star. It now has
a more modular system of selecting directory name components, so it should
be easier to modify for other VisionData sites.
NOTE: Adding support for dragging and deleting ads that span more than one
page required a lot of changes to the routines that handle those commands,
so you should watch for problems. This version of the ClassPag source has
1820 lines of differences from the previous version, most of which are
related to moving ads.
10/19/99
Version 1.174
* ClassPag now supports line ads that are more than one column wide.
It used to place them like display ads, but it now flows them like normal line
ads. A single classification should contain line ads of the same width.
A classification with multi-column line ads should contain a class header with
the same width as its line ads.
* When the configuration allows ClassPag to place ads at the tops of pages,
ClassPag now uses the same hole-filling algorithm as it does when it places
ads at the bottoms of pages.
* When the configuration allows ClassPag to place ads at both the tops and
bottoms of pages, ClassPag now distributes the ads a little more evenly.
* When ClassPag justifies the space in columns of ads, it divides the space
better in the case when a page has a stack of ads growning down from the top
and the ads all have the same width.
* The list key on file name fields on the screens for banner images,
display fillers and agate fillers now opens a directory browsing window.
If the field current contains a file name, the window starts in the
directory containing the file. This makes it easier to modify file names.
* The new configuration parameter "Warn if Multi-Column"/
"Advertir si unas columnas" on the screen "Agate Ad Specifications"/
"Especificaciones de Avisos Agate" writes a warning to the log file for line
ads that are more than one column wide. The default is "Y".
* The new configuration parameter "Wide Ads on Divisible Col"/
"Avisos Ancho en Col. Div." on the screen "Agate Ad Specifications (Continued)"/
"Especificaciones de Avisos Agate (continuado)" forces ClassPag to place
multi-column agate ads only on columns divisible by the width.
The default value is "N". For example, if you enabled this option,
ClassPag would place two column ads only on columns 1 and 2, columns 3 and 4,
etc., but would not place a two column ad on columns 2 and 3.
You should enable this option for products with multi-column line ads.
* The new configuration parameter "Place Fillers in Square-Offs"/
"Poner rellenos bajo Carteles" on the screen "Display Ad Dummying Style"/
"Estilo de Diagramacion de Avisos Destacados" controls whether ClassPag
places fillers in the first page of square-off. The default is "N".
* The page display handles the new spice FILL key the same as the END-LINE key.
* ClassPag has a new "Press" database to describe information about presses
for use in a later release.
* Fixed a bug clearing areas under reserve fillers. This could cause
miscalculations of ad or cut-rule positions, especially when viewing
pages under a reserve filler after unflowing the line ads.
NOTE: Adding support for flowing multi-column line ads required delaying
the step the justifies completed columns. You should watch for small ads
sneaking into columns where they could not go before. You should also watch
for changes the placement and selection of class headers. This version of
ClassPag has about 9000 lines of differences from the previous version.
10/20/99
Version 1.175
* Fixed a bug where ClassPag could leave columns with all fillers when
paginating back to front with a classification with a large look-ahead.
* The four configuration parameters "Add Text Top, Bottom, Left and Right"/
"Escribir texto Superior, Inferior, Izquierda y Derecha" on the screen
"Registration Marks"/"Marcas de Registros" control whether ClassPag writes
the page number and plate name at each of the four edges of the page
when printing with a spread format that requests registration mark text.
The four parameters are enabled by default.
10/25/99
Version 1.176
* When the "Justify last column" option is set to "No" (in order to place
space reservations in the last column instead of fillers), if all of the
pages have their liner ads locked, ClassPag no longer places reservations
on the first page.
* Fixed a problem where ClassPag would sometimes not place the initial
class header of a classification with line ads that spanned over more than
one page when some of the pages had their liner ads locked.
* Added a -f (fast) option to the updprod.sh script to skip the unload step
before updating the new records. This makes it run faster but makes recovery
harder if you update incorrect transactions.
* Fixed a problem where setting "Repeat heading of parent class" to "COPY"
no longer worked.
* Fixed a problem where ClassPag would sometimes insert extra class headers
in columns with open space.
* The "Box Information" window now shows some values to three decimal places
instead of two if the value will still fit.
* When ClassPag adjust ads above or below multi-column ads, it used to set
the space to the minimum space of any of the pairs of ads. It now will not
reduce the space below the configured minimum space.
* The configuration parameter "Add lead when placing ads with requests"/
"Agregar interlineado cuando poniendo avisos con pedidos" on the screen
"Display Ad Specifications (Continued)"/
"Especificaciones de Avisos Destacados (continuado)"
controls whether ClassPag adds leading when placing ads with page requests.
By default, ClassPag does not add leading to allow you to stack ads to the
full height of the page. When you place an ad manually, ClassPag adds
leading when possible. For example, if an ad requested page 2, ClassPag
would place it without leading. If you then touched an ad on page 2 with
the mouse, ClassPag would rebuild the page with leading, and fewer line ads
might fit. Setting this parameter to "Y" produces more consistent pages at
the risk of possibly not satisfying ad requests.
* ClassPag no longer shows a conflict for a line ad at the bottom of a column
with a line ad from a different class above it if the class of the line ad
at the bottom does not have a header and the class of the ad above it has
the same parent class.
10/27/99
Version 1.177
* You can now restrict which color separations to print.
The Paper Definition screen field "Create Separations"/"Crear Separaciones"
has the new values REQYES, REQAUR and REQPLA. The values produce separations
the same as the YES, AURORA and PLATE values except that they only produce
separations for the colors that you have specified for the page with
Command -> Pages... -> Modify the color.
* The folio text database has a new field "Omit if Overlap"/"Omitir si solapa"
to control the sense of column test. If the field is empty or "T", ClassPag
will omit folio records that overlap ads according to the column test. If the
field is "F", ClassPag reverses the test and only shows folio records with ads
in the column range. For example, you can use this test to place folios above
the page on pages with space reservations at the top but to move the folios to
the sides of the page on pages with full page ads.
* The mapclass option "Make test with only class headers"/
"Probar solo con cabezales de clases" lets you test fonts by creating
an ad for each position in the font. The font selection window has a
new option to control whether the composed text is a character or a
composition PI command to insert the character by number.
* If the command to download fonts to a printer has a long list of fonts,
ClassPag now divides the list into groups to avoid long command lines.
* The list key on file name fields on the screens for replacement images
and folio templates now opens a directory browsing window.
11/4/99
Version 1.178
* When papers that place a class header over every column have a
saved/recordada (but not locked/bloqueada) column that ends with a class
header or line ad and the column does not have enough room to flow a new
classification, ClassPag would sometimes insert an extra class header at
the bottom of the column.
* ClassPag no longer shows a conflict for the top line ad in a column if
the only element above the line ad is a class header from its parent class.
This can happen normally in classes that copy column headers from their parent.
* The banner image configuration window has a new option
"Select as the default"/"Seleccionar como el defecto" to make the current
banner image the default. This eliminates the need to edit the banner record
to change the default image.
* When ClassPag must place cut rules above the top ad in a column or below the
bottom ad, it is now more careful about preserving the leading around the top
or bottom ad.
* Increased the maximum size of the eps dump file from 99.9 MB to 999 MB.
The maximum size of any single line ad in the dump is still 9.99 MB.
Quincy created a 450 MB sort file with many 8 MB ads.
The eps dump file at most papers is between 5 and 60 MB.
* Increased the image start and offset fields in the image replacement
database from 8 digits to 10 digits.
* The configuration screen "Display Ad Dummying Style"/
"Estilo de Diagramacion de Avisos Destacados" has new fields to set the
minimum and maximum leading ratio. The default range is 0 to 999.
Entering values in these fields prevents paginators from selecting
unacceptable leading values.
* Fixed a problem where horizontal cut rules between legal ads would be
hairlines instead of the configured thickness.
* The horizontal cut rule flags for legal ads now default to the values for
agate ads instead of PERMIT.
* Added a convprod.sh script to convert product numbers in transaction files.
The syntax is
convprod.sh old# new# file1.trn file2.trn ...
where old# and new# are product numbers from 1 to 99 and file*.trn are the
transaction files to convert. This makes it easier to set up test areas.
* Fixed a problem where ClassPag would sometimes not place enough leading
under class headers at the tops of columns on squeezed pages. When ClassPag
vertically justifies columns, it now tries to satisfy the requested leading
under class headers before processing the rest of the column.
* Fixed a problem where ClassPag could place fillers in the margin area of
square-offs when the "Place Fillers in Square-Offs" configuration parameter
was enabled and the page was too full to fit without reducing the leading.
* Fixed a problem where ClassPag would sometimes not place class headers over
a display ad if all of the pages with line ads for the class containing the
display ad were locked. It now places headers over display ads if the column
contains less than the configured minimum flow depth of free space.
This change might need to be undone if it causes problems with extra headers.
* When the "justify last column" option is turned off (in order to leave room
for news in partially-filled columns instead of placing fillers), ClassPag
will now justify the column if the amount of free space is less than the
column justification threshold or less than the minimum flow depth.
This prevents ClassPag from creating very small news reservations.
* Fixed a problem where ClassPag could place square-offs on pages with
the liner lock set.
* Fixed a problem where ClassPag could place the last line ad in a column
out of sort order. If the preferred leading between line ads is less than
the default leading, ad settling can create additional space after placing
the look-ahead ads. If the next ad fits in the hole, ClassPag now places it
in sort order.
* Fixed a problem where the mouse position routine would clear island
position flags so manually positioned island ads would revert to normal
positions when you repaginated.
* When the estimation pass locates the initial and final classes, it now
continues after classes with very small amounts of ad area. This makes the
estimation more accurate for interfaces that pass zero depth ads in the
first classification.
* If a user does not have permission to view the classification database,
ClassPag accepts the selected classes and continues. It used to show an
error and not let the user enter.
* The mapclass option "Make test with only class headers"/
"Probar solo con cabezales de clases" for testing fonts now builds one
final ad at the end with digits and the alphabet in upper and lower case
and some symbols and accented vowels to show how the characters fit together.
You can display this final ad to verify the font metrics.
* The makegif.sh script now recognizes some additional extensions as binary
files that should not be converted.
NOTE: The change to increase the sort file size requires rebuilding the ad
databases in work areas. The loadtape.sh command will rebuild the work area,
so it will take longer than usual. Use the loadtape.sh -fast option to
avoid rebuilding the work areas if you will not need to reopen them.
NOTE2: This version has almost 5000 lines of changes from the previous version.
11/15/99
Version 1.179
* Fixed the edit and insert commands in the "List position requests"/
"Listar posic. pedidas" page list window on the statistics screen.
The delete command now asks if you are sure before removing the record.
* ClassPag has new configuration parameters to select the information in the
first text line within ad boxes. The parameters
"First line in ad boxes: Class Headings", "Agate Ads" and "Display Ads"/
"Primera linea en cajas: Cabezales", "Avisos lineales" and "Destacados"
on the screen "Screen Display Preferences"/"Preferencias de Visualizacion"
have the values NUMBER (the default to show the ad number),
CLASS (to show the classification), SORT (to show the sort key) and
SIZE (to show the size). For example, you could use these parameters to
show the classification in class headings, the sort key in line ads
and the ad number in display ads.
* ClassPag has new configuration parameters to set the width and number of
decimal places for numeric values in ad boxes and information boxes.
The parameter "Depth field width"/"Ancho de campos de profundidad" sets the
field width and the parameter "Decimals"/"decimales" sets the number of decimal
places. The width includes the decimal point and decimal places.
The default width is 7, and the default number of decimal places is 2 or 3
depending on the column depth and unit size. The maximum width is currently 7.
ClassPag will adjust widths and decimal places that are too small or too large.
* ClassPag now only marks pages as printed if the page is printed to a paper
definition marked as a "final output device"/"rendimiento final".
ClassPag used to mark pages as printed if the output was a proof or
(for single page selections) if you viewed the page without printing it.
This makes the selection options for marking unprinted pages more useful.
* The command "Lock ... -> Mark unp. if ads found"/
"Bloquear ... -> Marcar no-imp con avs" selects unprinted pages with all
of their EPS files present. This command allows the incremental printing
of pages as the EPS files for ads become available.
* The banner field "Split Overflow"/"Partir Exceso" has a new value "F"
to make a heading banner the full width of the page. Heading banners
appear over columns that contain line ads of a given class without building
a square-off. Heading banners have type "P" (Primary), a valid clasification,
a non-empty request name and a position of "E" (Every). If the split overflow
field is "H" or "V", ClassPag tries to select a banner that will cover just the
columns that contain line ads of the class. If the split overflow field is
the new value of "F", ClassPag will select the widest banner that fits.
For a more consistent look, you should set the "Display Fill Depth"/
"Largo de Flujo de Destacados" to a value less than the column depth minus
the sum of the depth of the tallest banner and the minimum line ad flow depth
to ensure that ClassPag leaves enough room for the banner and line ads when it
places display ads.
* The banner field "Split Overflow"/"Partir Exceso" has a new value "C"
to define class headings in addition to the ones in the sort and eps files.
Class heading banners have type "P" (Primary), a valid classification,
a non-empty request name, a position of "E" (Every) and a split overflow
field of "C". If ClassPag needs a multi-column classification header of a
given width and the sort file does not have one, ClassPag will select a class
heading banner of the width if one exists.
* Fixed a problem where ClassPag would not always restore pages correctly
after an attempt to drag an ad to a page where it would not fit.
* On output pages, the text inside ad boxes without EPS files now contains the
expected file name of the EPS file if the file name differs from the ad number.
This makes it easier to locate the correct ad image when the name of the EPS
file can not be derived from the ad number.
* The "Old Images"/"Imagenes Viejas" window now shows internal ads with
modified eps file offsets or lengths. This helps identify replacement
images for internal ads with incorrect positions after importing updated
sort and eps files.
* The "Setup -> Set Class Colors"/"Configurar -> Fijar Colores Clasif"
window for defining classification specific colors has a new command
"Print listing"/"Imprimir pantalla" to print a report with the color table.
* Added an extra call to free database locks in the command to remove an ad
and in the command to fill a page with ads in the paste list.
* Square-off banners now use the leading and position adjustments of display
ads instead of class headers. This should improve the spacing above and
below banners on papers with position adjustments for their class headers.
* When ClassPag levels columns of ads before placing a banner (or other
multi-column ad) over them, it no longer removes the leading above the ads.
This should fix problems with uneven spacing below banners on pages without
squeezed leading.
11/16/99
Version 1.180
* Fixed a problem that caused a bad memory reference in a new test added
for full width heading banners in the previous version.
* Removed a warning about invalid group types for classifications with
empty group type fields.
* Added "ansi" and "ansi7" options to runcpag.sh to select terminal types
for doing screen captures. ansi produces 8-bit files for manuals, and
ansi7 produces 7-bit files for email.
* The "unload.sh" script now shows all of the command line options if you
do not give it any parameters.
11/30/99
Version 1.181
* The classification database has the new fields
"Agate Scale"/"Escalar Lineales" and "Display Ad Scale"/"Escalar Destacados"
to set a classification-specific scaling percentage.
The scale factor is multiplied by the scale factor of the outer class.
ClassPag treats an empty or 0 value as 100%.
The scale factor is multiplied by the edition-wide scale factor in the initial
edition parameter screen.
* ClassPag now supports classification-specific agate fillers.
ClassPag now saves the classification entered with each filler.
It used to use the classification only to select just fillers with active
classification, but once it selected a filler, it could place the filler
anywhere.
If a filler has an empty classification field, ClassPag treats it as a generic
filler that it can place anywhere.
If a filler has a value in its classification field, ClassPag will place the
filler only with ads compatible with the classification. ClassPag treats two
classes as compatible if they are the same or if one is nested under the other.
* Classifications have a new "Filler Group"/"Grupo de Rellenos" to specify
the top level classification of fillers that ClassPag can place next to ads
in that class. The filler group of the top level classification defaults
to the top level classification. The filler group of other classifications
defaults to the filler group of their parent.
A filler of a given class is only compatible with higher level classes that
are contained in the filler group of the filler's class.
For example, to make a square-off with its own private set of fillers,
set the filler group of the top level class of the square-off to the class
and set the classification of the fillers to the class.
* Banner images have a new field Side/Lado with the values ANY, LEFT or RIGHT.
The default is ANY. This field allows alternate TOP, BOT, MARTOP and MARBOT
images for left and right pages of square-offs.
* When ClassPag unflows ads and shifts locked line ads up, it now removes
extra leading above the top line ad.
* Fixed a problem where the "Equalize columns"/"Dividir columnas" command
would place column headers based on the classification of display ads at the
bottom of the page instead of the line ads that it was placing.
* Fixed a problem where the "Equalize columns"/"Dividir columnas" command
would not place column headers on saved columns.
* Fixed a problem where folio blobs 4 and 5 would sometimes not work.
* Updated the SCS URL in makehelp.sh.
* Added a new test to setup.sh for sco consoles that need
XFontSize=20 at 1024x769 and XFontSize=24,12 at 1600x1200.
* The readcla interface program now avoids using the FL command on lines with
the PI command.
* The readcla interface program now uses "1c" instead of "7p" in all commands
except for the initial "dc". To change the column width, the first line
of the ad text should use <scs/cl 0/dc XX/ql><cf/...>, for example
</CLSAD/5543/TestSmall>
<scs/cl 0/dc 4p/ql><cf/HV/6/7/8>Test for short columns. <QJ>
The cut rule below should be 4 picas also. <QJ>
<scs/cl 0/el 2.5t/dr 1c,0.5t/ql>
* When you enter a banner image in a directory other than the normal banner
directory, ClassPag no longer skips checking the bounding box after displaying
the warning about the directory. This makes it easier to save banner image
EPS files in different directories.
* Fixed a problem where ClassPag would not place header banners (banners
with type "P", a valid classification, a non-empty request name and a position
request of "E") on the first column of a classification that started on a
new column due to a classification start request.
* ClassPag used to omit the banners for service directories if the height
of the largest top banner plus the height of the largest bottom banner was
more than half the height of the page. It now allows larger banners.
ClassPag builds service directories assuming the worst case of the tallest
banners. When possible, you should make the banners for different widths
all approximately the same depth.
* The example backup script now exits on systems with Sentinel disk mirroring
when the current system is not the active server.
* fix.sh now corrects reverse video on Sun consoles.
* convprod.sh now shows a syntax message if you run it without any arguments.
12/8/99
Version 1.182
* Fixed a problem where the "Equalize columns"/"Dividir columnas" command
would not place column headers on locked columns.
* Improved the use of fonts. The /u/comp/code/bin/pcspool program (the module
of the SCS Composition engine that creates the EPS file for the line ads)
now generates a smarter encode command that does not reprocess fonts that
it has already encoded. (The encoding places characters in the positions
that the Font Creator program expects and constructs accented characters.)
When ClassPag detects an eps file generated by the new pcspool program
and the configuration file lists fonts to preload, in addition to preloading
the fonts, ClassPag also pre-encodes them. Only encoding each font once per
file instead of once per ad makes pages view a little faster. Also, when
converting the pages into PDF, this makes one font object for font instead
of one font object for each ad, which helps Adobe's PDF viewer which can
handle only a few thousand font objects.
* For EPS output on Level 2 interpreters, pcspool now saves its SCS-encoded
fonts into global memory. The author of ghostscript studied a sample of our
PostScript output and sent me this change. It makes the gs ps2pdf distiller
run over ten times faster and make smaller output. On mip486 with a 30 MB
ClassPag PS file with 60 pages of Clarin line ads, before this change,
gs crashed from using more than 64 MB of virtual memory after 45 minutes.
After this change, gs produced a 5.4 MB PDF file after 4 minutes 42 seconds.
* The product configuration screen "Additional PostScript"/"PostScript
adicional" now has five additional "Fonts Used"/"Fuentes usadas"
lines and "Download fonts"/"Cargar fuentes" flags for entering the names
of fonts to preload. The new font usage optimizations only affect fonts
listed in the "Fonts Used" fields. The optimization does not require
downloading the fonts. As before, you should mark fonts for downloading
only if you have no way to store them on your RIP.
* The lengths of the terminal name and import directory fields are increased
from 20 to 30. This allows import directories to have more descriptive names.
* The command "Check for conflicts"/"Checar conflictos" now asks
"Do extra scan for internal ad images"/"Buscar imagenes de avisos internos".
If you say "Yes", it will check the locations if internal ads in the EPS file.
This can be useful if you suspect that the eps file is corrupted.
* The Setup -> "Set Class Names"/"Fijar Nombres Clasif" has a new command
"Load Class Titles"/"Leer Titulos de Clases" that helps you load
classification names from a text file with fixed length records.
It first opens a file brower where you can select a text file that contains
a list of the classification titles. Then it takes you to a window where
you can set the positions of the classification name and title on the lines.
The command key (F12) opens a window to set the field attributes and to
accept the field positions or quit without doing an update.
If you select "accept", ClassPag will load the fields according to your
specifications.
* ClassPag can now handle sort files (classsrt.out files) in Mac format
with lines terminated by carriage returns (ascii 13) instead of line feeds
(ascii 10). When it detects a Mac-format sort file, it uses the scs "addcr"
program to convert it.
* The Setup -> "Log Files"/"Archivos de Apuntes" menu now has an entry
to run the "top" system monitor program.
* The maketar*.sh scripts now check for /usr/local/bin/tar. If they find it,
they use command line options for gnu-tar instead of options for sco's tar.
* When /usr/local/bin/uemacs exists, ClassPag uses it instead of emacs
to avoid problems on systems with gnu-emacs installed as "emacs".
* When reading mail, ClassPag first looks for /usr/bin/X11/mailtool if it
does not find /usr/bin/X11/scomail.
* ClassPag can now handle the longer sort file trailer sections.
SII creates trailer sections several times longer than the ones
created by SCS or VisionData.
NOTE: Sites with AdMax should install a version of the pcspool program dated
on or after Dec 3, 1999, on their AdMax server in order to take advantage of
the new font loading optimizations.
NOTE2: On Dec 3, 1999, Bob H. fixed a problem in composition with segmented
ads with exactly three segments and a zero-length last segment introduced
in a change on Jan 7, 1999.
He also fixed another problem where Composition wrote the unparsed text of
incompatible commands after a FL (FitLine) command into the EPS output.
Sites with segmented ads should install a new version of spice on their
AdMax and ClassPag servers.
NOTE3: This version differs from the previous version by over 2800 lines.
It is for testing the new features.
12/16/99
Version 1.183
* setup.sh now checks to add /usr/openwin/bin and /usr/ucb to the path
when they exist.
* The font creator formula is now in the Composition distribution in
$COMP_SPICE, which is usually /u/comp/code/bin/spice. To run the formula, use
$TOOLS/spice $COMP_SPICE/creator.xfm creator -if fontname
where "fontname" is the Composition name for a font that you have already
entered into Composition. The creator formula creates the file fontname.fnt
which you can add into the Composition font width tables with the command
fontdef -a fontname.fnt
To add a font into Composition, you need to
1) locate a copy of the PostScript font file for the font (the file should
have the same name as the font that it contains),
2) select a font name for use in Composition commands (uppercase, up to 10
characters), and
3) select an unused font position in Composition (a number from 11-255 for
normal fonts or a number from 1-10 for symbol fonts).
Here is a full example to enter the PostScript font FranklinGothicITCbyBT-Book
into Composition as font FGBK in position 64:
1) Enter the font into the environment manager. For example, in ClassPag, use
Setup -> Modify Environment ->
View/Modify environment tables -> C Composition -> <Insert>
___________________________[ Environment Manager ]____________________________
__________[ Select Command ]__________ ________[ Environment Tables ]________
| View/Modify environment tables || ID Description |
| Display summary of shared memory ||______________________________________|
| Load all tables into shared memory || A AdMAX |
| Delete all tables from shared memory || C Composition |
| Exit Environment Manager || ] Global Environment |
| || |
|______________________________________||______________________________________|
____________________________[ "C" - Composition ]_____________________________
| Name Description Value |
|______________________________________________________________________________|
| PS_FONT_64 FGBK FranklinGothicITCbyBT-Book ^
Select an unused number, in this case 64.
Set the name to "PS_FONT_" plus the number, the description to the name
of the font inside Composition, and the value to the exact PostScript name
of the font (including the exact upper and lower case of each letter and all
dashes and other punctuation).
2) Exit to a unix command line and go to the directory "/u/scs/gs/fonts.site".
3) Copy the PostScript file for the font into this directory.
The font file must have the exact name of the font that it contains.
4) Run the command
$TOOLS/spice $COMP_SPICE/creator.xfm creator -if FGBK
where "FGBK" is the name of the font inside Composition.
The creator program will write the file "FGBK.fnt" in the current directory.
If you get warnings about not being able to find font metric files,
check that the file /u/gnu/gs4/lib/printafm is executable and contains the line
exec gs -q -dBATCH -dNOPROMPT -dNOPAUSE -dNODISPLAY -- printafm.ps "$@"
5) Run the command
fontdef -a FGBK.fnt
where "FGBK.fnt" is the name of the font file to enter into Composition.
If this gives errors about an invalid character map or keyboard map, use
CHMAP='[NOMAP]' KBMAP='[NOMAP]' fontdef -a FGBK.fnt
6) If you get an error that the font table is full
Make sure that no one is running any SCS applications on the server.
Dump the font table
fontdef -d fontdef.dmp
Reinitialize the font table with
/etc/init.d/scs stop
/etc/init.d/scs start
Then re-run the fontdef -a command to add your font.
7) If you still get a message that the font table is full
Make sure that no one is running any SCS applications on the server.
Dump the font table
fontdef -d fontdef.dmp
You might want to keep an additional backup with the date, for example,
fontdef -d fontdef-1991216.dmp
Check the size. You can find the number of fonts in the table with
fontdef -l | wc -l
The dump file should have a little under 300 lines per font.
wc -l fontdef.dmp
The dump file should have a little under 10,000 characters per font.
wc -c fontdef.dmp
If the sizes are about right, clear the font table with
fontdef -i
Confirm that the font table is empty with
fontdef -l
Restore the fonts with
fontdef -a fontdef.dmp
Then re-run the fontdef -a command to add your font.
8) If you still get a message that the font table is full
If any SCS applications are running, they could lock the shared memory
resource used by Composition and prevent Composition from expanding the table.
Shut down the server and reboot it.
* lnexe.sh (used by maketar.sh to copy executables from development areas)
now makes symbolic links instead of copies when the executables are on a
different filesystem. This saves lnexe.sh and the strip calls in maketar.sh
from writing the executables over NFS.
* maketar.sh has a new -os option to add the operating system name to the
distribution file if the current system is not SCO Unix 3.2v4.
The -kit option enables -os by default.
* Fixed the Mac classsrt.out conversion under X displays.
* ClassPag now trims trailing spaces from the sort key inside ad boxes
and in the status area. This allows ClassPag to show more information on
the screen for ads with short sort keys.
* makegif.sh has a new -s# option to scale gif and jpeg files.
For example, to convert EPS files in /u/displayads starting with an "a"
to gif files in /u/gif reduced to 1/4 of their original size, use
cd /u/displayads
/u/cpag/makegif.sh -gif -s0.25 a*
The scale factor must follow the -s without any spaces between them.
This option can create thumbnails of ads for use on web pages.
* Fixed a problem where enabling a "Level First Page" option could
prevent ClassPag from placing top-of-column classification headers.
* updprod.sh has a new -g option that does the same as -q for
compatibility with the /g option of the tools update program.
* setup.sh now recognizes the "tty" return of "not a tty" and avoids
running "stty".
* maketar.sh uses "-level 0" with find to avoid taking subdirectories
of "interface".
12/17/99
Version 1.184
* The field "PS Type"/"Tipo PS" on the printing setup screen
"Paper Definition"/"Definicion de Papel" has a new value "BEPS" that
creates an EPS file with the bounding box trimmed to the ads on the page.
If you have a page with just a service directory, you can use this
option to convert it into an EPS file that another session could
place like a display ad. The bounding box does not include any
extra leading around the ads, but will still have leading built into
the ads.
* The "Classified Heading Specifications"/
"Especificaciones de Encabezados de Clasificaciones" configuration screen
has a new field "Place wide headers over liners"/"Colocar cabezales anchos".
When this field is "Y", ClassPag will place multi-column class headers over
columns of ads (for classifications that have multi-column class headers)
instead of repeating the single-column version.
* Expressions in print commands and in folio template file names can use
the new variables "RequestName" and "RequestPageNumber". If the page has
a request, RequestName is the name of the request and RequestPageNumber is
the page number counting from the first page of the request.
Otherwise, RequestName defaults to BookName and RequestPageNumber defaults
to BookPageNumber.
For example, if "garg" is a Garage sales service directory on pages 5 to 8,
on page 7, RequestName would be "garg" and RequestPageNumber would be 3.
If you are creating EPS pages for square-offs that you will pick up as banners
in a later session, you can use these variables to save the pages with fixed
names in a common directory so you do not need to set the file name when you
save them or modify the banner image file names when you pick them up.
* ClassPag did not ignore all parts of class heading type banners when
the count was 0.
* Fixed a problem where ClassPag would not place ads under manually
positioned multi-column class headers.
* Fixed a problem where ClassPag would not place a classification banner
if the class at the top of the column had line ads but no class header.
* Added shell scripts, make files and other build scripts to maketard.sh.
* maketar.sh now handles systems without a "-level" option in find.
12/20/99
Version 1.185
* Windows to modify banner text segments now have the three commands
"Copy main and finish to start"/"Copiar texto y fin a principio",
"Copy start and finish to main"/"Copiar principio y fin a texto" and
"Copy start and main to finish"/"Copiar principio y texto a fin"
to copy two parts of the current segment to the third part.
This makes it easier to redesign a text segment if you entered a long
sequence of commands into the main part and then want to divide it
into start and finish parts to reduce the commands visible to users.
* Fixed a problem where the "call CopyImportFiles" value for the
import command would not let you see weekly or special import area.
* ClassPag now saves the "Level First Page" option of each work area
in its control record. This allows papers that paginate different
dumps with different level options to set the correct level option
in the control record for each import directory instead of setting
the level option manually in the product configuration setup.
* The pagination parameters screen has two new fields,
"Level Pages"/"Nivelar Paginas" and "Initial Level"/"Nivelar Inicial".
The first field shows the current level option.
You can set it to "NO", "INIT", "ALL" or "LAST".
The second field shows the level option in the product configuration.
* The page display command window has a new entry
Cmd -> Misc... -> "Level pages"/"Nivelar paginas" to change the level value.
If the liners are flowed and you change the level option, ClassPag will
automatically reflow them using the new level value.
* The "Level First Page" option to level the first page now produces
better results when paginating front to back and the edition has
more pages than needed. In general, when leveling any pages,
you should set the page count to the minimum value possible to
avoid overflow pages.
* The "Ad Importing"/"Importacion de Avisos" product configuration screen
has a new field "Class Suffix Length"/"Largo de sufijo de nombres de clases"
to nest classes with suffixes. For example, if the field is set to "2",
the ClassPag import procedure will nest "123AA" under "123".
Use this for interfaces that append a fixed length sort key classifications.
Every classification in the sort file must have a suffix of the same length.
Higher-level classifications, like "123" must have spaces in the suffix area.
This field does not apply to the cardex file.
If the interface writes class headers only for higher-level classifications,
and you want column headers over each column, you can set
"Repeat heading of parent class" to "COPY".
* If two classes have the same sequence number, ClassPag now orders them
by their class name. This helps with suffixed classifications because
ClassPag must assign them a sequence number of 0 in order to precede
non-suffixed classes under the same parent classification.
Using the order in the sort file would not work because it would require
integrating display ads in order, and some interfaces append the display
ads at the end.
* ClassPag no longer includes an XBoundingBox comment with pages created
with the type "BEPS". ClassPag needs the XBoundingBox comment to find the
size of the imaged page area when building spreads from a posting area,
but the comment has the wrong size for converting square-offs on a page
into ads.
* Changed setup.sh to define SPICE_PALETTE on systems with old versions of
/u/scs/spicedef that do not set it. When SPICE_PALETTE is not set correctly,
den menu bars will be blue instead of gray.
* Added a -v option to testdef.sh to create a verbose def listing.
* Added "-man" and "+man" options to maketard.sh.
-man (the default) includes the manual source.
+man skips the manual source.
12/21/99
Version 1.186
* The import step to fix the class areas now also updates class titles.
If the sort file does not assign a class title or sets it to the class number,
ClassPag will check in the class name database and if it does not find a title,
it will take the title of the parent. This allows ClassPag to generate useful
titles when using class name suffixes and suffixed classes do not have headers.
* The configuration screen "Ad Importing"/"Importacion de Avisos" has a new
field "Update class titles from class names"/"Actualizar titulos desde base
de datos". When this field is enabled and the import step to fix the class
areas finds an entry for a class in the class name database, it will set
the class title in the work area to the class title in the class name database.
Use this only when the interface creates dump files without useful data in the
class title field. For example, some front-ends place the numeric ad number
of the class header in the title field. Otherwise, if your front-end writes
reasonable values, you should set this field to its default value of "N".
* Fixed a problem where ClassPag would not place a classification banner
when a "Level First Page" option was enabled.
* The maketar scripts now remove files with "junk" in their name from
the file list.
* The fixperm.sh script uses the xpg4 version of the "id" program to find
the group id if the normal "id" program does not support "-g".
12/29/99
Version 1.187
* If the import procedure did not see a classification with a parent of ******,
it would create an entry for the parent of the final class it processed.
It now creates the entry only when there is no import fixup formula
because the fixup process is smarter about nesting and sequencing classes.
* loadfont.sh searches fonts.site* instead of fonts.site in /u/scs/gs and
/u*/gnu. This makes it easier to load temporary font areas.
* setup.sh now adds fonts.site* directories to GS4_INC similar to loadfont.sh.
* Added WORK to the environment variables unset by unsetcp.sh.
1/12/00
Version 1.188
* ClassPag can divide long ads into segments automatically.
In the "Legal and Segmented Ad Specifications"/
"Especificaciones de Avisos Legales y Segmentados" configuration screen,
the field "Minimum Auto Seg Depth"/"Auto Segmento Minimo" sets the smallest
ad that ClassPag will divide into segments and the field
"Default Auto Seg Depth"/"Auto Segmento Altura" sets the size of the segments.
To enable segmenting, you must set both of these fields larger than 0.
The field "Auto Segment Ads"/"Dividir Avisos" has the values "NO", "TOP" or
"BOT". "NO" means not to segment ads. "TOP" divides ads from the top
with an initial segment of "Minimum First Segment"/"Primero Segmento Minimo".
"BOT" divides ads from the bottom with a final segment of
"Minimum Last Segment"/"Ultimo Segmento Minimo".
ClassPag currently segments only ads in legal classes.
It segments the ads during the import step, so when you change the parameters,
you must reimport the ads for them to take effect.
For the best results, the segmented ads should have a regular format with
a fixed line spacing. If the ads start with a variable title or logo and then
change into a fixed format, you should divide the ads by the bottom and set the
minimum first segment to the maximum expected size of the variable part.
* Agate ads can have the request "SEG1", "SEG2" or "SEG3".
Use SEG1, SEG2 and SEG3 to divide a single eps stream into segments as
a last resort for interfaces that know the depths of good break points but
can not generate a separate eps stream for each segment.
You can not mix SEG1, SEG2 and SEG3 with other segment flags in the same
ad. All of the segments must have the same eps file offset and length.
* When a classification with a multi-column class header has subclassifications
that can use its column header, ClassPag treats the copied column headers as
compatible with the parent class header when it checks to replace single-column
headers with a multi-column version.
* The "Margins for Paginated Area within Pages"/"Margenes para Area Paginada
dentro de Paginas" configuration screen has a new field
"Warn if the margins are too large"/"Advertir si las margenes son grandes"
to display a warning when you print pages if the size of the margins plus the
size of the page image is larger than the size of the paper or film that you
are printing to. If the page image alone would fit, ClassPag can reduce the
margins in order to print the page. The default value is "Y" to show the
warning.
* The "Margins for Paginated Area within Pages"/"Margenes para Area Paginada
dentro de Paginas" configuration screen has a new field
"Warn before printing all pages"/"Advertir antes de imprimir todas paginas"
to ask if you are sure when you select an option that will print all of the
pages. The default value is "N" to suppress asking the question.
* maketar.sh now uses gnu-find instead of the system find when it exists.
The SCO 3.2v4.0 find does not support -level or -prune.
* Fixed the date sorting in the makeesc6.sh script for Vision Data interfaces.
The Vision Data interface passes dates as MM/DD/YYYY. When the year would
change, if you made dumps for the same edition in both December and January,
the sort in the menu would think that the December dump was more recent than
the January dump.
* The "y)es N)o c)ardex-file only s)ort-file only >" prompt in the makeesc6.sh
script used to treat "Y" as "y" and "S" as "s". Now uppercase replies show all
of the dumps instead of just the most recent dump. You can use the uppercase
values if you think that the script is not showing the correct dump or if you
want to see an old dump. Since some sites run the script in a small window,
the prompt does not have room to show the new options.
* The list in the "Ads -> Agate Ads" now shows the ad depth in centi-points,
the ad request flag, the ad color flag, and the eps length in bytes.
You can use the centi-point depth and the request fields to verify the
auto segmentation. You can use the eps length field to scan for ads with
large logos.
* When ClassPag floats multi-column ads, it now will preserve the configured
leading values, even if that would leave the ad uncentered. This change helps
ClassPag combine cut rules because ClassPag only combines cut rules that have
the same position, and ClassPag will not reduce the leading below the configured
value in order to line up ads.
* Outext file ad records now include the class name in columns 1-10 of card 2
and the class title in columns 11-20 of card 2. The classification information
should help to identify ads, and it could help when writing reports.
The interfacing guide is not clear about columns 5-10, so the positions
might need to be changed.
* A pre-scan to find the smallest ad within the look-ahead range did not check
for compatible sort keys and could have started a class in a column without
enough space.
* If you modify a product configuration record and quit without saving the
record, ClassPag will ask if you are sure. This reduces the chances of
losing changes by accidentally leaving with a control-Z.
1/21/00
Version 1.189
* In the banner setup window, the command
"Copy from another entry"/"Copiar de una otra entrada" to copy a banner
and its images now asks
"Show all products"/"Mostrar todo de los productos" to control whether
the copy window shows banners from all products or just the current product.
The copy window now also has a command to ask the question again, so you
do not have to close and reopen the window if you change your mind.
Limiting the banners in the window should make it easier to find and copy
the images from one banner to another within the same product.
As a reminder, the copy window shows all of the available banners.
Select a banner, and then set the banner name and other fields to the values
that you want. ClassPag will copy the banner record, image records and text
records for that banner into the current edition. If you set the banner name
to a name that already exists, ClassPag will leave the banner record alone
but will copy any images that do not already exist.
* The commands in banner and page name windows to enable and disable square-offs
now change banner records for edition 0 in addition to the current edition.
The commands used to leave banners in edition 0 untouched if a banner existed
in the current directory so papers with several editions could have a default
banner in edition 0 and a few specialized ones in other editions.
If your banners are set up that way and if you regularly enable and disable
them, you should make versions of the banner for all editions.
Sites with banner margins sometimes enter the common margins images into
a banner in edition 0 and the edition-specific top and bottom images into
edition-specific banners. In order to enable or disable banners, they must
update both the common and edition-specific banners. This change should
help where people forgot to update the common banner. If this causes problems
in other sessions that need the common banner, you should use the
"Copy from another entry" command to copy the images of the common banner into
all of the edition-specific banners and then delete the common banner.
* The "Vertical Spacing Specifications"/"Especificaciones de Espaciado Vertical"
configuration screen has a new field "Max Repeat"/"Max" for the maximum number
of times to repeat line ads used to fill the front page when
"Fill Front Page w/ Liners"/"Rellenar Pagina Primer con Agates" is enabled.
The default value of 0 allows an unlimited repeat count.
A value of 1 prevents repeating line ads.
* The "Legal and Segmented Ad Specifications"/"Especificaciones de Avisos
Legales y Segmentados" configuration screen has the new fields
"Legal Rules for Agate Ads"/"Lineas para Lineales" and
"Display Ads"/"Destacados" to control the placement of cut rules.
If the field for agate ads is enabled, ClassPag places cut rules according
to the "Horizontal Rule Before"/"Linea Horizontal Antes" and
"Horizontal Rule After"/"Linea Horizontal Despues" values for legal ads,
otherwise ClassPag uses the values for agate ads.
Similarly, if the field for display ads is enabled, ClassPag places cut rules
according to the values for legal ads instead of the values for display ads.
By default, ClassPag uses legal ad specifications for legal agate ads but
display ad specifications for legal display ads.
If you build legal display ads using formats in your classified front-end
instead of importing them as EPS files, you might need to set both of these
fields to "Y".
* The classification "Start Request"/"Iniciar Solicitud" field has the new value
"2" to move a classification forward from page 1 to page 2. Papers that fill
the first page with special requests and fillers and then start flowing normal
classes on the second page can use "2" instead of "T" (start at the top of the
next page) for cases when the special requests overflow onto a second page.
With "2", ClassPag will start the normal classes wherever the special classes
stop on page 2, while with "T", ClassPag will start the normal classes on
page 3.
* The classification "Randomize"/"Aleatorio" field has the new values
"G" and "I". "G" marks a classification as classification for legal ads
without changing the lookahead. "I" sets the lookahead of a classification
to the maximum (infinite) value without marking a classification for legal ads.
* The "Vertical Spacing Specifications"/"Especificaciones de Espaciado Vertical"
product configuration screen has the new fields "Legal Types"/"Tipo" that pair
with the fields "Legal Classes"/"Clases con Legales". The type fields have the
same possible values as the classification "Randomize" field.
The type defaults to "L" for legal classifications with an extended lookahead.
* The preview command "Edit square-off ranges"/"Editar encuadrados" now asks
you to reload ads if you enable or disable a square-off. Before this change,
you had to exit to the initial screen and restart the pagination session in
order for the change to take effect.
* The preview command "Position..."/"Posicion..." now has the new command
"Paste a filler by wid"/"Traer relleno/ancho" to position a display filler.
It works like "Paste a filler"/"Traer relleno" except that it shows the
filler size before the filler name so you can use the keystrokes "1" through
"9" to jump to a filler of that width no matter what method you used to
name your fillers.
* The preview command "Lock..."/"Bloquear..." has the new commands
"Mark page range"/"Marcar rango de pags." and
"Unmark page range"/"Desmarcar hilera de pags." to mark or unmark a range
of pages for printing. When you select one of these commands, ClassPag
opens a form where you can enter the other page of the range.
ClassPag will mark or unmark all pages between and including the page you
entered and the current page.
* When ClassPag unflows ads, it now keeps class headers between display ads
and other display ads or the top of the page (for products with headers at
the tops of pages). This should produce better behavior for sites that
place class headers between display ads.
* When ClassPag unflows ads, it now unflows one-column display ads that it
flowed in-column instead of dummying. This should prevent strange ad stacks
on pages with many one-column display ads.
* Fixed a problem where Command -> Ads... -> Edit the ad position would
align the bottom of the ad at the position instead of the top of the ad.
* Fixed a problem where ClassPag would not place classification banners
on pages with island ads. In general, ClassPag does not place classification
banners on pages with ads positioned from the top of the page. When ClassPag
sees an island ad at the bottom of the top stack, it now temporarily pushes
the ad to the top of bottom stack.
* Fixed a problem where positioning a copy of an island ad would change
the original into a normally positioned ad.
* If the setup has "N" for both pyramid left and right, ClassPag now acts
as if they were both "Y".
* Fixed problems in ad positioning and column justification that could cause
multi-column ads stacked from the top of the page to overlap.
1/21/00
Version 1.190
* When ClassPag writes EPS output, the generated postscript uses a different
save area than when it writes postscript output. This change should fix
problems when inserting EPS output from one run into a later run.
1/27/00
Version 1.191
* ClassPag can now trim leading from internal ads. In the product
configuration, class headers, agate ads and display ads have a new field
"Depth Adjustment"/"Ajuste de Alto" to specify the amount of space to add or
remove to the depth of the ad. Use a negative value to trim leading.
If ads have extra space at the top, use "Position Adjustment"/"Ajuste de
Posicion" to raise the ad (which pushes the extra space above the top of the ad
and opens space at the bottom of the ad) in addition to the depth adjustment.
(Positive Position Adjustments move the image up; negative Position Adjustments
move the image down.)
For example, to remove space from both the top and bottom of ads, set the
position adjustment to the amount of extra space on the top and the depth
adjustment to the negative of the combined amount of extra space on the top
and bottom. ClassPag applies the depth adjustment at import time rather than
pagination time, so you must rerun the "read" step of the import command if you
change the value.
* You can now select the action of the "f" hotkey (which opens a list of
fillers) through the "List Fillers by"/"Ordenar rellenos por" field on the
"User Preferences"/"Preferencias de Usuarios" product configuration screen.
Select "NAME" to show the filler name first or "SIZE" to show the size first.
* Expressions in print commands, banner text and folios can now access the
product id through the ProductId variable. If a site has several products
and some products need slightly different print options (for example, when
the print command generates an eps file), you can test the product id to make
a single smart print command rather than depending on users to select a
different print command for each product.
* Added a -mopen parameter to the rcpuniq.sh script that generates several
"open" commands in the ftp script for ftp servers that sometimes do not accept
new connections under heavy loads. If you have this problem, you should
increase the number of connections in "inetd" or "ftpd" (depending on how
you start the ftp server). For example, on SCO OpenServer 5, inetd has a
-l option to specify the maximum backlog of requested connections.
* Fixed a problem where ClassPag would flow column headers between line ads
of different classes when the classes had only column headers (and no normal,
flowable headers) and the option to place class headers over display ads
was enabled.
* When ClassPag is leveling pages and a page that needs a class banner has
some space but not enough for the banner (possibly due to an island ad),
ClassPag will increase the leveling height instead of omitting the banner.
* ClassPag now shows ad description information for internal display ads.
* In the box information window, ClassPag now labels the ad type
"Type"/"Tipo" instead of "ElemType"/"TipoElem" and the ad description as
"Desc"/"Desc" instead of "Source"/"Creador".
1/31/00
Version 1.192
* ClassPag can now look ahead over different classes. The classes must have
the same parent class, no flowable class header and the same column header.
This can happen when you divided a class into subclasses by sort key values in
order to place display ads with line ads with both the same class and sort key.
The product configuration screen "Agate Ad Specifications (Continued)"/
"Especificaciones de Avisos Agate (continuado)" has a new numeric field
"Classes Look Ahead Amount"/"Poder Ver Adelante entre Clases" with the
number of additional classes to scan. The default is 0, which disables
the scan into other classes. A value of 1 would allow the look ahead scan
to enter the next class. The sort keys of ads in the additional classes
must still match the first unplaced ad in the original class for the
look ahead sort match length.
* Added a new position command "Position same height"/"Posicion al alto mismo"
to position a copy of a filler or to move the original of a display ad to the
column that you select but at the same height as before. Use this command
if you want to place a copy of a house ad at the same height on several pages.
* The spread field "Add a Slug Line"/"Agregar una linea libre" has the new
values "YES", "NO", "SINK", "PROOF", "PSLUG", "PSINK" and "DEMO".
"YES" writes a slug line (the same as "T").
"NO" omits the slug line (the same as "F").
"SINK" writes the slug line starting from the height of the tallest ad instead
of the top of the page.
"PROOF" writes the word "PROOF" over the page in gray scale.
"PSLUG" writes a proof message and a slug line.
"PSINK" writes a proof message and sinks the slug line.
"DEMO" writes the word "DEMO" over the page in gray scale.
If you are generating partial-page square-offs for paste-up, the SINK options
place the slug line closer to the square-off block so you can trim the block
without losing the slug.
When you print test pages during training, the PROOF options help to prevent
accidentally publishing a test page.
* The printer definition database has the new fields
"Can Print PS"/"Imprimir PS" and "Text"/"Texto".
The fields tell whether the printer can handle PostScript files and text files.
The default value is "Y" to allow both PostScript and text.
You should set RIPs for PostScript only and line printers for text files only.
Windows to select printers now check these fields.
* The product configuration screen for "User Preferences"/"Preferencias de
Usuarios" has the new fields "Report Printing Pop Up Shows: Print"/"Pantalla
para imprimir mostra: Imprimir" and "Select"/"Seleccionar" to set the options
in the "Report Completed" pop up. The default value is "Y" to produce
a pop up with the choices "View", "Print", "Select" and "Done".
"View" views the report in a text editor.
"Print" prints the report to the printer specified by the "Report" entry
in the paper database.
"Select" shows a list of printers and sends the report to the printer that
you select. The "Select" option is new.
"Done" closes the pop up.
If all users always print reports to the same printer, you can enable "Print"
and disable "Select".
If each user has their own printer, you can disable "Print" and enable "Select".
Otherwise, you should leave both "Print" and "Select" enabled.
* The product configuration screen for "Margins between Pages when
Printing"/"Margenes entre Paginas cuando se Imprime" has a new field
"Thickness of Border"/"Grosor de Borde" with the thickness of the lines in the
box to draw around missing ads. The default is 0 for a hairline rule, which
might be hard to see on a high resolution output device. ClassPag scales the
border thickness with the page to keep it in proportion on reduced pages.
Use a negative value to omit borders.
* The ad list in the page display from Command -> Ads... -> Scan Images
now has the new options "Toggle Missing Ads"/"Activar/Desactivar Seleccion
de Faltantes" to restrict the list to ads with missing EPS files and
"Toggle Incorrectly Sized Ads"/"Activar/Desactivar Seleccion de Avisos Fuera
de Medida" to restrict the list to ads with incorrectly sized EPS files.
The option in the list to rescan the images now reloads the list so you
no longer need to exit and reopen the list to see the updates.
The reports of missing and missized ads in the current run now show an
abbreviation of the ad type instead of its internal numeric value.
The reports of missing and missized ads in all books now show an abbreviation
of the ad type. Also, the reports have been incorrect since a change to the
ad database in version 1.178.
* The filter to remove special characters from file names now removes initial
periods (.) and allows dashes (-) in any position but the first.
This allows you to create save area with dashes in their names.
* Fixed a problem where the missing ads and incorrectly sized ads reports
could show stars for the width of ads with a 0 width.
2/3/00
Version 1.193
* The pop up in the command to scan for conflicts that asks if you want to
scan the EPS of internal ads now shows the size of the ceps.out file.
* Added a -name option to copyuniq.sh. With the -name option, the first
parameter should be a file to create instead of a directory.
You can use this as a copy command with reversed arguments for generating
command lines in the printer database for storing eps files.
* When a multi-column ad has ads under it in any column, ClassPag will flow
liners under the other columns, even if the space is less than the classified
heading minimum flow depth.
* Fixed a problem where ClassPag would sometimes include the space of the
column header when estimating the amount of space needed in a column for
classes with no main class headers.
These changes will need testing to ensure that they do not cause ClassPag
to place headers in columns with no room for line ads.
* Note: the classified heading minimum flow depth is the minimum space that
must remain for flowing other class headers and line ads after placing a
class header. It should not include the depth of the class header.
* Increased the number of legal classes in the product configuration from three
to six. This provides more control over setting special attributes for classes.
* The view box command now writes the ad number in the %%Title document comment.
* The page display now shows text in small ad boxes that it used to leave empty.
* When the rcpuniq.sh script generates ftp commands, it now does a "pwd" command
after setting the directory and a "dir" command after sending the file.
This adds more information to the log to confirm that the files were sent.
It also has a new "-sleep #" parameter to change the number of seconds to sleep
in the xterm from the default of 3. You can set it larger for more time to
read the xterm text.
* The pagination formula closes more files when you leave. This might fix
problems where the column reservation window would show old values if you
paginated, then left, copied from a work area, and then returned to a
pagination system.
* Added "Mark all pages"/"Marcar todas las pags." to the Command -> Lock
pagination menu to select all of the pages.
* When you set ClassPag to leave the last column unjustified, it used to
still justify columns with less space than either the column justification
threshold or the minimum flow depth. It now also justifies columns with
less space than the minimum unjustified depth, "Min Unjustified Depth"/
"Prof. Min. No Justificada" on the "Vertical Spacing Specifications"/
"Especificaciones de Espaciado Vertical" product configuration screen.
For example, if most of your fillers are at least an inch and if your column
justification threshold and minimum flow depth are both only a fraction of
an inch, you could set the minimum unjustified depth to an inch. That way,
ClassPag will justify the final column when it has less than an inch but still
create a reservation if the final column has an inch or more.
* Added control over whether ClassPag unflows one-column display ads that
are not flowed between line ads. Set the field "Unflow In-Column Display Ads"/
"Desfluir avisos destacados puestos en columna" on the product configuration
screen "User Preferences"/"Preferencias de Usuarios" to "Y" to unflow most
one-column display ads (the behavior added in version 1.189). The default
value of "N" keeps most one-column display ads positioned when you unflow.
2/5/00
Version 1.194
* The paper definition has the additional "PS Type"/"Tipo PS" values of "BREPS"
and "CREPS" that work like "BEPS" and "CEPS" except that if the rightmost used
column is not the rightmost column of the page, "BEPS" and "CEPS" set the
rightmost edge of the bounding box to the rightmost edge of the last column
while "BREPS" and "CREPS" extend the bounding box by the width of the gutter
in order to capture vertical cut rules.
For example, on a 10 column page with only the first 8 columns used,
"BEPS" and "CEPS" would set a width of 8 columns plus 7 gutters while
"BREPS" and "CREPS" would set a width of 8 columns plus 8 gutters.
Use "BEPS" and "CEPS" when making EPS files that you will pick up as ads or
banners in other ClassPag sessions.
Use "BREPS" and "CREPS" when making EPS files that you will paste into
other programs.
Note that the "pstoepsf.sh" procedure to make previews depends on a bounding
box that starts at the lower left of the page (position 0,0). If you make
previews, you must use the "EPS" value. If you use any of the other values
that crop the page, tbe preview will be offset by the left and bottom margins.
* Added a script interface/copyfonts.sh to copy a set of files or directories to
/u/scs/gs/fonts.site. The script uses gnu-cp --update option to copy only files
that are new or more recent. The script has a "-to name" option to change the
destination directory. The default source directory is /px-b/psfonts.
* Fixed a problem where if you deleted all of the line ads in a classification
in a square-off, ClassPag would still place the class header.
* Added a page display option Command -> Ads ... -> "Convert all ads to EPS"/
"Convertir todos a EPS" that converts every internal ad to an EPS file.
It works the same as running the command to convert an ad into an EPS file
for every internal ad. During a new installation at a site that passes fillers
or banners in their dump files, you can use this command as a quick way to
make EPS files for their fillers and banners. You should probably temporarily
rename your /u/displayads directory and make a new one before running this
command to make it easier to clean up. The command will process every ad
in the databases but will only be able to convert ads in the classes selected
in the current session.
* The page display centers text in boxes that are large enough for only a single
line of text. This makes the text easier to read.
* Fixed a problem where ClassPag would place headers over or under display ads
to separate ads of different classes but with class headers that were both
copies of the same header.
This change affected several places where ClassPag decides whether to place
a class header and will need testing to check that it works with all
combinations of configuration parameters, especially "Place over display ads"
and "Flow headers under display ads".
* Fixed a problem where ClassPag would sometimes not place the main header for
a class with only a header that contained sub-classes that copied its header
if any of its copies were pre-positioned (for example, above a display ad).
* Fixed a problem where if you set ClassPag to place headers over display ads
and the class of the display ad had only a copy of a header from its parent
class, ClassPag would place the header even if it would later flow line ads
of a compatible class over the display ad.
* Fixed a problem where ClassPag would show a conflict for line ads directly
under a display ad of a different but compatible class when "Flow headers
under display ads" was set to "NEVER" or "CLASS".
* ClassPag now accepts the two-letter Layout position requests in lower case
in addition to upper case. This makes it easier to enter them by hand.
2/11/00
Version 1.195
* ClassPag can now save ad positions to a remote system. If your interface also
writes the sort and eps files to the remote system, you can restore your work
by importing the sort and eps files on the remote system and then repaginating.
This is for sites with a backup ClassPag server but without disk mirroring.
In the "User Preferences"/"Preferencias de Usuarios" product configuration
screen, set "Use rcp"/"Usar rcp" to "Y". Then enter up to three pairs of
primary and backup systems in the fields "System"/"Sistema" and
"Backup"/"Respaldo". When you are on one of the primary systems and save your
ad positions, either manually or through an auto-save, ClassPag will use a "rcp"
command to copy the "request" database (with ad positions), the "incols"
database (with column reservations) and the "inpages" database (with per-page
leading and printing statuses) to the same directory on the backup system.
The backup system must contain a directory with the same absolute path.
You might need to set symbolic links on the backup system.
The backup system must allow the primary system to access it through rcp and
rcmd from the account that you use to enter ClassPag on the primary system.
You will probably need to create a $HOME/.rhosts file on the backup system
with one line that contains the name of the primary system.
* When ClassPag squares-off service directories with line ads, it now does a
deeper look-ahead than it did before. It should behave better on service
directories with only a few ads.
* The look-ahead starts one ad sooner on line ads. This should produce
slightly tighter pages.
* Changed the default "First line in ad boxes" for class headers from NUMBER (to
show the ad number) to CLASS (to show the classification). The ad number for
class headers is often just an insertion number or a generated string with
little descriptive value, while the class number should almost always be useful.
* The page display sometimes fits one more character into ad boxes.
* Fixed a problem where ClassPag would place unrequired class headers above
display ads with line ads above them from a different class but with a copy
of the same class header.
As with the class header changes in the previous versions, this change has the
potential to break class header positioning and needs testing.
* ClassPag checks the book size database before displaying the page list on the
status screen. This should fix problems where the list showed absolute pages.
* The new configuration variable "Show Printing Age"/"Mostrar si imprimida" on
the screen "Screen Display Preferences"/"Preferencias de Visualizacion" shows
a paragraph symbol after the page number on the page display.
The symbol is green after you print a page. If you repaginate, it turns red
to show that you might have changed the page after printing it.
* The page display page information window now shows a line titled
"Printed"/"Imprimida" for printed pages. The values are
"YES"/"SI" for currently printed pages,
"OLD #"/"ANTIGUA #" for pages printed # pagination passes ago,
"VERY OLD"/"MUY ANTIGUA" for pages printed 100 or more passs ago, and
"NO"/"NO" for unprinted pages.
* ClassPag now stores the print flags for each page in the input pages database
that also contains other page information like colors and restrictions. This
allows ClassPag to retain the list of printed pages if you exit and then reopen
a session. ClassPag clears the print flags when you use
"Import Ads -> Read ClassPag Files".
* The "Page Information" window now has a column to show the print status and
a hot key "Clear printed flag on all pages"/"Borrar sena de impresion de todas
paginas" that clears the flag on every page.
* The setup.sh script no longer sets Spanish text for user names with the
substring "cpagtest".
* The setup.sh script sets XFontSize to 24 for 1152x900 Sun X Servers.
* Fixed a problem on the edition parameters start up screen where the
reservation window would act like the pages had only one column if you
jumped directly to "Page Reservation Info?".
* Fixed a problem where ClassPag would sometimes squeeze leading out of
the last ad in a column with enough room for the ad but not the ad and its
configured amount of leading. It now positions the ad on the next column.
* When you move a square-off that contains agate fillers and you select
the option to remove only the ads on the square-off, ClassPag is more
careful about removing the agate fillers. If any stay behind, ClassPag
sets the line-ad lock flag on the page.
NOTE: This version has over 3000 lines of changes from the previous version.
2/11/00
Version 1.196
* When you save a work area and you have a remote backup system defined with the
"Use rcp", "System" and "Backup" configuration parameters, ClassPag also does a
recursive remote copy to copy the saved work area to the backup system.
If you use this backup scheme, you might want to make a nightly copies of
the primary to the backup. On the backup, nfs-mount the primary and
make a script /usr/local/bin/copyprimary with the commands
umask 0
/u/scs/maint/bin/scsmaint shutdown cron
/usr/local/bin/gcp --force --preserve --update --recursive \
/primary/u/cpag/. /u/cpag
/usr/local/bin/gcp --force --preserve --update --recursive \
/primary/u/comp/. /u/comp
/usr/local/bin/gcp --force --preserve --update --recursive \
/primary/u/scs/. /u/scs
/usr/local/bin/gcp --force --preserve --update --recursive \
/primary/u/displayads/. /u/displayads
# add copies for other directories that you use
/usr/local/bin/gcp -pf /u/cpag/.rhosts-backup /u/cpag/.rhosts
/u/scs/maint/bin/scsmaint startup cron
* Added the sort file position code "TOP" that sets a request for the top of
a page the same as "TP" and "CABEZA".
* Fixed a problem where viewing all of the segments of an auto-segmented ad
(clicking on "view boX" or typing "X" (but not "x" which shows the current
segment)) would show a copy of the ad for each segment.
* Fixed a problem where viewing all of the segments of a segmented ad would
show just the current segment if you selected the final segment.
* Fixed a problem where viewing any single segment of an auto-segmented ad
would always show the initial segment.
2/24/00
Version 1.197
* The control database has new fields for the default classification fixup
entry and the default load type.
The field "Fix Classes Id"/"Clases Cargadas" contains the default entry and
"Type"/"Tipo" contains the default type of either "LOAD" (to set just the
class nestings) or "SEQ" (to set both the nestings and the sequence numbers).
The fields after "Current"/"Actual" contain the most recently applied
class fixup entry and type.
If you have the default fixup entry set, the first time you select "Paginate"
from the top menu and enter the classification list, ClassPag will ask if you
want to load that entry. If you say "No", ClassPag will open a list of all of
the entries as before.
If you have the default fixup type set, ClassPag will use that type instead
of the values specified by the product configuration field
"Ask to Load Saved Class Nesting"/"Preguntar a cargar nidos de clases".
If you use different fixup entries for each day of the week or for each edition,
you can pre-load the default fixup entry into the control record of each import
area to reduce the chances of loading the wrong one for that area.
* When ClassPag auto-segments long legal ads, you can now specify a clipping
region adjustment. The "Legal and Segmented Ad Specifications"/
"Especificaciones de Avisos Legales y Segmentados" product configuration
screen has a new field "Auto Seg Clip Adjustment"/"Adjuste Clip Para Auto Sg"
to adjust the clipping regions above and below cut segments of ads.
If you have a large clipping region for normal ads, you can set the auto
segment clipping adjustment to a small negative value to prevent partial
lines of text from adjacent segments from appearing.
* Fixed a problem where a newline (ascii 10) or carriage return (ascii 13)
in a sort key could cause ClassPag to make pages with bad postscript.
ClassPag writes a postscript comment with the ad number and sort key before
each ad. A line-ending character in the sort key would stop the postscript
RIP from ignoring the rest of the comment line. ClassPag now converts
control characters in the sort key into spaces.
* interface/makeall.sh copies executables with the gcp --update option when
/usr/local/bin/gcp exists to avoid unnecessary copies that could cause
problems if two people do imports at once.
* The "mapclass" interface procedure for sites sending text dumps now rebuilds
the classification table each time you load ads instead of just the first time.
This fixes problems where running the procedure could produce different results
if you ran it a second time without leaving.
* setup.sh sets DISPLAY to scoserv1c if the login name contains "ss1c".
2/29/00
Version 1.198
* Added support for printing several copies of the same page.
This can be useful for sites with manual paste-up that have several editions.
The Spread database has two new fields "Number of Copies"/"Copias"
and "Prompt"/"Preguntar". "Number of Copies" is a numeric value with
the number of copies to print. "Prompt" is a boolean value that tells
ClassPag whether to ask for the number of copies.
If "Prompt" is enabled, the value in the "Number of Copies" field is
the maximum number of copies that you can select.
The default "Number of Copies" is "1" to print only one copy.
The default "Prompt" is "N" to bypass the prompt.
Printers with values entered in the "Pages Directory" or "Spool Directory"
fields do not support sending multiple copies of pages.
Print command expressions can access the two additional numeric variables
"NumCopies" and "CurCopy". NumCopies is the number of copies, and CurCopy
is the number of the current copy from 1 to NumCopies.
Print commands that generate file copy commands instead of print commands,
for example, ones that copy to a spool folder, can add "CurCopies" into the
generated file name to avoid overwriting files.
* Added a procedure to scan for fillers with the same names as ads.
From the pagination statistics screen, use Ads -> Display Ads or Agate Ads
and then the command key (usually F12) and select
"Check for ad number conflicts"/"Buscar conflicto entre nombres de avisos".
ClassPag positions items by their ad number and might build pages incorrectly
if they contain fillers with the same names as ads.
* Changed copyuniq.sh to show the date and file listings to help track down
what happened when it has errors sending files.
3/3/00
Version 1.199
* The control database Fix Classes Type field now accepts the value "NO"
to suppress the window to load classifications even if it is the default
for the current product.
* Fixed a problem where auto-segmented ads could have their first segment
placed out of order.
* Removed a warning about an invalid value when you started a pagination
session with "Ask to Load Saved Class Nesting" set to "NO".
* Fixed a loop added in 1.126 that could happen when flowing segmented ads on
overflow pages.
3/29/00
Version 1.200
* ClassPag now supports segmented ads with segments more than one column wide.
ClassPag will flow the segments in order and allow you to drag ads with the
mouse in the same way as for single-column segmented ads.
In the sort file, all segmented ads (whether single or multi-column) must
be marked as agate ads (A in the first column) and not display ads (D in the
first column).
* When ClassPag loads a classification with segmented ads, it sorts the ads
by their sort key and then by their ad number. It no longer considers the
sort file position in order to allow ads with mixed internal and external
segments.
* Under X, the control-c keystroke now cancels print commands and searches
in lists. When you run the command to print all of the pages, ClassPag checks
for a cancel request after each page. For now, the cancel keystroke is set to
control-c whether or not the keyboard map defines control-c as the cancel key.
* Updated the Linux port from Slackware 3 to Red Hat Linux 6.0.
* Updated the tar commands in maketar*.sh to work with gnu tar under Linux.
* When ClassPag opens a preview display for an edition with three or four
pages, if the display would have more than four pages, it resets the display
for a view with two pages across and two pages down.
* ClassPag is now smarter about justifying space between multi-column ads.
Errors in the justification code could cause ClassPag to overlap ads, so
be careful to watch for this when using the next several versions.
* Fixed a recently introduced problem that could create columns with all
fillers when a display ad would not fit next to its line ads.
* Fixed a problem where ClassPag sometimes would not justify columns near the
front of the edition when using front-to-back pagination.
NOTE: This version has over 2900 lines of changes from the previous version
including over 1000 new lines. Almost all of these changes are for handling
multi-column segmented ads and will need testing.
5/4/00
Version 1.201
* When a column range has headers and a single wide segmented legal ad,
ClassPag now shifts the ad up instead of down.
* ClassPag can now turn multi-column line ads into display ads to make them
easier to position manually. The configuration screen
"Agate Ad Specifications (Continued)"/
"Especificaciones de Avisos Agate (continuado)" has a new field
"Convert if multi-column"/"Convertir si multi-columna" that defaults to "N".
If you set the field to "Y", when you import sort files, ClassPag will
convert non-segmented multi-column agate ads into display ads, and when
you print pages, ClassPag will treat multi-column internal display ads
like agate ads when it places cut rules.
* Conflict checks are now tighter for display ads in classifications without
line ads. ClassPag used to allow those display ads on any page that contained
line ads in any classes below the parent of the class of the display ad.
Now it only allows columns under line ads of the next or previous class.
For example, if classes are nested by hundreds and classes 101 and 103 have
line ads but class 102 does not, ClassPag used to allow display ads for class
102 under the line ads of any 100-level class, but now it only allows display
ads for class 102 under the line ads of class 101 or 103.
This change does not affect how ClassPag places display ads.
It still tries to place them as close to their classification as possible.
The change one affects which ads show as conflicts on the screen.
* When you specify the colors of ads in a classification, you can now specify
different border colors for line ads and display ads. This helps to
differentiate display ads from line ads, especially in classes that have
many one-column display ads. The classification color database has a new field
"Display Border Color"/"Color Borde Destacado" for the border color of display
ads. It defaults to the border color for agate ads if it is empty.
* The agate and display filler configuration windows now have a new option
"Fix filler sizes"/"Fijar los taman~os de los rellenos" that walks you
through any fillers that are too small or too large. Agate fillers must be
at least the depth of the column justification threshold. Display fillers
must have a depth greater than zero. All fillers must have a depth of at
most the height of the page. The new option shows you which fillers have bad
sizes and then lets you deactivate small fillers or reduce the size of large
fillers.
* The Command -> Pages menu has a new option "Modify Lead. on Range"/
"Modificar Int./Rango" to change the leading on a range of pages.
The range starts from the current page. After you select the option,
ClassPag will prompt for the ending page, which can be before or after
the current page. Then ClassPag will prompt for the leading value.
You can close either the page number or the leading value window to leave
without making any changes.
* The command to convert all internal ads into eps files now lets you specify
the eps file directory. This makes it easier to convert fillers passed as ads
in a dump into fillers. If you can set the dump to assign all of the fillers
to a classification, you can import the dump, select only the classification
with the fillers, use Command -> Ads ... -> "Convert all ads to EPS"/
"Convertir todos a EPS" to convert all of the ads into eps files in your
filler or house ads directory, and then use "View Ad Directories"/"Ver Avisos"
to convert all of the new files into fillers.
* The command to convert all internal ads into eps files checks for selected
classifications earlier in the scan and no longer shows an error for every
ad in each unselected classification.
* ClassPag can now place class headers for classifications with display ads
but no line ads. The product configuration screen
"Classified Heading Placement"/"Ubicacion de Encabezados de Clasificaciones"
has a new field "Place on first display ad if no liners"/
"Colocar sobre destacado si no lineales". The default value is "N".
If you set the field to "Y", when ClassPag reaches the place where it would
start flowing line ads (in a classification with display ads but no line ads),
it scans all of the leftmost columns of all of the display ads in the
classification and places the main class header in the column to the current
column. If you have set configuration parameters to place class headers
over all display ads, and if the classification has a column header in
addition to a main header, ClassPag will place copies of the column header
above the other display ads as needed.
* The product configuration screen "Additional PostScript"/"PostScript
adicional" now has five additional (for a total of fifteen) "Fonts Used"/
"Fuentes usadas" lines and "Download fonts"/"Cargar fuentes" flags for
entering the names of fonts to preload.
* bbcheck.sh, fixlogo.sh, getfiles.sh, makegif.sh and scanps.sh now use
"$TOOLS/bd -x" if they can not find the "hd" (hex dump) program.
SCO Unix has hd, but Solaris and Linux do not.
* scanps.sh now removes the "/Resource/Font/" prefix that recent versions
of ghostscript adds to font names.
* When scanps.sh builds a font list from site-specific fonts, instead of
scanning just the single directory "/u/scs/gs/fonts.site", it now scans all
directories matching the patterns "/u/scs/gs/fonts.site*" or
"/u*/gnu/fonts.site*" and it takes all file names in addition to alias listed
in Fontmap files.
* The new configuration field "Preflight using site specific fonts"/
"Verificar usando fuentes en fonts.site" on the screen
"Ad Import Restrictions"/"Restricciones de Importacion de Avisos"
tells the preflight scan to compare against the site-specific fonts
instead of the fonts in the ripfonts.txt file.
The default value is "N" to use the ripfonts.txt file.
If you have no convenient way to build the ripfonts.txt file but have all
of the fonts on the rip in /u/scs/gs/fonts.site* directories, you can set
this field to "Y" to compare against the fonts in those directories.
* If a column ends with a class header and segments that are all part of
the same ad and the ad continues into another column, ClassPag now puts any
extra space at the bottom of the column instead of below the class header.
* When a middle segment of a segmented ad touches a normal ad (for example,
when a class header is over the continuation of a segmented ad that spans
more than one column), ClassPag now places the configured amount of leading
between those two ads. It used to remove all of the leading the same way
that it removes all leading between segments.
* In the window to edit page name requests, if you edit the page name form
(instead of using one of the hot keys to change specific fields for you),
ClassPag now warns if the page name has no banners or if the active flag
of the page name differs from the active flag of its banner. If you
activate or disactivate page names by changing the active field in the form
instead of using the hot key, this helps to remind you that you still need
to update the banner record.
* The banner text window has a new hot key
"Rebuild This Ad (fast but will not print)"/
"Reconstruir este Aviso (rapido pero no se imprimira)".
This hot key rebuilds the banner image that contains the current text record,
but uses postscript include commands to include eps files instead of inserting
a copy of the file. If you have a large eps template, this makes the rebuild
much faster, which might be helpful when you are adjusting the positions of
text segments that must line up with text in the template. After you are
done, you will need to do a normal rebuild in order to produce a file that
will print.
* The pstoespf.sh script has a -translate option to shift the preview image
if the lower left corner of the bounding box is not 0,0. It is not the
default because some postscript files do not display correctly when they
are translated.
* The pstoepsf.sh script has a -convert option to use the ImageMagic convert
program instead of the pbmplus pnmtotiff program to convert preview bitmaps
to tiff format.
* If the pstoepsf.sh script still works when you see the message.
pnmtotiff: Too many colors - proceeding to write a 24-bit RGB file.
pnmtotiff: If you want an 8-bit palette file, try doing a 'ppmquant 256'.
The message means only that the postscript file used more than 256 colors
so the tiff file needs to represent with a method that uses three bytes
per color instead of one byte.
* The pstoepsf.sh script has a -quant # option to set the maximum number of
colors in the preview. The default is now "-quant 256" to ensure that
the color table will fit in a 256 entry palette. This option affects
only the tiff preview and not the printable postscript image.
Use "-quant no" to skip the quantization step.
Sites using pstoepsf.sh might need to download the ppmquant program.
On Linux systems, it is part of the netpbm package installed into /usr/bin or
/usr/bin/X11. On other systems, it should be installed into /usr/local/bin.
According to the Adobe specifications, drawing programs should accept any
valid TIFF file for a preview, but we have found that Quark, MultiAd, and
most other drawing programs, only accept a limited number of TIFF formats.
The default options on pstoepsf.sh should create previews that most programs
will display.
* The cortops program has -t and -p options. The option extracts the tiff
section of an epsf file. The -p option (the default) extracts the postscript
section. Also, the cortops program now allows a second argument to name the
output file.
* Fixed a problem where ClassPag would not place repeat class headers
in service directories positioned at the top of the page even when the
"Place under square-off banners" class header configuration parameter was set.
* Fixed a problem when entering an eps image in a banner text form where
ClassPag would write color names into the banner name field.
* Fixed warnings in unload.sh and updprod.sh that would complain about TOOLS
not being set. update.sh now runs the ClassPag setup.sh if needed.
* Fixed a problem where during front-to-back pagination on a class with a main
class header, ClassPag would over-estimate how much space it needed to place
the first line ad, which could make it place the header at the bottom of a
column and the first line ad at the top of the next column.
* Fixed a problem where during post-pagination clean up on a column with one
1-column ad at the top, ClassPag could set bad column boundaries when it
shifted the ad to the bottom.
* Fixed a problem where the column justification could try to move the top
ad with a special request when it equalized columns. It should never move
position locked ads. When it did, it would not update the pointer to the
top ad with a special request, which could have caused other problems later.
* Fixed a problem where square-offs would count a normal amount of leading
between parts of segmented ads. This could cause square-offs to have empty
space at the bottoms of columns containing legal ads. The configuration
parameters to specify the minimum segment sizes do not to apply inside
square-offs. If you place segmented ads in square-offs, you should check
that the interface passes first and last segments with sizes large enough
to satisfy your editorial style.
NOTE: This version has 7150 lines of changes from the previous version.
5/10/00
Version 1.202
* Fixed a problem in back-to-front pagination where ClassPag would not leave
space for headers of parent classes before placing the last line ad in a class.
Also, a similar test before placing class headers would count headers in
sibling classes with no line ads. Note that the configuration option to
place all headers was changed a few versions ago so it no longer places
headers of classes with no line ads. You should avoid enabling this option,
because it will probably be re-implemented in a later release.
* Fixed problems with column stretching. If a column with ads in the top
stack had all one-column stretchable ads on the bottom stack, the ads on
the top stack could print too high or off the page. Horizontal and vertical
cut-rules next to stretched ads now show in positions that match the stretching.
The ad size written into ad boxes for stretched ads with missing eps files
now shows the real size and not the stretched size. Auto-segmented ads
never stretched correctly and are no longer subject to stretching.
* When flowing back-to-front with a configuration that requests headers under
display ads, if a column has a class header and ads at the top and nothing
at the bottom, and if the column has less than the configured minimum space
to flow line ads, ClassPag will no longer try to place a class header at
the bottom of the column.
* The makehelp.sh script has -n, -p and -h arguments to control whether it
produces text, pcl or html versions of the manuals.
* Added the new Administrator's manual to the "help" distribution. Precie and
Jeff worked on it. This manual replaces the appendix of the User's Guide that
listed all of the fields of the setup screens.
* Restructured the compile scripts so they do not make copies of objects or
executables in the source area. maketar.sh writes the distribution to $HOME
instead of the current directory if it thinks that it is running in a
cross-development environment. This makes compiles for different operating
systems faster by avoid writes over NFS.
* Changed menprof.sh to unset SCRATCH when CPAG_ROOT is set. When starting
ClassPag from an icon on Linux, this makes each ClassPag window move to a new
work directory instead of using the one for the login shell. To make a new
desktop icon, right click on the background and select New -> Launcher.
The icon name is a unix file and should not have any slashes.
Use "/u/cpag/menprof.sh" as the command line.
Select the "Needs terminal to run" option. This allows ClassPag to pick a
different work directory for each window. If you do not check the option,
or if each window still has the same scratch area, change the command line
to "xterm -name ClassPag -e /u/cpag/menprof.sh".
I used the gnome icon /usr/share/pixmaps/NewsAgent.xpm.
If you are using kde but have gnome loaded, you can copy this file to
"$HOME/.kde/share/icons/NewsAgent.xpm" and then select it.
If you have a new cpag help distribution, you can use the icon
"/u/cpag/help/cpagagent.xpm".
* Changed setup.sh to alias "ed" to uemacs instead of emacs if
/usr/local/bin/uemacs exists. This makes "ed" open microEmacs instead of
gnu-emacs on systems with gnu-emacs installed as "emacs".
NOTE: This version has 1900 lines of changes from the previous version.
5/18/00
Version 1.203
* When you move to a new page in the multi-page display of the page preview,
the third line of information now includes the page style flags after listing
the groups. This makes it easier to see the SQ flag for squeezed pages
and the OV flag for overflow pages.
* When you make a setup change within a pagination session that requires
reloading the ads, ClassPag now resets the banner and display filler run
counts. The run counts on the setup screens are default values.
When you start a pagination session, ClassPag copies the default values to
a second copy on a hidden screen that it uses. On the pagination statistics
screen, the windows for Ads -> Banners and Ads -> House Ads show the
hidden fields and let you modify them. The procedure to reload ads
originally did not reset the run counts to avoid clearing any changes
you made in the Ads -> Banners or Ads -> House Ads windows.
Since no one uses those windows and since it can be confusing to have
changes in the banner and filler in the setup windows ignored until you
exit and restart a pagination session, the procedure to reload the ads
now resets the run counts. Since it is expensive to maintain the second
copy of the run counts, if no one needs them, they might be removed in
a later release.
* Added a verify.sh script to scan a list of databases for missing or bad files.
For example, to check all of the databases, use
cd /u/cpag ; verify.sh *.scr
The verify program is over-sensitive about some values in database headers.
Sequences like the one below do not require any action.
Validating Ctree header records:
Key 1 has key type 24 in file, a4 expected.
Data file is missing bit 80 NOIDXENT.
Key 2 has key type 2c in file, ac expected.
Data file is missing bit 80 NOIDXENT.
*** Ctree header records have errors.
* When you ask to level pages, ClassPag handles overflows due to ads with top
of page requests more efficiently than before. In general, overflow pages
disable page leveling because the page leveling logic works by increasing
the sizes of reservation areas until a page overflows.
People using page leveling should eliminate overflow pages as soon as possible
in their session because overflow pages greatly increase the amount of work
that ClassPag must do each time they paginate.
* Changed the Clarin interface to use the column and gutter width specified
in the configuration file instead of 7 picas. This change affects only how
the interface converts the composed width in points into a number of columns.
For display ads with </CLSCD/> lines, the interface passes the column count
in the /K#/ field unchanged. Here is sample text to create a single column
ad on a page with four columns of 173 points. The first line of the ad
should set the leading to 0 <cl 0>, set the column width to the desired
size <dc 173>, activate the new width with a quad <ql>, and then use a
long form of the change font command to set the font and leading.
</CLSAD/5543/Test173>
<scs/cl 0/dc 173/ql><cf/HV/6/7/8>Test for wide columns. <QJ>
This test should be wrapped to 173 points instead of 7 picas. <QJ>
The cut rule below should be 173 points picas also. <QJ>
<scs/cl 0/el 2.5t/dr 1c,0.5t/ql>
* Added checking around calls to the formula extract function.
Since the beginning, the extract function has not checked that the starting
position is valid.
* Added a script to expand the unix lost+found directory.
The script lostexpand.sh in the interface directory expands the lost+found
directory by making and removing 126 files. On a SCO Unix 3.2v4 EAFS
file system, this extends the directory file to 4 disk blocks or 2048 bytes.
(The next file would extend the directory file to 6 disk blocks.)
Run the script as root with the mount point of a filesystem as an argument,
for example, "lostexpand.sh /u".
* If the configuration requests headers under display ads, it is no longer
a conflict to have a display ad with a header and then fillers to the bottom
of the page.
* Changed the updprod.sh script so it uses the transaction file name that you
enter on the command line if it contains ".trn" and does not end with a dash.
Otherwise, as before, it strips the extension and uses ".trn".
It could have been confusing when you ran updprod.sh with name.trn-sav but
it used name.trn.
When updprod.sh makes a backup of the database before applying the transactions,
it makes a new transaction file in the same directory as the database with
the extension .trn- and the previous .trn- to .trn--.
* Fixed a problem where ClassPag would place class headers under square-off
banners in columns with enough space, even if you turned off the configuration
parameter for placing headers under banners.
* Fixed a problem in back-to-front pagination where ClassPag would allocate
enough space for a header of a parent classification while flowing each
column of its first child classification instead of only at the first
column. If the parent class had a large header, for example, if class 100
had a large header with a logo and index, each column of its first child
class, for example, class 101, would have fillers equal to about the size of
the top level header. Since each column would have the same size hole,
ClassPag could end up placing the same filler, which can make this appear
like a problem with repeating fillers when it is really a miscalculation
that is creating a similar sized hole in a number of consecutive columns.
* Fixed a problem where the look-ahead scan would not account for extra
leading needed when the configuration specifies cut-rules at the tops or
bottoms of columns. With back-to-front pagination, this could cause the
first segment to be placed out of order.
* Fixed maketar.sh to restore the gs*-dist directories to the distribution.
NOTE: This version has 1500 lines of changes from the previous version.
6/8/00
Version 1.204
NOTE: This version of ClassPag requires a version of spice version 4.110 or
later and dated on or after June 9, 2000.
* Spice and ClassPag now support toolbars. The pagination window has toolbar
buttons for most common functions and for most of the top-level functions in
the command menu.
* On the multi-page preview display, right clicking on the page number text
marks the page as selected instead of opening a command window. On pages with
color letters, right clicking on the color letters opens the color dialog.
Right clicking on other areas below and around the page images opens a command
window as before.
* Added a gslp.sh script that prints to a laserjet using ghostscript to
convert the file into pcl. This allows you to print any page that you
can view. The command line options are
-d name = set ghostscript device name, default = laserjet
usually laserjet, ljetplus, ljet2p, ljet3 or ljet4
-r # = set ghostscript resolution, default = 300
-gs cmd = set additional ghostscript arguments
-lp cmd = set the lp command
-x = enable unix shell tracing
names = anything without a dash is a file to print
For example, to print the file test.ps at 600 dpi to an HP LaserJet 4
in the unix queue "hp4v", use the command
gslp.sh -d ljet4 -r 600 -lp lp -lp -dhp4v test.ps
Not all printers support all resolutions. For example, you should not use
-r 600 with -d laserjet.
The gs pswrite device generates a flattened PostScript file with only line
drawing commands and no font references. The command below shows an example
of sending flattened PostScript. For HP JetDirect print queues, you must
add "-opost".
gslp.sh -d pswrite -lp "lp -dhp4v -opost" test.ps
To capture the gslp.sh output file, use "-lp cat" and then redirect the output.
For example, the command below captures the flattened PostScript in a file.
gslp.sh -d pswrite -lp cat test.ps > flat.ps
To use the gslp.sh script, you should have ghostscript 5.50 or later.
Also, you need a version of the /usr/local/bin/gs4 script that does not redirect
standard output. If the command "gs -h" does not produce a help message,
you should update the gs4 script. Sites with a recent version of ClassPag
can use the script /u/cpag/gs4-dist/gs4 as a model.
* makegif.sh has a new -jpg option that creates jpeg files like -jpeg but
with the extension ".jpg" instead of ".jpeg". Some Windows programs require
three character extensions.
* makegif.sh has a new -extract option that extracts epsf previews when they
are present instead of trying to rebuild them with ghostscript. This makes
makes the script run much faster on files with previews.
* makegif.sh now recognizes extensions for jpeg, tiff and gif files and
attempts to convert them into the requested format. This allows the script
to work on a variety of file types.
* The printer database has a new "Pages Subdir" field to specify an expression
for the pages subdirectory if the "Pages Directory"/"Dir. de Paginas" field
contains a posting directory. The subdirectory expression can reference the
variables RunDate, EndingDate, SectionName, ProductId, EditionId, EditionName,
ZoneId and ZoneName. If you leave the pages subdirectory empty, ClassPag will
join the RunDate, ProductId, EditionId and ZoneId as before. By customizing
the expression, you can force different products into the same directory,
for example, to join pages with different column measures. Note that ClassPag
expects all of the pages to have the same size as the current product.
You can also use this to build a live index that accepts postings from
different products. If you are only building an index but not posting pages,
you may post classification data from products with different column measures.
* When ClassPag does not have enough room for an ad and its configured
maximum leading, it used to split the available space above and below the ad.
This could happen when rebuilding locked pages on products with configuration
values for preferred leading between different types of ads.
For one column ads, if the ad is on the bottom stack, it now tries to satisfy
the preferred leading below the ad, and then places any remaining space above
the ad. It does the reverse for ads on the top stack. This should produce
better results.
* Note on the banner page number "From"/"De" modifier:
"F" is an absolute page number from the front of the paper (the default).
"S" is a relative page number from the starting page number of this session.
"B" is a relative page number from the back.
For example, on a session from pages 11 to 40 and a request of page 12:
"F" means page 12.
"S" means page 25 (11+12-1).
"B" means page 29 (40-12+1).
If the starting page number of the session is "1", "F" and "S" are the same.
ClassPag ignores requests outside of the session range (in this example,
an "F" request below 11 or above 40 or an "S" or "B" request above 30).
* For banners, display fillers, corner ads and policy ads, ClassPag now uses
the run counts and page numbers on the setup screens instead of extra copies
on a hidden screen. It used to update the hidden fields in each house ad
record at the start of each pagination session. In the pagination statistics
screen, the windows under the Ads menu now modify the setup fields instead of
the hidden fields. This should avoid some confusing behavior and also make
pagination sessions start up a little faster.
* When you paste a banner manually, ClassPag no longer updates the setup
information of that banner. It used to set the default image to the image
that you selected and set the run count to 1 if it was 0.
* The product configuration field "Flow if over display ad"/
"Fluir si encima de un avisos destacado" on the screen
"Classified Heading Placement"/"Ubicacion de Encabezados de Clasificaciones"
controls the placement of class headers in a column with a class header,
display ads and line ads of the same class. ClassPag always used to repeat
the main class header between the display ads and the line ads.
When paginating front-to-back, ClassPag now repeats the header only if the new
"Flow if over display ad" is "Y", the default value. The value "N" suppresses
the repeated header. Papers with many one-column display ads and that dummy
display ads from the top might benefit from suppressing the headers.
* The field "Show Missing Images As"/"Ver avisos sin EPS como" in the spread
definition screen has a new value of "JTEXT" to print just the ad text in
reservations for ads with missing EPS files. "JTEXT" works like "TEXT",
except that it does not draw a box around the ad or an X through the ad.
Before this change, if you suppressed boxes on film output (by setting the
box line width configuration parameter less than zero), you could not get
boxes to show on proofs.
* The makegif.sh script runs convert from /usr/local/bin if it exists.
On SCO /bin/convert is a program to convert archives made with "ar".
* The makegif.sh script has a new -outdir option to change the output directory
from the default of "/u/gif".
* The makegif.sh script has new -one and -multi options. If the preview has
more than one image, the ImageMagick bitmap conversion program writes each
image in a different file using the extensions .0, .1, etc.
-one, the default, takes the .0 file and deletes the others.
-multi keeps all of the files.
* The makegif.sh script has new -ppm and -convert options. When creating
gif files from tiff previews, -ppm (the default) uses the gif writer in
ppmtogif while -convert uses the gif writer in ImageMagick convert.
The ImageMagick convert program does not do compression and makes gifs
about ten times as large as ppmtogif.
* Added entries for the FLS StarAds in the makeesc6.sh import script.
* Added an icon subdirectory with toolbar icons. setup.sh adds the icon
directory to $SPICE_ICON. maketar.sh and save.sh now include the icon
directory.
* Fixed a problem where ClassPag could leave space (eventually packed with
fillers) when the sort key match length was larger than 0. ClassPag looks
at the next few ads when deciding to do the look ahead to fill the column.
If one of the ads that triggered the look ahead had a sort key that did not
match the sort key of the current ad, ClassPag would not have enough ads
in the look ahead list to fill the column.
* ClassPag now reopens the replacement image database (image.dat in the work
area) each time it reloads ads. It used to open it only once during start up
and could have read the original file if you copied a save area into your
work area.
* In the classification list, the hotkeys to "insert the rest" and "remove
the rest" of the classes used to touch every class with a sequence number
greater than or equal to the sequence number of the current class.
Now, if the sequence numbers are equal, they compare the class names.
This works better with interfaces that pass the same sequence numbers for
a range of classes.
NOTE: This version has over 4900 lines of changes, not counting the changes
to the user interface code shared with spice.
6/14/00
Version 1.205
NOTE: This version of ClassPag requires a version of spice version 4.110 or
later and dated on or after June 14, 2000. It also requires a copy of
the icon directory /u/scs/tools/icon from May 30, 2000 or later.
If you install this version on a system with a version of the SCS tools
installed before May 30, 2000, you must edit /u/scs/spicedef and add
the line
def_var SPICE_ICON ${TOOL_ROOT}/icon
after the line with "def_var SPICE_TBIN ${TOOL_ROOT}/tbin" on line 64 and
add SPICE_ICON to the unset sequence on line 13
unset SPICE_ICON SPICE_PALETTE SPICE_ADMIN_DATA SPICE_PREFERENCES
* Shifted left mouse clicks on the page name on the multi-page preview
now have special meanings. On left clicks, if the control key is down,
ClassPag will toggle the selection of the current page.
If the shift key is down, ClassPag will select all of the pages from
the current page to the previously selected page.
* Added the boolean field "Local classes"/"Clases locales" to the
"Folios and Banners"/"Folios y Carteles" configuration screen.
Set it to "Y" if the banners use classification information saved
in the current work area. If banners use classifications in a
posting area, set the field "Posted classes"/"Clases enviadas"
to "Y".
* The command to rebuild banners now checks if you have paginated
since saving the classification database. If you have paginated,
if the "Posted classes" configuration field is "Y", ClassPag will
ask if you want to save the classes to the posting area.
Otherwise, if the "Local classes" configuration field is "Y",
ClassPag will ask if you want to save the classes to the current
work area. This should help prevent people from building banners
with old classification information.
* ClassPag now allows proof-only folios entries. You can use these
to create rulers along the side of the page or other markings that
are useful on proofs with page dummies but should not appear in the
final output on film. To mark a folio entry proof-only, set the
field "Dummy"/"Prueba" to "Y". To enable the proof-only folios for
a spread, set the spread field "Add Dummy Text"/"Agregar texto para pruebas"
to "Y". Proof-only folio entries may use Composition formats or
EPS templates.
* The page display has more toolbar icons, and some toolbar icons
have been updated.
* Picklist windows have been resized to account for the increased
size of the scrollbar.
* Fixed a problem where ClassPag would repeat a class header for the
top level of a class range that ran for several columns and you locked
only the first few columns of the class range.
* Fixed a problem where on the page display "Command -> Misc ->
Toggle menu exit" would close the command menu but remain in
command mode.
NOTE: This version has over 8500 lines of changes from the previous version.
Most of the changes relate to the new toolbar.
6/15/00
Version 1.206
* The pagination preview screen has more toolbar icons.
* The user preference product configuration field
"Enable delete ad button"/"Habilitar boton para borrar avisos"
to control whether the toolbar button to delete the current ad is allowed.
The default is "Y" to allow the button to work.
* The page dummies show more lines of information for ads without EPS images.
* The lock menu has a new command to lock the line ads on only the currently
selected pages, and the unlock menu has a corresponding command to unlock
the line ads only on the currently selected pages.
6/19/00
Version 1.207
* The square-off window has additional icons.
* This is the version demoed at Nexpo2000.
7/3/00
Version 2.08
* The version number has been changed from 1.208 to 2.08.
* The window to select the active classifications now has a toolbar.
* You can now close most nested list windows by clicking on their parent window.
* When ClassPag finds a line ad that is too large to fit with a class header
over it, it used to try to dummy the ad with the same rules as for display ads.
It now tries to place the ad as close as possible on the current page.
If that fails, it then reverts to dummying the ad as before.
* Fixed a problem where a line ad that was too large to fit with a class
header over it could cause ClassPag to pack other columns in that class too
full for a class header to fit.
* Some interfaces send class headers for a range of classes with the first
subclass instead of with the parent class. If the first subclass has no
line ads, ClassPag will not flow the header of the subclass because it does
not know that it is really a top level header. For example, if classes
"123aa" through "123zz" are under class "123" and the entire sequence has
only one class header entered under class "123aa" but class "123aa" does
not have line ads, ClassPag would normally either not place the "123aa" header
or else place it over one of the "123aa" display ads, and the first "123bb"
line ad will not have a header above it. To tell ClassPag to flow the header
in-column, the product configuration screen
"Classified Heading Placement"/"Ubicacion de Encabezados de Clasificaciones"
has a new field "Advance to previous class"/"Adelantar a clase previa"
that you can set to "Y" to place the header. The default is "N" to treat
the header as a normal subclass header.
* The test to tell when a class header was required during front-to-back
pagination could place a top level header if all of the line ads in the
class of the header were locked but some line ads in subclasses were not.
This change can be undone if it causes problems.
* Includes a fix of a recent problem in the display routines that ignored
XFontSize values larger than 24. Monitors in 1600x1200 mode need an
XFontSize of 30.
* This version has a bug where toolbars sometimes overwrite themselves.
It should be used for testing only.
7/7/00
Version 2.09
* The classification selection list window and the square-off list window
now require a mouse click to move the cursor and a mouse double-click to
select an item. This is required for windows with toolbars, because if the
selected item follows the mouse, you can't move the mouse to the toolbar
area without changing the current item. Arrow keys and other keystrokes
all continue to work as before.
* When you print pages with settings that request ClassPag to track the fonts,
if ClassPag finds missing fonts, the print selection window with the View,
Print and Done options will have an additional "Fonts" option to view the
list of missing fonts. This can help you identify missing fonts when
converting pages to EPS files.
* When you print pages and the last page is one megabyte or more, the print
selection window shows the size of the last page in megabytes (where one
megabyte is 1,000,000 bytes). This can help you estimate how long a page
will take to print.
* Fixed a problem where the mouse would not work in submenus of the command
menu on the page preview screen.
* Adjusted a few more windows to fit with the new wider scroll bar.
7/22/00
Version 2.10
* The folio text field "All Plates"/"Todas plantillas" has changed from
a logical field to a range field with the values "T", "F" and "U".
As before, "T" tells ClassPag to write the template on all plates
while "F" tells ClassPag to write the template on only the black plate.
The new value "U" tells ClassPag to write the template on all plates,
but to place it in an unseparated area.
For example, to add an all black logo to the folio, use "F".
To add a color logo to the folios, use "T". ClassPag will generate
color separations from the logo.
To add registration marks to the pages, use "U". The eps file should
be all black. ClassPag will write it in each color plate before
enabling color separations.
In items other than TEMPEVEN and TEMPODD, "U" is the same as "T".
* The classification database can now control the placement of class headers
above display ads by classification. The field "Fill Front Page"/"Llenar
Pra.Pag" has the additional value "B" for classes where display ads are like
banners and do not need headers above them when they are at the top of a page.
"B" also implies not using the class to fill the front page.
The values "F" and "T", which control filling the front page imply that ClassPag
can place headers over display ads.
* The product configuration field "Justify Last Column"/"Justificar Columna
Ultima" on the screen "Vertical Spacing Specifications"/"Especificaciones de
Espaciado Vertical" now has the additional values "YES", "RAISE", and "LOWER".
"YES" or "T" justifies the space between line ads.
"RAISE", "F", or " " raises line ads by placing a space reservation below them.
"LOWER" lowers line ads by placing a space reservation above them.
When ClassPag raises or lowers the ads in the last column, it does not check
for locks, although it will not raise ads if the top stack already has a
one-column ad, which usually only happens on locked pages.
* The "Find Ad" window on the page preview has a new option "Paste ad"/"Traer
avisos" to select an ad to position. After you select this option, you can
click on a page to place the ad.
* The "Find Ad" window now remembers the search state. Combined with the
previous change, this makes it easy to restrict the list to color ads and
then position ads from the list. The window has a new option "Initialize
search"/"Iniciar busqueda" to clear all of the search parameters at once.
Also, the option text in the Spanish version of the window is now shorter
so the search type is no longer truncated.
* When ClassPag detects an error in the ad paste list database, either while
inserting a record after a "remove ad" command or clearing the database before
repaginating, it tries to rebuild the database. This should help stop the
message "Error rebuilding ad paste area" from repeating after an error.
Also, as before, the ClassPag start up script rebuilds this database,
so exiting all the way out and logging in again will also fix this problem.
* runcpag.sh has a -iv and -ix options to pass -v and -x options to initscr.sh.
* Fixed a problem where an internal list of pages was not adjusted when ClassPag
placed a banner at the base of a square-off. This might have made it not dummy
ads as evenly.
* Fixed a problem where having a multi-column ad on the top stack touching two
different ads above it could cause ClassPag to miscalculate the heights of
other ads around them.
* Updated the palette entry for popups. They now have a dark blue top and
the buttons now depress when you click on them.
* The page preview toolbar now has a button for creating ads.
* Here is a sample rcpuniq.sh command line for sending an eps file by ftp.
This is for documentation only; the rcpuniq.sh script is unchanged.
rcpuniq.sh -xterm -name newfile.eps -user cpag -pass cpag -ftp -mopen
newserver:/u/newdir cpag.ps
-xterm runs the ftp command inside an xterm shell window if you are running X.
This makes it easy to watch the progress. Also, you can kill the ftp by closing
the xterm window.
-name newfile.eps sets the name to call the file on the remote server.
-user cpag and -pass cpag set the user name and password of an account on
the new server.
-ftp specifies using ftp instead of rcp.
-mopen tries to open the ftp connection several times. Some ftp servers do not
accept connections on the first try when they are busy.
newserver is the remote server that will receive the file.
/u/newdir is the directory on the remote server that will get the file.
cpag.ps is the name of the file on the local server (running ClassPag).
If you send pages to a RIP spool folder, you will need to set a delay on the
RIP so it does not try to process files until the ftp transmission has finished.
In "rcp" mode, this script can use "rcp" to copy the file to a holding area
and then use a unix "mv" command to move the file from the holding area into
the spool folder to avoid placing incomplete files in spool folders.
Here is a sample command line using rcp:
rcpuniq.sh -d /data1/queues/scsinput newserver:/data1/queues/input cpag.ps
This command copies the file "cpag.ps" to an "scsinput" holding area on
"newserver", and then moves the file to the RIP "input" queue.
The remote server must have account with the same name as the user running
ClassPag (usually "cpag"), and the account on the remote server must allow
"rcp" and "rcmd" (usually through entries in "$HOME/.rhosts").
* initscr.sh removes text in {} comments before comparing fdf files.
This should avoid database rebuilds in updates like this one where a field
in the classification database changed from a logical to a string.
NOTE: This version has over 4000 lines of changes from the previous version.
8/7/00
Version 2.11
* When paginating back to front, if a column has a display ad at the bottom
and line ads of the same class at the top, ClassPag no longer attempts to
squeeze a class header in the middle.
* ClassPag now rebuilds packed columns correctly on pages where the ad stack
is higher than the liner flow height. ClassPag used to leave ads at the
bottom of the top stack unplaced. You could pack pages by dragging ads
with the mouse, but as soon as you repaginated (or if you left ClassPag and
came back in), some of the ads would jump to other pages. This only affected
products where the line ad flow height was less than the column depth.
* When ClassPag places fillers, it now leaves room to place a class header
over the fillers if needed.
* When ClassPag writes an EPS file using a paper entry with
"Add Font Comments"/"DSCs de Fuentes" enabled, it now also writes the
%%DocumentProcessColors comment at the start of the file instead of at
the end. This should help programs like GoodNews and QuarkXPress that
do not support the "(atend)" modifier.
* The configuration fields to allow class headers and in-line display ads
at the bottoms of columns now defaults to 'N' instead of 'Y'.
* Added a -noclean option to pstoepsf.sh to keep its work files for testing.
* Fixed a bug in the pnmtotiff program that could cause it to core dump
on gray-scale images.
9/6/00
Version 2.12
* Product keys may now be up to 5 characters long and may include upper case
letters, digits and underscores. This increases the number of products from
100 to several million. Each site should have a common prefix for all of their
products, for example. the three-letter abbreviation that we use when assigning
network node names. With this change, the products "1", " 1" and "01" are all
different.
NOTE: Information on products with ids using the new id format will be lost
if you revert to a previous version of ClassPag.
* Pages can now have different numbers of columns. All columns must still
have the same width and depth. The product configuration screen now has
fields for the standard number of columns per page, for the minimum number
of columns per page, and for the maximum number of columns per page.
If the minimum or maximum number of columns per page is empty, it defaults
to the standard number.
The page information database now has the two additional numeric fields
"Column Adjust Left"/"Columna Izq" and "Right"/"Der" that contain the
number of additional columns on the left and right sides of the page.
The values may be negative for pages with less than the standard amount
of columns.
If the minimum number of columns entered into the product configuration
is zero, ClassPag will allow you to create negative column count adjustments
large enough to eliminate all of the columns from a page.
Folio offsets currently count from the lower left corner of the leftmost
printable column, independent of the value of the left adjustment.
The left and right adjustments currently have an effect only when printing
tab spreads. ClassPag shifts each page to the left by the number of columns
in its left column adjustment. A negative left column adjustment pushes pages
to the right. The shift per column is the column width plus the gutter width.
For example, to flow ads in the central gutter of a tab spread, set the right
column adjustment of the left page to 1.
* The window to select a product now has hot keys to show all products
(including the inactive ones) and to sort by product name instead of
product id. The window also no longer shows the paper and edition numbers.
* The product list under Setup -> Product Configuration now has a full-screen
list showing the product name, number of columns, and column depth.
A dash before a product id means that the product is inactive.
* The product configuration has two new fields on the first screen to specify
the unit measure for displaying on the preview screen (Screen/Pantalla) and
on output pages (Print/Imprimir). The original configuration unit measure
sets the default values for configuration fields and for outext files.
The two new units fields default to the original configuration units field if
they are empty. For example, to keep all configuration records and screen
displays in inches but to show ad boxes in page dummies in lines,
set the configuration units value to "inches",
set the screen units value to "inches" (or leave it empty), and
set the print units value to "lines".
* The unload.sh script "-p" parameter to unload only databases with a product
key now requires a product key. Also, it no longer adds a leading zero to
single digit product keys. The new "-P" parameter (a capital P) works the
old way. For example, "unload.sh -p 2 config" will unload product id "2"
and treats the "2" as an argument to the "-p", while "unload.sh -P 2 config"
will unload product id "02" and treats "-P" as a request to unload only
databases with a product key and "2" as a request to unload only product "02".
* The convprod.sh script now accepts the new format product ids and no longer
appends leading zeros to single digit product ids.
* The "Screen Display Preferences"/"Preferencias de Visualizacion"
product configuration screen has a new field "Print depth Decimals"/
"Imprimir decimales" to set the number of decimal places in ad widths
within ad boxes on printed page dummies. The default value is 2, which
matches what ClassPag used to do. If you set the value to 0, ClassPag
shows the width rounded to the nearest whole number. If you set the
value larger than 0, ClassPag shows the width with a decimal point and
the specified number of decimal places.
* The "Classified Heading Placement"/"Ubicacion de Encabezados de
Clasificaciones" product configuration screen has a new field
"Align second header"/"Alinear segundo cabezal" to line up sequences
of class headers at the tops of columns. The default is "Y" to
set the space between class headers at the tops of columns to the
preferred leading specified in the product configuration.
This is what ClassPag used to do. It creates an even space between
all of the class headers. If you set the field to "N", ClassPag will
consider only the first class header. This might be useful of you are
paginating a product where all of the class headers and line ads are
exactly the same size, a movie guide for example, and you want columns
that start with section headings to look the same as columns with all
line ads.
* The scan to extract %%DocumentProcessColors comments from EPS files for ads
now supports (atend) in EPS files with previews.
* ClassPag now places generic fillers in empty columns. Filler classification
checks added in version 1.181 prevented ClassPag from placing fillers in columns
without ads because ClassPag needed to find an ad to determine the list of
compatible fillers.
* The runcpag.sh script now takes an XFontSize # parameter to set the font size.
* The import procedures support a dump in Quark XTag format, although not
all tags are implemented. The import procedure searches for files with
*.xtg and *.XTG extensions and converts them to SCS Composition commands.
The conversion program must be updated to recognize which styles start new
ads or class headers and to map PostScript font names into SCS Composition
font names.
* Fixed a problem where ClassPag would sometimes rejustify the last column
of ads that it flowed. This would cause it to distribute some of the space
below the top ad to below the other ads.
* Fixed a problem in the maintenance window for the classification fixup
database where the delete key would open a form with the record instead
of asking if it is to delete the record.
* When the option to remove all of the records in the book size database
gets a database error, it now asks you if you want to rebuild the database.
If you say yes, after the rebuild completes, you should exit all the way out
of ClassPag (to where you must click on a windows icon or log in again) as
soon as possible. When you return, the book database should be empty.
* When ClassPag converts a sort file (classsrt.out file) in Mac format it
now adds the -z option to addcr which converts control characters into spaces.
This allows ClassPag to handle sort files with null bytes (ascii 0).
SII systems pad some sort file fields with nulls instead of with spaces.
* Fixed a problem with SII PSC dumps when the start of the trailer listed
in the sort file points to the second % in the trailer where the trailer
started "%%Trailer". If ClassPag had document structuring comment stripping
enabled, it would convert "%%Trailer" to "% Trailer" and then write " Trailer"
into the output file instead of "%Trailer".
NOTE2: This version has over 16,000 lines of changes from the previous version.
The longer product ids and the adjustable column counts need testing.
NOTE3: This version requires a version of spice from Aug 25, 2000 or later.
9/13/00
Version 2.13
* Ad sizes inside boxes in page dummies now include the name of the units.
* On pages with adjusted column counts, folios and templates print relative
to where the leftmost column would have been. This should produce better
results for tab spreads.
* Square-offs can now request ClassPag to flow one-column display ads instead
of dummying them. To flow one-column display ads, set the field "Flow"/"Fluir"
to "Y". The default is "N". ClassPag still dummies ads with a square-off
request in the page number field of the sort file. When the flow option is
enabled, ClassPag selects one-column display ads under the classification
of the square-off.
* The square-off packing for display ads now works a little better when it
detects that it has been running too long and no longer writes a table of
debug information when it exceeds its time limit.
* When ClassPag creates inverted spreads with pages that have adjusted column
counts, it now shifts the pages by the right adjustment instead of the left
adjustment.
* Fixed a problem where ClassPag would sometimes not create as many columns
on a page as you requested.
* Fixed a problem where the newshole information box in the page preview
would have overwritten text on pages with more 18 or more columns.
* Fixed screen painting problems in the page preview after changes to the
number of columns on a page.
* Fixed problems with the commands to lock and unlock column ranges on
pages with no columns.
NOTE: This version has 1691 lines of changes.
9/18/00
Version 2.14
* ClassPag now warns when you insert or edit a page information record
on a page numbered before the first page or after the last page.
ClassPag ignores requests before the first page or after the last page,
even if a pagination run happens to overflow onto the specified page.
* The classification field "Randomize"/"Aleatorio" has a new value "H"
to flow ads horizontally left-to-right instead of top-to-bottom.
Use this setting to flow ads in real estate or auto books that read across
instead of down. For the best results, the classification should not contain
any class headers and all of its line ads should be the same size.
* The "Classified Heading Placement"/"Ubicacion de Encabezados de
Clasificaciones" product configuration screen has a new field "Align first
header"/"Alinear primer cabezal" to line up class headers at the tops of
columns. The default is "Y" to set the space between the class header at the
top of each column (if there is one) and the ad below it to their preferred
leading specified in the product configuration. This is what ClassPag used to
do. It creates an even space below the top class headers. If you set the field
to "N", when ClassPag distributes extra space in columns, it will place some of
the space below the class header. This might be useful of you are paginating
a product where all of the class headers and line ads are exactly the same size,
a movie guide for example, and you want columns that start with section headings
to look the same as columns with all line ads.
* Fixed a problem where the cropped and boxed EPS types in the paper database
would set the left border of the bounding box too far to the left by the size
of the gutter if the area of the page with ads did not start on the leftmost
column.
* Fixed a problem where the EPS bounding box would be wrong for pages with
non-standard column counts.
* Fixed a problem where the command to print the current page or spread would
not make the page large enough when auto-scaling the image.
* Fixed a problem where the count of paginated pages and columns on the
statistics screen would each be one too high.
* Fixed a problem where the readtxt program for the El Pais text interface would
drop class headers if two classifications had text starting with the same six
characters and were exactly 10,000 class header entries apart in the interface
file. The new version can handle over 450,000 class header entries.
* Added support for an Autopark product to the makesc6.sh import script
and updated the Car Country product.
* Commented out palmap and chmap sections of altmap.sh.
NOTE: This version of 2517 lines of changes. Pages with adjusted column
counts still need testing.
9/19/00
Version 2.15
* When the configuration requests loading the Symbol or ZapfDingbats fonts,
ClassPag now simply loads them and no longer attempts to pre-encode them.
Some printers have problems encoding fonts with non-standard character mappings.
* When the "align first header" product configuration parameter is off,
ClassPag centers column headers at the tops of columns the same way it
centers other ads.
* Print commands can now prompt for file names. Printer entries have a new
field "Ask for filename"/"Pedir nombre" that warns ClassPag to prompt for a
file name. ClassPag exports the file name to the print command expression
through the variable "FileName". ClassPag will accept only letters,
digits and underscores in the file name so users can not enter directory
paths or embed operating system escapes. The print command expression should
take care of adding any required directory paths or file name extensions.
10/2/00
Version 2.16
* Increased the length of the fifteen font used configuration fields
"Fonts Used"/"Fuentes usadas" from 50 to 60 characters. This creates
more room for adding fonts.
* ClassPag no longer tries to pre-encode any font starting with "Symbol" or
"ZapfDingbats" instead of only checking for an exact match. This will work
better if the dingbat font has a longer name like "ZapfDingbatsITCbyBT-Regular".
* The "PS Titles"/"Titulos de PS" field in the printer database has a new
"PAGE" value that creates a short title like the "SHORT" value but with the
page number first.
* When the "Add PS Comments" spread option is set, ClassPag now includes the
class name in the comment. In addition, ClassPag now includes the sort key
for line ads. This should make it easier to locate ads from the comments.
* When ClassPag copies fonts to output pages, in addition to
/u/scs/gs/fonts.site, it now searches for font files in /u/scs/gs/fonts
and in each component of GS4_INC, which setup.sh sets to the list of
directories matching "/u/scs/gs/fonts.site*" and "/u*/gnu/fonts.site*".
* The View Ad Directories file browsing windows have a new function to
add a font to the font download list in the product configuration record.
This saves in retyping the names of fonts entered into site-specific font
directories.
* Increased the length of the product name field in the product configuration
from 30 to 40 characters.
* loadfont.sh can now handle font files that start with an %!PS-AdobeFont-1.0
comment that is not followed by the font name.
* When you print a page at a View/Print/Done dialog, ClassPag now clears
the dialog and displays a "Printing..." message while it is submitting the
page to a print queue. This makes it clearer that something is happening.
* If the $DISPLAY variable is set and does not start with a digit,
the setup.sh script uses "xset +fp" to load the scscour and scsansi
font directories.
* The setup.sh script sets XFontSize to 18 instead of 16 for SCO X servers
with 1024x768 or 1152x864 resolution. The new bitmapped fonts look better
at 18 and still fit on the screen.
* The setup.sh script tries to reset the $SCRATCH variable if it is ".".
This helps recover when X Window start up runs the setup script too early
and loads bad value of $SCRATCH in its environment.
* The "Test Composition" command (in various command menu lists) now
parses colon-delimited path elements from environment variables.
This prevents error messages on variables like COMP_LOGO that are often
search lists. Also, when the command searches for composition files,
it shows warnings instead of errors for optional files like "exmpsite"
and old environment variables like "COMP_APPDAT".
10/19/00
Version 2.17
* ClassPag uses a newer version of spice which allows sorting list views
by columns. To resort a list by a column, click on its column heading.
Click on the same heading a second time to resort the list in reverse order
by that column. All lists allow sorting except for lists of ads and
classifications, since they could potentially have a large number of entries.
* ClassPag list windows use updated palettes that make the column headings
stand out.
* The "Vertical Spacing Specifications"/"Especificaciones de Espaciado Vertical"
product configuration screen has a new field "Justify Square-Off Pages"/
"Justificar Paginas Encuadradas" to specify whether ClassPag should justify
pages that contain only a square-off on the bottom and empty space in all
other columns. The default is "Y" to justify the page as before.
If you place square-offs on their own pages in order to create EPS files,
you should set the field to "N". ClassPag will create reservations to
fill the unused space instead of floating the ads in the square-off or
adding fillers above the square-off. If the square-off is the full width
of the page, the rightmost column of the previous page or the leftmost column
of the next page must be empty or the page must be the first or last page.
* The printer database has a new field "Title Comment"/"Titulo" for an
expression to generate the %%Title comment on postscript pages.
To use this field, you should set "PS Titles"/"Titulos de PS" to
the new value of "EXPR". For sending EPS files to Tera's Page^Pairer,
you should set a title similar to
f$format(RunDate,"MM/DD/YY") // " " // EditionName // " " //
PageNumber // "PAGE"
This field should also help create useful page identifiers for RIPs that
show the Title comment in their print queues.
* Expressions for printing, folios and banners can now use the variable
"ProductName", which contains the name of the current product.
* The "View Ad Directories" window has a new command "Edit Bounding Box"/
"Editar BoundingBox" that opens a window showing the four parameters of
the bounding box of the current file. You can edit the values and then
click on "View" to see the file with the new bounding box, "Accept" to write
the new bounding box to the original file, or "Cancel" to leave without
updating the bounding box in the original file. This should make it easier
to import ads or fillers when starting with EPS files that have incorrect
bounding boxes.
* When ClassPag places an ad in a class that flows horizontally, it favors
placing the ad next to the previous ad. This makes horizontal flowing work
better if some of the ads have slightly different sizes.
* When you try to kill a banner, display filler or agate filler from the
preview display using Ads->UnselectAd or Ads->DeleteAd, ClassPag now asks
if you want to disable it. This makes it easier to remove banners and fillers
and eliminates the need to enter the setup screens where users sometimes
delete items instead of disabling them.
* The Pages->RedummyThePage command now shows a better message when it can
not find a good way to redummy the page.
* Added a "setbb" program that takes a file name and the four values
for the bounding box and updates the %%BoundingBox comment in the file.
When possible, the program punches the numbers into the file instead of
copying the file, so it should usually run quickly, even on large files.
* Fixed a problem with the checkbb program where it would make negative
offsets one higher. For example, it would convert -20 to -19.
* Fixed a problem on a tab spread containing a page with zero columns where
the folio on the zero-column page would sometimes be too large.
* Fixed a problem where ClassPag apply the procedure to shift ads between
columns in classes that flowed horizontally.
* Fixed a problem where pages with zero columns could keep ClassPag from
distributing ads evenly among pages.
* setup.sh now runs /u/scs/buildenv if $InstArea is set.
This makes is easier to run ClassPag with alternate versions of the tools.
* setup.sh now sets InstArea=dvl if the node name starts with "neo".
This lets ClassPag select the correct version of the tools on neo.scs.com.
NOTE: This version requires a version of $TOOLS/spice from Oct 12, 2000 or
later, a version of $TOOLS/compmap from Sep 13, 2000 or later, and a version
of the palettes in $SPICE_PALETTE (usually /u/scs/terminal/palmap) from Oct 13,
2000 or later. Older version of spice and ClassPag will not function with
the new palettes, so you should save the contents of the palette directory
before installing the new palettes in case you need to return to an older
version of ClassPag.
NOTE: This version has over 7000 lines of changes.
11/2/00
Version 2.18
* The product configuration screen "Column Vertical Rules"/
"Lineas Verticales de Columna" has a new field "Agate and Display Ads"/
"Agates y Destacados" to control whether ClassPag places vertical cut rules
between agate ads and display ads. If the field is empty, ClassPag defaults
to its previous behavior of placing vertical cut rules between agate ads and
display ads only when the configuration specifies vertical cut rules both
between agate ads and between display ads.
* The paper definition has the additional "PS Type"/"Tipo PS" value of "WEPS"
to crop unused area on the top and bottom of the page but to preserve the
full page width and left and right margins. This might be useful when
building eps files of full width square-offs with borders the extend
outside the page.
* Increased the number of legal classes in the product configuration from six
to nine. This provides more control over setting special attributes for
classes.
* ClassPag now cuts node names after the first period. This avoids problems
on systems that sometimes report just the system name and other times report
the entire network address.
* ClassPag has improved support for coupon ads. ClassPag now reads the coupon
flag from the correct position in the cardex. The ad information box now shows
ads with the coupon flag. ClassPag now writes the coupon flag in outext files.
* When ClassPag reads the sort file, it now accepts ads with the type "L" and
treats them the same as line ads. SII interfaces sometimes set that type.
* The page preview ads menu has a new option "Count Images"/"Contar imagenes"
to rescan for missing eps files. After the scan, it reports the number of
missing eps files. It checks only files that are marked as missing, so it
should run quickly if almost all of the ads were present during the import.
If ClassPag is configured to show missing or incorrectly sized ads as
conflicts, ClassPag will update the colors of ads on the preview display.
To recheck if ads that were present during the import are now missing,
use Command -> Misc -> "Retry missing images" / "Buscar faltantes" first.
* The printer setup no longer warns about print command lines that contain
"lpr" but not "-c". Only "lp" has a "-c" option.
* On Linux, ClassPag uses "netscape" instead of "mail" as the mail reader.
* On Linux, the "xterm" program has a bug where it sometimes does not close.
To close a stuck xterm, press the control key and then the left mouse button.
This will open an xterm "Main Options" window. While keeping both the control
key and the left mouse button pressed, slide the mouse down to the last option,
titled "Quit". Release the mouse button and then release the control key.
I have built a version of "rxvt" on /mci17/usr/local/bin that does not have
this problem. You can install it and replace xterm with a symbolic link to it
if needed.
* Fixed a problem where ClassPag would sometimes not add vertical cut rules
in columns above a square-off with a margin.
* Fixed a problem where the top and bottom positions of the bounding box of
eps files made with BEPS or BREPS could be off by a little.
* Fixed a problem where the lists to create or widen page reservations would
work with the default column count instead of the column count of the page.
* Added tty[0-9] to the patterns in profile.sh to start X when .startxrc
is present. Linux multi-screens match this.
* Fixed a bug in gv-3.5.8 (usually installed as /usr/local/bin/ghostview)
where it would crash loading postscript files if the bounding box happened
to match a media size known to gv but not enabled in its media size menu.
Also fixed a few small bugs and added a 14x24 media size (which should be
large enough to open broadsheet pages). You should remove or rename
saved application default files in both "/usr/lib/X11/app-defaults/GV" and
"$HOME/.gv" to see the new media size.
* The rebuild.sh script now shows the system name and start time.
NOTE: The SCO version will core dump if you delete the last item in a pick
list. The Linux version is OK. This version has over 3000 lines of changes.
11/7/00
Version 2.19
* When the "Add PS Comments" spread option is set on a page where ClassPag
must include fonts, ClassPag now adds messages before loading each font.
The messages say "Font" and then have the name of the font.
This can help diagnose problems with bad fonts.
* ClassPag now adds %%BeginData and %%EndData document comments around the
EPS segments of ads and folio blobs. Previewers like ghostview can read the
comments to skip over ads. This should fix problems where invalid comments
in ad EPS files could confuse ghostview and should eliminate the need to set
"Remove DSCs (PS comments)"/"Borrar DSCs (comentarios)" in the paper database.
* ClassPag now adds %%BeginFont and %%EndFont document comments around font
files that it includes in output pages. Note that PostScript font files
should not contain these comments. They should start with "%!PS-AdobeFont-1.0".
* lnexe.sh now says [OK] after the warning about not running it in a build
area to show that it is OK to continue. The script is only needed when
running maketar.sh from the directory "/u/william/tools/cpag".
NOTE: This version has only 193 lines of changes, but the code to add
%%BeginData changes the PostScript output and could potentially cause problems.
12/7/00
Version 2.20
* Increased the maximum number of columns per page from 20 to 32.
* When the printer database contains an expression for the %%Title comment,
ClassPag now also writes the value of the expression into the "jobname"
entry of the "statusdict" dictionary. Some RIPs list jobs in their queues
by the "jobname" value instead of by the %%Title comment.
* ClassPag can now position template banners at the top and bottom of every
page. You can use these banners to create page templates. For pages that
you will print, folio templates are more efficient, but for pages that
you will send as EPS, banner templates will transmit better because ClassPag
sees them as page objects and can include them in the TIFF preview.
ClassPag currently allows ten template banners. ClassPag places them
in order by banner name from the top or bottom of the page to the center.
ClassPag does not place template banners on overflow pages.
If the edition has a full page ad, ClassPag will place it on an overflow page,
and you will need to remove the template banners from a normal page and drag
the full page ad to that page.
In the banner image Side/Lado field, you can enter "LEFT" or "RIGHT"
to create separate template banners for left and right pages.
The default is "ANY" to place the template banner on all pages.
To make a template banner, set the banner fields:
Type/Tipo of "P" ("Primary", for the top of each page) or
"B" ("Base" for the bottom of each page),
Class/Clasif to a classification that will run,
Request Name/Nom.Solicitud to all spaces,
Default Image ID/Id Imagen to the image to place,
Default Count/Cantidad Inicial to 1,
Col Number/Nro. Col. to the column number (by default, ClassPag currently
places the banner on the leftmost column possible),
Position/Posicion to the new value of "T" for "Template",
Spacer to "Y" (if you will place other banners or if you have ads that request
the top or the bottom of the page),
Overflow/Exceso to "F",
Split Overflow/Partir Exceso to "H",
Overflow Position/Posicion de Exceso to "L".
Here is an example:
+----------------------------[ Banner Ad Setup ]----------------------------*
| Banner Number toptempa__ |
| Type P Primary (Page Top), Base (Page Bot), Request Page, |
| Secondary (Service Directory), Wide (A Head) |
| Description top template a________________ |
| Class ******__ Request Name ____ Include Liners N Displays N |
| Default Image ID 6____________ Edition __ |
| Default Count __1 Page Number ____ From F Col Number _2 Ord M |
| Position T First, Every, Anywhere once, Last, Template Spacer Y |
| Overflow F Split next page, Full next page |
| Split Overflow H Horizontally, Vertically, Full width, Class |
| Overflow Position L First, Last |
+---------------------------------------------------------------------------+
* When you paste a banner, the list of banner images now shows the number of
times the banner runs in the edition, a slash, and then the number of times
the banner is on the current page. This makes it easier to select banners
images that you have not already placed.
* When you save or copy from a work area, ClassPag now shows the size
of the ceps.out file that it will copy if the file is 1 MB or more.
This should help you to estimate the amount of time that the copy will require.
* The new product configuration field "Save Area Name Expr"/
"Expr para el nombre de la area" sets an expression to build the default
work area to copy into when saving. If this field is set, whenever you
select the command to save into a work area, ClassPag asks if you want to
save into the area specified by the expression. If you say "yes", ClassPag
does the save immediately and does not open a window with the list of save
areas. This should make it easier to save into the correct directory.
If you say "no", ClassPag opens the window of save areas as before.
The expression can use the same variables as the printer "Pages Subdir"
expression: RunDate, EndingDate, SectionName, ProductId, EditionId,
EditionName, ZoneId and ZoneName.
* New product configuration parameters can add extra space at the bottom
of a column that ends in the middle of a segmented ad. The screen
"Legal and Segmented Ad Specifications (Continued)"/
"Especificaciones de Avisos Legales y Segmentados (continuado)" has new
fields "Leading Above Top Seg"/"Interlineado Sobre Seg" and
"Leading Below Bottom Seg"/"Interlineado Debajo Seg" to set additional
leading at the top and bottom of columns spanned by segmented ads.
If ads in the paper have more space at the bottom than the usual leading
between lines, the last line of a split segmented ad will be lower on the
page than the last line of normal ads. You can set "Leading Below Bottom Seg"
to insert extra leading to make segmented ads line up with normal ads.
ClassPag has several passes that remove space from the tops of columns
and usually pushes the leading specified by "Leading Above Top Seg" to
the bottom, so you should leave this value as "0" and change only
"Leading Below Bottom Seg".
* The product configuration screen "User Preferences"/"Preferencias de Usuarios"
has a new field "Find ad command preserves last search"/
"Comando para buscar avisos guarda claves" to control whether the page
preview command "Ads -> Find Ad" preserves the search parameters.
The default is "Y" so you can restrict the ad list, for example, to color ads,
and then repeatedly open the list and position ads without the need to specify
the search each time. The command key menu from the list window has a hotkey
to clear all of the search parameters.
Set the field to "N" to have ClassPag reset the search parameters each time
you open the list window.
* The product configuration screen "Page Numbers"/"Numeros de Paginas"
has a new field "Show absolute page numbers in preview"/
"Mostrar numeros absolutos en la pantalla" to control whether the page
preview display shows absolute page numbers after the section-relative page
numbers. The default is "N" to show just the section-relative page numbers.
Set the field to "Y" to show absolute page number in parentheses after the
relative page number. Even when the field is "Y", ClassPag shows the
absolute page number only when it differs from the relative page number.
* The product configuration fields with the font download list are now
blobs instead of fixed length strings. When you edit them, ClassPag
opens an editor window.
* ClassPag now supports separating color ads that have an initial
"%%DocumentProcessColors" comment specifying "(atend)". Very few ads
have this format because most programs do not generate it or accept it.
* ClassPag can now write color information into banners that it creates.
As ClassPag builds each banner, it sets the colors to the values specified
in the "Banner Ads" form. This should make generated color banners
separate correctly.
* Changed the line ad look ahead fit to run faster with long lists of small
ads and of ads with similar sizes.
* Messages about errors while inserting records into databases now show at
least the database name. This should make it easier to track them down.
The updated messages are for errors that should not appear under normal
circumstances.
* Most reports of ads now show the product name, edition name, zone name,
and run date, plus the current date and time. This makes it easier
to identify which reports are current.
* The statlist report under "View statistics" now shows the total ad count
and area for each classification.
* Added the interface script purgeopi.sh to purge expired eps files based
on the list provided by SCS Track or SCS AdMAX in "/u/purge/OPICMD.TXT".
The opicmd file has the format
(blank line)
OPICMD
DELETE
(blank line)
adnumber1.eps
adnumber2.eps
(etc.)
The script validates the first four lines of the opicmd file and then deletes
the specified eps files. For each file, it tries to remove the filename as
given and then with no extension and then with the extensions .eps, .EPS, .ps
and .PS. This should prevent ClassPag from picking up old files.
The script has the options
-purgedir dir = set the directory with the OPICMD.TXT file.
-opicmd name = set the name of the opi cmd file in /u/purge.
-adsdir dir = set the name of the directory with the files.
-olddir dir = set the name of the directory with saved files.
-delete = delete the files.
-move = move the files to /u/oldads.
-log = show a log.
-quiet = do not show a log.
-echo = echo the delete commands instead of running them.
-x = set shell-level debugging.
-h = show this help message.
* Added the interface script convertpdf.sh to convert pdf files in the
current directory to eps files using the pdftops program.
* Added the interface script moveads.sh to process files in /u/displayads/ads.
It moves eps files to /u/displayads and other files to /u/badads.
* The popups before saving or loading a work area now close before doing
the copy so you can see that you selected something.
* Fixed a problem where ClassPag could try to place too many parts of a
segmented ad in a column.
* The handling of 4-character color abbreviations is now more consistent.
The abbreviation for "Yellow" is now always "Yell" instead of "Yelo".
* Fixed a problem where ClassPag could sometimes misposition parts of spanned
ads on the top stack while justifying columns.
* The redummy command did not work on pages with more than 20 columns.
NOTE: This version has over 6000 lines of changes. Square-offs might not
interact well with template banners.
12/8/00
Version 2.21
* Square-off height calculations now take template banners into account.
* If a square-off had an irregular shape, ClassPag would usually place
the banner over the leftmost part, but if the rightmost part has a wider
flat area, ClassPag will now place the banner over the rightmost part.
* Fixed a problem with generated banners with colors where ClassPag would
not write "Black" in the "%%DocumentProcessColors" comment. When ClassPag
generates color separations, it needs to see an entry for "Black" in order
to copy the banner on the black plate.
* The Sun Solaris version includes Bob's fix for displaying toolbar icons.
NOTE: This version has 344 lines of changes. I built only a Sun version
for testing in San Francisco.
12/27/00
Version 2.22
* The Import -> Read and Copy windows show the creation date of the eps file
in the popup before copying them. This makes it easier to detect old dump
files.
* The Import -> Read and Copy windows have a new hotkey
"Show/Hide Old Directories"/
"Activar/Desactivar Seleccion de Directorios Antiguos"
to control whether the list shows directories with old dump files.
The Copy window shows both old and new directories by default.
The Read window sets its default from the product configuration field
"Hide old files in Import Read list"/"Esconder archivos antiguos en Leer"
on the screen "Ad Loading"/"Cargar de Avisos".
* The Import -> Read and Copy windows can now sort directories by
the creation time of the sort file. The hotkey "Sort by Dump Time"/
"Ordenar por tiempo de creacion" sets the sort.
The three product configuration fields "Directory sort order for Import,
Copy and Save"/"Ordenar directorios para importar, Copiar y Guardar" have
a new value "TIME" to sort the directories by creation time.
Depending on the operating system, the date for saved work areas might be the
time that the work area was saved instead of the creation time of the original
sort file.
* The product configuration has fields to set the initial size of
the ghostscript previewer when viewing ads and pages. The fields
"PostScript preview scale Ads" and "Pages"/
"Escala para PostScript ver Avisos" and "Paginas" on the screen
"Screen Display Preferences"/"Preferencias de Visualizacion"
are small integers that control the ghostview "magstep" command line parameter.
0 is normal scale, -1 is 0.707, -2 is 0.5, -3 is 0.25, -4 is 0.125, -5 is 0.1,
1 is 1.414, 2 is 2, 3 is 4, 4 is 8, and 5 is 10. The values depend on the
order of the items in the ghostview magnification menu.
The default for both fields is -3. If you have a large monitor, you could
increase the initial sizes of preview windows by setting the scale for ads
to "-1" and the scale for pages to "-2".
* The rcpuniq.sh now tests running ftp before sending the file and can detect
if the login fails, if the ftp server is not running, or if the server is down.
When it detects a problem, it returns an error status to prevent ClassPag from
sending additional pages.
* Editor windows have a new hotkey LKey-E (usually SHIFT-CONTROL-e or ESCAPE-e,
see the LKEY line in the 'kb -Q' output to check) that passes the current text
through the expression interpreter. You can use this to test expressions
as you are writing them. ClassPag supplies every variable supported in
any context and sets the variables to default values. If the result has
composition codes and if ClassPag is running in a place where Composition
is available, ClassPag will also show the results of passing the expression
interpreter output through the Composition Engine. You can check the
results for composition warnings.
* The Save Name Area Expression in the product configuration can now
access the original import directory through the variable "ImportDir".
Value of the variable comes from the new "Original Terminal" field in the
control record. This lets you build save area names from the import directory,
which should help prevent users from saving to the wrong area. It is probably
better to build the save area name from the current product and run date
instead of using the import directory name, especially if the dump in an
import directory can contain data for more than one product.
In the control record, "Original Terminal" tracks the original import
directory (original import directories must have this field empty);
"Source Terminal" is the most recent directory that the work area was
copied from, and "Import Terminal" is the directory where the import
was run that created the current ad databases. For example, if you
log in to ttyp1, import a dump from MonMain, paginate it, save it to
SaveMonMain, and then copy it into ttyp2, the ttyp2 control record will have
the Original Terminal of MonMain (the original location of the dump),
the Source Terminal of SaveMonMain (the last location of the work files),
and the Import Terminal of ttyp1 (the location that built the work files).
Hopefully this will help track down problems with work areas saved to the
wrong places. The only way to view the control records is currently
through a hot key on the Import -> Copy list.
* When ClassPag rebuilds classifications areas, it now prints messages if
any database updates have errors.
* The fixperm.sh script that runs during installs and updates now looks
up the current directory in /etc/passwd to try to guess the correct user.
It used to hard-code the user to "cpag". This should fix file ownership
problems when installing into test accounts with different user ids than
the "cpag" account.
* Fixed a problem where the page display would show absolute page numbers
even when they matched the relative page numbers.
* Added a setdebug.bat script to set debugging flags for testing.
* A problem with the hot key to rebuild the classification areas from
inside the classification selection window is now fixed. It was due to
a formula bug from changes made on Oct 11, 2000.
* A routine to expand environment variables now works recursively, so some
variables can be defined in terms of others.
NOTE: This release is for testing only. It has over 2300 lines of changes.
The version of spice linked in might not be stable. The next release of
ClassPag will contain a version of spice with proportional fonts.
1/4/01
Version 2.23
* Most editor windows can now access save areas. The save area functions
used to work only in the interface "mapclass" formula (for entering legal
ads or importing ads from text dumps). This should make it easier to copy
expressions to new records or to other products.
* Most editor windows now have a binding for FKey-12 (usually F12 or
Control-F,Shift-2) that shows all of the editor commands and their keystrokes.
This makes it easier to find out what keystroke you need for a command.
* Editor windows in the "mapclass" formula now have the additional bindings
for finding matching quotes, finding string lengths and evaluating the buffer.
* Here is the current set of editor window key bindings:
FKey-1 = match braces or quotes
FKey-5 = view the save areas
FKey-6 = view the column measures
FKey-9 = exit
FKey-12 = open a command window with a list of the FKeys and LKeys
FKey-13 = modify the format database
FKey-14 = modify the photocomposer database
FKey-15 = modify the environment
FKey-18 = view the keyboard map
FKey-20 = exit
FKey-27 = view the manuals
LKey-B = match braces or quotes
LKey-C = copy the entire buffer to a save area
LKey-E = evaluate the current buffer
LKey-I = insert a text file
LKey-L = match braces or quotes and show the string length
LKey-M = match braces or quotes
LKey-P = paste text from a save area
LKey-S = copy the currently selected text to a save area
* Fixed a problem with the previous change the flipped some fields in the
control database. This messed up the control database screen.
* Added a creator.xfm -OW option to write the widths of all characters.
This will generate an invalid dump but lets you see the widths of characters
in special positions. If you need to use one of those characters, once you
know its width, you can map one of the other characters to it.
* creator.xfm now specifies widths for the characters in positions 32 ' ',
92 '\', 94 '^' and 95 '_'. Even though you can not use a backslash in
composition text (because it is the shove character), you can still access it
through <PI 92,font> if the font has a width for it. This lets you generate
a backslash without the need to steal a character or create a special font.
NOTE: If the fontdef "-a" option core dumps, get binary from 4-dec-00 or later.
NOTE: The changes are over 1700 lines (not counting creator.frm).
1/25/01
Version 2.24
* ClassPag and SCS Composition now support a limited form of OPI.
The Composition PS_OR_EPS flag has a new value "opi" that produces
an eps dump with opi substitution.
The PS_OR_EPS flag is set in /u/comp/data/environ/<device>_env
where <device> is the name of the photocomposer device.
The mapclass interface formula for importing ads in marked-up
text runs CompSet with the "eps" device and then runs pcspool
with the "cpag" device. AdMAX might use different devices.
When PS_OR_EPS is set to "opi", on calls to insert logos,
instead of inserting the EPS logo file, Composition writes
a comment with "%SCSInclude:" and then the name of the file.
This makes eps dumps much smaller.
When the new ClassPag product configuration field
"Check for SCS Composition OPI comments"/
"Probar comentarios OPI de SCS Composicion" on the screen
"Ad Import Restrictions"/
"Restricciones de Importacion de Avisos"
is set to "Y", whenever ClassPag writes internal ads, it will
scan them for "%SCSInclude:" comments and insert the EPS files
when it can find them. If you run Composition on one server and
ClassPag on another, you will either need to mount the AdMax logo
directory on the ClassPag server or maintain copies logo files
on both servers.
If ClassPag does not find the logo in the original location,
it replaces the directory with "$COMP_LOGO/" and tries again.
This allows you to have logos in different places on the AdMax and
ClassPag servers at a slight loss in efficiency.
When ClassPag inserts the logo, it passes the SCSInclude comment but
converts the 'I' lower case to make it safe to reprocesses ClassPag eps
output files.
* Composition can now recognize and skip previews in EPS files.
* ClassPag can now flow one-column display ads in-column with line ads
when they fit in the remaining space in the column below the line ads.
If they do not fit, ClassPag dummies them as before. If you want all
display ads to flow in-column, you should change their ad type to line ads.
The product configuration screen
"Display Ad Specifications (Continued)"/
"Especificaciones de Avisos Destacados (continuado)" has a new field
"Flow one column display ads if possible"/
"Fluir destacados de una columna si posible"
with a default value of "N". Set it to "Y" to flow one column display ads.
When ClassPag flows one column display ads, it also unflows them when it
unflows line ads, even if the user preference "Unflow In-Column Display Ads"/
"Desfluir avisos destacados puestos en columna" is set to "N".
* cortops now returns an error status when it has errors reading the input file.
This can happen if the epsf header is corrupted or if the file is truncated.
* scanps.sh now checks the return status of cortops. If cortops returns an
error, scanps.sh treats the current ad as bad. This can help detect epsf
corrupted files where the extractable EPS segment does not product PS errors.
* The test to decide whether to treat fillers as display ads or line ads
(for the purposes of placing cut rules) used to scan up and then down the
column to find the first non-filler and then use its type instead.
Now, if that ad is a class header, in-line display ad or line ad,
it counts only if it is at least as wide as the filler.
Before this change, ClassPag would treat multi-column fillers
surrounded by line ads as if they were line ads instead of display ads.
* The new product configuration field
"Max Agate Rule Filler Depth"/"Prof. max para tratar rellenos para agates"
on the screen "Column Vertical Rules"/"Lineas Verticales de Columna"
sets the maximum height of a filler that ClassPag will still consider
as possibly being an agate filler for purposes of drawing vertical cut rules.
ClassPag treats any filler larger than this height the same as a display ad
and does not try to scan adjacent ads to guess its type.
The default value of 0 tells ClassPag to scan adjacent ads as before.
A small value like 1 point will make ClassPag treat all fillers as display
ads when drawing vertical cut rules.
* Fixed problems with locking line ads on the first page on editions where
the first page is filled with randomly selected line ads instead of fillers.
If you locked the line ads, saved the work area, and then reloaded it,
ClassPag would convert all of the filler line ads on the first page into
normal line ads and then not flow those line ads in classification.
* Fixed a problem where square-offs with flowed ads would not work correctly
if two square-offs were over or under each other. The square-offs should
now work a little better and adapt to ads or other square-offs above or
below them as long as there is still enough room to fit in the requested
number of columns.
* Fixed a problem where ClassPag would scan only the first entry of a search
list logical name when looking for images.
NOTE: This version has over 4600 lines of changes, not counting the changes
to composition. The changes to composition require version of spice and
pcspool from Jan 19, 2001, or later.
1/28/01
Version 2.25
* Start of changes for proportional fonts.
* rebuild.sh has a new -d option to run def only. This makes it easier to
test updating screens.
* The banner setup window now has a mouse close box.
1/29/01
Version 2.26
* More changes for proportional fonts.
* The install procedure no longer tries to compile a local copy of the
standard palette in the palmap directory.
NOTE: Due to the preferences toolbar item, most windows now require a click
to place the cursor and a double click to select.
2/7/01
Version 2.27
* More changes for proportional fonts. All screens and windows have been
updated.
* The editor buttons in the mapclass import formula are now spice push buttons.
* ClassPag handles leading at the tops and bottoms of columns better.
The configuration parameters to add leading above and below legal ad
segments at column breaks now work better. The additional leading
applies any time a stream of segments is broken in the middle, whether
the segments break at a column or at a class header or another ad.
ClassPag also reserves space more consistently for horizontal cut rules
when an ad at the top of bottom of a column requires a rule.
* The checkinst.sh update post-processing script now removes
palmap/standard.xpl if it exists. ClassPag now uses the standard
palette installed in /u/scs/terminal/palmap. The standard.xpl
should be dated on or after Jan 31, 2001.
* The mapclass.sh interface script has a new debug option to enable debugging.
* The scratch.sh script now accepts the full path of a scratch area.
* The setup.sh script currently hard-codes the font size to 18.
* The testdef.sh script now runs def from $TOOLS instead of the current path.
* The unload.sh script now runs makespc from $TOOLS instead of the current path.
NOTE: There are over 4700 lines of changes since version 2.24,
mostly related to the den screen changes for proportional fonts.
A few pop-up windows paint incorrectly due to spice problems.
NOTE2: This version of ClassPag requires a version of the SCS
tools from the spiceprp mace area built on or after Jan 2, 2001
and a version of spice built on or after Jan 31, 2001.
2/20/01
Version 2.28
* ClassPag formulas no longer adjust the spice user interface preferences,
so the user preference toolbar button works.
* The mapclass.frm now uses a palette so the text window looks better.
* The mapclass procedure includes two new formula: Include and CheckInclude.
They both insert the text in the file named in user variable 10.
If the file does not exist, they return an empty string and write an entry
in the interface log file. In addition, CheckInclude displays a popup
dialog on the screen.
* The procedure to create banner index line entries from a barrios file
now accepts an alternate format with two fields per line separated by a
comma. The first field is the classification number and the second is
the classification title. When you load a barrios file, ClassPag asks
if it has the barrios format or the new servicios format. The servicios
format generates the index styles "initial" at the beginning, "titlepage"
for classifications divisible by 100, "page" for other classifications,
and "final" at the end.
* Fixed a problem where overflow pages with front-to-back pagination would
sometimes have their first column unused.
* menprof.sh takes numeric options TOP and BOT to set the top and bottom
cell margins. Spice currently has the built-in default of TOP 3 BOT 2.
To use the full height of the screen on a 1600x1200 display with size 34
fonts, use TOP 4 BOT 3.
* When ClassPag composes banners, it now includes a conditional definition
of cp_setcmykgcolor so banners with postscript segments that use that
operator will be viewable and printable when not on ClassPag pages.
* The View Font option in View Ad Directories now looks for alphabet.ps
in /u/scs/gs/examples and /u/gnu/gs4/examples in addition to /u/scs/gs.
* The option to modify the environment looks for envmgr in /u/scs/bin and
then /u/scs/tools/bin.
2/21/01
Version 2.29
* setup.sh scans the X server font path (as reported by "xset q") and places the
first entry starting with "tcp" first in the list if it is not already first.
* When the "align first header" product configuration parameter is off,
ClassPag treats headers more like ads when it justifies columns.
* Fixed a proportional-font related painting problem in mapclass.frm.
2/22/01
Version 2.30
* Class titles can have composition commands embedded in <> (less than and
greater than). For example, in live indices, you can use <ql> to force
a line break. These characters may also be in barrios files used for
loading index lines into banners.
* fixlogos.sh now sets TOOLS to /u/scs/tools/bin if it is not set.
* Added a WRQ Reflection X fontsize test in setup.sh.
* Fixed a problem where scans looking for the class of a nearby ad
would stop too soon.
2/23/01
Version 2.31
* The command to open a popup dialog with the ClassPag version now also
shows the full user name, terminal name and server name. This can help
to identify the system when the names are too long to fit in the information
window on the upper left of the main screen.
3/28/01
Version 2.32
* Increased the COMP_LOGO entry count in readcla from 20 to 100.
* readcla has a new -f option to take the first matching logo instead of
scanning all of the logo directories to check for duplicates.
* makecla.sh now runs readcla with the -f option. This should avoid warnings
on every logo when /u is a sym-link to /u1 and setup.sh finds every directory
twice.
* rcpuniq.sh now recognizes that the ftp reply "System type is unknown" does
not indicate an error.
* Fixed a problem where ClassPag would not insert scs opi images in banners
with segments produced by SCS Composition. ClassPag now scans external
eps files for scs opi comments if the %%Creator comment starts with "SCS".
* Changed spiceprp insmaint to generate a scs startup script
(/etc/rc.d/init.d/scs on Linux) that supports Linux clustering.
The script looks at the path used to run it. If the path does
look like a standard place, like /u or /etc, the script looks
for /u. If /u does not exist, the script creates a symbolic link
/u that points to the first component of the script's path.
For example, on a cluster with /u1 and /u2, if the script is run
from a directory under /u1, it will make a symbolic /u that points
to /u1 and then start (or stop) the scs programs running from /u1.
On shutdown, if /u is a symbolic link, the script removes it.
The script exits on startup if /u exists. The script exits on
shutdown if /u does not exist or if it points to another disk.
This makes the script safe to run whenever the cluster services
mount or unmount a file system under control of the cluster.
For example, on a cluster with system1 and system2 and file systems
/u1 and /u2 where system1 usually mounts /u1 and system2 usually
mounts /u2, if system2 fails, when the cluster software migrates
/u2 to system1, it can run the scs startup procedures on /u2.
If /u1 is active on system1, the scs procedure will not do anything,
but if /u1 is not active, the scs procedure will run the scs startup
from /u2.
* More changes for proportional fonts.
* Rebuilt with spice libraries from 26-Mar-01.
NOTE: This version needs a version of spice from 26-Mar-01 or later
and a version of the SCS X fonts from 24-Mar-01 or later.
We have improved the naming of the SCS X fonts to avoid conflicts
with standard fonts. ClassPag and spice will not start up if they
can not find the SCS X fonts that they require.
There are over 19K lines of changes from 2.27 to 2.32.
4/24/01
Version 2.33
* ClassPag now follows OPI references starting with the comment
"%ALDImageFileName:". To enable OPI inclusion, set the product
configuration field Check for ALD OPI comments/Probar comentarios OPI de ALD
on the screen Ad Import Restrictions/Restricciones de Importacion de Avisos.
This allows on-screen previewing of ads containing OPI references.
* ClassPag can now search for EPS files in a list of directories.
The product configuration field Alternate Ad Directories/
Directorios alternativos on the screen Display Ad Specifications (Continued)/
Especificaciones de Avisos Destacados (continuado)
lists a comma-separated list of directory names to search.
The directory names may be separated by spaces, commas or semi-colons.
On unix-based systems, the names may also be separated by colons.
When searching for a file, ClassPag first looks for the name as constructed
from the interface file in the dump. Next it scans in the directories listed
in the CPAG_EPS environment variable. Finally it scans the directories
listed in the configuration. Within each directory, it tries various
permutations of file name case and of extensions, as specified
in the product configuration. The first match stops the scan.
If the last character of a directory name is a plus sign (+),
ClassPag prepends the directory to the original full file name
path instead of just to the file name.
* ClassPag now shows version and product information in the title
of the outer window created by the window manager.
* The Position->PasteBanner list on the page preview display and
Ads->Banners list on the statistics screen no longer show inactive
banner images.
* The product configuration field Before Internal Ads/Antes de avisos internos
that specifies PostScript to write before internal ads can now have the
syntax "include" plus a space plus a file name. If the file name has
no initial directory path or logical name, ClassPag will supply a default
logical name of "$DATA/" which includes the ClassPag home directory.
This allows you to enter long sequences in a file that would not fit
in a field. Also, the distribution now contains a file "fixinc.ps"
that fixes some problems with logo space reservations in dumps made
by SII front-ends.
* The product configuration screen
Agate Ad Specifications(Continued)/Especificaciones de Avisos Agate(continuado)
has a new field Top Shift Ad Depth/Prof.para mover desde arriba
to specify the minimum height of ads to move to the top of columns.
When ClassPag encounters a single-column line ad this size or larger,
it moves the ad to the top of its classification in the column.
If more than one ad in the classification is larger than this size,
ClassPag sorts the large ads with the largest at the top.
* Fixed a problem where ClassPag would not insert scs opi images in
external eps files produced by SCS Composition. ClassPag now scans
external eps files for scs opi comments if the %%Creator comment starts
with "Software Consulting Services".
* Fixed the centering in more windows when using proportional fonts.
4/28/01
Version 2.34
* ClassPag can now divide pages into EPS blocks.
The paper definition has the additional "PS Type"/"Tipo PS" value of "BLOCK".
ClassPag will divide the page into vertical blocks where each block contains
a range of columns that all have columns packed to the same height.
The product configuration screen "Folios and Banners"/"Folios y Carteles"
has a new parameter "Max EPS Gap in Blocks"/"Separacion maximo para EPS"
to control the amount that the columns heights in a block may differ.
Printer file name expressions can use the numeric variables NumBlocks
and BlockNumber. NumBlocks is the number of blocks needed for the page.
BlockNumber is the index of the current block from 1 to NumBlocks.
If the print option is not writing blocks, both NumBlocks and BlockNumber
are 0.
* Fixed a problem where running ClassPag as root would show a warning
about an uninitialized variable called "LOGNAME".
NOTE: This version has over 1800 lines of changes.
5/1/01
Version 2.35
* Overflow pages now show with reddish borders instead of black borders
in the page preview. This makes them easier to identify.
NOTE: The changes for overflow pages are about 60 lines.
5/3/01
Version 2.36
* ClassPag has a new ad configuration database to refine leading and
cut rules between pairs of ads. This database lets you override
values for specific combinations of ad types. It has fields to
set the preferred leading, whether to place a horizontal rule,
and the horizontal rule depth and inset. If a field is empty,
ClassPag ignores it and keeps the value specified by the product
configuration, so you need to change only some of the values,
you do not have to set them all. The only exception is that
if the field to place a horizontal cut rule is empty but the
field with the rule depth is not empty, ClassPag enables rules
if the rule depth is greater than 0 and disables rules otherwise.
The new database is under Setup->Ad Configuration.
The entries for the type "leading fillers" also affect
reserve fillers and the spaces above the top ad and below
the bottom ad.
* ClassPag has a new configuration parameter to allow you to drag
line ads and in-line display ads (internal type DISPLAY_FIRST).
ClassPag will move the ad and then do the equivalent of saving the
line ads in the column. The parameter is "Can Drag Line Ads"/
"Poder traer avisos lĆneales" on the screen "Screen Display Preferences"/
"Preferencias de Visualizacion".
* In the file list under ViewAdDirectories, Insert and Delete now
mark and unmark files. The window has new hotheys to mark and
unmark all files. Marked files start with a star.
The options to load all of the ads as fillers or banners now load
only the marked files if any files are marked. This makes it
easier to load a few specific files.
* When ClassPag divides pages into EPS blocks, it treats elements
with image type "NONE" or with image type "EXTERNAL" but an empty
file name as fillers. This allows you to create banners or fillers
that will work like space reservations.
* ClassPag now numbers EPS blocks from left to right.
* The length of the view ad directories window form to enter
a directory name is increased from 30 characters to 70.
* setup.sh now adds /usr/sbin to the PATH.
* setup.sh now searches for a font server on the unix server if the
x server does not have a font server on its search path.
* setup.sh now recognizes WRQ at 1152x864 resolution.
* The gslp.sh script no longer ignores the -gs option.
* When ClassPag reads the list of used font names from the product
configuration, it now treats SCS lchars as whitespace and ignores new lines.
When the SCS editor opens a window, it rewraps the text, adding and removing
new lines at it sees fit. Since the rewrap can insert new lines in the middle
of font names, ClassPag must ignore new lines. If you want to force line
breaks for readability, you can add quad left characters (the same as you
can in text for the expression interpreter).
5/8/01
Version 2.37
* The product configuration flag "Omit under reservations"/
"Omitir debajo de reservas" on the screen "Classified Heading Placement"/
"Ubicacion de Encabezados de Clasificaciones" prevents ClassPag from placing
column headers under reservations (leading fillers and reserve fillers).
* The product configuration screen
"Top of Page Horizontal Rule Specifications"/
"Especificaciones de Linea Horizontal a Traves de la Pagina"
has two new fields "Rule Thickness"/"Grosor de la Linea" and
"Rule Inset from Edges"/"Intercalado de la Linea" to set the thickness
and inset of horizontal cut rules between ads and news.
ClassPag used to set the thickness and inset to zero.
* The product configuration field "After the Prolog"/"Detras del prologo"
that specifies PostScript to write after the prolog can now have the
syntax "include" plus a space plus a file name. If the file name has
no initial directory path or logical name, ClassPag will supply a default
logical name of "$DATA/" which includes the ClassPag home directory.
This allows you to enter long sequences in a file that would not fit
in a field.
* The distribution now contains a file "fixinca.ps" that contains just
the lines in "fixinc.ps" that need to appear before each ad to fix
problems with dumps made by SII front ends. You should now use
"include fixinc.ps" for the PS after the prolog and "include fixinca.ps"
for the PS before internal ads. This will make ClassPag output files
about 1KB smaller per ad, which can come to a few hundred KB per page.
* The classification selection window has a new hotkey
"Move subclasses"/"Mover subclasificaciones" to move subclasses from
one class to another. To move subclasses, first highlight the class
that contains them. Then open the command window and select
"Move subclasses". ClassPag will then show you a new list of
classifications. Select the classification that you want to move
the subclasses to, and then answer ok to the prompt.
After moving classifications around, you might want to select
the hotkey to rebuild the class areas.
ClassPag does not let you move a class under one of its own subclasses.
* setup.sh no longer tries to add the local scs font directories to
the X server's font path if the font path lists a font server or if
the font directories are already on the path.
* The configuration parameter to place class headers even if there
are no other ads in their class now has an effect again, although it
is untested since no one currently uses it.
* The file scan in the procedure to test composition looks
for additional files added in recent composition versions.
It still checks for the old files, so composition could still be ok
even if it shows a lot of errors, especially under /u/formats.
* ClassPag now treats newlines and scs composition characters in the
alternate ad directory list as white space.
5/9/01
Version 2.38
* The product configuration screen "Ad Importing"/"Importacion de Avisos"
has a new field "Create Parent Classes During Import"/
"Crear clases parientes durante importacion" to create as many levels of
classifications as needed during an import. It defaults to the negation
of the field "Sort File Has Nested Classes" (which is currently immediately
above it on the screen). For example, with a class suffix length of 3,
a class nesting multiple of 100, and "Sort Field Has Nested Classes" set
to "N", when ClassPag sees the first ad for class "141ACC", it will build
only class "141ACC" with a parent of "141". A later post-pass will see
that class "141" does not exist and will create it with a parent of "100",
and then will create class "100" with a parent of "******" (the top level).
If "Create Parent Classes During Import" is enabled, ClassPag will check for
(and possibly create) "141ACC", "141" and "100" as needed during the import.
This is slightly less efficient than creating them during the post-pass,
but their sequence numbers will follow the order of the dump files
more closely. This might allow the plain load classes procedure to work
in places that currently need to load classes with the sequence number.
* When the import class fixup creates parent classes for orphans,
it now initializes all of the fields of the class record.
* ClassPag writes the missing fonts in both the level 1 "%%DocumentNeededFonts"
format and now also in the level 2 "DocumentNeededResources: font" format.
CCI editorial requires the level 2 format with the additional restriction
of one font name per line.
* Ads with image type NONE or with image type EXTERNAL and blank file names
no longer show as missing ads.
* When importing ads, ClassPag now checks to find images in the
alternate ad directories if the product configuration specifies any.
This makes the count of missing ads more accurate.
* ClassPag can now add vertical cut rules to eps blocks.
The paper definition has the additional "PS Type"/"Tipo PS" value of "RBLOCK"
that works like "BLOCK" except that ClassPag adds the gutter width to interior
columns in order to include vertical cut rules within the image.
On blocks that did not touch either side of the page,
the types "BREPS" and "CREPS" used to include only a gutter margin on the left.
They now also include the gutter margin on the right.
* Commands to print reports now check to avoid printing empty files.
The Solaris print command returns an error on empty files.
* Updated report copyrights from 2000 to 2001.
* Fixed a problem with square-offs where ClassPag would sometimes not make
square-offs of widths where columns would have only one or two ads.
* If the "CEPS SIZE" warning in the conflict report no longer contains nulls.
NOTE: This version has 2149 lines of changes from the previous version.
5/11/01
Version 2.39
* The reports of missing ads and missized ads now show the start of the
ad description.
* The product configuration screen "User Preferences"/"Preferencias de Usuarios"
has a new field "Show ad image names in title area"/
"Mostrar archivo para avisos en titulo". The default is "N". If you set it
to "Y", on agate and display ads with external images that differ from the ad
number, ClassPag will show the image name before the ad description within
the ad (when there is room on the screen) and in the description area for
the current ad at the upper right of the screen.
* The product configuration screen "Classified Heading Specifications"/
"Especificaciones de Encabezados de Clasificaciones" has a new field
"Preserve Rule Spacing"/"Fijar Espacio a Lineas" to force the cut rule
to one-half of the configured leading value below the class header.
The default value of the field is "N" to center the cut rule between the ads.
* The paper definition database has a new field
"EPS Hor. Margin"/"EPS Margen Hor." to set the size of the left and
right margins on all types that print rules, currently BREPS, CREPS
and RBLOCK. If the field is empty or 0, ClassPag uses the gutter
width as before. Otherwise, ClassPag uses the value in the field.
For proofs, ClassPag scales the margin the same amount as the page.
If the margin value is larger than the gutter, ads from adjacent
columns might show through.
* The paper size type "RBLOCK" now always includes a margin on both the
left and right, even if the left column is the leftmost column of the
page or the right column is the rightmost column of the page.
* Box Information gives run counts only on display fillers and line fillers.
It used to show counts for banners and a few other types of ads.
* Fixed a problem where ClassPag could hang on a reflow if you dragged an
ad from inside a square-off to over the square-off banner. A loop had
a bad test, but apparently only caused problems on Suns.
5/16/01
Version 2.40
* ClassPag can now use information in the classification nesting database
while importing ads. For dumps that have all of their classifications in
the order that they should run, if "Create Parent Classes During Import"
is enabled, ClassPag can create parent classes by consulting a classification
nesting table rather than algorithmically. The result is similar to a
load without updating sequence numbers, except that since ClassPag creates
the parent classes as they are needed, they will have sequence numbers that
place them in the correct order with respect to other classes.
To enter the name of the classification nestings to use,
the product configuration screen "Ad Loading"/"Cargar de Avisos" has
two new fields "Default Import Class Nestings"/"Nidos a usar para importacion"
and "Use Control Nesting"/"Usar nido en control".
The "Default Import Class Nestings" is the name of the classification nesting
entry that ClassPag should use. If "Use Control Nesting" is "T", and if the
control record has a value entered in its "Fix Classes Id", ClassPag will use
that entry instead. The count-down window for the import now shows the
name of the nesting that the import is using or "[NONE]" for no nesting.
* The product configuration screen
"Screen Display Preferences"/"Preferencias de Visualizacion" has a new
field "Ask Before Drag"/"Pedir antes de mover". The default value is "F".
If you set the field to "T", ClassPag will show a warning when you try
to drag a line ad that you have not already positioned or moved.
This can help protect against mistakes when you have enabled the
parameter to drag line ads.
* Improved the check against printing empty files.
* The "View Box" button now includes OPI images in external ads
if the product configuration requests OPI inclusion.
* When setup.sh searches for the node name by scanning ifconfig output,
it now takes the first entry that does not start with 127. It used to
get confused if there was more than one entry not starting with 127.
* setup.sh now tries to find the font server by searching for the node name
in the /etc/hosts file if the first attempt using ifconfig is not successful.
* When you change the ad configuration setup from inside a pagination session,
ClassPag now asks if you want to reload the ads to make the change take effect.
5/16/01
Version 2.41
* ClassPag now accepts column position requests for display ads.
The column request should appear in columns 60-61 of the sort file
(with the 60 and 61 counting from 0). The value should be the
desired column of the leftmost column of the ad counting from the
left side of the page.
* The product configuration screen "Display Ad Specifications (Continued)"/
"Especificaciones de Avisos Destacados (continuado)" has a new field
"in square-offs"/"debajo carteles" to add leading between ads in square-offs
when ClassPag places banners. With the default value of "N", ClassPag works
as before where it sometimes needs to rebuild square-offs without leading
in order to ensure that other ads will fit on the page. If the field is
set to "Y", ClassPag is more careful about preserving leading between ads
with the risk that other ads outside the square-off might not fit.
You should use this option on products that contain only a single square-off.
* When ClassPag calculates ad positions inside square-offs, it can span ads
over other ads. If the product configuration specified no spanning, ClassPag
would not be able to place the ads according to its calculations and would end
up dummying the page. The test to prevent spanning ads now permits ads in
square-offs to span other ads.
5/22/01
Version 2.42
* ClassPag pages now include a conditional definition of cp_setcmykgcolor
including pages or converted ads using that operator will not change the
color state of the page. This only affects eps pages at sites using
SCS Composition where the pages themselves contain eps files made by ClassPag.
* The product configuration screen "Additional PostScript"/
"PostScript adicional" has a new field "Before the Prolog"/"Antes del prologo"
to specify a PostScript sequence to write before the shared prolog for
internal ads. ClassPag writes this field immediately before the prolog
and now writes the value specified in "After the Prolog" immediately after
the prolog. This allows these fields to encapsulate the prolog.
* Fixed a problem with SII-generated ads. The SII prolog saves the operator
"setcmykcolor" as "old_setcmykcolor" and then redefines "setcmykcolor" in
terms of "old_setcmykcolor". If the SII prolog runs twice, it creates a
loop by defining each of these two operators in terms of the other.
If you use the ClassPag option to save an internal ad to a stand-alone EPS
file and then import the stand-alone EPS file on to a page, and if that
page has a modified version of "setcmykcolor", for example, if another
program is trying to do a software color separation, the second copy of
the SII prolog contained in the stand-along EPS file will create a loop.
Other parts of the SII prolog could cause less dramatic problems if they
run a second time.
The solution is to prevent the second copy from running.
The ClassPag distribution contains a new file "fixincbp.ps" for use
in the "Before the Prolog" field and a modified version of "fixinc.ps"
for use in the "After the Prolog" field. SII sites should
set "Before the Prolog" to "include fixincbp.ps" and
"After the Prolog" to "include fixinc.ps".
The new fixinc.ps depends on fixincbp.ps.
If you are using it, you must set the "Before the Prolog" to
"include fixincbp.ps" or you will get PostScript errors.
fixincbp.ps is
/ICPS where {
pop
SII_work_dict begin
SII_work_dict begin
SII_work_dict begin
SII_work_dict begin
} {
and the change to fixinc.ps is the initial line
} ifelse
If you have fillers created from SII ads, you should find a 13,000 character
line at the top of the file starting (the BoundingBox numbers will be different)
%!PS-Adobe-3.0^M%%BoundingBox: 0 0 19976 1584^M%%Creator: SII PS Output Module
and ending
0 setjobparams^M%%EndProlog^M% File /u/william/tools/cpag/fixinc.ps
Add the contents of fixincbp.ps before the long line and "} ifelse" after
the long line.
If you have a lot of fillers, you should be to edit them at once
(with "emacs *" or "emacs */*") and then create a keyboard macro
(with "^X (" and "^X )") that searches for Adobe-3.0, and then inserts
the new text.
5/23/01
Version 2.43
* Fixed a problem where ClassPag could place two copies of a multi-column
line ad when the configuration requested copying headers from parent classes
to child classes. The scan could go one ad too far.
5/31/01
Version 2.44
* Page names (to control square-offs) have a new field "Just" to control the
vertical justification of pages that contain only ads from that square-off.
The default value, "DEF", uses the value in the "Justify Square-Off Pages"
from the product configuration "Vertical Spacing Specifications" screen.
"YES" adds fillers to justify the page.
"NO" fills the top of the page with reservations.
"EXP" adds fillers to increase the size of the square-off to the
default depth.
* makegif.sh has new -eps and -tif options to generate eps or tiff files.
* When makegif.sh converts from tiff to eps, it now uses the tifflib
program "tiff2ps". The ImageMagick "convert" program ignores the pixels
per inch value in the tiff and generates an incorrectly sized eps if
the tiff image does not have 72 pixels per inch. tiff2ps with the -2
option to generate Level 2 EPS files creates smaller files than convert.
tiff2ps with -2 also requires -z to write image in the proper place and
size in the eps.
* When ClassPag searches directories for an EPS file, if it finds an invalid
file, it now continues the search. If an ad has an OPI reference pointing
to a TIFF file, but the search path contains an EPS version, ClassPag will
now find the EPS version, where before, it would stop after finding the TIFF
version and leave a hole on the page.
* If the ClassPag logo search for OPI references does not find the file,
ClassPag now retries the search using the same search list as for EPS files
for ads. This allows ClassPag to find logos in directories specified in
the alternate eps file directory list in the product configuration.
* The PostScript file generated from an ad by clicking on the ViewBox button
now contains BeginData and EndData comments around the ad to keep Page comments
in embedded EPS files from confusing ghostview.
* ImageMagick writes EPS headers with the BoundingBox line after the Title
line, but it writes only one percent on the Title line. ClassPag and checkbb
now read past lines starting with one percent a few letters and a colon.
* Fixed a problem with the ViewAdDirectories LoadAll commands where they would
treat all of the files as the same type as the first file. If the first item
was a directory, the load would end up skipping all of the files.
6/2/01
Version 2.45
* Page names (to control square-offs) have a new field "Col" to set the
starting column of the square-off. The square-off screen has a new toolbar
button to change the starting column. You should set the column only on
square-offs that fit on one page. If the square-off has too many ads
to fit at the specified column, ClassPag will ignore the column request
and place the square-off at the left or right edge of the page according
to the "Overflow Position" field. Column requests have not been tested
on square-offs with margins.
* When you edit the square-off positions from inside a pagination session,
ClassPag now warns in more places if you try to modify a square-off that
is not in the current edition or is for a classification that has no ads.
* The makegif.sh -eps option now uses tiff2ps with the -1 option to create
a Level 1 EPS file. Use the new -eps2 option to create Level 2 EPS files.
CCI editorial systems do not accept some Level 2 files because they try
to pass them through an old version of ghostscript.
6/2/01
Version 2.46
* The product configuration screen "Agate Ad Specifications"/
"Especificaciones de Avisos Agate" has a new field
"Warn if Duplicates"/"Advertir si duplicadas" with a default of "Y".
If you set it to "N", the ClassPag ImportAds->ReadClassPagFiles will not
display pop-up warnings if it finds duplicated ads in the interface file.
This can be helpful if the interface sends duplicate copies of some ads.
* The count-down window on the ImportAds->ReadClassPagFiles screen
now displays a separate line for duplicate ads instead of combining
them into the count for errors.
6/6/01
Version 2.47
* ClassPag now works-around a bug in a recent version of SII PSD dumps
where the byte offset of the eps trailer in the sort file is one byte
too large. The symptom is that pages view OK but get the error
"Error: /undefined in rx" when they are printed.
* setup.sh now sets SPICE_PREFERENCES to CPAG_HOME. Usually all users
log in to /u/cpag. On sites with test systems, this allows each test
system to have different preferences.
* ClassPag now writes the version number in the Creator comment of PS files.
This makes it easier to find the version used to make a page.
* ClassPag no longer writes an XBoundingBox line in EPS files written with
type "BLOCK". The XBoundingBox is for ClassPag internal use only when
pairing EPS files of completed tab pages.
6/14/01
Version 2.48
* Updated the fixinc.ps and fixinca.ps SII correction scripts to
work-around logo problems in the 7t PSD dump module. The scripts
had been written for the 5g PSD dump module, which had a different
set of errors. The scripts now auto-sense the SII version.
* The "Just" field in page name records (to control square-offs) has
two new values "MULT" and "MEXP". Both produce multi-page square-offs
with the maximum width and height on each page set by the width and
height specified in the square-off database. The difference is that
"MEXP" works like "EXP" where ClassPag adds fillers to increase the size
of each square-off block to the requested maximum height. ClassPag places
each square-off block on the inner edge of its page.
* If the page name justification type is "EXP" or "MEXP" (to expand
a square-off to a given height), ClassPag no longer places a smaller
banner if the heights of the columns inside the square-off differ
by more than the configured maximum banner gap.
* When you change the settings for a square-off, ClassPag now detects more
changes immediately instead of waiting until you exit and restart a pagination
session.
* When the square-off justification is set to anything but "YES",
and a page contains only ads from the square-off, ClassPag no longer adds
fillers if one of the columns of the square-off does not have a banner
above it. This should produce a more useful EPS page when ClassPag
reduces the width of the banner due to an irregular ad geometry.
* The product configuration field "Outext Export Command"/
"Comando a exportar outext" contains a command to run after creating an
outext file. The field is now followed by a blob continuation field
so that the command can be as long as needed. Also, if the field starts
with a left paren or a double quote, ClassPag runs it through the expression
interpreter. It has access to system variables related to the product and
edition, similar to the variables available in expressions for building save
area directory names. ClassPag appends a space and the name of the outext
file to the command. If the copy commands needs to have the outext file
name in the middle, you can append "; echo" to the end of the command,
for example,
"cp outext.txt /exportarea/outext-" //
f$edit(RunDate // ProductId // EditionId // ZoneId, "COLLAPSE") //
".txt ; echo "
6/21/01
Version 2.49
* maketard.sh now includes *.ps files.
* Fixed a problem where square-offs with line ads could sometimes overflow.
The full pagination used a larger look-ahead than the estimate and in rare
cases could produce a worse fit if it grabbed small ads to fill an early
column and then had only left poorly fitting large ads in the next column.
Also, ClassPag now allows a little extra space in the last column in case manual
positioning of line ads below the square-off makes the fill slightly worse.
6/26/01
Version 2.50
* Increased the line ad sort key from 8 characters to 14 characters.
SII front-ends writes 14 character sort keys.
* The "BLOCK" and "RBLOCK" paper size types now increase the bounding box
to the bottom of the page for each column that has a real ad at the bottom
if the ad needs a cut rule below it. ClassPag used to crop the cut rule
out of the bounding box.
* The "Ad Importing"/"Importacion de Avisos" product configuration screen has a
new field "Clear Book Sizes on Import"/
"Borrar tamano de libro antes importacion" to clear the book sizes entries
before copying files from another work area. If you set the field set to "Y",
ClassPag clears the book size entries if you say to remove the old files before
copying new files. If you say to keep the old files and you are copying from an
import area, ClassPag will ask if you want to clear the book size entries.
* The product configuration screen "Additional PostScript"/"PostScript adicional"
has a new field "Patch After Prolog"/"Mas detras del prologo".
The field has the same format as the "After the Prolog" field before it.
ClassPag inserts both fields into output files after the prolog.
For sites with an interface that needs a large fix in all products and smaller
adjustments in different products, the "After the Prolog" field should have
the large common fix, and the "Patch After Prolog" should have the
product-specific fixes.
* The fixincleft.ps sets a flag that keeps the fixinc.ps procedure from
shifting logos. Use it as the "Patch After Prolog" for SII products that
have their logos print OK with any adjustments.
7/9/01
Version 2.51
* The "User Preferences"/"Preferencias de Usuarios" product configuration screen
has a new field "Ask before squeezing pages"/"Preguntar antes apretar paginas".
The default value is "N". If the field is "Y" and you drag an ad to a position
that would cause a previously unsqueezed page to be squeezed, ClassPag will
display a warning and ask if you want to squeeze the page.
* When ads, fillers or banners have a fractional height in points,
ClassPag now takes just the integer part instead of rounding the height.
For papers with a page depth that is not an even number of centi-points,
half-page ads will have a fractional number of points.
For example, a 21" page has 21 X 7227 or 151767 cpts,
so a half-page ad will have 10.5" X 7227 or 75883.5 cpts.
If ClassPag rounds the height to 75884, two half-page ads would not fit.
Some interfaces, SII in particular, pass 10.5" ads as 75884 cpts in the
sort file, so two half-page ads will not fit, and rounding is not an issue
because the value in the interface, as required by the interface
specifications, is an integer with no decimal places.
For interfaces that round up, the solution is to make the page depth
an extra centi-point larger. This increases the page height by 1/7227",
which is still a few times smaller than the smallest dot that an imager
can create.
* The classification sequence number is now a five-character string instead
of a four-digit number. This should make it easier to sequence five-digit
classifications and to sequence sub-classifications with alphanumeric
suffixes.
* Improved the "fixinc.ps" procedure to correct more logo problems in
dumps from SII interfaces.
* When using dumps from SII interfaces, if you will embed square-offs from
one ClassPag session inside another session, you should avoid using the
"Patch After Prolog". Also, all ClassPag products should be made with the
same patch in the "Before the Prolog", the "After the Prolog", and the
"Before Internal Ads" fields.
* ClassPag now checks if the book size database has any entries before
asking to clear it.
* Fixed a warning where ClassPag would complain that the value was too
small when you entered a value into the internal centi-point fields.
NOTE: This version has over 2000 lines of changes from 2.49.
NOTE2: The change to the ad sort key in version 2.50 and the classification
sequence number in this version both require rebuilding work areas when
these versions are installed. The loadtape script will do the rebuilds
automatically.
NOTE3: The change to square-off packing in version 2.49 and the changes
to the classification sequence number and the test for squeezing pages
could cause problems and should be tested before using this version.
7/13/01
Version 2.52
* The product configuration screen "Ad Importing"/"Importacion de Avisos"
has a new field "Format Class Name in Sequence"/
"Formatar nombre si ordenar usandolo" to tell ClassPag whether
it should reformat the sequence number field before storing it.
The default is "Y" if "Sequence Classes by Class Number" is set and
"N" otherwise. The defaults make ClassPag behave closer to what it
did when classification sequence numbers were numeric.
The important issue is that if classification names are not all zero
filled to the same length, ClassPag must reformat them in order to
prevent class "2" from coming after class "10".
* Expressions to copy outext files and to generate work area save names
can now use the variable "ClassNestingName" which evaluates to the name
of the last classification fixup entry applied. If you make several
square-offs from the same dump files, this might help to tell them apart.
* In expressions, ClassPag now trims trailing spaces from the ProductId
variable.
* Expressions for print commands can now use the variables "ImportDir"
and "ClassNestingName".
* When the product configuration flag "Ask if not written" (to warn if you
exit a pagination session without writing an outext) is enabled, ClassPag
now asks if you want to write an outext instead of just displaying a warning.
* If the product configuration has an outext export command, for purposes
of printing the outext warning, ClassPag considers the outext written when
you tell it to run the outext export command. If you select an option
to generate an outext but then say "no" to the prompt to run the command,
ClassPag will consider that the outext has not been written.
* ClassPag splits long outext command lines better between the pair of
fields in the product configuration.
7/25/01
Version 2.53
* The product configuration screen "Ad Importing"/"Importacion de Avisos" has
a new field "Sequence Classes by Suffix"/"Ordenar clases usando el sufijo"
for products with classifications built from class numbers and sort keys.
If classifications have suffixes, and you set this field to "Y", ClassPag
will order suffixed classifications under their parent by their suffix.
This allows suffixed classes to appear in any order in the sort file,
which can happen for interfaces that send more than one set of dump files.
Before this change, dumps with suffixed classes required setting
"Sequence Classes by Class Number" to "Y", and ClassPag would sequence
the classes by the order that they appear in the dump.
* Square-off records have a new field "Pos" that can be "TOP", "BOT" or "DEF".
The default value, "DEF" or empty, placed the display ads at the top for
square-offs placed at the top and display ads at the bottom for square-offs
placed at the bottom. The values "TOP" or "BOT" placed the display ads
at the top or the bottom inside the square-off.
* Square-off records have a new field "Fill"/"Rell" that can be "YES", "NO" or
"DEF". ClassPag can place large and small fillers in square-offs.
Large fillers are large multi-column fillers placed between display ads.
Small fillers are small single-column fillers placed within columns of line ads.
The default value, "YES" or empty, means that square-offs can have large fillers
as before. The "Place Fillers in Square-Offs" configuration parameter controls
whether square-offs can have small fillers. "NO" means that square-offs can not
have large or small fillers. "DEF" means that square-offs can have large and
small fillers only if the "Place Fillers in Square-Offs" configuration parameter
is set.
* The classification selection window has a new hotkey
"Combine Subclasses"/"Combinar subclases" that combines all of the
subclasses of the current class. For example, if the class structure is
100 -> 101 -> 101A, 101B
102 -> 102A, 102B
After running combine subclasses on class 100, the structure will be
100 -> 101A, 101B, 102A, 102B
and any ads within classes 101 and 102 will be combined with any ads
already in class 100. The ads will be sorted by their sort keys.
Classes 101 and 102 actually still remain under class 100 (in order
to enable any fillers or banners that they contain), but they will
no longer contains any ads or subclasses.
* The Box Information window for class headers now shows some information
about the classification.
* Added an "es" option to tntcpag.bat.
* Fixed a problem introduced around version 2.14 where the horizontal scale
would be applied twice when printing pages. This would only matter if the
horizontal scale was not 0 or 1.
* When printing pages, if the spread entry has no horizontal or vertical
scale but the paper entry does, ClassPag now uses the value in the paper
entry instead of 0.
* ClassPag writes cleaner EPS Document Structuring Comments.
ClassPag now reads and writes EPS files with HighResBoundingBox lines.
ClassPag now writes only integers in the BoundingBox lines.
When viewing an ad, ClassPag writes both fields of the Page line and
no longer writes an extra EndProcSet line.
* When you open a list of display fillers to paste, ClassPag now shows only
ads with active classifications. The list used to show all fillers, but you
would get a warning if you tried to paste a filler from an inactive class.
* Fixed a problem where ClassPag would open the ceps.out file with the
routine for opening normal EPS files. Since version 2.44, that routine
ignores files that do not look like EPS (which currently means starting
with a percent sign). If the ceps.out file had no header and started with
a NULL, ClassPag would ignore it.
* The commands to paste fillers now open the filler list faster.
The new version of spice attempts to read all of the records in a list
and had to do a lot of disk access for products with a large number of fillers.
ClassPag now reads the fillers into a table and displays the list from
the table instead of the file.
* When you use the list key on file names, ClassPag is smarter about setting
the starting directory.
* Added a work-around for a formula problem where using Ads -> EditTheAdData
and changing the image name with the list key would give a duplicate insertion
error the first time.
7/26/01
Version 2.54
* The "Fill Front Page"/"Llenar Pra.Pag" field of the classification database
has a new value "R" to mark classes with display ads that are reservations.
The display ads behave normally except that if you print with a paper entry
using the "PS Type" of "BLOCK" or "RBLOCK", ClassPag will trim the ad from
the page.
* The "placement reason" in the box information window now has additional
values for ads in square-offs to provide more information about why ClassPag
placed the ad.
"PgNm Fill"/"PgNm Llenar" is a display ad that ClassPag placed using its
packing routines.
"PgNm Flow"/"PgNm Fluir" is a header or line ad that ClassPag flowed into
the square-off around display ads.
"PgNm Request"/"PgNm Pedida" is a display ad with a special request like
touching a given ad.
"PgNm Dummy"/"PgNm Pir" is a display ad that ClassPag could not place where
it wanted, for example, if you had moved another ad in the square-off to
the place where ClassPag planned on placing this ad.
"Page Name"/"Pagina Nombrada" is an ad placed for any other reason.
* Added tool bar icons to remove all of the ads on the current page
and all of the ads from the current page to the end.
7/26/01
Version 2.55
* The "Save" option in the classification selection window to save the
current class nesting now checks if classifications have suffixes.
If they do, it asks whether you want to skip the suffixed classes.
Skipping the suffixed classes should produce better results if you do a load
with sequence numbers. When you do a load with sequence numbers, and you set
the sequence numbers by the order in the dump instead of by the classification
number, if a new dump has classes that were not present in the dump that you
used to make the save data, the sequence numbers of the new classes in the new
dump will probably not correspond to the sequence numbers in the saved list.
The base unsuffixed classes will probably not change between dumps, but the
suffixed classes will probably differ in each dump, and any new suffixed classes
will run out of order. The new save option to skip loading suffixed classes in
the save area will prevent the load procedure from resequencing the suffixed
classes from the dump order.
* The classification selection has a new option "View class nestings"/
"Ver nidos para clases" to show the list of saved classification nesting tables.
If you want to look at the tables, this option is safer than using one of
the load or save options because you do not need to worry about accidentally
running a save or a load if you select an item in the list.
* Added tool bar icons to modify reservations.
* When you view the reservations for the current page,
the window title now shows the page number.
* When you enter an image name in the ad data form, ClassPag searches
for the image and sometimes updates the file name. It now shows a dialog
when it updates the file name to make it clear why it changed the name.
NOTE: This version has over 4200 lines of changes from 2.52.
9/13/01
Version 2.56
* The product configuration screen "Ad Import Restrictions"/
"Restricciones de Importacion de Avisos" has a new field
"Ignore CCI"/"No probar si CCI". The default value is "N".
If you set it to "Y", ClassPag ignores OPI comments in EPS files
that have initial comment lines that contain the string " CCI-".
The OPI includer built into CCI AdDesk does not remove OPI comments
after including the EPS files requested by the comments.
When ClassPag sees the comments, it has no way to tell that the files
are already included and will insert another copy of the file if it can
find it. The second insertion will usually cause problems.
CCI AdDesk in particular converts all incoming EPS files into huge bitmaps,
and the CCI code to load bitmaps leaves graphics state of the PostScript
interpreter in an altered state that causes the second copy of the image
to show inverted and flipped.
* When ClassPag includes OPI files, it writes the comment "%%XIgnoreOPI"
into the PS or EPS header. When ClassPag processes EPS files that contain
the comment "%%XIgnoreOPI", it does not check for OPI inclusions within them.
This way, if a ClassPag EPS block contains a CCI ad (for example,
a service directory built by ClassPag that contains a display ad made
with CCI) and if you place the ClassPag block inside another ClassPag page,
ClassPag will know to ignore OPI comments within the block.
* Added a MSDOS cleanall.bat script to remove work files.
* profile.sh now sets the mail directory to /var/spool/mail instead of
/usr/spool/mail when it exists.
* update.sh has a new -b option to run diff with "-b" to ignore white space
changes. This can help when transactions have MSDOS line endings.
* update.sh has a new -nd option to suppress running diff after loading
the transactions. This can help when the transactions were not unloaded
with the "/h/k1" options.
* update.sh has a new -f option to force an update even if the .dat and
,idx files are not present. This makes it possible to use the script
to create databases from just screen files and transactions.
* setup.sh now includes $CPAG_HOME/fonts.site on the gs font search list.
* setup.sh now sets CPAG_EPS to $CPAG_HOME/ads if CPAG_EPS is empty
and $CPAG_HOME/ads exists.
* ClassPag now closes the ceps.out file before copying to or from another
work area. Windows does not like to delete or copy over open files.
* Ignore the error status when opening Netscape under Windows to view the
on-line manuals. If Netscape has any warnings, it returns an error status.
* When ClassPag opens the html manuals under Windows, it now searches
for Netscape.exe and then for IExplore.exe. If it find them, it runs
them directly, which eliminates a windows warning at the expense of
ignoring the currently selected default browser.
Executing index.html opens the default browser but generates a windows
error dialog.
* The top level ClassPag menu and a few other places now check if you clicked
on the window manager's close button and exit cleanly.
* ClassPag used to print pages at their actual (100%) size if the printer setup
"Postscript Name" field started with an "a" or an "A". It now also checks that
the second character is a space or a "c" or a "C". This allows you to set "A4"
paper size.
* The count-down window in Import->LoadClassTitles is now aligned with
proportional fonts and can show Spanish text.
* Eliminated the "Error removing tmpsort file, status 00001" warning that
would sometimes show in the shell window when rebuilding banners.
* lnexe.sh now links some additional tools from tools/misc to cpag/interface.
* Added a makedist.sh script that builds a distribution staging area from
the cpag mace area. To make a distribution from mace,
mjoin cpag ; mbuild -a ; $MACE_ROOT/bin/makedist.sh
cd $CPAG_DIST ; ./maketar.sh -kit
* The maketar.sh script can now run from the staging area created by
makedist.sh.
* Renamed the icon newad to newad2 and edit to editpage and removed
the unused icon import. Spice had icons with these names.
* The icon for opening page reservations is now a little larger.
* The debug option on the runcpag.sh script now sets XMOD_DEBUG and
the bounds options turns off the warn-overlap check.
* If $BATCH is "yes", the setup.sh script does not try to locate an
X11 font server. The unload.sh and update.sh scripts now set BATCH=yes.
This makes some system administration procedures run faster.
NOTE: This version has over 3600 lines of changes.
9/21/01
Version 2.57
* ClassPag PostScript output now protects against EPS files that
leave items pushed on the dictionary stack. EPS files are not
supposed to change either the dictionary stack or the execution stack.
ClassPag already checked for extra items on the execution stack.
* A change made to the mergeint program in Sep 97 to strip trailing whitespace
and nulls from merged ads caused problems in ads that did not end with
a comment. mergeint now adds a null after stripping the whitespace.
* The ClassPag 4GL code now closes the inpages and adlist databases in more
places. Hopefully this will fix problems on Solaris that cause the message
"Error Code DB 0000 OS 0020 inserting inpages records in database.
Please contact your system manager."
* ClassPag can now hide comments in PostScript files. Some EPS files print
the messages "%%[ Page: 1 ]%%" and "%%[ LastPage ]%%" to the ghostview status
window. The "Spread" field "Add PS Comments"/"Poner comentarios en PS" has a
new value "HIDE" that tells ClassPag to replace the PostScript message logging
command with a version that ignores the message. Also, the field value is now
a string instead of a logical. The possible values are "T" and "YES" (for
ClassPag to add messages before loading each ad), "HIDE" (for ClassPag to
hide messages), and the default "F", "NO" or empty (for ClassPag to pass
messages within ads but not to write any new messages).
* Added a maketarm.sh script to create an archive of the "cpag" mace area
(the source code control database as SCS that contains the ClassPag source)
and a script to unpack it.
NOTE: This is the first change in several years to the PostScript code
that wraps ads. Sites updating to this version should check that it
works for their particular ads before going live with it.
NOTE2: This version has over 700 lines of changes from the previous version.
10/03/01
Version 2.58
* The position requests ARRIBA, ABAJO and FRENTE can now be reduced to four
characters and preceded by a two-digit column number to indicate the column
on the page. For example, to place two 5 column ads under a 10 column ad
at the top of the page, the 10 column ad should request "TL", and
the two 5 column ads should specify the 10 column ad as their target,
plus one should have the position request "01ABAJ" while the other should
have the position request "06ABAJ".
* Split the last half of the Product Configuration screen
"Display Ad Dummying Style (Continued)"/
"Estilo de Diagramacion de Avisos Destacados (continuado)"
into a new screen "Request Checking"/"Comprobar Solicitudes".
* The Product Configuration screen "Request Checking"/"Comprobar Solicitudes"
has a new field "Allow multiple TOP requests"/
"Permitir mas que un pedido para CABEZA" that allows ClassPag to stack ads
that all request the top position on a given page.
The default value of the field is "N" to handle over-sold top positions on
a given page by moving the extra ads to the closest page with an available
top position.
If you set the field to "Y", ClassPag handles over-sold top positions by
placing the ads in a stack from the top, and ClassPag will not count an ad
with a top request as a conflict if all of the ads above it have top requests.
* The "Page Name" form for square-offs has four new fields under
"Add Hor Rules"/"Lineas hor" for specifying horizontal cut rules above
the top banner, below the top banner, above the bottom banner, and below
the bottom banner. The default value of "Y" allows cut-rules if the product
configuration specifies them. The value "N" suppresses the cut-rules.
You can use these fields to eliminate cut-rules for specific square-offs.
* The ClassPag OPI includer now searches for black-and-white versions
of images on black-and-white pages. This allows ClassPag to generate
black-and-white versions of color line ads provided that the only color
in the line ads is within logos that are loaded through OPI references.
This should help sites that use color logos in line ads but that have editorial
systems that do not support placing color images on black-and-white pages.
Since the ad takers do not know whether any particular line ad will fall on
a color page or black-and-white page, they can not pick the correct version
of the logo when they take the ad. With this change, ClassPag can pick the
correct logo at the time that the page is printed.
To print a black-and-white page from ClassPag, make sure that the product
configuration field "Check for grayscale -BW EPS files" is set to "Y"
and then print through a paper option with the field "Create Separations"
set to "GRAY". Also, for every color OPI image, you must create a
black-and-white version with the same name plus the suffix "-BW".
The front-end system that creates the line ads does not need any modifications.
NOTE: This version has over 1500 lines of changes. The horizontal cut-rule
code and the new OPI code need testing.
10/17/01
Version 2.59
* ClassPag now ignores column requests that are unreasonably large.
It used to convert column requests for positions off the side of the
page into requests for the rightmost possible column, but now it does
this only if the column number is reasonably small and not followed
by a third digit in the position field.
ClassPag now logs a warning when it ignores or reduces a column request.
* If a square-off has no default banner, ClassPag uses the largest banner
image the default.
* Fixed a problem where ClassPag would sometimes miscalculate the amount of
space needed to flow line ads into a square-off if the tallest line ad was
about the same as the depth needed on the partial page.
* Commands, like the ones to view log files, that redirect the output of a
command to a file and then view the file now let you view the file even if the
command returned an error status. Commands that list directories, for example,
can return an error status if they do not have permissions to list some of the
files.
* When ClassPag shows information in ad boxes, it now knows to ignore the
sort key for display ads. ClassPag dummies display ads instead of flowing
them, so the sort key is not as useful as other field, like the image name,
that ClassPag can show instead.
* When ClassPag checks to show the image name in ad boxes, it now suppresses
the image name if it is the same as the ad number (except for a short
extension). Also, ClassPag now shows the image name if it is a substring
of the ad number.
* If the "Current Page" spread option asks for a number of copies,
ClassPag now temporary closes the page display to keep the prompt
from getting overwritten by the display.
* The ClassPag import now treats a blank page request (column 71 of the
sort file, counting from 0) as an "N". If internal line ads had a blank
request instead of an "N", ClassPag used to do more expensive processing
on them as it would for line ads with special requests.
* Fixed a leading calculation when ClassPag would resort a column after
squeezing in an extra ad.
* mapclass.frm popups are centered better for proportional fonts.
* mapclass.frm generates fewer errors if composition is not running.
* creator.xfm now specifies a width for the bar (aka pipe) character in
position 124.
10/19/01
Version 2.60
* On the page preview display, if you select Ads->FindAd->FindPageNumber,
ClassPag now has an option to go to the page with the ad.
* For configurations that do not permit spanning ads,
ClassPag now allows a row of class headers sandwiched between two ads.
* When ClassPag scans for pages for square-offs, if the class of the
square-off does not have enough normal (non-square-off) line ads,
ClassPag tries to place the square-off closer to where the line ads would
flow instead of expanding the search to any page in the outer class.
This allows ClassPag to find better places for square-offs on papers
that have flat classification structures.
* ClassPag now attempts to dummy ads with widths larger than the default
column measure before flowing any line ads. This should help ensure that
ClassPag places double truck ads on double truck pages.
* When ClassPag can not place ads with widths larger than the default column
count, ClassPag now makes overflow pages wide enough to hold the ads.
ClassPag used to leave the ads unplaced.
* Removed a log warning about finding display fillers for inactive classes
since this can happen normally.
NOTE: This version has over 1300 lines of changes from 2.58.
10/22/01
Version 2.61
* You can now use the top level class "******" in the product configuration
"Legal Classes and Types" form. ClassPag used to ignore class names that
did not exist, but it now handles "******" as a special case to process
all of the classes. For example, in a product with all legal ads,
you could use this form to set all of the classes to type "L" in one entry.
NOTE: The version of spice linked into the previous two versions contained
a bug in date editmasks.
10/31/01
Version 2.62
* rebuild.sh now requires the -F option to run on non-build systems.
* The "Auto Segment Ads" field on the "Legal and Segmented Ad Specifications"
screen of the product configuration has a new value "WORD" that allows
ClassPag to autosegment internal ads created by MS Word for Windows NT 4.0.
* The "View Box" command on a segmented ad now clips the ad segment
without any extra margin. This makes it easier to check that segments
contain complete lines of text.
* setup.sh no longer looks for an X font server if it finds entries
containing "scs" or "unix/" on the font path.
* Fixed a problem where the OPI inclusion would sometimes miss comments
of they came near the end of a buffer.
NOTE: This version contains over 2600 lines of changes from version 2.60.
11/12/01
Version 2.63
* ClassPag has a run statistics database that tracks the count and area
of the different types of page objects. The product configuration screen
"Outext Export"/"Exportar de outext" has a new field
"Save Run Stats on Exit"/"Guardar estadisticas en salir" that you can
set to "Y" to request ClassPag to ask if you want to save the run
statistics each time that you close a pagination session.
The editions database has two new fields,
"Save Run Statistics"/"Guardar estadisticas" and "Active"/"Activo".
You can set the "Save Run Statistics" field to "N" to prevent ClassPag
from saving or reporting on the run statistics of certain editions.
You can unactivate an edition by settings its "Active" field to "N".
* The page preview "Ads..." menu has "View Run Stats" command to update
the run statistics database and then to prompt you for starting and
ending dates for a report.
* The new runstats.sh script generates a run statistics report.
The script takes two arguments. The first is the starting date in
YYYYMMDD format. The second is the number of days (the default is 7).
The script leaves the report in a file called "report.lis" in the
work directory.
* The setup screens for Editions and Zones now show a wider list with
the edition or zone name instead of showing a preview of the currently
selected name. This makes the list easier to scan.
The lists also show the value of the active field and have hotkeys to
change the active field.
* Fixed a problem introduced in version 2.57 where ClassPag EPS files would
leave a "0" on the postscript operator stack.
* In bash, setup.sh ends the PS1 prompt with \\$ so the $ changes to a #
when you change to root.
* When ClassPag can not read internal EPS ads, for example, if the ceps.out
file was truncated, it now writes a %%BeginData comment for 1 byte instead
of for the length that the EPS should have been.
* ClassPag no longer writes warnings to its error log about copying an
invalid ad when you restore from a work area that contained a filler or
banner that no longer exists.
* The product configuration maintenance command to remove configuration
entries without products now runs a little faster.
11/30/01
Version 2.64
* ClassPag now treats class names and sort keys as case sensitive.
It always allowed lower case characters in class name and sort key fields,
but then it upper cased the characters when building database key.
With this change, classifications like "100a" and "100A" are now different,
and the sort key "BBB" comes before the sort key "aaa" because "B" is ascii
66 while "a" is ascii 97.
* Split the top of the "Ad Importing"/"Importacion de Avisos"
product configuration screen into a new "Ad and Class Name Conversions"/
"Conversion de nombres de avisos y clases" screen.
* Note that the product configuration field
"Class Suffix Length (counting spaces)"/"Largo de sufijo de nombres de clases"
on the "Ad and Class Name Conversions" screen counts from the end of the
class name field. If class names have different lengths, for example,
if some are three characters and some are four, the shorter names must
be right justified so the first character of the suffix always starts
on the same column. The suffix length should include the suffix and
trailing spaces to the end of the class name field. For example,
the total length of the class name field is 8, and if the base classes
are 3 characters, the suffix length should be 8 minus 3 or 5.
If the base classes are 4 characters, the suffix should be 8 minus 4 or 4.
* The "Ad and Class Name Conversions" product configuration screen has a new
field "Length of Sort Key to Append to Class"/"Largo de clave a copiar a clase"
to append characters of the sort key to the class name. If display ads must
match the sort keys of line ads, for example, if employment is all one class
and display ads for different types of jobs must appear near line ads for
the same job, you can use this parameter to place some of the sort key into
the class. For line ads, ClassPag uses the sort key field from the sort file.
For display ads, ClassPag uses the descriptive text that starts after the
first white space within the external file name field.
* Print command expressions in the printer database can now use the
string variable "ColorList" to determine the colors used on the page.
The variable contains the initial letter of each color (other than black).
For example, if the page has cyan, magenta and black, ColorList will be "CM".
* The "Ad and Class Name Conversions"/"Conversion de nombres de avisos y clases"
product configuration screen has a new field "Ignore class record information"/
"No usar informacion de clases" to ignore the extra information in *CLASSHDR*
and *GROUPHDR* header lines in the sort file. The default value is "N" to
use all of the header fields. If the interface passes bad values in the
header fields, set this field to "Y" as a work-around until the supplier
of the interface can fix it.
* ClassPag now places copies of display fillers that have a count
greater than 0. It used to place them only if they had a page request
or if the "Dummy Ads by Page" configuration parameter was "R".
* Added make.* to the file list in maketard.sh.
* The import ads count-down window no longer shows extra top-level headers
that the import creates. This makes the totals match the totals in the
sort file, which should make the count-down window match the statistics
written by the front-end.
* On sort files using old style H lines for class headers, if a class had
more than one class header, ClassPag would place the class headers in order
by size with the smallest one first. It now places the class headers in
the order that they appear in the sort file.
* When the ClassPag import scans for orphan classifications, it is smarter
about placing new classes in the correct place. For example, on a product
with three character suffixes and nestings by hundreds, it will place
class 389ABC under class 389 (and class 389 under class 300 if needed),
and it will give them the correct sequencing. It used to place all
orphaned classes at the top level.
* Added a fixsort filter in the interface directory that reads a sort file
and replaces lower case letters in the sort key field of internal ads with
a single quote (the character before an a) and the letter in upper case.
This program can help for interfaces that send lower case letters in
sort keys if they do not use all 14 characters of the sort key.
* Added a sortads filter in the interface directory that sorts the ads
in the sort file by class and then by type. This program can help for
interfaces that do not send ads in classification order.
* The run statistics filler report now has a third line of headings.
* Fixed a problem where ClassPag would not paginate ads or see
subclasses of classes with lowercase letters in their names.
ClassPag currently uppercases class names when it stores them in databases.
Interfaces must create class names that are unique after uppercasing.
Interfaces that build class keys by appending an algorithmically-generated
sort key should avoid placing lowercase letters in the sort key.
* Fixed a problem where ClassPag would sometimes place two class headers on
a display ad when the display ad was at the top of the bottom stack on its
rightmost column, and there was space between the top and bottom stacks,
and the top stack ended with an ad of a different class than the display ad.
* If CPAG_EPS and the product configuration search path were both set,
ClassPag would start reading the search path from the length of CPAG_EPS.
* ClassPag would ignore entries of "." and ".+" in CPAG_EPS and the product
configuration search path.
* Fixed a problem where ClassPag could overwrite a buffer when copying the
last chunk of an EPS file to an output page on about 1 out of 100 ads.
This could happen both when printing pages and when viewing ad.
This has been present since version 2.32.
NOTE: This version has 23,422 lines of changes from the previous version, in
part due to updates to auto-generated files due to the changes for lower keys.
12/04/01
Version 2.65
* Changed the default report name from report.lis to report.txt.
This should make it easier to insert reports into Windows programs
because MS programs understand that .txt means a text file but get
confused by .lis.
* The runstats.sh script copies the filler report to the file
"/u/reports/SCSClassifiedReport_Week##.txt", where ## is the week number
in the year, counting from 1 from the week starting on the first Monday
of the year.
* The runstats.sh script allows a "-" as a null argument for the
start-date or days parameters.
* If the DAYS parameter to the RunStatsReport formula (which is called by
the runstats.sh script) is empty or starts with a capital "M", the formula
backs up the start date to the first Monday at least 6 days in the past.
The standard report runs from Monday through Sunday, but Sunday paginations
runs are usually completed by the end of Saturday. The date logic works
so that running the report on a Sunday produces data for the Monday to
Sunday week ending on that Sunday, and running the report later in the
week produces the same results for the previous week as running the report
on Sunday. The means that if the report did not run correctly, the script
may be run again any day during the week to post the previous week's data.
* Page preview Cmd -> Ads... -> ViewRunStats window has a "Post Filler Report"
command that calls the "runstats.sh" script without any arguments to post
a filler report from the previous week. This command may be run manually
from any pagination session during the week to regenerate the filler report
and post it to the /u/reports directory.
NOTE: This version has about 200 lines of changes from the previous version.
The change from printer.lis to printer.txt should be tested.
12/18/01
Version 2.66
* When ClassPag searches for EPS files, if the file name contained a dot,
it would strip any extension after the dot before retrying with .EPS.
It now only strips extensions if they are 4 characters or less.
For example, this will allow it to strip .PS, .EPS, .EPSF while leaving the
.MASTER and .COPY1 extensions used by Unisys. Unisys dumps contain file names
with the format ######.MASTER, but the EPS files are actually ######.MASTER.EPS.
Before this change, when ######.MASTER did not exist, ClassPag would search for
######.EPS instead of ######.MASTER.EPS.
* When ClassPag follows %ALDImageFileName comments for OPI inclusions,
it checks for a %%BeginObject/%%EndObject pair after the %ALD lines.
If the pair is not present, ClassPag adds the pair after the final %ALD line
and includes the eps file inside the pair.
If the pair is present but with nothing inside, ClassPag includes the
eps file inside the pair. These two changes should prevent OPI includers
from including a second copy of an eps file that ClassPag has included.
If the pair is present and has something inside, ClassPag does not
include the eps file. This should prevent ClassPag from including
an OPI image that has already been included.
* The product configuration screen "Display Ad Specifications
(Continued)"/"Especificaciones de Avisos Destacados (continuado)" has a new
field "Default Ad Creation Dir"/"Dir. por creando avisos" to specify the default
directory within the manual ad creation form. If paginators create ads from eps
files in a directory different from the one with display ad eps files (for
example, if the ad eps files come from a read-only mount of an opi server while
paginators create ads to pick up square-off blocks made in other ClassPag
sessions), you can enter the directory for blocks in this field.
This directory is only a default in the ad creation form; ClassPag does not
use it when searching for eps files.
* When ClassPag built the postscript for a page with an invalid line ad,
it could write a BeginData comment without a matching EndData comment.
The page would still print OK, but viewers like ghostview could hang.
* Added palmap and icon to maketard.sh so the development kit does
not need the runtime kit.
* setup.sh handles a missing root/bin directory a little better.
* The import and page display could sometimes carry over the description
text of one ad into the following ad.
* If the configuration parameter is set to mark that the folios do not need
composition, rebuilding the folios no longer produces a "compset failed"
warning. The rebuild also marks that it was run, so ClassPag will not
continue to prompt to rebuild the folios.
Note that if you have any composition commands in any folio entry,
you must say that the folios use composition.
* If you enable composition debugging on the folios, new debug messages
tell that the rebuild started and the number of even and odd folios
and warn if the configuration parameter is set to mark that the folios
do not use composition.
NOTE: This version still calls itself 2.65.
12/20/01
Version 2.67
* Added a "Check Errors"/"Probar errores" field to the printer setup.
The default is "Y" to stop printing when the print command returns an error.
Set it to "N" to make ClassPag ignore print errors and continue printing.
This can help on systems where the print command returns an error code
but still prints the page. Also, the dialog when ClassPag detects an
error now shows the error status.
* Added an "Include OPI"/"Incluir OPI" field to the printer setup.
The default is "Y" to include OPI images if the configuration says to check
for them. Set it to "N" to stop ClassPag from doing OPI inclusions.
This can help when printing to OPI servers that get confused by images
that ClassPag includes. Set the field to "N" for printers that go through
OPI servers and "Y" for other printers and for screen previews.
* Added an "Extra userdict copies"/"Copias de userdict" field to the
"Additional PostScript"/"PostScript adicional" product configuration screen.
The default value is 0. If you enter a positive value, ClassPag opens
the postscript user dictionary that many additional times before each ad.
Old SII systems with the 2.6g PSD generate postscript for line ads that
pops too many dictionaries. When you are doing color separations,
the SII code causes postscript errors by popping the color separation
dictionaries. If you have an old SII version and see postscript undefined
operator errors when you do separations, try setting this field to 3.
* Added "Set Sort Key to Sort Line"/"Fijar clave a orden" field to
the "Agate Ad Specifications (Continued)"/
"Especificaciones de Avisos Agate (continuado)" product configuration screen.
The default value is "N". If you set the field to "Y", when ClassPag imports
a line ad with an empty sort key from the sort file, it sets the sort key to
the count of line ads. This allows ClassPag to preserve the order of line ads
in dumps with sort files that do not contain sort keys.
12/20/01
Version 2.68
* ClassPag can now extract segmentation break points from SII ads with
embedded "%%LongLiner" comments. To enable the SII segmentation, change
the "Auto Segment Ads" field on the "Legal and Segmented Ad Specifications"
screen of the product configuration from "TOP" or "BOT" to "WORD".
1/10/02
Version 2.69
* ClassPag can now truncate a limited amount of junk from the end of EPS files.
* ClassPag can now handle broken SII "%%LongLiner" comments that contain
the control characters with values xFA and xC8 instead of new lines.
The ClassPag import step replaces the control characters with valid
postscript characters during the scan for the LongLiner comments
and requires write access to the ceps.out file.
* ClassPag can now wrap long SII ads even if the ads do not use an SII break
style.
* The "Auto Segment Ads" field on the "Legal and Segmented Ad Specifications"
screen of the product configuration has two new values, "SIIB" and "SIIP".
"SIIB" tells ClassPag to search for break points marked by SII "%%LongLiner"
comments. "SIIP" tells ClassPag to search for break points the same as "SIIB",
but if an ad does not have any break points, for example, if it was not composed
with an SII break style, ClassPag then calculates break points by reading the
SII postscript commands.
* When ClassPag scans for segment breaks, it now looks into classes with
a "Randomize" value of "G" in addition to classes with a value of "L".
"L" and "G" both mark legal classifications, but in addition,
"L" sets an infinite look ahead while "G", keeps the default look ahead.
* When ClassPag flows segmented ads, it can now flow segments around
full-column reservations.
* The "Version" command to show the ClassPag version now also shows
the ClassPag home directory.
* The dialog to save a work area is now clearer about showing which
information is from the current area and which information is from
the save area.
NOTE: This version has 915 lines of changes from the previous version.
1/31/02
Version 2.70
* If a page had more than one square-off, ClassPag would sometimes flow
the second square-off to the height that it would need if it were over
the first square-off even if the square-offs were on different columns.
* ClassPag now places class headers over display ads at the tops of columns
if the configuration says both to place headers over display ads and to place
class headers at the top of every column.
* The "Ad Loading"/"Cargar de Avisos" product configuration screen has a new
field "ceps.out Age In Hours Before Warning"/"Vejez de ceps.out en horas hasta
aviso" to specify the age of the interface files in hours before ClassPag should
start showing warnings. ClassPag also now shows warnings if the interface files
in the current work area are older than the files in the import area that they
were copied from. These warnings should provide an extra level of checking if
you need to redump or reimport the interface files.
* Added readaii and makeaii.sh to read autologic text dumps with special markup.
mapclass.sh has an "aii" option to configure mapclass for aii.
* Added a cleanceps.sh interface script that removes all ceps.out files
older than a given number of days from the scratch directories.
The default is currently three days.
Use the options "-d #" to set the number of days,
and "-r" to remove the files instead of just listing them.
For example, to remove all ceps.out files older than two days, run
cleanceps.sh -d 2
to check what it will do and then
cleanceps.sh -d 2 -r
to remove them.
This can help at sites that have large ceps.out files and are running out of
disk space.
* Improved the test in runcpag.sh to run cpag from $CPAG_HOME or
$TOOL_OBJ_ROOT/cpag.
NOTE: This version has over 300 lines of changes from the previous version,
about half due to the new readaii conversion program.
NOTE2: The new test for placing class headers over display ads might need
to be changed if it places headers where they are not wanted.
2/13/02
Version 2.71
* The product configuration screen "Classified Heading Placement"/
"Ubicacion de Encabezados de Clasificaciones" has a new field
"Flow over display ads at top"/"Fluir arriba de des. a tope" to control
whether ClassPag places class headers above display ads that are touching
the top of the page. If the field is empty, ClassPag places class headers
if the configuration says both to place headers over display ads and to place
class headers at the top of every column. If the field is "N" or if the
field to place class headers over display ads is "N", ClassPag does not place
extra class headers. If the field is "Y", ClassPag will place class headers.
* The product configuration field "Flow one column display ads if possible"
now has a stronger effect. If you set it to "N" and paginate back to front,
ClassPag no longer flows one-column display ads mixed between line ads.
* The product configuration screen "Ad Loading"/"Cargar de Avisos" has a new
field "Require the Load of Saved Class Nesting"/"Exigir cargar de nidos"
with the values "NO", "USEDEFAULT", and "SHOWLIST".
The default value of "NO" does not require any loading.
"USEDEFAULT" always loads the default nestings entered into the control record
for the current work area. Use this for special products where every import
area has a specific class nesting that it requires.
"SHOWLIST" requires a selection from either the default nesting in the control
record or from the list of class nestings. Use this for products where users
always need to remember to select a nesting.
* The product control database has a new field "Req"/"Exi" with the values
"N" (No), "U" (Use without asking), and "S" (Show a list for the user to select)
that override the "Require the Load of Saved Class Nesting" field in the product
configuration. This allows you to enforce the class nesting by work area.
* The run statistics report now calculates week 1 as the first week that ends
with a day in the year instead of the first week with a monday in the year.
* runstats.sh has a "scr" parameters to use the current directory as the
scratch area. runstat.sh preserves the log file with "debug" or "-i".
* The convertpdf.sh script now scans for all files with a period plus the
letters "pdf" in any mix of upper and lower case. In addition, any sequence
of characters may follow the "pdf". The script forms a name for the eps file
by removing everything after the period and adding "eps". The script used to
search only for files with names ending in ".pdf" in lower case and with no
extra characters.
NOTE: This version has over 2500 lines of changes from the previous version,
2/22/02
Version 2.72
* The command to show the ClassPag version now shows the login name in addition
to the user id when they are different. ClassPag looks up privileges from the
login name, not the user id.
* In the product configuration, the print screen toolbar icon now prints all of
the screens instead of just the current screen. This makes it easier to print
all of the configuration fields for a product. The new screen printing routine
is in the denprintscr.xfm formula. If it causes problems, you can remove the
file to make ClassPag revert to the default screen printer.
* The "Request Checking"/"Comprobar Solicitudes" screen has a new field
"Show Split Ads in Blocks as Conflicts"/"Mostrar conflictos de avisos dividos
por bloques". If the field is set to "Y" and an ad could be split if the
page is divided into EPS blocks, ClassPag will show the ad as a "SPLIT_AD"
conflict.
* The dialog after printing pages now shows the number of split ads and the ad
numbers of the first few split ads. Split ads can happen only with the "BLOCK"
and "RBLOCK" postscript types that divide pages into EPS blocks.
* When you print a range of pages, the final dialog now shows the cumulative
count of missing and split ads instead of just the count for the last page.
* Fixed a problem where ClassPag would not check OPI calls that came near
the end of a buffer.
* Fixed a problem where ClassPag would add an extra character in the output
if the sequence of text in a group of OPI comments did not fit in the buffer.
* Fixed a problem where writing the run statistics for the filler report would
sometimes show an error when updating the values for a session with an edition
or zone of zero.
NOTE: This version has over 1500 lines of changes from the previous version,
2/26/02
Version 2.73
* Fixed a problem in the banner setup where the banner text detail window did
not show. I uncommented lines to open the detail window. A previous version
of spice had problems when the windows were opened by OpenWindow calls.
2/28/02
Version 2.74
* The Paper database has a new field "Shift to origin"/"Mover a origen".
If you set the field to "Y", ClassPag will write EPS files with the lower left
of the image shifted to the origin. This will make the lower left of the
bounding box be 0 0 and the upper right of the bounding box be the size of the
image. The default value of the field is "N" to write the page image with the
margins specified in the product configuration and then to clip the desired
region of the page through the bounding box. Before this change, you could
achieve the same effect by setting the Horizontal and Vertical Paper Offset
fields to the negative of the sum of the margins in the product configuration,
but this would require updating each time you changed the product configuration
and it would work for entire pages but not for blocks. This will also eliminate
the need to use the pstoepsf.sh -translate option.
3/22/02
Version 2.75
* You can now create custom tab pairings through the book size database.
The book size database has a new field "Paired Tab Page"/"Pagina empalmada"
to specify the page (by absolute page number) that pairs with the current page.
If the field is empty, it has no effect, so you can ignore it if you are using
the book size database only to set section names and relative page numbers.
When you modify entries, ClassPag warns you if you create an inconsistent
pairing. The book size window has a hotkey to run the verification scan and
another hotkey to show the relative page number and tab pair of each page.
* The window to select which posted pages to print now has a hotkey for help
to show the meanings of the character codes.
* Reduced the length of the ShiftToOrigin variable to eliminate a warning in
the log file.
* In the "Ad Configuration" setup, entries for leading fillers now also apply
to reserver fillers, and entries for banner ads (stand-alone banners) also
apply to request headers (banners over square-offs).
* When you edit an ad configuration record, ClassPag now fills in the
text ad type descriptions to match the numeric values.
* When ClassPag builds square-offs with a mix of display ads and line ads,
it checks to place the last few display ads in positions that leave more
area for the line ads to flow.
* Fixed a problem where square-offs with no display ads would sometimes not
work on papers with a maximum number of columns configured larger than the
default number of columns.
* Fixed a bad array test in back-to-front pagination when checking the space
needed below the first ad in a class when looking for a column to place
a display ad. A bounds-checked build from spicedst did not find any other
bad memory accesses.
* Fixed a problem in the routine to rebuild pages where it would sort
the ad positions but not the placement reasons. If you saved a column
range on a page that also had display ads and then removed ads after
a given class, sometimes a few extra line ads would be removed.
* Shortened the description field in the banner detail window to keep it
from running into the next column of fields.
* The fix.sh script to reset the terminal now also clears the scrolling region.
* The commands to save and restore work areas no longer show a warning when
the copy command can not preserve the date or owner of a file created by
another user.
NOTE: This version has almost 1500 lines of changes from version 2.72.
4/3/02
Version 2.76
* The "Auto Seg Clip Adjustment" field on the "Legal and Segmented Ad
Specifications (Continued)" product configuration screen now has separate values
for the clipping above and below segments. If the value for above segments is
empty, it defaults to 0. If the value for below segments is 0, it defaults to
the value above segments. When you update to this version of ClassPag, the old
auto seg clip adjustment field is copied into the value for above segments.
As before, the values in both of these fields should be small negative values
with approximately the same size as the clipping margin for normal ads.
A good starting point is the negative of the clipping margin for normal ads.
Increasing the value shows more of the ad.
Decreasing the value shows less of the ad.
Something is wrong if you set these fields larger than 0 or more than two
points less than the negative of the clipping margin.
* When ClassPag auto segments long ads, it now knows that fonts starting
"ObsC34" have different metrics than standard fonts and sets the break
points closer to the base lines.
* Fixed a problem in front-to-back pagination where ClassPag could place a class
header over a display ad when the display ad had compatible line ads above it.
* The procedure to view the column measures now shows an additional line for the
double truck offset, which is the offset of the left edge of the right-hand page
from the left-hand page. This value can be helpful when building special folios
for double truck pages.
* The pagination statistics window no longer shows an unplaced banner ad if
you restore from a session that uses a non-default image of a required banner.
* The page information list window is now larger and formatted better,
especially when viewing entries for all products. When showing the current
product, it no longer shows other products that start with the same first
two characters.
* The Box Information window now shows more characters of the ad type.
* Added a work-around for loops in SII color operator definitions
when another application attempts to separate it.
Set the "Before the Prolog" to "include fixincsep.ps" to insert the contents
of the new file "fixincsep.ps" at the start of each page. This file defines a
variable that makes the SII prolog code think that it is already within an SII
page.
* Added an initialization for "wc" in sepbegin.ps.
Adobe Photoshop Version 5.5 pulls some color operators from the system
dictionary, bypassing the redefined versions needed for separations.
This change works-around Photoshop's incorrect use of the "image" operator.
* The setup.sh init script now exports LC_COLLATE as "C".
In newer shells, the collation order comes from first one of LC_COLLATE,
LC_ALL, or LANG that is set. The default value is "en_US", which sorts
AaBb...Zz, so the pattern [A-Z]* matches file names that begin with a
capital letter or with any lower case letter except for "z".
Similarly, [a-z]* matches files that begin with any letter except "A".
Use the "locale" command to view the current values of these variables.
Setting LC_COLLATE to "C" makes [A-Z] and [a-z] select only upper and
lower case characters as in older shells.
* rebuild.sh now uses $SPICE_COMP instead of $TOOLS for the compilers.
* The fixperm.sh script now continues over files that have single or double
quotes in their names. Some Linux desktop managers create files with quotes.
* The maketar.sh script now picks up symbolic links in the interface directory.
NOTE: This version has over 2300 lines of changes from the previous version.
4/14/02
Version 2.77
* ClassPag now supports double cut-rules and provides more control over the
position of rules. The Ad Configuration database has new parameters to control
the rules.
Leading/Interlineado is the target amount of space to place between ads.
ClassPag divides the space into several areas.
Space Above Rule/Espacio sobre la Linea is the space between the top and the
first cut rule.
Rule Depth/Profundidad de la Linea is the depth of the first cut rule.
Rule Separation/Espacio entre Lineas is the space between the rules.
Second Rule Depth/Segunda Linea is the depth of the second cut rule.
Space Below Second Rule/Espacio debajo la Linea is the space below the second
cut rule.
If you want only a single cut rule, the Rule Separation, the Second Rule Depth,
and the Space Below Second Rule should all both be zero or empty.
Place Horizontal Rule/Poner Linea Horizontal tells ClassPag how to place
the actual leading differs from the target leading.
The default values 'F' and 'NO' mean not to draw any cut rules.
'T' and 'YES' mean to draw a cut rule centered between the ads.
This is how ClassPag used to draw all cut rules.
For centered rules, you need to set only the Rule Depth for single rules,
and the Rule Depth, Rule Separation, and Second Rule Depth for double rules.
'RAISE' means to raise the cut rule so that it is justified against the
ad above it according to the Space Above Rule.
'LOWER' means to drop the cut rule so that it is justified against the
ad below it according to the Space Below Second Rule.
* The "Load" procedure in the "View Ad Directories" browser window now
has options to load eps files as class headers by creating or updating
banner records with "Split Overflow" of "C". ClassPag builds the class
name from the name of the eps file. ClassPag removes the extension of
the eps file and then tries looking up the result in the class name database.
If the name is not found, ClassPag tries again with the name truncated at
the first dash or underscore and then at the last capital X.
This allows you to save class headers in formats like Class#XWidth.EPS,
Class#-description, Class#.PS, etc.
If an image record already exists, ClassPag updates it with the new EPS file
so you can rerun the class header load against an updated set of EPS files
without the need to delete old records.
ClassPag builds the banner record with the ad number "H" plus the class
and with a "Request Name" of the class.
If the current image is one column wide or if the banner does not have
a default image, ClassPag sets the default image to the new image.
* The Cmd -> Misc... menu has a new "Product Configuration"/"Config de Producto"
entry to enter the product configuration directly. It eliminates the need
to select "Product Configuration" from the "Setup" menu and then to select
the current product from the product list.
* Added a sample copyex.sh script in the interface directory with sample
commands for doing nightly copies of ClassPag files from a primary server
to a backup server.
* Added a makerun.sh interface script to run the readrun interface program.
* Updated fixinc.ps to work with newer versions of SCOOP that do not load
four extra 1's on the stack before calling include_epsf.
* When you use one of the "AllAs" options in the "Load" procedure of the
"View Ad Directories" window, you no longer get a warning for ".."
and other directories in the current directory.
* When alternate class headers were loaded as banner records with
"Split Overflow" of "C", ClassPag would check them when it needed
a multi-column header, but it would still require a normal one-column
header in the sort file. If a banner record defines a one-column
header for a class that has no header in the sort file,
ClassPag will now use that header as the main header for its class.
This allows sites that can not pass class headers in their dump files
to enter headers into the ClassPag configuration.
NOTE: This version has over 2000 lines of changes from the previous version.
The tests for cut rules and for placing leading below the bottom ad on a column
have been redone and need testing. The load procedure also needs testing.
4/15/02
Version 2.78
* The class name setup window has a new option to show only classes that
do not have banner entries for class headers. This provides an easy way
for sites that enter class headers as banners to see if they have missed
any classes.
* The banner setup window has a new option to open the class name setup
window with a view that shows the classes without headers.
* The banner setup window has a new option to delete all of the banners
for class headers.
* When the ClassPag import procedure reads a sort file line with an external
line ad, it skips over the eps file name before extracting the sort key.
For example, a sort file line ending with "YN#390965 0005 MAPLEWOOD APARTME"
would now have the sort key "0005 MAPLEWOOD" instead of "#390965 0005 M".
This should help interfaces that send line ads as external images.
NOTE: This version has 240 lines of changes from the previous version.
4/18/02
Version 2.79
* The product configuration screen "Ad Image Scaling"/
"Escalado de la Imagen del Aviso" has a new field
"Preserve external line ads"/"Preservar avisos lineales externales"
to leave external line ads and class headers unscaled.
If the field is "F" or blank, ClassPag scales all external ads as before.
If the field is "T", ClassPag will preserve the sizes of external line
ads and class headers. Use this option on interfaces that pass all ads
as external if the bounding boxes of line ads are incorrect but the
bounding boxes of display ads are valid.
* The field "Add Clipping Regions for Display Ads"/
"Regiones de Recorte de Avisos Destacados" on the
"Ad Import Restrictions"/"Restricciones de Importacion de Avisos"
product configuration now has a new value "D" to clip only external display ads.
The values "T" or blank clip all external ads as before.
The value "F" does not clip any external ads.
* ClassPag now preserves the "!" flag for pages with assign locks when it
saves and restores from work areas. It saves the page assign lock request
with a special ad number of "*PAGAL#" in the request database.
* Fixed a problem where did not restore the "#" flag for pages with locked line
ads when it loaded a page with locked line ads from a save area.
4/19/02
Version 2.80
* The product configuration screen "Ad Image Scaling"/"Escalado de la Imagen
del Aviso" has new fields "Preserve external headers"/"Preservar cabezales"
and "Word eps".
If "Preserve external headers" is "Y", ClassPag will not scale external class
headers. The previous version tied this field to line ads, but now they
can be specified separately.
If "Word eps" is "Y", ClassPag will not scale any external files created by MS
Word. ClassPag currently tests for Word EPS by looking for a "%%Title" comment
that starts "Microsoft Word". This test applies to all ad types.
* ClassPag now preserves the "#" flag for pages with line ad locks when it
saves and restores from work areas. It saves the page line ad lock request
with a special ad number of "*PAGLL#" in the request database.
This allows ClassPag to restore line ad locks on pages without any line ads.
* On pages with assign locks but not line ad locks, ClassPag no longer shows
the line ads with the color of locked ads on the page display.
* Exchanging pages now also exchanges the page locks.
* Fixed a check where ClassPag would try to place headers on locked pages
when it justified columns.
NOTE: This version has over 1000 lines of changes from the version two back.
4/22/02
Version 2.81
* Fixed a problem where moving ads on a page with a square-off that contained
line ads and repaginating would cause ClassPag to place extra copies of some
class headers outside the square-off when the class headers were entered as
banners instead of sort file entries.
* Fixed a problem where ClassPag would place class headers for classes without
line ads inside square-offs when the class headers were entered as banners
instead of sort file entries.
* Fixed a problem where ClassPag would not strip the previews from images
in DCS single-file format. Also, ClassPag is now more tolerant of corrupted
DCS files with plate offsets that start after the end of the file.
* Fixed a problem during front-to-back pagination where ClassPag would
place an extra header at the top of the first column of the first page
if there was a display ad at the bottom of the page.
* Fixed a problem where the equalize columns command could duplicate
class headers at the tops of columns.
NOTE: This version has 485 lines of changes from the previous version.
The changes for placing class headers could break different cases that
I did not test.
4/30/02
Version 2.82
* The product configuration screen "Legal and Segmented Ad Specifications"/
"Especificaciones de Avisos Legales y Segmentados" has a new field
"Preserve Name"/"Preservar Nombre" to preserve the ad number of the
first segment of long ads that ClassPag segments. This might help
interfaces that need to extract ad numbers from the outext.
* Increased the depth and sort file offset fields in the agate ad and
display ad databases. The agate ad database now holds the full 10-digit
ad depth, eps file offset, and eps file length fields from the sort file.
This should help sites that need to pass long legal ads.
The 10-digit ad depth is enough for 65,890 21-inch columns.
The display ad database now has a 7-digit ad depth (enough for 65.8
21-inch columns), a 10-digit eps file offset (enough for a 10 GB eps file),
and an 8-digit eps file length (enough for a 100 MB line ad).
* Increased the maximum number of autosegment breaks with SIIP from
2,000 to 100,000. At 7 points per segment, this is enough to fill
over 460 21-inch columns.
* When ClassPag imports a line ad greater than the Import Conversion Depth
specified in the product configuration, if the line ad is in a class marked as
a legal class in the product configuration or is in a child class of a legal
class, ClassPag no longer converts the ad from an agate ad to a display ad.
This saves the ad for the later pass when ClassPag will segment it.
* Fixed a problem autosegmenting SII ads over 41.1 (2^31/7227/7227) inches long.
* When ClassPag auto segments long ads, it now knows that fonts starting
"MCClassified" have different metrics than standard fonts and sets the break
points closer to the base lines.
NOTE: This version has over 2300 lines of changes from the previous version.
The agate ad database now has binary integer data and should be tested.
This increased the range of the fields while reducing the
record size by 17%.
5/6/02
Version 2.83
* Banner text composition expressions can now use the variables
PageNumber, ColumnNumber, BookName, and BookPageNumber.
These variables were available before but returned empty strings.
* The Setup -> Cancel Printing window now correctly parses the process
information under SCO Unix 3.2v4 and OpenServer 5, RH Linux 6 and 7,
and Solaris 5.6.
The parsing is now more self-adapting when it searches for information.
When the terminal field is empty, ClassPag now scans for a DISPLAY= string
on the command line. When that fails, ClassPag checks the terminal
of the parent process. The list now includes the command line.
The popup dialog now includes the parent process id, the command line,
and the start time.
These changes should make the cancel printing window more useful.
Also, if an X server quits without closing the cpag process on the ClassPag
server, you can use the Cancel Printing window to find and kill the process.
* Fixed a problem where class headers would sometimes not be placed inside
square-offs on the right side of the page.
* Fixed a problem where moving a square-off from the right side of the page
to the left side would make it overflow.
* Made internal page keys more consistent, which fixed a warning about page X
and page X being locked (where X is the same page) if you tried to move an ad
within an assign locked page.
* Fixed some popup dialogs that show banner and composition results so that they
truncate their lines if needed. Spice used to truncate long lines to fit in
dialogs, but the new version displays an error message instead of the dialog
text.
NOTE: This version has 524 lines of changes from the previous version.
5/7/02
Version 2.84
* Increased the maximum number of ads on a page from 2000 to 4000.
On a 21 inch page with 7 point legal ad segments, 2000 ads was only
enough to cover 2000 * 7 / (72 * 21) or about 9 1/4 columns.
4000 is enough to cover a 10-column 21" inch page with ads of
10 * 21 * 72 / 4000 or about 3.8 points.
* Increased the maximum number of active classes from 3000 to 5000.
This should prevent problems in interfaces that embed sort keys in
class names.
* Removed an extra backslash in a "tr" string in fixperm.sh.
* lnexec.sh now updates symlinks for the interface programs fixsort, readppi,
and sortads.
5/20/02
Version 2.85
* The product configuration field "Show Class Square-Offs in Request Color"/
"Mostrar carteles por class en el color de pedidos"
on the screen "Display Ad Dummying Style"/
"Estilo de Diagramacion de Avisos Destacados" now has a stronger effect.
If it is "Y", ads in square-offs have the color of ads with requests.
If it is "N", ads in square-offs have the color of their classification
if their classification sets a color.
* rcpuniq.sh -ftp no longer requires a user name for printers that
do not require a login.
* rcpuniq.sh has a new -auto option to auto-login to the remote
ftp server using authentication information from "$HOME/.netrc".
You should not specify the -user option with the -auto option.
* loadfont.sh now searches for the font name in a line starting /FontName if the
other test fail. This prevents some "could not extract a font name" warnings.
* From the Statistics screen, the Ads -> DisplayAds list has a new option
"Fix ad sizes" to set the ad reservation sizes of external ads to the size
of the bounding of their EPS files.
* The new interface script loadepsads.sh generates sort file lines for
the eps files on its command line. It can help to load a set of ads
into ClassPag when you have only the EPS files.
* When you copy from a work area, the "Remove old files" dialog now clears
when you click on it instead of staying open until the copy finished.
This makes it clearer that ClassPag detected the mouse click.
* The makeesc6.sh script now places /usr/local/bin first on the path to
pick up gnu awk before the system's awk. The script is also smarter about
looking for awk and gawk in /usr/local/bin and about running /usr/ucb/echo
on Solaris. The script should now work on SCO, Linux, and Solaris.
The script also includes Jeff's Dec 2000 changes for two additional
real estate products.
* Fixed the formatting of the "Current Area" dialog in the classification list.
* Fixed a problem with square-off headers when "Place under square-off banners"
was set to "N". If a header would have appeared at the top of a column,
ClassPag would not place it in the square-off. If the square-off was positioned
at the right side of a page, the header would end up flowing on the page where
it would have gone if there were no square-off.
* Fixed a problem where folio templates with the "All Plates" value of "U"
(to write into the unseparated area on a page) would not show correctly
on pages printed as landscape or with "Shift to origin" set to "Y".
* Fixed a problem where landscape pages would not work in combination
with eps pages or with the shift to origin option.
* Fixed a problem with the internal page key version 2.83 so negative
overflow pages now work.
* Linked to a new version of spice that undoes the recent change of displaying
an error for long lines in dialogs instead of truncating the text.
NOTE: This version has 925 lines of changes from the version two back.
5/23/02
Version 2.86
* Added a DISPLAY option to menprof.sh to simplify menprof.sh lines from
"DISPLAY=node:0; export DISPLAY; menprof.sh" to "menprof.sh DISPLAY node:0".
* The View Ad Directories -> Load -> AllAsHeaders now tries to build a class
name from the first sequence of digits in the file name if the other tests do
not create a valid class name. This should help when the eps files have been
saved with alpha suffixes for classes with headers of different widths.
* The classification setup window has a new option
"Create entries for classes in the class name list"
that creates a class entry for every record in the class names database
that is not in the current class list.
This can help to produce a full list of classes when making class
resequencing tables.
* When a class has multi-column line ads, ClassPag now does a better
job of packing in single column line ads below multi-column ads.
* Added a makehosts.sh interface script to generate hosts file lines.
Sites with a DHCP range without DNS sometimes need to have hosts file
entries for workstations in order for the server to accept rexec commands.
If an X Servers show the message "Where are you", you need to add its
IP address to the hosts file.
* Fixed the field entry test after the folio file name so it does not
show an error about I_ImageName.
5/27/02
Version 2.87
* The product configuration screen "Display Ad Specifications (Continued)"/
"Especificaciones de Avisos Destacados (continuado)" has a new field
"Convert all display ads to line ads"/"Convertir todos destacados a lineales".
The default value is "N" to pass display ads. If the field is "Y",
ClassPag will convert all display ads to line ads as it imports them.
Use this option to flow display ads in class order instead of dummying
them at the bottom of the page. Magazines sometimes do this.
* The classification field "Randomize"/"Aleatorio" has a new value "P"
to paginate ads by pairs of columns. Use this value for paginating
front-to-back with classes with a mix of one and two column line ads.
ClassPag will ignore the look-ahead and place the longest ads first.
Also, ClassPag will place classes out of order in order to fill small holes.
* Added the field "Ignore headers in sort file"/"No usar cabezales en sort"
to the screen "Classified Heading Placement"/"Ubicacion de Encabezados de
Clasificaciones" in the product configuration. The default value is "N"
to preserve class headers passed in the sort file by the front-end.
The value "Y" tells ClassPag to ignore all class headers in the sort file.
If you use this option, you should enter the headers that you want as banners
in the ClassPag setup.
* The "Columns" command has a new "Equalize paired"/"Dividir emp col" option
for equalizing columns in classes with multi-column line ads.
* Fixed a problem where ClassPag would not place multi-column line ads that
were the full width of the page.
5/29/02
Version 2.88
* The window to edit the fonts to download now has an option to remove
all of the entries.
* The banner setup has a new hotkey
"Show/Hide Common Edition"/"Mostrar por edicion"
to restrict the view to banners that specify an edition. On products that have
few or no banners keyed by edition, you can use this command to check that the
banners have the correct edition.
* ClassPag dummies line ads in square-offs if "convert display ads" is set and
the square-off includes display ads and liners and does not flow display ads,
and if the square-off's class specifies "pair columns".
* ClassPag no longer tries to place class banners on overflow pages.
* ClassPag handles a missized class banner with wide line ads better.
5/29/02
Version 2.89
* The paper list no longer shows entries for print commands that are
not keys in the paper database, except for the command "echo".
This keeps extra paper entries from showing if you delete unused printer
entries.
* The paper database has a new "Set PageSize"/"Fijar PageSize" field.
If it is "Y", ClassPag adds a "<</PageSize [# #]>> setpagedevice"
line in the postscript page. This is a Level 2 PostScript command
that sets the output page size. Newer printers that have multiple
trays can use this command to select the proper sized paper.
The default value is "N" to omit this line.
Some HP printers will flush the page if this option is enabled and the
specified page size is larger than the page size that the printer supports.
You should enable this option on a printer only when the printer selects
the wrong tray without it.
6/3/02
Version 2.90
* Fixed a problem where the "Download Fonts" list from the "Printer Name" list
showed question marks after some font names. Also, the list now loads all 15
configuration font lines instead of just the first 5, and if you enter the list
from the setup window without having paginated, it no longer skips the check for
new fonts entered into the product configuration.
* Added support for "Pongrass" dumps from Mactive.
ClassPag now accepts sort files with zeros in the trailer start and end
locations and eps files that start with slashes instead of percents.
In the product configuration field for the patch after the prolog,
use "include fixmactive.ps".
* Increased the maximum eps file trailer from 297 bytes to 1000 bytes.
Some SII dump have trailers with 536 bytes.
* ClassPag shows better diagnostics in its log file when it finds
invalid header information in the sort file.
NOTE: This version has over 1500 lines of changes from version 2.87.
6/12/02
Version 2.91
* ClassPag can now size internal ads from the postscript in the ad file
instead of from the values in the sort file. This can help when importing
ads from interfaces that write incorrect sizes in the sort file (for example,
marking all ads as one column wide) as long as the EPS in the ad file
contains a "bounding box" comment.
On the pagination statistics screen, the menu under Ads -> DisplayAds
has a new option "Fix internal ad sizes"/"Corregir taman~os de avisos internos"
to scan the currently imported ads.
The "Ad Loading"/"Cargar de Avisos" product configuration screen has a new field
"Scan Internal Ad EPS"/"Comprobar avisos internos" that you can set to "Y" to
request the scan automatically during imports, The scan makes the import take
longer, so you should leave it disabled (by setting the field to "N" or all
spaces) unless you need it.
* The product configuration screen "Outext Export"/"Exportar de outext"
has new fields "Min Base Length, Max Suffix Length, and Right Justify Length"/
"largo min de base, max de sufijo, de justificar" to control the formatting
of classification names in the outext. If classification names have
the format "###AAA" where "#" is a digit and "A" is a letter, and you
need them formatted " ###AAA" in the outext, but some classes have
only two digits, set "Min Base Length" to 2 (the fewest number of digits),
"Max Suffix Length" to 3 (the maximum number of letters), and
"Right Justify Length" to 7 (the final length of the name in the outext
including leading spaces).
* The procedure to rebuild banners now writes warning messages into the
banner eps in addition to showing them on the screen. This should make
it easier to diagnose banner problems from just reading the eps.
* The procedure to rebuild banners now writes a comment in the banner eps
for inactive text segments, and it shows a warning for banner images with
no active text segments.
* ClassPag no longer leaves empty columns when a class with only one-column
line ads has only multi-column class headers.
* lnexe.sh now links the interface readrun program.
6/25/02
Version 2.92
* The ad context configuration has a new context "SPLITCONF" for the color
to show ads that would be split when printing the page as blocks.
The color defaults to the color for ads missing eps which in turn defaults
to the color for generic conflicts. You must set the product configuration
parameter "Show Split Ads in Blocks as Conflicts" to make ClassPag check
for split ads. If an ad has additional conflicts, ClassPag still shows the
ad in the split ad conflict color because the split ad conflict must be
resolved before printing the page. The current conflict testing order is
split ad, missing eps, color conflict, incorrectly sized eps,
zone conflict, class conflict by page, class conflict by column,
and invalid ad reservation size.
* The "Show Split Ads in Blocks as Conflicts" product configuration parameter
now has three values, "T", "F", and "U". As before, "T" shows split ad
conflicts when the line ads are flowed, and "F" (the default falue) does
not show any split ad conflicts.
The new value "U" shows split ad conflicts both when the line ads are flowed
and when they are unflowed. Showing split ad conflicts when ads are unflowed
helps to prevent you from creating split ad, but might show that ads are split
when the flow of line ads will square-off a block and keep them in one piece.
The test for split ads is expensive, so you should enable this option only
if you regularly print EPS blocks using the "PS Type" of "BLOCK" or "RBLOCK".
* The product configuration screen "Ad and Class Name Conversions"/"Conversion
de nombres de avisos y clases" has a new field "Class Name Length To Copy To
Sequence"/"Largo de nombre a copiar" to specify the number of characters to
copy from the class name to the class sequence number when the field "Sequence
Classes by Class Number" is enabled for ClassPag to build class sequence numbers
from the class name instead of from the the four-digit sequence number in
columns 79-82 of new-format header lines in the sort file. The default value
is "5" to fill the entire five-character class sequence number field. If class
names have a format with a fixed number of digits and then some text that might
contain digits, and if the field "Format Class Name in Sequence" is enabled,
you should set the copy length to the fixed number of digits.
For example, if you have classes "16102X4" and "1610VANS" and you have enabled
formatting, "16102X4" would become "16102", while "1610VANS" would become
"01610", and the classes would come in the wrong order. You can fix this by
setting the new copy length field to "4" to make both sequence numbers "01610"
or by disabling formatting to make the sequence numbers "16102" and "1610V".
* ClassPag no longer attempts to download fonts that the configuration says
do not need to be downloaded, even when an ad uses them. This allows you
to prevent ClassPag from downloading fonts that cause problems on printers.
* When ClassPag justifies ads on pages, it now places less additional leading
below class headers than below other types of ads to keep class headers
closer to the ads in their class.
* Added an "unplate" program to split DCS 2.0 files into separate plates.
This can help to view the separations for testing.
This program is currently not included in the distribution.
* ClassPag now deletes the holdcomp.pcc temp file after creating folios.
* ClassPag does a better job justifying multi-column ads on the top stack.
* The calculation of estimated ad areas is done later in the pagination
and is more accurate.
* Fixed a calculation floating ads when the top ad on the bottom stack
was a multi-column class header.
* Fixed a problem where ClassPag would sometimes place extra headers at
the tops of columns for products that place requests column headers only
at the leftmost column of pages when pages had island ads or locked headers.
* Fixed a problem in the report of missing ads where ads with no description
would show the description of the previous ad in the report.
NOTE: This version has over 3800 lines of changes from version 2.90.
6/26/02
Version 2.93
* The product configuration screen "Classified Heading Placement"/
"Ubicacion de Encabezados de Clasificaciones" has a new field
"Use smaller extra header as copy"/"Usar cabes chicos como copias"
to use the smallest class header (in classes with more than one header)
as the header to repeat at the tops of columns and over display ads.
ClassPag will not flow this header at the start of the class.
It will flow only the larger headers.
Use this option when you need to pass a repeat header from an interface
that can not set the "COPY" flag on lines for header ads in the sort file.
If you have a class that really has two headers that need to flow at
the start of the line ads, you should either recompose them to make a
single larger header or else enter a third header for ClassPag to use
as the repeat header.
7/8/02
Version 2.94
* ClassPag can now highlight the ads of a given class.
This makes it easier to find the line ads that match a display ad.
Set the highlight color using the new "SELCLASS" context under
Setup -> Set Ad Colors.
The highlight color for line ad defaults to the color for conflicts.
Other types of ads have no default and change color only if they have a
"SELCLASS" context entry. This allows you to control whether other types
of ads like display ads, fillers, headers, or banners change color.
To highlight line ads by class, click on any ad of the class that you
want to highlight and then click on the "Find class" button on the
tool bar. You can also select Cmd -> Ads... -> Find class
in the command menu.
* The window to load class nestings has a new function
"Copy from another product"/"Copiar de un otro producto"
to copy a set of nestings from an entry in another product.
ClassPag copies the nestings into the currently selected entry.
If you want to place the nestings into a new entry,
use the Insert function to create a new entry and then move the cursor over
the new entry before selecting the "Copy from another product" function.
Once you select the new copy function, ClassPag will open a
list of all pairs of products and class nestings.
You can close the list to leave without making any changes,
use the "List" function (using F2 or using F12 -> "List")
to view the entries in a nesting,
or you can select a nesting by highlighting it and pressing Enter.
If you select a nesting, ClassPag will show a dialog confirming
your choice. You can answer "No" to exit without changing anything,
"Copy New" to copy only new entries for classes that do not have
an entry in the target nesting list, or
"Copy All" to copy all of the entries.
If you select one of the "Copy" entries, ClassPag will do the copies
and tell you how many class entries it modified.
* The window to view the entries in a class nesting table now has additional
functions to toggle the class selection flag and to remove all of the entries
(except the top entry for ******).
* The window to view the entries in a class nesting table now has a tool bar.
* The "View Ad Directories" browser handles symbolic links better.
Symbolic links to directories now show with the suffix "/@",
and the browser allows you to step into them.
Broken symbolic links now shows with the suffix "?@",
and the browser displays a warning if you try to open them.
* Added a "showads.sh" script to the interface directory that adds
debug messages before each ad in a cpag.ps file produced by ClassPag.
Run it with "showads.sh cpag.ps cpagdebug.ps" and then use "gs cpagdebug.ps".
* Fixed a bad memory read when scanning for color comments in ads when
printing pages.
* profile.sh now passes the contents of the shell variable RUNCPAG_OPTS to
runcpag.sh.
* menprof.sh now looks for ClassPag in the directory that contains the menprof.sh
script before checking /u/cpag and /u1/cpag.
* menprof.sh has options for loading runcpag.sh parameters into the RUNCPAG_OPTS
variable. The option "runcpag" followed by a name appends the name to
RUNCPAG_OPTS. Menprof.sh also recognizes the options
"bounds" (for use with cpag version built with a bounds-checked gcc),
"debug" (to enable all spice debugging),
"gdb" (to run cpag under the gdb debugger),
"gdbint" (to run cpag under the gdb debugger in interactive mode,
you must type "r" at the gdb prompt to start cpag), and
"scr" (to set the scratch directory, does not work from inside menprof.sh).
NOTE: This version has over 3200 lines of changes from version 2.92.
8/6/02
Version 2.95
* When you drag an ad into a position where it does not fit,
ClassPag now shows a line at the lower right of the page display
with the amount of space by which the ad does not fit.
* If checking for eps blocks with split ads is enabled, if you drag an ad to a
position that would split an ad on the current page, ClassPag shows a warning
line with the ad number of the split ad at the lower right of the page display.
* The "Request Checking"/"Comprobar Solicitudes" screen has a new field
"Show Locked ads in Lock Color"/"Mostrar avisos bloqueados en color de bloquear"
to control the color of locked ads. The default value is "Y" to show locked
ads in the color specified in the "Ad Colors" table in the setup.
The value of "N" applies the color for the class after setting the lock color.
This makes it easier to identify the classes of ads on locked pages.
* Folios composition expressions can now use the variables "ImportDir"
and "ClassNestingName". This allows folios to customize themselves
to an import area or a class nesting and might prevent the need to
create new editions or section names.
* The classification nesting list window has a new option "Format sequence
numbers"/"Formatar secuencia" to reformat numeric sequence numbers.
This can be useful when upgrading from version 2.50 or earlier of ClassPag
(which had 4 digit sequence numbers). It can also help if you change the
sequence number creation rules in the product configuration.
This option affects only the current nesting table.
You must update each nesting table separately.
* Added a renamefont.sh interface script that renames font files
to match their font name. The syntax is
renamefont.sh -y file1 file2 ... fileN
where each file is a font file and the -y option means to rename
(actually link) the file to the name of the font it contains.
The font files are written to the current directory even if the
original files have paths.
* The popup dialogs for testing expressions in the editor now trim and
collapse spaces in the strings so the text is formatted better.
* The expression interpreter now converts three or more D's into the
name of the day of the week. For example, you can now use
f$format(RunDate,"dddddddddd, mmmmmmmmmm dd, yyyy")
instead of
f$dayname(f$dayofweek(f$gregorian(RunDate))) // ", " //
f$format(RunDate, "mmmmmmmmmm dd, yyyy")
This feature requires a new version of spice.
* This is just a note. For weekly products, the save area expression can use
"z_" // ImportDir // f$integer( (f$format(RunDate,"dd")+6.5) / 7 )
to build a save area name based on the week of the month.
* Added -level1, -level2, -level3, -level1sep, -level2sep, and -level3sep
options to convertpdf.sh. convertpdf.sh passes the options to pdftops.
If pdf files can have color, you should use -level2sep.
* ClassPag shows a warning when the interface files are older than a few hours
but not when they are really old. The "really old" date is now 90 days instead
of 14 days so it is useful for weeklies that use a different directory for each
week of the month.
* The import directory list has a new hot key to show only the directories
missing control records. This makes it easier to see if you have import
areas that you have not entered into the ClassPag control database.
* The cleanceps.sh script also removes old *.trn, *-, cpag.ps, and *_o files.
It also now removes only normal files, so it preserves symbolic links.
* The arrow keys in the page preview now checks the edge of the ad in the
direction that you are moving instead of always checking the upper left.
This should make the arrow keys more predictable.
* Updated the key bindings so the shifts of the arrow keys moves as far
as possible in that direction.
* Fixed a problem in front-to-back pagination where ClassPag would place
an extra class header below a display ad if the class that started below
the display ad was the same classification as the display and the display
ad had a header above it.
* Updated fixmactive.ps for PAGNENDEPSF.
* ClassPag can now extract sort and class information from CLS dumps.
After ClassPag imports the normal classsrt.out and ceps.out files,
if there is a cls.out file, ClassPag will ask to load it.
For each ad, ClassPag updates the sort key (from field 2 of the CLS file)
and the classification (field 20 of the CLS file).
For the classification, ClassPag reads the long class title from the CLS
file and does a reverse-lookup in the class name database. If the title
matches a name, ClassPag updates the class of the ad with the class name.
* ClassPag now opens text files as "CRLF" instead of "TEXT" so it can
read Mac-format sort files without converting them with "addcr".
* The product configuration screen "Outext Export"/"Exportar de outext"
has a new field "Convert to Mactive"/"Convertir para Mactive" to write
a mactive.txt file after writing the outext.txt file.
The file contains the same ads as the outext file but with the format
ad-number <tab> class-name <tab> page-number
* The product configuration screen "Ad Import Restrictions"/"Restricciones
de Importacion de Avisos" has a new field "External ad names have embedded
spaces"/"Nombres en sort tienen espacios" to control how ClassPag treats
embedded blanks in external file names in the sort file. Spaces are the
delimiters between the file name and the ad description, so file names
should never have embedded spaces. The default value of "N" works as
before where ClassPag terminates the file name at the first space.
The value of "Y" tells ClassPag to try the full contents of the combined
file name and description field. Use this option only if the sort file
sometimes contains external ads with embedded spaces in their file names
and never contains descriptions for external ads.
* Increased the internal length of eps file names from 48 characters to 64
characters. The databases for fillers and banners have fields that are 60
characters long, All 60 characters can now be used.
* The Load option in the ViewAdDirectories window now works with EPS files names
that contain embedded spaces. You should still avoid saving file names with
embedded spaces because it makes the files trickier to process with unix
commands.
NOTE: This version has over 5000 lines of changes from the previous version.
8/8/02
Version 2.96
* If checking for eps blocks for split ads is enabled, ClassPag now checks
the ads on the current page each time you paginate. If an ad on the current
page would be split, ClassPag shows a warning with the ad number at the
lower right of the page display.
* The "Show Split Ads in Blocks as Conflicts" product configuration parameter
now has a fourth value, "E", that works like "U" to show conflicts when ads
are unflowed, but it includes an estimate of the line ads into the conflict
test. This allows it to find ads split by reservations and by banner blocks,
without complaining about ads that would no longer be split after they are
covered by line ads.
* fixperm.sh is now smarter about finding the 'cpag' user if several users
log into the cpag home directory.
* rebuild.sh now tries $TOOLS if a compiler is not in $SPICE_COMP.
* Columns->EqualizeColumns now accounts for the class header at the
top of the leftmost column on the page if that column is empty and
the configuration requests a copy of the class header there.
* Column->EqualizePaired and pagination with classes with a "Randomize" value
of "P" no longer place extra class headers between classes that have the same
header image, for example, between 101AAA and 101BBB if they both share the
101 header.
* Fixed a problem where the Columns->EqualizeColumns did the same as
Columns->EqualizedPaired.
* NOTE: gs7.21 and higher gets "Error: /invalidfileaccess in --file--"
on postscript "run" commands when "-dSAFER" is set.
If you see this error after upgrading ghostscript, in gv, use
State -> Ghostscript Options ... -> [click on the "Safer" button
to change it from light (enabled) to dark (disabled)],
then click on "Apply", click on "Save", and click on "Dismiss".
Then close gv and try to view the file again.
NOTE: This version has 388 lines of changes from the previous version.
8/17/02
Version 2.97
* Paired pagination (Randomize of "P") works better with ads that are too
tall to fit on a page with class headers. It also does a better job of
keeping ads in classification.
* ClassPag now shows a warning to rebuild the folios if the ending date changes.
* If Cmd->Ads->CheckForConflicts is scanning internal ads and if the
product configuration "Convert to Mactive" flag is enabled,
ClassPag generates "BAD FONT" listings for internal ads that contain fonts
with commas in their name. This allows you to check for ads with invalid
fonts like "Univers-57-Condensed,BOLD".
* The page preview commands Ads->CheckForConflicts, Ads->ScanImages,
Pages->ViewNamedPageOutputs, and Misc->ViewClassResults now let you
go to the selected ad or page. Before, you could only go to an ad or
a page from the Pages command list of the pagination statistics window.
* The product configuration screen "Outext Export"/"Exportar de outext"
has a new field "Ads with Alpha Names"/"Avisos con Nombres alfa." to
include records for line ads and display ads with ad numbers that do not
begin with a digit (i.e. "0" through "9"). The default value is "Y"
to write records for all line ads and display ads.
Set the field to "N" to omit ads that do not start with a digit.
For front-ends that pass only numeric ad numbers, this option can be useful
if the front-end complains about outext records for ads that were created
by operators within ClassPag,
* The product configuration screen "Outext Export"/"Exportar de outext"
has a new field "Trailing Segments"/"Segmentos Siguientes" to include
records for trailing segments of long ads in the outext.
The default value is "Y" to write records for all segments in the outext.
Set the field to "N" to write records only for the initial segment
into the outext. This can be useful for interfaces to front-ends that
complain about outext records for ad segments.
* The eps font name scanner now stops after the first non-comment line.
This should make it faster.
* If the flag to convert display ads to line ads is set, ClassPag no longer
converts line ads to display ads based on the input conversion depth or the
flag to set multi-column line ads to display ads.
* The commands to copy and save work areas now copy outext files if they
are present.
* ClassPag now initializes the fontmod debug level to the numeric value
of the FONTMODDEBUG environment variable. The "debug" parameter of
runcpag.sh now sets FONTMODDEBUG to 9.
* Fixed a problem where ClassPag would take the last character of the
image name as the sort key for external line ads with no ad description.
* Removing ads no longer clears the highlighted ads from the "find class"
button.
* Fixed a problem where the "find class" highlight would sometimes not
disappear on all pages until you did a reflow.
* The classification name importer now uses a fixed font instead of a
proportional font in the preview so it is easier to count the column positions.
* The "deleteint" parameter of the cleandir.sh script, used by
Import->CopyClassPagFiles if you say "Yes" to "Remove old files", now deletes
files with the extension ".eps" in the current work area before doing the copy.
This should help keep eps files for generated banners from accumulating in work
areas then getting copied into save areas.
* The cleandir.sh script has a new "nodelete" parameter to run without deleting
any files. Use "cleandir.sh deleteint nodelete" to check what "deleteint" will
delete.
* Removed the #800080 color from the "findclass" icon.
The Mac eXodus X server did not like it.
NOTE: This version has 1394 lines of changes from the previous version.
8/27/02
Version 2.98
* The product configuration screen "Additional PostScript"/"PostScript
adicional" has a new field "Before External Word"/"Antes de avisos por Word" to
include a postscript patch to insert before external ads created by MS Word.
* Added a new "fixppi.ps" patch file for PPI interfaces that use Word.
To fix the problem where Word writes EPS that separate poorly because they
draw black text in RGB color space, set the "Before External Word" product
configuration field to "include fixppi.ps".
* Removed a test in paired pagination that would place a two column ad
above two one column ads of a smaller class if the two column ad was the
only ad in its class.
* fixperm.sh now uses -R options on chmod and chown instead of find so it
should no longer complain about files with embedded spaces in their names.
* ClassPag now prompts you to rebuild the folios if you a page and the folio.eps
file is missing even though the control file says that the folios are current.
This makes it easier to rebuild the folios if you accidentally delete the
folio.eps file.
* Updated rpt.bat to write report.txt instead of report.lis.
* Updated tntcpag.bat to look for mix_nt in d:\cpag.
* In Demo mode, ClassPag does not display warnings about the display ads
directory or missing cardex files during import. Also, ClassPag shows
a "not available" message when you try to rebuild folios.
* Added a rebuilds.sh script for rebuilding formulas from a demo
source area with a directory matching /*cpag*/source.
This helps rebuild formulas in demo areas.
* maketarh.sh now includes *.ico files.
NOTE: This version has 1499 lines of changes from the previous version.
11/7/02
Version 2.99
* ClassPag now supports ads in PDF, TIFF, JPEG, and GIF.
When ClassPag encounters an ad that is not in EPS,
it converts the ad to EPS and stores the EPS file in $CPAG_ROOT/cache.
$CPAG_ROOT is usually "/u/cpag/root".
When ClassPag needs an EPS file from the cache, it checks that date against the
date of the original and automatically rebuilds the EPS if it is out of date.
If the original files are on a different server (for example, if they are
mounted on the ClassPag server over NFS), it is important to keep the system
dates synchronized.
The name of the cache file is the name of the original with slashes replaced by
underscores and other nonalphanumeric characters replaced by "=" followed the
ascii code of the character as two hex digits. ClassPag builds two versions of
each file, a Level 1 version used when making color separations, and a Level 2
version used when making composites. The Level 2 versions are smaller and
display faster at the expense of using postscript operators that can not be
separated in software. The Level 1 version ends with "s.ps" and the Level 2
version ends with "c.ps". For example, the composite version of the file
"/u/displayads/cake.tiff" would be stored as "_u_displayads_cake=2Etiffc.ps".
Note that these naming conventions are subject to change.
It is safe at any time to remove files from the cache directory.
For example,
find /u/cpag/root/cache -atime +3 -print | xargs rm
will remove EPS cache files that have not been used in the last three days.
You should remove files by access time (-atime) instead of creation time
(-mtime) to preserve cached files for images like banners or logos that
are used every day and rarely changed.
The command "ls -ltu" shows files sorted in order by access time.
* Added an interface purgecache.sh script to purge old files from the EPS cache.
It takes the options below:
-cachedir dir = set the ClassPag eps cache directory to purge.
-days # = set the maximum age of files to keep.
-delete = delete the files.
If the script is run from a ClassPag account, it will use the cache directory
for that account. Otherwise, you must specify the cache directory.
The default number of days is currently 7.
The script lists the files by default.
To remove files, use the -delete option.
* ClassPag now reads ALDImageDimensions, ALDImageCropRect, and ALDImagePosition
OPI comments. This allows ClassPag to handle cropped or scaled OPI references.
* ClassPag now shows bitmap previews of ads when they are available
in TIFF files, in TIFF previews in EPSF files, or in JPEG files.
The product configuration screen "Screen Display Preferences"/
"Preferencias de VisualizaciĆ³n" has a new field "Show Ad Preview Images"/
"Mostrar imagenes de avisos en pantalla" to control whether ClassPag
shows previews. The default value is "Y" to show previews.
Set the field to "N" to disable previews.
You can change the value for the current work area using
"Cmd -> Misc -> Show ad preview images". You will need to page down to
the end of the Misc menu to select this option.
The control records has a new field "Show Ad Images"/"Ver imagenes"
to save the value for each work area.
* The Box Information button now updates the ad preview of the current ad.
If you update an EPS file that has a preview, and then click on the ad,
and then click on the Box Information button, when you move to another ad,
the updated ad will show the new preview.
* Folios expressions can now access the number of columns on the page
through the variables PageNumColumns, LeftColumnAdjust, and RightColumnAdjust.
LeftColumnAdjust and RightColumnAdjust are the column adjustments
entered into the page information record in the "inpages" database.
PageNumColumns is the number of columns on the page, calculated as the
number of columns in the product configuration plus the LeftColumnAdjust
and the RightColumnAdjust values. ClassPag places the folio counting from
where the leftmost column would have been. Folios that flush left might
need to use LeftColumnAdjust, and folios that flush right might need to
use RightColumnAdjust.
* The product configuration folio screen has a new field
"Warn if folios not made for ... cols"/
"Avisar si los folios no se hacen por ... cols" to check if
ClassPag should rebuild the folios if you change the number of columns
on a page. This field also enables the lookups for the folio variables
PageNumColumns, LeftColumnAdjust, and RightColumnAdjust.
If this field is not set to "Y", PageNumColumns will be fixed at the
default number of columns from the product configuration, and
LeftColumnAdjust and RightColumnAdjust will both be fixed at 0.
* ClassPag can now update ad positions from an outext file.
The Cmd -> Ads menu has a new "Load outext"/"Cargar outext" option.
If an outext file is present in the current work area,
ClassPag will ask if you want to load that outext, if you want to browse
for an outext, or if you do not want to load anything.
If the current work area does not have an outext file, ClassPag will open
a directory browser to allow you to select the outext file that you want.
Once you select an outext file, ClassPag shows the outext file date and
asks if you want to "Quit" (quit without loading the outext),
"Load New" (update positions only for ads with no position requests), or
"Load All" (update positions for all ads, including ads that you have positioned
manually).
ClassPag maps the absolute page numbers in the outext to the absolute
page numbers in the current pagination session (the numbers in the initial
edition parameters screen). If you plan on loading outext files,
you should enter page numbers in the edition parameters screen that
correspond to the classified pages in the Layout session.
* The exchange command now updates square-off page ranges of square-offs with
a first or last page on one of the exchanged pages. If the square-off has both
its first and last page set, they must be the same for ClassPag to update them.
* ClassPag now treats square-off request names as case-sensitive.
ClassPag always required exact matches during pagination, but the page name
database used to have a case-insensitive key, so sometimes the configuration
screens would give misleading information.
* ClassPag now checks that request names in square-offs have entries in the
page name database. When you enter the banner setup screen, ClassPag now
shows a warning for banners that contain request names do not have page names.
If a page name exists but with a different capitalization,
ClassPag includes its name in the warning. If the banner is active,
ClassPag shows a warning if the page name is present but inactive.
* Added an interface/cleanwork.sh script to clean unneeded files like
cpag.ps, *_o, *.trn, etc., from scratch directories.
* In Demo mode, ClassPag now displays a "not available" meesage if you
try to rebuild the index. Also, ClassPag no longer checks the date
of the interface files.
* In Import->Copy on non-unix systems, ClassPag now removes the cardex,
outext, and some work files in the current directory before doing the copy.
* Added an interface/fixpdfads.sh script to convert PDF files to EPS files
for ads in the current work area. You must run this script from within
a shell after importing the ads. The script scans only the ads referenced
by the sort file. It reads the ads directory from the control records.
* The Load option in the ViewAdDirectories window now works with Adobe
Illustrator EPS files that have header lines starting with "%AI".
The bounding box scan usually stops when it finds a line that does
not start with two percent signs.
* Added a terminal name key to the control database.
This should make lists of import directories slightly faster.
* The window to edit the control database now has hotkeys to sort
by user or by terminal.
* Fixed a problem where the aurora separation prolog would sometimes get
errors on color images.
According to Adobe's Technical Notes #5044, 24 May 96 edition, pg 16,
for the "image" operator, "only the DeviceGray case of the single-operand
version is currently supported by standard prepress applications."
The aurora separation prolog used to generate a postscript error when eps files
used the dictionary version of the image operator. It now passes the image in
color so that the page is printable. Since the dictionary version of the
operator is not permitted in eps files, the solution is to remake the eps file,
but if that is not possible, the page is still printable.
* Fixed a problem where the standard (non-aurora) separation would sometimes
drop out color bitmapped images.
* Fixed the tiff-v3.4beta03 tiff2ps program so that its level 1 eps color
output is separable. You must use the updated tiff2ps for ClassPag to import
tiff files.
* Ported to MacOS 10.2 Darwin 6.0.
* Updated to compile under both spicedst and spice. MacOS uses spice.
The other builds still use spicedst.
* pdf inclusion requires a version of pdftops-1.01 that I have modified
-level1sep to show process color information. For ClassPag to import
pdf files, you must use either the updated pdftops-1.01 or pdftops-2.00
or higher (which incorporates my modifications).
* The maketar.sh -kit option no longer strips executables by default.
This will make the kits more useful but slightly larger.
* The interface mapclass formula now shows the number of classes with errors.
* Increased the error log limit in mapclass from 20 to 1000.
* The interface maketext.sh now checks if TOOL_BIN_ROOT is set.
* The fixinc.ps patch file for SII now checks the variable cp_force_logo_fix to
apply the logo position fix to all logos. The default is "false". If ad text
following a logo starts near the middle of the logo instead of under the logo,
enter "/cp_force_logo_fix true def" in the "Patch After Prolog" configuration
parameter. In general, ads with logos will have their ad text too high by half
the height of the logo, and the ad will have a matching amount of blank space
at the bottom. This should only be needed for very old versions of SII.
You should already have "Before the Prolog" set to "include fixincbp.ps",
"After the Prolog" set to "include fixinc.ps", and "Before Internal Ads"
set to "include fixinca.ps".
* Added a "cpagdebug" option to runcpag.sh to set the ClassPag debug level to 9.
* Fixed a problem where ClassPag would sometimes not place class headers to
separate a display ad from an ad below it of a different class if the top of
the page had a class header that matched the ad below the new ad.
* The reports of missing ads (adfits and radfits report specs) no longer show
an extra "Ad" heading field at column 18.
* If you run a report in a product with an empty run date in its edition
parameters, the report heading now shows the current date instead of stars.
* The ClassPag postscript prolog now defines the setseparationgray operator
if it is not already defined. This operator writes black on all separations
and can be used to generate registration marks when doing software separations.
It will also work for in-RIP separations if the RIP supports the operator.
* The Setup->Version message now shows the spice major and minor versions.
For versions of ClassPag built with the current version of spice, the major
and minor version numbers will both be 1.
For versions of ClassPag built for backward compatibility with the previous
version of spice, the major version number will be 1, but the minor version
number will be 0.
For versions of ClassPag capable of showing preview images, the version numbers
are followed by "+XImage".
NOTE: This version of ClassPag requires a version of the SCS spice tools from
November 7, 2002, or later, with a spice interpreter of version 4.147 or higher.
The previous version of ClassPag required only version 4.130 or higher.
If you try to rebuild folios without updating the tools, you will see
spice.dbg logs similar to this:
Frm-Info: Formula Interpreter Version 4.132
Frm-Info: Formula XFM $CPAG_SPICE/folioelp.xfm Requires 4.133 ( Compiled by 4.147 )
Frm-Info: Version number mismatch. Please recompile formula
spice: Formula "MakeFolioTextEPS" not found. XFM = "$CPAG_SPICE/folioelp.xfm"
NOTE2: This version has over 9400 lines of changes from the previous version
in addition to building with a newer version of spice.
Comments
0 comments
Please sign in to leave a comment.