Release notes for MECCA 2000 version 5.05. Dec/05/2010 Fixed: 1. The preview program did not handle page number correctly, and was using the incorrect margin values for page component placement, especially if the "duplex" is set in PDEF (preview). 2. Newer dongle daemon adgld6 now scans 8 USB ports when looking for WIBU. Previously, it stopped after scanning 4 USB ports; some laptops appear to have those ports yet the the USB connectors on the machine's case use higher range of port numbers, resulted in WIBU not found (adgld6). 3. Version 5.04 typdrv broke the single-sheet CustomPageSize PPD output rule (typdrv). 4. Version 5.04 typdrv read the tray file incorrectly: it went to the wrong directory to find the tray file, resulting in output that does not include all intended tray options (typdrv). 5. In Rasprintmask: pixel data source being a file object was not reset correctly for repeated reading (PSbasic.ps). 6. The %%BoundingBox and %%PageBoundingBox values in PS output have been changed to be integer whole points (72 points to an inch), to conform to Adobe DSC v3.0 (typdrv). 7. Hash table library was not releasing allocated memory properly (unimap, m2kbin, typdrv). 8. Make PS/EPS conversion procedure more robust (psconvert.tcl). Note if the system does not have /proc mounted, the PS/EPS conversion will fail (also in other parts of MECCA where the system 'ps' command is used to track process status). 9. Code cleanup for misc. utilities (mkolg, frmpos, PS). 10. When picking Ungroup, the current layer on/off status was not checked to qualify the picked item (m2kbin). New/Changed: 1. PSFORM mark-up command (galeyc, pmunu, gpcdump, typdrv, m2kbin, default.fmc). \PSFORM dwgfil= path posfil= path type = NJPG | TIFF pos = FIXED | IMMEDIATE | FLOAT xpos = X ypos = Y copy = SAVE | FLASH | LAST key = nbyte = dbyte = \END [optional merge text data, same as for MFORM] \EFORM Similar to the MFORM command, but this command results in the drawing file content made into a repeatable object in PostScript (as a PostScript "Form"), only once, which can then be placed any number of times, on any desired page (unlike MFORM, this command does not cause a new page). First, create the Form by SAVE: \PSFORM dwgfil=dwg.mf posfil=dwg.fp copy=SAVE \END \EFORM Then, place it at desired location on the "current page": \PSFORM dwgfil=dwg.mf pos=FIXED xpos=... ypos=... copy=FLASH ... \END [optional merge text data here] \EFORM If there are variable text data to go with a "FLASH" copy, add the appropriate keywords and data, in the same manner as with MFORM command. The "copy=LAST" option causes it to be placed one last time and then removed from the memory list. The "type=NJPG | TIFF" option can be used to "stamp" JPEG or TIFF format raster images for multiple appearance. As with the MFORM command, if "type=" is not specified, the named file is assumed to be a MECCA graphic or .mf (graphic file for merge form use, one produced by having run frmpos program with the original graphic file). \PSFORM only supports JPEG, TIFF and MECCA graphic file formats. NOTES: a. Although POS= keyword accepts options FLOAT and IMMEDIATE, it is the FIXED option that is most practical. b. Regardless whether variable merge text is desired or applicable, the \EFORM command must be given, a single "\END" is not sufficient. c. If the external drawing file (one which will be repeated later) contains raster image(s) such as a logo, the output device MUST support level-3 PostScript, else the repeating will not work. d. On repeating ("copy=FLASH"), the "posfil=" option need not be given again. e. This command is not supported by preview, hence composing to preview from a mark-up that includes \PSFORM command, will result in no appearance of the referenced drawing file content. f. Rotation via "ORN=" keyword option is not supported. 2. MFORM/PSFORM commands now have a new option keyword "PARTS=part_spec" to support merging in select portions of the external file (galeyc, gpcdump, pmunu, typdrv). Provided the external (DWGFIL) file has stored parts definitions, this option can be used to only include parts (rather than the entire file content) for printing. The "part_spec" is a string, of the format: P[,s][,s] P is an integer part number (from 1, one). If only some seps of the part are desired, the sep numbers (also from 1, one) can be listed after the part number, separated by commas. If more than one part is to be printed, separate the next "part_spec" with a semi-colon, e.g.: PARTS=1;3,2 means print part 1, and sep 2 in part 3. Please note that the part(s) and any of the seps will be printed in a composite manner, not as "black seps". Also, this feature is for printing only, and is not supported by the preview program -- i.e., it will not appear to be effective when composing to preview on-screen. 3. MBARCODE mark-up command (galeyc, pmunu, gpcdump, typdrv, default.fmc). \MBARCODE dwgfil= path xpos = X ypos = Y formx = X formy = Y index = N code = normal barcode data \END This command makes placing barcode via batch composition possible. It works similar to merge form, hence the name MBARCODE: "merge barcode": a. First create desired barcode(s) in MECCA and save it/them in a file, to use as a template. b. In mark-up file, indicate the template file name via "dwgfil=" with \MBARCODE command, and set the actual barcode data/digits via the "code=" option. All attributes (type of barcode, layers, etc.) of the template barcode will be used, the replacement code data computed, and the barcode placed at the desired location on the page given by XPOS/YPOS in the MBARCODE command. c. The FORMX/FORMY options are for use with the Merge Form applications. If given, it places the Upper Left corner of the template drawing, so that the template barcode within it, will provide the relative barcode position (typically for merge form, the source drawing .g and the derived .mf files have identical drawing limits). When FORMX/FORMY are given, the XPOS/YPOS options should not be used. The "index=N" option names the Nth barcode in the referenced drawing file (N starts from 1, one). Default is the first barcode found in the referenced drawing file. The position by XPOS= and YPOS= placement, is the "lower-left" corner (not rotated) of the first (left most) black bar in the barcode. NOTES: a. All keywords except "dwgfil=" are optional: if no "code=" given, the template barcode will be output as-is; if no XPOS/YPOS given, the template barcode's original position will be used. b. The data for "code=" is the normal barcode string that's input as in interactive MECCA under barcode creation. As explained above, all attribute of the barcode item in the referenced file will be used, including start/stop options etc., so the code data here must be consistent with the corresponding template barcode. Also, there is no error checking for the code data provided via "code=" here. c. There is no 2D barcode support at this time. 4. The frmpos program now has new options (frmpos, frmpos.tcl, tclIndex): -sn where n is a layer number (1 <= n <= 32), all text data on that layer will be ignored. For handling barcodes in template files (frmpos): -b ignore all barcodes in input.g -- i.e., no barcodes will be present in the output .mf file. -Bn ignore the nth barcode from input.g file (n >= 1), retain any and all other barcode(s) in the input file on output. -Cn include only the nth barcode from input.g file (n >= 1), ignore all other barcode(s). 'n' can be a comma-separated list of numbers, e.g.: -C2,4,8 will include only 2nd, 4th, and 8th barcodes from the input graphic file. In this form, string 'n' cannot include any space(s) in it. 5. A simplified form of "bcompose" keyboard command has been added: batchcomp. It is equivalent to: bcompose -m -M -3 -f so it does not support separations, nor does it pay attention to any printer tray paper sizes or queue. The output is always PostScript file, in the current directory if not specified by the -oDir option. Please type in "batchcomp" command without any options/arguments to see what its options are. Although seemingly redundant, because "batchcomp" does not support spot/process color separation, it takes less time to compose and produce PostScript output. For applications where composite output is desired, it will be faster. 6. In batch composition, the bcompose -M (multi-page output optimization) option will now cause typdrv to output all fonts listed in "laser.spec", but no longer scan for special character usage in all composed text data. This results in huge saving in memory requirement, along with substantial throughput increase, at the expense of small increase in output file size (typdrv). 7. New mark-up directive, \NOAPB, has been added (bcompose, batchcomp, galeyc, gpcdump, pmunu, default.fmc). In the batch composition process, the pagination program, pmunu, normally collects components in the entire document, before it starts to produce pages on output. This is because the assumption that text can flow from column to column (and page to page), plus other objects (such as blocks) can float to other page(s). For strict applications of MFORM/PSFORM/FIGURE commands with FIXED positioning, the \NP (new page) commands set the page breaks, and no component flows from column-to-column or page-to-page. For this type of jobs that generate large number of pages, pmunu can be aborted by the system when it exceeds system defined per-process data memory limit while loading all the components of the document. To address this problem, "\NOAPB" can now be used to indicate to pmunu that it can output a page as-is for each \NP command. This directive, when used, should be placed before the first page content operation starts, for example, just before the very first \CD command. Please note it is not an immediate command. Equivalent effect can be achieved by using the new -PP option with bcompose and batchcomp commands; or -p option to pmunu, when it is run directly. Because of the adverse effect of mis-applying this option to batch composition jobs where text and blocks flow or float, this new option is not represented in the interactive Batch Compose dialog.