nanDECK - What's new in version 1.17
New BEZIERS directive
The standard BEZIER directive draws a curve using two point and two handles, this new BEZIERS directive specify only one point and one handle, then the program draws a curve starting from the 2nd BEZIERS directive, the 3rd directive draws a curve starting from the 2nd and so on, until you use a BEZIERS with only the range that starts a new curve.
For example:
BEZIERS = 1, 0, 0, 3, 0, #000000, 0.1
BEZIERS = 1, 0, 3, 3, 3, #FF0000, 0.1, 0.5
BEZIERS = 1, 0, 6, 3, 6, #00FF00, 0.1, 0.5
BEZIERS = 1, 0, 9, 3, 9, #0000FF, 0.1, 0.5
The result is:
New SELECT/CASE/CASEELSE/ENDSELECT
directives
Instead of IF...ENDIF, you can use a SELECT...ENDSELECT structure, with this syntax:
SELECT = value
CASE = (operator) option1
...
CASE = (operator) option2
...
...
CASEELSE
...
ENDSELECT
If the operator is not specified, an = (equal) is used for default.
New FRAMEPER function
This function take a group of frames and creates four new frames for each frame, one for each side of the rectangle. The syntax is:
[newframe] = FRAMEPER(frame group, width, flags, margin)
The width parameter specifies the width of the left and right frames, and the height of top and bottom frames. In the flags parameter you can use one or more of these flags:
1 | a frame for the top side of the rectangular frame is added to the result |
2 | a frame for the right side of the rectangular frame is added to the result |
3 | a frame for the bottom side of the rectangular frame is added to the result |
4 | a frame for the left side of the rectangular frame is added to the result |
V | with this flag the frames are created in vertical order (instead of an horizontal order) |
If you didn’t specify any of flags 1234, all the four frames are added. The margin parameter specify how much space is added to the left and to the right (for horizontal sides) and to the top and to the bottom (for vertical sides) of the frame. This is an example:
CARDSIZE = 10, 10
[alfa] = FRAMEBOX(1, 1, 8, 8, 2, 2)
[beta] = FRAMEPER(alfa, 0.5, 1234)
RECTANGLE = 1, <beta> ,#HHHHHH
FONT = Arial, 8, T, #000000
TEXT = 1, {°}, <beta>
This is the result:
Added
frames in visual editor
If you click on the Frames tab in the Visual Editor window you can see (and modify) all the frames defined in a VISUAL...ENDVISUAL structure.
In this tab you can also enable only a group of frames: to define a group you can create frames with a group/name syntax (for example: group1/frame1). If you enable the option Change objects’ frames, when you choose a group the program will move all the objects that has frames with compatible names to the new frames.
Added
zoom in visual editor
In the bottom left of the Visual Editor window there is a slider for zooming in and out the card (a button "1:1" restore a 100% zoom). You can also zoom the card with the mouse wheel.
Added parameter
in LINE/LINERECT/BEZIER/BEZIERS directives for drawing arrows
These are the new syntaxes for that directives:
LINE = “range”, x1, y1, x2, y2, html color, thickness,
pattern, end arrow, start arrow
LINE = “range”, pos_x, pos_y, width, height, html color, thickness,
pattern, end arrow, start arrow
BEZIER = “range”, x1, y1, h1_x, h1_y, h2_x, h2_y, x2, y2, html color,
thickness, end arrow, start arrow
BEZIERS = “range”, x, y, h_x, h_y, html color, thickness, end
arrow, start arrow
The new values are the size of the arrows, at the end and at the start of the line/curve, this is an example:
LINE = 4, 10%, 10%, 90%, 90%, #FF0000, 0.1, ,1 ,0.5
LINE = 4, 10%, 90%, 90%, 10%, #0000FF, 0.1, ,0.5, 1
And this is the result:
Added D flag in
IMAGE directive for using DPI from file
If you add a D flag in an IMAGE directive, the size of the image is adjusted to reflect the DPI information (only for BMP, PNG and JPG images).
Added F flag in
FONT/FONTRANGE directives for adjusting font' size
If you add a F flag in a FONT directive, the size of all TEXTs directives are reduced if the text doesn't fit in the rectangles (this means that the program needs more time to evaluate all the TEXTs). This is an example:
{[text]="Lorem ipsum dolor sit amet, consectetur adipisci
elit,\32\
sed eiusmod tempor incidunt ut labore et dolore magna aliqua.\32\
Ut enim ad minim veniam, quis nostrud exercitation ullamco\32\
laboris nisi ut aliquid ex ea commodi consequat."}
FONT = Arial, 20, , #000000
TEXT = 1, [text], 0, 0, 100%, 50%, left, wwtop
FONT = Arial, 20, F, #000000
TEXT = 1, [text], 0, 50%, 100%, 50%, left, wwtop
And this is the result:
Added S flag in
permutation engine for removing elements with the same structure
The S flag remove elements with the same structure in a permutation/combination list of elements: for example, the sequence 0102 has the same structure of the sequence 1210.
Added parameter
$ in FRAMELIST function for bidirectional order
With this flag, the order of frames in a FRAMELIST function is from left to right in the 1st line, right to left in the 2nd, and so on.
Added parameter
% in FILTER function for replace
In this example the caracters “a”, “d”, and “g” are replaced with the numbers “1”, “2”, and “3”:
[test_a] = abc|def|ghi
[test_b] = FILTER(§[test_a]%a1d2g3)
The result sequence [test_b] is equal to:
1bc|2ef|3hi
Added parameter
R in FRAMEBOX function for reversed numbering
The E flag in FRAMEBOX function creates the frames with a letter and a number, starting from 1 to the top and A to the left. With the new R flag, the vertical numbers are reversed, ending with 1 at the bottom line.
Added options to
PDF creation
The button PDF in the main window opens this form:
With this form you can specify a filename and an author for the PDF file.
PDF/A: with this option the PDF file is saved in this format.
Use JPEG Compression form images: with this option enabled all the images in the PDF file are internally stored in JPEG format.
Use scaled images: with this option enabled, the program uses a high image compression for the PDF file, reducing its size (and its quality).
PDF compression level: you can choose between four standard compression level for the images (None, Low, Default and Max).
Save a copy with a CMYK colorspace: if you have installed Ghostscript (http://www.ghostscript.com) you can also save it with CMYK colorspace (instead of RGB), specifying the path for the executable (Gswin32c.exe), and use an ICC color profile.
Added option for
converting PDF files to images
The button CP in the main window opens this form:
If you have installed Ghostscript (http://www.ghostscript.com) you can convert PDF files into images. The first field is for the Ghostscript’s executable; the second is the name of the PDF file; the third is for the resulting images (you can use the § character for the page number); the fourth field is for the DPI resolution of the final images.
Added flags for
aligning sub-frames
You can align a sub-frame starting from the last sub-frame, in the four directions, with these keywords:
TS top aligned, full width
BS bottom aligned, full width
SL left aligned, full height
SR right aligned, full height
For example:
<frame> = 1, 1, 4, 7
FONT = Arial, 16, , #FFFFFF, #0000FF
TEXT = 1, TS1, <frame, TS, 1>, CENTER, CENTER
FONT = Arial, 16, , #FFFFFF, #00FF00
TEXT = 1, TS2, <frame, TS, 1>, CENTER, CENTER
FONT = Arial, 16, , #FFFFFF, #FF0000
TEXT = 1, TS3, <frame, TS, 1>, CENTER, CENTER
FONT = Arial, 16, , #000000, #FFFF00
TEXT = 1, TS4, <frame, TS, 0>, CENTER, CENTER
The first frame can be referenced with TW or TS (the result didn’t change). If you specify a zero as the width/height of the element, it fills all the available space (the fourth frame in this example).
This is the result:
Fixed bug in DUPLEX directive
Fixed bug in IMAGE directive
Fixed bug in visual editor