Adobe Photoshop
Byte-order: Big-endian
Patterns2.pat (Adobe Illustrator CS4)
000000 38 42 50 54 00 01 00 00 00 18 00 00 00 01 00 00 8BPT............
000010 00 03 00 50 00 50 00 00 00 32 00 24 00 24 00 24 ...P.P...2.$.$.$
000020 00 2F 00 50 00 72 00 65 00 73 00 65 00 74 00 73 ./.P.r.e.s.e.t.s
......
04B170 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
04B180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
04B190 00 00 00 00 00 00 00 00 00 00 00 ...........
File signature 4*char (8BPT)
Version 1*int16 (1)
Number of patterns 1*int32
Patterns
Patterns
.......
01AB50 00 00 00 00 00 00 00 00 00 00 01 00 00 00 03 00 ................
01AB60 39 00 40 00 00 00 30 00 24 00 24 00 24 00 2F 00 9.@...0.$.$.$./.
01AB70 50 00 72 00 65 00 73 00 65 00 74 00 73 00 2F 00 P.r.e.s.e.t.s./.
01AB80 50 00 61 00 74 00 74 00 65 00 72 00 6E 00 73 00 P.a.t.t.e.r.n.s.
01AB90 2F 00 50 00 61 00 74 00 74 00 65 00 72 00 6E 00 /.P.a.t.t.e.r.n.
01ABA0 73 00 5F 00 70 00 61 00 74 00 2F 00 57 00 61 00 s._.p.a.t./.W.a.
01ABB0 66 00 66 00 6C 00 65 00 3D 00 57 00 61 00 66 00 f.f.l.e.=.W.a.f.
01ABC0 66 00 6C 00 65 00 00 24 31 62 32 39 38 37 36 37 f.l.e..$1b298767
01ABD0 2D 35 38 62 37 2D 31 31 64 34 2D 62 38 39 35 2D -58b7-11d4-b895-
01ABE0 61 38 39 38 37 38 37 31 30 34 63 31 00 00 00 03 a898787104c1....
01ABF0 00 00 23 8C 00 00 00 00 00 00 00 00 00 00 00 39 ..#............9
01AC00 00 00 00 40 00 00 00 18 00 00 00 01 00 00 09 E2 ...@...........â
01AC10 00 00 00 08 00 00 00 00 00 00 00 00 00 00 00 39 ...............9
......
01B5E0 00 D5 FB D6 00 D5 FC D4 00 D5 FB D6 02 D5 D4 D4 .ÕûÖ.ÕüÔ.ÕûÖ.ÕÔÔ
01B5F0 C1 D4 00 00 00 01 00 00 0B AF 00 00 00 08 00 00 ÁÔ.......¯......
01B600 00 00 00 00 00 00 00 00 00 39 00 00 00 40 00 08 .........9...@..
......
01C190 84 00 83 FD 84 00 83 F5 84 00 83 ED 84 00 83 F5 ...ý...õ...í...õ
01C1A0 84 00 83 FD 84 00 83 FE 84 00 00 00 01 00 00 0B ...ý...þ........
01C1B0 8C 00 00 00 08 00 00 00 00 00 00 00 00 00 00 00 ................
......
01CD20 5C 5A 5A FE 5A 00 59 FD 5A 00 59 F5 5A 00 59 ED \ZZþZ.YýZ.YõZ.Yí
01CD30 5A 00 59 F5 5A 00 59 FD 5A 00 59 FE 5A 00 00 00 Z.YõZ.YýZ.YþZ...
01CD40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
01CD50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
01CD60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
01CD70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
01CD80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
01CD90 00 00 00 00 00 00 00 00 01 00 00 01 E3 00 00 00 ............ã...
01CDA0 08 00 00 00 00 00 00 00 00 00 00 00 39 00 00 00 ............9...
01CDB0 40 00 08 01 00 08 00 06 00 06 00 06 00 06 00 06 @...............
......
01CF60 00 E9 C3 FF 00 E9 00 E9 C3 FF 00 E9 00 E9 C3 FF .éÃÿ.é.éÃÿ.é.éÃÿ
01CF70 00 E9 00 EF C3 FF 00 EF 01 D6 EB C5 E9 01 EB D6 .é.ïÃÿ.ï.ÖëÅé.ëÖ
01CF80 00 00 00 01 00 00 00 01 00 80 00 80 00 00 00 3B ...............;
01CF90 00 24 00 24 00 24 00 2F 00 50 00 72 00 65 00 73 .$.$.$./.P.r.e.s
......
Version 1*int32 (1)
Color model 1*int32 (0: B/W, 1: Grayscale, 2: Indexed, 3: RGB, 4: CMYK, 5: HSL, 6: HSB, 7: Multichannel, 8: Duotone, 9: Lab, 10: Gray 16-bit, 11: RGB: 48-bit) — it seems only 1, 2, 3, 4, 7, 9 are supported
Width Height 2*int16
Pattern name 0-terminated string of length (1*int32) double-byte characters
Pattern id Pascal string - string of length (1*int8) characters
If model is 2 (indexed), here come palette informations (256*3 bytes) + 4 unknown bytes
Version 1*int32 (3)
Pattern size 1*int32
Rectangle: top, left, bottom, right 4*int32
Number of channels 1*int32
Channels
???? 4 bytes (always 0 in the files I’ve analysed)
Alpha channel same structure as other channels
Channels
.......
01AC00 00 00 00 40 00 00 00 18 00 00 00 01 00 00 09 E2 ...@...........â
01AC10 00 00 00 08 00 00 00 00 00 00 00 00 00 00 00 39 ...............9
01AC20 00 00 00 40 00 08 01 00 02 00 16 00 3E 00 40 00 ...@........>.@.
01AC30 33 00 32 00 31 00 31 00 38 00 37 00 16 00 02 00 3.2.1.1.8.7.....
01AC40 02 00 38 00 3D 00 33 00 32 00 32 00 32 00 32 00 ..8.=.3.2.2.2.2.
......
01B5D0 FB D4 FB D6 FF D5 FD D4 00 D5 FB D6 00 D5 FC D4 ûÔûÖÿÕýÔ.ÕûÖ.ÕüÔ
01B5E0 00 D5 FB D6 00 D5 FC D4 00 D5 FB D6 02 D5 D4 D4 .ÕûÖ.ÕüÔ.ÕûÖ.ÕÔÔ
01B5F0 C1 D4 00 00 00 01 00 00 0B AF 00 00 00 08 00 00 ÁÔ.......¯......
01B600 00 00 00 00 00 00 00 00 00 39 00 00 00 40 00 08 .........9...@..
......
Boolean indicating whether channel is used
if true (1), followed by:
Channel size 1*int32
Depth 1*int32
Rectangle: top, left, bottom, right 4*int32
Depth 1*int16
Compression 1*int8 (0: data is uncompressed, 1: RLE (PackBits) compression, 2: ZIP without prediction, 3: ZIP with prediction) — however, I've only seen 0 and 1
Image data
StarOffice / OpenOffice.org / LibreOffice
<?xml version="1.0" encoding="UTF-8"?> <office:hatch-table xmlns:office="http://openoffice.org/2000/office" xmlns:style="http://openoffice.org/2000/style" xmlns:text="http://openoffice.org/2000/text" xmlns:table="http://openoffice.org/2000/table" xmlns:draw="http://openoffice.org/2000/drawing" xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:meta="http://openoffice.org/2000/meta" xmlns:number="http://openoffice.org/2000/datastyle" xmlns:svg="http://www.w3.org/2000/svg" xmlns:chart="http://openoffice.org/2000/chart" xmlns:dr3d="http://openoffice.org/2000/dr3d" xmlns:math="http://www.w3.org/1998/Math/MathML" xmlns:form="http://openoffice.org/2000/form" xmlns:script="http://openoffice.org/2000/script"> <draw:hatch draw:name="Black 0 Degrees" draw:style="single" draw:color="#000000" draw:distance="0.0402inch" draw:rotation="0"/> <draw:hatch draw:name="Black 45 Degrees" draw:style="single" draw:color="#000000" draw:distance="0.0402inch" draw:rotation="450"/> <draw:hatch draw:name="Black -45 Degrees" draw:style="single" draw:color="#000000" draw:distance="0.0402inch" draw:rotation="3150"/> <draw:hatch draw:name="Black 90 Degrees" draw:style="single" draw:color="#000000" draw:distance="0.0402inch" draw:rotation="900"/> <draw:hatch draw:name="Red Crossed 45 Degrees" draw:style="double" draw:color="#800000" draw:distance="0.0299inch" draw:rotation="450"/> <draw:hatch draw:name="Red Crossed 0 Degrees" draw:style="double" draw:color="#800000" draw:distance="0.0299inch" draw:rotation="900"/> <draw:hatch draw:name="Blue Crossed 45 Degrees" draw:style="double" draw:color="#000080" draw:distance="0.0299inch" draw:rotation="450"/> <draw:hatch draw:name="Blue Crossed 0 Degrees" draw:style="double" draw:color="#000080" draw:distance="0.0299inch" draw:rotation="900"/> <draw:hatch draw:name="Blue Triple 90 Degrees" draw:style="triple" draw:color="#0000ff" draw:distance="0.0402inch" draw:rotation="900"/> <draw:hatch draw:name="Black 45 Degrees Wide" draw:style="single" draw:color="#000000" draw:distance="0.2inch" draw:rotation="450"/> </office:hatch-table>
(zipped XML + PNG)
StarOffice / OpenOffice.org / LibreOffice
<?xml version="1.0" encoding="UTF-8"?> <ooo:bitmap-table xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ooo="http://openoffice.org/2004/office"> <draw:fill-image draw:name="Empty" xlink:href="Pictures/100000000000000800000008DD0ADA29.png" xlink:type="simple" xlink:show="embed" xlink:actuate="onLoad"/> <draw:fill-image draw:name="Sky" xlink:href="Pictures/100000000000005E0000005E71533790.png" xlink:type="simple" xlink:show="embed" xlink:actuate="onLoad"/> <draw:fill-image draw:name="Aqua" xlink:href="Pictures/100000000000005E0000005EA38222DC.png" xlink:type="simple" xlink:show="embed" xlink:actuate="onLoad"/> ... <draw:fill-image draw:name="Orange" xlink:href="Pictures/100000000000005E0000005E1A713443.png" xlink:type="simple" xlink:show="embed" xlink:actuate="onLoad"/> <draw:fill-image draw:name="Fiery" xlink:href="Pictures/100000000000005E0000005ECD3186FD.png" xlink:type="simple" xlink:show="embed" xlink:actuate="onLoad"/> <draw:fill-image draw:name="Roses" xlink:href="Pictures/100000000000005E0000005ED5F5C24A.png" xlink:type="simple" xlink:show="embed" xlink:actuate="onLoad"/> </ooo:bitmap-table>
Gimp