An Acrobat touchup

A pushpin

I noticed that when you are printing with Adobe Acrobat on Windows, there has been a minor UI error for a long time. It’s been there since at least Acrobat Reader X in 2011. Now it’s fixed in recent versions such as 2023.008.20421 or later.

When you print a document, you can select a subset of the document’s pages. (For example “5-10”) Once one makes the selection, Acrobat updates a slider below the preview to only show the selected pages. Simultaneously, it replaces the text beneath the slider to show the new range of pages available.

Earlier versions would overprint the descriptive text until the preview changed.

The steps to reproduce the error:

  • Open a multipage document and start the print dialog.
  • Select the Pages radio button option in the “pages to print” area.
  • Type a subset of the document’s pages in the edit area.
  • Press tab

Formerly, one might get this overtype (For example, from a 2015 version of Acrobat):

A clip from a dialog with illegible text

(Once the user moved the slider, the text would be corrected.)

Now you get the information cleanly right away:

A clip from a dialog with the text 'Page 1 of 6 (5)

The longevity of this tiny bug is a testament to the advantage of getting software right in the beginning. Something subtle might not be noticed for a long time. It takes more verbiage to describe an error while finding it in early testing could prevent it from getting old.

Animation as a torture test

I’ve been working on an animation/simulation project. I’ve found that animation can be a torture test of rendering tools. In these cases, I’ve been using HTML5 2d Canvases. Quirks that don’t show up in a review of still snapshots of a scene can become visible in an animation.

One of the animations would draw circles that were growing to infinite size and then shrinking on the opposite side. When I was exploring the animation, I would find that the circles would twitch when they got really big. They were supposed to be tangent circles at all times but that was not what I was finding.

I thought my math was wrong, perhaps with round off problems with the large numbers involved or my confusion on the complex number arithmetic.

You can see in the last frame a still of the problem being evident. The lower blue line should be tangent to the smaller circles. Eventually, I tested the animation on a different browser with a different rendering engine and found that it didn’t have the problem. My math was correct after all.

I was able to narrow down the problem with this graphic.

These circles were designed to be tangent but as the radius increased, they were getting away from the expected position. It appears that it’s a problem with an optimization in the arc routine. I was able to hide the problem in my animation by replacing the large radius arcs with interpolated line segments.

Another subtle problem is demoed in this next video. The top ‘x’s wiggle as they move. The lower one from a different rendering engine has the letters move smoothly.

I think the problem here is that the renderers do different antialiasing when a character’s coordinates are not integers.

This one was most interesting because when I tried to reproduce the problem with other angles and velocities for the motion, the effect was invisible. I managed to find the problem by accidently testing with the perfect combination of settings.

Both of these are issues that are minor and I intentionally didn’t name the browsers involved. It’s not important to the main point, that animation can demo subtle problems that aren’t visible when generating still images.