Jump to content

Projects/Liberty/File Formats/Husqvarna Viking SHV: Difference between revisions

From KDE Community Wiki
Created page with "== Husqvarna Viking SHV - EXE Menu == Sometimes Pfaff, Husqvarna, or Viking files come as an EXE program: a self extracting ZIP compressed file; for Designer I software. The..."
 
Husqvarna Viking SHV - EXE Menu: added colour index info
 
(3 intermediate revisions by the same user not shown)
Line 6: Line 6:


File_name/
File_name/
MENU_SEL.PHV
* MENU_SEL.PHV
* MENU_01/
* MENU_01/
** MENU_01.MHV
** MENU_01.MHV
Line 16: Line 16:
* MENU_04/
* MENU_04/
** MENU_04.MHV
** MENU_04.MHV


The file MENU_SEL.PHV appears to contain a software notice, the name of the pattern (sixteen times), menu  
The file MENU_SEL.PHV appears to contain a software notice, the name of the pattern (sixteen times), menu  
Line 21: Line 22:
table (looks like weights for each bit: 120, 82, 44 and 6), and finally a 4 bit per pixel pixmap (8 bit line  
table (looks like weights for each bit: 120, 82, 44 and 6), and finally a 4 bit per pixel pixmap (8 bit line  
count, 8 bit pixels/line, lines x (pixels/2 round up) bytes).
count, 8 bit pixels/line, lines x (pixels/2 round up) bytes).


In subdirectory MENU_01, the file MENU_01.MHV appears to contain a software notice, menu label repeated  
In subdirectory MENU_01, the file MENU_01.MHV appears to contain a software notice, menu label repeated  
Line 54: Line 56:
|  
|  
|}
|}


After the header is an 16 colour image, there are two forms 8 bit sizes and 16 bit sizes. The 16 bit sizes
After the header is an 16 colour image, there are two forms 8 bit sizes and 16 bit sizes. The 16 bit sizes
Line 137: Line 140:
| Unknown height/2 round down
| Unknown height/2 round down
|}
|}


Followed by the bytes of the pixel-map.
Followed by the bytes of the pixel-map.
Line 156: Line 160:
| 1
| 1
| Signed
| Signed
| Unknown = -60 or 196 or bit-set \[1100 0100\]
| Unknown = -60 or 196 or bit-set [1100 0100]
|-
|-
| 2
| 2
Line 164: Line 168:
|-
|-
| 3
| 3
| 2
| 1
| Byte
| Unknown = 0x00
|-
| 4
| 1
| Byte
| Byte
| Unknown = 0x00 0x90 = 144 or 0 -112
| Unknown
|-
|-
| 5
| 5
Line 196: Line 205:
| 4
| 4
| Count
| Count
| Unknown, total stitch count
| total stitch count
|}
|}


Each colour table row appears:
Each colour table row appears:
Line 210: Line 220:
| 4
| 4
| Count
| Count
| Unknown, stitch count, related to number of stitches of this thread
| stitch count, related to number of stitches of this thread
|-
|-
| 4
| 4
| 1
| 1
| Byte
| Byte
| Unknown, colour index
| Unknown, seems to be HUS format colour index
|-
|-
| 5
| 5
Line 237: Line 247:
| Start Y in 0.1 mm
| Start Y in 0.1 mm
|}
|}


The stitches are pairs (dx, dy) of signed 8 bit offsets (from previous current position) with an escape code.
The stitches are pairs (dx, dy) of signed 8 bit offsets (from previous current position) with an escape code.
Line 260: Line 271:
| End 8 bit jump stitch
| End 8 bit jump stitch
|}
|}


The jump stitch, going forward, Start then relative X displacement, relative Y displacement, End. When rewinding or backing up, the End will be seen, then Y displacement, X displacement, and Start.
The jump stitch, going forward, Start then relative X displacement, relative Y displacement, End. When rewinding or backing up, the End will be seen, then Y displacement, X displacement, and Start.

Latest revision as of 13:19, 21 January 2013

Husqvarna Viking SHV - EXE Menu

Sometimes Pfaff, Husqvarna, or Viking files come as an EXE program: a self extracting ZIP compressed file; for Designer I software. The instructions by Husqvarna say design is in Menu 1, position 1. Once decompressed, with the likes of Ark or WINE, a directory tree is produced, for example:

File_name/

  • MENU_SEL.PHV
  • MENU_01/
    • MENU_01.MHV
    • DES01_01.SHV
  • MENU_02/
    • MENU_02.MHV
  • MENU_03/
    • MENU_03.MHV
  • MENU_04/
    • MENU_04.MHV


The file MENU_SEL.PHV appears to contain a software notice, the name of the pattern (sixteen times), menu labels for four menus (each repeated sixteen times: I assume intended for different languages), some four row table (looks like weights for each bit: 120, 82, 44 and 6), and finally a 4 bit per pixel pixmap (8 bit line count, 8 bit pixels/line, lines x (pixels/2 round up) bytes).


In subdirectory MENU_01, the file MENU_01.MHV appears to contain a software notice, menu label repeated sixteen times, some values (of unknown purpose 0x77 119, 0xFB 251/-5, and 6), list of 36 bytes, and a 4 bit per pixel pixmap.

The important file is DES01_01.SHV, this contains stitches, the stitches appear to be the same format as VP3.

Offset Size Type Description
0 86 ASCII Signature = "Embroidery..." software notice
0x56 86 1 Byte N1 length of string
0x57 87 N1 ASCII Name of pattern (appears limited to 12 characters)
0x57+N1


After the header is an 16 colour image, there are two forms 8 bit sizes and 16 bit sizes. The 16 bit sizes are flagged with three bytes: 0xFF 0xFF 0x01. Big-endian is used for 2 and 4 byte numbers.

Offset Size Type Description
0 3 Byte 0xFF 0xFF 0x01
3 2 Count Height, lines in the pixel-map (unsigned big-endian)
5 2 Count Width, pixels in a line, two pixels are packed in a byte, odd count leaves empty nibble in last byte of line
7 2 Count Unknown width/2 round down
9 2 Count Unknown height/2 round down
11 2 Count Unknown width/2 round down
13 2 Count Unknown height/2 round down


Offset Size Type Description
0 1 Count Height, lines in the pixel-map
1 1 Count Width, pixels in a line, two pixels are packed in a byte, odd count leaves an empty nibble in last byte of each line
2 1 Count Unknown width/2 round down
3 1 Count Unknown height/2 round down
4 1 Count Unknown width/2 round down
5 1 Count Unknown height/2 round down


Followed by the bytes of the pixel-map.

Now the stitches, follow a summary and colour table.

Offset Size Type Description
0 1 Count Colour count, number of rows in colour table
1 1 Signed Unknown = -60 or 196 or bit-set [1100 0100]
2 1 Count Unknown = 40, may be weight in km/kg
3 1 Byte Unknown = 0x00
4 1 Byte Unknown
5 2 Byte Unknown = 0 0
7 2 Signed Right extent in 0.1 mm
9 2 Signed Top extent in 0.1 mm
11 2 Signed Left extent in 0.1 mm
13 2 Signed Bottom extent in 0.1 mm
15 4 Count total stitch count


Each colour table row appears:

Offset Size Type Description
0 4 Count stitch count, related to number of stitches of this thread
4 1 Byte Unknown, seems to be HUS format colour index
5 3 Byte Unknown = 0x02 00 00, this could be colour name string
8 2 BCD Thread part-number
10 2 Signed Start X in 0.1 mm
12 2 Signed Start Y in 0.1 mm


The stitches are pairs (dx, dy) of signed 8 bit offsets (from previous current position) with an escape code. When dx is 0x80 -128, dy gives the command.

Code Description
0x80 0x01 Start 16 bit jump stitch
0x80 0x02 End 16 bit jump stitch, enables stitches to be rewound
0x80 0x03 Unknown, may be deleted stitch
0x80 0xA0 Start 8 bit jump stitch
0x80 0x00 End 8 bit jump stitch


The jump stitch, going forward, Start then relative X displacement, relative Y displacement, End. When rewinding or backing up, the End will be seen, then Y displacement, X displacement, and Start.