Hi all, version 1.28 has a bug that makes HTMLTEXT unusable when OVERSAMPLE is present, so I quickly released this update. Also, there are these additions:
New SETF directive
This directive creates a filter that is applied in the Simulator: when a card is drawn in a hand, it is kept only if the tag indicated in the first parameter is equal to the number indicated in the second, otherwise it is returned to the deck and another is drawn; this filter is applied to the card indicated in the third parameter. The syntax is:
TAGF = tag, number, card
Added the ability to use a sequence of filenames in the first parameter to the LINK directive
This can be useful when you want to link an undefined list of files, obtained for example from a DIRFILES function. Example:
[a]=dirfiles("data*.xlsx") link=[a]
Added E flag in DECK to delete an empty deck
In the virtual table, with this flag when the deck is empty it is eliminated.
The font parameters (name, size and colors) are read by the last FONT line. Example:
font=arial,12,,#FF0000,#00FF00 modulepdf="result.pdf","source.pdf",1,1,1,10,2 font=times new roman,20,,#00FF00,#FF0000 modulepdf="result.pdf","source.pdf",1,1,5,10,4,"Two",CENTER,ON font=arial,12,,#FF0000,#00FF00 modulepdf="result.pdf","source.pdf",2,1,10,10,2,"Three",RIGHT,OFF,ON
New PAGETEXT directive
This directive writes a text directly in a page (therefore there is not a range parameter, and a 100% here refers to the whole page, not to the card). The font can be specified with a PAGEFONT directive. The syntax is:
This directive indicates a sequence whose values are associated with the cards. Every time the corresponding value changes between one card and another, a page break is added to the printout. The syntax is:
PAGEBREAK = "values"
New SEED directive
By default, random numbers are generated randomly, but using this directive the sequence of random numbers will be fixed, different depending on the number used as a parameter. This seed number can be set with this directive, or from Config -> Main. The syntax is:
SEED = seed number
New SEEDRANGE directive
It works the same way as SEED, but has a parameter for the application range. The syntax is:
SEEDRANGE = "range", seed number
New LINKREP directive
This directive is used to replace a string with another when reading data from a LINKed file (you can use muliple LINKSEPs before the LINK line). The syntax is:
LINKREP = "from", "to"
New LINKCSV directive
This directive modifies the encoding of csv files read with a LINK directive. If not used, the default is ANSI encoding. The syntax is:
LINKCSV = encoding
The encoding parameter can be ANSI, UTF7, UTF8, UTF16, or UTF16BE.
New PDFMODULE function
This function works the same way as the MODULEPDF directive.
New FILEREAD function
This function creates a label by reading the content from a text file on disk, this is the syntax:
[name] = FILEREAD(filename)
New INFOFILE function
This function returns information read from the file indicated among the parameters, the syntax is:
[name] = INFOFILE(flag, filename)
The flag can be one of this:
E the function returns 1 for file present, 0 for file not present W return the width of the image file H return the height of the image file
New RANGETRANS function
This function shifts the values contained in a range by a certain offset (positive or negative), this is the syntax:
[range] = RANGETRANS("range", offset)
New RANGEREP function
This function replaces empty values (-1) from range1 with other values from range2, … rangeN, this is the syntax:
Added different types, colors, thicknesses, and corners for HTMLBORDER
For type, html color, thickness, and corner rounding parameters in HTMLBORDER you can now specify a sequence of two, three, or four values, that are used for drawing different edges (type, html color, and thickness) or corners (corner rounding). Example:
[text]="Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua." htmlfont=font_t,arial,8,,#000000,justify,0,0,0,,,0,5% htmlmargins=font_t,5%,5%,5%,5%,top htmlborder=font_t,rectangle|dotted,#0000FF|#FF0000,2%|1%,5%,5%,5%,5% htmlfont=font_c,arial,8,,#000000,justify,0,0,0,,,0,5% htmlmargins=font_c,5%,5%,5%,5%,center htmlborder=font_c,rectangle|dashed,#0000FF|#FF0000,2%|1%,5%,5%,5%,5% htmlfont=font_b,arial,8,,#000000,justify,0,0,0,,,0,5% htmlmargins=font_b,5%,5%,5%,5%,bottom htmlborder=font_b,rectangle|double,#0000FF|#FF0000,2%|1%,5%,5%,5%,5% htmltext=1-{(text)},[text],0,0,100%,100%,#FFFFFF,0,BE,100,font_t htmltext=1-{(text)},[text],0,0,100%,100%,#FFFFFF,0,BE,100,font_c htmltext=1-{(text)},[text],0,0,100%,100%,#FFFFFF,0,BE,100,font_b
Added parameters in HTMLFONT/HTMLIMAGE to add CSS styles
Now you can directly insert CSS elements into the HTMLFONT (17th parameter) and HTMLIMAGE (16th parameter) directives.
Added parameter in LINE/LINERECT to set distance for elements
For LINE/LINERECT patterns it is possible to specify the distance between the elements. Example:
Added F flag to HTMLKEY to apply font only to replaced text Added parameters in HTMLKEY to replace strings
The syntax of HTMLKEY now is:
HTMLKEY="range", key, "text", htmlfont, flag CRFZD, "replace", "from", "to"
If the F flag is present in addition to the R flag, the font specified in the fourth parameter is applied only to the replaced text.
In the result found with the R flag, the text specified in the “from” parameter is replaced with the text in the “to” parameter; both can also be a sequence of texts.
Added L flag to ICONS to keep icons in a single line
In ICONS, with the W and H parameters the icons are arranged so as to occupy the entire space, normally on multiple lines (e.g. four icons are arranged in a two by two square); with the L flag this arrangement is forced onto one line.
Added X flag to ICONS to use keys with variable length
In ICONS the X flag must be used when the keys defined with the ICON command do not always have the same length (the 14 parameter is not used). Note that in this case there cannot be keys of different lengths that start with the same letter, e.g. A and AB.
Added U flag in PAGE directive to draw edges over guidelines
Normally, the sections of the page indicated by the edge parameters of the PAGE directive are drawn below the guidelines; adding the U flag causes them to be drawn above.
Added LINE, LINEDOT, LINEDASH types of guidelines in BORDER Added parameter in BORDER for the thickness of guidelines
Three new styles can be used for the guidelines (LINE, LINEDOT, LINEDASH), also for all the guidelines the thickness can be indicated, and for each guideline a different color can be used (when the ninth parameter has a value greater than 0). Example:
Added parameter in IMAGEFILTER to draw images with a transparency mask
If a png file is specified in the third parameter of IMAGEFILTER, its transparency layer is applied to all image operations. Example (the mask.png file is transparent at the edges and opaque in the center, in the shape of a rounded rectangle):
Note that to return to normal you need to use IMAGEFILTER with an empty parameter
Added I flag in TABLE to draw proportionally the canvas
Normally the canvas is drawn on the entire screen of the virtual table, if the I flag is added instead the proportions between the dimensions are maintained.
Added U/D flags in DECK for specifying if the deck is face up/down
This is used to indicate whether a specific deck should be placed face up or down (the default) on the virtual table.
Added F/B flags in TOKEN to set token in front/back
In the virtual table, tokens created with the TOKEN directive can be placed in front (flag F) or behind (flag B) the cards.
Added 2 flag to HEXGRID for interlaced coordinates Added 2 flag to FRAMEHEX for interlaced coordinates
Interlaced coordinates, unlike other systems, allow you to always use the same rule to move from one hexagon to another, as you can see in this example:
the fourth parameter in CMYK allows you to choose one of these colorspaces: AUTO/GRAY/RGB/CMYK/YCBCR/YCBCRK/YCCK (it should be indicated when the image is not displayed correctly).
Added parameter in INDEX function to find other occurrences
The syntax of the INDEX function is now:
[label]=INDEX(substring, string, number)
If the number parameter is 1, the first occurrence of the substring is found, if it is 2, the second, and so on. If it is -1, the first occurrence from left to right, if it is -2, the second, and so on.
Added number option in LINKMULTI directive
In the past, LINKMULTI had to refer to a column in the spreadsheet, now if you want each row to be reproduced multiple times, you can use LINKMULTI=number, where number is 2 to double the rows, 3 to triple them, and so on.
Added parameter in SPECIAL for line division
You can use the character ¶ to write a line of code, which will be split into two (or more) lines at execution. The fourth parameter of the SPECIAL directive allows you to change this special character.
Added * in script parameter to NANDECK directive for concurrent execution
Normally the NANDECK directive waits for the end of execution before continuing with the next line of the script; adding the * character to the parameter indicating the script to be executed will cause this to be executed in parallel, and therefore the next line of the current script will be executed immediately.
Added new rules in DECK directive
MAX1->FRAMRfrm if the item is moved in a frame already occupied, the occupying item is moved in the frame named frm; if you specify more than one frame, is used a random one from the list of frames DRAW->FRAMEfrm when a card is drawn from a deck, is placed in the frame named frm; if you specify more than one frame, is used the first free from the list of frames DRAW->FRAMRfrm when a card is drawn from a deck, is placed in the frame named frm; if you specify more than one frame, is used a random one from the list
Added option in Insert Label to perform a conversion using SEQUENCE
Added “Convert to SEQUENCE” option when inserting a label (F8), which allows you to select a label and convert its contents into lines of a SEQUENCE..ENDSEQUENCE structure.
This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.
Strictly Necessary Cookies
Strictly Necessary Cookie should be enabled at all times so that we can save your preferences for cookie settings.
If you disable this cookie, we will not be able to save your preferences. This means that every time you visit this website you will need to enable or disable cookies again.