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



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."

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:

text=1,"Test Test Test Test",10%,30%,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:


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):

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=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


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


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:


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