Category Archives: News

nanDECK Version 1.27

Hello everybody, I’ve released a new version of nanDECK, with bugs fixed and new features:

New RANGE directive

Syntax:

RANGE = offset

The parameter specifies a number of cards that is added to all subsequent ranges. This directive is useful to merge two scripts that draws cards in the same range, without having to rewrite all the ranges of the 2nd script.

New GRADIENTS directive

This directive can be used to specify additional parameters used in drawing gradients, or to add other gradients color; it works on every directive that uses gradients, and you can use more than one GRADIENTS directive.

Syntax:

GRADIENTS = "range", compression, rotation, flags, pos x, pos y, html color

Parameters:

“range”: a set of cards

compression: a factor used to draw gradient bands narrowly (greater than 1) or broadly (less than 1)

rotation: each axis is rotated of this angle (in degrees)

flags: you can use the following flags:

N – each pixel is drawn in the color of the closest axis between the two that define the sector in which it resides
F – each pixel is drawn in the color of the farthest axis between the two that define the sector in which it resides
M – each pixel is drawn in the average color of the two axis that defines the sector in which it resides
A – each pixel is drawn in the average color of all axis
P – each pixel is drawn in the average color of all axis, proportionally to the distance from the point specified with 5th and 6th parameters
D – delete all current gradients

pos x: horizontal position (in cm) of point used with P flag

pos y: vertical position (in cm) of point used with P flag

html color: in the same format used for HTML, you can also specify a gradient

Example:

CARDSIZE=5,5
GRADIENTS=1,1.33,0,A,0,0,#0000FF#FFFFFF#FF0000#FFFFFF#0000FF@0
GRADIENTS=1,1.33,90,A
RECTANGLE=1,0,0,100%,100%,#0000FF#FFFFFF#FF0000#FFFFFF#0000FF@0

Result:

From gallery of n_and

Added multiple angles for a gradient

You can specify more than one angle for a gradient. Example:

CARDSIZE=5,5
CIRCLE=1,0,0,100%,100%,#FF0000#FFFFFF#0000FF@0@90

Result:

From gallery of n_and

Added conic gradients

Using the 364 angle you can draw conic gradients. Example:

CARDSIZE=5,5
RECTANGLE=1,0,0,100%,100%,#FF0000#0000FF@364

Result:

From gallery of n_and

New LINKAUTO directive

Syntax:

LINKAUTO = ON/OFF

If you add a LINKAUTO = ON before a LINK directive, when you save the linked spreadsheet the deck is automatically validated and build.

New LINKTAB directive

In this version every tabulation present in a spreadsheet is removed. If you instead want that to be converted to something else, use a LINKTAB=string line.

New MEASURE function

This function measures the distance from a point until the color changes, in a specific direction, the syntax is:

MEASURE(x, y, direction)

The direction can be one between:

UP
DOWN
LEFT
RIGHT

Added parameter in HTMLMARGINS for font stretching

The 10th parameter can be used to change the horizontal size of the text, less than 100 shrinks the font, more than 100 stretches the font.

Added parameter in IMAGEFILTER for blending options

The 2nd parameter specifies a different algorithm used to draw all the images, can be chosen between these options (the standard is SOLID):

SOLID
ADD
SUB
MOD
DIV
DARKEN
LIGHTEN
SCREEN
DODGE
BURN
DIFFERENCE
EXCLUSION
AVERAGE
SCALE
BLENDADD
BLENDMOD

Added S flag in SAVE for shrinking the image

If you specify an S flag in the 13th parameter in SAVE directive, the images saved is reduced in the four edges until a different color is found (taking as reference color the one of the top-left pixel). In the 14th parameter you can specify a level of likeness for that color (zero is the same color).

Added I/E flags in LOADPDF for internal/external engine

If you specify an E flag in the 10th parameter in LOADPDF directive, instead of the internal engine you can use Ghostscript to transform a PDF into an image (the path to the Ghostscript executable must be set with the “Config” button).

Added C flag in SAVEPDF for convert PDF in CMYK using Ghostscript

If you add a C flag in SAVEPDF and you have set a path for Ghostscript executable in Setup, the resulting PDF is converted to CMYK color space, optionally using the ICC color profile specified as a file in the 3rd parameter

Added S/V flags in COLORCHANGE for variations in resulting color

With S (the default behavior) the replaced color is the one specified in the parameter, with V the replaced color changes depending from the original color.

