Projects/Liberty/File Formats/Viking Pfaff

From KDE Community Wiki

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.