Projects/Liberty/File Formats/Viking Pfaff
Viking/Husqvarna Pfaff/Singer 3 VP3
The VP3 file format appears to be series of nested sections. Most sections contain tagged records.
In the style of Backus–Naur Form,
File = File-header Extent
Extent = Extent-header {Hoop}
Hoop = Hoop-header Canvas Threads
Threads = Threads-header {Thread}
Thread = Thread-header Colours Thread-text Thread-detail Stitches Thread-end
Colours = {Colour}
Stitches = Stitches-header {Stitch}
File-header
Offset | Length | Type | Description |
0 | 6 | ASCIIZ | Signature = "%vsn%" |
6 | N1 | N-WStr | Producer 16 bit big-endian length in bytes followed by 16 bit characters |
6+N1 |
Extent-header
Offset | Length | Type | Description |
0 | 3 | Tag | Extent-tag 00 02 00 three bytes |
3 | 4 | Length | Extent-len remaining bytes in file |
3 | N2 | N-WStr | Settings human readable debugging notes |
7+N2 | 4 | MicroM | Extent-top top edge of stitching in um |
11+N2 | 4 | MicroM | Extent-right |
15+N2 | 4 | MicroM | Extent-bottom |
19+N2 | 4 | MicroM | Extent-left |
23+N2 | 4 | Count | Total-stitch-count |
27+N2 | 2 | Count | Total-thread-count |
29+N2 | 1 | Byte | unknown = 12 |
30+N2 | 2 | Count | unknown = 1 |
Hoop
Offset | Length | Type | Description |
0 | 3 | Tag | Hoop-tag = 00 03 00 |
3 | 4 | Length | Hoop-len |
7 | 4 | MicroM | Centre-X |
11 | 4 | MicroM | Centre-Y |
15 | 3 | Tag | Canvas-tag = 00 00 00 |
18 | 4 | MicroM | Hoop-left |
22 | 4 | MicroM | Hoop-right |
26 | 4 | MicroM | Hoop-bottom |
30 | 4 | MicroM | Hoop-top |
34 | 4 | MicroM | Hoop-width |
38 | 4 | MicroM | Hoop-height |
This file format appears to describe a stitch out similar to that used in JEF files.