Added parameter in RENDER for using a range of cards

The 4th parameter in RANGE directive can be used to create cards only within a range (with the usual range syntax), instead that only from a card (1st parameter) to another (2nd parameter).

Added parameter in POLYGON for zoom

The 13th parameter in the POLYGON directive sets the zoom for it (100 = standard size).

Added MULTI keyword in SEQUENCE..ENDSEQUENCE structure

If you add a MULTI=N line in a SEQUENCE..ENDSEQUENCE structure, subsequent lines are replicated N times, example:

SEQUENCE=
text|one
MULTI=2
text|two
MULTI=1
text|three
ENDSEQUENCE

The result is the sequence one|two|two|three.

Added parameter in LINKFILL for setting a number of columns

For correct LINKFILL operation, the number of starting columns can be indicated as the second parameter (in case of empty cells at the end of the row, the program is not able to understand exactly how many columns the row is made up of).

Added ranges of results in combinatoric engine

After the number of elements you can specify one or more filters, to keep only a subset of the results, with this syntax:

C[name]number;char1:min1-max1;char2:min2-max2... = ...

In the resulting sequence are added only the results that have char1 in a number of occurrences between min1 and max1, char 2 between min2 and max2, and so on.

Added Library button in the main window

This button shows a list of example scripts that can be selected and shown in the main edit window. The “Update” button can be used to download a new copy of these scripts (I want to add other script in the future).

nanDECK Version 1.26.3

Hello everybody, there is a new version of nanDECK, with some bugs fixed and new features:

New REPEAT function

This functions is used to build strings with repetitions of characters, the syntax is:

[label]=REPEAT("string", number)

Added parameters in LINE/LINERECT/BEZIER/BEZIERS for arrow angle

The standard arrow has the tip drawn with two lines at 45°, with these parameters you can change this angle:

LINE="range", pos x1, pos y1, pos x2, pos y2, html color | html gradient, thickness, pattern O/D/S, end arrow, start arrow, end angle, start angle

LINERECT="range", pos x, pos y, width, height, html color | html gradient, thickness, pattern O/D/S, end arrow, start arrow, flag TRBLDG, end angle, start angle

BEZIER="range", pos x1, pos y1, handle x1, handle y1, handle x2, handle y2, pos x2, pos y2, html color | html gradient, thickness, end arrow, start arrow, end angle, start angle

BEZIERS="range", pos x, pos y, handle x, handle y, html color | html gradient, thickness, end arrow, start arrow, end angle, start angle

And a negative angle draws the arrows with three lines.

Example:

line=1,1,1,5,1,#000000,0.1,,1
line=1,1,3,5,3,#000000,0.1,,1,,20
line=1,1,5,5,5,#000000,0.1,,1,,60
line=1,1,7,5,7,#000000,0.1,,1,,-20

Added parameter in HTMLBORDER for inner background transparency
Added parameters in HTMLBORDER for min/max height

These parameters let you draw the inner area of an HTMLTEXT using a HTMLBORDER line with a partial transparency and a min/max height. Syntax:

HTMLBORDER=htmlfont, type RECTANGLE / DOTTED / DASHED / DOUBLE / GROOVE / RIDGE / INSET / OUTSET / NONE, html color, thickness, gap top, gap left, gap right, gap bottom, corner rounding, html color, alpha, min. height, max. height

Added parameter in HTMLFONT for rotation of characters

Syntax:

HTMLFONT=tag, "font name", font size, style B/I/U/S/O/N/R/C/T/A/M/D/L/G/E/J/H/Y/Z/K/W/V/F, html color, alignment, shadow x, shadow y, shadow blur, shadow color, outline color, outline width, indent, highlight color, char. spacing, angle

Example:

htmlfont=default,arial,24,,#000000,center
htmlfont=rotated,arial,24,,#FF0000,,0,0,0,,,0,0,,0,-45
htmltext=1,"nanD<rotated>E</rotated>CK",0,0,100%,100%,#FFFFFF,0,BE,100,default

Added parameter in HTMLIMAGE for rotation of image

Syntax:

HTMLIMAGE="range", key, "image file", width, height, flag PTMBLREICDH, angle

Example:

htmlfont=default,arial,24,,#000000,center
htmlimage=1,(d),shieldcomb.png,0.8,0.8,PM,-90
htmltext=1,"nan(d)ECK",0,0,100%,100%,#FFFFFF,0,BE,100,default

