ART (PFS: First Publisher)

From Just Solve the File Format Problem
(Difference between revisions)
Jump to: navigation, search
 
(7 intermediate revisions by 4 users not shown)
Line 3: Line 3:
 
|subcat=Graphics
 
|subcat=Graphics
 
|extensions={{ext|art}}
 
|extensions={{ext|art}}
 +
|released=≤1988
 
}}
 
}}
 
:''See [[ART]] for other formats with that name.''
 
:''See [[ART]] for other formats with that name.''
  
'''PFS: 1st Publisher Clip Art Format''' ('''ART''') is an uncompressed bi-level image file format.
+
'''ART''' is a bi-level raster image format used for clip art. It is associated with ''PFS: First Publisher'', a desktop publishing application for DOS developed by Software Publishing Corporation.
  
== Format ==
+
There is a well-known "standard resolution" ART format, and a rarer "high resolution" format used by most of the ART files included with v3.0.
Files have an 8-byte header, followed by the pixel data.
+
 
 +
== Format details ==
 +
''[Information here was derived from various unofficial sources. It was written for the fileformats.archiveteam.org wiki.]''
 +
 
 +
=== Standard resolution format ===
 +
 
 +
{| class="wikitable"
 +
! Offset !! Length !! Field name !! Details
 +
|-
 +
|0 || 2 || left_edge || Almost always 0. An exception is the FLOWER.ART file included with the software.
 +
|-
 +
|2 || 2 || right_edge || Width = right_edge minus left_edge.
 +
|-
 +
|4 || 2 || top_edge || Almost always 0.
 +
|-
 +
|6 || 2 || bottom_edge || Height = bottom_edge minus top_edge.
 +
|-
 +
|8 || || image_data || Uncompressed, with rows padded to the next 2-byte boundary.
 +
|}
 +
 
 +
=== High resolution format ===
 +
 
 +
{| class="wikitable"
 +
! Offset !! Length !! Field name !! Details
 +
|-
 +
|0 || 2 || marker || Always 0xffff.
 +
|-
 +
|2 || 2 || || X-DPI? Observed to be 300.
 +
|-
 +
|4 || 2 || || Y-DPI? Observed to be 300.
 +
|-
 +
|6 || 2 || width ||
 +
|-
 +
|8 || 2 || height ||
 +
|-
 +
|10 || 2 || || Unknown. Observed to be 0x0001.
 +
|-
 +
|12 || || image_data || Each row is compressed independently with [[PackBits]].
 +
|}
 +
 
 +
After decompression, each row ends with 0, 1, or 2 padding bytes. The number differs by file, with no obvious logic to it; but decoders must figure out the bytes per row somehow. One idea is to decompress the pixels to see how many bytes you get, then divide that by the height.
  
 
== Software ==
 
== Software ==
 +
(Most third-party software likely only supports the uncompressed format.)
 +
 +
* [https://winworldpc.com/product/first-publisher/20 PFS First Publisher (at WinWorld)]
 
* [[ImageMagick]]
 
* [[ImageMagick]]
 +
* [[Tom's Viewer]]
 +
* [http://snisurset.net/code/abydos/ abydos]
 +
* {{Deark}}
  
 
== Sample files ==
 
== Sample files ==
* http://cd.textfiles.com/fantaziasampler/CLIPART/ART/
+
* {{CdTextfilesURL|fantaziasampler/CLIPART/ART/}}
* http://cd.textfiles.com/swinnund/disk3/CLIPART/ → 1STPUB3.EXE, ARTFILE?.EXE, ART_FPUB.EXE ([[Self-extracting ZIP]] format)
+
* {{CdTextfilesURL|swinnund/disk3/CLIPART/}} → 1STPUB3.EXE, ARTFILE?.EXE, ART_FPUB.EXE ([[Self-extracting ZIP]] format)
 +
* {{DexvertSamples|image/pfsFirstPublisher}}
 +
 
 +
== Links ==
 +
* [[Wikipedia: Software Publishing Corporation]]

Latest revision as of 15:00, 6 May 2025

File Format
Name ART (PFS: First Publisher)
Ontology
Extension(s) .art
Released ≤1988
See ART for other formats with that name.

ART is a bi-level raster image format used for clip art. It is associated with PFS: First Publisher, a desktop publishing application for DOS developed by Software Publishing Corporation.

There is a well-known "standard resolution" ART format, and a rarer "high resolution" format used by most of the ART files included with v3.0.

Contents

 [hide

[edit] Format details

[Information here was derived from various unofficial sources. It was written for the fileformats.archiveteam.org wiki.]

[edit] Standard resolution format

Offset Length Field name Details
0 2 left_edge Almost always 0. An exception is the FLOWER.ART file included with the software.
2 2 right_edge Width = right_edge minus left_edge.
4 2 top_edge Almost always 0.
6 2 bottom_edge Height = bottom_edge minus top_edge.
8 image_data Uncompressed, with rows padded to the next 2-byte boundary.

[edit] High resolution format

Offset Length Field name Details
0 2 marker Always 0xffff.
2 2 X-DPI? Observed to be 300.
4 2 Y-DPI? Observed to be 300.
6 2 width
8 2 height
10 2 Unknown. Observed to be 0x0001.
12 image_data Each row is compressed independently with PackBits.

After decompression, each row ends with 0, 1, or 2 padding bytes. The number differs by file, with no obvious logic to it; but decoders must figure out the bytes per row somehow. One idea is to decompress the pixels to see how many bytes you get, then divide that by the height.

[edit] Software

(Most third-party software likely only supports the uncompressed format.)

[edit] Sample files

[edit] Links

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox