*** Version history for the GFM Engine ***
1.2.1
The date command has been corrected to push the correct date to
the stack.
1.2.2
A test compilation because of system resources where disappearing fast without any reason. There was no changes done in the source
code for this revision.
1.2.3
The serial number has been implemented as an internal variable.
Also has the password been implemented as the registry key
'Password' and the Installer has been updated to update the
registry with the password during the installation process.
1.2.4
The module has been divided into three editions: Lite, Standard
and Advanced. The mechanism to enable different editions has
also been implemented. This is done by checking the serial number
and password and use an algorithm to calculate the edition.
1.2.5
The ucasestring and lcasestring commands has been implemented.
1.2.6
The serial number has been moved to the registry key
'SerialNumber' instead of having the serial number as an internal
variable. The installation process has not been changed in this
revision but the serial number has to be entered manually.
1.2.7
The company name Graphic Prepress Solutions has been inserted.
1.2.8
The procedure when receiving the DestinationFileName property has
been improved. I.e. when issuing the >DestinationFileName has
a better error handling.
1.2.9
The cvx command has been implemented.
1.2.10
The if command has been changed. If the two values are not equal
will they not be removed from the stack as they were in the
previous version.
1.2.11
The ifnot command has been changed. If the two values are equal
will they not be removed from the stack as they were in the
previous version. Also there were a typecheck error that
shouldn't occur. This has been corrected.
1.2.12
The ErrorCondition property has been changed. When an endjob
command occurs in the GFM script will the ErrorCondition property
be set to 255. It used to be set to 1. The reason is that
applications like GFM Spooler shall be able to handle an endjob
command more separately from other errors. All other errors still
generates the ErrorCondition 1.
From this revision and on must GFM Spooler version 1.0.72 be used
to have this new functionality.
1.2.13
The findfile command has been implemented.
1.2.14 (1998-06-17)
This version has no changes in the source code compared with
version 1.2.13. The reason that there is a new version is because
there has been a number of changes of system files used by the
module. These changes comes from Microsoft. To make it clear that
there was a change has this version been compiled. Note that when
upgrading to this version, all system files must be updated simultaneously, otherwise will the module not work.
1.2.15 (1998-06-17)
From this version and on will there be one separate instance of
the GFM Engine created for each connection to the module. That
is, each application like GFM Spooler will create its own new and
distinct thread to the GFM Engine. Each thread has a unique copy
of all global variables and objects, and will not interfere with
any other thread. For a more detailed discussion about this and
how this affects applications and modules using the GFM Engine
see the GFM Systems Guide and the document Writing Modules For
GFM.
Note! This new behavior can cause more memory consumption than the
earlier behavior.
1.2.16 (1998-07-04)
The logical operations AND, NOT, OR and XOR has been implemented.
1.2.17 (1998-08-29)
The copyfile command has been changed completely. The syntax is
the same but the code has been changed from using a Windows API
call to an internal copy function. The reason is to have more control over resources, read memory, and the ability to have a
progress bar shown as the copy process occurs.
1.2.18 (1998-09-08)
The psopenfile command has been changed as the following. The
former check to see if the opened file is a Postscript file or
not was to look at the first line in the opened file. If the
first line was: '%!PS-Adobe-3.0' would the GFM Engine accept the
file as a Postscript file. The new behavior is to see if the
first eleven (11) characters are: '%!PS-Adobe-'. If this is the
case will the GFM Engine accept the file as a Postscript file.
1.2.19 (1998-09-09)
The error generation has been changed as the following. In the
earlier versions was all errors generating the ErrorCondition 1
except for the endjob command that generated the ErrorCondition
255. In version 1.2.19 has each error been assigned its own
unique ErrorCondition so that the connected application can
handle errors more accurate. The error list is a separate
document and will be inserted in all GFM manuals in the future.
1.2.20 (1998-10-06)
The leftstring command has been implemented.
1.2.21 (1998-10-20)
The getcmdwindowstyle and setcmdwindowstyle commands has been
implemented. The error code generation been added with these two
new commands. Also has the error code generation been implemented
when the users aborts an copy operation. The old generation was
to generate ErrorCondition 1 and that was incorrect. This has now
been corrected so that the abort on user generates ErrorCondition
32.
1.2.22 (1998-11-02)
The getoverwriteonmove and setoverwriteonmove commands has been
implemented. The error code generation has been added with these
two new commands.
1.3.0 (1998-12-08)
A completely new version since Microsoft has released the Visual
Studio Version 6.0. All GFM modules has to upgraded to version
1.3 to be able to use this GFM Engine.
1.30.1 (1999-08-03)
The eq command has been implemented. The eq command will compare
the two top items on the stack and return True if they are equal
and False if not.
The ifelse command has been implemented. The ifelse command will
run procedures conditionally as the if and ifnot commands.
The movefile command has been changed when setoverwriteonmove is
set to 1. In the earlier versions would the movefile command
distinguish between uppercase and lowercase filenames. In version
1.30.1 will all files with the same name, regardless uppercase or
lowercase, be treated as the same name.
1.30.2 (1999-08-09)
The error:
34 Error: File: 'filename'. Permission denied. Command:
deletefile
has been implemented. This error will occur if a file that should
be deleted with the deletefile command is locked by another
application.
1.30.3 (1999-08-12)
The usemodule command has been implemented.
1.30.4 (1999-09-03)
The GFM error and subsequent stop at movefile has been replaced
with the error
Error: $syserror Command: movefile
The error condition value is 40.
1.31.0 (1999-09-23)
The repeat command has been implemented.
The getfiledatetime command has been implemented.
The getfilecount command has been implemented.
The getfilesindirectory command has been implemented.
The lt command has been implemented.
The gt command has been implemented.
The le command has been implemented.
The ge command has been implemented.
The way how procedures can be defined has been changed.
Procedures may now be defined in more than one line. Also you can
now have procedures within procedures. How to do this is
explained in the GFM Programmer's Guide.
When using the month command and the month only was one number
(below 10) the command didn't insert leading zeros. This has been
corrected.
1.31.1 (1999-10-13)
The $WinSysPath has been implemented.
1.31.2 (1999-10-21)
The file command has been implemented
The closefile command has been implemented
The writestring command has been implemented
The readline command has been implemented
1.31.3 (1999-10-28)
The logfile command has been changed so that every time a new
script is started will the logile monitoring be set to none.
1.31.4 (1999-12-31)
The $OnError procedure has been implemented.
1.40.0 (2000-01-04)
The ability to read and parse TIFF file headers has been
implemented. Commands involved in this are the following:
tiffopenfile
tiffgetheader
tiffclosefile
Note that this version only can read the header. TIFF tags the
GFM Engine parses will be saved on GFMDict as explained in the
GFM Language Reference Guide and the GFM Programmer's Guide.
TIFF Tags saved on GFMDict are:
TIFFImageWidth
TIFFImageLength
TIFFCompression
TIFFSubFileType
TIFFNewSubFileType
TIFFBitsPerSample
TIFFPhotometricInterpretation
TIFFSamplesPerPixel
TIFFRowsPerStrip
TIFFXResolution
TIFFYResolution
TIFFPlanarConfiguration
TIFFResolutionUnit
TIFFStripOffsets (Only single strip files)
TIFFStripByteCounts (Only single strip files)
All other tags will be ignored. Tags that doesn't exist will not
be saved in GFMDict.
*** End Of Version History for GFM Engine ***