Added parameter in HTMLTEXT for specifying a font used for paragraphs
Added U flag in HTMLTEXT for using font on multiple paragraphs

The 12th parameter specifies to use a font tag in each paragraph of the text. Note also that with the U flag a sequence in this parameter is applied sequentially in each paragraph.

Added parameter in EDGE for INSIDE borders
Added parameter in EDGE to change tips
Added parameter in EDGE to change corners

Syntax:

EDGE="range", type SOLID / INSIDE / DOT / DASH / DASHDOT / DASHDOTDOT / NULL / CUSTOM, pattern O/D/S, tip ROUND / SQUARE / FLAT, join ROUND / BEVEL / MITER

Some examples in this thread:

New parameters for EDGE

Added W/H flags in ICONS to distribute icons

Instead of grouping them, these flags distribute the icons horizontally (W) and/or vertically (H) in ICONS directive.

Added J flag in IMAGE for using alternate jpeg library
Added A flag in SAVE for using alternate jpeg library

I’ve added an alternative engine for jpeg images, that can be used in IMAGE (for showing a jpeg) and in SAVE (for saving a jpeg).

Added C flag in LAYER for using layers with the canvas

The C flag specifies that the LAYER is used with the canvas instead of in a card.

Added M/S flags in REPLACE for multiple/single replacements

The default behavior (now selected with the M flag) is to pair every from/to texts to every element of the 1st parameter, instead with the S flag the Nth pair of from/to texts are applied only to the Nth element of the 1st parameter.

Added F flag in COPYCARD for rotate cards upside down

The default with COPYCARD directive is to copy the card as-is. With the F flag the card is rotated upside-down.

Added W/H/D/U flags in INFO function

Results:

W - card width (in current units)
H - card height (in current units)
D - card dpi
U - name of the current units (cm/mm/inch)

nanDECK guild on BGG:

nanDeck Users

nanDECK Version 1.26.2

Hello everybody, I’ve released a new version of nanDECK, with bugs fixed and these new features:

New HTMLBORDER directive

This directive adds a border to a font tag (defined by an HTMLFONT), usable with HTMLTEXT. The syntax is:

HTMLBORDER = htmlfont, type, html color, thickness, gap top, gap left, gap right, gap bottom, corner rounding, html color background

Example:

[text]="The brown fox (fox) jumps over the lazy dog (dog)."
[all]=1-{(text)}

htmlimage=[all],(fox),fox.png,0.5,0.5,PB
htmlimage=[all],(dog),sitting-dog.png,0.5,0.5,PB
htmlfont=default,arial,10,,#000000,justify
htmlmargins=default,0.3,0.3,0.3,0.3
htmlborder=default,double,#808080,0.1,0.2,0.5,0.5,0.2,0.25
htmltext=[all],[text],0,0,100%,100%,#FFFFFF,0,BE,100,default

New FLAGS directive

This directive sets the flags for all the directives in the script. So, for example, if you want to add BE flags in every HTMLTEXT lines, you can use a single FLAGS instead of changing every lines.

The syntax is:

FLAGS = range, directive, flags

If you want to remove a flag instead of adding, use the “-” symbol before it.

Example:

flags=1,htmlfont,-I
flags=2,htmlfont,B
flags=3,htmlfont,U

htmlfont=default,arial,16,I,#000000
htmltext=1-3,"This is a test.",0,0,100%,100%,#FFFFFF,0,,100,default

The result is a plain text in the 1st card, bold and italic in the 2nd, and bold and underlined in the 3rd.

New LINKFILL directive

This directive is used when you have a schema on several rows in a spreadsheet and you want to straighten it in a single row (using the first line to specify the total number of columns that will be filled with the cells); this directive must be used before the LINK command.

Syntax:

LINKFILL = switch

Parameter:

switch: values accepted are:

ON to enable the redistribution of the cells
OFF to disable the redistribution of the cells (the default)

New EXPRESSION directive

This directive specifies the characters used to define expressions to be evaluated in texts in HTMLTEXT and RTFTEXT directives.

Syntax:

EXPRESSION = exp. HTML start, exp. HTML end, exp. RTF start, exp. RTF end

Parameters:

exp. HTML start: character(s) used to define start of expressions in HTMLTEXT directive,

exp. HTML end: character(s) used to define end of expressions in HTMLTEXT directive,

