Product
Support
Everything Else
BZ929: Picture Display Size in Classic vs macOS
Category

Compatibility Issue

The Problem

Pictures (in rectangles with the Scale Picture attribute turned off) are not always displayed at the same size in macOS as they are in Classic.

This issue only applies to rectangles where the Scale Picture attribute is turned off.

Discussion

The traditional PICT format stores images at 72 pixels/inch. However, PICT files created in macOS can be various resolutions. This can cause display discrepancies when switching from Classic to macOS native Helix.

Helix uses the PICT format in three places:

  • Graphics pasted into label rectangles
  • Pictures pasted into Picture fields
  • Pictures created when a document containing an image is rendered via the Picture tile

For the purpose of this note, these various uses are together referred to as PICT resources.

Classic Helix displays PICT resources using the traditional 72 pixels/inch rule. Helix is able display the full resolution of the PICT resource in macOS, causing PICT resources with greater resolution to display every pixel. (The same size as when viewed at Actual Size in the Preview application.) The result is an image that can be displayed at a different size than it is in Classic Helix.

In order to make PICT resources appear the same size in both Classic and macOS, Helix resizes PICT resources to 72 pixel/inch before displaying them. This change of resolution results in PICT resources that display at a consistent size across Classic and macOS.

It is possible to change this behavior via the HxClassicPictureCompatibility preference. With this preference set to No, Helix displays images at their full resolution. Working with a picture intended for use in this way will be difficult in Classic Helix, as it is resized to 72 pixels/inch, appearing larger than expected.

See this page for more information on setting preferences in Helix.

EPS File Issues

The situation is complicated by the fact that the Classic Mac OS (Mac OS 9 and earlier) also has the ability to embed EPS graphics of any resolution in a PICT file. In that case, Helix is able to display more image detail, resulting in a larger image. If your PICT resources are of this type, turning the HxClassicPictureCompatibility preference off should result in display at the expected size.

Unfortunately, these two issues create a conflicting specification. Turning HxClassicPictureCompatibility on causes one type of PICT to be consistent between Classic and macOS, but turning it off causes the other type to display consistently between systems.

This area is largely undocumented in Apple's PICT specifications, so finding a solution that works in all cases has proven to be impossible.

Comparing two pictures, one a PICT containing an embedded EPS, the other a high-resolution PICT, we see the following (as compared to the actual classic rendering):

HxClassicPictureCompatibility Setting
TypeOff (default)On
EPS in PICTSameBigger in macOS
Hi-Res PICTSmaller in macOSSame

Printing the images with Classic compatibility off results in output that is the actual size specified in the file.

Attribution

Special thanks go to Greg Morin and Larry Atkin for isolating this issue.