Because macOS renders field rectangles with a 3D effect, it steals pixels from the area where Classic Helix data would normally draw. The result is text that does not fit into rectangles that are trimmed within a few pixels of the minimum vertical height allowed for a particular point size, and character descenders are chopped off.
In order to resolve this problem, Helix reduces fonts in macOS so they will fit within the new smaller area.
What follows is an illustration of the issues (with samples showing how certain fonts appear in OS 9 & macOS) along with discussion of some ways to minimize the problem.
The key factor in determining font scaling is the height of the rectangle. These pairs of pictures show the same data, set in the same font, at various point sizes. On the left is the Classic rendition & the same view as seen in macOS is shown on the right.
The first thing to note is that the actual useable area of the rectangles in macOS is reduced because of the 3D shading. And although unframed rectangles do not need the 3D shading, using that area to make the text larger could create situations where a group of rectangles that display in a consistent size in OS 9 would vary wildly in macOS.
When you look at the OS 9 version, notice that in the first section — where all of the rectangles are 16 pixels (2 grid dots) high — the descenders are clipped on the 14 point text. Compare that to the macOS version, where the font is reduced so that the text can be fully seen. Unfortunately, because the box is drawn in 3D, we have to reduce the text even further, to the point that the largest size possible in a 16 pixel high rectangle is 10 point. (In OS 9, 12 point text typically fits into a 16 point rectangle.)
Certain fonts (Helvetica is a prime example) are available in multiple versions (bitmap, TrueType, PostScript, dfont, etc.) and the translation from one to the other sometimes goes very badly. In this case, the macOS version of Helvetica is set too high, causing the top of the text to be clipped off.
If this is happening to you, use Apple’s Font Book application to deactivate the types that are conflicting, or switch to a font that doesn't have such issues. (Arial is a reasonable substitute for Helvetica.)
The middle section of each picture shows what happens when rectangles are trimmed to a 'logical' size that results in one line of text filling the rectangle. Helix must always reduce the font in this case, causing smaller sizes to be reduced to to point they are difficult to read.
The bottom section of each picture demonstrates that by making the rectangles deeper, the specified size can be seen. This has the negative effect of making the view look less attractive in OS 9, but that is, fortunately a problem that will fade away as time goes on.
When working on font issues, remember to consider whether your font is available in both OS 9 & macOS. If a font is not available, Helix uses a substitute font that may have different characteristics than your desired font.
To help identify missing fonts, the Collection Info (or Server Info on Helix Client) window now contains a Font Info panel that displays a list of every font ever available to the collection, along with a column showing whether that font is available now and, if not, which substitute font is being used. (To access this window, you must add the Collection Info… menu item to your User Mode menus.)
Unfortunately, Helix provides no way for you to know where a specific font is used. Even the 'Ref Count' column is of no help, as this is an obsolete bit of information that has not been kept up to date in Helix for years.
To minimize the impact of this on small sizes, open the System Preferences -> Appearance panel and set Font Smoothing to a value small enough to allow macOS to smooth out the reduced size fonts.
This video shows how this is done.
See this and other videos on the QSA ToolWorks YouTube tips channel.
In Helix 6.1.10 and later, you can turn off the routine in Helix that reduces the text to fit within the 3D entry fields. The result is text that is clipped if the rectangle is not tall enough for macOS to display the entire character height, but that may be better option in some situations.
To disable font reduction, download our Preference Editor, and use it to set the HxUseFontReduction preference to false. You can learn more about Helix preferences on this page.