exp. RTF start: character(s) used to define start of expressions in RTFTEXT directive,

exp. RTF end: character(s) used to define end of expressions in RTFTEXT directive,

New CALC function

This function is used to get a result from a specific trigonometric function. The syntax is:

[label] = CALC(flag, value1, value2)

You can choose one of these flags:

C cosine function of value1
S sine function of value1
T tangent function of value1
P pi function (the other parameters are not used)
M the higher between value1 and value2
N the lower between value1 and value2

New FRAMEMAZE function

This function reads a list of edge frames, as 1st parameter (created with a FRAMEPER function), and creates another list of edge frames, arranged as a maze. The 2nd and 3rd parameters are the width and height of the rectangle defined by the edge frames. You can specify the coordinates of the starting cell (as 4th and 5th parameter), otherwise it is randomly selected (this also when set to zero); the ending cell is selected as the farthest from the starting one. The syntax is:

[newframe] = FRAMEMAZE(frames, width, height, X start cell, Y start cell, flags)

You can use these flags in the 6th parameter:

S is created a group of frames for the solution
M is created a group of frames with the sequence used in the creation of the maze
E the exit is along the edge of the maze

At the end of the process other two frames are created, one for the starting cell (with postfix start) and one for the ending cell (with postfix end); if the S flag is used is created also a group of frames for the solution (with postfix solution), i.e. the path from the starting to the ending cell; if the E flag is specified is created also two frames for the edge of the starting cell (with postfix startedge) and for the ending cell (with postfix endedge); if the M flag is specified is created also a group of frames with the sequence used for creating the maze (with postfix map).

This example creates two cards, one with the maze, starting and ending cells, and one that adds the solution:

[x] = 20
[y] = 20
CARDSIZE = [x], [y]
[cell] = FRAMEBOX(0, 0, [x], [y], 1, 1)
[edge] = FRAMEPER(cell, 0.1)
[maze] = FRAMEMAZE(edge, [x], [y], 0, 0, S)
RECTANGLE = 2, <mazesolution>, #FFFF00
ELLIPSE = 1-2, <mazestart>, #FF0000
ELLIPSE = 1-2, <mazeend>, #00FF00
RECTANGLE = 1-2, <maze>, #0000FF
FONT = Arial, 10, T, #000000
TEXT = 2, {°}, <mazesolution>

Added parameter in COOICON for the icon index

If the result of the COOICON function corresponds to multiple icons, you can use the 5th parameter to select one of these.

Added parameters in ORIGIN for the % of the cards

The 4th parameter in ORIGIN sets the value in % for the width of the card (the default is 100), similarly, the 5th parameter is for the height.

Added parameter in SAVE for depth of saved files

The 12th parameter in SAVE sets the depth of the saved image, and can be set equal to:

24 16 millions of colors (the default)
16 65536 colors
8 256 colors
4 16 colors

Added parameter in FONT, FONTRANGE, and TEXTFONT for the spacing of circular text

The default behavior for the circular text is to justified. With this parameter you can specify the actual spacing between characters (zero, or a positive/negative value in cm or the current unit); note that with this parameter is used the horizontal alignment (left/center/right). This parameter is present in FONT (10th), FONTRANGE (11th), or TEXTFONT (19th).

Added J/G flags in HTMLTEXT for enlarging/evening lines of text

The F flag is currently use to shrink a font if text is not contained in the HTMLTEXT rectangle; similarly, a J flag enlarge a font until the text is not contained in the HTMLTEXT rectangle. The G flag reduces the width of the text to obtains lines of the same width.

Added W/V/F flags in HTMLFONT for upper/lower/firstcase of text

W the text is converted to upper case
V the text is converted to lower case
F the first letter of the text is converted to upper case, the others to lower

Added H/V flags in CANVAS for centering the canvas in the cards

The default for the cutting of the canvas images in single cards is to align to the top-left corner, with these flags the images are centered.

And some features in the editor:
F11 on a font name shows you the next one (CTRL+F11 for the previous one),
F12 opens the reference (and download it if the file is not present).

nanDECK guild on BGG:

nanDeck Users

nanDECK Version 1.26.1

Hello everybody, there is a new version of nanDECK, with bugs fixed and these new features:

New PAGESHAPE directive

This directive draws lines, rectangles and ellipses directly in a page (therefore there isn’t a range parameter, and a 100% here refers to the whole page, not to the card). The syntax is:

PAGESHAPE = x, y, width, height, flags, color

You can add several flags (each one is a format or a shape):

A) draw a rectangle
I) draw an ellipse

S) set solid background
M) set empty background

0) set solid edge
1) set dotted edge
2) set dashed edge
3) set dash+dot pattern for edge
4) set dash+dot+dot pattern for edge

T) draw a line in the top side of the rectangle
R) draw a line in the right side of the rectangle
B) draw a line in the bottom side of the rectangle
L) draw a line in the left side of the rectangle
H) draw an horizontal line in the middle of the rectangle
V) draw an vertical line in the middle of the rectangle
D) draw a diagonal line in the rectangle
G) draw a diagonal line (reversed) in the rectangle

E) do not draw the shape on even pages
O) do not draw the shape on odd pages

Example:

page=21,29.7,portrait,HV
font=arial,128,,#HHHHHH,#HHHHHH
text=1-9,{§},0,0,100%,100%
pageshape=1,1,19,27.7,MA,#0000FF
pageshape=0.25,0.25,0.5,0.5,SI,#FF0000
pageshape=20.25,0.25,0.5,0.5,SI,#FF0000
pageshape=0.25,28.95,0.5,0.5,SI,#FF0000
pageshape=20.25,28.95,0.5,0.5,SI,#FF0000

There is a rectangle at 1cm from the border, and four red circles. Note that MA means: set empty (M), then draw a rectangle (A), the reverse AM would have drawn a filled rectangle.

New DEPTH directive

With this directive you can specify a lower number of colors for the cards (to save RAM occupation), this is the syntax:

DEPTH = range, depth

Where depth can be:
24 = 16 millions colors (the default)
16 = 65,536 colors
8 = 256 colors
4 = 16 colors

New PDFMERGE function

This function is equivalent to the MERGEPDF directive, it was added for use in a loop. For example, this line splits a pdf in single pages:

[pdf]%,(a),1,PDFPAGES(nandeck-manual.pdf) = PDFMERGE(split(a).pdf,nandeck-manual.pdf,(a))

Added parameters in TEXT for stretching text

The 14th and 15th parameters in TEXT can be used for stretching texts horizontally and vertically. Example:

[text]="The brown fox jumps over the lazy dog."
font=arial,16,,#000000,#FFFF00
text=1,[text],0,0,100%,33%,center,wwcenter
text=1,[text],0,33%,100%,33%,center,wwcenter,0,100,,,,120,50
text=1,[text],0,66%,100%,33%,center,wwcenter,0,100,,,,50,120

Added X/Y flags in FONT directory for shrinking/stretching texts

These flags do an automatic shrinking/stretching of text. If you add an X flag to FONT, the text is shrinked if too large to fit the rectangle, and if you add an Y flag to FONT, the text is stretched if too small to fit the rectangle. Example:

font=arial,32,X,#000000,#FFFF00
text=1,"Test",10%,10%,80%,15%
text=1,"Test Test Test Test",10%,30%,80%,15%
font=arial,32,Y,#000000,#FFFF00
text=1,"Test",10%,50%,80%,15%

Added parameter in LOADPDF for angle

The 9th parameter of the LOADPDF directive can be used to specify the angle of the rotation of the page loaded from a PDF.

Added parameter in DICE directive for number of rerolls

The 8th parameter specifies how many times the dice are rerolled if is obtained a result marked with “**” (in the list of possible values).

Added T flag in FRAMEHEX function for removing last hexes

This flag removes the last hex from a shifted column (or row) of hexes. Example:

[one]=framehex(0,0,6,4,1,S)
polygon=1,<one>,6,30,#CFE2EE,#E7F1F7,0.1
[two]=framehex(0,5,6,4,1,ST)
polygon=1,<two>,6,30,#CFE2EE,#E7F1F7,0.1

Added “all” button in the interface

This button open all the scripts in a folder, in multiple tabs.

Added hint lines in the preview area

If you put the cursor in the preview area (right top) or the preview window, you see an hint with the line and directive of the element(s) under the cursor.

Added CTRL+click in the preview area

If CTRL+click on an element in the preview area or the preview window, the cursor in the text editor is moved to the correspondent line.

nanDECK Version 1.26

Hello everybody, a new version of nanDECK is available, with bugs fixed and new features:

New CMYK directive

The CMYK command has this syntax:

CMYK = Range, ON/OFF, ICC profile

The ON flag enable the CMYK color profile when saving .jpg images, and optionally you can specify an .icc / .icm color profile (or another .jpg to read its profile).

New TAGS directive

This directive creates a rule that is evaluated in the Simulator (a new feature, albeit still basic). The rule can contain series of letters of numbers, with this syntax:

  • one or more “$” symbol, then letters to define a tag’s value that is present, using the same letter means that the same element is present with that number of copies,
  • one or more “£” symbol, then numbers to define the difference between the values of tag when multiple copies are present (i.e. in a straight); with the !N>M syntax is defined that a tag with value N is treated also like M (i.e. the ace in a straight can be positioned before the 2 or after the King),
  • one or more “=” symbol, then one or more tags that must be present.

You can specify more than one rule for a single directive, all of which will be evaluated at the same time, by separating each rule (and each tag) with the pipe character “|”.

Example (poker probability):

tag=1-52,value,1|2|3|4|5|6|7|8|9|10|11|12|13
tag=1-13,suite,1
tag=14-26,suite,2
tag=27-39,suite,3
tag=40-52,suite,4
tags=suite|value,$aaaaa|==1011121301,Royal flush
tags=suite|value,$aaaaa|£1111!1>14,Straight flush
tags=value,$aaaab,Four of a kind
tags=value,$aabbb,Full house
tags=suite,$aaaaa,Flush
tags=value,£1111!1>14,Straight
tags=value,$aaabc,Three of a kind
tags=value,$aabbc,Two pairs
tags=value,$aabcd,One pair
tags=value,$abcde,No pair

New RANGELABEL function

This function converts a sequence of numbers into a range:

[label] = RANGELABEL([sequence])

New RANGEMERGE function

This function creates a new range mixing the cards from two or more ranges:

[range] = RANGEMERGE(“range1”, “range2″, …”rangeN”)

Added parameters in DISPLAY directive for transparency

Syntax:

DISPLAY = “image file”, first card, last card, width, “range”, transparent color, “mask file”

The last two parameters can be used to save an image file with a transparency, and are used the same way as the parameters in SAVE directive.

Added parameters in SAVEPAGES directive for CMYK format

Syntax:

SAVEPAGES = “filename”, switch, color profile

Switch and color profile are the same as in CMYK directive.

Added V, S, C, and E flags in BATCH directive

The flag added after the batch specifies when the batch is executed, i.e.:

V the batch is executed at the validation step
S the batch is executed at the start of the build step
C the batch is executed at the end of each built card
E the batch is executed at the end of the build step

Added D flag in HTMLIMAGE to disable size adjustment

Usually the images in the HTMLIMAGE directive are drawn rescaled in HTMLTEXT (if using the F flag), with the D flag that behavior is disabled (and the images are drawn with the size specified).

Added H flag in HTMLIMAGE to disable vertical spacing

If the height of an image in HTMLIMAGE directive is higher than a character in HTMLTEXT, the lines are drawn with more space between each other, instead with the H flag the lines are drawn more closer.

nanDECK version 1.25.3

Hello everybody, there is a new version of nanDECK, with bugs fixed and these new features:

New MERGEPDF directive

This directive merges two or more PDF files, the syntax is:

MERGEPDF = “result file”, “source file”, “page range”, page rotation

The 2nd, 3rd and 4th parameters can be sequences.

New IMAGELIMIT directive

This directive detects the limits of an image over a background color, the syntax is:

IMAGELIMIT = “range”, pos x, pos y, width, height, html color, threshold

The limits are loaded in the variables PL (left), PR (right), PT (top) and PB (bottom).

New LINKFONT directive

This directive adds a couple of HTML tag when a different font is read from a cell in a linked spreadsheet, the syntax is:

LINKFONT = ON/OFF

New LINKSPLIT directive

This directive is used to read each line from a linked file as two different lines, the syntax is:

LINKSPLIT = every row, odd rows, even rows

The parameters can be sequences.

New FRAMEIMAGE function

This function creates a list of frames from a source list and an image, this is a thread about it:

A new function: FRAMEIMAGE

Added A and R flags in BRUSH directive for bitmap positioning

Added C and I flags in REPLACE function for case replacement

Added multiple body parameters in SCHEMA function

Added a sequence as 3rd parameter in EXPAND function